@mono-lit/helper 0.0.1 → 0.0.3
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 -55
- package/README.md +35 -35
- package/dist/{breakpoints-CAbhDUht.js → breakpoints-DllybT82.js} +7 -5
- package/dist/checkbox.css_raw-AYtSbUtY.js +5 -0
- package/dist/{chip-limits-BMoO31JM.js → chip-limits-CFABydIL.js} +5 -3
- package/dist/{chip-strip-Cw3gyz0q.js → chip-strip-bNfLn52Z.js} +5 -3
- package/dist/chip.css_raw-ChfRSHLO.js +5 -0
- package/dist/{color-DHYrfXsX.js → color-CEYYtRX-.js} +8 -7
- package/dist/{css-class-BRKRzHx-.js → css-class-B6Tc_MAx.js} +2 -1
- package/dist/{css-size-DhHSVZJK.js → css-size-DWAPgQdT.js} +2 -1
- package/dist/{data-source-controller-C50Qyfzh.js → data-source-controller-Cf_sMxEh.js} +72 -7
- package/dist/data-source-controller-Dx6IQ2CN.js +243 -0
- package/dist/{data-source-options-BTpfrOZ_.js → data-source-options-Bk-UoaZV.js} +15 -10
- package/dist/{data-source-options-CQSTZHPE.js → data-source-options-QjuI73g8.js} +17 -12
- package/dist/{data-source-read-CUX-lgrQ.js → data-source-read-Cuqw3LcP.js} +7 -4
- package/dist/{data-source-read-DL88aH8t.js → data-source-read-FxqzQkk2.js} +8 -5
- package/dist/{decorate-DEXtNagw.js → decorate-DbYFpi8R.js} +7 -5
- package/dist/{element-props-CLB6yvbm.js → element-props-xvw0EB7H.js} +4 -3
- package/dist/{esm-Ptok4SQZ.js → esm-D0We7ndD.js} +48 -44
- package/dist/{excel-DopRbEMK.js → excel-BXzr3uI1.js} +192 -16
- package/dist/{excel-CY6zGkcx.js → excel-DtRpxmxs.js} +27 -16
- package/dist/{export-BvlBx_GZ.js → export-B91P6J1y.js} +104 -18
- package/dist/export.js +103 -18
- package/dist/{field-icons-BoOG6KrL.js → field-icons-FmyBWa0g.js} +38 -1
- package/dist/{field-path-C92eGLg3.js → field-path-BabiMrrA.js} +3 -2
- package/dist/{filter-builder-Bke3qOgJ.js → filter-builder-B6Y2mmbM.js} +7 -4
- package/dist/{filter-builder-CE4zE0V5.js → filter-builder-C0T3pMx2.js} +7 -4
- package/dist/{filter-eval-DIfU2EAn.js → filter-eval-ChDSaAUH.js} +7 -5
- package/dist/{filter-odata-C1vSGZaY.js → filter-odata-Bi27XUpQ.js} +9 -6
- package/dist/{form-control-core-B8d7k6vk.js → form-control-core-CIdMLXMo.js} +9 -6
- package/dist/{form-control-core-eeRr0zLU.js → form-control-core-CRZPZ1ru.js} +9 -6
- package/dist/hydration-flush-DHrl4_KK.js +1014 -0
- package/dist/{icon-CJkTlmTb.js → icon-BM9N-jOt.js} +5 -2
- package/dist/{icon-dVhYJUIH.js → icon-ClxnYhBG.js} +4 -2
- package/dist/{import-BgJdkwBI.js → import-Dc4eXC02.js} +22 -16
- package/dist/import.js +22 -16
- package/dist/index.js +17 -16
- package/dist/{index.node-DjvYOL-J.js → index.node-dvrNviMx.js} +26 -19
- package/dist/index.node.js +17 -16
- package/dist/input.css_raw-CGESifay.js +5 -0
- package/dist/{layout-var-CZnzMC0s.js → layout-var-BSBKY49k.js} +3 -2
- package/dist/{light-slots-BVJwyg_2.js → light-slots-4ZCjOcBg.js} +6 -4
- package/dist/{light-slots-DW1WgfgT.js → light-slots-DdDdZ6zs.js} +6 -4
- package/dist/{markdown-DfqrfOJN.js → markdown-uGlE_OfJ.js} +414 -369
- package/dist/mono-button-CeDB9khW.js +878 -0
- package/dist/mono-button.shadow-D9NdMsmH.js +790 -0
- package/dist/{mono-data-chart-ChU4Ii3p.js → mono-data-chart-ChkelNT7.js} +66 -22
- package/dist/{mono-data-dropdown-BAUl58kW.js → mono-data-dropdown-DxpUUk2y.js} +5 -3
- package/dist/{mono-data-grid-Db80FzdZ.js → mono-data-grid-8jmeIXUU.js} +56 -265
- package/dist/{mono-data-grid-CLBK8clE.js → mono-data-grid-BHlo1IgR.js} +56 -265
- package/dist/{mono-element-B0kP_96P.js → mono-element-C7vCschg.js} +7 -4
- package/dist/{mono-event-Bi1qP9uN.js → mono-event-BPku9HpS.js} +4 -3
- package/dist/{mono-form-controller-5PfsU4qa.js → mono-form-controller-IYn0MuUQ.js} +7 -4
- package/dist/{mono-modal-controller-BMO3n3rP.js → mono-modal-controller-ClObbHUs.js} +9 -7
- package/dist/{mono-ui-CPV7rrdo.js → mono-ui-BwUc0L6B.js} +22 -20
- package/dist/{data-search-Bwo5bg8K.js → normalize-error-D93O4q8g.js} +314 -10
- package/dist/{notifier-CE4yxMUQ.js → notifier-BIrqUzRh.js} +11 -1
- package/dist/nuxt.js +20 -15
- package/dist/{popup-portal-BziRX1yG.js → popup-portal-HWhkd7oy.js} +6 -4
- package/dist/{popup-stack-CEEMib__.js → popup-stack-De05Y-mJ.js} +13 -10
- package/dist/{rate-limit-BBa2PO79.js → rate-limit-e9Jlpl5l.js} +12 -9
- package/dist/{reactive-BHsqVjRh.js → reactive-DFCdZbH9.js} +318 -12
- package/dist/{reactive-D3EERqgO.js → reactive-Dtd-esHO.js} +2 -1
- package/dist/search.js +5 -4
- package/dist/src/components/accordion/accordion-core.d.ts +42 -40
- package/dist/src/components/accordion/accordion-types.d.ts +50 -48
- package/dist/src/components/accordion/index.d.ts +3 -2
- package/dist/src/components/accordion/index.shadow.d.ts +4 -4
- package/dist/src/components/accordion/mono-accordion.d.ts +44 -40
- package/dist/src/components/accordion/mono-accordion.shadow.d.ts +42 -38
- package/dist/src/components/alert/alert-core.d.ts +30 -28
- package/dist/src/components/alert/alert-types.d.ts +36 -34
- package/dist/src/components/alert/index.d.ts +3 -2
- package/dist/src/components/alert/index.shadow.d.ts +4 -4
- package/dist/src/components/alert/mono-alert.d.ts +30 -26
- package/dist/src/components/alert/mono-alert.shadow.d.ts +24 -20
- package/dist/src/components/breadcrumb/breadcrumb-core.d.ts +42 -40
- package/dist/src/components/breadcrumb/breadcrumb-list-core.d.ts +31 -29
- package/dist/src/components/breadcrumb/breadcrumb-render.d.ts +18 -16
- package/dist/src/components/breadcrumb/breadcrumb-types.d.ts +89 -87
- package/dist/src/components/breadcrumb/breadcrumb-utils.d.ts +18 -15
- package/dist/src/components/breadcrumb/index.d.ts +6 -5
- package/dist/src/components/breadcrumb/index.shadow.d.ts +7 -7
- package/dist/src/components/breadcrumb/mono-breadcrumb-list.d.ts +18 -14
- package/dist/src/components/breadcrumb/mono-breadcrumb-list.shadow.d.ts +33 -29
- package/dist/src/components/breadcrumb/mono-breadcrumb.d.ts +24 -20
- package/dist/src/components/breadcrumb/mono-breadcrumb.shadow.d.ts +55 -51
- package/dist/src/components/button/button-core.d.ts +73 -71
- package/dist/src/components/button/button-dropdown-core.d.ts +55 -53
- package/dist/src/components/button/button-dropdown-types.d.ts +98 -96
- package/dist/src/components/button/button-types.d.ts +157 -155
- package/dist/src/components/button/button-utils.d.ts +7 -5
- package/dist/src/components/button/index.button-dropdown.d.ts +5 -3
- package/dist/src/components/button/index.button-dropdown.shadow.d.ts +5 -3
- package/dist/src/components/button/index.d.ts +4 -7
- package/dist/src/components/button/index.shadow.d.ts +5 -4
- package/dist/src/components/button/mono-button-dropdown.d.ts +24 -19
- package/dist/src/components/button/mono-button-dropdown.shadow.d.ts +34 -29
- package/dist/src/components/button/mono-button.d.ts +105 -101
- package/dist/src/components/button/mono-button.shadow.d.ts +42 -38
- package/dist/src/components/card/card-core.d.ts +59 -56
- package/dist/src/components/card/card-types.d.ts +91 -89
- package/dist/src/components/card/card-utils.d.ts +11 -9
- package/dist/src/components/card/index.d.ts +4 -3
- package/dist/src/components/card/index.shadow.d.ts +5 -5
- package/dist/src/components/card/mono-card.d.ts +36 -32
- package/dist/src/components/card/mono-card.shadow.d.ts +32 -28
- package/dist/src/components/chart/chart-core.d.ts +30 -28
- package/dist/src/components/chart/chart-odata.d.ts +17 -16
- package/dist/src/components/chart/chart-types.d.ts +269 -248
- package/dist/src/components/chart/index.d.ts +7 -7
- package/dist/src/components/chart/index.shadow.d.ts +7 -6
- package/dist/src/components/chart/mono-chart-presets.d.ts +33 -29
- package/dist/src/components/chart/mono-chart-presets.shadow.d.ts +33 -29
- package/dist/src/components/chart/mono-chart.d.ts +13 -9
- package/dist/src/components/chart/mono-chart.shadow.d.ts +13 -9
- package/dist/src/components/chart/mono-data-chart.d.ts +4 -26
- package/dist/src/components/checkbox/checkbox-core.d.ts +39 -37
- package/dist/src/components/checkbox/checkbox-types.d.ts +59 -57
- package/dist/src/components/checkbox/checkbox-utils.d.ts +13 -11
- package/dist/src/components/checkbox/index.d.ts +4 -3
- package/dist/src/components/checkbox/index.shadow.d.ts +5 -4
- package/dist/src/components/checkbox/mono-checkbox.d.ts +21 -17
- package/dist/src/components/checkbox/mono-checkbox.shadow.d.ts +31 -27
- package/dist/src/components/chip/chip-core.d.ts +42 -40
- package/dist/src/components/chip/chip-types.d.ts +104 -102
- package/dist/src/components/chip/chip-utils.d.ts +20 -18
- package/dist/src/components/chip/index.d.ts +5 -7
- package/dist/src/components/chip/index.shadow.d.ts +6 -5
- package/dist/src/components/chip/mono-chip.d.ts +31 -27
- package/dist/src/components/chip/mono-chip.shadow.d.ts +19 -15
- package/dist/src/components/chip/mono-status-dot.d.ts +19 -17
- package/dist/src/components/date/date-core.d.ts +64 -62
- package/dist/src/components/date/date-types.d.ts +143 -141
- package/dist/src/components/date/index.d.ts +3 -2
- package/dist/src/components/date/index.shadow.d.ts +4 -3
- package/dist/src/components/date/mono-date.d.ts +12 -8
- package/dist/src/components/date/mono-date.shadow.d.ts +21 -17
- package/dist/src/components/drawer/drawer-core.d.ts +75 -73
- package/dist/src/components/drawer/drawer-types.d.ts +109 -107
- package/dist/src/components/drawer/index.d.ts +3 -2
- package/dist/src/components/drawer/index.shadow.d.ts +4 -3
- package/dist/src/components/drawer/mono-drawer.d.ts +32 -28
- package/dist/src/components/drawer/mono-drawer.shadow.d.ts +34 -31
- package/dist/src/components/dropdown/dropdown-core.d.ts +31 -29
- package/dist/src/components/dropdown/dropdown-types.d.ts +62 -60
- package/dist/src/components/dropdown/index.d.ts +3 -2
- package/dist/src/components/dropdown/index.shadow.d.ts +4 -3
- package/dist/src/components/dropdown/mono-dropdown.d.ts +23 -19
- package/dist/src/components/dropdown/mono-dropdown.shadow.d.ts +19 -15
- package/dist/src/components/dropdown-table/dropdown-table-core.d.ts +53 -51
- package/dist/src/components/dropdown-table/dropdown-table-types.d.ts +218 -216
- package/dist/src/components/dropdown-table/index.d.ts +5 -4
- package/dist/src/components/dropdown-table/index.shadow.d.ts +6 -5
- package/dist/src/components/dropdown-table/mono-data-dropdown.d.ts +119 -129
- package/dist/src/components/dropdown-table/mono-dropdown-table.d.ts +20 -16
- package/dist/src/components/dropdown-table/mono-dropdown-table.shadow.d.ts +15 -11
- package/dist/src/components/file-upload/file-upload-core.d.ts +44 -42
- package/dist/src/components/file-upload/file-upload-types.d.ts +123 -121
- package/dist/src/components/file-upload/file-upload-utils.d.ts +7 -4
- package/dist/src/components/file-upload/index.d.ts +4 -3
- package/dist/src/components/file-upload/index.shadow.d.ts +5 -4
- package/dist/src/components/file-upload/mono-file-upload.d.ts +20 -16
- package/dist/src/components/file-upload/mono-file-upload.shadow.d.ts +34 -30
- package/dist/src/components/filter/filter-builder-core.d.ts +17 -15
- package/dist/src/components/filter/filter-builder.d.ts +4 -22
- package/dist/src/components/filter/filter-odata.d.ts +3 -1
- package/dist/src/components/filter/filter-operators.d.ts +3 -1
- package/dist/src/components/filter/filter-types.d.ts +172 -170
- package/dist/src/components/filter/index.d.ts +6 -5
- package/dist/src/components/filter/index.shadow.d.ts +7 -6
- package/dist/src/components/filter/mono-filter-builder.d.ts +13 -10
- package/dist/src/components/filter/mono-filter-builder.shadow.d.ts +10 -7
- package/dist/src/components/form/form-control-core.d.ts +14 -12
- package/dist/src/components/form/form-rules.d.ts +7 -5
- package/dist/src/components/form/form-types.d.ts +214 -214
- package/dist/src/components/form/index.d.ts +5 -5
- package/dist/src/components/form/mono-form-controller.d.ts +4 -15
- package/dist/src/components/input/index.d.ts +5 -5
- package/dist/src/components/input/index.shadow.d.ts +6 -7
- package/dist/src/components/input/input-core.d.ts +73 -71
- package/dist/src/components/input/input-format.d.ts +22 -20
- package/dist/src/components/input/input-types.d.ts +167 -165
- package/dist/src/components/input/input-utils.d.ts +7 -5
- package/dist/src/components/input/mono-input.d.ts +35 -31
- package/dist/src/components/input/mono-input.shadow.d.ts +17 -13
- package/dist/src/components/menu/index.d.ts +7 -5
- package/dist/src/components/menu/index.shadow.d.ts +7 -6
- package/dist/src/components/menu/menu-core.d.ts +47 -45
- package/dist/src/components/menu/menu-render.d.ts +42 -40
- package/dist/src/components/menu/menu-types.d.ts +132 -130
- package/dist/src/components/menu/menu-utils.d.ts +16 -13
- package/dist/src/components/menu/mono-menu-list.d.ts +116 -114
- package/dist/src/components/menu/mono-menu.d.ts +30 -26
- package/dist/src/components/menu/mono-menu.shadow.d.ts +22 -18
- package/dist/src/components/modal/index.d.ts +5 -3
- package/dist/src/components/modal/index.shadow.d.ts +6 -4
- package/dist/src/components/modal/modal-core.d.ts +81 -79
- package/dist/src/components/modal/modal-types.d.ts +223 -221
- package/dist/src/components/modal/mono-modal-controller.d.ts +4 -3
- package/dist/src/components/modal/mono-modal.d.ts +32 -28
- package/dist/src/components/modal/mono-modal.shadow.d.ts +38 -35
- package/dist/src/components/nav/index.d.ts +4 -3
- package/dist/src/components/nav/index.shadow.d.ts +5 -5
- package/dist/src/components/nav/mono-nav.d.ts +28 -24
- package/dist/src/components/nav/mono-nav.shadow.d.ts +10 -7
- package/dist/src/components/nav/nav-core.d.ts +16 -14
- package/dist/src/components/nav/nav-types.d.ts +23 -22
- package/dist/src/components/nav/nav-utils.d.ts +10 -8
- package/dist/src/components/radio/index.d.ts +4 -3
- package/dist/src/components/radio/index.shadow.d.ts +5 -4
- package/dist/src/components/radio/mono-radio.d.ts +19 -15
- package/dist/src/components/radio/mono-radio.shadow.d.ts +22 -18
- package/dist/src/components/radio/radio-core.d.ts +31 -29
- package/dist/src/components/radio/radio-types.d.ts +48 -46
- package/dist/src/components/radio/radio-utils.d.ts +5 -3
- package/dist/src/components/rich-text-editor/index.d.ts +5 -4
- package/dist/src/components/rich-text-editor/index.shadow.d.ts +6 -5
- package/dist/src/components/rich-text-editor/mono-rich-text-editor.d.ts +19 -15
- package/dist/src/components/rich-text-editor/mono-rich-text-editor.shadow.d.ts +22 -19
- package/dist/src/components/rich-text-editor/rich-text-editor-core.d.ts +61 -59
- package/dist/src/components/rich-text-editor/rich-text-editor-loader.d.ts +2 -0
- package/dist/src/components/rich-text-editor/rich-text-editor-toolbar.d.ts +5 -3
- package/dist/src/components/rich-text-editor/rich-text-editor-types.d.ts +179 -177
- package/dist/src/components/select/index.d.ts +4 -3
- package/dist/src/components/select/index.shadow.d.ts +5 -4
- package/dist/src/components/select/mono-select.d.ts +58 -54
- package/dist/src/components/select/mono-select.shadow.d.ts +30 -27
- package/dist/src/components/select/select-core.d.ts +82 -80
- package/dist/src/components/select/select-types.d.ts +235 -208
- package/dist/src/components/select/select-utils.d.ts +7 -5
- package/dist/src/components/sidebar/index.d.ts +4 -3
- package/dist/src/components/sidebar/index.shadow.d.ts +5 -5
- package/dist/src/components/sidebar/mono-sidebar.d.ts +22 -18
- package/dist/src/components/sidebar/mono-sidebar.shadow.d.ts +11 -8
- package/dist/src/components/sidebar/sidebar-core.d.ts +33 -31
- package/dist/src/components/sidebar/sidebar-types.d.ts +77 -75
- package/dist/src/components/sidebar/sidebar-utils.d.ts +28 -26
- package/dist/src/components/switch/index.d.ts +4 -3
- package/dist/src/components/switch/index.shadow.d.ts +5 -4
- package/dist/src/components/switch/mono-switch.d.ts +19 -15
- package/dist/src/components/switch/mono-switch.shadow.d.ts +23 -19
- package/dist/src/components/switch/switch-core.d.ts +35 -33
- package/dist/src/components/switch/switch-types.d.ts +55 -53
- package/dist/src/components/switch/switch-utils.d.ts +5 -3
- package/dist/src/components/table/array-source.d.ts +31 -29
- package/dist/src/components/table/date-filter-tree.d.ts +25 -23
- package/dist/src/components/table/grouping.d.ts +22 -20
- package/dist/src/components/table/index.d.ts +28 -32
- package/dist/src/components/table/index.shadow.d.ts +34 -46
- package/dist/src/components/table/mono-data-grid.d.ts +1447 -1456
- package/dist/src/components/table/mono-table-checkbox-core.d.ts +34 -32
- package/dist/src/components/table/mono-table-checkbox.d.ts +12 -8
- package/dist/src/components/table/mono-table-checkbox.shadow.d.ts +16 -12
- package/dist/src/components/table/mono-table-detail-core.d.ts +29 -27
- package/dist/src/components/table/mono-table-detail.d.ts +12 -8
- package/dist/src/components/table/mono-table-detail.shadow.d.ts +13 -9
- package/dist/src/components/table/mono-table-empty-core.d.ts +24 -22
- package/dist/src/components/table/mono-table-empty.d.ts +17 -13
- package/dist/src/components/table/mono-table-empty.shadow.d.ts +22 -18
- package/dist/src/components/table/mono-table-error-core.d.ts +24 -22
- package/dist/src/components/table/mono-table-error.d.ts +12 -8
- package/dist/src/components/table/mono-table-error.shadow.d.ts +15 -11
- package/dist/src/components/table/mono-table-info-core.d.ts +6 -4
- package/dist/src/components/table/mono-table-info.d.ts +12 -8
- package/dist/src/components/table/mono-table-info.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-loading-core.d.ts +7 -5
- package/dist/src/components/table/mono-table-loading.d.ts +12 -8
- package/dist/src/components/table/mono-table-loading.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-page-size-core.d.ts +7 -5
- package/dist/src/components/table/mono-table-page-size.d.ts +12 -8
- package/dist/src/components/table/mono-table-page-size.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-paging-core.d.ts +16 -14
- package/dist/src/components/table/mono-table-paging-group-core.d.ts +10 -8
- package/dist/src/components/table/mono-table-paging-group.d.ts +12 -8
- package/dist/src/components/table/mono-table-paging-group.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-paging.d.ts +12 -8
- package/dist/src/components/table/mono-table-paging.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-search-core.d.ts +51 -49
- package/dist/src/components/table/mono-table-search.d.ts +25 -22
- package/dist/src/components/table/mono-table-search.shadow.d.ts +12 -9
- package/dist/src/components/table/mono-table-sort-core.d.ts +16 -14
- package/dist/src/components/table/mono-table-sort.d.ts +21 -18
- package/dist/src/components/table/mono-table-sort.shadow.d.ts +11 -8
- package/dist/src/components/table/mono-table-summary-core.d.ts +9 -7
- package/dist/src/components/table/mono-table-summary.d.ts +12 -8
- package/dist/src/components/table/mono-table-summary.shadow.d.ts +9 -5
- package/dist/src/components/table/mono-table-th-core.d.ts +23 -21
- package/dist/src/components/table/mono-table-th.d.ts +21 -18
- package/dist/src/components/table/mono-table-th.shadow.d.ts +11 -8
- package/dist/src/components/table/store-group-source.d.ts +14 -12
- package/dist/src/components/table/table-controller-core.d.ts +17 -15
- package/dist/src/components/table/table-filter-icons.d.ts +3 -1
- package/dist/src/components/table/table-menu-core.d.ts +40 -38
- package/dist/src/components/table/table-overlay.d.ts +43 -41
- package/dist/src/components/table/table-sort-icons.d.ts +4 -2
- package/dist/src/components/table/table-sort-utils.d.ts +3 -1
- package/dist/src/components/table/table-types.d.ts +391 -400
- package/dist/src/components/tabs/index.d.ts +3 -2
- package/dist/src/components/tabs/index.shadow.d.ts +4 -3
- package/dist/src/components/tabs/mono-tabs.d.ts +21 -17
- package/dist/src/components/tabs/mono-tabs.shadow.d.ts +21 -17
- package/dist/src/components/tabs/tabs-core.d.ts +36 -34
- package/dist/src/components/tabs/tabs-types.d.ts +48 -46
- package/dist/src/components/tag-input/index.d.ts +5 -3
- package/dist/src/components/tag-input/index.shadow.d.ts +6 -4
- package/dist/src/components/tag-input/mono-tag-input.d.ts +56 -52
- package/dist/src/components/tag-input/mono-tag-input.shadow.d.ts +41 -38
- package/dist/src/components/tag-input/tag-input-core.d.ts +95 -93
- package/dist/src/components/tag-input/tag-input-types.d.ts +350 -327
- package/dist/src/components/tag-input/tag-input-utils.d.ts +7 -5
- package/dist/src/components/textarea/index.d.ts +4 -3
- package/dist/src/components/textarea/index.shadow.d.ts +5 -4
- package/dist/src/components/textarea/mono-textarea.d.ts +19 -15
- package/dist/src/components/textarea/mono-textarea.shadow.d.ts +19 -16
- package/dist/src/components/textarea/textarea-core.d.ts +48 -46
- package/dist/src/components/textarea/textarea-types.d.ts +120 -118
- package/dist/src/components/textarea/textarea-utils.d.ts +7 -5
- package/dist/src/components/tooltip/control-tooltip.d.ts +3 -1
- package/dist/src/components/tooltip/index.d.ts +6 -5
- package/dist/src/components/tooltip/tooltip-config.d.ts +17 -15
- package/dist/src/components/tooltip/tooltip-declarative.d.ts +3 -1
- package/dist/src/components/tooltip/tooltip-loader.d.ts +2 -0
- package/dist/src/components/tooltip/tooltip-types.d.ts +74 -72
- package/dist/src/composables/breakpoints.d.ts +9 -7
- package/dist/src/composables/chip-limits.d.ts +12 -10
- package/dist/src/composables/chip-strip.d.ts +91 -89
- package/dist/src/composables/color.d.ts +6 -4
- package/dist/src/composables/css-class.d.ts +4 -2
- package/dist/src/composables/css-size.d.ts +9 -7
- package/dist/src/composables/data-source-controller.d.ts +90 -59
- package/dist/src/composables/element-props.d.ts +3 -3
- package/dist/src/composables/field-icons.d.ts +11 -1
- package/dist/src/composables/hybird-prop.d.ts +10 -8
- package/dist/src/composables/hydration-flush.d.ts +16 -14
- package/dist/src/composables/icon.d.ts +3 -1
- package/dist/src/composables/layout-var.d.ts +2 -0
- package/dist/src/composables/light-slots.d.ts +34 -32
- package/dist/src/composables/mdi-glyphs.d.ts +2 -0
- package/dist/src/composables/mono-element.d.ts +3 -1
- package/dist/src/composables/mono-event.d.ts +15 -13
- package/dist/src/composables/mono-pending.d.ts +4 -2
- package/dist/src/composables/mono-skeleton.d.ts +100 -98
- package/dist/src/composables/mono-ui.d.ts +17 -18
- package/dist/src/composables/notifier.d.ts +20 -18
- package/dist/src/composables/popup-portal.d.ts +177 -175
- package/dist/src/composables/popup-stack.d.ts +36 -34
- package/dist/src/composables/rate-limit.d.ts +33 -31
- package/dist/src/composables/reactive.d.ts +3 -1
- package/dist/src/composables/shadow-css.d.ts +17 -15
- package/dist/src/composables/visibility.d.ts +6 -4
- package/dist/src/data/theme/index.d.ts +9 -7
- package/dist/src/data/theme/presets.d.ts +64 -62
- package/dist/src/entries/index.d.ts +36 -1
- package/dist/src/entries/index.node.d.ts +34 -41
- package/dist/src/entries/search.d.ts +2 -2
- package/dist/src/export/detail.d.ts +14 -12
- package/dist/src/export/download.d.ts +2 -0
- package/dist/src/export/excel/index.d.ts +13 -11
- package/dist/src/export/excel/nodes.d.ts +95 -93
- package/dist/src/export/expression.d.ts +3 -1
- package/dist/src/export/helpers.d.ts +3 -1
- package/dist/src/export/index.d.ts +6 -4
- package/dist/src/export/markdown.d.ts +19 -17
- package/dist/src/export/resolve-data.d.ts +3 -1
- package/dist/src/export/sentinel.d.ts +32 -30
- package/dist/src/export/sheet-name.d.ts +7 -5
- package/dist/src/export/styles.d.ts +13 -11
- package/dist/src/export/template.d.ts +3 -1
- package/dist/src/export/types.d.ts +224 -222
- package/dist/src/import/coerce.d.ts +5 -3
- package/dist/src/import/index.d.ts +12 -10
- package/dist/src/import/match.d.ts +20 -18
- package/dist/src/import/parse.d.ts +5 -3
- package/dist/src/import/types.d.ts +125 -123
- package/dist/src/nuxt/index.d.ts +92 -90
- package/dist/src/search/data-search.d.ts +92 -90
- package/dist/src/search/field-path.d.ts +10 -8
- package/dist/src/search/filter-eval.d.ts +2 -0
- package/dist/src/search/index.d.ts +6 -22
- package/dist/src/search/odata-search.d.ts +9 -7
- package/dist/src/search/search-expr.d.ts +16 -14
- package/dist/src/utils/data-source-apply.d.ts +11 -9
- package/dist/src/utils/data-source-options.d.ts +37 -35
- package/dist/src/utils/data-source-read.d.ts +40 -54
- package/dist/src/utils/data-source-summary.d.ts +8 -7
- package/dist/src/utils/normalize-error.d.ts +41 -9
- package/dist/src/vite/index.d.ts +34 -34
- package/dist/src/vite/mono-client-only.d.ts +34 -32
- package/dist/src/vite/mono-ssr-stub.d.ts +8 -6
- package/dist/src/vite/shadow-manifest.d.ts +2 -0
- package/dist/{styles-BIJ31TM4.js → styles-D-ergrfR.js} +417 -207
- package/dist/{tooltip-CysgRgBi.js → tooltip-FCMRUSLi.js} +94 -52
- package/dist/tooltip.js +3 -2
- package/dist/ui/accordion.js +16 -12
- package/dist/ui/alert.js +21 -14
- package/dist/ui/breadcrumb.js +28 -18
- package/dist/ui/button-dropdown.js +18 -14
- package/dist/ui/button.js +4 -2
- package/dist/ui/card.js +31 -13
- package/dist/ui/chart.js +107 -25
- package/dist/ui/checkbox.js +17 -12
- package/dist/ui/chip.js +19 -12
- package/dist/ui/date.js +19 -15
- package/dist/ui/drawer.js +26 -20
- package/dist/ui/dropdown-table.js +39 -30
- package/dist/ui/dropdown.js +19 -15
- package/dist/ui/file-upload.js +22 -17
- package/dist/ui/filter.js +18 -14
- package/dist/ui/form.js +4 -3
- package/dist/ui/index.css +1233 -2194
- package/dist/ui/input.js +24 -17
- package/dist/ui/menu.js +32 -20
- package/dist/ui/modal.js +34 -26
- package/dist/ui/nav.js +21 -15
- package/dist/ui/radio.js +17 -12
- package/dist/ui/rich-text-editor.js +34 -28
- package/dist/ui/select.js +181 -41
- package/dist/ui/shadow/accordion.js +13 -9
- package/dist/ui/shadow/alert.js +13 -9
- package/dist/ui/shadow/breadcrumb.js +23 -14
- package/dist/ui/shadow/button-dropdown.js +17 -13
- package/dist/ui/shadow/button.js +4 -2
- package/dist/ui/shadow/card.js +30 -11
- package/dist/ui/shadow/chart.js +163 -40
- package/dist/ui/shadow/checkbox.js +13 -9
- package/dist/ui/shadow/chip.js +16 -10
- package/dist/ui/shadow/date.js +19 -12
- package/dist/ui/shadow/drawer.js +22 -16
- package/dist/ui/shadow/dropdown-table.js +39 -28
- package/dist/ui/shadow/dropdown.js +15 -11
- package/dist/ui/shadow/file-upload.js +26 -19
- package/dist/ui/shadow/filter.js +17 -13
- package/dist/ui/shadow/input.js +20 -14
- package/dist/ui/shadow/menu.js +24 -14
- package/dist/ui/shadow/modal.js +36 -27
- package/dist/ui/shadow/nav.js +18 -12
- package/dist/ui/shadow/radio.js +15 -10
- package/dist/ui/shadow/rich-text-editor.js +32 -26
- package/dist/ui/shadow/select.js +179 -39
- package/dist/ui/shadow/sidebar.js +23 -16
- package/dist/ui/shadow/switch.js +15 -10
- package/dist/ui/shadow/table.js +123 -84
- package/dist/ui/shadow/tabs.js +12 -8
- package/dist/ui/shadow/tag-input.js +186 -52
- package/dist/ui/shadow/textarea.js +17 -12
- package/dist/ui/sidebar.js +27 -20
- package/dist/ui/switch.js +17 -12
- package/dist/ui/table.js +129 -87
- package/dist/ui/tabs.js +15 -11
- package/dist/ui/tag-input.js +182 -48
- package/dist/ui/textarea.js +19 -14
- package/dist/{vite-C5iUK7so.js → vite-DcyRlTTf.js} +17 -9
- package/dist/vite.js +3 -2
- package/package.json +15 -14
- package/dist/checkbox-Cqpie9Ap.js +0 -4
- package/dist/chip-DBUUa2eB.js +0 -4
- package/dist/data/theme/presets.json.d.ts +0 -140
- package/dist/export.d.ts +0 -1
- package/dist/hydration-flush-RB5Tz5nl.js +0 -1001
- package/dist/import.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.node.d.ts +0 -1
- package/dist/input-zGOULADt.js +0 -4
- package/dist/mono-button-CoVnBLav.js +0 -873
- package/dist/mono-button.shadow-FfP_hMH4.js +0 -784
- package/dist/nuxt.d.ts +0 -1
- package/dist/search.d.ts +0 -1
- package/dist/tooltip.d.ts +0 -1
- package/dist/ui/accordion.d.ts +0 -1
- package/dist/ui/alert.d.ts +0 -1
- package/dist/ui/breadcrumb.d.ts +0 -1
- package/dist/ui/button-dropdown.d.ts +0 -1
- package/dist/ui/button.d.ts +0 -1
- package/dist/ui/card.d.ts +0 -1
- package/dist/ui/chart.d.ts +0 -1
- package/dist/ui/checkbox.d.ts +0 -1
- package/dist/ui/chip.d.ts +0 -1
- package/dist/ui/date.d.ts +0 -1
- package/dist/ui/drawer.d.ts +0 -1
- package/dist/ui/dropdown-table.d.ts +0 -1
- package/dist/ui/dropdown.d.ts +0 -1
- package/dist/ui/file-upload.d.ts +0 -1
- package/dist/ui/filter.d.ts +0 -1
- package/dist/ui/form.d.ts +0 -1
- package/dist/ui/input.d.ts +0 -1
- package/dist/ui/menu.d.ts +0 -1
- package/dist/ui/modal.d.ts +0 -1
- package/dist/ui/nav.d.ts +0 -1
- package/dist/ui/radio.d.ts +0 -1
- package/dist/ui/rich-text-editor.d.ts +0 -1
- package/dist/ui/select.d.ts +0 -1
- package/dist/ui/sidebar.d.ts +0 -1
- package/dist/ui/switch.d.ts +0 -1
- package/dist/ui/table.d.ts +0 -1
- package/dist/ui/tabs.d.ts +0 -1
- package/dist/ui/tag-input.d.ts +0 -1
- package/dist/ui/textarea.d.ts +0 -1
- package/dist/vite.d.ts +0 -1
package/LICENSE.md
CHANGED
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
# MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 YCEJ9999
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## Third-party software
|
|
26
|
-
|
|
27
|
-
The MIT License above covers only the code written for this package. It does
|
|
28
|
-
**not** cover third-party packages these libraries depend on or work with. Each of
|
|
29
|
-
those keeps its own license.
|
|
30
|
-
|
|
31
|
-
### DevExtreme
|
|
32
|
-
|
|
33
|
-
**DevExtreme** is a product of **Developer Express Inc. ("DevExpress")** and is
|
|
34
|
-
licensed by DevExpress under its own terms, not by the copyright holder of this
|
|
35
|
-
package. `@mono-lit/helper` does not include or depend on DevExtreme. It can work with
|
|
36
|
-
DevExtreme data sources that your application supplies (for example from
|
|
37
|
-
`@mono-lit/devextreme`). If you use DevExtreme with it:
|
|
38
|
-
|
|
39
|
-
- this package does **not** provide, sublicense, transfer or grant any DevExtreme
|
|
40
|
-
license;
|
|
41
|
-
- you are responsible for obtaining a valid DevExtreme license from DevExpress and
|
|
42
|
-
for complying with its End User License Agreement;
|
|
43
|
-
- DevExpress's license terms, not this file, govern your use of DevExtreme.
|
|
44
|
-
|
|
45
|
-
Official DevExpress licensing information:
|
|
46
|
-
|
|
47
|
-
- DevExtreme licensing: https://js.devexpress.com/Licensing/
|
|
48
|
-
- DevExtreme EULA: https://js.devexpress.com/EULAs/DevExtremeComplete/
|
|
49
|
-
|
|
50
|
-
For setting up your license key, see
|
|
51
|
-
[../devextreme/README.md](../devextreme/README.md).
|
|
52
|
-
|
|
53
|
-
"DevExpress" and "DevExtreme" are trademarks or registered trademarks of
|
|
54
|
-
Developer Express Inc. This project is not affiliated with or endorsed by
|
|
55
|
-
DevExpress.
|
|
1
|
+
# MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 YCEJ9999
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Third-party software
|
|
26
|
+
|
|
27
|
+
The MIT License above covers only the code written for this package. It does
|
|
28
|
+
**not** cover third-party packages these libraries depend on or work with. Each of
|
|
29
|
+
those keeps its own license.
|
|
30
|
+
|
|
31
|
+
### DevExtreme
|
|
32
|
+
|
|
33
|
+
**DevExtreme** is a product of **Developer Express Inc. ("DevExpress")** and is
|
|
34
|
+
licensed by DevExpress under its own terms, not by the copyright holder of this
|
|
35
|
+
package. `@mono-lit/helper` does not include or depend on DevExtreme. It can work with
|
|
36
|
+
DevExtreme data sources that your application supplies (for example from
|
|
37
|
+
`@mono-lit/devextreme`). If you use DevExtreme with it:
|
|
38
|
+
|
|
39
|
+
- this package does **not** provide, sublicense, transfer or grant any DevExtreme
|
|
40
|
+
license;
|
|
41
|
+
- you are responsible for obtaining a valid DevExtreme license from DevExpress and
|
|
42
|
+
for complying with its End User License Agreement;
|
|
43
|
+
- DevExpress's license terms, not this file, govern your use of DevExtreme.
|
|
44
|
+
|
|
45
|
+
Official DevExpress licensing information:
|
|
46
|
+
|
|
47
|
+
- DevExtreme licensing: https://js.devexpress.com/Licensing/
|
|
48
|
+
- DevExtreme EULA: https://js.devexpress.com/EULAs/DevExtremeComplete/
|
|
49
|
+
|
|
50
|
+
For setting up your license key, see
|
|
51
|
+
[../devextreme/README.md](../devextreme/README.md).
|
|
52
|
+
|
|
53
|
+
"DevExpress" and "DevExtreme" are trademarks or registered trademarks of
|
|
54
|
+
Developer Express Inc. This project is not affiliated with or endorsed by
|
|
55
|
+
DevExpress.
|
package/README.md
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# @mono-lit/helper
|
|
2
|
-
|
|
3
|
-
Lit web components (tables, forms, inputs, dialogs, charts, …) for Vue and Nuxt. Every component ships a light-DOM build (`@mono-lit/helper/ui/<name>`) and a shadow-DOM build (`@mono-lit/helper/ui/shadow/<name>`).
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
**From npmjs (public):**
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
pnpm add @mono-lit/helper
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
**From the Netlify registry:** add this to your project's `.npmrc`, then run the same `pnpm add`:
|
|
14
|
-
|
|
15
|
-
```ini
|
|
16
|
-
@mono-lit:registry=https://mono-libs.netlify.app/npm/
|
|
17
|
-
//mono-libs.netlify.app/npm/:_authToken=<REGISTRY_DOWNLOAD_TOKEN>
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Optional peers are only needed for the features that use them: `chart.js` (chart), `suneditor` (rich-text editor), `exceljs` / `handlebars` (table export), plus `@floating-ui/dom`, `vue`, `vite` and `@nuxt/kit` for their integrations.
|
|
21
|
-
|
|
22
|
-
## Usage
|
|
23
|
-
|
|
24
|
-
```ts
|
|
25
|
-
import '@mono-lit/helper/index.css'
|
|
26
|
-
import '@mono-lit/helper/ui/button'
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
```html
|
|
30
|
-
<mono-button>Save</mono-button>
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## License
|
|
34
|
-
|
|
35
|
-
MIT. See the [repository](https://github.com/mono-lit/core) for full documentation.
|
|
1
|
+
# @mono-lit/helper
|
|
2
|
+
|
|
3
|
+
Lit web components (tables, forms, inputs, dialogs, charts, …) for Vue and Nuxt. Every component ships a light-DOM build (`@mono-lit/helper/ui/<name>`) and a shadow-DOM build (`@mono-lit/helper/ui/shadow/<name>`).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
**From npmjs (public):**
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm add @mono-lit/helper
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
**From the Netlify registry:** add this to your project's `.npmrc`, then run the same `pnpm add`:
|
|
14
|
+
|
|
15
|
+
```ini
|
|
16
|
+
@mono-lit:registry=https://mono-libs.netlify.app/npm/
|
|
17
|
+
//mono-libs.netlify.app/npm/:_authToken=<REGISTRY_DOWNLOAD_TOKEN>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Optional peers are only needed for the features that use them: `chart.js` (chart), `suneditor` (rich-text editor), `exceljs` / `handlebars` (table export), plus `@floating-ui/dom`, `vue`, `vite` and `@nuxt/kit` for their integrations.
|
|
21
|
+
|
|
22
|
+
## Usage
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
import '@mono-lit/helper/index.css'
|
|
26
|
+
import '@mono-lit/helper/ui/button'
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
```html
|
|
30
|
+
<mono-button>Save</mono-button>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## License
|
|
34
|
+
|
|
35
|
+
MIT. See the [repository](https://github.com/mono-lit/core) for full documentation.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isServer } from "lit";
|
|
2
|
+
|
|
2
3
|
//#region src/composables/breakpoints.ts
|
|
3
4
|
/**
|
|
4
5
|
* Shared viewport breakpoints — Tailwind's values, so `auto-fullscreen="lg"` in a
|
|
@@ -13,15 +14,15 @@ import { isServer } from "lit";
|
|
|
13
14
|
* `sidebar-utils.ts` keeps its own `SIDEBAR_AUTO_BREAKPOINT = 768` deliberately —
|
|
14
15
|
* re-pointing it here would silently change the sidebar's auto-temporary threshold.
|
|
15
16
|
*/
|
|
16
|
-
|
|
17
|
+
const MONO_BREAKPOINTS = {
|
|
17
18
|
sm: 640,
|
|
18
19
|
md: 768,
|
|
19
20
|
lg: 1024,
|
|
20
21
|
xl: 1280,
|
|
21
22
|
"2xl": 1536
|
|
22
23
|
};
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
const TOKENS = Object.keys(MONO_BREAKPOINTS);
|
|
25
|
+
let warned = false;
|
|
25
26
|
/**
|
|
26
27
|
* Normalise the prop to the breakpoint it should act at, or `null` when off.
|
|
27
28
|
*
|
|
@@ -49,7 +50,7 @@ function resolveAutoFullscreen(value) {
|
|
|
49
50
|
* non-string guard: nuxt-ssr-lit forwards the raw PROPERTY value into
|
|
50
51
|
* `fromAttribute`, so a real boolean can arrive here instead of a string.
|
|
51
52
|
*/
|
|
52
|
-
|
|
53
|
+
const autoFullscreenConverter = {
|
|
53
54
|
fromAttribute(value) {
|
|
54
55
|
if (value === null || value === void 0) return false;
|
|
55
56
|
if (typeof value === "boolean") return value;
|
|
@@ -80,5 +81,6 @@ function isBelowBreakpoint(bp) {
|
|
|
80
81
|
if (typeof window.matchMedia !== "function") return false;
|
|
81
82
|
return window.matchMedia(`(max-width: ${MONO_BREAKPOINTS[bp] - .02}px)`).matches;
|
|
82
83
|
}
|
|
84
|
+
|
|
83
85
|
//#endregion
|
|
84
|
-
export { isBelowBreakpoint as n, resolveAutoFullscreen as r, autoFullscreenConverter as t };
|
|
86
|
+
export { isBelowBreakpoint as n, resolveAutoFullscreen as r, autoFullscreenConverter as t };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//#region \0raw:C:\Users\VCT-DEV\Desktop\libs\packages\helper\src\components\checkbox\checkbox.css?raw.js
|
|
2
|
+
var checkbox_css_raw_default = "/* =========================================================================\r\n mono-checkbox — a port of Basecoat's `.input[type='checkbox']` and the\r\n `.label` beside it (basecoat-css@1.0.2, vega style).\r\n\r\n Styled by ATTRIBUTE, like Basecoat — and the attributes mirror the element's\r\n props one for one, so hand-written markup reads like the Lit / Vue tag:\r\n\r\n <mono-checkbox size=\"sm\" color=\"danger\" label=\"Agree\" model-value>\r\n <label mono-checkbox mono-size=\"sm\" mono-color=\"danger\">\r\n <input mono-input type=\"checkbox\" checked />\r\n <span mono-box aria-hidden=\"true\"></span>\r\n <span mono-label><span mono-label-text>Agree</span></span>\r\n </label>\r\n\r\n An absent attribute is the prop's default (`:not([mono-size])` = md,\r\n `:not([mono-color])` = primary). The element renders these attributes on its\r\n root <label> (both builds) plus the STATES `mono-checked` / `mono-indeterminate`\r\n / `mono-loading`; hand-written markup may rely on the native input's `:checked`\r\n / `:indeterminate` instead — every state rule reads both. The old classes\r\n (`.mono-checkbox.sm.mono-checkbox-checked`) are still emitted as inert hooks\r\n until 2.0 but no rule here reads them.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-checkbox] ≡ .label (flex gap-2 text-sm font-medium leading-snug select-none)\r\n :where([mono-checkbox]) > [mono-box] ≡ .input[type='checkbox'] (size-4 rounded-[4px] border-input shadow-xs; the real input is visually hidden)\r\n [mono-checked] / [mono-input]:checked ≡ :checked (bg-primary border-primary text-primary-foreground + the --check-icon mask)\r\n [mono-indeterminate] / :indeterminate ≡ EXTENSION (the same fill, a dash instead of the check)\r\n [mono-input]:focus-visible + [mono-box] ≡ focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\r\n [mono-invalid] / [mono-input][aria-invalid] ≡ aria-invalid:border-destructive aria-invalid:ring-destructive/20\r\n [mono-disabled] / [mono-input]:disabled ≡ disabled:opacity-50 cursor-not-allowed\r\n [mono-label-text] ≡ .label text\r\n [mono-description] ≡ .field > p (text-sm text-muted-foreground)\r\n [mono-size=\"xs|sm|lg|xl|xxl\"] ≡ EXTENSION — the box is 4/9 of the --mono-control-height-* step\r\n (16px at vega md), label / description / gap step with it\r\n [mono-color=\"…\"] ≡ EXTENSION (the checked fill in the role's colour)\r\n [mono-loading] ≡ EXTENSION (a spinner on the accent-filled box)\r\n\r\n Specificity contract (same as the pre-port class sheet): a part's RESTING rule is\r\n exactly one attribute strong — `:where([mono-checkbox]) [mono-box]` = (0,1,0) —\r\n so a utility class handed in through `cssClass` (`rounded-3`, `font-800`, …)\r\n wins by source order, while state rules (checked / indeterminate / focus /\r\n invalid / disabled, keyed on the root or the native input) stay heavier and\r\n win over it, as they always did.\r\n\r\n Inner parts: [mono-input], [mono-box] (+ [mono-custom-icon] / [mono-custom-\r\n indeterminate-icon] when a custom glyph replaces the default), [mono-icon] /\r\n [mono-indeterminate-icon] (the custom glyph wrappers), [mono-spinner],\r\n [mono-label] > [mono-label-text] / [mono-description]. The shadow build marks\r\n an unassigned slot wrapper [mono-empty].\r\n\r\n The box sits on the label's CAP BAND (see `--_mono-checkbox-line-offset`):\r\n mono's own alignment rule, kept — Basecoat centres a lone checkbox on its\r\n line box with `items-center`, which is the same thing for a one-line label and\r\n drifts for a described one.\r\n\r\n FLAVORS set `--mono-checkbox-{radius,shadow,ring-width,ring-alpha,bg,border-color}`\r\n (the per-style `.input[type='checkbox']` deltas); every fallback here is vega's\r\n value (`node scripts/basecoat-styles.mjs --varying \"input\\[type='checkbox'\\]\"`).\r\n ========================================================================= */\r\n\r\nmono-checkbox {\r\n display: inline-block;\r\n}\r\n\r\n[mono-checkbox] {\r\n /* ── palette: each slot is a public knob over a Basecoat token ─────────── */\r\n --_mono-checkbox-text: var(--mono-checkbox-text, var(--foreground));\r\n --_mono-checkbox-description: var(--mono-checkbox-description, var(--muted-foreground));\r\n --_mono-checkbox-primary: var(--mono-checkbox-primary, var(--primary));\r\n --_mono-checkbox-primary-foreground: var(--mono-checkbox-primary-foreground, var(--primary-foreground));\r\n --_mono-checkbox-accent: var(--mono-checkbox-accent, var(--_mono-checkbox-accent-preset, var(--_mono-checkbox-primary)));\r\n --_mono-checkbox-icon: var(--mono-checkbox-icon, var(--_mono-checkbox-icon-preset, var(--_mono-checkbox-primary-foreground)));\r\n --_mono-checkbox-border-color: var(--mono-checkbox-border, var(--mono-checkbox-border-color, var(--input)));\r\n --_mono-checkbox-bg: var(--mono-checkbox-bg, var(--mono-mode-surface));\r\n --_mono-checkbox-shadow: var(--mono-checkbox-shadow, var(--mono-shadow-xs));\r\n --_mono-checkbox-radius: var(--mono-checkbox-radius, 4px);\r\n --_mono-checkbox-border-width: var(--mono-checkbox-border-width, var(--mono-border-width));\r\n --_mono-checkbox-ring-color: var(--mono-checkbox-ring-color, var(--ring));\r\n --_mono-checkbox-ring-width: var(--mono-checkbox-ring-width, var(--mono-ring-width));\r\n --_mono-checkbox-ring-alpha: var(--mono-checkbox-ring-alpha, var(--mono-ring-alpha));\r\n\r\n /* ── md metrics live on the unqualified root ON PURPOSE ────────────────────\r\n basecoat@1.0.2 styles/vega.css .input[type='checkbox'] — size-4 (= 4/9 of the\r\n h-9 control); .field > label, .label — gap-2 text-sm leading-snug */\r\n --_mono-checkbox-control: var(--mono-checkbox-size-md, calc(var(--mono-control-height-md) * 4 / 9));\r\n --_mono-checkbox-gap: var(--mono-checkbox-gap, var(--mono-checkbox-gap-md, calc(var(--mono-spacing) * 2)));\r\n --_mono-checkbox-label-font: var(--mono-checkbox-label-font-md, var(--mono-text-sm));\r\n --_mono-checkbox-description-font: var(--mono-checkbox-description-font-md, 0.8125rem);\r\n --_mono-checkbox-glyph: var(--mono-checkbox-glyph, 87.5%);\r\n\r\n /* ── whole pixels ────────────────────────────────────────────────────────\r\n The box is a ratio of the control step, so it lands on a fraction (18.39px,\r\n 17.77px…). A fractional round shape is antialiased on every edge — the\r\n switch thumb, which parks flush against the track's cap, picked up a dark\r\n rim that changed with the flavor and the screen's pixel ratio. Snap the\r\n derived size to 1px; `round()` has the same browser floor as `color-mix()`\r\n and `:has()`, which this sheet already requires. Snapping happens HERE, at\r\n one place per value, so the per-size blocks stay plain arithmetic. */\r\n --_mono-checkbox-control-px: round(nearest, var(--_mono-checkbox-control), 1px);\r\n\r\n /* ── alignment with the label ────────────────────────────────────────────\r\n The box is centred on the label's CAP BAND — the ink the eye reads, not the\r\n line box. `-optical-shift` is the measured correction (the line box carries\r\n descender space the capitals never fill); `-optical-nudge` absorbs the\r\n whole-pixel rounding of a font's ascent per size. See the pairing spec. */\r\n --_mono-checkbox-label-line-height: var(--mono-checkbox-label-line-height, var(--mono-leading-snug));\r\n --_mono-checkbox-optical-shift: 0.045;\r\n --_mono-checkbox-optical-nudge: 0px;\r\n --_mono-checkbox-line-offset: calc(\r\n (var(--_mono-checkbox-label-font) * var(--_mono-checkbox-label-line-height) - var(--_mono-checkbox-control-px)) / 2 +\r\n var(--_mono-checkbox-label-font) * var(--_mono-checkbox-optical-shift) + var(--_mono-checkbox-optical-nudge)\r\n );\r\n\r\n /* The element build nests this root inside its host, so it is never itself a\r\n grid or flex item and shrink-wraps its content. Hand-written markup usually\r\n IS the item (a radio in a `display: grid` list), and an item blockifies —\r\n `inline-flex` becomes `flex` and the row stretches to the widest sibling,\r\n wrapping its label at a different point than the element's. `fit-content`\r\n keeps both shapes shrink-wrapped; a consumer who wants a full-width row\r\n still sets a width. */\r\n width: fit-content;\r\n display: inline-flex;\r\n align-items: flex-start;\r\n gap: var(--_mono-checkbox-gap);\r\n position: relative;\r\n vertical-align: top;\r\n cursor: pointer;\r\n user-select: none;\r\n font-family: inherit;\r\n color: var(--_mono-checkbox-text);\r\n}\r\n\r\n[mono-checkbox],\r\n:where([mono-checkbox]) *,\r\n:where([mono-checkbox]) *::before,\r\n:where([mono-checkbox]) *::after {\r\n box-sizing: border-box;\r\n}\r\n\r\n:where([mono-checkbox]) :is([mono-label], [mono-label-text], [mono-description])[mono-empty] {\r\n display: none;\r\n}\r\n\r\n/* the box seats on the first line of a label that is actually there; a bare\r\n box (what mono-table-checkbox emits) stays flush at the top */\r\n[mono-checkbox]:has([mono-label-text]:not([mono-empty])) > [mono-box] {\r\n margin-top: var(--_mono-checkbox-line-offset, 0px);\r\n}\r\n\r\n/* =========================================\r\n Sizes — EXTENSION: the box is 4/9 of the control step (vega md: 36 × 4/9 = 16px),\r\n label, description and gap step with it (md = Basecoat's text-sm / gap-2)\r\n ========================================= */\r\n\r\n[mono-checkbox][mono-size=\"xs\"] {\r\n --_mono-checkbox-control: var(--mono-checkbox-size-xs, calc(var(--mono-control-height-xs) * 4 / 9));\r\n --_mono-checkbox-gap: var(--mono-checkbox-gap, var(--mono-checkbox-gap-xs, calc(var(--mono-spacing) * 1.25)));\r\n --_mono-checkbox-label-font: var(--mono-checkbox-label-font-xs, var(--mono-text-xs));\r\n --_mono-checkbox-description-font: var(--mono-checkbox-description-font-xs, 0.6875rem);\r\n}\r\n\r\n[mono-checkbox][mono-size=\"sm\"] {\r\n --_mono-checkbox-control: var(--mono-checkbox-size-sm, calc(var(--mono-control-height-sm) * 4 / 9));\r\n --_mono-checkbox-gap: var(--mono-checkbox-gap, var(--mono-checkbox-gap-sm, calc(var(--mono-spacing) * 1.5)));\r\n --_mono-checkbox-label-font: var(--mono-checkbox-label-font-sm, 0.8125rem);\r\n --_mono-checkbox-description-font: var(--mono-checkbox-description-font-sm, var(--mono-text-xs));\r\n}\r\n\r\n[mono-checkbox][mono-size=\"lg\"] {\r\n --_mono-checkbox-control: var(--mono-checkbox-size-lg, calc(var(--mono-control-height-lg) * 4 / 9));\r\n --_mono-checkbox-gap: var(--mono-checkbox-gap, var(--mono-checkbox-gap-lg, calc(var(--mono-spacing) * 2.5)));\r\n --_mono-checkbox-label-font: var(--mono-checkbox-label-font-lg, var(--mono-text-base));\r\n --_mono-checkbox-description-font: var(--mono-checkbox-description-font-lg, var(--mono-text-sm));\r\n /* 16px text rounds its ascent such that the box lands ~0.35px low */\r\n --_mono-checkbox-optical-nudge: -0.35px;\r\n}\r\n\r\n[mono-checkbox][mono-size=\"xl\"] {\r\n --_mono-checkbox-control: var(--mono-checkbox-size-xl, calc(var(--mono-control-height-xl) * 4 / 9));\r\n --_mono-checkbox-gap: var(--mono-checkbox-gap, var(--mono-checkbox-gap-xl, calc(var(--mono-spacing) * 3)));\r\n --_mono-checkbox-label-font: var(--mono-checkbox-label-font-xl, var(--mono-text-lg));\r\n --_mono-checkbox-description-font: var(--mono-checkbox-description-font-xl, var(--mono-text-base));\r\n}\r\n\r\n[mono-checkbox][mono-size=\"xxl\"] {\r\n --_mono-checkbox-control: var(--mono-checkbox-size-xxl, calc(var(--mono-control-height-xxl) * 4 / 9));\r\n --_mono-checkbox-gap: var(--mono-checkbox-gap, var(--mono-checkbox-gap-xxl, calc(var(--mono-spacing) * 3.5)));\r\n --_mono-checkbox-label-font: var(--mono-checkbox-label-font-xxl, var(--mono-text-xl));\r\n --_mono-checkbox-description-font: var(--mono-checkbox-description-font-xxl, var(--mono-text-lg));\r\n /* 20px text rounds the other way, leaving the box ~1.1px high */\r\n --_mono-checkbox-optical-nudge: 1.1px;\r\n}\r\n\r\n/* =========================================\r\n Colours — EXTENSION: the checked fill in the role's colour\r\n ========================================= */\r\n\r\n[mono-checkbox]:is(:not([mono-color]), [mono-color=\"primary\"]) {\r\n --_mono-checkbox-accent-preset: var(--_mono-checkbox-primary);\r\n --_mono-checkbox-icon-preset: var(--_mono-checkbox-primary-foreground);\r\n}\r\n[mono-checkbox][mono-color=\"secondary\"] {\r\n --_mono-checkbox-accent-preset: var(--secondary-foreground);\r\n --_mono-checkbox-icon-preset: var(--secondary);\r\n}\r\n[mono-checkbox][mono-color=\"success\"] {\r\n --_mono-checkbox-accent-preset: var(--success);\r\n --_mono-checkbox-icon-preset: var(--success-foreground);\r\n}\r\n[mono-checkbox][mono-color=\"danger\"] {\r\n --_mono-checkbox-accent-preset: var(--destructive);\r\n --_mono-checkbox-icon-preset: var(--destructive-foreground);\r\n}\r\n[mono-checkbox][mono-color=\"warning\"] {\r\n --_mono-checkbox-accent-preset: var(--warning);\r\n --_mono-checkbox-icon-preset: var(--warning-foreground);\r\n}\r\n[mono-checkbox][mono-color=\"info\"] {\r\n --_mono-checkbox-accent-preset: var(--info);\r\n --_mono-checkbox-icon-preset: var(--info-foreground);\r\n}\r\n[mono-checkbox][mono-color=\"teal\"] {\r\n --_mono-checkbox-accent-preset: var(--teal);\r\n --_mono-checkbox-icon-preset: var(--teal-foreground);\r\n}\r\n[mono-checkbox][mono-color=\"purple\"] {\r\n --_mono-checkbox-accent-preset: var(--purple);\r\n --_mono-checkbox-icon-preset: var(--purple-foreground);\r\n}\r\n[mono-checkbox][mono-color=\"neutral\"] {\r\n --_mono-checkbox-accent-preset: var(--neutral);\r\n --_mono-checkbox-icon-preset: var(--neutral-foreground);\r\n}\r\n[mono-checkbox][mono-color=\"dark\"] {\r\n --_mono-checkbox-accent-preset: var(--dark);\r\n --_mono-checkbox-icon-preset: var(--dark-foreground);\r\n}\r\n\r\n/* =========================================\r\n States on the root\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .field > label, .label — in-data-[disabled=true]:opacity-50\r\n A BUSY box is exempt: while a select-all drains the server every box on the grid\r\n is disabled, but the one spinning was acted on — it reads as \"working\", never\r\n \"unavailable\" */\r\n[mono-checkbox][mono-disabled]:not([mono-loading]),\r\n[mono-checkbox]:not([mono-loading]):has(> [mono-input]:disabled) {\r\n cursor: not-allowed;\r\n opacity: 0.5;\r\n pointer-events: none;\r\n}\r\n\r\n[mono-checkbox][mono-loading] {\r\n cursor: progress;\r\n}\r\n\r\n/* the native input is the accessible control; the box is its painted twin */\r\n:where([mono-checkbox]) [mono-input] {\r\n position: absolute;\r\n opacity: 0;\r\n pointer-events: none;\r\n width: 1px;\r\n height: 1px;\r\n margin: 0;\r\n /* the UA gives an <input> its own font; inside a shadow root nothing resets it,\r\n so the hidden control ended up with a different computed font in the two\r\n builds. It paints nothing either way — this just keeps them identical. */\r\n font: inherit;\r\n color: inherit;\r\n}\r\n\r\n/* =========================================\r\n The box\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/checkbox.css .field > input[type='checkbox']:not([role='switch']), .input[type='checkbox']:not([role='switch'])\r\n — relative shrink-0 appearance-none outline-none */\r\n/* basecoat@1.0.2 styles/vega.css .field > input[type='checkbox']:not([role='switch']), .input[type='checkbox']:not([role='switch'])\r\n — flex size-4 items-center justify-center rounded-[4px] border border-input\r\n shadow-xs transition-shadow (dark:bg-input/30 via --mono-mode-surface);\r\n checked:bg-primary checked:border-primary checked:text-primary-foreground;\r\n mono: `--tw-ring-*` flattened to the ring + shadow slots */\r\n:where([mono-checkbox]) > [mono-box] {\r\n --_mono-checkbox-ring: 0 0 #0000;\r\n position: relative;\r\n flex: 0 0 auto;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-checkbox-control-px);\r\n height: var(--_mono-checkbox-control-px);\r\n border: var(--_mono-checkbox-border-width) solid var(--_mono-checkbox-border-color);\r\n border-radius: var(--_mono-checkbox-radius);\r\n background-color: var(--_mono-checkbox-bg);\r\n box-shadow: var(--_mono-checkbox-ring), var(--_mono-checkbox-shadow);\r\n color: var(--_mono-checkbox-icon);\r\n overflow: hidden;\r\n transition-property: box-shadow, background-color, border-color;\r\n transition-timing-function: var(--mono-ease);\r\n transition-duration: var(--mono-duration);\r\n}\r\n\r\n/* focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 */\r\n:where([mono-checkbox]) > [mono-input]:focus-visible + [mono-box] {\r\n border-color: var(--_mono-checkbox-ring-color);\r\n --_mono-checkbox-ring: 0 0 0 var(--_mono-checkbox-ring-width) color-mix(in oklab, var(--_mono-checkbox-ring-color) var(--_mono-checkbox-ring-alpha), transparent);\r\n}\r\n\r\n/* aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20\r\n (dark: /50, /40 via the mode tokens); aria-invalid:checked:border-primary */\r\n[mono-checkbox][mono-invalid] > [mono-box],\r\n:where([mono-checkbox]) > [mono-input][aria-invalid=\"true\"] + [mono-box] {\r\n border-color: var(--mono-mode-invalid-border);\r\n --_mono-checkbox-ring: 0 0 0 var(--_mono-checkbox-ring-width) var(--mono-mode-invalid-ring);\r\n}\r\n\r\n/* checked:bg-primary checked:border-primary checked:text-primary-foreground —\r\n generalised per hue; indeterminate takes the same fill */\r\n[mono-checkbox]:is([mono-checked], [mono-indeterminate]) > [mono-box],\r\n:where([mono-checkbox]) > [mono-input]:is(:checked, :indeterminate) + [mono-box] {\r\n border-color: var(--_mono-checkbox-accent);\r\n background-color: var(--_mono-checkbox-accent);\r\n color: var(--_mono-checkbox-icon);\r\n}\r\n\r\n/* =========================================\r\n Glyphs — every glyph is out of flow (`inset: 0; margin: auto`) so the box keeps\r\n a stable synthesised baseline whichever one is showing\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/checkbox.css .field > input[type='checkbox']:not([role='switch']), .input[type='checkbox']:not([role='switch'])\r\n — checked:after: block bg-current, mask-image var(--check-icon), mask-size 0.875rem\r\n (= 87.5% of the 16px box; mono sizes it as that share so it tracks every step) */\r\n:where([mono-checkbox]) > [mono-box]::before {\r\n content: \"\";\r\n display: none;\r\n position: absolute;\r\n inset: 0;\r\n margin: auto;\r\n width: var(--_mono-checkbox-glyph);\r\n height: var(--_mono-checkbox-glyph);\r\n background-color: currentColor;\r\n pointer-events: none;\r\n mask-image: var(--mono-checkbox-check-icon, var(--check-icon));\r\n mask-repeat: no-repeat;\r\n mask-position: center;\r\n mask-size: contain;\r\n -webkit-mask-image: var(--mono-checkbox-check-icon, var(--check-icon));\r\n -webkit-mask-repeat: no-repeat;\r\n -webkit-mask-position: center;\r\n -webkit-mask-size: contain;\r\n}\r\n\r\n/* EXTENSION — the indeterminate dash: 60% wide, 14% tall (2px at md), pill-shaped */\r\n:where([mono-checkbox]) > [mono-box]::after {\r\n content: \"\";\r\n display: none;\r\n position: absolute;\r\n inset: 0;\r\n margin: auto;\r\n width: 60%;\r\n height: max(1.5px, 14%);\r\n border-radius: 999px;\r\n background-color: currentColor;\r\n pointer-events: none;\r\n}\r\n\r\n[mono-checkbox][mono-checked]:not([mono-indeterminate]) > [mono-box]:not([mono-custom-icon])::before,\r\n:where([mono-checkbox]) > [mono-input]:checked:not(:indeterminate) + [mono-box]:not([mono-custom-icon])::before {\r\n display: block;\r\n}\r\n\r\n[mono-checkbox][mono-indeterminate] > [mono-box]:not([mono-custom-indeterminate-icon])::after,\r\n:where([mono-checkbox]) > [mono-input]:indeterminate + [mono-box]:not([mono-custom-indeterminate-icon])::after {\r\n display: block;\r\n}\r\n\r\n/* a custom glyph replaces the default one (the box is marked, or holds the wrapper) */\r\n:where([mono-checkbox]) > [mono-box]:has([mono-icon])::before,\r\n:where([mono-checkbox]) > [mono-box]:has([mono-indeterminate-icon])::after {\r\n display: none !important;\r\n}\r\n\r\n/* custom icon wrappers — fill the box's inner area, out of flow like the pseudo-glyphs */\r\n:where([mono-checkbox]) [mono-icon],\r\n:where([mono-checkbox]) [mono-indeterminate-icon] {\r\n display: none;\r\n position: absolute;\r\n inset: 0;\r\n margin: auto;\r\n width: 100%;\r\n height: 100%;\r\n color: var(--_mono-checkbox-icon);\r\n pointer-events: none;\r\n}\r\n\r\n:where([mono-checkbox]) [mono-icon] > *,\r\n:where([mono-checkbox]) [mono-indeterminate-icon] > * {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n[mono-checkbox][mono-checked]:not([mono-indeterminate]) [mono-icon],\r\n:where([mono-checkbox]) > [mono-input]:checked:not(:indeterminate) + [mono-box] [mono-icon],\r\n[mono-checkbox][mono-indeterminate] [mono-indeterminate-icon],\r\n:where([mono-checkbox]) > [mono-input]:indeterminate + [mono-box] [mono-indeterminate-icon] {\r\n display: inline-block;\r\n}\r\n\r\n/* the shadow build projects the custom glyph through a bare <slot> */\r\n:where([mono-checkbox]) > [mono-box] > slot[name=\"icon\"],\r\n:where([mono-checkbox]) > [mono-box] > slot[name=\"indeterminate-icon\"] {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n position: absolute;\r\n inset: 0;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n:where([mono-checkbox]) > [mono-box] > slot[name=\"icon\"]::slotted(*),\r\n:where([mono-checkbox]) > [mono-box] > slot[name=\"indeterminate-icon\"]::slotted(*) {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n color: var(--_mono-checkbox-icon);\r\n pointer-events: none;\r\n}\r\n\r\n/* =========================================\r\n Label\r\n ========================================= */\r\n\r\n:where([mono-checkbox]) > [mono-label] {\r\n min-width: 0;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .field > label, .label — text-sm leading-snug font-medium;\r\n `block` so the first line box is exactly font × line-height */\r\n:where([mono-checkbox]) [mono-label-text] {\r\n display: block;\r\n font-size: var(--_mono-checkbox-label-font);\r\n line-height: var(--_mono-checkbox-label-line-height);\r\n font-weight: var(--mono-checkbox-label-font-weight, var(--mono-label-font-weight, var(--mono-font-weight-medium)));\r\n color: var(--_mono-checkbox-text);\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .fieldset legend + p, .field > p, .field section > p\r\n — text-sm text-muted-foreground leading-normal font-normal; EXTENSION: one step\r\n under the label per size */\r\n:where([mono-checkbox]) [mono-description] {\r\n display: block;\r\n margin-top: calc(var(--mono-spacing) * 0.5);\r\n font-size: var(--_mono-checkbox-description-font);\r\n line-height: var(--mono-leading-normal);\r\n font-weight: var(--mono-font-weight-normal);\r\n color: var(--_mono-checkbox-description);\r\n}\r\n\r\n/* =========================================\r\n Loading — EXTENSION: a spinner in the box (the select-all drain of\r\n mono-table-checkbox and mono-tag-input). THE ONLY copy of this look: the two\r\n hosts emit [mono-checkbox][mono-loading] > [mono-box] > [mono-spinner] and\r\n restate nothing.\r\n ========================================= */\r\n\r\n/* the busy box fills with the accent whatever its checked state, so the spinner\r\n always has the accent behind it and the icon colour in front — never white on\r\n white; no transition, the state may last 200ms */\r\n[mono-checkbox][mono-loading] > [mono-box] {\r\n border-color: var(--_mono-checkbox-accent);\r\n background-color: var(--_mono-checkbox-accent);\r\n color: var(--_mono-checkbox-icon);\r\n transition: none;\r\n}\r\n\r\n:where([mono-checkbox]) [mono-spinner] {\r\n display: block;\r\n width: 82%;\r\n height: 82%;\r\n animation: mono-checkbox-spin 0.7s linear infinite;\r\n}\r\n\r\n@keyframes mono-checkbox-spin {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n :where([mono-checkbox]) > [mono-box] {\r\n transition: none;\r\n }\r\n\r\n :where([mono-checkbox]) [mono-spinner] {\r\n animation-duration: 2.4s;\r\n }\r\n}\r\n";
|
|
3
|
+
|
|
4
|
+
//#endregion
|
|
5
|
+
export { checkbox_css_raw_default as t };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
//#region src/composables/chip-strip.ts
|
|
2
2
|
/** Slack (px) absorbing sub-pixel layout noise in the overflow comparisons. */
|
|
3
|
-
|
|
3
|
+
const EPSILON = 1;
|
|
4
4
|
var ChipStripController = class {
|
|
5
5
|
constructor(host, opts) {
|
|
6
6
|
this._canScrollStart = false;
|
|
@@ -178,9 +178,10 @@ var ChipStripController = class {
|
|
|
178
178
|
this._observed = null;
|
|
179
179
|
}
|
|
180
180
|
};
|
|
181
|
+
|
|
181
182
|
//#endregion
|
|
182
183
|
//#region src/composables/chip-limits.ts
|
|
183
|
-
|
|
184
|
+
const KEBAB = {
|
|
184
185
|
max: "max",
|
|
185
186
|
min: "min",
|
|
186
187
|
maxVisible: "max-visible",
|
|
@@ -209,5 +210,6 @@ function visibleChipCap(total, maxVisible, minVisible) {
|
|
|
209
210
|
if (minVisible !== void 0 && total <= minVisible) return Infinity;
|
|
210
211
|
return maxVisible;
|
|
211
212
|
}
|
|
213
|
+
|
|
212
214
|
//#endregion
|
|
213
|
-
export { visibleChipCap as n, ChipStripController as r, resolveChipLimit as t };
|
|
215
|
+
export { visibleChipCap as n, ChipStripController as r, resolveChipLimit as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/composables/chip-limits.ts
|
|
2
|
-
|
|
2
|
+
const KEBAB = {
|
|
3
3
|
max: "max",
|
|
4
4
|
min: "min",
|
|
5
5
|
maxVisible: "max-visible",
|
|
@@ -28,10 +28,11 @@ function visibleChipCap(total, maxVisible, minVisible) {
|
|
|
28
28
|
if (minVisible !== void 0 && total <= minVisible) return Infinity;
|
|
29
29
|
return maxVisible;
|
|
30
30
|
}
|
|
31
|
+
|
|
31
32
|
//#endregion
|
|
32
33
|
//#region src/composables/chip-strip.ts
|
|
33
34
|
/** Slack (px) absorbing sub-pixel layout noise in the overflow comparisons. */
|
|
34
|
-
|
|
35
|
+
const EPSILON = 1;
|
|
35
36
|
var ChipStripController = class {
|
|
36
37
|
constructor(host, opts) {
|
|
37
38
|
this._canScrollStart = false;
|
|
@@ -209,5 +210,6 @@ var ChipStripController = class {
|
|
|
209
210
|
this._observed = null;
|
|
210
211
|
}
|
|
211
212
|
};
|
|
213
|
+
|
|
212
214
|
//#endregion
|
|
213
|
-
export { resolveChipLimit as n, visibleChipCap as r, ChipStripController as t };
|
|
215
|
+
export { resolveChipLimit as n, visibleChipCap as r, ChipStripController as t };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
//#region \0raw:C:\Users\VCT-DEV\Desktop\libs\packages\helper\src\components\chip\chip.css?raw.js
|
|
2
|
+
var chip_css_raw_default = "/* =========================================================================\r\n mono-chip — a port of Basecoat's `.badge` (basecoat-css@1.0.2, vega style).\r\n\r\n Styled by ATTRIBUTE, like Basecoat — and the attributes mirror the element's\r\n props one for one, so hand-written markup reads like the Lit / Vue tag:\r\n\r\n <mono-chip size=\"lg\" color=\"success\" variant=\"solid\" label=\"Active\" dot>\r\n <span mono-chip mono-size=\"lg\" mono-color=\"success\" mono-variant=\"solid\" mono-has-dot>\r\n <span mono-main>\r\n <span mono-content>\r\n <span mono-dot></span>\r\n <span mono-label>Active</span>\r\n <button mono-close><span mono-glyph class=\"i-mdi-close\"></span></button>\r\n </span>\r\n </span>\r\n </span>\r\n\r\n An absent attribute is the prop's default (`:not([mono-size])` = md,\r\n `:not([mono-color])` = primary, `:not([mono-variant])` = soft, no\r\n `mono-rounded` = the pill). The element renders these on its root (both\r\n builds) plus the states `mono-has-dot` (the dot PART is `mono-dot`, so the state\r\n spells itself out) / `mono-removable` / `mono-clickable` /\r\n `mono-disabled` / `mono-selected` and `mono-icon-position=\"right\"`. The old\r\n classes (`.mono-chip.md.soft-primary`, `.chip-label`, `.chip-close`) are\r\n still emitted as inert hooks until 2.0 but no rule here reads them — except\r\n `rounded-<step>`, which is GONE: that is Tailwind/UnoCSS's own utility\r\n namespace, so on a page shipping those it was never inert (it rounded the\r\n chip's outer box). Use `mono-rounded` / the `rounded` prop.\r\n\r\n Selector map (ours ≡ upstream):\r\n [mono-chip] ≡ the layout box only — NOT painted (see below)\r\n [mono-main] ≡ .badge (inline-flex w-fit shrink-0 items-center\r\n justify-center overflow-hidden whitespace-nowrap,\r\n h-5 gap-1 rounded-4xl border border-transparent\r\n px-2 py-0.5 text-xs font-medium transition-all,\r\n focus-visible:border-ring ring-[3px] ring-ring/50)\r\n [mono-variant=\"solid\"] ≡ .badge[data-variant='primary'] (bg-c text-c-foreground,\r\n [a]:hover:bg-c/80) — generalised to every hue\r\n [mono-variant=\"soft\"] ≡ .badge[data-variant='destructive'] (bg-c/10 text-c,\r\n [a]:hover:bg-c/20, dark bg-c/20) — generalised; the DEFAULT\r\n [mono-variant=\"outline\"] ≡ .badge[data-variant='outline'] (border-border text-foreground,\r\n [a]:hover:bg-muted) + the hue on the edge and the ink\r\n [mono-color=\"secondary\"] ≡ .badge[data-variant='secondary'] (the muted surface pair)\r\n [mono-size=\"md\"] ≡ .badge's own h-5 px-2 text-xs; the other five are EXTENSION\r\n (Basecoat ships one badge size)\r\n [mono-rounded=\"…\"] ≡ EXTENSION (the shared corner ladder; unset = rounded-4xl)\r\n [mono-close] ≡ .combobox-chip-remove (opacity-50 hover:opacity-100, svg size-3.5)\r\n [mono-has-dot] / [mono-dot] / [mono-selected] / [mono-clickable] ≡ EXTENSION\r\n [mono-disabled] ≡ .btn disabled:opacity-50\r\n [mono-status-dot] ≡ EXTENSION (the standalone status-dot helper)\r\n\r\n WHY THE ROOT PAINTS NOTHING. `[mono-chip]` is also what a FIELD's internal\r\n chip carries: `<mono-tag-input>` renders Basecoat combobox chips as\r\n `[mono-chip] > [mono-chip-main] > …` and paints them in tag-input.css. Those\r\n rules are `[mono-tag-input] [mono-chip]` = (0,2,0) and win over this sheet,\r\n but only where they overlap — so this sheet keeps the root to layout plus\r\n custom properties (which a field's rules simply don't read) and paints the\r\n badge on `[mono-main]`, a part name a field chip does not have. The two never\r\n collide, and a real `<mono-chip>` slotted INTO a field keeps its own look.\r\n\r\n Specificity contract (same as the pre-port class sheet): a part's RESTING\r\n rule is exactly one attribute strong — `:where([mono-chip]) [mono-label]` =\r\n (0,1,0) — so a utility class handed in through `cssClass` wins by source\r\n order, while the prop and state rules stay heavier and win over it.\r\n\r\n Inner parts: [mono-main] > [mono-content] > [mono-dot] / [data-mono-slot=icon]\r\n / [mono-label] / [mono-close] > [mono-glyph].\r\n\r\n FLAVORS set `--mono-chip-{radius,border-width,font-weight,letter-spacing,\r\n text-transform}` and the VARIANT-scoped paint knobs\r\n `--mono-chip-{soft,solid,outline}-{bg,color,border-color}` (the shared\r\n `--mono-chip-bg` / `-color` is the CONSUMER's blanket override and repaints\r\n all three looks at once)` and the per-size `-height-<size>` /\r\n `-padding-x-<size>` / `-gap-<size>` / `-font-size-<size>` /\r\n `-glyph-size-<size>` (the size-agnostic twin of each of those is the\r\n CONSUMER's override — a flavor writing it would flatten the whole ladder);\r\n every fallback here is vega's value\r\n (`node scripts/basecoat-styles.mjs --varying \"^\\.badge\"`).\r\n ========================================================================= */\r\n\r\nmono-chip {\r\n display: inline-block;\r\n}\r\n\r\n/* =========================================\r\n Root — layout and the palette. NOTHING here paints (see the header).\r\n ========================================= */\r\n\r\n[mono-chip] {\r\n /* ── the ten roles, each a public knob over a Basecoat token ──────────── */\r\n --_mono-chip-primary: var(--mono-chip-primary, var(--primary));\r\n --_mono-chip-primary-foreground: var(--mono-chip-primary-foreground, var(--primary-foreground));\r\n --_mono-chip-secondary: var(--mono-chip-secondary, var(--secondary));\r\n --_mono-chip-secondary-foreground: var(--mono-chip-secondary-foreground, var(--secondary-foreground));\r\n --_mono-chip-success: var(--mono-chip-success, var(--success));\r\n --_mono-chip-success-foreground: var(--mono-chip-success-foreground, var(--success-foreground));\r\n --_mono-chip-danger: var(--mono-chip-danger, var(--destructive));\r\n --_mono-chip-danger-foreground: var(--mono-chip-danger-foreground, var(--destructive-foreground));\r\n --_mono-chip-warning: var(--mono-chip-warning, var(--warning));\r\n --_mono-chip-warning-foreground: var(--mono-chip-warning-foreground, var(--warning-foreground));\r\n --_mono-chip-info: var(--mono-chip-info, var(--info));\r\n --_mono-chip-info-foreground: var(--mono-chip-info-foreground, var(--info-foreground));\r\n --_mono-chip-teal: var(--mono-chip-teal, var(--teal));\r\n --_mono-chip-teal-foreground: var(--mono-chip-teal-foreground, var(--teal-foreground));\r\n --_mono-chip-purple: var(--mono-chip-purple, var(--purple));\r\n --_mono-chip-purple-foreground: var(--mono-chip-purple-foreground, var(--purple-foreground));\r\n --_mono-chip-neutral: var(--mono-chip-neutral, var(--neutral));\r\n --_mono-chip-neutral-foreground: var(--mono-chip-neutral-foreground, var(--neutral-foreground));\r\n --_mono-chip-dark: var(--mono-chip-dark, var(--dark));\r\n --_mono-chip-dark-foreground: var(--mono-chip-dark-foreground, var(--dark-foreground));\r\n\r\n /* the colour in play — `primary` unless a [mono-color] rule re-points it */\r\n --_mono-chip-c: var(--_mono-chip-primary);\r\n --_mono-chip-c-foreground: var(--_mono-chip-primary-foreground);\r\n\r\n /* ── md metrics live on the unqualified root ON PURPOSE ────────────────────\r\n basecoat@1.0.2 styles/vega.css .badge — h-5 gap-1 rounded-4xl border\r\n border-transparent px-2 py-0.5 text-xs font-medium, [&>svg]:size-3 */\r\n --_mono-chip-height: var(--mono-chip-height, var(--_mono-chip-height-preset, var(--mono-chip-height-md, calc(var(--mono-spacing) * 5))));\r\n --_mono-chip-padding-x: var(--mono-chip-padding-x, var(--_mono-chip-padding-x-preset, var(--mono-chip-padding-x-md, calc(var(--mono-spacing) * 2))));\r\n --_mono-chip-gap: var(--mono-chip-gap, var(--_mono-chip-gap-preset, var(--mono-chip-gap-md, var(--mono-spacing))));\r\n --_mono-chip-font-size: var(--mono-chip-font-size, var(--_mono-chip-font-size-preset, var(--mono-chip-font-size-md, var(--mono-text-xs))));\r\n --_mono-chip-glyph-size: var(--mono-chip-glyph-size, var(--_mono-chip-glyph-size-preset, var(--mono-chip-glyph-size-md, calc(var(--mono-spacing) * 3))));\r\n /* `rounded-4xl` is the pill; a `rounded` step writes the preset tier, and an\r\n explicit --mono-chip-radius still wins over the prop */\r\n --_mono-chip-radius: var(--mono-chip-radius, var(--_mono-chip-radius-preset, var(--mono-radius-4xl)));\r\n --_mono-chip-border-width: var(--mono-chip-border-width, var(--mono-border-width));\r\n --_mono-chip-font-weight: var(--mono-chip-font-weight, var(--mono-font-weight-medium));\r\n\r\n --_mono-chip-ring-color: var(--mono-chip-ring-color, var(--ring));\r\n --_mono-chip-ring-width: var(--mono-chip-ring-width, var(--mono-ring-width));\r\n --_mono-chip-ring-alpha: var(--mono-chip-ring-alpha, var(--mono-ring-alpha));\r\n\r\n display: inline-flex;\r\n align-items: center;\r\n max-width: 100%;\r\n vertical-align: middle;\r\n line-height: 1;\r\n}\r\n\r\n/* =========================================\r\n The badge box — `.badge`\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 components/badge.css .badge — inline-flex w-fit shrink-0\r\n items-center justify-center overflow-hidden whitespace-nowrap\r\n [&>svg]:pointer-events-none */\r\n:where([mono-chip]) [mono-main] {\r\n display: inline-flex;\r\n width: fit-content;\r\n max-width: 100%;\r\n flex-shrink: 0;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n box-sizing: border-box;\r\n height: var(--_mono-chip-height);\r\n gap: var(--_mono-chip-gap);\r\n padding-inline: var(--_mono-chip-padding-x);\r\n border: var(--_mono-chip-border-width) solid transparent;\r\n border-radius: var(--_mono-chip-radius);\r\n font-family: inherit;\r\n font-size: var(--_mono-chip-font-size);\r\n font-weight: var(--_mono-chip-font-weight);\r\n letter-spacing: var(--mono-chip-letter-spacing, normal);\r\n text-transform: var(--mono-chip-text-transform, none);\r\n line-height: 1;\r\n text-decoration: none;\r\n user-select: none;\r\n vertical-align: middle;\r\n /* `transition-all`, narrowed to what a chip actually animates */\r\n transition:\r\n color var(--mono-duration) var(--mono-ease),\r\n background-color var(--mono-duration) var(--mono-ease),\r\n border-color var(--mono-duration) var(--mono-ease),\r\n box-shadow var(--mono-duration) var(--mono-ease),\r\n opacity var(--mono-duration) var(--mono-ease);\r\n box-shadow: var(--_mono-chip-ring, 0 0 #0000);\r\n}\r\n\r\n/* A LINK chip is a control, not prose. Host stylesheets routinely paint a bare\r\n `a` — VitePress's own `.vp-doc a` sets a weight and an underline at (0,1,1) —\r\n and that out-specifies the (0,1,0) part rule above, so the anchor form\r\n restates what such a rule hijacks, one attribute heavier. Measured: the docs'\r\n light link chip came out at weight 500 while the shadow one, beyond that\r\n sheet's reach, kept the component's own 600. The colour needs no restatement:\r\n every variant rule is already (0,2,0).\r\n\r\n DEVIATION from the specificity contract, for this form only — a `cssClass.main`\r\n utility that sets font-weight or text-decoration on a LINK chip now needs\r\n `!important` (or the `--mono-chip-font-weight` knob). */\r\n[mono-chip] a[mono-main] {\r\n font-weight: var(--_mono-chip-font-weight);\r\n text-decoration: none;\r\n}\r\n\r\n/* basecoat@1.0.2 components/badge.css .badge — focus-visible:border-ring\r\n focus-visible:ring-[3px] focus-visible:ring-ring/50 */\r\n:where([mono-chip]) [mono-main]:focus-visible {\r\n outline: none;\r\n border-color: var(--_mono-chip-ring-color);\r\n --_mono-chip-ring: 0 0 0 var(--_mono-chip-ring-width)\r\n color-mix(in oklab, var(--_mono-chip-ring-color) var(--_mono-chip-ring-alpha), transparent);\r\n}\r\n\r\n/* =========================================\r\n Sizes — EXTENSION: Basecoat ships ONE badge; md is its `.badge`\r\n ========================================= */\r\n\r\n/* The ladder steps the same way the control heights do: 4px of box and one type\r\n step per size, with md pinned to vega's h-5 / px-2 / text-xs. */\r\n[mono-chip][mono-size=\"xs\"] {\r\n --_mono-chip-height-preset: var(--mono-chip-height-xs, calc(var(--mono-spacing) * 4));\r\n --_mono-chip-padding-x-preset: var(--mono-chip-padding-x-xs, calc(var(--mono-spacing) * 1.5));\r\n --_mono-chip-gap-preset: var(--mono-chip-gap-xs, calc(var(--mono-spacing) * 0.75));\r\n --_mono-chip-font-size-preset: var(--mono-chip-font-size-xs, var(--mono-text-xs));\r\n --_mono-chip-glyph-size-preset: var(--mono-chip-glyph-size-xs, calc(var(--mono-spacing) * 2.5));\r\n}\r\n\r\n[mono-chip][mono-size=\"sm\"] {\r\n --_mono-chip-height-preset: var(--mono-chip-height-sm, calc(var(--mono-spacing) * 4.5));\r\n --_mono-chip-padding-x-preset: var(--mono-chip-padding-x-sm, calc(var(--mono-spacing) * 1.75));\r\n --_mono-chip-gap-preset: var(--mono-chip-gap-sm, calc(var(--mono-spacing) * 0.875));\r\n --_mono-chip-font-size-preset: var(--mono-chip-font-size-sm, var(--mono-text-xs));\r\n --_mono-chip-glyph-size-preset: var(--mono-chip-glyph-size-sm, calc(var(--mono-spacing) * 2.75));\r\n}\r\n\r\n[mono-chip][mono-size=\"lg\"] {\r\n --_mono-chip-height-preset: var(--mono-chip-height-lg, calc(var(--mono-spacing) * 6));\r\n --_mono-chip-padding-x-preset: var(--mono-chip-padding-x-lg, calc(var(--mono-spacing) * 2.5));\r\n --_mono-chip-gap-preset: var(--mono-chip-gap-lg, calc(var(--mono-spacing) * 1.25));\r\n --_mono-chip-font-size-preset: var(--mono-chip-font-size-lg, var(--mono-text-sm));\r\n --_mono-chip-glyph-size-preset: var(--mono-chip-glyph-size-lg, calc(var(--mono-spacing) * 3.5));\r\n}\r\n\r\n[mono-chip][mono-size=\"xl\"] {\r\n --_mono-chip-height-preset: var(--mono-chip-height-xl, calc(var(--mono-spacing) * 7));\r\n --_mono-chip-padding-x-preset: var(--mono-chip-padding-x-xl, calc(var(--mono-spacing) * 3));\r\n --_mono-chip-gap-preset: var(--mono-chip-gap-xl, calc(var(--mono-spacing) * 1.5));\r\n --_mono-chip-font-size-preset: var(--mono-chip-font-size-xl, var(--mono-text-sm));\r\n --_mono-chip-glyph-size-preset: var(--mono-chip-glyph-size-xl, calc(var(--mono-spacing) * 4));\r\n}\r\n\r\n[mono-chip][mono-size=\"xxl\"] {\r\n --_mono-chip-height-preset: var(--mono-chip-height-xxl, calc(var(--mono-spacing) * 8));\r\n --_mono-chip-padding-x-preset: var(--mono-chip-padding-x-xxl, calc(var(--mono-spacing) * 3.5));\r\n --_mono-chip-gap-preset: var(--mono-chip-gap-xxl, calc(var(--mono-spacing) * 1.75));\r\n --_mono-chip-font-size-preset: var(--mono-chip-font-size-xxl, var(--mono-text-base));\r\n --_mono-chip-glyph-size-preset: var(--mono-chip-glyph-size-xxl, calc(var(--mono-spacing) * 4.5));\r\n}\r\n\r\n/* =========================================\r\n Rounded — EXTENSION: the shared corner ladder. Unset is vega's rounded-4xl.\r\n ========================================= */\r\n\r\n[mono-chip][mono-rounded=\"none\"] { --_mono-chip-radius-preset: 0; }\r\n[mono-chip][mono-rounded=\"xs\"] { --_mono-chip-radius-preset: calc(var(--mono-radius-sm) / 2); }\r\n[mono-chip][mono-rounded=\"sm\"] { --_mono-chip-radius-preset: var(--mono-radius-sm); }\r\n[mono-chip][mono-rounded=\"md\"] { --_mono-chip-radius-preset: var(--mono-radius-md); }\r\n[mono-chip][mono-rounded=\"lg\"] { --_mono-chip-radius-preset: var(--mono-radius-lg); }\r\n[mono-chip][mono-rounded=\"xl\"] { --_mono-chip-radius-preset: var(--mono-radius-xl); }\r\n[mono-chip][mono-rounded=\"xxl\"] { --_mono-chip-radius-preset: var(--mono-radius-2xl); }\r\n[mono-chip][mono-rounded=\"full\"] { --_mono-chip-radius-preset: var(--mono-radius-full); }\r\n\r\n/* =========================================\r\n Colours — each publishes the pair the variants read\r\n ========================================= */\r\n\r\n[mono-chip][mono-color=\"primary\"] {\r\n --_mono-chip-c: var(--_mono-chip-primary);\r\n --_mono-chip-c-foreground: var(--_mono-chip-primary-foreground);\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .badge[data-variant='secondary'] —\r\n bg-secondary text-secondary-foreground: a SURFACE pair, not a hue, so its\r\n `soft` and `solid` land on the same muted plate (shadcn's meaning). */\r\n[mono-chip][mono-color=\"secondary\"] {\r\n --_mono-chip-c: var(--_mono-chip-secondary);\r\n --_mono-chip-c-foreground: var(--_mono-chip-secondary-foreground);\r\n}\r\n\r\n[mono-chip][mono-color=\"success\"] {\r\n --_mono-chip-c: var(--_mono-chip-success);\r\n --_mono-chip-c-foreground: var(--_mono-chip-success-foreground);\r\n}\r\n\r\n[mono-chip][mono-color=\"danger\"] {\r\n --_mono-chip-c: var(--_mono-chip-danger);\r\n --_mono-chip-c-foreground: var(--_mono-chip-danger-foreground);\r\n}\r\n\r\n[mono-chip][mono-color=\"warning\"] {\r\n --_mono-chip-c: var(--_mono-chip-warning);\r\n --_mono-chip-c-foreground: var(--_mono-chip-warning-foreground);\r\n}\r\n\r\n[mono-chip][mono-color=\"info\"] {\r\n --_mono-chip-c: var(--_mono-chip-info);\r\n --_mono-chip-c-foreground: var(--_mono-chip-info-foreground);\r\n}\r\n\r\n[mono-chip][mono-color=\"teal\"] {\r\n --_mono-chip-c: var(--_mono-chip-teal);\r\n --_mono-chip-c-foreground: var(--_mono-chip-teal-foreground);\r\n}\r\n\r\n[mono-chip][mono-color=\"purple\"] {\r\n --_mono-chip-c: var(--_mono-chip-purple);\r\n --_mono-chip-c-foreground: var(--_mono-chip-purple-foreground);\r\n}\r\n\r\n[mono-chip][mono-color=\"neutral\"] {\r\n --_mono-chip-c: var(--_mono-chip-neutral);\r\n --_mono-chip-c-foreground: var(--_mono-chip-neutral-foreground);\r\n}\r\n\r\n[mono-chip][mono-color=\"dark\"] {\r\n --_mono-chip-c: var(--_mono-chip-dark);\r\n --_mono-chip-c-foreground: var(--_mono-chip-dark-foreground);\r\n}\r\n\r\n/* =========================================\r\n Variants\r\n ========================================= */\r\n\r\n/* `soft` is the DEFAULT and is Basecoat's tonal badge.\r\n basecoat@1.0.2 styles/vega.css .badge[data-variant='destructive'] —\r\n bg-destructive/10 text-destructive dark:bg-destructive/20 (the alpha pair\r\n travels as --mono-mode-tint, which is what makes it dark-mode correct). */\r\n[mono-chip]:is(:not([mono-variant]), [mono-variant=\"soft\"]) > [mono-main] {\r\n background-color: var(--mono-chip-bg, var(--mono-chip-soft-bg, color-mix(in oklab, var(--_mono-chip-c) var(--mono-mode-tint), transparent)));\r\n color: var(--mono-chip-color, var(--mono-chip-soft-color, var(--_mono-chip-c)));\r\n border-color: var(--mono-chip-border-color, var(--mono-chip-soft-border-color, transparent));\r\n}\r\n\r\n/* `secondary` is a surface, not a hue: tinting it would wash it out, so the\r\n soft chip wears the plate itself (`.badge[data-variant='secondary']`). */\r\n[mono-chip][mono-color=\"secondary\"]:is(:not([mono-variant]), [mono-variant=\"soft\"]) > [mono-main] {\r\n background-color: var(--mono-chip-bg, var(--mono-chip-soft-bg, var(--_mono-chip-secondary)));\r\n color: var(--mono-chip-color, var(--mono-chip-soft-color, var(--_mono-chip-secondary-foreground)));\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .badge:not([data-variant]), .badge[data-variant='primary']\r\n — bg-primary text-primary-foreground */\r\n[mono-chip][mono-variant=\"solid\"] > [mono-main] {\r\n background-color: var(--mono-chip-bg, var(--mono-chip-solid-bg, var(--_mono-chip-c)));\r\n color: var(--mono-chip-color, var(--mono-chip-solid-color, var(--_mono-chip-c-foreground)));\r\n border-color: var(--mono-chip-border-color, var(--mono-chip-solid-border-color, transparent));\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .badge[data-variant='outline'] — border-border\r\n text-foreground — EXTENSION: the edge and the ink take the role's colour so\r\n `outline` reads as the same family as the other two. */\r\n[mono-chip][mono-variant=\"outline\"] > [mono-main] {\r\n background-color: var(--mono-chip-bg, var(--mono-chip-outline-bg, transparent));\r\n color: var(--mono-chip-color, var(--mono-chip-outline-color, var(--_mono-chip-c)));\r\n border-color: var(--mono-chip-border-color, var(--mono-chip-outline-border-color, var(--_mono-chip-c)));\r\n}\r\n\r\n[mono-chip][mono-color=\"secondary\"][mono-variant=\"outline\"] > [mono-main] {\r\n color: var(--mono-chip-color, var(--foreground));\r\n border-color: var(--mono-chip-border-color, var(--border));\r\n}\r\n\r\n/* =========================================\r\n Interactive — a clickable / linked chip\r\n ========================================= */\r\n\r\n/* basecoat@1.0.2 styles/vega.css .badge:not([data-variant]), .badge[data-variant='primary']\r\n — [a]:hover:bg-primary/80: only a LINK badge reacts upstream; ours also\r\n reacts when `clickable` made it a button (same gesture, no href). */\r\n[mono-chip][mono-clickable] > [mono-main] {\r\n cursor: pointer;\r\n}\r\n\r\n@media (hover: hover) {\r\n [mono-chip][mono-clickable]:not([mono-disabled])[mono-variant=\"solid\"] > [mono-main]:hover {\r\n background-color: color-mix(in oklab, var(--_mono-chip-c) 80%, transparent);\r\n }\r\n\r\n /* .badge[data-variant='destructive'] — [a]:hover:bg-destructive/20 */\r\n [mono-chip][mono-clickable]:not([mono-disabled]):is(:not([mono-variant]), [mono-variant=\"soft\"]) > [mono-main]:hover {\r\n background-color: color-mix(in oklab, var(--_mono-chip-c) var(--mono-mode-tint-hover), transparent);\r\n }\r\n\r\n /* `secondary` is a plate, not a tint: darken it the way the secondary button\r\n does (basecoat@1.0.2 styles/vega.css .btn[data-variant='secondary']). */\r\n [mono-chip][mono-clickable]:not([mono-disabled])[mono-color=\"secondary\"]:is(:not([mono-variant]), [mono-variant=\"soft\"]) > [mono-main]:hover {\r\n background-color: color-mix(in oklch, var(--_mono-chip-secondary), var(--foreground) 5%);\r\n }\r\n\r\n /* .badge[data-variant='outline'] — [a]:hover:bg-muted */\r\n [mono-chip][mono-clickable]:not([mono-disabled])[mono-variant=\"outline\"] > [mono-main]:hover {\r\n background-color: var(--mono-mode-ghost-hover);\r\n }\r\n}\r\n\r\n/* EXTENSION — `selected` rings the chip in its own colour, the one state\r\n Basecoat's badge has no equivalent for (it is not a toggle upstream). */\r\n[mono-chip][mono-selected] > [mono-main] {\r\n --_mono-chip-ring: 0 0 0 var(--_mono-chip-ring-width)\r\n color-mix(in oklab, var(--_mono-chip-c) var(--_mono-chip-ring-alpha), transparent);\r\n border-color: var(--_mono-chip-c);\r\n}\r\n\r\n/* basecoat@1.0.2 components/button.css .btn — disabled:pointer-events-none\r\n disabled:opacity-50 */\r\n[mono-chip][mono-disabled] > [mono-main] {\r\n opacity: 0.5;\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\n/* =========================================\r\n Inner content\r\n ========================================= */\r\n\r\n:where([mono-chip]) [mono-content] {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n gap: inherit;\r\n min-width: 0;\r\n max-width: 100%;\r\n height: 100%;\r\n line-height: 1;\r\n}\r\n\r\n:where([mono-chip]) [mono-label] {\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n min-width: 0;\r\n max-width: 100%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n line-height: 1;\r\n}\r\n\r\n/* EXTENSION — the leading status dot. It is the role's colour at full strength,\r\n which reads on both the tinted `soft` plate and the solid one (`currentColor`\r\n there). */\r\n:where([mono-chip]) [mono-dot] {\r\n flex: 0 0 auto;\r\n width: var(--mono-chip-dot-size, calc(var(--mono-spacing) * 1.5));\r\n height: var(--mono-chip-dot-size, calc(var(--mono-spacing) * 1.5));\r\n border-radius: var(--mono-radius-full);\r\n background: currentColor;\r\n}\r\n\r\n/* The shadow build renders the icon wrapper on every chip and marks the empty\r\n one; this hides it so both builds measure the same content box. */\r\n[mono-chip] [data-mono-slot=\"icon\"][mono-empty] {\r\n display: none;\r\n}\r\n\r\n/* `[&>svg]:size-3!` — our icon is a slotted element or a mask span, sized by\r\n the same token as the close glyph */\r\n:where([mono-chip]) [data-mono-slot=\"icon\"],\r\n:where([mono-chip]) [mono-main] > svg {\r\n display: inline-flex;\r\n flex: 0 0 auto;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-chip-glyph-size);\r\n height: var(--_mono-chip-glyph-size);\r\n line-height: 1;\r\n pointer-events: none;\r\n}\r\n\r\n:where([mono-chip]) [data-mono-slot=\"icon\"] > * {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n/* basecoat@1.0.2 styles/vega.css .combobox-chip-remove — -ms-1 opacity-50\r\n hover:opacity-100, [&>svg]:size-3.5 — the same affordance a field chip uses */\r\n:where([mono-chip]) [mono-close] {\r\n appearance: none;\r\n display: inline-flex;\r\n flex: 0 0 auto;\r\n align-items: center;\r\n justify-content: center;\r\n width: var(--_mono-chip-glyph-size);\r\n height: var(--_mono-chip-glyph-size);\r\n margin: 0;\r\n padding: 0;\r\n border: 0;\r\n border-radius: var(--mono-radius-full);\r\n background: transparent;\r\n color: inherit;\r\n font: inherit;\r\n line-height: 1;\r\n cursor: pointer;\r\n opacity: 0.5;\r\n transition:\r\n opacity var(--mono-duration) var(--mono-ease),\r\n box-shadow var(--mono-duration) var(--mono-ease);\r\n box-shadow: var(--_mono-chip-close-ring, 0 0 #0000);\r\n}\r\n\r\n@media (hover: hover) {\r\n :where([mono-chip]) [mono-close]:hover {\r\n opacity: 1;\r\n }\r\n}\r\n\r\n:where([mono-chip]) [mono-close]:focus-visible {\r\n outline: none;\r\n opacity: 1;\r\n --_mono-chip-close-ring: 0 0 0 var(--_mono-chip-ring-width)\r\n color-mix(in oklab, currentColor var(--_mono-chip-ring-alpha), transparent);\r\n}\r\n\r\n:where([mono-chip]) [mono-close] :is([mono-glyph], svg) {\r\n display: block;\r\n width: 100%;\r\n height: 100%;\r\n flex-shrink: 0;\r\n}\r\n\r\n:where([mono-chip]) [mono-close] [mono-glyph] > svg {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n/* =========================================\r\n Status dot — EXTENSION: `<mono-status-dot>`, a label with a state dot\r\n ========================================= */\r\n\r\nmono-status-dot {\r\n display: inline-block;\r\n}\r\n\r\n[mono-status-dot] {\r\n --_mono-status-dot-c: var(--mono-status-dot-color, var(--success));\r\n display: inline-flex;\r\n align-items: center;\r\n gap: var(--mono-status-dot-gap, calc(var(--mono-spacing) * 1.5));\r\n font-family: inherit;\r\n font-size: var(--mono-status-dot-font-size, var(--mono-text-xs));\r\n font-weight: var(--mono-status-dot-font-weight, var(--mono-font-weight-medium));\r\n line-height: 1;\r\n color: var(--_mono-status-dot-c);\r\n}\r\n\r\n[mono-status-dot][mono-status=\"offline\"] { --_mono-status-dot-c: var(--mono-status-dot-color, var(--neutral)); }\r\n[mono-status-dot][mono-status=\"busy\"] { --_mono-status-dot-c: var(--mono-status-dot-color, var(--destructive)); }\r\n[mono-status-dot][mono-status=\"away\"] { --_mono-status-dot-c: var(--mono-status-dot-color, var(--warning)); }\r\n/* `custom` takes the colour from the `color` prop, which the element writes\r\n inline as --mono-status-dot-color */\r\n[mono-status-dot][mono-status=\"custom\"] { --_mono-status-dot-c: var(--mono-status-dot-color, var(--primary)); }\r\n\r\n:where([mono-status-dot]) [mono-dot] {\r\n flex: 0 0 auto;\r\n width: var(--mono-status-dot-size, calc(var(--mono-spacing) * 2));\r\n height: var(--mono-status-dot-size, calc(var(--mono-spacing) * 2));\r\n border-radius: var(--mono-radius-full);\r\n background: currentColor;\r\n}\r\n\r\n[mono-status-dot][mono-pulse] [mono-dot] {\r\n animation: mono-status-pulse 1.8s var(--mono-ease) infinite;\r\n}\r\n\r\n@keyframes mono-status-pulse {\r\n 0%,\r\n 100% {\r\n box-shadow: 0 0 0 0 color-mix(in oklab, currentColor 40%, transparent);\r\n }\r\n\r\n 50% {\r\n box-shadow: 0 0 0 5px color-mix(in oklab, currentColor 0%, transparent);\r\n }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n :where([mono-chip]) :is([mono-main], [mono-close]) {\r\n transition: none;\r\n }\r\n\r\n [mono-status-dot][mono-pulse] [mono-dot] {\r\n animation: none;\r\n }\r\n}\r\n";
|
|
3
|
+
|
|
4
|
+
//#endregion
|
|
5
|
+
export { chip_css_raw_default as t };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
//#region src/composables/color.ts
|
|
2
2
|
/** The two inks the theme uses on a filled surface (`index.css` `--theme-*-contrast`). */
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
const INK_LIGHT = "#ffffff";
|
|
4
|
+
const INK_DARK = "rgba(0, 0, 0, 0.87)";
|
|
5
|
+
const HEX = /^#([0-9a-f]{3,8})$/i;
|
|
6
|
+
const FN = /^(rgba?|hsla?)\(\s*([^)]+?)\s*\)$/i;
|
|
7
7
|
/** Split `rgb(1 2 3 / 0.5)` and `rgb(1, 2, 3, 0.5)` alike. */
|
|
8
8
|
function args(body) {
|
|
9
9
|
return body.replace(/\//g, " ").split(/[\s,]+/).filter(Boolean);
|
|
@@ -187,7 +187,7 @@ function isRawColorValue(value) {
|
|
|
187
187
|
* colour preset. `surface` is not here — it is each component's "not painted" state, not
|
|
188
188
|
* a palette entry.
|
|
189
189
|
*/
|
|
190
|
-
|
|
190
|
+
const THEME_COLOR_TOKENS = [
|
|
191
191
|
"primary",
|
|
192
192
|
"secondary",
|
|
193
193
|
"success",
|
|
@@ -200,7 +200,7 @@ var THEME_COLOR_TOKENS = [
|
|
|
200
200
|
"dark"
|
|
201
201
|
];
|
|
202
202
|
/** The class token emitted for a `color` that is a literal rather than a slot name. */
|
|
203
|
-
|
|
203
|
+
const CUSTOM_COLOR_CLASS = "custom";
|
|
204
204
|
function isThemeColorToken(value) {
|
|
205
205
|
return !!value && THEME_COLOR_TOKENS.includes(value);
|
|
206
206
|
}
|
|
@@ -249,5 +249,6 @@ function validateColorProp(value) {
|
|
|
249
249
|
if (isThemeColorToken(value) || value === "surface" || isRawColorValue(value)) return null;
|
|
250
250
|
return `Invalid color: ${value} — expected one of ${THEME_COLOR_TOKENS.join(", ")}, surface, or a CSS color`;
|
|
251
251
|
}
|
|
252
|
+
|
|
252
253
|
//#endregion
|
|
253
|
-
export { validateColorProp as a, isThemeColorToken as i, colorClassToken as n, customColorStyle as r, CUSTOM_COLOR_CLASS as t };
|
|
254
|
+
export { validateColorProp as a, isThemeColorToken as i, colorClassToken as n, customColorStyle as r, CUSTOM_COLOR_CLASS as t };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { a as describeError, l as isCanceled } from "./reactive-DFCdZbH9.js";
|
|
2
|
+
|
|
1
3
|
//#region src/composables/data-source-controller.ts
|
|
2
4
|
/**
|
|
3
5
|
* Encapsulates the generic DataSource + incremental-loading logic shared by
|
|
@@ -13,10 +15,14 @@ var DataSourceController = class {
|
|
|
13
15
|
this._dsLoading = false;
|
|
14
16
|
this._loadingMore = false;
|
|
15
17
|
this._isLastPage = false;
|
|
18
|
+
this._error = null;
|
|
19
|
+
this._hasLoaded = false;
|
|
20
|
+
this._retrying = false;
|
|
16
21
|
this._internalLoad = false;
|
|
17
22
|
this._bound = null;
|
|
18
23
|
this._onChanged = () => {
|
|
19
24
|
if (this._internalLoad) return;
|
|
25
|
+
this._markLoaded();
|
|
20
26
|
if (this.opts.getLoadMoreMode()) {
|
|
21
27
|
const ds = this._bound;
|
|
22
28
|
this._dsItems = ds ? [...ds.items?.() ?? []] : [];
|
|
@@ -31,6 +37,10 @@ var DataSourceController = class {
|
|
|
31
37
|
this._dsLoading = this._bound?.isLoading?.() ?? false;
|
|
32
38
|
this._changed();
|
|
33
39
|
};
|
|
40
|
+
this._onLoadError = (err) => {
|
|
41
|
+
this._dsLoading = this._bound?.isLoading?.() ?? false;
|
|
42
|
+
this.setError(err ?? /* @__PURE__ */ new Error("Request failed"));
|
|
43
|
+
};
|
|
34
44
|
this.host = host;
|
|
35
45
|
this.opts = opts;
|
|
36
46
|
this._visibleCount = opts.getPageSize();
|
|
@@ -48,6 +58,9 @@ var DataSourceController = class {
|
|
|
48
58
|
if (this._bound === ds) return;
|
|
49
59
|
this._detach();
|
|
50
60
|
this._bound = ds;
|
|
61
|
+
this._error = null;
|
|
62
|
+
this._retrying = false;
|
|
63
|
+
this._hasLoaded = !!ds && (ds.items?.() ?? []).length > 0;
|
|
51
64
|
if (!ds) {
|
|
52
65
|
this._dsItems = [];
|
|
53
66
|
this._dsLoading = false;
|
|
@@ -57,7 +70,7 @@ var DataSourceController = class {
|
|
|
57
70
|
}
|
|
58
71
|
ds.on("changed", this._onChanged);
|
|
59
72
|
ds.on("loadingChanged", this._onLoadingChanged);
|
|
60
|
-
ds.on("loadError", this.
|
|
73
|
+
ds.on("loadError", this._onLoadError);
|
|
61
74
|
this._sync();
|
|
62
75
|
this.maybeImmediateLoad();
|
|
63
76
|
}
|
|
@@ -102,14 +115,45 @@ var DataSourceController = class {
|
|
|
102
115
|
await Promise.resolve(ds.load());
|
|
103
116
|
this._dsItems = [...this._dsItems, ...ds.items?.() ?? []];
|
|
104
117
|
this._isLastPage = ds.isLastPage?.() ?? false;
|
|
105
|
-
|
|
118
|
+
this._error = null;
|
|
119
|
+
} catch (err) {
|
|
106
120
|
ds.pageIndex(current);
|
|
121
|
+
this.setError(err);
|
|
107
122
|
} finally {
|
|
108
123
|
this._loadingMore = false;
|
|
109
124
|
this._internalLoad = false;
|
|
110
125
|
this._changed();
|
|
111
126
|
}
|
|
112
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Re-run the request after a failure. Reloads the source as it stands, so a
|
|
130
|
+
* failed search is retried with the same query. While it runs the field is
|
|
131
|
+
* {@link busy} again.
|
|
132
|
+
*
|
|
133
|
+
* `load` replaces the plain `ds.load()` — a host whose failed request was a
|
|
134
|
+
* search passes one that clears the query on the source and reloads.
|
|
135
|
+
*/
|
|
136
|
+
async retry(load) {
|
|
137
|
+
if (!this._bound) return;
|
|
138
|
+
this._error = null;
|
|
139
|
+
this._retrying = true;
|
|
140
|
+
this._changed();
|
|
141
|
+
try {
|
|
142
|
+
await this._loadFirstPage(load);
|
|
143
|
+
} finally {
|
|
144
|
+
this._retrying = false;
|
|
145
|
+
this._changed();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Record a failure from a request the host drove itself (e.g. a server
|
|
150
|
+
* select-all drain). Cancelled loads are ignored.
|
|
151
|
+
*/
|
|
152
|
+
setError(raw) {
|
|
153
|
+
if (isCanceled(raw)) return;
|
|
154
|
+
this._error = describeError(raw);
|
|
155
|
+
this._changed();
|
|
156
|
+
}
|
|
113
157
|
/** Raw source array: accumulated DataSource items, or the plain `items`. */
|
|
114
158
|
get sourceItems() {
|
|
115
159
|
return this._bound ? this._dsItems : this.opts.getItems();
|
|
@@ -125,6 +169,18 @@ var DataSourceController = class {
|
|
|
125
169
|
get loadingMore() {
|
|
126
170
|
return this._loadingMore;
|
|
127
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* The field must be locked: the FIRST load (or a retry) is in flight. A
|
|
174
|
+
* search / filter reload after the source has answered once does not count —
|
|
175
|
+
* the person is typing into the field and it must stay usable.
|
|
176
|
+
*/
|
|
177
|
+
get busy() {
|
|
178
|
+
return !!this._bound && (this._dsLoading && !this._hasLoaded || this._retrying);
|
|
179
|
+
}
|
|
180
|
+
/** The last load failure, described for a person; null once a load succeeds. */
|
|
181
|
+
get error() {
|
|
182
|
+
return this._error;
|
|
183
|
+
}
|
|
128
184
|
/** load-more is driving a plain `items` array (no DataSource bound). */
|
|
129
185
|
get isArrayLoadMore() {
|
|
130
186
|
return !this.opts.getDataSource() && !!this.opts.getLoadMoreMode();
|
|
@@ -134,6 +190,11 @@ var DataSourceController = class {
|
|
|
134
190
|
if (this.isArrayLoadMore) return this._visibleCount >= this.opts.getItems().length;
|
|
135
191
|
return this._isLastPage;
|
|
136
192
|
}
|
|
193
|
+
/** A load answered: the source is usable and any earlier failure is over. */
|
|
194
|
+
_markLoaded() {
|
|
195
|
+
this._hasLoaded = true;
|
|
196
|
+
this._error = null;
|
|
197
|
+
}
|
|
137
198
|
_sync() {
|
|
138
199
|
const ds = this._bound;
|
|
139
200
|
this._dsItems = ds ? [...ds.items?.() ?? []] : [];
|
|
@@ -142,7 +203,7 @@ var DataSourceController = class {
|
|
|
142
203
|
this._changed();
|
|
143
204
|
}
|
|
144
205
|
/** Load the first page, replacing the accumulated list. */
|
|
145
|
-
async _loadFirstPage() {
|
|
206
|
+
async _loadFirstPage(load) {
|
|
146
207
|
const ds = this._bound;
|
|
147
208
|
if (!ds) return;
|
|
148
209
|
this._internalLoad = true;
|
|
@@ -153,10 +214,13 @@ var DataSourceController = class {
|
|
|
153
214
|
ds.paginate?.(true);
|
|
154
215
|
ds.pageIndex?.(0);
|
|
155
216
|
}
|
|
156
|
-
await Promise.resolve(ds.load());
|
|
217
|
+
await Promise.resolve(load ? load() : ds.load());
|
|
157
218
|
this._dsItems = [...ds.items?.() ?? []];
|
|
158
219
|
this._isLastPage = ds.isLastPage?.() ?? false;
|
|
159
|
-
|
|
220
|
+
this._markLoaded();
|
|
221
|
+
} catch (err) {
|
|
222
|
+
this.setError(err);
|
|
223
|
+
} finally {
|
|
160
224
|
this._dsLoading = ds.isLoading?.() ?? false;
|
|
161
225
|
this._internalLoad = false;
|
|
162
226
|
this._changed();
|
|
@@ -167,12 +231,13 @@ var DataSourceController = class {
|
|
|
167
231
|
if (!ds) return;
|
|
168
232
|
ds.off("changed", this._onChanged);
|
|
169
233
|
ds.off("loadingChanged", this._onLoadingChanged);
|
|
170
|
-
ds.off("loadError", this.
|
|
234
|
+
ds.off("loadError", this._onLoadError);
|
|
171
235
|
this._bound = null;
|
|
172
236
|
}
|
|
173
237
|
_changed() {
|
|
174
238
|
this.host.requestUpdate();
|
|
175
239
|
}
|
|
176
240
|
};
|
|
241
|
+
|
|
177
242
|
//#endregion
|
|
178
|
-
export { DataSourceController as t };
|
|
243
|
+
export { DataSourceController as t };
|