@mono-lit/helper 0.0.2 → 0.0.3
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/dist/{breakpoints-CAbhDUht.js → breakpoints-DllybT82.js} +7 -5
- package/dist/checkbox.css_raw-AYtSbUtY.js +5 -0
- package/dist/{chip-limits-BMoO31JM.js → chip-limits-CFABydIL.js} +5 -3
- package/dist/{chip-strip-Cw3gyz0q.js → chip-strip-bNfLn52Z.js} +5 -3
- package/dist/chip.css_raw-ChfRSHLO.js +5 -0
- package/dist/{color-DHYrfXsX.js → color-CEYYtRX-.js} +8 -7
- package/dist/{css-class-BRKRzHx-.js → css-class-B6Tc_MAx.js} +2 -1
- package/dist/{css-size-DhHSVZJK.js → css-size-DWAPgQdT.js} +2 -1
- package/dist/{data-source-controller-Dbb4fd8I.js → data-source-controller-Cf_sMxEh.js} +4 -2
- package/dist/{data-source-controller-B_rgHCjw.js → data-source-controller-Dx6IQ2CN.js} +4 -2
- package/dist/{data-source-options-CP-X62Pa.js → data-source-options-Bk-UoaZV.js} +15 -10
- package/dist/{data-source-options-Jqj7LU3Z.js → data-source-options-QjuI73g8.js} +17 -12
- package/dist/{data-source-read-B4DGp6UQ.js → data-source-read-Cuqw3LcP.js} +7 -4
- package/dist/{data-source-read-DL88aH8t.js → data-source-read-FxqzQkk2.js} +8 -5
- package/dist/{decorate-DEXtNagw.js → decorate-DbYFpi8R.js} +7 -5
- package/dist/{element-props-CLB6yvbm.js → element-props-xvw0EB7H.js} +4 -3
- package/dist/{esm-Ptok4SQZ.js → esm-D0We7ndD.js} +48 -44
- package/dist/{excel-DopRbEMK.js → excel-BXzr3uI1.js} +192 -16
- package/dist/{excel-CY6zGkcx.js → excel-DtRpxmxs.js} +27 -16
- package/dist/{export-BiGVyxt6.js → export-B91P6J1y.js} +104 -18
- package/dist/export.js +103 -18
- package/dist/{field-icons-DELrSdqJ.js → field-icons-FmyBWa0g.js} +3 -1
- package/dist/{field-path-C92eGLg3.js → field-path-BabiMrrA.js} +3 -2
- package/dist/{filter-builder-CE4zE0V5.js → filter-builder-B6Y2mmbM.js} +7 -4
- package/dist/{filter-builder-Bke3qOgJ.js → filter-builder-C0T3pMx2.js} +7 -4
- package/dist/{filter-eval-DIfU2EAn.js → filter-eval-ChDSaAUH.js} +7 -5
- package/dist/{filter-odata-C1vSGZaY.js → filter-odata-Bi27XUpQ.js} +9 -6
- package/dist/{form-control-core-B8d7k6vk.js → form-control-core-CIdMLXMo.js} +9 -6
- package/dist/{form-control-core-eeRr0zLU.js → form-control-core-CRZPZ1ru.js} +9 -6
- package/dist/hydration-flush-DHrl4_KK.js +1014 -0
- package/dist/{icon-CJkTlmTb.js → icon-BM9N-jOt.js} +5 -2
- package/dist/{icon-dVhYJUIH.js → icon-ClxnYhBG.js} +4 -2
- package/dist/{import-BgJdkwBI.js → import-Dc4eXC02.js} +22 -16
- package/dist/import.js +22 -16
- package/dist/index.js +17 -16
- package/dist/{index.node-BIqEGehH.js → index.node-dvrNviMx.js} +26 -20
- package/dist/index.node.js +17 -16
- package/dist/input.css_raw-CGESifay.js +5 -0
- package/dist/{layout-var-CZnzMC0s.js → layout-var-BSBKY49k.js} +3 -2
- package/dist/{light-slots-BVJwyg_2.js → light-slots-4ZCjOcBg.js} +6 -4
- package/dist/{light-slots-DW1WgfgT.js → light-slots-DdDdZ6zs.js} +6 -4
- package/dist/{markdown-DfqrfOJN.js → markdown-uGlE_OfJ.js} +414 -369
- package/dist/mono-button-CeDB9khW.js +878 -0
- package/dist/mono-button.shadow-D9NdMsmH.js +790 -0
- package/dist/{mono-data-chart-CEv29_NS.js → mono-data-chart-ChkelNT7.js} +15 -12
- package/dist/{mono-data-dropdown-Wnoke6zO.js → mono-data-dropdown-DxpUUk2y.js} +5 -3
- package/dist/{mono-data-grid-YjR3n9Ar.js → mono-data-grid-8jmeIXUU.js} +56 -38
- package/dist/{mono-data-grid-CjkEqxgE.js → mono-data-grid-BHlo1IgR.js} +56 -38
- package/dist/{mono-element-B0kP_96P.js → mono-element-C7vCschg.js} +7 -4
- package/dist/{mono-event-Bi1qP9uN.js → mono-event-BPku9HpS.js} +4 -3
- package/dist/{mono-form-controller-5PfsU4qa.js → mono-form-controller-IYn0MuUQ.js} +7 -4
- package/dist/{mono-modal-controller-BMO3n3rP.js → mono-modal-controller-ClObbHUs.js} +9 -7
- package/dist/{mono-ui-CPV7rrdo.js → mono-ui-BwUc0L6B.js} +22 -20
- package/dist/{normalize-error-Gcgmgh5i.js → normalize-error-D93O4q8g.js} +26 -20
- package/dist/{notifier-CE4yxMUQ.js → notifier-BIrqUzRh.js} +11 -1
- package/dist/nuxt.js +20 -15
- package/dist/{popup-portal-BziRX1yG.js → popup-portal-HWhkd7oy.js} +6 -4
- package/dist/{popup-stack-CEEMib__.js → popup-stack-De05Y-mJ.js} +13 -10
- package/dist/{rate-limit-BBa2PO79.js → rate-limit-e9Jlpl5l.js} +12 -9
- package/dist/{reactive-Di3mTMnV.js → reactive-DFCdZbH9.js} +30 -22
- package/dist/{reactive-D3EERqgO.js → reactive-Dtd-esHO.js} +2 -1
- package/dist/search.js +5 -4
- package/dist/src/components/accordion/accordion-core.d.ts +42 -40
- package/dist/src/components/accordion/accordion-types.d.ts +50 -48
- package/dist/src/components/accordion/index.d.ts +3 -2
- package/dist/src/components/accordion/index.shadow.d.ts +4 -4
- package/dist/src/components/accordion/mono-accordion.d.ts +44 -40
- package/dist/src/components/accordion/mono-accordion.shadow.d.ts +42 -38
- package/dist/src/components/alert/alert-core.d.ts +30 -28
- package/dist/src/components/alert/alert-types.d.ts +36 -34
- package/dist/src/components/alert/index.d.ts +3 -2
- package/dist/src/components/alert/index.shadow.d.ts +4 -4
- package/dist/src/components/alert/mono-alert.d.ts +30 -26
- package/dist/src/components/alert/mono-alert.shadow.d.ts +24 -20
- package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +42 -40
- package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +31 -29
- package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +18 -16
- package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +89 -87
- package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +18 -15
- package/dist/src/components/breadcrumb/index.d.ts +6 -5
- package/dist/src/components/breadcrumb/index.shadow.d.ts +7 -7
- package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +18 -14
- package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +33 -29
- package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +24 -20
- package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +55 -51
- package/dist/src/components/button/button-core.d.ts +73 -71
- package/dist/src/components/button/button-dropdown-core.d.ts +55 -53
- package/dist/src/components/button/button-dropdown-types.d.ts +98 -96
- package/dist/src/components/button/button-types.d.ts +157 -155
- package/dist/src/components/button/button-utils.d.ts +7 -5
- package/dist/src/components/button/index.button-dropdown.d.ts +5 -3
- package/dist/src/components/button/index.button-dropdown.shadow.d.ts +5 -3
- package/dist/src/components/button/index.d.ts +4 -7
- package/dist/src/components/button/index.shadow.d.ts +5 -4
- package/dist/src/components/button/mono-button-dropdown.d.ts +24 -19
- package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +34 -29
- package/dist/src/components/button/mono-button.d.ts +105 -101
- package/dist/src/components/button/mono-button.shadow.d.ts +42 -38
- package/dist/src/components/card/card-core.d.ts +59 -57
- package/dist/src/components/card/card-types.d.ts +91 -89
- package/dist/src/components/card/card-utils.d.ts +11 -9
- package/dist/src/components/card/index.d.ts +4 -3
- package/dist/src/components/card/index.shadow.d.ts +5 -5
- package/dist/src/components/card/mono-card.d.ts +36 -32
- package/dist/src/components/card/mono-card.shadow.d.ts +32 -28
- package/dist/src/components/chart/chart-core.d.ts +30 -28
- package/dist/src/components/chart/chart-odata.d.ts +17 -16
- package/dist/src/components/chart/chart-types.d.ts +269 -267
- package/dist/src/components/chart/index.d.ts +7 -7
- package/dist/src/components/chart/index.shadow.d.ts +7 -6
- package/dist/src/components/chart/mono-chart-presets.d.ts +33 -29
- package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +33 -29
- package/dist/src/components/chart/mono-chart.d.ts +13 -9
- package/dist/src/components/chart/mono-chart.shadow.d.ts +13 -9
- package/dist/src/components/chart/mono-data-chart.d.ts +4 -26
- package/dist/src/components/checkbox/checkbox-core.d.ts +39 -37
- package/dist/src/components/checkbox/checkbox-types.d.ts +59 -57
- package/dist/src/components/checkbox/checkbox-utils.d.ts +13 -11
- package/dist/src/components/checkbox/index.d.ts +4 -3
- package/dist/src/components/checkbox/index.shadow.d.ts +5 -4
- package/dist/src/components/checkbox/mono-checkbox.d.ts +21 -17
- package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +31 -27
- package/dist/src/components/chip/chip-core.d.ts +42 -40
- package/dist/src/components/chip/chip-types.d.ts +104 -102
- package/dist/src/components/chip/chip-utils.d.ts +20 -18
- package/dist/src/components/chip/index.d.ts +5 -7
- package/dist/src/components/chip/index.shadow.d.ts +6 -5
- package/dist/src/components/chip/mono-chip.d.ts +31 -27
- package/dist/src/components/chip/mono-chip.shadow.d.ts +19 -15
- package/dist/src/components/chip/mono-status-dot.d.ts +19 -17
- package/dist/src/components/date/date-core.d.ts +64 -62
- package/dist/src/components/date/date-types.d.ts +143 -141
- package/dist/src/components/date/index.d.ts +3 -2
- package/dist/src/components/date/index.shadow.d.ts +4 -3
- package/dist/src/components/date/mono-date.d.ts +12 -8
- package/dist/src/components/date/mono-date.shadow.d.ts +21 -17
- package/dist/src/components/drawer/drawer-core.d.ts +75 -73
- package/dist/src/components/drawer/drawer-types.d.ts +109 -107
- package/dist/src/components/drawer/index.d.ts +3 -2
- package/dist/src/components/drawer/index.shadow.d.ts +4 -3
- package/dist/src/components/drawer/mono-drawer.d.ts +32 -28
- package/dist/src/components/drawer/mono-drawer.shadow.d.ts +34 -31
- package/dist/src/components/dropdown/dropdown-core.d.ts +31 -29
- package/dist/src/components/dropdown/dropdown-types.d.ts +62 -60
- package/dist/src/components/dropdown/index.d.ts +3 -2
- package/dist/src/components/dropdown/index.shadow.d.ts +4 -3
- package/dist/src/components/dropdown/mono-dropdown.d.ts +23 -19
- package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +19 -15
- package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +53 -51
- package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +218 -216
- package/dist/src/components/dropdown-table/index.d.ts +5 -4
- package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -5
- package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +119 -129
- package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +20 -16
- package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +15 -11
- package/dist/src/components/file-upload/file-upload-core.d.ts +44 -42
- package/dist/src/components/file-upload/file-upload-types.d.ts +123 -121
- package/dist/src/components/file-upload/file-upload-utils.d.ts +7 -4
- package/dist/src/components/file-upload/index.d.ts +4 -3
- package/dist/src/components/file-upload/index.shadow.d.ts +5 -4
- package/dist/src/components/file-upload/mono-file-upload.d.ts +20 -16
- package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +34 -30
- package/dist/src/components/filter/filter-builder-core.d.ts +17 -15
- package/dist/src/components/filter/filter-builder.d.ts +4 -22
- package/dist/src/components/filter/filter-odata.d.ts +3 -1
- package/dist/src/components/filter/filter-operators.d.ts +3 -1
- package/dist/src/components/filter/filter-types.d.ts +172 -170
- package/dist/src/components/filter/index.d.ts +6 -5
- package/dist/src/components/filter/index.shadow.d.ts +7 -6
- package/dist/src/components/filter/mono-filter-builder.d.ts +13 -10
- package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +10 -7
- package/dist/src/components/form/form-control-core.d.ts +14 -12
- package/dist/src/components/form/form-rules.d.ts +7 -5
- package/dist/src/components/form/form-types.d.ts +214 -214
- package/dist/src/components/form/index.d.ts +5 -5
- package/dist/src/components/form/mono-form-controller.d.ts +4 -15
- package/dist/src/components/input/index.d.ts +5 -5
- package/dist/src/components/input/index.shadow.d.ts +6 -7
- package/dist/src/components/input/input-core.d.ts +73 -71
- package/dist/src/components/input/input-format.d.ts +22 -20
- package/dist/src/components/input/input-types.d.ts +167 -165
- package/dist/src/components/input/input-utils.d.ts +7 -5
- package/dist/src/components/input/mono-input.d.ts +35 -31
- package/dist/src/components/input/mono-input.shadow.d.ts +17 -13
- package/dist/src/components/menu/index.d.ts +7 -5
- package/dist/src/components/menu/index.shadow.d.ts +7 -6
- package/dist/src/components/menu/menu-core.d.ts +47 -45
- package/dist/src/components/menu/menu-render.d.ts +42 -40
- package/dist/src/components/menu/menu-types.d.ts +132 -130
- package/dist/src/components/menu/menu-utils.d.ts +16 -13
- package/dist/src/components/menu/mono-menu-list.d.ts +116 -114
- package/dist/src/components/menu/mono-menu.d.ts +30 -26
- package/dist/src/components/menu/mono-menu.shadow.d.ts +22 -18
- package/dist/src/components/modal/index.d.ts +5 -3
- package/dist/src/components/modal/index.shadow.d.ts +6 -4
- package/dist/src/components/modal/modal-core.d.ts +81 -79
- package/dist/src/components/modal/modal-types.d.ts +223 -221
- package/dist/src/components/modal/mono-modal-controller.d.ts +4 -3
- package/dist/src/components/modal/mono-modal.d.ts +32 -28
- package/dist/src/components/modal/mono-modal.shadow.d.ts +38 -35
- package/dist/src/components/nav/index.d.ts +4 -3
- package/dist/src/components/nav/index.shadow.d.ts +5 -5
- package/dist/src/components/nav/mono-nav.d.ts +28 -24
- package/dist/src/components/nav/mono-nav.shadow.d.ts +10 -7
- package/dist/src/components/nav/nav-core.d.ts +16 -14
- package/dist/src/components/nav/nav-types.d.ts +23 -22
- package/dist/src/components/nav/nav-utils.d.ts +10 -8
- package/dist/src/components/radio/index.d.ts +4 -3
- package/dist/src/components/radio/index.shadow.d.ts +5 -4
- package/dist/src/components/radio/mono-radio.d.ts +19 -15
- package/dist/src/components/radio/mono-radio.shadow.d.ts +22 -18
- package/dist/src/components/radio/radio-core.d.ts +31 -29
- package/dist/src/components/radio/radio-types.d.ts +48 -46
- package/dist/src/components/radio/radio-utils.d.ts +5 -3
- package/dist/src/components/rich-text-editor/index.d.ts +5 -4
- package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -5
- package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +19 -15
- package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +22 -19
- package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +61 -59
- package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +2 -0
- package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +5 -3
- package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +179 -177
- package/dist/src/components/select/index.d.ts +4 -3
- package/dist/src/components/select/index.shadow.d.ts +5 -4
- package/dist/src/components/select/mono-select.d.ts +58 -54
- package/dist/src/components/select/mono-select.shadow.d.ts +30 -27
- package/dist/src/components/select/select-core.d.ts +82 -80
- package/dist/src/components/select/select-types.d.ts +228 -227
- package/dist/src/components/select/select-utils.d.ts +7 -5
- package/dist/src/components/sidebar/index.d.ts +4 -3
- package/dist/src/components/sidebar/index.shadow.d.ts +5 -5
- package/dist/src/components/sidebar/mono-sidebar.d.ts +22 -18
- package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +11 -8
- package/dist/src/components/sidebar/sidebar-core.d.ts +33 -31
- package/dist/src/components/sidebar/sidebar-types.d.ts +77 -75
- package/dist/src/components/sidebar/sidebar-utils.d.ts +28 -26
- package/dist/src/components/switch/index.d.ts +4 -3
- package/dist/src/components/switch/index.shadow.d.ts +5 -4
- package/dist/src/components/switch/mono-switch.d.ts +19 -15
- package/dist/src/components/switch/mono-switch.shadow.d.ts +23 -19
- package/dist/src/components/switch/switch-core.d.ts +35 -33
- package/dist/src/components/switch/switch-types.d.ts +55 -53
- package/dist/src/components/switch/switch-utils.d.ts +5 -3
- package/dist/src/components/table/array-source.d.ts +31 -29
- package/dist/src/components/table/date-filter-tree.d.ts +25 -23
- package/dist/src/components/table/grouping.d.ts +22 -20
- package/dist/src/components/table/index.d.ts +28 -32
- package/dist/src/components/table/index.shadow.d.ts +34 -46
- package/dist/src/components/table/mono-data-grid.d.ts +1447 -1456
- package/dist/src/components/table/mono-table-checkbox-core.d.ts +34 -32
- package/dist/src/components/table/mono-table-checkbox.d.ts +12 -8
- package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +16 -12
- package/dist/src/components/table/mono-table-detail-core.d.ts +29 -27
- package/dist/src/components/table/mono-table-detail.d.ts +12 -8
- package/dist/src/components/table/mono-table-detail.shadow.d.ts +13 -9
- package/dist/src/components/table/mono-table-empty-core.d.ts +24 -22
- package/dist/src/components/table/mono-table-empty.d.ts +17 -13
- package/dist/src/components/table/mono-table-empty.shadow.d.ts +22 -18
- package/dist/src/components/table/mono-table-error-core.d.ts +24 -22
- package/dist/src/components/table/mono-table-error.d.ts +12 -8
- package/dist/src/components/table/mono-table-error.shadow.d.ts +15 -11
- package/dist/src/components/table/mono-table-info-core.d.ts +6 -4
- package/dist/src/components/table/mono-table-info.d.ts +12 -8
- package/dist/src/components/table/mono-table-info.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-loading-core.d.ts +7 -5
- package/dist/src/components/table/mono-table-loading.d.ts +12 -8
- package/dist/src/components/table/mono-table-loading.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-page-size-core.d.ts +7 -5
- package/dist/src/components/table/mono-table-page-size.d.ts +12 -8
- package/dist/src/components/table/mono-table-page-size.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-paging-core.d.ts +16 -14
- package/dist/src/components/table/mono-table-paging-group-core.d.ts +10 -8
- package/dist/src/components/table/mono-table-paging-group.d.ts +12 -8
- package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-paging.d.ts +12 -8
- package/dist/src/components/table/mono-table-paging.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-search-core.d.ts +51 -49
- package/dist/src/components/table/mono-table-search.d.ts +25 -22
- package/dist/src/components/table/mono-table-search.shadow.d.ts +12 -9
- package/dist/src/components/table/mono-table-sort-core.d.ts +16 -14
- package/dist/src/components/table/mono-table-sort.d.ts +21 -18
- package/dist/src/components/table/mono-table-sort.shadow.d.ts +11 -8
- package/dist/src/components/table/mono-table-summary-core.d.ts +9 -7
- package/dist/src/components/table/mono-table-summary.d.ts +12 -8
- package/dist/src/components/table/mono-table-summary.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-th-core.d.ts +23 -21
- package/dist/src/components/table/mono-table-th.d.ts +21 -18
- package/dist/src/components/table/mono-table-th.shadow.d.ts +11 -8
- package/dist/src/components/table/store-group-source.d.ts +14 -12
- package/dist/src/components/table/table-controller-core.d.ts +17 -15
- package/dist/src/components/table/table-filter-icons.d.ts +3 -1
- package/dist/src/components/table/table-menu-core.d.ts +40 -38
- package/dist/src/components/table/table-overlay.d.ts +43 -41
- package/dist/src/components/table/table-sort-icons.d.ts +4 -2
- package/dist/src/components/table/table-sort-utils.d.ts +3 -1
- package/dist/src/components/table/table-types.d.ts +391 -400
- package/dist/src/components/tabs/index.d.ts +3 -2
- package/dist/src/components/tabs/index.shadow.d.ts +4 -3
- package/dist/src/components/tabs/mono-tabs.d.ts +21 -17
- package/dist/src/components/tabs/mono-tabs.shadow.d.ts +21 -17
- package/dist/src/components/tabs/tabs-core.d.ts +36 -34
- package/dist/src/components/tabs/tabs-types.d.ts +48 -46
- package/dist/src/components/tag-input/index.d.ts +5 -3
- package/dist/src/components/tag-input/index.shadow.d.ts +6 -4
- package/dist/src/components/tag-input/mono-tag-input.d.ts +56 -52
- package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +41 -38
- package/dist/src/components/tag-input/tag-input-core.d.ts +95 -93
- package/dist/src/components/tag-input/tag-input-types.d.ts +343 -346
- package/dist/src/components/tag-input/tag-input-utils.d.ts +7 -5
- package/dist/src/components/textarea/index.d.ts +4 -3
- package/dist/src/components/textarea/index.shadow.d.ts +5 -4
- package/dist/src/components/textarea/mono-textarea.d.ts +19 -15
- package/dist/src/components/textarea/mono-textarea.shadow.d.ts +19 -16
- package/dist/src/components/textarea/textarea-core.d.ts +48 -46
- package/dist/src/components/textarea/textarea-types.d.ts +120 -118
- package/dist/src/components/textarea/textarea-utils.d.ts +7 -5
- package/dist/src/components/tooltip/control-tooltip.d.ts +3 -1
- package/dist/src/components/tooltip/index.d.ts +6 -5
- package/dist/src/components/tooltip/tooltip-config.d.ts +17 -15
- package/dist/src/components/tooltip/tooltip-declarative.d.ts +3 -1
- package/dist/src/components/tooltip/tooltip-loader.d.ts +2 -0
- package/dist/src/components/tooltip/tooltip-types.d.ts +74 -72
- package/dist/src/composables/breakpoints.d.ts +9 -7
- package/dist/src/composables/chip-limits.d.ts +12 -10
- package/dist/src/composables/chip-strip.d.ts +91 -89
- package/dist/src/composables/color.d.ts +6 -4
- package/dist/src/composables/css-class.d.ts +4 -2
- package/dist/src/composables/css-size.d.ts +9 -7
- package/dist/src/composables/data-source-controller.d.ts +90 -88
- package/dist/src/composables/element-props.d.ts +3 -3
- package/dist/src/composables/field-icons.d.ts +3 -1
- package/dist/src/composables/hybird-prop.d.ts +10 -8
- package/dist/src/composables/hydration-flush.d.ts +16 -14
- package/dist/src/composables/icon.d.ts +3 -1
- package/dist/src/composables/layout-var.d.ts +2 -0
- package/dist/src/composables/light-slots.d.ts +34 -32
- package/dist/src/composables/mdi-glyphs.d.ts +2 -0
- package/dist/src/composables/mono-element.d.ts +3 -1
- package/dist/src/composables/mono-event.d.ts +15 -13
- package/dist/src/composables/mono-pending.d.ts +4 -2
- package/dist/src/composables/mono-skeleton.d.ts +100 -98
- package/dist/src/composables/mono-ui.d.ts +17 -18
- package/dist/src/composables/notifier.d.ts +20 -18
- package/dist/src/composables/popup-portal.d.ts +177 -175
- package/dist/src/composables/popup-stack.d.ts +36 -34
- package/dist/src/composables/rate-limit.d.ts +33 -31
- package/dist/src/composables/reactive.d.ts +3 -1
- package/dist/src/composables/shadow-css.d.ts +17 -15
- package/dist/src/composables/visibility.d.ts +6 -4
- package/dist/src/data/theme/index.d.ts +9 -7
- package/dist/src/data/theme/presets.d.ts +64 -62
- package/dist/src/entries/index.d.ts +36 -1
- package/dist/src/entries/index.node.d.ts +34 -41
- package/dist/src/entries/search.d.ts +2 -2
- package/dist/src/export/detail.d.ts +14 -12
- package/dist/src/export/download.d.ts +2 -0
- package/dist/src/export/excel/index.d.ts +13 -11
- package/dist/src/export/excel/nodes.d.ts +95 -93
- package/dist/src/export/expression.d.ts +3 -1
- package/dist/src/export/helpers.d.ts +3 -1
- package/dist/src/export/index.d.ts +6 -4
- package/dist/src/export/markdown.d.ts +19 -17
- package/dist/src/export/resolve-data.d.ts +3 -1
- package/dist/src/export/sentinel.d.ts +32 -30
- package/dist/src/export/sheet-name.d.ts +7 -5
- package/dist/src/export/styles.d.ts +13 -11
- package/dist/src/export/template.d.ts +3 -1
- package/dist/src/export/types.d.ts +224 -222
- package/dist/src/import/coerce.d.ts +5 -3
- package/dist/src/import/index.d.ts +12 -10
- package/dist/src/import/match.d.ts +20 -18
- package/dist/src/import/parse.d.ts +5 -3
- package/dist/src/import/types.d.ts +125 -123
- package/dist/src/nuxt/index.d.ts +92 -90
- package/dist/src/search/data-search.d.ts +92 -90
- package/dist/src/search/field-path.d.ts +10 -8
- package/dist/src/search/filter-eval.d.ts +2 -0
- package/dist/src/search/index.d.ts +6 -22
- package/dist/src/search/odata-search.d.ts +9 -7
- package/dist/src/search/search-expr.d.ts +16 -14
- package/dist/src/utils/data-source-apply.d.ts +11 -9
- package/dist/src/utils/data-source-options.d.ts +37 -35
- package/dist/src/utils/data-source-read.d.ts +40 -54
- package/dist/src/utils/data-source-summary.d.ts +8 -7
- package/dist/src/utils/normalize-error.d.ts +16 -14
- package/dist/src/vite/index.d.ts +34 -34
- package/dist/src/vite/mono-client-only.d.ts +34 -32
- package/dist/src/vite/mono-ssr-stub.d.ts +8 -6
- package/dist/src/vite/shadow-manifest.d.ts +2 -0
- package/dist/{styles-BIJ31TM4.js → styles-D-ergrfR.js} +417 -207
- package/dist/{tooltip-DQqNpqk2.js → tooltip-FCMRUSLi.js} +32 -25
- package/dist/tooltip.js +3 -2
- package/dist/ui/accordion.js +16 -12
- package/dist/ui/alert.js +21 -14
- package/dist/ui/breadcrumb.js +28 -18
- package/dist/ui/button-dropdown.js +18 -14
- package/dist/ui/button.js +4 -2
- package/dist/ui/card.js +17 -12
- package/dist/ui/chart.js +31 -26
- package/dist/ui/checkbox.js +17 -12
- package/dist/ui/chip.js +19 -12
- package/dist/ui/date.js +19 -15
- package/dist/ui/drawer.js +26 -20
- package/dist/ui/dropdown-table.js +39 -30
- package/dist/ui/dropdown.js +19 -15
- package/dist/ui/file-upload.js +22 -17
- package/dist/ui/filter.js +18 -14
- package/dist/ui/form.js +4 -3
- package/dist/ui/index.css +1073 -2197
- package/dist/ui/input.js +24 -17
- package/dist/ui/menu.js +32 -20
- package/dist/ui/modal.js +33 -26
- package/dist/ui/nav.js +21 -15
- package/dist/ui/radio.js +17 -12
- package/dist/ui/rich-text-editor.js +34 -28
- package/dist/ui/select.js +32 -26
- package/dist/ui/shadow/accordion.js +13 -9
- package/dist/ui/shadow/alert.js +13 -9
- package/dist/ui/shadow/breadcrumb.js +23 -14
- package/dist/ui/shadow/button-dropdown.js +17 -13
- package/dist/ui/shadow/button.js +4 -2
- package/dist/ui/shadow/card.js +15 -10
- package/dist/ui/shadow/chart.js +36 -29
- package/dist/ui/shadow/checkbox.js +13 -9
- package/dist/ui/shadow/chip.js +16 -10
- package/dist/ui/shadow/date.js +19 -12
- package/dist/ui/shadow/drawer.js +22 -16
- package/dist/ui/shadow/dropdown-table.js +39 -28
- package/dist/ui/shadow/dropdown.js +15 -11
- package/dist/ui/shadow/file-upload.js +26 -19
- package/dist/ui/shadow/filter.js +17 -13
- package/dist/ui/shadow/input.js +20 -14
- package/dist/ui/shadow/menu.js +24 -14
- package/dist/ui/shadow/modal.js +35 -27
- package/dist/ui/shadow/nav.js +18 -12
- package/dist/ui/shadow/radio.js +15 -10
- package/dist/ui/shadow/rich-text-editor.js +32 -26
- package/dist/ui/shadow/select.js +30 -24
- package/dist/ui/shadow/sidebar.js +23 -16
- package/dist/ui/shadow/switch.js +15 -10
- package/dist/ui/shadow/table.js +123 -84
- package/dist/ui/shadow/tabs.js +12 -8
- package/dist/ui/shadow/tag-input.js +37 -31
- package/dist/ui/shadow/textarea.js +17 -12
- package/dist/ui/sidebar.js +27 -20
- package/dist/ui/switch.js +17 -12
- package/dist/ui/table.js +129 -87
- package/dist/ui/tabs.js +15 -11
- package/dist/ui/tag-input.js +33 -27
- package/dist/ui/textarea.js +19 -14
- package/dist/{vite-C5iUK7so.js → vite-DcyRlTTf.js} +17 -9
- package/dist/vite.js +3 -2
- package/package.json +15 -14
- package/dist/checkbox-Cqpie9Ap.js +0 -4
- package/dist/chip-DBUUa2eB.js +0 -4
- package/dist/data/theme/presets.json.d.ts +0 -140
- package/dist/export.d.ts +0 -1
- package/dist/hydration-flush-RB5Tz5nl.js +0 -1001
- package/dist/import.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.node.d.ts +0 -1
- package/dist/input-zGOULADt.js +0 -4
- package/dist/mono-button-simcTQdW.js +0 -873
- package/dist/mono-button.shadow-B_rKOY9N.js +0 -784
- package/dist/nuxt.d.ts +0 -1
- package/dist/search.d.ts +0 -1
- package/dist/tooltip.d.ts +0 -1
- package/dist/ui/accordion.d.ts +0 -1
- package/dist/ui/alert.d.ts +0 -1
- package/dist/ui/breadcrumb.d.ts +0 -1
- package/dist/ui/button-dropdown.d.ts +0 -1
- package/dist/ui/button.d.ts +0 -1
- package/dist/ui/card.d.ts +0 -1
- package/dist/ui/chart.d.ts +0 -1
- package/dist/ui/checkbox.d.ts +0 -1
- package/dist/ui/chip.d.ts +0 -1
- package/dist/ui/date.d.ts +0 -1
- package/dist/ui/drawer.d.ts +0 -1
- package/dist/ui/dropdown-table.d.ts +0 -1
- package/dist/ui/dropdown.d.ts +0 -1
- package/dist/ui/file-upload.d.ts +0 -1
- package/dist/ui/filter.d.ts +0 -1
- package/dist/ui/form.d.ts +0 -1
- package/dist/ui/input.d.ts +0 -1
- package/dist/ui/menu.d.ts +0 -1
- package/dist/ui/modal.d.ts +0 -1
- package/dist/ui/nav.d.ts +0 -1
- package/dist/ui/radio.d.ts +0 -1
- package/dist/ui/rich-text-editor.d.ts +0 -1
- package/dist/ui/select.d.ts +0 -1
- package/dist/ui/sidebar.d.ts +0 -1
- package/dist/ui/switch.d.ts +0 -1
- package/dist/ui/table.d.ts +0 -1
- package/dist/ui/tabs.d.ts +0 -1
- package/dist/ui/tag-input.d.ts +0 -1
- package/dist/ui/textarea.d.ts +0 -1
- package/dist/vite.d.ts +0 -1
package/dist/ui/shadow/input.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { a as __decorate, f as customElement, i as withShadowUtilityStyles, l as defineHybridPropAliases, r as toShadowCss, s as booleanStringConverter, t as flushSsrHydration } from "../../hydration-flush-
|
|
2
|
-
import { t as dispatchMonoEvent } from "../../mono-event-
|
|
3
|
-
import { n as cssPart } from "../../css-class-
|
|
4
|
-
import { t as buildSizeStyle } from "../../css-size-
|
|
5
|
-
import { t as MonoFormControlCore } from "../../form-control-core-
|
|
6
|
-
import { t as
|
|
1
|
+
import { a as __decorate, f as customElement, i as withShadowUtilityStyles, l as defineHybridPropAliases, r as toShadowCss, s as booleanStringConverter, t as flushSsrHydration } from "../../hydration-flush-DHrl4_KK.js";
|
|
2
|
+
import { t as dispatchMonoEvent } from "../../mono-event-BPku9HpS.js";
|
|
3
|
+
import { n as cssPart } from "../../css-class-B6Tc_MAx.js";
|
|
4
|
+
import { t as buildSizeStyle } from "../../css-size-DWAPgQdT.js";
|
|
5
|
+
import { t as MonoFormControlCore } from "../../form-control-core-CIdMLXMo.js";
|
|
6
|
+
import { t as input_css_raw_default } from "../../input.css_raw-CGESifay.js";
|
|
7
7
|
import { LitElement, html, isServer, nothing, unsafeCSS } from "lit";
|
|
8
8
|
import { property, query, state } from "lit/decorators.js";
|
|
9
9
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
10
10
|
import { styleMap } from "lit/directives/style-map.js";
|
|
11
|
+
|
|
11
12
|
//#region src/components/input/input-format.ts
|
|
12
|
-
|
|
13
|
+
const SEPARATOR_CACHE = /* @__PURE__ */ new Map();
|
|
13
14
|
/**
|
|
14
15
|
* Ask `Intl` which characters this locale uses, rather than assuming `,` and `.`.
|
|
15
16
|
*
|
|
@@ -256,9 +257,10 @@ function resolveFormat(format, raw, ctx, mode) {
|
|
|
256
257
|
if (!descriptor) return null;
|
|
257
258
|
return mode === "display" ? applyFormat(raw, descriptor, ctx.locale) : normaliseValue(raw, descriptor);
|
|
258
259
|
}
|
|
260
|
+
|
|
259
261
|
//#endregion
|
|
260
262
|
//#region src/components/input/input-core.ts
|
|
261
|
-
|
|
263
|
+
const numberStringConverter = {
|
|
262
264
|
fromAttribute(value) {
|
|
263
265
|
if (value === null || value === "") return void 0;
|
|
264
266
|
const parsed = Number(value);
|
|
@@ -282,7 +284,7 @@ var numberStringConverter = {
|
|
|
282
284
|
* shared `_hasXxxSlotState` `@state` fields back both strategies and feed the
|
|
283
285
|
* class getters.
|
|
284
286
|
*/
|
|
285
|
-
|
|
287
|
+
const MonoInputCore = (superClass) => {
|
|
286
288
|
class MonoInputCoreClass extends MonoFormControlCore(superClass) {
|
|
287
289
|
constructor(...args) {
|
|
288
290
|
super(...args);
|
|
@@ -658,7 +660,8 @@ var MonoInputCore = (superClass) => {
|
|
|
658
660
|
input.value = next;
|
|
659
661
|
this._display = next;
|
|
660
662
|
if (caretBefore == null) return;
|
|
661
|
-
const
|
|
663
|
+
const significant = significantFor(this._displayDescriptor, this.formatLocale);
|
|
664
|
+
const caret = caretAfterFormat(next, caretBefore, prev, significant);
|
|
662
665
|
try {
|
|
663
666
|
input.setSelectionRange(caret, caret);
|
|
664
667
|
} catch {}
|
|
@@ -960,15 +963,16 @@ var MonoInputCore = (superClass) => {
|
|
|
960
963
|
__decorate([state()], MonoInputCoreClass.prototype, "_hasHelperSlotState", void 0);
|
|
961
964
|
return MonoInputCoreClass;
|
|
962
965
|
};
|
|
966
|
+
|
|
963
967
|
//#endregion
|
|
964
968
|
//#region src/components/input/mono-input.shadow.ts
|
|
965
|
-
|
|
966
|
-
|
|
969
|
+
const SHADOW_EXTRA_CSS = "";
|
|
970
|
+
let MonoInputShadow = class MonoInputShadow extends withShadowUtilityStyles(MonoInputCore(LitElement)) {
|
|
967
971
|
static {
|
|
968
972
|
this.disableWarning?.("change-in-update");
|
|
969
973
|
}
|
|
970
974
|
static {
|
|
971
|
-
this.styles = [unsafeCSS(toShadowCss(
|
|
975
|
+
this.styles = [unsafeCSS(toShadowCss(input_css_raw_default, {
|
|
972
976
|
host: "mono-input",
|
|
973
977
|
append: SHADOW_EXTRA_CSS
|
|
974
978
|
}))];
|
|
@@ -1060,6 +1064,7 @@ var MonoInputShadow = class MonoInputShadow extends withShadowUtilityStyles(Mono
|
|
|
1060
1064
|
}
|
|
1061
1065
|
};
|
|
1062
1066
|
MonoInputShadow = __decorate([customElement("mono-shadow-input")], MonoInputShadow);
|
|
1067
|
+
|
|
1063
1068
|
//#endregion
|
|
1064
1069
|
//#region src/components/input/input-utils.ts
|
|
1065
1070
|
function validateInputProps(props) {
|
|
@@ -1146,5 +1151,6 @@ function getInputIcon(type) {
|
|
|
1146
1151
|
};
|
|
1147
1152
|
return iconMap[type] ?? iconMap.text;
|
|
1148
1153
|
}
|
|
1154
|
+
|
|
1149
1155
|
//#endregion
|
|
1150
|
-
export { MonoInputCore, MonoInputShadow, applyFormat, caretAfterFormat, generateInputAriaAttributes, generateInputAttributes, getInputIcon, localeSeparators, normaliseValue, parseFormat, resolveFormat, significantFor, stripFormat, validateInputProps };
|
|
1156
|
+
export { MonoInputCore, MonoInputShadow, applyFormat, caretAfterFormat, generateInputAriaAttributes, generateInputAttributes, getInputIcon, localeSeparators, normaliseValue, parseFormat, resolveFormat, significantFor, stripFormat, validateInputProps };
|
package/dist/ui/shadow/menu.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { a as __decorate, f as customElement, i as withShadowUtilityStyles, l as defineHybridPropAliases, o as arrayHasChanged, r as toShadowCss, s as booleanStringConverter, t as flushSsrHydration } from "../../hydration-flush-
|
|
2
|
-
import { t as dispatchMonoEvent } from "../../mono-event-
|
|
3
|
-
import { t as isIconifyClass } from "../../icon-
|
|
4
|
-
import { a as validateColorProp, i as isThemeColorToken, n as colorClassToken, r as customColorStyle, t as CUSTOM_COLOR_CLASS } from "../../color-
|
|
1
|
+
import { a as __decorate, f as customElement, i as withShadowUtilityStyles, l as defineHybridPropAliases, o as arrayHasChanged, r as toShadowCss, s as booleanStringConverter, t as flushSsrHydration } from "../../hydration-flush-DHrl4_KK.js";
|
|
2
|
+
import { t as dispatchMonoEvent } from "../../mono-event-BPku9HpS.js";
|
|
3
|
+
import { t as isIconifyClass } from "../../icon-BM9N-jOt.js";
|
|
4
|
+
import { a as validateColorProp, i as isThemeColorToken, n as colorClassToken, r as customColorStyle, t as CUSTOM_COLOR_CLASS } from "../../color-CEYYtRX-.js";
|
|
5
5
|
import { LitElement, html, isServer, nothing, unsafeCSS } from "lit";
|
|
6
6
|
import { property, state } from "lit/decorators.js";
|
|
7
|
+
|
|
7
8
|
//#region src/components/menu/menu-utils.ts
|
|
8
9
|
function isItem(node) {
|
|
9
10
|
return !node.type || node.type === "item";
|
|
@@ -109,6 +110,7 @@ function menuRootAttrs(props) {
|
|
|
109
110
|
color: isThemeColorToken(props.color) || props.color === "surface" ? props.color === "primary" ? null : props.color : CUSTOM_COLOR_CLASS
|
|
110
111
|
};
|
|
111
112
|
}
|
|
113
|
+
|
|
112
114
|
//#endregion
|
|
113
115
|
//#region src/components/menu/menu-render.ts
|
|
114
116
|
function clsFor(base, key, cssClass) {
|
|
@@ -257,9 +259,10 @@ function renderMenuItemRow(item, ctx) {
|
|
|
257
259
|
function renderMenuGroup(group, ctx) {
|
|
258
260
|
const open = ctx.isGroupOpen(group.id);
|
|
259
261
|
const ancestorActive = ctx.isGroupActive?.(group) ?? false;
|
|
262
|
+
const groupClasses = [clsFor("mono-menu-group", "group", ctx.cssClass), ancestorActive ? "active" : ""].filter(Boolean).join(" ");
|
|
260
263
|
return html`
|
|
261
264
|
<li
|
|
262
|
-
class=${
|
|
265
|
+
class=${groupClasses}
|
|
263
266
|
mono-item
|
|
264
267
|
mono-group
|
|
265
268
|
?mono-open=${open}
|
|
@@ -343,6 +346,7 @@ function renderMenuGroupsOnly(list, ctx) {
|
|
|
343
346
|
for (const item of list) if (isGroup(item)) out.push(renderMenuGroup(item, ctx));
|
|
344
347
|
return out;
|
|
345
348
|
}
|
|
349
|
+
|
|
346
350
|
//#endregion
|
|
347
351
|
//#region src/components/menu/menu-core.ts
|
|
348
352
|
/** Coerce any `items` input (array, JSON string, or other) to a MenuItem array. */
|
|
@@ -369,7 +373,7 @@ function coerceItems(value) {
|
|
|
369
373
|
* capture / declarative `slot="body"`; shadow: items-driven only), and
|
|
370
374
|
* `_chevronSvg()` (light: undefined → UnoCSS icon span; shadow: inline SVG).
|
|
371
375
|
*/
|
|
372
|
-
|
|
376
|
+
const MonoMenuCore = (superClass) => {
|
|
373
377
|
class MonoMenuCoreClass extends superClass {
|
|
374
378
|
constructor(...args) {
|
|
375
379
|
super(...args);
|
|
@@ -507,7 +511,8 @@ var MonoMenuCore = (superClass) => {
|
|
|
507
511
|
}
|
|
508
512
|
_findRegisteredItem(id) {
|
|
509
513
|
for (const child of this._listChildren) {
|
|
510
|
-
const
|
|
514
|
+
const items = child.getMenuItems?.() ?? [];
|
|
515
|
+
const found = findItem(items, id);
|
|
511
516
|
if (found) return found;
|
|
512
517
|
}
|
|
513
518
|
return null;
|
|
@@ -517,7 +522,8 @@ var MonoMenuCore = (superClass) => {
|
|
|
517
522
|
}
|
|
518
523
|
_getRegisteredActivePath(id) {
|
|
519
524
|
for (const child of this._listChildren) {
|
|
520
|
-
const
|
|
525
|
+
const items = child.getMenuItems?.() ?? [];
|
|
526
|
+
const path = findActivePath(items, id);
|
|
521
527
|
if (path.length) return path;
|
|
522
528
|
}
|
|
523
529
|
return [];
|
|
@@ -760,7 +766,8 @@ var MonoMenuCore = (superClass) => {
|
|
|
760
766
|
* it has to serialize from THIS getter or it will wipe the colour.
|
|
761
767
|
*/
|
|
762
768
|
get _inlineRootStyle() {
|
|
763
|
-
|
|
769
|
+
const raw = isThemeColorToken(this.color) || this.color === "surface" ? "" : this.color;
|
|
770
|
+
return customColorStyle(raw, "menu");
|
|
764
771
|
}
|
|
765
772
|
render() {
|
|
766
773
|
const attrs = menuRootAttrs(this);
|
|
@@ -819,14 +826,16 @@ var MonoMenuCore = (superClass) => {
|
|
|
819
826
|
__decorate([state()], MonoMenuCoreClass.prototype, "_openGroups", void 0);
|
|
820
827
|
return MonoMenuCoreClass;
|
|
821
828
|
};
|
|
829
|
+
|
|
822
830
|
//#endregion
|
|
823
|
-
//#region src
|
|
824
|
-
var menu_default = "/* @unocss-include */\r\n\r\n/* =========================================================================\r\n mono-menu — a port of Basecoat's sidebar NAVIGATION (basecoat-css@1.0.2,\r\n vega style).\r\n\r\n Basecoat has no standalone menu, but it has the thing a menu is: the list\r\n inside `.sidebar nav` — a group, its rows, its headings and its separators.\r\n That block is also the richest per-flavor surface in the whole vendor sheet,\r\n so this port is where a flavor finally gets to say what a nav row looks like.\r\n\r\n Styled by ATTRIBUTE, and the attributes mirror the element's props one for\r\n one, so hand-written markup reads like the Lit / Vue tag:\r\n\r\n <mono-menu density=\"compact\" color=\"success\" :nav=\"false\">\r\n <nav mono-menu mono-density=\"compact\" mono-color=\"success\" mono-plain\r\n role=\"navigation\">\r\n <ul mono-list>\r\n <li mono-item mono-active>\r\n <a mono-action href=\"/\" aria-current=\"page\">\r\n <span mono-icon>…</span>\r\n <span mono-content>\r\n <span mono-title>Dashboard</span>\r\n <span mono-subtitle>Overview</span>\r\n </span>\r\n <span mono-badge=\"info\">3</span>\r\n </a>\r\n </li>\r\n <li mono-divider role=\"separator\"></li>\r\n <li mono-subheader>Section</li>\r\n </ul>\r\n </nav>\r\n\r\n An absent attribute is the prop's default (`:not([mono-density])` =\r\n comfortable, `:not([mono-color])` = primary, and `nav` defaults to TRUE so\r\n `mono-plain` is what the other mode says). The old classes\r\n (`.mono-menu.comfortable.primary.nav`) are still emitted as inert hooks\r\n until 2.0 but no rule here reads them.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-menu] ≡ .sidebar nav > section > [role=group]\r\n (relative flex w-full min-w-0 flex-col, p-2 text-sm)\r\n :where([mono-menu]) [mono-list] ≡ .sidebar nav ul (flex w-full min-w-0 flex-col, gap-1)\r\n :where([mono-menu]) [mono-item] ≡ .sidebar nav li (relative)\r\n :where([mono-menu]) [mono-action] ≡ .sidebar nav li > :is(a, button) — the row\r\n [mono-active] ≡ [aria-current=page], [data-active=true]\r\n (bg-sidebar-accent text-sidebar-accent-foreground font-medium)\r\n :where([mono-menu]) [mono-subheader] ≡ .sidebar nav h3\r\n :where([mono-menu]) [mono-divider] ≡ .sidebar nav [role=separator] (border-sidebar-border mx-2 w-auto)\r\n :where([mono-menu]) [mono-group-header]≡ details > summary — the same row, plus the chevron\r\n [mono-density=…] ≡ [data-size='sm' | default | 'lg'] (h-7 / h-8 / h-12)\r\n :where([mono-menu]) [mono-badge] ≡ .badge — EXTENSION (upstream's rows carry none)\r\n :where([mono-menu]) [mono-subtitle] ≡ EXTENSION ([&>span:last-child]:truncate is upstream's\r\n only nod to a second line)\r\n [mono-color=…] ≡ EXTENSION (upstream has one accent)\r\n\r\n THE ACTIVE ROW IS A NEUTRAL WASH, not a brand gradient. Upstream paints it\r\n `bg-sidebar-accent text-sidebar-accent-foreground font-medium` — a flat\r\n surface tint. The pre-port sheet filled it with a two-stop brand gradient and\r\n a coloured shadow; both are gone. `color` still tints hover and the active\r\n row through `--mono-menu-accent`, and `color=\"surface\"` leaves it upstream's\r\n plain `--sidebar-accent`.\r\n\r\n DARK MODE comes free — every colour resolves through a Basecoat token that\r\n already flips. A selector crosses neither the custom-element host nor the\r\n shadow boundary, so no `.dark` rule can live in component CSS.\r\n\r\n FLAVORS set `--mono-menu-{radius,pad-x,pad-y,height,font,gap,icon-size,\r\n subheader-*,badge-*}` (+ the per-density forms); every fallback here is\r\n vega's value (`node scripts/basecoat-styles.mjs --grep \"sidebar nav\"`).\r\n ========================================================================= */\r\n\r\nmono-menu,\r\nmono-menu-list {\r\n display: block;\r\n}\r\n\r\n/* =========================================\r\n Root — the group\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> > [role=group] — relative flex w-full min-w-0 flex-col */\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav > section > [role=group] — p-2 text-sm */\r\n[mono-menu] {\r\n /* ── the roles, each a public knob over a Basecoat token ────────────────── */\r\n --_mono-menu-primary: var(--mono-menu-primary, var(--primary));\r\n --_mono-menu-secondary: var(--mono-menu-secondary, var(--secondary-foreground));\r\n --_mono-menu-success: var(--mono-menu-success, var(--success));\r\n --_mono-menu-danger: var(--mono-menu-danger, var(--destructive));\r\n --_mono-menu-warning: var(--mono-menu-warning, var(--warning));\r\n --_mono-menu-info: var(--mono-menu-info, var(--info));\r\n --_mono-menu-teal: var(--mono-menu-teal, var(--teal));\r\n --_mono-menu-purple: var(--mono-menu-purple, var(--purple));\r\n --_mono-menu-neutral: var(--mono-menu-neutral, var(--neutral));\r\n --_mono-menu-dark: var(--mono-menu-dark, var(--dark));\r\n\r\n --_mono-menu-accent: var(--mono-menu-accent, var(--_mono-menu-accent-preset, var(--_mono-menu-primary)));\r\n --_mono-menu-on-accent: var(--mono-menu-on-accent, var(--_mono-menu-on-accent-preset, var(--primary-foreground)));\r\n\r\n /* ── ink and surface — upstream's own chrome tokens ──────────────────────\r\n basecoat@1.0.2 styles/vega.css .sidebar nav — bg-sidebar text-sidebar-foreground */\r\n --_mono-menu-surface: var(--mono-menu-surface, transparent);\r\n --_mono-menu-text: var(--mono-menu-text, var(--sidebar-foreground));\r\n /* basecoat@1.0.2 styles/vega.css .sidebar nav h3 — text-sidebar-foreground/70 …:\r\n upstream's muted chrome ink is the row ink at 70%. */\r\n --_mono-menu-text-soft: var(--mono-menu-text-soft, color-mix(in oklab, var(--_mono-menu-text) 70%, transparent));\r\n --_mono-menu-text-faint: var(--mono-menu-text-faint, color-mix(in oklab, var(--_mono-menu-text) 50%, transparent));\r\n /* basecoat@1.0.2 styles/vega.css .sidebar nav [role=separator] — border-sidebar-border mx-2 */\r\n --_mono-menu-border: var(--mono-menu-border, var(--sidebar-border));\r\n --_mono-menu-border-lite: var(--mono-menu-border-lite, var(--_mono-menu-border));\r\n\r\n /* ── the row's resting / hover / active paint ────────────────────────────\r\n basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button), .sidebar nav li > details > summary — ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-sm focus-visible:ring-2 text-left focus-visible:outline-hidden data-[open]:hover:bg-sidebar-accent data-[open]:hover:text-sidebar-accent-foreground [&>svg]:shrink-0 [&>svg]:size-4\r\n Hover is a SURFACE wash upstream, not the brand — so the role only tints\r\n it, at `--mono-mode-tint`, and `color=\"surface\"` leaves it exactly\r\n `--sidebar-accent`. */\r\n --_mono-menu-hover-tint: var(--mono-menu-hover-tint, var(--_mono-menu-hover-tint-preset, var(--mono-mode-tint)));\r\n --_mono-menu-hover-bg: var(--mono-menu-hover-bg, color-mix(in oklab, var(--_mono-menu-accent) var(--_mono-menu-hover-tint), var(--sidebar-accent)));\r\n --_mono-menu-hover-color: var(--mono-menu-hover-color, var(--sidebar-accent-foreground));\r\n --_mono-menu-hover-border-color: var(--mono-menu-hover-border-color, transparent);\r\n\r\n /* basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button):is([aria-current=page], [data-active=true]), .sidebar nav li > details > summary:is([aria-current=page], [data-active=true]) — bg-sidebar-accent text-sidebar-accent-foreground font-medium */\r\n --_mono-menu-active-tint: var(--mono-menu-active-tint, var(--_mono-menu-active-tint-preset, var(--mono-mode-tint-hover)));\r\n --_mono-menu-active-bg: var(--mono-menu-active-bg, color-mix(in oklab, var(--_mono-menu-accent) var(--_mono-menu-active-tint), var(--sidebar-accent)));\r\n --_mono-menu-active-color: var(--mono-menu-active-color, var(--_mono-menu-active-color-preset, var(--_mono-menu-accent)));\r\n --_mono-menu-active-weight: var(--mono-menu-active-weight, var(--mono-font-weight-medium));\r\n /* the pre-port glow; upstream has none, so it starts at nothing */\r\n --_mono-menu-active-shadow: var(--mono-menu-active-shadow, none);\r\n\r\n /* ── comfortable metrics live on the unqualified root ON PURPOSE ─────────\r\n basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button):not([data-size]), .sidebar nav li > details > summary:not([data-size]), .sidebar nav li > :is(a, button)[data-size=default], .sidebar nav li > details > summary[data-size=default] — h-8 text-sm */\r\n --_mono-menu-height: var(--mono-menu-height, var(--_mono-menu-height-preset, var(--mono-menu-height-comfortable, calc(var(--mono-spacing) * 8))));\r\n --_mono-menu-pad-x: var(--mono-menu-pad-x, var(--_mono-menu-pad-x-preset, var(--mono-menu-pad-x-comfortable, calc(var(--mono-spacing) * 2))));\r\n --_mono-menu-pad-y: var(--mono-menu-pad-y, var(--_mono-menu-pad-y-preset, var(--mono-menu-pad-y-comfortable, calc(var(--mono-spacing) * 2))));\r\n --_mono-menu-font: var(--mono-menu-font, var(--_mono-menu-font-preset, var(--mono-menu-font-comfortable, var(--mono-text-sm))));\r\n --_mono-menu-line-height: var(--mono-menu-line-height, var(--_mono-menu-line-height-preset, var(--mono-text-sm--lh)));\r\n /* basecoat@1.0.2 styles/vega.css .sidebar nav > section > [role=group] > ul — gap-1 */\r\n --_mono-menu-gap: var(--mono-menu-gap, var(--_mono-menu-gap-preset, var(--mono-menu-gap-comfortable, var(--mono-spacing))));\r\n /* the row's own gap — `gap-2` between icon, label and append */\r\n --_mono-menu-row-gap: var(--mono-menu-row-gap, calc(var(--mono-spacing) * 2));\r\n --_mono-menu-radius: var(--mono-menu-radius, var(--_mono-menu-radius-preset, var(--mono-menu-radius-comfortable, var(--mono-radius-md))));\r\n /* `[&>svg]:size-4` */\r\n --_mono-menu-icon-size: var(--mono-menu-icon-size, var(--_mono-menu-icon-size-preset, var(--mono-menu-icon-size-comfortable, calc(var(--mono-spacing) * 4))));\r\n /* the group's own padding — `p-2` */\r\n --_mono-menu-group-pad: var(--mono-menu-group-pad, var(--_mono-menu-group-pad-preset, var(--mono-menu-group-pad-comfortable, calc(var(--mono-spacing) * 2))));\r\n /* ── the nested tree — EXTENSION ─────────────────────────────────────────\r\n Upstream nests a list and leaves it flush — `.sidebar nav … ul > ul` is only\r\n `flex min-w-0 flex-col` — so a child list reads as one straight column with\r\n its parent. mono keeps its pre-port tree affordance instead: a child list\r\n steps in by one gutter and hangs off a guide rule drawn under the centre of\r\n the parent row's icon, so depth is legible without reading the labels. */\r\n --_mono-menu-indent: var(--mono-menu-indent, var(--_mono-menu-indent-preset, var(--mono-menu-indent-comfortable, calc(var(--mono-spacing) * 4))));\r\n --_mono-menu-guide-width: var(--mono-menu-guide-width, var(--mono-border-width));\r\n --_mono-menu-guide-color: var(--mono-menu-guide-color, var(--_mono-menu-border-lite));\r\n /* the guide lines up with the middle of the parent row's icon */\r\n --_mono-menu-guide-offset: var(--mono-menu-guide-offset, calc(var(--_mono-menu-pad-x) + (var(--_mono-menu-icon-size) / 2)));\r\n\r\n /* ── the subheader — `.sidebar nav h3` ───────────────────────────────────\r\n basecoat@1.0.2 styles/vega.css .sidebar nav h3 — text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium focus-visible:ring-2 [&>svg]:size-4 transition-[margin,opacity] duration-200 ease-linear */\r\n --_mono-menu-subheader-height: var(--mono-menu-subheader-height, calc(var(--mono-spacing) * 8));\r\n --_mono-menu-subheader-pad-x: var(--mono-menu-subheader-pad-x, var(--_mono-menu-subheader-pad-x-preset, calc(var(--mono-spacing) * 2)));\r\n --_mono-menu-subheader-font: var(--mono-menu-subheader-font, var(--mono-text-xs));\r\n --_mono-menu-subheader-weight: var(--mono-menu-subheader-weight, var(--mono-font-weight-medium));\r\n --_mono-menu-subheader-transform: var(--mono-menu-subheader-transform, none);\r\n --_mono-menu-subheader-tracking: var(--mono-menu-subheader-tracking, normal);\r\n --_mono-menu-subheader-radius: var(--mono-menu-subheader-radius, var(--_mono-menu-subheader-radius-preset, var(--mono-radius-md)));\r\n\r\n /* ── the badge — EXTENSION, borrowing `.badge`'s shape ───────────────────\r\n basecoat@1.0.2 styles/vega.css .badge — h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all [&>svg]:size-3! */\r\n --_mono-menu-badge-height: var(--mono-menu-badge-height, calc(var(--mono-spacing) * 5));\r\n --_mono-menu-badge-pad-x: var(--mono-menu-badge-pad-x, calc(var(--mono-spacing) * 2));\r\n --_mono-menu-badge-radius: var(--mono-menu-badge-radius, var(--mono-radius-4xl));\r\n --_mono-menu-badge-font: var(--mono-menu-badge-font, var(--mono-text-xs));\r\n --_mono-menu-badge-weight: var(--mono-menu-badge-weight, var(--mono-font-weight-medium));\r\n --_mono-menu-badge-bg: var(--mono-menu-badge-bg, var(--secondary));\r\n --_mono-menu-badge-color: var(--mono-menu-badge-color, var(--secondary-foreground));\r\n\r\n /* the two knobs a rail collapses with — the sidebar writes them */\r\n /* ── the rail-collapse contract ──────────────────────────────────────────\r\n A sidebar in collapsed rail mode hands these down as inherited custom\r\n properties, because a descendant selector cannot reach a slotted SHADOW\r\n menu's rows. Every one of them has to be consumed here or the collapse\r\n only happens in the build the sidebar's own legacy class rules could\r\n reach — which is exactly how the light build ended up centring its rows\r\n while the shadow build and the hand-written twins did not. */\r\n --_mono-menu-label-display: var(--mono-menu-label-display, inline-flex);\r\n /* the same switch, for the parts whose natural display is block-level */\r\n --_mono-menu-block-display: var(--mono-menu-label-display, list-item);\r\n --_mono-menu-row-display: var(--mono-menu-row-display, list-item);\r\n --_mono-menu-row-justify: var(--mono-menu-row-justify, normal);\r\n --_mono-menu-action-width: var(--mono-menu-action-width, 100%);\r\n --_mono-menu-action-justify: var(--mono-menu-action-justify, flex-start);\r\n --_mono-menu-action-gap: var(--mono-menu-action-gap, var(--_mono-menu-row-gap));\r\n\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n min-width: 0;\r\n padding: var(--_mono-menu-group-pad);\r\n font-family: inherit;\r\n font-size: var(--_mono-menu-font);\r\n color: var(--_mono-menu-text);\r\n background: var(--_mono-menu-surface);\r\n}\r\n\r\n[mono-menu],\r\n:where([mono-menu]) *,\r\n:where([mono-menu]) *::before,\r\n:where([mono-menu]) *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n/* =========================================\r\n Density — upstream's `data-size` ladder\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button)[data-size=sm], .sidebar nav li > details > summary[data-size=sm] — h-7 text-xs */\r\n[mono-menu][mono-density=\"compact\"] {\r\n --_mono-menu-height-preset: var(--mono-menu-height-compact, calc(var(--mono-spacing) * 7));\r\n --_mono-menu-pad-x-preset: var(--mono-menu-pad-x-compact, calc(var(--mono-spacing) * 2));\r\n --_mono-menu-pad-y-preset: var(--mono-menu-pad-y-compact, calc(var(--mono-spacing) * 1));\r\n --_mono-menu-font-preset: var(--mono-menu-font-compact, var(--mono-text-xs));\r\n --_mono-menu-line-height-preset: var(--mono-text-xs--lh);\r\n --_mono-menu-gap-preset: var(--mono-menu-gap-compact, calc(var(--mono-spacing) * 0.5));\r\n --_mono-menu-icon-size-preset: var(--mono-menu-icon-size-compact, calc(var(--mono-spacing) * 3.5));\r\n --_mono-menu-group-pad-preset: var(--mono-menu-group-pad-compact, calc(var(--mono-spacing) * 1.5));\r\n --_mono-menu-indent-preset: var(--mono-menu-indent-compact, calc(var(--mono-spacing) * 3.5));\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button)[data-size=lg], .sidebar nav li > details > summary[data-size=lg] — h-12 text-sm */\r\n[mono-menu][mono-density=\"default\"] {\r\n --_mono-menu-height-preset: var(--mono-menu-height-default, calc(var(--mono-spacing) * 12));\r\n --_mono-menu-pad-x-preset: var(--mono-menu-pad-x-default, calc(var(--mono-spacing) * 2));\r\n --_mono-menu-pad-y-preset: var(--mono-menu-pad-y-default, calc(var(--mono-spacing) * 2));\r\n --_mono-menu-font-preset: var(--mono-menu-font-default, var(--mono-text-sm));\r\n --_mono-menu-gap-preset: var(--mono-menu-gap-default, calc(var(--mono-spacing) * 1.5));\r\n --_mono-menu-icon-size-preset: var(--mono-menu-icon-size-default, calc(var(--mono-spacing) * 5));\r\n --_mono-menu-group-pad-preset: var(--mono-menu-group-pad-default, calc(var(--mono-spacing) * 3));\r\n --_mono-menu-indent-preset: var(--mono-menu-indent-default, calc(var(--mono-spacing) * 4.5));\r\n}\r\n\r\n/* =========================================\r\n Colours — EXTENSION: the role TINTS upstream's neutral wash\r\n ========================================= */\r\n\r\n[mono-menu][mono-color=\"primary\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-primary);\r\n --_mono-menu-on-accent-preset: var(--primary-foreground);\r\n}\r\n[mono-menu][mono-color=\"secondary\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-secondary);\r\n --_mono-menu-on-accent-preset: var(--secondary);\r\n}\r\n[mono-menu][mono-color=\"success\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-success);\r\n --_mono-menu-on-accent-preset: var(--success-foreground);\r\n}\r\n[mono-menu][mono-color=\"danger\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-danger);\r\n --_mono-menu-on-accent-preset: var(--destructive-foreground);\r\n}\r\n[mono-menu][mono-color=\"warning\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-warning);\r\n --_mono-menu-on-accent-preset: var(--warning-foreground);\r\n}\r\n[mono-menu][mono-color=\"info\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-info);\r\n --_mono-menu-on-accent-preset: var(--info-foreground);\r\n}\r\n[mono-menu][mono-color=\"teal\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-teal);\r\n --_mono-menu-on-accent-preset: var(--teal-foreground);\r\n}\r\n[mono-menu][mono-color=\"purple\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-purple);\r\n --_mono-menu-on-accent-preset: var(--purple-foreground);\r\n}\r\n[mono-menu][mono-color=\"neutral\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-neutral);\r\n --_mono-menu-on-accent-preset: var(--neutral-foreground);\r\n}\r\n[mono-menu][mono-color=\"dark\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-dark);\r\n --_mono-menu-on-accent-preset: var(--dark-foreground);\r\n}\r\n\r\n/* `surface` is upstream exactly: the wash is `--sidebar-accent`, untinted, and\r\n the active row is inked `--sidebar-accent-foreground` rather than a role. */\r\n[mono-menu][mono-color=\"surface\"] {\r\n --_mono-menu-hover-tint-preset: 0%;\r\n --_mono-menu-active-tint-preset: 0%;\r\n --_mono-menu-active-color-preset: var(--sidebar-accent-foreground);\r\n}\r\n\r\n/* =========================================\r\n The list\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul — flex w-full min-w-0 flex-col */\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav > section > [role=group] > ul — gap-1\r\n The root is in the selector so `.vp-doc ul, .vp-doc ol` (0,1,1) cannot inject\r\n the left padding that would break a flush menu. */\r\n:where([mono-menu]) [mono-list] {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n min-width: 0;\r\n gap: var(--_mono-menu-gap);\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n}\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul >> ul — flex min-w-0 flex-col\r\n Upstream stops at the flex column. The rest is mono's own tree affordance:\r\n the child list is pushed in under the parent row's icon, hangs off a guide\r\n rule, and clears the row above it by one list gap — a nested `ul` is a block\r\n child of its `li`, so the parent list's `gap` never reaches it.\r\n\r\n `:has(> *)` because a declarative row always renders its children list, even\r\n with no children in it: an empty one would otherwise hang a guide off every\r\n leaf row and push the next row down by a gap. */\r\n:where([mono-menu]) [mono-list] [mono-list]:has(> *) {\r\n width: auto;\r\n margin-top: var(--_mono-menu-gap);\r\n margin-inline-start: var(--_mono-menu-guide-offset);\r\n padding-inline-start: var(--_mono-menu-indent);\r\n border-inline-start: var(--_mono-menu-guide-width) solid var(--_mono-menu-guide-color);\r\n}\r\n\r\n/* The DECLARATIVE body (`slot=\"body\"` + `<mono-menu-list>`). Each top-level\r\n row renders its own `<ul mono-list>`, so they are siblings of one another\r\n rather than `li`s of one list — nothing was left to carry the row gap, and a\r\n declarative menu's top-level rows sat flush while an items-driven one (and\r\n every hand-written twin) spaced them. Lay the body out as the list would, and\r\n dissolve the element the author hung `slot=\"body\"` on so the rows become its\r\n own children. */\r\n:where([mono-menu]) [mono-body] {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n min-width: 0;\r\n gap: var(--_mono-menu-gap);\r\n}\r\n\r\n:where([mono-menu]) [mono-body] > [mono-slotted] {\r\n display: contents;\r\n}\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul >> li — relative */\r\n:where([mono-menu]) [mono-item] {\r\n position: relative;\r\n display: var(--_mono-menu-row-display);\r\n justify-content: var(--_mono-menu-row-justify);\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n}\r\n\r\n/* =========================================\r\n The row\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul >> li >> > a, > button, > details > summary — flex w-full items-center overflow-hidden text-left outline-hidden transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0 */\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button), .sidebar nav li > details > summary — ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-sm focus-visible:ring-2 text-left focus-visible:outline-hidden data-[open]:hover:bg-sidebar-accent data-[open]:hover:text-sidebar-accent-foreground [&>svg]:shrink-0 [&>svg]:size-4 */\r\n:where([mono-menu]) :is([mono-action], [mono-group-header]) {\r\n display: flex;\r\n align-items: center;\r\n justify-content: var(--_mono-menu-action-justify);\r\n gap: var(--_mono-menu-action-gap);\r\n width: var(--_mono-menu-action-width);\r\n min-height: var(--_mono-menu-height);\r\n padding: var(--_mono-menu-pad-y) var(--_mono-menu-pad-x);\r\n border: var(--mono-border-width) solid transparent;\r\n border-radius: var(--_mono-menu-radius);\r\n background: transparent;\r\n color: inherit;\r\n font: inherit;\r\n font-size: var(--_mono-menu-font);\r\n line-height: var(--_mono-menu-line-height);\r\n text-align: left;\r\n text-decoration: none;\r\n overflow: hidden;\r\n cursor: pointer;\r\n outline: none;\r\n transition:\r\n background-color var(--mono-duration) var(--mono-ease),\r\n color var(--mono-duration) var(--mono-ease),\r\n border-color var(--mono-duration) var(--mono-ease);\r\n}\r\n\r\n/* VitePress's `.vp-doc a` (0,1,1) underlines and re-inks every link. */\r\n[mono-menu] a[mono-action] {\r\n text-decoration: none;\r\n color: inherit;\r\n}\r\n\r\n[mono-menu] a[mono-action]::after {\r\n display: none !important;\r\n}\r\n\r\n@media (hover: hover) {\r\n [mono-menu] :is([mono-action], [mono-group-header]):hover {\r\n background: var(--_mono-menu-hover-bg);\r\n color: var(--_mono-menu-hover-color);\r\n border-color: var(--_mono-menu-hover-border-color);\r\n }\r\n}\r\n\r\n/* `focus-visible:ring-2` on `ring-sidebar-ring` */\r\n[mono-menu] :is([mono-action], [mono-group-header]):focus-visible {\r\n outline: none;\r\n box-shadow: 0 0 0 var(--mono-ring-width)\r\n color-mix(in oklab, var(--sidebar-ring, var(--ring)) var(--mono-ring-alpha), transparent);\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button):is([aria-current=page], [data-active=true]), .sidebar nav li > details > summary:is([aria-current=page], [data-active=true]) — bg-sidebar-accent text-sidebar-accent-foreground font-medium\r\n A flat wash and a weight step — NOT the pre-port brand gradient and glow. */\r\n[mono-menu] [mono-item][mono-active] > :is([mono-action], [mono-group-header]) {\r\n background: var(--_mono-menu-active-bg);\r\n color: var(--_mono-menu-active-color);\r\n font-weight: var(--_mono-menu-active-weight);\r\n box-shadow: var(--_mono-menu-active-shadow);\r\n}\r\n\r\n/* `disabled:pointer-events-none disabled:opacity-50 aria-disabled:…` */\r\n[mono-menu] [mono-item][mono-disabled] > :is([mono-action], [mono-group-header]),\r\n[mono-menu] :is([mono-action], [mono-group-header]):disabled,\r\n[mono-menu][mono-disabled] :is([mono-action], [mono-group-header]) {\r\n opacity: var(--mono-disabled-opacity, 0.5);\r\n pointer-events: none;\r\n cursor: not-allowed;\r\n}\r\n\r\n/* `plain` — the non-`nav` mode: rows read as list entries, not links. */\r\n[mono-menu][mono-plain] :is([mono-action], [mono-group-header]) {\r\n border-radius: 0;\r\n}\r\n\r\n/* =========================================\r\n Row content\r\n ========================================= */\r\n\r\n/* `[&>svg]:shrink-0 [&>svg]:size-4` */\r\n:where([mono-menu]) [mono-icon] {\r\n flex-shrink: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-menu-icon-size);\r\n height: var(--_mono-menu-icon-size);\r\n font-size: var(--_mono-menu-icon-size);\r\n line-height: 1;\r\n}\r\n\r\n/* Three shapes end up inside the box and all must fill it:\r\n shadow build, user-slotted → <slot> → ::slotted(svg)\r\n light build, user-slotted → <span data-mono-slot=\"icon-<id>\"> → svg\r\n inline `item.icon` markup → a direct child svg\r\n The light placeholder parks the captured child, so the SVG is a GRANDchild\r\n and a `> svg` rule misses it entirely. */\r\n[mono-menu] [mono-icon] > svg,\r\n[mono-menu] [mono-icon] > [data-mono-slot] > svg,\r\n[mono-menu] [mono-icon] slot::slotted(svg) {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n[mono-menu] [mono-icon] > [data-mono-slot] {\r\n display: contents;\r\n}\r\n\r\n/* Class + attribute = specificity (0,2,0), deliberately. UnoCSS's `i-…`\r\n utilities set `width`/`height: 1.2em` (presetIcons `scale: 1.2`) at (0,1,0)\r\n and their sheet loads AFTER this one, so a single selector loses and the\r\n glyph overflows its box. Two selectors win regardless of sheet order — and it\r\n is the only thing that works for the SHADOW build, where this span is a\r\n LIGHT-DOM child of the host that no shadow-scoped selector can reach.\r\n Scoped to the menu: its OWN class (every build sets it on the span — the shadow\r\n build's span is a light-DOM child of the host, outside [mono-menu]) OR anything\r\n inside a [mono-menu] root (raw CSS markup writes a bare\r\n `<span mono-glyph class=\"i-…\">`). Still (0,2,0): `:is()` weighs its heaviest\r\n argument. A bare `[mono-glyph][mono-glyph]` is global and stretched every other\r\n component's `[mono-glyph]` to 100% — the accordion's icon chip filled its header. */\r\n:is(.mono-menu-iconify, [mono-menu] *)[mono-glyph] {\r\n display: inline-block;\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n color: inherit;\r\n}\r\n\r\n/* An `alias` icon is the placeholder a row shows when it has no glyph of its\r\n own — a dimmed dot rather than a hole in the column. */\r\n[mono-menu] [mono-icon][mono-alias] {\r\n opacity: 0.55;\r\n}\r\n\r\n/* `[&>span:last-child]:truncate` */\r\n:where([mono-menu]) [mono-content] {\r\n display: var(--_mono-menu-label-display);\r\n flex-direction: column;\r\n justify-content: center;\r\n min-width: 0;\r\n flex: 1;\r\n overflow: hidden;\r\n}\r\n\r\n:where([mono-menu]) [mono-title] {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: inherit;\r\n color: inherit;\r\n}\r\n\r\n:where([mono-menu]) [mono-subtitle] {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: var(--mono-text-xs);\r\n line-height: var(--mono-text-xs--lh);\r\n color: var(--_mono-menu-text-soft);\r\n}\r\n\r\n:where([mono-menu]) [mono-append] {\r\n flex-shrink: 0;\r\n display: var(--_mono-menu-label-display);\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-menu-icon-size);\r\n height: var(--_mono-menu-icon-size);\r\n color: var(--_mono-menu-text-faint);\r\n}\r\n\r\n/* =========================================\r\n Group — upstream's `<details><summary>`\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul >> li >> > details >> > summary >> &::after — ms-auto block size-3.5 bg-current content-[''] transition-transform ease-linear */\r\n:where([mono-menu]) [mono-chevron] {\r\n flex-shrink: 0;\r\n display: var(--_mono-menu-label-display);\r\n align-items: center;\r\n justify-content: center;\r\n margin-inline-start: auto;\r\n width: calc(var(--mono-spacing) * 3.5);\r\n height: calc(var(--mono-spacing) * 3.5);\r\n color: var(--_mono-menu-text-faint);\r\n transition: rotate var(--mono-duration) linear;\r\n}\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul >> li >> > details >> &:not([open]) >> > summary >> &::after — -rotate-90 rtl:rotate-90\r\n Upstream's marker is a chevron-DOWN, so it rotates the CLOSED state a quarter\r\n turn back to point along the reading direction. mono's marker is a\r\n chevron-RIGHT, which already points that way at rest — so the rotation\r\n belongs on the OPEN state instead. Taking upstream's rule literally left an\r\n open group pointing right and a closed one pointing up. */\r\n[mono-menu] [mono-group][mono-open] > [mono-group-header] > [mono-chevron] {\r\n rotate: 90deg;\r\n}\r\n\r\n[dir=\"rtl\"] [mono-menu] [mono-group]:not([mono-open]) > [mono-group-header] > [mono-chevron] {\r\n rotate: 180deg;\r\n}\r\n\r\n[mono-menu] [mono-group]:not([mono-open]) > [mono-group-body] {\r\n display: none;\r\n}\r\n\r\n[mono-menu] [mono-group] > [mono-group-body] {\r\n display: var(--mono-menu-group-children-display, flex);\r\n}\r\n\r\n/* =========================================\r\n Subheader and divider\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> h3 — flex shrink-0 items-center outline-hidden transition-[margin,opacity] duration-200 ease-linear [&>svg]:shrink-0 */\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav h3 — text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium focus-visible:ring-2 [&>svg]:size-4 transition-[margin,opacity] duration-200 ease-linear */\r\n:where([mono-menu]) [mono-subheader] {\r\n flex-shrink: 0;\r\n display: var(--_mono-menu-label-display);\r\n align-items: center;\r\n height: var(--_mono-menu-subheader-height);\r\n padding: 0 var(--_mono-menu-subheader-pad-x);\r\n margin: 0;\r\n border-radius: var(--_mono-menu-subheader-radius);\r\n list-style: none;\r\n font-size: var(--_mono-menu-subheader-font);\r\n font-weight: var(--_mono-menu-subheader-weight);\r\n text-transform: var(--_mono-menu-subheader-transform);\r\n letter-spacing: var(--_mono-menu-subheader-tracking);\r\n color: var(--_mono-menu-text-soft);\r\n}\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> [role=separator] — w-auto */\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav [role=separator] — border-sidebar-border mx-2 */\r\n:where([mono-menu]) [mono-divider] {\r\n display: var(--_mono-menu-block-display);\r\n width: auto;\r\n height: 0;\r\n /* `mx-2` and nothing else: upstream gives the separator no block margin at\r\n all, because it is a flex item of the list and the list's own `gap` already\r\n spaces it from the rows either side. Adding a block margin on top double-\r\n spaced it — and put the one property on this row that `.vp-doc li + li`\r\n (0,1,2) could out-specify. */\r\n margin-inline: calc(var(--mono-spacing) * 2);\r\n padding: 0;\r\n border: 0;\r\n border-top: var(--mono-border-width) solid var(--_mono-menu-border-lite);\r\n list-style: none;\r\n}\r\n\r\n/* =========================================\r\n Badge — EXTENSION, borrowing `.badge`'s shape\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .badge — h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all [&>svg]:size-3! */\r\n:where([mono-menu]) [mono-badge] {\r\n flex-shrink: 0;\r\n display: var(--_mono-menu-label-display);\r\n align-items: center;\r\n justify-content: center;\r\n gap: var(--mono-spacing);\r\n margin-inline-start: auto;\r\n height: var(--_mono-menu-badge-height);\r\n padding: 0 var(--_mono-menu-badge-pad-x);\r\n border: var(--mono-border-width) solid transparent;\r\n border-radius: var(--_mono-menu-badge-radius);\r\n font-size: var(--_mono-menu-badge-font);\r\n font-weight: var(--_mono-menu-badge-weight);\r\n line-height: 1;\r\n background: var(--_mono-menu-badge-bg);\r\n color: var(--_mono-menu-badge-color);\r\n}\r\n\r\n[mono-menu] [mono-badge=\"primary\"] {\r\n background: color-mix(in oklab, var(--_mono-menu-primary) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-menu-primary);\r\n}\r\n[mono-menu] [mono-badge=\"success\"] {\r\n background: color-mix(in oklab, var(--_mono-menu-success) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-menu-success);\r\n}\r\n[mono-menu] [mono-badge=\"danger\"] {\r\n background: color-mix(in oklab, var(--_mono-menu-danger) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-menu-danger);\r\n}\r\n[mono-menu] [mono-badge=\"warning\"] {\r\n background: color-mix(in oklab, var(--_mono-menu-warning) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-menu-warning);\r\n}\r\n[mono-menu] [mono-badge=\"info\"] {\r\n background: color-mix(in oklab, var(--_mono-menu-info) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-menu-info);\r\n}\r\n\r\n/* =========================================\r\n Reduced motion\r\n ========================================= */\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n [mono-menu] :is([mono-action], [mono-group-header], [mono-chevron]) {\r\n transition: none;\r\n }\r\n}\r\n";
|
|
831
|
+
//#region \0raw:C:\Users\VCT-DEV\Desktop\libs\packages\helper\src\components\menu\menu.css?raw.js
|
|
832
|
+
var menu_css_raw_default = "/* @unocss-include */\r\n\r\n/* =========================================================================\r\n mono-menu — a port of Basecoat's sidebar NAVIGATION (basecoat-css@1.0.2,\r\n vega style).\r\n\r\n Basecoat has no standalone menu, but it has the thing a menu is: the list\r\n inside `.sidebar nav` — a group, its rows, its headings and its separators.\r\n That block is also the richest per-flavor surface in the whole vendor sheet,\r\n so this port is where a flavor finally gets to say what a nav row looks like.\r\n\r\n Styled by ATTRIBUTE, and the attributes mirror the element's props one for\r\n one, so hand-written markup reads like the Lit / Vue tag:\r\n\r\n <mono-menu density=\"compact\" color=\"success\" :nav=\"false\">\r\n <nav mono-menu mono-density=\"compact\" mono-color=\"success\" mono-plain\r\n role=\"navigation\">\r\n <ul mono-list>\r\n <li mono-item mono-active>\r\n <a mono-action href=\"/\" aria-current=\"page\">\r\n <span mono-icon>…</span>\r\n <span mono-content>\r\n <span mono-title>Dashboard</span>\r\n <span mono-subtitle>Overview</span>\r\n </span>\r\n <span mono-badge=\"info\">3</span>\r\n </a>\r\n </li>\r\n <li mono-divider role=\"separator\"></li>\r\n <li mono-subheader>Section</li>\r\n </ul>\r\n </nav>\r\n\r\n An absent attribute is the prop's default (`:not([mono-density])` =\r\n comfortable, `:not([mono-color])` = primary, and `nav` defaults to TRUE so\r\n `mono-plain` is what the other mode says). The old classes\r\n (`.mono-menu.comfortable.primary.nav`) are still emitted as inert hooks\r\n until 2.0 but no rule here reads them.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-menu] ≡ .sidebar nav > section > [role=group]\r\n (relative flex w-full min-w-0 flex-col, p-2 text-sm)\r\n :where([mono-menu]) [mono-list] ≡ .sidebar nav ul (flex w-full min-w-0 flex-col, gap-1)\r\n :where([mono-menu]) [mono-item] ≡ .sidebar nav li (relative)\r\n :where([mono-menu]) [mono-action] ≡ .sidebar nav li > :is(a, button) — the row\r\n [mono-active] ≡ [aria-current=page], [data-active=true]\r\n (bg-sidebar-accent text-sidebar-accent-foreground font-medium)\r\n :where([mono-menu]) [mono-subheader] ≡ .sidebar nav h3\r\n :where([mono-menu]) [mono-divider] ≡ .sidebar nav [role=separator] (border-sidebar-border mx-2 w-auto)\r\n :where([mono-menu]) [mono-group-header]≡ details > summary — the same row, plus the chevron\r\n [mono-density=…] ≡ [data-size='sm' | default | 'lg'] (h-7 / h-8 / h-12)\r\n :where([mono-menu]) [mono-badge] ≡ .badge — EXTENSION (upstream's rows carry none)\r\n :where([mono-menu]) [mono-subtitle] ≡ EXTENSION ([&>span:last-child]:truncate is upstream's\r\n only nod to a second line)\r\n [mono-color=…] ≡ EXTENSION (upstream has one accent)\r\n\r\n THE ACTIVE ROW IS A NEUTRAL WASH, not a brand gradient. Upstream paints it\r\n `bg-sidebar-accent text-sidebar-accent-foreground font-medium` — a flat\r\n surface tint. The pre-port sheet filled it with a two-stop brand gradient and\r\n a coloured shadow; both are gone. `color` still tints hover and the active\r\n row through `--mono-menu-accent`, and `color=\"surface\"` leaves it upstream's\r\n plain `--sidebar-accent`.\r\n\r\n DARK MODE comes free — every colour resolves through a Basecoat token that\r\n already flips. A selector crosses neither the custom-element host nor the\r\n shadow boundary, so no `.dark` rule can live in component CSS.\r\n\r\n FLAVORS set `--mono-menu-{radius,pad-x,pad-y,height,font,gap,icon-size,\r\n subheader-*,badge-*}` (+ the per-density forms); every fallback here is\r\n vega's value (`node scripts/basecoat-styles.mjs --grep \"sidebar nav\"`).\r\n ========================================================================= */\r\n\r\nmono-menu,\r\nmono-menu-list {\r\n display: block;\r\n}\r\n\r\n/* =========================================\r\n Root — the group\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> > [role=group] — relative flex w-full min-w-0 flex-col */\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav > section > [role=group] — p-2 text-sm */\r\n[mono-menu] {\r\n /* ── the roles, each a public knob over a Basecoat token ────────────────── */\r\n --_mono-menu-primary: var(--mono-menu-primary, var(--primary));\r\n --_mono-menu-secondary: var(--mono-menu-secondary, var(--secondary-foreground));\r\n --_mono-menu-success: var(--mono-menu-success, var(--success));\r\n --_mono-menu-danger: var(--mono-menu-danger, var(--destructive));\r\n --_mono-menu-warning: var(--mono-menu-warning, var(--warning));\r\n --_mono-menu-info: var(--mono-menu-info, var(--info));\r\n --_mono-menu-teal: var(--mono-menu-teal, var(--teal));\r\n --_mono-menu-purple: var(--mono-menu-purple, var(--purple));\r\n --_mono-menu-neutral: var(--mono-menu-neutral, var(--neutral));\r\n --_mono-menu-dark: var(--mono-menu-dark, var(--dark));\r\n\r\n --_mono-menu-accent: var(--mono-menu-accent, var(--_mono-menu-accent-preset, var(--_mono-menu-primary)));\r\n --_mono-menu-on-accent: var(--mono-menu-on-accent, var(--_mono-menu-on-accent-preset, var(--primary-foreground)));\r\n\r\n /* ── ink and surface — upstream's own chrome tokens ──────────────────────\r\n basecoat@1.0.2 styles/vega.css .sidebar nav — bg-sidebar text-sidebar-foreground */\r\n --_mono-menu-surface: var(--mono-menu-surface, transparent);\r\n --_mono-menu-text: var(--mono-menu-text, var(--sidebar-foreground));\r\n /* basecoat@1.0.2 styles/vega.css .sidebar nav h3 — text-sidebar-foreground/70 …:\r\n upstream's muted chrome ink is the row ink at 70%. */\r\n --_mono-menu-text-soft: var(--mono-menu-text-soft, color-mix(in oklab, var(--_mono-menu-text) 70%, transparent));\r\n --_mono-menu-text-faint: var(--mono-menu-text-faint, color-mix(in oklab, var(--_mono-menu-text) 50%, transparent));\r\n /* basecoat@1.0.2 styles/vega.css .sidebar nav [role=separator] — border-sidebar-border mx-2 */\r\n --_mono-menu-border: var(--mono-menu-border, var(--sidebar-border));\r\n --_mono-menu-border-lite: var(--mono-menu-border-lite, var(--_mono-menu-border));\r\n\r\n /* ── the row's resting / hover / active paint ────────────────────────────\r\n basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button), .sidebar nav li > details > summary — ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-sm focus-visible:ring-2 text-left focus-visible:outline-hidden data-[open]:hover:bg-sidebar-accent data-[open]:hover:text-sidebar-accent-foreground [&>svg]:shrink-0 [&>svg]:size-4\r\n Hover is a SURFACE wash upstream, not the brand — so the role only tints\r\n it, at `--mono-mode-tint`, and `color=\"surface\"` leaves it exactly\r\n `--sidebar-accent`. */\r\n --_mono-menu-hover-tint: var(--mono-menu-hover-tint, var(--_mono-menu-hover-tint-preset, var(--mono-mode-tint)));\r\n --_mono-menu-hover-bg: var(--mono-menu-hover-bg, color-mix(in oklab, var(--_mono-menu-accent) var(--_mono-menu-hover-tint), var(--sidebar-accent)));\r\n --_mono-menu-hover-color: var(--mono-menu-hover-color, var(--sidebar-accent-foreground));\r\n --_mono-menu-hover-border-color: var(--mono-menu-hover-border-color, transparent);\r\n\r\n /* basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button):is([aria-current=page], [data-active=true]), .sidebar nav li > details > summary:is([aria-current=page], [data-active=true]) — bg-sidebar-accent text-sidebar-accent-foreground font-medium */\r\n --_mono-menu-active-tint: var(--mono-menu-active-tint, var(--_mono-menu-active-tint-preset, var(--mono-mode-tint-hover)));\r\n --_mono-menu-active-bg: var(--mono-menu-active-bg, color-mix(in oklab, var(--_mono-menu-accent) var(--_mono-menu-active-tint), var(--sidebar-accent)));\r\n --_mono-menu-active-color: var(--mono-menu-active-color, var(--_mono-menu-active-color-preset, var(--_mono-menu-accent)));\r\n --_mono-menu-active-weight: var(--mono-menu-active-weight, var(--mono-font-weight-medium));\r\n /* the pre-port glow; upstream has none, so it starts at nothing */\r\n --_mono-menu-active-shadow: var(--mono-menu-active-shadow, none);\r\n\r\n /* ── comfortable metrics live on the unqualified root ON PURPOSE ─────────\r\n basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button):not([data-size]), .sidebar nav li > details > summary:not([data-size]), .sidebar nav li > :is(a, button)[data-size=default], .sidebar nav li > details > summary[data-size=default] — h-8 text-sm */\r\n --_mono-menu-height: var(--mono-menu-height, var(--_mono-menu-height-preset, var(--mono-menu-height-comfortable, calc(var(--mono-spacing) * 8))));\r\n --_mono-menu-pad-x: var(--mono-menu-pad-x, var(--_mono-menu-pad-x-preset, var(--mono-menu-pad-x-comfortable, calc(var(--mono-spacing) * 2))));\r\n --_mono-menu-pad-y: var(--mono-menu-pad-y, var(--_mono-menu-pad-y-preset, var(--mono-menu-pad-y-comfortable, calc(var(--mono-spacing) * 2))));\r\n --_mono-menu-font: var(--mono-menu-font, var(--_mono-menu-font-preset, var(--mono-menu-font-comfortable, var(--mono-text-sm))));\r\n --_mono-menu-line-height: var(--mono-menu-line-height, var(--_mono-menu-line-height-preset, var(--mono-text-sm--lh)));\r\n /* basecoat@1.0.2 styles/vega.css .sidebar nav > section > [role=group] > ul — gap-1 */\r\n --_mono-menu-gap: var(--mono-menu-gap, var(--_mono-menu-gap-preset, var(--mono-menu-gap-comfortable, var(--mono-spacing))));\r\n /* the row's own gap — `gap-2` between icon, label and append */\r\n --_mono-menu-row-gap: var(--mono-menu-row-gap, calc(var(--mono-spacing) * 2));\r\n --_mono-menu-radius: var(--mono-menu-radius, var(--_mono-menu-radius-preset, var(--mono-menu-radius-comfortable, var(--mono-radius-md))));\r\n /* `[&>svg]:size-4` */\r\n --_mono-menu-icon-size: var(--mono-menu-icon-size, var(--_mono-menu-icon-size-preset, var(--mono-menu-icon-size-comfortable, calc(var(--mono-spacing) * 4))));\r\n /* the group's own padding — `p-2` */\r\n --_mono-menu-group-pad: var(--mono-menu-group-pad, var(--_mono-menu-group-pad-preset, var(--mono-menu-group-pad-comfortable, calc(var(--mono-spacing) * 2))));\r\n /* ── the nested tree — EXTENSION ─────────────────────────────────────────\r\n Upstream nests a list and leaves it flush — `.sidebar nav … ul > ul` is only\r\n `flex min-w-0 flex-col` — so a child list reads as one straight column with\r\n its parent. mono keeps its pre-port tree affordance instead: a child list\r\n steps in by one gutter and hangs off a guide rule drawn under the centre of\r\n the parent row's icon, so depth is legible without reading the labels. */\r\n --_mono-menu-indent: var(--mono-menu-indent, var(--_mono-menu-indent-preset, var(--mono-menu-indent-comfortable, calc(var(--mono-spacing) * 4))));\r\n --_mono-menu-guide-width: var(--mono-menu-guide-width, var(--mono-border-width));\r\n --_mono-menu-guide-color: var(--mono-menu-guide-color, var(--_mono-menu-border-lite));\r\n /* the guide lines up with the middle of the parent row's icon */\r\n --_mono-menu-guide-offset: var(--mono-menu-guide-offset, calc(var(--_mono-menu-pad-x) + (var(--_mono-menu-icon-size) / 2)));\r\n\r\n /* ── the subheader — `.sidebar nav h3` ───────────────────────────────────\r\n basecoat@1.0.2 styles/vega.css .sidebar nav h3 — text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium focus-visible:ring-2 [&>svg]:size-4 transition-[margin,opacity] duration-200 ease-linear */\r\n --_mono-menu-subheader-height: var(--mono-menu-subheader-height, calc(var(--mono-spacing) * 8));\r\n --_mono-menu-subheader-pad-x: var(--mono-menu-subheader-pad-x, var(--_mono-menu-subheader-pad-x-preset, calc(var(--mono-spacing) * 2)));\r\n --_mono-menu-subheader-font: var(--mono-menu-subheader-font, var(--mono-text-xs));\r\n --_mono-menu-subheader-weight: var(--mono-menu-subheader-weight, var(--mono-font-weight-medium));\r\n --_mono-menu-subheader-transform: var(--mono-menu-subheader-transform, none);\r\n --_mono-menu-subheader-tracking: var(--mono-menu-subheader-tracking, normal);\r\n --_mono-menu-subheader-radius: var(--mono-menu-subheader-radius, var(--_mono-menu-subheader-radius-preset, var(--mono-radius-md)));\r\n\r\n /* ── the badge — EXTENSION, borrowing `.badge`'s shape ───────────────────\r\n basecoat@1.0.2 styles/vega.css .badge — h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all [&>svg]:size-3! */\r\n --_mono-menu-badge-height: var(--mono-menu-badge-height, calc(var(--mono-spacing) * 5));\r\n --_mono-menu-badge-pad-x: var(--mono-menu-badge-pad-x, calc(var(--mono-spacing) * 2));\r\n --_mono-menu-badge-radius: var(--mono-menu-badge-radius, var(--mono-radius-4xl));\r\n --_mono-menu-badge-font: var(--mono-menu-badge-font, var(--mono-text-xs));\r\n --_mono-menu-badge-weight: var(--mono-menu-badge-weight, var(--mono-font-weight-medium));\r\n --_mono-menu-badge-bg: var(--mono-menu-badge-bg, var(--secondary));\r\n --_mono-menu-badge-color: var(--mono-menu-badge-color, var(--secondary-foreground));\r\n\r\n /* the two knobs a rail collapses with — the sidebar writes them */\r\n /* ── the rail-collapse contract ──────────────────────────────────────────\r\n A sidebar in collapsed rail mode hands these down as inherited custom\r\n properties, because a descendant selector cannot reach a slotted SHADOW\r\n menu's rows. Every one of them has to be consumed here or the collapse\r\n only happens in the build the sidebar's own legacy class rules could\r\n reach — which is exactly how the light build ended up centring its rows\r\n while the shadow build and the hand-written twins did not. */\r\n --_mono-menu-label-display: var(--mono-menu-label-display, inline-flex);\r\n /* the same switch, for the parts whose natural display is block-level */\r\n --_mono-menu-block-display: var(--mono-menu-label-display, list-item);\r\n --_mono-menu-row-display: var(--mono-menu-row-display, list-item);\r\n --_mono-menu-row-justify: var(--mono-menu-row-justify, normal);\r\n --_mono-menu-action-width: var(--mono-menu-action-width, 100%);\r\n --_mono-menu-action-justify: var(--mono-menu-action-justify, flex-start);\r\n --_mono-menu-action-gap: var(--mono-menu-action-gap, var(--_mono-menu-row-gap));\r\n\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n min-width: 0;\r\n padding: var(--_mono-menu-group-pad);\r\n font-family: inherit;\r\n font-size: var(--_mono-menu-font);\r\n color: var(--_mono-menu-text);\r\n background: var(--_mono-menu-surface);\r\n}\r\n\r\n[mono-menu],\r\n:where([mono-menu]) *,\r\n:where([mono-menu]) *::before,\r\n:where([mono-menu]) *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n/* =========================================\r\n Density — upstream's `data-size` ladder\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button)[data-size=sm], .sidebar nav li > details > summary[data-size=sm] — h-7 text-xs */\r\n[mono-menu][mono-density=\"compact\"] {\r\n --_mono-menu-height-preset: var(--mono-menu-height-compact, calc(var(--mono-spacing) * 7));\r\n --_mono-menu-pad-x-preset: var(--mono-menu-pad-x-compact, calc(var(--mono-spacing) * 2));\r\n --_mono-menu-pad-y-preset: var(--mono-menu-pad-y-compact, calc(var(--mono-spacing) * 1));\r\n --_mono-menu-font-preset: var(--mono-menu-font-compact, var(--mono-text-xs));\r\n --_mono-menu-line-height-preset: var(--mono-text-xs--lh);\r\n --_mono-menu-gap-preset: var(--mono-menu-gap-compact, calc(var(--mono-spacing) * 0.5));\r\n --_mono-menu-icon-size-preset: var(--mono-menu-icon-size-compact, calc(var(--mono-spacing) * 3.5));\r\n --_mono-menu-group-pad-preset: var(--mono-menu-group-pad-compact, calc(var(--mono-spacing) * 1.5));\r\n --_mono-menu-indent-preset: var(--mono-menu-indent-compact, calc(var(--mono-spacing) * 3.5));\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button)[data-size=lg], .sidebar nav li > details > summary[data-size=lg] — h-12 text-sm */\r\n[mono-menu][mono-density=\"default\"] {\r\n --_mono-menu-height-preset: var(--mono-menu-height-default, calc(var(--mono-spacing) * 12));\r\n --_mono-menu-pad-x-preset: var(--mono-menu-pad-x-default, calc(var(--mono-spacing) * 2));\r\n --_mono-menu-pad-y-preset: var(--mono-menu-pad-y-default, calc(var(--mono-spacing) * 2));\r\n --_mono-menu-font-preset: var(--mono-menu-font-default, var(--mono-text-sm));\r\n --_mono-menu-gap-preset: var(--mono-menu-gap-default, calc(var(--mono-spacing) * 1.5));\r\n --_mono-menu-icon-size-preset: var(--mono-menu-icon-size-default, calc(var(--mono-spacing) * 5));\r\n --_mono-menu-group-pad-preset: var(--mono-menu-group-pad-default, calc(var(--mono-spacing) * 3));\r\n --_mono-menu-indent-preset: var(--mono-menu-indent-default, calc(var(--mono-spacing) * 4.5));\r\n}\r\n\r\n/* =========================================\r\n Colours — EXTENSION: the role TINTS upstream's neutral wash\r\n ========================================= */\r\n\r\n[mono-menu][mono-color=\"primary\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-primary);\r\n --_mono-menu-on-accent-preset: var(--primary-foreground);\r\n}\r\n[mono-menu][mono-color=\"secondary\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-secondary);\r\n --_mono-menu-on-accent-preset: var(--secondary);\r\n}\r\n[mono-menu][mono-color=\"success\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-success);\r\n --_mono-menu-on-accent-preset: var(--success-foreground);\r\n}\r\n[mono-menu][mono-color=\"danger\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-danger);\r\n --_mono-menu-on-accent-preset: var(--destructive-foreground);\r\n}\r\n[mono-menu][mono-color=\"warning\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-warning);\r\n --_mono-menu-on-accent-preset: var(--warning-foreground);\r\n}\r\n[mono-menu][mono-color=\"info\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-info);\r\n --_mono-menu-on-accent-preset: var(--info-foreground);\r\n}\r\n[mono-menu][mono-color=\"teal\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-teal);\r\n --_mono-menu-on-accent-preset: var(--teal-foreground);\r\n}\r\n[mono-menu][mono-color=\"purple\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-purple);\r\n --_mono-menu-on-accent-preset: var(--purple-foreground);\r\n}\r\n[mono-menu][mono-color=\"neutral\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-neutral);\r\n --_mono-menu-on-accent-preset: var(--neutral-foreground);\r\n}\r\n[mono-menu][mono-color=\"dark\"] {\r\n --_mono-menu-accent-preset: var(--_mono-menu-dark);\r\n --_mono-menu-on-accent-preset: var(--dark-foreground);\r\n}\r\n\r\n/* `surface` is upstream exactly: the wash is `--sidebar-accent`, untinted, and\r\n the active row is inked `--sidebar-accent-foreground` rather than a role. */\r\n[mono-menu][mono-color=\"surface\"] {\r\n --_mono-menu-hover-tint-preset: 0%;\r\n --_mono-menu-active-tint-preset: 0%;\r\n --_mono-menu-active-color-preset: var(--sidebar-accent-foreground);\r\n}\r\n\r\n/* =========================================\r\n The list\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul — flex w-full min-w-0 flex-col */\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav > section > [role=group] > ul — gap-1\r\n The root is in the selector so `.vp-doc ul, .vp-doc ol` (0,1,1) cannot inject\r\n the left padding that would break a flush menu. */\r\n:where([mono-menu]) [mono-list] {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n min-width: 0;\r\n gap: var(--_mono-menu-gap);\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n}\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul >> ul — flex min-w-0 flex-col\r\n Upstream stops at the flex column. The rest is mono's own tree affordance:\r\n the child list is pushed in under the parent row's icon, hangs off a guide\r\n rule, and clears the row above it by one list gap — a nested `ul` is a block\r\n child of its `li`, so the parent list's `gap` never reaches it.\r\n\r\n `:has(> *)` because a declarative row always renders its children list, even\r\n with no children in it: an empty one would otherwise hang a guide off every\r\n leaf row and push the next row down by a gap. */\r\n:where([mono-menu]) [mono-list] [mono-list]:has(> *) {\r\n width: auto;\r\n margin-top: var(--_mono-menu-gap);\r\n margin-inline-start: var(--_mono-menu-guide-offset);\r\n padding-inline-start: var(--_mono-menu-indent);\r\n border-inline-start: var(--_mono-menu-guide-width) solid var(--_mono-menu-guide-color);\r\n}\r\n\r\n/* The DECLARATIVE body (`slot=\"body\"` + `<mono-menu-list>`). Each top-level\r\n row renders its own `<ul mono-list>`, so they are siblings of one another\r\n rather than `li`s of one list — nothing was left to carry the row gap, and a\r\n declarative menu's top-level rows sat flush while an items-driven one (and\r\n every hand-written twin) spaced them. Lay the body out as the list would, and\r\n dissolve the element the author hung `slot=\"body\"` on so the rows become its\r\n own children. */\r\n:where([mono-menu]) [mono-body] {\r\n display: flex;\r\n flex-direction: column;\r\n width: 100%;\r\n min-width: 0;\r\n gap: var(--_mono-menu-gap);\r\n}\r\n\r\n:where([mono-menu]) [mono-body] > [mono-slotted] {\r\n display: contents;\r\n}\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul >> li — relative */\r\n:where([mono-menu]) [mono-item] {\r\n position: relative;\r\n display: var(--_mono-menu-row-display);\r\n justify-content: var(--_mono-menu-row-justify);\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n}\r\n\r\n/* =========================================\r\n The row\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul >> li >> > a, > button, > details > summary — flex w-full items-center overflow-hidden text-left outline-hidden transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0 */\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button), .sidebar nav li > details > summary — ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-sm focus-visible:ring-2 text-left focus-visible:outline-hidden data-[open]:hover:bg-sidebar-accent data-[open]:hover:text-sidebar-accent-foreground [&>svg]:shrink-0 [&>svg]:size-4 */\r\n:where([mono-menu]) :is([mono-action], [mono-group-header]) {\r\n display: flex;\r\n align-items: center;\r\n justify-content: var(--_mono-menu-action-justify);\r\n gap: var(--_mono-menu-action-gap);\r\n width: var(--_mono-menu-action-width);\r\n min-height: var(--_mono-menu-height);\r\n padding: var(--_mono-menu-pad-y) var(--_mono-menu-pad-x);\r\n border: var(--mono-border-width) solid transparent;\r\n border-radius: var(--_mono-menu-radius);\r\n background: transparent;\r\n color: inherit;\r\n font: inherit;\r\n font-size: var(--_mono-menu-font);\r\n line-height: var(--_mono-menu-line-height);\r\n text-align: left;\r\n text-decoration: none;\r\n overflow: hidden;\r\n cursor: pointer;\r\n outline: none;\r\n transition:\r\n background-color var(--mono-duration) var(--mono-ease),\r\n color var(--mono-duration) var(--mono-ease),\r\n border-color var(--mono-duration) var(--mono-ease);\r\n}\r\n\r\n/* VitePress's `.vp-doc a` (0,1,1) underlines and re-inks every link. */\r\n[mono-menu] a[mono-action] {\r\n text-decoration: none;\r\n color: inherit;\r\n}\r\n\r\n[mono-menu] a[mono-action]::after {\r\n display: none !important;\r\n}\r\n\r\n@media (hover: hover) {\r\n [mono-menu] :is([mono-action], [mono-group-header]):hover {\r\n background: var(--_mono-menu-hover-bg);\r\n color: var(--_mono-menu-hover-color);\r\n border-color: var(--_mono-menu-hover-border-color);\r\n }\r\n}\r\n\r\n/* `focus-visible:ring-2` on `ring-sidebar-ring` */\r\n[mono-menu] :is([mono-action], [mono-group-header]):focus-visible {\r\n outline: none;\r\n box-shadow: 0 0 0 var(--mono-ring-width)\r\n color-mix(in oklab, var(--sidebar-ring, var(--ring)) var(--mono-ring-alpha), transparent);\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav li > :is(a, button):is([aria-current=page], [data-active=true]), .sidebar nav li > details > summary:is([aria-current=page], [data-active=true]) — bg-sidebar-accent text-sidebar-accent-foreground font-medium\r\n A flat wash and a weight step — NOT the pre-port brand gradient and glow. */\r\n[mono-menu] [mono-item][mono-active] > :is([mono-action], [mono-group-header]) {\r\n background: var(--_mono-menu-active-bg);\r\n color: var(--_mono-menu-active-color);\r\n font-weight: var(--_mono-menu-active-weight);\r\n box-shadow: var(--_mono-menu-active-shadow);\r\n}\r\n\r\n/* `disabled:pointer-events-none disabled:opacity-50 aria-disabled:…` */\r\n[mono-menu] [mono-item][mono-disabled] > :is([mono-action], [mono-group-header]),\r\n[mono-menu] :is([mono-action], [mono-group-header]):disabled,\r\n[mono-menu][mono-disabled] :is([mono-action], [mono-group-header]) {\r\n opacity: var(--mono-disabled-opacity, 0.5);\r\n pointer-events: none;\r\n cursor: not-allowed;\r\n}\r\n\r\n/* `plain` — the non-`nav` mode: rows read as list entries, not links. */\r\n[mono-menu][mono-plain] :is([mono-action], [mono-group-header]) {\r\n border-radius: 0;\r\n}\r\n\r\n/* =========================================\r\n Row content\r\n ========================================= */\r\n\r\n/* `[&>svg]:shrink-0 [&>svg]:size-4` */\r\n:where([mono-menu]) [mono-icon] {\r\n flex-shrink: 0;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-menu-icon-size);\r\n height: var(--_mono-menu-icon-size);\r\n font-size: var(--_mono-menu-icon-size);\r\n line-height: 1;\r\n}\r\n\r\n/* Three shapes end up inside the box and all must fill it:\r\n shadow build, user-slotted → <slot> → ::slotted(svg)\r\n light build, user-slotted → <span data-mono-slot=\"icon-<id>\"> → svg\r\n inline `item.icon` markup → a direct child svg\r\n The light placeholder parks the captured child, so the SVG is a GRANDchild\r\n and a `> svg` rule misses it entirely. */\r\n[mono-menu] [mono-icon] > svg,\r\n[mono-menu] [mono-icon] > [data-mono-slot] > svg,\r\n[mono-menu] [mono-icon] slot::slotted(svg) {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n[mono-menu] [mono-icon] > [data-mono-slot] {\r\n display: contents;\r\n}\r\n\r\n/* Class + attribute = specificity (0,2,0), deliberately. UnoCSS's `i-…`\r\n utilities set `width`/`height: 1.2em` (presetIcons `scale: 1.2`) at (0,1,0)\r\n and their sheet loads AFTER this one, so a single selector loses and the\r\n glyph overflows its box. Two selectors win regardless of sheet order — and it\r\n is the only thing that works for the SHADOW build, where this span is a\r\n LIGHT-DOM child of the host that no shadow-scoped selector can reach.\r\n Scoped to the menu: its OWN class (every build sets it on the span — the shadow\r\n build's span is a light-DOM child of the host, outside [mono-menu]) OR anything\r\n inside a [mono-menu] root (raw CSS markup writes a bare\r\n `<span mono-glyph class=\"i-…\">`). Still (0,2,0): `:is()` weighs its heaviest\r\n argument. A bare `[mono-glyph][mono-glyph]` is global and stretched every other\r\n component's `[mono-glyph]` to 100% — the accordion's icon chip filled its header. */\r\n:is(.mono-menu-iconify, [mono-menu] *)[mono-glyph] {\r\n display: inline-block;\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n color: inherit;\r\n}\r\n\r\n/* An `alias` icon is the placeholder a row shows when it has no glyph of its\r\n own — a dimmed dot rather than a hole in the column. */\r\n[mono-menu] [mono-icon][mono-alias] {\r\n opacity: 0.55;\r\n}\r\n\r\n/* `[&>span:last-child]:truncate` */\r\n:where([mono-menu]) [mono-content] {\r\n display: var(--_mono-menu-label-display);\r\n flex-direction: column;\r\n justify-content: center;\r\n min-width: 0;\r\n flex: 1;\r\n overflow: hidden;\r\n}\r\n\r\n:where([mono-menu]) [mono-title] {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: inherit;\r\n color: inherit;\r\n}\r\n\r\n:where([mono-menu]) [mono-subtitle] {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n font-size: var(--mono-text-xs);\r\n line-height: var(--mono-text-xs--lh);\r\n color: var(--_mono-menu-text-soft);\r\n}\r\n\r\n:where([mono-menu]) [mono-append] {\r\n flex-shrink: 0;\r\n display: var(--_mono-menu-label-display);\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-menu-icon-size);\r\n height: var(--_mono-menu-icon-size);\r\n color: var(--_mono-menu-text-faint);\r\n}\r\n\r\n/* =========================================\r\n Group — upstream's `<details><summary>`\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul >> li >> > details >> > summary >> &::after — ms-auto block size-3.5 bg-current content-[''] transition-transform ease-linear */\r\n:where([mono-menu]) [mono-chevron] {\r\n flex-shrink: 0;\r\n display: var(--_mono-menu-label-display);\r\n align-items: center;\r\n justify-content: center;\r\n margin-inline-start: auto;\r\n width: calc(var(--mono-spacing) * 3.5);\r\n height: calc(var(--mono-spacing) * 3.5);\r\n color: var(--_mono-menu-text-faint);\r\n transition: rotate var(--mono-duration) linear;\r\n}\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> ul >> li >> > details >> &:not([open]) >> > summary >> &::after — -rotate-90 rtl:rotate-90\r\n Upstream's marker is a chevron-DOWN, so it rotates the CLOSED state a quarter\r\n turn back to point along the reading direction. mono's marker is a\r\n chevron-RIGHT, which already points that way at rest — so the rotation\r\n belongs on the OPEN state instead. Taking upstream's rule literally left an\r\n open group pointing right and a closed one pointing up. */\r\n[mono-menu] [mono-group][mono-open] > [mono-group-header] > [mono-chevron] {\r\n rotate: 90deg;\r\n}\r\n\r\n[dir=\"rtl\"] [mono-menu] [mono-group]:not([mono-open]) > [mono-group-header] > [mono-chevron] {\r\n rotate: 180deg;\r\n}\r\n\r\n[mono-menu] [mono-group]:not([mono-open]) > [mono-group-body] {\r\n display: none;\r\n}\r\n\r\n[mono-menu] [mono-group] > [mono-group-body] {\r\n display: var(--mono-menu-group-children-display, flex);\r\n}\r\n\r\n/* =========================================\r\n Subheader and divider\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> > section >> h3 — flex shrink-0 items-center outline-hidden transition-[margin,opacity] duration-200 ease-linear [&>svg]:shrink-0 */\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav h3 — text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium focus-visible:ring-2 [&>svg]:size-4 transition-[margin,opacity] duration-200 ease-linear */\r\n:where([mono-menu]) [mono-subheader] {\r\n flex-shrink: 0;\r\n display: var(--_mono-menu-label-display);\r\n align-items: center;\r\n height: var(--_mono-menu-subheader-height);\r\n padding: 0 var(--_mono-menu-subheader-pad-x);\r\n margin: 0;\r\n border-radius: var(--_mono-menu-subheader-radius);\r\n list-style: none;\r\n font-size: var(--_mono-menu-subheader-font);\r\n font-weight: var(--_mono-menu-subheader-weight);\r\n text-transform: var(--_mono-menu-subheader-transform);\r\n letter-spacing: var(--_mono-menu-subheader-tracking);\r\n color: var(--_mono-menu-text-soft);\r\n}\r\n\r\n/* basecoat@1.0.2 components/sidebar.css .sidebar >> nav >> [role=separator] — w-auto */\r\n/* basecoat@1.0.2 styles/vega.css .sidebar nav [role=separator] — border-sidebar-border mx-2 */\r\n:where([mono-menu]) [mono-divider] {\r\n display: var(--_mono-menu-block-display);\r\n width: auto;\r\n height: 0;\r\n /* `mx-2` and nothing else: upstream gives the separator no block margin at\r\n all, because it is a flex item of the list and the list's own `gap` already\r\n spaces it from the rows either side. Adding a block margin on top double-\r\n spaced it — and put the one property on this row that `.vp-doc li + li`\r\n (0,1,2) could out-specify. */\r\n margin-inline: calc(var(--mono-spacing) * 2);\r\n padding: 0;\r\n border: 0;\r\n border-top: var(--mono-border-width) solid var(--_mono-menu-border-lite);\r\n list-style: none;\r\n}\r\n\r\n/* =========================================\r\n Badge — EXTENSION, borrowing `.badge`'s shape\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .badge — h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all [&>svg]:size-3! */\r\n:where([mono-menu]) [mono-badge] {\r\n flex-shrink: 0;\r\n display: var(--_mono-menu-label-display);\r\n align-items: center;\r\n justify-content: center;\r\n gap: var(--mono-spacing);\r\n margin-inline-start: auto;\r\n height: var(--_mono-menu-badge-height);\r\n padding: 0 var(--_mono-menu-badge-pad-x);\r\n border: var(--mono-border-width) solid transparent;\r\n border-radius: var(--_mono-menu-badge-radius);\r\n font-size: var(--_mono-menu-badge-font);\r\n font-weight: var(--_mono-menu-badge-weight);\r\n line-height: 1;\r\n background: var(--_mono-menu-badge-bg);\r\n color: var(--_mono-menu-badge-color);\r\n}\r\n\r\n[mono-menu] [mono-badge=\"primary\"] {\r\n background: color-mix(in oklab, var(--_mono-menu-primary) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-menu-primary);\r\n}\r\n[mono-menu] [mono-badge=\"success\"] {\r\n background: color-mix(in oklab, var(--_mono-menu-success) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-menu-success);\r\n}\r\n[mono-menu] [mono-badge=\"danger\"] {\r\n background: color-mix(in oklab, var(--_mono-menu-danger) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-menu-danger);\r\n}\r\n[mono-menu] [mono-badge=\"warning\"] {\r\n background: color-mix(in oklab, var(--_mono-menu-warning) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-menu-warning);\r\n}\r\n[mono-menu] [mono-badge=\"info\"] {\r\n background: color-mix(in oklab, var(--_mono-menu-info) var(--mono-mode-tint), transparent);\r\n color: var(--_mono-menu-info);\r\n}\r\n\r\n/* =========================================\r\n Reduced motion\r\n ========================================= */\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n [mono-menu] :is([mono-action], [mono-group-header], [mono-chevron]) {\r\n transition: none;\r\n }\r\n}\r\n";
|
|
833
|
+
|
|
825
834
|
//#endregion
|
|
826
835
|
//#region src/components/menu/mono-menu.shadow.ts
|
|
827
|
-
|
|
836
|
+
let MonoMenuShadow = class MonoMenuShadow extends withShadowUtilityStyles(MonoMenuCore(LitElement)) {
|
|
828
837
|
static {
|
|
829
|
-
this.styles = [unsafeCSS(toShadowCss(
|
|
838
|
+
this.styles = [unsafeCSS(toShadowCss(menu_css_raw_default, { host: "mono-menu" }))];
|
|
830
839
|
}
|
|
831
840
|
_useIconSlots() {
|
|
832
841
|
return true;
|
|
@@ -895,5 +904,6 @@ var MonoMenuShadow = class MonoMenuShadow extends withShadowUtilityStyles(MonoMe
|
|
|
895
904
|
}
|
|
896
905
|
};
|
|
897
906
|
MonoMenuShadow = __decorate([customElement("mono-shadow-menu")], MonoMenuShadow);
|
|
907
|
+
|
|
898
908
|
//#endregion
|
|
899
|
-
export { MonoMenuCore, MonoMenuShadow, collectDefaultOpenGroups, findActivePath, findItem, generateMenuRootClasses, getMenuAlias, isDivider, isGroup, isIconifyClass, isItem, isSubheader, renderMenuAppend, renderMenuBadge, renderMenuDivider, renderMenuGroup, renderMenuGroupsOnly, renderMenuIcon, renderMenuItemRow, renderMenuList, renderMenuSubheader, validateMenuProps };
|
|
909
|
+
export { MonoMenuCore, MonoMenuShadow, collectDefaultOpenGroups, findActivePath, findItem, generateMenuRootClasses, getMenuAlias, isDivider, isGroup, isIconifyClass, isItem, isSubheader, renderMenuAppend, renderMenuBadge, renderMenuDivider, renderMenuGroup, renderMenuGroupsOnly, renderMenuIcon, renderMenuItemRow, renderMenuList, renderMenuSubheader, validateMenuProps };
|