@mono-lit/helper 0.0.0-stage → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +55 -0
- package/README.md +35 -3
- package/dist/breakpoints-CAbhDUht.js +84 -0
- package/dist/checkbox-Cqpie9Ap.js +4 -0
- package/dist/chip-DBUUa2eB.js +4 -0
- package/dist/chip-limits-BMoO31JM.js +213 -0
- package/dist/chip-strip-Cw3gyz0q.js +213 -0
- package/dist/color-DHYrfXsX.js +253 -0
- package/dist/css-class-BRKRzHx-.js +60 -0
- package/dist/css-size-DhHSVZJK.js +37 -0
- package/dist/data/theme/presets.json.d.ts +140 -0
- package/dist/data-source-controller-B_rgHCjw.js +241 -0
- package/dist/data-source-controller-Dbb4fd8I.js +241 -0
- package/dist/data-source-options-CP-X62Pa.js +535 -0
- package/dist/data-source-options-Jqj7LU3Z.js +537 -0
- package/dist/data-source-read-B4DGp6UQ.js +216 -0
- package/dist/data-source-read-DL88aH8t.js +217 -0
- package/dist/decorate-DEXtNagw.js +141 -0
- package/dist/element-props-CLB6yvbm.js +114 -0
- package/dist/esm-Ptok4SQZ.js +2026 -0
- package/dist/excel-CY6zGkcx.js +608 -0
- package/dist/excel-DopRbEMK.js +608 -0
- package/dist/export-BiGVyxt6.js +2302 -0
- package/dist/export.d.ts +1 -0
- package/dist/export.js +2302 -0
- package/dist/field-icons-DELrSdqJ.js +86 -0
- package/dist/field-path-C92eGLg3.js +251 -0
- package/dist/filter-builder-Bke3qOgJ.js +205 -0
- package/dist/filter-builder-CE4zE0V5.js +205 -0
- package/dist/filter-eval-DIfU2EAn.js +173 -0
- package/dist/filter-odata-C1vSGZaY.js +591 -0
- package/dist/form-control-core-B8d7k6vk.js +223 -0
- package/dist/form-control-core-eeRr0zLU.js +223 -0
- package/dist/hydration-flush-RB5Tz5nl.js +1001 -0
- package/dist/icon-CJkTlmTb.js +55 -0
- package/dist/icon-dVhYJUIH.js +17 -0
- package/dist/import-BgJdkwBI.js +606 -0
- package/dist/import.d.ts +1 -0
- package/dist/import.js +606 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +16 -0
- package/dist/index.node-BIqEGehH.js +396 -0
- package/dist/index.node.d.ts +1 -0
- package/dist/index.node.js +16 -0
- package/dist/input-zGOULADt.js +4 -0
- package/dist/layout-var-CZnzMC0s.js +73 -0
- package/dist/light-slots-BVJwyg_2.js +244 -0
- package/dist/light-slots-DW1WgfgT.js +254 -0
- package/dist/markdown-DfqrfOJN.js +20146 -0
- package/dist/mono-button-simcTQdW.js +873 -0
- package/dist/mono-button.shadow-B_rKOY9N.js +784 -0
- package/dist/mono-data-chart-CEv29_NS.js +779 -0
- package/dist/mono-data-dropdown-Wnoke6zO.js +357 -0
- package/dist/mono-data-grid-CjkEqxgE.js +3913 -0
- package/dist/mono-data-grid-YjR3n9Ar.js +3915 -0
- package/dist/mono-element-B0kP_96P.js +232 -0
- package/dist/mono-event-Bi1qP9uN.js +129 -0
- package/dist/mono-form-controller-5PfsU4qa.js +409 -0
- package/dist/mono-modal-controller-BMO3n3rP.js +223 -0
- package/dist/mono-ui-CPV7rrdo.js +358 -0
- package/dist/normalize-error-Gcgmgh5i.js +871 -0
- package/dist/notifier-CE4yxMUQ.js +88 -0
- package/dist/nuxt.d.ts +1 -0
- package/dist/nuxt.js +130 -0
- package/dist/popup-portal-BziRX1yG.js +465 -0
- package/dist/popup-stack-CEEMib__.js +189 -0
- package/dist/rate-limit-BBa2PO79.js +521 -0
- package/dist/reactive-D3EERqgO.js +47 -0
- package/dist/reactive-Di3mTMnV.js +1087 -0
- package/dist/search.d.ts +1 -0
- package/dist/search.js +97 -0
- package/dist/src/components/accordion/accordion-core.d.ts +62 -0
- package/dist/src/components/accordion/accordion-types.d.ts +62 -0
- package/dist/src/components/accordion/index.d.ts +3 -0
- package/dist/src/components/accordion/index.shadow.d.ts +5 -0
- package/dist/src/components/accordion/mono-accordion.d.ts +55 -0
- package/dist/src/components/accordion/mono-accordion.shadow.d.ts +56 -0
- package/dist/src/components/alert/alert-core.d.ts +46 -0
- package/dist/src/components/alert/alert-types.d.ts +44 -0
- package/dist/src/components/alert/index.d.ts +3 -0
- package/dist/src/components/alert/index.shadow.d.ts +5 -0
- package/dist/src/components/alert/mono-alert.d.ts +44 -0
- package/dist/src/components/alert/mono-alert.shadow.d.ts +34 -0
- package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +61 -0
- package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +49 -0
- package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +31 -0
- package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +117 -0
- package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +43 -0
- package/dist/src/components/breadcrumb/index.d.ts +6 -0
- package/dist/src/components/breadcrumb/index.shadow.d.ts +8 -0
- package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +29 -0
- package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +48 -0
- package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +38 -0
- package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +73 -0
- package/dist/src/components/button/button-core.d.ts +90 -0
- package/dist/src/components/button/button-dropdown-core.d.ts +57 -0
- package/dist/src/components/button/button-dropdown-types.d.ts +129 -0
- package/dist/src/components/button/button-types.d.ts +219 -0
- package/dist/src/components/button/button-utils.d.ts +18 -0
- package/dist/src/components/button/index.button-dropdown.d.ts +4 -0
- package/dist/src/components/button/index.button-dropdown.shadow.d.ts +4 -0
- package/dist/src/components/button/index.d.ts +8 -0
- package/dist/src/components/button/index.shadow.d.ts +5 -0
- package/dist/src/components/button/mono-button-dropdown.d.ts +35 -0
- package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +45 -0
- package/dist/src/components/button/mono-button.d.ts +123 -0
- package/dist/src/components/button/mono-button.shadow.d.ts +56 -0
- package/dist/src/components/card/card-core.d.ts +75 -0
- package/dist/src/components/card/card-types.d.ts +137 -0
- package/dist/src/components/card/card-utils.d.ts +23 -0
- package/dist/src/components/card/index.d.ts +4 -0
- package/dist/src/components/card/index.shadow.d.ts +6 -0
- package/dist/src/components/card/mono-card.d.ts +56 -0
- package/dist/src/components/card/mono-card.shadow.d.ts +52 -0
- package/dist/src/components/chart/chart-core.d.ts +43 -0
- package/dist/src/components/chart/chart-odata.d.ts +52 -0
- package/dist/src/components/chart/chart-types.d.ts +356 -0
- package/dist/src/components/chart/index.d.ts +8 -0
- package/dist/src/components/chart/index.shadow.d.ts +7 -0
- package/dist/src/components/chart/mono-chart-presets.d.ts +43 -0
- package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +43 -0
- package/dist/src/components/chart/mono-chart.d.ts +30 -0
- package/dist/src/components/chart/mono-chart.shadow.d.ts +22 -0
- package/dist/src/components/chart/mono-data-chart.d.ts +27 -0
- package/dist/src/components/checkbox/checkbox-core.d.ts +53 -0
- package/dist/src/components/checkbox/checkbox-types.d.ts +69 -0
- package/dist/src/components/checkbox/checkbox-utils.d.ts +35 -0
- package/dist/src/components/checkbox/index.d.ts +4 -0
- package/dist/src/components/checkbox/index.shadow.d.ts +5 -0
- package/dist/src/components/checkbox/mono-checkbox.d.ts +34 -0
- package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +45 -0
- package/dist/src/components/chip/chip-core.d.ts +58 -0
- package/dist/src/components/chip/chip-types.d.ts +142 -0
- package/dist/src/components/chip/chip-utils.d.ts +24 -0
- package/dist/src/components/chip/index.d.ts +8 -0
- package/dist/src/components/chip/index.shadow.d.ts +6 -0
- package/dist/src/components/chip/mono-chip.d.ts +48 -0
- package/dist/src/components/chip/mono-chip.shadow.d.ts +33 -0
- package/dist/src/components/chip/mono-status-dot.d.ts +34 -0
- package/dist/src/components/date/date-core.d.ts +80 -0
- package/dist/src/components/date/date-types.d.ts +163 -0
- package/dist/src/components/date/index.d.ts +3 -0
- package/dist/src/components/date/index.shadow.d.ts +4 -0
- package/dist/src/components/date/mono-date.d.ts +22 -0
- package/dist/src/components/date/mono-date.shadow.d.ts +31 -0
- package/dist/src/components/drawer/drawer-core.d.ts +99 -0
- package/dist/src/components/drawer/drawer-types.d.ts +153 -0
- package/dist/src/components/drawer/index.d.ts +3 -0
- package/dist/src/components/drawer/index.shadow.d.ts +4 -0
- package/dist/src/components/drawer/mono-drawer.d.ts +45 -0
- package/dist/src/components/drawer/mono-drawer.shadow.d.ts +46 -0
- package/dist/src/components/dropdown/dropdown-core.d.ts +33 -0
- package/dist/src/components/dropdown/dropdown-types.d.ts +88 -0
- package/dist/src/components/dropdown/index.d.ts +3 -0
- package/dist/src/components/dropdown/index.shadow.d.ts +4 -0
- package/dist/src/components/dropdown/mono-dropdown.d.ts +34 -0
- package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +28 -0
- package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +65 -0
- package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +278 -0
- package/dist/src/components/dropdown-table/index.d.ts +5 -0
- package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -0
- package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +152 -0
- package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +46 -0
- package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +22 -0
- package/dist/src/components/file-upload/file-upload-core.d.ts +60 -0
- package/dist/src/components/file-upload/file-upload-types.d.ts +145 -0
- package/dist/src/components/file-upload/file-upload-utils.d.ts +16 -0
- package/dist/src/components/file-upload/index.d.ts +4 -0
- package/dist/src/components/file-upload/index.shadow.d.ts +5 -0
- package/dist/src/components/file-upload/mono-file-upload.d.ts +33 -0
- package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +50 -0
- package/dist/src/components/filter/filter-builder-core.d.ts +36 -0
- package/dist/src/components/filter/filter-builder.d.ts +23 -0
- package/dist/src/components/filter/filter-odata.d.ts +27 -0
- package/dist/src/components/filter/filter-operators.d.ts +13 -0
- package/dist/src/components/filter/filter-types.d.ts +253 -0
- package/dist/src/components/filter/index.d.ts +6 -0
- package/dist/src/components/filter/index.shadow.d.ts +7 -0
- package/dist/src/components/filter/mono-filter-builder.d.ts +21 -0
- package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +17 -0
- package/dist/src/components/form/form-control-core.d.ts +37 -0
- package/dist/src/components/form/form-rules.d.ts +25 -0
- package/dist/src/components/form/form-types.d.ts +307 -0
- package/dist/src/components/form/index.d.ts +6 -0
- package/dist/src/components/form/mono-form-controller.d.ts +16 -0
- package/dist/src/components/input/index.d.ts +6 -0
- package/dist/src/components/input/index.shadow.d.ts +8 -0
- package/dist/src/components/input/input-core.d.ts +91 -0
- package/dist/src/components/input/input-format.d.ts +118 -0
- package/dist/src/components/input/input-types.d.ts +179 -0
- package/dist/src/components/input/input-utils.d.ts +10 -0
- package/dist/src/components/input/mono-input.d.ts +46 -0
- package/dist/src/components/input/mono-input.shadow.d.ts +34 -0
- package/dist/src/components/menu/index.d.ts +6 -0
- package/dist/src/components/menu/index.shadow.d.ts +7 -0
- package/dist/src/components/menu/menu-core.d.ts +65 -0
- package/dist/src/components/menu/menu-render.d.ts +55 -0
- package/dist/src/components/menu/menu-types.d.ts +195 -0
- package/dist/src/components/menu/menu-utils.d.ts +53 -0
- package/dist/src/components/menu/mono-menu-list.d.ts +118 -0
- package/dist/src/components/menu/mono-menu.d.ts +39 -0
- package/dist/src/components/menu/mono-menu.shadow.d.ts +40 -0
- package/dist/src/components/modal/index.d.ts +4 -0
- package/dist/src/components/modal/index.shadow.d.ts +5 -0
- package/dist/src/components/modal/modal-core.d.ts +110 -0
- package/dist/src/components/modal/modal-types.d.ts +304 -0
- package/dist/src/components/modal/mono-modal-controller.d.ts +4 -0
- package/dist/src/components/modal/mono-modal.d.ts +45 -0
- package/dist/src/components/modal/mono-modal.shadow.d.ts +50 -0
- package/dist/src/components/nav/index.d.ts +4 -0
- package/dist/src/components/nav/index.shadow.d.ts +6 -0
- package/dist/src/components/nav/mono-nav.d.ts +41 -0
- package/dist/src/components/nav/mono-nav.shadow.d.ts +21 -0
- package/dist/src/components/nav/nav-core.d.ts +34 -0
- package/dist/src/components/nav/nav-types.d.ts +48 -0
- package/dist/src/components/nav/nav-utils.d.ts +12 -0
- package/dist/src/components/radio/index.d.ts +4 -0
- package/dist/src/components/radio/index.shadow.d.ts +5 -0
- package/dist/src/components/radio/mono-radio.d.ts +31 -0
- package/dist/src/components/radio/mono-radio.shadow.d.ts +35 -0
- package/dist/src/components/radio/radio-core.d.ts +45 -0
- package/dist/src/components/radio/radio-types.d.ts +58 -0
- package/dist/src/components/radio/radio-utils.d.ts +12 -0
- package/dist/src/components/rich-text-editor/index.d.ts +5 -0
- package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -0
- package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +31 -0
- package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +34 -0
- package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +100 -0
- package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +17 -0
- package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +65 -0
- package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +231 -0
- package/dist/src/components/select/index.d.ts +4 -0
- package/dist/src/components/select/index.shadow.d.ts +5 -0
- package/dist/src/components/select/mono-select.d.ts +69 -0
- package/dist/src/components/select/mono-select.shadow.d.ts +48 -0
- package/dist/src/components/select/select-core.d.ts +98 -0
- package/dist/src/components/select/select-types.d.ts +284 -0
- package/dist/src/components/select/select-utils.d.ts +7 -0
- package/dist/src/components/sidebar/index.d.ts +4 -0
- package/dist/src/components/sidebar/index.shadow.d.ts +6 -0
- package/dist/src/components/sidebar/mono-sidebar.d.ts +34 -0
- package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +27 -0
- package/dist/src/components/sidebar/sidebar-core.d.ts +51 -0
- package/dist/src/components/sidebar/sidebar-types.d.ts +119 -0
- package/dist/src/components/sidebar/sidebar-utils.d.ts +55 -0
- package/dist/src/components/switch/index.d.ts +4 -0
- package/dist/src/components/switch/index.shadow.d.ts +5 -0
- package/dist/src/components/switch/mono-switch.d.ts +31 -0
- package/dist/src/components/switch/mono-switch.shadow.d.ts +36 -0
- package/dist/src/components/switch/switch-core.d.ts +49 -0
- package/dist/src/components/switch/switch-types.d.ts +64 -0
- package/dist/src/components/switch/switch-utils.d.ts +12 -0
- package/dist/src/components/table/array-source.d.ts +44 -0
- package/dist/src/components/table/date-filter-tree.d.ts +93 -0
- package/dist/src/components/table/grouping.d.ts +55 -0
- package/dist/src/components/table/index.d.ts +33 -0
- package/dist/src/components/table/index.shadow.d.ts +47 -0
- package/dist/src/components/table/mono-data-grid.d.ts +1756 -0
- package/dist/src/components/table/mono-table-checkbox-core.d.ts +76 -0
- package/dist/src/components/table/mono-table-checkbox.d.ts +34 -0
- package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +26 -0
- package/dist/src/components/table/mono-table-detail-core.d.ts +87 -0
- package/dist/src/components/table/mono-table-detail.d.ts +32 -0
- package/dist/src/components/table/mono-table-detail.shadow.d.ts +31 -0
- package/dist/src/components/table/mono-table-empty-core.d.ts +60 -0
- package/dist/src/components/table/mono-table-empty.d.ts +35 -0
- package/dist/src/components/table/mono-table-empty.shadow.d.ts +40 -0
- package/dist/src/components/table/mono-table-error-core.d.ts +84 -0
- package/dist/src/components/table/mono-table-error.d.ts +28 -0
- package/dist/src/components/table/mono-table-error.shadow.d.ts +21 -0
- package/dist/src/components/table/mono-table-info-core.d.ts +13 -0
- package/dist/src/components/table/mono-table-info.d.ts +19 -0
- package/dist/src/components/table/mono-table-info.shadow.d.ts +14 -0
- package/dist/src/components/table/mono-table-loading-core.d.ts +41 -0
- package/dist/src/components/table/mono-table-loading.d.ts +50 -0
- package/dist/src/components/table/mono-table-loading.shadow.d.ts +14 -0
- package/dist/src/components/table/mono-table-page-size-core.d.ts +14 -0
- package/dist/src/components/table/mono-table-page-size.d.ts +16 -0
- package/dist/src/components/table/mono-table-page-size.shadow.d.ts +11 -0
- package/dist/src/components/table/mono-table-paging-core.d.ts +22 -0
- package/dist/src/components/table/mono-table-paging-group-core.d.ts +18 -0
- package/dist/src/components/table/mono-table-paging-group.d.ts +20 -0
- package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +13 -0
- package/dist/src/components/table/mono-table-paging.d.ts +16 -0
- package/dist/src/components/table/mono-table-paging.shadow.d.ts +11 -0
- package/dist/src/components/table/mono-table-search-core.d.ts +74 -0
- package/dist/src/components/table/mono-table-search.d.ts +34 -0
- package/dist/src/components/table/mono-table-search.shadow.d.ts +21 -0
- package/dist/src/components/table/mono-table-sort-core.d.ts +35 -0
- package/dist/src/components/table/mono-table-sort.d.ts +38 -0
- package/dist/src/components/table/mono-table-sort.shadow.d.ts +20 -0
- package/dist/src/components/table/mono-table-summary-core.d.ts +26 -0
- package/dist/src/components/table/mono-table-summary.d.ts +24 -0
- package/dist/src/components/table/mono-table-summary.shadow.d.ts +14 -0
- package/dist/src/components/table/mono-table-th-core.d.ts +56 -0
- package/dist/src/components/table/mono-table-th.d.ts +41 -0
- package/dist/src/components/table/mono-table-th.shadow.d.ts +19 -0
- package/dist/src/components/table/store-group-source.d.ts +24 -0
- package/dist/src/components/table/table-controller-core.d.ts +40 -0
- package/dist/src/components/table/table-filter-icons.d.ts +3 -0
- package/dist/src/components/table/table-menu-core.d.ts +65 -0
- package/dist/src/components/table/table-overlay.d.ts +165 -0
- package/dist/src/components/table/table-sort-icons.d.ts +4 -0
- package/dist/src/components/table/table-sort-utils.d.ts +20 -0
- package/dist/src/components/table/table-types.d.ts +475 -0
- package/dist/src/components/tabs/index.d.ts +3 -0
- package/dist/src/components/tabs/index.shadow.d.ts +4 -0
- package/dist/src/components/tabs/mono-tabs.d.ts +33 -0
- package/dist/src/components/tabs/mono-tabs.shadow.d.ts +37 -0
- package/dist/src/components/tabs/tabs-core.d.ts +57 -0
- package/dist/src/components/tabs/tabs-types.d.ts +65 -0
- package/dist/src/components/tag-input/index.d.ts +4 -0
- package/dist/src/components/tag-input/index.shadow.d.ts +5 -0
- package/dist/src/components/tag-input/mono-tag-input.d.ts +66 -0
- package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +40 -0
- package/dist/src/components/tag-input/tag-input-core.d.ts +108 -0
- package/dist/src/components/tag-input/tag-input-types.d.ts +420 -0
- package/dist/src/components/tag-input/tag-input-utils.d.ts +8 -0
- package/dist/src/components/textarea/index.d.ts +4 -0
- package/dist/src/components/textarea/index.shadow.d.ts +5 -0
- package/dist/src/components/textarea/mono-textarea.d.ts +29 -0
- package/dist/src/components/textarea/mono-textarea.shadow.d.ts +31 -0
- package/dist/src/components/textarea/textarea-core.d.ts +60 -0
- package/dist/src/components/textarea/textarea-types.d.ts +131 -0
- package/dist/src/components/textarea/textarea-utils.d.ts +7 -0
- package/dist/src/components/tooltip/control-tooltip.d.ts +36 -0
- package/dist/src/components/tooltip/index.d.ts +6 -0
- package/dist/src/components/tooltip/tooltip-config.d.ts +27 -0
- package/dist/src/components/tooltip/tooltip-declarative.d.ts +41 -0
- package/dist/src/components/tooltip/tooltip-loader.d.ts +1 -0
- package/dist/src/components/tooltip/tooltip-types.d.ts +110 -0
- package/dist/src/composables/breakpoints.d.ts +59 -0
- package/dist/src/composables/chip-limits.d.ts +48 -0
- package/dist/src/composables/chip-strip.d.ts +93 -0
- package/dist/src/composables/color.d.ts +103 -0
- package/dist/src/composables/css-class.d.ts +27 -0
- package/dist/src/composables/css-size.d.ts +40 -0
- package/dist/src/composables/data-source-controller.d.ts +113 -0
- package/dist/src/composables/element-props.d.ts +46 -0
- package/dist/src/composables/field-icons.d.ts +15 -0
- package/dist/src/composables/hybird-prop.d.ts +79 -0
- package/dist/src/composables/hydration-flush.d.ts +34 -0
- package/dist/src/composables/icon.d.ts +17 -0
- package/dist/src/composables/layout-var.d.ts +34 -0
- package/dist/src/composables/light-slots.d.ts +133 -0
- package/dist/src/composables/mdi-glyphs.d.ts +4 -0
- package/dist/src/composables/mono-element.d.ts +9 -0
- package/dist/src/composables/mono-event.d.ts +55 -0
- package/dist/src/composables/mono-pending.d.ts +8 -0
- package/dist/src/composables/mono-skeleton.d.ts +193 -0
- package/dist/src/composables/mono-ui.d.ts +58 -0
- package/dist/src/composables/notifier.d.ts +46 -0
- package/dist/src/composables/popup-portal.d.ts +226 -0
- package/dist/src/composables/popup-stack.d.ts +70 -0
- package/dist/src/composables/rate-limit.d.ts +108 -0
- package/dist/src/composables/reactive.d.ts +53 -0
- package/dist/src/composables/shadow-css.d.ts +42 -0
- package/dist/src/composables/visibility.d.ts +36 -0
- package/dist/src/data/theme/index.d.ts +30 -0
- package/dist/src/data/theme/presets.d.ts +94 -0
- package/dist/src/entries/index.d.ts +2 -0
- package/dist/src/entries/index.node.d.ts +42 -0
- package/dist/src/entries/search.d.ts +3 -0
- package/dist/src/export/detail.d.ts +29 -0
- package/dist/src/export/download.d.ts +9 -0
- package/dist/src/export/excel/index.d.ts +27 -0
- package/dist/src/export/excel/nodes.d.ts +123 -0
- package/dist/src/export/expression.d.ts +36 -0
- package/dist/src/export/helpers.d.ts +6 -0
- package/dist/src/export/index.d.ts +13 -0
- package/dist/src/export/markdown.d.ts +52 -0
- package/dist/src/export/resolve-data.d.ts +31 -0
- package/dist/src/export/sentinel.d.ts +97 -0
- package/dist/src/export/sheet-name.d.ts +45 -0
- package/dist/src/export/styles.d.ts +33 -0
- package/dist/src/export/template.d.ts +10 -0
- package/dist/src/export/types.d.ts +259 -0
- package/dist/src/import/coerce.d.ts +38 -0
- package/dist/src/import/index.d.ts +16 -0
- package/dist/src/import/match.d.ts +54 -0
- package/dist/src/import/parse.d.ts +15 -0
- package/dist/src/import/types.d.ts +153 -0
- package/dist/src/nuxt/index.d.ts +94 -0
- package/dist/src/search/data-search.d.ts +207 -0
- package/dist/src/search/field-path.d.ts +107 -0
- package/dist/src/search/filter-eval.d.ts +30 -0
- package/dist/src/search/index.d.ts +22 -0
- package/dist/src/search/odata-search.d.ts +18 -0
- package/dist/src/search/search-expr.d.ts +160 -0
- package/dist/src/utils/data-source-apply.d.ts +97 -0
- package/dist/src/utils/data-source-options.d.ts +116 -0
- package/dist/src/utils/data-source-read.d.ts +85 -0
- package/dist/src/utils/data-source-summary.d.ts +55 -0
- package/dist/src/utils/normalize-error.d.ts +90 -0
- package/dist/src/vite/index.d.ts +48 -0
- package/dist/src/vite/mono-client-only.d.ts +35 -0
- package/dist/src/vite/mono-ssr-stub.d.ts +20 -0
- package/dist/src/vite/shadow-manifest.d.ts +8 -0
- package/dist/styles-BIJ31TM4.js +20146 -0
- package/dist/tooltip-DQqNpqk2.js +795 -0
- package/dist/tooltip.d.ts +1 -0
- package/dist/tooltip.js +2 -0
- package/dist/ui/accordion.d.ts +1 -0
- package/dist/ui/accordion.js +466 -0
- package/dist/ui/alert.d.ts +1 -0
- package/dist/ui/alert.js +221 -0
- package/dist/ui/breadcrumb.d.ts +1 -0
- package/dist/ui/breadcrumb.js +902 -0
- package/dist/ui/button-dropdown.d.ts +1 -0
- package/dist/ui/button-dropdown.js +679 -0
- package/dist/ui/button.d.ts +1 -0
- package/dist/ui/button.js +63 -0
- package/dist/ui/card.d.ts +1 -0
- package/dist/ui/card.js +524 -0
- package/dist/ui/chart.d.ts +1 -0
- package/dist/ui/chart.js +885 -0
- package/dist/ui/checkbox.d.ts +1 -0
- package/dist/ui/checkbox.js +413 -0
- package/dist/ui/chip.d.ts +1 -0
- package/dist/ui/chip.js +558 -0
- package/dist/ui/date.d.ts +1 -0
- package/dist/ui/date.js +686 -0
- package/dist/ui/drawer.d.ts +1 -0
- package/dist/ui/drawer.js +901 -0
- package/dist/ui/dropdown-table.d.ts +1 -0
- package/dist/ui/dropdown-table.js +1291 -0
- package/dist/ui/dropdown.d.ts +1 -0
- package/dist/ui/dropdown.js +586 -0
- package/dist/ui/file-upload.d.ts +1 -0
- package/dist/ui/file-upload.js +688 -0
- package/dist/ui/filter.d.ts +1 -0
- package/dist/ui/filter.js +400 -0
- package/dist/ui/font/files/geist-47c091c9.woff2 +0 -0
- package/dist/ui/font/files/geist-8dd77544.woff2 +0 -0
- package/dist/ui/font/files/geist-b9248b1e.woff2 +0 -0
- package/dist/ui/font/files/geist-d40d74b4.woff2 +0 -0
- package/dist/ui/font/files/geist-f493429a.woff2 +0 -0
- package/dist/ui/font/files/geistmono-03737868.woff2 +0 -0
- package/dist/ui/font/files/geistmono-421a7e38.woff2 +0 -0
- package/dist/ui/font/files/geistmono-48ef518d.woff2 +0 -0
- package/dist/ui/font/files/geistmono-5df35d39.woff2 +0 -0
- package/dist/ui/font/files/geistmono-7de289a4.woff2 +0 -0
- package/dist/ui/font/files/geistmono-e976128f.woff2 +0 -0
- package/dist/ui/font/files/inter-05cf802c.woff2 +0 -0
- package/dist/ui/font/files/inter-2b2f25a4.woff2 +0 -0
- package/dist/ui/font/files/inter-467acc7a.woff2 +0 -0
- package/dist/ui/font/files/inter-6e85163c.woff2 +0 -0
- package/dist/ui/font/files/inter-7048add3.woff2 +0 -0
- package/dist/ui/font/files/inter-9be0371e.woff2 +0 -0
- package/dist/ui/font/files/inter-a28b7e31.woff2 +0 -0
- package/dist/ui/font/files/poppins-054df55a.woff2 +0 -0
- package/dist/ui/font/files/poppins-0ee5dc9a.woff2 +0 -0
- package/dist/ui/font/files/poppins-0f44cb18.woff2 +0 -0
- package/dist/ui/font/files/poppins-0ff0d30c.woff2 +0 -0
- package/dist/ui/font/files/poppins-13045147.woff2 +0 -0
- package/dist/ui/font/files/poppins-1db57cd9.woff2 +0 -0
- package/dist/ui/font/files/poppins-2cf2a902.woff2 +0 -0
- package/dist/ui/font/files/poppins-39e7f079.woff2 +0 -0
- package/dist/ui/font/files/poppins-9607042d.woff2 +0 -0
- package/dist/ui/font/files/poppins-9a88fc1f.woff2 +0 -0
- package/dist/ui/font/files/poppins-b8f4f752.woff2 +0 -0
- package/dist/ui/font/files/poppins-f5e57db4.woff2 +0 -0
- package/dist/ui/font/geist-mono.css +104 -0
- package/dist/ui/font/geist.css +168 -0
- package/dist/ui/font/inter.css +232 -0
- package/dist/ui/font/poppins.css +104 -0
- package/dist/ui/form.d.ts +1 -0
- package/dist/ui/form.js +3 -0
- package/dist/ui/index.css +21989 -0
- package/dist/ui/input.d.ts +1 -0
- package/dist/ui/input.js +1176 -0
- package/dist/ui/menu.d.ts +1 -0
- package/dist/ui/menu.js +1289 -0
- package/dist/ui/modal.d.ts +1 -0
- package/dist/ui/modal.js +996 -0
- package/dist/ui/nav.d.ts +1 -0
- package/dist/ui/nav.js +295 -0
- package/dist/ui/radio.d.ts +1 -0
- package/dist/ui/radio.js +379 -0
- package/dist/ui/rich-text-editor.d.ts +1 -0
- package/dist/ui/rich-text-editor.js +1338 -0
- package/dist/ui/select.d.ts +1 -0
- package/dist/ui/select.js +2200 -0
- package/dist/ui/shadow/accordion.js +442 -0
- package/dist/ui/shadow/alert.js +218 -0
- package/dist/ui/shadow/breadcrumb.js +919 -0
- package/dist/ui/shadow/button-dropdown.js +696 -0
- package/dist/ui/shadow/button.js +63 -0
- package/dist/ui/shadow/card.js +538 -0
- package/dist/ui/shadow/chart.js +1685 -0
- package/dist/ui/shadow/checkbox.js +457 -0
- package/dist/ui/shadow/chip.js +559 -0
- package/dist/ui/shadow/date.js +712 -0
- package/dist/ui/shadow/drawer.js +869 -0
- package/dist/ui/shadow/dropdown-table.js +1620 -0
- package/dist/ui/shadow/dropdown.js +547 -0
- package/dist/ui/shadow/file-upload.js +731 -0
- package/dist/ui/shadow/filter.js +402 -0
- package/dist/ui/shadow/input.js +1150 -0
- package/dist/ui/shadow/menu.js +899 -0
- package/dist/ui/shadow/modal.js +1194 -0
- package/dist/ui/shadow/nav.js +240 -0
- package/dist/ui/shadow/radio.js +408 -0
- package/dist/ui/shadow/rich-text-editor.js +1344 -0
- package/dist/ui/shadow/select.js +2167 -0
- package/dist/ui/shadow/sidebar.js +606 -0
- package/dist/ui/shadow/switch.js +428 -0
- package/dist/ui/shadow/table.js +4755 -0
- package/dist/ui/shadow/tabs.js +372 -0
- package/dist/ui/shadow/tag-input.js +2974 -0
- package/dist/ui/shadow/textarea.js +816 -0
- package/dist/ui/sidebar.d.ts +1 -0
- package/dist/ui/sidebar.js +659 -0
- package/dist/ui/switch.d.ts +1 -0
- package/dist/ui/switch.js +398 -0
- package/dist/ui/table.d.ts +1 -0
- package/dist/ui/table.js +4654 -0
- package/dist/ui/tabs.d.ts +1 -0
- package/dist/ui/tabs.js +379 -0
- package/dist/ui/tag-input.d.ts +1 -0
- package/dist/ui/tag-input.js +2947 -0
- package/dist/ui/textarea.d.ts +1 -0
- package/dist/ui/textarea.js +819 -0
- package/dist/ui/theme/legacy.css +293 -0
- package/dist/ui/theme/luma.css +743 -0
- package/dist/ui/theme/lyra.css +754 -0
- package/dist/ui/theme/maia.css +673 -0
- package/dist/ui/theme/mira.css +802 -0
- package/dist/ui/theme/nova.css +662 -0
- package/dist/ui/theme/one.css +699 -0
- package/dist/ui/theme/rhea.css +742 -0
- package/dist/ui/theme/sera.css +845 -0
- package/dist/ui/theme/tokens.css +261 -0
- package/dist/ui/theme/vega.css +467 -0
- package/dist/vite-C5iUK7so.js +329 -0
- package/dist/vite.d.ts +1 -0
- package/dist/vite.js +2 -0
- package/dist/vue.d.ts +282 -0
- package/package.json +411 -3
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Search-expression entries: the fields a typed term is matched against.
|
|
3
|
+
*
|
|
4
|
+
* One grammar, shared by every component that searches data — `monoDataGrid`'s
|
|
5
|
+
* `searchExpr`, and the `search-value` prop on `mono-select`, `mono-tag-input`
|
|
6
|
+
* and `mono-dropdown-table`. An entry may be:
|
|
7
|
+
*
|
|
8
|
+
* - a plain column name (`'Nama'`)
|
|
9
|
+
* - a **path** (`'Company.Name'`, `'Transaction.[1].Name'`, `'Transaction.[*].Price'`)
|
|
10
|
+
* - a **`*` pattern** (`'*'`, `'Company.*'`, `'*.*'`, `'*.[*].*'`)
|
|
11
|
+
* - a **`{ field, custom }` clause builder**
|
|
12
|
+
*
|
|
13
|
+
* An entry is normally just a column name, and every column is searched the same
|
|
14
|
+
* way — `contains(<col>,'<term>')`. That is wrong for any column whose data isn't
|
|
15
|
+
* free text: a **boolean** can't take `contains` at all, and a **coded** column
|
|
16
|
+
* stores something the user never types (a `Month` of `0..11` can never match the
|
|
17
|
+
* string `"Jan"`).
|
|
18
|
+
*
|
|
19
|
+
* So an entry may instead be `{ field, custom }`, where `custom` receives the live
|
|
20
|
+
* term and returns the clause to use for that column:
|
|
21
|
+
*
|
|
22
|
+
* ```ts
|
|
23
|
+
* const MONTHS = ['Jan', 'Feb', 'Mar', …]
|
|
24
|
+
*
|
|
25
|
+
* searchExpr: [
|
|
26
|
+
* 'Code',
|
|
27
|
+
* 'Nama',
|
|
28
|
+
* { field: 'Active', custom: ({ field, value }) => `${field} eq ${value}` },
|
|
29
|
+
* { field: 'Month', custom: ({ field, value }) => [field, '=', MONTHS.indexOf(value)] },
|
|
30
|
+
* ]
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* A custom column takes part in the plain search box like any other, so it runs on
|
|
34
|
+
* every term. **Return `null`/`undefined` to opt out** of one — which is what makes
|
|
35
|
+
* the `Month` example workable: `"Jan"` → `0`, `"zzz"` → `-1` → return `null` and
|
|
36
|
+
* the column simply drops out of that query instead of matching nothing.
|
|
37
|
+
*
|
|
38
|
+
* | `custom` returns | remote (devextreme store) | array / in-memory |
|
|
39
|
+
* | --- | --- | --- |
|
|
40
|
+
* | `[field, op, value]`, or a nested `and`/`or` array | used as-is | compiled to a predicate |
|
|
41
|
+
* | `(row) => boolean` | warn + skip | used as the predicate |
|
|
42
|
+
* | `"Active eq true"` (raw OData) | wrapped as `[raw]` | warn + skip |
|
|
43
|
+
* | `null` / `undefined` / `false` | skipped | skipped |
|
|
44
|
+
*
|
|
45
|
+
* Only the explicit `{ field, custom }` shape is accepted — a `{ Month: fn }` map
|
|
46
|
+
* is not, so there is exactly one form to read and to type.
|
|
47
|
+
*
|
|
48
|
+
* An entry may also be a **`*` pattern**, resolved against the loaded rows so a
|
|
49
|
+
* grid can search everything without listing columns:
|
|
50
|
+
*
|
|
51
|
+
* ```ts
|
|
52
|
+
* searchExpr: ['*'] // every top-level field
|
|
53
|
+
* searchExpr: ['*', '*.[*].*'] // …plus every field of every array expand
|
|
54
|
+
* searchExpr: ['*', '*.*'] // …plus every field of every object expand
|
|
55
|
+
* searchExpr: ['*', { field: 'Month', custom }] // the explicit entry wins for Month
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* Patterns read literally, segment by segment — `'*.[*].*'` covers the expand ONLY.
|
|
59
|
+
* See {@link expandWildcard} for the type rule that keeps a remote `$filter` valid.
|
|
60
|
+
*
|
|
61
|
+
* This module is pure: types + stateless helpers, no controller state, mirroring
|
|
62
|
+
* `field-path.ts`.
|
|
63
|
+
*/
|
|
64
|
+
/** What a `custom` builder is handed for the term being applied. */
|
|
65
|
+
export interface MonoSearchCustomCtx {
|
|
66
|
+
/** The column this entry declares — echoed so the builder needn't repeat it. */
|
|
67
|
+
field: string;
|
|
68
|
+
/** The raw text the user typed, exactly as typed. */
|
|
69
|
+
value: string;
|
|
70
|
+
/** The grid's configured `searchOperation` (default `'contains'`). */
|
|
71
|
+
operation: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* What a `custom` builder may return. `null` / `undefined` / `false` all mean
|
|
75
|
+
* "this column has nothing to say about this term" — skip it.
|
|
76
|
+
*/
|
|
77
|
+
export type MonoSearchCustomResult = string | unknown[] | ((row: any) => boolean) | null | undefined | false;
|
|
78
|
+
/** A `searchExpr` entry that builds its own clause. */
|
|
79
|
+
export interface MonoSearchExprCustom {
|
|
80
|
+
/** Column this entry covers — the name a bound `MonoSearchTerm.field` matches. */
|
|
81
|
+
field: string;
|
|
82
|
+
/** Build the clause for one term. See {@link MonoSearchCustomResult}. */
|
|
83
|
+
custom: (ctx: MonoSearchCustomCtx) => MonoSearchCustomResult;
|
|
84
|
+
}
|
|
85
|
+
/** One `searchExpr` entry: a plain column name, or a custom builder. */
|
|
86
|
+
export type MonoSearchExprEntry = string | MonoSearchExprCustom;
|
|
87
|
+
/** The `searchExpr` option: one entry or a list. */
|
|
88
|
+
export type MonoSearchExpr = MonoSearchExprEntry | MonoSearchExprEntry[];
|
|
89
|
+
/** Every usable entry, in the order written. Strings and customs, malformed dropped. */
|
|
90
|
+
export declare function normalizeSearchExpr(expr: MonoSearchExpr | undefined): MonoSearchExprEntry[];
|
|
91
|
+
/**
|
|
92
|
+
* The plain column names only — no `{ field, custom }` entries, no `*` patterns.
|
|
93
|
+
*
|
|
94
|
+
* This is what a SOURCE may be handed: `monoArraySource`, `storeGroupSource` and
|
|
95
|
+
* devextreme all type `searchExpr` as `string | string[]` and feed it straight to
|
|
96
|
+
* `toODataClause` — an object entry would serialize to garbage and a `'*'` would
|
|
97
|
+
* be searched as a column literally named `*`. Both are resolved by the controller
|
|
98
|
+
* instead.
|
|
99
|
+
*/
|
|
100
|
+
export declare function plainSearchColumns(expr: MonoSearchExpr | undefined): string[];
|
|
101
|
+
/** The field name an entry covers. */
|
|
102
|
+
export declare function searchEntryField(entry: MonoSearchExprEntry): string;
|
|
103
|
+
/** The entry declaring `field`, if any — used to resolve a column-bound term. */
|
|
104
|
+
export declare function searchEntryFor(expr: MonoSearchExpr | undefined, field: string): MonoSearchExprEntry | undefined;
|
|
105
|
+
/** Whether any entry brings its own builder (so folding must be bypassed). */
|
|
106
|
+
export declare function hasCustomSearch(expr: MonoSearchExpr | undefined): boolean;
|
|
107
|
+
/** Whether `field` is a `*` pattern rather than a concrete column/path. */
|
|
108
|
+
export declare function isWildcardPattern(field: string): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Resolve a `*` pattern against real rows, returning the concrete field paths it
|
|
111
|
+
* covers — `'*.[*].*'` over `{ Detail: [{ Bulan, Ket }] }` gives
|
|
112
|
+
* `['Detail.[*].Bulan', 'Detail.[*].Ket']`, which the existing path machinery
|
|
113
|
+
* already knows how to match client-side and translate to an OData lambda.
|
|
114
|
+
*
|
|
115
|
+
* `textOnly` drops every leaf that isn't a string. A REMOTE source needs that:
|
|
116
|
+
* `contains(Price,'x')` is not valid OData and would reject the whole request, so
|
|
117
|
+
* a wildcard never emits a clause for a numeric/boolean/date column. Give such a
|
|
118
|
+
* column an explicit `{ field, custom }` entry instead. In-memory sources compare
|
|
119
|
+
* stringified values, so they keep every leaf.
|
|
120
|
+
*
|
|
121
|
+
* A field that is `null`/`undefined` in every sampled row is skipped — there is
|
|
122
|
+
* nothing to type it by.
|
|
123
|
+
*/
|
|
124
|
+
export declare function expandWildcard(pattern: string, rows: readonly unknown[], textOnly: boolean): string[];
|
|
125
|
+
/** Options for {@link resolveSearchEntries}. */
|
|
126
|
+
export interface ResolveSearchOptions {
|
|
127
|
+
/** Rows to resolve `*` patterns against (the loaded data). */
|
|
128
|
+
rows?: readonly unknown[];
|
|
129
|
+
/** Keep only string-valued leaves — required for a remote OData source. */
|
|
130
|
+
textOnly?: boolean;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* The entries a search actually runs over: every `*` pattern replaced by the
|
|
134
|
+
* concrete fields it resolves to, in place.
|
|
135
|
+
*
|
|
136
|
+
* **An explicitly named field always wins.** A field named anywhere in the list —
|
|
137
|
+
* as a plain string or as `{ field, custom }` — is dropped from every pattern
|
|
138
|
+
* expansion regardless of order, so `['*', { field: 'Name', custom }]` and
|
|
139
|
+
* `[{ field: 'Name', custom }, '*']` both search `Name` with the custom, exactly
|
|
140
|
+
* once, at the position it was written.
|
|
141
|
+
*/
|
|
142
|
+
export declare function resolveSearchEntries(expr: MonoSearchExpr | undefined, options?: ResolveSearchOptions): MonoSearchExprEntry[];
|
|
143
|
+
/** Whether any entry is a `*` pattern (so folding must be bypassed). */
|
|
144
|
+
export declare function hasWildcardSearch(expr: MonoSearchExpr | undefined): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* The devextreme filter clause for one custom entry + term, or `null` to skip it.
|
|
147
|
+
*
|
|
148
|
+
* A raw string is wrapped as `[raw]` — the single-member raw-passthrough clause
|
|
149
|
+
* devextreme honours inside a filter array, the same shape `toODataClause` emits
|
|
150
|
+
* for a wildcard lambda, so it slots into the OR/AND groups unchanged.
|
|
151
|
+
*/
|
|
152
|
+
export declare function customRemoteClause(entry: MonoSearchExprCustom, value: string, operation: string): unknown | null;
|
|
153
|
+
/**
|
|
154
|
+
* The client-side row predicate for one custom entry + term, or `null` to skip it.
|
|
155
|
+
*
|
|
156
|
+
* Filter arrays go through `compileFilterPredicate`, which already understands
|
|
157
|
+
* nested `and`/`or` groups, `['!', …]` negation and path fields — so the SAME
|
|
158
|
+
* `[field, op, value]` a remote source receives also narrows an array source.
|
|
159
|
+
*/
|
|
160
|
+
export declare function customPredicate(entry: MonoSearchExprCustom, value: string, operation: string): ((row: any) => boolean) | null;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ONE `$apply` request through a devextreme OData store.
|
|
3
|
+
*
|
|
4
|
+
* The header filter, the summary footer and a bound chart all want the same
|
|
5
|
+
* thing — the server rolls the data up (`groupby` / `aggregate`) and hands back
|
|
6
|
+
* a handful of rows — and all of them want to send it through the SOURCE'S OWN
|
|
7
|
+
* STORE, so the request rides its url, `beforeSend`, auth and credentials
|
|
8
|
+
* exactly as every ordinary load does. This module is the one place that knows
|
|
9
|
+
* how to get an `$apply` into that request.
|
|
10
|
+
*
|
|
11
|
+
* ── Why not `customQueryParams` ──
|
|
12
|
+
*
|
|
13
|
+
* It is the option that looks right, and it is wrong on every OData version.
|
|
14
|
+
* devextreme treats `customQueryParams` as SERVICE-OPERATION parameters: each
|
|
15
|
+
* value goes through its literal serializer, so a string is quoted and every
|
|
16
|
+
* `'` doubled — `$apply='filter(A eq ''B'')'` — and on **v4 the whole thing
|
|
17
|
+
* becomes a FUNCTION-INVOCATION url**, `Entity($apply='…')`, which any entity
|
|
18
|
+
* set answers with 404. (`ODataStore.createQuery`: `escapeServiceOperationParams`
|
|
19
|
+
* always; v4 → `formatFunctionInvocationUrl`, v2/v3 → `queryOptions.params`.)
|
|
20
|
+
*
|
|
21
|
+
* The hatch that works is `loadOptions.urlOverride`: the store requests exactly
|
|
22
|
+
* that url, and devextreme's ajax appends its own parameters (`$top`, `$filter`,
|
|
23
|
+
* `$count`) with `&` when the url already carries a `?`. So the clause goes
|
|
24
|
+
* INTO the url, pre-encoded. A store without `version()` — a CustomStore, an
|
|
25
|
+
* array — never honoured `$apply` at all, and gets no request.
|
|
26
|
+
*
|
|
27
|
+
* @mono-lit/helper never imports devextreme, so everything here is duck-typed on the
|
|
28
|
+
* store: `version()` is public API, the url is read off `_requestDispatcher.url`
|
|
29
|
+
* (25.x) with `_url` (older builds) as the fallback.
|
|
30
|
+
*/
|
|
31
|
+
/** The slice of a devextreme store this module touches. */
|
|
32
|
+
export interface ApplyStore {
|
|
33
|
+
load(options?: unknown): PromiseLike<unknown> | unknown;
|
|
34
|
+
/** OData protocol version (`ODataStore` only). */
|
|
35
|
+
version?(): number;
|
|
36
|
+
}
|
|
37
|
+
export interface ApplyLoadOptions {
|
|
38
|
+
/** Cap the rolled-up rows (`$top`). */
|
|
39
|
+
top?: number;
|
|
40
|
+
}
|
|
41
|
+
/** The store's OData version, or `null` for anything that is not an OData store. */
|
|
42
|
+
export declare function odataStoreVersion(store: unknown): number | null;
|
|
43
|
+
/** The store's base url, or `null` when it cannot be read. */
|
|
44
|
+
export declare function odataStoreUrl(store: unknown): string | null;
|
|
45
|
+
/** `<url>?$apply=<encoded clause>` — `&` when the url already has a query string. */
|
|
46
|
+
export declare function applyRequestUrl(url: string, apply: string): string;
|
|
47
|
+
/**
|
|
48
|
+
* The `store.load()` options that carry `apply`, or `null` when this store
|
|
49
|
+
* cannot carry one (no request should be made).
|
|
50
|
+
*
|
|
51
|
+
* `requireTotalCount: false` keeps `$count` off — a rolled-up result has no
|
|
52
|
+
* meaningful total, and `$count` beside `$apply` is rejected by some servers.
|
|
53
|
+
*/
|
|
54
|
+
export declare function applyLoadOptions(store: unknown, apply: string, options?: ApplyLoadOptions): Record<string, unknown> | null;
|
|
55
|
+
/** Normalise a devextreme store `load` result into a plain rows array. */
|
|
56
|
+
export declare function storeRows(res: unknown): any[];
|
|
57
|
+
/**
|
|
58
|
+
* Send `apply` through `store` and return the rolled-up rows, or `null` when
|
|
59
|
+
* the store cannot carry an `$apply` (nothing was requested). A request that
|
|
60
|
+
* FAILS throws — the caller decides whether that disables the path for good
|
|
61
|
+
* (see {@link createApplyGate}).
|
|
62
|
+
*/
|
|
63
|
+
export declare function loadApply(store: unknown, apply: string, options?: ApplyLoadOptions): Promise<Array<Record<string, unknown>> | null>;
|
|
64
|
+
/**
|
|
65
|
+
* Whether `rows` are what an honoured `$apply` returns — each row carrying
|
|
66
|
+
* ONLY the grouping key(s) and the aggregate aliases in `keys` (plus OData
|
|
67
|
+
* `@odata.*` annotations) — as opposed to plain entities from a server that
|
|
68
|
+
* ignored the clause. The distinction matters because an alias is usually the
|
|
69
|
+
* field's own name: an entity `{ Id, Dept, Total }` has the alias `Total` too,
|
|
70
|
+
* and would be mistaken for a bucket by a presence check. The extra `Id` is
|
|
71
|
+
* what gives it away. `keys` are matched on their ROOT segment (`Job/Title`
|
|
72
|
+
* comes back as `{ Job: { Title } }`).
|
|
73
|
+
*/
|
|
74
|
+
export declare function isRolledUp(rows: readonly unknown[], keys: readonly string[]): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Whether a failed `$apply` request means the BACKEND does not do `$apply` —
|
|
77
|
+
* a 4xx (`400 Bad Request`, `404`) or `501 Not Implemented` — as opposed to a
|
|
78
|
+
* transient fault (network down: `httpStatus` 0 / absent, a 5xx). devextreme
|
|
79
|
+
* puts the status on the error as `httpStatus`.
|
|
80
|
+
*/
|
|
81
|
+
export declare function isApplyRejected(err: unknown): boolean;
|
|
82
|
+
export interface ApplyGate {
|
|
83
|
+
/** `true` once the path is off — disabled by option, or rejected by the backend. */
|
|
84
|
+
readonly skip: boolean;
|
|
85
|
+
/** Report a failed request; a definite rejection turns the gate off for good. */
|
|
86
|
+
reject(err: unknown): void;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Per-controller "is the `$apply` path still worth trying?" switch.
|
|
90
|
+
*
|
|
91
|
+
* A backend without `$apply` answers every attempt with the same 4xx, and a
|
|
92
|
+
* grid that retried on every panel open / recompute would pay one failed
|
|
93
|
+
* request each time before falling back. So the FIRST definite rejection is
|
|
94
|
+
* remembered for the controller's lifetime; a transient failure is not, and
|
|
95
|
+
* the next attempt goes out normally.
|
|
96
|
+
*/
|
|
97
|
+
export declare function createApplyGate(enabled: boolean): ApplyGate;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { MaybeReactive } from '../composables/reactive.js';
|
|
2
|
+
/** One sort entry, in devextreme's object form. */
|
|
3
|
+
export interface MonoSourceSortEntry {
|
|
4
|
+
selector: string;
|
|
5
|
+
desc: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* DataSource-level knobs a controller keeps STICKY — `{ dataSourceOptions }`.
|
|
9
|
+
*
|
|
10
|
+
* These are the devextreme `DataSource` options a consumer would otherwise set on
|
|
11
|
+
* the source itself, and the point of routing them through the controller is that
|
|
12
|
+
* the controller then composes every query it runs on top of them: a search, a
|
|
13
|
+
* header column filter, a sort, a page, a scroll page, a drain, an `$apply` —
|
|
14
|
+
* each one goes out with this `filter` AND-ed in, this `select`, this `expand`.
|
|
15
|
+
*
|
|
16
|
+
* The option is read fresh at every query (see `MaybeReactive`), so hand a getter
|
|
17
|
+
* or a `computed` and the CURRENT reactive value is the one that lands in the
|
|
18
|
+
* request. Changing it does not by itself run a query — that is `refresh()`.
|
|
19
|
+
*/
|
|
20
|
+
export interface MonoDataSourceOptions {
|
|
21
|
+
/** Base filter, AND-ed under everything the controller adds. Array sources take a predicate too. */
|
|
22
|
+
filter?: unknown;
|
|
23
|
+
/** `$select`. */
|
|
24
|
+
select?: string | string[];
|
|
25
|
+
/** `$expand`. Simple navigation names union; a nested `Nav($select=…)` string is kept verbatim. */
|
|
26
|
+
expand?: string | string[];
|
|
27
|
+
/**
|
|
28
|
+
* Base sort. A sort the user picks wins; these follow as tiebreakers (entries
|
|
29
|
+
* whose selector is already sorted are skipped).
|
|
30
|
+
*/
|
|
31
|
+
sort?: string | {
|
|
32
|
+
selector: string;
|
|
33
|
+
desc?: boolean;
|
|
34
|
+
} | Array<string | {
|
|
35
|
+
selector: string;
|
|
36
|
+
desc?: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
/** Extra query-string parameters (ODataStore `customQueryParams`). */
|
|
39
|
+
customQueryParams?: Record<string, unknown>;
|
|
40
|
+
paginate?: boolean;
|
|
41
|
+
/** Source page size. A component's own page-size control still wins. */
|
|
42
|
+
pageSize?: number;
|
|
43
|
+
requireTotalCount?: boolean;
|
|
44
|
+
/** Source-level search columns/operation — used only when the controller declares none of its own. */
|
|
45
|
+
searchExpr?: string | string[];
|
|
46
|
+
searchOperation?: string;
|
|
47
|
+
[key: string]: unknown;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The same thing in raw OData vocabulary — `{ odataOptions }`.
|
|
51
|
+
*
|
|
52
|
+
* Normalised into {@link MonoDataSourceOptions} and merged with it: `$select` →
|
|
53
|
+
* `select`, `$expand` → `expand`, `$orderby` → `sort`, `$filter` → `filter`, and
|
|
54
|
+
* every other key (`$top`, `$count`, a custom parameter) → `customQueryParams`.
|
|
55
|
+
*
|
|
56
|
+
* `$filter` is a string. It is parsed into devextreme's array form so the store
|
|
57
|
+
* compiles it together with whatever the component adds; an expression the
|
|
58
|
+
* parser cannot read (an `any()` lambda, an ISO date literal) is sent as-is and
|
|
59
|
+
* comes out as `(expr) eq true`, which is valid OData — but devextreme rewrites
|
|
60
|
+
* every `.` in that raw text to `/`, so keep decimals and dotted strings out of
|
|
61
|
+
* it, or write the array form under `dataSourceOptions.filter` instead. Array
|
|
62
|
+
* sources cannot evaluate a raw string and ignore it (with one console warning).
|
|
63
|
+
*/
|
|
64
|
+
export interface MonoOdataOptions {
|
|
65
|
+
$select?: string | string[];
|
|
66
|
+
$expand?: string | string[];
|
|
67
|
+
$orderby?: string;
|
|
68
|
+
$filter?: string;
|
|
69
|
+
[key: string]: unknown;
|
|
70
|
+
}
|
|
71
|
+
/** The knobs with a meaning of their own; anything else is passed through as a load option. */
|
|
72
|
+
export declare const DATA_SOURCE_KNOBS: ReadonlySet<string>;
|
|
73
|
+
/** A comma string or an array → a trimmed string list; `null`/`undefined` → `undefined`. */
|
|
74
|
+
export declare function toList(v: unknown): string[] | undefined;
|
|
75
|
+
/** devextreme's sort forms (string / object / array / mixed) → an ordered entry list. */
|
|
76
|
+
export declare function normalizeSortList(value: unknown): MonoSourceSortEntry[];
|
|
77
|
+
/** `"A desc, B"` → `[{A, desc}, {B}]`. */
|
|
78
|
+
export declare function parseOrderby(text: string): MonoSourceSortEntry[];
|
|
79
|
+
/**
|
|
80
|
+
* The parser emits OData keyword operators (`eq`, `ge`) — the filter builder's
|
|
81
|
+
* tree reads either — but devextreme's ODataStore compiles ONLY the symbol forms
|
|
82
|
+
* and throws `E4003` on a keyword. Rewritten recursively.
|
|
83
|
+
*/
|
|
84
|
+
export declare function toSymbolOps(expr: unknown): unknown;
|
|
85
|
+
/**
|
|
86
|
+
* A raw `$filter` → devextreme's array form, so the store compiles it TOGETHER
|
|
87
|
+
* with whatever the component adds. The parser throws on syntax it does not know
|
|
88
|
+
* (lambdas, ISO date literals); those go through as a one-element raw clause,
|
|
89
|
+
* which devextreme emits as `(expr) eq true` — valid OData, with the caveat that
|
|
90
|
+
* it rewrites `.` to `/` inside the text.
|
|
91
|
+
*/
|
|
92
|
+
export declare function parseOdataFilter(raw: string): unknown;
|
|
93
|
+
/** `{ $select, $expand, $orderby, $filter, …custom }` → the DataSource shape. */
|
|
94
|
+
export declare function normalizeOdataOptions(o: MonoOdataOptions): MonoDataSourceOptions;
|
|
95
|
+
/**
|
|
96
|
+
* `a` ∧ `b`: filters AND-ed (predicates and arrays each on their own terms),
|
|
97
|
+
* `select`/`expand` unioned, sort de-duplicated by selector with `a` leading,
|
|
98
|
+
* `customQueryParams` merged with `b` winning, scalars `b` if defined else `a`.
|
|
99
|
+
*/
|
|
100
|
+
export declare function mergeDataSourceOptions(a: MonoDataSourceOptions, b: MonoDataSourceOptions): MonoDataSourceOptions;
|
|
101
|
+
/**
|
|
102
|
+
* Read both option bags fresh and merge them — the one call a controller makes
|
|
103
|
+
* at the top of every query. Returns a NEW object every time (a getter hands
|
|
104
|
+
* back fresh state), so callers that need change detection compare by content:
|
|
105
|
+
* see {@link dataSourceOptionsKey}.
|
|
106
|
+
*/
|
|
107
|
+
export declare function resolveDataSourceOptions(dataSourceOptions: MaybeReactive<MonoDataSourceOptions> | undefined, odataOptions: MaybeReactive<MonoOdataOptions> | undefined): MonoDataSourceOptions;
|
|
108
|
+
/**
|
|
109
|
+
* A content key for change detection. Functions (an array-source predicate) do
|
|
110
|
+
* not stringify, so they are marked and must be compared by reference by the
|
|
111
|
+
* caller; a circular object yields a fresh random key and so always counts as
|
|
112
|
+
* changed.
|
|
113
|
+
*/
|
|
114
|
+
export declare function dataSourceOptionsKey(o: MonoDataSourceOptions): string;
|
|
115
|
+
/** `expand` / `customQueryParams` / unknown keys — what goes onto a `store.load()` beside the knobs. */
|
|
116
|
+
export declare function extraLoadOptions(o: MonoDataSourceOptions): Record<string, unknown>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { andFilters } from '../search/filter-eval';
|
|
2
|
+
import { unwrapReactive } from '../composables/reactive';
|
|
3
|
+
/** The structural surface of a devextreme DataSource this module touches. */
|
|
4
|
+
export interface ReadableDataSource<T = any> {
|
|
5
|
+
load(): PromiseLike<T[]> | T[];
|
|
6
|
+
items(): T[];
|
|
7
|
+
store?(): ReadableStore | undefined;
|
|
8
|
+
filter?(value?: unknown): unknown;
|
|
9
|
+
/** The source's own `$select`, inherited by a drain unless overridden. */
|
|
10
|
+
select?(value?: unknown): unknown;
|
|
11
|
+
sort?(value?: unknown): unknown;
|
|
12
|
+
searchValue?(value?: unknown): unknown;
|
|
13
|
+
searchExpr?(value?: unknown): unknown;
|
|
14
|
+
searchOperation?(value?: string): string;
|
|
15
|
+
paginate?(value?: boolean): boolean;
|
|
16
|
+
pageIndex?(value?: number): number;
|
|
17
|
+
totalCount?(): number;
|
|
18
|
+
}
|
|
19
|
+
/** The structural surface of a devextreme store. */
|
|
20
|
+
export interface ReadableStore {
|
|
21
|
+
load(options?: unknown): PromiseLike<unknown> | unknown;
|
|
22
|
+
key?(): unknown;
|
|
23
|
+
byKey?(key: unknown): unknown;
|
|
24
|
+
/** OData protocol version (a devextreme `ODataStore`); absent on a CustomStore. */
|
|
25
|
+
version?(): number;
|
|
26
|
+
}
|
|
27
|
+
export interface ReadAllRowsOptions {
|
|
28
|
+
/**
|
|
29
|
+
* Rows per request (default `100`). The total is unknowable up front for a
|
|
30
|
+
* remote source, so the read walks in fixed chunks until one comes back short.
|
|
31
|
+
*/
|
|
32
|
+
chunkSize?: number;
|
|
33
|
+
/** Restrict the columns fetched (remote sources only). */
|
|
34
|
+
select?: string[];
|
|
35
|
+
/** Sort override. Defaults to whatever the source itself carries. */
|
|
36
|
+
sort?: unknown;
|
|
37
|
+
/**
|
|
38
|
+
* An extra filter AND-ed onto the source's own (and its search) — a controller's
|
|
39
|
+
* base, which is not written on the source when the read goes to the STORE.
|
|
40
|
+
* Remote sources only; an array source is filtered by what it holds.
|
|
41
|
+
*/
|
|
42
|
+
filter?: unknown;
|
|
43
|
+
/** Extra load options spread into every chunk request (`expand`, `customQueryParams`, …). */
|
|
44
|
+
loadOptions?: Record<string, unknown>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Unwrap Vue reactivity. A `ref(dataSource)` renders as nothing (the template
|
|
48
|
+
* sees the wrapper, not the source), and a *reactive proxy* around a DataSource
|
|
49
|
+
* can break its internals — devextreme stores identity-sensitive state that
|
|
50
|
+
* doesn't survive being proxied.
|
|
51
|
+
*
|
|
52
|
+
* Re-exported (not redefined) from `composables/reactive` so the components that
|
|
53
|
+
* need the same unwrap for value identity share one implementation.
|
|
54
|
+
*/
|
|
55
|
+
export { unwrapReactive };
|
|
56
|
+
/** A devextreme DataSource: it both loads and holds a current page. */
|
|
57
|
+
export declare function isDataSourceLike(value: unknown): value is ReadableDataSource;
|
|
58
|
+
/** A bare store (ODataStore / CustomStore / ArrayStore) — loads, but has no page. */
|
|
59
|
+
export declare function isStoreLike(value: unknown): value is ReadableStore;
|
|
60
|
+
/** Anything this module can drain into an array. */
|
|
61
|
+
export declare function isReadableSource(value: unknown): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Build a devextreme filter expression for a DataSource's **active search**.
|
|
64
|
+
*
|
|
65
|
+
* This is the subtle one. `searchValue` / `searchExpr` are DataSource-level
|
|
66
|
+
* options: the DataSource folds them into the request it sends to its store.
|
|
67
|
+
* Reading the store directly bypasses them entirely — so an export would
|
|
68
|
+
* silently include rows the user filtered away with `<mono-table-search>`.
|
|
69
|
+
* Reconstructing the filter here keeps the store path faithful to the grid.
|
|
70
|
+
*/
|
|
71
|
+
export declare function searchFilterOf(source: ReadableDataSource): unknown;
|
|
72
|
+
/**
|
|
73
|
+
* AND-combine two optional devextreme filter expressions.
|
|
74
|
+
*
|
|
75
|
+
* Re-exported (not redefined) from the shared search module so the grid's filter
|
|
76
|
+
* composition and a drain's composition can never disagree.
|
|
77
|
+
*/
|
|
78
|
+
export { andFilters };
|
|
79
|
+
/**
|
|
80
|
+
* Read every row a source can produce, in chunks.
|
|
81
|
+
*
|
|
82
|
+
* A plain array passes straight through, so callers can accept
|
|
83
|
+
* "array or DataSource" without branching.
|
|
84
|
+
*/
|
|
85
|
+
export declare function readAllRows<T = any>(source: unknown, options?: ReadAllRowsOptions): Promise<T[]>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { arrayToODataString } from '../components/filter/filter-odata';
|
|
2
|
+
/** Aggregate kinds a spec may ask for — mirrors `MonoSummaryType` structurally. */
|
|
3
|
+
export type MonoAggregateType = 'sum' | 'avg' | 'count' | 'min' | 'max' | 'countDistinct';
|
|
4
|
+
/** The part of a summary spec that decides what to ask for. */
|
|
5
|
+
export interface MonoAggregateSpec {
|
|
6
|
+
field?: string;
|
|
7
|
+
type?: MonoAggregateType;
|
|
8
|
+
/** Disambiguates two aggregates on the same field; also used as the alias. */
|
|
9
|
+
name?: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A field a server can aggregate.
|
|
13
|
+
*
|
|
14
|
+
* A WILDCARD or INDEX path (`Lines.[*].Total`) is rejected: `getFieldValue`
|
|
15
|
+
* resolves those by walking a collection on a loaded row, and no `$apply`
|
|
16
|
+
* expression means the same thing — the nearest OData construct aggregates the
|
|
17
|
+
* collection per parent rather than across all of them.
|
|
18
|
+
*/
|
|
19
|
+
export declare const isAggregatableField: (field: string) => boolean;
|
|
20
|
+
/**
|
|
21
|
+
* The response key each spec's value comes back under.
|
|
22
|
+
*
|
|
23
|
+
* Plain `field` while that field carries ONE aggregate, which is the ordinary
|
|
24
|
+
* case and keeps the response readable; `field_type` once the same field has
|
|
25
|
+
* two (a `sum` and an `avg` of `Price`), because an `$apply` cannot alias two
|
|
26
|
+
* values to the same name. An explicit `name` always wins, and a bare `count`
|
|
27
|
+
* has no field to name it after.
|
|
28
|
+
*/
|
|
29
|
+
export declare function summaryAliases(specs: readonly MonoAggregateSpec[]): string[];
|
|
30
|
+
/**
|
|
31
|
+
* Build `aggregate(<field> with <agg> as <alias>, …)` for a set of specs.
|
|
32
|
+
*
|
|
33
|
+
* Returns `null` when no spec can be expressed — a caller with nothing to ask
|
|
34
|
+
* for should not make a request.
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildSummaryApply(specs: readonly MonoAggregateSpec[]): string | null;
|
|
37
|
+
/**
|
|
38
|
+
* Compose a filter with an aggregate: `filter(<expr>)/aggregate(…)`.
|
|
39
|
+
*
|
|
40
|
+
* The filter goes INSIDE `$apply` rather than travelling as a sibling `$filter`
|
|
41
|
+
* — that is what makes the two compose, since the filter runs first and the
|
|
42
|
+
* aggregation sees only matching rows.
|
|
43
|
+
*/
|
|
44
|
+
export declare function composeSummaryApply(apply: string, filter: unknown): string;
|
|
45
|
+
/**
|
|
46
|
+
* The predicate a summary must aggregate over — IDENTICAL to what the drain uses.
|
|
47
|
+
*
|
|
48
|
+
* `readAllRows` reads a DataSource as its own `filter()` AND its reconstructed
|
|
49
|
+
* `searchValue`, which is a DataSource-level option the store knows nothing
|
|
50
|
+
* about. Anything less here and a total would quietly count rows the user had
|
|
51
|
+
* searched away, which is worse than being slow.
|
|
52
|
+
*/
|
|
53
|
+
export declare function summaryFilterOf(source: unknown): unknown;
|
|
54
|
+
/** Re-exported so a resolver can convert a devextreme filter itself. */
|
|
55
|
+
export { arrayToODataString as summaryODataFilter };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A readable message for `raw`, or `fallback` when nothing legible can be found.
|
|
3
|
+
*
|
|
4
|
+
* Never throws, and never returns an empty string — a caller rendering this into
|
|
5
|
+
* an error bar has to have something to render, and a blank bar is worse than a
|
|
6
|
+
* generic one.
|
|
7
|
+
*/
|
|
8
|
+
export declare function normalizeError(raw: unknown, fallback?: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Keys of the preset map: an HTTP status, `'network'` for "the request never
|
|
11
|
+
* got an answer" (status 0, `TypeError: Failed to fetch`, devextreme's
|
|
12
|
+
* "Unspecified network error"), and `'default'` for everything else.
|
|
13
|
+
*/
|
|
14
|
+
export type MonoErrorMessageKey = number | 'network' | 'default';
|
|
15
|
+
/** Wording overrides — per grid (`monoDataGrid({ errorMessages })`) or app-wide (`setErrorMessages`). */
|
|
16
|
+
export type MonoErrorMessages = Partial<Record<MonoErrorMessageKey, string>>;
|
|
17
|
+
/**
|
|
18
|
+
* What the bar says for a status. English; an app puts its own language in
|
|
19
|
+
* ONCE with `setErrorMessages()` rather than on every table.
|
|
20
|
+
*/
|
|
21
|
+
export declare const DEFAULT_ERROR_MESSAGES: Readonly<Record<MonoErrorMessageKey, string>>;
|
|
22
|
+
/**
|
|
23
|
+
* App-wide wording, merged over the defaults; `null` restores them. A grid's own
|
|
24
|
+
* `errorMessages` merges over this in turn, so a single table can still differ.
|
|
25
|
+
*/
|
|
26
|
+
export declare function setErrorMessages(messages: MonoErrorMessages | null): void;
|
|
27
|
+
/** Defaults ← app-wide ← `local`, same shape as the filter builder's `resolveTexts`. */
|
|
28
|
+
export declare function resolveErrorMessages(local?: MonoErrorMessages): Record<MonoErrorMessageKey, string>;
|
|
29
|
+
/**
|
|
30
|
+
* The HTTP status an error carries, `0` for a network failure, `undefined` when
|
|
31
|
+
* it has none.
|
|
32
|
+
*
|
|
33
|
+
* Reads the fields the common transports use — devextreme's `httpStatus`, a
|
|
34
|
+
* fetch `Response` / axios error's `status` and `response.status`, ofetch's
|
|
35
|
+
* `statusCode`, an OData error body's numeric `code` — on an `Error` instance as
|
|
36
|
+
* readily as on a plain object, since devextreme `extend()`s them onto an
|
|
37
|
+
* `Error`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function errorStatus(raw: unknown): number | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Every message an error carries, combined the way `monoFetch`'s
|
|
42
|
+
* `extractErrorMessage` does it: each key whose name contains "message"
|
|
43
|
+
* (`message`, `errorMessage`, `Message`, …) holding text — or OData's
|
|
44
|
+
* `{ message: { value } }` — at any depth up to 3, plus a JSON body still in
|
|
45
|
+
* `responseText` / `responseJSON` / `response`, plus an `Error`'s own
|
|
46
|
+
* (non-enumerable) `message`. The usual body fields `detail` / `title` and a
|
|
47
|
+
* plain-text `response.data` count too.
|
|
48
|
+
*
|
|
49
|
+
* Deduplicated by {@link uniqueMessages}, transport boilerplate ("Bad Request",
|
|
50
|
+
* "Failed to fetch") dropped, in the order found.
|
|
51
|
+
*/
|
|
52
|
+
export declare function collectErrorMessages(raw: unknown, status?: number | undefined): string[];
|
|
53
|
+
export interface DescribedError {
|
|
54
|
+
/** The headline: the preset for the status when there is one, else the error's own text. */
|
|
55
|
+
message: string;
|
|
56
|
+
/** The HTTP status, `0` for a network failure, absent when the error carries none. */
|
|
57
|
+
status?: number;
|
|
58
|
+
/**
|
|
59
|
+
* Text the server (or the error itself) added beyond the status — the part a
|
|
60
|
+
* user CAN act on ("Budget period is closed"). Never a bare reason phrase.
|
|
61
|
+
*/
|
|
62
|
+
detail?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Every distinct message the error carried (see {@link collectErrorMessages}) —
|
|
65
|
+
* what `detail` joins. Empty when the error said nothing beyond its status.
|
|
66
|
+
*/
|
|
67
|
+
messages: string[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The one line a field shows for `err`: what the server said, every distinct
|
|
71
|
+
* message combined (`monoFetch` style), or the headline when it said nothing.
|
|
72
|
+
*/
|
|
73
|
+
export declare function errorText(err: DescribedError, separator?: string): string;
|
|
74
|
+
/** The hover text: the headline, then everything the server said, each once. */
|
|
75
|
+
export declare function errorTitle(err: DescribedError): string;
|
|
76
|
+
/**
|
|
77
|
+
* The line a person should read for `raw`.
|
|
78
|
+
*
|
|
79
|
+
* Order: a preset for the status (`'network'` for 0) → the error's own text →
|
|
80
|
+
* `messages.default`. When a preset is the headline, whatever the server said
|
|
81
|
+
* on top of the status becomes `detail`; without a preset, the raw text IS the
|
|
82
|
+
* headline and only a distinct server body is a detail. Never throws, never
|
|
83
|
+
* returns an empty `message`.
|
|
84
|
+
*/
|
|
85
|
+
export declare function describeError(raw: unknown, messages?: MonoErrorMessages): DescribedError;
|
|
86
|
+
/**
|
|
87
|
+
* A load a newer load superseded (devextreme rejects it with `'canceled'`).
|
|
88
|
+
* Not a failure — nothing should be shown for it.
|
|
89
|
+
*/
|
|
90
|
+
export declare function isCanceled(err: any): boolean;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/// <reference path="../../vue.d.ts" />
|
|
2
|
+
import { Plugin } from 'vite';
|
|
3
|
+
import { monoClientOnlyPlugin } from './mono-client-only';
|
|
4
|
+
import { monoSsrStubPlugin } from './mono-ssr-stub';
|
|
5
|
+
export interface MonoSsrOptions {
|
|
6
|
+
/** Custom-element tag prefix wrapped in <ClientOnly>. Default 'mono-'. */
|
|
7
|
+
prefix?: string;
|
|
8
|
+
/** Wrapper component used for client-only rendering. Default 'ClientOnly'. */
|
|
9
|
+
wrapper?: string;
|
|
10
|
+
/** Import prefix of registration modules stubbed during SSR. Default '@mono-lit/helper/ui/'. */
|
|
11
|
+
ssrStubPrefix?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Tag names (e.g. `['mono-nav']`) to NOT wrap in `<ClientOnly>` — for
|
|
14
|
+
* components server-rendered by another mechanism (e.g. `nuxt-ssr-lit`
|
|
15
|
+
* shadow-DOM builds). Default `[]`.
|
|
16
|
+
*/
|
|
17
|
+
exclude?: string[];
|
|
18
|
+
/**
|
|
19
|
+
* Wrap LIGHT `<prefix*>` elements in `<ClientOnly>`. Default `true`. `false`
|
|
20
|
+
* keeps the server import-stub and the shadow `<LitWrapper>` wrap but leaves
|
|
21
|
+
* light tags as they are — see `MonoClientOnlyOptions.lightWrap`.
|
|
22
|
+
*/
|
|
23
|
+
lightWrap?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Enable the import-driven SSR wrap: `<mono-*>` whose `@mono-lit/helper/ui/shadow/
|
|
26
|
+
* <entry>` build a `.vue` file imports get wrapped in `<LitWrapper>`
|
|
27
|
+
* (Declarative Shadow DOM) instead of `<ClientOnly>`. Default off.
|
|
28
|
+
*/
|
|
29
|
+
litWrapper?: boolean;
|
|
30
|
+
/** Component name used for the SSR wrap. Default `'LitWrapper'`. */
|
|
31
|
+
litWrapperComponent?: string;
|
|
32
|
+
/** Tags to ALWAYS treat as shadow (for globally-registered components). */
|
|
33
|
+
shadowOverride?: string[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* One import, one props object — wires both halves of SSR support for the
|
|
37
|
+
* mono web components:
|
|
38
|
+
* - the SSR import-stub (so `@mono-lit/helper/ui/*` never evaluates on the server)
|
|
39
|
+
* - the `<ClientOnly>` template wrapper (so `<mono-*>` only renders client-side)
|
|
40
|
+
*
|
|
41
|
+
* Usage:
|
|
42
|
+
* import { monoSsr } from '@mono-lit/helper/vite'
|
|
43
|
+
* plugins: [monoSsr()]
|
|
44
|
+
*/
|
|
45
|
+
export declare function monoSsr(options?: MonoSsrOptions): Plugin[];
|
|
46
|
+
export { monoClientOnlyPlugin, monoSsrStubPlugin };
|
|
47
|
+
export type { MonoClientOnlyOptions } from './mono-client-only';
|
|
48
|
+
export type { MonoSsrStubOptions } from './mono-ssr-stub';
|