base-paint 0.3.13 → 0.3.15

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 (1826) hide show
  1. package/README.md +218 -15
  2. package/dist/blocks.d.ts +188 -14
  3. package/dist/blocks.d.ts.map +1 -1
  4. package/dist/blocks.js +781 -78
  5. package/dist/blocks.js.map +1 -1
  6. package/dist/charts.d.ts +6 -61
  7. package/dist/charts.d.ts.map +1 -1
  8. package/dist/charts.js +6 -2034
  9. package/dist/charts.js.map +1 -1
  10. package/dist/components/bulk-bar/attrs.d.ts +176 -0
  11. package/dist/components/bulk-bar/attrs.d.ts.map +1 -0
  12. package/dist/components/bulk-bar/attrs.js +184 -0
  13. package/dist/components/bulk-bar/attrs.js.map +1 -0
  14. package/dist/components/bulk-bar/index.d.ts +25 -0
  15. package/dist/components/bulk-bar/index.d.ts.map +1 -0
  16. package/dist/components/bulk-bar/index.js +23 -0
  17. package/dist/components/bulk-bar/index.js.map +1 -0
  18. package/dist/components/bulk-bar/model.d.ts +74 -0
  19. package/dist/components/bulk-bar/model.d.ts.map +1 -0
  20. package/dist/components/bulk-bar/model.js +239 -0
  21. package/dist/components/bulk-bar/model.js.map +1 -0
  22. package/dist/components/bulk-bar/render.d.ts +3 -0
  23. package/dist/components/bulk-bar/render.d.ts.map +1 -0
  24. package/dist/components/bulk-bar/render.js +195 -0
  25. package/dist/components/bulk-bar/render.js.map +1 -0
  26. package/dist/components/bulk-bar/runtime.d.ts +3 -0
  27. package/dist/components/bulk-bar/runtime.d.ts.map +1 -0
  28. package/dist/components/bulk-bar/runtime.js +135 -0
  29. package/dist/components/bulk-bar/runtime.js.map +1 -0
  30. package/dist/components/bulk-bar/style-column.d.ts +5 -0
  31. package/dist/components/bulk-bar/style-column.d.ts.map +1 -0
  32. package/dist/components/bulk-bar/style-column.js +191 -0
  33. package/dist/components/bulk-bar/style-column.js.map +1 -0
  34. package/dist/components/bulk-bar/style-confirm.d.ts +5 -0
  35. package/dist/components/bulk-bar/style-confirm.d.ts.map +1 -0
  36. package/dist/components/bulk-bar/style-confirm.js +236 -0
  37. package/dist/components/bulk-bar/style-confirm.js.map +1 -0
  38. package/dist/components/bulk-bar/style-sizes.d.ts +15 -0
  39. package/dist/components/bulk-bar/style-sizes.d.ts.map +1 -0
  40. package/dist/components/bulk-bar/style-sizes.js +14 -0
  41. package/dist/components/bulk-bar/style-sizes.js.map +1 -0
  42. package/dist/components/bulk-bar/style.d.ts +6 -0
  43. package/dist/components/bulk-bar/style.d.ts.map +1 -0
  44. package/dist/components/bulk-bar/style.js +239 -0
  45. package/dist/components/bulk-bar/style.js.map +1 -0
  46. package/dist/components/calendar-month/attrs.d.ts +85 -0
  47. package/dist/components/calendar-month/attrs.d.ts.map +1 -0
  48. package/dist/components/calendar-month/attrs.js +76 -0
  49. package/dist/components/calendar-month/attrs.js.map +1 -0
  50. package/dist/components/calendar-month/index.d.ts +13 -0
  51. package/dist/components/calendar-month/index.d.ts.map +1 -0
  52. package/dist/components/calendar-month/index.js +11 -0
  53. package/dist/components/calendar-month/index.js.map +1 -0
  54. package/dist/components/calendar-month/model.d.ts +31 -0
  55. package/dist/components/calendar-month/model.d.ts.map +1 -0
  56. package/dist/components/calendar-month/model.js +142 -0
  57. package/dist/components/calendar-month/model.js.map +1 -0
  58. package/dist/components/calendar-month/render.d.ts +3 -0
  59. package/dist/components/calendar-month/render.d.ts.map +1 -0
  60. package/dist/components/calendar-month/render.js +84 -0
  61. package/dist/components/calendar-month/render.js.map +1 -0
  62. package/dist/components/calendar-month/style.d.ts +14 -0
  63. package/dist/components/calendar-month/style.d.ts.map +1 -0
  64. package/dist/components/calendar-month/style.js +210 -0
  65. package/dist/components/calendar-month/style.js.map +1 -0
  66. package/dist/components/cash-waterline/attrs.d.ts +131 -0
  67. package/dist/components/cash-waterline/attrs.d.ts.map +1 -0
  68. package/dist/components/cash-waterline/attrs.js +157 -0
  69. package/dist/components/cash-waterline/attrs.js.map +1 -0
  70. package/dist/components/cash-waterline/fields.d.ts +26 -0
  71. package/dist/components/cash-waterline/fields.d.ts.map +1 -0
  72. package/dist/components/cash-waterline/fields.js +174 -0
  73. package/dist/components/cash-waterline/fields.js.map +1 -0
  74. package/dist/components/cash-waterline/index.d.ts +14 -0
  75. package/dist/components/cash-waterline/index.d.ts.map +1 -0
  76. package/dist/components/cash-waterline/index.js +12 -0
  77. package/dist/components/cash-waterline/index.js.map +1 -0
  78. package/dist/components/cash-waterline/model.d.ts +117 -0
  79. package/dist/components/cash-waterline/model.d.ts.map +1 -0
  80. package/dist/components/cash-waterline/model.js +242 -0
  81. package/dist/components/cash-waterline/model.js.map +1 -0
  82. package/dist/components/cash-waterline/render.d.ts +3 -0
  83. package/dist/components/cash-waterline/render.d.ts.map +1 -0
  84. package/dist/components/cash-waterline/render.js +203 -0
  85. package/dist/components/cash-waterline/render.js.map +1 -0
  86. package/dist/components/cash-waterline/style-forms.d.ts +7 -0
  87. package/dist/components/cash-waterline/style-forms.d.ts.map +1 -0
  88. package/dist/components/cash-waterline/style-forms.js +337 -0
  89. package/dist/components/cash-waterline/style-forms.js.map +1 -0
  90. package/dist/components/cash-waterline/style.d.ts +9 -0
  91. package/dist/components/cash-waterline/style.d.ts.map +1 -0
  92. package/dist/components/cash-waterline/style.js +224 -0
  93. package/dist/components/cash-waterline/style.js.map +1 -0
  94. package/dist/components/charts/bar.d.ts +11 -0
  95. package/dist/components/charts/bar.d.ts.map +1 -0
  96. package/dist/components/charts/bar.js +257 -0
  97. package/dist/components/charts/bar.js.map +1 -0
  98. package/dist/components/charts/combo.d.ts +11 -0
  99. package/dist/components/charts/combo.d.ts.map +1 -0
  100. package/dist/components/charts/combo.js +113 -0
  101. package/dist/components/charts/combo.js.map +1 -0
  102. package/dist/components/charts/coords.d.ts +134 -0
  103. package/dist/components/charts/coords.d.ts.map +1 -0
  104. package/dist/components/charts/coords.js +182 -0
  105. package/dist/components/charts/coords.js.map +1 -0
  106. package/dist/components/charts/dispatch.d.ts +15 -0
  107. package/dist/components/charts/dispatch.d.ts.map +1 -0
  108. package/dist/components/charts/dispatch.js +41 -0
  109. package/dist/components/charts/dispatch.js.map +1 -0
  110. package/dist/components/charts/donut.d.ts +11 -0
  111. package/dist/components/charts/donut.d.ts.map +1 -0
  112. package/dist/components/charts/donut.js +90 -0
  113. package/dist/components/charts/donut.js.map +1 -0
  114. package/dist/components/charts/gauge.d.ts +11 -0
  115. package/dist/components/charts/gauge.d.ts.map +1 -0
  116. package/dist/components/charts/gauge.js +48 -0
  117. package/dist/components/charts/gauge.js.map +1 -0
  118. package/dist/components/charts/helpers.d.ts +20 -0
  119. package/dist/components/charts/helpers.d.ts.map +1 -0
  120. package/dist/components/charts/helpers.js +58 -0
  121. package/dist/components/charts/helpers.js.map +1 -0
  122. package/dist/components/charts/index.d.ts +10 -0
  123. package/dist/components/charts/index.d.ts.map +1 -0
  124. package/dist/components/charts/index.js +9 -0
  125. package/dist/components/charts/index.js.map +1 -0
  126. package/dist/components/charts/line.d.ts +13 -0
  127. package/dist/components/charts/line.d.ts.map +1 -0
  128. package/dist/components/charts/line.js +675 -0
  129. package/dist/components/charts/line.js.map +1 -0
  130. package/dist/components/charts/options.d.ts +62 -0
  131. package/dist/components/charts/options.d.ts.map +1 -0
  132. package/dist/components/charts/options.js +113 -0
  133. package/dist/components/charts/options.js.map +1 -0
  134. package/dist/components/charts/progress.d.ts +11 -0
  135. package/dist/components/charts/progress.d.ts.map +1 -0
  136. package/dist/components/charts/progress.js +49 -0
  137. package/dist/components/charts/progress.js.map +1 -0
  138. package/dist/components/charts/scatter.d.ts +11 -0
  139. package/dist/components/charts/scatter.d.ts.map +1 -0
  140. package/dist/components/charts/scatter.js +116 -0
  141. package/dist/components/charts/scatter.js.map +1 -0
  142. package/dist/components/charts/shared.d.ts +64 -0
  143. package/dist/components/charts/shared.d.ts.map +1 -0
  144. package/dist/components/charts/shared.js +159 -0
  145. package/dist/components/charts/shared.js.map +1 -0
  146. package/dist/components/charts/sparkline.d.ts +11 -0
  147. package/dist/components/charts/sparkline.d.ts.map +1 -0
  148. package/dist/components/charts/sparkline.js +52 -0
  149. package/dist/components/charts/sparkline.js.map +1 -0
  150. package/dist/components/charts/style.d.ts +19 -0
  151. package/dist/components/charts/style.d.ts.map +1 -0
  152. package/dist/components/charts/style.js +120 -0
  153. package/dist/components/charts/style.js.map +1 -0
  154. package/dist/components/charts/svg.d.ts +23 -0
  155. package/dist/components/charts/svg.d.ts.map +1 -0
  156. package/dist/components/charts/svg.js +143 -0
  157. package/dist/components/charts/svg.js.map +1 -0
  158. package/dist/components/command-palette/attrs.d.ts +165 -0
  159. package/dist/components/command-palette/attrs.d.ts.map +1 -0
  160. package/dist/components/command-palette/attrs.js +162 -0
  161. package/dist/components/command-palette/attrs.js.map +1 -0
  162. package/dist/components/command-palette/index.d.ts +18 -0
  163. package/dist/components/command-palette/index.d.ts.map +1 -0
  164. package/dist/components/command-palette/index.js +16 -0
  165. package/dist/components/command-palette/index.js.map +1 -0
  166. package/dist/components/command-palette/model.d.ts +46 -0
  167. package/dist/components/command-palette/model.d.ts.map +1 -0
  168. package/dist/components/command-palette/model.js +164 -0
  169. package/dist/components/command-palette/model.js.map +1 -0
  170. package/dist/components/command-palette/render.d.ts +3 -0
  171. package/dist/components/command-palette/render.d.ts.map +1 -0
  172. package/dist/components/command-palette/render.js +153 -0
  173. package/dist/components/command-palette/render.js.map +1 -0
  174. package/dist/components/command-palette/runtime.d.ts +3 -0
  175. package/dist/components/command-palette/runtime.d.ts.map +1 -0
  176. package/dist/components/command-palette/runtime.js +153 -0
  177. package/dist/components/command-palette/runtime.js.map +1 -0
  178. package/dist/components/command-palette/style.d.ts +5 -0
  179. package/dist/components/command-palette/style.d.ts.map +1 -0
  180. package/dist/components/command-palette/style.js +346 -0
  181. package/dist/components/command-palette/style.js.map +1 -0
  182. package/dist/components/compare-columns/attrs.d.ts +79 -0
  183. package/dist/components/compare-columns/attrs.d.ts.map +1 -0
  184. package/dist/components/compare-columns/attrs.js +86 -0
  185. package/dist/components/compare-columns/attrs.js.map +1 -0
  186. package/dist/components/compare-columns/index.d.ts +14 -0
  187. package/dist/components/compare-columns/index.d.ts.map +1 -0
  188. package/dist/components/compare-columns/index.js +12 -0
  189. package/dist/components/compare-columns/index.js.map +1 -0
  190. package/dist/components/compare-columns/model.d.ts +35 -0
  191. package/dist/components/compare-columns/model.d.ts.map +1 -0
  192. package/dist/components/compare-columns/model.js +112 -0
  193. package/dist/components/compare-columns/model.js.map +1 -0
  194. package/dist/components/compare-columns/render.d.ts +4 -0
  195. package/dist/components/compare-columns/render.d.ts.map +1 -0
  196. package/dist/components/compare-columns/render.js +92 -0
  197. package/dist/components/compare-columns/render.js.map +1 -0
  198. package/dist/components/compare-columns/style.d.ts +13 -0
  199. package/dist/components/compare-columns/style.d.ts.map +1 -0
  200. package/dist/components/compare-columns/style.js +287 -0
  201. package/dist/components/compare-columns/style.js.map +1 -0
  202. package/dist/components/confirm-strip/attrs.d.ts +111 -0
  203. package/dist/components/confirm-strip/attrs.d.ts.map +1 -0
  204. package/dist/components/confirm-strip/attrs.js +100 -0
  205. package/dist/components/confirm-strip/attrs.js.map +1 -0
  206. package/dist/components/confirm-strip/index.d.ts +32 -0
  207. package/dist/components/confirm-strip/index.d.ts.map +1 -0
  208. package/dist/components/confirm-strip/index.js +30 -0
  209. package/dist/components/confirm-strip/index.js.map +1 -0
  210. package/dist/components/confirm-strip/model.d.ts +40 -0
  211. package/dist/components/confirm-strip/model.d.ts.map +1 -0
  212. package/dist/components/confirm-strip/model.js +112 -0
  213. package/dist/components/confirm-strip/model.js.map +1 -0
  214. package/dist/components/confirm-strip/render.d.ts +3 -0
  215. package/dist/components/confirm-strip/render.d.ts.map +1 -0
  216. package/dist/components/confirm-strip/render.js +79 -0
  217. package/dist/components/confirm-strip/render.js.map +1 -0
  218. package/dist/components/confirm-strip/runtime.d.ts +3 -0
  219. package/dist/components/confirm-strip/runtime.d.ts.map +1 -0
  220. package/dist/components/confirm-strip/runtime.js +61 -0
  221. package/dist/components/confirm-strip/runtime.js.map +1 -0
  222. package/dist/components/confirm-strip/style.d.ts +13 -0
  223. package/dist/components/confirm-strip/style.d.ts.map +1 -0
  224. package/dist/components/confirm-strip/style.js +302 -0
  225. package/dist/components/confirm-strip/style.js.map +1 -0
  226. package/dist/components/controls/action-bar.d.ts +42 -0
  227. package/dist/components/controls/action-bar.d.ts.map +1 -0
  228. package/dist/components/controls/action-bar.js +216 -0
  229. package/dist/components/controls/action-bar.js.map +1 -0
  230. package/dist/components/controls/bind.d.ts +22 -0
  231. package/dist/components/controls/bind.d.ts.map +1 -0
  232. package/dist/components/controls/bind.js +62 -0
  233. package/dist/components/controls/bind.js.map +1 -0
  234. package/dist/components/controls/copy.d.ts +18 -0
  235. package/dist/components/controls/copy.d.ts.map +1 -0
  236. package/dist/components/controls/copy.js +132 -0
  237. package/dist/components/controls/copy.js.map +1 -0
  238. package/dist/components/controls/helpers-meta.d.ts +87 -0
  239. package/dist/components/controls/helpers-meta.d.ts.map +1 -0
  240. package/dist/components/controls/helpers-meta.js +114 -0
  241. package/dist/components/controls/helpers-meta.js.map +1 -0
  242. package/dist/components/controls/helpers.d.ts +11 -0
  243. package/dist/components/controls/helpers.d.ts.map +1 -0
  244. package/dist/components/controls/helpers.js +630 -0
  245. package/dist/components/controls/helpers.js.map +1 -0
  246. package/dist/components/controls/index.d.ts +13 -0
  247. package/dist/components/controls/index.d.ts.map +1 -0
  248. package/dist/components/controls/index.js +12 -0
  249. package/dist/components/controls/index.js.map +1 -0
  250. package/dist/components/controls/shared.d.ts +23 -0
  251. package/dist/components/controls/shared.d.ts.map +1 -0
  252. package/dist/components/controls/shared.js +48 -0
  253. package/dist/components/controls/shared.js.map +1 -0
  254. package/dist/components/controls/status.d.ts +20 -0
  255. package/dist/components/controls/status.d.ts.map +1 -0
  256. package/dist/components/controls/status.js +84 -0
  257. package/dist/components/controls/status.js.map +1 -0
  258. package/dist/components/controls/toast.d.ts +43 -0
  259. package/dist/components/controls/toast.d.ts.map +1 -0
  260. package/dist/components/controls/toast.js +164 -0
  261. package/dist/components/controls/toast.js.map +1 -0
  262. package/dist/components/date-range/attrs.d.ts +134 -0
  263. package/dist/components/date-range/attrs.d.ts.map +1 -0
  264. package/dist/components/date-range/attrs.js +136 -0
  265. package/dist/components/date-range/attrs.js.map +1 -0
  266. package/dist/components/date-range/index.d.ts +33 -0
  267. package/dist/components/date-range/index.d.ts.map +1 -0
  268. package/dist/components/date-range/index.js +31 -0
  269. package/dist/components/date-range/index.js.map +1 -0
  270. package/dist/components/date-range/model.d.ts +49 -0
  271. package/dist/components/date-range/model.d.ts.map +1 -0
  272. package/dist/components/date-range/model.js +160 -0
  273. package/dist/components/date-range/model.js.map +1 -0
  274. package/dist/components/date-range/render.d.ts +5 -0
  275. package/dist/components/date-range/render.d.ts.map +1 -0
  276. package/dist/components/date-range/render.js +208 -0
  277. package/dist/components/date-range/render.js.map +1 -0
  278. package/dist/components/date-range/runtime.d.ts +3 -0
  279. package/dist/components/date-range/runtime.d.ts.map +1 -0
  280. package/dist/components/date-range/runtime.js +240 -0
  281. package/dist/components/date-range/runtime.js.map +1 -0
  282. package/dist/components/date-range/style-calendar.d.ts +5 -0
  283. package/dist/components/date-range/style-calendar.d.ts.map +1 -0
  284. package/dist/components/date-range/style-calendar.js +144 -0
  285. package/dist/components/date-range/style-calendar.js.map +1 -0
  286. package/dist/components/date-range/style.d.ts +5 -0
  287. package/dist/components/date-range/style.d.ts.map +1 -0
  288. package/dist/components/date-range/style.js +259 -0
  289. package/dist/components/date-range/style.js.map +1 -0
  290. package/dist/components/dialog/attrs.d.ts +100 -0
  291. package/dist/components/dialog/attrs.d.ts.map +1 -0
  292. package/dist/components/dialog/attrs.js +76 -0
  293. package/dist/components/dialog/attrs.js.map +1 -0
  294. package/dist/components/dialog/index.d.ts +34 -0
  295. package/dist/components/dialog/index.d.ts.map +1 -0
  296. package/dist/components/dialog/index.js +32 -0
  297. package/dist/components/dialog/index.js.map +1 -0
  298. package/dist/components/dialog/model.d.ts +32 -0
  299. package/dist/components/dialog/model.d.ts.map +1 -0
  300. package/dist/components/dialog/model.js +109 -0
  301. package/dist/components/dialog/model.js.map +1 -0
  302. package/dist/components/dialog/render.d.ts +5 -0
  303. package/dist/components/dialog/render.d.ts.map +1 -0
  304. package/dist/components/dialog/render.js +96 -0
  305. package/dist/components/dialog/render.js.map +1 -0
  306. package/dist/components/dialog/runtime.d.ts +3 -0
  307. package/dist/components/dialog/runtime.d.ts.map +1 -0
  308. package/dist/components/dialog/runtime.js +73 -0
  309. package/dist/components/dialog/runtime.js.map +1 -0
  310. package/dist/components/dialog/style.d.ts +14 -0
  311. package/dist/components/dialog/style.d.ts.map +1 -0
  312. package/dist/components/dialog/style.js +133 -0
  313. package/dist/components/dialog/style.js.map +1 -0
  314. package/dist/components/drawer-sheet/attrs.d.ts +113 -0
  315. package/dist/components/drawer-sheet/attrs.d.ts.map +1 -0
  316. package/dist/components/drawer-sheet/attrs.js +110 -0
  317. package/dist/components/drawer-sheet/attrs.js.map +1 -0
  318. package/dist/components/drawer-sheet/index.d.ts +35 -0
  319. package/dist/components/drawer-sheet/index.d.ts.map +1 -0
  320. package/dist/components/drawer-sheet/index.js +32 -0
  321. package/dist/components/drawer-sheet/index.js.map +1 -0
  322. package/dist/components/drawer-sheet/model.d.ts +36 -0
  323. package/dist/components/drawer-sheet/model.d.ts.map +1 -0
  324. package/dist/components/drawer-sheet/model.js +118 -0
  325. package/dist/components/drawer-sheet/model.js.map +1 -0
  326. package/dist/components/drawer-sheet/render.d.ts +5 -0
  327. package/dist/components/drawer-sheet/render.d.ts.map +1 -0
  328. package/dist/components/drawer-sheet/render.js +116 -0
  329. package/dist/components/drawer-sheet/render.js.map +1 -0
  330. package/dist/components/drawer-sheet/runtime.d.ts +3 -0
  331. package/dist/components/drawer-sheet/runtime.d.ts.map +1 -0
  332. package/dist/components/drawer-sheet/runtime.js +105 -0
  333. package/dist/components/drawer-sheet/runtime.js.map +1 -0
  334. package/dist/components/drawer-sheet/style.d.ts +8 -0
  335. package/dist/components/drawer-sheet/style.d.ts.map +1 -0
  336. package/dist/components/drawer-sheet/style.js +136 -0
  337. package/dist/components/drawer-sheet/style.js.map +1 -0
  338. package/dist/components/due-row/attrs.d.ts +106 -0
  339. package/dist/components/due-row/attrs.d.ts.map +1 -0
  340. package/dist/components/due-row/attrs.js +75 -0
  341. package/dist/components/due-row/attrs.js.map +1 -0
  342. package/dist/components/due-row/index.d.ts +35 -0
  343. package/dist/components/due-row/index.d.ts.map +1 -0
  344. package/dist/components/due-row/index.js +33 -0
  345. package/dist/components/due-row/index.js.map +1 -0
  346. package/dist/components/due-row/model.d.ts +35 -0
  347. package/dist/components/due-row/model.d.ts.map +1 -0
  348. package/dist/components/due-row/model.js +100 -0
  349. package/dist/components/due-row/model.js.map +1 -0
  350. package/dist/components/due-row/render.d.ts +6 -0
  351. package/dist/components/due-row/render.d.ts.map +1 -0
  352. package/dist/components/due-row/render.js +100 -0
  353. package/dist/components/due-row/render.js.map +1 -0
  354. package/dist/components/due-row/runtime.d.ts +3 -0
  355. package/dist/components/due-row/runtime.d.ts.map +1 -0
  356. package/dist/components/due-row/runtime.js +39 -0
  357. package/dist/components/due-row/runtime.js.map +1 -0
  358. package/dist/components/due-row/style.d.ts +15 -0
  359. package/dist/components/due-row/style.d.ts.map +1 -0
  360. package/dist/components/due-row/style.js +322 -0
  361. package/dist/components/due-row/style.js.map +1 -0
  362. package/dist/components/editable-value/attrs.d.ts +81 -0
  363. package/dist/components/editable-value/attrs.d.ts.map +1 -0
  364. package/dist/components/editable-value/attrs.js +43 -0
  365. package/dist/components/editable-value/attrs.js.map +1 -0
  366. package/dist/components/editable-value/index.d.ts +33 -0
  367. package/dist/components/editable-value/index.d.ts.map +1 -0
  368. package/dist/components/editable-value/index.js +31 -0
  369. package/dist/components/editable-value/index.js.map +1 -0
  370. package/dist/components/editable-value/render.d.ts +4 -0
  371. package/dist/components/editable-value/render.d.ts.map +1 -0
  372. package/dist/components/editable-value/render.js +142 -0
  373. package/dist/components/editable-value/render.js.map +1 -0
  374. package/dist/components/editable-value/runtime.d.ts +3 -0
  375. package/dist/components/editable-value/runtime.d.ts.map +1 -0
  376. package/dist/components/editable-value/runtime.js +178 -0
  377. package/dist/components/editable-value/runtime.js.map +1 -0
  378. package/dist/components/editable-value/style.d.ts +8 -0
  379. package/dist/components/editable-value/style.d.ts.map +1 -0
  380. package/dist/components/editable-value/style.js +55 -0
  381. package/dist/components/editable-value/style.js.map +1 -0
  382. package/dist/components/entry-rows/index.d.ts +11 -0
  383. package/dist/components/entry-rows/index.d.ts.map +1 -0
  384. package/dist/components/entry-rows/index.js +9 -0
  385. package/dist/components/entry-rows/index.js.map +1 -0
  386. package/dist/components/entry-rows/render.d.ts +33 -0
  387. package/dist/components/entry-rows/render.d.ts.map +1 -0
  388. package/dist/components/entry-rows/render.js +64 -0
  389. package/dist/components/entry-rows/render.js.map +1 -0
  390. package/dist/components/entry-rows/style.d.ts +9 -0
  391. package/dist/components/entry-rows/style.d.ts.map +1 -0
  392. package/dist/components/entry-rows/style.js +131 -0
  393. package/dist/components/entry-rows/style.js.map +1 -0
  394. package/dist/components/filter-chips/attrs.d.ts +119 -0
  395. package/dist/components/filter-chips/attrs.d.ts.map +1 -0
  396. package/dist/components/filter-chips/attrs.js +83 -0
  397. package/dist/components/filter-chips/attrs.js.map +1 -0
  398. package/dist/components/filter-chips/index.d.ts +38 -0
  399. package/dist/components/filter-chips/index.d.ts.map +1 -0
  400. package/dist/components/filter-chips/index.js +36 -0
  401. package/dist/components/filter-chips/index.js.map +1 -0
  402. package/dist/components/filter-chips/model.d.ts +30 -0
  403. package/dist/components/filter-chips/model.d.ts.map +1 -0
  404. package/dist/components/filter-chips/model.js +91 -0
  405. package/dist/components/filter-chips/model.js.map +1 -0
  406. package/dist/components/filter-chips/render.d.ts +5 -0
  407. package/dist/components/filter-chips/render.d.ts.map +1 -0
  408. package/dist/components/filter-chips/render.js +91 -0
  409. package/dist/components/filter-chips/render.js.map +1 -0
  410. package/dist/components/filter-chips/runtime.d.ts +3 -0
  411. package/dist/components/filter-chips/runtime.d.ts.map +1 -0
  412. package/dist/components/filter-chips/runtime.js +138 -0
  413. package/dist/components/filter-chips/runtime.js.map +1 -0
  414. package/dist/components/filter-chips/style.d.ts +9 -0
  415. package/dist/components/filter-chips/style.d.ts.map +1 -0
  416. package/dist/components/filter-chips/style.js +116 -0
  417. package/dist/components/filter-chips/style.js.map +1 -0
  418. package/dist/components/flow-ribbon/attrs.d.ts +120 -0
  419. package/dist/components/flow-ribbon/attrs.d.ts.map +1 -0
  420. package/dist/components/flow-ribbon/attrs.js +174 -0
  421. package/dist/components/flow-ribbon/attrs.js.map +1 -0
  422. package/dist/components/flow-ribbon/fields.d.ts +50 -0
  423. package/dist/components/flow-ribbon/fields.d.ts.map +1 -0
  424. package/dist/components/flow-ribbon/fields.js +206 -0
  425. package/dist/components/flow-ribbon/fields.js.map +1 -0
  426. package/dist/components/flow-ribbon/forms.d.ts +127 -0
  427. package/dist/components/flow-ribbon/forms.d.ts.map +1 -0
  428. package/dist/components/flow-ribbon/forms.js +218 -0
  429. package/dist/components/flow-ribbon/forms.js.map +1 -0
  430. package/dist/components/flow-ribbon/index.d.ts +14 -0
  431. package/dist/components/flow-ribbon/index.d.ts.map +1 -0
  432. package/dist/components/flow-ribbon/index.js +13 -0
  433. package/dist/components/flow-ribbon/index.js.map +1 -0
  434. package/dist/components/flow-ribbon/model.d.ts +6 -0
  435. package/dist/components/flow-ribbon/model.d.ts.map +1 -0
  436. package/dist/components/flow-ribbon/model.js +72 -0
  437. package/dist/components/flow-ribbon/model.js.map +1 -0
  438. package/dist/components/flow-ribbon/render.d.ts +3 -0
  439. package/dist/components/flow-ribbon/render.d.ts.map +1 -0
  440. package/dist/components/flow-ribbon/render.js +191 -0
  441. package/dist/components/flow-ribbon/render.js.map +1 -0
  442. package/dist/components/flow-ribbon/style-forms.d.ts +8 -0
  443. package/dist/components/flow-ribbon/style-forms.d.ts.map +1 -0
  444. package/dist/components/flow-ribbon/style-forms.js +255 -0
  445. package/dist/components/flow-ribbon/style-forms.js.map +1 -0
  446. package/dist/components/flow-ribbon/style-rails.d.ts +5 -0
  447. package/dist/components/flow-ribbon/style-rails.d.ts.map +1 -0
  448. package/dist/components/flow-ribbon/style-rails.js +130 -0
  449. package/dist/components/flow-ribbon/style-rails.js.map +1 -0
  450. package/dist/components/flow-ribbon/style.d.ts +5 -0
  451. package/dist/components/flow-ribbon/style.d.ts.map +1 -0
  452. package/dist/components/flow-ribbon/style.js +216 -0
  453. package/dist/components/flow-ribbon/style.js.map +1 -0
  454. package/dist/components/gantt-timeline/attrs.d.ts +145 -0
  455. package/dist/components/gantt-timeline/attrs.d.ts.map +1 -0
  456. package/dist/components/gantt-timeline/attrs.js +120 -0
  457. package/dist/components/gantt-timeline/attrs.js.map +1 -0
  458. package/dist/components/gantt-timeline/index.d.ts +14 -0
  459. package/dist/components/gantt-timeline/index.d.ts.map +1 -0
  460. package/dist/components/gantt-timeline/index.js +12 -0
  461. package/dist/components/gantt-timeline/index.js.map +1 -0
  462. package/dist/components/gantt-timeline/layout.d.ts +112 -0
  463. package/dist/components/gantt-timeline/layout.d.ts.map +1 -0
  464. package/dist/components/gantt-timeline/layout.js +136 -0
  465. package/dist/components/gantt-timeline/layout.js.map +1 -0
  466. package/dist/components/gantt-timeline/model.d.ts +7 -0
  467. package/dist/components/gantt-timeline/model.d.ts.map +1 -0
  468. package/dist/components/gantt-timeline/model.js +222 -0
  469. package/dist/components/gantt-timeline/model.js.map +1 -0
  470. package/dist/components/gantt-timeline/render.d.ts +3 -0
  471. package/dist/components/gantt-timeline/render.d.ts.map +1 -0
  472. package/dist/components/gantt-timeline/render.js +138 -0
  473. package/dist/components/gantt-timeline/render.js.map +1 -0
  474. package/dist/components/gantt-timeline/scale.d.ts +50 -0
  475. package/dist/components/gantt-timeline/scale.d.ts.map +1 -0
  476. package/dist/components/gantt-timeline/scale.js +108 -0
  477. package/dist/components/gantt-timeline/scale.js.map +1 -0
  478. package/dist/components/gantt-timeline/style-marks.d.ts +5 -0
  479. package/dist/components/gantt-timeline/style-marks.d.ts.map +1 -0
  480. package/dist/components/gantt-timeline/style-marks.js +199 -0
  481. package/dist/components/gantt-timeline/style-marks.js.map +1 -0
  482. package/dist/components/gantt-timeline/style.d.ts +22 -0
  483. package/dist/components/gantt-timeline/style.d.ts.map +1 -0
  484. package/dist/components/gantt-timeline/style.js +306 -0
  485. package/dist/components/gantt-timeline/style.js.map +1 -0
  486. package/dist/components/goal-stairs/attrs.d.ts +100 -0
  487. package/dist/components/goal-stairs/attrs.d.ts.map +1 -0
  488. package/dist/components/goal-stairs/attrs.js +101 -0
  489. package/dist/components/goal-stairs/attrs.js.map +1 -0
  490. package/dist/components/goal-stairs/index.d.ts +16 -0
  491. package/dist/components/goal-stairs/index.d.ts.map +1 -0
  492. package/dist/components/goal-stairs/index.js +14 -0
  493. package/dist/components/goal-stairs/index.js.map +1 -0
  494. package/dist/components/goal-stairs/model.d.ts +44 -0
  495. package/dist/components/goal-stairs/model.d.ts.map +1 -0
  496. package/dist/components/goal-stairs/model.js +126 -0
  497. package/dist/components/goal-stairs/model.js.map +1 -0
  498. package/dist/components/goal-stairs/render.d.ts +3 -0
  499. package/dist/components/goal-stairs/render.d.ts.map +1 -0
  500. package/dist/components/goal-stairs/render.js +76 -0
  501. package/dist/components/goal-stairs/render.js.map +1 -0
  502. package/dist/components/goal-stairs/style.d.ts +22 -0
  503. package/dist/components/goal-stairs/style.d.ts.map +1 -0
  504. package/dist/components/goal-stairs/style.js +321 -0
  505. package/dist/components/goal-stairs/style.js.map +1 -0
  506. package/dist/components/heat-grid/attrs.d.ts +72 -0
  507. package/dist/components/heat-grid/attrs.d.ts.map +1 -0
  508. package/dist/components/heat-grid/attrs.js +75 -0
  509. package/dist/components/heat-grid/attrs.js.map +1 -0
  510. package/dist/components/heat-grid/index.d.ts +15 -0
  511. package/dist/components/heat-grid/index.d.ts.map +1 -0
  512. package/dist/components/heat-grid/index.js +13 -0
  513. package/dist/components/heat-grid/index.js.map +1 -0
  514. package/dist/components/heat-grid/model.d.ts +41 -0
  515. package/dist/components/heat-grid/model.d.ts.map +1 -0
  516. package/dist/components/heat-grid/model.js +176 -0
  517. package/dist/components/heat-grid/model.js.map +1 -0
  518. package/dist/components/heat-grid/render.d.ts +3 -0
  519. package/dist/components/heat-grid/render.d.ts.map +1 -0
  520. package/dist/components/heat-grid/render.js +104 -0
  521. package/dist/components/heat-grid/render.js.map +1 -0
  522. package/dist/components/heat-grid/style.d.ts +7 -0
  523. package/dist/components/heat-grid/style.d.ts.map +1 -0
  524. package/dist/components/heat-grid/style.js +269 -0
  525. package/dist/components/heat-grid/style.js.map +1 -0
  526. package/dist/components/help/index.d.ts +8 -0
  527. package/dist/components/help/index.d.ts.map +1 -0
  528. package/dist/components/help/index.js +7 -0
  529. package/dist/components/help/index.js.map +1 -0
  530. package/dist/components/help/render.d.ts +25 -0
  531. package/dist/components/help/render.d.ts.map +1 -0
  532. package/dist/components/help/render.js +246 -0
  533. package/dist/components/help/render.js.map +1 -0
  534. package/dist/components/help/schema.d.ts +12 -0
  535. package/dist/components/help/schema.d.ts.map +1 -0
  536. package/dist/components/help/schema.js +221 -0
  537. package/dist/components/help/schema.js.map +1 -0
  538. package/dist/components/help/shared.d.ts +34 -0
  539. package/dist/components/help/shared.d.ts.map +1 -0
  540. package/dist/components/help/shared.js +56 -0
  541. package/dist/components/help/shared.js.map +1 -0
  542. package/dist/components/help/shell.d.ts +18 -0
  543. package/dist/components/help/shell.d.ts.map +1 -0
  544. package/dist/components/help/shell.js +30 -0
  545. package/dist/components/help/shell.js.map +1 -0
  546. package/dist/components/help/template.d.ts +18 -0
  547. package/dist/components/help/template.d.ts.map +1 -0
  548. package/dist/components/help/template.js +67 -0
  549. package/dist/components/help/template.js.map +1 -0
  550. package/dist/components/hour-band/attrs.d.ts +96 -0
  551. package/dist/components/hour-band/attrs.d.ts.map +1 -0
  552. package/dist/components/hour-band/attrs.js +89 -0
  553. package/dist/components/hour-band/attrs.js.map +1 -0
  554. package/dist/components/hour-band/index.d.ts +17 -0
  555. package/dist/components/hour-band/index.d.ts.map +1 -0
  556. package/dist/components/hour-band/index.js +15 -0
  557. package/dist/components/hour-band/index.js.map +1 -0
  558. package/dist/components/hour-band/model.d.ts +51 -0
  559. package/dist/components/hour-band/model.d.ts.map +1 -0
  560. package/dist/components/hour-band/model.js +149 -0
  561. package/dist/components/hour-band/model.js.map +1 -0
  562. package/dist/components/hour-band/render.d.ts +3 -0
  563. package/dist/components/hour-band/render.d.ts.map +1 -0
  564. package/dist/components/hour-band/render.js +100 -0
  565. package/dist/components/hour-band/render.js.map +1 -0
  566. package/dist/components/hour-band/style.d.ts +9 -0
  567. package/dist/components/hour-band/style.d.ts.map +1 -0
  568. package/dist/components/hour-band/style.js +134 -0
  569. package/dist/components/hour-band/style.js.map +1 -0
  570. package/dist/components/index.d.ts +103 -0
  571. package/dist/components/index.d.ts.map +1 -0
  572. package/dist/components/index.js +171 -0
  573. package/dist/components/index.js.map +1 -0
  574. package/dist/components/invoice-lines/attrs.d.ts +77 -0
  575. package/dist/components/invoice-lines/attrs.d.ts.map +1 -0
  576. package/dist/components/invoice-lines/attrs.js +75 -0
  577. package/dist/components/invoice-lines/attrs.js.map +1 -0
  578. package/dist/components/invoice-lines/index.d.ts +15 -0
  579. package/dist/components/invoice-lines/index.d.ts.map +1 -0
  580. package/dist/components/invoice-lines/index.js +13 -0
  581. package/dist/components/invoice-lines/index.js.map +1 -0
  582. package/dist/components/invoice-lines/model.d.ts +58 -0
  583. package/dist/components/invoice-lines/model.d.ts.map +1 -0
  584. package/dist/components/invoice-lines/model.js +180 -0
  585. package/dist/components/invoice-lines/model.js.map +1 -0
  586. package/dist/components/invoice-lines/render.d.ts +3 -0
  587. package/dist/components/invoice-lines/render.d.ts.map +1 -0
  588. package/dist/components/invoice-lines/render.js +116 -0
  589. package/dist/components/invoice-lines/render.js.map +1 -0
  590. package/dist/components/invoice-lines/style.d.ts +13 -0
  591. package/dist/components/invoice-lines/style.d.ts.map +1 -0
  592. package/dist/components/invoice-lines/style.js +271 -0
  593. package/dist/components/invoice-lines/style.js.map +1 -0
  594. package/dist/components/key-value-list/attrs.d.ts +49 -0
  595. package/dist/components/key-value-list/attrs.d.ts.map +1 -0
  596. package/dist/components/key-value-list/attrs.js +43 -0
  597. package/dist/components/key-value-list/attrs.js.map +1 -0
  598. package/dist/components/key-value-list/index.d.ts +14 -0
  599. package/dist/components/key-value-list/index.d.ts.map +1 -0
  600. package/dist/components/key-value-list/index.js +12 -0
  601. package/dist/components/key-value-list/index.js.map +1 -0
  602. package/dist/components/key-value-list/model.d.ts +16 -0
  603. package/dist/components/key-value-list/model.d.ts.map +1 -0
  604. package/dist/components/key-value-list/model.js +49 -0
  605. package/dist/components/key-value-list/model.js.map +1 -0
  606. package/dist/components/key-value-list/render.d.ts +5 -0
  607. package/dist/components/key-value-list/render.d.ts.map +1 -0
  608. package/dist/components/key-value-list/render.js +61 -0
  609. package/dist/components/key-value-list/render.js.map +1 -0
  610. package/dist/components/key-value-list/style.d.ts +5 -0
  611. package/dist/components/key-value-list/style.d.ts.map +1 -0
  612. package/dist/components/key-value-list/style.js +136 -0
  613. package/dist/components/key-value-list/style.js.map +1 -0
  614. package/dist/components/ledger-rows/index.d.ts +11 -0
  615. package/dist/components/ledger-rows/index.d.ts.map +1 -0
  616. package/dist/components/ledger-rows/index.js +9 -0
  617. package/dist/components/ledger-rows/index.js.map +1 -0
  618. package/dist/components/ledger-rows/render.d.ts +27 -0
  619. package/dist/components/ledger-rows/render.d.ts.map +1 -0
  620. package/dist/components/ledger-rows/render.js +58 -0
  621. package/dist/components/ledger-rows/render.js.map +1 -0
  622. package/dist/components/ledger-rows/style.d.ts +5 -0
  623. package/dist/components/ledger-rows/style.d.ts.map +1 -0
  624. package/dist/components/ledger-rows/style.js +88 -0
  625. package/dist/components/ledger-rows/style.js.map +1 -0
  626. package/dist/components/multi-checks/attrs.d.ts +138 -0
  627. package/dist/components/multi-checks/attrs.d.ts.map +1 -0
  628. package/dist/components/multi-checks/attrs.js +119 -0
  629. package/dist/components/multi-checks/attrs.js.map +1 -0
  630. package/dist/components/multi-checks/index.d.ts +14 -0
  631. package/dist/components/multi-checks/index.d.ts.map +1 -0
  632. package/dist/components/multi-checks/index.js +12 -0
  633. package/dist/components/multi-checks/index.js.map +1 -0
  634. package/dist/components/multi-checks/model.d.ts +63 -0
  635. package/dist/components/multi-checks/model.d.ts.map +1 -0
  636. package/dist/components/multi-checks/model.js +214 -0
  637. package/dist/components/multi-checks/model.js.map +1 -0
  638. package/dist/components/multi-checks/render.d.ts +3 -0
  639. package/dist/components/multi-checks/render.d.ts.map +1 -0
  640. package/dist/components/multi-checks/render.js +228 -0
  641. package/dist/components/multi-checks/render.js.map +1 -0
  642. package/dist/components/multi-checks/runtime.d.ts +19 -0
  643. package/dist/components/multi-checks/runtime.d.ts.map +1 -0
  644. package/dist/components/multi-checks/runtime.js +127 -0
  645. package/dist/components/multi-checks/runtime.js.map +1 -0
  646. package/dist/components/multi-checks/style.d.ts +15 -0
  647. package/dist/components/multi-checks/style.d.ts.map +1 -0
  648. package/dist/components/multi-checks/style.js +380 -0
  649. package/dist/components/multi-checks/style.js.map +1 -0
  650. package/dist/components/note-block/attrs.d.ts +56 -0
  651. package/dist/components/note-block/attrs.d.ts.map +1 -0
  652. package/dist/components/note-block/attrs.js +52 -0
  653. package/dist/components/note-block/attrs.js.map +1 -0
  654. package/dist/components/note-block/index.d.ts +14 -0
  655. package/dist/components/note-block/index.d.ts.map +1 -0
  656. package/dist/components/note-block/index.js +12 -0
  657. package/dist/components/note-block/index.js.map +1 -0
  658. package/dist/components/note-block/model.d.ts +22 -0
  659. package/dist/components/note-block/model.d.ts.map +1 -0
  660. package/dist/components/note-block/model.js +70 -0
  661. package/dist/components/note-block/model.js.map +1 -0
  662. package/dist/components/note-block/render.d.ts +3 -0
  663. package/dist/components/note-block/render.d.ts.map +1 -0
  664. package/dist/components/note-block/render.js +88 -0
  665. package/dist/components/note-block/render.js.map +1 -0
  666. package/dist/components/note-block/style.d.ts +11 -0
  667. package/dist/components/note-block/style.d.ts.map +1 -0
  668. package/dist/components/note-block/style.js +182 -0
  669. package/dist/components/note-block/style.js.map +1 -0
  670. package/dist/components/number-stepper/attrs.d.ts +113 -0
  671. package/dist/components/number-stepper/attrs.d.ts.map +1 -0
  672. package/dist/components/number-stepper/attrs.js +106 -0
  673. package/dist/components/number-stepper/attrs.js.map +1 -0
  674. package/dist/components/number-stepper/index.d.ts +26 -0
  675. package/dist/components/number-stepper/index.d.ts.map +1 -0
  676. package/dist/components/number-stepper/index.js +24 -0
  677. package/dist/components/number-stepper/index.js.map +1 -0
  678. package/dist/components/number-stepper/model.d.ts +25 -0
  679. package/dist/components/number-stepper/model.d.ts.map +1 -0
  680. package/dist/components/number-stepper/model.js +141 -0
  681. package/dist/components/number-stepper/model.js.map +1 -0
  682. package/dist/components/number-stepper/render.d.ts +5 -0
  683. package/dist/components/number-stepper/render.d.ts.map +1 -0
  684. package/dist/components/number-stepper/render.js +176 -0
  685. package/dist/components/number-stepper/render.js.map +1 -0
  686. package/dist/components/number-stepper/runtime.d.ts +3 -0
  687. package/dist/components/number-stepper/runtime.d.ts.map +1 -0
  688. package/dist/components/number-stepper/runtime.js +203 -0
  689. package/dist/components/number-stepper/runtime.js.map +1 -0
  690. package/dist/components/number-stepper/style.d.ts +5 -0
  691. package/dist/components/number-stepper/style.d.ts.map +1 -0
  692. package/dist/components/number-stepper/style.js +309 -0
  693. package/dist/components/number-stepper/style.js.map +1 -0
  694. package/dist/components/page/fact-strip.d.ts +36 -0
  695. package/dist/components/page/fact-strip.d.ts.map +1 -0
  696. package/dist/components/page/fact-strip.js +91 -0
  697. package/dist/components/page/fact-strip.js.map +1 -0
  698. package/dist/components/page/index.d.ts +13 -0
  699. package/dist/components/page/index.d.ts.map +1 -0
  700. package/dist/components/page/index.js +12 -0
  701. package/dist/components/page/index.js.map +1 -0
  702. package/dist/components/page/media.d.ts +67 -0
  703. package/dist/components/page/media.d.ts.map +1 -0
  704. package/dist/components/page/media.js +191 -0
  705. package/dist/components/page/media.js.map +1 -0
  706. package/dist/components/page/shared.d.ts +12 -0
  707. package/dist/components/page/shared.d.ts.map +1 -0
  708. package/dist/components/page/shared.js +34 -0
  709. package/dist/components/page/shared.js.map +1 -0
  710. package/dist/components/page/style.d.ts +5 -0
  711. package/dist/components/page/style.d.ts.map +1 -0
  712. package/dist/components/page/style.js +28 -0
  713. package/dist/components/page/style.js.map +1 -0
  714. package/dist/components/page/timeline.d.ts +25 -0
  715. package/dist/components/page/timeline.d.ts.map +1 -0
  716. package/dist/components/page/timeline.js +79 -0
  717. package/dist/components/page/timeline.js.map +1 -0
  718. package/dist/components/page-bars/index.d.ts +98 -0
  719. package/dist/components/page-bars/index.d.ts.map +1 -0
  720. package/dist/components/page-bars/index.js +180 -0
  721. package/dist/components/page-bars/index.js.map +1 -0
  722. package/dist/components/page-bars/style.d.ts +14 -0
  723. package/dist/components/page-bars/style.d.ts.map +1 -0
  724. package/dist/components/page-bars/style.js +231 -0
  725. package/dist/components/page-bars/style.js.map +1 -0
  726. package/dist/components/page-head/attrs.d.ts +57 -0
  727. package/dist/components/page-head/attrs.d.ts.map +1 -0
  728. package/dist/components/page-head/attrs.js +53 -0
  729. package/dist/components/page-head/attrs.js.map +1 -0
  730. package/dist/components/page-head/index.d.ts +13 -0
  731. package/dist/components/page-head/index.d.ts.map +1 -0
  732. package/dist/components/page-head/index.js +11 -0
  733. package/dist/components/page-head/index.js.map +1 -0
  734. package/dist/components/page-head/model.d.ts +23 -0
  735. package/dist/components/page-head/model.d.ts.map +1 -0
  736. package/dist/components/page-head/model.js +77 -0
  737. package/dist/components/page-head/model.js.map +1 -0
  738. package/dist/components/page-head/render.d.ts +3 -0
  739. package/dist/components/page-head/render.d.ts.map +1 -0
  740. package/dist/components/page-head/render.js +84 -0
  741. package/dist/components/page-head/render.js.map +1 -0
  742. package/dist/components/page-head/style.d.ts +9 -0
  743. package/dist/components/page-head/style.d.ts.map +1 -0
  744. package/dist/components/page-head/style.js +245 -0
  745. package/dist/components/page-head/style.js.map +1 -0
  746. package/dist/components/page-nav/index.d.ts +55 -0
  747. package/dist/components/page-nav/index.d.ts.map +1 -0
  748. package/dist/components/page-nav/index.js +125 -0
  749. package/dist/components/page-nav/index.js.map +1 -0
  750. package/dist/components/page-nav/style.d.ts +23 -0
  751. package/dist/components/page-nav/style.d.ts.map +1 -0
  752. package/dist/components/page-nav/style.js +93 -0
  753. package/dist/components/page-nav/style.js.map +1 -0
  754. package/dist/components/page-ui/index.d.ts +67 -0
  755. package/dist/components/page-ui/index.d.ts.map +1 -0
  756. package/dist/components/page-ui/index.js +394 -0
  757. package/dist/components/page-ui/index.js.map +1 -0
  758. package/dist/components/page-ui/toast.d.ts +16 -0
  759. package/dist/components/page-ui/toast.d.ts.map +1 -0
  760. package/dist/components/page-ui/toast.js +47 -0
  761. package/dist/components/page-ui/toast.js.map +1 -0
  762. package/dist/components/photo-compare/attrs.d.ts +84 -0
  763. package/dist/components/photo-compare/attrs.d.ts.map +1 -0
  764. package/dist/components/photo-compare/attrs.js +86 -0
  765. package/dist/components/photo-compare/attrs.js.map +1 -0
  766. package/dist/components/photo-compare/index.d.ts +16 -0
  767. package/dist/components/photo-compare/index.d.ts.map +1 -0
  768. package/dist/components/photo-compare/index.js +14 -0
  769. package/dist/components/photo-compare/index.js.map +1 -0
  770. package/dist/components/photo-compare/model.d.ts +38 -0
  771. package/dist/components/photo-compare/model.d.ts.map +1 -0
  772. package/dist/components/photo-compare/model.js +87 -0
  773. package/dist/components/photo-compare/model.js.map +1 -0
  774. package/dist/components/photo-compare/render.d.ts +3 -0
  775. package/dist/components/photo-compare/render.d.ts.map +1 -0
  776. package/dist/components/photo-compare/render.js +98 -0
  777. package/dist/components/photo-compare/render.js.map +1 -0
  778. package/dist/components/photo-compare/runtime.d.ts +3 -0
  779. package/dist/components/photo-compare/runtime.d.ts.map +1 -0
  780. package/dist/components/photo-compare/runtime.js +39 -0
  781. package/dist/components/photo-compare/runtime.js.map +1 -0
  782. package/dist/components/photo-compare/style.d.ts +14 -0
  783. package/dist/components/photo-compare/style.d.ts.map +1 -0
  784. package/dist/components/photo-compare/style.js +396 -0
  785. package/dist/components/photo-compare/style.js.map +1 -0
  786. package/dist/components/photo-grid/attrs.d.ts +78 -0
  787. package/dist/components/photo-grid/attrs.d.ts.map +1 -0
  788. package/dist/components/photo-grid/attrs.js +78 -0
  789. package/dist/components/photo-grid/attrs.js.map +1 -0
  790. package/dist/components/photo-grid/index.d.ts +13 -0
  791. package/dist/components/photo-grid/index.d.ts.map +1 -0
  792. package/dist/components/photo-grid/index.js +11 -0
  793. package/dist/components/photo-grid/index.js.map +1 -0
  794. package/dist/components/photo-grid/model.d.ts +35 -0
  795. package/dist/components/photo-grid/model.d.ts.map +1 -0
  796. package/dist/components/photo-grid/model.js +123 -0
  797. package/dist/components/photo-grid/model.js.map +1 -0
  798. package/dist/components/photo-grid/render.d.ts +3 -0
  799. package/dist/components/photo-grid/render.d.ts.map +1 -0
  800. package/dist/components/photo-grid/render.js +116 -0
  801. package/dist/components/photo-grid/render.js.map +1 -0
  802. package/dist/components/photo-grid/style.d.ts +17 -0
  803. package/dist/components/photo-grid/style.d.ts.map +1 -0
  804. package/dist/components/photo-grid/style.js +110 -0
  805. package/dist/components/photo-grid/style.js.map +1 -0
  806. package/dist/components/popover-menu/attrs.d.ts +98 -0
  807. package/dist/components/popover-menu/attrs.d.ts.map +1 -0
  808. package/dist/components/popover-menu/attrs.js +81 -0
  809. package/dist/components/popover-menu/attrs.js.map +1 -0
  810. package/dist/components/popover-menu/index.d.ts +33 -0
  811. package/dist/components/popover-menu/index.d.ts.map +1 -0
  812. package/dist/components/popover-menu/index.js +30 -0
  813. package/dist/components/popover-menu/index.js.map +1 -0
  814. package/dist/components/popover-menu/model.d.ts +26 -0
  815. package/dist/components/popover-menu/model.d.ts.map +1 -0
  816. package/dist/components/popover-menu/model.js +79 -0
  817. package/dist/components/popover-menu/model.js.map +1 -0
  818. package/dist/components/popover-menu/render.d.ts +3 -0
  819. package/dist/components/popover-menu/render.d.ts.map +1 -0
  820. package/dist/components/popover-menu/render.js +84 -0
  821. package/dist/components/popover-menu/render.js.map +1 -0
  822. package/dist/components/popover-menu/runtime.d.ts +3 -0
  823. package/dist/components/popover-menu/runtime.d.ts.map +1 -0
  824. package/dist/components/popover-menu/runtime.js +107 -0
  825. package/dist/components/popover-menu/runtime.js.map +1 -0
  826. package/dist/components/popover-menu/style.d.ts +8 -0
  827. package/dist/components/popover-menu/style.d.ts.map +1 -0
  828. package/dist/components/popover-menu/style.js +92 -0
  829. package/dist/components/popover-menu/style.js.map +1 -0
  830. package/dist/components/progress-list/attrs.d.ts +77 -0
  831. package/dist/components/progress-list/attrs.d.ts.map +1 -0
  832. package/dist/components/progress-list/attrs.js +72 -0
  833. package/dist/components/progress-list/attrs.js.map +1 -0
  834. package/dist/components/progress-list/index.d.ts +16 -0
  835. package/dist/components/progress-list/index.d.ts.map +1 -0
  836. package/dist/components/progress-list/index.js +14 -0
  837. package/dist/components/progress-list/index.js.map +1 -0
  838. package/dist/components/progress-list/model.d.ts +34 -0
  839. package/dist/components/progress-list/model.d.ts.map +1 -0
  840. package/dist/components/progress-list/model.js +132 -0
  841. package/dist/components/progress-list/model.js.map +1 -0
  842. package/dist/components/progress-list/render.d.ts +3 -0
  843. package/dist/components/progress-list/render.d.ts.map +1 -0
  844. package/dist/components/progress-list/render.js +84 -0
  845. package/dist/components/progress-list/render.js.map +1 -0
  846. package/dist/components/progress-list/style.d.ts +10 -0
  847. package/dist/components/progress-list/style.d.ts.map +1 -0
  848. package/dist/components/progress-list/style.js +207 -0
  849. package/dist/components/progress-list/style.js.map +1 -0
  850. package/dist/components/progress-ring/attrs.d.ts +59 -0
  851. package/dist/components/progress-ring/attrs.d.ts.map +1 -0
  852. package/dist/components/progress-ring/attrs.js +65 -0
  853. package/dist/components/progress-ring/attrs.js.map +1 -0
  854. package/dist/components/progress-ring/index.d.ts +13 -0
  855. package/dist/components/progress-ring/index.d.ts.map +1 -0
  856. package/dist/components/progress-ring/index.js +11 -0
  857. package/dist/components/progress-ring/index.js.map +1 -0
  858. package/dist/components/progress-ring/model.d.ts +32 -0
  859. package/dist/components/progress-ring/model.d.ts.map +1 -0
  860. package/dist/components/progress-ring/model.js +113 -0
  861. package/dist/components/progress-ring/model.js.map +1 -0
  862. package/dist/components/progress-ring/render.d.ts +3 -0
  863. package/dist/components/progress-ring/render.d.ts.map +1 -0
  864. package/dist/components/progress-ring/render.js +91 -0
  865. package/dist/components/progress-ring/render.js.map +1 -0
  866. package/dist/components/progress-ring/style.d.ts +9 -0
  867. package/dist/components/progress-ring/style.d.ts.map +1 -0
  868. package/dist/components/progress-ring/style.js +230 -0
  869. package/dist/components/progress-ring/style.js.map +1 -0
  870. package/dist/components/punch-strip/index.d.ts +12 -0
  871. package/dist/components/punch-strip/index.d.ts.map +1 -0
  872. package/dist/components/punch-strip/index.js +10 -0
  873. package/dist/components/punch-strip/index.js.map +1 -0
  874. package/dist/components/punch-strip/render.d.ts +24 -0
  875. package/dist/components/punch-strip/render.d.ts.map +1 -0
  876. package/dist/components/punch-strip/render.js +63 -0
  877. package/dist/components/punch-strip/render.js.map +1 -0
  878. package/dist/components/punch-strip/style.d.ts +8 -0
  879. package/dist/components/punch-strip/style.d.ts.map +1 -0
  880. package/dist/components/punch-strip/style.js +94 -0
  881. package/dist/components/punch-strip/style.js.map +1 -0
  882. package/dist/components/radar-profile/attrs.d.ts +110 -0
  883. package/dist/components/radar-profile/attrs.d.ts.map +1 -0
  884. package/dist/components/radar-profile/attrs.js +179 -0
  885. package/dist/components/radar-profile/attrs.js.map +1 -0
  886. package/dist/components/radar-profile/forms.d.ts +146 -0
  887. package/dist/components/radar-profile/forms.d.ts.map +1 -0
  888. package/dist/components/radar-profile/forms.js +258 -0
  889. package/dist/components/radar-profile/forms.js.map +1 -0
  890. package/dist/components/radar-profile/index.d.ts +13 -0
  891. package/dist/components/radar-profile/index.d.ts.map +1 -0
  892. package/dist/components/radar-profile/index.js +12 -0
  893. package/dist/components/radar-profile/index.js.map +1 -0
  894. package/dist/components/radar-profile/model.d.ts +5 -0
  895. package/dist/components/radar-profile/model.d.ts.map +1 -0
  896. package/dist/components/radar-profile/model.js +156 -0
  897. package/dist/components/radar-profile/model.js.map +1 -0
  898. package/dist/components/radar-profile/render.d.ts +3 -0
  899. package/dist/components/radar-profile/render.d.ts.map +1 -0
  900. package/dist/components/radar-profile/render.js +193 -0
  901. package/dist/components/radar-profile/render.js.map +1 -0
  902. package/dist/components/radar-profile/scale.d.ts +65 -0
  903. package/dist/components/radar-profile/scale.d.ts.map +1 -0
  904. package/dist/components/radar-profile/scale.js +132 -0
  905. package/dist/components/radar-profile/scale.js.map +1 -0
  906. package/dist/components/radar-profile/style-forms.d.ts +5 -0
  907. package/dist/components/radar-profile/style-forms.d.ts.map +1 -0
  908. package/dist/components/radar-profile/style-forms.js +192 -0
  909. package/dist/components/radar-profile/style-forms.js.map +1 -0
  910. package/dist/components/radar-profile/style.d.ts +5 -0
  911. package/dist/components/radar-profile/style.d.ts.map +1 -0
  912. package/dist/components/radar-profile/style.js +471 -0
  913. package/dist/components/radar-profile/style.js.map +1 -0
  914. package/dist/components/radio-cards/attrs.d.ts +99 -0
  915. package/dist/components/radio-cards/attrs.d.ts.map +1 -0
  916. package/dist/components/radio-cards/attrs.js +85 -0
  917. package/dist/components/radio-cards/attrs.js.map +1 -0
  918. package/dist/components/radio-cards/index.d.ts +14 -0
  919. package/dist/components/radio-cards/index.d.ts.map +1 -0
  920. package/dist/components/radio-cards/index.js +12 -0
  921. package/dist/components/radio-cards/index.js.map +1 -0
  922. package/dist/components/radio-cards/model.d.ts +33 -0
  923. package/dist/components/radio-cards/model.d.ts.map +1 -0
  924. package/dist/components/radio-cards/model.js +104 -0
  925. package/dist/components/radio-cards/model.js.map +1 -0
  926. package/dist/components/radio-cards/render.d.ts +3 -0
  927. package/dist/components/radio-cards/render.d.ts.map +1 -0
  928. package/dist/components/radio-cards/render.js +138 -0
  929. package/dist/components/radio-cards/render.js.map +1 -0
  930. package/dist/components/radio-cards/runtime.d.ts +17 -0
  931. package/dist/components/radio-cards/runtime.d.ts.map +1 -0
  932. package/dist/components/radio-cards/runtime.js +54 -0
  933. package/dist/components/radio-cards/runtime.js.map +1 -0
  934. package/dist/components/radio-cards/style.d.ts +17 -0
  935. package/dist/components/radio-cards/style.d.ts.map +1 -0
  936. package/dist/components/radio-cards/style.js +284 -0
  937. package/dist/components/radio-cards/style.js.map +1 -0
  938. package/dist/components/range-bar/attrs.d.ts +96 -0
  939. package/dist/components/range-bar/attrs.d.ts.map +1 -0
  940. package/dist/components/range-bar/attrs.js +71 -0
  941. package/dist/components/range-bar/attrs.js.map +1 -0
  942. package/dist/components/range-bar/index.d.ts +13 -0
  943. package/dist/components/range-bar/index.d.ts.map +1 -0
  944. package/dist/components/range-bar/index.js +11 -0
  945. package/dist/components/range-bar/index.js.map +1 -0
  946. package/dist/components/range-bar/model.d.ts +39 -0
  947. package/dist/components/range-bar/model.d.ts.map +1 -0
  948. package/dist/components/range-bar/model.js +139 -0
  949. package/dist/components/range-bar/model.js.map +1 -0
  950. package/dist/components/range-bar/render.d.ts +3 -0
  951. package/dist/components/range-bar/render.d.ts.map +1 -0
  952. package/dist/components/range-bar/render.js +86 -0
  953. package/dist/components/range-bar/render.js.map +1 -0
  954. package/dist/components/range-bar/style.d.ts +15 -0
  955. package/dist/components/range-bar/style.d.ts.map +1 -0
  956. package/dist/components/range-bar/style.js +210 -0
  957. package/dist/components/range-bar/style.js.map +1 -0
  958. package/dist/components/rank-list/attrs.d.ts +55 -0
  959. package/dist/components/rank-list/attrs.d.ts.map +1 -0
  960. package/dist/components/rank-list/attrs.js +61 -0
  961. package/dist/components/rank-list/attrs.js.map +1 -0
  962. package/dist/components/rank-list/index.d.ts +14 -0
  963. package/dist/components/rank-list/index.d.ts.map +1 -0
  964. package/dist/components/rank-list/index.js +12 -0
  965. package/dist/components/rank-list/index.js.map +1 -0
  966. package/dist/components/rank-list/model.d.ts +30 -0
  967. package/dist/components/rank-list/model.d.ts.map +1 -0
  968. package/dist/components/rank-list/model.js +102 -0
  969. package/dist/components/rank-list/model.js.map +1 -0
  970. package/dist/components/rank-list/render.d.ts +4 -0
  971. package/dist/components/rank-list/render.d.ts.map +1 -0
  972. package/dist/components/rank-list/render.js +83 -0
  973. package/dist/components/rank-list/render.js.map +1 -0
  974. package/dist/components/rank-list/style.d.ts +15 -0
  975. package/dist/components/rank-list/style.d.ts.map +1 -0
  976. package/dist/components/rank-list/style.js +247 -0
  977. package/dist/components/rank-list/style.js.map +1 -0
  978. package/dist/components/rating-row/attrs.d.ts +94 -0
  979. package/dist/components/rating-row/attrs.d.ts.map +1 -0
  980. package/dist/components/rating-row/attrs.js +90 -0
  981. package/dist/components/rating-row/attrs.js.map +1 -0
  982. package/dist/components/rating-row/index.d.ts +14 -0
  983. package/dist/components/rating-row/index.d.ts.map +1 -0
  984. package/dist/components/rating-row/index.js +12 -0
  985. package/dist/components/rating-row/index.js.map +1 -0
  986. package/dist/components/rating-row/model.d.ts +28 -0
  987. package/dist/components/rating-row/model.d.ts.map +1 -0
  988. package/dist/components/rating-row/model.js +99 -0
  989. package/dist/components/rating-row/model.js.map +1 -0
  990. package/dist/components/rating-row/render.d.ts +3 -0
  991. package/dist/components/rating-row/render.d.ts.map +1 -0
  992. package/dist/components/rating-row/render.js +122 -0
  993. package/dist/components/rating-row/render.js.map +1 -0
  994. package/dist/components/rating-row/runtime.d.ts +18 -0
  995. package/dist/components/rating-row/runtime.d.ts.map +1 -0
  996. package/dist/components/rating-row/runtime.js +92 -0
  997. package/dist/components/rating-row/runtime.js.map +1 -0
  998. package/dist/components/rating-row/style.d.ts +13 -0
  999. package/dist/components/rating-row/style.d.ts.map +1 -0
  1000. package/dist/components/rating-row/style.js +234 -0
  1001. package/dist/components/rating-row/style.js.map +1 -0
  1002. package/dist/components/result-row/attrs.d.ts +50 -0
  1003. package/dist/components/result-row/attrs.d.ts.map +1 -0
  1004. package/dist/components/result-row/attrs.js +31 -0
  1005. package/dist/components/result-row/attrs.js.map +1 -0
  1006. package/dist/components/result-row/index.d.ts +29 -0
  1007. package/dist/components/result-row/index.d.ts.map +1 -0
  1008. package/dist/components/result-row/index.js +27 -0
  1009. package/dist/components/result-row/index.js.map +1 -0
  1010. package/dist/components/result-row/model.d.ts +22 -0
  1011. package/dist/components/result-row/model.d.ts.map +1 -0
  1012. package/dist/components/result-row/model.js +53 -0
  1013. package/dist/components/result-row/model.js.map +1 -0
  1014. package/dist/components/result-row/render.d.ts +5 -0
  1015. package/dist/components/result-row/render.d.ts.map +1 -0
  1016. package/dist/components/result-row/render.js +87 -0
  1017. package/dist/components/result-row/render.js.map +1 -0
  1018. package/dist/components/result-row/style.d.ts +11 -0
  1019. package/dist/components/result-row/style.d.ts.map +1 -0
  1020. package/dist/components/result-row/style.js +67 -0
  1021. package/dist/components/result-row/style.js.map +1 -0
  1022. package/dist/components/scale-bar/index.d.ts +11 -0
  1023. package/dist/components/scale-bar/index.d.ts.map +1 -0
  1024. package/dist/components/scale-bar/index.js +9 -0
  1025. package/dist/components/scale-bar/index.js.map +1 -0
  1026. package/dist/components/scale-bar/render.d.ts +23 -0
  1027. package/dist/components/scale-bar/render.d.ts.map +1 -0
  1028. package/dist/components/scale-bar/render.js +79 -0
  1029. package/dist/components/scale-bar/render.js.map +1 -0
  1030. package/dist/components/scale-bar/style.d.ts +8 -0
  1031. package/dist/components/scale-bar/style.d.ts.map +1 -0
  1032. package/dist/components/scale-bar/style.js +86 -0
  1033. package/dist/components/scale-bar/style.js.map +1 -0
  1034. package/dist/components/scatter-fit/attrs.d.ts +106 -0
  1035. package/dist/components/scatter-fit/attrs.d.ts.map +1 -0
  1036. package/dist/components/scatter-fit/attrs.js +112 -0
  1037. package/dist/components/scatter-fit/attrs.js.map +1 -0
  1038. package/dist/components/scatter-fit/forms.d.ts +86 -0
  1039. package/dist/components/scatter-fit/forms.d.ts.map +1 -0
  1040. package/dist/components/scatter-fit/forms.js +149 -0
  1041. package/dist/components/scatter-fit/forms.js.map +1 -0
  1042. package/dist/components/scatter-fit/index.d.ts +13 -0
  1043. package/dist/components/scatter-fit/index.d.ts.map +1 -0
  1044. package/dist/components/scatter-fit/index.js +11 -0
  1045. package/dist/components/scatter-fit/index.js.map +1 -0
  1046. package/dist/components/scatter-fit/model.d.ts +5 -0
  1047. package/dist/components/scatter-fit/model.d.ts.map +1 -0
  1048. package/dist/components/scatter-fit/model.js +146 -0
  1049. package/dist/components/scatter-fit/model.js.map +1 -0
  1050. package/dist/components/scatter-fit/render.d.ts +3 -0
  1051. package/dist/components/scatter-fit/render.d.ts.map +1 -0
  1052. package/dist/components/scatter-fit/render.js +140 -0
  1053. package/dist/components/scatter-fit/render.js.map +1 -0
  1054. package/dist/components/scatter-fit/scale.d.ts +60 -0
  1055. package/dist/components/scatter-fit/scale.d.ts.map +1 -0
  1056. package/dist/components/scatter-fit/scale.js +193 -0
  1057. package/dist/components/scatter-fit/scale.js.map +1 -0
  1058. package/dist/components/scatter-fit/style-forms.d.ts +7 -0
  1059. package/dist/components/scatter-fit/style-forms.d.ts.map +1 -0
  1060. package/dist/components/scatter-fit/style-forms.js +168 -0
  1061. package/dist/components/scatter-fit/style-forms.js.map +1 -0
  1062. package/dist/components/scatter-fit/style.d.ts +8 -0
  1063. package/dist/components/scatter-fit/style.d.ts.map +1 -0
  1064. package/dist/components/scatter-fit/style.js +272 -0
  1065. package/dist/components/scatter-fit/style.js.map +1 -0
  1066. package/dist/components/search-field/attrs.d.ts +136 -0
  1067. package/dist/components/search-field/attrs.d.ts.map +1 -0
  1068. package/dist/components/search-field/attrs.js +98 -0
  1069. package/dist/components/search-field/attrs.js.map +1 -0
  1070. package/dist/components/search-field/index.d.ts +39 -0
  1071. package/dist/components/search-field/index.d.ts.map +1 -0
  1072. package/dist/components/search-field/index.js +37 -0
  1073. package/dist/components/search-field/index.js.map +1 -0
  1074. package/dist/components/search-field/model.d.ts +27 -0
  1075. package/dist/components/search-field/model.d.ts.map +1 -0
  1076. package/dist/components/search-field/model.js +92 -0
  1077. package/dist/components/search-field/model.js.map +1 -0
  1078. package/dist/components/search-field/render.d.ts +7 -0
  1079. package/dist/components/search-field/render.d.ts.map +1 -0
  1080. package/dist/components/search-field/render.js +107 -0
  1081. package/dist/components/search-field/render.js.map +1 -0
  1082. package/dist/components/search-field/runtime.d.ts +3 -0
  1083. package/dist/components/search-field/runtime.d.ts.map +1 -0
  1084. package/dist/components/search-field/runtime.js +299 -0
  1085. package/dist/components/search-field/runtime.js.map +1 -0
  1086. package/dist/components/search-field/style.d.ts +9 -0
  1087. package/dist/components/search-field/style.d.ts.map +1 -0
  1088. package/dist/components/search-field/style.js +113 -0
  1089. package/dist/components/search-field/style.js.map +1 -0
  1090. package/dist/components/section-head/attrs.d.ts +53 -0
  1091. package/dist/components/section-head/attrs.d.ts.map +1 -0
  1092. package/dist/components/section-head/attrs.js +45 -0
  1093. package/dist/components/section-head/attrs.js.map +1 -0
  1094. package/dist/components/section-head/index.d.ts +14 -0
  1095. package/dist/components/section-head/index.d.ts.map +1 -0
  1096. package/dist/components/section-head/index.js +12 -0
  1097. package/dist/components/section-head/index.js.map +1 -0
  1098. package/dist/components/section-head/model.d.ts +16 -0
  1099. package/dist/components/section-head/model.d.ts.map +1 -0
  1100. package/dist/components/section-head/model.js +61 -0
  1101. package/dist/components/section-head/model.js.map +1 -0
  1102. package/dist/components/section-head/render.d.ts +6 -0
  1103. package/dist/components/section-head/render.d.ts.map +1 -0
  1104. package/dist/components/section-head/render.js +68 -0
  1105. package/dist/components/section-head/render.js.map +1 -0
  1106. package/dist/components/section-head/style.d.ts +7 -0
  1107. package/dist/components/section-head/style.d.ts.map +1 -0
  1108. package/dist/components/section-head/style.js +172 -0
  1109. package/dist/components/section-head/style.js.map +1 -0
  1110. package/dist/components/shared/escape.d.ts +3 -0
  1111. package/dist/components/shared/escape.d.ts.map +1 -0
  1112. package/dist/components/shared/escape.js +11 -0
  1113. package/dist/components/shared/escape.js.map +1 -0
  1114. package/dist/components/shared/typography.d.ts +32 -0
  1115. package/dist/components/shared/typography.d.ts.map +1 -0
  1116. package/dist/components/shared/typography.js +31 -0
  1117. package/dist/components/shared/typography.js.map +1 -0
  1118. package/dist/components/shared/validate.d.ts +26 -0
  1119. package/dist/components/shared/validate.d.ts.map +1 -0
  1120. package/dist/components/shared/validate.js +75 -0
  1121. package/dist/components/shared/validate.js.map +1 -0
  1122. package/dist/components/sheet-frame/index.d.ts +14 -0
  1123. package/dist/components/sheet-frame/index.d.ts.map +1 -0
  1124. package/dist/components/sheet-frame/index.js +12 -0
  1125. package/dist/components/sheet-frame/index.js.map +1 -0
  1126. package/dist/components/sheet-frame/render.d.ts +21 -0
  1127. package/dist/components/sheet-frame/render.d.ts.map +1 -0
  1128. package/dist/components/sheet-frame/render.js +45 -0
  1129. package/dist/components/sheet-frame/render.js.map +1 -0
  1130. package/dist/components/sheet-frame/style.d.ts +14 -0
  1131. package/dist/components/sheet-frame/style.d.ts.map +1 -0
  1132. package/dist/components/sheet-frame/style.js +105 -0
  1133. package/dist/components/sheet-frame/style.js.map +1 -0
  1134. package/dist/components/skeleton/attrs.d.ts +47 -0
  1135. package/dist/components/skeleton/attrs.d.ts.map +1 -0
  1136. package/dist/components/skeleton/attrs.js +62 -0
  1137. package/dist/components/skeleton/attrs.js.map +1 -0
  1138. package/dist/components/skeleton/index.d.ts +25 -0
  1139. package/dist/components/skeleton/index.d.ts.map +1 -0
  1140. package/dist/components/skeleton/index.js +23 -0
  1141. package/dist/components/skeleton/index.js.map +1 -0
  1142. package/dist/components/skeleton/model.d.ts +15 -0
  1143. package/dist/components/skeleton/model.d.ts.map +1 -0
  1144. package/dist/components/skeleton/model.js +34 -0
  1145. package/dist/components/skeleton/model.js.map +1 -0
  1146. package/dist/components/skeleton/render.d.ts +3 -0
  1147. package/dist/components/skeleton/render.d.ts.map +1 -0
  1148. package/dist/components/skeleton/render.js +60 -0
  1149. package/dist/components/skeleton/render.js.map +1 -0
  1150. package/dist/components/skeleton/style.d.ts +27 -0
  1151. package/dist/components/skeleton/style.d.ts.map +1 -0
  1152. package/dist/components/skeleton/style.js +223 -0
  1153. package/dist/components/skeleton/style.js.map +1 -0
  1154. package/dist/components/skin/contract.d.ts +177 -0
  1155. package/dist/components/skin/contract.d.ts.map +1 -0
  1156. package/dist/components/skin/contract.js +89 -0
  1157. package/dist/components/skin/contract.js.map +1 -0
  1158. package/dist/components/skin/index.d.ts +29 -0
  1159. package/dist/components/skin/index.d.ts.map +1 -0
  1160. package/dist/components/skin/index.js +75 -0
  1161. package/dist/components/skin/index.js.map +1 -0
  1162. package/dist/components/skin/skins/blueprint.d.ts +40 -0
  1163. package/dist/components/skin/skins/blueprint.d.ts.map +1 -0
  1164. package/dist/components/skin/skins/blueprint.js +47 -0
  1165. package/dist/components/skin/skins/blueprint.js.map +1 -0
  1166. package/dist/components/skin/skins/broadsheet.d.ts +38 -0
  1167. package/dist/components/skin/skins/broadsheet.d.ts.map +1 -0
  1168. package/dist/components/skin/skins/broadsheet.js +44 -0
  1169. package/dist/components/skin/skins/broadsheet.js.map +1 -0
  1170. package/dist/components/skin/skins/ink.d.ts +40 -0
  1171. package/dist/components/skin/skins/ink.d.ts.map +1 -0
  1172. package/dist/components/skin/skins/ink.js +59 -0
  1173. package/dist/components/skin/skins/ink.js.map +1 -0
  1174. package/dist/components/skin/skins/neutral.d.ts +38 -0
  1175. package/dist/components/skin/skins/neutral.d.ts.map +1 -0
  1176. package/dist/components/skin/skins/neutral.js +46 -0
  1177. package/dist/components/skin/skins/neutral.js.map +1 -0
  1178. package/dist/components/skin/skins/paper.d.ts +40 -0
  1179. package/dist/components/skin/skins/paper.d.ts.map +1 -0
  1180. package/dist/components/skin/skins/paper.js +57 -0
  1181. package/dist/components/skin/skins/paper.js.map +1 -0
  1182. package/dist/components/skin/skins/terminal.d.ts +40 -0
  1183. package/dist/components/skin/skins/terminal.d.ts.map +1 -0
  1184. package/dist/components/skin/skins/terminal.js +53 -0
  1185. package/dist/components/skin/skins/terminal.js.map +1 -0
  1186. package/dist/components/slider-row/attrs.d.ts +115 -0
  1187. package/dist/components/slider-row/attrs.d.ts.map +1 -0
  1188. package/dist/components/slider-row/attrs.js +113 -0
  1189. package/dist/components/slider-row/attrs.js.map +1 -0
  1190. package/dist/components/slider-row/index.d.ts +28 -0
  1191. package/dist/components/slider-row/index.d.ts.map +1 -0
  1192. package/dist/components/slider-row/index.js +26 -0
  1193. package/dist/components/slider-row/index.js.map +1 -0
  1194. package/dist/components/slider-row/model.d.ts +25 -0
  1195. package/dist/components/slider-row/model.d.ts.map +1 -0
  1196. package/dist/components/slider-row/model.js +136 -0
  1197. package/dist/components/slider-row/model.js.map +1 -0
  1198. package/dist/components/slider-row/render.d.ts +7 -0
  1199. package/dist/components/slider-row/render.d.ts.map +1 -0
  1200. package/dist/components/slider-row/render.js +183 -0
  1201. package/dist/components/slider-row/render.js.map +1 -0
  1202. package/dist/components/slider-row/runtime.d.ts +3 -0
  1203. package/dist/components/slider-row/runtime.d.ts.map +1 -0
  1204. package/dist/components/slider-row/runtime.js +139 -0
  1205. package/dist/components/slider-row/runtime.js.map +1 -0
  1206. package/dist/components/slider-row/style.d.ts +5 -0
  1207. package/dist/components/slider-row/style.d.ts.map +1 -0
  1208. package/dist/components/slider-row/style.js +330 -0
  1209. package/dist/components/slider-row/style.js.map +1 -0
  1210. package/dist/components/small-multiples/attrs.d.ts +76 -0
  1211. package/dist/components/small-multiples/attrs.d.ts.map +1 -0
  1212. package/dist/components/small-multiples/attrs.js +77 -0
  1213. package/dist/components/small-multiples/attrs.js.map +1 -0
  1214. package/dist/components/small-multiples/index.d.ts +14 -0
  1215. package/dist/components/small-multiples/index.d.ts.map +1 -0
  1216. package/dist/components/small-multiples/index.js +12 -0
  1217. package/dist/components/small-multiples/index.js.map +1 -0
  1218. package/dist/components/small-multiples/model.d.ts +34 -0
  1219. package/dist/components/small-multiples/model.d.ts.map +1 -0
  1220. package/dist/components/small-multiples/model.js +129 -0
  1221. package/dist/components/small-multiples/model.js.map +1 -0
  1222. package/dist/components/small-multiples/render.d.ts +3 -0
  1223. package/dist/components/small-multiples/render.d.ts.map +1 -0
  1224. package/dist/components/small-multiples/render.js +75 -0
  1225. package/dist/components/small-multiples/render.js.map +1 -0
  1226. package/dist/components/small-multiples/scale.d.ts +33 -0
  1227. package/dist/components/small-multiples/scale.d.ts.map +1 -0
  1228. package/dist/components/small-multiples/scale.js +104 -0
  1229. package/dist/components/small-multiples/scale.js.map +1 -0
  1230. package/dist/components/small-multiples/style.d.ts +7 -0
  1231. package/dist/components/small-multiples/style.d.ts.map +1 -0
  1232. package/dist/components/small-multiples/style.js +260 -0
  1233. package/dist/components/small-multiples/style.js.map +1 -0
  1234. package/dist/components/sort-toggle/attrs.d.ts +116 -0
  1235. package/dist/components/sort-toggle/attrs.d.ts.map +1 -0
  1236. package/dist/components/sort-toggle/attrs.js +85 -0
  1237. package/dist/components/sort-toggle/attrs.js.map +1 -0
  1238. package/dist/components/sort-toggle/index.d.ts +38 -0
  1239. package/dist/components/sort-toggle/index.d.ts.map +1 -0
  1240. package/dist/components/sort-toggle/index.js +36 -0
  1241. package/dist/components/sort-toggle/index.js.map +1 -0
  1242. package/dist/components/sort-toggle/model.d.ts +27 -0
  1243. package/dist/components/sort-toggle/model.d.ts.map +1 -0
  1244. package/dist/components/sort-toggle/model.js +87 -0
  1245. package/dist/components/sort-toggle/model.js.map +1 -0
  1246. package/dist/components/sort-toggle/render.d.ts +5 -0
  1247. package/dist/components/sort-toggle/render.d.ts.map +1 -0
  1248. package/dist/components/sort-toggle/render.js +72 -0
  1249. package/dist/components/sort-toggle/render.js.map +1 -0
  1250. package/dist/components/sort-toggle/runtime.d.ts +3 -0
  1251. package/dist/components/sort-toggle/runtime.d.ts.map +1 -0
  1252. package/dist/components/sort-toggle/runtime.js +187 -0
  1253. package/dist/components/sort-toggle/runtime.js.map +1 -0
  1254. package/dist/components/sort-toggle/style.d.ts +9 -0
  1255. package/dist/components/sort-toggle/style.d.ts.map +1 -0
  1256. package/dist/components/sort-toggle/style.js +100 -0
  1257. package/dist/components/sort-toggle/style.js.map +1 -0
  1258. package/dist/components/spread-dist/attrs.d.ts +86 -0
  1259. package/dist/components/spread-dist/attrs.d.ts.map +1 -0
  1260. package/dist/components/spread-dist/attrs.js +96 -0
  1261. package/dist/components/spread-dist/attrs.js.map +1 -0
  1262. package/dist/components/spread-dist/forms.d.ts +83 -0
  1263. package/dist/components/spread-dist/forms.d.ts.map +1 -0
  1264. package/dist/components/spread-dist/forms.js +136 -0
  1265. package/dist/components/spread-dist/forms.js.map +1 -0
  1266. package/dist/components/spread-dist/index.d.ts +13 -0
  1267. package/dist/components/spread-dist/index.d.ts.map +1 -0
  1268. package/dist/components/spread-dist/index.js +11 -0
  1269. package/dist/components/spread-dist/index.js.map +1 -0
  1270. package/dist/components/spread-dist/model.d.ts +5 -0
  1271. package/dist/components/spread-dist/model.d.ts.map +1 -0
  1272. package/dist/components/spread-dist/model.js +117 -0
  1273. package/dist/components/spread-dist/model.js.map +1 -0
  1274. package/dist/components/spread-dist/render.d.ts +3 -0
  1275. package/dist/components/spread-dist/render.d.ts.map +1 -0
  1276. package/dist/components/spread-dist/render.js +108 -0
  1277. package/dist/components/spread-dist/render.js.map +1 -0
  1278. package/dist/components/spread-dist/scale.d.ts +35 -0
  1279. package/dist/components/spread-dist/scale.d.ts.map +1 -0
  1280. package/dist/components/spread-dist/scale.js +124 -0
  1281. package/dist/components/spread-dist/scale.js.map +1 -0
  1282. package/dist/components/spread-dist/style.d.ts +8 -0
  1283. package/dist/components/spread-dist/style.d.ts.map +1 -0
  1284. package/dist/components/spread-dist/style.js +341 -0
  1285. package/dist/components/spread-dist/style.js.map +1 -0
  1286. package/dist/components/stacked-bar/attrs.d.ts +56 -0
  1287. package/dist/components/stacked-bar/attrs.d.ts.map +1 -0
  1288. package/dist/components/stacked-bar/attrs.js +58 -0
  1289. package/dist/components/stacked-bar/attrs.js.map +1 -0
  1290. package/dist/components/stacked-bar/index.d.ts +13 -0
  1291. package/dist/components/stacked-bar/index.d.ts.map +1 -0
  1292. package/dist/components/stacked-bar/index.js +11 -0
  1293. package/dist/components/stacked-bar/index.js.map +1 -0
  1294. package/dist/components/stacked-bar/model.d.ts +36 -0
  1295. package/dist/components/stacked-bar/model.d.ts.map +1 -0
  1296. package/dist/components/stacked-bar/model.js +106 -0
  1297. package/dist/components/stacked-bar/model.js.map +1 -0
  1298. package/dist/components/stacked-bar/render.d.ts +3 -0
  1299. package/dist/components/stacked-bar/render.d.ts.map +1 -0
  1300. package/dist/components/stacked-bar/render.js +74 -0
  1301. package/dist/components/stacked-bar/render.js.map +1 -0
  1302. package/dist/components/stacked-bar/style.d.ts +7 -0
  1303. package/dist/components/stacked-bar/style.d.ts.map +1 -0
  1304. package/dist/components/stacked-bar/style.js +228 -0
  1305. package/dist/components/stacked-bar/style.js.map +1 -0
  1306. package/dist/components/stat-inline/attrs.d.ts +45 -0
  1307. package/dist/components/stat-inline/attrs.d.ts.map +1 -0
  1308. package/dist/components/stat-inline/attrs.js +35 -0
  1309. package/dist/components/stat-inline/attrs.js.map +1 -0
  1310. package/dist/components/stat-inline/index.d.ts +14 -0
  1311. package/dist/components/stat-inline/index.d.ts.map +1 -0
  1312. package/dist/components/stat-inline/index.js +12 -0
  1313. package/dist/components/stat-inline/index.js.map +1 -0
  1314. package/dist/components/stat-inline/model.d.ts +15 -0
  1315. package/dist/components/stat-inline/model.d.ts.map +1 -0
  1316. package/dist/components/stat-inline/model.js +49 -0
  1317. package/dist/components/stat-inline/model.js.map +1 -0
  1318. package/dist/components/stat-inline/render.d.ts +5 -0
  1319. package/dist/components/stat-inline/render.d.ts.map +1 -0
  1320. package/dist/components/stat-inline/render.js +59 -0
  1321. package/dist/components/stat-inline/render.js.map +1 -0
  1322. package/dist/components/stat-inline/style.d.ts +5 -0
  1323. package/dist/components/stat-inline/style.d.ts.map +1 -0
  1324. package/dist/components/stat-inline/style.js +70 -0
  1325. package/dist/components/stat-inline/style.js.map +1 -0
  1326. package/dist/components/status-row/attrs.d.ts +65 -0
  1327. package/dist/components/status-row/attrs.d.ts.map +1 -0
  1328. package/dist/components/status-row/attrs.js +50 -0
  1329. package/dist/components/status-row/attrs.js.map +1 -0
  1330. package/dist/components/status-row/index.d.ts +23 -0
  1331. package/dist/components/status-row/index.d.ts.map +1 -0
  1332. package/dist/components/status-row/index.js +21 -0
  1333. package/dist/components/status-row/index.js.map +1 -0
  1334. package/dist/components/status-row/model.d.ts +25 -0
  1335. package/dist/components/status-row/model.d.ts.map +1 -0
  1336. package/dist/components/status-row/model.js +79 -0
  1337. package/dist/components/status-row/model.js.map +1 -0
  1338. package/dist/components/status-row/render.d.ts +6 -0
  1339. package/dist/components/status-row/render.d.ts.map +1 -0
  1340. package/dist/components/status-row/render.js +69 -0
  1341. package/dist/components/status-row/render.js.map +1 -0
  1342. package/dist/components/status-row/style.d.ts +15 -0
  1343. package/dist/components/status-row/style.d.ts.map +1 -0
  1344. package/dist/components/status-row/style.js +289 -0
  1345. package/dist/components/status-row/style.js.map +1 -0
  1346. package/dist/components/step-flow/attrs.d.ts +65 -0
  1347. package/dist/components/step-flow/attrs.d.ts.map +1 -0
  1348. package/dist/components/step-flow/attrs.js +52 -0
  1349. package/dist/components/step-flow/attrs.js.map +1 -0
  1350. package/dist/components/step-flow/index.d.ts +23 -0
  1351. package/dist/components/step-flow/index.d.ts.map +1 -0
  1352. package/dist/components/step-flow/index.js +21 -0
  1353. package/dist/components/step-flow/index.js.map +1 -0
  1354. package/dist/components/step-flow/model.d.ts +24 -0
  1355. package/dist/components/step-flow/model.d.ts.map +1 -0
  1356. package/dist/components/step-flow/model.js +77 -0
  1357. package/dist/components/step-flow/model.js.map +1 -0
  1358. package/dist/components/step-flow/render.d.ts +6 -0
  1359. package/dist/components/step-flow/render.d.ts.map +1 -0
  1360. package/dist/components/step-flow/render.js +65 -0
  1361. package/dist/components/step-flow/render.js.map +1 -0
  1362. package/dist/components/step-flow/style.d.ts +13 -0
  1363. package/dist/components/step-flow/style.d.ts.map +1 -0
  1364. package/dist/components/step-flow/style.js +240 -0
  1365. package/dist/components/step-flow/style.js.map +1 -0
  1366. package/dist/components/streak-badge/attrs.d.ts +49 -0
  1367. package/dist/components/streak-badge/attrs.d.ts.map +1 -0
  1368. package/dist/components/streak-badge/attrs.js +35 -0
  1369. package/dist/components/streak-badge/attrs.js.map +1 -0
  1370. package/dist/components/streak-badge/index.d.ts +22 -0
  1371. package/dist/components/streak-badge/index.d.ts.map +1 -0
  1372. package/dist/components/streak-badge/index.js +20 -0
  1373. package/dist/components/streak-badge/index.js.map +1 -0
  1374. package/dist/components/streak-badge/model.d.ts +18 -0
  1375. package/dist/components/streak-badge/model.d.ts.map +1 -0
  1376. package/dist/components/streak-badge/model.js +44 -0
  1377. package/dist/components/streak-badge/model.js.map +1 -0
  1378. package/dist/components/streak-badge/render.d.ts +6 -0
  1379. package/dist/components/streak-badge/render.d.ts.map +1 -0
  1380. package/dist/components/streak-badge/render.js +39 -0
  1381. package/dist/components/streak-badge/render.js.map +1 -0
  1382. package/dist/components/streak-badge/style.d.ts +13 -0
  1383. package/dist/components/streak-badge/style.d.ts.map +1 -0
  1384. package/dist/components/streak-badge/style.js +134 -0
  1385. package/dist/components/streak-badge/style.js.map +1 -0
  1386. package/dist/components/style/action-bar.d.ts +12 -0
  1387. package/dist/components/style/action-bar.d.ts.map +1 -0
  1388. package/dist/components/style/action-bar.js +117 -0
  1389. package/dist/components/style/action-bar.js.map +1 -0
  1390. package/dist/components/style/copy-button.d.ts +10 -0
  1391. package/dist/components/style/copy-button.d.ts.map +1 -0
  1392. package/dist/components/style/copy-button.js +226 -0
  1393. package/dist/components/style/copy-button.js.map +1 -0
  1394. package/dist/components/style/empty-state.d.ts +10 -0
  1395. package/dist/components/style/empty-state.d.ts.map +1 -0
  1396. package/dist/components/style/empty-state.js +40 -0
  1397. package/dist/components/style/empty-state.js.map +1 -0
  1398. package/dist/components/style/error-receipt.d.ts +16 -0
  1399. package/dist/components/style/error-receipt.d.ts.map +1 -0
  1400. package/dist/components/style/error-receipt.js +58 -0
  1401. package/dist/components/style/error-receipt.js.map +1 -0
  1402. package/dist/components/style/help-shell.d.ts +13 -0
  1403. package/dist/components/style/help-shell.d.ts.map +1 -0
  1404. package/dist/components/style/help-shell.js +559 -0
  1405. package/dist/components/style/help-shell.js.map +1 -0
  1406. package/dist/components/style/index.d.ts +9 -0
  1407. package/dist/components/style/index.d.ts.map +1 -0
  1408. package/dist/components/style/index.js +7 -0
  1409. package/dist/components/style/index.js.map +1 -0
  1410. package/dist/components/style/parts.d.ts +29 -0
  1411. package/dist/components/style/parts.d.ts.map +1 -0
  1412. package/dist/components/style/parts.js +40 -0
  1413. package/dist/components/style/parts.js.map +1 -0
  1414. package/dist/components/style/sheet.d.ts +16 -0
  1415. package/dist/components/style/sheet.d.ts.map +1 -0
  1416. package/dist/components/style/sheet.js +124 -0
  1417. package/dist/components/style/sheet.js.map +1 -0
  1418. package/dist/components/style/status-badge.d.ts +18 -0
  1419. package/dist/components/style/status-badge.d.ts.map +1 -0
  1420. package/dist/components/style/status-badge.js +48 -0
  1421. package/dist/components/style/status-badge.js.map +1 -0
  1422. package/dist/components/style/toast.d.ts +10 -0
  1423. package/dist/components/style/toast.d.ts.map +1 -0
  1424. package/dist/components/style/toast.js +218 -0
  1425. package/dist/components/style/toast.js.map +1 -0
  1426. package/dist/components/style/tokens.d.ts +27 -0
  1427. package/dist/components/style/tokens.d.ts.map +1 -0
  1428. package/dist/components/style/tokens.js +29 -0
  1429. package/dist/components/style/tokens.js.map +1 -0
  1430. package/dist/components/sub-list/attrs.d.ts +79 -0
  1431. package/dist/components/sub-list/attrs.d.ts.map +1 -0
  1432. package/dist/components/sub-list/attrs.js +81 -0
  1433. package/dist/components/sub-list/attrs.js.map +1 -0
  1434. package/dist/components/sub-list/index.d.ts +14 -0
  1435. package/dist/components/sub-list/index.d.ts.map +1 -0
  1436. package/dist/components/sub-list/index.js +12 -0
  1437. package/dist/components/sub-list/index.js.map +1 -0
  1438. package/dist/components/sub-list/model.d.ts +41 -0
  1439. package/dist/components/sub-list/model.d.ts.map +1 -0
  1440. package/dist/components/sub-list/model.js +96 -0
  1441. package/dist/components/sub-list/model.js.map +1 -0
  1442. package/dist/components/sub-list/render.d.ts +3 -0
  1443. package/dist/components/sub-list/render.d.ts.map +1 -0
  1444. package/dist/components/sub-list/render.js +106 -0
  1445. package/dist/components/sub-list/render.js.map +1 -0
  1446. package/dist/components/sub-list/style.d.ts +12 -0
  1447. package/dist/components/sub-list/style.d.ts.map +1 -0
  1448. package/dist/components/sub-list/style.js +327 -0
  1449. package/dist/components/sub-list/style.js.map +1 -0
  1450. package/dist/components/summary-head/index.d.ts +12 -0
  1451. package/dist/components/summary-head/index.d.ts.map +1 -0
  1452. package/dist/components/summary-head/index.js +10 -0
  1453. package/dist/components/summary-head/index.js.map +1 -0
  1454. package/dist/components/summary-head/render.d.ts +32 -0
  1455. package/dist/components/summary-head/render.d.ts.map +1 -0
  1456. package/dist/components/summary-head/render.js +73 -0
  1457. package/dist/components/summary-head/render.js.map +1 -0
  1458. package/dist/components/summary-head/style.d.ts +14 -0
  1459. package/dist/components/summary-head/style.d.ts.map +1 -0
  1460. package/dist/components/summary-head/style.js +155 -0
  1461. package/dist/components/summary-head/style.js.map +1 -0
  1462. package/dist/components/switch-row/attrs.d.ts +92 -0
  1463. package/dist/components/switch-row/attrs.d.ts.map +1 -0
  1464. package/dist/components/switch-row/attrs.js +88 -0
  1465. package/dist/components/switch-row/attrs.js.map +1 -0
  1466. package/dist/components/switch-row/index.d.ts +30 -0
  1467. package/dist/components/switch-row/index.d.ts.map +1 -0
  1468. package/dist/components/switch-row/index.js +28 -0
  1469. package/dist/components/switch-row/index.js.map +1 -0
  1470. package/dist/components/switch-row/model.d.ts +18 -0
  1471. package/dist/components/switch-row/model.d.ts.map +1 -0
  1472. package/dist/components/switch-row/model.js +50 -0
  1473. package/dist/components/switch-row/model.js.map +1 -0
  1474. package/dist/components/switch-row/render.d.ts +3 -0
  1475. package/dist/components/switch-row/render.d.ts.map +1 -0
  1476. package/dist/components/switch-row/render.js +112 -0
  1477. package/dist/components/switch-row/render.js.map +1 -0
  1478. package/dist/components/switch-row/runtime.d.ts +5 -0
  1479. package/dist/components/switch-row/runtime.d.ts.map +1 -0
  1480. package/dist/components/switch-row/runtime.js +62 -0
  1481. package/dist/components/switch-row/runtime.js.map +1 -0
  1482. package/dist/components/switch-row/style.d.ts +5 -0
  1483. package/dist/components/switch-row/style.d.ts.map +1 -0
  1484. package/dist/components/switch-row/style.js +258 -0
  1485. package/dist/components/switch-row/style.js.map +1 -0
  1486. package/dist/components/sync-status/attrs.d.ts +97 -0
  1487. package/dist/components/sync-status/attrs.d.ts.map +1 -0
  1488. package/dist/components/sync-status/attrs.js +90 -0
  1489. package/dist/components/sync-status/attrs.js.map +1 -0
  1490. package/dist/components/sync-status/index.d.ts +19 -0
  1491. package/dist/components/sync-status/index.d.ts.map +1 -0
  1492. package/dist/components/sync-status/index.js +17 -0
  1493. package/dist/components/sync-status/index.js.map +1 -0
  1494. package/dist/components/sync-status/model.d.ts +29 -0
  1495. package/dist/components/sync-status/model.d.ts.map +1 -0
  1496. package/dist/components/sync-status/model.js +73 -0
  1497. package/dist/components/sync-status/model.js.map +1 -0
  1498. package/dist/components/sync-status/render.d.ts +3 -0
  1499. package/dist/components/sync-status/render.d.ts.map +1 -0
  1500. package/dist/components/sync-status/render.js +95 -0
  1501. package/dist/components/sync-status/render.js.map +1 -0
  1502. package/dist/components/sync-status/runtime.d.ts +3 -0
  1503. package/dist/components/sync-status/runtime.d.ts.map +1 -0
  1504. package/dist/components/sync-status/runtime.js +83 -0
  1505. package/dist/components/sync-status/runtime.js.map +1 -0
  1506. package/dist/components/sync-status/style.d.ts +10 -0
  1507. package/dist/components/sync-status/style.d.ts.map +1 -0
  1508. package/dist/components/sync-status/style.js +256 -0
  1509. package/dist/components/sync-status/style.js.map +1 -0
  1510. package/dist/components/task-list/attrs.d.ts +97 -0
  1511. package/dist/components/task-list/attrs.d.ts.map +1 -0
  1512. package/dist/components/task-list/attrs.js +76 -0
  1513. package/dist/components/task-list/attrs.js.map +1 -0
  1514. package/dist/components/task-list/index.d.ts +33 -0
  1515. package/dist/components/task-list/index.d.ts.map +1 -0
  1516. package/dist/components/task-list/index.js +31 -0
  1517. package/dist/components/task-list/index.js.map +1 -0
  1518. package/dist/components/task-list/model.d.ts +33 -0
  1519. package/dist/components/task-list/model.d.ts.map +1 -0
  1520. package/dist/components/task-list/model.js +105 -0
  1521. package/dist/components/task-list/model.js.map +1 -0
  1522. package/dist/components/task-list/render.d.ts +6 -0
  1523. package/dist/components/task-list/render.d.ts.map +1 -0
  1524. package/dist/components/task-list/render.js +112 -0
  1525. package/dist/components/task-list/render.js.map +1 -0
  1526. package/dist/components/task-list/runtime.d.ts +3 -0
  1527. package/dist/components/task-list/runtime.d.ts.map +1 -0
  1528. package/dist/components/task-list/runtime.js +75 -0
  1529. package/dist/components/task-list/runtime.js.map +1 -0
  1530. package/dist/components/task-list/style.d.ts +15 -0
  1531. package/dist/components/task-list/style.d.ts.map +1 -0
  1532. package/dist/components/task-list/style.js +282 -0
  1533. package/dist/components/task-list/style.js.map +1 -0
  1534. package/dist/components/template/fill.d.ts +10 -0
  1535. package/dist/components/template/fill.d.ts.map +1 -0
  1536. package/dist/components/template/fill.js +193 -0
  1537. package/dist/components/template/fill.js.map +1 -0
  1538. package/dist/components/template/index.d.ts +8 -0
  1539. package/dist/components/template/index.d.ts.map +1 -0
  1540. package/dist/components/template/index.js +7 -0
  1541. package/dist/components/template/index.js.map +1 -0
  1542. package/dist/components/template/markers.d.ts +60 -0
  1543. package/dist/components/template/markers.d.ts.map +1 -0
  1544. package/dist/components/template/markers.js +130 -0
  1545. package/dist/components/template/markers.js.map +1 -0
  1546. package/dist/components/template/shared.d.ts +20 -0
  1547. package/dist/components/template/shared.d.ts.map +1 -0
  1548. package/dist/components/template/shared.js +25 -0
  1549. package/dist/components/template/shared.js.map +1 -0
  1550. package/dist/components/text/api.d.ts +14 -0
  1551. package/dist/components/text/api.d.ts.map +1 -0
  1552. package/dist/components/text/api.js +76 -0
  1553. package/dist/components/text/api.js.map +1 -0
  1554. package/dist/components/text/formats.d.ts +30 -0
  1555. package/dist/components/text/formats.d.ts.map +1 -0
  1556. package/dist/components/text/formats.js +120 -0
  1557. package/dist/components/text/formats.js.map +1 -0
  1558. package/dist/components/text/index.d.ts +8 -0
  1559. package/dist/components/text/index.d.ts.map +1 -0
  1560. package/dist/components/text/index.js +7 -0
  1561. package/dist/components/text/index.js.map +1 -0
  1562. package/dist/components/text/input.d.ts +27 -0
  1563. package/dist/components/text/input.d.ts.map +1 -0
  1564. package/dist/components/text/input.js +114 -0
  1565. package/dist/components/text/input.js.map +1 -0
  1566. package/dist/components/text/log.d.ts +12 -0
  1567. package/dist/components/text/log.d.ts.map +1 -0
  1568. package/dist/components/text/log.js +28 -0
  1569. package/dist/components/text/log.js.map +1 -0
  1570. package/dist/components/text/rows.d.ts +27 -0
  1571. package/dist/components/text/rows.d.ts.map +1 -0
  1572. package/dist/components/text/rows.js +100 -0
  1573. package/dist/components/text/rows.js.map +1 -0
  1574. package/dist/components/text/shared.d.ts +35 -0
  1575. package/dist/components/text/shared.d.ts.map +1 -0
  1576. package/dist/components/text/shared.js +29 -0
  1577. package/dist/components/text/shared.js.map +1 -0
  1578. package/dist/components/timer-card/attrs.d.ts +99 -0
  1579. package/dist/components/timer-card/attrs.d.ts.map +1 -0
  1580. package/dist/components/timer-card/attrs.js +97 -0
  1581. package/dist/components/timer-card/attrs.js.map +1 -0
  1582. package/dist/components/timer-card/index.d.ts +34 -0
  1583. package/dist/components/timer-card/index.d.ts.map +1 -0
  1584. package/dist/components/timer-card/index.js +32 -0
  1585. package/dist/components/timer-card/index.js.map +1 -0
  1586. package/dist/components/timer-card/model.d.ts +19 -0
  1587. package/dist/components/timer-card/model.d.ts.map +1 -0
  1588. package/dist/components/timer-card/model.js +63 -0
  1589. package/dist/components/timer-card/model.js.map +1 -0
  1590. package/dist/components/timer-card/render.d.ts +8 -0
  1591. package/dist/components/timer-card/render.d.ts.map +1 -0
  1592. package/dist/components/timer-card/render.js +107 -0
  1593. package/dist/components/timer-card/render.js.map +1 -0
  1594. package/dist/components/timer-card/runtime.d.ts +3 -0
  1595. package/dist/components/timer-card/runtime.d.ts.map +1 -0
  1596. package/dist/components/timer-card/runtime.js +132 -0
  1597. package/dist/components/timer-card/runtime.js.map +1 -0
  1598. package/dist/components/timer-card/style.d.ts +15 -0
  1599. package/dist/components/timer-card/style.d.ts.map +1 -0
  1600. package/dist/components/timer-card/style.js +243 -0
  1601. package/dist/components/timer-card/style.js.map +1 -0
  1602. package/dist/components/toast-card/attrs.d.ts +109 -0
  1603. package/dist/components/toast-card/attrs.d.ts.map +1 -0
  1604. package/dist/components/toast-card/attrs.js +120 -0
  1605. package/dist/components/toast-card/attrs.js.map +1 -0
  1606. package/dist/components/toast-card/index.d.ts +29 -0
  1607. package/dist/components/toast-card/index.d.ts.map +1 -0
  1608. package/dist/components/toast-card/index.js +27 -0
  1609. package/dist/components/toast-card/index.js.map +1 -0
  1610. package/dist/components/toast-card/model.d.ts +29 -0
  1611. package/dist/components/toast-card/model.d.ts.map +1 -0
  1612. package/dist/components/toast-card/model.js +103 -0
  1613. package/dist/components/toast-card/model.js.map +1 -0
  1614. package/dist/components/toast-card/render.d.ts +13 -0
  1615. package/dist/components/toast-card/render.d.ts.map +1 -0
  1616. package/dist/components/toast-card/render.js +74 -0
  1617. package/dist/components/toast-card/render.js.map +1 -0
  1618. package/dist/components/toast-card/runtime.d.ts +5 -0
  1619. package/dist/components/toast-card/runtime.d.ts.map +1 -0
  1620. package/dist/components/toast-card/runtime.js +109 -0
  1621. package/dist/components/toast-card/runtime.js.map +1 -0
  1622. package/dist/components/toast-card/style.d.ts +10 -0
  1623. package/dist/components/toast-card/style.d.ts.map +1 -0
  1624. package/dist/components/toast-card/style.js +208 -0
  1625. package/dist/components/toast-card/style.js.map +1 -0
  1626. package/dist/components/tooltip/attrs.d.ts +84 -0
  1627. package/dist/components/tooltip/attrs.d.ts.map +1 -0
  1628. package/dist/components/tooltip/attrs.js +85 -0
  1629. package/dist/components/tooltip/attrs.js.map +1 -0
  1630. package/dist/components/tooltip/index.d.ts +27 -0
  1631. package/dist/components/tooltip/index.d.ts.map +1 -0
  1632. package/dist/components/tooltip/index.js +24 -0
  1633. package/dist/components/tooltip/index.js.map +1 -0
  1634. package/dist/components/tooltip/model.d.ts +18 -0
  1635. package/dist/components/tooltip/model.d.ts.map +1 -0
  1636. package/dist/components/tooltip/model.js +43 -0
  1637. package/dist/components/tooltip/model.js.map +1 -0
  1638. package/dist/components/tooltip/render.d.ts +3 -0
  1639. package/dist/components/tooltip/render.d.ts.map +1 -0
  1640. package/dist/components/tooltip/render.js +59 -0
  1641. package/dist/components/tooltip/render.js.map +1 -0
  1642. package/dist/components/tooltip/runtime.d.ts +3 -0
  1643. package/dist/components/tooltip/runtime.d.ts.map +1 -0
  1644. package/dist/components/tooltip/runtime.js +81 -0
  1645. package/dist/components/tooltip/runtime.js.map +1 -0
  1646. package/dist/components/tooltip/style.d.ts +8 -0
  1647. package/dist/components/tooltip/style.d.ts.map +1 -0
  1648. package/dist/components/tooltip/style.js +84 -0
  1649. package/dist/components/tooltip/style.js.map +1 -0
  1650. package/dist/components/undo-timeline/attrs.d.ts +204 -0
  1651. package/dist/components/undo-timeline/attrs.d.ts.map +1 -0
  1652. package/dist/components/undo-timeline/attrs.js +192 -0
  1653. package/dist/components/undo-timeline/attrs.js.map +1 -0
  1654. package/dist/components/undo-timeline/ids.d.ts +20 -0
  1655. package/dist/components/undo-timeline/ids.d.ts.map +1 -0
  1656. package/dist/components/undo-timeline/ids.js +39 -0
  1657. package/dist/components/undo-timeline/ids.js.map +1 -0
  1658. package/dist/components/undo-timeline/index.d.ts +27 -0
  1659. package/dist/components/undo-timeline/index.d.ts.map +1 -0
  1660. package/dist/components/undo-timeline/index.js +26 -0
  1661. package/dist/components/undo-timeline/index.js.map +1 -0
  1662. package/dist/components/undo-timeline/model.d.ts +72 -0
  1663. package/dist/components/undo-timeline/model.d.ts.map +1 -0
  1664. package/dist/components/undo-timeline/model.js +237 -0
  1665. package/dist/components/undo-timeline/model.js.map +1 -0
  1666. package/dist/components/undo-timeline/render.d.ts +3 -0
  1667. package/dist/components/undo-timeline/render.d.ts.map +1 -0
  1668. package/dist/components/undo-timeline/render.js +250 -0
  1669. package/dist/components/undo-timeline/render.js.map +1 -0
  1670. package/dist/components/undo-timeline/runtime.d.ts +3 -0
  1671. package/dist/components/undo-timeline/runtime.d.ts.map +1 -0
  1672. package/dist/components/undo-timeline/runtime.js +184 -0
  1673. package/dist/components/undo-timeline/runtime.js.map +1 -0
  1674. package/dist/components/undo-timeline/style-impact.d.ts +5 -0
  1675. package/dist/components/undo-timeline/style-impact.d.ts.map +1 -0
  1676. package/dist/components/undo-timeline/style-impact.js +193 -0
  1677. package/dist/components/undo-timeline/style-impact.js.map +1 -0
  1678. package/dist/components/undo-timeline/style-track.d.ts +5 -0
  1679. package/dist/components/undo-timeline/style-track.d.ts.map +1 -0
  1680. package/dist/components/undo-timeline/style-track.js +299 -0
  1681. package/dist/components/undo-timeline/style-track.js.map +1 -0
  1682. package/dist/components/undo-timeline/style.d.ts +7 -0
  1683. package/dist/components/undo-timeline/style.d.ts.map +1 -0
  1684. package/dist/components/undo-timeline/style.js +224 -0
  1685. package/dist/components/undo-timeline/style.js.map +1 -0
  1686. package/dist/components/undo-timeline/text.d.ts +37 -0
  1687. package/dist/components/undo-timeline/text.d.ts.map +1 -0
  1688. package/dist/components/undo-timeline/text.js +36 -0
  1689. package/dist/components/undo-timeline/text.js.map +1 -0
  1690. package/dist/components/window-picker/attrs.d.ts +109 -0
  1691. package/dist/components/window-picker/attrs.d.ts.map +1 -0
  1692. package/dist/components/window-picker/attrs.js +70 -0
  1693. package/dist/components/window-picker/attrs.js.map +1 -0
  1694. package/dist/components/window-picker/index.d.ts +33 -0
  1695. package/dist/components/window-picker/index.d.ts.map +1 -0
  1696. package/dist/components/window-picker/index.js +30 -0
  1697. package/dist/components/window-picker/index.js.map +1 -0
  1698. package/dist/components/window-picker/model.d.ts +33 -0
  1699. package/dist/components/window-picker/model.d.ts.map +1 -0
  1700. package/dist/components/window-picker/model.js +150 -0
  1701. package/dist/components/window-picker/model.js.map +1 -0
  1702. package/dist/components/window-picker/render.d.ts +10 -0
  1703. package/dist/components/window-picker/render.d.ts.map +1 -0
  1704. package/dist/components/window-picker/render.js +69 -0
  1705. package/dist/components/window-picker/render.js.map +1 -0
  1706. package/dist/components/window-picker/runtime.d.ts +3 -0
  1707. package/dist/components/window-picker/runtime.d.ts.map +1 -0
  1708. package/dist/components/window-picker/runtime.js +160 -0
  1709. package/dist/components/window-picker/runtime.js.map +1 -0
  1710. package/dist/components/window-picker/style.d.ts +11 -0
  1711. package/dist/components/window-picker/style.d.ts.map +1 -0
  1712. package/dist/components/window-picker/style.js +100 -0
  1713. package/dist/components/window-picker/style.js.map +1 -0
  1714. package/dist/components/wizard-shell/attrs.d.ts +182 -0
  1715. package/dist/components/wizard-shell/attrs.d.ts.map +1 -0
  1716. package/dist/components/wizard-shell/attrs.js +155 -0
  1717. package/dist/components/wizard-shell/attrs.js.map +1 -0
  1718. package/dist/components/wizard-shell/index.d.ts +16 -0
  1719. package/dist/components/wizard-shell/index.d.ts.map +1 -0
  1720. package/dist/components/wizard-shell/index.js +14 -0
  1721. package/dist/components/wizard-shell/index.js.map +1 -0
  1722. package/dist/components/wizard-shell/model.d.ts +57 -0
  1723. package/dist/components/wizard-shell/model.d.ts.map +1 -0
  1724. package/dist/components/wizard-shell/model.js +203 -0
  1725. package/dist/components/wizard-shell/model.js.map +1 -0
  1726. package/dist/components/wizard-shell/render.d.ts +3 -0
  1727. package/dist/components/wizard-shell/render.d.ts.map +1 -0
  1728. package/dist/components/wizard-shell/render.js +201 -0
  1729. package/dist/components/wizard-shell/render.js.map +1 -0
  1730. package/dist/components/wizard-shell/runtime.d.ts +20 -0
  1731. package/dist/components/wizard-shell/runtime.d.ts.map +1 -0
  1732. package/dist/components/wizard-shell/runtime.js +84 -0
  1733. package/dist/components/wizard-shell/runtime.js.map +1 -0
  1734. package/dist/components/wizard-shell/style-answer.d.ts +5 -0
  1735. package/dist/components/wizard-shell/style-answer.d.ts.map +1 -0
  1736. package/dist/components/wizard-shell/style-answer.js +220 -0
  1737. package/dist/components/wizard-shell/style-answer.js.map +1 -0
  1738. package/dist/components/wizard-shell/style.d.ts +5 -0
  1739. package/dist/components/wizard-shell/style.d.ts.map +1 -0
  1740. package/dist/components/wizard-shell/style.js +283 -0
  1741. package/dist/components/wizard-shell/style.js.map +1 -0
  1742. package/dist/components//346/270/205/345/215/225.d.ts +72 -0
  1743. package/dist/components//346/270/205/345/215/225.d.ts.map +1 -0
  1744. package/dist/components//346/270/205/345/215/225.js +182 -0
  1745. package/dist/components//346/270/205/345/215/225.js.map +1 -0
  1746. package/dist/contract.js +0 -1
  1747. package/dist/controls.d.ts +6 -160
  1748. package/dist/controls.d.ts.map +1 -1
  1749. package/dist/controls.js +6 -1417
  1750. package/dist/controls.js.map +1 -1
  1751. package/dist/docShell.d.ts +10 -2
  1752. package/dist/docShell.d.ts.map +1 -1
  1753. package/dist/docShell.js +8 -4
  1754. package/dist/docShell.js.map +1 -1
  1755. package/dist/editableValue.d.ts +93 -0
  1756. package/dist/editableValue.d.ts.map +1 -0
  1757. package/dist/editableValue.js +415 -0
  1758. package/dist/editableValue.js.map +1 -0
  1759. package/dist/font.js +0 -1
  1760. package/dist/help.d.ts +4 -21
  1761. package/dist/help.d.ts.map +1 -1
  1762. package/dist/help.js +4 -619
  1763. package/dist/help.js.map +1 -1
  1764. package/dist/helpShell.d.ts.map +1 -1
  1765. package/dist/helpShell.js +2 -3
  1766. package/dist/helpShell.js.map +1 -1
  1767. package/dist/index.d.ts +31 -11
  1768. package/dist/index.d.ts.map +1 -1
  1769. package/dist/index.js +25 -9
  1770. package/dist/index.js.map +1 -1
  1771. package/dist/injector.js +0 -1
  1772. package/dist/output/saveHtml.js +0 -1
  1773. package/dist/pageBars.d.ts +93 -0
  1774. package/dist/pageBars.d.ts.map +1 -0
  1775. package/dist/pageBars.js +176 -0
  1776. package/dist/pageBars.js.map +1 -0
  1777. package/dist/pageBarsCss.d.ts +11 -0
  1778. package/dist/pageBarsCss.d.ts.map +1 -0
  1779. package/dist/pageBarsCss.js +229 -0
  1780. package/dist/pageBarsCss.js.map +1 -0
  1781. package/dist/pageNav.d.ts +51 -0
  1782. package/dist/pageNav.d.ts.map +1 -0
  1783. package/dist/pageNav.js +122 -0
  1784. package/dist/pageNav.js.map +1 -0
  1785. package/dist/pageNavCss.d.ts +14 -0
  1786. package/dist/pageNavCss.d.ts.map +1 -0
  1787. package/dist/pageNavCss.js +85 -0
  1788. package/dist/pageNavCss.js.map +1 -0
  1789. package/dist/pageShapes.d.ts +12 -3
  1790. package/dist/pageShapes.d.ts.map +1 -1
  1791. package/dist/pageShapes.js +32 -3
  1792. package/dist/pageShapes.js.map +1 -1
  1793. package/dist/pageUi.d.ts +7 -47
  1794. package/dist/pageUi.d.ts.map +1 -1
  1795. package/dist/pageUi.js +7 -351
  1796. package/dist/pageUi.js.map +1 -1
  1797. package/dist/spec/charts.d.ts +6 -0
  1798. package/dist/spec/charts.d.ts.map +1 -1
  1799. package/dist/spec/charts.js +0 -1
  1800. package/dist/spec/charts.js.map +1 -1
  1801. package/dist/spec/controls.js +0 -1
  1802. package/dist/spec/help.js +0 -1
  1803. package/dist/spec/index.d.ts +5 -5
  1804. package/dist/spec/index.d.ts.map +1 -1
  1805. package/dist/spec/index.js +42 -5
  1806. package/dist/spec/index.js.map +1 -1
  1807. package/dist/spec/style.js +0 -1
  1808. package/dist/spec/template.js +0 -1
  1809. package/dist/spec/text.d.ts +7 -7
  1810. package/dist/spec/text.d.ts.map +1 -1
  1811. package/dist/spec/text.js +1 -2
  1812. package/dist/spec/text.js.map +1 -1
  1813. package/dist/style.d.ts +6 -40
  1814. package/dist/style.d.ts.map +1 -1
  1815. package/dist/style.js +6 -1370
  1816. package/dist/style.js.map +1 -1
  1817. package/dist/template.d.ts +4 -24
  1818. package/dist/template.d.ts.map +1 -1
  1819. package/dist/template.js +4 -360
  1820. package/dist/template.js.map +1 -1
  1821. package/dist/text.d.ts +4 -16
  1822. package/dist/text.d.ts.map +1 -1
  1823. package/dist/text.js +4 -451
  1824. package/dist/text.js.map +1 -1
  1825. package/dist/ui.js +0 -1
  1826. package/package.json +2 -2
package/dist/controls.js CHANGED
@@ -1,1419 +1,8 @@
1
- /** base-paint/controls:#76 控件层运行时(契约 §3.3/§6.3)。
1
+ /** **薄转出**(目录化批次⑤之后本件不再住实现)。
2
2
  *
3
- * 实施冻结面 44 条里 #76 的 13 条 `pending`(10 个运行时出口 + 3 个类型出口):
4
- * `copyText`/`createCopyRuntime`/`bindCopyAction`/`buildSharedHelpersJs`/
5
- * `renderToast`/`createToastController`/`renderActionBar`/`renderStatusBadge`/
6
- * `renderEmptyState`/`renderErrorReceipt`。签名逐字取 `src/spec/controls.ts`,本文件不改任何冻结值。
7
- *
8
- * 三条硬边界(逐条对齐 §3.3/§6.3,违反即红):
9
- * 1. **无宿主 ≠ 无浏览器**(C-1):本层不依赖 DSH 宿主注入(无宿主 DOM 容器、无宿主全局),
10
- * 浏览器能力一律经**显式端口**(`CopyPorts`/`ToastHostPort`/`CopyActionHostPort`)传入;
11
- * 2. **模块代码不得触碰 DOM**(C-8/AC-7):本文件(编译进 `dist/controls.js`)的**代码**里不出现
12
- * `document.`/`window.`/`navigator.`——DOM 只允许出现在 `buildSharedHelpersJs` **产出的 JS 文本**里
13
- * (`SHARED_HELPERS_JS_RULE.domAllowed = true`),由 §6.3 追加验收的 dist 扫描断言钉死;
14
- * 3. **零内联脚本**(C-2):渲染出的按钮只带 `ACTION_ID_ATTR` 与 `DEFAULT_DATA_ATTR`,
15
- * 激活一律走 `bindCopyAction`(事件委派),产出 JS 必须是**经典 script** 作用域可跑的 IIFE。
16
- *
17
- * 文档未规定处的取值(本文显式记账,不留暗猜;契约 §3.3「文档无规定」项):
18
- * - 各控件 HTML 结构/类名细节 → 只冻结「`ilife-` 前缀 + `CONTROL_STYLE_SECTIONS` 命名空间」;
19
- * 逐区尺寸/色值 owner #75,本文件**不产**任何样式常量(数值一律读 `ACTION_BAR_DEFAULTS` 等冻结常量);
20
- * - `copyText` 非空串失败的 `reason` → 通道 2 返回假值 = `'fallback-failed'`/通道 2 **同步抛错** =
21
- * `'fallback-threw'`(只冻结了空串短路的 `'empty'`;两通道皆失败一律**不抛错**,§3.3);
22
- * - `copyText` 的 toast 挂载与回调**先后** → 先挂反馈(失败徽章恒在,不被回调异常吞掉),再回调一次;
23
- * - `copyText('', ports)` 的判定**次序** → 先校验 `ports`(非法即 `bad-input`)再判空串短路,即
24
- * `copyText('', null)` 抛 `bad-input` 而非返回 `reason:'empty'`(次序文档无规定,本文定死);
25
- * - `renderToast` 的 `actions` 数量上限 → 不截断(旧层 `slice(0, 2)` 未进冻结面);
26
- * - `renderToast` 非法 `badge.type` → 回落 `'ok'`(旧层口径);
27
- * - `renderActionBar` 的 `CopyButtonInput.text` 缺席 → 仍渲染按钮、不写 `DEFAULT_DATA_ATTR`(binder 靠
28
- * `readDataText → undefined` 跳过);`text === ''` → 仍写 `data-t=""`(binder 送进空串短路,无反馈);
29
- * 场景按钮 `kind` 取冻结 `ACTION_BAR_KINDS` **全量**(含 `ghost`),不以 §3.3 表格的「primary/red」为限;
30
- * `format` 不参与渲染(序列化归 #77);
31
- * - `renderActionBar` 的 `CopyButtonInput.formats`(#247 三格式形态)→ 按钮只开合菜单、**不写** `data-t`,
32
- * 菜单三项各写自己的 `data-t`(键取 `COPY_FORMATS`,值=该格式已序列化文本);菜单项的
33
- * `data-action-id` **留空**(三颗逐字不同的 id 与「同次渲染内唯一」口径不合,见
34
- * `CopyButtonInput.formats` 注释);`formats` 与 `text` 同给 → `bad-input`;
35
- * `formats` 缺某个格式/非字符串 → `bad-input`;`hints` 非三个串 → `bad-input`;
36
- * 菜单的开合/点外收起/选中后按该项 `data-t` 复制并报所选格式 → 归 helpers 运行时的委派;
37
- * - `renderStatusBadge` 的 `text === ''` → 视为缺省(旧层口径);非法 `status` 降级 `'empty'`(冻结语义);
38
- * - `renderEmptyState` 的 `actionHtml` → **受信 HTML 透传**(契约同口径,调用方负责其内容安全),可含
39
- * 内联 `onclick`;「零注入面」只约束 base-paint **自产**标记,不约束调用方透传的受信片段;
40
- * - helpers JS 的反馈栈容量 → 恒取冻结 `TOAST_DEFAULTS.maxStack`/`mobileMaxStack`(按视口),**不读**
41
- * 静态 `renderToast` 产出的 `data-max`(后者供页面自建 `createToastController` 读取,两栈互不相干);
42
- * - `renderErrorReceipt` 的 `retryPrompt` → 修正重试按钮的**文案**(缺省 `修正重试`);该按钮**不带**
43
- * `ACTION_ID_ATTR`——冻结输入面没有 retry actionId,不得自造 id(§6.3 红线 8),绑定归调用方;
44
- * - `copyText` 判定通道 2 成功用**真值**(旧层 `_fbCopy(s) ? ok() : fail()` 同口径);对布尔返回值
45
- * 与 `=== true` 等价,只影响调用方返回非布尔真值的情形;
46
- * - **「≤820px 收窄为 3」是页面运行时行为,不是模块行为**(FX-76-2 总架构师裁定):模块侧
47
- * `createToastController` 保持**宿主无关**(AC-7 不变,不读任何浏览器全局);收窄由**页面侧**
48
- * `buildSharedHelpersJs` 的**产出文本**读 `matchMedia('(max-width: mobileMaxPx)')` 承担
49
- * (`domAllowed`),或由调用方经 `ToastInput.maxStack` 显式施加。旧层 `window.matchMedia`
50
- * (`base.js:96`)本就是页面侧代码。两侧分工见契约 §3.3「toast 移动端收窄的分工(FX-76-2)」。
3
+ * 为什么留着:`src/blocks.ts`/`src/docShell.ts`/`src/help.ts`/`src/contract.ts` 等
4
+ * (其中两件在并行席位的在途写集里)按 `./controls.js` 取件,`dist/controls.js` 也是既有产物路径。
5
+ * 留一层转出=它们零改动;出口名与改前逐名相同(13 个)。
6
+ * 实现住 `src/components/controls/**`;等引用迁走即可删本件。
51
7
  */
52
- import { STYLE_PREFIX } from './style.js';
53
- import { ACTION_BAR_DEFAULTS, ACTION_BAR_KINDS, ACTION_ID_ATTR, CONTROL_STYLE_SECTIONS, COPY_ACTION_IDS, COPY_FORMATS, COPY_TEXT_DEFAULTS, DEFAULT_DATA_ATTR, ESCAPE_HTML_CHARS, ESCAPE_HTML_ENTITIES, HELP_COPY_ACTIONS, HELP_SHELL_ID, STATUS_DEFAULT_TEXT, STATUS_KINDS, TOAST_DEFAULTS, } from './spec/index.js';
54
- /* ── 错误形态(§3.3:与既有 RenderError 并列、互不继承、一律抛出、不返空) ── */
55
- /** 控件层错误。**不**从 `src/index.ts` 导出:`SPEC_FROZEN_SURFACE` 44 条内无该运行时条目,
56
- * 调用方按 `name === 'ControlsError'` + `code` 判定(与 `fillTemplate` 的 `TemplateError` 同口径)。 */
57
- export class ControlsError extends Error {
58
- code;
59
- constructor(code, message) {
60
- super(message);
61
- this.name = 'ControlsError';
62
- this.code = code;
63
- }
64
- }
65
- function badInput(message) {
66
- throw new ControlsError('bad-input', message);
67
- }
68
- /* ── 转义(AC-14:唯一口径 = 冻结的 `ESCAPE_HTML_CHARS`/`ESCAPE_HTML_ENTITIES`) ── */
69
- const ESCAPE_RE = new RegExp('[' + ESCAPE_HTML_CHARS.join('') + ']', 'g');
70
- function esc(value) {
71
- return value.replace(ESCAPE_RE, (ch) => ESCAPE_HTML_ENTITIES[ch] ?? ch);
72
- }
73
- /* ── 入参校验小件(失败行为恒为 `ControlsError` code `bad-input`) ── */
74
- function assertPlainObject(value, field) {
75
- if (value === null || typeof value !== 'object' || Array.isArray(value))
76
- badInput(field + ' 必须是对象');
77
- }
78
- function assertActionId(value, field) {
79
- if (typeof value !== 'string' || value === '')
80
- badInput(field + ' 必须是非空字符串');
81
- return value;
82
- }
83
- /** 零注入面:含内联事件处理器字段(`onclick`/`onClick`/任何 `on*`)的入参一律拒。 */
84
- function assertNoInlineHandler(value, field) {
85
- for (const key of Object.keys(value)) {
86
- if (/^on/i.test(key))
87
- badInput(field + ' 不得含内联事件处理器字段:' + key);
88
- }
89
- }
90
- function isStatusKind(value) {
91
- return STATUS_KINDS.includes(value);
92
- }
93
- /* ── toast(`renderToast` + `createToastController`) ─────────────────── */
94
- /** 图标字形:`TOAST_ICONS` 是**冻结的枚举名**(不是字形),字形属文档未规定项(旧层 `base.js:74` 同值)。
95
- * **导出(#154)**:区块层 B-12 的「页内静态提示」形态要把同一个图标放进浅色块里,
96
- * 字形只此一份(`blocks.ts` 引用本表,不另抄);本表**不进** `src/index.ts` 出口面。 */
97
- export const TOAST_ICON_GLYPHS = Object.freeze({
98
- copy: '📋',
99
- ok: '✅',
100
- warn: '⚠️',
101
- danger: '❌',
102
- info: '💡',
103
- });
104
- /** 图标位的**文字标签**(#733 新增):与 `TOAST_ICON_GLYPHS` 一一对应的中文词。
105
- *
106
- * 为什么要有它:`pageUi` ⑩ 那条为了治「emoji 在手机上小且糊」,把字形用 `font-size: 0` 收起、
107
- * 再用 `::after { content: "已完成" }` 把词**画**在屏幕上——词只活在 CSS 里。
108
- * 实测(32/32 页):整份产物里「已完成」只出现 1 次,就是那行 `content:`;`<body>` 里一次都没有。
109
- * 后果=屏幕上那个词**不可选中、不可搜索、不可复制、屏读器读不到、打印与 PDF 取不到字**。
110
- * 改法=词进 DOM:图标位里同时放字形与这枚标签,谁显谁隐交 CSS(见 `blocks.ts` 的 note 区 CSS
111
- * 与 `pageUi` ⑩)。不启用 `pageUi` 的页仍只显字形,外观与改前逐值相同。 */
112
- export const TOAST_ICON_LABELS = Object.freeze({
113
- copy: '已复制',
114
- ok: '已完成',
115
- warn: '注意',
116
- danger: '未通过',
117
- info: '提示',
118
- });
119
- /** 徽章类型允许清单:取冻结类型 `ToastBadge['type']` 的成员(非法值回落 `'ok'`,旧层口径)。 */
120
- const TOAST_BADGE_TYPES = ['ok', 'warn', 'danger'];
121
- /** 关闭按钮文案(文档无规定;沿用旧基线 `✓ 知道了`)。 */
122
- const TOAST_CLOSE_LABEL = '✓ 知道了';
123
- /** 关闭按钮的命名空间类(helpers JS 按 `prefix` 派生同名选择器,见 `buildSharedHelpersJs`)。 */
124
- const TOAST_CLOSE_CLASS = 'toast-close';
125
- /** toast 结构类名(**静态产出器与 helpers 运行时共用同一份**,故提为常量):
126
- * `body` 包裹 `title-row`(+ 可选 detail),close 在 body 之外 —— 与旧层
127
- * `.hm-toast-icon + .hm-toast-body(> .hm-toast-title-row + .hm-toast-detail) + .hm-toast-close`
128
- * **同构**(旧层取证 `.scratch/t76/old-controls.md` §1.1;返修 W1 根因修)。
129
- * 运行时详情类名沿用 `toast-title-detail`(既有 helpers 产出,不新增类名)。 */
130
- const TOAST_BODY_CLASS = 'toast-body';
131
- const TOAST_TITLE_ROW_CLASS = 'toast-title-row';
132
- const TOAST_DETAIL_CLASS = 'toast-title-detail';
133
- function positiveInt(value, fallback) {
134
- return typeof value === 'number' && Number.isInteger(value) && value > 0 ? value : fallback;
135
- }
136
- /** 冻结签名:`renderToast(input: ToastInput): string`(`input.msg` 非字符串 → `bad-input`)。 */
137
- export const renderToast = (input) => {
138
- assertPlainObject(input, 'renderToast: input');
139
- const msg = input.msg;
140
- if (typeof msg !== 'string')
141
- badInput('renderToast: input.msg 必须是字符串');
142
- const toast = input;
143
- const icon = typeof toast.icon === 'string' && toast.icon in TOAST_ICON_GLYPHS ? toast.icon : TOAST_DEFAULTS.defaultIcon;
144
- const maxStack = positiveInt(toast.maxStack, TOAST_DEFAULTS.maxStack);
145
- const head = ['<span class="' + STYLE_PREFIX + 'toast-icon" aria-hidden="true">' + TOAST_ICON_GLYPHS[icon] + '</span>'];
146
- const titleRow = ['<span class="' + STYLE_PREFIX + 'toast-title">' + esc(msg) + '</span>'];
147
- const badge = toast.badge;
148
- if (badge !== undefined && badge !== null) {
149
- assertPlainObject(badge, 'renderToast: input.badge');
150
- if (typeof badge.text !== 'string')
151
- badInput('renderToast: input.badge.text 必须是字符串');
152
- const badgeType = TOAST_BADGE_TYPES.includes(badge.type) ? badge.type : 'ok';
153
- titleRow.push('<span class="' + STYLE_PREFIX + 'toast-chip ' + STYLE_PREFIX + 'toast-chip-' + badgeType + '">' + esc(badge.text) + '</span>');
154
- }
155
- if (typeof toast.count === 'string' && toast.count !== '') {
156
- titleRow.push('<span class="' + STYLE_PREFIX + 'toast-count">' + esc(toast.count) + '</span>');
157
- }
158
- const actions = toast.actions;
159
- if (actions !== undefined && actions !== null) {
160
- if (!Array.isArray(actions))
161
- badInput('renderToast: input.actions 必须是数组');
162
- actions.forEach((action, i) => {
163
- const field = 'renderToast: input.actions[' + i + ']';
164
- assertPlainObject(action, field);
165
- assertNoInlineHandler(action, field);
166
- const actionId = assertActionId(action.actionId, field + '.actionId');
167
- if (typeof action.label !== 'string')
168
- badInput(field + '.label 必须是字符串');
169
- titleRow.push('<button type="button" class="' + STYLE_PREFIX + 'toast-act" ' + ACTION_ID_ATTR + '="' + esc(actionId) + '">' + esc(action.label) + '</button>');
170
- });
171
- }
172
- const body = ['<div class="' + STYLE_PREFIX + TOAST_TITLE_ROW_CLASS + '">' + titleRow.join('') + '</div>'];
173
- if (typeof toast.detail === 'string' && toast.detail !== '') {
174
- body.push('<div class="' + STYLE_PREFIX + 'toast-detail">' + esc(toast.detail) + '</div>');
175
- }
176
- if (Array.isArray(toast.lines) && toast.lines.length > 0) {
177
- body.push('<div class="' + STYLE_PREFIX + 'toast-lines">' + toast.lines.map((line) => esc(String(line))).join('<br>') + '</div>');
178
- }
179
- if (typeof toast.code === 'string' && toast.code !== '') {
180
- body.push('<pre class="' + STYLE_PREFIX + 'toast-code">' + esc(toast.code) + '</pre>');
181
- }
182
- return ('<div class="' + STYLE_PREFIX + 'toast" role="' + TOAST_DEFAULTS.role + '" aria-live="' + TOAST_DEFAULTS.ariaLive + '" data-max="' + maxStack + '">'
183
- + head.join('')
184
- + '<div class="' + STYLE_PREFIX + TOAST_BODY_CLASS + '">' + body.join('') + '</div>'
185
- + '<button type="button" class="' + STYLE_PREFIX + TOAST_CLOSE_CLASS + '">' + TOAST_CLOSE_LABEL + '</button>'
186
- + '</div>');
187
- };
188
- /** 冻结签名:`createToastController(port: ToastHostPort): ToastController`。
189
- *
190
- * 堆叠口径(旧层 `stackCap()` 同语义):容量 = 栈内各条 `maxStack` 的**最大值**,空栈回落
191
- * `TOAST_DEFAULTS.maxStack`;超容量 FIFO 挤出最旧;单条独立计时(`timeoutMs` 缺省 4500)。
192
- * `flush()` 清栈;`dispose()` = `flush()` + 之后 `show()` 变 no-op(幂等)。 */
193
- export const createToastController = (port) => {
194
- assertPlainObject(port, 'createToastController: port');
195
- if (typeof port.mount !== 'function')
196
- badInput('createToastController: port.mount 必须是函数');
197
- const entries = [];
198
- let disposed = false;
199
- const drop = (entry) => {
200
- if (entry.timer !== null) {
201
- clearTimeout(entry.timer);
202
- entry.timer = null;
203
- }
204
- const index = entries.indexOf(entry);
205
- if (index >= 0)
206
- entries.splice(index, 1);
207
- entry.handle.remove();
208
- };
209
- const capacity = () => {
210
- let cap = 0;
211
- for (const entry of entries)
212
- if (entry.cap > cap)
213
- cap = entry.cap;
214
- return cap > 0 ? cap : TOAST_DEFAULTS.maxStack;
215
- };
216
- return {
217
- show(input) {
218
- if (disposed)
219
- return;
220
- const html = renderToast(input);
221
- const cap = positiveInt(input === null || input === undefined ? undefined : input.maxStack, TOAST_DEFAULTS.maxStack);
222
- const timeoutMs = positiveInt(input === null || input === undefined ? undefined : input.timeoutMs, TOAST_DEFAULTS.timeoutMs);
223
- const entry = { handle: port.mount(html), cap, timer: null };
224
- entries.push(entry);
225
- entry.timer = setTimeout(() => drop(entry), timeoutMs);
226
- while (entries.length > capacity()) {
227
- const oldest = entries[0];
228
- if (oldest === undefined)
229
- break;
230
- drop(oldest);
231
- }
232
- },
233
- flush() {
234
- for (const entry of [...entries])
235
- drop(entry);
236
- },
237
- dispose() {
238
- if (disposed)
239
- return;
240
- disposed = true;
241
- for (const entry of [...entries])
242
- drop(entry);
243
- },
244
- };
245
- };
246
- /* ── copyText 双通道(Q13/AC-16①) ──────────────────────────────────── */
247
- function assertCopyPorts(ports, field) {
248
- if (ports === null || typeof ports !== 'object')
249
- badInput(field + ': ports 必填');
250
- if (typeof ports.fallback !== 'function')
251
- badInput(field + ': ports.fallback 必须是函数');
252
- const clipboard = ports.clipboard;
253
- if (clipboard !== null && clipboard !== undefined && typeof clipboard.writeText !== 'function') {
254
- badInput(field + ': ports.clipboard.writeText 必须是函数');
255
- }
256
- }
257
- function pickCopyText(value, fallback) {
258
- return typeof value === 'string' && value !== '' ? value : fallback;
259
- }
260
- /** 成功反馈:`opts.toast.ok` 逐字段覆盖(`silent` 只静默它,不静默失败徽章)。 */
261
- function okToastInput(opts) {
262
- const override = opts.toast === undefined || opts.toast === null ? undefined : opts.toast.ok;
263
- const input = {
264
- msg: pickCopyText(override?.msg, COPY_TEXT_DEFAULTS.okMessage),
265
- detail: typeof override?.detail === 'string' ? override.detail : COPY_TEXT_DEFAULTS.okDetail,
266
- };
267
- return typeof override?.icon === 'string' ? { ...input, icon: override.icon } : input;
268
- }
269
- /** 失败反馈:徽章恒在(`badge.type` 恒 `danger`,文案取冻结的 `STATUS_DEFAULT_TEXT.danger`)。 */
270
- function failToastInput(opts) {
271
- const override = opts.toast === undefined || opts.toast === null ? undefined : opts.toast.fail;
272
- return {
273
- msg: pickCopyText(override?.msg, COPY_TEXT_DEFAULTS.failMessage),
274
- detail: typeof override?.detail === 'string' ? override.detail : COPY_TEXT_DEFAULTS.failDetail,
275
- icon: typeof override?.icon === 'string' ? override.icon : 'danger',
276
- badge: { type: 'danger', text: STATUS_DEFAULT_TEXT.danger },
277
- };
278
- }
279
- /** 冻结签名:`copyText(text: string, ports: CopyPorts, opts?: CopyTextOptions): Promise<CopyTextOutcome>`。 */
280
- export const copyText = async (text, ports, opts) => {
281
- assertCopyPorts(ports, 'copyText');
282
- if (typeof text !== 'string')
283
- badInput('copyText: text 必须是字符串');
284
- const options = opts === null || opts === undefined || typeof opts !== 'object' ? {} : opts;
285
- if (COPY_TEXT_DEFAULTS.emptyTextShortCircuit && text === '') {
286
- return { ok: false, channel: null, reason: 'empty' };
287
- }
288
- const mountFeedback = (input) => {
289
- const host = ports.toast;
290
- if (host === null || host === undefined)
291
- return;
292
- if (typeof host.mount !== 'function')
293
- badInput('copyText: ports.toast.mount 必须是函数');
294
- host.mount(renderToast(input));
295
- };
296
- const settle = (ok, channel, reason) => {
297
- if (ok) {
298
- if (options.silent !== true)
299
- mountFeedback(okToastInput(options));
300
- if (typeof options.onOk === 'function')
301
- options.onOk(channel);
302
- return { ok: true, channel };
303
- }
304
- if (COPY_TEXT_DEFAULTS.failBadgeAlwaysOn)
305
- mountFeedback(failToastInput(options));
306
- if (typeof options.onFail === 'function')
307
- options.onFail(reason ?? 'unknown');
308
- return { ok: false, channel: null, reason };
309
- };
310
- const clipboard = ports.clipboard ?? null;
311
- if (clipboard !== null) {
312
- try {
313
- await clipboard.writeText(text);
314
- return settle(true, 'clipboard');
315
- }
316
- catch {
317
- // 通道 1 失败 → 通道 2(不得只留 execCommand 的单通道,§3.3)
318
- }
319
- }
320
- // 通道 2:**同步抛错同样不得逃出**(§3.3「两通道皆失败 → `{ok:false,…}`(不抛错)」+「失败徽章恒在」;
321
- // 旧层 `_fbCopy` 整段 try/catch、失败返回 false 同口径)。只包住 `ports.fallback` 调用本身,
322
- // 不包 `settle()`——否则反馈通道抛错会被误判成「通道 2 失败」而重复出徽章。
323
- let fallbackOk = false;
324
- try {
325
- fallbackOk = Boolean(ports.fallback(text));
326
- }
327
- catch {
328
- return settle(false, null, 'fallback-threw');
329
- }
330
- return fallbackOk ? settle(true, 'fallback') : settle(false, null, 'fallback-failed');
331
- };
332
- /** 冻结签名:`createCopyRuntime(ports: CopyPorts): CopyRuntime`。
333
- *
334
- * 除转发 `copyText` 外,本 runtime 记录自己挂载的反馈节点,`dispose()` 一并移除(幂等)。
335
- * 「dispose 后仍可复制」是文档未规定处的取值:`dispose` 只回收反馈节点,不改端口语义。 */
336
- export const createCopyRuntime = (ports) => {
337
- assertCopyPorts(ports, 'createCopyRuntime');
338
- const handles = new Set();
339
- const host = ports.toast;
340
- const wrapped = host === null || host === undefined
341
- ? ports
342
- : {
343
- clipboard: ports.clipboard,
344
- fallback: ports.fallback,
345
- toast: {
346
- mount: (html) => {
347
- const handle = host.mount(html);
348
- handles.add(handle);
349
- return {
350
- remove: () => {
351
- handles.delete(handle);
352
- handle.remove();
353
- },
354
- };
355
- },
356
- },
357
- };
358
- return {
359
- copyText: (text, opts) => copyText(text, wrapped, opts),
360
- dispose: () => {
361
- for (const handle of [...handles])
362
- handle.remove();
363
- handles.clear();
364
- },
365
- };
366
- };
367
- /* ── 复制接线(FX-3③/FX-17;#90 仅凭契约即可接线) ──────────────────── */
368
- /** 冻结签名:`bindCopyAction(port, ports, opts?): { dispose(): void }`。
369
- *
370
- * - id 来源**只有** `port.listActionIds()`:不猜 id、不通配前缀、不订阅未列出的 id;
371
- * - 重复 id 由 binder 自行去重(同一 id 只订阅一次);
372
- * - 激活时读 `port.readDataText(actionId)`:非字符串(含 `undefined`)→ 跳过(不抛错、不产 toast),
373
- * 非复制按钮(场景按钮)即由此跳过,不另设允许清单;
374
- * - 反馈一律走 `ports.toast`(`copyText` 内部),binder 不另出反馈;
375
- * - **激活回调恒不产生未处理拒绝**(FX-76-6):`copyText` 正常路径的失败已在内部 `settle()` 处理,
376
- * 这里只兜「逃出 `copyText` 的异常」(端口实现抛错/`ports.toast.mount` 抛错/回调抛错)——
377
- * 契约 §3.3 明写 binder 不另出反馈,故不产第二份 UI 反馈,也不重入 `opts.onFail`(防重复回调);
378
- * - `dispose()` 解绑全部已订阅 id 且幂等;解绑后激活不再触发复制。 */
379
- export const bindCopyAction = (port, ports, opts) => {
380
- assertPlainObject(port, 'bindCopyAction: port');
381
- if (typeof port.listActionIds !== 'function')
382
- badInput('bindCopyAction: port.listActionIds 必须是函数');
383
- if (typeof port.readDataText !== 'function')
384
- badInput('bindCopyAction: port.readDataText 必须是函数');
385
- if (typeof port.onActivate !== 'function')
386
- badInput('bindCopyAction: port.onActivate 必须是函数');
387
- assertCopyPorts(ports, 'bindCopyAction');
388
- const unbinds = [];
389
- const seen = new Set();
390
- let disposed = false;
391
- const list = port.listActionIds();
392
- for (const actionId of Array.isArray(list) ? list : []) {
393
- if (typeof actionId !== 'string' || actionId === '' || seen.has(actionId))
394
- continue;
395
- seen.add(actionId);
396
- const off = port.onActivate(actionId, () => {
397
- if (disposed)
398
- return;
399
- const text = port.readDataText(actionId);
400
- if (typeof text !== 'string')
401
- return;
402
- // FX-76-6:`void` 丢弃结果,但**必须**接住 rejection(否则端口抛错 → unhandledRejection)。
403
- // 反馈只经 `ports.toast`(§3.3),故此处不产反馈、不重入 `opts.onFail`。
404
- void copyText(text, ports, opts).catch(() => { });
405
- });
406
- unbinds.push(typeof off === 'function' ? off : () => { });
407
- }
408
- return {
409
- dispose: () => {
410
- if (disposed)
411
- return;
412
- disposed = true;
413
- for (const off of unbinds)
414
- off();
415
- unbinds.length = 0;
416
- },
417
- };
418
- };
419
- /* ── 共享 JS 文本的唯一产出者(FX-2③/FX-18;#74 只消费) ─────────────── */
420
- /** JS 字符串字面量(产出文本里嵌值唯一出口)。 */
421
- function jsStr(value) {
422
- return JSON.stringify(value);
423
- }
424
- function helpersPrefix(input) {
425
- const prefix = input === undefined || input === null ? undefined : input.prefix;
426
- return typeof prefix === 'string' && prefix !== '' ? prefix : STYLE_PREFIX;
427
- }
428
- function helpersDataAttr(input) {
429
- const attr = input === undefined || input === null ? undefined : input.dataAttr;
430
- return typeof attr === 'string' && attr !== '' ? attr : DEFAULT_DATA_ATTR;
431
- }
432
- /* ── #88 S4:HELP 速查台运行时增强的类名来源(**不引 `src/help.ts`**) ────────────
433
- * helpers 运行时注入的元素必须与 `src/help.ts` 的 `cls()` 同一命名空间,否则样式落空。
434
- * 这里**不** `import` help.ts:help.ts 已 `import { STYLE_PREFIX } from './style.js'`,
435
- * controls.ts 再引 help.ts 会形成 `controls → help → template` 的潜在模块环;改为
436
- * 「`CONTROL_STYLE_SECTIONS` 闭集里 kebab 后与 `HELP_SHELL_ID` 同值者」这条**与 help.ts:87-93
437
- * 逐条同构**的派生式,闭集漂移即在此 fail-fast(不静默换命名空间)。两侧一致性由
438
- * `test/help-center-js-88.test.mjs` 机读钉死(对照 `renderHelpShell` 的真实产出类名)。 */
439
- /** 样式区名 kebab(`helpShell` → `help-shell`):与 `src/help.ts:81-83` 同一映射。 */
440
- function styleSectionSlug(section) {
441
- return section.replace(/[A-Z]/g, (ch) => '-' + ch.toLowerCase());
442
- }
443
- /** HELP模板类名命名空间 kebab 后缀(`help-shell`;缺省前缀下根 = `ilife-help-shell`)。
444
- * **延迟求值**(不在模块顶层):`style.ts → charts.ts → controls.ts → style.ts` 存在模块环,
445
- * 顶层读 `STYLE_PREFIX` 会在 `style.js` 初始化完成前触发 TDZ(实测 `ReferenceError`),
446
- * 故派生式只在 `buildSharedHelpersJs()` **调用时**执行(此时全部模块已初始化)。 */
447
- function helpShellSlug() {
448
- const section = CONTROL_STYLE_SECTIONS.find((name) => STYLE_PREFIX + styleSectionSlug(name) === HELP_SHELL_ID);
449
- if (section === undefined) {
450
- throw new Error('base-paint/controls:CONTROL_STYLE_SECTIONS 闭集缺与 HELP_SHELL_ID 同 kebab 的区名('
451
- + HELP_SHELL_ID + ')');
452
- }
453
- return styleSectionSlug(section);
454
- }
455
- /** 回到顶部按钮的 `id`(视觉尺 H-19 逐字点名 `#backTop`;`backTop` 是**冻结规格值**)。 */
456
- const HELP_BACKTOP_ID = 'backTop';
457
- /** H-19:`scrollY > 400` 才出现(阈值逐字取规格)。 */
458
- const HELP_BACKTOP_MIN_Y = 400;
459
- /** H-19:按钮字形 `↑`(18px/600 由 CSS 承担)。 */
460
- const HELP_BACKTOP_LABEL = '↑';
461
- /** 无障碍名(文档未规定 → 本票取值,与 `TOAST_CLOSE_LABEL` 同口径记账)。 */
462
- const HELP_BACKTOP_ARIA = '回到顶部';
463
- /** 搜索框占位文案(F3 `卡路里.html` 的 `#sB` 逐字:`搜索全部场景`)。 */
464
- const HELP_SEARCH_PLACEHOLDER = '搜索全部场景';
465
- /** 搜索框无障碍名(文档未规定 → 本票取值)。 */
466
- const HELP_SEARCH_ARIA = '搜索全部场景';
467
- /** 清空按钮字形(F3 `#sClear` 逐字:`✕`)与无障碍名。 */
468
- const HELP_CLEAR_LABEL = '✕';
469
- const HELP_CLEAR_ARIA = '清空搜索';
470
- /** H-16 双反馈的**按钮通道**类名(#121;规格逐字 `copied`,**非** `ilife-` 前缀 → 不占样式区命名空间)。
471
- * CSS 侧两处已就位:`style.ts` 的 `copyButton` 区(`.ilife-copy-btn.copied`,#75)与本区追加的
472
- * helpShell 复制按钮 `.copied`(#121);本常量只供运行时**加类**,不产第二份样式真相。 */
473
- const HELP_COPY_COPIED_CLASS = 'copied';
474
- /** 复制成功态停留时长 = 弹簧动画时长 **450ms**(`docs/visual-spec-help.md:195,197`「按钮变绿进入
475
- * `copied` 态并跑 450ms 弹簧动画」)。与 `style.ts` 的 `transition: transform .45s …` 同源数值,
476
- * 由 `test/copy-copied-121.test.mjs` 跨文件交叉钉死(改一侧不改另一侧即红)。 */
477
- const HELP_COPY_COPIED_MS = 450;
478
- /** 命中计数文案(F3 `#hitC` 逐字:`匹配 N 个场景`)。 */
479
- const HELP_HIT_PREFIX = '匹配 ';
480
- const HELP_HIT_SUFFIX = ' 个场景';
481
- /** 零命中文案(F3 `#emptyC` 逐字)。 */
482
- const HELP_HIT_EMPTY = '没有找到相关场景,换个词试试~';
483
- /** 冻结签名:`buildSharedHelpersJs(input?: SharedHelpersInput): string`。
484
- *
485
- * 产出恒为**非空**、**经典 script** 作用域可跑的 IIFE(无 `import`/`export`/顶层 `await`),
486
- * 逐项满足 `SHARED_HELPERS_JS_RULE`:自包含(不依赖其它脚本或既有全局)/幂等(判据**只落 DOM**:
487
- * 标记属性 + `querySelector` 早退,**不**用全局哨兵)/允许页面侧 DOM(`document.*` 读取与事件绑定)/
488
- * 不向 `window.<id>`/`globalThis.<id>` 赋值/不引 `node:`。
489
- *
490
- * 功能面(文档无规定,本文记账):① 幂等挂载点标记;② 事件委派 `[ACTION_ID_ATTR]` 点击 →
491
- * 读 `dataAttr` 文本 → 复制(`navigator.clipboard` → `execCommand` 兜底);③ 反馈块
492
- * **与 `renderToast` 同构**(`.toast` > `.toast-icon` + `.toast-body` > `.toast-title-row` + 可选
493
- * `.toast-title-detail`,`.toast-close` 在 body 之外;W1 根因修 + F-c 图标),`prefix` 命名空间类,
494
- * `maxStack`/`timeoutMs`/移动端收窄取冻结常量;④ 关闭按钮。
495
- * 产出文本里的文案/数值**全部**取自冻结常量(不产第二份真相)。
496
- * 注:`execCommand` 兜底用临时 textarea 的两个内联定位属性(`position`/`left`),属临时节点
497
- * 定位而非控件样式,不构成第二份样式常量。
498
- *
499
- * **#88 S4 追加(HELP 速查台运行时增强;文档无规定 → 本文记账)**:全部挂进**既有 `boot()`**、
500
- * 共用**既有幂等 marker**(`MARKER_SEL` + `querySelector` 早退),**不新增第二个标记**;每一项都
501
- * 先判 HELP模板是否在页面(helpers 被所有技能页面共享,非 HELP 页逐项早退、零副作用):
502
- * - **卡级复制按钮**(`card-copy`):每张场景卡的**卡头**注入 1 个按钮,`actionId`/文案恒读
503
- * `HELP_COPY_ACTIONS.prompt`,`dataAttr` 取同卡 `<pre class="prompt">` 的原文(=该卡 prompt 逐字;
504
- * #88 S5 起改以 `<pre>` 为**主源**,读不到才回落 Sheet 内 prompt 按钮的 data-t),
505
- * 复用上面的 `[ACTION_ID_ATTR]` 委派(零新增监听、零契约变更);卡内已有该类即跳过(幂等)。
506
- * - **搜索**(`tab-search` + `tab-search-input` + `tab-search-clear` + `page-hitcount`):跨分组过滤卡片、
507
- * `<mark class="card-mark">` 高亮命中、自动展开命中卡片的 Sheet 与子功能组、命中计数、
508
- * 清空复原、`Enter` 在命中分组页间跳页(自动跳第一个命中页)。
509
- * - **Sheet 参数实时预览**:`editable_fields` 的静态值换成输入框,输入即重组
510
- * 「prompt + 空行 + `label: value` 行」(F3 `buildPrompt` 语义),并同步 prompt/params 复制按钮的
511
- * `dataAttr`(否则复制到的是编辑前的旧文本)。
512
- * - **回到顶部**(`btn-backtop`,`id="backTop"`,H-19):`scrollTop > 400` 加 `-show`,点击平滑回顶。
513
- * 纯度:只用 `document.*`(含只读 `document.scrollingElement`)+ 既有只读 `window.matchMedia`;
514
- * 不向 `window.<id>`/`globalThis.<id>` 赋值、不引 `node:`、不用 `classList`(类名走 `className` 字符串
515
- * 增删,兼容 `style.test.mjs` T28 的「动效纯 CSS」断言)、不产内联 `on*`。
516
- *
517
- * **#121 追加(H-16 双反馈的按钮通道;文档 `docs/visual-spec-help.md:195,197`)**:复制**成功**时给
518
- * **被点击的那个按钮**加 `copied` 类(`HELP_COPY_COPIED_CLASS`,规格逐字、无 `ilife-` 前缀),
519
- * `HELP_COPY_COPIED_MS`(450ms)后移除;失败路径**不**加类(不静默变绿)。落点仍在**既有
520
- * `boot()`/既有委派**内:`onClick` 把命中的按钮一并传给 `copy()` → 两条成功通道
521
- * (`navigator.clipboard`/`execCommand` 兜底)各自在成功分支调 `markCopied(btn)`,零新增监听、
522
- * 零新增 marker、零新签名;类名增删复用既有 `addClass`/`removeClass`(`className` 字符串口径)。 */
523
- export const buildSharedHelpersJs = (input) => {
524
- const prefix = helpersPrefix(input);
525
- const dataAttr = helpersDataAttr(input);
526
- const markerAttr = 'data-' + prefix.replace(/-+$/, '') + '-helpers';
527
- const markerSelector = '[' + markerAttr + '="1"]';
528
- // #88 S4:HELP模板命名空间(缺省 `ilife-help-shell`;`prefix` 覆盖时随动,不残留缺省前缀)。
529
- const shellClass = prefix + helpShellSlug();
530
- const shellPart = (suffix) => shellClass + '-' + suffix;
531
- const promptAttr = 'data-' + prefix.replace(/-+$/, '') + '-help-prompt';
532
- const copyAction = HELP_COPY_ACTIONS.prompt;
533
- const paramsAction = HELP_COPY_ACTIONS.params;
534
- const lines = [
535
- '(function () {',
536
- " 'use strict';",
537
- ' var MARKER_ATTR = ' + jsStr(markerAttr) + ';',
538
- ' var MARKER_SEL = ' + jsStr(markerSelector) + ';',
539
- ' var ACTION_ATTR = ' + jsStr(ACTION_ID_ATTR) + ';',
540
- ' var TEXT_ATTR = ' + jsStr(dataAttr) + ';',
541
- ' var STACK_CLASS = ' + jsStr(prefix + 'toast-stack') + ';',
542
- ' var TOAST_CLASS = ' + jsStr(prefix + 'toast') + ';',
543
- ' var ICON_CLASS = ' + jsStr(prefix + 'toast-icon') + ';',
544
- ' var ICON_OK = ' + jsStr(TOAST_ICON_GLYPHS.copy) + ';',
545
- ' var ICON_FAIL = ' + jsStr(TOAST_ICON_GLYPHS.danger) + ';',
546
- ' var CHIP_CLASS = ' + jsStr(prefix + 'toast-chip') + ';',
547
- ' var CHIP_DANGER_CLASS = ' + jsStr(prefix + 'toast-chip-danger') + ';',
548
- ' var TITLE_CLASS = ' + jsStr(prefix + 'toast-title') + ';',
549
- ' var BODY_CLASS = ' + jsStr(prefix + TOAST_BODY_CLASS) + ';',
550
- ' var TITLE_ROW_CLASS = ' + jsStr(prefix + TOAST_TITLE_ROW_CLASS) + ';',
551
- ' var DETAIL_CLASS = ' + jsStr(prefix + TOAST_DETAIL_CLASS) + ';',
552
- ' var CLOSE_CLASS = ' + jsStr(prefix + TOAST_CLOSE_CLASS) + ';',
553
- ' var OK_MSG = ' + jsStr(COPY_TEXT_DEFAULTS.okMessage) + ';',
554
- ' var OK_DETAIL = ' + jsStr(COPY_TEXT_DEFAULTS.okDetail) + ';',
555
- ' var FAIL_MSG = ' + jsStr(COPY_TEXT_DEFAULTS.failMessage) + ';',
556
- ' var FAIL_DETAIL = ' + jsStr(COPY_TEXT_DEFAULTS.failDetail) + ';',
557
- // 失败徽章文案取 `STATUS_DEFAULT_TEXT.danger`(与静态产出器 `copyText` 的失败徽章同一处常量,不产第二份真相)
558
- ' var FAIL_BADGE = ' + jsStr(STATUS_DEFAULT_TEXT.danger) + ';',
559
- ' var CLOSE_LABEL = ' + jsStr(TOAST_CLOSE_LABEL) + ';',
560
- ' var TIMEOUT_MS = ' + TOAST_DEFAULTS.timeoutMs + ';',
561
- ' var MAX_STACK = ' + TOAST_DEFAULTS.maxStack + ';',
562
- ' var MOBILE_MAX_STACK = ' + TOAST_DEFAULTS.mobileMaxStack + ';',
563
- ' var MOBILE_MAX_PX = ' + TOAST_DEFAULTS.mobileMaxPx + ';',
564
- ' var LF = String.fromCharCode(10);',
565
- ' var LF2 = LF + LF;',
566
- // #247:复制数据的三格式形态(菜单开合器 + 格式菜单项)。开合标记/格式键都是**属性**,
567
- // 菜单容器、菜单项与按钮的共同父节点走类名——四者与渲染端(`copyMenuHtml`)逐字同值,
568
- // 不产第二份真相。
569
- ' var MENU_OPEN_SEL = ' + jsStr('[' + COPY_MENU_OPEN_ATTR + '="1"]') + ';',
570
- ' var MENU_ITEM_SEL = ' + jsStr('[' + COPY_MENU_FMT_ATTR + ']') + ';',
571
- ' var MENU_WRAP_CLASS = ' + jsStr(prefix + COPY_MENU_WRAP_CLASS) + ';',
572
- ' var MENU_CLASS = ' + jsStr(prefix + COPY_MENU_CLASS) + ';',
573
- ' var MENU_LABEL_CLASS = ' + jsStr(prefix + COPY_MENU_LABEL_CLASS) + ';',
574
- ' var MENU_OPEN_CLASS = ' + jsStr(COPY_MENU_OPEN_CLASS) + ';',
575
- ' var FORMAT_OK_MSG = ' + jsStr(COPY_FORMAT_OK_MSG) + ';',
576
- // #88 S4:HELP 速查台类名/选择器(同一命名空间,逐条由 `shellClass` 派生)
577
- ' var SHELL_SEL = ' + jsStr('.' + shellClass) + ';',
578
- ' var CARD_CLASS = ' + jsStr(shellPart('card')) + ';',
579
- ' var CARD_TOP_CLASS = ' + jsStr(shellPart('card-top')) + ';',
580
- ' var CARD_COPY_CLASS = ' + jsStr(shellPart('card-copy')) + ';',
581
- ' var CARD_MARK_CLASS = ' + jsStr(shellPart('card-mark')) + ';',
582
- ' var CARD_HIDDEN_CLASS = ' + jsStr(shellPart('card-hidden')) + ';',
583
- ' var SHEET_CLASS = ' + jsStr(shellPart('sheet')) + ';',
584
- ' var PROMPT_CLASS = ' + jsStr(shellPart('prompt')) + ';',
585
- ' var PROMPT_ATTR = ' + jsStr(promptAttr) + ';',
586
- ' var FIELD_CLASS = ' + jsStr(shellPart('field')) + ';',
587
- ' var FIELD_LABEL_CLASS = ' + jsStr(shellPart('field-label')) + ';',
588
- ' var FIELD_VALUE_CLASS = ' + jsStr(shellPart('field-value')) + ';',
589
- ' var FIELD_HINT_CLASS = ' + jsStr(shellPart('field-hint')) + ';',
590
- ' var FIELD_INPUT_CLASS = ' + jsStr(shellPart('field-input')) + ';',
591
- ' var TAB_BAR_CLASS = ' + jsStr(shellPart('tab-bar')) + ';',
592
- ' var TAB_INPUT_CLASS = ' + jsStr(shellPart('tab-input')) + ';',
593
- ' var SEARCH_BOX_CLASS = ' + jsStr(shellPart('tab-search')) + ';',
594
- ' var SEARCH_INPUT_CLASS = ' + jsStr(shellPart('tab-search-input')) + ';',
595
- ' var SEARCH_CLEAR_CLASS = ' + jsStr(shellPart('tab-search-clear')) + ';',
596
- ' var HITCOUNT_CLASS = ' + jsStr(shellPart('page-hitcount')) + ';',
597
- ' var PAGE_CLASS = ' + jsStr(shellPart('page')) + ';',
598
- ' var SUBGROUP_CLASS = ' + jsStr(shellPart('subgroup')) + ';',
599
- ' var SUBGROUP_HIDDEN_CLASS = ' + jsStr(shellPart('subgroup-hidden')) + ';',
600
- ' var CLI_CLASS = ' + jsStr(shellPart('cli')) + ';',
601
- ' var BACKTOP_CLASS = ' + jsStr(shellPart('btn-backtop')) + ';',
602
- ' var BACKTOP_SHOW_CLASS = ' + jsStr(shellPart('btn-backtop-show')) + ';',
603
- ' var BACKTOP_ID = ' + jsStr(HELP_BACKTOP_ID) + ';',
604
- ' var BACKTOP_MIN_Y = ' + HELP_BACKTOP_MIN_Y + ';',
605
- ' var BACKTOP_LABEL = ' + jsStr(HELP_BACKTOP_LABEL) + ';',
606
- ' var BACKTOP_ARIA = ' + jsStr(HELP_BACKTOP_ARIA) + ';',
607
- ' var SEARCH_PLACEHOLDER = ' + jsStr(HELP_SEARCH_PLACEHOLDER) + ';',
608
- ' var SEARCH_ARIA = ' + jsStr(HELP_SEARCH_ARIA) + ';',
609
- ' var CLEAR_LABEL = ' + jsStr(HELP_CLEAR_LABEL) + ';',
610
- ' var CLEAR_ARIA = ' + jsStr(HELP_CLEAR_ARIA) + ';',
611
- ' var HIT_PREFIX = ' + jsStr(HELP_HIT_PREFIX) + ';',
612
- ' var HIT_SUFFIX = ' + jsStr(HELP_HIT_SUFFIX) + ';',
613
- ' var HIT_EMPTY = ' + jsStr(HELP_HIT_EMPTY) + ';',
614
- ' var COPY_ACTION = ' + jsStr(copyAction.actionId) + ';',
615
- ' var COPY_LABEL = ' + jsStr(copyAction.label) + ';',
616
- ' var COPIED_CLASS = ' + jsStr(HELP_COPY_COPIED_CLASS) + ';',
617
- ' var COPIED_MS = ' + HELP_COPY_COPIED_MS + ';',
618
- ' var PARAMS_ACTION = ' + jsStr(paramsAction.actionId) + ';',
619
- ' var searchTerm = "";',
620
- ' var clickBound = false;',
621
- // #88 S5(B 段红队 S3-a):委派去重的**跨实例**判据——同一页面里 helpers 被多次注入时,
622
- // 每个实例各有自己的闭包(`clickBound` 管不住别人),故在**事件对象**上打一次性标记:
623
- // 同一事件只会被第一个处理器消费,一次点击恒只复制 1 次/出 1 个 toast。
624
- ' var HANDLED_PROP = ' + jsStr(prefix + 'help-click-handled') + ';',
625
- '',
626
- ' function boot() {',
627
- ' if (!document.body) return;',
628
- ' if (document.querySelector(MARKER_SEL)) return;',
629
- ' var marker = document.createElement("span");',
630
- ' marker.setAttribute(MARKER_ATTR, "1");',
631
- ' marker.hidden = true;',
632
- ' document.body.appendChild(marker);',
633
- // #88 S5(B 段红队 S3-a):委派**只挂一次**——marker 被删后重入 boot() 不得重复 addEventListener,
634
- // 否则一次点击触发 N 次复制/N 个 toast。按钮/搜索框/#backTop 各自的幂等由自身早退保证。
635
- ' if (!clickBound) { clickBound = true; document.addEventListener("click", onClick); }',
636
- ' initHelpShell();',
637
- ' }',
638
- '',
639
- ' function onClick(ev) {',
640
- ' if (ev[HANDLED_PROP]) return;',
641
- ' ev[HANDLED_PROP] = 1;',
642
- ' var node = ev.target;',
643
- ' if (!node || typeof node.closest !== "function") return;',
644
- ' var close = node.closest("." + CLOSE_CLASS);',
645
- ' if (close) {',
646
- ' var box = close.parentNode;',
647
- ' if (box && box.parentNode) box.parentNode.removeChild(box);',
648
- ' return;',
649
- ' }',
650
- ' if (onMenuClick(node)) return;',
651
- ' var btn = node.closest("[" + ACTION_ATTR + "]");',
652
- ' if (!btn) return;',
653
- // 点同一行另一颗复制按钮(复制日志/复制指令)时顺手收起菜单:与「点别处收起」同效,
654
- // 且不影响它自己的复制(菜单与按钮是两个互不干扰的路径)。
655
- ' var menuOpen = document.querySelector("." + MENU_OPEN_CLASS);',
656
- ' if (menuOpen) closeMenu(menuOpen.parentNode);',
657
- ' var text = btn.getAttribute(TEXT_ATTR);',
658
- ' if (text === null) return;',
659
- ' copy(text, btn);',
660
- ' }',
661
- '',
662
- ' /* #247:复制数据的三格式形态——按钮(`data-fmt-open`)只开合菜单,菜单项(`data-fmt`)各自带',
663
- ' 自己的 `data-t`。两条分支都排在复制委派**之前**:开合器**没有** `data-action-id`,故不会与',
664
- ' 复制委派抢同一次点击;菜单项走复制但**不用** id 反查(读被点击元素自己的属性,与 HELP 速查台',
665
- ' 逐行写同一冻结 id 的口径一致)。返回真=本次点击已被菜单消费。 */',
666
- ' function onMenuClick(node) {',
667
- ' var opener = node.closest(MENU_OPEN_SEL);',
668
- ' if (!opener) {',
669
- ' /* 菜单项:处理完**直接返回**,不下落到复制委派——它没有 `data-action-id`,落下去只会空转。',
670
- ' 复制仍然走同一条 `copy()`(双通道 + `copied` 态 + 提示),只是多了「报所选格式」这一项。 */',
671
- ' var item = node.closest(MENU_ITEM_SEL);',
672
- ' if (item) {',
673
- ' var itemText = item.getAttribute(TEXT_ATTR);',
674
- ' var itemWrap = item.closest("." + MENU_WRAP_CLASS);',
675
- ' if (itemWrap) closeMenu(itemWrap);',
676
- ' var itemLabel = item.querySelector("." + MENU_LABEL_CLASS);',
677
- ' copy(itemText, item, itemLabel ? itemLabel.textContent : "");',
678
- ' return true;',
679
- ' }',
680
- ' /* 点别处收起(老仓 `document` 上那条「不在 .fmt-wrap 里就收起」的同效):',
681
- ' 页面上最多只开一个菜单,故扫到开着的就收。 */',
682
- ' var open = document.querySelector("." + MENU_OPEN_CLASS);',
683
- ' if (open) closeMenu(open.parentNode);',
684
- ' return false;',
685
- ' }',
686
- ' var wrap = opener.closest("." + MENU_WRAP_CLASS);',
687
- ' if (!wrap) return true;',
688
- ' var menu = wrap.querySelector("." + MENU_CLASS);',
689
- ' if (menu) toggleMenu(opener, menu);',
690
- ' return true;',
691
- ' }',
692
- '',
693
- ' /* 开合只翻**可视态**(`copy-menu-open` 类 + `aria-expanded`),**不动 DOM**(#249 返修):',
694
- ' 菜单是浮层,层叠归 CSS(`position:absolute` + `z-index:20`),不在常规流里;而 DOM 序=内容序',
695
- ' ——ghost 行是两列网格、按序铺格,开时搬一颗,两颗就换位,且收起时回不去。 */',
696
- ' function toggleMenu(opener, menu) {',
697
- ' var open = hasClass(menu, MENU_OPEN_CLASS);',
698
- ' if (open) {',
699
- ' removeClass(menu, MENU_OPEN_CLASS);',
700
- ' opener.setAttribute("aria-expanded", "false");',
701
- ' return;',
702
- ' }',
703
- ' addClass(menu, MENU_OPEN_CLASS);',
704
- ' opener.setAttribute("aria-expanded", "true");',
705
- ' }',
706
- '',
707
- ' function closeMenu(wrap) {',
708
- ' if (!wrap) return;',
709
- ' var opener = wrap.querySelector(MENU_OPEN_SEL);',
710
- ' var menu = wrap.querySelector("." + MENU_CLASS);',
711
- ' if (!menu || !hasClass(menu, MENU_OPEN_CLASS)) return;',
712
- ' removeClass(menu, MENU_OPEN_CLASS);',
713
- ' if (opener) opener.setAttribute("aria-expanded", "false");',
714
- ' }',
715
- '',
716
- ' function copy(text, btn, fmt) {',
717
- ' var clip = navigator.clipboard;',
718
- ' if (clip && typeof clip.writeText === "function") {',
719
- ' try {',
720
- ' var done = clip.writeText(text);',
721
- ' if (done && typeof done.then === "function") {',
722
- ' done.then(function () { markCopied(btn); feedback(OK_MSG, false, fmt); }, function () { fallback(text, btn, fmt); });',
723
- ' return;',
724
- ' }',
725
- ' markCopied(btn);',
726
- ' feedback(OK_MSG, false, fmt);',
727
- ' return;',
728
- ' } catch (err) {',
729
- ' fallback(text, btn, fmt);',
730
- ' return;',
731
- ' }',
732
- ' }',
733
- ' fallback(text, btn, fmt);',
734
- ' }',
735
- '',
736
- ' function fallback(text, btn, fmt) {',
737
- ' var sink = document.createElement("textarea");',
738
- ' sink.value = text;',
739
- ' sink.setAttribute("readonly", "readonly");',
740
- ' sink.setAttribute("aria-hidden", "true");',
741
- ' sink.style.position = "fixed";',
742
- ' sink.style.left = "-9999px";',
743
- ' document.body.appendChild(sink);',
744
- ' sink.select();',
745
- ' var done = false;',
746
- ' try { done = document.execCommand("copy"); } catch (err) { done = false; }',
747
- ' if (sink.parentNode) sink.parentNode.removeChild(sink);',
748
- ' if (done) markCopied(btn);',
749
- ' feedback(done ? OK_MSG : FAIL_MSG, !done, fmt);',
750
- ' }',
751
- '',
752
- ' /* #121(H-16 双反馈的按钮通道):成功态加 `copied` 类,450ms 后移除。',
753
- ' 只在**成功**分支调用 → 失败路径不静默变绿;类名走 className 字符串(addClass/removeClass),',
754
- ' 不用 DOM 的类名列表 API(纯度口径);按钮缺失/已离页时 removeClass 仍安全(操作的是节点自身)。 */',
755
- ' function markCopied(btn) {',
756
- ' if (!btn) return;',
757
- ' addClass(btn, COPIED_CLASS);',
758
- ' setTimeout(function () { removeClass(btn, COPIED_CLASS); }, COPIED_MS);',
759
- ' }',
760
- '',
761
- ' function feedback(msg, bad, fmt) {',
762
- ' var cap = MAX_STACK;',
763
- ' if (window.matchMedia && window.matchMedia("(max-width: " + MOBILE_MAX_PX + "px)").matches) cap = MOBILE_MAX_STACK;',
764
- ' var host = document.querySelector("." + STACK_CLASS);',
765
- ' if (!host) {',
766
- ' host = document.createElement("div");',
767
- ' host.className = STACK_CLASS;',
768
- ' document.body.appendChild(host);',
769
- ' }',
770
- ' var box = document.createElement("div");',
771
- ' box.className = bad ? TOAST_CLASS + " " + TOAST_CLASS + "-danger" : TOAST_CLASS;',
772
- ' box.setAttribute("role", ' + jsStr(TOAST_DEFAULTS.role) + ');',
773
- ' box.setAttribute("aria-live", ' + jsStr(TOAST_DEFAULTS.ariaLive) + ');',
774
- // W1 根因修(结构对齐)+ F-c 图标:运行时 DOM 与静态产出器/旧层同构——
775
- // box > .toast-icon + .toast-body(> .toast-title-row(> .toast-title) + 可选 .toast-title-detail) + .toast-close
776
- // 旧层为 `.hm-toast-icon + .hm-toast-body(> .hm-toast-title-row + .hm-toast-detail) + .hm-toast-close`
777
- // (`.scratch/t76/old-controls.md` §1.1)。图标字形取 `TOAST_ICON_GLYPHS[TOAST_DEFAULTS.defaultIcon]`
778
- // (📋,旧层 `base.js:74`/契约 `:141` 缺省;与静态产出器 `renderToast` 同源,不产第二份真相)。
779
- // 缺 body 包裹时标题/详情/关闭被排进同一 flex 行,
780
- // 靠 `flex-wrap` + `flex:1 1 100%` 补丁才勉强分层,且把关闭按钮挤到第三行(R1 实测 113px 高)。
781
- // F-c 自证:新增仅用 `document.createElement/className/setAttribute/textContent/appendChild`
782
- // (`SHARED_HELPERS_JS_RULE.domAllowed=true` 允许 DOM 读取;未向 `window/globalThis` 赋值、
783
- // 未引 `node:`、未用 `classList/show`),故不破坏 #76 冻结产出内容契约与 T28 纯 CSS 动效断言。
784
- ' var icon = document.createElement("span");',
785
- ' icon.className = ICON_CLASS;',
786
- ' icon.setAttribute("aria-hidden", "true");',
787
- ' icon.textContent = bad ? ICON_FAIL : ICON_OK;',
788
- ' var body = document.createElement("div");',
789
- ' body.className = BODY_CLASS;',
790
- ' var titleRow = document.createElement("div");',
791
- ' titleRow.className = TITLE_ROW_CLASS;',
792
- ' var title = document.createElement("span");',
793
- ' title.className = TITLE_CLASS;',
794
- // #247:选了格式的那条**成功**提示报所选格式(「数据复制成功(纯文本/JSON/CSV)」)——格式名取
795
- // 菜单项的标签文本(渲染期写死的那个键),不在运行时里另立一张中文表,选一个格式=一个提示。
796
- // **失败提示照旧**(`FAIL_MSG` + ❌ +「失败」徽章):失败与格式无关,别把它也套上格式名。
797
- ' title.textContent = bad ? msg : (fmt ? FORMAT_OK_MSG + "(" + fmt + ")" : msg);',
798
- ' titleRow.appendChild(title);',
799
- // 5a(2026-09-12 用户裁定「UI 上要统一」):失败态与静态产出器/老仓同形——红底「失败」徽章进标题行。
800
- ' if (bad) {',
801
- ' var chip = document.createElement("span");',
802
- ' chip.className = CHIP_CLASS + " " + CHIP_DANGER_CLASS;',
803
- ' chip.textContent = FAIL_BADGE;',
804
- ' titleRow.appendChild(chip);',
805
- ' }',
806
- ' body.appendChild(titleRow);',
807
- // 详情行两态都有:成功「粘贴给 AI」、失败「长按选择文本手动复制」(都取 `COPY_TEXT_DEFAULTS`,与老仓逐字同)。
808
- ' var detail = document.createElement("div");',
809
- ' detail.className = DETAIL_CLASS;',
810
- ' detail.textContent = bad ? FAIL_DETAIL : OK_DETAIL;',
811
- ' body.appendChild(detail);',
812
- ' box.appendChild(icon);',
813
- ' box.appendChild(body);',
814
- ' var close = document.createElement("button");',
815
- ' close.type = "button";',
816
- ' close.className = CLOSE_CLASS;',
817
- ' close.textContent = CLOSE_LABEL;',
818
- ' box.appendChild(close);',
819
- ' host.appendChild(box);',
820
- ' while (host.children.length > cap) host.removeChild(host.children[0]);',
821
- ' setTimeout(function () {',
822
- ' if (box.parentNode) box.parentNode.removeChild(box);',
823
- ' }, TIMEOUT_MS);',
824
- ' }',
825
- '',
826
- // ── #88 S4:HELP 速查台运行时增强(见上方产出内容契约的记账;全部由既有 boot() 调用) ──
827
- ' function initHelpShell() {',
828
- ' var shell = document.querySelector(SHELL_SEL);',
829
- ' if (!shell) return;',
830
- ' var cards = allOf(shell, "." + CARD_CLASS);',
831
- ' if (cards.length === 0) return;',
832
- ' injectCardCopy(cards);',
833
- ' initSheetPreview(cards);',
834
- ' initSearch(shell, cards);',
835
- ' initBackTop();',
836
- ' }',
837
- '',
838
- ' function allOf(root, sel) {',
839
- ' return Array.prototype.slice.call(root.querySelectorAll(sel));',
840
- ' }',
841
- '',
842
- ' function attrSel(name, value) {',
843
- ' return "[" + name + "=\\"" + value + "\\"]";',
844
- ' }',
845
- '',
846
- ' function hasClass(el, name) {',
847
- ' return (" " + el.className + " ").indexOf(" " + name + " ") > -1;',
848
- ' }',
849
- '',
850
- ' function addClass(el, name) {',
851
- ' if (hasClass(el, name)) return;',
852
- ' el.className = el.className ? el.className + " " + name : name;',
853
- ' }',
854
- '',
855
- ' function removeClass(el, name) {',
856
- ' if (!el.className) return;',
857
- ' var parts = el.className.split(" ");',
858
- ' var kept = [];',
859
- ' for (var i = 0; i < parts.length; i++) { if (parts[i] && parts[i] !== name) kept.push(parts[i]); }',
860
- ' el.className = kept.join(" ");',
861
- ' }',
862
- '',
863
- ' /* 卡级复制按钮(#88 R1-1):卡头注入 1 个按钮——actionId/文案恒读冻结常量,',
864
- ' 文本取同卡 `<pre class="prompt">` 的**原文**(=该卡 prompt 逐字,与 F3 卡面同源);',
865
- ' 读不到 <pre> 才回落同卡 Sheet 内 prompt 按钮的 data-t,两者都无才跳过',
866
- ' (#88 S5/B 段红队 S3-a:真实help模板恒有 <pre>,故 436/436 恒有按钮,不静默丢卡)→ 复用既有委派。 */',
867
- ' function injectCardCopy(cards) {',
868
- ' for (var i = 0; i < cards.length; i++) {',
869
- ' var card = cards[i];',
870
- ' if (card.querySelector("." + CARD_COPY_CLASS)) continue;',
871
- ' var pre = card.querySelector("." + PROMPT_CLASS);',
872
- ' var src = pre !== null ? pre : card.querySelector(attrSel(ACTION_ATTR, COPY_ACTION));',
873
- ' if (src === null) continue;',
874
- ' var text = pre !== null ? pre.textContent : src.getAttribute(TEXT_ATTR);',
875
- ' if (text === null) continue;',
876
- ' var btn = document.createElement("button");',
877
- ' btn.type = "button";',
878
- ' btn.className = CARD_COPY_CLASS;',
879
- ' btn.textContent = COPY_LABEL;',
880
- ' btn.setAttribute(ACTION_ATTR, COPY_ACTION);',
881
- ' btn.setAttribute(TEXT_ATTR, text);',
882
- ' var head = card.querySelector("." + CARD_TOP_CLASS);',
883
- ' if (head) head.appendChild(btn); else card.insertBefore(btn, card.firstChild);',
884
- ' }',
885
- ' }',
886
- '',
887
- ' /* Sheet 参数实时预览:静态值换输入框,输入即重组「prompt + 空行 + label: value 行」。 */',
888
- ' function initSheetPreview(cards) {',
889
- ' for (var i = 0; i < cards.length; i++) {',
890
- ' var card = cards[i];',
891
- ' var pre = card.querySelector("." + PROMPT_CLASS);',
892
- ' if (!pre) continue;',
893
- ' if (pre.getAttribute(PROMPT_ATTR) === null) pre.setAttribute(PROMPT_ATTR, pre.textContent);',
894
- ' var fields = allOf(card, "." + FIELD_CLASS);',
895
- ' for (var j = 0; j < fields.length; j++) bindField(card, fields[j]);',
896
- ' }',
897
- ' }',
898
- '',
899
- ' function bindField(card, field) {',
900
- ' if (field.querySelector("." + FIELD_INPUT_CLASS)) return;',
901
- ' var value = field.querySelector("." + FIELD_VALUE_CLASS);',
902
- ' var input = document.createElement("input");',
903
- ' input.type = "text";',
904
- ' input.className = FIELD_INPUT_CLASS;',
905
- ' input.value = value ? value.textContent : "";',
906
- ' input.setAttribute("value", input.value);',
907
- ' var hint = field.querySelector("." + FIELD_HINT_CLASS);',
908
- ' if (hint) input.setAttribute("placeholder", hint.textContent);',
909
- ' input.addEventListener("input", function () { refreshPreview(card); });',
910
- ' if (value && value.parentNode === field) field.replaceChild(input, value);',
911
- ' else field.appendChild(input);',
912
- ' }',
913
- '',
914
- ' function refreshPreview(card) {',
915
- ' var pre = card.querySelector("." + PROMPT_CLASS);',
916
- ' if (!pre) return;',
917
- ' var base = pre.getAttribute(PROMPT_ATTR);',
918
- ' if (base === null) return;',
919
- ' var lines = fieldLines(card);',
920
- ' var text = lines.length > 0 ? base + LF2 + lines.join(LF) : base;',
921
- ' pre.textContent = text;',
922
- ' syncCopyText(card, text, lines);',
923
- ' if (searchTerm !== "") markCard(card, searchTerm);',
924
- ' }',
925
- '',
926
- ' function fieldLines(card) {',
927
- ' var fields = allOf(card, "." + FIELD_CLASS);',
928
- ' var lines = [];',
929
- ' for (var i = 0; i < fields.length; i++) {',
930
- ' var input = fields[i].querySelector("." + FIELD_INPUT_CLASS);',
931
- ' var labelEl = fields[i].querySelector("." + FIELD_LABEL_CLASS);',
932
- ' var label = labelEl ? labelEl.textContent : "";',
933
- ' var raw = input ? input.value : "";',
934
- ' var val = raw.replace(/^\\s+|\\s+$/g, "");',
935
- ' if (val !== "") lines.push(label + ": " + val);',
936
- ' }',
937
- ' return lines;',
938
- ' }',
939
- '',
940
- ' /* 复制按钮文本同步:prompt 目标(卡头 + Sheet 内)= 预览文本;params 目标=label: value 行,',
941
- ' 无字段时回落该卡 CLI 文本(与冻结help模板 paramsText 同口径)。 */',
942
- ' function syncCopyText(card, text, lines) {',
943
- ' var buttons = allOf(card, "[" + ACTION_ATTR + "]");',
944
- ' for (var i = 0; i < buttons.length; i++) {',
945
- ' var id = buttons[i].getAttribute(ACTION_ATTR);',
946
- ' if (id === COPY_ACTION) buttons[i].setAttribute(TEXT_ATTR, text);',
947
- ' else if (id === PARAMS_ACTION) buttons[i].setAttribute(TEXT_ATTR, lines.length > 0 ? lines.join(LF) : cliTextOf(card));',
948
- ' }',
949
- ' }',
950
- '',
951
- ' function cliTextOf(card) {',
952
- ' var cli = card.querySelector("." + CLI_CLASS);',
953
- ' return cli ? cli.textContent : "";',
954
- ' }',
955
- '',
956
- ' /* 搜索:过滤 + mark 标签高亮 + 自动展开 + 命中计数 + 清空 + 跳页。 */',
957
- ' function initSearch(shell, cards) {',
958
- ' var tabBar = shell.querySelector("." + TAB_BAR_CLASS);',
959
- ' if (!tabBar || !tabBar.parentNode) return;',
960
- ' if (shell.querySelector("." + SEARCH_BOX_CLASS)) return;',
961
- ' var box = document.createElement("div");',
962
- ' box.className = SEARCH_BOX_CLASS;',
963
- ' var input = document.createElement("input");',
964
- ' input.type = "search";',
965
- ' input.className = SEARCH_INPUT_CLASS;',
966
- ' input.setAttribute("placeholder", SEARCH_PLACEHOLDER);',
967
- ' input.setAttribute("aria-label", SEARCH_ARIA);',
968
- ' input.setAttribute("autocomplete", "off");',
969
- ' var clear = document.createElement("button");',
970
- ' clear.type = "button";',
971
- ' clear.className = SEARCH_CLEAR_CLASS;',
972
- ' clear.textContent = CLEAR_LABEL;',
973
- ' clear.setAttribute("aria-label", CLEAR_ARIA);',
974
- ' var count = document.createElement("span");',
975
- ' count.className = HITCOUNT_CLASS;',
976
- ' count.setAttribute("role", "status");',
977
- ' box.appendChild(input);',
978
- ' box.appendChild(clear);',
979
- ' box.appendChild(count);',
980
- ' tabBar.parentNode.insertBefore(box, tabBar.nextSibling);',
981
- ' var state = { sheets: [], subgroups: [], pages: [], index: 0 };',
982
- ' input.addEventListener("input", function () { runSearch(shell, cards, input, count, state); });',
983
- ' input.addEventListener("keydown", function (ev) {',
984
- ' if (ev.key !== "Enter") return;',
985
- ' ev.preventDefault();',
986
- ' if (state.pages.length === 0) return;',
987
- ' state.index = (state.index + 1) % state.pages.length;',
988
- ' jumpTo(state.pages[state.index]);',
989
- ' });',
990
- ' clear.addEventListener("click", function () {',
991
- ' input.value = "";',
992
- ' runSearch(shell, cards, input, count, state);',
993
- ' input.focus();',
994
- ' });',
995
- ' }',
996
- '',
997
- ' function runSearch(shell, cards, input, count, state) {',
998
- ' var term = input.value.replace(/^\\s+|\\s+$/g, "").toLowerCase();',
999
- ' resetSearch(shell, cards, state);',
1000
- ' searchTerm = term;',
1001
- ' if (term === "") { count.textContent = ""; state.pages = []; state.index = 0; return; }',
1002
- ' var hits = [];',
1003
- ' var i;',
1004
- ' for (i = 0; i < cards.length; i++) {',
1005
- ' var card = cards[i];',
1006
- ' if (card.textContent.toLowerCase().indexOf(term) < 0) { addClass(card, CARD_HIDDEN_CLASS); continue; }',
1007
- ' hits.push(card);',
1008
- ' markCard(card, term);',
1009
- ' var sheet = card.querySelector("." + SHEET_CLASS);',
1010
- ' if (sheet && !sheet.open) { sheet.open = true; state.sheets.push(sheet); }',
1011
- ' }',
1012
- ' var subgroups = allOf(shell, "." + SUBGROUP_CLASS);',
1013
- ' for (i = 0; i < subgroups.length; i++) {',
1014
- ' var inner = allOf(subgroups[i], "." + CARD_CLASS);',
1015
- ' var visible = false;',
1016
- ' for (var j = 0; j < inner.length; j++) { if (hits.indexOf(inner[j]) > -1) { visible = true; break; } }',
1017
- ' if (visible) { if (!subgroups[i].open) { subgroups[i].open = true; state.subgroups.push(subgroups[i]); } }',
1018
- ' else addClass(subgroups[i], SUBGROUP_HIDDEN_CLASS);',
1019
- ' }',
1020
- ' var pages = allOf(shell, "." + PAGE_CLASS);',
1021
- ' var hitPages = [];',
1022
- ' for (i = 0; i < pages.length; i++) {',
1023
- ' var pageCards = allOf(pages[i], "." + CARD_CLASS);',
1024
- ' for (var k = 0; k < pageCards.length; k++) { if (hits.indexOf(pageCards[k]) > -1) { hitPages.push(pages[i]); break; } }',
1025
- ' }',
1026
- ' state.pages = hitPages;',
1027
- ' state.index = 0;',
1028
- ' count.textContent = hits.length > 0 ? HIT_PREFIX + hits.length + HIT_SUFFIX : HIT_EMPTY;',
1029
- ' jumpTo(hitPages[0]);',
1030
- ' }',
1031
- '',
1032
- ' function resetSearch(shell, cards, state) {',
1033
- ' var i;',
1034
- ' for (i = 0; i < cards.length; i++) {',
1035
- ' removeClass(cards[i], CARD_HIDDEN_CLASS);',
1036
- ' unmarkCard(cards[i]);',
1037
- ' }',
1038
- ' for (i = 0; i < state.sheets.length; i++) state.sheets[i].open = false;',
1039
- ' state.sheets = [];',
1040
- ' for (i = 0; i < state.subgroups.length; i++) state.subgroups[i].open = false;',
1041
- ' state.subgroups = [];',
1042
- ' var subgroups = allOf(shell, "." + SUBGROUP_CLASS);',
1043
- ' for (i = 0; i < subgroups.length; i++) removeClass(subgroups[i], SUBGROUP_HIDDEN_CLASS);',
1044
- ' }',
1045
- '',
1046
- ' function jumpTo(page) {',
1047
- ' if (!page) return;',
1048
- ' var radio = page.querySelector("." + TAB_INPUT_CLASS);',
1049
- ' if (radio && radio.checked !== true) radio.checked = true;',
1050
- ' }',
1051
- '',
1052
- ' function markCard(card, term) {',
1053
- ' unmarkCard(card);',
1054
- ' var nodes = [];',
1055
- ' collectText(card, nodes);',
1056
- ' for (var i = 0; i < nodes.length; i++) wrapTerm(nodes[i], term);',
1057
- ' }',
1058
- '',
1059
- ' function unmarkCard(card) {',
1060
- ' var marks = allOf(card, "." + CARD_MARK_CLASS);',
1061
- ' for (var i = 0; i < marks.length; i++) {',
1062
- ' var parent = marks[i].parentNode;',
1063
- ' if (!parent) continue;',
1064
- ' parent.replaceChild(document.createTextNode(marks[i].textContent), marks[i]);',
1065
- ' if (typeof parent.normalize === "function") parent.normalize();',
1066
- ' }',
1067
- ' }',
1068
- '',
1069
- ' function collectText(root, out) {',
1070
- ' var kids = root.childNodes;',
1071
- ' for (var i = 0; i < kids.length; i++) {',
1072
- ' var node = kids[i];',
1073
- ' if (node.nodeType === 3) { if (node.nodeValue) out.push(node); continue; }',
1074
- ' if (node.nodeType !== 1) continue;',
1075
- ' if (hasClass(node, CARD_MARK_CLASS)) continue;',
1076
- ' var tag = node.tagName;',
1077
- ' if (tag === "SCRIPT" || tag === "STYLE" || tag === "TEXTAREA" || tag === "INPUT") continue;',
1078
- ' collectText(node, out);',
1079
- ' }',
1080
- ' }',
1081
- '',
1082
- ' function wrapTerm(node, term) {',
1083
- ' var rest = node.nodeValue;',
1084
- ' var at = rest.toLowerCase().indexOf(term);',
1085
- ' if (at < 0) return;',
1086
- ' var frag = document.createDocumentFragment();',
1087
- ' while (at > -1) {',
1088
- ' if (at > 0) frag.appendChild(document.createTextNode(rest.slice(0, at)));',
1089
- ' var mark = document.createElement("mark");',
1090
- ' mark.className = CARD_MARK_CLASS;',
1091
- ' mark.textContent = rest.slice(at, at + term.length);',
1092
- ' frag.appendChild(mark);',
1093
- ' rest = rest.slice(at + term.length);',
1094
- ' at = rest.toLowerCase().indexOf(term);',
1095
- ' }',
1096
- ' if (rest !== "") frag.appendChild(document.createTextNode(rest));',
1097
- ' if (node.parentNode) node.parentNode.replaceChild(frag, node);',
1098
- ' }',
1099
- '',
1100
- ' /* 回到顶部(H-19):scrollTop > BACKTOP_MIN_Y 才加 -show;点击平滑回顶。 */',
1101
- ' function initBackTop() {',
1102
- ' if (document.querySelector("." + BACKTOP_CLASS)) return;',
1103
- ' var btn = document.createElement("button");',
1104
- ' btn.type = "button";',
1105
- ' btn.id = BACKTOP_ID;',
1106
- ' btn.className = BACKTOP_CLASS;',
1107
- ' btn.textContent = BACKTOP_LABEL;',
1108
- ' btn.setAttribute("aria-label", BACKTOP_ARIA);',
1109
- ' btn.setAttribute("title", BACKTOP_ARIA);',
1110
- ' btn.addEventListener("click", function () {',
1111
- ' var root = scrollRoot();',
1112
- ' if (!root) return;',
1113
- ' if (typeof root.scrollTo === "function") {',
1114
- ' try { root.scrollTo({ top: 0, behavior: "smooth" }); return; } catch (err) { root.scrollTop = 0; return; }',
1115
- ' }',
1116
- ' root.scrollTop = 0;',
1117
- ' });',
1118
- ' document.body.appendChild(btn);',
1119
- ' document.addEventListener("scroll", syncBackTop, true);',
1120
- ' syncBackTop();',
1121
- ' }',
1122
- '',
1123
- ' function scrollRoot() {',
1124
- ' return document.scrollingElement || document.documentElement || document.body;',
1125
- ' }',
1126
- '',
1127
- ' function syncBackTop() {',
1128
- ' var btn = document.querySelector("." + BACKTOP_CLASS);',
1129
- ' if (!btn) return;',
1130
- ' var root = scrollRoot();',
1131
- ' var y = root ? root.scrollTop : 0;',
1132
- ' if (y > BACKTOP_MIN_Y) addClass(btn, BACKTOP_SHOW_CLASS); else removeClass(btn, BACKTOP_SHOW_CLASS);',
1133
- ' }',
1134
- '',
1135
- ' if (document.body) boot();',
1136
- ' else document.addEventListener("DOMContentLoaded", boot);',
1137
- '}());',
1138
- ];
1139
- return lines.join(String.fromCharCode(10));
1140
- };
1141
- function normalizeButtons(buttons) {
1142
- if (buttons === undefined || buttons === null)
1143
- return [];
1144
- if (!Array.isArray(buttons))
1145
- badInput('renderActionBar: input.buttons 必须是数组');
1146
- return buttons.map((button, i) => {
1147
- const field = 'renderActionBar: input.buttons[' + i + ']';
1148
- assertPlainObject(button, field);
1149
- assertNoInlineHandler(button, field);
1150
- if (typeof button.label !== 'string' || button.label === '')
1151
- badInput(field + '.label 必须是非空字符串');
1152
- if (!ACTION_BAR_KINDS.includes(button.kind)) {
1153
- badInput(field + '.kind 必须是 ' + ACTION_BAR_KINDS.join('/'));
1154
- }
1155
- return {
1156
- label: button.label,
1157
- kind: button.kind,
1158
- actionId: assertActionId(button.actionId, field + '.actionId'),
1159
- // #733:只在**真给 true** 时带这一位;不给/给假 ⇒ 产物与改前逐字节相同(旧调用方零影响)。
1160
- ...(button.disabled === true ? { disabled: true } : {}),
1161
- };
1162
- });
1163
- }
1164
- /** 菜单形态的标记属性(#247;运行时委派据它分辨「开合菜单的按钮」与「直接复制的按钮」)。
1165
- * 该按钮**不写** `data-action-id`:它不是复制目标、也不是复制动作——点击的效果是开合菜单。
1166
- * `CopyActionHostPort.listActionIds()` 与 `bindCopyAction` 因此天然不碰它(无需为此改冻结签名)。 */
1167
- const COPY_MENU_OPEN_ATTR = 'data-fmt-open';
1168
- /** 菜单项的**格式键**承载属性(三格式形态里唯一分辨三项的东西——值取 `COPY_FORMATS`)。
1169
- * 与老仓逐字同名:老仓 `.fmt-item` 就是靠 `data-fmt` 分辨纯文本/JSON/CSV。 */
1170
- const COPY_MENU_FMT_ATTR = 'data-fmt';
1171
- /** 格式菜单容器与按钮的共同父节点类名(运行时据**最近的这个父节点**开合/收起菜单)。 */
1172
- const COPY_MENU_WRAP_CLASS = 'copy-menu-wrap';
1173
- /** 菜单容器自身的类名(浮动那一层)。 */
1174
- const COPY_MENU_CLASS = 'copy-menu';
1175
- /** 菜单项的类名。 */
1176
- const COPY_MENU_ITEM_CLASS = 'copy-menu-item';
1177
- /** 菜单项**标签**文本的类名(`data-fmt` 只放格式键;标签是给人看的中文名,见 `COPY_FORMAT_LABELS`)。 */
1178
- const COPY_MENU_LABEL_CLASS = 'copy-menu-label';
1179
- /** 菜单项**可见标签**:格式键 → 中文名(#496)。
1180
- *
1181
- * `data-fmt` 是机器面(键值恒为 `COPY_FORMATS` 成员,运行时与测试都按它分辨三项),
1182
- * **上屏的是这张表的中文名**——原先是把格式键直接印给用户看,菜单点开是 `text` / `json` / `csv`
1183
- * 三个小写英文词,读不懂(`.scratch/t155o/text-review-P0.md` 第 20/44 条,卡路里 81 页 +
1184
- * 饼干记账的复制区页同形)。`JSON` 与 `CSV` 是这个仓既有写法里的通用缩写,保留原样。
1185
- * 运行时「数据复制成功(〈标签〉)」那条提示读回的就是这里的值,故它跟着一起变中文。 */
1186
- const COPY_FORMAT_LABELS = { text: '纯文本', json: 'JSON', csv: 'CSV' };
1187
- /** 菜单项**用途提示**(老仓原样:`粘贴给 AI / 自己看`/`结构化存档`/`表格导入`)的类名。
1188
- * 老仓靠 `.fmt-item span`(后代选择器)收这行灰小字;本仓**显式给类名**——一是不用后代选择器
1189
- * 把标签也一并染成 11px 灰(`.copy-menu-item span` 会连窗口里两个 span 一起命中),
1190
- * 二是 CSS 里每个类名都要指得出产出者(`style.test.mjs` T10)。 */
1191
- const COPY_MENU_HINT_CLASS = 'copy-menu-hint';
1192
- /** 菜单**开着**时加在容器上的类(`opacity` / `visibility` 的开合开关;`aria-expanded` 同步)。 */
1193
- const COPY_MENU_OPEN_CLASS = 'copy-menu-open';
1194
- /** 开合器 `aria-label` 的后半句(**#525 第二轮**:可见文字里的 `▾` 已删,那句「可以选格式」改住这里)。
1195
- *
1196
- * 为什么删那个字符:用户裁定第 5 条逐字「该问题是用这些符号简化了 UI 展示的设计」——
1197
- * `复制数据 ▾` 里的三角是「这里能展开」的纯装饰,用一个字形顶替了一次设计。现在三角由
1198
- * `style.ts` copyButton 区的 `::after` 用 `border` + `rotate` 画出来(零字符),
1199
- * 而**语义不留白**:这句写进 `aria-label`,读屏与抓取器仍读得出「这颗按钮要选格式」。 */
1200
- const COPY_MENU_OPENER_ARIA = '(点开选格式)';
1201
- /** 选中某个格式后的成功提示词干(老仓 `.fmt-menu` 那张菜单当年报的是「…数据复制成功(格式)」;
1202
- * 本仓句头沿用既有「已复制」以外的**独立**一句,避免与单格式提示混同)。格式名由运行时从菜单项
1203
- * 标签读回(即 `COPY_FORMAT_LABELS` 的中文名),不在运行时另立第二张表。 */
1204
- const COPY_FORMAT_OK_MSG = '数据复制成功';
1205
- /** 三格式形态的校验 + 归一(#247):与 `text` 互斥;三格式恒齐、值恒为串;`hints` 恒三串。 */
1206
- function normalizeFormats(formats, field, hasText) {
1207
- if (formats === undefined || formats === null)
1208
- return undefined;
1209
- assertPlainObject(formats, 'renderActionBar: input.' + field + '.formats');
1210
- if (hasText)
1211
- badInput('renderActionBar: input.' + field + '.formats 与 .text 只能给一个');
1212
- const texts = [];
1213
- for (const key of COPY_FORMATS) {
1214
- const value = formats[key];
1215
- if (typeof value !== 'string')
1216
- badInput('renderActionBar: input.' + field + '.formats.' + key + ' 必须是字符串');
1217
- texts.push(value);
1218
- }
1219
- const rawHints = formats.hints;
1220
- if (rawHints === undefined || rawHints === null)
1221
- return { texts, hints: [] };
1222
- if (!Array.isArray(rawHints) || rawHints.length !== COPY_FORMATS.length) {
1223
- badInput('renderActionBar: input.' + field + '.formats.hints 必须是 ' + COPY_FORMATS.length + ' 个字符串');
1224
- }
1225
- const hints = [];
1226
- for (const hint of rawHints) {
1227
- if (typeof hint !== 'string')
1228
- badInput('renderActionBar: input.' + field + '.formats.hints 必须是字符串');
1229
- hints.push(hint);
1230
- }
1231
- return { texts, hints };
1232
- }
1233
- function normalizeCopyButton(input, fallbackLabel, field) {
1234
- if (input === undefined || input === null)
1235
- return null;
1236
- assertPlainObject(input, 'renderActionBar: input.' + field);
1237
- assertNoInlineHandler(input, 'renderActionBar: input.' + field);
1238
- const button = input;
1239
- const formats = normalizeFormats(button.formats, field, typeof button.text === 'string');
1240
- return {
1241
- label: typeof button.label === 'string' && button.label !== '' ? button.label : fallbackLabel,
1242
- actionId: assertActionId(button.actionId, 'renderActionBar: input.' + field + '.actionId'),
1243
- text: typeof button.text === 'string' ? button.text : undefined,
1244
- // 三格式形态的按钮是**菜单开合器**,不是复制目标:`data-t` 恒缺(点了不直接复制)。
1245
- ...(formats === undefined ? {} : { formats }),
1246
- };
1247
- }
1248
- function sceneButtonHtml(button) {
1249
- // #733:`disabled: true` ⇒ 落 `disabled` + `aria-disabled`(「标记」而非「可点控件」)。
1250
- // 动作条按钮没有 `data-t` 载荷位 ⇒ 凡是「该由宿主来做、这一页做不到」的动作,
1251
- // 不给这一位就会渲染成「看着能点、点了没反应」(记账写入域实测两颗)。
1252
- const disabledAttr = button.disabled === true ? ' disabled aria-disabled="true"' : '';
1253
- return '<button type="button" class="' + STYLE_PREFIX + 'action-btn ' + STYLE_PREFIX + 'action-btn-' + button.kind + '"'
1254
- + disabledAttr + ' ' + ACTION_ID_ATTR + '="' + esc(button.actionId) + '">' + esc(button.label) + '</button>';
1255
- }
1256
- function copyButtonHtml(button) {
1257
- const textAttr = button.text === undefined ? '' : ' ' + DEFAULT_DATA_ATTR + '="' + esc(button.text) + '"';
1258
- const disabledAttr = button.disabled === true ? ' disabled' : '';
1259
- return '<button type="button" class="' + STYLE_PREFIX + 'copy-btn ' + STYLE_PREFIX + 'copy-btn-ghost" '
1260
- + ACTION_ID_ATTR + '="' + esc(button.actionId) + '"' + textAttr + disabledAttr + '>' + esc(button.label) + '</button>';
1261
- }
1262
- /** 复制数据的**三格式形态**(#247):`<div class="ilife-copy-menu-wrap">` 里一颗开合器 + 一个菜单。
1263
- *
1264
- * 按钮:`data-fmt-open` 是**开合标记**(不是 `data-action-id`——见 `COPY_MENU_OPEN_ATTR` 注释),
1265
- * 带 `aria-haspopup`/`aria-expanded`(`aria-expanded` 由运行时翻转);
1266
- * 菜单:三个格式项,每项 `data-fmt="键"`(键取 `COPY_FORMATS`)+ 自己的 `data-t`(该格式文本),
1267
- * 标签与用途提示取 `formats.hints`(对应位)。零内联脚本:开合与选中一律归 helpers 运行时的委派。
1268
- * 菜单容器**不加 `hidden`**:它是浮层,用 CSS 的 `opacity` 开合(`hidden` 的 `display:none` 会让浏览器
1269
- * 把 `opacity` 过渡整个跳过,且开合时重排整页——手机档上会看到内容跳一下)。 */
1270
- function copyMenuHtml(button, formats) {
1271
- // #525 第二轮:开合器**不再把 `▾` 打上屏**(用户裁定第 5 条「用符号简化了 UI 展示的设计」是债)。
1272
- // 这颗三角是「这里可以展开」的纯装饰,可见文字里删掉、改由 CSS 画(`style.ts` 的 copyButton 区
1273
- // `.ilife-copy-menu-wrap > .ilife-copy-btn::after`,`border` + `transform: rotate`,一个字符都不打)。
1274
- // 删字符不能删语义:`aria-label` 里把那句「可以选格式」写成文字(读屏与无图形环境仍读得出)。
1275
- const openLabel = button.label;
1276
- const items = [];
1277
- for (let i = 0; i < COPY_FORMATS.length; i += 1) {
1278
- const key = COPY_FORMATS[i];
1279
- const hint = formats.hints[i];
1280
- const hintHtml = hint === undefined || hint === '' ? '' : '<span class="' + STYLE_PREFIX + COPY_MENU_HINT_CLASS + '">' + esc(hint) + '</span>';
1281
- items.push('<button type="button" class="' + STYLE_PREFIX + COPY_MENU_ITEM_CLASS + '" ' + COPY_MENU_FMT_ATTR + '="' + esc(key) + '" '
1282
- + DEFAULT_DATA_ATTR + '="' + esc(formats.texts[i]) + '">'
1283
- + '<span class="' + STYLE_PREFIX + COPY_MENU_LABEL_CLASS + '">' + esc(COPY_FORMAT_LABELS[key] ?? key) + '</span>' + hintHtml + '</button>');
1284
- }
1285
- const opener = '<button type="button" class="' + STYLE_PREFIX + 'copy-btn ' + STYLE_PREFIX + 'copy-btn-ghost" '
1286
- + COPY_MENU_OPEN_ATTR + '="1" aria-haspopup="menu" aria-expanded="false" '
1287
- + 'aria-label="' + esc(openLabel + COPY_MENU_OPENER_ARIA) + '">' + esc(openLabel) + '</button>';
1288
- return '<div class="' + STYLE_PREFIX + COPY_MENU_WRAP_CLASS + '">' + opener
1289
- + '<div class="' + STYLE_PREFIX + COPY_MENU_CLASS + '" role="menu">' + items.join('') + '</div></div>';
1290
- }
1291
- /** 一颗复制按钮:单格式=普通按钮(`actionId` + 可选 `data-t`);三格式=菜单形态(见 `copyMenuHtml`)。 */
1292
- function copyControlHtml(button) {
1293
- return button.formats === undefined ? copyButtonHtml(button) : copyMenuHtml(button, button.formats);
1294
- }
1295
- /** 冻结签名:`renderActionBar(input: ActionBarInput): string`。
1296
- *
1297
- * 场景按钮(`primary`/`red`/`ghost`)一行;复制数据/复制日志 ghost 按钮**独立一行**
1298
- * (`ACTION_BAR_DEFAULTS.ghostOwnRow`);复制文本渲染期写入 `DEFAULT_DATA_ATTR`、id 写入 `ACTION_ID_ATTR`,
1299
- * 零内联脚本。缺 `actionId`/空串/同次渲染内重复 → `ControlsError` code `bad-input`。
1300
- * 逐区尺寸(`minHeightPx`/`fontSizePx`/`fontWeight`/`ghostBorderAlpha`/`evenRowPairs`)由 #75 的
1301
- * 共享样式区消费(本文件不产样式常量)。
1302
- *
1303
- * #654(负责人 2026-09-16 验收打回,**口径变更**):**不再补**那颗禁用态「复制日志」占位。
1304
- * 动作条只渲染**真存在**的动作;ghost 行的几何改由「列数跟着颗数走」保——只有一颗时挂
1305
- * `action-row-ghost-single`(`style.ts` 让它在整行轨道铺满),两颗真位时照 #247 两列平分。
1306
- * 两边都在场/都不在场/仅日志位在场照旧;仅日志位在场不补数据位。 */
1307
- export const renderActionBar = (input) => {
1308
- assertPlainObject(input, 'renderActionBar: input');
1309
- const bar = input;
1310
- const buttons = normalizeButtons(bar.buttons);
1311
- const copyData = normalizeCopyButton(bar.copyData, ACTION_BAR_DEFAULTS.copyDataLabel, 'copyData');
1312
- const copyLog = normalizeCopyButton(bar.copyLog, ACTION_BAR_DEFAULTS.copyLogLabel, 'copyLog');
1313
- const ids = new Set();
1314
- for (const button of buttons) {
1315
- if (ids.has(button.actionId))
1316
- badInput('renderActionBar: actionId 同次渲染内重复:' + button.actionId);
1317
- ids.add(button.actionId);
1318
- }
1319
- for (const copy of [copyData, copyLog]) {
1320
- if (copy === null)
1321
- continue;
1322
- if (ids.has(copy.actionId))
1323
- badInput('renderActionBar: actionId 同次渲染内重复:' + copy.actionId);
1324
- ids.add(copy.actionId);
1325
- }
1326
- const sceneHtml = buttons.map(sceneButtonHtml).join('');
1327
- const ghostList = [copyData, copyLog].filter((copy) => copy !== null);
1328
- const ghostHtml = ghostList.map(copyControlHtml).join('');
1329
- const rowClass = STYLE_PREFIX + 'action-row';
1330
- // #654:ghost 行**只有一颗**时挂单颗修饰类——`style.ts` 让它铺满整行轨道(既不占半格、
1331
- // 也不缩成内容宽);两颗真位时不挂,#247 的两列平分口径一字不动。
1332
- const ghostRowClass = rowClass + ' ' + STYLE_PREFIX + 'action-row-ghost'
1333
- + (ghostList.length === 1 ? ' ' + STYLE_PREFIX + 'action-row-ghost-single' : '');
1334
- const rows = [];
1335
- if (sceneHtml !== '' && ghostHtml !== '' && !ACTION_BAR_DEFAULTS.ghostOwnRow) {
1336
- rows.push('<div class="' + rowClass + '">' + sceneHtml + ghostHtml + '</div>');
1337
- }
1338
- else {
1339
- if (sceneHtml !== '')
1340
- rows.push('<div class="' + rowClass + '">' + sceneHtml + '</div>');
1341
- if (ghostHtml !== '')
1342
- rows.push('<div class="' + ghostRowClass + '">' + ghostHtml + '</div>');
1343
- }
1344
- return '<div class="' + STYLE_PREFIX + 'action-bar">' + rows.join('') + '</div>';
1345
- };
1346
- /* ── 状态三控件 ───────────────────────────────────────────────────────── */
1347
- /** 冻结签名:`renderStatusBadge(input: StatusBadgeInput): string`。
1348
- * 非法 `status` 降级 `'empty'`(不抛错,防无样式徽章);`text` 缺省/空串取 `STATUS_DEFAULT_TEXT`。 */
1349
- export const renderStatusBadge = (input) => {
1350
- const badge = input === null || input === undefined || typeof input !== 'object' ? undefined : input;
1351
- const status = badge !== undefined && isStatusKind(badge.status) ? badge.status : 'empty';
1352
- const text = badge === undefined ? undefined : badge.text;
1353
- const label = typeof text === 'string' && text !== '' ? text : STATUS_DEFAULT_TEXT[status];
1354
- return '<span class="' + STYLE_PREFIX + 'status-badge ' + STYLE_PREFIX + 'status-badge-' + status + '">' + esc(label) + '</span>';
1355
- };
1356
- /** 冻结签名:`renderEmptyState(input: EmptyStateInput): string`。
1357
- * `icon`/`text`/`hint` 一律转义;`actionHtml` 受信 HTML 透传(不转义);`text` 缺失/非字符串 → `bad-input`。 */
1358
- export const renderEmptyState = (input) => {
1359
- assertPlainObject(input, 'renderEmptyState: input');
1360
- const state = input;
1361
- if (typeof state.text !== 'string')
1362
- badInput('renderEmptyState: input.text 必须是字符串');
1363
- const parts = [];
1364
- if (typeof state.icon === 'string' && state.icon !== '') {
1365
- parts.push('<div class="' + STYLE_PREFIX + 'empty-icon">' + esc(state.icon) + '</div>');
1366
- }
1367
- parts.push('<div class="' + STYLE_PREFIX + 'empty-text">' + esc(state.text) + '</div>');
1368
- if (typeof state.hint === 'string' && state.hint !== '') {
1369
- parts.push('<div class="' + STYLE_PREFIX + 'empty-hint">' + esc(state.hint) + '</div>');
1370
- }
1371
- if (typeof state.actionHtml === 'string' && state.actionHtml !== '') {
1372
- parts.push('<div class="' + STYLE_PREFIX + 'empty-action">' + state.actionHtml + '</div>');
1373
- }
1374
- return '<div class="' + STYLE_PREFIX + 'empty">' + parts.join('') + '</div>';
1375
- };
1376
- /** 修正重试按钮缺省文案(文档无规定;沿用旧基线)。 */
1377
- const ERROR_RETRY_LABEL = '修正重试';
1378
- /** 错误标题前缀(文档无规定;沿用旧基线 `❌ `)。 */
1379
- const ERROR_TITLE_PREFIX = '❌ ';
1380
- /** 冻结签名:`renderErrorReceipt(input: ErrorReceiptInput): string`。
1381
- * 缺 `dataText`/`logText` → **不渲染**对应复制按钮(容错,不抛错);id 缺省取
1382
- * `COPY_ACTION_IDS.errorReceipt.*`;**不读** `window.__hmPayload` 之类旧全局(AC-7)。 */
1383
- export const renderErrorReceipt = (input) => {
1384
- assertPlainObject(input, 'renderErrorReceipt: input');
1385
- const receipt = input;
1386
- if (typeof receipt.message !== 'string')
1387
- badInput('renderErrorReceipt: input.message 必须是字符串');
1388
- const retryLabel = typeof receipt.retryPrompt === 'string' && receipt.retryPrompt !== '' ? receipt.retryPrompt : ERROR_RETRY_LABEL;
1389
- // #733 复现实测:这一颗**从来不带** ACTION_ID_ATTR 与 DEFAULT_DATA_ATTR(件头第 42 行自述「该按钮不带…」),
1390
- // 而产物内联委派的第一道 `node.closest("[data-action-id]")` 就早退 ⇒ **点了零动作、零反馈**。
1391
- // 记账写入域 16 张采集页上,它是整块错误回执里视觉权重最重的一颗(primary + wide),
1392
- // 维护者逐字要求:「要么真能点,要么看起来就不能点,不许留在『看着能点、点了没反应』这一档」。
1393
- // 改法=走后者:加 `disabled` + `aria-disabled`,吃既有的 `.copy-btn[disabled]` 样式
1394
- // (浅底 + `--fg3` 字 + `cursor: not-allowed`),它当场从「最响的一颗」变成明显不可点的一行。
1395
- // 不改成「真能点」的原因:它的文案是「补齐了,说一遍试试」,而这一页是静态文档,
1396
- // 「再试一次」这件事只有宿主(助手)能做——给它编一个动作才是说谎。
1397
- const actions = [
1398
- '<button type="button" class="' + STYLE_PREFIX + 'copy-btn ' + STYLE_PREFIX + 'copy-btn-primary ' + STYLE_PREFIX + 'copy-btn-wide"'
1399
- + ' disabled aria-disabled="true">' + esc(retryLabel) + '</button>',
1400
- ];
1401
- const ids = new Set();
1402
- const pushCopy = (text, rawId, fallbackId, label, field) => {
1403
- if (typeof text !== 'string')
1404
- return;
1405
- const actionId = rawId === undefined ? fallbackId : assertActionId(rawId, 'renderErrorReceipt: input.' + field);
1406
- if (ids.has(actionId))
1407
- badInput('renderErrorReceipt: actionId 同次渲染内重复:' + actionId);
1408
- ids.add(actionId);
1409
- actions.push('<button type="button" class="' + STYLE_PREFIX + 'copy-btn ' + STYLE_PREFIX + 'copy-btn-ghost" '
1410
- + ACTION_ID_ATTR + '="' + esc(actionId) + '" ' + DEFAULT_DATA_ATTR + '="' + esc(text) + '">' + esc(label) + '</button>');
1411
- };
1412
- pushCopy(receipt.dataText, receipt.dataActionId, COPY_ACTION_IDS.errorReceipt.copyData, ACTION_BAR_DEFAULTS.copyDataLabel, 'dataActionId');
1413
- pushCopy(receipt.logText, receipt.logActionId, COPY_ACTION_IDS.errorReceipt.copyLog, ACTION_BAR_DEFAULTS.copyLogLabel, 'logActionId');
1414
- return '<div class="' + STYLE_PREFIX + 'error">'
1415
- + '<div class="' + STYLE_PREFIX + 'error-title">' + esc(ERROR_TITLE_PREFIX + receipt.message) + '</div>'
1416
- + '<div class="' + STYLE_PREFIX + 'error-actions">' + actions.join('') + '</div>'
1417
- + '</div>';
1418
- };
1419
- //# sourceMappingURL=controls.js.map
8
+ export * from './components/controls/index.js';