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
@@ -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,3 @@
1
+ /** 渲染差值带(纯函数:同样的入参恒产同样的字节;转义只经 `shared/escape.ts`)。 */
2
+ export declare function renderGapBand(input: unknown): string;
3
+ //# sourceMappingURL=render.d.ts.map
@@ -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"}