@seekalfred/primitives 0.6.0 → 0.7.3

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 (346) hide show
  1. package/README.md +214 -15
  2. package/dist/activity-heatmap/activity-heatmap.d.ts +92 -0
  3. package/dist/activity-heatmap/activity-heatmap.js +699 -0
  4. package/dist/activity-heatmap/activity-heatmap.js.map +1 -0
  5. package/dist/activity-heatmap/index.d.ts +2 -0
  6. package/dist/activity-heatmap/index.js +2 -0
  7. package/dist/alert/alert.d.ts +53 -4
  8. package/dist/alert/alert.js +100 -11
  9. package/dist/alert/alert.js.map +1 -1
  10. package/dist/alert/index.d.ts +2 -2
  11. package/dist/alert/index.js +2 -2
  12. package/dist/alert-dialog/alert-dialog.d.ts +58 -18
  13. package/dist/alert-dialog/alert-dialog.js +152 -9
  14. package/dist/alert-dialog/alert-dialog.js.map +1 -1
  15. package/dist/alert-dialog/index.d.ts +2 -2
  16. package/dist/alert-dialog/index.js +2 -2
  17. package/dist/animated-counter/animated-counter.d.ts +38 -0
  18. package/dist/animated-counter/animated-counter.js +230 -0
  19. package/dist/animated-counter/animated-counter.js.map +1 -0
  20. package/dist/animated-counter/index.d.ts +2 -0
  21. package/dist/animated-counter/index.js +2 -0
  22. package/dist/announcement-bar/announcement-bar.d.ts +67 -0
  23. package/dist/announcement-bar/announcement-bar.js +364 -0
  24. package/dist/announcement-bar/announcement-bar.js.map +1 -0
  25. package/dist/announcement-bar/index.d.ts +2 -0
  26. package/dist/announcement-bar/index.js +2 -0
  27. package/dist/badge/badge.d.ts +1 -1
  28. package/dist/bar-chart/bar-chart.d.ts +51 -0
  29. package/dist/bar-chart/bar-chart.js +565 -0
  30. package/dist/bar-chart/bar-chart.js.map +1 -0
  31. package/dist/bar-chart/index.d.ts +2 -0
  32. package/dist/bar-chart/index.js +2 -0
  33. package/dist/breadcrumb/breadcrumb.d.ts +2 -2
  34. package/dist/breadcrumb/breadcrumb.js +12 -3
  35. package/dist/breadcrumb/breadcrumb.js.map +1 -1
  36. package/dist/brush-chart/brush-chart.d.ts +64 -0
  37. package/dist/brush-chart/brush-chart.js +1056 -0
  38. package/dist/brush-chart/brush-chart.js.map +1 -0
  39. package/dist/brush-chart/index.d.ts +2 -0
  40. package/dist/brush-chart/index.js +2 -0
  41. package/dist/button/button.d.ts +1 -1
  42. package/dist/button/button.js +31 -21
  43. package/dist/button/button.js.map +1 -1
  44. package/dist/button-group/button-group.js +3 -4
  45. package/dist/button-group/button-group.js.map +1 -1
  46. package/dist/calendar/calendar.d.ts +1 -1
  47. package/dist/card/card.d.ts +22 -1
  48. package/dist/card/card.js +60 -7
  49. package/dist/card/card.js.map +1 -1
  50. package/dist/card-stack/card-stack.d.ts +54 -0
  51. package/dist/card-stack/card-stack.js +492 -0
  52. package/dist/card-stack/card-stack.js.map +1 -0
  53. package/dist/card-stack/index.d.ts +2 -0
  54. package/dist/card-stack/index.js +2 -0
  55. package/dist/carousel/carousel.d.ts +77 -0
  56. package/dist/carousel/carousel.js +415 -0
  57. package/dist/carousel/carousel.js.map +1 -0
  58. package/dist/carousel/index.d.ts +2 -0
  59. package/dist/carousel/index.js +2 -0
  60. package/dist/checkbox/checkbox.js +4 -4
  61. package/dist/checkbox/checkbox.js.map +1 -1
  62. package/dist/chip-group/chip-group.d.ts +37 -0
  63. package/dist/chip-group/chip-group.js +148 -0
  64. package/dist/chip-group/chip-group.js.map +1 -0
  65. package/dist/chip-group/index.d.ts +2 -0
  66. package/dist/chip-group/index.js +2 -0
  67. package/dist/copy-button/copy-button.d.ts +18 -2
  68. package/dist/copy-button/copy-button.js +29 -8
  69. package/dist/copy-button/copy-button.js.map +1 -1
  70. package/dist/countdown/countdown.d.ts +45 -0
  71. package/dist/countdown/countdown.js +298 -0
  72. package/dist/countdown/countdown.js.map +1 -0
  73. package/dist/countdown/index.d.ts +2 -0
  74. package/dist/countdown/index.js +2 -0
  75. package/dist/date-picker/picker-parts.js +1 -1
  76. package/dist/date-picker/picker-parts.js.map +1 -1
  77. package/dist/dialog/dialog.js +1 -1
  78. package/dist/dialog/dialog.js.map +1 -1
  79. package/dist/donut-chart/donut-chart.d.ts +86 -0
  80. package/dist/donut-chart/donut-chart.js +593 -0
  81. package/dist/donut-chart/donut-chart.js.map +1 -0
  82. package/dist/donut-chart/index.d.ts +2 -0
  83. package/dist/donut-chart/index.js +2 -0
  84. package/dist/empty-state/empty-state.d.ts +42 -10
  85. package/dist/empty-state/empty-state.js +44 -26
  86. package/dist/empty-state/empty-state.js.map +1 -1
  87. package/dist/empty-state/index.d.ts +2 -2
  88. package/dist/empty-state/index.js +2 -2
  89. package/dist/file-drop-zone/file-drop-zone.js +1 -1
  90. package/dist/file-drop-zone/file-drop-zone.js.map +1 -1
  91. package/dist/filter-bar/filter-bar.d.ts +50 -26
  92. package/dist/filter-bar/filter-bar.js +317 -157
  93. package/dist/filter-bar/filter-bar.js.map +1 -1
  94. package/dist/gauge/gauge.d.ts +45 -0
  95. package/dist/gauge/gauge.js +219 -0
  96. package/dist/gauge/gauge.js.map +1 -0
  97. package/dist/gauge/index.d.ts +2 -0
  98. package/dist/gauge/index.js +2 -0
  99. package/dist/in-view-title/in-view-title.d.ts +33 -0
  100. package/dist/in-view-title/in-view-title.js +119 -0
  101. package/dist/in-view-title/in-view-title.js.map +1 -0
  102. package/dist/in-view-title/index.d.ts +2 -0
  103. package/dist/in-view-title/index.js +2 -0
  104. package/dist/index.d.ts +53 -10
  105. package/dist/index.js +52 -12
  106. package/dist/input/input.js +4 -4
  107. package/dist/input/input.js.map +1 -1
  108. package/dist/lib/cn.js +11 -1
  109. package/dist/lib/cn.js.map +1 -1
  110. package/dist/lib/field-message.js +28 -10
  111. package/dist/lib/field-message.js.map +1 -1
  112. package/dist/lib/field-shell.js +10 -3
  113. package/dist/lib/field-shell.js.map +1 -1
  114. package/dist/lib/field-surface.js +31 -9
  115. package/dist/lib/field-surface.js.map +1 -1
  116. package/dist/lib/flag-emoji.js +50 -0
  117. package/dist/lib/flag-emoji.js.map +1 -0
  118. package/dist/lib/flip.js +11 -3
  119. package/dist/lib/flip.js.map +1 -1
  120. package/dist/lib/menu-highlight.js +64 -0
  121. package/dist/lib/menu-highlight.js.map +1 -0
  122. package/dist/lib/motion.js +9 -2
  123. package/dist/lib/motion.js.map +1 -1
  124. package/dist/lib/rolling-value.js +1 -1
  125. package/dist/lib/rolling-value.js.map +1 -1
  126. package/dist/lib/spring-tween.js +500 -0
  127. package/dist/lib/spring-tween.js.map +1 -0
  128. package/dist/lib/swap-text.js +3 -1
  129. package/dist/lib/swap-text.js.map +1 -1
  130. package/dist/lib/use-copy-feedback.js +17 -3
  131. package/dist/lib/use-copy-feedback.js.map +1 -1
  132. package/dist/line-chart/index.d.ts +2 -0
  133. package/dist/line-chart/index.js +2 -0
  134. package/dist/line-chart/line-chart.d.ts +116 -0
  135. package/dist/line-chart/line-chart.js +740 -0
  136. package/dist/line-chart/line-chart.js.map +1 -0
  137. package/dist/mention-input/index.d.ts +2 -0
  138. package/dist/mention-input/index.js +2 -0
  139. package/dist/mention-input/mention-input.d.ts +98 -0
  140. package/dist/mention-input/mention-input.js +576 -0
  141. package/dist/mention-input/mention-input.js.map +1 -0
  142. package/dist/menu/menu.d.ts +2 -0
  143. package/dist/menu/menu.js +23 -12
  144. package/dist/menu/menu.js.map +1 -1
  145. package/dist/money-input/index.d.ts +2 -0
  146. package/dist/money-input/index.js +2 -0
  147. package/dist/money-input/money-input.d.ts +86 -0
  148. package/dist/money-input/money-input.js +613 -0
  149. package/dist/money-input/money-input.js.map +1 -0
  150. package/dist/morph-select/index.d.ts +2 -0
  151. package/dist/morph-select/index.js +2 -0
  152. package/dist/morph-select/morph-select.d.ts +89 -0
  153. package/dist/morph-select/morph-select.js +712 -0
  154. package/dist/morph-select/morph-select.js.map +1 -0
  155. package/dist/multi-select/index.d.ts +2 -0
  156. package/dist/multi-select/index.js +2 -0
  157. package/dist/multi-select/multi-select.d.ts +77 -0
  158. package/dist/multi-select/multi-select.js +209 -0
  159. package/dist/multi-select/multi-select.js.map +1 -0
  160. package/dist/number-field/index.d.ts +2 -0
  161. package/dist/number-field/index.js +2 -0
  162. package/dist/number-field/number-field.d.ts +42 -0
  163. package/dist/number-field/number-field.js +199 -0
  164. package/dist/number-field/number-field.js.map +1 -0
  165. package/dist/onboarding-checklist/index.d.ts +2 -0
  166. package/dist/onboarding-checklist/index.js +2 -0
  167. package/dist/onboarding-checklist/onboarding-checklist.d.ts +55 -0
  168. package/dist/onboarding-checklist/onboarding-checklist.js +577 -0
  169. package/dist/onboarding-checklist/onboarding-checklist.js.map +1 -0
  170. package/dist/password-field/password-field.d.ts +16 -0
  171. package/dist/password-field/password-field.js +39 -10
  172. package/dist/password-field/password-field.js.map +1 -1
  173. package/dist/phone-input/index.d.ts +3 -0
  174. package/dist/phone-input/index.js +3 -0
  175. package/dist/phone-input/phone-countries.d.ts +29 -0
  176. package/dist/phone-input/phone-countries.js +170 -0
  177. package/dist/phone-input/phone-countries.js.map +1 -0
  178. package/dist/phone-input/phone-input.d.ts +66 -0
  179. package/dist/phone-input/phone-input.js +440 -0
  180. package/dist/phone-input/phone-input.js.map +1 -0
  181. package/dist/popover/index.d.ts +2 -2
  182. package/dist/popover/index.js +2 -2
  183. package/dist/popover/popover.d.ts +51 -2
  184. package/dist/popover/popover.js +59 -8
  185. package/dist/popover/popover.js.map +1 -1
  186. package/dist/progress/progress.d.ts +16 -2
  187. package/dist/progress/progress.js +16 -9
  188. package/dist/progress/progress.js.map +1 -1
  189. package/dist/radio-group/index.d.ts +2 -2
  190. package/dist/radio-group/index.js +2 -2
  191. package/dist/radio-group/radio-group.d.ts +33 -3
  192. package/dist/radio-group/radio-group.js +110 -10
  193. package/dist/radio-group/radio-group.js.map +1 -1
  194. package/dist/reactions/index.d.ts +2 -0
  195. package/dist/reactions/index.js +2 -0
  196. package/dist/reactions/reactions.d.ts +50 -0
  197. package/dist/reactions/reactions.js +315 -0
  198. package/dist/reactions/reactions.js.map +1 -0
  199. package/dist/rich-text-editor/index.d.ts +3 -0
  200. package/dist/rich-text-editor/index.js +2 -0
  201. package/dist/rich-text-editor/rich-text-editor.d.ts +70 -0
  202. package/dist/rich-text-editor/rich-text-editor.js +909 -0
  203. package/dist/rich-text-editor/rich-text-editor.js.map +1 -0
  204. package/dist/rich-text-editor/rich-text-engine.d.ts +16 -0
  205. package/dist/rich-text-editor/rich-text-engine.js +366 -0
  206. package/dist/rich-text-editor/rich-text-engine.js.map +1 -0
  207. package/dist/rich-text-editor/rich-text-html.js +174 -0
  208. package/dist/rich-text-editor/rich-text-html.js.map +1 -0
  209. package/dist/rich-text-editor/rich-text-icons.js +43 -0
  210. package/dist/rich-text-editor/rich-text-icons.js.map +1 -0
  211. package/dist/ridgeline/index.d.ts +2 -0
  212. package/dist/ridgeline/index.js +2 -0
  213. package/dist/ridgeline/ridgeline.d.ts +55 -0
  214. package/dist/ridgeline/ridgeline.js +701 -0
  215. package/dist/ridgeline/ridgeline.js.map +1 -0
  216. package/dist/scroll-area/index.d.ts +2 -2
  217. package/dist/scroll-area/index.js +2 -2
  218. package/dist/scroll-area/scroll-area.d.ts +68 -31
  219. package/dist/scroll-area/scroll-area.js +212 -62
  220. package/dist/scroll-area/scroll-area.js.map +1 -1
  221. package/dist/scrub-input/evaluate.d.ts +14 -0
  222. package/dist/scrub-input/evaluate.js +72 -0
  223. package/dist/scrub-input/evaluate.js.map +1 -0
  224. package/dist/scrub-input/index.d.ts +3 -0
  225. package/dist/scrub-input/index.js +3 -0
  226. package/dist/scrub-input/scrub-input.d.ts +74 -0
  227. package/dist/scrub-input/scrub-input.js +486 -0
  228. package/dist/scrub-input/scrub-input.js.map +1 -0
  229. package/dist/search-field/search-field.d.ts +24 -2
  230. package/dist/search-field/search-field.js +24 -9
  231. package/dist/search-field/search-field.js.map +1 -1
  232. package/dist/select/select.d.ts +3 -1
  233. package/dist/select/select.js +28 -14
  234. package/dist/select/select.js.map +1 -1
  235. package/dist/separator/separator.d.ts +22 -10
  236. package/dist/separator/separator.js +33 -11
  237. package/dist/separator/separator.js.map +1 -1
  238. package/dist/sheet/sheet.js +2 -1
  239. package/dist/sheet/sheet.js.map +1 -1
  240. package/dist/shortcut-recorder/index.d.ts +3 -0
  241. package/dist/shortcut-recorder/index.js +3 -0
  242. package/dist/shortcut-recorder/shortcut-model.d.ts +27 -0
  243. package/dist/shortcut-recorder/shortcut-model.js +206 -0
  244. package/dist/shortcut-recorder/shortcut-model.js.map +1 -0
  245. package/dist/shortcut-recorder/shortcut-recorder.d.ts +93 -0
  246. package/dist/shortcut-recorder/shortcut-recorder.js +489 -0
  247. package/dist/shortcut-recorder/shortcut-recorder.js.map +1 -0
  248. package/dist/slider/index.d.ts +2 -2
  249. package/dist/slider/slider.d.ts +46 -14
  250. package/dist/slider/slider.js +151 -67
  251. package/dist/slider/slider.js.map +1 -1
  252. package/dist/slope-chart/index.d.ts +2 -0
  253. package/dist/slope-chart/index.js +2 -0
  254. package/dist/slope-chart/slope-chart.d.ts +54 -0
  255. package/dist/slope-chart/slope-chart.js +568 -0
  256. package/dist/slope-chart/slope-chart.js.map +1 -0
  257. package/dist/sparkline/index.d.ts +2 -0
  258. package/dist/sparkline/index.js +2 -0
  259. package/dist/sparkline/sparkline.d.ts +46 -0
  260. package/dist/sparkline/sparkline.js +390 -0
  261. package/dist/sparkline/sparkline.js.map +1 -0
  262. package/dist/split-bar/index.d.ts +2 -0
  263. package/dist/split-bar/index.js +2 -0
  264. package/dist/split-bar/split-bar.d.ts +62 -0
  265. package/dist/split-bar/split-bar.js +513 -0
  266. package/dist/split-bar/split-bar.js.map +1 -0
  267. package/dist/split-button/split-button.d.ts +1 -1
  268. package/dist/split-button/split-button.js +12 -11
  269. package/dist/split-button/split-button.js.map +1 -1
  270. package/dist/stat-card/index.d.ts +2 -2
  271. package/dist/stat-card/index.js +2 -2
  272. package/dist/stat-card/stat-card.d.ts +58 -5
  273. package/dist/stat-card/stat-card.js +144 -17
  274. package/dist/stat-card/stat-card.js.map +1 -1
  275. package/dist/stepper/index.d.ts +2 -0
  276. package/dist/stepper/index.js +2 -0
  277. package/dist/stepper/stepper.d.ts +51 -0
  278. package/dist/stepper/stepper.js +215 -0
  279. package/dist/stepper/stepper.js.map +1 -0
  280. package/dist/streamgraph/index.d.ts +2 -0
  281. package/dist/streamgraph/index.js +2 -0
  282. package/dist/streamgraph/streamgraph.d.ts +70 -0
  283. package/dist/streamgraph/streamgraph.js +613 -0
  284. package/dist/streamgraph/streamgraph.js.map +1 -0
  285. package/dist/styles.css +1 -1
  286. package/dist/swipe-actions/index.d.ts +2 -0
  287. package/dist/swipe-actions/index.js +2 -0
  288. package/dist/swipe-actions/swipe-actions.d.ts +67 -0
  289. package/dist/swipe-actions/swipe-actions.js +552 -0
  290. package/dist/swipe-actions/swipe-actions.js.map +1 -0
  291. package/dist/switch/switch.js +2 -2
  292. package/dist/switch/switch.js.map +1 -1
  293. package/dist/table/index.d.ts +2 -2
  294. package/dist/table/index.js +2 -2
  295. package/dist/table/table.d.ts +55 -3
  296. package/dist/table/table.js +340 -165
  297. package/dist/table/table.js.map +1 -1
  298. package/dist/tabs/tabs.js +2 -2
  299. package/dist/tabs/tabs.js.map +1 -1
  300. package/dist/tag-input/index.d.ts +2 -0
  301. package/dist/tag-input/index.js +2 -0
  302. package/dist/tag-input/tag-input.d.ts +40 -0
  303. package/dist/tag-input/tag-input.js +269 -0
  304. package/dist/tag-input/tag-input.js.map +1 -0
  305. package/dist/text-morph/index.d.ts +2 -0
  306. package/dist/text-morph/index.js +2 -0
  307. package/dist/text-morph/text-morph.d.ts +23 -0
  308. package/dist/text-morph/text-morph.js +21 -0
  309. package/dist/text-morph/text-morph.js.map +1 -0
  310. package/dist/text-reveal/index.d.ts +2 -0
  311. package/dist/text-reveal/index.js +2 -0
  312. package/dist/text-reveal/text-reveal.d.ts +27 -0
  313. package/dist/text-reveal/text-reveal.js +51 -0
  314. package/dist/text-reveal/text-reveal.js.map +1 -0
  315. package/dist/text-shimmer/index.d.ts +2 -0
  316. package/dist/text-shimmer/index.js +2 -0
  317. package/dist/text-shimmer/text-shimmer.d.ts +29 -0
  318. package/dist/text-shimmer/text-shimmer.js +29 -0
  319. package/dist/text-shimmer/text-shimmer.js.map +1 -0
  320. package/dist/time-picker/time-picker.d.ts +36 -1
  321. package/dist/time-picker/time-picker.js +35 -7
  322. package/dist/time-picker/time-picker.js.map +1 -1
  323. package/dist/toast/index.d.ts +2 -2
  324. package/dist/toast/index.js +2 -2
  325. package/dist/toast/toast.d.ts +7 -1
  326. package/dist/toast/toast.js +82 -40
  327. package/dist/toast/toast.js.map +1 -1
  328. package/dist/tooltip/tooltip.d.ts +9 -2
  329. package/dist/tooltip/tooltip.js +7 -7
  330. package/dist/tooltip/tooltip.js.map +1 -1
  331. package/dist/treemap/index.d.ts +2 -0
  332. package/dist/treemap/index.js +2 -0
  333. package/dist/treemap/treemap.d.ts +53 -0
  334. package/dist/treemap/treemap.js +699 -0
  335. package/dist/treemap/treemap.js.map +1 -0
  336. package/dist/usage-meter/index.d.ts +2 -0
  337. package/dist/usage-meter/index.js +2 -0
  338. package/dist/usage-meter/usage-meter.d.ts +80 -0
  339. package/dist/usage-meter/usage-meter.js +458 -0
  340. package/dist/usage-meter/usage-meter.js.map +1 -0
  341. package/dist/waffle-chart/index.d.ts +2 -0
  342. package/dist/waffle-chart/index.js +2 -0
  343. package/dist/waffle-chart/waffle-chart.d.ts +57 -0
  344. package/dist/waffle-chart/waffle-chart.js +426 -0
  345. package/dist/waffle-chart/waffle-chart.js.map +1 -0
  346. package/package.json +165 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waffle-chart.js","names":[],"sources":["../../src/waffle-chart/waffle-chart.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n forwardRef,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type PointerEvent,\n} from \"react\";\n\nimport { cn } from \"../lib/cn.js\";\nimport { useCountTo } from \"../lib/count-to.js\";\nimport { mergeRefs } from \"../lib/merge-refs.js\";\nimport { prefersReducedMotion, useIsomorphicLayoutEffect } from \"../lib/motion.js\";\n\n/**\n * WaffleChart: parts of a whole as countable squares. Every cell is one share of\n * the total (a 10 by 10 grid is one cell per percent), filled column by column\n * from the bottom-left corner like a glass filling up.\n *\n * The cells cascade in once the chart is a third in view. New data hands cells\n * to categories while moving as few as possible: each cell that changes category\n * travels to its new place (dipping as it flies) and changes colour on the same\n * stagger. Hovering a cell, a legend row or arrowing through the grid lifts that\n * category and dims the rest; the legend shares count to their new values.\n * Neutral categories differ in shape as well as lightness (square, round,\n * framed), so colour is never the only channel.\n *\n * Plain CSS transitions place the cells, with nothing measured: a cell's place is\n * two unitless numbers and its size comes from the width of the grid.\n */\nexport interface WaffleCategory {\n /** Stable identity. Cells keep following their category when the data changes, so a new dataset flows instead of repainting. */\n key: string;\n /** Name in the legend, the tooltip and the data table. */\n label: string;\n /** Raw amount. Shares are computed from the total; negatives count as zero. */\n value: number;\n /** Any CSS colour. Defaults to chart-1 for the accent, chart-2 to chart-4 for the next three, then neutral steps. */\n color?: string;\n}\n\nexport interface WaffleChartProps {\n /** Categories in fill order. The first fills from the bottom-left corner, column by column. */\n data: WaffleCategory[];\n /** What the whole is, such as \"Electricity generation, 2023\". Names the chart for assistive technology. */\n label: string;\n /** Unit after each raw value in the tooltip and table, such as \"TWh\". */\n unit?: string;\n formatValue?: (value: number, category: WaffleCategory) => string;\n /** @default 10 */\n rows?: number;\n /** rows times columns cells make the whole; 10 by 10 is one cell per percent. @default 10 */\n columns?: number;\n /** The category painted in chart-1. Pass null to keep every category on its own step. Defaults to the first category. */\n accentKey?: string | null;\n /** Controlled pinned category. Others dim while one is pinned. */\n activeKey?: string | null;\n defaultActiveKey?: string | null;\n onActiveChange?: (key: string | null) => void;\n /** The category list beside or below the grid, with shares that count to their new value. @default true */\n legend?: boolean;\n /** Decimal places for shares. @default 0 */\n decimals?: number;\n /** @default \"No data\" */\n emptyLabel?: string;\n /** Extra classes for the root. Merged last. */\n className?: string;\n}\n\ntype Cell = { id: number; key: string | null; slot: number };\ntype Reading = { key: string; slot: number } | null;\n\n/** Space between cells, in pixels; the same number is in the waffle-chart-grid utility. */\nconst GAP = 3;\n/** Lightness steps for categories past the four series colours; they alternate so neighbours differ. */\nconst SHADES = [40, 20, 30, 14];\n/** The colour-free second channel. */\nconst SHAPES = [\"square\", \"round\", \"framed\"] as const;\nconst clamp = (value: number, low: number, high: number) => Math.min(high, Math.max(low, value));\nconst GROUPED = new Intl.NumberFormat(\"en-US\", { maximumFractionDigits: 1 });\n\n/** Whole cells per category by largest remainder, so the counts always add up to the grid. */\nfunction allocate(data: WaffleCategory[], total: number, cells: number): number[] {\n if (total <= 0) return data.map(() => 0);\n const exact = data.map((item) => (Math.max(0, item.value) / total) * cells);\n const counts = exact.map(Math.floor);\n let left = cells - counts.reduce((sum, count) => sum + count, 0);\n const order = exact.map((value, index) => ({ index, rest: value - Math.floor(value) })).sort((a, b) => b.rest - a.rest);\n for (let k = 0; left > 0 && k < order.length; k++, left--) counts[order[k]!.index]!++;\n return counts;\n}\n\n/**\n * Hands cells to categories while moving as few as possible: each category keeps the cells it already had,\n * surplus cells join the categories that grew, and every block takes its cells in their previous order so paths never cross.\n */\nfunction reassign(previous: Cell[], data: WaffleCategory[], counts: number[]): Cell[] {\n const bySlot = [...previous].sort((a, b) => a.slot - b.slot);\n const kept = new Map<string, Cell[]>();\n const pool: Cell[] = [];\n const want = new Map(data.map((item, index) => [item.key, counts[index]]));\n for (const cell of bySlot) {\n const list = cell.key !== null ? (kept.get(cell.key) ?? []) : [];\n if (cell.key !== null && list.length < (want.get(cell.key) ?? 0)) {\n list.push(cell);\n kept.set(cell.key, list);\n } else pool.push(cell);\n }\n const next: Cell[] = [];\n let slot = 0;\n data.forEach((item, index) => {\n const own = kept.get(item.key) ?? [];\n while (own.length < counts[index]! && pool.length) own.push(pool.shift()!);\n own.sort((a, b) => a.slot - b.slot).forEach((cell) => next.push({ id: cell.id, key: item.key, slot: slot++ }));\n });\n pool.forEach((cell) => next.push({ id: cell.id, key: null, slot: slot++ }));\n return next.sort((a, b) => a.id - b.id);\n}\n\n/** A share that counts to its new value and holds its width with tabular figures. */\nfunction Share({ value, decimals }: { value: number; decimals: number }) {\n const scale = 10 ** decimals;\n const shown = useCountTo(Math.round(value * scale));\n return <>{(shown / scale).toFixed(decimals)}%</>;\n}\n\nexport const WaffleChart = forwardRef<HTMLElement, WaffleChartProps>(function WaffleChart(\n {\n data,\n label,\n unit = \"\",\n formatValue,\n rows = 10,\n columns = 10,\n accentKey,\n activeKey,\n defaultActiveKey = null,\n onActiveChange,\n legend = true,\n decimals = 0,\n emptyLabel = \"No data\",\n className,\n },\n ref,\n) {\n const figure = useRef<HTMLElement | null>(null);\n const refs = useMemo(() => mergeRefs(ref, figure), [ref]);\n const board = useRef<HTMLDivElement>(null);\n const grid = useRef<HTMLDivElement>(null);\n const tip = useRef<HTMLDivElement>(null);\n const count = Math.max(1, rows * columns);\n const total = data.reduce((sum, item) => sum + Math.max(0, item.value), 0);\n const empty = !data.length || total <= 0;\n const accent = accentKey === undefined ? (data[0]?.key ?? null) : accentKey;\n\n // Cells are persistent objects; each data change hands them to categories again, so they travel instead of repainting.\n const signature = `${count}|${data.map((item) => `${item.key}:${item.value}`).join(\",\")}`;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const counts = useMemo(() => allocate(data, total, count), [signature]);\n const [layout, setLayout] = useState(() => ({\n cells: reassign(Array.from({ length: count }, (_, id) => ({ id, key: null, slot: id })), data, counts),\n moved: new Set<number>(),\n version: 0,\n }));\n const [seen, setSeen] = useState(signature);\n if (seen !== signature) {\n setSeen(signature);\n const base = Array.from({ length: count }, (_, id) => layout.cells[id] ?? { id, key: null, slot: id });\n const next = reassign(base, data, counts);\n setLayout({\n cells: next,\n moved: new Set(next.filter((cell) => base[cell.id]!.slot !== cell.slot || base[cell.id]!.key !== cell.key).map((cell) => cell.id)),\n version: layout.version + 1,\n });\n }\n const { cells, moved, version } = layout;\n\n // The cells cascade in once a third of the chart is in view.\n const [shown, setShown] = useState(false);\n useEffect(() => {\n const node = figure.current;\n if (!node || prefersReducedMotion() || typeof IntersectionObserver === \"undefined\") {\n setShown(true);\n return;\n }\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (!entry?.isIntersecting) return;\n observer.disconnect();\n setShown(true);\n },\n { threshold: 0.35 },\n );\n observer.observe(node);\n return () => observer.disconnect();\n }, []);\n\n const [ownPinned, setOwnPinned] = useState<string | null>(defaultActiveKey);\n const pinned = activeKey !== undefined ? activeKey : ownPinned;\n const pin = (key: string | null) => {\n if (activeKey === undefined) setOwnPinned(key);\n onActiveChange?.(key);\n };\n const [reading, setReading] = useState<Reading>(null);\n const [preview, setPreview] = useState<string | null>(null);\n const focusKey = reading?.key ?? preview ?? pinned;\n const active = focusKey && data.some((item) => item.key === focusKey) ? focusKey : null;\n\n const rank = (key: string | null) => data.filter((entry) => entry.key !== accent).findIndex((entry) => entry.key === key);\n const colorOf = (key: string | null) => {\n const item = data.find((entry) => entry.key === key);\n if (!item) return \"transparent\";\n if (item.color) return item.color;\n if (key === accent) return \"var(--color-chart-1)\";\n const at = rank(key);\n return at < 3\n ? `var(--color-chart-${at + 2})`\n : `color-mix(in oklab, var(--color-foreground) ${SHADES[(at - 3) % SHADES.length]}%, var(--color-surface))`;\n };\n const shapeOf = (key: string | null) => (key === null || key === accent || rank(key) < 0 ? \"square\" : SHAPES[rank(key) % SHAPES.length]);\n\n // Column by column from the bottom-left corner. A cell's place is two numbers; CSS turns them into pixels.\n const place = (slot: number) => ({ x: Math.floor(slot / rows), y: rows - 1 - (slot % rows) });\n const filled = cells.filter((cell) => cell.key !== null).length;\n const bubble = reading ? (data.find((item) => item.key === reading.key) ?? null) : null;\n\n // The tooltip sits above the cell it describes and stays inside the chart; it glides between cells once showing.\n const shownBefore = useRef(false);\n useIsomorphicLayoutEffect(() => {\n const node = tip.current;\n const box = grid.current?.getBoundingClientRect();\n const host = board.current?.getBoundingClientRect();\n if (!reading || !node || !box?.width || !host) {\n shownBefore.current = false;\n return;\n }\n const side = (box.width - GAP * (columns - 1)) / columns;\n const { x, y } = place(reading.slot);\n const cx = box.left - host.left + x * (side + GAP) + side / 2;\n const cy = box.top - host.top + y * (side + GAP);\n const tw = node.offsetWidth;\n const th = node.offsetHeight;\n let top = cy - th - 10;\n if (top < 0) top = cy + side + 10;\n if (!shownBefore.current) node.style.transition = \"none\";\n node.style.translate = `${clamp(cx - tw / 2, 0, Math.max(0, host.width - tw))}px ${clamp(top, 0, Math.max(0, host.height - th))}px`;\n if (!shownBefore.current) {\n void node.offsetWidth;\n node.style.transition = \"\";\n }\n shownBefore.current = true;\n });\n\n const slotAt = (clientX: number, clientY: number) => {\n const box = grid.current?.getBoundingClientRect();\n if (!box?.width) return null;\n const side = (box.width - GAP * (columns - 1)) / columns;\n const col = clamp(Math.floor((clientX - box.left) / (side + GAP)), 0, columns - 1);\n const row = clamp(Math.floor((clientY - box.top) / (side + GAP)), 0, rows - 1);\n return col * rows + (rows - 1 - row);\n };\n const readingAt = (slot: number | null): Reading => {\n if (slot === null) return null;\n const cell = cells.find((item) => item.slot === slot);\n return cell?.key ? { key: cell.key, slot } : null;\n };\n const show = (next: Reading) => setReading((now) => (now?.slot === next?.slot ? now : next));\n const onPointerMove = (event: PointerEvent<HTMLDivElement>) => {\n if (event.pointerType === \"mouse\" || event.buttons) show(readingAt(slotAt(event.clientX, event.clientY)));\n };\n const onPointerDown = (event: PointerEvent<HTMLDivElement>) => {\n if (event.pointerType !== \"mouse\") event.currentTarget.setPointerCapture?.(event.pointerId);\n show(readingAt(slotAt(event.clientX, event.clientY)));\n };\n\n // Arrows walk the grid cell by cell; Page keys jump between categories.\n const onKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (empty) return;\n if (event.key === \"Escape\" && reading) {\n event.preventDefault();\n setReading(null);\n return;\n }\n const at = reading?.slot ?? 0;\n const col = Math.floor(at / rows);\n const row = at % rows;\n const blocks = counts\n .map((size, index) => ({ start: counts.slice(0, index).reduce((sum, value) => sum + value, 0), size }))\n .filter((block) => block.size > 0);\n const block = Math.max(0, blocks.findIndex((item) => at >= item.start && at < item.start + item.size));\n const moves: Record<string, () => number> = {\n ArrowUp: () => col * rows + Math.min(rows - 1, row + 1),\n ArrowDown: () => col * rows + Math.max(0, row - 1),\n ArrowRight: () => Math.min(columns - 1, col + 1) * rows + row,\n ArrowLeft: () => Math.max(0, col - 1) * rows + row,\n PageDown: () => blocks[Math.min(blocks.length - 1, block + 1)]!.start,\n PageUp: () => (at > blocks[block]!.start ? blocks[block]!.start : blocks[Math.max(0, block - 1)]!.start),\n Home: () => 0,\n End: () => filled - 1,\n };\n const move = moves[event.key];\n if (!move) return;\n event.preventDefault();\n show(readingAt(clamp(reading ? move() : 0, 0, Math.max(0, filled - 1))));\n };\n\n const suffix = unit ? ` ${unit}` : \"\";\n const format = (value: number, item: WaffleCategory) => `${formatValue ? formatValue(value, item) : GROUPED.format(value)}${suffix}`;\n const share = (item: WaffleCategory) => (total > 0 ? (Math.max(0, item.value) / total) * 100 : 0);\n const describe = (item: WaffleCategory) => `${item.label}, ${share(item).toFixed(decimals)}%, ${format(item.value, item)}`;\n const summary = empty\n ? `${label}. ${emptyLabel}.`\n : `${label}. ${data.map((item) => `${item.label} ${share(item).toFixed(decimals)}%`).join(\", \")}.`;\n\n return (\n <figure\n ref={refs}\n data-slot=\"waffle-chart\"\n aria-label={label}\n data-legend={legend || undefined}\n data-scrubbing={reading !== null || undefined}\n className={cn(\"waffle-chart box-border font-sans text-foreground\", className)}\n >\n <div ref={board} className=\"relative min-w-0\">\n <div\n ref={grid}\n data-slot=\"waffle-chart-grid\"\n data-active={active ? \"\" : undefined}\n role={empty ? undefined : \"slider\"}\n tabIndex={empty ? undefined : 0}\n aria-label={empty ? undefined : `${label}, explore cells`}\n aria-valuemin={empty ? undefined : 1}\n aria-valuemax={empty ? undefined : Math.max(1, filled)}\n aria-valuenow={empty ? undefined : (reading?.slot ?? 0) + 1}\n aria-valuetext={empty ? undefined : bubble ? describe(bubble) : summary}\n aria-hidden={empty || undefined}\n className=\"waffle-chart-grid\"\n style={{ \"--c\": columns, \"--r\": rows } as CSSProperties}\n onPointerMove={onPointerMove}\n onPointerDown={onPointerDown}\n onPointerUp={(event) => {\n if (event.pointerType !== \"mouse\") setReading(null);\n }}\n onPointerCancel={() => setReading(null)}\n onPointerLeave={(event) => {\n if (event.pointerType === \"mouse\") setReading(null);\n }}\n onKeyDown={onKeyDown}\n onBlur={() => setReading(null)}\n onFocus={(event) => {\n if (event.currentTarget.matches(\":focus-visible\") && !empty) setReading((now) => now ?? readingAt(0));\n }}\n >\n {cells.map((cell) => {\n const { x, y } = place(cell.slot);\n return (\n <span\n key={cell.id}\n aria-hidden=\"true\"\n data-cell={cell.slot}\n data-shown={shown || undefined}\n data-on={(cell.key !== null && cell.key === active) || undefined}\n data-cursor={reading?.slot === cell.slot || undefined}\n data-empty={cell.key === null || undefined}\n data-shape={shapeOf(cell.key)}\n data-hop={moved.has(cell.id) && shown ? (version % 2 ? \"a\" : \"b\") : undefined}\n className=\"waffle-chart-cell\"\n style={\n {\n \"--x\": x,\n \"--y\": y,\n \"--series\": colorOf(cell.key),\n \"--delay\": `${Math.round((cell.slot / count) * 320)}ms`,\n } as CSSProperties\n }\n />\n );\n })}\n </div>\n {empty ? null : (\n <div ref={tip} aria-hidden=\"true\" data-slot=\"waffle-chart-tooltip\" className=\"line-chart-tooltip\">\n <p className=\"m-0 flex min-w-0 items-center gap-2 text-sm\">\n <span data-shape={shapeOf(bubble?.key ?? null)} style={{ \"--series\": colorOf(bubble?.key ?? null) } as CSSProperties} className=\"chart-key-swatch\" />\n <span className=\"min-w-0 flex-1 truncate text-text-secondary\">{bubble?.label ?? \"\"}</span>\n <span className=\"ms-2 flex-none font-medium tabular-nums\">{bubble ? `${share(bubble).toFixed(decimals)}%` : \"\"}</span>\n </p>\n <p className=\"m-0 ms-4.5 whitespace-nowrap text-xs tabular-nums text-muted-foreground\">{bubble ? format(bubble.value, bubble) : \"\"}</p>\n </div>\n )}\n {empty ? <p className=\"m-0 grid min-h-40 place-items-center text-sm text-muted-foreground\">{emptyLabel}</p> : null}\n </div>\n {legend && !empty ? (\n <ul aria-label={`${label}, categories`} onPointerLeave={() => setPreview(null)} className=\"waffle-chart-legend\">\n {data.map((item) => (\n <li key={item.key}>\n <button\n type=\"button\"\n aria-pressed={pinned === item.key}\n data-on={active === item.key || undefined}\n data-dim={(active !== null && active !== item.key) || undefined}\n className=\"chart-key\"\n onClick={() => pin(pinned === item.key ? null : item.key)}\n onPointerEnter={(event) => {\n if (event.pointerType === \"mouse\") setPreview(item.key);\n }}\n onFocus={(event) => {\n if (event.currentTarget.matches(\":focus-visible\")) setPreview(item.key);\n }}\n onBlur={() => setPreview(null)}\n >\n <span aria-hidden=\"true\" data-shape={shapeOf(item.key)} style={{ \"--series\": colorOf(item.key) } as CSSProperties} className=\"chart-key-swatch\" />\n <span className=\"min-w-0 truncate\">{item.label}</span>\n <span aria-hidden=\"true\" className=\"min-w-13 text-end text-base font-medium tabular-nums text-foreground\">\n <Share value={share(item)} decimals={decimals} />\n </span>\n </button>\n </li>\n ))}\n </ul>\n ) : null}\n <p className=\"sr-only\">{summary}</p>\n <p className=\"sr-only\" aria-live=\"polite\" aria-atomic=\"true\">\n {bubble ? describe(bubble) : \"\"}\n </p>\n {empty ? null : (\n <div className=\"sr-only\">\n <table>\n <caption>{label}</caption>\n <thead>\n <tr>\n <th scope=\"col\">Category</th>\n <th scope=\"col\">Value</th>\n <th scope=\"col\">Share</th>\n <th scope=\"col\">Cells</th>\n </tr>\n </thead>\n <tbody>\n {data.map((item, index) => (\n <tr key={item.key}>\n <th scope=\"row\">{item.label}</th>\n <td>{format(item.value, item)}</td>\n <td>{share(item).toFixed(decimals)}%</td>\n <td>{counts[index]}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n )}\n </figure>\n );\n});\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seekalfred/primitives",
3
- "version": "0.6.0",
3
+ "version": "0.7.3",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Accessible, styled primitives built on React Aria Components.",
@@ -32,6 +32,10 @@
32
32
  "types": "./dist/action-button/index.d.ts",
33
33
  "default": "./dist/action-button/index.js"
34
34
  },
35
+ "./activity-heatmap": {
36
+ "types": "./dist/activity-heatmap/index.d.ts",
37
+ "default": "./dist/activity-heatmap/index.js"
38
+ },
35
39
  "./alert": {
36
40
  "types": "./dist/alert/index.d.ts",
37
41
  "default": "./dist/alert/index.js"
@@ -40,6 +44,14 @@
40
44
  "types": "./dist/alert-dialog/index.d.ts",
41
45
  "default": "./dist/alert-dialog/index.js"
42
46
  },
47
+ "./announcement-bar": {
48
+ "types": "./dist/announcement-bar/index.d.ts",
49
+ "default": "./dist/announcement-bar/index.js"
50
+ },
51
+ "./animated-counter": {
52
+ "types": "./dist/animated-counter/index.d.ts",
53
+ "default": "./dist/animated-counter/index.js"
54
+ },
43
55
  "./avatar": {
44
56
  "types": "./dist/avatar/index.d.ts",
45
57
  "default": "./dist/avatar/index.js"
@@ -48,10 +60,18 @@
48
60
  "types": "./dist/badge/index.d.ts",
49
61
  "default": "./dist/badge/index.js"
50
62
  },
63
+ "./bar-chart": {
64
+ "types": "./dist/bar-chart/index.d.ts",
65
+ "default": "./dist/bar-chart/index.js"
66
+ },
51
67
  "./breadcrumb": {
52
68
  "types": "./dist/breadcrumb/index.d.ts",
53
69
  "default": "./dist/breadcrumb/index.js"
54
70
  },
71
+ "./brush-chart": {
72
+ "types": "./dist/brush-chart/index.d.ts",
73
+ "default": "./dist/brush-chart/index.js"
74
+ },
55
75
  "./button": {
56
76
  "types": "./dist/button/index.d.ts",
57
77
  "default": "./dist/button/index.js"
@@ -68,10 +88,22 @@
68
88
  "types": "./dist/card/index.d.ts",
69
89
  "default": "./dist/card/index.js"
70
90
  },
91
+ "./card-stack": {
92
+ "types": "./dist/card-stack/index.d.ts",
93
+ "default": "./dist/card-stack/index.js"
94
+ },
95
+ "./carousel": {
96
+ "types": "./dist/carousel/index.d.ts",
97
+ "default": "./dist/carousel/index.js"
98
+ },
71
99
  "./checkbox": {
72
100
  "types": "./dist/checkbox/index.d.ts",
73
101
  "default": "./dist/checkbox/index.js"
74
102
  },
103
+ "./chip-group": {
104
+ "types": "./dist/chip-group/index.d.ts",
105
+ "default": "./dist/chip-group/index.js"
106
+ },
75
107
  "./confirm-morph": {
76
108
  "types": "./dist/confirm-morph/index.d.ts",
77
109
  "default": "./dist/confirm-morph/index.js"
@@ -80,6 +112,10 @@
80
112
  "types": "./dist/copy-button/index.d.ts",
81
113
  "default": "./dist/copy-button/index.js"
82
114
  },
115
+ "./countdown": {
116
+ "types": "./dist/countdown/index.d.ts",
117
+ "default": "./dist/countdown/index.js"
118
+ },
83
119
  "./date-picker": {
84
120
  "types": "./dist/date-picker/index.d.ts",
85
121
  "default": "./dist/date-picker/index.js"
@@ -88,6 +124,10 @@
88
124
  "types": "./dist/dialog/index.d.ts",
89
125
  "default": "./dist/dialog/index.js"
90
126
  },
127
+ "./donut-chart": {
128
+ "types": "./dist/donut-chart/index.d.ts",
129
+ "default": "./dist/donut-chart/index.js"
130
+ },
91
131
  "./empty-state": {
92
132
  "types": "./dist/empty-state/index.d.ts",
93
133
  "default": "./dist/empty-state/index.js"
@@ -112,6 +152,14 @@
112
152
  "types": "./dist/floating-button-group/index.d.ts",
113
153
  "default": "./dist/floating-button-group/index.js"
114
154
  },
155
+ "./in-view-title": {
156
+ "types": "./dist/in-view-title/index.d.ts",
157
+ "default": "./dist/in-view-title/index.js"
158
+ },
159
+ "./gauge": {
160
+ "types": "./dist/gauge/index.d.ts",
161
+ "default": "./dist/gauge/index.js"
162
+ },
115
163
  "./input": {
116
164
  "types": "./dist/input/index.d.ts",
117
165
  "default": "./dist/input/index.js"
@@ -120,10 +168,38 @@
120
168
  "types": "./dist/label/index.d.ts",
121
169
  "default": "./dist/label/index.js"
122
170
  },
171
+ "./line-chart": {
172
+ "types": "./dist/line-chart/index.d.ts",
173
+ "default": "./dist/line-chart/index.js"
174
+ },
175
+ "./mention-input": {
176
+ "types": "./dist/mention-input/index.d.ts",
177
+ "default": "./dist/mention-input/index.js"
178
+ },
123
179
  "./menu": {
124
180
  "types": "./dist/menu/index.d.ts",
125
181
  "default": "./dist/menu/index.js"
126
182
  },
183
+ "./money-input": {
184
+ "types": "./dist/money-input/index.d.ts",
185
+ "default": "./dist/money-input/index.js"
186
+ },
187
+ "./morph-select": {
188
+ "types": "./dist/morph-select/index.d.ts",
189
+ "default": "./dist/morph-select/index.js"
190
+ },
191
+ "./multi-select": {
192
+ "types": "./dist/multi-select/index.d.ts",
193
+ "default": "./dist/multi-select/index.js"
194
+ },
195
+ "./number-field": {
196
+ "types": "./dist/number-field/index.d.ts",
197
+ "default": "./dist/number-field/index.js"
198
+ },
199
+ "./onboarding-checklist": {
200
+ "types": "./dist/onboarding-checklist/index.d.ts",
201
+ "default": "./dist/onboarding-checklist/index.js"
202
+ },
127
203
  "./page-header": {
128
204
  "types": "./dist/page-header/index.d.ts",
129
205
  "default": "./dist/page-header/index.js"
@@ -136,6 +212,10 @@
136
212
  "types": "./dist/password-strength/index.d.ts",
137
213
  "default": "./dist/password-strength/index.js"
138
214
  },
215
+ "./phone-input": {
216
+ "types": "./dist/phone-input/index.d.ts",
217
+ "default": "./dist/phone-input/index.js"
218
+ },
139
219
  "./popover": {
140
220
  "types": "./dist/popover/index.d.ts",
141
221
  "default": "./dist/popover/index.js"
@@ -148,10 +228,26 @@
148
228
  "types": "./dist/radio-group/index.d.ts",
149
229
  "default": "./dist/radio-group/index.js"
150
230
  },
231
+ "./ridgeline": {
232
+ "types": "./dist/ridgeline/index.d.ts",
233
+ "default": "./dist/ridgeline/index.js"
234
+ },
235
+ "./reactions": {
236
+ "types": "./dist/reactions/index.d.ts",
237
+ "default": "./dist/reactions/index.js"
238
+ },
239
+ "./rich-text-editor": {
240
+ "types": "./dist/rich-text-editor/index.d.ts",
241
+ "default": "./dist/rich-text-editor/index.js"
242
+ },
151
243
  "./scroll-area": {
152
244
  "types": "./dist/scroll-area/index.d.ts",
153
245
  "default": "./dist/scroll-area/index.js"
154
246
  },
247
+ "./scrub-input": {
248
+ "types": "./dist/scrub-input/index.d.ts",
249
+ "default": "./dist/scrub-input/index.js"
250
+ },
155
251
  "./search-field": {
156
252
  "types": "./dist/search-field/index.d.ts",
157
253
  "default": "./dist/search-field/index.js"
@@ -168,6 +264,10 @@
168
264
  "types": "./dist/sheet/index.d.ts",
169
265
  "default": "./dist/sheet/index.js"
170
266
  },
267
+ "./shortcut-recorder": {
268
+ "types": "./dist/shortcut-recorder/index.d.ts",
269
+ "default": "./dist/shortcut-recorder/index.js"
270
+ },
171
271
  "./side-nav": {
172
272
  "types": "./dist/side-nav/index.d.ts",
173
273
  "default": "./dist/side-nav/index.js"
@@ -180,18 +280,42 @@
180
280
  "types": "./dist/slider/index.d.ts",
181
281
  "default": "./dist/slider/index.js"
182
282
  },
283
+ "./slope-chart": {
284
+ "types": "./dist/slope-chart/index.d.ts",
285
+ "default": "./dist/slope-chart/index.js"
286
+ },
183
287
  "./spinner": {
184
288
  "types": "./dist/spinner/index.d.ts",
185
289
  "default": "./dist/spinner/index.js"
186
290
  },
291
+ "./split-bar": {
292
+ "types": "./dist/split-bar/index.d.ts",
293
+ "default": "./dist/split-bar/index.js"
294
+ },
187
295
  "./split-button": {
188
296
  "types": "./dist/split-button/index.d.ts",
189
297
  "default": "./dist/split-button/index.js"
190
298
  },
299
+ "./sparkline": {
300
+ "types": "./dist/sparkline/index.d.ts",
301
+ "default": "./dist/sparkline/index.js"
302
+ },
191
303
  "./stat-card": {
192
304
  "types": "./dist/stat-card/index.d.ts",
193
305
  "default": "./dist/stat-card/index.js"
194
306
  },
307
+ "./stepper": {
308
+ "types": "./dist/stepper/index.d.ts",
309
+ "default": "./dist/stepper/index.js"
310
+ },
311
+ "./streamgraph": {
312
+ "types": "./dist/streamgraph/index.d.ts",
313
+ "default": "./dist/streamgraph/index.js"
314
+ },
315
+ "./swipe-actions": {
316
+ "types": "./dist/swipe-actions/index.d.ts",
317
+ "default": "./dist/swipe-actions/index.js"
318
+ },
195
319
  "./switch": {
196
320
  "types": "./dist/switch/index.d.ts",
197
321
  "default": "./dist/switch/index.js"
@@ -204,6 +328,22 @@
204
328
  "types": "./dist/tabs/index.d.ts",
205
329
  "default": "./dist/tabs/index.js"
206
330
  },
331
+ "./text-shimmer": {
332
+ "types": "./dist/text-shimmer/index.d.ts",
333
+ "default": "./dist/text-shimmer/index.js"
334
+ },
335
+ "./tag-input": {
336
+ "types": "./dist/tag-input/index.d.ts",
337
+ "default": "./dist/tag-input/index.js"
338
+ },
339
+ "./text-morph": {
340
+ "types": "./dist/text-morph/index.d.ts",
341
+ "default": "./dist/text-morph/index.js"
342
+ },
343
+ "./text-reveal": {
344
+ "types": "./dist/text-reveal/index.d.ts",
345
+ "default": "./dist/text-reveal/index.js"
346
+ },
207
347
  "./textarea": {
208
348
  "types": "./dist/textarea/index.d.ts",
209
349
  "default": "./dist/textarea/index.js"
@@ -224,6 +364,18 @@
224
364
  "types": "./dist/tooltip/index.d.ts",
225
365
  "default": "./dist/tooltip/index.js"
226
366
  },
367
+ "./treemap": {
368
+ "types": "./dist/treemap/index.d.ts",
369
+ "default": "./dist/treemap/index.js"
370
+ },
371
+ "./waffle-chart": {
372
+ "types": "./dist/waffle-chart/index.d.ts",
373
+ "default": "./dist/waffle-chart/index.js"
374
+ },
375
+ "./usage-meter": {
376
+ "types": "./dist/usage-meter/index.d.ts",
377
+ "default": "./dist/usage-meter/index.js"
378
+ },
227
379
  "./package.json": "./package.json",
228
380
  "./styles.css": "./dist/styles.css"
229
381
  },
@@ -234,15 +386,25 @@
234
386
  "react-dom": "^18.0.0 || ^19.0.0"
235
387
  },
236
388
  "dependencies": {
237
- "@seekalfred/tokens": "^0.6.0",
389
+ "@lexical/code": "0.52.0",
390
+ "@lexical/history": "0.52.0",
391
+ "@lexical/html": "0.52.0",
392
+ "@lexical/link": "0.52.0",
393
+ "@lexical/list": "0.52.0",
394
+ "@lexical/markdown": "0.52.0",
395
+ "@lexical/rich-text": "0.52.0",
396
+ "@lexical/selection": "0.52.0",
397
+ "@lexical/utils": "0.52.0",
398
+ "@seekalfred/tokens": "^0.7.3",
238
399
  "class-variance-authority": "0.7.1",
239
400
  "clsx": "2.1.1",
401
+ "lexical": "0.52.0",
240
402
  "tailwind-merge": "3.6.0"
241
403
  },
242
404
  "devDependencies": {
243
405
  "@arethetypeswrong/cli": "0.18.5",
244
406
  "@internationalized/date": "3.12.4",
245
- "@seekalfred/styles": "^0.6.0",
407
+ "@seekalfred/styles": "^0.7.3",
246
408
  "@seekalfred/tsconfig": "0.0.0",
247
409
  "@size-limit/preset-small-lib": "13.0.3",
248
410
  "@storybook/react-vite": "10.6.0",