@silverpoint/react 0.6.0 → 0.7.0

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 (541) hide show
  1. package/README.md +119 -0
  2. package/dist/activity-grid.js +3 -3
  3. package/dist/area-chart.js +3 -3
  4. package/dist/bar-chart.js +3 -3
  5. package/dist/beeswarm-chart.js +3 -3
  6. package/dist/box-plot-chart.js +3 -3
  7. package/dist/bubble-chart.js +3 -3
  8. package/dist/bullet-chart.js +3 -3
  9. package/dist/bump-chart.js +3 -3
  10. package/dist/candlestick-chart.js +3 -3
  11. package/dist/chord-ring.js +3 -3
  12. package/dist/{chunk-WZZA2IGN.js → chunk-25BXOLN7.js} +2 -2
  13. package/dist/{chunk-IHWEQR42.js → chunk-26PNMZ4N.js} +2 -2
  14. package/dist/chunk-27ILYIHO.js +56 -0
  15. package/dist/chunk-27ILYIHO.js.map +1 -0
  16. package/dist/{chunk-5FYPFU6B.js → chunk-2HDGFK6O.js} +2 -2
  17. package/dist/chunk-2JLWAB4R.js +32 -0
  18. package/dist/chunk-2JLWAB4R.js.map +1 -0
  19. package/dist/{chunk-I72JGA6Q.js → chunk-2NBHAILL.js} +2 -2
  20. package/dist/chunk-2TDJIHGW.js +39 -0
  21. package/dist/chunk-2TDJIHGW.js.map +1 -0
  22. package/dist/{chunk-GUKXFITX.js → chunk-3MQJA564.js} +2 -2
  23. package/dist/{chunk-LSA5XU52.js → chunk-3UD7DUEM.js} +2 -2
  24. package/dist/chunk-3ZO7VEHS.js +59 -0
  25. package/dist/chunk-3ZO7VEHS.js.map +1 -0
  26. package/dist/{chunk-MC7N4KQA.js → chunk-45FUDQOF.js} +2 -2
  27. package/dist/chunk-4CZQHTP5.js +16 -0
  28. package/dist/chunk-4CZQHTP5.js.map +1 -0
  29. package/dist/{chunk-FHX2HWN3.js → chunk-4QE7BQ7J.js} +2 -2
  30. package/dist/{chunk-UC7ADKFU.js → chunk-5GNJS3Y3.js} +2 -2
  31. package/dist/{chunk-T2IYBDCL.js → chunk-5HX2UUIR.js} +2 -2
  32. package/dist/{chunk-SNWXRA2D.js → chunk-5KS4JD5W.js} +2 -2
  33. package/dist/{chunk-Y4V5AZ32.js → chunk-5M4FS37X.js} +2 -2
  34. package/dist/chunk-65LAAEJZ.js +66 -0
  35. package/dist/chunk-65LAAEJZ.js.map +1 -0
  36. package/dist/{chunk-KOWQNNTS.js → chunk-6BZ2752M.js} +2 -2
  37. package/dist/chunk-6K4HSGXJ.js +16 -0
  38. package/dist/chunk-6K4HSGXJ.js.map +1 -0
  39. package/dist/{chunk-GSJYA76X.js → chunk-6Y2V7WIZ.js} +2 -2
  40. package/dist/chunk-74DQNJH2.js +16 -0
  41. package/dist/chunk-74DQNJH2.js.map +1 -0
  42. package/dist/chunk-75EKOWPE.js +16 -0
  43. package/dist/chunk-75EKOWPE.js.map +1 -0
  44. package/dist/chunk-7777FL4L.js +16 -0
  45. package/dist/chunk-7777FL4L.js.map +1 -0
  46. package/dist/{chunk-JPTK2AAT.js → chunk-7SZATSRO.js} +2 -2
  47. package/dist/{chunk-BJZOF2YZ.js → chunk-AKOPH5MK.js} +2 -2
  48. package/dist/chunk-AL6AXLYE.js +16 -0
  49. package/dist/chunk-AL6AXLYE.js.map +1 -0
  50. package/dist/{chunk-5FKONGCL.js → chunk-ANAAYEMQ.js} +2 -2
  51. package/dist/{chunk-MYKZWY2E.js → chunk-ANIMFO5C.js} +2 -2
  52. package/dist/{chunk-CWFUPKSS.js → chunk-ARN5BO7U.js} +2 -2
  53. package/dist/{chunk-6M4REUJE.js → chunk-B2TSWCF5.js} +2 -2
  54. package/dist/chunk-BKZ64BZS.js +31 -0
  55. package/dist/chunk-BKZ64BZS.js.map +1 -0
  56. package/dist/{chunk-X2F56RYM.js → chunk-CAFLXUSL.js} +2 -2
  57. package/dist/chunk-CJBZWJTN.js +21 -0
  58. package/dist/chunk-CJBZWJTN.js.map +1 -0
  59. package/dist/{chunk-G7C4CH54.js → chunk-CT2MHXSG.js} +2 -2
  60. package/dist/{chunk-RMIIFPXA.js → chunk-D65O5YJZ.js} +2 -2
  61. package/dist/{chunk-U3LT444G.js → chunk-DL3FIRSO.js} +2 -2
  62. package/dist/{chunk-AEU6UHVG.js → chunk-DOFLNIRZ.js} +2 -2
  63. package/dist/{chunk-DO4VUIUU.js → chunk-DX6FUHGB.js} +14 -11
  64. package/dist/chunk-DX6FUHGB.js.map +1 -0
  65. package/dist/{chunk-NEOD2DSH.js → chunk-DXFQNNRN.js} +2 -2
  66. package/dist/{chunk-FZ46YSJA.js → chunk-DXNSJNEQ.js} +2 -2
  67. package/dist/{chunk-NWK6VBCJ.js → chunk-E6LPQWVM.js} +2 -2
  68. package/dist/{chunk-KVOBNPDN.js → chunk-ELNPDHOC.js} +2 -2
  69. package/dist/{chunk-YRRWP5HL.js → chunk-ENGG7T3F.js} +2 -2
  70. package/dist/{chunk-ZOB6BH7H.js → chunk-EOMPQ2TX.js} +2 -2
  71. package/dist/{chunk-RIGQTEKW.js → chunk-EPTFI4BT.js} +2 -2
  72. package/dist/{chunk-M3MZMHGS.js → chunk-EX7AYOOW.js} +2 -2
  73. package/dist/{chunk-OSDENB6W.js → chunk-F27PSDYP.js} +2 -2
  74. package/dist/{chunk-DGZN27CF.js → chunk-F6H7NPSP.js} +2 -2
  75. package/dist/{chunk-INHBSJZX.js → chunk-FI6FQRFE.js} +2 -2
  76. package/dist/chunk-G3PPUBI5.js +79 -0
  77. package/dist/chunk-G3PPUBI5.js.map +1 -0
  78. package/dist/{chunk-ESFN6FJY.js → chunk-GEC5QL7C.js} +2 -2
  79. package/dist/{chunk-CNRSQPRE.js → chunk-GU5HJU7M.js} +2 -2
  80. package/dist/{chunk-WFO6BICV.js → chunk-HHQI7CLZ.js} +2 -2
  81. package/dist/{chunk-PRVJKYEQ.js → chunk-IHIE2DK3.js} +2 -2
  82. package/dist/{chunk-2JWLXUY5.js → chunk-INYDD4FD.js} +2 -2
  83. package/dist/{chunk-3JXO2533.js → chunk-IQQMPYCN.js} +2 -2
  84. package/dist/{chunk-4CDW7VWK.js → chunk-JIVM4CSU.js} +2 -2
  85. package/dist/{chunk-MS5BH6TU.js → chunk-JMVH54WP.js} +2 -2
  86. package/dist/chunk-JRYGGBE6.js +20 -0
  87. package/dist/chunk-JRYGGBE6.js.map +1 -0
  88. package/dist/chunk-JUVBTR6L.js +66 -0
  89. package/dist/chunk-JUVBTR6L.js.map +1 -0
  90. package/dist/{chunk-NWRCFNYB.js → chunk-JY6ZMAYT.js} +2 -2
  91. package/dist/{chunk-6EFRIK7Q.js → chunk-K2JDM6SF.js} +2 -2
  92. package/dist/{chunk-RAATAHXZ.js → chunk-KMNQTGBN.js} +2 -2
  93. package/dist/{chunk-SQ6GWXDK.js → chunk-M2NKE3GQ.js} +12 -1
  94. package/dist/chunk-M2NKE3GQ.js.map +1 -0
  95. package/dist/{chunk-C3NHZ4N5.js → chunk-M4F272PN.js} +2 -2
  96. package/dist/{chunk-OP2WE7MA.js → chunk-M5R4CNKU.js} +2 -2
  97. package/dist/{chunk-R7AKJYNB.js → chunk-MEHYWMG7.js} +2 -2
  98. package/dist/{chunk-VKNGQ4NW.js → chunk-MOO3XIC2.js} +2 -2
  99. package/dist/chunk-MTXREPUM.js +16 -0
  100. package/dist/chunk-MTXREPUM.js.map +1 -0
  101. package/dist/{chunk-UOOHQAJU.js → chunk-NNHM6OWA.js} +2 -2
  102. package/dist/{chunk-3U3Z5U6H.js → chunk-NUGUZMON.js} +2 -2
  103. package/dist/{chunk-6P5Z6IRH.js → chunk-O2FNTA5U.js} +2 -2
  104. package/dist/{chunk-7EH4NGBM.js → chunk-O4WI7LKM.js} +2 -2
  105. package/dist/{chunk-XQTZOVFF.js → chunk-OB65KGYJ.js} +2 -2
  106. package/dist/{chunk-TSQWTDBK.js → chunk-PXHT6PD5.js} +2 -2
  107. package/dist/chunk-Q6VFHFX3.js +16 -0
  108. package/dist/chunk-Q6VFHFX3.js.map +1 -0
  109. package/dist/{chunk-ZBSCLF56.js → chunk-QEHVGOJA.js} +16 -10
  110. package/dist/chunk-QEHVGOJA.js.map +1 -0
  111. package/dist/{chunk-QRYI7BEO.js → chunk-QEODW4IP.js} +2 -2
  112. package/dist/{chunk-3BREGZ7C.js → chunk-QJLESIWB.js} +2 -2
  113. package/dist/{chunk-WMU6O6KZ.js → chunk-QKBT4P5O.js} +2 -2
  114. package/dist/{chunk-LPKOFXAA.js → chunk-QOQTPSPV.js} +2 -2
  115. package/dist/{chunk-FBJLA3P7.js → chunk-QRQ4RFCB.js} +4 -2
  116. package/dist/chunk-QRQ4RFCB.js.map +1 -0
  117. package/dist/{chunk-4DG5NJWM.js → chunk-QVCRJZMJ.js} +2 -2
  118. package/dist/{chunk-OD6N2ATZ.js → chunk-R66XACVV.js} +3 -2
  119. package/dist/chunk-R66XACVV.js.map +1 -0
  120. package/dist/{chunk-46S63XYT.js → chunk-RE4ZOKKK.js} +6 -1
  121. package/dist/chunk-RE4ZOKKK.js.map +1 -0
  122. package/dist/chunk-RFWELGCX.js +20 -0
  123. package/dist/chunk-RFWELGCX.js.map +1 -0
  124. package/dist/{chunk-6NXL245Z.js → chunk-S2A6EJSX.js} +2 -2
  125. package/dist/{chunk-6S6VKQ3E.js → chunk-SZHYT257.js} +2 -2
  126. package/dist/{chunk-JWCVL7VE.js → chunk-T52NYUKC.js} +2 -2
  127. package/dist/{chunk-M56MDRNT.js → chunk-TTIRFQ2W.js} +2 -2
  128. package/dist/{chunk-3WUPWJP2.js → chunk-TZGI7DMH.js} +2 -2
  129. package/dist/{chunk-67FND3TB.js → chunk-UA3V7LBC.js} +2 -2
  130. package/dist/chunk-UAWJIVQK.js +68 -0
  131. package/dist/chunk-UAWJIVQK.js.map +1 -0
  132. package/dist/chunk-UOINAVEH.js +32 -0
  133. package/dist/chunk-UOINAVEH.js.map +1 -0
  134. package/dist/chunk-VGX3GSOT.js +33 -0
  135. package/dist/chunk-VGX3GSOT.js.map +1 -0
  136. package/dist/{chunk-E7OSOGUT.js → chunk-VNVWUIVN.js} +2 -2
  137. package/dist/{chunk-ART7CMBL.js → chunk-VQRXVACI.js} +2 -2
  138. package/dist/{chunk-K4YKDPDJ.js → chunk-XOO5OQHZ.js} +2 -2
  139. package/dist/chunk-XPLCIRDZ.js +14 -0
  140. package/dist/chunk-XPLCIRDZ.js.map +1 -0
  141. package/dist/{chunk-TH6Q4E7C.js → chunk-XZX2HZI7.js} +2 -2
  142. package/dist/{chunk-DWXG7WLM.js → chunk-YHCAIRT3.js} +2 -2
  143. package/dist/{chunk-L65CMJRG.js → chunk-YO2P3ALL.js} +2 -2
  144. package/dist/{chunk-OAH7AEGE.js → chunk-YYI6AXAT.js} +2 -2
  145. package/dist/chunk-ZGGWGSDF.js +17 -0
  146. package/dist/chunk-ZGGWGSDF.js.map +1 -0
  147. package/dist/{chunk-43AIURD6.js → chunk-ZLI7RM6W.js} +2 -2
  148. package/dist/{chunk-NA6K372D.js → chunk-ZMZYJ6I7.js} +2 -2
  149. package/dist/{chunk-J3E6IUUQ.js → chunk-ZVZMIGX4.js} +2 -2
  150. package/dist/composed-chart.js +3 -3
  151. package/dist/connected-scatter-chart.js +3 -3
  152. package/dist/contour-chart.js +3 -3
  153. package/dist/coxcomb-chart.js +3 -3
  154. package/dist/dashboard.js +1 -1
  155. package/dist/delaunay-chart.js +3 -3
  156. package/dist/density-bin-chart.js +3 -3
  157. package/dist/diverging-bar-chart.js +3 -3
  158. package/dist/donut-chart.js +3 -3
  159. package/dist/dumbbell-chart.js +3 -3
  160. package/dist/ecdf-chart.js +3 -3
  161. package/dist/error-bar-chart.js +3 -3
  162. package/dist/funnel-chart.js +3 -3
  163. package/dist/gauge-arc.js +3 -3
  164. package/dist/heatmap-chart.js +3 -3
  165. package/dist/histogram-chart.js +3 -3
  166. package/dist/index.d.ts +5 -1
  167. package/dist/index.js +67 -64
  168. package/dist/index.js.map +1 -1
  169. package/dist/interval-chart.js +3 -3
  170. package/dist/kpi-card.js +3 -3
  171. package/dist/line-chart.js +3 -3
  172. package/dist/lollipop-chart.js +3 -3
  173. package/dist/marimekko-chart.js +3 -3
  174. package/dist/meter-chart.js +3 -3
  175. package/dist/network-chart.js +3 -3
  176. package/dist/orbit-chart.js +3 -3
  177. package/dist/overlay-CMxteajk.d.ts +10 -0
  178. package/dist/parallel-coordinates-chart.js +3 -3
  179. package/dist/polar-bar-chart.js +3 -3
  180. package/dist/polar-line-chart.js +3 -3
  181. package/dist/polar-scatter-chart.js +3 -3
  182. package/dist/pyramid-chart.js +3 -3
  183. package/dist/radar-chart.js +3 -3
  184. package/dist/radial-arc-group.js +3 -3
  185. package/dist/radial-rings.js +3 -3
  186. package/dist/range-band-chart.js +3 -3
  187. package/dist/ridgeline-chart.js +3 -3
  188. package/dist/sankey-chart.js +3 -3
  189. package/dist/scatter-chart.js +3 -3
  190. package/dist/server/activity-grid.js +2 -1
  191. package/dist/server/activity-grid.js.map +1 -1
  192. package/dist/server/area-chart.js +2 -1
  193. package/dist/server/area-chart.js.map +1 -1
  194. package/dist/server/bar-chart.js +2 -1
  195. package/dist/server/bar-chart.js.map +1 -1
  196. package/dist/server/beeswarm-chart.js +2 -1
  197. package/dist/server/beeswarm-chart.js.map +1 -1
  198. package/dist/server/box-plot-chart.js +2 -1
  199. package/dist/server/box-plot-chart.js.map +1 -1
  200. package/dist/server/bubble-chart.js +2 -1
  201. package/dist/server/bubble-chart.js.map +1 -1
  202. package/dist/server/bullet-chart.js +2 -1
  203. package/dist/server/bullet-chart.js.map +1 -1
  204. package/dist/server/bump-chart.js +2 -1
  205. package/dist/server/bump-chart.js.map +1 -1
  206. package/dist/server/candlestick-chart.js +2 -1
  207. package/dist/server/candlestick-chart.js.map +1 -1
  208. package/dist/server/chord-ring.js +2 -1
  209. package/dist/server/chord-ring.js.map +1 -1
  210. package/dist/server/composed-chart.js +2 -1
  211. package/dist/server/composed-chart.js.map +1 -1
  212. package/dist/server/connected-scatter-chart.js +2 -1
  213. package/dist/server/connected-scatter-chart.js.map +1 -1
  214. package/dist/server/contour-chart.js +2 -1
  215. package/dist/server/contour-chart.js.map +1 -1
  216. package/dist/server/coxcomb-chart.js +2 -1
  217. package/dist/server/coxcomb-chart.js.map +1 -1
  218. package/dist/server/dashboard.js +1 -1
  219. package/dist/server/delaunay-chart.js +2 -1
  220. package/dist/server/delaunay-chart.js.map +1 -1
  221. package/dist/server/density-bin-chart.js +2 -1
  222. package/dist/server/density-bin-chart.js.map +1 -1
  223. package/dist/server/diverging-bar-chart.js +2 -1
  224. package/dist/server/diverging-bar-chart.js.map +1 -1
  225. package/dist/server/donut-chart.js +2 -1
  226. package/dist/server/donut-chart.js.map +1 -1
  227. package/dist/server/dumbbell-chart.js +2 -1
  228. package/dist/server/dumbbell-chart.js.map +1 -1
  229. package/dist/server/ecdf-chart.js +2 -1
  230. package/dist/server/ecdf-chart.js.map +1 -1
  231. package/dist/server/error-bar-chart.js +2 -1
  232. package/dist/server/error-bar-chart.js.map +1 -1
  233. package/dist/server/funnel-chart.js +2 -1
  234. package/dist/server/funnel-chart.js.map +1 -1
  235. package/dist/server/gauge-arc.js +2 -1
  236. package/dist/server/gauge-arc.js.map +1 -1
  237. package/dist/server/heatmap-chart.js +2 -1
  238. package/dist/server/heatmap-chart.js.map +1 -1
  239. package/dist/server/histogram-chart.js +2 -1
  240. package/dist/server/histogram-chart.js.map +1 -1
  241. package/dist/server/interval-chart.js +2 -1
  242. package/dist/server/interval-chart.js.map +1 -1
  243. package/dist/server/kpi-card.js +2 -1
  244. package/dist/server/kpi-card.js.map +1 -1
  245. package/dist/server/line-chart.js +2 -1
  246. package/dist/server/line-chart.js.map +1 -1
  247. package/dist/server/lollipop-chart.js +2 -1
  248. package/dist/server/lollipop-chart.js.map +1 -1
  249. package/dist/server/marimekko-chart.js +2 -1
  250. package/dist/server/marimekko-chart.js.map +1 -1
  251. package/dist/server/meter-chart.js +2 -1
  252. package/dist/server/meter-chart.js.map +1 -1
  253. package/dist/server/network-chart.js +2 -1
  254. package/dist/server/network-chart.js.map +1 -1
  255. package/dist/server/orbit-chart.js +2 -1
  256. package/dist/server/orbit-chart.js.map +1 -1
  257. package/dist/server/parallel-coordinates-chart.js +2 -1
  258. package/dist/server/parallel-coordinates-chart.js.map +1 -1
  259. package/dist/server/polar-bar-chart.js +2 -1
  260. package/dist/server/polar-bar-chart.js.map +1 -1
  261. package/dist/server/polar-line-chart.js +2 -1
  262. package/dist/server/polar-line-chart.js.map +1 -1
  263. package/dist/server/polar-scatter-chart.js +2 -1
  264. package/dist/server/polar-scatter-chart.js.map +1 -1
  265. package/dist/server/pyramid-chart.js +2 -1
  266. package/dist/server/pyramid-chart.js.map +1 -1
  267. package/dist/server/radar-chart.js +2 -1
  268. package/dist/server/radar-chart.js.map +1 -1
  269. package/dist/server/radial-arc-group.js +2 -1
  270. package/dist/server/radial-arc-group.js.map +1 -1
  271. package/dist/server/radial-rings.js +2 -1
  272. package/dist/server/radial-rings.js.map +1 -1
  273. package/dist/server/range-band-chart.js +2 -1
  274. package/dist/server/range-band-chart.js.map +1 -1
  275. package/dist/server/ridgeline-chart.js +2 -1
  276. package/dist/server/ridgeline-chart.js.map +1 -1
  277. package/dist/server/sankey-chart.js +2 -1
  278. package/dist/server/sankey-chart.js.map +1 -1
  279. package/dist/server/scatter-chart.js +2 -1
  280. package/dist/server/scatter-chart.js.map +1 -1
  281. package/dist/server/slope-chart.js +2 -1
  282. package/dist/server/slope-chart.js.map +1 -1
  283. package/dist/server/sparkline-rows.js +2 -1
  284. package/dist/server/sparkline-rows.js.map +1 -1
  285. package/dist/server/squarified-treemap.js +2 -1
  286. package/dist/server/squarified-treemap.js.map +1 -1
  287. package/dist/server/stacked-bar-chart.js +2 -1
  288. package/dist/server/stacked-bar-chart.js.map +1 -1
  289. package/dist/server/step-chart.js +2 -1
  290. package/dist/server/step-chart.js.map +1 -1
  291. package/dist/server/stream-chart.js +2 -1
  292. package/dist/server/stream-chart.js.map +1 -1
  293. package/dist/server/sunburst-chart.js +2 -1
  294. package/dist/server/sunburst-chart.js.map +1 -1
  295. package/dist/server/tree-chart.js +2 -1
  296. package/dist/server/tree-chart.js.map +1 -1
  297. package/dist/server/treemap-chart.js +2 -1
  298. package/dist/server/treemap-chart.js.map +1 -1
  299. package/dist/server/ui/alert.js +2 -1
  300. package/dist/server/ui/alert.js.map +1 -1
  301. package/dist/server/ui/avatar.d.ts +18 -0
  302. package/dist/server/ui/avatar.js +18 -0
  303. package/dist/server/ui/avatar.js.map +1 -0
  304. package/dist/server/ui/badge.js +2 -1
  305. package/dist/server/ui/badge.js.map +1 -1
  306. package/dist/server/ui/breadcrumb.d.ts +12 -0
  307. package/dist/server/ui/breadcrumb.js +14 -0
  308. package/dist/server/ui/breadcrumb.js.map +1 -0
  309. package/dist/server/ui/card.js +2 -1
  310. package/dist/server/ui/card.js.map +1 -1
  311. package/dist/server/ui/descriptions.d.ts +12 -0
  312. package/dist/server/ui/descriptions.js +14 -0
  313. package/dist/server/ui/descriptions.js.map +1 -0
  314. package/dist/server/ui/divider.js +2 -1
  315. package/dist/server/ui/divider.js.map +1 -1
  316. package/dist/server/ui/empty.d.ts +14 -0
  317. package/dist/server/ui/empty.js +14 -0
  318. package/dist/server/ui/empty.js.map +1 -0
  319. package/dist/server/ui/glyph.d.ts +12 -0
  320. package/dist/server/ui/glyph.js +14 -0
  321. package/dist/server/ui/glyph.js.map +1 -0
  322. package/dist/server/ui/progress.js +2 -1
  323. package/dist/server/ui/progress.js.map +1 -1
  324. package/dist/server/ui/result.d.ts +14 -0
  325. package/dist/server/ui/result.js +14 -0
  326. package/dist/server/ui/result.js.map +1 -0
  327. package/dist/server/ui/skeleton.js +2 -1
  328. package/dist/server/ui/skeleton.js.map +1 -1
  329. package/dist/server/ui/statistic.d.ts +12 -0
  330. package/dist/server/ui/statistic.js +14 -0
  331. package/dist/server/ui/statistic.js.map +1 -0
  332. package/dist/server/ui/steps.js +2 -1
  333. package/dist/server/ui/steps.js.map +1 -1
  334. package/dist/server/ui/surface.d.ts +13 -0
  335. package/dist/server/ui/surface.js +14 -0
  336. package/dist/server/ui/surface.js.map +1 -0
  337. package/dist/server/ui/table.d.ts +14 -0
  338. package/dist/server/ui/table.js +14 -0
  339. package/dist/server/ui/table.js.map +1 -0
  340. package/dist/server/ui/tag.js +2 -1
  341. package/dist/server/ui/tag.js.map +1 -1
  342. package/dist/server/ui/timeline-list.d.ts +12 -0
  343. package/dist/server/ui/timeline-list.js +14 -0
  344. package/dist/server/ui/timeline-list.js.map +1 -0
  345. package/dist/server/vector-field-chart.js +2 -1
  346. package/dist/server/vector-field-chart.js.map +1 -1
  347. package/dist/server/violin-chart.js +2 -1
  348. package/dist/server/violin-chart.js.map +1 -1
  349. package/dist/server/volvelle-chart.js +2 -1
  350. package/dist/server/volvelle-chart.js.map +1 -1
  351. package/dist/server/waffle-chart.js +2 -1
  352. package/dist/server/waffle-chart.js.map +1 -1
  353. package/dist/server/waterfall-chart.js +2 -1
  354. package/dist/server/waterfall-chart.js.map +1 -1
  355. package/dist/server/wind-rose.js +2 -1
  356. package/dist/server/wind-rose.js.map +1 -1
  357. package/dist/slope-chart.js +3 -3
  358. package/dist/sparkline-rows.js +3 -3
  359. package/dist/squarified-treemap.js +4 -4
  360. package/dist/stacked-bar-chart.js +3 -3
  361. package/dist/step-chart.js +3 -3
  362. package/dist/stream-chart.js +3 -3
  363. package/dist/sunburst-chart.js +4 -4
  364. package/dist/timeline.d.ts +21 -0
  365. package/dist/timeline.js +36 -0
  366. package/dist/timeline.js.map +1 -0
  367. package/dist/tree-chart.js +3 -3
  368. package/dist/treemap-chart.js +3 -3
  369. package/dist/ui/alert.js +3 -3
  370. package/dist/ui/avatar.d.ts +17 -0
  371. package/dist/ui/avatar.js +12 -0
  372. package/dist/ui/avatar.js.map +1 -0
  373. package/dist/ui/badge.js +3 -3
  374. package/dist/ui/breadcrumb.d.ts +11 -0
  375. package/dist/ui/breadcrumb.js +10 -0
  376. package/dist/ui/breadcrumb.js.map +1 -0
  377. package/dist/ui/button.js +3 -3
  378. package/dist/ui/card.js +3 -3
  379. package/dist/ui/checkbox.js +3 -3
  380. package/dist/ui/collapse.d.ts +24 -0
  381. package/dist/ui/collapse.js +12 -0
  382. package/dist/ui/collapse.js.map +1 -0
  383. package/dist/ui/descriptions.d.ts +11 -0
  384. package/dist/ui/descriptions.js +10 -0
  385. package/dist/ui/descriptions.js.map +1 -0
  386. package/dist/ui/divider.js +3 -3
  387. package/dist/ui/drawer.d.ts +17 -0
  388. package/dist/ui/drawer.js +11 -0
  389. package/dist/ui/drawer.js.map +1 -0
  390. package/dist/ui/dropdown-menu.d.ts +20 -0
  391. package/dist/ui/dropdown-menu.js +12 -0
  392. package/dist/ui/dropdown-menu.js.map +1 -0
  393. package/dist/ui/empty.d.ts +13 -0
  394. package/dist/ui/empty.js +10 -0
  395. package/dist/ui/empty.js.map +1 -0
  396. package/dist/ui/glyph.d.ts +11 -0
  397. package/dist/ui/glyph.js +10 -0
  398. package/dist/ui/glyph.js.map +1 -0
  399. package/dist/ui/input-number.d.ts +20 -0
  400. package/dist/ui/input-number.js +10 -0
  401. package/dist/ui/input-number.js.map +1 -0
  402. package/dist/ui/input.js +3 -3
  403. package/dist/ui/modal.d.ts +17 -0
  404. package/dist/ui/modal.js +11 -0
  405. package/dist/ui/modal.js.map +1 -0
  406. package/dist/ui/pagination.d.ts +17 -0
  407. package/dist/ui/pagination.js +10 -0
  408. package/dist/ui/pagination.js.map +1 -0
  409. package/dist/ui/popover.d.ts +16 -0
  410. package/dist/ui/popover.js +11 -0
  411. package/dist/ui/popover.js.map +1 -0
  412. package/dist/ui/progress.js +3 -3
  413. package/dist/ui/radio-group.js +3 -3
  414. package/dist/ui/rate.js +3 -3
  415. package/dist/ui/result.d.ts +13 -0
  416. package/dist/ui/result.js +10 -0
  417. package/dist/ui/result.js.map +1 -0
  418. package/dist/ui/segmented.js +3 -3
  419. package/dist/ui/select.d.ts +21 -0
  420. package/dist/ui/select.js +12 -0
  421. package/dist/ui/select.js.map +1 -0
  422. package/dist/ui/skeleton.js +3 -3
  423. package/dist/ui/slider.js +3 -3
  424. package/dist/ui/statistic.d.ts +11 -0
  425. package/dist/ui/statistic.js +10 -0
  426. package/dist/ui/statistic.js.map +1 -0
  427. package/dist/ui/steps.js +3 -3
  428. package/dist/ui/surface.d.ts +12 -0
  429. package/dist/ui/surface.js +10 -0
  430. package/dist/ui/surface.js.map +1 -0
  431. package/dist/ui/switch.js +3 -3
  432. package/dist/ui/table.d.ts +13 -0
  433. package/dist/ui/table.js +10 -0
  434. package/dist/ui/table.js.map +1 -0
  435. package/dist/ui/tabs.js +3 -3
  436. package/dist/ui/tag.js +3 -3
  437. package/dist/ui/textarea.d.ts +16 -0
  438. package/dist/ui/textarea.js +10 -0
  439. package/dist/ui/textarea.js.map +1 -0
  440. package/dist/ui/timeline-list.d.ts +11 -0
  441. package/dist/ui/timeline-list.js +10 -0
  442. package/dist/ui/timeline-list.js.map +1 -0
  443. package/dist/ui/toast.d.ts +25 -0
  444. package/dist/ui/toast.js +13 -0
  445. package/dist/ui/toast.js.map +1 -0
  446. package/dist/ui/tooltip.d.ts +19 -0
  447. package/dist/ui/tooltip.js +11 -0
  448. package/dist/ui/tooltip.js.map +1 -0
  449. package/dist/ui.d.ts +23 -1
  450. package/dist/ui.js +112 -20
  451. package/dist/vector-field-chart.js +3 -3
  452. package/dist/violin-chart.js +3 -3
  453. package/dist/volvelle-chart.js +3 -3
  454. package/dist/waffle-chart.js +3 -3
  455. package/dist/waterfall-chart.js +3 -3
  456. package/dist/wind-rose.js +3 -3
  457. package/package.json +203 -4
  458. package/dist/chunk-46S63XYT.js.map +0 -1
  459. package/dist/chunk-DO4VUIUU.js.map +0 -1
  460. package/dist/chunk-FBJLA3P7.js.map +0 -1
  461. package/dist/chunk-OD6N2ATZ.js.map +0 -1
  462. package/dist/chunk-SQ6GWXDK.js.map +0 -1
  463. package/dist/chunk-ZBSCLF56.js.map +0 -1
  464. /package/dist/{chunk-WZZA2IGN.js.map → chunk-25BXOLN7.js.map} +0 -0
  465. /package/dist/{chunk-IHWEQR42.js.map → chunk-26PNMZ4N.js.map} +0 -0
  466. /package/dist/{chunk-5FYPFU6B.js.map → chunk-2HDGFK6O.js.map} +0 -0
  467. /package/dist/{chunk-I72JGA6Q.js.map → chunk-2NBHAILL.js.map} +0 -0
  468. /package/dist/{chunk-GUKXFITX.js.map → chunk-3MQJA564.js.map} +0 -0
  469. /package/dist/{chunk-LSA5XU52.js.map → chunk-3UD7DUEM.js.map} +0 -0
  470. /package/dist/{chunk-MC7N4KQA.js.map → chunk-45FUDQOF.js.map} +0 -0
  471. /package/dist/{chunk-FHX2HWN3.js.map → chunk-4QE7BQ7J.js.map} +0 -0
  472. /package/dist/{chunk-UC7ADKFU.js.map → chunk-5GNJS3Y3.js.map} +0 -0
  473. /package/dist/{chunk-T2IYBDCL.js.map → chunk-5HX2UUIR.js.map} +0 -0
  474. /package/dist/{chunk-SNWXRA2D.js.map → chunk-5KS4JD5W.js.map} +0 -0
  475. /package/dist/{chunk-Y4V5AZ32.js.map → chunk-5M4FS37X.js.map} +0 -0
  476. /package/dist/{chunk-KOWQNNTS.js.map → chunk-6BZ2752M.js.map} +0 -0
  477. /package/dist/{chunk-GSJYA76X.js.map → chunk-6Y2V7WIZ.js.map} +0 -0
  478. /package/dist/{chunk-JPTK2AAT.js.map → chunk-7SZATSRO.js.map} +0 -0
  479. /package/dist/{chunk-BJZOF2YZ.js.map → chunk-AKOPH5MK.js.map} +0 -0
  480. /package/dist/{chunk-5FKONGCL.js.map → chunk-ANAAYEMQ.js.map} +0 -0
  481. /package/dist/{chunk-MYKZWY2E.js.map → chunk-ANIMFO5C.js.map} +0 -0
  482. /package/dist/{chunk-CWFUPKSS.js.map → chunk-ARN5BO7U.js.map} +0 -0
  483. /package/dist/{chunk-6M4REUJE.js.map → chunk-B2TSWCF5.js.map} +0 -0
  484. /package/dist/{chunk-X2F56RYM.js.map → chunk-CAFLXUSL.js.map} +0 -0
  485. /package/dist/{chunk-G7C4CH54.js.map → chunk-CT2MHXSG.js.map} +0 -0
  486. /package/dist/{chunk-RMIIFPXA.js.map → chunk-D65O5YJZ.js.map} +0 -0
  487. /package/dist/{chunk-U3LT444G.js.map → chunk-DL3FIRSO.js.map} +0 -0
  488. /package/dist/{chunk-AEU6UHVG.js.map → chunk-DOFLNIRZ.js.map} +0 -0
  489. /package/dist/{chunk-NEOD2DSH.js.map → chunk-DXFQNNRN.js.map} +0 -0
  490. /package/dist/{chunk-FZ46YSJA.js.map → chunk-DXNSJNEQ.js.map} +0 -0
  491. /package/dist/{chunk-NWK6VBCJ.js.map → chunk-E6LPQWVM.js.map} +0 -0
  492. /package/dist/{chunk-KVOBNPDN.js.map → chunk-ELNPDHOC.js.map} +0 -0
  493. /package/dist/{chunk-YRRWP5HL.js.map → chunk-ENGG7T3F.js.map} +0 -0
  494. /package/dist/{chunk-ZOB6BH7H.js.map → chunk-EOMPQ2TX.js.map} +0 -0
  495. /package/dist/{chunk-RIGQTEKW.js.map → chunk-EPTFI4BT.js.map} +0 -0
  496. /package/dist/{chunk-M3MZMHGS.js.map → chunk-EX7AYOOW.js.map} +0 -0
  497. /package/dist/{chunk-OSDENB6W.js.map → chunk-F27PSDYP.js.map} +0 -0
  498. /package/dist/{chunk-DGZN27CF.js.map → chunk-F6H7NPSP.js.map} +0 -0
  499. /package/dist/{chunk-INHBSJZX.js.map → chunk-FI6FQRFE.js.map} +0 -0
  500. /package/dist/{chunk-ESFN6FJY.js.map → chunk-GEC5QL7C.js.map} +0 -0
  501. /package/dist/{chunk-CNRSQPRE.js.map → chunk-GU5HJU7M.js.map} +0 -0
  502. /package/dist/{chunk-WFO6BICV.js.map → chunk-HHQI7CLZ.js.map} +0 -0
  503. /package/dist/{chunk-PRVJKYEQ.js.map → chunk-IHIE2DK3.js.map} +0 -0
  504. /package/dist/{chunk-2JWLXUY5.js.map → chunk-INYDD4FD.js.map} +0 -0
  505. /package/dist/{chunk-3JXO2533.js.map → chunk-IQQMPYCN.js.map} +0 -0
  506. /package/dist/{chunk-4CDW7VWK.js.map → chunk-JIVM4CSU.js.map} +0 -0
  507. /package/dist/{chunk-MS5BH6TU.js.map → chunk-JMVH54WP.js.map} +0 -0
  508. /package/dist/{chunk-NWRCFNYB.js.map → chunk-JY6ZMAYT.js.map} +0 -0
  509. /package/dist/{chunk-6EFRIK7Q.js.map → chunk-K2JDM6SF.js.map} +0 -0
  510. /package/dist/{chunk-RAATAHXZ.js.map → chunk-KMNQTGBN.js.map} +0 -0
  511. /package/dist/{chunk-C3NHZ4N5.js.map → chunk-M4F272PN.js.map} +0 -0
  512. /package/dist/{chunk-OP2WE7MA.js.map → chunk-M5R4CNKU.js.map} +0 -0
  513. /package/dist/{chunk-R7AKJYNB.js.map → chunk-MEHYWMG7.js.map} +0 -0
  514. /package/dist/{chunk-VKNGQ4NW.js.map → chunk-MOO3XIC2.js.map} +0 -0
  515. /package/dist/{chunk-UOOHQAJU.js.map → chunk-NNHM6OWA.js.map} +0 -0
  516. /package/dist/{chunk-3U3Z5U6H.js.map → chunk-NUGUZMON.js.map} +0 -0
  517. /package/dist/{chunk-6P5Z6IRH.js.map → chunk-O2FNTA5U.js.map} +0 -0
  518. /package/dist/{chunk-7EH4NGBM.js.map → chunk-O4WI7LKM.js.map} +0 -0
  519. /package/dist/{chunk-XQTZOVFF.js.map → chunk-OB65KGYJ.js.map} +0 -0
  520. /package/dist/{chunk-TSQWTDBK.js.map → chunk-PXHT6PD5.js.map} +0 -0
  521. /package/dist/{chunk-QRYI7BEO.js.map → chunk-QEODW4IP.js.map} +0 -0
  522. /package/dist/{chunk-3BREGZ7C.js.map → chunk-QJLESIWB.js.map} +0 -0
  523. /package/dist/{chunk-WMU6O6KZ.js.map → chunk-QKBT4P5O.js.map} +0 -0
  524. /package/dist/{chunk-LPKOFXAA.js.map → chunk-QOQTPSPV.js.map} +0 -0
  525. /package/dist/{chunk-4DG5NJWM.js.map → chunk-QVCRJZMJ.js.map} +0 -0
  526. /package/dist/{chunk-6NXL245Z.js.map → chunk-S2A6EJSX.js.map} +0 -0
  527. /package/dist/{chunk-6S6VKQ3E.js.map → chunk-SZHYT257.js.map} +0 -0
  528. /package/dist/{chunk-JWCVL7VE.js.map → chunk-T52NYUKC.js.map} +0 -0
  529. /package/dist/{chunk-M56MDRNT.js.map → chunk-TTIRFQ2W.js.map} +0 -0
  530. /package/dist/{chunk-3WUPWJP2.js.map → chunk-TZGI7DMH.js.map} +0 -0
  531. /package/dist/{chunk-67FND3TB.js.map → chunk-UA3V7LBC.js.map} +0 -0
  532. /package/dist/{chunk-E7OSOGUT.js.map → chunk-VNVWUIVN.js.map} +0 -0
  533. /package/dist/{chunk-ART7CMBL.js.map → chunk-VQRXVACI.js.map} +0 -0
  534. /package/dist/{chunk-K4YKDPDJ.js.map → chunk-XOO5OQHZ.js.map} +0 -0
  535. /package/dist/{chunk-TH6Q4E7C.js.map → chunk-XZX2HZI7.js.map} +0 -0
  536. /package/dist/{chunk-DWXG7WLM.js.map → chunk-YHCAIRT3.js.map} +0 -0
  537. /package/dist/{chunk-L65CMJRG.js.map → chunk-YO2P3ALL.js.map} +0 -0
  538. /package/dist/{chunk-OAH7AEGE.js.map → chunk-YYI6AXAT.js.map} +0 -0
  539. /package/dist/{chunk-43AIURD6.js.map → chunk-ZLI7RM6W.js.map} +0 -0
  540. /package/dist/{chunk-NA6K372D.js.map → chunk-ZMZYJ6I7.js.map} +0 -0
  541. /package/dist/{chunk-J3E6IUUQ.js.map → chunk-ZVZMIGX4.js.map} +0 -0
package/README.md CHANGED
@@ -242,6 +242,125 @@ Each chart's own props (`xKey`, `valueKey`, `nameKey`…) are typed and document
242
242
  `*Props` type. The [repository](https://github.com/ecrespo/silverpoint) holds the API
243
243
  specification and the documentation site with the gallery.
244
244
 
245
+ ## The 38 UI components
246
+
247
+ Forms, navigation, data display and overlays, drawn in the same engraving language as the charts:
248
+ an exact frame, tone by hatching, and the keyboard and screen-reader semantics of the native element.
249
+ Import the UI stylesheet once, next to the ground's, and each component from
250
+ `@silverpoint/react/ui/<kebab-case-name>` (or the barrel `@silverpoint/react/ui`):
251
+
252
+ ```tsx
253
+ import '@silverpoint/grounds/styles.css';
254
+ import '@silverpoint/grounds/ui.css';
255
+ import { SpButton } from '@silverpoint/react/ui/button';
256
+ import { SpInput } from '@silverpoint/react/ui/input';
257
+ import { SpModal } from '@silverpoint/react/ui/modal';
258
+ import { SpTable } from '@silverpoint/react/ui/table';
259
+
260
+ const orders = [
261
+ { id: '1042', customer: 'Ada Lovelace', status: 'Shipped' },
262
+ { id: '1043', customer: 'Grace Hopper', status: 'Packed' },
263
+ ];
264
+
265
+ export function Orders() {
266
+ return (
267
+ <>
268
+ <SpInput label="Customer" defaultValue="Ada" />
269
+ <SpTable
270
+ caption="Orders"
271
+ rowKey="id"
272
+ columns={[{ key: 'id', title: 'Order' }, { key: 'customer', title: 'Customer' }, { key: 'status', title: 'Status' }]}
273
+ data={orders}
274
+ />
275
+ <SpModal title="Edit order" trigger={<button type="button">Edit order</button>}>
276
+ Changes reach the workshop before the order is packed.
277
+ <SpButton>Save</SpButton>
278
+ </SpModal>
279
+ </>
280
+ );
281
+ }
282
+ ```
283
+
284
+ A value binds as React does it: `value` with `onChange`, or `defaultValue` (`defaultChecked`) for an
285
+ uncontrolled one. Overlays take `open` with `onOpenChange`, or `defaultOpen`.
286
+
287
+ The form and display components (since `0.3.0`):
288
+
289
+ `SpButton`, `SpInput`, `SpCheckbox`, `SpRadioGroup`, `SpSwitch`, `SpSlider`, `SpRate`,
290
+ `SpSegmented`, `SpTabs`, `SpSteps`, `SpCard`, `SpTag`, `SpBadge`, `SpDivider`, `SpProgress`, `SpAlert`,
291
+ `SpSkeleton`.
292
+
293
+ Composed components (since `0.7.0`):
294
+
295
+ `SpSurface`, `SpGlyph`, `SpTable`, `SpPagination`, `SpBreadcrumb`, `SpAvatar`, `SpStatistic`,
296
+ `SpDescriptions`, `SpTimelineList`, `SpCollapse`, `SpEmpty`, `SpResult`, `SpTextarea`, `SpInputNumber`.
297
+
298
+ Overlays (since `0.7.0`), each opened by a trigger you write; toasts sit in an `SpToaster`:
299
+
300
+ `SpModal`, `SpDrawer`, `SpPopover`, `SpTooltip`, `SpSelect`, `SpDropdownMenu`, `SpToast`.
301
+
302
+ `SpTabs` holds `SpTabPanel`s, `SpCollapse` holds `SpCollapseItem`s and `SpAvatarGroup` holds `SpAvatar`s.
303
+ Every component takes `ground`, `substrate`, `mode`, `size`, `palette`, `id` and `className`.
304
+
305
+ ## Palettes
306
+
307
+ A palette recolours the ground: substrate, inks, rules, text and focus ring. Six presets ship on
308
+ `@silverpoint/core/palettes` (`silverpoint`, `sanguine`, `sepia`, `ironGall`, `verdigris`, `indigo`),
309
+ each computed for WCAG contrast; `checkPalette` checks one of yours the same way.
310
+
311
+ Your adapter already depends on `@silverpoint/core`; name it in your own dependencies to import
312
+ the presets (a strict package manager such as pnpm requires it):
313
+
314
+ ```sh
315
+ npm install @silverpoint/core
316
+ ```
317
+
318
+ ```tsx
319
+ import { sanguine } from '@silverpoint/core/palettes';
320
+ import { SilverpointProvider } from '@silverpoint/react';
321
+ import { LineChart } from '@silverpoint/react/line-chart';
322
+ import { SpCard } from '@silverpoint/react/ui/card';
323
+
324
+ export function Report() {
325
+ return (
326
+ <SilverpointProvider palette={sanguine}>
327
+ <LineChart title="Hits per hour" />
328
+ <SpCard title="Delivered this week">Every chart and component below draws in sanguine.</SpCard>
329
+ <LineChart title="One field changed" palette={{ ink: '#232C52' }} />
330
+ </SilverpointProvider>
331
+ );
332
+ }
333
+ ```
334
+
335
+ A nested provider or a `palette` prop overrides the outer palette field by field.
336
+
337
+ ## Timeline
338
+
339
+ `SpTimeline` draws a [TimelineJS](https://timeline.knightlab.com/) story in the ground's hand. TimelineJS is an
340
+ optional peer dependency: install it only if you use the timeline, and import its stylesheet before
341
+ the ground's.
342
+
343
+ ```sh
344
+ npm install @knight-lab/timelinejs
345
+ ```
346
+
347
+ ```tsx
348
+ import '@knight-lab/timelinejs/dist/css/timeline.css';
349
+ import '@silverpoint/grounds/timeline.css';
350
+ import { SpTimeline } from '@silverpoint/react/timeline';
351
+
352
+ const story = {
353
+ title: { text: { headline: 'Silverpoint', text: '<p>A line that cannot be erased.</p>' } },
354
+ events: [{ start_date: { year: 1400 }, text: { headline: "Cennini's handbook" } }],
355
+ };
356
+
357
+ export function History() {
358
+ return <SpTimeline data={story} height="560px" fallback={<p>The timeline could not be loaded.</p>} />;
359
+ }
360
+ ```
361
+
362
+ The server renders the surface and an empty mount; TimelineJS builds in the browser.
363
+
245
364
  ## Related packages
246
365
 
247
366
  [`@silverpoint/vue`](https://www.npmjs.com/package/@silverpoint/vue) ·
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  ActivityGrid
4
- } from "./chunk-6EFRIK7Q.js";
5
- import "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-K2JDM6SF.js";
5
+ import "./chunk-QRQ4RFCB.js";
6
6
  import "./chunk-4GQ5X2WK.js";
7
- import "./chunk-SQ6GWXDK.js";
7
+ import "./chunk-M2NKE3GQ.js";
8
8
  export {
9
9
  ActivityGrid
10
10
  };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  AreaChart
4
- } from "./chunk-U3LT444G.js";
5
- import "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-DL3FIRSO.js";
5
+ import "./chunk-QRQ4RFCB.js";
6
6
  import "./chunk-4GQ5X2WK.js";
7
- import "./chunk-SQ6GWXDK.js";
7
+ import "./chunk-M2NKE3GQ.js";
8
8
  export {
9
9
  AreaChart
10
10
  };
package/dist/bar-chart.js CHANGED
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  BarChart
4
- } from "./chunk-JPTK2AAT.js";
5
- import "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-7SZATSRO.js";
5
+ import "./chunk-QRQ4RFCB.js";
6
6
  import "./chunk-4GQ5X2WK.js";
7
- import "./chunk-SQ6GWXDK.js";
7
+ import "./chunk-M2NKE3GQ.js";
8
8
  export {
9
9
  BarChart
10
10
  };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  BeeswarmChart
4
- } from "./chunk-Y4V5AZ32.js";
5
- import "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-5M4FS37X.js";
5
+ import "./chunk-QRQ4RFCB.js";
6
6
  import "./chunk-4GQ5X2WK.js";
7
- import "./chunk-SQ6GWXDK.js";
7
+ import "./chunk-M2NKE3GQ.js";
8
8
  export {
9
9
  BeeswarmChart
10
10
  };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  BoxPlotChart
4
- } from "./chunk-KOWQNNTS.js";
5
- import "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-6BZ2752M.js";
5
+ import "./chunk-QRQ4RFCB.js";
6
6
  import "./chunk-4GQ5X2WK.js";
7
- import "./chunk-SQ6GWXDK.js";
7
+ import "./chunk-M2NKE3GQ.js";
8
8
  export {
9
9
  BoxPlotChart
10
10
  };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  BubbleChart
4
- } from "./chunk-3BREGZ7C.js";
5
- import "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-QJLESIWB.js";
5
+ import "./chunk-QRQ4RFCB.js";
6
6
  import "./chunk-4GQ5X2WK.js";
7
- import "./chunk-SQ6GWXDK.js";
7
+ import "./chunk-M2NKE3GQ.js";
8
8
  export {
9
9
  BubbleChart
10
10
  };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  BulletChart
4
- } from "./chunk-6S6VKQ3E.js";
5
- import "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-SZHYT257.js";
5
+ import "./chunk-QRQ4RFCB.js";
6
6
  import "./chunk-4GQ5X2WK.js";
7
- import "./chunk-SQ6GWXDK.js";
7
+ import "./chunk-M2NKE3GQ.js";
8
8
  export {
9
9
  BulletChart
10
10
  };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  BumpChart
4
- } from "./chunk-5FYPFU6B.js";
5
- import "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-2HDGFK6O.js";
5
+ import "./chunk-QRQ4RFCB.js";
6
6
  import "./chunk-4GQ5X2WK.js";
7
- import "./chunk-SQ6GWXDK.js";
7
+ import "./chunk-M2NKE3GQ.js";
8
8
  export {
9
9
  BumpChart
10
10
  };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  CandlestickChart
4
- } from "./chunk-KVOBNPDN.js";
5
- import "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-ELNPDHOC.js";
5
+ import "./chunk-QRQ4RFCB.js";
6
6
  import "./chunk-4GQ5X2WK.js";
7
- import "./chunk-SQ6GWXDK.js";
7
+ import "./chunk-M2NKE3GQ.js";
8
8
  export {
9
9
  CandlestickChart
10
10
  };
@@ -1,10 +1,10 @@
1
1
  'use client';
2
2
  import {
3
3
  ChordRing
4
- } from "./chunk-X2F56RYM.js";
5
- import "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-CAFLXUSL.js";
5
+ import "./chunk-QRQ4RFCB.js";
6
6
  import "./chunk-4GQ5X2WK.js";
7
- import "./chunk-SQ6GWXDK.js";
7
+ import "./chunk-M2NKE3GQ.js";
8
8
  export {
9
9
  ChordRing
10
10
  };
@@ -3,7 +3,7 @@ import {
3
3
  renderUi,
4
4
  useUi,
5
5
  useValue
6
- } from "./chunk-DO4VUIUU.js";
6
+ } from "./chunk-DX6FUHGB.js";
7
7
 
8
8
  // src/ui/checkbox.tsx
9
9
  import { uiCheckboxView } from "@silverpoint/core/ui";
@@ -41,4 +41,4 @@ var SpCheckbox = forwardRef(function SpCheckbox2({ checked, defaultChecked, onCh
41
41
  export {
42
42
  SpCheckbox
43
43
  };
44
- //# sourceMappingURL=chunk-WZZA2IGN.js.map
44
+ //# sourceMappingURL=chunk-25BXOLN7.js.map
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  createClientChart
4
- } from "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-QRQ4RFCB.js";
5
5
 
6
6
  // src/density-bin-chart.tsx
7
7
  import { densityBinChart } from "@silverpoint/core/catalog";
@@ -10,4 +10,4 @@ var DensityBinChart = createClientChart(densityBinChart);
10
10
  export {
11
11
  DensityBinChart
12
12
  };
13
- //# sourceMappingURL=chunk-IHWEQR42.js.map
13
+ //# sourceMappingURL=chunk-26PNMZ4N.js.map
@@ -0,0 +1,56 @@
1
+ 'use client';
2
+ import {
3
+ useListKeys
4
+ } from "./chunk-3ZO7VEHS.js";
5
+ import {
6
+ useOpen,
7
+ useOverlay
8
+ } from "./chunk-G3PPUBI5.js";
9
+ import {
10
+ renderUi,
11
+ useUi,
12
+ useValue
13
+ } from "./chunk-DX6FUHGB.js";
14
+
15
+ // src/ui/select.tsx
16
+ import { uiSelectedKey, uiSelectItems, uiSelectView } from "@silverpoint/core/ui";
17
+ import { forwardRef, useImperativeHandle, useRef } from "react";
18
+ var SpSelect = forwardRef(function SpSelect2({ value, defaultValue, onChange, open, defaultOpen, onOpenChange, dashboardCell, ...props }, forwarded) {
19
+ const [chosen, choose] = useValue(value, defaultValue ?? null, onChange);
20
+ const [isOpen, setOpen] = useOpen({ open, defaultOpen, onOpenChange });
21
+ const popover = useRef(null);
22
+ const trigger = useRef(null);
23
+ useImperativeHandle(forwarded, () => trigger.current, []);
24
+ useOverlay(popover, "popover", isOpen, setOpen, { place: { side: "bottom", align: "start" } });
25
+ const items = uiSelectItems(props.items);
26
+ const selected = uiSelectedKey(items, chosen, "none");
27
+ const list = useListKeys(items, "listbox", isOpen, items.findIndex((item) => item.key === selected));
28
+ const view = uiSelectView(props, useUi(props, dashboardCell), { value: chosen, open: isOpen, active: list.activeKey });
29
+ const close = () => setOpen(false);
30
+ const select = (key) => {
31
+ if (key !== void 0 && key !== chosen) choose(key);
32
+ close();
33
+ };
34
+ const onKeyDown = (event) => {
35
+ const result = list.key(event);
36
+ if (!result) return;
37
+ if (result.intent === "open") setOpen(true);
38
+ else if (result.intent === "close") close();
39
+ else if (result.intent === "select") select(result.key);
40
+ };
41
+ const bound = {
42
+ trigger: () => ({ ref: trigger, onKeyDown, onKeyUp: list.keyUp, onClick: () => isOpen ? close() : setOpen(true) }),
43
+ popover: () => ({ ref: popover }),
44
+ option: (node) => ({
45
+ // The trigger keeps focus: the option is pointed at, never focused.
46
+ onPointerDown: (event) => event.preventDefault(),
47
+ onClick: () => node.attrs["aria-disabled"] !== "true" && select(node.attrs["data-key"])
48
+ })
49
+ };
50
+ return renderUi(view, { bound });
51
+ });
52
+
53
+ export {
54
+ SpSelect
55
+ };
56
+ //# sourceMappingURL=chunk-27ILYIHO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/select.tsx"],"sourcesContent":["import { uiSelectedKey, uiSelectItems, uiSelectView, type SpSelectProps as CoreProps, type UiElement } from '@silverpoint/core/ui';\nimport { forwardRef, useImperativeHandle, useRef, type KeyboardEvent, type ReactElement } from 'react';\nimport { useUi, useValue, type UiCellProps } from './base';\nimport { useOpen, useOverlay, type OverlayOpenProps } from './overlay';\nimport { useListKeys } from './list';\nimport { renderUi } from './render';\n\nexport interface SpSelectProps extends CoreProps, OverlayOpenProps, UiCellProps {\n /** Controlled key; `null` is none chosen. */\n readonly value?: string | null;\n readonly defaultValue?: string | null;\n /** The key chosen, not the DOM event (REQ-322). */\n readonly onChange?: (value: string) => void;\n}\n\n/**\n * `SpSelect`: the APG select-only combobox (REQ-494, DD-039). Focus stays on the trigger, which\n * points at the active option; every key goes through `uiListKey` and `uiTypeahead`. Its ref is the\n * trigger.\n */\nexport const SpSelect = forwardRef<HTMLButtonElement, SpSelectProps>(function SpSelect({ value, defaultValue, onChange, open, defaultOpen, onOpenChange, dashboardCell, ...props }, forwarded) {\n const [chosen, choose] = useValue<string | null>(value, defaultValue ?? null, onChange as (next: string | null) => void);\n const [isOpen, setOpen] = useOpen({ open, defaultOpen, onOpenChange });\n const popover = useRef<HTMLDivElement>(null);\n const trigger = useRef<HTMLButtonElement>(null);\n useImperativeHandle(forwarded, () => trigger.current!, []);\n useOverlay(popover, 'popover', isOpen, setOpen, { place: { side: 'bottom', align: 'start' } });\n\n const items = uiSelectItems(props.items);\n const selected = uiSelectedKey(items, chosen, 'none');\n const list = useListKeys(items, 'listbox', isOpen, items.findIndex((item) => item.key === selected));\n const view = uiSelectView(props, useUi(props, dashboardCell), { value: chosen, open: isOpen, active: list.activeKey });\n\n const close = () => setOpen(false);\n const select = (key: string | undefined) => {\n if (key !== undefined && key !== chosen) choose(key);\n close();\n };\n const onKeyDown = (event: KeyboardEvent) => {\n const result = list.key(event);\n if (!result) return;\n if (result.intent === 'open') setOpen(true);\n else if (result.intent === 'close') close();\n else if (result.intent === 'select') select(result.key);\n };\n const bound = {\n trigger: () => ({ ref: trigger, onKeyDown, onKeyUp: list.keyUp, onClick: () => (isOpen ? close() : setOpen(true)) }),\n popover: () => ({ ref: popover }),\n option: (node: UiElement) => ({\n // The trigger keeps focus: the option is pointed at, never focused.\n onPointerDown: (event: { preventDefault(): void }) => event.preventDefault(),\n onClick: () => node.attrs['aria-disabled'] !== 'true' && select(node.attrs['data-key'] as string),\n }),\n };\n return renderUi(view, { bound }) as ReactElement;\n});\n\n"],"mappings":";;;;;;;;;;;;;;;AAAA,SAAS,eAAe,eAAe,oBAAqE;AAC5G,SAAS,YAAY,qBAAqB,cAAqD;AAmBxF,IAAM,WAAW,WAA6C,SAASA,UAAS,EAAE,OAAO,cAAc,UAAU,MAAM,aAAa,cAAc,eAAe,GAAG,MAAM,GAAG,WAAW;AAC7L,QAAM,CAAC,QAAQ,MAAM,IAAI,SAAwB,OAAO,gBAAgB,MAAM,QAAyC;AACvH,QAAM,CAAC,QAAQ,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,aAAa,CAAC;AACrE,QAAM,UAAU,OAAuB,IAAI;AAC3C,QAAM,UAAU,OAA0B,IAAI;AAC9C,sBAAoB,WAAW,MAAM,QAAQ,SAAU,CAAC,CAAC;AACzD,aAAW,SAAS,WAAW,QAAQ,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,OAAO,QAAQ,EAAE,CAAC;AAE7F,QAAM,QAAQ,cAAc,MAAM,KAAK;AACvC,QAAM,WAAW,cAAc,OAAO,QAAQ,MAAM;AACpD,QAAM,OAAO,YAAY,OAAO,WAAW,QAAQ,MAAM,UAAU,CAAC,SAAS,KAAK,QAAQ,QAAQ,CAAC;AACnG,QAAM,OAAO,aAAa,OAAO,MAAM,OAAO,aAAa,GAAG,EAAE,OAAO,QAAQ,MAAM,QAAQ,QAAQ,KAAK,UAAU,CAAC;AAErH,QAAM,QAAQ,MAAM,QAAQ,KAAK;AACjC,QAAM,SAAS,CAAC,QAA4B;AAC1C,QAAI,QAAQ,UAAa,QAAQ,OAAQ,QAAO,GAAG;AACnD,UAAM;AAAA,EACR;AACA,QAAM,YAAY,CAAC,UAAyB;AAC1C,UAAM,SAAS,KAAK,IAAI,KAAK;AAC7B,QAAI,CAAC,OAAQ;AACb,QAAI,OAAO,WAAW,OAAQ,SAAQ,IAAI;AAAA,aACjC,OAAO,WAAW,QAAS,OAAM;AAAA,aACjC,OAAO,WAAW,SAAU,QAAO,OAAO,GAAG;AAAA,EACxD;AACA,QAAM,QAAQ;AAAA,IACZ,SAAS,OAAO,EAAE,KAAK,SAAS,WAAW,SAAS,KAAK,OAAO,SAAS,MAAO,SAAS,MAAM,IAAI,QAAQ,IAAI,EAAG;AAAA,IAClH,SAAS,OAAO,EAAE,KAAK,QAAQ;AAAA,IAC/B,QAAQ,CAAC,UAAqB;AAAA;AAAA,MAE5B,eAAe,CAAC,UAAsC,MAAM,eAAe;AAAA,MAC3E,SAAS,MAAM,KAAK,MAAM,eAAe,MAAM,UAAU,OAAO,KAAK,MAAM,UAAU,CAAW;AAAA,IAClG;AAAA,EACF;AACA,SAAO,SAAS,MAAM,EAAE,MAAM,CAAC;AACjC,CAAC;","names":["SpSelect"]}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  createClientChart
4
- } from "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-QRQ4RFCB.js";
5
5
 
6
6
  // src/bump-chart.tsx
7
7
  import { bumpChart } from "@silverpoint/core/catalog";
@@ -10,4 +10,4 @@ var BumpChart = createClientChart(bumpChart);
10
10
  export {
11
11
  BumpChart
12
12
  };
13
- //# sourceMappingURL=chunk-5FYPFU6B.js.map
13
+ //# sourceMappingURL=chunk-2HDGFK6O.js.map
@@ -0,0 +1,32 @@
1
+ 'use client';
2
+ import {
3
+ useOpen,
4
+ useOverlay,
5
+ useTrigger
6
+ } from "./chunk-G3PPUBI5.js";
7
+ import {
8
+ renderUi,
9
+ useUi
10
+ } from "./chunk-DX6FUHGB.js";
11
+
12
+ // src/ui/drawer.tsx
13
+ import { uiDrawerView } from "@silverpoint/core/ui";
14
+ import { forwardRef, useImperativeHandle, useRef } from "react";
15
+ import { Fragment, jsxs } from "react/jsx-runtime";
16
+ var SpDrawer = forwardRef(function SpDrawer2({ trigger, children, footer, open, defaultOpen, onOpenChange, dashboardCell, ...props }, forwarded) {
17
+ const [isOpen, set, latest] = useOpen({ open, defaultOpen, onOpenChange });
18
+ const ref = useRef(null);
19
+ useImperativeHandle(forwarded, () => ref.current, []);
20
+ useOverlay(ref, props.modal === false ? "dialog" : "modal", isOpen, set, { dismissible: props.dismissible });
21
+ const view = uiDrawerView(props, useUi(props, dashboardCell), { open: isOpen }, { footer: footer != null });
22
+ const dialog = renderUi(view, { root: { ref }, close: { onClick: () => set(false) }, slots: { content: children, footer } });
23
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
24
+ useTrigger(trigger, "dialog", props.id, latest, set),
25
+ dialog
26
+ ] });
27
+ });
28
+
29
+ export {
30
+ SpDrawer
31
+ };
32
+ //# sourceMappingURL=chunk-2JLWAB4R.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/drawer.tsx"],"sourcesContent":["import { uiDrawerView, type SpDrawerProps as CoreProps } from '@silverpoint/core/ui';\nimport { forwardRef, useImperativeHandle, useRef, type ReactElement, type ReactNode } from 'react';\nimport { useUi, type UiCellProps } from './base';\nimport { useOpen, useOverlay, useTrigger, type OverlayOpenProps } from './overlay';\nimport { renderUi } from './render';\n\nexport interface SpDrawerProps extends CoreProps, OverlayOpenProps, UiCellProps {\n /** The element that opens it, cloned with `aria-haspopup`, `aria-expanded` and `aria-controls`. */\n readonly trigger?: ReactElement;\n readonly children?: ReactNode;\n readonly footer?: ReactNode;\n}\n\n/** `SpDrawer`: the Modal's dialog on a logical side; `modal: false` opens it with `show()` (REQ-491). */\nexport const SpDrawer = forwardRef<HTMLDialogElement, SpDrawerProps>(function SpDrawer({ trigger, children, footer, open, defaultOpen, onOpenChange, dashboardCell, ...props }, forwarded) {\n const [isOpen, set, latest] = useOpen({ open, defaultOpen, onOpenChange });\n const ref = useRef<HTMLDialogElement>(null);\n useImperativeHandle(forwarded, () => ref.current!, []);\n useOverlay(ref, props.modal === false ? 'dialog' : 'modal', isOpen, set, { dismissible: props.dismissible });\n const view = uiDrawerView(props, useUi(props, dashboardCell), { open: isOpen }, { footer: footer != null });\n const dialog = renderUi(view, { root: { ref }, close: { onClick: () => set(false) }, slots: { content: children, footer } });\n return (\n <>\n {useTrigger(trigger, 'dialog', props.id, latest, set)}\n {dialog}\n </>\n );\n});\n"],"mappings":";;;;;;;;;;;;AAAA,SAAS,oBAAqD;AAC9D,SAAS,YAAY,qBAAqB,cAAiD;AAqBvF;AARG,IAAM,WAAW,WAA6C,SAASA,UAAS,EAAE,SAAS,UAAU,QAAQ,MAAM,aAAa,cAAc,eAAe,GAAG,MAAM,GAAG,WAAW;AACzL,QAAM,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,EAAE,MAAM,aAAa,aAAa,CAAC;AACzE,QAAM,MAAM,OAA0B,IAAI;AAC1C,sBAAoB,WAAW,MAAM,IAAI,SAAU,CAAC,CAAC;AACrD,aAAW,KAAK,MAAM,UAAU,QAAQ,WAAW,SAAS,QAAQ,KAAK,EAAE,aAAa,MAAM,YAAY,CAAC;AAC3G,QAAM,OAAO,aAAa,OAAO,MAAM,OAAO,aAAa,GAAG,EAAE,MAAM,OAAO,GAAG,EAAE,QAAQ,UAAU,KAAK,CAAC;AAC1G,QAAM,SAAS,SAAS,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,OAAO,EAAE,SAAS,MAAM,IAAI,KAAK,EAAE,GAAG,OAAO,EAAE,SAAS,UAAU,OAAO,EAAE,CAAC;AAC3H,SACE,iCACG;AAAA,eAAW,SAAS,UAAU,MAAM,IAAI,QAAQ,GAAG;AAAA,IACnD;AAAA,KACH;AAEJ,CAAC;","names":["SpDrawer"]}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  createClientChart
4
- } from "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-QRQ4RFCB.js";
5
5
 
6
6
  // src/volvelle-chart.tsx
7
7
  import { volvelleChart } from "@silverpoint/core";
@@ -10,4 +10,4 @@ var VolvelleChart = createClientChart(volvelleChart);
10
10
  export {
11
11
  VolvelleChart
12
12
  };
13
- //# sourceMappingURL=chunk-I72JGA6Q.js.map
13
+ //# sourceMappingURL=chunk-2NBHAILL.js.map
@@ -0,0 +1,39 @@
1
+ 'use client';
2
+ import {
3
+ renderUi,
4
+ useUi,
5
+ useValue
6
+ } from "./chunk-DX6FUHGB.js";
7
+
8
+ // src/ui/input-number.tsx
9
+ import { uiInputNumberView, uiNumberStep, uiNumberValue } from "@silverpoint/core/ui";
10
+ import { forwardRef, useState } from "react";
11
+ var SpInputNumber = forwardRef(function SpInputNumber2({ value, defaultValue, onChange, dashboardCell, ...props }, ref) {
12
+ const [current, set] = useValue(value, defaultValue ?? null, onChange);
13
+ const [draft, setDraft] = useState(null);
14
+ const view = uiInputNumberView(props, useUi(props, dashboardCell), { value: current });
15
+ const commit = () => {
16
+ if (draft === null) return;
17
+ setDraft(null);
18
+ set(draft.trim() === "" ? null : uiNumberValue(Number(draft), props).value);
19
+ };
20
+ const native = (node) => ({
21
+ ref,
22
+ value: draft ?? node.attrs.value,
23
+ onChange: (event) => setDraft(event.target.value),
24
+ onBlur: commit,
25
+ onKeyDown: (event) => event.key === "Enter" && commit()
26
+ });
27
+ const stepper = (node) => ({
28
+ onClick: () => {
29
+ setDraft(null);
30
+ set(uiNumberStep(current, node.attrs["data-step"] === "1" ? 1 : -1, props));
31
+ }
32
+ });
33
+ return renderUi(view, { native, bound: { stepper } });
34
+ });
35
+
36
+ export {
37
+ SpInputNumber
38
+ };
39
+ //# sourceMappingURL=chunk-2TDJIHGW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/input-number.tsx"],"sourcesContent":["import { uiInputNumberView, uiNumberStep, uiNumberValue, type SpInputNumberProps as CoreProps, type UiElement } from '@silverpoint/core/ui';\nimport { forwardRef, useState, type ChangeEvent, type KeyboardEvent, type ReactElement } from 'react';\nimport { useUi, useValue, type UiCellProps } from './base';\nimport { renderUi } from './render';\n\nexport interface SpInputNumberProps extends CoreProps, UiCellProps {\n /** Controlled value; `null` is an empty field. */\n readonly value?: number | null;\n readonly defaultValue?: number | null;\n /** The committed value, clamped and rounded by the core; `null` when emptied (REQ-485). */\n readonly onChange?: (value: number | null) => void;\n}\n\n/**\n * `SpInputNumber`: a native number input between exact steppers (REQ-485, REQ-488). What is typed\n * is held as text until committed (blur or Enter), so a bound never interrupts typing; the\n * committed value is the core's `uiNumberValue`, a stepper's the core's `uiNumberStep`.\n */\nexport const SpInputNumber = forwardRef<HTMLInputElement, SpInputNumberProps>(function SpInputNumber({ value, defaultValue, onChange, dashboardCell, ...props }, ref) {\n const [current, set] = useValue(value, defaultValue ?? null, onChange);\n const [draft, setDraft] = useState<string | null>(null);\n const view = uiInputNumberView(props, useUi(props, dashboardCell), { value: current });\n const commit = () => {\n if (draft === null) return;\n setDraft(null);\n set(draft.trim() === '' ? null : uiNumberValue(Number(draft), props).value);\n };\n const native = (node: UiElement) => ({\n ref,\n value: draft ?? node.attrs.value,\n onChange: (event: ChangeEvent<HTMLInputElement>) => setDraft(event.target.value),\n onBlur: commit,\n onKeyDown: (event: KeyboardEvent) => event.key === 'Enter' && commit(),\n });\n const stepper = (node: UiElement) => ({\n onClick: () => {\n setDraft(null);\n set(uiNumberStep(current, node.attrs['data-step'] === '1' ? 1 : -1, props));\n },\n });\n return renderUi(view, { native, bound: { stepper } }) as ReactElement;\n});\n"],"mappings":";;;;;;;;AAAA,SAAS,mBAAmB,cAAc,qBAA2E;AACrH,SAAS,YAAY,gBAAyE;AAiBvF,IAAM,gBAAgB,WAAiD,SAASA,eAAc,EAAE,OAAO,cAAc,UAAU,eAAe,GAAG,MAAM,GAAG,KAAK;AACpK,QAAM,CAAC,SAAS,GAAG,IAAI,SAAS,OAAO,gBAAgB,MAAM,QAAQ;AACrE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAwB,IAAI;AACtD,QAAM,OAAO,kBAAkB,OAAO,MAAM,OAAO,aAAa,GAAG,EAAE,OAAO,QAAQ,CAAC;AACrF,QAAM,SAAS,MAAM;AACnB,QAAI,UAAU,KAAM;AACpB,aAAS,IAAI;AACb,QAAI,MAAM,KAAK,MAAM,KAAK,OAAO,cAAc,OAAO,KAAK,GAAG,KAAK,EAAE,KAAK;AAAA,EAC5E;AACA,QAAM,SAAS,CAAC,UAAqB;AAAA,IACnC;AAAA,IACA,OAAO,SAAS,KAAK,MAAM;AAAA,IAC3B,UAAU,CAAC,UAAyC,SAAS,MAAM,OAAO,KAAK;AAAA,IAC/E,QAAQ;AAAA,IACR,WAAW,CAAC,UAAyB,MAAM,QAAQ,WAAW,OAAO;AAAA,EACvE;AACA,QAAM,UAAU,CAAC,UAAqB;AAAA,IACpC,SAAS,MAAM;AACb,eAAS,IAAI;AACb,UAAI,aAAa,SAAS,KAAK,MAAM,WAAW,MAAM,MAAM,IAAI,IAAI,KAAK,CAAC;AAAA,IAC5E;AAAA,EACF;AACA,SAAO,SAAS,MAAM,EAAE,QAAQ,OAAO,EAAE,QAAQ,EAAE,CAAC;AACtD,CAAC;","names":["SpInputNumber"]}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  createClientChart
4
- } from "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-QRQ4RFCB.js";
5
5
 
6
6
  // src/scatter-chart.tsx
7
7
  import { scatterChart } from "@silverpoint/core";
@@ -10,4 +10,4 @@ var ScatterChart = createClientChart(scatterChart);
10
10
  export {
11
11
  ScatterChart
12
12
  };
13
- //# sourceMappingURL=chunk-GUKXFITX.js.map
13
+ //# sourceMappingURL=chunk-3MQJA564.js.map
@@ -3,7 +3,7 @@ import {
3
3
  renderUi,
4
4
  textOf,
5
5
  useUi
6
- } from "./chunk-DO4VUIUU.js";
6
+ } from "./chunk-DX6FUHGB.js";
7
7
 
8
8
  // src/ui/tag.tsx
9
9
  import { uiTagView } from "@silverpoint/core/ui";
@@ -15,4 +15,4 @@ function SpTag({ children, onClose, dashboardCell, ...props }) {
15
15
  export {
16
16
  SpTag
17
17
  };
18
- //# sourceMappingURL=chunk-LSA5XU52.js.map
18
+ //# sourceMappingURL=chunk-3UD7DUEM.js.map
@@ -0,0 +1,59 @@
1
+ 'use client';
2
+
3
+ // src/ui/list.ts
4
+ import { uiListKey, uiTypeahead } from "@silverpoint/core/ui";
5
+ import { useEffect, useRef, useState } from "react";
6
+ var HANDLED = /* @__PURE__ */ new Set(["ArrowDown", "ArrowUp", "Home", "End", "PageDown", "PageUp", "Enter", " ", "Escape"]);
7
+ var TYPEAHEAD_RESET = 500;
8
+ function useListKeys(items, kind, open, from) {
9
+ const [active, setActive] = useState(null);
10
+ const [wasOpen, setWasOpen] = useState(open);
11
+ if (open !== wasOpen) {
12
+ setWasOpen(open);
13
+ if (!open) setActive(null);
14
+ }
15
+ const buffer = useRef("");
16
+ const timer = useRef(void 0);
17
+ useEffect(() => () => clearTimeout(timer.current), []);
18
+ const disabled = items.map((item) => item.disabled === true);
19
+ const count = items.length;
20
+ const opening = uiListKey({ active: from, count, disabled, open: false }, "Enter", kind).active;
21
+ const shown = open ? active ?? opening : -1;
22
+ const step = (index, intent) => {
23
+ setActive(index);
24
+ return { intent, key: items[index]?.key };
25
+ };
26
+ return {
27
+ activeKey: items[shown]?.key ?? null,
28
+ key(event) {
29
+ const current = open ? shown : from;
30
+ const typed = event.key;
31
+ if (typed.length === 1 && (typed !== " " || buffer.current !== "")) {
32
+ event.preventDefault();
33
+ buffer.current += typed;
34
+ clearTimeout(timer.current);
35
+ timer.current = setTimeout(() => buffer.current = "", TYPEAHEAD_RESET);
36
+ const found = uiTypeahead(
37
+ items.map((item) => item.label),
38
+ disabled,
39
+ buffer.current,
40
+ current
41
+ );
42
+ return found < 0 ? {} : step(found, open ? void 0 : "open");
43
+ }
44
+ if (HANDLED.has(typed)) event.preventDefault();
45
+ const result = uiListKey({ active: current, count, disabled, open }, typed, kind);
46
+ if (result.intent === void 0 && result.active === current) return HANDLED.has(typed) ? {} : void 0;
47
+ return step(result.active, result.intent);
48
+ },
49
+ keyUp(event) {
50
+ if (event.key === " ") event.preventDefault();
51
+ },
52
+ activate: setActive
53
+ };
54
+ }
55
+
56
+ export {
57
+ useListKeys
58
+ };
59
+ //# sourceMappingURL=chunk-3ZO7VEHS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/list.ts"],"sourcesContent":["import { uiListKey, uiTypeahead, type UiItem } from '@silverpoint/core/ui';\nimport { useEffect, useRef, useState, type KeyboardEvent } from 'react';\n\n/** Keys a list overlay answers; their default (scrolling, a button's click) is cancelled. */\nconst HANDLED: ReadonlySet<string> = new Set(['ArrowDown', 'ArrowUp', 'Home', 'End', 'PageDown', 'PageUp', 'Enter', ' ', 'Escape']);\n/** The typeahead buffer clears this long after the last key, ms (DD-039). */\nconst TYPEAHEAD_RESET = 500;\n\nexport interface ListStep {\n readonly intent?: 'open' | 'close' | 'select';\n /** The active item's key after the step. */\n readonly key?: string;\n}\n\nexport interface ListKeys {\n /** The active item of the open list; `null` when it is closed. */\n readonly activeKey: string | null;\n /** One key through `uiListKey`, or a character through `uiTypeahead`; `undefined` when the list does not answer it. */\n key(event: KeyboardEvent): ListStep | undefined;\n /** Cancels a Space's keyup, so no click follows the key that already acted. */\n keyUp(event: KeyboardEvent): void;\n /** Makes an item active: a list opened by a click starts on its first. */\n activate(index: number): void;\n}\n\n/**\n * The keyboard of a Select or a Menu (REQ-494, REQ-495, DD-039): the active item and the typeahead\n * buffer; every transition is the core's. The list opens on `from` (the chosen option) or its first\n * enabled item, as `uiListKey` says, and forgets its active item when it closes.\n */\nexport function useListKeys(items: readonly UiItem[], kind: 'listbox' | 'menu', open: boolean, from: number): ListKeys {\n const [active, setActive] = useState<number | null>(null);\n const [wasOpen, setWasOpen] = useState(open);\n if (open !== wasOpen) {\n setWasOpen(open);\n // A key that opens the list has just set its active item; a close forgets it.\n if (!open) setActive(null);\n }\n const buffer = useRef('');\n const timer = useRef<ReturnType<typeof setTimeout>>(undefined);\n useEffect(() => () => clearTimeout(timer.current), []);\n const disabled = items.map((item) => item.disabled === true);\n const count = items.length;\n const opening = uiListKey({ active: from, count, disabled, open: false }, 'Enter', kind).active;\n const shown = open ? (active ?? opening) : -1;\n\n const step = (index: number, intent?: ListStep['intent']): ListStep => {\n setActive(index);\n return { intent, key: items[index]?.key };\n };\n return {\n activeKey: items[shown]?.key ?? null,\n key(event) {\n const current = open ? shown : from;\n const typed = event.key;\n if (typed.length === 1 && (typed !== ' ' || buffer.current !== '')) {\n event.preventDefault();\n buffer.current += typed;\n clearTimeout(timer.current);\n timer.current = setTimeout(() => (buffer.current = ''), TYPEAHEAD_RESET);\n const found = uiTypeahead(\n items.map((item) => item.label),\n disabled,\n buffer.current,\n current,\n );\n return found < 0 ? {} : step(found, open ? undefined : 'open');\n }\n if (HANDLED.has(typed)) event.preventDefault();\n const result = uiListKey({ active: current, count, disabled, open }, typed, kind);\n if (result.intent === undefined && result.active === current) return HANDLED.has(typed) ? {} : undefined;\n return step(result.active, result.intent);\n },\n keyUp(event) {\n if (event.key === ' ') event.preventDefault();\n },\n activate: setActive,\n };\n}\n"],"mappings":";;;AAAA,SAAS,WAAW,mBAAgC;AACpD,SAAS,WAAW,QAAQ,gBAAoC;AAGhE,IAAM,UAA+B,oBAAI,IAAI,CAAC,aAAa,WAAW,QAAQ,OAAO,YAAY,UAAU,SAAS,KAAK,QAAQ,CAAC;AAElI,IAAM,kBAAkB;AAwBjB,SAAS,YAAY,OAA0B,MAA0B,MAAe,MAAwB;AACrH,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAwB,IAAI;AACxD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,IAAI;AAC3C,MAAI,SAAS,SAAS;AACpB,eAAW,IAAI;AAEf,QAAI,CAAC,KAAM,WAAU,IAAI;AAAA,EAC3B;AACA,QAAM,SAAS,OAAO,EAAE;AACxB,QAAM,QAAQ,OAAsC,MAAS;AAC7D,YAAU,MAAM,MAAM,aAAa,MAAM,OAAO,GAAG,CAAC,CAAC;AACrD,QAAM,WAAW,MAAM,IAAI,CAAC,SAAS,KAAK,aAAa,IAAI;AAC3D,QAAM,QAAQ,MAAM;AACpB,QAAM,UAAU,UAAU,EAAE,QAAQ,MAAM,OAAO,UAAU,MAAM,MAAM,GAAG,SAAS,IAAI,EAAE;AACzF,QAAM,QAAQ,OAAQ,UAAU,UAAW;AAE3C,QAAM,OAAO,CAAC,OAAe,WAA0C;AACrE,cAAU,KAAK;AACf,WAAO,EAAE,QAAQ,KAAK,MAAM,KAAK,GAAG,IAAI;AAAA,EAC1C;AACA,SAAO;AAAA,IACL,WAAW,MAAM,KAAK,GAAG,OAAO;AAAA,IAChC,IAAI,OAAO;AACT,YAAM,UAAU,OAAO,QAAQ;AAC/B,YAAM,QAAQ,MAAM;AACpB,UAAI,MAAM,WAAW,MAAM,UAAU,OAAO,OAAO,YAAY,KAAK;AAClE,cAAM,eAAe;AACrB,eAAO,WAAW;AAClB,qBAAa,MAAM,OAAO;AAC1B,cAAM,UAAU,WAAW,MAAO,OAAO,UAAU,IAAK,eAAe;AACvE,cAAM,QAAQ;AAAA,UACZ,MAAM,IAAI,CAAC,SAAS,KAAK,KAAK;AAAA,UAC9B;AAAA,UACA,OAAO;AAAA,UACP;AAAA,QACF;AACA,eAAO,QAAQ,IAAI,CAAC,IAAI,KAAK,OAAO,OAAO,SAAY,MAAM;AAAA,MAC/D;AACA,UAAI,QAAQ,IAAI,KAAK,EAAG,OAAM,eAAe;AAC7C,YAAM,SAAS,UAAU,EAAE,QAAQ,SAAS,OAAO,UAAU,KAAK,GAAG,OAAO,IAAI;AAChF,UAAI,OAAO,WAAW,UAAa,OAAO,WAAW,QAAS,QAAO,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI;AAC/F,aAAO,KAAK,OAAO,QAAQ,OAAO,MAAM;AAAA,IAC1C;AAAA,IACA,MAAM,OAAO;AACX,UAAI,MAAM,QAAQ,IAAK,OAAM,eAAe;AAAA,IAC9C;AAAA,IACA,UAAU;AAAA,EACZ;AACF;","names":[]}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
  import {
3
3
  createClientChart
4
- } from "./chunk-FBJLA3P7.js";
4
+ } from "./chunk-QRQ4RFCB.js";
5
5
 
6
6
  // src/treemap-chart.tsx
7
7
  import { treemapChart } from "@silverpoint/core";
@@ -10,4 +10,4 @@ var TreemapChart = createClientChart(treemapChart);
10
10
  export {
11
11
  TreemapChart
12
12
  };
13
- //# sourceMappingURL=chunk-MC7N4KQA.js.map
13
+ //# sourceMappingURL=chunk-45FUDQOF.js.map
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import {
3
+ renderUi,
4
+ useUi
5
+ } from "./chunk-DX6FUHGB.js";
6
+
7
+ // src/ui/breadcrumb.tsx
8
+ import { uiBreadcrumbView } from "@silverpoint/core/ui";
9
+ function SpBreadcrumb({ dashboardCell, ...props }) {
10
+ return renderUi(uiBreadcrumbView(props, useUi(props, dashboardCell)), {});
11
+ }
12
+
13
+ export {
14
+ SpBreadcrumb
15
+ };
16
+ //# sourceMappingURL=chunk-4CZQHTP5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/breadcrumb.tsx"],"sourcesContent":["import { uiBreadcrumbView, type SpBreadcrumbProps as CoreProps } from '@silverpoint/core/ui';\nimport type { ReactElement } from 'react';\nimport { useUi, type UiCellProps } from './base';\nimport { renderUi } from './render';\n\nexport interface SpBreadcrumbProps extends CoreProps, UiCellProps {}\n\n/** `SpBreadcrumb`: a labelled nav; the last item is the current page (REQ-477). `@silverpoint/react/server/ui/breadcrumb` renders it in a Server Component. */\nexport function SpBreadcrumb({ dashboardCell, ...props }: SpBreadcrumbProps) {\n return renderUi(uiBreadcrumbView(props, useUi(props, dashboardCell)), {}) as ReactElement;\n}\n"],"mappings":";;;;;;;AAAA,SAAS,wBAA6D;AAQ/D,SAAS,aAAa,EAAE,eAAe,GAAG,MAAM,GAAsB;AAC3E,SAAO,SAAS,iBAAiB,OAAO,MAAM,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AAC1E;","names":[]}