@mono-lit/helper 0.0.0-stage → 0.0.1
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 +34 -2
- 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-search-Bwo5bg8K.js +573 -0
- package/dist/data-source-controller-C50Qyfzh.js +178 -0
- package/dist/data-source-options-BTpfrOZ_.js +535 -0
- package/dist/data-source-options-CQSTZHPE.js +537 -0
- package/dist/data-source-read-CUX-lgrQ.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-BvlBx_GZ.js +2302 -0
- package/dist/export.d.ts +1 -0
- package/dist/export.js +2302 -0
- package/dist/field-icons-BoOG6KrL.js +51 -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-DjvYOL-J.js +395 -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-CoVnBLav.js +873 -0
- package/dist/mono-button.shadow-FfP_hMH4.js +784 -0
- package/dist/mono-data-chart-ChU4Ii3p.js +738 -0
- package/dist/mono-data-dropdown-BAUl58kW.js +357 -0
- package/dist/mono-data-grid-CLBK8clE.js +4140 -0
- package/dist/mono-data-grid-Db80FzdZ.js +4142 -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/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-BHsqVjRh.js +789 -0
- package/dist/reactive-D3EERqgO.js +47 -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 +74 -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 +337 -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 +258 -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 +394 -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 +84 -0
- package/dist/src/composables/element-props.d.ts +46 -0
- package/dist/src/composables/field-icons.d.ts +7 -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 +60 -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-CysgRgBi.js +760 -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 +511 -0
- package/dist/ui/chart.d.ts +1 -0
- package/dist/ui/chart.js +808 -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 +21826 -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 +995 -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 +2066 -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 +524 -0
- package/dist/ui/shadow/chart.js +1569 -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 +1193 -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 +2033 -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 +2846 -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 +2819 -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,179 @@
|
|
|
1
|
+
import { VisibilityProps } from '../../composables/visibility';
|
|
2
|
+
import { InputFormat, InputFormatCtx, InputFormatOn } from './input-format.js';
|
|
3
|
+
export type { InputFormat, InputFormatCtx, InputFormatOn };
|
|
4
|
+
export type InputType = 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'date' | 'time' | 'month' | 'week' | 'search';
|
|
5
|
+
export type InputSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
|
|
6
|
+
export type InputVariant = 'outlined' | 'filled' | 'underlined';
|
|
7
|
+
export type InputColor = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'teal' | 'purple' | 'neutral' | 'dark';
|
|
8
|
+
export type InputValidationState = 'default' | 'valid' | 'invalid' | 'warning';
|
|
9
|
+
export type InputModelEventDetail = {
|
|
10
|
+
modelValue: string;
|
|
11
|
+
currentValue: string;
|
|
12
|
+
oldValue: string;
|
|
13
|
+
value: string;
|
|
14
|
+
name?: string;
|
|
15
|
+
sourceEvent?: Event;
|
|
16
|
+
/** What the field is SHOWING — differs from `value` once a `format-display` is set. */
|
|
17
|
+
displayValue?: string;
|
|
18
|
+
};
|
|
19
|
+
export interface InputCssClass {
|
|
20
|
+
root?: string;
|
|
21
|
+
label?: string;
|
|
22
|
+
required?: string;
|
|
23
|
+
field?: string;
|
|
24
|
+
prefix?: string;
|
|
25
|
+
native?: string;
|
|
26
|
+
clear?: string;
|
|
27
|
+
suffix?: string;
|
|
28
|
+
messageWrap?: string;
|
|
29
|
+
message?: string;
|
|
30
|
+
}
|
|
31
|
+
export type InputModelEvent = CustomEvent<InputModelEventDetail>;
|
|
32
|
+
export interface InputProps extends VisibilityProps {
|
|
33
|
+
/** Native input type controlling the field's behavior and keyboard. */
|
|
34
|
+
type?: InputType;
|
|
35
|
+
/** Visual size of the input field. */
|
|
36
|
+
size?: InputSize;
|
|
37
|
+
/** Theme color applied to focus, borders, and accents. */
|
|
38
|
+
color?: InputColor;
|
|
39
|
+
/** Visual style of the field (outlined, filled, or underlined). */
|
|
40
|
+
variant?: InputVariant;
|
|
41
|
+
/** Placeholder text shown when the field is empty. */
|
|
42
|
+
placeholder?: string;
|
|
43
|
+
/** Current input value. */
|
|
44
|
+
value?: string | number;
|
|
45
|
+
/** Form field name submitted with the input. */
|
|
46
|
+
name?: string;
|
|
47
|
+
/** Two-way bound value for v-model-style usage. */
|
|
48
|
+
modelValue?: string;
|
|
49
|
+
'model-value'?: string;
|
|
50
|
+
modelvalue?: string;
|
|
51
|
+
/**
|
|
52
|
+
* How the field is DISPLAYED — a pattern (`#,##0.##`, `{}@gmail.com`) or a function.
|
|
53
|
+
* Never changes the value. A numeric pattern requires `type="text"`.
|
|
54
|
+
*/
|
|
55
|
+
formatDisplay?: InputFormat;
|
|
56
|
+
'format-display'?: InputFormat;
|
|
57
|
+
formatdisplay?: InputFormat;
|
|
58
|
+
/**
|
|
59
|
+
* How the VALUE is shaped. A numeric pattern normalises to a plain numeric string
|
|
60
|
+
* (`"10000000.25"`); a template assembles the full string.
|
|
61
|
+
*/
|
|
62
|
+
formatValue?: InputFormat;
|
|
63
|
+
'format-value'?: InputFormat;
|
|
64
|
+
formatvalue?: InputFormat;
|
|
65
|
+
/** When the display reformats: `'input'` (default) or `'blur'`. */
|
|
66
|
+
formatOn?: InputFormatOn;
|
|
67
|
+
'format-on'?: InputFormatOn;
|
|
68
|
+
formaton?: InputFormatOn;
|
|
69
|
+
/** Locale a numeric pattern is drawn with — the pattern is a shape, the locale the characters. */
|
|
70
|
+
formatLocale?: string;
|
|
71
|
+
'format-locale'?: string;
|
|
72
|
+
formatlocale?: string;
|
|
73
|
+
/** Disables interaction and dims the field. */
|
|
74
|
+
disabled?: boolean;
|
|
75
|
+
/** Makes the field read-only while still focusable. */
|
|
76
|
+
readonly?: boolean;
|
|
77
|
+
/** Shows a clear button when the field has a value. */
|
|
78
|
+
clearable?: boolean;
|
|
79
|
+
/** Marks the field as required and shows a required indicator. */
|
|
80
|
+
required?: boolean;
|
|
81
|
+
/** Focuses the field automatically on first render. */
|
|
82
|
+
autofocus?: boolean;
|
|
83
|
+
/** Label text displayed above the field. */
|
|
84
|
+
label?: string;
|
|
85
|
+
/** Helper text shown below the field. */
|
|
86
|
+
helperText?: string;
|
|
87
|
+
'helper-text'?: string;
|
|
88
|
+
helpertext?: string;
|
|
89
|
+
/** Explicit validation state for styling and messaging. */
|
|
90
|
+
validationState?: InputValidationState;
|
|
91
|
+
'validation-state'?: InputValidationState;
|
|
92
|
+
validationstate?: InputValidationState;
|
|
93
|
+
/** Validation message shown below the field. */
|
|
94
|
+
validationMessage?: string;
|
|
95
|
+
'validation-message'?: string;
|
|
96
|
+
validationmessage?: string;
|
|
97
|
+
/** Marks the field in an error state. */
|
|
98
|
+
error?: boolean;
|
|
99
|
+
/** Error message shown below the field. */
|
|
100
|
+
errorMessage?: string;
|
|
101
|
+
'error-message'?: string;
|
|
102
|
+
errormessage?: string;
|
|
103
|
+
/** Marks the field in a success state. */
|
|
104
|
+
success?: boolean;
|
|
105
|
+
/** Success message shown below the field. */
|
|
106
|
+
successMessage?: string;
|
|
107
|
+
'success-message'?: string;
|
|
108
|
+
successmessage?: string;
|
|
109
|
+
/** Accessible label for the input element. */
|
|
110
|
+
ariaLabelText?: string;
|
|
111
|
+
/** Shorter alias for the accessible label. */
|
|
112
|
+
ariaLabel?: string;
|
|
113
|
+
'aria-label'?: string;
|
|
114
|
+
'aria-label-text'?: string;
|
|
115
|
+
arialabel?: string;
|
|
116
|
+
arialabeltext?: string;
|
|
117
|
+
/** Minimum allowed input length. */
|
|
118
|
+
minLength?: number;
|
|
119
|
+
'min-length'?: number;
|
|
120
|
+
minlength?: number;
|
|
121
|
+
/** Maximum allowed input length. */
|
|
122
|
+
maxLength?: number;
|
|
123
|
+
'max-length'?: number;
|
|
124
|
+
maxlength?: number;
|
|
125
|
+
/**
|
|
126
|
+
* Minimum value. On a field with a NUMBER `format` this clamps the typed value on commit
|
|
127
|
+
* (never while typing — a lower bound is crossed on the way to most legal values). On every
|
|
128
|
+
* other type it is the native attribute.
|
|
129
|
+
*/
|
|
130
|
+
min?: number | string;
|
|
131
|
+
/**
|
|
132
|
+
* Maximum value. On a field with a NUMBER `format` this clamps the typed value AS YOU TYPE, so
|
|
133
|
+
* the field cannot be pushed past it. On every other type it is the native attribute — note the
|
|
134
|
+
* platform ignores it on `type="text"`, which a numeric format requires.
|
|
135
|
+
*/
|
|
136
|
+
max?: number | string;
|
|
137
|
+
/** Step increment for numeric or date inputs. */
|
|
138
|
+
step?: number | string;
|
|
139
|
+
/** Validation pattern the value must match. */
|
|
140
|
+
pattern?: string;
|
|
141
|
+
/** Native autocomplete hint for the field. */
|
|
142
|
+
autocomplete?: string;
|
|
143
|
+
/** Native inputmode hint for the on-screen keyboard. */
|
|
144
|
+
inputmode?: string;
|
|
145
|
+
/**
|
|
146
|
+
* Explicit sizing. Each accepts a CSS length string (`"320px"`, `"80%"`) or a
|
|
147
|
+
* number (interpreted as px). Use `width="100%"` for a full-width field.
|
|
148
|
+
*/
|
|
149
|
+
width?: string | number;
|
|
150
|
+
height?: string | number;
|
|
151
|
+
minWidth?: string | number;
|
|
152
|
+
'min-width'?: string | number;
|
|
153
|
+
maxWidth?: string | number;
|
|
154
|
+
'max-width'?: string | number;
|
|
155
|
+
minHeight?: string | number;
|
|
156
|
+
'min-height'?: string | number;
|
|
157
|
+
maxHeight?: string | number;
|
|
158
|
+
'max-height'?: string | number;
|
|
159
|
+
/** Per-part class overrides for internal elements. */
|
|
160
|
+
cssClass?: InputCssClass;
|
|
161
|
+
/**
|
|
162
|
+
* Simple HTML root class only.
|
|
163
|
+
*
|
|
164
|
+
* Example:
|
|
165
|
+
* <mono-input css-class="premium-input"></mono-input>
|
|
166
|
+
*/
|
|
167
|
+
'css-class'?: string;
|
|
168
|
+
}
|
|
169
|
+
export interface InputEvents {
|
|
170
|
+
input: InputModelEvent;
|
|
171
|
+
change: InputModelEvent;
|
|
172
|
+
clear: InputModelEvent;
|
|
173
|
+
'mno-input': InputModelEvent;
|
|
174
|
+
mnoInput: InputModelEvent;
|
|
175
|
+
'mno-change': InputModelEvent;
|
|
176
|
+
mnoChange: InputModelEvent;
|
|
177
|
+
'mno-clear': InputModelEvent;
|
|
178
|
+
mnoClear: InputModelEvent;
|
|
179
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InputType, InputSize, InputColor, InputVariant } from './input-types.js';
|
|
2
|
+
export declare function validateInputProps(props: {
|
|
3
|
+
type?: InputType;
|
|
4
|
+
size?: InputSize;
|
|
5
|
+
color?: InputColor;
|
|
6
|
+
variant?: InputVariant;
|
|
7
|
+
}): boolean;
|
|
8
|
+
export declare function generateInputAttributes(type: InputType, disabled: boolean, readonly: boolean, required: boolean, pattern?: string, min?: number | string, max?: number | string, step?: number | string, placeholder?: string): Record<string, string | number | boolean | undefined>;
|
|
9
|
+
export declare function generateInputAriaAttributes(disabled: boolean, readonly: boolean, required: boolean, hasError: boolean, label?: string, errorMessage?: string): Record<string, string | undefined>;
|
|
10
|
+
export declare function getInputIcon(type: InputType): string;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { LitElement, TemplateResult } from 'lit';
|
|
2
|
+
declare const MonoInput_base: import('../../composables/hybird-prop').Constructor<import('./input-core.js').MonoInputCoreInterface> & typeof LitElement;
|
|
3
|
+
/**
|
|
4
|
+
* Light-DOM `mono-input` (default build, `@mono-lit/helper/ui/input`).
|
|
5
|
+
*
|
|
6
|
+
* Renders into the host (`createRenderRoot`→`this`, styled by the global
|
|
7
|
+
* `dist/ui/index.css`) and uses the light-DOM slot strategy: `slot="prefix|…"`
|
|
8
|
+
* children are captured in `connectedCallback`, the template renders empty
|
|
9
|
+
* `[data-mono-slot]` targets, and the captured nodes are appended back in
|
|
10
|
+
* `updated()`. All render-mode-agnostic logic lives in `MonoInputCore`. The
|
|
11
|
+
* shadow build (`@mono-lit/helper/ui/shadow/input`) shares the mixin but uses native
|
|
12
|
+
* `<slot>`. Both register `mono-input`, so a document loads only one.
|
|
13
|
+
*/
|
|
14
|
+
export declare class MonoInput extends MonoInput_base {
|
|
15
|
+
static styles: import('lit').CSSResult[];
|
|
16
|
+
protected createRenderRoot(): HTMLElement;
|
|
17
|
+
private _slotPrefix;
|
|
18
|
+
private _slotSuffix;
|
|
19
|
+
private _slotLabel;
|
|
20
|
+
private _slotHelper;
|
|
21
|
+
private _slotObserver?;
|
|
22
|
+
/**
|
|
23
|
+
* Capture `slot="…"` light-DOM children into the per-region arrays. Safe to run
|
|
24
|
+
* MORE THAN ONCE: captured nodes have their `slot` attribute removed and are
|
|
25
|
+
* detached from the host, so a re-scan never re-captures them. Re-running lets
|
|
26
|
+
* us pick up children Vue appends AFTER `connectedCallback` (e.g. a client-only
|
|
27
|
+
* `<mono-input>` slotted into the SSR `<mono-nav>`'s shadow `<slot>`, where the
|
|
28
|
+
* `<span slot="prefix">` can arrive late) — the original one-shot capture missed
|
|
29
|
+
* those, so the prefix wrapper was never rendered and the icon never showed.
|
|
30
|
+
*/
|
|
31
|
+
private _captureSlots;
|
|
32
|
+
connectedCallback(): void;
|
|
33
|
+
disconnectedCallback(): void;
|
|
34
|
+
protected updated(changed: Map<string, unknown>): void;
|
|
35
|
+
private _placeSlot;
|
|
36
|
+
protected renderIcon(_name: 'close'): TemplateResult;
|
|
37
|
+
private _renderLabel;
|
|
38
|
+
private _renderHelper;
|
|
39
|
+
protected render(): TemplateResult;
|
|
40
|
+
}
|
|
41
|
+
declare global {
|
|
42
|
+
interface HTMLElementTagNameMap {
|
|
43
|
+
'mono-input': MonoInput;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { LitElement, TemplateResult } from 'lit';
|
|
2
|
+
declare const MonoInputShadow_base: import('../../composables/hybird-prop').Constructor<import('./input-core.js').MonoInputCoreInterface> & typeof LitElement;
|
|
3
|
+
/**
|
|
4
|
+
* Shadow-DOM `mono-input` (SSR build, `@mono-lit/helper/ui/shadow/input`).
|
|
5
|
+
*
|
|
6
|
+
* Real shadow root + `static styles`, so `@lit-labs/ssr` serializes it to
|
|
7
|
+
* Declarative Shadow DOM and styles are scoped. Slotting uses native `<slot>`.
|
|
8
|
+
*
|
|
9
|
+
* Slot-presence note: during SSR the element has no light children, so it can't
|
|
10
|
+
* know which slots are filled. Both server and client therefore DEFAULT every
|
|
11
|
+
* `_has…SlotState` to `false` (so hydration matches), render the slot wrappers
|
|
12
|
+
* with `mono-empty` (hidden by input.css), then correct presence
|
|
13
|
+
* after hydration in `firstUpdated()` (Declarative Shadow DOM assigns slotted
|
|
14
|
+
* content at parse time, so `slotchange` does NOT fire after upgrade — we scan
|
|
15
|
+
* `assignedNodes()` directly; `slotchange` is kept for later dynamic changes).
|
|
16
|
+
* `<slot name="label|helper">` carries the prop text (`label`/`helperText`) as
|
|
17
|
+
* native fallback so it shows with no JS.
|
|
18
|
+
*
|
|
19
|
+
* Shares all logic with the light build via `MonoInputCore`. Both register
|
|
20
|
+
* `mono-input`, so a document loads only one build.
|
|
21
|
+
*/
|
|
22
|
+
export declare class MonoInputShadow extends MonoInputShadow_base {
|
|
23
|
+
static styles: import('lit').CSSResult[];
|
|
24
|
+
firstUpdated(changed: Map<string, unknown>): void;
|
|
25
|
+
private _slotHasContent;
|
|
26
|
+
private _setSlotState;
|
|
27
|
+
private _onSlotChange;
|
|
28
|
+
protected renderIcon(_name: 'close'): TemplateResult;
|
|
29
|
+
private _renderLabel;
|
|
30
|
+
private _renderHelper;
|
|
31
|
+
protected render(): TemplateResult;
|
|
32
|
+
connectedCallback(): void;
|
|
33
|
+
}
|
|
34
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference path="../../../vue.d.ts" />
|
|
2
|
+
export { MonoMenu } from './mono-menu.js';
|
|
3
|
+
export { MonoMenuList } from './mono-menu-list.js';
|
|
4
|
+
export type { MenuDensity, MenuColor, MenuBadgeColor, MenuItem, MenuItemBase, MenuCssClass, MenuChangeEventDetail, MenuChangeEvent, MenuClickEventDetail, MenuClickEvent, MenuToggleGroupEventDetail, MenuToggleGroupEvent, MenuProps, MenuEvents, MonoMenuListType, MenuListProps, } from './menu-types.js';
|
|
5
|
+
export { isItem, isGroup, isDivider, isSubheader, isIconifyClass, findActivePath, findItem, collectDefaultOpenGroups, generateMenuRootClasses, getMenuAlias, validateMenuProps, } from './menu-utils.js';
|
|
6
|
+
export { renderMenuList, renderMenuGroupsOnly, renderMenuItemRow, renderMenuGroup, renderMenuDivider, renderMenuSubheader, renderMenuIcon, renderMenuBadge, renderMenuAppend, type MenuRenderContext, } from './menu-render.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference path="../../../vue.d.ts" />
|
|
2
|
+
export { MonoMenuShadow } from './mono-menu.shadow.js';
|
|
3
|
+
export { MonoMenuCore } from './menu-core.js';
|
|
4
|
+
export type { MonoMenuCoreInterface, MonoMenuListLike } from './menu-core.js';
|
|
5
|
+
export type { MenuDensity, MenuColor, MenuBadgeColor, MenuItem, MenuItemBase, MenuCssClass, MenuChangeEventDetail, MenuChangeEvent, MenuClickEventDetail, MenuClickEvent, MenuToggleGroupEventDetail, MenuToggleGroupEvent, MenuProps, MenuEvents, MonoMenuListType, MenuListProps, } from './menu-types.js';
|
|
6
|
+
export { isItem, isGroup, isDivider, isSubheader, isIconifyClass, findActivePath, findItem, collectDefaultOpenGroups, generateMenuRootClasses, getMenuAlias, validateMenuProps, } from './menu-utils.js';
|
|
7
|
+
export { renderMenuList, renderMenuGroupsOnly, renderMenuItemRow, renderMenuGroup, renderMenuDivider, renderMenuSubheader, renderMenuIcon, renderMenuBadge, renderMenuAppend, type MenuRenderContext, } from './menu-render.js';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { LitElement, TemplateResult } from 'lit';
|
|
2
|
+
import { MenuItem, MenuDensity, MenuColor, MenuCssClass } from './menu-types.js';
|
|
3
|
+
import { Constructor } from '../../composables/hybird-prop';
|
|
4
|
+
import { MenuRenderContext } from './menu-render.js';
|
|
5
|
+
/**
|
|
6
|
+
* Minimal interface for descendant `<mono-menu-list>` instances. Avoids a
|
|
7
|
+
* circular import — the real class is in `mono-menu-list.ts`.
|
|
8
|
+
*/
|
|
9
|
+
export interface MonoMenuListLike extends HTMLElement {
|
|
10
|
+
requestUpdate(): void;
|
|
11
|
+
getMenuItems?(): MenuItem[];
|
|
12
|
+
}
|
|
13
|
+
/** Public + shared-protected surface added by the core mixin. */
|
|
14
|
+
export declare class MonoMenuCoreInterface {
|
|
15
|
+
items: MenuItem[];
|
|
16
|
+
modelValue: string | string[];
|
|
17
|
+
multiple: boolean;
|
|
18
|
+
density: MenuDensity;
|
|
19
|
+
color: MenuColor;
|
|
20
|
+
nav: boolean;
|
|
21
|
+
selectable: boolean;
|
|
22
|
+
disabled: boolean;
|
|
23
|
+
controlled: boolean;
|
|
24
|
+
cssClass: MenuCssClass;
|
|
25
|
+
cssClassName: string;
|
|
26
|
+
select(id: string): void;
|
|
27
|
+
deselect(id: string): void;
|
|
28
|
+
toggleGroup(id: string): void;
|
|
29
|
+
expandGroup(id: string): void;
|
|
30
|
+
collapseGroup(id: string): void;
|
|
31
|
+
getActivePath(): MenuItem[];
|
|
32
|
+
requestItemActivation(item: MenuItem, event?: Event): void;
|
|
33
|
+
requestGroupToggle(group: MenuItem, event?: Event): void;
|
|
34
|
+
isItemSelected(id: string): boolean;
|
|
35
|
+
isGroupOpenPublic(id: string): boolean;
|
|
36
|
+
getSlotIconNodes(id: string): Node[] | undefined;
|
|
37
|
+
_registerListChild(child: MonoMenuListLike): void;
|
|
38
|
+
_unregisterListChild(child: MonoMenuListLike): void;
|
|
39
|
+
protected _openGroups: Set<string>;
|
|
40
|
+
protected _slotIcons: Map<string, Node[]>;
|
|
41
|
+
protected _listChildren: Set<MonoMenuListLike>;
|
|
42
|
+
protected _seedDefaultOpenGroups(): void;
|
|
43
|
+
protected _setCssClass(value: unknown): void;
|
|
44
|
+
protected _cls(base: string, key: keyof MenuCssClass): string;
|
|
45
|
+
protected _rootClasses: string;
|
|
46
|
+
protected _isSelected(id: string): boolean;
|
|
47
|
+
protected _isGroupOpen(id: string): boolean;
|
|
48
|
+
protected _renderContext(): MenuRenderContext;
|
|
49
|
+
protected _renderBody(): TemplateResult;
|
|
50
|
+
protected _useIconSlots(): boolean;
|
|
51
|
+
protected _chevronSvg(): TemplateResult | undefined;
|
|
52
|
+
protected _handleItemActivation(item: MenuItem, event?: Event): void;
|
|
53
|
+
protected _handleGroupToggle(group: MenuItem, event?: Event): void;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* `MonoMenuCore` — all render-mode-agnostic logic for `mono-menu`: reactive
|
|
57
|
+
* props, hybrid aliases, css-class interop, selection + open-group state,
|
|
58
|
+
* default-open seeding, the click/toggle/change events, the full public API, and
|
|
59
|
+
* the chrome `render()` (which delegates the body to a `_renderBody()` hook).
|
|
60
|
+
*
|
|
61
|
+
* Leaves to each build: `createRenderRoot()`, the body strategy (light: slot
|
|
62
|
+
* capture / declarative `slot="body"`; shadow: items-driven only), and
|
|
63
|
+
* `_chevronSvg()` (light: undefined → UnoCSS icon span; shadow: inline SVG).
|
|
64
|
+
*/
|
|
65
|
+
export declare const MonoMenuCore: <T extends Constructor<LitElement>>(superClass: T) => Constructor<MonoMenuCoreInterface> & T;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { nothing, TemplateResult } from 'lit';
|
|
2
|
+
import { MenuCssClass, MenuItem } from './menu-types.js';
|
|
3
|
+
export interface MenuRenderContext {
|
|
4
|
+
multiple: boolean;
|
|
5
|
+
selectable: boolean;
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
cssClass: MenuCssClass;
|
|
8
|
+
isSelected(id: string): boolean;
|
|
9
|
+
isGroupOpen(id: string): boolean;
|
|
10
|
+
getSlotIconNodes(id: string): Node[] | undefined;
|
|
11
|
+
onItemClick(item: MenuItem, event: Event): void;
|
|
12
|
+
onGroupToggle(group: MenuItem, event: Event): void;
|
|
13
|
+
/**
|
|
14
|
+
* When `true`, group/item bodies are rendered as an empty
|
|
15
|
+
* `<ul class="mono-menu-list" data-mono-slot="body">` placeholder instead of
|
|
16
|
+
* recursing into `item.items`. The host element re-attaches captured DOM
|
|
17
|
+
* children into that slot in `updated()`, allowing arbitrary declarative
|
|
18
|
+
* nesting. Defaults to `false` (the existing items-array behaviour).
|
|
19
|
+
*/
|
|
20
|
+
bodySlot?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Inline chevron markup for the group expand/collapse affordance. The light
|
|
23
|
+
* build leaves this undefined → the UnoCSS `.mono-icon i-mdi-chevron-right`
|
|
24
|
+
* span is rendered (resolved by global CSS). The shadow build passes an inline
|
|
25
|
+
* SVG here, because that utility class can't resolve inside a shadow root.
|
|
26
|
+
*/
|
|
27
|
+
chevronSvg?: TemplateResult;
|
|
28
|
+
/**
|
|
29
|
+
* Mark a group as the ancestor of the currently-selected item, so it gets the
|
|
30
|
+
* `active` accent on its header (`.mono-menu-group.active`). Optional — when
|
|
31
|
+
* absent, groups never get the ancestor-active class (legacy behaviour).
|
|
32
|
+
*/
|
|
33
|
+
isGroupActive?(group: MenuItem): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Render iconify-class icons (`i-mdi-…`) as a native `<slot name="icon-<id>">`
|
|
36
|
+
* instead of a `<span class="i-…">`. The shadow build sets this and supplies
|
|
37
|
+
* matching LIGHT-DOM `<span slot="icon-<id>">` children, so the page's global
|
|
38
|
+
* UnoCSS styles them (utility classes can't resolve inside a shadow root).
|
|
39
|
+
* Default (light build) keeps the inline class span.
|
|
40
|
+
*/
|
|
41
|
+
iconSlot?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export declare function renderMenuIcon(item: MenuItem, ctx: MenuRenderContext): TemplateResult | typeof nothing;
|
|
44
|
+
export declare function renderMenuBadge(item: MenuItem, ctx: MenuRenderContext): TemplateResult | typeof nothing;
|
|
45
|
+
export declare function renderMenuAppend(item: MenuItem, ctx: MenuRenderContext): TemplateResult | typeof nothing;
|
|
46
|
+
export declare function renderMenuItemRow(item: MenuItem, ctx: MenuRenderContext): TemplateResult;
|
|
47
|
+
export declare function renderMenuGroup(group: MenuItem, ctx: MenuRenderContext): TemplateResult;
|
|
48
|
+
export declare function renderMenuDivider(item: MenuItem, ctx: MenuRenderContext): TemplateResult;
|
|
49
|
+
export declare function renderMenuSubheader(item: MenuItem, ctx: MenuRenderContext): TemplateResult;
|
|
50
|
+
export declare function renderMenuList(list: MenuItem[], ctx: MenuRenderContext): TemplateResult[];
|
|
51
|
+
/**
|
|
52
|
+
* Render only the group rows from `list` — non-group items are skipped.
|
|
53
|
+
* Used by `<mono-menu-list type="group">`.
|
|
54
|
+
*/
|
|
55
|
+
export declare function renderMenuGroupsOnly(list: MenuItem[], ctx: MenuRenderContext): TemplateResult[];
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Menu (recursive nav list) Component Type Definitions
|
|
3
|
+
*/
|
|
4
|
+
export type MenuDensity = 'compact' | 'comfortable' | 'default';
|
|
5
|
+
/**
|
|
6
|
+
* A theme palette slot, `surface` for the unpainted default, or any CSS color —
|
|
7
|
+
* `#7c3aed`, `rgb(124 58 237)`, `hsl(258 90% 66%)`.
|
|
8
|
+
*
|
|
9
|
+
* A slot name follows the active `.theme-color-*` preset automatically; a literal is
|
|
10
|
+
* carried inline and its ink is derived from its own luminance. Note `teal` and
|
|
11
|
+
* `purple` are CSS keywords too — the slot list is matched first, so they always mean
|
|
12
|
+
* the theme colour.
|
|
13
|
+
*
|
|
14
|
+
* The `(string & {})` arm keeps the slot names in editor autocomplete.
|
|
15
|
+
*/
|
|
16
|
+
export type MenuColorToken = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'teal' | 'purple' | 'neutral' | 'dark' | 'surface';
|
|
17
|
+
export type MenuColor = MenuColorToken | (string & {}) | 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'teal' | 'purple' | 'neutral' | 'dark' | 'surface';
|
|
18
|
+
export type MenuBadgeColor = 'default' | 'primary' | 'success' | 'danger' | 'warning' | 'info';
|
|
19
|
+
/**
|
|
20
|
+
* Menu items are a discriminated union by `type`.
|
|
21
|
+
* - `type` omitted or `'item'` — clickable nav row, may have `children` (auto-nested with indent).
|
|
22
|
+
* - `'group'` — collapsible header + children list.
|
|
23
|
+
* - `'divider'` — thin horizontal rule.
|
|
24
|
+
* - `'subheader'` — small label heading for the section beneath.
|
|
25
|
+
*/
|
|
26
|
+
export interface MenuItemBase {
|
|
27
|
+
id: string;
|
|
28
|
+
type?: 'item' | 'group' | 'divider' | 'subheader';
|
|
29
|
+
title?: string;
|
|
30
|
+
subtitle?: string;
|
|
31
|
+
icon?: string;
|
|
32
|
+
appendIcon?: string;
|
|
33
|
+
badge?: string | number;
|
|
34
|
+
badgeColor?: MenuBadgeColor;
|
|
35
|
+
href?: string;
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Nested menu rows.
|
|
39
|
+
* Used by both normal items and group items.
|
|
40
|
+
*/
|
|
41
|
+
items?: MenuItem[];
|
|
42
|
+
/** Group items only — initial expansion state. */
|
|
43
|
+
defaultOpen?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export type MenuItem = MenuItemBase;
|
|
46
|
+
export interface MenuCssClass {
|
|
47
|
+
root?: string;
|
|
48
|
+
list?: string;
|
|
49
|
+
item?: string;
|
|
50
|
+
itemActive?: string;
|
|
51
|
+
itemDisabled?: string;
|
|
52
|
+
action?: string;
|
|
53
|
+
icon?: string;
|
|
54
|
+
appendIcon?: string;
|
|
55
|
+
content?: string;
|
|
56
|
+
title?: string;
|
|
57
|
+
subtitle?: string;
|
|
58
|
+
badge?: string;
|
|
59
|
+
group?: string;
|
|
60
|
+
groupHeader?: string;
|
|
61
|
+
groupBody?: string;
|
|
62
|
+
groupChevron?: string;
|
|
63
|
+
divider?: string;
|
|
64
|
+
subheader?: string;
|
|
65
|
+
}
|
|
66
|
+
export type MenuChangeEventDetail = {
|
|
67
|
+
modelValue: string | string[];
|
|
68
|
+
oldValue: string | string[];
|
|
69
|
+
value: string;
|
|
70
|
+
item: MenuItem;
|
|
71
|
+
selected: boolean;
|
|
72
|
+
sourceEvent?: Event;
|
|
73
|
+
};
|
|
74
|
+
export type MenuChangeEvent = CustomEvent<MenuChangeEventDetail>;
|
|
75
|
+
export type MenuClickEventDetail = {
|
|
76
|
+
value: string;
|
|
77
|
+
item: MenuItem;
|
|
78
|
+
sourceEvent?: Event;
|
|
79
|
+
};
|
|
80
|
+
export type MenuClickEvent = CustomEvent<MenuClickEventDetail>;
|
|
81
|
+
export type MenuToggleGroupEventDetail = {
|
|
82
|
+
groupId: string;
|
|
83
|
+
open: boolean;
|
|
84
|
+
oldOpen: boolean;
|
|
85
|
+
group: MenuItem;
|
|
86
|
+
sourceEvent?: Event;
|
|
87
|
+
};
|
|
88
|
+
export type MenuToggleGroupEvent = CustomEvent<MenuToggleGroupEventDetail>;
|
|
89
|
+
export interface MenuProps {
|
|
90
|
+
/** Menu items rendered as a recursive list. */
|
|
91
|
+
items?: MenuItem[];
|
|
92
|
+
/** Selected item id, or array of ids when multiple. */
|
|
93
|
+
modelValue?: string | string[];
|
|
94
|
+
'model-value'?: string | string[];
|
|
95
|
+
modelvalue?: string | string[];
|
|
96
|
+
/** Allows selecting multiple items at once. */
|
|
97
|
+
multiple?: boolean;
|
|
98
|
+
/** Vertical spacing density of menu rows. */
|
|
99
|
+
density?: MenuDensity;
|
|
100
|
+
/** Theme color applied to active and accent states. */
|
|
101
|
+
color?: MenuColor;
|
|
102
|
+
/** Renders rows as navigation links. */
|
|
103
|
+
nav?: boolean;
|
|
104
|
+
/** Enables item selection and listbox semantics. */
|
|
105
|
+
selectable?: boolean;
|
|
106
|
+
/** Disables interaction across the whole menu. */
|
|
107
|
+
disabled?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Controlled mode — the parent owns `modelValue` (e.g. bound to the current
|
|
110
|
+
* route). Clicks emit `click` but the highlight doesn't move until
|
|
111
|
+
* `modelValue` updates. Use with Vue Router so the active item can't jump
|
|
112
|
+
* ahead of an async navigation.
|
|
113
|
+
*/
|
|
114
|
+
controlled?: boolean;
|
|
115
|
+
/** Per-part class overrides for internal elements. */
|
|
116
|
+
cssClass?: MenuCssClass;
|
|
117
|
+
cssclass?: MenuCssClass;
|
|
118
|
+
'css-class'?: MenuCssClass | string;
|
|
119
|
+
/** Plain root class string applied to the menu. */
|
|
120
|
+
cssClassName?: string;
|
|
121
|
+
}
|
|
122
|
+
export interface MenuEvents {
|
|
123
|
+
change: MenuChangeEvent;
|
|
124
|
+
click: MenuClickEvent;
|
|
125
|
+
'toggle-group': MenuToggleGroupEvent;
|
|
126
|
+
toggleGroup: MenuToggleGroupEvent;
|
|
127
|
+
'mno-change': MenuChangeEvent;
|
|
128
|
+
mnoChange: MenuChangeEvent;
|
|
129
|
+
'mno-click': MenuClickEvent;
|
|
130
|
+
mnoClick: MenuClickEvent;
|
|
131
|
+
'mno-toggle-group': MenuToggleGroupEvent;
|
|
132
|
+
mnoToggleGroup: MenuToggleGroupEvent;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* `<mono-menu-list>` `type` semantics:
|
|
136
|
+
*
|
|
137
|
+
* 1. **Items-array mode** (`type` interpreted as renderer mode):
|
|
138
|
+
* - `"children"` — full recursive renderer (items, dividers, subheaders, nested groups).
|
|
139
|
+
* - `"group"` — render every top-level entry as a collapsible group; non-group items are
|
|
140
|
+
* skipped silently.
|
|
141
|
+
*
|
|
142
|
+
* 2. **Direct/declarative mode** (`type` interpreted as the synthesised `MenuItem.type`):
|
|
143
|
+
* Used when the element has direct attribute props (`title`, `icon`, `href`, …) **or**
|
|
144
|
+
* declarative `<mono-menu-list>` children.
|
|
145
|
+
* - `"children"` (default) / `"item"` — regular menu row; child elements compose its
|
|
146
|
+
* sub-list (auto-indent + guide rail).
|
|
147
|
+
* - `"group"` — collapsible group; child elements compose the group body.
|
|
148
|
+
* - `"divider"` / `"subheader"` — leaf rows; children are ignored.
|
|
149
|
+
*
|
|
150
|
+
* Disambiguation: if the element has **only** an `items` array (no direct props, no child
|
|
151
|
+
* elements), the renderer-mode meaning applies. Otherwise the `MenuItem.type` meaning applies.
|
|
152
|
+
*/
|
|
153
|
+
export type MonoMenuListType = 'children' | 'item' | 'group' | 'divider' | 'subheader';
|
|
154
|
+
export interface MenuListProps {
|
|
155
|
+
/**
|
|
156
|
+
* In list mode:
|
|
157
|
+
* <mono-menu-list :items.prop="items" />
|
|
158
|
+
*
|
|
159
|
+
* In direct single-row mode:
|
|
160
|
+
* <mono-menu-list type="group" title="Sales" :items.prop="children" />
|
|
161
|
+
* Here, `items` becomes the built item's `children`.
|
|
162
|
+
*
|
|
163
|
+
* In declarative mode, child `<mono-menu-list>` elements (or any other HTML)
|
|
164
|
+
* compose the row's body — arbitrary depth supported.
|
|
165
|
+
*/
|
|
166
|
+
items?: MenuItem[];
|
|
167
|
+
/** Render one full item object, useful with Vue `v-for`. */
|
|
168
|
+
item?: MenuItem;
|
|
169
|
+
/** Render mode, or the synthesised item's type in direct mode. */
|
|
170
|
+
type?: MonoMenuListType;
|
|
171
|
+
/** Direct single-row props. `item-type` is a legacy alias for `type` in declarative mode. */
|
|
172
|
+
itemType?: MenuItem['type'];
|
|
173
|
+
'item-type'?: MenuItem['type'];
|
|
174
|
+
/** Row title text. */
|
|
175
|
+
title?: string;
|
|
176
|
+
/** Secondary text shown beneath the title. */
|
|
177
|
+
subtitle?: string;
|
|
178
|
+
/** Leading icon shown before the title. */
|
|
179
|
+
icon?: string;
|
|
180
|
+
/** Trailing icon shown after the title. */
|
|
181
|
+
appendIcon?: string;
|
|
182
|
+
'append-icon'?: string;
|
|
183
|
+
/** Badge content shown on the row. */
|
|
184
|
+
badge?: string | number;
|
|
185
|
+
/** Color theme of the badge. */
|
|
186
|
+
badgeColor?: MenuBadgeColor;
|
|
187
|
+
'badge-color'?: MenuBadgeColor;
|
|
188
|
+
/** Link target for navigation rows. */
|
|
189
|
+
href?: string;
|
|
190
|
+
/** Disables interaction with the row. */
|
|
191
|
+
disabled?: boolean;
|
|
192
|
+
/** Initial expansion state for group rows. */
|
|
193
|
+
defaultOpen?: boolean;
|
|
194
|
+
'default-open'?: boolean;
|
|
195
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { MenuItem, MenuProps } from './menu-types.js';
|
|
2
|
+
export { isIconifyClass } from '../../composables/icon.js';
|
|
3
|
+
export declare function isItem(node: MenuItem): boolean;
|
|
4
|
+
export declare function isGroup(node: MenuItem): boolean;
|
|
5
|
+
export declare function isDivider(node: MenuItem): boolean;
|
|
6
|
+
export declare function isSubheader(node: MenuItem): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Walk the tree and collect the chain (root → leaf) leading to the item with
|
|
9
|
+
* the given id. Returns an empty array if not found.
|
|
10
|
+
*/
|
|
11
|
+
export declare function findActivePath(items: MenuItem[], id: string): MenuItem[];
|
|
12
|
+
export declare function findItem(items: MenuItem[], id: string): MenuItem | null;
|
|
13
|
+
/**
|
|
14
|
+
* Generate a 1–2 character alias from a menu item's title for the icon
|
|
15
|
+
* fallback (used by `renderMenuIcon` when no `item.icon` and no slot icon are
|
|
16
|
+
* provided). Each space-delimited word contributes its first character; output
|
|
17
|
+
* is uppercased and capped at `max` characters.
|
|
18
|
+
*
|
|
19
|
+
* Examples:
|
|
20
|
+
* getMenuAlias('Dashboard') → 'D'
|
|
21
|
+
* getMenuAlias('Post Budget') → 'PB'
|
|
22
|
+
* getMenuAlias('Sales Order Report') → 'SO'
|
|
23
|
+
* getMenuAlias('logbook') → 'L'
|
|
24
|
+
* getMenuAlias('') → ''
|
|
25
|
+
*/
|
|
26
|
+
export declare function getMenuAlias(input: string | undefined | null, max?: number): string;
|
|
27
|
+
export declare function collectDefaultOpenGroups(items: MenuItem[]): string[];
|
|
28
|
+
export declare function generateMenuRootClasses(props: {
|
|
29
|
+
density: string;
|
|
30
|
+
color: string;
|
|
31
|
+
nav: boolean;
|
|
32
|
+
selectable: boolean;
|
|
33
|
+
disabled: boolean;
|
|
34
|
+
cssClassName?: string;
|
|
35
|
+
rootExtra?: string;
|
|
36
|
+
}): string;
|
|
37
|
+
export declare function validateMenuProps(props: MenuProps): string[];
|
|
38
|
+
/**
|
|
39
|
+
* The Basecoat styling attributes for the menu ROOT, mirroring the props one
|
|
40
|
+
* for one. A prop at its DEFAULT emits nothing — `:not([mono-density])` is
|
|
41
|
+
* comfortable and `:not([mono-color])` is primary — so the rendered DOM is
|
|
42
|
+
* also the shortest hand-written markup that paints the same (see menu.css).
|
|
43
|
+
* `nav` defaults to TRUE, so `mono-plain` is the attribute that says
|
|
44
|
+
* something. Shared so `<mono-menu>` and a standalone `<mono-menu-list>`
|
|
45
|
+
* cannot drift apart.
|
|
46
|
+
*/
|
|
47
|
+
export declare function menuRootAttrs(props: {
|
|
48
|
+
density: string;
|
|
49
|
+
color: string;
|
|
50
|
+
}): {
|
|
51
|
+
density: string | null;
|
|
52
|
+
color: string | null;
|
|
53
|
+
};
|