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,149 @@
1
+ /** radar-profile · **装配出来的形状 + 逐轴的小件**(三形态共用那一份)。
2
+ *
3
+ * 为什么有这一件:本件一次落三个形态(多边形雷达/极区扇图/展平轴表),校验 + 装配 + 算数 + 类型
4
+ * 挤在一件里会超本包告警线 350(`packages/base-render/AGENTS.md`)。切法按**面**分:
5
+ * · `model.ts`:入参校验与归一化入口(`badInput()` 全在那边);
6
+ * · 本件:**模型类型**(三个骨架装配出来的形状)与**逐轴的小件**(读数文字、位置、差、辐条、轴名、无障碍句);
7
+ * · `forms.ts`:三个骨架各自的装配(调本件的小件);
8
+ * · `scale.ts`:角度、极坐标、半径映射、路径与数字格式(纯算数,本件调它)。
9
+ * 拆分只搬「住哪个文件」,产出一个字节都没改。
10
+ *
11
+ * 两条口径:
12
+ * 1. **能算的都算出来**:读数文字、位置占比、差的字形、辐条终点、轴名锚点都在这里定下来;
13
+ * `render.ts` 只负责拼标记,算术一个字都不写。
14
+ * 2. **缺值与缺测是两件事**:`score === null` = 缺测(画面上整根不落、读数写 `—`),
15
+ * `past === null` = 没有上期(那一列根本不出)。
16
+ */
17
+ import { type RadarProfileAxis, type RadarProfileForm } from './attrs.js';
18
+ /** 卡头/脚注那几段共有的事实。 */
19
+ export interface RadarProfileCommon {
20
+ readonly title: string;
21
+ readonly stamp?: string;
22
+ readonly pastStamp?: string;
23
+ readonly noteIn?: string;
24
+ readonly extraClass?: string;
25
+ }
26
+ /** 一根轴(**含缺测的**):读数的三种写法与算出来的位置都在这里。 */
27
+ export interface RadarProfileAxisModel {
28
+ readonly label: string;
29
+ /** 本期得分;`null` = 缺测。 */
30
+ readonly score: number | null;
31
+ /** 上期得分;`null` = 没有上期(没有上期时整列不出)。 */
32
+ readonly past: number | null;
33
+ readonly note?: string;
34
+ readonly band?: {
35
+ readonly low: number;
36
+ readonly high: number;
37
+ };
38
+ /** 0…100 的位置占比(唯一映射的产物:多边形的顶点半径、轨道上那根竖线都用它)。 */
39
+ readonly at: number | null;
40
+ readonly valueText: string;
41
+ readonly pastText: string;
42
+ readonly delta: number | null;
43
+ readonly deltaText: string;
44
+ /** 差那一格的方向(`up`/`down`/`flat`/`none`):字形由它出,颜色不由它出。 */
45
+ readonly dir: 'up' | 'down' | 'flat' | 'none';
46
+ }
47
+ /** 轴名那一块:名字一行、读数一行,位置是**同一个映射**的百分比。 */
48
+ export interface RadarProfileLabelModel {
49
+ readonly label: string;
50
+ readonly valueText: string;
51
+ readonly present: boolean;
52
+ readonly anchor: 'top' | 'right' | 'bottom' | 'left';
53
+ readonly left: number;
54
+ readonly top: number;
55
+ }
56
+ /** 一格网格环(三级;值就是印在刻度条上的那个数)。 */
57
+ export interface RadarProfileRingModel {
58
+ readonly value: number;
59
+ readonly radius: number;
60
+ }
61
+ /** 一根辐条(只画**有读数**的轴:缺测的轴整根不画)。 */
62
+ export interface RadarProfileSpokeModel {
63
+ readonly x2: number;
64
+ readonly y2: number;
65
+ }
66
+ /** 一个顶点(本期读数落在它那根轴上的位置)。 */
67
+ export interface RadarProfileVertexModel {
68
+ readonly x: number;
69
+ readonly y: number;
70
+ }
71
+ /** 读数表的一行。 */
72
+ export interface RadarProfileTableRowModel {
73
+ readonly name: string;
74
+ readonly nowText: string;
75
+ readonly pastText: string;
76
+ readonly deltaText: string;
77
+ readonly dir: 'up' | 'down' | 'flat' | 'none';
78
+ }
79
+ /** 图例的一项(`形 + 字`;形由 `slot`/`kind` 给)。 */
80
+ export interface RadarProfileLegendItemModel {
81
+ readonly slot: 'axline' | 'swatch';
82
+ readonly kind: 'now' | 'past' | 'ok' | 'warn';
83
+ readonly text: string;
84
+ /** 达标那一项里**印出来的达标分**(判据从它把刻度读回来);其余项不给。 */
85
+ readonly goalNum?: string;
86
+ }
87
+ /** 一根扇区(半径=得分;`score` 存的是**印出来的那个数**——达标判定与点名差值都从它算)。 */
88
+ export interface RadarProfileWedgeModel {
89
+ readonly path: string;
90
+ readonly arc: string;
91
+ readonly ok: boolean;
92
+ readonly score: number;
93
+ }
94
+ /** 未达标点名清单的一行。 */
95
+ export interface RadarProfileGapModel {
96
+ readonly label: string;
97
+ readonly scoreText: string;
98
+ readonly diffText: string;
99
+ }
100
+ /** 展平轴表的一行。 */
101
+ export interface RadarProfileRailRowModel {
102
+ readonly label: string;
103
+ readonly note?: string;
104
+ /** 位置(轨道宽度的百分数串,如 `62%`);缺测=不给。 */
105
+ readonly at?: string;
106
+ readonly valueText: string;
107
+ readonly b1?: string;
108
+ readonly b2?: string;
109
+ readonly verdict: string;
110
+ readonly verdictKind: 'in' | 'low' | 'high' | 'none' | 'missing';
111
+ readonly bandText?: string;
112
+ }
113
+ /** 内部类型:每个字段都已校验、已归一、已算好;**别的形态那几段是空数组/空串**(只有一段非空)。 */
114
+ export interface RadarProfileModel {
115
+ readonly form: RadarProfileForm;
116
+ readonly title: string;
117
+ readonly stamp?: string;
118
+ readonly tail: string;
119
+ readonly note: string;
120
+ readonly ariaLabel: string;
121
+ readonly extraClass?: string;
122
+ readonly labels: readonly RadarProfileLabelModel[];
123
+ readonly rings: readonly RadarProfileRingModel[];
124
+ readonly spokes: readonly RadarProfileSpokeModel[];
125
+ readonly pastPoints: string;
126
+ readonly nowPoints: string;
127
+ readonly nowDots: readonly RadarProfileVertexModel[];
128
+ readonly scaleItems: readonly string[];
129
+ readonly tableHead: readonly string[];
130
+ readonly tableRows: readonly RadarProfileTableRowModel[];
131
+ readonly wedges: readonly RadarProfileWedgeModel[];
132
+ readonly goalRadius: number;
133
+ readonly goalNumText: string;
134
+ readonly hubText: string;
135
+ readonly gaps: readonly RadarProfileGapModel[];
136
+ readonly legend: readonly RadarProfileLegendItemModel[];
137
+ readonly rows: readonly RadarProfileRailRowModel[];
138
+ }
139
+ /** 校验过的几根轴 → 图上用的那一份(位置、读数文字、差的形状都在这里定下来,三个形态共用)。 */
140
+ export declare function axisModels(list: readonly RadarProfileAxis[]): RadarProfileAxisModel[];
141
+ /** 有读数的那些轴 → 辐条的终点(缺测的轴整根不画:辐条与顶点一起不画)。 */
142
+ export declare function spokesOf(axes: readonly RadarProfileAxisModel[], count: number): RadarProfileSpokeModel[];
143
+ /** 轴名那一块(缺测的轴照样出名字与 `—`:读者要知道"这根没测",而不是"这根不存在")。 */
144
+ export declare function labelModel(axis: RadarProfileAxisModel, index: number, count: number): RadarProfileLabelModel;
145
+ /** 逐轴点名的句子(无障碍名用):每根轴一句,句间用句号,不堆并列分隔符。 */
146
+ export declare function axisSentences(axes: readonly RadarProfileAxisModel[], withPast: boolean): string;
147
+ /** 半径基准(三个形态共用同一把尺子:满分 100 对应 `RADAR_PROFILE_RADIUS`)。 */
148
+ export declare const radiusOf: (score: number) => number;
149
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/components/radar-profile/fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAwB,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAYhG,qBAAqB;AACrB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wCAAwC;AACxC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAC/C;AAED,wCAAwC;AACxC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AAED,+BAA+B;AAC/B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,kCAAkC;AAClC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,4BAA4B;AAC5B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,cAAc;AACd,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;CAC/C;AAED,yCAAyC;AACzC,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,kBAAkB;AAClB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,eAAe;AACf,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wDAAwD;AACxD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAEnD,QAAQ,CAAC,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACrD,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAEzD,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAE/C,QAAQ,CAAC,MAAM,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAExD,QAAQ,CAAC,IAAI,EAAE,SAAS,wBAAwB,EAAE,CAAC;CACpD;AA4BD,qDAAqD;AACrD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,gBAAgB,EAAE,GAAG,qBAAqB,EAAE,CAQrF;AAED,2CAA2C;AAC3C,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB,EAAE,CAQxG;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAU5G;AAED,0CAA0C;AAC1C,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,qBAAqB,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAI/F;AAED,0DAA0D;AAC1D,eAAO,MAAM,QAAQ,GAAI,OAAO,MAAM,KAAG,MAAoD,CAAC"}
@@ -0,0 +1,77 @@
1
+ /** radar-profile · **装配出来的形状 + 逐轴的小件**(三形态共用那一份)。
2
+ *
3
+ * 为什么有这一件:本件一次落三个形态(多边形雷达/极区扇图/展平轴表),校验 + 装配 + 算数 + 类型
4
+ * 挤在一件里会超本包告警线 350(`packages/base-render/AGENTS.md`)。切法按**面**分:
5
+ * · `model.ts`:入参校验与归一化入口(`badInput()` 全在那边);
6
+ * · 本件:**模型类型**(三个骨架装配出来的形状)与**逐轴的小件**(读数文字、位置、差、辐条、轴名、无障碍句);
7
+ * · `forms.ts`:三个骨架各自的装配(调本件的小件);
8
+ * · `scale.ts`:角度、极坐标、半径映射、路径与数字格式(纯算数,本件调它)。
9
+ * 拆分只搬「住哪个文件」,产出一个字节都没改。
10
+ *
11
+ * 两条口径:
12
+ * 1. **能算的都算出来**:读数文字、位置占比、差的字形、辐条终点、轴名锚点都在这里定下来;
13
+ * `render.ts` 只负责拼标记,算术一个字都不写。
14
+ * 2. **缺值与缺测是两件事**:`score === null` = 缺测(画面上整根不落、读数写 `—`),
15
+ * `past === null` = 没有上期(那一列根本不出)。
16
+ */
17
+ import { RADAR_PROFILE_RADIUS } from './attrs.js';
18
+ import { anchorOf, deltaText, labelPercentOf, percentOfScore, plainNum, polarOf, radiusOfScore, round2, } from './scale.js';
19
+ /** 一根轴:把校验过的读数装成"图上用的那个形状"。 */
20
+ function axisModel(raw) {
21
+ /* **三种写法与那一个差都从印出来的数算**(`plainNum()` 的粒度=两位小数):否则 80.004 与 79.996
22
+ 两格都印「80」,而差那一格写出「▲ +0.01」——同一行自相矛盾,读者不知道该信谁。 */
23
+ const now = raw.score === null ? null : round2(raw.score);
24
+ const past = raw.past === null ? null : round2(raw.past);
25
+ const delta = now === null || past === null ? null : round2(now - past);
26
+ return {
27
+ ...raw,
28
+ at: now === null ? null : percentOfScore(now),
29
+ valueText: now === null ? '—' : plainNum(now),
30
+ pastText: past === null ? '—' : plainNum(past),
31
+ delta,
32
+ deltaText: deltaText(delta),
33
+ dir: delta === null ? 'none' : (delta > 0 ? 'up' : (delta < 0 ? 'down' : 'flat')),
34
+ };
35
+ }
36
+ /** 校验过的几根轴 → 图上用的那一份(位置、读数文字、差的形状都在这里定下来,三个形态共用)。 */
37
+ export function axisModels(list) {
38
+ return list.map((one) => axisModel({
39
+ label: one.label,
40
+ score: one.score,
41
+ past: one.past === undefined ? null : one.past,
42
+ note: one.note,
43
+ band: one.band,
44
+ }));
45
+ }
46
+ /** 有读数的那些轴 → 辐条的终点(缺测的轴整根不画:辐条与顶点一起不画)。 */
47
+ export function spokesOf(axes, count) {
48
+ const out = [];
49
+ axes.forEach((a, index) => {
50
+ if (a.score === null)
51
+ return;
52
+ const p = polarOf(index, count, RADAR_PROFILE_RADIUS);
53
+ out.push({ x2: p.x, y2: p.y });
54
+ });
55
+ return out;
56
+ }
57
+ /** 轴名那一块(缺测的轴照样出名字与 `—`:读者要知道"这根没测",而不是"这根不存在")。 */
58
+ export function labelModel(axis, index, count) {
59
+ const at = labelPercentOf(index, count);
60
+ return {
61
+ label: axis.label,
62
+ valueText: axis.valueText,
63
+ present: axis.score !== null,
64
+ anchor: anchorOf(index, count),
65
+ left: at.left,
66
+ top: at.top,
67
+ };
68
+ }
69
+ /** 逐轴点名的句子(无障碍名用):每根轴一句,句间用句号,不堆并列分隔符。 */
70
+ export function axisSentences(axes, withPast) {
71
+ return axes.map((a) => a.label + ' 本期 '
72
+ + (a.score === null ? '缺测' : plainNum(a.score) + ' 分')
73
+ + (withPast ? (a.past === null ? ',上期缺测' : ',上期 ' + plainNum(a.past) + ' 分') : '')).join('。');
74
+ }
75
+ /** 半径基准(三个形态共用同一把尺子:满分 100 对应 `RADAR_PROFILE_RADIUS`)。 */
76
+ export const radiusOf = (score) => radiusOfScore(score, RADAR_PROFILE_RADIUS);
77
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/components/radar-profile/fields.ts"],"names":[],"mappings":"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"}
@@ -1,145 +1,7 @@
1
- /** radar-profile · **三形态的装配**(本件第二份源码件:`model.ts` 校验过的入参在这里变成模型的形状)。
2
- *
3
- * 为什么有这一件:本件一次落三个形态(多边形雷达/极区扇图/展平轴表),校验 + 装配 + 算数挤在一件里
4
- * 会超本包告警线 350(`packages/base-render/AGENTS.md`)。切口按「入参面/装配面/算数面」分:
5
- * · `model.ts`:入参校验与归一化入口(`badInput()` 全在那边);
6
- * · 本件:已校验的入参 → 三个骨架的模型(顶点、扇区、行的位置与那句算出来的话);
7
- * · `scale.ts`:角度、极坐标、半径映射、路径与数字格式(纯算数,本件调它)。
8
- *
9
- * 两条口径:
10
- * 1. **能算的都算出来**:尾句、图例、平均分、差多少分、判定文字都在这里定;
11
- * `render.ts` 只负责拼标记,算术一个字都不写。
12
- * 2. **可见文本的用词纪律**:本件生成的字里**不出现** `·`/`;`/并列顿号连排(仓库的分隔符门
13
- * `test/separator-probe.mjs` R1–R3 对可见文本零豁免);句间一律用 `,` 与 `。`——
14
- * `,` 在那一门里是行文标点,不算并列分隔符。
15
- */
16
- import { type RadarProfileAxis, type RadarProfileForm } from './attrs.js';
17
- /** 卡头/脚注那几段共有的事实。 */
18
- export interface RadarProfileCommon {
19
- readonly title: string;
20
- readonly stamp?: string;
21
- readonly pastStamp?: string;
22
- readonly noteIn?: string;
23
- readonly extraClass?: string;
24
- }
25
- /** 一根轴(**含缺测的**):读数的三种写法与服务端算出来的位置都在这里。 */
26
- export interface RadarProfileAxisModel {
27
- readonly label: string;
28
- /** 本期得分;`null` = 缺测。 */
29
- readonly score: number | null;
30
- /** 上期得分;`null` = 没有上期(没有上期时整列不出)。 */
31
- readonly past: number | null;
32
- readonly note?: string;
33
- readonly band?: {
34
- readonly low: number;
35
- readonly high: number;
36
- };
37
- /** 0…100 的位置占比(唯一映射的产物:多边形的顶点半径、轨道上那根竖线都用它)。 */
38
- readonly at: number | null;
39
- readonly valueText: string;
40
- readonly pastText: string;
41
- readonly delta: number | null;
42
- readonly deltaText: string;
43
- /** 差那一格的方向(`up`/`down`/`flat`/`none`):字形由它出,颜色不由它出。 */
44
- readonly dir: 'up' | 'down' | 'flat' | 'none';
45
- }
46
- /** 轴名那一块:名字一行、读数一行,位置是**同一个映射**的百分比。 */
47
- export interface RadarProfileLabelModel {
48
- readonly label: string;
49
- readonly valueText: string;
50
- readonly present: boolean;
51
- readonly anchor: 'top' | 'right' | 'bottom' | 'left';
52
- readonly left: number;
53
- readonly top: number;
54
- }
55
- /** 一格网格环(三级;值就是印在刻度条上的那个数)。 */
56
- export interface RadarProfileRingModel {
57
- readonly value: number;
58
- readonly radius: number;
59
- }
60
- /** 一根辐条(只画**有读数**的轴:缺测的轴整根不画)。 */
61
- export interface RadarProfileSpokeModel {
62
- readonly x2: number;
63
- readonly y2: number;
64
- }
65
- /** 一个顶点(本期读数落在它那根轴上的位置)。 */
66
- export interface RadarProfileVertexModel {
67
- readonly x: number;
68
- readonly y: number;
69
- }
70
- /** 读数表的一行。 */
71
- export interface RadarProfileTableRowModel {
72
- readonly name: string;
73
- readonly nowText: string;
74
- readonly pastText: string;
75
- readonly deltaText: string;
76
- readonly dir: 'up' | 'down' | 'flat' | 'none';
77
- }
78
- /** 图例的一项(`形 + 字`;形由 `slot`/`kind` 给)。 */
79
- export interface RadarProfileLegendItemModel {
80
- readonly slot: 'axline' | 'swatch';
81
- readonly kind: 'now' | 'past' | 'ok' | 'warn';
82
- readonly text: string;
83
- /** 达标那一项里**印出来的达标分**(判据从它把刻度读回来);其余项不给。 */
84
- readonly goalNum?: string;
85
- }
86
- /** 一根扇区(半径=得分)。 */
87
- export interface RadarProfileWedgeModel {
88
- readonly path: string;
89
- readonly arc: string;
90
- readonly ok: boolean;
91
- readonly score: number;
92
- }
93
- /** 未达标点名清单的一行。 */
94
- export interface RadarProfileGapModel {
95
- readonly label: string;
96
- readonly scoreText: string;
97
- readonly diffText: string;
98
- }
99
- /** 展平轴表的一行。 */
100
- export interface RadarProfileRailRowModel {
101
- readonly label: string;
102
- readonly note?: string;
103
- /** 位置(轨道宽度的百分数串,如 `62%`);缺测=不给。 */
104
- readonly at?: string;
105
- readonly valueText: string;
106
- readonly b1?: string;
107
- readonly b2?: string;
108
- readonly verdict: string;
109
- readonly verdictKind: 'in' | 'low' | 'high' | 'none' | 'missing';
110
- readonly bandText?: string;
111
- }
112
- /** 内部类型:每个字段都已校验、已归一、已算好;**别的形态那几段是空数组/空串**(只有一段非空)。 */
113
- export interface RadarProfileModel {
114
- readonly form: RadarProfileForm;
115
- readonly title: string;
116
- readonly stamp?: string;
117
- readonly tail: string;
118
- readonly note: string;
119
- readonly ariaLabel: string;
120
- readonly extraClass?: string;
121
- readonly labels: readonly RadarProfileLabelModel[];
122
- readonly rings: readonly RadarProfileRingModel[];
123
- readonly spokes: readonly RadarProfileSpokeModel[];
124
- readonly pastPoints: string;
125
- readonly nowPoints: string;
126
- readonly nowDots: readonly RadarProfileVertexModel[];
127
- readonly scaleItems: readonly string[];
128
- readonly tableHead: readonly string[];
129
- readonly tableRows: readonly RadarProfileTableRowModel[];
130
- readonly wedges: readonly RadarProfileWedgeModel[];
131
- readonly goalRadius: number;
132
- readonly goalNumText: string;
133
- readonly hubText: string;
134
- readonly gaps: readonly RadarProfileGapModel[];
135
- readonly legend: readonly RadarProfileLegendItemModel[];
136
- readonly rows: readonly RadarProfileRailRowModel[];
137
- }
138
- /** 校验过的几根轴 → 图上用的那一份(位置、读数文字、差的形状都在这里定下来,三个形态共用)。 */
139
- export declare function axisModels(list: readonly RadarProfileAxis[]): RadarProfileAxisModel[];
1
+ import { type RadarProfileAxisModel, type RadarProfileCommon, type RadarProfileModel } from './fields.js';
140
2
  /** 形态 `polygon`:三圈网格 + 两条轮廓 + 顶点 + 读数表 + 刻度条。 */
141
3
  export declare function polygonModel(c: RadarProfileCommon, axes: readonly RadarProfileAxisModel[]): RadarProfileModel;
142
- /** 形态 `wedge`:逐根扇区(半径=得分)+ 外沿弧 + 达标环 + 圆心平均分 + 未达标点名。 */
4
+ /** 形态 `wedge`:逐根扇区(半径=得分)+ 外沿弧 + 达标环 + 平均分 + 未达标点名。 */
143
5
  export declare function wedgeModel(c: RadarProfileCommon, axes: readonly RadarProfileAxisModel[], goal: number): RadarProfileModel;
144
6
  /** 形态 `rail`:每根轴一行(轴名 + 轨道 + 判定),轨道上色带是基准区间、竖线是当前值。 */
145
7
  export declare function railModel(c: RadarProfileCommon, axes: readonly RadarProfileAxisModel[]): RadarProfileModel;
@@ -1 +1 @@
1
- {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../../src/components/radar-profile/forms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../../src/components/radar-profile/forms.ts"],"names":[],"mappings":"AAiBA,OAAO,EAKL,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EAGvB,KAAK,iBAAiB,EAMvB,MAAM,aAAa,CAAC;AAcrB,iDAAiD;AACjD,wBAAgB,YAAY,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,qBAAqB,EAAE,GAAG,iBAAiB,CA2D7G;AAID,uDAAuD;AACvD,wBAAgB,UAAU,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,qBAAqB,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CA2DzH;AAqBD,uDAAuD;AACvD,wBAAgB,SAAS,CAAC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,qBAAqB,EAAE,GAAG,iBAAiB,CAmD1G"}
@@ -3,7 +3,8 @@
3
3
  * 为什么有这一件:本件一次落三个形态(多边形雷达/极区扇图/展平轴表),校验 + 装配 + 算数挤在一件里
4
4
  * 会超本包告警线 350(`packages/base-render/AGENTS.md`)。切口按「入参面/装配面/算数面」分:
5
5
  * · `model.ts`:入参校验与归一化入口(`badInput()` 全在那边);
6
- * · 本件:已校验的入参 → 三个骨架的模型(顶点、扇区、行的位置与那句算出来的话);
6
+ * · 本件:三个骨架各自的装配(顶点、扇区、行的位置与那句算出来的话);
7
+ * · `fields.ts`:模型类型与逐轴的小件(读数文字、位置、辐条、轴名、无障碍句);
7
8
  * · `scale.ts`:角度、极坐标、半径映射、路径与数字格式(纯算数,本件调它)。
8
9
  *
9
10
  * 两条口径:
@@ -13,62 +14,16 @@
13
14
  * `test/separator-probe.mjs` R1–R3 对可见文本零豁免);句间一律用 `,` 与 `。`——
14
15
  * `,` 在那一门里是行文标点,不算并列分隔符。
15
16
  */
16
- import { RADAR_PROFILE_MISSING, RADAR_PROFILE_RINGS, RADAR_PROFILE_RADIUS, } from './attrs.js';
17
- import { anchorOf, deltaText, labelPercentOf, meanOk, percentOfScore, plainNum, polygonPoints, polarOf, radiusOfScore, round2, sectorArcPath, sectorPath, } from './scale.js';
18
- /** 三条数字格式的共用小件(口径写在 `scale.ts`)。 */
17
+ import { RADAR_PROFILE_MISSING, RADAR_PROFILE_RINGS } from './attrs.js';
18
+ import { axisSentences, labelModel, radiusOf, spokesOf, } from './fields.js';
19
+ import { meanOk, plainNum, polygonPoints, polarOf, round2, sectorArcPath, sectorPath } from './scale.js';
20
+ /** 0…100 的占比 → 轨道上的百分数串(形态 `rail` 用)。 */
19
21
  const pct = (v) => plainNum(v) + '%';
20
- /** 一根轴:把校验过的读数装成"图上用的那个形状"。 */
21
- function axisModel(raw) {
22
- const delta = raw.score === null || raw.past === null ? null : round2(raw.score - raw.past);
23
- return {
24
- ...raw,
25
- at: raw.score === null ? null : percentOfScore(raw.score),
26
- valueText: raw.score === null ? RADAR_PROFILE_MISSING : plainNum(raw.score),
27
- pastText: raw.past === null ? RADAR_PROFILE_MISSING : plainNum(raw.past),
28
- delta,
29
- deltaText: deltaText(delta),
30
- dir: delta === null ? 'none' : (delta > 0 ? 'up' : (delta < 0 ? 'down' : 'flat')),
31
- };
32
- }
33
- /** 校验过的几根轴 → 图上用的那一份(位置、读数文字、差的形状都在这里定下来,三个形态共用)。 */
34
- export function axisModels(list) {
35
- return list.map((one) => axisModel({
36
- label: one.label,
37
- score: one.score,
38
- past: one.past === undefined ? null : one.past,
39
- note: one.note,
40
- band: one.band,
41
- }));
42
- }
43
- /** 有读数的那些轴 → 辐条的终点(缺测的轴整根不画:辐条与顶点一起不画)。 */
44
- function spokesOf(axes, count) {
45
- const out = [];
46
- axes.forEach((a, index) => {
47
- if (a.score === null)
48
- return;
49
- const p = polarOf(index, count, RADAR_PROFILE_RADIUS);
50
- out.push({ x2: p.x, y2: p.y });
51
- });
52
- return out;
53
- }
54
- /** 轴名那一块(缺测的轴照样出名字与 `—`:读者要知道"这根没测",而不是"这根不存在")。 */
55
- function labelModel(axis, index, count) {
56
- const at = labelPercentOf(index, count);
57
- return {
58
- label: axis.label,
59
- valueText: axis.valueText,
60
- present: axis.score !== null,
61
- anchor: anchorOf(index, count),
62
- left: at.left,
63
- top: at.top,
64
- };
65
- }
66
- /** 逐轴点名的句子(无障碍名用):每根轴一句,句间用句号,不堆并列分隔符。 */
67
- function axisSentences(axes, withPast) {
68
- return axes.map((a) => a.label + ' 本期 '
69
- + (a.score === null ? '缺测' : plainNum(a.score) + ' 分')
70
- + (withPast ? (a.past === null ? ',上期缺测' : ',上期 ' + plainNum(a.past) + ' 分') : '')).join('。');
71
- }
22
+ /** 一根轴上的一个顶点:角度由序号给、半径由读数给(唯一的映射在 `scale.ts`,这里只封一层形状)。 */
23
+ const polar = (index, count, radius) => {
24
+ const p = polarOf(index, count, radius);
25
+ return { x: p.x, y: p.y };
26
+ };
72
27
  /* ── 形态 `polygon`:多边形雷达(本期/上期两条轮廓) ─────────────────── */
73
28
  /** 形态 `polygon`:三圈网格 + 两条轮廓 + 顶点 + 读数表 + 刻度条。 */
74
29
  export function polygonModel(c, axes) {
@@ -77,11 +32,10 @@ export function polygonModel(c, axes) {
77
32
  const pasts = axes.map((a) => a.past);
78
33
  const hasPast = pasts.some((v) => v !== null);
79
34
  const present = axes.filter((a) => a.score !== null);
80
- /* 网格三圈:**半径与刻度是同一份真值**(同一支 `radiusOfScore()` 从印出来的三个数算)。 */
81
- const rings = RADAR_PROFILE_RINGS
82
- .map((value) => ({ value, radius: radiusOfScore(value, RADAR_PROFILE_RADIUS) }));
35
+ /* 网格三圈:**半径与刻度是同一份真值**(同一支 `radiusOf()` 从印出来的三个数算)。 */
36
+ const rings = RADAR_PROFILE_RINGS.map((value) => ({ value, radius: radiusOf(value) }));
83
37
  const nowDots = present
84
- .map((a) => polarOf(axes.indexOf(a), count, radiusOfScore(a.score, RADAR_PROFILE_RADIUS)));
38
+ .map((a) => polar(axes.indexOf(a), count, radiusOf(a.score)));
85
39
  const meanNow = meanOk(present.map((a) => a.score));
86
40
  const paired = axes.filter((a) => a.score !== null && a.past !== null);
87
41
  const meanPairedNow = meanOk(paired.map((a) => a.score));
@@ -98,13 +52,18 @@ export function polygonModel(c, axes) {
98
52
  legend.push({ slot: 'axline', kind: 'past', text: '上期' + (c.pastStamp === undefined ? '' : '(' + c.pastStamp + ')') });
99
53
  }
100
54
  const tableHead = ['轴(满分 100)', '本期'].concat(hasPast ? ['上期', '差'] : []);
55
+ const tableRows = axes.map((a) => ({
56
+ name: a.label, nowText: a.valueText, pastText: a.pastText, deltaText: a.deltaText, dir: a.dir,
57
+ }));
101
58
  return {
102
59
  form: 'polygon',
103
60
  title: c.title,
104
61
  stamp: c.stamp,
105
62
  tail,
63
+ /* 三个圈数用「,」分段,不用并排顿号:`、` 连排三段会被仓库的分隔符门(`test/separator-probe.mjs`
64
+ 的 R3)判红——它是"该做版式"的信号,不是一句人话该有的写法。 */
106
65
  note: c.noteIn ?? '口径:每根轴各自 0 到 100 分,轴与轴不是同一个单位,所以只能比形状、不能比面积。'
107
- + '网格三级是里圈 33 分、中圈 66 分、外圈 100 分。实线是本期,虚线是上期,两条叠在一起的地方更深。'
66
+ + '网格三级是里圈 33 分,中圈 66 分,外圈 100 分。实线是本期,虚线是上期,两条叠在一起的地方更深。'
108
67
  + '缺测的轴整根不画,读数写 ' + RADAR_PROFILE_MISSING + ',不当 0 分算。',
109
68
  ariaLabel: count + ' 根轴的雷达图:' + axisSentences(axes, hasPast) + '。'
110
69
  + (hasPast ? '上期那条轮廓更小或更大都要按轴逐根看,形状差得多就是偏科。' : '实线轮廓就是本期形状。'),
@@ -112,14 +71,12 @@ export function polygonModel(c, axes) {
112
71
  labels: axes.map((a, i) => labelModel(a, i, count)),
113
72
  rings,
114
73
  spokes: spokesOf(axes, count),
115
- pastPoints: hasPast ? polygonPoints(pasts, RADAR_PROFILE_RADIUS) : '',
116
- nowPoints: polygonPoints(scores, RADAR_PROFILE_RADIUS),
74
+ pastPoints: hasPast ? polygonPoints(pasts, radiusOf(100)) : '',
75
+ nowPoints: polygonPoints(scores, radiusOf(100)),
117
76
  nowDots,
118
77
  scaleItems: RADAR_PROFILE_RINGS.map((v, i) => ['里圈', '中圈', '外圈'][i] + ' ' + plainNum(v) + ' 分'),
119
78
  tableHead,
120
- tableRows: axes.map((a) => ({
121
- name: a.label, nowText: a.valueText, pastText: a.pastText, deltaText: a.deltaText, dir: a.dir,
122
- })),
79
+ tableRows,
123
80
  wedges: [],
124
81
  goalRadius: 0,
125
82
  goalNumText: '',
@@ -130,25 +87,30 @@ export function polygonModel(c, axes) {
130
87
  };
131
88
  }
132
89
  /* ── 形态 `wedge`:极区扇图(半径=得分,达标环) ─────────────────────── */
133
- /** 形态 `wedge`:逐根扇区(半径=得分)+ 外沿弧 + 达标环 + 圆心平均分 + 未达标点名。 */
90
+ /** 形态 `wedge`:逐根扇区(半径=得分)+ 外沿弧 + 达标环 + 平均分 + 未达标点名。 */
134
91
  export function wedgeModel(c, axes, goal) {
135
92
  const count = axes.length;
93
+ /* **判定与印出来的数是同一个数**:`plainNum()` 印的是 `round2()` 之后的值,比较前先取整到这一位
94
+ ——否则 79.999 印成「80 分」却被判未达标、点名写出「差 0 分」(读数与判定自相矛盾)。 */
95
+ const goalNum = round2(goal);
136
96
  const wedges = [];
137
97
  const dots = [];
98
+ const shortfalls = [];
138
99
  axes.forEach((a, index) => {
139
100
  if (a.score === null)
140
101
  return;
141
- const r = radiusOfScore(a.score, RADAR_PROFILE_RADIUS);
142
- wedges.push({
143
- path: sectorPath(index, count, r), arc: sectorArcPath(index, count, r), ok: a.score >= goal, score: a.score,
144
- });
145
- dots.push(polarOf(index, count, r));
102
+ const score = round2(a.score);
103
+ const r = radiusOf(score);
104
+ wedges.push({ path: sectorPath(index, count, r), arc: sectorArcPath(index, count, r), ok: score >= goalNum, score });
105
+ dots.push(polar(index, count, r));
106
+ /* 点名那一行的轴名**与扇区同一趟装配**(轴名与得分必须同源:早先版本拿"有读数扇区的序号"
107
+ 去索引全部轴,缺一根就读成「A 50 分」而真值是「B 50 分」——清单与无障碍名互相矛盾)。 */
108
+ shortfalls.push({ label: a.label, score, diff: round2(goalNum - score) });
146
109
  });
147
110
  const okCount = wedges.filter((w) => w.ok).length;
148
111
  const warnCount = wedges.length - okCount;
149
112
  /* 未达标逐根点名:**先给差得最多的那根**(差多少分写成字,不靠颜色)。 */
150
- const gaps = wedges
151
- .map((w, i) => ({ label: axes[wedges.indexOf(w)].label, score: w.score, diff: goal - w.score, index: i }))
113
+ const gaps = shortfalls
152
114
  .filter((g) => g.diff > 0)
153
115
  .sort((a, b) => b.diff - a.diff)
154
116
  .map((g) => ({ label: g.label, scoreText: plainNum(g.score) + ' 分', diffText: '差 ' + plainNum(g.diff) + ' 分' }));
@@ -180,7 +142,7 @@ export function wedgeModel(c, axes, goal) {
180
142
  tableHead: [],
181
143
  tableRows: [],
182
144
  wedges,
183
- goalRadius: radiusOfScore(goal, RADAR_PROFILE_RADIUS),
145
+ goalRadius: radiusOf(goal),
184
146
  goalNumText: plainNum(goal),
185
147
  hubText: mean === null ? RADAR_PROFILE_MISSING : plainNum(mean),
186
148
  gaps,
@@ -189,18 +151,22 @@ export function wedgeModel(c, axes, goal) {
189
151
  };
190
152
  }
191
153
  /* ── 形态 `rail`:展平成轴表(基准带+我的位置) ─────────────────────── */
192
- /** 一行的判定:在带内走灰字(状态做减法),出带才点名,未给带与未测各写各的字。 */
154
+ /** 一行的判定:在带内走灰字(状态做减法),出带才点名,未给带与未测各写各的字。
155
+ * **比较与差值都用印出来的那个数**(`plainNum()` 的粒度=两位小数):读数印「80」而判定写
156
+ * 「▼ 低于带 0 分」是自相矛盾的读数,读者没法照它决定要不要管这一根。 */
193
157
  function verdictOf(axis) {
194
158
  if (axis.score === null)
195
- return { kind: 'missing', text: RADAR_PROFILE_MISSING + ' 未测', diff: 0 };
159
+ return { kind: 'missing', text: RADAR_PROFILE_MISSING + ' 未测' };
196
160
  if (axis.band === undefined)
197
- return { kind: 'none', text: '未给基准带', diff: 0 };
198
- const { low, high } = axis.band;
199
- if (axis.score < low)
200
- return { kind: 'low', text: '▼ 低于带 ' + plainNum(low - axis.score) + ' 分', diff: low - axis.score };
201
- if (axis.score > high)
202
- return { kind: 'high', text: '▲ 高于带 ' + plainNum(axis.score - high) + ' 分', diff: axis.score - high };
203
- return { kind: 'in', text: '✓ 在带内', diff: 0 };
161
+ return { kind: 'none', text: '未给基准带' };
162
+ const score = round2(axis.score);
163
+ const low = round2(axis.band.low);
164
+ const high = round2(axis.band.high);
165
+ if (score < low)
166
+ return { kind: 'low', text: '▼ 低于带 ' + plainNum(round2(low - score)) + ' 分' };
167
+ if (score > high)
168
+ return { kind: 'high', text: '▲ 高于带 ' + plainNum(round2(score - high)) + ' 分' };
169
+ return { kind: 'in', text: '✓ 在带内' };
204
170
  }
205
171
  /** 形态 `rail`:每根轴一行(轴名 + 轨道 + 判定),轨道上色带是基准区间、竖线是当前值。 */
206
172
  export function railModel(c, axes) {