@cognite/aura 0.3.5 → 1.46105.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/CHANGELOG.md +264 -0
  2. package/DESIGN.md +638 -281
  3. package/LICENSE +21 -0
  4. package/README.md +21 -13
  5. package/dist/colors-deprecated.css +587 -0
  6. package/dist/colors.css +803 -830
  7. package/dist/components/index.d.ts +63 -57
  8. package/dist/components/index.js +62 -59
  9. package/dist/components/index.js.map +1 -0
  10. package/dist/components/ui/core/accordion/accordion.d.ts +19 -18
  11. package/dist/components/ui/core/accordion/accordion.js +99 -78
  12. package/dist/components/ui/core/accordion/accordion.js.map +1 -0
  13. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.d.ts +8 -0
  14. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js +125 -0
  15. package/dist/components/ui/core/action-toolbar/action-toolbar-motion.js.map +1 -0
  16. package/dist/components/ui/core/action-toolbar/action-toolbar.d.ts +31 -31
  17. package/dist/components/ui/core/action-toolbar/action-toolbar.js +156 -106
  18. package/dist/components/ui/core/action-toolbar/action-toolbar.js.map +1 -0
  19. package/dist/components/ui/core/alert/alert.d.ts +25 -25
  20. package/dist/components/ui/core/alert/alert.js +181 -152
  21. package/dist/components/ui/core/alert/alert.js.map +1 -0
  22. package/dist/components/ui/core/avatar/avatar.d.ts +10 -9
  23. package/dist/components/ui/core/avatar/avatar.js +75 -65
  24. package/dist/components/ui/core/avatar/avatar.js.map +1 -0
  25. package/dist/components/ui/core/badge/badge.d.ts +13 -12
  26. package/dist/components/ui/core/badge/badge.js +88 -72
  27. package/dist/components/ui/core/badge/badge.js.map +1 -0
  28. package/dist/components/ui/core/banner/banner.d.ts +18 -18
  29. package/dist/components/ui/core/banner/banner.js +179 -142
  30. package/dist/components/ui/core/banner/banner.js.map +1 -0
  31. package/dist/components/ui/core/breadcrumb/breadcrumb.d.ts +12 -12
  32. package/dist/components/ui/core/breadcrumb/breadcrumb.js +139 -104
  33. package/dist/components/ui/core/breadcrumb/breadcrumb.js.map +1 -0
  34. package/dist/components/ui/core/button/button.d.ts +7 -7
  35. package/dist/components/ui/core/button/button.gallery.d.ts +2 -0
  36. package/dist/components/ui/core/button/button.gallery.js +76 -0
  37. package/dist/components/ui/core/button/button.gallery.js.map +1 -0
  38. package/dist/components/ui/core/button/button.js +57 -47
  39. package/dist/components/ui/core/button/button.js.map +1 -0
  40. package/dist/components/ui/core/button-group/button-group.d.ts +9 -9
  41. package/dist/components/ui/core/button-group/button-group.js +50 -40
  42. package/dist/components/ui/core/button-group/button-group.js.map +1 -0
  43. package/dist/components/ui/core/calendar/calendar-header.d.ts +7 -7
  44. package/dist/components/ui/core/calendar/calendar-header.js +102 -63
  45. package/dist/components/ui/core/calendar/calendar-header.js.map +1 -0
  46. package/dist/components/ui/core/calendar/calendar-utils.d.ts +30 -30
  47. package/dist/components/ui/core/calendar/calendar-utils.js +116 -39
  48. package/dist/components/ui/core/calendar/calendar-utils.js.map +1 -0
  49. package/dist/components/ui/core/calendar/calendar.d.ts +10 -10
  50. package/dist/components/ui/core/calendar/calendar.js +95 -66
  51. package/dist/components/ui/core/calendar/calendar.js.map +1 -0
  52. package/dist/components/ui/core/calendar/constants.js +3 -0
  53. package/dist/components/ui/core/calendar/constants.js.map +1 -0
  54. package/dist/components/ui/core/card/card.d.ts +20 -20
  55. package/dist/components/ui/core/card/card.js +133 -104
  56. package/dist/components/ui/core/card/card.js.map +1 -0
  57. package/dist/components/ui/core/chart/chart.d.ts +55 -53
  58. package/dist/components/ui/core/chart/chart.js +196 -116
  59. package/dist/components/ui/core/chart/chart.js.map +1 -0
  60. package/dist/components/ui/core/chart/index.d.ts +2 -2
  61. package/dist/components/ui/core/chart/index.js +3 -2
  62. package/dist/components/ui/core/chart/index.js.map +1 -0
  63. package/dist/components/ui/core/checkbox/checkbox.d.ts +9 -9
  64. package/dist/components/ui/core/checkbox/checkbox.js +88 -68
  65. package/dist/components/ui/core/checkbox/checkbox.js.map +1 -0
  66. package/dist/components/ui/core/checkbox/checkbox.metadata.d.ts +1 -1
  67. package/dist/components/ui/core/checkbox/checkbox.metadata.js +6 -7
  68. package/dist/components/ui/core/checkbox/checkbox.metadata.js.map +1 -0
  69. package/dist/components/ui/core/code-block/code-block.d.ts +19 -19
  70. package/dist/components/ui/core/code-block/code-block.js +259 -175
  71. package/dist/components/ui/core/code-block/code-block.js.map +1 -0
  72. package/dist/components/ui/core/collapsible/collapsible.d.ts +5 -5
  73. package/dist/components/ui/core/collapsible/collapsible.js +36 -30
  74. package/dist/components/ui/core/collapsible/collapsible.js.map +1 -0
  75. package/dist/components/ui/core/combobox/combobox.d.ts +13 -13
  76. package/dist/components/ui/core/combobox/combobox.js +89 -40
  77. package/dist/components/ui/core/combobox/combobox.js.map +1 -0
  78. package/dist/components/ui/core/command/command.d.ts +20 -18
  79. package/dist/components/ui/core/command/command.js +137 -85
  80. package/dist/components/ui/core/command/command.js.map +1 -0
  81. package/dist/components/ui/core/conversation/conversation.d.ts +14 -0
  82. package/dist/components/ui/core/conversation/conversation.js +51 -0
  83. package/dist/components/ui/core/conversation/conversation.js.map +1 -0
  84. package/dist/components/ui/core/count/count.d.ts +8 -6
  85. package/dist/components/ui/core/count/count.js +51 -21
  86. package/dist/components/ui/core/count/count.js.map +1 -0
  87. package/dist/components/ui/core/data-grid/data-grid-cell.d.ts +7 -7
  88. package/dist/components/ui/core/data-grid/data-grid-cell.js +22 -22
  89. package/dist/components/ui/core/data-grid/data-grid-cell.js.map +1 -0
  90. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.d.ts +14 -0
  91. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js +36 -0
  92. package/dist/components/ui/core/data-grid/data-grid-filter-clauses.js.map +1 -0
  93. package/dist/components/ui/core/data-grid/data-grid-filter-panel.d.ts +41 -0
  94. package/dist/components/ui/core/data-grid/data-grid-filter-panel.js +273 -0
  95. package/dist/components/ui/core/data-grid/data-grid-filter-panel.js.map +1 -0
  96. package/dist/components/ui/core/data-grid/data-grid-footer.d.ts +6 -0
  97. package/dist/components/ui/core/data-grid/data-grid-footer.js +34 -0
  98. package/dist/components/ui/core/data-grid/data-grid-footer.js.map +1 -0
  99. package/dist/components/ui/core/data-grid/data-grid-header-row.d.ts +10 -10
  100. package/dist/components/ui/core/data-grid/data-grid-header-row.js +69 -55
  101. package/dist/components/ui/core/data-grid/data-grid-header-row.js.map +1 -0
  102. package/dist/components/ui/core/data-grid/data-grid-header.d.ts +11 -0
  103. package/dist/components/ui/core/data-grid/data-grid-header.js +67 -0
  104. package/dist/components/ui/core/data-grid/data-grid-header.js.map +1 -0
  105. package/dist/components/ui/core/data-grid/data-grid-row.d.ts +15 -15
  106. package/dist/components/ui/core/data-grid/data-grid-row.js +104 -76
  107. package/dist/components/ui/core/data-grid/data-grid-row.js.map +1 -0
  108. package/dist/components/ui/core/data-grid/data-grid.d.ts +85 -35
  109. package/dist/components/ui/core/data-grid/data-grid.fixtures.d.ts +7 -7
  110. package/dist/components/ui/core/data-grid/data-grid.fixtures.js +139 -0
  111. package/dist/components/ui/core/data-grid/data-grid.fixtures.js.map +1 -0
  112. package/dist/components/ui/core/data-grid/data-grid.js +402 -132
  113. package/dist/components/ui/core/data-grid/data-grid.js.map +1 -0
  114. package/dist/components/ui/core/data-grid/data-grid.utils.d.ts +3 -3
  115. package/dist/components/ui/core/data-grid/data-grid.utils.js +44 -33
  116. package/dist/components/ui/core/data-grid/data-grid.utils.js.map +1 -0
  117. package/dist/components/ui/core/data-grid/index.d.ts +4 -1
  118. package/dist/components/ui/core/data-grid/index.js +5 -2
  119. package/dist/components/ui/core/data-grid/index.js.map +1 -0
  120. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.d.ts +11 -13
  121. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js +85 -61
  122. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js.map +1 -0
  123. package/dist/components/ui/core/date-time-pickers/date-picker/index.d.ts +3 -3
  124. package/dist/components/ui/core/date-time-pickers/date-picker/index.js +3 -0
  125. package/dist/components/ui/core/date-time-pickers/date-picker/index.js.map +1 -0
  126. package/dist/components/ui/core/date-time-pickers/date-picker/types.d.ts +14 -14
  127. package/dist/components/ui/core/date-time-pickers/date-picker/types.js +3 -0
  128. package/dist/components/ui/core/date-time-pickers/date-picker/types.js.map +1 -0
  129. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.d.ts +2 -2
  130. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js +51 -36
  131. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js.map +1 -0
  132. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.d.ts +11 -13
  133. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js +89 -64
  134. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js.map +1 -0
  135. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.d.ts +3 -3
  136. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js +3 -0
  137. package/dist/components/ui/core/date-time-pickers/date-range-picker/index.js.map +1 -0
  138. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.d.ts +20 -20
  139. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js +3 -0
  140. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.js.map +1 -0
  141. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.d.ts +4 -4
  142. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js +95 -60
  143. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js.map +1 -0
  144. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.d.ts +15 -0
  145. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js +120 -0
  146. package/dist/components/ui/core/date-time-pickers/date-time-picker/date-time-picker.js.map +1 -0
  147. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.d.ts +3 -1
  148. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js +3 -0
  149. package/dist/components/ui/core/date-time-pickers/date-time-picker/index.js.map +1 -0
  150. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.d.ts +25 -32
  151. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js +3 -0
  152. package/dist/components/ui/core/date-time-pickers/date-time-picker/types.js.map +1 -0
  153. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.d.ts +2 -2
  154. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js +78 -0
  155. package/dist/components/ui/core/date-time-pickers/date-time-picker/use-date-time-picker.js.map +1 -0
  156. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.d.ts +13 -15
  157. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js +165 -119
  158. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js.map +1 -0
  159. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.d.ts +3 -3
  160. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js +3 -0
  161. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/index.js.map +1 -0
  162. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.d.ts +37 -37
  163. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js +3 -0
  164. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.js.map +1 -0
  165. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.d.ts +3 -3
  166. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js +163 -104
  167. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js.map +1 -0
  168. package/dist/components/ui/core/date-time-pickers/index.d.ts +17 -12
  169. package/dist/components/ui/core/date-time-pickers/index.js +10 -6
  170. package/dist/components/ui/core/date-time-pickers/index.js.map +1 -0
  171. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.d.ts +5 -5
  172. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js +52 -42
  173. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js.map +1 -0
  174. package/dist/components/ui/core/date-time-pickers/shared/constants.d.ts +6 -1
  175. package/dist/components/ui/core/date-time-pickers/shared/constants.js +23 -0
  176. package/dist/components/ui/core/date-time-pickers/shared/constants.js.map +1 -0
  177. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.d.ts +16 -15
  178. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js +87 -64
  179. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js.map +1 -0
  180. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.d.ts +10 -9
  181. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js +89 -38
  182. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js.map +1 -0
  183. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.d.ts +5 -5
  184. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js +34 -23
  185. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js.map +1 -0
  186. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.d.ts +23 -23
  187. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js +95 -52
  188. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js.map +1 -0
  189. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.d.ts +5 -5
  190. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js +22 -18
  191. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js.map +1 -0
  192. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.d.ts +19 -19
  193. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js +41 -24
  194. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js.map +1 -0
  195. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.d.ts +13 -13
  196. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js +33 -24
  197. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js.map +1 -0
  198. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.d.ts +5 -5
  199. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js +9 -4
  200. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js.map +1 -0
  201. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.d.ts +13 -9
  202. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js +22 -17
  203. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js.map +1 -0
  204. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.d.ts +2 -2
  205. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js +3 -0
  206. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.js.map +1 -0
  207. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.d.ts +13 -13
  208. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js +49 -40
  209. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js.map +1 -0
  210. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.d.ts +7 -7
  211. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js +41 -34
  212. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js.map +1 -0
  213. package/dist/components/ui/core/date-time-pickers/time-picker/index.d.ts +3 -3
  214. package/dist/components/ui/core/date-time-pickers/time-picker/index.js +3 -0
  215. package/dist/components/ui/core/date-time-pickers/time-picker/index.js.map +1 -0
  216. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.d.ts +12 -14
  217. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js +99 -79
  218. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js.map +1 -0
  219. package/dist/components/ui/core/date-time-pickers/time-picker/types.d.ts +20 -20
  220. package/dist/components/ui/core/date-time-pickers/time-picker/types.js +3 -0
  221. package/dist/components/ui/core/date-time-pickers/time-picker/types.js.map +1 -0
  222. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.d.ts +2 -2
  223. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js +63 -41
  224. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js.map +1 -0
  225. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.d.ts +3 -1
  226. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js +3 -0
  227. package/dist/components/ui/core/date-time-pickers/time-range-picker/index.js.map +1 -0
  228. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.d.ts +14 -0
  229. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js +115 -0
  230. package/dist/components/ui/core/date-time-pickers/time-range-picker/time-range-picker.js.map +1 -0
  231. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.d.ts +30 -36
  232. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js +3 -0
  233. package/dist/components/ui/core/date-time-pickers/time-range-picker/types.js.map +1 -0
  234. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.d.ts +2 -2
  235. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js +145 -0
  236. package/dist/components/ui/core/date-time-pickers/time-range-picker/use-time-range-picker.js.map +1 -0
  237. package/dist/components/ui/core/date-time-pickers/utils/date-input.d.ts +56 -0
  238. package/dist/components/ui/core/date-time-pickers/utils/date-input.js +67 -0
  239. package/dist/components/ui/core/date-time-pickers/utils/date-input.js.map +1 -0
  240. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.d.ts +18 -18
  241. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js +42 -0
  242. package/dist/components/ui/core/date-time-pickers/utils/date-range-utils.js.map +1 -0
  243. package/dist/components/ui/core/date-time-pickers/utils/format-utils.d.ts +31 -29
  244. package/dist/components/ui/core/date-time-pickers/utils/format-utils.js +56 -0
  245. package/dist/components/ui/core/date-time-pickers/utils/format-utils.js.map +1 -0
  246. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.d.ts +21 -21
  247. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js +170 -0
  248. package/dist/components/ui/core/date-time-pickers/utils/segment-utils.js.map +1 -0
  249. package/dist/components/ui/core/date-time-pickers/utils/time-utils.d.ts +28 -28
  250. package/dist/components/ui/core/date-time-pickers/utils/time-utils.js +88 -7
  251. package/dist/components/ui/core/date-time-pickers/utils/time-utils.js.map +1 -0
  252. package/dist/components/ui/core/date-time-pickers/utils/time-validation.d.ts +17 -17
  253. package/dist/components/ui/core/date-time-pickers/utils/time-validation.js +43 -0
  254. package/dist/components/ui/core/date-time-pickers/utils/time-validation.js.map +1 -0
  255. package/dist/components/ui/core/dialog/dialog.d.ts +12 -9
  256. package/dist/components/ui/core/dialog/dialog.js +90 -82
  257. package/dist/components/ui/core/dialog/dialog.js.map +1 -0
  258. package/dist/components/ui/core/dropdown-menu/dropdown-menu.d.ts +22 -19
  259. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js +204 -149
  260. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js.map +1 -0
  261. package/dist/components/ui/core/empty-state/empty-state.context.d.ts +4 -4
  262. package/dist/components/ui/core/empty-state/empty-state.context.js +8 -5
  263. package/dist/components/ui/core/empty-state/empty-state.context.js.map +1 -0
  264. package/dist/components/ui/core/empty-state/empty-state.d.ts +14 -14
  265. package/dist/components/ui/core/empty-state/empty-state.js +96 -82
  266. package/dist/components/ui/core/empty-state/empty-state.js.map +1 -0
  267. package/dist/components/ui/core/helper-text/helper-text.d.ts +7 -7
  268. package/dist/components/ui/core/helper-text/helper-text.js +55 -36
  269. package/dist/components/ui/core/helper-text/helper-text.js.map +1 -0
  270. package/dist/components/ui/core/hover-card/hover-card.d.ts +7 -6
  271. package/dist/components/ui/core/hover-card/hover-card.js +56 -52
  272. package/dist/components/ui/core/hover-card/hover-card.js.map +1 -0
  273. package/dist/components/ui/core/inline-citation/inline-citation.d.ts +26 -25
  274. package/dist/components/ui/core/inline-citation/inline-citation.js +121 -97
  275. package/dist/components/ui/core/inline-citation/inline-citation.js.map +1 -0
  276. package/dist/components/ui/core/input/input.d.ts +2 -2
  277. package/dist/components/ui/core/input/input.js +15 -13
  278. package/dist/components/ui/core/input/input.js.map +1 -0
  279. package/dist/components/ui/core/input-group/input-group.d.ts +25 -14
  280. package/dist/components/ui/core/input-group/input-group.js +149 -76
  281. package/dist/components/ui/core/input-group/input-group.js.map +1 -0
  282. package/dist/components/ui/core/item/item.d.ts +20 -0
  283. package/dist/components/ui/core/item/item.js +93 -0
  284. package/dist/components/ui/core/item/item.js.map +1 -0
  285. package/dist/components/ui/core/kbd/kbd.d.ts +3 -3
  286. package/dist/components/ui/core/kbd/kbd.js +24 -20
  287. package/dist/components/ui/core/kbd/kbd.js.map +1 -0
  288. package/dist/components/ui/core/label/label.d.ts +3 -3
  289. package/dist/components/ui/core/label/label.js +33 -26
  290. package/dist/components/ui/core/label/label.js.map +1 -0
  291. package/dist/components/ui/core/loader/loader.d.ts +6 -6
  292. package/dist/components/ui/core/loader/loader.js +97 -80
  293. package/dist/components/ui/core/loader/loader.js.map +1 -0
  294. package/dist/components/ui/core/message/message-response-default-streamdown-controls.d.ts +9 -9
  295. package/dist/components/ui/core/message/message-response-default-streamdown-controls.js +19 -12
  296. package/dist/components/ui/core/message/message-response-default-streamdown-controls.js.map +1 -0
  297. package/dist/components/ui/core/message/message-response-math-plugin.d.ts +3 -0
  298. package/dist/components/ui/core/message/message-response-math-plugin.js +6 -0
  299. package/dist/components/ui/core/message/message-response-math-plugin.js.map +1 -0
  300. package/dist/components/ui/core/message/message.d.ts +27 -23
  301. package/dist/components/ui/core/message/message.js +453 -316
  302. package/dist/components/ui/core/message/message.js.map +1 -0
  303. package/dist/components/ui/core/overflow-list/overflow-list.d.ts +21 -0
  304. package/dist/components/ui/core/overflow-list/overflow-list.js +197 -0
  305. package/dist/components/ui/core/overflow-list/overflow-list.js.map +1 -0
  306. package/dist/components/ui/core/overflow-list/overflow-list.utils.d.ts +37 -35
  307. package/dist/components/ui/core/overflow-list/overflow-list.utils.js +206 -0
  308. package/dist/components/ui/core/overflow-list/overflow-list.utils.js.map +1 -0
  309. package/dist/components/ui/core/pagination/pagination-size-context.d.ts +2 -2
  310. package/dist/components/ui/core/pagination/pagination-size-context.js +6 -5
  311. package/dist/components/ui/core/pagination/pagination-size-context.js.map +1 -0
  312. package/dist/components/ui/core/pagination/pagination-teleport.d.ts +9 -9
  313. package/dist/components/ui/core/pagination/pagination-teleport.js +127 -84
  314. package/dist/components/ui/core/pagination/pagination-teleport.js.map +1 -0
  315. package/dist/components/ui/core/pagination/pagination-teleport.utils.js +6 -6
  316. package/dist/components/ui/core/pagination/pagination-teleport.utils.js.map +1 -0
  317. package/dist/components/ui/core/pagination/pagination.d.ts +39 -39
  318. package/dist/components/ui/core/pagination/pagination.js +294 -234
  319. package/dist/components/ui/core/pagination/pagination.js.map +1 -0
  320. package/dist/components/ui/core/popover/popover.d.ts +12 -11
  321. package/dist/components/ui/core/popover/popover.js +104 -89
  322. package/dist/components/ui/core/popover/popover.js.map +1 -0
  323. package/dist/components/ui/core/progress/progress.d.ts +9 -8
  324. package/dist/components/ui/core/progress/progress.js +50 -35
  325. package/dist/components/ui/core/progress/progress.js.map +1 -0
  326. package/dist/components/ui/core/prompt-input/prompt-input.d.ts +27 -27
  327. package/dist/components/ui/core/prompt-input/prompt-input.js +342 -271
  328. package/dist/components/ui/core/prompt-input/prompt-input.js.map +1 -0
  329. package/dist/components/ui/core/radio-group/radio-group.d.ts +12 -12
  330. package/dist/components/ui/core/radio-group/radio-group.js +88 -58
  331. package/dist/components/ui/core/radio-group/radio-group.js.map +1 -0
  332. package/dist/components/ui/core/reasoning/reasoning.d.ts +7 -7
  333. package/dist/components/ui/core/reasoning/reasoning.js +68 -56
  334. package/dist/components/ui/core/reasoning/reasoning.js.map +1 -0
  335. package/dist/components/ui/core/scroll-area/scroll-area.d.ts +4 -4
  336. package/dist/components/ui/core/scroll-area/scroll-area.js +50 -40
  337. package/dist/components/ui/core/scroll-area/scroll-area.js.map +1 -0
  338. package/dist/components/ui/core/search/search.d.ts +8 -8
  339. package/dist/components/ui/core/search/search.js +122 -76
  340. package/dist/components/ui/core/search/search.js.map +1 -0
  341. package/dist/components/ui/core/segmented-control/segmented-control.d.ts +10 -10
  342. package/dist/components/ui/core/segmented-control/segmented-control.js +203 -149
  343. package/dist/components/ui/core/segmented-control/segmented-control.js.map +1 -0
  344. package/dist/components/ui/core/select/select.d.ts +27 -26
  345. package/dist/components/ui/core/select/select.js +213 -168
  346. package/dist/components/ui/core/select/select.js.map +1 -0
  347. package/dist/components/ui/core/separator/separator.d.ts +2 -2
  348. package/dist/components/ui/core/separator/separator.js +13 -13
  349. package/dist/components/ui/core/separator/separator.js.map +1 -0
  350. package/dist/components/ui/core/shimmer/shimmer.d.ts +8 -8
  351. package/dist/components/ui/core/shimmer/shimmer.js +64 -40
  352. package/dist/components/ui/core/shimmer/shimmer.js.map +1 -0
  353. package/dist/components/ui/core/skeleton/skeleton.d.ts +2 -2
  354. package/dist/components/ui/core/skeleton/skeleton.js +13 -13
  355. package/dist/components/ui/core/skeleton/skeleton.js.map +1 -0
  356. package/dist/components/ui/core/slider/slider.d.ts +7 -7
  357. package/dist/components/ui/core/slider/slider.js +51 -39
  358. package/dist/components/ui/core/slider/slider.js.map +1 -0
  359. package/dist/components/ui/core/sonner-toast/sonner-toast.d.ts +2 -2
  360. package/dist/components/ui/core/sonner-toast/sonner-toast.js +67 -54
  361. package/dist/components/ui/core/sonner-toast/sonner-toast.js.map +1 -0
  362. package/dist/components/ui/core/sources/sources.d.ts +12 -12
  363. package/dist/components/ui/core/sources/sources.js +87 -58
  364. package/dist/components/ui/core/sources/sources.js.map +1 -0
  365. package/dist/components/ui/core/switch/switch.d.ts +9 -9
  366. package/dist/components/ui/core/switch/switch.js +83 -61
  367. package/dist/components/ui/core/switch/switch.js.map +1 -0
  368. package/dist/components/ui/core/switch/switch.metadata.d.ts +1 -1
  369. package/dist/components/ui/core/switch/switch.metadata.js +8 -0
  370. package/dist/components/ui/core/switch/switch.metadata.js.map +1 -0
  371. package/dist/components/ui/core/tabs/tabs.d.ts +20 -18
  372. package/dist/components/ui/core/tabs/tabs.js +176 -147
  373. package/dist/components/ui/core/tabs/tabs.js.map +1 -0
  374. package/dist/components/ui/core/tabs/tabs.utils.d.ts +1 -1
  375. package/dist/components/ui/core/tabs/tabs.utils.js +10 -6
  376. package/dist/components/ui/core/tabs/tabs.utils.js.map +1 -0
  377. package/dist/components/ui/core/textarea/textarea.d.ts +2 -2
  378. package/dist/components/ui/core/textarea/textarea.js +13 -13
  379. package/dist/components/ui/core/textarea/textarea.js.map +1 -0
  380. package/dist/components/ui/core/toggle/toggle.d.ts +9 -9
  381. package/dist/components/ui/core/toggle/toggle.js +60 -54
  382. package/dist/components/ui/core/toggle/toggle.js.map +1 -0
  383. package/dist/components/ui/core/tool/tool.d.ts +18 -18
  384. package/dist/components/ui/core/tool/tool.js +167 -126
  385. package/dist/components/ui/core/tool/tool.js.map +1 -0
  386. package/dist/components/ui/core/toolbar/toolbar.d.ts +37 -0
  387. package/dist/components/ui/core/toolbar/toolbar.js +171 -0
  388. package/dist/components/ui/core/toolbar/toolbar.js.map +1 -0
  389. package/dist/components/ui/core/tooltip/tooltip.d.ts +8 -7
  390. package/dist/components/ui/core/tooltip/tooltip.js +53 -46
  391. package/dist/components/ui/core/tooltip/tooltip.js.map +1 -0
  392. package/dist/components/ui/core/topbar/topbar.d.ts +26 -26
  393. package/dist/components/ui/core/topbar/topbar.js +160 -105
  394. package/dist/components/ui/core/topbar/topbar.js.map +1 -0
  395. package/dist/components/ui/core/tree/tree.d.ts +20 -0
  396. package/dist/components/ui/core/tree/tree.js +100 -0
  397. package/dist/components/ui/core/tree/tree.js.map +1 -0
  398. package/dist/eslint/index.d.ts +5 -5
  399. package/dist/eslint/index.js +9 -5
  400. package/dist/eslint/index.js.map +1 -0
  401. package/dist/eslint/no-overriding-styles.d.ts +1 -1
  402. package/dist/eslint/no-overriding-styles.js +341 -201
  403. package/dist/eslint/no-overriding-styles.js.map +1 -0
  404. package/dist/icons/index.d.ts +1 -1
  405. package/dist/icons/index.js +2 -0
  406. package/dist/icons/index.js.map +1 -0
  407. package/dist/index.d.ts +1 -1
  408. package/dist/index.js +3 -0
  409. package/dist/index.js.map +1 -0
  410. package/dist/lib/ai/types.d.ts +43 -43
  411. package/dist/lib/ai/types.js +3 -0
  412. package/dist/lib/ai/types.js.map +1 -0
  413. package/dist/lib/decorative-variant-classes.d.ts +53 -0
  414. package/dist/lib/decorative-variant-classes.js +58 -0
  415. package/dist/lib/decorative-variant-classes.js.map +1 -0
  416. package/dist/lib/highlight-code.d.ts +11 -8
  417. package/dist/lib/highlight-code.js +58 -40
  418. package/dist/lib/highlight-code.js.map +1 -0
  419. package/dist/lib/portal-container-context.d.ts +1 -1
  420. package/dist/lib/portal-container-context.js +8 -8
  421. package/dist/lib/portal-container-context.js.map +1 -0
  422. package/dist/lib/shared-theme-from-url.d.ts +13 -0
  423. package/dist/lib/shared-theme-from-url.js +61 -0
  424. package/dist/lib/shared-theme-from-url.js.map +1 -0
  425. package/dist/lib/style-scope.d.ts +2 -2
  426. package/dist/lib/style-scope.js +6 -6
  427. package/dist/lib/style-scope.js.map +1 -0
  428. package/dist/lib/theme-share-url.d.ts +31 -0
  429. package/dist/lib/theme-share-url.js +116 -0
  430. package/dist/lib/theme-share-url.js.map +1 -0
  431. package/dist/lib/types.d.ts +39 -39
  432. package/dist/lib/types.js +3 -0
  433. package/dist/lib/types.js.map +1 -0
  434. package/dist/lib/use-controllable-state.d.ts +4 -7
  435. package/dist/lib/use-controllable-state.js +34 -21
  436. package/dist/lib/use-controllable-state.js.map +1 -0
  437. package/dist/lib/utils.d.ts +63 -34
  438. package/dist/lib/utils.js +134 -32
  439. package/dist/lib/utils.js.map +1 -0
  440. package/dist/styles.css +2 -1
  441. package/dist/styles.source.css +24 -12
  442. package/dist/utils/assign-ref.d.ts +3 -0
  443. package/dist/utils/assign-ref.js +13 -0
  444. package/dist/utils/assign-ref.js.map +1 -0
  445. package/package.json +46 -11
  446. package/src/components/ui/core/button/button.md +93 -0
@@ -1,69 +1,71 @@
1
- import { ComponentProps, CSSProperties, ReactNode } from 'react';
2
- import { ResponsiveContainer, Tooltip, Legend } from 'recharts';
3
- export type ChartConfig = {
4
- [k in string]: {
5
- label?: ReactNode;
6
- icon?: ReactNode;
7
- /** A CSS color or `var(--token)`. Use a token for light/dark theming. */
8
- color?: string;
9
- };
10
- };
1
+ import { type ComponentProps, type CSSProperties, type ReactNode } from "react";
2
+ import { ResponsiveContainer, Tooltip, Legend } from "recharts";
3
+ export type ChartConfig = { [k in string]: {
4
+ label?: ReactNode;
5
+ icon?: ReactNode;
6
+ /** A CSS color or `var(--token)`. Use a token for light/dark theming. */
7
+ color?: string;
8
+ } };
9
+ /** Default saturated step for numbered chart series (chart-N-450). */
10
+ export declare const CHART_SERIES_COLOR_TOKENS: readonly ["var(--color-chart-1-450)", "var(--color-chart-2-450)", "var(--color-chart-3-450)", "var(--color-chart-4-450)", "var(--color-chart-5-450)"];
11
+ /** 1-based series index; wraps via modulo when more series than tokens. */
12
+ export declare function chartSeriesColor(series: number): string;
11
13
  declare function colorVarsFromConfig(config: ChartConfig): CSSProperties;
12
14
  type ChartA11yProps = {
13
- 'aria-label': string;
14
- 'aria-labelledby'?: never;
15
+ "aria-label": string;
16
+ "aria-labelledby"?: never;
15
17
  } | {
16
- 'aria-labelledby': string;
17
- 'aria-label'?: never;
18
+ "aria-labelledby": string;
19
+ "aria-label"?: never;
18
20
  };
19
- type ChartContainerProps = Omit<ComponentProps<'div'>, 'aria-label' | 'aria-labelledby'> & ChartA11yProps & {
20
- config: ChartConfig;
21
- children: ComponentProps<typeof ResponsiveContainer>['children'];
21
+ type ChartContainerProps = Omit<ComponentProps<"div">, "aria-label" | "aria-labelledby"> & ChartA11yProps & {
22
+ config: ChartConfig;
23
+ children: ComponentProps<typeof ResponsiveContainer>["children"];
22
24
  };
23
25
  declare function ChartContainer({ id, className, children, config, style, role, ...props }: ChartContainerProps): ReactNode;
24
26
  declare const ChartTooltip: typeof Tooltip;
25
27
  type TooltipPayloadItem = {
26
- type?: string;
27
- name?: string | number;
28
- dataKey?: string | number;
29
- value?: string | number;
30
- color?: string;
31
- payload?: Record<string, unknown>;
32
- fill?: string;
33
- [key: string]: unknown;
28
+ type?: string;
29
+ name?: string | number;
30
+ dataKey?: string | number;
31
+ value?: string | number;
32
+ color?: string;
33
+ payload?: Record<string, unknown>;
34
+ fill?: string;
35
+ [key: string]: unknown;
34
36
  };
35
- type ChartTooltipContentProps = Omit<ComponentProps<typeof Tooltip>, 'content' | 'formatter' | 'labelFormatter'> & {
36
- className?: string;
37
- labelClassName?: string;
38
- hideLabel?: boolean;
39
- hideIndicator?: boolean;
40
- indicator?: 'line' | 'dot' | 'dashed';
41
- nameKey?: string;
42
- labelKey?: string;
43
- payload?: TooltipPayloadItem[];
44
- label?: string | number;
45
- color?: string;
46
- formatter?: (value: string | number, name: string | number, item: TooltipPayloadItem, index: number, payload: Record<string, unknown> | undefined) => ReactNode;
47
- labelFormatter?: (value: ReactNode, payload: TooltipPayloadItem[]) => ReactNode;
48
- /** Pass an i18n-aware formatter from your app's locale; defaults to the environment locale. */
49
- valueFormatter?: (value: string | number) => string;
37
+ type ChartTooltipContentProps = Omit<ComponentProps<typeof Tooltip>, "content" | "formatter" | "labelFormatter"> & {
38
+ className?: string;
39
+ labelClassName?: string;
40
+ hideLabel?: boolean;
41
+ hideIndicator?: boolean;
42
+ indicator?: "line" | "dot" | "dashed";
43
+ nameKey?: string;
44
+ labelKey?: string;
45
+ payload?: TooltipPayloadItem[];
46
+ label?: string | number;
47
+ color?: string;
48
+ formatter?: (value: string | number, name: string | number, item: TooltipPayloadItem, index: number, payload: Record<string, unknown> | undefined) => ReactNode;
49
+ labelFormatter?: (value: ReactNode, payload: TooltipPayloadItem[]) => ReactNode;
50
+ /** Pass an i18n-aware formatter from your app's locale; defaults to the environment locale. */
51
+ valueFormatter?: (value: string | number) => string;
50
52
  };
51
- declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, valueFormatter, }: ChartTooltipContentProps): ReactNode;
53
+ declare function ChartTooltipContent({ active, payload, className, indicator, hideLabel, hideIndicator, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, valueFormatter }: ChartTooltipContentProps): ReactNode;
52
54
  declare const ChartLegend: typeof Legend;
53
55
  type LegendPayloadItem = {
54
- type?: string;
55
- value?: string;
56
- dataKey?: string | number;
57
- color?: string;
58
- [key: string]: unknown;
56
+ type?: string;
57
+ value?: string;
58
+ dataKey?: string | number;
59
+ color?: string;
60
+ [key: string]: unknown;
59
61
  };
60
62
  type ChartLegendContentProps = {
61
- className?: string;
62
- hideIcon?: boolean;
63
- nameKey?: string;
64
- payload?: LegendPayloadItem[];
65
- verticalAlign?: 'top' | 'bottom' | 'middle';
63
+ className?: string;
64
+ hideIcon?: boolean;
65
+ nameKey?: string;
66
+ payload?: LegendPayloadItem[];
67
+ verticalAlign?: "top" | "bottom" | "middle";
66
68
  };
67
- declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey, }: ChartLegendContentProps): ReactNode;
69
+ declare function ChartLegendContent({ className, hideIcon, payload, verticalAlign, nameKey }: ChartLegendContentProps): ReactNode;
68
70
  declare function getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string): ChartConfig[string] | undefined;
69
- export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, colorVarsFromConfig, getPayloadConfigFromPayload, };
71
+ export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, colorVarsFromConfig, getPayloadConfigFromPayload };
@@ -1,125 +1,205 @@
1
- import { cn as e } from "../../../../lib/utils.js";
2
- import { createContext as t, useContext as n, useMemo as r } from "react";
3
- import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
4
- import { Legend as s, ResponsiveContainer as c, Tooltip as l } from "recharts";
5
- //#region libs/aura/src/components/ui/core/chart/chart.tsx
6
- function u(e) {
7
- if (!e) return;
8
- let t = e.trim();
9
- return {
10
- backgroundColor: t,
11
- borderColor: t
12
- };
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { createContext, useContext, useMemo } from "react";
3
+ import { ResponsiveContainer, Tooltip, Legend } from "recharts";
4
+ import { cn } from "../../../../lib/utils.js";
5
+ function swatchStylesFromGraphColor(color) {
6
+ if (!color) {
7
+ return undefined;
8
+ }
9
+ const c = color.trim();
10
+ return {
11
+ backgroundColor: c,
12
+ borderColor: c
13
+ };
13
14
  }
14
- var d = t(null);
15
- function f() {
16
- let e = n(d);
17
- if (!e) throw Error("useChart must be used within a <ChartContainer>");
18
- return e;
15
+ /** Default saturated step for numbered chart series (chart-N-450). */ export const CHART_SERIES_COLOR_TOKENS = [
16
+ 'var(--color-chart-1-450)',
17
+ 'var(--color-chart-2-450)',
18
+ 'var(--color-chart-3-450)',
19
+ 'var(--color-chart-4-450)',
20
+ 'var(--color-chart-5-450)'
21
+ ];
22
+ /** 1-based series index; wraps via modulo when more series than tokens. */ export function chartSeriesColor(series) {
23
+ const count = CHART_SERIES_COLOR_TOKENS.length;
24
+ const zeroBased = ((series - 1) % count + count) % count;
25
+ return CHART_SERIES_COLOR_TOKENS[zeroBased];
19
26
  }
20
- function p(e) {
21
- let t = {};
22
- for (let [n, r] of Object.entries(e)) r.color && (t[`--color-${n}`] = r.color);
23
- return t;
27
+ const ChartContext = /*#__PURE__*/ createContext(null);
28
+ function useChart() {
29
+ const context = useContext(ChartContext);
30
+ if (!context) {
31
+ throw new Error('useChart must be used within a <ChartContainer>');
32
+ }
33
+ return context;
24
34
  }
25
- function m({ id: t, className: n, children: i, config: o, style: s, role: l = "img", ...u }) {
26
- let f = r(() => ({ config: o }), [o]), m = p(o);
27
- return /* @__PURE__ */ a(d.Provider, {
28
- value: f,
29
- children: /* @__PURE__ */ a("div", {
30
- role: l,
31
- "data-slot": "chart",
32
- "data-chart-id": t,
33
- className: e("[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-chart-gridlines [&_.recharts-curve.recharts-tooltip-cursor]:stroke-chart-gridlines [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-chart-gridlines [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-chart-gridlines flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden", n),
34
- style: {
35
- ...m,
36
- ...s
37
- },
38
- ...u,
39
- children: /* @__PURE__ */ a(c, { children: i })
40
- })
41
- });
35
+ function colorVarsFromConfig(config) {
36
+ const vars = {};
37
+ for (const [key, item] of Object.entries(config)){
38
+ if (item.color) {
39
+ vars[`--color-${key}`] = item.color;
40
+ }
41
+ }
42
+ return vars;
42
43
  }
43
- var h = l, g = [], _ = (e) => typeof e == "number" ? e.toLocaleString() : String(e);
44
- function v({ active: t, payload: n = g, className: r, indicator: s = "dot", hideLabel: c = !1, hideIndicator: l = !1, label: d, labelFormatter: p, labelClassName: m, formatter: h, color: v, nameKey: y, labelKey: b, valueFormatter: x = _ }) {
45
- let { config: w } = f(), T = (() => {
46
- if (c || !n?.length) return null;
47
- let [t] = n, r = `${b ?? t?.dataKey ?? t?.name ?? "value"}`, i = S(w, t, r), o = !b && typeof d == "string" ? w[d]?.label ?? d : i?.label;
48
- return p ? /* @__PURE__ */ a("div", {
49
- className: e("font-medium", m),
50
- children: p(o, n)
51
- }) : o ? /* @__PURE__ */ a("div", {
52
- className: e("font-medium", m),
53
- children: o
54
- }) : null;
55
- })(), E = !t || !n.length, D = n.length === 1 && s !== "dot";
56
- return /* @__PURE__ */ a("div", {
57
- className: e("bg-popover-background grid min-w-32 items-start gap-1 rounded-md p-2 text-sm shadow-md", E && "invisible", r),
58
- children: E ? null : /* @__PURE__ */ o(i, { children: [D ? null : T, /* @__PURE__ */ a("div", {
59
- className: "grid gap-1.5",
60
- children: n.filter((e) => e.type !== "none").map((t, n) => {
61
- let r = `${y ?? t.name ?? t.dataKey ?? "value"}`, c = S(w, t, r), d = C(t.payload) && typeof t.payload.fill == "string" ? t.payload.fill : void 0, f = v ?? d ?? t.color, p = u(typeof f == "string" ? f : void 0);
62
- return /* @__PURE__ */ a("div", {
63
- className: e("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5", s === "dot" && "items-center"),
64
- children: h && t.value != null && t.name != null ? h(t.value, t.name, t, n, C(t.payload) ? t.payload : void 0) : /* @__PURE__ */ o(i, { children: [c?.icon ? c.icon : !l && /* @__PURE__ */ a("div", {
65
- className: e("shrink-0 rounded-xs", {
66
- "h-2 w-2": s === "dot",
67
- "w-1": s === "line",
68
- "w-0 border border-dashed bg-transparent": s === "dashed",
69
- "my-0.5": D && s === "dashed"
70
- }),
71
- style: p
72
- }), /* @__PURE__ */ o("div", {
73
- className: e("flex flex-1 justify-between gap-4 leading-none", D ? "items-end" : "items-center"),
74
- children: [/* @__PURE__ */ o("div", {
75
- className: "grid gap-1",
76
- children: [D ? T : null, /* @__PURE__ */ a("span", {
77
- className: "text-muted-foreground",
78
- children: c?.label ?? t.name
79
- })]
80
- }), t.value !== void 0 && t.value !== null && /* @__PURE__ */ a("span", {
81
- className: "text-foreground tabular-nums",
82
- children: x(t.value)
83
- })]
84
- })] })
85
- }, t.dataKey ?? n);
86
- })
87
- })] })
88
- });
44
+ function ChartContainer({ id, className, children, config, style, role = 'img', ...props }) {
45
+ const contextValue = useMemo(()=>({
46
+ config
47
+ }), [
48
+ config
49
+ ]);
50
+ const cssVars = colorVarsFromConfig(config);
51
+ return /*#__PURE__*/ _jsx(ChartContext.Provider, {
52
+ value: contextValue,
53
+ children: /*#__PURE__*/ _jsx("div", {
54
+ role: role,
55
+ "data-slot": "chart",
56
+ "data-chart-id": id,
57
+ className: cn("[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-chart-gridlines [&_.recharts-curve.recharts-tooltip-cursor]:stroke-chart-gridlines [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-chart-gridlines [&_.recharts-radial-bar-background-sector]:fill-medium-background [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-medium-background [&_.recharts-reference-line_[stroke='#ccc']]:stroke-chart-gridlines flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden", className),
58
+ style: {
59
+ ...cssVars,
60
+ ...style
61
+ },
62
+ ...props,
63
+ children: /*#__PURE__*/ _jsx(ResponsiveContainer, {
64
+ children: children
65
+ })
66
+ })
67
+ });
89
68
  }
90
- var y = s, b = [];
91
- function x({ className: t, hideIcon: n = !1, payload: r = b, verticalAlign: i = "bottom", nameKey: s }) {
92
- let { config: c } = f();
93
- return r?.length ? /* @__PURE__ */ a("div", {
94
- className: e("flex items-center justify-center gap-4", i === "top" ? "pb-3" : "pt-3", t),
95
- children: r.filter((e) => e.type !== "none").map((t, r) => {
96
- let i = `${s ?? t.dataKey ?? "value"}`, l = S(c, t, i), d = u(typeof t.color == "string" ? t.color : void 0);
97
- return /* @__PURE__ */ o("div", {
98
- className: e("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"),
99
- children: [l?.icon && !n ? l.icon : /* @__PURE__ */ a("div", {
100
- className: "h-2 w-2 shrink-0 rounded-xs",
101
- style: d
102
- }), l?.label ?? t.value]
103
- }, t.value ?? r);
104
- })
105
- }) : null;
69
+ const ChartTooltip = Tooltip;
70
+ const EMPTY_TOOLTIP_PAYLOAD = [];
71
+ const defaultValueFormatter = (value)=>typeof value === 'number' ? value.toLocaleString() : String(value);
72
+ function ChartTooltipContent({ active, payload = EMPTY_TOOLTIP_PAYLOAD, className, indicator = 'dot', hideLabel = false, hideIndicator = false, label, labelFormatter, labelClassName, formatter, color, nameKey, labelKey, valueFormatter = defaultValueFormatter }) {
73
+ const { config } = useChart();
74
+ const tooltipLabel = (()=>{
75
+ if (hideLabel || !payload?.length) {
76
+ return null;
77
+ }
78
+ const [item] = payload;
79
+ const key = `${labelKey ?? item?.dataKey ?? item?.name ?? 'value'}`;
80
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
81
+ const value = !labelKey && typeof label === 'string' ? config[label]?.label ?? label : itemConfig?.label;
82
+ if (labelFormatter) {
83
+ return /*#__PURE__*/ _jsx("div", {
84
+ className: cn('font-medium', labelClassName),
85
+ children: labelFormatter(value, payload)
86
+ });
87
+ }
88
+ if (!value) {
89
+ return null;
90
+ }
91
+ return /*#__PURE__*/ _jsx("div", {
92
+ className: cn('font-medium', labelClassName),
93
+ children: value
94
+ });
95
+ })();
96
+ const isHidden = !active || !payload.length;
97
+ const nestLabel = payload.length === 1 && indicator !== 'dot';
98
+ return /*#__PURE__*/ _jsx("div", {
99
+ className: cn('bg-popover-background grid min-w-32 items-start gap-1 rounded-md p-2 text-sm shadow-md', isHidden && 'invisible', className),
100
+ children: isHidden ? null : /*#__PURE__*/ _jsxs(_Fragment, {
101
+ children: [
102
+ !nestLabel ? tooltipLabel : null,
103
+ /*#__PURE__*/ _jsx("div", {
104
+ className: "grid gap-1.5",
105
+ children: payload.filter((item)=>item.type !== 'none').map((item, index)=>{
106
+ const key = `${nameKey ?? item.name ?? item.dataKey ?? 'value'}`;
107
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
108
+ const payloadFill = isRecord(item.payload) && typeof item.payload.fill === 'string' ? item.payload.fill : undefined;
109
+ const indicatorColor = color ?? payloadFill ?? item.color;
110
+ const indicatorSwatchStyle = swatchStylesFromGraphColor(typeof indicatorColor === 'string' ? indicatorColor : undefined);
111
+ return /*#__PURE__*/ _jsx("div", {
112
+ className: cn('[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5', indicator === 'dot' && 'items-center'),
113
+ children: formatter && item.value != null && item.name != null ? formatter(item.value, item.name, item, index, isRecord(item.payload) ? item.payload : undefined) : /*#__PURE__*/ _jsxs(_Fragment, {
114
+ children: [
115
+ itemConfig?.icon ? itemConfig.icon : !hideIndicator && /*#__PURE__*/ _jsx("div", {
116
+ className: cn('shrink-0 rounded-xs', {
117
+ 'h-2 w-2': indicator === 'dot',
118
+ 'w-1': indicator === 'line',
119
+ 'w-0 border border-dashed bg-transparent': indicator === 'dashed',
120
+ 'my-0.5': nestLabel && indicator === 'dashed'
121
+ }),
122
+ style: indicatorSwatchStyle
123
+ }),
124
+ /*#__PURE__*/ _jsxs("div", {
125
+ className: cn('flex flex-1 justify-between gap-4 leading-none', nestLabel ? 'items-end' : 'items-center'),
126
+ children: [
127
+ /*#__PURE__*/ _jsxs("div", {
128
+ className: "grid gap-1",
129
+ children: [
130
+ nestLabel ? tooltipLabel : null,
131
+ /*#__PURE__*/ _jsx("span", {
132
+ className: "text-muted-foreground",
133
+ children: itemConfig?.label ?? item.name
134
+ })
135
+ ]
136
+ }),
137
+ item.value !== undefined && item.value !== null && /*#__PURE__*/ _jsx("span", {
138
+ className: "text-base-foreground tabular-nums",
139
+ children: valueFormatter(item.value)
140
+ })
141
+ ]
142
+ })
143
+ ]
144
+ })
145
+ }, item.dataKey ?? index);
146
+ })
147
+ })
148
+ ]
149
+ })
150
+ });
106
151
  }
107
- function S(e, t, n) {
108
- if (!C(t)) return;
109
- let r = t, i = C(r.payload) ? r.payload : void 0, a = n, o = w(r, n);
110
- if (o) a = o;
111
- else {
112
- let e = i ? w(i, n) : void 0;
113
- e && (a = e);
114
- }
115
- return e[a] ?? e[n];
152
+ const ChartLegend = Legend;
153
+ const EMPTY_LEGEND_PAYLOAD = [];
154
+ function ChartLegendContent({ className, hideIcon = false, payload = EMPTY_LEGEND_PAYLOAD, verticalAlign = 'bottom', nameKey }) {
155
+ const { config } = useChart();
156
+ if (!payload?.length) {
157
+ return null;
158
+ }
159
+ return /*#__PURE__*/ _jsx("div", {
160
+ className: cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className),
161
+ children: payload.filter((item)=>item.type !== 'none').map((item, index)=>{
162
+ const key = `${nameKey ?? item.dataKey ?? 'value'}`;
163
+ const itemConfig = getPayloadConfigFromPayload(config, item, key);
164
+ const legendSwatchStyle = swatchStylesFromGraphColor(typeof item.color === 'string' ? item.color : undefined);
165
+ return /*#__PURE__*/ _jsxs("div", {
166
+ className: cn('[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3'),
167
+ children: [
168
+ itemConfig?.icon && !hideIcon ? itemConfig.icon : /*#__PURE__*/ _jsx("div", {
169
+ className: "h-2 w-2 shrink-0 rounded-xs",
170
+ style: legendSwatchStyle
171
+ }),
172
+ itemConfig?.label ?? item.value
173
+ ]
174
+ }, item.value ?? index);
175
+ })
176
+ });
116
177
  }
117
- function C(e) {
118
- return typeof e == "object" && !!e && !Array.isArray(e);
178
+ function getPayloadConfigFromPayload(config, payload, key) {
179
+ if (!isRecord(payload)) {
180
+ return undefined;
181
+ }
182
+ const payloadRecord = payload;
183
+ const payloadPayload = isRecord(payloadRecord.payload) ? payloadRecord.payload : undefined;
184
+ let configLabelKey = key;
185
+ const directValue = getStringValue(payloadRecord, key);
186
+ if (directValue) {
187
+ configLabelKey = directValue;
188
+ } else {
189
+ const nestedValue = payloadPayload ? getStringValue(payloadPayload, key) : undefined;
190
+ if (nestedValue) {
191
+ configLabelKey = nestedValue;
192
+ }
193
+ }
194
+ return config[configLabelKey] ?? config[key];
119
195
  }
120
- function w(e, t) {
121
- let n = e[t];
122
- return typeof n == "string" ? n : void 0;
196
+ function isRecord(value) {
197
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
123
198
  }
124
- //#endregion
125
- export { m as ChartContainer, y as ChartLegend, x as ChartLegendContent, h as ChartTooltip, v as ChartTooltipContent, p as colorVarsFromConfig, S as getPayloadConfigFromPayload };
199
+ function getStringValue(value, key) {
200
+ const nestedValue = value[key];
201
+ return typeof nestedValue === 'string' ? nestedValue : undefined;
202
+ }
203
+ export { ChartContainer, ChartTooltip, ChartTooltipContent, ChartLegend, ChartLegendContent, colorVarsFromConfig, getPayloadConfigFromPayload };
204
+
205
+ //# sourceMappingURL=chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/ui/core/chart/chart.tsx"],"sourcesContent":["import {\n type ComponentProps,\n type CSSProperties,\n type ReactNode,\n createContext,\n useContext,\n useMemo,\n} from 'react';\n\nimport { ResponsiveContainer, Tooltip, Legend } from 'recharts';\n\nimport { cn } from '../../../../lib/utils';\n\nfunction swatchStylesFromGraphColor(\n color: string | undefined\n): CSSProperties | undefined {\n if (!color) {\n return undefined;\n }\n const c = color.trim();\n return { backgroundColor: c, borderColor: c };\n}\n\nexport type ChartConfig = {\n [k in string]: {\n label?: ReactNode;\n icon?: ReactNode;\n /** A CSS color or `var(--token)`. Use a token for light/dark theming. */\n color?: string;\n };\n};\n\n/** Default saturated step for numbered chart series (chart-N-450). */\nexport const CHART_SERIES_COLOR_TOKENS = [\n 'var(--color-chart-1-450)',\n 'var(--color-chart-2-450)',\n 'var(--color-chart-3-450)',\n 'var(--color-chart-4-450)',\n 'var(--color-chart-5-450)',\n] as const;\n\n/** 1-based series index; wraps via modulo when more series than tokens. */\nexport function chartSeriesColor(series: number): string {\n const count = CHART_SERIES_COLOR_TOKENS.length;\n const zeroBased = (((series - 1) % count) + count) % count;\n return CHART_SERIES_COLOR_TOKENS[zeroBased] as string;\n}\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\nconst ChartContext = createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n const context = useContext(ChartContext);\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer>');\n }\n\n return context;\n}\n\nfunction colorVarsFromConfig(config: ChartConfig): CSSProperties {\n const vars: CSSProperties & Record<string, string> = {};\n for (const [key, item] of Object.entries(config)) {\n if (item.color) {\n vars[`--color-${key}`] = item.color;\n }\n }\n return vars;\n}\n\ntype ChartA11yProps =\n | { 'aria-label': string; 'aria-labelledby'?: never }\n | { 'aria-labelledby': string; 'aria-label'?: never };\n\ntype ChartContainerProps = Omit<\n ComponentProps<'div'>,\n 'aria-label' | 'aria-labelledby'\n> &\n ChartA11yProps & {\n config: ChartConfig;\n children: ComponentProps<typeof ResponsiveContainer>['children'];\n };\n\nfunction ChartContainer({\n id,\n className,\n children,\n config,\n style,\n role = 'img',\n ...props\n}: ChartContainerProps): ReactNode {\n const contextValue = useMemo(() => ({ config }), [config]);\n const cssVars = colorVarsFromConfig(config);\n\n return (\n <ChartContext.Provider value={contextValue}>\n <div\n role={role}\n data-slot=\"chart\"\n data-chart-id={id}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-chart-gridlines [&_.recharts-curve.recharts-tooltip-cursor]:stroke-chart-gridlines [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-chart-gridlines [&_.recharts-radial-bar-background-sector]:fill-medium-background [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-medium-background [&_.recharts-reference-line_[stroke='#ccc']]:stroke-chart-gridlines flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden\",\n className\n )}\n style={{ ...cssVars, ...style }}\n {...props}\n >\n <ResponsiveContainer>{children}</ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n}\n\nconst ChartTooltip: typeof Tooltip = Tooltip;\n\ntype TooltipPayloadItem = {\n type?: string;\n name?: string | number;\n dataKey?: string | number;\n value?: string | number;\n color?: string;\n payload?: Record<string, unknown>;\n fill?: string;\n [key: string]: unknown;\n};\n\nconst EMPTY_TOOLTIP_PAYLOAD: TooltipPayloadItem[] = [];\n\ntype ChartTooltipContentProps = Omit<\n ComponentProps<typeof Tooltip>,\n 'content' | 'formatter' | 'labelFormatter'\n> & {\n className?: string;\n labelClassName?: string;\n hideLabel?: boolean;\n hideIndicator?: boolean;\n indicator?: 'line' | 'dot' | 'dashed';\n nameKey?: string;\n labelKey?: string;\n payload?: TooltipPayloadItem[];\n label?: string | number;\n color?: string;\n formatter?: (\n value: string | number,\n name: string | number,\n item: TooltipPayloadItem,\n index: number,\n payload: Record<string, unknown> | undefined\n ) => ReactNode;\n labelFormatter?: (\n value: ReactNode,\n payload: TooltipPayloadItem[]\n ) => ReactNode;\n /** Pass an i18n-aware formatter from your app's locale; defaults to the environment locale. */\n valueFormatter?: (value: string | number) => string;\n};\n\nconst defaultValueFormatter = (value: string | number): string =>\n typeof value === 'number' ? value.toLocaleString() : String(value);\n\nfunction ChartTooltipContent({\n active,\n payload = EMPTY_TOOLTIP_PAYLOAD,\n className,\n indicator = 'dot',\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n valueFormatter = defaultValueFormatter,\n}: ChartTooltipContentProps): ReactNode {\n const { config } = useChart();\n\n const tooltipLabel = (() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n const key = `${labelKey ?? item?.dataKey ?? item?.name ?? 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value =\n !labelKey && typeof label === 'string'\n ? (config[label]?.label ?? label)\n : itemConfig?.label;\n\n if (labelFormatter) {\n return (\n <div className={cn('font-medium', labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n );\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n })();\n\n const isHidden = !active || !payload.length;\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n className={cn(\n 'bg-popover-background grid min-w-32 items-start gap-1 rounded-md p-2 text-sm shadow-md',\n isHidden && 'invisible',\n className\n )}\n >\n {isHidden ? null : (\n <>\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload\n .filter((item: TooltipPayloadItem) => item.type !== 'none')\n .map((item: TooltipPayloadItem, index: number) => {\n const key = `${nameKey ?? item.name ?? item.dataKey ?? 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(\n config,\n item,\n key\n );\n const payloadFill =\n isRecord(item.payload) &&\n typeof item.payload.fill === 'string'\n ? item.payload.fill\n : undefined;\n const indicatorColor = color ?? payloadFill ?? item.color;\n const indicatorSwatchStyle = swatchStylesFromGraphColor(\n typeof indicatorColor === 'string'\n ? indicatorColor\n : undefined\n );\n\n return (\n <div\n key={item.dataKey ?? index}\n className={cn(\n '[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5',\n indicator === 'dot' && 'items-center'\n )}\n >\n {formatter && item.value != null && item.name != null ? (\n formatter(\n item.value,\n item.name,\n item,\n index,\n isRecord(item.payload) ? item.payload : undefined\n )\n ) : (\n <>\n {itemConfig?.icon\n ? itemConfig.icon\n : !hideIndicator && (\n <div\n className={cn('shrink-0 rounded-xs', {\n 'h-2 w-2': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border border-dashed bg-transparent':\n indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed',\n })}\n style={indicatorSwatchStyle}\n />\n )}\n <div\n className={cn(\n 'flex flex-1 justify-between gap-4 leading-none',\n nestLabel ? 'items-end' : 'items-center'\n )}\n >\n <div className=\"grid gap-1\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label ?? item.name}\n </span>\n </div>\n {item.value !== undefined && item.value !== null && (\n <span className=\"text-base-foreground tabular-nums\">\n {valueFormatter(item.value)}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </>\n )}\n </div>\n );\n}\n\nconst ChartLegend: typeof Legend = Legend;\n\ntype LegendPayloadItem = {\n type?: string;\n value?: string;\n dataKey?: string | number;\n color?: string;\n [key: string]: unknown;\n};\n\nconst EMPTY_LEGEND_PAYLOAD: LegendPayloadItem[] = [];\n\ntype ChartLegendContentProps = {\n className?: string;\n hideIcon?: boolean;\n nameKey?: string;\n payload?: LegendPayloadItem[];\n verticalAlign?: 'top' | 'bottom' | 'middle';\n};\n\nfunction ChartLegendContent({\n className,\n hideIcon = false,\n payload = EMPTY_LEGEND_PAYLOAD,\n verticalAlign = 'bottom',\n nameKey,\n}: ChartLegendContentProps): ReactNode {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n className={cn(\n 'flex items-center justify-center gap-4',\n verticalAlign === 'top' ? 'pb-3' : 'pt-3',\n className\n )}\n >\n {payload\n .filter((item: LegendPayloadItem) => item.type !== 'none')\n .map((item: LegendPayloadItem, index) => {\n const key = `${nameKey ?? item.dataKey ?? 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const legendSwatchStyle = swatchStylesFromGraphColor(\n typeof item.color === 'string' ? item.color : undefined\n );\n\n return (\n <div\n key={item.value ?? index}\n className={cn(\n '[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3'\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n itemConfig.icon\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-xs\"\n style={legendSwatchStyle}\n />\n )}\n {itemConfig?.label ?? item.value}\n </div>\n );\n })}\n </div>\n );\n}\n\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n): ChartConfig[string] | undefined {\n if (!isRecord(payload)) {\n return undefined;\n }\n const payloadRecord = payload;\n\n const payloadPayload = isRecord(payloadRecord.payload)\n ? payloadRecord.payload\n : undefined;\n\n let configLabelKey: string = key;\n\n const directValue = getStringValue(payloadRecord, key);\n if (directValue) {\n configLabelKey = directValue;\n } else {\n const nestedValue = payloadPayload\n ? getStringValue(payloadPayload, key)\n : undefined;\n if (nestedValue) {\n configLabelKey = nestedValue;\n }\n }\n\n return config[configLabelKey] ?? config[key];\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n\nfunction getStringValue(\n value: Record<string, unknown>,\n key: string\n): string | undefined {\n const nestedValue = value[key];\n return typeof nestedValue === 'string' ? nestedValue : undefined;\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n colorVarsFromConfig,\n getPayloadConfigFromPayload,\n};\n"],"names":["createContext","useContext","useMemo","ResponsiveContainer","Tooltip","Legend","cn","swatchStylesFromGraphColor","color","undefined","c","trim","backgroundColor","borderColor","CHART_SERIES_COLOR_TOKENS","chartSeriesColor","series","count","length","zeroBased","ChartContext","useChart","context","Error","colorVarsFromConfig","config","vars","key","item","Object","entries","ChartContainer","id","className","children","style","role","props","contextValue","cssVars","Provider","value","div","data-slot","data-chart-id","ChartTooltip","EMPTY_TOOLTIP_PAYLOAD","defaultValueFormatter","toLocaleString","String","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","valueFormatter","tooltipLabel","dataKey","name","itemConfig","getPayloadConfigFromPayload","isHidden","nestLabel","filter","type","map","index","payloadFill","isRecord","fill","indicatorColor","indicatorSwatchStyle","icon","span","ChartLegend","EMPTY_LEGEND_PAYLOAD","ChartLegendContent","hideIcon","verticalAlign","legendSwatchStyle","payloadRecord","payloadPayload","configLabelKey","directValue","getStringValue","nestedValue","Array","isArray"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, } from './chart';
2
- export type { ChartConfig } from './chart';
1
+ export { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, CHART_SERIES_COLOR_TOKENS, chartSeriesColor } from "./chart";
2
+ export type { ChartConfig } from "./chart";
@@ -1,2 +1,3 @@
1
- import { ChartContainer as e, ChartLegend as t, ChartLegendContent as n, ChartTooltip as r, ChartTooltipContent as i } from "./chart.js";
2
- export { e as ChartContainer, t as ChartLegend, n as ChartLegendContent, r as ChartTooltip, i as ChartTooltipContent };
1
+ export { ChartContainer, ChartLegend, ChartLegendContent, ChartTooltip, ChartTooltipContent, CHART_SERIES_COLOR_TOKENS, chartSeriesColor } from "./chart.js";
2
+
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/ui/core/chart/index.ts"],"sourcesContent":["export {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartTooltip,\n ChartTooltipContent,\n CHART_SERIES_COLOR_TOKENS,\n chartSeriesColor,\n} from './chart';\nexport type { ChartConfig } from './chart';\n"],"names":["ChartContainer","ChartLegend","ChartLegendContent","ChartTooltip","ChartTooltipContent","CHART_SERIES_COLOR_TOKENS","chartSeriesColor"],"mappings":"AAAA,SACEA,cAAc,EACdC,WAAW,EACXC,kBAAkB,EAClBC,YAAY,EACZC,mBAAmB,EACnBC,yBAAyB,EACzBC,gBAAgB,QACX,aAAU"}
@@ -1,17 +1,17 @@
1
- import { ForwardRefExoticComponent, RefAttributes, HTMLAttributes } from 'react';
2
- import { CheckboxRootProps } from '@base-ui/react/checkbox';
3
- import { VariantProps } from 'class-variance-authority';
4
- import { ClassProp } from 'class-variance-authority/types';
5
- type Orientation = 'horizontal' | 'vertical';
1
+ import { type ForwardRefExoticComponent, type RefAttributes, type HTMLAttributes } from "react";
2
+ import type { CheckboxRootProps } from "@base-ui/react/checkbox";
3
+ import { type VariantProps } from "class-variance-authority";
4
+ import type { ClassProp } from "class-variance-authority/types";
5
+ type Orientation = "horizontal" | "vertical";
6
6
  declare const CheckboxGroup: ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
7
- orientation?: Orientation;
7
+ orientation?: Orientation;
8
8
  } & RefAttributes<HTMLDivElement>>;
9
9
  interface CheckboxItemVariantProps {
10
- variant?: 'default' | 'card' | null;
10
+ variant?: "default" | "card" | null;
11
11
  }
12
12
  declare const checkboxItemVariants: (props?: (CheckboxItemVariantProps & ClassProp) | undefined) => string;
13
13
  declare const CheckboxItem: ForwardRefExoticComponent<HTMLAttributes<HTMLLabelElement> & VariantProps<typeof checkboxItemVariants> & RefAttributes<HTMLLabelElement>>;
14
- declare const CheckboxItemControl: ForwardRefExoticComponent<Omit<CheckboxRootProps, 'ref'> & RefAttributes<HTMLElement>>;
14
+ declare const CheckboxItemControl: ForwardRefExoticComponent<Omit<CheckboxRootProps, "ref"> & RefAttributes<HTMLElement>>;
15
15
  declare const CheckboxItemLabel: ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
16
16
  declare const CheckboxItemDescription: ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
17
- export { CheckboxGroup, CheckboxItem, CheckboxItemControl, CheckboxItemDescription, CheckboxItemLabel, };
17
+ export { CheckboxGroup, CheckboxItem, CheckboxItemControl, CheckboxItemDescription, CheckboxItemLabel };