@silverpoint/react 0.6.0 → 0.8.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 (601) 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.d.ts +1 -1
  191. package/dist/server/activity-grid.js +2 -1
  192. package/dist/server/activity-grid.js.map +1 -1
  193. package/dist/server/area-chart.d.ts +1 -1
  194. package/dist/server/area-chart.js +2 -1
  195. package/dist/server/area-chart.js.map +1 -1
  196. package/dist/server/bar-chart.d.ts +1 -1
  197. package/dist/server/bar-chart.js +2 -1
  198. package/dist/server/bar-chart.js.map +1 -1
  199. package/dist/server/beeswarm-chart.d.ts +1 -1
  200. package/dist/server/beeswarm-chart.js +2 -1
  201. package/dist/server/beeswarm-chart.js.map +1 -1
  202. package/dist/server/box-plot-chart.d.ts +1 -1
  203. package/dist/server/box-plot-chart.js +2 -1
  204. package/dist/server/box-plot-chart.js.map +1 -1
  205. package/dist/server/bubble-chart.d.ts +1 -1
  206. package/dist/server/bubble-chart.js +2 -1
  207. package/dist/server/bubble-chart.js.map +1 -1
  208. package/dist/server/bullet-chart.d.ts +1 -1
  209. package/dist/server/bullet-chart.js +2 -1
  210. package/dist/server/bullet-chart.js.map +1 -1
  211. package/dist/server/bump-chart.d.ts +1 -1
  212. package/dist/server/bump-chart.js +2 -1
  213. package/dist/server/bump-chart.js.map +1 -1
  214. package/dist/server/candlestick-chart.d.ts +1 -1
  215. package/dist/server/candlestick-chart.js +2 -1
  216. package/dist/server/candlestick-chart.js.map +1 -1
  217. package/dist/server/chord-ring.d.ts +1 -1
  218. package/dist/server/chord-ring.js +2 -1
  219. package/dist/server/chord-ring.js.map +1 -1
  220. package/dist/server/composed-chart.d.ts +1 -1
  221. package/dist/server/composed-chart.js +2 -1
  222. package/dist/server/composed-chart.js.map +1 -1
  223. package/dist/server/connected-scatter-chart.d.ts +1 -1
  224. package/dist/server/connected-scatter-chart.js +2 -1
  225. package/dist/server/connected-scatter-chart.js.map +1 -1
  226. package/dist/server/contour-chart.d.ts +1 -1
  227. package/dist/server/contour-chart.js +2 -1
  228. package/dist/server/contour-chart.js.map +1 -1
  229. package/dist/server/coxcomb-chart.d.ts +1 -1
  230. package/dist/server/coxcomb-chart.js +2 -1
  231. package/dist/server/coxcomb-chart.js.map +1 -1
  232. package/dist/server/dashboard.js +1 -1
  233. package/dist/server/delaunay-chart.d.ts +1 -1
  234. package/dist/server/delaunay-chart.js +2 -1
  235. package/dist/server/delaunay-chart.js.map +1 -1
  236. package/dist/server/density-bin-chart.d.ts +1 -1
  237. package/dist/server/density-bin-chart.js +2 -1
  238. package/dist/server/density-bin-chart.js.map +1 -1
  239. package/dist/server/diverging-bar-chart.d.ts +1 -1
  240. package/dist/server/diverging-bar-chart.js +2 -1
  241. package/dist/server/diverging-bar-chart.js.map +1 -1
  242. package/dist/server/donut-chart.d.ts +1 -1
  243. package/dist/server/donut-chart.js +2 -1
  244. package/dist/server/donut-chart.js.map +1 -1
  245. package/dist/server/dumbbell-chart.d.ts +1 -1
  246. package/dist/server/dumbbell-chart.js +2 -1
  247. package/dist/server/dumbbell-chart.js.map +1 -1
  248. package/dist/server/ecdf-chart.d.ts +1 -1
  249. package/dist/server/ecdf-chart.js +2 -1
  250. package/dist/server/ecdf-chart.js.map +1 -1
  251. package/dist/server/error-bar-chart.d.ts +1 -1
  252. package/dist/server/error-bar-chart.js +2 -1
  253. package/dist/server/error-bar-chart.js.map +1 -1
  254. package/dist/server/funnel-chart.d.ts +1 -1
  255. package/dist/server/funnel-chart.js +2 -1
  256. package/dist/server/funnel-chart.js.map +1 -1
  257. package/dist/server/gauge-arc.d.ts +1 -1
  258. package/dist/server/gauge-arc.js +2 -1
  259. package/dist/server/gauge-arc.js.map +1 -1
  260. package/dist/server/heatmap-chart.d.ts +1 -1
  261. package/dist/server/heatmap-chart.js +2 -1
  262. package/dist/server/heatmap-chart.js.map +1 -1
  263. package/dist/server/histogram-chart.d.ts +1 -1
  264. package/dist/server/histogram-chart.js +2 -1
  265. package/dist/server/histogram-chart.js.map +1 -1
  266. package/dist/server/interval-chart.d.ts +1 -1
  267. package/dist/server/interval-chart.js +2 -1
  268. package/dist/server/interval-chart.js.map +1 -1
  269. package/dist/server/kpi-card.d.ts +1 -1
  270. package/dist/server/kpi-card.js +2 -1
  271. package/dist/server/kpi-card.js.map +1 -1
  272. package/dist/server/line-chart.d.ts +1 -1
  273. package/dist/server/line-chart.js +2 -1
  274. package/dist/server/line-chart.js.map +1 -1
  275. package/dist/server/lollipop-chart.d.ts +1 -1
  276. package/dist/server/lollipop-chart.js +2 -1
  277. package/dist/server/lollipop-chart.js.map +1 -1
  278. package/dist/server/marimekko-chart.d.ts +1 -1
  279. package/dist/server/marimekko-chart.js +2 -1
  280. package/dist/server/marimekko-chart.js.map +1 -1
  281. package/dist/server/meter-chart.d.ts +1 -1
  282. package/dist/server/meter-chart.js +2 -1
  283. package/dist/server/meter-chart.js.map +1 -1
  284. package/dist/server/network-chart.d.ts +1 -1
  285. package/dist/server/network-chart.js +2 -1
  286. package/dist/server/network-chart.js.map +1 -1
  287. package/dist/server/orbit-chart.d.ts +1 -1
  288. package/dist/server/orbit-chart.js +2 -1
  289. package/dist/server/orbit-chart.js.map +1 -1
  290. package/dist/server/parallel-coordinates-chart.d.ts +1 -1
  291. package/dist/server/parallel-coordinates-chart.js +2 -1
  292. package/dist/server/parallel-coordinates-chart.js.map +1 -1
  293. package/dist/server/polar-bar-chart.d.ts +1 -1
  294. package/dist/server/polar-bar-chart.js +2 -1
  295. package/dist/server/polar-bar-chart.js.map +1 -1
  296. package/dist/server/polar-line-chart.d.ts +1 -1
  297. package/dist/server/polar-line-chart.js +2 -1
  298. package/dist/server/polar-line-chart.js.map +1 -1
  299. package/dist/server/polar-scatter-chart.d.ts +1 -1
  300. package/dist/server/polar-scatter-chart.js +2 -1
  301. package/dist/server/polar-scatter-chart.js.map +1 -1
  302. package/dist/server/pyramid-chart.d.ts +1 -1
  303. package/dist/server/pyramid-chart.js +2 -1
  304. package/dist/server/pyramid-chart.js.map +1 -1
  305. package/dist/server/radar-chart.d.ts +1 -1
  306. package/dist/server/radar-chart.js +2 -1
  307. package/dist/server/radar-chart.js.map +1 -1
  308. package/dist/server/radial-arc-group.d.ts +1 -1
  309. package/dist/server/radial-arc-group.js +2 -1
  310. package/dist/server/radial-arc-group.js.map +1 -1
  311. package/dist/server/radial-rings.d.ts +1 -1
  312. package/dist/server/radial-rings.js +2 -1
  313. package/dist/server/radial-rings.js.map +1 -1
  314. package/dist/server/range-band-chart.d.ts +1 -1
  315. package/dist/server/range-band-chart.js +2 -1
  316. package/dist/server/range-band-chart.js.map +1 -1
  317. package/dist/server/ridgeline-chart.d.ts +1 -1
  318. package/dist/server/ridgeline-chart.js +2 -1
  319. package/dist/server/ridgeline-chart.js.map +1 -1
  320. package/dist/server/sankey-chart.d.ts +1 -1
  321. package/dist/server/sankey-chart.js +2 -1
  322. package/dist/server/sankey-chart.js.map +1 -1
  323. package/dist/server/scatter-chart.d.ts +1 -1
  324. package/dist/server/scatter-chart.js +2 -1
  325. package/dist/server/scatter-chart.js.map +1 -1
  326. package/dist/server/slope-chart.d.ts +1 -1
  327. package/dist/server/slope-chart.js +2 -1
  328. package/dist/server/slope-chart.js.map +1 -1
  329. package/dist/server/sparkline-rows.d.ts +1 -1
  330. package/dist/server/sparkline-rows.js +2 -1
  331. package/dist/server/sparkline-rows.js.map +1 -1
  332. package/dist/server/squarified-treemap.d.ts +1 -1
  333. package/dist/server/squarified-treemap.js +2 -1
  334. package/dist/server/squarified-treemap.js.map +1 -1
  335. package/dist/server/stacked-bar-chart.d.ts +1 -1
  336. package/dist/server/stacked-bar-chart.js +2 -1
  337. package/dist/server/stacked-bar-chart.js.map +1 -1
  338. package/dist/server/step-chart.d.ts +1 -1
  339. package/dist/server/step-chart.js +2 -1
  340. package/dist/server/step-chart.js.map +1 -1
  341. package/dist/server/stream-chart.d.ts +1 -1
  342. package/dist/server/stream-chart.js +2 -1
  343. package/dist/server/stream-chart.js.map +1 -1
  344. package/dist/server/sunburst-chart.d.ts +1 -1
  345. package/dist/server/sunburst-chart.js +2 -1
  346. package/dist/server/sunburst-chart.js.map +1 -1
  347. package/dist/server/tree-chart.d.ts +1 -1
  348. package/dist/server/tree-chart.js +2 -1
  349. package/dist/server/tree-chart.js.map +1 -1
  350. package/dist/server/treemap-chart.d.ts +1 -1
  351. package/dist/server/treemap-chart.js +2 -1
  352. package/dist/server/treemap-chart.js.map +1 -1
  353. package/dist/server/ui/alert.js +2 -1
  354. package/dist/server/ui/alert.js.map +1 -1
  355. package/dist/server/ui/avatar.d.ts +18 -0
  356. package/dist/server/ui/avatar.js +18 -0
  357. package/dist/server/ui/avatar.js.map +1 -0
  358. package/dist/server/ui/badge.js +2 -1
  359. package/dist/server/ui/badge.js.map +1 -1
  360. package/dist/server/ui/breadcrumb.d.ts +12 -0
  361. package/dist/server/ui/breadcrumb.js +14 -0
  362. package/dist/server/ui/breadcrumb.js.map +1 -0
  363. package/dist/server/ui/card.js +2 -1
  364. package/dist/server/ui/card.js.map +1 -1
  365. package/dist/server/ui/descriptions.d.ts +12 -0
  366. package/dist/server/ui/descriptions.js +14 -0
  367. package/dist/server/ui/descriptions.js.map +1 -0
  368. package/dist/server/ui/divider.js +2 -1
  369. package/dist/server/ui/divider.js.map +1 -1
  370. package/dist/server/ui/empty.d.ts +14 -0
  371. package/dist/server/ui/empty.js +14 -0
  372. package/dist/server/ui/empty.js.map +1 -0
  373. package/dist/server/ui/glyph.d.ts +12 -0
  374. package/dist/server/ui/glyph.js +14 -0
  375. package/dist/server/ui/glyph.js.map +1 -0
  376. package/dist/server/ui/progress.js +2 -1
  377. package/dist/server/ui/progress.js.map +1 -1
  378. package/dist/server/ui/result.d.ts +14 -0
  379. package/dist/server/ui/result.js +14 -0
  380. package/dist/server/ui/result.js.map +1 -0
  381. package/dist/server/ui/skeleton.js +2 -1
  382. package/dist/server/ui/skeleton.js.map +1 -1
  383. package/dist/server/ui/statistic.d.ts +12 -0
  384. package/dist/server/ui/statistic.js +14 -0
  385. package/dist/server/ui/statistic.js.map +1 -0
  386. package/dist/server/ui/steps.js +2 -1
  387. package/dist/server/ui/steps.js.map +1 -1
  388. package/dist/server/ui/surface.d.ts +13 -0
  389. package/dist/server/ui/surface.js +14 -0
  390. package/dist/server/ui/surface.js.map +1 -0
  391. package/dist/server/ui/table.d.ts +14 -0
  392. package/dist/server/ui/table.js +14 -0
  393. package/dist/server/ui/table.js.map +1 -0
  394. package/dist/server/ui/tag.js +2 -1
  395. package/dist/server/ui/tag.js.map +1 -1
  396. package/dist/server/ui/timeline-list.d.ts +12 -0
  397. package/dist/server/ui/timeline-list.js +14 -0
  398. package/dist/server/ui/timeline-list.js.map +1 -0
  399. package/dist/server/vector-field-chart.d.ts +1 -1
  400. package/dist/server/vector-field-chart.js +2 -1
  401. package/dist/server/vector-field-chart.js.map +1 -1
  402. package/dist/server/violin-chart.d.ts +1 -1
  403. package/dist/server/violin-chart.js +2 -1
  404. package/dist/server/violin-chart.js.map +1 -1
  405. package/dist/server/volvelle-chart.d.ts +1 -1
  406. package/dist/server/volvelle-chart.js +2 -1
  407. package/dist/server/volvelle-chart.js.map +1 -1
  408. package/dist/server/waffle-chart.d.ts +1 -1
  409. package/dist/server/waffle-chart.js +2 -1
  410. package/dist/server/waffle-chart.js.map +1 -1
  411. package/dist/server/waterfall-chart.d.ts +1 -1
  412. package/dist/server/waterfall-chart.js +2 -1
  413. package/dist/server/waterfall-chart.js.map +1 -1
  414. package/dist/server/wind-rose.d.ts +1 -1
  415. package/dist/server/wind-rose.js +2 -1
  416. package/dist/server/wind-rose.js.map +1 -1
  417. package/dist/slope-chart.js +3 -3
  418. package/dist/sparkline-rows.js +3 -3
  419. package/dist/squarified-treemap.js +4 -4
  420. package/dist/stacked-bar-chart.js +3 -3
  421. package/dist/step-chart.js +3 -3
  422. package/dist/stream-chart.js +3 -3
  423. package/dist/sunburst-chart.js +4 -4
  424. package/dist/timeline.d.ts +21 -0
  425. package/dist/timeline.js +36 -0
  426. package/dist/timeline.js.map +1 -0
  427. package/dist/tree-chart.js +3 -3
  428. package/dist/treemap-chart.js +3 -3
  429. package/dist/ui/alert.js +3 -3
  430. package/dist/ui/avatar.d.ts +17 -0
  431. package/dist/ui/avatar.js +12 -0
  432. package/dist/ui/avatar.js.map +1 -0
  433. package/dist/ui/badge.js +3 -3
  434. package/dist/ui/breadcrumb.d.ts +11 -0
  435. package/dist/ui/breadcrumb.js +10 -0
  436. package/dist/ui/breadcrumb.js.map +1 -0
  437. package/dist/ui/button.js +3 -3
  438. package/dist/ui/card.js +3 -3
  439. package/dist/ui/checkbox.js +3 -3
  440. package/dist/ui/collapse.d.ts +24 -0
  441. package/dist/ui/collapse.js +12 -0
  442. package/dist/ui/collapse.js.map +1 -0
  443. package/dist/ui/descriptions.d.ts +11 -0
  444. package/dist/ui/descriptions.js +10 -0
  445. package/dist/ui/descriptions.js.map +1 -0
  446. package/dist/ui/divider.js +3 -3
  447. package/dist/ui/drawer.d.ts +17 -0
  448. package/dist/ui/drawer.js +11 -0
  449. package/dist/ui/drawer.js.map +1 -0
  450. package/dist/ui/dropdown-menu.d.ts +20 -0
  451. package/dist/ui/dropdown-menu.js +12 -0
  452. package/dist/ui/dropdown-menu.js.map +1 -0
  453. package/dist/ui/empty.d.ts +13 -0
  454. package/dist/ui/empty.js +10 -0
  455. package/dist/ui/empty.js.map +1 -0
  456. package/dist/ui/glyph.d.ts +11 -0
  457. package/dist/ui/glyph.js +10 -0
  458. package/dist/ui/glyph.js.map +1 -0
  459. package/dist/ui/input-number.d.ts +20 -0
  460. package/dist/ui/input-number.js +10 -0
  461. package/dist/ui/input-number.js.map +1 -0
  462. package/dist/ui/input.js +3 -3
  463. package/dist/ui/modal.d.ts +17 -0
  464. package/dist/ui/modal.js +11 -0
  465. package/dist/ui/modal.js.map +1 -0
  466. package/dist/ui/pagination.d.ts +17 -0
  467. package/dist/ui/pagination.js +10 -0
  468. package/dist/ui/pagination.js.map +1 -0
  469. package/dist/ui/popover.d.ts +16 -0
  470. package/dist/ui/popover.js +11 -0
  471. package/dist/ui/popover.js.map +1 -0
  472. package/dist/ui/progress.js +3 -3
  473. package/dist/ui/radio-group.js +3 -3
  474. package/dist/ui/rate.js +3 -3
  475. package/dist/ui/result.d.ts +13 -0
  476. package/dist/ui/result.js +10 -0
  477. package/dist/ui/result.js.map +1 -0
  478. package/dist/ui/segmented.js +3 -3
  479. package/dist/ui/select.d.ts +21 -0
  480. package/dist/ui/select.js +12 -0
  481. package/dist/ui/select.js.map +1 -0
  482. package/dist/ui/skeleton.js +3 -3
  483. package/dist/ui/slider.js +3 -3
  484. package/dist/ui/statistic.d.ts +11 -0
  485. package/dist/ui/statistic.js +10 -0
  486. package/dist/ui/statistic.js.map +1 -0
  487. package/dist/ui/steps.js +3 -3
  488. package/dist/ui/surface.d.ts +12 -0
  489. package/dist/ui/surface.js +10 -0
  490. package/dist/ui/surface.js.map +1 -0
  491. package/dist/ui/switch.js +3 -3
  492. package/dist/ui/table.d.ts +13 -0
  493. package/dist/ui/table.js +10 -0
  494. package/dist/ui/table.js.map +1 -0
  495. package/dist/ui/tabs.js +3 -3
  496. package/dist/ui/tag.js +3 -3
  497. package/dist/ui/textarea.d.ts +16 -0
  498. package/dist/ui/textarea.js +10 -0
  499. package/dist/ui/textarea.js.map +1 -0
  500. package/dist/ui/timeline-list.d.ts +11 -0
  501. package/dist/ui/timeline-list.js +10 -0
  502. package/dist/ui/timeline-list.js.map +1 -0
  503. package/dist/ui/toast.d.ts +25 -0
  504. package/dist/ui/toast.js +13 -0
  505. package/dist/ui/toast.js.map +1 -0
  506. package/dist/ui/tooltip.d.ts +19 -0
  507. package/dist/ui/tooltip.js +11 -0
  508. package/dist/ui/tooltip.js.map +1 -0
  509. package/dist/ui.d.ts +23 -1
  510. package/dist/ui.js +112 -20
  511. package/dist/vector-field-chart.js +3 -3
  512. package/dist/violin-chart.js +3 -3
  513. package/dist/volvelle-chart.js +3 -3
  514. package/dist/waffle-chart.js +3 -3
  515. package/dist/waterfall-chart.js +3 -3
  516. package/dist/wind-rose.js +3 -3
  517. package/package.json +203 -4
  518. package/dist/chunk-46S63XYT.js.map +0 -1
  519. package/dist/chunk-DO4VUIUU.js.map +0 -1
  520. package/dist/chunk-FBJLA3P7.js.map +0 -1
  521. package/dist/chunk-OD6N2ATZ.js.map +0 -1
  522. package/dist/chunk-SQ6GWXDK.js.map +0 -1
  523. package/dist/chunk-ZBSCLF56.js.map +0 -1
  524. /package/dist/{chunk-WZZA2IGN.js.map → chunk-25BXOLN7.js.map} +0 -0
  525. /package/dist/{chunk-IHWEQR42.js.map → chunk-26PNMZ4N.js.map} +0 -0
  526. /package/dist/{chunk-5FYPFU6B.js.map → chunk-2HDGFK6O.js.map} +0 -0
  527. /package/dist/{chunk-I72JGA6Q.js.map → chunk-2NBHAILL.js.map} +0 -0
  528. /package/dist/{chunk-GUKXFITX.js.map → chunk-3MQJA564.js.map} +0 -0
  529. /package/dist/{chunk-LSA5XU52.js.map → chunk-3UD7DUEM.js.map} +0 -0
  530. /package/dist/{chunk-MC7N4KQA.js.map → chunk-45FUDQOF.js.map} +0 -0
  531. /package/dist/{chunk-FHX2HWN3.js.map → chunk-4QE7BQ7J.js.map} +0 -0
  532. /package/dist/{chunk-UC7ADKFU.js.map → chunk-5GNJS3Y3.js.map} +0 -0
  533. /package/dist/{chunk-T2IYBDCL.js.map → chunk-5HX2UUIR.js.map} +0 -0
  534. /package/dist/{chunk-SNWXRA2D.js.map → chunk-5KS4JD5W.js.map} +0 -0
  535. /package/dist/{chunk-Y4V5AZ32.js.map → chunk-5M4FS37X.js.map} +0 -0
  536. /package/dist/{chunk-KOWQNNTS.js.map → chunk-6BZ2752M.js.map} +0 -0
  537. /package/dist/{chunk-GSJYA76X.js.map → chunk-6Y2V7WIZ.js.map} +0 -0
  538. /package/dist/{chunk-JPTK2AAT.js.map → chunk-7SZATSRO.js.map} +0 -0
  539. /package/dist/{chunk-BJZOF2YZ.js.map → chunk-AKOPH5MK.js.map} +0 -0
  540. /package/dist/{chunk-5FKONGCL.js.map → chunk-ANAAYEMQ.js.map} +0 -0
  541. /package/dist/{chunk-MYKZWY2E.js.map → chunk-ANIMFO5C.js.map} +0 -0
  542. /package/dist/{chunk-CWFUPKSS.js.map → chunk-ARN5BO7U.js.map} +0 -0
  543. /package/dist/{chunk-6M4REUJE.js.map → chunk-B2TSWCF5.js.map} +0 -0
  544. /package/dist/{chunk-X2F56RYM.js.map → chunk-CAFLXUSL.js.map} +0 -0
  545. /package/dist/{chunk-G7C4CH54.js.map → chunk-CT2MHXSG.js.map} +0 -0
  546. /package/dist/{chunk-RMIIFPXA.js.map → chunk-D65O5YJZ.js.map} +0 -0
  547. /package/dist/{chunk-U3LT444G.js.map → chunk-DL3FIRSO.js.map} +0 -0
  548. /package/dist/{chunk-AEU6UHVG.js.map → chunk-DOFLNIRZ.js.map} +0 -0
  549. /package/dist/{chunk-NEOD2DSH.js.map → chunk-DXFQNNRN.js.map} +0 -0
  550. /package/dist/{chunk-FZ46YSJA.js.map → chunk-DXNSJNEQ.js.map} +0 -0
  551. /package/dist/{chunk-NWK6VBCJ.js.map → chunk-E6LPQWVM.js.map} +0 -0
  552. /package/dist/{chunk-KVOBNPDN.js.map → chunk-ELNPDHOC.js.map} +0 -0
  553. /package/dist/{chunk-YRRWP5HL.js.map → chunk-ENGG7T3F.js.map} +0 -0
  554. /package/dist/{chunk-ZOB6BH7H.js.map → chunk-EOMPQ2TX.js.map} +0 -0
  555. /package/dist/{chunk-RIGQTEKW.js.map → chunk-EPTFI4BT.js.map} +0 -0
  556. /package/dist/{chunk-M3MZMHGS.js.map → chunk-EX7AYOOW.js.map} +0 -0
  557. /package/dist/{chunk-OSDENB6W.js.map → chunk-F27PSDYP.js.map} +0 -0
  558. /package/dist/{chunk-DGZN27CF.js.map → chunk-F6H7NPSP.js.map} +0 -0
  559. /package/dist/{chunk-INHBSJZX.js.map → chunk-FI6FQRFE.js.map} +0 -0
  560. /package/dist/{chunk-ESFN6FJY.js.map → chunk-GEC5QL7C.js.map} +0 -0
  561. /package/dist/{chunk-CNRSQPRE.js.map → chunk-GU5HJU7M.js.map} +0 -0
  562. /package/dist/{chunk-WFO6BICV.js.map → chunk-HHQI7CLZ.js.map} +0 -0
  563. /package/dist/{chunk-PRVJKYEQ.js.map → chunk-IHIE2DK3.js.map} +0 -0
  564. /package/dist/{chunk-2JWLXUY5.js.map → chunk-INYDD4FD.js.map} +0 -0
  565. /package/dist/{chunk-3JXO2533.js.map → chunk-IQQMPYCN.js.map} +0 -0
  566. /package/dist/{chunk-4CDW7VWK.js.map → chunk-JIVM4CSU.js.map} +0 -0
  567. /package/dist/{chunk-MS5BH6TU.js.map → chunk-JMVH54WP.js.map} +0 -0
  568. /package/dist/{chunk-NWRCFNYB.js.map → chunk-JY6ZMAYT.js.map} +0 -0
  569. /package/dist/{chunk-6EFRIK7Q.js.map → chunk-K2JDM6SF.js.map} +0 -0
  570. /package/dist/{chunk-RAATAHXZ.js.map → chunk-KMNQTGBN.js.map} +0 -0
  571. /package/dist/{chunk-C3NHZ4N5.js.map → chunk-M4F272PN.js.map} +0 -0
  572. /package/dist/{chunk-OP2WE7MA.js.map → chunk-M5R4CNKU.js.map} +0 -0
  573. /package/dist/{chunk-R7AKJYNB.js.map → chunk-MEHYWMG7.js.map} +0 -0
  574. /package/dist/{chunk-VKNGQ4NW.js.map → chunk-MOO3XIC2.js.map} +0 -0
  575. /package/dist/{chunk-UOOHQAJU.js.map → chunk-NNHM6OWA.js.map} +0 -0
  576. /package/dist/{chunk-3U3Z5U6H.js.map → chunk-NUGUZMON.js.map} +0 -0
  577. /package/dist/{chunk-6P5Z6IRH.js.map → chunk-O2FNTA5U.js.map} +0 -0
  578. /package/dist/{chunk-7EH4NGBM.js.map → chunk-O4WI7LKM.js.map} +0 -0
  579. /package/dist/{chunk-XQTZOVFF.js.map → chunk-OB65KGYJ.js.map} +0 -0
  580. /package/dist/{chunk-TSQWTDBK.js.map → chunk-PXHT6PD5.js.map} +0 -0
  581. /package/dist/{chunk-QRYI7BEO.js.map → chunk-QEODW4IP.js.map} +0 -0
  582. /package/dist/{chunk-3BREGZ7C.js.map → chunk-QJLESIWB.js.map} +0 -0
  583. /package/dist/{chunk-WMU6O6KZ.js.map → chunk-QKBT4P5O.js.map} +0 -0
  584. /package/dist/{chunk-LPKOFXAA.js.map → chunk-QOQTPSPV.js.map} +0 -0
  585. /package/dist/{chunk-4DG5NJWM.js.map → chunk-QVCRJZMJ.js.map} +0 -0
  586. /package/dist/{chunk-6NXL245Z.js.map → chunk-S2A6EJSX.js.map} +0 -0
  587. /package/dist/{chunk-6S6VKQ3E.js.map → chunk-SZHYT257.js.map} +0 -0
  588. /package/dist/{chunk-JWCVL7VE.js.map → chunk-T52NYUKC.js.map} +0 -0
  589. /package/dist/{chunk-M56MDRNT.js.map → chunk-TTIRFQ2W.js.map} +0 -0
  590. /package/dist/{chunk-3WUPWJP2.js.map → chunk-TZGI7DMH.js.map} +0 -0
  591. /package/dist/{chunk-67FND3TB.js.map → chunk-UA3V7LBC.js.map} +0 -0
  592. /package/dist/{chunk-E7OSOGUT.js.map → chunk-VNVWUIVN.js.map} +0 -0
  593. /package/dist/{chunk-ART7CMBL.js.map → chunk-VQRXVACI.js.map} +0 -0
  594. /package/dist/{chunk-K4YKDPDJ.js.map → chunk-XOO5OQHZ.js.map} +0 -0
  595. /package/dist/{chunk-TH6Q4E7C.js.map → chunk-XZX2HZI7.js.map} +0 -0
  596. /package/dist/{chunk-DWXG7WLM.js.map → chunk-YHCAIRT3.js.map} +0 -0
  597. /package/dist/{chunk-L65CMJRG.js.map → chunk-YO2P3ALL.js.map} +0 -0
  598. /package/dist/{chunk-OAH7AEGE.js.map → chunk-YYI6AXAT.js.map} +0 -0
  599. /package/dist/{chunk-43AIURD6.js.map → chunk-ZLI7RM6W.js.map} +0 -0
  600. /package/dist/{chunk-NA6K372D.js.map → chunk-ZMZYJ6I7.js.map} +0 -0
  601. /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":[]}