@oneplatformdev/ui 0.1.99-beta.25 → 0.1.99-beta.251

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 (234) hide show
  1. package/Accordion/Accordion.d.ts +1 -1
  2. package/Accordion/Accordion.d.ts.map +1 -1
  3. package/Accordion/Accordion.js +48 -26
  4. package/Accordion/Accordion.js.map +1 -1
  5. package/AlertDialog/AlertDialog.stories.js +3 -2
  6. package/AlertDialog/AlertDialog.stories.js.map +1 -1
  7. package/AlertDialog/AlertDialogRoot.d.ts.map +1 -1
  8. package/AlertDialog/AlertDialogRoot.js +26 -24
  9. package/AlertDialog/AlertDialogRoot.js.map +1 -1
  10. package/Button/Button.d.ts.map +1 -1
  11. package/Button/Button.js +43 -43
  12. package/Button/Button.js.map +1 -1
  13. package/Button/Button.stories.js +15 -12
  14. package/Button/Button.stories.js.map +1 -1
  15. package/Button/Button.utils.d.ts +3 -0
  16. package/Button/Button.utils.d.ts.map +1 -0
  17. package/Button/Button.utils.js +14 -0
  18. package/Button/Button.utils.js.map +1 -0
  19. package/Button/buttonVariants.d.ts +2 -2
  20. package/Button/buttonVariants.d.ts.map +1 -1
  21. package/Button/buttonVariants.js +38 -6
  22. package/Button/buttonVariants.js.map +1 -1
  23. package/Button/index.d.ts +1 -0
  24. package/Button/index.d.ts.map +1 -1
  25. package/Button/index.js +8 -6
  26. package/Button/index.js.map +1 -1
  27. package/ButtonIcon/ButtonIcon.d.ts.map +1 -1
  28. package/ButtonIcon/ButtonIcon.js +41 -39
  29. package/ButtonIcon/ButtonIcon.js.map +1 -1
  30. package/ButtonIcon/ButtonIcon.stories.js +35 -33
  31. package/ButtonIcon/ButtonIcon.stories.js.map +1 -1
  32. package/ButtonIcon/buttonIconVariants.d.ts +1 -1
  33. package/ButtonIcon/buttonIconVariants.d.ts.map +1 -1
  34. package/ButtonIcon/buttonIconVariants.js +3 -2
  35. package/ButtonIcon/buttonIconVariants.js.map +1 -1
  36. package/CHANGELOG.md +1439 -0
  37. package/Calendar/Calendar.js +5 -4
  38. package/Calendar/Calendar.js.map +1 -1
  39. package/Card/Card.d.ts.map +1 -1
  40. package/Card/Card.js +22 -21
  41. package/Card/Card.js.map +1 -1
  42. package/Checkbox/Checkbox.d.ts.map +1 -1
  43. package/Checkbox/Checkbox.js +36 -34
  44. package/Checkbox/Checkbox.js.map +1 -1
  45. package/Checkbox/Checkbox.stories.js +108 -0
  46. package/Checkbox/Checkbox.stories.js.map +1 -0
  47. package/Checkbox/Checkbox.types.d.ts +2 -1
  48. package/Checkbox/Checkbox.types.d.ts.map +1 -1
  49. package/Combobox/Combobox.d.ts +4 -2
  50. package/Combobox/Combobox.d.ts.map +1 -1
  51. package/Combobox/Combobox.js +183 -194
  52. package/Combobox/Combobox.js.map +1 -1
  53. package/Combobox/Combobox.stories.js +174 -73
  54. package/Combobox/Combobox.stories.js.map +1 -1
  55. package/Combobox/Combobox.types.d.ts +68 -24
  56. package/Combobox/Combobox.types.d.ts.map +1 -1
  57. package/Combobox/Combobox.types.js +4 -1
  58. package/Combobox/Combobox.types.js.map +1 -1
  59. package/Combobox/ComboboxOptionItem.d.ts +5 -3
  60. package/Combobox/ComboboxOptionItem.d.ts.map +1 -1
  61. package/Combobox/ComboboxOptionItem.js +79 -23
  62. package/Combobox/ComboboxOptionItem.js.map +1 -1
  63. package/Combobox/ComboboxRenderContent.d.ts +23 -0
  64. package/Combobox/ComboboxRenderContent.d.ts.map +1 -0
  65. package/Combobox/ComboboxRenderContent.js +117 -0
  66. package/Combobox/ComboboxRenderContent.js.map +1 -0
  67. package/Combobox/ComboboxRenderOptions.d.ts +4 -0
  68. package/Combobox/ComboboxRenderOptions.d.ts.map +1 -0
  69. package/Combobox/ComboboxRenderOptions.js +53 -0
  70. package/Combobox/ComboboxRenderOptions.js.map +1 -0
  71. package/Combobox/ComboboxRenderTrigger.d.ts +18 -0
  72. package/Combobox/ComboboxRenderTrigger.d.ts.map +1 -0
  73. package/Combobox/ComboboxRenderTrigger.js +120 -0
  74. package/Combobox/ComboboxRenderTrigger.js.map +1 -0
  75. package/Command/Command.d.ts +6 -1
  76. package/Command/Command.d.ts.map +1 -1
  77. package/Command/Command.js +61 -43
  78. package/Command/Command.js.map +1 -1
  79. package/ContextPopover/ContextDropdownMenu.d.ts +12 -0
  80. package/ContextPopover/ContextDropdownMenu.d.ts.map +1 -0
  81. package/ContextPopover/ContextDropdownMenu.js +41 -0
  82. package/ContextPopover/ContextDropdownMenu.js.map +1 -0
  83. package/ContextPopover/ContextPopover.d.ts +12 -0
  84. package/ContextPopover/ContextPopover.d.ts.map +1 -0
  85. package/ContextPopover/ContextPopover.js +34 -0
  86. package/ContextPopover/ContextPopover.js.map +1 -0
  87. package/ContextPopover/index.d.ts +4 -0
  88. package/ContextPopover/index.d.ts.map +1 -0
  89. package/ContextPopover/index.js +9 -0
  90. package/ContextPopover/index.js.map +1 -0
  91. package/ContextPopover/useContextPopoverHandler.d.ts +14 -0
  92. package/ContextPopover/useContextPopoverHandler.d.ts.map +1 -0
  93. package/ContextPopover/useContextPopoverHandler.js +21 -0
  94. package/ContextPopover/useContextPopoverHandler.js.map +1 -0
  95. package/DataTable/DataTable.js +16 -15
  96. package/DataTable/DataTable.js.map +1 -1
  97. package/Dialog/Dialog.d.ts +4 -1
  98. package/Dialog/Dialog.d.ts.map +1 -1
  99. package/Dialog/Dialog.js +84 -41
  100. package/Dialog/Dialog.js.map +1 -1
  101. package/Dialog/Dialog.stories.js +109 -0
  102. package/Dialog/Dialog.stories.js.map +1 -0
  103. package/Dialog/Dialog.types.d.ts +4 -0
  104. package/Dialog/Dialog.types.d.ts.map +1 -0
  105. package/Dialog/Dialog.types.js +2 -0
  106. package/Dialog/Dialog.types.js.map +1 -0
  107. package/Dialog/index.d.ts +1 -0
  108. package/Dialog/index.d.ts.map +1 -1
  109. package/Dialog/useDialogClosePosition.d.ts +11 -0
  110. package/Dialog/useDialogClosePosition.d.ts.map +1 -0
  111. package/Dialog/useDialogClosePosition.js +50 -0
  112. package/Dialog/useDialogClosePosition.js.map +1 -0
  113. package/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  114. package/DropdownMenu/DropdownMenu.js +33 -20
  115. package/DropdownMenu/DropdownMenu.js.map +1 -1
  116. package/Dropzone/Dropzone.d.ts.map +1 -1
  117. package/Dropzone/Dropzone.js +46 -28
  118. package/Dropzone/Dropzone.js.map +1 -1
  119. package/Dropzone/Dropzone.stories.js +100 -0
  120. package/Dropzone/Dropzone.stories.js.map +1 -0
  121. package/Dropzone/Dropzone.types.js +6 -6
  122. package/Dropzone/Dropzone.types.js.map +1 -1
  123. package/Form/FormRenderControl.d.ts +1 -1
  124. package/Form/FormRenderControl.d.ts.map +1 -1
  125. package/Form/FormRenderControl.js +55 -14
  126. package/Form/FormRenderControl.js.map +1 -1
  127. package/Form/FormRenderControl.types.d.ts +6 -2
  128. package/Form/FormRenderControl.types.d.ts.map +1 -1
  129. package/FormCombobox/FormCombobox.d.ts +4 -2
  130. package/FormCombobox/FormCombobox.d.ts.map +1 -1
  131. package/FormCombobox/FormCombobox.js +30 -17
  132. package/FormCombobox/FormCombobox.js.map +1 -1
  133. package/FormCombobox/FormCombobox.types.d.ts +6 -2
  134. package/FormCombobox/FormCombobox.types.d.ts.map +1 -1
  135. package/FormDatePicker/FormDatePicker.d.ts.map +1 -1
  136. package/FormDatePicker/FormDatePicker.js +18 -16
  137. package/FormDatePicker/FormDatePicker.js.map +1 -1
  138. package/FormDropzone/FormDropzone.d.ts.map +1 -1
  139. package/FormDropzone/FormDropzone.js +11 -9
  140. package/FormDropzone/FormDropzone.js.map +1 -1
  141. package/FormInput/FormInput.d.ts.map +1 -1
  142. package/FormInput/FormInput.js +47 -27
  143. package/FormInput/FormInput.js.map +1 -1
  144. package/FormInput/FormInput.stories.js +61 -0
  145. package/FormInput/FormInput.stories.js.map +1 -0
  146. package/FormInput/FormInput.types.d.ts +1 -0
  147. package/FormInput/FormInput.types.d.ts.map +1 -1
  148. package/FormSelect/FormSelect.d.ts.map +1 -1
  149. package/FormSelect/FormSelect.js +21 -17
  150. package/FormSelect/FormSelect.js.map +1 -1
  151. package/FormTextarea/FormTextarea.d.ts.map +1 -1
  152. package/FormTextarea/FormTextarea.js +15 -12
  153. package/FormTextarea/FormTextarea.js.map +1 -1
  154. package/InfoBlock/InfoBlock.d.ts +7 -0
  155. package/InfoBlock/InfoBlock.d.ts.map +1 -0
  156. package/InfoBlock/InfoBlock.js +28 -0
  157. package/InfoBlock/InfoBlock.js.map +1 -0
  158. package/InfoBlock/InfoBlock.stories.js +50 -0
  159. package/InfoBlock/InfoBlock.stories.js.map +1 -0
  160. package/InfoBlock/InfoBlock.types.d.ts +9 -0
  161. package/InfoBlock/InfoBlock.types.d.ts.map +1 -0
  162. package/InfoBlock/InfoBlock.types.js +2 -0
  163. package/InfoBlock/InfoBlock.types.js.map +1 -0
  164. package/InfoBlock/index.d.ts +3 -0
  165. package/InfoBlock/index.d.ts.map +1 -0
  166. package/InfoBlock/index.js +5 -0
  167. package/InfoBlock/index.js.map +1 -0
  168. package/InfoBlock/infoBlockVariants.d.ts +6 -0
  169. package/InfoBlock/infoBlockVariants.d.ts.map +1 -0
  170. package/InfoBlock/infoBlockVariants.js +27 -0
  171. package/InfoBlock/infoBlockVariants.js.map +1 -0
  172. package/Input/Input.d.ts.map +1 -1
  173. package/Input/Input.js +65 -51
  174. package/Input/Input.js.map +1 -1
  175. package/Input/Input.stories.js +154 -0
  176. package/Input/Input.stories.js.map +1 -0
  177. package/Input/Input.types.d.ts +1 -0
  178. package/Input/Input.types.d.ts.map +1 -1
  179. package/LoadingMask/LoadingMask.d.ts +1 -2
  180. package/LoadingMask/LoadingMask.d.ts.map +1 -1
  181. package/LoadingMask/LoadingMask.js +8 -8
  182. package/LoadingMask/LoadingMask.js.map +1 -1
  183. package/LoadingMask/LoadingMask.types.d.ts +1 -0
  184. package/LoadingMask/LoadingMask.types.d.ts.map +1 -1
  185. package/Popover/Popover.d.ts.map +1 -1
  186. package/Popover/Popover.js +9 -5
  187. package/Popover/Popover.js.map +1 -1
  188. package/ScrollArea/ScrollArea.d.ts +5 -1
  189. package/ScrollArea/ScrollArea.d.ts.map +1 -1
  190. package/ScrollArea/ScrollArea.js +23 -17
  191. package/ScrollArea/ScrollArea.js.map +1 -1
  192. package/Search/Search.d.ts.map +1 -1
  193. package/Search/Search.js +40 -31
  194. package/Search/Search.js.map +1 -1
  195. package/Select/Select.d.ts.map +1 -1
  196. package/Select/Select.js +53 -48
  197. package/Select/Select.js.map +1 -1
  198. package/Select/Select.types.d.ts +4 -0
  199. package/Select/Select.types.d.ts.map +1 -1
  200. package/Select/SelectRoot.js +6 -6
  201. package/Select/SelectRoot.js.map +1 -1
  202. package/Switch/Switch.d.ts +1 -1
  203. package/Switch/Switch.d.ts.map +1 -1
  204. package/Switch/Switch.js +19 -9
  205. package/Switch/Switch.js.map +1 -1
  206. package/Switch/Switch.stories.js +62 -0
  207. package/Switch/Switch.stories.js.map +1 -0
  208. package/TablePagination/TablePagination.js +9 -8
  209. package/TablePagination/TablePagination.js.map +1 -1
  210. package/Textarea/Textarea.d.ts.map +1 -1
  211. package/Textarea/Textarea.js +50 -45
  212. package/Textarea/Textarea.js.map +1 -1
  213. package/Textarea/Textarea.types.d.ts +3 -1
  214. package/Textarea/Textarea.types.d.ts.map +1 -1
  215. package/Toast/Toast.d.ts +1 -1
  216. package/Toast/toastVariants.d.ts +1 -1
  217. package/Tooltip/Tooltip.d.ts.map +1 -1
  218. package/Tooltip/Tooltip.js +51 -32
  219. package/Tooltip/Tooltip.js.map +1 -1
  220. package/Tooltip/Tooltip.types.d.ts +10 -0
  221. package/Tooltip/Tooltip.types.d.ts.map +1 -1
  222. package/Tooltip/tooltipVariants.d.ts +4 -0
  223. package/Tooltip/tooltipVariants.d.ts.map +1 -0
  224. package/Tooltip/tooltipVariants.js +22 -0
  225. package/Tooltip/tooltipVariants.js.map +1 -0
  226. package/index.d.ts +2 -0
  227. package/index.d.ts.map +1 -1
  228. package/index.js +342 -332
  229. package/index.js.map +1 -1
  230. package/package.json +6 -5
  231. package/Combobox/ComboboxOptions.d.ts +0 -4
  232. package/Combobox/ComboboxOptions.d.ts.map +0 -1
  233. package/Combobox/ComboboxOptions.js +0 -65
  234. package/Combobox/ComboboxOptions.js.map +0 -1
@@ -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\";\nimport { cn } from \"@oneplatformdev/utils\";\nimport { infoBlockVariants } from \"./infoBlockVariants\";\nimport { createElement, isValidElement } from \"react\";\nimport { TriangleAlertIcon, InfoIcon } from \"lucide-react\";\n\nconst renderInnerIcon = (Icon?: InfoBlockIconType) => {\n if (!Icon) return null;\n if (isValidElement(Icon)) return Icon;\n return createElement(Icon);\n};\n\nconst iconByVariant: Record<NonNullable<InfoBlockProps['variant']>, InfoBlockIconType> = {\n error: <TriangleAlertIcon className='fill-[#DC2626] text-white!'/>,\n info: <InfoIcon className='fill-[#9368FF] text-white!'/>\n}\n\nexport const InfoBlock = (props: InfoBlockProps) => {\n const { className, variant = 'error', content, icon, children, node, ...rest } = props;\n return (\n <div\n {...rest}\n className={cn(infoBlockVariants({ className, variant }))}\n >\n {children ?? (\n <>\n {renderInnerIcon(icon ?? iconByVariant[variant!])}\n {node ?? (\n <span className='whitespace-pre-wrap wrap-break-word line-clamp-10'>\n {content}\n </span>\n )}\n </>\n )}\n </div>\n )\n}\nInfoBlock.displayName = 'InfoBlock';\nexport default InfoBlock;\n\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';\nimport { InfoBlock } from './InfoBlock';\nimport { CircleAlert } from 'lucide-react';\n\nconst meta = {\n title: 'UI/InfoBlock',\n component: InfoBlock,\n argTypes: {\n variant: {\n control: 'select',\n options: ['error', 'info'],\n description: 'Defines the color scheme and default icon',\n },\n content: {\n control: 'text',\n description: 'Text or content inside the block',\n },\n },\n parameters: {\n layout: 'centered',\n },\n} satisfies Meta<typeof InfoBlock>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\n\nexport const Error: Story = {\n args: {\n variant: 'error',\n content: 'Увага! Перш ніж архівувати підрозділ “Підрозділ дизайну”, переведіть співробітників до іншого — інакше вони будуть автоматично звільнені.',\n },\n};\n\nexport const Info: Story = {\n args: {\n variant: 'info',\n content: 'Зміни вступлять в силу після збереження налаштувань профілю.',\n },\n};\n\nexport const CustomIcon: Story = {\n args: {\n variant: 'info',\n icon: <CircleAlert className=\"text-blue-500\" />,\n content: 'Цей блок використовує передану вручну іконку замість стандартної.',\n },\n};\n\nexport const LongContent: Story = {\n args: {\n variant: 'error',\n content: 'Дуже довгий текст: '.repeat(20),\n },\n};\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';\n\nexport const infoBlockVariants = cva(\n [\n 'flex items-start gap-2',\n 'p-2.5 rounded-lg',\n 'font-medium text-base leading-normal text-[#06080D]',\n 'whitespace-pre-wrap break-words',\n '[&>p]:m-0 [&>p]:p-0',\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:size-6\",\n 'transition-transform duration-200 [&_svg]:transition-transform [&_svg]:duration-200',\n ],\n {\n variants: {\n variant: {\n error: 'bg-[#DC26260F] [&>svg]:text-[#DC2626]',\n info: 'bg-[#9368FF0F] [&>svg]:text-[#9368FF]',\n },\n },\n defaultVariants: {\n variant: 'error',\n },\n }\n)\n\nexport type InfoBlockVariantsProps = VariantProps<typeof infoBlockVariants>;\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,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,eAAO,MAAM,SAAS,qFAiErB,CAAC;AAGF,eAAO,MAAM,aAAa,qFAiBzB,CAAC;AAkBF,eAAO,MAAM,KAAK,qFAKjB,CAAC"}
package/Input/Input.js CHANGED
@@ -1,86 +1,100 @@
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 m, jsx as e } from "react/jsx-runtime";
2
+ import c, { useState as P } from "react";
3
+ import { Eye as S, EyeOff as V } from "lucide-react";
4
+ import { inputVariants as B } from "./inputVariants.js";
5
+ import { cn as n } from "@oneplatformdev/utils";
6
+ const f = c.forwardRef(
7
+ (t, s) => {
8
8
  const {
9
- className: e,
9
+ className: a,
10
10
  variant: o,
11
- type: n,
12
- slotProps: { input: l, wrapper: c } = {},
13
- onChange: f,
14
- onTransform: d,
11
+ type: l,
12
+ slotProps: { input: i, wrapper: d } = {},
13
+ onChange: g,
14
+ onTransform: y,
15
+ counter: h = !1,
16
+ maxLength: p,
15
17
  fullSize: N = !1,
16
- ...g
18
+ value: w,
19
+ ...x
17
20
  } = t, {
18
- startAdornment: i,
19
- className: I,
20
- ...b
21
- } = l || {};
22
- return /* @__PURE__ */ w(
21
+ startAdornment: u,
22
+ className: v,
23
+ ...I
24
+ } = i || {};
25
+ return /* @__PURE__ */ m(
23
26
  "div",
24
27
  {
25
- ...c || {},
26
- className: p(
28
+ ...d || {},
29
+ className: n(
27
30
  "relative",
28
31
  N && "w-full",
29
- c?.className
32
+ d?.className
30
33
  ),
31
34
  children: [
32
- !!i && /* @__PURE__ */ s("span", { className: "absolute left-[10px] top-1/2 -translate-y-1/2", children: i }),
33
- /* @__PURE__ */ s(
35
+ !!u && /* @__PURE__ */ e("span", { className: "absolute left-[10px] top-1/2 -translate-y-1/2", children: u }),
36
+ /* @__PURE__ */ e(
34
37
  "input",
35
38
  {
36
- type: n,
37
- className: p(
38
- x({ variant: o, className: e }),
39
- !!i && "pl-10",
40
- I,
39
+ type: l,
40
+ className: n(
41
+ B({ variant: o, className: a }),
42
+ !!u && "pl-10",
43
+ v,
41
44
  N && "min-w-auto"
42
45
  ),
43
- ref: a,
44
- ...b,
45
- ...g,
46
+ ref: s,
47
+ maxLength: p,
48
+ value: w,
49
+ ...I,
50
+ ...x,
46
51
  onChange: (r) => {
47
- typeof d?.(r.target.value, r) == "string" && (r.target.value = d(r.target.value, r)), f && f(r);
52
+ typeof y?.(r.target.value, r) == "string" && (r.target.value = y(r.target.value, r)), g && g(r);
48
53
  }
49
54
  }
50
- )
55
+ ),
56
+ h && typeof p == "number" && /* @__PURE__ */ m("div", { className: n(
57
+ "w-full text-right inline-flex items-center justify-end",
58
+ "text-xs font-medium leading-[1.2] text-muted-foreground",
59
+ "peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
60
+ ), children: [
61
+ String(w || "").length,
62
+ "/",
63
+ p
64
+ ] })
51
65
  ]
52
66
  }
53
67
  );
54
68
  }
55
69
  );
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);
70
+ f.displayName = "Input";
71
+ const b = c.forwardRef(
72
+ (t, s) => {
73
+ const [a, o] = P(!1), l = a ? "text" : "password", i = () => {
74
+ o(!a);
61
75
  };
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 })
76
+ return /* @__PURE__ */ m("div", { ...t?.slotProps?.wrapper || {}, className: n("relative", t?.slotProps?.wrapper?.className), children: [
77
+ /* @__PURE__ */ e(f, { ...t, type: l, className: "pr-8", ref: s }),
78
+ /* @__PURE__ */ e(R, { isVisible: a, onClick: i })
65
79
  ] });
66
80
  }
67
81
  );
68
- y.displayName = "PasswordInput";
69
- const V = ({ isVisible: t, onClick: a }) => /* @__PURE__ */ s(
82
+ b.displayName = "PasswordInput";
83
+ const R = ({ isVisible: t, onClick: s }) => /* @__PURE__ */ e(
70
84
  "button",
71
85
  {
72
86
  type: "button",
73
- onClick: a,
87
+ onClick: s,
74
88
  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 })
89
+ children: t ? /* @__PURE__ */ e(S, { size: 16 }) : /* @__PURE__ */ e(V, { size: 16 })
76
90
  }
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 })
91
+ ), j = c.forwardRef(
92
+ ({ type: t, ...s }, a) => t === "password" ? /* @__PURE__ */ e(b, { type: t, ...s, ref: a }) : /* @__PURE__ */ e(f, { type: t, ...s, ref: a })
79
93
  );
80
- B.displayName = "Input";
94
+ j.displayName = "Input";
81
95
  export {
82
- m as BaseInput,
83
- B as Input,
84
- y as PasswordInput
96
+ f as BaseInput,
97
+ j as Input,
98
+ b as PasswordInput
85
99
  };
86
100
  //# 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 Boolean(startAdornment) && 'pl-10',\n classNameInputSlotProps,\n fullSize && 'min-w-auto',\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,gBACpC,EAAQS,KAAmB;AAAA,gBAC3BC;AAAA,gBACAH,KAAY;AAAA,cAAA;AAAA,cAEd,KAAAR;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, { 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 counter = false,\n maxLength,\n fullSize = false,\n value,\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 Boolean(startAdornment) && 'pl-10',\n classNameInputSlotProps,\n fullSize && 'min-w-auto',\n )}\n ref={ref}\n maxLength={maxLength}\n value={value}\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 {counter && typeof maxLength === 'number' && (\n <div className={cn(\n 'w-full text-right inline-flex items-center justify-end',\n 'text-xs font-medium leading-[1.2] text-muted-foreground',\n 'peer-disabled:cursor-not-allowed peer-disabled:opacity-70'\n )}>\n {String(value || '').length}/{maxLength}\n </div>\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","counter","maxLength","fullSize","value","rest","startAdornment","classNameInputSlotProps","restInputSlotProps","jsxs","cn","jsx","inputVariants","e","PasswordInput","isVisible","setIsVisible","useState","inputType","toggleVisibility","VisibilityButton","onClick","Eye","EyeOff","Input"],"mappings":"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"}
@@ -0,0 +1,154 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { useState as n } from "react";
3
+ import { Search as s, Mail as c } from "lucide-react";
4
+ import { Input as l } from "./Input.js";
5
+ const h = {
6
+ title: "Input/Input",
7
+ component: l,
8
+ tags: ["autodocs"],
9
+ parameters: {
10
+ layout: "centered"
11
+ },
12
+ args: {
13
+ placeholder: "Enter text...",
14
+ variant: "default",
15
+ fullSize: !1,
16
+ counter: !1,
17
+ disabled: !1
18
+ },
19
+ argTypes: {
20
+ variant: {
21
+ control: "select",
22
+ options: ["default", "grey"]
23
+ },
24
+ type: {
25
+ control: "select",
26
+ options: ["text", "password", "email", "search", "number"]
27
+ },
28
+ fullSize: {
29
+ control: "boolean"
30
+ },
31
+ counter: {
32
+ control: "boolean"
33
+ },
34
+ disabled: {
35
+ control: "boolean"
36
+ },
37
+ maxLength: {
38
+ control: "number"
39
+ },
40
+ onChange: { action: "changed" },
41
+ onBlur: { action: "blurred" },
42
+ onFocus: { action: "focused" }
43
+ }
44
+ }, m = {
45
+ args: {
46
+ type: "text",
47
+ placeholder: "Default input"
48
+ }
49
+ }, g = {
50
+ args: {
51
+ variant: "grey",
52
+ type: "text",
53
+ placeholder: "Grey input"
54
+ }
55
+ }, f = {
56
+ args: {
57
+ placeholder: "Search...",
58
+ slotProps: {
59
+ input: {
60
+ startAdornment: /* @__PURE__ */ e(s, { size: 16 })
61
+ }
62
+ }
63
+ }
64
+ }, v = {
65
+ args: {
66
+ type: "email",
67
+ placeholder: "Email address",
68
+ slotProps: {
69
+ input: {
70
+ startAdornment: /* @__PURE__ */ e(c, { size: 16 })
71
+ }
72
+ }
73
+ }
74
+ }, y = {
75
+ args: {
76
+ type: "password",
77
+ placeholder: "Password"
78
+ }
79
+ }, b = {
80
+ render: (t) => {
81
+ const [r, o] = n("");
82
+ return /* @__PURE__ */ e("div", { className: "w-[320px]", children: /* @__PURE__ */ e(
83
+ l,
84
+ {
85
+ ...t,
86
+ value: r,
87
+ onChange: (a) => o(a.target.value)
88
+ }
89
+ ) });
90
+ },
91
+ args: {
92
+ placeholder: "Type something...",
93
+ counter: !0,
94
+ maxLength: 50
95
+ }
96
+ }, x = {
97
+ render: (t) => /* @__PURE__ */ e("div", { className: "w-[480px]", children: /* @__PURE__ */ e(l, { ...t }) }),
98
+ args: {
99
+ placeholder: "Full width input",
100
+ fullSize: !0
101
+ }
102
+ }, w = {
103
+ args: {
104
+ placeholder: "Disabled input",
105
+ disabled: !0,
106
+ value: "Disabled value"
107
+ }
108
+ }, S = {
109
+ render: (t) => {
110
+ const [r, o] = n("");
111
+ return /* @__PURE__ */ e("div", { className: "w-[320px]", children: /* @__PURE__ */ e(
112
+ l,
113
+ {
114
+ ...t,
115
+ value: r,
116
+ onTransform: (a) => a.replace(/\D/g, ""),
117
+ onChange: (a) => o(a.target.value)
118
+ }
119
+ ) });
120
+ },
121
+ args: {
122
+ placeholder: "Only numbers allowed"
123
+ }
124
+ }, D = {
125
+ render: (t) => {
126
+ const [r, o] = n("");
127
+ return /* @__PURE__ */ e("div", { className: "w-[360px]", children: /* @__PURE__ */ e(
128
+ l,
129
+ {
130
+ ...t,
131
+ value: r,
132
+ onChange: (a) => o(a.target.value)
133
+ }
134
+ ) });
135
+ },
136
+ args: {
137
+ placeholder: "Play with controls",
138
+ maxLength: 100
139
+ }
140
+ };
141
+ export {
142
+ m as Default,
143
+ w as Disabled,
144
+ v as Email,
145
+ x as FullWidth,
146
+ g as GreyVariant,
147
+ y as Password,
148
+ D as Playground,
149
+ b as WithCounter,
150
+ f as WithStartAdornment,
151
+ S as WithTransform,
152
+ h as default
153
+ };
154
+ //# sourceMappingURL=Input.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.stories.js","sources":["../../src/Input/Input.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react';\nimport React, { useState } from 'react';\nimport { Mail, Search } from 'lucide-react';\n\nimport { Input } from './Input';\n\nconst meta = {\n title: 'Input/Input',\n component: Input,\n tags: ['autodocs'],\n parameters: {\n layout: 'centered',\n },\n args: {\n placeholder: 'Enter text...',\n variant: 'default',\n fullSize: false,\n counter: false,\n disabled: false,\n },\n argTypes: {\n variant: {\n control: 'select',\n options: ['default', 'grey'],\n },\n type: {\n control: 'select',\n options: ['text', 'password', 'email', 'search', 'number'],\n },\n fullSize: {\n control: 'boolean',\n },\n counter: {\n control: 'boolean',\n },\n disabled: {\n control: 'boolean',\n },\n maxLength: {\n control: 'number',\n },\n onChange: { action: 'changed' },\n onBlur: { action: 'blurred' },\n onFocus: { action: 'focused' },\n },\n} satisfies Meta<typeof Input>;\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const Default: Story = {\n args: {\n type: 'text',\n placeholder: 'Default input',\n },\n};\n\nexport const GreyVariant: Story = {\n args: {\n variant: 'grey',\n type: 'text',\n placeholder: 'Grey input',\n },\n};\n\nexport const WithStartAdornment: Story = {\n args: {\n placeholder: 'Search...',\n slotProps: {\n input: {\n startAdornment: <Search size={16} />,\n },\n },\n },\n};\n\nexport const Email: Story = {\n args: {\n type: 'email',\n placeholder: 'Email address',\n slotProps: {\n input: {\n startAdornment: <Mail size={16} />,\n },\n },\n },\n};\n\nexport const Password: Story = {\n args: {\n type: 'password',\n placeholder: 'Password',\n },\n};\n\nexport const WithCounter: Story = {\n render: (args) => {\n const [value, setValue] = useState('');\n\n return (\n <div className=\"w-[320px]\">\n <Input\n {...args}\n value={value}\n onChange={(e) => setValue(e.target.value)}\n />\n </div>\n );\n },\n args: {\n placeholder: 'Type something...',\n counter: true,\n maxLength: 50,\n },\n};\n\nexport const FullWidth: Story = {\n render: (args) => (\n <div className=\"w-[480px]\">\n <Input {...args} />\n </div>\n ),\n args: {\n placeholder: 'Full width input',\n fullSize: true,\n },\n};\n\nexport const Disabled: Story = {\n args: {\n placeholder: 'Disabled input',\n disabled: true,\n value: 'Disabled value',\n },\n};\n\nexport const WithTransform: Story = {\n render: (args) => {\n const [value, setValue] = useState('');\n\n return (\n <div className=\"w-[320px]\">\n <Input\n {...args}\n value={value}\n onTransform={(next) => next.replace(/\\D/g, '')}\n onChange={(e) => setValue(e.target.value)}\n />\n </div>\n );\n },\n args: {\n placeholder: 'Only numbers allowed',\n },\n};\n\nexport const Playground: Story = {\n render: (args) => {\n const [value, setValue] = useState('');\n\n return (\n <div className=\"w-[360px]\">\n <Input\n {...args}\n value={value}\n onChange={(e) => setValue(e.target.value)}\n />\n </div>\n );\n },\n args: {\n placeholder: 'Play with controls',\n maxLength: 100,\n },\n};\n"],"names":["meta","Input","Default","GreyVariant","WithStartAdornment","jsx","Search","Email","Mail","Password","WithCounter","args","value","setValue","useState","e","FullWidth","Disabled","WithTransform","next","Playground"],"mappings":"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"}
@@ -16,5 +16,6 @@ export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement>,
16
16
  /** func transform pasted value before set to input */
17
17
  onPastePrepare?: (value: string, event: React.ClipboardEvent<HTMLInputElement>) => string;
18
18
  fullSize?: boolean;
19
+ counter?: boolean;
19
20
  }
20
21
  //# sourceMappingURL=Input.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.types.d.ts","sourceRoot":"","sources":["../../src/Input/Input.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,WAAW,EACX,wBAAwB,EACxB,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,WAAW,mBACf,SAAQ,wBAAwB,CAAC,OAAO,SAAS,CAAC;IAClD,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,OAAO,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC;IACvF,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,kEAAkE;IAClE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC;IAC9E,sDAAsD;IACtD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC;IAC1F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
1
+ {"version":3,"file":"Input.types.d.ts","sourceRoot":"","sources":["../../src/Input/Input.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,WAAW,EACX,wBAAwB,EACxB,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,MAAM,WAAW,mBACf,SAAQ,wBAAwB,CAAC,OAAO,SAAS,CAAC;IAClD,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,OAAO,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,UACf,SAAQ,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC;IACvF,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,kEAAkE;IAClE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC;IAC9E,sDAAsD;IACtD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC;IAC1F,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
@@ -1,4 +1,3 @@
1
- import { FC } from 'react';
2
1
  import { ILoadingMaskProps } from './LoadingMask.types';
3
- export declare const LoadingMask: FC<ILoadingMaskProps>;
2
+ export declare const LoadingMask: (props: ILoadingMaskProps) => import("react/jsx-runtime").JSX.Element | null;
4
3
  //# sourceMappingURL=LoadingMask.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingMask.d.ts","sourceRoot":"","sources":["../../src/LoadingMask/LoadingMask.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,iBAAiB,CAe7C,CAAC"}
1
+ {"version":3,"file":"LoadingMask.d.ts","sourceRoot":"","sources":["../../src/LoadingMask/LoadingMask.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAIxD,eAAO,MAAM,WAAW,GAAI,OAAO,iBAAiB,mDAgBnD,CAAC"}
@@ -1,22 +1,22 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import { RenderLoadingMask as r } from "./RenderLoadingMask.js";
3
- import { cn as o } from "@oneplatformdev/utils";
4
- const f = (t) => {
5
- const { fullWidth: s = !1, className: i, ...n } = t;
6
- return s ? /* @__PURE__ */ e(
3
+ import { cn as a } from "@oneplatformdev/utils";
4
+ const c = (t) => {
5
+ const { loading: n = !0, fullWidth: s = !1, className: i, ...o } = t;
6
+ return n ? s ? /* @__PURE__ */ e(
7
7
  "div",
8
8
  {
9
- ...n,
10
- className: o(
9
+ ...o,
10
+ className: a(
11
11
  "absolute inset-0",
12
12
  "flex items-center justify-center",
13
13
  i
14
14
  ),
15
15
  children: /* @__PURE__ */ e(r, {})
16
16
  }
17
- ) : /* @__PURE__ */ e(r, {});
17
+ ) : /* @__PURE__ */ e(r, {}) : null;
18
18
  };
19
19
  export {
20
- f as LoadingMask
20
+ c as LoadingMask
21
21
  };
22
22
  //# sourceMappingURL=LoadingMask.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingMask.js","sources":["../../src/LoadingMask/LoadingMask.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { ILoadingMaskProps } from './LoadingMask.types';\nimport { RenderLoadingMask } from './RenderLoadingMask';\nimport { cn } from '@oneplatformdev/utils';\n\nexport const LoadingMask: FC<ILoadingMaskProps> = (props) => {\n const { fullWidth = false, className, ...rest } = props;\n if (!fullWidth) return <RenderLoadingMask />;\n return (\n <div\n {...rest}\n className={cn(\n 'absolute inset-0',\n 'flex items-center justify-center',\n className\n )}\n >\n <RenderLoadingMask />\n </div>\n );\n};\n"],"names":["LoadingMask","props","fullWidth","className","rest","jsx","cn","RenderLoadingMask"],"mappings":";;;AAKO,MAAMA,IAAqC,CAACC,MAAU;AAC3D,QAAM,EAAE,WAAAC,IAAY,IAAO,WAAAC,GAAW,GAAGC,MAASH;AAClD,SAAKC,IAEH,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGD;AAAA,MACJ,WAAWE;AAAA,QACT;AAAA,QACA;AAAA,QACAH;AAAA,MAAA;AAAA,MAGF,4BAACI,GAAA,CAAA,CAAkB;AAAA,IAAA;AAAA,EAAA,IAVA,gBAAAF,EAACE,GAAA,CAAA,CAAkB;AAa5C;"}
1
+ {"version":3,"file":"LoadingMask.js","sources":["../../src/LoadingMask/LoadingMask.tsx"],"sourcesContent":["import { ILoadingMaskProps } from './LoadingMask.types';\nimport { RenderLoadingMask } from './RenderLoadingMask';\nimport { cn } from '@oneplatformdev/utils';\n\nexport const LoadingMask = (props: ILoadingMaskProps) => {\n const { loading = true, fullWidth = false, className, ...rest } = props;\n if(!loading) return null;\n if (!fullWidth) return <RenderLoadingMask />;\n return (\n <div\n {...rest}\n className={cn(\n 'absolute inset-0',\n 'flex items-center justify-center',\n className\n )}\n >\n <RenderLoadingMask />\n </div>\n );\n};\n"],"names":["LoadingMask","props","loading","fullWidth","className","rest","jsx","cn","RenderLoadingMask"],"mappings":";;;AAIO,MAAMA,IAAc,CAACC,MAA6B;AACvD,QAAM,EAAE,SAAAC,IAAU,IAAM,WAAAC,IAAY,IAAO,WAAAC,GAAW,GAAGC,MAASJ;AAClE,SAAIC,IACCC,IAEH,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGD;AAAA,MACJ,WAAWE;AAAA,QACT;AAAA,QACA;AAAA,QACAH;AAAA,MAAA;AAAA,MAGF,4BAACI,GAAA,CAAA,CAAkB;AAAA,IAAA;AAAA,EAAA,IAVA,gBAAAF,EAACE,GAAA,CAAA,CAAkB,IADtB;AActB;"}
@@ -1,5 +1,6 @@
1
1
  import { HTMLAttributes } from 'react';
2
2
  export interface ILoadingMaskProps extends HTMLAttributes<HTMLDivElement> {
3
3
  fullWidth?: boolean;
4
+ loading?: boolean;
4
5
  }
5
6
  //# sourceMappingURL=LoadingMask.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingMask.types.d.ts","sourceRoot":"","sources":["../../src/LoadingMask/LoadingMask.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
1
+ {"version":3,"file":"LoadingMask.types.d.ts","sourceRoot":"","sources":["../../src/LoadingMask/LoadingMask.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACvE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}