@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.
- package/README.md +119 -0
- package/dist/activity-grid.js +3 -3
- package/dist/area-chart.js +3 -3
- package/dist/bar-chart.js +3 -3
- package/dist/beeswarm-chart.js +3 -3
- package/dist/box-plot-chart.js +3 -3
- package/dist/bubble-chart.js +3 -3
- package/dist/bullet-chart.js +3 -3
- package/dist/bump-chart.js +3 -3
- package/dist/candlestick-chart.js +3 -3
- package/dist/chord-ring.js +3 -3
- package/dist/{chunk-WZZA2IGN.js → chunk-25BXOLN7.js} +2 -2
- package/dist/{chunk-IHWEQR42.js → chunk-26PNMZ4N.js} +2 -2
- package/dist/chunk-27ILYIHO.js +56 -0
- package/dist/chunk-27ILYIHO.js.map +1 -0
- package/dist/{chunk-5FYPFU6B.js → chunk-2HDGFK6O.js} +2 -2
- package/dist/chunk-2JLWAB4R.js +32 -0
- package/dist/chunk-2JLWAB4R.js.map +1 -0
- package/dist/{chunk-I72JGA6Q.js → chunk-2NBHAILL.js} +2 -2
- package/dist/chunk-2TDJIHGW.js +39 -0
- package/dist/chunk-2TDJIHGW.js.map +1 -0
- package/dist/{chunk-GUKXFITX.js → chunk-3MQJA564.js} +2 -2
- package/dist/{chunk-LSA5XU52.js → chunk-3UD7DUEM.js} +2 -2
- package/dist/chunk-3ZO7VEHS.js +59 -0
- package/dist/chunk-3ZO7VEHS.js.map +1 -0
- package/dist/{chunk-MC7N4KQA.js → chunk-45FUDQOF.js} +2 -2
- package/dist/chunk-4CZQHTP5.js +16 -0
- package/dist/chunk-4CZQHTP5.js.map +1 -0
- package/dist/{chunk-FHX2HWN3.js → chunk-4QE7BQ7J.js} +2 -2
- package/dist/{chunk-UC7ADKFU.js → chunk-5GNJS3Y3.js} +2 -2
- package/dist/{chunk-T2IYBDCL.js → chunk-5HX2UUIR.js} +2 -2
- package/dist/{chunk-SNWXRA2D.js → chunk-5KS4JD5W.js} +2 -2
- package/dist/{chunk-Y4V5AZ32.js → chunk-5M4FS37X.js} +2 -2
- package/dist/chunk-65LAAEJZ.js +66 -0
- package/dist/chunk-65LAAEJZ.js.map +1 -0
- package/dist/{chunk-KOWQNNTS.js → chunk-6BZ2752M.js} +2 -2
- package/dist/chunk-6K4HSGXJ.js +16 -0
- package/dist/chunk-6K4HSGXJ.js.map +1 -0
- package/dist/{chunk-GSJYA76X.js → chunk-6Y2V7WIZ.js} +2 -2
- package/dist/chunk-74DQNJH2.js +16 -0
- package/dist/chunk-74DQNJH2.js.map +1 -0
- package/dist/chunk-75EKOWPE.js +16 -0
- package/dist/chunk-75EKOWPE.js.map +1 -0
- package/dist/chunk-7777FL4L.js +16 -0
- package/dist/chunk-7777FL4L.js.map +1 -0
- package/dist/{chunk-JPTK2AAT.js → chunk-7SZATSRO.js} +2 -2
- package/dist/{chunk-BJZOF2YZ.js → chunk-AKOPH5MK.js} +2 -2
- package/dist/chunk-AL6AXLYE.js +16 -0
- package/dist/chunk-AL6AXLYE.js.map +1 -0
- package/dist/{chunk-5FKONGCL.js → chunk-ANAAYEMQ.js} +2 -2
- package/dist/{chunk-MYKZWY2E.js → chunk-ANIMFO5C.js} +2 -2
- package/dist/{chunk-CWFUPKSS.js → chunk-ARN5BO7U.js} +2 -2
- package/dist/{chunk-6M4REUJE.js → chunk-B2TSWCF5.js} +2 -2
- package/dist/chunk-BKZ64BZS.js +31 -0
- package/dist/chunk-BKZ64BZS.js.map +1 -0
- package/dist/{chunk-X2F56RYM.js → chunk-CAFLXUSL.js} +2 -2
- package/dist/chunk-CJBZWJTN.js +21 -0
- package/dist/chunk-CJBZWJTN.js.map +1 -0
- package/dist/{chunk-G7C4CH54.js → chunk-CT2MHXSG.js} +2 -2
- package/dist/{chunk-RMIIFPXA.js → chunk-D65O5YJZ.js} +2 -2
- package/dist/{chunk-U3LT444G.js → chunk-DL3FIRSO.js} +2 -2
- package/dist/{chunk-AEU6UHVG.js → chunk-DOFLNIRZ.js} +2 -2
- package/dist/{chunk-DO4VUIUU.js → chunk-DX6FUHGB.js} +14 -11
- package/dist/chunk-DX6FUHGB.js.map +1 -0
- package/dist/{chunk-NEOD2DSH.js → chunk-DXFQNNRN.js} +2 -2
- package/dist/{chunk-FZ46YSJA.js → chunk-DXNSJNEQ.js} +2 -2
- package/dist/{chunk-NWK6VBCJ.js → chunk-E6LPQWVM.js} +2 -2
- package/dist/{chunk-KVOBNPDN.js → chunk-ELNPDHOC.js} +2 -2
- package/dist/{chunk-YRRWP5HL.js → chunk-ENGG7T3F.js} +2 -2
- package/dist/{chunk-ZOB6BH7H.js → chunk-EOMPQ2TX.js} +2 -2
- package/dist/{chunk-RIGQTEKW.js → chunk-EPTFI4BT.js} +2 -2
- package/dist/{chunk-M3MZMHGS.js → chunk-EX7AYOOW.js} +2 -2
- package/dist/{chunk-OSDENB6W.js → chunk-F27PSDYP.js} +2 -2
- package/dist/{chunk-DGZN27CF.js → chunk-F6H7NPSP.js} +2 -2
- package/dist/{chunk-INHBSJZX.js → chunk-FI6FQRFE.js} +2 -2
- package/dist/chunk-G3PPUBI5.js +79 -0
- package/dist/chunk-G3PPUBI5.js.map +1 -0
- package/dist/{chunk-ESFN6FJY.js → chunk-GEC5QL7C.js} +2 -2
- package/dist/{chunk-CNRSQPRE.js → chunk-GU5HJU7M.js} +2 -2
- package/dist/{chunk-WFO6BICV.js → chunk-HHQI7CLZ.js} +2 -2
- package/dist/{chunk-PRVJKYEQ.js → chunk-IHIE2DK3.js} +2 -2
- package/dist/{chunk-2JWLXUY5.js → chunk-INYDD4FD.js} +2 -2
- package/dist/{chunk-3JXO2533.js → chunk-IQQMPYCN.js} +2 -2
- package/dist/{chunk-4CDW7VWK.js → chunk-JIVM4CSU.js} +2 -2
- package/dist/{chunk-MS5BH6TU.js → chunk-JMVH54WP.js} +2 -2
- package/dist/chunk-JRYGGBE6.js +20 -0
- package/dist/chunk-JRYGGBE6.js.map +1 -0
- package/dist/chunk-JUVBTR6L.js +66 -0
- package/dist/chunk-JUVBTR6L.js.map +1 -0
- package/dist/{chunk-NWRCFNYB.js → chunk-JY6ZMAYT.js} +2 -2
- package/dist/{chunk-6EFRIK7Q.js → chunk-K2JDM6SF.js} +2 -2
- package/dist/{chunk-RAATAHXZ.js → chunk-KMNQTGBN.js} +2 -2
- package/dist/{chunk-SQ6GWXDK.js → chunk-M2NKE3GQ.js} +12 -1
- package/dist/chunk-M2NKE3GQ.js.map +1 -0
- package/dist/{chunk-C3NHZ4N5.js → chunk-M4F272PN.js} +2 -2
- package/dist/{chunk-OP2WE7MA.js → chunk-M5R4CNKU.js} +2 -2
- package/dist/{chunk-R7AKJYNB.js → chunk-MEHYWMG7.js} +2 -2
- package/dist/{chunk-VKNGQ4NW.js → chunk-MOO3XIC2.js} +2 -2
- package/dist/chunk-MTXREPUM.js +16 -0
- package/dist/chunk-MTXREPUM.js.map +1 -0
- package/dist/{chunk-UOOHQAJU.js → chunk-NNHM6OWA.js} +2 -2
- package/dist/{chunk-3U3Z5U6H.js → chunk-NUGUZMON.js} +2 -2
- package/dist/{chunk-6P5Z6IRH.js → chunk-O2FNTA5U.js} +2 -2
- package/dist/{chunk-7EH4NGBM.js → chunk-O4WI7LKM.js} +2 -2
- package/dist/{chunk-XQTZOVFF.js → chunk-OB65KGYJ.js} +2 -2
- package/dist/{chunk-TSQWTDBK.js → chunk-PXHT6PD5.js} +2 -2
- package/dist/chunk-Q6VFHFX3.js +16 -0
- package/dist/chunk-Q6VFHFX3.js.map +1 -0
- package/dist/{chunk-ZBSCLF56.js → chunk-QEHVGOJA.js} +16 -10
- package/dist/chunk-QEHVGOJA.js.map +1 -0
- package/dist/{chunk-QRYI7BEO.js → chunk-QEODW4IP.js} +2 -2
- package/dist/{chunk-3BREGZ7C.js → chunk-QJLESIWB.js} +2 -2
- package/dist/{chunk-WMU6O6KZ.js → chunk-QKBT4P5O.js} +2 -2
- package/dist/{chunk-LPKOFXAA.js → chunk-QOQTPSPV.js} +2 -2
- package/dist/{chunk-FBJLA3P7.js → chunk-QRQ4RFCB.js} +4 -2
- package/dist/chunk-QRQ4RFCB.js.map +1 -0
- package/dist/{chunk-4DG5NJWM.js → chunk-QVCRJZMJ.js} +2 -2
- package/dist/{chunk-OD6N2ATZ.js → chunk-R66XACVV.js} +3 -2
- package/dist/chunk-R66XACVV.js.map +1 -0
- package/dist/{chunk-46S63XYT.js → chunk-RE4ZOKKK.js} +6 -1
- package/dist/chunk-RE4ZOKKK.js.map +1 -0
- package/dist/chunk-RFWELGCX.js +20 -0
- package/dist/chunk-RFWELGCX.js.map +1 -0
- package/dist/{chunk-6NXL245Z.js → chunk-S2A6EJSX.js} +2 -2
- package/dist/{chunk-6S6VKQ3E.js → chunk-SZHYT257.js} +2 -2
- package/dist/{chunk-JWCVL7VE.js → chunk-T52NYUKC.js} +2 -2
- package/dist/{chunk-M56MDRNT.js → chunk-TTIRFQ2W.js} +2 -2
- package/dist/{chunk-3WUPWJP2.js → chunk-TZGI7DMH.js} +2 -2
- package/dist/{chunk-67FND3TB.js → chunk-UA3V7LBC.js} +2 -2
- package/dist/chunk-UAWJIVQK.js +68 -0
- package/dist/chunk-UAWJIVQK.js.map +1 -0
- package/dist/chunk-UOINAVEH.js +32 -0
- package/dist/chunk-UOINAVEH.js.map +1 -0
- package/dist/chunk-VGX3GSOT.js +33 -0
- package/dist/chunk-VGX3GSOT.js.map +1 -0
- package/dist/{chunk-E7OSOGUT.js → chunk-VNVWUIVN.js} +2 -2
- package/dist/{chunk-ART7CMBL.js → chunk-VQRXVACI.js} +2 -2
- package/dist/{chunk-K4YKDPDJ.js → chunk-XOO5OQHZ.js} +2 -2
- package/dist/chunk-XPLCIRDZ.js +14 -0
- package/dist/chunk-XPLCIRDZ.js.map +1 -0
- package/dist/{chunk-TH6Q4E7C.js → chunk-XZX2HZI7.js} +2 -2
- package/dist/{chunk-DWXG7WLM.js → chunk-YHCAIRT3.js} +2 -2
- package/dist/{chunk-L65CMJRG.js → chunk-YO2P3ALL.js} +2 -2
- package/dist/{chunk-OAH7AEGE.js → chunk-YYI6AXAT.js} +2 -2
- package/dist/chunk-ZGGWGSDF.js +17 -0
- package/dist/chunk-ZGGWGSDF.js.map +1 -0
- package/dist/{chunk-43AIURD6.js → chunk-ZLI7RM6W.js} +2 -2
- package/dist/{chunk-NA6K372D.js → chunk-ZMZYJ6I7.js} +2 -2
- package/dist/{chunk-J3E6IUUQ.js → chunk-ZVZMIGX4.js} +2 -2
- package/dist/composed-chart.js +3 -3
- package/dist/connected-scatter-chart.js +3 -3
- package/dist/contour-chart.js +3 -3
- package/dist/coxcomb-chart.js +3 -3
- package/dist/dashboard.js +1 -1
- package/dist/delaunay-chart.js +3 -3
- package/dist/density-bin-chart.js +3 -3
- package/dist/diverging-bar-chart.js +3 -3
- package/dist/donut-chart.js +3 -3
- package/dist/dumbbell-chart.js +3 -3
- package/dist/ecdf-chart.js +3 -3
- package/dist/error-bar-chart.js +3 -3
- package/dist/funnel-chart.js +3 -3
- package/dist/gauge-arc.js +3 -3
- package/dist/heatmap-chart.js +3 -3
- package/dist/histogram-chart.js +3 -3
- package/dist/index.d.ts +5 -1
- package/dist/index.js +67 -64
- package/dist/index.js.map +1 -1
- package/dist/interval-chart.js +3 -3
- package/dist/kpi-card.js +3 -3
- package/dist/line-chart.js +3 -3
- package/dist/lollipop-chart.js +3 -3
- package/dist/marimekko-chart.js +3 -3
- package/dist/meter-chart.js +3 -3
- package/dist/network-chart.js +3 -3
- package/dist/orbit-chart.js +3 -3
- package/dist/overlay-CMxteajk.d.ts +10 -0
- package/dist/parallel-coordinates-chart.js +3 -3
- package/dist/polar-bar-chart.js +3 -3
- package/dist/polar-line-chart.js +3 -3
- package/dist/polar-scatter-chart.js +3 -3
- package/dist/pyramid-chart.js +3 -3
- package/dist/radar-chart.js +3 -3
- package/dist/radial-arc-group.js +3 -3
- package/dist/radial-rings.js +3 -3
- package/dist/range-band-chart.js +3 -3
- package/dist/ridgeline-chart.js +3 -3
- package/dist/sankey-chart.js +3 -3
- package/dist/scatter-chart.js +3 -3
- package/dist/server/activity-grid.d.ts +1 -1
- package/dist/server/activity-grid.js +2 -1
- package/dist/server/activity-grid.js.map +1 -1
- package/dist/server/area-chart.d.ts +1 -1
- package/dist/server/area-chart.js +2 -1
- package/dist/server/area-chart.js.map +1 -1
- package/dist/server/bar-chart.d.ts +1 -1
- package/dist/server/bar-chart.js +2 -1
- package/dist/server/bar-chart.js.map +1 -1
- package/dist/server/beeswarm-chart.d.ts +1 -1
- package/dist/server/beeswarm-chart.js +2 -1
- package/dist/server/beeswarm-chart.js.map +1 -1
- package/dist/server/box-plot-chart.d.ts +1 -1
- package/dist/server/box-plot-chart.js +2 -1
- package/dist/server/box-plot-chart.js.map +1 -1
- package/dist/server/bubble-chart.d.ts +1 -1
- package/dist/server/bubble-chart.js +2 -1
- package/dist/server/bubble-chart.js.map +1 -1
- package/dist/server/bullet-chart.d.ts +1 -1
- package/dist/server/bullet-chart.js +2 -1
- package/dist/server/bullet-chart.js.map +1 -1
- package/dist/server/bump-chart.d.ts +1 -1
- package/dist/server/bump-chart.js +2 -1
- package/dist/server/bump-chart.js.map +1 -1
- package/dist/server/candlestick-chart.d.ts +1 -1
- package/dist/server/candlestick-chart.js +2 -1
- package/dist/server/candlestick-chart.js.map +1 -1
- package/dist/server/chord-ring.d.ts +1 -1
- package/dist/server/chord-ring.js +2 -1
- package/dist/server/chord-ring.js.map +1 -1
- package/dist/server/composed-chart.d.ts +1 -1
- package/dist/server/composed-chart.js +2 -1
- package/dist/server/composed-chart.js.map +1 -1
- package/dist/server/connected-scatter-chart.d.ts +1 -1
- package/dist/server/connected-scatter-chart.js +2 -1
- package/dist/server/connected-scatter-chart.js.map +1 -1
- package/dist/server/contour-chart.d.ts +1 -1
- package/dist/server/contour-chart.js +2 -1
- package/dist/server/contour-chart.js.map +1 -1
- package/dist/server/coxcomb-chart.d.ts +1 -1
- package/dist/server/coxcomb-chart.js +2 -1
- package/dist/server/coxcomb-chart.js.map +1 -1
- package/dist/server/dashboard.js +1 -1
- package/dist/server/delaunay-chart.d.ts +1 -1
- package/dist/server/delaunay-chart.js +2 -1
- package/dist/server/delaunay-chart.js.map +1 -1
- package/dist/server/density-bin-chart.d.ts +1 -1
- package/dist/server/density-bin-chart.js +2 -1
- package/dist/server/density-bin-chart.js.map +1 -1
- package/dist/server/diverging-bar-chart.d.ts +1 -1
- package/dist/server/diverging-bar-chart.js +2 -1
- package/dist/server/diverging-bar-chart.js.map +1 -1
- package/dist/server/donut-chart.d.ts +1 -1
- package/dist/server/donut-chart.js +2 -1
- package/dist/server/donut-chart.js.map +1 -1
- package/dist/server/dumbbell-chart.d.ts +1 -1
- package/dist/server/dumbbell-chart.js +2 -1
- package/dist/server/dumbbell-chart.js.map +1 -1
- package/dist/server/ecdf-chart.d.ts +1 -1
- package/dist/server/ecdf-chart.js +2 -1
- package/dist/server/ecdf-chart.js.map +1 -1
- package/dist/server/error-bar-chart.d.ts +1 -1
- package/dist/server/error-bar-chart.js +2 -1
- package/dist/server/error-bar-chart.js.map +1 -1
- package/dist/server/funnel-chart.d.ts +1 -1
- package/dist/server/funnel-chart.js +2 -1
- package/dist/server/funnel-chart.js.map +1 -1
- package/dist/server/gauge-arc.d.ts +1 -1
- package/dist/server/gauge-arc.js +2 -1
- package/dist/server/gauge-arc.js.map +1 -1
- package/dist/server/heatmap-chart.d.ts +1 -1
- package/dist/server/heatmap-chart.js +2 -1
- package/dist/server/heatmap-chart.js.map +1 -1
- package/dist/server/histogram-chart.d.ts +1 -1
- package/dist/server/histogram-chart.js +2 -1
- package/dist/server/histogram-chart.js.map +1 -1
- package/dist/server/interval-chart.d.ts +1 -1
- package/dist/server/interval-chart.js +2 -1
- package/dist/server/interval-chart.js.map +1 -1
- package/dist/server/kpi-card.d.ts +1 -1
- package/dist/server/kpi-card.js +2 -1
- package/dist/server/kpi-card.js.map +1 -1
- package/dist/server/line-chart.d.ts +1 -1
- package/dist/server/line-chart.js +2 -1
- package/dist/server/line-chart.js.map +1 -1
- package/dist/server/lollipop-chart.d.ts +1 -1
- package/dist/server/lollipop-chart.js +2 -1
- package/dist/server/lollipop-chart.js.map +1 -1
- package/dist/server/marimekko-chart.d.ts +1 -1
- package/dist/server/marimekko-chart.js +2 -1
- package/dist/server/marimekko-chart.js.map +1 -1
- package/dist/server/meter-chart.d.ts +1 -1
- package/dist/server/meter-chart.js +2 -1
- package/dist/server/meter-chart.js.map +1 -1
- package/dist/server/network-chart.d.ts +1 -1
- package/dist/server/network-chart.js +2 -1
- package/dist/server/network-chart.js.map +1 -1
- package/dist/server/orbit-chart.d.ts +1 -1
- package/dist/server/orbit-chart.js +2 -1
- package/dist/server/orbit-chart.js.map +1 -1
- package/dist/server/parallel-coordinates-chart.d.ts +1 -1
- package/dist/server/parallel-coordinates-chart.js +2 -1
- package/dist/server/parallel-coordinates-chart.js.map +1 -1
- package/dist/server/polar-bar-chart.d.ts +1 -1
- package/dist/server/polar-bar-chart.js +2 -1
- package/dist/server/polar-bar-chart.js.map +1 -1
- package/dist/server/polar-line-chart.d.ts +1 -1
- package/dist/server/polar-line-chart.js +2 -1
- package/dist/server/polar-line-chart.js.map +1 -1
- package/dist/server/polar-scatter-chart.d.ts +1 -1
- package/dist/server/polar-scatter-chart.js +2 -1
- package/dist/server/polar-scatter-chart.js.map +1 -1
- package/dist/server/pyramid-chart.d.ts +1 -1
- package/dist/server/pyramid-chart.js +2 -1
- package/dist/server/pyramid-chart.js.map +1 -1
- package/dist/server/radar-chart.d.ts +1 -1
- package/dist/server/radar-chart.js +2 -1
- package/dist/server/radar-chart.js.map +1 -1
- package/dist/server/radial-arc-group.d.ts +1 -1
- package/dist/server/radial-arc-group.js +2 -1
- package/dist/server/radial-arc-group.js.map +1 -1
- package/dist/server/radial-rings.d.ts +1 -1
- package/dist/server/radial-rings.js +2 -1
- package/dist/server/radial-rings.js.map +1 -1
- package/dist/server/range-band-chart.d.ts +1 -1
- package/dist/server/range-band-chart.js +2 -1
- package/dist/server/range-band-chart.js.map +1 -1
- package/dist/server/ridgeline-chart.d.ts +1 -1
- package/dist/server/ridgeline-chart.js +2 -1
- package/dist/server/ridgeline-chart.js.map +1 -1
- package/dist/server/sankey-chart.d.ts +1 -1
- package/dist/server/sankey-chart.js +2 -1
- package/dist/server/sankey-chart.js.map +1 -1
- package/dist/server/scatter-chart.d.ts +1 -1
- package/dist/server/scatter-chart.js +2 -1
- package/dist/server/scatter-chart.js.map +1 -1
- package/dist/server/slope-chart.d.ts +1 -1
- package/dist/server/slope-chart.js +2 -1
- package/dist/server/slope-chart.js.map +1 -1
- package/dist/server/sparkline-rows.d.ts +1 -1
- package/dist/server/sparkline-rows.js +2 -1
- package/dist/server/sparkline-rows.js.map +1 -1
- package/dist/server/squarified-treemap.d.ts +1 -1
- package/dist/server/squarified-treemap.js +2 -1
- package/dist/server/squarified-treemap.js.map +1 -1
- package/dist/server/stacked-bar-chart.d.ts +1 -1
- package/dist/server/stacked-bar-chart.js +2 -1
- package/dist/server/stacked-bar-chart.js.map +1 -1
- package/dist/server/step-chart.d.ts +1 -1
- package/dist/server/step-chart.js +2 -1
- package/dist/server/step-chart.js.map +1 -1
- package/dist/server/stream-chart.d.ts +1 -1
- package/dist/server/stream-chart.js +2 -1
- package/dist/server/stream-chart.js.map +1 -1
- package/dist/server/sunburst-chart.d.ts +1 -1
- package/dist/server/sunburst-chart.js +2 -1
- package/dist/server/sunburst-chart.js.map +1 -1
- package/dist/server/tree-chart.d.ts +1 -1
- package/dist/server/tree-chart.js +2 -1
- package/dist/server/tree-chart.js.map +1 -1
- package/dist/server/treemap-chart.d.ts +1 -1
- package/dist/server/treemap-chart.js +2 -1
- package/dist/server/treemap-chart.js.map +1 -1
- package/dist/server/ui/alert.js +2 -1
- package/dist/server/ui/alert.js.map +1 -1
- package/dist/server/ui/avatar.d.ts +18 -0
- package/dist/server/ui/avatar.js +18 -0
- package/dist/server/ui/avatar.js.map +1 -0
- package/dist/server/ui/badge.js +2 -1
- package/dist/server/ui/badge.js.map +1 -1
- package/dist/server/ui/breadcrumb.d.ts +12 -0
- package/dist/server/ui/breadcrumb.js +14 -0
- package/dist/server/ui/breadcrumb.js.map +1 -0
- package/dist/server/ui/card.js +2 -1
- package/dist/server/ui/card.js.map +1 -1
- package/dist/server/ui/descriptions.d.ts +12 -0
- package/dist/server/ui/descriptions.js +14 -0
- package/dist/server/ui/descriptions.js.map +1 -0
- package/dist/server/ui/divider.js +2 -1
- package/dist/server/ui/divider.js.map +1 -1
- package/dist/server/ui/empty.d.ts +14 -0
- package/dist/server/ui/empty.js +14 -0
- package/dist/server/ui/empty.js.map +1 -0
- package/dist/server/ui/glyph.d.ts +12 -0
- package/dist/server/ui/glyph.js +14 -0
- package/dist/server/ui/glyph.js.map +1 -0
- package/dist/server/ui/progress.js +2 -1
- package/dist/server/ui/progress.js.map +1 -1
- package/dist/server/ui/result.d.ts +14 -0
- package/dist/server/ui/result.js +14 -0
- package/dist/server/ui/result.js.map +1 -0
- package/dist/server/ui/skeleton.js +2 -1
- package/dist/server/ui/skeleton.js.map +1 -1
- package/dist/server/ui/statistic.d.ts +12 -0
- package/dist/server/ui/statistic.js +14 -0
- package/dist/server/ui/statistic.js.map +1 -0
- package/dist/server/ui/steps.js +2 -1
- package/dist/server/ui/steps.js.map +1 -1
- package/dist/server/ui/surface.d.ts +13 -0
- package/dist/server/ui/surface.js +14 -0
- package/dist/server/ui/surface.js.map +1 -0
- package/dist/server/ui/table.d.ts +14 -0
- package/dist/server/ui/table.js +14 -0
- package/dist/server/ui/table.js.map +1 -0
- package/dist/server/ui/tag.js +2 -1
- package/dist/server/ui/tag.js.map +1 -1
- package/dist/server/ui/timeline-list.d.ts +12 -0
- package/dist/server/ui/timeline-list.js +14 -0
- package/dist/server/ui/timeline-list.js.map +1 -0
- package/dist/server/vector-field-chart.d.ts +1 -1
- package/dist/server/vector-field-chart.js +2 -1
- package/dist/server/vector-field-chart.js.map +1 -1
- package/dist/server/violin-chart.d.ts +1 -1
- package/dist/server/violin-chart.js +2 -1
- package/dist/server/violin-chart.js.map +1 -1
- package/dist/server/volvelle-chart.d.ts +1 -1
- package/dist/server/volvelle-chart.js +2 -1
- package/dist/server/volvelle-chart.js.map +1 -1
- package/dist/server/waffle-chart.d.ts +1 -1
- package/dist/server/waffle-chart.js +2 -1
- package/dist/server/waffle-chart.js.map +1 -1
- package/dist/server/waterfall-chart.d.ts +1 -1
- package/dist/server/waterfall-chart.js +2 -1
- package/dist/server/waterfall-chart.js.map +1 -1
- package/dist/server/wind-rose.d.ts +1 -1
- package/dist/server/wind-rose.js +2 -1
- package/dist/server/wind-rose.js.map +1 -1
- package/dist/slope-chart.js +3 -3
- package/dist/sparkline-rows.js +3 -3
- package/dist/squarified-treemap.js +4 -4
- package/dist/stacked-bar-chart.js +3 -3
- package/dist/step-chart.js +3 -3
- package/dist/stream-chart.js +3 -3
- package/dist/sunburst-chart.js +4 -4
- package/dist/timeline.d.ts +21 -0
- package/dist/timeline.js +36 -0
- package/dist/timeline.js.map +1 -0
- package/dist/tree-chart.js +3 -3
- package/dist/treemap-chart.js +3 -3
- package/dist/ui/alert.js +3 -3
- package/dist/ui/avatar.d.ts +17 -0
- package/dist/ui/avatar.js +12 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.js +3 -3
- package/dist/ui/breadcrumb.d.ts +11 -0
- package/dist/ui/breadcrumb.js +10 -0
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button.js +3 -3
- package/dist/ui/card.js +3 -3
- package/dist/ui/checkbox.js +3 -3
- package/dist/ui/collapse.d.ts +24 -0
- package/dist/ui/collapse.js +12 -0
- package/dist/ui/collapse.js.map +1 -0
- package/dist/ui/descriptions.d.ts +11 -0
- package/dist/ui/descriptions.js +10 -0
- package/dist/ui/descriptions.js.map +1 -0
- package/dist/ui/divider.js +3 -3
- package/dist/ui/drawer.d.ts +17 -0
- package/dist/ui/drawer.js +11 -0
- package/dist/ui/drawer.js.map +1 -0
- package/dist/ui/dropdown-menu.d.ts +20 -0
- package/dist/ui/dropdown-menu.js +12 -0
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/empty.d.ts +13 -0
- package/dist/ui/empty.js +10 -0
- package/dist/ui/empty.js.map +1 -0
- package/dist/ui/glyph.d.ts +11 -0
- package/dist/ui/glyph.js +10 -0
- package/dist/ui/glyph.js.map +1 -0
- package/dist/ui/input-number.d.ts +20 -0
- package/dist/ui/input-number.js +10 -0
- package/dist/ui/input-number.js.map +1 -0
- package/dist/ui/input.js +3 -3
- package/dist/ui/modal.d.ts +17 -0
- package/dist/ui/modal.js +11 -0
- package/dist/ui/modal.js.map +1 -0
- package/dist/ui/pagination.d.ts +17 -0
- package/dist/ui/pagination.js +10 -0
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/popover.d.ts +16 -0
- package/dist/ui/popover.js +11 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/progress.js +3 -3
- package/dist/ui/radio-group.js +3 -3
- package/dist/ui/rate.js +3 -3
- package/dist/ui/result.d.ts +13 -0
- package/dist/ui/result.js +10 -0
- package/dist/ui/result.js.map +1 -0
- package/dist/ui/segmented.js +3 -3
- package/dist/ui/select.d.ts +21 -0
- package/dist/ui/select.js +12 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/skeleton.js +3 -3
- package/dist/ui/slider.js +3 -3
- package/dist/ui/statistic.d.ts +11 -0
- package/dist/ui/statistic.js +10 -0
- package/dist/ui/statistic.js.map +1 -0
- package/dist/ui/steps.js +3 -3
- package/dist/ui/surface.d.ts +12 -0
- package/dist/ui/surface.js +10 -0
- package/dist/ui/surface.js.map +1 -0
- package/dist/ui/switch.js +3 -3
- package/dist/ui/table.d.ts +13 -0
- package/dist/ui/table.js +10 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.js +3 -3
- package/dist/ui/tag.js +3 -3
- package/dist/ui/textarea.d.ts +16 -0
- package/dist/ui/textarea.js +10 -0
- package/dist/ui/textarea.js.map +1 -0
- package/dist/ui/timeline-list.d.ts +11 -0
- package/dist/ui/timeline-list.js +10 -0
- package/dist/ui/timeline-list.js.map +1 -0
- package/dist/ui/toast.d.ts +25 -0
- package/dist/ui/toast.js +13 -0
- package/dist/ui/toast.js.map +1 -0
- package/dist/ui/tooltip.d.ts +19 -0
- package/dist/ui/tooltip.js +11 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/ui.d.ts +23 -1
- package/dist/ui.js +112 -20
- package/dist/vector-field-chart.js +3 -3
- package/dist/violin-chart.js +3 -3
- package/dist/volvelle-chart.js +3 -3
- package/dist/waffle-chart.js +3 -3
- package/dist/waterfall-chart.js +3 -3
- package/dist/wind-rose.js +3 -3
- package/package.json +203 -4
- package/dist/chunk-46S63XYT.js.map +0 -1
- package/dist/chunk-DO4VUIUU.js.map +0 -1
- package/dist/chunk-FBJLA3P7.js.map +0 -1
- package/dist/chunk-OD6N2ATZ.js.map +0 -1
- package/dist/chunk-SQ6GWXDK.js.map +0 -1
- package/dist/chunk-ZBSCLF56.js.map +0 -1
- /package/dist/{chunk-WZZA2IGN.js.map → chunk-25BXOLN7.js.map} +0 -0
- /package/dist/{chunk-IHWEQR42.js.map → chunk-26PNMZ4N.js.map} +0 -0
- /package/dist/{chunk-5FYPFU6B.js.map → chunk-2HDGFK6O.js.map} +0 -0
- /package/dist/{chunk-I72JGA6Q.js.map → chunk-2NBHAILL.js.map} +0 -0
- /package/dist/{chunk-GUKXFITX.js.map → chunk-3MQJA564.js.map} +0 -0
- /package/dist/{chunk-LSA5XU52.js.map → chunk-3UD7DUEM.js.map} +0 -0
- /package/dist/{chunk-MC7N4KQA.js.map → chunk-45FUDQOF.js.map} +0 -0
- /package/dist/{chunk-FHX2HWN3.js.map → chunk-4QE7BQ7J.js.map} +0 -0
- /package/dist/{chunk-UC7ADKFU.js.map → chunk-5GNJS3Y3.js.map} +0 -0
- /package/dist/{chunk-T2IYBDCL.js.map → chunk-5HX2UUIR.js.map} +0 -0
- /package/dist/{chunk-SNWXRA2D.js.map → chunk-5KS4JD5W.js.map} +0 -0
- /package/dist/{chunk-Y4V5AZ32.js.map → chunk-5M4FS37X.js.map} +0 -0
- /package/dist/{chunk-KOWQNNTS.js.map → chunk-6BZ2752M.js.map} +0 -0
- /package/dist/{chunk-GSJYA76X.js.map → chunk-6Y2V7WIZ.js.map} +0 -0
- /package/dist/{chunk-JPTK2AAT.js.map → chunk-7SZATSRO.js.map} +0 -0
- /package/dist/{chunk-BJZOF2YZ.js.map → chunk-AKOPH5MK.js.map} +0 -0
- /package/dist/{chunk-5FKONGCL.js.map → chunk-ANAAYEMQ.js.map} +0 -0
- /package/dist/{chunk-MYKZWY2E.js.map → chunk-ANIMFO5C.js.map} +0 -0
- /package/dist/{chunk-CWFUPKSS.js.map → chunk-ARN5BO7U.js.map} +0 -0
- /package/dist/{chunk-6M4REUJE.js.map → chunk-B2TSWCF5.js.map} +0 -0
- /package/dist/{chunk-X2F56RYM.js.map → chunk-CAFLXUSL.js.map} +0 -0
- /package/dist/{chunk-G7C4CH54.js.map → chunk-CT2MHXSG.js.map} +0 -0
- /package/dist/{chunk-RMIIFPXA.js.map → chunk-D65O5YJZ.js.map} +0 -0
- /package/dist/{chunk-U3LT444G.js.map → chunk-DL3FIRSO.js.map} +0 -0
- /package/dist/{chunk-AEU6UHVG.js.map → chunk-DOFLNIRZ.js.map} +0 -0
- /package/dist/{chunk-NEOD2DSH.js.map → chunk-DXFQNNRN.js.map} +0 -0
- /package/dist/{chunk-FZ46YSJA.js.map → chunk-DXNSJNEQ.js.map} +0 -0
- /package/dist/{chunk-NWK6VBCJ.js.map → chunk-E6LPQWVM.js.map} +0 -0
- /package/dist/{chunk-KVOBNPDN.js.map → chunk-ELNPDHOC.js.map} +0 -0
- /package/dist/{chunk-YRRWP5HL.js.map → chunk-ENGG7T3F.js.map} +0 -0
- /package/dist/{chunk-ZOB6BH7H.js.map → chunk-EOMPQ2TX.js.map} +0 -0
- /package/dist/{chunk-RIGQTEKW.js.map → chunk-EPTFI4BT.js.map} +0 -0
- /package/dist/{chunk-M3MZMHGS.js.map → chunk-EX7AYOOW.js.map} +0 -0
- /package/dist/{chunk-OSDENB6W.js.map → chunk-F27PSDYP.js.map} +0 -0
- /package/dist/{chunk-DGZN27CF.js.map → chunk-F6H7NPSP.js.map} +0 -0
- /package/dist/{chunk-INHBSJZX.js.map → chunk-FI6FQRFE.js.map} +0 -0
- /package/dist/{chunk-ESFN6FJY.js.map → chunk-GEC5QL7C.js.map} +0 -0
- /package/dist/{chunk-CNRSQPRE.js.map → chunk-GU5HJU7M.js.map} +0 -0
- /package/dist/{chunk-WFO6BICV.js.map → chunk-HHQI7CLZ.js.map} +0 -0
- /package/dist/{chunk-PRVJKYEQ.js.map → chunk-IHIE2DK3.js.map} +0 -0
- /package/dist/{chunk-2JWLXUY5.js.map → chunk-INYDD4FD.js.map} +0 -0
- /package/dist/{chunk-3JXO2533.js.map → chunk-IQQMPYCN.js.map} +0 -0
- /package/dist/{chunk-4CDW7VWK.js.map → chunk-JIVM4CSU.js.map} +0 -0
- /package/dist/{chunk-MS5BH6TU.js.map → chunk-JMVH54WP.js.map} +0 -0
- /package/dist/{chunk-NWRCFNYB.js.map → chunk-JY6ZMAYT.js.map} +0 -0
- /package/dist/{chunk-6EFRIK7Q.js.map → chunk-K2JDM6SF.js.map} +0 -0
- /package/dist/{chunk-RAATAHXZ.js.map → chunk-KMNQTGBN.js.map} +0 -0
- /package/dist/{chunk-C3NHZ4N5.js.map → chunk-M4F272PN.js.map} +0 -0
- /package/dist/{chunk-OP2WE7MA.js.map → chunk-M5R4CNKU.js.map} +0 -0
- /package/dist/{chunk-R7AKJYNB.js.map → chunk-MEHYWMG7.js.map} +0 -0
- /package/dist/{chunk-VKNGQ4NW.js.map → chunk-MOO3XIC2.js.map} +0 -0
- /package/dist/{chunk-UOOHQAJU.js.map → chunk-NNHM6OWA.js.map} +0 -0
- /package/dist/{chunk-3U3Z5U6H.js.map → chunk-NUGUZMON.js.map} +0 -0
- /package/dist/{chunk-6P5Z6IRH.js.map → chunk-O2FNTA5U.js.map} +0 -0
- /package/dist/{chunk-7EH4NGBM.js.map → chunk-O4WI7LKM.js.map} +0 -0
- /package/dist/{chunk-XQTZOVFF.js.map → chunk-OB65KGYJ.js.map} +0 -0
- /package/dist/{chunk-TSQWTDBK.js.map → chunk-PXHT6PD5.js.map} +0 -0
- /package/dist/{chunk-QRYI7BEO.js.map → chunk-QEODW4IP.js.map} +0 -0
- /package/dist/{chunk-3BREGZ7C.js.map → chunk-QJLESIWB.js.map} +0 -0
- /package/dist/{chunk-WMU6O6KZ.js.map → chunk-QKBT4P5O.js.map} +0 -0
- /package/dist/{chunk-LPKOFXAA.js.map → chunk-QOQTPSPV.js.map} +0 -0
- /package/dist/{chunk-4DG5NJWM.js.map → chunk-QVCRJZMJ.js.map} +0 -0
- /package/dist/{chunk-6NXL245Z.js.map → chunk-S2A6EJSX.js.map} +0 -0
- /package/dist/{chunk-6S6VKQ3E.js.map → chunk-SZHYT257.js.map} +0 -0
- /package/dist/{chunk-JWCVL7VE.js.map → chunk-T52NYUKC.js.map} +0 -0
- /package/dist/{chunk-M56MDRNT.js.map → chunk-TTIRFQ2W.js.map} +0 -0
- /package/dist/{chunk-3WUPWJP2.js.map → chunk-TZGI7DMH.js.map} +0 -0
- /package/dist/{chunk-67FND3TB.js.map → chunk-UA3V7LBC.js.map} +0 -0
- /package/dist/{chunk-E7OSOGUT.js.map → chunk-VNVWUIVN.js.map} +0 -0
- /package/dist/{chunk-ART7CMBL.js.map → chunk-VQRXVACI.js.map} +0 -0
- /package/dist/{chunk-K4YKDPDJ.js.map → chunk-XOO5OQHZ.js.map} +0 -0
- /package/dist/{chunk-TH6Q4E7C.js.map → chunk-XZX2HZI7.js.map} +0 -0
- /package/dist/{chunk-DWXG7WLM.js.map → chunk-YHCAIRT3.js.map} +0 -0
- /package/dist/{chunk-L65CMJRG.js.map → chunk-YO2P3ALL.js.map} +0 -0
- /package/dist/{chunk-OAH7AEGE.js.map → chunk-YYI6AXAT.js.map} +0 -0
- /package/dist/{chunk-43AIURD6.js.map → chunk-ZLI7RM6W.js.map} +0 -0
- /package/dist/{chunk-NA6K372D.js.map → chunk-ZMZYJ6I7.js.map} +0 -0
- /package/dist/{chunk-J3E6IUUQ.js.map → chunk-ZVZMIGX4.js.map} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/stream-chart.tsx
|
|
7
7
|
import { streamChart } from "@silverpoint/core";
|
|
@@ -10,4 +10,4 @@ var StreamChart = createClientChart(streamChart);
|
|
|
10
10
|
export {
|
|
11
11
|
StreamChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-NNHM6OWA.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/meter-chart.tsx
|
|
7
7
|
import { meterChart } from "@silverpoint/core";
|
|
@@ -10,4 +10,4 @@ var MeterChart = createClientChart(meterChart);
|
|
|
10
10
|
export {
|
|
11
11
|
MeterChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-NUGUZMON.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/diverging-bar-chart.tsx
|
|
7
7
|
import { divergingBarChart } from "@silverpoint/core/catalog";
|
|
@@ -10,4 +10,4 @@ var DivergingBarChart = createClientChart(divergingBarChart);
|
|
|
10
10
|
export {
|
|
11
11
|
DivergingBarChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-O2FNTA5U.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/network-chart.tsx
|
|
7
7
|
import { networkChart } from "@silverpoint/core/catalog";
|
|
@@ -10,4 +10,4 @@ var NetworkChart = createClientChart(networkChart);
|
|
|
10
10
|
export {
|
|
11
11
|
NetworkChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-O4WI7LKM.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/marimekko-chart.tsx
|
|
7
7
|
import { marimekkoChart } from "@silverpoint/core/catalog";
|
|
@@ -10,4 +10,4 @@ var MarimekkoChart = createClientChart(marimekkoChart);
|
|
|
10
10
|
export {
|
|
11
11
|
MarimekkoChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-OB65KGYJ.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/orbit-chart.tsx
|
|
7
7
|
import { orbitChart } from "@silverpoint/core";
|
|
@@ -10,4 +10,4 @@ var OrbitChart = createClientChart(orbitChart);
|
|
|
10
10
|
export {
|
|
11
11
|
OrbitChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-PXHT6PD5.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import {
|
|
3
|
+
renderUi,
|
|
4
|
+
useUi
|
|
5
|
+
} from "./chunk-DX6FUHGB.js";
|
|
6
|
+
|
|
7
|
+
// src/ui/result.tsx
|
|
8
|
+
import { uiResultView } from "@silverpoint/core/ui";
|
|
9
|
+
function SpResult({ extra, dashboardCell, ...props }) {
|
|
10
|
+
return renderUi(uiResultView(props, useUi(props, dashboardCell), { extra: extra != null }), { slots: { extra } });
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
SpResult
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=chunk-Q6VFHFX3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/result.tsx"],"sourcesContent":["import { uiResultView, type SpResultProps as CoreProps } from '@silverpoint/core/ui';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useUi, type UiCellProps } from './base';\nimport { renderUi } from './render';\n\nexport interface SpResultProps extends CoreProps, UiCellProps {\n /** Actions under the description. */\n readonly extra?: ReactNode;\n}\n\n/** `SpResult`: the status glyph in a round frame; status or alert by its kind (REQ-483). `@silverpoint/react/server/ui/result` renders it in a Server Component. */\nexport function SpResult({ extra, dashboardCell, ...props }: SpResultProps) {\n return renderUi(uiResultView(props, useUi(props, dashboardCell), { extra: extra != null }), { slots: { extra } }) as ReactElement;\n}\n"],"mappings":";;;;;;;AAAA,SAAS,oBAAqD;AAWvD,SAAS,SAAS,EAAE,OAAO,eAAe,GAAG,MAAM,GAAkB;AAC1E,SAAO,SAAS,aAAa,OAAO,MAAM,OAAO,aAAa,GAAG,EAAE,OAAO,SAAS,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAClH;","names":[]}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
styleObject
|
|
3
|
+
} from "./chunk-XPLCIRDZ.js";
|
|
4
|
+
|
|
1
5
|
// src/ui/render.tsx
|
|
2
6
|
import { createElement } from "react";
|
|
3
|
-
var PROPS = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
7
|
+
var PROPS = {
|
|
8
|
+
class: "className",
|
|
9
|
+
for: "htmlFor",
|
|
10
|
+
readonly: "readOnly",
|
|
11
|
+
tabindex: "tabIndex",
|
|
12
|
+
colspan: "colSpan",
|
|
13
|
+
maxlength: "maxLength",
|
|
14
|
+
inputmode: "inputMode"
|
|
15
|
+
};
|
|
12
16
|
function renderUi(node, bindings, root = true) {
|
|
13
17
|
if ("text" in node) return node.text;
|
|
14
18
|
if ("slot" in node) return bindings.slots?.[node.slot] ?? null;
|
|
@@ -19,6 +23,8 @@ function renderUi(node, bindings, root = true) {
|
|
|
19
23
|
if (root) Object.assign(props, bindings.root);
|
|
20
24
|
if (node.bind === "native") Object.assign(props, typeof bindings.native === "function" ? bindings.native(node) : bindings.native);
|
|
21
25
|
if (node.bind === "close") Object.assign(props, bindings.close);
|
|
26
|
+
else if (node.bind && node.bind !== "native") Object.assign(props, bindings.bound?.[node.bind]?.(node));
|
|
27
|
+
if (node.tag === "textarea") return createElement(node.tag, props);
|
|
22
28
|
return createElement(node.tag, props, ...node.children.map((child) => renderUi(child, bindings, false)));
|
|
23
29
|
}
|
|
24
30
|
function textOf(children) {
|
|
@@ -30,4 +36,4 @@ export {
|
|
|
30
36
|
renderUi,
|
|
31
37
|
textOf
|
|
32
38
|
};
|
|
33
|
-
//# sourceMappingURL=chunk-
|
|
39
|
+
//# sourceMappingURL=chunk-QEHVGOJA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/render.tsx"],"sourcesContent":["import type { UiBind, UiElement, UiNode, UiSlot } from '@silverpoint/core/ui';\nimport { createElement, type ReactNode } from 'react';\nimport { styleObject } from '../style';\n\n/** HTML attribute names React spells differently. */\nconst PROPS: Readonly<Record<string, string>> = {\n class: 'className',\n for: 'htmlFor',\n readonly: 'readOnly',\n tabindex: 'tabIndex',\n colspan: 'colSpan',\n maxlength: 'maxLength',\n inputmode: 'inputMode',\n};\n\nexport interface UiBindings {\n /** Props added to the root element: a ref, a click handler. */\n readonly root?: Readonly<Record<string, unknown>>;\n /**\n * Props added to each element the core marks `native`: value, handlers, a ref. A function when a\n * composite has several (one radio per item), each told apart by its own attributes.\n */\n readonly native?: Readonly<Record<string, unknown>> | ((node: UiElement) => Readonly<Record<string, unknown>>);\n /** Props added to the close button of a Tag or an Alert. */\n readonly close?: Readonly<Record<string, unknown>>;\n /** Props added to the elements the core marks with another `bind` (a Table's `sort` headers…), each told apart by its attributes. */\n readonly bound?: Partial<Record<UiBind, (node: UiElement) => Readonly<Record<string, unknown>>>>;\n readonly slots?: Partial<Record<UiSlot, ReactNode>>;\n}\n\n/**\n * Writes the core's view tree as React elements (API delta §4): the markup is the core's, attribute\n * for attribute; this adds only the bindings. No hooks, so a server entry uses it as well (REQ-104).\n */\nexport function renderUi(node: UiNode, bindings: UiBindings, root = true): ReactNode {\n if ('text' in node) return node.text;\n if ('slot' in node) return bindings.slots?.[node.slot] ?? null;\n const props: Record<string, unknown> = {};\n for (const [name, value] of Object.entries(node.attrs)) {\n props[PROPS[name] ?? name] = name === 'style' && typeof value === 'string' ? styleObject(value) : value;\n }\n if (root) Object.assign(props, bindings.root);\n if (node.bind === 'native') Object.assign(props, typeof bindings.native === 'function' ? bindings.native(node) : bindings.native);\n if (node.bind === 'close') Object.assign(props, bindings.close);\n else if (node.bind && node.bind !== 'native') Object.assign(props, bindings.bound?.[node.bind]?.(node));\n // React writes a `<textarea>`'s content from its `value`, which the native binding gives.\n if (node.tag === 'textarea') return createElement(node.tag, props);\n return createElement(node.tag, props, ...node.children.map((child) => renderUi(child, bindings, false)));\n}\n\n/** Text content, when the children are text: what the accessible-name check reads (REQ-319). */\nexport function textOf(children: unknown): string | undefined {\n if (typeof children === 'string' || typeof children === 'number') return String(children);\n return children === undefined || children === null || children === false ? undefined : '·';\n}\n"],"mappings":";;;;;AACA,SAAS,qBAAqC;AAI9C,IAAM,QAA0C;AAAA,EAC9C,OAAO;AAAA,EACP,KAAK;AAAA,EACL,UAAU;AAAA,EACV,UAAU;AAAA,EACV,SAAS;AAAA,EACT,WAAW;AAAA,EACX,WAAW;AACb;AAqBO,SAAS,SAAS,MAAc,UAAsB,OAAO,MAAiB;AACnF,MAAI,UAAU,KAAM,QAAO,KAAK;AAChC,MAAI,UAAU,KAAM,QAAO,SAAS,QAAQ,KAAK,IAAI,KAAK;AAC1D,QAAM,QAAiC,CAAC;AACxC,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ,KAAK,KAAK,GAAG;AACtD,UAAM,MAAM,IAAI,KAAK,IAAI,IAAI,SAAS,WAAW,OAAO,UAAU,WAAW,YAAY,KAAK,IAAI;AAAA,EACpG;AACA,MAAI,KAAM,QAAO,OAAO,OAAO,SAAS,IAAI;AAC5C,MAAI,KAAK,SAAS,SAAU,QAAO,OAAO,OAAO,OAAO,SAAS,WAAW,aAAa,SAAS,OAAO,IAAI,IAAI,SAAS,MAAM;AAChI,MAAI,KAAK,SAAS,QAAS,QAAO,OAAO,OAAO,SAAS,KAAK;AAAA,WACrD,KAAK,QAAQ,KAAK,SAAS,SAAU,QAAO,OAAO,OAAO,SAAS,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC;AAEtG,MAAI,KAAK,QAAQ,WAAY,QAAO,cAAc,KAAK,KAAK,KAAK;AACjE,SAAO,cAAc,KAAK,KAAK,OAAO,GAAG,KAAK,SAAS,IAAI,CAAC,UAAU,SAAS,OAAO,UAAU,KAAK,CAAC,CAAC;AACzG;AAGO,SAAS,OAAO,UAAuC;AAC5D,MAAI,OAAO,aAAa,YAAY,OAAO,aAAa,SAAU,QAAO,OAAO,QAAQ;AACxF,SAAO,aAAa,UAAa,aAAa,QAAQ,aAAa,QAAQ,SAAY;AACzF;","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
renderUi,
|
|
4
4
|
useUi,
|
|
5
5
|
useValue
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DX6FUHGB.js";
|
|
7
7
|
|
|
8
8
|
// src/ui/input.tsx
|
|
9
9
|
import { uiInputView } from "@silverpoint/core/ui";
|
|
@@ -18,4 +18,4 @@ var SpInput = forwardRef(function SpInput2({ value, defaultValue, onChange, pref
|
|
|
18
18
|
export {
|
|
19
19
|
SpInput
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
21
|
+
//# sourceMappingURL=chunk-QEODW4IP.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/bubble-chart.tsx
|
|
7
7
|
import { bubbleChart } from "@silverpoint/core";
|
|
@@ -10,4 +10,4 @@ var BubbleChart = createClientChart(bubbleChart);
|
|
|
10
10
|
export {
|
|
11
11
|
BubbleChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-QJLESIWB.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
renderUi,
|
|
4
4
|
useUi,
|
|
5
5
|
useValue
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DX6FUHGB.js";
|
|
7
7
|
|
|
8
8
|
// src/ui/slider.tsx
|
|
9
9
|
import { uiSliderView } from "@silverpoint/core/ui";
|
|
@@ -18,4 +18,4 @@ var SpSlider = forwardRef(function SpSlider2({ value, defaultValue, onChange, da
|
|
|
18
18
|
export {
|
|
19
19
|
SpSlider
|
|
20
20
|
};
|
|
21
|
-
//# sourceMappingURL=chunk-
|
|
21
|
+
//# sourceMappingURL=chunk-QKBT4P5O.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/vector-field-chart.tsx
|
|
7
7
|
import { vectorFieldChart } from "@silverpoint/core/catalog";
|
|
@@ -10,4 +10,4 @@ var VectorFieldChart = createClientChart(vectorFieldChart);
|
|
|
10
10
|
export {
|
|
11
11
|
VectorFieldChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-QOQTPSPV.js.map
|
|
@@ -4,10 +4,11 @@ import {
|
|
|
4
4
|
} from "./chunk-4GQ5X2WK.js";
|
|
5
5
|
import {
|
|
6
6
|
SilverpointContext,
|
|
7
|
+
styleObject,
|
|
7
8
|
useForcedPrecision,
|
|
8
9
|
useMeasuredWidth,
|
|
9
10
|
useTypefaceCheck
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-M2NKE3GQ.js";
|
|
11
12
|
|
|
12
13
|
// src/create-chart.tsx
|
|
13
14
|
import {
|
|
@@ -100,6 +101,7 @@ function ChartFrame({ rendered, className, rootProps, rootRef, overlay }) {
|
|
|
100
101
|
"data-substrate": rendered.substrate,
|
|
101
102
|
"data-chrome": rendered.chrome,
|
|
102
103
|
"data-status": rendered.status,
|
|
104
|
+
style: rendered.style ? styleObject(rendered.style) : void 0,
|
|
103
105
|
ref: rootRef,
|
|
104
106
|
...rootProps,
|
|
105
107
|
children: [
|
|
@@ -230,4 +232,4 @@ function createClientChart(recipe) {
|
|
|
230
232
|
export {
|
|
231
233
|
createClientChart
|
|
232
234
|
};
|
|
233
|
-
//# sourceMappingURL=chunk-
|
|
235
|
+
//# sourceMappingURL=chunk-QRQ4RFCB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/create-chart.tsx","../src/chart-svg.tsx","../src/chart-frame.tsx","../src/overlay.tsx"],"sourcesContent":["import {\n inCell,\n instanceId,\n linkFrom,\n reduceInteraction,\n type ActiveItem,\n type ChartHandle,\n type ChartRecipe,\n type CommonChartProps,\n type InteractionEvent,\n type PointerKind,\n} from '@silverpoint/core';\nimport { renderChart, toSVGString } from '@silverpoint/grounds';\nimport {\n forwardRef,\n useContext,\n useEffect,\n useId,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type ForwardRefExoticComponent,\n type KeyboardEvent,\n type PointerEvent,\n type RefAttributes,\n} from 'react';\nimport { ChartFrame } from './chart-frame';\nimport type { CellChartProps } from './dashboard-markup';\nimport { DashboardLinkContext } from './link-context';\nimport { SilverpointContext } from './context';\nimport { useForcedPrecision, useMeasuredWidth, useTypefaceCheck } from './environment';\nimport { Overlay, type TooltipRenderer } from './overlay';\n\nexport type { ChartHandle };\n\n/** Interaction props of the client components (API Spec §9). */\nexport interface InteractionProps {\n /** The active item changed, or `null` when it cleared (REQ-141, REQ-143). */\n onActiveChange?: (item: ActiveItem | null) => void;\n /** An item was chosen by click, Enter or Space. */\n onSelect?: (item: ActiveItem) => void;\n /** Replaces the built-in readout (REQ-142). */\n tooltip?: TooltipRenderer;\n}\n\nexport type ClientChart<P> = ForwardRefExoticComponent<P & InteractionProps & RefAttributes<ChartHandle>>;\n\n/**\n * The client component of a recipe: it measures, renders through the core pipeline and forwards\n * interaction events to the core's reducer. Every client chart is this function applied to its\n * recipe, so the charts differ only in the recipe (Art. 2).\n */\nexport function createClientChart<P extends CommonChartProps>(recipe: ChartRecipe<P>): ClientChart<P> {\n const Chart = forwardRef<ChartHandle, P & InteractionProps & CellChartProps>(function Chart(allProps, ref) {\n const { onActiveChange, onSelect, tooltip } = allProps;\n const provider = useContext(SilverpointContext);\n const link = useContext(DashboardLinkContext);\n const generated = useId();\n const rootRef = useRef<HTMLDivElement>(null);\n const forcedPrecision = useForcedPrecision();\n useTypefaceCheck(recipe.name);\n const measured = useMeasuredWidth(rootRef, allProps.width === undefined);\n\n const rendered = useMemo(() => {\n // Inside a dashboard cell: its id, height and config, and its nominal width until measured\n // (REQ-206, REQ-207, REQ-209, REQ-212); the chart's own props win.\n const { dashboardCell, ...own } = allProps;\n const fitted = inCell(own as unknown as P, dashboardCell, recipe);\n return renderChart(recipe, fitted.props, {\n id: instanceId(recipe.name, generated),\n width: measured ?? fitted.width,\n provider,\n forcedPrecision,\n });\n // Keyed on the props object React hands in, which is stable across this component's own\n // state changes, so moving the pointer never re-inks the chart.\n }, [allProps, generated, measured, provider, forcedPrecision]);\n\n const [active, setActive] = useState<ActiveItem | null>(null);\n const dispatch = (event: InteractionEvent): boolean => {\n const result = reduceInteraction(rendered.geometry, active, event);\n if (result.changed) {\n setActive(result.active);\n onActiveChange?.(result.active);\n // In a linked dashboard this chart becomes the source, or clears the link (REQ-216, REQ-218).\n link?.set(linkFrom(link.key, rendered.id, result.active));\n }\n if (result.selected) onSelect?.(result.selected);\n return result.handled;\n };\n // WCAG 1.4.13: a readout shown by the pointer is dismissible with Escape wherever focus is.\n const latest = useRef(dispatch);\n latest.current = dispatch;\n const showing = active !== null;\n useEffect(() => {\n if (!showing) return undefined;\n const onKey = (event: globalThis.KeyboardEvent) => {\n if (event.key === 'Escape' && !rootRef.current?.contains(event.target as Node)) latest.current({ type: 'key', key: 'Escape' });\n };\n document.addEventListener('keydown', onKey);\n return () => document.removeEventListener('keydown', onKey);\n }, [showing]);\n const pointer = (type: 'pointer' | 'click') => (event: PointerEvent<HTMLDivElement>) => {\n const svg = rootRef.current?.querySelector('svg.sp-chart');\n if (!svg) return;\n const box = svg.getBoundingClientRect();\n dispatch({\n type,\n client: { x: event.clientX, y: event.clientY },\n box: { left: box.left, top: box.top, width: box.width, height: box.height },\n kind: (event.pointerType || 'mouse') as PointerKind,\n });\n };\n const rootProps = {\n tabIndex: 0,\n role: 'group',\n 'aria-label': rendered.name,\n onPointerMove: pointer('pointer'),\n onPointerDown: pointer('pointer'),\n onClick: pointer('click'),\n onPointerLeave: () => dispatch({ type: 'leave' }),\n onFocus: () => dispatch({ type: 'focus' }),\n onBlur: () => dispatch({ type: 'blur' }),\n onKeyDown: (event: KeyboardEvent<HTMLDivElement>) => {\n if (dispatch({ type: 'key', key: event.key })) event.preventDefault();\n },\n };\n\n useImperativeHandle(\n ref,\n () => ({\n getGeometry: () => rendered.geometry,\n toSVGString: () => toSVGString(rendered),\n }),\n [rendered],\n );\n\n return (\n <ChartFrame\n rendered={rendered}\n className={allProps.className}\n rootRef={rootRef}\n rootProps={rootProps}\n overlay={<Overlay rendered={rendered} active={active} tooltip={tooltip} />}\n />\n );\n });\n Chart.displayName = recipe.name;\n return Chart as ClientChart<P>;\n}\n","import type { PathView, SvgView } from '@silverpoint/core';\n\nfunction Path({ path }: { readonly path: PathView }) {\n return (\n <path\n d={path.d}\n part={path.part}\n data-role={path.role}\n data-paint={path.paint}\n data-dash={path.dash ?? undefined}\n data-weight={path.weight ?? undefined}\n fill={path.fill ?? undefined}\n />\n );\n}\n\n/** Writes the core's SVG view one field to one attribute; computes nothing (Art. 2). */\nexport function ChartSvg({ view }: { readonly view: SvgView }) {\n const { svg } = view;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={svg.viewBox}\n width={svg.width}\n height={svg.height}\n className={svg.class}\n data-substrate={svg.substrate}\n data-mode={svg.mode}\n role={svg.role}\n aria-labelledby={svg.labelledby}\n >\n <title id={view.title.id}>{view.title.text}</title>\n <desc id={view.desc.id}>{view.desc.text}</desc>\n {view.patterns.length > 0 && (\n <defs>\n {view.patterns.map((pattern) => (\n <pattern\n key={pattern.id}\n id={pattern.id}\n width={pattern.width}\n height={pattern.height}\n patternUnits=\"userSpaceOnUse\"\n patternTransform={pattern.transform}\n >\n {pattern.paths.map((path, index) => (\n <Path key={index} path={path} />\n ))}\n </pattern>\n ))}\n </defs>\n )}\n {view.paths.map((path, index) => (\n <Path key={index} path={path} />\n ))}\n {view.texts.map((text, index) => (\n <text key={index} x={text.x} y={text.y} part={text.part} data-kind={text.kind} textAnchor={text.anchor}>\n {text.text}\n </text>\n ))}\n </svg>\n );\n}\n","import type { DataTable } from '@silverpoint/core';\nimport type { RenderedChart } from '@silverpoint/grounds';\nimport type { HTMLAttributes, ReactNode, Ref } from 'react';\nimport { ChartSvg } from './chart-svg';\nimport { styleObject } from './style';\n\nfunction Table({ table, id, visibility }: { readonly table: DataTable; readonly id: string; readonly visibility: string }) {\n return (\n <div className=\"sp-table-box\" data-visibility={visibility}>\n <table className=\"sp-table\" id={id} data-visibility={visibility}>\n <caption>{table.caption}</caption>\n <thead>\n <tr>\n {table.columns.map((column, index) => (\n <th key={index} scope=\"col\">\n {column}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {table.rows.map((row, index) => (\n <tr key={index}>\n {row.map((cell, column) =>\n column === 0 ? (\n <th key={column} scope=\"row\">\n {cell}\n </th>\n ) : (\n <td key={column}>{cell}</td>\n ),\n )}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n}\n\nexport interface ChartFrameProps {\n readonly rendered: RenderedChart;\n readonly className?: string;\n /** Interaction handlers and focus attributes, supplied by the client component only. */\n readonly rootProps?: HTMLAttributes<HTMLDivElement>;\n readonly rootRef?: Ref<HTMLDivElement>;\n /** Readout and marker, drawn over the chart by the client component. */\n readonly overlay?: ReactNode;\n}\n\n/** The chart's DOM: root, SVG, overlay and tabular alternative (API Spec §10). */\nexport function ChartFrame({ rendered, className, rootProps, rootRef, overlay }: ChartFrameProps) {\n const classes = ['sp-root', `sp-ground-${rendered.ground}`, className].filter(Boolean).join(' ');\n return (\n <div\n className={classes}\n data-substrate={rendered.substrate}\n data-chrome={rendered.chrome}\n data-status={rendered.status}\n style={rendered.style ? styleObject(rendered.style) : undefined}\n ref={rootRef}\n {...rootProps}\n >\n <ChartSvg view={rendered.view} />\n {overlay}\n {rendered.dataTable !== 'none' && (\n <Table table={rendered.table} id={rendered.ids.table} visibility={rendered.dataTable} />\n )}\n </div>\n );\n}\n","import { linkedMarks, readout, type ActiveItem, type Readout } from '@silverpoint/core';\nimport type { RenderedChart } from '@silverpoint/grounds';\nimport { useContext, type ReactNode } from 'react';\nimport { DashboardLinkContext } from './link-context';\n\n/** A consumer-supplied readout renderer (REQ-142). */\nexport type TooltipRenderer = (active: ActiveItem, readout: Readout) => ReactNode;\n\n/**\n * Marker, readout and live region of the active item (REQ-141, REQ-122). Every number comes from\n * the core's `readout`; this component only places it.\n */\nexport function Overlay({\n rendered,\n active,\n tooltip,\n}: {\n readonly rendered: RenderedChart;\n readonly active: ActiveItem | null;\n readonly tooltip?: TooltipRenderer;\n}) {\n const current = active ? readout(rendered, active) : null;\n // Another chart's linked item, marked here and hidden from assistive technology (REQ-216, REQ-218).\n const linked = linkedMarks(rendered, useContext(DashboardLinkContext)?.state);\n return (\n <>\n {linked.length > 0 && (\n <svg className=\"sp-marker\" part=\"linked\" viewBox={rendered.view.svg.viewBox} aria-hidden=\"true\" focusable=\"false\">\n {linked.map((d, index) => (\n <path key={index} d={d} />\n ))}\n </svg>\n )}\n {current && active && (\n <>\n <svg className=\"sp-marker\" viewBox={rendered.view.svg.viewBox} aria-hidden=\"true\" focusable=\"false\">\n <path d={current.marker.d} />\n </svg>\n <div className=\"sp-readout\" style={{ left: current.left, top: current.top }} aria-hidden=\"true\">\n {tooltip ? (\n tooltip(active, current)\n ) : (\n <>\n <span className=\"sp-readout-heading\">{current.heading}</span>\n {current.text}\n </>\n )}\n </div>\n </>\n )}\n <div className=\"sp-live\" aria-live=\"polite\">\n {current ? current.announcement : ''}\n </div>\n </>\n );\n}\n"],"mappings":"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","names":["useContext","jsx","jsxs","jsx","jsxs","jsx","Chart","useContext"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/delaunay-chart.tsx
|
|
7
7
|
import { delaunayChart } from "@silverpoint/core/catalog";
|
|
@@ -10,4 +10,4 @@ var DelaunayChart = createClientChart(delaunayChart);
|
|
|
10
10
|
export {
|
|
11
11
|
DelaunayChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-QVCRJZMJ.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// src/dashboard-markup.tsx
|
|
2
2
|
import { dashboardView } from "@silverpoint/core";
|
|
3
|
+
import { paletteStyle, resolvePalette } from "@silverpoint/core/palettes";
|
|
3
4
|
import { Children, cloneElement, isValidElement } from "react";
|
|
4
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
5
6
|
function DashboardCell({ children }) {
|
|
@@ -13,7 +14,7 @@ function DashboardMarkup({ children, wrapGrid, ...props }) {
|
|
|
13
14
|
const chart = isValidElement(content) ? content : void 0;
|
|
14
15
|
return { cell: marked ? child.props.cell : void 0, id: chart?.props.id, content, chart };
|
|
15
16
|
});
|
|
16
|
-
const view = dashboardView(props, given.map(({ cell, id }) => ({ cell, id })));
|
|
17
|
+
const view = dashboardView(props, given.map(({ cell, id }) => ({ cell, id })), paletteStyle(resolvePalette(props.palette)));
|
|
17
18
|
const Heading = view.heading ? `h${view.heading.level}` : void 0;
|
|
18
19
|
const grid = /* @__PURE__ */ jsx("div", { className: "sp-dashboard-grid", part: "dashboard-grid", children: view.cells.map((cell) => {
|
|
19
20
|
const { chart, content } = given[cell.child];
|
|
@@ -42,4 +43,4 @@ export {
|
|
|
42
43
|
DashboardCell,
|
|
43
44
|
DashboardMarkup
|
|
44
45
|
};
|
|
45
|
-
//# sourceMappingURL=chunk-
|
|
46
|
+
//# sourceMappingURL=chunk-R66XACVV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/dashboard-markup.tsx"],"sourcesContent":["import { dashboardView, type DashboardCellContext, type DashboardProps } from '@silverpoint/core';\nimport { paletteStyle, resolvePalette } from '@silverpoint/core/palettes';\nimport { Children, cloneElement, isValidElement, type CSSProperties, type ReactElement, type ReactNode } from 'react';\n\nexport interface DashboardCellProps {\n /** The layout cell this child fills. Omitted: next in source order, span 1 (API Spec §7.1). */\n readonly cell?: string;\n /** The chart. A single element receives the cell's id, size and configuration. */\n readonly children?: ReactNode;\n}\n\n/**\n * Marks a child of `Dashboard` with its layout cell. Rendered on its own it is its children; inside\n * a dashboard, the dashboard reads its `cell` and emits it as an `article` (REQ-200).\n */\nexport function DashboardCell({ children }: DashboardCellProps) {\n return <>{children}</>;\n}\n\n/** The internal prop through which a cell hands its chart id, box and config (TD §3.3). */\nexport interface CellChartProps {\n readonly dashboardCell?: DashboardCellContext;\n}\n\nconst asStyle = (vars: Readonly<Record<string, string>>) => vars as CSSProperties;\n\n/**\n * The dashboard's DOM (API Spec §10), shared by the client and server entries. It computes\n * nothing: the core's `dashboardView` gives every attribute, and each cell's chart gets its\n * context as a prop, which crosses a Server Components boundary as plain data (Art. 2).\n */\nexport function DashboardMarkup({ children, wrapGrid, ...props }: DashboardProps & { readonly children?: ReactNode; readonly wrapGrid?: (grid: ReactNode) => ReactNode }) {\n const given = Children.toArray(children).map((child) => {\n const marked = isValidElement<DashboardCellProps>(child) && child.type === DashboardCell;\n const content = marked ? child.props.children : child;\n const chart = isValidElement<{ id?: string }>(content) ? content : undefined;\n return { cell: marked ? child.props.cell : undefined, id: chart?.props.id, content, chart };\n });\n // Its own palette only: this renders in Server Components, which read no provider (DD-037).\n const view = dashboardView(props, given.map(({ cell, id }) => ({ cell, id })), paletteStyle(resolvePalette(props.palette)));\n const Heading = view.heading ? (`h${view.heading.level}` as const) : undefined;\n const grid = (\n <div className=\"sp-dashboard-grid\" part=\"dashboard-grid\">\n {view.cells.map((cell) => {\n const { chart, content } = given[cell.child]!;\n return (\n <article key={cell.context.chartId} className=\"sp-dashboard-cell\" part=\"dashboard-cell\" aria-labelledby={cell.labelledby} style={asStyle(cell.style)}>\n {chart ? cloneElement(chart as ReactElement<CellChartProps>, { dashboardCell: cell.context }) : content}\n </article>\n );\n })}\n </div>\n );\n return (\n <section\n className={view.section.className}\n part=\"dashboard\"\n data-substrate={view.section.substrate}\n aria-labelledby={view.section.labelledby}\n aria-describedby={view.section.describedby}\n aria-label={view.section.label}\n style={asStyle(view.section.style)}\n >\n {Heading && view.heading && (\n <Heading className=\"sp-dashboard-title\" part=\"dashboard-title\" id={view.heading.id}>\n {view.heading.text}\n </Heading>\n )}\n {view.description && (\n <p className=\"sp-dashboard-description\" part=\"dashboard-description\" id={view.description.id}>\n {view.description.text}\n </p>\n )}\n {wrapGrid ? wrapGrid(grid) : grid}\n </section>\n );\n}\n"],"mappings":";AAAA,SAAS,qBAAqE;AAC9E,SAAS,cAAc,sBAAsB;AAC7C,SAAS,UAAU,cAAc,sBAA6E;AAcrG,wBAsCL,YAtCK;AADF,SAAS,cAAc,EAAE,SAAS,GAAuB;AAC9D,SAAO,gCAAG,UAAS;AACrB;AAOA,IAAM,UAAU,CAAC,SAA2C;AAOrD,SAAS,gBAAgB,EAAE,UAAU,UAAU,GAAG,MAAM,GAA2G;AACxK,QAAM,QAAQ,SAAS,QAAQ,QAAQ,EAAE,IAAI,CAAC,UAAU;AACtD,UAAM,SAAS,eAAmC,KAAK,KAAK,MAAM,SAAS;AAC3E,UAAM,UAAU,SAAS,MAAM,MAAM,WAAW;AAChD,UAAM,QAAQ,eAAgC,OAAO,IAAI,UAAU;AACnE,WAAO,EAAE,MAAM,SAAS,MAAM,MAAM,OAAO,QAAW,IAAI,OAAO,MAAM,IAAI,SAAS,MAAM;AAAA,EAC5F,CAAC;AAED,QAAM,OAAO,cAAc,OAAO,MAAM,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM,GAAG,EAAE,GAAG,aAAa,eAAe,MAAM,OAAO,CAAC,CAAC;AAC1H,QAAM,UAAU,KAAK,UAAW,IAAI,KAAK,QAAQ,KAAK,KAAe;AACrE,QAAM,OACJ,oBAAC,SAAI,WAAU,qBAAoB,MAAK,kBACrC,eAAK,MAAM,IAAI,CAAC,SAAS;AACxB,UAAM,EAAE,OAAO,QAAQ,IAAI,MAAM,KAAK,KAAK;AAC3C,WACE,oBAAC,aAAmC,WAAU,qBAAoB,MAAK,kBAAiB,mBAAiB,KAAK,YAAY,OAAO,QAAQ,KAAK,KAAK,GAChJ,kBAAQ,aAAa,OAAuC,EAAE,eAAe,KAAK,QAAQ,CAAC,IAAI,WADpF,KAAK,QAAQ,OAE3B;AAAA,EAEJ,CAAC,GACH;AAEF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,KAAK,QAAQ;AAAA,MACxB,MAAK;AAAA,MACL,kBAAgB,KAAK,QAAQ;AAAA,MAC7B,mBAAiB,KAAK,QAAQ;AAAA,MAC9B,oBAAkB,KAAK,QAAQ;AAAA,MAC/B,cAAY,KAAK,QAAQ;AAAA,MACzB,OAAO,QAAQ,KAAK,QAAQ,KAAK;AAAA,MAEhC;AAAA,mBAAW,KAAK,WACf,oBAAC,WAAQ,WAAU,sBAAqB,MAAK,mBAAkB,IAAI,KAAK,QAAQ,IAC7E,eAAK,QAAQ,MAChB;AAAA,QAED,KAAK,eACJ,oBAAC,OAAE,WAAU,4BAA2B,MAAK,yBAAwB,IAAI,KAAK,YAAY,IACvF,eAAK,YAAY,MACpB;AAAA,QAED,WAAW,SAAS,IAAI,IAAI;AAAA;AAAA;AAAA,EAC/B;AAEJ;","names":[]}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
styleObject
|
|
3
|
+
} from "./chunk-XPLCIRDZ.js";
|
|
4
|
+
|
|
1
5
|
// src/server/create-server-chart.tsx
|
|
2
6
|
import { diagnose, inCell, instanceId } from "@silverpoint/core";
|
|
3
7
|
import { renderChart } from "@silverpoint/grounds";
|
|
@@ -74,6 +78,7 @@ function ChartFrame({ rendered, className, rootProps, rootRef, overlay }) {
|
|
|
74
78
|
"data-substrate": rendered.substrate,
|
|
75
79
|
"data-chrome": rendered.chrome,
|
|
76
80
|
"data-status": rendered.status,
|
|
81
|
+
style: rendered.style ? styleObject(rendered.style) : void 0,
|
|
77
82
|
ref: rootRef,
|
|
78
83
|
...rootProps,
|
|
79
84
|
children: [
|
|
@@ -104,4 +109,4 @@ function createServerChart(recipe) {
|
|
|
104
109
|
export {
|
|
105
110
|
createServerChart
|
|
106
111
|
};
|
|
107
|
-
//# sourceMappingURL=chunk-
|
|
112
|
+
//# sourceMappingURL=chunk-RE4ZOKKK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/server/create-server-chart.tsx","../src/chart-svg.tsx","../src/chart-frame.tsx"],"sourcesContent":["import { diagnose, inCell, instanceId, type ChartRecipe, type CommonChartProps } from '@silverpoint/core';\nimport { renderChart } from '@silverpoint/grounds';\nimport { ChartFrame } from '../chart-frame';\nimport type { CellChartProps } from '../dashboard-markup';\n\n/**\n * Props of a server chart: pure SVG, no client JavaScript (REQ-104); interaction props do not\n * exist here. Nothing can be measured on the server and a server component has no mount position\n * to derive a unique id from (TD §6), so a chart standing alone passes `id`, `width` and `height`;\n * inside a `Dashboard` the cell supplies them (REQ-206, REQ-209).\n */\nexport type ServerChartProps<P extends CommonChartProps> = Omit<P, 'id' | 'width' | 'height'> & {\n readonly id?: string;\n readonly width?: number;\n readonly height?: number;\n readonly onActiveChange?: never;\n readonly onSelect?: never;\n};\n\n/** The server component of a recipe, for React Server Components and static rendering. */\nexport function createServerChart<P extends CommonChartProps>(recipe: ChartRecipe<P>) {\n function Chart({ dashboardCell, ...own }: ServerChartProps<P> & CellChartProps) {\n const { props, width } = inCell(own as unknown as P, dashboardCell, recipe);\n if (process.env.NODE_ENV !== 'production') {\n if (props.id === undefined) diagnose('SP002', recipe.name, { property: 'id', message: 'A server chart outside a Dashboard needs an `id`; a fixed one is used, which two such charts on a page would share.' });\n if (width === undefined) diagnose('SP003', recipe.name, { property: 'width', message: 'A server chart cannot be measured: pass `width`, or place it in a Dashboard.' });\n }\n const rendered = renderChart(recipe, props, { id: props.id ?? instanceId(recipe.name, 'server'), width });\n return <ChartFrame rendered={rendered} className={props.className} />;\n }\n Chart.displayName = recipe.name;\n return Chart;\n}\n","import type { PathView, SvgView } from '@silverpoint/core';\n\nfunction Path({ path }: { readonly path: PathView }) {\n return (\n <path\n d={path.d}\n part={path.part}\n data-role={path.role}\n data-paint={path.paint}\n data-dash={path.dash ?? undefined}\n data-weight={path.weight ?? undefined}\n fill={path.fill ?? undefined}\n />\n );\n}\n\n/** Writes the core's SVG view one field to one attribute; computes nothing (Art. 2). */\nexport function ChartSvg({ view }: { readonly view: SvgView }) {\n const { svg } = view;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox={svg.viewBox}\n width={svg.width}\n height={svg.height}\n className={svg.class}\n data-substrate={svg.substrate}\n data-mode={svg.mode}\n role={svg.role}\n aria-labelledby={svg.labelledby}\n >\n <title id={view.title.id}>{view.title.text}</title>\n <desc id={view.desc.id}>{view.desc.text}</desc>\n {view.patterns.length > 0 && (\n <defs>\n {view.patterns.map((pattern) => (\n <pattern\n key={pattern.id}\n id={pattern.id}\n width={pattern.width}\n height={pattern.height}\n patternUnits=\"userSpaceOnUse\"\n patternTransform={pattern.transform}\n >\n {pattern.paths.map((path, index) => (\n <Path key={index} path={path} />\n ))}\n </pattern>\n ))}\n </defs>\n )}\n {view.paths.map((path, index) => (\n <Path key={index} path={path} />\n ))}\n {view.texts.map((text, index) => (\n <text key={index} x={text.x} y={text.y} part={text.part} data-kind={text.kind} textAnchor={text.anchor}>\n {text.text}\n </text>\n ))}\n </svg>\n );\n}\n","import type { DataTable } from '@silverpoint/core';\nimport type { RenderedChart } from '@silverpoint/grounds';\nimport type { HTMLAttributes, ReactNode, Ref } from 'react';\nimport { ChartSvg } from './chart-svg';\nimport { styleObject } from './style';\n\nfunction Table({ table, id, visibility }: { readonly table: DataTable; readonly id: string; readonly visibility: string }) {\n return (\n <div className=\"sp-table-box\" data-visibility={visibility}>\n <table className=\"sp-table\" id={id} data-visibility={visibility}>\n <caption>{table.caption}</caption>\n <thead>\n <tr>\n {table.columns.map((column, index) => (\n <th key={index} scope=\"col\">\n {column}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {table.rows.map((row, index) => (\n <tr key={index}>\n {row.map((cell, column) =>\n column === 0 ? (\n <th key={column} scope=\"row\">\n {cell}\n </th>\n ) : (\n <td key={column}>{cell}</td>\n ),\n )}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n}\n\nexport interface ChartFrameProps {\n readonly rendered: RenderedChart;\n readonly className?: string;\n /** Interaction handlers and focus attributes, supplied by the client component only. */\n readonly rootProps?: HTMLAttributes<HTMLDivElement>;\n readonly rootRef?: Ref<HTMLDivElement>;\n /** Readout and marker, drawn over the chart by the client component. */\n readonly overlay?: ReactNode;\n}\n\n/** The chart's DOM: root, SVG, overlay and tabular alternative (API Spec §10). */\nexport function ChartFrame({ rendered, className, rootProps, rootRef, overlay }: ChartFrameProps) {\n const classes = ['sp-root', `sp-ground-${rendered.ground}`, className].filter(Boolean).join(' ');\n return (\n <div\n className={classes}\n data-substrate={rendered.substrate}\n data-chrome={rendered.chrome}\n data-status={rendered.status}\n style={rendered.style ? styleObject(rendered.style) : undefined}\n ref={rootRef}\n {...rootProps}\n >\n <ChartSvg view={rendered.view} />\n {overlay}\n {rendered.dataTable !== 'none' && (\n <Table table={rendered.table} id={rendered.ids.table} visibility={rendered.dataTable} />\n )}\n </div>\n );\n}\n"],"mappings":"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","names":["jsx","jsxs","jsx"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import {
|
|
3
|
+
renderUi,
|
|
4
|
+
useUi
|
|
5
|
+
} from "./chunk-DX6FUHGB.js";
|
|
6
|
+
|
|
7
|
+
// src/ui/avatar.tsx
|
|
8
|
+
import { uiAvatarGroupView, uiAvatarView } from "@silverpoint/core/ui";
|
|
9
|
+
function SpAvatar({ dashboardCell, ...props }) {
|
|
10
|
+
return renderUi(uiAvatarView(props, useUi(props, dashboardCell)), {});
|
|
11
|
+
}
|
|
12
|
+
function SpAvatarGroup({ children, dashboardCell, ...props }) {
|
|
13
|
+
return renderUi(uiAvatarGroupView(props, useUi(props, dashboardCell)), { slots: { content: children } });
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
SpAvatar,
|
|
18
|
+
SpAvatarGroup
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-RFWELGCX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/avatar.tsx"],"sourcesContent":["import { uiAvatarGroupView, uiAvatarView, type SpAvatarGroupProps as CoreGroupProps, type SpAvatarProps as CoreProps } from '@silverpoint/core/ui';\nimport type { ReactElement, ReactNode } from 'react';\nimport { useUi, type UiCellProps } from './base';\nimport { renderUi } from './render';\n\nexport interface SpAvatarProps extends CoreProps, UiCellProps {}\n\nexport interface SpAvatarGroupProps extends CoreGroupProps, UiCellProps {\n /** The avatars. */\n readonly children?: ReactNode;\n}\n\n/** `SpAvatar`: an image, or initials named as an image (REQ-478). `@silverpoint/react/server/ui/avatar` renders it in a Server Component. */\nexport function SpAvatar({ dashboardCell, ...props }: SpAvatarProps) {\n return renderUi(uiAvatarView(props, useUi(props, dashboardCell)), {}) as ReactElement;\n}\n\n/** `SpAvatarGroup`: a labelled group of avatars (REQ-478). */\nexport function SpAvatarGroup({ children, dashboardCell, ...props }: SpAvatarGroupProps) {\n return renderUi(uiAvatarGroupView(props, useUi(props, dashboardCell)), { slots: { content: children } }) as ReactElement;\n}\n"],"mappings":";;;;;;;AAAA,SAAS,mBAAmB,oBAAgG;AAarH,SAAS,SAAS,EAAE,eAAe,GAAG,MAAM,GAAkB;AACnE,SAAO,SAAS,aAAa,OAAO,MAAM,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;AACtE;AAGO,SAAS,cAAc,EAAE,UAAU,eAAe,GAAG,MAAM,GAAuB;AACvF,SAAO,SAAS,kBAAkB,OAAO,MAAM,OAAO,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,SAAS,EAAE,CAAC;AACzG;","names":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
renderUi,
|
|
4
4
|
useUi
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DX6FUHGB.js";
|
|
6
6
|
|
|
7
7
|
// src/ui/steps.tsx
|
|
8
8
|
import { uiStepsView } from "@silverpoint/core/ui";
|
|
@@ -13,4 +13,4 @@ function SpSteps({ dashboardCell, ...props }) {
|
|
|
13
13
|
export {
|
|
14
14
|
SpSteps
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
16
|
+
//# sourceMappingURL=chunk-S2A6EJSX.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/bullet-chart.tsx
|
|
7
7
|
import { bulletChart } from "@silverpoint/core";
|
|
@@ -10,4 +10,4 @@ var BulletChart = createClientChart(bulletChart);
|
|
|
10
10
|
export {
|
|
11
11
|
BulletChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-SZHYT257.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import {
|
|
3
3
|
createClientChart
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-QRQ4RFCB.js";
|
|
5
5
|
|
|
6
6
|
// src/donut-chart.tsx
|
|
7
7
|
import { donutChart } from "@silverpoint/core";
|
|
@@ -10,4 +10,4 @@ var DonutChart = createClientChart(donutChart);
|
|
|
10
10
|
export {
|
|
11
11
|
DonutChart
|
|
12
12
|
};
|
|
13
|
-
//# sourceMappingURL=chunk-
|
|
13
|
+
//# sourceMappingURL=chunk-T52NYUKC.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
renderUi,
|
|
4
4
|
useUi
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DX6FUHGB.js";
|
|
6
6
|
|
|
7
7
|
// src/ui/alert.tsx
|
|
8
8
|
import { uiAlertView } from "@silverpoint/core/ui";
|
|
@@ -14,4 +14,4 @@ function SpAlert({ children, onClose, dashboardCell, ...props }) {
|
|
|
14
14
|
export {
|
|
15
15
|
SpAlert
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-TTIRFQ2W.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
renderUi,
|
|
4
4
|
useUi
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DX6FUHGB.js";
|
|
6
6
|
|
|
7
7
|
// src/ui/card.tsx
|
|
8
8
|
import { uiCardView } from "@silverpoint/core/ui";
|
|
@@ -14,4 +14,4 @@ function SpCard({ children, extra, footer, dashboardCell, ...props }) {
|
|
|
14
14
|
export {
|
|
15
15
|
SpCard
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-TZGI7DMH.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
renderUi,
|
|
4
4
|
useUi,
|
|
5
5
|
useValue
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DX6FUHGB.js";
|
|
7
7
|
|
|
8
8
|
// src/ui/rate.tsx
|
|
9
9
|
import { uiRateView, uiRovingFocus } from "@silverpoint/core/ui";
|
|
@@ -23,4 +23,4 @@ function SpRate({ value, defaultValue, onChange, dashboardCell, ...props }) {
|
|
|
23
23
|
export {
|
|
24
24
|
SpRate
|
|
25
25
|
};
|
|
26
|
-
//# sourceMappingURL=chunk-
|
|
26
|
+
//# sourceMappingURL=chunk-UA3V7LBC.js.map
|
|
@@ -0,0 +1,68 @@
|
|
|
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
|
+
} from "./chunk-DX6FUHGB.js";
|
|
13
|
+
|
|
14
|
+
// src/ui/dropdown-menu.tsx
|
|
15
|
+
import { uiDropdownMenuView, uiMenuItems, uiTriggerAria } from "@silverpoint/core/ui";
|
|
16
|
+
import { cloneElement, isValidElement, useEffect, useRef } from "react";
|
|
17
|
+
var triggerOf = (menu) => {
|
|
18
|
+
const before = menu?.previousElementSibling;
|
|
19
|
+
return before?.classList.contains("sp-ui-trigger") ? before.firstElementChild : before;
|
|
20
|
+
};
|
|
21
|
+
function SpDropdownMenu({ onSelect, trigger, open, defaultOpen, onOpenChange, dashboardCell, ...props }) {
|
|
22
|
+
const [isOpen, setOpen, latest] = useOpen({ open, defaultOpen, onOpenChange });
|
|
23
|
+
const menu = useRef(null);
|
|
24
|
+
useOverlay(menu, "popover", isOpen, setOpen, { place: { side: props.side ?? "bottom", align: props.align ?? "start" } });
|
|
25
|
+
const items = uiMenuItems(props.items);
|
|
26
|
+
const list = useListKeys(items, "menu", isOpen, -1);
|
|
27
|
+
const view = uiDropdownMenuView(props, useUi(props, dashboardCell), { open: isOpen, active: list.activeKey }, { trigger: trigger !== void 0 });
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (!isOpen || list.activeKey === null) return;
|
|
30
|
+
for (const item of menu.current?.querySelectorAll('[role="menuitem"]') ?? []) if (item.dataset.key === list.activeKey) item.focus();
|
|
31
|
+
}, [isOpen, list.activeKey]);
|
|
32
|
+
const close = (refocus) => {
|
|
33
|
+
setOpen(false);
|
|
34
|
+
if (refocus) triggerOf(menu.current)?.focus();
|
|
35
|
+
};
|
|
36
|
+
const activate = (key) => {
|
|
37
|
+
close(true);
|
|
38
|
+
if (key !== void 0) onSelect?.(key);
|
|
39
|
+
};
|
|
40
|
+
const keyed = (event) => {
|
|
41
|
+
const result = list.key(event);
|
|
42
|
+
if (result?.intent === "open") setOpen(true);
|
|
43
|
+
else if (result?.intent === "close") close(event.key !== "Tab");
|
|
44
|
+
else if (result?.intent === "select") activate(result.key);
|
|
45
|
+
};
|
|
46
|
+
const pressedOpen = useRef(false);
|
|
47
|
+
const bound = {
|
|
48
|
+
trigger: () => ({
|
|
49
|
+
onPointerDown: () => pressedOpen.current = latest.current,
|
|
50
|
+
onClick: () => {
|
|
51
|
+
const wasOpen = pressedOpen.current || latest.current;
|
|
52
|
+
pressedOpen.current = false;
|
|
53
|
+
setOpen(!wasOpen);
|
|
54
|
+
},
|
|
55
|
+
onKeyDown: (event) => !latest.current && keyed(event),
|
|
56
|
+
onKeyUp: list.keyUp
|
|
57
|
+
}),
|
|
58
|
+
popover: () => ({ ref: menu, onKeyDown: keyed, onKeyUp: list.keyUp }),
|
|
59
|
+
menuitem: (node) => ({ onClick: () => node.attrs["aria-disabled"] !== "true" && activate(node.attrs["data-key"]) })
|
|
60
|
+
};
|
|
61
|
+
const slot = isValidElement(trigger) ? cloneElement(trigger, uiTriggerAria("menu", props.id, isOpen)) : void 0;
|
|
62
|
+
return renderUi(view, { bound, slots: { trigger: slot } });
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export {
|
|
66
|
+
SpDropdownMenu
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=chunk-UAWJIVQK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/dropdown-menu.tsx"],"sourcesContent":["import { uiDropdownMenuView, uiMenuItems, uiTriggerAria, type SpDropdownMenuProps as CoreProps, type UiElement } from '@silverpoint/core/ui';\nimport { cloneElement, isValidElement, useEffect, useRef, type KeyboardEvent, type ReactElement } from 'react';\nimport { useUi, type UiCellProps } from './base';\nimport { useListKeys } from './list';\nimport { useOpen, useOverlay, type OverlayOpenProps } from './overlay';\nimport { renderUi } from './render';\n\nexport interface SpDropdownMenuProps extends CoreProps, OverlayOpenProps, UiCellProps {\n /** An item was activated: its key. The menu closes. */\n readonly onSelect?: (key: string) => void;\n /** The element that opens it, in place of the built-in button; cloned with the menu button's ARIA. */\n readonly trigger?: ReactElement;\n}\n\n/** The element focus returns to: the built-in button, or the consumer's trigger inside its slot. */\nconst triggerOf = (menu: HTMLElement | null) => {\n const before = menu?.previousElementSibling;\n return (before?.classList.contains('sp-ui-trigger') ? before.firstElementChild : before) as HTMLElement | null | undefined;\n};\n\n/**\n * `SpDropdownMenu`: the APG menu button (REQ-495, DD-039). DOM focus moves to the active item;\n * every key goes through `uiListKey` and `uiTypeahead`; Enter, Space or a click activates an item,\n * closes the menu and returns focus to the trigger.\n */\nexport function SpDropdownMenu({ onSelect, trigger, open, defaultOpen, onOpenChange, dashboardCell, ...props }: SpDropdownMenuProps) {\n const [isOpen, setOpen, latest] = useOpen({ open, defaultOpen, onOpenChange });\n const menu = useRef<HTMLDivElement>(null);\n useOverlay(menu, 'popover', isOpen, setOpen, { place: { side: props.side ?? 'bottom', align: props.align ?? 'start' } });\n const items = uiMenuItems(props.items);\n const list = useListKeys(items, 'menu', isOpen, -1);\n const view = uiDropdownMenuView(props, useUi(props, dashboardCell), { open: isOpen, active: list.activeKey }, { trigger: trigger !== undefined });\n\n useEffect(() => {\n if (!isOpen || list.activeKey === null) return;\n for (const item of menu.current?.querySelectorAll<HTMLElement>('[role=\"menuitem\"]') ?? []) if (item.dataset.key === list.activeKey) item.focus();\n }, [isOpen, list.activeKey]);\n\n const close = (refocus: boolean) => {\n setOpen(false);\n if (refocus) triggerOf(menu.current)?.focus();\n };\n const activate = (key: string | undefined) => {\n close(true);\n if (key !== undefined) onSelect?.(key);\n };\n const keyed = (event: KeyboardEvent) => {\n const result = list.key(event);\n if (result?.intent === 'open') setOpen(true);\n else if (result?.intent === 'close') close(event.key !== 'Tab');\n else if (result?.intent === 'select') activate(result.key);\n };\n const pressedOpen = useRef(false);\n const bound = {\n trigger: () => ({\n onPointerDown: () => (pressedOpen.current = latest.current),\n onClick: () => {\n const wasOpen = pressedOpen.current || latest.current;\n pressedOpen.current = false;\n setOpen(!wasOpen);\n },\n onKeyDown: (event: KeyboardEvent) => !latest.current && keyed(event),\n onKeyUp: list.keyUp,\n }),\n popover: () => ({ ref: menu, onKeyDown: keyed, onKeyUp: list.keyUp }),\n menuitem: (node: UiElement) => ({ onClick: () => node.attrs['aria-disabled'] !== 'true' && activate(node.attrs['data-key'] as string) }),\n };\n const slot = isValidElement(trigger) ? cloneElement(trigger as ReactElement<Record<string, unknown>>, uiTriggerAria('menu', props.id, isOpen)) : undefined;\n return renderUi(view, { bound, slots: { trigger: slot } }) as ReactElement;\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAAS,oBAAoB,aAAa,qBAA4E;AACtH,SAAS,cAAc,gBAAgB,WAAW,cAAqD;AAcvG,IAAM,YAAY,CAAC,SAA6B;AAC9C,QAAM,SAAS,MAAM;AACrB,SAAQ,QAAQ,UAAU,SAAS,eAAe,IAAI,OAAO,oBAAoB;AACnF;AAOO,SAAS,eAAe,EAAE,UAAU,SAAS,MAAM,aAAa,cAAc,eAAe,GAAG,MAAM,GAAwB;AACnI,QAAM,CAAC,QAAQ,SAAS,MAAM,IAAI,QAAQ,EAAE,MAAM,aAAa,aAAa,CAAC;AAC7E,QAAM,OAAO,OAAuB,IAAI;AACxC,aAAW,MAAM,WAAW,QAAQ,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,QAAQ,UAAU,OAAO,MAAM,SAAS,QAAQ,EAAE,CAAC;AACvH,QAAM,QAAQ,YAAY,MAAM,KAAK;AACrC,QAAM,OAAO,YAAY,OAAO,QAAQ,QAAQ,EAAE;AAClD,QAAM,OAAO,mBAAmB,OAAO,MAAM,OAAO,aAAa,GAAG,EAAE,MAAM,QAAQ,QAAQ,KAAK,UAAU,GAAG,EAAE,SAAS,YAAY,OAAU,CAAC;AAEhJ,YAAU,MAAM;AACd,QAAI,CAAC,UAAU,KAAK,cAAc,KAAM;AACxC,eAAW,QAAQ,KAAK,SAAS,iBAA8B,mBAAmB,KAAK,CAAC,EAAG,KAAI,KAAK,QAAQ,QAAQ,KAAK,UAAW,MAAK,MAAM;AAAA,EACjJ,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC;AAE3B,QAAM,QAAQ,CAAC,YAAqB;AAClC,YAAQ,KAAK;AACb,QAAI,QAAS,WAAU,KAAK,OAAO,GAAG,MAAM;AAAA,EAC9C;AACA,QAAM,WAAW,CAAC,QAA4B;AAC5C,UAAM,IAAI;AACV,QAAI,QAAQ,OAAW,YAAW,GAAG;AAAA,EACvC;AACA,QAAM,QAAQ,CAAC,UAAyB;AACtC,UAAM,SAAS,KAAK,IAAI,KAAK;AAC7B,QAAI,QAAQ,WAAW,OAAQ,SAAQ,IAAI;AAAA,aAClC,QAAQ,WAAW,QAAS,OAAM,MAAM,QAAQ,KAAK;AAAA,aACrD,QAAQ,WAAW,SAAU,UAAS,OAAO,GAAG;AAAA,EAC3D;AACA,QAAM,cAAc,OAAO,KAAK;AAChC,QAAM,QAAQ;AAAA,IACZ,SAAS,OAAO;AAAA,MACd,eAAe,MAAO,YAAY,UAAU,OAAO;AAAA,MACnD,SAAS,MAAM;AACb,cAAM,UAAU,YAAY,WAAW,OAAO;AAC9C,oBAAY,UAAU;AACtB,gBAAQ,CAAC,OAAO;AAAA,MAClB;AAAA,MACA,WAAW,CAAC,UAAyB,CAAC,OAAO,WAAW,MAAM,KAAK;AAAA,MACnE,SAAS,KAAK;AAAA,IAChB;AAAA,IACA,SAAS,OAAO,EAAE,KAAK,MAAM,WAAW,OAAO,SAAS,KAAK,MAAM;AAAA,IACnE,UAAU,CAAC,UAAqB,EAAE,SAAS,MAAM,KAAK,MAAM,eAAe,MAAM,UAAU,SAAS,KAAK,MAAM,UAAU,CAAW,EAAE;AAAA,EACxI;AACA,QAAM,OAAO,eAAe,OAAO,IAAI,aAAa,SAAkD,cAAc,QAAQ,MAAM,IAAI,MAAM,CAAC,IAAI;AACjJ,SAAO,SAAS,MAAM,EAAE,OAAO,OAAO,EAAE,SAAS,KAAK,EAAE,CAAC;AAC3D;","names":[]}
|