@oneplatformdev/ui 0.1.99-beta.3 → 0.1.99-beta.300

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 (401) 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 +66 -24
  10. package/AlertDialog/AlertDialog.stories.js.map +1 -1
  11. package/AlertDialog/AlertDialogRoot.d.ts.map +1 -1
  12. package/AlertDialog/AlertDialogRoot.js +25 -25
  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.d.ts +1 -1
  21. package/Badge/badgeVariants.js.map +1 -1
  22. package/Breadcrumb/Breadcrumb.js.map +1 -1
  23. package/Button/Button.d.ts +6 -6
  24. package/Button/Button.d.ts.map +1 -1
  25. package/Button/Button.js +46 -45
  26. package/Button/Button.js.map +1 -1
  27. package/Button/Button.stories.js +57 -62
  28. package/Button/Button.stories.js.map +1 -1
  29. package/Button/Button.types.d.ts +24 -1
  30. package/Button/Button.types.d.ts.map +1 -1
  31. package/Button/Button.utils.d.ts +3 -0
  32. package/Button/Button.utils.d.ts.map +1 -0
  33. package/Button/Button.utils.js +14 -0
  34. package/Button/Button.utils.js.map +1 -0
  35. package/Button/ButtonCounterBadge.d.ts +7 -0
  36. package/Button/ButtonCounterBadge.d.ts.map +1 -0
  37. package/Button/ButtonCounterBadge.js +20 -0
  38. package/Button/ButtonCounterBadge.js.map +1 -0
  39. package/Button/buttonVariants.d.ts +11 -20
  40. package/Button/buttonVariants.d.ts.map +1 -1
  41. package/Button/buttonVariants.js +108 -12
  42. package/Button/buttonVariants.js.map +1 -1
  43. package/Button/index.d.ts +1 -0
  44. package/Button/index.d.ts.map +1 -1
  45. package/Button/index.js +6 -3
  46. package/Button/index.js.map +1 -1
  47. package/ButtonIcon/ButtonIcon.d.ts +30 -19
  48. package/ButtonIcon/ButtonIcon.d.ts.map +1 -1
  49. package/ButtonIcon/ButtonIcon.js +69 -46
  50. package/ButtonIcon/ButtonIcon.js.map +1 -1
  51. package/ButtonIcon/ButtonIcon.stories.js +123 -78
  52. package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
  53. package/ButtonIcon/ButtonIcon.types.d.ts +2 -1
  54. package/ButtonIcon/ButtonIcon.types.d.ts.map +1 -1
  55. package/ButtonIcon/buttonIconVariants.d.ts +2 -2
  56. package/ButtonIcon/buttonIconVariants.d.ts.map +1 -1
  57. package/ButtonIcon/buttonIconVariants.js +9 -7
  58. package/ButtonIcon/buttonIconVariants.js.map +1 -1
  59. package/CHANGELOG.md +3502 -1536
  60. package/Calendar/Calendar.js +0 -1
  61. package/Calendar/Calendar.js.map +1 -1
  62. package/Card/Card.d.ts.map +1 -1
  63. package/Card/Card.js +22 -21
  64. package/Card/Card.js.map +1 -1
  65. package/Carousel/Carousel.js +6 -7
  66. package/Carousel/Carousel.js.map +1 -1
  67. package/Chart/Chart.js.map +1 -1
  68. package/Checkbox/Checkbox.d.ts.map +1 -1
  69. package/Checkbox/Checkbox.js +36 -35
  70. package/Checkbox/Checkbox.js.map +1 -1
  71. package/Checkbox/Checkbox.stories.js +108 -0
  72. package/Checkbox/Checkbox.stories.js.map +1 -0
  73. package/Checkbox/Checkbox.types.d.ts +2 -1
  74. package/Checkbox/Checkbox.types.d.ts.map +1 -1
  75. package/Collapsible/Collapsible.js.map +1 -1
  76. package/Combobox/Combobox.d.ts +4 -2
  77. package/Combobox/Combobox.d.ts.map +1 -1
  78. package/Combobox/Combobox.js +222 -195
  79. package/Combobox/Combobox.js.map +1 -1
  80. package/Combobox/Combobox.stories.js +347 -0
  81. package/Combobox/Combobox.stories.js.map +1 -0
  82. package/Combobox/Combobox.types.d.ts +88 -24
  83. package/Combobox/Combobox.types.d.ts.map +1 -1
  84. package/Combobox/Combobox.types.js +4 -1
  85. package/Combobox/Combobox.types.js.map +1 -1
  86. package/Combobox/ComboboxOptionItem.d.ts +5 -3
  87. package/Combobox/ComboboxOptionItem.d.ts.map +1 -1
  88. package/Combobox/ComboboxOptionItem.js +80 -23
  89. package/Combobox/ComboboxOptionItem.js.map +1 -1
  90. package/Combobox/ComboboxRenderContent.d.ts +28 -0
  91. package/Combobox/ComboboxRenderContent.d.ts.map +1 -0
  92. package/Combobox/ComboboxRenderContent.js +142 -0
  93. package/Combobox/ComboboxRenderContent.js.map +1 -0
  94. package/Combobox/ComboboxRenderOptions.d.ts +4 -0
  95. package/Combobox/ComboboxRenderOptions.d.ts.map +1 -0
  96. package/Combobox/ComboboxRenderOptions.js +53 -0
  97. package/Combobox/ComboboxRenderOptions.js.map +1 -0
  98. package/Combobox/ComboboxRenderTrigger.d.ts +18 -0
  99. package/Combobox/ComboboxRenderTrigger.d.ts.map +1 -0
  100. package/Combobox/ComboboxRenderTrigger.js +118 -0
  101. package/Combobox/ComboboxRenderTrigger.js.map +1 -0
  102. package/Command/Command.d.ts +6 -1
  103. package/Command/Command.d.ts.map +1 -1
  104. package/Command/Command.js +63 -46
  105. package/Command/Command.js.map +1 -1
  106. package/ContextPopover/ContextDropdownMenu.d.ts +12 -0
  107. package/ContextPopover/ContextDropdownMenu.d.ts.map +1 -0
  108. package/ContextPopover/ContextDropdownMenu.js +41 -0
  109. package/ContextPopover/ContextDropdownMenu.js.map +1 -0
  110. package/ContextPopover/ContextPopover.d.ts +12 -0
  111. package/ContextPopover/ContextPopover.d.ts.map +1 -0
  112. package/ContextPopover/ContextPopover.js +34 -0
  113. package/ContextPopover/ContextPopover.js.map +1 -0
  114. package/ContextPopover/index.d.ts +4 -0
  115. package/ContextPopover/index.d.ts.map +1 -0
  116. package/ContextPopover/index.js +9 -0
  117. package/ContextPopover/index.js.map +1 -0
  118. package/ContextPopover/useContextPopoverHandler.d.ts +14 -0
  119. package/ContextPopover/useContextPopoverHandler.d.ts.map +1 -0
  120. package/ContextPopover/useContextPopoverHandler.js +21 -0
  121. package/ContextPopover/useContextPopoverHandler.js.map +1 -0
  122. package/DataTable/DataTable.js +14 -15
  123. package/DataTable/DataTable.js.map +1 -1
  124. package/DataTable/DataTableColumnFilter.js +6 -7
  125. package/DataTable/DataTableColumnFilter.js.map +1 -1
  126. package/DataTable/useDataTable.js.map +1 -1
  127. package/DatePicker/DatePicker.d.ts.map +1 -1
  128. package/DatePicker/DatePicker.js +31 -30
  129. package/DatePicker/DatePicker.js.map +1 -1
  130. package/Dialog/Dialog.d.ts +4 -1
  131. package/Dialog/Dialog.d.ts.map +1 -1
  132. package/Dialog/Dialog.js +84 -42
  133. package/Dialog/Dialog.js.map +1 -1
  134. package/Dialog/Dialog.stories.js +108 -0
  135. package/Dialog/Dialog.stories.js.map +1 -0
  136. package/Dialog/Dialog.types.d.ts +4 -0
  137. package/Dialog/Dialog.types.d.ts.map +1 -0
  138. package/Dialog/Dialog.types.js +2 -0
  139. package/Dialog/Dialog.types.js.map +1 -0
  140. package/Dialog/DialogOverlayScope.js.map +1 -1
  141. package/Dialog/index.d.ts +1 -0
  142. package/Dialog/index.d.ts.map +1 -1
  143. package/Dialog/useDialogClosePosition.d.ts +11 -0
  144. package/Dialog/useDialogClosePosition.d.ts.map +1 -0
  145. package/Dialog/useDialogClosePosition.js +50 -0
  146. package/Dialog/useDialogClosePosition.js.map +1 -0
  147. package/Drawer/Drawer.js.map +1 -1
  148. package/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  149. package/DropdownMenu/DropdownMenu.js +33 -20
  150. package/DropdownMenu/DropdownMenu.js.map +1 -1
  151. package/Dropzone/Dropzone.d.ts.map +1 -1
  152. package/Dropzone/Dropzone.js +493 -132
  153. package/Dropzone/Dropzone.js.map +1 -1
  154. package/Dropzone/Dropzone.stories.js +387 -0
  155. package/Dropzone/Dropzone.stories.js.map +1 -0
  156. package/Dropzone/Dropzone.types.d.ts +29 -1
  157. package/Dropzone/Dropzone.types.d.ts.map +1 -1
  158. package/Dropzone/Dropzone.types.js +32 -9
  159. package/Dropzone/Dropzone.types.js.map +1 -1
  160. package/Dropzone/DropzoneCoverPreview.d.ts +14 -0
  161. package/Dropzone/DropzoneCoverPreview.d.ts.map +1 -0
  162. package/Dropzone/DropzoneCoverPreview.js +56 -0
  163. package/Dropzone/DropzoneCoverPreview.js.map +1 -0
  164. package/Dropzone/DropzoneFileCard.d.ts +17 -0
  165. package/Dropzone/DropzoneFileCard.d.ts.map +1 -0
  166. package/Dropzone/DropzoneFileCard.js +39 -0
  167. package/Dropzone/DropzoneFileCard.js.map +1 -0
  168. package/Dropzone/DropzoneFilePreview.d.ts.map +1 -1
  169. package/Dropzone/DropzoneFilePreview.js +46 -26
  170. package/Dropzone/DropzoneFilePreview.js.map +1 -1
  171. package/Dropzone/DropzoneSinglePickPreview.d.ts +10 -2
  172. package/Dropzone/DropzoneSinglePickPreview.d.ts.map +1 -1
  173. package/Dropzone/DropzoneSinglePickPreview.js +206 -22
  174. package/Dropzone/DropzoneSinglePickPreview.js.map +1 -1
  175. package/Dropzone/DropzoneUtils.d.ts +1 -0
  176. package/Dropzone/DropzoneUtils.d.ts.map +1 -1
  177. package/Dropzone/DropzoneUtils.js +17 -6
  178. package/Dropzone/DropzoneUtils.js.map +1 -1
  179. package/Dropzone/icons/file-csv.svg.js +5 -0
  180. package/Dropzone/icons/file-csv.svg.js.map +1 -0
  181. package/Dropzone/icons/file-doc.svg.js +5 -0
  182. package/Dropzone/icons/file-doc.svg.js.map +1 -0
  183. package/Dropzone/icons/file-docx.svg.js +5 -0
  184. package/Dropzone/icons/file-docx.svg.js.map +1 -0
  185. package/Dropzone/icons/file-jpg.svg.js +5 -0
  186. package/Dropzone/icons/file-jpg.svg.js.map +1 -0
  187. package/Dropzone/icons/file-pdf.svg.js +5 -0
  188. package/Dropzone/icons/file-pdf.svg.js.map +1 -0
  189. package/Dropzone/icons/file-png.svg.js +5 -0
  190. package/Dropzone/icons/file-png.svg.js.map +1 -0
  191. package/Dropzone/icons/file-ppt.svg.js +5 -0
  192. package/Dropzone/icons/file-ppt.svg.js.map +1 -0
  193. package/Dropzone/icons/file-pptx.svg.js +5 -0
  194. package/Dropzone/icons/file-pptx.svg.js.map +1 -0
  195. package/Dropzone/icons/file-rar.svg.js +5 -0
  196. package/Dropzone/icons/file-rar.svg.js.map +1 -0
  197. package/Dropzone/icons/file-svg.svg.js +5 -0
  198. package/Dropzone/icons/file-svg.svg.js.map +1 -0
  199. package/Dropzone/icons/file-webp.svg.js +5 -0
  200. package/Dropzone/icons/file-webp.svg.js.map +1 -0
  201. package/Dropzone/icons/file-xls.svg.js +5 -0
  202. package/Dropzone/icons/file-xls.svg.js.map +1 -0
  203. package/Dropzone/icons/file-xlsx.svg.js +5 -0
  204. package/Dropzone/icons/file-xlsx.svg.js.map +1 -0
  205. package/Dropzone/icons/file-zip.svg.js +5 -0
  206. package/Dropzone/icons/file-zip.svg.js.map +1 -0
  207. package/Dropzone/index.js +8 -5
  208. package/Form/Form.d.ts.map +1 -1
  209. package/Form/Form.js +28 -29
  210. package/Form/Form.js.map +1 -1
  211. package/Form/FormRenderControl.d.ts +1 -1
  212. package/Form/FormRenderControl.d.ts.map +1 -1
  213. package/Form/FormRenderControl.js +54 -14
  214. package/Form/FormRenderControl.js.map +1 -1
  215. package/Form/FormRenderControl.types.d.ts +6 -2
  216. package/Form/FormRenderControl.types.d.ts.map +1 -1
  217. package/Form/Form_old.js +4 -5
  218. package/Form/Form_old.js.map +1 -1
  219. package/FormCheckbox/FormCheckbox.js +4 -4
  220. package/FormCheckbox/FormCheckbox.js.map +1 -1
  221. package/FormCombobox/FormCombobox.d.ts +4 -2
  222. package/FormCombobox/FormCombobox.d.ts.map +1 -1
  223. package/FormCombobox/FormCombobox.js +29 -16
  224. package/FormCombobox/FormCombobox.js.map +1 -1
  225. package/FormCombobox/FormCombobox.types.d.ts +6 -2
  226. package/FormCombobox/FormCombobox.types.d.ts.map +1 -1
  227. package/FormDatePicker/FormDatePicker.d.ts.map +1 -1
  228. package/FormDatePicker/FormDatePicker.js +18 -16
  229. package/FormDatePicker/FormDatePicker.js.map +1 -1
  230. package/FormDropzone/FormDropzone.d.ts.map +1 -1
  231. package/FormDropzone/FormDropzone.js +13 -11
  232. package/FormDropzone/FormDropzone.js.map +1 -1
  233. package/FormInput/FormInput.d.ts.map +1 -1
  234. package/FormInput/FormInput.js +47 -27
  235. package/FormInput/FormInput.js.map +1 -1
  236. package/FormInput/FormInput.stories.js +80 -0
  237. package/FormInput/FormInput.stories.js.map +1 -0
  238. package/FormInput/FormInput.types.d.ts +1 -0
  239. package/FormInput/FormInput.types.d.ts.map +1 -1
  240. package/FormRadio/FormRadio.js.map +1 -1
  241. package/FormSelect/FormSelect.d.ts.map +1 -1
  242. package/FormSelect/FormSelect.js +19 -18
  243. package/FormSelect/FormSelect.js.map +1 -1
  244. package/FormTextarea/FormTextarea.d.ts.map +1 -1
  245. package/FormTextarea/FormTextarea.js +15 -12
  246. package/FormTextarea/FormTextarea.js.map +1 -1
  247. package/Header/Header.js.map +1 -1
  248. package/HoverCard/HoverCard.js.map +1 -1
  249. package/InfoBlock/InfoBlock.d.ts +7 -0
  250. package/InfoBlock/InfoBlock.d.ts.map +1 -0
  251. package/InfoBlock/InfoBlock.js +28 -0
  252. package/InfoBlock/InfoBlock.js.map +1 -0
  253. package/InfoBlock/InfoBlock.stories.js +50 -0
  254. package/InfoBlock/InfoBlock.stories.js.map +1 -0
  255. package/InfoBlock/InfoBlock.types.d.ts +9 -0
  256. package/InfoBlock/InfoBlock.types.d.ts.map +1 -0
  257. package/InfoBlock/InfoBlock.types.js +2 -0
  258. package/InfoBlock/InfoBlock.types.js.map +1 -0
  259. package/InfoBlock/index.d.ts +3 -0
  260. package/InfoBlock/index.d.ts.map +1 -0
  261. package/InfoBlock/index.js +5 -0
  262. package/InfoBlock/index.js.map +1 -0
  263. package/InfoBlock/infoBlockVariants.d.ts +6 -0
  264. package/InfoBlock/infoBlockVariants.d.ts.map +1 -0
  265. package/InfoBlock/infoBlockVariants.js +27 -0
  266. package/InfoBlock/infoBlockVariants.js.map +1 -0
  267. package/Input/Input.d.ts.map +1 -1
  268. package/Input/Input.js +105 -54
  269. package/Input/Input.js.map +1 -1
  270. package/Input/Input.stories.js +225 -0
  271. package/Input/Input.stories.js.map +1 -0
  272. package/Input/Input.types.d.ts +5 -0
  273. package/Input/Input.types.d.ts.map +1 -1
  274. package/Input/inputVariants.d.ts.map +1 -1
  275. package/Input/inputVariants.js +5 -4
  276. package/Input/inputVariants.js.map +1 -1
  277. package/InputOTP/InputOTP.d.ts.map +1 -1
  278. package/InputOTP/InputOTP.js.map +1 -1
  279. package/LICENSE +21 -21
  280. package/Label/Label.js.map +1 -1
  281. package/Label/labelVariants.js.map +1 -1
  282. package/LazyLoader/LazyLoader.js +4 -5
  283. package/LazyLoader/LazyLoader.js.map +1 -1
  284. package/LoadedIcon/LoadedIcon.d.ts.map +1 -1
  285. package/LoadedIcon/LoadedIcon.js +3 -1
  286. package/LoadedIcon/LoadedIcon.js.map +1 -1
  287. package/LoadingMask/LoadingMask.d.ts +1 -2
  288. package/LoadingMask/LoadingMask.d.ts.map +1 -1
  289. package/LoadingMask/LoadingMask.js +8 -8
  290. package/LoadingMask/LoadingMask.js.map +1 -1
  291. package/LoadingMask/LoadingMask.types.d.ts +1 -0
  292. package/LoadingMask/LoadingMask.types.d.ts.map +1 -1
  293. package/LoadingMask/RenderLoadingMask.js.map +1 -1
  294. package/LoadingProgress/LoadingProgress.js.map +1 -1
  295. package/LoadingProgress/loadingProgressVariants.js.map +1 -1
  296. package/Menubar/Menubar.js.map +1 -1
  297. package/NavigationMenu/NavigationMenu.js.map +1 -1
  298. package/NavigationMenu/navigationMenuVariants.js.map +1 -1
  299. package/Pagination/Pagination.js +0 -1
  300. package/Pagination/Pagination.js.map +1 -1
  301. package/Popover/Popover.d.ts +3 -1
  302. package/Popover/Popover.d.ts.map +1 -1
  303. package/Popover/Popover.js +15 -10
  304. package/Popover/Popover.js.map +1 -1
  305. package/Progress/Progress.js.map +1 -1
  306. package/README.md +7 -7
  307. package/Radio/Radio.js.map +1 -1
  308. package/RadioGroup/RadioGroup.js.map +1 -1
  309. package/Resizable/Resizable.d.ts +5 -20
  310. package/Resizable/Resizable.d.ts.map +1 -1
  311. package/Resizable/Resizable.js +48 -31
  312. package/Resizable/Resizable.js.map +1 -1
  313. package/Resizable/Resizable.stories.js +140 -0
  314. package/Resizable/Resizable.stories.js.map +1 -0
  315. package/ScrollArea/ScrollArea.d.ts +5 -1
  316. package/ScrollArea/ScrollArea.d.ts.map +1 -1
  317. package/ScrollArea/ScrollArea.js +23 -17
  318. package/ScrollArea/ScrollArea.js.map +1 -1
  319. package/Search/Search.d.ts.map +1 -1
  320. package/Search/Search.js +40 -31
  321. package/Search/Search.js.map +1 -1
  322. package/Search/Search.stories.js +17 -0
  323. package/Search/Search.stories.js.map +1 -0
  324. package/Select/Select.d.ts.map +1 -1
  325. package/Select/Select.js +53 -49
  326. package/Select/Select.js.map +1 -1
  327. package/Select/Select.stories.js.map +1 -1
  328. package/Select/Select.types.d.ts +4 -0
  329. package/Select/Select.types.d.ts.map +1 -1
  330. package/Select/SelectRoot.d.ts.map +1 -1
  331. package/Select/SelectRoot.js +79 -66
  332. package/Select/SelectRoot.js.map +1 -1
  333. package/Separator/Separator.js.map +1 -1
  334. package/Sheet/Sheet.js.map +1 -1
  335. package/Sidebar/Sidebar.js +20 -21
  336. package/Sidebar/Sidebar.js.map +1 -1
  337. package/Skeleton/Skeleton.js.map +1 -1
  338. package/Slider/Slider.js.map +1 -1
  339. package/Sonner/Sonner.js.map +1 -1
  340. package/Switch/Switch.d.ts +1 -1
  341. package/Switch/Switch.d.ts.map +1 -1
  342. package/Switch/Switch.js +19 -9
  343. package/Switch/Switch.js.map +1 -1
  344. package/Switch/Switch.stories.js +62 -0
  345. package/Switch/Switch.stories.js.map +1 -0
  346. package/Table/Table.js.map +1 -1
  347. package/TablePagination/TablePagination.js +17 -21
  348. package/TablePagination/TablePagination.js.map +1 -1
  349. package/Tabs/Tabs.js.map +1 -1
  350. package/Tabs/TabsRoot.js.map +1 -1
  351. package/Textarea/Textarea.d.ts.map +1 -1
  352. package/Textarea/Textarea.js +52 -47
  353. package/Textarea/Textarea.js.map +1 -1
  354. package/Textarea/Textarea.stories.js +12 -0
  355. package/Textarea/Textarea.stories.js.map +1 -0
  356. package/Textarea/Textarea.types.d.ts +3 -1
  357. package/Textarea/Textarea.types.d.ts.map +1 -1
  358. package/Textarea/useAutosizeTextArea.d.ts +1 -1
  359. package/Textarea/useAutosizeTextArea.d.ts.map +1 -1
  360. package/Textarea/useAutosizeTextArea.js.map +1 -1
  361. package/Theme/ThemeModeToggle.js +3 -4
  362. package/Theme/ThemeModeToggle.js.map +1 -1
  363. package/Theme/ThemeProvider.js.map +1 -1
  364. package/Toast/Toast.d.ts +1 -1
  365. package/Toast/Toast.js.map +1 -1
  366. package/Toast/toast.constants.js.map +1 -1
  367. package/Toast/toastVariants.d.ts +1 -1
  368. package/Toast/toastVariants.js.map +1 -1
  369. package/Toast/useToast.js.map +1 -1
  370. package/Toaster/Toaster.js.map +1 -1
  371. package/Toggle/Toggle.js.map +1 -1
  372. package/ToggleGroup/ToggleGroup.js.map +1 -1
  373. package/Tooltip/QuestionMarkIcon.svg.js +6 -0
  374. package/Tooltip/QuestionMarkIcon.svg.js.map +1 -0
  375. package/Tooltip/Tooltip.d.ts.map +1 -1
  376. package/Tooltip/Tooltip.js +52 -32
  377. package/Tooltip/Tooltip.js.map +1 -1
  378. package/Tooltip/Tooltip.types.d.ts +10 -0
  379. package/Tooltip/Tooltip.types.d.ts.map +1 -1
  380. package/Tooltip/TooltipRoot.js.map +1 -1
  381. package/Tooltip/tooltipVariants.d.ts +4 -0
  382. package/Tooltip/tooltipVariants.d.ts.map +1 -0
  383. package/Tooltip/tooltipVariants.js +23 -0
  384. package/Tooltip/tooltipVariants.js.map +1 -0
  385. package/index.d.ts +2 -0
  386. package/index.d.ts.map +1 -1
  387. package/index.js +357 -343
  388. package/index.js.map +1 -1
  389. package/package.json +13 -6
  390. package/styles.css +1 -0
  391. package/vite-env.d.js +2 -0
  392. package/vite-env.d.js.map +1 -0
  393. package/vite-env.d.ts +7 -0
  394. package/Button/Button.s.d.ts +0 -83
  395. package/Button/Button.s.d.ts.map +0 -1
  396. package/Button/Button.s.js +0 -163
  397. package/Button/Button.s.js.map +0 -1
  398. package/Combobox/ComboboxOptions.d.ts +0 -4
  399. package/Combobox/ComboboxOptions.d.ts.map +0 -1
  400. package/Combobox/ComboboxOptions.js +0 -65
  401. package/Combobox/ComboboxOptions.js.map +0 -1
@@ -1,30 +1,31 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { FormControl as d } from "../Form/Form.js";
3
- import { FormRenderControl as f } from "../Form/FormRenderControl.js";
4
- import "@radix-ui/react-select";
5
- import "lucide-react";
6
- import "@oneplatformdev/utils";
7
2
  import { Select as u } from "../Select/Select.js";
8
- const j = (m) => {
3
+ import { FormRenderControl as x } from "../Form/FormRenderControl.js";
4
+ import { FormControl as F } from "../Form/Form.js";
5
+ const b = (m) => {
9
6
  const {
10
7
  value: i = void 0,
11
8
  form: p,
12
9
  label: a,
13
- name: g,
10
+ tooltip: l,
11
+ tooltipProps: g,
12
+ name: s,
14
13
  options: c = [],
15
- onChange: l,
16
- containerProps: s,
17
- renderTrigger: h,
14
+ onChange: h,
15
+ containerProps: C,
16
+ renderTrigger: d,
18
17
  onChangePrepare: n,
19
- ...C
18
+ ...f
20
19
  } = m;
21
20
  return /* @__PURE__ */ e(
22
- f,
21
+ x,
23
22
  {
24
23
  form: p,
25
- name: g,
24
+ name: s,
25
+ tooltip: l,
26
+ tooltipProps: g,
26
27
  label: a,
27
- containerProps: s,
28
+ containerProps: C,
28
29
  render: ({ field: t }) => /* @__PURE__ */ e(
29
30
  u,
30
31
  {
@@ -32,16 +33,16 @@ const j = (m) => {
32
33
  options: c,
33
34
  onChange: (r) => {
34
35
  const o = n ? n(r) : r;
35
- t.onChange(o), l?.(r, o);
36
+ t.onChange(o), h?.(r, o);
36
37
  },
37
- renderTrigger: (r, o) => /* @__PURE__ */ e(d, { children: h?.(r, o) || o }),
38
- ...C
38
+ renderTrigger: (r, o) => /* @__PURE__ */ e(F, { children: d?.(r, o) || o }),
39
+ ...f
39
40
  }
40
41
  )
41
42
  }
42
43
  );
43
44
  };
44
45
  export {
45
- j as FormSelect
46
+ b as FormSelect
46
47
  };
47
48
  //# sourceMappingURL=FormSelect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormSelect.js","sources":["../../src/FormSelect/FormSelect.tsx"],"sourcesContent":["import { FormControl, FormRenderControl } from '../Form';\nimport { Select } from '../Select';\nimport { FormSelectProps } from './FormSelect.types';\nimport { FieldValues } from 'react-hook-form';\n\n// TODO: add description\nexport const FormSelect = <Data extends FieldValues, ExtendOptionData>(\n props: FormSelectProps<Data, ExtendOptionData>\n) => {\n const {\n value = undefined,\n form,\n label,\n name,\n options = [],\n onChange,\n containerProps,\n renderTrigger,\n onChangePrepare,\n ...rest\n } = props;\n\n return (\n <FormRenderControl\n form={form}\n name={name}\n label={label}\n containerProps={containerProps}\n render={({ field }) => (\n <Select<ExtendOptionData>\n value={field.value ?? (value || '')}\n options={options}\n onChange={(value) => {\n const nextValue = onChangePrepare ? onChangePrepare(value) : value;\n field.onChange(nextValue);\n onChange?.(value, nextValue);\n }}\n renderTrigger={(p, defaultComponent) => {\n return (\n <FormControl>\n {renderTrigger?.(p, defaultComponent) || defaultComponent}\n </FormControl>\n )\n }}\n {...rest}\n />\n )}\n />\n );\n};\n"],"names":["FormSelect","props","value","form","label","name","options","onChange","containerProps","renderTrigger","onChangePrepare","rest","jsx","FormRenderControl","field","Select","nextValue","p","defaultComponent","FormControl"],"mappings":";;;;;;;AAMO,MAAMA,IAAa,CACxBC,MACG;AACH,QAAM;AAAA,IACJ,OAAAC,IAAQ;AAAA,IACR,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC,IAAU,CAAA;AAAA,IACV,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDV;AAEJ,SACE,gBAAAW;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAV;AAAA,MACA,MAAAE;AAAA,MACA,OAAAD;AAAA,MACA,gBAAAI;AAAA,MACA,QAAQ,CAAC,EAAE,OAAAM,EAAA,MACT,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,OAAOD,EAAM,UAAUZ,KAAS;AAAA,UAChC,SAAAI;AAAA,UACA,UAAU,CAACJ,MAAU;AACnB,kBAAMc,IAAYN,IAAkBA,EAAgBR,CAAK,IAAIA;AAC7D,YAAAY,EAAM,SAASE,CAAS,GACxBT,IAAWL,GAAOc,CAAS;AAAA,UAC7B;AAAA,UACA,eAAe,CAACC,GAAGC,wBAEdC,GAAA,EACE,UAAAV,IAAgBQ,GAAGC,CAAgB,KAAKA,GAC3C;AAAA,UAGH,GAAGP;AAAA,QAAA;AAAA,MAAA;AAAA,IACN;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"FormSelect.js","sources":["../../src/FormSelect/FormSelect.tsx"],"sourcesContent":["import { FormControl, FormRenderControl } from '../Form';\r\nimport { Select } from '../Select';\r\nimport { FormSelectProps } from './FormSelect.types';\r\nimport { FieldValues } from 'react-hook-form';\r\n\r\n// TODO: add description\r\nexport const FormSelect = <Data extends FieldValues, ExtendOptionData>(\r\n props: FormSelectProps<Data, ExtendOptionData>\r\n) => {\r\n const {\r\n value = undefined,\r\n form,\r\n label,\r\n tooltip,\r\n tooltipProps,\r\n name,\r\n options = [],\r\n onChange,\r\n containerProps,\r\n renderTrigger,\r\n onChangePrepare,\r\n ...rest\r\n } = props;\r\n\r\n return (\r\n <FormRenderControl\r\n form={form}\r\n name={name}\r\n tooltip={tooltip}\r\n tooltipProps={tooltipProps}\r\n label={label}\r\n containerProps={containerProps}\r\n render={({ field }) => (\r\n <Select<ExtendOptionData>\r\n value={field.value ?? (value || '')}\r\n options={options}\r\n onChange={(value) => {\r\n const nextValue = onChangePrepare ? onChangePrepare(value) : value;\r\n field.onChange(nextValue);\r\n onChange?.(value, nextValue);\r\n }}\r\n renderTrigger={(p, defaultComponent) => {\r\n return (\r\n <FormControl>\r\n {renderTrigger?.(p, defaultComponent) || defaultComponent}\r\n </FormControl>\r\n )\r\n }}\r\n {...rest}\r\n />\r\n )}\r\n />\r\n );\r\n};\r\n"],"names":["FormSelect","props","value","form","label","tooltip","tooltipProps","name","options","onChange","containerProps","renderTrigger","onChangePrepare","rest","jsx","FormRenderControl","field","Select","nextValue","p","defaultComponent","FormControl"],"mappings":";;;;AAMO,MAAMA,IAAa,CACxBC,MACG;AACH,QAAM;AAAA,IACJ,OAAAC,IAAQ;AAAA,IACR,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,SAAAC;AAAA,IACA,cAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC,IAAU,CAAA;AAAA,IACV,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDZ;AAEJ,SACE,gBAAAa;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAZ;AAAA,MACA,MAAAI;AAAA,MACA,SAAAF;AAAA,MACA,cAAAC;AAAA,MACA,OAAAF;AAAA,MACA,gBAAAM;AAAA,MACA,QAAQ,CAAC,EAAE,OAAAM,EAAA,MACT,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,OAAOD,EAAM,UAAUd,KAAS;AAAA,UAChC,SAAAM;AAAA,UACA,UAAU,CAACN,MAAU;AACnB,kBAAMgB,IAAYN,IAAkBA,EAAgBV,CAAK,IAAIA;AAC7D,YAAAc,EAAM,SAASE,CAAS,GACxBT,IAAWP,GAAOgB,CAAS;AAAA,UAC7B;AAAA,UACA,eAAe,CAACC,GAAGC,wBAEdC,GAAA,EACE,UAAAV,IAAgBQ,GAAGC,CAAgB,KAAKA,GAC3C;AAAA,UAGH,GAAGP;AAAA,QAAA;AAAA,MAAA;AAAA,IACN;AAAA,EAAA;AAIR;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormTextarea.d.ts","sourceRoot":"","sources":["../../src/FormTextarea/FormTextarea.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,eAAO,MAAM,YAAY,GAAI,IAAI,SAAS,WAAW,EACnD,OAAO,iBAAiB,CAAC,IAAI,CAAC,4CAoB/B,CAAC"}
1
+ {"version":3,"file":"FormTextarea.d.ts","sourceRoot":"","sources":["../../src/FormTextarea/FormTextarea.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,eAAO,MAAM,YAAY,GAAI,IAAI,SAAS,WAAW,EACnD,OAAO,iBAAiB,CAAC,IAAI,CAAC,4CAuB/B,CAAC"}
@@ -1,28 +1,31 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { FormControl as p } from "../Form/Form.js";
3
- import { FormRenderControl as i } from "../Form/FormRenderControl.js";
4
- import { Textarea as s } from "../Textarea/Textarea.js";
5
- const F = (e) => {
6
- const { form: t, label: m, name: n, containerProps: a, ...l } = e;
2
+ import { Textarea as f } from "../Textarea/Textarea.js";
3
+ import { FormRenderControl as u } from "../Form/FormRenderControl.js";
4
+ import { FormControl as x } from "../Form/Form.js";
5
+ const P = (e) => {
6
+ const { form: t, label: m, tooltip: n, tooltipProps: a, name: l, containerProps: p, counter: i, ...s } = e;
7
7
  return /* @__PURE__ */ r(
8
- i,
8
+ u,
9
9
  {
10
10
  form: t,
11
- name: n,
11
+ tooltip: n,
12
+ tooltipProps: a,
13
+ name: l,
12
14
  label: m,
13
- containerProps: a,
14
- render: ({ field: o }) => /* @__PURE__ */ r(p, { children: /* @__PURE__ */ r(
15
- s,
15
+ containerProps: p,
16
+ render: ({ field: o, fieldState: c }) => /* @__PURE__ */ r(x, { children: /* @__PURE__ */ r(
17
+ f,
16
18
  {
17
19
  ...o,
18
20
  value: o.value || "",
19
- ...l
21
+ ...s,
22
+ counter: c.error ? !1 : i
20
23
  }
21
24
  ) })
22
25
  }
23
26
  );
24
27
  };
25
28
  export {
26
- F as FormTextarea
29
+ P as FormTextarea
27
30
  };
28
31
  //# sourceMappingURL=FormTextarea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormTextarea.js","sources":["../../src/FormTextarea/FormTextarea.tsx"],"sourcesContent":["import { FormControl, FormRenderControl } from '../Form';\nimport { FormTextareaProps } from './FormTextarea.types';\nimport { FieldValues } from 'react-hook-form';\nimport { Textarea } from '../Textarea';\n\n// TODO: add description\nexport const FormTextarea = <Data extends FieldValues>(\n props: FormTextareaProps<Data>\n) => {\nconst { form, label, name, containerProps, ...rest } = props;\n return (\n <FormRenderControl\n form={form}\n name={name}\n label={label}\n containerProps={containerProps}\n render={({ field }) => (\n <FormControl>\n <Textarea\n {...field}\n value={field.value || ''}\n {...rest}\n />\n </FormControl>\n )}\n />\n )\n};\n"],"names":["FormTextarea","props","form","label","name","containerProps","rest","jsx","FormRenderControl","field","FormControl","Textarea"],"mappings":";;;;AAMO,MAAMA,IAAe,CAC1BC,MACG;AACL,QAAM,EAAE,MAAAC,GAAM,OAAAC,GAAO,MAAAC,GAAM,gBAAAC,GAAgB,GAAGC,MAASL;AACnD,SACI,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACG,MAAAN;AAAA,MACA,MAAAE;AAAA,MACA,OAAAD;AAAA,MACA,gBAAAE;AAAA,MACA,QAAQ,CAAC,EAAE,OAAAI,EAAA,wBACRC,GAAA,EACC,UAAA,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UACE,GAAGF;AAAA,UACJ,OAAOA,EAAM,SAAS;AAAA,UACrB,GAAGH;AAAA,QAAA;AAAA,MAAA,EACN,CACF;AAAA,IAAA;AAAA,EAAA;AAId;"}
1
+ {"version":3,"file":"FormTextarea.js","sources":["../../src/FormTextarea/FormTextarea.tsx"],"sourcesContent":["import { FormControl, FormRenderControl } from '../Form';\r\nimport { FormTextareaProps } from './FormTextarea.types';\r\nimport { FieldValues } from 'react-hook-form';\r\nimport { Textarea } from '../Textarea';\r\n\r\n// TODO: add description\r\nexport const FormTextarea = <Data extends FieldValues>(\r\n props: FormTextareaProps<Data>\r\n) => {\r\n const { form, label, tooltip, tooltipProps, name, containerProps, counter, ...rest } = props;\r\n return (\r\n <FormRenderControl\r\n form={form}\r\n tooltip={tooltip}\r\n tooltipProps={tooltipProps}\r\n name={name}\r\n label={label}\r\n containerProps={containerProps}\r\n render={({ field, fieldState }) => (\r\n <FormControl>\r\n <Textarea\r\n {...field}\r\n value={field.value || ''}\r\n {...rest}\r\n counter={!!fieldState.error ? false : counter}\r\n />\r\n </FormControl>\r\n )}\r\n />\r\n )\r\n};\r\n"],"names":["FormTextarea","props","form","label","tooltip","tooltipProps","name","containerProps","counter","rest","jsx","FormRenderControl","field","fieldState","FormControl","Textarea"],"mappings":";;;;AAMO,MAAMA,IAAe,CAC1BC,MACG;AACH,QAAM,EAAE,MAAAC,GAAM,OAAAC,GAAO,SAAAC,GAAS,cAAAC,GAAc,MAAAC,GAAM,gBAAAC,GAAgB,SAAAC,GAAS,GAAGC,EAAA,IAASR;AACvF,SACE,gBAAAS;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAT;AAAA,MACA,SAAAE;AAAA,MACA,cAAAC;AAAA,MACA,MAAAC;AAAA,MACA,OAAAH;AAAA,MACA,gBAAAI;AAAA,MACA,QAAQ,CAAC,EAAE,OAAAK,GAAO,YAAAC,EAAA,wBACfC,GAAA,EACC,UAAA,gBAAAJ;AAAA,QAACK;AAAA,QAAA;AAAA,UACE,GAAGH;AAAA,UACJ,OAAOA,EAAM,SAAS;AAAA,UACrB,GAAGH;AAAA,UACJ,SAAWI,EAAW,QAAQ,KAAQL;AAAA,QAAA;AAAA,MAAA,EACxC,CACF;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../src/Header/Header.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { SidebarTrigger } from \"../Sidebar\";\nimport { Separator } from \"../Separator\";\nimport { HeaderProps } from \"./Header.types\";\n\nexport const Header: React.FC<React.PropsWithChildren<HeaderProps>> = (props) => {\n const {\n children,\n hideTrigger = false,\n } = props;\n return (\n <header\n className=\"flex h-16 shrink-0 items-center justify-between gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12\"\n >\n {!hideTrigger && (\n <div className=\"flex items-center gap-2\">\n <SidebarTrigger className=\"ml-1\"/>\n <Separator orientation=\"vertical\" className=\"mr-2 h-4\"/>\n </div>\n )}\n {Boolean(hideTrigger)\n ? children\n : (\n <div className=\"flex-1 text-right pr-6\">\n {children}\n </div>\n )\n }\n </header>\n )\n}\n\nexport default Header;\n"],"names":["Header","props","children","hideTrigger","jsxs","jsx","SidebarTrigger","Separator"],"mappings":";;;AAMO,MAAMA,IAAyD,CAACC,MAAU;AAC/E,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,EAAA,IACZF;AACJ,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MAET,UAAA;AAAA,QAAA,CAACD,KACA,gBAAAC,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,UAAA,gBAAAC,EAACC,GAAA,EAAe,WAAU,OAAA,CAAM;AAAA,UAChC,gBAAAD,EAACE,GAAA,EAAU,aAAY,YAAW,WAAU,WAAA,CAAU;AAAA,QAAA,GACxD;AAAA,QAEOJ,IACLD,sBAEC,OAAA,EAAI,WAAU,0BACZ,UAAAA,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAKV;"}
1
+ {"version":3,"file":"Header.js","sources":["../../src/Header/Header.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nimport { SidebarTrigger } from \"../Sidebar\";\r\nimport { Separator } from \"../Separator\";\r\nimport { HeaderProps } from \"./Header.types\";\r\n\r\nexport const Header: React.FC<React.PropsWithChildren<HeaderProps>> = (props) => {\r\n const {\r\n children,\r\n hideTrigger = false,\r\n } = props;\r\n return (\r\n <header\r\n className=\"flex h-16 shrink-0 items-center justify-between gap-2 transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-12\"\r\n >\r\n {!hideTrigger && (\r\n <div className=\"flex items-center gap-2\">\r\n <SidebarTrigger className=\"ml-1\"/>\r\n <Separator orientation=\"vertical\" className=\"mr-2 h-4\"/>\r\n </div>\r\n )}\r\n {Boolean(hideTrigger)\r\n ? children\r\n : (\r\n <div className=\"flex-1 text-right pr-6\">\r\n {children}\r\n </div>\r\n )\r\n }\r\n </header>\r\n )\r\n}\r\n\r\nexport default Header;\r\n"],"names":["Header","props","children","hideTrigger","jsxs","jsx","SidebarTrigger","Separator"],"mappings":";;;AAMO,MAAMA,IAAyD,CAACC,MAAU;AAC/E,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,EAAA,IACZF;AACJ,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA,MAET,UAAA;AAAA,QAAA,CAACD,KACA,gBAAAC,EAAC,OAAA,EAAI,WAAU,2BACb,UAAA;AAAA,UAAA,gBAAAC,EAACC,GAAA,EAAe,WAAU,OAAA,CAAM;AAAA,UAChC,gBAAAD,EAACE,GAAA,EAAU,aAAY,YAAW,WAAU,WAAA,CAAU;AAAA,QAAA,GACxD;AAAA,QAEOJ,IACLD,sBAEC,OAAA,EAAI,WAAU,0BACZ,UAAAA,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAKV;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HoverCard.js","sources":["../../src/HoverCard/HoverCard.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport { cn } from \"@oneplatformdev/utils\"\n\nconst HoverCard = HoverCardPrimitive.Root\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n))\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n"],"names":["HoverCard","HoverCardPrimitive","HoverCardTrigger","HoverCardContent","React","className","align","sideOffset","props","ref","jsx","cn"],"mappings":";;;;AAOA,MAAMA,IAAYC,EAAmB,MAE/BC,IAAmBD,EAAmB,SAEtCE,IAAmBC,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,OAAAC,IAAQ,UAAU,YAAAC,IAAa,GAAG,GAAGC,EAAA,GAASC,MAC5D,gBAAAC;AAAA,EAACT,EAAmB;AAAA,EAAnB;AAAA,IACC,KAAAQ;AAAA,IACA,OAAAH;AAAA,IACA,YAAAC;AAAA,IACA,WAAWI;AAAA,MACT;AAAA,MACAN;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,EAAA;AACN,CACD;AACDL,EAAiB,cAAcF,EAAmB,QAAQ;"}
1
+ {"version":3,"file":"HoverCard.js","sources":["../../src/HoverCard/HoverCard.tsx"],"sourcesContent":["\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\r\n\r\nimport { cn } from \"@oneplatformdev/utils\"\r\n\r\nconst HoverCard = HoverCardPrimitive.Root\r\n\r\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\r\n\r\nconst HoverCardContent = React.forwardRef<\r\n React.ElementRef<typeof HoverCardPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\r\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\r\n <HoverCardPrimitive.Content\r\n ref={ref}\r\n align={align}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\r\n\r\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\r\n"],"names":["HoverCard","HoverCardPrimitive","HoverCardTrigger","HoverCardContent","React","className","align","sideOffset","props","ref","jsx","cn"],"mappings":";;;;AAOA,MAAMA,IAAYC,EAAmB,MAE/BC,IAAmBD,EAAmB,SAEtCE,IAAmBC,EAAM,WAG7B,CAAC,EAAE,WAAAC,GAAW,OAAAC,IAAQ,UAAU,YAAAC,IAAa,GAAG,GAAGC,EAAA,GAASC,MAC5D,gBAAAC;AAAA,EAACT,EAAmB;AAAA,EAAnB;AAAA,IACC,KAAAQ;AAAA,IACA,OAAAH;AAAA,IACA,YAAAC;AAAA,IACA,WAAWI;AAAA,MACT;AAAA,MACAN;AAAA,IAAA;AAAA,IAED,GAAGG;AAAA,EAAA;AACN,CACD;AACDL,EAAiB,cAAcF,EAAmB,QAAQ;"}
@@ -0,0 +1,7 @@
1
+ import { InfoBlockProps } from './InfoBlock.types';
2
+ export declare const InfoBlock: {
3
+ (props: InfoBlockProps): import("react/jsx-runtime").JSX.Element;
4
+ displayName: string;
5
+ };
6
+ export default InfoBlock;
7
+ //# sourceMappingURL=InfoBlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoBlock.d.ts","sourceRoot":"","sources":["../../src/InfoBlock/InfoBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAiBtE,eAAO,MAAM,SAAS;YAAW,cAAc;;CAmB9C,CAAA;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { jsx as e, jsxs as c, Fragment as m } from "react/jsx-runtime";
2
+ import { cn as f } from "@oneplatformdev/utils";
3
+ import { infoBlockVariants as p } from "./infoBlockVariants.js";
4
+ import { isValidElement as d, createElement as h } from "react";
5
+ import { InfoIcon as u, TriangleAlertIcon as w } from "lucide-react";
6
+ const N = (r) => r ? d(r) ? r : h(r) : null, x = {
7
+ error: /* @__PURE__ */ e(w, { className: "fill-[#DC2626] text-white!" }),
8
+ info: /* @__PURE__ */ e(u, { className: "fill-[#9368FF] text-white!" })
9
+ }, k = (r) => {
10
+ const { className: t, variant: n = "error", content: a, icon: o, children: i, node: l, ...s } = r;
11
+ return /* @__PURE__ */ e(
12
+ "div",
13
+ {
14
+ ...s,
15
+ className: f(p({ className: t, variant: n })),
16
+ children: i ?? /* @__PURE__ */ c(m, { children: [
17
+ N(o ?? x[n]),
18
+ l ?? /* @__PURE__ */ e("span", { className: "whitespace-pre-wrap wrap-break-word line-clamp-10", children: a })
19
+ ] })
20
+ }
21
+ );
22
+ };
23
+ k.displayName = "InfoBlock";
24
+ export {
25
+ k as InfoBlock,
26
+ k as default
27
+ };
28
+ //# sourceMappingURL=InfoBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoBlock.js","sources":["../../src/InfoBlock/InfoBlock.tsx"],"sourcesContent":["import { InfoBlockIconType, InfoBlockProps } from \"./InfoBlock.types\";\r\nimport { cn } from \"@oneplatformdev/utils\";\r\nimport { infoBlockVariants } from \"./infoBlockVariants\";\r\nimport { createElement, isValidElement } from \"react\";\r\nimport { TriangleAlertIcon, InfoIcon } from \"lucide-react\";\r\n\r\nconst renderInnerIcon = (Icon?: InfoBlockIconType) => {\r\n if (!Icon) return null;\r\n if (isValidElement(Icon)) return Icon;\r\n return createElement(Icon);\r\n};\r\n\r\nconst iconByVariant: Record<NonNullable<InfoBlockProps['variant']>, InfoBlockIconType> = {\r\n error: <TriangleAlertIcon className='fill-[#DC2626] text-white!'/>,\r\n info: <InfoIcon className='fill-[#9368FF] text-white!'/>\r\n}\r\n\r\nexport const InfoBlock = (props: InfoBlockProps) => {\r\n const { className, variant = 'error', content, icon, children, node, ...rest } = props;\r\n return (\r\n <div\r\n {...rest}\r\n className={cn(infoBlockVariants({ className, variant }))}\r\n >\r\n {children ?? (\r\n <>\r\n {renderInnerIcon(icon ?? iconByVariant[variant!])}\r\n {node ?? (\r\n <span className='whitespace-pre-wrap wrap-break-word line-clamp-10'>\r\n {content}\r\n </span>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n )\r\n}\r\nInfoBlock.displayName = 'InfoBlock';\r\nexport default InfoBlock;\r\n\r\n"],"names":["renderInnerIcon","Icon","isValidElement","createElement","iconByVariant","jsx","TriangleAlertIcon","InfoIcon","InfoBlock","props","className","variant","content","icon","children","node","rest","cn","infoBlockVariants","jsxs","Fragment"],"mappings":";;;;;AAMA,MAAMA,IAAkB,CAACC,MAClBA,IACDC,EAAeD,CAAI,IAAUA,IAC1BE,EAAcF,CAAI,IAFP,MAKdG,IAAmF;AAAA,EACvF,OAAO,gBAAAC,EAACC,GAAA,EAAkB,WAAU,6BAAA,CAA4B;AAAA,EAChE,MAAM,gBAAAD,EAACE,GAAA,EAAS,WAAU,6BAAA,CAA4B;AACxD,GAEaC,IAAY,CAACC,MAA0B;AAClD,QAAM,EAAE,WAAAC,GAAW,SAAAC,IAAU,SAAS,SAAAC,GAAS,MAAAC,GAAM,UAAAC,GAAU,MAAAC,GAAM,GAAGC,EAAA,IAASP;AACjF,SACE,gBAAAJ;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGW;AAAA,MACJ,WAAWC,EAAGC,EAAkB,EAAE,WAAAR,GAAW,SAAAC,EAAA,CAAS,CAAC;AAAA,MAEtD,eACC,gBAAAQ,EAAAC,GAAA,EACG,UAAA;AAAA,QAAApB,EAAgBa,KAAQT,EAAcO,CAAQ,CAAC;AAAA,QAC/CI,KACC,gBAAAV,EAAC,QAAA,EAAK,WAAU,qDACf,UAAAO,EAAA,CACH;AAAA,MAAA,EAAA,CAEF;AAAA,IAAA;AAAA,EAAA;AAIR;AACAJ,EAAU,cAAc;"}
@@ -0,0 +1,50 @@
1
+ import { jsx as t } from "react/jsx-runtime";
2
+ import { InfoBlock as o } from "./InfoBlock.js";
3
+ import { CircleAlert as n } from "lucide-react";
4
+ const a = {
5
+ title: "UI/InfoBlock",
6
+ component: o,
7
+ argTypes: {
8
+ variant: {
9
+ control: "select",
10
+ options: ["error", "info"],
11
+ description: "Defines the color scheme and default icon"
12
+ },
13
+ content: {
14
+ control: "text",
15
+ description: "Text or content inside the block"
16
+ }
17
+ },
18
+ parameters: {
19
+ layout: "centered"
20
+ }
21
+ }, i = {
22
+ args: {
23
+ variant: "error",
24
+ content: "Увага! Перш ніж архівувати підрозділ “Підрозділ дизайну”, переведіть співробітників до іншого — інакше вони будуть автоматично звільнені."
25
+ }
26
+ }, s = {
27
+ args: {
28
+ variant: "info",
29
+ content: "Зміни вступлять в силу після збереження налаштувань профілю."
30
+ }
31
+ }, l = {
32
+ args: {
33
+ variant: "info",
34
+ icon: /* @__PURE__ */ t(n, { className: "text-blue-500" }),
35
+ content: "Цей блок використовує передану вручну іконку замість стандартної."
36
+ }
37
+ }, f = {
38
+ args: {
39
+ variant: "error",
40
+ content: "Дуже довгий текст: ".repeat(20)
41
+ }
42
+ };
43
+ export {
44
+ l as CustomIcon,
45
+ i as Error,
46
+ s as Info,
47
+ f as LongContent,
48
+ a as default
49
+ };
50
+ //# sourceMappingURL=InfoBlock.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoBlock.stories.js","sources":["../../src/InfoBlock/InfoBlock.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react-vite';\r\nimport { InfoBlock } from './InfoBlock';\r\nimport { CircleAlert } from 'lucide-react';\r\n\r\nconst meta = {\r\n title: 'UI/InfoBlock',\r\n component: InfoBlock,\r\n argTypes: {\r\n variant: {\r\n control: 'select',\r\n options: ['error', 'info'],\r\n description: 'Defines the color scheme and default icon',\r\n },\r\n content: {\r\n control: 'text',\r\n description: 'Text or content inside the block',\r\n },\r\n },\r\n parameters: {\r\n layout: 'centered',\r\n },\r\n} satisfies Meta<typeof InfoBlock>;\r\n\r\nexport default meta;\r\n\r\ntype Story = StoryObj<typeof meta>;\r\n\r\nexport const Error: Story = {\r\n args: {\r\n variant: 'error',\r\n content: 'Увага! Перш ніж архівувати підрозділ “Підрозділ дизайну”, переведіть співробітників до іншого — інакше вони будуть автоматично звільнені.',\r\n },\r\n};\r\n\r\nexport const Info: Story = {\r\n args: {\r\n variant: 'info',\r\n content: 'Зміни вступлять в силу після збереження налаштувань профілю.',\r\n },\r\n};\r\n\r\nexport const CustomIcon: Story = {\r\n args: {\r\n variant: 'info',\r\n icon: <CircleAlert className=\"text-blue-500\" />,\r\n content: 'Цей блок використовує передану вручну іконку замість стандартної.',\r\n },\r\n};\r\n\r\nexport const LongContent: Story = {\r\n args: {\r\n variant: 'error',\r\n content: 'Дуже довгий текст: '.repeat(20),\r\n },\r\n};\r\n"],"names":["meta","InfoBlock","Error","Info","CustomIcon","jsx","CircleAlert","LongContent"],"mappings":";;;AAIA,MAAMA,IAAO;AAAA,EACX,OAAO;AAAA,EACP,WAAWC;AAAA,EACX,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,SAAS,CAAC,SAAS,MAAM;AAAA,MACzB,aAAa;AAAA,IAAA;AAAA,IAEf,SAAS;AAAA,MACP,SAAS;AAAA,MACT,aAAa;AAAA,IAAA;AAAA,EACf;AAAA,EAEF,YAAY;AAAA,IACV,QAAQ;AAAA,EAAA;AAEZ,GAMaC,IAAe;AAAA,EAC1B,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,SAAS;AAAA,EAAA;AAEb,GAEaC,IAAc;AAAA,EACzB,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,SAAS;AAAA,EAAA;AAEb,GAEaC,IAAoB;AAAA,EAC/B,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,MAAM,gBAAAC,EAACC,GAAA,EAAY,WAAU,gBAAA,CAAgB;AAAA,IAC7C,SAAS;AAAA,EAAA;AAEb,GAEaC,IAAqB;AAAA,EAChC,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,SAAS,sBAAsB,OAAO,EAAE;AAAA,EAAA;AAE5C;"}
@@ -0,0 +1,9 @@
1
+ import { InfoBlockVariantsProps } from './infoBlockVariants';
2
+ import { ComponentType, HTMLAttributes, PropsWithChildren, ReactElement, ReactNode, SVGProps } from 'react';
3
+ export type InfoBlockIconType = ComponentType<SVGProps<SVGSVGElement>> | ReactElement<SVGProps<SVGSVGElement>>;
4
+ export interface InfoBlockProps extends PropsWithChildren, InfoBlockVariantsProps, Omit<HTMLAttributes<HTMLDivElement>, 'color' | 'content'> {
5
+ content?: ReactNode;
6
+ node?: ReactNode;
7
+ icon?: InfoBlockIconType;
8
+ }
9
+ //# sourceMappingURL=InfoBlock.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoBlock.types.d.ts","sourceRoot":"","sources":["../../src/InfoBlock/InfoBlock.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,QAAQ,EACT,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,iBAAiB,GACzB,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GACtC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAE1C,MAAM,WAAW,cACf,SAAQ,iBAAiB,EACvB,sBAAsB,EACtB,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,iBAAiB,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=InfoBlock.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoBlock.types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './InfoBlock';
2
+ export type * from './InfoBlock.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/InfoBlock/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,mBAAmB,mBAAmB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { InfoBlock as r } from "./InfoBlock.js";
2
+ export {
3
+ r as InfoBlock
4
+ };
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,6 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ export declare const infoBlockVariants: (props?: ({
3
+ variant?: "error" | "info" | null | undefined;
4
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
5
+ export type InfoBlockVariantsProps = VariantProps<typeof infoBlockVariants>;
6
+ //# sourceMappingURL=infoBlockVariants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infoBlockVariants.d.ts","sourceRoot":"","sources":["../../src/InfoBlock/infoBlockVariants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,iBAAiB;;8EAqB7B,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { cva as t } from "class-variance-authority";
2
+ const a = t(
3
+ [
4
+ "flex items-start gap-2",
5
+ "p-2.5 rounded-lg",
6
+ "font-medium text-base leading-normal text-[#06080D]",
7
+ "whitespace-pre-wrap break-words",
8
+ "[&>p]:m-0 [&>p]:p-0",
9
+ "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-6",
10
+ "transition-transform duration-200 [&_svg]:transition-transform [&_svg]:duration-200"
11
+ ],
12
+ {
13
+ variants: {
14
+ variant: {
15
+ error: "bg-[#DC26260F] [&>svg]:text-[#DC2626]",
16
+ info: "bg-[#9368FF0F] [&>svg]:text-[#9368FF]"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ variant: "error"
21
+ }
22
+ }
23
+ );
24
+ export {
25
+ a as infoBlockVariants
26
+ };
27
+ //# sourceMappingURL=infoBlockVariants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infoBlockVariants.js","sources":["../../src/InfoBlock/infoBlockVariants.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\r\n\r\nexport const infoBlockVariants = cva(\r\n [\r\n 'flex items-start gap-2',\r\n 'p-2.5 rounded-lg',\r\n 'font-medium text-base leading-normal text-[#06080D]',\r\n 'whitespace-pre-wrap break-words',\r\n '[&>p]:m-0 [&>p]:p-0',\r\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-6\",\r\n 'transition-transform duration-200 [&_svg]:transition-transform [&_svg]:duration-200',\r\n ],\r\n {\r\n variants: {\r\n variant: {\r\n error: 'bg-[#DC26260F] [&>svg]:text-[#DC2626]',\r\n info: 'bg-[#9368FF0F] [&>svg]:text-[#9368FF]',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'error',\r\n },\r\n }\r\n)\r\n\r\nexport type InfoBlockVariantsProps = VariantProps<typeof infoBlockVariants>;\r\n"],"names":["infoBlockVariants","cva"],"mappings":";AAEO,MAAMA,IAAoBC;AAAA,EAC/B;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA,EAEF;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,eAAO,MAAM,SAAS,qFAmDrB,CAAC;AAGF,eAAO,MAAM,aAAa,qFAiBzB,CAAC;AAkBF,eAAO,MAAM,KAAK,qFAKjB,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../src/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgD,MAAM,OAAO,CAAC;AAKrE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAa3C,eAAO,MAAM,SAAS,qFA+GrB,CAAC;AAGF,eAAO,MAAM,aAAa,qFAiBzB,CAAC;AAkBF,eAAO,MAAM,KAAK,qFAKjB,CAAC"}
package/Input/Input.js CHANGED
@@ -1,86 +1,137 @@
1
- import { jsxs as w, jsx as s } from "react/jsx-runtime";
2
- import u, { useState as v } from "react";
3
- import { Eye as h, EyeOff as P } from "lucide-react";
4
- import { inputVariants as x } from "./inputVariants.js";
5
- import { cn as p } from "@oneplatformdev/utils";
6
- const m = u.forwardRef(
7
- (t, a) => {
1
+ import { jsxs as b, jsx as t } from "react/jsx-runtime";
2
+ import g, { useRef as H, useImperativeHandle as L, useState as E } from "react";
3
+ import { X as M, Eye as _, EyeOff as A } from "lucide-react";
4
+ import { inputVariants as U } from "./inputVariants.js";
5
+ import { cn as s } from "@oneplatformdev/utils";
6
+ const X = (e) => {
7
+ if (!e) return;
8
+ Object.getOwnPropertyDescriptor(
9
+ HTMLInputElement.prototype,
10
+ "value"
11
+ )?.set?.call(e, ""), e.dispatchEvent(new Event("input", { bubbles: !0 })), e.dispatchEvent(new Event("change", { bubbles: !0 }));
12
+ }, v = g.forwardRef(
13
+ (e, r) => {
8
14
  const {
9
- className: e,
15
+ className: a,
10
16
  variant: o,
11
- type: n,
12
- slotProps: { input: l, wrapper: c } = {},
13
- onChange: f,
14
- onTransform: d,
17
+ type: i,
18
+ slotProps: { input: u, wrapper: y } = {},
19
+ onChange: h,
20
+ onTransform: w,
21
+ counter: S = !1,
22
+ maxLength: c,
15
23
  fullSize: N = !1,
16
- ...g
17
- } = t, {
18
- startAdornment: i,
19
- className: I,
20
- ...b
21
- } = l || {};
22
- return /* @__PURE__ */ w(
24
+ value: p,
25
+ defaultValue: d,
26
+ disabled: x,
27
+ readOnly: I,
28
+ clearable: C = !1,
29
+ onClear: j,
30
+ ...z
31
+ } = e, {
32
+ startAdornment: f,
33
+ className: B,
34
+ ...O
35
+ } = u || {}, l = H(null);
36
+ L(r, () => l.current);
37
+ const m = p !== void 0, [D, V] = E(
38
+ d !== void 0 ? String(d) : ""
39
+ ), P = m ? String(p ?? "") : D, T = C && !x && !I && P.length > 0, k = () => {
40
+ X(l.current), m || V(""), l.current?.focus(), j?.();
41
+ };
42
+ return /* @__PURE__ */ b(
23
43
  "div",
24
44
  {
25
- ...c || {},
26
- className: p(
45
+ ...y || {},
46
+ className: s(
27
47
  "relative",
28
48
  N && "w-full",
29
- c?.className
49
+ y?.className
30
50
  ),
31
51
  children: [
32
- !!i && /* @__PURE__ */ s("span", { className: "absolute left-[10px] top-1/2 -translate-y-1/2", children: i }),
33
- /* @__PURE__ */ s(
52
+ !!f && /* @__PURE__ */ t("span", { className: "absolute left-[10px] top-1/2 -translate-y-1/2", children: f }),
53
+ /* @__PURE__ */ t(
34
54
  "input",
35
55
  {
36
- type: n,
37
- className: p(
38
- x({ variant: o, className: e }),
39
- N && "min-w-auto",
40
- !!i && "pl-8",
41
- I
56
+ type: i,
57
+ className: s(
58
+ U({ variant: o, className: a }),
59
+ !!f && "pl-10",
60
+ C && "pr-8",
61
+ B,
62
+ N && "min-w-auto"
42
63
  ),
43
- ref: a,
44
- ...b,
45
- ...g,
46
- onChange: (r) => {
47
- typeof d?.(r.target.value, r) == "string" && (r.target.value = d(r.target.value, r)), f && f(r);
64
+ ref: l,
65
+ maxLength: c,
66
+ value: p,
67
+ defaultValue: d,
68
+ disabled: x,
69
+ readOnly: I,
70
+ ...O,
71
+ ...z,
72
+ onChange: (n) => {
73
+ typeof w?.(n.target.value, n) == "string" && (n.target.value = w(n.target.value, n)), m || V(n.target.value), h && h(n);
48
74
  }
49
75
  }
50
- )
76
+ ),
77
+ T && /* @__PURE__ */ t(
78
+ "button",
79
+ {
80
+ type: "button",
81
+ tabIndex: -1,
82
+ "aria-label": "Clear input",
83
+ onMouseDown: (n) => n.preventDefault(),
84
+ onClick: k,
85
+ className: s(
86
+ "absolute top-1/2 right-3 -translate-y-1/2",
87
+ "text-muted-foreground hover:text-foreground",
88
+ "inline-flex items-center justify-center"
89
+ ),
90
+ children: /* @__PURE__ */ t(M, { size: 16 })
91
+ }
92
+ ),
93
+ S && typeof c == "number" && /* @__PURE__ */ b("div", { className: s(
94
+ "w-full text-right inline-flex items-center justify-end",
95
+ "text-xs font-medium leading-[1.2] text-muted-foreground",
96
+ "peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
97
+ ), children: [
98
+ P.length,
99
+ "/",
100
+ c
101
+ ] })
51
102
  ]
52
103
  }
53
104
  );
54
105
  }
55
106
  );
56
- m.displayName = "Input";
57
- const y = u.forwardRef(
58
- (t, a) => {
59
- const [e, o] = v(!1), n = e ? "text" : "password", l = () => {
60
- o(!e);
107
+ v.displayName = "Input";
108
+ const R = g.forwardRef(
109
+ (e, r) => {
110
+ const [a, o] = E(!1), i = a ? "text" : "password", u = () => {
111
+ o(!a);
61
112
  };
62
- return /* @__PURE__ */ w("div", { ...t?.slotProps?.wrapper || {}, className: p("relative", t?.slotProps?.wrapper?.className), children: [
63
- /* @__PURE__ */ s(m, { ...t, type: n, className: "pr-8", ref: a }),
64
- /* @__PURE__ */ s(V, { isVisible: e, onClick: l })
113
+ return /* @__PURE__ */ b("div", { ...e?.slotProps?.wrapper || {}, className: s("relative", e?.slotProps?.wrapper?.className), children: [
114
+ /* @__PURE__ */ t(v, { ...e, type: i, className: "pr-8", ref: r }),
115
+ /* @__PURE__ */ t(q, { isVisible: a, onClick: u })
65
116
  ] });
66
117
  }
67
118
  );
68
- y.displayName = "PasswordInput";
69
- const V = ({ isVisible: t, onClick: a }) => /* @__PURE__ */ s(
119
+ R.displayName = "PasswordInput";
120
+ const q = ({ isVisible: e, onClick: r }) => /* @__PURE__ */ t(
70
121
  "button",
71
122
  {
72
123
  type: "button",
73
- onClick: a,
124
+ onClick: r,
74
125
  className: "absolute top-1/2 right-3 transform -translate-y-1/2",
75
- children: t ? /* @__PURE__ */ s(h, { size: 16 }) : /* @__PURE__ */ s(P, { size: 16 })
126
+ children: e ? /* @__PURE__ */ t(_, { size: 16 }) : /* @__PURE__ */ t(A, { size: 16 })
76
127
  }
77
- ), B = u.forwardRef(
78
- ({ type: t, ...a }, e) => t === "password" ? /* @__PURE__ */ s(y, { type: t, ...a, ref: e }) : /* @__PURE__ */ s(m, { type: t, ...a, ref: e })
128
+ ), F = g.forwardRef(
129
+ ({ type: e, ...r }, a) => e === "password" ? /* @__PURE__ */ t(R, { type: e, ...r, ref: a }) : /* @__PURE__ */ t(v, { type: e, ...r, ref: a })
79
130
  );
80
- B.displayName = "Input";
131
+ F.displayName = "Input";
81
132
  export {
82
- m as BaseInput,
83
- B as Input,
84
- y as PasswordInput
133
+ v as BaseInput,
134
+ F as Input,
135
+ R as PasswordInput
85
136
  };
86
137
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../src/Input/Input.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Eye, EyeOff } from 'lucide-react';\nimport { inputVariants } from './inputVariants';\n\nimport { cn } from '@oneplatformdev/utils';\nimport { InputProps } from './Input.types';\n\nexport const BaseInput = React.forwardRef<HTMLInputElement, InputProps>(\n (props, ref) => {\n const {\n className,\n variant,\n type,\n slotProps: { input, wrapper } = {},\n onChange,\n onTransform,\n fullSize = false,\n ...rest\n } = props;\n const {\n startAdornment,\n className: classNameInputSlotProps,\n ...restInputSlotProps\n } = input || {};\n return (\n <div\n {...(wrapper || {})}\n className={cn(\n 'relative',\n fullSize && 'w-full',\n wrapper?.className\n )}>\n {Boolean(startAdornment) && (\n <span className=\"absolute left-[10px] top-1/2 -translate-y-1/2\">\n {startAdornment}\n </span>\n )}\n <input\n type={type}\n className={cn(\n inputVariants({ variant, className }),\n fullSize && 'min-w-auto',\n Boolean(startAdornment) && 'pl-8',\n classNameInputSlotProps\n )}\n ref={ref}\n {...restInputSlotProps}\n {...rest}\n onChange={(e) => {\n if (typeof onTransform?.(e.target.value, e) === 'string') {\n e.target.value = onTransform(e.target.value, e);\n }\n if (onChange) onChange(e);\n }}\n />\n </div>\n );\n }\n);\nBaseInput.displayName = 'Input';\n\nexport const PasswordInput = React.forwardRef<HTMLInputElement, InputProps>(\n (props, ref) => {\n const [isVisible, setIsVisible] = useState<boolean>(false);\n\n const inputType = isVisible ? 'text' : 'password';\n\n const toggleVisibility = () => {\n setIsVisible(!isVisible);\n };\n\n return (\n <div {...(props?.slotProps?.wrapper || {})} className={cn('relative', props?.slotProps?.wrapper?.className)}>\n <BaseInput {...props} type={inputType} className=\"pr-8\" ref={ref} />\n <VisibilityButton isVisible={isVisible} onClick={toggleVisibility} />\n </div>\n );\n }\n);\nPasswordInput.displayName = 'PasswordInput';\n\ntype VisibilityButtonProps = {\n isVisible: boolean\n onClick: () => void\n}\n\nconst VisibilityButton = ({ isVisible, onClick }:VisibilityButtonProps) => (\n <button\n type=\"button\"\n onClick={onClick}\n className=\"absolute top-1/2 right-3 transform -translate-y-1/2\"\n >\n {isVisible ? <Eye size={16} /> : <EyeOff size={16} />}\n </button>\n);\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n ({ type, ...props }, ref) => {\n if (type === 'password') return <PasswordInput type={type} {...props} ref={ref} />;\n return <BaseInput type={type} {...props} ref={ref} />;\n }\n);\nInput.displayName = 'Input';\n"],"names":["BaseInput","React","props","ref","className","variant","type","input","wrapper","onChange","onTransform","fullSize","rest","startAdornment","classNameInputSlotProps","restInputSlotProps","jsxs","cn","jsx","inputVariants","e","PasswordInput","isVisible","setIsVisible","useState","inputType","toggleVisibility","VisibilityButton","onClick","Eye","EyeOff","Input"],"mappings":";;;;;AAOO,MAAMA,IAAYC,EAAM;AAAA,EAC7B,CAACC,GAAOC,MAAQ;AACd,UAAM;AAAA,MACJ,WAAAC;AAAA,MACA,SAAAC;AAAA,MACA,MAAAC;AAAA,MACA,WAAW,EAAE,OAAAC,GAAO,SAAAC,EAAA,IAAY,CAAA;AAAA,MAChC,UAAAC;AAAA,MACA,aAAAC;AAAA,MACA,UAAAC,IAAW;AAAA,MACX,GAAGC;AAAA,IAAA,IACDV,GACE;AAAA,MACJ,gBAAAW;AAAA,MACA,WAAWC;AAAA,MACX,GAAGC;AAAA,IAAA,IACDR,KAAS,CAAA;AACb,WACE,gBAAAS;AAAA,MAAC;AAAA,MAAA;AAAA,QACE,GAAIR,KAAW,CAAA;AAAA,QAChB,WAAWS;AAAA,UACT;AAAA,UACAN,KAAY;AAAA,UACZH,GAAS;AAAA,QAAA;AAAA,QAEV,UAAA;AAAA,UAAA,EAAQK,KACP,gBAAAK,EAAC,QAAA,EAAK,WAAU,iDACb,UAAAL,GACH;AAAA,UAEF,gBAAAK;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAAZ;AAAA,cACA,WAAWW;AAAA,gBACTE,EAAc,EAAE,SAAAd,GAAS,WAAAD,GAAW;AAAA,gBACpCO,KAAY;AAAA,gBACZ,EAAQE,KAAmB;AAAA,gBAC3BC;AAAA,cAAA;AAAA,cAEF,KAAAX;AAAA,cACC,GAAGY;AAAA,cACH,GAAGH;AAAA,cACJ,UAAU,CAACQ,MAAM;AACf,gBAAI,OAAOV,IAAcU,EAAE,OAAO,OAAOA,CAAC,KAAM,aAC9CA,EAAE,OAAO,QAAQV,EAAYU,EAAE,OAAO,OAAOA,CAAC,IAE5CX,OAAmBW,CAAC;AAAA,cAC1B;AAAA,YAAA;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AACApB,EAAU,cAAc;AAEjB,MAAMqB,IAAgBpB,EAAM;AAAA,EACjC,CAACC,GAAOC,MAAQ;AACd,UAAM,CAACmB,GAAWC,CAAY,IAAIC,EAAkB,EAAK,GAEnDC,IAAYH,IAAY,SAAS,YAEjCI,IAAmB,MAAM;AAC7B,MAAAH,EAAa,CAACD,CAAS;AAAA,IACzB;AAEA,WACE,gBAAAN,EAAC,OAAA,EAAK,GAAId,GAAO,WAAW,WAAW,CAAA,GAAK,WAAWe,EAAG,YAAYf,GAAO,WAAW,SAAS,SAAS,GACxG,UAAA;AAAA,MAAA,gBAAAgB,EAAClB,KAAW,GAAGE,GAAO,MAAMuB,GAAW,WAAU,QAAO,KAAAtB,GAAU;AAAA,MAClE,gBAAAe,EAACS,GAAA,EAAiB,WAAAL,GAAsB,SAASI,EAAA,CAAkB;AAAA,IAAA,GACrE;AAAA,EAEJ;AACF;AACAL,EAAc,cAAc;AAO5B,MAAMM,IAAmB,CAAC,EAAE,WAAAL,GAAW,SAAAM,QACrC,gBAAAV;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,SAAAU;AAAA,IACA,WAAU;AAAA,IAET,UAAAN,sBAAaO,GAAA,EAAI,MAAM,IAAI,IAAK,gBAAAX,EAACY,GAAA,EAAO,MAAM,GAAA,CAAI;AAAA,EAAA;AACrD,GAGWC,IAAQ9B,EAAM;AAAA,EACzB,CAAC,EAAE,MAAAK,GAAM,GAAGJ,EAAA,GAASC,MACfG,MAAS,aAAmB,gBAAAY,EAACG,KAAc,MAAAf,GAAa,GAAGJ,GAAO,KAAAC,GAAU,IACzE,gBAAAe,EAAClB,GAAA,EAAU,MAAAM,GAAa,GAAGJ,GAAO,KAAAC,GAAU;AAEvD;AACA4B,EAAM,cAAc;"}
1
+ {"version":3,"file":"Input.js","sources":["../../src/Input/Input.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState } from 'react';\r\nimport { Eye, EyeOff, X } from 'lucide-react';\r\nimport { inputVariants } from './inputVariants';\r\n\r\nimport { cn } from '@oneplatformdev/utils';\r\nimport { InputProps } from './Input.types';\r\n\r\nconst clearInputNatively = (input: HTMLInputElement | null) => {\r\n if (!input) return;\r\n const setter = Object.getOwnPropertyDescriptor(\r\n HTMLInputElement.prototype,\r\n 'value',\r\n )?.set;\r\n setter?.call(input, '');\r\n input.dispatchEvent(new Event('input', { bubbles: true }));\r\n input.dispatchEvent(new Event('change', { bubbles: true }));\r\n};\r\n\r\nexport const BaseInput = React.forwardRef<HTMLInputElement, InputProps>(\r\n (props, ref) => {\r\n const {\r\n className,\r\n variant,\r\n type,\r\n slotProps: { input, wrapper } = {},\r\n onChange,\r\n onTransform,\r\n counter = false,\r\n maxLength,\r\n fullSize = false,\r\n value,\r\n defaultValue,\r\n disabled,\r\n readOnly,\r\n clearable = false,\r\n onClear,\r\n ...rest\r\n } = props;\r\n const {\r\n startAdornment,\r\n className: classNameInputSlotProps,\r\n ...restInputSlotProps\r\n } = input || {};\r\n\r\n const innerRef = useRef<HTMLInputElement>(null);\r\n useImperativeHandle(ref, () => innerRef.current as HTMLInputElement);\r\n\r\n const isControlled = value !== undefined;\r\n const [uncontrolledValue, setUncontrolledValue] = useState<string>(\r\n defaultValue !== undefined ? String(defaultValue) : '',\r\n );\r\n const currentValue = isControlled ? String(value ?? '') : uncontrolledValue;\r\n\r\n const showClear =\r\n clearable && !disabled && !readOnly && currentValue.length > 0;\r\n\r\n const handleClear = () => {\r\n clearInputNatively(innerRef.current);\r\n if (!isControlled) setUncontrolledValue('');\r\n innerRef.current?.focus();\r\n onClear?.();\r\n };\r\n\r\n return (\r\n <div\r\n {...(wrapper || {})}\r\n className={cn(\r\n 'relative',\r\n fullSize && 'w-full',\r\n wrapper?.className\r\n )}>\r\n {Boolean(startAdornment) && (\r\n <span className=\"absolute left-[10px] top-1/2 -translate-y-1/2\">\r\n {startAdornment}\r\n </span>\r\n )}\r\n <input\r\n type={type}\r\n className={cn(\r\n inputVariants({ variant, className }),\r\n Boolean(startAdornment) && 'pl-10',\r\n clearable && 'pr-8',\r\n classNameInputSlotProps,\r\n fullSize && 'min-w-auto',\r\n )}\r\n ref={innerRef}\r\n maxLength={maxLength}\r\n value={value}\r\n defaultValue={defaultValue}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n {...restInputSlotProps}\r\n {...rest}\r\n onChange={(e) => {\r\n if (typeof onTransform?.(e.target.value, e) === 'string') {\r\n e.target.value = onTransform(e.target.value, e);\r\n }\r\n if (!isControlled) setUncontrolledValue(e.target.value);\r\n if (onChange) onChange(e);\r\n }}\r\n />\r\n {showClear && (\r\n <button\r\n type=\"button\"\r\n tabIndex={-1}\r\n aria-label=\"Clear input\"\r\n onMouseDown={(e) => e.preventDefault()}\r\n onClick={handleClear}\r\n className={cn(\r\n 'absolute top-1/2 right-3 -translate-y-1/2',\r\n 'text-muted-foreground hover:text-foreground',\r\n 'inline-flex items-center justify-center',\r\n )}\r\n >\r\n <X size={16} />\r\n </button>\r\n )}\r\n {counter && typeof maxLength === 'number' && (\r\n <div className={cn(\r\n 'w-full text-right inline-flex items-center justify-end',\r\n 'text-xs font-medium leading-[1.2] text-muted-foreground',\r\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-70'\r\n )}>\r\n {currentValue.length}/{maxLength}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\nBaseInput.displayName = 'Input';\r\n\r\nexport const PasswordInput = React.forwardRef<HTMLInputElement, InputProps>(\r\n (props, ref) => {\r\n const [isVisible, setIsVisible] = useState<boolean>(false);\r\n\r\n const inputType = isVisible ? 'text' : 'password';\r\n\r\n const toggleVisibility = () => {\r\n setIsVisible(!isVisible);\r\n };\r\n\r\n return (\r\n <div {...(props?.slotProps?.wrapper || {})} className={cn('relative', props?.slotProps?.wrapper?.className)}>\r\n <BaseInput {...props} type={inputType} className=\"pr-8\" ref={ref} />\r\n <VisibilityButton isVisible={isVisible} onClick={toggleVisibility} />\r\n </div>\r\n );\r\n }\r\n);\r\nPasswordInput.displayName = 'PasswordInput';\r\n\r\ntype VisibilityButtonProps = {\r\n isVisible: boolean\r\n onClick: () => void\r\n}\r\n\r\nconst VisibilityButton = ({ isVisible, onClick }:VisibilityButtonProps) => (\r\n <button\r\n type=\"button\"\r\n onClick={onClick}\r\n className=\"absolute top-1/2 right-3 transform -translate-y-1/2\"\r\n >\r\n {isVisible ? <Eye size={16} /> : <EyeOff size={16} />}\r\n </button>\r\n);\r\n\r\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\r\n ({ type, ...props }, ref) => {\r\n if (type === 'password') return <PasswordInput type={type} {...props} ref={ref} />;\r\n return <BaseInput type={type} {...props} ref={ref} />;\r\n }\r\n);\r\nInput.displayName = 'Input';\r\n"],"names":["clearInputNatively","input","BaseInput","React","props","ref","className","variant","type","wrapper","onChange","onTransform","counter","maxLength","fullSize","value","defaultValue","disabled","readOnly","clearable","onClear","rest","startAdornment","classNameInputSlotProps","restInputSlotProps","innerRef","useRef","useImperativeHandle","isControlled","uncontrolledValue","setUncontrolledValue","useState","currentValue","showClear","handleClear","jsxs","cn","jsx","inputVariants","e","X","PasswordInput","isVisible","setIsVisible","inputType","toggleVisibility","VisibilityButton","onClick","Eye","EyeOff","Input"],"mappings":"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"}