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,29 @@
1
+ import { type ReminderSetterOption } from './attrs.js';
2
+ import type { ReminderSetterTrackModel } from './model.js';
3
+ /** 归一化后的一条提醒(`render.ts` 与运行时段读的就是它)。 */
4
+ export interface ReminderSetterTrackItemModel {
5
+ readonly id: string;
6
+ readonly label: string;
7
+ /** 1 起的序号(刻度上那枚徽章与图例那一行印的是它:两处对得起来)。 */
8
+ readonly index: number;
9
+ /** 一天里的第几分钟(机器读数,`0`–`1439`)。 */
10
+ readonly at: number;
11
+ /** 屏上那个时刻(`07:00`):由 `at` 算出来,**只印在图例那一行**。 */
12
+ readonly time: string;
13
+ /** 落在刻度上的比例(`0`–`1`):标记里那一枚点的 `left` 由它算出来。 */
14
+ readonly place: number;
15
+ /** 现在选中的是不是它。 */
16
+ readonly on: boolean;
17
+ readonly repeat: string;
18
+ readonly lead: string;
19
+ readonly chosen: readonly string[];
20
+ /** 图例那一行的尾一截(重复档;一条通知都没勾时换成那句状态)。 */
21
+ readonly tail: string;
22
+ }
23
+ /** `track` 那一支:一天刻度上那几条 + 现在选中哪一条 + 选中那条的三个决定。 */
24
+ export declare function normalizeTrack(raw: Record<string, unknown>, rows: {
25
+ repeats: ReminderSetterOption[];
26
+ leads: ReminderSetterOption[];
27
+ routes: ReminderSetterOption[];
28
+ }, id: string, extraClass?: string): ReminderSetterTrackModel;
29
+ //# sourceMappingURL=model-track.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-track.d.ts","sourceRoot":"","sources":["../../../src/components/reminder-setter/model-track.ts"],"names":[],"mappings":"AAgBA,OAAO,EAUL,KAAK,oBAAoB,EAE1B,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAqB,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAK9E,yCAAyC;AACzC,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iBAAiB;IACjB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AA2DD,kDAAkD;AAClD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE;IACjE,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAAC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChG,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,wBAAwB,CAgC5D"}
@@ -0,0 +1,110 @@
1
+ /** reminder-setter · **形态 `track` 的入参校验与归一化**(一天刻度上摆着好几条提醒那一档)。
2
+ *
3
+ * 这一档的场景是「**一天里好几条提醒、要看它们落在哪儿**」:刻度上摆着**多条**提醒点,
4
+ * 点某一条就改它自己的三个决定。故它比 `decisions` 那一档多两样入参——`items`(这一天有哪几条)
5
+ * 与 `picked`(现在改的是哪一条),其余三排档名与那一档**同一份**(`repeats`/`leads`/`routes`)。
6
+ *
7
+ * 三条口径:
8
+ * 1. **位置由数算出来**:每条提醒只给一个 `at`(一天里的第几分钟),刻度上的位置(`place`)
9
+ * 与屏上那个时刻(`time`)都在这里算好——`render.ts` 只拼标记,一个字都不算。
10
+ * 2. **`at` 是读数,两道闸都过**:有限数(`NaN`/`±Infinity` 一律拒)+ 可加性上界(`rules.ts`
11
+ * 的 `reqNumber()`);再过一道**改得到**的闸:整数分钟、落在 `0`–`1439`、踩在步进键那一档上
12
+ * ——落不到的点屏上点不出来。
13
+ * 3. **两枚点不许落在同一分钟**:命中盒 ≥44、相邻 ≥8px 是底线,同一个时刻摆两条时两枚命中盒
14
+ * 叠在一起(那一条按不准);改法是给其中一条另一分钟。
15
+ */
16
+ import { assertDenseArray, assertPlainObject, badInput } from '../shared/validate.js';
17
+ import { REMINDER_SETTER_DAY_MIN, REMINDER_SETTER_MAX_ITEMS, REMINDER_SETTER_MAX_ROUTES, REMINDER_SETTER_MIN_ITEMS, REMINDER_SETTER_TEXT, REMINDER_SETTER_TIME_STEP_MIN, reminderSetterClock, reminderSetterPlace, reminderSetterTrackTail, } from './attrs.js';
18
+ import { assertKeys, reqChosen, reqIdentifier, reqNumber, reqPicked, reqRealText } from './rules.js';
19
+ /** `ReminderSetterTrackItem` 的键(一档可选值的入参表之外的第二个嵌套层)。 */
20
+ const ITEM_KEYS = ['id', 'label', 'at', 'repeat', 'lead', 'chosen'];
21
+ /** 一天里的第几分钟:**改得到**的那一闸(整数、在一天之内、踩在步进键那一档上)。 */
22
+ function reqAt(value, field) {
23
+ const at = reqNumber(value, field);
24
+ if (!Number.isInteger(at))
25
+ badInput(field + ' 必须是整数分钟(一天里的第几分钟),读到 ' + String(at));
26
+ if (at < 0 || at >= REMINDER_SETTER_DAY_MIN) {
27
+ badInput(field + ' 要落在 0–' + String(REMINDER_SETTER_DAY_MIN - 1) + ' 那一圈里(一天里的第几分钟),读到 '
28
+ + String(at));
29
+ }
30
+ if (at % REMINDER_SETTER_TIME_STEP_MIN !== 0) {
31
+ badInput(field + ' 要落在 ' + String(REMINDER_SETTER_TIME_STEP_MIN)
32
+ + ' 分钟那一档上(改法是两枚步进键,落不到的点屏上点不出来)');
33
+ }
34
+ return at;
35
+ }
36
+ /** 这一天的提醒:2–4 条,逐条过键表与逐字段校验(`id` 与 `at` 各自唯一)。 */
37
+ function reqItems(value, rows) {
38
+ if (!Array.isArray(value)) {
39
+ badInput('reminder-setter: input.items 必须是数组(一天里那几条提醒,'
40
+ + String(REMINDER_SETTER_MIN_ITEMS) + '–' + String(REMINDER_SETTER_MAX_ITEMS) + ' 条)');
41
+ }
42
+ assertDenseArray(value, 'reminder-setter: input.items');
43
+ if (value.length < REMINDER_SETTER_MIN_ITEMS || value.length > REMINDER_SETTER_MAX_ITEMS) {
44
+ badInput('reminder-setter: input.items 要 ' + String(REMINDER_SETTER_MIN_ITEMS) + '–'
45
+ + String(REMINDER_SETTER_MAX_ITEMS) + ' 条(一条谈不上「落在哪儿的几条」,再多窄容器里两枚点的命中盒会叠),读到 '
46
+ + String(value.length) + ' 条');
47
+ }
48
+ const ids = new Set();
49
+ const ats = new Set();
50
+ return value.map((one, i) => {
51
+ const at = 'reminder-setter: input.items[' + String(i) + ']';
52
+ assertPlainObject(one, at);
53
+ const raw = one;
54
+ assertKeys(raw, ITEM_KEYS, at);
55
+ const id = reqIdentifier(raw.id, at + '.id');
56
+ if (ids.has(id))
57
+ badInput(at + '.id 与前面某一条重了(一整天里每条提醒的机器键唯一)');
58
+ ids.add(id);
59
+ const minutes = reqAt(raw.at, at + '.at');
60
+ if (ats.has(minutes)) {
61
+ badInput(at + '.at 与前面某一条落在同一分钟上:两枚点的命中盒会叠在一起('
62
+ + '命中盒不小于 ' + String(REMINDER_SETTER_TIME_STEP_MIN) + ' 分钟那一档、相邻要留缝),'
63
+ + '改法是给其中一条另一分钟');
64
+ }
65
+ ats.add(minutes);
66
+ return {
67
+ id,
68
+ label: reqRealText(raw.label, at + '.label'),
69
+ at: minutes,
70
+ repeat: reqPicked(rows.repeats, raw.repeat, at + '.repeat'),
71
+ lead: reqPicked(rows.leads, raw.lead, at + '.lead'),
72
+ chosen: reqChosen(rows.routes, raw.chosen, at + '.chosen', REMINDER_SETTER_MAX_ROUTES),
73
+ };
74
+ });
75
+ }
76
+ /** `track` 那一支:一天刻度上那几条 + 现在选中哪一条 + 选中那条的三个决定。 */
77
+ export function normalizeTrack(raw, rows, id, extraClass) {
78
+ const items = reqItems(raw.items, rows);
79
+ /* 屏上顺序=**刻度上的先后**:按 `at` 升序排(件自己排,调用方不用先排;同一分钟已被上面挡住)。 */
80
+ const sorted = items.slice().sort((a, b) => a.at - b.at);
81
+ const picked = reqIdentifier(raw.picked, 'reminder-setter: input.picked');
82
+ if (!sorted.some((o) => o.id === picked)) {
83
+ badInput('reminder-setter: input.picked 没有命中 items 里的任何一条: ' + picked);
84
+ }
85
+ const repeatLabelOf = (key) => rows.repeats.filter((o) => o.key === key)[0].label;
86
+ const built = sorted.map((item, i) => ({
87
+ id: item.id,
88
+ label: item.label,
89
+ index: i + 1,
90
+ at: item.at,
91
+ time: reminderSetterClock(item.at),
92
+ place: reminderSetterPlace(item.at),
93
+ on: item.id === picked,
94
+ repeat: item.repeat,
95
+ lead: item.lead,
96
+ chosen: item.chosen,
97
+ tail: reminderSetterTrackTail(repeatLabelOf(item.repeat), item.chosen.length, REMINDER_SETTER_TEXT),
98
+ }));
99
+ const sel = built.filter((o) => o.on)[0];
100
+ const selRows = [
101
+ { part: 'repeat', label: REMINDER_SETTER_TEXT.repeatLabel, multi: false,
102
+ options: rows.repeats.map((o) => ({ key: o.key, label: o.label, on: o.key === sel.repeat })) },
103
+ { part: 'lead', label: REMINDER_SETTER_TEXT.leadLabel, multi: false,
104
+ options: rows.leads.map((o) => ({ key: o.key, label: o.label, on: o.key === sel.lead })) },
105
+ { part: 'route', label: REMINDER_SETTER_TEXT.routeLabel, multi: true,
106
+ options: rows.routes.map((o) => ({ key: o.key, label: o.label, on: sel.chosen.includes(o.key) })) },
107
+ ];
108
+ return { form: 'track', id, items: built, picked: sel.id, rows: selRows, extraClass };
109
+ }
110
+ //# sourceMappingURL=model-track.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-track.js","sourceRoot":"","sources":["../../../src/components/reminder-setter/model-track.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { type ReminderSetterPart } from './attrs.js';
2
+ import { type ReminderSetterTrackItemModel } from './model-track.js';
3
+ /** 归一化后的一枚可点项(`on`=现在选的是它/勾的是它)。 */
4
+ export interface ReminderSetterOptionRow {
5
+ readonly key: string;
6
+ readonly label: string;
7
+ readonly on: boolean;
8
+ }
9
+ /** 归一化后的一行决定(一行只做一个决定)。 */
10
+ export interface ReminderSetterRow {
11
+ readonly part: ReminderSetterPart;
12
+ /** 这一行问什么(`什么时候响`/`提前多久`/`走哪条通知`)。 */
13
+ readonly label: string;
14
+ /** 这一行是不是多选(形不同:单选是胶囊,多选是方框)。 */
15
+ readonly multi: boolean;
16
+ readonly options: readonly ReminderSetterOptionRow[];
17
+ }
18
+ /** 两个形态共有的那几样(根上的发现锚与形态键)。 */
19
+ interface ReminderSetterCommonModel {
20
+ readonly id: string;
21
+ readonly extraClass?: string;
22
+ }
23
+ /** `decisions` 那一支的内部类型(`render.ts` 只吃它,不再自己碰 `any`)。 */
24
+ export interface ReminderSetterDecisionsModel extends ReminderSetterCommonModel {
25
+ readonly form: 'decisions';
26
+ readonly title: string;
27
+ /** 现在设的时间(`HH:MM`,机器读数)。 */
28
+ readonly time: string;
29
+ /** 第一次从哪一天(`YYYY-MM-DD`,机器读数)。 */
30
+ readonly startDate: string;
31
+ /** 三行决定(顺序=屏上顺序:什么时候响 → 提前多久 → 走哪条通知)。 */
32
+ readonly rows: readonly ReminderSetterRow[];
33
+ /** **全件唯一的读数行**(一行说完现在设的是多少)。 */
34
+ readonly recap: string;
35
+ }
36
+ /** `track` 那一支的内部类型(一天刻度上那几条提醒,谁被选中、各自三个决定是什么)。 */
37
+ export interface ReminderSetterTrackModel extends ReminderSetterCommonModel {
38
+ readonly form: 'track';
39
+ /** 刻度上那几条提醒(屏上顺序=刻度上的先后)。 */
40
+ readonly items: readonly ReminderSetterTrackItemModel[];
41
+ /** 现在选中的是哪一条(须是上面某一枚的 `id`)。 */
42
+ readonly picked: string;
43
+ /** 选中那一条的三个决定(下面那块面板画的**只有这一条**)。 */
44
+ readonly rows: readonly ReminderSetterRow[];
45
+ }
46
+ /** 内部类型:两个形态的联合(`render.ts` 按 `form` 分派,各自只读自己那一支的字段)。 */
47
+ export type ReminderSetterModel = ReminderSetterDecisionsModel | ReminderSetterTrackModel;
48
+ /** 入参归一化。**唯一入口**:`render.ts` 只吃它产出的 `ReminderSetterModel`。 */
49
+ export declare function normalizeReminderSetter(input: unknown): ReminderSetterModel;
50
+ export {};
51
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/components/reminder-setter/model.ts"],"names":[],"mappings":"AAkBA,OAAO,EAWL,KAAK,kBAAkB,EACxB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAkB,KAAK,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAErF,oCAAoC;AACpC,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;CACtB;AAED,2BAA2B;AAC3B,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACtD;AAED,8BAA8B;AAC9B,UAAU,yBAAyB;IACjC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,yDAAyD;AACzD,MAAM,WAAW,4BAA6B,SAAQ,yBAAyB;IAC7E,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC5C,iCAAiC;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,mDAAmD;AACnD,MAAM,WAAW,wBAAyB,SAAQ,yBAAyB;IACzE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,6BAA6B;IAC7B,QAAQ,CAAC,KAAK,EAAE,SAAS,4BAA4B,EAAE,CAAC;IACxD,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC7C;AAED,0DAA0D;AAC1D,MAAM,MAAM,mBAAmB,GAAG,4BAA4B,GAAG,wBAAwB,CAAC;AAuF1F,+DAA+D;AAC/D,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,CAkB3E"}
@@ -0,0 +1,110 @@
1
+ /** reminder-setter · **入参归一化与校验**(把 `any` 与说不出的 `unknown` 挡在门外,产出内部类型)。
2
+ *
3
+ * 三条口径(与 `kanban-columns/model.ts`/`relation-picker/model.ts` 同一条):
4
+ * 1. **非法入参一律 `badInput()`**(抛 `BlocksError`)——不静默降级、不「尽量猜」:
5
+ * · **上屏文本全空白=拒**(`' '` 会在屏上留一块空白:无字提醒名、无字档名;
6
+ * **零宽字符那类不可见字符同样算空白**——`trim()` 剥不掉它们,得先剥再判);
7
+ * · **入参表以外的键=拒**(写错一个键名,调用方以为自己设上了,屏上却没有;
8
+ * 自有的不可枚举键与原型链上继承来的键**同样算**——只走 `Object.keys` 会漏掉这两类);
9
+ * · **改不到的值=拒**:时间的分钟必须落在步进键的格子上(否则那枚读数屏上点不到)、
10
+ * 日期必须是真实存在的一天、选中的档必须真的在那一排里。
11
+ * 2. **能算的都算出来**:三行(每一行的可点项与「现在选的是哪一枚」)与**唯一那行复述**都在这里算好;
12
+ * `render.ts` 只拼标记,一个字都不算。
13
+ * 3. **一条通知都不勾是合法态**:`chosen: []` ⇒ 复述读成「没有通知,不会响」(照实读数,不是错误)。
14
+ *
15
+ * **两个形态各一支**:`decisions` 那一支照旧住本文件;`track` 那一支住同目录 `model-track.ts`
16
+ * (两个骨架的入参不同,挤在一份里会超本包告警线 350)。共用的那几条守卫住 `rules.ts`。
17
+ */
18
+ import { assertPlainObject, badInput, optExtraClass, optText, reqText } from '../shared/validate.js';
19
+ import { REMINDER_SETTER_FORMS, REMINDER_SETTER_MAX_CHOICES, REMINDER_SETTER_MAX_ROUTES, REMINDER_SETTER_MIN_CHOICES, REMINDER_SETTER_MIN_ROUTES, REMINDER_SETTER_TEXT, REMINDER_SETTER_TIME_STEP_MIN, reminderSetterRecap, } from './attrs.js';
20
+ import { assertKeys, reqChosen, reqIdentifier, reqOptions, reqPicked, reqRealText } from './rules.js';
21
+ import { normalizeTrack } from './model-track.js';
22
+ /** `HH:MM`(24 小时制)。 */
23
+ const TIME_RE = /^([01][0-9]|2[0-3]):([0-5][0-9])$/;
24
+ /** `YYYY-MM-DD`。 */
25
+ const DATE_RE = /^(\d{4})-(\d{2})-(\d{2})$/;
26
+ /** 提醒时间:`HH:MM`,**且分钟落在步进键的格子上**(落不到的点屏上点不出来 ⇒ 不许给)。 */
27
+ function reqTime(value, field) {
28
+ const text = reqText(value, field);
29
+ const m = TIME_RE.exec(text);
30
+ if (m === null)
31
+ badInput(field + ' 必须是 HH:MM(24 小时制,如 22:30)');
32
+ if (Number(m[2]) % REMINDER_SETTER_TIME_STEP_MIN !== 0) {
33
+ badInput(field + ' 的分钟要落在 ' + String(REMINDER_SETTER_TIME_STEP_MIN)
34
+ + ' 分钟那一档上(改法是两枚步进键,落不到的点屏上点不出来)');
35
+ }
36
+ return text;
37
+ }
38
+ /** 起始日:`YYYY-MM-DD`,**且是真实存在的一天**(`2026-02-30` 这类不是)。 */
39
+ function reqDate(value, field) {
40
+ const text = reqText(value, field);
41
+ const m = DATE_RE.exec(text);
42
+ if (m === null)
43
+ badInput(field + ' 必须是 YYYY-MM-DD');
44
+ const y = Number(m[1]);
45
+ const mo = Number(m[2]);
46
+ const d = Number(m[3]);
47
+ const at = new Date(Date.UTC(y, mo - 1, d));
48
+ if (at.getUTCFullYear() !== y || at.getUTCMonth() !== mo - 1 || at.getUTCDate() !== d) {
49
+ badInput(field + ' 不是真实存在的一天:' + text);
50
+ }
51
+ return text;
52
+ }
53
+ /** `ReminderSetterInput` 的**全部**键(顶层入参表:两个形态的键都在,缺哪个由形态自己定)。 */
54
+ const INPUT_KEYS = ['id', 'title', 'repeats', 'repeat', 'time', 'startDate',
55
+ 'leads', 'lead', 'routes', 'chosen', 'form', 'extraClass', 'items', 'picked'];
56
+ /** 三排可点项(两个形态共用:档名由调用方给,件不猜有哪几条通知通道)。 */
57
+ function reqRows(raw) {
58
+ return {
59
+ repeats: reqOptions(raw.repeats, 'reminder-setter: input.repeats', REMINDER_SETTER_MIN_CHOICES, REMINDER_SETTER_MAX_CHOICES),
60
+ leads: reqOptions(raw.leads, 'reminder-setter: input.leads', REMINDER_SETTER_MIN_CHOICES, REMINDER_SETTER_MAX_CHOICES),
61
+ routes: reqOptions(raw.routes, 'reminder-setter: input.routes', REMINDER_SETTER_MIN_ROUTES, REMINDER_SETTER_MAX_ROUTES),
62
+ };
63
+ }
64
+ /** 三行决定的**装配**(两个形态共用:`decisions` 是那条提醒的,`track` 是选中那条的)。 */
65
+ function rowsOf(rows, repeat, lead, chosen) {
66
+ return [
67
+ { part: 'repeat', label: REMINDER_SETTER_TEXT.repeatLabel, multi: false,
68
+ options: rows.repeats.map((o) => ({ key: o.key, label: o.label, on: o.key === repeat })) },
69
+ { part: 'lead', label: REMINDER_SETTER_TEXT.leadLabel, multi: false,
70
+ options: rows.leads.map((o) => ({ key: o.key, label: o.label, on: o.key === lead })) },
71
+ { part: 'route', label: REMINDER_SETTER_TEXT.routeLabel, multi: true,
72
+ options: rows.routes.map((o) => ({ key: o.key, label: o.label, on: chosen.includes(o.key) })) },
73
+ ];
74
+ }
75
+ /** `decisions` 那一支:一件提醒、三行决定、一行复述。 */
76
+ function decisionsModel(raw, rows) {
77
+ const time = reqTime(raw.time, 'reminder-setter: input.time');
78
+ const startDate = reqDate(raw.startDate, 'reminder-setter: input.startDate');
79
+ const repeat = reqPicked(rows.repeats, raw.repeat, 'reminder-setter: input.repeat');
80
+ const lead = reqPicked(rows.leads, raw.lead, 'reminder-setter: input.lead');
81
+ const chosen = reqChosen(rows.routes, raw.chosen, 'reminder-setter: input.chosen', REMINDER_SETTER_MAX_ROUTES);
82
+ const repeatLabel = rows.repeats.filter((o) => o.key === repeat)[0].label;
83
+ return {
84
+ form: 'decisions',
85
+ title: reqRealText(raw.title, 'reminder-setter: input.title'),
86
+ time,
87
+ startDate,
88
+ rows: rowsOf(rows, repeat, lead, chosen),
89
+ recap: reminderSetterRecap(repeatLabel, startDate, time, chosen.length, REMINDER_SETTER_TEXT),
90
+ };
91
+ }
92
+ /** 入参归一化。**唯一入口**:`render.ts` 只吃它产出的 `ReminderSetterModel`。 */
93
+ export function normalizeReminderSetter(input) {
94
+ assertPlainObject(input, 'renderReminderSetter: input');
95
+ const raw = input;
96
+ assertKeys(raw, INPUT_KEYS, 'renderReminderSetter: input');
97
+ const form = raw.form === undefined ? REMINDER_SETTER_FORMS[0] : raw.form;
98
+ if (!REMINDER_SETTER_FORMS.includes(form)) {
99
+ badInput('reminder-setter: input.form 必须是 ' + REMINDER_SETTER_FORMS.join('/')
100
+ + ' 之一(`decisions`=一行一个决定/`track`=一天刻度上摆点)');
101
+ }
102
+ const id = reqIdentifier(raw.id, 'reminder-setter: input.id');
103
+ /* `optText` 在这里只为把「不是字符串」挡掉;类名正则由 `optExtraClass` 管。 */
104
+ const extraClass = optExtraClass(optText(raw.extraClass, 'reminder-setter: input.extraClass'), 'reminder-setter: input.extraClass');
105
+ const rows = reqRows(raw);
106
+ if (form === 'track')
107
+ return normalizeTrack(raw, rows, id, extraClass);
108
+ return { ...decisionsModel(raw, rows), id, extraClass };
109
+ }
110
+ //# sourceMappingURL=model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/components/reminder-setter/model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** 渲染提醒设置(纯函数:同样的入参恒产同样的字节;转义只经 `shared/escape.ts`)。 */
2
+ export declare function renderReminderSetter(input: unknown): string;
3
+ //# sourceMappingURL=render.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/components/reminder-setter/render.ts"],"names":[],"mappings":"AAmQA,wDAAwD;AACxD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAc3D"}
@@ -0,0 +1,221 @@
1
+ /** reminder-setter · **渲染**(纯函数产 HTML;按形态分派,两档:`decisions` / `track`)。
2
+ *
3
+ * —— 形态 `decisions`「一行一个决定」——
4
+ *
5
+ * 一屏三层,**每层一句话都没有多的**:
6
+ * · **抬头**:这一组设定在给哪条提醒设(`「记体重」的提醒`);
7
+ * · **三行**:什么时候响 / 提前多久 / 走哪条通知——左边是这一行问什么,右边是这一行的全部可点项;
8
+ * 日期与时间不走精确拖点,走两枚 44×44 的步进键夹一枚读数(手机上「点得到」);
9
+ * · **一行复述**:全件唯一的读数行(`每天 2026-09-26 22:30`),一行说完,`role="status"` 会在变时念出来。
10
+ *
11
+ * —— 形态 `track`「一天刻度上摆点」——
12
+ *
13
+ * 一天里好几条提醒、要看它们落在哪儿:刻度上摆着**多条**提醒点(每枚 44×44 的可点件),
14
+ * 点某一条就改**它自己**的三个决定(下面那块面板只画选中的那一条)。这一档只留一层话:
15
+ * 刻度 + 小时数 + **图例**(一行一条:序号 + 时间 + 提醒名 + 重复档)+ 选中那条的决定面板。
16
+ * **没有抬头、没有复述那一行**——图例那一行就是「现在设的是多少」(再写一行就是同一个数印第二遍)。
17
+ *
18
+ * 原型里的旁白与口径句一句都不上屏(2026-09-25 用户口径:原型里写了好多文字、看起来很混乱;
19
+ * 砍法:删 3 句口径旁白、删编辑面板那行「选中:22:30 记体重」——图例那行已印同一件事)。
20
+ *
21
+ * 五条硬口径(判据断的就是它们):
22
+ * · **触屏可达**:三排可点项/两枚步进键/刻度上那几枚点,每枚 ≥`REMINDER_SETTER_TOUCH_PX`、
23
+ * 相邻留 `REMINDER_SETTER_GAP_PX` 缝;
24
+ * · **状态不只靠颜色**:选中那枚=形(勾 + 方框/胶囊/圈)+ 字(档名 + 字重)+ 色(软底)三样;
25
+ * · **单选与多选形状分开**:单选留一枚**固定 `REMINDER_SETTER_TICK_PX` 宽的勾选槽位**(未选也留:
26
+ * 一排胶囊的左右沿才齐平),多选是实心方框(这条可以多选,形状自己说得出);
27
+ * · **数值永不截断**:时间与日期读数没有省略手段,窄档只换行;
28
+ * · **同页多实例**:全部 `aria-*` 都按入参 `id` 逐实例派生(`wizard-shell` 同一处教训)。
29
+ */
30
+ import { esc } from '../shared/escape.js';
31
+ import { REMINDER_SETTER_AT_ATTR, REMINDER_SETTER_ATTR, REMINDER_SETTER_CHOSEN_ATTR, REMINDER_SETTER_CLASS, REMINDER_SETTER_DEC, REMINDER_SETTER_DELTA_ATTR, REMINDER_SETTER_FORM_ATTR, REMINDER_SETTER_HOURS, REMINDER_SETTER_INC, REMINDER_SETTER_LEAD_ATTR, REMINDER_SETTER_PART_ATTR, REMINDER_SETTER_PICKED_ATTR, REMINDER_SETTER_READ_ATTR, REMINDER_SETTER_REPEAT_ATTR, REMINDER_SETTER_ROW_ATTR, REMINDER_SETTER_START_ATTR, REMINDER_SETTER_STEP_ATTR, REMINDER_SETTER_TEXT, REMINDER_SETTER_TIME_ATTR, REMINDER_SETTER_TOUCH_PX, REMINDER_SETTER_VALUE_ATTR, reminderSetterHead, reminderSetterSlot, } from './attrs.js';
32
+ import { normalizeReminderSetter, } from './model.js';
33
+ /** 根上那两个机器读数(`decisions` 那一档:时间 + 第一次从)。 */
34
+ function decisionsRootAttrs(m) {
35
+ return ' ' + REMINDER_SETTER_TIME_ATTR + '="' + esc(m.time) + '"'
36
+ + ' ' + REMINDER_SETTER_START_ATTR + '="' + esc(m.startDate) + '"';
37
+ }
38
+ /** 根上那两个机器读数(`track` 那一档:现在改的是哪一条 + 它落在一天里的第几分钟)。 */
39
+ function trackRootAttrs(m) {
40
+ const sel = m.items.filter((o) => o.on)[0];
41
+ return ' ' + REMINDER_SETTER_PICKED_ATTR + '="' + esc(m.picked) + '"'
42
+ + ' ' + REMINDER_SETTER_AT_ATTR + '="' + String(sel.at) + '"';
43
+ }
44
+ /** 抬头那一行(`「记体重」的提醒`:它是什么)。 */
45
+ function headHtml(m) {
46
+ return '<p class="' + reminderSetterSlot('head') + '">' + esc(reminderSetterHead(m.title)) + '</p>';
47
+ }
48
+ /** 一枚可点项:单选走 `-chip`(胶囊)、多选走 `-check`(方框)——**形状本身就是「这条可以多选」**。
49
+ * 选中态照法条(有文字的选中面):软底 + 主色字 + 主色描边 + 勾(形),字重 700。 */
50
+ function optionHtml(row, key, label, on) {
51
+ return '<button type="button" class="' + reminderSetterSlot(row.multi ? 'check' : 'chip')
52
+ + (on ? ' is-on' : '') + '"'
53
+ + ' ' + REMINDER_SETTER_PART_ATTR + '="' + esc(row.part) + '"'
54
+ + ' ' + REMINDER_SETTER_VALUE_ATTR + '="' + esc(key) + '"'
55
+ + ' aria-pressed="' + (on ? 'true' : 'false') + '">' + esc(label) + '</button>';
56
+ }
57
+ /** 这一行的可点项那一排(`role="group"` 带这一行的名字:屏读器念得出「什么时候响」是哪一组)。
58
+ * `who`=这条提醒叫什么(`decisions` 那一档是抬头那个提醒名,`track` 那一档是选中那条的名字)。 */
59
+ function trayHtml(who, row) {
60
+ return '<div class="' + reminderSetterSlot(row.multi ? 'rack' : 'tray') + '" role="group"'
61
+ + ' aria-label="' + esc(row.label + '(' + who + ')') + '">'
62
+ + row.options.map((o) => optionHtml(row, o.key, o.label, o.on)).join('')
63
+ + '</div>';
64
+ }
65
+ /** 一个步进位(名字 + 减 + 读数 + 加):两枚键的命中盒都不小于触控地板,中间那枚是机器读数的另一种摆法。 */
66
+ function stepFieldHtml(step, label, value, decLabel, incLabel, what) {
67
+ const stepAttr = ' ' + REMINDER_SETTER_STEP_ATTR + '="' + esc(step) + '"';
68
+ return '<div class="' + reminderSetterSlot('field') + '">'
69
+ + '<span class="' + reminderSetterSlot('flabel') + '">' + esc(label) + '</span>'
70
+ + '<div class="' + reminderSetterSlot('stepper') + '" role="group"'
71
+ + ' aria-label="' + esc(label + '(' + what + ')') + '">'
72
+ + '<button type="button" class="' + reminderSetterSlot('dec') + '"' + stepAttr
73
+ + ' ' + REMINDER_SETTER_DELTA_ATTR + '="-1"'
74
+ + ' aria-label="' + esc(decLabel + '(' + what + ')') + '">' + esc(REMINDER_SETTER_DEC) + '</button>'
75
+ + '<span class="' + reminderSetterSlot('num') + '"'
76
+ + ' ' + REMINDER_SETTER_READ_ATTR + '="' + esc(step) + '">' + esc(value) + '</span>'
77
+ + '<button type="button" class="' + reminderSetterSlot('inc') + '"' + stepAttr
78
+ + ' ' + REMINDER_SETTER_DELTA_ATTR + '="1"'
79
+ + ' aria-label="' + esc(incLabel + '(' + what + ')') + '">' + esc(REMINDER_SETTER_INC) + '</button>'
80
+ + '</div></div>';
81
+ }
82
+ /** 「什么时候响」那一行多出来的两个步进位:时间 + 第一次从(都住在这一行的控制列里)。 */
83
+ function fieldsHtml(m) {
84
+ const T = REMINDER_SETTER_TEXT;
85
+ return '<div class="' + reminderSetterSlot('fields') + '">'
86
+ + stepFieldHtml('time', T.timeLabel, m.time, T.early, T.late, m.title)
87
+ + stepFieldHtml('start', T.startLabel, m.startDate, T.prevDay, T.nextDay, m.title)
88
+ + '</div>';
89
+ }
90
+ /** 一行决定(左标签右控件;窄档折成上下两段,仍是这一行只做一个决定)。
91
+ * `fields`=这一行下面再挂的那两个步进位(只有 `decisions` 那一档的「什么时候响」要挂)。 */
92
+ function rowHtml(who, row, fields) {
93
+ return '<div class="' + reminderSetterSlot('row') + '"'
94
+ + ' ' + REMINDER_SETTER_ROW_ATTR + '="' + esc(row.part) + '">'
95
+ + '<p class="' + reminderSetterSlot('label') + '">' + esc(row.label) + '</p>'
96
+ + '<div class="' + reminderSetterSlot('ctl') + '">'
97
+ + trayHtml(who, row) + fields
98
+ + '</div></div>';
99
+ }
100
+ /** **全件唯一的读数行**:一行说完现在设的是多少(变的时候 `role="status"` 会念出来)。 */
101
+ function recapHtml(m) {
102
+ return '<p class="' + reminderSetterSlot('read') + '"'
103
+ + ' ' + REMINDER_SETTER_READ_ATTR + '="recap" role="status">' + esc(m.recap) + '</p>';
104
+ }
105
+ /** 形态 `decisions` 的骨架:抬头 → 三行决定 → 一行复述。 */
106
+ function renderDecisions(m) {
107
+ return headHtml(m)
108
+ + m.rows.map((row) => rowHtml(m.title, row, row.part === 'repeat' ? fieldsHtml(m) : '')).join('')
109
+ + recapHtml(m);
110
+ }
111
+ /* ── 形态 `track`:一天刻度上摆着好几条提醒,点其中一条改它自己的三个决定 ────────────
112
+ *
113
+ * **这一档比 `decisions` 省一层话**:没有抬头、没有复述那一行——
114
+ * 「现在设的是多少」由图例那一行自己读出来(序号 + 时间 + 提醒名 + 重复档/那句状态)。
115
+ * 再写一行复述就是把同一个数印第二遍(用户 2026-09-25 砍掉的正是那一句)。
116
+ *
117
+ * 一枚提醒点=**一个 44×44 的可点件**(命中盒不小于触控地板),落点由 `at` 算出来的
118
+ * `place` 写进行内样式:`left: calc((100% - 44px) * place + 22px)` ——
119
+ * 两端各让出半个命中盒,最左/最右那一条的命中盒也不会顶出刻度条(窄档零横溢)。
120
+ */
121
+ /** 一枚提醒点(刻度上那一个可点件):徽章印序号,点本身印位置(形与色都在样式段里)。 */
122
+ function dotHtml(item, touch) {
123
+ return '<button type="button" class="' + reminderSetterSlot('dot') + (item.on ? ' is-on' : '') + '"'
124
+ + ' ' + REMINDER_SETTER_PART_ATTR + '="pick"'
125
+ + ' ' + REMINDER_SETTER_VALUE_ATTR + '="' + esc(item.id) + '"'
126
+ + ' ' + REMINDER_SETTER_AT_ATTR + '="' + String(item.at) + '"'
127
+ + itemStateAttrs(item)
128
+ + ' aria-pressed="' + (item.on ? 'true' : 'false') + '"'
129
+ + ' aria-label="' + esc(item.time + ' ' + item.label) + '"'
130
+ + ' style="left: calc((100% - ' + String(touch) + 'px) * ' + String(item.place) + ' + '
131
+ + String(touch / 2) + 'px)">'
132
+ + '<b>' + String(item.index) + '</b><i></i></button>';
133
+ }
134
+ /** 一条提醒自己的那三枚读数的**机器读数锚**(点与图例那一行都挂着:同一份状态的两种摆法)。 */
135
+ function itemStateAttrs(item) {
136
+ return ' ' + REMINDER_SETTER_REPEAT_ATTR + '="' + esc(item.repeat) + '"'
137
+ + ' ' + REMINDER_SETTER_LEAD_ATTR + '="' + esc(item.lead) + '"'
138
+ + ' ' + REMINDER_SETTER_CHOSEN_ATTR + '="' + esc(item.chosen.join(' ')) + '"';
139
+ }
140
+ /** 图例里的一行(这条提醒现在设的是多少):序号 + 时间 + 提醒名 + 重复档;可点(点它=选中它)。 */
141
+ function legendRowHtml(item) {
142
+ return '<button type="button" class="' + reminderSetterSlot('lg') + (item.on ? ' is-on' : '') + '"'
143
+ + ' ' + REMINDER_SETTER_PART_ATTR + '="pick"'
144
+ + ' ' + REMINDER_SETTER_VALUE_ATTR + '="' + esc(item.id) + '"'
145
+ + ' ' + REMINDER_SETTER_AT_ATTR + '="' + String(item.at) + '"'
146
+ + itemStateAttrs(item)
147
+ + ' aria-pressed="' + (item.on ? 'true' : 'false') + '">'
148
+ + '<b>' + String(item.index) + '</b>'
149
+ + '<em class="' + reminderSetterSlot('num') + '"'
150
+ + ' ' + REMINDER_SETTER_READ_ATTR + '="at">' + esc(item.time) + '</em>'
151
+ + '<span>' + esc(item.label) + '</span>'
152
+ + '<span ' + REMINDER_SETTER_READ_ATTR + '="tail">' + esc(item.tail) + '</span></button>';
153
+ }
154
+ /** 一天那条刻度:刻度条(位置的参照) + 上面每一枚提醒点。 */
155
+ function dayHtml(m) {
156
+ return '<div class="' + reminderSetterSlot('day') + '">'
157
+ + '<div class="' + reminderSetterSlot('ruler') + '">'
158
+ + m.items.map((it) => dotHtml(it, REMINDER_SETTER_TOUCH_PX)).join('')
159
+ + '</div>'
160
+ + '<div class="' + reminderSetterSlot('hours') + '" aria-hidden="true">'
161
+ + REMINDER_SETTER_HOURS.map((h) => '<span>' + String(h) + '</span>').join('')
162
+ + '</div>'
163
+ + '<div class="' + reminderSetterSlot('legend') + '">'
164
+ + m.items.map((it) => legendRowHtml(it)).join('')
165
+ + '</div></div>';
166
+ }
167
+ /** 选中那一条的「时间」那一行:两枚 44 的步进键夹一枚读数(改的是选中那条的 `at`)。 */
168
+ function trackStepHtml(m) {
169
+ const T = REMINDER_SETTER_TEXT;
170
+ const sel = m.items.filter((o) => o.on)[0];
171
+ const stepAttr = ' ' + REMINDER_SETTER_STEP_ATTR + '="time"';
172
+ return '<div class="' + reminderSetterSlot('row') + '"'
173
+ + ' ' + REMINDER_SETTER_ROW_ATTR + '="time">'
174
+ + '<p class="' + reminderSetterSlot('label') + '">' + esc(T.timeLabel) + '</p>'
175
+ + '<div class="' + reminderSetterSlot('ctl') + '">'
176
+ + '<div class="' + reminderSetterSlot('field') + '">'
177
+ + '<div class="' + reminderSetterSlot('stepper') + '" role="group"'
178
+ + ' aria-label="' + esc(T.timeLabel + '(' + sel.label + ')') + '">'
179
+ + '<button type="button" class="' + reminderSetterSlot('dec') + '"' + stepAttr
180
+ + ' ' + REMINDER_SETTER_DELTA_ATTR + '="-1"'
181
+ + ' aria-label="' + esc(T.early + '(' + sel.label + ')') + '">' + esc(REMINDER_SETTER_DEC) + '</button>'
182
+ + '<span class="' + reminderSetterSlot('num') + '"'
183
+ + ' ' + REMINDER_SETTER_READ_ATTR + '="sel">' + esc(sel.time) + '</span>'
184
+ + '<button type="button" class="' + reminderSetterSlot('inc') + '"' + stepAttr
185
+ + ' ' + REMINDER_SETTER_DELTA_ATTR + '="1"'
186
+ + ' aria-label="' + esc(T.late + '(' + sel.label + ')') + '">' + esc(REMINDER_SETTER_INC) + '</button>'
187
+ + '</div></div></div></div>';
188
+ }
189
+ /** 形态 `track` 的骨架:一天那条刻度(点 + 小时数 + 图例) → 选中那一条的三个决定。 */
190
+ function renderTrack(m) {
191
+ const sel = m.items.filter((o) => o.on)[0];
192
+ const panel = (row) => rowHtml(sel.label, row, '');
193
+ return dayHtml(m)
194
+ + '<div class="' + reminderSetterSlot('pick') + '">'
195
+ + m.rows.slice(0, 2).map(panel).join('')
196
+ + trackStepHtml(m)
197
+ + m.rows.slice(2).map(panel).join('')
198
+ + '</div>';
199
+ }
200
+ /** 形态 → 骨架(加第二形态就是加一支)。 */
201
+ const SKELETONS = {
202
+ decisions: renderDecisions,
203
+ track: renderTrack,
204
+ };
205
+ /** 渲染提醒设置(纯函数:同样的入参恒产同样的字节;转义只经 `shared/escape.ts`)。 */
206
+ export function renderReminderSetter(input) {
207
+ const m = normalizeReminderSetter(input);
208
+ const extra = m.extraClass === undefined ? '' : ' ' + m.extraClass;
209
+ /* 根**就是宿主**:`-host` 那一枚槽类必须落在根上(样式段里卡框与 `container-type`
210
+ * 都挂在它名下;根上不带它 ⇒ 那一条规则成了永不命中的死声明,
211
+ * 卡没有边/没有投影,`@container` 也永远找不到容器 ⇒ 窄档折行整段失效)。 */
212
+ return '<div class="' + REMINDER_SETTER_CLASS + ' ' + reminderSetterSlot('host')
213
+ + ' is-' + m.form + extra + '"'
214
+ + ' ' + REMINDER_SETTER_ATTR + '="' + esc(m.id) + '"'
215
+ + ' ' + REMINDER_SETTER_FORM_ATTR + '="' + m.form + '"'
216
+ + (m.form === 'track' ? trackRootAttrs(m) : decisionsRootAttrs(m))
217
+ + '>'
218
+ + (m.form === 'track' ? SKELETONS.track(m) : SKELETONS.decisions(m))
219
+ + '</div>';
220
+ }
221
+ //# sourceMappingURL=render.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/components/reminder-setter/render.ts"],"names":[],"mappings":"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"}