@mono-lit/helper 0.0.0-stage β 0.0.2
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/LICENSE.md +55 -0
- package/README.md +35 -3
- package/dist/breakpoints-CAbhDUht.js +84 -0
- package/dist/checkbox-Cqpie9Ap.js +4 -0
- package/dist/chip-DBUUa2eB.js +4 -0
- package/dist/chip-limits-BMoO31JM.js +213 -0
- package/dist/chip-strip-Cw3gyz0q.js +213 -0
- package/dist/color-DHYrfXsX.js +253 -0
- package/dist/css-class-BRKRzHx-.js +60 -0
- package/dist/css-size-DhHSVZJK.js +37 -0
- package/dist/data/theme/presets.json.d.ts +140 -0
- package/dist/data-source-controller-B_rgHCjw.js +241 -0
- package/dist/data-source-controller-Dbb4fd8I.js +241 -0
- package/dist/data-source-options-CP-X62Pa.js +535 -0
- package/dist/data-source-options-Jqj7LU3Z.js +537 -0
- package/dist/data-source-read-B4DGp6UQ.js +216 -0
- package/dist/data-source-read-DL88aH8t.js +217 -0
- package/dist/decorate-DEXtNagw.js +141 -0
- package/dist/element-props-CLB6yvbm.js +114 -0
- package/dist/esm-Ptok4SQZ.js +2026 -0
- package/dist/excel-CY6zGkcx.js +608 -0
- package/dist/excel-DopRbEMK.js +608 -0
- package/dist/export-BiGVyxt6.js +2302 -0
- package/dist/export.d.ts +1 -0
- package/dist/export.js +2302 -0
- package/dist/field-icons-DELrSdqJ.js +86 -0
- package/dist/field-path-C92eGLg3.js +251 -0
- package/dist/filter-builder-Bke3qOgJ.js +205 -0
- package/dist/filter-builder-CE4zE0V5.js +205 -0
- package/dist/filter-eval-DIfU2EAn.js +173 -0
- package/dist/filter-odata-C1vSGZaY.js +591 -0
- package/dist/form-control-core-B8d7k6vk.js +223 -0
- package/dist/form-control-core-eeRr0zLU.js +223 -0
- package/dist/hydration-flush-RB5Tz5nl.js +1001 -0
- package/dist/icon-CJkTlmTb.js +55 -0
- package/dist/icon-dVhYJUIH.js +17 -0
- package/dist/import-BgJdkwBI.js +606 -0
- package/dist/import.d.ts +1 -0
- package/dist/import.js +606 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +16 -0
- package/dist/index.node-BIqEGehH.js +396 -0
- package/dist/index.node.d.ts +1 -0
- package/dist/index.node.js +16 -0
- package/dist/input-zGOULADt.js +4 -0
- package/dist/layout-var-CZnzMC0s.js +73 -0
- package/dist/light-slots-BVJwyg_2.js +244 -0
- package/dist/light-slots-DW1WgfgT.js +254 -0
- package/dist/markdown-DfqrfOJN.js +20146 -0
- package/dist/mono-button-simcTQdW.js +873 -0
- package/dist/mono-button.shadow-B_rKOY9N.js +784 -0
- package/dist/mono-data-chart-CEv29_NS.js +779 -0
- package/dist/mono-data-dropdown-Wnoke6zO.js +357 -0
- package/dist/mono-data-grid-CjkEqxgE.js +3913 -0
- package/dist/mono-data-grid-YjR3n9Ar.js +3915 -0
- package/dist/mono-element-B0kP_96P.js +232 -0
- package/dist/mono-event-Bi1qP9uN.js +129 -0
- package/dist/mono-form-controller-5PfsU4qa.js +409 -0
- package/dist/mono-modal-controller-BMO3n3rP.js +223 -0
- package/dist/mono-ui-CPV7rrdo.js +358 -0
- package/dist/normalize-error-Gcgmgh5i.js +871 -0
- package/dist/notifier-CE4yxMUQ.js +88 -0
- package/dist/nuxt.d.ts +1 -0
- package/dist/nuxt.js +130 -0
- package/dist/popup-portal-BziRX1yG.js +465 -0
- package/dist/popup-stack-CEEMib__.js +189 -0
- package/dist/rate-limit-BBa2PO79.js +521 -0
- package/dist/reactive-D3EERqgO.js +47 -0
- package/dist/reactive-Di3mTMnV.js +1087 -0
- package/dist/search.d.ts +1 -0
- package/dist/search.js +97 -0
- package/dist/src/components/accordion/accordion-core.d.ts +62 -0
- package/dist/src/components/accordion/accordion-types.d.ts +62 -0
- package/dist/src/components/accordion/index.d.ts +3 -0
- package/dist/src/components/accordion/index.shadow.d.ts +5 -0
- package/dist/src/components/accordion/mono-accordion.d.ts +55 -0
- package/dist/src/components/accordion/mono-accordion.shadow.d.ts +56 -0
- package/dist/src/components/alert/alert-core.d.ts +46 -0
- package/dist/src/components/alert/alert-types.d.ts +44 -0
- package/dist/src/components/alert/index.d.ts +3 -0
- package/dist/src/components/alert/index.shadow.d.ts +5 -0
- package/dist/src/components/alert/mono-alert.d.ts +44 -0
- package/dist/src/components/alert/mono-alert.shadow.d.ts +34 -0
- package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +61 -0
- package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +49 -0
- package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +31 -0
- package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +117 -0
- package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +43 -0
- package/dist/src/components/breadcrumb/index.d.ts +6 -0
- package/dist/src/components/breadcrumb/index.shadow.d.ts +8 -0
- package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +29 -0
- package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +48 -0
- package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +38 -0
- package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +73 -0
- package/dist/src/components/button/button-core.d.ts +90 -0
- package/dist/src/components/button/button-dropdown-core.d.ts +57 -0
- package/dist/src/components/button/button-dropdown-types.d.ts +129 -0
- package/dist/src/components/button/button-types.d.ts +219 -0
- package/dist/src/components/button/button-utils.d.ts +18 -0
- package/dist/src/components/button/index.button-dropdown.d.ts +4 -0
- package/dist/src/components/button/index.button-dropdown.shadow.d.ts +4 -0
- package/dist/src/components/button/index.d.ts +8 -0
- package/dist/src/components/button/index.shadow.d.ts +5 -0
- package/dist/src/components/button/mono-button-dropdown.d.ts +35 -0
- package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +45 -0
- package/dist/src/components/button/mono-button.d.ts +123 -0
- package/dist/src/components/button/mono-button.shadow.d.ts +56 -0
- package/dist/src/components/card/card-core.d.ts +75 -0
- package/dist/src/components/card/card-types.d.ts +137 -0
- package/dist/src/components/card/card-utils.d.ts +23 -0
- package/dist/src/components/card/index.d.ts +4 -0
- package/dist/src/components/card/index.shadow.d.ts +6 -0
- package/dist/src/components/card/mono-card.d.ts +56 -0
- package/dist/src/components/card/mono-card.shadow.d.ts +52 -0
- package/dist/src/components/chart/chart-core.d.ts +43 -0
- package/dist/src/components/chart/chart-odata.d.ts +52 -0
- package/dist/src/components/chart/chart-types.d.ts +356 -0
- package/dist/src/components/chart/index.d.ts +8 -0
- package/dist/src/components/chart/index.shadow.d.ts +7 -0
- package/dist/src/components/chart/mono-chart-presets.d.ts +43 -0
- package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +43 -0
- package/dist/src/components/chart/mono-chart.d.ts +30 -0
- package/dist/src/components/chart/mono-chart.shadow.d.ts +22 -0
- package/dist/src/components/chart/mono-data-chart.d.ts +27 -0
- package/dist/src/components/checkbox/checkbox-core.d.ts +53 -0
- package/dist/src/components/checkbox/checkbox-types.d.ts +69 -0
- package/dist/src/components/checkbox/checkbox-utils.d.ts +35 -0
- package/dist/src/components/checkbox/index.d.ts +4 -0
- package/dist/src/components/checkbox/index.shadow.d.ts +5 -0
- package/dist/src/components/checkbox/mono-checkbox.d.ts +34 -0
- package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +45 -0
- package/dist/src/components/chip/chip-core.d.ts +58 -0
- package/dist/src/components/chip/chip-types.d.ts +142 -0
- package/dist/src/components/chip/chip-utils.d.ts +24 -0
- package/dist/src/components/chip/index.d.ts +8 -0
- package/dist/src/components/chip/index.shadow.d.ts +6 -0
- package/dist/src/components/chip/mono-chip.d.ts +48 -0
- package/dist/src/components/chip/mono-chip.shadow.d.ts +33 -0
- package/dist/src/components/chip/mono-status-dot.d.ts +34 -0
- package/dist/src/components/date/date-core.d.ts +80 -0
- package/dist/src/components/date/date-types.d.ts +163 -0
- package/dist/src/components/date/index.d.ts +3 -0
- package/dist/src/components/date/index.shadow.d.ts +4 -0
- package/dist/src/components/date/mono-date.d.ts +22 -0
- package/dist/src/components/date/mono-date.shadow.d.ts +31 -0
- package/dist/src/components/drawer/drawer-core.d.ts +99 -0
- package/dist/src/components/drawer/drawer-types.d.ts +153 -0
- package/dist/src/components/drawer/index.d.ts +3 -0
- package/dist/src/components/drawer/index.shadow.d.ts +4 -0
- package/dist/src/components/drawer/mono-drawer.d.ts +45 -0
- package/dist/src/components/drawer/mono-drawer.shadow.d.ts +46 -0
- package/dist/src/components/dropdown/dropdown-core.d.ts +33 -0
- package/dist/src/components/dropdown/dropdown-types.d.ts +88 -0
- package/dist/src/components/dropdown/index.d.ts +3 -0
- package/dist/src/components/dropdown/index.shadow.d.ts +4 -0
- package/dist/src/components/dropdown/mono-dropdown.d.ts +34 -0
- package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +28 -0
- package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +65 -0
- package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +278 -0
- package/dist/src/components/dropdown-table/index.d.ts +5 -0
- package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -0
- package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +152 -0
- package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +46 -0
- package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +22 -0
- package/dist/src/components/file-upload/file-upload-core.d.ts +60 -0
- package/dist/src/components/file-upload/file-upload-types.d.ts +145 -0
- package/dist/src/components/file-upload/file-upload-utils.d.ts +16 -0
- package/dist/src/components/file-upload/index.d.ts +4 -0
- package/dist/src/components/file-upload/index.shadow.d.ts +5 -0
- package/dist/src/components/file-upload/mono-file-upload.d.ts +33 -0
- package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +50 -0
- package/dist/src/components/filter/filter-builder-core.d.ts +36 -0
- package/dist/src/components/filter/filter-builder.d.ts +23 -0
- package/dist/src/components/filter/filter-odata.d.ts +27 -0
- package/dist/src/components/filter/filter-operators.d.ts +13 -0
- package/dist/src/components/filter/filter-types.d.ts +253 -0
- package/dist/src/components/filter/index.d.ts +6 -0
- package/dist/src/components/filter/index.shadow.d.ts +7 -0
- package/dist/src/components/filter/mono-filter-builder.d.ts +21 -0
- package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +17 -0
- package/dist/src/components/form/form-control-core.d.ts +37 -0
- package/dist/src/components/form/form-rules.d.ts +25 -0
- package/dist/src/components/form/form-types.d.ts +307 -0
- package/dist/src/components/form/index.d.ts +6 -0
- package/dist/src/components/form/mono-form-controller.d.ts +16 -0
- package/dist/src/components/input/index.d.ts +6 -0
- package/dist/src/components/input/index.shadow.d.ts +8 -0
- package/dist/src/components/input/input-core.d.ts +91 -0
- package/dist/src/components/input/input-format.d.ts +118 -0
- package/dist/src/components/input/input-types.d.ts +179 -0
- package/dist/src/components/input/input-utils.d.ts +10 -0
- package/dist/src/components/input/mono-input.d.ts +46 -0
- package/dist/src/components/input/mono-input.shadow.d.ts +34 -0
- package/dist/src/components/menu/index.d.ts +6 -0
- package/dist/src/components/menu/index.shadow.d.ts +7 -0
- package/dist/src/components/menu/menu-core.d.ts +65 -0
- package/dist/src/components/menu/menu-render.d.ts +55 -0
- package/dist/src/components/menu/menu-types.d.ts +195 -0
- package/dist/src/components/menu/menu-utils.d.ts +53 -0
- package/dist/src/components/menu/mono-menu-list.d.ts +118 -0
- package/dist/src/components/menu/mono-menu.d.ts +39 -0
- package/dist/src/components/menu/mono-menu.shadow.d.ts +40 -0
- package/dist/src/components/modal/index.d.ts +4 -0
- package/dist/src/components/modal/index.shadow.d.ts +5 -0
- package/dist/src/components/modal/modal-core.d.ts +110 -0
- package/dist/src/components/modal/modal-types.d.ts +304 -0
- package/dist/src/components/modal/mono-modal-controller.d.ts +4 -0
- package/dist/src/components/modal/mono-modal.d.ts +45 -0
- package/dist/src/components/modal/mono-modal.shadow.d.ts +50 -0
- package/dist/src/components/nav/index.d.ts +4 -0
- package/dist/src/components/nav/index.shadow.d.ts +6 -0
- package/dist/src/components/nav/mono-nav.d.ts +41 -0
- package/dist/src/components/nav/mono-nav.shadow.d.ts +21 -0
- package/dist/src/components/nav/nav-core.d.ts +34 -0
- package/dist/src/components/nav/nav-types.d.ts +48 -0
- package/dist/src/components/nav/nav-utils.d.ts +12 -0
- package/dist/src/components/radio/index.d.ts +4 -0
- package/dist/src/components/radio/index.shadow.d.ts +5 -0
- package/dist/src/components/radio/mono-radio.d.ts +31 -0
- package/dist/src/components/radio/mono-radio.shadow.d.ts +35 -0
- package/dist/src/components/radio/radio-core.d.ts +45 -0
- package/dist/src/components/radio/radio-types.d.ts +58 -0
- package/dist/src/components/radio/radio-utils.d.ts +12 -0
- package/dist/src/components/rich-text-editor/index.d.ts +5 -0
- package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -0
- package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +31 -0
- package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +34 -0
- package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +100 -0
- package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +17 -0
- package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +65 -0
- package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +231 -0
- package/dist/src/components/select/index.d.ts +4 -0
- package/dist/src/components/select/index.shadow.d.ts +5 -0
- package/dist/src/components/select/mono-select.d.ts +69 -0
- package/dist/src/components/select/mono-select.shadow.d.ts +48 -0
- package/dist/src/components/select/select-core.d.ts +98 -0
- package/dist/src/components/select/select-types.d.ts +284 -0
- package/dist/src/components/select/select-utils.d.ts +7 -0
- package/dist/src/components/sidebar/index.d.ts +4 -0
- package/dist/src/components/sidebar/index.shadow.d.ts +6 -0
- package/dist/src/components/sidebar/mono-sidebar.d.ts +34 -0
- package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +27 -0
- package/dist/src/components/sidebar/sidebar-core.d.ts +51 -0
- package/dist/src/components/sidebar/sidebar-types.d.ts +119 -0
- package/dist/src/components/sidebar/sidebar-utils.d.ts +55 -0
- package/dist/src/components/switch/index.d.ts +4 -0
- package/dist/src/components/switch/index.shadow.d.ts +5 -0
- package/dist/src/components/switch/mono-switch.d.ts +31 -0
- package/dist/src/components/switch/mono-switch.shadow.d.ts +36 -0
- package/dist/src/components/switch/switch-core.d.ts +49 -0
- package/dist/src/components/switch/switch-types.d.ts +64 -0
- package/dist/src/components/switch/switch-utils.d.ts +12 -0
- package/dist/src/components/table/array-source.d.ts +44 -0
- package/dist/src/components/table/date-filter-tree.d.ts +93 -0
- package/dist/src/components/table/grouping.d.ts +55 -0
- package/dist/src/components/table/index.d.ts +33 -0
- package/dist/src/components/table/index.shadow.d.ts +47 -0
- package/dist/src/components/table/mono-data-grid.d.ts +1756 -0
- package/dist/src/components/table/mono-table-checkbox-core.d.ts +76 -0
- package/dist/src/components/table/mono-table-checkbox.d.ts +34 -0
- package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +26 -0
- package/dist/src/components/table/mono-table-detail-core.d.ts +87 -0
- package/dist/src/components/table/mono-table-detail.d.ts +32 -0
- package/dist/src/components/table/mono-table-detail.shadow.d.ts +31 -0
- package/dist/src/components/table/mono-table-empty-core.d.ts +60 -0
- package/dist/src/components/table/mono-table-empty.d.ts +35 -0
- package/dist/src/components/table/mono-table-empty.shadow.d.ts +40 -0
- package/dist/src/components/table/mono-table-error-core.d.ts +84 -0
- package/dist/src/components/table/mono-table-error.d.ts +28 -0
- package/dist/src/components/table/mono-table-error.shadow.d.ts +21 -0
- package/dist/src/components/table/mono-table-info-core.d.ts +13 -0
- package/dist/src/components/table/mono-table-info.d.ts +19 -0
- package/dist/src/components/table/mono-table-info.shadow.d.ts +14 -0
- package/dist/src/components/table/mono-table-loading-core.d.ts +41 -0
- package/dist/src/components/table/mono-table-loading.d.ts +50 -0
- package/dist/src/components/table/mono-table-loading.shadow.d.ts +14 -0
- package/dist/src/components/table/mono-table-page-size-core.d.ts +14 -0
- package/dist/src/components/table/mono-table-page-size.d.ts +16 -0
- package/dist/src/components/table/mono-table-page-size.shadow.d.ts +11 -0
- package/dist/src/components/table/mono-table-paging-core.d.ts +22 -0
- package/dist/src/components/table/mono-table-paging-group-core.d.ts +18 -0
- package/dist/src/components/table/mono-table-paging-group.d.ts +20 -0
- package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +13 -0
- package/dist/src/components/table/mono-table-paging.d.ts +16 -0
- package/dist/src/components/table/mono-table-paging.shadow.d.ts +11 -0
- package/dist/src/components/table/mono-table-search-core.d.ts +74 -0
- package/dist/src/components/table/mono-table-search.d.ts +34 -0
- package/dist/src/components/table/mono-table-search.shadow.d.ts +21 -0
- package/dist/src/components/table/mono-table-sort-core.d.ts +35 -0
- package/dist/src/components/table/mono-table-sort.d.ts +38 -0
- package/dist/src/components/table/mono-table-sort.shadow.d.ts +20 -0
- package/dist/src/components/table/mono-table-summary-core.d.ts +26 -0
- package/dist/src/components/table/mono-table-summary.d.ts +24 -0
- package/dist/src/components/table/mono-table-summary.shadow.d.ts +14 -0
- package/dist/src/components/table/mono-table-th-core.d.ts +56 -0
- package/dist/src/components/table/mono-table-th.d.ts +41 -0
- package/dist/src/components/table/mono-table-th.shadow.d.ts +19 -0
- package/dist/src/components/table/store-group-source.d.ts +24 -0
- package/dist/src/components/table/table-controller-core.d.ts +40 -0
- package/dist/src/components/table/table-filter-icons.d.ts +3 -0
- package/dist/src/components/table/table-menu-core.d.ts +65 -0
- package/dist/src/components/table/table-overlay.d.ts +165 -0
- package/dist/src/components/table/table-sort-icons.d.ts +4 -0
- package/dist/src/components/table/table-sort-utils.d.ts +20 -0
- package/dist/src/components/table/table-types.d.ts +475 -0
- package/dist/src/components/tabs/index.d.ts +3 -0
- package/dist/src/components/tabs/index.shadow.d.ts +4 -0
- package/dist/src/components/tabs/mono-tabs.d.ts +33 -0
- package/dist/src/components/tabs/mono-tabs.shadow.d.ts +37 -0
- package/dist/src/components/tabs/tabs-core.d.ts +57 -0
- package/dist/src/components/tabs/tabs-types.d.ts +65 -0
- package/dist/src/components/tag-input/index.d.ts +4 -0
- package/dist/src/components/tag-input/index.shadow.d.ts +5 -0
- package/dist/src/components/tag-input/mono-tag-input.d.ts +66 -0
- package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +40 -0
- package/dist/src/components/tag-input/tag-input-core.d.ts +108 -0
- package/dist/src/components/tag-input/tag-input-types.d.ts +420 -0
- package/dist/src/components/tag-input/tag-input-utils.d.ts +8 -0
- package/dist/src/components/textarea/index.d.ts +4 -0
- package/dist/src/components/textarea/index.shadow.d.ts +5 -0
- package/dist/src/components/textarea/mono-textarea.d.ts +29 -0
- package/dist/src/components/textarea/mono-textarea.shadow.d.ts +31 -0
- package/dist/src/components/textarea/textarea-core.d.ts +60 -0
- package/dist/src/components/textarea/textarea-types.d.ts +131 -0
- package/dist/src/components/textarea/textarea-utils.d.ts +7 -0
- package/dist/src/components/tooltip/control-tooltip.d.ts +36 -0
- package/dist/src/components/tooltip/index.d.ts +6 -0
- package/dist/src/components/tooltip/tooltip-config.d.ts +27 -0
- package/dist/src/components/tooltip/tooltip-declarative.d.ts +41 -0
- package/dist/src/components/tooltip/tooltip-loader.d.ts +1 -0
- package/dist/src/components/tooltip/tooltip-types.d.ts +110 -0
- package/dist/src/composables/breakpoints.d.ts +59 -0
- package/dist/src/composables/chip-limits.d.ts +48 -0
- package/dist/src/composables/chip-strip.d.ts +93 -0
- package/dist/src/composables/color.d.ts +103 -0
- package/dist/src/composables/css-class.d.ts +27 -0
- package/dist/src/composables/css-size.d.ts +40 -0
- package/dist/src/composables/data-source-controller.d.ts +113 -0
- package/dist/src/composables/element-props.d.ts +46 -0
- package/dist/src/composables/field-icons.d.ts +15 -0
- package/dist/src/composables/hybird-prop.d.ts +79 -0
- package/dist/src/composables/hydration-flush.d.ts +34 -0
- package/dist/src/composables/icon.d.ts +17 -0
- package/dist/src/composables/layout-var.d.ts +34 -0
- package/dist/src/composables/light-slots.d.ts +133 -0
- package/dist/src/composables/mdi-glyphs.d.ts +4 -0
- package/dist/src/composables/mono-element.d.ts +9 -0
- package/dist/src/composables/mono-event.d.ts +55 -0
- package/dist/src/composables/mono-pending.d.ts +8 -0
- package/dist/src/composables/mono-skeleton.d.ts +193 -0
- package/dist/src/composables/mono-ui.d.ts +58 -0
- package/dist/src/composables/notifier.d.ts +46 -0
- package/dist/src/composables/popup-portal.d.ts +226 -0
- package/dist/src/composables/popup-stack.d.ts +70 -0
- package/dist/src/composables/rate-limit.d.ts +108 -0
- package/dist/src/composables/reactive.d.ts +53 -0
- package/dist/src/composables/shadow-css.d.ts +42 -0
- package/dist/src/composables/visibility.d.ts +36 -0
- package/dist/src/data/theme/index.d.ts +30 -0
- package/dist/src/data/theme/presets.d.ts +94 -0
- package/dist/src/entries/index.d.ts +2 -0
- package/dist/src/entries/index.node.d.ts +42 -0
- package/dist/src/entries/search.d.ts +3 -0
- package/dist/src/export/detail.d.ts +29 -0
- package/dist/src/export/download.d.ts +9 -0
- package/dist/src/export/excel/index.d.ts +27 -0
- package/dist/src/export/excel/nodes.d.ts +123 -0
- package/dist/src/export/expression.d.ts +36 -0
- package/dist/src/export/helpers.d.ts +6 -0
- package/dist/src/export/index.d.ts +13 -0
- package/dist/src/export/markdown.d.ts +52 -0
- package/dist/src/export/resolve-data.d.ts +31 -0
- package/dist/src/export/sentinel.d.ts +97 -0
- package/dist/src/export/sheet-name.d.ts +45 -0
- package/dist/src/export/styles.d.ts +33 -0
- package/dist/src/export/template.d.ts +10 -0
- package/dist/src/export/types.d.ts +259 -0
- package/dist/src/import/coerce.d.ts +38 -0
- package/dist/src/import/index.d.ts +16 -0
- package/dist/src/import/match.d.ts +54 -0
- package/dist/src/import/parse.d.ts +15 -0
- package/dist/src/import/types.d.ts +153 -0
- package/dist/src/nuxt/index.d.ts +94 -0
- package/dist/src/search/data-search.d.ts +207 -0
- package/dist/src/search/field-path.d.ts +107 -0
- package/dist/src/search/filter-eval.d.ts +30 -0
- package/dist/src/search/index.d.ts +22 -0
- package/dist/src/search/odata-search.d.ts +18 -0
- package/dist/src/search/search-expr.d.ts +160 -0
- package/dist/src/utils/data-source-apply.d.ts +97 -0
- package/dist/src/utils/data-source-options.d.ts +116 -0
- package/dist/src/utils/data-source-read.d.ts +85 -0
- package/dist/src/utils/data-source-summary.d.ts +55 -0
- package/dist/src/utils/normalize-error.d.ts +90 -0
- package/dist/src/vite/index.d.ts +48 -0
- package/dist/src/vite/mono-client-only.d.ts +35 -0
- package/dist/src/vite/mono-ssr-stub.d.ts +20 -0
- package/dist/src/vite/shadow-manifest.d.ts +8 -0
- package/dist/styles-BIJ31TM4.js +20146 -0
- package/dist/tooltip-DQqNpqk2.js +795 -0
- package/dist/tooltip.d.ts +1 -0
- package/dist/tooltip.js +2 -0
- package/dist/ui/accordion.d.ts +1 -0
- package/dist/ui/accordion.js +466 -0
- package/dist/ui/alert.d.ts +1 -0
- package/dist/ui/alert.js +221 -0
- package/dist/ui/breadcrumb.d.ts +1 -0
- package/dist/ui/breadcrumb.js +902 -0
- package/dist/ui/button-dropdown.d.ts +1 -0
- package/dist/ui/button-dropdown.js +679 -0
- package/dist/ui/button.d.ts +1 -0
- package/dist/ui/button.js +63 -0
- package/dist/ui/card.d.ts +1 -0
- package/dist/ui/card.js +524 -0
- package/dist/ui/chart.d.ts +1 -0
- package/dist/ui/chart.js +885 -0
- package/dist/ui/checkbox.d.ts +1 -0
- package/dist/ui/checkbox.js +413 -0
- package/dist/ui/chip.d.ts +1 -0
- package/dist/ui/chip.js +558 -0
- package/dist/ui/date.d.ts +1 -0
- package/dist/ui/date.js +686 -0
- package/dist/ui/drawer.d.ts +1 -0
- package/dist/ui/drawer.js +901 -0
- package/dist/ui/dropdown-table.d.ts +1 -0
- package/dist/ui/dropdown-table.js +1291 -0
- package/dist/ui/dropdown.d.ts +1 -0
- package/dist/ui/dropdown.js +586 -0
- package/dist/ui/file-upload.d.ts +1 -0
- package/dist/ui/file-upload.js +688 -0
- package/dist/ui/filter.d.ts +1 -0
- package/dist/ui/filter.js +400 -0
- package/dist/ui/font/files/geist-47c091c9.woff2 +0 -0
- package/dist/ui/font/files/geist-8dd77544.woff2 +0 -0
- package/dist/ui/font/files/geist-b9248b1e.woff2 +0 -0
- package/dist/ui/font/files/geist-d40d74b4.woff2 +0 -0
- package/dist/ui/font/files/geist-f493429a.woff2 +0 -0
- package/dist/ui/font/files/geistmono-03737868.woff2 +0 -0
- package/dist/ui/font/files/geistmono-421a7e38.woff2 +0 -0
- package/dist/ui/font/files/geistmono-48ef518d.woff2 +0 -0
- package/dist/ui/font/files/geistmono-5df35d39.woff2 +0 -0
- package/dist/ui/font/files/geistmono-7de289a4.woff2 +0 -0
- package/dist/ui/font/files/geistmono-e976128f.woff2 +0 -0
- package/dist/ui/font/files/inter-05cf802c.woff2 +0 -0
- package/dist/ui/font/files/inter-2b2f25a4.woff2 +0 -0
- package/dist/ui/font/files/inter-467acc7a.woff2 +0 -0
- package/dist/ui/font/files/inter-6e85163c.woff2 +0 -0
- package/dist/ui/font/files/inter-7048add3.woff2 +0 -0
- package/dist/ui/font/files/inter-9be0371e.woff2 +0 -0
- package/dist/ui/font/files/inter-a28b7e31.woff2 +0 -0
- package/dist/ui/font/files/poppins-054df55a.woff2 +0 -0
- package/dist/ui/font/files/poppins-0ee5dc9a.woff2 +0 -0
- package/dist/ui/font/files/poppins-0f44cb18.woff2 +0 -0
- package/dist/ui/font/files/poppins-0ff0d30c.woff2 +0 -0
- package/dist/ui/font/files/poppins-13045147.woff2 +0 -0
- package/dist/ui/font/files/poppins-1db57cd9.woff2 +0 -0
- package/dist/ui/font/files/poppins-2cf2a902.woff2 +0 -0
- package/dist/ui/font/files/poppins-39e7f079.woff2 +0 -0
- package/dist/ui/font/files/poppins-9607042d.woff2 +0 -0
- package/dist/ui/font/files/poppins-9a88fc1f.woff2 +0 -0
- package/dist/ui/font/files/poppins-b8f4f752.woff2 +0 -0
- package/dist/ui/font/files/poppins-f5e57db4.woff2 +0 -0
- package/dist/ui/font/geist-mono.css +104 -0
- package/dist/ui/font/geist.css +168 -0
- package/dist/ui/font/inter.css +232 -0
- package/dist/ui/font/poppins.css +104 -0
- package/dist/ui/form.d.ts +1 -0
- package/dist/ui/form.js +3 -0
- package/dist/ui/index.css +21989 -0
- package/dist/ui/input.d.ts +1 -0
- package/dist/ui/input.js +1176 -0
- package/dist/ui/menu.d.ts +1 -0
- package/dist/ui/menu.js +1289 -0
- package/dist/ui/modal.d.ts +1 -0
- package/dist/ui/modal.js +996 -0
- package/dist/ui/nav.d.ts +1 -0
- package/dist/ui/nav.js +295 -0
- package/dist/ui/radio.d.ts +1 -0
- package/dist/ui/radio.js +379 -0
- package/dist/ui/rich-text-editor.d.ts +1 -0
- package/dist/ui/rich-text-editor.js +1338 -0
- package/dist/ui/select.d.ts +1 -0
- package/dist/ui/select.js +2200 -0
- package/dist/ui/shadow/accordion.js +442 -0
- package/dist/ui/shadow/alert.js +218 -0
- package/dist/ui/shadow/breadcrumb.js +919 -0
- package/dist/ui/shadow/button-dropdown.js +696 -0
- package/dist/ui/shadow/button.js +63 -0
- package/dist/ui/shadow/card.js +538 -0
- package/dist/ui/shadow/chart.js +1685 -0
- package/dist/ui/shadow/checkbox.js +457 -0
- package/dist/ui/shadow/chip.js +559 -0
- package/dist/ui/shadow/date.js +712 -0
- package/dist/ui/shadow/drawer.js +869 -0
- package/dist/ui/shadow/dropdown-table.js +1620 -0
- package/dist/ui/shadow/dropdown.js +547 -0
- package/dist/ui/shadow/file-upload.js +731 -0
- package/dist/ui/shadow/filter.js +402 -0
- package/dist/ui/shadow/input.js +1150 -0
- package/dist/ui/shadow/menu.js +899 -0
- package/dist/ui/shadow/modal.js +1194 -0
- package/dist/ui/shadow/nav.js +240 -0
- package/dist/ui/shadow/radio.js +408 -0
- package/dist/ui/shadow/rich-text-editor.js +1344 -0
- package/dist/ui/shadow/select.js +2167 -0
- package/dist/ui/shadow/sidebar.js +606 -0
- package/dist/ui/shadow/switch.js +428 -0
- package/dist/ui/shadow/table.js +4755 -0
- package/dist/ui/shadow/tabs.js +372 -0
- package/dist/ui/shadow/tag-input.js +2974 -0
- package/dist/ui/shadow/textarea.js +816 -0
- package/dist/ui/sidebar.d.ts +1 -0
- package/dist/ui/sidebar.js +659 -0
- package/dist/ui/switch.d.ts +1 -0
- package/dist/ui/switch.js +398 -0
- package/dist/ui/table.d.ts +1 -0
- package/dist/ui/table.js +4654 -0
- package/dist/ui/tabs.d.ts +1 -0
- package/dist/ui/tabs.js +379 -0
- package/dist/ui/tag-input.d.ts +1 -0
- package/dist/ui/tag-input.js +2947 -0
- package/dist/ui/textarea.d.ts +1 -0
- package/dist/ui/textarea.js +819 -0
- package/dist/ui/theme/legacy.css +293 -0
- package/dist/ui/theme/luma.css +743 -0
- package/dist/ui/theme/lyra.css +754 -0
- package/dist/ui/theme/maia.css +673 -0
- package/dist/ui/theme/mira.css +802 -0
- package/dist/ui/theme/nova.css +662 -0
- package/dist/ui/theme/one.css +699 -0
- package/dist/ui/theme/rhea.css +742 -0
- package/dist/ui/theme/sera.css +845 -0
- package/dist/ui/theme/tokens.css +261 -0
- package/dist/ui/theme/vega.css +467 -0
- package/dist/vite-C5iUK7so.js +329 -0
- package/dist/vite.d.ts +1 -0
- package/dist/vite.js +2 -0
- package/dist/vue.d.ts +282 -0
- package/package.json +411 -3
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
import { a as __decorate, c as defineHybridPropAlias, f as customElement, i as withShadowUtilityStyles, l as defineHybridPropAliases, r as toShadowCss, s as booleanStringConverter, t as flushSsrHydration } from "../../hydration-flush-RB5Tz5nl.js";
|
|
2
|
+
import { t as dispatchMonoEvent } from "../../mono-event-Bi1qP9uN.js";
|
|
3
|
+
import { t as MonoFormControlCore } from "../../form-control-core-B8d7k6vk.js";
|
|
4
|
+
import { LitElement, html, isServer, nothing, unsafeCSS } from "lit";
|
|
5
|
+
import { property, state } from "lit/decorators.js";
|
|
6
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
7
|
+
//#region src/components/switch/switch-core.ts
|
|
8
|
+
/**
|
|
9
|
+
* `MonoSwitchCore` β all render-mode-agnostic logic for `mono-switch`: reactive
|
|
10
|
+
* props (incl. SSR boolean coercion), hybrid aliases, camelCase attribute
|
|
11
|
+
* fallbacks, the `modelValue`β`checked` sync, class computation, change
|
|
12
|
+
* interactivity (`mno-change`), `focus`/`blur`, AND the shared `render()`
|
|
13
|
+
* skeleton (`<label><input role=switch><track><thumb></track><labelBlock></label>`).
|
|
14
|
+
* The slot-bearing label/description region is an overridable hook
|
|
15
|
+
* (`_renderLabelBlock()`) that defaults to the light build's `[data-mono-slot]`
|
|
16
|
+
* placeholders; the shadow build overrides it with native `<slot>` (mirrors
|
|
17
|
+
* `mono-checkbox`). SSR-safe: no `document`/`window`; `focus`/`blur` query
|
|
18
|
+
* `this.renderRoot`.
|
|
19
|
+
*/
|
|
20
|
+
var MonoSwitchCore = (superClass) => {
|
|
21
|
+
class MonoSwitchCoreClass extends MonoFormControlCore(superClass) {
|
|
22
|
+
constructor(...args) {
|
|
23
|
+
super(...args);
|
|
24
|
+
this.size = "md";
|
|
25
|
+
this.color = "primary";
|
|
26
|
+
this.modelValue = false;
|
|
27
|
+
this.checked = false;
|
|
28
|
+
this.disabled = false;
|
|
29
|
+
this.loading = false;
|
|
30
|
+
this.label = "";
|
|
31
|
+
this.sublabel = "";
|
|
32
|
+
this.value = "";
|
|
33
|
+
this.name = "";
|
|
34
|
+
this.cssClass = {};
|
|
35
|
+
this.cssClassName = "";
|
|
36
|
+
this._hasLabelSlotState = false;
|
|
37
|
+
this._hasDescriptionSlotState = false;
|
|
38
|
+
defineHybridPropAliases(this, [
|
|
39
|
+
"modelValue",
|
|
40
|
+
"ariaLabelText",
|
|
41
|
+
"cssClass"
|
|
42
|
+
]);
|
|
43
|
+
defineHybridPropAlias(this, "description", "sublabel");
|
|
44
|
+
Object.defineProperty(this, "css-class", {
|
|
45
|
+
get: () => this.cssClass,
|
|
46
|
+
set: (value) => this._setCssClass(value),
|
|
47
|
+
configurable: true,
|
|
48
|
+
enumerable: false
|
|
49
|
+
});
|
|
50
|
+
Object.defineProperty(this, "cssclass", {
|
|
51
|
+
get: () => this.cssClass,
|
|
52
|
+
set: (value) => this._setCssClass(value),
|
|
53
|
+
configurable: true,
|
|
54
|
+
enumerable: false
|
|
55
|
+
});
|
|
56
|
+
for (const alias of [
|
|
57
|
+
"ariaLabel",
|
|
58
|
+
"aria-label",
|
|
59
|
+
"arialabel"
|
|
60
|
+
]) Object.defineProperty(this, alias, {
|
|
61
|
+
get: () => this.ariaLabelText,
|
|
62
|
+
set: (value) => {
|
|
63
|
+
this.ariaLabelText = value == null ? void 0 : String(value);
|
|
64
|
+
},
|
|
65
|
+
configurable: true,
|
|
66
|
+
enumerable: false
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
static get observedAttributes() {
|
|
70
|
+
return [
|
|
71
|
+
...super.observedAttributes ?? [],
|
|
72
|
+
"modelvalue",
|
|
73
|
+
"arialabeltext",
|
|
74
|
+
"arialabel",
|
|
75
|
+
"description",
|
|
76
|
+
"css-class",
|
|
77
|
+
"cssclass"
|
|
78
|
+
];
|
|
79
|
+
}
|
|
80
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
81
|
+
super.attributeChangedCallback(name, oldValue, newValue);
|
|
82
|
+
if (oldValue === newValue) return;
|
|
83
|
+
if (name === "modelvalue") {
|
|
84
|
+
this.modelValue = this._toBoolean(newValue);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (name === "arialabeltext" || name === "arialabel") {
|
|
88
|
+
this.ariaLabelText = newValue ?? void 0;
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (name === "description") {
|
|
92
|
+
this.sublabel = newValue ?? "";
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (name === "css-class" || name === "cssclass") this._setCssClass(newValue);
|
|
96
|
+
}
|
|
97
|
+
willUpdate(changed) {
|
|
98
|
+
for (const key of [
|
|
99
|
+
"modelValue",
|
|
100
|
+
"checked",
|
|
101
|
+
"disabled",
|
|
102
|
+
"loading"
|
|
103
|
+
]) if (typeof this[key] === "string") this[key] = this._toBoolean(this[key]);
|
|
104
|
+
if (changed.has("modelValue") && this.checked !== this.modelValue) this.checked = this.modelValue;
|
|
105
|
+
if (changed.has("checked") && this.modelValue !== this.checked) this.modelValue = this.checked;
|
|
106
|
+
super.willUpdate?.(changed);
|
|
107
|
+
}
|
|
108
|
+
_toBoolean(value) {
|
|
109
|
+
if (typeof value === "boolean") return value;
|
|
110
|
+
if (typeof value === "string") {
|
|
111
|
+
const normalized = value.toLowerCase().trim();
|
|
112
|
+
return normalized === "" || normalized === "true";
|
|
113
|
+
}
|
|
114
|
+
return Boolean(value);
|
|
115
|
+
}
|
|
116
|
+
_setCssClass(value) {
|
|
117
|
+
if (value == null) {
|
|
118
|
+
this.cssClass = {};
|
|
119
|
+
this.cssClassName = "";
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
if (typeof value === "object") {
|
|
123
|
+
this.cssClass = value;
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (typeof value === "string") {
|
|
127
|
+
const trimmed = value.trim();
|
|
128
|
+
if (!trimmed) {
|
|
129
|
+
this.cssClass = {};
|
|
130
|
+
this.cssClassName = "";
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
if (trimmed.startsWith("{") && trimmed.endsWith("}")) try {
|
|
134
|
+
this.cssClass = JSON.parse(trimmed);
|
|
135
|
+
return;
|
|
136
|
+
} catch {}
|
|
137
|
+
this.cssClassName = trimmed;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
_cls(base, key) {
|
|
141
|
+
const extra = this.cssClass?.[key];
|
|
142
|
+
return extra ? `${base} ${extra}` : base;
|
|
143
|
+
}
|
|
144
|
+
get _wrapperClasses() {
|
|
145
|
+
return [
|
|
146
|
+
"mono-switch",
|
|
147
|
+
this.size,
|
|
148
|
+
this.color,
|
|
149
|
+
this.disabled ? "disabled" : "",
|
|
150
|
+
this.loading ? "loading" : "",
|
|
151
|
+
this.checked ? "mono-switch-checked" : "",
|
|
152
|
+
this.cssClassName,
|
|
153
|
+
this.cssClass?.root
|
|
154
|
+
].filter(Boolean).join(" ");
|
|
155
|
+
}
|
|
156
|
+
get _inputClasses() {
|
|
157
|
+
return this._cls("mono-switch-input", "input");
|
|
158
|
+
}
|
|
159
|
+
get _trackClasses() {
|
|
160
|
+
return [this._cls("mono-switch-track", "track"), this.size].filter(Boolean).join(" ");
|
|
161
|
+
}
|
|
162
|
+
get _thumbClasses() {
|
|
163
|
+
return [this._cls("mono-switch-thumb", "thumb"), this.size].filter(Boolean).join(" ");
|
|
164
|
+
}
|
|
165
|
+
_hasLabelContent() {
|
|
166
|
+
return Boolean(this.label) || this._hasLabelSlotState;
|
|
167
|
+
}
|
|
168
|
+
_hasDescriptionContent() {
|
|
169
|
+
return Boolean(this.sublabel) || this._hasDescriptionSlotState;
|
|
170
|
+
}
|
|
171
|
+
_createModelDetail(args) {
|
|
172
|
+
return {
|
|
173
|
+
modelValue: args.modelValue,
|
|
174
|
+
currentValue: args.modelValue,
|
|
175
|
+
oldValue: args.oldValue,
|
|
176
|
+
checked: args.modelValue,
|
|
177
|
+
value: this.value,
|
|
178
|
+
name: this.name,
|
|
179
|
+
sourceEvent: args.sourceEvent
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
_emitChange(detail) {
|
|
183
|
+
dispatchMonoEvent(this, "change", detail);
|
|
184
|
+
}
|
|
185
|
+
_handleChange(event) {
|
|
186
|
+
if (this.disabled || this.loading) return;
|
|
187
|
+
const input = event.currentTarget;
|
|
188
|
+
const oldValue = this.modelValue;
|
|
189
|
+
const nextValue = input.checked;
|
|
190
|
+
this.checked = nextValue;
|
|
191
|
+
this.modelValue = nextValue;
|
|
192
|
+
const detail = this._createModelDetail({
|
|
193
|
+
modelValue: nextValue,
|
|
194
|
+
oldValue,
|
|
195
|
+
sourceEvent: event
|
|
196
|
+
});
|
|
197
|
+
this._emitChange(detail);
|
|
198
|
+
}
|
|
199
|
+
/** Light-DOM label block (data-mono-slot). Shadow build overrides with `<slot>`. */
|
|
200
|
+
_renderLabelBlock() {
|
|
201
|
+
if (!this._hasLabelContent() && !this._hasDescriptionContent()) return nothing;
|
|
202
|
+
return html`
|
|
203
|
+
<span class=${this._cls("mono-switch-label", "label")} mono-label>
|
|
204
|
+
${this._hasLabelContent() ? html`
|
|
205
|
+
<span class=${this._cls("mono-switch-label-text", "labelText")} mono-label-text>
|
|
206
|
+
${this._hasLabelSlotState ? html`<span data-mono-slot="label"></span>` : this.label}
|
|
207
|
+
</span>
|
|
208
|
+
` : nothing}
|
|
209
|
+
|
|
210
|
+
${this._hasDescriptionContent() ? html`
|
|
211
|
+
<span class=${this._cls("mono-switch-label-description", "description")} mono-description>
|
|
212
|
+
${this._hasDescriptionSlotState ? html`<span data-mono-slot="description"></span>` : this.sublabel}
|
|
213
|
+
</span>
|
|
214
|
+
` : nothing}
|
|
215
|
+
</span>
|
|
216
|
+
`;
|
|
217
|
+
}
|
|
218
|
+
render() {
|
|
219
|
+
const ariaLabel = this.ariaLabelText || this.label || (this._hasLabelSlotState ? "Switch" : void 0);
|
|
220
|
+
return html`
|
|
221
|
+
<label
|
|
222
|
+
class=${this._wrapperClasses}
|
|
223
|
+
mono-switch
|
|
224
|
+
mono-size=${this.size === "md" ? nothing : this.size}
|
|
225
|
+
mono-color=${this.color === "primary" ? nothing : this.color}
|
|
226
|
+
?mono-checked=${this.checked}
|
|
227
|
+
?mono-disabled=${this.disabled}
|
|
228
|
+
?mono-loading=${this.loading}
|
|
229
|
+
>
|
|
230
|
+
<input
|
|
231
|
+
class=${this._inputClasses}
|
|
232
|
+
mono-input
|
|
233
|
+
type="checkbox"
|
|
234
|
+
role="switch"
|
|
235
|
+
.checked=${this.checked}
|
|
236
|
+
.value=${this.value}
|
|
237
|
+
name=${ifDefined(this.name || void 0)}
|
|
238
|
+
?disabled=${this.disabled || this.loading}
|
|
239
|
+
aria-checked=${String(this.checked)}
|
|
240
|
+
aria-label=${ifDefined(ariaLabel)}
|
|
241
|
+
@change=${this._handleChange}
|
|
242
|
+
/>
|
|
243
|
+
|
|
244
|
+
<span class=${this._trackClasses} mono-track aria-hidden="true">
|
|
245
|
+
<span class=${this._thumbClasses} mono-thumb></span>
|
|
246
|
+
</span>
|
|
247
|
+
|
|
248
|
+
${this._renderLabelBlock()}
|
|
249
|
+
</label>
|
|
250
|
+
`;
|
|
251
|
+
}
|
|
252
|
+
focus(options) {
|
|
253
|
+
this.renderRoot.querySelector(".mono-switch-input")?.focus(options);
|
|
254
|
+
}
|
|
255
|
+
blur() {
|
|
256
|
+
this.renderRoot.querySelector(".mono-switch-input")?.blur();
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
__decorate([property({ type: String })], MonoSwitchCoreClass.prototype, "size", void 0);
|
|
260
|
+
__decorate([property({ type: String })], MonoSwitchCoreClass.prototype, "color", void 0);
|
|
261
|
+
__decorate([property({
|
|
262
|
+
attribute: "model-value",
|
|
263
|
+
reflect: true,
|
|
264
|
+
converter: booleanStringConverter
|
|
265
|
+
})], MonoSwitchCoreClass.prototype, "modelValue", void 0);
|
|
266
|
+
__decorate([property({
|
|
267
|
+
reflect: true,
|
|
268
|
+
converter: booleanStringConverter
|
|
269
|
+
})], MonoSwitchCoreClass.prototype, "checked", void 0);
|
|
270
|
+
__decorate([property({
|
|
271
|
+
reflect: true,
|
|
272
|
+
converter: booleanStringConverter
|
|
273
|
+
})], MonoSwitchCoreClass.prototype, "disabled", void 0);
|
|
274
|
+
__decorate([property({
|
|
275
|
+
reflect: true,
|
|
276
|
+
converter: booleanStringConverter
|
|
277
|
+
})], MonoSwitchCoreClass.prototype, "loading", void 0);
|
|
278
|
+
__decorate([property({ type: String })], MonoSwitchCoreClass.prototype, "label", void 0);
|
|
279
|
+
__decorate([property({ type: String })], MonoSwitchCoreClass.prototype, "sublabel", void 0);
|
|
280
|
+
__decorate([property({ type: String })], MonoSwitchCoreClass.prototype, "value", void 0);
|
|
281
|
+
__decorate([property({ type: String })], MonoSwitchCoreClass.prototype, "name", void 0);
|
|
282
|
+
__decorate([property({
|
|
283
|
+
type: String,
|
|
284
|
+
attribute: "aria-label"
|
|
285
|
+
})], MonoSwitchCoreClass.prototype, "ariaLabelText", void 0);
|
|
286
|
+
__decorate([property({ attribute: false })], MonoSwitchCoreClass.prototype, "cssClass", void 0);
|
|
287
|
+
__decorate([property({ attribute: false })], MonoSwitchCoreClass.prototype, "cssClassName", void 0);
|
|
288
|
+
__decorate([state()], MonoSwitchCoreClass.prototype, "_hasLabelSlotState", void 0);
|
|
289
|
+
__decorate([state()], MonoSwitchCoreClass.prototype, "_hasDescriptionSlotState", void 0);
|
|
290
|
+
return MonoSwitchCoreClass;
|
|
291
|
+
};
|
|
292
|
+
//#endregion
|
|
293
|
+
//#region src/components/switch/switch.css?raw
|
|
294
|
+
var switch_default = "/* =========================================================================\r\n mono-switch β a port of Basecoat's `.input[type='checkbox'][role='switch']`\r\n and the `.label` beside it (basecoat-css@1.0.2, vega style).\r\n\r\n Styled by ATTRIBUTE, like Basecoat β and the attributes mirror the element's\r\n props one for one, so hand-written markup reads like the Lit / Vue tag:\r\n\r\n <mono-switch size=\"sm\" color=\"danger\" label=\"Notifications\" model-value>\r\n <label mono-switch mono-size=\"sm\" mono-color=\"danger\">\r\n <input mono-input type=\"checkbox\" role=\"switch\" checked />\r\n <span mono-track aria-hidden=\"true\"><span mono-thumb></span></span>\r\n <span mono-label><span mono-label-text>Notifications</span></span>\r\n </label>\r\n\r\n An absent attribute is the prop's default (`:not([mono-size])` = md,\r\n `:not([mono-color])` = primary). The element renders these attributes on its\r\n root <label> (both builds) plus the STATES `mono-checked` / `mono-loading`;\r\n hand-written markup may rely on the native input's `:checked` instead β every\r\n state rule reads both. The old classes (`.mono-switch.sm.mono-switch-checked`)\r\n are still emitted as inert hooks until 2.0 but no rule here reads them.\r\n\r\n Selector map (ours β‘ upstream):\r\n [mono-switch] β‘ .label (flex gap-2 text-sm font-medium leading-snug select-none)\r\n [mono-switch] > [mono-track] β‘ .input[type='checkbox'][role='switch'] (h-[18.4px] w-[32px] rounded-full border border-transparent shadow-xs, not-checked:bg-input)\r\n [mono-track] > [mono-thumb] β‘ :before (size-4 rounded-full bg-background; dark not-checked:bg-foreground, checked:bg-primary-foreground β via --mono-mode-switch-thumb*)\r\n [mono-checked] / [mono-input]:checked β‘ :checked (bg-primary) + :before translate-x-[calc(100%-2px)]\r\n [mono-input]:focus-visible + [mono-track] β‘ focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\r\n [mono-invalid] / [mono-input][aria-invalid] β‘ aria-invalid:border-destructive aria-invalid:ring-destructive/20\r\n [mono-disabled] / [mono-input]:disabled β‘ disabled:cursor-not-allowed disabled:opacity-50\r\n [mono-label-text] β‘ .label text\r\n [mono-description] β‘ .field > p (text-sm text-muted-foreground)\r\n [mono-size=\"xs|sm|lg|xl|xxl\"] β‘ EXTENSION β upstream has two steps (default / data-size='sm');\r\n mono derives all six from --mono-control-height-*\r\n [mono-color=\"β¦\"] β‘ EXTENSION (the ON track in the role's colour)\r\n [mono-loading] β‘ EXTENSION (the thumb pulses while a change is in flight)\r\n\r\n GEOMETRY β one anchor, everything else derived, and it lands exactly on\r\n Basecoat at md: the THUMB is the checkbox box (--mono-control-height-md Γ 4/9\r\n = 16px = upstream's `size-4`), the track is 1.15 Γ that tall (18.4px =\r\n `h-[18.4px]`) and 2 Γ that wide (32px = `w-[32px]`). So a switch, a checkbox\r\n and a radio in one column share one scale by construction. The thumb travels\r\n the width of the track's CONTENT box minus its own β which parks it flush\r\n inside the border at both ends, so there is no inset to tune. (Upstream writes\r\n that as `calc(100% - 2px)`, the same number at vega's 1px border and 2:1\r\n track, but wrong for any flavor that changes either.)\r\n\r\n Specificity contract (same as the pre-port class sheet): a part's RESTING rule\r\n is exactly one attribute strong β `:where([mono-switch]) [mono-track]` =\r\n (0,1,0) β so a utility class handed in through `cssClass` wins by source\r\n order, while state rules (checked / focus / invalid / disabled / loading,\r\n keyed on the root or the native input) stay heavier and win over it.\r\n\r\n Inner parts: [mono-input], [mono-track] > [mono-thumb], [mono-label] >\r\n [mono-label-text] / [mono-description]. The shadow build marks an unassigned\r\n slot wrapper [mono-empty].\r\n\r\n The track sits on the label's CAP BAND (see `--_mono-switch-line-offset`) β\r\n mono's own alignment rule, kept, and the same numbers checkbox.css uses.\r\n\r\n FLAVORS set `--mono-switch-{radius,shadow,border-width,border-color,\r\n checked-border-color,ring-width,ring-alpha,track-off,track-height-md,\r\n track-ratio,thumb-ratio,thumb-width-ratio,thumb-radius,thumb-shadow}` (the per-style `[role='switch']` deltas); every fallback here is\r\n vega's value (`node scripts/basecoat-styles.mjs --varying \"role='switch'\"`).\r\n ========================================================================= */\r\n\r\nmono-switch {\r\n display: inline-block;\r\n}\r\n\r\n[mono-switch] {\r\n /* ββ palette: each slot is a public knob over a Basecoat token βββββββββββ */\r\n --_mono-switch-text: var(--mono-switch-text, var(--foreground));\r\n --_mono-switch-description: var(--mono-switch-description, var(--muted-foreground));\r\n --_mono-switch-primary: var(--mono-switch-primary, var(--primary));\r\n --_mono-switch-accent: var(--mono-switch-accent, var(--_mono-switch-accent-preset, var(--_mono-switch-primary)));\r\n /* not-checked:bg-input (dark: /80 β the mode token carries it) */\r\n --_mono-switch-track-off: var(--mono-switch-track-off, var(--mono-mode-surface-strong));\r\n --_mono-switch-thumb: var(--mono-switch-thumb, var(--mono-mode-switch-thumb));\r\n --_mono-switch-thumb-checked: var(--mono-switch-thumb-checked, var(--mono-mode-switch-thumb-checked));\r\n --_mono-switch-shadow: var(--mono-switch-shadow, var(--mono-shadow-xs));\r\n --_mono-switch-thumb-shadow: var(--mono-switch-thumb-shadow, 0 0 #0000);\r\n --_mono-switch-radius: var(--mono-switch-radius, var(--mono-radius-full));\r\n --_mono-switch-border-width: var(--mono-switch-border-width, var(--mono-border-width));\r\n --_mono-switch-border-color: var(--mono-switch-border-color, transparent);\r\n --_mono-switch-ring-color: var(--mono-switch-ring-color, var(--ring));\r\n --_mono-switch-ring-width: var(--mono-switch-ring-width, var(--mono-ring-width));\r\n --_mono-switch-ring-alpha: var(--mono-switch-ring-alpha, var(--mono-ring-alpha));\r\n\r\n /* ββ md metrics live on the unqualified root ON PURPOSE ββββββββββββββββββββ\r\n basecoat@1.0.2 styles/vega.css [role='switch'] β h-[18.4px] w-[32px] with a\r\n size-4 thumb; 18.4 = (36 Γ 4/9) Γ 1.15 and 32 = (36 Γ 4/9) Γ 2 */\r\n --_mono-switch-track-h: var(--mono-switch-track-height, var(--mono-switch-track-height-md, calc(var(--mono-control-height-md) * 23 / 45)));\r\n --_mono-switch-track-w: var(--mono-switch-track-width, calc(var(--_mono-switch-track-h) * var(--mono-switch-track-ratio, 1.7391)));\r\n --_mono-switch-track-inner-h: calc(var(--_mono-switch-track-h) - 2 * var(--_mono-switch-border-width));\r\n --_mono-switch-track-inner-w: calc(var(--_mono-switch-track-w) - 2 * var(--_mono-switch-border-width));\r\n /* `min()` so a flavor with a thicker border (luma, rhea: border-2) cannot\r\n push the thumb past the track content box. The width is its own ratio:\r\n luma's thumb is a PILL (h-4 w-6), not a circle. */\r\n --_mono-switch-thumb-size: min(\r\n calc(var(--_mono-switch-track-h) * var(--mono-switch-thumb-ratio, 0.8696)),\r\n var(--_mono-switch-track-inner-h)\r\n );\r\n --_mono-switch-thumb-w: min(\r\n calc(var(--_mono-switch-track-h) * var(--mono-switch-thumb-width-ratio, var(--mono-switch-thumb-ratio, 0.8696))),\r\n var(--_mono-switch-track-inner-w)\r\n );\r\n /* ON travel = the content box minus the thumb. Upstream writes it\r\n `translate-x-[calc(100%-2px)]`, which is the same number at vega's 1px\r\n border and 2:1 track β and only there: luma's border-2 left the thumb short\r\n of the end, rhea's narrower track pushed it past. */\r\n --_mono-switch-travel: calc(var(--_mono-switch-track-inner-w) - var(--_mono-switch-thumb-w));\r\n /* ββ whole pixels ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ\r\n Every part of the switch is a ratio of the control step, so it lands on a\r\n fraction (18.39px, 16.34px, 17.77pxβ¦). A fractional round shape is\r\n antialiased on every edge, and the thumb β which parks flush against the\r\n track's cap β picked up a dark rim that changed with the flavor and the\r\n screen's pixel ratio.\r\n\r\n Snap the THUMB and its inset, then build the track height from them, rather\r\n than rounding each value on its own: rounding independently can leave half a\r\n pixel above and below the thumb (an odd track around an even thumb), which\r\n blurs exactly the edge this is meant to sharpen, or stretch the thumb into an\r\n ellipse. `round()` has the same browser floor as `color-mix()` and `:has()`,\r\n which this sheet already requires. */\r\n --_mono-switch-thumb-h-px: round(nearest, var(--_mono-switch-thumb-size), 1px);\r\n --_mono-switch-thumb-w-px: round(nearest, var(--_mono-switch-thumb-w), 1px);\r\n --_mono-switch-thumb-inset-y: max(\r\n 0px,\r\n round(nearest, calc((var(--_mono-switch-track-inner-h) - var(--_mono-switch-thumb-size)) / 2), 1px)\r\n );\r\n --_mono-switch-track-h-px: calc(\r\n var(--_mono-switch-thumb-h-px) + 2 * var(--_mono-switch-border-width) + 2 * var(--_mono-switch-thumb-inset-y)\r\n );\r\n --_mono-switch-track-w-px: round(nearest, var(--_mono-switch-track-w), 1px);\r\n --_mono-switch-travel-px: calc(\r\n var(--_mono-switch-track-w-px) - 2 * var(--_mono-switch-border-width) - var(--_mono-switch-thumb-w-px)\r\n );\r\n\r\n --_mono-switch-gap: var(--mono-switch-gap, var(--mono-switch-gap-md, calc(var(--mono-spacing) * 2)));\r\n --_mono-switch-label-font: var(--mono-switch-label-font-md, var(--mono-text-sm));\r\n --_mono-switch-description-font: var(--mono-switch-description-font-md, 0.8125rem);\r\n\r\n /* ββ alignment with the label ββββββββββββββββββββββββββββββββββββββββββββ\r\n The track is centred on the label's CAP BAND β the ink the eye reads, not\r\n the line box. Every number is checkbox.css's. */\r\n --_mono-switch-label-line-height: var(--mono-switch-label-line-height, var(--mono-leading-snug));\r\n --_mono-switch-optical-shift: 0.045;\r\n --_mono-switch-optical-nudge: 0px;\r\n --_mono-switch-line-offset: calc(\r\n (var(--_mono-switch-label-font) * var(--_mono-switch-label-line-height) - var(--_mono-switch-track-h-px)) / 2 +\r\n var(--_mono-switch-label-font) * var(--_mono-switch-optical-shift) + var(--_mono-switch-optical-nudge)\r\n );\r\n\r\n /* The element build nests this root inside its host, so it is never itself a\r\n grid or flex item and shrink-wraps its content. Hand-written markup usually\r\n IS the item (a radio in a `display: grid` list), and an item blockifies β\r\n `inline-flex` becomes `flex` and the row stretches to the widest sibling,\r\n wrapping its label at a different point than the element's. `fit-content`\r\n keeps both shapes shrink-wrapped; a consumer who wants a full-width row\r\n still sets a width. */\r\n width: fit-content;\r\n display: inline-flex;\r\n align-items: flex-start;\r\n gap: var(--_mono-switch-gap);\r\n position: relative;\r\n vertical-align: top;\r\n cursor: pointer;\r\n user-select: none;\r\n font-family: inherit;\r\n color: var(--_mono-switch-text);\r\n}\r\n\r\n[mono-switch],\r\n:where([mono-switch]) *,\r\n:where([mono-switch]) *::before,\r\n:where([mono-switch]) *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n:where([mono-switch]) :is([mono-label], [mono-label-text], [mono-description])[mono-empty] {\r\n display: none;\r\n}\r\n\r\n/* the track seats on the first line of a label that is actually there; a bare\r\n track stays flush at the top */\r\n[mono-switch]:has([mono-label-text]:not([mono-empty])) > [mono-track] {\r\n margin-top: var(--_mono-switch-line-offset, 0px);\r\n}\r\n\r\n/* =========================================\r\n Sizes β EXTENSION: upstream has two steps; mono derives six from the control\r\n ladder, so the thumb is the checkbox box at every one of them\r\n ========================================= */\r\n\r\n[mono-switch][mono-size=\"xs\"] {\r\n --_mono-switch-track-h: var(--mono-switch-track-height, var(--mono-switch-track-height-xs, calc(var(--mono-control-height-xs) * 23 / 45)));\r\n --_mono-switch-gap: var(--mono-switch-gap, var(--mono-switch-gap-xs, calc(var(--mono-spacing) * 1.25)));\r\n --_mono-switch-label-font: var(--mono-switch-label-font-xs, var(--mono-text-xs));\r\n --_mono-switch-description-font: var(--mono-switch-description-font-xs, 0.6875rem);\r\n}\r\n\r\n[mono-switch][mono-size=\"sm\"] {\r\n --_mono-switch-track-h: var(--mono-switch-track-height, var(--mono-switch-track-height-sm, calc(var(--mono-control-height-sm) * 23 / 45)));\r\n --_mono-switch-gap: var(--mono-switch-gap, var(--mono-switch-gap-sm, calc(var(--mono-spacing) * 1.5)));\r\n --_mono-switch-label-font: var(--mono-switch-label-font-sm, 0.8125rem);\r\n --_mono-switch-description-font: var(--mono-switch-description-font-sm, var(--mono-text-xs));\r\n}\r\n\r\n[mono-switch][mono-size=\"lg\"] {\r\n --_mono-switch-track-h: var(--mono-switch-track-height, var(--mono-switch-track-height-lg, calc(var(--mono-control-height-lg) * 23 / 45)));\r\n --_mono-switch-gap: var(--mono-switch-gap, var(--mono-switch-gap-lg, calc(var(--mono-spacing) * 2.5)));\r\n --_mono-switch-label-font: var(--mono-switch-label-font-lg, var(--mono-text-base));\r\n --_mono-switch-description-font: var(--mono-switch-description-font-lg, var(--mono-text-sm));\r\n /* 16px text rounds its ascent such that the track lands ~0.35px low */\r\n --_mono-switch-optical-nudge: -0.35px;\r\n}\r\n\r\n[mono-switch][mono-size=\"xl\"] {\r\n --_mono-switch-track-h: var(--mono-switch-track-height, var(--mono-switch-track-height-xl, calc(var(--mono-control-height-xl) * 23 / 45)));\r\n --_mono-switch-gap: var(--mono-switch-gap, var(--mono-switch-gap-xl, calc(var(--mono-spacing) * 3)));\r\n --_mono-switch-label-font: var(--mono-switch-label-font-xl, var(--mono-text-lg));\r\n --_mono-switch-description-font: var(--mono-switch-description-font-xl, var(--mono-text-base));\r\n}\r\n\r\n[mono-switch][mono-size=\"xxl\"] {\r\n --_mono-switch-track-h: var(--mono-switch-track-height, var(--mono-switch-track-height-xxl, calc(var(--mono-control-height-xxl) * 23 / 45)));\r\n --_mono-switch-gap: var(--mono-switch-gap, var(--mono-switch-gap-xxl, calc(var(--mono-spacing) * 3.5)));\r\n --_mono-switch-label-font: var(--mono-switch-label-font-xxl, var(--mono-text-xl));\r\n --_mono-switch-description-font: var(--mono-switch-description-font-xxl, var(--mono-text-lg));\r\n /* 20px text rounds the other way, leaving the track ~1.1px high */\r\n --_mono-switch-optical-nudge: 1.1px;\r\n}\r\n\r\n/* =========================================\r\n Colours β EXTENSION: the ON track in the role's colour\r\n ========================================= */\r\n\r\n[mono-switch]:is(:not([mono-color]), [mono-color=\"primary\"]) {\r\n --_mono-switch-accent-preset: var(--_mono-switch-primary);\r\n}\r\n[mono-switch][mono-color=\"secondary\"] {\r\n --_mono-switch-accent-preset: var(--secondary-foreground);\r\n}\r\n[mono-switch][mono-color=\"success\"] {\r\n --_mono-switch-accent-preset: var(--success);\r\n}\r\n[mono-switch][mono-color=\"danger\"] {\r\n --_mono-switch-accent-preset: var(--destructive);\r\n}\r\n[mono-switch][mono-color=\"warning\"] {\r\n --_mono-switch-accent-preset: var(--warning);\r\n}\r\n[mono-switch][mono-color=\"info\"] {\r\n --_mono-switch-accent-preset: var(--info);\r\n}\r\n[mono-switch][mono-color=\"teal\"] {\r\n --_mono-switch-accent-preset: var(--teal);\r\n}\r\n[mono-switch][mono-color=\"purple\"] {\r\n --_mono-switch-accent-preset: var(--purple);\r\n}\r\n[mono-switch][mono-color=\"neutral\"] {\r\n --_mono-switch-accent-preset: var(--neutral);\r\n}\r\n[mono-switch][mono-color=\"dark\"] {\r\n --_mono-switch-accent-preset: var(--dark);\r\n}\r\n\r\n/* =========================================\r\n States on the root\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/switch.css .field > input[type='checkbox'][role='switch'], .input[type='checkbox'][role='switch']\r\n β disabled:cursor-not-allowed disabled:opacity-50.\r\n A BUSY switch is exempt: the input is disabled so a second click cannot race\r\n the first, but it reads as \"working\", not \"unavailable\". */\r\n[mono-switch][mono-disabled]:not([mono-loading]),\r\n[mono-switch]:not([mono-loading]):has(> [mono-input]:disabled) {\r\n cursor: not-allowed;\r\n opacity: 0.5;\r\n pointer-events: none;\r\n}\r\n\r\n[mono-switch][mono-loading] {\r\n cursor: progress;\r\n pointer-events: none;\r\n}\r\n\r\n/* the native input is the accessible control; the track is its painted twin */\r\n:where([mono-switch]) [mono-input] {\r\n position: absolute;\r\n opacity: 0;\r\n pointer-events: none;\r\n width: 1px;\r\n height: 1px;\r\n margin: 0;\r\n /* the UA gives an <input> its own font; inside a shadow root nothing resets it,\r\n so the hidden control ended up with a different computed font in the two\r\n builds. It paints nothing either way β this just keeps them identical. */\r\n font: inherit;\r\n color: inherit;\r\n}\r\n\r\n/* =========================================\r\n The track\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/switch.css .field > input[type='checkbox'][role='switch'], .input[type='checkbox'][role='switch']\r\n β inline-flex shrink-0 appearance-none items-center transition-all outline-none */\r\n/* basecoat@1.0.2 styles/vega.css .field > input[type='checkbox'][role='switch'], .input[type='checkbox'][role='switch']\r\n β rounded-full border border-transparent shadow-xs; not-checked:bg-input\r\n (dark /80 via --mono-mode-surface-strong); checked:bg-primary;\r\n mono: `--tw-ring-*` flattened to the ring + shadow slots */\r\n/* basecoat@1.0.2 styles/vega.css :is(.field > input[type='checkbox'][role='switch'], .input[type='checkbox'][role='switch']):not([data-size='sm'])\r\n β h-[18.4px] w-[32px] (mono derives both from the control step) */\r\n:where([mono-switch]) > [mono-track] {\r\n --_mono-switch-ring: 0 0 #0000;\r\n position: relative;\r\n flex: 0 0 auto;\r\n display: inline-flex;\r\n align-items: center;\r\n width: var(--_mono-switch-track-w-px);\r\n height: var(--_mono-switch-track-h-px);\r\n border: var(--_mono-switch-border-width) solid var(--_mono-switch-border-color);\r\n border-radius: var(--_mono-switch-radius);\r\n background-color: var(--_mono-switch-track-off);\r\n box-shadow: var(--_mono-switch-ring), var(--_mono-switch-shadow);\r\n /* the track's own ink is the ACCENT, so a flavor that outlines the ON track\r\n (luma, sera, rhea) says `--mono-switch-checked-border-color: currentColor`\r\n with public knobs alone */\r\n color: var(--_mono-switch-accent);\r\n transition-property: box-shadow, background-color, border-color;\r\n transition-timing-function: var(--mono-ease);\r\n transition-duration: var(--mono-duration);\r\n}\r\n\r\n/* focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 */\r\n:where([mono-switch]) > [mono-input]:focus-visible + [mono-track] {\r\n border-color: var(--_mono-switch-ring-color);\r\n --_mono-switch-ring: 0 0 0 var(--_mono-switch-ring-width) color-mix(in oklab, var(--_mono-switch-ring-color) var(--_mono-switch-ring-alpha), transparent);\r\n}\r\n\r\n/* aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20\r\n (dark: /50, /40 via the mode tokens) */\r\n[mono-switch][mono-invalid] > [mono-track],\r\n:where([mono-switch]) > [mono-input][aria-invalid=\"true\"] + [mono-track] {\r\n border-color: var(--mono-mode-invalid-border);\r\n --_mono-switch-ring: 0 0 0 var(--_mono-switch-ring-width) var(--mono-mode-invalid-ring);\r\n}\r\n\r\n/* checked:bg-primary β generalised per hue */\r\n[mono-switch][mono-checked] > [mono-track],\r\n:where([mono-switch]) > [mono-input]:checked + [mono-track] {\r\n background-color: var(--_mono-switch-accent);\r\n border-color: var(--mono-switch-checked-border-color, var(--_mono-switch-border-color));\r\n}\r\n\r\n/* =========================================\r\n The thumb β upstream's `:before`\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/switch.css .field > input[type='checkbox'][role='switch'], .input[type='checkbox'][role='switch']\r\n β before:pointer-events-none before:block before:content-[''] before:ring-0 before:transition-transform */\r\n/* basecoat@1.0.2 styles/vega.css :is(.field > input[type='checkbox'][role='switch'], .input[type='checkbox'][role='switch']):before\r\n β bg-background rounded-full (dark: not-checked bg-foreground / checked\r\n bg-primary-foreground, via --mono-mode-switch-thumb*) */\r\n/* basecoat@1.0.2 styles/vega.css :is(.field > input[type='checkbox'][role='switch'], .input[type='checkbox'][role='switch']):not([data-size='sm']):before\r\n β size-4 (mono: that share of the track, so it tracks every step) */\r\n:where([mono-switch]) > [mono-track] > [mono-thumb] {\r\n display: block;\r\n flex: 0 0 auto;\r\n pointer-events: none;\r\n width: var(--_mono-switch-thumb-w-px);\r\n height: var(--_mono-switch-thumb-h-px);\r\n border-radius: var(--mono-switch-thumb-radius, var(--mono-radius-full));\r\n background-color: var(--_mono-switch-thumb);\r\n box-shadow: var(--_mono-switch-thumb-shadow);\r\n /* `translate`, not `transform`: the loading pulse owns `transform`, and the\r\n two are independent properties, so they no longer collide */\r\n translate: 0;\r\n transition-property: translate, background-color;\r\n transition-timing-function: var(--mono-ease);\r\n transition-duration: var(--mono-duration);\r\n}\r\n\r\n/* :checked:before β translate-x-[calc(100%-2px)]: the thumb parks flush inside\r\n the track's border at both ends (see --_mono-switch-travel) */\r\n[mono-switch][mono-checked] > [mono-track] > [mono-thumb],\r\n:where([mono-switch]) > [mono-input]:checked + [mono-track] > [mono-thumb] {\r\n translate: var(--_mono-switch-travel-px);\r\n background-color: var(--_mono-switch-thumb-checked);\r\n}\r\n\r\n[mono-switch][mono-checked] > [mono-track] > [mono-thumb]:dir(rtl),\r\n:where([mono-switch]) > [mono-input]:checked + [mono-track] > [mono-thumb]:dir(rtl) {\r\n translate: calc(-1 * var(--_mono-switch-travel-px));\r\n}\r\n\r\n/* EXTENSION β the thumb pulses while a change is in flight */\r\n[mono-switch][mono-loading] > [mono-track] > [mono-thumb] {\r\n animation: mono-switch-pulse 1s ease-in-out infinite;\r\n}\r\n\r\n@keyframes mono-switch-pulse {\r\n 0%,\r\n 100% {\r\n transform: scale(1);\r\n }\r\n 50% {\r\n transform: scale(0.86);\r\n }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n :where([mono-switch]) > [mono-track],\r\n :where([mono-switch]) > [mono-track] > [mono-thumb] {\r\n transition: none;\r\n }\r\n\r\n [mono-switch][mono-loading] > [mono-track] > [mono-thumb] {\r\n animation-duration: 2.4s;\r\n }\r\n}\r\n\r\n/* =========================================\r\n Label\r\n ========================================= */\r\n\r\n:where([mono-switch]) > [mono-label] {\r\n min-width: 0;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .field > label, .label β text-sm leading-snug font-medium;\r\n `block` so the first line box is exactly font Γ line-height */\r\n:where([mono-switch]) [mono-label-text] {\r\n display: block;\r\n font-size: var(--_mono-switch-label-font);\r\n line-height: var(--_mono-switch-label-line-height);\r\n font-weight: var(--mono-switch-label-font-weight, var(--mono-label-font-weight, var(--mono-font-weight-medium)));\r\n color: var(--_mono-switch-text);\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .fieldset legend + p, .field > p, .field section > p\r\n β text-sm text-muted-foreground leading-normal font-normal; EXTENSION: one step\r\n under the label per size */\r\n:where([mono-switch]) [mono-description] {\r\n display: block;\r\n margin-top: calc(var(--mono-spacing) * 0.5);\r\n font-size: var(--_mono-switch-description-font);\r\n line-height: var(--mono-leading-normal);\r\n font-weight: var(--mono-font-weight-normal);\r\n color: var(--_mono-switch-description);\r\n}\r\n";
|
|
295
|
+
//#endregion
|
|
296
|
+
//#region src/components/switch/mono-switch.shadow.ts
|
|
297
|
+
var SHADOW_EXTRA_CSS = "";
|
|
298
|
+
var MonoSwitchShadow = class MonoSwitchShadow extends withShadowUtilityStyles(MonoSwitchCore(LitElement)) {
|
|
299
|
+
static {
|
|
300
|
+
this.disableWarning?.("change-in-update");
|
|
301
|
+
}
|
|
302
|
+
static {
|
|
303
|
+
this.styles = [unsafeCSS(toShadowCss(switch_default, {
|
|
304
|
+
host: "mono-switch",
|
|
305
|
+
append: SHADOW_EXTRA_CSS
|
|
306
|
+
}))];
|
|
307
|
+
}
|
|
308
|
+
connectedCallback() {
|
|
309
|
+
super.connectedCallback();
|
|
310
|
+
if (isServer) return;
|
|
311
|
+
flushSsrHydration(this);
|
|
312
|
+
}
|
|
313
|
+
firstUpdated(changed) {
|
|
314
|
+
super.firstUpdated?.(changed);
|
|
315
|
+
if (isServer) return;
|
|
316
|
+
this._scanSlots();
|
|
317
|
+
}
|
|
318
|
+
updated(changed) {
|
|
319
|
+
super.updated?.(changed);
|
|
320
|
+
if (!isServer) this._scanSlots();
|
|
321
|
+
}
|
|
322
|
+
_slotFor(name) {
|
|
323
|
+
return this.renderRoot.querySelector(`slot[name="${name}"]`);
|
|
324
|
+
}
|
|
325
|
+
_slotHasContent(slot) {
|
|
326
|
+
return !!slot && slot.assignedNodes().some((n) => n.nodeType === Node.ELEMENT_NODE || !!(n.textContent ?? "").trim());
|
|
327
|
+
}
|
|
328
|
+
_onSlotChange(name, event) {
|
|
329
|
+
this._setSlotState(name, name === "description" ? this._sublabelHasContent() : this._slotHasContent(event.target));
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* The sublabel region answers to `slot="sublabel"` and to the older
|
|
333
|
+
* `slot="description"` (nested inside it), so its presence is the union.
|
|
334
|
+
*/
|
|
335
|
+
_sublabelHasContent() {
|
|
336
|
+
const byName = (n) => this.renderRoot.querySelector(`slot[name="${n}"]`);
|
|
337
|
+
return this._slotHasContent(byName("sublabel")) || this._slotHasContent(byName("description"));
|
|
338
|
+
}
|
|
339
|
+
_setSlotState(name, has) {
|
|
340
|
+
if (name === "label") this._hasLabelSlotState = has;
|
|
341
|
+
else this._hasDescriptionSlotState = has;
|
|
342
|
+
}
|
|
343
|
+
/** Reconcile the 2 slot-presence flags from their slots' assigned content. */
|
|
344
|
+
_scanSlots() {
|
|
345
|
+
for (const name of ["label", "description"]) {
|
|
346
|
+
const has = name === "description" ? this._sublabelHasContent() : this._slotHasContent(this._slotFor(name));
|
|
347
|
+
if (has !== (name === "label" ? this._hasLabelSlotState : this._hasDescriptionSlotState)) this._setSlotState(name, has);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
_renderLabelBlock() {
|
|
351
|
+
return html`
|
|
352
|
+
<span
|
|
353
|
+
class=${this._cls("mono-switch-label", "label")}
|
|
354
|
+
mono-label
|
|
355
|
+
?mono-empty=${!this._hasLabelContent() && !this._hasDescriptionContent()}
|
|
356
|
+
>
|
|
357
|
+
<span
|
|
358
|
+
class=${this._cls("mono-switch-label-text", "labelText")}
|
|
359
|
+
mono-label-text
|
|
360
|
+
?mono-empty=${!this._hasLabelContent()}
|
|
361
|
+
>
|
|
362
|
+
<slot name="label" @slotchange=${(e) => this._onSlotChange("label", e)}
|
|
363
|
+
>${this.label || nothing}</slot
|
|
364
|
+
>
|
|
365
|
+
</span>
|
|
366
|
+
|
|
367
|
+
<span
|
|
368
|
+
class=${this._cls("mono-switch-label-description", "description")}
|
|
369
|
+
mono-description
|
|
370
|
+
?mono-empty=${!this._hasDescriptionContent()}
|
|
371
|
+
>
|
|
372
|
+
<slot name="sublabel" @slotchange=${(e) => this._onSlotChange("description", e)}
|
|
373
|
+
><slot
|
|
374
|
+
name="description"
|
|
375
|
+
@slotchange=${(e) => this._onSlotChange("description", e)}
|
|
376
|
+
>${this.sublabel || nothing}</slot
|
|
377
|
+
></slot
|
|
378
|
+
>
|
|
379
|
+
</span>
|
|
380
|
+
</span>
|
|
381
|
+
`;
|
|
382
|
+
}
|
|
383
|
+
};
|
|
384
|
+
MonoSwitchShadow = __decorate([customElement("mono-shadow-switch")], MonoSwitchShadow);
|
|
385
|
+
//#endregion
|
|
386
|
+
//#region src/components/switch/switch-utils.ts
|
|
387
|
+
/**
|
|
388
|
+
* Validate switch props
|
|
389
|
+
*/
|
|
390
|
+
function validateSwitchProps(props) {
|
|
391
|
+
const validSizes = [
|
|
392
|
+
"xs",
|
|
393
|
+
"sm",
|
|
394
|
+
"md",
|
|
395
|
+
"lg",
|
|
396
|
+
"xl",
|
|
397
|
+
"xxl"
|
|
398
|
+
];
|
|
399
|
+
const validColors = [
|
|
400
|
+
"primary",
|
|
401
|
+
"secondary",
|
|
402
|
+
"success",
|
|
403
|
+
"danger",
|
|
404
|
+
"warning",
|
|
405
|
+
"info",
|
|
406
|
+
"teal",
|
|
407
|
+
"purple",
|
|
408
|
+
"neutral",
|
|
409
|
+
"dark"
|
|
410
|
+
];
|
|
411
|
+
if (props.size && !validSizes.includes(props.size)) return false;
|
|
412
|
+
if (props.color && !validColors.includes(props.color)) return false;
|
|
413
|
+
return true;
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Generate ARIA attributes for accessibility
|
|
417
|
+
*/
|
|
418
|
+
function generateSwitchAttributes(disabled, loading, checked, label) {
|
|
419
|
+
return {
|
|
420
|
+
"aria-disabled": disabled || loading ? "true" : void 0,
|
|
421
|
+
"aria-busy": loading ? "true" : void 0,
|
|
422
|
+
"aria-checked": String(checked),
|
|
423
|
+
"role": "switch",
|
|
424
|
+
"aria-label": label || void 0
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
//#endregion
|
|
428
|
+
export { MonoSwitchCore, MonoSwitchShadow, generateSwitchAttributes, validateSwitchProps };
|