shad-m 1.0.0 → 1.0.2

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 (628) hide show
  1. package/dist/common/interactive/list.d.ts +1 -1
  2. package/dist/common/interactive/select/variants.d.ts +1 -1
  3. package/dist/components/alert-dialog.d.ts +2 -2
  4. package/dist/components/badge.d.ts +3 -3
  5. package/dist/components/button.d.ts +4 -4
  6. package/dist/components/chip.d.ts +2 -2
  7. package/dist/components/command.d.ts +7 -7
  8. package/dist/components/dialog.d.ts +2 -2
  9. package/dist/components/input-otp.d.ts +2 -2
  10. package/dist/components/resizable.d.ts +1 -1
  11. package/dist/components/sidebar.d.ts +1 -1
  12. package/dist/components/spinner.d.ts +2 -2
  13. package/dist/components/stepper.d.ts +3 -3
  14. package/dist/components/toggle-group.d.ts +2 -2
  15. package/dist/components/toggle.d.ts +2 -2
  16. package/dist/index.css +43 -0
  17. package/dist/index.css.map +1 -0
  18. package/dist/index.d.ts +59 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +8189 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/index.mjs +7846 -0
  23. package/dist/index.mjs.map +1 -0
  24. package/package.json +34 -2
  25. package/dist/assets/Animation/index.js +0 -180
  26. package/dist/assets/Animation/index.js.map +0 -1
  27. package/dist/assets/Animation/index.mjs +0 -79
  28. package/dist/assets/Animation/index.mjs.map +0 -1
  29. package/dist/assets/Icon/index.js +0 -2102
  30. package/dist/assets/Icon/index.js.map +0 -1
  31. package/dist/assets/Icon/index.mjs +0 -421
  32. package/dist/assets/Icon/index.mjs.map +0 -1
  33. package/dist/assets/Image/index.js +0 -755
  34. package/dist/assets/Image/index.js.map +0 -1
  35. package/dist/assets/Image/index.mjs +0 -150
  36. package/dist/assets/Image/index.mjs.map +0 -1
  37. package/dist/common/display/countdown.js +0 -68
  38. package/dist/common/display/countdown.js.map +0 -1
  39. package/dist/common/display/countdown.mjs +0 -46
  40. package/dist/common/display/countdown.mjs.map +0 -1
  41. package/dist/common/display/display-field-group.js +0 -91
  42. package/dist/common/display/display-field-group.js.map +0 -1
  43. package/dist/common/display/display-field-group.mjs +0 -89
  44. package/dist/common/display/display-field-group.mjs.map +0 -1
  45. package/dist/common/display/display-field.js +0 -46
  46. package/dist/common/display/display-field.js.map +0 -1
  47. package/dist/common/display/display-field.mjs +0 -40
  48. package/dist/common/display/display-field.mjs.map +0 -1
  49. package/dist/common/display/display-html-string.js +0 -52
  50. package/dist/common/display/display-html-string.js.map +0 -1
  51. package/dist/common/display/display-html-string.mjs +0 -30
  52. package/dist/common/display/display-html-string.mjs.map +0 -1
  53. package/dist/common/display/index.js +0 -59
  54. package/dist/common/display/index.js.map +0 -1
  55. package/dist/common/display/index.mjs +0 -10
  56. package/dist/common/display/index.mjs.map +0 -1
  57. package/dist/common/display/page-breadcrumb.js +0 -43
  58. package/dist/common/display/page-breadcrumb.js.map +0 -1
  59. package/dist/common/display/page-breadcrumb.mjs +0 -37
  60. package/dist/common/display/page-breadcrumb.mjs.map +0 -1
  61. package/dist/common/display/page-v2.js +0 -58
  62. package/dist/common/display/page-v2.js.map +0 -1
  63. package/dist/common/display/page-v2.mjs +0 -20
  64. package/dist/common/display/page-v2.mjs.map +0 -1
  65. package/dist/common/display/page.js +0 -155
  66. package/dist/common/display/page.js.map +0 -1
  67. package/dist/common/display/page.mjs +0 -138
  68. package/dist/common/display/page.mjs.map +0 -1
  69. package/dist/common/display/score-meter.js +0 -161
  70. package/dist/common/display/score-meter.js.map +0 -1
  71. package/dist/common/display/score-meter.mjs +0 -140
  72. package/dist/common/display/score-meter.mjs.map +0 -1
  73. package/dist/common/display/sidebar/app-sidebar.js +0 -114
  74. package/dist/common/display/sidebar/app-sidebar.js.map +0 -1
  75. package/dist/common/display/sidebar/app-sidebar.mjs +0 -92
  76. package/dist/common/display/sidebar/app-sidebar.mjs.map +0 -1
  77. package/dist/common/display/sidebar/index.js +0 -89
  78. package/dist/common/display/sidebar/index.js.map +0 -1
  79. package/dist/common/display/sidebar/index.mjs +0 -81
  80. package/dist/common/display/sidebar/index.mjs.map +0 -1
  81. package/dist/common/display/sidebar/nav-main.js +0 -406
  82. package/dist/common/display/sidebar/nav-main.js.map +0 -1
  83. package/dist/common/display/sidebar/nav-main.mjs +0 -400
  84. package/dist/common/display/sidebar/nav-main.mjs.map +0 -1
  85. package/dist/common/display/sidebar/sidebar-sheet.js +0 -140
  86. package/dist/common/display/sidebar/sidebar-sheet.js.map +0 -1
  87. package/dist/common/display/sidebar/sidebar-sheet.mjs +0 -118
  88. package/dist/common/display/sidebar/sidebar-sheet.mjs.map +0 -1
  89. package/dist/common/display/sidebar/types.js +0 -4
  90. package/dist/common/display/sidebar/types.js.map +0 -1
  91. package/dist/common/display/sidebar/types.mjs +0 -3
  92. package/dist/common/display/sidebar/types.mjs.map +0 -1
  93. package/dist/common/display/status-state.js +0 -97
  94. package/dist/common/display/status-state.js.map +0 -1
  95. package/dist/common/display/status-state.mjs +0 -88
  96. package/dist/common/display/status-state.mjs.map +0 -1
  97. package/dist/common/forms/auto-form.js +0 -101
  98. package/dist/common/forms/auto-form.js.map +0 -1
  99. package/dist/common/forms/auto-form.mjs +0 -78
  100. package/dist/common/forms/auto-form.mjs.map +0 -1
  101. package/dist/common/forms/form-field.js +0 -58
  102. package/dist/common/forms/form-field.js.map +0 -1
  103. package/dist/common/forms/form-field.mjs +0 -56
  104. package/dist/common/forms/form-field.mjs.map +0 -1
  105. package/dist/common/forms/form-input-field.js +0 -64
  106. package/dist/common/forms/form-input-field.js.map +0 -1
  107. package/dist/common/forms/form-input-field.mjs +0 -62
  108. package/dist/common/forms/form-input-field.mjs.map +0 -1
  109. package/dist/common/forms/index.js +0 -22
  110. package/dist/common/forms/index.js.map +0 -1
  111. package/dist/common/forms/index.mjs +0 -5
  112. package/dist/common/forms/index.mjs.map +0 -1
  113. package/dist/common/forms/switch-field.js +0 -106
  114. package/dist/common/forms/switch-field.js.map +0 -1
  115. package/dist/common/forms/switch-field.mjs +0 -104
  116. package/dist/common/forms/switch-field.mjs.map +0 -1
  117. package/dist/common/interactive/alert-dialog-wrapper.js +0 -141
  118. package/dist/common/interactive/alert-dialog-wrapper.js.map +0 -1
  119. package/dist/common/interactive/alert-dialog-wrapper.mjs +0 -119
  120. package/dist/common/interactive/alert-dialog-wrapper.mjs.map +0 -1
  121. package/dist/common/interactive/autocomplete.js +0 -178
  122. package/dist/common/interactive/autocomplete.js.map +0 -1
  123. package/dist/common/interactive/autocomplete.mjs +0 -157
  124. package/dist/common/interactive/autocomplete.mjs.map +0 -1
  125. package/dist/common/interactive/copy-tooltip.js +0 -152
  126. package/dist/common/interactive/copy-tooltip.js.map +0 -1
  127. package/dist/common/interactive/copy-tooltip.mjs +0 -143
  128. package/dist/common/interactive/copy-tooltip.mjs.map +0 -1
  129. package/dist/common/interactive/date-field.js +0 -303
  130. package/dist/common/interactive/date-field.js.map +0 -1
  131. package/dist/common/interactive/date-field.mjs +0 -281
  132. package/dist/common/interactive/date-field.mjs.map +0 -1
  133. package/dist/common/interactive/date-input/date-input.js +0 -68
  134. package/dist/common/interactive/date-input/date-input.js.map +0 -1
  135. package/dist/common/interactive/date-input/date-input.mjs +0 -62
  136. package/dist/common/interactive/date-input/date-input.mjs.map +0 -1
  137. package/dist/common/interactive/date-input/index.js +0 -17
  138. package/dist/common/interactive/date-input/index.js.map +0 -1
  139. package/dist/common/interactive/date-input/index.mjs +0 -4
  140. package/dist/common/interactive/date-input/index.mjs.map +0 -1
  141. package/dist/common/interactive/date-input/types.js +0 -4
  142. package/dist/common/interactive/date-input/types.js.map +0 -1
  143. package/dist/common/interactive/date-input/types.mjs +0 -3
  144. package/dist/common/interactive/date-input/types.mjs.map +0 -1
  145. package/dist/common/interactive/date-input/use-typed-date.js +0 -478
  146. package/dist/common/interactive/date-input/use-typed-date.js.map +0 -1
  147. package/dist/common/interactive/date-input/use-typed-date.mjs +0 -476
  148. package/dist/common/interactive/date-input/use-typed-date.mjs.map +0 -1
  149. package/dist/common/interactive/date-input/utils.js +0 -34
  150. package/dist/common/interactive/date-input/utils.js.map +0 -1
  151. package/dist/common/interactive/date-input/utils.mjs +0 -29
  152. package/dist/common/interactive/date-input/utils.mjs.map +0 -1
  153. package/dist/common/interactive/date-picker.js +0 -616
  154. package/dist/common/interactive/date-picker.js.map +0 -1
  155. package/dist/common/interactive/date-picker.mjs +0 -594
  156. package/dist/common/interactive/date-picker.mjs.map +0 -1
  157. package/dist/common/interactive/date-range-input/date-range-input.js +0 -82
  158. package/dist/common/interactive/date-range-input/date-range-input.js.map +0 -1
  159. package/dist/common/interactive/date-range-input/date-range-input.mjs +0 -76
  160. package/dist/common/interactive/date-range-input/date-range-input.mjs.map +0 -1
  161. package/dist/common/interactive/date-range-input/index.js +0 -12
  162. package/dist/common/interactive/date-range-input/index.js.map +0 -1
  163. package/dist/common/interactive/date-range-input/index.mjs +0 -3
  164. package/dist/common/interactive/date-range-input/index.mjs.map +0 -1
  165. package/dist/common/interactive/date-range-input/types.js +0 -4
  166. package/dist/common/interactive/date-range-input/types.js.map +0 -1
  167. package/dist/common/interactive/date-range-input/types.mjs +0 -3
  168. package/dist/common/interactive/date-range-input/types.mjs.map +0 -1
  169. package/dist/common/interactive/date-range-input/use-typed-date-range.js +0 -602
  170. package/dist/common/interactive/date-range-input/use-typed-date-range.js.map +0 -1
  171. package/dist/common/interactive/date-range-input/use-typed-date-range.mjs +0 -600
  172. package/dist/common/interactive/date-range-input/use-typed-date-range.mjs.map +0 -1
  173. package/dist/common/interactive/date-time-picker.js +0 -215
  174. package/dist/common/interactive/date-time-picker.js.map +0 -1
  175. package/dist/common/interactive/date-time-picker.mjs +0 -213
  176. package/dist/common/interactive/date-time-picker.mjs.map +0 -1
  177. package/dist/common/interactive/dialog-wrapper.js +0 -124
  178. package/dist/common/interactive/dialog-wrapper.js.map +0 -1
  179. package/dist/common/interactive/dialog-wrapper.mjs +0 -102
  180. package/dist/common/interactive/dialog-wrapper.mjs.map +0 -1
  181. package/dist/common/interactive/filter.js +0 -287
  182. package/dist/common/interactive/filter.js.map +0 -1
  183. package/dist/common/interactive/filter.mjs +0 -280
  184. package/dist/common/interactive/filter.mjs.map +0 -1
  185. package/dist/common/interactive/index.js +0 -235
  186. package/dist/common/interactive/index.js.map +0 -1
  187. package/dist/common/interactive/index.mjs +0 -24
  188. package/dist/common/interactive/index.mjs.map +0 -1
  189. package/dist/common/interactive/list.js +0 -160
  190. package/dist/common/interactive/list.js.map +0 -1
  191. package/dist/common/interactive/list.mjs +0 -134
  192. package/dist/common/interactive/list.mjs.map +0 -1
  193. package/dist/common/interactive/otp-dialog/index.js +0 -35
  194. package/dist/common/interactive/otp-dialog/index.js.map +0 -1
  195. package/dist/common/interactive/otp-dialog/index.mjs +0 -6
  196. package/dist/common/interactive/otp-dialog/index.mjs.map +0 -1
  197. package/dist/common/interactive/otp-dialog/otp-dialog.js +0 -325
  198. package/dist/common/interactive/otp-dialog/otp-dialog.js.map +0 -1
  199. package/dist/common/interactive/otp-dialog/otp-dialog.mjs +0 -303
  200. package/dist/common/interactive/otp-dialog/otp-dialog.mjs.map +0 -1
  201. package/dist/common/interactive/otp-dialog/reducer.js +0 -40
  202. package/dist/common/interactive/otp-dialog/reducer.js.map +0 -1
  203. package/dist/common/interactive/otp-dialog/reducer.mjs +0 -37
  204. package/dist/common/interactive/otp-dialog/reducer.mjs.map +0 -1
  205. package/dist/common/interactive/otp-dialog/types.js +0 -15
  206. package/dist/common/interactive/otp-dialog/types.js.map +0 -1
  207. package/dist/common/interactive/otp-dialog/types.mjs +0 -13
  208. package/dist/common/interactive/otp-dialog/types.mjs.map +0 -1
  209. package/dist/common/interactive/otp-dialog/utils.js +0 -24
  210. package/dist/common/interactive/otp-dialog/utils.js.map +0 -1
  211. package/dist/common/interactive/otp-dialog/utils.mjs +0 -21
  212. package/dist/common/interactive/otp-dialog/utils.mjs.map +0 -1
  213. package/dist/common/interactive/pagination/PaginationSkeleton.js +0 -51
  214. package/dist/common/interactive/pagination/PaginationSkeleton.js.map +0 -1
  215. package/dist/common/interactive/pagination/PaginationSkeleton.mjs +0 -49
  216. package/dist/common/interactive/pagination/PaginationSkeleton.mjs.map +0 -1
  217. package/dist/common/interactive/pagination/index.js +0 -235
  218. package/dist/common/interactive/pagination/index.js.map +0 -1
  219. package/dist/common/interactive/pagination/index.mjs +0 -223
  220. package/dist/common/interactive/pagination/index.mjs.map +0 -1
  221. package/dist/common/interactive/pagination/usePagination.js +0 -28
  222. package/dist/common/interactive/pagination/usePagination.js.map +0 -1
  223. package/dist/common/interactive/pagination/usePagination.mjs +0 -25
  224. package/dist/common/interactive/pagination/usePagination.mjs.map +0 -1
  225. package/dist/common/interactive/popover-wrapper.js +0 -138
  226. package/dist/common/interactive/popover-wrapper.js.map +0 -1
  227. package/dist/common/interactive/popover-wrapper.mjs +0 -116
  228. package/dist/common/interactive/popover-wrapper.mjs.map +0 -1
  229. package/dist/common/interactive/pressable.js +0 -84
  230. package/dist/common/interactive/pressable.js.map +0 -1
  231. package/dist/common/interactive/pressable.mjs +0 -62
  232. package/dist/common/interactive/pressable.mjs.map +0 -1
  233. package/dist/common/interactive/select/context.js +0 -38
  234. package/dist/common/interactive/select/context.js.map +0 -1
  235. package/dist/common/interactive/select/context.mjs +0 -14
  236. package/dist/common/interactive/select/context.mjs.map +0 -1
  237. package/dist/common/interactive/select/index.js +0 -123
  238. package/dist/common/interactive/select/index.js.map +0 -1
  239. package/dist/common/interactive/select/index.mjs +0 -18
  240. package/dist/common/interactive/select/index.mjs.map +0 -1
  241. package/dist/common/interactive/select/select-body.js +0 -89
  242. package/dist/common/interactive/select/select-body.js.map +0 -1
  243. package/dist/common/interactive/select/select-body.mjs +0 -67
  244. package/dist/common/interactive/select/select-body.mjs.map +0 -1
  245. package/dist/common/interactive/select/select-close.js +0 -38
  246. package/dist/common/interactive/select/select-close.js.map +0 -1
  247. package/dist/common/interactive/select/select-close.mjs +0 -16
  248. package/dist/common/interactive/select/select-close.mjs.map +0 -1
  249. package/dist/common/interactive/select/select-content-auto-layout.js +0 -221
  250. package/dist/common/interactive/select/select-content-auto-layout.js.map +0 -1
  251. package/dist/common/interactive/select/select-content-auto-layout.mjs +0 -199
  252. package/dist/common/interactive/select/select-content-auto-layout.mjs.map +0 -1
  253. package/dist/common/interactive/select/select-content-group-auto-layout.js +0 -411
  254. package/dist/common/interactive/select/select-content-group-auto-layout.js.map +0 -1
  255. package/dist/common/interactive/select/select-content-group-auto-layout.mjs +0 -389
  256. package/dist/common/interactive/select/select-content-group-auto-layout.mjs.map +0 -1
  257. package/dist/common/interactive/select/select-content.js +0 -187
  258. package/dist/common/interactive/select/select-content.js.map +0 -1
  259. package/dist/common/interactive/select/select-content.mjs +0 -165
  260. package/dist/common/interactive/select/select-content.mjs.map +0 -1
  261. package/dist/common/interactive/select/select-footer.js +0 -82
  262. package/dist/common/interactive/select/select-footer.js.map +0 -1
  263. package/dist/common/interactive/select/select-footer.mjs +0 -60
  264. package/dist/common/interactive/select/select-footer.mjs.map +0 -1
  265. package/dist/common/interactive/select/select-item.js +0 -214
  266. package/dist/common/interactive/select/select-item.js.map +0 -1
  267. package/dist/common/interactive/select/select-item.mjs +0 -191
  268. package/dist/common/interactive/select/select-item.mjs.map +0 -1
  269. package/dist/common/interactive/select/select-layout.js +0 -66
  270. package/dist/common/interactive/select/select-layout.js.map +0 -1
  271. package/dist/common/interactive/select/select-layout.mjs +0 -41
  272. package/dist/common/interactive/select/select-layout.mjs.map +0 -1
  273. package/dist/common/interactive/select/select-search.js +0 -55
  274. package/dist/common/interactive/select/select-search.js.map +0 -1
  275. package/dist/common/interactive/select/select-search.mjs +0 -33
  276. package/dist/common/interactive/select/select-search.mjs.map +0 -1
  277. package/dist/common/interactive/select/select-states.js +0 -57
  278. package/dist/common/interactive/select/select-states.js.map +0 -1
  279. package/dist/common/interactive/select/select-states.mjs +0 -34
  280. package/dist/common/interactive/select/select-states.mjs.map +0 -1
  281. package/dist/common/interactive/select/select-trigger.js +0 -310
  282. package/dist/common/interactive/select/select-trigger.js.map +0 -1
  283. package/dist/common/interactive/select/select-trigger.mjs +0 -286
  284. package/dist/common/interactive/select/select-trigger.mjs.map +0 -1
  285. package/dist/common/interactive/select/select-value.js +0 -52
  286. package/dist/common/interactive/select/select-value.js.map +0 -1
  287. package/dist/common/interactive/select/select-value.mjs +0 -30
  288. package/dist/common/interactive/select/select-value.mjs.map +0 -1
  289. package/dist/common/interactive/select/select.js +0 -184
  290. package/dist/common/interactive/select/select.js.map +0 -1
  291. package/dist/common/interactive/select/select.mjs +0 -162
  292. package/dist/common/interactive/select/select.mjs.map +0 -1
  293. package/dist/common/interactive/select/types.js +0 -4
  294. package/dist/common/interactive/select/types.js.map +0 -1
  295. package/dist/common/interactive/select/types.mjs +0 -3
  296. package/dist/common/interactive/select/types.mjs.map +0 -1
  297. package/dist/common/interactive/select/utils.js +0 -31
  298. package/dist/common/interactive/select/utils.js.map +0 -1
  299. package/dist/common/interactive/select/utils.mjs +0 -28
  300. package/dist/common/interactive/select/utils.mjs.map +0 -1
  301. package/dist/common/interactive/select/variants.js +0 -27
  302. package/dist/common/interactive/select/variants.js.map +0 -1
  303. package/dist/common/interactive/select/variants.mjs +0 -25
  304. package/dist/common/interactive/select/variants.mjs.map +0 -1
  305. package/dist/common/interactive/select-chip.js +0 -76
  306. package/dist/common/interactive/select-chip.js.map +0 -1
  307. package/dist/common/interactive/select-chip.mjs +0 -74
  308. package/dist/common/interactive/select-chip.mjs.map +0 -1
  309. package/dist/common/interactive/select-level.js +0 -236
  310. package/dist/common/interactive/select-level.js.map +0 -1
  311. package/dist/common/interactive/select-level.mjs +0 -230
  312. package/dist/common/interactive/select-level.mjs.map +0 -1
  313. package/dist/common/interactive/select-range.js +0 -211
  314. package/dist/common/interactive/select-range.js.map +0 -1
  315. package/dist/common/interactive/select-range.mjs +0 -209
  316. package/dist/common/interactive/select-range.mjs.map +0 -1
  317. package/dist/common/interactive/select-with-api.js +0 -767
  318. package/dist/common/interactive/select-with-api.js.map +0 -1
  319. package/dist/common/interactive/select-with-api.mjs +0 -758
  320. package/dist/common/interactive/select-with-api.mjs.map +0 -1
  321. package/dist/common/interactive/select.js +0 -15
  322. package/dist/common/interactive/select.js.map +0 -1
  323. package/dist/common/interactive/select.mjs +0 -4
  324. package/dist/common/interactive/select.mjs.map +0 -1
  325. package/dist/common/interactive/sheet-wrapper.js +0 -105
  326. package/dist/common/interactive/sheet-wrapper.js.map +0 -1
  327. package/dist/common/interactive/sheet-wrapper.mjs +0 -83
  328. package/dist/common/interactive/sheet-wrapper.mjs.map +0 -1
  329. package/dist/common/interactive/table/enhanced-table.js +0 -390
  330. package/dist/common/interactive/table/enhanced-table.js.map +0 -1
  331. package/dist/common/interactive/table/enhanced-table.mjs +0 -388
  332. package/dist/common/interactive/table/enhanced-table.mjs.map +0 -1
  333. package/dist/common/interactive/table/index.js +0 -83
  334. package/dist/common/interactive/table/index.js.map +0 -1
  335. package/dist/common/interactive/table/index.mjs +0 -68
  336. package/dist/common/interactive/table/index.mjs.map +0 -1
  337. package/dist/common/interactive/table/table-pagination.js +0 -12
  338. package/dist/common/interactive/table/table-pagination.js.map +0 -1
  339. package/dist/common/interactive/table/table-pagination.mjs +0 -10
  340. package/dist/common/interactive/table/table-pagination.mjs.map +0 -1
  341. package/dist/common/interactive/table/types.js +0 -4
  342. package/dist/common/interactive/table/types.js.map +0 -1
  343. package/dist/common/interactive/table/types.mjs +0 -3
  344. package/dist/common/interactive/table/types.mjs.map +0 -1
  345. package/dist/common/interactive/time-picker.js +0 -313
  346. package/dist/common/interactive/time-picker.js.map +0 -1
  347. package/dist/common/interactive/time-picker.mjs +0 -307
  348. package/dist/common/interactive/time-picker.mjs.map +0 -1
  349. package/dist/common/interactive/types.js +0 -4
  350. package/dist/common/interactive/types.js.map +0 -1
  351. package/dist/common/interactive/types.mjs +0 -3
  352. package/dist/common/interactive/types.mjs.map +0 -1
  353. package/dist/common/pages/page-404.js +0 -16
  354. package/dist/common/pages/page-404.js.map +0 -1
  355. package/dist/common/pages/page-404.mjs +0 -11
  356. package/dist/common/pages/page-404.mjs.map +0 -1
  357. package/dist/common/pages/page-500.js +0 -30
  358. package/dist/common/pages/page-500.js.map +0 -1
  359. package/dist/common/pages/page-500.mjs +0 -25
  360. package/dist/common/pages/page-500.mjs.map +0 -1
  361. package/dist/components/accordion.js +0 -65
  362. package/dist/components/accordion.js.map +0 -1
  363. package/dist/components/accordion.mjs +0 -39
  364. package/dist/components/accordion.mjs.map +0 -1
  365. package/dist/components/alert-dialog.js +0 -231
  366. package/dist/components/alert-dialog.js.map +0 -1
  367. package/dist/components/alert-dialog.mjs +0 -197
  368. package/dist/components/alert-dialog.mjs.map +0 -1
  369. package/dist/components/alert.js +0 -97
  370. package/dist/components/alert.js.map +0 -1
  371. package/dist/components/alert.mjs +0 -72
  372. package/dist/components/alert.mjs.map +0 -1
  373. package/dist/components/aspect-ratio.js +0 -29
  374. package/dist/components/aspect-ratio.js.map +0 -1
  375. package/dist/components/aspect-ratio.mjs +0 -7
  376. package/dist/components/aspect-ratio.mjs.map +0 -1
  377. package/dist/components/avatar.js +0 -64
  378. package/dist/components/avatar.js.map +0 -1
  379. package/dist/components/avatar.mjs +0 -39
  380. package/dist/components/avatar.mjs.map +0 -1
  381. package/dist/components/badge.js +0 -72
  382. package/dist/components/badge.js.map +0 -1
  383. package/dist/components/badge.mjs +0 -69
  384. package/dist/components/badge.mjs.map +0 -1
  385. package/dist/components/breadcrumb.js +0 -109
  386. package/dist/components/breadcrumb.js.map +0 -1
  387. package/dist/components/breadcrumb.mjs +0 -81
  388. package/dist/components/breadcrumb.mjs.map +0 -1
  389. package/dist/components/button.js +0 -250
  390. package/dist/components/button.js.map +0 -1
  391. package/dist/components/button.mjs +0 -226
  392. package/dist/components/button.mjs.map +0 -1
  393. package/dist/components/calendar.js +0 -681
  394. package/dist/components/calendar.js.map +0 -1
  395. package/dist/components/calendar.mjs +0 -659
  396. package/dist/components/calendar.mjs.map +0 -1
  397. package/dist/components/card.js +0 -98
  398. package/dist/components/card.js.map +0 -1
  399. package/dist/components/card.mjs +0 -71
  400. package/dist/components/card.mjs.map +0 -1
  401. package/dist/components/carousel.js +0 -237
  402. package/dist/components/carousel.js.map +0 -1
  403. package/dist/components/carousel.mjs +0 -208
  404. package/dist/components/carousel.mjs.map +0 -1
  405. package/dist/components/chart.js +0 -252
  406. package/dist/components/chart.js.map +0 -1
  407. package/dist/components/chart.mjs +0 -224
  408. package/dist/components/chart.mjs.map +0 -1
  409. package/dist/components/checkbox.js +0 -97
  410. package/dist/components/checkbox.js.map +0 -1
  411. package/dist/components/checkbox.mjs +0 -74
  412. package/dist/components/checkbox.mjs.map +0 -1
  413. package/dist/components/chip.js +0 -88
  414. package/dist/components/chip.js.map +0 -1
  415. package/dist/components/chip.mjs +0 -82
  416. package/dist/components/chip.mjs.map +0 -1
  417. package/dist/components/collapsible.js +0 -33
  418. package/dist/components/collapsible.js.map +0 -1
  419. package/dist/components/collapsible.mjs +0 -9
  420. package/dist/components/collapsible.mjs.map +0 -1
  421. package/dist/components/command.js +0 -125
  422. package/dist/components/command.js.map +0 -1
  423. package/dist/components/command.mjs +0 -95
  424. package/dist/components/command.mjs.map +0 -1
  425. package/dist/components/context-menu.js +0 -168
  426. package/dist/components/context-menu.js.map +0 -1
  427. package/dist/components/context-menu.mjs +0 -131
  428. package/dist/components/context-menu.mjs.map +0 -1
  429. package/dist/components/dialog.js +0 -192
  430. package/dist/components/dialog.js.map +0 -1
  431. package/dist/components/dialog.mjs +0 -159
  432. package/dist/components/dialog.mjs.map +0 -1
  433. package/dist/components/drawer.js +0 -98
  434. package/dist/components/drawer.js.map +0 -1
  435. package/dist/components/drawer.mjs +0 -67
  436. package/dist/components/drawer.mjs.map +0 -1
  437. package/dist/components/dropdown-menu.js +0 -163
  438. package/dist/components/dropdown-menu.js.map +0 -1
  439. package/dist/components/dropdown-menu.mjs +0 -126
  440. package/dist/components/dropdown-menu.mjs.map +0 -1
  441. package/dist/components/form.js +0 -123
  442. package/dist/components/form.js.map +0 -1
  443. package/dist/components/form.mjs +0 -94
  444. package/dist/components/form.mjs.map +0 -1
  445. package/dist/components/hover-card.js +0 -50
  446. package/dist/components/hover-card.js.map +0 -1
  447. package/dist/components/hover-card.mjs +0 -25
  448. package/dist/components/hover-card.mjs.map +0 -1
  449. package/dist/components/input-otp.js +0 -84
  450. package/dist/components/input-otp.js.map +0 -1
  451. package/dist/components/input-otp.mjs +0 -59
  452. package/dist/components/input-otp.mjs.map +0 -1
  453. package/dist/components/input.js +0 -858
  454. package/dist/components/input.js.map +0 -1
  455. package/dist/components/input.mjs +0 -831
  456. package/dist/components/input.mjs.map +0 -1
  457. package/dist/components/label.js +0 -38
  458. package/dist/components/label.js.map +0 -1
  459. package/dist/components/label.mjs +0 -15
  460. package/dist/components/label.mjs.map +0 -1
  461. package/dist/components/lottie.js +0 -59
  462. package/dist/components/lottie.js.map +0 -1
  463. package/dist/components/lottie.mjs +0 -49
  464. package/dist/components/lottie.mjs.map +0 -1
  465. package/dist/components/menubar.js +0 -195
  466. package/dist/components/menubar.js.map +0 -1
  467. package/dist/components/menubar.mjs +0 -157
  468. package/dist/components/menubar.mjs.map +0 -1
  469. package/dist/components/navigation-menu.js +0 -126
  470. package/dist/components/navigation-menu.js.map +0 -1
  471. package/dist/components/navigation-menu.mjs +0 -95
  472. package/dist/components/navigation-menu.mjs.map +0 -1
  473. package/dist/components/pagination.js +0 -112
  474. package/dist/components/pagination.js.map +0 -1
  475. package/dist/components/pagination.mjs +0 -84
  476. package/dist/components/pagination.mjs.map +0 -1
  477. package/dist/components/popover.js +0 -63
  478. package/dist/components/popover.js.map +0 -1
  479. package/dist/components/popover.mjs +0 -38
  480. package/dist/components/popover.mjs.map +0 -1
  481. package/dist/components/progress.js +0 -50
  482. package/dist/components/progress.js.map +0 -1
  483. package/dist/components/progress.mjs +0 -27
  484. package/dist/components/progress.mjs.map +0 -1
  485. package/dist/components/radio-group.js +0 -91
  486. package/dist/components/radio-group.js.map +0 -1
  487. package/dist/components/radio-group.mjs +0 -67
  488. package/dist/components/radio-group.mjs.map +0 -1
  489. package/dist/components/resizable.js +0 -59
  490. package/dist/components/resizable.js.map +0 -1
  491. package/dist/components/resizable.mjs +0 -35
  492. package/dist/components/resizable.mjs.map +0 -1
  493. package/dist/components/responsive-popover.js +0 -74
  494. package/dist/components/responsive-popover.js.map +0 -1
  495. package/dist/components/responsive-popover.mjs +0 -50
  496. package/dist/components/responsive-popover.mjs.map +0 -1
  497. package/dist/components/scroll-area.js +0 -63
  498. package/dist/components/scroll-area.js.map +0 -1
  499. package/dist/components/scroll-area.mjs +0 -39
  500. package/dist/components/scroll-area.mjs.map +0 -1
  501. package/dist/components/separator.js +0 -47
  502. package/dist/components/separator.js.map +0 -1
  503. package/dist/components/separator.mjs +0 -24
  504. package/dist/components/separator.mjs.map +0 -1
  505. package/dist/components/sheet.js +0 -239
  506. package/dist/components/sheet.js.map +0 -1
  507. package/dist/components/sheet.mjs +0 -206
  508. package/dist/components/sheet.mjs.map +0 -1
  509. package/dist/components/sidebar.js +0 -888
  510. package/dist/components/sidebar.js.map +0 -1
  511. package/dist/components/sidebar.mjs +0 -842
  512. package/dist/components/sidebar.mjs.map +0 -1
  513. package/dist/components/skeleton.js +0 -153
  514. package/dist/components/skeleton.js.map +0 -1
  515. package/dist/components/skeleton.mjs +0 -127
  516. package/dist/components/skeleton.mjs.map +0 -1
  517. package/dist/components/slider.js +0 -45
  518. package/dist/components/slider.js.map +0 -1
  519. package/dist/components/slider.mjs +0 -22
  520. package/dist/components/slider.mjs.map +0 -1
  521. package/dist/components/sonner.js +0 -76
  522. package/dist/components/sonner.js.map +0 -1
  523. package/dist/components/sonner.mjs +0 -71
  524. package/dist/components/sonner.mjs.map +0 -1
  525. package/dist/components/spinner.js +0 -59
  526. package/dist/components/spinner.js.map +0 -1
  527. package/dist/components/spinner.mjs +0 -36
  528. package/dist/components/spinner.mjs.map +0 -1
  529. package/dist/components/stepper.js +0 -726
  530. package/dist/components/stepper.js.map +0 -1
  531. package/dist/components/stepper.mjs +0 -702
  532. package/dist/components/stepper.mjs.map +0 -1
  533. package/dist/components/switch.js +0 -85
  534. package/dist/components/switch.js.map +0 -1
  535. package/dist/components/switch.mjs +0 -62
  536. package/dist/components/switch.mjs.map +0 -1
  537. package/dist/components/table.js +0 -91
  538. package/dist/components/table.js.map +0 -1
  539. package/dist/components/table.mjs +0 -62
  540. package/dist/components/table.mjs.map +0 -1
  541. package/dist/components/tabs.js +0 -287
  542. package/dist/components/tabs.js.map +0 -1
  543. package/dist/components/tabs.mjs +0 -261
  544. package/dist/components/tabs.mjs.map +0 -1
  545. package/dist/components/textarea.js +0 -200
  546. package/dist/components/textarea.js.map +0 -1
  547. package/dist/components/textarea.mjs +0 -174
  548. package/dist/components/textarea.mjs.map +0 -1
  549. package/dist/components/toggle-group.js +0 -67
  550. package/dist/components/toggle-group.js.map +0 -1
  551. package/dist/components/toggle-group.mjs +0 -43
  552. package/dist/components/toggle-group.mjs.map +0 -1
  553. package/dist/components/toggle.js +0 -63
  554. package/dist/components/toggle.js.map +0 -1
  555. package/dist/components/toggle.mjs +0 -39
  556. package/dist/components/toggle.mjs.map +0 -1
  557. package/dist/components/tooltip.js +0 -172
  558. package/dist/components/tooltip.js.map +0 -1
  559. package/dist/components/tooltip.mjs +0 -145
  560. package/dist/components/tooltip.mjs.map +0 -1
  561. package/dist/hooks/index.js +0 -27
  562. package/dist/hooks/index.js.map +0 -1
  563. package/dist/hooks/index.mjs +0 -6
  564. package/dist/hooks/index.mjs.map +0 -1
  565. package/dist/hooks/useCopyToClipboard.js +0 -59
  566. package/dist/hooks/useCopyToClipboard.js.map +0 -1
  567. package/dist/hooks/useCopyToClipboard.mjs +0 -57
  568. package/dist/hooks/useCopyToClipboard.mjs.map +0 -1
  569. package/dist/hooks/useDevice.js +0 -20
  570. package/dist/hooks/useDevice.js.map +0 -1
  571. package/dist/hooks/useDevice.mjs +0 -14
  572. package/dist/hooks/useDevice.mjs.map +0 -1
  573. package/dist/hooks/useDialogTracking.js +0 -113
  574. package/dist/hooks/useDialogTracking.js.map +0 -1
  575. package/dist/hooks/useDialogTracking.mjs +0 -91
  576. package/dist/hooks/useDialogTracking.mjs.map +0 -1
  577. package/dist/hooks/useIsMounted.js +0 -15
  578. package/dist/hooks/useIsMounted.js.map +0 -1
  579. package/dist/hooks/useIsMounted.mjs +0 -13
  580. package/dist/hooks/useIsMounted.mjs.map +0 -1
  581. package/dist/hooks/usePathname.js +0 -85
  582. package/dist/hooks/usePathname.js.map +0 -1
  583. package/dist/hooks/usePathname.mjs +0 -83
  584. package/dist/hooks/usePathname.mjs.map +0 -1
  585. package/dist/icons.js +0 -14
  586. package/dist/icons.js.map +0 -1
  587. package/dist/icons.mjs +0 -3
  588. package/dist/icons.mjs.map +0 -1
  589. package/dist/lib/formatCurrency.js +0 -187
  590. package/dist/lib/formatCurrency.js.map +0 -1
  591. package/dist/lib/formatCurrency.mjs +0 -185
  592. package/dist/lib/formatCurrency.mjs.map +0 -1
  593. package/dist/lib/helpers.js +0 -171
  594. package/dist/lib/helpers.js.map +0 -1
  595. package/dist/lib/helpers.mjs +0 -157
  596. package/dist/lib/helpers.mjs.map +0 -1
  597. package/dist/lib/index.js +0 -33
  598. package/dist/lib/index.js.map +0 -1
  599. package/dist/lib/index.mjs +0 -6
  600. package/dist/lib/index.mjs.map +0 -1
  601. package/dist/lib/types.js +0 -11
  602. package/dist/lib/types.js.map +0 -1
  603. package/dist/lib/types.mjs +0 -9
  604. package/dist/lib/types.mjs.map +0 -1
  605. package/dist/lib/utils.js +0 -24
  606. package/dist/lib/utils.js.map +0 -1
  607. package/dist/lib/utils.mjs +0 -19
  608. package/dist/lib/utils.mjs.map +0 -1
  609. package/dist/providers/DeviceSizeWatcher/index.js +0 -72
  610. package/dist/providers/DeviceSizeWatcher/index.js.map +0 -1
  611. package/dist/providers/DeviceSizeWatcher/index.mjs +0 -47
  612. package/dist/providers/DeviceSizeWatcher/index.mjs.map +0 -1
  613. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.js +0 -22
  614. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.js.map +0 -1
  615. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.mjs +0 -20
  616. package/dist/providers/DeviceSizeWatcher/useDeviceSizeStore.mjs.map +0 -1
  617. package/dist/providers/UISystemProvider.js +0 -197
  618. package/dist/providers/UISystemProvider.js.map +0 -1
  619. package/dist/providers/UISystemProvider.mjs +0 -188
  620. package/dist/providers/UISystemProvider.mjs.map +0 -1
  621. package/dist/providers/index.js +0 -24
  622. package/dist/providers/index.js.map +0 -1
  623. package/dist/providers/index.mjs +0 -3
  624. package/dist/providers/index.mjs.map +0 -1
  625. package/dist/theme.js +0 -333
  626. package/dist/theme.js.map +0 -1
  627. package/dist/theme.mjs +0 -327
  628. package/dist/theme.mjs.map +0 -1
@@ -1,208 +0,0 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import useEmblaCarousel from 'embla-carousel-react';
3
- import { ChevronLeft, ChevronRight } from 'lucide-react';
4
- import * as React from 'react';
5
- import { cn } from '@/lib/utils';
6
- import { WheelGesturesPlugin } from 'embla-carousel-wheel-gestures';
7
- import { Button } from './button';
8
-
9
- const CarouselContext = React.createContext(null);
10
- function useCarousel() {
11
- const context = React.useContext(CarouselContext);
12
- if (!context) {
13
- throw new Error("useCarousel must be used within a <Carousel />");
14
- }
15
- return context;
16
- }
17
- function Carousel({
18
- orientation = "horizontal",
19
- opts,
20
- setApi,
21
- plugins,
22
- className,
23
- children,
24
- ...props
25
- }) {
26
- const [carouselRef, api] = useEmblaCarousel(
27
- {
28
- axis: orientation === "horizontal" ? "x" : "y",
29
- containScroll: "trimSnaps",
30
- dragFree: false,
31
- watchDrag: true,
32
- dragThreshold: 15,
33
- ...opts
34
- // Move opts to end so it can override defaults
35
- },
36
- [...plugins || [], WheelGesturesPlugin({ forceWheelAxis: "x" })]
37
- );
38
- const [canScrollPrev, setCanScrollPrev] = React.useState(false);
39
- const [canScrollNext, setCanScrollNext] = React.useState(false);
40
- const onSelect = React.useCallback((api2) => {
41
- if (!api2) return;
42
- setCanScrollPrev(api2.canScrollPrev());
43
- setCanScrollNext(api2.canScrollNext());
44
- }, []);
45
- const scrollPrev = React.useCallback(() => {
46
- api?.scrollPrev();
47
- }, [api]);
48
- const scrollNext = React.useCallback(() => {
49
- api?.scrollNext();
50
- }, [api]);
51
- const handleKeyDown = React.useCallback(
52
- (event) => {
53
- if (event.key === "ArrowLeft") {
54
- event.preventDefault();
55
- scrollPrev();
56
- } else if (event.key === "ArrowRight") {
57
- event.preventDefault();
58
- scrollNext();
59
- }
60
- },
61
- [scrollPrev, scrollNext]
62
- );
63
- React.useEffect(() => {
64
- if (!api || !setApi) return;
65
- setApi(api);
66
- }, [api, setApi]);
67
- React.useEffect(() => {
68
- if (!api) return;
69
- onSelect(api);
70
- api.on("reInit", onSelect);
71
- api.on("select", onSelect);
72
- return () => {
73
- api?.off("select", onSelect);
74
- };
75
- }, [api, onSelect]);
76
- return /* @__PURE__ */ jsx(
77
- CarouselContext.Provider,
78
- {
79
- value: {
80
- carouselRef,
81
- api,
82
- opts,
83
- orientation: orientation || (opts?.axis === "y" ? "vertical" : "horizontal"),
84
- scrollPrev,
85
- scrollNext,
86
- canScrollPrev,
87
- canScrollNext
88
- },
89
- children: /* @__PURE__ */ jsx(
90
- "div",
91
- {
92
- onKeyDownCapture: handleKeyDown,
93
- className: cn("relative", className),
94
- role: "region",
95
- "aria-roledescription": "carousel",
96
- "data-slot": "carousel",
97
- ...props,
98
- children
99
- }
100
- )
101
- }
102
- );
103
- }
104
- function CarouselContent({ className, wrapperClassName, ...props }) {
105
- const { carouselRef, orientation } = useCarousel();
106
- return /* @__PURE__ */ jsx(
107
- "div",
108
- {
109
- ref: carouselRef,
110
- className: cn("overflow-hidden", wrapperClassName),
111
- "data-slot": "carousel-content",
112
- children: /* @__PURE__ */ jsx(
113
- "div",
114
- {
115
- className: cn("flex", orientation === "horizontal" ? "-ml-4" : "-mt-4 flex-col", className),
116
- ...props
117
- }
118
- )
119
- }
120
- );
121
- }
122
- function CarouselItem({ className, ...props }) {
123
- const { orientation } = useCarousel();
124
- return /* @__PURE__ */ jsx(
125
- "div",
126
- {
127
- role: "group",
128
- "aria-roledescription": "slide",
129
- "data-slot": "carousel-item",
130
- className: cn(
131
- "min-w-0 shrink-0 grow-0 basis-full",
132
- orientation === "horizontal" ? "pl-4" : "pt-4",
133
- className
134
- ),
135
- ...props
136
- }
137
- );
138
- }
139
- function CarouselPrevious({
140
- className,
141
- variant = "outline",
142
- size = "icon",
143
- ...props
144
- }) {
145
- const { orientation, scrollPrev, canScrollPrev } = useCarousel();
146
- return /* @__PURE__ */ jsxs(
147
- Button,
148
- {
149
- "data-slot": "carousel-previous",
150
- variant,
151
- size,
152
- className: cn(
153
- "absolute size-8 rounded-full",
154
- orientation === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
155
- !canScrollPrev && "hidden",
156
- className
157
- ),
158
- disabled: !canScrollPrev,
159
- onClick: (e) => {
160
- e.preventDefault();
161
- e.stopPropagation();
162
- scrollPrev();
163
- },
164
- ...props,
165
- children: [
166
- /* @__PURE__ */ jsx(ChevronLeft, {}),
167
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Previous slide" })
168
- ]
169
- }
170
- );
171
- }
172
- function CarouselNext({
173
- className,
174
- variant = "outline",
175
- size = "icon",
176
- ...props
177
- }) {
178
- const { orientation, scrollNext, canScrollNext } = useCarousel();
179
- return /* @__PURE__ */ jsxs(
180
- Button,
181
- {
182
- "data-slot": "carousel-next",
183
- variant,
184
- size,
185
- className: cn(
186
- "absolute size-8 rounded-full",
187
- orientation === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
188
- !canScrollNext && "hidden",
189
- className
190
- ),
191
- disabled: !canScrollNext,
192
- onClick: (e) => {
193
- e.preventDefault();
194
- e.stopPropagation();
195
- scrollNext();
196
- },
197
- ...props,
198
- children: [
199
- /* @__PURE__ */ jsx(ChevronRight, {}),
200
- /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Next slide" })
201
- ]
202
- }
203
- );
204
- }
205
-
206
- export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious };
207
- //# sourceMappingURL=carousel.mjs.map
208
- //# sourceMappingURL=carousel.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/carousel.tsx"],"names":["api"],"mappings":"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","file":"carousel.mjs","sourcesContent":["'use client';\n\nimport useEmblaCarousel, { type UseEmblaCarouselType } from 'embla-carousel-react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/lib/utils';\nimport { WheelGesturesPlugin } from 'embla-carousel-wheel-gestures';\nimport { Button } from './button';\n\ntype CarouselApi = UseEmblaCarouselType[1];\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>;\ntype CarouselOptions = UseCarouselParameters[0];\ntype CarouselPlugin = UseCarouselParameters[1];\n\ntype CarouselProps = {\n opts?: CarouselOptions;\n plugins?: CarouselPlugin;\n orientation?: 'horizontal' | 'vertical';\n setApi?: (api: CarouselApi) => void;\n};\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0];\n api: ReturnType<typeof useEmblaCarousel>[1];\n scrollPrev: () => void;\n scrollNext: () => void;\n canScrollPrev: boolean;\n canScrollNext: boolean;\n} & CarouselProps;\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null);\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext);\n\n if (!context) {\n throw new Error('useCarousel must be used within a <Carousel />');\n }\n\n return context;\n}\n\nfunction Carousel({\n orientation = 'horizontal',\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & CarouselProps) {\n const [carouselRef, api] = useEmblaCarousel(\n {\n axis: orientation === 'horizontal' ? 'x' : 'y',\n containScroll: 'trimSnaps',\n dragFree: false,\n watchDrag: true,\n dragThreshold: 15,\n ...opts, // Move opts to end so it can override defaults\n },\n [...(plugins || []), WheelGesturesPlugin({ forceWheelAxis: 'x' })],\n );\n\n const [canScrollPrev, setCanScrollPrev] = React.useState(false);\n const [canScrollNext, setCanScrollNext] = React.useState(false);\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) return;\n setCanScrollPrev(api.canScrollPrev());\n setCanScrollNext(api.canScrollNext());\n }, []);\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev();\n }, [api]);\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext();\n }, [api]);\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n scrollPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n scrollNext();\n }\n },\n [scrollPrev, scrollNext],\n );\n\n React.useEffect(() => {\n if (!api || !setApi) return;\n setApi(api);\n }, [api, setApi]);\n\n React.useEffect(() => {\n if (!api) return;\n\n onSelect(api);\n api.on('reInit', onSelect);\n api.on('select', onSelect);\n\n return () => {\n api?.off('select', onSelect);\n };\n }, [api, onSelect]);\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation: orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n onKeyDownCapture={handleKeyDown}\n className={cn('relative', className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n data-slot=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n );\n}\n\ninterface CarouselContentProps extends React.ComponentProps<'div'> {\n wrapperClassName?: string;\n}\n\nfunction CarouselContent({ className, wrapperClassName, ...props }: CarouselContentProps) {\n const { carouselRef, orientation } = useCarousel();\n\n return (\n <div\n ref={carouselRef}\n className={cn('overflow-hidden', wrapperClassName)}\n data-slot=\"carousel-content\"\n >\n <div\n className={cn('flex', orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col', className)}\n {...props}\n />\n </div>\n );\n}\n\nfunction CarouselItem({ className, ...props }: React.ComponentProps<'div'>) {\n const { orientation } = useCarousel();\n\n return (\n <div\n role=\"group\"\n aria-roledescription=\"slide\"\n data-slot=\"carousel-item\"\n className={cn(\n 'min-w-0 shrink-0 grow-0 basis-full',\n orientation === 'horizontal' ? 'pl-4' : 'pt-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CarouselPrevious({\n className,\n variant = 'outline',\n size = 'icon',\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-previous\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? '-left-12 top-1/2 -translate-y-1/2'\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\n !canScrollPrev && 'hidden',\n className,\n )}\n disabled={!canScrollPrev}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n scrollPrev();\n }}\n {...props}\n >\n <ChevronLeft />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n );\n}\n\nfunction CarouselNext({\n className,\n variant = 'outline',\n size = 'icon',\n ...props\n}: React.ComponentProps<typeof Button>) {\n const { orientation, scrollNext, canScrollNext } = useCarousel();\n\n return (\n <Button\n data-slot=\"carousel-next\"\n variant={variant}\n size={size}\n className={cn(\n 'absolute size-8 rounded-full',\n orientation === 'horizontal'\n ? '-right-12 top-1/2 -translate-y-1/2'\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\n !canScrollNext && 'hidden',\n className,\n )}\n disabled={!canScrollNext}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n scrollNext();\n }}\n {...props}\n >\n <ChevronRight />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n );\n}\n\nexport {\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselNext,\n CarouselPrevious,\n type CarouselApi,\n};\n"]}
@@ -1,252 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var React = require('react');
5
- var RechartsPrimitive = require('recharts');
6
- var utils = require('@/lib/utils');
7
-
8
- function _interopNamespace(e) {
9
- if (e && e.__esModule) return e;
10
- var n = Object.create(null);
11
- if (e) {
12
- Object.keys(e).forEach(function (k) {
13
- if (k !== 'default') {
14
- var d = Object.getOwnPropertyDescriptor(e, k);
15
- Object.defineProperty(n, k, d.get ? d : {
16
- enumerable: true,
17
- get: function () { return e[k]; }
18
- });
19
- }
20
- });
21
- }
22
- n.default = e;
23
- return Object.freeze(n);
24
- }
25
-
26
- var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
- var RechartsPrimitive__namespace = /*#__PURE__*/_interopNamespace(RechartsPrimitive);
28
-
29
- const THEMES = { light: "", dark: ".dark" };
30
- const ChartContext = React__namespace.createContext(null);
31
- function useChart() {
32
- const context = React__namespace.useContext(ChartContext);
33
- if (!context) {
34
- throw new Error("useChart must be used within a <ChartContainer />");
35
- }
36
- return context;
37
- }
38
- const ChartContainer = React__namespace.forwardRef(({ id, className, children, config, ...props }, ref) => {
39
- const uniqueId = React__namespace.useId();
40
- const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`;
41
- return /* @__PURE__ */ jsxRuntime.jsx(ChartContext.Provider, { value: { config }, children: /* @__PURE__ */ jsxRuntime.jsxs(
42
- "div",
43
- {
44
- "data-chart": chartId,
45
- ref,
46
- className: utils.cn(
47
- "[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none",
48
- className
49
- ),
50
- ...props,
51
- children: [
52
- /* @__PURE__ */ jsxRuntime.jsx(ChartStyle, { id: chartId, config }),
53
- /* @__PURE__ */ jsxRuntime.jsx(RechartsPrimitive__namespace.ResponsiveContainer, { children })
54
- ]
55
- }
56
- ) });
57
- });
58
- ChartContainer.displayName = "Chart";
59
- const ChartStyle = ({ id, config }) => {
60
- const colorConfig = Object.entries(config).filter(([_, config2]) => config2.theme || config2.color);
61
- if (!colorConfig.length) {
62
- return null;
63
- }
64
- return /* @__PURE__ */ jsxRuntime.jsx(
65
- "style",
66
- {
67
- dangerouslySetInnerHTML: {
68
- __html: Object.entries(THEMES).map(
69
- ([theme, prefix]) => `
70
- ${prefix} [data-chart=${id}] {
71
- ${colorConfig.map(([key, itemConfig]) => {
72
- const color = itemConfig.theme?.[theme] || itemConfig.color;
73
- return color ? ` --color-${key}: ${color};` : null;
74
- }).join("\n")}
75
- }
76
- `
77
- ).join("\n")
78
- }
79
- }
80
- );
81
- };
82
- const ChartTooltip = RechartsPrimitive__namespace.Tooltip;
83
- const ChartTooltipContent = React__namespace.forwardRef(
84
- ({
85
- active,
86
- payload,
87
- className,
88
- indicator = "dot",
89
- hideLabel = false,
90
- hideIndicator = false,
91
- label,
92
- labelFormatter,
93
- labelClassName,
94
- formatter,
95
- color,
96
- nameKey,
97
- labelKey
98
- }, ref) => {
99
- const { config } = useChart();
100
- const tooltipLabel = React__namespace.useMemo(() => {
101
- if (hideLabel || !payload?.length) {
102
- return null;
103
- }
104
- const [item] = payload;
105
- const key = `${labelKey || item?.dataKey || item?.name || "value"}`;
106
- const itemConfig = getPayloadConfigFromPayload(config, item, key);
107
- const value = !labelKey && typeof label === "string" ? config[label]?.label || label : itemConfig?.label;
108
- if (labelFormatter) {
109
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("font-medium", labelClassName), children: labelFormatter(value, payload) });
110
- }
111
- if (!value) {
112
- return null;
113
- }
114
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: utils.cn("font-medium", labelClassName), children: value });
115
- }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);
116
- if (!active || !payload?.length) {
117
- return null;
118
- }
119
- const nestLabel = payload.length === 1 && indicator !== "dot";
120
- return /* @__PURE__ */ jsxRuntime.jsxs(
121
- "div",
122
- {
123
- ref,
124
- className: utils.cn(
125
- "border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",
126
- className
127
- ),
128
- children: [
129
- !nestLabel ? tooltipLabel : null,
130
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-1.5", children: payload.map((item, index) => {
131
- const key = `${nameKey || item.name || item.dataKey || "value"}`;
132
- const itemConfig = getPayloadConfigFromPayload(config, item, key);
133
- const indicatorColor = color || item.payload.fill || item.color;
134
- return /* @__PURE__ */ jsxRuntime.jsx(
135
- "div",
136
- {
137
- className: utils.cn(
138
- "[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",
139
- indicator === "dot" && "items-center"
140
- ),
141
- children: formatter && item?.value !== void 0 && item.name ? formatter(item.value, item.name, item, index, item.payload) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
142
- itemConfig?.icon ? /* @__PURE__ */ jsxRuntime.jsx(itemConfig.icon, {}) : !hideIndicator && /* @__PURE__ */ jsxRuntime.jsx(
143
- "div",
144
- {
145
- className: utils.cn(
146
- "shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",
147
- {
148
- "h-2.5 w-2.5": indicator === "dot",
149
- "w-1": indicator === "line",
150
- "w-0 border-[1.5px] border-dashed bg-transparent": indicator === "dashed",
151
- "my-0.5": nestLabel && indicator === "dashed"
152
- }
153
- ),
154
- style: {
155
- "--color-bg": indicatorColor,
156
- "--color-border": indicatorColor
157
- }
158
- }
159
- ),
160
- /* @__PURE__ */ jsxRuntime.jsxs(
161
- "div",
162
- {
163
- className: utils.cn(
164
- "flex flex-1 justify-between leading-none",
165
- nestLabel ? "items-end" : "items-center"
166
- ),
167
- children: [
168
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-1.5", children: [
169
- nestLabel ? tooltipLabel : null,
170
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground", children: itemConfig?.label || item.name })
171
- ] }),
172
- item.value && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground font-mono font-medium tabular-nums", children: item.value.toLocaleString() })
173
- ]
174
- }
175
- )
176
- ] })
177
- },
178
- item.dataKey
179
- );
180
- }) })
181
- ]
182
- }
183
- );
184
- }
185
- );
186
- ChartTooltipContent.displayName = "ChartTooltip";
187
- const ChartLegend = RechartsPrimitive__namespace.Legend;
188
- const ChartLegendContent = React__namespace.forwardRef(({ className, hideIcon = false, payload, verticalAlign = "bottom", nameKey }, ref) => {
189
- const { config } = useChart();
190
- if (!payload?.length) {
191
- return null;
192
- }
193
- return /* @__PURE__ */ jsxRuntime.jsx(
194
- "div",
195
- {
196
- ref,
197
- className: utils.cn(
198
- "flex items-center justify-center gap-4",
199
- verticalAlign === "top" ? "pb-3" : "pt-3",
200
- className
201
- ),
202
- children: payload.map((item) => {
203
- const key = `${nameKey || item.dataKey || "value"}`;
204
- const itemConfig = getPayloadConfigFromPayload(config, item, key);
205
- return /* @__PURE__ */ jsxRuntime.jsxs(
206
- "div",
207
- {
208
- className: utils.cn(
209
- "[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3"
210
- ),
211
- children: [
212
- itemConfig?.icon && !hideIcon ? /* @__PURE__ */ jsxRuntime.jsx(itemConfig.icon, {}) : /* @__PURE__ */ jsxRuntime.jsx(
213
- "div",
214
- {
215
- className: "h-2 w-2 shrink-0 rounded-[2px]",
216
- style: {
217
- backgroundColor: item.color
218
- }
219
- }
220
- ),
221
- itemConfig?.label
222
- ]
223
- },
224
- item.value
225
- );
226
- })
227
- }
228
- );
229
- });
230
- ChartLegendContent.displayName = "ChartLegend";
231
- function getPayloadConfigFromPayload(config, payload, key) {
232
- if (typeof payload !== "object" || payload === null) {
233
- return void 0;
234
- }
235
- const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : void 0;
236
- let configLabelKey = key;
237
- if (key in payload && typeof payload[key] === "string") {
238
- configLabelKey = payload[key];
239
- } else if (payloadPayload && key in payloadPayload && typeof payloadPayload[key] === "string") {
240
- configLabelKey = payloadPayload[key];
241
- }
242
- return configLabelKey in config ? config[configLabelKey] : config[key];
243
- }
244
-
245
- exports.ChartContainer = ChartContainer;
246
- exports.ChartLegend = ChartLegend;
247
- exports.ChartLegendContent = ChartLegendContent;
248
- exports.ChartStyle = ChartStyle;
249
- exports.ChartTooltip = ChartTooltip;
250
- exports.ChartTooltipContent = ChartTooltipContent;
251
- //# sourceMappingURL=chart.js.map
252
- //# sourceMappingURL=chart.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/chart.tsx"],"names":["React","jsxs","cn","jsx","RechartsPrimitive","config","Fragment"],"mappings":"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","file":"chart.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as RechartsPrimitive from 'recharts';\n\nimport { cn } from '@/lib/utils';\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: '', dark: '.dark' } as const;\n\nexport type ChartConfig = {\n // eslint-disable-next-line no-unused-vars\n [_ in string]: {\n label?: React.ReactNode;\n icon?: React.ComponentType;\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n );\n};\n\ntype ChartContextProps = {\n config: ChartConfig;\n};\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null);\n\nfunction useChart() {\n const context = React.useContext(ChartContext);\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />');\n }\n\n return context;\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n config: ChartConfig;\n children: React.ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border flex aspect-video justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-none [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-none [&_.recharts-surface]:outline-none\",\n className,\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n});\nChartContainer.displayName = 'Chart';\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(([_, config]) => config.theme || config.color);\n\n if (!colorConfig.length) {\n return null;\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color = itemConfig.theme?.[theme as keyof typeof itemConfig.theme] || itemConfig.color;\n return color ? ` --color-${key}: ${color};` : null;\n })\n .join('\\n')}\n}\n`,\n )\n .join('\\n'),\n }}\n />\n );\n};\n\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<'div'> & {\n hideLabel?: boolean;\n hideIndicator?: boolean;\n indicator?: 'line' | 'dot' | 'dashed';\n nameKey?: string;\n labelKey?: string;\n }\n>(\n (\n {\n active,\n 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 },\n ref,\n ) => {\n const { config } = useChart();\n\n const tooltipLabel = React.useMemo(() => {\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 as keyof typeof config]?.label || label\n : itemConfig?.label;\n\n if (labelFormatter) {\n return (\n <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>\n );\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n }, [label, labelFormatter, payload, hideLabel, labelClassName, config, labelKey]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n ref={ref}\n className={cn(\n 'border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl',\n className,\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || item.payload.fill || item.color;\n\n return (\n <div\n key={item.dataKey}\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 !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n 'shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]',\n {\n 'h-2.5 w-2.5': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border-[1.5px] border-dashed bg-transparent':\n indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed',\n },\n )}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n 'flex flex-1 justify-between leading-none',\n nestLabel ? 'items-end' : 'items-center',\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n },\n);\nChartTooltipContent.displayName = 'ChartTooltip';\n\nconst ChartLegend = RechartsPrimitive.Legend;\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> &\n Pick<RechartsPrimitive.LegendProps, 'payload' | 'verticalAlign'> & {\n hideIcon?: boolean;\n nameKey?: string;\n }\n>(({ className, hideIcon = false, payload, verticalAlign = 'bottom', nameKey }, ref) => {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n 'flex items-center justify-center gap-4',\n verticalAlign === 'top' ? 'pb-3' : 'pt-3',\n className,\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={item.value}\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-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n});\nChartLegendContent.displayName = 'ChartLegend';\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {\n if (typeof payload !== 'object' || payload === null) {\n return undefined;\n }\n\n const payloadPayload =\n 'payload' in payload && typeof payload.payload === 'object' && payload.payload !== null\n ? payload.payload\n : undefined;\n\n let configLabelKey: string = key;\n\n if (key in payload && typeof payload[key as keyof typeof payload] === 'string') {\n configLabelKey = payload[key as keyof typeof payload] as string;\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === 'string'\n ) {\n configLabelKey = payloadPayload[key as keyof typeof payloadPayload] as string;\n }\n\n return configLabelKey in config ? config[configLabelKey] : config[key as keyof typeof config];\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n};\n"]}