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.
Files changed (841) hide show
  1. package/README.md +23 -6
  2. package/dist/charts.js +1 -0
  3. package/dist/components/bulk-bar/attrs.js +1 -0
  4. package/dist/components/bulk-bar/index.js +1 -0
  5. package/dist/components/bulk-bar/keys.d.ts +23 -0
  6. package/dist/components/bulk-bar/keys.d.ts.map +1 -0
  7. package/dist/components/bulk-bar/keys.js +55 -0
  8. package/dist/components/bulk-bar/keys.js.map +1 -0
  9. package/dist/components/bulk-bar/model.d.ts.map +1 -1
  10. package/dist/components/bulk-bar/model.js +10 -0
  11. package/dist/components/bulk-bar/model.js.map +1 -1
  12. package/dist/components/bulk-bar/render.js +1 -0
  13. package/dist/components/bulk-bar/runtime.js +1 -0
  14. package/dist/components/bulk-bar/style-column.js +1 -0
  15. package/dist/components/bulk-bar/style-confirm.js +1 -0
  16. package/dist/components/bulk-bar/style-sizes.js +1 -0
  17. package/dist/components/bulk-bar/style.js +1 -0
  18. package/dist/components/calendar-month/attrs.js +1 -0
  19. package/dist/components/calendar-month/index.js +1 -0
  20. package/dist/components/calendar-month/model.js +1 -0
  21. package/dist/components/calendar-month/render.js +1 -0
  22. package/dist/components/calendar-month/style.js +1 -0
  23. package/dist/components/cash-waterline/attrs.js +1 -0
  24. package/dist/components/cash-waterline/fields.d.ts +17 -0
  25. package/dist/components/cash-waterline/fields.d.ts.map +1 -1
  26. package/dist/components/cash-waterline/fields.js +41 -0
  27. package/dist/components/cash-waterline/fields.js.map +1 -1
  28. package/dist/components/cash-waterline/index.js +1 -0
  29. package/dist/components/cash-waterline/model.d.ts.map +1 -1
  30. package/dist/components/cash-waterline/model.js +3 -1
  31. package/dist/components/cash-waterline/model.js.map +1 -1
  32. package/dist/components/cash-waterline/render.js +1 -0
  33. package/dist/components/cash-waterline/style-forms.js +1 -0
  34. package/dist/components/cash-waterline/style.js +1 -0
  35. package/dist/components/charts/bar.js +1 -0
  36. package/dist/components/charts/combo.js +1 -0
  37. package/dist/components/charts/coords.js +1 -0
  38. package/dist/components/charts/dispatch.js +1 -0
  39. package/dist/components/charts/donut.js +1 -0
  40. package/dist/components/charts/gauge.js +1 -0
  41. package/dist/components/charts/helpers.js +1 -0
  42. package/dist/components/charts/index.js +1 -0
  43. package/dist/components/charts/line.js +1 -0
  44. package/dist/components/charts/options.js +1 -0
  45. package/dist/components/charts/progress.js +1 -0
  46. package/dist/components/charts/scatter.js +1 -0
  47. package/dist/components/charts/shared.js +1 -0
  48. package/dist/components/charts/sparkline.js +1 -0
  49. package/dist/components/charts/style.d.ts.map +1 -1
  50. package/dist/components/charts/style.js +5 -1
  51. package/dist/components/charts/style.js.map +1 -1
  52. package/dist/components/charts/svg.js +1 -0
  53. package/dist/components/command-palette/attrs.js +1 -0
  54. package/dist/components/command-palette/index.js +1 -0
  55. package/dist/components/command-palette/model.js +1 -0
  56. package/dist/components/command-palette/render.js +1 -0
  57. package/dist/components/command-palette/runtime.js +1 -0
  58. package/dist/components/command-palette/style.js +1 -0
  59. package/dist/components/compare-columns/attrs.js +1 -0
  60. package/dist/components/compare-columns/index.js +1 -0
  61. package/dist/components/compare-columns/model.js +1 -0
  62. package/dist/components/compare-columns/render.js +1 -0
  63. package/dist/components/compare-columns/style.js +1 -0
  64. package/dist/components/confirm-strip/attrs.js +1 -0
  65. package/dist/components/confirm-strip/index.js +1 -0
  66. package/dist/components/confirm-strip/model.js +1 -0
  67. package/dist/components/confirm-strip/render.js +1 -0
  68. package/dist/components/confirm-strip/runtime.js +1 -0
  69. package/dist/components/confirm-strip/style.js +1 -0
  70. package/dist/components/controls/action-bar.js +1 -0
  71. package/dist/components/controls/bind.js +1 -0
  72. package/dist/components/controls/copy.js +1 -0
  73. package/dist/components/controls/helpers-meta.js +1 -0
  74. package/dist/components/controls/helpers.js +1 -0
  75. package/dist/components/controls/index.js +1 -0
  76. package/dist/components/controls/shared.js +1 -0
  77. package/dist/components/controls/status.js +1 -0
  78. package/dist/components/controls/toast.js +1 -0
  79. package/dist/components/date-range/attrs.d.ts +11 -2
  80. package/dist/components/date-range/attrs.d.ts.map +1 -1
  81. package/dist/components/date-range/attrs.js +12 -2
  82. package/dist/components/date-range/attrs.js.map +1 -1
  83. package/dist/components/date-range/index.js +1 -0
  84. package/dist/components/date-range/model.js +1 -0
  85. package/dist/components/date-range/render.js +1 -0
  86. package/dist/components/date-range/runtime.js +1 -0
  87. package/dist/components/date-range/style-calendar.d.ts.map +1 -1
  88. package/dist/components/date-range/style-calendar.js +24 -6
  89. package/dist/components/date-range/style-calendar.js.map +1 -1
  90. package/dist/components/date-range/style.d.ts.map +1 -1
  91. package/dist/components/date-range/style.js +8 -5
  92. package/dist/components/date-range/style.js.map +1 -1
  93. package/dist/components/dialog/attrs.js +1 -0
  94. package/dist/components/dialog/index.js +1 -0
  95. package/dist/components/dialog/model.js +1 -0
  96. package/dist/components/dialog/render.js +1 -0
  97. package/dist/components/dialog/runtime.js +1 -0
  98. package/dist/components/dialog/style.js +1 -0
  99. package/dist/components/drag-sort/attrs.d.ts +182 -0
  100. package/dist/components/drag-sort/attrs.d.ts.map +1 -0
  101. package/dist/components/drag-sort/attrs.js +204 -0
  102. package/dist/components/drag-sort/attrs.js.map +1 -0
  103. package/dist/components/drag-sort/index.d.ts +22 -0
  104. package/dist/components/drag-sort/index.d.ts.map +1 -0
  105. package/dist/components/drag-sort/index.js +21 -0
  106. package/dist/components/drag-sort/index.js.map +1 -0
  107. package/dist/components/drag-sort/model.d.ts +46 -0
  108. package/dist/components/drag-sort/model.d.ts.map +1 -0
  109. package/dist/components/drag-sort/model.js +200 -0
  110. package/dist/components/drag-sort/model.js.map +1 -0
  111. package/dist/components/drag-sort/render.d.ts +3 -0
  112. package/dist/components/drag-sort/render.d.ts.map +1 -0
  113. package/dist/components/drag-sort/render.js +182 -0
  114. package/dist/components/drag-sort/render.js.map +1 -0
  115. package/dist/components/drag-sort/runtime-buttons.d.ts +27 -0
  116. package/dist/components/drag-sort/runtime-buttons.d.ts.map +1 -0
  117. package/dist/components/drag-sort/runtime-buttons.js +139 -0
  118. package/dist/components/drag-sort/runtime-buttons.js.map +1 -0
  119. package/dist/components/drag-sort/runtime-lift.d.ts +16 -0
  120. package/dist/components/drag-sort/runtime-lift.d.ts.map +1 -0
  121. package/dist/components/drag-sort/runtime-lift.js +74 -0
  122. package/dist/components/drag-sort/runtime-lift.js.map +1 -0
  123. package/dist/components/drag-sort/runtime-prelude.d.ts +18 -0
  124. package/dist/components/drag-sort/runtime-prelude.d.ts.map +1 -0
  125. package/dist/components/drag-sort/runtime-prelude.js +168 -0
  126. package/dist/components/drag-sort/runtime-prelude.js.map +1 -0
  127. package/dist/components/drag-sort/runtime-text.d.ts +58 -0
  128. package/dist/components/drag-sort/runtime-text.d.ts.map +1 -0
  129. package/dist/components/drag-sort/runtime-text.js +81 -0
  130. package/dist/components/drag-sort/runtime-text.js.map +1 -0
  131. package/dist/components/drag-sort/runtime.d.ts +9 -0
  132. package/dist/components/drag-sort/runtime.d.ts.map +1 -0
  133. package/dist/components/drag-sort/runtime.js +181 -0
  134. package/dist/components/drag-sort/runtime.js.map +1 -0
  135. package/dist/components/drag-sort/style-forms.d.ts +5 -0
  136. package/dist/components/drag-sort/style-forms.d.ts.map +1 -0
  137. package/dist/components/drag-sort/style-forms.js +135 -0
  138. package/dist/components/drag-sort/style-forms.js.map +1 -0
  139. package/dist/components/drag-sort/style.d.ts +5 -0
  140. package/dist/components/drag-sort/style.d.ts.map +1 -0
  141. package/dist/components/drag-sort/style.js +304 -0
  142. package/dist/components/drag-sort/style.js.map +1 -0
  143. package/dist/components/drawer-sheet/attrs.js +1 -0
  144. package/dist/components/drawer-sheet/index.js +1 -0
  145. package/dist/components/drawer-sheet/model.js +1 -0
  146. package/dist/components/drawer-sheet/render.js +1 -0
  147. package/dist/components/drawer-sheet/runtime.js +1 -0
  148. package/dist/components/drawer-sheet/style.js +1 -0
  149. package/dist/components/due-row/attrs.js +1 -0
  150. package/dist/components/due-row/index.js +1 -0
  151. package/dist/components/due-row/model.js +1 -0
  152. package/dist/components/due-row/render.js +1 -0
  153. package/dist/components/due-row/runtime.js +1 -0
  154. package/dist/components/due-row/style.js +1 -0
  155. package/dist/components/editable-value/attrs.d.ts +2 -2
  156. package/dist/components/editable-value/attrs.d.ts.map +1 -1
  157. package/dist/components/editable-value/attrs.js +3 -2
  158. package/dist/components/editable-value/attrs.js.map +1 -1
  159. package/dist/components/editable-value/index.js +1 -0
  160. package/dist/components/editable-value/render.d.ts.map +1 -1
  161. package/dist/components/editable-value/render.js +40 -0
  162. package/dist/components/editable-value/render.js.map +1 -1
  163. package/dist/components/editable-value/runtime.d.ts.map +1 -1
  164. package/dist/components/editable-value/runtime.js +15 -5
  165. package/dist/components/editable-value/runtime.js.map +1 -1
  166. package/dist/components/editable-value/style.js +1 -0
  167. package/dist/components/entry-rows/index.js +1 -0
  168. package/dist/components/entry-rows/render.js +1 -0
  169. package/dist/components/entry-rows/style.js +1 -0
  170. package/dist/components/filter-chips/attrs.js +1 -0
  171. package/dist/components/filter-chips/index.js +1 -0
  172. package/dist/components/filter-chips/model.js +1 -0
  173. package/dist/components/filter-chips/render.js +1 -0
  174. package/dist/components/filter-chips/runtime.js +1 -0
  175. package/dist/components/filter-chips/style.js +1 -0
  176. package/dist/components/flow-ribbon/fields.d.ts +8 -1
  177. package/dist/components/flow-ribbon/fields.d.ts.map +1 -1
  178. package/dist/components/flow-ribbon/fields.js +39 -3
  179. package/dist/components/flow-ribbon/fields.js.map +1 -1
  180. package/dist/components/flow-ribbon/forms-rails.d.ts +26 -0
  181. package/dist/components/flow-ribbon/forms-rails.d.ts.map +1 -0
  182. package/dist/components/flow-ribbon/forms-rails.js +63 -0
  183. package/dist/components/flow-ribbon/forms-rails.js.map +1 -0
  184. package/dist/components/flow-ribbon/forms.d.ts +6 -25
  185. package/dist/components/flow-ribbon/forms.d.ts.map +1 -1
  186. package/dist/components/flow-ribbon/forms.js +11 -49
  187. package/dist/components/flow-ribbon/forms.js.map +1 -1
  188. package/dist/components/flow-ribbon/model.d.ts.map +1 -1
  189. package/dist/components/flow-ribbon/model.js +2 -1
  190. package/dist/components/flow-ribbon/model.js.map +1 -1
  191. package/dist/components/gantt-timeline/attrs.js +1 -0
  192. package/dist/components/gantt-timeline/index.js +1 -0
  193. package/dist/components/gantt-timeline/layout.js +1 -0
  194. package/dist/components/gantt-timeline/model.d.ts.map +1 -1
  195. package/dist/components/gantt-timeline/model.js +51 -0
  196. package/dist/components/gantt-timeline/model.js.map +1 -1
  197. package/dist/components/gantt-timeline/render.js +1 -0
  198. package/dist/components/gantt-timeline/scale.js +1 -0
  199. package/dist/components/gantt-timeline/style-marks.js +1 -0
  200. package/dist/components/gantt-timeline/style.js +1 -0
  201. package/dist/components/gap-band/attrs.d.ts +77 -0
  202. package/dist/components/gap-band/attrs.d.ts.map +1 -0
  203. package/dist/components/gap-band/attrs.js +113 -0
  204. package/dist/components/gap-band/attrs.js.map +1 -0
  205. package/dist/components/gap-band/forms.d.ts +117 -0
  206. package/dist/components/gap-band/forms.d.ts.map +1 -0
  207. package/dist/components/gap-band/forms.js +172 -0
  208. package/dist/components/gap-band/forms.js.map +1 -0
  209. package/dist/components/gap-band/index.d.ts +16 -0
  210. package/dist/components/gap-band/index.d.ts.map +1 -0
  211. package/dist/components/gap-band/index.js +15 -0
  212. package/dist/components/gap-band/index.js.map +1 -0
  213. package/dist/components/gap-band/model.d.ts +5 -0
  214. package/dist/components/gap-band/model.d.ts.map +1 -0
  215. package/dist/components/gap-band/model.js +116 -0
  216. package/dist/components/gap-band/model.js.map +1 -0
  217. package/dist/components/gap-band/render.d.ts +3 -0
  218. package/dist/components/gap-band/render.d.ts.map +1 -0
  219. package/dist/components/gap-band/render.js +142 -0
  220. package/dist/components/gap-band/render.js.map +1 -0
  221. package/dist/components/gap-band/scale.d.ts +45 -0
  222. package/dist/components/gap-band/scale.d.ts.map +1 -0
  223. package/dist/components/gap-band/scale.js +163 -0
  224. package/dist/components/gap-band/scale.js.map +1 -0
  225. package/dist/components/gap-band/style-forms.d.ts +10 -0
  226. package/dist/components/gap-band/style-forms.d.ts.map +1 -0
  227. package/dist/components/gap-band/style-forms.js +244 -0
  228. package/dist/components/gap-band/style-forms.js.map +1 -0
  229. package/dist/components/gap-band/style.d.ts +9 -0
  230. package/dist/components/gap-band/style.d.ts.map +1 -0
  231. package/dist/components/gap-band/style.js +334 -0
  232. package/dist/components/gap-band/style.js.map +1 -0
  233. package/dist/components/goal-stairs/attrs.js +1 -0
  234. package/dist/components/goal-stairs/index.js +1 -0
  235. package/dist/components/goal-stairs/model.d.ts.map +1 -1
  236. package/dist/components/goal-stairs/model.js +31 -0
  237. package/dist/components/goal-stairs/model.js.map +1 -1
  238. package/dist/components/goal-stairs/render.js +1 -0
  239. package/dist/components/goal-stairs/style.js +1 -0
  240. package/dist/components/heat-grid/attrs.js +1 -0
  241. package/dist/components/heat-grid/index.js +1 -0
  242. package/dist/components/heat-grid/model.js +1 -0
  243. package/dist/components/heat-grid/render.js +1 -0
  244. package/dist/components/heat-grid/style.js +1 -0
  245. package/dist/components/help/index.js +1 -0
  246. package/dist/components/help/render.d.ts.map +1 -1
  247. package/dist/components/help/render.js +12 -2
  248. package/dist/components/help/render.js.map +1 -1
  249. package/dist/components/help/schema.js +1 -0
  250. package/dist/components/help/shared.js +1 -0
  251. package/dist/components/help/shell.js +1 -0
  252. package/dist/components/help/template.js +1 -0
  253. package/dist/components/hour-band/attrs.js +1 -0
  254. package/dist/components/hour-band/index.js +1 -0
  255. package/dist/components/hour-band/model.js +1 -0
  256. package/dist/components/hour-band/render.js +1 -0
  257. package/dist/components/hour-band/style.js +1 -0
  258. package/dist/components/index.d.ts +7 -0
  259. package/dist/components/index.d.ts.map +1 -1
  260. package/dist/components/index.js +53 -0
  261. package/dist/components/index.js.map +1 -1
  262. package/dist/components/invoice-lines/attrs.js +1 -0
  263. package/dist/components/invoice-lines/index.js +1 -0
  264. package/dist/components/invoice-lines/model.js +1 -0
  265. package/dist/components/invoice-lines/render.js +1 -0
  266. package/dist/components/invoice-lines/style.js +1 -0
  267. package/dist/components/kanban-columns/attrs.d.ts +213 -0
  268. package/dist/components/kanban-columns/attrs.d.ts.map +1 -0
  269. package/dist/components/kanban-columns/attrs.js +242 -0
  270. package/dist/components/kanban-columns/attrs.js.map +1 -0
  271. package/dist/components/kanban-columns/index.d.ts +21 -0
  272. package/dist/components/kanban-columns/index.d.ts.map +1 -0
  273. package/dist/components/kanban-columns/index.js +20 -0
  274. package/dist/components/kanban-columns/index.js.map +1 -0
  275. package/dist/components/kanban-columns/model.d.ts +63 -0
  276. package/dist/components/kanban-columns/model.d.ts.map +1 -0
  277. package/dist/components/kanban-columns/model.js +251 -0
  278. package/dist/components/kanban-columns/model.js.map +1 -0
  279. package/dist/components/kanban-columns/render.d.ts +3 -0
  280. package/dist/components/kanban-columns/render.d.ts.map +1 -0
  281. package/dist/components/kanban-columns/render.js +209 -0
  282. package/dist/components/kanban-columns/render.js.map +1 -0
  283. package/dist/components/kanban-columns/runtime.d.ts +3 -0
  284. package/dist/components/kanban-columns/runtime.d.ts.map +1 -0
  285. package/dist/components/kanban-columns/runtime.js +228 -0
  286. package/dist/components/kanban-columns/runtime.js.map +1 -0
  287. package/dist/components/kanban-columns/style-grouped.d.ts +5 -0
  288. package/dist/components/kanban-columns/style-grouped.d.ts.map +1 -0
  289. package/dist/components/kanban-columns/style-grouped.js +145 -0
  290. package/dist/components/kanban-columns/style-grouped.js.map +1 -0
  291. package/dist/components/kanban-columns/style-narrow.d.ts +5 -0
  292. package/dist/components/kanban-columns/style-narrow.d.ts.map +1 -0
  293. package/dist/components/kanban-columns/style-narrow.js +49 -0
  294. package/dist/components/kanban-columns/style-narrow.js.map +1 -0
  295. package/dist/components/kanban-columns/style.d.ts +5 -0
  296. package/dist/components/kanban-columns/style.d.ts.map +1 -0
  297. package/dist/components/kanban-columns/style.js +328 -0
  298. package/dist/components/kanban-columns/style.js.map +1 -0
  299. package/dist/components/key-value-list/attrs.js +1 -0
  300. package/dist/components/key-value-list/index.js +1 -0
  301. package/dist/components/key-value-list/model.js +1 -0
  302. package/dist/components/key-value-list/render.js +1 -0
  303. package/dist/components/key-value-list/style.js +1 -0
  304. package/dist/components/ledger-rows/index.js +1 -0
  305. package/dist/components/ledger-rows/render.js +1 -0
  306. package/dist/components/ledger-rows/style.js +1 -0
  307. package/dist/components/multi-checks/attrs.js +1 -0
  308. package/dist/components/multi-checks/index.js +1 -0
  309. package/dist/components/multi-checks/model.js +1 -0
  310. package/dist/components/multi-checks/render.js +1 -0
  311. package/dist/components/multi-checks/runtime.js +1 -0
  312. package/dist/components/multi-checks/style.js +1 -0
  313. package/dist/components/note-block/attrs.js +1 -0
  314. package/dist/components/note-block/index.js +1 -0
  315. package/dist/components/note-block/model.js +1 -0
  316. package/dist/components/note-block/render.js +1 -0
  317. package/dist/components/note-block/style.js +1 -0
  318. package/dist/components/number-stepper/attrs.js +1 -0
  319. package/dist/components/number-stepper/index.js +1 -0
  320. package/dist/components/number-stepper/model.js +1 -0
  321. package/dist/components/number-stepper/render.js +1 -0
  322. package/dist/components/number-stepper/runtime.js +1 -0
  323. package/dist/components/number-stepper/style.js +1 -0
  324. package/dist/components/page/fact-strip.js +1 -0
  325. package/dist/components/page/index.js +1 -0
  326. package/dist/components/page/media.js +1 -0
  327. package/dist/components/page/shared.js +1 -0
  328. package/dist/components/page/style.js +1 -0
  329. package/dist/components/page/timeline.js +1 -0
  330. package/dist/components/page-bars/index.js +1 -0
  331. package/dist/components/page-bars/style.js +1 -0
  332. package/dist/components/page-head/attrs.js +1 -0
  333. package/dist/components/page-head/index.js +1 -0
  334. package/dist/components/page-head/model.js +1 -0
  335. package/dist/components/page-head/render.js +1 -0
  336. package/dist/components/page-head/style.js +1 -0
  337. package/dist/components/page-nav/index.js +1 -0
  338. package/dist/components/page-nav/style.js +1 -0
  339. package/dist/components/page-ui/index.js +1 -0
  340. package/dist/components/page-ui/toast.js +1 -0
  341. package/dist/components/photo-compare/attrs.js +1 -0
  342. package/dist/components/photo-compare/index.js +1 -0
  343. package/dist/components/photo-compare/model.js +1 -0
  344. package/dist/components/photo-compare/render.js +1 -0
  345. package/dist/components/photo-compare/runtime.js +1 -0
  346. package/dist/components/photo-compare/style.js +1 -0
  347. package/dist/components/photo-grid/attrs.js +1 -0
  348. package/dist/components/photo-grid/index.js +1 -0
  349. package/dist/components/photo-grid/model.js +1 -0
  350. package/dist/components/photo-grid/render.js +1 -0
  351. package/dist/components/photo-grid/style.js +1 -0
  352. package/dist/components/popover-menu/attrs.js +1 -0
  353. package/dist/components/popover-menu/index.js +1 -0
  354. package/dist/components/popover-menu/model.js +1 -0
  355. package/dist/components/popover-menu/render.js +1 -0
  356. package/dist/components/popover-menu/runtime.js +1 -0
  357. package/dist/components/popover-menu/style.js +1 -0
  358. package/dist/components/portion-gauge/attrs.d.ts +103 -0
  359. package/dist/components/portion-gauge/attrs.d.ts.map +1 -0
  360. package/dist/components/portion-gauge/attrs.js +108 -0
  361. package/dist/components/portion-gauge/attrs.js.map +1 -0
  362. package/dist/components/portion-gauge/fields.d.ts +26 -0
  363. package/dist/components/portion-gauge/fields.d.ts.map +1 -0
  364. package/dist/components/portion-gauge/fields.js +172 -0
  365. package/dist/components/portion-gauge/fields.js.map +1 -0
  366. package/dist/components/portion-gauge/index.d.ts +18 -0
  367. package/dist/components/portion-gauge/index.d.ts.map +1 -0
  368. package/dist/components/portion-gauge/index.js +16 -0
  369. package/dist/components/portion-gauge/index.js.map +1 -0
  370. package/dist/components/portion-gauge/model.d.ts +76 -0
  371. package/dist/components/portion-gauge/model.d.ts.map +1 -0
  372. package/dist/components/portion-gauge/model.js +127 -0
  373. package/dist/components/portion-gauge/model.js.map +1 -0
  374. package/dist/components/portion-gauge/render.d.ts +3 -0
  375. package/dist/components/portion-gauge/render.d.ts.map +1 -0
  376. package/dist/components/portion-gauge/render.js +158 -0
  377. package/dist/components/portion-gauge/render.js.map +1 -0
  378. package/dist/components/portion-gauge/style-gauge.d.ts +7 -0
  379. package/dist/components/portion-gauge/style-gauge.d.ts.map +1 -0
  380. package/dist/components/portion-gauge/style-gauge.js +154 -0
  381. package/dist/components/portion-gauge/style-gauge.js.map +1 -0
  382. package/dist/components/portion-gauge/style.d.ts +10 -0
  383. package/dist/components/portion-gauge/style.d.ts.map +1 -0
  384. package/dist/components/portion-gauge/style.js +293 -0
  385. package/dist/components/portion-gauge/style.js.map +1 -0
  386. package/dist/components/progress-list/attrs.js +1 -0
  387. package/dist/components/progress-list/index.js +1 -0
  388. package/dist/components/progress-list/model.js +1 -0
  389. package/dist/components/progress-list/render.js +1 -0
  390. package/dist/components/progress-list/style.js +1 -0
  391. package/dist/components/progress-ring/attrs.js +1 -0
  392. package/dist/components/progress-ring/index.js +1 -0
  393. package/dist/components/progress-ring/model.js +1 -0
  394. package/dist/components/progress-ring/render.js +1 -0
  395. package/dist/components/progress-ring/style.js +1 -0
  396. package/dist/components/punch-strip/index.js +1 -0
  397. package/dist/components/punch-strip/render.js +1 -0
  398. package/dist/components/punch-strip/style.js +1 -0
  399. package/dist/components/quick-capture/attrs.d.ts +181 -0
  400. package/dist/components/quick-capture/attrs.d.ts.map +1 -0
  401. package/dist/components/quick-capture/attrs.js +203 -0
  402. package/dist/components/quick-capture/attrs.js.map +1 -0
  403. package/dist/components/quick-capture/index.d.ts +23 -0
  404. package/dist/components/quick-capture/index.d.ts.map +1 -0
  405. package/dist/components/quick-capture/index.js +22 -0
  406. package/dist/components/quick-capture/index.js.map +1 -0
  407. package/dist/components/quick-capture/model.d.ts +34 -0
  408. package/dist/components/quick-capture/model.d.ts.map +1 -0
  409. package/dist/components/quick-capture/model.js +183 -0
  410. package/dist/components/quick-capture/model.js.map +1 -0
  411. package/dist/components/quick-capture/render.d.ts +3 -0
  412. package/dist/components/quick-capture/render.d.ts.map +1 -0
  413. package/dist/components/quick-capture/render.js +143 -0
  414. package/dist/components/quick-capture/render.js.map +1 -0
  415. package/dist/components/quick-capture/runtime.d.ts +3 -0
  416. package/dist/components/quick-capture/runtime.d.ts.map +1 -0
  417. package/dist/components/quick-capture/runtime.js +184 -0
  418. package/dist/components/quick-capture/runtime.js.map +1 -0
  419. package/dist/components/quick-capture/style-cells.d.ts +5 -0
  420. package/dist/components/quick-capture/style-cells.d.ts.map +1 -0
  421. package/dist/components/quick-capture/style-cells.js +108 -0
  422. package/dist/components/quick-capture/style-cells.js.map +1 -0
  423. package/dist/components/quick-capture/style-choices.d.ts +5 -0
  424. package/dist/components/quick-capture/style-choices.d.ts.map +1 -0
  425. package/dist/components/quick-capture/style-choices.js +132 -0
  426. package/dist/components/quick-capture/style-choices.js.map +1 -0
  427. package/dist/components/quick-capture/style-drawer.d.ts +5 -0
  428. package/dist/components/quick-capture/style-drawer.d.ts.map +1 -0
  429. package/dist/components/quick-capture/style-drawer.js +88 -0
  430. package/dist/components/quick-capture/style-drawer.js.map +1 -0
  431. package/dist/components/quick-capture/style.d.ts +5 -0
  432. package/dist/components/quick-capture/style.d.ts.map +1 -0
  433. package/dist/components/quick-capture/style.js +177 -0
  434. package/dist/components/quick-capture/style.js.map +1 -0
  435. package/dist/components/radar-profile/attrs.js +1 -1
  436. package/dist/components/radar-profile/attrs.js.map +1 -1
  437. package/dist/components/radar-profile/fields.d.ts +149 -0
  438. package/dist/components/radar-profile/fields.d.ts.map +1 -0
  439. package/dist/components/radar-profile/fields.js +77 -0
  440. package/dist/components/radar-profile/fields.js.map +1 -0
  441. package/dist/components/radar-profile/forms.d.ts +2 -140
  442. package/dist/components/radar-profile/forms.d.ts.map +1 -1
  443. package/dist/components/radar-profile/forms.js +50 -84
  444. package/dist/components/radar-profile/forms.js.map +1 -1
  445. package/dist/components/radar-profile/model.d.ts +2 -2
  446. package/dist/components/radar-profile/model.d.ts.map +1 -1
  447. package/dist/components/radar-profile/model.js +22 -2
  448. package/dist/components/radar-profile/model.js.map +1 -1
  449. package/dist/components/radar-profile/render.d.ts.map +1 -1
  450. package/dist/components/radar-profile/render.js +8 -5
  451. package/dist/components/radar-profile/render.js.map +1 -1
  452. package/dist/components/radar-profile/scale.d.ts +0 -2
  453. package/dist/components/radar-profile/scale.d.ts.map +1 -1
  454. package/dist/components/radar-profile/scale.js +0 -3
  455. package/dist/components/radar-profile/scale.js.map +1 -1
  456. package/dist/components/radar-profile/style-readouts.d.ts +5 -0
  457. package/dist/components/radar-profile/style-readouts.d.ts.map +1 -0
  458. package/dist/components/radar-profile/style-readouts.js +257 -0
  459. package/dist/components/radar-profile/style-readouts.js.map +1 -0
  460. package/dist/components/radar-profile/style.d.ts.map +1 -1
  461. package/dist/components/radar-profile/style.js +19 -232
  462. package/dist/components/radar-profile/style.js.map +1 -1
  463. package/dist/components/radio-cards/attrs.js +1 -0
  464. package/dist/components/radio-cards/index.js +1 -0
  465. package/dist/components/radio-cards/model.js +1 -0
  466. package/dist/components/radio-cards/render.js +1 -0
  467. package/dist/components/radio-cards/runtime.js +1 -0
  468. package/dist/components/radio-cards/style.js +1 -0
  469. package/dist/components/range-bar/attrs.js +1 -0
  470. package/dist/components/range-bar/index.js +1 -0
  471. package/dist/components/range-bar/model.js +1 -0
  472. package/dist/components/range-bar/render.js +1 -0
  473. package/dist/components/range-bar/style.js +1 -0
  474. package/dist/components/rank-list/attrs.js +1 -0
  475. package/dist/components/rank-list/index.js +1 -0
  476. package/dist/components/rank-list/model.js +1 -0
  477. package/dist/components/rank-list/render.js +1 -0
  478. package/dist/components/rank-list/style.js +1 -0
  479. package/dist/components/rating-row/attrs.js +1 -0
  480. package/dist/components/rating-row/index.js +1 -0
  481. package/dist/components/rating-row/model.js +1 -0
  482. package/dist/components/rating-row/render.js +1 -0
  483. package/dist/components/rating-row/runtime.js +1 -0
  484. package/dist/components/rating-row/style.js +1 -0
  485. package/dist/components/relation-picker/attrs.d.ts +196 -0
  486. package/dist/components/relation-picker/attrs.d.ts.map +1 -0
  487. package/dist/components/relation-picker/attrs.js +240 -0
  488. package/dist/components/relation-picker/attrs.js.map +1 -0
  489. package/dist/components/relation-picker/index.d.ts +20 -0
  490. package/dist/components/relation-picker/index.d.ts.map +1 -0
  491. package/dist/components/relation-picker/index.js +19 -0
  492. package/dist/components/relation-picker/index.js.map +1 -0
  493. package/dist/components/relation-picker/model.d.ts +85 -0
  494. package/dist/components/relation-picker/model.d.ts.map +1 -0
  495. package/dist/components/relation-picker/model.js +189 -0
  496. package/dist/components/relation-picker/model.js.map +1 -0
  497. package/dist/components/relation-picker/render.d.ts +3 -0
  498. package/dist/components/relation-picker/render.d.ts.map +1 -0
  499. package/dist/components/relation-picker/render.js +244 -0
  500. package/dist/components/relation-picker/render.js.map +1 -0
  501. package/dist/components/relation-picker/runtime.d.ts +3 -0
  502. package/dist/components/relation-picker/runtime.d.ts.map +1 -0
  503. package/dist/components/relation-picker/runtime.js +260 -0
  504. package/dist/components/relation-picker/runtime.js.map +1 -0
  505. package/dist/components/relation-picker/style-forms.d.ts +5 -0
  506. package/dist/components/relation-picker/style-forms.d.ts.map +1 -0
  507. package/dist/components/relation-picker/style-forms.js +190 -0
  508. package/dist/components/relation-picker/style-forms.js.map +1 -0
  509. package/dist/components/relation-picker/style-list.d.ts +5 -0
  510. package/dist/components/relation-picker/style-list.d.ts.map +1 -0
  511. package/dist/components/relation-picker/style-list.js +146 -0
  512. package/dist/components/relation-picker/style-list.js.map +1 -0
  513. package/dist/components/relation-picker/style.d.ts +5 -0
  514. package/dist/components/relation-picker/style.d.ts.map +1 -0
  515. package/dist/components/relation-picker/style.js +308 -0
  516. package/dist/components/relation-picker/style.js.map +1 -0
  517. package/dist/components/reminder-setter/attrs.d.ts +240 -0
  518. package/dist/components/reminder-setter/attrs.d.ts.map +1 -0
  519. package/dist/components/reminder-setter/attrs.js +268 -0
  520. package/dist/components/reminder-setter/attrs.js.map +1 -0
  521. package/dist/components/reminder-setter/index.d.ts +22 -0
  522. package/dist/components/reminder-setter/index.d.ts.map +1 -0
  523. package/dist/components/reminder-setter/index.js +21 -0
  524. package/dist/components/reminder-setter/index.js.map +1 -0
  525. package/dist/components/reminder-setter/model-track.d.ts +29 -0
  526. package/dist/components/reminder-setter/model-track.d.ts.map +1 -0
  527. package/dist/components/reminder-setter/model-track.js +110 -0
  528. package/dist/components/reminder-setter/model-track.js.map +1 -0
  529. package/dist/components/reminder-setter/model.d.ts +51 -0
  530. package/dist/components/reminder-setter/model.d.ts.map +1 -0
  531. package/dist/components/reminder-setter/model.js +110 -0
  532. package/dist/components/reminder-setter/model.js.map +1 -0
  533. package/dist/components/reminder-setter/render.d.ts +3 -0
  534. package/dist/components/reminder-setter/render.d.ts.map +1 -0
  535. package/dist/components/reminder-setter/render.js +221 -0
  536. package/dist/components/reminder-setter/render.js.map +1 -0
  537. package/dist/components/reminder-setter/rules.d.ts +34 -0
  538. package/dist/components/reminder-setter/rules.d.ts.map +1 -0
  539. package/dist/components/reminder-setter/rules.js +121 -0
  540. package/dist/components/reminder-setter/rules.js.map +1 -0
  541. package/dist/components/reminder-setter/runtime.d.ts +3 -0
  542. package/dist/components/reminder-setter/runtime.d.ts.map +1 -0
  543. package/dist/components/reminder-setter/runtime.js +264 -0
  544. package/dist/components/reminder-setter/runtime.js.map +1 -0
  545. package/dist/components/reminder-setter/style-track.d.ts +3 -0
  546. package/dist/components/reminder-setter/style-track.d.ts.map +1 -0
  547. package/dist/components/reminder-setter/style-track.js +189 -0
  548. package/dist/components/reminder-setter/style-track.js.map +1 -0
  549. package/dist/components/reminder-setter/style.d.ts +5 -0
  550. package/dist/components/reminder-setter/style.d.ts.map +1 -0
  551. package/dist/components/reminder-setter/style.js +306 -0
  552. package/dist/components/reminder-setter/style.js.map +1 -0
  553. package/dist/components/result-row/attrs.js +1 -0
  554. package/dist/components/result-row/index.js +1 -0
  555. package/dist/components/result-row/model.js +1 -0
  556. package/dist/components/result-row/render.js +1 -0
  557. package/dist/components/result-row/style.js +1 -0
  558. package/dist/components/scale-bar/index.js +1 -0
  559. package/dist/components/scale-bar/render.js +1 -0
  560. package/dist/components/scale-bar/style.js +1 -0
  561. package/dist/components/scatter-fit/attrs.js +1 -0
  562. package/dist/components/scatter-fit/forms.js +1 -0
  563. package/dist/components/scatter-fit/index.js +1 -0
  564. package/dist/components/scatter-fit/model.d.ts.map +1 -1
  565. package/dist/components/scatter-fit/model.js +68 -18
  566. package/dist/components/scatter-fit/model.js.map +1 -1
  567. package/dist/components/scatter-fit/render.js +1 -0
  568. package/dist/components/scatter-fit/scale.js +1 -0
  569. package/dist/components/scatter-fit/style-forms.js +1 -0
  570. package/dist/components/scatter-fit/style.js +1 -0
  571. package/dist/components/search-field/attrs.js +1 -0
  572. package/dist/components/search-field/index.js +1 -0
  573. package/dist/components/search-field/model.js +1 -0
  574. package/dist/components/search-field/render.js +1 -0
  575. package/dist/components/search-field/runtime.js +1 -0
  576. package/dist/components/search-field/style.js +1 -0
  577. package/dist/components/section-head/attrs.js +1 -0
  578. package/dist/components/section-head/index.js +1 -0
  579. package/dist/components/section-head/model.js +1 -0
  580. package/dist/components/section-head/render.js +1 -0
  581. package/dist/components/section-head/style.js +1 -0
  582. package/dist/components/shared/escape.js +1 -0
  583. package/dist/components/shared/typography.js +1 -0
  584. package/dist/components/shared/validate.js +1 -0
  585. package/dist/components/sheet-frame/index.js +1 -0
  586. package/dist/components/sheet-frame/render.js +1 -0
  587. package/dist/components/sheet-frame/style.js +1 -0
  588. package/dist/components/skeleton/attrs.js +1 -0
  589. package/dist/components/skeleton/index.js +1 -0
  590. package/dist/components/skeleton/model.js +1 -0
  591. package/dist/components/skeleton/render.js +1 -0
  592. package/dist/components/skeleton/style.js +1 -0
  593. package/dist/components/skin/contract.d.ts +1 -1
  594. package/dist/components/skin/contract.js +1 -0
  595. package/dist/components/skin/index.js +1 -0
  596. package/dist/components/skin/skins/broadsheet.js +1 -0
  597. package/dist/components/skin/skins/ink.js +1 -0
  598. package/dist/components/skin/skins/neutral.js +1 -0
  599. package/dist/components/skin/skins/paper.js +1 -0
  600. package/dist/components/slider-row/attrs.js +1 -0
  601. package/dist/components/slider-row/index.js +1 -0
  602. package/dist/components/slider-row/model.js +1 -0
  603. package/dist/components/slider-row/render.js +1 -0
  604. package/dist/components/slider-row/runtime.js +1 -0
  605. package/dist/components/slider-row/style.js +1 -0
  606. package/dist/components/small-multiples/attrs.js +1 -0
  607. package/dist/components/small-multiples/index.js +1 -0
  608. package/dist/components/small-multiples/model.d.ts.map +1 -1
  609. package/dist/components/small-multiples/model.js +43 -0
  610. package/dist/components/small-multiples/model.js.map +1 -1
  611. package/dist/components/small-multiples/render.js +1 -0
  612. package/dist/components/small-multiples/scale.js +1 -0
  613. package/dist/components/small-multiples/style.js +1 -0
  614. package/dist/components/sort-toggle/attrs.js +1 -0
  615. package/dist/components/sort-toggle/index.js +1 -0
  616. package/dist/components/sort-toggle/model.js +1 -0
  617. package/dist/components/sort-toggle/render.js +1 -0
  618. package/dist/components/sort-toggle/runtime.js +1 -0
  619. package/dist/components/sort-toggle/style.js +1 -0
  620. package/dist/components/spread-dist/attrs.d.ts +56 -12
  621. package/dist/components/spread-dist/attrs.d.ts.map +1 -1
  622. package/dist/components/spread-dist/attrs.js +72 -12
  623. package/dist/components/spread-dist/attrs.js.map +1 -1
  624. package/dist/components/spread-dist/forms.d.ts +53 -10
  625. package/dist/components/spread-dist/forms.d.ts.map +1 -1
  626. package/dist/components/spread-dist/forms.js +104 -7
  627. package/dist/components/spread-dist/forms.js.map +1 -1
  628. package/dist/components/spread-dist/index.d.ts +5 -4
  629. package/dist/components/spread-dist/index.d.ts.map +1 -1
  630. package/dist/components/spread-dist/index.js +5 -3
  631. package/dist/components/spread-dist/index.js.map +1 -1
  632. package/dist/components/spread-dist/model.d.ts +1 -1
  633. package/dist/components/spread-dist/model.d.ts.map +1 -1
  634. package/dist/components/spread-dist/model.js +154 -4
  635. package/dist/components/spread-dist/model.js.map +1 -1
  636. package/dist/components/spread-dist/render.d.ts.map +1 -1
  637. package/dist/components/spread-dist/render.js +79 -10
  638. package/dist/components/spread-dist/render.js.map +1 -1
  639. package/dist/components/spread-dist/scale.d.ts +15 -3
  640. package/dist/components/spread-dist/scale.d.ts.map +1 -1
  641. package/dist/components/spread-dist/scale.js +50 -15
  642. package/dist/components/spread-dist/scale.js.map +1 -1
  643. package/dist/components/spread-dist/style-box.d.ts +5 -0
  644. package/dist/components/spread-dist/style-box.d.ts.map +1 -0
  645. package/dist/components/spread-dist/style-box.js +252 -0
  646. package/dist/components/spread-dist/style-box.js.map +1 -0
  647. package/dist/components/spread-dist/style-quantile.d.ts +5 -0
  648. package/dist/components/spread-dist/style-quantile.d.ts.map +1 -0
  649. package/dist/components/spread-dist/style-quantile.js +97 -0
  650. package/dist/components/spread-dist/style-quantile.js.map +1 -0
  651. package/dist/components/spread-dist/style.d.ts.map +1 -1
  652. package/dist/components/spread-dist/style.js +28 -87
  653. package/dist/components/spread-dist/style.js.map +1 -1
  654. package/dist/components/stacked-bar/attrs.js +1 -0
  655. package/dist/components/stacked-bar/index.js +1 -0
  656. package/dist/components/stacked-bar/model.js +1 -0
  657. package/dist/components/stacked-bar/render.js +1 -0
  658. package/dist/components/stacked-bar/style.js +1 -0
  659. package/dist/components/stat-inline/attrs.js +1 -0
  660. package/dist/components/stat-inline/index.js +1 -0
  661. package/dist/components/stat-inline/model.js +1 -0
  662. package/dist/components/stat-inline/render.js +1 -0
  663. package/dist/components/stat-inline/style.js +1 -0
  664. package/dist/components/status-row/attrs.js +1 -0
  665. package/dist/components/status-row/index.js +1 -0
  666. package/dist/components/status-row/model.js +1 -0
  667. package/dist/components/status-row/render.js +1 -0
  668. package/dist/components/status-row/style.js +1 -0
  669. package/dist/components/step-flow/attrs.js +1 -0
  670. package/dist/components/step-flow/index.js +1 -0
  671. package/dist/components/step-flow/model.js +1 -0
  672. package/dist/components/step-flow/render.js +1 -0
  673. package/dist/components/step-flow/style.js +1 -0
  674. package/dist/components/streak-badge/attrs.js +1 -0
  675. package/dist/components/streak-badge/index.js +1 -0
  676. package/dist/components/streak-badge/model.js +1 -0
  677. package/dist/components/streak-badge/render.js +1 -0
  678. package/dist/components/streak-badge/style.js +1 -0
  679. package/dist/components/style/action-bar.js +1 -0
  680. package/dist/components/style/copy-button.js +1 -0
  681. package/dist/components/style/empty-state.js +1 -0
  682. package/dist/components/style/error-receipt.js +1 -0
  683. package/dist/components/style/help-shell.js +1 -0
  684. package/dist/components/style/index.js +1 -0
  685. package/dist/components/style/parts.js +1 -0
  686. package/dist/components/style/sheet.js +1 -0
  687. package/dist/components/style/status-badge.js +1 -0
  688. package/dist/components/style/toast.js +1 -0
  689. package/dist/components/style/tokens.js +1 -0
  690. package/dist/components/sub-list/attrs.js +1 -0
  691. package/dist/components/sub-list/index.js +1 -0
  692. package/dist/components/sub-list/model.js +1 -0
  693. package/dist/components/sub-list/render.js +1 -0
  694. package/dist/components/sub-list/style.js +1 -0
  695. package/dist/components/summary-head/index.js +1 -0
  696. package/dist/components/summary-head/render.js +1 -0
  697. package/dist/components/summary-head/style.js +1 -0
  698. package/dist/components/switch-row/attrs.js +1 -0
  699. package/dist/components/switch-row/index.js +1 -0
  700. package/dist/components/switch-row/model.js +1 -0
  701. package/dist/components/switch-row/render.js +1 -0
  702. package/dist/components/switch-row/runtime.js +1 -0
  703. package/dist/components/switch-row/style.js +1 -0
  704. package/dist/components/sync-status/attrs.js +1 -0
  705. package/dist/components/sync-status/index.js +1 -0
  706. package/dist/components/sync-status/model.js +1 -0
  707. package/dist/components/sync-status/render.js +1 -0
  708. package/dist/components/sync-status/runtime.js +1 -0
  709. package/dist/components/sync-status/style.js +1 -0
  710. package/dist/components/task-list/attrs.js +1 -0
  711. package/dist/components/task-list/index.js +1 -0
  712. package/dist/components/task-list/model.js +1 -0
  713. package/dist/components/task-list/render.js +1 -0
  714. package/dist/components/task-list/runtime.js +1 -0
  715. package/dist/components/task-list/style.js +1 -0
  716. package/dist/components/template/fill.js +1 -0
  717. package/dist/components/template/index.js +1 -0
  718. package/dist/components/template/markers.d.ts +1 -1
  719. package/dist/components/template/markers.js +2 -1
  720. package/dist/components/template/shared.js +1 -0
  721. package/dist/components/text/api.js +1 -0
  722. package/dist/components/text/formats.js +1 -0
  723. package/dist/components/text/index.js +1 -0
  724. package/dist/components/text/input.js +1 -0
  725. package/dist/components/text/log.js +1 -0
  726. package/dist/components/text/rows.js +1 -0
  727. package/dist/components/text/shared.js +1 -0
  728. package/dist/components/timer-card/attrs.js +1 -0
  729. package/dist/components/timer-card/index.js +1 -0
  730. package/dist/components/timer-card/model.js +1 -0
  731. package/dist/components/timer-card/render.js +1 -0
  732. package/dist/components/timer-card/runtime.js +1 -0
  733. package/dist/components/timer-card/style.js +1 -0
  734. package/dist/components/toast-card/attrs.js +1 -0
  735. package/dist/components/toast-card/index.js +1 -0
  736. package/dist/components/toast-card/model.js +1 -0
  737. package/dist/components/toast-card/render.js +1 -0
  738. package/dist/components/toast-card/runtime.js +1 -0
  739. package/dist/components/toast-card/style.js +1 -0
  740. package/dist/components/tooltip/attrs.d.ts +11 -4
  741. package/dist/components/tooltip/attrs.d.ts.map +1 -1
  742. package/dist/components/tooltip/attrs.js +12 -4
  743. package/dist/components/tooltip/attrs.js.map +1 -1
  744. package/dist/components/tooltip/index.d.ts +2 -1
  745. package/dist/components/tooltip/index.d.ts.map +1 -1
  746. package/dist/components/tooltip/index.js +3 -1
  747. package/dist/components/tooltip/index.js.map +1 -1
  748. package/dist/components/tooltip/model.js +1 -0
  749. package/dist/components/tooltip/render.d.ts.map +1 -1
  750. package/dist/components/tooltip/render.js +4 -2
  751. package/dist/components/tooltip/render.js.map +1 -1
  752. package/dist/components/tooltip/runtime.d.ts.map +1 -1
  753. package/dist/components/tooltip/runtime.js +28 -6
  754. package/dist/components/tooltip/runtime.js.map +1 -1
  755. package/dist/components/tooltip/style.d.ts.map +1 -1
  756. package/dist/components/tooltip/style.js +11 -4
  757. package/dist/components/tooltip/style.js.map +1 -1
  758. package/dist/components/undo-timeline/attrs.d.ts +1 -1
  759. package/dist/components/undo-timeline/attrs.d.ts.map +1 -1
  760. package/dist/components/undo-timeline/attrs.js +1 -1
  761. package/dist/components/undo-timeline/attrs.js.map +1 -1
  762. package/dist/components/undo-timeline/index.d.ts +1 -1
  763. package/dist/components/undo-timeline/index.d.ts.map +1 -1
  764. package/dist/components/undo-timeline/index.js +1 -1
  765. package/dist/components/undo-timeline/index.js.map +1 -1
  766. package/dist/components/undo-timeline/keys.d.ts +17 -0
  767. package/dist/components/undo-timeline/keys.d.ts.map +1 -0
  768. package/dist/components/undo-timeline/keys.js +47 -0
  769. package/dist/components/undo-timeline/keys.js.map +1 -0
  770. package/dist/components/undo-timeline/model.d.ts.map +1 -1
  771. package/dist/components/undo-timeline/model.js +20 -1
  772. package/dist/components/undo-timeline/model.js.map +1 -1
  773. package/dist/components/undo-timeline/render.d.ts.map +1 -1
  774. package/dist/components/undo-timeline/render.js +10 -2
  775. package/dist/components/undo-timeline/render.js.map +1 -1
  776. package/dist/components/undo-timeline/runtime.d.ts.map +1 -1
  777. package/dist/components/undo-timeline/runtime.js +19 -12
  778. package/dist/components/undo-timeline/runtime.js.map +1 -1
  779. package/dist/components/undo-timeline/style-impact.d.ts.map +1 -1
  780. package/dist/components/undo-timeline/style-impact.js +2 -4
  781. package/dist/components/undo-timeline/style-impact.js.map +1 -1
  782. package/dist/components/undo-timeline/style-track.d.ts.map +1 -1
  783. package/dist/components/undo-timeline/style-track.js +5 -0
  784. package/dist/components/undo-timeline/style-track.js.map +1 -1
  785. package/dist/components/undo-timeline/text.d.ts +0 -2
  786. package/dist/components/undo-timeline/text.d.ts.map +1 -1
  787. package/dist/components/undo-timeline/text.js +0 -2
  788. package/dist/components/undo-timeline/text.js.map +1 -1
  789. package/dist/components/window-picker/attrs.js +1 -0
  790. package/dist/components/window-picker/index.js +1 -0
  791. package/dist/components/window-picker/model.js +1 -0
  792. package/dist/components/window-picker/render.js +1 -0
  793. package/dist/components/window-picker/runtime.js +1 -0
  794. package/dist/components/window-picker/style.js +1 -0
  795. package/dist/components/wizard-shell/attrs.d.ts +2 -1
  796. package/dist/components/wizard-shell/attrs.d.ts.map +1 -1
  797. package/dist/components/wizard-shell/attrs.js +3 -1
  798. package/dist/components/wizard-shell/attrs.js.map +1 -1
  799. package/dist/components/wizard-shell/index.js +1 -0
  800. package/dist/components/wizard-shell/model.d.ts.map +1 -1
  801. package/dist/components/wizard-shell/model.js +36 -0
  802. package/dist/components/wizard-shell/model.js.map +1 -1
  803. package/dist/components/wizard-shell/render.js +1 -0
  804. package/dist/components/wizard-shell/runtime.js +1 -0
  805. package/dist/components/wizard-shell/style-answer.js +1 -0
  806. package/dist/components/wizard-shell/style.js +1 -0
  807. package/dist/components//346/270/205/345/215/225.d.ts +2 -2
  808. package/dist/components//346/270/205/345/215/225.d.ts.map +1 -1
  809. package/dist/components//346/270/205/345/215/225.js +68 -54
  810. package/dist/components//346/270/205/345/215/225.js.map +1 -1
  811. package/dist/contract.js +1 -0
  812. package/dist/controls.js +1 -0
  813. package/dist/font.js +1 -0
  814. package/dist/help.js +1 -0
  815. package/dist/helpShell.d.ts.map +1 -1
  816. package/dist/helpShell.js +3 -2
  817. package/dist/helpShell.js.map +1 -1
  818. package/dist/index.js +1 -0
  819. package/dist/injector.js +1 -0
  820. package/dist/output/saveHtml.js +1 -0
  821. package/dist/pageUi.js +1 -0
  822. package/dist/spec/charts.js +1 -0
  823. package/dist/spec/controls.js +1 -0
  824. package/dist/spec/help.d.ts +59 -0
  825. package/dist/spec/help.d.ts.map +1 -1
  826. package/dist/spec/help.js +20 -0
  827. package/dist/spec/help.js.map +1 -1
  828. package/dist/spec/index.js +2 -1
  829. package/dist/spec/index.js.map +1 -1
  830. package/dist/spec/style.js +1 -0
  831. package/dist/spec/template.d.ts +1 -1
  832. package/dist/spec/template.d.ts.map +1 -1
  833. package/dist/spec/template.js +2 -1
  834. package/dist/spec/template.js.map +1 -1
  835. package/dist/spec/text.d.ts +1 -1
  836. package/dist/spec/text.js +2 -1
  837. package/dist/style.js +1 -0
  838. package/dist/template.js +1 -0
  839. package/dist/text.js +1 -0
  840. package/dist/ui.js +1 -0
  841. package/package.json +2 -2
@@ -1,13 +1,14 @@
1
1
  /** spread-dist · **组件出口**(本组件对外的唯一名字面)。
2
2
  *
3
3
  * 五件出口:`renderSpreadDist(input)`(产标记,零 DOM)/`spreadDistCss()`(样式段)/
4
- * `SPREAD_DIST_FORMS`(形态闭集:逐日范围柱/分位尺)/`SPREAD_DIST_CLASS` 与 `spreadDistSlot()`(标记契约)/
5
- * `SPREAD_DIST_DAYS_PX`/`SPREAD_DIST_NARROW_DAYS_PX`/`SPREAD_DIST_NARROW_PX`(几何常量:判据拿它对两档几何)。
4
+ * `SPREAD_DIST_FORMS`(形态闭集:箱线/逐日范围柱/分位尺)/`SPREAD_DIST_CLASS` 与 `spreadDistSlot()`(标记契约)/
5
+ * `SPREAD_DIST_DAYS_PX`/`SPREAD_DIST_NARROW_DAYS_PX`/`SPREAD_DIST_NARROW_PX`/`SPREAD_DIST_TRACK_PX`
6
+ * (几何常量:判据拿它对各档几何)。
6
7
  *
7
8
  * 用法与参数表见同目录 `README.md`。消费方走 `base-paint/blocks`(组件层出口),不走根出口。
8
9
  */
9
10
  export { renderSpreadDist } from './render.js';
10
- export type { SpreadDistDay, SpreadDistForm, SpreadDistInput, SpreadDistSlot, SpreadDistStop, } from './attrs.js';
11
- export { SPREAD_DIST_AXIS_TICKS, SPREAD_DIST_CLASS, SPREAD_DIST_FORMS, SPREAD_DIST_MAX_DAYS, SPREAD_DIST_MAX_STOPS, SPREAD_DIST_MAX_TICKS, SPREAD_DIST_MIN_DAYS, SPREAD_DIST_MIN_STOPS, SPREAD_DIST_MISSING, SPREAD_DIST_NARROW_PX, SPREAD_DIST_SLOTS, spreadDistSlot, } from './attrs.js';
11
+ export type { SpreadDistBox, SpreadDistDay, SpreadDistForm, SpreadDistInput, SpreadDistSlot, SpreadDistStop, } from './attrs.js';
12
+ export { SPREAD_DIST_AXIS_TICKS, SPREAD_DIST_BOX_MIN_COUNT, SPREAD_DIST_CLASS, SPREAD_DIST_FORMS, SPREAD_DIST_MAX_BOXES, SPREAD_DIST_MAX_DAYS, SPREAD_DIST_MAX_STOPS, SPREAD_DIST_MAX_TICKS, SPREAD_DIST_MIN_BOXES, SPREAD_DIST_MIN_DAYS, SPREAD_DIST_MIN_STOPS, SPREAD_DIST_MISSING, SPREAD_DIST_NARROW_PX, SPREAD_DIST_SLOTS, SPREAD_DIST_TRACK_PX, spreadDistSlot, } from './attrs.js';
12
13
  export { SPREAD_DIST_DAYS_PX, SPREAD_DIST_NARROW_DAYS_PX, spreadDistCss } from './style.js';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/spread-dist/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/spread-dist/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1,11 +1,13 @@
1
1
  /** spread-dist · **组件出口**(本组件对外的唯一名字面)。
2
2
  *
3
3
  * 五件出口:`renderSpreadDist(input)`(产标记,零 DOM)/`spreadDistCss()`(样式段)/
4
- * `SPREAD_DIST_FORMS`(形态闭集:逐日范围柱/分位尺)/`SPREAD_DIST_CLASS` 与 `spreadDistSlot()`(标记契约)/
5
- * `SPREAD_DIST_DAYS_PX`/`SPREAD_DIST_NARROW_DAYS_PX`/`SPREAD_DIST_NARROW_PX`(几何常量:判据拿它对两档几何)。
4
+ * `SPREAD_DIST_FORMS`(形态闭集:箱线/逐日范围柱/分位尺)/`SPREAD_DIST_CLASS` 与 `spreadDistSlot()`(标记契约)/
5
+ * `SPREAD_DIST_DAYS_PX`/`SPREAD_DIST_NARROW_DAYS_PX`/`SPREAD_DIST_NARROW_PX`/`SPREAD_DIST_TRACK_PX`
6
+ * (几何常量:判据拿它对各档几何)。
6
7
  *
7
8
  * 用法与参数表见同目录 `README.md`。消费方走 `base-paint/blocks`(组件层出口),不走根出口。
8
9
  */
9
10
  export { renderSpreadDist } from './render.js';
10
- export { SPREAD_DIST_AXIS_TICKS, SPREAD_DIST_CLASS, SPREAD_DIST_FORMS, SPREAD_DIST_MAX_DAYS, SPREAD_DIST_MAX_STOPS, SPREAD_DIST_MAX_TICKS, SPREAD_DIST_MIN_DAYS, SPREAD_DIST_MIN_STOPS, SPREAD_DIST_MISSING, SPREAD_DIST_NARROW_PX, SPREAD_DIST_SLOTS, spreadDistSlot, } from './attrs.js';
11
+ export { SPREAD_DIST_AXIS_TICKS, SPREAD_DIST_BOX_MIN_COUNT, SPREAD_DIST_CLASS, SPREAD_DIST_FORMS, SPREAD_DIST_MAX_BOXES, SPREAD_DIST_MAX_DAYS, SPREAD_DIST_MAX_STOPS, SPREAD_DIST_MAX_TICKS, SPREAD_DIST_MIN_BOXES, SPREAD_DIST_MIN_DAYS, SPREAD_DIST_MIN_STOPS, SPREAD_DIST_MISSING, SPREAD_DIST_NARROW_PX, SPREAD_DIST_SLOTS, SPREAD_DIST_TRACK_PX, spreadDistSlot, } from './attrs.js';
11
12
  export { SPREAD_DIST_DAYS_PX, SPREAD_DIST_NARROW_DAYS_PX, spreadDistCss } from './style.js';
13
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/spread-dist/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAQ/C,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/spread-dist/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAS/C,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,GACf,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type SpreadDistModel } from './forms.js';
2
- export type { SpreadDistCommon, SpreadDistDayModel, SpreadDistLegendItem, SpreadDistModel, SpreadDistStopModel, SpreadDistTickModel, } from './forms.js';
2
+ export type { SpreadDistCommon, SpreadDistDayModel, SpreadDistGroupModel, SpreadDistLegendItem, SpreadDistModel, SpreadDistRulerTickModel, SpreadDistStopModel, SpreadDistTickModel, } from './forms.js';
3
3
  /** 入参归一化。**唯一入口**:`render.ts` 只吃它产出的 `SpreadDistModel`,不再自己碰 `any`。 */
4
4
  export declare function normalizeSpreadDist(input: unknown): SpreadDistModel;
5
5
  //# sourceMappingURL=model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/components/spread-dist/model.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAoD,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAGpG,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAoFpB,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAmBnE"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/components/spread-dist/model.ts"],"names":[],"mappings":"AA4BA,OAAO,EAA8D,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAG9G,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAqOpB,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAqBnE"}
@@ -8,11 +8,46 @@
8
8
  * `scale.ts`,两个骨架的装配住 `forms.ts` —— 一次落两档,三件事挤在一件里会超本包告警线 350。
9
9
  * 3. **空白串不是文本**:全空白的 `title`/日子/档名会在屏上留一块空白,**一律拒**
10
10
  * (与同层 `optExtraClass` 对空白串的口径一致;可选文本字段同办:空串仍按"未给"处理)。
11
+ * 4. **入参表以外的键一律拒**(每个对象层都查:顶层与 `days`/`stops`/`boxes` 的每一项;
12
+ * 三档形态的键**一张表列全**——`days` 的中位数、`stops` 的档名、`boxes` 那两种读法的字段都在表里,
13
+ * 漏一档就是把合法档判红)。
11
14
  */
12
15
  import { assertDenseArray, assertPlainObject, badInput, optExtraClass, optText, reqText } from '../shared/validate.js';
13
- import { SPREAD_DIST_FORMS, SPREAD_DIST_MAX_DAYS, SPREAD_DIST_MAX_STOPS, SPREAD_DIST_MIN_DAYS, SPREAD_DIST_MIN_STOPS, } from './attrs.js';
14
- import { quantileModel, rangeModel } from './forms.js';
16
+ import { SPREAD_DIST_BOX_MIN_COUNT, SPREAD_DIST_FORMS, SPREAD_DIST_MAX_BOXES, SPREAD_DIST_MAX_DAYS, SPREAD_DIST_MAX_STOPS, SPREAD_DIST_MIN_BOXES, SPREAD_DIST_MIN_DAYS, SPREAD_DIST_MIN_STOPS, } from './attrs.js';
17
+ import { boxModel, quantileModel, rangeModel } from './forms.js';
15
18
  /* ── 校验 ─────────────────────────────────────────────────────────── */
19
+ /** 只许入参表里写着的键:多给一个键(多半是打错名)=拒,不静默吞掉。
20
+ *
21
+ * **两条都会被查到**(只走 `Object.keys` 会漏一半):
22
+ * · `Object.getOwnPropertyNames` —— 自有的**全部**键,含**不可枚举**的(`Object.keys` 看不见它);
23
+ * · `for…in` —— 走**整条原型链**(`Object.create({bogus: 1})` 那种继承来的键就是这一路)。
24
+ *
25
+ * 先例:`goal-stairs/model.ts`/`relation-picker/model.ts` 的同名小件(同一个规矩不在两处各写一套口径)。
26
+ */
27
+ function assertKeys(raw, allowed, field) {
28
+ const bad = [];
29
+ const note = (key) => {
30
+ if (!allowed.includes(key) && !bad.includes(key))
31
+ bad.push(key);
32
+ };
33
+ for (const key of Object.getOwnPropertyNames(raw))
34
+ note(key);
35
+ for (const key in raw)
36
+ note(key);
37
+ if (bad.length > 0) {
38
+ badInput(field + ' 里没有 `' + bad.join('`/`') + '` 这个键(入参表以外的键一律拒:'
39
+ + '写错的键静默吞掉会让调用方以为自己设上了;继承来的与不可枚举的键同样算)');
40
+ }
41
+ }
42
+ /** `SpreadDistInput` 的键(顶层入参表;必填与可选都列全,三档形态的数组都在表里)。 */
43
+ const INPUT_KEYS = ['title', 'form', 'days', 'stops', 'boxes', 'unit', 'stamp', 'note', 'extraClass'];
44
+ /** `SpreadDistDay` 的键(`days` 的每一天;`median` 不给=那一天只画区间)。 */
45
+ const DAY_KEYS = ['label', 'low', 'high', 'median'];
46
+ /** `SpreadDistStop` 的键(`stops` 的每一档)。 */
47
+ const STOP_KEYS = ['name', 'value'];
48
+ /** `SpreadDistBox` 的键(`boxes` 的每一组;**两种读法**的字段都列全:
49
+ * 五数概括(`low`/`q1`/`q3`/`high`)+ 离群点 + 样本不足那一支的单笔读数)。 */
50
+ const BOX_KEYS = ['label', 'count', 'median', 'low', 'q1', 'q3', 'high', 'outliers', 'points'];
16
51
  /** 必填文本:非空串**且不是全空白**(全空白的标题会在屏上留一块空白,那是"看得到的错")。 */
17
52
  function reqRealText(value, field) {
18
53
  const text = reqText(value, field);
@@ -27,10 +62,31 @@ function optRealText(value, field) {
27
62
  badInput(field + ' 必须是真正的文本(全空白不算)');
28
63
  return text;
29
64
  }
30
- /** 一个读数:有限数(`NaN`/`Infinity`/数字串一律拒)。 */
65
+ /** 读数量级上限:**判据是「两笔同量级的读数相加会不会溢出」**,不是"好不好读"——
66
+ * `|a| + |b| > Number.MAX_VALUE` 时刻度与尾巴句会写出 `1e+308` 这种读不出来的数。
67
+ * `1e21` 那档照旧合法(十进制写法与指数写法的分界,本层当读数写)。 */
68
+ const SPREAD_DIST_MAGNITUDE_MAX = Number.MAX_VALUE;
69
+ /** 一个读数:**两条闸**——① 非有限(`NaN`/`Infinity`/数字串)拒;② 量级大到相加就溢出(`±1e308`)拒。
70
+ *
71
+ * 第 ② 条与「轴域算不出来即拒」那条(住 `scale.ts` 的 `niceAxis()`,管的是**跨度**)**不是一档**:
72
+ * 那一档管的是「一头 `−1e308`、另一头 `1e308`」这种跨度溢出;这一档管的是**单笔读数本身**。 */
31
73
  function reqNumber(value, field) {
32
74
  if (typeof value !== 'number' || !Number.isFinite(value))
33
75
  badInput(field + ' 必须是有限数');
76
+ if (Math.abs(value) + Math.abs(value) > SPREAD_DIST_MAGNITUDE_MAX) {
77
+ badInput(field + ' 的量级太大:两笔同量级的读数相加就溢出成 `Infinity`'
78
+ + '(图上会写出 `1e+308` 这类读不出来的数;读数至多到 `Number.MAX_VALUE ÷ 2` 那一档)');
79
+ }
80
+ return value;
81
+ }
82
+ /** 笔数:**正整数**(`18 笔`里的 18;小数/0/负数都拒——笔数是数出来的,不是量出来的)。 */
83
+ function reqCount(value, field) {
84
+ if (typeof value !== 'number' || !Number.isInteger(value) || value < 1) {
85
+ badInput(field + ' 必须是正整数(这一组有几笔)');
86
+ }
87
+ if (Math.abs(value) + Math.abs(value) > SPREAD_DIST_MAGNITUDE_MAX) {
88
+ badInput(field + ' 的量级太大:图上的笔数与长度都由它算(读数至多到 `Number.MAX_VALUE ÷ 2` 那一档)');
89
+ }
34
90
  return value;
35
91
  }
36
92
  /** 逐日读数:3–12 天,`low ≤ high`,给了中位数就得满足 `low ≤ median ≤ high`。 */
@@ -48,6 +104,7 @@ function reqDays(value) {
48
104
  const at = 'spread-dist: input.days[' + String(i) + ']';
49
105
  assertPlainObject(item, at);
50
106
  const d = item;
107
+ assertKeys(d, DAY_KEYS, at);
51
108
  const label = reqRealText(d.label, at + '.label');
52
109
  const low = reqNumber(d.low, at + '.low');
53
110
  const high = reqNumber(d.high, at + '.high');
@@ -82,6 +139,7 @@ function reqStops(value) {
82
139
  const at = 'spread-dist: input.stops[' + String(i) + ']';
83
140
  assertPlainObject(item, at);
84
141
  const s = item;
142
+ assertKeys(s, STOP_KEYS, at);
85
143
  const name = reqRealText(s.name, at + '.name');
86
144
  if (seen.has(name))
87
145
  badInput(at + '.name 与前面某一档同名(档名是这一格的坐标,两格同名就指代不了)');
@@ -94,14 +152,103 @@ function reqStops(value) {
94
152
  return { name, value: v };
95
153
  });
96
154
  }
155
+ /** A 档一组:**两种读法二选一**(五数概括画箱/单笔读数只点),任一条对不上都当场拒。
156
+ *
157
+ * 为什么卡这么死:一张箱线图上,同一行的「箱」与「散点」是两种不同的读法(一个说形状、一个说每一笔),
158
+ * 混在一行里读者分不清在看哪一种;样本量决定该用哪一种,件替调用方把这条守住。 */
159
+ function reqBox(item, i) {
160
+ const at = 'spread-dist: input.boxes[' + String(i) + ']';
161
+ assertPlainObject(item, at);
162
+ const b = item;
163
+ assertKeys(b, BOX_KEYS, at);
164
+ const label = reqRealText(b.label, at + '.label');
165
+ const count = reqCount(b.count, at + '.count');
166
+ const median = reqNumber(b.median, at + '.median');
167
+ const five = [b.low, b.q1, b.q3, b.high];
168
+ const given = five.filter((v) => v !== undefined).length;
169
+ if (given !== 0 && given !== five.length) {
170
+ badInput(at + ' 的 low/q1/q3/high 要么全给(画箱),要么全不给(样本不足时只点每一笔)'
171
+ + '—— 只给一半画不出箱体,读者会以为那一头就是端点');
172
+ }
173
+ if (given === 0) {
174
+ /* 样本不足那一支:**每一笔都点在尺子上**,故点数必须正好是笔数。 */
175
+ if (b.points === undefined) {
176
+ badInput(at + ' 没给五数概括(low/q1/q3/high),就必须给 points(每一笔的读数本身)'
177
+ + '—— 一行要么是箱、要么是点,不给就什么都没画');
178
+ }
179
+ if (b.outliers !== undefined)
180
+ badInput(at + '.outliers 与 points 不能同时给(不画箱就没有「须外的点」这回事)');
181
+ if (count >= SPREAD_DIST_BOX_MIN_COUNT) {
182
+ badInput(at + '.count 有 ' + String(count) + ' 笔(≥ ' + String(SPREAD_DIST_BOX_MIN_COUNT)
183
+ + '):样本够画箱,请给五数概括(画点会把「中间那批落在哪」这件事丢掉)');
184
+ }
185
+ const raw = b.points;
186
+ if (!Array.isArray(raw) || raw.length !== count) {
187
+ badInput(at + '.points 必须正好有 ' + String(count) + ' 笔(每一笔都点在尺子上,笔数对不上就是漏画)');
188
+ }
189
+ assertDenseArray(raw, at + '.points');
190
+ const points = raw.map((p, j) => reqNumber(p, at + '.points[' + String(j) + ']'));
191
+ return { label, count, median, points };
192
+ }
193
+ const low = reqNumber(b.low, at + '.low');
194
+ const q1 = reqNumber(b.q1, at + '.q1');
195
+ const q3 = reqNumber(b.q3, at + '.q3');
196
+ const high = reqNumber(b.high, at + '.high');
197
+ if (!(low <= q1 && q1 <= median && median <= q3 && q3 <= high)) {
198
+ badInput(at + ' 必须满足 low ≤ q1 ≤ 中位 ≤ q3 ≤ high(次序反了,箱体与须会画到互相错位)');
199
+ }
200
+ if (count < SPREAD_DIST_BOX_MIN_COUNT) {
201
+ badInput(at + '.count 只有 ' + String(count) + ' 笔(< ' + String(SPREAD_DIST_BOX_MIN_COUNT)
202
+ + '):样本太少,箱体的形状是估计出来的 ⇒ 请改给 points(每一笔点在尺子上,不画箱)');
203
+ }
204
+ if (b.points !== undefined)
205
+ badInput(at + '.points 只在样本不足(count < '
206
+ + String(SPREAD_DIST_BOX_MIN_COUNT) + ')时给:画箱那一支每一笔已经概括在五数里了');
207
+ if (b.outliers === undefined)
208
+ return { label, count, median, low, q1, q3, high };
209
+ const raw = b.outliers;
210
+ if (!Array.isArray(raw))
211
+ badInput(at + '.outliers 必须是数组(每一枚是那个离群读数的值)');
212
+ assertDenseArray(raw, at + '.outliers');
213
+ const outliers = raw.map((o, j) => {
214
+ const v = reqNumber(o, at + '.outliers[' + String(j) + ']');
215
+ if (low <= v && v <= high) {
216
+ badInput(at + '.outliers[' + String(j) + '] 落在须里(' + String(v) + ' 在 ' + String(low) + ' 与 '
217
+ + String(high) + ' 之间):须里的点不是离群点,画上去读者会把它当异常');
218
+ }
219
+ return v;
220
+ });
221
+ return { label, count, median, low, q1, q3, high, outliers };
222
+ }
223
+ /** A 档各组:**1–8 组**(一组也画得出;多于 8 组一屏读不完),组名互不相同。 */
224
+ function reqBoxes(value) {
225
+ if (!Array.isArray(value) || value.length < SPREAD_DIST_MIN_BOXES) {
226
+ badInput('spread-dist: input.boxes 至少 ' + String(SPREAD_DIST_MIN_BOXES) + ' 组(空数组没有东西可画)');
227
+ }
228
+ if (value.length > SPREAD_DIST_MAX_BOXES) {
229
+ badInput('spread-dist: input.boxes 最多 ' + String(SPREAD_DIST_MAX_BOXES)
230
+ + ' 组(再多一屏读不完,请调用方先按大类归并)');
231
+ }
232
+ assertDenseArray(value, 'spread-dist: input.boxes');
233
+ const seen = new Set();
234
+ return value.map((item, i) => {
235
+ const box = reqBox(item, i);
236
+ if (seen.has(box.label)) {
237
+ badInput('spread-dist: input.boxes[' + String(i) + '].label 与前面某一组同名(组名是这一行的坐标,两行同名就指代不了)');
238
+ }
239
+ seen.add(box.label);
240
+ return box;
241
+ });
242
+ }
97
243
  /** 入参归一化。**唯一入口**:`render.ts` 只吃它产出的 `SpreadDistModel`,不再自己碰 `any`。 */
98
244
  export function normalizeSpreadDist(input) {
99
245
  assertPlainObject(input, 'renderSpreadDist: input');
100
246
  const raw = input;
247
+ assertKeys(raw, INPUT_KEYS, 'renderSpreadDist: input');
101
248
  const form = raw.form === undefined ? SPREAD_DIST_FORMS[0] : raw.form;
102
249
  if (!SPREAD_DIST_FORMS.includes(form)) {
103
250
  badInput('spread-dist: input.form 必须是 ' + SPREAD_DIST_FORMS.join('/')
104
- + ' 之一(逐日范围柱/分位尺)');
251
+ + ' 之一(箱线/逐日范围柱/分位尺)');
105
252
  }
106
253
  const common = {
107
254
  title: reqRealText(raw.title, 'spread-dist: input.title'),
@@ -113,5 +260,8 @@ export function normalizeSpreadDist(input) {
113
260
  /* 形态决定读哪个数组:**缺了就是缺了**(不拿另一个形态的字段顶上,那是静默降级)。 */
114
261
  if (form === 'quantile')
115
262
  return quantileModel(common, reqStops(raw.stops));
263
+ if (form === 'box')
264
+ return boxModel(common, reqBoxes(raw.boxes));
116
265
  return rangeModel(common, reqDays(raw.days));
117
266
  }
267
+ //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/components/spread-dist/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/components/spread-dist/model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/components/spread-dist/render.ts"],"names":[],"mappings":"AA2GA,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKvD"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/components/spread-dist/render.ts"],"names":[],"mappings":"AAgLA,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKvD"}
@@ -1,6 +1,8 @@
1
- /** spread-dist · **渲染**(纯函数产 HTML;两档各一支骨架:逐日范围柱/分位尺)。
1
+ /** spread-dist · **渲染**(纯函数产 HTML;三个骨架各一支:箱线/逐日范围柱/分位尺)。
2
2
  *
3
- * —— 两档 ——
3
+ * —— 三档 ——
4
+ * · `box` 一行一组,同一把尺子横着量:箱体=P25 到 P75、粗线=中位、须=两端、圈=离群点,
5
+ * 样本不足的组只把每一笔点在尺子上;
4
6
  * · `range` 每天都摊成一根从最低到最高的竖条,中间的粗块是中位数,横轴是日子,纵轴是同一个读数;
5
7
  * · `quantile` 结论一句话在上,下面一档一格写着「分位名 + 说明句 + 那个数」,正中那一档是中位。
6
8
  * 它替掉的两种错法:
@@ -11,9 +13,10 @@
11
13
  * · **算数不在这里**:轴域、刻度文字与刻度位置、每根条与每个中位块的百分比、卡头那句统计、
12
14
  * 口径句与无障碍名都在 `forms.ts` 算好;这一支只把**算出来的百分比**写进行内样式
13
15
  * (一条记录一个数),静态规则一律住 `style.ts`;
14
- * · **刻度与轴域是同一份真值**:每枚纵轴刻度的 `top` 与每根柱的 `bottom`/`height` 出自同一个
15
- * `upPct()` —— 读者按刻度读一根柱,读到的是这根柱真正的数;
16
+ * · **刻度与轴域是同一份真值**:每枚刻度的位置与每根条/箱体/点的位置出自同一个 `upPct()`
17
+ * —— 读者按刻度读一根柱(或量一行箱体),读到的是它真正的数;
16
18
  * · **色不是唯一信息**:范围条是淡洗的**面**、中位块是实底的**条**(深浅两档形)+ 图例给字;
19
+ * 箱线那边箱体是**面**、中位是**粗线**、离群是**空心圈**、单笔是**实心点**(四种形);
17
20
  * 分位尺那边正中那一档有**选中面**(软底+主色字+主色描边)+ 它自己那枚档名;
18
21
  * · **本件不带可点元素、不带脚本**:没有 `runtime.ts`;调用方把某一天包成入口时,
19
22
  * 件里那条 `:focus-visible` 地板保证焦点看得见(见 `README.md`)。
@@ -21,14 +24,16 @@
21
24
  import { esc } from '../shared/escape.js';
22
25
  import { SPREAD_DIST_CLASS, spreadDistSlot } from './attrs.js';
23
26
  import { normalizeSpreadDist } from './model.js';
24
- /** 卡头:标题 + 口径那枚 + **从数据算出来**的那句统计。 */
27
+ /** 卡头:标题 + 口径那枚 + **从数据算出来**的那句统计(A 档那一位是单位)。 */
25
28
  function headHtml(m) {
26
29
  const parts = ['<div class="' + spreadDistSlot('hd') + '">'];
27
30
  parts.push('<h4 class="' + spreadDistSlot('title') + '">' + esc(m.title) + '</h4>');
28
31
  if (m.stamp !== undefined) {
29
32
  parts.push('<span class="' + spreadDistSlot('stamp') + '">' + esc(m.stamp) + '</span>');
30
33
  }
31
- parts.push('<span class="' + spreadDistSlot('tail') + '">' + esc(m.tail) + '</span>');
34
+ if (m.tail !== undefined) {
35
+ parts.push('<span class="' + spreadDistSlot('tail') + '">' + esc(m.tail) + '</span>');
36
+ }
32
37
  parts.push('</div>');
33
38
  return parts.join('');
34
39
  }
@@ -50,11 +55,15 @@ function noteHtml(m) {
50
55
  function renderRange(m) {
51
56
  const parts = [headHtml(m)];
52
57
  parts.push('<div class="' + spreadDistSlot('plotbox') + '">');
53
- /* 纵轴刻度列:每枚**绝对定位在它自己那个值的位置上**(`top` 是算出来的百分比,与柱子同一个映射),
58
+ /* 纵轴刻度列:每枚**绝对定位在它自己那个值的位置上**(`bottom` 是算出来的百分比,与柱子同一个映射),
54
59
  故刻度文字与柱子读数永远对得上;只有最高那一枚带单位。 */
55
60
  parts.push('<div class="' + spreadDistSlot('yticks') + '" aria-hidden="true">'
56
- + m.yTicks.map((t) => '<span class="' + spreadDistSlot('ytick') + '" style="top: '
57
- + String(t.topPct) + '%">' + esc(t.text) + '</span>').join('')
61
+ + m.yTicks.map((t) => '<span class="' + spreadDistSlot('ytick') + '" style="bottom: '
62
+ + String(t.bottomPct) + '%">' + esc(t.text) + '</span>').join('')
63
+ /* 隐形撑子:各枚刻度绝对定位后列里没有在流内容,列宽会塌成 0(刻度被 0 宽压成细条、悬到框外)。
64
+ 它与刻度同字、逐行一份,只撑列宽(`visibility: hidden`,另见 `style.ts`)。 */
65
+ + '<span class="' + spreadDistSlot('yticks-sizer') + '">'
66
+ + m.yTicks.map((t) => esc(t.text)).join('<br>') + '</span>'
58
67
  + '</div>');
59
68
  parts.push('<div class="' + spreadDistSlot('days') + '" role="img" aria-label="' + esc(m.ariaLabel) + '">');
60
69
  for (const day of m.days) {
@@ -94,10 +103,69 @@ function renderQuantile(m) {
94
103
  parts.push(noteHtml(m));
95
104
  return parts.join('');
96
105
  }
97
- /** 形态 → 骨架(分派写在这里,加第三形态就是加一支)。 */
106
+ /** 形态 `box`:**一行一组、同一把尺子横着量** —— 行区(贯穿的网格线 + 逐行轨道)→ 尺子 → 图例 → 脚注。 */
107
+ function renderBox(m) {
108
+ const parts = [headHtml(m)];
109
+ parts.push('<div class="' + spreadDistSlot('groups') + '" role="img" aria-label="' + esc(m.ariaLabel) + '">');
110
+ /* 贯穿整个行区的竖向网格线:**每一枚刻度一根**(位置与尺子上那枚刻度是同一个算出来的百分比)
111
+ —— 四行叠起来读成一把从顶贯到底的尺子,而不是每行各自的碎段。
112
+ 首末两根贴端(`is-first`/`is-last`):挪半个/一个自身宽度,容器一根毫毛都不多长。 */
113
+ parts.push('<span class="' + spreadDistSlot('grid') + '" aria-hidden="true">'
114
+ + m.rulerTicks.map((t, i) => '<i class="' + spreadDistSlot('grid-line')
115
+ + (i === 0 ? ' is-first' : '') + (i === m.rulerTicks.length - 1 ? ' is-last' : '')
116
+ + '" style="left: ' + String(t.leftPct) + '%"></i>').join('')
117
+ + '</span>');
118
+ for (const g of m.groups) {
119
+ parts.push('<div class="' + spreadDistSlot('group') + '">');
120
+ /* 行头**一行一档字号**:组名/笔数/中位同行同号(同屏只留一层话)。 */
121
+ parts.push('<span class="' + spreadDistSlot('group-hd') + '">'
122
+ + '<b class="' + spreadDistSlot('group-name') + '">' + esc(g.label) + '</b>'
123
+ + '<span class="' + spreadDistSlot('group-count') + '">' + esc(g.countText) + '</span>'
124
+ + '<span class="' + spreadDistSlot('group-median') + '">' + esc(g.medianText) + '</span>'
125
+ + '</span>');
126
+ parts.push('<span class="' + spreadDistSlot('track') + '" title="' + esc(g.title) + '">');
127
+ parts.push('<i class="' + spreadDistSlot('rail') + '" aria-hidden="true"></i>');
128
+ if (g.whiskerPct !== null) {
129
+ parts.push('<i class="' + spreadDistSlot('whisker') + '" aria-hidden="true" style="left: '
130
+ + String(g.whiskerPct.leftPct) + '%; width: ' + String(g.whiskerPct.widthPct) + '%"></i>');
131
+ }
132
+ if (g.boxPct !== null) {
133
+ parts.push('<i class="' + spreadDistSlot('box') + '" aria-hidden="true" style="left: '
134
+ + String(g.boxPct.leftPct) + '%; width: ' + String(g.boxPct.widthPct) + '%"></i>');
135
+ }
136
+ parts.push('<i class="' + spreadDistSlot('median') + '" aria-hidden="true" style="left: '
137
+ + String(g.medianPct) + '%"></i>');
138
+ for (const o of g.outliersPct) {
139
+ parts.push('<i class="' + spreadDistSlot('outlier') + '" aria-hidden="true" style="left: '
140
+ + String(o) + '%"></i>');
141
+ }
142
+ for (const p of g.pointsPct) {
143
+ parts.push('<i class="' + spreadDistSlot('point') + '" aria-hidden="true" style="left: '
144
+ + String(p) + '%"></i>');
145
+ }
146
+ parts.push('</span>');
147
+ parts.push('</div>');
148
+ }
149
+ parts.push('</div>');
150
+ /* 尺子(在四行下面只画这一把):一根通栏线 + 每枚刻度一根竖线 + 贴在它位置上的那个值
151
+ (首末两枚贴端,故容器不会被那两枚顶出横溢)。 */
152
+ parts.push('<div class="' + spreadDistSlot('ruler') + '" aria-hidden="true">'
153
+ + m.rulerTicks.map((t, i) => '<i class="' + spreadDistSlot('tick')
154
+ + (i === 0 ? ' is-first' : '') + (i === m.rulerTicks.length - 1 ? ' is-last' : '')
155
+ + '" style="left: ' + String(t.leftPct) + '%"></i>'
156
+ + '<b class="' + spreadDistSlot('tick-value') + (i === 0 ? ' is-first' : '')
157
+ + (i === m.rulerTicks.length - 1 ? ' is-last' : '') + '" style="left: ' + String(t.leftPct) + '%">'
158
+ + esc(t.text) + '</b>').join('')
159
+ + '</div>');
160
+ parts.push(legendHtml(m));
161
+ parts.push(noteHtml(m));
162
+ return parts.join('');
163
+ }
164
+ /** 形态 → 骨架(分派写在这里,加第四形态就是加一支)。 */
98
165
  const SKELETONS = {
99
166
  range: renderRange,
100
167
  quantile: renderQuantile,
168
+ box: renderBox,
101
169
  };
102
170
  /** 渲染分布与分位(纯函数:同样的入参恒产同样的字节;转义只经 `shared/escape.ts`)。 */
103
171
  export function renderSpreadDist(input) {
@@ -106,3 +174,4 @@ export function renderSpreadDist(input) {
106
174
  return '<div class="' + SPREAD_DIST_CLASS + ' is-' + m.form + extra + '">'
107
175
  + SKELETONS[m.form](m) + '</div>';
108
176
  }
177
+ //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/components/spread-dist/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/components/spread-dist/render.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /** 两位小数(所有出出去的百分比都过它:行内样式里不许出现 0.30000000000000004)。 */
2
2
  export declare const round2: (v: number) => number;
3
- /** 读数里的数字(`title`/无障碍名用:最多两位小数,末尾的零去掉)。 */
3
+ /** 读数里的数字(`title`/无障碍名用:12 位定点去零,保证非零读数不写成 `0`;
4
+ * 小到只给指数写法的读数展开成定点(与刻度同形,不与刻度写两样)。 */
4
5
  export declare function plainText(v: number): string;
5
6
  /** 单位那一段(进了可见文本,故与读数同一处拼):**没有单位就什么都不加**。 */
6
7
  export declare const unitPart: (unit: string | undefined) => string;
@@ -23,13 +24,24 @@ export interface Axis {
23
24
  * · **全部读数同一个值**(`min === max`):撑开半档出来(不然除零;也不许静默画成一条贴轴的线);
24
25
  * · 步长小数位有限(至多 6 位):撑开后若两头量化成同一个数,把上界抬一个步长。 */
25
26
  export declare function niceAxis(min: number, max: number, target?: number): Axis;
26
- /** 一段轴域上的刻度值(从下往上:第 0 枚=轴底)。 */
27
+ /** 一段轴域上的刻度值(从下往上:第 0 枚=轴底;枚数恒 ≤ 常量上限,进循环前已夹过)。 */
27
28
  export declare function tickValues(axis: Axis): number[];
28
29
  /** 刻度文字(**从大往小**:纵轴口径);只有最高那一枚带单位。 */
29
30
  export declare function tickTexts(axis: Axis, unit: string | undefined): string[];
31
+ /** 一把横轴尺子上的一枚刻度:**文字 + 它自己那个值的百分比位置**(**从小到大**:横轴口径)。
32
+ *
33
+ * 与 `tickTexts()` 出自同一支 `tickValues()`(竖轴从大往小、横轴从小到大,两处不可能走散);
34
+ * 文字不带单位——A 档的单位只印一次(卡头右端),刻度值不再逐枚带。 */
35
+ export interface RulerTick {
36
+ readonly text: string;
37
+ /** 从左边起的百分比位置(与柱/箱/点的 `leftPct` 是**同一个** `upPct()`)。 */
38
+ readonly leftPct: number;
39
+ }
40
+ /** 一段轴域上的横轴刻度(位置与文字同一份轴域)。 */
41
+ export declare function rulerTicks(axis: Axis): RulerTick[];
30
42
  /** **唯一的坐标映射**:数据 → 从下往上的百分比(0…100)。
31
43
  *
32
- * 逐日柱区里每根范围条的 `bottom`/`height`、每个中位块的 `bottom`、每枚纵轴刻度的 `top`
44
+ * 逐日柱区里每根范围条的 `bottom`/`height`、每个中位块的 `bottom`、每枚纵轴刻度的 `bottom`
33
45
  * 都只经这一支 —— 刻度与柱子是同一份真值,读者按刻度读出来的值就是柱子的位置。 */
34
46
  export declare function upPct(value: number, axis: Axis): number;
35
47
  //# sourceMappingURL=scale.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../../src/components/spread-dist/scale.ts"],"names":[],"mappings":"AAwBA,wDAAwD;AACxD,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,KAAG,MAA8B,CAAC;AA0BlE,2CAA2C;AAC3C,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK3C;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;;;;;;;;iDAQiD;AACjD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAA+B,GAAG,IAAI,CAehG;AAED,gCAAgC;AAChC,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAI/C;AAED,sCAAsC;AACtC,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAGxE;AAID;;;+CAG+C;AAC/C,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAIvD"}
1
+ {"version":3,"file":"scale.d.ts","sourceRoot":"","sources":["../../../src/components/spread-dist/scale.ts"],"names":[],"mappings":"AAyBA,wDAAwD;AACxD,eAAO,MAAM,MAAM,GAAI,GAAG,MAAM,KAAG,MAA8B,CAAC;AA0BlE;uCACuC;AACvC,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB3C;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;AAoBD;;;;;;;;iDAQiD;AACjD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAA+B,GAAG,IAAI,CAuBhG;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;AAED;;;yCAGyC;AACzC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,8BAA8B;AAC9B,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,CAElD;AAID;;;+CAG+C;AAC/C,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAIvD"}