@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,108 @@
|
|
|
1
|
+
import { ComplexAttributeConverter } from 'lit';
|
|
2
|
+
/** `p-throttle` options we expose. Mirrors the upstream option names. */
|
|
3
|
+
export interface ThrottleConfig {
|
|
4
|
+
/** Maximum number of calls within `interval`. Default 1. */
|
|
5
|
+
limit?: number;
|
|
6
|
+
/** Timespan for `limit`, in ms. Default 1000. */
|
|
7
|
+
interval?: number;
|
|
8
|
+
/** Throttle each call individually instead of using a window. Default false. */
|
|
9
|
+
strict?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/** `p-debounce` options we expose. Mirrors the upstream option names. */
|
|
12
|
+
export interface DebounceConfig {
|
|
13
|
+
/** Milliseconds to wait after the last call. Default 300. */
|
|
14
|
+
wait?: number;
|
|
15
|
+
/** Run on the leading edge instead of the trailing edge. Default false. */
|
|
16
|
+
before?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* What a rate-limit prop accepts: the config object, a bare number shorthand, a
|
|
20
|
+
* numeric/JSON string (the attribute form), or a falsy value meaning "off".
|
|
21
|
+
*/
|
|
22
|
+
export type RateLimitOption<C> = C | number | string | boolean | null | undefined;
|
|
23
|
+
export type ResolvedThrottleConfig = Required<ThrottleConfig>;
|
|
24
|
+
export type ResolvedDebounceConfig = Required<DebounceConfig>;
|
|
25
|
+
/**
|
|
26
|
+
* Normalize a `throttle` prop. A bare number is the *interval*
|
|
27
|
+
* (`throttle="1000"` → at most one call per second), which is the reading
|
|
28
|
+
* people expect from `throttle={1000}` elsewhere. Returns `null` when
|
|
29
|
+
* throttling is off.
|
|
30
|
+
*/
|
|
31
|
+
export declare function normalizeThrottle(value: RateLimitOption<ThrottleConfig>): ResolvedThrottleConfig | null;
|
|
32
|
+
/**
|
|
33
|
+
* Normalize a `debounce` prop. A bare number is the *wait*
|
|
34
|
+
* (`debounce="300"` → 300ms). Returns `null` when debouncing is off.
|
|
35
|
+
*/
|
|
36
|
+
export declare function normalizeDebounce(value: RateLimitOption<DebounceConfig>): ResolvedDebounceConfig | null;
|
|
37
|
+
/**
|
|
38
|
+
* Lit `hasChanged` for a rate-limit prop.
|
|
39
|
+
*
|
|
40
|
+
* **This is load-bearing.** In a template, `:throttle.prop="{ limit: 1 }"`
|
|
41
|
+
* allocates a NEW object on every parent re-render. With Lit's default `!==`
|
|
42
|
+
* check the element would see a change each time, rebuild the wrapper, and
|
|
43
|
+
* restart the timer — so on a frequently re-rendering parent a debounced call
|
|
44
|
+
* could be postponed forever and never fire at all. Comparing by value makes a
|
|
45
|
+
* re-created but equivalent config a no-op.
|
|
46
|
+
*/
|
|
47
|
+
export declare function rateLimitHasChanged(value: unknown, old: unknown): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Lit attribute converter for a rate-limit prop, so the shorthand attribute
|
|
50
|
+
* forms (`debounce="300"`, `throttle`, `debounce='{"wait":300}'`) work in plain
|
|
51
|
+
* HTML and SSR without a `.prop` binding.
|
|
52
|
+
*/
|
|
53
|
+
export declare const rateLimitConverter: ComplexAttributeConverter<unknown>;
|
|
54
|
+
/**
|
|
55
|
+
* Lifecycle of a call through a limiter. `pending` covers the wait — the
|
|
56
|
+
* debounce timer or the throttle queue — and `running` covers the actual
|
|
57
|
+
* execution. Consumers typically paint a spinner for both but only block
|
|
58
|
+
* interaction for `running`, otherwise the first click locks the control and
|
|
59
|
+
* there is no burst left to collapse.
|
|
60
|
+
*/
|
|
61
|
+
export type RateLimitPhase = 'pending' | 'running' | 'idle';
|
|
62
|
+
export interface RateLimiter {
|
|
63
|
+
/** Put a call through the limiter. Never rejects on cancellation. */
|
|
64
|
+
call(...args: unknown[]): Promise<unknown>;
|
|
65
|
+
/** Drop everything pending. The wrapper is rebuilt on the next `call()`. */
|
|
66
|
+
cancel(): void;
|
|
67
|
+
/** Cancel and release the wrapper (use on disconnect). */
|
|
68
|
+
dispose(): void;
|
|
69
|
+
/** Calls accepted but not yet settled (waiting *or* executing). */
|
|
70
|
+
readonly pending: number;
|
|
71
|
+
/** Calls currently executing `run`. */
|
|
72
|
+
readonly running: number;
|
|
73
|
+
/** Derived phase, for reporting. */
|
|
74
|
+
readonly phase: RateLimitPhase;
|
|
75
|
+
/** Calls waiting in the throttle queue (always 0 for a debouncer). */
|
|
76
|
+
readonly queueSize: number;
|
|
77
|
+
}
|
|
78
|
+
export interface CreateRateLimiterOptions {
|
|
79
|
+
kind: 'throttle' | 'debounce';
|
|
80
|
+
config: ResolvedThrottleConfig | ResolvedDebounceConfig;
|
|
81
|
+
/** The work to rate-limit. Its promise defines the `running` phase. */
|
|
82
|
+
run: (...args: unknown[]) => unknown | Promise<unknown>;
|
|
83
|
+
/** Called whenever `pending` / `running` change, so the host can re-render. */
|
|
84
|
+
onChange?: () => void;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Build a limiter around `run`.
|
|
88
|
+
*
|
|
89
|
+
* The wrapper is created lazily on the first `call()`, so nothing schedules a
|
|
90
|
+
* timer at construction time — important for SSR, where a limiter may be
|
|
91
|
+
* constructed but never called.
|
|
92
|
+
*
|
|
93
|
+
* `pending` counts calls that are still *waiting* — not merely unsettled. The
|
|
94
|
+
* distinction matters because a debounced burst collapses N calls into one
|
|
95
|
+
* execution and the losers only settle after it finishes: counting them as
|
|
96
|
+
* waiting would make the limiter report a phantom `pending` tail once the work
|
|
97
|
+
* was already done. So waiting is cleared when an execution starts (all of it
|
|
98
|
+
* for a debounce, one call for a throttle, whose queue really does keep
|
|
99
|
+
* waiting), and force-cleared whenever no call is outstanding at all — an
|
|
100
|
+
* invariant that also covers leading-edge debounces, where a trailing call
|
|
101
|
+
* settles without ever reaching `run`.
|
|
102
|
+
*
|
|
103
|
+
* Cancellation goes through an `AbortController`: both libraries take a
|
|
104
|
+
* `signal` and reject their pending promises when it fires. A signal is
|
|
105
|
+
* one-shot, so `cancel()` also drops the wrapper and the next `call()` rebuilds
|
|
106
|
+
* it with a fresh controller.
|
|
107
|
+
*/
|
|
108
|
+
export declare function createRateLimiter(options: CreateRateLimiterOptions): RateLimiter;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Undoing framework reactivity, structurally.
|
|
3
|
+
*
|
|
4
|
+
* Vue wraps objects handed to a `ref()` / `reactive()` in a **Proxy**, and a proxy
|
|
5
|
+
* is a different object identity from the row it wraps. That matters here because
|
|
6
|
+
* `mono-select` / `mono-tag-input` use the **whole item as the model value** when
|
|
7
|
+
* no `key-value` is given, and identity is what decides "is this option already
|
|
8
|
+
* selected". The round trip is asymmetric:
|
|
9
|
+
*
|
|
10
|
+
* 1. the element emits the RAW item from its `items` array;
|
|
11
|
+
* 2. the consumer assigns it into a `ref`, and Vue wraps it;
|
|
12
|
+
* 3. Vue writes it back through `:model-value.prop` as a PROXY;
|
|
13
|
+
* 4. `proxy === rawItem` is `false`, and every comparison after that misses.
|
|
14
|
+
*
|
|
15
|
+
* Unwrapping both sides before comparing restores the identity the components
|
|
16
|
+
* rely on. Done by duck-typing Vue's own internal flags so this package still
|
|
17
|
+
* never imports Vue — the same trick `unwrapReactive` already used for
|
|
18
|
+
* DataSources, which is why that function now lives here.
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Unwrap a `ref()` / `computed()` wrapper and a `reactive()` proxy to the raw
|
|
22
|
+
* target underneath. Returns the value unchanged when it isn't reactive.
|
|
23
|
+
*/
|
|
24
|
+
export declare function unwrapReactive<T = unknown>(value: T): T;
|
|
25
|
+
/**
|
|
26
|
+
* An option a controller re-reads at query time: the value itself, a getter, or
|
|
27
|
+
* a `{ value }` box — which is what a Vue `ref()` / `computed()` is, and what a
|
|
28
|
+
* plain `{ value }` a consumer keeps by hand is too.
|
|
29
|
+
*
|
|
30
|
+
* Framework-neutral on purpose. A controller cannot subscribe to a consumer's
|
|
31
|
+
* reactive state without importing their framework, but it does not need to:
|
|
32
|
+
* every query the components run (search, sort, page, header filter, scroll)
|
|
33
|
+
* goes through the controller, and reading the option fresh at that moment is
|
|
34
|
+
* what makes the CURRENT reactive value the one that lands in the request.
|
|
35
|
+
*/
|
|
36
|
+
export type MaybeReactive<T> = T | (() => T) | {
|
|
37
|
+
value: T;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Read a {@link MaybeReactive} option: call a getter, unwrap a ref/computed or a
|
|
41
|
+
* reactive proxy, unbox a plain `{ value }`. Never caches — the caller decides
|
|
42
|
+
* when "now" is.
|
|
43
|
+
*/
|
|
44
|
+
export declare function resolveMaybeReactive<T>(option: MaybeReactive<T> | undefined): T | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* {@link unwrapReactive}, then — for an **array** — unwrap each element too.
|
|
47
|
+
*
|
|
48
|
+
* Reading an index off a deep-reactive array yields a proxy of that element, so
|
|
49
|
+
* unwrapping only the container still leaves proxies inside. One level of
|
|
50
|
+
* elements is all the value models here need; this deliberately does not recurse
|
|
51
|
+
* into nested objects, which would rewrite data the consumer owns.
|
|
52
|
+
*/
|
|
53
|
+
export declare function unwrapReactiveDeep<T = unknown>(value: T): T;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
type Constructor<T = object> = new (...args: any[]) => T;
|
|
3
|
+
export interface ToShadowCssOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Element-selector tag to rewrite to `:host` (e.g. `'mono-nav'`). Handles
|
|
6
|
+
* `tag { … }`, `tag[attr] { … }` and `tag,` — but NOT `.tag` or `tag-suffix`.
|
|
7
|
+
*/
|
|
8
|
+
host?: string;
|
|
9
|
+
/**
|
|
10
|
+
* Prepend `:host { display: <value> }`. Use when the component has no element
|
|
11
|
+
* selector to rewrite (its state classes live on an inner root) but the host
|
|
12
|
+
* still needs a display value (e.g. dropdown → `'inline-block'`).
|
|
13
|
+
*/
|
|
14
|
+
hostDisplay?: string;
|
|
15
|
+
/** Shadow-only CSS appended verbatim (e.g. `[data-empty] { display: none }`). */
|
|
16
|
+
append?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function toShadowCss(css: string, opts?: ToShadowCssOptions): string;
|
|
19
|
+
/**
|
|
20
|
+
* Adopt the page's icon utility CSS into `root` so `i-…` / `.mono-icon` glyphs
|
|
21
|
+
* render inside the shadow tree. Idempotent and SSR-safe (no-op on the server).
|
|
22
|
+
* Call from `firstUpdated` AND `updated` — early calls adopt the (live) shared
|
|
23
|
+
* sheet; later calls / the scheduled refresh repopulate it once UnoCSS loads.
|
|
24
|
+
*/
|
|
25
|
+
export declare function adoptIconStyles(root: ShadowRoot | null | undefined): void;
|
|
26
|
+
/**
|
|
27
|
+
* Adopt the page's utility CSS into `root` so consumer `cssClass` utilities
|
|
28
|
+
* (UnoCSS etc.) render inside the shadow tree. Idempotent and SSR-safe (no-op on
|
|
29
|
+
* the server). Call from `firstUpdated` AND `updated` — early calls adopt the
|
|
30
|
+
* (live) shared sheet; the scheduled refresh repopulates it as UnoCSS loads.
|
|
31
|
+
*/
|
|
32
|
+
export declare function adoptUtilityStyles(root: ShadowRoot | null | undefined): void;
|
|
33
|
+
/**
|
|
34
|
+
* Mixin for `*.shadow.ts` builds: adopts the page's utility CSS into the shadow
|
|
35
|
+
* root so consumer `cssClass` utilities (UnoCSS etc.) paint inside the tree.
|
|
36
|
+
* Uses a reactive controller (its `hostUpdated` runs after EVERY render), so it
|
|
37
|
+
* works regardless of whether a subclass overrides `updated`/`firstUpdated`.
|
|
38
|
+
* Client-only — skipped entirely on the server (SSR renders unstyled, utilities
|
|
39
|
+
* snap in on hydration). Apply as `extends withShadowUtilityStyles(XCore(LitElement))`.
|
|
40
|
+
*/
|
|
41
|
+
export declare function withShadowUtilityStyles<T extends Constructor<LitElement>>(superClass: T): T;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared `visible` / `visibleType` support for the controls `monoForm` drives.
|
|
3
|
+
*
|
|
4
|
+
* Lives here rather than in `form/form-types.ts` because that module already
|
|
5
|
+
* imports all ten component `*-types.ts` files — declaring the shared props
|
|
6
|
+
* there and importing them back would be circular.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* How a hidden control disappears.
|
|
10
|
+
*
|
|
11
|
+
* - `'none'` — `display: none`. The control is removed from layout, so it leaves
|
|
12
|
+
* no gap in a grid/flex form.
|
|
13
|
+
* - `'invisible'` — `visibility: hidden`. The control keeps its space, so
|
|
14
|
+
* toggling it doesn't shift everything around it.
|
|
15
|
+
*/
|
|
16
|
+
export type MonoVisibleType = 'invisible' | 'none';
|
|
17
|
+
/** The two visibility props shared by every form-driven control. */
|
|
18
|
+
export interface VisibilityProps {
|
|
19
|
+
/** Whether the control is shown. Defaults to `true`. */
|
|
20
|
+
visible?: boolean;
|
|
21
|
+
/** How it hides when `visible` is `false`. Defaults to `'none'`. */
|
|
22
|
+
visibleType?: MonoVisibleType;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Write (or clear) the hide style on a HOST element.
|
|
26
|
+
*
|
|
27
|
+
* Applied to the host, not to the rendered root: light builds render into `this`,
|
|
28
|
+
* so hiding the inner root would leave the `<mono-*>` host itself as a flex/grid
|
|
29
|
+
* item still occupying its cell. Targeting the host also means one code path
|
|
30
|
+
* covers the light build, the shadow build and whatever layout wraps them.
|
|
31
|
+
*
|
|
32
|
+
* Only ever touches the single property it owns, and only via `removeProperty` —
|
|
33
|
+
* never a blanket `cssText` reset — so an inline style the consumer put on the
|
|
34
|
+
* host survives a hide/show round trip.
|
|
35
|
+
*/
|
|
36
|
+
export declare function applyVisibility(host: HTMLElement, visible: boolean, type: MonoVisibleType): void;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { FlavorName, ThemeName } from './presets';
|
|
2
|
+
export interface ThemeConfig {
|
|
3
|
+
name: ThemeName;
|
|
4
|
+
displayName: string;
|
|
5
|
+
}
|
|
6
|
+
export interface FlavorConfig {
|
|
7
|
+
name: FlavorName;
|
|
8
|
+
displayName: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const themes: Record<ThemeName, ThemeConfig>;
|
|
11
|
+
export declare const flavors: Record<FlavorName, FlavorConfig>;
|
|
12
|
+
export type ApplyThemeInput = ThemeName | {
|
|
13
|
+
color?: ThemeName;
|
|
14
|
+
flavor?: FlavorName;
|
|
15
|
+
};
|
|
16
|
+
export declare function applyTheme(input: ApplyThemeInput): void;
|
|
17
|
+
export declare function applyFlavor(flavorName: FlavorName): void;
|
|
18
|
+
export declare function getCurrentTheme(): ThemeName;
|
|
19
|
+
export declare function getCurrentFlavor(): FlavorName;
|
|
20
|
+
export declare function getThemeData(themeName: ThemeName): ThemeConfig | undefined;
|
|
21
|
+
export declare function getFlavorData(flavorName: FlavorName): FlavorConfig | undefined;
|
|
22
|
+
export declare function getAllThemes(): ThemeConfig[];
|
|
23
|
+
export declare function getAllFlavors(): FlavorConfig[];
|
|
24
|
+
export declare function isValidTheme(themeName: string): themeName is ThemeName;
|
|
25
|
+
export declare function isValidFlavor(flavorName: string): flavorName is FlavorName;
|
|
26
|
+
export declare function resetTheme(): void;
|
|
27
|
+
export declare function resetFlavor(): void;
|
|
28
|
+
export declare function createThemeClass(themeName: ThemeName): string;
|
|
29
|
+
/** Structure class for a flavor — empty for `one` (the default, no class). */
|
|
30
|
+
export declare function createFlavorClass(flavorName: FlavorName): string;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/** Colour presets: ONE (the `:root` default) and Basecoat's own neutral palette. */
|
|
2
|
+
export type ThemeName = 'basecoat' | 'one';
|
|
3
|
+
/** `system` follows `prefers-color-scheme`; the others pin `html.dark` on/off. */
|
|
4
|
+
export type ThemeMode = 'light' | 'dark' | 'system';
|
|
5
|
+
/**
|
|
6
|
+
* The shadcn / Basecoat token set (`--background` … `--sidebar-ring`). Every
|
|
7
|
+
* key is optional except the six a palette cannot be derived without; the
|
|
8
|
+
* generator fills the rest (foregrounds by contrast, popover from card, …).
|
|
9
|
+
*/
|
|
10
|
+
export interface BasecoatTokens {
|
|
11
|
+
radius?: string;
|
|
12
|
+
background: string;
|
|
13
|
+
foreground: string;
|
|
14
|
+
card?: string;
|
|
15
|
+
cardForeground?: string;
|
|
16
|
+
popover?: string;
|
|
17
|
+
popoverForeground?: string;
|
|
18
|
+
primary: string;
|
|
19
|
+
primaryForeground?: string;
|
|
20
|
+
secondary?: string;
|
|
21
|
+
secondaryForeground?: string;
|
|
22
|
+
muted: string;
|
|
23
|
+
mutedForeground?: string;
|
|
24
|
+
accent?: string;
|
|
25
|
+
accentForeground?: string;
|
|
26
|
+
destructive: string;
|
|
27
|
+
destructiveForeground?: string;
|
|
28
|
+
border: string;
|
|
29
|
+
input?: string;
|
|
30
|
+
ring?: string;
|
|
31
|
+
chart1?: string;
|
|
32
|
+
chart2?: string;
|
|
33
|
+
chart3?: string;
|
|
34
|
+
chart4?: string;
|
|
35
|
+
chart5?: string;
|
|
36
|
+
sidebar?: string;
|
|
37
|
+
sidebarForeground?: string;
|
|
38
|
+
sidebarPrimary?: string;
|
|
39
|
+
sidebarPrimaryForeground?: string;
|
|
40
|
+
sidebarAccent?: string;
|
|
41
|
+
sidebarAccentForeground?: string;
|
|
42
|
+
sidebarBorder?: string;
|
|
43
|
+
sidebarRing?: string;
|
|
44
|
+
}
|
|
45
|
+
/** mono's extension roles — Basecoat has only `primary` + `destructive`. */
|
|
46
|
+
export interface MonoRoleTokens {
|
|
47
|
+
success: string;
|
|
48
|
+
successForeground?: string;
|
|
49
|
+
warning: string;
|
|
50
|
+
warningForeground?: string;
|
|
51
|
+
info: string;
|
|
52
|
+
infoForeground?: string;
|
|
53
|
+
teal: string;
|
|
54
|
+
tealForeground?: string;
|
|
55
|
+
purple: string;
|
|
56
|
+
purpleForeground?: string;
|
|
57
|
+
neutral: string;
|
|
58
|
+
neutralForeground?: string;
|
|
59
|
+
dark: string;
|
|
60
|
+
darkForeground?: string;
|
|
61
|
+
}
|
|
62
|
+
export type ThemePalette = BasecoatTokens & MonoRoleTokens;
|
|
63
|
+
export interface ThemeColors {
|
|
64
|
+
displayName: string;
|
|
65
|
+
/** Light-mode palette. For the `basecoat` preset only the extension roles are listed — the rest is Basecoat's own base.css. */
|
|
66
|
+
light: Partial<ThemePalette>;
|
|
67
|
+
/**
|
|
68
|
+
* Dark-mode overrides; a missing block is derived (see scripts/theme-build.mjs).
|
|
69
|
+
* `false` = the preset has no dark mode and keeps its light values under `html.dark`.
|
|
70
|
+
*/
|
|
71
|
+
dark?: Partial<ThemePalette> | false;
|
|
72
|
+
}
|
|
73
|
+
export declare const themePresets: Record<ThemeName, ThemeColors>;
|
|
74
|
+
/** ONE (the default) plus Basecoat's eight styles, mirrored 1:1 as opt-in flavors. */
|
|
75
|
+
export type FlavorName = 'vega' | 'nova' | 'maia' | 'lyra' | 'mira' | 'luma' | 'sera' | 'rhea' | 'one';
|
|
76
|
+
export declare const DEFAULT_THEME: ThemeName;
|
|
77
|
+
export declare const DEFAULT_FLAVOR: FlavorName;
|
|
78
|
+
/**
|
|
79
|
+
* A flavor is a Basecoat STYLE: it never changes tokens or fonts, only
|
|
80
|
+
* per-component metrics (the control ladder, radius steps, paddings, text
|
|
81
|
+
* sizes, whether a shadow is present). ONE is the default (index.css applies
|
|
82
|
+
* it at :root); every Basecoat style ships as `@mono-lit/helper/ui/theme/<name>.css`
|
|
83
|
+
* and is activated with `class="theme-<name>"`.
|
|
84
|
+
*/
|
|
85
|
+
export interface ThemeFlavor {
|
|
86
|
+
displayName: string;
|
|
87
|
+
/** One line on what the style changes against vega. */
|
|
88
|
+
summary: string;
|
|
89
|
+
/** The Basecoat style it mirrors (`one` is mono's own). */
|
|
90
|
+
vendor?: 'vega' | 'nova' | 'maia' | 'lyra' | 'mira' | 'luma' | 'sera' | 'rhea';
|
|
91
|
+
/** Control heights (xs … xxl) in rem — the `--mono-control-height-*` ladder. */
|
|
92
|
+
controlHeights: [number, number, number, number, number, number];
|
|
93
|
+
}
|
|
94
|
+
export declare const flavorPresets: Record<FlavorName, ThemeFlavor>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/// <reference path="../../vue.d.ts" />
|
|
2
|
+
export { monoDataGrid, controlMonoTable } from '../components/table/mono-data-grid';
|
|
3
|
+
export { setErrorMessages, resolveErrorMessages, describeError, errorStatus, normalizeError, DEFAULT_ERROR_MESSAGES } from '../utils/normalize-error';
|
|
4
|
+
export { createMonoUI, getMonoUI, getMonoUIStatus, resetMonoUI } from '../composables/mono-ui';
|
|
5
|
+
export type { MonoUI, MonoUIConfig, MonoUIComponents, MonoUIStatus } from '../composables/mono-ui';
|
|
6
|
+
export { getMonoSkeletonStatus, resetMonoSkeleton, isMonoSsrApp } from '../composables/mono-skeleton';
|
|
7
|
+
export type { MonoPending, MonoPendingOptions, MonoPhantomProps, MonoSkeletonDefaults, MonoSkeletonStatus, } from '../composables/mono-skeleton';
|
|
8
|
+
export type { MonoErrorMessages, MonoErrorMessageKey, DescribedError } from '../utils/normalize-error';
|
|
9
|
+
export { monoForm, controlMonoForm } from '../components/form/mono-form-controller';
|
|
10
|
+
export type { MonoFormOptions, MonoFormController, MonoFormInput, MonoFormInputOf, MonoFormItem, MonoFormRule, MonoFormRuleCtx, MonoFormSchemaLike, MonoFormTiming, MonoFormValidation, MonoFormWatcherCtx, MonoFormComponent, MonoFormComponentProps, MonoFormProps, MonoFormSetProp, MonoFormSetValidation, MonoFormRefLike, } from '../components/form/form-types';
|
|
11
|
+
export { monoModal, controlMonoModal } from '../components/modal/mono-modal-controller';
|
|
12
|
+
export type { MonoModalOptions, MonoModalController, MonoDialogOptions, MonoDialogButton, MonoDialogButtonCtx, MonoDialogController, } from '../components/modal/modal-types';
|
|
13
|
+
export { monoArraySource } from '../components/table/array-source';
|
|
14
|
+
export { buildGroups, flattenLeaves, isGroupNode, collectGroupPaths } from '../components/table/grouping';
|
|
15
|
+
export { isPath, parseFieldPath, getFieldValue, setFieldValue, mergePatch, toODataSelector, toODataClause, } from '../search/field-path';
|
|
16
|
+
export type { FieldSegment, ParsedFieldPath, ODataClause } from '../search/field-path';
|
|
17
|
+
export { monoChart, controlMonoChart } from '../components/chart/mono-data-chart';
|
|
18
|
+
export { buildChartApply, buildChartOdataRequest, composeApply } from '../components/chart/chart-odata';
|
|
19
|
+
export type { MonoChartOdataRequest } from '../components/chart/chart-odata';
|
|
20
|
+
export type { MonoChartAgg, MonoChartController, MonoChartData, MonoChartDataset, MonoChartOptions, MonoChartOdataOptions, MonoChartAggregateCtx, MonoChartProps, MonoChartPointEvent, MonoChartSeries, MonoChartSource, MonoChartType, } from '../components/chart/chart-types';
|
|
21
|
+
export { monoFilterBuilder, controlMonoFilterBuilder } from '../components/filter/filter-builder';
|
|
22
|
+
export { arrayToODataString, arrayToTree, odataStringToArray, treeToArray, } from '../components/filter/filter-odata';
|
|
23
|
+
export { DEFAULT_TEXTS as MONO_FILTER_TEXTS, OPERATOR_ARITY as MONO_FILTER_OPERATOR_ARITY, operatorsFor as monoFilterOperatorsFor, } from '../components/filter/filter-operators';
|
|
24
|
+
export type { MonoFilterBuilderOptions, MonoFilterBuilderProps, MonoFilterController, MonoFilterDataType, MonoFilterExpression, MonoFilterField, MonoFilterGroup, MonoFilterGroupOperator, MonoFilterNode, MonoFilterOperator, MonoFilterOutput, MonoFilterChangeEvent, MonoFilterApplyEvent, MonoFilterClearEvent, MonoFilterChangeEventDetail, MonoFilterClearEventDetail, FilterBuilderEvents, MonoFilterProps, MonoFilterReadOptions, MonoFilterRule, MonoFilterSize, MonoFilterTexts, } from '../components/filter/filter-types';
|
|
25
|
+
export { monoDataDropdown, controlMonoDataDropdown } from '../components/dropdown-table/mono-data-dropdown';
|
|
26
|
+
export type { MonoDropdownController, MonoDropdownItem, MonoDataDropdownOptions, } from '../components/dropdown-table/mono-data-dropdown';
|
|
27
|
+
export { controlMonoTooltip, monoTooltip, destroyAllMonoTooltips, createMonoTooltip, resetMonoTooltip, getMonoTooltipGlobal, } from '../components/tooltip/index';
|
|
28
|
+
export type { MonoTooltipOptions, MonoTooltipGlobalOptions, MonoTooltipGlobal, MonoTooltipController, MonoTooltipTarget, MonoTooltipContent, MonoTooltipPlacement, MonoTooltipTrigger, MonoTooltipVariant, MonoTooltipColor, MonoTooltipSize, } from '../components/tooltip/index';
|
|
29
|
+
export * from '../data/theme/index';
|
|
30
|
+
export * from '../data/theme/presets';
|
|
31
|
+
export { resolveMaybeReactive } from '../composables/reactive';
|
|
32
|
+
export type { MaybeReactive } from '../composables/reactive';
|
|
33
|
+
export type { MonoEventProps } from '../composables/element-props';
|
|
34
|
+
export type { MonoArraySourceOptions } from '../components/table/array-source';
|
|
35
|
+
export type { MonoGroupNode } from '../components/table/grouping';
|
|
36
|
+
export type { SortOrder, GroupPageInfo, MonoDisplayRow, MonoGroupMeta, MonoServerGroupCtx, MonoServerGroupSource, MonoSummaryType, MonoSummarySpec, MonoSummaryFieldSpec, MonoSummaryConfig, MonoSummaryRecalculate, MonoSummaryResult, MonoSummaryHandle, MonoColumnDef, MonoColumnHandle, MonoTableProps, MonoTableColumnProps, MonoSearchTerm, MonoDetailEl, MonoDetailHandle, MonoCheckMode, MonoCheckConfig, MonoCheckHandle, } from '../components/table/mono-data-grid';
|
|
37
|
+
export type { MonoSearchCustomCtx, MonoSearchCustomResult, MonoSearchExpr, MonoSearchExprCustom, MonoSearchExprEntry, } from '../search/search-expr';
|
|
38
|
+
export { DEFAULT_SEARCH_OPERATION, SEARCH_FIELDS_KEYS, parseSearchValue, mergeSearchFields, resolveSearchFields, isFoldableSearch, plainSearchFields, readSearchField, searchRowPredicate, searchRemoteFilter, MonoSourceSearch, } from '../search/data-search';
|
|
39
|
+
export type { MonoSearchValue, MonoSearchFieldsAliases, ResolveSearchFieldsOptions, ApplySourceSearchOptions, SearchableSource, } from '../search/data-search';
|
|
40
|
+
export type { MonoExportColumn, MonoExportDetail, MonoExportDetailBatch, MonoExportFormat, MonoExportFormatOptions, MonoExportOptions, MonoExportResult, MonoExportStyle, MonoExportStyles, } from '../export/types';
|
|
41
|
+
export type { MonoImportAmbiguity, MonoImportChange, MonoImportColumn, MonoImportMatch, MonoImportNumberFormat, MonoImportOptions, MonoImportRejection, MonoImportResult, MonoImportType, MonoImportValueType, } from '../import/types';
|
|
42
|
+
export type { MonoTableController, MonoGridSource, MonoDataGridOptions, MonoDataSourceOptions, MonoOdataOptions, MonoDistinctValuesContext, TableSearchProps, TablePagingProps, TablePageSizeProps, TableInfoProps, TableSortProps, TableThProps, TableThSort, TableLoadingProps, TableSummaryProps, TableDetailProps, TableCheckboxProps, } from '../components/table/table-types';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { MonoExportDetail } from './types';
|
|
2
|
+
/** One document's resolved rows, plus the key that names its sheet. */
|
|
3
|
+
export interface ResolvedDetail {
|
|
4
|
+
/** The master row it came from. */
|
|
5
|
+
row: Record<string, unknown>;
|
|
6
|
+
/** The value of `detail.key` on that row, as a string. */
|
|
7
|
+
key: string;
|
|
8
|
+
rows: unknown[];
|
|
9
|
+
}
|
|
10
|
+
/** A document that will get no sheet, and why. */
|
|
11
|
+
export interface SkippedDetail {
|
|
12
|
+
key: string;
|
|
13
|
+
reason: 'empty' | 'failed';
|
|
14
|
+
/** Present when `reason` is `failed`. */
|
|
15
|
+
error?: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface ResolveDetailResult {
|
|
18
|
+
details: ResolvedDetail[];
|
|
19
|
+
skipped: SkippedDetail[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Turn master rows into per-document detail rows.
|
|
23
|
+
*
|
|
24
|
+
* A document with no rows is reported in `skipped` rather than given an empty
|
|
25
|
+
* sheet — an empty worksheet behind a link is worse than no link, and the
|
|
26
|
+
* caller gets told which documents those were instead of having to diff the
|
|
27
|
+
* tab list.
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveDetails(masterRows: unknown[], detail: MonoExportDetail): Promise<ResolveDetailResult>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser download helper. Kept separate (and DOM-guarded) so the report engine
|
|
3
|
+
* can still render on a server — where `download()` is simply a no-op warning
|
|
4
|
+
* rather than a crash.
|
|
5
|
+
*/
|
|
6
|
+
/** MIME type per output format. */
|
|
7
|
+
export declare const MIME: Record<string, string>;
|
|
8
|
+
/** Save a Blob to disk via a transient `<a download>`. Browser only. */
|
|
9
|
+
export declare function downloadBlob(blob: Blob, fileName: string): void;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Root } from 'mdast';
|
|
2
|
+
import { MonoExportOptions } from '../types';
|
|
3
|
+
/** What a template writes to link at a sheet it cannot yet name. */
|
|
4
|
+
export declare const SHEET_LINK_PREFIX = "sheet:";
|
|
5
|
+
/** One extra worksheet: a parsed detail report plus the key that links to it. */
|
|
6
|
+
export interface RenderExcelSheet {
|
|
7
|
+
/** The value the master template linked to, i.e. `sheet:<key>`. */
|
|
8
|
+
key: string;
|
|
9
|
+
/** Preferred name. Sanitised and de-duplicated before use. */
|
|
10
|
+
name: string;
|
|
11
|
+
ast: Root;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Options the driver reads.
|
|
15
|
+
*
|
|
16
|
+
* Spelled out rather than `Pick<>`-ed from a list that has to be kept in step:
|
|
17
|
+
* an option added to `MonoExportOptions` and not here silently never reaches
|
|
18
|
+
* the driver, and nothing fails to compile.
|
|
19
|
+
*/
|
|
20
|
+
export interface RenderExcelOptions extends Pick<MonoExportOptions, 'styles' | 'columns' | 'sheetName' | 'freezeRows'> {
|
|
21
|
+
/** Extra sheets, rendered after the master and linked from it. */
|
|
22
|
+
sheets?: RenderExcelSheet[];
|
|
23
|
+
/** Add a `← Back` link to `A1` of every extra sheet. */
|
|
24
|
+
back?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/** Build the ExcelJS workbook for a parsed report. */
|
|
27
|
+
export declare function renderExcel(ast: Root, options?: RenderExcelOptions): Promise<any>;
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Root } from 'mdast';
|
|
2
|
+
import { ExcelCellStyle } from '../styles';
|
|
3
|
+
import { MonoExportColumn, MonoExportStyles } from '../types';
|
|
4
|
+
/** A pending image to place once the sheet is written. */
|
|
5
|
+
interface PendingImage {
|
|
6
|
+
src: string;
|
|
7
|
+
row: number;
|
|
8
|
+
col: number;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
}
|
|
12
|
+
/** A block that should span the sheet's full width (headings, paragraphs). */
|
|
13
|
+
interface PendingSpan {
|
|
14
|
+
row: number;
|
|
15
|
+
from: number;
|
|
16
|
+
}
|
|
17
|
+
export interface WriterContext {
|
|
18
|
+
styles: MonoExportStyles;
|
|
19
|
+
columns?: MonoExportColumn[];
|
|
20
|
+
}
|
|
21
|
+
/** Everything the walk produces, handed back to the ExcelJS driver. */
|
|
22
|
+
export interface WorksheetPlan {
|
|
23
|
+
rows: PlannedRow[];
|
|
24
|
+
images: PendingImage[];
|
|
25
|
+
/** Rows to merge across the sheet width (heading / paragraph blocks). */
|
|
26
|
+
spans: PendingSpan[];
|
|
27
|
+
/** Explicit merges requested with `{{merge}}`: `[row, col, rowEnd, colEnd]`. */
|
|
28
|
+
merges: Array<[number, number, number, number]>;
|
|
29
|
+
/** Widest row, i.e. how many columns the sheet has. */
|
|
30
|
+
width: number;
|
|
31
|
+
/** Longest rendered text per column, for auto-fit. */
|
|
32
|
+
widths: number[];
|
|
33
|
+
}
|
|
34
|
+
export interface PlannedCell {
|
|
35
|
+
/** The value written into the cell (already typed). */
|
|
36
|
+
value: string | number | Date | null;
|
|
37
|
+
/** An Excel formula, replacing `value` when present. */
|
|
38
|
+
formula?: string;
|
|
39
|
+
style: ExcelCellStyle;
|
|
40
|
+
/** Number format from a value directive, layered over the style's. */
|
|
41
|
+
numFmt?: string;
|
|
42
|
+
/**
|
|
43
|
+
* A hyperlink target, straight from the Markdown link the template wrote.
|
|
44
|
+
*
|
|
45
|
+
* `sheet:<key>` is resolved to an in-workbook reference once every sheet
|
|
46
|
+
* exists and its final (sanitised, deduped) name is known — a template cannot
|
|
47
|
+
* know that name, so it references the key instead. Anything else is passed
|
|
48
|
+
* through as an external URL.
|
|
49
|
+
*/
|
|
50
|
+
hyperlink?: string;
|
|
51
|
+
/**
|
|
52
|
+
* How wide the cell *displays*, in characters — used for auto-fit. Kept
|
|
53
|
+
* separate from `value` because a Date's `toString()` is ~55 characters while
|
|
54
|
+
* the cell shows 10, which would blow the column out.
|
|
55
|
+
*/
|
|
56
|
+
width: number;
|
|
57
|
+
}
|
|
58
|
+
export interface PlannedRow {
|
|
59
|
+
cells: PlannedCell[];
|
|
60
|
+
height?: number;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Walks an mdast tree and plans a worksheet. Planning (rather than writing
|
|
64
|
+
* ExcelJS objects directly) keeps this file free of any ExcelJS import, so the
|
|
65
|
+
* mapping stays testable and a future renderer can reuse the same walk.
|
|
66
|
+
*/
|
|
67
|
+
export declare class WorksheetWriter {
|
|
68
|
+
private readonly ctx;
|
|
69
|
+
private readonly plan;
|
|
70
|
+
/** Header captions of the table currently being written, for `{col:Field}`. */
|
|
71
|
+
private tableColumns;
|
|
72
|
+
/** 1-based row index of the current table's first body row. */
|
|
73
|
+
private tableFirstRow;
|
|
74
|
+
/** 1-based row index of the current table's last body row. */
|
|
75
|
+
private tableLastRow;
|
|
76
|
+
constructor(ctx: WriterContext);
|
|
77
|
+
/** Resolve a named style, or an empty style when the name is unknown. */
|
|
78
|
+
private named;
|
|
79
|
+
write(root: Root): WorksheetPlan;
|
|
80
|
+
private writeBlocks;
|
|
81
|
+
private writeBlock;
|
|
82
|
+
private writeBlockquote;
|
|
83
|
+
/** A one-cell row that will later be merged across the sheet's full width. */
|
|
84
|
+
private appendSpanningRow;
|
|
85
|
+
private writeTable;
|
|
86
|
+
/** Per-column `numFmt` override from `options.columns`. */
|
|
87
|
+
private columnStyle;
|
|
88
|
+
/** Collect `{{style}}` directives into one style object. */
|
|
89
|
+
private styleFrom;
|
|
90
|
+
/** Collect `{{rowStyle}}` directives into one style object. */
|
|
91
|
+
private rowStyleFrom;
|
|
92
|
+
/** Build one planned cell from flattened inline content plus its style. */
|
|
93
|
+
private toCell;
|
|
94
|
+
/**
|
|
95
|
+
* Substitute the placeholders a template couldn't resolve on its own:
|
|
96
|
+
* `{row}` (the row about to be written), `{prevRow}` (the one above it),
|
|
97
|
+
* `{firstRow}` / `{lastRow}` (the current table's body range) and
|
|
98
|
+
* `{col:Caption}` (that header's column letter).
|
|
99
|
+
*
|
|
100
|
+
* `{lastRow}` includes *every* body row — so a total row that lives inside
|
|
101
|
+
* the same Markdown table must sum `{firstRow}:{prevRow}` to avoid a circular
|
|
102
|
+
* reference to itself.
|
|
103
|
+
*/
|
|
104
|
+
private resolveFormula;
|
|
105
|
+
private placeImages;
|
|
106
|
+
private applyMerge;
|
|
107
|
+
/**
|
|
108
|
+
* Append a row and return its 1-based index. `spanning` rows (headings,
|
|
109
|
+
* paragraphs) are excluded from auto-fit: they get merged across the whole
|
|
110
|
+
* sheet, so letting a long title set column A's width would leave a 60-wide
|
|
111
|
+
* first column next to four narrow ones.
|
|
112
|
+
*/
|
|
113
|
+
private pushRow;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Give a plain cell string its most useful type. Text that merely *looks*
|
|
117
|
+
* numeric (`"00123"`, `"1,234"`) is left alone — coercing it would silently
|
|
118
|
+
* mangle invoice numbers and phone numbers.
|
|
119
|
+
*/
|
|
120
|
+
export declare function coerceValue(text: string): string | number | Date | null;
|
|
121
|
+
/** 1-based column index → spreadsheet letter (1 → A, 27 → AA). */
|
|
122
|
+
export declare function columnLetter(index: number): string;
|
|
123
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Template source preprocessing — everything that must happen *before*
|
|
3
|
+
* Handlebars sees the template.
|
|
4
|
+
*
|
|
5
|
+
* Two rewrites live here, both driven by the same single-pass scanner so that
|
|
6
|
+
* fenced code blocks and inline code spans are never touched (a template that
|
|
7
|
+
* *documents* `{{= … }}` in a code block must keep it verbatim):
|
|
8
|
+
*
|
|
9
|
+
* 1. `{{= expr }}` → `{{__jexl "expr"}}` — Handlebars has no `{{=` syntax at
|
|
10
|
+
* all (it's a parse error), so inline expressions are rewritten into a call
|
|
11
|
+
* to the Jexl helper.
|
|
12
|
+
* 2. Mustaches on a GFM **table row** are wrapped in `{{esc …}}`, so a value
|
|
13
|
+
* containing a `|` can't split the cell and shift every column after it.
|
|
14
|
+
* `{{{triple}}}` opts out.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Evaluate one Jexl expression.
|
|
18
|
+
*
|
|
19
|
+
* Jexl is used instead of `eval()` so a template can never reach globals, the
|
|
20
|
+
* DOM, or `fetch` — the worst a malicious template can do is compute a wrong
|
|
21
|
+
* number.
|
|
22
|
+
*/
|
|
23
|
+
export declare function evaluateExpression(expression: string, context: unknown): unknown;
|
|
24
|
+
/**
|
|
25
|
+
* Rewrite a template's mustaches. Single pass, line-aware (for table rows) and
|
|
26
|
+
* code-aware (fenced blocks + inline spans are copied verbatim).
|
|
27
|
+
*/
|
|
28
|
+
export declare function preprocessTemplate(src: string, opts?: {
|
|
29
|
+
escapeTableCells?: boolean;
|
|
30
|
+
}): string;
|
|
31
|
+
/**
|
|
32
|
+
* Escape an interpolated value for a GFM table cell. Registered as the `esc`
|
|
33
|
+
* helper and applied automatically to table-row mustaches by
|
|
34
|
+
* {@link preprocessTemplate}; also callable by hand.
|
|
35
|
+
*/
|
|
36
|
+
export declare function escapeForCell(value: unknown): string;
|