@intlayer/design-system 3.5.4 → 3.5.5

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 (224) hide show
  1. package/dist/.vite/manifest.json +112 -45
  2. package/dist/CopyButton-Cxu3goRg.cjs +59 -0
  3. package/dist/CopyButton-Cxu3goRg.cjs.map +1 -0
  4. package/dist/CopyButton-DlcDlf6U.js +60 -0
  5. package/dist/CopyButton-DlcDlf6U.js.map +1 -0
  6. package/dist/components/Auth/SignUpForm/signUpForm.content.d.ts +11 -11
  7. package/dist/components/Auth/useAuth/useSession.cjs +1 -0
  8. package/dist/components/Auth/useAuth/useSession.cjs.map +1 -1
  9. package/dist/components/Auth/useAuth/useSession.mjs +1 -0
  10. package/dist/components/Auth/useAuth/useSession.mjs.map +1 -1
  11. package/dist/components/Breadcrumb/breadcrumb.content.cjs +26 -0
  12. package/dist/components/Breadcrumb/breadcrumb.content.cjs.map +1 -0
  13. package/dist/components/Breadcrumb/breadcrumb.content.d.ts +8 -0
  14. package/dist/components/Breadcrumb/breadcrumb.content.d.ts.map +1 -0
  15. package/dist/components/Breadcrumb/breadcrumb.content.mjs +26 -0
  16. package/dist/components/Breadcrumb/breadcrumb.content.mjs.map +1 -0
  17. package/dist/components/Breadcrumb/index.cjs +103 -34
  18. package/dist/components/Breadcrumb/index.cjs.map +1 -1
  19. package/dist/components/Breadcrumb/index.d.ts +6 -2
  20. package/dist/components/Breadcrumb/index.d.ts.map +1 -1
  21. package/dist/components/Breadcrumb/index.mjs +103 -34
  22. package/dist/components/Breadcrumb/index.mjs.map +1 -1
  23. package/dist/components/Button/Button.cjs +7 -8
  24. package/dist/components/Button/Button.cjs.map +1 -1
  25. package/dist/components/Button/Button.d.ts.map +1 -1
  26. package/dist/components/Button/Button.mjs +7 -8
  27. package/dist/components/Button/Button.mjs.map +1 -1
  28. package/dist/components/Container/index.cjs +2 -2
  29. package/dist/components/Container/index.cjs.map +1 -1
  30. package/dist/components/Container/index.mjs +2 -2
  31. package/dist/components/Container/index.mjs.map +1 -1
  32. package/dist/components/DictionaryEditor/index.cjs +4 -0
  33. package/dist/components/DictionaryEditor/index.cjs.map +1 -1
  34. package/dist/components/DictionaryEditor/index.mjs +4 -0
  35. package/dist/components/DictionaryEditor/index.mjs.map +1 -1
  36. package/dist/components/DictionaryEditor/useEditedContentStore.cjs +3 -0
  37. package/dist/components/DictionaryEditor/useEditedContentStore.cjs.map +1 -1
  38. package/dist/components/DictionaryEditor/useEditedContentStore.d.ts +2 -2
  39. package/dist/components/DictionaryEditor/useEditedContentStore.d.ts.map +1 -1
  40. package/dist/components/DictionaryEditor/useEditedContentStore.mjs +3 -0
  41. package/dist/components/DictionaryEditor/useEditedContentStore.mjs.map +1 -1
  42. package/dist/components/DictionaryEditor/useEditionPanelStore.cjs.map +1 -1
  43. package/dist/components/DictionaryEditor/useEditionPanelStore.d.ts +1 -1
  44. package/dist/components/DictionaryEditor/useEditionPanelStore.d.ts.map +1 -1
  45. package/dist/components/DictionaryEditor/useEditionPanelStore.mjs.map +1 -1
  46. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs +7 -5
  47. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +1 -1
  48. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts +1 -0
  49. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts.map +1 -1
  50. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs +7 -5
  51. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +1 -1
  52. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +6 -3
  53. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
  54. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts +1 -0
  55. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts.map +1 -1
  56. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +6 -3
  57. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  58. package/dist/components/DictionaryFieldEditor/JSONEditor.cjs +20 -18
  59. package/dist/components/DictionaryFieldEditor/JSONEditor.cjs.map +1 -1
  60. package/dist/components/DictionaryFieldEditor/JSONEditor.d.ts +1 -0
  61. package/dist/components/DictionaryFieldEditor/JSONEditor.d.ts.map +1 -1
  62. package/dist/components/DictionaryFieldEditor/JSONEditor.mjs +20 -18
  63. package/dist/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
  64. package/dist/components/DictionaryFieldEditor/KeyPathBreadcrumb.cjs +10 -2
  65. package/dist/components/DictionaryFieldEditor/KeyPathBreadcrumb.cjs.map +1 -1
  66. package/dist/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts +2 -0
  67. package/dist/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts.map +1 -1
  68. package/dist/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs +10 -2
  69. package/dist/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
  70. package/dist/components/DictionaryFieldEditor/NodeEditor.cjs +10 -14
  71. package/dist/components/DictionaryFieldEditor/NodeEditor.cjs.map +1 -1
  72. package/dist/components/DictionaryFieldEditor/NodeEditor.d.ts.map +1 -1
  73. package/dist/components/DictionaryFieldEditor/NodeEditor.mjs +10 -14
  74. package/dist/components/DictionaryFieldEditor/NodeEditor.mjs.map +1 -1
  75. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +60 -17
  76. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
  77. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
  78. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +63 -20
  79. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  80. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs +32 -0
  81. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.cjs.map +1 -1
  82. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +4 -0
  83. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
  84. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +32 -0
  85. package/dist/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  86. package/dist/components/DropDown/index.cjs.map +1 -1
  87. package/dist/components/DropDown/index.d.ts +18 -1
  88. package/dist/components/DropDown/index.d.ts.map +1 -1
  89. package/dist/components/DropDown/index.mjs.map +1 -1
  90. package/dist/components/Headers/index.cjs +1 -1
  91. package/dist/components/Headers/index.cjs.map +1 -1
  92. package/dist/components/Headers/index.mjs +1 -1
  93. package/dist/components/Headers/index.mjs.map +1 -1
  94. package/dist/components/IDE/CodeRender copy.cjs +141 -0
  95. package/dist/components/IDE/CodeRender copy.cjs.map +1 -0
  96. package/dist/components/IDE/CodeRender copy.d.ts +14 -0
  97. package/dist/components/IDE/CodeRender copy.d.ts.map +1 -0
  98. package/dist/components/IDE/CodeRender copy.mjs +141 -0
  99. package/dist/components/IDE/CodeRender copy.mjs.map +1 -0
  100. package/dist/components/IDE/CodeRender.cjs +39 -625
  101. package/dist/components/IDE/CodeRender.cjs.map +1 -1
  102. package/dist/components/IDE/CodeRender.d.ts +4 -5
  103. package/dist/components/IDE/CodeRender.d.ts.map +1 -1
  104. package/dist/components/IDE/CodeRender.mjs +40 -604
  105. package/dist/components/IDE/CodeRender.mjs.map +1 -1
  106. package/dist/components/IDE/CopyButton.cjs +40 -0
  107. package/dist/components/IDE/CopyButton.cjs.map +1 -0
  108. package/dist/components/IDE/CopyButton.content.cjs +26 -0
  109. package/dist/components/IDE/CopyButton.content.cjs.map +1 -0
  110. package/dist/components/IDE/CopyButton.content.d.ts +8 -0
  111. package/dist/components/IDE/CopyButton.content.d.ts.map +1 -0
  112. package/dist/components/IDE/CopyButton.content.mjs +26 -0
  113. package/dist/components/IDE/CopyButton.content.mjs.map +1 -0
  114. package/dist/components/IDE/CopyButton.d.ts +7 -0
  115. package/dist/components/IDE/CopyButton.d.ts.map +1 -0
  116. package/dist/components/IDE/CopyButton.mjs +40 -0
  117. package/dist/components/IDE/CopyButton.mjs.map +1 -0
  118. package/dist/components/IDE/IDE.cjs +1 -1
  119. package/dist/components/IDE/IDE.cjs.map +1 -1
  120. package/dist/components/IDE/IDE.mjs +1 -1
  121. package/dist/components/IDE/IDE.mjs.map +1 -1
  122. package/dist/components/IDE/MarkDownRender.cjs +10 -2
  123. package/dist/components/IDE/MarkDownRender.cjs.map +1 -1
  124. package/dist/components/IDE/MarkDownRender.d.ts.map +1 -1
  125. package/dist/components/IDE/MarkDownRender.mjs +10 -2
  126. package/dist/components/IDE/MarkDownRender.mjs.map +1 -1
  127. package/dist/components/IDE/MonacoCode.cjs +129 -0
  128. package/dist/components/IDE/MonacoCode.cjs.map +1 -0
  129. package/dist/components/IDE/MonacoCode.d.ts +14 -0
  130. package/dist/components/IDE/MonacoCode.d.ts.map +1 -0
  131. package/dist/components/IDE/MonacoCode.mjs +129 -0
  132. package/dist/components/IDE/MonacoCode.mjs.map +1 -0
  133. package/dist/components/Link/Link.cjs +50 -31
  134. package/dist/components/Link/Link.cjs.map +1 -1
  135. package/dist/components/Link/Link.d.ts +3 -0
  136. package/dist/components/Link/Link.d.ts.map +1 -1
  137. package/dist/components/Link/Link.mjs +51 -32
  138. package/dist/components/Link/Link.mjs.map +1 -1
  139. package/dist/components/Link/index.cjs +1 -0
  140. package/dist/components/Link/index.cjs.map +1 -1
  141. package/dist/components/Link/index.mjs +3 -2
  142. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.cjs +118 -34
  143. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.cjs.map +1 -1
  144. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts +2 -0
  145. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts.map +1 -1
  146. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +119 -35
  147. package/dist/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  148. package/dist/components/LocaleSwitcherDropDown/localeSwitcher.content.cjs +63 -1
  149. package/dist/components/LocaleSwitcherDropDown/localeSwitcher.content.cjs.map +1 -1
  150. package/dist/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +6 -0
  151. package/dist/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts.map +1 -1
  152. package/dist/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs +63 -1
  153. package/dist/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs.map +1 -1
  154. package/dist/components/MarkDownRender/index.cjs +4 -2
  155. package/dist/components/MarkDownRender/index.cjs.map +1 -1
  156. package/dist/components/MarkDownRender/index.d.ts +3 -1
  157. package/dist/components/MarkDownRender/index.d.ts.map +1 -1
  158. package/dist/components/MarkDownRender/index.mjs +4 -2
  159. package/dist/components/MarkDownRender/index.mjs.map +1 -1
  160. package/dist/components/Modal/Modal.cjs +8 -10
  161. package/dist/components/Modal/Modal.cjs.map +1 -1
  162. package/dist/components/Modal/Modal.d.ts.map +1 -1
  163. package/dist/components/Modal/Modal.mjs +8 -10
  164. package/dist/components/Modal/Modal.mjs.map +1 -1
  165. package/dist/components/Navbar/DesktopNavbar.cjs +1 -1
  166. package/dist/components/Navbar/DesktopNavbar.cjs.map +1 -1
  167. package/dist/components/Navbar/DesktopNavbar.mjs +1 -1
  168. package/dist/components/Navbar/DesktopNavbar.mjs.map +1 -1
  169. package/dist/components/index.cjs +5 -0
  170. package/dist/components/index.cjs.map +1 -1
  171. package/dist/components/index.mjs +6 -1
  172. package/dist/components/index.mjs.map +1 -1
  173. package/dist/design-system.css +235 -0
  174. package/dist/hooks/index.cjs +6 -0
  175. package/dist/hooks/index.cjs.map +1 -1
  176. package/dist/hooks/index.d.ts +1 -0
  177. package/dist/hooks/index.d.ts.map +1 -1
  178. package/dist/hooks/index.mjs +7 -1
  179. package/dist/hooks/index.mjs.map +1 -1
  180. package/dist/hooks/intlayerAPIHooks.cjs +8 -2
  181. package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
  182. package/dist/hooks/intlayerAPIHooks.d.ts +4 -0
  183. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  184. package/dist/hooks/intlayerAPIHooks.mjs +8 -2
  185. package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
  186. package/dist/hooks/useAsync/index.cjs +3 -0
  187. package/dist/hooks/useAsync/index.cjs.map +1 -1
  188. package/dist/hooks/useAsync/index.d.ts +1 -0
  189. package/dist/hooks/useAsync/index.d.ts.map +1 -1
  190. package/dist/hooks/useAsync/index.mjs +4 -1
  191. package/dist/hooks/useAsync/index.mjs.map +1 -1
  192. package/dist/hooks/useAsync/useAsync.cjs +2 -9
  193. package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
  194. package/dist/hooks/useAsync/useAsync.d.ts.map +1 -1
  195. package/dist/hooks/useAsync/useAsync.mjs +3 -10
  196. package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
  197. package/dist/hooks/useAsync/useAsyncStateStore.cjs +123 -69
  198. package/dist/hooks/useAsync/useAsyncStateStore.cjs.map +1 -1
  199. package/dist/hooks/useAsync/useAsyncStateStore.d.ts +35 -11
  200. package/dist/hooks/useAsync/useAsyncStateStore.d.ts.map +1 -1
  201. package/dist/hooks/useAsync/useAsyncStateStore.mjs +123 -69
  202. package/dist/hooks/useAsync/useAsyncStateStore.mjs.map +1 -1
  203. package/dist/hooks/useIntlayerAPI.d.ts +3 -0
  204. package/dist/hooks/useIntlayerAPI.d.ts.map +1 -1
  205. package/dist/hooks/useIsDarkMode.cjs +15 -0
  206. package/dist/hooks/useIsDarkMode.cjs.map +1 -0
  207. package/dist/hooks/useIsDarkMode.d.ts +2 -0
  208. package/dist/hooks/useIsDarkMode.d.ts.map +1 -0
  209. package/dist/hooks/useIsDarkMode.mjs +15 -0
  210. package/dist/hooks/useIsDarkMode.mjs.map +1 -0
  211. package/dist/libs/intlayer-api/ai.cjs +24 -0
  212. package/dist/libs/intlayer-api/ai.cjs.map +1 -0
  213. package/dist/libs/intlayer-api/ai.d.ts +10 -0
  214. package/dist/libs/intlayer-api/ai.d.ts.map +1 -0
  215. package/dist/libs/intlayer-api/ai.mjs +24 -0
  216. package/dist/libs/intlayer-api/ai.mjs.map +1 -0
  217. package/dist/libs/intlayer-api/index.cjs +3 -1
  218. package/dist/libs/intlayer-api/index.cjs.map +1 -1
  219. package/dist/libs/intlayer-api/index.d.ts +6 -0
  220. package/dist/libs/intlayer-api/index.d.ts.map +1 -1
  221. package/dist/libs/intlayer-api/index.mjs +3 -1
  222. package/dist/libs/intlayer-api/index.mjs.map +1 -1
  223. package/dist/tailwind.css +1 -1
  224. package/package.json +19 -16
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const intlayer = require("intlayer");
4
+ const breadCrumbContent = {
5
+ key: "breadcrumb",
6
+ content: {
7
+ linkLabel: intlayer.t({
8
+ en: "Go to",
9
+ fr: "Aller à",
10
+ es: "Ir a",
11
+ "en-GB": "Go to",
12
+ de: "Gehe zu",
13
+ ja: "に移動",
14
+ ko: "로 이동",
15
+ zh: "转到",
16
+ it: "Vai a",
17
+ pt: "Ir para",
18
+ hi: "कर जाएं",
19
+ ar: "اذهب إلى",
20
+ ru: "Перейти на"
21
+ })
22
+ }
23
+ };
24
+ exports.breadCrumbContent = breadCrumbContent;
25
+ exports.default = breadCrumbContent;
26
+ //# sourceMappingURL=breadcrumb.content.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.content.cjs","sources":["../../../src/components/Breadcrumb/breadcrumb.content.ts"],"sourcesContent":["import { type DeclarationContent, t } from 'intlayer';\n\nexport const breadCrumbContent = {\n key: 'breadcrumb',\n content: {\n linkLabel: t({\n en: 'Go to',\n fr: 'Aller à',\n es: 'Ir a',\n 'en-GB': 'Go to',\n de: 'Gehe zu',\n ja: 'に移動',\n ko: '로 이동',\n zh: '转到',\n it: 'Vai a',\n pt: 'Ir para',\n hi: 'कर जाएं',\n ar: 'اذهب إلى',\n ru: 'Перейти на',\n }),\n },\n} satisfies DeclarationContent;\n\nexport default breadCrumbContent;\n"],"names":["t"],"mappings":";;;AAEO,MAAM,oBAAoB;AAAA,EAC/B,KAAK;AAAA,EACL,SAAS;AAAA,IACP,WAAWA,SAAAA,EAAE;AAAA,MACX,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACL,CAAA;AAAA,EAAA;AAEL;;;"}
@@ -0,0 +1,8 @@
1
+ export declare const breadCrumbContent: {
2
+ key: string;
3
+ content: {
4
+ linkLabel: import('@intlayer/core').TranslationContent<string>;
5
+ };
6
+ };
7
+ export default breadCrumbContent;
8
+ //# sourceMappingURL=breadcrumb.content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.content.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumb/breadcrumb.content.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;;;;;CAmBA,CAAC;AAE/B,eAAe,iBAAiB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { t } from "intlayer";
2
+ const breadCrumbContent = {
3
+ key: "breadcrumb",
4
+ content: {
5
+ linkLabel: t({
6
+ en: "Go to",
7
+ fr: "Aller à",
8
+ es: "Ir a",
9
+ "en-GB": "Go to",
10
+ de: "Gehe zu",
11
+ ja: "に移動",
12
+ ko: "로 이동",
13
+ zh: "转到",
14
+ it: "Vai a",
15
+ pt: "Ir para",
16
+ hi: "कर जाएं",
17
+ ar: "اذهب إلى",
18
+ ru: "Перейти на"
19
+ })
20
+ }
21
+ };
22
+ export {
23
+ breadCrumbContent,
24
+ breadCrumbContent as default
25
+ };
26
+ //# sourceMappingURL=breadcrumb.content.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.content.mjs","sources":["../../../src/components/Breadcrumb/breadcrumb.content.ts"],"sourcesContent":["import { type DeclarationContent, t } from 'intlayer';\n\nexport const breadCrumbContent = {\n key: 'breadcrumb',\n content: {\n linkLabel: t({\n en: 'Go to',\n fr: 'Aller à',\n es: 'Ir a',\n 'en-GB': 'Go to',\n de: 'Gehe zu',\n ja: 'に移動',\n ko: '로 이동',\n zh: '转到',\n it: 'Vai a',\n pt: 'Ir para',\n hi: 'कर जाएं',\n ar: 'اذهب إلى',\n ru: 'Перейти на',\n }),\n },\n} satisfies DeclarationContent;\n\nexport default breadCrumbContent;\n"],"names":[],"mappings":";AAEO,MAAM,oBAAoB;AAAA,EAC/B,KAAK;AAAA,EACL,SAAS;AAAA,IACP,WAAW,EAAE;AAAA,MACX,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACL,CAAA;AAAA,EAAA;AAEL;"}
@@ -1,43 +1,79 @@
1
+ "use client";
1
2
  "use strict";
2
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
4
  const jsxRuntime = require("../../jsx-runtime-XHKiWCTo.cjs");
4
5
  const lucideReact = require("lucide-react");
5
6
  const require$$0 = require("react");
7
+ const reactIntlayer = require("react-intlayer");
6
8
  const utils_cn = require("../../utils/cn.cjs");
7
9
  const components_Button_Button = require("../Button/Button.cjs");
8
10
  const components_Link_Link = require("../Link/Link.cjs");
9
- const LinkLink = ({ href, children, onClick }) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
10
- components_Link_Link.Link,
11
- {
12
- href,
13
- target: "_blank",
14
- rel: "noopener noreferrer",
15
- label: `Go to ${children}`,
16
- color: "text",
17
- onClick,
18
- itemProp: "itemListElement",
19
- children
20
- }
21
- );
22
- const ButtonLink = ({ children: text, onClick }) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
23
- components_Button_Button.Button,
24
- {
25
- onClick,
26
- label: `Go to ${text}`,
27
- variant: "link",
28
- "aria-label": `Go to ${text}`,
29
- color: "text",
30
- itemProp: "itemListElement",
31
- children: text
32
- }
33
- );
34
- const Span = ({ children }) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("span", { "aria-label": `Go to ${children}`, itemProp: "itemListElement", children });
11
+ const components_Breadcrumb_breadcrumb_content = require("./breadcrumb.content.cjs");
12
+ const LinkLink = ({
13
+ href,
14
+ lang,
15
+ children,
16
+ onClick,
17
+ color,
18
+ position,
19
+ locale,
20
+ ...props
21
+ }) => {
22
+ const { linkLabel } = reactIntlayer.useDictionary(components_Breadcrumb_breadcrumb_content.breadCrumbContent);
23
+ return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [
24
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
25
+ components_Link_Link.Link,
26
+ {
27
+ href,
28
+ locale,
29
+ color,
30
+ onClick,
31
+ itemProp: "item",
32
+ ...props,
33
+ label: `${linkLabel} ${children}`,
34
+ children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("span", { itemProp: "name", children })
35
+ }
36
+ ),
37
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("meta", { itemProp: "position", content: position.toString() })
38
+ ] });
39
+ };
40
+ const ButtonLink = ({
41
+ children: text,
42
+ onClick,
43
+ color,
44
+ position,
45
+ ...props
46
+ }) => {
47
+ const { linkLabel } = reactIntlayer.useDictionary(components_Breadcrumb_breadcrumb_content.breadCrumbContent);
48
+ return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [
49
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
50
+ components_Button_Button.Button,
51
+ {
52
+ onClick,
53
+ variant: "link",
54
+ label: `${linkLabel} ${text}`,
55
+ color,
56
+ itemProp: "item",
57
+ ...props,
58
+ children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("span", { itemProp: "name", children: text })
59
+ }
60
+ ),
61
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("meta", { itemProp: "position", content: position.toString() })
62
+ ] });
63
+ };
64
+ const Span = ({ children, position, ...props }) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(jsxRuntime.jsxRuntimeExports.Fragment, { children: [
65
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("div", { itemProp: "item", children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("span", { itemProp: "name", ...props, children }) }),
66
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("meta", { itemProp: "position", content: position.toString() })
67
+ ] });
35
68
  const Breadcrumb = ({
36
69
  links,
37
70
  className,
71
+ color = "text",
72
+ locale,
73
+ elementType = "page",
38
74
  ...props
39
- }) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
40
- "div",
75
+ }) => /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("nav", { "aria-label": "breadcrumb", children: /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
76
+ "ol",
41
77
  {
42
78
  className: utils_cn.cn(
43
79
  "flex flex-row flex-wrap items-center gap-2 text-sm",
@@ -50,22 +86,55 @@ const Breadcrumb = ({
50
86
  const isLastLink = index === links.length - 1;
51
87
  const isLink = typeof link === "object" && typeof link.href === "string";
52
88
  const isButton = typeof link === "object" && typeof link.onClick === "function";
89
+ const isActive = index === links.length - 1;
90
+ const ariaCurrent = isActive ? elementType : void 0;
53
91
  const text = link.text ?? link;
54
- let Section = /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(Span, { children: text });
92
+ let section = /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(Span, { position: index + 1, "aria-current": ariaCurrent, children: text }, text);
55
93
  if (isLink) {
56
- Section = /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(LinkLink, { href: link.href, children: text }, text);
94
+ section = /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
95
+ LinkLink,
96
+ {
97
+ href: link.href,
98
+ color,
99
+ position: index + 1,
100
+ locale,
101
+ "aria-current": ariaCurrent,
102
+ children: text
103
+ },
104
+ text
105
+ );
57
106
  } else if (isButton) {
58
- Section = /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(ButtonLink, { onClick: link.onClick, children: text }, text);
107
+ section = /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
108
+ ButtonLink,
109
+ {
110
+ onClick: link.onClick,
111
+ color,
112
+ position: index + 1,
113
+ "aria-current": ariaCurrent,
114
+ children: text
115
+ },
116
+ text
117
+ );
59
118
  }
119
+ const listElement = /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
120
+ "li",
121
+ {
122
+ itemProp: "itemListElement",
123
+ itemScope: true,
124
+ itemType: "https://schema.org/ListItem",
125
+ children: section
126
+ },
127
+ text
128
+ );
60
129
  if (isLastLink) {
61
- return Section;
130
+ return listElement;
62
131
  }
63
132
  return /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(require$$0.Fragment, { children: [
64
- Section,
133
+ listElement,
65
134
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(lucideReact.ChevronRightIcon, { size: 10 })
66
135
  ] }, text);
67
136
  })
68
137
  }
69
- );
138
+ ) });
70
139
  exports.Breadcrumb = Breadcrumb;
71
140
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../src/components/Breadcrumb/index.tsx"],"sourcesContent":["import { ChevronRightIcon } from 'lucide-react';\nimport { Fragment, HTMLAttributes, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\nimport { Link } from '../Link';\n\ntype LinkProps = {\n href: string;\n children: string;\n onClick?: () => void;\n};\n\nconst LinkLink: FC<LinkProps> = ({ href, children, onClick }) => (\n <Link\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n label={`Go to ${children}`}\n color=\"text\"\n onClick={onClick}\n itemProp=\"itemListElement\"\n >\n {children}\n </Link>\n);\n\ntype ButtonProps = {\n children: string;\n onClick: () => void;\n};\n\nconst ButtonLink: FC<ButtonProps> = ({ children: text, onClick }) => (\n <Button\n onClick={onClick}\n label={`Go to ${text}`}\n variant=\"link\"\n aria-label={`Go to ${text}`}\n color=\"text\"\n itemProp=\"itemListElement\"\n >\n {text}\n </Button>\n);\n\ntype SpanProps = {\n children: string;\n};\n\nconst Span: FC<SpanProps> = ({ children }) => (\n <span aria-label={`Go to ${children}`} itemProp=\"itemListElement\">\n {children}\n </span>\n);\n\ntype DetailedBreadcrumbLink = {\n href?: string;\n text: string;\n onClick?: () => void;\n};\nexport type BreadcrumbLink = string | DetailedBreadcrumbLink;\n\ntype BreadcrumbProps = {\n links: BreadcrumbLink[];\n} & HTMLAttributes<HTMLDivElement>;\n\nexport const Breadcrumb: FC<BreadcrumbProps> = ({\n links,\n className,\n ...props\n}) => (\n <div\n className={cn(\n 'flex flex-row flex-wrap items-center gap-2 text-sm',\n className\n )}\n itemScope\n itemType=\"http://schema.org/BreadcrumbList\"\n {...props}\n >\n {links.map((link, index) => {\n const isLastLink = index === links.length - 1;\n const isLink = typeof link === 'object' && typeof link.href === 'string';\n const isButton =\n typeof link === 'object' && typeof link.onClick === 'function';\n\n const text = (link as DetailedBreadcrumbLink).text ?? link;\n\n let Section = <Span>{text}</Span>;\n\n if (isLink) {\n Section = (\n <LinkLink key={text} href={link.href!}>\n {text}\n </LinkLink>\n );\n } else if (isButton) {\n Section = (\n <ButtonLink key={text} onClick={link.onClick!}>\n {text}\n </ButtonLink>\n );\n }\n\n if (isLastLink) {\n return Section;\n }\n\n return (\n <Fragment key={text}>\n {Section}\n <ChevronRightIcon size={10} />\n </Fragment>\n );\n })}\n </div>\n);\n"],"names":["jsx","Link","Button","cn","Fragment","ChevronRightIcon"],"mappings":";;;;;;;;AAYA,MAAM,WAA0B,CAAC,EAAE,MAAM,UAAU,QACjD,MAAAA,2BAAA,kBAAA;AAAA,EAACC,qBAAA;AAAA,EAAA;AAAA,IACC;AAAA,IACA,QAAO;AAAA,IACP,KAAI;AAAA,IACJ,OAAO,SAAS,QAAQ;AAAA,IACxB,OAAM;AAAA,IACN;AAAA,IACA,UAAS;AAAA,IAER;AAAA,EAAA;AACH;AAQF,MAAM,aAA8B,CAAC,EAAE,UAAU,MAAM,QACrD,MAAAD,2BAAA,kBAAA;AAAA,EAACE,yBAAA;AAAA,EAAA;AAAA,IACC;AAAA,IACA,OAAO,SAAS,IAAI;AAAA,IACpB,SAAQ;AAAA,IACR,cAAY,SAAS,IAAI;AAAA,IACzB,OAAM;AAAA,IACN,UAAS;AAAA,IAER,UAAA;AAAA,EAAA;AACH;AAOF,MAAM,OAAsB,CAAC,EAAE,SAC7B,MAAAF,2BAAA,kBAAA,IAAC,QAAK,EAAA,cAAY,SAAS,QAAQ,IAAI,UAAS,mBAC7C,SACH,CAAA;AAcK,MAAM,aAAkC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,2BAAA,kBAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAWG,SAAA;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAS;AAAA,IACT,UAAS;AAAA,IACR,GAAG;AAAA,IAEH,UAAM,MAAA,IAAI,CAAC,MAAM,UAAU;AACpB,YAAA,aAAa,UAAU,MAAM,SAAS;AAC5C,YAAM,SAAS,OAAO,SAAS,YAAY,OAAO,KAAK,SAAS;AAChE,YAAM,WACJ,OAAO,SAAS,YAAY,OAAO,KAAK,YAAY;AAEhD,YAAA,OAAQ,KAAgC,QAAQ;AAElD,UAAA,UAAWH,2BAAAA,kBAAAA,IAAA,MAAA,EAAM,UAAK,KAAA,CAAA;AAE1B,UAAI,QAAQ;AACV,mEACG,UAAoB,EAAA,MAAM,KAAK,MAC7B,kBADY,IAEf;AAAA,iBAEO,UAAU;AACnB,mEACG,YAAsB,EAAA,SAAS,KAAK,SAClC,kBADc,IAEjB;AAAA,MAAA;AAIJ,UAAI,YAAY;AACP,eAAA;AAAA,MAAA;AAGT,+DACGI,qBACE,EAAA,UAAA;AAAA,QAAA;AAAA,QACDJ,2BAAAA,kBAAAA,IAACK,YAAiB,kBAAA,EAAA,MAAM,GAAI,CAAA;AAAA,MAAA,EAAA,GAFf,IAGf;AAAA,IAEH,CAAA;AAAA,EAAA;AACH;;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../src/components/Breadcrumb/index.tsx"],"sourcesContent":["'use client';\n\nimport { Locales } from '@intlayer/config/client';\nimport { ChevronRightIcon } from 'lucide-react';\nimport { Fragment, HTMLAttributes, type FC } from 'react';\n// @ts-ignore react-intlayer not build yet\nimport { useDictionary } from 'react-intlayer';\nimport { cn } from '../../utils/cn';\nimport { Button, type ButtonProps } from '../Button';\nimport { Link, type LinkProps } from '../Link';\nimport { breadCrumbContent } from './breadcrumb.content';\n\ntype LinkLinkProps = {\n children: string;\n position: number;\n locale?: Locales;\n} & Omit<LinkProps, 'children' | 'label'>;\n\nconst LinkLink: FC<LinkLinkProps> = ({\n href,\n lang,\n children,\n onClick,\n color,\n position,\n locale,\n ...props\n}) => {\n const { linkLabel } = useDictionary(breadCrumbContent);\n\n return (\n <>\n <Link\n href={href}\n locale={locale}\n color={color}\n onClick={onClick}\n itemProp=\"item\"\n {...props}\n label={`${linkLabel} ${children}`}\n >\n <span itemProp=\"name\">{children}</span>\n </Link>\n <meta itemProp=\"position\" content={position.toString()} />\n </>\n );\n};\n\ntype ButtonButtonProps = {\n children: string;\n position: number;\n} & Omit<ButtonProps, 'children' | 'label'>;\n\nconst ButtonLink: FC<ButtonButtonProps> = ({\n children: text,\n onClick,\n color,\n position,\n ...props\n}) => {\n const { linkLabel } = useDictionary(breadCrumbContent);\n\n return (\n <>\n <Button\n onClick={onClick}\n variant=\"link\"\n label={`${linkLabel} ${text}`}\n color={color}\n itemProp=\"item\"\n {...props}\n >\n <span itemProp=\"name\">{text}</span>\n </Button>\n <meta itemProp=\"position\" content={position.toString()} />\n </>\n );\n};\n\ntype SpanProps = {\n children: string;\n position: number;\n} & HTMLAttributes<HTMLSpanElement>;\n\nconst Span: FC<SpanProps> = ({ children, position, ...props }) => (\n <>\n <div itemProp=\"item\">\n <span itemProp=\"name\" {...props}>\n {children}\n </span>\n </div>\n <meta itemProp=\"position\" content={position.toString()} />\n </>\n);\n\ntype DetailedBreadcrumbLink = {\n href?: string;\n text: string;\n onClick?: () => void;\n};\nexport type BreadcrumbLink = string | DetailedBreadcrumbLink;\n\nexport type BreadcrumbProps = {\n links: BreadcrumbLink[];\n color?:\n | 'primary'\n | 'destructive'\n | 'neutral'\n | 'light'\n | 'dark'\n | 'text'\n | 'custom';\n locale?: Locales;\n elementType?: 'page' | 'location';\n} & HTMLAttributes<HTMLOListElement>;\n\nexport const Breadcrumb: FC<BreadcrumbProps> = ({\n links,\n className,\n color = 'text',\n locale,\n elementType = 'page',\n ...props\n}) => (\n <nav aria-label=\"breadcrumb\">\n <ol\n className={cn(\n 'flex flex-row flex-wrap items-center gap-2 text-sm',\n className\n )}\n itemScope\n itemType=\"http://schema.org/BreadcrumbList\"\n {...props}\n >\n {links.map((link, index) => {\n const isLastLink = index === links.length - 1;\n const isLink =\n typeof link === 'object' && typeof link.href === 'string';\n const isButton =\n typeof link === 'object' && typeof link.onClick === 'function';\n const isActive = index === links.length - 1;\n const ariaCurrent = isActive ? elementType : undefined;\n\n const text = (link as DetailedBreadcrumbLink).text ?? link;\n\n let section = (\n <Span key={text} position={index + 1} aria-current={ariaCurrent}>\n {text}\n </Span>\n );\n\n if (isLink) {\n section = (\n <LinkLink\n key={text}\n href={link.href!}\n color={color}\n position={index + 1}\n locale={locale}\n aria-current={ariaCurrent}\n >\n {text}\n </LinkLink>\n );\n } else if (isButton) {\n section = (\n <ButtonLink\n key={text}\n onClick={link.onClick!}\n color={color}\n position={index + 1}\n aria-current={ariaCurrent}\n >\n {text}\n </ButtonLink>\n );\n }\n\n const listElement = (\n <li\n itemProp=\"itemListElement\"\n itemScope\n itemType=\"https://schema.org/ListItem\"\n key={text}\n >\n {section}\n </li>\n );\n\n if (isLastLink) {\n return listElement;\n }\n\n return (\n <Fragment key={text}>\n {listElement}\n <ChevronRightIcon size={10} />\n </Fragment>\n );\n })}\n </ol>\n </nav>\n);\n"],"names":["useDictionary","breadCrumbContent","jsxs","Fragment","jsx","Link","Button","cn","ChevronRightIcon"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { Locales } from '@intlayer/config/client';
1
2
  import { HTMLAttributes, FC } from 'react';
2
3
  type DetailedBreadcrumbLink = {
3
4
  href?: string;
@@ -5,9 +6,12 @@ type DetailedBreadcrumbLink = {
5
6
  onClick?: () => void;
6
7
  };
7
8
  export type BreadcrumbLink = string | DetailedBreadcrumbLink;
8
- type BreadcrumbProps = {
9
+ export type BreadcrumbProps = {
9
10
  links: BreadcrumbLink[];
10
- } & HTMLAttributes<HTMLDivElement>;
11
+ color?: 'primary' | 'destructive' | 'neutral' | 'light' | 'dark' | 'text' | 'custom';
12
+ locale?: Locales;
13
+ elementType?: 'page' | 'location';
14
+ } & HTMLAttributes<HTMLOListElement>;
11
15
  export declare const Breadcrumb: FC<BreadcrumbProps>;
12
16
  export {};
13
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumb/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAY,cAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAqD1D,KAAK,sBAAsB,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,sBAAsB,CAAC;AAE7D,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAEnC,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAkD1C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Breadcrumb/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAAY,cAAc,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AA2F1D,KAAK,sBAAsB,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,sBAAsB,CAAC;AAE7D,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,KAAK,CAAC,EACF,SAAS,GACT,aAAa,GACb,SAAS,GACT,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;CACnC,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAC;AAErC,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAsF1C,CAAC"}
@@ -1,41 +1,77 @@
1
+ "use client";
1
2
  import { j as jsxRuntimeExports } from "../../jsx-runtime-DaNGiM0W.js";
2
3
  import { ChevronRightIcon } from "lucide-react";
3
4
  import { Fragment } from "react";
5
+ import { useDictionary } from "react-intlayer";
4
6
  import { cn } from "../../utils/cn.mjs";
5
7
  import { Button } from "../Button/Button.mjs";
6
8
  import { Link } from "../Link/Link.mjs";
7
- const LinkLink = ({ href, children, onClick }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
8
- Link,
9
- {
10
- href,
11
- target: "_blank",
12
- rel: "noopener noreferrer",
13
- label: `Go to ${children}`,
14
- color: "text",
15
- onClick,
16
- itemProp: "itemListElement",
17
- children
18
- }
19
- );
20
- const ButtonLink = ({ children: text, onClick }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
21
- Button,
22
- {
23
- onClick,
24
- label: `Go to ${text}`,
25
- variant: "link",
26
- "aria-label": `Go to ${text}`,
27
- color: "text",
28
- itemProp: "itemListElement",
29
- children: text
30
- }
31
- );
32
- const Span = ({ children }) => /* @__PURE__ */ jsxRuntimeExports.jsx("span", { "aria-label": `Go to ${children}`, itemProp: "itemListElement", children });
9
+ import { breadCrumbContent } from "./breadcrumb.content.mjs";
10
+ const LinkLink = ({
11
+ href,
12
+ lang,
13
+ children,
14
+ onClick,
15
+ color,
16
+ position,
17
+ locale,
18
+ ...props
19
+ }) => {
20
+ const { linkLabel } = useDictionary(breadCrumbContent);
21
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
22
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
23
+ Link,
24
+ {
25
+ href,
26
+ locale,
27
+ color,
28
+ onClick,
29
+ itemProp: "item",
30
+ ...props,
31
+ label: `${linkLabel} ${children}`,
32
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { itemProp: "name", children })
33
+ }
34
+ ),
35
+ /* @__PURE__ */ jsxRuntimeExports.jsx("meta", { itemProp: "position", content: position.toString() })
36
+ ] });
37
+ };
38
+ const ButtonLink = ({
39
+ children: text,
40
+ onClick,
41
+ color,
42
+ position,
43
+ ...props
44
+ }) => {
45
+ const { linkLabel } = useDictionary(breadCrumbContent);
46
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
47
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
48
+ Button,
49
+ {
50
+ onClick,
51
+ variant: "link",
52
+ label: `${linkLabel} ${text}`,
53
+ color,
54
+ itemProp: "item",
55
+ ...props,
56
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { itemProp: "name", children: text })
57
+ }
58
+ ),
59
+ /* @__PURE__ */ jsxRuntimeExports.jsx("meta", { itemProp: "position", content: position.toString() })
60
+ ] });
61
+ };
62
+ const Span = ({ children, position, ...props }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
63
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { itemProp: "item", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { itemProp: "name", ...props, children }) }),
64
+ /* @__PURE__ */ jsxRuntimeExports.jsx("meta", { itemProp: "position", content: position.toString() })
65
+ ] });
33
66
  const Breadcrumb = ({
34
67
  links,
35
68
  className,
69
+ color = "text",
70
+ locale,
71
+ elementType = "page",
36
72
  ...props
37
- }) => /* @__PURE__ */ jsxRuntimeExports.jsx(
38
- "div",
73
+ }) => /* @__PURE__ */ jsxRuntimeExports.jsx("nav", { "aria-label": "breadcrumb", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
74
+ "ol",
39
75
  {
40
76
  className: cn(
41
77
  "flex flex-row flex-wrap items-center gap-2 text-sm",
@@ -48,23 +84,56 @@ const Breadcrumb = ({
48
84
  const isLastLink = index === links.length - 1;
49
85
  const isLink = typeof link === "object" && typeof link.href === "string";
50
86
  const isButton = typeof link === "object" && typeof link.onClick === "function";
87
+ const isActive = index === links.length - 1;
88
+ const ariaCurrent = isActive ? elementType : void 0;
51
89
  const text = link.text ?? link;
52
- let Section = /* @__PURE__ */ jsxRuntimeExports.jsx(Span, { children: text });
90
+ let section = /* @__PURE__ */ jsxRuntimeExports.jsx(Span, { position: index + 1, "aria-current": ariaCurrent, children: text }, text);
53
91
  if (isLink) {
54
- Section = /* @__PURE__ */ jsxRuntimeExports.jsx(LinkLink, { href: link.href, children: text }, text);
92
+ section = /* @__PURE__ */ jsxRuntimeExports.jsx(
93
+ LinkLink,
94
+ {
95
+ href: link.href,
96
+ color,
97
+ position: index + 1,
98
+ locale,
99
+ "aria-current": ariaCurrent,
100
+ children: text
101
+ },
102
+ text
103
+ );
55
104
  } else if (isButton) {
56
- Section = /* @__PURE__ */ jsxRuntimeExports.jsx(ButtonLink, { onClick: link.onClick, children: text }, text);
105
+ section = /* @__PURE__ */ jsxRuntimeExports.jsx(
106
+ ButtonLink,
107
+ {
108
+ onClick: link.onClick,
109
+ color,
110
+ position: index + 1,
111
+ "aria-current": ariaCurrent,
112
+ children: text
113
+ },
114
+ text
115
+ );
57
116
  }
117
+ const listElement = /* @__PURE__ */ jsxRuntimeExports.jsx(
118
+ "li",
119
+ {
120
+ itemProp: "itemListElement",
121
+ itemScope: true,
122
+ itemType: "https://schema.org/ListItem",
123
+ children: section
124
+ },
125
+ text
126
+ );
58
127
  if (isLastLink) {
59
- return Section;
128
+ return listElement;
60
129
  }
61
130
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(Fragment, { children: [
62
- Section,
131
+ listElement,
63
132
  /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRightIcon, { size: 10 })
64
133
  ] }, text);
65
134
  })
66
135
  }
67
- );
136
+ ) });
68
137
  export {
69
138
  Breadcrumb
70
139
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../src/components/Breadcrumb/index.tsx"],"sourcesContent":["import { ChevronRightIcon } from 'lucide-react';\nimport { Fragment, HTMLAttributes, type FC } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\nimport { Link } from '../Link';\n\ntype LinkProps = {\n href: string;\n children: string;\n onClick?: () => void;\n};\n\nconst LinkLink: FC<LinkProps> = ({ href, children, onClick }) => (\n <Link\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n label={`Go to ${children}`}\n color=\"text\"\n onClick={onClick}\n itemProp=\"itemListElement\"\n >\n {children}\n </Link>\n);\n\ntype ButtonProps = {\n children: string;\n onClick: () => void;\n};\n\nconst ButtonLink: FC<ButtonProps> = ({ children: text, onClick }) => (\n <Button\n onClick={onClick}\n label={`Go to ${text}`}\n variant=\"link\"\n aria-label={`Go to ${text}`}\n color=\"text\"\n itemProp=\"itemListElement\"\n >\n {text}\n </Button>\n);\n\ntype SpanProps = {\n children: string;\n};\n\nconst Span: FC<SpanProps> = ({ children }) => (\n <span aria-label={`Go to ${children}`} itemProp=\"itemListElement\">\n {children}\n </span>\n);\n\ntype DetailedBreadcrumbLink = {\n href?: string;\n text: string;\n onClick?: () => void;\n};\nexport type BreadcrumbLink = string | DetailedBreadcrumbLink;\n\ntype BreadcrumbProps = {\n links: BreadcrumbLink[];\n} & HTMLAttributes<HTMLDivElement>;\n\nexport const Breadcrumb: FC<BreadcrumbProps> = ({\n links,\n className,\n ...props\n}) => (\n <div\n className={cn(\n 'flex flex-row flex-wrap items-center gap-2 text-sm',\n className\n )}\n itemScope\n itemType=\"http://schema.org/BreadcrumbList\"\n {...props}\n >\n {links.map((link, index) => {\n const isLastLink = index === links.length - 1;\n const isLink = typeof link === 'object' && typeof link.href === 'string';\n const isButton =\n typeof link === 'object' && typeof link.onClick === 'function';\n\n const text = (link as DetailedBreadcrumbLink).text ?? link;\n\n let Section = <Span>{text}</Span>;\n\n if (isLink) {\n Section = (\n <LinkLink key={text} href={link.href!}>\n {text}\n </LinkLink>\n );\n } else if (isButton) {\n Section = (\n <ButtonLink key={text} onClick={link.onClick!}>\n {text}\n </ButtonLink>\n );\n }\n\n if (isLastLink) {\n return Section;\n }\n\n return (\n <Fragment key={text}>\n {Section}\n <ChevronRightIcon size={10} />\n </Fragment>\n );\n })}\n </div>\n);\n"],"names":["jsx"],"mappings":";;;;;;AAYA,MAAM,WAA0B,CAAC,EAAE,MAAM,UAAU,QACjD,MAAAA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC;AAAA,IACA,QAAO;AAAA,IACP,KAAI;AAAA,IACJ,OAAO,SAAS,QAAQ;AAAA,IACxB,OAAM;AAAA,IACN;AAAA,IACA,UAAS;AAAA,IAER;AAAA,EAAA;AACH;AAQF,MAAM,aAA8B,CAAC,EAAE,UAAU,MAAM,QACrD,MAAAA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC;AAAA,IACA,OAAO,SAAS,IAAI;AAAA,IACpB,SAAQ;AAAA,IACR,cAAY,SAAS,IAAI;AAAA,IACzB,OAAM;AAAA,IACN,UAAS;AAAA,IAER,UAAA;AAAA,EAAA;AACH;AAOF,MAAM,OAAsB,CAAC,EAAE,SAC7B,MAAAA,kCAAA,IAAC,QAAK,EAAA,cAAY,SAAS,QAAQ,IAAI,UAAS,mBAC7C,SACH,CAAA;AAcK,MAAM,aAAkC,CAAC;AAAA,EAC9C;AAAA,EACA;AAAA,EACA,GAAG;AACL,MACEA,kCAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAS;AAAA,IACT,UAAS;AAAA,IACR,GAAG;AAAA,IAEH,UAAM,MAAA,IAAI,CAAC,MAAM,UAAU;AACpB,YAAA,aAAa,UAAU,MAAM,SAAS;AAC5C,YAAM,SAAS,OAAO,SAAS,YAAY,OAAO,KAAK,SAAS;AAChE,YAAM,WACJ,OAAO,SAAS,YAAY,OAAO,KAAK,YAAY;AAEhD,YAAA,OAAQ,KAAgC,QAAQ;AAElD,UAAA,UAAWA,kCAAAA,IAAA,MAAA,EAAM,UAAK,KAAA,CAAA;AAE1B,UAAI,QAAQ;AACV,wDACG,UAAoB,EAAA,MAAM,KAAK,MAC7B,kBADY,IAEf;AAAA,iBAEO,UAAU;AACnB,wDACG,YAAsB,EAAA,SAAS,KAAK,SAClC,kBADc,IAEjB;AAAA,MAAA;AAIJ,UAAI,YAAY;AACP,eAAA;AAAA,MAAA;AAGT,oDACG,UACE,EAAA,UAAA;AAAA,QAAA;AAAA,QACDA,kCAAAA,IAAC,kBAAiB,EAAA,MAAM,GAAI,CAAA;AAAA,MAAA,EAAA,GAFf,IAGf;AAAA,IAEH,CAAA;AAAA,EAAA;AACH;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../src/components/Breadcrumb/index.tsx"],"sourcesContent":["'use client';\n\nimport { Locales } from '@intlayer/config/client';\nimport { ChevronRightIcon } from 'lucide-react';\nimport { Fragment, HTMLAttributes, type FC } from 'react';\n// @ts-ignore react-intlayer not build yet\nimport { useDictionary } from 'react-intlayer';\nimport { cn } from '../../utils/cn';\nimport { Button, type ButtonProps } from '../Button';\nimport { Link, type LinkProps } from '../Link';\nimport { breadCrumbContent } from './breadcrumb.content';\n\ntype LinkLinkProps = {\n children: string;\n position: number;\n locale?: Locales;\n} & Omit<LinkProps, 'children' | 'label'>;\n\nconst LinkLink: FC<LinkLinkProps> = ({\n href,\n lang,\n children,\n onClick,\n color,\n position,\n locale,\n ...props\n}) => {\n const { linkLabel } = useDictionary(breadCrumbContent);\n\n return (\n <>\n <Link\n href={href}\n locale={locale}\n color={color}\n onClick={onClick}\n itemProp=\"item\"\n {...props}\n label={`${linkLabel} ${children}`}\n >\n <span itemProp=\"name\">{children}</span>\n </Link>\n <meta itemProp=\"position\" content={position.toString()} />\n </>\n );\n};\n\ntype ButtonButtonProps = {\n children: string;\n position: number;\n} & Omit<ButtonProps, 'children' | 'label'>;\n\nconst ButtonLink: FC<ButtonButtonProps> = ({\n children: text,\n onClick,\n color,\n position,\n ...props\n}) => {\n const { linkLabel } = useDictionary(breadCrumbContent);\n\n return (\n <>\n <Button\n onClick={onClick}\n variant=\"link\"\n label={`${linkLabel} ${text}`}\n color={color}\n itemProp=\"item\"\n {...props}\n >\n <span itemProp=\"name\">{text}</span>\n </Button>\n <meta itemProp=\"position\" content={position.toString()} />\n </>\n );\n};\n\ntype SpanProps = {\n children: string;\n position: number;\n} & HTMLAttributes<HTMLSpanElement>;\n\nconst Span: FC<SpanProps> = ({ children, position, ...props }) => (\n <>\n <div itemProp=\"item\">\n <span itemProp=\"name\" {...props}>\n {children}\n </span>\n </div>\n <meta itemProp=\"position\" content={position.toString()} />\n </>\n);\n\ntype DetailedBreadcrumbLink = {\n href?: string;\n text: string;\n onClick?: () => void;\n};\nexport type BreadcrumbLink = string | DetailedBreadcrumbLink;\n\nexport type BreadcrumbProps = {\n links: BreadcrumbLink[];\n color?:\n | 'primary'\n | 'destructive'\n | 'neutral'\n | 'light'\n | 'dark'\n | 'text'\n | 'custom';\n locale?: Locales;\n elementType?: 'page' | 'location';\n} & HTMLAttributes<HTMLOListElement>;\n\nexport const Breadcrumb: FC<BreadcrumbProps> = ({\n links,\n className,\n color = 'text',\n locale,\n elementType = 'page',\n ...props\n}) => (\n <nav aria-label=\"breadcrumb\">\n <ol\n className={cn(\n 'flex flex-row flex-wrap items-center gap-2 text-sm',\n className\n )}\n itemScope\n itemType=\"http://schema.org/BreadcrumbList\"\n {...props}\n >\n {links.map((link, index) => {\n const isLastLink = index === links.length - 1;\n const isLink =\n typeof link === 'object' && typeof link.href === 'string';\n const isButton =\n typeof link === 'object' && typeof link.onClick === 'function';\n const isActive = index === links.length - 1;\n const ariaCurrent = isActive ? elementType : undefined;\n\n const text = (link as DetailedBreadcrumbLink).text ?? link;\n\n let section = (\n <Span key={text} position={index + 1} aria-current={ariaCurrent}>\n {text}\n </Span>\n );\n\n if (isLink) {\n section = (\n <LinkLink\n key={text}\n href={link.href!}\n color={color}\n position={index + 1}\n locale={locale}\n aria-current={ariaCurrent}\n >\n {text}\n </LinkLink>\n );\n } else if (isButton) {\n section = (\n <ButtonLink\n key={text}\n onClick={link.onClick!}\n color={color}\n position={index + 1}\n aria-current={ariaCurrent}\n >\n {text}\n </ButtonLink>\n );\n }\n\n const listElement = (\n <li\n itemProp=\"itemListElement\"\n itemScope\n itemType=\"https://schema.org/ListItem\"\n key={text}\n >\n {section}\n </li>\n );\n\n if (isLastLink) {\n return listElement;\n }\n\n return (\n <Fragment key={text}>\n {listElement}\n <ChevronRightIcon size={10} />\n </Fragment>\n );\n })}\n </ol>\n </nav>\n);\n"],"names":["jsxs","Fragment","jsx"],"mappings":"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"}
@@ -31,10 +31,10 @@ const buttonVariants = classVarianceAuthority.cva(
31
31
  md: "min-h-8 px-6 max-md:py-2 text-sm",
32
32
  lg: "min-h-10 px-8 max-md:py-3 text-base",
33
33
  xl: "min-h-11 px-10 max-md:py-4 text-lg",
34
- "icon-sm": "p-0",
35
- "icon-md": "p-0",
36
- "icon-lg": "p-0",
37
- "icon-xl": "p-0"
34
+ "icon-sm": "p-0.5",
35
+ "icon-md": "p-1",
36
+ "icon-lg": "p-1.5",
37
+ "icon-xl": "p-2"
38
38
  },
39
39
  variant: {
40
40
  default: "rounded-lg text-text-opposite dark:text-text-opposite-dark",
@@ -42,7 +42,7 @@ const buttonVariants = classVarianceAuthority.cva(
42
42
  outline: "rounded-lg border-[1.5px] bg-opacity-0 hover:bg-opacity-30 dark:bg-opacity-0",
43
43
  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",
44
44
  "invisible-link": "h-auto justify-start border-inherit bg-transparent px-1 underline-offset-4 hover:bg-transparent dark:bg-transparent hover:dark:bg-transparent",
45
- hoverable: "rounded-lg border-none bg-opacity-0 transition hover:bg-opacity-10 aria-[current=true]:bg-opacity-5 dark:border-none dark:bg-opacity-0 dark:hover:bg-opacity-10",
45
+ hoverable: "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",
46
46
  input: [
47
47
  "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",
48
48
  "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",
@@ -107,8 +107,7 @@ const Button = require$$0.forwardRef(
107
107
  {
108
108
  ref,
109
109
  disabled: isLoading || disabled,
110
- "aria-current": isActive,
111
- "aria-selected": isActive,
110
+ "aria-current": isActive ? "page" : void 0,
112
111
  "aria-label": label,
113
112
  "aria-busy": isLoading,
114
113
  role: isLink ? "link" : void 0,
@@ -142,7 +141,7 @@ const Button = require$$0.forwardRef(
142
141
  isLoading
143
142
  }
144
143
  ),
145
- typeof children !== "undefined" && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("div", { className: "flex-1", children }),
144
+ typeof children !== "undefined" && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("div", { className: "flex-1 truncate", children }),
146
145
  IconRight && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
147
146
  IconRight,
148
147
  {
@@ -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',\n 'icon-md': 'p-0',\n 'icon-lg': 'p-0',\n 'icon-xl': 'p-0',\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=true]: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}\n aria-selected={isActive}\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\">{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":";;;;;;;AAWA,MAAM,qBAAqBA,2BAAI,UAAU;AAAA,EACvC,UAAU;AAAA,IACR,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,MACX,WAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EACA,iBAAiB;AAAA,IACf,MAAM;AAAA,EAAA;AAEV,CAAC;AAED,MAAM,iBAAiBA,uBAAA;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,QACX,WAAW;AAAA,MACb;AAAA,MACA,SAAS;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SACE;AAAA,QACF,MAAM;AAAA,QACN,kBACE;AAAA,QACF,WACE;AAAA,QACF,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,OAAO;AAAA,QACL,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,gBACE;AAAA,QACF,OACE;AAAA,QACF,SACE;AAAA,QACF,QAAQ;AAAA,MACV;AAAA,MAEA,WAAW;AAAA,QACT,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,OAAO;AAAA,MACT;AAAA,MAEA,aAAa;AAAA,QACX,MAAM;AAAA,QACN,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,MACX,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ;AAmBO,MAAM,SAASC,WAAA;AAAA,EACpB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA,cAAc;AAAA,IACd,YAAY,YAAY,SAAS;AAAA,IACjC;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP,GAAG;AAAA,KAEL,QACG;AACG,UAAA,SAAS,YAAY,UAAU,YAAY;AAG/C,WAAAC,2BAAA,kBAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,UAAU,aAAa;AAAA,QACvB,gBAAc;AAAA,QACd,iBAAe;AAAA,QACf,cAAY;AAAA,QACZ,aAAW;AAAA,QACX,MAAM,SAAS,SAAS;AAAA,QACxB;AAAA,QACA,WAAW,eAAe;AAAA,UACxB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA,CACD;AAAA,QACA,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,QAAQ,CAAC,aACRC,2BAAA,kBAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWC,SAAA;AAAA,gBACT,mBAAmB,EAAE,MAAM,WAAW,eAAe;AAAA,gBACrD;AAAA,cAAA;AAAA,YACF;AAAA,UACF;AAAA,UAGFD,2BAAA,kBAAA;AAAA,YAACE,wBAAA;AAAA,YAAA;AAAA,cACC,WAAWD,SAAA;AAAA,gBACT,mBAAmB,EAAE,MAAM,WAAW,eAAe;AAAA,gBACrD;AAAA,cACF;AAAA,cACA;AAAA,YAAA;AAAA,UACF;AAAA,UAEC,OAAO,aAAa,gEAClB,OAAI,EAAA,WAAU,UAAU,UAAS;AAAA,UAGnC,aACCD,2BAAA,kBAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWC,SAAA;AAAA,gBACT,mBAAmB,EAAE,MAAM,WAAW,eAAe;AAAA,gBACrD;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QACF;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGN;AAEA,OAAO,cAAc;;"}
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 +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,wHA4ElB,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;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"}