@intlayer/design-system 3.5.6 → 3.5.7

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 (213) hide show
  1. package/dist/.vite/manifest.json +56 -37
  2. package/dist/Form-0D7KBafQ.cjs +311 -0
  3. package/dist/Form-0D7KBafQ.cjs.map +1 -0
  4. package/dist/Form-7BqwvjVI.cjs +320 -0
  5. package/dist/Form-7BqwvjVI.cjs.map +1 -0
  6. package/dist/Form-B2UufQRJ.cjs +319 -0
  7. package/dist/Form-B2UufQRJ.cjs.map +1 -0
  8. package/dist/Form-BDcoNTLV.cjs.map +1 -1
  9. package/dist/Form-BTogr-fp.js +312 -0
  10. package/dist/Form-BTogr-fp.js.map +1 -0
  11. package/dist/Form-BVkkvSKP.js +312 -0
  12. package/dist/Form-BVkkvSKP.js.map +1 -0
  13. package/dist/Form-Be6Uhb5-.js +312 -0
  14. package/dist/Form-Be6Uhb5-.js.map +1 -0
  15. package/dist/Form-BmQQnl-6.js +312 -0
  16. package/dist/Form-BmQQnl-6.js.map +1 -0
  17. package/dist/Form-Bp_ubH9I.cjs +311 -0
  18. package/dist/Form-Bp_ubH9I.cjs.map +1 -0
  19. package/dist/Form-BtqRbgLu.cjs +311 -0
  20. package/dist/Form-BtqRbgLu.cjs.map +1 -0
  21. package/dist/Form-COVZyto7.cjs +311 -0
  22. package/dist/Form-COVZyto7.cjs.map +1 -0
  23. package/dist/Form-CVD_3nCD.js +312 -0
  24. package/dist/Form-CVD_3nCD.js.map +1 -0
  25. package/dist/Form-Cfklj1_H.js +320 -0
  26. package/dist/Form-Cfklj1_H.js.map +1 -0
  27. package/dist/Form-ClAAiVNm.cjs +311 -0
  28. package/dist/Form-ClAAiVNm.cjs.map +1 -0
  29. package/dist/Form-DhsgC7kB.js.map +1 -1
  30. package/dist/Form-OK9zfg6E.js +321 -0
  31. package/dist/Form-OK9zfg6E.js.map +1 -0
  32. package/dist/components/Accordion/Accordion.cjs +7 -15
  33. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  34. package/dist/components/Accordion/Accordion.d.ts +0 -1
  35. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  36. package/dist/components/Accordion/Accordion.mjs +8 -16
  37. package/dist/components/Accordion/Accordion.mjs.map +1 -1
  38. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.cjs +1 -1
  39. package/dist/components/Auth/ChangePasswordForm/ChangePasswordForm.mjs +1 -1
  40. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.cjs +1 -1
  41. package/dist/components/Auth/ResetPasswordForm/ResetPasswordForm.mjs +1 -1
  42. package/dist/components/Auth/SignInForm/SignInForm.cjs +1 -1
  43. package/dist/components/Auth/SignInForm/SignInForm.mjs +1 -1
  44. package/dist/components/Auth/SignUpForm/SignUpForm.cjs +1 -1
  45. package/dist/components/Auth/SignUpForm/SignUpForm.mjs +1 -1
  46. package/dist/components/Button/Button.cjs +47 -25
  47. package/dist/components/Button/Button.cjs.map +1 -1
  48. package/dist/components/Button/Button.d.ts +2 -0
  49. package/dist/components/Button/Button.d.ts.map +1 -1
  50. package/dist/components/Button/Button.mjs +47 -25
  51. package/dist/components/Button/Button.mjs.map +1 -1
  52. package/dist/components/Container/index.cjs +1 -1
  53. package/dist/components/Container/index.cjs.map +1 -1
  54. package/dist/components/Container/index.mjs +1 -1
  55. package/dist/components/Container/index.mjs.map +1 -1
  56. package/dist/components/CopyToClipboard/index.cjs +1 -1
  57. package/dist/components/CopyToClipboard/index.cjs.map +1 -1
  58. package/dist/components/CopyToClipboard/index.d.ts.map +1 -1
  59. package/dist/components/CopyToClipboard/index.mjs +1 -1
  60. package/dist/components/CopyToClipboard/index.mjs.map +1 -1
  61. package/dist/components/DictionaryEditor/ItemLayout.cjs +0 -1
  62. package/dist/components/DictionaryEditor/ItemLayout.cjs.map +1 -1
  63. package/dist/components/DictionaryEditor/ItemLayout.d.ts.map +1 -1
  64. package/dist/components/DictionaryEditor/ItemLayout.mjs +0 -1
  65. package/dist/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  66. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs +1 -1
  67. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs +1 -1
  68. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs +1 -1
  69. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs +1 -1
  70. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +1 -1
  71. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -1
  72. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +1 -1
  73. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +1 -1
  74. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +1 -1
  75. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
  76. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts.map +1 -1
  77. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -1
  78. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  79. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs +1 -1
  80. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs +1 -1
  81. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs +14 -13
  82. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs.map +1 -1
  83. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.d.ts.map +1 -1
  84. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs +15 -14
  85. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs.map +1 -1
  86. package/dist/components/DictionaryFieldEditor/JSONEditor.cjs +1 -1
  87. package/dist/components/DictionaryFieldEditor/JSONEditor.mjs +1 -1
  88. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs +5 -9
  89. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs.map +1 -1
  90. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
  91. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +5 -9
  92. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  93. package/dist/components/DictionaryFieldEditor/NodeEditor.cjs +1 -1
  94. package/dist/components/DictionaryFieldEditor/NodeEditor.mjs +1 -1
  95. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs +1 -1
  96. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs +1 -1
  97. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +1 -1
  98. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +1 -1
  99. package/dist/components/Form/Form.cjs +1 -1
  100. package/dist/components/Form/Form.d.ts +2 -0
  101. package/dist/components/Form/Form.d.ts.map +1 -1
  102. package/dist/components/Form/Form.mjs +1 -1
  103. package/dist/components/Form/elements/AutoSizeTextAreaElement.cjs +7 -0
  104. package/dist/components/Form/elements/AutoSizeTextAreaElement.cjs.map +1 -0
  105. package/dist/components/Form/elements/AutoSizeTextAreaElement.d.ts +9 -0
  106. package/dist/components/Form/elements/AutoSizeTextAreaElement.d.ts.map +1 -0
  107. package/dist/components/Form/elements/AutoSizeTextAreaElement.mjs +7 -0
  108. package/dist/components/Form/elements/AutoSizeTextAreaElement.mjs.map +1 -0
  109. package/dist/components/Form/elements/CheckboxElement.cjs +1 -1
  110. package/dist/components/Form/elements/CheckboxElement.mjs +1 -1
  111. package/dist/components/Form/elements/EditableFieldInputElement.cjs +1 -1
  112. package/dist/components/Form/elements/EditableFieldInputElement.mjs +1 -1
  113. package/dist/components/Form/elements/EditableFieldTextAreaElement.cjs +1 -1
  114. package/dist/components/Form/elements/EditableFieldTextAreaElement.mjs +1 -1
  115. package/dist/components/Form/elements/FormElement.cjs +1 -1
  116. package/dist/components/Form/elements/FormElement.mjs +1 -1
  117. package/dist/components/Form/elements/InputElement.cjs +1 -1
  118. package/dist/components/Form/elements/InputElement.mjs +1 -1
  119. package/dist/components/Form/elements/InputPasswordElement.cjs +1 -1
  120. package/dist/components/Form/elements/InputPasswordElement.mjs +1 -1
  121. package/dist/components/Form/elements/MultiselectElement.cjs +1 -1
  122. package/dist/components/Form/elements/MultiselectElement.mjs +1 -1
  123. package/dist/components/Form/elements/SelectElement.cjs +1 -1
  124. package/dist/components/Form/elements/SelectElement.mjs +1 -1
  125. package/dist/components/Form/elements/SwitchSelectorElement.cjs +1 -1
  126. package/dist/components/Form/elements/SwitchSelectorElement.mjs +1 -1
  127. package/dist/components/Form/elements/TextAreaElement.cjs +1 -1
  128. package/dist/components/Form/elements/TextAreaElement.mjs +1 -1
  129. package/dist/components/Form/elements/index.cjs +1 -1
  130. package/dist/components/Form/elements/index.mjs +1 -1
  131. package/dist/components/Form/index.cjs +1 -1
  132. package/dist/components/Form/index.mjs +1 -1
  133. package/dist/components/Form/layout/FormItemLayout.cjs +1 -1
  134. package/dist/components/Form/layout/FormItemLayout.d.ts.map +1 -1
  135. package/dist/components/Form/layout/FormItemLayout.mjs +1 -1
  136. package/dist/components/Form/layout/index.cjs +1 -1
  137. package/dist/components/Form/layout/index.mjs +1 -1
  138. package/dist/components/IDE/Code.cjs +1 -1
  139. package/dist/components/IDE/Code.cjs.map +1 -1
  140. package/dist/components/IDE/Code.mjs +1 -1
  141. package/dist/components/IDE/Code.mjs.map +1 -1
  142. package/dist/components/Link/Link.cjs +3 -4
  143. package/dist/components/Link/Link.cjs.map +1 -1
  144. package/dist/components/Link/Link.d.ts +1 -1
  145. package/dist/components/Link/Link.d.ts.map +1 -1
  146. package/dist/components/Link/Link.mjs +3 -4
  147. package/dist/components/Link/Link.mjs.map +1 -1
  148. package/dist/components/Loader/index.cjs +6 -1
  149. package/dist/components/Loader/index.cjs.map +1 -1
  150. package/dist/components/Loader/index.content.cjs +23 -0
  151. package/dist/components/Loader/index.content.cjs.map +1 -0
  152. package/dist/components/Loader/index.content.d.ts +8 -0
  153. package/dist/components/Loader/index.content.d.ts.map +1 -0
  154. package/dist/components/Loader/index.content.mjs +23 -0
  155. package/dist/components/Loader/index.content.mjs.map +1 -0
  156. package/dist/components/Loader/index.d.ts +2 -2
  157. package/dist/components/Loader/index.d.ts.map +1 -1
  158. package/dist/components/Loader/index.mjs +6 -1
  159. package/dist/components/Loader/index.mjs.map +1 -1
  160. package/dist/components/MarkDownRender/index.cjs +39 -4
  161. package/dist/components/MarkDownRender/index.cjs.map +1 -1
  162. package/dist/components/MarkDownRender/index.d.ts.map +1 -1
  163. package/dist/components/MarkDownRender/index.mjs +40 -5
  164. package/dist/components/MarkDownRender/index.mjs.map +1 -1
  165. package/dist/components/Modal/Modal.cjs +18 -10
  166. package/dist/components/Modal/Modal.cjs.map +1 -1
  167. package/dist/components/Modal/Modal.d.ts +1 -1
  168. package/dist/components/Modal/Modal.d.ts.map +1 -1
  169. package/dist/components/Modal/Modal.mjs +19 -11
  170. package/dist/components/Modal/Modal.mjs.map +1 -1
  171. package/dist/components/index.cjs +1 -1
  172. package/dist/components/index.mjs +1 -1
  173. package/dist/hooks/index.cjs +1 -0
  174. package/dist/hooks/index.cjs.map +1 -1
  175. package/dist/hooks/index.mjs +2 -1
  176. package/dist/hooks/intlayerAPIHooks.cjs +2 -0
  177. package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
  178. package/dist/hooks/intlayerAPIHooks.d.ts +1 -0
  179. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  180. package/dist/hooks/intlayerAPIHooks.mjs +2 -0
  181. package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
  182. package/dist/hooks/useAsync/useAsync.cjs +81 -78
  183. package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
  184. package/dist/hooks/useAsync/useAsync.d.ts +5 -25
  185. package/dist/hooks/useAsync/useAsync.d.ts.map +1 -1
  186. package/dist/hooks/useAsync/useAsync.mjs +81 -78
  187. package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
  188. package/dist/hooks/useAsync/useAsyncStateStore.cjs +2 -2
  189. package/dist/hooks/useAsync/useAsyncStateStore.cjs.map +1 -1
  190. package/dist/hooks/useAsync/useAsyncStateStore.d.ts +1 -1
  191. package/dist/hooks/useAsync/useAsyncStateStore.mjs +2 -2
  192. package/dist/hooks/useAsync/useAsyncStateStore.mjs.map +1 -1
  193. package/dist/hooks/useGetAllDictionaries.cjs +2 -2
  194. package/dist/hooks/useGetAllDictionaries.cjs.map +1 -1
  195. package/dist/hooks/useGetAllDictionaries.mjs +2 -2
  196. package/dist/hooks/useGetAllDictionaries.mjs.map +1 -1
  197. package/dist/hooks/useIntlayerAPI.d.ts +1 -0
  198. package/dist/hooks/useIntlayerAPI.d.ts.map +1 -1
  199. package/dist/hooks/usePersistedStore.cjs +7 -5
  200. package/dist/hooks/usePersistedStore.cjs.map +1 -1
  201. package/dist/hooks/usePersistedStore.d.ts.map +1 -1
  202. package/dist/hooks/usePersistedStore.mjs +7 -5
  203. package/dist/hooks/usePersistedStore.mjs.map +1 -1
  204. package/dist/libs/intlayer-api/ai.cjs +11 -1
  205. package/dist/libs/intlayer-api/ai.cjs.map +1 -1
  206. package/dist/libs/intlayer-api/ai.d.ts +3 -1
  207. package/dist/libs/intlayer-api/ai.d.ts.map +1 -1
  208. package/dist/libs/intlayer-api/ai.mjs +11 -1
  209. package/dist/libs/intlayer-api/ai.mjs.map +1 -1
  210. package/dist/libs/intlayer-api/index.d.ts +2 -0
  211. package/dist/libs/intlayer-api/index.d.ts.map +1 -1
  212. package/dist/tailwind.css +1 -1
  213. package/package.json +16 -16
@@ -3,19 +3,22 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("../../jsx-runtime-XHKiWCTo.cjs");
4
4
  const classVarianceAuthority = require("class-variance-authority");
5
5
  const require$$0 = require("react");
6
- const utils_cn = require("../../utils/cn.cjs");
7
6
  const components_Loader_index = require("../Loader/index.cjs");
8
- const buttonIconVariants = classVarianceAuthority.cva("size-4", {
7
+ const buttonIconVariants = classVarianceAuthority.cva("", {
9
8
  variants: {
10
9
  size: {
11
- sm: "w-4",
12
- md: "w-6",
13
- lg: "w-7",
14
- xl: "w-9",
10
+ sm: "size-3 absolute top-1/2 -translate-y-1/2",
11
+ md: "size-4 absolute top-1/2 -translate-y-1/2",
12
+ lg: "size-5 absolute top-1/2 -translate-y-1/2",
13
+ xl: "size-6 absolute top-1/2 -translate-y-1/2",
15
14
  "icon-sm": "size-6 p-1",
16
15
  "icon-md": "size-7 p-1",
17
16
  "icon-lg": "size-9 p-1",
18
17
  "icon-xl": "size-10 p-1"
18
+ },
19
+ position: {
20
+ left: "left-3",
21
+ right: "right-3"
19
22
  }
20
23
  },
21
24
  defaultVariants: {
@@ -23,7 +26,7 @@ const buttonIconVariants = classVarianceAuthority.cva("size-4", {
23
26
  }
24
27
  });
25
28
  const buttonVariants = classVarianceAuthority.cva(
26
- "flex items-center gap-3 whitespace-nowrap font-medium transition focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50",
29
+ "relative truncate whitespace-nowrap font-medium transition focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50",
27
30
  {
28
31
  variants: {
29
32
  size: {
@@ -71,6 +74,14 @@ const buttonVariants = classVarianceAuthority.cva(
71
74
  isFullWidth: {
72
75
  true: "w-full",
73
76
  false: ""
77
+ },
78
+ hasIconLeft: {
79
+ true: "pl-12",
80
+ false: ""
81
+ },
82
+ hasIconRight: {
83
+ true: "pr-12",
84
+ false: ""
74
85
  }
75
86
  },
76
87
  defaultVariants: {
@@ -78,7 +89,9 @@ const buttonVariants = classVarianceAuthority.cva(
78
89
  size: "md",
79
90
  color: "primary",
80
91
  textAlign: "center",
81
- isFullWidth: false
92
+ isFullWidth: false,
93
+ hasIconRight: false,
94
+ hasIconLeft: false
82
95
  }
83
96
  }
84
97
  );
@@ -91,10 +104,10 @@ const Button = require$$0.forwardRef(
91
104
  Icon,
92
105
  IconRight,
93
106
  iconClassName,
94
- isLoading = false,
107
+ isLoading,
95
108
  isActive,
96
109
  isFullWidth = false,
97
- textAlign = IconRight ? "left" : "center",
110
+ textAlign,
98
111
  disabled,
99
112
  label,
100
113
  className,
@@ -117,7 +130,13 @@ const Button = require$$0.forwardRef(
117
130
  size,
118
131
  color,
119
132
  isFullWidth,
120
- textAlign,
133
+ textAlign: textAlign ?? (IconRight ? "left" : "center"),
134
+ hasIconLeft: Boolean(
135
+ typeof children !== "undefined" && (typeof Icon !== "undefined" || typeof isLoading !== "undefined")
136
+ ),
137
+ hasIconRight: Boolean(
138
+ typeof children !== "undefined" && typeof IconRight !== "undefined"
139
+ ),
121
140
  className
122
141
  }),
123
142
  ...props,
@@ -125,30 +144,33 @@ const Button = require$$0.forwardRef(
125
144
  Icon && !isLoading && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
126
145
  Icon,
127
146
  {
128
- className: utils_cn.cn(
129
- buttonIconVariants({ size, className: iconClassName }),
130
- "float-start"
131
- )
147
+ className: buttonIconVariants({
148
+ size,
149
+ className: iconClassName,
150
+ position: "left"
151
+ })
132
152
  }
133
153
  ),
134
154
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
135
155
  components_Loader_index.Loader,
136
156
  {
137
- className: utils_cn.cn(
138
- buttonIconVariants({ size, className: iconClassName }),
139
- "float-start"
140
- ),
141
- isLoading
157
+ className: buttonIconVariants({
158
+ size,
159
+ className: iconClassName,
160
+ position: "left"
161
+ }),
162
+ isLoading: isLoading ?? false
142
163
  }
143
164
  ),
144
- typeof children !== "undefined" && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("div", { className: "flex-1 truncate", children }),
165
+ children,
145
166
  IconRight && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
146
167
  IconRight,
147
168
  {
148
- className: utils_cn.cn(
149
- buttonIconVariants({ size, className: iconClassName }),
150
- ""
151
- )
169
+ className: buttonIconVariants({
170
+ size,
171
+ className: iconClassName,
172
+ position: "right"
173
+ })
152
174
  }
153
175
  )
154
176
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"Button.cjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n forwardRef,\n type ButtonHTMLAttributes,\n type DetailedHTMLProps,\n type FC,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { Loader } from '../Loader';\n\nconst buttonIconVariants = cva('size-4', {\n variants: {\n size: {\n sm: 'w-4',\n md: 'w-6',\n lg: 'w-7',\n xl: 'w-9',\n 'icon-sm': 'size-6 p-1',\n 'icon-md': 'size-7 p-1',\n 'icon-lg': 'size-9 p-1',\n 'icon-xl': 'size-10 p-1',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst buttonVariants = cva(\n 'flex items-center gap-3 whitespace-nowrap font-medium transition focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'min-h-7 px-3 max-md:py-1 text-xs',\n md: 'min-h-8 px-6 max-md:py-2 text-sm',\n lg: 'min-h-10 px-8 max-md:py-3 text-base',\n xl: 'min-h-11 px-10 max-md:py-4 text-lg',\n 'icon-sm': 'p-0.5',\n 'icon-md': 'p-1',\n 'icon-lg': 'p-1.5',\n 'icon-xl': 'p-2',\n },\n variant: {\n default: 'rounded-lg text-text-opposite dark:text-text-opposite-dark',\n none: 'border-none bg-opacity-0 text-inherit hover:bg-opacity-0 dark:bg-opacity-0 dark:text-inherit dark:hover:bg-opacity-0',\n outline:\n 'rounded-lg border-[1.5px] bg-opacity-0 hover:bg-opacity-30 dark:bg-opacity-0',\n link: 'h-auto justify-start border-inherit bg-transparent px-1 underline-offset-4 hover:bg-transparent hover:underline dark:bg-transparent hover:dark:bg-transparent',\n 'invisible-link':\n 'h-auto justify-start border-inherit bg-transparent px-1 underline-offset-4 hover:bg-transparent dark:bg-transparent hover:dark:bg-transparent',\n hoverable:\n 'rounded-lg border-none bg-opacity-0 transition hover:bg-opacity-10 aria-[current]:bg-opacity-5 dark:border-none dark:bg-opacity-0 dark:hover:bg-opacity-10',\n input: [\n 'w-full select-text resize-none rounded-xl border-2 bg-input-background text-sm text-input-text shadow-none outline-0 transition-all dark:bg-input-background-dark dark:text-input-text-dark',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none] dark:border-input-border-dark dark:hover:border-input-border-hover-dark dark:focus:border-input-border-focus',\n 'aria-[invalid=true]:border-error dark:aria-[invalid=true]:border-error-dark',\n 'disabled:opacity-50',\n ],\n },\n color: {\n primary:\n 'border-primary bg-primary text-primary hover:bg-primary-500 dark:border-primary-dark dark:bg-primary-dark dark:text-primary-dark hover:dark:bg-primary-300',\n secondary:\n 'border-secondary bg-secondary text-secondary hover:bg-secondary-300 dark:border-secondary-dark dark:bg-secondary-dark dark:text-secondary-dark hover:dark:bg-secondary-100',\n destructive:\n 'border-destructive bg-destructive text-destructive hover:bg-destructive-500 dark:border-destructive-dark dark:bg-destructive-dark hover:dark:bg-destructive-200',\n neutral:\n 'border-neutral bg-neutral text-neutral hover:bg-neutral-600 dark:border-neutral-dark dark:bg-neutral-dark dark:text-neutral-dark hover:dark:bg-neutral-400',\n light: 'border-white bg-white text-white hover:bg-neutral-500',\n dark: 'border-neutral-800 bg-neutral-800 text-neutral-800 hover:bg-neutral-900 dark:hover:bg-neutral-700',\n text: 'border-text bg-text text-text hover:opacity-80 dark:border-text-dark dark:bg-text-dark dark:text-text-dark',\n 'text-inverse':\n 'border-text-dark dark:border-text bg-text-dark dark:bg-text text-text-dark dark:text-text hover:opacity-80',\n error:\n 'border-error bg-error text-error hover:bg-error-500 dark:border-error-dark dark:bg-error-dark dark:text-error-dark hover:dark:bg-error-300',\n success:\n 'border-success bg-success text-success hover:bg-success-500 dark:border-success-dark dark:bg-success-dark dark:text-success-dark hover:dark:bg-success-300',\n custom: '',\n },\n\n textAlign: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n\n isFullWidth: {\n true: 'w-full',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n color: 'primary',\n textAlign: 'center',\n isFullWidth: false,\n },\n }\n);\n\nexport type ButtonProps = DetailedHTMLProps<\n ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n> &\n VariantProps<typeof buttonVariants> & {\n /**\n * Optional icon to be displayed on the button\n */\n label: string;\n Icon?: FC | LucideIcon;\n IconRight?: FC | LucideIcon;\n iconClassName?: string;\n isLoading?: boolean;\n isActive?: boolean;\n isFullWidth?: boolean;\n };\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant,\n size,\n color,\n children,\n Icon,\n IconRight,\n iconClassName,\n isLoading = false,\n isActive,\n isFullWidth = false,\n textAlign = IconRight ? 'left' : 'center',\n disabled,\n label,\n className,\n type = 'button',\n ...props\n },\n ref\n ) => {\n const isLink = variant === 'link' || variant === 'invisible-link';\n\n return (\n <button\n ref={ref}\n disabled={isLoading || disabled}\n aria-current={isActive ? 'page' : undefined}\n aria-label={label}\n aria-busy={isLoading}\n role={isLink ? 'link' : undefined}\n type={type}\n className={buttonVariants({\n variant,\n size,\n color,\n isFullWidth,\n textAlign,\n className,\n })}\n {...props}\n >\n {Icon && !isLoading && (\n <Icon\n className={cn(\n buttonIconVariants({ size, className: iconClassName }),\n 'float-start'\n )}\n />\n )}\n\n <Loader\n className={cn(\n buttonIconVariants({ size, className: iconClassName }),\n 'float-start'\n )}\n isLoading={isLoading}\n />\n\n {typeof children !== 'undefined' && (\n <div className=\"flex-1 truncate\">{children}</div>\n )}\n\n {IconRight && (\n <IconRight\n className={cn(\n buttonIconVariants({ size, className: iconClassName }),\n ''\n )}\n />\n )}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n"],"names":["cva","forwardRef","jsxs","jsx","cn","Loader"],"mappings":"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"}
1
+ {"version":3,"file":"Button.cjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n forwardRef,\n type ButtonHTMLAttributes,\n type DetailedHTMLProps,\n type FC,\n} from 'react';\nimport { Loader } from '../Loader';\n\nconst buttonIconVariants = cva('', {\n variants: {\n size: {\n sm: 'size-3 absolute top-1/2 -translate-y-1/2',\n md: 'size-4 absolute top-1/2 -translate-y-1/2',\n lg: 'size-5 absolute top-1/2 -translate-y-1/2',\n xl: 'size-6 absolute top-1/2 -translate-y-1/2',\n 'icon-sm': 'size-6 p-1',\n 'icon-md': 'size-7 p-1',\n 'icon-lg': 'size-9 p-1',\n 'icon-xl': 'size-10 p-1',\n },\n position: {\n left: 'left-3',\n right: 'right-3',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst buttonVariants = cva(\n 'relative truncate whitespace-nowrap font-medium transition focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'min-h-7 px-3 max-md:py-1 text-xs',\n md: 'min-h-8 px-6 max-md:py-2 text-sm',\n lg: 'min-h-10 px-8 max-md:py-3 text-base',\n xl: 'min-h-11 px-10 max-md:py-4 text-lg',\n 'icon-sm': 'p-0.5',\n 'icon-md': 'p-1',\n 'icon-lg': 'p-1.5',\n 'icon-xl': 'p-2',\n },\n variant: {\n default: 'rounded-lg text-text-opposite dark:text-text-opposite-dark',\n none: 'border-none bg-opacity-0 text-inherit hover:bg-opacity-0 dark:bg-opacity-0 dark:text-inherit dark:hover:bg-opacity-0',\n outline:\n 'rounded-lg border-[1.5px] bg-opacity-0 hover:bg-opacity-30 dark:bg-opacity-0',\n link: 'h-auto justify-start border-inherit bg-transparent px-1 underline-offset-4 hover:bg-transparent hover:underline dark:bg-transparent hover:dark:bg-transparent',\n 'invisible-link':\n 'h-auto justify-start border-inherit bg-transparent px-1 underline-offset-4 hover:bg-transparent dark:bg-transparent hover:dark:bg-transparent',\n hoverable:\n 'rounded-lg border-none bg-opacity-0 transition hover:bg-opacity-10 aria-[current]:bg-opacity-5 dark:border-none dark:bg-opacity-0 dark:hover:bg-opacity-10',\n input: [\n 'w-full select-text resize-none rounded-xl border-2 bg-input-background text-sm text-input-text shadow-none outline-0 transition-all dark:bg-input-background-dark dark:text-input-text-dark',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none] dark:border-input-border-dark dark:hover:border-input-border-hover-dark dark:focus:border-input-border-focus',\n 'aria-[invalid=true]:border-error dark:aria-[invalid=true]:border-error-dark',\n 'disabled:opacity-50',\n ],\n },\n color: {\n primary:\n 'border-primary bg-primary text-primary hover:bg-primary-500 dark:border-primary-dark dark:bg-primary-dark dark:text-primary-dark hover:dark:bg-primary-300',\n secondary:\n 'border-secondary bg-secondary text-secondary hover:bg-secondary-300 dark:border-secondary-dark dark:bg-secondary-dark dark:text-secondary-dark hover:dark:bg-secondary-100',\n destructive:\n 'border-destructive bg-destructive text-destructive hover:bg-destructive-500 dark:border-destructive-dark dark:bg-destructive-dark hover:dark:bg-destructive-200',\n neutral:\n 'border-neutral bg-neutral text-neutral hover:bg-neutral-600 dark:border-neutral-dark dark:bg-neutral-dark dark:text-neutral-dark hover:dark:bg-neutral-400',\n light: 'border-white bg-white text-white hover:bg-neutral-500',\n dark: 'border-neutral-800 bg-neutral-800 text-neutral-800 hover:bg-neutral-900 dark:hover:bg-neutral-700',\n text: 'border-text bg-text text-text hover:opacity-80 dark:border-text-dark dark:bg-text-dark dark:text-text-dark',\n 'text-inverse':\n 'border-text-dark dark:border-text bg-text-dark dark:bg-text text-text-dark dark:text-text hover:opacity-80',\n error:\n 'border-error bg-error text-error hover:bg-error-500 dark:border-error-dark dark:bg-error-dark dark:text-error-dark hover:dark:bg-error-300',\n success:\n 'border-success bg-success text-success hover:bg-success-500 dark:border-success-dark dark:bg-success-dark dark:text-success-dark hover:dark:bg-success-300',\n custom: '',\n },\n\n textAlign: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n\n isFullWidth: {\n true: 'w-full',\n false: '',\n },\n\n hasIconLeft: {\n true: 'pl-12',\n false: '',\n },\n hasIconRight: {\n true: 'pr-12',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n color: 'primary',\n textAlign: 'center',\n isFullWidth: false,\n hasIconRight: false,\n hasIconLeft: false,\n },\n }\n);\n\nexport type ButtonProps = DetailedHTMLProps<\n ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n> &\n VariantProps<typeof buttonVariants> & {\n /**\n * Optional icon to be displayed on the button\n */\n label: string;\n Icon?: FC | LucideIcon;\n IconRight?: FC | LucideIcon;\n iconClassName?: string;\n isLoading?: boolean;\n isActive?: boolean;\n isFullWidth?: boolean;\n };\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant,\n size,\n color,\n children,\n Icon,\n IconRight,\n iconClassName,\n isLoading,\n isActive,\n isFullWidth = false,\n textAlign,\n disabled,\n label,\n className,\n type = 'button',\n ...props\n },\n ref\n ) => {\n const isLink = variant === 'link' || variant === 'invisible-link';\n\n return (\n <button\n ref={ref}\n disabled={isLoading || disabled}\n aria-current={isActive ? 'page' : undefined}\n aria-label={label}\n aria-busy={isLoading}\n role={isLink ? 'link' : undefined}\n type={type}\n className={buttonVariants({\n variant,\n size,\n color,\n isFullWidth,\n textAlign: textAlign ?? (IconRight ? 'left' : 'center'),\n hasIconLeft: Boolean(\n typeof children !== 'undefined' &&\n (typeof Icon !== 'undefined' || typeof isLoading !== 'undefined')\n ),\n hasIconRight: Boolean(\n typeof children !== 'undefined' && typeof IconRight !== 'undefined'\n ),\n className,\n })}\n {...props}\n >\n {Icon && !isLoading && (\n <Icon\n className={buttonIconVariants({\n size,\n className: iconClassName,\n position: 'left',\n })}\n />\n )}\n\n <Loader\n className={buttonIconVariants({\n size,\n className: iconClassName,\n position: 'left',\n })}\n isLoading={isLoading ?? false}\n />\n\n {children}\n\n {IconRight && (\n <IconRight\n className={buttonIconVariants({\n size,\n className: iconClassName,\n position: 'right',\n })}\n />\n )}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n"],"names":["cva","forwardRef","jsxs","jsx","Loader"],"mappings":"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"}
@@ -7,6 +7,8 @@ declare const buttonVariants: (props?: ({
7
7
  color?: "text" | "light" | "dark" | "success" | "error" | "primary" | "secondary" | "destructive" | "neutral" | "text-inverse" | "custom" | null | undefined;
8
8
  textAlign?: "center" | "right" | "left" | null | undefined;
9
9
  isFullWidth?: boolean | null | undefined;
10
+ hasIconLeft?: boolean | null | undefined;
11
+ hasIconRight?: boolean | null | undefined;
10
12
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
11
13
  export type ButtonProps = DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement> & VariantProps<typeof buttonVariants> & {
12
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAsBf,QAAA,MAAM,cAAc;;;;;;8EAuEnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,CACzC,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,iBAAiB,CAClB,GACC,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEJ,eAAO,MAAM,MAAM,wHA2ElB,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,EAAE,EACR,MAAM,OAAO,CAAC;AAyBf,QAAA,MAAM,cAAc;;;;;;;;8EAkFnB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,iBAAiB,CACzC,oBAAoB,CAAC,iBAAiB,CAAC,EACvC,iBAAiB,CAClB,GACC,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,EAAE,GAAG,UAAU,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEJ,eAAO,MAAM,MAAM,wHAmFlB,CAAC"}
@@ -1,19 +1,22 @@
1
1
  import { j as jsxRuntimeExports } from "../../jsx-runtime-DaNGiM0W.js";
2
2
  import { cva } from "class-variance-authority";
3
3
  import { forwardRef } from "react";
4
- import { cn } from "../../utils/cn.mjs";
5
4
  import { Loader } from "../Loader/index.mjs";
6
- const buttonIconVariants = cva("size-4", {
5
+ const buttonIconVariants = cva("", {
7
6
  variants: {
8
7
  size: {
9
- sm: "w-4",
10
- md: "w-6",
11
- lg: "w-7",
12
- xl: "w-9",
8
+ sm: "size-3 absolute top-1/2 -translate-y-1/2",
9
+ md: "size-4 absolute top-1/2 -translate-y-1/2",
10
+ lg: "size-5 absolute top-1/2 -translate-y-1/2",
11
+ xl: "size-6 absolute top-1/2 -translate-y-1/2",
13
12
  "icon-sm": "size-6 p-1",
14
13
  "icon-md": "size-7 p-1",
15
14
  "icon-lg": "size-9 p-1",
16
15
  "icon-xl": "size-10 p-1"
16
+ },
17
+ position: {
18
+ left: "left-3",
19
+ right: "right-3"
17
20
  }
18
21
  },
19
22
  defaultVariants: {
@@ -21,7 +24,7 @@ const buttonIconVariants = cva("size-4", {
21
24
  }
22
25
  });
23
26
  const buttonVariants = cva(
24
- "flex items-center gap-3 whitespace-nowrap font-medium transition focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50",
27
+ "relative truncate whitespace-nowrap font-medium transition focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50",
25
28
  {
26
29
  variants: {
27
30
  size: {
@@ -69,6 +72,14 @@ const buttonVariants = cva(
69
72
  isFullWidth: {
70
73
  true: "w-full",
71
74
  false: ""
75
+ },
76
+ hasIconLeft: {
77
+ true: "pl-12",
78
+ false: ""
79
+ },
80
+ hasIconRight: {
81
+ true: "pr-12",
82
+ false: ""
72
83
  }
73
84
  },
74
85
  defaultVariants: {
@@ -76,7 +87,9 @@ const buttonVariants = cva(
76
87
  size: "md",
77
88
  color: "primary",
78
89
  textAlign: "center",
79
- isFullWidth: false
90
+ isFullWidth: false,
91
+ hasIconRight: false,
92
+ hasIconLeft: false
80
93
  }
81
94
  }
82
95
  );
@@ -89,10 +102,10 @@ const Button = forwardRef(
89
102
  Icon,
90
103
  IconRight,
91
104
  iconClassName,
92
- isLoading = false,
105
+ isLoading,
93
106
  isActive,
94
107
  isFullWidth = false,
95
- textAlign = IconRight ? "left" : "center",
108
+ textAlign,
96
109
  disabled,
97
110
  label,
98
111
  className,
@@ -115,7 +128,13 @@ const Button = forwardRef(
115
128
  size,
116
129
  color,
117
130
  isFullWidth,
118
- textAlign,
131
+ textAlign: textAlign ?? (IconRight ? "left" : "center"),
132
+ hasIconLeft: Boolean(
133
+ typeof children !== "undefined" && (typeof Icon !== "undefined" || typeof isLoading !== "undefined")
134
+ ),
135
+ hasIconRight: Boolean(
136
+ typeof children !== "undefined" && typeof IconRight !== "undefined"
137
+ ),
119
138
  className
120
139
  }),
121
140
  ...props,
@@ -123,30 +142,33 @@ const Button = forwardRef(
123
142
  Icon && !isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx(
124
143
  Icon,
125
144
  {
126
- className: cn(
127
- buttonIconVariants({ size, className: iconClassName }),
128
- "float-start"
129
- )
145
+ className: buttonIconVariants({
146
+ size,
147
+ className: iconClassName,
148
+ position: "left"
149
+ })
130
150
  }
131
151
  ),
132
152
  /* @__PURE__ */ jsxRuntimeExports.jsx(
133
153
  Loader,
134
154
  {
135
- className: cn(
136
- buttonIconVariants({ size, className: iconClassName }),
137
- "float-start"
138
- ),
139
- isLoading
155
+ className: buttonIconVariants({
156
+ size,
157
+ className: iconClassName,
158
+ position: "left"
159
+ }),
160
+ isLoading: isLoading ?? false
140
161
  }
141
162
  ),
142
- typeof children !== "undefined" && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1 truncate", children }),
163
+ children,
143
164
  IconRight && /* @__PURE__ */ jsxRuntimeExports.jsx(
144
165
  IconRight,
145
166
  {
146
- className: cn(
147
- buttonIconVariants({ size, className: iconClassName }),
148
- ""
149
- )
167
+ className: buttonIconVariants({
168
+ size,
169
+ className: iconClassName,
170
+ position: "right"
171
+ })
150
172
  }
151
173
  )
152
174
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"Button.mjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n forwardRef,\n type ButtonHTMLAttributes,\n type DetailedHTMLProps,\n type FC,\n} from 'react';\nimport { cn } from '../../utils/cn';\nimport { Loader } from '../Loader';\n\nconst buttonIconVariants = cva('size-4', {\n variants: {\n size: {\n sm: 'w-4',\n md: 'w-6',\n lg: 'w-7',\n xl: 'w-9',\n 'icon-sm': 'size-6 p-1',\n 'icon-md': 'size-7 p-1',\n 'icon-lg': 'size-9 p-1',\n 'icon-xl': 'size-10 p-1',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst buttonVariants = cva(\n 'flex items-center gap-3 whitespace-nowrap font-medium transition focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'min-h-7 px-3 max-md:py-1 text-xs',\n md: 'min-h-8 px-6 max-md:py-2 text-sm',\n lg: 'min-h-10 px-8 max-md:py-3 text-base',\n xl: 'min-h-11 px-10 max-md:py-4 text-lg',\n 'icon-sm': 'p-0.5',\n 'icon-md': 'p-1',\n 'icon-lg': 'p-1.5',\n 'icon-xl': 'p-2',\n },\n variant: {\n default: 'rounded-lg text-text-opposite dark:text-text-opposite-dark',\n none: 'border-none bg-opacity-0 text-inherit hover:bg-opacity-0 dark:bg-opacity-0 dark:text-inherit dark:hover:bg-opacity-0',\n outline:\n 'rounded-lg border-[1.5px] bg-opacity-0 hover:bg-opacity-30 dark:bg-opacity-0',\n link: 'h-auto justify-start border-inherit bg-transparent px-1 underline-offset-4 hover:bg-transparent hover:underline dark:bg-transparent hover:dark:bg-transparent',\n 'invisible-link':\n 'h-auto justify-start border-inherit bg-transparent px-1 underline-offset-4 hover:bg-transparent dark:bg-transparent hover:dark:bg-transparent',\n hoverable:\n 'rounded-lg border-none bg-opacity-0 transition hover:bg-opacity-10 aria-[current]:bg-opacity-5 dark:border-none dark:bg-opacity-0 dark:hover:bg-opacity-10',\n input: [\n 'w-full select-text resize-none rounded-xl border-2 bg-input-background text-sm text-input-text shadow-none outline-0 transition-all dark:bg-input-background-dark dark:text-input-text-dark',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none] dark:border-input-border-dark dark:hover:border-input-border-hover-dark dark:focus:border-input-border-focus',\n 'aria-[invalid=true]:border-error dark:aria-[invalid=true]:border-error-dark',\n 'disabled:opacity-50',\n ],\n },\n color: {\n primary:\n 'border-primary bg-primary text-primary hover:bg-primary-500 dark:border-primary-dark dark:bg-primary-dark dark:text-primary-dark hover:dark:bg-primary-300',\n secondary:\n 'border-secondary bg-secondary text-secondary hover:bg-secondary-300 dark:border-secondary-dark dark:bg-secondary-dark dark:text-secondary-dark hover:dark:bg-secondary-100',\n destructive:\n 'border-destructive bg-destructive text-destructive hover:bg-destructive-500 dark:border-destructive-dark dark:bg-destructive-dark hover:dark:bg-destructive-200',\n neutral:\n 'border-neutral bg-neutral text-neutral hover:bg-neutral-600 dark:border-neutral-dark dark:bg-neutral-dark dark:text-neutral-dark hover:dark:bg-neutral-400',\n light: 'border-white bg-white text-white hover:bg-neutral-500',\n dark: 'border-neutral-800 bg-neutral-800 text-neutral-800 hover:bg-neutral-900 dark:hover:bg-neutral-700',\n text: 'border-text bg-text text-text hover:opacity-80 dark:border-text-dark dark:bg-text-dark dark:text-text-dark',\n 'text-inverse':\n 'border-text-dark dark:border-text bg-text-dark dark:bg-text text-text-dark dark:text-text hover:opacity-80',\n error:\n 'border-error bg-error text-error hover:bg-error-500 dark:border-error-dark dark:bg-error-dark dark:text-error-dark hover:dark:bg-error-300',\n success:\n 'border-success bg-success text-success hover:bg-success-500 dark:border-success-dark dark:bg-success-dark dark:text-success-dark hover:dark:bg-success-300',\n custom: '',\n },\n\n textAlign: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n\n isFullWidth: {\n true: 'w-full',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n color: 'primary',\n textAlign: 'center',\n isFullWidth: false,\n },\n }\n);\n\nexport type ButtonProps = DetailedHTMLProps<\n ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n> &\n VariantProps<typeof buttonVariants> & {\n /**\n * Optional icon to be displayed on the button\n */\n label: string;\n Icon?: FC | LucideIcon;\n IconRight?: FC | LucideIcon;\n iconClassName?: string;\n isLoading?: boolean;\n isActive?: boolean;\n isFullWidth?: boolean;\n };\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant,\n size,\n color,\n children,\n Icon,\n IconRight,\n iconClassName,\n isLoading = false,\n isActive,\n isFullWidth = false,\n textAlign = IconRight ? 'left' : 'center',\n disabled,\n label,\n className,\n type = 'button',\n ...props\n },\n ref\n ) => {\n const isLink = variant === 'link' || variant === 'invisible-link';\n\n return (\n <button\n ref={ref}\n disabled={isLoading || disabled}\n aria-current={isActive ? 'page' : undefined}\n aria-label={label}\n aria-busy={isLoading}\n role={isLink ? 'link' : undefined}\n type={type}\n className={buttonVariants({\n variant,\n size,\n color,\n isFullWidth,\n textAlign,\n className,\n })}\n {...props}\n >\n {Icon && !isLoading && (\n <Icon\n className={cn(\n buttonIconVariants({ size, className: iconClassName }),\n 'float-start'\n )}\n />\n )}\n\n <Loader\n className={cn(\n buttonIconVariants({ size, className: iconClassName }),\n 'float-start'\n )}\n isLoading={isLoading}\n />\n\n {typeof children !== 'undefined' && (\n <div className=\"flex-1 truncate\">{children}</div>\n )}\n\n {IconRight && (\n <IconRight\n className={cn(\n buttonIconVariants({ size, className: iconClassName }),\n ''\n )}\n />\n )}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n"],"names":["jsxs","jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Button.mjs","sources":["../../../src/components/Button/Button.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport type { LucideIcon } from 'lucide-react';\nimport {\n forwardRef,\n type ButtonHTMLAttributes,\n type DetailedHTMLProps,\n type FC,\n} from 'react';\nimport { Loader } from '../Loader';\n\nconst buttonIconVariants = cva('', {\n variants: {\n size: {\n sm: 'size-3 absolute top-1/2 -translate-y-1/2',\n md: 'size-4 absolute top-1/2 -translate-y-1/2',\n lg: 'size-5 absolute top-1/2 -translate-y-1/2',\n xl: 'size-6 absolute top-1/2 -translate-y-1/2',\n 'icon-sm': 'size-6 p-1',\n 'icon-md': 'size-7 p-1',\n 'icon-lg': 'size-9 p-1',\n 'icon-xl': 'size-10 p-1',\n },\n position: {\n left: 'left-3',\n right: 'right-3',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst buttonVariants = cva(\n 'relative truncate whitespace-nowrap font-medium transition focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n size: {\n sm: 'min-h-7 px-3 max-md:py-1 text-xs',\n md: 'min-h-8 px-6 max-md:py-2 text-sm',\n lg: 'min-h-10 px-8 max-md:py-3 text-base',\n xl: 'min-h-11 px-10 max-md:py-4 text-lg',\n 'icon-sm': 'p-0.5',\n 'icon-md': 'p-1',\n 'icon-lg': 'p-1.5',\n 'icon-xl': 'p-2',\n },\n variant: {\n default: 'rounded-lg text-text-opposite dark:text-text-opposite-dark',\n none: 'border-none bg-opacity-0 text-inherit hover:bg-opacity-0 dark:bg-opacity-0 dark:text-inherit dark:hover:bg-opacity-0',\n outline:\n 'rounded-lg border-[1.5px] bg-opacity-0 hover:bg-opacity-30 dark:bg-opacity-0',\n link: 'h-auto justify-start border-inherit bg-transparent px-1 underline-offset-4 hover:bg-transparent hover:underline dark:bg-transparent hover:dark:bg-transparent',\n 'invisible-link':\n 'h-auto justify-start border-inherit bg-transparent px-1 underline-offset-4 hover:bg-transparent dark:bg-transparent hover:dark:bg-transparent',\n hoverable:\n 'rounded-lg border-none bg-opacity-0 transition hover:bg-opacity-10 aria-[current]:bg-opacity-5 dark:border-none dark:bg-opacity-0 dark:hover:bg-opacity-10',\n input: [\n 'w-full select-text resize-none rounded-xl border-2 bg-input-background text-sm text-input-text shadow-none outline-0 transition-all dark:bg-input-background-dark dark:text-input-text-dark',\n 'border-input-border hover:border-input-border-hover focus:border-input-border-focus focus:outline-0 focus:[box-shadow:none] dark:border-input-border-dark dark:hover:border-input-border-hover-dark dark:focus:border-input-border-focus',\n 'aria-[invalid=true]:border-error dark:aria-[invalid=true]:border-error-dark',\n 'disabled:opacity-50',\n ],\n },\n color: {\n primary:\n 'border-primary bg-primary text-primary hover:bg-primary-500 dark:border-primary-dark dark:bg-primary-dark dark:text-primary-dark hover:dark:bg-primary-300',\n secondary:\n 'border-secondary bg-secondary text-secondary hover:bg-secondary-300 dark:border-secondary-dark dark:bg-secondary-dark dark:text-secondary-dark hover:dark:bg-secondary-100',\n destructive:\n 'border-destructive bg-destructive text-destructive hover:bg-destructive-500 dark:border-destructive-dark dark:bg-destructive-dark hover:dark:bg-destructive-200',\n neutral:\n 'border-neutral bg-neutral text-neutral hover:bg-neutral-600 dark:border-neutral-dark dark:bg-neutral-dark dark:text-neutral-dark hover:dark:bg-neutral-400',\n light: 'border-white bg-white text-white hover:bg-neutral-500',\n dark: 'border-neutral-800 bg-neutral-800 text-neutral-800 hover:bg-neutral-900 dark:hover:bg-neutral-700',\n text: 'border-text bg-text text-text hover:opacity-80 dark:border-text-dark dark:bg-text-dark dark:text-text-dark',\n 'text-inverse':\n 'border-text-dark dark:border-text bg-text-dark dark:bg-text text-text-dark dark:text-text hover:opacity-80',\n error:\n 'border-error bg-error text-error hover:bg-error-500 dark:border-error-dark dark:bg-error-dark dark:text-error-dark hover:dark:bg-error-300',\n success:\n 'border-success bg-success text-success hover:bg-success-500 dark:border-success-dark dark:bg-success-dark dark:text-success-dark hover:dark:bg-success-300',\n custom: '',\n },\n\n textAlign: {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n },\n\n isFullWidth: {\n true: 'w-full',\n false: '',\n },\n\n hasIconLeft: {\n true: 'pl-12',\n false: '',\n },\n hasIconRight: {\n true: 'pr-12',\n false: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'md',\n color: 'primary',\n textAlign: 'center',\n isFullWidth: false,\n hasIconRight: false,\n hasIconLeft: false,\n },\n }\n);\n\nexport type ButtonProps = DetailedHTMLProps<\n ButtonHTMLAttributes<HTMLButtonElement>,\n HTMLButtonElement\n> &\n VariantProps<typeof buttonVariants> & {\n /**\n * Optional icon to be displayed on the button\n */\n label: string;\n Icon?: FC | LucideIcon;\n IconRight?: FC | LucideIcon;\n iconClassName?: string;\n isLoading?: boolean;\n isActive?: boolean;\n isFullWidth?: boolean;\n };\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n variant,\n size,\n color,\n children,\n Icon,\n IconRight,\n iconClassName,\n isLoading,\n isActive,\n isFullWidth = false,\n textAlign,\n disabled,\n label,\n className,\n type = 'button',\n ...props\n },\n ref\n ) => {\n const isLink = variant === 'link' || variant === 'invisible-link';\n\n return (\n <button\n ref={ref}\n disabled={isLoading || disabled}\n aria-current={isActive ? 'page' : undefined}\n aria-label={label}\n aria-busy={isLoading}\n role={isLink ? 'link' : undefined}\n type={type}\n className={buttonVariants({\n variant,\n size,\n color,\n isFullWidth,\n textAlign: textAlign ?? (IconRight ? 'left' : 'center'),\n hasIconLeft: Boolean(\n typeof children !== 'undefined' &&\n (typeof Icon !== 'undefined' || typeof isLoading !== 'undefined')\n ),\n hasIconRight: Boolean(\n typeof children !== 'undefined' && typeof IconRight !== 'undefined'\n ),\n className,\n })}\n {...props}\n >\n {Icon && !isLoading && (\n <Icon\n className={buttonIconVariants({\n size,\n className: iconClassName,\n position: 'left',\n })}\n />\n )}\n\n <Loader\n className={buttonIconVariants({\n size,\n className: iconClassName,\n position: 'left',\n })}\n isLoading={isLoading ?? false}\n />\n\n {children}\n\n {IconRight && (\n <IconRight\n className={buttonIconVariants({\n size,\n className: iconClassName,\n position: 'right',\n })}\n />\n )}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n"],"names":["jsxs","jsx"],"mappings":"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"}
@@ -50,7 +50,7 @@ const containerVariants = classVarianceAuthority.cva(
50
50
  text: "border-text dark:border-text-dark"
51
51
  },
52
52
  background: {
53
- none: "bg-none",
53
+ none: "bg-inherit ",
54
54
  with: ""
55
55
  },
56
56
  gap: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/components/Container/index.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { type PropsWithChildren, forwardRef, type HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\n\nconst containerVariants = cva(\n 'flex flex-col p-10 text-text backdrop-blur dark:text-text-dark',\n {\n variants: {\n roundedSize: {\n none: 'rounded-none',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n '3xl': 'rounded-3xl',\n full: 'rounded-full',\n },\n transparency: {\n none: 'bg-card dark:bg-card-dark',\n full: '',\n sm: 'bg-card/90 dark:bg-card-dark/90',\n md: 'bg-card/70 dark:bg-card-dark/70',\n lg: 'bg-card/40 dark:bg-card-dark/40',\n xl: 'bg-card/20 dark:bg-card-dark/20',\n },\n padding: {\n none: 'p-0',\n sm: 'p-1',\n md: 'p-2',\n lg: 'p-3',\n xl: 'p-4',\n },\n separator: {\n without: '',\n x: 'divide-x divide-dashed divide-text/20 dark:divide-text-dark/20',\n y: 'divide-y divide-dashed divide-text/20 dark:divide-text-dark/20',\n both: 'divide-x divide-y divide-dashed divide-text/20 dark:divide-text-dark/20',\n },\n border: {\n none: '',\n with: 'border-[1.5px]',\n },\n borderColor: {\n primary: 'border-primary dark:border-primary-dark',\n secondary: 'border-secondary dark:border-secondary-dark',\n neutral: 'border-neutral dark:border-neutral-dark',\n text: 'border-text dark:border-text-dark',\n },\n background: {\n none: 'bg-none',\n with: '',\n },\n gap: {\n none: 'gap-0',\n sm: 'gap-1',\n md: 'gap-3',\n lg: 'gap-5',\n xl: 'gap-8',\n '2xl': 'gap-10',\n },\n },\n\n defaultVariants: {\n roundedSize: 'md',\n border: 'none',\n borderColor: 'text',\n transparency: 'md',\n padding: 'none',\n separator: 'without',\n gap: 'none',\n },\n }\n);\n\nexport type ContainerProps = PropsWithChildren<\n Omit<VariantProps<typeof containerVariants>, 'border' | 'background'>\n> &\n HTMLAttributes<HTMLDivElement> & {\n border?: boolean;\n background?: boolean;\n };\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(\n (\n {\n children,\n roundedSize,\n padding,\n transparency,\n separator,\n className,\n border,\n borderColor,\n background,\n ...props\n },\n ref\n ) => (\n <div\n ref={ref}\n className={cn(\n containerVariants({\n roundedSize,\n transparency,\n padding,\n separator,\n border:\n typeof border === 'boolean'\n ? border\n ? 'with'\n : 'none'\n : undefined,\n background:\n typeof background === 'boolean'\n ? background\n ? 'with'\n : 'none'\n : undefined,\n borderColor,\n className,\n })\n )}\n {...props}\n >\n {children}\n </div>\n )\n);\n\nContainer.displayName = 'Container';\n"],"names":["cva","forwardRef","jsx","cn"],"mappings":";;;;;;AAIA,MAAM,oBAAoBA,uBAAA;AAAA,EACxB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,aAAa;AAAA,QACX,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,SAAS;AAAA,QACP,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,QACT,GAAG;AAAA,QACH,GAAG;AAAA,QACH,MAAM;AAAA,MACR;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,MACA,aAAa;AAAA,QACX,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,MACA,YAAY;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,MACA,KAAK;AAAA,QACH,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IAEA,iBAAiB;AAAA,MACf,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,MACX,KAAK;AAAA,IAAA;AAAA,EACP;AAEJ;AAUO,MAAM,YAAYC,WAAA;AAAA,EACvB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,KAEL,QAEAC,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAWC,SAAA;AAAA,QACT,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,QACE,OAAO,WAAW,YACd,SACE,SACA,SACF;AAAA,UACN,YACE,OAAO,eAAe,YAClB,aACE,SACA,SACF;AAAA,UACN;AAAA,UACA;AAAA,QACD,CAAA;AAAA,MACH;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,UAAU,cAAc;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/Container/index.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { type PropsWithChildren, forwardRef, type HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\n\nconst containerVariants = cva(\n 'flex flex-col p-10 text-text backdrop-blur dark:text-text-dark',\n {\n variants: {\n roundedSize: {\n none: 'rounded-none',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n '3xl': 'rounded-3xl',\n full: 'rounded-full',\n },\n transparency: {\n none: 'bg-card dark:bg-card-dark',\n full: '',\n sm: 'bg-card/90 dark:bg-card-dark/90',\n md: 'bg-card/70 dark:bg-card-dark/70',\n lg: 'bg-card/40 dark:bg-card-dark/40',\n xl: 'bg-card/20 dark:bg-card-dark/20',\n },\n padding: {\n none: 'p-0',\n sm: 'p-1',\n md: 'p-2',\n lg: 'p-3',\n xl: 'p-4',\n },\n separator: {\n without: '',\n x: 'divide-x divide-dashed divide-text/20 dark:divide-text-dark/20',\n y: 'divide-y divide-dashed divide-text/20 dark:divide-text-dark/20',\n both: 'divide-x divide-y divide-dashed divide-text/20 dark:divide-text-dark/20',\n },\n border: {\n none: '',\n with: 'border-[1.5px]',\n },\n borderColor: {\n primary: 'border-primary dark:border-primary-dark',\n secondary: 'border-secondary dark:border-secondary-dark',\n neutral: 'border-neutral dark:border-neutral-dark',\n text: 'border-text dark:border-text-dark',\n },\n background: {\n none: 'bg-inherit\t',\n with: '',\n },\n gap: {\n none: 'gap-0',\n sm: 'gap-1',\n md: 'gap-3',\n lg: 'gap-5',\n xl: 'gap-8',\n '2xl': 'gap-10',\n },\n },\n\n defaultVariants: {\n roundedSize: 'md',\n border: 'none',\n borderColor: 'text',\n transparency: 'md',\n padding: 'none',\n separator: 'without',\n gap: 'none',\n },\n }\n);\n\nexport type ContainerProps = PropsWithChildren<\n Omit<VariantProps<typeof containerVariants>, 'border' | 'background'>\n> &\n HTMLAttributes<HTMLDivElement> & {\n border?: boolean;\n background?: boolean;\n };\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(\n (\n {\n children,\n roundedSize,\n padding,\n transparency,\n separator,\n className,\n border,\n borderColor,\n background,\n ...props\n },\n ref\n ) => (\n <div\n ref={ref}\n className={cn(\n containerVariants({\n roundedSize,\n transparency,\n padding,\n separator,\n border:\n typeof border === 'boolean'\n ? border\n ? 'with'\n : 'none'\n : undefined,\n background:\n typeof background === 'boolean'\n ? background\n ? 'with'\n : 'none'\n : undefined,\n borderColor,\n className,\n })\n )}\n {...props}\n >\n {children}\n </div>\n )\n);\n\nContainer.displayName = 'Container';\n"],"names":["cva","forwardRef","jsx","cn"],"mappings":";;;;;;AAIA,MAAM,oBAAoBA,uBAAA;AAAA,EACxB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,aAAa;AAAA,QACX,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,SAAS;AAAA,QACP,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,QACT,GAAG;AAAA,QACH,GAAG;AAAA,QACH,MAAM;AAAA,MACR;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,MACA,aAAa;AAAA,QACX,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,MACA,YAAY;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,MACA,KAAK;AAAA,QACH,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IAEA,iBAAiB;AAAA,MACf,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,MACX,KAAK;AAAA,IAAA;AAAA,EACP;AAEJ;AAUO,MAAM,YAAYC,WAAA;AAAA,EACvB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,KAEL,QAEAC,2BAAA,kBAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAWC,SAAA;AAAA,QACT,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,QACE,OAAO,WAAW,YACd,SACE,SACA,SACF;AAAA,UACN,YACE,OAAO,eAAe,YAClB,aACE,SACA,SACF;AAAA,UACN;AAAA,UACA;AAAA,QACD,CAAA;AAAA,MACH;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,UAAU,cAAc;;"}
@@ -48,7 +48,7 @@ const containerVariants = cva(
48
48
  text: "border-text dark:border-text-dark"
49
49
  },
50
50
  background: {
51
- none: "bg-none",
51
+ none: "bg-inherit ",
52
52
  with: ""
53
53
  },
54
54
  gap: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/components/Container/index.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { type PropsWithChildren, forwardRef, type HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\n\nconst containerVariants = cva(\n 'flex flex-col p-10 text-text backdrop-blur dark:text-text-dark',\n {\n variants: {\n roundedSize: {\n none: 'rounded-none',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n '3xl': 'rounded-3xl',\n full: 'rounded-full',\n },\n transparency: {\n none: 'bg-card dark:bg-card-dark',\n full: '',\n sm: 'bg-card/90 dark:bg-card-dark/90',\n md: 'bg-card/70 dark:bg-card-dark/70',\n lg: 'bg-card/40 dark:bg-card-dark/40',\n xl: 'bg-card/20 dark:bg-card-dark/20',\n },\n padding: {\n none: 'p-0',\n sm: 'p-1',\n md: 'p-2',\n lg: 'p-3',\n xl: 'p-4',\n },\n separator: {\n without: '',\n x: 'divide-x divide-dashed divide-text/20 dark:divide-text-dark/20',\n y: 'divide-y divide-dashed divide-text/20 dark:divide-text-dark/20',\n both: 'divide-x divide-y divide-dashed divide-text/20 dark:divide-text-dark/20',\n },\n border: {\n none: '',\n with: 'border-[1.5px]',\n },\n borderColor: {\n primary: 'border-primary dark:border-primary-dark',\n secondary: 'border-secondary dark:border-secondary-dark',\n neutral: 'border-neutral dark:border-neutral-dark',\n text: 'border-text dark:border-text-dark',\n },\n background: {\n none: 'bg-none',\n with: '',\n },\n gap: {\n none: 'gap-0',\n sm: 'gap-1',\n md: 'gap-3',\n lg: 'gap-5',\n xl: 'gap-8',\n '2xl': 'gap-10',\n },\n },\n\n defaultVariants: {\n roundedSize: 'md',\n border: 'none',\n borderColor: 'text',\n transparency: 'md',\n padding: 'none',\n separator: 'without',\n gap: 'none',\n },\n }\n);\n\nexport type ContainerProps = PropsWithChildren<\n Omit<VariantProps<typeof containerVariants>, 'border' | 'background'>\n> &\n HTMLAttributes<HTMLDivElement> & {\n border?: boolean;\n background?: boolean;\n };\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(\n (\n {\n children,\n roundedSize,\n padding,\n transparency,\n separator,\n className,\n border,\n borderColor,\n background,\n ...props\n },\n ref\n ) => (\n <div\n ref={ref}\n className={cn(\n containerVariants({\n roundedSize,\n transparency,\n padding,\n separator,\n border:\n typeof border === 'boolean'\n ? border\n ? 'with'\n : 'none'\n : undefined,\n background:\n typeof background === 'boolean'\n ? background\n ? 'with'\n : 'none'\n : undefined,\n borderColor,\n className,\n })\n )}\n {...props}\n >\n {children}\n </div>\n )\n);\n\nContainer.displayName = 'Container';\n"],"names":["jsx"],"mappings":";;;;AAIA,MAAM,oBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,aAAa;AAAA,QACX,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,SAAS;AAAA,QACP,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,QACT,GAAG;AAAA,QACH,GAAG;AAAA,QACH,MAAM;AAAA,MACR;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,MACA,aAAa;AAAA,QACX,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,MACA,YAAY;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,MACA,KAAK;AAAA,QACH,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IAEA,iBAAiB;AAAA,MACf,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,MACX,KAAK;AAAA,IAAA;AAAA,EACP;AAEJ;AAUO,MAAM,YAAY;AAAA,EACvB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,KAEL,QAEAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,QACE,OAAO,WAAW,YACd,SACE,SACA,SACF;AAAA,UACN,YACE,OAAO,eAAe,YAClB,aACE,SACA,SACF;AAAA,UACN;AAAA,UACA;AAAA,QACD,CAAA;AAAA,MACH;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,UAAU,cAAc;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/Container/index.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { type PropsWithChildren, forwardRef, type HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\n\nconst containerVariants = cva(\n 'flex flex-col p-10 text-text backdrop-blur dark:text-text-dark',\n {\n variants: {\n roundedSize: {\n none: 'rounded-none',\n sm: 'rounded-sm',\n md: 'rounded-md',\n lg: 'rounded-lg',\n xl: 'rounded-xl',\n '2xl': 'rounded-2xl',\n '3xl': 'rounded-3xl',\n full: 'rounded-full',\n },\n transparency: {\n none: 'bg-card dark:bg-card-dark',\n full: '',\n sm: 'bg-card/90 dark:bg-card-dark/90',\n md: 'bg-card/70 dark:bg-card-dark/70',\n lg: 'bg-card/40 dark:bg-card-dark/40',\n xl: 'bg-card/20 dark:bg-card-dark/20',\n },\n padding: {\n none: 'p-0',\n sm: 'p-1',\n md: 'p-2',\n lg: 'p-3',\n xl: 'p-4',\n },\n separator: {\n without: '',\n x: 'divide-x divide-dashed divide-text/20 dark:divide-text-dark/20',\n y: 'divide-y divide-dashed divide-text/20 dark:divide-text-dark/20',\n both: 'divide-x divide-y divide-dashed divide-text/20 dark:divide-text-dark/20',\n },\n border: {\n none: '',\n with: 'border-[1.5px]',\n },\n borderColor: {\n primary: 'border-primary dark:border-primary-dark',\n secondary: 'border-secondary dark:border-secondary-dark',\n neutral: 'border-neutral dark:border-neutral-dark',\n text: 'border-text dark:border-text-dark',\n },\n background: {\n none: 'bg-inherit\t',\n with: '',\n },\n gap: {\n none: 'gap-0',\n sm: 'gap-1',\n md: 'gap-3',\n lg: 'gap-5',\n xl: 'gap-8',\n '2xl': 'gap-10',\n },\n },\n\n defaultVariants: {\n roundedSize: 'md',\n border: 'none',\n borderColor: 'text',\n transparency: 'md',\n padding: 'none',\n separator: 'without',\n gap: 'none',\n },\n }\n);\n\nexport type ContainerProps = PropsWithChildren<\n Omit<VariantProps<typeof containerVariants>, 'border' | 'background'>\n> &\n HTMLAttributes<HTMLDivElement> & {\n border?: boolean;\n background?: boolean;\n };\n\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(\n (\n {\n children,\n roundedSize,\n padding,\n transparency,\n separator,\n className,\n border,\n borderColor,\n background,\n ...props\n },\n ref\n ) => (\n <div\n ref={ref}\n className={cn(\n containerVariants({\n roundedSize,\n transparency,\n padding,\n separator,\n border:\n typeof border === 'boolean'\n ? border\n ? 'with'\n : 'none'\n : undefined,\n background:\n typeof background === 'boolean'\n ? background\n ? 'with'\n : 'none'\n : undefined,\n borderColor,\n className,\n })\n )}\n {...props}\n >\n {children}\n </div>\n )\n);\n\nContainer.displayName = 'Container';\n"],"names":["jsx"],"mappings":";;;;AAIA,MAAM,oBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,aAAa;AAAA,QACX,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,cAAc;AAAA,QACZ,MAAM;AAAA,QACN,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,SAAS;AAAA,QACP,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,MACA,WAAW;AAAA,QACT,SAAS;AAAA,QACT,GAAG;AAAA,QACH,GAAG;AAAA,QACH,MAAM;AAAA,MACR;AAAA,MACA,QAAQ;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,MACA,aAAa;AAAA,QACX,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,MACA,YAAY;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,MACA,KAAK;AAAA,QACH,MAAM;AAAA,QACN,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IAEA,iBAAiB;AAAA,MACf,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,aAAa;AAAA,MACb,cAAc;AAAA,MACd,SAAS;AAAA,MACT,WAAW;AAAA,MACX,KAAK;AAAA,IAAA;AAAA,EACP;AAEJ;AAUO,MAAM,YAAY;AAAA,EACvB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,KAEL,QAEAA,kCAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT,kBAAkB;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,QACE,OAAO,WAAW,YACd,SACE,SACA,SACF;AAAA,UACN,YACE,OAAO,eAAe,YAClB,aACE,SACA,SACF;AAAA,UACN;AAAA,UACA;AAAA,QACD,CAAA;AAAA,MACH;AAAA,MACC,GAAG;AAAA,MAEH;AAAA,IAAA;AAAA,EAAA;AAGP;AAEA,UAAU,cAAc;"}
@@ -2,8 +2,8 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("../../jsx-runtime-XHKiWCTo.cjs");
5
- const require$$0 = require("react");
6
5
  const lucideReact = require("lucide-react");
6
+ const require$$0 = require("react");
7
7
  const utils_cn = require("../../utils/cn.cjs");
8
8
  const CopyToClipboard = ({
9
9
  text,
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/components/CopyToClipboard/index.tsx"],"sourcesContent":["'use client';\n\nimport { FC, PropsWithChildren, useState } from 'react';\nimport { CopyCheck, CopyIcon } from 'lucide-react';\nimport { cn } from '../../utils/cn';\n\nexport type CopyToClipboardProps = PropsWithChildren<{\n text: string;\n className?: string;\n}>;\n\nexport const CopyToClipboard: FC<CopyToClipboardProps> = ({\n text,\n children,\n className,\n}) => {\n const [isCopied, setIsCopied] = useState(false);\n\n const handleCopy = () => {\n navigator.clipboard.writeText(text).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 1000);\n });\n };\n\n return (\n <span className={cn('gap-2', className)}>\n {children}\n\n <span className=\"inline-flex\">\n {text &&\n (isCopied ? (\n <CopyCheck\n size={12}\n aria-label=\"copied\"\n role=\"button\"\n data-testid=\"copy-to-clipboard\"\n className=\"ml-1 mt-1\"\n />\n ) : (\n <CopyIcon\n size={12}\n onClick={handleCopy}\n aria-label=\"copy\"\n role=\"button\"\n data-testid=\"copy-to-clipboard\"\n className=\"ml-1 mt-1 cursor-pointer\"\n />\n ))}\n </span>\n </span>\n );\n};\n"],"names":["useState","cn","jsx","CopyCheck","CopyIcon"],"mappings":";;;;;;;AAWO,MAAM,kBAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAIA,WAAAA,SAAS,KAAK;AAE9C,QAAM,aAAa,MAAM;AACvB,cAAU,UAAU,UAAU,IAAI,EAAE,KAAK,MAAM;AAC7C,kBAAY,IAAI;AAChB,iBAAW,MAAM,YAAY,KAAK,GAAG,GAAI;AAAA,IAAA,CAC1C;AAAA,EACH;AAEA,2DACG,QAAK,EAAA,WAAWC,SAAG,GAAA,SAAS,SAAS,GACnC,UAAA;AAAA,IAAA;AAAA,IAEAC,2BAAA,kBAAA,IAAA,QAAA,EAAK,WAAU,eACb,mBACE,WACCA,2BAAA,kBAAA;AAAA,MAACC,YAAA;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,cAAW;AAAA,QACX,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA,IAGZD,2BAAA,kBAAA;AAAA,MAACE,YAAA;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAW;AAAA,QACX,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA,GAGlB,CAAA;AAAA,EAAA,GACF;AAEJ;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/CopyToClipboard/index.tsx"],"sourcesContent":["'use client';\n\nimport { CopyCheck, CopyIcon } from 'lucide-react';\nimport { FC, PropsWithChildren, useState } from 'react';\nimport { cn } from '../../utils/cn';\n\nexport type CopyToClipboardProps = PropsWithChildren<{\n text: string;\n className?: string;\n}>;\n\nexport const CopyToClipboard: FC<CopyToClipboardProps> = ({\n text,\n children,\n className,\n}) => {\n const [isCopied, setIsCopied] = useState(false);\n\n const handleCopy = () => {\n navigator.clipboard.writeText(text).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 1000);\n });\n };\n\n return (\n <span className={cn('gap-2', className)}>\n {children}\n\n <span className=\"inline-flex\">\n {text &&\n (isCopied ? (\n <CopyCheck\n size={12}\n aria-label=\"copied\"\n role=\"button\"\n data-testid=\"copy-to-clipboard\"\n className=\"ml-1 mt-1\"\n />\n ) : (\n <CopyIcon\n size={12}\n onClick={handleCopy}\n aria-label=\"copy\"\n role=\"button\"\n data-testid=\"copy-to-clipboard\"\n className=\"ml-1 mt-1 cursor-pointer\"\n />\n ))}\n </span>\n </span>\n );\n};\n"],"names":["useState","cn","jsx","CopyCheck","CopyIcon"],"mappings":";;;;;;;AAWO,MAAM,kBAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAIA,WAAAA,SAAS,KAAK;AAE9C,QAAM,aAAa,MAAM;AACvB,cAAU,UAAU,UAAU,IAAI,EAAE,KAAK,MAAM;AAC7C,kBAAY,IAAI;AAChB,iBAAW,MAAM,YAAY,KAAK,GAAG,GAAI;AAAA,IAAA,CAC1C;AAAA,EACH;AAEA,2DACG,QAAK,EAAA,WAAWC,SAAG,GAAA,SAAS,SAAS,GACnC,UAAA;AAAA,IAAA;AAAA,IAEAC,2BAAA,kBAAA,IAAA,QAAA,EAAK,WAAU,eACb,mBACE,WACCA,2BAAA,kBAAA;AAAA,MAACC,YAAA;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,cAAW;AAAA,QACX,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA,IAGZD,2BAAA,kBAAA;AAAA,MAACE,YAAA;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAW;AAAA,QACX,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA,GAGlB,CAAA;AAAA,EAAA,GACF;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CopyToClipboard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAC;AAIxD,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAyCpD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CopyToClipboard/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,EAAE,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAC;AAGxD,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAyCpD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { j as jsxRuntimeExports } from "../../jsx-runtime-DaNGiM0W.js";
3
- import { useState } from "react";
4
3
  import { CopyCheck, CopyIcon } from "lucide-react";
4
+ import { useState } from "react";
5
5
  import { cn } from "../../utils/cn.mjs";
6
6
  const CopyToClipboard = ({
7
7
  text,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/components/CopyToClipboard/index.tsx"],"sourcesContent":["'use client';\n\nimport { FC, PropsWithChildren, useState } from 'react';\nimport { CopyCheck, CopyIcon } from 'lucide-react';\nimport { cn } from '../../utils/cn';\n\nexport type CopyToClipboardProps = PropsWithChildren<{\n text: string;\n className?: string;\n}>;\n\nexport const CopyToClipboard: FC<CopyToClipboardProps> = ({\n text,\n children,\n className,\n}) => {\n const [isCopied, setIsCopied] = useState(false);\n\n const handleCopy = () => {\n navigator.clipboard.writeText(text).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 1000);\n });\n };\n\n return (\n <span className={cn('gap-2', className)}>\n {children}\n\n <span className=\"inline-flex\">\n {text &&\n (isCopied ? (\n <CopyCheck\n size={12}\n aria-label=\"copied\"\n role=\"button\"\n data-testid=\"copy-to-clipboard\"\n className=\"ml-1 mt-1\"\n />\n ) : (\n <CopyIcon\n size={12}\n onClick={handleCopy}\n aria-label=\"copy\"\n role=\"button\"\n data-testid=\"copy-to-clipboard\"\n className=\"ml-1 mt-1 cursor-pointer\"\n />\n ))}\n </span>\n </span>\n );\n};\n"],"names":["jsx"],"mappings":";;;;;AAWO,MAAM,kBAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAE9C,QAAM,aAAa,MAAM;AACvB,cAAU,UAAU,UAAU,IAAI,EAAE,KAAK,MAAM;AAC7C,kBAAY,IAAI;AAChB,iBAAW,MAAM,YAAY,KAAK,GAAG,GAAI;AAAA,IAAA,CAC1C;AAAA,EACH;AAEA,gDACG,QAAK,EAAA,WAAW,GAAG,SAAS,SAAS,GACnC,UAAA;AAAA,IAAA;AAAA,IAEAA,kCAAA,IAAA,QAAA,EAAK,WAAU,eACb,mBACE,WACCA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,cAAW;AAAA,QACX,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA,IAGZA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAW;AAAA,QACX,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA,GAGlB,CAAA;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/CopyToClipboard/index.tsx"],"sourcesContent":["'use client';\n\nimport { CopyCheck, CopyIcon } from 'lucide-react';\nimport { FC, PropsWithChildren, useState } from 'react';\nimport { cn } from '../../utils/cn';\n\nexport type CopyToClipboardProps = PropsWithChildren<{\n text: string;\n className?: string;\n}>;\n\nexport const CopyToClipboard: FC<CopyToClipboardProps> = ({\n text,\n children,\n className,\n}) => {\n const [isCopied, setIsCopied] = useState(false);\n\n const handleCopy = () => {\n navigator.clipboard.writeText(text).then(() => {\n setIsCopied(true);\n setTimeout(() => setIsCopied(false), 1000);\n });\n };\n\n return (\n <span className={cn('gap-2', className)}>\n {children}\n\n <span className=\"inline-flex\">\n {text &&\n (isCopied ? (\n <CopyCheck\n size={12}\n aria-label=\"copied\"\n role=\"button\"\n data-testid=\"copy-to-clipboard\"\n className=\"ml-1 mt-1\"\n />\n ) : (\n <CopyIcon\n size={12}\n onClick={handleCopy}\n aria-label=\"copy\"\n role=\"button\"\n data-testid=\"copy-to-clipboard\"\n className=\"ml-1 mt-1 cursor-pointer\"\n />\n ))}\n </span>\n </span>\n );\n};\n"],"names":["jsx"],"mappings":";;;;;AAWO,MAAM,kBAA4C,CAAC;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAE9C,QAAM,aAAa,MAAM;AACvB,cAAU,UAAU,UAAU,IAAI,EAAE,KAAK,MAAM;AAC7C,kBAAY,IAAI;AAChB,iBAAW,MAAM,YAAY,KAAK,GAAG,GAAI;AAAA,IAAA,CAC1C;AAAA,EACH;AAEA,gDACG,QAAK,EAAA,WAAW,GAAG,SAAS,SAAS,GACnC,UAAA;AAAA,IAAA;AAAA,IAEAA,kCAAA,IAAA,QAAA,EAAK,WAAU,eACb,mBACE,WACCA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,cAAW;AAAA,QACX,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA,IAGZA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,SAAS;AAAA,QACT,cAAW;AAAA,QACX,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAU;AAAA,MAAA;AAAA,IAAA,GAGlB,CAAA;AAAA,EAAA,GACF;AAEJ;"}
@@ -27,7 +27,6 @@ const ItemLayout = ({
27
27
  {
28
28
  isOpen: isSelected,
29
29
  label: title,
30
- identifier: `accordion_${title}`,
31
30
  header: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs("div", { className: "flex w-full", children: [
32
31
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs("div", { className: "flex w-full items-center justify-between", children: [
33
32
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
@@ -1 +1 @@
1
- {"version":3,"file":"ItemLayout.cjs","sources":["../../../src/components/DictionaryEditor/ItemLayout.tsx"],"sourcesContent":["import type { ReactNode, FC, HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Accordion } from '../Accordion';\n\ninterface ItemWrapperProps extends HTMLAttributes<HTMLDivElement> {\n level: number;\n children: ReactNode;\n title: string;\n description: string;\n rightParam?: ReactNode;\n isSelected: boolean;\n}\n\nexport const ItemLayout: FC<ItemWrapperProps> = ({\n level,\n title,\n description,\n children,\n rightParam,\n isSelected,\n ...props\n}) => (\n <div\n className={cn(\n 'rounded-md p-2 transition',\n 'hover:bg-card/30 dark:hover:bg-card-dark/30 [&:has(.section:hover)]:bg-transparent',\n level === 2 && 'hover:bg-card/30 dark:hover:bg-card-dark/30',\n level >= 3 && '',\n isSelected === true && 'bg-card/40 dark:bg-card-dark/40'\n )}\n {...props}\n >\n <Accordion\n isOpen={isSelected}\n label={title}\n identifier={`accordion_${title}`}\n header={\n <div className=\"flex w-full\">\n <div className=\"flex w-full items-center justify-between\">\n <span\n className={cn(\n level === 0 && 'text-2xl',\n level === 1 && 'text-xl',\n level === 2 && 'text-lg',\n level >= 3 && 'text-base'\n )}\n >\n {title}\n </span>\n {rightParam && (\n <div className=\"flex w-auto items-center justify-between p-3\">\n {rightParam}\n </div>\n )}\n </div>\n {description && (\n <p className=\"text-card pl-3 text-sm\">{description}</p>\n )}\n </div>\n }\n >\n {children}\n </Accordion>\n </div>\n);\n"],"names":["jsx","cn","Accordion","jsxs"],"mappings":";;;;;AAaO,MAAM,aAAmC,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,SAAA;AAAA,MACT;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,MACd,eAAe,QAAQ;AAAA,IACzB;AAAA,IACC,GAAG;AAAA,IAEJ,UAAAD,2BAAA,kBAAA;AAAA,MAACE,+BAAA;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,YAAY,aAAa,KAAK;AAAA,QAC9B,QACEC,2BAAA,kBAAA,KAAC,OAAI,EAAA,WAAU,eACb,UAAA;AAAA,UAACA,2BAAAA,kBAAAA,KAAA,OAAA,EAAI,WAAU,4CACb,UAAA;AAAA,YAAAH,2BAAA,kBAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWC,SAAA;AAAA,kBACT,UAAU,KAAK;AAAA,kBACf,UAAU,KAAK;AAAA,kBACf,UAAU,KAAK;AAAA,kBACf,SAAS,KAAK;AAAA,gBAChB;AAAA,gBAEC,UAAA;AAAA,cAAA;AAAA,YACH;AAAA,YACC,cACCD,2BAAA,kBAAA,IAAC,OAAI,EAAA,WAAU,gDACZ,UACH,WAAA,CAAA;AAAA,UAAA,GAEJ;AAAA,UACC,eACCA,2BAAA,kBAAA,IAAC,KAAE,EAAA,WAAU,0BAA0B,UAAY,YAAA,CAAA;AAAA,QAAA,GAEvD;AAAA,QAGD;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AACF;;"}
1
+ {"version":3,"file":"ItemLayout.cjs","sources":["../../../src/components/DictionaryEditor/ItemLayout.tsx"],"sourcesContent":["import type { ReactNode, FC, HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Accordion } from '../Accordion';\n\ninterface ItemWrapperProps extends HTMLAttributes<HTMLDivElement> {\n level: number;\n children: ReactNode;\n title: string;\n description: string;\n rightParam?: ReactNode;\n isSelected: boolean;\n}\n\nexport const ItemLayout: FC<ItemWrapperProps> = ({\n level,\n title,\n description,\n children,\n rightParam,\n isSelected,\n ...props\n}) => (\n <div\n className={cn(\n 'rounded-md p-2 transition',\n 'hover:bg-card/30 dark:hover:bg-card-dark/30 [&:has(.section:hover)]:bg-transparent',\n level === 2 && 'hover:bg-card/30 dark:hover:bg-card-dark/30',\n level >= 3 && '',\n isSelected === true && 'bg-card/40 dark:bg-card-dark/40'\n )}\n {...props}\n >\n <Accordion\n isOpen={isSelected}\n label={title}\n header={\n <div className=\"flex w-full\">\n <div className=\"flex w-full items-center justify-between\">\n <span\n className={cn(\n level === 0 && 'text-2xl',\n level === 1 && 'text-xl',\n level === 2 && 'text-lg',\n level >= 3 && 'text-base'\n )}\n >\n {title}\n </span>\n {rightParam && (\n <div className=\"flex w-auto items-center justify-between p-3\">\n {rightParam}\n </div>\n )}\n </div>\n {description && (\n <p className=\"text-card pl-3 text-sm\">{description}</p>\n )}\n </div>\n }\n >\n {children}\n </Accordion>\n </div>\n);\n"],"names":["jsx","cn","Accordion","jsxs"],"mappings":";;;;;AAaO,MAAM,aAAmC,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWC,SAAA;AAAA,MACT;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,MACd,eAAe,QAAQ;AAAA,IACzB;AAAA,IACC,GAAG;AAAA,IAEJ,UAAAD,2BAAA,kBAAA;AAAA,MAACE,+BAAA;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QACEC,2BAAA,kBAAA,KAAC,OAAI,EAAA,WAAU,eACb,UAAA;AAAA,UAACA,2BAAAA,kBAAAA,KAAA,OAAA,EAAI,WAAU,4CACb,UAAA;AAAA,YAAAH,2BAAA,kBAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAWC,SAAA;AAAA,kBACT,UAAU,KAAK;AAAA,kBACf,UAAU,KAAK;AAAA,kBACf,UAAU,KAAK;AAAA,kBACf,SAAS,KAAK;AAAA,gBAChB;AAAA,gBAEC,UAAA;AAAA,cAAA;AAAA,YACH;AAAA,YACC,cACCD,2BAAA,kBAAA,IAAC,OAAI,EAAA,WAAU,gDACZ,UACH,WAAA,CAAA;AAAA,UAAA,GAEJ;AAAA,UACC,eACCA,2BAAA,kBAAA,IAAC,KAAE,EAAA,WAAU,0BAA0B,UAAY,YAAA,CAAA;AAAA,QAAA,GAEvD;AAAA,QAGD;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ItemLayout.d.ts","sourceRoot":"","sources":["../../../src/components/DictionaryEditor/ItemLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI3D,UAAU,gBAAiB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAmD3C,CAAC"}
1
+ {"version":3,"file":"ItemLayout.d.ts","sourceRoot":"","sources":["../../../src/components/DictionaryEditor/ItemLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAI3D,UAAU,gBAAiB,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAkD3C,CAAC"}
@@ -25,7 +25,6 @@ const ItemLayout = ({
25
25
  {
26
26
  isOpen: isSelected,
27
27
  label: title,
28
- identifier: `accordion_${title}`,
29
28
  header: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex w-full", children: [
30
29
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex w-full items-center justify-between", children: [
31
30
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -1 +1 @@
1
- {"version":3,"file":"ItemLayout.mjs","sources":["../../../src/components/DictionaryEditor/ItemLayout.tsx"],"sourcesContent":["import type { ReactNode, FC, HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Accordion } from '../Accordion';\n\ninterface ItemWrapperProps extends HTMLAttributes<HTMLDivElement> {\n level: number;\n children: ReactNode;\n title: string;\n description: string;\n rightParam?: ReactNode;\n isSelected: boolean;\n}\n\nexport const ItemLayout: FC<ItemWrapperProps> = ({\n level,\n title,\n description,\n children,\n rightParam,\n isSelected,\n ...props\n}) => (\n <div\n className={cn(\n 'rounded-md p-2 transition',\n 'hover:bg-card/30 dark:hover:bg-card-dark/30 [&:has(.section:hover)]:bg-transparent',\n level === 2 && 'hover:bg-card/30 dark:hover:bg-card-dark/30',\n level >= 3 && '',\n isSelected === true && 'bg-card/40 dark:bg-card-dark/40'\n )}\n {...props}\n >\n <Accordion\n isOpen={isSelected}\n label={title}\n identifier={`accordion_${title}`}\n header={\n <div className=\"flex w-full\">\n <div className=\"flex w-full items-center justify-between\">\n <span\n className={cn(\n level === 0 && 'text-2xl',\n level === 1 && 'text-xl',\n level === 2 && 'text-lg',\n level >= 3 && 'text-base'\n )}\n >\n {title}\n </span>\n {rightParam && (\n <div className=\"flex w-auto items-center justify-between p-3\">\n {rightParam}\n </div>\n )}\n </div>\n {description && (\n <p className=\"text-card pl-3 text-sm\">{description}</p>\n )}\n </div>\n }\n >\n {children}\n </Accordion>\n </div>\n);\n"],"names":["jsx","jsxs"],"mappings":";;;AAaO,MAAM,aAAmC,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,MACd,eAAe,QAAQ;AAAA,IACzB;AAAA,IACC,GAAG;AAAA,IAEJ,UAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,YAAY,aAAa,KAAK;AAAA,QAC9B,QACEC,kCAAA,KAAC,OAAI,EAAA,WAAU,eACb,UAAA;AAAA,UAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,4CACb,UAAA;AAAA,YAAAD,kCAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW;AAAA,kBACT,UAAU,KAAK;AAAA,kBACf,UAAU,KAAK;AAAA,kBACf,UAAU,KAAK;AAAA,kBACf,SAAS,KAAK;AAAA,gBAChB;AAAA,gBAEC,UAAA;AAAA,cAAA;AAAA,YACH;AAAA,YACC,cACCA,kCAAA,IAAC,OAAI,EAAA,WAAU,gDACZ,UACH,WAAA,CAAA;AAAA,UAAA,GAEJ;AAAA,UACC,eACCA,kCAAA,IAAC,KAAE,EAAA,WAAU,0BAA0B,UAAY,YAAA,CAAA;AAAA,QAAA,GAEvD;AAAA,QAGD;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AACF;"}
1
+ {"version":3,"file":"ItemLayout.mjs","sources":["../../../src/components/DictionaryEditor/ItemLayout.tsx"],"sourcesContent":["import type { ReactNode, FC, HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Accordion } from '../Accordion';\n\ninterface ItemWrapperProps extends HTMLAttributes<HTMLDivElement> {\n level: number;\n children: ReactNode;\n title: string;\n description: string;\n rightParam?: ReactNode;\n isSelected: boolean;\n}\n\nexport const ItemLayout: FC<ItemWrapperProps> = ({\n level,\n title,\n description,\n children,\n rightParam,\n isSelected,\n ...props\n}) => (\n <div\n className={cn(\n 'rounded-md p-2 transition',\n 'hover:bg-card/30 dark:hover:bg-card-dark/30 [&:has(.section:hover)]:bg-transparent',\n level === 2 && 'hover:bg-card/30 dark:hover:bg-card-dark/30',\n level >= 3 && '',\n isSelected === true && 'bg-card/40 dark:bg-card-dark/40'\n )}\n {...props}\n >\n <Accordion\n isOpen={isSelected}\n label={title}\n header={\n <div className=\"flex w-full\">\n <div className=\"flex w-full items-center justify-between\">\n <span\n className={cn(\n level === 0 && 'text-2xl',\n level === 1 && 'text-xl',\n level === 2 && 'text-lg',\n level >= 3 && 'text-base'\n )}\n >\n {title}\n </span>\n {rightParam && (\n <div className=\"flex w-auto items-center justify-between p-3\">\n {rightParam}\n </div>\n )}\n </div>\n {description && (\n <p className=\"text-card pl-3 text-sm\">{description}</p>\n )}\n </div>\n }\n >\n {children}\n </Accordion>\n </div>\n);\n"],"names":["jsx","jsxs"],"mappings":";;;AAaO,MAAM,aAAmC,CAAC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA,UAAU,KAAK;AAAA,MACf,SAAS,KAAK;AAAA,MACd,eAAe,QAAQ;AAAA,IACzB;AAAA,IACC,GAAG;AAAA,IAEJ,UAAAA,kCAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QACEC,kCAAA,KAAC,OAAI,EAAA,WAAU,eACb,UAAA;AAAA,UAACA,kCAAAA,KAAA,OAAA,EAAI,WAAU,4CACb,UAAA;AAAA,YAAAD,kCAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW;AAAA,kBACT,UAAU,KAAK;AAAA,kBACf,UAAU,KAAK;AAAA,kBACf,UAAU,KAAK;AAAA,kBACf,SAAS,KAAK;AAAA,gBAChB;AAAA,gBAEC,UAAA;AAAA,cAAA;AAAA,YACH;AAAA,YACC,cACCA,kCAAA,IAAC,OAAI,EAAA,WAAU,gDACZ,UACH,WAAA,CAAA;AAAA,UAAA,GAEJ;AAAA,UACC,eACCA,kCAAA,IAAC,KAAE,EAAA,WAAU,0BAA0B,UAAY,YAAA,CAAA;AAAA,QAAA,GAEvD;AAAA,QAGD;AAAA,MAAA;AAAA,IAAA;AAAA,EACH;AACF;"}
@@ -13,7 +13,7 @@ require("@intlayer/dictionaries-entry");
13
13
  require("deepmerge");
14
14
  const components_Form_FormBase = require("../Form/FormBase.cjs");
15
15
  require("../Form/FormField.cjs");
16
- const components_Form_layout_FormItemLayout = require("../../Form-BDcoNTLV.cjs");
16
+ const components_Form_layout_FormItemLayout = require("../../Form-7BqwvjVI.cjs");
17
17
  const components_DictionaryEditor_useEditedContentStore = require("./useEditedContentStore.cjs");
18
18
  const components_DictionaryEditor_validDictionaryChangeButtons_content = require("./validDictionaryChangeButtons.content.cjs");
19
19
  const components_DictionaryEditor_validDictionaryChangeButtonsSchema = require("./validDictionaryChangeButtonsSchema.cjs");
@@ -11,7 +11,7 @@ import "@intlayer/dictionaries-entry";
11
11
  import "deepmerge";
12
12
  import { useForm } from "../Form/FormBase.mjs";
13
13
  import "../Form/FormField.mjs";
14
- import { F as Form } from "../../Form-DhsgC7kB.js";
14
+ import { F as Form } from "../../Form-OK9zfg6E.js";
15
15
  import { useEditedContentStore } from "./useEditedContentStore.mjs";
16
16
  import { validDictionaryChangeButtonsContent } from "./validDictionaryChangeButtons.content.mjs";
17
17
  import { getValidDictionaryChangeButtonsSchemaSchema } from "./validDictionaryChangeButtonsSchema.mjs";