@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,244 @@
|
|
|
1
|
+
import { g as monoHostChildren, h as monoHostChildNodes } from "./hydration-flush-RB5Tz5nl.js";
|
|
2
|
+
//#region src/composables/light-slots.ts
|
|
3
|
+
/**
|
|
4
|
+
* Take ownership of the host's current children. Run **once**, from
|
|
5
|
+
* `connectedCallback`, before the first render.
|
|
6
|
+
*
|
|
7
|
+
* Only nodes that were bucketed are detached from the host — anything left
|
|
8
|
+
* unclaimed stays exactly where the consumer put it.
|
|
9
|
+
*/
|
|
10
|
+
function captureLightSlots(host, options) {
|
|
11
|
+
const { names, fallback = "default" } = options;
|
|
12
|
+
const buckets = /* @__PURE__ */ new Map();
|
|
13
|
+
const claimed = [];
|
|
14
|
+
const push = (name, node) => {
|
|
15
|
+
const list = buckets.get(name);
|
|
16
|
+
if (list) list.push(node);
|
|
17
|
+
else buckets.set(name, [node]);
|
|
18
|
+
};
|
|
19
|
+
for (const node of monoHostChildNodes(host)) {
|
|
20
|
+
let name = fallback;
|
|
21
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
22
|
+
const element = node;
|
|
23
|
+
const explicit = element.getAttribute("slot");
|
|
24
|
+
if (explicit && names.includes(explicit)) {
|
|
25
|
+
name = explicit;
|
|
26
|
+
element.removeAttribute("slot");
|
|
27
|
+
}
|
|
28
|
+
} else if (node.nodeType === Node.TEXT_NODE) {
|
|
29
|
+
const text = node.textContent ?? "";
|
|
30
|
+
if (text !== "" && !text.trim()) continue;
|
|
31
|
+
if (text.trim()) node.textContent = text.trim();
|
|
32
|
+
} else if (node.nodeType !== Node.COMMENT_NODE) continue;
|
|
33
|
+
push(name, node);
|
|
34
|
+
claimed.push(node);
|
|
35
|
+
}
|
|
36
|
+
for (const node of claimed) if (node.parentNode === host) host.removeChild(node);
|
|
37
|
+
if (options.guardTextContent !== false) guardHostTextContent(host, buckets, {
|
|
38
|
+
fallback,
|
|
39
|
+
onWrite: () => host.requestUpdate?.()
|
|
40
|
+
});
|
|
41
|
+
return buckets;
|
|
42
|
+
}
|
|
43
|
+
/** Hosts already carrying the accessor — the guard must never stack on itself. */
|
|
44
|
+
var guardedHosts = /* @__PURE__ */ new WeakSet();
|
|
45
|
+
/**
|
|
46
|
+
* Redirect `host.textContent = …` into the captured default region.
|
|
47
|
+
*
|
|
48
|
+
* A light-DOM component renders into its own host, so the host's children are the
|
|
49
|
+
* component. Vue compiles a lone interpolation to a `TEXT`-flagged vnode and
|
|
50
|
+
* patches it with `el.textContent = next` (`runtime-dom`'s `setElementText`) —
|
|
51
|
+
* on the HOST. That single assignment removes every rendered node, Lit's
|
|
52
|
+
* `<!--lit-part-->` markers included, and replaces them with one bare text node:
|
|
53
|
+
* the component visually disappears and no later render repairs it, because
|
|
54
|
+
* Lit's parts now point at detached nodes. `patchChildren` does the same when
|
|
55
|
+
* children go array→text or are cleared, and so does `v-text`.
|
|
56
|
+
*
|
|
57
|
+
* Static text never hit this (Vue skips the write when the string is unchanged),
|
|
58
|
+
* which is why it only showed up on dynamic captions. Shadow builds are immune —
|
|
59
|
+
* there the host's children really are slotted content.
|
|
60
|
+
*
|
|
61
|
+
* So the write is intercepted and applied to the text node the consumer already
|
|
62
|
+
* owns inside `[data-mono-slot="<fallback>"]`, which is what the framework meant
|
|
63
|
+
* by it anyway. Framework anchors (zero-length text nodes, comments) and element
|
|
64
|
+
* children are left alone — repurposing an anchor would break the consumer's next
|
|
65
|
+
* patch just as badly as dropping one.
|
|
66
|
+
*
|
|
67
|
+
* `innerHTML` is deliberately not guarded: only `v-html` on the host reaches it,
|
|
68
|
+
* and that is a consumer asking to own the element outright.
|
|
69
|
+
*/
|
|
70
|
+
function guardHostTextContent(host, buckets, options = {}) {
|
|
71
|
+
if (guardedHosts.has(host)) return;
|
|
72
|
+
guardedHosts.add(host);
|
|
73
|
+
const { fallback = "default", onWrite } = options;
|
|
74
|
+
const nativeTextContent = Object.getOwnPropertyDescriptor(Node.prototype, "textContent");
|
|
75
|
+
/** The text node this guard writes to, kept across writes so it stays stable. */
|
|
76
|
+
let owned = null;
|
|
77
|
+
let holder;
|
|
78
|
+
const isText = (node) => node.nodeType === Node.TEXT_NODE;
|
|
79
|
+
const fallbackBucket = () => {
|
|
80
|
+
const existing = buckets.get(fallback);
|
|
81
|
+
if (existing) return existing;
|
|
82
|
+
const created = [];
|
|
83
|
+
buckets.set(fallback, created);
|
|
84
|
+
return created;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Read back the *consumer's* content, not the rendered element. Component chrome
|
|
88
|
+
* (a badge, a separator) is excluded, so Vue's hydration comparison against the
|
|
89
|
+
* vnode's text still matches after capture has moved things into a region.
|
|
90
|
+
*/
|
|
91
|
+
const read = () => {
|
|
92
|
+
let text = "";
|
|
93
|
+
let captured = false;
|
|
94
|
+
for (const nodes of buckets.values()) for (const node of nodes) {
|
|
95
|
+
captured = true;
|
|
96
|
+
if (isText(node)) text += node.data;
|
|
97
|
+
else if (node.nodeType === Node.ELEMENT_NODE) text += node.textContent ?? "";
|
|
98
|
+
}
|
|
99
|
+
if (captured) return text;
|
|
100
|
+
return nativeTextContent?.get?.call(host) ?? "";
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* The node to write into: the one we already own, else the first text node
|
|
104
|
+
* carrying actual text — never a zero-length one, that's a Fragment anchor —
|
|
105
|
+
* else a fresh node placed in the region (or parked until the region renders).
|
|
106
|
+
*/
|
|
107
|
+
const resolveTarget = () => {
|
|
108
|
+
const nodes = fallbackBucket();
|
|
109
|
+
if (owned && nodes.includes(owned)) return owned;
|
|
110
|
+
for (const node of nodes) if (isText(node) && node.data !== "") {
|
|
111
|
+
owned = node;
|
|
112
|
+
return node;
|
|
113
|
+
}
|
|
114
|
+
const created = document.createTextNode("");
|
|
115
|
+
nodes.push(created);
|
|
116
|
+
const region = host.querySelector(`[data-mono-slot="${fallback}"]`);
|
|
117
|
+
if (region) region.appendChild(created);
|
|
118
|
+
else holder = parkDetachedNodes(holder, [created]);
|
|
119
|
+
owned = created;
|
|
120
|
+
return created;
|
|
121
|
+
};
|
|
122
|
+
const write = (value) => {
|
|
123
|
+
const node = resolveTarget();
|
|
124
|
+
node.data = value == null ? "" : String(value);
|
|
125
|
+
for (const other of fallbackBucket()) if (other !== node && isText(other) && other.data !== "") other.data = "";
|
|
126
|
+
onWrite?.();
|
|
127
|
+
};
|
|
128
|
+
Object.defineProperty(host, "textContent", {
|
|
129
|
+
configurable: true,
|
|
130
|
+
enumerable: false,
|
|
131
|
+
get: read,
|
|
132
|
+
set: write
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/** Nodes that have been placed into a region at least once. */
|
|
136
|
+
var placedNodes = /* @__PURE__ */ new WeakSet();
|
|
137
|
+
/** One of our own `[data-mono-slot]` regions (possibly a detached, superseded one). */
|
|
138
|
+
function isSlotRegion(node) {
|
|
139
|
+
return node instanceof Element && node.hasAttribute("data-mono-slot");
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Move one captured node into its region — unless the consumer has taken it back.
|
|
143
|
+
*
|
|
144
|
+
* The obvious form of this, `if (node.parentNode !== target) target.appendChild(node)`,
|
|
145
|
+
* cannot tell "not placed yet" from "the framework DELETED this". A child behind a
|
|
146
|
+
* `v-if` that flips false ends up with `parentNode === null`, looks unplaced, and the
|
|
147
|
+
* very next render puts it straight back: the element **resurrects** and no amount of
|
|
148
|
+
* consumer state removes it. That was reproduced in `mono-accordion` and `mono-input`
|
|
149
|
+
* and the same loop was copied into every light-DOM component.
|
|
150
|
+
*
|
|
151
|
+
* So: place freely until a node has been placed once. After that, only re-home it
|
|
152
|
+
* while it is still inside one of OUR regions — which is what happens when a
|
|
153
|
+
* re-render swaps the region element, the case the original guard existed for. A
|
|
154
|
+
* null parent means deleted and any other parent means the consumer moved it; both
|
|
155
|
+
* are left alone.
|
|
156
|
+
*/
|
|
157
|
+
function placeSlotNode(target, node) {
|
|
158
|
+
if (node.parentNode === target) {
|
|
159
|
+
placedNodes.add(node);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (placedNodes.has(node) && !isSlotRegion(node.parentNode)) return;
|
|
163
|
+
target.appendChild(node);
|
|
164
|
+
placedNodes.add(node);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Move captured nodes into their `[data-mono-slot]` regions. Run from `updated()`,
|
|
168
|
+
* after Lit has rendered them.
|
|
169
|
+
*
|
|
170
|
+
* Nodes already sitting in the right region are left untouched — that guard is
|
|
171
|
+
* what stops a re-render from re-ordering content the consumer's framework
|
|
172
|
+
* inserted after capture. See {@link placeSlotNode} for why "not in the target"
|
|
173
|
+
* is not enough on its own.
|
|
174
|
+
*/
|
|
175
|
+
function placeLightSlots(host, buckets) {
|
|
176
|
+
for (const [name, nodes] of buckets) {
|
|
177
|
+
if (!nodes.length) continue;
|
|
178
|
+
const target = host.querySelector(`[data-mono-slot="${name}"]`);
|
|
179
|
+
if (!target) continue;
|
|
180
|
+
for (const node of nodes) placeSlotNode(target, node);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Park captured nodes that couldn't be placed — because their `[data-mono-slot]`
|
|
185
|
+
* target isn't rendered (a slot naming an item that doesn't exist *yet*, e.g. one
|
|
186
|
+
* bound to async-loaded data) — in a detached holder so they always keep a live
|
|
187
|
+
* parent. A captured node left with `parentNode === null` crashes the consumer
|
|
188
|
+
* framework's next patch (`Cannot read properties of null`); any parent avoids that
|
|
189
|
+
* while keeping the node invisible until its real target appears and placement moves
|
|
190
|
+
* it out. Returns the holder (created lazily on first orphan) so the caller can cache
|
|
191
|
+
* it. Pass the previously-returned holder back in on later calls.
|
|
192
|
+
*/
|
|
193
|
+
function parkDetachedNodes(holder, nodes) {
|
|
194
|
+
for (const node of nodes) if (node.parentNode === null) {
|
|
195
|
+
if (!holder) {
|
|
196
|
+
holder = document.createElement("div");
|
|
197
|
+
holder.hidden = true;
|
|
198
|
+
}
|
|
199
|
+
holder.appendChild(node);
|
|
200
|
+
}
|
|
201
|
+
return holder;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Watches a host for a named slot child that arrives AFTER `connectedCallback`.
|
|
205
|
+
*
|
|
206
|
+
* The one-shot capture the light builds do at connect is right for the common case — a framework
|
|
207
|
+
* mounts an element's children before inserting it — but it is not the only case. A `<ClientOnly>`
|
|
208
|
+
* boundary, a hydration pass, or a `v-if` flipping later all append the child to an element that
|
|
209
|
+
* is already connected, and a capture that has already run will never see it. In the light build
|
|
210
|
+
* that leaves the node sitting in the host's own flow, visible OUTSIDE the region it was meant
|
|
211
|
+
* for; in the shadow build the flag that renders the `<slot>` never turns on, so nothing projects.
|
|
212
|
+
*
|
|
213
|
+
* Deliberately not a Lit controller: it has to work from inside a mixin whose host may be either
|
|
214
|
+
* build, and all it needs is connect/disconnect.
|
|
215
|
+
*/
|
|
216
|
+
var LateSlotWatcher = class {
|
|
217
|
+
constructor(host, name, onFound) {
|
|
218
|
+
this.host = host;
|
|
219
|
+
this.name = name;
|
|
220
|
+
this.onFound = onFound;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* The host's own child carrying `slot="<name>"`, or `null`.
|
|
224
|
+
*
|
|
225
|
+
* Walks `children` rather than running a `:scope >` selector — only a DIRECT child is
|
|
226
|
+
* assignable to a slot, and this way the check is one cheap loop over a handful of nodes with
|
|
227
|
+
* no selector engine involved.
|
|
228
|
+
*/
|
|
229
|
+
find() {
|
|
230
|
+
for (const child of monoHostChildren(this.host)) if (child.getAttribute("slot") === this.name) return child;
|
|
231
|
+
return null;
|
|
232
|
+
}
|
|
233
|
+
start() {
|
|
234
|
+
if (this._observer || typeof MutationObserver === "undefined") return;
|
|
235
|
+
this._observer = new MutationObserver(() => this.onFound());
|
|
236
|
+
this._observer.observe(this.host, { childList: true });
|
|
237
|
+
}
|
|
238
|
+
stop() {
|
|
239
|
+
this._observer?.disconnect();
|
|
240
|
+
this._observer = void 0;
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
//#endregion
|
|
244
|
+
export { captureLightSlots as n, placeLightSlots as r, LateSlotWatcher as t };
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { l as monoHostChildNodes, u as monoHostChildren } from "./mono-ui-CPV7rrdo.js";
|
|
2
|
+
//#region src/composables/light-slots.ts
|
|
3
|
+
/**
|
|
4
|
+
* Take ownership of the host's current children. Run **once**, from
|
|
5
|
+
* `connectedCallback`, before the first render.
|
|
6
|
+
*
|
|
7
|
+
* Only nodes that were bucketed are detached from the host — anything left
|
|
8
|
+
* unclaimed stays exactly where the consumer put it.
|
|
9
|
+
*/
|
|
10
|
+
function captureLightSlots(host, options) {
|
|
11
|
+
const { names, fallback = "default" } = options;
|
|
12
|
+
const buckets = /* @__PURE__ */ new Map();
|
|
13
|
+
const claimed = [];
|
|
14
|
+
const push = (name, node) => {
|
|
15
|
+
const list = buckets.get(name);
|
|
16
|
+
if (list) list.push(node);
|
|
17
|
+
else buckets.set(name, [node]);
|
|
18
|
+
};
|
|
19
|
+
for (const node of monoHostChildNodes(host)) {
|
|
20
|
+
let name = fallback;
|
|
21
|
+
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
22
|
+
const element = node;
|
|
23
|
+
const explicit = element.getAttribute("slot");
|
|
24
|
+
if (explicit && names.includes(explicit)) {
|
|
25
|
+
name = explicit;
|
|
26
|
+
element.removeAttribute("slot");
|
|
27
|
+
}
|
|
28
|
+
} else if (node.nodeType === Node.TEXT_NODE) {
|
|
29
|
+
const text = node.textContent ?? "";
|
|
30
|
+
if (text !== "" && !text.trim()) continue;
|
|
31
|
+
if (text.trim()) node.textContent = text.trim();
|
|
32
|
+
} else if (node.nodeType !== Node.COMMENT_NODE) continue;
|
|
33
|
+
push(name, node);
|
|
34
|
+
claimed.push(node);
|
|
35
|
+
}
|
|
36
|
+
for (const node of claimed) if (node.parentNode === host) host.removeChild(node);
|
|
37
|
+
if (options.guardTextContent !== false) guardHostTextContent(host, buckets, {
|
|
38
|
+
fallback,
|
|
39
|
+
onWrite: () => host.requestUpdate?.()
|
|
40
|
+
});
|
|
41
|
+
return buckets;
|
|
42
|
+
}
|
|
43
|
+
/** Hosts already carrying the accessor — the guard must never stack on itself. */
|
|
44
|
+
var guardedHosts = /* @__PURE__ */ new WeakSet();
|
|
45
|
+
/**
|
|
46
|
+
* Redirect `host.textContent = …` into the captured default region.
|
|
47
|
+
*
|
|
48
|
+
* A light-DOM component renders into its own host, so the host's children are the
|
|
49
|
+
* component. Vue compiles a lone interpolation to a `TEXT`-flagged vnode and
|
|
50
|
+
* patches it with `el.textContent = next` (`runtime-dom`'s `setElementText`) —
|
|
51
|
+
* on the HOST. That single assignment removes every rendered node, Lit's
|
|
52
|
+
* `<!--lit-part-->` markers included, and replaces them with one bare text node:
|
|
53
|
+
* the component visually disappears and no later render repairs it, because
|
|
54
|
+
* Lit's parts now point at detached nodes. `patchChildren` does the same when
|
|
55
|
+
* children go array→text or are cleared, and so does `v-text`.
|
|
56
|
+
*
|
|
57
|
+
* Static text never hit this (Vue skips the write when the string is unchanged),
|
|
58
|
+
* which is why it only showed up on dynamic captions. Shadow builds are immune —
|
|
59
|
+
* there the host's children really are slotted content.
|
|
60
|
+
*
|
|
61
|
+
* So the write is intercepted and applied to the text node the consumer already
|
|
62
|
+
* owns inside `[data-mono-slot="<fallback>"]`, which is what the framework meant
|
|
63
|
+
* by it anyway. Framework anchors (zero-length text nodes, comments) and element
|
|
64
|
+
* children are left alone — repurposing an anchor would break the consumer's next
|
|
65
|
+
* patch just as badly as dropping one.
|
|
66
|
+
*
|
|
67
|
+
* `innerHTML` is deliberately not guarded: only `v-html` on the host reaches it,
|
|
68
|
+
* and that is a consumer asking to own the element outright.
|
|
69
|
+
*/
|
|
70
|
+
function guardHostTextContent(host, buckets, options = {}) {
|
|
71
|
+
if (guardedHosts.has(host)) return;
|
|
72
|
+
guardedHosts.add(host);
|
|
73
|
+
const { fallback = "default", onWrite } = options;
|
|
74
|
+
const nativeTextContent = Object.getOwnPropertyDescriptor(Node.prototype, "textContent");
|
|
75
|
+
/** The text node this guard writes to, kept across writes so it stays stable. */
|
|
76
|
+
let owned = null;
|
|
77
|
+
let holder;
|
|
78
|
+
const isText = (node) => node.nodeType === Node.TEXT_NODE;
|
|
79
|
+
const fallbackBucket = () => {
|
|
80
|
+
const existing = buckets.get(fallback);
|
|
81
|
+
if (existing) return existing;
|
|
82
|
+
const created = [];
|
|
83
|
+
buckets.set(fallback, created);
|
|
84
|
+
return created;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Read back the *consumer's* content, not the rendered element. Component chrome
|
|
88
|
+
* (a badge, a separator) is excluded, so Vue's hydration comparison against the
|
|
89
|
+
* vnode's text still matches after capture has moved things into a region.
|
|
90
|
+
*/
|
|
91
|
+
const read = () => {
|
|
92
|
+
let text = "";
|
|
93
|
+
let captured = false;
|
|
94
|
+
for (const nodes of buckets.values()) for (const node of nodes) {
|
|
95
|
+
captured = true;
|
|
96
|
+
if (isText(node)) text += node.data;
|
|
97
|
+
else if (node.nodeType === Node.ELEMENT_NODE) text += node.textContent ?? "";
|
|
98
|
+
}
|
|
99
|
+
if (captured) return text;
|
|
100
|
+
return nativeTextContent?.get?.call(host) ?? "";
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* The node to write into: the one we already own, else the first text node
|
|
104
|
+
* carrying actual text — never a zero-length one, that's a Fragment anchor —
|
|
105
|
+
* else a fresh node placed in the region (or parked until the region renders).
|
|
106
|
+
*/
|
|
107
|
+
const resolveTarget = () => {
|
|
108
|
+
const nodes = fallbackBucket();
|
|
109
|
+
if (owned && nodes.includes(owned)) return owned;
|
|
110
|
+
for (const node of nodes) if (isText(node) && node.data !== "") {
|
|
111
|
+
owned = node;
|
|
112
|
+
return node;
|
|
113
|
+
}
|
|
114
|
+
const created = document.createTextNode("");
|
|
115
|
+
nodes.push(created);
|
|
116
|
+
const region = host.querySelector(`[data-mono-slot="${fallback}"]`);
|
|
117
|
+
if (region) region.appendChild(created);
|
|
118
|
+
else holder = parkDetachedNodes(holder, [created]);
|
|
119
|
+
owned = created;
|
|
120
|
+
return created;
|
|
121
|
+
};
|
|
122
|
+
const write = (value) => {
|
|
123
|
+
const node = resolveTarget();
|
|
124
|
+
node.data = value == null ? "" : String(value);
|
|
125
|
+
for (const other of fallbackBucket()) if (other !== node && isText(other) && other.data !== "") other.data = "";
|
|
126
|
+
onWrite?.();
|
|
127
|
+
};
|
|
128
|
+
Object.defineProperty(host, "textContent", {
|
|
129
|
+
configurable: true,
|
|
130
|
+
enumerable: false,
|
|
131
|
+
get: read,
|
|
132
|
+
set: write
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
/** Nodes that have been placed into a region at least once. */
|
|
136
|
+
var placedNodes = /* @__PURE__ */ new WeakSet();
|
|
137
|
+
/** One of our own `[data-mono-slot]` regions (possibly a detached, superseded one). */
|
|
138
|
+
function isSlotRegion(node) {
|
|
139
|
+
return node instanceof Element && node.hasAttribute("data-mono-slot");
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Move one captured node into its region — unless the consumer has taken it back.
|
|
143
|
+
*
|
|
144
|
+
* The obvious form of this, `if (node.parentNode !== target) target.appendChild(node)`,
|
|
145
|
+
* cannot tell "not placed yet" from "the framework DELETED this". A child behind a
|
|
146
|
+
* `v-if` that flips false ends up with `parentNode === null`, looks unplaced, and the
|
|
147
|
+
* very next render puts it straight back: the element **resurrects** and no amount of
|
|
148
|
+
* consumer state removes it. That was reproduced in `mono-accordion` and `mono-input`
|
|
149
|
+
* and the same loop was copied into every light-DOM component.
|
|
150
|
+
*
|
|
151
|
+
* So: place freely until a node has been placed once. After that, only re-home it
|
|
152
|
+
* while it is still inside one of OUR regions — which is what happens when a
|
|
153
|
+
* re-render swaps the region element, the case the original guard existed for. A
|
|
154
|
+
* null parent means deleted and any other parent means the consumer moved it; both
|
|
155
|
+
* are left alone.
|
|
156
|
+
*/
|
|
157
|
+
function placeSlotNode(target, node) {
|
|
158
|
+
if (node.parentNode === target) {
|
|
159
|
+
placedNodes.add(node);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (placedNodes.has(node) && !isSlotRegion(node.parentNode)) return;
|
|
163
|
+
target.appendChild(node);
|
|
164
|
+
placedNodes.add(node);
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Move captured nodes into their `[data-mono-slot]` regions. Run from `updated()`,
|
|
168
|
+
* after Lit has rendered them.
|
|
169
|
+
*
|
|
170
|
+
* Nodes already sitting in the right region are left untouched — that guard is
|
|
171
|
+
* what stops a re-render from re-ordering content the consumer's framework
|
|
172
|
+
* inserted after capture. See {@link placeSlotNode} for why "not in the target"
|
|
173
|
+
* is not enough on its own.
|
|
174
|
+
*/
|
|
175
|
+
function placeLightSlots(host, buckets) {
|
|
176
|
+
for (const [name, nodes] of buckets) {
|
|
177
|
+
if (!nodes.length) continue;
|
|
178
|
+
const target = host.querySelector(`[data-mono-slot="${name}"]`);
|
|
179
|
+
if (!target) continue;
|
|
180
|
+
for (const node of nodes) placeSlotNode(target, node);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Park captured nodes that couldn't be placed — because their `[data-mono-slot]`
|
|
185
|
+
* target isn't rendered (a slot naming an item that doesn't exist *yet*, e.g. one
|
|
186
|
+
* bound to async-loaded data) — in a detached holder so they always keep a live
|
|
187
|
+
* parent. A captured node left with `parentNode === null` crashes the consumer
|
|
188
|
+
* framework's next patch (`Cannot read properties of null`); any parent avoids that
|
|
189
|
+
* while keeping the node invisible until its real target appears and placement moves
|
|
190
|
+
* it out. Returns the holder (created lazily on first orphan) so the caller can cache
|
|
191
|
+
* it. Pass the previously-returned holder back in on later calls.
|
|
192
|
+
*/
|
|
193
|
+
function parkDetachedNodes(holder, nodes) {
|
|
194
|
+
for (const node of nodes) if (node.parentNode === null) {
|
|
195
|
+
if (!holder) {
|
|
196
|
+
holder = document.createElement("div");
|
|
197
|
+
holder.hidden = true;
|
|
198
|
+
}
|
|
199
|
+
holder.appendChild(node);
|
|
200
|
+
}
|
|
201
|
+
return holder;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Whether a bucket holds anything the user can actually see — used to decide
|
|
205
|
+
* whether a region is worth rendering.
|
|
206
|
+
*
|
|
207
|
+
* Comments are explicitly excluded: an anchor like `<!--v-if-->` has a non-blank
|
|
208
|
+
* `textContent`, so a naive check would report an empty region as occupied.
|
|
209
|
+
*/
|
|
210
|
+
function bucketHasContent(nodes) {
|
|
211
|
+
return Boolean(nodes?.some((node) => node.nodeType === Node.ELEMENT_NODE || node.nodeType === Node.TEXT_NODE && Boolean((node.textContent ?? "").trim())));
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Watches a host for a named slot child that arrives AFTER `connectedCallback`.
|
|
215
|
+
*
|
|
216
|
+
* The one-shot capture the light builds do at connect is right for the common case — a framework
|
|
217
|
+
* mounts an element's children before inserting it — but it is not the only case. A `<ClientOnly>`
|
|
218
|
+
* boundary, a hydration pass, or a `v-if` flipping later all append the child to an element that
|
|
219
|
+
* is already connected, and a capture that has already run will never see it. In the light build
|
|
220
|
+
* that leaves the node sitting in the host's own flow, visible OUTSIDE the region it was meant
|
|
221
|
+
* for; in the shadow build the flag that renders the `<slot>` never turns on, so nothing projects.
|
|
222
|
+
*
|
|
223
|
+
* Deliberately not a Lit controller: it has to work from inside a mixin whose host may be either
|
|
224
|
+
* build, and all it needs is connect/disconnect.
|
|
225
|
+
*/
|
|
226
|
+
var LateSlotWatcher = class {
|
|
227
|
+
constructor(host, name, onFound) {
|
|
228
|
+
this.host = host;
|
|
229
|
+
this.name = name;
|
|
230
|
+
this.onFound = onFound;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* The host's own child carrying `slot="<name>"`, or `null`.
|
|
234
|
+
*
|
|
235
|
+
* Walks `children` rather than running a `:scope >` selector — only a DIRECT child is
|
|
236
|
+
* assignable to a slot, and this way the check is one cheap loop over a handful of nodes with
|
|
237
|
+
* no selector engine involved.
|
|
238
|
+
*/
|
|
239
|
+
find() {
|
|
240
|
+
for (const child of monoHostChildren(this.host)) if (child.getAttribute("slot") === this.name) return child;
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
start() {
|
|
244
|
+
if (this._observer || typeof MutationObserver === "undefined") return;
|
|
245
|
+
this._observer = new MutationObserver(() => this.onFound());
|
|
246
|
+
this._observer.observe(this.host, { childList: true });
|
|
247
|
+
}
|
|
248
|
+
stop() {
|
|
249
|
+
this._observer?.disconnect();
|
|
250
|
+
this._observer = void 0;
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
//#endregion
|
|
254
|
+
export { parkDetachedNodes as a, guardHostTextContent as i, bucketHasContent as n, placeLightSlots as o, captureLightSlots as r, placeSlotNode as s, LateSlotWatcher as t };
|