@oneplatformdev/ui 0.1.99-beta.301 → 0.1.99-beta.304

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 (188) hide show
  1. package/.storybook/Wrappers.js.map +1 -1
  2. package/Accordion/Accordion.js.map +1 -1
  3. package/Alert/Alert.js.map +1 -1
  4. package/Alert/alertVariants.js.map +1 -1
  5. package/AlertDialog/AlertDialog.js.map +1 -1
  6. package/AlertDialog/AlertDialog.stories.js +4 -2
  7. package/AlertDialog/AlertDialog.stories.js.map +1 -1
  8. package/AlertDialog/AlertDialogRoot.js +20 -18
  9. package/AlertDialog/AlertDialogRoot.js.map +1 -1
  10. package/AreaChart/AreaChart.js.map +1 -1
  11. package/Aside/Aside.js.map +1 -1
  12. package/Aside/AsideSidebar.js.map +1 -1
  13. package/AspectRatio/AspectRatio.js.map +1 -1
  14. package/Avatar/Avatar.js.map +1 -1
  15. package/Badge/Badge.js.map +1 -1
  16. package/Badge/badgeVariants.js.map +1 -1
  17. package/Breadcrumb/Breadcrumb.js.map +1 -1
  18. package/Button/Button.js +11 -10
  19. package/Button/Button.js.map +1 -1
  20. package/Button/Button.stories.js.map +1 -1
  21. package/Button/Button.utils.js.map +1 -1
  22. package/Button/ButtonCounterBadge.js.map +1 -1
  23. package/Button/buttonVariants.js.map +1 -1
  24. package/ButtonIcon/ButtonIcon.js +22 -19
  25. package/ButtonIcon/ButtonIcon.js.map +1 -1
  26. package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
  27. package/ButtonIcon/buttonIconVariants.js.map +1 -1
  28. package/CHANGELOG.md +3487 -3487
  29. package/Calendar/Calendar.js +6 -4
  30. package/Calendar/Calendar.js.map +1 -1
  31. package/Card/Card.js.map +1 -1
  32. package/Carousel/Carousel.js +7 -6
  33. package/Carousel/Carousel.js.map +1 -1
  34. package/Chart/Chart.js.map +1 -1
  35. package/Checkbox/Checkbox.js +1 -0
  36. package/Checkbox/Checkbox.js.map +1 -1
  37. package/Checkbox/Checkbox.stories.js.map +1 -1
  38. package/Collapsible/Collapsible.js.map +1 -1
  39. package/Combobox/Combobox.js +46 -45
  40. package/Combobox/Combobox.js.map +1 -1
  41. package/Combobox/Combobox.stories.js.map +1 -1
  42. package/Combobox/Combobox.types.d.ts +2 -0
  43. package/Combobox/Combobox.types.d.ts.map +1 -1
  44. package/Combobox/Combobox.types.js.map +1 -1
  45. package/Combobox/ComboboxOptionItem.js +19 -18
  46. package/Combobox/ComboboxOptionItem.js.map +1 -1
  47. package/Combobox/ComboboxRenderContent.d.ts.map +1 -1
  48. package/Combobox/ComboboxRenderContent.js +47 -43
  49. package/Combobox/ComboboxRenderContent.js.map +1 -1
  50. package/Combobox/ComboboxRenderOptions.js +5 -5
  51. package/Combobox/ComboboxRenderOptions.js.map +1 -1
  52. package/Combobox/ComboboxRenderTrigger.js +20 -18
  53. package/Combobox/ComboboxRenderTrigger.js.map +1 -1
  54. package/Command/Command.js +22 -21
  55. package/Command/Command.js.map +1 -1
  56. package/ContextPopover/ContextDropdownMenu.js.map +1 -1
  57. package/ContextPopover/ContextPopover.js.map +1 -1
  58. package/ContextPopover/useContextPopoverHandler.js.map +1 -1
  59. package/DataTable/DataTable.js +26 -24
  60. package/DataTable/DataTable.js.map +1 -1
  61. package/DataTable/DataTableColumnFilter.js +7 -6
  62. package/DataTable/DataTableColumnFilter.js.map +1 -1
  63. package/DataTable/useDataTable.js.map +1 -1
  64. package/DatePicker/DatePicker.js +2 -1
  65. package/DatePicker/DatePicker.js.map +1 -1
  66. package/Dialog/Dialog.js +21 -20
  67. package/Dialog/Dialog.js.map +1 -1
  68. package/Dialog/Dialog.stories.js +15 -14
  69. package/Dialog/Dialog.stories.js.map +1 -1
  70. package/Dialog/DialogOverlayScope.js.map +1 -1
  71. package/Dialog/useDialogClosePosition.js.map +1 -1
  72. package/Drawer/Drawer.js.map +1 -1
  73. package/DropdownMenu/DropdownMenu.js.map +1 -1
  74. package/Dropzone/Dropzone.js +81 -80
  75. package/Dropzone/Dropzone.js.map +1 -1
  76. package/Dropzone/Dropzone.stories.js.map +1 -1
  77. package/Dropzone/Dropzone.types.js.map +1 -1
  78. package/Dropzone/DropzoneCoverPreview.js.map +1 -1
  79. package/Dropzone/DropzoneFilePreview.js.map +1 -1
  80. package/Dropzone/DropzoneSinglePickPreview.js +3 -2
  81. package/Dropzone/DropzoneSinglePickPreview.js.map +1 -1
  82. package/Dropzone/DropzoneUtils.js.map +1 -1
  83. package/Form/Form.js +29 -28
  84. package/Form/Form.js.map +1 -1
  85. package/Form/FormRenderControl.js +7 -6
  86. package/Form/FormRenderControl.js.map +1 -1
  87. package/Form/Form_old.js +5 -4
  88. package/Form/Form_old.js.map +1 -1
  89. package/FormCheckbox/FormCheckbox.js +4 -4
  90. package/FormCheckbox/FormCheckbox.js.map +1 -1
  91. package/FormCombobox/FormCombobox.js +4 -4
  92. package/FormCombobox/FormCombobox.js.map +1 -1
  93. package/FormCombobox/FormCombobox.stories.js +106 -0
  94. package/FormCombobox/FormCombobox.stories.js.map +1 -0
  95. package/FormDatePicker/FormDatePicker.js +4 -4
  96. package/FormDatePicker/FormDatePicker.js.map +1 -1
  97. package/FormDropzone/FormDropzone.js +3 -3
  98. package/FormDropzone/FormDropzone.js.map +1 -1
  99. package/FormInput/FormInput.js +6 -6
  100. package/FormInput/FormInput.js.map +1 -1
  101. package/FormInput/FormInput.stories.js +13 -12
  102. package/FormInput/FormInput.stories.js.map +1 -1
  103. package/FormRadio/FormRadio.js.map +1 -1
  104. package/FormSelect/FormSelect.d.ts.map +1 -1
  105. package/FormSelect/FormSelect.js +32 -25
  106. package/FormSelect/FormSelect.js.map +1 -1
  107. package/FormTextarea/FormTextarea.js +4 -4
  108. package/FormTextarea/FormTextarea.js.map +1 -1
  109. package/Header/Header.js.map +1 -1
  110. package/HoverCard/HoverCard.js.map +1 -1
  111. package/InfoBlock/InfoBlock.js.map +1 -1
  112. package/InfoBlock/InfoBlock.stories.js.map +1 -1
  113. package/InfoBlock/infoBlockVariants.js.map +1 -1
  114. package/Input/Input.js.map +1 -1
  115. package/Input/Input.stories.js.map +1 -1
  116. package/Input/inputVariants.d.ts.map +1 -1
  117. package/Input/inputVariants.js +2 -3
  118. package/Input/inputVariants.js.map +1 -1
  119. package/InputOTP/InputOTP.d.ts.map +1 -1
  120. package/InputOTP/InputOTP.js.map +1 -1
  121. package/LICENSE +21 -21
  122. package/Label/Label.js.map +1 -1
  123. package/Label/labelVariants.js.map +1 -1
  124. package/LazyLoader/LazyLoader.js +5 -4
  125. package/LazyLoader/LazyLoader.js.map +1 -1
  126. package/LoadedIcon/LoadedIcon.js.map +1 -1
  127. package/LoadingMask/LoadingMask.js.map +1 -1
  128. package/LoadingMask/RenderLoadingMask.js.map +1 -1
  129. package/LoadingProgress/LoadingProgress.js.map +1 -1
  130. package/LoadingProgress/loadingProgressVariants.js.map +1 -1
  131. package/Menubar/Menubar.js.map +1 -1
  132. package/NavigationMenu/NavigationMenu.js.map +1 -1
  133. package/NavigationMenu/navigationMenuVariants.js.map +1 -1
  134. package/Pagination/Pagination.js +1 -0
  135. package/Pagination/Pagination.js.map +1 -1
  136. package/Popover/Popover.js.map +1 -1
  137. package/Progress/Progress.js.map +1 -1
  138. package/README.md +7 -7
  139. package/Radio/Radio.js.map +1 -1
  140. package/RadioGroup/RadioGroup.js.map +1 -1
  141. package/Resizable/Resizable.js.map +1 -1
  142. package/Resizable/Resizable.stories.js.map +1 -1
  143. package/ScrollArea/ScrollArea.js.map +1 -1
  144. package/Search/Search.js +9 -9
  145. package/Search/Search.js.map +1 -1
  146. package/Search/Search.stories.js.map +1 -1
  147. package/Select/Select.d.ts.map +1 -1
  148. package/Select/Select.js +63 -50
  149. package/Select/Select.js.map +1 -1
  150. package/Select/Select.stories.js.map +1 -1
  151. package/Select/Select.types.d.ts +2 -0
  152. package/Select/Select.types.d.ts.map +1 -1
  153. package/Select/SelectRoot.js.map +1 -1
  154. package/Separator/Separator.js.map +1 -1
  155. package/Sheet/Sheet.js.map +1 -1
  156. package/Sidebar/Sidebar.js +21 -20
  157. package/Sidebar/Sidebar.js.map +1 -1
  158. package/Skeleton/Skeleton.js.map +1 -1
  159. package/Slider/Slider.js.map +1 -1
  160. package/Sonner/Sonner.js.map +1 -1
  161. package/Switch/Switch.js.map +1 -1
  162. package/Switch/Switch.stories.js.map +1 -1
  163. package/Table/Table.js.map +1 -1
  164. package/TablePagination/TablePagination.js +26 -21
  165. package/TablePagination/TablePagination.js.map +1 -1
  166. package/Tabs/Tabs.js.map +1 -1
  167. package/Tabs/TabsRoot.js.map +1 -1
  168. package/Textarea/Textarea.d.ts.map +1 -1
  169. package/Textarea/Textarea.js +18 -19
  170. package/Textarea/Textarea.js.map +1 -1
  171. package/Textarea/Textarea.stories.js.map +1 -1
  172. package/Textarea/useAutosizeTextArea.js.map +1 -1
  173. package/Theme/ThemeModeToggle.js +4 -3
  174. package/Theme/ThemeModeToggle.js.map +1 -1
  175. package/Theme/ThemeProvider.js.map +1 -1
  176. package/Toast/Toast.js.map +1 -1
  177. package/Toast/toast.constants.js.map +1 -1
  178. package/Toast/toastVariants.js.map +1 -1
  179. package/Toast/useToast.js.map +1 -1
  180. package/Toaster/Toaster.js.map +1 -1
  181. package/Toggle/Toggle.js.map +1 -1
  182. package/ToggleGroup/ToggleGroup.js.map +1 -1
  183. package/Tooltip/Tooltip.js.map +1 -1
  184. package/Tooltip/TooltipRoot.js.map +1 -1
  185. package/Tooltip/tooltipVariants.js.map +1 -1
  186. package/index.js +289 -289
  187. package/package.json +4 -4
  188. package/vite-env.d.ts +7 -7
@@ -1,18 +1,20 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { ChevronRight as i, ChevronLeft as l } from "lucide-react";
2
+ import { ChevronRight as c, ChevronLeft as l } from "lucide-react";
3
3
  import { DayPicker as m } from "react-day-picker";
4
4
  import { cn as e } from "@oneplatformdev/utils";
5
+ import "../Button/Button.js";
5
6
  import { buttonVariants as o } from "../Button/buttonVariants.js";
7
+ import "react";
6
8
  function u({
7
9
  className: n,
8
10
  classNames: s,
9
- showOutsideDays: c = !0,
11
+ showOutsideDays: i = !0,
10
12
  ...d
11
13
  }) {
12
14
  return /* @__PURE__ */ r(
13
15
  m,
14
16
  {
15
- showOutsideDays: c,
17
+ showOutsideDays: i,
16
18
  className: e("p-3", n),
17
19
  classNames: {
18
20
  caption_dropdowns: "flex flex-col gap-1",
@@ -51,7 +53,7 @@ function u({
51
53
  },
52
54
  components: {
53
55
  IconLeft: ({ className: a, ...t }) => /* @__PURE__ */ r(l, { className: e("h-4 w-4", a), ...t }),
54
- IconRight: ({ className: a, ...t }) => /* @__PURE__ */ r(i, { className: e("h-4 w-4", a), ...t })
56
+ IconRight: ({ className: a, ...t }) => /* @__PURE__ */ r(c, { className: e("h-4 w-4", a), ...t })
55
57
  },
56
58
  ...d
57
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sources":["../../src/Calendar/Calendar.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { ChevronLeft, ChevronRight } from \"lucide-react\"\r\nimport { DayPicker } from \"react-day-picker\"\r\n\r\nimport { cn } from \"@oneplatformdev/utils\"\r\nimport { buttonVariants } from \"../Button\";\r\n\r\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>\r\n\r\nfunction Calendar({\r\n className,\r\n classNames,\r\n showOutsideDays = true,\r\n ...props\r\n}: CalendarProps) {\r\n return (\r\n <DayPicker\r\n showOutsideDays={showOutsideDays}\r\n className={cn(\"p-3\", className)}\r\n classNames={{\r\n caption_dropdowns:\"flex flex-col gap-1\",\r\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0\",\r\n month: \"space-y-4\",\r\n caption: \"flex justify-center pt-1 relative items-center gap-4\",\r\n caption_label: \"text-sm font-medium hidden\",\r\n nav: \"space-x-1 flex items-center\",\r\n nav_button: cn(\r\n buttonVariants({ variant: \"outline-solid\" }),\r\n \"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100\"\r\n ),\r\n nav_button_previous: \"absolute left-1\",\r\n nav_button_next: \"absolute right-1\",\r\n table: \"w-full border-collapse space-y-1\",\r\n head_row: \"flex\",\r\n head_cell:\r\n \"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]\",\r\n row: \"flex w-full mt-2\",\r\n cell: cn(\r\n \"relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md\",\r\n props.mode === \"range\"\r\n ? \"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md\"\r\n : \"[&:has([aria-selected])]:rounded-md\"\r\n ),\r\n day: cn(\r\n buttonVariants({ variant: \"ghost\" }),\r\n \"h-8 w-8 p-0 font-normal aria-selected:opacity-100\"\r\n ),\r\n day_range_start: \"day-range-start\",\r\n day_range_end: \"day-range-end\",\r\n day_selected:\r\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\r\n day_today: \"bg-accent text-accent-foreground\",\r\n day_outside:\r\n \"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground\",\r\n day_disabled: \"text-muted-foreground opacity-50\",\r\n day_range_middle:\r\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\r\n day_hidden: \"invisible\",\r\n ...classNames,\r\n }}\r\n components={{\r\n IconLeft: ({ className, ...props }) => (\r\n <ChevronLeft className={cn(\"h-4 w-4\", className)} {...props} />\r\n ),\r\n IconRight: ({ className, ...props }) => (\r\n <ChevronRight className={cn(\"h-4 w-4\", className)} {...props} />\r\n ),\r\n }}\r\n {...props}\r\n />\r\n )\r\n}\r\nCalendar.displayName = \"Calendar\"\r\n\r\nexport { Calendar }\r\n"],"names":["Calendar","className","classNames","showOutsideDays","props","jsx","DayPicker","cn","buttonVariants","ChevronLeft","ChevronRight"],"mappings":";;;;;AAWA,SAASA,EAAS;AAAA,EAChB,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,GAAGC;AACL,GAAkB;AAChB,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,iBAAAH;AAAA,MACA,WAAWI,EAAG,OAAON,CAAS;AAAA,MAC9B,YAAY;AAAA,QACV,mBAAkB;AAAA,QAClB,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,SAAS;AAAA,QACT,eAAe;AAAA,QACf,KAAK;AAAA,QACL,YAAYM;AAAA,UACVC,EAAe,EAAE,SAAS,iBAAiB;AAAA,UAC3C;AAAA,QAAA;AAAA,QAEF,qBAAqB;AAAA,QACrB,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WACE;AAAA,QACF,KAAK;AAAA,QACL,MAAMD;AAAA,UACJ;AAAA,UACAH,EAAM,SAAS,UACX,yKACA;AAAA,QAAA;AAAA,QAEN,KAAKG;AAAA,UACHC,EAAe,EAAE,SAAS,SAAS;AAAA,UACnC;AAAA,QAAA;AAAA,QAEF,iBAAiB;AAAA,QACjB,eAAe;AAAA,QACf,cACE;AAAA,QACF,WAAW;AAAA,QACX,aACE;AAAA,QACF,cAAc;AAAA,QACd,kBACE;AAAA,QACF,YAAY;AAAA,QACZ,GAAGN;AAAA,MAAA;AAAA,MAEL,YAAY;AAAA,QACV,UAAU,CAAC,EAAE,WAAAD,GAAW,GAAGG,EAAAA,MACzB,gBAAAC,EAACI,GAAA,EAAY,WAAWF,EAAG,WAAWN,CAAS,GAAI,GAAGG,GAAO;AAAA,QAE/D,WAAW,CAAC,EAAE,WAAAH,GAAW,GAAGG,EAAAA,MAC1B,gBAAAC,EAACK,GAAA,EAAa,WAAWH,EAAG,WAAWN,CAAS,GAAI,GAAGG,EAAAA,CAAO;AAAA,MAAA;AAAA,MAGjE,GAAGA;AAAA,IAAA;AAAA,EAAA;AAGV;AACAJ,EAAS,cAAc;"}
1
+ {"version":3,"file":"Calendar.js","sources":["../../src/Calendar/Calendar.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport { ChevronLeft, ChevronRight } from \"lucide-react\"\nimport { DayPicker } from \"react-day-picker\"\n\nimport { cn } from \"@oneplatformdev/utils\"\nimport { buttonVariants } from \"../Button\";\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n caption_dropdowns:\"flex flex-col gap-1\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0\",\n month: \"space-y-4\",\n caption: \"flex justify-center pt-1 relative items-center gap-4\",\n caption_label: \"text-sm font-medium hidden\",\n nav: \"space-x-1 flex items-center\",\n nav_button: cn(\n buttonVariants({ variant: \"outline-solid\" }),\n \"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100\"\n ),\n nav_button_previous: \"absolute left-1\",\n nav_button_next: \"absolute right-1\",\n table: \"w-full border-collapse space-y-1\",\n head_row: \"flex\",\n head_cell:\n \"text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]\",\n row: \"flex w-full mt-2\",\n cell: cn(\n \"relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md\",\n props.mode === \"range\"\n ? \"[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md\"\n : \"[&:has([aria-selected])]:rounded-md\"\n ),\n day: cn(\n buttonVariants({ variant: \"ghost\" }),\n \"h-8 w-8 p-0 font-normal aria-selected:opacity-100\"\n ),\n day_range_start: \"day-range-start\",\n day_range_end: \"day-range-end\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside:\n \"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n day_hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n IconLeft: ({ className, ...props }) => (\n <ChevronLeft className={cn(\"h-4 w-4\", className)} {...props} />\n ),\n IconRight: ({ className, ...props }) => (\n <ChevronRight className={cn(\"h-4 w-4\", className)} {...props} />\n ),\n }}\n {...props}\n />\n )\n}\nCalendar.displayName = \"Calendar\"\n\nexport { Calendar }\n"],"names":["Calendar","className","classNames","showOutsideDays","props","jsx","DayPicker","cn","buttonVariants","ChevronLeft","ChevronRight"],"mappings":";;;;;;;AAWA,SAASA,EAAS;AAAA,EAChB,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,GAAGC;AACL,GAAkB;AAChB,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,iBAAAH;AAAA,MACA,WAAWI,EAAG,OAAON,CAAS;AAAA,MAC9B,YAAY;AAAA,QACV,mBAAkB;AAAA,QAClB,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,SAAS;AAAA,QACT,eAAe;AAAA,QACf,KAAK;AAAA,QACL,YAAYM;AAAA,UACVC,EAAe,EAAE,SAAS,iBAAiB;AAAA,UAC3C;AAAA,QAAA;AAAA,QAEF,qBAAqB;AAAA,QACrB,iBAAiB;AAAA,QACjB,OAAO;AAAA,QACP,UAAU;AAAA,QACV,WACE;AAAA,QACF,KAAK;AAAA,QACL,MAAMD;AAAA,UACJ;AAAA,UACAH,EAAM,SAAS,UACX,yKACA;AAAA,QAAA;AAAA,QAEN,KAAKG;AAAA,UACHC,EAAe,EAAE,SAAS,SAAS;AAAA,UACnC;AAAA,QAAA;AAAA,QAEF,iBAAiB;AAAA,QACjB,eAAe;AAAA,QACf,cACE;AAAA,QACF,WAAW;AAAA,QACX,aACE;AAAA,QACF,cAAc;AAAA,QACd,kBACE;AAAA,QACF,YAAY;AAAA,QACZ,GAAGN;AAAA,MAAA;AAAA,MAEL,YAAY;AAAA,QACV,UAAU,CAAC,EAAE,WAAAD,GAAW,GAAGG,EAAAA,MACzB,gBAAAC,EAACI,GAAA,EAAY,WAAWF,EAAG,WAAWN,CAAS,GAAI,GAAGG,GAAO;AAAA,QAE/D,WAAW,CAAC,EAAE,WAAAH,GAAW,GAAGG,EAAAA,MAC1B,gBAAAC,EAACK,GAAA,EAAa,WAAWH,EAAG,WAAWN,CAAS,GAAI,GAAGG,EAAAA,CAAO;AAAA,MAAA;AAAA,MAGjE,GAAGA;AAAA,IAAA;AAAA,EAAA;AAGV;AACAJ,EAAS,cAAc;"}
package/Card/Card.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sources":["../../src/Card/Card.tsx"],"sourcesContent":["import * as React from 'react';\r\n\r\nimport { cn } from '@oneplatformdev/utils';\r\n\r\nconst Card = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(\r\n 'flex flex-col gap-1 p-2',\r\n 'text-card-foreground bg-card shadow-none',\r\n 'rounded-lg border border-transparent',\r\n className\r\n )}\r\n {...props}\r\n />\r\n));\r\nCard.displayName = \"Card\"\r\n\r\nconst CardHeader = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\r\n {...props}\r\n />\r\n))\r\nCardHeader.displayName = \"CardHeader\"\r\n\r\nconst CardTitle = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(\"font-semibold leading-none tracking-tight\", className)}\r\n {...props}\r\n />\r\n))\r\nCardTitle.displayName = \"CardTitle\"\r\n\r\nconst CardDescription = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(\"text-sm text-muted-foreground\", className)}\r\n {...props}\r\n />\r\n))\r\nCardDescription.displayName = \"CardDescription\"\r\n\r\nconst CardContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => (\r\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\r\n))\r\nCardContent.displayName = \"CardContent\"\r\n\r\nconst CardFooter = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => (\r\n <div\r\n ref={ref}\r\n className={cn(\"flex items-center p-6 pt-0\", className)}\r\n {...props}\r\n />\r\n))\r\nCardFooter.displayName = \"CardFooter\"\r\n\r\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\r\n"],"names":["Card","React","className","props","ref","jsx","cn","CardHeader","CardTitle","CardDescription","CardContent","CardFooter"],"mappings":";;;AAIA,MAAMA,IAAOC,EAAM,WAGjB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAK,cAAc;AAEnB,MAAMO,IAAaN,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDI,EAAW,cAAc;AAEzB,MAAMC,IAAYP,EAAM,WAGtB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,6CAA6CJ,CAAS;AAAA,IACnE,GAAGC;AAAA,EAAA;AACN,CACD;AACDK,EAAU,cAAc;AAExB,MAAMC,IAAkBR,EAAM,WAG5B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDM,EAAgB,cAAc;AAE9B,MAAMC,IAAcT,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,KAASC,wBACzB,OAAA,EAAI,KAAAA,GAAU,WAAWE,EAAG,YAAYJ,CAAS,GAAI,GAAGC,GAAO,CACjE;AACDO,EAAY,cAAc;AAE1B,MAAMC,IAAaV,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,8BAA8BJ,CAAS;AAAA,IACpD,GAAGC;AAAA,EAAA;AACN,CACD;AACDQ,EAAW,cAAc;"}
1
+ {"version":3,"file":"Card.js","sources":["../../src/Card/Card.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from '@oneplatformdev/utils';\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex flex-col gap-1 p-2',\n 'text-card-foreground bg-card shadow-none',\n 'rounded-lg border border-transparent',\n className\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n"],"names":["Card","React","className","props","ref","jsx","cn","CardHeader","CardTitle","CardDescription","CardContent","CardFooter"],"mappings":";;;AAIA,MAAMA,IAAOC,EAAM,WAGjB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACAJ;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,EAAA;AACN,CACD;AACDH,EAAK,cAAc;AAEnB,MAAMO,IAAaN,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDI,EAAW,cAAc;AAEzB,MAAMC,IAAYP,EAAM,WAGtB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,6CAA6CJ,CAAS;AAAA,IACnE,GAAGC;AAAA,EAAA;AACN,CACD;AACDK,EAAU,cAAc;AAExB,MAAMC,IAAkBR,EAAM,WAG5B,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,iCAAiCJ,CAAS;AAAA,IACvD,GAAGC;AAAA,EAAA;AACN,CACD;AACDM,EAAgB,cAAc;AAE9B,MAAMC,IAAcT,EAAM,WAGxB,CAAC,EAAE,WAAAC,GAAW,GAAGC,KAASC,wBACzB,OAAA,EAAI,KAAAA,GAAU,WAAWE,EAAG,YAAYJ,CAAS,GAAI,GAAGC,GAAO,CACjE;AACDO,EAAY,cAAc;AAE1B,MAAMC,IAAaV,EAAM,WAGvB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAG,8BAA8BJ,CAAS;AAAA,IACpD,GAAGC;AAAA,EAAA;AACN,CACD;AACDQ,EAAW,cAAc;"}
@@ -3,10 +3,11 @@ import * as e from "react";
3
3
  import k from "embla-carousel-react";
4
4
  import { ArrowLeft as z, ArrowRight as g } from "lucide-react";
5
5
  import { cn as m } from "@oneplatformdev/utils";
6
- import { Button as w } from "../Button/Button.js";
7
- const p = e.createContext(null);
6
+ import { Button as p } from "../Button/Button.js";
7
+ import "../Button/buttonVariants.js";
8
+ const w = e.createContext(null);
8
9
  function C() {
9
- const o = e.useContext(p);
10
+ const o = e.useContext(w);
10
11
  if (!o)
11
12
  throw new Error("useCarousel must be used within a <Carousel />");
12
13
  return o;
@@ -47,7 +48,7 @@ const D = e.forwardRef(
47
48
  r?.off("select", d);
48
49
  };
49
50
  }, [r, d]), /* @__PURE__ */ s(
50
- p.Provider,
51
+ w.Provider,
51
52
  {
52
53
  value: {
53
54
  carouselRef: v,
@@ -113,7 +114,7 @@ I.displayName = "CarouselItem";
113
114
  const j = e.forwardRef(({ className: o, variant: l = "outline-solid", size: t = "icon", ...a }, c) => {
114
115
  const { orientation: i, scrollPrev: u, canScrollPrev: f } = C();
115
116
  return /* @__PURE__ */ x(
116
- w,
117
+ p,
117
118
  {
118
119
  ref: c,
119
120
  variant: l,
@@ -137,7 +138,7 @@ j.displayName = "CarouselPrevious";
137
138
  const A = e.forwardRef(({ className: o, variant: l = "outline-solid", size: t = "icon", ...a }, c) => {
138
139
  const { orientation: i, scrollNext: u, canScrollNext: f } = C();
139
140
  return /* @__PURE__ */ x(
140
- w,
141
+ p,
141
142
  {
142
143
  ref: c,
143
144
  variant: l,
@@ -1 +1 @@
1
- {"version":3,"file":"Carousel.js","sources":["../../src/Carousel/Carousel.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport useEmblaCarousel, {\r\n type UseEmblaCarouselType,\r\n} from \"embla-carousel-react\"\r\nimport { ArrowLeft, ArrowRight } from \"lucide-react\"\r\n\r\nimport { cn } from \"@oneplatformdev/utils\";\r\nimport { Button } from \"../Button\";\r\n\r\ntype CarouselApi = UseEmblaCarouselType[1]\r\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\r\ntype CarouselOptions = UseCarouselParameters[0]\r\ntype CarouselPlugin = UseCarouselParameters[1]\r\n\r\ntype CarouselProps = {\r\n opts?: CarouselOptions\r\n plugins?: CarouselPlugin\r\n orientation?: \"horizontal\" | \"vertical\"\r\n setApi?: (api: CarouselApi) => void\r\n}\r\n\r\ntype CarouselContextProps = {\r\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\r\n api: ReturnType<typeof useEmblaCarousel>[1]\r\n scrollPrev: () => void\r\n scrollNext: () => void\r\n canScrollPrev: boolean\r\n canScrollNext: boolean\r\n} & CarouselProps\r\n\r\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\r\n\r\nfunction useCarousel() {\r\n const context = React.useContext(CarouselContext)\r\n\r\n if (!context) {\r\n throw new Error(\"useCarousel must be used within a <Carousel />\")\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst Carousel = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\r\n>(\r\n (\r\n {\r\n orientation = \"horizontal\",\r\n opts,\r\n setApi,\r\n plugins,\r\n className,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [carouselRef, api] = useEmblaCarousel(\r\n {\r\n ...opts,\r\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\r\n },\r\n plugins\r\n )\r\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\r\n const [canScrollNext, setCanScrollNext] = React.useState(false)\r\n\r\n const onSelect = React.useCallback((api: CarouselApi) => {\r\n if (!api) {\r\n return\r\n }\r\n\r\n setCanScrollPrev(api.canScrollPrev())\r\n setCanScrollNext(api.canScrollNext())\r\n }, [])\r\n\r\n const scrollPrev = React.useCallback(() => {\r\n api?.scrollPrev()\r\n }, [api])\r\n\r\n const scrollNext = React.useCallback(() => {\r\n api?.scrollNext()\r\n }, [api])\r\n\r\n const handleKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (event.key === \"ArrowLeft\") {\r\n event.preventDefault()\r\n scrollPrev()\r\n } else if (event.key === \"ArrowRight\") {\r\n event.preventDefault()\r\n scrollNext()\r\n }\r\n },\r\n [scrollPrev, scrollNext]\r\n )\r\n\r\n React.useEffect(() => {\r\n if (!api || !setApi) {\r\n return\r\n }\r\n\r\n setApi(api)\r\n }, [api, setApi])\r\n\r\n React.useEffect(() => {\r\n if (!api) {\r\n return\r\n }\r\n\r\n onSelect(api)\r\n api.on(\"reInit\", onSelect)\r\n api.on(\"select\", onSelect)\r\n\r\n return () => {\r\n api?.off(\"select\", onSelect)\r\n }\r\n }, [api, onSelect])\r\n\r\n return (\r\n <CarouselContext.Provider\r\n value={{\r\n carouselRef,\r\n api: api,\r\n opts,\r\n orientation:\r\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\r\n scrollPrev,\r\n scrollNext,\r\n canScrollPrev,\r\n canScrollNext,\r\n }}\r\n >\r\n <div\r\n ref={ref}\r\n onKeyDownCapture={handleKeyDown}\r\n className={cn(\"relative\", className)}\r\n role=\"region\"\r\n aria-roledescription=\"carousel\"\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n </CarouselContext.Provider>\r\n )\r\n }\r\n)\r\nCarousel.displayName = \"Carousel\"\r\n\r\nconst CarouselContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { carouselRef, orientation } = useCarousel()\r\n\r\n return (\r\n <div ref={carouselRef} className=\"overflow-hidden\">\r\n <div\r\n ref={ref}\r\n className={cn(\r\n \"flex\",\r\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n})\r\nCarouselContent.displayName = \"CarouselContent\"\r\n\r\nconst CarouselItem = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { orientation } = useCarousel()\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n role=\"group\"\r\n aria-roledescription=\"slide\"\r\n className={cn(\r\n \"min-w-0 shrink-0 grow-0 basis-full\",\r\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n})\r\nCarouselItem.displayName = \"CarouselItem\"\r\n\r\nconst CarouselPrevious = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = \"outline-solid\", size = \"icon\", ...props }, ref) => {\r\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n \"absolute h-8 w-8 rounded-full\",\r\n orientation === \"horizontal\"\r\n ? \"-left-12 top-1/2 -translate-y-1/2\"\r\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\r\n className\r\n )}\r\n disabled={!canScrollPrev}\r\n onClick={scrollPrev}\r\n {...props}\r\n >\r\n <ArrowLeft className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Previous slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselPrevious.displayName = \"CarouselPrevious\"\r\n\r\nconst CarouselNext = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = \"outline-solid\", size = \"icon\", ...props }, ref) => {\r\n const { orientation, scrollNext, canScrollNext } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n \"absolute h-8 w-8 rounded-full\",\r\n orientation === \"horizontal\"\r\n ? \"-right-12 top-1/2 -translate-y-1/2\"\r\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\r\n className\r\n )}\r\n disabled={!canScrollNext}\r\n onClick={scrollNext}\r\n {...props}\r\n >\r\n <ArrowRight className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Next slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselNext.displayName = \"CarouselNext\"\r\n\r\nexport {\r\n type CarouselApi,\r\n Carousel,\r\n CarouselContent,\r\n CarouselItem,\r\n CarouselPrevious,\r\n CarouselNext,\r\n}\r\n"],"names":["CarouselContext","React","useCarousel","context","Carousel","orientation","opts","setApi","plugins","className","children","props","ref","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","scrollPrev","scrollNext","handleKeyDown","event","jsx","cn","CarouselContent","CarouselItem","CarouselPrevious","variant","size","jsxs","Button","ArrowLeft","CarouselNext","ArrowRight"],"mappings":"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"}
1
+ {"version":3,"file":"Carousel.js","sources":["../../src/Carousel/Carousel.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\"\nimport { ArrowLeft, ArrowRight } from \"lucide-react\"\n\nimport { cn } from \"@oneplatformdev/utils\";\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\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\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) {\n return\n }\n\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) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\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:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = \"Carousel\"\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n )\n})\nCarouselContent.displayName = \"CarouselContent\"\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { orientation } = useCarousel()\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\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})\nCarouselItem.displayName = \"CarouselItem\"\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline-solid\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-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 className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <ArrowLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n})\nCarouselPrevious.displayName = \"CarouselPrevious\"\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline-solid\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-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 className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <ArrowRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n})\nCarouselNext.displayName = \"CarouselNext\"\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n"],"names":["CarouselContext","React","useCarousel","context","Carousel","orientation","opts","setApi","plugins","className","children","props","ref","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","onSelect","scrollPrev","scrollNext","handleKeyDown","event","jsx","cn","CarouselContent","CarouselItem","CarouselPrevious","variant","size","jsxs","Button","ArrowLeft","CarouselNext","ArrowRight"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","sources":["../../src/Chart/Chart.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as RechartsPrimitive from \"recharts\"\r\n\r\nimport { cn } from \"@oneplatformdev/utils\";\r\n\r\n// Format: { THEME_NAME: CSS_SELECTOR }\r\nconst THEMES = { light: \"\", dark: \".dark\" } as const\r\n\r\nexport type ChartConfig = {\r\n [k in string]: {\r\n label?: React.ReactNode\r\n icon?: React.ComponentType\r\n } & (\r\n | { color?: string; theme?: never }\r\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\r\n )\r\n}\r\n\r\ntype ChartContextProps = {\r\n config: ChartConfig\r\n}\r\n\r\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\r\n\r\nfunction useChart() {\r\n const context = React.useContext(ChartContext)\r\n\r\n if (!context) {\r\n throw new Error(\"useChart must be used within a <ChartContainer />\")\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst ChartContainer = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n config: ChartConfig\r\n children: React.ComponentProps<\r\n typeof RechartsPrimitive.ResponsiveContainer\r\n >[\"children\"]\r\n }\r\n>(({ id, className, children, config, ...props }, ref) => {\r\n const uniqueId = React.useId()\r\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\r\n\r\n return (\r\n <ChartContext.Provider value={{ config }}>\r\n <div\r\n data-chart={chartId}\r\n ref={ref}\r\n className={cn(\r\n \"flex aspect-video justify-center text-xs [&_.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-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.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 [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n <ChartStyle id={chartId} config={config} />\r\n <RechartsPrimitive.ResponsiveContainer>\r\n {children}\r\n </RechartsPrimitive.ResponsiveContainer>\r\n </div>\r\n </ChartContext.Provider>\r\n )\r\n})\r\nChartContainer.displayName = \"Chart\"\r\n\r\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\r\n const colorConfig = Object.entries(config).filter(\r\n ([, config]) => config.theme || config.color\r\n )\r\n\r\n if (!colorConfig.length) {\r\n return null\r\n }\r\n\r\n return (\r\n <style\r\n dangerouslySetInnerHTML={{\r\n __html: Object.entries(THEMES)\r\n .map(\r\n ([theme, prefix]) => `\r\n${prefix} [data-chart=${id}] {\r\n${colorConfig\r\n .map(([key, itemConfig]) => {\r\n const color =\r\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\r\n itemConfig.color\r\n return color ? ` --color-${key}: ${color};` : null\r\n })\r\n .join(\"\\n\")}\r\n}\r\n`\r\n )\r\n .join(\"\\n\"),\r\n }}\r\n />\r\n )\r\n}\r\n\r\nconst ChartTooltip = RechartsPrimitive.Tooltip\r\n\r\nconst ChartTooltipContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\r\n React.ComponentProps<\"div\"> & {\r\n hideLabel?: boolean\r\n hideIndicator?: boolean\r\n indicator?: \"line\" | \"dot\" | \"dashed\"\r\n nameKey?: string\r\n labelKey?: string\r\n }\r\n>(\r\n (\r\n {\r\n active,\r\n payload,\r\n className,\r\n indicator = \"dot\",\r\n hideLabel = false,\r\n hideIndicator = false,\r\n label,\r\n labelFormatter,\r\n labelClassName,\r\n formatter,\r\n color,\r\n nameKey,\r\n labelKey,\r\n },\r\n ref\r\n ) => {\r\n const { config } = useChart()\r\n\r\n const tooltipLabel = React.useMemo(() => {\r\n if (hideLabel || !payload?.length) {\r\n return null\r\n }\r\n\r\n const [item] = payload\r\n const key = `${labelKey || item.dataKey || item.name || \"value\"}`\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\r\n const value =\r\n !labelKey && typeof label === \"string\"\r\n ? config[label as keyof typeof config]?.label || label\r\n : itemConfig?.label\r\n\r\n if (labelFormatter) {\r\n return (\r\n <div className={cn(\"font-medium\", labelClassName)}>\r\n {labelFormatter(value, payload)}\r\n </div>\r\n )\r\n }\r\n\r\n if (!value) {\r\n return null\r\n }\r\n\r\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\r\n }, [\r\n label,\r\n labelFormatter,\r\n payload,\r\n hideLabel,\r\n labelClassName,\r\n config,\r\n labelKey,\r\n ])\r\n\r\n if (!active || !payload?.length) {\r\n return null\r\n }\r\n\r\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={cn(\r\n \"grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\r\n className\r\n )}\r\n >\r\n {!nestLabel ? tooltipLabel : null}\r\n <div className=\"grid gap-1.5\">\r\n {payload.map((item, index) => {\r\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\r\n const indicatorColor = color || item.payload.fill || item.color\r\n\r\n return (\r\n <div\r\n key={item.dataKey}\r\n className={cn(\r\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\r\n indicator === \"dot\" && \"items-center\"\r\n )}\r\n >\r\n {formatter && item?.value !== undefined && item.name ? (\r\n formatter(item.value, item.name, item, index, item.payload)\r\n ) : (\r\n <>\r\n {itemConfig?.icon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n !hideIndicator && (\r\n <div\r\n className={cn(\r\n \"shrink-0 rounded-[2px] border-border bg-(--color-bg)\",\r\n {\r\n \"h-2.5 w-2.5\": indicator === \"dot\",\r\n \"w-1\": indicator === \"line\",\r\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\r\n indicator === \"dashed\",\r\n \"my-0.5\": nestLabel && indicator === \"dashed\",\r\n }\r\n )}\r\n style={\r\n {\r\n \"--color-bg\": indicatorColor,\r\n \"--color-border\": indicatorColor,\r\n } as React.CSSProperties\r\n }\r\n />\r\n )\r\n )}\r\n <div\r\n className={cn(\r\n \"flex flex-1 justify-between leading-none\",\r\n nestLabel ? \"items-end\" : \"items-center\"\r\n )}\r\n >\r\n <div className=\"grid gap-1.5\">\r\n {nestLabel ? tooltipLabel : null}\r\n <span className=\"text-muted-foreground\">\r\n {itemConfig?.label || item.name}\r\n </span>\r\n </div>\r\n {item.value && (\r\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\r\n {item.value.toLocaleString()}\r\n </span>\r\n )}\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n )\r\n })}\r\n </div>\r\n </div>\r\n )\r\n }\r\n)\r\nChartTooltipContent.displayName = \"ChartTooltip\"\r\n\r\nconst ChartLegend = RechartsPrimitive.Legend\r\n\r\nconst ChartLegendContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> &\r\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\r\n hideIcon?: boolean\r\n nameKey?: string\r\n }\r\n>(\r\n (\r\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\r\n ref\r\n ) => {\r\n const { config } = useChart()\r\n\r\n if (!payload?.length) {\r\n return null\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className={cn(\r\n \"flex items-center justify-center gap-4\",\r\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\r\n className\r\n )}\r\n >\r\n {payload.map((item) => {\r\n const key = `${nameKey || item.dataKey || \"value\"}`\r\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\r\n\r\n return (\r\n <div\r\n key={item.value}\r\n className={cn(\r\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\r\n )}\r\n >\r\n {itemConfig?.icon && !hideIcon ? (\r\n <itemConfig.icon />\r\n ) : (\r\n <div\r\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\r\n style={{\r\n backgroundColor: item.color,\r\n }}\r\n />\r\n )}\r\n {itemConfig?.label}\r\n </div>\r\n )\r\n })}\r\n </div>\r\n )\r\n }\r\n)\r\nChartLegendContent.displayName = \"ChartLegend\"\r\n\r\n// Helper to extract item config from a payload.\r\nfunction getPayloadConfigFromPayload(\r\n config: ChartConfig,\r\n payload: unknown,\r\n key: string\r\n) {\r\n if (typeof payload !== \"object\" || payload === null) {\r\n return undefined\r\n }\r\n\r\n const payloadPayload =\r\n \"payload\" in payload &&\r\n typeof payload.payload === \"object\" &&\r\n payload.payload !== null\r\n ? payload.payload\r\n : undefined\r\n\r\n let configLabelKey: string = key\r\n\r\n if (\r\n key in payload &&\r\n typeof payload[key as keyof typeof payload] === \"string\"\r\n ) {\r\n configLabelKey = payload[key as keyof typeof payload] as string\r\n } else if (\r\n payloadPayload &&\r\n key in payloadPayload &&\r\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\r\n ) {\r\n configLabelKey = payloadPayload[\r\n key as keyof typeof payloadPayload\r\n ] as string\r\n }\r\n\r\n return configLabelKey in config\r\n ? config[configLabelKey]\r\n : config[key as keyof typeof config]\r\n}\r\n\r\nexport {\r\n ChartContainer,\r\n ChartTooltip,\r\n ChartTooltipContent,\r\n ChartLegend,\r\n ChartLegendContent,\r\n ChartStyle,\r\n}\r\n"],"names":["THEMES","ChartContext","React","useChart","context","ChartContainer","id","className","children","config","props","ref","uniqueId","chartId","jsxs","cn","jsx","ChartStyle","RechartsPrimitive","colorConfig","theme","prefix","key","itemConfig","color","ChartTooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","Fragment","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":";;;;AAQA,MAAMA,IAAS,EAAE,OAAO,IAAI,MAAM,QAAA,GAgB5BC,IAAeC,EAAM,cAAwC,IAAI;AAEvE,SAASC,IAAW;AAClB,QAAMC,IAAUF,EAAM,WAAWD,CAAY;AAE7C,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,mDAAmD;AAGrE,SAAOA;AACT;AAEA,MAAMC,IAAiBH,EAAM,WAQ3B,CAAC,EAAE,IAAAI,GAAI,WAAAC,GAAW,UAAAC,GAAU,QAAAC,GAAQ,GAAGC,EAAA,GAASC,MAAQ;AACxD,QAAMC,IAAWV,EAAM,MAAA,GACjBW,IAAU,SAASP,KAAMM,EAAS,QAAQ,MAAM,EAAE,CAAC;AAEzD,2BACGX,EAAa,UAAb,EAAsB,OAAO,EAAE,QAAAQ,KAC9B,UAAA,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAYD;AAAA,MACZ,KAAAF;AAAA,MACA,WAAWI;AAAA,QACT;AAAA,QACAR;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAM,EAACC,GAAA,EAAW,IAAIJ,GAAS,QAAAJ,EAAA,CAAgB;AAAA,QACzC,gBAAAO,EAACE,EAAkB,qBAAlB,EACE,UAAAV,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ,CAAC;AACDH,EAAe,cAAc;AAE7B,MAAMY,IAAa,CAAC,EAAE,IAAAX,GAAI,QAAAG,QAAkD;AAC1E,QAAMU,IAAc,OAAO,QAAQV,CAAM,EAAE;AAAA,IACzC,CAAC,CAAA,EAAGA,CAAM,MAAMA,EAAO,SAASA,EAAO;AAAA,EAAA;AAGzC,SAAKU,EAAY,SAKf,gBAAAH;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,yBAAyB;AAAA,QACvB,QAAQ,OAAO,QAAQhB,CAAM,EAC1B;AAAA,UACC,CAAC,CAACoB,GAAOC,CAAM,MAAM;AAAA,EAC/BA,CAAM,gBAAgBf,CAAE;AAAA,EACxBa,EACC,IAAI,CAAC,CAACG,GAAKC,CAAU,MAAM;AAC1B,kBAAMC,IACJD,EAAW,QAAQH,CAAsC,KACzDG,EAAW;AACb,mBAAOC,IAAQ,aAAaF,CAAG,KAAKE,CAAK,MAAM;AAAA,UACjD,CAAC,EACA,KAAK;AAAA,CAAI,CAAC;AAAA;AAAA;AAAA,QAAA,EAIF,KAAK;AAAA,CAAI;AAAA,MAAA;AAAA,IACd;AAAA,EAAA,IAtBK;AAyBX,GAEMC,IAAeP,EAAkB,SAEjCQ,IAAsBxB,EAAM;AAAA,EAWhC,CACE;AAAA,IACE,QAAAyB;AAAA,IACA,SAAAC;AAAA,IACA,WAAArB;AAAA,IACA,WAAAsB,IAAY;AAAA,IACZ,WAAAC,IAAY;AAAA,IACZ,eAAAC,IAAgB;AAAA,IAChB,OAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAX;AAAA,IACA,SAAAY;AAAA,IACA,UAAAC;AAAA,EAAA,GAEF1B,MACG;AACH,UAAM,EAAE,QAAAF,EAAA,IAAWN,EAAA,GAEbmC,IAAepC,EAAM,QAAQ,MAAM;AACvC,UAAI4B,KAAa,CAACF,GAAS;AACzB,eAAO;AAGT,YAAM,CAACW,CAAI,IAAIX,GACTN,IAAM,GAAGe,KAAYE,EAAK,WAAWA,EAAK,QAAQ,OAAO,IACzDhB,IAAaiB,EAA4B/B,GAAQ8B,GAAMjB,CAAG,GAC1DmB,IACJ,CAACJ,KAAY,OAAOL,KAAU,WAC1BvB,EAAOuB,CAA4B,GAAG,SAASA,IAC/CT,GAAY;AAElB,aAAIU,IAEA,gBAAAjB,EAAC,OAAA,EAAI,WAAWD,EAAG,eAAemB,CAAc,GAC7C,UAAAD,EAAeQ,GAAOb,CAAO,EAAA,CAChC,IAICa,sBAIG,OAAA,EAAI,WAAW1B,EAAG,eAAemB,CAAc,GAAI,UAAAO,GAAM,IAHxD;AAAA,IAIX,GAAG;AAAA,MACDT;AAAA,MACAC;AAAA,MACAL;AAAA,MACAE;AAAA,MACAI;AAAA,MACAzB;AAAA,MACA4B;AAAA,IAAA,CACD;AAED,QAAI,CAACV,KAAU,CAACC,GAAS;AACvB,aAAO;AAGT,UAAMc,IAAYd,EAAQ,WAAW,KAAKC,MAAc;AAExD,WACE,gBAAAf;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAH;AAAA,QACA,WAAWI;AAAA,UACT;AAAA,UACAR;AAAA,QAAA;AAAA,QAGD,UAAA;AAAA,UAACmC,IAA2B,OAAfJ;AAAA,UACd,gBAAAtB,EAAC,SAAI,WAAU,gBACZ,YAAQ,IAAI,CAACuB,GAAMI,MAAU;AAC5B,kBAAMrB,IAAM,GAAGc,KAAWG,EAAK,QAAQA,EAAK,WAAW,OAAO,IACxDhB,IAAaiB,EAA4B/B,GAAQ8B,GAAMjB,CAAG,GAC1DsB,IAAiBpB,KAASe,EAAK,QAAQ,QAAQA,EAAK;AAE1D,mBACE,gBAAAvB;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAWD;AAAA,kBACT;AAAA,kBACAc,MAAc,SAAS;AAAA,gBAAA;AAAA,gBAGxB,eAAaU,GAAM,UAAU,UAAaA,EAAK,OAC9CJ,EAAUI,EAAK,OAAOA,EAAK,MAAMA,GAAMI,GAAOJ,EAAK,OAAO,IAE1D,gBAAAzB,EAAA+B,GAAA,EACG,UAAA;AAAA,kBAAAtB,GAAY,OACX,gBAAAP,EAACO,EAAW,MAAX,EAAgB,IAEjB,CAACQ,KACC,gBAAAf;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAWD;AAAA,wBACT;AAAA,wBACA;AAAA,0BACE,eAAec,MAAc;AAAA,0BAC7B,OAAOA,MAAc;AAAA,0BACrB,mDACEA,MAAc;AAAA,0BAChB,UAAUa,KAAab,MAAc;AAAA,wBAAA;AAAA,sBACvC;AAAA,sBAEF,OACE;AAAA,wBACE,cAAce;AAAA,wBACd,kBAAkBA;AAAA,sBAAA;AAAA,oBACpB;AAAA,kBAAA;AAAA,kBAKR,gBAAA9B;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAWC;AAAA,wBACT;AAAA,wBACA2B,IAAY,cAAc;AAAA,sBAAA;AAAA,sBAG5B,UAAA;AAAA,wBAAA,gBAAA5B,EAAC,OAAA,EAAI,WAAU,gBACZ,UAAA;AAAA,0BAAA4B,IAAYJ,IAAe;AAAA,4CAC3B,QAAA,EAAK,WAAU,yBACb,UAAAf,GAAY,SAASgB,EAAK,KAAA,CAC7B;AAAA,wBAAA,GACF;AAAA,wBACCA,EAAK,SACJ,gBAAAvB,EAAC,QAAA,EAAK,WAAU,sDACb,UAAAuB,EAAK,MAAM,eAAA,EAAe,CAC7B;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAEJ,EAAA,CACF;AAAA,cAAA;AAAA,cApDGA,EAAK;AAAA,YAAA;AAAA,UAwDhB,CAAC,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AACAb,EAAoB,cAAc;AAElC,MAAMoB,IAAc5B,EAAkB,QAEhC6B,IAAqB7C,EAAM;AAAA,EAQ/B,CACE,EAAE,WAAAK,GAAW,UAAAyC,IAAW,IAAO,SAAApB,GAAS,eAAAqB,IAAgB,UAAU,SAAAb,EAAA,GAClEzB,MACG;AACH,UAAM,EAAE,QAAAF,EAAA,IAAWN,EAAA;AAEnB,WAAKyB,GAAS,SAKZ,gBAAAZ;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAL;AAAA,QACA,WAAWI;AAAA,UACT;AAAA,UACAkC,MAAkB,QAAQ,SAAS;AAAA,UACnC1C;AAAA,QAAA;AAAA,QAGD,UAAAqB,EAAQ,IAAI,CAACW,MAAS;AACrB,gBAAMjB,IAAM,GAAGc,KAAWG,EAAK,WAAW,OAAO,IAC3ChB,IAAaiB,EAA4B/B,GAAQ8B,GAAMjB,CAAG;AAEhE,iBACE,gBAAAR;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,WAAWC;AAAA,gBACT;AAAA,cAAA;AAAA,cAGD,UAAA;AAAA,gBAAAQ,GAAY,QAAQ,CAACyB,sBACnBzB,EAAW,MAAX,CAAA,CAAgB,IAEjB,gBAAAP;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,WAAU;AAAA,oBACV,OAAO;AAAA,sBACL,iBAAiBuB,EAAK;AAAA,oBAAA;AAAA,kBACxB;AAAA,gBAAA;AAAA,gBAGHhB,GAAY;AAAA,cAAA;AAAA,YAAA;AAAA,YAfRgB,EAAK;AAAA,UAAA;AAAA,QAkBhB,CAAC;AAAA,MAAA;AAAA,IAAA,IApCI;AAAA,EAuCX;AACF;AACAQ,EAAmB,cAAc;AAGjC,SAASP,EACP/B,GACAmB,GACAN,GACA;AACA,MAAI,OAAOM,KAAY,YAAYA,MAAY;AAC7C;AAGF,QAAMsB,IACJ,aAAatB,KACb,OAAOA,EAAQ,WAAY,YAC3BA,EAAQ,YAAY,OAChBA,EAAQ,UACR;AAEN,MAAIuB,IAAyB7B;AAE7B,SACEA,KAAOM,KACP,OAAOA,EAAQN,CAA2B,KAAM,WAEhD6B,IAAiBvB,EAAQN,CAA2B,IAEpD4B,KACA5B,KAAO4B,KACP,OAAOA,EAAe5B,CAAkC,KAAM,aAE9D6B,IAAiBD,EACf5B,CACF,IAGK6B,KAAkB1C,IACrBA,EAAO0C,CAAc,IACrB1C,EAAOa,CAA0B;AACvC;"}
1
+ {"version":3,"file":"Chart.js","sources":["../../src/Chart/Chart.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"@oneplatformdev/utils\";\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k 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<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"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 \"flex aspect-video justify-center text-xs [&_.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-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.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 [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </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(\n ([, config]) => config.theme || config.color\n )\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 =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n 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)}>\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 label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\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 \"grid min-w-32 items-start gap-1.5 rounded-lg border border-border/50 bg-background 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 \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\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-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=\"font-mono font-medium tabular-nums text-foreground\">\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>(\n (\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\n ref\n ) => {\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 \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\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 }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\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[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n"],"names":["THEMES","ChartContext","React","useChart","context","ChartContainer","id","className","children","config","props","ref","uniqueId","chartId","jsxs","cn","jsx","ChartStyle","RechartsPrimitive","colorConfig","theme","prefix","key","itemConfig","color","ChartTooltip","ChartTooltipContent","active","payload","indicator","hideLabel","hideIndicator","label","labelFormatter","labelClassName","formatter","nameKey","labelKey","tooltipLabel","item","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","Fragment","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","payloadPayload","configLabelKey"],"mappings":";;;;AAQA,MAAMA,IAAS,EAAE,OAAO,IAAI,MAAM,QAAA,GAgB5BC,IAAeC,EAAM,cAAwC,IAAI;AAEvE,SAASC,IAAW;AAClB,QAAMC,IAAUF,EAAM,WAAWD,CAAY;AAE7C,MAAI,CAACG;AACH,UAAM,IAAI,MAAM,mDAAmD;AAGrE,SAAOA;AACT;AAEA,MAAMC,IAAiBH,EAAM,WAQ3B,CAAC,EAAE,IAAAI,GAAI,WAAAC,GAAW,UAAAC,GAAU,QAAAC,GAAQ,GAAGC,EAAA,GAASC,MAAQ;AACxD,QAAMC,IAAWV,EAAM,MAAA,GACjBW,IAAU,SAASP,KAAMM,EAAS,QAAQ,MAAM,EAAE,CAAC;AAEzD,2BACGX,EAAa,UAAb,EAAsB,OAAO,EAAE,QAAAQ,KAC9B,UAAA,gBAAAK;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAYD;AAAA,MACZ,KAAAF;AAAA,MACA,WAAWI;AAAA,QACT;AAAA,QACAR;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAM,EAACC,GAAA,EAAW,IAAIJ,GAAS,QAAAJ,EAAA,CAAgB;AAAA,QACzC,gBAAAO,EAACE,EAAkB,qBAAlB,EACE,UAAAV,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ,CAAC;AACDH,EAAe,cAAc;AAE7B,MAAMY,IAAa,CAAC,EAAE,IAAAX,GAAI,QAAAG,QAAkD;AAC1E,QAAMU,IAAc,OAAO,QAAQV,CAAM,EAAE;AAAA,IACzC,CAAC,CAAA,EAAGA,CAAM,MAAMA,EAAO,SAASA,EAAO;AAAA,EAAA;AAGzC,SAAKU,EAAY,SAKf,gBAAAH;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,yBAAyB;AAAA,QACvB,QAAQ,OAAO,QAAQhB,CAAM,EAC1B;AAAA,UACC,CAAC,CAACoB,GAAOC,CAAM,MAAM;AAAA,EAC/BA,CAAM,gBAAgBf,CAAE;AAAA,EACxBa,EACC,IAAI,CAAC,CAACG,GAAKC,CAAU,MAAM;AAC1B,kBAAMC,IACJD,EAAW,QAAQH,CAAsC,KACzDG,EAAW;AACb,mBAAOC,IAAQ,aAAaF,CAAG,KAAKE,CAAK,MAAM;AAAA,UACjD,CAAC,EACA,KAAK;AAAA,CAAI,CAAC;AAAA;AAAA;AAAA,QAAA,EAIF,KAAK;AAAA,CAAI;AAAA,MAAA;AAAA,IACd;AAAA,EAAA,IAtBK;AAyBX,GAEMC,IAAeP,EAAkB,SAEjCQ,IAAsBxB,EAAM;AAAA,EAWhC,CACE;AAAA,IACE,QAAAyB;AAAA,IACA,SAAAC;AAAA,IACA,WAAArB;AAAA,IACA,WAAAsB,IAAY;AAAA,IACZ,WAAAC,IAAY;AAAA,IACZ,eAAAC,IAAgB;AAAA,IAChB,OAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAX;AAAA,IACA,SAAAY;AAAA,IACA,UAAAC;AAAA,EAAA,GAEF1B,MACG;AACH,UAAM,EAAE,QAAAF,EAAA,IAAWN,EAAA,GAEbmC,IAAepC,EAAM,QAAQ,MAAM;AACvC,UAAI4B,KAAa,CAACF,GAAS;AACzB,eAAO;AAGT,YAAM,CAACW,CAAI,IAAIX,GACTN,IAAM,GAAGe,KAAYE,EAAK,WAAWA,EAAK,QAAQ,OAAO,IACzDhB,IAAaiB,EAA4B/B,GAAQ8B,GAAMjB,CAAG,GAC1DmB,IACJ,CAACJ,KAAY,OAAOL,KAAU,WAC1BvB,EAAOuB,CAA4B,GAAG,SAASA,IAC/CT,GAAY;AAElB,aAAIU,IAEA,gBAAAjB,EAAC,OAAA,EAAI,WAAWD,EAAG,eAAemB,CAAc,GAC7C,UAAAD,EAAeQ,GAAOb,CAAO,EAAA,CAChC,IAICa,sBAIG,OAAA,EAAI,WAAW1B,EAAG,eAAemB,CAAc,GAAI,UAAAO,GAAM,IAHxD;AAAA,IAIX,GAAG;AAAA,MACDT;AAAA,MACAC;AAAA,MACAL;AAAA,MACAE;AAAA,MACAI;AAAA,MACAzB;AAAA,MACA4B;AAAA,IAAA,CACD;AAED,QAAI,CAACV,KAAU,CAACC,GAAS;AACvB,aAAO;AAGT,UAAMc,IAAYd,EAAQ,WAAW,KAAKC,MAAc;AAExD,WACE,gBAAAf;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAH;AAAA,QACA,WAAWI;AAAA,UACT;AAAA,UACAR;AAAA,QAAA;AAAA,QAGD,UAAA;AAAA,UAACmC,IAA2B,OAAfJ;AAAA,UACd,gBAAAtB,EAAC,SAAI,WAAU,gBACZ,YAAQ,IAAI,CAACuB,GAAMI,MAAU;AAC5B,kBAAMrB,IAAM,GAAGc,KAAWG,EAAK,QAAQA,EAAK,WAAW,OAAO,IACxDhB,IAAaiB,EAA4B/B,GAAQ8B,GAAMjB,CAAG,GAC1DsB,IAAiBpB,KAASe,EAAK,QAAQ,QAAQA,EAAK;AAE1D,mBACE,gBAAAvB;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAWD;AAAA,kBACT;AAAA,kBACAc,MAAc,SAAS;AAAA,gBAAA;AAAA,gBAGxB,eAAaU,GAAM,UAAU,UAAaA,EAAK,OAC9CJ,EAAUI,EAAK,OAAOA,EAAK,MAAMA,GAAMI,GAAOJ,EAAK,OAAO,IAE1D,gBAAAzB,EAAA+B,GAAA,EACG,UAAA;AAAA,kBAAAtB,GAAY,OACX,gBAAAP,EAACO,EAAW,MAAX,EAAgB,IAEjB,CAACQ,KACC,gBAAAf;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAWD;AAAA,wBACT;AAAA,wBACA;AAAA,0BACE,eAAec,MAAc;AAAA,0BAC7B,OAAOA,MAAc;AAAA,0BACrB,mDACEA,MAAc;AAAA,0BAChB,UAAUa,KAAab,MAAc;AAAA,wBAAA;AAAA,sBACvC;AAAA,sBAEF,OACE;AAAA,wBACE,cAAce;AAAA,wBACd,kBAAkBA;AAAA,sBAAA;AAAA,oBACpB;AAAA,kBAAA;AAAA,kBAKR,gBAAA9B;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAWC;AAAA,wBACT;AAAA,wBACA2B,IAAY,cAAc;AAAA,sBAAA;AAAA,sBAG5B,UAAA;AAAA,wBAAA,gBAAA5B,EAAC,OAAA,EAAI,WAAU,gBACZ,UAAA;AAAA,0BAAA4B,IAAYJ,IAAe;AAAA,4CAC3B,QAAA,EAAK,WAAU,yBACb,UAAAf,GAAY,SAASgB,EAAK,KAAA,CAC7B;AAAA,wBAAA,GACF;AAAA,wBACCA,EAAK,SACJ,gBAAAvB,EAAC,QAAA,EAAK,WAAU,sDACb,UAAAuB,EAAK,MAAM,eAAA,EAAe,CAC7B;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAEJ,EAAA,CACF;AAAA,cAAA;AAAA,cApDGA,EAAK;AAAA,YAAA;AAAA,UAwDhB,CAAC,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AACAb,EAAoB,cAAc;AAElC,MAAMoB,IAAc5B,EAAkB,QAEhC6B,IAAqB7C,EAAM;AAAA,EAQ/B,CACE,EAAE,WAAAK,GAAW,UAAAyC,IAAW,IAAO,SAAApB,GAAS,eAAAqB,IAAgB,UAAU,SAAAb,EAAA,GAClEzB,MACG;AACH,UAAM,EAAE,QAAAF,EAAA,IAAWN,EAAA;AAEnB,WAAKyB,GAAS,SAKZ,gBAAAZ;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAL;AAAA,QACA,WAAWI;AAAA,UACT;AAAA,UACAkC,MAAkB,QAAQ,SAAS;AAAA,UACnC1C;AAAA,QAAA;AAAA,QAGD,UAAAqB,EAAQ,IAAI,CAACW,MAAS;AACrB,gBAAMjB,IAAM,GAAGc,KAAWG,EAAK,WAAW,OAAO,IAC3ChB,IAAaiB,EAA4B/B,GAAQ8B,GAAMjB,CAAG;AAEhE,iBACE,gBAAAR;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,WAAWC;AAAA,gBACT;AAAA,cAAA;AAAA,cAGD,UAAA;AAAA,gBAAAQ,GAAY,QAAQ,CAACyB,sBACnBzB,EAAW,MAAX,CAAA,CAAgB,IAEjB,gBAAAP;AAAA,kBAAC;AAAA,kBAAA;AAAA,oBACC,WAAU;AAAA,oBACV,OAAO;AAAA,sBACL,iBAAiBuB,EAAK;AAAA,oBAAA;AAAA,kBACxB;AAAA,gBAAA;AAAA,gBAGHhB,GAAY;AAAA,cAAA;AAAA,YAAA;AAAA,YAfRgB,EAAK;AAAA,UAAA;AAAA,QAkBhB,CAAC;AAAA,MAAA;AAAA,IAAA,IApCI;AAAA,EAuCX;AACF;AACAQ,EAAmB,cAAc;AAGjC,SAASP,EACP/B,GACAmB,GACAN,GACA;AACA,MAAI,OAAOM,KAAY,YAAYA,MAAY;AAC7C;AAGF,QAAMsB,IACJ,aAAatB,KACb,OAAOA,EAAQ,WAAY,YAC3BA,EAAQ,YAAY,OAChBA,EAAQ,UACR;AAEN,MAAIuB,IAAyB7B;AAE7B,SACEA,KAAOM,KACP,OAAOA,EAAQN,CAA2B,KAAM,WAEhD6B,IAAiBvB,EAAQN,CAA2B,IAEpD4B,KACA5B,KAAO4B,KACP,OAAOA,EAAe5B,CAAkC,KAAM,aAE9D6B,IAAiBD,EACf5B,CACF,IAGK6B,KAAkB1C,IACrBA,EAAO0C,CAAc,IACrB1C,EAAOa,CAA0B;AACvC;"}
@@ -4,6 +4,7 @@ import { MinusIcon as m, CheckIcon as h } from "lucide-react";
4
4
  import * as n from "react";
5
5
  import { cn as o } from "@oneplatformdev/utils";
6
6
  import { Label as p } from "../Label/Label.js";
7
+ import "../Label/labelVariants.js";
7
8
  const d = n.forwardRef(({ className: s, checked: a, indeterminate: e, ...r }, i) => {
8
9
  const f = e ? m : h;
9
10
  return /* @__PURE__ */ t(
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../src/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client';\r\n\r\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\r\nimport { CheckIcon, MinusIcon } from 'lucide-react';\r\nimport * as React from 'react';\r\n\r\nimport { cn } from '@oneplatformdev/utils';\r\nimport type { CheckboxLabelProps, CheckboxProps } from './Checkbox.types';\r\n\r\nimport { Label } from '../Label';\r\n\r\nconst Checkbox = React.forwardRef<\r\n\tReact.ElementRef<typeof CheckboxPrimitive.Root>,\r\n\tCheckboxProps\r\n>(({ className, checked, indeterminate, ...props }, ref) => {\r\n\tconst Icon = indeterminate ? MinusIcon : CheckIcon;\r\n\treturn (\r\n\t\t<CheckboxPrimitive.Root\r\n\t\t\tref={ref}\r\n\t\t\tclassName={cn(\r\n\t\t\t\t\"peer size-5 shrink-0 rounded-sm\",\r\n 'shadow-none border',\r\n 'border-[#666A78] data-[state=checked]:border-[#9368FF]',\r\n 'bg-transparent data-[state=checked]:bg-[#9368FF]',\r\n 'bg-transparent data-[state=checked]:bg-[#9368FF] data-[state=checked]:text-[#fff]!',\r\n 'focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring',\r\n 'disabled:cursor-not-allowed disabled:opacity-50',\r\n\t\t\t\tclassName\r\n\t\t\t)}\r\n\t\t\t{...props}\r\n\t\t\tchecked={checked ?? indeterminate}\r\n\t\t>\r\n\t\t\t<CheckboxPrimitive.Indicator className={cn(\"flex items-center justify-center\")}>\r\n <Icon className=\"size-4 fill-[#9368FF] text-[#fff]!\" strokeWidth={2} />\r\n\t\t\t</CheckboxPrimitive.Indicator>\r\n\t\t</CheckboxPrimitive.Root>\r\n\t);\r\n});\r\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\r\n\r\nconst CheckboxLabel = React.forwardRef<\r\n\tHTMLLabelElement,\r\n\tCheckboxLabelProps\r\n>(({ label, children, labelProps, ...rest }, ref) => {\r\n\treturn (\r\n\t\t<Label\r\n\t\t\tref={ref}\r\n\t\t\t{...labelProps}\r\n className={cn(\r\n 'flex w-fit items-start gap-2 py-2 pl-1',\r\n 'text-[#06080D] text-md font-medium',\r\n 'cursor-pointer',\r\n labelProps?.className,\r\n )}\r\n\t\t\tstyle={labelProps?.style}\r\n\t\t>\r\n <div className='size-6 aspect-square flex items-center justify-center shrink-0'>\r\n <Checkbox {...rest} />\r\n </div>\r\n <div className='flex flex-col w-fit gap-3'>\r\n <span className='inline-flex w-fit flex-col justify-start leading-[24px]'>{label}</span>\r\n {children}\r\n </div>\r\n\t\t</Label>\r\n\t);\r\n});\r\nCheckboxLabel.displayName = 'CheckboxLabel';\r\n\r\nexport { Checkbox, CheckboxLabel };\r\n"],"names":["Checkbox","React","className","checked","indeterminate","props","ref","Icon","MinusIcon","CheckIcon","jsx","CheckboxPrimitive","cn","CheckboxLabel","label","children","labelProps","rest","jsxs","Label"],"mappings":";;;;;;AAWA,MAAMA,IAAWC,EAAM,WAGrB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,eAAAC,GAAe,GAAGC,EAAA,GAASC,MAAQ;AAC3D,QAAMC,IAAOH,IAAgBI,IAAYC;AACzC,SACC,gBAAAC;AAAA,IAACC,EAAkB;AAAA,IAAlB;AAAA,MACA,KAAAL;AAAA,MACA,WAAWM;AAAA,QACV;AAAA,QACI;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACJV;AAAA,MAAA;AAAA,MAEA,GAAGG;AAAA,MACJ,SAASF,KAAWC;AAAA,MAEpB,UAAA,gBAAAM,EAACC,EAAkB,WAAlB,EAA4B,WAAWC,EAAG,kCAAkC,GACxE,UAAA,gBAAAF,EAACH,GAAA,EAAK,WAAU,sCAAqC,aAAa,GAAG,EAAA,CAC1E;AAAA,IAAA;AAAA,EAAA;AAGH,CAAC;AACDP,EAAS,cAAcW,EAAkB,KAAK;AAE9C,MAAME,IAAgBZ,EAAM,WAG1B,CAAC,EAAE,OAAAa,GAAO,UAAAC,GAAU,YAAAC,GAAY,GAAGC,EAAA,GAAQX,MAE3C,gBAAAY;AAAA,EAACC;AAAA,EAAA;AAAA,IACA,KAAAb;AAAA,IACC,GAAGU;AAAA,IACD,WAAWJ;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACAI,GAAY;AAAA,IAAA;AAAA,IAEjB,OAAOA,GAAY;AAAA,IAEhB,UAAA;AAAA,MAAA,gBAAAN,EAAC,SAAI,WAAU,kEACb,4BAACV,GAAA,EAAU,GAAGiB,GAAM,EAAA,CACtB;AAAA,MACA,gBAAAC,EAAC,OAAA,EAAI,WAAU,6BACb,UAAA;AAAA,QAAA,gBAAAR,EAAC,QAAA,EAAK,WAAU,2DAA2D,UAAAI,GAAM;AAAA,QAChFC;AAAA,MAAA,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAAA,CAGL;AACDF,EAAc,cAAc;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../src/Checkbox/Checkbox.tsx"],"sourcesContent":["'use client';\n\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { CheckIcon, MinusIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@oneplatformdev/utils';\nimport type { CheckboxLabelProps, CheckboxProps } from './Checkbox.types';\n\nimport { Label } from '../Label';\n\nconst Checkbox = React.forwardRef<\n\tReact.ElementRef<typeof CheckboxPrimitive.Root>,\n\tCheckboxProps\n>(({ className, checked, indeterminate, ...props }, ref) => {\n\tconst Icon = indeterminate ? MinusIcon : CheckIcon;\n\treturn (\n\t\t<CheckboxPrimitive.Root\n\t\t\tref={ref}\n\t\t\tclassName={cn(\n\t\t\t\t\"peer size-5 shrink-0 rounded-sm\",\n 'shadow-none border',\n 'border-[#666A78] data-[state=checked]:border-[#9368FF]',\n 'bg-transparent data-[state=checked]:bg-[#9368FF]',\n 'bg-transparent data-[state=checked]:bg-[#9368FF] data-[state=checked]:text-[#fff]!',\n 'focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t\tchecked={checked ?? indeterminate}\n\t\t>\n\t\t\t<CheckboxPrimitive.Indicator className={cn(\"flex items-center justify-center\")}>\n <Icon className=\"size-4 fill-[#9368FF] text-[#fff]!\" strokeWidth={2} />\n\t\t\t</CheckboxPrimitive.Indicator>\n\t\t</CheckboxPrimitive.Root>\n\t);\n});\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nconst CheckboxLabel = React.forwardRef<\n\tHTMLLabelElement,\n\tCheckboxLabelProps\n>(({ label, children, labelProps, ...rest }, ref) => {\n\treturn (\n\t\t<Label\n\t\t\tref={ref}\n\t\t\t{...labelProps}\n className={cn(\n 'flex w-fit items-start gap-2 py-2 pl-1',\n 'text-[#06080D] text-md font-medium',\n 'cursor-pointer',\n labelProps?.className,\n )}\n\t\t\tstyle={labelProps?.style}\n\t\t>\n <div className='size-6 aspect-square flex items-center justify-center shrink-0'>\n <Checkbox {...rest} />\n </div>\n <div className='flex flex-col w-fit gap-3'>\n <span className='inline-flex w-fit flex-col justify-start leading-[24px]'>{label}</span>\n {children}\n </div>\n\t\t</Label>\n\t);\n});\nCheckboxLabel.displayName = 'CheckboxLabel';\n\nexport { Checkbox, CheckboxLabel };\n"],"names":["Checkbox","React","className","checked","indeterminate","props","ref","Icon","MinusIcon","CheckIcon","jsx","CheckboxPrimitive","cn","CheckboxLabel","label","children","labelProps","rest","jsxs","Label"],"mappings":";;;;;;;AAWA,MAAMA,IAAWC,EAAM,WAGrB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,eAAAC,GAAe,GAAGC,EAAA,GAASC,MAAQ;AAC3D,QAAMC,IAAOH,IAAgBI,IAAYC;AACzC,SACC,gBAAAC;AAAA,IAACC,EAAkB;AAAA,IAAlB;AAAA,MACA,KAAAL;AAAA,MACA,WAAWM;AAAA,QACV;AAAA,QACI;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACJV;AAAA,MAAA;AAAA,MAEA,GAAGG;AAAA,MACJ,SAASF,KAAWC;AAAA,MAEpB,UAAA,gBAAAM,EAACC,EAAkB,WAAlB,EAA4B,WAAWC,EAAG,kCAAkC,GACxE,UAAA,gBAAAF,EAACH,GAAA,EAAK,WAAU,sCAAqC,aAAa,GAAG,EAAA,CAC1E;AAAA,IAAA;AAAA,EAAA;AAGH,CAAC;AACDP,EAAS,cAAcW,EAAkB,KAAK;AAE9C,MAAME,IAAgBZ,EAAM,WAG1B,CAAC,EAAE,OAAAa,GAAO,UAAAC,GAAU,YAAAC,GAAY,GAAGC,EAAA,GAAQX,MAE3C,gBAAAY;AAAA,EAACC;AAAA,EAAA;AAAA,IACA,KAAAb;AAAA,IACC,GAAGU;AAAA,IACD,WAAWJ;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACAI,GAAY;AAAA,IAAA;AAAA,IAEjB,OAAOA,GAAY;AAAA,IAEhB,UAAA;AAAA,MAAA,gBAAAN,EAAC,SAAI,WAAU,kEACb,4BAACV,GAAA,EAAU,GAAGiB,GAAM,EAAA,CACtB;AAAA,MACA,gBAAAC,EAAC,OAAA,EAAI,WAAU,6BACb,UAAA;AAAA,QAAA,gBAAAR,EAAC,QAAA,EAAK,WAAU,2DAA2D,UAAAI,GAAM;AAAA,QAChFC;AAAA,MAAA,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAAA,CAGL;AACDF,EAAc,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.stories.js","sources":["../../src/Checkbox/Checkbox.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react';\r\nimport React from 'react';\r\nimport type { CheckedState } from '@radix-ui/react-checkbox';\r\n\r\nimport { Checkbox, CheckboxLabel } from './Checkbox';\r\n\r\nfunction ControlledCheckbox(props: React.ComponentProps<typeof Checkbox>) {\r\n const {\r\n checked: checkedProp,\r\n indeterminate: indeterminateProp,\r\n onCheckedChange,\r\n ...rest\r\n } = props;\r\n\r\n const [checked, setChecked] = React.useState<CheckedState>(checkedProp ?? false);\r\n const [indeterminate, setIndeterminate] = React.useState<boolean>(Boolean(indeterminateProp));\r\n\r\n // sync from Storybook controls\r\n React.useEffect(() => {\r\n setChecked(checkedProp ?? false);\r\n }, [checkedProp]);\r\n\r\n React.useEffect(() => {\r\n setIndeterminate(Boolean(indeterminateProp));\r\n }, [indeterminateProp]);\r\n\r\n const handleCheckedChange = (v: CheckedState) => {\r\n setChecked(v);\r\n\r\n // якщо прийшло indeterminate зі сторони Radix — підсвічуємо іконку мінуса\r\n if (v === 'indeterminate') setIndeterminate(true);\r\n\r\n onCheckedChange?.(v);\r\n };\r\n\r\n return (\r\n <Checkbox\r\n {...rest}\r\n checked={checked}\r\n indeterminate={indeterminate}\r\n onCheckedChange={handleCheckedChange}\r\n />\r\n );\r\n}\r\n\r\nfunction ControlledCheckboxLabel(props: React.ComponentProps<typeof CheckboxLabel>) {\r\n const {\r\n checked: checkedProp,\r\n indeterminate: indeterminateProp,\r\n onCheckedChange,\r\n ...rest\r\n } = props;\r\n\r\n const [checked, setChecked] = React.useState<CheckedState>(checkedProp ?? false);\r\n const [indeterminate, setIndeterminate] = React.useState<boolean>(Boolean(indeterminateProp));\r\n\r\n React.useEffect(() => {\r\n setChecked(checkedProp ?? false);\r\n }, [checkedProp]);\r\n\r\n React.useEffect(() => {\r\n setIndeterminate(Boolean(indeterminateProp));\r\n }, [indeterminateProp]);\r\n\r\n const handleCheckedChange = (v: CheckedState) => {\r\n setChecked(v);\r\n if (v === 'indeterminate') setIndeterminate(true);\r\n onCheckedChange?.(v);\r\n };\r\n\r\n return (\r\n <CheckboxLabel\r\n {...rest}\r\n checked={checked}\r\n indeterminate={indeterminate}\r\n onCheckedChange={handleCheckedChange}\r\n />\r\n );\r\n}\r\n\r\nconst meta: Meta<typeof Checkbox> = {\r\n title: 'Input/Checkbox',\r\n component: Checkbox,\r\n subcomponents: { CheckboxLabel },\r\n parameters: { layout: 'centered' },\r\n tags: ['autodocs'],\r\n args: {\r\n checked: false,\r\n indeterminate: false,\r\n disabled: false,\r\n },\r\n argTypes: {\r\n checked: { control: 'boolean' },\r\n indeterminate: { control: 'boolean' },\r\n disabled: { control: 'boolean' },\r\n className: { control: 'text' },\r\n },\r\n};\r\n\r\nexport default meta;\r\n\r\ntype Story = StoryObj<typeof Checkbox>;\r\n\r\nexport const Default: Story = {\r\n render: (args) => <ControlledCheckbox {...args} />,\r\n};\r\n\r\nexport const Indeterminate: Story = {\r\n args: { checked: false, indeterminate: true },\r\n render: (args) => <ControlledCheckbox {...args} />,\r\n};\r\n\r\nexport const Disabled: Story = {\r\n args: { disabled: true },\r\n render: (args) => <ControlledCheckbox {...args} />,\r\n};\r\n\r\nexport const Label: StoryObj<typeof CheckboxLabel> = {\r\n name: 'CheckboxLabel / Default',\r\n args: {\r\n label: 'Погоджуюсь з умовами',\r\n checked: false,\r\n indeterminate: false,\r\n disabled: false,\r\n },\r\n argTypes: {\r\n label: { control: 'text' },\r\n checked: { control: 'boolean' },\r\n indeterminate: { control: 'boolean' },\r\n disabled: { control: 'boolean' },\r\n },\r\n render: (args) => (\r\n <div style={{ width: 520 }}>\r\n <ControlledCheckboxLabel {...args} />\r\n </div>\r\n ),\r\n};\r\n\r\nexport const LabelWithDescription: StoryObj<typeof CheckboxLabel> = {\r\n name: 'CheckboxLabel / With description',\r\n args: {\r\n label: 'Отримувати новини на email',\r\n checked: true,\r\n indeterminate: false,\r\n disabled: false,\r\n },\r\n render: (args) => (\r\n <div style={{ width: 520 }}>\r\n <ControlledCheckboxLabel {...args}>\r\n <span style={{ fontSize: 14, opacity: 0.75 }}>\r\n Можна відписатися будь-коли в налаштуваннях профілю.\r\n </span>\r\n </ControlledCheckboxLabel>\r\n </div>\r\n ),\r\n};\r\n"],"names":["ControlledCheckbox","props","checkedProp","indeterminateProp","onCheckedChange","rest","checked","setChecked","React","indeterminate","setIndeterminate","jsx","Checkbox","v","ControlledCheckboxLabel","CheckboxLabel","meta","Default","args","Indeterminate","Disabled","Label","LabelWithDescription"],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.stories.js","sources":["../../src/Checkbox/Checkbox.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react';\nimport React from 'react';\nimport type { CheckedState } from '@radix-ui/react-checkbox';\n\nimport { Checkbox, CheckboxLabel } from './Checkbox';\n\nfunction ControlledCheckbox(props: React.ComponentProps<typeof Checkbox>) {\n const {\n checked: checkedProp,\n indeterminate: indeterminateProp,\n onCheckedChange,\n ...rest\n } = props;\n\n const [checked, setChecked] = React.useState<CheckedState>(checkedProp ?? false);\n const [indeterminate, setIndeterminate] = React.useState<boolean>(Boolean(indeterminateProp));\n\n // sync from Storybook controls\n React.useEffect(() => {\n setChecked(checkedProp ?? false);\n }, [checkedProp]);\n\n React.useEffect(() => {\n setIndeterminate(Boolean(indeterminateProp));\n }, [indeterminateProp]);\n\n const handleCheckedChange = (v: CheckedState) => {\n setChecked(v);\n\n // якщо прийшло indeterminate зі сторони Radix — підсвічуємо іконку мінуса\n if (v === 'indeterminate') setIndeterminate(true);\n\n onCheckedChange?.(v);\n };\n\n return (\n <Checkbox\n {...rest}\n checked={checked}\n indeterminate={indeterminate}\n onCheckedChange={handleCheckedChange}\n />\n );\n}\n\nfunction ControlledCheckboxLabel(props: React.ComponentProps<typeof CheckboxLabel>) {\n const {\n checked: checkedProp,\n indeterminate: indeterminateProp,\n onCheckedChange,\n ...rest\n } = props;\n\n const [checked, setChecked] = React.useState<CheckedState>(checkedProp ?? false);\n const [indeterminate, setIndeterminate] = React.useState<boolean>(Boolean(indeterminateProp));\n\n React.useEffect(() => {\n setChecked(checkedProp ?? false);\n }, [checkedProp]);\n\n React.useEffect(() => {\n setIndeterminate(Boolean(indeterminateProp));\n }, [indeterminateProp]);\n\n const handleCheckedChange = (v: CheckedState) => {\n setChecked(v);\n if (v === 'indeterminate') setIndeterminate(true);\n onCheckedChange?.(v);\n };\n\n return (\n <CheckboxLabel\n {...rest}\n checked={checked}\n indeterminate={indeterminate}\n onCheckedChange={handleCheckedChange}\n />\n );\n}\n\nconst meta: Meta<typeof Checkbox> = {\n title: 'Input/Checkbox',\n component: Checkbox,\n subcomponents: { CheckboxLabel },\n parameters: { layout: 'centered' },\n tags: ['autodocs'],\n args: {\n checked: false,\n indeterminate: false,\n disabled: false,\n },\n argTypes: {\n checked: { control: 'boolean' },\n indeterminate: { control: 'boolean' },\n disabled: { control: 'boolean' },\n className: { control: 'text' },\n },\n};\n\nexport default meta;\n\ntype Story = StoryObj<typeof Checkbox>;\n\nexport const Default: Story = {\n render: (args) => <ControlledCheckbox {...args} />,\n};\n\nexport const Indeterminate: Story = {\n args: { checked: false, indeterminate: true },\n render: (args) => <ControlledCheckbox {...args} />,\n};\n\nexport const Disabled: Story = {\n args: { disabled: true },\n render: (args) => <ControlledCheckbox {...args} />,\n};\n\nexport const Label: StoryObj<typeof CheckboxLabel> = {\n name: 'CheckboxLabel / Default',\n args: {\n label: 'Погоджуюсь з умовами',\n checked: false,\n indeterminate: false,\n disabled: false,\n },\n argTypes: {\n label: { control: 'text' },\n checked: { control: 'boolean' },\n indeterminate: { control: 'boolean' },\n disabled: { control: 'boolean' },\n },\n render: (args) => (\n <div style={{ width: 520 }}>\n <ControlledCheckboxLabel {...args} />\n </div>\n ),\n};\n\nexport const LabelWithDescription: StoryObj<typeof CheckboxLabel> = {\n name: 'CheckboxLabel / With description',\n args: {\n label: 'Отримувати новини на email',\n checked: true,\n indeterminate: false,\n disabled: false,\n },\n render: (args) => (\n <div style={{ width: 520 }}>\n <ControlledCheckboxLabel {...args}>\n <span style={{ fontSize: 14, opacity: 0.75 }}>\n Можна відписатися будь-коли в налаштуваннях профілю.\n </span>\n </ControlledCheckboxLabel>\n </div>\n ),\n};\n"],"names":["ControlledCheckbox","props","checkedProp","indeterminateProp","onCheckedChange","rest","checked","setChecked","React","indeterminate","setIndeterminate","jsx","Checkbox","v","ControlledCheckboxLabel","CheckboxLabel","meta","Default","args","Indeterminate","Disabled","Label","LabelWithDescription"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Collapsible.js","sources":["../../src/Collapsible/Collapsible.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\r\n\r\nconst Collapsible = CollapsiblePrimitive.Root\r\n\r\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\r\n\r\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\r\n\r\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\r\n"],"names":["Collapsible","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent"],"mappings":";AAIA,MAAMA,IAAcC,EAAqB,MAEnCC,IAAqBD,EAAqB,oBAE1CE,IAAqBF,EAAqB;"}
1
+ {"version":3,"file":"Collapsible.js","sources":["../../src/Collapsible/Collapsible.tsx"],"sourcesContent":["\"use client\"\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\n\nconst Collapsible = CollapsiblePrimitive.Root\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n"],"names":["Collapsible","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent"],"mappings":";AAIA,MAAMA,IAAcC,EAAqB,MAEnCC,IAAqBD,EAAqB,oBAE1CE,IAAqBF,EAAqB;"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as q, jsxs as be } from "react/jsx-runtime";
2
2
  import { useState as d, useCallback as u, useEffect as $, useRef as J, useMemo as H, useImperativeHandle as Ce, useLayoutEffect as Me } from "react";
3
- import { useDebounceCallback as Ae } from "@oneplatformdev/hooks";
4
- import { DEFAULT_COMBOBOX_TYPE as xe } from "./Combobox.types.js";
5
- import { ComboboxRenderTrigger as Le } from "./ComboboxRenderTrigger.js";
6
- import { ComboboxRenderContent as Re } from "./ComboboxRenderContent.js";
7
- import { Popover as Ee } from "../Popover/Popover.js";
8
- function Be(o) {
3
+ import { Popover as Ae } from "../Popover/Popover.js";
4
+ import { useDebounceCallback as xe } from "@oneplatformdev/hooks";
5
+ import { DEFAULT_COMBOBOX_TYPE as Le } from "./Combobox.types.js";
6
+ import { ComboboxRenderTrigger as Re } from "./ComboboxRenderTrigger.js";
7
+ import { ComboboxRenderContent as Ee } from "./ComboboxRenderContent.js";
8
+ function Fe(o) {
9
9
  const {
10
10
  value: f,
11
11
  options: N,
@@ -13,7 +13,7 @@ function Be(o) {
13
13
  disabled: K,
14
14
  searchLabel: Q,
15
15
  emptyLabel: W,
16
- loadData: y,
16
+ loadData: p,
17
17
  renderTrigger: Z,
18
18
  commandInputAction: ee,
19
19
  renderList: te,
@@ -24,20 +24,20 @@ function Be(o) {
24
24
  defaultNodeOpen: ae,
25
25
  defaultNodeDisabled: se,
26
26
  defaultNodeMatched: ce,
27
- defaultNodeMuted: ie,
28
- defaultNodeInteractive: le,
27
+ defaultNodeMuted: le,
28
+ defaultNodeInteractive: ie,
29
29
  forcePointerSelect: ue
30
- } = o, v = o.type ?? xe, [fe, z] = d(!1), [h, b] = d(!1), [k, A] = d(!1), [C, x] = d(!1), [g, L] = d(""), [S, O] = d(/* @__PURE__ */ new Map()), [p, de] = d([]), [he, me] = d([]), M = u((t) => {
30
+ } = o, v = o.type ?? Le, [fe, z] = d(!1), [h, b] = d(!1), [k, A] = d(!1), [C, x] = d(!1), [g, L] = d(""), [S, O] = d(/* @__PURE__ */ new Map()), [y, de] = d([]), [he, me] = d([]), M = u((t) => {
31
31
  const r = (e) => {
32
32
  const n = [], s = (c) => {
33
33
  if (c)
34
- for (const l of c)
35
- n.push(l), l.items && l.items.length && s(l.items);
34
+ for (const i of c)
35
+ n.push(i), i.items && i.items.length && s(i.items);
36
36
  };
37
37
  s(e), me((c) => {
38
38
  if (!n.find((a) => !!f && String(a.value) === String(f))) {
39
- const i = ((S.size ? Array.from(S.values()) : void 0) || c).find((j) => !!f && String(j.value) === String(f));
40
- if (i) return [i, ...n];
39
+ const l = ((S.size ? Array.from(S.values()) : void 0) || c).find((j) => !!f && String(j.value) === String(f));
40
+ if (l) return [l, ...n];
41
41
  }
42
42
  return n;
43
43
  });
@@ -45,16 +45,16 @@ function Be(o) {
45
45
  de((e) => {
46
46
  const n = typeof t == "function" ? t(e) : t;
47
47
  return r(n), O((s) => {
48
- const c = new Map(s), l = Array.isArray(f) ? f : [f];
49
- for (const a of l) {
48
+ const c = new Map(s), i = Array.isArray(f) ? f : [f];
49
+ for (const a of i) {
50
50
  if (!a || c.has(a)) continue;
51
- const i = n.find((j) => String(j.value).toLowerCase() === String(a).toLowerCase());
52
- i && c.set(i.value, i);
51
+ const l = n.find((j) => String(j.value).toLowerCase() === String(a).toLowerCase());
52
+ l && c.set(l.value, l);
53
53
  }
54
54
  return c;
55
55
  }), n;
56
56
  });
57
- }, [S, f]), [ge, G] = d(0), [F, V] = d(0), B = F < ge;
57
+ }, [S, f]), [ge, G] = d(0), [B, V] = d(0), F = B < ge;
58
58
  $(() => {
59
59
  N?.length && M(N);
60
60
  }, [N]);
@@ -64,7 +64,7 @@ function Be(o) {
64
64
  return R.current = t, { id: w.current, signal: t.signal };
65
65
  }, []);
66
66
  $(() => () => R.current?.abort(), []);
67
- const X = H(() => !!g && !p.length && !h, [h, p.length, g]), U = H(() => !p.length && !h, [h, p.length, g]), I = u((t) => {
67
+ const X = H(() => !!g && !y.length && !h, [h, y.length, g]), U = H(() => !y.length && !h, [h, y.length, g]), I = u((t) => {
68
68
  o.type === "single" && (O((r) => {
69
69
  let e = new Map(r);
70
70
  const n = e.has(t.value);
@@ -75,7 +75,7 @@ function Be(o) {
75
75
  });
76
76
  }, [o.type, o.onChange]), m = H(() => {
77
77
  const t = {
78
- options: p,
78
+ options: y,
79
79
  setOptions: M,
80
80
  search: g || "",
81
81
  setSearch: L,
@@ -91,28 +91,28 @@ function Be(o) {
91
91
  if (v === "multi")
92
92
  return { ...t, type: "multi", selectedOption: r, setSelectedOption: (s) => {
93
93
  O((c) => {
94
- const l = Array.from(c.values()), a = typeof s == "function" ? s(l) : s;
95
- return a ? new Map(a.map((i) => [i.value, i])) : /* @__PURE__ */ new Map();
94
+ const i = Array.from(c.values()), a = typeof s == "function" ? s(i) : s;
95
+ return a ? new Map(a.map((l) => [l.value, l])) : /* @__PURE__ */ new Map();
96
96
  });
97
97
  } };
98
98
  if (v === "single") {
99
99
  const e = r[0];
100
100
  return { ...t, type: "single", selectedOption: e, setSelectedOption: (s) => {
101
101
  O((c) => {
102
- const [l] = Array.from(c.values()), a = typeof s == "function" ? s(l) : s, i = /* @__PURE__ */ new Map();
103
- return a && i.set(a.value, a), i;
102
+ const [i] = Array.from(c.values()), a = typeof s == "function" ? s(i) : s, l = /* @__PURE__ */ new Map();
103
+ return a && l.set(a.value, a), l;
104
104
  });
105
105
  } };
106
106
  }
107
107
  throw new Error(`Combobox type ${v} is not supported`);
108
- }, [T, h, C, p, g, S, U, X, M, I, o.type]);
108
+ }, [T, h, C, y, g, S, U, X, M, I, o.type]);
109
109
  Ce(o.imperativeRef, () => m, [m]);
110
110
  const D = u(async (t, r) => {
111
- const e = await y(t, r, m);
111
+ const e = await p(t, r, m);
112
112
  if (!e) throw new Error("Expected loadData to return data");
113
113
  return Array.isArray(e) ? { data: e, total: e.length } : e;
114
- }, [y, m]), _ = u(async (t = "") => {
115
- if (!y) return;
114
+ }, [p, m]), _ = u(async (t = "") => {
115
+ if (!p) return;
116
116
  const { id: r, signal: e } = E();
117
117
  try {
118
118
  b(!0), A(!1);
@@ -124,13 +124,13 @@ function Be(o) {
124
124
  } finally {
125
125
  r === w.current && b(!1);
126
126
  }
127
- }, [E, D, y]), pe = u(async () => {
128
- if (!y || !B || h || k) return;
127
+ }, [E, D, p]), ye = u(async () => {
128
+ if (!p || !F || h || k) return;
129
129
  const { id: t, signal: r } = E();
130
130
  try {
131
131
  A(!0);
132
132
  const e = await D(
133
- { search: g, offset: F },
133
+ { search: g, offset: B },
134
134
  r
135
135
  );
136
136
  M((n) => [...n, ...e.data]), G(e.total), V((n) => n + e.data.length);
@@ -139,19 +139,20 @@ function Be(o) {
139
139
  } finally {
140
140
  t === w.current && A(!1);
141
141
  }
142
- }, [E, D, B, y, h, k, F, g]), ye = Ae(_, 600, {
142
+ }, [E, D, F, p, h, k, B, g]), pe = xe(_, 600, {
143
143
  leading: !1,
144
144
  trailing: !0
145
145
  }), ve = u((t) => {
146
- b(!0), L(t), ye(t);
146
+ b(!0), L(t), pe(t);
147
147
  }, []), Se = u(() => {
148
148
  o.onChange(void 0), O(/* @__PURE__ */ new Map()), x(!1);
149
149
  }, [o.onChange]), Y = u(() => {
150
150
  R.current?.abort(), w.current += 1, L(""), b(!1), A(!1);
151
151
  }, []), Oe = u(async (t) => {
152
- if (x(t), !t) return Y();
152
+ if (x(t), !t)
153
+ return o.onBlur?.(), Y();
153
154
  _(), L("");
154
- }, [Y, _]), we = u(async () => {
155
+ }, [Y, _, o.onBlur]), we = u(async () => {
155
156
  if (o.onMount) {
156
157
  z(!0);
157
158
  try {
@@ -164,14 +165,14 @@ function Be(o) {
164
165
  return Me(() => {
165
166
  we();
166
167
  }, []), /* @__PURE__ */ q("div", { className: "w-full", children: /* @__PURE__ */ be(
167
- Ee,
168
+ Ae,
168
169
  {
169
170
  open: C,
170
171
  onOpenChange: Oe,
171
172
  modal: P?.popover?.modal,
172
173
  children: [
173
174
  /* @__PURE__ */ q(
174
- Le,
175
+ Re,
175
176
  {
176
177
  value: f,
177
178
  type: v,
@@ -188,17 +189,17 @@ function Be(o) {
188
189
  }
189
190
  ),
190
191
  /* @__PURE__ */ q(
191
- Re,
192
+ Ee,
192
193
  {
193
194
  open: C,
194
195
  value: f,
195
196
  type: v,
196
- options: p,
197
+ options: y,
197
198
  search: g,
198
199
  onSearch: ve,
199
200
  onSelect: I,
200
- onLoadMore: pe,
201
- hasNext: B,
201
+ onLoadMore: ye,
202
+ hasNext: F,
202
203
  loading: h,
203
204
  loadingMore: k,
204
205
  isEmptyList: U,
@@ -214,8 +215,8 @@ function Be(o) {
214
215
  defaultNodeOpen: ae,
215
216
  defaultNodeDisabled: se,
216
217
  defaultNodeMatched: ce,
217
- defaultNodeMuted: ie,
218
- defaultNodeInteractive: le,
218
+ defaultNodeMuted: le,
219
+ defaultNodeInteractive: ie,
219
220
  forcePointerSelect: ue,
220
221
  popoverContainer: P?.popover?.container
221
222
  }
@@ -225,6 +226,6 @@ function Be(o) {
225
226
  ) });
226
227
  }
227
228
  export {
228
- Be as Combobox
229
+ Fe as Combobox
229
230
  };
230
231
  //# sourceMappingURL=Combobox.js.map