@oneplatformdev/ui 0.1.99-beta.20 → 0.1.99-beta.201

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 (266) hide show
  1. package/.storybook/Wrappers.js.map +1 -1
  2. package/Accordion/Accordion.d.ts +1 -1
  3. package/Accordion/Accordion.d.ts.map +1 -1
  4. package/Accordion/Accordion.js +48 -26
  5. package/Accordion/Accordion.js.map +1 -1
  6. package/Alert/Alert.js.map +1 -1
  7. package/Alert/alertVariants.js.map +1 -1
  8. package/AlertDialog/AlertDialog.js.map +1 -1
  9. package/AlertDialog/AlertDialog.stories.js +2 -3
  10. package/AlertDialog/AlertDialog.stories.js.map +1 -1
  11. package/AlertDialog/AlertDialogRoot.d.ts.map +1 -1
  12. package/AlertDialog/AlertDialogRoot.js +23 -23
  13. package/AlertDialog/AlertDialogRoot.js.map +1 -1
  14. package/AreaChart/AreaChart.js.map +1 -1
  15. package/Aside/Aside.js.map +1 -1
  16. package/Aside/AsideSidebar.js.map +1 -1
  17. package/AspectRatio/AspectRatio.js.map +1 -1
  18. package/Avatar/Avatar.js.map +1 -1
  19. package/Badge/Badge.js.map +1 -1
  20. package/Badge/badgeVariants.js.map +1 -1
  21. package/Breadcrumb/Breadcrumb.js.map +1 -1
  22. package/Button/Button.d.ts.map +1 -1
  23. package/Button/Button.js +40 -41
  24. package/Button/Button.js.map +1 -1
  25. package/Button/Button.stories.js.map +1 -1
  26. package/Button/Button.utils.d.ts +3 -0
  27. package/Button/Button.utils.d.ts.map +1 -0
  28. package/Button/Button.utils.js +14 -0
  29. package/Button/Button.utils.js.map +1 -0
  30. package/Button/ButtonCounterBadge.js.map +1 -1
  31. package/Button/buttonVariants.d.ts.map +1 -1
  32. package/Button/buttonVariants.js +2 -1
  33. package/Button/buttonVariants.js.map +1 -1
  34. package/Button/index.d.ts +1 -0
  35. package/Button/index.d.ts.map +1 -1
  36. package/Button/index.js +8 -6
  37. package/Button/index.js.map +1 -1
  38. package/ButtonIcon/ButtonIcon.d.ts.map +1 -1
  39. package/ButtonIcon/ButtonIcon.js +49 -50
  40. package/ButtonIcon/ButtonIcon.js.map +1 -1
  41. package/ButtonIcon/ButtonIcon.stories.js +35 -33
  42. package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
  43. package/ButtonIcon/buttonIconVariants.d.ts.map +1 -1
  44. package/ButtonIcon/buttonIconVariants.js +3 -2
  45. package/ButtonIcon/buttonIconVariants.js.map +1 -1
  46. package/CHANGELOG.md +2674 -1802
  47. package/Calendar/Calendar.js +0 -1
  48. package/Calendar/Calendar.js.map +1 -1
  49. package/Card/Card.js.map +1 -1
  50. package/Carousel/Carousel.js +6 -7
  51. package/Carousel/Carousel.js.map +1 -1
  52. package/Chart/Chart.js.map +1 -1
  53. package/Checkbox/Checkbox.d.ts.map +1 -1
  54. package/Checkbox/Checkbox.js +34 -33
  55. package/Checkbox/Checkbox.js.map +1 -1
  56. package/Checkbox/Checkbox.stories.js +108 -0
  57. package/Checkbox/Checkbox.stories.js.map +1 -0
  58. package/Collapsible/Collapsible.js.map +1 -1
  59. package/Combobox/Combobox.d.ts +1 -1
  60. package/Combobox/Combobox.d.ts.map +1 -1
  61. package/Combobox/Combobox.js +205 -192
  62. package/Combobox/Combobox.js.map +1 -1
  63. package/Combobox/Combobox.stories.js +212 -0
  64. package/Combobox/Combobox.stories.js.map +1 -0
  65. package/Combobox/Combobox.types.d.ts +34 -19
  66. package/Combobox/Combobox.types.d.ts.map +1 -1
  67. package/Combobox/ComboboxOptionItem.d.ts +4 -3
  68. package/Combobox/ComboboxOptionItem.d.ts.map +1 -1
  69. package/Combobox/ComboboxOptionItem.js +49 -22
  70. package/Combobox/ComboboxOptionItem.js.map +1 -1
  71. package/Combobox/ComboboxOptions.d.ts +2 -2
  72. package/Combobox/ComboboxOptions.d.ts.map +1 -1
  73. package/Combobox/ComboboxOptions.js +48 -49
  74. package/Combobox/ComboboxOptions.js.map +1 -1
  75. package/Command/Command.d.ts +6 -1
  76. package/Command/Command.d.ts.map +1 -1
  77. package/Command/Command.js +61 -47
  78. package/Command/Command.js.map +1 -1
  79. package/DataTable/DataTable.js +12 -13
  80. package/DataTable/DataTable.js.map +1 -1
  81. package/DataTable/DataTableColumnFilter.js +6 -7
  82. package/DataTable/DataTableColumnFilter.js.map +1 -1
  83. package/DataTable/useDataTable.js.map +1 -1
  84. package/DatePicker/DatePicker.js +12 -13
  85. package/DatePicker/DatePicker.js.map +1 -1
  86. package/Dialog/Dialog.d.ts +4 -1
  87. package/Dialog/Dialog.d.ts.map +1 -1
  88. package/Dialog/Dialog.js +70 -37
  89. package/Dialog/Dialog.js.map +1 -1
  90. package/Dialog/Dialog.stories.js +101 -0
  91. package/Dialog/Dialog.stories.js.map +1 -0
  92. package/Dialog/Dialog.types.d.ts +4 -0
  93. package/Dialog/Dialog.types.d.ts.map +1 -0
  94. package/Dialog/Dialog.types.js +2 -0
  95. package/Dialog/Dialog.types.js.map +1 -0
  96. package/Dialog/DialogOverlayScope.js.map +1 -1
  97. package/Dialog/index.d.ts +1 -0
  98. package/Dialog/index.d.ts.map +1 -1
  99. package/Drawer/Drawer.js.map +1 -1
  100. package/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  101. package/DropdownMenu/DropdownMenu.js +33 -20
  102. package/DropdownMenu/DropdownMenu.js.map +1 -1
  103. package/Dropzone/Dropzone.d.ts.map +1 -1
  104. package/Dropzone/Dropzone.js +46 -28
  105. package/Dropzone/Dropzone.js.map +1 -1
  106. package/Dropzone/Dropzone.stories.js +100 -0
  107. package/Dropzone/Dropzone.stories.js.map +1 -0
  108. package/Dropzone/Dropzone.types.js.map +1 -1
  109. package/Dropzone/DropzoneFilePreview.js.map +1 -1
  110. package/Dropzone/DropzoneSinglePickPreview.js.map +1 -1
  111. package/Dropzone/DropzoneUtils.js.map +1 -1
  112. package/Form/Form.d.ts.map +1 -1
  113. package/Form/Form.js +14 -15
  114. package/Form/Form.js.map +1 -1
  115. package/Form/FormRenderControl.d.ts +1 -1
  116. package/Form/FormRenderControl.d.ts.map +1 -1
  117. package/Form/FormRenderControl.js +53 -14
  118. package/Form/FormRenderControl.js.map +1 -1
  119. package/Form/FormRenderControl.types.d.ts +4 -1
  120. package/Form/FormRenderControl.types.d.ts.map +1 -1
  121. package/Form/Form_old.js +4 -5
  122. package/Form/Form_old.js.map +1 -1
  123. package/FormCheckbox/FormCheckbox.js +4 -4
  124. package/FormCheckbox/FormCheckbox.js.map +1 -1
  125. package/FormCombobox/FormCombobox.d.ts.map +1 -1
  126. package/FormCombobox/FormCombobox.js +15 -13
  127. package/FormCombobox/FormCombobox.js.map +1 -1
  128. package/FormDatePicker/FormDatePicker.d.ts.map +1 -1
  129. package/FormDatePicker/FormDatePicker.js +18 -16
  130. package/FormDatePicker/FormDatePicker.js.map +1 -1
  131. package/FormDropzone/FormDropzone.d.ts.map +1 -1
  132. package/FormDropzone/FormDropzone.js +13 -11
  133. package/FormDropzone/FormDropzone.js.map +1 -1
  134. package/FormInput/FormInput.d.ts.map +1 -1
  135. package/FormInput/FormInput.js +47 -27
  136. package/FormInput/FormInput.js.map +1 -1
  137. package/FormInput/FormInput.stories.js +61 -0
  138. package/FormInput/FormInput.stories.js.map +1 -0
  139. package/FormInput/FormInput.types.d.ts +1 -0
  140. package/FormInput/FormInput.types.d.ts.map +1 -1
  141. package/FormRadio/FormRadio.js.map +1 -1
  142. package/FormSelect/FormSelect.d.ts.map +1 -1
  143. package/FormSelect/FormSelect.js +19 -18
  144. package/FormSelect/FormSelect.js.map +1 -1
  145. package/FormTextarea/FormTextarea.d.ts.map +1 -1
  146. package/FormTextarea/FormTextarea.js +13 -11
  147. package/FormTextarea/FormTextarea.js.map +1 -1
  148. package/Header/Header.js.map +1 -1
  149. package/HoverCard/HoverCard.js.map +1 -1
  150. package/InfoBlock/InfoBlock.d.ts +7 -0
  151. package/InfoBlock/InfoBlock.d.ts.map +1 -0
  152. package/InfoBlock/InfoBlock.js +28 -0
  153. package/InfoBlock/InfoBlock.js.map +1 -0
  154. package/InfoBlock/InfoBlock.stories.js +50 -0
  155. package/InfoBlock/InfoBlock.stories.js.map +1 -0
  156. package/InfoBlock/InfoBlock.types.d.ts +9 -0
  157. package/InfoBlock/InfoBlock.types.d.ts.map +1 -0
  158. package/InfoBlock/InfoBlock.types.js +2 -0
  159. package/InfoBlock/InfoBlock.types.js.map +1 -0
  160. package/InfoBlock/index.d.ts +3 -0
  161. package/InfoBlock/index.d.ts.map +1 -0
  162. package/InfoBlock/index.js +5 -0
  163. package/InfoBlock/index.js.map +1 -0
  164. package/InfoBlock/infoBlockVariants.d.ts +6 -0
  165. package/InfoBlock/infoBlockVariants.d.ts.map +1 -0
  166. package/InfoBlock/infoBlockVariants.js +27 -0
  167. package/InfoBlock/infoBlockVariants.js.map +1 -0
  168. package/Input/Input.d.ts.map +1 -1
  169. package/Input/Input.js +65 -51
  170. package/Input/Input.js.map +1 -1
  171. package/Input/Input.types.d.ts +1 -0
  172. package/Input/Input.types.d.ts.map +1 -1
  173. package/Input/inputVariants.d.ts.map +1 -1
  174. package/Input/inputVariants.js +5 -4
  175. package/Input/inputVariants.js.map +1 -1
  176. package/InputOTP/InputOTP.d.ts.map +1 -1
  177. package/InputOTP/InputOTP.js.map +1 -1
  178. package/LICENSE +21 -21
  179. package/Label/Label.js.map +1 -1
  180. package/Label/labelVariants.js.map +1 -1
  181. package/LazyLoader/LazyLoader.js +4 -5
  182. package/LazyLoader/LazyLoader.js.map +1 -1
  183. package/LoadedIcon/LoadedIcon.js.map +1 -1
  184. package/LoadingMask/LoadingMask.d.ts +1 -2
  185. package/LoadingMask/LoadingMask.d.ts.map +1 -1
  186. package/LoadingMask/LoadingMask.js +8 -8
  187. package/LoadingMask/LoadingMask.js.map +1 -1
  188. package/LoadingMask/LoadingMask.types.d.ts +1 -0
  189. package/LoadingMask/LoadingMask.types.d.ts.map +1 -1
  190. package/LoadingMask/RenderLoadingMask.js.map +1 -1
  191. package/LoadingProgress/LoadingProgress.js.map +1 -1
  192. package/LoadingProgress/loadingProgressVariants.js.map +1 -1
  193. package/Menubar/Menubar.js.map +1 -1
  194. package/NavigationMenu/NavigationMenu.js.map +1 -1
  195. package/NavigationMenu/navigationMenuVariants.js.map +1 -1
  196. package/Pagination/Pagination.js +0 -1
  197. package/Pagination/Pagination.js.map +1 -1
  198. package/Popover/Popover.js.map +1 -1
  199. package/Progress/Progress.js.map +1 -1
  200. package/README.md +7 -7
  201. package/Radio/Radio.js.map +1 -1
  202. package/RadioGroup/RadioGroup.js.map +1 -1
  203. package/Resizable/Resizable.js.map +1 -1
  204. package/Resizable/Resizable.stories.js.map +1 -1
  205. package/ScrollArea/ScrollArea.js.map +1 -1
  206. package/Search/Search.d.ts.map +1 -1
  207. package/Search/Search.js +40 -31
  208. package/Search/Search.js.map +1 -1
  209. package/Search/Search.stories.js +17 -0
  210. package/Search/Search.stories.js.map +1 -0
  211. package/Select/Select.d.ts.map +1 -1
  212. package/Select/Select.js +53 -49
  213. package/Select/Select.js.map +1 -1
  214. package/Select/Select.stories.js.map +1 -1
  215. package/Select/Select.types.d.ts +4 -0
  216. package/Select/Select.types.d.ts.map +1 -1
  217. package/Select/SelectRoot.js +1 -1
  218. package/Select/SelectRoot.js.map +1 -1
  219. package/Separator/Separator.js.map +1 -1
  220. package/Sheet/Sheet.js.map +1 -1
  221. package/Sidebar/Sidebar.js +20 -21
  222. package/Sidebar/Sidebar.js.map +1 -1
  223. package/Skeleton/Skeleton.js.map +1 -1
  224. package/Slider/Slider.js.map +1 -1
  225. package/Sonner/Sonner.js.map +1 -1
  226. package/Switch/Switch.js.map +1 -1
  227. package/Table/Table.js.map +1 -1
  228. package/TablePagination/TablePagination.js +17 -21
  229. package/TablePagination/TablePagination.js.map +1 -1
  230. package/Tabs/Tabs.js.map +1 -1
  231. package/Tabs/TabsRoot.js.map +1 -1
  232. package/Textarea/Textarea.d.ts.map +1 -1
  233. package/Textarea/Textarea.js +48 -43
  234. package/Textarea/Textarea.js.map +1 -1
  235. package/Textarea/Textarea.stories.js +1 -1
  236. package/Textarea/Textarea.stories.js.map +1 -1
  237. package/Textarea/Textarea.types.d.ts +3 -1
  238. package/Textarea/Textarea.types.d.ts.map +1 -1
  239. package/Textarea/useAutosizeTextArea.js.map +1 -1
  240. package/Theme/ThemeModeToggle.js +3 -4
  241. package/Theme/ThemeModeToggle.js.map +1 -1
  242. package/Theme/ThemeProvider.js.map +1 -1
  243. package/Toast/Toast.d.ts +1 -1
  244. package/Toast/Toast.js.map +1 -1
  245. package/Toast/toast.constants.js.map +1 -1
  246. package/Toast/toastVariants.d.ts +1 -1
  247. package/Toast/toastVariants.js.map +1 -1
  248. package/Toast/useToast.js.map +1 -1
  249. package/Toaster/Toaster.js.map +1 -1
  250. package/Toggle/Toggle.js.map +1 -1
  251. package/ToggleGroup/ToggleGroup.js.map +1 -1
  252. package/Tooltip/Tooltip.d.ts.map +1 -1
  253. package/Tooltip/Tooltip.js +41 -29
  254. package/Tooltip/Tooltip.js.map +1 -1
  255. package/Tooltip/Tooltip.types.d.ts +1 -0
  256. package/Tooltip/Tooltip.types.d.ts.map +1 -1
  257. package/Tooltip/TooltipRoot.js.map +1 -1
  258. package/Tooltip/tooltipVariants.d.ts +4 -0
  259. package/Tooltip/tooltipVariants.d.ts.map +1 -0
  260. package/Tooltip/tooltipVariants.js +23 -0
  261. package/Tooltip/tooltipVariants.js.map +1 -0
  262. package/index.d.ts +1 -0
  263. package/index.d.ts.map +1 -1
  264. package/index.js +332 -328
  265. package/index.js.map +1 -1
  266. package/package.json +6 -5
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.js","sources":["../../src/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\"\n\nimport { cn } from \"@oneplatformdev/utils\";\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<\"nav\"> & {\n separator?: React.ReactNode\n }\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\nBreadcrumb.displayName = \"Breadcrumb\"\n\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.ComponentPropsWithoutRef<\"ol\">\n>(({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n className\n )}\n {...props}\n />\n))\nBreadcrumbList.displayName = \"BreadcrumbList\"\n\nconst BreadcrumbItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentPropsWithoutRef<\"li\">\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n))\nBreadcrumbItem.displayName = \"BreadcrumbItem\"\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<\"a\"> & {\n asChild?: boolean\n }\n>(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n ref={ref}\n className={cn(\"transition-colors hover:text-foreground\", className)}\n {...props}\n />\n )\n})\nBreadcrumbLink.displayName = \"BreadcrumbLink\"\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<\"span\">\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n))\nBreadcrumbPage.displayName = \"BreadcrumbPage\"\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) => (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n)\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\"\n\nconst BreadcrumbEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n)\nBreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\"\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n"],"names":["Breadcrumb","React","props","ref","jsx","BreadcrumbList","className","cn","BreadcrumbItem","BreadcrumbLink","asChild","Slot","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","jsxs","MoreHorizontal"],"mappings":";;;;;AAMA,MAAMA,IAAaC,EAAM,WAKvB,CAAC,EAAE,GAAGC,EAAA,GAASC,MAAQ,gBAAAC,EAAC,SAAI,KAAAD,GAAU,cAAW,cAAc,GAAGD,GAAO,CAAE;AAC7EF,EAAW,cAAc;AAEzB,MAAMK,IAAiBJ,EAAM,WAG3B,CAAC,EAAE,WAAAK,GAAW,GAAGJ,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWI;AAAA,MACT;AAAA,MACAD;AAAA,IAAA;AAAA,IAED,GAAGJ;AAAA,EAAA;AACN,CACD;AACDG,EAAe,cAAc;AAE7B,MAAMG,IAAiBP,EAAM,WAG3B,CAAC,EAAE,WAAAK,GAAW,GAAGJ,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWI,EAAG,oCAAoCD,CAAS;AAAA,IAC1D,GAAGJ;AAAA,EAAA;AACN,CACD;AACDM,EAAe,cAAc;AAE7B,MAAMC,IAAiBR,EAAM,WAK3B,CAAC,EAAE,SAAAS,GAAS,WAAAJ,GAAW,GAAGJ,EAAA,GAASC,MAIjC,gBAAAC;AAAA,EAHWM,IAAUC,IAAO;AAAA,EAG3B;AAAA,IACC,KAAAR;AAAA,IACA,WAAWI,EAAG,2CAA2CD,CAAS;AAAA,IACjE,GAAGJ;AAAA,EAAA;AAAA,CAGT;AACDO,EAAe,cAAc;AAE7B,MAAMG,IAAiBX,EAAM,WAG3B,CAAC,EAAE,WAAAK,GAAW,GAAGJ,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,MAAK;AAAA,IACL,iBAAc;AAAA,IACd,gBAAa;AAAA,IACb,WAAWI,EAAG,+BAA+BD,CAAS;AAAA,IACrD,GAAGJ;AAAA,EAAA;AACN,CACD;AACDU,EAAe,cAAc;AAE7B,MAAMC,IAAsB,CAAC;AAAA,EAC3B,UAAAC;AAAA,EACA,WAAAR;AAAA,EACA,GAAGJ;AACL,MACE,gBAAAE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,eAAY;AAAA,IACZ,WAAWG,EAAG,+BAA+BD,CAAS;AAAA,IACrD,GAAGJ;AAAA,IAEH,UAAAY,uBAAaC,GAAA,CAAA,CAAa;AAAA,EAAA;AAC7B;AAEFF,EAAoB,cAAc;AAElC,MAAMG,IAAqB,CAAC;AAAA,EAC1B,WAAAV;AAAA,EACA,GAAGJ;AACL,MACE,gBAAAe;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,eAAY;AAAA,IACZ,WAAWV,EAAG,4CAA4CD,CAAS;AAAA,IAClE,GAAGJ;AAAA,IAEJ,UAAA;AAAA,MAAA,gBAAAE,EAACc,GAAA,EAAe,WAAU,UAAA,CAAU;AAAA,MACpC,gBAAAd,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,OAAA,CAAI;AAAA,IAAA;AAAA,EAAA;AAChC;AAEFY,EAAmB,cAAc;"}
1
+ {"version":3,"file":"Breadcrumb.js","sources":["../../src/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["import * as React from \"react\"\r\nimport { Slot } from \"@radix-ui/react-slot\"\r\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\"\r\n\r\nimport { cn } from \"@oneplatformdev/utils\";\r\n\r\nconst Breadcrumb = React.forwardRef<\r\n HTMLElement,\r\n React.ComponentPropsWithoutRef<\"nav\"> & {\r\n separator?: React.ReactNode\r\n }\r\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\r\nBreadcrumb.displayName = \"Breadcrumb\"\r\n\r\nconst BreadcrumbList = React.forwardRef<\r\n HTMLOListElement,\r\n React.ComponentPropsWithoutRef<\"ol\">\r\n>(({ className, ...props }, ref) => (\r\n <ol\r\n ref={ref}\r\n className={cn(\r\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nBreadcrumbList.displayName = \"BreadcrumbList\"\r\n\r\nconst BreadcrumbItem = React.forwardRef<\r\n HTMLLIElement,\r\n React.ComponentPropsWithoutRef<\"li\">\r\n>(({ className, ...props }, ref) => (\r\n <li\r\n ref={ref}\r\n className={cn(\"inline-flex items-center gap-1.5\", className)}\r\n {...props}\r\n />\r\n))\r\nBreadcrumbItem.displayName = \"BreadcrumbItem\"\r\n\r\nconst BreadcrumbLink = React.forwardRef<\r\n HTMLAnchorElement,\r\n React.ComponentPropsWithoutRef<\"a\"> & {\r\n asChild?: boolean\r\n }\r\n>(({ asChild, className, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"a\"\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n className={cn(\"transition-colors hover:text-foreground\", className)}\r\n {...props}\r\n />\r\n )\r\n})\r\nBreadcrumbLink.displayName = \"BreadcrumbLink\"\r\n\r\nconst BreadcrumbPage = React.forwardRef<\r\n HTMLSpanElement,\r\n React.ComponentPropsWithoutRef<\"span\">\r\n>(({ className, ...props }, ref) => (\r\n <span\r\n ref={ref}\r\n role=\"link\"\r\n aria-disabled=\"true\"\r\n aria-current=\"page\"\r\n className={cn(\"font-normal text-foreground\", className)}\r\n {...props}\r\n />\r\n))\r\nBreadcrumbPage.displayName = \"BreadcrumbPage\"\r\n\r\nconst BreadcrumbSeparator = ({\r\n children,\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"li\">) => (\r\n <li\r\n role=\"presentation\"\r\n aria-hidden=\"true\"\r\n className={cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className)}\r\n {...props}\r\n >\r\n {children ?? <ChevronRight />}\r\n </li>\r\n)\r\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\"\r\n\r\nconst BreadcrumbEllipsis = ({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"span\">) => (\r\n <span\r\n role=\"presentation\"\r\n aria-hidden=\"true\"\r\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\r\n {...props}\r\n >\r\n <MoreHorizontal className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">More</span>\r\n </span>\r\n)\r\nBreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\"\r\n\r\nexport {\r\n Breadcrumb,\r\n BreadcrumbList,\r\n BreadcrumbItem,\r\n BreadcrumbLink,\r\n BreadcrumbPage,\r\n BreadcrumbSeparator,\r\n BreadcrumbEllipsis,\r\n}\r\n"],"names":["Breadcrumb","React","props","ref","jsx","BreadcrumbList","className","cn","BreadcrumbItem","BreadcrumbLink","asChild","Slot","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","jsxs","MoreHorizontal"],"mappings":";;;;;AAMA,MAAMA,IAAaC,EAAM,WAKvB,CAAC,EAAE,GAAGC,EAAA,GAASC,MAAQ,gBAAAC,EAAC,SAAI,KAAAD,GAAU,cAAW,cAAc,GAAGD,GAAO,CAAE;AAC7EF,EAAW,cAAc;AAEzB,MAAMK,IAAiBJ,EAAM,WAG3B,CAAC,EAAE,WAAAK,GAAW,GAAGJ,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWI;AAAA,MACT;AAAA,MACAD;AAAA,IAAA;AAAA,IAED,GAAGJ;AAAA,EAAA;AACN,CACD;AACDG,EAAe,cAAc;AAE7B,MAAMG,IAAiBP,EAAM,WAG3B,CAAC,EAAE,WAAAK,GAAW,GAAGJ,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,WAAWI,EAAG,oCAAoCD,CAAS;AAAA,IAC1D,GAAGJ;AAAA,EAAA;AACN,CACD;AACDM,EAAe,cAAc;AAE7B,MAAMC,IAAiBR,EAAM,WAK3B,CAAC,EAAE,SAAAS,GAAS,WAAAJ,GAAW,GAAGJ,EAAA,GAASC,MAIjC,gBAAAC;AAAA,EAHWM,IAAUC,IAAO;AAAA,EAG3B;AAAA,IACC,KAAAR;AAAA,IACA,WAAWI,EAAG,2CAA2CD,CAAS;AAAA,IACjE,GAAGJ;AAAA,EAAA;AAAA,CAGT;AACDO,EAAe,cAAc;AAE7B,MAAMG,IAAiBX,EAAM,WAG3B,CAAC,EAAE,WAAAK,GAAW,GAAGJ,EAAA,GAASC,MAC1B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAAD;AAAA,IACA,MAAK;AAAA,IACL,iBAAc;AAAA,IACd,gBAAa;AAAA,IACb,WAAWI,EAAG,+BAA+BD,CAAS;AAAA,IACrD,GAAGJ;AAAA,EAAA;AACN,CACD;AACDU,EAAe,cAAc;AAE7B,MAAMC,IAAsB,CAAC;AAAA,EAC3B,UAAAC;AAAA,EACA,WAAAR;AAAA,EACA,GAAGJ;AACL,MACE,gBAAAE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,eAAY;AAAA,IACZ,WAAWG,EAAG,+BAA+BD,CAAS;AAAA,IACrD,GAAGJ;AAAA,IAEH,UAAAY,uBAAaC,GAAA,CAAA,CAAa;AAAA,EAAA;AAC7B;AAEFF,EAAoB,cAAc;AAElC,MAAMG,IAAqB,CAAC;AAAA,EAC1B,WAAAV;AAAA,EACA,GAAGJ;AACL,MACE,gBAAAe;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,eAAY;AAAA,IACZ,WAAWV,EAAG,4CAA4CD,CAAS;AAAA,IAClE,GAAGJ;AAAA,IAEJ,UAAA;AAAA,MAAA,gBAAAE,EAACc,GAAA,EAAe,WAAU,UAAA,CAAU;AAAA,MACpC,gBAAAd,EAAC,QAAA,EAAK,WAAU,WAAU,UAAA,OAAA,CAAI;AAAA,IAAA;AAAA,EAAA;AAChC;AAEFY,EAAmB,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAqDxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,MAAM,uFA0ElB,CAAA;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AA+ClD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,eAAO,MAAM,MAAM,uFA0ElB,CAAA;AAED,eAAe,MAAM,CAAC"}
package/Button/Button.js CHANGED
@@ -1,76 +1,75 @@
1
- import { jsxs as N, Fragment as E, jsx as o } from "react/jsx-runtime";
1
+ import { jsxs as I, Fragment as N, jsx as r } from "react/jsx-runtime";
2
2
  import * as R from "react";
3
- import { isValidElement as V, createElement as j } from "react";
4
- import { Slot as C } from "@radix-ui/react-slot";
5
- import { cn as I } from "@oneplatformdev/utils";
6
- import { buttonVariants as F } from "./buttonVariants.js";
7
- import "@radix-ui/react-tooltip";
8
- import { Tooltip as L } from "../Tooltip/Tooltip.js";
9
- import { LoadedIcon as y } from "../LoadedIcon/LoadedIcon.js";
10
- const S = (n) => {
11
- const { variant: t, size: r, color: s } = n, e = { color: s, variant: t, size: r };
12
- if (t === "default")
3
+ import { Slot as j } from "@radix-ui/react-slot";
4
+ import { cn as A } from "@oneplatformdev/utils";
5
+ import { buttonVariants as C } from "./buttonVariants.js";
6
+ import { renderInnerIcon as y } from "./Button.utils.js";
7
+ import { LoadedIcon as B } from "../LoadedIcon/LoadedIcon.js";
8
+ import { Tooltip as V } from "../Tooltip/Tooltip.js";
9
+ const E = (i) => {
10
+ const { variant: n, size: t, color: s } = i, e = { color: s, variant: n, size: t };
11
+ if (n === "default")
13
12
  return console.warn('Button variant "default" is deprecated. Please use "variant=contained color=primary" instead.'), e.variant = "contained", e.color = "primary", e;
14
- if (r === "icon")
13
+ if (t === "icon")
15
14
  return console.warn('Button size "icon" is deprecated. Please use "<ButtonIcon/>" component instead.'), e.variant = "contained", e.color = "secondary", e;
16
- if (t === "transparent")
15
+ if (n === "transparent")
17
16
  throw console.warn('Button variant "transparent" is removed. Please use "variant=none" instead.'), new Error('Button variant "transparent" is removed. Please use "variant=none" instead.');
18
- return t === "outline" ? (console.warn('Button variant "outline" is deprecated. Please use "variant=outlined color=primary" instead.'), e.variant = "outlined", e.color = "primary", e) : t === "secondary" ? (console.warn('Button variant "secondary" is deprecated. Please use "variant=contained color=secondary" instead.'), e.variant = "contained", e.color = "secondary", e) : (t === "destructive" && (console.warn('Button variant "destructive" is deprecated. Please use "variant=contained color=error" instead.'), e.variant = "contained", e.color = "error"), e);
19
- }, B = (n) => n ? V(n) ? n : j(n) : null, T = R.forwardRef(
20
- (n, t) => {
17
+ return n === "outline" ? (console.warn('Button variant "outline" is deprecated. Please use "variant=outlined color=primary" instead.'), e.variant = "outlined", e.color = "primary", e) : n === "secondary" ? (console.warn('Button variant "secondary" is deprecated. Please use "variant=contained color=secondary" instead.'), e.variant = "contained", e.color = "secondary", e) : (n === "destructive" && (console.warn('Button variant "destructive" is deprecated. Please use "variant=contained color=error" instead.'), e.variant = "contained", e.color = "error"), e);
18
+ }, F = R.forwardRef(
19
+ (i, n) => {
21
20
  const {
22
- disabled: r,
21
+ disabled: t,
23
22
  className: s,
24
23
  variant: e,
25
24
  color: h,
26
25
  size: c,
27
- asChild: d = !1,
26
+ asChild: l = !1,
28
27
  title: w = "",
29
28
  tooltip: P,
30
29
  tooltipProps: u = {},
31
30
  message: g,
32
- loading: a = !1,
31
+ loading: o = !1,
33
32
  children: p,
34
33
  startAdornment: m,
35
- endAdornment: f,
36
- screenReader: i,
34
+ endAdornment: v,
35
+ screenReader: a,
37
36
  ...b
38
- } = n, x = d ? C : "button", l = g || P || w, z = d ? p : /* @__PURE__ */ N(E, { children: [
39
- !!m && /* @__PURE__ */ o(y, { loading: a, size: c, children: B(m) }),
37
+ } = i, x = l ? j : "button", d = g || P || w, z = l ? p : /* @__PURE__ */ I(N, { children: [
38
+ !!m && /* @__PURE__ */ r(B, { loading: o, size: c, children: y(m) }),
40
39
  p,
41
- !!f && /* @__PURE__ */ o(y, { loading: a, size: c, children: B(f) }),
42
- !!i && /* @__PURE__ */ o("span", { className: "sr-only", children: typeof i == "string" ? i : i.text })
43
- ] }), v = /* @__PURE__ */ o(
40
+ !!v && /* @__PURE__ */ r(B, { loading: o, size: c, children: y(v) }),
41
+ !!a && /* @__PURE__ */ r("span", { className: "sr-only", children: typeof a == "string" ? a : a.text })
42
+ ] }), f = /* @__PURE__ */ r(
44
43
  x,
45
44
  {
46
45
  type: "button",
47
- ref: t,
48
- disabled: r,
49
- className: I(
50
- F({
51
- ...S({ variant: e, size: c, color: h }),
46
+ ref: n,
47
+ disabled: t,
48
+ className: A(
49
+ C({
50
+ ...E({ variant: e, size: c, color: h }),
52
51
  className: s
53
52
  }),
54
- a && "pointer-events-none opacity-80 user-select-none"
53
+ o && "pointer-events-none opacity-80 user-select-none"
55
54
  ),
56
55
  ...b,
57
56
  children: z
58
57
  }
59
58
  );
60
- return l ? /* @__PURE__ */ o(
61
- L,
59
+ return d ? /* @__PURE__ */ r(
60
+ V,
62
61
  {
63
62
  ...u || {},
64
- open: u.open ?? (r || a || !l) ? !1 : void 0,
65
- message: l,
66
- children: v
63
+ open: u.open ?? (t || o || !d) ? !1 : void 0,
64
+ message: d,
65
+ children: f
67
66
  }
68
- ) : v;
67
+ ) : f;
69
68
  }
70
69
  );
71
- T.displayName = "Button";
70
+ F.displayName = "Button";
72
71
  export {
73
- T as Button,
74
- T as default
72
+ F as Button,
73
+ F as default
75
74
  };
76
75
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"@oneplatformdev/utils\"\nimport { ButtonVarianceProps, buttonVariants } from './buttonVariants';\nimport { ButtonAdornmentProps, type ButtonProps } from './Button.types';\n\nimport { Tooltip } from '../Tooltip';\nimport { LoadedIcon } from \"../LoadedIcon\";\nimport { createElement, isValidElement } from \"react\";\n\nconst normalizedVariantProperties = (props: ButtonVarianceProps): ButtonVarianceProps => {\n const { variant, size, color } = props;\n const vls = { color, variant, size }\n if ((variant as string) === 'default') {\n console.warn('Button variant \"default\" is deprecated. Please use \"variant=contained color=primary\" instead.')\n vls.variant = 'contained'\n vls.color = 'primary'\n return vls\n }\n if ((size as string) === 'icon') {\n console.warn('Button size \"icon\" is deprecated. Please use \"<ButtonIcon/>\" component instead.')\n vls.variant = 'contained'\n vls.color = 'secondary'\n return vls\n // throw new Error('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\n }\n if ((variant as string) === 'transparent') {\n console.warn('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\n throw new Error('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\n }\n if ((variant as string) === 'outline') {\n console.warn('Button variant \"outline\" is deprecated. Please use \"variant=outlined color=primary\" instead.')\n vls.variant = 'outlined'\n vls.color = 'primary'\n return vls\n }\n if ((variant as string) === 'secondary') {\n console.warn('Button variant \"secondary\" is deprecated. Please use \"variant=contained color=secondary\" instead.')\n vls.variant = 'contained'\n vls.color = 'secondary'\n return vls\n }\n if ((variant as string) === 'destructive') {\n console.warn('Button variant \"destructive\" is deprecated. Please use \"variant=contained color=error\" instead.')\n vls.variant = 'contained'\n vls.color = 'error'\n return vls\n }\n return vls;\n}\n\nconst renderAdornment = (Adornment?: ButtonAdornmentProps) => {\n if (!Adornment) return null;\n if (isValidElement(Adornment)) return Adornment;\n return createElement(Adornment);\n};\n\n/**\n * Universal Button component used for triggering actions and UI interactions.\n * Supports variants, sizes, colors, start/end icon adornments, custom slot content,\n * tooltip integration, loading state, and polymorphic rendering via `asChild`.\n *\n * @public\n * @see [Documentation](#) // TODO: add link to docs\n *\n * @example\n * > Import:\n * ```tsx\n * import { Button } from '@oneplatformdev/ui/Button';\n * ```\n * > Basic usage:\n * ```tsx\n * <Button>Click me</Button>\n * ```\n * > Variant and size:\n * ```tsx\n * <Button variant=\"outline\" size=\"lg\">Large Button</Button>\n * ```\n * > With icons:\n * ```tsx\n * <Button startAdornment={<PlusIcon />}>Create</Button>\n * <Button endAdornment={<ArrowRightIcon />}>Next</Button>\n * ```\n * > Icon style button:\n * ```tsx\n * <Button size=\"icon\">\n * <PlusIcon />\n * </Button>\n * ```\n * > Polymorphic rendering (`asChild`):\n * ```tsx\n * <Button asChild>\n * <a href=\"/dashboard\">Go to Dashboard</a>\n * </Button>\n * ```\n * > Tooltip via `message` or native `title`:\n * ```tsx\n * <Button title=\"Tooltip text\">Hover me</Button>\n * <Button message=\"Tooltip content\">Hover me</Button>\n * ```\n * > Loading state:\n * ```tsx\n * <Button loading>Processing...</Button>\n * ```\n * > Disabled:\n * ```tsx\n * <Button disabled>Disabled</Button>\n * ```\n *\n * Sizes\n * xs — compact, for tight UI areas. Classes: rounded-sm p-1 gap-1 text-xs min-h-4 min-w-14.\n * sm — small; slightly larger than xs. Classes: rounded-md p-1 gap-1 text-sm min-h-6 min-w-20.\n * md — default/text-heavy buttons. Classes: min-h-8 min-w-[102px] rounded-lg gap-1 px-2 py-1 text-sm leading-[1.12] [&_svg]:size-6.\n * lg — large/call-to-action. Classes: min-h-10 min-w-35 rounded-lg gap-1 px-3 py-2 text-base leading-normal [&_svg]:size-6.\n *\n * @remarks\n * - Designed for texted usage. If you need icon-only, use `ButtonIcon`.\n * - Works with any SVG React component or element, e.g. lucide-react, heroicons, custom icons.\n *\n * @see {@link ButtonIcon} for icon-only buttons\n */\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref) => {\n const {\n disabled,\n className,\n variant,\n color,\n size,\n asChild = false,\n title = '',\n tooltip,\n tooltipProps = {},\n message,\n loading = false,\n children,\n startAdornment,\n endAdornment,\n screenReader,\n ...rest\n } = props;\n const Comp = asChild ? Slot : \"button\"\n const msg = message || tooltip || title;\n\n const content = asChild\n ? children\n : (\n <>\n {!!startAdornment && (\n <LoadedIcon loading={loading} size={size}>\n {renderAdornment(startAdornment)}\n </LoadedIcon>\n )}\n\n {children}\n\n {!!endAdornment && (\n <LoadedIcon loading={loading} size={size}>\n {renderAdornment(endAdornment)}\n </LoadedIcon>\n )}\n\n {!!screenReader && <span className=\"sr-only\">{typeof screenReader === 'string' ? screenReader : screenReader.text}</span>}\n </>\n )\n\n const cmp = (\n <Comp\n type='button'\n ref={ref}\n disabled={disabled}\n className={cn(\n buttonVariants({\n ...normalizedVariantProperties({ variant, size, color }),\n className\n }),\n loading && 'pointer-events-none opacity-80 user-select-none',\n )}\n {...rest}\n >\n {content}\n </Comp>\n )\n\n if (!msg) return cmp\n return (\n <Tooltip\n {...(tooltipProps || {})}\n open={tooltipProps.open ?? (disabled || loading || !msg) ? false : undefined}\n message={msg}\n >\n {cmp}\n </Tooltip>\n )\n }\n)\nButton.displayName = \"Button\"\nexport default Button;\n"],"names":["normalizedVariantProperties","props","variant","size","color","vls","renderAdornment","Adornment","isValidElement","createElement","Button","React","ref","disabled","className","asChild","title","tooltip","tooltipProps","message","loading","children","startAdornment","endAdornment","screenReader","rest","Comp","Slot","msg","content","jsxs","Fragment","jsx","LoadedIcon","cmp","cn","buttonVariants","Tooltip"],"mappings":";;;;;;;;;AAWA,MAAMA,IAA8B,CAACC,MAAoD;AACvF,QAAM,EAAE,SAAAC,GAAS,MAAAC,GAAM,OAAAC,EAAA,IAAUH,GAC3BI,IAAM,EAAE,OAAAD,GAAO,SAAAF,GAAS,MAAAC,EAAA;AAC9B,MAAKD,MAAuB;AAC1B,mBAAQ,KAAK,+FAA+F,GAC5GG,EAAI,UAAU,aACdA,EAAI,QAAQ,WACLA;AAET,MAAKF,MAAoB;AACvB,mBAAQ,KAAK,iFAAiF,GAC9FE,EAAI,UAAU,aACdA,EAAI,QAAQ,aACLA;AAGT,MAAKH,MAAuB;AAC1B,kBAAQ,KAAK,6EAA6E,GACpF,IAAI,MAAM,6EAA6E;AAE/F,SAAKA,MAAuB,aAC1B,QAAQ,KAAK,8FAA8F,GAC3GG,EAAI,UAAU,YACdA,EAAI,QAAQ,WACLA,KAEJH,MAAuB,eAC1B,QAAQ,KAAK,mGAAmG,GAChHG,EAAI,UAAU,aACdA,EAAI,QAAQ,aACLA,MAEJH,MAAuB,kBAC1B,QAAQ,KAAK,iGAAiG,GAC9GG,EAAI,UAAU,aACdA,EAAI,QAAQ,UACLA;AAGX,GAEMC,IAAkB,CAACC,MAClBA,IACDC,EAAeD,CAAS,IAAUA,IAC/BE,EAAcF,CAAS,IAFP,MAqEZG,IAASC,EAAM;AAAA,EAC1B,CAACV,GAAOW,MAAQ;AACd,UAAM;AAAA,MACJ,UAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAZ;AAAA,MACA,OAAAE;AAAA,MACA,MAAAD;AAAA,MACA,SAAAY,IAAU;AAAA,MACV,OAAAC,IAAQ;AAAA,MACR,SAAAC;AAAA,MACA,cAAAC,IAAe,CAAA;AAAA,MACf,SAAAC;AAAA,MACA,SAAAC,IAAU;AAAA,MACV,UAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,GAAGC;AAAA,IAAA,IACDxB,GACEyB,IAAOX,IAAUY,IAAO,UACxBC,IAAMT,KAAWF,KAAWD,GAE5Ba,IAAUd,IACZM,IAEA,gBAAAS,EAAAC,GAAA,EACG,UAAA;AAAA,MAAA,CAAC,CAACT,KACD,gBAAAU,EAACC,GAAA,EAAW,SAAAb,GAAkB,MAAAjB,GAC3B,UAAAG,EAAgBgB,CAAc,GACjC;AAAA,MAGDD;AAAA,MAEA,CAAC,CAACE,KACD,gBAAAS,EAACC,KAAW,SAAAb,GAAkB,MAAAjB,GAC3B,UAAAG,EAAgBiB,CAAY,GAC/B;AAAA,MAGD,CAAC,CAACC,KAAgB,gBAAAQ,EAAC,QAAA,EAAK,WAAU,WAAW,UAAA,OAAOR,KAAiB,WAAWA,IAAeA,EAAa,KAAA,CAAK;AAAA,IAAA,GACpH,GAGEU,IACJ,gBAAAF;AAAA,MAACN;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,KAAAd;AAAA,QACA,UAAAC;AAAA,QACA,WAAWsB;AAAA,UACTC,EAAe;AAAA,YACb,GAAGpC,EAA4B,EAAE,SAAAE,GAAS,MAAAC,GAAM,OAAAC,GAAO;AAAA,YACvD,WAAAU;AAAA,UAAA,CACD;AAAA,UACDM,KAAW;AAAA,QAAA;AAAA,QAEZ,GAAGK;AAAA,QAEH,UAAAI;AAAA,MAAA;AAAA,IAAA;AAIL,WAAKD,IAEH,gBAAAI;AAAA,MAACK;AAAA,MAAA;AAAA,QACE,GAAInB,KAAgB,CAAA;AAAA,QACrB,MAAMA,EAAa,SAASL,KAAYO,KAAW,CAACQ,KAAO,KAAQ;AAAA,QACnE,SAASA;AAAA,QAER,UAAAM;AAAA,MAAA;AAAA,IAAA,IAPYA;AAAA,EAUnB;AACF;AACAxB,EAAO,cAAc;"}
1
+ {"version":3,"file":"Button.js","sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from \"react\"\r\nimport { Slot } from \"@radix-ui/react-slot\"\r\n\r\nimport { cn } from \"@oneplatformdev/utils\"\r\nimport { ButtonVarianceProps, buttonVariants } from './buttonVariants';\r\nimport { type ButtonProps } from './Button.types';\r\n\r\nimport { Tooltip } from '../Tooltip';\r\nimport { LoadedIcon } from \"../LoadedIcon\";\r\nimport { renderInnerIcon } from \"./Button.utils\";\r\n\r\nconst normalizedVariantProperties = (props: ButtonVarianceProps): ButtonVarianceProps => {\r\n const { variant, size, color } = props;\r\n const vls = { color, variant, size }\r\n if ((variant as string) === 'default') {\r\n console.warn('Button variant \"default\" is deprecated. Please use \"variant=contained color=primary\" instead.')\r\n vls.variant = 'contained'\r\n vls.color = 'primary'\r\n return vls\r\n }\r\n if ((size as string) === 'icon') {\r\n console.warn('Button size \"icon\" is deprecated. Please use \"<ButtonIcon/>\" component instead.')\r\n vls.variant = 'contained'\r\n vls.color = 'secondary'\r\n return vls\r\n // throw new Error('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\r\n }\r\n if ((variant as string) === 'transparent') {\r\n console.warn('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\r\n throw new Error('Button variant \"transparent\" is removed. Please use \"variant=none\" instead.')\r\n }\r\n if ((variant as string) === 'outline') {\r\n console.warn('Button variant \"outline\" is deprecated. Please use \"variant=outlined color=primary\" instead.')\r\n vls.variant = 'outlined'\r\n vls.color = 'primary'\r\n return vls\r\n }\r\n if ((variant as string) === 'secondary') {\r\n console.warn('Button variant \"secondary\" is deprecated. Please use \"variant=contained color=secondary\" instead.')\r\n vls.variant = 'contained'\r\n vls.color = 'secondary'\r\n return vls\r\n }\r\n if ((variant as string) === 'destructive') {\r\n console.warn('Button variant \"destructive\" is deprecated. Please use \"variant=contained color=error\" instead.')\r\n vls.variant = 'contained'\r\n vls.color = 'error'\r\n return vls\r\n }\r\n return vls;\r\n}\r\n\r\n/**\r\n * Universal Button component used for triggering actions and UI interactions.\r\n * Supports variants, sizes, colors, start/end icon adornments, custom slot content,\r\n * tooltip integration, loading state, and polymorphic rendering via `asChild`.\r\n *\r\n * @public\r\n * @see [Documentation](#) // TODO: add link to docs\r\n *\r\n * @example\r\n * > Import:\r\n * ```tsx\r\n * import { Button } from '@oneplatformdev/ui/Button';\r\n * ```\r\n * > Basic usage:\r\n * ```tsx\r\n * <Button>Click me</Button>\r\n * ```\r\n * > Variant and size:\r\n * ```tsx\r\n * <Button variant=\"outline\" size=\"lg\">Large Button</Button>\r\n * ```\r\n * > With icons:\r\n * ```tsx\r\n * <Button startAdornment={<PlusIcon />}>Create</Button>\r\n * <Button endAdornment={<ArrowRightIcon />}>Next</Button>\r\n * ```\r\n * > Icon style button:\r\n * ```tsx\r\n * <Button size=\"icon\">\r\n * <PlusIcon />\r\n * </Button>\r\n * ```\r\n * > Polymorphic rendering (`asChild`):\r\n * ```tsx\r\n * <Button asChild>\r\n * <a href=\"/dashboard\">Go to Dashboard</a>\r\n * </Button>\r\n * ```\r\n * > Tooltip via `message` or native `title`:\r\n * ```tsx\r\n * <Button title=\"Tooltip text\">Hover me</Button>\r\n * <Button message=\"Tooltip content\">Hover me</Button>\r\n * ```\r\n * > Loading state:\r\n * ```tsx\r\n * <Button loading>Processing...</Button>\r\n * ```\r\n * > Disabled:\r\n * ```tsx\r\n * <Button disabled>Disabled</Button>\r\n * ```\r\n *\r\n * Sizes\r\n * xs — compact, for tight UI areas. Classes: rounded-sm p-1 gap-1 text-xs min-h-4 min-w-14.\r\n * sm — small; slightly larger than xs. Classes: rounded-md p-1 gap-1 text-sm min-h-6 min-w-20.\r\n * md — default/text-heavy buttons. Classes: min-h-8 min-w-[102px] rounded-lg gap-1 px-2 py-1 text-sm leading-[1.12] [&_svg]:size-6.\r\n * lg — large/call-to-action. Classes: min-h-10 min-w-35 rounded-lg gap-1 px-3 py-2 text-base leading-normal [&_svg]:size-6.\r\n *\r\n * @remarks\r\n * - Designed for texted usage. If you need icon-only, use `ButtonIcon`.\r\n * - Works with any SVG React component or element, e.g. lucide-react, heroicons, custom icons.\r\n *\r\n * @see {@link ButtonIcon} for icon-only buttons\r\n */\r\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n (props, ref) => {\r\n const {\r\n disabled,\r\n className,\r\n variant,\r\n color,\r\n size,\r\n asChild = false,\r\n title = '',\r\n tooltip,\r\n tooltipProps = {},\r\n message,\r\n loading = false,\r\n children,\r\n startAdornment,\r\n endAdornment,\r\n screenReader,\r\n ...rest\r\n } = props;\r\n const Comp = asChild ? Slot : \"button\"\r\n const msg = message || tooltip || title;\r\n\r\n const content = asChild\r\n ? children\r\n : (\r\n <>\r\n {!!startAdornment && (\r\n <LoadedIcon loading={loading} size={size}>\r\n {renderInnerIcon(startAdornment)}\r\n </LoadedIcon>\r\n )}\r\n\r\n {children}\r\n\r\n {!!endAdornment && (\r\n <LoadedIcon loading={loading} size={size}>\r\n {renderInnerIcon(endAdornment)}\r\n </LoadedIcon>\r\n )}\r\n\r\n {!!screenReader && <span className=\"sr-only\">{typeof screenReader === 'string' ? screenReader : screenReader.text}</span>}\r\n </>\r\n )\r\n\r\n const cmp = (\r\n <Comp\r\n type='button'\r\n ref={ref}\r\n disabled={disabled}\r\n className={cn(\r\n buttonVariants({\r\n ...normalizedVariantProperties({ variant, size, color }),\r\n className\r\n }),\r\n loading && 'pointer-events-none opacity-80 user-select-none',\r\n )}\r\n {...rest}\r\n >\r\n {content}\r\n </Comp>\r\n )\r\n\r\n if (!msg) return cmp\r\n return (\r\n <Tooltip\r\n {...(tooltipProps || {})}\r\n open={tooltipProps.open ?? (disabled || loading || !msg) ? false : undefined}\r\n message={msg}\r\n >\r\n {cmp}\r\n </Tooltip>\r\n )\r\n }\r\n)\r\nButton.displayName = \"Button\"\r\nexport default Button;\r\n"],"names":["normalizedVariantProperties","props","variant","size","color","vls","Button","React","ref","disabled","className","asChild","title","tooltip","tooltipProps","message","loading","children","startAdornment","endAdornment","screenReader","rest","Comp","Slot","msg","content","jsxs","Fragment","jsx","LoadedIcon","renderInnerIcon","cmp","cn","buttonVariants","Tooltip"],"mappings":";;;;;;;;AAWA,MAAMA,IAA8B,CAACC,MAAoD;AACvF,QAAM,EAAE,SAAAC,GAAS,MAAAC,GAAM,OAAAC,EAAA,IAAUH,GAC3BI,IAAM,EAAE,OAAAD,GAAO,SAAAF,GAAS,MAAAC,EAAA;AAC9B,MAAKD,MAAuB;AAC1B,mBAAQ,KAAK,+FAA+F,GAC5GG,EAAI,UAAU,aACdA,EAAI,QAAQ,WACLA;AAET,MAAKF,MAAoB;AACvB,mBAAQ,KAAK,iFAAiF,GAC9FE,EAAI,UAAU,aACdA,EAAI,QAAQ,aACLA;AAGT,MAAKH,MAAuB;AAC1B,kBAAQ,KAAK,6EAA6E,GACpF,IAAI,MAAM,6EAA6E;AAE/F,SAAKA,MAAuB,aAC1B,QAAQ,KAAK,8FAA8F,GAC3GG,EAAI,UAAU,YACdA,EAAI,QAAQ,WACLA,KAEJH,MAAuB,eAC1B,QAAQ,KAAK,mGAAmG,GAChHG,EAAI,UAAU,aACdA,EAAI,QAAQ,aACLA,MAEJH,MAAuB,kBAC1B,QAAQ,KAAK,iGAAiG,GAC9GG,EAAI,UAAU,aACdA,EAAI,QAAQ,UACLA;AAGX,GAkEaC,IAASC,EAAM;AAAA,EAC1B,CAACN,GAAOO,MAAQ;AACd,UAAM;AAAA,MACJ,UAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAR;AAAA,MACA,OAAAE;AAAA,MACA,MAAAD;AAAA,MACA,SAAAQ,IAAU;AAAA,MACV,OAAAC,IAAQ;AAAA,MACR,SAAAC;AAAA,MACA,cAAAC,IAAe,CAAA;AAAA,MACf,SAAAC;AAAA,MACA,SAAAC,IAAU;AAAA,MACV,UAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,cAAAC;AAAA,MACA,GAAGC;AAAA,IAAA,IACDpB,GACEqB,IAAOX,IAAUY,IAAO,UACxBC,IAAMT,KAAWF,KAAWD,GAE5Ba,IAAUd,IACZM,IAEA,gBAAAS,EAAAC,GAAA,EACG,UAAA;AAAA,MAAA,CAAC,CAACT,KACD,gBAAAU,EAACC,GAAA,EAAW,SAAAb,GAAkB,MAAAb,GAC3B,UAAA2B,EAAgBZ,CAAc,GACjC;AAAA,MAGDD;AAAA,MAEA,CAAC,CAACE,KACD,gBAAAS,EAACC,KAAW,SAAAb,GAAkB,MAAAb,GAC3B,UAAA2B,EAAgBX,CAAY,GAC/B;AAAA,MAGD,CAAC,CAACC,KAAgB,gBAAAQ,EAAC,QAAA,EAAK,WAAU,WAAW,UAAA,OAAOR,KAAiB,WAAWA,IAAeA,EAAa,KAAA,CAAK;AAAA,IAAA,GACpH,GAGEW,IACJ,gBAAAH;AAAA,MAACN;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,KAAAd;AAAA,QACA,UAAAC;AAAA,QACA,WAAWuB;AAAA,UACTC,EAAe;AAAA,YACb,GAAGjC,EAA4B,EAAE,SAAAE,GAAS,MAAAC,GAAM,OAAAC,GAAO;AAAA,YACvD,WAAAM;AAAA,UAAA,CACD;AAAA,UACDM,KAAW;AAAA,QAAA;AAAA,QAEZ,GAAGK;AAAA,QAEH,UAAAI;AAAA,MAAA;AAAA,IAAA;AAIL,WAAKD,IAEH,gBAAAI;AAAA,MAACM;AAAA,MAAA;AAAA,QACE,GAAIpB,KAAgB,CAAA;AAAA,QACrB,MAAMA,EAAa,SAASL,KAAYO,KAAW,CAACQ,KAAO,KAAQ;AAAA,QACnE,SAASA;AAAA,QAER,UAAAO;AAAA,MAAA;AAAA,IAAA,IAPYA;AAAA,EAUnB;AACF;AACAzB,EAAO,cAAc;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Button.stories.js","sources":["../../src/Button/Button.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react';\n\nimport { Button } from './Button';\nimport { ButtonProps } from './Button.types';\nimport React from 'react';\nimport { PlusIcon, Trash2Icon, FileDownIcon } from 'lucide-react';\nimport { DashedWrapper } from \"../../.storybook/Wrappers\";\n\nconst States = (props: ButtonProps) => (\n <div\n style={{\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n gap: '16px',\n }}\n >\n {[ 'default', 'hover', 'focus', 'active', 'disabled', 'loading' ]\n .map((state) => (\n <Button\n key={state}\n id={state}\n {...props}\n disabled={state === 'disabled' || props.disabled}\n loading={state === 'loading' || props.loading}\n >\n {props.children}\n </Button>\n ))}\n </div>\n);\n\nconst variants: ButtonProps['variant'][] = [ 'none', 'contained', 'outlined', 'ghost' ]\nconst colors: ButtonProps['color'][] = [ 'primary', 'secondary', 'error' ]\nconst sizes: ButtonProps['size'][] = [ 'xs', 'sm', 'md', 'lg' ]\n\nconst variant_default: ButtonProps['variant'] = 'contained';\nconst color_default: ButtonProps['color'] = 'primary';\nconst size_default: ButtonProps['size'] = 'lg';\n\nconst iconMap = {\n 'undefined': undefined,\n \"<PlusIcon />\": <PlusIcon/>,\n \"<Trash2Icon />\": <Trash2Icon/>,\n \"<FileDownIcon />\": <FileDownIcon/>,\n PlusIcon: PlusIcon,\n Trash2Icon: Trash2Icon,\n FileDownIcon: FileDownIcon,\n};\n\nconst meta = {\n title: 'Button',\n component: Button,\n // render: Template,\n args: {\n tooltip: undefined,\n asChild: false,\n //\n variant: variant_default,\n color: color_default,\n size: size_default,\n loading: false,\n disabled: false,\n startAdornment: undefined,\n endAdornment: undefined,\n slotProps: {},\n tooltipProps: {}\n },\n argTypes: {\n tooltip: {\n name: 'tooltip',\n description: 'Button tooltip from ButtonProps [deprecated, use title and message instead]',\n control: false,\n },\n asChild: {\n name: 'asChild',\n description: 'Button asChild from ButtonProps [boolean]',\n control: false\n },\n variant: {\n name: 'variant',\n description: 'Button variant from ButtonProps',\n options: variants,\n control: { type: 'inline-radio', }\n },\n color: {\n name: 'color',\n description: 'Button color from ButtonProps',\n options: colors,\n control: { type: 'inline-radio' }\n },\n size: {\n name: 'size',\n description: 'Button size from ButtonProps',\n options: sizes,\n control: { type: 'inline-radio' }\n },\n title: {\n name: 'title',\n description: \"Button tooltip title from HTMLAttributes<HTMLButtonElement> [string only]\",\n control: { type: 'text' },\n },\n message: {\n name: 'message',\n description: 'Button tooltip message from ButtonProps [ReactNode]',\n control: { type: \"object\" },\n },\n startAdornment: {\n name: 'startAdornment',\n description: 'Button startAdornment from ButtonProps [`undefined` | `ComponentType<SVGProps<SVGSVGElement>>` | `ReactElement<SVGProps<SVGSVGElement>>`]',\n options: Object.keys(iconMap),\n mapping: iconMap,\n control: { type: 'inline-radio' },\n },\n endAdornment: {\n name: 'endAdornment',\n description: 'Button endAdornment from ButtonProps [`undefined` | `ComponentType<SVGProps<SVGSVGElement>>` | `ReactElement<SVGProps<SVGSVGElement>>`]',\n options: Object.keys(iconMap),\n mapping: iconMap,\n control: { type: 'inline-radio' },\n },\n slotProps: {\n name: 'slotProps',\n description: 'Button slotProps from ButtonProps [object]',\n control: { type: \"object\" },\n },\n tooltipProps: {\n name: 'tooltipProps',\n description: 'Button tooltipProps from ButtonProps [object]',\n control: { type: \"object\" },\n },\n },\n parameters: {\n pseudo: {\n hover: '#hover',\n focus: '#focus',\n active: '#active',\n disabled: '#disabled',\n },\n }\n} satisfies Meta<typeof Button>;\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\nconst args: Story['args'] = {\n ...meta.args,\n startAdornment: <PlusIcon/>,\n endAdornment: <PlusIcon/>,\n children: 'children',\n}\n\nexport const Default: Story = {\n args: {\n ...meta.args,\n children: '_children_',\n }\n};\n\nexport const Disabled: Story = {\n render: (props) => (\n <DashedWrapper>\n <Button {...props} />\n <Button {...props} startAdornment={<PlusIcon/>}/>\n <Button {...props} startAdornment={<PlusIcon/>} endAdornment={<PlusIcon/>}/>\n <Button {...props} endAdornment={<PlusIcon/>}/>\n </DashedWrapper>\n ),\n args: {\n ...meta.args,\n disabled: true,\n children: 'disabled',\n }\n};\n\nexport const Loading: Story = {\n render: (props) => (\n <DashedWrapper>\n <Button {...props} />\n <Button {...props} startAdornment={<PlusIcon/>}/>\n <Button {...props} startAdornment={<PlusIcon/>} endAdornment={<PlusIcon/>}/>\n <Button {...props} endAdornment={<PlusIcon/>}/>\n </DashedWrapper>\n ),\n args: {\n children: 'Loading…',\n loading: true,\n },\n};\n\nexport const Tooltips: Story = {\n render: (props) => (\n <DashedWrapper>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>\n <Button\n {...props}\n title='delayDuration: 0'\n tooltipProps={{ delayDuration: 0 }}\n >\n delayDuration: 0\n </Button>\n <Button\n {...props}\n title='delayDuration: 300 [default]'\n tooltipProps={{ delayDuration: 300 }}\n >\n delayDuration: 300\n </Button>\n <Button\n {...props}\n title='delayDuration: 700'\n tooltipProps={{ delayDuration: 700 }}\n >\n delayDuration: 700\n </Button>\n\n <Button {...props} title='title_string'>title</Button>\n <Button {...props} message='message_string'>message: string</Button>\n <Button\n {...props}\n message={<span>message_node_span</span>}\n >\n message: ReactNode\n </Button>\n <Button\n {...props}\n message='message_string'\n tooltipProps={{\n showQuestionMark: true\n }}\n >\n showQuestionMark: true\n </Button>\n </div>\n </DashedWrapper>\n ),\n args: {\n children: 'tooltips',\n tooltipProps: {\n defaultOpen: true\n },\n },\n};\n\nexport const Primary: Story = {\n args: {\n ...args,\n color: 'primary',\n size: 'lg',\n children: 'Створити',\n },\n argTypes: {\n variant: { control: false },\n color: { control: false },\n },\n render: (props) => (\n <div className='flex'>\n <DashedWrapper>\n <States {...props} variant='contained'/>\n <States {...props} variant='outlined'/>\n <States {...props} variant='ghost'/>\n </DashedWrapper>\n </div>\n ),\n};\n\nexport const Secondary: Story = {\n args: {\n ...args,\n color: 'secondary',\n size: 'lg',\n children: 'Створити',\n },\n argTypes: {\n variant: { control: false },\n color: { control: false },\n },\n render: (props) => (\n <div className='flex'>\n <DashedWrapper>\n <States {...props} variant='contained'/>\n <States {...props} variant='outlined'/>\n <States {...props} variant='ghost'/>\n </DashedWrapper>\n </div>\n ),\n};\n\nexport const Error: Story = {\n args: {\n ...args,\n color: 'error',\n size: 'lg',\n children: 'Створити',\n },\n argTypes: {\n variant: { control: false },\n color: { control: false },\n },\n render: (props) => (\n <div className='flex'>\n <DashedWrapper>\n <States {...props} variant='contained'/>\n <States {...props} variant='outlined'/>\n <States {...props} variant='ghost'/>\n </DashedWrapper>\n </div>\n ),\n};\n"],"names":["States","props","jsx","state","Button","variants","colors","sizes","variant_default","color_default","size_default","iconMap","PlusIcon","Trash2Icon","FileDownIcon","meta","args","Default","Disabled","jsxs","DashedWrapper","Loading","Tooltips","Primary","Secondary","Error"],"mappings":"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"}
1
+ {"version":3,"file":"Button.stories.js","sources":["../../src/Button/Button.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react';\r\n\r\nimport { Button } from './Button';\r\nimport { ButtonProps } from './Button.types';\r\nimport React from 'react';\r\nimport { PlusIcon, Trash2Icon, FileDownIcon } from 'lucide-react';\r\nimport { DashedWrapper } from \"../../.storybook/Wrappers\";\r\n\r\nconst States = (props: ButtonProps) => (\r\n <div\r\n style={{\r\n position: 'relative',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n gap: '16px',\r\n }}\r\n >\r\n {[ 'default', 'hover', 'focus', 'active', 'disabled', 'loading' ]\r\n .map((state) => (\r\n <Button\r\n key={state}\r\n id={state}\r\n {...props}\r\n disabled={state === 'disabled' || props.disabled}\r\n loading={state === 'loading' || props.loading}\r\n >\r\n {props.children}\r\n </Button>\r\n ))}\r\n </div>\r\n);\r\n\r\nconst variants: ButtonProps['variant'][] = [ 'none', 'contained', 'outlined', 'ghost' ]\r\nconst colors: ButtonProps['color'][] = [ 'primary', 'secondary', 'error' ]\r\nconst sizes: ButtonProps['size'][] = [ 'xs', 'sm', 'md', 'lg' ]\r\n\r\nconst variant_default: ButtonProps['variant'] = 'contained';\r\nconst color_default: ButtonProps['color'] = 'primary';\r\nconst size_default: ButtonProps['size'] = 'lg';\r\n\r\nconst iconMap = {\r\n 'undefined': undefined,\r\n \"<PlusIcon />\": <PlusIcon/>,\r\n \"<Trash2Icon />\": <Trash2Icon/>,\r\n \"<FileDownIcon />\": <FileDownIcon/>,\r\n PlusIcon: PlusIcon,\r\n Trash2Icon: Trash2Icon,\r\n FileDownIcon: FileDownIcon,\r\n};\r\n\r\nconst meta = {\r\n title: 'Button',\r\n component: Button,\r\n // render: Template,\r\n args: {\r\n tooltip: undefined,\r\n asChild: false,\r\n //\r\n variant: variant_default,\r\n color: color_default,\r\n size: size_default,\r\n loading: false,\r\n disabled: false,\r\n startAdornment: undefined,\r\n endAdornment: undefined,\r\n slotProps: {},\r\n tooltipProps: {}\r\n },\r\n argTypes: {\r\n tooltip: {\r\n name: 'tooltip',\r\n description: 'Button tooltip from ButtonProps [deprecated, use title and message instead]',\r\n control: false,\r\n },\r\n asChild: {\r\n name: 'asChild',\r\n description: 'Button asChild from ButtonProps [boolean]',\r\n control: false\r\n },\r\n variant: {\r\n name: 'variant',\r\n description: 'Button variant from ButtonProps',\r\n options: variants,\r\n control: { type: 'inline-radio', }\r\n },\r\n color: {\r\n name: 'color',\r\n description: 'Button color from ButtonProps',\r\n options: colors,\r\n control: { type: 'inline-radio' }\r\n },\r\n size: {\r\n name: 'size',\r\n description: 'Button size from ButtonProps',\r\n options: sizes,\r\n control: { type: 'inline-radio' }\r\n },\r\n title: {\r\n name: 'title',\r\n description: \"Button tooltip title from HTMLAttributes<HTMLButtonElement> [string only]\",\r\n control: { type: 'text' },\r\n },\r\n message: {\r\n name: 'message',\r\n description: 'Button tooltip message from ButtonProps [ReactNode]',\r\n control: { type: \"object\" },\r\n },\r\n startAdornment: {\r\n name: 'startAdornment',\r\n description: 'Button startAdornment from ButtonProps [`undefined` | `ComponentType<SVGProps<SVGSVGElement>>` | `ReactElement<SVGProps<SVGSVGElement>>`]',\r\n options: Object.keys(iconMap),\r\n mapping: iconMap,\r\n control: { type: 'inline-radio' },\r\n },\r\n endAdornment: {\r\n name: 'endAdornment',\r\n description: 'Button endAdornment from ButtonProps [`undefined` | `ComponentType<SVGProps<SVGSVGElement>>` | `ReactElement<SVGProps<SVGSVGElement>>`]',\r\n options: Object.keys(iconMap),\r\n mapping: iconMap,\r\n control: { type: 'inline-radio' },\r\n },\r\n slotProps: {\r\n name: 'slotProps',\r\n description: 'Button slotProps from ButtonProps [object]',\r\n control: { type: \"object\" },\r\n },\r\n tooltipProps: {\r\n name: 'tooltipProps',\r\n description: 'Button tooltipProps from ButtonProps [object]',\r\n control: { type: \"object\" },\r\n },\r\n },\r\n parameters: {\r\n pseudo: {\r\n hover: '#hover',\r\n focus: '#focus',\r\n active: '#active',\r\n disabled: '#disabled',\r\n },\r\n }\r\n} satisfies Meta<typeof Button>;\r\nexport default meta;\r\n\r\ntype Story = StoryObj<typeof meta>;\r\nconst args: Story['args'] = {\r\n ...meta.args,\r\n startAdornment: <PlusIcon/>,\r\n endAdornment: <PlusIcon/>,\r\n children: 'children',\r\n}\r\n\r\nexport const Default: Story = {\r\n args: {\r\n ...meta.args,\r\n children: '_children_',\r\n }\r\n};\r\n\r\nexport const Disabled: Story = {\r\n render: (props) => (\r\n <DashedWrapper>\r\n <Button {...props} />\r\n <Button {...props} startAdornment={<PlusIcon/>}/>\r\n <Button {...props} startAdornment={<PlusIcon/>} endAdornment={<PlusIcon/>}/>\r\n <Button {...props} endAdornment={<PlusIcon/>}/>\r\n </DashedWrapper>\r\n ),\r\n args: {\r\n ...meta.args,\r\n disabled: true,\r\n children: 'disabled',\r\n }\r\n};\r\n\r\nexport const Loading: Story = {\r\n render: (props) => (\r\n <DashedWrapper>\r\n <Button {...props} />\r\n <Button {...props} startAdornment={<PlusIcon/>}/>\r\n <Button {...props} startAdornment={<PlusIcon/>} endAdornment={<PlusIcon/>}/>\r\n <Button {...props} endAdornment={<PlusIcon/>}/>\r\n </DashedWrapper>\r\n ),\r\n args: {\r\n children: 'Loading…',\r\n loading: true,\r\n },\r\n};\r\n\r\nexport const Tooltips: Story = {\r\n render: (props) => (\r\n <DashedWrapper>\r\n <div style={{ display: 'flex', flexDirection: 'column', gap: '16px' }}>\r\n <Button\r\n {...props}\r\n title='delayDuration: 0'\r\n tooltipProps={{ delayDuration: 0 }}\r\n >\r\n delayDuration: 0\r\n </Button>\r\n <Button\r\n {...props}\r\n title='delayDuration: 300 [default]'\r\n tooltipProps={{ delayDuration: 300 }}\r\n >\r\n delayDuration: 300\r\n </Button>\r\n <Button\r\n {...props}\r\n title='delayDuration: 700'\r\n tooltipProps={{ delayDuration: 700 }}\r\n >\r\n delayDuration: 700\r\n </Button>\r\n\r\n <Button {...props} title='title_string'>title</Button>\r\n <Button {...props} message='message_string'>message: string</Button>\r\n <Button\r\n {...props}\r\n message={<span>message_node_span</span>}\r\n >\r\n message: ReactNode\r\n </Button>\r\n <Button\r\n {...props}\r\n message='message_string'\r\n tooltipProps={{\r\n showQuestionMark: true\r\n }}\r\n >\r\n showQuestionMark: true\r\n </Button>\r\n </div>\r\n </DashedWrapper>\r\n ),\r\n args: {\r\n children: 'tooltips',\r\n tooltipProps: {\r\n defaultOpen: true\r\n },\r\n },\r\n};\r\n\r\nexport const Primary: Story = {\r\n args: {\r\n ...args,\r\n color: 'primary',\r\n size: 'lg',\r\n children: 'Створити',\r\n },\r\n argTypes: {\r\n variant: { control: false },\r\n color: { control: false },\r\n },\r\n render: (props) => (\r\n <div className='flex'>\r\n <DashedWrapper>\r\n <States {...props} variant='contained'/>\r\n <States {...props} variant='outlined'/>\r\n <States {...props} variant='ghost'/>\r\n </DashedWrapper>\r\n </div>\r\n ),\r\n};\r\n\r\nexport const Secondary: Story = {\r\n args: {\r\n ...args,\r\n color: 'secondary',\r\n size: 'lg',\r\n children: 'Створити',\r\n },\r\n argTypes: {\r\n variant: { control: false },\r\n color: { control: false },\r\n },\r\n render: (props) => (\r\n <div className='flex'>\r\n <DashedWrapper>\r\n <States {...props} variant='contained'/>\r\n <States {...props} variant='outlined'/>\r\n <States {...props} variant='ghost'/>\r\n </DashedWrapper>\r\n </div>\r\n ),\r\n};\r\n\r\nexport const Error: Story = {\r\n args: {\r\n ...args,\r\n color: 'error',\r\n size: 'lg',\r\n children: 'Створити',\r\n },\r\n argTypes: {\r\n variant: { control: false },\r\n color: { control: false },\r\n },\r\n render: (props) => (\r\n <div className='flex'>\r\n <DashedWrapper>\r\n <States {...props} variant='contained'/>\r\n <States {...props} variant='outlined'/>\r\n <States {...props} variant='ghost'/>\r\n </DashedWrapper>\r\n </div>\r\n ),\r\n};\r\n"],"names":["States","props","jsx","state","Button","variants","colors","sizes","variant_default","color_default","size_default","iconMap","PlusIcon","Trash2Icon","FileDownIcon","meta","args","Default","Disabled","jsxs","DashedWrapper","Loading","Tooltips","Primary","Secondary","Error"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ButtonIconType } from './Button.types';
2
+ export declare const renderInnerIcon: (Icon?: ButtonIconType) => import('react').ReactElement<import('react').SVGProps<SVGSVGElement>, string | import('react').JSXElementConstructor<any>> | null;
3
+ //# sourceMappingURL=Button.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.utils.d.ts","sourceRoot":"","sources":["../../src/Button/Button.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,eAAO,MAAM,eAAe,GAAI,OAAO,cAAc,sIAQpD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { isValidElement as t, createElement as n, cloneElement as i } from "react";
2
+ const o = (e) => {
3
+ if (!e) return null;
4
+ if (t(e)) return e;
5
+ const r = n(e);
6
+ return i(r, {
7
+ strokeWidth: 1.5,
8
+ ...r.props
9
+ });
10
+ };
11
+ export {
12
+ o as renderInnerIcon
13
+ };
14
+ //# sourceMappingURL=Button.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.utils.js","sources":["../../src/Button/Button.utils.ts"],"sourcesContent":["import { ButtonIconType } from \"./Button.types\";\r\nimport { cloneElement, createElement, isValidElement } from \"react\";\r\n\r\nexport const renderInnerIcon = (Icon?: ButtonIconType) => {\r\n if (!Icon) return null;\r\n if (isValidElement(Icon)) return Icon;\r\n const icon = createElement(Icon);\r\n return cloneElement(icon, {\r\n strokeWidth: 1.5,\r\n ...icon.props,\r\n });\r\n};\r\n"],"names":["renderInnerIcon","Icon","isValidElement","icon","createElement","cloneElement"],"mappings":";AAGO,MAAMA,IAAkB,CAACC,MAA0B;AACxD,MAAI,CAACA,EAAM,QAAO;AAClB,MAAIC,EAAeD,CAAI,EAAG,QAAOA;AACjC,QAAME,IAAOC,EAAcH,CAAI;AAC/B,SAAOI,EAAaF,GAAM;AAAA,IACxB,aAAa;AAAA,IACb,GAAGA,EAAK;AAAA,EAAA,CACT;AACH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonCounterBadge.js","sources":["../../src/Button/ButtonCounterBadge.tsx"],"sourcesContent":["import { ButtonCounterBadgeReader, ButtonCounterBadgeReaderOptions } from \"./Button.types\";\nimport { type ButtonBadgeCVAProps, buttonBadgeVariants } from \"./buttonVariants\";\nimport { cn } from \"@oneplatformdev/utils\";\n\nexport interface ButtonCounterBadgeProps extends ButtonBadgeCVAProps {\n counter?: ButtonCounterBadgeReader;\n}\n\nconst normalizeCounter = (counter: ButtonCounterBadgeReader): ButtonCounterBadgeReaderOptions | null => {\n if(!counter) return null\n if(typeof counter === 'number') return { count: counter };\n return counter;\n}\n\nconst MIN_COUNT = 99;\nconst normalizeCount = (count: number): number => {\n const c = count || 0;\n return Math.max(0, Math.min(c, MIN_COUNT));\n}\n\nconst isOverflown = (count: number): boolean => count > MIN_COUNT\n\nexport const ButtonCounterBadge = (props: ButtonCounterBadgeProps) => {\n const {counter: initializeCounter, ...rest} = props;\n const counter = normalizeCounter(initializeCounter);\n if(!counter?.count) return null;\n return (\n <div\n className={cn(buttonBadgeVariants({ ...rest }))}\n >\n {normalizeCount(counter.count)}\n {isOverflown(counter.count) && (\n <span className=\"relative -top-[0.5px]\">+</span>\n )}\n </div>\n )\n}\n"],"names":["normalizeCounter","counter","MIN_COUNT","normalizeCount","count","isOverflown","ButtonCounterBadge","props","initializeCounter","rest","jsxs","cn","buttonBadgeVariants"],"mappings":";;;AAQA,MAAMA,IAAmB,CAACC,MACpBA,IACD,OAAOA,KAAY,WAAiB,EAAE,OAAOA,EAAA,IACzCA,IAFa,MAKhBC,IAAY,IACZC,IAAiB,CAACC,MAEf,KAAK,IAAI,GAAG,KAAK,IADdA,KAAS,GACYF,CAAS,CAAC,GAGrCG,IAAc,CAACD,MAA2BA,IAAQF,GAE3CI,IAAqB,CAACC,MAAmC;AACpE,QAAM,EAAC,SAASC,GAAmB,GAAGC,MAAQF,GACxCN,IAAUD,EAAiBQ,CAAiB;AAClD,SAAIP,GAAS,QAEX,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAGC,EAAoB,EAAE,GAAGH,EAAA,CAAM,CAAC;AAAA,MAE7C,UAAA;AAAA,QAAAN,EAAeF,EAAQ,KAAK;AAAA,QAC5BI,EAAYJ,EAAQ,KAAK,uBACvB,QAAA,EAAK,WAAU,yBAAwB,UAAA,IAAA,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IAPpB;AAW7B;"}
1
+ {"version":3,"file":"ButtonCounterBadge.js","sources":["../../src/Button/ButtonCounterBadge.tsx"],"sourcesContent":["import { ButtonCounterBadgeReader, ButtonCounterBadgeReaderOptions } from \"./Button.types\";\r\nimport { type ButtonBadgeCVAProps, buttonBadgeVariants } from \"./buttonVariants\";\r\nimport { cn } from \"@oneplatformdev/utils\";\r\n\r\nexport interface ButtonCounterBadgeProps extends ButtonBadgeCVAProps {\r\n counter?: ButtonCounterBadgeReader;\r\n}\r\n\r\nconst normalizeCounter = (counter: ButtonCounterBadgeReader): ButtonCounterBadgeReaderOptions | null => {\r\n if(!counter) return null\r\n if(typeof counter === 'number') return { count: counter };\r\n return counter;\r\n}\r\n\r\nconst MIN_COUNT = 99;\r\nconst normalizeCount = (count: number): number => {\r\n const c = count || 0;\r\n return Math.max(0, Math.min(c, MIN_COUNT));\r\n}\r\n\r\nconst isOverflown = (count: number): boolean => count > MIN_COUNT\r\n\r\nexport const ButtonCounterBadge = (props: ButtonCounterBadgeProps) => {\r\n const {counter: initializeCounter, ...rest} = props;\r\n const counter = normalizeCounter(initializeCounter);\r\n if(!counter?.count) return null;\r\n return (\r\n <div\r\n className={cn(buttonBadgeVariants({ ...rest }))}\r\n >\r\n {normalizeCount(counter.count)}\r\n {isOverflown(counter.count) && (\r\n <span className=\"relative -top-[0.5px]\">+</span>\r\n )}\r\n </div>\r\n )\r\n}\r\n"],"names":["normalizeCounter","counter","MIN_COUNT","normalizeCount","count","isOverflown","ButtonCounterBadge","props","initializeCounter","rest","jsxs","cn","buttonBadgeVariants"],"mappings":";;;AAQA,MAAMA,IAAmB,CAACC,MACpBA,IACD,OAAOA,KAAY,WAAiB,EAAE,OAAOA,EAAA,IACzCA,IAFa,MAKhBC,IAAY,IACZC,IAAiB,CAACC,MAEf,KAAK,IAAI,GAAG,KAAK,IADdA,KAAS,GACYF,CAAS,CAAC,GAGrCG,IAAc,CAACD,MAA2BA,IAAQF,GAE3CI,IAAqB,CAACC,MAAmC;AACpE,QAAM,EAAC,SAASC,GAAmB,GAAGC,MAAQF,GACxCN,IAAUD,EAAiBQ,CAAiB;AAClD,SAAIP,GAAS,QAEX,gBAAAS;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAGC,EAAoB,EAAE,GAAGH,EAAA,CAAM,CAAC;AAAA,MAE7C,UAAA;AAAA,QAAAN,EAAeF,EAAQ,KAAK;AAAA,QAC5BI,EAAYJ,EAAQ,KAAK,uBACvB,QAAA,EAAK,WAAU,yBAAwB,UAAA,IAAA,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,IAPpB;AAW7B;"}
@@ -1 +1 @@
1
- {"version":3,"file":"buttonVariants.d.ts","sourceRoot":"","sources":["../../src/Button/buttonVariants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,eAAO,MAAM,cAAc;;;;8EA8I1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;;;;;8EAoE/B,CAAA;AACD,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"buttonVariants.d.ts","sourceRoot":"","sources":["../../src/Button/buttonVariants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,eAAO,MAAM,cAAc;;;;8EA+I1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtE,eAAO,MAAM,mBAAmB;;;;;;8EAoE/B,CAAA;AACD,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -7,7 +7,8 @@ const s = r(
7
7
  "cursor-pointer",
8
8
  "transition-colors focus-visible:outline-hidden focus-visible:ring-none focus-visible:ring-transparent",
9
9
  "disabled:pointer-events-none disabled:cursor-default",
10
- "[&_svg]:pointer-events-none [&_svg]:shrink-0"
10
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0",
11
+ "transition-transform duration-200 [&_svg]:transition-transform [&_svg]:duration-200"
11
12
  ],
12
13
  {
13
14
  variants: {
@@ -1 +1 @@
1
- {"version":3,"file":"buttonVariants.js","sources":["../../src/Button/buttonVariants.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from \"@oneplatformdev/utils\";\n\nexport const buttonVariants = cva(\n [\n \"inline-flex items-center justify-center box-border\",\n 'whitespace-nowrap font-medium',\n 'cursor-pointer',\n \"transition-colors focus-visible:outline-hidden focus-visible:ring-none focus-visible:ring-transparent\",\n \"disabled:pointer-events-none disabled:cursor-default\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0\",\n ],\n {\n variants: {\n variant: {\n none: \"\",\n contained: \"\",\n outlined: \"\",\n ghost: '',\n },\n color: {\n primary: '',\n secondary: '',\n error: '',\n },\n size: {\n xs: 'rounded-sm p-1 gap-1 text-xs min-h-4 min-w-14',\n sm: 'rounded-md p-1 gap-1 text-sm min-h-6 min-w-20',\n md: cn(\n 'min-h-8 min-w-[102px] rounded-lg gap-1 px-2 py-1',\n 'text-sm leading-[1.12] [&_svg]:size-6',\n ),\n lg: cn(\n \"min-h-10 min-w-35 rounded-lg gap-1 px-2.5 py-1.5\",\n 'text-base leading-normal [&_svg]:size-6',\n )\n }\n },\n compoundVariants: [\n // PRIMARY BUTTON VARIANTS\n {\n color: 'primary',\n variant: 'contained',\n className: cn(\n 'bg-[#9368FF] border border-[#9368FF] text-[#FCFCFC] [&_svg]:text-[#FCFCFC]',\n 'hover:bg-[#7F4EEB]',\n 'focus:bg-[#7F4EEB] focus:border-[#6B3DD9]',\n 'active:bg-[#6B3DD9]',\n 'disabled:bg-[#E8E9EB] disabled:border-[#E8E9EB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'primary',\n variant: 'outlined',\n className: cn(\n 'bg-transparent border border-[#9368FF] text-[#9368FF] [&_svg]:text-[#9368FF]',\n 'hover:bg-[#9368FF0F]',\n 'active:bg-[#9368FF0F] active:border-[#6B3DD9]',\n 'disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'primary',\n variant: 'ghost',\n className: cn(\n 'bg-transparent border border-transparent text-[#9368FF] [&_svg]:text-[#9368FF]',\n 'hover:text-[#6B3DD9] hover:[&_svg]:text-[#6B3DD9]',\n 'focus:text-[#6B3DD9] focus:[&_svg]:text-[#6B3DD9]',\n 'active:bg-[#9368FF0F]',\n 'disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n // SECONDARY BUTTON VARIANTS\n {\n color: 'secondary',\n variant: 'contained',\n className: cn(\n 'bg-[#FCFCFC] border border-[#E1E1E5] text-[#06080D] [&_svg]:text-[#06080D]',\n 'hover:bg-[#F9FAFB] hover:border-[#E1E1E5]',\n 'focus:bg-[#FCFCFC] focus:border-[#C5C7CD]',\n 'active:bg-[#F9FAFB] active:border-[#C5C7CD]',\n 'disabled:bg-[#FCFCFC] disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'secondary',\n variant: 'outlined',\n className: cn(\n 'bg-transparent border border-[#E1E1E5] text-[#06080D] [&_svg]:text-[#06080D]',\n 'hover:bg-[#F9FAFB] hover:border-[#E1E1E5]',\n 'focus:bg-[#FCFCFC] focus:border-[#C5C7CD]',\n 'active:bg-[#F9FAFB] active:border-[#C5C7CD]',\n 'disabled:bg-[#FCFCFC] disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'secondary',\n variant: 'ghost',\n className: cn(\n 'text-[#06080D] [&_svg]:text-[#06080D] bg-transparent border border-transparent',\n 'hover:bg-[#F9FAFB]',\n 'focus:bg-[#FCFCFC]',\n 'active:bg-[#F9FAFB]',\n 'disabled:bg-[#FCFCFC] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n // ERROR BUTTON VARIANTS\n {\n color: 'error',\n variant: 'contained',\n className: cn(\n 'bg-[#EF4444] border border-[#EF4444] text-[#FCFCFC] [&_svg]:text-[#FCFCFC]',\n 'hover:bg-[#DC2626]',\n 'focus:bg-[#DC2626]',\n 'active:bg-[#DC2626]',\n 'disabled:bg-[#E8E9EB] disabled:border-[#E8E9EB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'error',\n variant: 'outlined',\n className: cn(\n 'bg-transparent border border-[#EF4444] text-[#EF4444] [&_svg]:text-[#EF4444]',\n 'hover:bg-[#EF44440F]',\n 'active:bg-[#DC26260F] active:border-[#DC2626]',\n 'disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'error',\n variant: 'ghost',\n className: cn(\n 'bg-transparent border border-transparent text-[#EF4444] [&_svg]:text-[#EF4444]',\n 'hover:bg-[#EF44440F] hover:text-[#DC2626] hover:[&_svg]:text-[#DC2626]',\n 'active:bg-[#DC26260F] active:border-[#DC2626]',\n 'disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n ],\n defaultVariants: {\n variant: 'contained',\n color: 'primary',\n size: 'lg',\n },\n }\n)\n\nexport type ButtonVarianceProps = VariantProps<typeof buttonVariants>;\n\nexport const buttonBadgeVariants = cva(\n [\n 'absolute z-0',\n 'flex items-center justify-center text-center p-0',\n 'font-medium leading-none tracking-tighter',\n 'rounded-full w-fit min-w-4 h-4 text-[10px] px-0.5 box-border',\n ],\n {\n variants: {\n variant: {\n none: '',\n contained: '',\n outlined: '',\n ghost: \"\",\n },\n color: {\n primary: \"\",\n secondary: \"\",\n error: \"\"\n },\n size: {\n xs: '',\n sm: '',\n md: '',\n lg: '-top-[2px] left-[14px]',\n },\n rounded: {\n true: 'left-1/2 -translate-x-1/2 -translate-y-1/2',\n false: '',\n },\n disabled: {\n true: '',\n false: '',\n }\n },\n compoundVariants: [\n // SIZE XS\n { size: 'xs', rounded: false, className: '-top-px -right-px translate-x-1/2 -translate-y-1/2' },\n { size: 'xs', rounded: true, className: '-top-px' },\n // SIZE SM\n { size: 'sm', rounded: false, className: 'top-0 right-0 translate-x-1/2 -translate-y-1/2' },\n { size: 'sm', rounded: true, className: '-top-[3px]' },\n // SIZE MD\n { size: 'md', rounded: false, className: '-top-[4px] left-[12px]' },\n { size: 'md', rounded: true, className: '-top-[6px]' },\n // SIZE LG\n { size: 'lg', rounded: false, className: '-top-[4px] left-[12px]' },\n { size: 'lg', rounded: true, className: '-top-2' },\n\n // COLORS\n {\n color: ['primary', 'secondary', 'error'],\n className: 'bg-[#9368FF] text-[#FCFCFC]',\n },\n {\n color: ['primary', 'secondary', 'error'],\n disabled: true,\n className: 'bg-[#666A78] text-[#FCFCFC]'\n },\n ],\n defaultVariants: {\n color: \"primary\",\n variant: \"contained\",\n size: \"lg\",\n disabled: false,\n rounded: false,\n },\n }\n)\nexport type ButtonBadgeCVAProps = VariantProps<typeof buttonBadgeVariants>;\n"],"names":["buttonVariants","cva","cn","buttonBadgeVariants"],"mappings":"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"}
1
+ {"version":3,"file":"buttonVariants.js","sources":["../../src/Button/buttonVariants.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\r\nimport { cn } from \"@oneplatformdev/utils\";\r\n\r\nexport const buttonVariants = cva(\r\n [\r\n \"inline-flex items-center justify-center box-border\",\r\n 'whitespace-nowrap font-medium',\r\n 'cursor-pointer',\r\n \"transition-colors focus-visible:outline-hidden focus-visible:ring-none focus-visible:ring-transparent\",\r\n \"disabled:pointer-events-none disabled:cursor-default\",\r\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0\",\r\n 'transition-transform duration-200 [&_svg]:transition-transform [&_svg]:duration-200',\r\n ],\r\n {\r\n variants: {\r\n variant: {\r\n none: \"\",\r\n contained: \"\",\r\n outlined: \"\",\r\n ghost: '',\r\n },\r\n color: {\r\n primary: '',\r\n secondary: '',\r\n error: '',\r\n },\r\n size: {\r\n xs: 'rounded-sm p-1 gap-1 text-xs min-h-4 min-w-14',\r\n sm: 'rounded-md p-1 gap-1 text-sm min-h-6 min-w-20',\r\n md: cn(\r\n 'min-h-8 min-w-[102px] rounded-lg gap-1 px-2 py-1',\r\n 'text-sm leading-[1.12] [&_svg]:size-6',\r\n ),\r\n lg: cn(\r\n \"min-h-10 min-w-35 rounded-lg gap-1 px-2.5 py-1.5\",\r\n 'text-base leading-normal [&_svg]:size-6',\r\n )\r\n }\r\n },\r\n compoundVariants: [\r\n // PRIMARY BUTTON VARIANTS\r\n {\r\n color: 'primary',\r\n variant: 'contained',\r\n className: cn(\r\n 'bg-[#9368FF] border border-[#9368FF] text-[#FCFCFC] [&_svg]:text-[#FCFCFC]',\r\n 'hover:bg-[#7F4EEB]',\r\n 'focus:bg-[#7F4EEB] focus:border-[#6B3DD9]',\r\n 'active:bg-[#6B3DD9]',\r\n 'disabled:bg-[#E8E9EB] disabled:border-[#E8E9EB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\r\n ),\r\n },\r\n {\r\n color: 'primary',\r\n variant: 'outlined',\r\n className: cn(\r\n 'bg-transparent border border-[#9368FF] text-[#9368FF] [&_svg]:text-[#9368FF]',\r\n 'hover:bg-[#9368FF0F]',\r\n 'active:bg-[#9368FF0F] active:border-[#6B3DD9]',\r\n 'disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\r\n ),\r\n },\r\n {\r\n color: 'primary',\r\n variant: 'ghost',\r\n className: cn(\r\n 'bg-transparent border border-transparent text-[#9368FF] [&_svg]:text-[#9368FF]',\r\n 'hover:text-[#6B3DD9] hover:[&_svg]:text-[#6B3DD9]',\r\n 'focus:text-[#6B3DD9] focus:[&_svg]:text-[#6B3DD9]',\r\n 'active:bg-[#9368FF0F]',\r\n 'disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\r\n ),\r\n },\r\n // SECONDARY BUTTON VARIANTS\r\n {\r\n color: 'secondary',\r\n variant: 'contained',\r\n className: cn(\r\n 'bg-[#FCFCFC] border border-[#E1E1E5] text-[#06080D] [&_svg]:text-[#06080D]',\r\n 'hover:bg-[#F9FAFB] hover:border-[#E1E1E5]',\r\n 'focus:bg-[#FCFCFC] focus:border-[#C5C7CD]',\r\n 'active:bg-[#F9FAFB] active:border-[#C5C7CD]',\r\n 'disabled:bg-[#FCFCFC] disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\r\n ),\r\n },\r\n {\r\n color: 'secondary',\r\n variant: 'outlined',\r\n className: cn(\r\n 'bg-transparent border border-[#E1E1E5] text-[#06080D] [&_svg]:text-[#06080D]',\r\n 'hover:bg-[#F9FAFB] hover:border-[#E1E1E5]',\r\n 'focus:bg-[#FCFCFC] focus:border-[#C5C7CD]',\r\n 'active:bg-[#F9FAFB] active:border-[#C5C7CD]',\r\n 'disabled:bg-[#FCFCFC] disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\r\n ),\r\n },\r\n {\r\n color: 'secondary',\r\n variant: 'ghost',\r\n className: cn(\r\n 'text-[#06080D] [&_svg]:text-[#06080D] bg-transparent border border-transparent',\r\n 'hover:bg-[#F9FAFB]',\r\n 'focus:bg-[#FCFCFC]',\r\n 'active:bg-[#F9FAFB]',\r\n 'disabled:bg-[#FCFCFC] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\r\n ),\r\n },\r\n // ERROR BUTTON VARIANTS\r\n {\r\n color: 'error',\r\n variant: 'contained',\r\n className: cn(\r\n 'bg-[#EF4444] border border-[#EF4444] text-[#FCFCFC] [&_svg]:text-[#FCFCFC]',\r\n 'hover:bg-[#DC2626]',\r\n 'focus:bg-[#DC2626]',\r\n 'active:bg-[#DC2626]',\r\n 'disabled:bg-[#E8E9EB] disabled:border-[#E8E9EB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\r\n ),\r\n },\r\n {\r\n color: 'error',\r\n variant: 'outlined',\r\n className: cn(\r\n 'bg-transparent border border-[#EF4444] text-[#EF4444] [&_svg]:text-[#EF4444]',\r\n 'hover:bg-[#EF44440F]',\r\n 'active:bg-[#DC26260F] active:border-[#DC2626]',\r\n 'disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\r\n ),\r\n },\r\n {\r\n color: 'error',\r\n variant: 'ghost',\r\n className: cn(\r\n 'bg-transparent border border-transparent text-[#EF4444] [&_svg]:text-[#EF4444]',\r\n 'hover:bg-[#EF44440F] hover:text-[#DC2626] hover:[&_svg]:text-[#DC2626]',\r\n 'active:bg-[#DC26260F] active:border-[#DC2626]',\r\n 'disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\r\n ),\r\n },\r\n ],\r\n defaultVariants: {\r\n variant: 'contained',\r\n color: 'primary',\r\n size: 'lg',\r\n },\r\n }\r\n)\r\n\r\nexport type ButtonVarianceProps = VariantProps<typeof buttonVariants>;\r\n\r\nexport const buttonBadgeVariants = cva(\r\n [\r\n 'absolute z-0',\r\n 'flex items-center justify-center text-center p-0',\r\n 'font-medium leading-none tracking-tighter',\r\n 'rounded-full w-fit min-w-4 h-4 text-[10px] px-0.5 box-border',\r\n ],\r\n {\r\n variants: {\r\n variant: {\r\n none: '',\r\n contained: '',\r\n outlined: '',\r\n ghost: \"\",\r\n },\r\n color: {\r\n primary: \"\",\r\n secondary: \"\",\r\n error: \"\"\r\n },\r\n size: {\r\n xs: '',\r\n sm: '',\r\n md: '',\r\n lg: '-top-[2px] left-[14px]',\r\n },\r\n rounded: {\r\n true: 'left-1/2 -translate-x-1/2 -translate-y-1/2',\r\n false: '',\r\n },\r\n disabled: {\r\n true: '',\r\n false: '',\r\n }\r\n },\r\n compoundVariants: [\r\n // SIZE XS\r\n { size: 'xs', rounded: false, className: '-top-px -right-px translate-x-1/2 -translate-y-1/2' },\r\n { size: 'xs', rounded: true, className: '-top-px' },\r\n // SIZE SM\r\n { size: 'sm', rounded: false, className: 'top-0 right-0 translate-x-1/2 -translate-y-1/2' },\r\n { size: 'sm', rounded: true, className: '-top-[3px]' },\r\n // SIZE MD\r\n { size: 'md', rounded: false, className: '-top-[4px] left-[12px]' },\r\n { size: 'md', rounded: true, className: '-top-[6px]' },\r\n // SIZE LG\r\n { size: 'lg', rounded: false, className: '-top-[4px] left-[12px]' },\r\n { size: 'lg', rounded: true, className: '-top-2' },\r\n\r\n // COLORS\r\n {\r\n color: ['primary', 'secondary', 'error'],\r\n className: 'bg-[#9368FF] text-[#FCFCFC]',\r\n },\r\n {\r\n color: ['primary', 'secondary', 'error'],\r\n disabled: true,\r\n className: 'bg-[#666A78] text-[#FCFCFC]'\r\n },\r\n ],\r\n defaultVariants: {\r\n color: \"primary\",\r\n variant: \"contained\",\r\n size: \"lg\",\r\n disabled: false,\r\n rounded: false,\r\n },\r\n }\r\n)\r\nexport type ButtonBadgeCVAProps = VariantProps<typeof buttonBadgeVariants>;\r\n"],"names":["buttonVariants","cva","cn","buttonBadgeVariants"],"mappings":"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"}
package/Button/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { Button as default, Button } from './Button';
2
2
  export * from './buttonVariants';
3
3
  export type * from './Button.types';
4
+ export * from './Button.utils';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACrD,cAAc,kBAAkB,CAAC;AACjC,mBAAmB,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACrD,cAAc,kBAAkB,CAAC;AACjC,mBAAmB,gBAAgB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
package/Button/index.js CHANGED
@@ -1,9 +1,11 @@
1
- import { Button as a, Button as n } from "./Button.js";
2
- import { buttonBadgeVariants as u, buttonVariants as e } from "./buttonVariants.js";
1
+ import { Button as r, Button as n } from "./Button.js";
2
+ import { buttonBadgeVariants as a, buttonVariants as u } from "./buttonVariants.js";
3
+ import { renderInnerIcon as d } from "./Button.utils.js";
3
4
  export {
4
- a as Button,
5
- u as buttonBadgeVariants,
6
- e as buttonVariants,
7
- n as default
5
+ r as Button,
6
+ a as buttonBadgeVariants,
7
+ u as buttonVariants,
8
+ n as default,
9
+ d as renderInnerIcon
8
10
  };
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonIcon.d.ts","sourceRoot":"","sources":["../../src/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAerD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,UAAU,2FAgFtB,CAAA;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"ButtonIcon.d.ts","sourceRoot":"","sources":["../../src/ButtonIcon/ButtonIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,eAAO,MAAM,UAAU,2FAgFtB,CAAA;AAED,eAAe,UAAU,CAAC"}
@@ -1,80 +1,79 @@
1
- import { jsxs as g, Fragment as R, jsx as r } from "react/jsx-runtime";
2
- import * as j from "react";
3
- import { isValidElement as E, createElement as I } from "react";
4
- import { cn as V } from "@oneplatformdev/utils";
1
+ import { jsxs as f, Fragment as C, jsx as t } from "react/jsx-runtime";
2
+ import * as R from "react";
3
+ import { cn as j } from "@oneplatformdev/utils";
5
4
  import { buttonIconVariants as w } from "./buttonIconVariants.js";
6
5
  import { Slot as z } from "@radix-ui/react-slot";
7
- import "@radix-ui/react-tooltip";
8
- import { Tooltip as F } from "../Tooltip/Tooltip.js";
9
- import { LoadedIcon as L } from "../LoadedIcon/LoadedIcon.js";
10
- import { ButtonCounterBadge as P } from "../Button/ButtonCounterBadge.js";
11
- const S = (t) => t ? E(t) ? t : I(t) : null, T = j.forwardRef(
12
- (t, h) => {
6
+ import { ButtonCounterBadge as F } from "../Button/ButtonCounterBadge.js";
7
+ import { renderInnerIcon as L } from "../Button/Button.utils.js";
8
+ import { LoadedIcon as P } from "../LoadedIcon/LoadedIcon.js";
9
+ import { Tooltip as S } from "../Tooltip/Tooltip.js";
10
+ const T = R.forwardRef(
11
+ (g, h) => {
13
12
  const {
14
- asChild: a,
15
- children: m,
13
+ asChild: i,
14
+ children: a,
16
15
  icon: b,
17
- disabled: e = !1,
18
- loading: n = !1,
16
+ disabled: n = !1,
17
+ loading: r = !1,
19
18
  message: y,
20
- title: x = "",
21
- tooltipProps: l = {},
22
- className: B,
23
- variant: c,
19
+ title: I = "",
20
+ tooltipProps: c = {},
21
+ className: x,
22
+ variant: m,
24
23
  color: p,
25
- size: s,
26
- rounded: u,
24
+ size: e,
25
+ rounded: l,
27
26
  screenReader: o,
28
- counter: N,
29
- ...v
30
- } = t, C = a ? z : "button", i = y || x, d = a ? m : /* @__PURE__ */ g(R, { children: [
31
- /* @__PURE__ */ g(L, { loading: n, size: s, children: [
32
- S(b) ?? m,
33
- /* @__PURE__ */ r(
34
- P,
27
+ counter: B,
28
+ ...N
29
+ } = g, v = i ? z : "button", s = y || I, d = i ? a : /* @__PURE__ */ f(C, { children: [
30
+ /* @__PURE__ */ f(P, { loading: r, size: e, children: [
31
+ L(b) ?? a,
32
+ /* @__PURE__ */ t(
33
+ F,
35
34
  {
36
- counter: N,
37
- variant: c,
35
+ counter: B,
36
+ variant: m,
38
37
  color: p,
39
- size: s,
40
- disabled: e,
41
- rounded: u
38
+ size: e,
39
+ disabled: n,
40
+ rounded: l
42
41
  }
43
42
  )
44
43
  ] }),
45
- !!o && /* @__PURE__ */ r("span", { className: "sr-only", children: typeof o == "string" ? o : o.text })
44
+ !!o && /* @__PURE__ */ t("span", { className: "sr-only", children: typeof o == "string" ? o : o.text })
46
45
  ] });
47
46
  if (!d) return null;
48
- const f = /* @__PURE__ */ r(
49
- C,
47
+ const u = /* @__PURE__ */ t(
48
+ v,
50
49
  {
51
50
  type: "button",
52
51
  ref: h,
53
- disabled: e,
54
- className: V(
52
+ disabled: n,
53
+ className: j(
55
54
  "group group/button group/button-icon",
56
55
  w({
57
- variant: c,
58
- size: s,
56
+ variant: m,
57
+ size: e,
59
58
  color: p,
60
- rounded: u,
61
- className: B
59
+ rounded: l,
60
+ className: x
62
61
  }),
63
- n && "pointer-events-none opacity-80"
62
+ r && "pointer-events-none opacity-80"
64
63
  ),
65
- ...v,
64
+ ...N,
66
65
  children: d
67
66
  }
68
67
  );
69
- return i ? /* @__PURE__ */ r(
70
- F,
68
+ return s ? /* @__PURE__ */ t(
69
+ S,
71
70
  {
72
- ...l || {},
73
- open: l.open ?? (e || n || !i) ? !1 : void 0,
74
- message: i,
75
- children: f
71
+ ...c || {},
72
+ open: c.open ?? (n || r || !s) ? !1 : void 0,
73
+ message: s,
74
+ children: u
76
75
  }
77
- ) : f;
76
+ ) : u;
78
77
  }
79
78
  );
80
79
  T.displayName = "Button";