@vielzeug/refine 2.3.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -18
- package/dist/accordion-item.cjs +1 -1
- package/dist/accordion-item.cjs.map +1 -1
- package/dist/accordion-item.js +1 -1
- package/dist/accordion-item.js.map +1 -1
- package/dist/accordion.cjs.map +1 -1
- package/dist/accordion.js.map +1 -1
- package/dist/async.cjs +1 -1
- package/dist/async.cjs.map +1 -1
- package/dist/async.js +3 -3
- package/dist/async.js.map +1 -1
- package/dist/box.cjs.map +1 -1
- package/dist/box.js.map +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.cjs.map +1 -1
- package/dist/card.js +3 -3
- package/dist/card.js.map +1 -1
- package/dist/chat-message.cjs +1 -1
- package/dist/chat-message.cjs.map +1 -1
- package/dist/chat-message.js +1 -1
- package/dist/chat-message.js.map +1 -1
- package/dist/checkbox-group.cjs +1 -1
- package/dist/checkbox-group.cjs.map +1 -1
- package/dist/checkbox-group.js +1 -1
- package/dist/checkbox-group.js.map +1 -1
- package/dist/combobox.cjs +10 -8
- package/dist/combobox.cjs.map +1 -1
- package/dist/combobox.js +62 -51
- package/dist/combobox.js.map +1 -1
- package/dist/command-palette.cjs +1 -1
- package/dist/command-palette.cjs.map +1 -1
- package/dist/command-palette.js +6 -2
- package/dist/command-palette.js.map +1 -1
- package/dist/content/card/card.css.cjs +1 -1
- package/dist/content/card/card.css.cjs.map +1 -1
- package/dist/content/card/card.css.js +1 -1
- package/dist/content/card/card.css.js.map +1 -1
- package/dist/content/card/card.d.ts +2 -2
- package/dist/content/card/card.d.ts.map +1 -1
- package/dist/content/index.d.ts +2 -0
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/list/list-item.css.cjs +1 -1
- package/dist/content/list/list-item.css.cjs.map +1 -1
- package/dist/content/list/list-item.css.js +1 -1
- package/dist/content/list/list-item.css.js.map +1 -1
- package/dist/content/list/list-item.d.ts +9 -0
- package/dist/content/list/list-item.d.ts.map +1 -1
- package/dist/content/pagination/pagination.css.cjs +1 -1
- package/dist/content/pagination/pagination.css.cjs.map +1 -1
- package/dist/content/pagination/pagination.css.js +1 -1
- package/dist/content/pagination/pagination.css.js.map +1 -1
- package/dist/content/stats/stats.css.cjs +2 -0
- package/dist/content/stats/stats.css.cjs.map +1 -0
- package/dist/content/stats/stats.css.js +6 -0
- package/dist/content/stats/stats.css.js.map +1 -0
- package/dist/content/stats/stats.d.ts +72 -0
- package/dist/content/stats/stats.d.ts.map +1 -0
- package/dist/core/auto-resize.cjs +1 -1
- package/dist/core/auto-resize.cjs.map +1 -1
- package/dist/core/auto-resize.js +1 -1
- package/dist/core/auto-resize.js.map +1 -1
- package/dist/core/field-base.cjs +1 -1
- package/dist/core/field-base.cjs.map +1 -1
- package/dist/core/field-base.d.ts +1 -1
- package/dist/core/field-base.js +1 -1
- package/dist/core/field-base.js.map +1 -1
- package/dist/core/nav.cjs +1 -1
- package/dist/core/nav.cjs.map +1 -1
- package/dist/core/nav.d.ts +4 -1
- package/dist/core/nav.d.ts.map +1 -1
- package/dist/core/nav.js +41 -28
- package/dist/core/nav.js.map +1 -1
- package/dist/core/option-list.cjs +1 -1
- package/dist/core/option-list.cjs.map +1 -1
- package/dist/core/option-list.d.ts.map +1 -1
- package/dist/core/option-list.js +30 -28
- package/dist/core/option-list.js.map +1 -1
- package/dist/core/slider.cjs +1 -1
- package/dist/core/slider.cjs.map +1 -1
- package/dist/core/slider.js +1 -1
- package/dist/core/slider.js.map +1 -1
- package/dist/core/spinner.cjs +1 -1
- package/dist/core/spinner.cjs.map +1 -1
- package/dist/core/spinner.js +1 -1
- package/dist/core/spinner.js.map +1 -1
- package/dist/custom-elements.json +5471 -4977
- package/dist/datagrid.cjs +219 -199
- package/dist/datagrid.cjs.map +1 -1
- package/dist/datagrid.js +415 -302
- package/dist/datagrid.js.map +1 -1
- package/dist/disclosure/accordion/accordion.css.cjs +1 -1
- package/dist/disclosure/accordion/accordion.css.cjs.map +1 -1
- package/dist/disclosure/accordion/accordion.css.js +1 -1
- package/dist/disclosure/accordion/accordion.css.js.map +1 -1
- package/dist/disclosure/accordion/accordion.d.ts +5 -5
- package/dist/disclosure/accordion/accordion.d.ts.map +1 -1
- package/dist/disclosure/accordion-item/accordion-item.css.cjs +1 -1
- package/dist/disclosure/accordion-item/accordion-item.css.cjs.map +1 -1
- package/dist/disclosure/accordion-item/accordion-item.css.js +1 -1
- package/dist/disclosure/accordion-item/accordion-item.css.js.map +1 -1
- package/dist/disclosure/accordion-item/accordion-item.d.ts +3 -3
- package/dist/disclosure/accordion-item/accordion-item.d.ts.map +1 -1
- package/dist/disclosure/tab-item/tab-item.css.cjs +1 -1
- package/dist/disclosure/tab-item/tab-item.css.cjs.map +1 -1
- package/dist/disclosure/tab-item/tab-item.css.js +1 -1
- package/dist/disclosure/tab-item/tab-item.css.js.map +1 -1
- package/dist/disclosure/tab-item/tab-item.d.ts +6 -3
- package/dist/disclosure/tab-item/tab-item.d.ts.map +1 -1
- package/dist/disclosure/tabs/tabs.css.cjs +1 -1
- package/dist/disclosure/tabs/tabs.css.cjs.map +1 -1
- package/dist/disclosure/tabs/tabs.css.js +1 -1
- package/dist/disclosure/tabs/tabs.css.js.map +1 -1
- package/dist/disclosure/tabs/tabs.d.ts +9 -5
- package/dist/disclosure/tabs/tabs.d.ts.map +1 -1
- package/dist/drawer.cjs +1 -1
- package/dist/drawer.cjs.map +1 -1
- package/dist/drawer.js +1 -1
- package/dist/drawer.js.map +1 -1
- package/dist/feedback/toast/toast.d.ts.map +1 -1
- package/dist/file-input.cjs +1 -1
- package/dist/file-input.cjs.map +1 -1
- package/dist/file-input.js +2 -2
- package/dist/file-input.js.map +1 -1
- package/dist/frameworks/elements.d.ts +4 -85
- package/dist/frameworks/react.d.ts +5 -4
- package/dist/frameworks/vue.d.ts +4 -4
- package/dist/grid.cjs +2 -2
- package/dist/grid.cjs.map +1 -1
- package/dist/grid.js +21 -18
- package/dist/grid.js.map +1 -1
- package/dist/icon.cjs +1 -1
- package/dist/icon.cjs.map +1 -1
- package/dist/icon.js +1 -1
- package/dist/icon.js.map +1 -1
- package/dist/input.cjs +5 -4
- package/dist/input.cjs.map +1 -1
- package/dist/input.js +14 -8
- package/dist/input.js.map +1 -1
- package/dist/inputs/combobox/combobox-options.cjs +1 -1
- package/dist/inputs/combobox/combobox-options.cjs.map +1 -1
- package/dist/inputs/combobox/combobox-options.d.ts.map +1 -1
- package/dist/inputs/combobox/combobox-options.js +1 -0
- package/dist/inputs/combobox/combobox-options.js.map +1 -1
- package/dist/inputs/combobox/combobox.css.cjs +1 -1
- package/dist/inputs/combobox/combobox.css.cjs.map +1 -1
- package/dist/inputs/combobox/combobox.css.js +1 -1
- package/dist/inputs/combobox/combobox.css.js.map +1 -1
- package/dist/inputs/combobox/combobox.d.ts +13 -1
- package/dist/inputs/combobox/combobox.d.ts.map +1 -1
- package/dist/inputs/combobox/combobox.types.d.ts +7 -0
- package/dist/inputs/combobox/combobox.types.d.ts.map +1 -1
- package/dist/inputs/datagrid/datagrid-model.cjs +1 -1
- package/dist/inputs/datagrid/datagrid-model.cjs.map +1 -1
- package/dist/inputs/datagrid/datagrid-model.d.ts +17 -3
- package/dist/inputs/datagrid/datagrid-model.d.ts.map +1 -1
- package/dist/inputs/datagrid/datagrid-model.js +93 -70
- package/dist/inputs/datagrid/datagrid-model.js.map +1 -1
- package/dist/inputs/datagrid/datagrid.css.cjs +1 -1
- package/dist/inputs/datagrid/datagrid.css.cjs.map +1 -1
- package/dist/inputs/datagrid/datagrid.css.js +1 -1
- package/dist/inputs/datagrid/datagrid.css.js.map +1 -1
- package/dist/inputs/datagrid/datagrid.d.ts +78 -36
- package/dist/inputs/datagrid/datagrid.d.ts.map +1 -1
- package/dist/inputs/file-input/file-input-upload.cjs +1 -1
- package/dist/inputs/file-input/file-input-upload.cjs.map +1 -1
- package/dist/inputs/file-input/file-input-upload.js +1 -1
- package/dist/inputs/file-input/file-input-upload.js.map +1 -1
- package/dist/inputs/index.d.ts +3 -4
- package/dist/inputs/index.d.ts.map +1 -1
- package/dist/inputs/input/input.css.cjs +1 -1
- package/dist/inputs/input/input.css.cjs.map +1 -1
- package/dist/inputs/input/input.css.js +1 -1
- package/dist/inputs/input/input.css.js.map +1 -1
- package/dist/inputs/input/input.d.ts +3 -0
- package/dist/inputs/input/input.d.ts.map +1 -1
- package/dist/inputs/select/select.css.cjs +1 -1
- package/dist/inputs/select/select.css.cjs.map +1 -1
- package/dist/inputs/select/select.css.js +1 -1
- package/dist/inputs/select/select.css.js.map +1 -1
- package/dist/inputs/select/select.d.ts +5 -0
- package/dist/inputs/select/select.d.ts.map +1 -1
- package/dist/inputs/shared/field-binding.cjs +1 -1
- package/dist/inputs/shared/field-binding.cjs.map +1 -1
- package/dist/inputs/shared/field-binding.js +6 -6
- package/dist/inputs/shared/field-binding.js.map +1 -1
- package/dist/layout/box/box.css.cjs +1 -1
- package/dist/layout/box/box.css.cjs.map +1 -1
- package/dist/layout/box/box.css.js +1 -1
- package/dist/layout/box/box.css.js.map +1 -1
- package/dist/layout/box/box.d.ts +3 -3
- package/dist/layout/box/box.d.ts.map +1 -1
- package/dist/layout/grid/grid.d.ts.map +1 -1
- package/dist/layout/navbar/navbar.css.cjs +1 -1
- package/dist/layout/navbar/navbar.css.cjs.map +1 -1
- package/dist/layout/navbar/navbar.css.js +1 -1
- package/dist/layout/navbar/navbar.css.js.map +1 -1
- package/dist/layout/navbar/navbar.d.ts +3 -1
- package/dist/layout/navbar/navbar.d.ts.map +1 -1
- package/dist/layout/sidebar/sidebar.css.cjs +1 -1
- package/dist/layout/sidebar/sidebar.css.cjs.map +1 -1
- package/dist/layout/sidebar/sidebar.css.js +1 -1
- package/dist/layout/sidebar/sidebar.css.js.map +1 -1
- package/dist/layout/sidebar/sidebar.d.ts +8 -0
- package/dist/layout/sidebar/sidebar.d.ts.map +1 -1
- package/dist/list-item.cjs +6 -5
- package/dist/list-item.cjs.map +1 -1
- package/dist/list-item.js +23 -17
- package/dist/list-item.js.map +1 -1
- package/dist/list.cjs +1 -1
- package/dist/list.cjs.map +1 -1
- package/dist/list.js +1 -1
- package/dist/list.js.map +1 -1
- package/dist/menu.cjs +1 -1
- package/dist/menu.cjs.map +1 -1
- package/dist/menu.js +7 -7
- package/dist/menu.js.map +1 -1
- package/dist/navbar.cjs +2 -2
- package/dist/navbar.cjs.map +1 -1
- package/dist/navbar.js +91 -87
- package/dist/navbar.js.map +1 -1
- package/dist/navigation-menu.cjs +1 -1
- package/dist/navigation-menu.cjs.map +1 -1
- package/dist/navigation-menu.js +2 -2
- package/dist/navigation-menu.js.map +1 -1
- package/dist/number-input.cjs +1 -1
- package/dist/number-input.cjs.map +1 -1
- package/dist/number-input.js +1 -1
- package/dist/number-input.js.map +1 -1
- package/dist/overlay/popover/popover.css.cjs +1 -1
- package/dist/overlay/popover/popover.css.cjs.map +1 -1
- package/dist/overlay/popover/popover.css.js +1 -1
- package/dist/overlay/popover/popover.css.js.map +1 -1
- package/dist/overlay/popover/popover.d.ts +1 -0
- package/dist/overlay/popover/popover.d.ts.map +1 -1
- package/dist/overlay/shared/use-dialog.cjs +1 -1
- package/dist/overlay/shared/use-dialog.cjs.map +1 -1
- package/dist/overlay/shared/use-dialog.js +1 -1
- package/dist/overlay/shared/use-dialog.js.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs +1 -1
- package/dist/overlay/shared/use-floating-trigger.cjs.map +1 -1
- package/dist/overlay/shared/use-floating-trigger.js +1 -1
- package/dist/overlay/shared/use-floating-trigger.js.map +1 -1
- package/dist/overlay/tooltip/tooltip.d.ts.map +1 -1
- package/dist/popover.cjs +1 -1
- package/dist/popover.cjs.map +1 -1
- package/dist/popover.js +6 -6
- package/dist/popover.js.map +1 -1
- package/dist/radio-group.cjs +1 -1
- package/dist/radio-group.cjs.map +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/radio-group.js.map +1 -1
- package/dist/radio.cjs +1 -1
- package/dist/radio.cjs.map +1 -1
- package/dist/radio.js +15 -13
- package/dist/radio.js.map +1 -1
- package/dist/rating.cjs +1 -1
- package/dist/rating.cjs.map +1 -1
- package/dist/rating.js +2 -2
- package/dist/rating.js.map +1 -1
- package/dist/refine.cjs +373 -324
- package/dist/refine.cjs.map +1 -1
- package/dist/refine.iife.js +382 -333
- package/dist/refine.iife.js.map +1 -1
- package/dist/refine.js +417 -368
- package/dist/refine.js.map +1 -1
- package/dist/select.cjs +16 -14
- package/dist/select.cjs.map +1 -1
- package/dist/select.js +118 -112
- package/dist/select.js.map +1 -1
- package/dist/shared/types.d.ts +0 -2
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/sidebar.cjs +28 -23
- package/dist/sidebar.cjs.map +1 -1
- package/dist/sidebar.js +143 -108
- package/dist/sidebar.js.map +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.cjs.map +1 -1
- package/dist/skeleton.js +11 -9
- package/dist/skeleton.js.map +1 -1
- package/dist/slider.cjs +1 -1
- package/dist/slider.cjs.map +1 -1
- package/dist/slider.js +21 -21
- package/dist/slider.js.map +1 -1
- package/dist/stats.cjs +18 -0
- package/dist/stats.cjs.map +1 -0
- package/dist/stats.js +88 -0
- package/dist/stats.js.map +1 -0
- package/dist/stepper.cjs +1 -1
- package/dist/stepper.cjs.map +1 -1
- package/dist/stepper.js +1 -1
- package/dist/stepper.js.map +1 -1
- package/dist/styles/mixins/animation.css.cjs +2 -0
- package/dist/styles/mixins/animation.css.cjs.map +1 -1
- package/dist/styles/mixins/animation.css.d.ts.map +1 -1
- package/dist/styles/mixins/animation.css.js +2 -0
- package/dist/styles/mixins/animation.css.js.map +1 -1
- package/dist/tab-item.cjs +1 -1
- package/dist/tab-item.cjs.map +1 -1
- package/dist/tab-item.js +3 -2
- package/dist/tab-item.js.map +1 -1
- package/dist/tabs.cjs +1 -1
- package/dist/tabs.cjs.map +1 -1
- package/dist/tabs.js +3 -1
- package/dist/tabs.js.map +1 -1
- package/dist/toast.cjs +8 -8
- package/dist/toast.cjs.map +1 -1
- package/dist/toast.js +32 -33
- package/dist/toast.js.map +1 -1
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.js +2 -2
- package/dist/tooltip.js.map +1 -1
- package/dist/types/elements.d.ts +207 -0
- package/package.json +70 -62
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navbar.css.cjs","names":[],"sources":["../../../src/layout/navbar/navbar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_navbar-height: var(--navbar-height, var(--size-14));\n --_navbar-width: var(--navbar-width, min(100%, 80rem));\n --_navbar-offset: var(--navbar-offset, var(--size-3));\n --_navbar-bg: var(--navbar-bg, var(--color-canvas));\n --_navbar-color: var(--navbar-color, var(--color-contrast-900));\n --_navbar-border-color: var(--navbar-border-color, var(--color-divider));\n --_navbar-shadow: var(--navbar-shadow, var(--shadow-md));\n --_navbar-radius: var(--navbar-radius, var(--rounded-lg));\n\n box-sizing: border-box;\n display: block;\n width: 100%;\n color: var(--_navbar-color);\n }\n\n :host([data-mode='sticky']) {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n\n :host([data-mode='floating']) {\n position: fixed;\n inset-inline: var(--_navbar-offset);\n top: var(--_navbar-offset);\n z-index: var(--z-sticky);\n }\n\n /* Preview mode: use absolute positioning so component stays within container bounds */\n :host([data-preview-mode][data-mode='floating']) {\n position: absolute;\n inset-inline: var(--_navbar-offset);\n top: auto;\n }\n\n :host([floating][sticky][data-scrolled]) {\n inset-inline: 0;\n top: 0;\n width: 100%;\n }\n\n :host([data-preview-mode][floating][sticky][data-scrolled]) {\n position: absolute;\n inset-inline: 0;\n top: auto;\n width: auto;\n }\n\n :host > nav {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n .navbar {\n box-sizing: border-box;\n display: flex;\n flex-wrap: nowrap;\n gap: var(--size-2);\n align-items: center;\n width: 100%;\n max-width: var(--_navbar-width);\n min-height: var(--_navbar-height);\n padding: var(--size-2) var(--size-4);\n margin-inline: auto;\n overflow: auto hidden;\n color: inherit;\n white-space: nowrap;\n background: var(--_navbar-bg);\n border-top: none;\n border-right: none;\n border-bottom: var(--border) solid var(--_navbar-border-color);\n border-left: none;\n border-radius: 0;\n backdrop-filter: var(--navbar-backdrop-filter, blur(var(--blur-md)));\n transition: var(\n --_motion-transition,\n background var(--transition-normal),\n border-color var(--transition-normal),\n box-shadow var(--transition-normal),\n transform var(--transition-normal)\n );\n }\n\n :host([data-mode='floating']) .navbar {\n border-top: var(--border) solid var(--_navbar-border-color);\n border-right: var(--border) solid var(--_navbar-border-color);\n border-bottom: var(--border) solid var(--_navbar-border-color);\n border-left: var(--border) solid var(--_navbar-border-color);\n border-radius: var(--_navbar-radius);\n }\n\n :host([data-mode='sticky']) .navbar,\n :host([floating][sticky][data-scrolled]) .navbar {\n max-width: 100%;\n border-inline: none;\n border-radius: 0;\n }\n\n :host([data-mode-transitioning][data-mode='sticky']) .navbar {\n animation: navbar-floating-to-sticky var(--transition-normal) var(--ease-in-out);\n }\n\n :host([data-mode-transitioning][data-mode='floating']) .navbar {\n animation: navbar-sticky-to-floating var(--transition-normal) var(--ease-in-out);\n }\n\n .navbar-logo,\n .navbar-start,\n .navbar-center,\n .navbar-end {\n display: flex;\n align-items: center;\n min-width: 0;\n white-space: nowrap;\n }\n\n .navbar-logo {\n flex: 0 0 auto;\n }\n\n .navbar-start {\n flex: 0 0 auto;\n gap: var(--size-1);\n }\n\n .navbar-center {\n display: flex;\n flex: 0 1 auto;\n gap: var(--size-1);\n justify-content: flex-start;\n min-width: 0;\n }\n\n .navbar-end {\n flex: 0 0 auto;\n gap: var(--size-1);\n margin-inline-start: auto;\n }\n\n .mobile-toggle {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-9);\n height: var(--size-9);\n padding: 0;\n color: var(--color-contrast-700);\n cursor: pointer;\n background: transparent;\n border: var(--border) solid transparent;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n border-color var(--transition-fast),\n color var(--transition-fast);\n }\n\n .mobile-toggle:hover {\n color: var(--color-contrast-900);\n background: var(--color-contrast-100);\n border-color: var(--color-contrast-200);\n }\n\n .mobile-toggle:focus-visible {\n outline: var(--focus-ring);\n }\n\n .mobile-menu-panel {\n position: relative;\n z-index: 1;\n box-sizing: border-box;\n display: none;\n width: 100%;\n max-width: var(--_navbar-width);\n padding: var(--size-2);\n margin-block-start: var(--size-2);\n margin-inline: auto;\n background: var(--_navbar-bg);\n border: var(--border) solid var(--_navbar-border-color);\n border-radius: var(--rounded-lg);\n box-shadow: var(--_shadow, var(--_navbar-shadow));\n backdrop-filter: var(--navbar-backdrop-filter, blur(var(--blur-md)));\n transform-origin: top;\n animation: navbar-mobile-in var(--transition-fast) var(--ease-out);\n }\n\n /* `:not([hidden])` — same reasoning as `.mobile-toggle` above: this panel's own `?hidden=`\n binding (navbar.ts) already covers \"not mobile\" / \"menu closed\" / \"no mobile-menu content\",\n but an unconditional `display: grid` here would still override that `[hidden]` for the \"no\n content\" case specifically, since author styles always win over the UA stylesheet. */\n :host([data-mobile][data-mobile-open]) .mobile-menu-panel:not([hidden]) {\n display: grid;\n gap: var(--size-1);\n }\n\n :host([data-mobile][data-mobile-open][data-mode='floating']) .mobile-menu-panel {\n margin-block-start: var(--size-1-5);\n }\n\n :host([data-mobile][data-mobile-open][data-mode='sticky']) .mobile-menu-panel,\n :host([data-mobile][data-mobile-open][floating][sticky][data-scrolled]) .mobile-menu-panel {\n position: absolute;\n inset-inline: 0;\n top: 100%;\n z-index: 2;\n max-width: 100%;\n margin: 0;\n border-inline: none;\n border-top: none;\n border-radius: 0 0 var(--rounded-md) var(--rounded-md);\n }\n\n /* `:not([hidden])` matters — the component's own `?hidden=` binding (navbar.ts) hides this\n button when there's neither `mobile-menu` slot content nor a `mobile-sidebar` target to\n toggle. Without it, this rule's `display: inline-flex` — an author-stylesheet declaration —\n unconditionally overrides the UA stylesheet's `[hidden] { display: none }`, since author\n styles always win over UA styles regardless of selector specificity. That left the button\n visibly clickable while toggling a `mobile-menu-panel` that stays hidden too (its own\n `?hidden=` binding includes the same \"nothing to show\" check) — clicking did nothing\n visible at all. */\n :host([data-mobile]) .mobile-toggle:not([hidden]) {\n display: inline-flex;\n order: -1;\n }\n\n :host([data-mobile]) .navbar-start,\n :host([data-mobile]) .navbar-center,\n :host([data-mobile]) .navbar-end {\n display: none;\n }\n\n :host([data-mobile][data-mobile-open]) .navbar {\n border-bottom-right-radius: var(--rounded-md);\n border-bottom-left-radius: var(--rounded-md);\n }\n\n @starting-style {\n .mobile-menu-panel {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y));\n }\n }\n\n @keyframes navbar-mobile-in {\n from {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y));\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes navbar-floating-to-sticky {\n from {\n opacity: 0.92;\n transform: translateY(6px) scale(0.985);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n }\n\n @keyframes navbar-sticky-to-floating {\n from {\n opacity: 0.95;\n transform: translateY(-2px) scale(1);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(0.99);\n }\n }\n\n .item {\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n gap: var(--size-1);\n align-items: center;\n min-height: var(--_touch-target);\n padding: var(--size-1-5) var(--size-2-5);\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--navbar-item-color, var(--color-contrast-700));\n white-space: nowrap;\n text-decoration: none;\n appearance: none;\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .item:hover,\n .item:focus-visible {\n color: var(--navbar-item-hover-color, var(--color-contrast-900));\n outline: var(--focus-ring);\n outline-offset: 1px;\n background: var(--navbar-item-hover-bg, var(--color-contrast-100));\n }\n\n :host([active]) .item {\n color: var(--navbar-item-active-color, var(--color-primary));\n background: var(--navbar-item-active-bg, color-mix(in oklch, var(--color-primary) 12%, transparent));\n }\n\n :host([disabled]) .item,\n :host([disabled]) .item:hover,\n :host([disabled]) .item:focus-visible {\n color: var(--color-contrast-400);\n pointer-events: none;\n cursor: not-allowed;\n outline: none;\n background: transparent;\n }\n\n .item-icon,\n .item-end {\n display: inline-flex;\n align-items: center;\n }\n\n .item-label {\n min-width: 0;\n white-space: nowrap;\n }\n\n /* Icon-only items (no visible label — name conveyed via aria-label) hide the empty label\n region so it stops reserving a `gap` slot next to the icon, and switch to compact,\n symmetric padding instead of the icon+label layout's wider horizontal padding. Without\n this, an icon-only item ends up lopsided: too much horizontal space around the icon plus\n a phantom gap left over for a label that never renders. */\n :host([icon-only]) .item-label {\n display: none;\n }\n\n :host([icon-only]) .item {\n padding: var(--size-1-5);\n }\n\n :host([navbar-mobile]) {\n display: block;\n width: 100%;\n }\n\n :host([navbar-mobile]) .item {\n display: flex;\n justify-content: flex-start;\n width: 100%;\n }\n}\n\n@layer refine.variants {\n :host([variant='flat']) {\n --_navbar-bg: color-mix(in oklch, var(--color-canvas) 88%, transparent);\n --_navbar-shadow: none;\n }\n\n :host([variant='bordered']) {\n --_navbar-bg: var(--color-canvas);\n --_navbar-border-color: color-mix(in oklch, var(--color-contrast-500) 32%, transparent);\n }\n\n :host([variant='outline']) {\n --_navbar-bg: transparent;\n --_navbar-shadow: none;\n --_navbar-border-color: color-mix(in oklch, var(--color-contrast-500) 40%, transparent);\n }\n\n :host([variant='glass']) {\n --_navbar-bg: color-mix(in oklch, var(--color-canvas) 70%, transparent);\n --navbar-backdrop-filter: blur(var(--blur-lg)) saturate(180%);\n }\n\n :host([color]) {\n --_navbar-border-color: color-mix(in oklch, var(--_theme-border) 30%, transparent);\n }\n}\n\n@media (width <= 768px) {\n @layer refine.base {\n :host([data-mode='floating']) {\n inset-inline: var(--size-2);\n top: var(--size-2);\n }\n\n :host([floating][sticky][data-scrolled]) {\n inset-inline: 0;\n top: 0;\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"navbar.css.cjs","names":[],"sources":["../../../src/layout/navbar/navbar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_navbar-height: var(--navbar-height, var(--size-14));\n --_navbar-width: var(--navbar-width, min(100%, 80rem));\n --_navbar-offset: var(--navbar-offset, var(--size-3));\n --_navbar-bg: var(--navbar-bg, var(--color-canvas));\n --_navbar-color: var(--navbar-color, var(--color-contrast-900));\n --_navbar-border-color: var(--navbar-border-color, var(--color-divider));\n --_navbar-shadow: var(--navbar-shadow, var(--shadow-md));\n --_navbar-radius: var(--navbar-radius, var(--rounded-lg));\n\n box-sizing: border-box;\n display: block;\n width: 100%;\n color: var(--_navbar-color);\n }\n\n :host([data-mode='sticky']) {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n\n :host([data-mode='floating']) {\n position: fixed;\n inset-inline: var(--_navbar-offset);\n top: var(--_navbar-offset);\n z-index: var(--z-sticky);\n }\n\n /* Preview mode: use absolute positioning so component stays within container bounds */\n :host([data-preview-mode][data-mode='floating']) {\n position: absolute;\n inset-inline: var(--_navbar-offset);\n top: auto;\n }\n\n :host([floating][sticky][data-scrolled]) {\n inset-inline: 0;\n top: 0;\n width: 100%;\n }\n\n :host([data-preview-mode][floating][sticky][data-scrolled]) {\n position: absolute;\n inset-inline: 0;\n top: auto;\n width: auto;\n }\n\n :host > nav {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n .navbar {\n box-sizing: border-box;\n display: flex;\n flex-wrap: nowrap;\n gap: var(--size-2);\n align-items: center;\n width: 100%;\n max-width: var(--_navbar-width);\n min-height: var(--_navbar-height);\n padding: var(--size-2) var(--size-4);\n margin-inline: auto;\n overflow: auto hidden;\n color: inherit;\n white-space: nowrap;\n background: var(--_navbar-bg);\n border-top: none;\n border-right: none;\n border-bottom: var(--border) solid var(--_navbar-border-color);\n border-left: none;\n border-radius: 0;\n backdrop-filter: var(--navbar-backdrop-filter, blur(var(--blur-md)));\n transition: var(\n --_motion-transition,\n background var(--transition-normal),\n border-color var(--transition-normal),\n box-shadow var(--transition-normal),\n transform var(--transition-normal)\n );\n }\n\n :host([data-mode='floating']) .navbar {\n border-top: var(--border) solid var(--_navbar-border-color);\n border-right: var(--border) solid var(--_navbar-border-color);\n border-bottom: var(--border) solid var(--_navbar-border-color);\n border-left: var(--border) solid var(--_navbar-border-color);\n border-radius: var(--_navbar-radius);\n }\n\n :host([data-mode='sticky']) .navbar,\n :host([floating][sticky][data-scrolled]) .navbar {\n max-width: 100%;\n border-inline: none;\n border-radius: 0;\n }\n\n :host([data-mode-transitioning][data-mode='sticky']) .navbar {\n animation: navbar-floating-to-sticky var(--transition-normal) var(--ease-in-out);\n }\n\n :host([data-mode-transitioning][data-mode='floating']) .navbar {\n animation: navbar-sticky-to-floating var(--transition-normal) var(--ease-in-out);\n }\n\n .navbar-logo,\n .navbar-start,\n .navbar-center,\n .navbar-end {\n display: flex;\n align-items: center;\n min-width: 0;\n white-space: nowrap;\n }\n\n .navbar-logo {\n flex: 0 0 auto;\n }\n\n .navbar-start {\n flex: 0 0 auto;\n gap: var(--size-1);\n }\n\n .navbar-center {\n display: flex;\n flex: 0 1 auto;\n gap: var(--size-1);\n justify-content: flex-start;\n min-width: 0;\n }\n\n .navbar-end {\n flex: 0 0 auto;\n gap: var(--size-1);\n margin-inline-start: auto;\n }\n\n .mobile-toggle {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-9);\n height: var(--size-9);\n padding: 0;\n color: var(--color-contrast-700);\n cursor: pointer;\n background: transparent;\n border: var(--border) solid transparent;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n border-color var(--transition-fast),\n color var(--transition-fast);\n }\n\n .mobile-toggle:hover {\n color: var(--color-contrast-900);\n background: var(--color-contrast-100);\n border-color: var(--color-contrast-200);\n }\n\n .mobile-toggle:focus-visible {\n outline: var(--focus-ring);\n }\n\n .mobile-menu-panel {\n position: relative;\n z-index: 1;\n box-sizing: border-box;\n display: none;\n width: 100%;\n max-width: var(--_navbar-width);\n padding: var(--size-2);\n margin-block-start: var(--size-2);\n margin-inline: auto;\n background: var(--_navbar-bg);\n border: var(--border) solid var(--_navbar-border-color);\n border-radius: var(--rounded-lg);\n box-shadow: var(--_shadow, var(--_navbar-shadow));\n backdrop-filter: var(--navbar-backdrop-filter, blur(var(--blur-md)));\n transform-origin: top;\n animation: navbar-mobile-in var(--transition-fast) var(--ease-out);\n }\n\n /* `:not([hidden])` — same reasoning as `.mobile-toggle` above: this panel's own `?hidden=`\n binding (navbar.ts) already covers \"not mobile\" / \"menu closed\" / \"no mobile-menu content\",\n but an unconditional `display: grid` here would still override that `[hidden]` for the \"no\n content\" case specifically, since author styles always win over the UA stylesheet. */\n :host([data-mobile][data-mobile-open]) .mobile-menu-panel:not([hidden]) {\n display: grid;\n gap: var(--size-1);\n }\n\n :host([data-mobile][data-mobile-open][data-mode='floating']) .mobile-menu-panel {\n margin-block-start: var(--size-1-5);\n }\n\n :host([data-mobile][data-mobile-open][data-mode='sticky']) .mobile-menu-panel,\n :host([data-mobile][data-mobile-open][floating][sticky][data-scrolled]) .mobile-menu-panel {\n position: absolute;\n inset-inline: 0;\n top: 100%;\n z-index: 2;\n max-width: 100%;\n margin: 0;\n border-inline: none;\n border-top: none;\n border-radius: 0 0 var(--rounded-md) var(--rounded-md);\n }\n\n /* `:not([hidden])` matters — the component's own `?hidden=` binding (navbar.ts) hides this\n button when there's neither `mobile-menu` slot content nor a `mobile-sidebar` target to\n toggle. Without it, this rule's `display: inline-flex` — an author-stylesheet declaration —\n unconditionally overrides the UA stylesheet's `[hidden] { display: none }`, since author\n styles always win over UA styles regardless of selector specificity. That left the button\n visibly clickable while toggling a `mobile-menu-panel` that stays hidden too (its own\n `?hidden=` binding includes the same \"nothing to show\" check) — clicking did nothing\n visible at all. */\n :host([data-mobile]) .mobile-toggle:not([hidden]) {\n display: inline-flex;\n order: -1;\n }\n\n :host([data-mobile]) .navbar-start,\n :host([data-mobile]) .navbar-center,\n :host([data-mobile]) .navbar-end {\n display: none;\n }\n\n :host([data-mobile][data-mobile-open]) .navbar {\n border-bottom-right-radius: var(--rounded-md);\n border-bottom-left-radius: var(--rounded-md);\n }\n\n @starting-style {\n .mobile-menu-panel {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y));\n }\n }\n\n @keyframes navbar-mobile-in {\n from {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y));\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes navbar-floating-to-sticky {\n from {\n opacity: 0.92;\n transform: translateY(6px) scale(0.985);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n }\n\n @keyframes navbar-sticky-to-floating {\n from {\n opacity: 0.95;\n transform: translateY(-2px) scale(1);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(0.99);\n }\n }\n\n .item {\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n gap: var(--size-1);\n align-items: center;\n min-height: var(--_touch-target);\n padding: var(--size-1-5) var(--size-2-5);\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--navbar-item-color, var(--color-contrast-700));\n white-space: nowrap;\n text-decoration: none;\n appearance: none;\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .item:hover,\n .item:focus-visible {\n color: var(--navbar-item-hover-color, var(--color-contrast-900));\n outline: var(--focus-ring);\n outline-offset: 1px;\n background: var(--navbar-item-hover-bg, var(--color-contrast-100));\n }\n\n :host([active]) .item {\n color: var(--navbar-item-active-color, var(--color-primary));\n background: var(--navbar-item-active-bg, color-mix(in oklch, var(--color-primary) 12%, transparent));\n }\n\n :host([disabled]) .item,\n :host([disabled]) .item:hover,\n :host([disabled]) .item:focus-visible {\n color: var(--color-contrast-400);\n pointer-events: none;\n cursor: not-allowed;\n outline: none;\n background: transparent;\n }\n\n .item-icon,\n .item-end {\n display: inline-flex;\n align-items: center;\n }\n\n .item-label {\n min-width: 0;\n white-space: nowrap;\n }\n\n /* Icon-only items (no visible label — name conveyed via aria-label) hide the empty label\n region so it stops reserving a `gap` slot next to the icon, and switch to compact,\n symmetric padding instead of the icon+label layout's wider horizontal padding. Without\n this, an icon-only item ends up lopsided: too much horizontal space around the icon plus\n a phantom gap left over for a label that never renders. */\n :host([icon-only]) .item-label {\n display: none;\n }\n\n :host([icon-only]) .item {\n padding: var(--size-1-5);\n }\n\n :host([navbar-mobile]) {\n display: block;\n width: 100%;\n }\n\n :host([navbar-mobile]) .item {\n display: flex;\n justify-content: flex-start;\n width: 100%;\n }\n}\n\n@layer refine.variants {\n :host([variant='flat']) {\n --_navbar-bg: color-mix(in oklch, var(--color-canvas) 88%, transparent);\n --_navbar-shadow: none;\n }\n\n :host([variant='bordered']) {\n --_navbar-bg: var(--color-canvas);\n --_navbar-border-color: color-mix(in oklch, var(--color-contrast-500) 32%, transparent);\n }\n\n :host([variant='outline']) {\n --_navbar-bg: transparent;\n --_navbar-shadow: none;\n --_navbar-border-color: color-mix(in oklch, var(--color-contrast-500) 40%, transparent);\n }\n\n :host([color]) {\n --_navbar-border-color: color-mix(in oklch, var(--_theme-border) 30%, transparent);\n }\n}\n\n@media (width <= 768px) {\n @layer refine.base {\n :host([data-mode='floating']) {\n inset-inline: var(--size-2);\n top: var(--size-2);\n }\n\n :host([floating][sticky][data-scrolled]) {\n inset-inline: 0;\n top: 0;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/layout/navbar/navbar.css?inline
|
|
2
|
-
var e = "@layer refine.base{:host{--_navbar-height:var(--navbar-height,var(--size-14));--_navbar-width:var(--navbar-width,min(100%, 80rem));--_navbar-offset:var(--navbar-offset,var(--size-3));--_navbar-bg:var(--navbar-bg,var(--color-canvas));--_navbar-color:var(--navbar-color,var(--color-contrast-900));--_navbar-border-color:var(--navbar-border-color,var(--color-divider));--_navbar-shadow:var(--navbar-shadow,var(--shadow-md));--_navbar-radius:var(--navbar-radius,var(--rounded-lg));box-sizing:border-box;width:100%;color:var(--_navbar-color);display:block}:host([data-mode=sticky]){z-index:var(--z-sticky);position:sticky;top:0}:host([data-mode=floating]){inset-inline:var(--_navbar-offset);top:var(--_navbar-offset);z-index:var(--z-sticky);position:fixed}:host([data-preview-mode][data-mode=floating]){inset-inline:var(--_navbar-offset);position:absolute;top:auto}:host([floating][sticky][data-scrolled]){width:100%;top:0;left:0;right:0}:host([data-preview-mode][floating][sticky][data-scrolled]){width:auto;position:absolute;top:auto;left:0;right:0}:host>nav{flex-direction:column;width:100%;display:flex;position:relative}.navbar{box-sizing:border-box;gap:var(--size-2);width:100%;max-width:var(--_navbar-width);min-height:var(--_navbar-height);padding:var(--size-2) var(--size-4);color:inherit;white-space:nowrap;background:var(--_navbar-bg);border-top:none;border-right:none;border-bottom:var(--border) solid var(--_navbar-border-color);-webkit-backdrop-filter:var(--navbar-backdrop-filter,blur(var(--blur-md)));backdrop-filter:var(--navbar-backdrop-filter,blur(var(--blur-md)));transition:var(--_motion-transition,background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal));border-left:none;border-radius:0;flex-wrap:nowrap;align-items:center;margin-left:auto;margin-right:auto;display:flex;overflow:auto hidden}:host([data-mode=floating]) .navbar{border-top:var(--border) solid var(--_navbar-border-color);border-right:var(--border) solid var(--_navbar-border-color);border-bottom:var(--border) solid var(--_navbar-border-color);border-left:var(--border) solid var(--_navbar-border-color);border-radius:var(--_navbar-radius)}:host([data-mode=sticky]) .navbar,:host([floating][sticky][data-scrolled]) .navbar{border-left:none;border-right:none;border-radius:0;max-width:100%}:host([data-mode-transitioning][data-mode=sticky]) .navbar{animation:navbar-floating-to-sticky var(--transition-normal) var(--ease-in-out)}:host([data-mode-transitioning][data-mode=floating]) .navbar{animation:navbar-sticky-to-floating var(--transition-normal) var(--ease-in-out)}.navbar-logo,.navbar-start,.navbar-center,.navbar-end{white-space:nowrap;align-items:center;min-width:0;display:flex}.navbar-logo{flex:none}.navbar-start{gap:var(--size-1);flex:none}.navbar-center{gap:var(--size-1);flex:0 auto;justify-content:flex-start;min-width:0;display:flex}.navbar-end{gap:var(--size-1);flex:none}.navbar-end:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.navbar-end:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.mobile-toggle{width:var(--size-9);height:var(--size-9);color:var(--color-contrast-700);cursor:pointer;border:var(--border) solid transparent;border-radius:var(--rounded-md);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.mobile-toggle:hover{color:var(--color-contrast-900);background:var(--color-contrast-100);border-color:var(--color-contrast-200)}.mobile-toggle:focus-visible{outline:var(--focus-ring)}.mobile-menu-panel{z-index:1;box-sizing:border-box;width:100%;max-width:var(--_navbar-width);padding:var(--size-2);background:var(--_navbar-bg);border:var(--border) solid var(--_navbar-border-color);border-radius:var(--rounded-lg);box-shadow:var(--_shadow,var(--_navbar-shadow));-webkit-backdrop-filter:var(--navbar-backdrop-filter,blur(var(--blur-md)));backdrop-filter:var(--navbar-backdrop-filter,blur(var(--blur-md)));transform-origin:top;animation:navbar-mobile-in var(--transition-fast) var(--ease-out);margin-top:var(--size-2);margin-left:auto;margin-right:auto;display:none;position:relative}:host([data-mobile][data-mobile-open]) .mobile-menu-panel:not([hidden]){gap:var(--size-1);display:grid}:host([data-mobile][data-mobile-open][data-mode=floating]) .mobile-menu-panel{margin-top:var(--size-1-5)}:host([data-mobile][data-mobile-open][data-mode=sticky]) .mobile-menu-panel,:host([data-mobile][data-mobile-open][floating][sticky][data-scrolled]) .mobile-menu-panel{z-index:2;border-radius:0 0 var(--rounded-md) var(--rounded-md);border-top:none;border-left:none;border-right:none;max-width:100%;margin:0;position:absolute;top:100%;left:0;right:0}:host([data-mobile]) .mobile-toggle:not([hidden]){order:-1;display:inline-flex}:host([data-mobile]) .navbar-start,:host([data-mobile]) .navbar-center,:host([data-mobile]) .navbar-end{display:none}:host([data-mobile][data-mobile-open]) .navbar{border-bottom-right-radius:var(--rounded-md);border-bottom-left-radius:var(--rounded-md)}@starting-style{.mobile-menu-panel{opacity:0;transform:translateY(var(--overlay-enter-translate-y))}}@keyframes navbar-mobile-in{0%{opacity:0;transform:translateY(var(--overlay-enter-translate-y))}to{opacity:1;transform:translateY(0)}}@keyframes navbar-floating-to-sticky{0%{opacity:.92;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes navbar-sticky-to-floating{0%{opacity:.95;transform:translateY(-2px)scale(1)}to{opacity:1;transform:translateY(0)scale(.99)}}.item{box-sizing:border-box;gap:var(--size-1);min-height:var(--_touch-target);padding:var(--size-1-5) var(--size-2-5);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--navbar-item-color,var(--color-contrast-700));white-space:nowrap;appearance:none;cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.item:hover,.item:focus-visible{color:var(--navbar-item-hover-color,var(--color-contrast-900));outline:var(--focus-ring);outline-offset:1px;background:var(--navbar-item-hover-bg,var(--color-contrast-100))}:host([active]) .item{color:var(--navbar-item-active-color,var(--color-primary));background:var(--navbar-item-active-bg,color-mix(in oklch, var(--color-primary) 12%, transparent))}:host([disabled]) .item,:host([disabled]) .item:hover,:host([disabled]) .item:focus-visible{color:var(--color-contrast-400);pointer-events:none;cursor:not-allowed;background:0 0;outline:none}.item-icon,.item-end{align-items:center;display:inline-flex}.item-label{white-space:nowrap;min-width:0}:host([icon-only]) .item-label{display:none}:host([icon-only]) .item{padding:var(--size-1-5)}:host([navbar-mobile]){width:100%;display:block}:host([navbar-mobile]) .item{justify-content:flex-start;width:100%;display:flex}}@layer refine.variants{:host([variant=flat]){--_navbar-bg:color-mix(in oklch, var(--color-canvas) 88%, transparent);--_navbar-shadow:none}:host([variant=bordered]){--_navbar-bg:var(--color-canvas);--_navbar-border-color:color-mix(in oklch, var(--color-contrast-500) 32%, transparent)}:host([variant=outline]){--_navbar-bg:transparent;--_navbar-shadow:none;--_navbar-border-color:color-mix(in oklch, var(--color-contrast-500) 40%, transparent)}:host([
|
|
2
|
+
var e = "@layer refine.base{:host{--_navbar-height:var(--navbar-height,var(--size-14));--_navbar-width:var(--navbar-width,min(100%, 80rem));--_navbar-offset:var(--navbar-offset,var(--size-3));--_navbar-bg:var(--navbar-bg,var(--color-canvas));--_navbar-color:var(--navbar-color,var(--color-contrast-900));--_navbar-border-color:var(--navbar-border-color,var(--color-divider));--_navbar-shadow:var(--navbar-shadow,var(--shadow-md));--_navbar-radius:var(--navbar-radius,var(--rounded-lg));box-sizing:border-box;width:100%;color:var(--_navbar-color);display:block}:host([data-mode=sticky]){z-index:var(--z-sticky);position:sticky;top:0}:host([data-mode=floating]){inset-inline:var(--_navbar-offset);top:var(--_navbar-offset);z-index:var(--z-sticky);position:fixed}:host([data-preview-mode][data-mode=floating]){inset-inline:var(--_navbar-offset);position:absolute;top:auto}:host([floating][sticky][data-scrolled]){width:100%;top:0;left:0;right:0}:host([data-preview-mode][floating][sticky][data-scrolled]){width:auto;position:absolute;top:auto;left:0;right:0}:host>nav{flex-direction:column;width:100%;display:flex;position:relative}.navbar{box-sizing:border-box;gap:var(--size-2);width:100%;max-width:var(--_navbar-width);min-height:var(--_navbar-height);padding:var(--size-2) var(--size-4);color:inherit;white-space:nowrap;background:var(--_navbar-bg);border-top:none;border-right:none;border-bottom:var(--border) solid var(--_navbar-border-color);-webkit-backdrop-filter:var(--navbar-backdrop-filter,blur(var(--blur-md)));backdrop-filter:var(--navbar-backdrop-filter,blur(var(--blur-md)));transition:var(--_motion-transition,background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), transform var(--transition-normal));border-left:none;border-radius:0;flex-wrap:nowrap;align-items:center;margin-left:auto;margin-right:auto;display:flex;overflow:auto hidden}:host([data-mode=floating]) .navbar{border-top:var(--border) solid var(--_navbar-border-color);border-right:var(--border) solid var(--_navbar-border-color);border-bottom:var(--border) solid var(--_navbar-border-color);border-left:var(--border) solid var(--_navbar-border-color);border-radius:var(--_navbar-radius)}:host([data-mode=sticky]) .navbar,:host([floating][sticky][data-scrolled]) .navbar{border-left:none;border-right:none;border-radius:0;max-width:100%}:host([data-mode-transitioning][data-mode=sticky]) .navbar{animation:navbar-floating-to-sticky var(--transition-normal) var(--ease-in-out)}:host([data-mode-transitioning][data-mode=floating]) .navbar{animation:navbar-sticky-to-floating var(--transition-normal) var(--ease-in-out)}.navbar-logo,.navbar-start,.navbar-center,.navbar-end{white-space:nowrap;align-items:center;min-width:0;display:flex}.navbar-logo{flex:none}.navbar-start{gap:var(--size-1);flex:none}.navbar-center{gap:var(--size-1);flex:0 auto;justify-content:flex-start;min-width:0;display:flex}.navbar-end{gap:var(--size-1);flex:none}.navbar-end:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.navbar-end:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.mobile-toggle{width:var(--size-9);height:var(--size-9);color:var(--color-contrast-700);cursor:pointer;border:var(--border) solid transparent;border-radius:var(--rounded-md);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.mobile-toggle:hover{color:var(--color-contrast-900);background:var(--color-contrast-100);border-color:var(--color-contrast-200)}.mobile-toggle:focus-visible{outline:var(--focus-ring)}.mobile-menu-panel{z-index:1;box-sizing:border-box;width:100%;max-width:var(--_navbar-width);padding:var(--size-2);background:var(--_navbar-bg);border:var(--border) solid var(--_navbar-border-color);border-radius:var(--rounded-lg);box-shadow:var(--_shadow,var(--_navbar-shadow));-webkit-backdrop-filter:var(--navbar-backdrop-filter,blur(var(--blur-md)));backdrop-filter:var(--navbar-backdrop-filter,blur(var(--blur-md)));transform-origin:top;animation:navbar-mobile-in var(--transition-fast) var(--ease-out);margin-top:var(--size-2);margin-left:auto;margin-right:auto;display:none;position:relative}:host([data-mobile][data-mobile-open]) .mobile-menu-panel:not([hidden]){gap:var(--size-1);display:grid}:host([data-mobile][data-mobile-open][data-mode=floating]) .mobile-menu-panel{margin-top:var(--size-1-5)}:host([data-mobile][data-mobile-open][data-mode=sticky]) .mobile-menu-panel,:host([data-mobile][data-mobile-open][floating][sticky][data-scrolled]) .mobile-menu-panel{z-index:2;border-radius:0 0 var(--rounded-md) var(--rounded-md);border-top:none;border-left:none;border-right:none;max-width:100%;margin:0;position:absolute;top:100%;left:0;right:0}:host([data-mobile]) .mobile-toggle:not([hidden]){order:-1;display:inline-flex}:host([data-mobile]) .navbar-start,:host([data-mobile]) .navbar-center,:host([data-mobile]) .navbar-end{display:none}:host([data-mobile][data-mobile-open]) .navbar{border-bottom-right-radius:var(--rounded-md);border-bottom-left-radius:var(--rounded-md)}@starting-style{.mobile-menu-panel{opacity:0;transform:translateY(var(--overlay-enter-translate-y))}}@keyframes navbar-mobile-in{0%{opacity:0;transform:translateY(var(--overlay-enter-translate-y))}to{opacity:1;transform:translateY(0)}}@keyframes navbar-floating-to-sticky{0%{opacity:.92;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes navbar-sticky-to-floating{0%{opacity:.95;transform:translateY(-2px)scale(1)}to{opacity:1;transform:translateY(0)scale(.99)}}.item{box-sizing:border-box;gap:var(--size-1);min-height:var(--_touch-target);padding:var(--size-1-5) var(--size-2-5);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--navbar-item-color,var(--color-contrast-700));white-space:nowrap;appearance:none;cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.item:hover,.item:focus-visible{color:var(--navbar-item-hover-color,var(--color-contrast-900));outline:var(--focus-ring);outline-offset:1px;background:var(--navbar-item-hover-bg,var(--color-contrast-100))}:host([active]) .item{color:var(--navbar-item-active-color,var(--color-primary));background:var(--navbar-item-active-bg,color-mix(in oklch, var(--color-primary) 12%, transparent))}:host([disabled]) .item,:host([disabled]) .item:hover,:host([disabled]) .item:focus-visible{color:var(--color-contrast-400);pointer-events:none;cursor:not-allowed;background:0 0;outline:none}.item-icon,.item-end{align-items:center;display:inline-flex}.item-label{white-space:nowrap;min-width:0}:host([icon-only]) .item-label{display:none}:host([icon-only]) .item{padding:var(--size-1-5)}:host([navbar-mobile]){width:100%;display:block}:host([navbar-mobile]) .item{justify-content:flex-start;width:100%;display:flex}}@layer refine.variants{:host([variant=flat]){--_navbar-bg:color-mix(in oklch, var(--color-canvas) 88%, transparent);--_navbar-shadow:none}:host([variant=bordered]){--_navbar-bg:var(--color-canvas);--_navbar-border-color:color-mix(in oklch, var(--color-contrast-500) 32%, transparent)}:host([variant=outline]){--_navbar-bg:transparent;--_navbar-shadow:none;--_navbar-border-color:color-mix(in oklch, var(--color-contrast-500) 40%, transparent)}:host([color]){--_navbar-border-color:color-mix(in oklch, var(--_theme-border) 30%, transparent)}}@media (width<=768px){@layer refine.base{:host([data-mode=floating]){inset-inline:var(--size-2);top:var(--size-2)}:host([floating][sticky][data-scrolled]){top:0;left:0;right:0}}}";
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as default };
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navbar.css.js","names":[],"sources":["../../../src/layout/navbar/navbar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_navbar-height: var(--navbar-height, var(--size-14));\n --_navbar-width: var(--navbar-width, min(100%, 80rem));\n --_navbar-offset: var(--navbar-offset, var(--size-3));\n --_navbar-bg: var(--navbar-bg, var(--color-canvas));\n --_navbar-color: var(--navbar-color, var(--color-contrast-900));\n --_navbar-border-color: var(--navbar-border-color, var(--color-divider));\n --_navbar-shadow: var(--navbar-shadow, var(--shadow-md));\n --_navbar-radius: var(--navbar-radius, var(--rounded-lg));\n\n box-sizing: border-box;\n display: block;\n width: 100%;\n color: var(--_navbar-color);\n }\n\n :host([data-mode='sticky']) {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n\n :host([data-mode='floating']) {\n position: fixed;\n inset-inline: var(--_navbar-offset);\n top: var(--_navbar-offset);\n z-index: var(--z-sticky);\n }\n\n /* Preview mode: use absolute positioning so component stays within container bounds */\n :host([data-preview-mode][data-mode='floating']) {\n position: absolute;\n inset-inline: var(--_navbar-offset);\n top: auto;\n }\n\n :host([floating][sticky][data-scrolled]) {\n inset-inline: 0;\n top: 0;\n width: 100%;\n }\n\n :host([data-preview-mode][floating][sticky][data-scrolled]) {\n position: absolute;\n inset-inline: 0;\n top: auto;\n width: auto;\n }\n\n :host > nav {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n .navbar {\n box-sizing: border-box;\n display: flex;\n flex-wrap: nowrap;\n gap: var(--size-2);\n align-items: center;\n width: 100%;\n max-width: var(--_navbar-width);\n min-height: var(--_navbar-height);\n padding: var(--size-2) var(--size-4);\n margin-inline: auto;\n overflow: auto hidden;\n color: inherit;\n white-space: nowrap;\n background: var(--_navbar-bg);\n border-top: none;\n border-right: none;\n border-bottom: var(--border) solid var(--_navbar-border-color);\n border-left: none;\n border-radius: 0;\n backdrop-filter: var(--navbar-backdrop-filter, blur(var(--blur-md)));\n transition: var(\n --_motion-transition,\n background var(--transition-normal),\n border-color var(--transition-normal),\n box-shadow var(--transition-normal),\n transform var(--transition-normal)\n );\n }\n\n :host([data-mode='floating']) .navbar {\n border-top: var(--border) solid var(--_navbar-border-color);\n border-right: var(--border) solid var(--_navbar-border-color);\n border-bottom: var(--border) solid var(--_navbar-border-color);\n border-left: var(--border) solid var(--_navbar-border-color);\n border-radius: var(--_navbar-radius);\n }\n\n :host([data-mode='sticky']) .navbar,\n :host([floating][sticky][data-scrolled]) .navbar {\n max-width: 100%;\n border-inline: none;\n border-radius: 0;\n }\n\n :host([data-mode-transitioning][data-mode='sticky']) .navbar {\n animation: navbar-floating-to-sticky var(--transition-normal) var(--ease-in-out);\n }\n\n :host([data-mode-transitioning][data-mode='floating']) .navbar {\n animation: navbar-sticky-to-floating var(--transition-normal) var(--ease-in-out);\n }\n\n .navbar-logo,\n .navbar-start,\n .navbar-center,\n .navbar-end {\n display: flex;\n align-items: center;\n min-width: 0;\n white-space: nowrap;\n }\n\n .navbar-logo {\n flex: 0 0 auto;\n }\n\n .navbar-start {\n flex: 0 0 auto;\n gap: var(--size-1);\n }\n\n .navbar-center {\n display: flex;\n flex: 0 1 auto;\n gap: var(--size-1);\n justify-content: flex-start;\n min-width: 0;\n }\n\n .navbar-end {\n flex: 0 0 auto;\n gap: var(--size-1);\n margin-inline-start: auto;\n }\n\n .mobile-toggle {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-9);\n height: var(--size-9);\n padding: 0;\n color: var(--color-contrast-700);\n cursor: pointer;\n background: transparent;\n border: var(--border) solid transparent;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n border-color var(--transition-fast),\n color var(--transition-fast);\n }\n\n .mobile-toggle:hover {\n color: var(--color-contrast-900);\n background: var(--color-contrast-100);\n border-color: var(--color-contrast-200);\n }\n\n .mobile-toggle:focus-visible {\n outline: var(--focus-ring);\n }\n\n .mobile-menu-panel {\n position: relative;\n z-index: 1;\n box-sizing: border-box;\n display: none;\n width: 100%;\n max-width: var(--_navbar-width);\n padding: var(--size-2);\n margin-block-start: var(--size-2);\n margin-inline: auto;\n background: var(--_navbar-bg);\n border: var(--border) solid var(--_navbar-border-color);\n border-radius: var(--rounded-lg);\n box-shadow: var(--_shadow, var(--_navbar-shadow));\n backdrop-filter: var(--navbar-backdrop-filter, blur(var(--blur-md)));\n transform-origin: top;\n animation: navbar-mobile-in var(--transition-fast) var(--ease-out);\n }\n\n /* `:not([hidden])` — same reasoning as `.mobile-toggle` above: this panel's own `?hidden=`\n binding (navbar.ts) already covers \"not mobile\" / \"menu closed\" / \"no mobile-menu content\",\n but an unconditional `display: grid` here would still override that `[hidden]` for the \"no\n content\" case specifically, since author styles always win over the UA stylesheet. */\n :host([data-mobile][data-mobile-open]) .mobile-menu-panel:not([hidden]) {\n display: grid;\n gap: var(--size-1);\n }\n\n :host([data-mobile][data-mobile-open][data-mode='floating']) .mobile-menu-panel {\n margin-block-start: var(--size-1-5);\n }\n\n :host([data-mobile][data-mobile-open][data-mode='sticky']) .mobile-menu-panel,\n :host([data-mobile][data-mobile-open][floating][sticky][data-scrolled]) .mobile-menu-panel {\n position: absolute;\n inset-inline: 0;\n top: 100%;\n z-index: 2;\n max-width: 100%;\n margin: 0;\n border-inline: none;\n border-top: none;\n border-radius: 0 0 var(--rounded-md) var(--rounded-md);\n }\n\n /* `:not([hidden])` matters — the component's own `?hidden=` binding (navbar.ts) hides this\n button when there's neither `mobile-menu` slot content nor a `mobile-sidebar` target to\n toggle. Without it, this rule's `display: inline-flex` — an author-stylesheet declaration —\n unconditionally overrides the UA stylesheet's `[hidden] { display: none }`, since author\n styles always win over UA styles regardless of selector specificity. That left the button\n visibly clickable while toggling a `mobile-menu-panel` that stays hidden too (its own\n `?hidden=` binding includes the same \"nothing to show\" check) — clicking did nothing\n visible at all. */\n :host([data-mobile]) .mobile-toggle:not([hidden]) {\n display: inline-flex;\n order: -1;\n }\n\n :host([data-mobile]) .navbar-start,\n :host([data-mobile]) .navbar-center,\n :host([data-mobile]) .navbar-end {\n display: none;\n }\n\n :host([data-mobile][data-mobile-open]) .navbar {\n border-bottom-right-radius: var(--rounded-md);\n border-bottom-left-radius: var(--rounded-md);\n }\n\n @starting-style {\n .mobile-menu-panel {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y));\n }\n }\n\n @keyframes navbar-mobile-in {\n from {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y));\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes navbar-floating-to-sticky {\n from {\n opacity: 0.92;\n transform: translateY(6px) scale(0.985);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n }\n\n @keyframes navbar-sticky-to-floating {\n from {\n opacity: 0.95;\n transform: translateY(-2px) scale(1);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(0.99);\n }\n }\n\n .item {\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n gap: var(--size-1);\n align-items: center;\n min-height: var(--_touch-target);\n padding: var(--size-1-5) var(--size-2-5);\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--navbar-item-color, var(--color-contrast-700));\n white-space: nowrap;\n text-decoration: none;\n appearance: none;\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .item:hover,\n .item:focus-visible {\n color: var(--navbar-item-hover-color, var(--color-contrast-900));\n outline: var(--focus-ring);\n outline-offset: 1px;\n background: var(--navbar-item-hover-bg, var(--color-contrast-100));\n }\n\n :host([active]) .item {\n color: var(--navbar-item-active-color, var(--color-primary));\n background: var(--navbar-item-active-bg, color-mix(in oklch, var(--color-primary) 12%, transparent));\n }\n\n :host([disabled]) .item,\n :host([disabled]) .item:hover,\n :host([disabled]) .item:focus-visible {\n color: var(--color-contrast-400);\n pointer-events: none;\n cursor: not-allowed;\n outline: none;\n background: transparent;\n }\n\n .item-icon,\n .item-end {\n display: inline-flex;\n align-items: center;\n }\n\n .item-label {\n min-width: 0;\n white-space: nowrap;\n }\n\n /* Icon-only items (no visible label — name conveyed via aria-label) hide the empty label\n region so it stops reserving a `gap` slot next to the icon, and switch to compact,\n symmetric padding instead of the icon+label layout's wider horizontal padding. Without\n this, an icon-only item ends up lopsided: too much horizontal space around the icon plus\n a phantom gap left over for a label that never renders. */\n :host([icon-only]) .item-label {\n display: none;\n }\n\n :host([icon-only]) .item {\n padding: var(--size-1-5);\n }\n\n :host([navbar-mobile]) {\n display: block;\n width: 100%;\n }\n\n :host([navbar-mobile]) .item {\n display: flex;\n justify-content: flex-start;\n width: 100%;\n }\n}\n\n@layer refine.variants {\n :host([variant='flat']) {\n --_navbar-bg: color-mix(in oklch, var(--color-canvas) 88%, transparent);\n --_navbar-shadow: none;\n }\n\n :host([variant='bordered']) {\n --_navbar-bg: var(--color-canvas);\n --_navbar-border-color: color-mix(in oklch, var(--color-contrast-500) 32%, transparent);\n }\n\n :host([variant='outline']) {\n --_navbar-bg: transparent;\n --_navbar-shadow: none;\n --_navbar-border-color: color-mix(in oklch, var(--color-contrast-500) 40%, transparent);\n }\n\n :host([variant='glass']) {\n --_navbar-bg: color-mix(in oklch, var(--color-canvas) 70%, transparent);\n --navbar-backdrop-filter: blur(var(--blur-lg)) saturate(180%);\n }\n\n :host([color]) {\n --_navbar-border-color: color-mix(in oklch, var(--_theme-border) 30%, transparent);\n }\n}\n\n@media (width <= 768px) {\n @layer refine.base {\n :host([data-mode='floating']) {\n inset-inline: var(--size-2);\n top: var(--size-2);\n }\n\n :host([floating][sticky][data-scrolled]) {\n inset-inline: 0;\n top: 0;\n }\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"navbar.css.js","names":[],"sources":["../../../src/layout/navbar/navbar.css?inline"],"sourcesContent":["@layer refine.base {\n :host {\n --_navbar-height: var(--navbar-height, var(--size-14));\n --_navbar-width: var(--navbar-width, min(100%, 80rem));\n --_navbar-offset: var(--navbar-offset, var(--size-3));\n --_navbar-bg: var(--navbar-bg, var(--color-canvas));\n --_navbar-color: var(--navbar-color, var(--color-contrast-900));\n --_navbar-border-color: var(--navbar-border-color, var(--color-divider));\n --_navbar-shadow: var(--navbar-shadow, var(--shadow-md));\n --_navbar-radius: var(--navbar-radius, var(--rounded-lg));\n\n box-sizing: border-box;\n display: block;\n width: 100%;\n color: var(--_navbar-color);\n }\n\n :host([data-mode='sticky']) {\n position: sticky;\n top: 0;\n z-index: var(--z-sticky);\n }\n\n :host([data-mode='floating']) {\n position: fixed;\n inset-inline: var(--_navbar-offset);\n top: var(--_navbar-offset);\n z-index: var(--z-sticky);\n }\n\n /* Preview mode: use absolute positioning so component stays within container bounds */\n :host([data-preview-mode][data-mode='floating']) {\n position: absolute;\n inset-inline: var(--_navbar-offset);\n top: auto;\n }\n\n :host([floating][sticky][data-scrolled]) {\n inset-inline: 0;\n top: 0;\n width: 100%;\n }\n\n :host([data-preview-mode][floating][sticky][data-scrolled]) {\n position: absolute;\n inset-inline: 0;\n top: auto;\n width: auto;\n }\n\n :host > nav {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n }\n\n .navbar {\n box-sizing: border-box;\n display: flex;\n flex-wrap: nowrap;\n gap: var(--size-2);\n align-items: center;\n width: 100%;\n max-width: var(--_navbar-width);\n min-height: var(--_navbar-height);\n padding: var(--size-2) var(--size-4);\n margin-inline: auto;\n overflow: auto hidden;\n color: inherit;\n white-space: nowrap;\n background: var(--_navbar-bg);\n border-top: none;\n border-right: none;\n border-bottom: var(--border) solid var(--_navbar-border-color);\n border-left: none;\n border-radius: 0;\n backdrop-filter: var(--navbar-backdrop-filter, blur(var(--blur-md)));\n transition: var(\n --_motion-transition,\n background var(--transition-normal),\n border-color var(--transition-normal),\n box-shadow var(--transition-normal),\n transform var(--transition-normal)\n );\n }\n\n :host([data-mode='floating']) .navbar {\n border-top: var(--border) solid var(--_navbar-border-color);\n border-right: var(--border) solid var(--_navbar-border-color);\n border-bottom: var(--border) solid var(--_navbar-border-color);\n border-left: var(--border) solid var(--_navbar-border-color);\n border-radius: var(--_navbar-radius);\n }\n\n :host([data-mode='sticky']) .navbar,\n :host([floating][sticky][data-scrolled]) .navbar {\n max-width: 100%;\n border-inline: none;\n border-radius: 0;\n }\n\n :host([data-mode-transitioning][data-mode='sticky']) .navbar {\n animation: navbar-floating-to-sticky var(--transition-normal) var(--ease-in-out);\n }\n\n :host([data-mode-transitioning][data-mode='floating']) .navbar {\n animation: navbar-sticky-to-floating var(--transition-normal) var(--ease-in-out);\n }\n\n .navbar-logo,\n .navbar-start,\n .navbar-center,\n .navbar-end {\n display: flex;\n align-items: center;\n min-width: 0;\n white-space: nowrap;\n }\n\n .navbar-logo {\n flex: 0 0 auto;\n }\n\n .navbar-start {\n flex: 0 0 auto;\n gap: var(--size-1);\n }\n\n .navbar-center {\n display: flex;\n flex: 0 1 auto;\n gap: var(--size-1);\n justify-content: flex-start;\n min-width: 0;\n }\n\n .navbar-end {\n flex: 0 0 auto;\n gap: var(--size-1);\n margin-inline-start: auto;\n }\n\n .mobile-toggle {\n display: none;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-9);\n height: var(--size-9);\n padding: 0;\n color: var(--color-contrast-700);\n cursor: pointer;\n background: transparent;\n border: var(--border) solid transparent;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n border-color var(--transition-fast),\n color var(--transition-fast);\n }\n\n .mobile-toggle:hover {\n color: var(--color-contrast-900);\n background: var(--color-contrast-100);\n border-color: var(--color-contrast-200);\n }\n\n .mobile-toggle:focus-visible {\n outline: var(--focus-ring);\n }\n\n .mobile-menu-panel {\n position: relative;\n z-index: 1;\n box-sizing: border-box;\n display: none;\n width: 100%;\n max-width: var(--_navbar-width);\n padding: var(--size-2);\n margin-block-start: var(--size-2);\n margin-inline: auto;\n background: var(--_navbar-bg);\n border: var(--border) solid var(--_navbar-border-color);\n border-radius: var(--rounded-lg);\n box-shadow: var(--_shadow, var(--_navbar-shadow));\n backdrop-filter: var(--navbar-backdrop-filter, blur(var(--blur-md)));\n transform-origin: top;\n animation: navbar-mobile-in var(--transition-fast) var(--ease-out);\n }\n\n /* `:not([hidden])` — same reasoning as `.mobile-toggle` above: this panel's own `?hidden=`\n binding (navbar.ts) already covers \"not mobile\" / \"menu closed\" / \"no mobile-menu content\",\n but an unconditional `display: grid` here would still override that `[hidden]` for the \"no\n content\" case specifically, since author styles always win over the UA stylesheet. */\n :host([data-mobile][data-mobile-open]) .mobile-menu-panel:not([hidden]) {\n display: grid;\n gap: var(--size-1);\n }\n\n :host([data-mobile][data-mobile-open][data-mode='floating']) .mobile-menu-panel {\n margin-block-start: var(--size-1-5);\n }\n\n :host([data-mobile][data-mobile-open][data-mode='sticky']) .mobile-menu-panel,\n :host([data-mobile][data-mobile-open][floating][sticky][data-scrolled]) .mobile-menu-panel {\n position: absolute;\n inset-inline: 0;\n top: 100%;\n z-index: 2;\n max-width: 100%;\n margin: 0;\n border-inline: none;\n border-top: none;\n border-radius: 0 0 var(--rounded-md) var(--rounded-md);\n }\n\n /* `:not([hidden])` matters — the component's own `?hidden=` binding (navbar.ts) hides this\n button when there's neither `mobile-menu` slot content nor a `mobile-sidebar` target to\n toggle. Without it, this rule's `display: inline-flex` — an author-stylesheet declaration —\n unconditionally overrides the UA stylesheet's `[hidden] { display: none }`, since author\n styles always win over UA styles regardless of selector specificity. That left the button\n visibly clickable while toggling a `mobile-menu-panel` that stays hidden too (its own\n `?hidden=` binding includes the same \"nothing to show\" check) — clicking did nothing\n visible at all. */\n :host([data-mobile]) .mobile-toggle:not([hidden]) {\n display: inline-flex;\n order: -1;\n }\n\n :host([data-mobile]) .navbar-start,\n :host([data-mobile]) .navbar-center,\n :host([data-mobile]) .navbar-end {\n display: none;\n }\n\n :host([data-mobile][data-mobile-open]) .navbar {\n border-bottom-right-radius: var(--rounded-md);\n border-bottom-left-radius: var(--rounded-md);\n }\n\n @starting-style {\n .mobile-menu-panel {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y));\n }\n }\n\n @keyframes navbar-mobile-in {\n from {\n opacity: 0;\n transform: translateY(var(--overlay-enter-translate-y));\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes navbar-floating-to-sticky {\n from {\n opacity: 0.92;\n transform: translateY(6px) scale(0.985);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n }\n\n @keyframes navbar-sticky-to-floating {\n from {\n opacity: 0.95;\n transform: translateY(-2px) scale(1);\n }\n\n to {\n opacity: 1;\n transform: translateY(0) scale(0.99);\n }\n }\n\n .item {\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n gap: var(--size-1);\n align-items: center;\n min-height: var(--_touch-target);\n padding: var(--size-1-5) var(--size-2-5);\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--navbar-item-color, var(--color-contrast-700));\n white-space: nowrap;\n text-decoration: none;\n appearance: none;\n cursor: pointer;\n background: transparent;\n border: none;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .item:hover,\n .item:focus-visible {\n color: var(--navbar-item-hover-color, var(--color-contrast-900));\n outline: var(--focus-ring);\n outline-offset: 1px;\n background: var(--navbar-item-hover-bg, var(--color-contrast-100));\n }\n\n :host([active]) .item {\n color: var(--navbar-item-active-color, var(--color-primary));\n background: var(--navbar-item-active-bg, color-mix(in oklch, var(--color-primary) 12%, transparent));\n }\n\n :host([disabled]) .item,\n :host([disabled]) .item:hover,\n :host([disabled]) .item:focus-visible {\n color: var(--color-contrast-400);\n pointer-events: none;\n cursor: not-allowed;\n outline: none;\n background: transparent;\n }\n\n .item-icon,\n .item-end {\n display: inline-flex;\n align-items: center;\n }\n\n .item-label {\n min-width: 0;\n white-space: nowrap;\n }\n\n /* Icon-only items (no visible label — name conveyed via aria-label) hide the empty label\n region so it stops reserving a `gap` slot next to the icon, and switch to compact,\n symmetric padding instead of the icon+label layout's wider horizontal padding. Without\n this, an icon-only item ends up lopsided: too much horizontal space around the icon plus\n a phantom gap left over for a label that never renders. */\n :host([icon-only]) .item-label {\n display: none;\n }\n\n :host([icon-only]) .item {\n padding: var(--size-1-5);\n }\n\n :host([navbar-mobile]) {\n display: block;\n width: 100%;\n }\n\n :host([navbar-mobile]) .item {\n display: flex;\n justify-content: flex-start;\n width: 100%;\n }\n}\n\n@layer refine.variants {\n :host([variant='flat']) {\n --_navbar-bg: color-mix(in oklch, var(--color-canvas) 88%, transparent);\n --_navbar-shadow: none;\n }\n\n :host([variant='bordered']) {\n --_navbar-bg: var(--color-canvas);\n --_navbar-border-color: color-mix(in oklch, var(--color-contrast-500) 32%, transparent);\n }\n\n :host([variant='outline']) {\n --_navbar-bg: transparent;\n --_navbar-shadow: none;\n --_navbar-border-color: color-mix(in oklch, var(--color-contrast-500) 40%, transparent);\n }\n\n :host([color]) {\n --_navbar-border-color: color-mix(in oklch, var(--_theme-border) 30%, transparent);\n }\n}\n\n@media (width <= 768px) {\n @layer refine.base {\n :host([data-mode='floating']) {\n inset-inline: var(--size-2);\n top: var(--size-2);\n }\n\n :host([floating][sticky][data-scrolled]) {\n inset-inline: 0;\n top: 0;\n }\n }\n}\n"],"mappings":""}
|
|
@@ -35,6 +35,8 @@ export type OreNavbarProps = {
|
|
|
35
35
|
floating?: boolean;
|
|
36
36
|
/** Accessible nav landmark label */
|
|
37
37
|
label?: string;
|
|
38
|
+
'menu-close-label'?: string;
|
|
39
|
+
'menu-open-label'?: string;
|
|
38
40
|
/** CSS selector for an external sidebar toggled by the mobile button */
|
|
39
41
|
'mobile-sidebar'?: string;
|
|
40
42
|
/** Border radius size */
|
|
@@ -79,7 +81,7 @@ export type OreNavbarItemProps = {
|
|
|
79
81
|
* @attr {number} scroll-threshold - Scroll threshold for floating+sticky transition
|
|
80
82
|
* @attr {string} breakpoint - CSS media query used for mobile mode
|
|
81
83
|
* @attr {boolean} container-breakpoints - Evaluates parseable max-width breakpoints against container width
|
|
82
|
-
* @attr {string} variant - Visual variant: 'flat' | 'solid' | 'bordered' | 'outline' | 'frost'
|
|
84
|
+
* @attr {string} variant - Visual variant: 'flat' | 'solid' | 'bordered' | 'outline' | 'frost'
|
|
83
85
|
* @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'
|
|
84
86
|
* @attr {string} rounded - Border radius: 'none' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full'
|
|
85
87
|
* @attr {string} elevation - Shadow elevation: '0' | '1' | '2' | '3' | '4' | '5'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../../src/layout/navbar/navbar.ts"],"names":[],"mappings":"AAcA,OAAO,
|
|
1
|
+
{"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../../src/layout/navbar/navbar.ts"],"names":[],"mappings":"AAcA,OAAO,EAA8B,KAAK,QAAQ,EAA0B,MAAM,kBAAkB,CAAC;AAGrG,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE1F,OAAO,yBAAyB,CAAC;AAsFjC,sEAAsE;AACtE,MAAM,MAAM,aAAa,GAAG;IAC1B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5B,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,UAAU,qDAAgD,CAAC;AAExE,8BAA8B;AAC9B,MAAM,MAAM,eAAe,GAAG;IAC5B,oBAAoB,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CACzC,CAAC;AAEF,yCAAyC;AACzC,MAAM,MAAM,aAAa,GAAG,WAAW,GACrC,cAAc,GAAG;IACf,eAAe,IAAI,IAAI,CAAC;IACxB,cAAc,IAAI,IAAI,CAAC;IACvB,gBAAgB,IAAI,IAAI,CAAC;CAC1B,CAAC;AAQJ,kCAAkC;AAClC,MAAM,MAAM,cAAc,GAAG;IAC3B,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,6EAA6E;IAC7E,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mCAAmC;IACnC,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC;CACpD,CAAC;AAEF,6BAA6B;AAC7B,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,eAAO,MAAM,UAAU,EAAG,YAAqB,CAAC;AAgiBhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,eAAe,EAAG,iBAA0B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=`.sidebar-logo[hidden]{min-width:0;min-height:0;margin:0;display:none}@layer refine.base{:host{--_sidebar-width:var(--sidebar-width,16rem);--_sidebar-collapsed-width:var(--sidebar-collapsed-width,3.5rem);--_sidebar-transition:var(--transition-normal);--_panel-bg:var(--sidebar-bg,var(--color-canvas));--_panel-blur:var(--sidebar-panel-blur,var(--blur-md));--_panel-border-color:var(--sidebar-border-color,var(--color-divider));--_panel-radius:var(--sidebar-radius,var(--rounded-lg));--_panel-shadow:var(--sidebar-shadow,var(--shadow-md));box-sizing:border-box;width:100%;min-width:var(--size-2xs);max-width:var(--_sidebar-width);height:100%;min-height:0;transition:max-width var(--_sidebar-transition), min-width var(--_sidebar-transition);will-change:max-width;display:block;overflow:visible}:host>nav{box-sizing:border-box;background:var(--_panel-bg);width:100%;height:100%;min-height:0;-webkit-backdrop-filter:blur(var(--_panel-blur));backdrop-filter:blur(var(--_panel-blur));flex-direction:column;display:flex;position:relative;overflow:hidden}:host>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right:var(--border) solid var(--_panel-border-color)}:host>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:var(--border) solid var(--_panel-border-color)}.mobile-backdrop{z-index:calc(var(--z-sticky) + 1);background:color-mix(in oklch, var(--color-contrast-950) 36%, transparent);border:0;width:100%;height:100%;display:none;position:absolute;inset:0}:host([data-bottom-nav][data-mobile-open]) .mobile-backdrop{z-index:calc(var(--z-sticky) + 1);width:100vw;height:100dvh;display:block;position:fixed;inset:0}:host([data-preview-mode][data-bottom-nav][data-mobile-open]) .mobile-backdrop{width:100%;height:100%;position:absolute;inset:0}:host([data-no-transition]),:host([data-no-transition])>nav{transition:none}:host([data-collapsed]){min-width:var(--_sidebar-collapsed-width);max-width:var(--_sidebar-collapsed-width)}:host([data-bottom-nav]){z-index:calc(var(--z-sticky) + 2);width:100%;min-width:0;max-width:100%;height:var(--sidebar-bottom-nav-height,3.75rem);pointer-events:auto;position:fixed;bottom:0;left:0;right:0}:host([data-preview-mode][data-bottom-nav]){pointer-events:none;width:auto;height:auto;position:absolute;inset:0}:host([data-bottom-nav])>nav{z-index:calc(var(--z-sticky) + 3);width:min(var(--_sidebar-width), 85vw);max-width:85vw;max-height:100dvh;transition:transform var(--transition-normal);position:fixed;top:0;bottom:0;transform:translate(-104%)}:host([data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}:host([data-preview-mode][data-bottom-nav])>nav{z-index:calc(var(--z-sticky) + 3);pointer-events:auto;max-height:100%;position:absolute;top:0;bottom:0}:host([data-preview-mode][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([data-preview-mode][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}:host(:dir(rtl)[data-bottom-nav])>nav{transform:translate(104%)}:host([data-bottom-nav][data-mobile-open])>nav{transform:translate(0)}.bottom-bar{gap:var(--size-1);width:100%;height:100%;padding:var(--size-1);pointer-events:none;background:var(--_panel-bg);border-top:var(--border) solid var(--_panel-border-color);box-shadow:var(--shadow-sm);opacity:0;-webkit-backdrop-filter:blur(var(--_panel-blur));backdrop-filter:blur(var(--_panel-blur));transition:opacity var(--_sidebar-transition), transform var(--_sidebar-transition), display var(--_sidebar-transition) allow-discrete;justify-content:space-around;align-items:stretch;display:flex;transform:translateY(100%)}:host([data-bottom-nav]) .bottom-bar{pointer-events:auto;opacity:1;transform:translateY(0)}:host([data-preview-mode][data-bottom-nav]) .bottom-bar{z-index:calc(var(--z-sticky) + 2);height:var(--sidebar-bottom-nav-height,3.75rem);position:absolute;bottom:0;left:0;right:0}:host([data-bottom-nav][data-mobile-open]) .bottom-bar{z-index:calc(var(--z-sticky) + 1);pointer-events:none;opacity:0;transform:translateY(100%)}.bottom-tab{all:unset;box-sizing:border-box;gap:var(--size-0-5);min-width:0;padding:var(--size-1) var(--size-1-5);color:var(--sidebar-item-color,var(--color-contrast-700));cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.bottom-tab:hover,.bottom-tab:focus-visible{color:var(--sidebar-item-hover-color,var(--color-contrast-900));outline:var(--focus-ring);outline-offset:1px;background:var(--sidebar-item-hover-bg,var(--color-contrast-100))}.bottom-tab:disabled{color:var(--sidebar-item-disabled-color,var(--color-contrast-400));cursor:not-allowed;opacity:.7}.bottom-tab-active,.bottom-tab[data-active=true]{color:var(--sidebar-item-active-color,var(--color-primary));background:var(--sidebar-item-active-bg,var(--color-primary-100,color-mix(in oklch, var(--color-primary) 12%, transparent)))}.bottom-tab-active:before,.bottom-tab[data-active=true]:before{display:none}.bottom-tab-icon{width:var(--size-5);height:var(--size-5);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bottom-tab-label{text-overflow:ellipsis;min-width:0;font-size:var(--text-xs);white-space:nowrap;overflow:hidden}.sidebar-header{gap:var(--size-2);min-height:var(--size-6);padding:var(--size-4);border-bottom:var(--border) solid var(--color-contrast-200);justify-content:space-between;align-items:center;display:flex}.sidebar-header .sidebar-header-content{flex:1;min-width:0;display:block;overflow:hidden}:host([data-collapsed]) .sidebar-header{gap:var(--size-2);min-height:unset;padding-block:var(--size-2);padding-inline:var(--size-2);flex-direction:column;justify-content:flex-start;align-items:center}:host([data-collapsed]) .sidebar-header .sidebar-header-content{display:none}.sidebar-logo{min-width:var(--size-8);min-height:var(--size-8);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logo:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:var(--size-2)}.sidebar-logo:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:var(--size-2)}.sidebar-logo:empty{display:none}:host([data-collapsed]) .sidebar-logo{margin-block:var(--size-1)}:host([data-collapsed]) .sidebar-logo:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:0}:host([data-collapsed]) .sidebar-logo:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:0}.sidebar-content{gap:var(--size-2);min-width:0;padding:var(--size-4);scrollbar-width:thin;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;display:grid;overflow:clip auto}.sidebar-footer{padding:var(--size-4);border-top:var(--border) solid var(--color-contrast-200);flex-shrink:0}.toggle-btn{all:unset;box-sizing:border-box;width:var(--size-8);height:var(--size-8);color:var(--color-contrast-500);cursor:pointer;border-radius:var(--rounded-sm);transition:color var(--transition-fast), background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toggle-btn:hover{color:var(--color-contrast-800);background:var(--color-contrast-200)}.toggle-btn:focus-visible{outline:var(--focus-ring)}.toggle-icon{transition:var(--_motion-transition,transform var(--_sidebar-transition));justify-content:center;align-items:center;display:flex}:host([data-collapsed]) .toggle-icon{transform:rotate(180deg)}:host([data-bottom-nav]) .toggle-btn{display:none}:host(:not([dir=rtl])[data-collapsed]) .toggle-icon,:host(:dir(ltr)[data-collapsed]) .toggle-icon,:host(:dir(rtl)) .toggle-icon{transform:rotate(180deg)}:host(:dir(rtl)[data-collapsed]) .toggle-icon{transform:rotate(0)}}@layer refine.variants{:host([variant=floating]){--_panel-radius:var(--rounded-lg);height:calc(100% - var(--size-6));margin:var(--size-3)}:host([variant=floating])>nav{border:var(--border) solid var(--_panel-border-color);border-radius:var(--_panel-radius)}:host([variant=floating][data-bottom-nav]){bottom:var(--size-2);inset-inline:var(--size-2);width:auto;max-width:none}:host([variant=floating][data-preview-mode][data-bottom-nav]){inset:calc(var(--size-1) * -1)}:host([variant=floating][data-bottom-nav]) .bottom-bar{border:var(--border) solid var(--_panel-border-color);border-radius:var(--_panel-radius);box-shadow:var(--_panel-shadow)}:host([variant=floating][data-bottom-nav])>nav{top:var(--size-2)}:host([variant=floating][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--size-2)}:host([variant=floating][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--size-2)}:host([variant=floating][data-preview-mode][data-bottom-nav]) .bottom-bar{bottom:var(--size-2);inset-inline:var(--size-2);width:auto}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav{top:var(--size-1)}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--size-1)}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--size-1)}:host([variant=inset]){--_panel-bg:var(--color-contrast-50);--_panel-shadow:none;--_panel-border-color:transparent}}`;exports.default=e;
|
|
1
|
+
var e=`.sidebar-logo[hidden]{min-width:0;min-height:0;margin:0;display:none}@layer refine.base{:host{--_sidebar-width:var(--sidebar-width,16rem);--_sidebar-collapsed-width:var(--sidebar-collapsed-width,3.5rem);--_sidebar-transition:var(--transition-normal);--_panel-bg:var(--sidebar-bg,var(--color-canvas));--_panel-blur:var(--sidebar-panel-blur,var(--blur-md));--_panel-border-color:var(--sidebar-border-color,var(--color-divider));--_panel-radius:var(--sidebar-radius,var(--rounded-lg));--_panel-shadow:var(--sidebar-shadow,var(--shadow-md));z-index:var(--sidebar-z-index,1);box-sizing:border-box;width:100%;min-width:var(--size-2xs);max-width:var(--_sidebar-width);height:100%;min-height:0;transition:max-width var(--_sidebar-transition), min-width var(--_sidebar-transition);will-change:max-width;display:block;position:relative;overflow:visible}:host>nav{box-sizing:border-box;background:var(--_panel-bg);width:100%;height:100%;min-height:0;-webkit-backdrop-filter:blur(var(--_panel-blur));backdrop-filter:blur(var(--_panel-blur));flex-direction:column;display:flex;position:relative;overflow:hidden}:host>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right:var(--border) solid var(--_panel-border-color)}:host>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:var(--border) solid var(--_panel-border-color)}:host(:not([data-bottom-nav]))>nav{overflow:visible}.mobile-backdrop{z-index:calc(var(--z-sticky) + 1);background:color-mix(in oklch, var(--color-contrast-950) 36%, transparent);border:0;width:100%;height:100%;display:none;position:absolute;inset:0}:host([data-bottom-nav][data-mobile-open]) .mobile-backdrop{z-index:calc(var(--z-sticky) + 1);width:100vw;height:100dvh;display:block;position:fixed;inset:0}:host([data-preview-mode][data-bottom-nav][data-mobile-open]) .mobile-backdrop{width:100%;height:100%;position:absolute;inset:0}:host([data-no-transition]),:host([data-no-transition])>nav{transition:none}:host([data-collapsed]){min-width:var(--_sidebar-collapsed-width);max-width:var(--_sidebar-collapsed-width)}:host([data-bottom-nav]){z-index:calc(var(--z-sticky) + 2);width:100%;min-width:0;max-width:100%;height:var(--sidebar-bottom-nav-height,3.75rem);pointer-events:auto;position:fixed;bottom:0;left:0;right:0}:host([data-preview-mode][data-bottom-nav]){pointer-events:none;width:auto;height:auto;position:absolute;inset:0}:host([data-bottom-nav])>nav{z-index:calc(var(--z-sticky) + 3);width:min(var(--_sidebar-width), 85vw);max-width:85vw;max-height:100dvh;transition:transform var(--transition-normal);position:fixed;top:0;bottom:0;transform:translate(-104%)}:host([data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}:host([data-preview-mode][data-bottom-nav])>nav{z-index:calc(var(--z-sticky) + 3);pointer-events:auto;max-height:100%;position:absolute;top:0;bottom:0}:host([data-preview-mode][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([data-preview-mode][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}:host(:dir(rtl)[data-bottom-nav])>nav{transform:translate(104%)}:host([data-bottom-nav][data-mobile-open])>nav{transform:translate(0)}.bottom-bar{box-sizing:border-box;gap:var(--size-1);width:100%;height:100%;padding:var(--size-1);pointer-events:none;background:var(--_panel-bg);border-top:var(--border) solid var(--_panel-border-color);box-shadow:var(--shadow-sm);opacity:0;-webkit-backdrop-filter:blur(var(--_panel-blur));backdrop-filter:blur(var(--_panel-blur));transition:opacity var(--_sidebar-transition), transform var(--_sidebar-transition), display var(--_sidebar-transition) allow-discrete;justify-content:space-around;align-items:stretch;display:flex;transform:translateY(100%)}.bottom-bar[hidden]{display:none}:host([data-bottom-nav]) .bottom-bar{pointer-events:auto;opacity:1;transform:translateY(0)}:host([data-preview-mode][data-bottom-nav]) .bottom-bar{z-index:calc(var(--z-sticky) + 2);height:var(--sidebar-bottom-nav-height,3.75rem);position:absolute;bottom:0;left:0;right:0}:host([data-bottom-nav][data-mobile-open]) .bottom-bar{z-index:calc(var(--z-sticky) + 1);pointer-events:none;opacity:0;transform:translateY(100%)}.bottom-tab{all:unset;box-sizing:border-box;gap:var(--size-0-5);min-width:0;padding:var(--size-1) var(--size-1-5);color:var(--sidebar-item-color,var(--color-contrast-700));cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.bottom-tab:hover,.bottom-tab:focus-visible{color:var(--sidebar-item-hover-color,var(--color-contrast-900));outline:var(--focus-ring);outline-offset:1px;background:var(--sidebar-item-hover-bg,var(--color-contrast-100))}.bottom-tab:disabled{color:var(--sidebar-item-disabled-color,var(--color-contrast-400));cursor:not-allowed;opacity:.7}.bottom-tab-active,.bottom-tab[data-active=true]{color:var(--sidebar-item-active-color,var(--color-primary));background:var(--sidebar-item-active-bg,var(--color-primary-100,color-mix(in oklch, var(--color-primary) 12%, transparent)))}.bottom-tab-active:before,.bottom-tab[data-active=true]:before{display:none}.bottom-tab-icon{width:var(--size-5);height:var(--size-5);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bottom-tab-label{text-overflow:ellipsis;min-width:0;font-size:var(--text-xs);white-space:nowrap;overflow:hidden}.sidebar-header{box-sizing:border-box;gap:var(--size-2);height:var(--sidebar-header-height,var(--size-16));min-height:var(--sidebar-header-height,var(--size-16));padding:var(--sidebar-header-padding,var(--size-3));border-bottom:var(--border) solid var(--color-contrast-200);justify-content:space-between;align-items:center;display:flex}.sidebar-header .sidebar-header-content{flex:1;min-width:0;display:block;overflow:hidden}:host([data-collapsed]) .sidebar-header{gap:var(--size-2);flex-direction:column;justify-content:flex-start;align-items:center}:host([data-collapsed]) .sidebar-header .sidebar-header-content{display:none}.sidebar-logo{min-width:var(--size-8);min-height:var(--size-8);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logo:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:var(--size-2)}.sidebar-logo:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:var(--size-2)}.sidebar-logo:empty{display:none}:host([data-collapsed]) .sidebar-logo{margin-block:var(--size-1)}:host([data-collapsed]) .sidebar-logo:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:0}:host([data-collapsed]) .sidebar-logo:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:0}.sidebar-content{gap:var(--size-2);min-width:0;padding:var(--size-4);scrollbar-width:thin;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;display:grid;overflow:clip auto}.sidebar-footer{padding:var(--size-4);border-top:var(--border) solid var(--color-contrast-200);flex-shrink:0}.toggle-btn{all:unset;z-index:1;box-sizing:border-box;width:var(--size-8);height:var(--size-8);color:var(--sidebar-toggle-color,var(--color-contrast-600));cursor:pointer;background:var(--sidebar-toggle-bg,var(--_panel-bg));border:var(--border) solid var(--sidebar-toggle-border-color,var(--_panel-border-color));border-radius:var(--rounded-full);box-shadow:var(--shadow-sm);transition:color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);top:var(--sidebar-toggle-offset,var(--size-4));justify-content:center;align-items:center;display:inline-flex;position:absolute;transform:translate(50%)}.toggle-btn:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.toggle-btn:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}:host(:dir(rtl)) .toggle-btn{transform:translate(-50%)}:host(:not([data-has-logo])) .toggle-btn{position:static;transform:none}:host(:not([data-has-logo])) .toggle-btn:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}:host(:not([data-has-logo])) .toggle-btn:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}:host([data-collapsed]:not([data-has-logo])) .toggle-btn:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:0}:host([data-collapsed]:not([data-has-logo])) .toggle-btn:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:0}.toggle-btn:hover{color:var(--sidebar-toggle-hover-color,var(--color-contrast-900));background:var(--sidebar-toggle-hover-bg,var(--color-contrast-100));box-shadow:var(--shadow-md)}.toggle-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--size-0-5)}.toggle-icon{justify-content:center;align-items:center;display:flex}:host([data-bottom-nav]) .toggle-btn{display:none}}@layer refine.variants{:host([variant=floating]){--_panel-radius:var(--rounded-lg);height:calc(100% - var(--size-6));margin:var(--size-3)}:host([variant=floating])>nav{border:var(--border) solid var(--_panel-border-color);border-radius:var(--_panel-radius)}:host([variant=floating][data-bottom-nav]){bottom:var(--size-2);inset-inline:var(--size-2);width:auto;max-width:none}:host([variant=floating][data-preview-mode][data-bottom-nav]){inset:calc(var(--size-1) * -1)}:host([variant=floating][data-bottom-nav]) .bottom-bar{border:var(--border) solid var(--_panel-border-color);border-radius:var(--_panel-radius);box-shadow:var(--_panel-shadow)}:host([variant=floating][data-bottom-nav])>nav{top:var(--size-2)}:host([variant=floating][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--size-2)}:host([variant=floating][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--size-2)}:host([variant=floating][data-preview-mode][data-bottom-nav]) .bottom-bar{bottom:var(--size-2);inset-inline:var(--size-2);width:auto}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav{top:var(--size-1)}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--size-1)}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--size-1)}:host([variant=inset]){--_panel-bg:var(--color-contrast-50);--_panel-shadow:none;--_panel-border-color:transparent}}`;exports.default=e;
|
|
2
2
|
//# sourceMappingURL=sidebar.css.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.css.cjs","names":[],"sources":["../../../src/layout/sidebar/sidebar.css?inline"],"sourcesContent":[".sidebar-logo[hidden] {\n display: none;\n min-width: 0;\n min-height: 0;\n margin: 0;\n}\n\n/*\n * Simplified and unified sidebar CSS:\n * - Grouped collapsed/expanded state rules\n * - Consistent use of CSS variables for spacing, color, and transitions\n * - Removed redundant or legacy rules\n * - Clarified variant handling\n */\n\n@layer refine.base {\n :host {\n --_sidebar-width: var(--sidebar-width, 16rem);\n --_sidebar-collapsed-width: var(--sidebar-collapsed-width, 3.5rem);\n --_sidebar-transition: var(--transition-normal);\n --_panel-bg: var(--sidebar-bg, var(--color-canvas));\n --_panel-blur: var(--sidebar-panel-blur, var(--blur-md));\n --_panel-border-color: var(--sidebar-border-color, var(--color-divider));\n --_panel-radius: var(--sidebar-radius, var(--rounded-lg));\n --_panel-shadow: var(--sidebar-shadow, var(--shadow-md));\n\n box-sizing: border-box;\n display: block;\n width: 100%;\n min-width: var(--size-2xs);\n max-width: var(--_sidebar-width);\n height: 100%;\n min-height: 0;\n overflow: visible;\n transition:\n max-width var(--_sidebar-transition),\n min-width var(--_sidebar-transition);\n will-change: max-width;\n }\n\n :host > nav {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n background: var(--_panel-bg);\n border-inline-end: var(--border) solid var(--_panel-border-color);\n backdrop-filter: blur(var(--_panel-blur));\n }\n\n .mobile-backdrop {\n position: absolute;\n inset: 0;\n z-index: calc(var(--z-sticky) + 1);\n display: none;\n width: 100%;\n height: 100%;\n background: color-mix(in oklch, var(--color-contrast-950) 36%, transparent);\n border: 0;\n }\n\n :host([data-bottom-nav][data-mobile-open]) .mobile-backdrop {\n position: fixed;\n inset: 0;\n z-index: calc(var(--z-sticky) + 1);\n display: block;\n width: 100vw;\n height: 100dvh;\n }\n\n :host([data-preview-mode][data-bottom-nav][data-mobile-open]) .mobile-backdrop {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n }\n\n :host([data-no-transition]),\n :host([data-no-transition]) > nav {\n transition: none;\n }\n\n :host([data-collapsed]) {\n min-width: var(--_sidebar-collapsed-width);\n max-width: var(--_sidebar-collapsed-width);\n }\n\n :host([data-bottom-nav]) {\n position: fixed;\n inset-block-end: 0;\n inset-inline: 0;\n z-index: calc(var(--z-sticky) + 2);\n width: 100%;\n min-width: 0;\n max-width: 100%;\n height: var(--sidebar-bottom-nav-height, 3.75rem);\n pointer-events: auto;\n }\n\n /* Preview mode: constrain bottom-nav to container bounds */\n :host([data-preview-mode][data-bottom-nav]) {\n position: absolute;\n inset: 0;\n width: auto;\n height: auto;\n pointer-events: none;\n }\n\n :host([data-bottom-nav]) > nav {\n position: fixed;\n inset-block: 0;\n inset-inline-start: 0;\n z-index: calc(var(--z-sticky) + 3);\n width: min(var(--_sidebar-width), 85vw);\n max-width: 85vw;\n max-height: 100dvh;\n transform: translateX(-104%);\n transition: transform var(--transition-normal);\n }\n\n /* Preview mode: use absolute positioning so drawer stays within container */\n :host([data-preview-mode][data-bottom-nav]) > nav {\n position: absolute;\n inset-block: 0;\n inset-inline-start: 0;\n z-index: calc(var(--z-sticky) + 3);\n max-height: 100%;\n pointer-events: auto;\n }\n\n :host(:dir(rtl)[data-bottom-nav]) > nav {\n transform: translateX(104%);\n }\n\n :host([data-bottom-nav][data-mobile-open]) > nav {\n transform: translateX(0);\n }\n\n .bottom-bar {\n display: flex;\n gap: var(--size-1);\n align-items: stretch;\n justify-content: space-around;\n width: 100%;\n height: 100%;\n padding: var(--size-1);\n pointer-events: none;\n background: var(--_panel-bg);\n border-top: var(--border) solid var(--_panel-border-color);\n box-shadow: var(--shadow-sm);\n opacity: 0;\n backdrop-filter: blur(var(--_panel-blur));\n transform: translateY(100%);\n transition:\n opacity var(--_sidebar-transition),\n transform var(--_sidebar-transition),\n display var(--_sidebar-transition) allow-discrete;\n }\n\n :host([data-bottom-nav]) .bottom-bar {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0);\n }\n\n :host([data-preview-mode][data-bottom-nav]) .bottom-bar {\n position: absolute;\n inset-block-end: 0;\n inset-inline: 0;\n z-index: calc(var(--z-sticky) + 2);\n height: var(--sidebar-bottom-nav-height, 3.75rem);\n }\n\n :host([data-bottom-nav][data-mobile-open]) .bottom-bar {\n z-index: calc(var(--z-sticky) + 1);\n pointer-events: none;\n opacity: 0;\n transform: translateY(100%);\n }\n\n .bottom-tab {\n all: unset;\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 0;\n flex-direction: column;\n gap: var(--size-0-5);\n align-items: center;\n justify-content: center;\n min-width: 0;\n padding: var(--size-1) var(--size-1-5);\n color: var(--sidebar-item-color, var(--color-contrast-700));\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .bottom-tab:hover,\n .bottom-tab:focus-visible {\n color: var(--sidebar-item-hover-color, var(--color-contrast-900));\n outline: var(--focus-ring);\n outline-offset: 1px;\n background: var(--sidebar-item-hover-bg, var(--color-contrast-100));\n }\n\n .bottom-tab:disabled {\n color: var(--sidebar-item-disabled-color, var(--color-contrast-400));\n cursor: not-allowed;\n opacity: 0.7;\n }\n\n .bottom-tab-active,\n .bottom-tab[data-active='true'] {\n color: var(--sidebar-item-active-color, var(--color-primary));\n background: var(\n --sidebar-item-active-bg,\n var(--color-primary-100, color-mix(in oklch, var(--color-primary) 12%, transparent))\n );\n }\n\n .bottom-tab-active::before,\n .bottom-tab[data-active='true']::before {\n display: none;\n }\n\n .bottom-tab-icon {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n height: var(--size-5);\n }\n\n .bottom-tab-label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n white-space: nowrap;\n }\n\n .sidebar-header {\n display: flex;\n gap: var(--size-2);\n align-items: center;\n justify-content: space-between;\n min-height: var(--size-6);\n padding: var(--size-4);\n border-bottom: var(--border) solid var(--color-contrast-200);\n }\n\n .sidebar-header .sidebar-header-content {\n display: block;\n flex: 1 1 0%;\n min-width: 0;\n overflow: hidden;\n }\n\n :host([data-collapsed]) .sidebar-header {\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n justify-content: flex-start;\n min-height: unset;\n padding-block: var(--size-2);\n padding-inline: var(--size-2);\n }\n\n :host([data-collapsed]) .sidebar-header .sidebar-header-content {\n display: none;\n }\n\n .sidebar-logo {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n min-width: var(--size-8);\n min-height: var(--size-8);\n margin-inline-end: var(--size-2);\n }\n\n .sidebar-logo:empty {\n display: none;\n }\n\n :host([data-collapsed]) .sidebar-logo {\n margin-block: var(--size-1);\n margin-inline-end: 0;\n }\n\n .sidebar-content {\n display: grid;\n flex: 1;\n grid-template-columns: minmax(0, 1fr);\n gap: var(--size-2);\n align-content: start;\n min-width: 0;\n padding: var(--size-4);\n overflow: clip auto;\n scrollbar-width: thin;\n }\n\n .sidebar-footer {\n flex-shrink: 0;\n padding: var(--size-4);\n border-top: var(--border) solid var(--color-contrast-200);\n }\n\n .toggle-btn {\n all: unset;\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-8);\n height: var(--size-8);\n color: var(--color-contrast-500);\n cursor: pointer;\n border-radius: var(--rounded-sm);\n transition:\n color var(--transition-fast),\n background var(--transition-fast);\n }\n\n .toggle-btn:hover {\n color: var(--color-contrast-800);\n background: var(--color-contrast-200);\n }\n\n .toggle-btn:focus-visible {\n outline: var(--focus-ring);\n }\n\n .toggle-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n transition: var(--_motion-transition, transform var(--_sidebar-transition));\n }\n\n :host([data-collapsed]) .toggle-icon {\n transform: rotate(180deg);\n }\n\n :host([data-bottom-nav]) .toggle-btn {\n display: none;\n }\n\n :host(:not([dir='rtl'])[data-collapsed]) .toggle-icon,\n :host(:dir(ltr)[data-collapsed]) .toggle-icon {\n transform: rotate(180deg);\n }\n\n :host(:dir(rtl)) .toggle-icon {\n transform: rotate(180deg);\n }\n\n :host(:dir(rtl)[data-collapsed]) .toggle-icon {\n transform: rotate(0deg);\n }\n}\n\n@layer refine.variants {\n /* ── floating ── */\n :host([variant='floating']) {\n --_panel-radius: var(--rounded-lg);\n height: calc(100% - var(--size-6));\n margin: var(--size-3);\n }\n\n :host([variant='floating']) > nav {\n border: var(--border) solid var(--_panel-border-color);\n border-radius: var(--_panel-radius);\n }\n\n :host([variant='floating'][data-bottom-nav]) {\n inset-block-end: var(--size-2);\n inset-inline: var(--size-2);\n width: auto;\n max-width: none;\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) {\n inset: calc(var(--size-1) * -1);\n }\n\n :host([variant='floating'][data-bottom-nav]) .bottom-bar {\n border: var(--border) solid var(--_panel-border-color);\n border-radius: var(--_panel-radius);\n box-shadow: var(--_panel-shadow);\n }\n\n :host([variant='floating'][data-bottom-nav]) > nav {\n inset-block-start: var(--size-2);\n inset-inline-start: var(--size-2);\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) .bottom-bar {\n inset-block-end: var(--size-2);\n inset-inline: var(--size-2);\n width: auto;\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) > nav {\n inset-block-start: var(--size-1);\n inset-inline-start: var(--size-1);\n }\n\n /* ── inset ── */\n :host([variant='inset']) {\n --_panel-bg: var(--color-contrast-50);\n --_panel-shadow: none;\n --_panel-border-color: transparent;\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"sidebar.css.cjs","names":[],"sources":["../../../src/layout/sidebar/sidebar.css?inline"],"sourcesContent":[".sidebar-logo[hidden] {\n display: none;\n min-width: 0;\n min-height: 0;\n margin: 0;\n}\n\n/*\n * Simplified and unified sidebar CSS:\n * - Grouped collapsed/expanded state rules\n * - Consistent use of CSS variables for spacing, color, and transitions\n * - Removed redundant or legacy rules\n * - Clarified variant handling\n */\n\n@layer refine.base {\n :host {\n --_sidebar-width: var(--sidebar-width, 16rem);\n --_sidebar-collapsed-width: var(--sidebar-collapsed-width, 3.5rem);\n --_sidebar-transition: var(--transition-normal);\n --_panel-bg: var(--sidebar-bg, var(--color-canvas));\n --_panel-blur: var(--sidebar-panel-blur, var(--blur-md));\n --_panel-border-color: var(--sidebar-border-color, var(--color-divider));\n --_panel-radius: var(--sidebar-radius, var(--rounded-lg));\n --_panel-shadow: var(--sidebar-shadow, var(--shadow-md));\n\n position: relative;\n z-index: var(--sidebar-z-index, 1);\n box-sizing: border-box;\n display: block;\n width: 100%;\n min-width: var(--size-2xs);\n max-width: var(--_sidebar-width);\n height: 100%;\n min-height: 0;\n overflow: visible;\n transition:\n max-width var(--_sidebar-transition),\n min-width var(--_sidebar-transition);\n will-change: max-width;\n }\n\n :host > nav {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n background: var(--_panel-bg);\n border-inline-end: var(--border) solid var(--_panel-border-color);\n backdrop-filter: blur(var(--_panel-blur));\n }\n\n :host(:not([data-bottom-nav])) > nav {\n overflow: visible;\n }\n\n .mobile-backdrop {\n position: absolute;\n inset: 0;\n z-index: calc(var(--z-sticky) + 1);\n display: none;\n width: 100%;\n height: 100%;\n background: color-mix(in oklch, var(--color-contrast-950) 36%, transparent);\n border: 0;\n }\n\n :host([data-bottom-nav][data-mobile-open]) .mobile-backdrop {\n position: fixed;\n inset: 0;\n z-index: calc(var(--z-sticky) + 1);\n display: block;\n width: 100vw;\n height: 100dvh;\n }\n\n :host([data-preview-mode][data-bottom-nav][data-mobile-open]) .mobile-backdrop {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n }\n\n :host([data-no-transition]),\n :host([data-no-transition]) > nav {\n transition: none;\n }\n\n :host([data-collapsed]) {\n min-width: var(--_sidebar-collapsed-width);\n max-width: var(--_sidebar-collapsed-width);\n }\n\n :host([data-bottom-nav]) {\n position: fixed;\n inset-block-end: 0;\n inset-inline: 0;\n z-index: calc(var(--z-sticky) + 2);\n width: 100%;\n min-width: 0;\n max-width: 100%;\n height: var(--sidebar-bottom-nav-height, 3.75rem);\n pointer-events: auto;\n }\n\n /* Preview mode: constrain bottom-nav to container bounds */\n :host([data-preview-mode][data-bottom-nav]) {\n position: absolute;\n inset: 0;\n width: auto;\n height: auto;\n pointer-events: none;\n }\n\n :host([data-bottom-nav]) > nav {\n position: fixed;\n inset-block: 0;\n inset-inline-start: 0;\n z-index: calc(var(--z-sticky) + 3);\n width: min(var(--_sidebar-width), 85vw);\n max-width: 85vw;\n max-height: 100dvh;\n transform: translateX(-104%);\n transition: transform var(--transition-normal);\n }\n\n /* Preview mode: use absolute positioning so drawer stays within container */\n :host([data-preview-mode][data-bottom-nav]) > nav {\n position: absolute;\n inset-block: 0;\n inset-inline-start: 0;\n z-index: calc(var(--z-sticky) + 3);\n max-height: 100%;\n pointer-events: auto;\n }\n\n :host(:dir(rtl)[data-bottom-nav]) > nav {\n transform: translateX(104%);\n }\n\n :host([data-bottom-nav][data-mobile-open]) > nav {\n transform: translateX(0);\n }\n\n .bottom-bar {\n box-sizing: border-box;\n display: flex;\n gap: var(--size-1);\n align-items: stretch;\n justify-content: space-around;\n width: 100%;\n height: 100%;\n padding: var(--size-1);\n pointer-events: none;\n background: var(--_panel-bg);\n border-top: var(--border) solid var(--_panel-border-color);\n box-shadow: var(--shadow-sm);\n opacity: 0;\n backdrop-filter: blur(var(--_panel-blur));\n transform: translateY(100%);\n transition:\n opacity var(--_sidebar-transition),\n transform var(--_sidebar-transition),\n display var(--_sidebar-transition) allow-discrete;\n }\n\n .bottom-bar[hidden] {\n display: none;\n }\n\n :host([data-bottom-nav]) .bottom-bar {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0);\n }\n\n :host([data-preview-mode][data-bottom-nav]) .bottom-bar {\n position: absolute;\n inset-block-end: 0;\n inset-inline: 0;\n z-index: calc(var(--z-sticky) + 2);\n height: var(--sidebar-bottom-nav-height, 3.75rem);\n }\n\n :host([data-bottom-nav][data-mobile-open]) .bottom-bar {\n z-index: calc(var(--z-sticky) + 1);\n pointer-events: none;\n opacity: 0;\n transform: translateY(100%);\n }\n\n .bottom-tab {\n all: unset;\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 0;\n flex-direction: column;\n gap: var(--size-0-5);\n align-items: center;\n justify-content: center;\n min-width: 0;\n padding: var(--size-1) var(--size-1-5);\n color: var(--sidebar-item-color, var(--color-contrast-700));\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .bottom-tab:hover,\n .bottom-tab:focus-visible {\n color: var(--sidebar-item-hover-color, var(--color-contrast-900));\n outline: var(--focus-ring);\n outline-offset: 1px;\n background: var(--sidebar-item-hover-bg, var(--color-contrast-100));\n }\n\n .bottom-tab:disabled {\n color: var(--sidebar-item-disabled-color, var(--color-contrast-400));\n cursor: not-allowed;\n opacity: 0.7;\n }\n\n .bottom-tab-active,\n .bottom-tab[data-active='true'] {\n color: var(--sidebar-item-active-color, var(--color-primary));\n background: var(\n --sidebar-item-active-bg,\n var(--color-primary-100, color-mix(in oklch, var(--color-primary) 12%, transparent))\n );\n }\n\n .bottom-tab-active::before,\n .bottom-tab[data-active='true']::before {\n display: none;\n }\n\n .bottom-tab-icon {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n height: var(--size-5);\n }\n\n .bottom-tab-label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n white-space: nowrap;\n }\n\n .sidebar-header {\n box-sizing: border-box;\n display: flex;\n gap: var(--size-2);\n align-items: center;\n justify-content: space-between;\n height: var(--sidebar-header-height, var(--size-16));\n min-height: var(--sidebar-header-height, var(--size-16));\n padding: var(--sidebar-header-padding, var(--size-3));\n border-bottom: var(--border) solid var(--color-contrast-200);\n }\n\n .sidebar-header .sidebar-header-content {\n display: block;\n flex: 1 1 0%;\n min-width: 0;\n overflow: hidden;\n }\n\n :host([data-collapsed]) .sidebar-header {\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n justify-content: flex-start;\n }\n\n :host([data-collapsed]) .sidebar-header .sidebar-header-content {\n display: none;\n }\n\n .sidebar-logo {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n min-width: var(--size-8);\n min-height: var(--size-8);\n margin-inline-end: var(--size-2);\n }\n\n .sidebar-logo:empty {\n display: none;\n }\n\n :host([data-collapsed]) .sidebar-logo {\n margin-block: var(--size-1);\n margin-inline-end: 0;\n }\n\n .sidebar-content {\n display: grid;\n flex: 1;\n grid-template-columns: minmax(0, 1fr);\n gap: var(--size-2);\n align-content: start;\n min-width: 0;\n padding: var(--size-4);\n overflow: clip auto;\n scrollbar-width: thin;\n }\n\n .sidebar-footer {\n flex-shrink: 0;\n padding: var(--size-4);\n border-top: var(--border) solid var(--color-contrast-200);\n }\n\n .toggle-btn {\n all: unset;\n position: absolute;\n inset-block-start: var(--sidebar-toggle-offset, var(--size-4));\n inset-inline-end: 0;\n z-index: 1;\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--size-8);\n height: var(--size-8);\n color: var(--sidebar-toggle-color, var(--color-contrast-600));\n cursor: pointer;\n background: var(--sidebar-toggle-bg, var(--_panel-bg));\n border: var(--border) solid var(--sidebar-toggle-border-color, var(--_panel-border-color));\n border-radius: var(--rounded-full);\n box-shadow: var(--shadow-sm);\n transform: translateX(50%);\n transition:\n color var(--transition-fast),\n background var(--transition-fast),\n box-shadow var(--transition-fast);\n }\n\n :host(:dir(rtl)) .toggle-btn {\n transform: translateX(-50%);\n }\n\n :host(:not([data-has-logo])) .toggle-btn {\n position: static;\n margin-inline-start: auto;\n transform: none;\n }\n\n :host([data-collapsed]:not([data-has-logo])) .toggle-btn {\n margin-inline-start: 0;\n }\n\n .toggle-btn:hover {\n color: var(--sidebar-toggle-hover-color, var(--color-contrast-900));\n background: var(--sidebar-toggle-hover-bg, var(--color-contrast-100));\n box-shadow: var(--shadow-md);\n }\n\n .toggle-btn:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--size-0-5);\n }\n\n .toggle-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n :host([data-bottom-nav]) .toggle-btn {\n display: none;\n }\n}\n\n@layer refine.variants {\n /* ── floating ── */\n :host([variant='floating']) {\n --_panel-radius: var(--rounded-lg);\n height: calc(100% - var(--size-6));\n margin: var(--size-3);\n }\n\n :host([variant='floating']) > nav {\n border: var(--border) solid var(--_panel-border-color);\n border-radius: var(--_panel-radius);\n }\n\n :host([variant='floating'][data-bottom-nav]) {\n inset-block-end: var(--size-2);\n inset-inline: var(--size-2);\n width: auto;\n max-width: none;\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) {\n inset: calc(var(--size-1) * -1);\n }\n\n :host([variant='floating'][data-bottom-nav]) .bottom-bar {\n border: var(--border) solid var(--_panel-border-color);\n border-radius: var(--_panel-radius);\n box-shadow: var(--_panel-shadow);\n }\n\n :host([variant='floating'][data-bottom-nav]) > nav {\n inset-block-start: var(--size-2);\n inset-inline-start: var(--size-2);\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) .bottom-bar {\n inset-block-end: var(--size-2);\n inset-inline: var(--size-2);\n width: auto;\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) > nav {\n inset-block-start: var(--size-1);\n inset-inline-start: var(--size-1);\n }\n\n /* ── inset ── */\n :host([variant='inset']) {\n --_panel-bg: var(--color-contrast-50);\n --_panel-shadow: none;\n --_panel-border-color: transparent;\n }\n}\n"],"mappings":""}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/layout/sidebar/sidebar.css?inline
|
|
2
|
-
var e = ".sidebar-logo[hidden]{min-width:0;min-height:0;margin:0;display:none}@layer refine.base{:host{--_sidebar-width:var(--sidebar-width,16rem);--_sidebar-collapsed-width:var(--sidebar-collapsed-width,3.5rem);--_sidebar-transition:var(--transition-normal);--_panel-bg:var(--sidebar-bg,var(--color-canvas));--_panel-blur:var(--sidebar-panel-blur,var(--blur-md));--_panel-border-color:var(--sidebar-border-color,var(--color-divider));--_panel-radius:var(--sidebar-radius,var(--rounded-lg));--_panel-shadow:var(--sidebar-shadow,var(--shadow-md));box-sizing:border-box;width:100%;min-width:var(--size-2xs);max-width:var(--_sidebar-width);height:100%;min-height:0;transition:max-width var(--_sidebar-transition), min-width var(--_sidebar-transition);will-change:max-width;display:block;overflow:visible}:host>nav{box-sizing:border-box;background:var(--_panel-bg);width:100%;height:100%;min-height:0;-webkit-backdrop-filter:blur(var(--_panel-blur));backdrop-filter:blur(var(--_panel-blur));flex-direction:column;display:flex;position:relative;overflow:hidden}:host>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right:var(--border) solid var(--_panel-border-color)}:host>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:var(--border) solid var(--_panel-border-color)}.mobile-backdrop{z-index:calc(var(--z-sticky) + 1);background:color-mix(in oklch, var(--color-contrast-950) 36%, transparent);border:0;width:100%;height:100%;display:none;position:absolute;inset:0}:host([data-bottom-nav][data-mobile-open]) .mobile-backdrop{z-index:calc(var(--z-sticky) + 1);width:100vw;height:100dvh;display:block;position:fixed;inset:0}:host([data-preview-mode][data-bottom-nav][data-mobile-open]) .mobile-backdrop{width:100%;height:100%;position:absolute;inset:0}:host([data-no-transition]),:host([data-no-transition])>nav{transition:none}:host([data-collapsed]){min-width:var(--_sidebar-collapsed-width);max-width:var(--_sidebar-collapsed-width)}:host([data-bottom-nav]){z-index:calc(var(--z-sticky) + 2);width:100%;min-width:0;max-width:100%;height:var(--sidebar-bottom-nav-height,3.75rem);pointer-events:auto;position:fixed;bottom:0;left:0;right:0}:host([data-preview-mode][data-bottom-nav]){pointer-events:none;width:auto;height:auto;position:absolute;inset:0}:host([data-bottom-nav])>nav{z-index:calc(var(--z-sticky) + 3);width:min(var(--_sidebar-width), 85vw);max-width:85vw;max-height:100dvh;transition:transform var(--transition-normal);position:fixed;top:0;bottom:0;transform:translate(-104%)}:host([data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}:host([data-preview-mode][data-bottom-nav])>nav{z-index:calc(var(--z-sticky) + 3);pointer-events:auto;max-height:100%;position:absolute;top:0;bottom:0}:host([data-preview-mode][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([data-preview-mode][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}:host(:dir(rtl)[data-bottom-nav])>nav{transform:translate(104%)}:host([data-bottom-nav][data-mobile-open])>nav{transform:translate(0)}.bottom-bar{gap:var(--size-1);width:100%;height:100%;padding:var(--size-1);pointer-events:none;background:var(--_panel-bg);border-top:var(--border) solid var(--_panel-border-color);box-shadow:var(--shadow-sm);opacity:0;-webkit-backdrop-filter:blur(var(--_panel-blur));backdrop-filter:blur(var(--_panel-blur));transition:opacity var(--_sidebar-transition), transform var(--_sidebar-transition), display var(--_sidebar-transition) allow-discrete;justify-content:space-around;align-items:stretch;display:flex;transform:translateY(100%)}:host([data-bottom-nav]) .bottom-bar{pointer-events:auto;opacity:1;transform:translateY(0)}:host([data-preview-mode][data-bottom-nav]) .bottom-bar{z-index:calc(var(--z-sticky) + 2);height:var(--sidebar-bottom-nav-height,3.75rem);position:absolute;bottom:0;left:0;right:0}:host([data-bottom-nav][data-mobile-open]) .bottom-bar{z-index:calc(var(--z-sticky) + 1);pointer-events:none;opacity:0;transform:translateY(100%)}.bottom-tab{all:unset;box-sizing:border-box;gap:var(--size-0-5);min-width:0;padding:var(--size-1) var(--size-1-5);color:var(--sidebar-item-color,var(--color-contrast-700));cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.bottom-tab:hover,.bottom-tab:focus-visible{color:var(--sidebar-item-hover-color,var(--color-contrast-900));outline:var(--focus-ring);outline-offset:1px;background:var(--sidebar-item-hover-bg,var(--color-contrast-100))}.bottom-tab:disabled{color:var(--sidebar-item-disabled-color,var(--color-contrast-400));cursor:not-allowed;opacity:.7}.bottom-tab-active,.bottom-tab[data-active=true]{color:var(--sidebar-item-active-color,var(--color-primary));background:var(--sidebar-item-active-bg,var(--color-primary-100,color-mix(in oklch, var(--color-primary) 12%, transparent)))}.bottom-tab-active:before,.bottom-tab[data-active=true]:before{display:none}.bottom-tab-icon{width:var(--size-5);height:var(--size-5);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bottom-tab-label{text-overflow:ellipsis;min-width:0;font-size:var(--text-xs);white-space:nowrap;overflow:hidden}.sidebar-header{gap:var(--size-2);min-height:var(--size-6);padding:var(--size-4);border-bottom:var(--border) solid var(--color-contrast-200);justify-content:space-between;align-items:center;display:flex}.sidebar-header .sidebar-header-content{flex:1;min-width:0;display:block;overflow:hidden}:host([data-collapsed]) .sidebar-header{gap:var(--size-2);min-height:unset;padding-block:var(--size-2);padding-inline:var(--size-2);flex-direction:column;justify-content:flex-start;align-items:center}:host([data-collapsed]) .sidebar-header .sidebar-header-content{display:none}.sidebar-logo{min-width:var(--size-8);min-height:var(--size-8);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logo:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:var(--size-2)}.sidebar-logo:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:var(--size-2)}.sidebar-logo:empty{display:none}:host([data-collapsed]) .sidebar-logo{margin-block:var(--size-1)}:host([data-collapsed]) .sidebar-logo:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:0}:host([data-collapsed]) .sidebar-logo:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:0}.sidebar-content{gap:var(--size-2);min-width:0;padding:var(--size-4);scrollbar-width:thin;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;display:grid;overflow:clip auto}.sidebar-footer{padding:var(--size-4);border-top:var(--border) solid var(--color-contrast-200);flex-shrink:0}.toggle-btn{all:unset;box-sizing:border-box;width:var(--size-8);height:var(--size-8);color:var(--color-contrast-500);cursor:pointer;border-radius:var(--rounded-sm);transition:color var(--transition-fast), background var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toggle-btn:hover{color:var(--color-contrast-800);background:var(--color-contrast-200)}.toggle-btn:focus-visible{outline:var(--focus-ring)}.toggle-icon{transition:var(--_motion-transition,transform var(--_sidebar-transition));justify-content:center;align-items:center;display:flex}:host([data-collapsed]) .toggle-icon{transform:rotate(180deg)}:host([data-bottom-nav]) .toggle-btn{display:none}:host(:not([dir=rtl])[data-collapsed]) .toggle-icon,:host(:dir(ltr)[data-collapsed]) .toggle-icon,:host(:dir(rtl)) .toggle-icon{transform:rotate(180deg)}:host(:dir(rtl)[data-collapsed]) .toggle-icon{transform:rotate(0)}}@layer refine.variants{:host([variant=floating]){--_panel-radius:var(--rounded-lg);height:calc(100% - var(--size-6));margin:var(--size-3)}:host([variant=floating])>nav{border:var(--border) solid var(--_panel-border-color);border-radius:var(--_panel-radius)}:host([variant=floating][data-bottom-nav]){bottom:var(--size-2);inset-inline:var(--size-2);width:auto;max-width:none}:host([variant=floating][data-preview-mode][data-bottom-nav]){inset:calc(var(--size-1) * -1)}:host([variant=floating][data-bottom-nav]) .bottom-bar{border:var(--border) solid var(--_panel-border-color);border-radius:var(--_panel-radius);box-shadow:var(--_panel-shadow)}:host([variant=floating][data-bottom-nav])>nav{top:var(--size-2)}:host([variant=floating][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--size-2)}:host([variant=floating][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--size-2)}:host([variant=floating][data-preview-mode][data-bottom-nav]) .bottom-bar{bottom:var(--size-2);inset-inline:var(--size-2);width:auto}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav{top:var(--size-1)}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--size-1)}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--size-1)}:host([variant=inset]){--_panel-bg:var(--color-contrast-50);--_panel-shadow:none;--_panel-border-color:transparent}}";
|
|
2
|
+
var e = ".sidebar-logo[hidden]{min-width:0;min-height:0;margin:0;display:none}@layer refine.base{:host{--_sidebar-width:var(--sidebar-width,16rem);--_sidebar-collapsed-width:var(--sidebar-collapsed-width,3.5rem);--_sidebar-transition:var(--transition-normal);--_panel-bg:var(--sidebar-bg,var(--color-canvas));--_panel-blur:var(--sidebar-panel-blur,var(--blur-md));--_panel-border-color:var(--sidebar-border-color,var(--color-divider));--_panel-radius:var(--sidebar-radius,var(--rounded-lg));--_panel-shadow:var(--sidebar-shadow,var(--shadow-md));z-index:var(--sidebar-z-index,1);box-sizing:border-box;width:100%;min-width:var(--size-2xs);max-width:var(--_sidebar-width);height:100%;min-height:0;transition:max-width var(--_sidebar-transition), min-width var(--_sidebar-transition);will-change:max-width;display:block;position:relative;overflow:visible}:host>nav{box-sizing:border-box;background:var(--_panel-bg);width:100%;height:100%;min-height:0;-webkit-backdrop-filter:blur(var(--_panel-blur));backdrop-filter:blur(var(--_panel-blur));flex-direction:column;display:flex;position:relative;overflow:hidden}:host>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right:var(--border) solid var(--_panel-border-color)}:host>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left:var(--border) solid var(--_panel-border-color)}:host(:not([data-bottom-nav]))>nav{overflow:visible}.mobile-backdrop{z-index:calc(var(--z-sticky) + 1);background:color-mix(in oklch, var(--color-contrast-950) 36%, transparent);border:0;width:100%;height:100%;display:none;position:absolute;inset:0}:host([data-bottom-nav][data-mobile-open]) .mobile-backdrop{z-index:calc(var(--z-sticky) + 1);width:100vw;height:100dvh;display:block;position:fixed;inset:0}:host([data-preview-mode][data-bottom-nav][data-mobile-open]) .mobile-backdrop{width:100%;height:100%;position:absolute;inset:0}:host([data-no-transition]),:host([data-no-transition])>nav{transition:none}:host([data-collapsed]){min-width:var(--_sidebar-collapsed-width);max-width:var(--_sidebar-collapsed-width)}:host([data-bottom-nav]){z-index:calc(var(--z-sticky) + 2);width:100%;min-width:0;max-width:100%;height:var(--sidebar-bottom-nav-height,3.75rem);pointer-events:auto;position:fixed;bottom:0;left:0;right:0}:host([data-preview-mode][data-bottom-nav]){pointer-events:none;width:auto;height:auto;position:absolute;inset:0}:host([data-bottom-nav])>nav{z-index:calc(var(--z-sticky) + 3);width:min(var(--_sidebar-width), 85vw);max-width:85vw;max-height:100dvh;transition:transform var(--transition-normal);position:fixed;top:0;bottom:0;transform:translate(-104%)}:host([data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}:host([data-preview-mode][data-bottom-nav])>nav{z-index:calc(var(--z-sticky) + 3);pointer-events:auto;max-height:100%;position:absolute;top:0;bottom:0}:host([data-preview-mode][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:0}:host([data-preview-mode][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:0}:host(:dir(rtl)[data-bottom-nav])>nav{transform:translate(104%)}:host([data-bottom-nav][data-mobile-open])>nav{transform:translate(0)}.bottom-bar{box-sizing:border-box;gap:var(--size-1);width:100%;height:100%;padding:var(--size-1);pointer-events:none;background:var(--_panel-bg);border-top:var(--border) solid var(--_panel-border-color);box-shadow:var(--shadow-sm);opacity:0;-webkit-backdrop-filter:blur(var(--_panel-blur));backdrop-filter:blur(var(--_panel-blur));transition:opacity var(--_sidebar-transition), transform var(--_sidebar-transition), display var(--_sidebar-transition) allow-discrete;justify-content:space-around;align-items:stretch;display:flex;transform:translateY(100%)}.bottom-bar[hidden]{display:none}:host([data-bottom-nav]) .bottom-bar{pointer-events:auto;opacity:1;transform:translateY(0)}:host([data-preview-mode][data-bottom-nav]) .bottom-bar{z-index:calc(var(--z-sticky) + 2);height:var(--sidebar-bottom-nav-height,3.75rem);position:absolute;bottom:0;left:0;right:0}:host([data-bottom-nav][data-mobile-open]) .bottom-bar{z-index:calc(var(--z-sticky) + 1);pointer-events:none;opacity:0;transform:translateY(100%)}.bottom-tab{all:unset;box-sizing:border-box;gap:var(--size-0-5);min-width:0;padding:var(--size-1) var(--size-1-5);color:var(--sidebar-item-color,var(--color-contrast-700));cursor:pointer;border-radius:var(--rounded-md);transition:background var(--transition-fast), color var(--transition-fast);flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;text-decoration:none;display:flex;position:relative}.bottom-tab:hover,.bottom-tab:focus-visible{color:var(--sidebar-item-hover-color,var(--color-contrast-900));outline:var(--focus-ring);outline-offset:1px;background:var(--sidebar-item-hover-bg,var(--color-contrast-100))}.bottom-tab:disabled{color:var(--sidebar-item-disabled-color,var(--color-contrast-400));cursor:not-allowed;opacity:.7}.bottom-tab-active,.bottom-tab[data-active=true]{color:var(--sidebar-item-active-color,var(--color-primary));background:var(--sidebar-item-active-bg,var(--color-primary-100,color-mix(in oklch, var(--color-primary) 12%, transparent)))}.bottom-tab-active:before,.bottom-tab[data-active=true]:before{display:none}.bottom-tab-icon{width:var(--size-5);height:var(--size-5);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.bottom-tab-label{text-overflow:ellipsis;min-width:0;font-size:var(--text-xs);white-space:nowrap;overflow:hidden}.sidebar-header{box-sizing:border-box;gap:var(--size-2);height:var(--sidebar-header-height,var(--size-16));min-height:var(--sidebar-header-height,var(--size-16));padding:var(--sidebar-header-padding,var(--size-3));border-bottom:var(--border) solid var(--color-contrast-200);justify-content:space-between;align-items:center;display:flex}.sidebar-header .sidebar-header-content{flex:1;min-width:0;display:block;overflow:hidden}:host([data-collapsed]) .sidebar-header{gap:var(--size-2);flex-direction:column;justify-content:flex-start;align-items:center}:host([data-collapsed]) .sidebar-header .sidebar-header-content{display:none}.sidebar-logo{min-width:var(--size-8);min-height:var(--size-8);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logo:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:var(--size-2)}.sidebar-logo:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:var(--size-2)}.sidebar-logo:empty{display:none}:host([data-collapsed]) .sidebar-logo{margin-block:var(--size-1)}:host([data-collapsed]) .sidebar-logo:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-right:0}:host([data-collapsed]) .sidebar-logo:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-left:0}.sidebar-content{gap:var(--size-2);min-width:0;padding:var(--size-4);scrollbar-width:thin;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;display:grid;overflow:clip auto}.sidebar-footer{padding:var(--size-4);border-top:var(--border) solid var(--color-contrast-200);flex-shrink:0}.toggle-btn{all:unset;z-index:1;box-sizing:border-box;width:var(--size-8);height:var(--size-8);color:var(--sidebar-toggle-color,var(--color-contrast-600));cursor:pointer;background:var(--sidebar-toggle-bg,var(--_panel-bg));border:var(--border) solid var(--sidebar-toggle-border-color,var(--_panel-border-color));border-radius:var(--rounded-full);box-shadow:var(--shadow-sm);transition:color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);top:var(--sidebar-toggle-offset,var(--size-4));justify-content:center;align-items:center;display:inline-flex;position:absolute;transform:translate(50%)}.toggle-btn:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:0}.toggle-btn:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:0}:host(:dir(rtl)) .toggle-btn{transform:translate(-50%)}:host(:not([data-has-logo])) .toggle-btn{position:static;transform:none}:host(:not([data-has-logo])) .toggle-btn:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}:host(:not([data-has-logo])) .toggle-btn:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}:host([data-collapsed]:not([data-has-logo])) .toggle-btn:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:0}:host([data-collapsed]:not([data-has-logo])) .toggle-btn:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:0}.toggle-btn:hover{color:var(--sidebar-toggle-hover-color,var(--color-contrast-900));background:var(--sidebar-toggle-hover-bg,var(--color-contrast-100));box-shadow:var(--shadow-md)}.toggle-btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--size-0-5)}.toggle-icon{justify-content:center;align-items:center;display:flex}:host([data-bottom-nav]) .toggle-btn{display:none}}@layer refine.variants{:host([variant=floating]){--_panel-radius:var(--rounded-lg);height:calc(100% - var(--size-6));margin:var(--size-3)}:host([variant=floating])>nav{border:var(--border) solid var(--_panel-border-color);border-radius:var(--_panel-radius)}:host([variant=floating][data-bottom-nav]){bottom:var(--size-2);inset-inline:var(--size-2);width:auto;max-width:none}:host([variant=floating][data-preview-mode][data-bottom-nav]){inset:calc(var(--size-1) * -1)}:host([variant=floating][data-bottom-nav]) .bottom-bar{border:var(--border) solid var(--_panel-border-color);border-radius:var(--_panel-radius);box-shadow:var(--_panel-shadow)}:host([variant=floating][data-bottom-nav])>nav{top:var(--size-2)}:host([variant=floating][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--size-2)}:host([variant=floating][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--size-2)}:host([variant=floating][data-preview-mode][data-bottom-nav]) .bottom-bar{bottom:var(--size-2);inset-inline:var(--size-2);width:auto}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav{top:var(--size-1)}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){left:var(--size-1)}:host([variant=floating][data-preview-mode][data-bottom-nav])>nav:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){right:var(--size-1)}:host([variant=inset]){--_panel-bg:var(--color-contrast-50);--_panel-shadow:none;--_panel-border-color:transparent}}";
|
|
3
3
|
//#endregion
|
|
4
4
|
export { e as default };
|
|
5
5
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.css.js","names":[],"sources":["../../../src/layout/sidebar/sidebar.css?inline"],"sourcesContent":[".sidebar-logo[hidden] {\n display: none;\n min-width: 0;\n min-height: 0;\n margin: 0;\n}\n\n/*\n * Simplified and unified sidebar CSS:\n * - Grouped collapsed/expanded state rules\n * - Consistent use of CSS variables for spacing, color, and transitions\n * - Removed redundant or legacy rules\n * - Clarified variant handling\n */\n\n@layer refine.base {\n :host {\n --_sidebar-width: var(--sidebar-width, 16rem);\n --_sidebar-collapsed-width: var(--sidebar-collapsed-width, 3.5rem);\n --_sidebar-transition: var(--transition-normal);\n --_panel-bg: var(--sidebar-bg, var(--color-canvas));\n --_panel-blur: var(--sidebar-panel-blur, var(--blur-md));\n --_panel-border-color: var(--sidebar-border-color, var(--color-divider));\n --_panel-radius: var(--sidebar-radius, var(--rounded-lg));\n --_panel-shadow: var(--sidebar-shadow, var(--shadow-md));\n\n box-sizing: border-box;\n display: block;\n width: 100%;\n min-width: var(--size-2xs);\n max-width: var(--_sidebar-width);\n height: 100%;\n min-height: 0;\n overflow: visible;\n transition:\n max-width var(--_sidebar-transition),\n min-width var(--_sidebar-transition);\n will-change: max-width;\n }\n\n :host > nav {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n background: var(--_panel-bg);\n border-inline-end: var(--border) solid var(--_panel-border-color);\n backdrop-filter: blur(var(--_panel-blur));\n }\n\n .mobile-backdrop {\n position: absolute;\n inset: 0;\n z-index: calc(var(--z-sticky) + 1);\n display: none;\n width: 100%;\n height: 100%;\n background: color-mix(in oklch, var(--color-contrast-950) 36%, transparent);\n border: 0;\n }\n\n :host([data-bottom-nav][data-mobile-open]) .mobile-backdrop {\n position: fixed;\n inset: 0;\n z-index: calc(var(--z-sticky) + 1);\n display: block;\n width: 100vw;\n height: 100dvh;\n }\n\n :host([data-preview-mode][data-bottom-nav][data-mobile-open]) .mobile-backdrop {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n }\n\n :host([data-no-transition]),\n :host([data-no-transition]) > nav {\n transition: none;\n }\n\n :host([data-collapsed]) {\n min-width: var(--_sidebar-collapsed-width);\n max-width: var(--_sidebar-collapsed-width);\n }\n\n :host([data-bottom-nav]) {\n position: fixed;\n inset-block-end: 0;\n inset-inline: 0;\n z-index: calc(var(--z-sticky) + 2);\n width: 100%;\n min-width: 0;\n max-width: 100%;\n height: var(--sidebar-bottom-nav-height, 3.75rem);\n pointer-events: auto;\n }\n\n /* Preview mode: constrain bottom-nav to container bounds */\n :host([data-preview-mode][data-bottom-nav]) {\n position: absolute;\n inset: 0;\n width: auto;\n height: auto;\n pointer-events: none;\n }\n\n :host([data-bottom-nav]) > nav {\n position: fixed;\n inset-block: 0;\n inset-inline-start: 0;\n z-index: calc(var(--z-sticky) + 3);\n width: min(var(--_sidebar-width), 85vw);\n max-width: 85vw;\n max-height: 100dvh;\n transform: translateX(-104%);\n transition: transform var(--transition-normal);\n }\n\n /* Preview mode: use absolute positioning so drawer stays within container */\n :host([data-preview-mode][data-bottom-nav]) > nav {\n position: absolute;\n inset-block: 0;\n inset-inline-start: 0;\n z-index: calc(var(--z-sticky) + 3);\n max-height: 100%;\n pointer-events: auto;\n }\n\n :host(:dir(rtl)[data-bottom-nav]) > nav {\n transform: translateX(104%);\n }\n\n :host([data-bottom-nav][data-mobile-open]) > nav {\n transform: translateX(0);\n }\n\n .bottom-bar {\n display: flex;\n gap: var(--size-1);\n align-items: stretch;\n justify-content: space-around;\n width: 100%;\n height: 100%;\n padding: var(--size-1);\n pointer-events: none;\n background: var(--_panel-bg);\n border-top: var(--border) solid var(--_panel-border-color);\n box-shadow: var(--shadow-sm);\n opacity: 0;\n backdrop-filter: blur(var(--_panel-blur));\n transform: translateY(100%);\n transition:\n opacity var(--_sidebar-transition),\n transform var(--_sidebar-transition),\n display var(--_sidebar-transition) allow-discrete;\n }\n\n :host([data-bottom-nav]) .bottom-bar {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0);\n }\n\n :host([data-preview-mode][data-bottom-nav]) .bottom-bar {\n position: absolute;\n inset-block-end: 0;\n inset-inline: 0;\n z-index: calc(var(--z-sticky) + 2);\n height: var(--sidebar-bottom-nav-height, 3.75rem);\n }\n\n :host([data-bottom-nav][data-mobile-open]) .bottom-bar {\n z-index: calc(var(--z-sticky) + 1);\n pointer-events: none;\n opacity: 0;\n transform: translateY(100%);\n }\n\n .bottom-tab {\n all: unset;\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 0;\n flex-direction: column;\n gap: var(--size-0-5);\n align-items: center;\n justify-content: center;\n min-width: 0;\n padding: var(--size-1) var(--size-1-5);\n color: var(--sidebar-item-color, var(--color-contrast-700));\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .bottom-tab:hover,\n .bottom-tab:focus-visible {\n color: var(--sidebar-item-hover-color, var(--color-contrast-900));\n outline: var(--focus-ring);\n outline-offset: 1px;\n background: var(--sidebar-item-hover-bg, var(--color-contrast-100));\n }\n\n .bottom-tab:disabled {\n color: var(--sidebar-item-disabled-color, var(--color-contrast-400));\n cursor: not-allowed;\n opacity: 0.7;\n }\n\n .bottom-tab-active,\n .bottom-tab[data-active='true'] {\n color: var(--sidebar-item-active-color, var(--color-primary));\n background: var(\n --sidebar-item-active-bg,\n var(--color-primary-100, color-mix(in oklch, var(--color-primary) 12%, transparent))\n );\n }\n\n .bottom-tab-active::before,\n .bottom-tab[data-active='true']::before {\n display: none;\n }\n\n .bottom-tab-icon {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n height: var(--size-5);\n }\n\n .bottom-tab-label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n white-space: nowrap;\n }\n\n .sidebar-header {\n display: flex;\n gap: var(--size-2);\n align-items: center;\n justify-content: space-between;\n min-height: var(--size-6);\n padding: var(--size-4);\n border-bottom: var(--border) solid var(--color-contrast-200);\n }\n\n .sidebar-header .sidebar-header-content {\n display: block;\n flex: 1 1 0%;\n min-width: 0;\n overflow: hidden;\n }\n\n :host([data-collapsed]) .sidebar-header {\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n justify-content: flex-start;\n min-height: unset;\n padding-block: var(--size-2);\n padding-inline: var(--size-2);\n }\n\n :host([data-collapsed]) .sidebar-header .sidebar-header-content {\n display: none;\n }\n\n .sidebar-logo {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n min-width: var(--size-8);\n min-height: var(--size-8);\n margin-inline-end: var(--size-2);\n }\n\n .sidebar-logo:empty {\n display: none;\n }\n\n :host([data-collapsed]) .sidebar-logo {\n margin-block: var(--size-1);\n margin-inline-end: 0;\n }\n\n .sidebar-content {\n display: grid;\n flex: 1;\n grid-template-columns: minmax(0, 1fr);\n gap: var(--size-2);\n align-content: start;\n min-width: 0;\n padding: var(--size-4);\n overflow: clip auto;\n scrollbar-width: thin;\n }\n\n .sidebar-footer {\n flex-shrink: 0;\n padding: var(--size-4);\n border-top: var(--border) solid var(--color-contrast-200);\n }\n\n .toggle-btn {\n all: unset;\n box-sizing: border-box;\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-8);\n height: var(--size-8);\n color: var(--color-contrast-500);\n cursor: pointer;\n border-radius: var(--rounded-sm);\n transition:\n color var(--transition-fast),\n background var(--transition-fast);\n }\n\n .toggle-btn:hover {\n color: var(--color-contrast-800);\n background: var(--color-contrast-200);\n }\n\n .toggle-btn:focus-visible {\n outline: var(--focus-ring);\n }\n\n .toggle-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n transition: var(--_motion-transition, transform var(--_sidebar-transition));\n }\n\n :host([data-collapsed]) .toggle-icon {\n transform: rotate(180deg);\n }\n\n :host([data-bottom-nav]) .toggle-btn {\n display: none;\n }\n\n :host(:not([dir='rtl'])[data-collapsed]) .toggle-icon,\n :host(:dir(ltr)[data-collapsed]) .toggle-icon {\n transform: rotate(180deg);\n }\n\n :host(:dir(rtl)) .toggle-icon {\n transform: rotate(180deg);\n }\n\n :host(:dir(rtl)[data-collapsed]) .toggle-icon {\n transform: rotate(0deg);\n }\n}\n\n@layer refine.variants {\n /* ── floating ── */\n :host([variant='floating']) {\n --_panel-radius: var(--rounded-lg);\n height: calc(100% - var(--size-6));\n margin: var(--size-3);\n }\n\n :host([variant='floating']) > nav {\n border: var(--border) solid var(--_panel-border-color);\n border-radius: var(--_panel-radius);\n }\n\n :host([variant='floating'][data-bottom-nav]) {\n inset-block-end: var(--size-2);\n inset-inline: var(--size-2);\n width: auto;\n max-width: none;\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) {\n inset: calc(var(--size-1) * -1);\n }\n\n :host([variant='floating'][data-bottom-nav]) .bottom-bar {\n border: var(--border) solid var(--_panel-border-color);\n border-radius: var(--_panel-radius);\n box-shadow: var(--_panel-shadow);\n }\n\n :host([variant='floating'][data-bottom-nav]) > nav {\n inset-block-start: var(--size-2);\n inset-inline-start: var(--size-2);\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) .bottom-bar {\n inset-block-end: var(--size-2);\n inset-inline: var(--size-2);\n width: auto;\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) > nav {\n inset-block-start: var(--size-1);\n inset-inline-start: var(--size-1);\n }\n\n /* ── inset ── */\n :host([variant='inset']) {\n --_panel-bg: var(--color-contrast-50);\n --_panel-shadow: none;\n --_panel-border-color: transparent;\n }\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"sidebar.css.js","names":[],"sources":["../../../src/layout/sidebar/sidebar.css?inline"],"sourcesContent":[".sidebar-logo[hidden] {\n display: none;\n min-width: 0;\n min-height: 0;\n margin: 0;\n}\n\n/*\n * Simplified and unified sidebar CSS:\n * - Grouped collapsed/expanded state rules\n * - Consistent use of CSS variables for spacing, color, and transitions\n * - Removed redundant or legacy rules\n * - Clarified variant handling\n */\n\n@layer refine.base {\n :host {\n --_sidebar-width: var(--sidebar-width, 16rem);\n --_sidebar-collapsed-width: var(--sidebar-collapsed-width, 3.5rem);\n --_sidebar-transition: var(--transition-normal);\n --_panel-bg: var(--sidebar-bg, var(--color-canvas));\n --_panel-blur: var(--sidebar-panel-blur, var(--blur-md));\n --_panel-border-color: var(--sidebar-border-color, var(--color-divider));\n --_panel-radius: var(--sidebar-radius, var(--rounded-lg));\n --_panel-shadow: var(--sidebar-shadow, var(--shadow-md));\n\n position: relative;\n z-index: var(--sidebar-z-index, 1);\n box-sizing: border-box;\n display: block;\n width: 100%;\n min-width: var(--size-2xs);\n max-width: var(--_sidebar-width);\n height: 100%;\n min-height: 0;\n overflow: visible;\n transition:\n max-width var(--_sidebar-transition),\n min-width var(--_sidebar-transition);\n will-change: max-width;\n }\n\n :host > nav {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n min-height: 0;\n overflow: hidden;\n background: var(--_panel-bg);\n border-inline-end: var(--border) solid var(--_panel-border-color);\n backdrop-filter: blur(var(--_panel-blur));\n }\n\n :host(:not([data-bottom-nav])) > nav {\n overflow: visible;\n }\n\n .mobile-backdrop {\n position: absolute;\n inset: 0;\n z-index: calc(var(--z-sticky) + 1);\n display: none;\n width: 100%;\n height: 100%;\n background: color-mix(in oklch, var(--color-contrast-950) 36%, transparent);\n border: 0;\n }\n\n :host([data-bottom-nav][data-mobile-open]) .mobile-backdrop {\n position: fixed;\n inset: 0;\n z-index: calc(var(--z-sticky) + 1);\n display: block;\n width: 100vw;\n height: 100dvh;\n }\n\n :host([data-preview-mode][data-bottom-nav][data-mobile-open]) .mobile-backdrop {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n }\n\n :host([data-no-transition]),\n :host([data-no-transition]) > nav {\n transition: none;\n }\n\n :host([data-collapsed]) {\n min-width: var(--_sidebar-collapsed-width);\n max-width: var(--_sidebar-collapsed-width);\n }\n\n :host([data-bottom-nav]) {\n position: fixed;\n inset-block-end: 0;\n inset-inline: 0;\n z-index: calc(var(--z-sticky) + 2);\n width: 100%;\n min-width: 0;\n max-width: 100%;\n height: var(--sidebar-bottom-nav-height, 3.75rem);\n pointer-events: auto;\n }\n\n /* Preview mode: constrain bottom-nav to container bounds */\n :host([data-preview-mode][data-bottom-nav]) {\n position: absolute;\n inset: 0;\n width: auto;\n height: auto;\n pointer-events: none;\n }\n\n :host([data-bottom-nav]) > nav {\n position: fixed;\n inset-block: 0;\n inset-inline-start: 0;\n z-index: calc(var(--z-sticky) + 3);\n width: min(var(--_sidebar-width), 85vw);\n max-width: 85vw;\n max-height: 100dvh;\n transform: translateX(-104%);\n transition: transform var(--transition-normal);\n }\n\n /* Preview mode: use absolute positioning so drawer stays within container */\n :host([data-preview-mode][data-bottom-nav]) > nav {\n position: absolute;\n inset-block: 0;\n inset-inline-start: 0;\n z-index: calc(var(--z-sticky) + 3);\n max-height: 100%;\n pointer-events: auto;\n }\n\n :host(:dir(rtl)[data-bottom-nav]) > nav {\n transform: translateX(104%);\n }\n\n :host([data-bottom-nav][data-mobile-open]) > nav {\n transform: translateX(0);\n }\n\n .bottom-bar {\n box-sizing: border-box;\n display: flex;\n gap: var(--size-1);\n align-items: stretch;\n justify-content: space-around;\n width: 100%;\n height: 100%;\n padding: var(--size-1);\n pointer-events: none;\n background: var(--_panel-bg);\n border-top: var(--border) solid var(--_panel-border-color);\n box-shadow: var(--shadow-sm);\n opacity: 0;\n backdrop-filter: blur(var(--_panel-blur));\n transform: translateY(100%);\n transition:\n opacity var(--_sidebar-transition),\n transform var(--_sidebar-transition),\n display var(--_sidebar-transition) allow-discrete;\n }\n\n .bottom-bar[hidden] {\n display: none;\n }\n\n :host([data-bottom-nav]) .bottom-bar {\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0);\n }\n\n :host([data-preview-mode][data-bottom-nav]) .bottom-bar {\n position: absolute;\n inset-block-end: 0;\n inset-inline: 0;\n z-index: calc(var(--z-sticky) + 2);\n height: var(--sidebar-bottom-nav-height, 3.75rem);\n }\n\n :host([data-bottom-nav][data-mobile-open]) .bottom-bar {\n z-index: calc(var(--z-sticky) + 1);\n pointer-events: none;\n opacity: 0;\n transform: translateY(100%);\n }\n\n .bottom-tab {\n all: unset;\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex: 1 1 0;\n flex-direction: column;\n gap: var(--size-0-5);\n align-items: center;\n justify-content: center;\n min-width: 0;\n padding: var(--size-1) var(--size-1-5);\n color: var(--sidebar-item-color, var(--color-contrast-700));\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--rounded-md);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n .bottom-tab:hover,\n .bottom-tab:focus-visible {\n color: var(--sidebar-item-hover-color, var(--color-contrast-900));\n outline: var(--focus-ring);\n outline-offset: 1px;\n background: var(--sidebar-item-hover-bg, var(--color-contrast-100));\n }\n\n .bottom-tab:disabled {\n color: var(--sidebar-item-disabled-color, var(--color-contrast-400));\n cursor: not-allowed;\n opacity: 0.7;\n }\n\n .bottom-tab-active,\n .bottom-tab[data-active='true'] {\n color: var(--sidebar-item-active-color, var(--color-primary));\n background: var(\n --sidebar-item-active-bg,\n var(--color-primary-100, color-mix(in oklch, var(--color-primary) 12%, transparent))\n );\n }\n\n .bottom-tab-active::before,\n .bottom-tab[data-active='true']::before {\n display: none;\n }\n\n .bottom-tab-icon {\n display: inline-flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: var(--size-5);\n height: var(--size-5);\n }\n\n .bottom-tab-label {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--text-xs);\n white-space: nowrap;\n }\n\n .sidebar-header {\n box-sizing: border-box;\n display: flex;\n gap: var(--size-2);\n align-items: center;\n justify-content: space-between;\n height: var(--sidebar-header-height, var(--size-16));\n min-height: var(--sidebar-header-height, var(--size-16));\n padding: var(--sidebar-header-padding, var(--size-3));\n border-bottom: var(--border) solid var(--color-contrast-200);\n }\n\n .sidebar-header .sidebar-header-content {\n display: block;\n flex: 1 1 0%;\n min-width: 0;\n overflow: hidden;\n }\n\n :host([data-collapsed]) .sidebar-header {\n flex-direction: column;\n gap: var(--size-2);\n align-items: center;\n justify-content: flex-start;\n }\n\n :host([data-collapsed]) .sidebar-header .sidebar-header-content {\n display: none;\n }\n\n .sidebar-logo {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n min-width: var(--size-8);\n min-height: var(--size-8);\n margin-inline-end: var(--size-2);\n }\n\n .sidebar-logo:empty {\n display: none;\n }\n\n :host([data-collapsed]) .sidebar-logo {\n margin-block: var(--size-1);\n margin-inline-end: 0;\n }\n\n .sidebar-content {\n display: grid;\n flex: 1;\n grid-template-columns: minmax(0, 1fr);\n gap: var(--size-2);\n align-content: start;\n min-width: 0;\n padding: var(--size-4);\n overflow: clip auto;\n scrollbar-width: thin;\n }\n\n .sidebar-footer {\n flex-shrink: 0;\n padding: var(--size-4);\n border-top: var(--border) solid var(--color-contrast-200);\n }\n\n .toggle-btn {\n all: unset;\n position: absolute;\n inset-block-start: var(--sidebar-toggle-offset, var(--size-4));\n inset-inline-end: 0;\n z-index: 1;\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--size-8);\n height: var(--size-8);\n color: var(--sidebar-toggle-color, var(--color-contrast-600));\n cursor: pointer;\n background: var(--sidebar-toggle-bg, var(--_panel-bg));\n border: var(--border) solid var(--sidebar-toggle-border-color, var(--_panel-border-color));\n border-radius: var(--rounded-full);\n box-shadow: var(--shadow-sm);\n transform: translateX(50%);\n transition:\n color var(--transition-fast),\n background var(--transition-fast),\n box-shadow var(--transition-fast);\n }\n\n :host(:dir(rtl)) .toggle-btn {\n transform: translateX(-50%);\n }\n\n :host(:not([data-has-logo])) .toggle-btn {\n position: static;\n margin-inline-start: auto;\n transform: none;\n }\n\n :host([data-collapsed]:not([data-has-logo])) .toggle-btn {\n margin-inline-start: 0;\n }\n\n .toggle-btn:hover {\n color: var(--sidebar-toggle-hover-color, var(--color-contrast-900));\n background: var(--sidebar-toggle-hover-bg, var(--color-contrast-100));\n box-shadow: var(--shadow-md);\n }\n\n .toggle-btn:focus-visible {\n outline: var(--focus-ring);\n outline-offset: var(--size-0-5);\n }\n\n .toggle-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n :host([data-bottom-nav]) .toggle-btn {\n display: none;\n }\n}\n\n@layer refine.variants {\n /* ── floating ── */\n :host([variant='floating']) {\n --_panel-radius: var(--rounded-lg);\n height: calc(100% - var(--size-6));\n margin: var(--size-3);\n }\n\n :host([variant='floating']) > nav {\n border: var(--border) solid var(--_panel-border-color);\n border-radius: var(--_panel-radius);\n }\n\n :host([variant='floating'][data-bottom-nav]) {\n inset-block-end: var(--size-2);\n inset-inline: var(--size-2);\n width: auto;\n max-width: none;\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) {\n inset: calc(var(--size-1) * -1);\n }\n\n :host([variant='floating'][data-bottom-nav]) .bottom-bar {\n border: var(--border) solid var(--_panel-border-color);\n border-radius: var(--_panel-radius);\n box-shadow: var(--_panel-shadow);\n }\n\n :host([variant='floating'][data-bottom-nav]) > nav {\n inset-block-start: var(--size-2);\n inset-inline-start: var(--size-2);\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) .bottom-bar {\n inset-block-end: var(--size-2);\n inset-inline: var(--size-2);\n width: auto;\n }\n\n :host([variant='floating'][data-preview-mode][data-bottom-nav]) > nav {\n inset-block-start: var(--size-1);\n inset-inline-start: var(--size-1);\n }\n\n /* ── inset ── */\n :host([variant='inset']) {\n --_panel-bg: var(--color-contrast-50);\n --_panel-shadow: none;\n --_panel-border-color: transparent;\n }\n}\n"],"mappings":""}
|
|
@@ -6,6 +6,8 @@ type SidebarMobileSource = 'api' | 'responsive' | 'toggle';
|
|
|
6
6
|
type SidebarMode = 'bottom-nav' | 'collapsed' | 'default';
|
|
7
7
|
/** Context provided by `ore-sidebar` to its `ore-sidebar-group` and `ore-sidebar-item` children. */
|
|
8
8
|
export type SidebarContext = {
|
|
9
|
+
closeMobile: () => void;
|
|
10
|
+
closeOnSelect: Readable<boolean>;
|
|
9
11
|
collapsed: Readable<boolean>;
|
|
10
12
|
mobileOpen: Readable<boolean>;
|
|
11
13
|
mode: Readable<SidebarMode>;
|
|
@@ -45,20 +47,24 @@ export type OreSidebarGroupEvents = {
|
|
|
45
47
|
export type OreSidebarProps = {
|
|
46
48
|
/** CSS media query that switches the sidebar to bottom navigation mode */
|
|
47
49
|
'bottom-nav-at'?: string;
|
|
50
|
+
'close-on-select'?: boolean;
|
|
48
51
|
/** Controlled collapsed state */
|
|
49
52
|
collapsed?: boolean;
|
|
50
53
|
/** Whether the sidebar supports collapsing */
|
|
51
54
|
collapsible?: boolean;
|
|
55
|
+
'collapse-label'?: string;
|
|
52
56
|
/** Evaluate responsive and bottom-nav breakpoints against container width only. */
|
|
53
57
|
'container-breakpoints'?: boolean;
|
|
54
58
|
/** Initial collapsed state in uncontrolled mode */
|
|
55
59
|
'default-collapsed'?: boolean;
|
|
60
|
+
'expand-label'?: string;
|
|
56
61
|
/**
|
|
57
62
|
* Accessible label for the navigation landmark.
|
|
58
63
|
* Use to distinguish multiple navigation regions on a page.
|
|
59
64
|
* @default 'Sidebar navigation'
|
|
60
65
|
*/
|
|
61
66
|
label?: string;
|
|
67
|
+
'mobile-close-label'?: string;
|
|
62
68
|
/**
|
|
63
69
|
* CSS media query that, when it matches, automatically collapses the sidebar.
|
|
64
70
|
* Unset by default — no automatic collapse.
|
|
@@ -162,6 +168,8 @@ export declare const SIDEBAR_GROUP_TAG: "ore-sidebar-group";
|
|
|
162
168
|
export type OreSidebarItemProps = {
|
|
163
169
|
/** Whether this item represents the current page/section */
|
|
164
170
|
active?: boolean;
|
|
171
|
+
'bottom-nav'?: boolean;
|
|
172
|
+
'bottom-nav-label'?: string;
|
|
165
173
|
/** Whether this item is disabled */
|
|
166
174
|
disabled?: boolean;
|
|
167
175
|
/** Navigation href — renders an `<a>` when set, otherwise a `<button>` */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/layout/sidebar/sidebar.ts"],"names":[],"mappings":"AAcA,OAAO,
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/layout/sidebar/sidebar.ts"],"names":[],"mappings":"AAcA,OAAO,EAA8B,KAAK,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAG5F,OAAO,yBAAyB,CAAC;AASjC,KAAK,cAAc,GAAG,UAAU,GAAG,OAAO,CAAC;AAC3C,KAAK,qBAAqB,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC7D,KAAK,mBAAmB,GAAG,KAAK,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC3D,KAAK,WAAW,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,CAAC;AAqD1D,oGAAoG;AACpG,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7B,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9B,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC5B,OAAO,EAAE,QAAQ,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;CAC/C,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,WAAW,sDAAkD,CAAC;AAI3E,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG,WAAW,GACtC,eAAe,GAAG;IAChB,2CAA2C;IAC3C,WAAW,IAAI,IAAI,CAAC;IACpB,0CAA0C;IAC1C,UAAU,IAAI,IAAI,CAAC;IACnB,wCAAwC;IACxC,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,6CAA6C;IAC7C,MAAM,IAAI,IAAI,CAAC;IACf,4CAA4C;IAC5C,YAAY,IAAI,IAAI,CAAC;CACtB,CAAC;AAEJ,mCAAmC;AAEnC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,EAAE;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,qBAAqB,CAAA;KAAE,CAAC;IAC1E,oBAAoB,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,mBAAmB,CAAA;KAAE,CAAC;CACtE,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iCAAiC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,WAAW,EAAG,aAAsB,CAAC;AAshBlD,+BAA+B;AAC/B,MAAM,MAAM,oBAAoB,GAAG;IACjC,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,iBAAiB,EAAG,mBAA4B,CAAC;AA8E9D,8BAA8B;AAC9B,MAAM,MAAM,mBAAmB,GAAG;IAChC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,gBAAgB,EAAG,kBAA2B,CAAC"}
|
package/dist/list-item.cjs
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./styles/mixins/accessibility.css.cjs"),t=require("./shared/prop-bundles.cjs"),n=require("./list.cjs"),r=require("./content/list/_list-item-reveal.cjs"),i=require("./content/list/list-item.css.cjs");let a=require("@vielzeug/ore"),o=require("@vielzeug/ripple");var s=e=>e===`left`?`actions-left`:`actions-right`,c=`ore-list-item`;(0,a.define)(c,{props:{...t.disablableBundle,revealed:a.prop.oneOf([`left`,`right`],void 0),value:a.prop.string()},setup(e){let t=(0,a.getHost)(),i=(0,a.useEmit)(),c=(0,a.useSlots)(),l=(0,a.inject)(n.LIST_CTX),
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./styles/mixins/accessibility.css.cjs"),t=require("./shared/prop-bundles.cjs"),n=require("./list.cjs"),r=require("./content/list/_list-item-reveal.cjs"),i=require("./content/list/list-item.css.cjs");let a=require("@vielzeug/ore"),o=require("@vielzeug/ripple");var s=e=>e===`left`?`actions-left`:`actions-right`,c=`ore-list-item`;(0,a.define)(c,{props:{...t.disablableBundle,actionable:a.prop.bool(!1),revealed:a.prop.oneOf([`left`,`right`],void 0),value:a.prop.string()},setup(e){let t=(0,a.getHost)(),i=(0,a.useEmit)(),c=(0,a.useSlots)(),l=c.has(`description`),u=c.has(`leading`),d=c.has(`trailing`),f=(0,a.inject)(n.LIST_CTX),p=(0,o.computed)(()=>!!f?.selectable.value),m=(0,o.computed)(()=>e.value.value!=null&&f!=null&&f.value.value===e.value.value),h=e=>c.has(s(e)).value;(0,a.onMounted)(()=>{let n=t.shadowRoot?.querySelector(`.row`);if(!n)return;let l=r.createRevealState(t,n,{disabled:(0,o.computed)(()=>e.disabled.value||!!e.revealed.value),hasActions:h,onConfirm:e=>{let n=c.elements(s(e)).value[0];i(`confirm`,{item:t,side:e}),n?.click()}});(0,a.onCleanup)(()=>l.dispose())}),(0,a.watchEffect)(()=>{t.toggleAttribute(`selected`,m.value)});let g=m.value;(0,a.watchEffect)(()=>{let n=m.value;n!==g&&(g=n,i(n?`select`:`deselect`,{item:t,value:e.value.value??null}))});let _=e.revealed.value??null;(0,a.watchEffect)(()=>{let n=e.revealed.value??null;n!==_&&(_=n,n?(f?.requestReveal(t),i(`reveal`,{item:t,side:n})):i(`conceal`,{item:t}))});let v=n=>{if(e.disabled.value)return;if(e.revealed.value){n.preventDefault(),n.stopPropagation(),t.removeAttribute(`revealed`);return}if(e.actionable.value&&i(`activate`,{item:t,value:e.value.value??null}),!p.value)return;let r=e.value.value;r!=null&&f?.select(m.value?void 0:r)};return(0,a.bind)({attr:{"aria-disabled":()=>e.disabled.value?`true`:null,"aria-selected":()=>p.value?String(m.value):null,"data-two-line":()=>l.value?!0:void 0,role:()=>p.value?`option`:`listitem`}}),a.html`
|
|
2
2
|
<div
|
|
3
3
|
class="row"
|
|
4
4
|
part="row"
|
|
5
|
+
role="${()=>e.actionable.value?`button`:null}"
|
|
5
6
|
tabindex="${()=>e.disabled.value?`-1`:`0`}"
|
|
6
|
-
@click="${
|
|
7
|
-
@keydown="${t=>{(t.key===`Enter`||t.key===` `)
|
|
8
|
-
<span class="leading" part="leading"><slot name="leading"></slot></span>
|
|
7
|
+
@click="${v}"
|
|
8
|
+
@keydown="${t=>{(t.key===`Enter`||t.key===` `)&&!e.disabled.value&&(e.revealed.value||p.value||e.actionable.value)&&(t.preventDefault(),v(t))}}">
|
|
9
|
+
<span class="leading" part="leading" ?hidden="${()=>!u.value}"><slot name="leading"></slot></span>
|
|
9
10
|
<span class="content" part="content">
|
|
10
11
|
<span class="title" part="title"><slot></slot></span>
|
|
11
12
|
<span class="description" part="description"><slot name="description"></slot></span>
|
|
12
13
|
</span>
|
|
13
|
-
<span class="trailing" part="trailing"><slot name="trailing"></slot></span>
|
|
14
|
+
<span class="trailing" part="trailing" ?hidden="${()=>!d.value}"><slot name="trailing"></slot></span>
|
|
14
15
|
</div>
|
|
15
16
|
<span class="actions actions-left" part="actions-start"><slot name="actions-left"></slot></span>
|
|
16
17
|
<span class="actions actions-right" part="actions-end"><slot name="actions-right"></slot></span>
|