base-paint 0.3.13 → 0.3.15
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/README.md +218 -15
- package/dist/blocks.d.ts +188 -14
- package/dist/blocks.d.ts.map +1 -1
- package/dist/blocks.js +781 -78
- package/dist/blocks.js.map +1 -1
- package/dist/charts.d.ts +6 -61
- package/dist/charts.d.ts.map +1 -1
- package/dist/charts.js +6 -2034
- package/dist/charts.js.map +1 -1
- package/dist/components/bulk-bar/attrs.d.ts +176 -0
- package/dist/components/bulk-bar/attrs.d.ts.map +1 -0
- package/dist/components/bulk-bar/attrs.js +184 -0
- package/dist/components/bulk-bar/attrs.js.map +1 -0
- package/dist/components/bulk-bar/index.d.ts +25 -0
- package/dist/components/bulk-bar/index.d.ts.map +1 -0
- package/dist/components/bulk-bar/index.js +23 -0
- package/dist/components/bulk-bar/index.js.map +1 -0
- package/dist/components/bulk-bar/model.d.ts +74 -0
- package/dist/components/bulk-bar/model.d.ts.map +1 -0
- package/dist/components/bulk-bar/model.js +239 -0
- package/dist/components/bulk-bar/model.js.map +1 -0
- package/dist/components/bulk-bar/render.d.ts +3 -0
- package/dist/components/bulk-bar/render.d.ts.map +1 -0
- package/dist/components/bulk-bar/render.js +195 -0
- package/dist/components/bulk-bar/render.js.map +1 -0
- package/dist/components/bulk-bar/runtime.d.ts +3 -0
- package/dist/components/bulk-bar/runtime.d.ts.map +1 -0
- package/dist/components/bulk-bar/runtime.js +135 -0
- package/dist/components/bulk-bar/runtime.js.map +1 -0
- package/dist/components/bulk-bar/style-column.d.ts +5 -0
- package/dist/components/bulk-bar/style-column.d.ts.map +1 -0
- package/dist/components/bulk-bar/style-column.js +191 -0
- package/dist/components/bulk-bar/style-column.js.map +1 -0
- package/dist/components/bulk-bar/style-confirm.d.ts +5 -0
- package/dist/components/bulk-bar/style-confirm.d.ts.map +1 -0
- package/dist/components/bulk-bar/style-confirm.js +236 -0
- package/dist/components/bulk-bar/style-confirm.js.map +1 -0
- package/dist/components/bulk-bar/style-sizes.d.ts +15 -0
- package/dist/components/bulk-bar/style-sizes.d.ts.map +1 -0
- package/dist/components/bulk-bar/style-sizes.js +14 -0
- package/dist/components/bulk-bar/style-sizes.js.map +1 -0
- package/dist/components/bulk-bar/style.d.ts +6 -0
- package/dist/components/bulk-bar/style.d.ts.map +1 -0
- package/dist/components/bulk-bar/style.js +239 -0
- package/dist/components/bulk-bar/style.js.map +1 -0
- package/dist/components/calendar-month/attrs.d.ts +85 -0
- package/dist/components/calendar-month/attrs.d.ts.map +1 -0
- package/dist/components/calendar-month/attrs.js +76 -0
- package/dist/components/calendar-month/attrs.js.map +1 -0
- package/dist/components/calendar-month/index.d.ts +13 -0
- package/dist/components/calendar-month/index.d.ts.map +1 -0
- package/dist/components/calendar-month/index.js +11 -0
- package/dist/components/calendar-month/index.js.map +1 -0
- package/dist/components/calendar-month/model.d.ts +31 -0
- package/dist/components/calendar-month/model.d.ts.map +1 -0
- package/dist/components/calendar-month/model.js +142 -0
- package/dist/components/calendar-month/model.js.map +1 -0
- package/dist/components/calendar-month/render.d.ts +3 -0
- package/dist/components/calendar-month/render.d.ts.map +1 -0
- package/dist/components/calendar-month/render.js +84 -0
- package/dist/components/calendar-month/render.js.map +1 -0
- package/dist/components/calendar-month/style.d.ts +14 -0
- package/dist/components/calendar-month/style.d.ts.map +1 -0
- package/dist/components/calendar-month/style.js +210 -0
- package/dist/components/calendar-month/style.js.map +1 -0
- package/dist/components/cash-waterline/attrs.d.ts +131 -0
- package/dist/components/cash-waterline/attrs.d.ts.map +1 -0
- package/dist/components/cash-waterline/attrs.js +157 -0
- package/dist/components/cash-waterline/attrs.js.map +1 -0
- package/dist/components/cash-waterline/fields.d.ts +26 -0
- package/dist/components/cash-waterline/fields.d.ts.map +1 -0
- package/dist/components/cash-waterline/fields.js +174 -0
- package/dist/components/cash-waterline/fields.js.map +1 -0
- package/dist/components/cash-waterline/index.d.ts +14 -0
- package/dist/components/cash-waterline/index.d.ts.map +1 -0
- package/dist/components/cash-waterline/index.js +12 -0
- package/dist/components/cash-waterline/index.js.map +1 -0
- package/dist/components/cash-waterline/model.d.ts +117 -0
- package/dist/components/cash-waterline/model.d.ts.map +1 -0
- package/dist/components/cash-waterline/model.js +242 -0
- package/dist/components/cash-waterline/model.js.map +1 -0
- package/dist/components/cash-waterline/render.d.ts +3 -0
- package/dist/components/cash-waterline/render.d.ts.map +1 -0
- package/dist/components/cash-waterline/render.js +203 -0
- package/dist/components/cash-waterline/render.js.map +1 -0
- package/dist/components/cash-waterline/style-forms.d.ts +7 -0
- package/dist/components/cash-waterline/style-forms.d.ts.map +1 -0
- package/dist/components/cash-waterline/style-forms.js +337 -0
- package/dist/components/cash-waterline/style-forms.js.map +1 -0
- package/dist/components/cash-waterline/style.d.ts +9 -0
- package/dist/components/cash-waterline/style.d.ts.map +1 -0
- package/dist/components/cash-waterline/style.js +224 -0
- package/dist/components/cash-waterline/style.js.map +1 -0
- package/dist/components/charts/bar.d.ts +11 -0
- package/dist/components/charts/bar.d.ts.map +1 -0
- package/dist/components/charts/bar.js +257 -0
- package/dist/components/charts/bar.js.map +1 -0
- package/dist/components/charts/combo.d.ts +11 -0
- package/dist/components/charts/combo.d.ts.map +1 -0
- package/dist/components/charts/combo.js +113 -0
- package/dist/components/charts/combo.js.map +1 -0
- package/dist/components/charts/coords.d.ts +134 -0
- package/dist/components/charts/coords.d.ts.map +1 -0
- package/dist/components/charts/coords.js +182 -0
- package/dist/components/charts/coords.js.map +1 -0
- package/dist/components/charts/dispatch.d.ts +15 -0
- package/dist/components/charts/dispatch.d.ts.map +1 -0
- package/dist/components/charts/dispatch.js +41 -0
- package/dist/components/charts/dispatch.js.map +1 -0
- package/dist/components/charts/donut.d.ts +11 -0
- package/dist/components/charts/donut.d.ts.map +1 -0
- package/dist/components/charts/donut.js +90 -0
- package/dist/components/charts/donut.js.map +1 -0
- package/dist/components/charts/gauge.d.ts +11 -0
- package/dist/components/charts/gauge.d.ts.map +1 -0
- package/dist/components/charts/gauge.js +48 -0
- package/dist/components/charts/gauge.js.map +1 -0
- package/dist/components/charts/helpers.d.ts +20 -0
- package/dist/components/charts/helpers.d.ts.map +1 -0
- package/dist/components/charts/helpers.js +58 -0
- package/dist/components/charts/helpers.js.map +1 -0
- package/dist/components/charts/index.d.ts +10 -0
- package/dist/components/charts/index.d.ts.map +1 -0
- package/dist/components/charts/index.js +9 -0
- package/dist/components/charts/index.js.map +1 -0
- package/dist/components/charts/line.d.ts +13 -0
- package/dist/components/charts/line.d.ts.map +1 -0
- package/dist/components/charts/line.js +675 -0
- package/dist/components/charts/line.js.map +1 -0
- package/dist/components/charts/options.d.ts +62 -0
- package/dist/components/charts/options.d.ts.map +1 -0
- package/dist/components/charts/options.js +113 -0
- package/dist/components/charts/options.js.map +1 -0
- package/dist/components/charts/progress.d.ts +11 -0
- package/dist/components/charts/progress.d.ts.map +1 -0
- package/dist/components/charts/progress.js +49 -0
- package/dist/components/charts/progress.js.map +1 -0
- package/dist/components/charts/scatter.d.ts +11 -0
- package/dist/components/charts/scatter.d.ts.map +1 -0
- package/dist/components/charts/scatter.js +116 -0
- package/dist/components/charts/scatter.js.map +1 -0
- package/dist/components/charts/shared.d.ts +64 -0
- package/dist/components/charts/shared.d.ts.map +1 -0
- package/dist/components/charts/shared.js +159 -0
- package/dist/components/charts/shared.js.map +1 -0
- package/dist/components/charts/sparkline.d.ts +11 -0
- package/dist/components/charts/sparkline.d.ts.map +1 -0
- package/dist/components/charts/sparkline.js +52 -0
- package/dist/components/charts/sparkline.js.map +1 -0
- package/dist/components/charts/style.d.ts +19 -0
- package/dist/components/charts/style.d.ts.map +1 -0
- package/dist/components/charts/style.js +120 -0
- package/dist/components/charts/style.js.map +1 -0
- package/dist/components/charts/svg.d.ts +23 -0
- package/dist/components/charts/svg.d.ts.map +1 -0
- package/dist/components/charts/svg.js +143 -0
- package/dist/components/charts/svg.js.map +1 -0
- package/dist/components/command-palette/attrs.d.ts +165 -0
- package/dist/components/command-palette/attrs.d.ts.map +1 -0
- package/dist/components/command-palette/attrs.js +162 -0
- package/dist/components/command-palette/attrs.js.map +1 -0
- package/dist/components/command-palette/index.d.ts +18 -0
- package/dist/components/command-palette/index.d.ts.map +1 -0
- package/dist/components/command-palette/index.js +16 -0
- package/dist/components/command-palette/index.js.map +1 -0
- package/dist/components/command-palette/model.d.ts +46 -0
- package/dist/components/command-palette/model.d.ts.map +1 -0
- package/dist/components/command-palette/model.js +164 -0
- package/dist/components/command-palette/model.js.map +1 -0
- package/dist/components/command-palette/render.d.ts +3 -0
- package/dist/components/command-palette/render.d.ts.map +1 -0
- package/dist/components/command-palette/render.js +153 -0
- package/dist/components/command-palette/render.js.map +1 -0
- package/dist/components/command-palette/runtime.d.ts +3 -0
- package/dist/components/command-palette/runtime.d.ts.map +1 -0
- package/dist/components/command-palette/runtime.js +153 -0
- package/dist/components/command-palette/runtime.js.map +1 -0
- package/dist/components/command-palette/style.d.ts +5 -0
- package/dist/components/command-palette/style.d.ts.map +1 -0
- package/dist/components/command-palette/style.js +346 -0
- package/dist/components/command-palette/style.js.map +1 -0
- package/dist/components/compare-columns/attrs.d.ts +79 -0
- package/dist/components/compare-columns/attrs.d.ts.map +1 -0
- package/dist/components/compare-columns/attrs.js +86 -0
- package/dist/components/compare-columns/attrs.js.map +1 -0
- package/dist/components/compare-columns/index.d.ts +14 -0
- package/dist/components/compare-columns/index.d.ts.map +1 -0
- package/dist/components/compare-columns/index.js +12 -0
- package/dist/components/compare-columns/index.js.map +1 -0
- package/dist/components/compare-columns/model.d.ts +35 -0
- package/dist/components/compare-columns/model.d.ts.map +1 -0
- package/dist/components/compare-columns/model.js +112 -0
- package/dist/components/compare-columns/model.js.map +1 -0
- package/dist/components/compare-columns/render.d.ts +4 -0
- package/dist/components/compare-columns/render.d.ts.map +1 -0
- package/dist/components/compare-columns/render.js +92 -0
- package/dist/components/compare-columns/render.js.map +1 -0
- package/dist/components/compare-columns/style.d.ts +13 -0
- package/dist/components/compare-columns/style.d.ts.map +1 -0
- package/dist/components/compare-columns/style.js +287 -0
- package/dist/components/compare-columns/style.js.map +1 -0
- package/dist/components/confirm-strip/attrs.d.ts +111 -0
- package/dist/components/confirm-strip/attrs.d.ts.map +1 -0
- package/dist/components/confirm-strip/attrs.js +100 -0
- package/dist/components/confirm-strip/attrs.js.map +1 -0
- package/dist/components/confirm-strip/index.d.ts +32 -0
- package/dist/components/confirm-strip/index.d.ts.map +1 -0
- package/dist/components/confirm-strip/index.js +30 -0
- package/dist/components/confirm-strip/index.js.map +1 -0
- package/dist/components/confirm-strip/model.d.ts +40 -0
- package/dist/components/confirm-strip/model.d.ts.map +1 -0
- package/dist/components/confirm-strip/model.js +112 -0
- package/dist/components/confirm-strip/model.js.map +1 -0
- package/dist/components/confirm-strip/render.d.ts +3 -0
- package/dist/components/confirm-strip/render.d.ts.map +1 -0
- package/dist/components/confirm-strip/render.js +79 -0
- package/dist/components/confirm-strip/render.js.map +1 -0
- package/dist/components/confirm-strip/runtime.d.ts +3 -0
- package/dist/components/confirm-strip/runtime.d.ts.map +1 -0
- package/dist/components/confirm-strip/runtime.js +61 -0
- package/dist/components/confirm-strip/runtime.js.map +1 -0
- package/dist/components/confirm-strip/style.d.ts +13 -0
- package/dist/components/confirm-strip/style.d.ts.map +1 -0
- package/dist/components/confirm-strip/style.js +302 -0
- package/dist/components/confirm-strip/style.js.map +1 -0
- package/dist/components/controls/action-bar.d.ts +42 -0
- package/dist/components/controls/action-bar.d.ts.map +1 -0
- package/dist/components/controls/action-bar.js +216 -0
- package/dist/components/controls/action-bar.js.map +1 -0
- package/dist/components/controls/bind.d.ts +22 -0
- package/dist/components/controls/bind.d.ts.map +1 -0
- package/dist/components/controls/bind.js +62 -0
- package/dist/components/controls/bind.js.map +1 -0
- package/dist/components/controls/copy.d.ts +18 -0
- package/dist/components/controls/copy.d.ts.map +1 -0
- package/dist/components/controls/copy.js +132 -0
- package/dist/components/controls/copy.js.map +1 -0
- package/dist/components/controls/helpers-meta.d.ts +87 -0
- package/dist/components/controls/helpers-meta.d.ts.map +1 -0
- package/dist/components/controls/helpers-meta.js +114 -0
- package/dist/components/controls/helpers-meta.js.map +1 -0
- package/dist/components/controls/helpers.d.ts +11 -0
- package/dist/components/controls/helpers.d.ts.map +1 -0
- package/dist/components/controls/helpers.js +630 -0
- package/dist/components/controls/helpers.js.map +1 -0
- package/dist/components/controls/index.d.ts +13 -0
- package/dist/components/controls/index.d.ts.map +1 -0
- package/dist/components/controls/index.js +12 -0
- package/dist/components/controls/index.js.map +1 -0
- package/dist/components/controls/shared.d.ts +23 -0
- package/dist/components/controls/shared.d.ts.map +1 -0
- package/dist/components/controls/shared.js +48 -0
- package/dist/components/controls/shared.js.map +1 -0
- package/dist/components/controls/status.d.ts +20 -0
- package/dist/components/controls/status.d.ts.map +1 -0
- package/dist/components/controls/status.js +84 -0
- package/dist/components/controls/status.js.map +1 -0
- package/dist/components/controls/toast.d.ts +43 -0
- package/dist/components/controls/toast.d.ts.map +1 -0
- package/dist/components/controls/toast.js +164 -0
- package/dist/components/controls/toast.js.map +1 -0
- package/dist/components/date-range/attrs.d.ts +134 -0
- package/dist/components/date-range/attrs.d.ts.map +1 -0
- package/dist/components/date-range/attrs.js +136 -0
- package/dist/components/date-range/attrs.js.map +1 -0
- package/dist/components/date-range/index.d.ts +33 -0
- package/dist/components/date-range/index.d.ts.map +1 -0
- package/dist/components/date-range/index.js +31 -0
- package/dist/components/date-range/index.js.map +1 -0
- package/dist/components/date-range/model.d.ts +49 -0
- package/dist/components/date-range/model.d.ts.map +1 -0
- package/dist/components/date-range/model.js +160 -0
- package/dist/components/date-range/model.js.map +1 -0
- package/dist/components/date-range/render.d.ts +5 -0
- package/dist/components/date-range/render.d.ts.map +1 -0
- package/dist/components/date-range/render.js +208 -0
- package/dist/components/date-range/render.js.map +1 -0
- package/dist/components/date-range/runtime.d.ts +3 -0
- package/dist/components/date-range/runtime.d.ts.map +1 -0
- package/dist/components/date-range/runtime.js +240 -0
- package/dist/components/date-range/runtime.js.map +1 -0
- package/dist/components/date-range/style-calendar.d.ts +5 -0
- package/dist/components/date-range/style-calendar.d.ts.map +1 -0
- package/dist/components/date-range/style-calendar.js +144 -0
- package/dist/components/date-range/style-calendar.js.map +1 -0
- package/dist/components/date-range/style.d.ts +5 -0
- package/dist/components/date-range/style.d.ts.map +1 -0
- package/dist/components/date-range/style.js +259 -0
- package/dist/components/date-range/style.js.map +1 -0
- package/dist/components/dialog/attrs.d.ts +100 -0
- package/dist/components/dialog/attrs.d.ts.map +1 -0
- package/dist/components/dialog/attrs.js +76 -0
- package/dist/components/dialog/attrs.js.map +1 -0
- package/dist/components/dialog/index.d.ts +34 -0
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/dialog/index.js +32 -0
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/components/dialog/model.d.ts +32 -0
- package/dist/components/dialog/model.d.ts.map +1 -0
- package/dist/components/dialog/model.js +109 -0
- package/dist/components/dialog/model.js.map +1 -0
- package/dist/components/dialog/render.d.ts +5 -0
- package/dist/components/dialog/render.d.ts.map +1 -0
- package/dist/components/dialog/render.js +96 -0
- package/dist/components/dialog/render.js.map +1 -0
- package/dist/components/dialog/runtime.d.ts +3 -0
- package/dist/components/dialog/runtime.d.ts.map +1 -0
- package/dist/components/dialog/runtime.js +73 -0
- package/dist/components/dialog/runtime.js.map +1 -0
- package/dist/components/dialog/style.d.ts +14 -0
- package/dist/components/dialog/style.d.ts.map +1 -0
- package/dist/components/dialog/style.js +133 -0
- package/dist/components/dialog/style.js.map +1 -0
- package/dist/components/drawer-sheet/attrs.d.ts +113 -0
- package/dist/components/drawer-sheet/attrs.d.ts.map +1 -0
- package/dist/components/drawer-sheet/attrs.js +110 -0
- package/dist/components/drawer-sheet/attrs.js.map +1 -0
- package/dist/components/drawer-sheet/index.d.ts +35 -0
- package/dist/components/drawer-sheet/index.d.ts.map +1 -0
- package/dist/components/drawer-sheet/index.js +32 -0
- package/dist/components/drawer-sheet/index.js.map +1 -0
- package/dist/components/drawer-sheet/model.d.ts +36 -0
- package/dist/components/drawer-sheet/model.d.ts.map +1 -0
- package/dist/components/drawer-sheet/model.js +118 -0
- package/dist/components/drawer-sheet/model.js.map +1 -0
- package/dist/components/drawer-sheet/render.d.ts +5 -0
- package/dist/components/drawer-sheet/render.d.ts.map +1 -0
- package/dist/components/drawer-sheet/render.js +116 -0
- package/dist/components/drawer-sheet/render.js.map +1 -0
- package/dist/components/drawer-sheet/runtime.d.ts +3 -0
- package/dist/components/drawer-sheet/runtime.d.ts.map +1 -0
- package/dist/components/drawer-sheet/runtime.js +105 -0
- package/dist/components/drawer-sheet/runtime.js.map +1 -0
- package/dist/components/drawer-sheet/style.d.ts +8 -0
- package/dist/components/drawer-sheet/style.d.ts.map +1 -0
- package/dist/components/drawer-sheet/style.js +136 -0
- package/dist/components/drawer-sheet/style.js.map +1 -0
- package/dist/components/due-row/attrs.d.ts +106 -0
- package/dist/components/due-row/attrs.d.ts.map +1 -0
- package/dist/components/due-row/attrs.js +75 -0
- package/dist/components/due-row/attrs.js.map +1 -0
- package/dist/components/due-row/index.d.ts +35 -0
- package/dist/components/due-row/index.d.ts.map +1 -0
- package/dist/components/due-row/index.js +33 -0
- package/dist/components/due-row/index.js.map +1 -0
- package/dist/components/due-row/model.d.ts +35 -0
- package/dist/components/due-row/model.d.ts.map +1 -0
- package/dist/components/due-row/model.js +100 -0
- package/dist/components/due-row/model.js.map +1 -0
- package/dist/components/due-row/render.d.ts +6 -0
- package/dist/components/due-row/render.d.ts.map +1 -0
- package/dist/components/due-row/render.js +100 -0
- package/dist/components/due-row/render.js.map +1 -0
- package/dist/components/due-row/runtime.d.ts +3 -0
- package/dist/components/due-row/runtime.d.ts.map +1 -0
- package/dist/components/due-row/runtime.js +39 -0
- package/dist/components/due-row/runtime.js.map +1 -0
- package/dist/components/due-row/style.d.ts +15 -0
- package/dist/components/due-row/style.d.ts.map +1 -0
- package/dist/components/due-row/style.js +322 -0
- package/dist/components/due-row/style.js.map +1 -0
- package/dist/components/editable-value/attrs.d.ts +81 -0
- package/dist/components/editable-value/attrs.d.ts.map +1 -0
- package/dist/components/editable-value/attrs.js +43 -0
- package/dist/components/editable-value/attrs.js.map +1 -0
- package/dist/components/editable-value/index.d.ts +33 -0
- package/dist/components/editable-value/index.d.ts.map +1 -0
- package/dist/components/editable-value/index.js +31 -0
- package/dist/components/editable-value/index.js.map +1 -0
- package/dist/components/editable-value/render.d.ts +4 -0
- package/dist/components/editable-value/render.d.ts.map +1 -0
- package/dist/components/editable-value/render.js +142 -0
- package/dist/components/editable-value/render.js.map +1 -0
- package/dist/components/editable-value/runtime.d.ts +3 -0
- package/dist/components/editable-value/runtime.d.ts.map +1 -0
- package/dist/components/editable-value/runtime.js +178 -0
- package/dist/components/editable-value/runtime.js.map +1 -0
- package/dist/components/editable-value/style.d.ts +8 -0
- package/dist/components/editable-value/style.d.ts.map +1 -0
- package/dist/components/editable-value/style.js +55 -0
- package/dist/components/editable-value/style.js.map +1 -0
- package/dist/components/entry-rows/index.d.ts +11 -0
- package/dist/components/entry-rows/index.d.ts.map +1 -0
- package/dist/components/entry-rows/index.js +9 -0
- package/dist/components/entry-rows/index.js.map +1 -0
- package/dist/components/entry-rows/render.d.ts +33 -0
- package/dist/components/entry-rows/render.d.ts.map +1 -0
- package/dist/components/entry-rows/render.js +64 -0
- package/dist/components/entry-rows/render.js.map +1 -0
- package/dist/components/entry-rows/style.d.ts +9 -0
- package/dist/components/entry-rows/style.d.ts.map +1 -0
- package/dist/components/entry-rows/style.js +131 -0
- package/dist/components/entry-rows/style.js.map +1 -0
- package/dist/components/filter-chips/attrs.d.ts +119 -0
- package/dist/components/filter-chips/attrs.d.ts.map +1 -0
- package/dist/components/filter-chips/attrs.js +83 -0
- package/dist/components/filter-chips/attrs.js.map +1 -0
- package/dist/components/filter-chips/index.d.ts +38 -0
- package/dist/components/filter-chips/index.d.ts.map +1 -0
- package/dist/components/filter-chips/index.js +36 -0
- package/dist/components/filter-chips/index.js.map +1 -0
- package/dist/components/filter-chips/model.d.ts +30 -0
- package/dist/components/filter-chips/model.d.ts.map +1 -0
- package/dist/components/filter-chips/model.js +91 -0
- package/dist/components/filter-chips/model.js.map +1 -0
- package/dist/components/filter-chips/render.d.ts +5 -0
- package/dist/components/filter-chips/render.d.ts.map +1 -0
- package/dist/components/filter-chips/render.js +91 -0
- package/dist/components/filter-chips/render.js.map +1 -0
- package/dist/components/filter-chips/runtime.d.ts +3 -0
- package/dist/components/filter-chips/runtime.d.ts.map +1 -0
- package/dist/components/filter-chips/runtime.js +138 -0
- package/dist/components/filter-chips/runtime.js.map +1 -0
- package/dist/components/filter-chips/style.d.ts +9 -0
- package/dist/components/filter-chips/style.d.ts.map +1 -0
- package/dist/components/filter-chips/style.js +116 -0
- package/dist/components/filter-chips/style.js.map +1 -0
- package/dist/components/flow-ribbon/attrs.d.ts +120 -0
- package/dist/components/flow-ribbon/attrs.d.ts.map +1 -0
- package/dist/components/flow-ribbon/attrs.js +174 -0
- package/dist/components/flow-ribbon/attrs.js.map +1 -0
- package/dist/components/flow-ribbon/fields.d.ts +50 -0
- package/dist/components/flow-ribbon/fields.d.ts.map +1 -0
- package/dist/components/flow-ribbon/fields.js +206 -0
- package/dist/components/flow-ribbon/fields.js.map +1 -0
- package/dist/components/flow-ribbon/forms.d.ts +127 -0
- package/dist/components/flow-ribbon/forms.d.ts.map +1 -0
- package/dist/components/flow-ribbon/forms.js +218 -0
- package/dist/components/flow-ribbon/forms.js.map +1 -0
- package/dist/components/flow-ribbon/index.d.ts +14 -0
- package/dist/components/flow-ribbon/index.d.ts.map +1 -0
- package/dist/components/flow-ribbon/index.js +13 -0
- package/dist/components/flow-ribbon/index.js.map +1 -0
- package/dist/components/flow-ribbon/model.d.ts +6 -0
- package/dist/components/flow-ribbon/model.d.ts.map +1 -0
- package/dist/components/flow-ribbon/model.js +72 -0
- package/dist/components/flow-ribbon/model.js.map +1 -0
- package/dist/components/flow-ribbon/render.d.ts +3 -0
- package/dist/components/flow-ribbon/render.d.ts.map +1 -0
- package/dist/components/flow-ribbon/render.js +191 -0
- package/dist/components/flow-ribbon/render.js.map +1 -0
- package/dist/components/flow-ribbon/style-forms.d.ts +8 -0
- package/dist/components/flow-ribbon/style-forms.d.ts.map +1 -0
- package/dist/components/flow-ribbon/style-forms.js +255 -0
- package/dist/components/flow-ribbon/style-forms.js.map +1 -0
- package/dist/components/flow-ribbon/style-rails.d.ts +5 -0
- package/dist/components/flow-ribbon/style-rails.d.ts.map +1 -0
- package/dist/components/flow-ribbon/style-rails.js +130 -0
- package/dist/components/flow-ribbon/style-rails.js.map +1 -0
- package/dist/components/flow-ribbon/style.d.ts +5 -0
- package/dist/components/flow-ribbon/style.d.ts.map +1 -0
- package/dist/components/flow-ribbon/style.js +216 -0
- package/dist/components/flow-ribbon/style.js.map +1 -0
- package/dist/components/gantt-timeline/attrs.d.ts +145 -0
- package/dist/components/gantt-timeline/attrs.d.ts.map +1 -0
- package/dist/components/gantt-timeline/attrs.js +120 -0
- package/dist/components/gantt-timeline/attrs.js.map +1 -0
- package/dist/components/gantt-timeline/index.d.ts +14 -0
- package/dist/components/gantt-timeline/index.d.ts.map +1 -0
- package/dist/components/gantt-timeline/index.js +12 -0
- package/dist/components/gantt-timeline/index.js.map +1 -0
- package/dist/components/gantt-timeline/layout.d.ts +112 -0
- package/dist/components/gantt-timeline/layout.d.ts.map +1 -0
- package/dist/components/gantt-timeline/layout.js +136 -0
- package/dist/components/gantt-timeline/layout.js.map +1 -0
- package/dist/components/gantt-timeline/model.d.ts +7 -0
- package/dist/components/gantt-timeline/model.d.ts.map +1 -0
- package/dist/components/gantt-timeline/model.js +222 -0
- package/dist/components/gantt-timeline/model.js.map +1 -0
- package/dist/components/gantt-timeline/render.d.ts +3 -0
- package/dist/components/gantt-timeline/render.d.ts.map +1 -0
- package/dist/components/gantt-timeline/render.js +138 -0
- package/dist/components/gantt-timeline/render.js.map +1 -0
- package/dist/components/gantt-timeline/scale.d.ts +50 -0
- package/dist/components/gantt-timeline/scale.d.ts.map +1 -0
- package/dist/components/gantt-timeline/scale.js +108 -0
- package/dist/components/gantt-timeline/scale.js.map +1 -0
- package/dist/components/gantt-timeline/style-marks.d.ts +5 -0
- package/dist/components/gantt-timeline/style-marks.d.ts.map +1 -0
- package/dist/components/gantt-timeline/style-marks.js +199 -0
- package/dist/components/gantt-timeline/style-marks.js.map +1 -0
- package/dist/components/gantt-timeline/style.d.ts +22 -0
- package/dist/components/gantt-timeline/style.d.ts.map +1 -0
- package/dist/components/gantt-timeline/style.js +306 -0
- package/dist/components/gantt-timeline/style.js.map +1 -0
- package/dist/components/goal-stairs/attrs.d.ts +100 -0
- package/dist/components/goal-stairs/attrs.d.ts.map +1 -0
- package/dist/components/goal-stairs/attrs.js +101 -0
- package/dist/components/goal-stairs/attrs.js.map +1 -0
- package/dist/components/goal-stairs/index.d.ts +16 -0
- package/dist/components/goal-stairs/index.d.ts.map +1 -0
- package/dist/components/goal-stairs/index.js +14 -0
- package/dist/components/goal-stairs/index.js.map +1 -0
- package/dist/components/goal-stairs/model.d.ts +44 -0
- package/dist/components/goal-stairs/model.d.ts.map +1 -0
- package/dist/components/goal-stairs/model.js +126 -0
- package/dist/components/goal-stairs/model.js.map +1 -0
- package/dist/components/goal-stairs/render.d.ts +3 -0
- package/dist/components/goal-stairs/render.d.ts.map +1 -0
- package/dist/components/goal-stairs/render.js +76 -0
- package/dist/components/goal-stairs/render.js.map +1 -0
- package/dist/components/goal-stairs/style.d.ts +22 -0
- package/dist/components/goal-stairs/style.d.ts.map +1 -0
- package/dist/components/goal-stairs/style.js +321 -0
- package/dist/components/goal-stairs/style.js.map +1 -0
- package/dist/components/heat-grid/attrs.d.ts +72 -0
- package/dist/components/heat-grid/attrs.d.ts.map +1 -0
- package/dist/components/heat-grid/attrs.js +75 -0
- package/dist/components/heat-grid/attrs.js.map +1 -0
- package/dist/components/heat-grid/index.d.ts +15 -0
- package/dist/components/heat-grid/index.d.ts.map +1 -0
- package/dist/components/heat-grid/index.js +13 -0
- package/dist/components/heat-grid/index.js.map +1 -0
- package/dist/components/heat-grid/model.d.ts +41 -0
- package/dist/components/heat-grid/model.d.ts.map +1 -0
- package/dist/components/heat-grid/model.js +176 -0
- package/dist/components/heat-grid/model.js.map +1 -0
- package/dist/components/heat-grid/render.d.ts +3 -0
- package/dist/components/heat-grid/render.d.ts.map +1 -0
- package/dist/components/heat-grid/render.js +104 -0
- package/dist/components/heat-grid/render.js.map +1 -0
- package/dist/components/heat-grid/style.d.ts +7 -0
- package/dist/components/heat-grid/style.d.ts.map +1 -0
- package/dist/components/heat-grid/style.js +269 -0
- package/dist/components/heat-grid/style.js.map +1 -0
- package/dist/components/help/index.d.ts +8 -0
- package/dist/components/help/index.d.ts.map +1 -0
- package/dist/components/help/index.js +7 -0
- package/dist/components/help/index.js.map +1 -0
- package/dist/components/help/render.d.ts +25 -0
- package/dist/components/help/render.d.ts.map +1 -0
- package/dist/components/help/render.js +246 -0
- package/dist/components/help/render.js.map +1 -0
- package/dist/components/help/schema.d.ts +12 -0
- package/dist/components/help/schema.d.ts.map +1 -0
- package/dist/components/help/schema.js +221 -0
- package/dist/components/help/schema.js.map +1 -0
- package/dist/components/help/shared.d.ts +34 -0
- package/dist/components/help/shared.d.ts.map +1 -0
- package/dist/components/help/shared.js +56 -0
- package/dist/components/help/shared.js.map +1 -0
- package/dist/components/help/shell.d.ts +18 -0
- package/dist/components/help/shell.d.ts.map +1 -0
- package/dist/components/help/shell.js +30 -0
- package/dist/components/help/shell.js.map +1 -0
- package/dist/components/help/template.d.ts +18 -0
- package/dist/components/help/template.d.ts.map +1 -0
- package/dist/components/help/template.js +67 -0
- package/dist/components/help/template.js.map +1 -0
- package/dist/components/hour-band/attrs.d.ts +96 -0
- package/dist/components/hour-band/attrs.d.ts.map +1 -0
- package/dist/components/hour-band/attrs.js +89 -0
- package/dist/components/hour-band/attrs.js.map +1 -0
- package/dist/components/hour-band/index.d.ts +17 -0
- package/dist/components/hour-band/index.d.ts.map +1 -0
- package/dist/components/hour-band/index.js +15 -0
- package/dist/components/hour-band/index.js.map +1 -0
- package/dist/components/hour-band/model.d.ts +51 -0
- package/dist/components/hour-band/model.d.ts.map +1 -0
- package/dist/components/hour-band/model.js +149 -0
- package/dist/components/hour-band/model.js.map +1 -0
- package/dist/components/hour-band/render.d.ts +3 -0
- package/dist/components/hour-band/render.d.ts.map +1 -0
- package/dist/components/hour-band/render.js +100 -0
- package/dist/components/hour-band/render.js.map +1 -0
- package/dist/components/hour-band/style.d.ts +9 -0
- package/dist/components/hour-band/style.d.ts.map +1 -0
- package/dist/components/hour-band/style.js +134 -0
- package/dist/components/hour-band/style.js.map +1 -0
- package/dist/components/index.d.ts +103 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +171 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/invoice-lines/attrs.d.ts +77 -0
- package/dist/components/invoice-lines/attrs.d.ts.map +1 -0
- package/dist/components/invoice-lines/attrs.js +75 -0
- package/dist/components/invoice-lines/attrs.js.map +1 -0
- package/dist/components/invoice-lines/index.d.ts +15 -0
- package/dist/components/invoice-lines/index.d.ts.map +1 -0
- package/dist/components/invoice-lines/index.js +13 -0
- package/dist/components/invoice-lines/index.js.map +1 -0
- package/dist/components/invoice-lines/model.d.ts +58 -0
- package/dist/components/invoice-lines/model.d.ts.map +1 -0
- package/dist/components/invoice-lines/model.js +180 -0
- package/dist/components/invoice-lines/model.js.map +1 -0
- package/dist/components/invoice-lines/render.d.ts +3 -0
- package/dist/components/invoice-lines/render.d.ts.map +1 -0
- package/dist/components/invoice-lines/render.js +116 -0
- package/dist/components/invoice-lines/render.js.map +1 -0
- package/dist/components/invoice-lines/style.d.ts +13 -0
- package/dist/components/invoice-lines/style.d.ts.map +1 -0
- package/dist/components/invoice-lines/style.js +271 -0
- package/dist/components/invoice-lines/style.js.map +1 -0
- package/dist/components/key-value-list/attrs.d.ts +49 -0
- package/dist/components/key-value-list/attrs.d.ts.map +1 -0
- package/dist/components/key-value-list/attrs.js +43 -0
- package/dist/components/key-value-list/attrs.js.map +1 -0
- package/dist/components/key-value-list/index.d.ts +14 -0
- package/dist/components/key-value-list/index.d.ts.map +1 -0
- package/dist/components/key-value-list/index.js +12 -0
- package/dist/components/key-value-list/index.js.map +1 -0
- package/dist/components/key-value-list/model.d.ts +16 -0
- package/dist/components/key-value-list/model.d.ts.map +1 -0
- package/dist/components/key-value-list/model.js +49 -0
- package/dist/components/key-value-list/model.js.map +1 -0
- package/dist/components/key-value-list/render.d.ts +5 -0
- package/dist/components/key-value-list/render.d.ts.map +1 -0
- package/dist/components/key-value-list/render.js +61 -0
- package/dist/components/key-value-list/render.js.map +1 -0
- package/dist/components/key-value-list/style.d.ts +5 -0
- package/dist/components/key-value-list/style.d.ts.map +1 -0
- package/dist/components/key-value-list/style.js +136 -0
- package/dist/components/key-value-list/style.js.map +1 -0
- package/dist/components/ledger-rows/index.d.ts +11 -0
- package/dist/components/ledger-rows/index.d.ts.map +1 -0
- package/dist/components/ledger-rows/index.js +9 -0
- package/dist/components/ledger-rows/index.js.map +1 -0
- package/dist/components/ledger-rows/render.d.ts +27 -0
- package/dist/components/ledger-rows/render.d.ts.map +1 -0
- package/dist/components/ledger-rows/render.js +58 -0
- package/dist/components/ledger-rows/render.js.map +1 -0
- package/dist/components/ledger-rows/style.d.ts +5 -0
- package/dist/components/ledger-rows/style.d.ts.map +1 -0
- package/dist/components/ledger-rows/style.js +88 -0
- package/dist/components/ledger-rows/style.js.map +1 -0
- package/dist/components/multi-checks/attrs.d.ts +138 -0
- package/dist/components/multi-checks/attrs.d.ts.map +1 -0
- package/dist/components/multi-checks/attrs.js +119 -0
- package/dist/components/multi-checks/attrs.js.map +1 -0
- package/dist/components/multi-checks/index.d.ts +14 -0
- package/dist/components/multi-checks/index.d.ts.map +1 -0
- package/dist/components/multi-checks/index.js +12 -0
- package/dist/components/multi-checks/index.js.map +1 -0
- package/dist/components/multi-checks/model.d.ts +63 -0
- package/dist/components/multi-checks/model.d.ts.map +1 -0
- package/dist/components/multi-checks/model.js +214 -0
- package/dist/components/multi-checks/model.js.map +1 -0
- package/dist/components/multi-checks/render.d.ts +3 -0
- package/dist/components/multi-checks/render.d.ts.map +1 -0
- package/dist/components/multi-checks/render.js +228 -0
- package/dist/components/multi-checks/render.js.map +1 -0
- package/dist/components/multi-checks/runtime.d.ts +19 -0
- package/dist/components/multi-checks/runtime.d.ts.map +1 -0
- package/dist/components/multi-checks/runtime.js +127 -0
- package/dist/components/multi-checks/runtime.js.map +1 -0
- package/dist/components/multi-checks/style.d.ts +15 -0
- package/dist/components/multi-checks/style.d.ts.map +1 -0
- package/dist/components/multi-checks/style.js +380 -0
- package/dist/components/multi-checks/style.js.map +1 -0
- package/dist/components/note-block/attrs.d.ts +56 -0
- package/dist/components/note-block/attrs.d.ts.map +1 -0
- package/dist/components/note-block/attrs.js +52 -0
- package/dist/components/note-block/attrs.js.map +1 -0
- package/dist/components/note-block/index.d.ts +14 -0
- package/dist/components/note-block/index.d.ts.map +1 -0
- package/dist/components/note-block/index.js +12 -0
- package/dist/components/note-block/index.js.map +1 -0
- package/dist/components/note-block/model.d.ts +22 -0
- package/dist/components/note-block/model.d.ts.map +1 -0
- package/dist/components/note-block/model.js +70 -0
- package/dist/components/note-block/model.js.map +1 -0
- package/dist/components/note-block/render.d.ts +3 -0
- package/dist/components/note-block/render.d.ts.map +1 -0
- package/dist/components/note-block/render.js +88 -0
- package/dist/components/note-block/render.js.map +1 -0
- package/dist/components/note-block/style.d.ts +11 -0
- package/dist/components/note-block/style.d.ts.map +1 -0
- package/dist/components/note-block/style.js +182 -0
- package/dist/components/note-block/style.js.map +1 -0
- package/dist/components/number-stepper/attrs.d.ts +113 -0
- package/dist/components/number-stepper/attrs.d.ts.map +1 -0
- package/dist/components/number-stepper/attrs.js +106 -0
- package/dist/components/number-stepper/attrs.js.map +1 -0
- package/dist/components/number-stepper/index.d.ts +26 -0
- package/dist/components/number-stepper/index.d.ts.map +1 -0
- package/dist/components/number-stepper/index.js +24 -0
- package/dist/components/number-stepper/index.js.map +1 -0
- package/dist/components/number-stepper/model.d.ts +25 -0
- package/dist/components/number-stepper/model.d.ts.map +1 -0
- package/dist/components/number-stepper/model.js +141 -0
- package/dist/components/number-stepper/model.js.map +1 -0
- package/dist/components/number-stepper/render.d.ts +5 -0
- package/dist/components/number-stepper/render.d.ts.map +1 -0
- package/dist/components/number-stepper/render.js +176 -0
- package/dist/components/number-stepper/render.js.map +1 -0
- package/dist/components/number-stepper/runtime.d.ts +3 -0
- package/dist/components/number-stepper/runtime.d.ts.map +1 -0
- package/dist/components/number-stepper/runtime.js +203 -0
- package/dist/components/number-stepper/runtime.js.map +1 -0
- package/dist/components/number-stepper/style.d.ts +5 -0
- package/dist/components/number-stepper/style.d.ts.map +1 -0
- package/dist/components/number-stepper/style.js +309 -0
- package/dist/components/number-stepper/style.js.map +1 -0
- package/dist/components/page/fact-strip.d.ts +36 -0
- package/dist/components/page/fact-strip.d.ts.map +1 -0
- package/dist/components/page/fact-strip.js +91 -0
- package/dist/components/page/fact-strip.js.map +1 -0
- package/dist/components/page/index.d.ts +13 -0
- package/dist/components/page/index.d.ts.map +1 -0
- package/dist/components/page/index.js +12 -0
- package/dist/components/page/index.js.map +1 -0
- package/dist/components/page/media.d.ts +67 -0
- package/dist/components/page/media.d.ts.map +1 -0
- package/dist/components/page/media.js +191 -0
- package/dist/components/page/media.js.map +1 -0
- package/dist/components/page/shared.d.ts +12 -0
- package/dist/components/page/shared.d.ts.map +1 -0
- package/dist/components/page/shared.js +34 -0
- package/dist/components/page/shared.js.map +1 -0
- package/dist/components/page/style.d.ts +5 -0
- package/dist/components/page/style.d.ts.map +1 -0
- package/dist/components/page/style.js +28 -0
- package/dist/components/page/style.js.map +1 -0
- package/dist/components/page/timeline.d.ts +25 -0
- package/dist/components/page/timeline.d.ts.map +1 -0
- package/dist/components/page/timeline.js +79 -0
- package/dist/components/page/timeline.js.map +1 -0
- package/dist/components/page-bars/index.d.ts +98 -0
- package/dist/components/page-bars/index.d.ts.map +1 -0
- package/dist/components/page-bars/index.js +180 -0
- package/dist/components/page-bars/index.js.map +1 -0
- package/dist/components/page-bars/style.d.ts +14 -0
- package/dist/components/page-bars/style.d.ts.map +1 -0
- package/dist/components/page-bars/style.js +231 -0
- package/dist/components/page-bars/style.js.map +1 -0
- package/dist/components/page-head/attrs.d.ts +57 -0
- package/dist/components/page-head/attrs.d.ts.map +1 -0
- package/dist/components/page-head/attrs.js +53 -0
- package/dist/components/page-head/attrs.js.map +1 -0
- package/dist/components/page-head/index.d.ts +13 -0
- package/dist/components/page-head/index.d.ts.map +1 -0
- package/dist/components/page-head/index.js +11 -0
- package/dist/components/page-head/index.js.map +1 -0
- package/dist/components/page-head/model.d.ts +23 -0
- package/dist/components/page-head/model.d.ts.map +1 -0
- package/dist/components/page-head/model.js +77 -0
- package/dist/components/page-head/model.js.map +1 -0
- package/dist/components/page-head/render.d.ts +3 -0
- package/dist/components/page-head/render.d.ts.map +1 -0
- package/dist/components/page-head/render.js +84 -0
- package/dist/components/page-head/render.js.map +1 -0
- package/dist/components/page-head/style.d.ts +9 -0
- package/dist/components/page-head/style.d.ts.map +1 -0
- package/dist/components/page-head/style.js +245 -0
- package/dist/components/page-head/style.js.map +1 -0
- package/dist/components/page-nav/index.d.ts +55 -0
- package/dist/components/page-nav/index.d.ts.map +1 -0
- package/dist/components/page-nav/index.js +125 -0
- package/dist/components/page-nav/index.js.map +1 -0
- package/dist/components/page-nav/style.d.ts +23 -0
- package/dist/components/page-nav/style.d.ts.map +1 -0
- package/dist/components/page-nav/style.js +93 -0
- package/dist/components/page-nav/style.js.map +1 -0
- package/dist/components/page-ui/index.d.ts +67 -0
- package/dist/components/page-ui/index.d.ts.map +1 -0
- package/dist/components/page-ui/index.js +394 -0
- package/dist/components/page-ui/index.js.map +1 -0
- package/dist/components/page-ui/toast.d.ts +16 -0
- package/dist/components/page-ui/toast.d.ts.map +1 -0
- package/dist/components/page-ui/toast.js +47 -0
- package/dist/components/page-ui/toast.js.map +1 -0
- package/dist/components/photo-compare/attrs.d.ts +84 -0
- package/dist/components/photo-compare/attrs.d.ts.map +1 -0
- package/dist/components/photo-compare/attrs.js +86 -0
- package/dist/components/photo-compare/attrs.js.map +1 -0
- package/dist/components/photo-compare/index.d.ts +16 -0
- package/dist/components/photo-compare/index.d.ts.map +1 -0
- package/dist/components/photo-compare/index.js +14 -0
- package/dist/components/photo-compare/index.js.map +1 -0
- package/dist/components/photo-compare/model.d.ts +38 -0
- package/dist/components/photo-compare/model.d.ts.map +1 -0
- package/dist/components/photo-compare/model.js +87 -0
- package/dist/components/photo-compare/model.js.map +1 -0
- package/dist/components/photo-compare/render.d.ts +3 -0
- package/dist/components/photo-compare/render.d.ts.map +1 -0
- package/dist/components/photo-compare/render.js +98 -0
- package/dist/components/photo-compare/render.js.map +1 -0
- package/dist/components/photo-compare/runtime.d.ts +3 -0
- package/dist/components/photo-compare/runtime.d.ts.map +1 -0
- package/dist/components/photo-compare/runtime.js +39 -0
- package/dist/components/photo-compare/runtime.js.map +1 -0
- package/dist/components/photo-compare/style.d.ts +14 -0
- package/dist/components/photo-compare/style.d.ts.map +1 -0
- package/dist/components/photo-compare/style.js +396 -0
- package/dist/components/photo-compare/style.js.map +1 -0
- package/dist/components/photo-grid/attrs.d.ts +78 -0
- package/dist/components/photo-grid/attrs.d.ts.map +1 -0
- package/dist/components/photo-grid/attrs.js +78 -0
- package/dist/components/photo-grid/attrs.js.map +1 -0
- package/dist/components/photo-grid/index.d.ts +13 -0
- package/dist/components/photo-grid/index.d.ts.map +1 -0
- package/dist/components/photo-grid/index.js +11 -0
- package/dist/components/photo-grid/index.js.map +1 -0
- package/dist/components/photo-grid/model.d.ts +35 -0
- package/dist/components/photo-grid/model.d.ts.map +1 -0
- package/dist/components/photo-grid/model.js +123 -0
- package/dist/components/photo-grid/model.js.map +1 -0
- package/dist/components/photo-grid/render.d.ts +3 -0
- package/dist/components/photo-grid/render.d.ts.map +1 -0
- package/dist/components/photo-grid/render.js +116 -0
- package/dist/components/photo-grid/render.js.map +1 -0
- package/dist/components/photo-grid/style.d.ts +17 -0
- package/dist/components/photo-grid/style.d.ts.map +1 -0
- package/dist/components/photo-grid/style.js +110 -0
- package/dist/components/photo-grid/style.js.map +1 -0
- package/dist/components/popover-menu/attrs.d.ts +98 -0
- package/dist/components/popover-menu/attrs.d.ts.map +1 -0
- package/dist/components/popover-menu/attrs.js +81 -0
- package/dist/components/popover-menu/attrs.js.map +1 -0
- package/dist/components/popover-menu/index.d.ts +33 -0
- package/dist/components/popover-menu/index.d.ts.map +1 -0
- package/dist/components/popover-menu/index.js +30 -0
- package/dist/components/popover-menu/index.js.map +1 -0
- package/dist/components/popover-menu/model.d.ts +26 -0
- package/dist/components/popover-menu/model.d.ts.map +1 -0
- package/dist/components/popover-menu/model.js +79 -0
- package/dist/components/popover-menu/model.js.map +1 -0
- package/dist/components/popover-menu/render.d.ts +3 -0
- package/dist/components/popover-menu/render.d.ts.map +1 -0
- package/dist/components/popover-menu/render.js +84 -0
- package/dist/components/popover-menu/render.js.map +1 -0
- package/dist/components/popover-menu/runtime.d.ts +3 -0
- package/dist/components/popover-menu/runtime.d.ts.map +1 -0
- package/dist/components/popover-menu/runtime.js +107 -0
- package/dist/components/popover-menu/runtime.js.map +1 -0
- package/dist/components/popover-menu/style.d.ts +8 -0
- package/dist/components/popover-menu/style.d.ts.map +1 -0
- package/dist/components/popover-menu/style.js +92 -0
- package/dist/components/popover-menu/style.js.map +1 -0
- package/dist/components/progress-list/attrs.d.ts +77 -0
- package/dist/components/progress-list/attrs.d.ts.map +1 -0
- package/dist/components/progress-list/attrs.js +72 -0
- package/dist/components/progress-list/attrs.js.map +1 -0
- package/dist/components/progress-list/index.d.ts +16 -0
- package/dist/components/progress-list/index.d.ts.map +1 -0
- package/dist/components/progress-list/index.js +14 -0
- package/dist/components/progress-list/index.js.map +1 -0
- package/dist/components/progress-list/model.d.ts +34 -0
- package/dist/components/progress-list/model.d.ts.map +1 -0
- package/dist/components/progress-list/model.js +132 -0
- package/dist/components/progress-list/model.js.map +1 -0
- package/dist/components/progress-list/render.d.ts +3 -0
- package/dist/components/progress-list/render.d.ts.map +1 -0
- package/dist/components/progress-list/render.js +84 -0
- package/dist/components/progress-list/render.js.map +1 -0
- package/dist/components/progress-list/style.d.ts +10 -0
- package/dist/components/progress-list/style.d.ts.map +1 -0
- package/dist/components/progress-list/style.js +207 -0
- package/dist/components/progress-list/style.js.map +1 -0
- package/dist/components/progress-ring/attrs.d.ts +59 -0
- package/dist/components/progress-ring/attrs.d.ts.map +1 -0
- package/dist/components/progress-ring/attrs.js +65 -0
- package/dist/components/progress-ring/attrs.js.map +1 -0
- package/dist/components/progress-ring/index.d.ts +13 -0
- package/dist/components/progress-ring/index.d.ts.map +1 -0
- package/dist/components/progress-ring/index.js +11 -0
- package/dist/components/progress-ring/index.js.map +1 -0
- package/dist/components/progress-ring/model.d.ts +32 -0
- package/dist/components/progress-ring/model.d.ts.map +1 -0
- package/dist/components/progress-ring/model.js +113 -0
- package/dist/components/progress-ring/model.js.map +1 -0
- package/dist/components/progress-ring/render.d.ts +3 -0
- package/dist/components/progress-ring/render.d.ts.map +1 -0
- package/dist/components/progress-ring/render.js +91 -0
- package/dist/components/progress-ring/render.js.map +1 -0
- package/dist/components/progress-ring/style.d.ts +9 -0
- package/dist/components/progress-ring/style.d.ts.map +1 -0
- package/dist/components/progress-ring/style.js +230 -0
- package/dist/components/progress-ring/style.js.map +1 -0
- package/dist/components/punch-strip/index.d.ts +12 -0
- package/dist/components/punch-strip/index.d.ts.map +1 -0
- package/dist/components/punch-strip/index.js +10 -0
- package/dist/components/punch-strip/index.js.map +1 -0
- package/dist/components/punch-strip/render.d.ts +24 -0
- package/dist/components/punch-strip/render.d.ts.map +1 -0
- package/dist/components/punch-strip/render.js +63 -0
- package/dist/components/punch-strip/render.js.map +1 -0
- package/dist/components/punch-strip/style.d.ts +8 -0
- package/dist/components/punch-strip/style.d.ts.map +1 -0
- package/dist/components/punch-strip/style.js +94 -0
- package/dist/components/punch-strip/style.js.map +1 -0
- package/dist/components/radar-profile/attrs.d.ts +110 -0
- package/dist/components/radar-profile/attrs.d.ts.map +1 -0
- package/dist/components/radar-profile/attrs.js +179 -0
- package/dist/components/radar-profile/attrs.js.map +1 -0
- package/dist/components/radar-profile/forms.d.ts +146 -0
- package/dist/components/radar-profile/forms.d.ts.map +1 -0
- package/dist/components/radar-profile/forms.js +258 -0
- package/dist/components/radar-profile/forms.js.map +1 -0
- package/dist/components/radar-profile/index.d.ts +13 -0
- package/dist/components/radar-profile/index.d.ts.map +1 -0
- package/dist/components/radar-profile/index.js +12 -0
- package/dist/components/radar-profile/index.js.map +1 -0
- package/dist/components/radar-profile/model.d.ts +5 -0
- package/dist/components/radar-profile/model.d.ts.map +1 -0
- package/dist/components/radar-profile/model.js +156 -0
- package/dist/components/radar-profile/model.js.map +1 -0
- package/dist/components/radar-profile/render.d.ts +3 -0
- package/dist/components/radar-profile/render.d.ts.map +1 -0
- package/dist/components/radar-profile/render.js +193 -0
- package/dist/components/radar-profile/render.js.map +1 -0
- package/dist/components/radar-profile/scale.d.ts +65 -0
- package/dist/components/radar-profile/scale.d.ts.map +1 -0
- package/dist/components/radar-profile/scale.js +132 -0
- package/dist/components/radar-profile/scale.js.map +1 -0
- package/dist/components/radar-profile/style-forms.d.ts +5 -0
- package/dist/components/radar-profile/style-forms.d.ts.map +1 -0
- package/dist/components/radar-profile/style-forms.js +192 -0
- package/dist/components/radar-profile/style-forms.js.map +1 -0
- package/dist/components/radar-profile/style.d.ts +5 -0
- package/dist/components/radar-profile/style.d.ts.map +1 -0
- package/dist/components/radar-profile/style.js +471 -0
- package/dist/components/radar-profile/style.js.map +1 -0
- package/dist/components/radio-cards/attrs.d.ts +99 -0
- package/dist/components/radio-cards/attrs.d.ts.map +1 -0
- package/dist/components/radio-cards/attrs.js +85 -0
- package/dist/components/radio-cards/attrs.js.map +1 -0
- package/dist/components/radio-cards/index.d.ts +14 -0
- package/dist/components/radio-cards/index.d.ts.map +1 -0
- package/dist/components/radio-cards/index.js +12 -0
- package/dist/components/radio-cards/index.js.map +1 -0
- package/dist/components/radio-cards/model.d.ts +33 -0
- package/dist/components/radio-cards/model.d.ts.map +1 -0
- package/dist/components/radio-cards/model.js +104 -0
- package/dist/components/radio-cards/model.js.map +1 -0
- package/dist/components/radio-cards/render.d.ts +3 -0
- package/dist/components/radio-cards/render.d.ts.map +1 -0
- package/dist/components/radio-cards/render.js +138 -0
- package/dist/components/radio-cards/render.js.map +1 -0
- package/dist/components/radio-cards/runtime.d.ts +17 -0
- package/dist/components/radio-cards/runtime.d.ts.map +1 -0
- package/dist/components/radio-cards/runtime.js +54 -0
- package/dist/components/radio-cards/runtime.js.map +1 -0
- package/dist/components/radio-cards/style.d.ts +17 -0
- package/dist/components/radio-cards/style.d.ts.map +1 -0
- package/dist/components/radio-cards/style.js +284 -0
- package/dist/components/radio-cards/style.js.map +1 -0
- package/dist/components/range-bar/attrs.d.ts +96 -0
- package/dist/components/range-bar/attrs.d.ts.map +1 -0
- package/dist/components/range-bar/attrs.js +71 -0
- package/dist/components/range-bar/attrs.js.map +1 -0
- package/dist/components/range-bar/index.d.ts +13 -0
- package/dist/components/range-bar/index.d.ts.map +1 -0
- package/dist/components/range-bar/index.js +11 -0
- package/dist/components/range-bar/index.js.map +1 -0
- package/dist/components/range-bar/model.d.ts +39 -0
- package/dist/components/range-bar/model.d.ts.map +1 -0
- package/dist/components/range-bar/model.js +139 -0
- package/dist/components/range-bar/model.js.map +1 -0
- package/dist/components/range-bar/render.d.ts +3 -0
- package/dist/components/range-bar/render.d.ts.map +1 -0
- package/dist/components/range-bar/render.js +86 -0
- package/dist/components/range-bar/render.js.map +1 -0
- package/dist/components/range-bar/style.d.ts +15 -0
- package/dist/components/range-bar/style.d.ts.map +1 -0
- package/dist/components/range-bar/style.js +210 -0
- package/dist/components/range-bar/style.js.map +1 -0
- package/dist/components/rank-list/attrs.d.ts +55 -0
- package/dist/components/rank-list/attrs.d.ts.map +1 -0
- package/dist/components/rank-list/attrs.js +61 -0
- package/dist/components/rank-list/attrs.js.map +1 -0
- package/dist/components/rank-list/index.d.ts +14 -0
- package/dist/components/rank-list/index.d.ts.map +1 -0
- package/dist/components/rank-list/index.js +12 -0
- package/dist/components/rank-list/index.js.map +1 -0
- package/dist/components/rank-list/model.d.ts +30 -0
- package/dist/components/rank-list/model.d.ts.map +1 -0
- package/dist/components/rank-list/model.js +102 -0
- package/dist/components/rank-list/model.js.map +1 -0
- package/dist/components/rank-list/render.d.ts +4 -0
- package/dist/components/rank-list/render.d.ts.map +1 -0
- package/dist/components/rank-list/render.js +83 -0
- package/dist/components/rank-list/render.js.map +1 -0
- package/dist/components/rank-list/style.d.ts +15 -0
- package/dist/components/rank-list/style.d.ts.map +1 -0
- package/dist/components/rank-list/style.js +247 -0
- package/dist/components/rank-list/style.js.map +1 -0
- package/dist/components/rating-row/attrs.d.ts +94 -0
- package/dist/components/rating-row/attrs.d.ts.map +1 -0
- package/dist/components/rating-row/attrs.js +90 -0
- package/dist/components/rating-row/attrs.js.map +1 -0
- package/dist/components/rating-row/index.d.ts +14 -0
- package/dist/components/rating-row/index.d.ts.map +1 -0
- package/dist/components/rating-row/index.js +12 -0
- package/dist/components/rating-row/index.js.map +1 -0
- package/dist/components/rating-row/model.d.ts +28 -0
- package/dist/components/rating-row/model.d.ts.map +1 -0
- package/dist/components/rating-row/model.js +99 -0
- package/dist/components/rating-row/model.js.map +1 -0
- package/dist/components/rating-row/render.d.ts +3 -0
- package/dist/components/rating-row/render.d.ts.map +1 -0
- package/dist/components/rating-row/render.js +122 -0
- package/dist/components/rating-row/render.js.map +1 -0
- package/dist/components/rating-row/runtime.d.ts +18 -0
- package/dist/components/rating-row/runtime.d.ts.map +1 -0
- package/dist/components/rating-row/runtime.js +92 -0
- package/dist/components/rating-row/runtime.js.map +1 -0
- package/dist/components/rating-row/style.d.ts +13 -0
- package/dist/components/rating-row/style.d.ts.map +1 -0
- package/dist/components/rating-row/style.js +234 -0
- package/dist/components/rating-row/style.js.map +1 -0
- package/dist/components/result-row/attrs.d.ts +50 -0
- package/dist/components/result-row/attrs.d.ts.map +1 -0
- package/dist/components/result-row/attrs.js +31 -0
- package/dist/components/result-row/attrs.js.map +1 -0
- package/dist/components/result-row/index.d.ts +29 -0
- package/dist/components/result-row/index.d.ts.map +1 -0
- package/dist/components/result-row/index.js +27 -0
- package/dist/components/result-row/index.js.map +1 -0
- package/dist/components/result-row/model.d.ts +22 -0
- package/dist/components/result-row/model.d.ts.map +1 -0
- package/dist/components/result-row/model.js +53 -0
- package/dist/components/result-row/model.js.map +1 -0
- package/dist/components/result-row/render.d.ts +5 -0
- package/dist/components/result-row/render.d.ts.map +1 -0
- package/dist/components/result-row/render.js +87 -0
- package/dist/components/result-row/render.js.map +1 -0
- package/dist/components/result-row/style.d.ts +11 -0
- package/dist/components/result-row/style.d.ts.map +1 -0
- package/dist/components/result-row/style.js +67 -0
- package/dist/components/result-row/style.js.map +1 -0
- package/dist/components/scale-bar/index.d.ts +11 -0
- package/dist/components/scale-bar/index.d.ts.map +1 -0
- package/dist/components/scale-bar/index.js +9 -0
- package/dist/components/scale-bar/index.js.map +1 -0
- package/dist/components/scale-bar/render.d.ts +23 -0
- package/dist/components/scale-bar/render.d.ts.map +1 -0
- package/dist/components/scale-bar/render.js +79 -0
- package/dist/components/scale-bar/render.js.map +1 -0
- package/dist/components/scale-bar/style.d.ts +8 -0
- package/dist/components/scale-bar/style.d.ts.map +1 -0
- package/dist/components/scale-bar/style.js +86 -0
- package/dist/components/scale-bar/style.js.map +1 -0
- package/dist/components/scatter-fit/attrs.d.ts +106 -0
- package/dist/components/scatter-fit/attrs.d.ts.map +1 -0
- package/dist/components/scatter-fit/attrs.js +112 -0
- package/dist/components/scatter-fit/attrs.js.map +1 -0
- package/dist/components/scatter-fit/forms.d.ts +86 -0
- package/dist/components/scatter-fit/forms.d.ts.map +1 -0
- package/dist/components/scatter-fit/forms.js +149 -0
- package/dist/components/scatter-fit/forms.js.map +1 -0
- package/dist/components/scatter-fit/index.d.ts +13 -0
- package/dist/components/scatter-fit/index.d.ts.map +1 -0
- package/dist/components/scatter-fit/index.js +11 -0
- package/dist/components/scatter-fit/index.js.map +1 -0
- package/dist/components/scatter-fit/model.d.ts +5 -0
- package/dist/components/scatter-fit/model.d.ts.map +1 -0
- package/dist/components/scatter-fit/model.js +146 -0
- package/dist/components/scatter-fit/model.js.map +1 -0
- package/dist/components/scatter-fit/render.d.ts +3 -0
- package/dist/components/scatter-fit/render.d.ts.map +1 -0
- package/dist/components/scatter-fit/render.js +140 -0
- package/dist/components/scatter-fit/render.js.map +1 -0
- package/dist/components/scatter-fit/scale.d.ts +60 -0
- package/dist/components/scatter-fit/scale.d.ts.map +1 -0
- package/dist/components/scatter-fit/scale.js +193 -0
- package/dist/components/scatter-fit/scale.js.map +1 -0
- package/dist/components/scatter-fit/style-forms.d.ts +7 -0
- package/dist/components/scatter-fit/style-forms.d.ts.map +1 -0
- package/dist/components/scatter-fit/style-forms.js +168 -0
- package/dist/components/scatter-fit/style-forms.js.map +1 -0
- package/dist/components/scatter-fit/style.d.ts +8 -0
- package/dist/components/scatter-fit/style.d.ts.map +1 -0
- package/dist/components/scatter-fit/style.js +272 -0
- package/dist/components/scatter-fit/style.js.map +1 -0
- package/dist/components/search-field/attrs.d.ts +136 -0
- package/dist/components/search-field/attrs.d.ts.map +1 -0
- package/dist/components/search-field/attrs.js +98 -0
- package/dist/components/search-field/attrs.js.map +1 -0
- package/dist/components/search-field/index.d.ts +39 -0
- package/dist/components/search-field/index.d.ts.map +1 -0
- package/dist/components/search-field/index.js +37 -0
- package/dist/components/search-field/index.js.map +1 -0
- package/dist/components/search-field/model.d.ts +27 -0
- package/dist/components/search-field/model.d.ts.map +1 -0
- package/dist/components/search-field/model.js +92 -0
- package/dist/components/search-field/model.js.map +1 -0
- package/dist/components/search-field/render.d.ts +7 -0
- package/dist/components/search-field/render.d.ts.map +1 -0
- package/dist/components/search-field/render.js +107 -0
- package/dist/components/search-field/render.js.map +1 -0
- package/dist/components/search-field/runtime.d.ts +3 -0
- package/dist/components/search-field/runtime.d.ts.map +1 -0
- package/dist/components/search-field/runtime.js +299 -0
- package/dist/components/search-field/runtime.js.map +1 -0
- package/dist/components/search-field/style.d.ts +9 -0
- package/dist/components/search-field/style.d.ts.map +1 -0
- package/dist/components/search-field/style.js +113 -0
- package/dist/components/search-field/style.js.map +1 -0
- package/dist/components/section-head/attrs.d.ts +53 -0
- package/dist/components/section-head/attrs.d.ts.map +1 -0
- package/dist/components/section-head/attrs.js +45 -0
- package/dist/components/section-head/attrs.js.map +1 -0
- package/dist/components/section-head/index.d.ts +14 -0
- package/dist/components/section-head/index.d.ts.map +1 -0
- package/dist/components/section-head/index.js +12 -0
- package/dist/components/section-head/index.js.map +1 -0
- package/dist/components/section-head/model.d.ts +16 -0
- package/dist/components/section-head/model.d.ts.map +1 -0
- package/dist/components/section-head/model.js +61 -0
- package/dist/components/section-head/model.js.map +1 -0
- package/dist/components/section-head/render.d.ts +6 -0
- package/dist/components/section-head/render.d.ts.map +1 -0
- package/dist/components/section-head/render.js +68 -0
- package/dist/components/section-head/render.js.map +1 -0
- package/dist/components/section-head/style.d.ts +7 -0
- package/dist/components/section-head/style.d.ts.map +1 -0
- package/dist/components/section-head/style.js +172 -0
- package/dist/components/section-head/style.js.map +1 -0
- package/dist/components/shared/escape.d.ts +3 -0
- package/dist/components/shared/escape.d.ts.map +1 -0
- package/dist/components/shared/escape.js +11 -0
- package/dist/components/shared/escape.js.map +1 -0
- package/dist/components/shared/typography.d.ts +32 -0
- package/dist/components/shared/typography.d.ts.map +1 -0
- package/dist/components/shared/typography.js +31 -0
- package/dist/components/shared/typography.js.map +1 -0
- package/dist/components/shared/validate.d.ts +26 -0
- package/dist/components/shared/validate.d.ts.map +1 -0
- package/dist/components/shared/validate.js +75 -0
- package/dist/components/shared/validate.js.map +1 -0
- package/dist/components/sheet-frame/index.d.ts +14 -0
- package/dist/components/sheet-frame/index.d.ts.map +1 -0
- package/dist/components/sheet-frame/index.js +12 -0
- package/dist/components/sheet-frame/index.js.map +1 -0
- package/dist/components/sheet-frame/render.d.ts +21 -0
- package/dist/components/sheet-frame/render.d.ts.map +1 -0
- package/dist/components/sheet-frame/render.js +45 -0
- package/dist/components/sheet-frame/render.js.map +1 -0
- package/dist/components/sheet-frame/style.d.ts +14 -0
- package/dist/components/sheet-frame/style.d.ts.map +1 -0
- package/dist/components/sheet-frame/style.js +105 -0
- package/dist/components/sheet-frame/style.js.map +1 -0
- package/dist/components/skeleton/attrs.d.ts +47 -0
- package/dist/components/skeleton/attrs.d.ts.map +1 -0
- package/dist/components/skeleton/attrs.js +62 -0
- package/dist/components/skeleton/attrs.js.map +1 -0
- package/dist/components/skeleton/index.d.ts +25 -0
- package/dist/components/skeleton/index.d.ts.map +1 -0
- package/dist/components/skeleton/index.js +23 -0
- package/dist/components/skeleton/index.js.map +1 -0
- package/dist/components/skeleton/model.d.ts +15 -0
- package/dist/components/skeleton/model.d.ts.map +1 -0
- package/dist/components/skeleton/model.js +34 -0
- package/dist/components/skeleton/model.js.map +1 -0
- package/dist/components/skeleton/render.d.ts +3 -0
- package/dist/components/skeleton/render.d.ts.map +1 -0
- package/dist/components/skeleton/render.js +60 -0
- package/dist/components/skeleton/render.js.map +1 -0
- package/dist/components/skeleton/style.d.ts +27 -0
- package/dist/components/skeleton/style.d.ts.map +1 -0
- package/dist/components/skeleton/style.js +223 -0
- package/dist/components/skeleton/style.js.map +1 -0
- package/dist/components/skin/contract.d.ts +177 -0
- package/dist/components/skin/contract.d.ts.map +1 -0
- package/dist/components/skin/contract.js +89 -0
- package/dist/components/skin/contract.js.map +1 -0
- package/dist/components/skin/index.d.ts +29 -0
- package/dist/components/skin/index.d.ts.map +1 -0
- package/dist/components/skin/index.js +75 -0
- package/dist/components/skin/index.js.map +1 -0
- package/dist/components/skin/skins/blueprint.d.ts +40 -0
- package/dist/components/skin/skins/blueprint.d.ts.map +1 -0
- package/dist/components/skin/skins/blueprint.js +47 -0
- package/dist/components/skin/skins/blueprint.js.map +1 -0
- package/dist/components/skin/skins/broadsheet.d.ts +38 -0
- package/dist/components/skin/skins/broadsheet.d.ts.map +1 -0
- package/dist/components/skin/skins/broadsheet.js +44 -0
- package/dist/components/skin/skins/broadsheet.js.map +1 -0
- package/dist/components/skin/skins/ink.d.ts +40 -0
- package/dist/components/skin/skins/ink.d.ts.map +1 -0
- package/dist/components/skin/skins/ink.js +59 -0
- package/dist/components/skin/skins/ink.js.map +1 -0
- package/dist/components/skin/skins/neutral.d.ts +38 -0
- package/dist/components/skin/skins/neutral.d.ts.map +1 -0
- package/dist/components/skin/skins/neutral.js +46 -0
- package/dist/components/skin/skins/neutral.js.map +1 -0
- package/dist/components/skin/skins/paper.d.ts +40 -0
- package/dist/components/skin/skins/paper.d.ts.map +1 -0
- package/dist/components/skin/skins/paper.js +57 -0
- package/dist/components/skin/skins/paper.js.map +1 -0
- package/dist/components/skin/skins/terminal.d.ts +40 -0
- package/dist/components/skin/skins/terminal.d.ts.map +1 -0
- package/dist/components/skin/skins/terminal.js +53 -0
- package/dist/components/skin/skins/terminal.js.map +1 -0
- package/dist/components/slider-row/attrs.d.ts +115 -0
- package/dist/components/slider-row/attrs.d.ts.map +1 -0
- package/dist/components/slider-row/attrs.js +113 -0
- package/dist/components/slider-row/attrs.js.map +1 -0
- package/dist/components/slider-row/index.d.ts +28 -0
- package/dist/components/slider-row/index.d.ts.map +1 -0
- package/dist/components/slider-row/index.js +26 -0
- package/dist/components/slider-row/index.js.map +1 -0
- package/dist/components/slider-row/model.d.ts +25 -0
- package/dist/components/slider-row/model.d.ts.map +1 -0
- package/dist/components/slider-row/model.js +136 -0
- package/dist/components/slider-row/model.js.map +1 -0
- package/dist/components/slider-row/render.d.ts +7 -0
- package/dist/components/slider-row/render.d.ts.map +1 -0
- package/dist/components/slider-row/render.js +183 -0
- package/dist/components/slider-row/render.js.map +1 -0
- package/dist/components/slider-row/runtime.d.ts +3 -0
- package/dist/components/slider-row/runtime.d.ts.map +1 -0
- package/dist/components/slider-row/runtime.js +139 -0
- package/dist/components/slider-row/runtime.js.map +1 -0
- package/dist/components/slider-row/style.d.ts +5 -0
- package/dist/components/slider-row/style.d.ts.map +1 -0
- package/dist/components/slider-row/style.js +330 -0
- package/dist/components/slider-row/style.js.map +1 -0
- package/dist/components/small-multiples/attrs.d.ts +76 -0
- package/dist/components/small-multiples/attrs.d.ts.map +1 -0
- package/dist/components/small-multiples/attrs.js +77 -0
- package/dist/components/small-multiples/attrs.js.map +1 -0
- package/dist/components/small-multiples/index.d.ts +14 -0
- package/dist/components/small-multiples/index.d.ts.map +1 -0
- package/dist/components/small-multiples/index.js +12 -0
- package/dist/components/small-multiples/index.js.map +1 -0
- package/dist/components/small-multiples/model.d.ts +34 -0
- package/dist/components/small-multiples/model.d.ts.map +1 -0
- package/dist/components/small-multiples/model.js +129 -0
- package/dist/components/small-multiples/model.js.map +1 -0
- package/dist/components/small-multiples/render.d.ts +3 -0
- package/dist/components/small-multiples/render.d.ts.map +1 -0
- package/dist/components/small-multiples/render.js +75 -0
- package/dist/components/small-multiples/render.js.map +1 -0
- package/dist/components/small-multiples/scale.d.ts +33 -0
- package/dist/components/small-multiples/scale.d.ts.map +1 -0
- package/dist/components/small-multiples/scale.js +104 -0
- package/dist/components/small-multiples/scale.js.map +1 -0
- package/dist/components/small-multiples/style.d.ts +7 -0
- package/dist/components/small-multiples/style.d.ts.map +1 -0
- package/dist/components/small-multiples/style.js +260 -0
- package/dist/components/small-multiples/style.js.map +1 -0
- package/dist/components/sort-toggle/attrs.d.ts +116 -0
- package/dist/components/sort-toggle/attrs.d.ts.map +1 -0
- package/dist/components/sort-toggle/attrs.js +85 -0
- package/dist/components/sort-toggle/attrs.js.map +1 -0
- package/dist/components/sort-toggle/index.d.ts +38 -0
- package/dist/components/sort-toggle/index.d.ts.map +1 -0
- package/dist/components/sort-toggle/index.js +36 -0
- package/dist/components/sort-toggle/index.js.map +1 -0
- package/dist/components/sort-toggle/model.d.ts +27 -0
- package/dist/components/sort-toggle/model.d.ts.map +1 -0
- package/dist/components/sort-toggle/model.js +87 -0
- package/dist/components/sort-toggle/model.js.map +1 -0
- package/dist/components/sort-toggle/render.d.ts +5 -0
- package/dist/components/sort-toggle/render.d.ts.map +1 -0
- package/dist/components/sort-toggle/render.js +72 -0
- package/dist/components/sort-toggle/render.js.map +1 -0
- package/dist/components/sort-toggle/runtime.d.ts +3 -0
- package/dist/components/sort-toggle/runtime.d.ts.map +1 -0
- package/dist/components/sort-toggle/runtime.js +187 -0
- package/dist/components/sort-toggle/runtime.js.map +1 -0
- package/dist/components/sort-toggle/style.d.ts +9 -0
- package/dist/components/sort-toggle/style.d.ts.map +1 -0
- package/dist/components/sort-toggle/style.js +100 -0
- package/dist/components/sort-toggle/style.js.map +1 -0
- package/dist/components/spread-dist/attrs.d.ts +86 -0
- package/dist/components/spread-dist/attrs.d.ts.map +1 -0
- package/dist/components/spread-dist/attrs.js +96 -0
- package/dist/components/spread-dist/attrs.js.map +1 -0
- package/dist/components/spread-dist/forms.d.ts +83 -0
- package/dist/components/spread-dist/forms.d.ts.map +1 -0
- package/dist/components/spread-dist/forms.js +136 -0
- package/dist/components/spread-dist/forms.js.map +1 -0
- package/dist/components/spread-dist/index.d.ts +13 -0
- package/dist/components/spread-dist/index.d.ts.map +1 -0
- package/dist/components/spread-dist/index.js +11 -0
- package/dist/components/spread-dist/index.js.map +1 -0
- package/dist/components/spread-dist/model.d.ts +5 -0
- package/dist/components/spread-dist/model.d.ts.map +1 -0
- package/dist/components/spread-dist/model.js +117 -0
- package/dist/components/spread-dist/model.js.map +1 -0
- package/dist/components/spread-dist/render.d.ts +3 -0
- package/dist/components/spread-dist/render.d.ts.map +1 -0
- package/dist/components/spread-dist/render.js +108 -0
- package/dist/components/spread-dist/render.js.map +1 -0
- package/dist/components/spread-dist/scale.d.ts +35 -0
- package/dist/components/spread-dist/scale.d.ts.map +1 -0
- package/dist/components/spread-dist/scale.js +124 -0
- package/dist/components/spread-dist/scale.js.map +1 -0
- package/dist/components/spread-dist/style.d.ts +8 -0
- package/dist/components/spread-dist/style.d.ts.map +1 -0
- package/dist/components/spread-dist/style.js +341 -0
- package/dist/components/spread-dist/style.js.map +1 -0
- package/dist/components/stacked-bar/attrs.d.ts +56 -0
- package/dist/components/stacked-bar/attrs.d.ts.map +1 -0
- package/dist/components/stacked-bar/attrs.js +58 -0
- package/dist/components/stacked-bar/attrs.js.map +1 -0
- package/dist/components/stacked-bar/index.d.ts +13 -0
- package/dist/components/stacked-bar/index.d.ts.map +1 -0
- package/dist/components/stacked-bar/index.js +11 -0
- package/dist/components/stacked-bar/index.js.map +1 -0
- package/dist/components/stacked-bar/model.d.ts +36 -0
- package/dist/components/stacked-bar/model.d.ts.map +1 -0
- package/dist/components/stacked-bar/model.js +106 -0
- package/dist/components/stacked-bar/model.js.map +1 -0
- package/dist/components/stacked-bar/render.d.ts +3 -0
- package/dist/components/stacked-bar/render.d.ts.map +1 -0
- package/dist/components/stacked-bar/render.js +74 -0
- package/dist/components/stacked-bar/render.js.map +1 -0
- package/dist/components/stacked-bar/style.d.ts +7 -0
- package/dist/components/stacked-bar/style.d.ts.map +1 -0
- package/dist/components/stacked-bar/style.js +228 -0
- package/dist/components/stacked-bar/style.js.map +1 -0
- package/dist/components/stat-inline/attrs.d.ts +45 -0
- package/dist/components/stat-inline/attrs.d.ts.map +1 -0
- package/dist/components/stat-inline/attrs.js +35 -0
- package/dist/components/stat-inline/attrs.js.map +1 -0
- package/dist/components/stat-inline/index.d.ts +14 -0
- package/dist/components/stat-inline/index.d.ts.map +1 -0
- package/dist/components/stat-inline/index.js +12 -0
- package/dist/components/stat-inline/index.js.map +1 -0
- package/dist/components/stat-inline/model.d.ts +15 -0
- package/dist/components/stat-inline/model.d.ts.map +1 -0
- package/dist/components/stat-inline/model.js +49 -0
- package/dist/components/stat-inline/model.js.map +1 -0
- package/dist/components/stat-inline/render.d.ts +5 -0
- package/dist/components/stat-inline/render.d.ts.map +1 -0
- package/dist/components/stat-inline/render.js +59 -0
- package/dist/components/stat-inline/render.js.map +1 -0
- package/dist/components/stat-inline/style.d.ts +5 -0
- package/dist/components/stat-inline/style.d.ts.map +1 -0
- package/dist/components/stat-inline/style.js +70 -0
- package/dist/components/stat-inline/style.js.map +1 -0
- package/dist/components/status-row/attrs.d.ts +65 -0
- package/dist/components/status-row/attrs.d.ts.map +1 -0
- package/dist/components/status-row/attrs.js +50 -0
- package/dist/components/status-row/attrs.js.map +1 -0
- package/dist/components/status-row/index.d.ts +23 -0
- package/dist/components/status-row/index.d.ts.map +1 -0
- package/dist/components/status-row/index.js +21 -0
- package/dist/components/status-row/index.js.map +1 -0
- package/dist/components/status-row/model.d.ts +25 -0
- package/dist/components/status-row/model.d.ts.map +1 -0
- package/dist/components/status-row/model.js +79 -0
- package/dist/components/status-row/model.js.map +1 -0
- package/dist/components/status-row/render.d.ts +6 -0
- package/dist/components/status-row/render.d.ts.map +1 -0
- package/dist/components/status-row/render.js +69 -0
- package/dist/components/status-row/render.js.map +1 -0
- package/dist/components/status-row/style.d.ts +15 -0
- package/dist/components/status-row/style.d.ts.map +1 -0
- package/dist/components/status-row/style.js +289 -0
- package/dist/components/status-row/style.js.map +1 -0
- package/dist/components/step-flow/attrs.d.ts +65 -0
- package/dist/components/step-flow/attrs.d.ts.map +1 -0
- package/dist/components/step-flow/attrs.js +52 -0
- package/dist/components/step-flow/attrs.js.map +1 -0
- package/dist/components/step-flow/index.d.ts +23 -0
- package/dist/components/step-flow/index.d.ts.map +1 -0
- package/dist/components/step-flow/index.js +21 -0
- package/dist/components/step-flow/index.js.map +1 -0
- package/dist/components/step-flow/model.d.ts +24 -0
- package/dist/components/step-flow/model.d.ts.map +1 -0
- package/dist/components/step-flow/model.js +77 -0
- package/dist/components/step-flow/model.js.map +1 -0
- package/dist/components/step-flow/render.d.ts +6 -0
- package/dist/components/step-flow/render.d.ts.map +1 -0
- package/dist/components/step-flow/render.js +65 -0
- package/dist/components/step-flow/render.js.map +1 -0
- package/dist/components/step-flow/style.d.ts +13 -0
- package/dist/components/step-flow/style.d.ts.map +1 -0
- package/dist/components/step-flow/style.js +240 -0
- package/dist/components/step-flow/style.js.map +1 -0
- package/dist/components/streak-badge/attrs.d.ts +49 -0
- package/dist/components/streak-badge/attrs.d.ts.map +1 -0
- package/dist/components/streak-badge/attrs.js +35 -0
- package/dist/components/streak-badge/attrs.js.map +1 -0
- package/dist/components/streak-badge/index.d.ts +22 -0
- package/dist/components/streak-badge/index.d.ts.map +1 -0
- package/dist/components/streak-badge/index.js +20 -0
- package/dist/components/streak-badge/index.js.map +1 -0
- package/dist/components/streak-badge/model.d.ts +18 -0
- package/dist/components/streak-badge/model.d.ts.map +1 -0
- package/dist/components/streak-badge/model.js +44 -0
- package/dist/components/streak-badge/model.js.map +1 -0
- package/dist/components/streak-badge/render.d.ts +6 -0
- package/dist/components/streak-badge/render.d.ts.map +1 -0
- package/dist/components/streak-badge/render.js +39 -0
- package/dist/components/streak-badge/render.js.map +1 -0
- package/dist/components/streak-badge/style.d.ts +13 -0
- package/dist/components/streak-badge/style.d.ts.map +1 -0
- package/dist/components/streak-badge/style.js +134 -0
- package/dist/components/streak-badge/style.js.map +1 -0
- package/dist/components/style/action-bar.d.ts +12 -0
- package/dist/components/style/action-bar.d.ts.map +1 -0
- package/dist/components/style/action-bar.js +117 -0
- package/dist/components/style/action-bar.js.map +1 -0
- package/dist/components/style/copy-button.d.ts +10 -0
- package/dist/components/style/copy-button.d.ts.map +1 -0
- package/dist/components/style/copy-button.js +226 -0
- package/dist/components/style/copy-button.js.map +1 -0
- package/dist/components/style/empty-state.d.ts +10 -0
- package/dist/components/style/empty-state.d.ts.map +1 -0
- package/dist/components/style/empty-state.js +40 -0
- package/dist/components/style/empty-state.js.map +1 -0
- package/dist/components/style/error-receipt.d.ts +16 -0
- package/dist/components/style/error-receipt.d.ts.map +1 -0
- package/dist/components/style/error-receipt.js +58 -0
- package/dist/components/style/error-receipt.js.map +1 -0
- package/dist/components/style/help-shell.d.ts +13 -0
- package/dist/components/style/help-shell.d.ts.map +1 -0
- package/dist/components/style/help-shell.js +559 -0
- package/dist/components/style/help-shell.js.map +1 -0
- package/dist/components/style/index.d.ts +9 -0
- package/dist/components/style/index.d.ts.map +1 -0
- package/dist/components/style/index.js +7 -0
- package/dist/components/style/index.js.map +1 -0
- package/dist/components/style/parts.d.ts +29 -0
- package/dist/components/style/parts.d.ts.map +1 -0
- package/dist/components/style/parts.js +40 -0
- package/dist/components/style/parts.js.map +1 -0
- package/dist/components/style/sheet.d.ts +16 -0
- package/dist/components/style/sheet.d.ts.map +1 -0
- package/dist/components/style/sheet.js +124 -0
- package/dist/components/style/sheet.js.map +1 -0
- package/dist/components/style/status-badge.d.ts +18 -0
- package/dist/components/style/status-badge.d.ts.map +1 -0
- package/dist/components/style/status-badge.js +48 -0
- package/dist/components/style/status-badge.js.map +1 -0
- package/dist/components/style/toast.d.ts +10 -0
- package/dist/components/style/toast.d.ts.map +1 -0
- package/dist/components/style/toast.js +218 -0
- package/dist/components/style/toast.js.map +1 -0
- package/dist/components/style/tokens.d.ts +27 -0
- package/dist/components/style/tokens.d.ts.map +1 -0
- package/dist/components/style/tokens.js +29 -0
- package/dist/components/style/tokens.js.map +1 -0
- package/dist/components/sub-list/attrs.d.ts +79 -0
- package/dist/components/sub-list/attrs.d.ts.map +1 -0
- package/dist/components/sub-list/attrs.js +81 -0
- package/dist/components/sub-list/attrs.js.map +1 -0
- package/dist/components/sub-list/index.d.ts +14 -0
- package/dist/components/sub-list/index.d.ts.map +1 -0
- package/dist/components/sub-list/index.js +12 -0
- package/dist/components/sub-list/index.js.map +1 -0
- package/dist/components/sub-list/model.d.ts +41 -0
- package/dist/components/sub-list/model.d.ts.map +1 -0
- package/dist/components/sub-list/model.js +96 -0
- package/dist/components/sub-list/model.js.map +1 -0
- package/dist/components/sub-list/render.d.ts +3 -0
- package/dist/components/sub-list/render.d.ts.map +1 -0
- package/dist/components/sub-list/render.js +106 -0
- package/dist/components/sub-list/render.js.map +1 -0
- package/dist/components/sub-list/style.d.ts +12 -0
- package/dist/components/sub-list/style.d.ts.map +1 -0
- package/dist/components/sub-list/style.js +327 -0
- package/dist/components/sub-list/style.js.map +1 -0
- package/dist/components/summary-head/index.d.ts +12 -0
- package/dist/components/summary-head/index.d.ts.map +1 -0
- package/dist/components/summary-head/index.js +10 -0
- package/dist/components/summary-head/index.js.map +1 -0
- package/dist/components/summary-head/render.d.ts +32 -0
- package/dist/components/summary-head/render.d.ts.map +1 -0
- package/dist/components/summary-head/render.js +73 -0
- package/dist/components/summary-head/render.js.map +1 -0
- package/dist/components/summary-head/style.d.ts +14 -0
- package/dist/components/summary-head/style.d.ts.map +1 -0
- package/dist/components/summary-head/style.js +155 -0
- package/dist/components/summary-head/style.js.map +1 -0
- package/dist/components/switch-row/attrs.d.ts +92 -0
- package/dist/components/switch-row/attrs.d.ts.map +1 -0
- package/dist/components/switch-row/attrs.js +88 -0
- package/dist/components/switch-row/attrs.js.map +1 -0
- package/dist/components/switch-row/index.d.ts +30 -0
- package/dist/components/switch-row/index.d.ts.map +1 -0
- package/dist/components/switch-row/index.js +28 -0
- package/dist/components/switch-row/index.js.map +1 -0
- package/dist/components/switch-row/model.d.ts +18 -0
- package/dist/components/switch-row/model.d.ts.map +1 -0
- package/dist/components/switch-row/model.js +50 -0
- package/dist/components/switch-row/model.js.map +1 -0
- package/dist/components/switch-row/render.d.ts +3 -0
- package/dist/components/switch-row/render.d.ts.map +1 -0
- package/dist/components/switch-row/render.js +112 -0
- package/dist/components/switch-row/render.js.map +1 -0
- package/dist/components/switch-row/runtime.d.ts +5 -0
- package/dist/components/switch-row/runtime.d.ts.map +1 -0
- package/dist/components/switch-row/runtime.js +62 -0
- package/dist/components/switch-row/runtime.js.map +1 -0
- package/dist/components/switch-row/style.d.ts +5 -0
- package/dist/components/switch-row/style.d.ts.map +1 -0
- package/dist/components/switch-row/style.js +258 -0
- package/dist/components/switch-row/style.js.map +1 -0
- package/dist/components/sync-status/attrs.d.ts +97 -0
- package/dist/components/sync-status/attrs.d.ts.map +1 -0
- package/dist/components/sync-status/attrs.js +90 -0
- package/dist/components/sync-status/attrs.js.map +1 -0
- package/dist/components/sync-status/index.d.ts +19 -0
- package/dist/components/sync-status/index.d.ts.map +1 -0
- package/dist/components/sync-status/index.js +17 -0
- package/dist/components/sync-status/index.js.map +1 -0
- package/dist/components/sync-status/model.d.ts +29 -0
- package/dist/components/sync-status/model.d.ts.map +1 -0
- package/dist/components/sync-status/model.js +73 -0
- package/dist/components/sync-status/model.js.map +1 -0
- package/dist/components/sync-status/render.d.ts +3 -0
- package/dist/components/sync-status/render.d.ts.map +1 -0
- package/dist/components/sync-status/render.js +95 -0
- package/dist/components/sync-status/render.js.map +1 -0
- package/dist/components/sync-status/runtime.d.ts +3 -0
- package/dist/components/sync-status/runtime.d.ts.map +1 -0
- package/dist/components/sync-status/runtime.js +83 -0
- package/dist/components/sync-status/runtime.js.map +1 -0
- package/dist/components/sync-status/style.d.ts +10 -0
- package/dist/components/sync-status/style.d.ts.map +1 -0
- package/dist/components/sync-status/style.js +256 -0
- package/dist/components/sync-status/style.js.map +1 -0
- package/dist/components/task-list/attrs.d.ts +97 -0
- package/dist/components/task-list/attrs.d.ts.map +1 -0
- package/dist/components/task-list/attrs.js +76 -0
- package/dist/components/task-list/attrs.js.map +1 -0
- package/dist/components/task-list/index.d.ts +33 -0
- package/dist/components/task-list/index.d.ts.map +1 -0
- package/dist/components/task-list/index.js +31 -0
- package/dist/components/task-list/index.js.map +1 -0
- package/dist/components/task-list/model.d.ts +33 -0
- package/dist/components/task-list/model.d.ts.map +1 -0
- package/dist/components/task-list/model.js +105 -0
- package/dist/components/task-list/model.js.map +1 -0
- package/dist/components/task-list/render.d.ts +6 -0
- package/dist/components/task-list/render.d.ts.map +1 -0
- package/dist/components/task-list/render.js +112 -0
- package/dist/components/task-list/render.js.map +1 -0
- package/dist/components/task-list/runtime.d.ts +3 -0
- package/dist/components/task-list/runtime.d.ts.map +1 -0
- package/dist/components/task-list/runtime.js +75 -0
- package/dist/components/task-list/runtime.js.map +1 -0
- package/dist/components/task-list/style.d.ts +15 -0
- package/dist/components/task-list/style.d.ts.map +1 -0
- package/dist/components/task-list/style.js +282 -0
- package/dist/components/task-list/style.js.map +1 -0
- package/dist/components/template/fill.d.ts +10 -0
- package/dist/components/template/fill.d.ts.map +1 -0
- package/dist/components/template/fill.js +193 -0
- package/dist/components/template/fill.js.map +1 -0
- package/dist/components/template/index.d.ts +8 -0
- package/dist/components/template/index.d.ts.map +1 -0
- package/dist/components/template/index.js +7 -0
- package/dist/components/template/index.js.map +1 -0
- package/dist/components/template/markers.d.ts +60 -0
- package/dist/components/template/markers.d.ts.map +1 -0
- package/dist/components/template/markers.js +130 -0
- package/dist/components/template/markers.js.map +1 -0
- package/dist/components/template/shared.d.ts +20 -0
- package/dist/components/template/shared.d.ts.map +1 -0
- package/dist/components/template/shared.js +25 -0
- package/dist/components/template/shared.js.map +1 -0
- package/dist/components/text/api.d.ts +14 -0
- package/dist/components/text/api.d.ts.map +1 -0
- package/dist/components/text/api.js +76 -0
- package/dist/components/text/api.js.map +1 -0
- package/dist/components/text/formats.d.ts +30 -0
- package/dist/components/text/formats.d.ts.map +1 -0
- package/dist/components/text/formats.js +120 -0
- package/dist/components/text/formats.js.map +1 -0
- package/dist/components/text/index.d.ts +8 -0
- package/dist/components/text/index.d.ts.map +1 -0
- package/dist/components/text/index.js +7 -0
- package/dist/components/text/index.js.map +1 -0
- package/dist/components/text/input.d.ts +27 -0
- package/dist/components/text/input.d.ts.map +1 -0
- package/dist/components/text/input.js +114 -0
- package/dist/components/text/input.js.map +1 -0
- package/dist/components/text/log.d.ts +12 -0
- package/dist/components/text/log.d.ts.map +1 -0
- package/dist/components/text/log.js +28 -0
- package/dist/components/text/log.js.map +1 -0
- package/dist/components/text/rows.d.ts +27 -0
- package/dist/components/text/rows.d.ts.map +1 -0
- package/dist/components/text/rows.js +100 -0
- package/dist/components/text/rows.js.map +1 -0
- package/dist/components/text/shared.d.ts +35 -0
- package/dist/components/text/shared.d.ts.map +1 -0
- package/dist/components/text/shared.js +29 -0
- package/dist/components/text/shared.js.map +1 -0
- package/dist/components/timer-card/attrs.d.ts +99 -0
- package/dist/components/timer-card/attrs.d.ts.map +1 -0
- package/dist/components/timer-card/attrs.js +97 -0
- package/dist/components/timer-card/attrs.js.map +1 -0
- package/dist/components/timer-card/index.d.ts +34 -0
- package/dist/components/timer-card/index.d.ts.map +1 -0
- package/dist/components/timer-card/index.js +32 -0
- package/dist/components/timer-card/index.js.map +1 -0
- package/dist/components/timer-card/model.d.ts +19 -0
- package/dist/components/timer-card/model.d.ts.map +1 -0
- package/dist/components/timer-card/model.js +63 -0
- package/dist/components/timer-card/model.js.map +1 -0
- package/dist/components/timer-card/render.d.ts +8 -0
- package/dist/components/timer-card/render.d.ts.map +1 -0
- package/dist/components/timer-card/render.js +107 -0
- package/dist/components/timer-card/render.js.map +1 -0
- package/dist/components/timer-card/runtime.d.ts +3 -0
- package/dist/components/timer-card/runtime.d.ts.map +1 -0
- package/dist/components/timer-card/runtime.js +132 -0
- package/dist/components/timer-card/runtime.js.map +1 -0
- package/dist/components/timer-card/style.d.ts +15 -0
- package/dist/components/timer-card/style.d.ts.map +1 -0
- package/dist/components/timer-card/style.js +243 -0
- package/dist/components/timer-card/style.js.map +1 -0
- package/dist/components/toast-card/attrs.d.ts +109 -0
- package/dist/components/toast-card/attrs.d.ts.map +1 -0
- package/dist/components/toast-card/attrs.js +120 -0
- package/dist/components/toast-card/attrs.js.map +1 -0
- package/dist/components/toast-card/index.d.ts +29 -0
- package/dist/components/toast-card/index.d.ts.map +1 -0
- package/dist/components/toast-card/index.js +27 -0
- package/dist/components/toast-card/index.js.map +1 -0
- package/dist/components/toast-card/model.d.ts +29 -0
- package/dist/components/toast-card/model.d.ts.map +1 -0
- package/dist/components/toast-card/model.js +103 -0
- package/dist/components/toast-card/model.js.map +1 -0
- package/dist/components/toast-card/render.d.ts +13 -0
- package/dist/components/toast-card/render.d.ts.map +1 -0
- package/dist/components/toast-card/render.js +74 -0
- package/dist/components/toast-card/render.js.map +1 -0
- package/dist/components/toast-card/runtime.d.ts +5 -0
- package/dist/components/toast-card/runtime.d.ts.map +1 -0
- package/dist/components/toast-card/runtime.js +109 -0
- package/dist/components/toast-card/runtime.js.map +1 -0
- package/dist/components/toast-card/style.d.ts +10 -0
- package/dist/components/toast-card/style.d.ts.map +1 -0
- package/dist/components/toast-card/style.js +208 -0
- package/dist/components/toast-card/style.js.map +1 -0
- package/dist/components/tooltip/attrs.d.ts +84 -0
- package/dist/components/tooltip/attrs.d.ts.map +1 -0
- package/dist/components/tooltip/attrs.js +85 -0
- package/dist/components/tooltip/attrs.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +27 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/index.js +24 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/components/tooltip/model.d.ts +18 -0
- package/dist/components/tooltip/model.d.ts.map +1 -0
- package/dist/components/tooltip/model.js +43 -0
- package/dist/components/tooltip/model.js.map +1 -0
- package/dist/components/tooltip/render.d.ts +3 -0
- package/dist/components/tooltip/render.d.ts.map +1 -0
- package/dist/components/tooltip/render.js +59 -0
- package/dist/components/tooltip/render.js.map +1 -0
- package/dist/components/tooltip/runtime.d.ts +3 -0
- package/dist/components/tooltip/runtime.d.ts.map +1 -0
- package/dist/components/tooltip/runtime.js +81 -0
- package/dist/components/tooltip/runtime.js.map +1 -0
- package/dist/components/tooltip/style.d.ts +8 -0
- package/dist/components/tooltip/style.d.ts.map +1 -0
- package/dist/components/tooltip/style.js +84 -0
- package/dist/components/tooltip/style.js.map +1 -0
- package/dist/components/undo-timeline/attrs.d.ts +204 -0
- package/dist/components/undo-timeline/attrs.d.ts.map +1 -0
- package/dist/components/undo-timeline/attrs.js +192 -0
- package/dist/components/undo-timeline/attrs.js.map +1 -0
- package/dist/components/undo-timeline/ids.d.ts +20 -0
- package/dist/components/undo-timeline/ids.d.ts.map +1 -0
- package/dist/components/undo-timeline/ids.js +39 -0
- package/dist/components/undo-timeline/ids.js.map +1 -0
- package/dist/components/undo-timeline/index.d.ts +27 -0
- package/dist/components/undo-timeline/index.d.ts.map +1 -0
- package/dist/components/undo-timeline/index.js +26 -0
- package/dist/components/undo-timeline/index.js.map +1 -0
- package/dist/components/undo-timeline/model.d.ts +72 -0
- package/dist/components/undo-timeline/model.d.ts.map +1 -0
- package/dist/components/undo-timeline/model.js +237 -0
- package/dist/components/undo-timeline/model.js.map +1 -0
- package/dist/components/undo-timeline/render.d.ts +3 -0
- package/dist/components/undo-timeline/render.d.ts.map +1 -0
- package/dist/components/undo-timeline/render.js +250 -0
- package/dist/components/undo-timeline/render.js.map +1 -0
- package/dist/components/undo-timeline/runtime.d.ts +3 -0
- package/dist/components/undo-timeline/runtime.d.ts.map +1 -0
- package/dist/components/undo-timeline/runtime.js +184 -0
- package/dist/components/undo-timeline/runtime.js.map +1 -0
- package/dist/components/undo-timeline/style-impact.d.ts +5 -0
- package/dist/components/undo-timeline/style-impact.d.ts.map +1 -0
- package/dist/components/undo-timeline/style-impact.js +193 -0
- package/dist/components/undo-timeline/style-impact.js.map +1 -0
- package/dist/components/undo-timeline/style-track.d.ts +5 -0
- package/dist/components/undo-timeline/style-track.d.ts.map +1 -0
- package/dist/components/undo-timeline/style-track.js +299 -0
- package/dist/components/undo-timeline/style-track.js.map +1 -0
- package/dist/components/undo-timeline/style.d.ts +7 -0
- package/dist/components/undo-timeline/style.d.ts.map +1 -0
- package/dist/components/undo-timeline/style.js +224 -0
- package/dist/components/undo-timeline/style.js.map +1 -0
- package/dist/components/undo-timeline/text.d.ts +37 -0
- package/dist/components/undo-timeline/text.d.ts.map +1 -0
- package/dist/components/undo-timeline/text.js +36 -0
- package/dist/components/undo-timeline/text.js.map +1 -0
- package/dist/components/window-picker/attrs.d.ts +109 -0
- package/dist/components/window-picker/attrs.d.ts.map +1 -0
- package/dist/components/window-picker/attrs.js +70 -0
- package/dist/components/window-picker/attrs.js.map +1 -0
- package/dist/components/window-picker/index.d.ts +33 -0
- package/dist/components/window-picker/index.d.ts.map +1 -0
- package/dist/components/window-picker/index.js +30 -0
- package/dist/components/window-picker/index.js.map +1 -0
- package/dist/components/window-picker/model.d.ts +33 -0
- package/dist/components/window-picker/model.d.ts.map +1 -0
- package/dist/components/window-picker/model.js +150 -0
- package/dist/components/window-picker/model.js.map +1 -0
- package/dist/components/window-picker/render.d.ts +10 -0
- package/dist/components/window-picker/render.d.ts.map +1 -0
- package/dist/components/window-picker/render.js +69 -0
- package/dist/components/window-picker/render.js.map +1 -0
- package/dist/components/window-picker/runtime.d.ts +3 -0
- package/dist/components/window-picker/runtime.d.ts.map +1 -0
- package/dist/components/window-picker/runtime.js +160 -0
- package/dist/components/window-picker/runtime.js.map +1 -0
- package/dist/components/window-picker/style.d.ts +11 -0
- package/dist/components/window-picker/style.d.ts.map +1 -0
- package/dist/components/window-picker/style.js +100 -0
- package/dist/components/window-picker/style.js.map +1 -0
- package/dist/components/wizard-shell/attrs.d.ts +182 -0
- package/dist/components/wizard-shell/attrs.d.ts.map +1 -0
- package/dist/components/wizard-shell/attrs.js +155 -0
- package/dist/components/wizard-shell/attrs.js.map +1 -0
- package/dist/components/wizard-shell/index.d.ts +16 -0
- package/dist/components/wizard-shell/index.d.ts.map +1 -0
- package/dist/components/wizard-shell/index.js +14 -0
- package/dist/components/wizard-shell/index.js.map +1 -0
- package/dist/components/wizard-shell/model.d.ts +57 -0
- package/dist/components/wizard-shell/model.d.ts.map +1 -0
- package/dist/components/wizard-shell/model.js +203 -0
- package/dist/components/wizard-shell/model.js.map +1 -0
- package/dist/components/wizard-shell/render.d.ts +3 -0
- package/dist/components/wizard-shell/render.d.ts.map +1 -0
- package/dist/components/wizard-shell/render.js +201 -0
- package/dist/components/wizard-shell/render.js.map +1 -0
- package/dist/components/wizard-shell/runtime.d.ts +20 -0
- package/dist/components/wizard-shell/runtime.d.ts.map +1 -0
- package/dist/components/wizard-shell/runtime.js +84 -0
- package/dist/components/wizard-shell/runtime.js.map +1 -0
- package/dist/components/wizard-shell/style-answer.d.ts +5 -0
- package/dist/components/wizard-shell/style-answer.d.ts.map +1 -0
- package/dist/components/wizard-shell/style-answer.js +220 -0
- package/dist/components/wizard-shell/style-answer.js.map +1 -0
- package/dist/components/wizard-shell/style.d.ts +5 -0
- package/dist/components/wizard-shell/style.d.ts.map +1 -0
- package/dist/components/wizard-shell/style.js +283 -0
- package/dist/components/wizard-shell/style.js.map +1 -0
- package/dist/components//346/270/205/345/215/225.d.ts +72 -0
- package/dist/components//346/270/205/345/215/225.d.ts.map +1 -0
- package/dist/components//346/270/205/345/215/225.js +182 -0
- package/dist/components//346/270/205/345/215/225.js.map +1 -0
- package/dist/contract.js +0 -1
- package/dist/controls.d.ts +6 -160
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +6 -1417
- package/dist/controls.js.map +1 -1
- package/dist/docShell.d.ts +10 -2
- package/dist/docShell.d.ts.map +1 -1
- package/dist/docShell.js +8 -4
- package/dist/docShell.js.map +1 -1
- package/dist/editableValue.d.ts +93 -0
- package/dist/editableValue.d.ts.map +1 -0
- package/dist/editableValue.js +415 -0
- package/dist/editableValue.js.map +1 -0
- package/dist/font.js +0 -1
- package/dist/help.d.ts +4 -21
- package/dist/help.d.ts.map +1 -1
- package/dist/help.js +4 -619
- package/dist/help.js.map +1 -1
- package/dist/helpShell.d.ts.map +1 -1
- package/dist/helpShell.js +2 -3
- package/dist/helpShell.js.map +1 -1
- package/dist/index.d.ts +31 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -9
- package/dist/index.js.map +1 -1
- package/dist/injector.js +0 -1
- package/dist/output/saveHtml.js +0 -1
- package/dist/pageBars.d.ts +93 -0
- package/dist/pageBars.d.ts.map +1 -0
- package/dist/pageBars.js +176 -0
- package/dist/pageBars.js.map +1 -0
- package/dist/pageBarsCss.d.ts +11 -0
- package/dist/pageBarsCss.d.ts.map +1 -0
- package/dist/pageBarsCss.js +229 -0
- package/dist/pageBarsCss.js.map +1 -0
- package/dist/pageNav.d.ts +51 -0
- package/dist/pageNav.d.ts.map +1 -0
- package/dist/pageNav.js +122 -0
- package/dist/pageNav.js.map +1 -0
- package/dist/pageNavCss.d.ts +14 -0
- package/dist/pageNavCss.d.ts.map +1 -0
- package/dist/pageNavCss.js +85 -0
- package/dist/pageNavCss.js.map +1 -0
- package/dist/pageShapes.d.ts +12 -3
- package/dist/pageShapes.d.ts.map +1 -1
- package/dist/pageShapes.js +32 -3
- package/dist/pageShapes.js.map +1 -1
- package/dist/pageUi.d.ts +7 -47
- package/dist/pageUi.d.ts.map +1 -1
- package/dist/pageUi.js +7 -351
- package/dist/pageUi.js.map +1 -1
- package/dist/spec/charts.d.ts +6 -0
- package/dist/spec/charts.d.ts.map +1 -1
- package/dist/spec/charts.js +0 -1
- package/dist/spec/charts.js.map +1 -1
- package/dist/spec/controls.js +0 -1
- package/dist/spec/help.js +0 -1
- package/dist/spec/index.d.ts +5 -5
- package/dist/spec/index.d.ts.map +1 -1
- package/dist/spec/index.js +42 -5
- package/dist/spec/index.js.map +1 -1
- package/dist/spec/style.js +0 -1
- package/dist/spec/template.js +0 -1
- package/dist/spec/text.d.ts +7 -7
- package/dist/spec/text.d.ts.map +1 -1
- package/dist/spec/text.js +1 -2
- package/dist/spec/text.js.map +1 -1
- package/dist/style.d.ts +6 -40
- package/dist/style.d.ts.map +1 -1
- package/dist/style.js +6 -1370
- package/dist/style.js.map +1 -1
- package/dist/template.d.ts +4 -24
- package/dist/template.d.ts.map +1 -1
- package/dist/template.js +4 -360
- package/dist/template.js.map +1 -1
- package/dist/text.d.ts +4 -16
- package/dist/text.d.ts.map +1 -1
- package/dist/text.js +4 -451
- package/dist/text.js.map +1 -1
- package/dist/ui.js +0 -1
- package/package.json +2 -2
package/dist/controls.js
CHANGED
|
@@ -1,1419 +1,8 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** **薄转出**(目录化批次⑤之后本件不再住实现)。
|
|
2
2
|
*
|
|
3
|
-
*
|
|
4
|
-
* `
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
7
|
-
*
|
|
8
|
-
* 三条硬边界(逐条对齐 §3.3/§6.3,违反即红):
|
|
9
|
-
* 1. **无宿主 ≠ 无浏览器**(C-1):本层不依赖 DSH 宿主注入(无宿主 DOM 容器、无宿主全局),
|
|
10
|
-
* 浏览器能力一律经**显式端口**(`CopyPorts`/`ToastHostPort`/`CopyActionHostPort`)传入;
|
|
11
|
-
* 2. **模块代码不得触碰 DOM**(C-8/AC-7):本文件(编译进 `dist/controls.js`)的**代码**里不出现
|
|
12
|
-
* `document.`/`window.`/`navigator.`——DOM 只允许出现在 `buildSharedHelpersJs` **产出的 JS 文本**里
|
|
13
|
-
* (`SHARED_HELPERS_JS_RULE.domAllowed = true`),由 §6.3 追加验收的 dist 扫描断言钉死;
|
|
14
|
-
* 3. **零内联脚本**(C-2):渲染出的按钮只带 `ACTION_ID_ATTR` 与 `DEFAULT_DATA_ATTR`,
|
|
15
|
-
* 激活一律走 `bindCopyAction`(事件委派),产出 JS 必须是**经典 script** 作用域可跑的 IIFE。
|
|
16
|
-
*
|
|
17
|
-
* 文档未规定处的取值(本文显式记账,不留暗猜;契约 §3.3「文档无规定」项):
|
|
18
|
-
* - 各控件 HTML 结构/类名细节 → 只冻结「`ilife-` 前缀 + `CONTROL_STYLE_SECTIONS` 命名空间」;
|
|
19
|
-
* 逐区尺寸/色值 owner #75,本文件**不产**任何样式常量(数值一律读 `ACTION_BAR_DEFAULTS` 等冻结常量);
|
|
20
|
-
* - `copyText` 非空串失败的 `reason` → 通道 2 返回假值 = `'fallback-failed'`/通道 2 **同步抛错** =
|
|
21
|
-
* `'fallback-threw'`(只冻结了空串短路的 `'empty'`;两通道皆失败一律**不抛错**,§3.3);
|
|
22
|
-
* - `copyText` 的 toast 挂载与回调**先后** → 先挂反馈(失败徽章恒在,不被回调异常吞掉),再回调一次;
|
|
23
|
-
* - `copyText('', ports)` 的判定**次序** → 先校验 `ports`(非法即 `bad-input`)再判空串短路,即
|
|
24
|
-
* `copyText('', null)` 抛 `bad-input` 而非返回 `reason:'empty'`(次序文档无规定,本文定死);
|
|
25
|
-
* - `renderToast` 的 `actions` 数量上限 → 不截断(旧层 `slice(0, 2)` 未进冻结面);
|
|
26
|
-
* - `renderToast` 非法 `badge.type` → 回落 `'ok'`(旧层口径);
|
|
27
|
-
* - `renderActionBar` 的 `CopyButtonInput.text` 缺席 → 仍渲染按钮、不写 `DEFAULT_DATA_ATTR`(binder 靠
|
|
28
|
-
* `readDataText → undefined` 跳过);`text === ''` → 仍写 `data-t=""`(binder 送进空串短路,无反馈);
|
|
29
|
-
* 场景按钮 `kind` 取冻结 `ACTION_BAR_KINDS` **全量**(含 `ghost`),不以 §3.3 表格的「primary/red」为限;
|
|
30
|
-
* `format` 不参与渲染(序列化归 #77);
|
|
31
|
-
* - `renderActionBar` 的 `CopyButtonInput.formats`(#247 三格式形态)→ 按钮只开合菜单、**不写** `data-t`,
|
|
32
|
-
* 菜单三项各写自己的 `data-t`(键取 `COPY_FORMATS`,值=该格式已序列化文本);菜单项的
|
|
33
|
-
* `data-action-id` **留空**(三颗逐字不同的 id 与「同次渲染内唯一」口径不合,见
|
|
34
|
-
* `CopyButtonInput.formats` 注释);`formats` 与 `text` 同给 → `bad-input`;
|
|
35
|
-
* `formats` 缺某个格式/非字符串 → `bad-input`;`hints` 非三个串 → `bad-input`;
|
|
36
|
-
* 菜单的开合/点外收起/选中后按该项 `data-t` 复制并报所选格式 → 归 helpers 运行时的委派;
|
|
37
|
-
* - `renderStatusBadge` 的 `text === ''` → 视为缺省(旧层口径);非法 `status` 降级 `'empty'`(冻结语义);
|
|
38
|
-
* - `renderEmptyState` 的 `actionHtml` → **受信 HTML 透传**(契约同口径,调用方负责其内容安全),可含
|
|
39
|
-
* 内联 `onclick`;「零注入面」只约束 base-paint **自产**标记,不约束调用方透传的受信片段;
|
|
40
|
-
* - helpers JS 的反馈栈容量 → 恒取冻结 `TOAST_DEFAULTS.maxStack`/`mobileMaxStack`(按视口),**不读**
|
|
41
|
-
* 静态 `renderToast` 产出的 `data-max`(后者供页面自建 `createToastController` 读取,两栈互不相干);
|
|
42
|
-
* - `renderErrorReceipt` 的 `retryPrompt` → 修正重试按钮的**文案**(缺省 `修正重试`);该按钮**不带**
|
|
43
|
-
* `ACTION_ID_ATTR`——冻结输入面没有 retry actionId,不得自造 id(§6.3 红线 8),绑定归调用方;
|
|
44
|
-
* - `copyText` 判定通道 2 成功用**真值**(旧层 `_fbCopy(s) ? ok() : fail()` 同口径);对布尔返回值
|
|
45
|
-
* 与 `=== true` 等价,只影响调用方返回非布尔真值的情形;
|
|
46
|
-
* - **「≤820px 收窄为 3」是页面运行时行为,不是模块行为**(FX-76-2 总架构师裁定):模块侧
|
|
47
|
-
* `createToastController` 保持**宿主无关**(AC-7 不变,不读任何浏览器全局);收窄由**页面侧**
|
|
48
|
-
* `buildSharedHelpersJs` 的**产出文本**读 `matchMedia('(max-width: mobileMaxPx)')` 承担
|
|
49
|
-
* (`domAllowed`),或由调用方经 `ToastInput.maxStack` 显式施加。旧层 `window.matchMedia`
|
|
50
|
-
* (`base.js:96`)本就是页面侧代码。两侧分工见契约 §3.3「toast 移动端收窄的分工(FX-76-2)」。
|
|
3
|
+
* 为什么留着:`src/blocks.ts`/`src/docShell.ts`/`src/help.ts`/`src/contract.ts` 等
|
|
4
|
+
* (其中两件在并行席位的在途写集里)按 `./controls.js` 取件,`dist/controls.js` 也是既有产物路径。
|
|
5
|
+
* 留一层转出=它们零改动;出口名与改前逐名相同(13 个)。
|
|
6
|
+
* 实现住 `src/components/controls/**`;等引用迁走即可删本件。
|
|
51
7
|
*/
|
|
52
|
-
|
|
53
|
-
import { ACTION_BAR_DEFAULTS, ACTION_BAR_KINDS, ACTION_ID_ATTR, CONTROL_STYLE_SECTIONS, COPY_ACTION_IDS, COPY_FORMATS, COPY_TEXT_DEFAULTS, DEFAULT_DATA_ATTR, ESCAPE_HTML_CHARS, ESCAPE_HTML_ENTITIES, HELP_COPY_ACTIONS, HELP_SHELL_ID, STATUS_DEFAULT_TEXT, STATUS_KINDS, TOAST_DEFAULTS, } from './spec/index.js';
|
|
54
|
-
/* ── 错误形态(§3.3:与既有 RenderError 并列、互不继承、一律抛出、不返空) ── */
|
|
55
|
-
/** 控件层错误。**不**从 `src/index.ts` 导出:`SPEC_FROZEN_SURFACE` 44 条内无该运行时条目,
|
|
56
|
-
* 调用方按 `name === 'ControlsError'` + `code` 判定(与 `fillTemplate` 的 `TemplateError` 同口径)。 */
|
|
57
|
-
export class ControlsError extends Error {
|
|
58
|
-
code;
|
|
59
|
-
constructor(code, message) {
|
|
60
|
-
super(message);
|
|
61
|
-
this.name = 'ControlsError';
|
|
62
|
-
this.code = code;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
function badInput(message) {
|
|
66
|
-
throw new ControlsError('bad-input', message);
|
|
67
|
-
}
|
|
68
|
-
/* ── 转义(AC-14:唯一口径 = 冻结的 `ESCAPE_HTML_CHARS`/`ESCAPE_HTML_ENTITIES`) ── */
|
|
69
|
-
const ESCAPE_RE = new RegExp('[' + ESCAPE_HTML_CHARS.join('') + ']', 'g');
|
|
70
|
-
function esc(value) {
|
|
71
|
-
return value.replace(ESCAPE_RE, (ch) => ESCAPE_HTML_ENTITIES[ch] ?? ch);
|
|
72
|
-
}
|
|
73
|
-
/* ── 入参校验小件(失败行为恒为 `ControlsError` code `bad-input`) ── */
|
|
74
|
-
function assertPlainObject(value, field) {
|
|
75
|
-
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
76
|
-
badInput(field + ' 必须是对象');
|
|
77
|
-
}
|
|
78
|
-
function assertActionId(value, field) {
|
|
79
|
-
if (typeof value !== 'string' || value === '')
|
|
80
|
-
badInput(field + ' 必须是非空字符串');
|
|
81
|
-
return value;
|
|
82
|
-
}
|
|
83
|
-
/** 零注入面:含内联事件处理器字段(`onclick`/`onClick`/任何 `on*`)的入参一律拒。 */
|
|
84
|
-
function assertNoInlineHandler(value, field) {
|
|
85
|
-
for (const key of Object.keys(value)) {
|
|
86
|
-
if (/^on/i.test(key))
|
|
87
|
-
badInput(field + ' 不得含内联事件处理器字段:' + key);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
function isStatusKind(value) {
|
|
91
|
-
return STATUS_KINDS.includes(value);
|
|
92
|
-
}
|
|
93
|
-
/* ── toast(`renderToast` + `createToastController`) ─────────────────── */
|
|
94
|
-
/** 图标字形:`TOAST_ICONS` 是**冻结的枚举名**(不是字形),字形属文档未规定项(旧层 `base.js:74` 同值)。
|
|
95
|
-
* **导出(#154)**:区块层 B-12 的「页内静态提示」形态要把同一个图标放进浅色块里,
|
|
96
|
-
* 字形只此一份(`blocks.ts` 引用本表,不另抄);本表**不进** `src/index.ts` 出口面。 */
|
|
97
|
-
export const TOAST_ICON_GLYPHS = Object.freeze({
|
|
98
|
-
copy: '📋',
|
|
99
|
-
ok: '✅',
|
|
100
|
-
warn: '⚠️',
|
|
101
|
-
danger: '❌',
|
|
102
|
-
info: '💡',
|
|
103
|
-
});
|
|
104
|
-
/** 图标位的**文字标签**(#733 新增):与 `TOAST_ICON_GLYPHS` 一一对应的中文词。
|
|
105
|
-
*
|
|
106
|
-
* 为什么要有它:`pageUi` ⑩ 那条为了治「emoji 在手机上小且糊」,把字形用 `font-size: 0` 收起、
|
|
107
|
-
* 再用 `::after { content: "已完成" }` 把词**画**在屏幕上——词只活在 CSS 里。
|
|
108
|
-
* 实测(32/32 页):整份产物里「已完成」只出现 1 次,就是那行 `content:`;`<body>` 里一次都没有。
|
|
109
|
-
* 后果=屏幕上那个词**不可选中、不可搜索、不可复制、屏读器读不到、打印与 PDF 取不到字**。
|
|
110
|
-
* 改法=词进 DOM:图标位里同时放字形与这枚标签,谁显谁隐交 CSS(见 `blocks.ts` 的 note 区 CSS
|
|
111
|
-
* 与 `pageUi` ⑩)。不启用 `pageUi` 的页仍只显字形,外观与改前逐值相同。 */
|
|
112
|
-
export const TOAST_ICON_LABELS = Object.freeze({
|
|
113
|
-
copy: '已复制',
|
|
114
|
-
ok: '已完成',
|
|
115
|
-
warn: '注意',
|
|
116
|
-
danger: '未通过',
|
|
117
|
-
info: '提示',
|
|
118
|
-
});
|
|
119
|
-
/** 徽章类型允许清单:取冻结类型 `ToastBadge['type']` 的成员(非法值回落 `'ok'`,旧层口径)。 */
|
|
120
|
-
const TOAST_BADGE_TYPES = ['ok', 'warn', 'danger'];
|
|
121
|
-
/** 关闭按钮文案(文档无规定;沿用旧基线 `✓ 知道了`)。 */
|
|
122
|
-
const TOAST_CLOSE_LABEL = '✓ 知道了';
|
|
123
|
-
/** 关闭按钮的命名空间类(helpers JS 按 `prefix` 派生同名选择器,见 `buildSharedHelpersJs`)。 */
|
|
124
|
-
const TOAST_CLOSE_CLASS = 'toast-close';
|
|
125
|
-
/** toast 结构类名(**静态产出器与 helpers 运行时共用同一份**,故提为常量):
|
|
126
|
-
* `body` 包裹 `title-row`(+ 可选 detail),close 在 body 之外 —— 与旧层
|
|
127
|
-
* `.hm-toast-icon + .hm-toast-body(> .hm-toast-title-row + .hm-toast-detail) + .hm-toast-close`
|
|
128
|
-
* **同构**(旧层取证 `.scratch/t76/old-controls.md` §1.1;返修 W1 根因修)。
|
|
129
|
-
* 运行时详情类名沿用 `toast-title-detail`(既有 helpers 产出,不新增类名)。 */
|
|
130
|
-
const TOAST_BODY_CLASS = 'toast-body';
|
|
131
|
-
const TOAST_TITLE_ROW_CLASS = 'toast-title-row';
|
|
132
|
-
const TOAST_DETAIL_CLASS = 'toast-title-detail';
|
|
133
|
-
function positiveInt(value, fallback) {
|
|
134
|
-
return typeof value === 'number' && Number.isInteger(value) && value > 0 ? value : fallback;
|
|
135
|
-
}
|
|
136
|
-
/** 冻结签名:`renderToast(input: ToastInput): string`(`input.msg` 非字符串 → `bad-input`)。 */
|
|
137
|
-
export const renderToast = (input) => {
|
|
138
|
-
assertPlainObject(input, 'renderToast: input');
|
|
139
|
-
const msg = input.msg;
|
|
140
|
-
if (typeof msg !== 'string')
|
|
141
|
-
badInput('renderToast: input.msg 必须是字符串');
|
|
142
|
-
const toast = input;
|
|
143
|
-
const icon = typeof toast.icon === 'string' && toast.icon in TOAST_ICON_GLYPHS ? toast.icon : TOAST_DEFAULTS.defaultIcon;
|
|
144
|
-
const maxStack = positiveInt(toast.maxStack, TOAST_DEFAULTS.maxStack);
|
|
145
|
-
const head = ['<span class="' + STYLE_PREFIX + 'toast-icon" aria-hidden="true">' + TOAST_ICON_GLYPHS[icon] + '</span>'];
|
|
146
|
-
const titleRow = ['<span class="' + STYLE_PREFIX + 'toast-title">' + esc(msg) + '</span>'];
|
|
147
|
-
const badge = toast.badge;
|
|
148
|
-
if (badge !== undefined && badge !== null) {
|
|
149
|
-
assertPlainObject(badge, 'renderToast: input.badge');
|
|
150
|
-
if (typeof badge.text !== 'string')
|
|
151
|
-
badInput('renderToast: input.badge.text 必须是字符串');
|
|
152
|
-
const badgeType = TOAST_BADGE_TYPES.includes(badge.type) ? badge.type : 'ok';
|
|
153
|
-
titleRow.push('<span class="' + STYLE_PREFIX + 'toast-chip ' + STYLE_PREFIX + 'toast-chip-' + badgeType + '">' + esc(badge.text) + '</span>');
|
|
154
|
-
}
|
|
155
|
-
if (typeof toast.count === 'string' && toast.count !== '') {
|
|
156
|
-
titleRow.push('<span class="' + STYLE_PREFIX + 'toast-count">' + esc(toast.count) + '</span>');
|
|
157
|
-
}
|
|
158
|
-
const actions = toast.actions;
|
|
159
|
-
if (actions !== undefined && actions !== null) {
|
|
160
|
-
if (!Array.isArray(actions))
|
|
161
|
-
badInput('renderToast: input.actions 必须是数组');
|
|
162
|
-
actions.forEach((action, i) => {
|
|
163
|
-
const field = 'renderToast: input.actions[' + i + ']';
|
|
164
|
-
assertPlainObject(action, field);
|
|
165
|
-
assertNoInlineHandler(action, field);
|
|
166
|
-
const actionId = assertActionId(action.actionId, field + '.actionId');
|
|
167
|
-
if (typeof action.label !== 'string')
|
|
168
|
-
badInput(field + '.label 必须是字符串');
|
|
169
|
-
titleRow.push('<button type="button" class="' + STYLE_PREFIX + 'toast-act" ' + ACTION_ID_ATTR + '="' + esc(actionId) + '">' + esc(action.label) + '</button>');
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
const body = ['<div class="' + STYLE_PREFIX + TOAST_TITLE_ROW_CLASS + '">' + titleRow.join('') + '</div>'];
|
|
173
|
-
if (typeof toast.detail === 'string' && toast.detail !== '') {
|
|
174
|
-
body.push('<div class="' + STYLE_PREFIX + 'toast-detail">' + esc(toast.detail) + '</div>');
|
|
175
|
-
}
|
|
176
|
-
if (Array.isArray(toast.lines) && toast.lines.length > 0) {
|
|
177
|
-
body.push('<div class="' + STYLE_PREFIX + 'toast-lines">' + toast.lines.map((line) => esc(String(line))).join('<br>') + '</div>');
|
|
178
|
-
}
|
|
179
|
-
if (typeof toast.code === 'string' && toast.code !== '') {
|
|
180
|
-
body.push('<pre class="' + STYLE_PREFIX + 'toast-code">' + esc(toast.code) + '</pre>');
|
|
181
|
-
}
|
|
182
|
-
return ('<div class="' + STYLE_PREFIX + 'toast" role="' + TOAST_DEFAULTS.role + '" aria-live="' + TOAST_DEFAULTS.ariaLive + '" data-max="' + maxStack + '">'
|
|
183
|
-
+ head.join('')
|
|
184
|
-
+ '<div class="' + STYLE_PREFIX + TOAST_BODY_CLASS + '">' + body.join('') + '</div>'
|
|
185
|
-
+ '<button type="button" class="' + STYLE_PREFIX + TOAST_CLOSE_CLASS + '">' + TOAST_CLOSE_LABEL + '</button>'
|
|
186
|
-
+ '</div>');
|
|
187
|
-
};
|
|
188
|
-
/** 冻结签名:`createToastController(port: ToastHostPort): ToastController`。
|
|
189
|
-
*
|
|
190
|
-
* 堆叠口径(旧层 `stackCap()` 同语义):容量 = 栈内各条 `maxStack` 的**最大值**,空栈回落
|
|
191
|
-
* `TOAST_DEFAULTS.maxStack`;超容量 FIFO 挤出最旧;单条独立计时(`timeoutMs` 缺省 4500)。
|
|
192
|
-
* `flush()` 清栈;`dispose()` = `flush()` + 之后 `show()` 变 no-op(幂等)。 */
|
|
193
|
-
export const createToastController = (port) => {
|
|
194
|
-
assertPlainObject(port, 'createToastController: port');
|
|
195
|
-
if (typeof port.mount !== 'function')
|
|
196
|
-
badInput('createToastController: port.mount 必须是函数');
|
|
197
|
-
const entries = [];
|
|
198
|
-
let disposed = false;
|
|
199
|
-
const drop = (entry) => {
|
|
200
|
-
if (entry.timer !== null) {
|
|
201
|
-
clearTimeout(entry.timer);
|
|
202
|
-
entry.timer = null;
|
|
203
|
-
}
|
|
204
|
-
const index = entries.indexOf(entry);
|
|
205
|
-
if (index >= 0)
|
|
206
|
-
entries.splice(index, 1);
|
|
207
|
-
entry.handle.remove();
|
|
208
|
-
};
|
|
209
|
-
const capacity = () => {
|
|
210
|
-
let cap = 0;
|
|
211
|
-
for (const entry of entries)
|
|
212
|
-
if (entry.cap > cap)
|
|
213
|
-
cap = entry.cap;
|
|
214
|
-
return cap > 0 ? cap : TOAST_DEFAULTS.maxStack;
|
|
215
|
-
};
|
|
216
|
-
return {
|
|
217
|
-
show(input) {
|
|
218
|
-
if (disposed)
|
|
219
|
-
return;
|
|
220
|
-
const html = renderToast(input);
|
|
221
|
-
const cap = positiveInt(input === null || input === undefined ? undefined : input.maxStack, TOAST_DEFAULTS.maxStack);
|
|
222
|
-
const timeoutMs = positiveInt(input === null || input === undefined ? undefined : input.timeoutMs, TOAST_DEFAULTS.timeoutMs);
|
|
223
|
-
const entry = { handle: port.mount(html), cap, timer: null };
|
|
224
|
-
entries.push(entry);
|
|
225
|
-
entry.timer = setTimeout(() => drop(entry), timeoutMs);
|
|
226
|
-
while (entries.length > capacity()) {
|
|
227
|
-
const oldest = entries[0];
|
|
228
|
-
if (oldest === undefined)
|
|
229
|
-
break;
|
|
230
|
-
drop(oldest);
|
|
231
|
-
}
|
|
232
|
-
},
|
|
233
|
-
flush() {
|
|
234
|
-
for (const entry of [...entries])
|
|
235
|
-
drop(entry);
|
|
236
|
-
},
|
|
237
|
-
dispose() {
|
|
238
|
-
if (disposed)
|
|
239
|
-
return;
|
|
240
|
-
disposed = true;
|
|
241
|
-
for (const entry of [...entries])
|
|
242
|
-
drop(entry);
|
|
243
|
-
},
|
|
244
|
-
};
|
|
245
|
-
};
|
|
246
|
-
/* ── copyText 双通道(Q13/AC-16①) ──────────────────────────────────── */
|
|
247
|
-
function assertCopyPorts(ports, field) {
|
|
248
|
-
if (ports === null || typeof ports !== 'object')
|
|
249
|
-
badInput(field + ': ports 必填');
|
|
250
|
-
if (typeof ports.fallback !== 'function')
|
|
251
|
-
badInput(field + ': ports.fallback 必须是函数');
|
|
252
|
-
const clipboard = ports.clipboard;
|
|
253
|
-
if (clipboard !== null && clipboard !== undefined && typeof clipboard.writeText !== 'function') {
|
|
254
|
-
badInput(field + ': ports.clipboard.writeText 必须是函数');
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
function pickCopyText(value, fallback) {
|
|
258
|
-
return typeof value === 'string' && value !== '' ? value : fallback;
|
|
259
|
-
}
|
|
260
|
-
/** 成功反馈:`opts.toast.ok` 逐字段覆盖(`silent` 只静默它,不静默失败徽章)。 */
|
|
261
|
-
function okToastInput(opts) {
|
|
262
|
-
const override = opts.toast === undefined || opts.toast === null ? undefined : opts.toast.ok;
|
|
263
|
-
const input = {
|
|
264
|
-
msg: pickCopyText(override?.msg, COPY_TEXT_DEFAULTS.okMessage),
|
|
265
|
-
detail: typeof override?.detail === 'string' ? override.detail : COPY_TEXT_DEFAULTS.okDetail,
|
|
266
|
-
};
|
|
267
|
-
return typeof override?.icon === 'string' ? { ...input, icon: override.icon } : input;
|
|
268
|
-
}
|
|
269
|
-
/** 失败反馈:徽章恒在(`badge.type` 恒 `danger`,文案取冻结的 `STATUS_DEFAULT_TEXT.danger`)。 */
|
|
270
|
-
function failToastInput(opts) {
|
|
271
|
-
const override = opts.toast === undefined || opts.toast === null ? undefined : opts.toast.fail;
|
|
272
|
-
return {
|
|
273
|
-
msg: pickCopyText(override?.msg, COPY_TEXT_DEFAULTS.failMessage),
|
|
274
|
-
detail: typeof override?.detail === 'string' ? override.detail : COPY_TEXT_DEFAULTS.failDetail,
|
|
275
|
-
icon: typeof override?.icon === 'string' ? override.icon : 'danger',
|
|
276
|
-
badge: { type: 'danger', text: STATUS_DEFAULT_TEXT.danger },
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
/** 冻结签名:`copyText(text: string, ports: CopyPorts, opts?: CopyTextOptions): Promise<CopyTextOutcome>`。 */
|
|
280
|
-
export const copyText = async (text, ports, opts) => {
|
|
281
|
-
assertCopyPorts(ports, 'copyText');
|
|
282
|
-
if (typeof text !== 'string')
|
|
283
|
-
badInput('copyText: text 必须是字符串');
|
|
284
|
-
const options = opts === null || opts === undefined || typeof opts !== 'object' ? {} : opts;
|
|
285
|
-
if (COPY_TEXT_DEFAULTS.emptyTextShortCircuit && text === '') {
|
|
286
|
-
return { ok: false, channel: null, reason: 'empty' };
|
|
287
|
-
}
|
|
288
|
-
const mountFeedback = (input) => {
|
|
289
|
-
const host = ports.toast;
|
|
290
|
-
if (host === null || host === undefined)
|
|
291
|
-
return;
|
|
292
|
-
if (typeof host.mount !== 'function')
|
|
293
|
-
badInput('copyText: ports.toast.mount 必须是函数');
|
|
294
|
-
host.mount(renderToast(input));
|
|
295
|
-
};
|
|
296
|
-
const settle = (ok, channel, reason) => {
|
|
297
|
-
if (ok) {
|
|
298
|
-
if (options.silent !== true)
|
|
299
|
-
mountFeedback(okToastInput(options));
|
|
300
|
-
if (typeof options.onOk === 'function')
|
|
301
|
-
options.onOk(channel);
|
|
302
|
-
return { ok: true, channel };
|
|
303
|
-
}
|
|
304
|
-
if (COPY_TEXT_DEFAULTS.failBadgeAlwaysOn)
|
|
305
|
-
mountFeedback(failToastInput(options));
|
|
306
|
-
if (typeof options.onFail === 'function')
|
|
307
|
-
options.onFail(reason ?? 'unknown');
|
|
308
|
-
return { ok: false, channel: null, reason };
|
|
309
|
-
};
|
|
310
|
-
const clipboard = ports.clipboard ?? null;
|
|
311
|
-
if (clipboard !== null) {
|
|
312
|
-
try {
|
|
313
|
-
await clipboard.writeText(text);
|
|
314
|
-
return settle(true, 'clipboard');
|
|
315
|
-
}
|
|
316
|
-
catch {
|
|
317
|
-
// 通道 1 失败 → 通道 2(不得只留 execCommand 的单通道,§3.3)
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
// 通道 2:**同步抛错同样不得逃出**(§3.3「两通道皆失败 → `{ok:false,…}`(不抛错)」+「失败徽章恒在」;
|
|
321
|
-
// 旧层 `_fbCopy` 整段 try/catch、失败返回 false 同口径)。只包住 `ports.fallback` 调用本身,
|
|
322
|
-
// 不包 `settle()`——否则反馈通道抛错会被误判成「通道 2 失败」而重复出徽章。
|
|
323
|
-
let fallbackOk = false;
|
|
324
|
-
try {
|
|
325
|
-
fallbackOk = Boolean(ports.fallback(text));
|
|
326
|
-
}
|
|
327
|
-
catch {
|
|
328
|
-
return settle(false, null, 'fallback-threw');
|
|
329
|
-
}
|
|
330
|
-
return fallbackOk ? settle(true, 'fallback') : settle(false, null, 'fallback-failed');
|
|
331
|
-
};
|
|
332
|
-
/** 冻结签名:`createCopyRuntime(ports: CopyPorts): CopyRuntime`。
|
|
333
|
-
*
|
|
334
|
-
* 除转发 `copyText` 外,本 runtime 记录自己挂载的反馈节点,`dispose()` 一并移除(幂等)。
|
|
335
|
-
* 「dispose 后仍可复制」是文档未规定处的取值:`dispose` 只回收反馈节点,不改端口语义。 */
|
|
336
|
-
export const createCopyRuntime = (ports) => {
|
|
337
|
-
assertCopyPorts(ports, 'createCopyRuntime');
|
|
338
|
-
const handles = new Set();
|
|
339
|
-
const host = ports.toast;
|
|
340
|
-
const wrapped = host === null || host === undefined
|
|
341
|
-
? ports
|
|
342
|
-
: {
|
|
343
|
-
clipboard: ports.clipboard,
|
|
344
|
-
fallback: ports.fallback,
|
|
345
|
-
toast: {
|
|
346
|
-
mount: (html) => {
|
|
347
|
-
const handle = host.mount(html);
|
|
348
|
-
handles.add(handle);
|
|
349
|
-
return {
|
|
350
|
-
remove: () => {
|
|
351
|
-
handles.delete(handle);
|
|
352
|
-
handle.remove();
|
|
353
|
-
},
|
|
354
|
-
};
|
|
355
|
-
},
|
|
356
|
-
},
|
|
357
|
-
};
|
|
358
|
-
return {
|
|
359
|
-
copyText: (text, opts) => copyText(text, wrapped, opts),
|
|
360
|
-
dispose: () => {
|
|
361
|
-
for (const handle of [...handles])
|
|
362
|
-
handle.remove();
|
|
363
|
-
handles.clear();
|
|
364
|
-
},
|
|
365
|
-
};
|
|
366
|
-
};
|
|
367
|
-
/* ── 复制接线(FX-3③/FX-17;#90 仅凭契约即可接线) ──────────────────── */
|
|
368
|
-
/** 冻结签名:`bindCopyAction(port, ports, opts?): { dispose(): void }`。
|
|
369
|
-
*
|
|
370
|
-
* - id 来源**只有** `port.listActionIds()`:不猜 id、不通配前缀、不订阅未列出的 id;
|
|
371
|
-
* - 重复 id 由 binder 自行去重(同一 id 只订阅一次);
|
|
372
|
-
* - 激活时读 `port.readDataText(actionId)`:非字符串(含 `undefined`)→ 跳过(不抛错、不产 toast),
|
|
373
|
-
* 非复制按钮(场景按钮)即由此跳过,不另设允许清单;
|
|
374
|
-
* - 反馈一律走 `ports.toast`(`copyText` 内部),binder 不另出反馈;
|
|
375
|
-
* - **激活回调恒不产生未处理拒绝**(FX-76-6):`copyText` 正常路径的失败已在内部 `settle()` 处理,
|
|
376
|
-
* 这里只兜「逃出 `copyText` 的异常」(端口实现抛错/`ports.toast.mount` 抛错/回调抛错)——
|
|
377
|
-
* 契约 §3.3 明写 binder 不另出反馈,故不产第二份 UI 反馈,也不重入 `opts.onFail`(防重复回调);
|
|
378
|
-
* - `dispose()` 解绑全部已订阅 id 且幂等;解绑后激活不再触发复制。 */
|
|
379
|
-
export const bindCopyAction = (port, ports, opts) => {
|
|
380
|
-
assertPlainObject(port, 'bindCopyAction: port');
|
|
381
|
-
if (typeof port.listActionIds !== 'function')
|
|
382
|
-
badInput('bindCopyAction: port.listActionIds 必须是函数');
|
|
383
|
-
if (typeof port.readDataText !== 'function')
|
|
384
|
-
badInput('bindCopyAction: port.readDataText 必须是函数');
|
|
385
|
-
if (typeof port.onActivate !== 'function')
|
|
386
|
-
badInput('bindCopyAction: port.onActivate 必须是函数');
|
|
387
|
-
assertCopyPorts(ports, 'bindCopyAction');
|
|
388
|
-
const unbinds = [];
|
|
389
|
-
const seen = new Set();
|
|
390
|
-
let disposed = false;
|
|
391
|
-
const list = port.listActionIds();
|
|
392
|
-
for (const actionId of Array.isArray(list) ? list : []) {
|
|
393
|
-
if (typeof actionId !== 'string' || actionId === '' || seen.has(actionId))
|
|
394
|
-
continue;
|
|
395
|
-
seen.add(actionId);
|
|
396
|
-
const off = port.onActivate(actionId, () => {
|
|
397
|
-
if (disposed)
|
|
398
|
-
return;
|
|
399
|
-
const text = port.readDataText(actionId);
|
|
400
|
-
if (typeof text !== 'string')
|
|
401
|
-
return;
|
|
402
|
-
// FX-76-6:`void` 丢弃结果,但**必须**接住 rejection(否则端口抛错 → unhandledRejection)。
|
|
403
|
-
// 反馈只经 `ports.toast`(§3.3),故此处不产反馈、不重入 `opts.onFail`。
|
|
404
|
-
void copyText(text, ports, opts).catch(() => { });
|
|
405
|
-
});
|
|
406
|
-
unbinds.push(typeof off === 'function' ? off : () => { });
|
|
407
|
-
}
|
|
408
|
-
return {
|
|
409
|
-
dispose: () => {
|
|
410
|
-
if (disposed)
|
|
411
|
-
return;
|
|
412
|
-
disposed = true;
|
|
413
|
-
for (const off of unbinds)
|
|
414
|
-
off();
|
|
415
|
-
unbinds.length = 0;
|
|
416
|
-
},
|
|
417
|
-
};
|
|
418
|
-
};
|
|
419
|
-
/* ── 共享 JS 文本的唯一产出者(FX-2③/FX-18;#74 只消费) ─────────────── */
|
|
420
|
-
/** JS 字符串字面量(产出文本里嵌值唯一出口)。 */
|
|
421
|
-
function jsStr(value) {
|
|
422
|
-
return JSON.stringify(value);
|
|
423
|
-
}
|
|
424
|
-
function helpersPrefix(input) {
|
|
425
|
-
const prefix = input === undefined || input === null ? undefined : input.prefix;
|
|
426
|
-
return typeof prefix === 'string' && prefix !== '' ? prefix : STYLE_PREFIX;
|
|
427
|
-
}
|
|
428
|
-
function helpersDataAttr(input) {
|
|
429
|
-
const attr = input === undefined || input === null ? undefined : input.dataAttr;
|
|
430
|
-
return typeof attr === 'string' && attr !== '' ? attr : DEFAULT_DATA_ATTR;
|
|
431
|
-
}
|
|
432
|
-
/* ── #88 S4:HELP 速查台运行时增强的类名来源(**不引 `src/help.ts`**) ────────────
|
|
433
|
-
* helpers 运行时注入的元素必须与 `src/help.ts` 的 `cls()` 同一命名空间,否则样式落空。
|
|
434
|
-
* 这里**不** `import` help.ts:help.ts 已 `import { STYLE_PREFIX } from './style.js'`,
|
|
435
|
-
* controls.ts 再引 help.ts 会形成 `controls → help → template` 的潜在模块环;改为
|
|
436
|
-
* 「`CONTROL_STYLE_SECTIONS` 闭集里 kebab 后与 `HELP_SHELL_ID` 同值者」这条**与 help.ts:87-93
|
|
437
|
-
* 逐条同构**的派生式,闭集漂移即在此 fail-fast(不静默换命名空间)。两侧一致性由
|
|
438
|
-
* `test/help-center-js-88.test.mjs` 机读钉死(对照 `renderHelpShell` 的真实产出类名)。 */
|
|
439
|
-
/** 样式区名 kebab(`helpShell` → `help-shell`):与 `src/help.ts:81-83` 同一映射。 */
|
|
440
|
-
function styleSectionSlug(section) {
|
|
441
|
-
return section.replace(/[A-Z]/g, (ch) => '-' + ch.toLowerCase());
|
|
442
|
-
}
|
|
443
|
-
/** HELP模板类名命名空间 kebab 后缀(`help-shell`;缺省前缀下根 = `ilife-help-shell`)。
|
|
444
|
-
* **延迟求值**(不在模块顶层):`style.ts → charts.ts → controls.ts → style.ts` 存在模块环,
|
|
445
|
-
* 顶层读 `STYLE_PREFIX` 会在 `style.js` 初始化完成前触发 TDZ(实测 `ReferenceError`),
|
|
446
|
-
* 故派生式只在 `buildSharedHelpersJs()` **调用时**执行(此时全部模块已初始化)。 */
|
|
447
|
-
function helpShellSlug() {
|
|
448
|
-
const section = CONTROL_STYLE_SECTIONS.find((name) => STYLE_PREFIX + styleSectionSlug(name) === HELP_SHELL_ID);
|
|
449
|
-
if (section === undefined) {
|
|
450
|
-
throw new Error('base-paint/controls:CONTROL_STYLE_SECTIONS 闭集缺与 HELP_SHELL_ID 同 kebab 的区名('
|
|
451
|
-
+ HELP_SHELL_ID + ')');
|
|
452
|
-
}
|
|
453
|
-
return styleSectionSlug(section);
|
|
454
|
-
}
|
|
455
|
-
/** 回到顶部按钮的 `id`(视觉尺 H-19 逐字点名 `#backTop`;`backTop` 是**冻结规格值**)。 */
|
|
456
|
-
const HELP_BACKTOP_ID = 'backTop';
|
|
457
|
-
/** H-19:`scrollY > 400` 才出现(阈值逐字取规格)。 */
|
|
458
|
-
const HELP_BACKTOP_MIN_Y = 400;
|
|
459
|
-
/** H-19:按钮字形 `↑`(18px/600 由 CSS 承担)。 */
|
|
460
|
-
const HELP_BACKTOP_LABEL = '↑';
|
|
461
|
-
/** 无障碍名(文档未规定 → 本票取值,与 `TOAST_CLOSE_LABEL` 同口径记账)。 */
|
|
462
|
-
const HELP_BACKTOP_ARIA = '回到顶部';
|
|
463
|
-
/** 搜索框占位文案(F3 `卡路里.html` 的 `#sB` 逐字:`搜索全部场景`)。 */
|
|
464
|
-
const HELP_SEARCH_PLACEHOLDER = '搜索全部场景';
|
|
465
|
-
/** 搜索框无障碍名(文档未规定 → 本票取值)。 */
|
|
466
|
-
const HELP_SEARCH_ARIA = '搜索全部场景';
|
|
467
|
-
/** 清空按钮字形(F3 `#sClear` 逐字:`✕`)与无障碍名。 */
|
|
468
|
-
const HELP_CLEAR_LABEL = '✕';
|
|
469
|
-
const HELP_CLEAR_ARIA = '清空搜索';
|
|
470
|
-
/** H-16 双反馈的**按钮通道**类名(#121;规格逐字 `copied`,**非** `ilife-` 前缀 → 不占样式区命名空间)。
|
|
471
|
-
* CSS 侧两处已就位:`style.ts` 的 `copyButton` 区(`.ilife-copy-btn.copied`,#75)与本区追加的
|
|
472
|
-
* helpShell 复制按钮 `.copied`(#121);本常量只供运行时**加类**,不产第二份样式真相。 */
|
|
473
|
-
const HELP_COPY_COPIED_CLASS = 'copied';
|
|
474
|
-
/** 复制成功态停留时长 = 弹簧动画时长 **450ms**(`docs/visual-spec-help.md:195,197`「按钮变绿进入
|
|
475
|
-
* `copied` 态并跑 450ms 弹簧动画」)。与 `style.ts` 的 `transition: transform .45s …` 同源数值,
|
|
476
|
-
* 由 `test/copy-copied-121.test.mjs` 跨文件交叉钉死(改一侧不改另一侧即红)。 */
|
|
477
|
-
const HELP_COPY_COPIED_MS = 450;
|
|
478
|
-
/** 命中计数文案(F3 `#hitC` 逐字:`匹配 N 个场景`)。 */
|
|
479
|
-
const HELP_HIT_PREFIX = '匹配 ';
|
|
480
|
-
const HELP_HIT_SUFFIX = ' 个场景';
|
|
481
|
-
/** 零命中文案(F3 `#emptyC` 逐字)。 */
|
|
482
|
-
const HELP_HIT_EMPTY = '没有找到相关场景,换个词试试~';
|
|
483
|
-
/** 冻结签名:`buildSharedHelpersJs(input?: SharedHelpersInput): string`。
|
|
484
|
-
*
|
|
485
|
-
* 产出恒为**非空**、**经典 script** 作用域可跑的 IIFE(无 `import`/`export`/顶层 `await`),
|
|
486
|
-
* 逐项满足 `SHARED_HELPERS_JS_RULE`:自包含(不依赖其它脚本或既有全局)/幂等(判据**只落 DOM**:
|
|
487
|
-
* 标记属性 + `querySelector` 早退,**不**用全局哨兵)/允许页面侧 DOM(`document.*` 读取与事件绑定)/
|
|
488
|
-
* 不向 `window.<id>`/`globalThis.<id>` 赋值/不引 `node:`。
|
|
489
|
-
*
|
|
490
|
-
* 功能面(文档无规定,本文记账):① 幂等挂载点标记;② 事件委派 `[ACTION_ID_ATTR]` 点击 →
|
|
491
|
-
* 读 `dataAttr` 文本 → 复制(`navigator.clipboard` → `execCommand` 兜底);③ 反馈块
|
|
492
|
-
* **与 `renderToast` 同构**(`.toast` > `.toast-icon` + `.toast-body` > `.toast-title-row` + 可选
|
|
493
|
-
* `.toast-title-detail`,`.toast-close` 在 body 之外;W1 根因修 + F-c 图标),`prefix` 命名空间类,
|
|
494
|
-
* `maxStack`/`timeoutMs`/移动端收窄取冻结常量;④ 关闭按钮。
|
|
495
|
-
* 产出文本里的文案/数值**全部**取自冻结常量(不产第二份真相)。
|
|
496
|
-
* 注:`execCommand` 兜底用临时 textarea 的两个内联定位属性(`position`/`left`),属临时节点
|
|
497
|
-
* 定位而非控件样式,不构成第二份样式常量。
|
|
498
|
-
*
|
|
499
|
-
* **#88 S4 追加(HELP 速查台运行时增强;文档无规定 → 本文记账)**:全部挂进**既有 `boot()`**、
|
|
500
|
-
* 共用**既有幂等 marker**(`MARKER_SEL` + `querySelector` 早退),**不新增第二个标记**;每一项都
|
|
501
|
-
* 先判 HELP模板是否在页面(helpers 被所有技能页面共享,非 HELP 页逐项早退、零副作用):
|
|
502
|
-
* - **卡级复制按钮**(`card-copy`):每张场景卡的**卡头**注入 1 个按钮,`actionId`/文案恒读
|
|
503
|
-
* `HELP_COPY_ACTIONS.prompt`,`dataAttr` 取同卡 `<pre class="prompt">` 的原文(=该卡 prompt 逐字;
|
|
504
|
-
* #88 S5 起改以 `<pre>` 为**主源**,读不到才回落 Sheet 内 prompt 按钮的 data-t),
|
|
505
|
-
* 复用上面的 `[ACTION_ID_ATTR]` 委派(零新增监听、零契约变更);卡内已有该类即跳过(幂等)。
|
|
506
|
-
* - **搜索**(`tab-search` + `tab-search-input` + `tab-search-clear` + `page-hitcount`):跨分组过滤卡片、
|
|
507
|
-
* `<mark class="card-mark">` 高亮命中、自动展开命中卡片的 Sheet 与子功能组、命中计数、
|
|
508
|
-
* 清空复原、`Enter` 在命中分组页间跳页(自动跳第一个命中页)。
|
|
509
|
-
* - **Sheet 参数实时预览**:`editable_fields` 的静态值换成输入框,输入即重组
|
|
510
|
-
* 「prompt + 空行 + `label: value` 行」(F3 `buildPrompt` 语义),并同步 prompt/params 复制按钮的
|
|
511
|
-
* `dataAttr`(否则复制到的是编辑前的旧文本)。
|
|
512
|
-
* - **回到顶部**(`btn-backtop`,`id="backTop"`,H-19):`scrollTop > 400` 加 `-show`,点击平滑回顶。
|
|
513
|
-
* 纯度:只用 `document.*`(含只读 `document.scrollingElement`)+ 既有只读 `window.matchMedia`;
|
|
514
|
-
* 不向 `window.<id>`/`globalThis.<id>` 赋值、不引 `node:`、不用 `classList`(类名走 `className` 字符串
|
|
515
|
-
* 增删,兼容 `style.test.mjs` T28 的「动效纯 CSS」断言)、不产内联 `on*`。
|
|
516
|
-
*
|
|
517
|
-
* **#121 追加(H-16 双反馈的按钮通道;文档 `docs/visual-spec-help.md:195,197`)**:复制**成功**时给
|
|
518
|
-
* **被点击的那个按钮**加 `copied` 类(`HELP_COPY_COPIED_CLASS`,规格逐字、无 `ilife-` 前缀),
|
|
519
|
-
* `HELP_COPY_COPIED_MS`(450ms)后移除;失败路径**不**加类(不静默变绿)。落点仍在**既有
|
|
520
|
-
* `boot()`/既有委派**内:`onClick` 把命中的按钮一并传给 `copy()` → 两条成功通道
|
|
521
|
-
* (`navigator.clipboard`/`execCommand` 兜底)各自在成功分支调 `markCopied(btn)`,零新增监听、
|
|
522
|
-
* 零新增 marker、零新签名;类名增删复用既有 `addClass`/`removeClass`(`className` 字符串口径)。 */
|
|
523
|
-
export const buildSharedHelpersJs = (input) => {
|
|
524
|
-
const prefix = helpersPrefix(input);
|
|
525
|
-
const dataAttr = helpersDataAttr(input);
|
|
526
|
-
const markerAttr = 'data-' + prefix.replace(/-+$/, '') + '-helpers';
|
|
527
|
-
const markerSelector = '[' + markerAttr + '="1"]';
|
|
528
|
-
// #88 S4:HELP模板命名空间(缺省 `ilife-help-shell`;`prefix` 覆盖时随动,不残留缺省前缀)。
|
|
529
|
-
const shellClass = prefix + helpShellSlug();
|
|
530
|
-
const shellPart = (suffix) => shellClass + '-' + suffix;
|
|
531
|
-
const promptAttr = 'data-' + prefix.replace(/-+$/, '') + '-help-prompt';
|
|
532
|
-
const copyAction = HELP_COPY_ACTIONS.prompt;
|
|
533
|
-
const paramsAction = HELP_COPY_ACTIONS.params;
|
|
534
|
-
const lines = [
|
|
535
|
-
'(function () {',
|
|
536
|
-
" 'use strict';",
|
|
537
|
-
' var MARKER_ATTR = ' + jsStr(markerAttr) + ';',
|
|
538
|
-
' var MARKER_SEL = ' + jsStr(markerSelector) + ';',
|
|
539
|
-
' var ACTION_ATTR = ' + jsStr(ACTION_ID_ATTR) + ';',
|
|
540
|
-
' var TEXT_ATTR = ' + jsStr(dataAttr) + ';',
|
|
541
|
-
' var STACK_CLASS = ' + jsStr(prefix + 'toast-stack') + ';',
|
|
542
|
-
' var TOAST_CLASS = ' + jsStr(prefix + 'toast') + ';',
|
|
543
|
-
' var ICON_CLASS = ' + jsStr(prefix + 'toast-icon') + ';',
|
|
544
|
-
' var ICON_OK = ' + jsStr(TOAST_ICON_GLYPHS.copy) + ';',
|
|
545
|
-
' var ICON_FAIL = ' + jsStr(TOAST_ICON_GLYPHS.danger) + ';',
|
|
546
|
-
' var CHIP_CLASS = ' + jsStr(prefix + 'toast-chip') + ';',
|
|
547
|
-
' var CHIP_DANGER_CLASS = ' + jsStr(prefix + 'toast-chip-danger') + ';',
|
|
548
|
-
' var TITLE_CLASS = ' + jsStr(prefix + 'toast-title') + ';',
|
|
549
|
-
' var BODY_CLASS = ' + jsStr(prefix + TOAST_BODY_CLASS) + ';',
|
|
550
|
-
' var TITLE_ROW_CLASS = ' + jsStr(prefix + TOAST_TITLE_ROW_CLASS) + ';',
|
|
551
|
-
' var DETAIL_CLASS = ' + jsStr(prefix + TOAST_DETAIL_CLASS) + ';',
|
|
552
|
-
' var CLOSE_CLASS = ' + jsStr(prefix + TOAST_CLOSE_CLASS) + ';',
|
|
553
|
-
' var OK_MSG = ' + jsStr(COPY_TEXT_DEFAULTS.okMessage) + ';',
|
|
554
|
-
' var OK_DETAIL = ' + jsStr(COPY_TEXT_DEFAULTS.okDetail) + ';',
|
|
555
|
-
' var FAIL_MSG = ' + jsStr(COPY_TEXT_DEFAULTS.failMessage) + ';',
|
|
556
|
-
' var FAIL_DETAIL = ' + jsStr(COPY_TEXT_DEFAULTS.failDetail) + ';',
|
|
557
|
-
// 失败徽章文案取 `STATUS_DEFAULT_TEXT.danger`(与静态产出器 `copyText` 的失败徽章同一处常量,不产第二份真相)
|
|
558
|
-
' var FAIL_BADGE = ' + jsStr(STATUS_DEFAULT_TEXT.danger) + ';',
|
|
559
|
-
' var CLOSE_LABEL = ' + jsStr(TOAST_CLOSE_LABEL) + ';',
|
|
560
|
-
' var TIMEOUT_MS = ' + TOAST_DEFAULTS.timeoutMs + ';',
|
|
561
|
-
' var MAX_STACK = ' + TOAST_DEFAULTS.maxStack + ';',
|
|
562
|
-
' var MOBILE_MAX_STACK = ' + TOAST_DEFAULTS.mobileMaxStack + ';',
|
|
563
|
-
' var MOBILE_MAX_PX = ' + TOAST_DEFAULTS.mobileMaxPx + ';',
|
|
564
|
-
' var LF = String.fromCharCode(10);',
|
|
565
|
-
' var LF2 = LF + LF;',
|
|
566
|
-
// #247:复制数据的三格式形态(菜单开合器 + 格式菜单项)。开合标记/格式键都是**属性**,
|
|
567
|
-
// 菜单容器、菜单项与按钮的共同父节点走类名——四者与渲染端(`copyMenuHtml`)逐字同值,
|
|
568
|
-
// 不产第二份真相。
|
|
569
|
-
' var MENU_OPEN_SEL = ' + jsStr('[' + COPY_MENU_OPEN_ATTR + '="1"]') + ';',
|
|
570
|
-
' var MENU_ITEM_SEL = ' + jsStr('[' + COPY_MENU_FMT_ATTR + ']') + ';',
|
|
571
|
-
' var MENU_WRAP_CLASS = ' + jsStr(prefix + COPY_MENU_WRAP_CLASS) + ';',
|
|
572
|
-
' var MENU_CLASS = ' + jsStr(prefix + COPY_MENU_CLASS) + ';',
|
|
573
|
-
' var MENU_LABEL_CLASS = ' + jsStr(prefix + COPY_MENU_LABEL_CLASS) + ';',
|
|
574
|
-
' var MENU_OPEN_CLASS = ' + jsStr(COPY_MENU_OPEN_CLASS) + ';',
|
|
575
|
-
' var FORMAT_OK_MSG = ' + jsStr(COPY_FORMAT_OK_MSG) + ';',
|
|
576
|
-
// #88 S4:HELP 速查台类名/选择器(同一命名空间,逐条由 `shellClass` 派生)
|
|
577
|
-
' var SHELL_SEL = ' + jsStr('.' + shellClass) + ';',
|
|
578
|
-
' var CARD_CLASS = ' + jsStr(shellPart('card')) + ';',
|
|
579
|
-
' var CARD_TOP_CLASS = ' + jsStr(shellPart('card-top')) + ';',
|
|
580
|
-
' var CARD_COPY_CLASS = ' + jsStr(shellPart('card-copy')) + ';',
|
|
581
|
-
' var CARD_MARK_CLASS = ' + jsStr(shellPart('card-mark')) + ';',
|
|
582
|
-
' var CARD_HIDDEN_CLASS = ' + jsStr(shellPart('card-hidden')) + ';',
|
|
583
|
-
' var SHEET_CLASS = ' + jsStr(shellPart('sheet')) + ';',
|
|
584
|
-
' var PROMPT_CLASS = ' + jsStr(shellPart('prompt')) + ';',
|
|
585
|
-
' var PROMPT_ATTR = ' + jsStr(promptAttr) + ';',
|
|
586
|
-
' var FIELD_CLASS = ' + jsStr(shellPart('field')) + ';',
|
|
587
|
-
' var FIELD_LABEL_CLASS = ' + jsStr(shellPart('field-label')) + ';',
|
|
588
|
-
' var FIELD_VALUE_CLASS = ' + jsStr(shellPart('field-value')) + ';',
|
|
589
|
-
' var FIELD_HINT_CLASS = ' + jsStr(shellPart('field-hint')) + ';',
|
|
590
|
-
' var FIELD_INPUT_CLASS = ' + jsStr(shellPart('field-input')) + ';',
|
|
591
|
-
' var TAB_BAR_CLASS = ' + jsStr(shellPart('tab-bar')) + ';',
|
|
592
|
-
' var TAB_INPUT_CLASS = ' + jsStr(shellPart('tab-input')) + ';',
|
|
593
|
-
' var SEARCH_BOX_CLASS = ' + jsStr(shellPart('tab-search')) + ';',
|
|
594
|
-
' var SEARCH_INPUT_CLASS = ' + jsStr(shellPart('tab-search-input')) + ';',
|
|
595
|
-
' var SEARCH_CLEAR_CLASS = ' + jsStr(shellPart('tab-search-clear')) + ';',
|
|
596
|
-
' var HITCOUNT_CLASS = ' + jsStr(shellPart('page-hitcount')) + ';',
|
|
597
|
-
' var PAGE_CLASS = ' + jsStr(shellPart('page')) + ';',
|
|
598
|
-
' var SUBGROUP_CLASS = ' + jsStr(shellPart('subgroup')) + ';',
|
|
599
|
-
' var SUBGROUP_HIDDEN_CLASS = ' + jsStr(shellPart('subgroup-hidden')) + ';',
|
|
600
|
-
' var CLI_CLASS = ' + jsStr(shellPart('cli')) + ';',
|
|
601
|
-
' var BACKTOP_CLASS = ' + jsStr(shellPart('btn-backtop')) + ';',
|
|
602
|
-
' var BACKTOP_SHOW_CLASS = ' + jsStr(shellPart('btn-backtop-show')) + ';',
|
|
603
|
-
' var BACKTOP_ID = ' + jsStr(HELP_BACKTOP_ID) + ';',
|
|
604
|
-
' var BACKTOP_MIN_Y = ' + HELP_BACKTOP_MIN_Y + ';',
|
|
605
|
-
' var BACKTOP_LABEL = ' + jsStr(HELP_BACKTOP_LABEL) + ';',
|
|
606
|
-
' var BACKTOP_ARIA = ' + jsStr(HELP_BACKTOP_ARIA) + ';',
|
|
607
|
-
' var SEARCH_PLACEHOLDER = ' + jsStr(HELP_SEARCH_PLACEHOLDER) + ';',
|
|
608
|
-
' var SEARCH_ARIA = ' + jsStr(HELP_SEARCH_ARIA) + ';',
|
|
609
|
-
' var CLEAR_LABEL = ' + jsStr(HELP_CLEAR_LABEL) + ';',
|
|
610
|
-
' var CLEAR_ARIA = ' + jsStr(HELP_CLEAR_ARIA) + ';',
|
|
611
|
-
' var HIT_PREFIX = ' + jsStr(HELP_HIT_PREFIX) + ';',
|
|
612
|
-
' var HIT_SUFFIX = ' + jsStr(HELP_HIT_SUFFIX) + ';',
|
|
613
|
-
' var HIT_EMPTY = ' + jsStr(HELP_HIT_EMPTY) + ';',
|
|
614
|
-
' var COPY_ACTION = ' + jsStr(copyAction.actionId) + ';',
|
|
615
|
-
' var COPY_LABEL = ' + jsStr(copyAction.label) + ';',
|
|
616
|
-
' var COPIED_CLASS = ' + jsStr(HELP_COPY_COPIED_CLASS) + ';',
|
|
617
|
-
' var COPIED_MS = ' + HELP_COPY_COPIED_MS + ';',
|
|
618
|
-
' var PARAMS_ACTION = ' + jsStr(paramsAction.actionId) + ';',
|
|
619
|
-
' var searchTerm = "";',
|
|
620
|
-
' var clickBound = false;',
|
|
621
|
-
// #88 S5(B 段红队 S3-a):委派去重的**跨实例**判据——同一页面里 helpers 被多次注入时,
|
|
622
|
-
// 每个实例各有自己的闭包(`clickBound` 管不住别人),故在**事件对象**上打一次性标记:
|
|
623
|
-
// 同一事件只会被第一个处理器消费,一次点击恒只复制 1 次/出 1 个 toast。
|
|
624
|
-
' var HANDLED_PROP = ' + jsStr(prefix + 'help-click-handled') + ';',
|
|
625
|
-
'',
|
|
626
|
-
' function boot() {',
|
|
627
|
-
' if (!document.body) return;',
|
|
628
|
-
' if (document.querySelector(MARKER_SEL)) return;',
|
|
629
|
-
' var marker = document.createElement("span");',
|
|
630
|
-
' marker.setAttribute(MARKER_ATTR, "1");',
|
|
631
|
-
' marker.hidden = true;',
|
|
632
|
-
' document.body.appendChild(marker);',
|
|
633
|
-
// #88 S5(B 段红队 S3-a):委派**只挂一次**——marker 被删后重入 boot() 不得重复 addEventListener,
|
|
634
|
-
// 否则一次点击触发 N 次复制/N 个 toast。按钮/搜索框/#backTop 各自的幂等由自身早退保证。
|
|
635
|
-
' if (!clickBound) { clickBound = true; document.addEventListener("click", onClick); }',
|
|
636
|
-
' initHelpShell();',
|
|
637
|
-
' }',
|
|
638
|
-
'',
|
|
639
|
-
' function onClick(ev) {',
|
|
640
|
-
' if (ev[HANDLED_PROP]) return;',
|
|
641
|
-
' ev[HANDLED_PROP] = 1;',
|
|
642
|
-
' var node = ev.target;',
|
|
643
|
-
' if (!node || typeof node.closest !== "function") return;',
|
|
644
|
-
' var close = node.closest("." + CLOSE_CLASS);',
|
|
645
|
-
' if (close) {',
|
|
646
|
-
' var box = close.parentNode;',
|
|
647
|
-
' if (box && box.parentNode) box.parentNode.removeChild(box);',
|
|
648
|
-
' return;',
|
|
649
|
-
' }',
|
|
650
|
-
' if (onMenuClick(node)) return;',
|
|
651
|
-
' var btn = node.closest("[" + ACTION_ATTR + "]");',
|
|
652
|
-
' if (!btn) return;',
|
|
653
|
-
// 点同一行另一颗复制按钮(复制日志/复制指令)时顺手收起菜单:与「点别处收起」同效,
|
|
654
|
-
// 且不影响它自己的复制(菜单与按钮是两个互不干扰的路径)。
|
|
655
|
-
' var menuOpen = document.querySelector("." + MENU_OPEN_CLASS);',
|
|
656
|
-
' if (menuOpen) closeMenu(menuOpen.parentNode);',
|
|
657
|
-
' var text = btn.getAttribute(TEXT_ATTR);',
|
|
658
|
-
' if (text === null) return;',
|
|
659
|
-
' copy(text, btn);',
|
|
660
|
-
' }',
|
|
661
|
-
'',
|
|
662
|
-
' /* #247:复制数据的三格式形态——按钮(`data-fmt-open`)只开合菜单,菜单项(`data-fmt`)各自带',
|
|
663
|
-
' 自己的 `data-t`。两条分支都排在复制委派**之前**:开合器**没有** `data-action-id`,故不会与',
|
|
664
|
-
' 复制委派抢同一次点击;菜单项走复制但**不用** id 反查(读被点击元素自己的属性,与 HELP 速查台',
|
|
665
|
-
' 逐行写同一冻结 id 的口径一致)。返回真=本次点击已被菜单消费。 */',
|
|
666
|
-
' function onMenuClick(node) {',
|
|
667
|
-
' var opener = node.closest(MENU_OPEN_SEL);',
|
|
668
|
-
' if (!opener) {',
|
|
669
|
-
' /* 菜单项:处理完**直接返回**,不下落到复制委派——它没有 `data-action-id`,落下去只会空转。',
|
|
670
|
-
' 复制仍然走同一条 `copy()`(双通道 + `copied` 态 + 提示),只是多了「报所选格式」这一项。 */',
|
|
671
|
-
' var item = node.closest(MENU_ITEM_SEL);',
|
|
672
|
-
' if (item) {',
|
|
673
|
-
' var itemText = item.getAttribute(TEXT_ATTR);',
|
|
674
|
-
' var itemWrap = item.closest("." + MENU_WRAP_CLASS);',
|
|
675
|
-
' if (itemWrap) closeMenu(itemWrap);',
|
|
676
|
-
' var itemLabel = item.querySelector("." + MENU_LABEL_CLASS);',
|
|
677
|
-
' copy(itemText, item, itemLabel ? itemLabel.textContent : "");',
|
|
678
|
-
' return true;',
|
|
679
|
-
' }',
|
|
680
|
-
' /* 点别处收起(老仓 `document` 上那条「不在 .fmt-wrap 里就收起」的同效):',
|
|
681
|
-
' 页面上最多只开一个菜单,故扫到开着的就收。 */',
|
|
682
|
-
' var open = document.querySelector("." + MENU_OPEN_CLASS);',
|
|
683
|
-
' if (open) closeMenu(open.parentNode);',
|
|
684
|
-
' return false;',
|
|
685
|
-
' }',
|
|
686
|
-
' var wrap = opener.closest("." + MENU_WRAP_CLASS);',
|
|
687
|
-
' if (!wrap) return true;',
|
|
688
|
-
' var menu = wrap.querySelector("." + MENU_CLASS);',
|
|
689
|
-
' if (menu) toggleMenu(opener, menu);',
|
|
690
|
-
' return true;',
|
|
691
|
-
' }',
|
|
692
|
-
'',
|
|
693
|
-
' /* 开合只翻**可视态**(`copy-menu-open` 类 + `aria-expanded`),**不动 DOM**(#249 返修):',
|
|
694
|
-
' 菜单是浮层,层叠归 CSS(`position:absolute` + `z-index:20`),不在常规流里;而 DOM 序=内容序',
|
|
695
|
-
' ——ghost 行是两列网格、按序铺格,开时搬一颗,两颗就换位,且收起时回不去。 */',
|
|
696
|
-
' function toggleMenu(opener, menu) {',
|
|
697
|
-
' var open = hasClass(menu, MENU_OPEN_CLASS);',
|
|
698
|
-
' if (open) {',
|
|
699
|
-
' removeClass(menu, MENU_OPEN_CLASS);',
|
|
700
|
-
' opener.setAttribute("aria-expanded", "false");',
|
|
701
|
-
' return;',
|
|
702
|
-
' }',
|
|
703
|
-
' addClass(menu, MENU_OPEN_CLASS);',
|
|
704
|
-
' opener.setAttribute("aria-expanded", "true");',
|
|
705
|
-
' }',
|
|
706
|
-
'',
|
|
707
|
-
' function closeMenu(wrap) {',
|
|
708
|
-
' if (!wrap) return;',
|
|
709
|
-
' var opener = wrap.querySelector(MENU_OPEN_SEL);',
|
|
710
|
-
' var menu = wrap.querySelector("." + MENU_CLASS);',
|
|
711
|
-
' if (!menu || !hasClass(menu, MENU_OPEN_CLASS)) return;',
|
|
712
|
-
' removeClass(menu, MENU_OPEN_CLASS);',
|
|
713
|
-
' if (opener) opener.setAttribute("aria-expanded", "false");',
|
|
714
|
-
' }',
|
|
715
|
-
'',
|
|
716
|
-
' function copy(text, btn, fmt) {',
|
|
717
|
-
' var clip = navigator.clipboard;',
|
|
718
|
-
' if (clip && typeof clip.writeText === "function") {',
|
|
719
|
-
' try {',
|
|
720
|
-
' var done = clip.writeText(text);',
|
|
721
|
-
' if (done && typeof done.then === "function") {',
|
|
722
|
-
' done.then(function () { markCopied(btn); feedback(OK_MSG, false, fmt); }, function () { fallback(text, btn, fmt); });',
|
|
723
|
-
' return;',
|
|
724
|
-
' }',
|
|
725
|
-
' markCopied(btn);',
|
|
726
|
-
' feedback(OK_MSG, false, fmt);',
|
|
727
|
-
' return;',
|
|
728
|
-
' } catch (err) {',
|
|
729
|
-
' fallback(text, btn, fmt);',
|
|
730
|
-
' return;',
|
|
731
|
-
' }',
|
|
732
|
-
' }',
|
|
733
|
-
' fallback(text, btn, fmt);',
|
|
734
|
-
' }',
|
|
735
|
-
'',
|
|
736
|
-
' function fallback(text, btn, fmt) {',
|
|
737
|
-
' var sink = document.createElement("textarea");',
|
|
738
|
-
' sink.value = text;',
|
|
739
|
-
' sink.setAttribute("readonly", "readonly");',
|
|
740
|
-
' sink.setAttribute("aria-hidden", "true");',
|
|
741
|
-
' sink.style.position = "fixed";',
|
|
742
|
-
' sink.style.left = "-9999px";',
|
|
743
|
-
' document.body.appendChild(sink);',
|
|
744
|
-
' sink.select();',
|
|
745
|
-
' var done = false;',
|
|
746
|
-
' try { done = document.execCommand("copy"); } catch (err) { done = false; }',
|
|
747
|
-
' if (sink.parentNode) sink.parentNode.removeChild(sink);',
|
|
748
|
-
' if (done) markCopied(btn);',
|
|
749
|
-
' feedback(done ? OK_MSG : FAIL_MSG, !done, fmt);',
|
|
750
|
-
' }',
|
|
751
|
-
'',
|
|
752
|
-
' /* #121(H-16 双反馈的按钮通道):成功态加 `copied` 类,450ms 后移除。',
|
|
753
|
-
' 只在**成功**分支调用 → 失败路径不静默变绿;类名走 className 字符串(addClass/removeClass),',
|
|
754
|
-
' 不用 DOM 的类名列表 API(纯度口径);按钮缺失/已离页时 removeClass 仍安全(操作的是节点自身)。 */',
|
|
755
|
-
' function markCopied(btn) {',
|
|
756
|
-
' if (!btn) return;',
|
|
757
|
-
' addClass(btn, COPIED_CLASS);',
|
|
758
|
-
' setTimeout(function () { removeClass(btn, COPIED_CLASS); }, COPIED_MS);',
|
|
759
|
-
' }',
|
|
760
|
-
'',
|
|
761
|
-
' function feedback(msg, bad, fmt) {',
|
|
762
|
-
' var cap = MAX_STACK;',
|
|
763
|
-
' if (window.matchMedia && window.matchMedia("(max-width: " + MOBILE_MAX_PX + "px)").matches) cap = MOBILE_MAX_STACK;',
|
|
764
|
-
' var host = document.querySelector("." + STACK_CLASS);',
|
|
765
|
-
' if (!host) {',
|
|
766
|
-
' host = document.createElement("div");',
|
|
767
|
-
' host.className = STACK_CLASS;',
|
|
768
|
-
' document.body.appendChild(host);',
|
|
769
|
-
' }',
|
|
770
|
-
' var box = document.createElement("div");',
|
|
771
|
-
' box.className = bad ? TOAST_CLASS + " " + TOAST_CLASS + "-danger" : TOAST_CLASS;',
|
|
772
|
-
' box.setAttribute("role", ' + jsStr(TOAST_DEFAULTS.role) + ');',
|
|
773
|
-
' box.setAttribute("aria-live", ' + jsStr(TOAST_DEFAULTS.ariaLive) + ');',
|
|
774
|
-
// W1 根因修(结构对齐)+ F-c 图标:运行时 DOM 与静态产出器/旧层同构——
|
|
775
|
-
// box > .toast-icon + .toast-body(> .toast-title-row(> .toast-title) + 可选 .toast-title-detail) + .toast-close
|
|
776
|
-
// 旧层为 `.hm-toast-icon + .hm-toast-body(> .hm-toast-title-row + .hm-toast-detail) + .hm-toast-close`
|
|
777
|
-
// (`.scratch/t76/old-controls.md` §1.1)。图标字形取 `TOAST_ICON_GLYPHS[TOAST_DEFAULTS.defaultIcon]`
|
|
778
|
-
// (📋,旧层 `base.js:74`/契约 `:141` 缺省;与静态产出器 `renderToast` 同源,不产第二份真相)。
|
|
779
|
-
// 缺 body 包裹时标题/详情/关闭被排进同一 flex 行,
|
|
780
|
-
// 靠 `flex-wrap` + `flex:1 1 100%` 补丁才勉强分层,且把关闭按钮挤到第三行(R1 实测 113px 高)。
|
|
781
|
-
// F-c 自证:新增仅用 `document.createElement/className/setAttribute/textContent/appendChild`
|
|
782
|
-
// (`SHARED_HELPERS_JS_RULE.domAllowed=true` 允许 DOM 读取;未向 `window/globalThis` 赋值、
|
|
783
|
-
// 未引 `node:`、未用 `classList/show`),故不破坏 #76 冻结产出内容契约与 T28 纯 CSS 动效断言。
|
|
784
|
-
' var icon = document.createElement("span");',
|
|
785
|
-
' icon.className = ICON_CLASS;',
|
|
786
|
-
' icon.setAttribute("aria-hidden", "true");',
|
|
787
|
-
' icon.textContent = bad ? ICON_FAIL : ICON_OK;',
|
|
788
|
-
' var body = document.createElement("div");',
|
|
789
|
-
' body.className = BODY_CLASS;',
|
|
790
|
-
' var titleRow = document.createElement("div");',
|
|
791
|
-
' titleRow.className = TITLE_ROW_CLASS;',
|
|
792
|
-
' var title = document.createElement("span");',
|
|
793
|
-
' title.className = TITLE_CLASS;',
|
|
794
|
-
// #247:选了格式的那条**成功**提示报所选格式(「数据复制成功(纯文本/JSON/CSV)」)——格式名取
|
|
795
|
-
// 菜单项的标签文本(渲染期写死的那个键),不在运行时里另立一张中文表,选一个格式=一个提示。
|
|
796
|
-
// **失败提示照旧**(`FAIL_MSG` + ❌ +「失败」徽章):失败与格式无关,别把它也套上格式名。
|
|
797
|
-
' title.textContent = bad ? msg : (fmt ? FORMAT_OK_MSG + "(" + fmt + ")" : msg);',
|
|
798
|
-
' titleRow.appendChild(title);',
|
|
799
|
-
// 5a(2026-09-12 用户裁定「UI 上要统一」):失败态与静态产出器/老仓同形——红底「失败」徽章进标题行。
|
|
800
|
-
' if (bad) {',
|
|
801
|
-
' var chip = document.createElement("span");',
|
|
802
|
-
' chip.className = CHIP_CLASS + " " + CHIP_DANGER_CLASS;',
|
|
803
|
-
' chip.textContent = FAIL_BADGE;',
|
|
804
|
-
' titleRow.appendChild(chip);',
|
|
805
|
-
' }',
|
|
806
|
-
' body.appendChild(titleRow);',
|
|
807
|
-
// 详情行两态都有:成功「粘贴给 AI」、失败「长按选择文本手动复制」(都取 `COPY_TEXT_DEFAULTS`,与老仓逐字同)。
|
|
808
|
-
' var detail = document.createElement("div");',
|
|
809
|
-
' detail.className = DETAIL_CLASS;',
|
|
810
|
-
' detail.textContent = bad ? FAIL_DETAIL : OK_DETAIL;',
|
|
811
|
-
' body.appendChild(detail);',
|
|
812
|
-
' box.appendChild(icon);',
|
|
813
|
-
' box.appendChild(body);',
|
|
814
|
-
' var close = document.createElement("button");',
|
|
815
|
-
' close.type = "button";',
|
|
816
|
-
' close.className = CLOSE_CLASS;',
|
|
817
|
-
' close.textContent = CLOSE_LABEL;',
|
|
818
|
-
' box.appendChild(close);',
|
|
819
|
-
' host.appendChild(box);',
|
|
820
|
-
' while (host.children.length > cap) host.removeChild(host.children[0]);',
|
|
821
|
-
' setTimeout(function () {',
|
|
822
|
-
' if (box.parentNode) box.parentNode.removeChild(box);',
|
|
823
|
-
' }, TIMEOUT_MS);',
|
|
824
|
-
' }',
|
|
825
|
-
'',
|
|
826
|
-
// ── #88 S4:HELP 速查台运行时增强(见上方产出内容契约的记账;全部由既有 boot() 调用) ──
|
|
827
|
-
' function initHelpShell() {',
|
|
828
|
-
' var shell = document.querySelector(SHELL_SEL);',
|
|
829
|
-
' if (!shell) return;',
|
|
830
|
-
' var cards = allOf(shell, "." + CARD_CLASS);',
|
|
831
|
-
' if (cards.length === 0) return;',
|
|
832
|
-
' injectCardCopy(cards);',
|
|
833
|
-
' initSheetPreview(cards);',
|
|
834
|
-
' initSearch(shell, cards);',
|
|
835
|
-
' initBackTop();',
|
|
836
|
-
' }',
|
|
837
|
-
'',
|
|
838
|
-
' function allOf(root, sel) {',
|
|
839
|
-
' return Array.prototype.slice.call(root.querySelectorAll(sel));',
|
|
840
|
-
' }',
|
|
841
|
-
'',
|
|
842
|
-
' function attrSel(name, value) {',
|
|
843
|
-
' return "[" + name + "=\\"" + value + "\\"]";',
|
|
844
|
-
' }',
|
|
845
|
-
'',
|
|
846
|
-
' function hasClass(el, name) {',
|
|
847
|
-
' return (" " + el.className + " ").indexOf(" " + name + " ") > -1;',
|
|
848
|
-
' }',
|
|
849
|
-
'',
|
|
850
|
-
' function addClass(el, name) {',
|
|
851
|
-
' if (hasClass(el, name)) return;',
|
|
852
|
-
' el.className = el.className ? el.className + " " + name : name;',
|
|
853
|
-
' }',
|
|
854
|
-
'',
|
|
855
|
-
' function removeClass(el, name) {',
|
|
856
|
-
' if (!el.className) return;',
|
|
857
|
-
' var parts = el.className.split(" ");',
|
|
858
|
-
' var kept = [];',
|
|
859
|
-
' for (var i = 0; i < parts.length; i++) { if (parts[i] && parts[i] !== name) kept.push(parts[i]); }',
|
|
860
|
-
' el.className = kept.join(" ");',
|
|
861
|
-
' }',
|
|
862
|
-
'',
|
|
863
|
-
' /* 卡级复制按钮(#88 R1-1):卡头注入 1 个按钮——actionId/文案恒读冻结常量,',
|
|
864
|
-
' 文本取同卡 `<pre class="prompt">` 的**原文**(=该卡 prompt 逐字,与 F3 卡面同源);',
|
|
865
|
-
' 读不到 <pre> 才回落同卡 Sheet 内 prompt 按钮的 data-t,两者都无才跳过',
|
|
866
|
-
' (#88 S5/B 段红队 S3-a:真实help模板恒有 <pre>,故 436/436 恒有按钮,不静默丢卡)→ 复用既有委派。 */',
|
|
867
|
-
' function injectCardCopy(cards) {',
|
|
868
|
-
' for (var i = 0; i < cards.length; i++) {',
|
|
869
|
-
' var card = cards[i];',
|
|
870
|
-
' if (card.querySelector("." + CARD_COPY_CLASS)) continue;',
|
|
871
|
-
' var pre = card.querySelector("." + PROMPT_CLASS);',
|
|
872
|
-
' var src = pre !== null ? pre : card.querySelector(attrSel(ACTION_ATTR, COPY_ACTION));',
|
|
873
|
-
' if (src === null) continue;',
|
|
874
|
-
' var text = pre !== null ? pre.textContent : src.getAttribute(TEXT_ATTR);',
|
|
875
|
-
' if (text === null) continue;',
|
|
876
|
-
' var btn = document.createElement("button");',
|
|
877
|
-
' btn.type = "button";',
|
|
878
|
-
' btn.className = CARD_COPY_CLASS;',
|
|
879
|
-
' btn.textContent = COPY_LABEL;',
|
|
880
|
-
' btn.setAttribute(ACTION_ATTR, COPY_ACTION);',
|
|
881
|
-
' btn.setAttribute(TEXT_ATTR, text);',
|
|
882
|
-
' var head = card.querySelector("." + CARD_TOP_CLASS);',
|
|
883
|
-
' if (head) head.appendChild(btn); else card.insertBefore(btn, card.firstChild);',
|
|
884
|
-
' }',
|
|
885
|
-
' }',
|
|
886
|
-
'',
|
|
887
|
-
' /* Sheet 参数实时预览:静态值换输入框,输入即重组「prompt + 空行 + label: value 行」。 */',
|
|
888
|
-
' function initSheetPreview(cards) {',
|
|
889
|
-
' for (var i = 0; i < cards.length; i++) {',
|
|
890
|
-
' var card = cards[i];',
|
|
891
|
-
' var pre = card.querySelector("." + PROMPT_CLASS);',
|
|
892
|
-
' if (!pre) continue;',
|
|
893
|
-
' if (pre.getAttribute(PROMPT_ATTR) === null) pre.setAttribute(PROMPT_ATTR, pre.textContent);',
|
|
894
|
-
' var fields = allOf(card, "." + FIELD_CLASS);',
|
|
895
|
-
' for (var j = 0; j < fields.length; j++) bindField(card, fields[j]);',
|
|
896
|
-
' }',
|
|
897
|
-
' }',
|
|
898
|
-
'',
|
|
899
|
-
' function bindField(card, field) {',
|
|
900
|
-
' if (field.querySelector("." + FIELD_INPUT_CLASS)) return;',
|
|
901
|
-
' var value = field.querySelector("." + FIELD_VALUE_CLASS);',
|
|
902
|
-
' var input = document.createElement("input");',
|
|
903
|
-
' input.type = "text";',
|
|
904
|
-
' input.className = FIELD_INPUT_CLASS;',
|
|
905
|
-
' input.value = value ? value.textContent : "";',
|
|
906
|
-
' input.setAttribute("value", input.value);',
|
|
907
|
-
' var hint = field.querySelector("." + FIELD_HINT_CLASS);',
|
|
908
|
-
' if (hint) input.setAttribute("placeholder", hint.textContent);',
|
|
909
|
-
' input.addEventListener("input", function () { refreshPreview(card); });',
|
|
910
|
-
' if (value && value.parentNode === field) field.replaceChild(input, value);',
|
|
911
|
-
' else field.appendChild(input);',
|
|
912
|
-
' }',
|
|
913
|
-
'',
|
|
914
|
-
' function refreshPreview(card) {',
|
|
915
|
-
' var pre = card.querySelector("." + PROMPT_CLASS);',
|
|
916
|
-
' if (!pre) return;',
|
|
917
|
-
' var base = pre.getAttribute(PROMPT_ATTR);',
|
|
918
|
-
' if (base === null) return;',
|
|
919
|
-
' var lines = fieldLines(card);',
|
|
920
|
-
' var text = lines.length > 0 ? base + LF2 + lines.join(LF) : base;',
|
|
921
|
-
' pre.textContent = text;',
|
|
922
|
-
' syncCopyText(card, text, lines);',
|
|
923
|
-
' if (searchTerm !== "") markCard(card, searchTerm);',
|
|
924
|
-
' }',
|
|
925
|
-
'',
|
|
926
|
-
' function fieldLines(card) {',
|
|
927
|
-
' var fields = allOf(card, "." + FIELD_CLASS);',
|
|
928
|
-
' var lines = [];',
|
|
929
|
-
' for (var i = 0; i < fields.length; i++) {',
|
|
930
|
-
' var input = fields[i].querySelector("." + FIELD_INPUT_CLASS);',
|
|
931
|
-
' var labelEl = fields[i].querySelector("." + FIELD_LABEL_CLASS);',
|
|
932
|
-
' var label = labelEl ? labelEl.textContent : "";',
|
|
933
|
-
' var raw = input ? input.value : "";',
|
|
934
|
-
' var val = raw.replace(/^\\s+|\\s+$/g, "");',
|
|
935
|
-
' if (val !== "") lines.push(label + ": " + val);',
|
|
936
|
-
' }',
|
|
937
|
-
' return lines;',
|
|
938
|
-
' }',
|
|
939
|
-
'',
|
|
940
|
-
' /* 复制按钮文本同步:prompt 目标(卡头 + Sheet 内)= 预览文本;params 目标=label: value 行,',
|
|
941
|
-
' 无字段时回落该卡 CLI 文本(与冻结help模板 paramsText 同口径)。 */',
|
|
942
|
-
' function syncCopyText(card, text, lines) {',
|
|
943
|
-
' var buttons = allOf(card, "[" + ACTION_ATTR + "]");',
|
|
944
|
-
' for (var i = 0; i < buttons.length; i++) {',
|
|
945
|
-
' var id = buttons[i].getAttribute(ACTION_ATTR);',
|
|
946
|
-
' if (id === COPY_ACTION) buttons[i].setAttribute(TEXT_ATTR, text);',
|
|
947
|
-
' else if (id === PARAMS_ACTION) buttons[i].setAttribute(TEXT_ATTR, lines.length > 0 ? lines.join(LF) : cliTextOf(card));',
|
|
948
|
-
' }',
|
|
949
|
-
' }',
|
|
950
|
-
'',
|
|
951
|
-
' function cliTextOf(card) {',
|
|
952
|
-
' var cli = card.querySelector("." + CLI_CLASS);',
|
|
953
|
-
' return cli ? cli.textContent : "";',
|
|
954
|
-
' }',
|
|
955
|
-
'',
|
|
956
|
-
' /* 搜索:过滤 + mark 标签高亮 + 自动展开 + 命中计数 + 清空 + 跳页。 */',
|
|
957
|
-
' function initSearch(shell, cards) {',
|
|
958
|
-
' var tabBar = shell.querySelector("." + TAB_BAR_CLASS);',
|
|
959
|
-
' if (!tabBar || !tabBar.parentNode) return;',
|
|
960
|
-
' if (shell.querySelector("." + SEARCH_BOX_CLASS)) return;',
|
|
961
|
-
' var box = document.createElement("div");',
|
|
962
|
-
' box.className = SEARCH_BOX_CLASS;',
|
|
963
|
-
' var input = document.createElement("input");',
|
|
964
|
-
' input.type = "search";',
|
|
965
|
-
' input.className = SEARCH_INPUT_CLASS;',
|
|
966
|
-
' input.setAttribute("placeholder", SEARCH_PLACEHOLDER);',
|
|
967
|
-
' input.setAttribute("aria-label", SEARCH_ARIA);',
|
|
968
|
-
' input.setAttribute("autocomplete", "off");',
|
|
969
|
-
' var clear = document.createElement("button");',
|
|
970
|
-
' clear.type = "button";',
|
|
971
|
-
' clear.className = SEARCH_CLEAR_CLASS;',
|
|
972
|
-
' clear.textContent = CLEAR_LABEL;',
|
|
973
|
-
' clear.setAttribute("aria-label", CLEAR_ARIA);',
|
|
974
|
-
' var count = document.createElement("span");',
|
|
975
|
-
' count.className = HITCOUNT_CLASS;',
|
|
976
|
-
' count.setAttribute("role", "status");',
|
|
977
|
-
' box.appendChild(input);',
|
|
978
|
-
' box.appendChild(clear);',
|
|
979
|
-
' box.appendChild(count);',
|
|
980
|
-
' tabBar.parentNode.insertBefore(box, tabBar.nextSibling);',
|
|
981
|
-
' var state = { sheets: [], subgroups: [], pages: [], index: 0 };',
|
|
982
|
-
' input.addEventListener("input", function () { runSearch(shell, cards, input, count, state); });',
|
|
983
|
-
' input.addEventListener("keydown", function (ev) {',
|
|
984
|
-
' if (ev.key !== "Enter") return;',
|
|
985
|
-
' ev.preventDefault();',
|
|
986
|
-
' if (state.pages.length === 0) return;',
|
|
987
|
-
' state.index = (state.index + 1) % state.pages.length;',
|
|
988
|
-
' jumpTo(state.pages[state.index]);',
|
|
989
|
-
' });',
|
|
990
|
-
' clear.addEventListener("click", function () {',
|
|
991
|
-
' input.value = "";',
|
|
992
|
-
' runSearch(shell, cards, input, count, state);',
|
|
993
|
-
' input.focus();',
|
|
994
|
-
' });',
|
|
995
|
-
' }',
|
|
996
|
-
'',
|
|
997
|
-
' function runSearch(shell, cards, input, count, state) {',
|
|
998
|
-
' var term = input.value.replace(/^\\s+|\\s+$/g, "").toLowerCase();',
|
|
999
|
-
' resetSearch(shell, cards, state);',
|
|
1000
|
-
' searchTerm = term;',
|
|
1001
|
-
' if (term === "") { count.textContent = ""; state.pages = []; state.index = 0; return; }',
|
|
1002
|
-
' var hits = [];',
|
|
1003
|
-
' var i;',
|
|
1004
|
-
' for (i = 0; i < cards.length; i++) {',
|
|
1005
|
-
' var card = cards[i];',
|
|
1006
|
-
' if (card.textContent.toLowerCase().indexOf(term) < 0) { addClass(card, CARD_HIDDEN_CLASS); continue; }',
|
|
1007
|
-
' hits.push(card);',
|
|
1008
|
-
' markCard(card, term);',
|
|
1009
|
-
' var sheet = card.querySelector("." + SHEET_CLASS);',
|
|
1010
|
-
' if (sheet && !sheet.open) { sheet.open = true; state.sheets.push(sheet); }',
|
|
1011
|
-
' }',
|
|
1012
|
-
' var subgroups = allOf(shell, "." + SUBGROUP_CLASS);',
|
|
1013
|
-
' for (i = 0; i < subgroups.length; i++) {',
|
|
1014
|
-
' var inner = allOf(subgroups[i], "." + CARD_CLASS);',
|
|
1015
|
-
' var visible = false;',
|
|
1016
|
-
' for (var j = 0; j < inner.length; j++) { if (hits.indexOf(inner[j]) > -1) { visible = true; break; } }',
|
|
1017
|
-
' if (visible) { if (!subgroups[i].open) { subgroups[i].open = true; state.subgroups.push(subgroups[i]); } }',
|
|
1018
|
-
' else addClass(subgroups[i], SUBGROUP_HIDDEN_CLASS);',
|
|
1019
|
-
' }',
|
|
1020
|
-
' var pages = allOf(shell, "." + PAGE_CLASS);',
|
|
1021
|
-
' var hitPages = [];',
|
|
1022
|
-
' for (i = 0; i < pages.length; i++) {',
|
|
1023
|
-
' var pageCards = allOf(pages[i], "." + CARD_CLASS);',
|
|
1024
|
-
' for (var k = 0; k < pageCards.length; k++) { if (hits.indexOf(pageCards[k]) > -1) { hitPages.push(pages[i]); break; } }',
|
|
1025
|
-
' }',
|
|
1026
|
-
' state.pages = hitPages;',
|
|
1027
|
-
' state.index = 0;',
|
|
1028
|
-
' count.textContent = hits.length > 0 ? HIT_PREFIX + hits.length + HIT_SUFFIX : HIT_EMPTY;',
|
|
1029
|
-
' jumpTo(hitPages[0]);',
|
|
1030
|
-
' }',
|
|
1031
|
-
'',
|
|
1032
|
-
' function resetSearch(shell, cards, state) {',
|
|
1033
|
-
' var i;',
|
|
1034
|
-
' for (i = 0; i < cards.length; i++) {',
|
|
1035
|
-
' removeClass(cards[i], CARD_HIDDEN_CLASS);',
|
|
1036
|
-
' unmarkCard(cards[i]);',
|
|
1037
|
-
' }',
|
|
1038
|
-
' for (i = 0; i < state.sheets.length; i++) state.sheets[i].open = false;',
|
|
1039
|
-
' state.sheets = [];',
|
|
1040
|
-
' for (i = 0; i < state.subgroups.length; i++) state.subgroups[i].open = false;',
|
|
1041
|
-
' state.subgroups = [];',
|
|
1042
|
-
' var subgroups = allOf(shell, "." + SUBGROUP_CLASS);',
|
|
1043
|
-
' for (i = 0; i < subgroups.length; i++) removeClass(subgroups[i], SUBGROUP_HIDDEN_CLASS);',
|
|
1044
|
-
' }',
|
|
1045
|
-
'',
|
|
1046
|
-
' function jumpTo(page) {',
|
|
1047
|
-
' if (!page) return;',
|
|
1048
|
-
' var radio = page.querySelector("." + TAB_INPUT_CLASS);',
|
|
1049
|
-
' if (radio && radio.checked !== true) radio.checked = true;',
|
|
1050
|
-
' }',
|
|
1051
|
-
'',
|
|
1052
|
-
' function markCard(card, term) {',
|
|
1053
|
-
' unmarkCard(card);',
|
|
1054
|
-
' var nodes = [];',
|
|
1055
|
-
' collectText(card, nodes);',
|
|
1056
|
-
' for (var i = 0; i < nodes.length; i++) wrapTerm(nodes[i], term);',
|
|
1057
|
-
' }',
|
|
1058
|
-
'',
|
|
1059
|
-
' function unmarkCard(card) {',
|
|
1060
|
-
' var marks = allOf(card, "." + CARD_MARK_CLASS);',
|
|
1061
|
-
' for (var i = 0; i < marks.length; i++) {',
|
|
1062
|
-
' var parent = marks[i].parentNode;',
|
|
1063
|
-
' if (!parent) continue;',
|
|
1064
|
-
' parent.replaceChild(document.createTextNode(marks[i].textContent), marks[i]);',
|
|
1065
|
-
' if (typeof parent.normalize === "function") parent.normalize();',
|
|
1066
|
-
' }',
|
|
1067
|
-
' }',
|
|
1068
|
-
'',
|
|
1069
|
-
' function collectText(root, out) {',
|
|
1070
|
-
' var kids = root.childNodes;',
|
|
1071
|
-
' for (var i = 0; i < kids.length; i++) {',
|
|
1072
|
-
' var node = kids[i];',
|
|
1073
|
-
' if (node.nodeType === 3) { if (node.nodeValue) out.push(node); continue; }',
|
|
1074
|
-
' if (node.nodeType !== 1) continue;',
|
|
1075
|
-
' if (hasClass(node, CARD_MARK_CLASS)) continue;',
|
|
1076
|
-
' var tag = node.tagName;',
|
|
1077
|
-
' if (tag === "SCRIPT" || tag === "STYLE" || tag === "TEXTAREA" || tag === "INPUT") continue;',
|
|
1078
|
-
' collectText(node, out);',
|
|
1079
|
-
' }',
|
|
1080
|
-
' }',
|
|
1081
|
-
'',
|
|
1082
|
-
' function wrapTerm(node, term) {',
|
|
1083
|
-
' var rest = node.nodeValue;',
|
|
1084
|
-
' var at = rest.toLowerCase().indexOf(term);',
|
|
1085
|
-
' if (at < 0) return;',
|
|
1086
|
-
' var frag = document.createDocumentFragment();',
|
|
1087
|
-
' while (at > -1) {',
|
|
1088
|
-
' if (at > 0) frag.appendChild(document.createTextNode(rest.slice(0, at)));',
|
|
1089
|
-
' var mark = document.createElement("mark");',
|
|
1090
|
-
' mark.className = CARD_MARK_CLASS;',
|
|
1091
|
-
' mark.textContent = rest.slice(at, at + term.length);',
|
|
1092
|
-
' frag.appendChild(mark);',
|
|
1093
|
-
' rest = rest.slice(at + term.length);',
|
|
1094
|
-
' at = rest.toLowerCase().indexOf(term);',
|
|
1095
|
-
' }',
|
|
1096
|
-
' if (rest !== "") frag.appendChild(document.createTextNode(rest));',
|
|
1097
|
-
' if (node.parentNode) node.parentNode.replaceChild(frag, node);',
|
|
1098
|
-
' }',
|
|
1099
|
-
'',
|
|
1100
|
-
' /* 回到顶部(H-19):scrollTop > BACKTOP_MIN_Y 才加 -show;点击平滑回顶。 */',
|
|
1101
|
-
' function initBackTop() {',
|
|
1102
|
-
' if (document.querySelector("." + BACKTOP_CLASS)) return;',
|
|
1103
|
-
' var btn = document.createElement("button");',
|
|
1104
|
-
' btn.type = "button";',
|
|
1105
|
-
' btn.id = BACKTOP_ID;',
|
|
1106
|
-
' btn.className = BACKTOP_CLASS;',
|
|
1107
|
-
' btn.textContent = BACKTOP_LABEL;',
|
|
1108
|
-
' btn.setAttribute("aria-label", BACKTOP_ARIA);',
|
|
1109
|
-
' btn.setAttribute("title", BACKTOP_ARIA);',
|
|
1110
|
-
' btn.addEventListener("click", function () {',
|
|
1111
|
-
' var root = scrollRoot();',
|
|
1112
|
-
' if (!root) return;',
|
|
1113
|
-
' if (typeof root.scrollTo === "function") {',
|
|
1114
|
-
' try { root.scrollTo({ top: 0, behavior: "smooth" }); return; } catch (err) { root.scrollTop = 0; return; }',
|
|
1115
|
-
' }',
|
|
1116
|
-
' root.scrollTop = 0;',
|
|
1117
|
-
' });',
|
|
1118
|
-
' document.body.appendChild(btn);',
|
|
1119
|
-
' document.addEventListener("scroll", syncBackTop, true);',
|
|
1120
|
-
' syncBackTop();',
|
|
1121
|
-
' }',
|
|
1122
|
-
'',
|
|
1123
|
-
' function scrollRoot() {',
|
|
1124
|
-
' return document.scrollingElement || document.documentElement || document.body;',
|
|
1125
|
-
' }',
|
|
1126
|
-
'',
|
|
1127
|
-
' function syncBackTop() {',
|
|
1128
|
-
' var btn = document.querySelector("." + BACKTOP_CLASS);',
|
|
1129
|
-
' if (!btn) return;',
|
|
1130
|
-
' var root = scrollRoot();',
|
|
1131
|
-
' var y = root ? root.scrollTop : 0;',
|
|
1132
|
-
' if (y > BACKTOP_MIN_Y) addClass(btn, BACKTOP_SHOW_CLASS); else removeClass(btn, BACKTOP_SHOW_CLASS);',
|
|
1133
|
-
' }',
|
|
1134
|
-
'',
|
|
1135
|
-
' if (document.body) boot();',
|
|
1136
|
-
' else document.addEventListener("DOMContentLoaded", boot);',
|
|
1137
|
-
'}());',
|
|
1138
|
-
];
|
|
1139
|
-
return lines.join(String.fromCharCode(10));
|
|
1140
|
-
};
|
|
1141
|
-
function normalizeButtons(buttons) {
|
|
1142
|
-
if (buttons === undefined || buttons === null)
|
|
1143
|
-
return [];
|
|
1144
|
-
if (!Array.isArray(buttons))
|
|
1145
|
-
badInput('renderActionBar: input.buttons 必须是数组');
|
|
1146
|
-
return buttons.map((button, i) => {
|
|
1147
|
-
const field = 'renderActionBar: input.buttons[' + i + ']';
|
|
1148
|
-
assertPlainObject(button, field);
|
|
1149
|
-
assertNoInlineHandler(button, field);
|
|
1150
|
-
if (typeof button.label !== 'string' || button.label === '')
|
|
1151
|
-
badInput(field + '.label 必须是非空字符串');
|
|
1152
|
-
if (!ACTION_BAR_KINDS.includes(button.kind)) {
|
|
1153
|
-
badInput(field + '.kind 必须是 ' + ACTION_BAR_KINDS.join('/'));
|
|
1154
|
-
}
|
|
1155
|
-
return {
|
|
1156
|
-
label: button.label,
|
|
1157
|
-
kind: button.kind,
|
|
1158
|
-
actionId: assertActionId(button.actionId, field + '.actionId'),
|
|
1159
|
-
// #733:只在**真给 true** 时带这一位;不给/给假 ⇒ 产物与改前逐字节相同(旧调用方零影响)。
|
|
1160
|
-
...(button.disabled === true ? { disabled: true } : {}),
|
|
1161
|
-
};
|
|
1162
|
-
});
|
|
1163
|
-
}
|
|
1164
|
-
/** 菜单形态的标记属性(#247;运行时委派据它分辨「开合菜单的按钮」与「直接复制的按钮」)。
|
|
1165
|
-
* 该按钮**不写** `data-action-id`:它不是复制目标、也不是复制动作——点击的效果是开合菜单。
|
|
1166
|
-
* `CopyActionHostPort.listActionIds()` 与 `bindCopyAction` 因此天然不碰它(无需为此改冻结签名)。 */
|
|
1167
|
-
const COPY_MENU_OPEN_ATTR = 'data-fmt-open';
|
|
1168
|
-
/** 菜单项的**格式键**承载属性(三格式形态里唯一分辨三项的东西——值取 `COPY_FORMATS`)。
|
|
1169
|
-
* 与老仓逐字同名:老仓 `.fmt-item` 就是靠 `data-fmt` 分辨纯文本/JSON/CSV。 */
|
|
1170
|
-
const COPY_MENU_FMT_ATTR = 'data-fmt';
|
|
1171
|
-
/** 格式菜单容器与按钮的共同父节点类名(运行时据**最近的这个父节点**开合/收起菜单)。 */
|
|
1172
|
-
const COPY_MENU_WRAP_CLASS = 'copy-menu-wrap';
|
|
1173
|
-
/** 菜单容器自身的类名(浮动那一层)。 */
|
|
1174
|
-
const COPY_MENU_CLASS = 'copy-menu';
|
|
1175
|
-
/** 菜单项的类名。 */
|
|
1176
|
-
const COPY_MENU_ITEM_CLASS = 'copy-menu-item';
|
|
1177
|
-
/** 菜单项**标签**文本的类名(`data-fmt` 只放格式键;标签是给人看的中文名,见 `COPY_FORMAT_LABELS`)。 */
|
|
1178
|
-
const COPY_MENU_LABEL_CLASS = 'copy-menu-label';
|
|
1179
|
-
/** 菜单项**可见标签**:格式键 → 中文名(#496)。
|
|
1180
|
-
*
|
|
1181
|
-
* `data-fmt` 是机器面(键值恒为 `COPY_FORMATS` 成员,运行时与测试都按它分辨三项),
|
|
1182
|
-
* **上屏的是这张表的中文名**——原先是把格式键直接印给用户看,菜单点开是 `text` / `json` / `csv`
|
|
1183
|
-
* 三个小写英文词,读不懂(`.scratch/t155o/text-review-P0.md` 第 20/44 条,卡路里 81 页 +
|
|
1184
|
-
* 饼干记账的复制区页同形)。`JSON` 与 `CSV` 是这个仓既有写法里的通用缩写,保留原样。
|
|
1185
|
-
* 运行时「数据复制成功(〈标签〉)」那条提示读回的就是这里的值,故它跟着一起变中文。 */
|
|
1186
|
-
const COPY_FORMAT_LABELS = { text: '纯文本', json: 'JSON', csv: 'CSV' };
|
|
1187
|
-
/** 菜单项**用途提示**(老仓原样:`粘贴给 AI / 自己看`/`结构化存档`/`表格导入`)的类名。
|
|
1188
|
-
* 老仓靠 `.fmt-item span`(后代选择器)收这行灰小字;本仓**显式给类名**——一是不用后代选择器
|
|
1189
|
-
* 把标签也一并染成 11px 灰(`.copy-menu-item span` 会连窗口里两个 span 一起命中),
|
|
1190
|
-
* 二是 CSS 里每个类名都要指得出产出者(`style.test.mjs` T10)。 */
|
|
1191
|
-
const COPY_MENU_HINT_CLASS = 'copy-menu-hint';
|
|
1192
|
-
/** 菜单**开着**时加在容器上的类(`opacity` / `visibility` 的开合开关;`aria-expanded` 同步)。 */
|
|
1193
|
-
const COPY_MENU_OPEN_CLASS = 'copy-menu-open';
|
|
1194
|
-
/** 开合器 `aria-label` 的后半句(**#525 第二轮**:可见文字里的 `▾` 已删,那句「可以选格式」改住这里)。
|
|
1195
|
-
*
|
|
1196
|
-
* 为什么删那个字符:用户裁定第 5 条逐字「该问题是用这些符号简化了 UI 展示的设计」——
|
|
1197
|
-
* `复制数据 ▾` 里的三角是「这里能展开」的纯装饰,用一个字形顶替了一次设计。现在三角由
|
|
1198
|
-
* `style.ts` copyButton 区的 `::after` 用 `border` + `rotate` 画出来(零字符),
|
|
1199
|
-
* 而**语义不留白**:这句写进 `aria-label`,读屏与抓取器仍读得出「这颗按钮要选格式」。 */
|
|
1200
|
-
const COPY_MENU_OPENER_ARIA = '(点开选格式)';
|
|
1201
|
-
/** 选中某个格式后的成功提示词干(老仓 `.fmt-menu` 那张菜单当年报的是「…数据复制成功(格式)」;
|
|
1202
|
-
* 本仓句头沿用既有「已复制」以外的**独立**一句,避免与单格式提示混同)。格式名由运行时从菜单项
|
|
1203
|
-
* 标签读回(即 `COPY_FORMAT_LABELS` 的中文名),不在运行时另立第二张表。 */
|
|
1204
|
-
const COPY_FORMAT_OK_MSG = '数据复制成功';
|
|
1205
|
-
/** 三格式形态的校验 + 归一(#247):与 `text` 互斥;三格式恒齐、值恒为串;`hints` 恒三串。 */
|
|
1206
|
-
function normalizeFormats(formats, field, hasText) {
|
|
1207
|
-
if (formats === undefined || formats === null)
|
|
1208
|
-
return undefined;
|
|
1209
|
-
assertPlainObject(formats, 'renderActionBar: input.' + field + '.formats');
|
|
1210
|
-
if (hasText)
|
|
1211
|
-
badInput('renderActionBar: input.' + field + '.formats 与 .text 只能给一个');
|
|
1212
|
-
const texts = [];
|
|
1213
|
-
for (const key of COPY_FORMATS) {
|
|
1214
|
-
const value = formats[key];
|
|
1215
|
-
if (typeof value !== 'string')
|
|
1216
|
-
badInput('renderActionBar: input.' + field + '.formats.' + key + ' 必须是字符串');
|
|
1217
|
-
texts.push(value);
|
|
1218
|
-
}
|
|
1219
|
-
const rawHints = formats.hints;
|
|
1220
|
-
if (rawHints === undefined || rawHints === null)
|
|
1221
|
-
return { texts, hints: [] };
|
|
1222
|
-
if (!Array.isArray(rawHints) || rawHints.length !== COPY_FORMATS.length) {
|
|
1223
|
-
badInput('renderActionBar: input.' + field + '.formats.hints 必须是 ' + COPY_FORMATS.length + ' 个字符串');
|
|
1224
|
-
}
|
|
1225
|
-
const hints = [];
|
|
1226
|
-
for (const hint of rawHints) {
|
|
1227
|
-
if (typeof hint !== 'string')
|
|
1228
|
-
badInput('renderActionBar: input.' + field + '.formats.hints 必须是字符串');
|
|
1229
|
-
hints.push(hint);
|
|
1230
|
-
}
|
|
1231
|
-
return { texts, hints };
|
|
1232
|
-
}
|
|
1233
|
-
function normalizeCopyButton(input, fallbackLabel, field) {
|
|
1234
|
-
if (input === undefined || input === null)
|
|
1235
|
-
return null;
|
|
1236
|
-
assertPlainObject(input, 'renderActionBar: input.' + field);
|
|
1237
|
-
assertNoInlineHandler(input, 'renderActionBar: input.' + field);
|
|
1238
|
-
const button = input;
|
|
1239
|
-
const formats = normalizeFormats(button.formats, field, typeof button.text === 'string');
|
|
1240
|
-
return {
|
|
1241
|
-
label: typeof button.label === 'string' && button.label !== '' ? button.label : fallbackLabel,
|
|
1242
|
-
actionId: assertActionId(button.actionId, 'renderActionBar: input.' + field + '.actionId'),
|
|
1243
|
-
text: typeof button.text === 'string' ? button.text : undefined,
|
|
1244
|
-
// 三格式形态的按钮是**菜单开合器**,不是复制目标:`data-t` 恒缺(点了不直接复制)。
|
|
1245
|
-
...(formats === undefined ? {} : { formats }),
|
|
1246
|
-
};
|
|
1247
|
-
}
|
|
1248
|
-
function sceneButtonHtml(button) {
|
|
1249
|
-
// #733:`disabled: true` ⇒ 落 `disabled` + `aria-disabled`(「标记」而非「可点控件」)。
|
|
1250
|
-
// 动作条按钮没有 `data-t` 载荷位 ⇒ 凡是「该由宿主来做、这一页做不到」的动作,
|
|
1251
|
-
// 不给这一位就会渲染成「看着能点、点了没反应」(记账写入域实测两颗)。
|
|
1252
|
-
const disabledAttr = button.disabled === true ? ' disabled aria-disabled="true"' : '';
|
|
1253
|
-
return '<button type="button" class="' + STYLE_PREFIX + 'action-btn ' + STYLE_PREFIX + 'action-btn-' + button.kind + '"'
|
|
1254
|
-
+ disabledAttr + ' ' + ACTION_ID_ATTR + '="' + esc(button.actionId) + '">' + esc(button.label) + '</button>';
|
|
1255
|
-
}
|
|
1256
|
-
function copyButtonHtml(button) {
|
|
1257
|
-
const textAttr = button.text === undefined ? '' : ' ' + DEFAULT_DATA_ATTR + '="' + esc(button.text) + '"';
|
|
1258
|
-
const disabledAttr = button.disabled === true ? ' disabled' : '';
|
|
1259
|
-
return '<button type="button" class="' + STYLE_PREFIX + 'copy-btn ' + STYLE_PREFIX + 'copy-btn-ghost" '
|
|
1260
|
-
+ ACTION_ID_ATTR + '="' + esc(button.actionId) + '"' + textAttr + disabledAttr + '>' + esc(button.label) + '</button>';
|
|
1261
|
-
}
|
|
1262
|
-
/** 复制数据的**三格式形态**(#247):`<div class="ilife-copy-menu-wrap">` 里一颗开合器 + 一个菜单。
|
|
1263
|
-
*
|
|
1264
|
-
* 按钮:`data-fmt-open` 是**开合标记**(不是 `data-action-id`——见 `COPY_MENU_OPEN_ATTR` 注释),
|
|
1265
|
-
* 带 `aria-haspopup`/`aria-expanded`(`aria-expanded` 由运行时翻转);
|
|
1266
|
-
* 菜单:三个格式项,每项 `data-fmt="键"`(键取 `COPY_FORMATS`)+ 自己的 `data-t`(该格式文本),
|
|
1267
|
-
* 标签与用途提示取 `formats.hints`(对应位)。零内联脚本:开合与选中一律归 helpers 运行时的委派。
|
|
1268
|
-
* 菜单容器**不加 `hidden`**:它是浮层,用 CSS 的 `opacity` 开合(`hidden` 的 `display:none` 会让浏览器
|
|
1269
|
-
* 把 `opacity` 过渡整个跳过,且开合时重排整页——手机档上会看到内容跳一下)。 */
|
|
1270
|
-
function copyMenuHtml(button, formats) {
|
|
1271
|
-
// #525 第二轮:开合器**不再把 `▾` 打上屏**(用户裁定第 5 条「用符号简化了 UI 展示的设计」是债)。
|
|
1272
|
-
// 这颗三角是「这里可以展开」的纯装饰,可见文字里删掉、改由 CSS 画(`style.ts` 的 copyButton 区
|
|
1273
|
-
// `.ilife-copy-menu-wrap > .ilife-copy-btn::after`,`border` + `transform: rotate`,一个字符都不打)。
|
|
1274
|
-
// 删字符不能删语义:`aria-label` 里把那句「可以选格式」写成文字(读屏与无图形环境仍读得出)。
|
|
1275
|
-
const openLabel = button.label;
|
|
1276
|
-
const items = [];
|
|
1277
|
-
for (let i = 0; i < COPY_FORMATS.length; i += 1) {
|
|
1278
|
-
const key = COPY_FORMATS[i];
|
|
1279
|
-
const hint = formats.hints[i];
|
|
1280
|
-
const hintHtml = hint === undefined || hint === '' ? '' : '<span class="' + STYLE_PREFIX + COPY_MENU_HINT_CLASS + '">' + esc(hint) + '</span>';
|
|
1281
|
-
items.push('<button type="button" class="' + STYLE_PREFIX + COPY_MENU_ITEM_CLASS + '" ' + COPY_MENU_FMT_ATTR + '="' + esc(key) + '" '
|
|
1282
|
-
+ DEFAULT_DATA_ATTR + '="' + esc(formats.texts[i]) + '">'
|
|
1283
|
-
+ '<span class="' + STYLE_PREFIX + COPY_MENU_LABEL_CLASS + '">' + esc(COPY_FORMAT_LABELS[key] ?? key) + '</span>' + hintHtml + '</button>');
|
|
1284
|
-
}
|
|
1285
|
-
const opener = '<button type="button" class="' + STYLE_PREFIX + 'copy-btn ' + STYLE_PREFIX + 'copy-btn-ghost" '
|
|
1286
|
-
+ COPY_MENU_OPEN_ATTR + '="1" aria-haspopup="menu" aria-expanded="false" '
|
|
1287
|
-
+ 'aria-label="' + esc(openLabel + COPY_MENU_OPENER_ARIA) + '">' + esc(openLabel) + '</button>';
|
|
1288
|
-
return '<div class="' + STYLE_PREFIX + COPY_MENU_WRAP_CLASS + '">' + opener
|
|
1289
|
-
+ '<div class="' + STYLE_PREFIX + COPY_MENU_CLASS + '" role="menu">' + items.join('') + '</div></div>';
|
|
1290
|
-
}
|
|
1291
|
-
/** 一颗复制按钮:单格式=普通按钮(`actionId` + 可选 `data-t`);三格式=菜单形态(见 `copyMenuHtml`)。 */
|
|
1292
|
-
function copyControlHtml(button) {
|
|
1293
|
-
return button.formats === undefined ? copyButtonHtml(button) : copyMenuHtml(button, button.formats);
|
|
1294
|
-
}
|
|
1295
|
-
/** 冻结签名:`renderActionBar(input: ActionBarInput): string`。
|
|
1296
|
-
*
|
|
1297
|
-
* 场景按钮(`primary`/`red`/`ghost`)一行;复制数据/复制日志 ghost 按钮**独立一行**
|
|
1298
|
-
* (`ACTION_BAR_DEFAULTS.ghostOwnRow`);复制文本渲染期写入 `DEFAULT_DATA_ATTR`、id 写入 `ACTION_ID_ATTR`,
|
|
1299
|
-
* 零内联脚本。缺 `actionId`/空串/同次渲染内重复 → `ControlsError` code `bad-input`。
|
|
1300
|
-
* 逐区尺寸(`minHeightPx`/`fontSizePx`/`fontWeight`/`ghostBorderAlpha`/`evenRowPairs`)由 #75 的
|
|
1301
|
-
* 共享样式区消费(本文件不产样式常量)。
|
|
1302
|
-
*
|
|
1303
|
-
* #654(负责人 2026-09-16 验收打回,**口径变更**):**不再补**那颗禁用态「复制日志」占位。
|
|
1304
|
-
* 动作条只渲染**真存在**的动作;ghost 行的几何改由「列数跟着颗数走」保——只有一颗时挂
|
|
1305
|
-
* `action-row-ghost-single`(`style.ts` 让它在整行轨道铺满),两颗真位时照 #247 两列平分。
|
|
1306
|
-
* 两边都在场/都不在场/仅日志位在场照旧;仅日志位在场不补数据位。 */
|
|
1307
|
-
export const renderActionBar = (input) => {
|
|
1308
|
-
assertPlainObject(input, 'renderActionBar: input');
|
|
1309
|
-
const bar = input;
|
|
1310
|
-
const buttons = normalizeButtons(bar.buttons);
|
|
1311
|
-
const copyData = normalizeCopyButton(bar.copyData, ACTION_BAR_DEFAULTS.copyDataLabel, 'copyData');
|
|
1312
|
-
const copyLog = normalizeCopyButton(bar.copyLog, ACTION_BAR_DEFAULTS.copyLogLabel, 'copyLog');
|
|
1313
|
-
const ids = new Set();
|
|
1314
|
-
for (const button of buttons) {
|
|
1315
|
-
if (ids.has(button.actionId))
|
|
1316
|
-
badInput('renderActionBar: actionId 同次渲染内重复:' + button.actionId);
|
|
1317
|
-
ids.add(button.actionId);
|
|
1318
|
-
}
|
|
1319
|
-
for (const copy of [copyData, copyLog]) {
|
|
1320
|
-
if (copy === null)
|
|
1321
|
-
continue;
|
|
1322
|
-
if (ids.has(copy.actionId))
|
|
1323
|
-
badInput('renderActionBar: actionId 同次渲染内重复:' + copy.actionId);
|
|
1324
|
-
ids.add(copy.actionId);
|
|
1325
|
-
}
|
|
1326
|
-
const sceneHtml = buttons.map(sceneButtonHtml).join('');
|
|
1327
|
-
const ghostList = [copyData, copyLog].filter((copy) => copy !== null);
|
|
1328
|
-
const ghostHtml = ghostList.map(copyControlHtml).join('');
|
|
1329
|
-
const rowClass = STYLE_PREFIX + 'action-row';
|
|
1330
|
-
// #654:ghost 行**只有一颗**时挂单颗修饰类——`style.ts` 让它铺满整行轨道(既不占半格、
|
|
1331
|
-
// 也不缩成内容宽);两颗真位时不挂,#247 的两列平分口径一字不动。
|
|
1332
|
-
const ghostRowClass = rowClass + ' ' + STYLE_PREFIX + 'action-row-ghost'
|
|
1333
|
-
+ (ghostList.length === 1 ? ' ' + STYLE_PREFIX + 'action-row-ghost-single' : '');
|
|
1334
|
-
const rows = [];
|
|
1335
|
-
if (sceneHtml !== '' && ghostHtml !== '' && !ACTION_BAR_DEFAULTS.ghostOwnRow) {
|
|
1336
|
-
rows.push('<div class="' + rowClass + '">' + sceneHtml + ghostHtml + '</div>');
|
|
1337
|
-
}
|
|
1338
|
-
else {
|
|
1339
|
-
if (sceneHtml !== '')
|
|
1340
|
-
rows.push('<div class="' + rowClass + '">' + sceneHtml + '</div>');
|
|
1341
|
-
if (ghostHtml !== '')
|
|
1342
|
-
rows.push('<div class="' + ghostRowClass + '">' + ghostHtml + '</div>');
|
|
1343
|
-
}
|
|
1344
|
-
return '<div class="' + STYLE_PREFIX + 'action-bar">' + rows.join('') + '</div>';
|
|
1345
|
-
};
|
|
1346
|
-
/* ── 状态三控件 ───────────────────────────────────────────────────────── */
|
|
1347
|
-
/** 冻结签名:`renderStatusBadge(input: StatusBadgeInput): string`。
|
|
1348
|
-
* 非法 `status` 降级 `'empty'`(不抛错,防无样式徽章);`text` 缺省/空串取 `STATUS_DEFAULT_TEXT`。 */
|
|
1349
|
-
export const renderStatusBadge = (input) => {
|
|
1350
|
-
const badge = input === null || input === undefined || typeof input !== 'object' ? undefined : input;
|
|
1351
|
-
const status = badge !== undefined && isStatusKind(badge.status) ? badge.status : 'empty';
|
|
1352
|
-
const text = badge === undefined ? undefined : badge.text;
|
|
1353
|
-
const label = typeof text === 'string' && text !== '' ? text : STATUS_DEFAULT_TEXT[status];
|
|
1354
|
-
return '<span class="' + STYLE_PREFIX + 'status-badge ' + STYLE_PREFIX + 'status-badge-' + status + '">' + esc(label) + '</span>';
|
|
1355
|
-
};
|
|
1356
|
-
/** 冻结签名:`renderEmptyState(input: EmptyStateInput): string`。
|
|
1357
|
-
* `icon`/`text`/`hint` 一律转义;`actionHtml` 受信 HTML 透传(不转义);`text` 缺失/非字符串 → `bad-input`。 */
|
|
1358
|
-
export const renderEmptyState = (input) => {
|
|
1359
|
-
assertPlainObject(input, 'renderEmptyState: input');
|
|
1360
|
-
const state = input;
|
|
1361
|
-
if (typeof state.text !== 'string')
|
|
1362
|
-
badInput('renderEmptyState: input.text 必须是字符串');
|
|
1363
|
-
const parts = [];
|
|
1364
|
-
if (typeof state.icon === 'string' && state.icon !== '') {
|
|
1365
|
-
parts.push('<div class="' + STYLE_PREFIX + 'empty-icon">' + esc(state.icon) + '</div>');
|
|
1366
|
-
}
|
|
1367
|
-
parts.push('<div class="' + STYLE_PREFIX + 'empty-text">' + esc(state.text) + '</div>');
|
|
1368
|
-
if (typeof state.hint === 'string' && state.hint !== '') {
|
|
1369
|
-
parts.push('<div class="' + STYLE_PREFIX + 'empty-hint">' + esc(state.hint) + '</div>');
|
|
1370
|
-
}
|
|
1371
|
-
if (typeof state.actionHtml === 'string' && state.actionHtml !== '') {
|
|
1372
|
-
parts.push('<div class="' + STYLE_PREFIX + 'empty-action">' + state.actionHtml + '</div>');
|
|
1373
|
-
}
|
|
1374
|
-
return '<div class="' + STYLE_PREFIX + 'empty">' + parts.join('') + '</div>';
|
|
1375
|
-
};
|
|
1376
|
-
/** 修正重试按钮缺省文案(文档无规定;沿用旧基线)。 */
|
|
1377
|
-
const ERROR_RETRY_LABEL = '修正重试';
|
|
1378
|
-
/** 错误标题前缀(文档无规定;沿用旧基线 `❌ `)。 */
|
|
1379
|
-
const ERROR_TITLE_PREFIX = '❌ ';
|
|
1380
|
-
/** 冻结签名:`renderErrorReceipt(input: ErrorReceiptInput): string`。
|
|
1381
|
-
* 缺 `dataText`/`logText` → **不渲染**对应复制按钮(容错,不抛错);id 缺省取
|
|
1382
|
-
* `COPY_ACTION_IDS.errorReceipt.*`;**不读** `window.__hmPayload` 之类旧全局(AC-7)。 */
|
|
1383
|
-
export const renderErrorReceipt = (input) => {
|
|
1384
|
-
assertPlainObject(input, 'renderErrorReceipt: input');
|
|
1385
|
-
const receipt = input;
|
|
1386
|
-
if (typeof receipt.message !== 'string')
|
|
1387
|
-
badInput('renderErrorReceipt: input.message 必须是字符串');
|
|
1388
|
-
const retryLabel = typeof receipt.retryPrompt === 'string' && receipt.retryPrompt !== '' ? receipt.retryPrompt : ERROR_RETRY_LABEL;
|
|
1389
|
-
// #733 复现实测:这一颗**从来不带** ACTION_ID_ATTR 与 DEFAULT_DATA_ATTR(件头第 42 行自述「该按钮不带…」),
|
|
1390
|
-
// 而产物内联委派的第一道 `node.closest("[data-action-id]")` 就早退 ⇒ **点了零动作、零反馈**。
|
|
1391
|
-
// 记账写入域 16 张采集页上,它是整块错误回执里视觉权重最重的一颗(primary + wide),
|
|
1392
|
-
// 维护者逐字要求:「要么真能点,要么看起来就不能点,不许留在『看着能点、点了没反应』这一档」。
|
|
1393
|
-
// 改法=走后者:加 `disabled` + `aria-disabled`,吃既有的 `.copy-btn[disabled]` 样式
|
|
1394
|
-
// (浅底 + `--fg3` 字 + `cursor: not-allowed`),它当场从「最响的一颗」变成明显不可点的一行。
|
|
1395
|
-
// 不改成「真能点」的原因:它的文案是「补齐了,说一遍试试」,而这一页是静态文档,
|
|
1396
|
-
// 「再试一次」这件事只有宿主(助手)能做——给它编一个动作才是说谎。
|
|
1397
|
-
const actions = [
|
|
1398
|
-
'<button type="button" class="' + STYLE_PREFIX + 'copy-btn ' + STYLE_PREFIX + 'copy-btn-primary ' + STYLE_PREFIX + 'copy-btn-wide"'
|
|
1399
|
-
+ ' disabled aria-disabled="true">' + esc(retryLabel) + '</button>',
|
|
1400
|
-
];
|
|
1401
|
-
const ids = new Set();
|
|
1402
|
-
const pushCopy = (text, rawId, fallbackId, label, field) => {
|
|
1403
|
-
if (typeof text !== 'string')
|
|
1404
|
-
return;
|
|
1405
|
-
const actionId = rawId === undefined ? fallbackId : assertActionId(rawId, 'renderErrorReceipt: input.' + field);
|
|
1406
|
-
if (ids.has(actionId))
|
|
1407
|
-
badInput('renderErrorReceipt: actionId 同次渲染内重复:' + actionId);
|
|
1408
|
-
ids.add(actionId);
|
|
1409
|
-
actions.push('<button type="button" class="' + STYLE_PREFIX + 'copy-btn ' + STYLE_PREFIX + 'copy-btn-ghost" '
|
|
1410
|
-
+ ACTION_ID_ATTR + '="' + esc(actionId) + '" ' + DEFAULT_DATA_ATTR + '="' + esc(text) + '">' + esc(label) + '</button>');
|
|
1411
|
-
};
|
|
1412
|
-
pushCopy(receipt.dataText, receipt.dataActionId, COPY_ACTION_IDS.errorReceipt.copyData, ACTION_BAR_DEFAULTS.copyDataLabel, 'dataActionId');
|
|
1413
|
-
pushCopy(receipt.logText, receipt.logActionId, COPY_ACTION_IDS.errorReceipt.copyLog, ACTION_BAR_DEFAULTS.copyLogLabel, 'logActionId');
|
|
1414
|
-
return '<div class="' + STYLE_PREFIX + 'error">'
|
|
1415
|
-
+ '<div class="' + STYLE_PREFIX + 'error-title">' + esc(ERROR_TITLE_PREFIX + receipt.message) + '</div>'
|
|
1416
|
-
+ '<div class="' + STYLE_PREFIX + 'error-actions">' + actions.join('') + '</div>'
|
|
1417
|
-
+ '</div>';
|
|
1418
|
-
};
|
|
1419
|
-
//# sourceMappingURL=controls.js.map
|
|
8
|
+
export * from './components/controls/index.js';
|