@intlayer/design-system 8.2.4 → 8.3.0-canary.1

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 (186) hide show
  1. package/dist/esm/components/Accordion/Accordion.mjs +1 -1
  2. package/dist/esm/components/Avatar/index.mjs +1 -1
  3. package/dist/esm/components/Breadcrumb/index.mjs +1 -1
  4. package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
  5. package/dist/esm/components/Browser/Browser.mjs +1 -1
  6. package/dist/esm/components/Carousel/index.mjs +4 -4
  7. package/dist/esm/components/Carousel/index.mjs.map +1 -1
  8. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +1 -1
  9. package/dist/esm/components/ContentEditor/ContentEditor.mjs +1 -1
  10. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs +1 -1
  11. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -1
  12. package/dist/esm/components/CopyButton/index.mjs +1 -1
  13. package/dist/esm/components/CopyToClipboard/index.mjs +1 -1
  14. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  15. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs +1 -1
  16. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs.map +1 -1
  17. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs +1 -1
  18. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs.map +1 -1
  19. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs +1 -1
  20. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs.map +1 -1
  21. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs +1 -1
  22. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs.map +1 -1
  23. package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs +1 -1
  24. package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs.map +1 -1
  25. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs +1 -1
  26. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs.map +1 -1
  27. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs +1 -1
  28. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs.map +1 -1
  29. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +1 -1
  30. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
  31. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs +1 -1
  32. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs.map +1 -1
  33. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs +1 -1
  34. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs.map +1 -1
  35. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
  36. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +1 -1
  37. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  38. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +1 -1
  39. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  40. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -1
  41. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  42. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
  43. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
  44. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +1 -1
  45. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  46. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs +1 -1
  47. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  48. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +1 -1
  49. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  50. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
  51. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -1
  52. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  53. package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs +1 -1
  54. package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs.map +1 -1
  55. package/dist/esm/components/EditableField/EditableFieldLayout.mjs +1 -1
  56. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs +1 -1
  57. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
  58. package/dist/esm/components/Flags/Flag.mjs +1 -1
  59. package/dist/esm/components/Flags/Flag.mjs.map +1 -1
  60. package/dist/esm/components/HTMLRender/HTMLRender.mjs.map +1 -1
  61. package/dist/esm/components/HideShow/index.mjs +1 -1
  62. package/dist/esm/components/IDE/FileTree.mjs +1 -1
  63. package/dist/esm/components/Input/InputPassword.mjs +1 -1
  64. package/dist/esm/components/Input/OTPInput.mjs +2 -2
  65. package/dist/esm/components/LanguageBackground/index.mjs +1 -1
  66. package/dist/esm/components/LanguageBackground/index.mjs.map +1 -1
  67. package/dist/esm/components/Link/Link.mjs +1 -1
  68. package/dist/esm/components/Link/Link.mjs.map +1 -1
  69. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +1 -1
  70. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
  71. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +1 -1
  72. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  73. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
  74. package/dist/esm/components/MaxHeightSmoother/index.mjs +1 -1
  75. package/dist/esm/components/MaxHeightSmoother/index.mjs.map +1 -1
  76. package/dist/esm/components/Modal/Modal.mjs +1 -1
  77. package/dist/esm/components/Pagination/Pagination.mjs +1 -1
  78. package/dist/esm/components/RightDrawer/RightDrawer.mjs +1 -1
  79. package/dist/esm/components/Select/Multiselect.mjs +1 -1
  80. package/dist/esm/components/Table/Table.mjs +1 -1
  81. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +1 -1
  82. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs +1 -1
  83. package/dist/esm/components/Toaster/Toast.mjs +1 -1
  84. package/dist/esm/components/index.mjs +1 -1
  85. package/dist/esm/hooks/reactQuery.mjs +1 -1
  86. package/dist/esm/hooks/reactQuery.mjs.map +1 -1
  87. package/dist/esm/hooks/useAuth/useAuth.mjs.map +1 -1
  88. package/dist/esm/hooks/useAuth/useOAuth2.mjs +1 -1
  89. package/dist/esm/hooks/useAuth/useOAuth2.mjs.map +1 -1
  90. package/dist/esm/hooks/useAuth/useSession.mjs +1 -1
  91. package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
  92. package/dist/esm/hooks/useIntlayerAPI.mjs.map +1 -1
  93. package/dist/esm/libs/auth.mjs +1 -1
  94. package/dist/esm/libs/auth.mjs.map +1 -1
  95. package/dist/esm/providers/ReactQueryProvider.mjs +1 -1
  96. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +3 -3
  97. package/dist/types/components/Breadcrumb/index.d.ts +1 -1
  98. package/dist/types/components/Browser/Browser.content.d.ts +17 -17
  99. package/dist/types/components/Button/Button.d.ts +1 -1
  100. package/dist/types/components/Carousel/index.content.d.ts +7 -7
  101. package/dist/types/components/Carousel/index.d.ts.map +1 -1
  102. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +1 -1
  103. package/dist/types/components/Command/index.d.ts +2 -2
  104. package/dist/types/components/Container/index.d.ts +2 -2
  105. package/dist/types/components/CopyButton/CopyButton.content.d.ts +3 -3
  106. package/dist/types/components/DictionaryEditor/DictionaryEditor.d.ts +2 -1
  107. package/dist/types/components/DictionaryEditor/DictionaryEditor.d.ts.map +1 -1
  108. package/dist/types/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts +1 -1
  109. package/dist/types/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts.map +1 -1
  110. package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts +1 -1
  111. package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts.map +1 -1
  112. package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts +1 -1
  113. package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts.map +1 -1
  114. package/dist/types/components/DictionaryEditor/NodeWrapper/FileWrapper.d.ts.map +1 -1
  115. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts +1 -1
  116. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts.map +1 -1
  117. package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts +1 -1
  118. package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts.map +1 -1
  119. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts +1 -1
  120. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts.map +1 -1
  121. package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts +1 -1
  122. package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts.map +1 -1
  123. package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts +1 -1
  124. package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts.map +1 -1
  125. package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts +3 -1
  126. package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts.map +1 -1
  127. package/dist/types/components/DictionaryFieldEditor/ContentEditor.d.ts +1 -1
  128. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts +2 -1
  129. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  130. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +25 -25
  131. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +9 -9
  132. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts +1 -1
  133. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +55 -55
  134. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +33 -33
  135. package/dist/types/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts +1 -1
  136. package/dist/types/components/DictionaryFieldEditor/JSONEditor.d.ts +1 -1
  137. package/dist/types/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts +2 -1
  138. package/dist/types/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts.map +1 -1
  139. package/dist/types/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts +4 -4
  140. package/dist/types/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
  141. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +25 -25
  142. package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts +2 -1
  143. package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
  144. package/dist/types/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts +1 -1
  145. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +33 -33
  146. package/dist/types/components/DictionaryFieldEditor/StructureEditor.d.ts +1 -1
  147. package/dist/types/components/DictionaryFieldEditor/StructureView/StructureView.d.ts +2 -1
  148. package/dist/types/components/DictionaryFieldEditor/StructureView/StructureView.d.ts.map +1 -1
  149. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +9 -9
  150. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +7 -7
  151. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +5 -5
  152. package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts +1 -1
  153. package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts.map +1 -1
  154. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +31 -31
  155. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +3 -3
  156. package/dist/types/components/Flags/Flag.d.ts +1 -1
  157. package/dist/types/components/Flags/Flag.d.ts.map +1 -1
  158. package/dist/types/components/HTMLRender/HTMLRender.d.ts +1 -1
  159. package/dist/types/components/IDE/code.content.d.ts +5 -5
  160. package/dist/types/components/IDE/copyCode.content.d.ts +5 -5
  161. package/dist/types/components/IDE/selectors.content.d.ts +13 -13
  162. package/dist/types/components/Input/Checkbox.d.ts +1 -1
  163. package/dist/types/components/LanguageBackground/index.d.ts.map +1 -1
  164. package/dist/types/components/Link/Link.d.ts +1 -1
  165. package/dist/types/components/Loader/index.content.d.ts +3 -3
  166. package/dist/types/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.d.ts.map +1 -1
  167. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +17 -17
  168. package/dist/types/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts +1 -1
  169. package/dist/types/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts.map +1 -1
  170. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +13 -13
  171. package/dist/types/components/MarkDownRender/MarkDownRender.d.ts +2 -2
  172. package/dist/types/components/MarkDownRender/MarkDownRender.d.ts.map +1 -1
  173. package/dist/types/components/Pagination/Pagination.d.ts +1 -1
  174. package/dist/types/components/Pagination/pagination.content.d.ts +11 -11
  175. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts +5 -5
  176. package/dist/types/components/Tab/Tab.d.ts +1 -1
  177. package/dist/types/components/TabSelector/TabSelector.d.ts +1 -1
  178. package/dist/types/components/Table/table.content.d.ts +3 -3
  179. package/dist/types/components/Terminal/terminal.content.d.ts +5 -5
  180. package/dist/types/hooks/useAuth/useAuth.d.ts +1 -1
  181. package/dist/types/hooks/useAuth/useOAuth2.d.ts +1 -1
  182. package/dist/types/hooks/useAuth/useSession.d.ts +1 -1
  183. package/dist/types/hooks/useIntlayerAPI.d.ts +1 -1
  184. package/dist/types/libs/auth.d.ts +1 -1
  185. package/dist/types/libs/auth.d.ts.map +1 -1
  186. package/package.json +31 -29
@@ -1 +1 @@
1
- {"version":3,"file":"Flag.mjs","names":[],"sources":["../../../../src/components/Flags/Flag.tsx"],"sourcesContent":["import { type Locale, Locales } from '@intlayer/types';\nimport {\n type FC,\n type ImgHTMLAttributes,\n type JSX,\n lazy,\n Suspense,\n} from 'react';\n\ntype FlagProps = ImgHTMLAttributes<HTMLImageElement> & {\n locale: Locale;\n};\n\n// This ensures React.lazy always receives a valid component,\n// regardless of how your bundler loads SVGs.\nconst dynamicFlag = (importFn: () => Promise<any>) =>\n lazy(async () => {\n const module = await importFn();\n const asset = module.default;\n\n // Case A: Bundler returns a URL string (e.g. file-loader)\n // We wrap it in a simple img component\n if (typeof asset === 'string') {\n return {\n default: (props: any) => <img src={asset} alt=\"flag\" {...props} />,\n };\n }\n\n // Case B: Bundler returns a React Component (SVGR)\n // We return it as-is\n return { default: asset };\n });\n\nconst flagRecord: Partial<Record<Locale, ReturnType<typeof dynamicFlag>>> = {\n [Locales.ENGLISH]: dynamicFlag(() => import('./us.svg')),\n [Locales.FRENCH]: dynamicFlag(() => import('./fr.svg')),\n [Locales.SPANISH]: dynamicFlag(() => import('./es.svg')),\n [Locales.PORTUGUESE]: dynamicFlag(() => import('./pt.svg')),\n [Locales.GERMAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.AFRIKAANS]: dynamicFlag(() => import('./za.svg')),\n [Locales.ARABIC]: dynamicFlag(() => import('./sa.svg')),\n [Locales.AZERI_LATIN]: dynamicFlag(() => import('./az.svg')),\n [Locales.BELARUSIAN]: dynamicFlag(() => import('./by.svg')),\n [Locales.BULGARIAN]: dynamicFlag(() => import('./bg.svg')),\n [Locales.BOSNIAN]: dynamicFlag(() => import('./ba.svg')),\n [Locales.CATALAN]: dynamicFlag(() => import('./es-ct.svg')),\n [Locales.CZECH]: dynamicFlag(() => import('./cz.svg')),\n [Locales.WELSH]: dynamicFlag(() => import('./gb-wls.svg')),\n [Locales.DANISH]: dynamicFlag(() => import('./dk.svg')),\n [Locales.DIVEHI]: dynamicFlag(() => import('./mv.svg')),\n [Locales.GREEK]: dynamicFlag(() => import('./gr.svg')),\n [Locales.ESPERANTO]: dynamicFlag(() => import('./xx.svg')), // No specific flag\n [Locales.ESTONIAN]: dynamicFlag(() => import('./ee.svg')),\n [Locales.BASQUE]: dynamicFlag(() => import('./es-pv.svg')),\n [Locales.FARSI]: dynamicFlag(() => import('./ir.svg')),\n [Locales.FINNISH]: dynamicFlag(() => import('./fi.svg')),\n [Locales.FAROESE]: dynamicFlag(() => import('./fo.svg')),\n [Locales.GALICIAN]: dynamicFlag(() => import('./es-ga.svg')),\n [Locales.GUJARATI]: dynamicFlag(() => import('./in.svg')),\n [Locales.HEBREW]: dynamicFlag(() => import('./il.svg')),\n [Locales.HINDI]: dynamicFlag(() => import('./in.svg')),\n [Locales.CROATIAN]: dynamicFlag(() => import('./hr.svg')),\n [Locales.HUNGARIAN]: dynamicFlag(() => import('./hu.svg')),\n [Locales.ARMENIAN]: dynamicFlag(() => import('./am.svg')),\n [Locales.INDONESIAN]: dynamicFlag(() => import('./id.svg')),\n [Locales.ICELANDIC]: dynamicFlag(() => import('./is.svg')),\n [Locales.ITALIAN]: dynamicFlag(() => import('./it.svg')),\n [Locales.JAPANESE]: dynamicFlag(() => import('./jp.svg')),\n [Locales.GEORGIAN]: dynamicFlag(() => import('./ge.svg')),\n [Locales.KAZAKH]: dynamicFlag(() => import('./kz.svg')),\n [Locales.KANNADA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KOREAN]: dynamicFlag(() => import('./kr.svg')),\n [Locales.KONKANI]: dynamicFlag(() => import('./in.svg')),\n [Locales.KYRGYZ]: dynamicFlag(() => import('./kg.svg')),\n [Locales.LITHUANIAN]: dynamicFlag(() => import('./lt.svg')),\n [Locales.LATVIAN]: dynamicFlag(() => import('./lv.svg')),\n [Locales.MAORI]: dynamicFlag(() => import('./nz.svg')),\n [Locales.FYRO_MACEDONIAN]: dynamicFlag(() => import('./mk.svg')),\n [Locales.MONGOLIAN]: dynamicFlag(() => import('./mn.svg')),\n [Locales.MARATHI]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAY]: dynamicFlag(() => import('./my.svg')),\n [Locales.MALTESE]: dynamicFlag(() => import('./mt.svg')),\n [Locales.NORWEGIAN_BOKMAL]: dynamicFlag(() => import('./no.svg')),\n [Locales.DUTCH]: dynamicFlag(() => import('./nl.svg')),\n [Locales.NORTHERN_SOTHO]: dynamicFlag(() => import('./za.svg')),\n [Locales.PUNJABI]: dynamicFlag(() => import('./in.svg')),\n [Locales.POLISH]: dynamicFlag(() => import('./pl.svg')),\n [Locales.PASHTO]: dynamicFlag(() => import('./af.svg')),\n [Locales.QUECHUA]: dynamicFlag(() => import('./pe.svg')),\n [Locales.ROMANIAN]: dynamicFlag(() => import('./ro.svg')),\n [Locales.RUSSIAN]: dynamicFlag(() => import('./ru.svg')),\n [Locales.SANSKRIT]: dynamicFlag(() => import('./in.svg')),\n [Locales.SAMI_NORTHERN]: dynamicFlag(() => import('./no.svg')), // No specific flag, assuming Norway\n [Locales.SLOVAK]: dynamicFlag(() => import('./sk.svg')),\n [Locales.SLOVENIAN]: dynamicFlag(() => import('./si.svg')),\n [Locales.ALBANIAN]: dynamicFlag(() => import('./al.svg')),\n [Locales.SERBIAN_LATIN]: dynamicFlag(() => import('./rs.svg')),\n [Locales.SWEDISH]: dynamicFlag(() => import('./se.svg')),\n [Locales.SWEDISH_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.SWEDISH_SWEDEN]: dynamicFlag(() => import('./se.svg')),\n [Locales.SWAHILI]: dynamicFlag(() => import('./ke.svg')),\n [Locales.SYRIAC]: dynamicFlag(() => import('./sy.svg')),\n [Locales.TAMIL]: dynamicFlag(() => import('./in.svg')),\n [Locales.TELUGU]: dynamicFlag(() => import('./in.svg')),\n [Locales.THAI]: dynamicFlag(() => import('./th.svg')),\n [Locales.TAGALOG]: dynamicFlag(() => import('./ph.svg')),\n [Locales.TSWANA]: dynamicFlag(() => import('./za.svg')),\n [Locales.TURKISH]: dynamicFlag(() => import('./tr.svg')),\n [Locales.TATAR]: dynamicFlag(() => import('./ru.svg')), // Assuming Russian Federation\n [Locales.UKRAINIAN]: dynamicFlag(() => import('./ua.svg')),\n [Locales.URDU]: dynamicFlag(() => import('./pk.svg')),\n [Locales.UZBEK_LATIN]: dynamicFlag(() => import('./uz.svg')),\n [Locales.VIETNAMESE]: dynamicFlag(() => import('./vn.svg')),\n [Locales.XHOSA]: dynamicFlag(() => import('./za.svg')),\n [Locales.CHINESE_SIMPLIFIED]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_TRADITIONAL]: dynamicFlag(() => import('./tw.svg')),\n [Locales.ZULU]: dynamicFlag(() => import('./za.svg')),\n [Locales.AFRIKAANS_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.ARABIC_UNITED_ARAB_EMIRATES]: dynamicFlag(() => import('./ae.svg')),\n [Locales.ARABIC_BAHRAIN]: dynamicFlag(() => import('./bh.svg')),\n [Locales.ARABIC_ALGERIA]: dynamicFlag(() => import('./dz.svg')),\n [Locales.ARABIC_EGYPT]: dynamicFlag(() => import('./eg.svg')),\n [Locales.ARABIC_IRAQ]: dynamicFlag(() => import('./iq.svg')),\n [Locales.ARABIC_JORDAN]: dynamicFlag(() => import('./jo.svg')),\n [Locales.ARABIC_KUWAIT]: dynamicFlag(() => import('./kw.svg')),\n [Locales.ARABIC_LEBANON]: dynamicFlag(() => import('./lb.svg')),\n [Locales.ARABIC_LIBYA]: dynamicFlag(() => import('./ly.svg')),\n [Locales.ARABIC_MOROCCO]: dynamicFlag(() => import('./ma.svg')),\n [Locales.ARABIC_OMAN]: dynamicFlag(() => import('./om.svg')),\n [Locales.ARABIC_QATAR]: dynamicFlag(() => import('./qa.svg')),\n [Locales.ARABIC_SAUDI_ARABIA]: dynamicFlag(() => import('./sa.svg')),\n [Locales.ARABIC_SYRIA]: dynamicFlag(() => import('./sy.svg')),\n [Locales.ARABIC_TUNISIA]: dynamicFlag(() => import('./tn.svg')),\n [Locales.ARABIC_YEMEN]: dynamicFlag(() => import('./ye.svg')),\n [Locales.AZERI_LATIN_AZERBAIJAN]: dynamicFlag(() => import('./az.svg')),\n [Locales.BELARUSIAN_BELARUS]: dynamicFlag(() => import('./by.svg')),\n [Locales.BULGARIAN_BULGARIA]: dynamicFlag(() => import('./bg.svg')),\n [Locales.BOSNIAN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.CATALAN_SPAIN]: dynamicFlag(() => import('./es-ct.svg')),\n [Locales.CZECH_CZECH_REPUBLIC]: dynamicFlag(() => import('./cz.svg')),\n [Locales.WELSH_UNITED_KINGDOM]: dynamicFlag(() => import('./gb-wls.svg')),\n [Locales.DANISH_DENMARK]: dynamicFlag(() => import('./dk.svg')),\n [Locales.GERMAN_AUSTRIA]: dynamicFlag(() => import('./at.svg')),\n [Locales.GERMAN_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.GERMAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.GERMAN_LIECHTENSTEIN]: dynamicFlag(() => import('./li.svg')),\n [Locales.GERMAN_LUXEMBOURG]: dynamicFlag(() => import('./lu.svg')),\n [Locales.DIVEHI_MALDIVES]: dynamicFlag(() => import('./mv.svg')),\n [Locales.GREEK_GREECE]: dynamicFlag(() => import('./gr.svg')),\n [Locales.ENGLISH_AUSTRALIA]: dynamicFlag(() => import('./au.svg')),\n [Locales.ENGLISH_BELIZE]: dynamicFlag(() => import('./bz.svg')),\n [Locales.ENGLISH_CANADA]: dynamicFlag(() => import('./ca.svg')),\n [Locales.ENGLISH_CARIBBEAN]: dynamicFlag(() => import('./jm.svg')), // Using Jamaica as representative of English-speaking Caribbean\n [Locales.ENGLISH_UNITED_KINGDOM]: dynamicFlag(() => import('./gb.svg')),\n [Locales.ENGLISH_IRELAND]: dynamicFlag(() => import('./ie.svg')),\n [Locales.ENGLISH_JAMAICA]: dynamicFlag(() => import('./jm.svg')),\n [Locales.ENGLISH_NEW_ZEALAND]: dynamicFlag(() => import('./nz.svg')),\n [Locales.ENGLISH_PHILIPPINES]: dynamicFlag(() => import('./ph.svg')),\n [Locales.ENGLISH_TRINIDAD_AND_TOBAGO]: dynamicFlag(() => import('./tt.svg')),\n [Locales.ENGLISH_UNITED_STATES]: dynamicFlag(() => import('./us.svg')),\n [Locales.ENGLISH_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.ENGLISH_ZIMBABWE]: dynamicFlag(() => import('./zw.svg')),\n [Locales.SPANISH_ARGENTINA]: dynamicFlag(() => import('./ar.svg')),\n [Locales.SPANISH_BOLIVIA]: dynamicFlag(() => import('./bo.svg')),\n [Locales.SPANISH_CHILE]: dynamicFlag(() => import('./cl.svg')),\n [Locales.SPANISH_COLOMBIA]: dynamicFlag(() => import('./co.svg')),\n [Locales.SPANISH_COSTA_RICA]: dynamicFlag(() => import('./cr.svg')),\n [Locales.SPANISH_DOMINICAN_REPUBLIC]: dynamicFlag(() => import('./do.svg')),\n [Locales.SPANISH_ECUADOR]: dynamicFlag(() => import('./ec.svg')),\n [Locales.SPANISH_SPAIN]: dynamicFlag(() => import('./es.svg')),\n [Locales.SPANISH_GUATEMALA]: dynamicFlag(() => import('./gt.svg')),\n [Locales.SPANISH_HONDURAS]: dynamicFlag(() => import('./hn.svg')),\n [Locales.SPANISH_MEXICO]: dynamicFlag(() => import('./mx.svg')),\n [Locales.SPANISH_NICARAGUA]: dynamicFlag(() => import('./ni.svg')),\n [Locales.SPANISH_PANAMA]: dynamicFlag(() => import('./pa.svg')),\n [Locales.SPANISH_PERU]: dynamicFlag(() => import('./pe.svg')),\n [Locales.SPANISH_PUERTO_RICO]: dynamicFlag(() => import('./pr.svg')),\n [Locales.SPANISH_PARAGUAY]: dynamicFlag(() => import('./py.svg')),\n [Locales.SPANISH_EL_SALVADOR]: dynamicFlag(() => import('./sv.svg')),\n [Locales.SPANISH_URUGUAY]: dynamicFlag(() => import('./uy.svg')),\n [Locales.SPANISH_VENEZUELA]: dynamicFlag(() => import('./ve.svg')),\n [Locales.ESTONIAN_ESTONIA]: dynamicFlag(() => import('./ee.svg')),\n [Locales.BASQUE_SPAIN]: dynamicFlag(() => import('./es-pv.svg')),\n [Locales.FARSI_IRAN]: dynamicFlag(() => import('./ir.svg')),\n [Locales.FINNISH_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.FAROESE_FAROE_ISLANDS]: dynamicFlag(() => import('./fo.svg')),\n [Locales.FRENCH_BELGIUM]: dynamicFlag(() => import('./be.svg')),\n [Locales.FRENCH_CANADA]: dynamicFlag(() => import('./ca.svg')),\n [Locales.FRENCH_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.FRENCH_FRANCE]: dynamicFlag(() => import('./fr.svg')),\n [Locales.FRENCH_LUXEMBOURG]: dynamicFlag(() => import('./lu.svg')),\n [Locales.FRENCH_PRINCIPALITY_OF_MONACO]: dynamicFlag(\n () => import('./mc.svg')\n ),\n [Locales.GALICIAN_SPAIN]: dynamicFlag(() => import('./es-ga.svg')),\n [Locales.GUJARATI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.HEBREW_ISRAEL]: dynamicFlag(() => import('./il.svg')),\n [Locales.HINDI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.CROATIAN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.CROATIAN_CROATIA]: dynamicFlag(() => import('./hr.svg')),\n [Locales.HUNGARIAN_HUNGARY]: dynamicFlag(() => import('./hu.svg')),\n [Locales.ARMENIAN_ARMENIA]: dynamicFlag(() => import('./am.svg')),\n [Locales.INDONESIAN_INDONESIA]: dynamicFlag(() => import('./id.svg')),\n [Locales.ICELANDIC_ICELAND]: dynamicFlag(() => import('./is.svg')),\n [Locales.ITALIAN_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.ITALIAN_ITALY]: dynamicFlag(() => import('./it.svg')),\n [Locales.JAPANESE_JAPAN]: dynamicFlag(() => import('./jp.svg')),\n [Locales.GEORGIAN_GEORGIA]: dynamicFlag(() => import('./ge.svg')),\n [Locales.KAZAKH_KAZAKHSTAN]: dynamicFlag(() => import('./kz.svg')),\n [Locales.KANNADA_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KOREAN_KOREA]: dynamicFlag(() => import('./kr.svg')),\n [Locales.KONKANI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KYRGYZ_KYRGYZSTAN]: dynamicFlag(() => import('./kg.svg')),\n [Locales.LITHUANIAN_LITHUANIA]: dynamicFlag(() => import('./lt.svg')),\n [Locales.LATVIAN_LATVIA]: dynamicFlag(() => import('./lv.svg')),\n [Locales.MAORI_NEW_ZEALAND]: dynamicFlag(() => import('./nz.svg')),\n [Locales.FYRO_MACEDONIAN_MACEDONIA]: dynamicFlag(() => import('./mk.svg')),\n [Locales.MONGOLIAN_MONGOLIA]: dynamicFlag(() => import('./mn.svg')),\n [Locales.MARATHI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAY_BRUNEI_DARUSSALAM]: dynamicFlag(() => import('./bn.svg')),\n [Locales.MALAY_MALAYSIA]: dynamicFlag(() => import('./my.svg')),\n [Locales.MALTESE_MALTA]: dynamicFlag(() => import('./mt.svg')),\n [Locales.NORWEGIAN_BOKMAL_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.DUTCH_BELGIUM]: dynamicFlag(() => import('./be.svg')),\n [Locales.DUTCH_NETHERLANDS]: dynamicFlag(() => import('./nl.svg')),\n [Locales.NORWEGIAN_NYNORSK_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.NORTHERN_SOTHO_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.PUNJABI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.POLISH_POLAND]: dynamicFlag(() => import('./pl.svg')),\n [Locales.PASHTO_AFGHANISTAN]: dynamicFlag(() => import('./af.svg')),\n [Locales.PORTUGUESE_BRAZIL]: dynamicFlag(() => import('./br.svg')),\n [Locales.PORTUGUESE_PORTUGAL]: dynamicFlag(() => import('./pt.svg')),\n [Locales.QUECHUA_BOLIVIA]: dynamicFlag(() => import('./bo.svg')),\n [Locales.QUECHUA_ECUADOR]: dynamicFlag(() => import('./ec.svg')),\n [Locales.QUECHUA_PERU]: dynamicFlag(() => import('./pe.svg')),\n [Locales.ROMANIAN_ROMANIA]: dynamicFlag(() => import('./ro.svg')),\n [Locales.RUSSIAN_RUSSIA]: dynamicFlag(() => import('./ru.svg')),\n [Locales.SANSKRIT_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.SAMI_NORTHERN_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.SAMI_NORTHERN_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.SAMI_NORTHERN_SWEDEN]: dynamicFlag(() => import('./se.svg')),\n [Locales.SLOVAK_SLOVAKIA]: dynamicFlag(() => import('./sk.svg')),\n [Locales.SLOVENIAN_SLOVENIA]: dynamicFlag(() => import('./si.svg')),\n [Locales.ALBANIAN_ALBANIA]: dynamicFlag(() => import('./al.svg')),\n [Locales.SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.SERBIAN_LATIN_SERBIA_AND_MONTENEGRO]: dynamicFlag(\n () => import('./rs.svg')\n ),\n [Locales.SWAHILI_KENYA]: dynamicFlag(() => import('./ke.svg')),\n [Locales.SYRIAC_SYRIA]: dynamicFlag(() => import('./sy.svg')),\n [Locales.TAMIL_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.TELUGU_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.THAI_THAILAND]: dynamicFlag(() => import('./th.svg')),\n [Locales.TAGALOG_PHILIPPINES]: dynamicFlag(() => import('./ph.svg')),\n [Locales.TSWANA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.TURKISH_TURKEY]: dynamicFlag(() => import('./tr.svg')),\n [Locales.TATAR_RUSSIA]: dynamicFlag(() => import('./ru.svg')),\n [Locales.TSOGA]: dynamicFlag(() => import('./xx.svg')), // No specific flag\n [Locales.UKRAINIAN_UKRAINE]: dynamicFlag(() => import('./ua.svg')),\n [Locales.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN]: dynamicFlag(\n () => import('./pk.svg')\n ),\n [Locales.UZBEK_LATIN_UZBEKISTAN]: dynamicFlag(() => import('./uz.svg')),\n [Locales.VIETNAMESE_VIET_NAM]: dynamicFlag(() => import('./vn.svg')),\n [Locales.XHOSA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.CHINESE]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_SIMPLIFIED_CHINA]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_HONG_KONG]: dynamicFlag(() => import('./hk.svg')),\n [Locales.CHINESE_MACAU]: dynamicFlag(() => import('./mo.svg')),\n [Locales.CHINESE_SINGAPORE]: dynamicFlag(() => import('./sg.svg')),\n [Locales.ZULU_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.BENGALI]: dynamicFlag(() => import('./in.svg')),\n [Locales.BENGALI_BANGLADESH]: dynamicFlag(() => import('./bd.svg')),\n [Locales.BENGALI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.BENGALI_MYANMAR]: dynamicFlag(() => import('./mm.svg')),\n [Locales.BURMESE]: dynamicFlag(() => import('./mm.svg')),\n [Locales.BURMESE_MYANMAR]: dynamicFlag(() => import('./mm.svg')),\n [Locales.KHMER]: dynamicFlag(() => import('./kh.svg')),\n [Locales.KHMER_CAMBODIA]: dynamicFlag(() => import('./kh.svg')),\n [Locales.LAO]: dynamicFlag(() => import('./la.svg')),\n [Locales.LAO_LAOS]: dynamicFlag(() => import('./la.svg')),\n [Locales.YORUBA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.YORUBA_NIGERIA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.AMHARIC]: dynamicFlag(() => import('./et.svg')),\n [Locales.AMHARIC_ETHIOPIA]: dynamicFlag(() => import('./et.svg')),\n [Locales.NEPALI]: dynamicFlag(() => import('./np.svg')),\n [Locales.NEPALI_NEPAL]: dynamicFlag(() => import('./np.svg')),\n [Locales.IRISH]: dynamicFlag(() => import('./ie.svg')),\n [Locales.IRISH_IRELAND]: dynamicFlag(() => import('./ie.svg')),\n [Locales.SCOTTISH_GAELIC]: dynamicFlag(() => import('./gb.svg')),\n [Locales.SCOTTISH_GAELIC_UNITED_KINGDOM]: dynamicFlag(\n () => import('./gb.svg')\n ),\n [Locales.KURDISH]: dynamicFlag(() => import('./tr.svg')),\n [Locales.KURDISH_TURKEY]: dynamicFlag(() => import('./tr.svg')),\n [Locales.MALAYALAM]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAYALAM_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.NORWEGIAN]: dynamicFlag(() => import('./no.svg')),\n [Locales.NORWEGIAN_NYNORSK]: dynamicFlag(() => import('./no.svg')),\n [Locales.ROMANIAN_MOLDOVA]: dynamicFlag(() => import('./md.svg')),\n [Locales.ROMANSH]: dynamicFlag(() => import('./ch.svg')),\n [Locales.ROMANSH_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.RUSSIAN_MOLDOVA]: dynamicFlag(() => import('./md.svg')),\n [Locales.UPPER_SORBIAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.UPPER_SORBIAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.LOWER_SORBIAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.LOWER_SORBIAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.VENDA]: dynamicFlag(() => import('./za.svg')),\n [Locales.VENDA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.YIDDISH]: dynamicFlag(() => import('./il.svg')),\n [Locales.YIDDISH_WORLD]: dynamicFlag(() => import('./il.svg')),\n [Locales.SINHALA]: dynamicFlag(() => import('./lk.svg')),\n [Locales.SINHALA_SRI_LANKA]: dynamicFlag(() => import('./lk.svg')),\n [Locales.SERBIAN_CYRILLIC]: dynamicFlag(() => import('./rs.svg')),\n [Locales.SERBIAN_CYRILLIC_SERBIA]: dynamicFlag(() => import('./rs.svg')),\n [Locales.ENGLISH_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.ENGLISH_SINGAPORE]: dynamicFlag(() => import('./sg.svg')),\n [Locales.ENGLISH_HONG_KONG]: dynamicFlag(() => import('./hk.svg')),\n [Locales.ENGLISH_NIGERIA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.ENGLISH_PAKISTAN]: dynamicFlag(() => import('./pk.svg')),\n [Locales.ENGLISH_MALAYSIA]: dynamicFlag(() => import('./my.svg')),\n [Locales.ENGLISH_BOTSWANA]: dynamicFlag(() => import('./bw.svg')),\n [Locales.ENGLISH_KENYA]: dynamicFlag(() => import('./ke.svg')),\n [Locales.ENGLISH_TANZANIA]: dynamicFlag(() => import('./tz.svg')),\n [Locales.ENGLISH_GHANA]: dynamicFlag(() => import('./gh.svg')),\n [Locales.ENGLISH_UGANDA]: dynamicFlag(() => import('./ug.svg')),\n [Locales.SPANISH_CUBA]: dynamicFlag(() => import('./cu.svg')),\n [Locales.SPANISH_UNITED_STATES]: dynamicFlag(() => import('./us.svg')),\n [Locales.PORTUGUESE_GUINEA_BISSAU]: dynamicFlag(() => import('./gw.svg')),\n [Locales.PORTUGUESE_MOZAMBIQUE]: dynamicFlag(() => import('./mz.svg')),\n [Locales.PORTUGUESE_SAO_TOME_AND_PRINCIPE]: dynamicFlag(\n () => import('./st.svg')\n ),\n [Locales.PORTUGUESE_CAPE_VERDE]: dynamicFlag(() => import('./cv.svg')),\n [Locales.PORTUGUESE_TIMOR_LESTE]: dynamicFlag(() => import('./tl.svg')),\n [Locales.PORTUGUESE_MACAU]: dynamicFlag(() => import('./mo.svg')),\n [Locales.CHINESE_TAIWAN]: dynamicFlag(() => import('./tw.svg')),\n [Locales.ARABIC_MAURITANIA]: dynamicFlag(() => import('./mr.svg')),\n [Locales.ARABIC_PALESTINE]: dynamicFlag(() => import('./ps.svg')),\n [Locales.ARABIC_SUDAN]: dynamicFlag(() => import('./sd.svg')),\n [Locales.ARABIC_DJIBOUTI]: dynamicFlag(() => import('./dj.svg')),\n [Locales.ARABIC_SOMALIA]: dynamicFlag(() => import('./so.svg')),\n [Locales.ARABIC_CHAD]: dynamicFlag(() => import('./td.svg')),\n [Locales.ARABIC_COMOROS]: dynamicFlag(() => import('./km.svg')),\n};\n\nexport const Flag: FC<FlagProps> = ({ locale, alt, ...props }): JSX.Element => {\n const LazyFlag = flagRecord[locale] ?? dynamicFlag(() => import('./xx.svg'));\n\n return (\n <Suspense>\n <LazyFlag alt={alt ?? `${locale} flag`} {...(props as any)} role=\"img\" />\n </Suspense>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Flag.mjs","names":[],"sources":["../../../../src/components/Flags/Flag.tsx"],"sourcesContent":["import type { Locale } from '@intlayer/types/allLocales';\nimport * as Locales from '@intlayer/types/locales';\nimport {\n type FC,\n type ImgHTMLAttributes,\n type JSX,\n lazy,\n Suspense,\n} from 'react';\n\ntype FlagProps = ImgHTMLAttributes<HTMLImageElement> & {\n locale: Locale;\n};\n\n// This ensures React.lazy always receives a valid component,\n// regardless of how your bundler loads SVGs.\nconst dynamicFlag = (importFn: () => Promise<any>) =>\n lazy(async () => {\n const module = await importFn();\n const asset = module.default;\n\n // Case A: Bundler returns a URL string (e.g. file-loader)\n // We wrap it in a simple img component\n if (typeof asset === 'string') {\n return {\n default: (props: any) => <img src={asset} alt=\"flag\" {...props} />,\n };\n }\n\n // Case B: Bundler returns a React Component (SVGR)\n // We return it as-is\n return { default: asset };\n });\n\nconst flagRecord: Partial<Record<Locale, ReturnType<typeof dynamicFlag>>> = {\n [Locales.ENGLISH]: dynamicFlag(() => import('./us.svg')),\n [Locales.FRENCH]: dynamicFlag(() => import('./fr.svg')),\n [Locales.SPANISH]: dynamicFlag(() => import('./es.svg')),\n [Locales.PORTUGUESE]: dynamicFlag(() => import('./pt.svg')),\n [Locales.GERMAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.AFRIKAANS]: dynamicFlag(() => import('./za.svg')),\n [Locales.ARABIC]: dynamicFlag(() => import('./sa.svg')),\n [Locales.AZERI_LATIN]: dynamicFlag(() => import('./az.svg')),\n [Locales.BELARUSIAN]: dynamicFlag(() => import('./by.svg')),\n [Locales.BULGARIAN]: dynamicFlag(() => import('./bg.svg')),\n [Locales.BOSNIAN]: dynamicFlag(() => import('./ba.svg')),\n [Locales.CATALAN]: dynamicFlag(() => import('./es-ct.svg')),\n [Locales.CZECH]: dynamicFlag(() => import('./cz.svg')),\n [Locales.WELSH]: dynamicFlag(() => import('./gb-wls.svg')),\n [Locales.DANISH]: dynamicFlag(() => import('./dk.svg')),\n [Locales.DIVEHI]: dynamicFlag(() => import('./mv.svg')),\n [Locales.GREEK]: dynamicFlag(() => import('./gr.svg')),\n [Locales.ESPERANTO]: dynamicFlag(() => import('./xx.svg')), // No specific flag\n [Locales.ESTONIAN]: dynamicFlag(() => import('./ee.svg')),\n [Locales.BASQUE]: dynamicFlag(() => import('./es-pv.svg')),\n [Locales.FARSI]: dynamicFlag(() => import('./ir.svg')),\n [Locales.FINNISH]: dynamicFlag(() => import('./fi.svg')),\n [Locales.FAROESE]: dynamicFlag(() => import('./fo.svg')),\n [Locales.GALICIAN]: dynamicFlag(() => import('./es-ga.svg')),\n [Locales.GUJARATI]: dynamicFlag(() => import('./in.svg')),\n [Locales.HEBREW]: dynamicFlag(() => import('./il.svg')),\n [Locales.HINDI]: dynamicFlag(() => import('./in.svg')),\n [Locales.CROATIAN]: dynamicFlag(() => import('./hr.svg')),\n [Locales.HUNGARIAN]: dynamicFlag(() => import('./hu.svg')),\n [Locales.ARMENIAN]: dynamicFlag(() => import('./am.svg')),\n [Locales.INDONESIAN]: dynamicFlag(() => import('./id.svg')),\n [Locales.ICELANDIC]: dynamicFlag(() => import('./is.svg')),\n [Locales.ITALIAN]: dynamicFlag(() => import('./it.svg')),\n [Locales.JAPANESE]: dynamicFlag(() => import('./jp.svg')),\n [Locales.GEORGIAN]: dynamicFlag(() => import('./ge.svg')),\n [Locales.KAZAKH]: dynamicFlag(() => import('./kz.svg')),\n [Locales.KANNADA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KOREAN]: dynamicFlag(() => import('./kr.svg')),\n [Locales.KONKANI]: dynamicFlag(() => import('./in.svg')),\n [Locales.KYRGYZ]: dynamicFlag(() => import('./kg.svg')),\n [Locales.LITHUANIAN]: dynamicFlag(() => import('./lt.svg')),\n [Locales.LATVIAN]: dynamicFlag(() => import('./lv.svg')),\n [Locales.MAORI]: dynamicFlag(() => import('./nz.svg')),\n [Locales.FYRO_MACEDONIAN]: dynamicFlag(() => import('./mk.svg')),\n [Locales.MONGOLIAN]: dynamicFlag(() => import('./mn.svg')),\n [Locales.MARATHI]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAY]: dynamicFlag(() => import('./my.svg')),\n [Locales.MALTESE]: dynamicFlag(() => import('./mt.svg')),\n [Locales.NORWEGIAN_BOKMAL]: dynamicFlag(() => import('./no.svg')),\n [Locales.DUTCH]: dynamicFlag(() => import('./nl.svg')),\n [Locales.NORTHERN_SOTHO]: dynamicFlag(() => import('./za.svg')),\n [Locales.PUNJABI]: dynamicFlag(() => import('./in.svg')),\n [Locales.POLISH]: dynamicFlag(() => import('./pl.svg')),\n [Locales.PASHTO]: dynamicFlag(() => import('./af.svg')),\n [Locales.QUECHUA]: dynamicFlag(() => import('./pe.svg')),\n [Locales.ROMANIAN]: dynamicFlag(() => import('./ro.svg')),\n [Locales.RUSSIAN]: dynamicFlag(() => import('./ru.svg')),\n [Locales.SANSKRIT]: dynamicFlag(() => import('./in.svg')),\n [Locales.SAMI_NORTHERN]: dynamicFlag(() => import('./no.svg')), // No specific flag, assuming Norway\n [Locales.SLOVAK]: dynamicFlag(() => import('./sk.svg')),\n [Locales.SLOVENIAN]: dynamicFlag(() => import('./si.svg')),\n [Locales.ALBANIAN]: dynamicFlag(() => import('./al.svg')),\n [Locales.SERBIAN_LATIN]: dynamicFlag(() => import('./rs.svg')),\n [Locales.SWEDISH]: dynamicFlag(() => import('./se.svg')),\n [Locales.SWEDISH_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.SWEDISH_SWEDEN]: dynamicFlag(() => import('./se.svg')),\n [Locales.SWAHILI]: dynamicFlag(() => import('./ke.svg')),\n [Locales.SYRIAC]: dynamicFlag(() => import('./sy.svg')),\n [Locales.TAMIL]: dynamicFlag(() => import('./in.svg')),\n [Locales.TELUGU]: dynamicFlag(() => import('./in.svg')),\n [Locales.THAI]: dynamicFlag(() => import('./th.svg')),\n [Locales.TAGALOG]: dynamicFlag(() => import('./ph.svg')),\n [Locales.TSWANA]: dynamicFlag(() => import('./za.svg')),\n [Locales.TURKISH]: dynamicFlag(() => import('./tr.svg')),\n [Locales.TATAR]: dynamicFlag(() => import('./ru.svg')), // Assuming Russian Federation\n [Locales.UKRAINIAN]: dynamicFlag(() => import('./ua.svg')),\n [Locales.URDU]: dynamicFlag(() => import('./pk.svg')),\n [Locales.UZBEK_LATIN]: dynamicFlag(() => import('./uz.svg')),\n [Locales.VIETNAMESE]: dynamicFlag(() => import('./vn.svg')),\n [Locales.XHOSA]: dynamicFlag(() => import('./za.svg')),\n [Locales.CHINESE_SIMPLIFIED]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_TRADITIONAL]: dynamicFlag(() => import('./tw.svg')),\n [Locales.ZULU]: dynamicFlag(() => import('./za.svg')),\n [Locales.AFRIKAANS_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.ARABIC_UNITED_ARAB_EMIRATES]: dynamicFlag(() => import('./ae.svg')),\n [Locales.ARABIC_BAHRAIN]: dynamicFlag(() => import('./bh.svg')),\n [Locales.ARABIC_ALGERIA]: dynamicFlag(() => import('./dz.svg')),\n [Locales.ARABIC_EGYPT]: dynamicFlag(() => import('./eg.svg')),\n [Locales.ARABIC_IRAQ]: dynamicFlag(() => import('./iq.svg')),\n [Locales.ARABIC_JORDAN]: dynamicFlag(() => import('./jo.svg')),\n [Locales.ARABIC_KUWAIT]: dynamicFlag(() => import('./kw.svg')),\n [Locales.ARABIC_LEBANON]: dynamicFlag(() => import('./lb.svg')),\n [Locales.ARABIC_LIBYA]: dynamicFlag(() => import('./ly.svg')),\n [Locales.ARABIC_MOROCCO]: dynamicFlag(() => import('./ma.svg')),\n [Locales.ARABIC_OMAN]: dynamicFlag(() => import('./om.svg')),\n [Locales.ARABIC_QATAR]: dynamicFlag(() => import('./qa.svg')),\n [Locales.ARABIC_SAUDI_ARABIA]: dynamicFlag(() => import('./sa.svg')),\n [Locales.ARABIC_SYRIA]: dynamicFlag(() => import('./sy.svg')),\n [Locales.ARABIC_TUNISIA]: dynamicFlag(() => import('./tn.svg')),\n [Locales.ARABIC_YEMEN]: dynamicFlag(() => import('./ye.svg')),\n [Locales.AZERI_LATIN_AZERBAIJAN]: dynamicFlag(() => import('./az.svg')),\n [Locales.BELARUSIAN_BELARUS]: dynamicFlag(() => import('./by.svg')),\n [Locales.BULGARIAN_BULGARIA]: dynamicFlag(() => import('./bg.svg')),\n [Locales.BOSNIAN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.CATALAN_SPAIN]: dynamicFlag(() => import('./es-ct.svg')),\n [Locales.CZECH_CZECH_REPUBLIC]: dynamicFlag(() => import('./cz.svg')),\n [Locales.WELSH_UNITED_KINGDOM]: dynamicFlag(() => import('./gb-wls.svg')),\n [Locales.DANISH_DENMARK]: dynamicFlag(() => import('./dk.svg')),\n [Locales.GERMAN_AUSTRIA]: dynamicFlag(() => import('./at.svg')),\n [Locales.GERMAN_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.GERMAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.GERMAN_LIECHTENSTEIN]: dynamicFlag(() => import('./li.svg')),\n [Locales.GERMAN_LUXEMBOURG]: dynamicFlag(() => import('./lu.svg')),\n [Locales.DIVEHI_MALDIVES]: dynamicFlag(() => import('./mv.svg')),\n [Locales.GREEK_GREECE]: dynamicFlag(() => import('./gr.svg')),\n [Locales.ENGLISH_AUSTRALIA]: dynamicFlag(() => import('./au.svg')),\n [Locales.ENGLISH_BELIZE]: dynamicFlag(() => import('./bz.svg')),\n [Locales.ENGLISH_CANADA]: dynamicFlag(() => import('./ca.svg')),\n [Locales.ENGLISH_CARIBBEAN]: dynamicFlag(() => import('./jm.svg')), // Using Jamaica as representative of English-speaking Caribbean\n [Locales.ENGLISH_UNITED_KINGDOM]: dynamicFlag(() => import('./gb.svg')),\n [Locales.ENGLISH_IRELAND]: dynamicFlag(() => import('./ie.svg')),\n [Locales.ENGLISH_JAMAICA]: dynamicFlag(() => import('./jm.svg')),\n [Locales.ENGLISH_NEW_ZEALAND]: dynamicFlag(() => import('./nz.svg')),\n [Locales.ENGLISH_PHILIPPINES]: dynamicFlag(() => import('./ph.svg')),\n [Locales.ENGLISH_TRINIDAD_AND_TOBAGO]: dynamicFlag(() => import('./tt.svg')),\n [Locales.ENGLISH_UNITED_STATES]: dynamicFlag(() => import('./us.svg')),\n [Locales.ENGLISH_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.ENGLISH_ZIMBABWE]: dynamicFlag(() => import('./zw.svg')),\n [Locales.SPANISH_ARGENTINA]: dynamicFlag(() => import('./ar.svg')),\n [Locales.SPANISH_BOLIVIA]: dynamicFlag(() => import('./bo.svg')),\n [Locales.SPANISH_CHILE]: dynamicFlag(() => import('./cl.svg')),\n [Locales.SPANISH_COLOMBIA]: dynamicFlag(() => import('./co.svg')),\n [Locales.SPANISH_COSTA_RICA]: dynamicFlag(() => import('./cr.svg')),\n [Locales.SPANISH_DOMINICAN_REPUBLIC]: dynamicFlag(() => import('./do.svg')),\n [Locales.SPANISH_ECUADOR]: dynamicFlag(() => import('./ec.svg')),\n [Locales.SPANISH_SPAIN]: dynamicFlag(() => import('./es.svg')),\n [Locales.SPANISH_GUATEMALA]: dynamicFlag(() => import('./gt.svg')),\n [Locales.SPANISH_HONDURAS]: dynamicFlag(() => import('./hn.svg')),\n [Locales.SPANISH_MEXICO]: dynamicFlag(() => import('./mx.svg')),\n [Locales.SPANISH_NICARAGUA]: dynamicFlag(() => import('./ni.svg')),\n [Locales.SPANISH_PANAMA]: dynamicFlag(() => import('./pa.svg')),\n [Locales.SPANISH_PERU]: dynamicFlag(() => import('./pe.svg')),\n [Locales.SPANISH_PUERTO_RICO]: dynamicFlag(() => import('./pr.svg')),\n [Locales.SPANISH_PARAGUAY]: dynamicFlag(() => import('./py.svg')),\n [Locales.SPANISH_EL_SALVADOR]: dynamicFlag(() => import('./sv.svg')),\n [Locales.SPANISH_URUGUAY]: dynamicFlag(() => import('./uy.svg')),\n [Locales.SPANISH_VENEZUELA]: dynamicFlag(() => import('./ve.svg')),\n [Locales.ESTONIAN_ESTONIA]: dynamicFlag(() => import('./ee.svg')),\n [Locales.BASQUE_SPAIN]: dynamicFlag(() => import('./es-pv.svg')),\n [Locales.FARSI_IRAN]: dynamicFlag(() => import('./ir.svg')),\n [Locales.FINNISH_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.FAROESE_FAROE_ISLANDS]: dynamicFlag(() => import('./fo.svg')),\n [Locales.FRENCH_BELGIUM]: dynamicFlag(() => import('./be.svg')),\n [Locales.FRENCH_CANADA]: dynamicFlag(() => import('./ca.svg')),\n [Locales.FRENCH_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.FRENCH_FRANCE]: dynamicFlag(() => import('./fr.svg')),\n [Locales.FRENCH_LUXEMBOURG]: dynamicFlag(() => import('./lu.svg')),\n [Locales.FRENCH_PRINCIPALITY_OF_MONACO]: dynamicFlag(\n () => import('./mc.svg')\n ),\n [Locales.GALICIAN_SPAIN]: dynamicFlag(() => import('./es-ga.svg')),\n [Locales.GUJARATI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.HEBREW_ISRAEL]: dynamicFlag(() => import('./il.svg')),\n [Locales.HINDI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.CROATIAN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.CROATIAN_CROATIA]: dynamicFlag(() => import('./hr.svg')),\n [Locales.HUNGARIAN_HUNGARY]: dynamicFlag(() => import('./hu.svg')),\n [Locales.ARMENIAN_ARMENIA]: dynamicFlag(() => import('./am.svg')),\n [Locales.INDONESIAN_INDONESIA]: dynamicFlag(() => import('./id.svg')),\n [Locales.ICELANDIC_ICELAND]: dynamicFlag(() => import('./is.svg')),\n [Locales.ITALIAN_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.ITALIAN_ITALY]: dynamicFlag(() => import('./it.svg')),\n [Locales.JAPANESE_JAPAN]: dynamicFlag(() => import('./jp.svg')),\n [Locales.GEORGIAN_GEORGIA]: dynamicFlag(() => import('./ge.svg')),\n [Locales.KAZAKH_KAZAKHSTAN]: dynamicFlag(() => import('./kz.svg')),\n [Locales.KANNADA_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KOREAN_KOREA]: dynamicFlag(() => import('./kr.svg')),\n [Locales.KONKANI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.KYRGYZ_KYRGYZSTAN]: dynamicFlag(() => import('./kg.svg')),\n [Locales.LITHUANIAN_LITHUANIA]: dynamicFlag(() => import('./lt.svg')),\n [Locales.LATVIAN_LATVIA]: dynamicFlag(() => import('./lv.svg')),\n [Locales.MAORI_NEW_ZEALAND]: dynamicFlag(() => import('./nz.svg')),\n [Locales.FYRO_MACEDONIAN_MACEDONIA]: dynamicFlag(() => import('./mk.svg')),\n [Locales.MONGOLIAN_MONGOLIA]: dynamicFlag(() => import('./mn.svg')),\n [Locales.MARATHI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAY_BRUNEI_DARUSSALAM]: dynamicFlag(() => import('./bn.svg')),\n [Locales.MALAY_MALAYSIA]: dynamicFlag(() => import('./my.svg')),\n [Locales.MALTESE_MALTA]: dynamicFlag(() => import('./mt.svg')),\n [Locales.NORWEGIAN_BOKMAL_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.DUTCH_BELGIUM]: dynamicFlag(() => import('./be.svg')),\n [Locales.DUTCH_NETHERLANDS]: dynamicFlag(() => import('./nl.svg')),\n [Locales.NORWEGIAN_NYNORSK_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.NORTHERN_SOTHO_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.PUNJABI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.POLISH_POLAND]: dynamicFlag(() => import('./pl.svg')),\n [Locales.PASHTO_AFGHANISTAN]: dynamicFlag(() => import('./af.svg')),\n [Locales.PORTUGUESE_BRAZIL]: dynamicFlag(() => import('./br.svg')),\n [Locales.PORTUGUESE_PORTUGAL]: dynamicFlag(() => import('./pt.svg')),\n [Locales.QUECHUA_BOLIVIA]: dynamicFlag(() => import('./bo.svg')),\n [Locales.QUECHUA_ECUADOR]: dynamicFlag(() => import('./ec.svg')),\n [Locales.QUECHUA_PERU]: dynamicFlag(() => import('./pe.svg')),\n [Locales.ROMANIAN_ROMANIA]: dynamicFlag(() => import('./ro.svg')),\n [Locales.RUSSIAN_RUSSIA]: dynamicFlag(() => import('./ru.svg')),\n [Locales.SANSKRIT_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.SAMI_NORTHERN_FINLAND]: dynamicFlag(() => import('./fi.svg')),\n [Locales.SAMI_NORTHERN_NORWAY]: dynamicFlag(() => import('./no.svg')),\n [Locales.SAMI_NORTHERN_SWEDEN]: dynamicFlag(() => import('./se.svg')),\n [Locales.SLOVAK_SLOVAKIA]: dynamicFlag(() => import('./sk.svg')),\n [Locales.SLOVENIAN_SLOVENIA]: dynamicFlag(() => import('./si.svg')),\n [Locales.ALBANIAN_ALBANIA]: dynamicFlag(() => import('./al.svg')),\n [Locales.SERBIAN_LATIN_BOSNIA_AND_HERZEGOVINA]: dynamicFlag(\n () => import('./ba.svg')\n ),\n [Locales.SERBIAN_LATIN_SERBIA_AND_MONTENEGRO]: dynamicFlag(\n () => import('./rs.svg')\n ),\n [Locales.SWAHILI_KENYA]: dynamicFlag(() => import('./ke.svg')),\n [Locales.SYRIAC_SYRIA]: dynamicFlag(() => import('./sy.svg')),\n [Locales.TAMIL_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.TELUGU_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.THAI_THAILAND]: dynamicFlag(() => import('./th.svg')),\n [Locales.TAGALOG_PHILIPPINES]: dynamicFlag(() => import('./ph.svg')),\n [Locales.TSWANA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.TURKISH_TURKEY]: dynamicFlag(() => import('./tr.svg')),\n [Locales.TATAR_RUSSIA]: dynamicFlag(() => import('./ru.svg')),\n [Locales.TSOGA]: dynamicFlag(() => import('./xx.svg')), // No specific flag\n [Locales.UKRAINIAN_UKRAINE]: dynamicFlag(() => import('./ua.svg')),\n [Locales.URDU_ISLAMIC_REPUBLIC_OF_PAKISTAN]: dynamicFlag(\n () => import('./pk.svg')\n ),\n [Locales.UZBEK_LATIN_UZBEKISTAN]: dynamicFlag(() => import('./uz.svg')),\n [Locales.VIETNAMESE_VIET_NAM]: dynamicFlag(() => import('./vn.svg')),\n [Locales.XHOSA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.CHINESE]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_SIMPLIFIED_CHINA]: dynamicFlag(() => import('./cn.svg')),\n [Locales.CHINESE_HONG_KONG]: dynamicFlag(() => import('./hk.svg')),\n [Locales.CHINESE_MACAU]: dynamicFlag(() => import('./mo.svg')),\n [Locales.CHINESE_SINGAPORE]: dynamicFlag(() => import('./sg.svg')),\n [Locales.ZULU_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.BENGALI]: dynamicFlag(() => import('./in.svg')),\n [Locales.BENGALI_BANGLADESH]: dynamicFlag(() => import('./bd.svg')),\n [Locales.BENGALI_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.BENGALI_MYANMAR]: dynamicFlag(() => import('./mm.svg')),\n [Locales.BURMESE]: dynamicFlag(() => import('./mm.svg')),\n [Locales.BURMESE_MYANMAR]: dynamicFlag(() => import('./mm.svg')),\n [Locales.KHMER]: dynamicFlag(() => import('./kh.svg')),\n [Locales.KHMER_CAMBODIA]: dynamicFlag(() => import('./kh.svg')),\n [Locales.LAO]: dynamicFlag(() => import('./la.svg')),\n [Locales.LAO_LAOS]: dynamicFlag(() => import('./la.svg')),\n [Locales.YORUBA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.YORUBA_NIGERIA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.AMHARIC]: dynamicFlag(() => import('./et.svg')),\n [Locales.AMHARIC_ETHIOPIA]: dynamicFlag(() => import('./et.svg')),\n [Locales.NEPALI]: dynamicFlag(() => import('./np.svg')),\n [Locales.NEPALI_NEPAL]: dynamicFlag(() => import('./np.svg')),\n [Locales.IRISH]: dynamicFlag(() => import('./ie.svg')),\n [Locales.IRISH_IRELAND]: dynamicFlag(() => import('./ie.svg')),\n [Locales.SCOTTISH_GAELIC]: dynamicFlag(() => import('./gb.svg')),\n [Locales.SCOTTISH_GAELIC_UNITED_KINGDOM]: dynamicFlag(\n () => import('./gb.svg')\n ),\n [Locales.KURDISH]: dynamicFlag(() => import('./tr.svg')),\n [Locales.KURDISH_TURKEY]: dynamicFlag(() => import('./tr.svg')),\n [Locales.MALAYALAM]: dynamicFlag(() => import('./in.svg')),\n [Locales.MALAYALAM_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.NORWEGIAN]: dynamicFlag(() => import('./no.svg')),\n [Locales.NORWEGIAN_NYNORSK]: dynamicFlag(() => import('./no.svg')),\n [Locales.ROMANIAN_MOLDOVA]: dynamicFlag(() => import('./md.svg')),\n [Locales.ROMANSH]: dynamicFlag(() => import('./ch.svg')),\n [Locales.ROMANSH_SWITZERLAND]: dynamicFlag(() => import('./ch.svg')),\n [Locales.RUSSIAN_MOLDOVA]: dynamicFlag(() => import('./md.svg')),\n [Locales.UPPER_SORBIAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.UPPER_SORBIAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.LOWER_SORBIAN]: dynamicFlag(() => import('./de.svg')),\n [Locales.LOWER_SORBIAN_GERMANY]: dynamicFlag(() => import('./de.svg')),\n [Locales.VENDA]: dynamicFlag(() => import('./za.svg')),\n [Locales.VENDA_SOUTH_AFRICA]: dynamicFlag(() => import('./za.svg')),\n [Locales.YIDDISH]: dynamicFlag(() => import('./il.svg')),\n [Locales.YIDDISH_WORLD]: dynamicFlag(() => import('./il.svg')),\n [Locales.SINHALA]: dynamicFlag(() => import('./lk.svg')),\n [Locales.SINHALA_SRI_LANKA]: dynamicFlag(() => import('./lk.svg')),\n [Locales.SERBIAN_CYRILLIC]: dynamicFlag(() => import('./rs.svg')),\n [Locales.SERBIAN_CYRILLIC_SERBIA]: dynamicFlag(() => import('./rs.svg')),\n [Locales.ENGLISH_INDIA]: dynamicFlag(() => import('./in.svg')),\n [Locales.ENGLISH_SINGAPORE]: dynamicFlag(() => import('./sg.svg')),\n [Locales.ENGLISH_HONG_KONG]: dynamicFlag(() => import('./hk.svg')),\n [Locales.ENGLISH_NIGERIA]: dynamicFlag(() => import('./ng.svg')),\n [Locales.ENGLISH_PAKISTAN]: dynamicFlag(() => import('./pk.svg')),\n [Locales.ENGLISH_MALAYSIA]: dynamicFlag(() => import('./my.svg')),\n [Locales.ENGLISH_BOTSWANA]: dynamicFlag(() => import('./bw.svg')),\n [Locales.ENGLISH_KENYA]: dynamicFlag(() => import('./ke.svg')),\n [Locales.ENGLISH_TANZANIA]: dynamicFlag(() => import('./tz.svg')),\n [Locales.ENGLISH_GHANA]: dynamicFlag(() => import('./gh.svg')),\n [Locales.ENGLISH_UGANDA]: dynamicFlag(() => import('./ug.svg')),\n [Locales.SPANISH_CUBA]: dynamicFlag(() => import('./cu.svg')),\n [Locales.SPANISH_UNITED_STATES]: dynamicFlag(() => import('./us.svg')),\n [Locales.PORTUGUESE_GUINEA_BISSAU]: dynamicFlag(() => import('./gw.svg')),\n [Locales.PORTUGUESE_MOZAMBIQUE]: dynamicFlag(() => import('./mz.svg')),\n [Locales.PORTUGUESE_SAO_TOME_AND_PRINCIPE]: dynamicFlag(\n () => import('./st.svg')\n ),\n [Locales.PORTUGUESE_CAPE_VERDE]: dynamicFlag(() => import('./cv.svg')),\n [Locales.PORTUGUESE_TIMOR_LESTE]: dynamicFlag(() => import('./tl.svg')),\n [Locales.PORTUGUESE_MACAU]: dynamicFlag(() => import('./mo.svg')),\n [Locales.CHINESE_TAIWAN]: dynamicFlag(() => import('./tw.svg')),\n [Locales.ARABIC_MAURITANIA]: dynamicFlag(() => import('./mr.svg')),\n [Locales.ARABIC_PALESTINE]: dynamicFlag(() => import('./ps.svg')),\n [Locales.ARABIC_SUDAN]: dynamicFlag(() => import('./sd.svg')),\n [Locales.ARABIC_DJIBOUTI]: dynamicFlag(() => import('./dj.svg')),\n [Locales.ARABIC_SOMALIA]: dynamicFlag(() => import('./so.svg')),\n [Locales.ARABIC_CHAD]: dynamicFlag(() => import('./td.svg')),\n [Locales.ARABIC_COMOROS]: dynamicFlag(() => import('./km.svg')),\n};\n\nexport const Flag: FC<FlagProps> = ({ locale, alt, ...props }): JSX.Element => {\n const LazyFlag = flagRecord[locale] ?? dynamicFlag(() => import('./xx.svg'));\n\n return (\n <Suspense>\n <LazyFlag alt={alt ?? `${locale} flag`} {...(props as any)} role=\"img\" />\n </Suspense>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLRender.mjs","names":[],"sources":["../../../../src/components/HTMLRender/HTMLRender.tsx"],"sourcesContent":["import type { LocalesValues } from '@intlayer/types';\nimport type { ComponentProps, FC } from 'react';\nimport {\n type HTMLRenderer as HTMLRendererIntlayer,\n type RenderHTMLProps,\n renderHTML,\n} from 'react-intlayer';\nimport { H1, H2, H3, H4, H5, H6 } from '../Headers';\nimport { Link } from '../Link';\n\ntype HTMLRendererProps = {\n children: string;\n isDarkMode?: boolean;\n locale?: LocalesValues;\n components?: ComponentProps<typeof HTMLRendererIntlayer>['components'];\n};\n\nexport const getIntlayerHTMLOptions: (isDarkMode: boolean) => RenderHTMLProps =\n () => ({\n components: {\n h1: (props) => <H1 isClickable={true} {...props} />,\n h2: (props) => <H2 isClickable={true} className=\"mt-16\" {...props} />,\n h3: (props) => <H3 isClickable={true} className=\"mt-5\" {...props} />,\n h4: (props) => <H4 isClickable={true} className=\"mt-3\" {...props} />,\n h5: (props) => <H5 isClickable={true} className=\"mt-3\" {...props} />,\n h6: (props) => <H6 isClickable={true} className=\"mt-3\" {...props} />,\n a: (props) => (\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n label=\"\"\n {...props}\n color=\"neutral\"\n />\n ),\n },\n });\n\n/**\n * HTMLRenderer Component\n *\n * A comprehensive HTML renderer that transforms HTML text into rich,\n * interactive content with custom styling and Intlayer integration.\n */\nexport const HTMLRenderer: FC<HTMLRendererProps> = ({\n children,\n isDarkMode,\n locale,\n components: componentsProp,\n}) => {\n const htmlOptions = getIntlayerHTMLOptions(isDarkMode ?? false);\n\n const htmlContent = renderHTML(children, {\n components: {\n ...htmlOptions.components,\n a: (props) => (\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n locale={locale}\n label=\"\"\n {...props}\n color=\"neutral\"\n />\n ),\n ...componentsProp,\n },\n });\n\n return <>{htmlContent}</>;\n};\n"],"mappings":"4NAiBA,MAAa,OACJ,CACL,WAAY,CACV,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,GAAI,EAAS,CAAA,CACnD,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,QAAQ,GAAI,EAAS,CAAA,CACrE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,EAAI,GACF,EAAC,EAAD,CACE,eAAgB,EAAM,MAAM,WAAW,OAAO,CAC9C,WAAY,GACZ,MAAM,GACN,GAAI,EACJ,MAAM,UACN,CAAA,CAEL,CACF,EAQU,GAAuC,CAClD,WACA,aACA,SACA,WAAY,KAqBL,EAAA,EAAA,CAAA,SAjBa,EAAW,EAAU,CACvC,WAAY,CACV,GAJgB,EAAuB,GAAc,GAAM,CAI5C,WACf,EAAI,GACF,EAAC,EAAD,CACE,eAAgB,EAAM,MAAM,WAAW,OAAO,CAC9C,WAAY,GACJ,SACR,MAAM,GACN,GAAI,EACJ,MAAM,UACN,CAAA,CAEJ,GAAG,EACJ,CACF,CAAC,CAEuB,CAAA"}
1
+ {"version":3,"file":"HTMLRender.mjs","names":[],"sources":["../../../../src/components/HTMLRender/HTMLRender.tsx"],"sourcesContent":["import type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport type { ComponentProps, FC } from 'react';\nimport {\n type HTMLRenderer as HTMLRendererIntlayer,\n type RenderHTMLProps,\n renderHTML,\n} from 'react-intlayer';\nimport { H1, H2, H3, H4, H5, H6 } from '../Headers';\nimport { Link } from '../Link';\n\ntype HTMLRendererProps = {\n children: string;\n isDarkMode?: boolean;\n locale?: LocalesValues;\n components?: ComponentProps<typeof HTMLRendererIntlayer>['components'];\n};\n\nexport const getIntlayerHTMLOptions: (isDarkMode: boolean) => RenderHTMLProps =\n () => ({\n components: {\n h1: (props) => <H1 isClickable={true} {...props} />,\n h2: (props) => <H2 isClickable={true} className=\"mt-16\" {...props} />,\n h3: (props) => <H3 isClickable={true} className=\"mt-5\" {...props} />,\n h4: (props) => <H4 isClickable={true} className=\"mt-3\" {...props} />,\n h5: (props) => <H5 isClickable={true} className=\"mt-3\" {...props} />,\n h6: (props) => <H6 isClickable={true} className=\"mt-3\" {...props} />,\n a: (props) => (\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n label=\"\"\n {...props}\n color=\"neutral\"\n />\n ),\n },\n });\n\n/**\n * HTMLRenderer Component\n *\n * A comprehensive HTML renderer that transforms HTML text into rich,\n * interactive content with custom styling and Intlayer integration.\n */\nexport const HTMLRenderer: FC<HTMLRendererProps> = ({\n children,\n isDarkMode,\n locale,\n components: componentsProp,\n}) => {\n const htmlOptions = getIntlayerHTMLOptions(isDarkMode ?? false);\n\n const htmlContent = renderHTML(children, {\n components: {\n ...htmlOptions.components,\n a: (props) => (\n <Link\n isExternalLink={props.href?.startsWith('http')}\n underlined={true}\n locale={locale}\n label=\"\"\n {...props}\n color=\"neutral\"\n />\n ),\n ...componentsProp,\n },\n });\n\n return <>{htmlContent}</>;\n};\n"],"mappings":"4NAiBA,MAAa,OACJ,CACL,WAAY,CACV,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,GAAI,EAAS,CAAA,CACnD,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,QAAQ,GAAI,EAAS,CAAA,CACrE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,GAAK,GAAU,EAAC,EAAD,CAAI,YAAa,GAAM,UAAU,OAAO,GAAI,EAAS,CAAA,CACpE,EAAI,GACF,EAAC,EAAD,CACE,eAAgB,EAAM,MAAM,WAAW,OAAO,CAC9C,WAAY,GACZ,MAAM,GACN,GAAI,EACJ,MAAM,UACN,CAAA,CAEL,CACF,EAQU,GAAuC,CAClD,WACA,aACA,SACA,WAAY,KAqBL,EAAA,EAAA,CAAA,SAjBa,EAAW,EAAU,CACvC,WAAY,CACV,GAJgB,EAAuB,GAAc,GAAM,CAI5C,WACf,EAAI,GACF,EAAC,EAAD,CACE,eAAgB,EAAM,MAAM,WAAW,OAAO,CAC9C,WAAY,GACJ,SACR,MAAM,GACN,GAAI,EACJ,MAAM,UACN,CAAA,CAEJ,GAAG,EACJ,CACF,CAAC,CAEuB,CAAA"}
@@ -1,2 +1,2 @@
1
- "use client";import{cn as e}from"../../utils/cn.mjs";import{Eye as t,EyeOff as n}from"lucide-react";import{useEffect as r,useMemo as i,useRef as a,useState as o}from"react";import{jsx as s,jsxs as c}from"react/jsx-runtime";const l=(e,t=6)=>e.replace(RegExp(`.{1,${t}}`,`g`),`$&​`),u=({text:u,className:d,visiblePrefixChars:f=6,maskChar:p=`•`,revealDurationMs:m=1e4})=>{let[h,g]=o(!1),_=a(null),v=i(()=>{if(!u)return``;if(f<=0)return p.repeat(u.length);let e=u.slice(0,f),t=Math.max(0,u.length-f);return l(`${e}${p.repeat(t)}`)},[u,f,p]);r(()=>()=>{_.current&&=(window.clearTimeout(_.current),null)},[]);let y=()=>{h||(g(!0),_.current&&=(window.clearTimeout(_.current),null),_.current=window.setTimeout(()=>{g(!1)},m))},b=()=>{g(!1),_.current&&=(window.clearTimeout(_.current),null)},x=h?n:t;return c(`span`,{className:e(`inline-flex max-w-full items-center gap-2 rounded-md p-0.5 hover:cursor-pointer hover:bg-neutral/10`,d),onClick:h?b:y,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),h?b():y())},role:`button`,tabIndex:0,children:[s(`span`,{className:`min-w-0 break-all`,children:h?u:v}),s(x,{className:`ml-1 ml-auto size-4 min-w-4 shrink-0`})]})};export{u as HideShow};
1
+ "use client";import{cn as e}from"../../utils/cn.mjs";import{useEffect as t,useMemo as n,useRef as r,useState as i}from"react";import{Eye as a,EyeOff as o}from"lucide-react";import{jsx as s,jsxs as c}from"react/jsx-runtime";const l=(e,t=6)=>e.replace(RegExp(`.{1,${t}}`,`g`),`$&​`),u=({text:u,className:d,visiblePrefixChars:f=6,maskChar:p=`•`,revealDurationMs:m=1e4})=>{let[h,g]=i(!1),_=r(null),v=n(()=>{if(!u)return``;if(f<=0)return p.repeat(u.length);let e=u.slice(0,f),t=Math.max(0,u.length-f);return l(`${e}${p.repeat(t)}`)},[u,f,p]);t(()=>()=>{_.current&&=(window.clearTimeout(_.current),null)},[]);let y=()=>{h||(g(!0),_.current&&=(window.clearTimeout(_.current),null),_.current=window.setTimeout(()=>{g(!1)},m))},b=()=>{g(!1),_.current&&=(window.clearTimeout(_.current),null)},x=h?o:a;return c(`span`,{className:e(`inline-flex max-w-full items-center gap-2 rounded-md p-0.5 hover:cursor-pointer hover:bg-neutral/10`,d),onClick:h?b:y,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),h?b():y())},role:`button`,tabIndex:0,children:[s(`span`,{className:`min-w-0 break-all`,children:h?u:v}),s(x,{className:`ml-1 ml-auto size-4 min-w-4 shrink-0`})]})};export{u as HideShow};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1,2 +1,2 @@
1
- "use client";import{cn as e}from"../../utils/cn.mjs";import{MaxHeightSmoother as t}from"../MaxHeightSmoother/index.mjs";import{createFileTree as n}from"./createFileTree.mjs";import{ChevronRight as r}from"lucide-react";import{useState as i}from"react";import{Fragment as a,jsx as o,jsxs as s}from"react/jsx-runtime";const c=e=>e.join(`/`),l=({filesPaths:n,path:l,subPath:d,onClickFile:f,activeFile:p,prePaths:m,isFile:h})=>{let[g,_]=i(!0),v=m.length+1,y=c([...m.slice(v-1,v),l]),b=c([...m,l]),x=n.map(e=>e.replace(/^\/?/,``)).filter(e=>e.startsWith(y)).map(e=>e.replace(y,``).replace(/^\/?/,``)),S=b===p,C=Array(v).fill(` `).join(``);return s(a,{children:[s(`button`,{className:e(`flex w-full items-start justify-start whitespace-pre text-nowrap px-2 py-1 text-xs transition`,S?`bg-neutral-200 dark:bg-neutral-700`:`cursor-pointer hover:bg-neutral-300 dark:hover:bg-neutral-900`),onClick:()=>{h?f?.(b):_(!g)},children:[o(`span`,{className:e(`whitespace-pre`,h&&`ml-2`),children:C}),!h&&o(r,{className:e(`transition`,g&&`rotate-90 transform`),size:16}),l]},l),d&&o(t,{isHidden:!g,className:`overflow-x-hidden`,children:o(u,{filesPaths:x,activeFile:p,onClickFile:f,prePaths:[...m,l]})})]})},u=({filesPaths:e,activeFile:t,onClickFile:r,prePaths:i=[]})=>o(`div`,{className:`flex size-full flex-col items-start justify-start py-1 text-neutral`,children:n(e).map(({path:n,subPath:a,isFile:s})=>o(l,{isFile:s,subPath:a,path:n,onClickFile:r,activeFile:t,prePaths:i,filesPaths:e},n))});export{u as FileTree};
1
+ "use client";import{cn as e}from"../../utils/cn.mjs";import{MaxHeightSmoother as t}from"../MaxHeightSmoother/index.mjs";import{createFileTree as n}from"./createFileTree.mjs";import{useState as r}from"react";import{ChevronRight as i}from"lucide-react";import{Fragment as a,jsx as o,jsxs as s}from"react/jsx-runtime";const c=e=>e.join(`/`),l=({filesPaths:n,path:l,subPath:d,onClickFile:f,activeFile:p,prePaths:m,isFile:h})=>{let[g,_]=r(!0),v=m.length+1,y=c([...m.slice(v-1,v),l]),b=c([...m,l]),x=n.map(e=>e.replace(/^\/?/,``)).filter(e=>e.startsWith(y)).map(e=>e.replace(y,``).replace(/^\/?/,``)),S=b===p,C=Array(v).fill(` `).join(``);return s(a,{children:[s(`button`,{className:e(`flex w-full items-start justify-start whitespace-pre text-nowrap px-2 py-1 text-xs transition`,S?`bg-neutral-200 dark:bg-neutral-700`:`cursor-pointer hover:bg-neutral-300 dark:hover:bg-neutral-900`),onClick:()=>{h?f?.(b):_(!g)},children:[o(`span`,{className:e(`whitespace-pre`,h&&`ml-2`),children:C}),!h&&o(i,{className:e(`transition`,g&&`rotate-90 transform`),size:16}),l]},l),d&&o(t,{isHidden:!g,className:`overflow-x-hidden`,children:o(u,{filesPaths:x,activeFile:p,onClickFile:f,prePaths:[...m,l]})})]})},u=({filesPaths:e,activeFile:t,onClickFile:r,prePaths:i=[]})=>o(`div`,{className:`flex size-full flex-col items-start justify-start py-1 text-neutral`,children:n(e).map(({path:n,subPath:a,isFile:s})=>o(l,{isFile:s,subPath:a,path:n,onClickFile:r,activeFile:t,prePaths:i,filesPaths:e},n))});export{u as FileTree};
2
2
  //# sourceMappingURL=FileTree.mjs.map
@@ -1,2 +1,2 @@
1
- "use client";import{Input as e}from"./Input.mjs";import{EyeIcon as t,EyeOffIcon as n}from"lucide-react";import{useState as r}from"react";import{jsx as i,jsxs as a}from"react/jsx-runtime";const o=o=>{let[s,c]=r(!1),l=e=>{e.preventDefault(),e.stopPropagation(),c(e=>!e)},u=s?t:n;return a(`div`,{className:`relative`,children:[i(e,{...o,"aria-label":`password`,type:s?`text`:`password`}),i(`button`,{"data-testid":`eye-icon`,type:`button`,className:`absolute right-2 h-full flex-row items-center`,onClick:l,"aria-label":s?`Hide password`:`Show password`,children:i(u,{className:`mr-2 inline-block cursor-pointer text-neutral`,size:20})})]})};export{o as InputPassword};
1
+ "use client";import{Input as e}from"./Input.mjs";import{useState as t}from"react";import{EyeIcon as n,EyeOffIcon as r}from"lucide-react";import{jsx as i,jsxs as a}from"react/jsx-runtime";const o=o=>{let[s,c]=t(!1),l=e=>{e.preventDefault(),e.stopPropagation(),c(e=>!e)},u=s?n:r;return a(`div`,{className:`relative`,children:[i(e,{...o,"aria-label":`password`,type:s?`text`:`password`}),i(`button`,{"data-testid":`eye-icon`,type:`button`,className:`absolute right-2 h-full flex-row items-center`,onClick:l,"aria-label":s?`Hide password`:`Show password`,children:i(u,{className:`mr-2 inline-block cursor-pointer text-neutral`,size:20})})]})};export{o as InputPassword};
2
2
  //# sourceMappingURL=InputPassword.mjs.map
@@ -1,4 +1,4 @@
1
- "use client";import{cn as e}from"../../utils/cn.mjs";import{Button as t}from"../Button/Button.mjs";import{MinusIcon as n}from"lucide-react";import{createContext as r,useContext as i,useEffect as a,useRef as o,useState as s}from"react";import{cva as c}from"class-variance-authority";import{Fragment as l,jsx as u,jsxs as d}from"react/jsx-runtime";const f=e=>[setTimeout(e,0),setTimeout(e,10),setTimeout(e,50)],p=(e,t)=>{try{e.insertRule(t)}catch{console.error(`input-otp could not insert CSS rule:`,t)}},m=[`[data-lastpass-icon-root]`,`com-1password-button`,`[data-dashlanecreated]`,`[style$="2147483647 !important;"]`].join(`,`),h=({containerRef:e,inputRef:t,pushPasswordManagerStrategy:n,isFocused:r})=>{let[i,o]=s(!1),[c,l]=s(!1),[u,d]=s(!1),f=n===`none`?!1:(n===`increase-width`||n===`experimental-no-flickering`)&&i&&c,p=()=>{let r=e.current,i=t.current;if(!r||!i||u||n===`none`)return;let a=r,s=a.getBoundingClientRect().left+a.offsetWidth,c=a.getBoundingClientRect().top+a.offsetHeight/2,l=s-18,f=c;document.querySelectorAll(m).length===0&&document.elementFromPoint(l,f)===r||(o(!0),d(!0))};return a(()=>{let t=e.current;if(!t||n===`none`)return;let r=()=>{l(window.innerWidth-t.getBoundingClientRect().right>=40)};r();let i=setInterval(r,1e3);return()=>{clearInterval(i)}},[e,n]),a(()=>{let e=r||document.activeElement===t.current;if(n===`none`||!e)return;let i=setTimeout(p,0),a=setTimeout(p,2e3),o=setTimeout(p,5e3),s=setTimeout(()=>{d(!0)},6e3);return()=>{clearTimeout(i),clearTimeout(a),clearTimeout(o),clearTimeout(s)}},[t,r,n]),{hasPWMBadge:i,willPushPWMBadge:f,PWM_BADGE_SPACE_WIDTH:`40px`}},g=e=>{let t=o(void 0);return a(()=>{t.current=e}),t.current},_=r({}),v=({value:t,onChange:n,maxLength:r,pattern:i,placeholder:c,inputMode:m=`numeric`,onComplete:v,onActiveSlotChange:y,pushPasswordManagerStrategy:b=`increase-width`,pasteTransformer:x,containerClassName:S,noScriptCSSFallback:C=`
1
+ "use client";import{cn as e}from"../../utils/cn.mjs";import{Button as t}from"../Button/Button.mjs";import{createContext as n,useContext as r,useEffect as i,useRef as a,useState as o}from"react";import{cva as s}from"class-variance-authority";import{MinusIcon as c}from"lucide-react";import{Fragment as l,jsx as u,jsxs as d}from"react/jsx-runtime";const f=e=>[setTimeout(e,0),setTimeout(e,10),setTimeout(e,50)],p=(e,t)=>{try{e.insertRule(t)}catch{console.error(`input-otp could not insert CSS rule:`,t)}},m=[`[data-lastpass-icon-root]`,`com-1password-button`,`[data-dashlanecreated]`,`[style$="2147483647 !important;"]`].join(`,`),h=({containerRef:e,inputRef:t,pushPasswordManagerStrategy:n,isFocused:r})=>{let[a,s]=o(!1),[c,l]=o(!1),[u,d]=o(!1),f=n===`none`?!1:(n===`increase-width`||n===`experimental-no-flickering`)&&a&&c,p=()=>{let r=e.current,i=t.current;if(!r||!i||u||n===`none`)return;let a=r,o=a.getBoundingClientRect().left+a.offsetWidth,c=a.getBoundingClientRect().top+a.offsetHeight/2,l=o-18,f=c;document.querySelectorAll(m).length===0&&document.elementFromPoint(l,f)===r||(s(!0),d(!0))};return i(()=>{let t=e.current;if(!t||n===`none`)return;let r=()=>{l(window.innerWidth-t.getBoundingClientRect().right>=40)};r();let i=setInterval(r,1e3);return()=>{clearInterval(i)}},[e,n]),i(()=>{let e=r||document.activeElement===t.current;if(n===`none`||!e)return;let i=setTimeout(p,0),a=setTimeout(p,2e3),o=setTimeout(p,5e3),s=setTimeout(()=>{d(!0)},6e3);return()=>{clearTimeout(i),clearTimeout(a),clearTimeout(o),clearTimeout(s)}},[t,r,n]),{hasPWMBadge:a,willPushPWMBadge:f,PWM_BADGE_SPACE_WIDTH:`40px`}},g=e=>{let t=a(void 0);return i(()=>{t.current=e}),t.current},_=n({}),v=({value:t,onChange:n,maxLength:r,pattern:s,placeholder:c,inputMode:m=`numeric`,onComplete:v,onActiveSlotChange:y,pushPasswordManagerStrategy:b=`increase-width`,pasteTransformer:x,containerClassName:S,noScriptCSSFallback:C=`
2
2
  [data-input-otp] {
3
3
  --nojs-bg: white !important;
4
4
  --nojs-fg: black !important;
@@ -17,5 +17,5 @@
17
17
  --nojs-bg: black !important;
18
18
  --nojs-fg: white !important;
19
19
  }
20
- }`,render:w,children:T,...E})=>{let[D,ee]=s(typeof E.defaultValue==`string`?E.defaultValue:``),O=t??D,k=g(O),A=e=>{n?.(e),ee(e)},j=i===void 0?null:typeof i==`string`?new RegExp(i):i,M=o(null),N=o(null),P=o({value:O,onChange:A,isIOS:typeof window<`u`&&window?.CSS?.supports?.(`-webkit-touch-callout`,`none`)}),F=o({prev:[M.current?.selectionStart??null,M.current?.selectionEnd??null,M.current?.selectionDirection??`none`]});a(()=>{let e=M.current,t=N.current;if(!e||!t)return;P.current.value!==e.value&&P.current.onChange(e.value),F.current.prev=[e.selectionStart,e.selectionEnd,e.selectionDirection??`none`];let n=()=>{if(document.activeElement!==e){V(null),U(null),G(null);return}let t=e.selectionStart,n=e.selectionEnd,r=e.selectionDirection,i=e.maxLength,a=e.value,o=F.current.prev,s=-1,c=-1,l=r??`none`;if(a.length!==0&&t!==null&&n!==null){let e=t===n,r=t===a.length&&a.length<i;if(e&&!r){let e=t;if(e===0)s=0,c=1,l=`forward`;else if(e===i)s=e-1,c=e,l=`backward`;else if(i>1&&a.length>1){let t=0;if(o[0]!==null&&o[1]!==null){l=e<o[1]?`backward`:`forward`;let n=o[0]===o[1]&&o[0]<i;l===`backward`&&!n&&(t=-1)}s=t+e,c=t+e+1}}s!==-1&&c!==-1&&s!==c&&M.current?.setSelectionRange(s,c,l)}let u=s===-1?t:s,d=c===-1?n:c,f=l;G(t!==null&&n!==null?t===n?t:u:null),V(u),U(d),F.current.prev=[u,d,f]};if(document.addEventListener(`selectionchange`,n,{capture:!0}),n(),document.activeElement===e&&z(!0),!document.getElementById(`input-otp-style`)){let e=document.createElement(`style`);if(e.id=`input-otp-style`,document.head.appendChild(e),e.sheet){let t=`background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;`;p(e.sheet,`[data-input-otp]::selection { background: transparent !important; color: transparent !important; }`),p(e.sheet,`[data-input-otp]:autofill { ${t} }`),p(e.sheet,`[data-input-otp]:-webkit-autofill { ${t} }`),p(e.sheet,`@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }`),p(e.sheet,`[data-input-otp] + * { pointer-events: all !important; }`)}}let r=()=>{t&&t.style.setProperty(`--root-height`,`${e.clientHeight}px`)};r();let i=new ResizeObserver(r);return i.observe(e),()=>{document.removeEventListener(`selectionchange`,n,{capture:!0}),i.disconnect()}},[]);let[I,L]=s(!1),[R,z]=s(!1),[B,V]=s(null),[H,U]=s(null),[W,G]=s(null);a(()=>{f(()=>{M.current?.dispatchEvent(new Event(`input`));let e=M.current?.selectionStart??null,t=M.current?.selectionEnd??null,n=M.current?.selectionDirection??`none`;e!==null&&t!==null&&(V(e),U(t),G(e),F.current.prev=[e,t,n])})},[O,R]),a(()=>{k!==void 0&&O!==k&&k.length<r&&O.length===r&&v?.(O)},[r,v,k,O]);let K=o(null);a(()=>{let e=R&&W!==null?W:null;e!==K.current&&(K.current=e,y?.(e))},[R,W,y]);let q=h({containerRef:N,inputRef:M,pushPasswordManagerStrategy:b,isFocused:R}),J=e=>{let t=e.currentTarget.value.slice(0,r);if(t.length>0&&j&&!j.test(t)){e.preventDefault();return}typeof k==`string`&&t.length<k.length&&document.dispatchEvent(new Event(`selectionchange`)),A(t)},Y=()=>{if(M.current){let e=Math.min(M.current.value.length,r-1),t=M.current.value.length;M.current?.setSelectionRange(e,t),V(e),U(t)}z(!0)},X=e=>{let t=M.current;if(!x&&(!P.current.isIOS||!e.clipboardData||!t))return;let n=e.clipboardData.getData(`text/plain`),i=x?x(n):n;e.preventDefault();let a=M.current?.selectionStart,o=M.current?.selectionEnd,s=(a===o?O.slice(0,a??0)+i+O.slice(a??0):O.slice(0,a??0)+i+O.slice(o??0)).slice(0,r);if(!(s.length>0&&j&&!j.test(s))&&t){t.value=s,A(s);let e=Math.min(s.length,r-1),n=s.length;t.setSelectionRange(e,n),V(e),U(n)}},Z={width:q.willPushPWMBadge?`calc(100% + ${q.PWM_BADGE_SPACE_WIDTH})`:`100%`,clipPath:q.willPushPWMBadge?`inset(0 ${q.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,fontSize:`var(--root-height)`},Q=u(`input`,{autoComplete:E.autoComplete||`one-time-code`,...E,"data-input-otp":!0,"data-input-otp-placeholder-shown":O.length===0||void 0,"data-input-otp-mss":B,"data-input-otp-mse":H,inputMode:m,pattern:j?.source,"aria-placeholder":c,className:`pointer-events-auto absolute inset-0 -z-10 flex h-full border-0 border-transparent bg-transparent text-center font-mono text-transparent tabular-nums leading-none tracking-[-.5em] caret-transparent opacity-100 shadow-none outline-none`,style:Z,maxLength:r,value:O,ref:M,onPaste:e=>{X(e),E.onPaste?.(e)},onChange:J,onMouseOver:e=>{L(!0),E.onMouseOver?.(e)},onMouseLeave:e=>{L(!1),E.onMouseLeave?.(e)},onKeyDown:e=>{(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&requestAnimationFrame(()=>{let e=M.current;if(e&&document.activeElement===e){let t=e.selectionStart,n=e.selectionEnd;t!==null&&n!==null&&G(t)}}),E.onKeyDown?.(e)},onFocus:e=>{Y(),E.onFocus?.(e)},onBlur:e=>{z(!1),E.onBlur?.(e)}}),$={slots:Array.from({length:r}).map((e,t)=>{let n=R&&B!==null&&H!==null&&(B===H&&t===B||t>=B&&t<H),r=O[t]===void 0?null:O[t];return{char:r,placeholderChar:O[0]===void 0?c?.[t]??null:null,isActive:n,hasFakeCaret:n&&r===null}}),isFocused:R,isHovering:!E.disabled&&I,setSelection:e=>{let t=M.current;if(!t||E.disabled)return;let n=Math.max(0,Math.min(e,r-1));document.activeElement!==t&&t.focus();let i=O[n]!==void 0,a=n,o=i?n+1:n;t.setSelectionRange(a,o),V(a),U(o),z(!0)}},te=w===void 0?u(_.Provider,{value:$,children:T}):w($);return d(l,{children:[C!==null&&u(`noscript`,{children:u(`style`,{children:C})}),d(`div`,{ref:N,className:e(`relative`,E.disabled?`cursor-default`:`cursor-text`,S),children:[te,u(`div`,{className:`absolute inset-0`,children:Q})]})]})},y=c(`block text-center`,{variants:{size:{sm:`h-4 w-3 text-sm`,md:`h-5 w-4 text-base`,lg:`h-6 w-5 text-lg`,xl:`h-7 w-6 text-xl`}},defaultVariants:{size:`md`}}),b=({className:t,render:n,...r})=>u(v,{containerClassName:`relative flex items-center gap-2 has-disabled:opacity-50`,className:e(`disabled:cursor-not-allowed`,t),render:n,...r}),x=({className:t,...n})=>u(`div`,{className:e(`z-10 flex items-center gap-3`,t),...n}),S=({index:n,className:r,onClick:a,onKeyDown:o,...s})=>{let c=i(_),{char:l,isActive:d}=c?.slots[n]??{},{setSelection:f}=c??{};return u(t,{isSelected:d,variant:`input`,color:`custom`,tabIndex:-1,className:e(`relative z-10 px-2!`,d&&`ring-4!`,r),onClick:e=>{f?.(n),a?.(e)},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f?.(n)),o?.(e)},label:null,...s,children:u(`span`,{className:`relative z-10 flex h-6 w-4 items-center justify-center`,children:l})})},C=e=>u(`div`,{"aria-hidden":!0,className:`z-0 table h-0.5 w-3 rounded-full bg-border text-text/50`,...e,children:u(n,{})}),w=e=>u(`div`,{"data-indicator":!0,className:`absolute top-0 z-0 h-full w-auto rounded-xl bg-text/20 ring-4 ring-text/20 transition-[left,width] duration-300 ease-in-out [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-2xl motion-reduce:transition-none`,...e});export{w as InputIndicator,b as InputOTP,x as InputOTPGroup,C as InputOTPSeparator,S as InputOTPSlot,v as OTPInput,_ as OTPInputContext,y as inputSlotVariants,h as usePasswordManagerBadge,g as usePrevious};
20
+ }`,render:w,children:T,...E})=>{let[D,ee]=o(typeof E.defaultValue==`string`?E.defaultValue:``),O=t??D,k=g(O),A=e=>{n?.(e),ee(e)},j=s===void 0?null:typeof s==`string`?new RegExp(s):s,M=a(null),N=a(null),P=a({value:O,onChange:A,isIOS:typeof window<`u`&&window?.CSS?.supports?.(`-webkit-touch-callout`,`none`)}),F=a({prev:[M.current?.selectionStart??null,M.current?.selectionEnd??null,M.current?.selectionDirection??`none`]});i(()=>{let e=M.current,t=N.current;if(!e||!t)return;P.current.value!==e.value&&P.current.onChange(e.value),F.current.prev=[e.selectionStart,e.selectionEnd,e.selectionDirection??`none`];let n=()=>{if(document.activeElement!==e){V(null),U(null),G(null);return}let t=e.selectionStart,n=e.selectionEnd,r=e.selectionDirection,i=e.maxLength,a=e.value,o=F.current.prev,s=-1,c=-1,l=r??`none`;if(a.length!==0&&t!==null&&n!==null){let e=t===n,r=t===a.length&&a.length<i;if(e&&!r){let e=t;if(e===0)s=0,c=1,l=`forward`;else if(e===i)s=e-1,c=e,l=`backward`;else if(i>1&&a.length>1){let t=0;if(o[0]!==null&&o[1]!==null){l=e<o[1]?`backward`:`forward`;let n=o[0]===o[1]&&o[0]<i;l===`backward`&&!n&&(t=-1)}s=t+e,c=t+e+1}}s!==-1&&c!==-1&&s!==c&&M.current?.setSelectionRange(s,c,l)}let u=s===-1?t:s,d=c===-1?n:c,f=l;G(t!==null&&n!==null?t===n?t:u:null),V(u),U(d),F.current.prev=[u,d,f]};if(document.addEventListener(`selectionchange`,n,{capture:!0}),n(),document.activeElement===e&&z(!0),!document.getElementById(`input-otp-style`)){let e=document.createElement(`style`);if(e.id=`input-otp-style`,document.head.appendChild(e),e.sheet){let t=`background: transparent !important; color: transparent !important; border-color: transparent !important; opacity: 0 !important; box-shadow: none !important; -webkit-box-shadow: none !important; -webkit-text-fill-color: transparent !important;`;p(e.sheet,`[data-input-otp]::selection { background: transparent !important; color: transparent !important; }`),p(e.sheet,`[data-input-otp]:autofill { ${t} }`),p(e.sheet,`[data-input-otp]:-webkit-autofill { ${t} }`),p(e.sheet,`@supports (-webkit-touch-callout: none) { [data-input-otp] { letter-spacing: -.6em !important; font-weight: 100 !important; font-stretch: ultra-condensed; font-optical-sizing: none !important; left: -1px !important; right: 1px !important; } }`),p(e.sheet,`[data-input-otp] + * { pointer-events: all !important; }`)}}let r=()=>{t&&t.style.setProperty(`--root-height`,`${e.clientHeight}px`)};r();let i=new ResizeObserver(r);return i.observe(e),()=>{document.removeEventListener(`selectionchange`,n,{capture:!0}),i.disconnect()}},[]);let[I,L]=o(!1),[R,z]=o(!1),[B,V]=o(null),[H,U]=o(null),[W,G]=o(null);i(()=>{f(()=>{M.current?.dispatchEvent(new Event(`input`));let e=M.current?.selectionStart??null,t=M.current?.selectionEnd??null,n=M.current?.selectionDirection??`none`;e!==null&&t!==null&&(V(e),U(t),G(e),F.current.prev=[e,t,n])})},[O,R]),i(()=>{k!==void 0&&O!==k&&k.length<r&&O.length===r&&v?.(O)},[r,v,k,O]);let K=a(null);i(()=>{let e=R&&W!==null?W:null;e!==K.current&&(K.current=e,y?.(e))},[R,W,y]);let q=h({containerRef:N,inputRef:M,pushPasswordManagerStrategy:b,isFocused:R}),J=e=>{let t=e.currentTarget.value.slice(0,r);if(t.length>0&&j&&!j.test(t)){e.preventDefault();return}typeof k==`string`&&t.length<k.length&&document.dispatchEvent(new Event(`selectionchange`)),A(t)},Y=()=>{if(M.current){let e=Math.min(M.current.value.length,r-1),t=M.current.value.length;M.current?.setSelectionRange(e,t),V(e),U(t)}z(!0)},X=e=>{let t=M.current;if(!x&&(!P.current.isIOS||!e.clipboardData||!t))return;let n=e.clipboardData.getData(`text/plain`),i=x?x(n):n;e.preventDefault();let a=M.current?.selectionStart,o=M.current?.selectionEnd,s=(a===o?O.slice(0,a??0)+i+O.slice(a??0):O.slice(0,a??0)+i+O.slice(o??0)).slice(0,r);if(!(s.length>0&&j&&!j.test(s))&&t){t.value=s,A(s);let e=Math.min(s.length,r-1),n=s.length;t.setSelectionRange(e,n),V(e),U(n)}},Z={width:q.willPushPWMBadge?`calc(100% + ${q.PWM_BADGE_SPACE_WIDTH})`:`100%`,clipPath:q.willPushPWMBadge?`inset(0 ${q.PWM_BADGE_SPACE_WIDTH} 0 0)`:void 0,fontSize:`var(--root-height)`},Q=u(`input`,{autoComplete:E.autoComplete||`one-time-code`,...E,"data-input-otp":!0,"data-input-otp-placeholder-shown":O.length===0||void 0,"data-input-otp-mss":B,"data-input-otp-mse":H,inputMode:m,pattern:j?.source,"aria-placeholder":c,className:`pointer-events-auto absolute inset-0 -z-10 flex h-full border-0 border-transparent bg-transparent text-center font-mono text-transparent tabular-nums leading-none tracking-[-.5em] caret-transparent opacity-100 shadow-none outline-none`,style:Z,maxLength:r,value:O,ref:M,onPaste:e=>{X(e),E.onPaste?.(e)},onChange:J,onMouseOver:e=>{L(!0),E.onMouseOver?.(e)},onMouseLeave:e=>{L(!1),E.onMouseLeave?.(e)},onKeyDown:e=>{(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&requestAnimationFrame(()=>{let e=M.current;if(e&&document.activeElement===e){let t=e.selectionStart,n=e.selectionEnd;t!==null&&n!==null&&G(t)}}),E.onKeyDown?.(e)},onFocus:e=>{Y(),E.onFocus?.(e)},onBlur:e=>{z(!1),E.onBlur?.(e)}}),$={slots:Array.from({length:r}).map((e,t)=>{let n=R&&B!==null&&H!==null&&(B===H&&t===B||t>=B&&t<H),r=O[t]===void 0?null:O[t];return{char:r,placeholderChar:O[0]===void 0?c?.[t]??null:null,isActive:n,hasFakeCaret:n&&r===null}}),isFocused:R,isHovering:!E.disabled&&I,setSelection:e=>{let t=M.current;if(!t||E.disabled)return;let n=Math.max(0,Math.min(e,r-1));document.activeElement!==t&&t.focus();let i=O[n]!==void 0,a=n,o=i?n+1:n;t.setSelectionRange(a,o),V(a),U(o),z(!0)}},te=w===void 0?u(_.Provider,{value:$,children:T}):w($);return d(l,{children:[C!==null&&u(`noscript`,{children:u(`style`,{children:C})}),d(`div`,{ref:N,className:e(`relative`,E.disabled?`cursor-default`:`cursor-text`,S),children:[te,u(`div`,{className:`absolute inset-0`,children:Q})]})]})},y=s(`block text-center`,{variants:{size:{sm:`h-4 w-3 text-sm`,md:`h-5 w-4 text-base`,lg:`h-6 w-5 text-lg`,xl:`h-7 w-6 text-xl`}},defaultVariants:{size:`md`}}),b=({className:t,render:n,...r})=>u(v,{containerClassName:`relative flex items-center gap-2 has-disabled:opacity-50`,className:e(`disabled:cursor-not-allowed`,t),render:n,...r}),x=({className:t,...n})=>u(`div`,{className:e(`z-10 flex items-center gap-3`,t),...n}),S=({index:n,className:i,onClick:a,onKeyDown:o,...s})=>{let c=r(_),{char:l,isActive:d}=c?.slots[n]??{},{setSelection:f}=c??{};return u(t,{isSelected:d,variant:`input`,color:`custom`,tabIndex:-1,className:e(`relative z-10 px-2!`,d&&`ring-4!`,i),onClick:e=>{f?.(n),a?.(e)},onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),f?.(n)),o?.(e)},label:null,...s,children:u(`span`,{className:`relative z-10 flex h-6 w-4 items-center justify-center`,children:l})})},C=e=>u(`div`,{"aria-hidden":!0,className:`z-0 table h-0.5 w-3 rounded-full bg-border text-text/50`,...e,children:u(c,{})}),w=e=>u(`div`,{"data-indicator":!0,className:`absolute top-0 z-0 h-full w-auto rounded-xl bg-text/20 ring-4 ring-text/20 transition-[left,width] duration-300 ease-in-out [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-2xl motion-reduce:transition-none`,...e});export{w as InputIndicator,b as InputOTP,x as InputOTPGroup,C as InputOTPSeparator,S as InputOTPSlot,v as OTPInput,_ as OTPInputContext,y as inputSlotVariants,h as usePasswordManagerBadge,g as usePrevious};
21
21
  //# sourceMappingURL=OTPInput.mjs.map
@@ -1,2 +1,2 @@
1
- "use client";import{cn as e}from"../../utils/cn.mjs";import{Container as t}from"../Container/index.mjs";import{Flag as n}from"../Flags/Flag.mjs";import{useEffect as r,useState as i}from"react";import{Fragment as a,jsx as o,jsxs as s}from"react/jsx-runtime";import{Locales as c,getHTMLTextDir as l,getLocaleName as u}from"intlayer";const d=(e,t)=>{let n=[...e];for(let e=n.length-1;e>0;e--){let t=Math.floor(Math.random()*(e+1));[n[e],n[t]]=[n[t],n[e]]}return t?n.slice(0,t):n},f=({locale:e,...r})=>o(`div`,{className:`group z-10 mx-8 inline-flex shrink-0 transition-transform duration-300 hover:scale-105`,...r,children:s(t,{roundedSize:`xl`,className:`flex flex-row items-center gap-5 p-3`,children:[o(n,{locale:e,className:`max-h-5 max-w-5 rounded-sm grayscale-80 transition duration-300 group-hover:grayscale-0`,width:640,height:480,loading:`lazy`}),o(`span`,{dir:l(e),lang:e,className:`flex text-nowrap`,children:u(e)})]})}),p=({localeList:t,className:n,...r})=>o(`div`,{className:`relative flex w-full overflow-hidden`,...r,children:s(`div`,{className:e(`inline-flex shrink-0 will-change-transform`,n),children:[t.map((e,t)=>o(f,{locale:e},`${e}-first-${t}`)),t.map((e,t)=>o(f,{locale:e},`${e}-second-${t}`))]})}),m=[,,,,].fill(0).map(()=>[]),h=[,,,,].fill(0).map(()=>d(Object.values(c.ALL_LOCALES),15)),g=({className:t,...n})=>{let[a,c]=i(m),[l,u,d,f]=a;return r(()=>{c(h)},[]),o(`section`,{className:e(`mask-[linear-gradient(to_right,transparent_0,black_128px,black_calc(100%-128px),transparent_100%)] my-10 w-full overflow-hidden`,t),...n,children:s(`div`,{className:`relative flex w-full flex-col gap-5 py-3`,children:[o(p,{localeList:l,className:`horizontal-loop-1`}),o(p,{localeList:u,className:`horizontal-loop-2`}),o(p,{localeList:d,className:`horizontal-loop-1`}),o(p,{localeList:f,className:`horizontal-loop-2`})]})})},_=({children:e})=>s(a,{children:[o(`div`,{className:`absolute top-0 left-0 z-0 flex size-full items-center justify-center`,children:o(g,{className:`mt-[30%]`})}),e]});export{_ as LanguageBackground,g as LanguageSection};
1
+ "use client";import{cn as e}from"../../utils/cn.mjs";import{Container as t}from"../Container/index.mjs";import{Flag as n}from"../Flags/Flag.mjs";import{useEffect as r,useState as i}from"react";import{Fragment as a,jsx as o,jsxs as s}from"react/jsx-runtime";import{ALL_LOCALES as c,getHTMLTextDir as l,getLocaleName as u}from"intlayer";const d=(e,t)=>{let n=[...e];for(let e=n.length-1;e>0;e--){let t=Math.floor(Math.random()*(e+1));[n[e],n[t]]=[n[t],n[e]]}return t?n.slice(0,t):n},f=({locale:e,...r})=>o(`div`,{className:`group z-10 mx-8 inline-flex shrink-0 transition-transform duration-300 hover:scale-105`,...r,children:s(t,{roundedSize:`xl`,className:`flex flex-row items-center gap-5 p-3`,children:[o(n,{locale:e,className:`max-h-5 max-w-5 rounded-sm grayscale-80 transition duration-300 group-hover:grayscale-0`,width:640,height:480,loading:`lazy`}),o(`span`,{dir:l(e),lang:e,className:`flex text-nowrap`,children:u(e)})]})}),p=({localeList:t,className:n,...r})=>o(`div`,{className:`relative flex w-full overflow-hidden`,...r,children:s(`div`,{className:e(`inline-flex shrink-0 will-change-transform`,n),children:[t.map((e,t)=>o(f,{locale:e},`${e}-first-${t}`)),t.map((e,t)=>o(f,{locale:e},`${e}-second-${t}`))]})}),m=[,,,,].fill(0).map(()=>[]),h=[,,,,].fill(0).map(()=>d(Object.values(c),15)),g=({className:t,...n})=>{let[a,c]=i(m),[l,u,d,f]=a;return r(()=>{c(h)},[]),o(`section`,{className:e(`mask-[linear-gradient(to_right,transparent_0,black_128px,black_calc(100%-128px),transparent_100%)] my-10 w-full overflow-hidden`,t),...n,children:s(`div`,{className:`relative flex w-full flex-col gap-5 py-3`,children:[o(p,{localeList:l,className:`horizontal-loop-1`}),o(p,{localeList:u,className:`horizontal-loop-2`}),o(p,{localeList:d,className:`horizontal-loop-1`}),o(p,{localeList:f,className:`horizontal-loop-2`})]})})},_=({children:e})=>s(a,{children:[o(`div`,{className:`absolute top-0 left-0 z-0 flex size-full items-center justify-center`,children:o(g,{className:`mt-[30%]`})}),e]});export{_ as LanguageBackground,g as LanguageSection};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/components/LanguageBackground/index.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@utils/cn';\nimport { getHTMLTextDir, getLocaleName, type Locale, Locales } from 'intlayer';\nimport {\n type FC,\n type HTMLAttributes,\n type PropsWithChildren,\n useEffect,\n useState,\n} from 'react';\nimport { Container } from '../Container';\nimport { Flag } from '../Flags';\n\nconst shuffleArray = (array: string[], limit?: number) => {\n const shuffled = [...array];\n\n for (let i = shuffled.length - 1; i > 0; i--) {\n const randomIndex = Math.floor(Math.random() * (i + 1));\n\n [shuffled[i], shuffled[randomIndex]] = [shuffled[randomIndex], shuffled[i]];\n }\n\n return limit ? shuffled.slice(0, limit) : shuffled;\n};\n\nconst LocalCard: FC<{ locale: string }> = ({ locale, ...props }) => (\n <div\n className=\"group z-10 mx-8 inline-flex shrink-0 transition-transform duration-300 hover:scale-105\"\n {...props}\n >\n <Container\n roundedSize=\"xl\"\n className=\"flex flex-row items-center gap-5 p-3\"\n >\n <Flag\n locale={locale as Locale}\n className=\"max-h-5 max-w-5 rounded-sm grayscale-80 transition duration-300 group-hover:grayscale-0\"\n width={640}\n height={480}\n loading=\"lazy\"\n />\n <span\n dir={getHTMLTextDir(locale as Locale)}\n lang={locale as Locale}\n className=\"flex text-nowrap\"\n >\n {getLocaleName(locale as Locale)}\n </span>\n </Container>\n </div>\n);\n\nconst LocalCardList: FC<{ localeList: string[]; className?: string }> = ({\n localeList,\n className,\n ...props\n}) => (\n <div className=\"relative flex w-full overflow-hidden\" {...props}>\n <div\n className={cn('inline-flex shrink-0 will-change-transform', className)}\n >\n {/* First set of cards */}\n {localeList.map((locale, index) => (\n <LocalCard key={`${locale}-first-${index}`} locale={locale} />\n ))}\n {/* Duplicate set for seamless loop */}\n {localeList.map((locale, index) => (\n <LocalCard key={`${locale}-second-${index}`} locale={locale} />\n ))}\n </div>\n </div>\n);\n\nconst NUM_OF_LOCALES = 15;\n\nconst emptyArrayOfLocale: string[][] = new Array(4).fill(0).map(() => []);\nconst arrayOfLocale: string[][] = new Array(4)\n .fill(0)\n .map(() => shuffleArray(Object.values(Locales.ALL_LOCALES), NUM_OF_LOCALES));\n\nexport const LanguageSection: FC<HTMLAttributes<HTMLElement>> = ({\n className,\n ...props\n}) => {\n const [localeList, setLocaleList] = useState(emptyArrayOfLocale);\n const [firstPart, secondPart, thirdPart, fourthPart] = localeList;\n\n useEffect(() => {\n setLocaleList(arrayOfLocale);\n }, []);\n\n return (\n <section\n className={cn(\n 'mask-[linear-gradient(to_right,transparent_0,black_128px,black_calc(100%-128px),transparent_100%)] my-10 w-full overflow-hidden',\n className\n )}\n {...props}\n >\n <div className=\"relative flex w-full flex-col gap-5 py-3\">\n <LocalCardList localeList={firstPart} className=\"horizontal-loop-1\" />\n <LocalCardList localeList={secondPart} className=\"horizontal-loop-2\" />\n <LocalCardList localeList={thirdPart} className=\"horizontal-loop-1\" />\n <LocalCardList localeList={fourthPart} className=\"horizontal-loop-2\" />\n </div>\n </section>\n );\n};\n\nexport const LanguageBackground: FC<PropsWithChildren> = ({ children }) => (\n <>\n <div className=\"absolute top-0 left-0 z-0 flex size-full items-center justify-center\">\n <LanguageSection className=\"mt-[30%]\" />\n </div>\n {children}\n </>\n);\n"],"mappings":"2UAcA,MAAM,GAAgB,EAAiB,IAAmB,CACxD,IAAM,EAAW,CAAC,GAAG,EAAM,CAE3B,IAAK,IAAI,EAAI,EAAS,OAAS,EAAG,EAAI,EAAG,IAAK,CAC5C,IAAM,EAAc,KAAK,MAAM,KAAK,QAAQ,EAAI,EAAI,GAAG,CAEvD,CAAC,EAAS,GAAI,EAAS,IAAgB,CAAC,EAAS,GAAc,EAAS,GAAG,CAG7E,OAAO,EAAQ,EAAS,MAAM,EAAG,EAAM,CAAG,GAGtC,GAAqC,CAAE,SAAQ,GAAG,KACtD,EAAC,MAAD,CACE,UAAU,yFACV,GAAI,WAEJ,EAAC,EAAD,CACE,YAAY,KACZ,UAAU,gDAFZ,CAIE,EAAC,EAAD,CACU,SACR,UAAU,0FACV,MAAO,IACP,OAAQ,IACR,QAAQ,OACR,CAAA,CACF,EAAC,OAAD,CACE,IAAK,EAAe,EAAiB,CACrC,KAAM,EACN,UAAU,4BAET,EAAc,EAAiB,CAC3B,CAAA,CACG,GACR,CAAA,CAGF,GAAmE,CACvE,aACA,YACA,GAAG,KAEH,EAAC,MAAD,CAAK,UAAU,uCAAuC,GAAI,WACxD,EAAC,MAAD,CACE,UAAW,EAAG,6CAA8C,EAAU,UADxE,CAIG,EAAW,KAAK,EAAQ,IACvB,EAAC,EAAD,CAAoD,SAAU,CAA9C,GAAG,EAAO,SAAS,IAA2B,CAC9D,CAED,EAAW,KAAK,EAAQ,IACvB,EAAC,EAAD,CAAqD,SAAU,CAA/C,GAAG,EAAO,UAAU,IAA2B,CAC/D,CACE,GACF,CAAA,CAKF,EAAiC,MAAY,CAAC,KAAK,EAAE,CAAC,QAAU,EAAE,CAAC,CACnE,EAA4B,MAAY,CAC3C,KAAK,EAAE,CACP,QAAU,EAAa,OAAO,OAAO,EAAQ,YAAY,CAAE,GAAe,CAAC,CAEjE,GAAoD,CAC/D,YACA,GAAG,KACC,CACJ,GAAM,CAAC,EAAY,GAAiB,EAAS,EAAmB,CAC1D,CAAC,EAAW,EAAY,EAAW,GAAc,EAMvD,OAJA,MAAgB,CACd,EAAc,EAAc,EAC3B,EAAE,CAAC,CAGJ,EAAC,UAAD,CACE,UAAW,EACT,kIACA,EACD,CACD,GAAI,WAEJ,EAAC,MAAD,CAAK,UAAU,oDAAf,CACE,EAAC,EAAD,CAAe,WAAY,EAAW,UAAU,oBAAsB,CAAA,CACtE,EAAC,EAAD,CAAe,WAAY,EAAY,UAAU,oBAAsB,CAAA,CACvE,EAAC,EAAD,CAAe,WAAY,EAAW,UAAU,oBAAsB,CAAA,CACtE,EAAC,EAAD,CAAe,WAAY,EAAY,UAAU,oBAAsB,CAAA,CACnE,GACE,CAAA,EAID,GAA6C,CAAE,cAC1D,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,MAAD,CAAK,UAAU,gFACb,EAAC,EAAD,CAAiB,UAAU,WAAa,CAAA,CACpC,CAAA,CACL,EACA,CAAA,CAAA"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/components/LanguageBackground/index.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@utils/cn';\nimport {\n ALL_LOCALES,\n getHTMLTextDir,\n getLocaleName,\n type Locale,\n} from 'intlayer';\nimport {\n type FC,\n type HTMLAttributes,\n type PropsWithChildren,\n useEffect,\n useState,\n} from 'react';\nimport { Container } from '../Container';\nimport { Flag } from '../Flags';\n\nconst shuffleArray = (array: string[], limit?: number) => {\n const shuffled = [...array];\n\n for (let i = shuffled.length - 1; i > 0; i--) {\n const randomIndex = Math.floor(Math.random() * (i + 1));\n\n [shuffled[i], shuffled[randomIndex]] = [shuffled[randomIndex], shuffled[i]];\n }\n\n return limit ? shuffled.slice(0, limit) : shuffled;\n};\n\nconst LocalCard: FC<{ locale: string }> = ({ locale, ...props }) => (\n <div\n className=\"group z-10 mx-8 inline-flex shrink-0 transition-transform duration-300 hover:scale-105\"\n {...props}\n >\n <Container\n roundedSize=\"xl\"\n className=\"flex flex-row items-center gap-5 p-3\"\n >\n <Flag\n locale={locale as Locale}\n className=\"max-h-5 max-w-5 rounded-sm grayscale-80 transition duration-300 group-hover:grayscale-0\"\n width={640}\n height={480}\n loading=\"lazy\"\n />\n <span\n dir={getHTMLTextDir(locale as Locale)}\n lang={locale as Locale}\n className=\"flex text-nowrap\"\n >\n {getLocaleName(locale as Locale)}\n </span>\n </Container>\n </div>\n);\n\nconst LocalCardList: FC<{ localeList: string[]; className?: string }> = ({\n localeList,\n className,\n ...props\n}) => (\n <div className=\"relative flex w-full overflow-hidden\" {...props}>\n <div\n className={cn('inline-flex shrink-0 will-change-transform', className)}\n >\n {/* First set of cards */}\n {localeList.map((locale, index) => (\n <LocalCard key={`${locale}-first-${index}`} locale={locale} />\n ))}\n {/* Duplicate set for seamless loop */}\n {localeList.map((locale, index) => (\n <LocalCard key={`${locale}-second-${index}`} locale={locale} />\n ))}\n </div>\n </div>\n);\n\nconst NUM_OF_LOCALES = 15;\n\nconst emptyArrayOfLocale: string[][] = new Array(4).fill(0).map(() => []);\nconst arrayOfLocale: string[][] = new Array(4)\n .fill(0)\n .map(() => shuffleArray(Object.values(ALL_LOCALES), NUM_OF_LOCALES));\n\nexport const LanguageSection: FC<HTMLAttributes<HTMLElement>> = ({\n className,\n ...props\n}) => {\n const [localeList, setLocaleList] = useState(emptyArrayOfLocale);\n const [firstPart, secondPart, thirdPart, fourthPart] = localeList;\n\n useEffect(() => {\n setLocaleList(arrayOfLocale);\n }, []);\n\n return (\n <section\n className={cn(\n 'mask-[linear-gradient(to_right,transparent_0,black_128px,black_calc(100%-128px),transparent_100%)] my-10 w-full overflow-hidden',\n className\n )}\n {...props}\n >\n <div className=\"relative flex w-full flex-col gap-5 py-3\">\n <LocalCardList localeList={firstPart} className=\"horizontal-loop-1\" />\n <LocalCardList localeList={secondPart} className=\"horizontal-loop-2\" />\n <LocalCardList localeList={thirdPart} className=\"horizontal-loop-1\" />\n <LocalCardList localeList={fourthPart} className=\"horizontal-loop-2\" />\n </div>\n </section>\n );\n};\n\nexport const LanguageBackground: FC<PropsWithChildren> = ({ children }) => (\n <>\n <div className=\"absolute top-0 left-0 z-0 flex size-full items-center justify-center\">\n <LanguageSection className=\"mt-[30%]\" />\n </div>\n {children}\n </>\n);\n"],"mappings":"+UAmBA,MAAM,GAAgB,EAAiB,IAAmB,CACxD,IAAM,EAAW,CAAC,GAAG,EAAM,CAE3B,IAAK,IAAI,EAAI,EAAS,OAAS,EAAG,EAAI,EAAG,IAAK,CAC5C,IAAM,EAAc,KAAK,MAAM,KAAK,QAAQ,EAAI,EAAI,GAAG,CAEvD,CAAC,EAAS,GAAI,EAAS,IAAgB,CAAC,EAAS,GAAc,EAAS,GAAG,CAG7E,OAAO,EAAQ,EAAS,MAAM,EAAG,EAAM,CAAG,GAGtC,GAAqC,CAAE,SAAQ,GAAG,KACtD,EAAC,MAAD,CACE,UAAU,yFACV,GAAI,WAEJ,EAAC,EAAD,CACE,YAAY,KACZ,UAAU,gDAFZ,CAIE,EAAC,EAAD,CACU,SACR,UAAU,0FACV,MAAO,IACP,OAAQ,IACR,QAAQ,OACR,CAAA,CACF,EAAC,OAAD,CACE,IAAK,EAAe,EAAiB,CACrC,KAAM,EACN,UAAU,4BAET,EAAc,EAAiB,CAC3B,CAAA,CACG,GACR,CAAA,CAGF,GAAmE,CACvE,aACA,YACA,GAAG,KAEH,EAAC,MAAD,CAAK,UAAU,uCAAuC,GAAI,WACxD,EAAC,MAAD,CACE,UAAW,EAAG,6CAA8C,EAAU,UADxE,CAIG,EAAW,KAAK,EAAQ,IACvB,EAAC,EAAD,CAAoD,SAAU,CAA9C,GAAG,EAAO,SAAS,IAA2B,CAC9D,CAED,EAAW,KAAK,EAAQ,IACvB,EAAC,EAAD,CAAqD,SAAU,CAA/C,GAAG,EAAO,UAAU,IAA2B,CAC/D,CACE,GACF,CAAA,CAKF,EAAiC,MAAY,CAAC,KAAK,EAAE,CAAC,QAAU,EAAE,CAAC,CACnE,EAA4B,MAAY,CAC3C,KAAK,EAAE,CACP,QAAU,EAAa,OAAO,OAAO,EAAY,CAAE,GAAe,CAAC,CAEzD,GAAoD,CAC/D,YACA,GAAG,KACC,CACJ,GAAM,CAAC,EAAY,GAAiB,EAAS,EAAmB,CAC1D,CAAC,EAAW,EAAY,EAAW,GAAc,EAMvD,OAJA,MAAgB,CACd,EAAc,EAAc,EAC3B,EAAE,CAAC,CAGJ,EAAC,UAAD,CACE,UAAW,EACT,kIACA,EACD,CACD,GAAI,WAEJ,EAAC,MAAD,CAAK,UAAU,oDAAf,CACE,EAAC,EAAD,CAAe,WAAY,EAAW,UAAU,oBAAsB,CAAA,CACtE,EAAC,EAAD,CAAe,WAAY,EAAY,UAAU,oBAAsB,CAAA,CACvE,EAAC,EAAD,CAAe,WAAY,EAAW,UAAU,oBAAsB,CAAA,CACtE,EAAC,EAAD,CAAe,WAAY,EAAY,UAAU,oBAAsB,CAAA,CACnE,GACE,CAAA,EAID,GAA6C,CAAE,cAC1D,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,MAAD,CAAK,UAAU,gFACb,EAAC,EAAD,CAAiB,UAAU,WAAa,CAAA,CACpC,CAAA,CACL,EACA,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import{cn as e}from"../../utils/cn.mjs";import{ExternalLink as t,MoveRight as n}from"lucide-react";import{isValidElement as r}from"react";import{cva as i}from"class-variance-authority";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{getLocalizedUrl as s}from"@intlayer/core/localization";let c=function(e){return e.DEFAULT=`default`,e.INVISIBLE_LINK=`invisible-link`,e.BUTTON=`button`,e.BUTTON_OUTLINED=`button-outlined`,e.HOVERABLE=`hoverable`,e}({}),l=function(e){return e.PRIMARY=`primary`,e.SECONDARY=`secondary`,e.DESTRUCTIVE=`destructive`,e.NEUTRAL=`neutral`,e.LIGHT=`light`,e.DARK=`dark`,e.TEXT=`text`,e.TEXT_INVERSE=`text-inverse`,e.ERROR=`error`,e.SUCCESS=`success`,e.CUSTOM=`custom`,e}({}),u=function(e){return e.NONE=`none`,e.SM=`sm`,e.MD=`md`,e.LG=`lg`,e.XL=`xl`,e.TWO_XL=`2xl`,e.THREE_XL=`3xl`,e.FULL=`full`,e}({}),d=function(e){return e.SM=`sm`,e.MD=`md`,e.LG=`lg`,e.XL=`xl`,e.CUSTOM=`custom`,e}({}),f=function(e){return e.DEFAULT=`default`,e.TRUE=`true`,e.FALSE=`false`,e}({});const p=i(`gap-3 transition-all duration-300 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50`,{variants:{variant:{[`${c.DEFAULT}`]:`h-auto justify-start border-inherit bg-current/0 px-1 font-medium decoration-[1.5] underline-offset-5 hover:bg-current/0 hover:text-current/80 hover:underline hover:underline-offset-6`,[`${c.INVISIBLE_LINK}`]:`h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-5 hover:bg-current/0`,[`${c.BUTTON}`]:`relative flex cursor-pointer flex-row items-center justify-center gap-2 rounded-full bg-current text-center font-medium text-text ring-0 *:text-text-opposite hover:bg-current/90 hover:ring-5 aria-selected:ring-5`,[`${c.BUTTON_OUTLINED}`]:`relative flex cursor-pointer flex-row items-center justify-center gap-2 rounded-full border-[1.3px] border-current text-center font-medium text-text ring-0 *:text-text hover:bg-current/20 hover:ring-5 aria-selected:ring-5`,[`${c.HOVERABLE}`]:`block rounded-lg border-none bg-current/0 hover:bg-current/10 aria-[current]:bg-current/5`},roundedSize:{[`${u.NONE}`]:`rounded-none`,[`${u.SM}`]:`rounded-lg [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-xl`,[`${u.MD}`]:`rounded-xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-2xl`,[`${u.LG}`]:`rounded-2xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-3xl`,[`${u.XL}`]:`rounded-3xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-4xl`,[`${u.TWO_XL}`]:`rounded-4xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[2.5rem]`,[`${u.THREE_XL}`]:`rounded-[2.5rem] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[3rem]`,[`${u.FULL}`]:`rounded-full`},color:{[`${l.PRIMARY}`]:`text-primary`,[`${l.SECONDARY}`]:`text-secondary`,[`${l.DESTRUCTIVE}`]:`text-destructive`,[`${l.NEUTRAL}`]:`text-neutral`,[`${l.LIGHT}`]:`text-white`,[`${l.DARK}`]:`text-neutral-800`,[`${l.TEXT}`]:`text-text`,[`${l.TEXT_INVERSE}`]:`text-text-opposite`,[`${l.ERROR}`]:`text-error`,[`${l.SUCCESS}`]:`text-success`,[`${l.CUSTOM}`]:``},size:{[`${d.SM}`]:`text-sm`,[`${d.MD}`]:`text-base`,[`${d.LG}`]:`text-lg`,[`${d.XL}`]:`text-xl`,[`${d.CUSTOM}`]:``},underlined:{[f.DEFAULT]:``,[f.TRUE]:`underline`,[f.FALSE]:`no-underline`}},compoundVariants:[{variant:c.BUTTON,color:l.TEXT_INVERSE,class:`*:text-text`},{variant:c.BUTTON_OUTLINED,color:l.TEXT_INVERSE,class:`text-text-opposite *:text-text-opposite`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],size:d.SM,class:`min-h-7 px-3 max-md:py-1`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],size:d.MD,class:`min-h-8 px-6 max-md:py-2`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],size:d.LG,class:`min-h-10 px-8 max-md:py-3`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],size:d.XL,class:`min-h-11 px-10 max-md:py-4`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.PRIMARY,class:`ring-primary/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.SECONDARY,class:`ring-secondary/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.DESTRUCTIVE,class:`ring-destructive/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.NEUTRAL,class:`ring-neutral/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.LIGHT,class:`ring-white/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.DARK,class:`ring-neutral-800/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.TEXT,class:`ring-text/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.TEXT_INVERSE,class:`ring-text-opposite/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.ERROR,class:`ring-error/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.SUCCESS,class:`ring-success/20`}],defaultVariants:{variant:c.DEFAULT,roundedSize:u.MD,underlined:f.DEFAULT,size:d.MD}}),m=({href:e,isExternalLink:t})=>{let n=typeof e==`string`&&e.trim()!==``;return t===!0||t===void 0&&n&&/^https?:\/\//.test(e)},h=e=>typeof e==`string`||typeof e==`number`?!0:Array.isArray(e)?e.every(h):r(e)?h(e.props.children):!1,g=r=>{let{variant:i=c.DEFAULT,color:u=l.CUSTOM,roundedSize:d,children:f,label:g,className:_,isActive:v,underlined:y,locale:b,size:x,isExternalLink:S,isPageSection:C,href:w,...T}=r,E=S??m(r),D=C??w?.startsWith(`#`)??!1,O=h(f),k=i===c.BUTTON||i===c.BUTTON_OUTLINED,A=E?`noopener noreferrer nofollow`:void 0,j=E?`_blank`:`_self`;return o(`a`,{href:b&&w&&!E&&!D?s(w,b):w,"aria-label":g,rel:A,target:j,"aria-current":v?`page`:void 0,suppressHydrationWarning:!0,className:e(p({variant:i,color:u,roundedSize:d,underlined:y,size:x,className:_})),...T,children:[k&&O?a(`span`,{children:f}):f,E&&O&&a(t,{className:`ml-2 inline-block size-4`}),D&&a(n,{className:`ml-2 inline-block size-4`})]})};export{g as Link,l as LinkColor,u as LinkRoundedSize,d as LinkSize,f as LinkUnderlined,c as LinkVariant,m as checkIsExternalLink,h as isTextChildren,p as linkVariants};
1
+ import{cn as e}from"../../utils/cn.mjs";import{isValidElement as t}from"react";import{cva as n}from"class-variance-authority";import{ExternalLink as r,MoveRight as i}from"lucide-react";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{getLocalizedUrl as s}from"@intlayer/core/localization";let c=function(e){return e.DEFAULT=`default`,e.INVISIBLE_LINK=`invisible-link`,e.BUTTON=`button`,e.BUTTON_OUTLINED=`button-outlined`,e.HOVERABLE=`hoverable`,e}({}),l=function(e){return e.PRIMARY=`primary`,e.SECONDARY=`secondary`,e.DESTRUCTIVE=`destructive`,e.NEUTRAL=`neutral`,e.LIGHT=`light`,e.DARK=`dark`,e.TEXT=`text`,e.TEXT_INVERSE=`text-inverse`,e.ERROR=`error`,e.SUCCESS=`success`,e.CUSTOM=`custom`,e}({}),u=function(e){return e.NONE=`none`,e.SM=`sm`,e.MD=`md`,e.LG=`lg`,e.XL=`xl`,e.TWO_XL=`2xl`,e.THREE_XL=`3xl`,e.FULL=`full`,e}({}),d=function(e){return e.SM=`sm`,e.MD=`md`,e.LG=`lg`,e.XL=`xl`,e.CUSTOM=`custom`,e}({}),f=function(e){return e.DEFAULT=`default`,e.TRUE=`true`,e.FALSE=`false`,e}({});const p=n(`gap-3 transition-all duration-300 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50`,{variants:{variant:{[`${c.DEFAULT}`]:`h-auto justify-start border-inherit bg-current/0 px-1 font-medium decoration-[1.5] underline-offset-5 hover:bg-current/0 hover:text-current/80 hover:underline hover:underline-offset-6`,[`${c.INVISIBLE_LINK}`]:`h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-5 hover:bg-current/0`,[`${c.BUTTON}`]:`relative flex cursor-pointer flex-row items-center justify-center gap-2 rounded-full bg-current text-center font-medium text-text ring-0 *:text-text-opposite hover:bg-current/90 hover:ring-5 aria-selected:ring-5`,[`${c.BUTTON_OUTLINED}`]:`relative flex cursor-pointer flex-row items-center justify-center gap-2 rounded-full border-[1.3px] border-current text-center font-medium text-text ring-0 *:text-text hover:bg-current/20 hover:ring-5 aria-selected:ring-5`,[`${c.HOVERABLE}`]:`block rounded-lg border-none bg-current/0 hover:bg-current/10 aria-[current]:bg-current/5`},roundedSize:{[`${u.NONE}`]:`rounded-none`,[`${u.SM}`]:`rounded-lg [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-xl`,[`${u.MD}`]:`rounded-xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-2xl`,[`${u.LG}`]:`rounded-2xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-3xl`,[`${u.XL}`]:`rounded-3xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-4xl`,[`${u.TWO_XL}`]:`rounded-4xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[2.5rem]`,[`${u.THREE_XL}`]:`rounded-[2.5rem] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[3rem]`,[`${u.FULL}`]:`rounded-full`},color:{[`${l.PRIMARY}`]:`text-primary`,[`${l.SECONDARY}`]:`text-secondary`,[`${l.DESTRUCTIVE}`]:`text-destructive`,[`${l.NEUTRAL}`]:`text-neutral`,[`${l.LIGHT}`]:`text-white`,[`${l.DARK}`]:`text-neutral-800`,[`${l.TEXT}`]:`text-text`,[`${l.TEXT_INVERSE}`]:`text-text-opposite`,[`${l.ERROR}`]:`text-error`,[`${l.SUCCESS}`]:`text-success`,[`${l.CUSTOM}`]:``},size:{[`${d.SM}`]:`text-sm`,[`${d.MD}`]:`text-base`,[`${d.LG}`]:`text-lg`,[`${d.XL}`]:`text-xl`,[`${d.CUSTOM}`]:``},underlined:{[f.DEFAULT]:``,[f.TRUE]:`underline`,[f.FALSE]:`no-underline`}},compoundVariants:[{variant:c.BUTTON,color:l.TEXT_INVERSE,class:`*:text-text`},{variant:c.BUTTON_OUTLINED,color:l.TEXT_INVERSE,class:`text-text-opposite *:text-text-opposite`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],size:d.SM,class:`min-h-7 px-3 max-md:py-1`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],size:d.MD,class:`min-h-8 px-6 max-md:py-2`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],size:d.LG,class:`min-h-10 px-8 max-md:py-3`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],size:d.XL,class:`min-h-11 px-10 max-md:py-4`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.PRIMARY,class:`ring-primary/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.SECONDARY,class:`ring-secondary/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.DESTRUCTIVE,class:`ring-destructive/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.NEUTRAL,class:`ring-neutral/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.LIGHT,class:`ring-white/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.DARK,class:`ring-neutral-800/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.TEXT,class:`ring-text/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.TEXT_INVERSE,class:`ring-text-opposite/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.ERROR,class:`ring-error/20`},{variant:[c.BUTTON,c.BUTTON_OUTLINED],color:l.SUCCESS,class:`ring-success/20`}],defaultVariants:{variant:c.DEFAULT,roundedSize:u.MD,underlined:f.DEFAULT,size:d.MD}}),m=({href:e,isExternalLink:t})=>{let n=typeof e==`string`&&e.trim()!==``;return t===!0||t===void 0&&n&&/^https?:\/\//.test(e)},h=e=>typeof e==`string`||typeof e==`number`?!0:Array.isArray(e)?e.every(h):t(e)?h(e.props.children):!1,g=t=>{let{variant:n=c.DEFAULT,color:u=l.CUSTOM,roundedSize:d,children:f,label:g,className:_,isActive:v,underlined:y,locale:b,size:x,isExternalLink:S,isPageSection:C,href:w,...T}=t,E=S??m(t),D=C??w?.startsWith(`#`)??!1,O=h(f),k=n===c.BUTTON||n===c.BUTTON_OUTLINED,A=E?`noopener noreferrer nofollow`:void 0,j=E?`_blank`:`_self`;return o(`a`,{href:b&&w&&!E&&!D?s(w,b):w,"aria-label":g,rel:A,target:j,"aria-current":v?`page`:void 0,suppressHydrationWarning:!0,className:e(p({variant:n,color:u,roundedSize:d,underlined:y,size:x,className:_})),...T,children:[k&&O?a(`span`,{children:f}):f,E&&O&&a(r,{className:`ml-2 inline-block size-4`}),D&&a(i,{className:`ml-2 inline-block size-4`})]})};export{g as Link,l as LinkColor,u as LinkRoundedSize,d as LinkSize,f as LinkUnderlined,c as LinkVariant,m as checkIsExternalLink,h as isTextChildren,p as linkVariants};
2
2
  //# sourceMappingURL=Link.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Link.mjs","names":[],"sources":["../../../../src/components/Link/Link.tsx"],"sourcesContent":["import { getLocalizedUrl } from '@intlayer/core/localization';\nimport type { LocalesValues } from '@intlayer/types';\nimport { cn } from '@utils/cn';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ExternalLink, MoveRight } from 'lucide-react';\nimport {\n type AnchorHTMLAttributes,\n type DetailedHTMLProps,\n type FC,\n isValidElement,\n type ReactNode,\n} from 'react';\n\n/**\n * Visual style variants for Link component\n */\nexport enum LinkVariant {\n DEFAULT = 'default',\n INVISIBLE_LINK = 'invisible-link',\n BUTTON = 'button',\n BUTTON_OUTLINED = 'button-outlined',\n HOVERABLE = 'hoverable',\n}\n\n/**\n * Color theme variants for Link component\n */\nexport enum LinkColor {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n DESTRUCTIVE = 'destructive',\n NEUTRAL = 'neutral',\n LIGHT = 'light',\n DARK = 'dark',\n TEXT = 'text',\n TEXT_INVERSE = 'text-inverse',\n ERROR = 'error',\n SUCCESS = 'success',\n CUSTOM = 'custom',\n}\n\nexport enum LinkRoundedSize {\n NONE = 'none',\n SM = 'sm',\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\n TWO_XL = '2xl',\n THREE_XL = '3xl',\n FULL = 'full',\n}\n\nexport enum LinkSize {\n SM = 'sm',\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\n CUSTOM = 'custom',\n}\n\nexport enum LinkUnderlined {\n DEFAULT = 'default',\n TRUE = 'true',\n FALSE = 'false',\n}\n\nexport const linkVariants = cva(\n 'gap-3 transition-all duration-300 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n [`${LinkVariant.DEFAULT}`]:\n 'h-auto justify-start border-inherit bg-current/0 px-1 font-medium decoration-[1.5] underline-offset-5 hover:bg-current/0 hover:text-current/80 hover:underline hover:underline-offset-6',\n [`${LinkVariant.INVISIBLE_LINK}`]:\n 'h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-5 hover:bg-current/0',\n\n [`${LinkVariant.BUTTON}`]:\n 'relative flex cursor-pointer flex-row items-center justify-center gap-2 rounded-full bg-current text-center font-medium text-text ring-0 *:text-text-opposite hover:bg-current/90 hover:ring-5 aria-selected:ring-5',\n\n [`${LinkVariant.BUTTON_OUTLINED}`]:\n 'relative flex cursor-pointer flex-row items-center justify-center gap-2 rounded-full border-[1.3px] border-current text-center font-medium text-text ring-0 *:text-text hover:bg-current/20 hover:ring-5 aria-selected:ring-5',\n\n [`${LinkVariant.HOVERABLE}`]:\n 'block rounded-lg border-none bg-current/0 hover:bg-current/10 aria-[current]:bg-current/5',\n },\n roundedSize: {\n [`${LinkRoundedSize.NONE}`]: 'rounded-none',\n [`${LinkRoundedSize.SM}`]:\n 'rounded-lg [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-xl',\n [`${LinkRoundedSize.MD}`]:\n 'rounded-xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-2xl',\n [`${LinkRoundedSize.LG}`]:\n 'rounded-2xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-3xl',\n [`${LinkRoundedSize.XL}`]:\n 'rounded-3xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-4xl',\n [`${LinkRoundedSize.TWO_XL}`]:\n 'rounded-4xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[2.5rem]',\n [`${LinkRoundedSize.THREE_XL}`]:\n 'rounded-[2.5rem] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[3rem]',\n [`${LinkRoundedSize.FULL}`]: 'rounded-full',\n },\n color: {\n [`${LinkColor.PRIMARY}`]: 'text-primary',\n [`${LinkColor.SECONDARY}`]: 'text-secondary',\n [`${LinkColor.DESTRUCTIVE}`]: 'text-destructive',\n [`${LinkColor.NEUTRAL}`]: 'text-neutral',\n [`${LinkColor.LIGHT}`]: 'text-white',\n [`${LinkColor.DARK}`]: 'text-neutral-800',\n [`${LinkColor.TEXT}`]: 'text-text',\n [`${LinkColor.TEXT_INVERSE}`]: 'text-text-opposite',\n [`${LinkColor.ERROR}`]: 'text-error',\n [`${LinkColor.SUCCESS}`]: 'text-success',\n [`${LinkColor.CUSTOM}`]: '',\n },\n size: {\n [`${LinkSize.SM}`]: 'text-sm',\n [`${LinkSize.MD}`]: 'text-base',\n [`${LinkSize.LG}`]: 'text-lg',\n [`${LinkSize.XL}`]: 'text-xl',\n [`${LinkSize.CUSTOM}`]: '',\n },\n underlined: {\n [LinkUnderlined.DEFAULT]: '',\n [LinkUnderlined.TRUE]: 'underline',\n [LinkUnderlined.FALSE]: 'no-underline',\n },\n },\n // Compound variants handle height and padding\n compoundVariants: [\n // ---------------------------------------------------------\n // FIX START: Correctly Handle Contrast for TEXT_INVERSE\n // ---------------------------------------------------------\n {\n // Filled Button + Inverse Color (e.g., White Button):\n // We DO NOT override parent text color (it must remain 'text-opposite' so bg-current is white).\n // We ONLY override children to be 'text-text' (Dark) so they show up on white.\n variant: LinkVariant.BUTTON,\n color: LinkColor.TEXT_INVERSE,\n class: '*:text-text',\n },\n {\n // Outlined Button + Inverse Color (e.g., White Border):\n // Parent is 'text-opposite' (Border is white).\n // Children must also be 'text-opposite' (White text) to show on dark background.\n variant: LinkVariant.BUTTON_OUTLINED,\n color: LinkColor.TEXT_INVERSE,\n class: 'text-text-opposite *:text-text-opposite',\n },\n\n // Min height and padding for button variants\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n size: LinkSize.SM,\n class: 'min-h-7 px-3 max-md:py-1',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n size: LinkSize.MD,\n class: 'min-h-8 px-6 max-md:py-2',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n size: LinkSize.LG,\n class: 'min-h-10 px-8 max-md:py-3',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n size: LinkSize.XL,\n class: 'min-h-11 px-10 max-md:py-4',\n },\n // Ring color variants\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.PRIMARY,\n class: 'ring-primary/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.SECONDARY,\n class: 'ring-secondary/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.DESTRUCTIVE,\n class: 'ring-destructive/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.NEUTRAL,\n class: 'ring-neutral/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.LIGHT,\n class: 'ring-white/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.DARK,\n class: 'ring-neutral-800/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.TEXT,\n class: 'ring-text/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.TEXT_INVERSE,\n class: 'ring-text-opposite/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.ERROR,\n class: 'ring-error/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.SUCCESS,\n class: 'ring-success/20',\n },\n ],\n\n defaultVariants: {\n variant: LinkVariant.DEFAULT,\n roundedSize: LinkRoundedSize.MD,\n underlined: LinkUnderlined.DEFAULT,\n size: LinkSize.MD,\n },\n }\n);\n\nexport type LinkProps = DetailedHTMLProps<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n HTMLAnchorElement\n> &\n VariantProps<typeof linkVariants> & {\n label: string;\n isExternalLink?: boolean;\n isPageSection?: boolean;\n isActive?: boolean;\n locale?: LocalesValues;\n };\n\nexport const checkIsExternalLink = ({\n href,\n isExternalLink: isExternalLinkProp,\n}: LinkProps): boolean => {\n const isValidHref = typeof href === 'string' && href.trim() !== '';\n const isExternalLink =\n isExternalLinkProp === true ||\n (typeof isExternalLinkProp === 'undefined' &&\n isValidHref &&\n /^https?:\\/\\//.test(href));\n\n return isExternalLink;\n};\n\nexport const isTextChildren = (children: ReactNode): boolean => {\n if (typeof children === 'string' || typeof children === 'number') {\n return true;\n }\n if (Array.isArray(children)) {\n return children.every(isTextChildren);\n }\n if (isValidElement(children)) {\n return isTextChildren(\n (children.props as { children?: ReactNode }).children\n );\n }\n return false;\n};\n\nexport const Link: FC<LinkProps> = (props) => {\n const {\n variant = LinkVariant.DEFAULT,\n color = LinkColor.CUSTOM,\n roundedSize,\n children,\n label,\n className,\n isActive,\n underlined,\n locale,\n size,\n isExternalLink: isExternalLinkProp,\n isPageSection: isPageSectionProp,\n href: hrefProp,\n ...otherProps\n } = props;\n\n const isExternalLink = isExternalLinkProp ?? checkIsExternalLink(props);\n const isPageSection = isPageSectionProp ?? hrefProp?.startsWith('#') ?? false;\n\n const isChildrenString = isTextChildren(children);\n const isButton =\n variant === LinkVariant.BUTTON || variant === LinkVariant.BUTTON_OUTLINED;\n\n const rel = isExternalLink ? 'noopener noreferrer nofollow' : undefined;\n\n const target = isExternalLink ? '_blank' : '_self';\n\n const href =\n locale && hrefProp && !isExternalLink && !isPageSection\n ? getLocalizedUrl(hrefProp, locale)\n : hrefProp;\n\n return (\n <a\n href={href}\n aria-label={label}\n rel={rel}\n target={target}\n aria-current={isActive ? 'page' : undefined}\n suppressHydrationWarning\n className={cn(\n linkVariants({\n variant,\n color,\n roundedSize,\n underlined,\n size,\n className,\n })\n )}\n {...otherProps}\n >\n {isButton && isChildrenString ? <span>{children}</span> : children}\n\n {isExternalLink && isChildrenString && (\n <ExternalLink className=\"ml-2 inline-block size-4\" />\n )}\n {isPageSection && <MoveRight className=\"ml-2 inline-block size-4\" />}\n </a>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"Link.mjs","names":[],"sources":["../../../../src/components/Link/Link.tsx"],"sourcesContent":["import { getLocalizedUrl } from '@intlayer/core/localization';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport { cn } from '@utils/cn';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { ExternalLink, MoveRight } from 'lucide-react';\nimport {\n type AnchorHTMLAttributes,\n type DetailedHTMLProps,\n type FC,\n isValidElement,\n type ReactNode,\n} from 'react';\n\n/**\n * Visual style variants for Link component\n */\nexport enum LinkVariant {\n DEFAULT = 'default',\n INVISIBLE_LINK = 'invisible-link',\n BUTTON = 'button',\n BUTTON_OUTLINED = 'button-outlined',\n HOVERABLE = 'hoverable',\n}\n\n/**\n * Color theme variants for Link component\n */\nexport enum LinkColor {\n PRIMARY = 'primary',\n SECONDARY = 'secondary',\n DESTRUCTIVE = 'destructive',\n NEUTRAL = 'neutral',\n LIGHT = 'light',\n DARK = 'dark',\n TEXT = 'text',\n TEXT_INVERSE = 'text-inverse',\n ERROR = 'error',\n SUCCESS = 'success',\n CUSTOM = 'custom',\n}\n\nexport enum LinkRoundedSize {\n NONE = 'none',\n SM = 'sm',\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\n TWO_XL = '2xl',\n THREE_XL = '3xl',\n FULL = 'full',\n}\n\nexport enum LinkSize {\n SM = 'sm',\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\n CUSTOM = 'custom',\n}\n\nexport enum LinkUnderlined {\n DEFAULT = 'default',\n TRUE = 'true',\n FALSE = 'false',\n}\n\nexport const linkVariants = cva(\n 'gap-3 transition-all duration-300 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50',\n {\n variants: {\n variant: {\n [`${LinkVariant.DEFAULT}`]:\n 'h-auto justify-start border-inherit bg-current/0 px-1 font-medium decoration-[1.5] underline-offset-5 hover:bg-current/0 hover:text-current/80 hover:underline hover:underline-offset-6',\n [`${LinkVariant.INVISIBLE_LINK}`]:\n 'h-auto justify-start border-inherit bg-current/0 px-1 underline-offset-5 hover:bg-current/0',\n\n [`${LinkVariant.BUTTON}`]:\n 'relative flex cursor-pointer flex-row items-center justify-center gap-2 rounded-full bg-current text-center font-medium text-text ring-0 *:text-text-opposite hover:bg-current/90 hover:ring-5 aria-selected:ring-5',\n\n [`${LinkVariant.BUTTON_OUTLINED}`]:\n 'relative flex cursor-pointer flex-row items-center justify-center gap-2 rounded-full border-[1.3px] border-current text-center font-medium text-text ring-0 *:text-text hover:bg-current/20 hover:ring-5 aria-selected:ring-5',\n\n [`${LinkVariant.HOVERABLE}`]:\n 'block rounded-lg border-none bg-current/0 hover:bg-current/10 aria-[current]:bg-current/5',\n },\n roundedSize: {\n [`${LinkRoundedSize.NONE}`]: 'rounded-none',\n [`${LinkRoundedSize.SM}`]:\n 'rounded-lg [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-xl',\n [`${LinkRoundedSize.MD}`]:\n 'rounded-xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-2xl',\n [`${LinkRoundedSize.LG}`]:\n 'rounded-2xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-3xl',\n [`${LinkRoundedSize.XL}`]:\n 'rounded-3xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-4xl',\n [`${LinkRoundedSize.TWO_XL}`]:\n 'rounded-4xl [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[2.5rem]',\n [`${LinkRoundedSize.THREE_XL}`]:\n 'rounded-[2.5rem] [corner-shape:squircle] supports-[corner-shape:squircle]:rounded-[3rem]',\n [`${LinkRoundedSize.FULL}`]: 'rounded-full',\n },\n color: {\n [`${LinkColor.PRIMARY}`]: 'text-primary',\n [`${LinkColor.SECONDARY}`]: 'text-secondary',\n [`${LinkColor.DESTRUCTIVE}`]: 'text-destructive',\n [`${LinkColor.NEUTRAL}`]: 'text-neutral',\n [`${LinkColor.LIGHT}`]: 'text-white',\n [`${LinkColor.DARK}`]: 'text-neutral-800',\n [`${LinkColor.TEXT}`]: 'text-text',\n [`${LinkColor.TEXT_INVERSE}`]: 'text-text-opposite',\n [`${LinkColor.ERROR}`]: 'text-error',\n [`${LinkColor.SUCCESS}`]: 'text-success',\n [`${LinkColor.CUSTOM}`]: '',\n },\n size: {\n [`${LinkSize.SM}`]: 'text-sm',\n [`${LinkSize.MD}`]: 'text-base',\n [`${LinkSize.LG}`]: 'text-lg',\n [`${LinkSize.XL}`]: 'text-xl',\n [`${LinkSize.CUSTOM}`]: '',\n },\n underlined: {\n [LinkUnderlined.DEFAULT]: '',\n [LinkUnderlined.TRUE]: 'underline',\n [LinkUnderlined.FALSE]: 'no-underline',\n },\n },\n // Compound variants handle height and padding\n compoundVariants: [\n // ---------------------------------------------------------\n // FIX START: Correctly Handle Contrast for TEXT_INVERSE\n // ---------------------------------------------------------\n {\n // Filled Button + Inverse Color (e.g., White Button):\n // We DO NOT override parent text color (it must remain 'text-opposite' so bg-current is white).\n // We ONLY override children to be 'text-text' (Dark) so they show up on white.\n variant: LinkVariant.BUTTON,\n color: LinkColor.TEXT_INVERSE,\n class: '*:text-text',\n },\n {\n // Outlined Button + Inverse Color (e.g., White Border):\n // Parent is 'text-opposite' (Border is white).\n // Children must also be 'text-opposite' (White text) to show on dark background.\n variant: LinkVariant.BUTTON_OUTLINED,\n color: LinkColor.TEXT_INVERSE,\n class: 'text-text-opposite *:text-text-opposite',\n },\n\n // Min height and padding for button variants\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n size: LinkSize.SM,\n class: 'min-h-7 px-3 max-md:py-1',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n size: LinkSize.MD,\n class: 'min-h-8 px-6 max-md:py-2',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n size: LinkSize.LG,\n class: 'min-h-10 px-8 max-md:py-3',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n size: LinkSize.XL,\n class: 'min-h-11 px-10 max-md:py-4',\n },\n // Ring color variants\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.PRIMARY,\n class: 'ring-primary/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.SECONDARY,\n class: 'ring-secondary/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.DESTRUCTIVE,\n class: 'ring-destructive/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.NEUTRAL,\n class: 'ring-neutral/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.LIGHT,\n class: 'ring-white/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.DARK,\n class: 'ring-neutral-800/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.TEXT,\n class: 'ring-text/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.TEXT_INVERSE,\n class: 'ring-text-opposite/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.ERROR,\n class: 'ring-error/20',\n },\n {\n variant: [LinkVariant.BUTTON, LinkVariant.BUTTON_OUTLINED],\n color: LinkColor.SUCCESS,\n class: 'ring-success/20',\n },\n ],\n\n defaultVariants: {\n variant: LinkVariant.DEFAULT,\n roundedSize: LinkRoundedSize.MD,\n underlined: LinkUnderlined.DEFAULT,\n size: LinkSize.MD,\n },\n }\n);\n\nexport type LinkProps = DetailedHTMLProps<\n AnchorHTMLAttributes<HTMLAnchorElement>,\n HTMLAnchorElement\n> &\n VariantProps<typeof linkVariants> & {\n label: string;\n isExternalLink?: boolean;\n isPageSection?: boolean;\n isActive?: boolean;\n locale?: LocalesValues;\n };\n\nexport const checkIsExternalLink = ({\n href,\n isExternalLink: isExternalLinkProp,\n}: LinkProps): boolean => {\n const isValidHref = typeof href === 'string' && href.trim() !== '';\n const isExternalLink =\n isExternalLinkProp === true ||\n (typeof isExternalLinkProp === 'undefined' &&\n isValidHref &&\n /^https?:\\/\\//.test(href));\n\n return isExternalLink;\n};\n\nexport const isTextChildren = (children: ReactNode): boolean => {\n if (typeof children === 'string' || typeof children === 'number') {\n return true;\n }\n if (Array.isArray(children)) {\n return children.every(isTextChildren);\n }\n if (isValidElement(children)) {\n return isTextChildren(\n (children.props as { children?: ReactNode }).children\n );\n }\n return false;\n};\n\nexport const Link: FC<LinkProps> = (props) => {\n const {\n variant = LinkVariant.DEFAULT,\n color = LinkColor.CUSTOM,\n roundedSize,\n children,\n label,\n className,\n isActive,\n underlined,\n locale,\n size,\n isExternalLink: isExternalLinkProp,\n isPageSection: isPageSectionProp,\n href: hrefProp,\n ...otherProps\n } = props;\n\n const isExternalLink = isExternalLinkProp ?? checkIsExternalLink(props);\n const isPageSection = isPageSectionProp ?? hrefProp?.startsWith('#') ?? false;\n\n const isChildrenString = isTextChildren(children);\n const isButton =\n variant === LinkVariant.BUTTON || variant === LinkVariant.BUTTON_OUTLINED;\n\n const rel = isExternalLink ? 'noopener noreferrer nofollow' : undefined;\n\n const target = isExternalLink ? '_blank' : '_self';\n\n const href =\n locale && hrefProp && !isExternalLink && !isPageSection\n ? getLocalizedUrl(hrefProp, locale)\n : hrefProp;\n\n return (\n <a\n href={href}\n aria-label={label}\n rel={rel}\n target={target}\n aria-current={isActive ? 'page' : undefined}\n suppressHydrationWarning\n className={cn(\n linkVariants({\n variant,\n color,\n roundedSize,\n underlined,\n size,\n className,\n })\n )}\n {...otherProps}\n >\n {isButton && isChildrenString ? <span>{children}</span> : children}\n\n {isExternalLink && isChildrenString && (\n <ExternalLink className=\"ml-2 inline-block size-4\" />\n )}\n {isPageSection && <MoveRight className=\"ml-2 inline-block size-4\" />}\n </a>\n );\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use client";import{Container as e}from"../Container/index.mjs";import{Button as t,ButtonColor as n,ButtonSize as r,ButtonTextAlign as i,ButtonVariant as a}from"../Button/Button.mjs";import{Input as o}from"../Input/Input.mjs";import{usePersistedStore as s}from"../../hooks/usePersistedStore.mjs";import{DropDown as c}from"../DropDown/index.mjs";import{SwitchSelector as l,SwitchSelectorColor as u,SwitchSelectorSize as d}from"../SwitchSelector/index.mjs";import{useLocaleSwitcherContent as f}from"./LocaleSwitcherContentContext.mjs";import{Check as p,Globe as m,MoveVertical as h}from"lucide-react";import{useMemo as g,useRef as _,useState as v}from"react";import{Fragment as y,jsx as b,jsxs as x}from"react/jsx-runtime";import{useIntlayer as S,useLocale as C}from"react-intlayer";import{getHTMLTextDir as w,getLocaleName as T}from"@intlayer/core/localization";import{Locales as E}from"@intlayer/types";import D from"fuse.js";const O=`locale-switcher-content`,k=({panelProps:k,isMultilingual:A=!0})=>{let{switchTo:j,searchInput:M,localeSwitcherLabel:N,languageListLabel:P,seeAllLocalesSwitch:F}=S(`locale-switcher-content`),I=_(null),{locale:L}=C(),{availableLocales:R,selectedLocales:z,setSelectedLocales:B}=f(),V=g(()=>R.map(e=>({locale:e,englishName:T(e,E.ENGLISH),currentLocaleName:T(e,L),ownLocaleName:T(e)})),[R,L]),[H,U]=v(``),[W,G]=s(`locale-content-selector-see-all-locales`,!1),K=g(()=>new D(V,{keys:[{name:`ownLocaleName`,weight:.4},{name:`englishName`,weight:.2},{name:`currentLocaleName`,weight:.2},{name:`locale`,weight:.2}],threshold:.02}),[V]),q=g(()=>H?K.search(H).map(e=>e.item):V,[H,V,K]),J=e=>{A?z.includes(e)?z.length>1&&B(t=>t.filter(t=>t!==e)):B(t=>[...t,e]):B([e])},Y=e=>{G(e),B(e?R:[L])};return b(`div`,{className:`rounded-xl border border-text text-text transition-colors`,children:x(c,{identifier:O,children:[b(c.Trigger,{identifier:O,label:N.value,className:`p-0!`,roundedSize:`3xl`,children:x(`div`,{className:`flex w-full items-center justify-between`,children:[b(`div`,{className:`px-2 py-1`,children:b(m,{size:16})}),b(h,{className:`self-center`,size:16})]})}),b(c.Panel,{identifier:O,isOverable:!0,isFocusable:!0,className:`right-0 left-auto`,...k,children:x(e,{className:`max-h-[60vh] min-w-28`,separator:`y`,role:`listbox`,transparency:`xs`,border:!0,roundedSize:`2xl`,borderColor:`text`,"aria-label":P.value,children:[A&&b(`div`,{className:`m-auto p-2`,children:b(l,{defaultValue:W,onChange:Y,color:u.TEXT,size:d.SM,className:`!w-60`,choices:[{content:F.true.value,value:!0},{content:F.false.value,value:!1}]})}),!(A&&W)&&x(y,{children:[b(`div`,{className:`p-3`,children:b(o,{type:`search`,"aria-label":M.ariaLabel.value,placeholder:M.placeholder.value,onChange:e=>U(e.target.value),ref:I})}),b(`ol`,{className:`divide-y divide-dashed divide-text/20 overflow-y-auto p-1`,children:q.map(({locale:e,currentLocaleName:o,ownLocaleName:s})=>b(`li`,{className:`px-1.5 py-1`,children:b(t,{onClick:()=>J(e),label:`${j} ${o}`,disabled:!(R??R).includes(e),isActive:z.includes(e),variant:a.HOVERABLE,color:n.TEXT,isFullWidth:!0,textAlign:i.LEFT,size:r.SM,children:x(`div`,{className:`flex flex-row items-center justify-between gap-3 px-2 py-1`,children:[A&&b(`div`,{className:`w-4`,children:z.includes(e)&&b(p,{className:`size-full`})}),x(`div`,{className:`flex flex-1 flex-row items-center justify-between gap-3 px-2 py-1`,children:[x(`div`,{className:`flex flex-col text-nowrap`,children:[b(`span`,{dir:w(e),lang:e,children:s}),b(`span`,{className:`text-neutral text-xs`,children:o})]}),b(`span`,{className:`text-neutral text-sm`,children:e.toUpperCase()})]})]})})},e))})]})]})})]})})};export{k as LocaleSwitcherContent};
1
+ "use client";import{Container as e}from"../Container/index.mjs";import{Button as t,ButtonColor as n,ButtonSize as r,ButtonTextAlign as i,ButtonVariant as a}from"../Button/Button.mjs";import{Input as o}from"../Input/Input.mjs";import{usePersistedStore as s}from"../../hooks/usePersistedStore.mjs";import{DropDown as c}from"../DropDown/index.mjs";import{SwitchSelector as l,SwitchSelectorColor as u,SwitchSelectorSize as d}from"../SwitchSelector/index.mjs";import{useLocaleSwitcherContent as f}from"./LocaleSwitcherContentContext.mjs";import{useMemo as p,useRef as m,useState as h}from"react";import{Check as g,Globe as _,MoveVertical as v}from"lucide-react";import{Fragment as y,jsx as b,jsxs as x}from"react/jsx-runtime";import{useIntlayer as S,useLocale as C}from"react-intlayer";import{getHTMLTextDir as w,getLocaleName as T}from"@intlayer/core/localization";import*as E from"@intlayer/types/locales";import D from"fuse.js";const O=`locale-switcher-content`,k=({panelProps:k,isMultilingual:A=!0})=>{let{switchTo:j,searchInput:M,localeSwitcherLabel:N,languageListLabel:P,seeAllLocalesSwitch:F}=S(`locale-switcher-content`),I=m(null),{locale:L}=C(),{availableLocales:R,selectedLocales:z,setSelectedLocales:B}=f(),V=p(()=>R.map(e=>({locale:e,englishName:T(e,E.ENGLISH),currentLocaleName:T(e,L),ownLocaleName:T(e)})),[R,L]),[H,U]=h(``),[W,G]=s(`locale-content-selector-see-all-locales`,!1),K=p(()=>new D(V,{keys:[{name:`ownLocaleName`,weight:.4},{name:`englishName`,weight:.2},{name:`currentLocaleName`,weight:.2},{name:`locale`,weight:.2}],threshold:.02}),[V]),q=p(()=>H?K.search(H).map(e=>e.item):V,[H,V,K]),J=e=>{A?z.includes(e)?z.length>1&&B(t=>t.filter(t=>t!==e)):B(t=>[...t,e]):B([e])},Y=e=>{G(e),B(e?R:[L])};return b(`div`,{className:`rounded-xl border border-text text-text transition-colors`,children:x(c,{identifier:O,children:[b(c.Trigger,{identifier:O,label:N.value,className:`p-0!`,roundedSize:`3xl`,children:x(`div`,{className:`flex w-full items-center justify-between`,children:[b(`div`,{className:`px-2 py-1`,children:b(_,{size:16})}),b(v,{className:`self-center`,size:16})]})}),b(c.Panel,{identifier:O,isOverable:!0,isFocusable:!0,className:`right-0 left-auto`,...k,children:x(e,{className:`max-h-[60vh] min-w-28`,separator:`y`,role:`listbox`,transparency:`xs`,border:!0,roundedSize:`2xl`,borderColor:`text`,"aria-label":P.value,children:[A&&b(`div`,{className:`m-auto p-2`,children:b(l,{defaultValue:W,onChange:Y,color:u.TEXT,size:d.SM,className:`!w-60`,choices:[{content:F.true.value,value:!0},{content:F.false.value,value:!1}]})}),!(A&&W)&&x(y,{children:[b(`div`,{className:`p-3`,children:b(o,{type:`search`,"aria-label":M.ariaLabel.value,placeholder:M.placeholder.value,onChange:e=>U(e.target.value),ref:I})}),b(`ol`,{className:`divide-y divide-dashed divide-text/20 overflow-y-auto p-1`,children:q.map(({locale:e,currentLocaleName:o,ownLocaleName:s})=>b(`li`,{className:`px-1.5 py-1`,children:b(t,{onClick:()=>J(e),label:`${j} ${o}`,disabled:!(R??R).includes(e),isActive:z.includes(e),variant:a.HOVERABLE,color:n.TEXT,isFullWidth:!0,textAlign:i.LEFT,size:r.SM,children:x(`div`,{className:`flex flex-row items-center justify-between gap-3 px-2 py-1`,children:[A&&b(`div`,{className:`w-4`,children:z.includes(e)&&b(g,{className:`size-full`})}),x(`div`,{className:`flex flex-1 flex-row items-center justify-between gap-3 px-2 py-1`,children:[x(`div`,{className:`flex flex-col text-nowrap`,children:[b(`span`,{dir:w(e),lang:e,children:s}),b(`span`,{className:`text-neutral text-xs`,children:o})]}),b(`span`,{className:`text-neutral text-sm`,children:e.toUpperCase()})]})]})})},e))})]})]})})]})})};export{k as LocaleSwitcherContent};
2
2
  //# sourceMappingURL=LocaleSwitcherContent.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocaleSwitcherContent.mjs","names":[],"sources":["../../../../src/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.tsx"],"sourcesContent":["'use client';\n\nimport { usePersistedStore } from '@hooks/usePersistedStore';\nimport { getHTMLTextDir, getLocaleName } from '@intlayer/core/localization';\nimport { Locales, type LocalesValues } from '@intlayer/types';\nimport Fuse, { type IFuseOptions } from 'fuse.js';\nimport { Check, Globe, MoveVertical } from 'lucide-react';\nimport { type FC, useMemo, useRef, useState } from 'react';\nimport { useIntlayer, useLocale } from 'react-intlayer';\nimport {\n Button,\n ButtonColor,\n ButtonSize,\n ButtonTextAlign,\n ButtonVariant,\n} from '../Button';\nimport { Container } from '../Container';\nimport { DropDown, type PanelProps } from '../DropDown';\nimport { Input } from '../Input';\nimport {\n SwitchSelector,\n SwitchSelectorColor,\n SwitchSelectorSize,\n} from '../SwitchSelector';\nimport { useLocaleSwitcherContent } from './LocaleSwitcherContentContext';\n\nexport type LocaleSwitcherContentProps = {\n panelProps?: Omit<PanelProps, 'identifier'>;\n isMultilingual?: boolean;\n};\n\nconst DROPDOWN_IDENTIFIER = 'locale-switcher-content';\n\ntype MultilingualAvailableLocales = {\n locale: LocalesValues;\n englishName: string;\n currentLocaleName: string;\n ownLocaleName: string;\n};\n\nexport const LocaleSwitcherContent: FC<LocaleSwitcherContentProps> = ({\n panelProps,\n isMultilingual = true,\n}) => {\n const {\n switchTo,\n searchInput,\n localeSwitcherLabel,\n languageListLabel,\n seeAllLocalesSwitch,\n } = useIntlayer('locale-switcher-content');\n const inputRef = useRef<HTMLInputElement>(null);\n const { locale } = useLocale();\n const { availableLocales, selectedLocales, setSelectedLocales } =\n useLocaleSwitcherContent();\n\n // 1. Memoize the list construction so it doesn't rebuild every render\n const multilingualAvailableLocales: MultilingualAvailableLocales[] = useMemo(\n () =>\n availableLocales.map((localeEl) => {\n const englishName = getLocaleName(localeEl, Locales.ENGLISH);\n const currentLocaleName = getLocaleName(localeEl, locale);\n const ownLocaleName = getLocaleName(localeEl);\n return {\n locale: localeEl,\n englishName,\n currentLocaleName,\n ownLocaleName,\n };\n }),\n [availableLocales, locale]\n );\n\n // 2. State for Search Query only (Source of Truth)\n const [searchQuery, setSearchQuery] = useState('');\n\n const [seeAllLocales, setSeeAllLocales] = usePersistedStore(\n 'locale-content-selector-see-all-locales',\n false\n );\n\n // 3. Memoize Fuse instance\n const fuse = useMemo(() => {\n const fuseOptions: IFuseOptions<MultilingualAvailableLocales> = {\n keys: [\n { name: 'ownLocaleName', weight: 0.4 },\n { name: 'englishName', weight: 0.2 },\n { name: 'currentLocaleName', weight: 0.2 },\n { name: 'locale', weight: 0.2 },\n ],\n threshold: 0.02,\n };\n return new Fuse(multilingualAvailableLocales, fuseOptions);\n }, [multilingualAvailableLocales]);\n\n // 4. Derive results from Search Query\n const results = useMemo(() => {\n if (!searchQuery) {\n return multilingualAvailableLocales;\n }\n return fuse.search(searchQuery).map((result) => result.item);\n }, [searchQuery, multilingualAvailableLocales, fuse]);\n\n const handleClickLocale = (localeItem: LocalesValues) => {\n if (isMultilingual) {\n if (selectedLocales.includes(localeItem)) {\n if (selectedLocales.length > 1) {\n setSelectedLocales((prev) => prev.filter((el) => el !== localeItem));\n }\n } else {\n setSelectedLocales((prev) => [...prev, localeItem]);\n }\n } else {\n setSelectedLocales([localeItem]);\n }\n };\n\n const handleSeeAllLocales = (value: boolean) => {\n setSeeAllLocales(value);\n\n if (value) {\n setSelectedLocales(availableLocales);\n } else {\n setSelectedLocales([locale]);\n }\n };\n\n return (\n <div className=\"rounded-xl border border-text text-text transition-colors\">\n <DropDown identifier={DROPDOWN_IDENTIFIER}>\n <DropDown.Trigger\n identifier={DROPDOWN_IDENTIFIER}\n label={localeSwitcherLabel.value}\n className=\"p-0!\"\n roundedSize=\"3xl\"\n >\n <div className=\"flex w-full items-center justify-between\">\n <div className=\"px-2 py-1\">\n <Globe size={16} />\n </div>\n <MoveVertical className=\"self-center\" size={16} />\n </div>\n </DropDown.Trigger>\n\n <DropDown.Panel\n identifier={DROPDOWN_IDENTIFIER}\n isOverable\n isFocusable\n className=\"right-0 left-auto\"\n {...panelProps}\n >\n <Container\n className=\"max-h-[60vh] min-w-28\"\n separator=\"y\"\n role=\"listbox\"\n transparency=\"xs\"\n border\n roundedSize=\"2xl\"\n borderColor=\"text\"\n aria-label={languageListLabel.value}\n >\n {isMultilingual && (\n <div className=\"m-auto p-2\">\n <SwitchSelector\n defaultValue={seeAllLocales} // Ensure this uses the persisted state\n onChange={handleSeeAllLocales}\n color={SwitchSelectorColor.TEXT}\n size={SwitchSelectorSize.SM}\n className=\"!w-60\"\n choices={[\n {\n content: seeAllLocalesSwitch.true.value,\n value: true,\n },\n {\n content: seeAllLocalesSwitch.false.value,\n value: false,\n },\n ]}\n />\n </div>\n )}\n\n {!(isMultilingual && seeAllLocales) && (\n <>\n <div className=\"p-3\">\n <Input\n type=\"search\"\n aria-label={searchInput.ariaLabel.value}\n placeholder={searchInput.placeholder.value}\n // Update search query state directly\n onChange={(e) => setSearchQuery(e.target.value)}\n ref={inputRef}\n />\n </div>\n <ol className=\"divide-y divide-dashed divide-text/20 overflow-y-auto p-1\">\n {results.map(\n ({\n locale: localeItem,\n currentLocaleName,\n ownLocaleName,\n }) => (\n <li className=\"px-1.5 py-1\" key={localeItem}>\n <Button\n onClick={() => handleClickLocale(localeItem)}\n label={`${switchTo} ${currentLocaleName}`}\n disabled={\n !(availableLocales ?? availableLocales).includes(\n localeItem\n )\n }\n isActive={selectedLocales.includes(localeItem)}\n variant={ButtonVariant.HOVERABLE}\n color={ButtonColor.TEXT}\n isFullWidth\n textAlign={ButtonTextAlign.LEFT}\n size={ButtonSize.SM}\n >\n <div className=\"flex flex-row items-center justify-between gap-3 px-2 py-1\">\n {isMultilingual && (\n <div className=\"w-4\">\n {selectedLocales.includes(localeItem) && (\n <Check className=\"size-full\" />\n )}\n </div>\n )}\n <div className=\"flex flex-1 flex-row items-center justify-between gap-3 px-2 py-1\">\n <div className=\"flex flex-col text-nowrap\">\n <span\n dir={getHTMLTextDir(localeItem)}\n lang={localeItem}\n >\n {ownLocaleName}\n </span>\n <span className=\"text-neutral text-xs\">\n {currentLocaleName}\n </span>\n </div>\n <span className=\"text-neutral text-sm\">\n {localeItem.toUpperCase()}\n </span>\n </div>\n </div>\n </Button>\n </li>\n )\n )}\n </ol>\n </>\n )}\n </Container>\n </DropDown.Panel>\n </DropDown>\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"LocaleSwitcherContent.mjs","names":[],"sources":["../../../../src/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.tsx"],"sourcesContent":["'use client';\n\nimport { usePersistedStore } from '@hooks/usePersistedStore';\nimport { getHTMLTextDir, getLocaleName } from '@intlayer/core/localization';\nimport type { LocalesValues } from '@intlayer/types/module_augmentation';\nimport * as Locales from '@intlayer/types/locales';\nimport Fuse, { type IFuseOptions } from 'fuse.js';\nimport { Check, Globe, MoveVertical } from 'lucide-react';\nimport { type FC, useMemo, useRef, useState } from 'react';\nimport { useIntlayer, useLocale } from 'react-intlayer';\nimport {\n Button,\n ButtonColor,\n ButtonSize,\n ButtonTextAlign,\n ButtonVariant,\n} from '../Button';\nimport { Container } from '../Container';\nimport { DropDown, type PanelProps } from '../DropDown';\nimport { Input } from '../Input';\nimport {\n SwitchSelector,\n SwitchSelectorColor,\n SwitchSelectorSize,\n} from '../SwitchSelector';\nimport { useLocaleSwitcherContent } from './LocaleSwitcherContentContext';\n\nexport type LocaleSwitcherContentProps = {\n panelProps?: Omit<PanelProps, 'identifier'>;\n isMultilingual?: boolean;\n};\n\nconst DROPDOWN_IDENTIFIER = 'locale-switcher-content';\n\ntype MultilingualAvailableLocales = {\n locale: LocalesValues;\n englishName: string;\n currentLocaleName: string;\n ownLocaleName: string;\n};\n\nexport const LocaleSwitcherContent: FC<LocaleSwitcherContentProps> = ({\n panelProps,\n isMultilingual = true,\n}) => {\n const {\n switchTo,\n searchInput,\n localeSwitcherLabel,\n languageListLabel,\n seeAllLocalesSwitch,\n } = useIntlayer('locale-switcher-content');\n const inputRef = useRef<HTMLInputElement>(null);\n const { locale } = useLocale();\n const { availableLocales, selectedLocales, setSelectedLocales } =\n useLocaleSwitcherContent();\n\n // 1. Memoize the list construction so it doesn't rebuild every render\n const multilingualAvailableLocales: MultilingualAvailableLocales[] = useMemo(\n () =>\n availableLocales.map((localeEl) => {\n const englishName = getLocaleName(localeEl, Locales.ENGLISH);\n const currentLocaleName = getLocaleName(localeEl, locale);\n const ownLocaleName = getLocaleName(localeEl);\n return {\n locale: localeEl,\n englishName,\n currentLocaleName,\n ownLocaleName,\n };\n }),\n [availableLocales, locale]\n );\n\n // 2. State for Search Query only (Source of Truth)\n const [searchQuery, setSearchQuery] = useState('');\n\n const [seeAllLocales, setSeeAllLocales] = usePersistedStore(\n 'locale-content-selector-see-all-locales',\n false\n );\n\n // 3. Memoize Fuse instance\n const fuse = useMemo(() => {\n const fuseOptions: IFuseOptions<MultilingualAvailableLocales> = {\n keys: [\n { name: 'ownLocaleName', weight: 0.4 },\n { name: 'englishName', weight: 0.2 },\n { name: 'currentLocaleName', weight: 0.2 },\n { name: 'locale', weight: 0.2 },\n ],\n threshold: 0.02,\n };\n return new Fuse(multilingualAvailableLocales, fuseOptions);\n }, [multilingualAvailableLocales]);\n\n // 4. Derive results from Search Query\n const results = useMemo(() => {\n if (!searchQuery) {\n return multilingualAvailableLocales;\n }\n return fuse.search(searchQuery).map((result) => result.item);\n }, [searchQuery, multilingualAvailableLocales, fuse]);\n\n const handleClickLocale = (localeItem: LocalesValues) => {\n if (isMultilingual) {\n if (selectedLocales.includes(localeItem)) {\n if (selectedLocales.length > 1) {\n setSelectedLocales((prev) => prev.filter((el) => el !== localeItem));\n }\n } else {\n setSelectedLocales((prev) => [...prev, localeItem]);\n }\n } else {\n setSelectedLocales([localeItem]);\n }\n };\n\n const handleSeeAllLocales = (value: boolean) => {\n setSeeAllLocales(value);\n\n if (value) {\n setSelectedLocales(availableLocales);\n } else {\n setSelectedLocales([locale]);\n }\n };\n\n return (\n <div className=\"rounded-xl border border-text text-text transition-colors\">\n <DropDown identifier={DROPDOWN_IDENTIFIER}>\n <DropDown.Trigger\n identifier={DROPDOWN_IDENTIFIER}\n label={localeSwitcherLabel.value}\n className=\"p-0!\"\n roundedSize=\"3xl\"\n >\n <div className=\"flex w-full items-center justify-between\">\n <div className=\"px-2 py-1\">\n <Globe size={16} />\n </div>\n <MoveVertical className=\"self-center\" size={16} />\n </div>\n </DropDown.Trigger>\n\n <DropDown.Panel\n identifier={DROPDOWN_IDENTIFIER}\n isOverable\n isFocusable\n className=\"right-0 left-auto\"\n {...panelProps}\n >\n <Container\n className=\"max-h-[60vh] min-w-28\"\n separator=\"y\"\n role=\"listbox\"\n transparency=\"xs\"\n border\n roundedSize=\"2xl\"\n borderColor=\"text\"\n aria-label={languageListLabel.value}\n >\n {isMultilingual && (\n <div className=\"m-auto p-2\">\n <SwitchSelector\n defaultValue={seeAllLocales} // Ensure this uses the persisted state\n onChange={handleSeeAllLocales}\n color={SwitchSelectorColor.TEXT}\n size={SwitchSelectorSize.SM}\n className=\"!w-60\"\n choices={[\n {\n content: seeAllLocalesSwitch.true.value,\n value: true,\n },\n {\n content: seeAllLocalesSwitch.false.value,\n value: false,\n },\n ]}\n />\n </div>\n )}\n\n {!(isMultilingual && seeAllLocales) && (\n <>\n <div className=\"p-3\">\n <Input\n type=\"search\"\n aria-label={searchInput.ariaLabel.value}\n placeholder={searchInput.placeholder.value}\n // Update search query state directly\n onChange={(e) => setSearchQuery(e.target.value)}\n ref={inputRef}\n />\n </div>\n <ol className=\"divide-y divide-dashed divide-text/20 overflow-y-auto p-1\">\n {results.map(\n ({\n locale: localeItem,\n currentLocaleName,\n ownLocaleName,\n }) => (\n <li className=\"px-1.5 py-1\" key={localeItem}>\n <Button\n onClick={() => handleClickLocale(localeItem)}\n label={`${switchTo} ${currentLocaleName}`}\n disabled={\n !(availableLocales ?? availableLocales).includes(\n localeItem\n )\n }\n isActive={selectedLocales.includes(localeItem)}\n variant={ButtonVariant.HOVERABLE}\n color={ButtonColor.TEXT}\n isFullWidth\n textAlign={ButtonTextAlign.LEFT}\n size={ButtonSize.SM}\n >\n <div className=\"flex flex-row items-center justify-between gap-3 px-2 py-1\">\n {isMultilingual && (\n <div className=\"w-4\">\n {selectedLocales.includes(localeItem) && (\n <Check className=\"size-full\" />\n )}\n </div>\n )}\n <div className=\"flex flex-1 flex-row items-center justify-between gap-3 px-2 py-1\">\n <div className=\"flex flex-col text-nowrap\">\n <span\n dir={getHTMLTextDir(localeItem)}\n lang={localeItem}\n >\n {ownLocaleName}\n </span>\n <span className=\"text-neutral text-xs\">\n {currentLocaleName}\n </span>\n </div>\n <span className=\"text-neutral text-sm\">\n {localeItem.toUpperCase()}\n </span>\n </div>\n </div>\n </Button>\n </li>\n )\n )}\n </ol>\n </>\n )}\n </Container>\n </DropDown.Panel>\n </DropDown>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use client";import{Container as e}from"../Container/index.mjs";import{Button as t,ButtonColor as n,ButtonTextAlign as r,ButtonVariant as i}from"../Button/Button.mjs";import{Input as a}from"../Input/Input.mjs";import{DropDown as o}from"../DropDown/index.mjs";import{MoveVertical as s}from"lucide-react";import{useCallback as c,useMemo as l,useRef as u,useState as d}from"react";import{jsx as f,jsxs as p}from"react/jsx-runtime";import{useIntlayer as m}from"react-intlayer";import{getHTMLTextDir as h,getLocaleName as g}from"@intlayer/core/localization";import{Locales as _}from"@intlayer/types";import v from"fuse.js";const y=`locale-switcher`,b=({locale:b,localeList:x,availableLocales:S,fullLocaleName:C=!0,setLocale:w,panelProps:T})=>{let E=`Select a locale`,{switchTo:D,searchInput:O,languageListLabel:k,localeSwitcherLabel:A}=m(`locale-switcher`),j=u(null),M=l(()=>x.map(e=>({locale:e,englishName:g(e,_.ENGLISH),currentLocaleName:g(e,b),ownLocaleName:g(e)})),[x,b]),[N,P]=d(M),F=l(()=>new v(M,{keys:[{name:`ownLocaleName`,weight:.4},{name:`englishName`,weight:.2},{name:`currentLocaleName`,weight:.2},{name:`locale`,weight:.2}],threshold:.02}),[M]),I=c(e=>{P(e?F.search(e).map(e=>e.item):M)},[F,M]);return b&&(E=C?g(b):b.toUpperCase()),f(`nav`,{className:`rounded-xl border border-text text-text transition-colors`,"aria-label":A.value,children:p(o,{identifier:y,children:[f(o.Trigger,{identifier:y,children:p(`div`,{className:`flex w-full items-center justify-between`,children:[f(`div`,{className:`text-nowrap px-2`,children:E}),f(s,{className:`w-5 self-center`})]})}),f(o.Panel,{identifier:y,isOverable:!0,isFocusable:!0,...T,children:p(e,{className:`max-h-[80vh] min-w-28`,separator:`y`,role:`listbox`,transparency:`xs`,"aria-label":k.value,children:[f(`div`,{className:`p-3`,children:f(a,{type:`search`,"aria-label":O.ariaLabel.value,placeholder:O.placeholder.value,onChange:e=>I(e.target.value),ref:j})}),f(`ol`,{className:`divide-y divide-dashed divide-text/20 overflow-y-auto p-1`,children:N.map(({locale:e,currentLocaleName:a,ownLocaleName:o})=>f(`li`,{className:`px-1.5 py-1`,children:f(t,{onClick:()=>w(e),label:`${D} ${a}`,disabled:!(S??x).includes(e),isActive:b===e,variant:i.HOVERABLE,color:n.TEXT,isFullWidth:!0,textAlign:r.LEFT,children:p(`div`,{className:`flex flex-row items-center justify-between gap-3 px-2 py-1`,children:[p(`div`,{className:`flex flex-col text-nowrap`,children:[f(`span`,{dir:h(e),lang:e,suppressHydrationWarning:!0,children:o}),f(`span`,{className:`text-neutral text-xs`,suppressHydrationWarning:!0,children:a})]}),f(`span`,{className:`text-neutral text-sm`,children:e.toUpperCase()})]})})},e))})]})})]})})};export{b as LocaleSwitcher};
1
+ "use client";import{Container as e}from"../Container/index.mjs";import{Button as t,ButtonColor as n,ButtonTextAlign as r,ButtonVariant as i}from"../Button/Button.mjs";import{Input as a}from"../Input/Input.mjs";import{DropDown as o}from"../DropDown/index.mjs";import{useCallback as s,useMemo as c,useRef as l,useState as u}from"react";import{MoveVertical as d}from"lucide-react";import{jsx as f,jsxs as p}from"react/jsx-runtime";import{useIntlayer as m}from"react-intlayer";import{getHTMLTextDir as h,getLocaleName as g}from"@intlayer/core/localization";import*as _ from"@intlayer/types/locales";import v from"fuse.js";const y=`locale-switcher`,b=({locale:b,localeList:x,availableLocales:S,fullLocaleName:C=!0,setLocale:w,panelProps:T})=>{let E=`Select a locale`,{switchTo:D,searchInput:O,languageListLabel:k,localeSwitcherLabel:A}=m(`locale-switcher`),j=l(null),M=c(()=>x.map(e=>({locale:e,englishName:g(e,_.ENGLISH),currentLocaleName:g(e,b),ownLocaleName:g(e)})),[x,b]),[N,P]=u(M),F=c(()=>new v(M,{keys:[{name:`ownLocaleName`,weight:.4},{name:`englishName`,weight:.2},{name:`currentLocaleName`,weight:.2},{name:`locale`,weight:.2}],threshold:.02}),[M]),I=s(e=>{P(e?F.search(e).map(e=>e.item):M)},[F,M]);return b&&(E=C?g(b):b.toUpperCase()),f(`nav`,{className:`rounded-xl border border-text text-text transition-colors`,"aria-label":A.value,children:p(o,{identifier:y,children:[f(o.Trigger,{identifier:y,children:p(`div`,{className:`flex w-full items-center justify-between`,children:[f(`div`,{className:`text-nowrap px-2`,children:E}),f(d,{className:`w-5 self-center`})]})}),f(o.Panel,{identifier:y,isOverable:!0,isFocusable:!0,...T,children:p(e,{className:`max-h-[80vh] min-w-28`,separator:`y`,role:`listbox`,transparency:`xs`,"aria-label":k.value,children:[f(`div`,{className:`p-3`,children:f(a,{type:`search`,"aria-label":O.ariaLabel.value,placeholder:O.placeholder.value,onChange:e=>I(e.target.value),ref:j})}),f(`ol`,{className:`divide-y divide-dashed divide-text/20 overflow-y-auto p-1`,children:N.map(({locale:e,currentLocaleName:a,ownLocaleName:o})=>f(`li`,{className:`px-1.5 py-1`,children:f(t,{onClick:()=>w(e),label:`${D} ${a}`,disabled:!(S??x).includes(e),isActive:b===e,variant:i.HOVERABLE,color:n.TEXT,isFullWidth:!0,textAlign:r.LEFT,children:p(`div`,{className:`flex flex-row items-center justify-between gap-3 px-2 py-1`,children:[p(`div`,{className:`flex flex-col text-nowrap`,children:[f(`span`,{dir:h(e),lang:e,suppressHydrationWarning:!0,children:o}),f(`span`,{className:`text-neutral text-xs`,suppressHydrationWarning:!0,children:a})]}),f(`span`,{className:`text-neutral text-sm`,children:e.toUpperCase()})]})})},e))})]})})]})})};export{b as LocaleSwitcher};
2
2
  //# sourceMappingURL=LocaleSwitcher.mjs.map