diff options
Diffstat (limited to 'packages/excalidraw/components/dropdownMenu/DropdownMenu.scss')
| -rw-r--r-- | packages/excalidraw/components/dropdownMenu/DropdownMenu.scss | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/packages/excalidraw/components/dropdownMenu/DropdownMenu.scss b/packages/excalidraw/components/dropdownMenu/DropdownMenu.scss new file mode 100644 index 0000000..e48f6d7 --- /dev/null +++ b/packages/excalidraw/components/dropdownMenu/DropdownMenu.scss @@ -0,0 +1,218 @@ +@import "../../css/variables.module.scss"; + +.excalidraw { + .dropdown-menu { + position: absolute; + top: 100%; + margin-top: 0.5rem; + + &--mobile { + left: 0; + width: 100%; + row-gap: 0.75rem; + + .dropdown-menu-container { + padding: 8px 8px; + box-sizing: border-box; + // background-color: var(--island-bg-color); + box-shadow: var(--shadow-island); + border-radius: var(--border-radius-lg); + position: relative; + transition: box-shadow 0.5s ease-in-out; + + &.zen-mode { + box-shadow: none; + } + } + } + + .dropdown-menu-container { + background-color: var(--island-bg-color); + max-height: calc(100vh - 150px); + overflow-y: auto; + --gap: 2; + } + + .dropdown-menu-item-base { + display: flex; + column-gap: 0.625rem; + font-size: 0.875rem; + color: var(--color-on-surface); + width: 100%; + box-sizing: border-box; + font-weight: 400; + font-family: inherit; + } + + &.manual-hover { + // disable built-in hover due to keyboard navigation + .dropdown-menu-item { + &:hover { + background-color: transparent; + } + + &--hovered { + background-color: var(--button-hover-bg) !important; + } + + &--selected { + background-color: var(--color-primary-light) !important; + } + } + } + + &.fonts { + margin-top: 1rem; + // display max 7 items per list, where each has 2rem (2.25) height and 1px margin top & bottom + // count in 2 groups, where each allocates 1.3*0.75rem font-size and 0.5rem margin bottom, plus one extra 1rem margin top + max-height: calc(7 * (2rem + 2px) + 2 * (0.5rem + 1.3 * 0.75rem) + 1rem); + + @media screen and (min-width: 1921px) { + max-height: calc( + 7 * (2.25rem + 2px) + 2 * (0.5rem + 1.3 * 0.75rem) + 1rem + ); + } + + .dropdown-menu-item-base { + display: inline-flex; + } + + .dropdown-menu-group:not(:first-child) { + margin-top: 1rem; + } + + .dropdown-menu-group-title { + font-size: 0.75rem; + text-align: left; + font-weight: 400; + margin: 0 0 0.5rem; + line-height: 1.3; + } + } + + .dropdown-menu-item { + height: 2rem; + margin: 1px; + padding: 0 0.5rem; + width: calc(100% - 2px); + background-color: transparent; + border: 1px solid transparent; + align-items: center; + cursor: pointer; + border-radius: var(--border-radius-md); + + @media screen and (min-width: 1921px) { + height: 2.25rem; + } + + &__text { + display: flex; + align-items: center; + width: 100%; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + gap: 0.75rem; + } + + &__shortcut { + margin-inline-start: auto; + opacity: 0.5; + + &--orphaned { + text-align: right; + font-size: 0.875rem; + padding: 0 0.625rem; + } + } + + &--selected { + background: var(--color-primary-light); + --icon-fill-color: var(--color-primary-darker); + } + + &:hover { + background-color: var(--button-hover-bg); + text-decoration: none; + } + + &:active { + background-color: var(--button-hover-bg); + border-color: var(--color-brand-active); + } + + svg { + width: 1rem; + height: 1rem; + display: block; + } + } + + .dropdown-menu-item-bare { + align-items: center; + height: 2rem; + justify-content: space-between; + + @media screen and (min-width: 1921px) { + height: 2.25rem; + } + + svg { + width: 1rem; + height: 1rem; + display: block; + } + } + + .dropdown-menu-item-custom { + margin-top: 0.5rem; + } + + .dropdown-menu-group-title { + font-size: 14px; + text-align: left; + margin: 10px 0; + font-weight: 500; + } + } + + .dropdown-menu-button { + @include outlineButtonStyles; + width: var(--lg-button-size); + height: var(--lg-button-size); + + --background: var(--color-surface-mid); + + background-color: var(--background); + + @at-root .excalidraw.theme--dark#{&} { + --background: var(--color-surface-high); + &:hover { + --background: #363541; + } + } + + &:hover { + --background: var(--color-surface-high); + background-color: var(--background); + text-decoration: none; + } + + &:active { + border-color: var(--color-primary); + } + + svg { + width: var(--lg-icon-size); + height: var(--lg-icon-size); + } + + &--mobile { + border: none; + margin: 0; + padding: 0; + width: var(--default-button-size); + height: var(--default-button-size); + } + } +} |
