base-paint 0.3.15 → 0.3.16
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 +23 -6
- package/dist/charts.js +1 -0
- package/dist/components/bulk-bar/attrs.js +1 -0
- package/dist/components/bulk-bar/index.js +1 -0
- package/dist/components/bulk-bar/keys.d.ts +23 -0
- package/dist/components/bulk-bar/keys.d.ts.map +1 -0
- package/dist/components/bulk-bar/keys.js +55 -0
- package/dist/components/bulk-bar/keys.js.map +1 -0
- package/dist/components/bulk-bar/model.d.ts.map +1 -1
- package/dist/components/bulk-bar/model.js +10 -0
- package/dist/components/bulk-bar/model.js.map +1 -1
- package/dist/components/bulk-bar/render.js +1 -0
- package/dist/components/bulk-bar/runtime.js +1 -0
- package/dist/components/bulk-bar/style-column.js +1 -0
- package/dist/components/bulk-bar/style-confirm.js +1 -0
- package/dist/components/bulk-bar/style-sizes.js +1 -0
- package/dist/components/bulk-bar/style.js +1 -0
- package/dist/components/calendar-month/attrs.js +1 -0
- package/dist/components/calendar-month/index.js +1 -0
- package/dist/components/calendar-month/model.js +1 -0
- package/dist/components/calendar-month/render.js +1 -0
- package/dist/components/calendar-month/style.js +1 -0
- package/dist/components/cash-waterline/attrs.js +1 -0
- package/dist/components/cash-waterline/fields.d.ts +17 -0
- package/dist/components/cash-waterline/fields.d.ts.map +1 -1
- package/dist/components/cash-waterline/fields.js +41 -0
- package/dist/components/cash-waterline/fields.js.map +1 -1
- package/dist/components/cash-waterline/index.js +1 -0
- package/dist/components/cash-waterline/model.d.ts.map +1 -1
- package/dist/components/cash-waterline/model.js +3 -1
- package/dist/components/cash-waterline/model.js.map +1 -1
- package/dist/components/cash-waterline/render.js +1 -0
- package/dist/components/cash-waterline/style-forms.js +1 -0
- package/dist/components/cash-waterline/style.js +1 -0
- package/dist/components/charts/bar.js +1 -0
- package/dist/components/charts/combo.js +1 -0
- package/dist/components/charts/coords.js +1 -0
- package/dist/components/charts/dispatch.js +1 -0
- package/dist/components/charts/donut.js +1 -0
- package/dist/components/charts/gauge.js +1 -0
- package/dist/components/charts/helpers.js +1 -0
- package/dist/components/charts/index.js +1 -0
- package/dist/components/charts/line.js +1 -0
- package/dist/components/charts/options.js +1 -0
- package/dist/components/charts/progress.js +1 -0
- package/dist/components/charts/scatter.js +1 -0
- package/dist/components/charts/shared.js +1 -0
- package/dist/components/charts/sparkline.js +1 -0
- package/dist/components/charts/style.d.ts.map +1 -1
- package/dist/components/charts/style.js +5 -1
- package/dist/components/charts/style.js.map +1 -1
- package/dist/components/charts/svg.js +1 -0
- package/dist/components/command-palette/attrs.js +1 -0
- package/dist/components/command-palette/index.js +1 -0
- package/dist/components/command-palette/model.js +1 -0
- package/dist/components/command-palette/render.js +1 -0
- package/dist/components/command-palette/runtime.js +1 -0
- package/dist/components/command-palette/style.js +1 -0
- package/dist/components/compare-columns/attrs.js +1 -0
- package/dist/components/compare-columns/index.js +1 -0
- package/dist/components/compare-columns/model.js +1 -0
- package/dist/components/compare-columns/render.js +1 -0
- package/dist/components/compare-columns/style.js +1 -0
- package/dist/components/confirm-strip/attrs.js +1 -0
- package/dist/components/confirm-strip/index.js +1 -0
- package/dist/components/confirm-strip/model.js +1 -0
- package/dist/components/confirm-strip/render.js +1 -0
- package/dist/components/confirm-strip/runtime.js +1 -0
- package/dist/components/confirm-strip/style.js +1 -0
- package/dist/components/controls/action-bar.js +1 -0
- package/dist/components/controls/bind.js +1 -0
- package/dist/components/controls/copy.js +1 -0
- package/dist/components/controls/helpers-meta.js +1 -0
- package/dist/components/controls/helpers.js +1 -0
- package/dist/components/controls/index.js +1 -0
- package/dist/components/controls/shared.js +1 -0
- package/dist/components/controls/status.js +1 -0
- package/dist/components/controls/toast.js +1 -0
- package/dist/components/date-range/attrs.d.ts +11 -2
- package/dist/components/date-range/attrs.d.ts.map +1 -1
- package/dist/components/date-range/attrs.js +12 -2
- package/dist/components/date-range/attrs.js.map +1 -1
- package/dist/components/date-range/index.js +1 -0
- package/dist/components/date-range/model.js +1 -0
- package/dist/components/date-range/render.js +1 -0
- package/dist/components/date-range/runtime.js +1 -0
- package/dist/components/date-range/style-calendar.d.ts.map +1 -1
- package/dist/components/date-range/style-calendar.js +24 -6
- package/dist/components/date-range/style-calendar.js.map +1 -1
- package/dist/components/date-range/style.d.ts.map +1 -1
- package/dist/components/date-range/style.js +8 -5
- package/dist/components/date-range/style.js.map +1 -1
- package/dist/components/dialog/attrs.js +1 -0
- package/dist/components/dialog/index.js +1 -0
- package/dist/components/dialog/model.js +1 -0
- package/dist/components/dialog/render.js +1 -0
- package/dist/components/dialog/runtime.js +1 -0
- package/dist/components/dialog/style.js +1 -0
- package/dist/components/drag-sort/attrs.d.ts +182 -0
- package/dist/components/drag-sort/attrs.d.ts.map +1 -0
- package/dist/components/drag-sort/attrs.js +204 -0
- package/dist/components/drag-sort/attrs.js.map +1 -0
- package/dist/components/drag-sort/index.d.ts +22 -0
- package/dist/components/drag-sort/index.d.ts.map +1 -0
- package/dist/components/drag-sort/index.js +21 -0
- package/dist/components/drag-sort/index.js.map +1 -0
- package/dist/components/drag-sort/model.d.ts +46 -0
- package/dist/components/drag-sort/model.d.ts.map +1 -0
- package/dist/components/drag-sort/model.js +200 -0
- package/dist/components/drag-sort/model.js.map +1 -0
- package/dist/components/drag-sort/render.d.ts +3 -0
- package/dist/components/drag-sort/render.d.ts.map +1 -0
- package/dist/components/drag-sort/render.js +182 -0
- package/dist/components/drag-sort/render.js.map +1 -0
- package/dist/components/drag-sort/runtime-buttons.d.ts +27 -0
- package/dist/components/drag-sort/runtime-buttons.d.ts.map +1 -0
- package/dist/components/drag-sort/runtime-buttons.js +139 -0
- package/dist/components/drag-sort/runtime-buttons.js.map +1 -0
- package/dist/components/drag-sort/runtime-lift.d.ts +16 -0
- package/dist/components/drag-sort/runtime-lift.d.ts.map +1 -0
- package/dist/components/drag-sort/runtime-lift.js +74 -0
- package/dist/components/drag-sort/runtime-lift.js.map +1 -0
- package/dist/components/drag-sort/runtime-prelude.d.ts +18 -0
- package/dist/components/drag-sort/runtime-prelude.d.ts.map +1 -0
- package/dist/components/drag-sort/runtime-prelude.js +168 -0
- package/dist/components/drag-sort/runtime-prelude.js.map +1 -0
- package/dist/components/drag-sort/runtime-text.d.ts +58 -0
- package/dist/components/drag-sort/runtime-text.d.ts.map +1 -0
- package/dist/components/drag-sort/runtime-text.js +81 -0
- package/dist/components/drag-sort/runtime-text.js.map +1 -0
- package/dist/components/drag-sort/runtime.d.ts +9 -0
- package/dist/components/drag-sort/runtime.d.ts.map +1 -0
- package/dist/components/drag-sort/runtime.js +181 -0
- package/dist/components/drag-sort/runtime.js.map +1 -0
- package/dist/components/drag-sort/style-forms.d.ts +5 -0
- package/dist/components/drag-sort/style-forms.d.ts.map +1 -0
- package/dist/components/drag-sort/style-forms.js +135 -0
- package/dist/components/drag-sort/style-forms.js.map +1 -0
- package/dist/components/drag-sort/style.d.ts +5 -0
- package/dist/components/drag-sort/style.d.ts.map +1 -0
- package/dist/components/drag-sort/style.js +304 -0
- package/dist/components/drag-sort/style.js.map +1 -0
- package/dist/components/drawer-sheet/attrs.js +1 -0
- package/dist/components/drawer-sheet/index.js +1 -0
- package/dist/components/drawer-sheet/model.js +1 -0
- package/dist/components/drawer-sheet/render.js +1 -0
- package/dist/components/drawer-sheet/runtime.js +1 -0
- package/dist/components/drawer-sheet/style.js +1 -0
- package/dist/components/due-row/attrs.js +1 -0
- package/dist/components/due-row/index.js +1 -0
- package/dist/components/due-row/model.js +1 -0
- package/dist/components/due-row/render.js +1 -0
- package/dist/components/due-row/runtime.js +1 -0
- package/dist/components/due-row/style.js +1 -0
- package/dist/components/editable-value/attrs.d.ts +2 -2
- package/dist/components/editable-value/attrs.d.ts.map +1 -1
- package/dist/components/editable-value/attrs.js +3 -2
- package/dist/components/editable-value/attrs.js.map +1 -1
- package/dist/components/editable-value/index.js +1 -0
- package/dist/components/editable-value/render.d.ts.map +1 -1
- package/dist/components/editable-value/render.js +40 -0
- package/dist/components/editable-value/render.js.map +1 -1
- package/dist/components/editable-value/runtime.d.ts.map +1 -1
- package/dist/components/editable-value/runtime.js +15 -5
- package/dist/components/editable-value/runtime.js.map +1 -1
- package/dist/components/editable-value/style.js +1 -0
- package/dist/components/entry-rows/index.js +1 -0
- package/dist/components/entry-rows/render.js +1 -0
- package/dist/components/entry-rows/style.js +1 -0
- package/dist/components/filter-chips/attrs.js +1 -0
- package/dist/components/filter-chips/index.js +1 -0
- package/dist/components/filter-chips/model.js +1 -0
- package/dist/components/filter-chips/render.js +1 -0
- package/dist/components/filter-chips/runtime.js +1 -0
- package/dist/components/filter-chips/style.js +1 -0
- package/dist/components/flow-ribbon/fields.d.ts +8 -1
- package/dist/components/flow-ribbon/fields.d.ts.map +1 -1
- package/dist/components/flow-ribbon/fields.js +39 -3
- package/dist/components/flow-ribbon/fields.js.map +1 -1
- package/dist/components/flow-ribbon/forms-rails.d.ts +26 -0
- package/dist/components/flow-ribbon/forms-rails.d.ts.map +1 -0
- package/dist/components/flow-ribbon/forms-rails.js +63 -0
- package/dist/components/flow-ribbon/forms-rails.js.map +1 -0
- package/dist/components/flow-ribbon/forms.d.ts +6 -25
- package/dist/components/flow-ribbon/forms.d.ts.map +1 -1
- package/dist/components/flow-ribbon/forms.js +11 -49
- package/dist/components/flow-ribbon/forms.js.map +1 -1
- package/dist/components/flow-ribbon/model.d.ts.map +1 -1
- package/dist/components/flow-ribbon/model.js +2 -1
- package/dist/components/flow-ribbon/model.js.map +1 -1
- package/dist/components/gantt-timeline/attrs.js +1 -0
- package/dist/components/gantt-timeline/index.js +1 -0
- package/dist/components/gantt-timeline/layout.js +1 -0
- package/dist/components/gantt-timeline/model.d.ts.map +1 -1
- package/dist/components/gantt-timeline/model.js +51 -0
- package/dist/components/gantt-timeline/model.js.map +1 -1
- package/dist/components/gantt-timeline/render.js +1 -0
- package/dist/components/gantt-timeline/scale.js +1 -0
- package/dist/components/gantt-timeline/style-marks.js +1 -0
- package/dist/components/gantt-timeline/style.js +1 -0
- package/dist/components/gap-band/attrs.d.ts +77 -0
- package/dist/components/gap-band/attrs.d.ts.map +1 -0
- package/dist/components/gap-band/attrs.js +113 -0
- package/dist/components/gap-band/attrs.js.map +1 -0
- package/dist/components/gap-band/forms.d.ts +117 -0
- package/dist/components/gap-band/forms.d.ts.map +1 -0
- package/dist/components/gap-band/forms.js +172 -0
- package/dist/components/gap-band/forms.js.map +1 -0
- package/dist/components/gap-band/index.d.ts +16 -0
- package/dist/components/gap-band/index.d.ts.map +1 -0
- package/dist/components/gap-band/index.js +15 -0
- package/dist/components/gap-band/index.js.map +1 -0
- package/dist/components/gap-band/model.d.ts +5 -0
- package/dist/components/gap-band/model.d.ts.map +1 -0
- package/dist/components/gap-band/model.js +116 -0
- package/dist/components/gap-band/model.js.map +1 -0
- package/dist/components/gap-band/render.d.ts +3 -0
- package/dist/components/gap-band/render.d.ts.map +1 -0
- package/dist/components/gap-band/render.js +142 -0
- package/dist/components/gap-band/render.js.map +1 -0
- package/dist/components/gap-band/scale.d.ts +45 -0
- package/dist/components/gap-band/scale.d.ts.map +1 -0
- package/dist/components/gap-band/scale.js +163 -0
- package/dist/components/gap-band/scale.js.map +1 -0
- package/dist/components/gap-band/style-forms.d.ts +10 -0
- package/dist/components/gap-band/style-forms.d.ts.map +1 -0
- package/dist/components/gap-band/style-forms.js +244 -0
- package/dist/components/gap-band/style-forms.js.map +1 -0
- package/dist/components/gap-band/style.d.ts +9 -0
- package/dist/components/gap-band/style.d.ts.map +1 -0
- package/dist/components/gap-band/style.js +334 -0
- package/dist/components/gap-band/style.js.map +1 -0
- package/dist/components/goal-stairs/attrs.js +1 -0
- package/dist/components/goal-stairs/index.js +1 -0
- package/dist/components/goal-stairs/model.d.ts.map +1 -1
- package/dist/components/goal-stairs/model.js +31 -0
- package/dist/components/goal-stairs/model.js.map +1 -1
- package/dist/components/goal-stairs/render.js +1 -0
- package/dist/components/goal-stairs/style.js +1 -0
- package/dist/components/heat-grid/attrs.js +1 -0
- package/dist/components/heat-grid/index.js +1 -0
- package/dist/components/heat-grid/model.js +1 -0
- package/dist/components/heat-grid/render.js +1 -0
- package/dist/components/heat-grid/style.js +1 -0
- package/dist/components/help/index.js +1 -0
- package/dist/components/help/render.d.ts.map +1 -1
- package/dist/components/help/render.js +12 -2
- package/dist/components/help/render.js.map +1 -1
- package/dist/components/help/schema.js +1 -0
- package/dist/components/help/shared.js +1 -0
- package/dist/components/help/shell.js +1 -0
- package/dist/components/help/template.js +1 -0
- package/dist/components/hour-band/attrs.js +1 -0
- package/dist/components/hour-band/index.js +1 -0
- package/dist/components/hour-band/model.js +1 -0
- package/dist/components/hour-band/render.js +1 -0
- package/dist/components/hour-band/style.js +1 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +53 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/invoice-lines/attrs.js +1 -0
- package/dist/components/invoice-lines/index.js +1 -0
- package/dist/components/invoice-lines/model.js +1 -0
- package/dist/components/invoice-lines/render.js +1 -0
- package/dist/components/invoice-lines/style.js +1 -0
- package/dist/components/kanban-columns/attrs.d.ts +213 -0
- package/dist/components/kanban-columns/attrs.d.ts.map +1 -0
- package/dist/components/kanban-columns/attrs.js +242 -0
- package/dist/components/kanban-columns/attrs.js.map +1 -0
- package/dist/components/kanban-columns/index.d.ts +21 -0
- package/dist/components/kanban-columns/index.d.ts.map +1 -0
- package/dist/components/kanban-columns/index.js +20 -0
- package/dist/components/kanban-columns/index.js.map +1 -0
- package/dist/components/kanban-columns/model.d.ts +63 -0
- package/dist/components/kanban-columns/model.d.ts.map +1 -0
- package/dist/components/kanban-columns/model.js +251 -0
- package/dist/components/kanban-columns/model.js.map +1 -0
- package/dist/components/kanban-columns/render.d.ts +3 -0
- package/dist/components/kanban-columns/render.d.ts.map +1 -0
- package/dist/components/kanban-columns/render.js +209 -0
- package/dist/components/kanban-columns/render.js.map +1 -0
- package/dist/components/kanban-columns/runtime.d.ts +3 -0
- package/dist/components/kanban-columns/runtime.d.ts.map +1 -0
- package/dist/components/kanban-columns/runtime.js +228 -0
- package/dist/components/kanban-columns/runtime.js.map +1 -0
- package/dist/components/kanban-columns/style-grouped.d.ts +5 -0
- package/dist/components/kanban-columns/style-grouped.d.ts.map +1 -0
- package/dist/components/kanban-columns/style-grouped.js +145 -0
- package/dist/components/kanban-columns/style-grouped.js.map +1 -0
- package/dist/components/kanban-columns/style-narrow.d.ts +5 -0
- package/dist/components/kanban-columns/style-narrow.d.ts.map +1 -0
- package/dist/components/kanban-columns/style-narrow.js +49 -0
- package/dist/components/kanban-columns/style-narrow.js.map +1 -0
- package/dist/components/kanban-columns/style.d.ts +5 -0
- package/dist/components/kanban-columns/style.d.ts.map +1 -0
- package/dist/components/kanban-columns/style.js +328 -0
- package/dist/components/kanban-columns/style.js.map +1 -0
- package/dist/components/key-value-list/attrs.js +1 -0
- package/dist/components/key-value-list/index.js +1 -0
- package/dist/components/key-value-list/model.js +1 -0
- package/dist/components/key-value-list/render.js +1 -0
- package/dist/components/key-value-list/style.js +1 -0
- package/dist/components/ledger-rows/index.js +1 -0
- package/dist/components/ledger-rows/render.js +1 -0
- package/dist/components/ledger-rows/style.js +1 -0
- package/dist/components/multi-checks/attrs.js +1 -0
- package/dist/components/multi-checks/index.js +1 -0
- package/dist/components/multi-checks/model.js +1 -0
- package/dist/components/multi-checks/render.js +1 -0
- package/dist/components/multi-checks/runtime.js +1 -0
- package/dist/components/multi-checks/style.js +1 -0
- package/dist/components/note-block/attrs.js +1 -0
- package/dist/components/note-block/index.js +1 -0
- package/dist/components/note-block/model.js +1 -0
- package/dist/components/note-block/render.js +1 -0
- package/dist/components/note-block/style.js +1 -0
- package/dist/components/number-stepper/attrs.js +1 -0
- package/dist/components/number-stepper/index.js +1 -0
- package/dist/components/number-stepper/model.js +1 -0
- package/dist/components/number-stepper/render.js +1 -0
- package/dist/components/number-stepper/runtime.js +1 -0
- package/dist/components/number-stepper/style.js +1 -0
- package/dist/components/page/fact-strip.js +1 -0
- package/dist/components/page/index.js +1 -0
- package/dist/components/page/media.js +1 -0
- package/dist/components/page/shared.js +1 -0
- package/dist/components/page/style.js +1 -0
- package/dist/components/page/timeline.js +1 -0
- package/dist/components/page-bars/index.js +1 -0
- package/dist/components/page-bars/style.js +1 -0
- package/dist/components/page-head/attrs.js +1 -0
- package/dist/components/page-head/index.js +1 -0
- package/dist/components/page-head/model.js +1 -0
- package/dist/components/page-head/render.js +1 -0
- package/dist/components/page-head/style.js +1 -0
- package/dist/components/page-nav/index.js +1 -0
- package/dist/components/page-nav/style.js +1 -0
- package/dist/components/page-ui/index.js +1 -0
- package/dist/components/page-ui/toast.js +1 -0
- package/dist/components/photo-compare/attrs.js +1 -0
- package/dist/components/photo-compare/index.js +1 -0
- package/dist/components/photo-compare/model.js +1 -0
- package/dist/components/photo-compare/render.js +1 -0
- package/dist/components/photo-compare/runtime.js +1 -0
- package/dist/components/photo-compare/style.js +1 -0
- package/dist/components/photo-grid/attrs.js +1 -0
- package/dist/components/photo-grid/index.js +1 -0
- package/dist/components/photo-grid/model.js +1 -0
- package/dist/components/photo-grid/render.js +1 -0
- package/dist/components/photo-grid/style.js +1 -0
- package/dist/components/popover-menu/attrs.js +1 -0
- package/dist/components/popover-menu/index.js +1 -0
- package/dist/components/popover-menu/model.js +1 -0
- package/dist/components/popover-menu/render.js +1 -0
- package/dist/components/popover-menu/runtime.js +1 -0
- package/dist/components/popover-menu/style.js +1 -0
- package/dist/components/portion-gauge/attrs.d.ts +103 -0
- package/dist/components/portion-gauge/attrs.d.ts.map +1 -0
- package/dist/components/portion-gauge/attrs.js +108 -0
- package/dist/components/portion-gauge/attrs.js.map +1 -0
- package/dist/components/portion-gauge/fields.d.ts +26 -0
- package/dist/components/portion-gauge/fields.d.ts.map +1 -0
- package/dist/components/portion-gauge/fields.js +172 -0
- package/dist/components/portion-gauge/fields.js.map +1 -0
- package/dist/components/portion-gauge/index.d.ts +18 -0
- package/dist/components/portion-gauge/index.d.ts.map +1 -0
- package/dist/components/portion-gauge/index.js +16 -0
- package/dist/components/portion-gauge/index.js.map +1 -0
- package/dist/components/portion-gauge/model.d.ts +76 -0
- package/dist/components/portion-gauge/model.d.ts.map +1 -0
- package/dist/components/portion-gauge/model.js +127 -0
- package/dist/components/portion-gauge/model.js.map +1 -0
- package/dist/components/portion-gauge/render.d.ts +3 -0
- package/dist/components/portion-gauge/render.d.ts.map +1 -0
- package/dist/components/portion-gauge/render.js +158 -0
- package/dist/components/portion-gauge/render.js.map +1 -0
- package/dist/components/portion-gauge/style-gauge.d.ts +7 -0
- package/dist/components/portion-gauge/style-gauge.d.ts.map +1 -0
- package/dist/components/portion-gauge/style-gauge.js +154 -0
- package/dist/components/portion-gauge/style-gauge.js.map +1 -0
- package/dist/components/portion-gauge/style.d.ts +10 -0
- package/dist/components/portion-gauge/style.d.ts.map +1 -0
- package/dist/components/portion-gauge/style.js +293 -0
- package/dist/components/portion-gauge/style.js.map +1 -0
- package/dist/components/progress-list/attrs.js +1 -0
- package/dist/components/progress-list/index.js +1 -0
- package/dist/components/progress-list/model.js +1 -0
- package/dist/components/progress-list/render.js +1 -0
- package/dist/components/progress-list/style.js +1 -0
- package/dist/components/progress-ring/attrs.js +1 -0
- package/dist/components/progress-ring/index.js +1 -0
- package/dist/components/progress-ring/model.js +1 -0
- package/dist/components/progress-ring/render.js +1 -0
- package/dist/components/progress-ring/style.js +1 -0
- package/dist/components/punch-strip/index.js +1 -0
- package/dist/components/punch-strip/render.js +1 -0
- package/dist/components/punch-strip/style.js +1 -0
- package/dist/components/quick-capture/attrs.d.ts +181 -0
- package/dist/components/quick-capture/attrs.d.ts.map +1 -0
- package/dist/components/quick-capture/attrs.js +203 -0
- package/dist/components/quick-capture/attrs.js.map +1 -0
- package/dist/components/quick-capture/index.d.ts +23 -0
- package/dist/components/quick-capture/index.d.ts.map +1 -0
- package/dist/components/quick-capture/index.js +22 -0
- package/dist/components/quick-capture/index.js.map +1 -0
- package/dist/components/quick-capture/model.d.ts +34 -0
- package/dist/components/quick-capture/model.d.ts.map +1 -0
- package/dist/components/quick-capture/model.js +183 -0
- package/dist/components/quick-capture/model.js.map +1 -0
- package/dist/components/quick-capture/render.d.ts +3 -0
- package/dist/components/quick-capture/render.d.ts.map +1 -0
- package/dist/components/quick-capture/render.js +143 -0
- package/dist/components/quick-capture/render.js.map +1 -0
- package/dist/components/quick-capture/runtime.d.ts +3 -0
- package/dist/components/quick-capture/runtime.d.ts.map +1 -0
- package/dist/components/quick-capture/runtime.js +184 -0
- package/dist/components/quick-capture/runtime.js.map +1 -0
- package/dist/components/quick-capture/style-cells.d.ts +5 -0
- package/dist/components/quick-capture/style-cells.d.ts.map +1 -0
- package/dist/components/quick-capture/style-cells.js +108 -0
- package/dist/components/quick-capture/style-cells.js.map +1 -0
- package/dist/components/quick-capture/style-choices.d.ts +5 -0
- package/dist/components/quick-capture/style-choices.d.ts.map +1 -0
- package/dist/components/quick-capture/style-choices.js +132 -0
- package/dist/components/quick-capture/style-choices.js.map +1 -0
- package/dist/components/quick-capture/style-drawer.d.ts +5 -0
- package/dist/components/quick-capture/style-drawer.d.ts.map +1 -0
- package/dist/components/quick-capture/style-drawer.js +88 -0
- package/dist/components/quick-capture/style-drawer.js.map +1 -0
- package/dist/components/quick-capture/style.d.ts +5 -0
- package/dist/components/quick-capture/style.d.ts.map +1 -0
- package/dist/components/quick-capture/style.js +177 -0
- package/dist/components/quick-capture/style.js.map +1 -0
- package/dist/components/radar-profile/attrs.js +1 -1
- package/dist/components/radar-profile/attrs.js.map +1 -1
- package/dist/components/radar-profile/fields.d.ts +149 -0
- package/dist/components/radar-profile/fields.d.ts.map +1 -0
- package/dist/components/radar-profile/fields.js +77 -0
- package/dist/components/radar-profile/fields.js.map +1 -0
- package/dist/components/radar-profile/forms.d.ts +2 -140
- package/dist/components/radar-profile/forms.d.ts.map +1 -1
- package/dist/components/radar-profile/forms.js +50 -84
- package/dist/components/radar-profile/forms.js.map +1 -1
- package/dist/components/radar-profile/model.d.ts +2 -2
- package/dist/components/radar-profile/model.d.ts.map +1 -1
- package/dist/components/radar-profile/model.js +22 -2
- package/dist/components/radar-profile/model.js.map +1 -1
- package/dist/components/radar-profile/render.d.ts.map +1 -1
- package/dist/components/radar-profile/render.js +8 -5
- package/dist/components/radar-profile/render.js.map +1 -1
- package/dist/components/radar-profile/scale.d.ts +0 -2
- package/dist/components/radar-profile/scale.d.ts.map +1 -1
- package/dist/components/radar-profile/scale.js +0 -3
- package/dist/components/radar-profile/scale.js.map +1 -1
- package/dist/components/radar-profile/style-readouts.d.ts +5 -0
- package/dist/components/radar-profile/style-readouts.d.ts.map +1 -0
- package/dist/components/radar-profile/style-readouts.js +257 -0
- package/dist/components/radar-profile/style-readouts.js.map +1 -0
- package/dist/components/radar-profile/style.d.ts.map +1 -1
- package/dist/components/radar-profile/style.js +19 -232
- package/dist/components/radar-profile/style.js.map +1 -1
- package/dist/components/radio-cards/attrs.js +1 -0
- package/dist/components/radio-cards/index.js +1 -0
- package/dist/components/radio-cards/model.js +1 -0
- package/dist/components/radio-cards/render.js +1 -0
- package/dist/components/radio-cards/runtime.js +1 -0
- package/dist/components/radio-cards/style.js +1 -0
- package/dist/components/range-bar/attrs.js +1 -0
- package/dist/components/range-bar/index.js +1 -0
- package/dist/components/range-bar/model.js +1 -0
- package/dist/components/range-bar/render.js +1 -0
- package/dist/components/range-bar/style.js +1 -0
- package/dist/components/rank-list/attrs.js +1 -0
- package/dist/components/rank-list/index.js +1 -0
- package/dist/components/rank-list/model.js +1 -0
- package/dist/components/rank-list/render.js +1 -0
- package/dist/components/rank-list/style.js +1 -0
- package/dist/components/rating-row/attrs.js +1 -0
- package/dist/components/rating-row/index.js +1 -0
- package/dist/components/rating-row/model.js +1 -0
- package/dist/components/rating-row/render.js +1 -0
- package/dist/components/rating-row/runtime.js +1 -0
- package/dist/components/rating-row/style.js +1 -0
- package/dist/components/relation-picker/attrs.d.ts +196 -0
- package/dist/components/relation-picker/attrs.d.ts.map +1 -0
- package/dist/components/relation-picker/attrs.js +240 -0
- package/dist/components/relation-picker/attrs.js.map +1 -0
- package/dist/components/relation-picker/index.d.ts +20 -0
- package/dist/components/relation-picker/index.d.ts.map +1 -0
- package/dist/components/relation-picker/index.js +19 -0
- package/dist/components/relation-picker/index.js.map +1 -0
- package/dist/components/relation-picker/model.d.ts +85 -0
- package/dist/components/relation-picker/model.d.ts.map +1 -0
- package/dist/components/relation-picker/model.js +189 -0
- package/dist/components/relation-picker/model.js.map +1 -0
- package/dist/components/relation-picker/render.d.ts +3 -0
- package/dist/components/relation-picker/render.d.ts.map +1 -0
- package/dist/components/relation-picker/render.js +244 -0
- package/dist/components/relation-picker/render.js.map +1 -0
- package/dist/components/relation-picker/runtime.d.ts +3 -0
- package/dist/components/relation-picker/runtime.d.ts.map +1 -0
- package/dist/components/relation-picker/runtime.js +260 -0
- package/dist/components/relation-picker/runtime.js.map +1 -0
- package/dist/components/relation-picker/style-forms.d.ts +5 -0
- package/dist/components/relation-picker/style-forms.d.ts.map +1 -0
- package/dist/components/relation-picker/style-forms.js +190 -0
- package/dist/components/relation-picker/style-forms.js.map +1 -0
- package/dist/components/relation-picker/style-list.d.ts +5 -0
- package/dist/components/relation-picker/style-list.d.ts.map +1 -0
- package/dist/components/relation-picker/style-list.js +146 -0
- package/dist/components/relation-picker/style-list.js.map +1 -0
- package/dist/components/relation-picker/style.d.ts +5 -0
- package/dist/components/relation-picker/style.d.ts.map +1 -0
- package/dist/components/relation-picker/style.js +308 -0
- package/dist/components/relation-picker/style.js.map +1 -0
- package/dist/components/reminder-setter/attrs.d.ts +240 -0
- package/dist/components/reminder-setter/attrs.d.ts.map +1 -0
- package/dist/components/reminder-setter/attrs.js +268 -0
- package/dist/components/reminder-setter/attrs.js.map +1 -0
- package/dist/components/reminder-setter/index.d.ts +22 -0
- package/dist/components/reminder-setter/index.d.ts.map +1 -0
- package/dist/components/reminder-setter/index.js +21 -0
- package/dist/components/reminder-setter/index.js.map +1 -0
- package/dist/components/reminder-setter/model-track.d.ts +29 -0
- package/dist/components/reminder-setter/model-track.d.ts.map +1 -0
- package/dist/components/reminder-setter/model-track.js +110 -0
- package/dist/components/reminder-setter/model-track.js.map +1 -0
- package/dist/components/reminder-setter/model.d.ts +51 -0
- package/dist/components/reminder-setter/model.d.ts.map +1 -0
- package/dist/components/reminder-setter/model.js +110 -0
- package/dist/components/reminder-setter/model.js.map +1 -0
- package/dist/components/reminder-setter/render.d.ts +3 -0
- package/dist/components/reminder-setter/render.d.ts.map +1 -0
- package/dist/components/reminder-setter/render.js +221 -0
- package/dist/components/reminder-setter/render.js.map +1 -0
- package/dist/components/reminder-setter/rules.d.ts +34 -0
- package/dist/components/reminder-setter/rules.d.ts.map +1 -0
- package/dist/components/reminder-setter/rules.js +121 -0
- package/dist/components/reminder-setter/rules.js.map +1 -0
- package/dist/components/reminder-setter/runtime.d.ts +3 -0
- package/dist/components/reminder-setter/runtime.d.ts.map +1 -0
- package/dist/components/reminder-setter/runtime.js +264 -0
- package/dist/components/reminder-setter/runtime.js.map +1 -0
- package/dist/components/reminder-setter/style-track.d.ts +3 -0
- package/dist/components/reminder-setter/style-track.d.ts.map +1 -0
- package/dist/components/reminder-setter/style-track.js +189 -0
- package/dist/components/reminder-setter/style-track.js.map +1 -0
- package/dist/components/reminder-setter/style.d.ts +5 -0
- package/dist/components/reminder-setter/style.d.ts.map +1 -0
- package/dist/components/reminder-setter/style.js +306 -0
- package/dist/components/reminder-setter/style.js.map +1 -0
- package/dist/components/result-row/attrs.js +1 -0
- package/dist/components/result-row/index.js +1 -0
- package/dist/components/result-row/model.js +1 -0
- package/dist/components/result-row/render.js +1 -0
- package/dist/components/result-row/style.js +1 -0
- package/dist/components/scale-bar/index.js +1 -0
- package/dist/components/scale-bar/render.js +1 -0
- package/dist/components/scale-bar/style.js +1 -0
- package/dist/components/scatter-fit/attrs.js +1 -0
- package/dist/components/scatter-fit/forms.js +1 -0
- package/dist/components/scatter-fit/index.js +1 -0
- package/dist/components/scatter-fit/model.d.ts.map +1 -1
- package/dist/components/scatter-fit/model.js +68 -18
- package/dist/components/scatter-fit/model.js.map +1 -1
- package/dist/components/scatter-fit/render.js +1 -0
- package/dist/components/scatter-fit/scale.js +1 -0
- package/dist/components/scatter-fit/style-forms.js +1 -0
- package/dist/components/scatter-fit/style.js +1 -0
- package/dist/components/search-field/attrs.js +1 -0
- package/dist/components/search-field/index.js +1 -0
- package/dist/components/search-field/model.js +1 -0
- package/dist/components/search-field/render.js +1 -0
- package/dist/components/search-field/runtime.js +1 -0
- package/dist/components/search-field/style.js +1 -0
- package/dist/components/section-head/attrs.js +1 -0
- package/dist/components/section-head/index.js +1 -0
- package/dist/components/section-head/model.js +1 -0
- package/dist/components/section-head/render.js +1 -0
- package/dist/components/section-head/style.js +1 -0
- package/dist/components/shared/escape.js +1 -0
- package/dist/components/shared/typography.js +1 -0
- package/dist/components/shared/validate.js +1 -0
- package/dist/components/sheet-frame/index.js +1 -0
- package/dist/components/sheet-frame/render.js +1 -0
- package/dist/components/sheet-frame/style.js +1 -0
- package/dist/components/skeleton/attrs.js +1 -0
- package/dist/components/skeleton/index.js +1 -0
- package/dist/components/skeleton/model.js +1 -0
- package/dist/components/skeleton/render.js +1 -0
- package/dist/components/skeleton/style.js +1 -0
- package/dist/components/skin/contract.d.ts +1 -1
- package/dist/components/skin/contract.js +1 -0
- package/dist/components/skin/index.js +1 -0
- package/dist/components/skin/skins/broadsheet.js +1 -0
- package/dist/components/skin/skins/ink.js +1 -0
- package/dist/components/skin/skins/neutral.js +1 -0
- package/dist/components/skin/skins/paper.js +1 -0
- package/dist/components/slider-row/attrs.js +1 -0
- package/dist/components/slider-row/index.js +1 -0
- package/dist/components/slider-row/model.js +1 -0
- package/dist/components/slider-row/render.js +1 -0
- package/dist/components/slider-row/runtime.js +1 -0
- package/dist/components/slider-row/style.js +1 -0
- package/dist/components/small-multiples/attrs.js +1 -0
- package/dist/components/small-multiples/index.js +1 -0
- package/dist/components/small-multiples/model.d.ts.map +1 -1
- package/dist/components/small-multiples/model.js +43 -0
- package/dist/components/small-multiples/model.js.map +1 -1
- package/dist/components/small-multiples/render.js +1 -0
- package/dist/components/small-multiples/scale.js +1 -0
- package/dist/components/small-multiples/style.js +1 -0
- package/dist/components/sort-toggle/attrs.js +1 -0
- package/dist/components/sort-toggle/index.js +1 -0
- package/dist/components/sort-toggle/model.js +1 -0
- package/dist/components/sort-toggle/render.js +1 -0
- package/dist/components/sort-toggle/runtime.js +1 -0
- package/dist/components/sort-toggle/style.js +1 -0
- package/dist/components/spread-dist/attrs.d.ts +56 -12
- package/dist/components/spread-dist/attrs.d.ts.map +1 -1
- package/dist/components/spread-dist/attrs.js +72 -12
- package/dist/components/spread-dist/attrs.js.map +1 -1
- package/dist/components/spread-dist/forms.d.ts +53 -10
- package/dist/components/spread-dist/forms.d.ts.map +1 -1
- package/dist/components/spread-dist/forms.js +104 -7
- package/dist/components/spread-dist/forms.js.map +1 -1
- package/dist/components/spread-dist/index.d.ts +5 -4
- package/dist/components/spread-dist/index.d.ts.map +1 -1
- package/dist/components/spread-dist/index.js +5 -3
- package/dist/components/spread-dist/index.js.map +1 -1
- package/dist/components/spread-dist/model.d.ts +1 -1
- package/dist/components/spread-dist/model.d.ts.map +1 -1
- package/dist/components/spread-dist/model.js +154 -4
- package/dist/components/spread-dist/model.js.map +1 -1
- package/dist/components/spread-dist/render.d.ts.map +1 -1
- package/dist/components/spread-dist/render.js +79 -10
- package/dist/components/spread-dist/render.js.map +1 -1
- package/dist/components/spread-dist/scale.d.ts +15 -3
- package/dist/components/spread-dist/scale.d.ts.map +1 -1
- package/dist/components/spread-dist/scale.js +50 -15
- package/dist/components/spread-dist/scale.js.map +1 -1
- package/dist/components/spread-dist/style-box.d.ts +5 -0
- package/dist/components/spread-dist/style-box.d.ts.map +1 -0
- package/dist/components/spread-dist/style-box.js +252 -0
- package/dist/components/spread-dist/style-box.js.map +1 -0
- package/dist/components/spread-dist/style-quantile.d.ts +5 -0
- package/dist/components/spread-dist/style-quantile.d.ts.map +1 -0
- package/dist/components/spread-dist/style-quantile.js +97 -0
- package/dist/components/spread-dist/style-quantile.js.map +1 -0
- package/dist/components/spread-dist/style.d.ts.map +1 -1
- package/dist/components/spread-dist/style.js +28 -87
- package/dist/components/spread-dist/style.js.map +1 -1
- package/dist/components/stacked-bar/attrs.js +1 -0
- package/dist/components/stacked-bar/index.js +1 -0
- package/dist/components/stacked-bar/model.js +1 -0
- package/dist/components/stacked-bar/render.js +1 -0
- package/dist/components/stacked-bar/style.js +1 -0
- package/dist/components/stat-inline/attrs.js +1 -0
- package/dist/components/stat-inline/index.js +1 -0
- package/dist/components/stat-inline/model.js +1 -0
- package/dist/components/stat-inline/render.js +1 -0
- package/dist/components/stat-inline/style.js +1 -0
- package/dist/components/status-row/attrs.js +1 -0
- package/dist/components/status-row/index.js +1 -0
- package/dist/components/status-row/model.js +1 -0
- package/dist/components/status-row/render.js +1 -0
- package/dist/components/status-row/style.js +1 -0
- package/dist/components/step-flow/attrs.js +1 -0
- package/dist/components/step-flow/index.js +1 -0
- package/dist/components/step-flow/model.js +1 -0
- package/dist/components/step-flow/render.js +1 -0
- package/dist/components/step-flow/style.js +1 -0
- package/dist/components/streak-badge/attrs.js +1 -0
- package/dist/components/streak-badge/index.js +1 -0
- package/dist/components/streak-badge/model.js +1 -0
- package/dist/components/streak-badge/render.js +1 -0
- package/dist/components/streak-badge/style.js +1 -0
- package/dist/components/style/action-bar.js +1 -0
- package/dist/components/style/copy-button.js +1 -0
- package/dist/components/style/empty-state.js +1 -0
- package/dist/components/style/error-receipt.js +1 -0
- package/dist/components/style/help-shell.js +1 -0
- package/dist/components/style/index.js +1 -0
- package/dist/components/style/parts.js +1 -0
- package/dist/components/style/sheet.js +1 -0
- package/dist/components/style/status-badge.js +1 -0
- package/dist/components/style/toast.js +1 -0
- package/dist/components/style/tokens.js +1 -0
- package/dist/components/sub-list/attrs.js +1 -0
- package/dist/components/sub-list/index.js +1 -0
- package/dist/components/sub-list/model.js +1 -0
- package/dist/components/sub-list/render.js +1 -0
- package/dist/components/sub-list/style.js +1 -0
- package/dist/components/summary-head/index.js +1 -0
- package/dist/components/summary-head/render.js +1 -0
- package/dist/components/summary-head/style.js +1 -0
- package/dist/components/switch-row/attrs.js +1 -0
- package/dist/components/switch-row/index.js +1 -0
- package/dist/components/switch-row/model.js +1 -0
- package/dist/components/switch-row/render.js +1 -0
- package/dist/components/switch-row/runtime.js +1 -0
- package/dist/components/switch-row/style.js +1 -0
- package/dist/components/sync-status/attrs.js +1 -0
- package/dist/components/sync-status/index.js +1 -0
- package/dist/components/sync-status/model.js +1 -0
- package/dist/components/sync-status/render.js +1 -0
- package/dist/components/sync-status/runtime.js +1 -0
- package/dist/components/sync-status/style.js +1 -0
- package/dist/components/task-list/attrs.js +1 -0
- package/dist/components/task-list/index.js +1 -0
- package/dist/components/task-list/model.js +1 -0
- package/dist/components/task-list/render.js +1 -0
- package/dist/components/task-list/runtime.js +1 -0
- package/dist/components/task-list/style.js +1 -0
- package/dist/components/template/fill.js +1 -0
- package/dist/components/template/index.js +1 -0
- package/dist/components/template/markers.d.ts +1 -1
- package/dist/components/template/markers.js +2 -1
- package/dist/components/template/shared.js +1 -0
- package/dist/components/text/api.js +1 -0
- package/dist/components/text/formats.js +1 -0
- package/dist/components/text/index.js +1 -0
- package/dist/components/text/input.js +1 -0
- package/dist/components/text/log.js +1 -0
- package/dist/components/text/rows.js +1 -0
- package/dist/components/text/shared.js +1 -0
- package/dist/components/timer-card/attrs.js +1 -0
- package/dist/components/timer-card/index.js +1 -0
- package/dist/components/timer-card/model.js +1 -0
- package/dist/components/timer-card/render.js +1 -0
- package/dist/components/timer-card/runtime.js +1 -0
- package/dist/components/timer-card/style.js +1 -0
- package/dist/components/toast-card/attrs.js +1 -0
- package/dist/components/toast-card/index.js +1 -0
- package/dist/components/toast-card/model.js +1 -0
- package/dist/components/toast-card/render.js +1 -0
- package/dist/components/toast-card/runtime.js +1 -0
- package/dist/components/toast-card/style.js +1 -0
- package/dist/components/tooltip/attrs.d.ts +11 -4
- package/dist/components/tooltip/attrs.d.ts.map +1 -1
- package/dist/components/tooltip/attrs.js +12 -4
- package/dist/components/tooltip/attrs.js.map +1 -1
- package/dist/components/tooltip/index.d.ts +2 -1
- package/dist/components/tooltip/index.d.ts.map +1 -1
- package/dist/components/tooltip/index.js +3 -1
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tooltip/model.js +1 -0
- package/dist/components/tooltip/render.d.ts.map +1 -1
- package/dist/components/tooltip/render.js +4 -2
- package/dist/components/tooltip/render.js.map +1 -1
- package/dist/components/tooltip/runtime.d.ts.map +1 -1
- package/dist/components/tooltip/runtime.js +28 -6
- package/dist/components/tooltip/runtime.js.map +1 -1
- package/dist/components/tooltip/style.d.ts.map +1 -1
- package/dist/components/tooltip/style.js +11 -4
- package/dist/components/tooltip/style.js.map +1 -1
- package/dist/components/undo-timeline/attrs.d.ts +1 -1
- package/dist/components/undo-timeline/attrs.d.ts.map +1 -1
- package/dist/components/undo-timeline/attrs.js +1 -1
- package/dist/components/undo-timeline/attrs.js.map +1 -1
- package/dist/components/undo-timeline/index.d.ts +1 -1
- package/dist/components/undo-timeline/index.d.ts.map +1 -1
- package/dist/components/undo-timeline/index.js +1 -1
- package/dist/components/undo-timeline/index.js.map +1 -1
- package/dist/components/undo-timeline/keys.d.ts +17 -0
- package/dist/components/undo-timeline/keys.d.ts.map +1 -0
- package/dist/components/undo-timeline/keys.js +47 -0
- package/dist/components/undo-timeline/keys.js.map +1 -0
- package/dist/components/undo-timeline/model.d.ts.map +1 -1
- package/dist/components/undo-timeline/model.js +20 -1
- package/dist/components/undo-timeline/model.js.map +1 -1
- package/dist/components/undo-timeline/render.d.ts.map +1 -1
- package/dist/components/undo-timeline/render.js +10 -2
- package/dist/components/undo-timeline/render.js.map +1 -1
- package/dist/components/undo-timeline/runtime.d.ts.map +1 -1
- package/dist/components/undo-timeline/runtime.js +19 -12
- package/dist/components/undo-timeline/runtime.js.map +1 -1
- package/dist/components/undo-timeline/style-impact.d.ts.map +1 -1
- package/dist/components/undo-timeline/style-impact.js +2 -4
- package/dist/components/undo-timeline/style-impact.js.map +1 -1
- package/dist/components/undo-timeline/style-track.d.ts.map +1 -1
- package/dist/components/undo-timeline/style-track.js +5 -0
- package/dist/components/undo-timeline/style-track.js.map +1 -1
- package/dist/components/undo-timeline/text.d.ts +0 -2
- package/dist/components/undo-timeline/text.d.ts.map +1 -1
- package/dist/components/undo-timeline/text.js +0 -2
- package/dist/components/undo-timeline/text.js.map +1 -1
- package/dist/components/window-picker/attrs.js +1 -0
- package/dist/components/window-picker/index.js +1 -0
- package/dist/components/window-picker/model.js +1 -0
- package/dist/components/window-picker/render.js +1 -0
- package/dist/components/window-picker/runtime.js +1 -0
- package/dist/components/window-picker/style.js +1 -0
- package/dist/components/wizard-shell/attrs.d.ts +2 -1
- package/dist/components/wizard-shell/attrs.d.ts.map +1 -1
- package/dist/components/wizard-shell/attrs.js +3 -1
- package/dist/components/wizard-shell/attrs.js.map +1 -1
- package/dist/components/wizard-shell/index.js +1 -0
- package/dist/components/wizard-shell/model.d.ts.map +1 -1
- package/dist/components/wizard-shell/model.js +36 -0
- package/dist/components/wizard-shell/model.js.map +1 -1
- package/dist/components/wizard-shell/render.js +1 -0
- package/dist/components/wizard-shell/runtime.js +1 -0
- package/dist/components/wizard-shell/style-answer.js +1 -0
- package/dist/components/wizard-shell/style.js +1 -0
- package/dist/components//346/270/205/345/215/225.d.ts +2 -2
- package/dist/components//346/270/205/345/215/225.d.ts.map +1 -1
- package/dist/components//346/270/205/345/215/225.js +68 -54
- package/dist/components//346/270/205/345/215/225.js.map +1 -1
- package/dist/contract.js +1 -0
- package/dist/controls.js +1 -0
- package/dist/font.js +1 -0
- package/dist/help.js +1 -0
- package/dist/helpShell.d.ts.map +1 -1
- package/dist/helpShell.js +3 -2
- package/dist/helpShell.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/injector.js +1 -0
- package/dist/output/saveHtml.js +1 -0
- package/dist/pageUi.js +1 -0
- package/dist/spec/charts.js +1 -0
- package/dist/spec/controls.js +1 -0
- package/dist/spec/help.d.ts +59 -0
- package/dist/spec/help.d.ts.map +1 -1
- package/dist/spec/help.js +20 -0
- package/dist/spec/help.js.map +1 -1
- package/dist/spec/index.js +2 -1
- package/dist/spec/index.js.map +1 -1
- package/dist/spec/style.js +1 -0
- package/dist/spec/template.d.ts +1 -1
- package/dist/spec/template.d.ts.map +1 -1
- package/dist/spec/template.js +2 -1
- package/dist/spec/template.js.map +1 -1
- package/dist/spec/text.d.ts +1 -1
- package/dist/spec/text.js +2 -1
- package/dist/style.js +1 -0
- package/dist/template.js +1 -0
- package/dist/text.js +1 -0
- package/dist/ui.js +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/** gap-band · **两个骨架的装配**(本件第三份源码件:`model.ts` 校验过的入参在这里变成模型的形状)。
|
|
2
|
+
*
|
|
3
|
+
* 为什么有这一件:一次落两档形态,校验 + 装配 + 算数挤在一件里会超本包告警线 350
|
|
4
|
+
* (`packages/base-render/AGENTS.md`)。切口与兄弟件 `spread-dist/forms.ts` 同:本件不碰 `any`
|
|
5
|
+
* (入参已由 `model.ts` 校验过),也不产标记(`render.ts` 只拼标记,算术一个字都不写)。
|
|
6
|
+
*
|
|
7
|
+
* —— 两档 ——
|
|
8
|
+
* · `band` 连续差值带:实际折线去、计划线回的那块面积就是差,两端连成一片;
|
|
9
|
+
* · `deviation` 每日偏差柱:零位线就是目标,柱朝上超了、朝下还差。
|
|
10
|
+
*
|
|
11
|
+
* 三条口径:
|
|
12
|
+
* 1. **能算的都算出来**:刻度文字、计划线位置、折线与带子的 SVG 坐标、锚点位置、柱高百分比、
|
|
13
|
+
* 卡头那句、口径句与无障碍名都在这里定 —— `render.ts` 里没有一个算术。
|
|
14
|
+
* 2. **可见文本的用词纪律**:本件生成的字里**不出现** `·`/`;`/并列顿号/`/`/`|`/`|`/`+`
|
|
15
|
+
* —— 仓库的分隔符门(`test/separator-probe.mjs` R1–R3)对可见文本零豁免。
|
|
16
|
+
* 故正数补 ASCII `+`(全角 `+` 才是并列分隔符),负数用 `−`,日子之间用 `,`。
|
|
17
|
+
* 3. **偏差是算出来的**:B 档入参只给绝对读数 + 目标,柱高、柱上那个数、累计净差全从这两样出 ——
|
|
18
|
+
* 调用方手写的偏差一旦和读数对不上,图就同时说两句话。
|
|
19
|
+
*/
|
|
20
|
+
import { GAP_BAND_DEV_MAX_PCT, } from './attrs.js';
|
|
21
|
+
import { niceAxis, plainText, round2, signedText, tickTexts, topPct, unitPart } from './scale.js';
|
|
22
|
+
/* ── 小工具(本件内部用) ─────────────────────────────────────────── */
|
|
23
|
+
/** 第 i 列(共 n 列)的中心横坐标(百分比):SVG 顶点、横轴日子与锚点都从它出 —— 三处各写一套必然错位。
|
|
24
|
+
* 首末两列的锚点半枚标签会出框 —— 收敛落在样式里(`left: clamp(70px, var(--ax), …)`),
|
|
25
|
+
* 模型只给精确的列心(判据按这支公式验)。 */
|
|
26
|
+
const xPct = (i, n) => round2(((i + 0.5) / n) * 100);
|
|
27
|
+
/** 锚点横坐标(=它那一列的中心,精确值;窄档下的收边由样式的 `clamp` 做)。 */
|
|
28
|
+
const anchorX = (i, n) => xPct(i, n);
|
|
29
|
+
/** 一段读数的写法(数字 + 单位)。 */
|
|
30
|
+
const reading = (v, unit) => plainText(v) + unitPart(unit);
|
|
31
|
+
/** 差的短写法(锚点里那枚:`多 0.9 h`/`少 1.0 h`/`和计划持平`)。 */
|
|
32
|
+
const diffShort = (d, unit) => (d > 0
|
|
33
|
+
? '多 ' + reading(d, unit)
|
|
34
|
+
: (d < 0 ? '少 ' + reading(Math.abs(d), unit) : '和计划持平'));
|
|
35
|
+
/* ── A 档:连续差值带 ─────────────────────────────────────────────── */
|
|
36
|
+
/** 形态 `band`:实际折线去、计划线回的那块面积 + 两枚图内锚点 + 净差行。 */
|
|
37
|
+
export function bandModel(c, plan, days) {
|
|
38
|
+
const values = days.map((d) => d.value);
|
|
39
|
+
const axis = niceAxis(Math.min(plan, ...values), Math.max(plan, ...values));
|
|
40
|
+
const n = days.length;
|
|
41
|
+
const planY = topPct(plan, axis);
|
|
42
|
+
const ys = values.map((v) => topPct(v, axis));
|
|
43
|
+
const linePoints = values.map((_, i) => String(xPct(i, n)) + ',' + String(ys[i])).join(' ');
|
|
44
|
+
const bandPoints = linePoints + ' '
|
|
45
|
+
+ values.map((_, i) => String(xPct(n - 1 - i, n)) + ',' + String(planY)).join(' ');
|
|
46
|
+
/* 两枚锚点:差最大与最小的那两天(差相等时只出一枚,不叠在一起)。 */
|
|
47
|
+
const diffs = values.map((v) => v - plan);
|
|
48
|
+
let hi = 0;
|
|
49
|
+
let lo = 0;
|
|
50
|
+
for (let i = 1; i < diffs.length; i += 1) {
|
|
51
|
+
if (diffs[i] > diffs[hi])
|
|
52
|
+
hi = i;
|
|
53
|
+
if (diffs[i] < diffs[lo])
|
|
54
|
+
lo = i;
|
|
55
|
+
}
|
|
56
|
+
const anchors = hi === lo
|
|
57
|
+
? [{
|
|
58
|
+
day: days[hi].label, diff: diffShort(diffs[hi], c.unit), leftPct: anchorX(hi, n),
|
|
59
|
+
kind: 'flat', topPct: ys[hi], bottomPct: round2(100 - ys[hi]),
|
|
60
|
+
}]
|
|
61
|
+
: [
|
|
62
|
+
{
|
|
63
|
+
day: days[hi].label, diff: diffShort(diffs[hi], c.unit), leftPct: anchorX(hi, n),
|
|
64
|
+
kind: 'hi', topPct: ys[hi], bottomPct: round2(100 - ys[hi]),
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
day: days[lo].label, diff: diffShort(diffs[lo], c.unit), leftPct: anchorX(lo, n),
|
|
68
|
+
kind: 'lo', topPct: ys[lo], bottomPct: round2(100 - ys[lo]),
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
/* 净差:几天合起来比计划多还是少、几天没达计划(原型定稿版底部那一行)。
|
|
72
|
+
先归一到两位小数再比零 —— 浮点余数(如 -4.4e-16)不是"差",不能进"少 0 h"那一支。 */
|
|
73
|
+
const net = Number(diffs.reduce((a, d) => a + d, 0).toFixed(2));
|
|
74
|
+
const below = diffs.filter((d) => d < 0).length;
|
|
75
|
+
const sumText = signedText(net) + unitPart(c.unit);
|
|
76
|
+
const sumDesc = net === 0
|
|
77
|
+
? '净差 0' + unitPart(c.unit) + ',' + String(n) + ' 天合起来和计划持平'
|
|
78
|
+
: '净差,' + String(n) + ' 天合起来比计划' + (net < 0 ? '少 ' : '多 ')
|
|
79
|
+
+ reading(Math.abs(net), c.unit) + ','
|
|
80
|
+
+ (below === 0 ? String(n) + ' 天全达计划' : String(below) + ' 天没达计划');
|
|
81
|
+
const dayVals = days.map((d) => d.label + ' ' + plainText(d.value)).join(',');
|
|
82
|
+
const extreme = hi === lo
|
|
83
|
+
? '每天和计划持平'
|
|
84
|
+
: '最深的一处是' + days[lo].label + diffShort(diffs[lo], c.unit)
|
|
85
|
+
+ ',最高的一处是' + days[hi].label + diffShort(diffs[hi], c.unit);
|
|
86
|
+
return {
|
|
87
|
+
form: 'band',
|
|
88
|
+
title: c.title,
|
|
89
|
+
stamp: c.stamp,
|
|
90
|
+
tail: '计划 ' + reading(plan, c.unit),
|
|
91
|
+
note: c.noteIn ?? '口径:带子是实际线和计划线之间的面积,不填 0 基线,填到 0 就看不出差了。'
|
|
92
|
+
+ '带子两端连成一片,不按天切开。最深和最高两处读数挂在图上,计划线穿通整块,刻度值贴在刻度上。',
|
|
93
|
+
ariaLabel: '差值带:计划 ' + reading(plan, c.unit) + ',' + dayVals
|
|
94
|
+
+ ',带子是实际线和计划线之间的面积,' + extreme + '。',
|
|
95
|
+
ticks: tickTexts(axis, c.unit).map((text, i) => {
|
|
96
|
+
/* 刻度的值与位置(从大往小,与文字同一支量化):位置=`upPct(值)`,
|
|
97
|
+
于是"刻度文字说 7"与"7 画在哪"是同一份真值。判据从印出来的文字反推轴域、逐枚对账。 */
|
|
98
|
+
const value = Number((axis.hi - axis.step * i).toFixed(axis.decimals));
|
|
99
|
+
return { text, value, bottomPct: round2(100 - topPct(value, axis)) };
|
|
100
|
+
}),
|
|
101
|
+
linePoints,
|
|
102
|
+
bandPoints,
|
|
103
|
+
planTopPct: planY,
|
|
104
|
+
planText: '计划 ' + reading(plan, c.unit),
|
|
105
|
+
anchors,
|
|
106
|
+
xLabels: days.map((d) => ({ day: d.label, valueText: plainText(d.value) })),
|
|
107
|
+
sumText,
|
|
108
|
+
sumDesc,
|
|
109
|
+
legend: [
|
|
110
|
+
{ kind: 'line', text: '实际线(2px 实线)' },
|
|
111
|
+
{ kind: 'plan', text: '计划线(虚线)' },
|
|
112
|
+
{ kind: 'band', text: '带子是两线之差' },
|
|
113
|
+
],
|
|
114
|
+
extraClass: c.extraClass,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
/* ── B 档:每日偏差柱 ─────────────────────────────────────────────── */
|
|
118
|
+
/** 形态 `deviation`:零位线就是目标,柱朝上超了、朝下还差,柱上数字一律带符号。 */
|
|
119
|
+
export function deviationModel(c, target, days) {
|
|
120
|
+
const n = days.length;
|
|
121
|
+
const devs = days.map((d) => d.value - target);
|
|
122
|
+
const maxAbs = Math.max(0, ...devs.map((d) => Math.abs(d)));
|
|
123
|
+
const bars = days.map((d, i) => {
|
|
124
|
+
const dev = devs[i];
|
|
125
|
+
const shown = maxAbs === 0 ? 0 : round2((Math.abs(dev) / maxAbs) * GAP_BAND_DEV_MAX_PCT);
|
|
126
|
+
const word = dev > 0 ? '超 ' : (dev < 0 ? '差 ' : '持平');
|
|
127
|
+
return {
|
|
128
|
+
label: d.label,
|
|
129
|
+
devText: signedText(Number(dev.toFixed(2))),
|
|
130
|
+
heightPct: shown,
|
|
131
|
+
up: dev >= 0,
|
|
132
|
+
title: d.label + ':' + word + reading(Math.abs(dev), c.unit),
|
|
133
|
+
};
|
|
134
|
+
});
|
|
135
|
+
/* 累计净差(原型 B 档的口径:累计写在底部读数里,单看某一天会误事)。归一后再比零,理由同 A 档。 */
|
|
136
|
+
const net = Number(devs.reduce((a, d) => a + d, 0).toFixed(2));
|
|
137
|
+
const under = devs.filter((d) => d < 0).length;
|
|
138
|
+
const sumText = signedText(net) + unitPart(c.unit);
|
|
139
|
+
const sumDesc = net === 0
|
|
140
|
+
? '净差 0' + unitPart(c.unit) + ',' + String(n) + ' 天合起来和目标持平'
|
|
141
|
+
: '净差,' + String(n) + ' 天合起来比目标' + (net < 0 ? '少 ' : '多 ')
|
|
142
|
+
+ reading(Math.abs(net), c.unit) + ','
|
|
143
|
+
+ (under === 0 ? String(n) + ' 天全达目标' : String(under) + ' 天没达目标');
|
|
144
|
+
const items = days.map((d, i) => {
|
|
145
|
+
const dev = devs[i];
|
|
146
|
+
return d.label + (dev > 0 ? '超 ' : (dev < 0 ? '差 ' : '持平'))
|
|
147
|
+
+ (dev === 0 ? '' : reading(Math.abs(dev), c.unit));
|
|
148
|
+
}).join(',');
|
|
149
|
+
return {
|
|
150
|
+
form: 'deviation',
|
|
151
|
+
title: c.title,
|
|
152
|
+
stamp: c.stamp,
|
|
153
|
+
tail: '朝上超了目标',
|
|
154
|
+
note: c.noteIn ?? '口径:柱高是实际减目标的绝对值,方向是超了还是差了,'
|
|
155
|
+
+ '数字一律带正负号,不靠颜色读。零位线是目标,不是 0 卡。累计写在底部读数里,单看某一天会误事。',
|
|
156
|
+
ariaLabel: '每日偏差柱:' + items + ',累计净差 ' + sumText + '。',
|
|
157
|
+
bars,
|
|
158
|
+
sumText,
|
|
159
|
+
sumDesc,
|
|
160
|
+
legend: [
|
|
161
|
+
{ kind: 'up', text: '朝上超了目标' },
|
|
162
|
+
{ kind: 'down', text: '朝下还差' },
|
|
163
|
+
{ kind: 'zero', text: '零位线是目标' },
|
|
164
|
+
],
|
|
165
|
+
extraClass: c.extraClass,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/** 形态键的类型守卫(`render.ts` 分派用,不另写一套字符串比对)。 */
|
|
169
|
+
export function isGapBandForm(value) {
|
|
170
|
+
return value === 'band' || value === 'deviation';
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=forms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms.js","sourceRoot":"","sources":["../../../src/components/gap-band/forms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** gap-band · **组件出口**(本组件对外的唯一名字面)。
|
|
2
|
+
*
|
|
3
|
+
* 五件出口:`renderGapBand(input)`(产标记,零 DOM)/`gapBandCss()`(样式段)/
|
|
4
|
+
* `GAP_BAND_FORMS`(形态闭集:连续差值带/每日偏差柱)/`GAP_BAND_CLASS` 与 `gapBandSlot()`(标记契约)/
|
|
5
|
+
* `GAP_BAND_PLOT_PX`/`GAP_BAND_NARROW_PLOT_PX`/`GAP_BAND_COLS_PX`/`GAP_BAND_NARROW_COLS_PX`/
|
|
6
|
+
* `GAP_BAND_WIDE_COLS_PX`/`GAP_BAND_NARROW_PX`/`GAP_BAND_AXIS_TICKS`/`GAP_BAND_MAX_TICKS`/
|
|
7
|
+
* `GAP_BAND_DEV_MAX_PCT`/`GAP_BAND_MIN_DAYS`/`GAP_BAND_MAX_DAYS`/`GAP_BAND_SLOTS`/
|
|
8
|
+
* `GAP_BAND_MISSING`(常量面:判据拿它对两档几何与轴域)。
|
|
9
|
+
*
|
|
10
|
+
* 用法与参数表见同目录 `README.md`。消费方走 `base-paint/blocks`(组件层出口),不走根出口。
|
|
11
|
+
*/
|
|
12
|
+
export { renderGapBand } from './render.js';
|
|
13
|
+
export type { GapBandDay, GapBandForm, GapBandInput, GapBandSlot, } from './attrs.js';
|
|
14
|
+
export { GAP_BAND_AXIS_TICKS, GAP_BAND_CLASS, GAP_BAND_DEV_MAX_PCT, GAP_BAND_FORMS, GAP_BAND_MAX_DAYS, GAP_BAND_MAX_TICKS, GAP_BAND_MIN_DAYS, GAP_BAND_MISSING, GAP_BAND_NARROW_PX, GAP_BAND_SLOTS, gapBandSlot, } from './attrs.js';
|
|
15
|
+
export { GAP_BAND_COLS_PX, GAP_BAND_NARROW_COLS_PX, GAP_BAND_NARROW_PLOT_PX, GAP_BAND_PLOT_PX, GAP_BAND_WIDE_COLS_PX, gapBandCss, } from './style.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/gap-band/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,GACX,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** gap-band · **组件出口**(本组件对外的唯一名字面)。
|
|
2
|
+
*
|
|
3
|
+
* 五件出口:`renderGapBand(input)`(产标记,零 DOM)/`gapBandCss()`(样式段)/
|
|
4
|
+
* `GAP_BAND_FORMS`(形态闭集:连续差值带/每日偏差柱)/`GAP_BAND_CLASS` 与 `gapBandSlot()`(标记契约)/
|
|
5
|
+
* `GAP_BAND_PLOT_PX`/`GAP_BAND_NARROW_PLOT_PX`/`GAP_BAND_COLS_PX`/`GAP_BAND_NARROW_COLS_PX`/
|
|
6
|
+
* `GAP_BAND_WIDE_COLS_PX`/`GAP_BAND_NARROW_PX`/`GAP_BAND_AXIS_TICKS`/`GAP_BAND_MAX_TICKS`/
|
|
7
|
+
* `GAP_BAND_DEV_MAX_PCT`/`GAP_BAND_MIN_DAYS`/`GAP_BAND_MAX_DAYS`/`GAP_BAND_SLOTS`/
|
|
8
|
+
* `GAP_BAND_MISSING`(常量面:判据拿它对两档几何与轴域)。
|
|
9
|
+
*
|
|
10
|
+
* 用法与参数表见同目录 `README.md`。消费方走 `base-paint/blocks`(组件层出口),不走根出口。
|
|
11
|
+
*/
|
|
12
|
+
export { renderGapBand } from './render.js';
|
|
13
|
+
export { GAP_BAND_AXIS_TICKS, GAP_BAND_CLASS, GAP_BAND_DEV_MAX_PCT, GAP_BAND_FORMS, GAP_BAND_MAX_DAYS, GAP_BAND_MAX_TICKS, GAP_BAND_MIN_DAYS, GAP_BAND_MISSING, GAP_BAND_NARROW_PX, GAP_BAND_SLOTS, gapBandSlot, } from './attrs.js';
|
|
14
|
+
export { GAP_BAND_COLS_PX, GAP_BAND_NARROW_COLS_PX, GAP_BAND_NARROW_PLOT_PX, GAP_BAND_PLOT_PX, GAP_BAND_WIDE_COLS_PX, gapBandCss, } from './style.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/gap-band/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO5C,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,UAAU,GACX,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type GapBandModel } from './forms.js';
|
|
2
|
+
export type { GapBandAnchorModel, GapBandBandModel, GapBandDevBarModel, GapBandDevModel, GapBandLegendItem, GapBandModel, GapBandTickModel, GapBandXModel, } from './forms.js';
|
|
3
|
+
/** 入参归一化。**唯一入口**:`render.ts` 只吃它产出的 `GapBandModel`,不再自己碰 `any`。 */
|
|
4
|
+
export declare function normalizeGapBand(input: unknown): GapBandModel;
|
|
5
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/components/gap-band/model.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAiD,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG9F,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,aAAa,GACd,MAAM,YAAY,CAAC;AAkFpB,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAuB7D"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/** gap-band · **入参校验与归一化入口**(把 `any` 与说不出的 `unknown` 挡在门外,产出内部类型)。
|
|
2
|
+
*
|
|
3
|
+
* 三条口径:
|
|
4
|
+
* 1. **非法入参一律 `badInput()`**(抛 `BlocksError`)——不静默降级、不"尽量猜":
|
|
5
|
+
* 天数不够、计划/目标缺了或不是数、日子空串,画出来都是"错位",
|
|
6
|
+
* 而调用方以为自己给的是一张完整的图。
|
|
7
|
+
* 2. **校验与算数分家**:本件只做「形状与范围」,算数(轴域、刻度、坐标映射、数字写法)住同目录
|
|
8
|
+
* `scale.ts`,两个骨架的装配住 `forms.ts` —— 一次落两档,三件事挤在一件里会超本包告警线 350。
|
|
9
|
+
* 3. **空白串不是文本**:全空白的 `title`/日子会在屏上留一块空白,**一律拒**
|
|
10
|
+
* (与同层 `optExtraClass` 对空白串的口径一致;可选文本字段同办:空串仍按"未给"处理)。
|
|
11
|
+
*/
|
|
12
|
+
import { assertDenseArray, assertPlainObject, badInput, optExtraClass, optText, reqText } from '../shared/validate.js';
|
|
13
|
+
import { GAP_BAND_FORMS, GAP_BAND_MAX_DAYS, GAP_BAND_MIN_DAYS, } from './attrs.js';
|
|
14
|
+
import { bandModel, deviationModel } from './forms.js';
|
|
15
|
+
/* ── 校验 ─────────────────────────────────────────────────────────── */
|
|
16
|
+
/** 必填文本:非空串**且不是全空白**(全空白的标题会在屏上留一块空白,那是"看得到的错")。 */
|
|
17
|
+
function reqRealText(value, field) {
|
|
18
|
+
const text = reqText(value, field);
|
|
19
|
+
if (text.trim() === '')
|
|
20
|
+
badInput(field + ' 必须是真正的文本(全空白不算)');
|
|
21
|
+
return text;
|
|
22
|
+
}
|
|
23
|
+
/** 可选文本:空串=未给(与全层 `optText` 同口径);**全空白=拒**(那会在屏上留一块空白)。 */
|
|
24
|
+
function optRealText(value, field) {
|
|
25
|
+
const text = optText(value, field);
|
|
26
|
+
if (text !== undefined && text.trim() === '')
|
|
27
|
+
badInput(field + ' 必须是真正的文本(全空白不算)');
|
|
28
|
+
return text;
|
|
29
|
+
}
|
|
30
|
+
/** 可加性的量级上界(`Number.MAX_VALUE ÷ 2`)。**判据是「相加会不会溢出」,不是「好不好读」**:
|
|
31
|
+
* `|a| + |b| > Number.MAX_VALUE` 那一刻就是双精度的 `Infinity`——柱高/刻度位置会写出 `1e+308`/`NaN`。
|
|
32
|
+
* 故 `1e21`/`1e-7`(十进制写法与指数写法的分界那一档)**照旧合法**。 */
|
|
33
|
+
const GAP_BAND_MAGNITUDE_MAX = Number.MAX_VALUE / 2;
|
|
34
|
+
/** 一个读数:有限数(`NaN`/`Infinity`/数字串一律拒)**且在可加性上界之内**(上界住 `GAP_BAND_MAGNITUDE_MAX`)。
|
|
35
|
+
*
|
|
36
|
+
* 量级这一档是本件自己的读数闸,与「轴域非有限即拒」那条(住 `scale.ts`,管的是**跨度**)**不是一档**:
|
|
37
|
+
* 那一档管的是「一头 `−1e308`、另一头 `1e308`」这种跨度溢出;这一档管的是**单笔读数本身**——
|
|
38
|
+
* `1e308` 是有限数,可它与任何同量级的读数相加就成 `Infinity`,柱高/刻度位置会写出 `1e+308` 那种
|
|
39
|
+
* 读不出来的数。 */
|
|
40
|
+
function reqNumber(value, field) {
|
|
41
|
+
if (typeof value !== 'number' || !Number.isFinite(value)) {
|
|
42
|
+
badInput(field + ' 必须是有限数(`NaN`/`Infinity` 这类"写不成数的东西"一律拒)');
|
|
43
|
+
}
|
|
44
|
+
if (Math.abs(value) > GAP_BAND_MAGNITUDE_MAX) {
|
|
45
|
+
badInput(field + ' 的量级太大:两笔同量级的读数相加就溢出成 `Infinity`'
|
|
46
|
+
+ '(图上会写出 `1e+308` 这类读不出来的数;读数至多到 `Number.MAX_VALUE ÷ 2` 那一档)');
|
|
47
|
+
}
|
|
48
|
+
return value;
|
|
49
|
+
}
|
|
50
|
+
/** 只许入参表里写着的键:多给一个键(多半是打错名)=拒,不静默吞掉(先例:`relation-picker`/
|
|
51
|
+
* `kanban-columns` 的同名小件)。**两条都会被查到**(只走 `Object.keys` 会漏一半):
|
|
52
|
+
* · `Object.getOwnPropertyNames` —— 自有的**全部**键,含**不可枚举**的;
|
|
53
|
+
* · `for…in` —— 走**整条原型链**(`Object.create({ zzUnknown: 1 })` 那种继承来的键就是这一路)。 */
|
|
54
|
+
function assertKeys(raw, allowed, field) {
|
|
55
|
+
const bad = [];
|
|
56
|
+
const note = (key) => {
|
|
57
|
+
if (!allowed.includes(key) && !bad.includes(key))
|
|
58
|
+
bad.push(key);
|
|
59
|
+
};
|
|
60
|
+
for (const key of Object.getOwnPropertyNames(raw))
|
|
61
|
+
note(key);
|
|
62
|
+
for (const key in raw)
|
|
63
|
+
note(key);
|
|
64
|
+
if (bad.length > 0) {
|
|
65
|
+
badInput(field + ' 里没有 `' + bad.join('`/`') + '` 这个键(入参表以外的键一律拒:写错的键静默吞掉会让'
|
|
66
|
+
+ '调用方以为自己设上了;继承来的与不可枚举的键同样算)');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/** 顶层入参表的键(照 `attrs.ts` 的 `GapBandInput` 列全——可选键也在表里,别把合法入参误拒)。 */
|
|
70
|
+
const INPUT_KEYS = ['title', 'form', 'plan', 'target', 'days', 'unit', 'stamp', 'note', 'extraClass'];
|
|
71
|
+
/** 逐日读数的键(照 `attrs.ts` 的 `GapBandDay`)。 */
|
|
72
|
+
const DAY_KEYS = ['label', 'value'];
|
|
73
|
+
/** 逐日读数:3–12 天,日子非空,读数是有限数(B 档的偏差是拿它减目标算出来的,这里只收绝对读数)。 */
|
|
74
|
+
function reqDays(value) {
|
|
75
|
+
if (!Array.isArray(value) || value.length < GAP_BAND_MIN_DAYS) {
|
|
76
|
+
badInput('gap-band: input.days 至少 ' + String(GAP_BAND_MIN_DAYS)
|
|
77
|
+
+ ' 条(一两天谈不上随时间的差)');
|
|
78
|
+
}
|
|
79
|
+
if (value.length > GAP_BAND_MAX_DAYS) {
|
|
80
|
+
badInput('gap-band: input.days 最多 ' + String(GAP_BAND_MAX_DAYS)
|
|
81
|
+
+ ' 条(再多窄容器里一列站不住,请调用方先按周聚合)');
|
|
82
|
+
}
|
|
83
|
+
assertDenseArray(value, 'gap-band: input.days');
|
|
84
|
+
return value.map((item, i) => {
|
|
85
|
+
const at = 'gap-band: input.days[' + String(i) + ']';
|
|
86
|
+
assertPlainObject(item, at);
|
|
87
|
+
const d = item;
|
|
88
|
+
assertKeys(d, DAY_KEYS, at);
|
|
89
|
+
return { label: reqRealText(d.label, at + '.label'), value: reqNumber(d.value, at + '.value') };
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
/** 入参归一化。**唯一入口**:`render.ts` 只吃它产出的 `GapBandModel`,不再自己碰 `any`。 */
|
|
93
|
+
export function normalizeGapBand(input) {
|
|
94
|
+
assertPlainObject(input, 'renderGapBand: input');
|
|
95
|
+
const raw = input;
|
|
96
|
+
assertKeys(raw, INPUT_KEYS, 'gap-band: input');
|
|
97
|
+
const form = raw.form === undefined ? GAP_BAND_FORMS[0] : raw.form;
|
|
98
|
+
if (!GAP_BAND_FORMS.includes(form)) {
|
|
99
|
+
badInput('gap-band: input.form 必须是 ' + GAP_BAND_FORMS.join('/')
|
|
100
|
+
+ ' 之一(连续差值带/每日偏差柱)');
|
|
101
|
+
}
|
|
102
|
+
const common = {
|
|
103
|
+
title: reqRealText(raw.title, 'gap-band: input.title'),
|
|
104
|
+
unit: optRealText(raw.unit, 'gap-band: input.unit'),
|
|
105
|
+
stamp: optRealText(raw.stamp, 'gap-band: input.stamp'),
|
|
106
|
+
noteIn: optRealText(raw.note, 'gap-band: input.note'),
|
|
107
|
+
extraClass: optExtraClass(raw.extraClass, 'gap-band: input.extraClass'),
|
|
108
|
+
};
|
|
109
|
+
const days = reqDays(raw.days);
|
|
110
|
+
/* 形态决定读哪个标量:**缺了就是缺了**(不拿另一个形态的字段顶上,那是静默降级)。 */
|
|
111
|
+
if (form === 'deviation') {
|
|
112
|
+
return deviationModel(common, reqNumber(raw.target, 'gap-band: input.target'), days);
|
|
113
|
+
}
|
|
114
|
+
return bandModel(common, reqNumber(raw.plan, 'gap-band: input.plan'), days);
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/components/gap-band/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/components/gap-band/render.ts"],"names":[],"mappings":"AAoJA,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKpD"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/** gap-band · **渲染**(纯函数产 HTML;两档各一支骨架:连续差值带/每日偏差柱)。
|
|
2
|
+
*
|
|
3
|
+
* —— 两档 ——
|
|
4
|
+
* · `band` 整块一张 SVG:带子是实际折线去、计划线回的那块面积(两端连成一片,
|
|
5
|
+
* 不按天切);实际线是 2px 真折线,计划线是穿通整块的 2px 虚线 + 右端那枚标注;
|
|
6
|
+
* 最深与最高两处各挂一枚图内锚点,底部一行是净差;
|
|
7
|
+
* · `deviation` 零位线就是目标,一天的柱朝上=超了、朝下=还差,柱上数字一律带符号,
|
|
8
|
+
* 底部一行是累计净差。
|
|
9
|
+
* 它替掉的两种错法:
|
|
10
|
+
* · 把两根线画在一起、要靠眼睛量间距 —— 带子朝哪边、ata多宽就是谁多、差多少;
|
|
11
|
+
* · 只报一个总达成率 —— 说不出哪几天超了。
|
|
12
|
+
*
|
|
13
|
+
* 四条硬口径(判据断的就是它们):
|
|
14
|
+
* · **算数不在这里**:轴域、刻度文字、计划线位置、SVG 坐标串、锚点位置、柱高百分比、
|
|
15
|
+
* 卡头那句、口径句与无障碍名都在 `forms.ts` 算好;这一支只把**算出来的数**写进行内样式
|
|
16
|
+
* (一条记录一个数),静态规则一律住 `style.ts`;
|
|
17
|
+
* · **刻度与轴域是同一份真值**:计划线的 `top`、折线每个顶点的纵坐标、带子多边形
|
|
18
|
+
* 出自同一个 `topPct()` —— 读者按刻度读线,读到的是线真正的数;
|
|
19
|
+
* · **色不是唯一信息**:实际线是实线、计划线是虚线 + 右端写着计划值(线型 + 标注);
|
|
20
|
+
* 偏差柱朝上还是朝下(方向)+ 柱上数字的正负号(字)+ 图例给字 —— 三样同时在;
|
|
21
|
+
* · **本件不带可点元素、不带脚本**:没有 `runtime.ts`;调用方把某一天包成入口时,
|
|
22
|
+
* 件里那条 `:focus-visible` 地板保证焦点看得见(见 `README.md`)。
|
|
23
|
+
*/
|
|
24
|
+
import { esc } from '../shared/escape.js';
|
|
25
|
+
import { GAP_BAND_CLASS, gapBandSlot } from './attrs.js';
|
|
26
|
+
import { normalizeGapBand, } from './model.js';
|
|
27
|
+
/** 卡头:标题 + 口径那枚 + 计划/朝向那句。 */
|
|
28
|
+
function headHtml(m) {
|
|
29
|
+
const parts = ['<div class="' + gapBandSlot('hd') + '">'];
|
|
30
|
+
parts.push('<h4 class="' + gapBandSlot('title') + '">' + esc(m.title) + '</h4>');
|
|
31
|
+
if (m.stamp !== undefined) {
|
|
32
|
+
parts.push('<span class="' + gapBandSlot('stamp') + '">' + esc(m.stamp) + '</span>');
|
|
33
|
+
}
|
|
34
|
+
parts.push('<span class="' + gapBandSlot('tail') + '">' + esc(m.tail) + '</span>');
|
|
35
|
+
parts.push('</div>');
|
|
36
|
+
return parts.join('');
|
|
37
|
+
}
|
|
38
|
+
/** 图例:每一项是「形 + 字」——形由 `is-*` 给,字说清线型与方向(形不是唯一信息)。 */
|
|
39
|
+
function legendHtml(legend) {
|
|
40
|
+
return '<ul class="' + gapBandSlot('legend') + '">'
|
|
41
|
+
+ legend.map((one) => '<li class="' + gapBandSlot('legend-item') + '">'
|
|
42
|
+
+ '<i class="' + gapBandSlot('legend-mark') + ' is-' + one.kind + '" aria-hidden="true"></i>'
|
|
43
|
+
+ esc(one.text) + '</li>').join('')
|
|
44
|
+
+ '</ul>';
|
|
45
|
+
}
|
|
46
|
+
/** 净差行:主值一档大字、说明一档灰字(原型定稿版底部那一行)。 */
|
|
47
|
+
function sumHtml(m) {
|
|
48
|
+
return '<div class="' + gapBandSlot('sum') + '">'
|
|
49
|
+
+ '<b class="' + gapBandSlot('sumvalue') + '">' + esc(m.sumText) + '</b>'
|
|
50
|
+
+ '<span class="' + gapBandSlot('sumdesc') + '">' + esc(m.sumDesc) + '</span>'
|
|
51
|
+
+ '</div>';
|
|
52
|
+
}
|
|
53
|
+
/** 脚注一句人话(不给就用本形态的口径句)。 */
|
|
54
|
+
function noteHtml(m) {
|
|
55
|
+
return '<p class="' + gapBandSlot('note') + '">' + esc(m.note) + '</p>';
|
|
56
|
+
}
|
|
57
|
+
/** 形态 `band`:坐标框(纵轴刻度列 ‖ 差值图区)+ 横轴日子行 → 净差 → 图例 → 脚注。 */
|
|
58
|
+
function renderBand(m) {
|
|
59
|
+
const parts = [headHtml(m)];
|
|
60
|
+
parts.push('<div class="' + gapBandSlot('plotbox') + '">');
|
|
61
|
+
/* 纵轴刻度列:枚数与文字由同一份轴域出;**每枚绝对定位在它自己那个值的位置上**
|
|
62
|
+
(`bottom` 是算出来的百分比,与计划线、折线顶点、带子多边形同一支映射)。
|
|
63
|
+
末一枚隐形撑子:各枚绝对定位后列里没有在流内容,列宽会塌成 0(刻度被 0 宽压扁、悬到框外),
|
|
64
|
+
它与刻度同字逐行一份,只撑列宽(`visibility: hidden`,见 `style.ts`)。 */
|
|
65
|
+
parts.push('<div class="' + gapBandSlot('yticks') + '" aria-hidden="true">'
|
|
66
|
+
+ m.ticks.map((t) => '<span class="' + gapBandSlot('ytick') + '" style="bottom: '
|
|
67
|
+
+ String(t.bottomPct) + '%">' + esc(t.text) + '</span>').join('')
|
|
68
|
+
+ '<span class="' + gapBandSlot('yticks-sizer') + '">'
|
|
69
|
+
+ m.ticks.map((t) => esc(t.text)).join('<br>') + '</span>'
|
|
70
|
+
+ '</div>');
|
|
71
|
+
/* 差值图区:一张 SVG(面积 + 折线,不按天切)+ 穿通整块的计划线 + 两枚图内锚点。 */
|
|
72
|
+
parts.push('<div class="' + gapBandSlot('plot') + '" role="img" aria-label="' + esc(m.ariaLabel) + '">');
|
|
73
|
+
parts.push('<svg viewBox="0 0 100 100" preserveAspectRatio="none" aria-hidden="true" focusable="false">'
|
|
74
|
+
+ '<polygon class="' + gapBandSlot('band') + '" points="' + m.bandPoints + '"></polygon>'
|
|
75
|
+
+ '<polyline class="' + gapBandSlot('line') + '" points="' + m.linePoints + '"></polyline>'
|
|
76
|
+
+ '</svg>');
|
|
77
|
+
parts.push('<span class="' + gapBandSlot('plan') + '" aria-hidden="true" style="top: '
|
|
78
|
+
+ String(m.planTopPct) + '%"><b class="' + gapBandSlot('planlabel') + '">' + esc(m.planText)
|
|
79
|
+
+ '</b></span>');
|
|
80
|
+
for (const a of m.anchors) {
|
|
81
|
+
/* 横坐标走 `--ax`(样式里按**列心**收边);纵向按锚点**朝哪边长**给不同的那一支:
|
|
82
|
+
高处那枚从点的位置往下长,给 `--at`(样式里落成 `top`);低处两枚往上长,直接给 `bottom`。
|
|
83
|
+
两支的盒子都由样式的 `max-height` 与 `overflow` 收在图区内(见 `style.ts` 的锚点那一段)。 */
|
|
84
|
+
const pos = a.kind === 'hi'
|
|
85
|
+
? '--ax: ' + String(a.leftPct) + '%; --at: ' + String(a.topPct) + '%'
|
|
86
|
+
: '--ax: ' + String(a.leftPct) + '%; bottom: ' + String(a.bottomPct) + '%';
|
|
87
|
+
parts.push('<span class="' + gapBandSlot('anchor') + ' is-' + a.kind + '" aria-hidden="true" style="'
|
|
88
|
+
+ pos + '"><b>' + esc(a.day) + '</b><em>' + esc(a.diff) + '</em></span>');
|
|
89
|
+
}
|
|
90
|
+
parts.push('</div>');
|
|
91
|
+
/* 横轴日子行:与差值图区同一份等分(`flex: 1 1 0` + 零间距)⇒ 每枚日子对着折线上它那个点。 */
|
|
92
|
+
parts.push('<div class="' + gapBandSlot('xax') + '" aria-hidden="true">'
|
|
93
|
+
+ m.xLabels.map((t) => '<span class="' + gapBandSlot('xlabel') + '"><b class="'
|
|
94
|
+
+ gapBandSlot('xday') + '">' + esc(t.day) + '</b><em class="'
|
|
95
|
+
+ gapBandSlot('xvalue') + '">' + esc(t.valueText) + '</em></span>').join('')
|
|
96
|
+
+ '</div>');
|
|
97
|
+
parts.push('</div>');
|
|
98
|
+
parts.push(sumHtml(m));
|
|
99
|
+
parts.push(legendHtml(m.legend));
|
|
100
|
+
parts.push(noteHtml(m));
|
|
101
|
+
return parts.join('');
|
|
102
|
+
}
|
|
103
|
+
/** 形态 `deviation`:偏差柱区(零位线横贯)+ 横轴日子行 → 净差 → 图例 → 脚注。 */
|
|
104
|
+
function renderDeviation(m) {
|
|
105
|
+
const parts = [headHtml(m)];
|
|
106
|
+
parts.push('<div class="' + gapBandSlot('cols') + '" role="img" aria-label="' + esc(m.ariaLabel) + '">');
|
|
107
|
+
for (const bar of m.bars) {
|
|
108
|
+
/* 柱从零位线起画:朝上=`bottom: 50%`,朝下=`top: 50%`;柱上那个数贴着柱顶(底)长。 */
|
|
109
|
+
const geom = bar.up
|
|
110
|
+
? 'bottom: 50%; height: ' + String(bar.heightPct) + '%'
|
|
111
|
+
: 'top: 50%; height: ' + String(bar.heightPct) + '%';
|
|
112
|
+
parts.push('<span class="' + gapBandSlot('col') + '" title="' + esc(bar.title) + '">');
|
|
113
|
+
parts.push('<i class="' + gapBandSlot('bar') + (bar.up ? ' is-up' : ' is-down')
|
|
114
|
+
+ '" aria-hidden="true" style="' + geom + '"><b class="' + gapBandSlot('barvalue') + '">'
|
|
115
|
+
+ esc(bar.devText) + '</b></i>');
|
|
116
|
+
parts.push('</span>');
|
|
117
|
+
}
|
|
118
|
+
/* 零位线画在列**之后**:它是绝对定位的 `<i>`、不占 flex 轨道,而列是 `<span>` —— 于是
|
|
119
|
+
`.col:first-of-type`/`:last-of-type` 数到的就是第 1 列与末列(贴边规则那条选择器)。 */
|
|
120
|
+
parts.push('<i class="' + gapBandSlot('zero') + '" aria-hidden="true"></i>');
|
|
121
|
+
parts.push('</div>');
|
|
122
|
+
parts.push('<div class="' + gapBandSlot('xax') + '" aria-hidden="true">'
|
|
123
|
+
+ m.bars.map((bar) => '<span class="' + gapBandSlot('xlabel') + '">' + esc(bar.label) + '</span>').join('')
|
|
124
|
+
+ '</div>');
|
|
125
|
+
parts.push(sumHtml(m));
|
|
126
|
+
parts.push(legendHtml(m.legend));
|
|
127
|
+
parts.push(noteHtml(m));
|
|
128
|
+
return parts.join('');
|
|
129
|
+
}
|
|
130
|
+
/** 形态 → 骨架(分派写在这里,加第三形态就是加一支)。 */
|
|
131
|
+
const SKELETONS = {
|
|
132
|
+
band: (m) => renderBand(m),
|
|
133
|
+
deviation: (m) => renderDeviation(m),
|
|
134
|
+
};
|
|
135
|
+
/** 渲染差值带(纯函数:同样的入参恒产同样的字节;转义只经 `shared/escape.ts`)。 */
|
|
136
|
+
export function renderGapBand(input) {
|
|
137
|
+
const m = normalizeGapBand(input);
|
|
138
|
+
const extra = m.extraClass === undefined ? '' : ' ' + m.extraClass;
|
|
139
|
+
return '<div class="' + GAP_BAND_CLASS + ' is-' + m.form + extra + '">'
|
|
140
|
+
+ SKELETONS[m.form](m) + '</div>';
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/components/gap-band/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/** 两位小数(所有出出去的百分比都过它:行内样式里不许出现 0.30000000000000004)。 */
|
|
2
|
+
export declare const round2: (v: number) => number;
|
|
3
|
+
/** 读数里的数字(锚点/净差/无障碍名用:最多两位小数,末尾的零去掉)。
|
|
4
|
+
* **非有限值不写成数**(`In,fin,ity` 那种是三位分组啃了 `Infinity` 造出来的假数):
|
|
5
|
+
* 回 `NaN`/`Infinity` 原样 —— 一眼是假,好过一个编出来的数。 */
|
|
6
|
+
export declare function plainText(v: number): string;
|
|
7
|
+
/** 带符号的读数(净差与柱上那个数用:正数补 ASCII `+`,负数用 `−`,零不带号)。
|
|
8
|
+
* ASCII `+` 与 `−` 都不在分隔符门的并列分隔符集里(那一集只认全角 `+`),故不触发 R3。 */
|
|
9
|
+
export declare function signedText(v: number): string;
|
|
10
|
+
/** 单位那一段(进了可见文本,故与读数同一处拼):**没有单位就什么都不加**。 */
|
|
11
|
+
export declare const unitPart: (unit: string | undefined) => string;
|
|
12
|
+
/** 轴域:好看的上下界 + 间隔 + 间隔的小数位 + 刻度枚数。 */
|
|
13
|
+
export interface Axis {
|
|
14
|
+
readonly lo: number;
|
|
15
|
+
readonly hi: number;
|
|
16
|
+
readonly step: number;
|
|
17
|
+
readonly decimals: number;
|
|
18
|
+
/** 刻度枚数:**由 `lo`/`hi`/`step` 反算出来**,不是一个独立的输入。 */
|
|
19
|
+
readonly ticks: number;
|
|
20
|
+
}
|
|
21
|
+
/** 把数据区间撑成一段好看的轴域。
|
|
22
|
+
*
|
|
23
|
+
* **轴顶=`ceil(最大值/步长)×步长`、轴底=`floor(最小值/步长)×步长`,枚数由这两头反算**
|
|
24
|
+
* —— 刻度文字、计划线位置与折线坐标**都从这一个 `Axis` 出**,三者不可能走散。
|
|
25
|
+
*
|
|
26
|
+
* 两个边界:
|
|
27
|
+
* · **全部读数同一个值**(`min === max`):撑开半档出来(不然除零;也不许静默画成一条贴轴的线);
|
|
28
|
+
* · 步长小数位有限(至多 6 位):撑开后若两头量化成同一个数,把上界抬一个步长。
|
|
29
|
+
*
|
|
30
|
+
* **轴域这步挡住跨度溢出**:`hi − lo` 溢出成 `Infinity` 时(一天 `−1e308`、另一天 `1e308`)
|
|
31
|
+
* 步长会退回 1、枚数跟着变成 `Infinity`,调用方那个 `for (i = 0; i < ticks; i++)` 就永不到头
|
|
32
|
+
* —— 旧实现实测把宿主进程打到 `Reached heap limit … out of memory`(exit 134)。
|
|
33
|
+
* 先例 `spread-dist/scale.ts` 同此口径:**算不出来一律 `badInput()`,不静默降级**;
|
|
34
|
+
* 枚数再夹一道常量上限,迭代次数恒由常量定。 */
|
|
35
|
+
export declare function niceAxis(min: number, max: number, target?: number): Axis;
|
|
36
|
+
/** 一段轴域上的刻度值(从下往上:第 0 枚=轴底;枚数恒 ≤ 常量上限,进循环前已夹过)。 */
|
|
37
|
+
export declare function tickValues(axis: Axis): number[];
|
|
38
|
+
/** 刻度文字(**从大往小**:纵轴口径);只有最高那一枚带单位。 */
|
|
39
|
+
export declare function tickTexts(axis: Axis, unit: string | undefined): string[];
|
|
40
|
+
/** 数据 → 从下往上的百分比(0…100)。差值图区里纵向位置的唯一算法口径。 */
|
|
41
|
+
export declare function upPct(value: number, axis: Axis): number;
|
|
42
|
+
/** 数据 → 从上往下的百分比(0…100):行内 `top`/SVG 纵坐标/锚点位置都走它。
|
|
43
|
+
* =100 − `upPct()` —— 同一份真值的另一面,不是第二套算法。 */
|
|
44
|
+
export declare function topPct(value: number, axis: Axis): number;
|
|
45
|
+
//# sourceMappingURL=scale.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../../src/components/gap-band/scale.ts"],"names":[],"mappings":"AAyBA,wDAAwD;AACxD,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,KAAG,MAA8B,CAAC;AA4BlE;;+CAE+C;AAC/C,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAM3C;AAED;4DAC4D;AAC5D,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK5C;AAED,6CAA6C;AAC7C,eAAO,MAAM,QAAQ,GAAI,MAAM,MAAM,GAAG,SAAS,KAAG,MAAgD,CAAC;AAIrG,sCAAsC;AACtC,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAmBD;;;;;;;;;;;;;4BAa4B;AAC5B,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAA4B,GAAG,IAAI,CAuB7F;AAED,mDAAmD;AACnD,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAK/C;AAED,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAGxE;AAID,6CAA6C;AAC7C,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAIvD;AAED;6CAC6C;AAC7C,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAExD"}
|