@intlayer/design-system 7.5.12 → 7.5.14

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 (366) hide show
  1. package/dist/esm/_virtual/rolldown_runtime.mjs +2 -2
  2. package/dist/esm/components/Accordion/Accordion.mjs +1 -1
  3. package/dist/esm/components/Accordion/Accordion.mjs.map +1 -1
  4. package/dist/esm/components/Avatar/index.mjs +1 -1
  5. package/dist/esm/components/Avatar/index.mjs.map +1 -1
  6. package/dist/esm/components/Badge/index.mjs.map +1 -1
  7. package/dist/esm/components/Breadcrumb/breadcrumb.content.mjs +2 -1
  8. package/dist/esm/components/Breadcrumb/breadcrumb.content.mjs.map +1 -1
  9. package/dist/esm/components/Breadcrumb/index.mjs +1 -1
  10. package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
  11. package/dist/esm/components/Browser/Browser.mjs +1 -1
  12. package/dist/esm/components/Browser/browser.content.mjs +16 -8
  13. package/dist/esm/components/Browser/browser.content.mjs.map +1 -1
  14. package/dist/esm/components/Button/Button.mjs.map +1 -1
  15. package/dist/esm/components/Carousel/index.content.mjs +25 -14
  16. package/dist/esm/components/Carousel/index.content.mjs.map +1 -1
  17. package/dist/esm/components/Carousel/index.mjs +1 -1
  18. package/dist/esm/components/Carousel/index.mjs.map +1 -1
  19. package/dist/esm/components/ClickOutsideDiv/index.mjs.map +1 -1
  20. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +1 -1
  21. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs.map +1 -1
  22. package/dist/esm/components/Command/index.mjs.map +1 -1
  23. package/dist/esm/components/Container/index.mjs +5 -5
  24. package/dist/esm/components/Container/index.mjs.map +1 -1
  25. package/dist/esm/components/ContentEditor/ContentEditor.mjs +1 -1
  26. package/dist/esm/components/ContentEditor/ContentEditor.mjs.map +1 -1
  27. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs +1 -1
  28. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs.map +1 -1
  29. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +2 -2
  30. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  31. package/dist/esm/components/ContentSelector/ContentSelector.mjs.map +1 -1
  32. package/dist/esm/components/CopyButton/CopyButton.content.mjs +2 -1
  33. package/dist/esm/components/CopyButton/CopyButton.content.mjs.map +1 -1
  34. package/dist/esm/components/CopyButton/index.mjs +1 -1
  35. package/dist/esm/components/CopyButton/index.mjs.map +1 -1
  36. package/dist/esm/components/CopyToClipboard/index.mjs +1 -1
  37. package/dist/esm/components/CopyToClipboard/index.mjs.map +1 -1
  38. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs +1 -1
  39. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  40. package/dist/esm/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  41. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs.map +1 -1
  42. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs.map +1 -1
  43. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs.map +1 -1
  44. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs +1 -1
  45. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs.map +1 -1
  46. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs.map +1 -1
  47. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs.map +1 -1
  48. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
  49. package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs +1 -1
  50. package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
  51. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs.map +1 -1
  52. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs +1 -1
  53. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs.map +1 -1
  54. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs +1 -1
  55. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
  56. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +3 -3
  57. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  58. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -1
  59. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  60. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs +24 -12
  61. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs.map +1 -1
  62. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.mjs +8 -4
  63. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.mjs.map +1 -1
  64. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +4 -4
  65. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  66. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs +32 -16
  67. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
  68. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.mjs +24 -12
  69. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.mjs.map +1 -1
  70. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +2 -2
  71. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  72. package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs.map +1 -1
  73. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs +1 -1
  74. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
  75. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
  76. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +2 -2
  77. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  78. package/dist/esm/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs +24 -12
  79. package/dist/esm/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs.map +1 -1
  80. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  81. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +6 -5
  82. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  83. package/dist/esm/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +32 -16
  84. package/dist/esm/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  85. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs +1 -1
  86. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
  87. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -1
  88. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  89. package/dist/esm/components/DictionaryFieldEditor/StructureView/structureView.content.mjs +8 -4
  90. package/dist/esm/components/DictionaryFieldEditor/StructureView/structureView.content.mjs.map +1 -1
  91. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs.map +1 -1
  92. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs.map +1 -1
  93. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.mjs +6 -3
  94. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.mjs.map +1 -1
  95. package/dist/esm/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs +4 -2
  96. package/dist/esm/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs.map +1 -1
  97. package/dist/esm/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs +30 -15
  98. package/dist/esm/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs.map +1 -1
  99. package/dist/esm/components/DropDown/index.mjs.map +1 -1
  100. package/dist/esm/components/EditableField/EditableFieldInput.mjs.map +1 -1
  101. package/dist/esm/components/EditableField/EditableFieldLayout.mjs +1 -1
  102. package/dist/esm/components/EditableField/EditableFieldLayout.mjs.map +1 -1
  103. package/dist/esm/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
  104. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
  105. package/dist/esm/components/ExpandCollapse/expandCollapse.content.mjs +4 -2
  106. package/dist/esm/components/ExpandCollapse/expandCollapse.content.mjs.map +1 -1
  107. package/dist/esm/components/Flags/Flag.mjs.map +1 -1
  108. package/dist/esm/components/Flags/flags.mjs +2 -2
  109. package/dist/esm/components/Footer/index.mjs.map +1 -1
  110. package/dist/esm/components/Form/FormControl.mjs.map +1 -1
  111. package/dist/esm/components/Form/FormDescription.mjs.map +1 -1
  112. package/dist/esm/components/Form/FormItem.mjs.map +1 -1
  113. package/dist/esm/components/Form/FormLabel.mjs.map +1 -1
  114. package/dist/esm/components/Form/FormMessage.mjs.map +1 -1
  115. package/dist/esm/components/Form/elements/AutoSizeTextAreaElement.mjs.map +1 -1
  116. package/dist/esm/components/Form/elements/CheckboxElement.mjs.map +1 -1
  117. package/dist/esm/components/Form/elements/FormElementWrapper.mjs.map +1 -1
  118. package/dist/esm/components/Form/elements/InputElement.mjs.map +1 -1
  119. package/dist/esm/components/Form/elements/InputPasswordElement.mjs.map +1 -1
  120. package/dist/esm/components/Form/elements/OTPElement.mjs +1 -1
  121. package/dist/esm/components/Form/elements/SearchInputElement.mjs.map +1 -1
  122. package/dist/esm/components/Form/elements/TextAreaElement.mjs.map +1 -1
  123. package/dist/esm/components/Form/layout/FormItemLayout.mjs.map +1 -1
  124. package/dist/esm/components/Form/layout/FormLabelLayout.mjs.map +1 -1
  125. package/dist/esm/components/Form/layout/RequiredStar.mjs.map +1 -1
  126. package/dist/esm/components/Headers/index.mjs.map +1 -1
  127. package/dist/esm/components/HeightResizer/index.mjs.map +1 -1
  128. package/dist/esm/components/HideShow/index.mjs +1 -1
  129. package/dist/esm/components/HideShow/index.mjs.map +1 -1
  130. package/dist/esm/components/IDE/Code.mjs.map +1 -1
  131. package/dist/esm/components/IDE/CodeBlockClient.mjs.map +1 -1
  132. package/dist/esm/components/IDE/CodeBlockServer.mjs.map +1 -1
  133. package/dist/esm/components/IDE/CodeBlockShiki.mjs.map +1 -1
  134. package/dist/esm/components/IDE/CodeConditionalRenderer.mjs.map +1 -1
  135. package/dist/esm/components/IDE/CodeContext.mjs.map +1 -1
  136. package/dist/esm/components/IDE/CodeFormatSelector.mjs.map +1 -1
  137. package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs.map +1 -1
  138. package/dist/esm/components/IDE/CopyCode.mjs.map +1 -1
  139. package/dist/esm/components/IDE/FileList.mjs.map +1 -1
  140. package/dist/esm/components/IDE/FileTree.mjs +1 -1
  141. package/dist/esm/components/IDE/FileTree.mjs.map +1 -1
  142. package/dist/esm/components/IDE/IDE.mjs.map +1 -1
  143. package/dist/esm/components/IDE/MarkDownRender.mjs.map +1 -1
  144. package/dist/esm/components/IDE/MonacoCode.mjs.map +1 -1
  145. package/dist/esm/components/IDE/PackageManagerSelector.mjs.map +1 -1
  146. package/dist/esm/components/IDE/code.content.mjs +4 -2
  147. package/dist/esm/components/IDE/code.content.mjs.map +1 -1
  148. package/dist/esm/components/IDE/copyCode.content.mjs +4 -2
  149. package/dist/esm/components/IDE/copyCode.content.mjs.map +1 -1
  150. package/dist/esm/components/IDE/createFileTree.mjs.map +1 -1
  151. package/dist/esm/components/IDE/selectors.content.mjs +12 -6
  152. package/dist/esm/components/IDE/selectors.content.mjs.map +1 -1
  153. package/dist/esm/components/InformationTag/index.mjs.map +1 -1
  154. package/dist/esm/components/Input/Checkbox.mjs.map +1 -1
  155. package/dist/esm/components/Input/Input.mjs.map +1 -1
  156. package/dist/esm/components/Input/InputPassword.mjs +1 -1
  157. package/dist/esm/components/Input/InputPassword.mjs.map +1 -1
  158. package/dist/esm/components/Input/OTPInput.mjs +1 -1
  159. package/dist/esm/components/Input/OTPInput.mjs.map +1 -1
  160. package/dist/esm/components/KeyboardScreenAdapter/index.mjs +1 -1
  161. package/dist/esm/components/KeyboardScreenAdapter/index.mjs.map +1 -1
  162. package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs +1 -1
  163. package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs.map +1 -1
  164. package/dist/esm/components/Label/index.mjs.map +1 -1
  165. package/dist/esm/components/LanguageBackground/index.mjs.map +1 -1
  166. package/dist/esm/components/Link/Link.mjs +1 -1
  167. package/dist/esm/components/Link/Link.mjs.map +1 -1
  168. package/dist/esm/components/Loader/index.content.mjs +2 -1
  169. package/dist/esm/components/Loader/index.content.mjs.map +1 -1
  170. package/dist/esm/components/Loader/index.mjs.map +1 -1
  171. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +2 -2
  172. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
  173. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs.map +1 -1
  174. package/dist/esm/components/LocaleSwitcherContentDropDown/localeSwitcher.content.mjs +16 -8
  175. package/dist/esm/components/LocaleSwitcherContentDropDown/localeSwitcher.content.mjs.map +1 -1
  176. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +1 -1
  177. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  178. package/dist/esm/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs +12 -6
  179. package/dist/esm/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs.map +1 -1
  180. package/dist/esm/components/Logo/Logo.mjs.map +1 -1
  181. package/dist/esm/components/Logo/LogoTextOnly.mjs.map +1 -1
  182. package/dist/esm/components/Logo/LogoWithText.mjs.map +1 -1
  183. package/dist/esm/components/Logo/LogoWithTextBelow.mjs.map +1 -1
  184. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
  185. package/dist/esm/components/MarkDownRender/processor.mjs.map +1 -1
  186. package/dist/esm/components/MaxHeightSmoother/index.mjs.map +1 -1
  187. package/dist/esm/components/Modal/Modal.mjs +4 -4
  188. package/dist/esm/components/Modal/Modal.mjs.map +1 -1
  189. package/dist/esm/components/Navbar/MobileNavbar.mjs +2 -2
  190. package/dist/esm/components/Navbar/MobileNavbar.mjs.map +1 -1
  191. package/dist/esm/components/Navbar/useNavigation.mjs.map +1 -1
  192. package/dist/esm/components/Pagination/NumberItemsSelector.mjs.map +1 -1
  193. package/dist/esm/components/Pagination/Pagination.mjs +2 -2
  194. package/dist/esm/components/Pagination/Pagination.mjs.map +1 -1
  195. package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs.map +1 -1
  196. package/dist/esm/components/Pagination/pagination.content.mjs +9 -4
  197. package/dist/esm/components/Pagination/pagination.content.mjs.map +1 -1
  198. package/dist/esm/components/Pattern/DotPattern.mjs.map +1 -1
  199. package/dist/esm/components/Pattern/GridPattern.mjs.map +1 -1
  200. package/dist/esm/components/Pattern/SpotLight.mjs.map +1 -1
  201. package/dist/esm/components/Popover/dynamic.mjs.map +1 -1
  202. package/dist/esm/components/Popover/static.mjs.map +1 -1
  203. package/dist/esm/components/PressableSpan/PressableSpan.mjs.map +1 -1
  204. package/dist/esm/components/RightDrawer/RightDrawer.mjs +3 -3
  205. package/dist/esm/components/RightDrawer/RightDrawer.mjs.map +1 -1
  206. package/dist/esm/components/RightDrawer/rightDrawer.content.mjs +13 -3
  207. package/dist/esm/components/RightDrawer/rightDrawer.content.mjs.map +1 -1
  208. package/dist/esm/components/Select/Multiselect.mjs +1 -1
  209. package/dist/esm/components/Select/Multiselect.mjs.map +1 -1
  210. package/dist/esm/components/Select/Select.mjs.map +1 -1
  211. package/dist/esm/components/SocialNetworks/DiscordLogo.mjs.map +1 -1
  212. package/dist/esm/components/SocialNetworks/FacebookLogo.mjs.map +1 -1
  213. package/dist/esm/components/SocialNetworks/InstagramLogo.mjs.map +1 -1
  214. package/dist/esm/components/SocialNetworks/LinkedInLogo.mjs.map +1 -1
  215. package/dist/esm/components/SocialNetworks/ProductHuntLogo.mjs.map +1 -1
  216. package/dist/esm/components/SocialNetworks/TiktokLogo.mjs.map +1 -1
  217. package/dist/esm/components/SocialNetworks/XLogo.mjs.map +1 -1
  218. package/dist/esm/components/SocialNetworks/YoutubeLogo.mjs.map +1 -1
  219. package/dist/esm/components/SocialNetworks/index.mjs.map +1 -1
  220. package/dist/esm/components/SwitchSelector/index.mjs +1 -1
  221. package/dist/esm/components/SwitchSelector/index.mjs.map +1 -1
  222. package/dist/esm/components/Tab/Tab.mjs +1 -1
  223. package/dist/esm/components/Tab/Tab.mjs.map +1 -1
  224. package/dist/esm/components/Tab/TabContext.mjs.map +1 -1
  225. package/dist/esm/components/TabSelector/TabSelector.mjs +1 -1
  226. package/dist/esm/components/Table/Table.mjs +1 -1
  227. package/dist/esm/components/Table/Table.mjs.map +1 -1
  228. package/dist/esm/components/Table/table.content.mjs +2 -1
  229. package/dist/esm/components/Table/table.content.mjs.map +1 -1
  230. package/dist/esm/components/Tag/index.mjs.map +1 -1
  231. package/dist/esm/components/Terminal/Terminal.mjs.map +1 -1
  232. package/dist/esm/components/Terminal/terminal.content.mjs +14 -3
  233. package/dist/esm/components/Terminal/terminal.content.mjs.map +1 -1
  234. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
  235. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs +1 -1
  236. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs.map +1 -1
  237. package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
  238. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +1 -1
  239. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
  240. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs +1 -1
  241. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs.map +1 -1
  242. package/dist/esm/components/Toaster/Toast.mjs +2 -2
  243. package/dist/esm/components/Toaster/Toast.mjs.map +1 -1
  244. package/dist/esm/components/Toaster/useToast.mjs.map +1 -1
  245. package/dist/esm/components/WithResizer/index.mjs.map +1 -1
  246. package/dist/esm/components/index.mjs +3 -3
  247. package/dist/esm/dist/esm/components/Container/index.mjs +5 -5
  248. package/dist/esm/dist/esm/components/Container/index.mjs.map +1 -1
  249. package/dist/esm/hooks/index.mjs +5 -5
  250. package/dist/esm/hooks/useHorizontalSwipe.mjs.map +1 -1
  251. package/dist/esm/hooks/useItemSelector.mjs.map +1 -1
  252. package/dist/esm/hooks/usePersistedStore.mjs.map +1 -1
  253. package/dist/esm/hooks/useScrollY.mjs.map +1 -1
  254. package/dist/esm/libs/auth.mjs.map +1 -1
  255. package/dist/esm/providers/ReactQueryProvider.mjs +1 -1
  256. package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
  257. package/dist/esm/utils/object.mjs.map +1 -1
  258. package/dist/types/components/Badge/index.d.ts +2 -2
  259. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +5 -3
  260. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts.map +1 -1
  261. package/dist/types/components/Breadcrumb/index.d.ts +2 -2
  262. package/dist/types/components/Browser/Browser.d.ts +2 -2
  263. package/dist/types/components/Browser/Browser.d.ts.map +1 -1
  264. package/dist/types/components/Browser/browser.content.d.ts +33 -17
  265. package/dist/types/components/Browser/browser.content.d.ts.map +1 -1
  266. package/dist/types/components/Button/Button.d.ts +6 -6
  267. package/dist/types/components/Button/Button.d.ts.map +1 -1
  268. package/dist/types/components/Carousel/index.content.d.ts +37 -28
  269. package/dist/types/components/Carousel/index.content.d.ts.map +1 -1
  270. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +2 -2
  271. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts.map +1 -1
  272. package/dist/types/components/Command/index.d.ts +17 -17
  273. package/dist/types/components/Command/index.d.ts.map +1 -1
  274. package/dist/types/components/Container/index.d.ts +7 -7
  275. package/dist/types/components/Container/index.d.ts.map +1 -1
  276. package/dist/types/components/CopyButton/CopyButton.content.d.ts +5 -3
  277. package/dist/types/components/CopyButton/CopyButton.content.d.ts.map +1 -1
  278. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +49 -25
  279. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +17 -9
  280. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts.map +1 -1
  281. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +65 -33
  282. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +49 -25
  283. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts.map +1 -1
  284. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +49 -25
  285. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts.map +1 -1
  286. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +65 -33
  287. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +17 -9
  288. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +13 -7
  289. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts.map +1 -1
  290. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +9 -5
  291. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +61 -31
  292. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts.map +1 -1
  293. package/dist/types/components/EditableField/EditableFieldInput.d.ts.map +1 -1
  294. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +6 -4
  295. package/dist/types/components/Form/FormBase.d.ts +2 -2
  296. package/dist/types/components/Form/FormField.d.ts +2 -2
  297. package/dist/types/components/Form/FormItem.d.ts +2 -2
  298. package/dist/types/components/Form/FormItem.d.ts.map +1 -1
  299. package/dist/types/components/Form/elements/EditableFieldInputElement.d.ts +2 -2
  300. package/dist/types/components/Form/elements/EditableFieldTextAreaElement.d.ts +2 -2
  301. package/dist/types/components/Form/elements/FormElement.d.ts +2 -2
  302. package/dist/types/components/Form/elements/MultiselectElement.d.ts +2 -2
  303. package/dist/types/components/Form/elements/OTPElement.d.ts +2 -2
  304. package/dist/types/components/Form/elements/SelectElement.d.ts +2 -2
  305. package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts +2 -2
  306. package/dist/types/components/IDE/CodeContext.d.ts +2 -2
  307. package/dist/types/components/IDE/CodeContext.d.ts.map +1 -1
  308. package/dist/types/components/IDE/FileTree.d.ts.map +1 -1
  309. package/dist/types/components/IDE/code.content.d.ts +9 -5
  310. package/dist/types/components/IDE/code.content.d.ts.map +1 -1
  311. package/dist/types/components/IDE/copyCode.content.d.ts +9 -5
  312. package/dist/types/components/IDE/copyCode.content.d.ts.map +1 -1
  313. package/dist/types/components/IDE/selectors.content.d.ts +25 -13
  314. package/dist/types/components/IDE/selectors.content.d.ts.map +1 -1
  315. package/dist/types/components/Input/Checkbox.d.ts +3 -3
  316. package/dist/types/components/Input/Checkbox.d.ts.map +1 -1
  317. package/dist/types/components/Input/Input.d.ts +2 -2
  318. package/dist/types/components/Input/OTPInput.d.ts +6 -6
  319. package/dist/types/components/Input/OTPInput.d.ts.map +1 -1
  320. package/dist/types/components/Input/SearchInput.d.ts +2 -2
  321. package/dist/types/components/Link/Link.d.ts +5 -5
  322. package/dist/types/components/Link/Link.d.ts.map +1 -1
  323. package/dist/types/components/Loader/index.content.d.ts +5 -3
  324. package/dist/types/components/Loader/index.content.d.ts.map +1 -1
  325. package/dist/types/components/Loader/spinner.d.ts +2 -2
  326. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +33 -17
  327. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts.map +1 -1
  328. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +25 -13
  329. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts.map +1 -1
  330. package/dist/types/components/MaxWidthSmoother/index.d.ts +2 -2
  331. package/dist/types/components/MaxWidthSmoother/index.d.ts.map +1 -1
  332. package/dist/types/components/Modal/Modal.d.ts +1 -1
  333. package/dist/types/components/Modal/Modal.d.ts.map +1 -1
  334. package/dist/types/components/Navbar/Burger.d.ts +2 -2
  335. package/dist/types/components/Navbar/Burger.d.ts.map +1 -1
  336. package/dist/types/components/Navbar/DesktopNavbar.d.ts +2 -2
  337. package/dist/types/components/Navbar/DesktopNavbar.d.ts.map +1 -1
  338. package/dist/types/components/Navbar/MobileNavbar.d.ts +2 -2
  339. package/dist/types/components/Navbar/MobileNavbar.d.ts.map +1 -1
  340. package/dist/types/components/Pagination/Pagination.d.ts +4 -4
  341. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
  342. package/dist/types/components/Pagination/pagination.content.d.ts +21 -11
  343. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts +12 -5
  344. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts.map +1 -1
  345. package/dist/types/components/Select/Select.d.ts +3 -3
  346. package/dist/types/components/SocialNetworks/index.d.ts +2 -2
  347. package/dist/types/components/SocialNetworks/index.d.ts.map +1 -1
  348. package/dist/types/components/SwitchSelector/index.d.ts +6 -6
  349. package/dist/types/components/SwitchSelector/index.d.ts.map +1 -1
  350. package/dist/types/components/Tab/Tab.d.ts +6 -6
  351. package/dist/types/components/Tab/Tab.d.ts.map +1 -1
  352. package/dist/types/components/Tab/TabContext.d.ts +2 -2
  353. package/dist/types/components/Tab/TabContext.d.ts.map +1 -1
  354. package/dist/types/components/TabSelector/TabSelector.d.ts +5 -5
  355. package/dist/types/components/TabSelector/TabSelector.d.ts.map +1 -1
  356. package/dist/types/components/Table/table.content.d.ts +5 -3
  357. package/dist/types/components/Table/table.content.d.ts.map +1 -1
  358. package/dist/types/components/Tag/index.d.ts +5 -5
  359. package/dist/types/components/Tag/index.d.ts.map +1 -1
  360. package/dist/types/components/Terminal/terminal.content.d.ts +12 -5
  361. package/dist/types/components/Terminal/terminal.content.d.ts.map +1 -1
  362. package/dist/types/components/Toaster/Toast.d.ts +2 -2
  363. package/dist/types/components/Toaster/Toast.d.ts.map +1 -1
  364. package/dist/types/components/Toaster/Toaster.d.ts +2 -2
  365. package/dist/types/components/Toaster/Toaster.d.ts.map +1 -1
  366. package/package.json +31 -31
@@ -1 +1 @@
1
- {"version":3,"file":"EditableFieldTextArea.mjs","names":["EditableFieldTextArea: FC<EditableFieldTextAreaProps>"],"sources":["../../../../src/components/EditableField/EditableFieldTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { type FC, type Ref, useImperativeHandle, useRef } from 'react';\nimport { AutoSizedTextArea, type AutoSizedTextAreaProps } from '../TextArea';\nimport { EditableFieldLayout } from './EditableFieldLayout';\n\n/**\n * Props for the EditableFieldTextArea component, extending AutoSizedTextAreaProps\n */\ntype EditableFieldTextAreaProps = AutoSizedTextAreaProps & {\n /** Callback function called when the user saves the edited value */\n onSave?: (value: string) => void;\n /** Callback function called when the user cancels the edit operation */\n onCancel?: () => void;\n};\n\n/**\n * EditableFieldTextArea Component\n *\n * An inline editable textarea field that displays as read-only text until clicked.\n * When activated, it shows an auto-sized textarea with save and cancel buttons.\n * Perfect for multiline text editing with automatic height adjustment.\n *\n * @example\n * ```tsx\n * <EditableFieldTextArea\n * defaultValue=\"Multiline text content\"\n * placeholder=\"Click to edit...\"\n * maxRows={10}\n * onSave={(value) => console.log('Saved:', value)}\n * onCancel={() => console.log('Cancelled')}\n * />\n * ```\n *\n * ## Features\n * - **Inline Editing**: Click to edit, displays as formatted text when not editing\n * - **Auto-Sizing**: Automatically adjusts height to fit content\n * - **Save/Cancel Actions**: Built-in save and cancel buttons with callbacks\n * - **Multiline Support**: Preserves line breaks and formatting\n * - **Max Rows Control**: Configurable maximum height with scroll\n * - **Auto-save on Click Away**: Saves automatically when clicking outside\n * - **Ref Forwarding**: Exposes the underlying textarea element reference\n *\n * ## Accessibility\n * - Uses semantic HTML with proper ARIA attributes\n * - Keyboard accessible with tab navigation\n * - Screen reader friendly with descriptive labels\n * - Focus management for edit mode transitions\n * - Preserves whitespace and formatting for screen readers\n *\n * @param props - EditableFieldTextAreaProps extending AutoSizedTextAreaProps\n * @returns React functional component\n */\nexport const EditableFieldTextArea: FC<EditableFieldTextAreaProps> = ({\n onSave,\n onCancel,\n ref,\n ...props\n}) => {\n const textAreaRef = useRef<HTMLTextAreaElement>(null);\n\n // Expose the text area ref to parent components\n useImperativeHandle(ref as Ref<HTMLElement>, () => textAreaRef.current!);\n\n const handleSave = () => {\n // Your save logic here\n onSave?.(textAreaRef.current?.value ?? '');\n };\n\n const handleCancel = () => {\n if (textAreaRef.current) {\n textAreaRef.current.value = textAreaRef.current.defaultValue ?? '';\n }\n onCancel?.();\n };\n\n const memoValue =\n (props.value as string) ??\n textAreaRef.current?.value ??\n (props.defaultValue as string) ??\n '';\n\n return (\n <EditableFieldLayout\n value={memoValue}\n onCancel={handleCancel}\n onSave={handleSave}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <AutoSizedTextArea\n className=\"leading-6\"\n ref={textAreaRef}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n {...props}\n />\n </EditableFieldLayout>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA,MAAaA,yBAAyD,EACpE,QACA,UACA,KACA,GAAG,YACC;CACJ,MAAM,cAAc,OAA4B,KAAK;AAGrD,qBAAoB,WAA+B,YAAY,QAAS;CAExE,MAAM,mBAAmB;AAEvB,WAAS,YAAY,SAAS,SAAS,GAAG;;CAG5C,MAAM,qBAAqB;AACzB,MAAI,YAAY,QACd,aAAY,QAAQ,QAAQ,YAAY,QAAQ,gBAAgB;AAElE,cAAY;;AASd,QACE,oBAAC;EACC,OAPD,MAAM,SACP,YAAY,SAAS,SACpB,MAAM,gBACP;EAKE,UAAU;EACV,QAAQ;EACR,UAAU,MAAM;AACd,KAAE,gBAAgB;AAClB,KAAE,iBAAiB;;YAGrB,oBAAC;GACC,WAAU;GACV,KAAK;GACL,UAAU,MAAM;AACd,MAAE,gBAAgB;AAClB,MAAE,iBAAiB;;GAErB,GAAI;IACJ;GACkB"}
1
+ {"version":3,"file":"EditableFieldTextArea.mjs","names":[],"sources":["../../../../src/components/EditableField/EditableFieldTextArea.tsx"],"sourcesContent":["'use client';\n\nimport { type FC, type Ref, useImperativeHandle, useRef } from 'react';\nimport { AutoSizedTextArea, type AutoSizedTextAreaProps } from '../TextArea';\nimport { EditableFieldLayout } from './EditableFieldLayout';\n\n/**\n * Props for the EditableFieldTextArea component, extending AutoSizedTextAreaProps\n */\ntype EditableFieldTextAreaProps = AutoSizedTextAreaProps & {\n /** Callback function called when the user saves the edited value */\n onSave?: (value: string) => void;\n /** Callback function called when the user cancels the edit operation */\n onCancel?: () => void;\n};\n\n/**\n * EditableFieldTextArea Component\n *\n * An inline editable textarea field that displays as read-only text until clicked.\n * When activated, it shows an auto-sized textarea with save and cancel buttons.\n * Perfect for multiline text editing with automatic height adjustment.\n *\n * @example\n * ```tsx\n * <EditableFieldTextArea\n * defaultValue=\"Multiline text content\"\n * placeholder=\"Click to edit...\"\n * maxRows={10}\n * onSave={(value) => console.log('Saved:', value)}\n * onCancel={() => console.log('Cancelled')}\n * />\n * ```\n *\n * ## Features\n * - **Inline Editing**: Click to edit, displays as formatted text when not editing\n * - **Auto-Sizing**: Automatically adjusts height to fit content\n * - **Save/Cancel Actions**: Built-in save and cancel buttons with callbacks\n * - **Multiline Support**: Preserves line breaks and formatting\n * - **Max Rows Control**: Configurable maximum height with scroll\n * - **Auto-save on Click Away**: Saves automatically when clicking outside\n * - **Ref Forwarding**: Exposes the underlying textarea element reference\n *\n * ## Accessibility\n * - Uses semantic HTML with proper ARIA attributes\n * - Keyboard accessible with tab navigation\n * - Screen reader friendly with descriptive labels\n * - Focus management for edit mode transitions\n * - Preserves whitespace and formatting for screen readers\n *\n * @param props - EditableFieldTextAreaProps extending AutoSizedTextAreaProps\n * @returns React functional component\n */\nexport const EditableFieldTextArea: FC<EditableFieldTextAreaProps> = ({\n onSave,\n onCancel,\n ref,\n ...props\n}) => {\n const textAreaRef = useRef<HTMLTextAreaElement>(null);\n\n // Expose the text area ref to parent components\n useImperativeHandle(ref as Ref<HTMLElement>, () => textAreaRef.current!);\n\n const handleSave = () => {\n // Your save logic here\n onSave?.(textAreaRef.current?.value ?? '');\n };\n\n const handleCancel = () => {\n if (textAreaRef.current) {\n textAreaRef.current.value = textAreaRef.current.defaultValue ?? '';\n }\n onCancel?.();\n };\n\n const memoValue =\n (props.value as string) ??\n textAreaRef.current?.value ??\n (props.defaultValue as string) ??\n '';\n\n return (\n <EditableFieldLayout\n value={memoValue}\n onCancel={handleCancel}\n onSave={handleSave}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <AutoSizedTextArea\n className=\"leading-6\"\n ref={textAreaRef}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n {...props}\n />\n </EditableFieldLayout>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA,MAAa,yBAAyD,EACpE,QACA,UACA,KACA,GAAG,YACC;CACJ,MAAM,cAAc,OAA4B,KAAK;AAGrD,qBAAoB,WAA+B,YAAY,QAAS;CAExE,MAAM,mBAAmB;AAEvB,WAAS,YAAY,SAAS,SAAS,GAAG;;CAG5C,MAAM,qBAAqB;AACzB,MAAI,YAAY,QACd,aAAY,QAAQ,QAAQ,YAAY,QAAQ,gBAAgB;AAElE,cAAY;;AASd,QACE,oBAAC;EACC,OAPD,MAAM,SACP,YAAY,SAAS,SACpB,MAAM,gBACP;EAKE,UAAU;EACV,QAAQ;EACR,UAAU,MAAM;AACd,KAAE,gBAAgB;AAClB,KAAE,iBAAiB;;YAGrB,oBAAC;GACC,WAAU;GACV,KAAK;GACL,UAAU,MAAM;AACd,MAAE,gBAAgB;AAClB,MAAE,iBAAiB;;GAErB,GAAI;IACJ;GACkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpandCollapse.mjs","names":["ExpandCollapse: FC<ExpandCollapseProps>"],"sources":["../../../../src/components/ExpandCollapse/ExpandCollapse.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@utils/cn';\nimport { type FC, type ReactNode, useEffect, useRef, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\n\n/**\n * Props for the ExpandCollapse component\n */\nexport type ExpandCollapseProps = {\n /** Whether the component should provide expand/collapse functionality. If false, renders children directly */\n isRollable?: boolean;\n /** Minimum height in pixels before showing the expand/collapse toggle */\n minHeight?: number;\n /** Content that may overflow and trigger the expand/collapse behavior */\n children: ReactNode;\n /** Additional CSS classes for styling customization */\n className?: string;\n};\n\n/** Default minimum height threshold for triggering expand/collapse behavior */\nconst DEFAULT_MIN_HEIGHT = 700;\n\n/**\n * ExpandCollapse Component\n *\n * A smart content container that automatically provides expand/collapse functionality\n * when content exceeds a specified height threshold. Features smooth animations,\n * internationalized toggle text, and intelligent height detection.\n *\n * @example\n * ```tsx\n * <ExpandCollapse minHeight={300}>\n * <div>Very long content that will be collapsed...</div>\n * </ExpandCollapse>\n * ```\n *\n * ## Key Features\n * - **Smart Detection**: Automatically detects when content exceeds height threshold\n * - **Smooth Animations**: Uses CSS transitions for smooth expand/collapse effects\n * - **Internationalization**: Toggle text supports multiple languages via Intlayer\n * - **Customizable Height**: Configurable minimum height threshold\n * - **Performance Optimized**: Only applies collapse behavior when necessary\n * - **Accessibility**: Proper ARIA attributes and keyboard support\n *\n * ## Behavior Logic\n * 1. **Measurement Phase**: Measures actual content height on mount\n * 2. **Comparison**: Compares content height against minHeight threshold\n * 3. **Conditional Rendering**:\n * - If content ≤ minHeight: Renders normally without collapse functionality\n * - If content > minHeight: Enables expand/collapse with toggle button\n * 4. **State Management**: Manages collapsed/expanded state with smooth transitions\n *\n * ## When to Use\n * - Long-form content (articles, documentation, code blocks)\n * - Lists or tables that may grow beyond comfortable viewing height\n * - User-generated content with unpredictable length\n * - FAQ sections or expandable content cards\n * - Code examples or JSON data display\n *\n * ## Accessibility Features\n * - **Keyboard Navigation**: Toggle button is focusable and keyboard accessible\n * - **Screen Reader Support**: Proper ARIA labels and state announcements\n * - **Visual Indicators**: Clear visual cues for collapsed/expanded states\n * - **Smooth Animations**: Respects user preferences for reduced motion\n *\n * ## Internationalization\n * - Supports multiple languages through Intlayer integration\n * - Toggle text automatically adapts to current locale\n * - Includes translations for \"Show all\" and \"Show less\" states\n *\n * @param props - ExpandCollapseProps\n * @returns React functional component\n */\nexport const ExpandCollapse: FC<ExpandCollapseProps> = ({\n isRollable = true,\n minHeight = DEFAULT_MIN_HEIGHT,\n children,\n className,\n}) => {\n const [codeContainerHeight, setCodeContainerHeight] = useState(0);\n const [isCollapsed, setIsCollapsed] = useState(true);\n const codeContainerRef = useRef<HTMLDivElement>(null);\n const { expandCollapseContent } = useIntlayer('expand-collapse');\n\n const isTooBig = codeContainerHeight > minHeight;\n\n useEffect(() => {\n if (codeContainerRef.current) {\n setCodeContainerHeight(codeContainerRef.current.clientHeight);\n }\n }, []);\n\n if (!isRollable) {\n return children;\n }\n\n if (!isTooBig) {\n return (\n <div className={cn('grid w-full', className)} ref={codeContainerRef}>\n {children}\n </div>\n );\n }\n\n return (\n <MaxHeightSmoother\n isHidden={isCollapsed}\n minHeight={minHeight}\n className=\"w-full overflow-x-auto overflow-y-hidden\"\n >\n <div className={cn('grid w-full', className)} ref={codeContainerRef}>\n {children}\n </div>\n <button\n className={cn(\n 'absolute right-0 bottom-0 flex w-full cursor-pointer items-center justify-center rounded-t-2xl bg-gradient-to-t from-card/80 to-transparent px-3 py-0.5 text-md text-neutral-700 shadow-[0_0_10px_-15px_rgba(0,0,0,0.3)] backdrop-blur transition-all duration-300 hover:py-1 dark:text-neutral-400',\n isCollapsed ? 'w-full' : 'w-32'\n )}\n type=\"button\"\n onClick={() => setIsCollapsed((prev) => !prev)}\n >\n {expandCollapseContent(isCollapsed)}\n </button>\n </MaxHeightSmoother>\n );\n};\n"],"mappings":";;;;;;;;;;AAsBA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqD3B,MAAaA,kBAA2C,EACtD,aAAa,MACb,YAAY,oBACZ,UACA,gBACI;CACJ,MAAM,CAAC,qBAAqB,0BAA0B,SAAS,EAAE;CACjE,MAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;CACpD,MAAM,mBAAmB,OAAuB,KAAK;CACrD,MAAM,EAAE,0BAA0B,YAAY,kBAAkB;CAEhE,MAAM,WAAW,sBAAsB;AAEvC,iBAAgB;AACd,MAAI,iBAAiB,QACnB,wBAAuB,iBAAiB,QAAQ,aAAa;IAE9D,EAAE,CAAC;AAEN,KAAI,CAAC,WACH,QAAO;AAGT,KAAI,CAAC,SACH,QACE,oBAAC;EAAI,WAAW,GAAG,eAAe,UAAU;EAAE,KAAK;EAChD;GACG;AAIV,QACE,qBAAC;EACC,UAAU;EACC;EACX,WAAU;aAEV,oBAAC;GAAI,WAAW,GAAG,eAAe,UAAU;GAAE,KAAK;GAChD;IACG,EACN,oBAAC;GACC,WAAW,GACT,uSACA,cAAc,WAAW,OAC1B;GACD,MAAK;GACL,eAAe,gBAAgB,SAAS,CAAC,KAAK;aAE7C,sBAAsB,YAAY;IAC5B;GACS"}
1
+ {"version":3,"file":"ExpandCollapse.mjs","names":[],"sources":["../../../../src/components/ExpandCollapse/ExpandCollapse.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@utils/cn';\nimport { type FC, type ReactNode, useEffect, useRef, useState } from 'react';\nimport { useIntlayer } from 'react-intlayer';\nimport { MaxHeightSmoother } from '../MaxHeightSmoother';\n\n/**\n * Props for the ExpandCollapse component\n */\nexport type ExpandCollapseProps = {\n /** Whether the component should provide expand/collapse functionality. If false, renders children directly */\n isRollable?: boolean;\n /** Minimum height in pixels before showing the expand/collapse toggle */\n minHeight?: number;\n /** Content that may overflow and trigger the expand/collapse behavior */\n children: ReactNode;\n /** Additional CSS classes for styling customization */\n className?: string;\n};\n\n/** Default minimum height threshold for triggering expand/collapse behavior */\nconst DEFAULT_MIN_HEIGHT = 700;\n\n/**\n * ExpandCollapse Component\n *\n * A smart content container that automatically provides expand/collapse functionality\n * when content exceeds a specified height threshold. Features smooth animations,\n * internationalized toggle text, and intelligent height detection.\n *\n * @example\n * ```tsx\n * <ExpandCollapse minHeight={300}>\n * <div>Very long content that will be collapsed...</div>\n * </ExpandCollapse>\n * ```\n *\n * ## Key Features\n * - **Smart Detection**: Automatically detects when content exceeds height threshold\n * - **Smooth Animations**: Uses CSS transitions for smooth expand/collapse effects\n * - **Internationalization**: Toggle text supports multiple languages via Intlayer\n * - **Customizable Height**: Configurable minimum height threshold\n * - **Performance Optimized**: Only applies collapse behavior when necessary\n * - **Accessibility**: Proper ARIA attributes and keyboard support\n *\n * ## Behavior Logic\n * 1. **Measurement Phase**: Measures actual content height on mount\n * 2. **Comparison**: Compares content height against minHeight threshold\n * 3. **Conditional Rendering**:\n * - If content ≤ minHeight: Renders normally without collapse functionality\n * - If content > minHeight: Enables expand/collapse with toggle button\n * 4. **State Management**: Manages collapsed/expanded state with smooth transitions\n *\n * ## When to Use\n * - Long-form content (articles, documentation, code blocks)\n * - Lists or tables that may grow beyond comfortable viewing height\n * - User-generated content with unpredictable length\n * - FAQ sections or expandable content cards\n * - Code examples or JSON data display\n *\n * ## Accessibility Features\n * - **Keyboard Navigation**: Toggle button is focusable and keyboard accessible\n * - **Screen Reader Support**: Proper ARIA labels and state announcements\n * - **Visual Indicators**: Clear visual cues for collapsed/expanded states\n * - **Smooth Animations**: Respects user preferences for reduced motion\n *\n * ## Internationalization\n * - Supports multiple languages through Intlayer integration\n * - Toggle text automatically adapts to current locale\n * - Includes translations for \"Show all\" and \"Show less\" states\n *\n * @param props - ExpandCollapseProps\n * @returns React functional component\n */\nexport const ExpandCollapse: FC<ExpandCollapseProps> = ({\n isRollable = true,\n minHeight = DEFAULT_MIN_HEIGHT,\n children,\n className,\n}) => {\n const [codeContainerHeight, setCodeContainerHeight] = useState(0);\n const [isCollapsed, setIsCollapsed] = useState(true);\n const codeContainerRef = useRef<HTMLDivElement>(null);\n const { expandCollapseContent } = useIntlayer('expand-collapse');\n\n const isTooBig = codeContainerHeight > minHeight;\n\n useEffect(() => {\n if (codeContainerRef.current) {\n setCodeContainerHeight(codeContainerRef.current.clientHeight);\n }\n }, []);\n\n if (!isRollable) {\n return children;\n }\n\n if (!isTooBig) {\n return (\n <div className={cn('grid w-full', className)} ref={codeContainerRef}>\n {children}\n </div>\n );\n }\n\n return (\n <MaxHeightSmoother\n isHidden={isCollapsed}\n minHeight={minHeight}\n className=\"w-full overflow-x-auto overflow-y-hidden\"\n >\n <div className={cn('grid w-full', className)} ref={codeContainerRef}>\n {children}\n </div>\n <button\n className={cn(\n 'absolute right-0 bottom-0 flex w-full cursor-pointer items-center justify-center rounded-t-2xl bg-gradient-to-t from-card/80 to-transparent px-3 py-0.5 text-md text-neutral-700 shadow-[0_0_10px_-15px_rgba(0,0,0,0.3)] backdrop-blur transition-all duration-300 hover:py-1 dark:text-neutral-400',\n isCollapsed ? 'w-full' : 'w-32'\n )}\n type=\"button\"\n onClick={() => setIsCollapsed((prev) => !prev)}\n >\n {expandCollapseContent(isCollapsed)}\n </button>\n </MaxHeightSmoother>\n );\n};\n"],"mappings":";;;;;;;;;;AAsBA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqD3B,MAAa,kBAA2C,EACtD,aAAa,MACb,YAAY,oBACZ,UACA,gBACI;CACJ,MAAM,CAAC,qBAAqB,0BAA0B,SAAS,EAAE;CACjE,MAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;CACpD,MAAM,mBAAmB,OAAuB,KAAK;CACrD,MAAM,EAAE,0BAA0B,YAAY,kBAAkB;CAEhE,MAAM,WAAW,sBAAsB;AAEvC,iBAAgB;AACd,MAAI,iBAAiB,QACnB,wBAAuB,iBAAiB,QAAQ,aAAa;IAE9D,EAAE,CAAC;AAEN,KAAI,CAAC,WACH,QAAO;AAGT,KAAI,CAAC,SACH,QACE,oBAAC;EAAI,WAAW,GAAG,eAAe,UAAU;EAAE,KAAK;EAChD;GACG;AAIV,QACE,qBAAC;EACC,UAAU;EACC;EACX,WAAU;aAEV,oBAAC;GAAI,WAAW,GAAG,eAAe,UAAU;GAAE,KAAK;GAChD;IACG,EACN,oBAAC;GACC,WAAW,GACT,uSACA,cAAc,WAAW,OAC1B;GACD,MAAK;GACL,eAAe,gBAAgB,SAAS,CAAC,KAAK;aAE7C,sBAAsB,YAAY;IAC5B;GACS"}
@@ -21,7 +21,8 @@ const expandCollapseContent = {
21
21
  tr: "Hepsini göster",
22
22
  pl: "Pokaż wszystko",
23
23
  id: "Tampilkan semua",
24
- vi: "Hiển thị tất cả"
24
+ vi: "Hiển thị tất cả",
25
+ uk: "Показати все"
25
26
  }),
26
27
  false: t({
27
28
  en: "Show less",
@@ -40,7 +41,8 @@ const expandCollapseContent = {
40
41
  tr: "Daha az göster",
41
42
  pl: "Pokaż mniej",
42
43
  id: "Tampilkan lebih sedikit",
43
- vi: "Thu gọn"
44
+ vi: "Thu gọn",
45
+ uk: "Показати менше"
44
46
  })
45
47
  }) },
46
48
  title: "Expand collapse toggle",
@@ -1 +1 @@
1
- {"version":3,"file":"expandCollapse.content.mjs","names":[],"sources":["../../../../src/components/ExpandCollapse/expandCollapse.content.ts"],"sourcesContent":["import { cond, type Dictionary, t } from 'intlayer';\n\nconst expandCollapseContent = {\n key: 'expand-collapse',\n content: {\n expandCollapseContent: cond({\n true: t({\n en: 'Show all',\n fr: 'Afficher tout',\n es: 'Mostrar todo',\n 'en-GB': 'Show all',\n de: 'Mehr anzeigen',\n ja: 'すべて表示',\n ko: '모두 보기',\n zh: '显示全部',\n it: 'Mostra tutto',\n pt: 'Mostrar tudo',\n hi: 'सभी दिखाएँ',\n ar: 'عرض الكل',\n ru: 'Показать все',\n tr: 'Hepsini göster',\n pl: 'Pokaż wszystko',\n id: 'Tampilkan semua',\n vi: 'Hiển thị tất cả',\n }),\n false: t({\n en: 'Show less',\n fr: 'Afficher moins',\n es: 'Mostrar menos',\n 'en-GB': 'Show less',\n de: 'Weniger anzeigen',\n ja: '表示を減らす',\n ko: '간략히 보기',\n zh: '显示较少',\n it: 'Mostra meno',\n pt: 'Mostrar menos',\n hi: 'कम दिखाएँ',\n ar: 'عرض أقل',\n ru: 'Показать меньше',\n tr: 'Daha az göster',\n pl: 'Pokaż mniej',\n id: 'Tampilkan lebih sedikit',\n vi: 'Thu gọn',\n }),\n }),\n },\n title: 'Expand collapse toggle',\n description:\n 'Content declaration for the expand/collapse toggle component, defining the labels shown when content is expanded or collapsed.',\n tags: ['ui component', 'toggle', 'expand collapse'],\n} satisfies Dictionary;\n\nexport default expandCollapseContent;\n"],"mappings":";;;AAEA,MAAM,wBAAwB;CAC5B,KAAK;CACL,SAAS,EACP,uBAAuB,KAAK;EAC1B,MAAM,EAAE;GACN,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,OAAO,EAAE;GACP,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH,CAAC,EACH;CACD,OAAO;CACP,aACE;CACF,MAAM;EAAC;EAAgB;EAAU;EAAkB;CACpD;AAED,qCAAe"}
1
+ {"version":3,"file":"expandCollapse.content.mjs","names":[],"sources":["../../../../src/components/ExpandCollapse/expandCollapse.content.ts"],"sourcesContent":["import { cond, type Dictionary, t } from 'intlayer';\n\nconst expandCollapseContent = {\n key: 'expand-collapse',\n content: {\n expandCollapseContent: cond({\n true: t({\n en: 'Show all',\n fr: 'Afficher tout',\n es: 'Mostrar todo',\n 'en-GB': 'Show all',\n de: 'Mehr anzeigen',\n ja: 'すべて表示',\n ko: '모두 보기',\n zh: '显示全部',\n it: 'Mostra tutto',\n pt: 'Mostrar tudo',\n hi: 'सभी दिखाएँ',\n ar: 'عرض الكل',\n ru: 'Показать все',\n tr: 'Hepsini göster',\n pl: 'Pokaż wszystko',\n id: 'Tampilkan semua',\n vi: 'Hiển thị tất cả',\n uk: 'Показати все',\n }),\n false: t({\n en: 'Show less',\n fr: 'Afficher moins',\n es: 'Mostrar menos',\n 'en-GB': 'Show less',\n de: 'Weniger anzeigen',\n ja: '表示を減らす',\n ko: '간략히 보기',\n zh: '显示较少',\n it: 'Mostra meno',\n pt: 'Mostrar menos',\n hi: 'कम दिखाएँ',\n ar: 'عرض أقل',\n ru: 'Показать меньше',\n tr: 'Daha az göster',\n pl: 'Pokaż mniej',\n id: 'Tampilkan lebih sedikit',\n vi: 'Thu gọn',\n uk: 'Показати менше',\n }),\n }),\n },\n title: 'Expand collapse toggle',\n description:\n 'Content declaration for the expand/collapse toggle component, defining the labels shown when content is expanded or collapsed.',\n tags: ['ui component', 'toggle', 'expand collapse'],\n} satisfies Dictionary;\n\nexport default expandCollapseContent;\n"],"mappings":";;;AAEA,MAAM,wBAAwB;CAC5B,KAAK;CACL,SAAS,EACP,uBAAuB,KAAK;EAC1B,MAAM,EAAE;GACN,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACF,OAAO,EAAE;GACP,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CAAC;EACH,CAAC,EACH;CACD,OAAO;CACP,aACE;CACF,MAAM;EAAC;EAAgB;EAAU;EAAkB;CACpD;AAED,qCAAe"}
@@ -1 +1 @@
1
- {"version":3,"file":"Flag.mjs","names":["flagRecord: Partial<Record<Locale, ReturnType<typeof dynamicFlag>>>","Flag: FC<FlagProps>"],"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 fallback={null}>\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, 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 fallback={null}>\n <LazyFlag alt={alt ?? `${locale} flag`} {...(props as any)} role=\"img\" />\n </Suspense>\n );\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { __export } from "../../_virtual/rolldown_runtime.mjs";
1
+ import { __exportAll } from "../../_virtual/rolldown_runtime.mjs";
2
2
  import ae_default from "./ae.mjs";
3
3
  import af_default from "./af.mjs";
4
4
  import al_default from "./al.mjs";
@@ -144,7 +144,7 @@ import za_default from "./za.mjs";
144
144
  import zw_default from "./zw.mjs";
145
145
 
146
146
  //#region src/components/Flags/flags.ts
147
- var flags_exports = /* @__PURE__ */ __export({
147
+ var flags_exports = /* @__PURE__ */ __exportAll({
148
148
  AFRIKAANS: () => AFRIKAANS,
149
149
  AFRIKAANS_SOUTH_AFRICA: () => AFRIKAANS_SOUTH_AFRICA,
150
150
  ALBANIAN: () => ALBANIAN,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Footer: FC<FooterProps>","links"],"sources":["../../../../src/components/Footer/index.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\nimport { LogoWithTextBelow } from '../Logo';\nimport { SocialNetworks } from '../SocialNetworks';\n\n/**\n * Represents a single footer link with all necessary attributes\n */\nexport type FooterLink = {\n /** URL or path for the link */\n href: string;\n /** Display text or JSX element for the link */\n text: ReactNode;\n /** Optional click handler for custom link behavior */\n onClick?: () => void;\n /** Accessible label for screen readers (required for accessibility) */\n label: string;\n};\n\n/**\n * Represents a group of related links with a title\n */\nexport type LinkGroup = {\n /** Title for the group of links */\n title: ReactNode;\n /** Array of footer links in this group */\n links: FooterLink[];\n};\n\n/**\n * Props for the Footer component\n */\ntype FooterProps = {\n /** Optional array of link groups to display in the footer */\n links?: LinkGroup[];\n};\n\n/**\n * Footer Component\n *\n * A comprehensive footer component that displays the Intlayer logo, copyright information,\n * social networks, and organized groups of navigation links. Designed for responsive\n * layouts and optimal user experience across all devices.\n *\n * @component\n * @example\n * Basic usage without links:\n * ```tsx\n * <Footer />\n * ```\n *\n * @example\n * With organized link groups:\n * ```tsx\n * const footerLinks = [\n * {\n * title: 'Product',\n * links: [\n * { href: '/features', text: 'Features', label: 'Product features' },\n * { href: '/pricing', text: 'Pricing', label: 'Pricing information' },\n * { href: '/docs', text: 'Documentation', label: 'Product documentation' }\n * ]\n * },\n * {\n * title: 'Company',\n * links: [\n * { href: '/about', text: 'About Us', label: 'About the company' },\n * { href: '/careers', text: 'Careers', label: 'Job opportunities' },\n * { href: '/contact', text: 'Contact', label: 'Contact information' }\n * ]\n * }\n * ];\n *\n * <Footer links={footerLinks} />\n * ```\n *\n * @example\n * With custom click handlers:\n * ```tsx\n * const footerLinks = [\n * {\n * title: 'Actions',\n * links: [\n * {\n * href: '#',\n * text: 'Newsletter',\n * label: 'Subscribe to newsletter',\n * onClick: () => openNewsletterModal()\n * }\n * ]\n * }\n * ];\n *\n * <Footer links={footerLinks} />\n * ```\n *\n * Features:\n * - Responsive design that adapts to different screen sizes\n * - Intlayer branding with logo and copyright notice\n * - Integrated social network links\n * - Flexible link organization with titled groups\n * - Accessibility-compliant with proper ARIA labels\n * - Support for custom click handlers alongside href navigation\n * - Clean, modern design with proper spacing and typography\n *\n * Layout Structure:\n * - Left side (or top on mobile): Logo, copyright, and social links\n * - Right side (or bottom on mobile): Organized link groups\n * - Responsive breakpoints for optimal mobile experience\n *\n * Accessibility:\n * - Semantic HTML structure using <footer> tag\n * - All links include required aria-label attributes\n * - Proper heading hierarchy and keyboard navigation\n * - Screen reader friendly content organization\n * - Focus management for interactive elements\n *\n * @param props - Component properties\n * @param props.links - Optional array of link groups to display\n *\n * @returns A rendered footer with branding, social links, and optional navigation links\n */\nexport const Footer: FC<FooterProps> = ({ links }) => (\n <footer className=\"flex flex-auto flex-row flex-wrap items-center justify-around gap-10 p-6\">\n <aside className=\"flex flex-col items-center justify-between gap-3 md:w-1/4\">\n <LogoWithTextBelow className=\"size-full max-w-[120px]\" />\n <span className=\"text-center text-neutral text-xs\">\n © 2026 Intlayer, Inc.\n </span>\n <div className=\"flex flex-row gap-3\">\n <SocialNetworks />\n </div>\n </aside>\n <div className=\"m-auto flex w-full flex-row flex-wrap justify-around gap-x-3 gap-y-6 md:w-2/3\">\n {(links ?? []).map(({ title, links }) => (\n <div\n className=\"flex flex-col gap-2\"\n key={links.map((link) => link.href).join(',')}\n >\n <strong>{title}</strong>\n <div className=\"flex flex-col gap-3 text-sm\">\n {links.map((link) => (\n <a key={link.href} href={link.href} aria-label={link.label}>\n {link.text}\n </a>\n ))}\n </div>\n </div>\n ))}\n </div>\n </footer>\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyHA,MAAaA,UAA2B,EAAE,YACxC,qBAAC;CAAO,WAAU;YAChB,qBAAC;EAAM,WAAU;;GACf,oBAAC,qBAAkB,WAAU,4BAA4B;GACzD,oBAAC;IAAK,WAAU;cAAmC;KAE5C;GACP,oBAAC;IAAI,WAAU;cACb,oBAAC,mBAAiB;KACd;;GACA,EACR,oBAAC;EAAI,WAAU;aACX,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,qBAC3B,qBAAC;GACC,WAAU;cAGV,oBAAC,sBAAQ,QAAe,EACxB,oBAAC;IAAI,WAAU;cACZC,QAAM,KAAK,SACV,oBAAC;KAAkB,MAAM,KAAK;KAAM,cAAY,KAAK;eAClD,KAAK;OADA,KAAK,KAET,CACJ;KACE;KATDA,QAAM,KAAK,SAAS,KAAK,KAAK,CAAC,KAAK,IAAI,CAUzC,CACN;GACE;EACC"}
1
+ {"version":3,"file":"index.mjs","names":["links"],"sources":["../../../../src/components/Footer/index.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\nimport { LogoWithTextBelow } from '../Logo';\nimport { SocialNetworks } from '../SocialNetworks';\n\n/**\n * Represents a single footer link with all necessary attributes\n */\nexport type FooterLink = {\n /** URL or path for the link */\n href: string;\n /** Display text or JSX element for the link */\n text: ReactNode;\n /** Optional click handler for custom link behavior */\n onClick?: () => void;\n /** Accessible label for screen readers (required for accessibility) */\n label: string;\n};\n\n/**\n * Represents a group of related links with a title\n */\nexport type LinkGroup = {\n /** Title for the group of links */\n title: ReactNode;\n /** Array of footer links in this group */\n links: FooterLink[];\n};\n\n/**\n * Props for the Footer component\n */\ntype FooterProps = {\n /** Optional array of link groups to display in the footer */\n links?: LinkGroup[];\n};\n\n/**\n * Footer Component\n *\n * A comprehensive footer component that displays the Intlayer logo, copyright information,\n * social networks, and organized groups of navigation links. Designed for responsive\n * layouts and optimal user experience across all devices.\n *\n * @component\n * @example\n * Basic usage without links:\n * ```tsx\n * <Footer />\n * ```\n *\n * @example\n * With organized link groups:\n * ```tsx\n * const footerLinks = [\n * {\n * title: 'Product',\n * links: [\n * { href: '/features', text: 'Features', label: 'Product features' },\n * { href: '/pricing', text: 'Pricing', label: 'Pricing information' },\n * { href: '/docs', text: 'Documentation', label: 'Product documentation' }\n * ]\n * },\n * {\n * title: 'Company',\n * links: [\n * { href: '/about', text: 'About Us', label: 'About the company' },\n * { href: '/careers', text: 'Careers', label: 'Job opportunities' },\n * { href: '/contact', text: 'Contact', label: 'Contact information' }\n * ]\n * }\n * ];\n *\n * <Footer links={footerLinks} />\n * ```\n *\n * @example\n * With custom click handlers:\n * ```tsx\n * const footerLinks = [\n * {\n * title: 'Actions',\n * links: [\n * {\n * href: '#',\n * text: 'Newsletter',\n * label: 'Subscribe to newsletter',\n * onClick: () => openNewsletterModal()\n * }\n * ]\n * }\n * ];\n *\n * <Footer links={footerLinks} />\n * ```\n *\n * Features:\n * - Responsive design that adapts to different screen sizes\n * - Intlayer branding with logo and copyright notice\n * - Integrated social network links\n * - Flexible link organization with titled groups\n * - Accessibility-compliant with proper ARIA labels\n * - Support for custom click handlers alongside href navigation\n * - Clean, modern design with proper spacing and typography\n *\n * Layout Structure:\n * - Left side (or top on mobile): Logo, copyright, and social links\n * - Right side (or bottom on mobile): Organized link groups\n * - Responsive breakpoints for optimal mobile experience\n *\n * Accessibility:\n * - Semantic HTML structure using <footer> tag\n * - All links include required aria-label attributes\n * - Proper heading hierarchy and keyboard navigation\n * - Screen reader friendly content organization\n * - Focus management for interactive elements\n *\n * @param props - Component properties\n * @param props.links - Optional array of link groups to display\n *\n * @returns A rendered footer with branding, social links, and optional navigation links\n */\nexport const Footer: FC<FooterProps> = ({ links }) => (\n <footer className=\"flex flex-auto flex-row flex-wrap items-center justify-around gap-10 p-6\">\n <aside className=\"flex flex-col items-center justify-between gap-3 md:w-1/4\">\n <LogoWithTextBelow className=\"size-full max-w-[120px]\" />\n <span className=\"text-center text-neutral text-xs\">\n © 2026 Intlayer, Inc.\n </span>\n <div className=\"flex flex-row gap-3\">\n <SocialNetworks />\n </div>\n </aside>\n <div className=\"m-auto flex w-full flex-row flex-wrap justify-around gap-x-3 gap-y-6 md:w-2/3\">\n {(links ?? []).map(({ title, links }) => (\n <div\n className=\"flex flex-col gap-2\"\n key={links.map((link) => link.href).join(',')}\n >\n <strong>{title}</strong>\n <div className=\"flex flex-col gap-3 text-sm\">\n {links.map((link) => (\n <a key={link.href} href={link.href} aria-label={link.label}>\n {link.text}\n </a>\n ))}\n </div>\n </div>\n ))}\n </div>\n </footer>\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyHA,MAAa,UAA2B,EAAE,YACxC,qBAAC;CAAO,WAAU;YAChB,qBAAC;EAAM,WAAU;;GACf,oBAAC,qBAAkB,WAAU,4BAA4B;GACzD,oBAAC;IAAK,WAAU;cAAmC;KAE5C;GACP,oBAAC;IAAI,WAAU;cACb,oBAAC,mBAAiB;KACd;;GACA,EACR,oBAAC;EAAI,WAAU;aACX,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,qBAC3B,qBAAC;GACC,WAAU;cAGV,oBAAC,sBAAQ,QAAe,EACxB,oBAAC;IAAI,WAAU;cACZA,QAAM,KAAK,SACV,oBAAC;KAAkB,MAAM,KAAK;KAAM,cAAY,KAAK;eAClD,KAAK;OADA,KAAK,KAET,CACJ;KACE;KATDA,QAAM,KAAK,SAAS,KAAK,KAAK,CAAC,KAAK,IAAI,CAUzC,CACN;GACE;EACC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormControl.mjs","names":["FormControl: FC<ComponentProps<typeof Slot>>"],"sources":["../../../../src/components/Form/FormControl.tsx"],"sourcesContent":["'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps, FC } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormControl: FC<ComponentProps<typeof Slot>> = (props) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;AAMA,MAAaA,eAAgD,UAAU;CACrE,MAAM,EAAE,OAAO,YAAY,mBAAmB,kBAC5C,cAAc;AAEhB,QACE,oBAAC;EACC,IAAI;EACJ,oBACE,CAAC,QACG,GAAG,sBACH,GAAG,kBAAkB,GAAG;EAE9B,gBAAc,CAAC,CAAC;EAChB,GAAI;GACJ"}
1
+ {"version":3,"file":"FormControl.mjs","names":[],"sources":["../../../../src/components/Form/FormControl.tsx"],"sourcesContent":["'use client';\n\nimport { Slot } from '@radix-ui/react-slot';\nimport type { ComponentProps, FC } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormControl: FC<ComponentProps<typeof Slot>> = (props) => {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;AAMA,MAAa,eAAgD,UAAU;CACrE,MAAM,EAAE,OAAO,YAAY,mBAAmB,kBAC5C,cAAc;AAEhB,QACE,oBAAC;EACC,IAAI;EACJ,oBACE,CAAC,QACG,GAAG,sBACH,GAAG,kBAAkB,GAAG;EAE9B,gBAAc,CAAC,CAAC;EAChB,GAAI;GACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormDescription.mjs","names":["FormDescription: FC<HTMLAttributes<HTMLParagraphElement>>"],"sources":["../../../../src/components/Form/FormDescription.tsx"],"sourcesContent":["'use client';\n\nimport type { FC, HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormDescription: FC<HTMLAttributes<HTMLParagraphElement>> = (\n props\n) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p className=\"text-neutral text-sm\" id={formDescriptionId} {...props} />\n );\n};\n"],"mappings":";;;;;;AAKA,MAAaA,mBACX,UACG;CACH,MAAM,EAAE,sBAAsB,cAAc;AAE5C,QACE,oBAAC;EAAE,WAAU;EAAuB,IAAI;EAAmB,GAAI;GAAS"}
1
+ {"version":3,"file":"FormDescription.mjs","names":[],"sources":["../../../../src/components/Form/FormDescription.tsx"],"sourcesContent":["'use client';\n\nimport type { FC, HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormDescription: FC<HTMLAttributes<HTMLParagraphElement>> = (\n props\n) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p className=\"text-neutral text-sm\" id={formDescriptionId} {...props} />\n );\n};\n"],"mappings":";;;;;;AAKA,MAAa,mBACX,UACG;CACH,MAAM,EAAE,sBAAsB,cAAc;AAE5C,QACE,oBAAC;EAAE,WAAU;EAAuB,IAAI;EAAmB,GAAI;GAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormItem.mjs","names":["FormItem: FC<HTMLAttributes<HTMLDivElement>>"],"sources":["../../../../src/components/Form/FormItem.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, type FC, type HTMLAttributes, useId } from 'react';\n\nexport const FormItem: FC<HTMLAttributes<HTMLDivElement>> = ({\n id: idProp,\n ...props\n}) => {\n const generatedId = useId();\n const stableId = idProp ?? generatedId;\n\n const memoValue = {\n id: stableId,\n };\n\n return (\n <FormItemContext value={memoValue}>\n <div\n className=\"flex flex-col gap-2 p-2\"\n id={stableId}\n suppressHydrationWarning\n {...props}\n />\n </FormItemContext>\n );\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nexport const FormItemContext = createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n"],"mappings":";;;;;;AAIA,MAAaA,YAAgD,EAC3D,IAAI,QACJ,GAAG,YACC;CACJ,MAAM,cAAc,OAAO;CAC3B,MAAM,WAAW,UAAU;AAM3B,QACE,oBAAC;EAAgB,OALD,EAChB,IAAI,UACL;YAIG,oBAAC;GACC,WAAU;GACV,IAAI;GACJ;GACA,GAAI;IACJ;GACc;;AAQtB,MAAa,kBAAkB,cAC7B,EAAE,CACH"}
1
+ {"version":3,"file":"FormItem.mjs","names":[],"sources":["../../../../src/components/Form/FormItem.tsx"],"sourcesContent":["'use client';\n\nimport { createContext, type FC, type HTMLAttributes, useId } from 'react';\n\nexport const FormItem: FC<HTMLAttributes<HTMLDivElement>> = ({\n id: idProp,\n ...props\n}) => {\n const generatedId = useId();\n const stableId = idProp ?? generatedId;\n\n const memoValue = {\n id: stableId,\n };\n\n return (\n <FormItemContext value={memoValue}>\n <div\n className=\"flex flex-col gap-2 p-2\"\n id={stableId}\n suppressHydrationWarning\n {...props}\n />\n </FormItemContext>\n );\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nexport const FormItemContext = createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n"],"mappings":";;;;;;AAIA,MAAa,YAAgD,EAC3D,IAAI,QACJ,GAAG,YACC;CACJ,MAAM,cAAc,OAAO;CAC3B,MAAM,WAAW,UAAU;AAM3B,QACE,oBAAC;EAAgB,OALD,EAChB,IAAI,UACL;YAIG,oBAAC;GACC,WAAU;GACV,IAAI;GACJ;GACA,GAAI;IACJ;GACc;;AAQtB,MAAa,kBAAkB,cAC7B,EAAE,CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabel.mjs","names":["FormLabel: FC<ComponentProps<typeof Label>>"],"sources":["../../../../src/components/Form/FormLabel.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@utils/cn';\nimport type { ComponentProps, FC } from 'react';\nimport { Label } from '../Label';\nimport { useFormField } from './FormField';\n\nexport const FormLabel: FC<ComponentProps<typeof Label>> = ({\n className,\n ...props\n}) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n className={cn('mb-2', error && 'text-error', className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;;AAOA,MAAaA,aAA+C,EAC1D,WACA,GAAG,YACC;CACJ,MAAM,EAAE,OAAO,eAAe,cAAc;AAE5C,QACE,oBAAC;EACC,WAAW,GAAG,QAAQ,SAAS,cAAc,UAAU;EACvD,SAAS;EACT,GAAI;GACJ"}
1
+ {"version":3,"file":"FormLabel.mjs","names":[],"sources":["../../../../src/components/Form/FormLabel.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@utils/cn';\nimport type { ComponentProps, FC } from 'react';\nimport { Label } from '../Label';\nimport { useFormField } from './FormField';\n\nexport const FormLabel: FC<ComponentProps<typeof Label>> = ({\n className,\n ...props\n}) => {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n className={cn('mb-2', error && 'text-error', className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n};\n"],"mappings":";;;;;;;;AAOA,MAAa,aAA+C,EAC1D,WACA,GAAG,YACC;CACJ,MAAM,EAAE,OAAO,eAAe,cAAc;AAE5C,QACE,oBAAC;EACC,WAAW,GAAG,QAAQ,SAAS,cAAc,UAAU;EACvD,SAAS;EACT,GAAI;GACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormMessage.mjs","names":["FormMessage: FC<HTMLAttributes<HTMLParagraphElement>>"],"sources":["../../../../src/components/Form/FormMessage.tsx"],"sourcesContent":["'use client';\n\nimport type { FC, HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormMessage: FC<HTMLAttributes<HTMLParagraphElement>> = ({\n children,\n ...props\n}) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n className=\"font-medium text-error text-xs\"\n role=\"alert\"\n id={formMessageId}\n {...props}\n >\n {body}\n </p>\n );\n};\n"],"mappings":";;;;;;AAKA,MAAaA,eAAyD,EACpE,UACA,GAAG,YACC;CACJ,MAAM,EAAE,OAAO,kBAAkB,cAAc;CAC/C,MAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,GAAG,GAAG;AAEpD,KAAI,CAAC,KACH,QAAO;AAGT,QACE,oBAAC;EACC,WAAU;EACV,MAAK;EACL,IAAI;EACJ,GAAI;YAEH;GACC"}
1
+ {"version":3,"file":"FormMessage.mjs","names":[],"sources":["../../../../src/components/Form/FormMessage.tsx"],"sourcesContent":["'use client';\n\nimport type { FC, HTMLAttributes } from 'react';\nimport { useFormField } from './FormField';\n\nexport const FormMessage: FC<HTMLAttributes<HTMLParagraphElement>> = ({\n children,\n ...props\n}) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n className=\"font-medium text-error text-xs\"\n role=\"alert\"\n id={formMessageId}\n {...props}\n >\n {body}\n </p>\n );\n};\n"],"mappings":";;;;;;AAKA,MAAa,eAAyD,EACpE,UACA,GAAG,YACC;CACJ,MAAM,EAAE,OAAO,kBAAkB,cAAc;CAC/C,MAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,GAAG,GAAG;AAEpD,KAAI,CAAC,KACH,QAAO;AAGT,QACE,oBAAC;EACC,WAAU;EACV,MAAK;EACL,IAAI;EACJ,GAAI;YAEH;GACC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoSizeTextAreaElement.mjs","names":["AutoSizedTextAreaElement: FC<AutoSizedTextAreaElementsProps>"],"sources":["../../../../../src/components/Form/elements/AutoSizeTextAreaElement.tsx"],"sourcesContent":["import { AutoSizedTextArea } from '@components/TextArea/AutoSizeTextArea';\nimport type { ComponentProps, FC } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype AutoSizedTextAreaElementsProps = Omit<\n FormElementProps<typeof AutoSizedTextArea>,\n 'Element'\n> &\n ComponentProps<typeof AutoSizedTextArea> & {\n name: string;\n };\n\nexport const AutoSizedTextAreaElement: FC<AutoSizedTextAreaElementsProps> = (\n props\n) => (\n <FormElement\n Element={AutoSizedTextArea}\n id={props.name}\n data-testid={props.name}\n {...props}\n />\n);\n"],"mappings":";;;;;AAYA,MAAaA,4BACX,UAEA,oBAAC;CACC,SAAS;CACT,IAAI,MAAM;CACV,eAAa,MAAM;CACnB,GAAI;EACJ"}
1
+ {"version":3,"file":"AutoSizeTextAreaElement.mjs","names":[],"sources":["../../../../../src/components/Form/elements/AutoSizeTextAreaElement.tsx"],"sourcesContent":["import { AutoSizedTextArea } from '@components/TextArea/AutoSizeTextArea';\nimport type { ComponentProps, FC } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype AutoSizedTextAreaElementsProps = Omit<\n FormElementProps<typeof AutoSizedTextArea>,\n 'Element'\n> &\n ComponentProps<typeof AutoSizedTextArea> & {\n name: string;\n };\n\nexport const AutoSizedTextAreaElement: FC<AutoSizedTextAreaElementsProps> = (\n props\n) => (\n <FormElement\n Element={AutoSizedTextArea}\n id={props.name}\n data-testid={props.name}\n {...props}\n />\n);\n"],"mappings":";;;;;AAYA,MAAa,4BACX,UAEA,oBAAC;CACC,SAAS;CACT,IAAI,MAAM;CACV,eAAa,MAAM;CACnB,GAAI;EACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxElement.mjs","names":["CheckboxComponent: FC<CheckboxComponentProps>","CheckboxElement: FC<CheckboxElementProps>"],"sources":["../../../../../src/components/Form/elements/CheckboxElement.tsx"],"sourcesContent":["import { Checkbox } from '@components/Input';\nimport type { ChangeEvent, ComponentProps, FC, ReactNode } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype CheckboxElementProps = Omit<FormElementProps<typeof Checkbox>, 'Element'> &\n ComponentProps<typeof Checkbox> & {\n name: string;\n inputLabel?: ReactNode;\n };\n\ntype CheckboxComponentProps = Omit<\n ComponentProps<typeof Checkbox>,\n 'label' | 'value' | 'onChange'\n> & {\n name: string;\n inputLabel?: ComponentProps<typeof Checkbox>['label'];\n // FormElement passes value/onChange, but checkbox needs checked\n value?: boolean;\n onChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n};\n\n/**\n * Wrapper component that converts FormElement's value/onChange pattern\n * to checkbox's checked/onChange pattern\n */\nconst CheckboxComponent: FC<CheckboxComponentProps> = ({\n inputLabel,\n value,\n onChange,\n ...props\n}) => (\n <Checkbox\n {...props}\n label={inputLabel}\n // Convert value (boolean) to checked prop\n checked={Boolean(value)}\n // Pass through onChange - it receives the event with target.checked\n onChange={onChange}\n />\n);\n\nexport const CheckboxElement: FC<CheckboxElementProps> = ({\n autoComplete,\n ...props\n}) => (\n <FormElement\n Element={CheckboxComponent}\n id={props.name}\n data-testid={props.name}\n autoComplete={autoComplete}\n {...props}\n />\n);\n"],"mappings":";;;;;;;;;AAyBA,MAAMA,qBAAiD,EACrD,YACA,OACA,UACA,GAAG,YAEH,oBAAC;CACC,GAAI;CACJ,OAAO;CAEP,SAAS,QAAQ,MAAM;CAEb;EACV;AAGJ,MAAaC,mBAA6C,EACxD,cACA,GAAG,YAEH,oBAAC;CACC,SAAS;CACT,IAAI,MAAM;CACV,eAAa,MAAM;CACL;CACd,GAAI;EACJ"}
1
+ {"version":3,"file":"CheckboxElement.mjs","names":[],"sources":["../../../../../src/components/Form/elements/CheckboxElement.tsx"],"sourcesContent":["import { Checkbox } from '@components/Input';\nimport type { ChangeEvent, ComponentProps, FC, ReactNode } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype CheckboxElementProps = Omit<FormElementProps<typeof Checkbox>, 'Element'> &\n ComponentProps<typeof Checkbox> & {\n name: string;\n inputLabel?: ReactNode;\n };\n\ntype CheckboxComponentProps = Omit<\n ComponentProps<typeof Checkbox>,\n 'label' | 'value' | 'onChange'\n> & {\n name: string;\n inputLabel?: ComponentProps<typeof Checkbox>['label'];\n // FormElement passes value/onChange, but checkbox needs checked\n value?: boolean;\n onChange?: (event: ChangeEvent<HTMLInputElement>) => void;\n};\n\n/**\n * Wrapper component that converts FormElement's value/onChange pattern\n * to checkbox's checked/onChange pattern\n */\nconst CheckboxComponent: FC<CheckboxComponentProps> = ({\n inputLabel,\n value,\n onChange,\n ...props\n}) => (\n <Checkbox\n {...props}\n label={inputLabel}\n // Convert value (boolean) to checked prop\n checked={Boolean(value)}\n // Pass through onChange - it receives the event with target.checked\n onChange={onChange}\n />\n);\n\nexport const CheckboxElement: FC<CheckboxElementProps> = ({\n autoComplete,\n ...props\n}) => (\n <FormElement\n Element={CheckboxComponent}\n id={props.name}\n data-testid={props.name}\n autoComplete={autoComplete}\n {...props}\n />\n);\n"],"mappings":";;;;;;;;;AAyBA,MAAM,qBAAiD,EACrD,YACA,OACA,UACA,GAAG,YAEH,oBAAC;CACC,GAAI;CACJ,OAAO;CAEP,SAAS,QAAQ,MAAM;CAEb;EACV;AAGJ,MAAa,mBAA6C,EACxD,cACA,GAAG,YAEH,oBAAC;CACC,SAAS;CACT,IAAI,MAAM;CACV,eAAa,MAAM;CACL;CACd,GAAI;EACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormElementWrapper.mjs","names":["FormElementWrapper: FC<FormElementWrapperProps>"],"sources":["../../../../../src/components/Form/elements/FormElementWrapper.tsx"],"sourcesContent":["'use client';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport type { FC, FormEvent, HTMLProps } from 'react';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport { z } from 'zod/v4';\n\nconst Schema = z.object({\n test: z.string().min(3, 'test error'),\n});\n\ntype FormElementWrapperProps = HTMLProps<HTMLFormElement> & {\n schema?: z.ZodObject;\n values?: z.infer<z.ZodObject>;\n};\n\nexport const FormElementWrapper: FC<FormElementWrapperProps> = (props) => {\n const objectFormSchema = props.schema ?? Schema;\n\n const form = useForm<z.infer<typeof objectFormSchema>>({\n resolver: zodResolver(objectFormSchema as any),\n values: props.values,\n });\n\n const { children, onSubmit, ...rest } = props;\n\n const onSubmitForm = (\n values: z.infer<typeof objectFormSchema>,\n event: FormEvent<HTMLFormElement>\n ) => {\n const parsedValues = objectFormSchema.safeParse(values);\n if (parsedValues.success) {\n onSubmit?.(event);\n }\n };\n\n return (\n <FormProvider {...form}>\n <form\n {...rest}\n onSubmit={(e) => {\n e.preventDefault();\n form.handleSubmit((values) => onSubmitForm(values, e));\n }}\n >\n {children}\n </form>\n </FormProvider>\n );\n};\n"],"mappings":";;;;;;;;AAOA,MAAM,SAAS,EAAE,OAAO,EACtB,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,aAAa,EACtC,CAAC;AAOF,MAAaA,sBAAmD,UAAU;CACxE,MAAM,mBAAmB,MAAM,UAAU;CAEzC,MAAM,OAAO,QAA0C;EACrD,UAAU,YAAY,iBAAwB;EAC9C,QAAQ,MAAM;EACf,CAAC;CAEF,MAAM,EAAE,UAAU,UAAU,GAAG,SAAS;CAExC,MAAM,gBACJ,QACA,UACG;AAEH,MADqB,iBAAiB,UAAU,OAAO,CACtC,QACf,YAAW,MAAM;;AAIrB,QACE,oBAAC;EAAa,GAAI;YAChB,oBAAC;GACC,GAAI;GACJ,WAAW,MAAM;AACf,MAAE,gBAAgB;AAClB,SAAK,cAAc,WAAW,aAAa,QAAQ,EAAE,CAAC;;GAGvD;IACI;GACM"}
1
+ {"version":3,"file":"FormElementWrapper.mjs","names":[],"sources":["../../../../../src/components/Form/elements/FormElementWrapper.tsx"],"sourcesContent":["'use client';\n\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport type { FC, FormEvent, HTMLProps } from 'react';\nimport { FormProvider, useForm } from 'react-hook-form';\nimport { z } from 'zod/v4';\n\nconst Schema = z.object({\n test: z.string().min(3, 'test error'),\n});\n\ntype FormElementWrapperProps = HTMLProps<HTMLFormElement> & {\n schema?: z.ZodObject;\n values?: z.infer<z.ZodObject>;\n};\n\nexport const FormElementWrapper: FC<FormElementWrapperProps> = (props) => {\n const objectFormSchema = props.schema ?? Schema;\n\n const form = useForm<z.infer<typeof objectFormSchema>>({\n resolver: zodResolver(objectFormSchema as any),\n values: props.values,\n });\n\n const { children, onSubmit, ...rest } = props;\n\n const onSubmitForm = (\n values: z.infer<typeof objectFormSchema>,\n event: FormEvent<HTMLFormElement>\n ) => {\n const parsedValues = objectFormSchema.safeParse(values);\n if (parsedValues.success) {\n onSubmit?.(event);\n }\n };\n\n return (\n <FormProvider {...form}>\n <form\n {...rest}\n onSubmit={(e) => {\n e.preventDefault();\n form.handleSubmit((values) => onSubmitForm(values, e));\n }}\n >\n {children}\n </form>\n </FormProvider>\n );\n};\n"],"mappings":";;;;;;;;AAOA,MAAM,SAAS,EAAE,OAAO,EACtB,MAAM,EAAE,QAAQ,CAAC,IAAI,GAAG,aAAa,EACtC,CAAC;AAOF,MAAa,sBAAmD,UAAU;CACxE,MAAM,mBAAmB,MAAM,UAAU;CAEzC,MAAM,OAAO,QAA0C;EACrD,UAAU,YAAY,iBAAwB;EAC9C,QAAQ,MAAM;EACf,CAAC;CAEF,MAAM,EAAE,UAAU,UAAU,GAAG,SAAS;CAExC,MAAM,gBACJ,QACA,UACG;AAEH,MADqB,iBAAiB,UAAU,OAAO,CACtC,QACf,YAAW,MAAM;;AAIrB,QACE,oBAAC;EAAa,GAAI;YAChB,oBAAC;GACC,GAAI;GACJ,WAAW,MAAM;AACf,MAAE,gBAAgB;AAClB,SAAK,cAAc,WAAW,aAAa,QAAQ,EAAE,CAAC;;GAGvD;IACI;GACM"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputElement.mjs","names":["InputElement: FC<InputElementProps>"],"sources":["../../../../../src/components/Form/elements/InputElement.tsx"],"sourcesContent":["import { Input } from '@components/Input';\nimport type { ComponentProps, FC } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype InputElementProps = Omit<FormElementProps<typeof Input>, 'Element'> &\n Omit<\n ComponentProps<typeof Input> & {\n name: string;\n },\n 'aria-label' | 'aria-labelledby'\n >;\n\nexport const InputElement: FC<InputElementProps> = (props) => (\n <FormElement\n id={props.name}\n data-testid={props.name}\n Element={Input}\n aria-labelledby={props.label ? `${props.name}-label` : undefined}\n aria-label={props.label ? undefined : props.name}\n {...props}\n />\n);\n"],"mappings":";;;;;AAYA,MAAaA,gBAAuC,UAClD,oBAAC;CACC,IAAI,MAAM;CACV,eAAa,MAAM;CACnB,SAAS;CACT,mBAAiB,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU;CACvD,cAAY,MAAM,QAAQ,SAAY,MAAM;CAC5C,GAAI;EACJ"}
1
+ {"version":3,"file":"InputElement.mjs","names":[],"sources":["../../../../../src/components/Form/elements/InputElement.tsx"],"sourcesContent":["import { Input } from '@components/Input';\nimport type { ComponentProps, FC } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype InputElementProps = Omit<FormElementProps<typeof Input>, 'Element'> &\n Omit<\n ComponentProps<typeof Input> & {\n name: string;\n },\n 'aria-label' | 'aria-labelledby'\n >;\n\nexport const InputElement: FC<InputElementProps> = (props) => (\n <FormElement\n id={props.name}\n data-testid={props.name}\n Element={Input}\n aria-labelledby={props.label ? `${props.name}-label` : undefined}\n aria-label={props.label ? undefined : props.name}\n {...props}\n />\n);\n"],"mappings":";;;;;AAYA,MAAa,gBAAuC,UAClD,oBAAC;CACC,IAAI,MAAM;CACV,eAAa,MAAM;CACnB,SAAS;CACT,mBAAiB,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU;CACvD,cAAY,MAAM,QAAQ,SAAY,MAAM;CAC5C,GAAI;EACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputPasswordElement.mjs","names":["InputPasswordElement: FC<InputPasswordElementProps>"],"sources":["../../../../../src/components/Form/elements/InputPasswordElement.tsx"],"sourcesContent":["import { InputPassword } from '@components/Input/InputPassword';\nimport type { ComponentProps, FC } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype InputPasswordElementProps = Omit<\n FormElementProps<typeof InputPassword>,\n 'Element'\n> &\n Omit<\n ComponentProps<typeof InputPassword> & {\n name: string;\n autoComplete: 'current-password' | 'new-password';\n },\n 'aria-label' | 'aria-labelledby'\n >;\n\nexport const InputPasswordElement: FC<InputPasswordElementProps> = ({\n autoComplete,\n ...props\n}) => (\n <FormElement\n Element={InputPassword}\n id={props.name}\n data-testid={props.name}\n aria-labelledby={props.label ? `${props.name}-label` : undefined}\n aria-label={props.label ? undefined : props.name}\n autoComplete={autoComplete}\n minLength={6}\n maxLength={255}\n {...props}\n />\n);\n"],"mappings":";;;;;AAgBA,MAAaA,wBAAuD,EAClE,cACA,GAAG,YAEH,oBAAC;CACC,SAAS;CACT,IAAI,MAAM;CACV,eAAa,MAAM;CACnB,mBAAiB,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU;CACvD,cAAY,MAAM,QAAQ,SAAY,MAAM;CAC9B;CACd,WAAW;CACX,WAAW;CACX,GAAI;EACJ"}
1
+ {"version":3,"file":"InputPasswordElement.mjs","names":[],"sources":["../../../../../src/components/Form/elements/InputPasswordElement.tsx"],"sourcesContent":["import { InputPassword } from '@components/Input/InputPassword';\nimport type { ComponentProps, FC } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype InputPasswordElementProps = Omit<\n FormElementProps<typeof InputPassword>,\n 'Element'\n> &\n Omit<\n ComponentProps<typeof InputPassword> & {\n name: string;\n autoComplete: 'current-password' | 'new-password';\n },\n 'aria-label' | 'aria-labelledby'\n >;\n\nexport const InputPasswordElement: FC<InputPasswordElementProps> = ({\n autoComplete,\n ...props\n}) => (\n <FormElement\n Element={InputPassword}\n id={props.name}\n data-testid={props.name}\n aria-labelledby={props.label ? `${props.name}-label` : undefined}\n aria-label={props.label ? undefined : props.name}\n autoComplete={autoComplete}\n minLength={6}\n maxLength={255}\n {...props}\n />\n);\n"],"mappings":";;;;;AAgBA,MAAa,wBAAuD,EAClE,cACA,GAAG,YAEH,oBAAC;CACC,SAAS;CACT,IAAI,MAAM;CACV,eAAa,MAAM;CACnB,mBAAiB,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU;CACvD,cAAY,MAAM,QAAQ,SAAY,MAAM;CAC9B;CACd,WAAW;CACX,WAAW;CACX,GAAI;EACJ"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
- import { useItemSelector } from "../../../hooks/useItemSelector.mjs";
4
3
  import { InputIndicator, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from "../../Input/OTPInput.mjs";
4
+ import { useItemSelector } from "../../../hooks/useItemSelector.mjs";
5
5
  import { useFormField } from "../FormField.mjs";
6
6
  import { FormItemLayout } from "../layout/FormItemLayout.mjs";
7
7
  import { Form } from "../Form.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInputElement.mjs","names":["SearchInputElement: FC<SearchInputElementProps>"],"sources":["../../../../../src/components/Form/elements/SearchInputElement.tsx"],"sourcesContent":["import { SearchInput } from '@components/Input';\nimport type { ComponentProps, FC } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype SearchInputElementProps = Omit<\n FormElementProps<typeof SearchInput>,\n 'Element'\n> &\n Omit<\n ComponentProps<typeof SearchInput> & {\n name: string;\n },\n 'aria-label' | 'aria-labelledby'\n >;\n\nexport const SearchInputElement: FC<SearchInputElementProps> = (props) => (\n <FormElement\n id={props.name}\n data-testid={props.name}\n Element={SearchInput}\n aria-labelledby={props.label ? `${props.name}-label` : undefined}\n aria-label={props.label ? undefined : props.name}\n {...props}\n />\n);\n"],"mappings":";;;;;AAeA,MAAaA,sBAAmD,UAC9D,oBAAC;CACC,IAAI,MAAM;CACV,eAAa,MAAM;CACnB,SAAS;CACT,mBAAiB,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU;CACvD,cAAY,MAAM,QAAQ,SAAY,MAAM;CAC5C,GAAI;EACJ"}
1
+ {"version":3,"file":"SearchInputElement.mjs","names":[],"sources":["../../../../../src/components/Form/elements/SearchInputElement.tsx"],"sourcesContent":["import { SearchInput } from '@components/Input';\nimport type { ComponentProps, FC } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype SearchInputElementProps = Omit<\n FormElementProps<typeof SearchInput>,\n 'Element'\n> &\n Omit<\n ComponentProps<typeof SearchInput> & {\n name: string;\n },\n 'aria-label' | 'aria-labelledby'\n >;\n\nexport const SearchInputElement: FC<SearchInputElementProps> = (props) => (\n <FormElement\n id={props.name}\n data-testid={props.name}\n Element={SearchInput}\n aria-labelledby={props.label ? `${props.name}-label` : undefined}\n aria-label={props.label ? undefined : props.name}\n {...props}\n />\n);\n"],"mappings":";;;;;AAeA,MAAa,sBAAmD,UAC9D,oBAAC;CACC,IAAI,MAAM;CACV,eAAa,MAAM;CACnB,SAAS;CACT,mBAAiB,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU;CACvD,cAAY,MAAM,QAAQ,SAAY,MAAM;CAC5C,GAAI;EACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextAreaElement.mjs","names":["TextAreaElement: FC<TextAreaElementsProps>"],"sources":["../../../../../src/components/Form/elements/TextAreaElement.tsx"],"sourcesContent":["import { TextArea } from '@components/TextArea/TextArea';\nimport type { ComponentProps, FC } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype TextAreaElementsProps = Omit<\n FormElementProps<typeof TextArea>,\n 'Element'\n> &\n Omit<\n ComponentProps<typeof TextArea> & {\n name: string;\n },\n 'aria-label' | 'aria-labelledby'\n >;\n\nexport const TextAreaElement: FC<TextAreaElementsProps> = (props) => (\n <FormElement\n Element={TextArea}\n id={props.name}\n aria-labelledby={props.label ? `${props.name}-label` : undefined}\n aria-label={props.label ? undefined : props.name}\n data-testid={props.name}\n {...props}\n />\n);\n"],"mappings":";;;;;AAeA,MAAaA,mBAA8C,UACzD,oBAAC;CACC,SAAS;CACT,IAAI,MAAM;CACV,mBAAiB,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU;CACvD,cAAY,MAAM,QAAQ,SAAY,MAAM;CAC5C,eAAa,MAAM;CACnB,GAAI;EACJ"}
1
+ {"version":3,"file":"TextAreaElement.mjs","names":[],"sources":["../../../../../src/components/Form/elements/TextAreaElement.tsx"],"sourcesContent":["import { TextArea } from '@components/TextArea/TextArea';\nimport type { ComponentProps, FC } from 'react';\nimport { FormElement, type FormElementProps } from './FormElement';\n\ntype TextAreaElementsProps = Omit<\n FormElementProps<typeof TextArea>,\n 'Element'\n> &\n Omit<\n ComponentProps<typeof TextArea> & {\n name: string;\n },\n 'aria-label' | 'aria-labelledby'\n >;\n\nexport const TextAreaElement: FC<TextAreaElementsProps> = (props) => (\n <FormElement\n Element={TextArea}\n id={props.name}\n aria-labelledby={props.label ? `${props.name}-label` : undefined}\n aria-label={props.label ? undefined : props.name}\n data-testid={props.name}\n {...props}\n />\n);\n"],"mappings":";;;;;AAeA,MAAa,mBAA8C,UACzD,oBAAC;CACC,SAAS;CACT,IAAI,MAAM;CACV,mBAAiB,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU;CACvD,cAAY,MAAM,QAAQ,SAAY,MAAM;CAC5C,eAAa,MAAM;CACnB,GAAI;EACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormItemLayout.mjs","names":["FormItemLayout: FC<FormItemLayoutProps>"],"sources":["../../../../../src/components/Form/layout/FormItemLayout.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\nimport { Form } from '../Form';\nimport { FormLabelLayout, type FormLabelLayoutProps } from './FormLabelLayout';\n\nexport type FormItemLayoutProps = Omit<FormLabelLayoutProps, 'children'> & {\n label?: ReactNode;\n description?: ReactNode;\n children: ReactNode;\n showErrorMessage?: boolean;\n};\n\nexport const FormItemLayout: FC<FormItemLayoutProps> = ({\n label,\n description,\n isRequired,\n info,\n children,\n showErrorMessage = true,\n htmlFor,\n}) => (\n <Form.Item className=\"flex w-full flex-col flex-wrap gap-2 px-1 py-2\">\n {(description || label) && (\n <div className=\"flex flex-col gap-1 p-1 leading-none\">\n {label && (\n <FormLabelLayout\n isRequired={isRequired}\n info={info}\n htmlFor={htmlFor}\n >\n {label}\n </FormLabelLayout>\n )}\n {description && <Form.Description>{description}</Form.Description>}\n </div>\n )}\n <Form.Control>{children}</Form.Control>\n\n {showErrorMessage && <Form.Message data-testid=\"error-message\" />}\n </Form.Item>\n);\n"],"mappings":";;;;;AAWA,MAAaA,kBAA2C,EACtD,OACA,aACA,YACA,MACA,UACA,mBAAmB,MACnB,cAEA,qBAAC,KAAK;CAAK,WAAU;;GACjB,eAAe,UACf,qBAAC;GAAI,WAAU;cACZ,SACC,oBAAC;IACa;IACN;IACG;cAER;KACe,EAEnB,eAAe,oBAAC,KAAK,yBAAa,cAA+B;IAC9D;EAER,oBAAC,KAAK,WAAS,WAAwB;EAEtC,oBAAoB,oBAAC,KAAK,WAAQ,eAAY,kBAAkB;;EACvD"}
1
+ {"version":3,"file":"FormItemLayout.mjs","names":[],"sources":["../../../../../src/components/Form/layout/FormItemLayout.tsx"],"sourcesContent":["import type { FC, ReactNode } from 'react';\nimport { Form } from '../Form';\nimport { FormLabelLayout, type FormLabelLayoutProps } from './FormLabelLayout';\n\nexport type FormItemLayoutProps = Omit<FormLabelLayoutProps, 'children'> & {\n label?: ReactNode;\n description?: ReactNode;\n children: ReactNode;\n showErrorMessage?: boolean;\n};\n\nexport const FormItemLayout: FC<FormItemLayoutProps> = ({\n label,\n description,\n isRequired,\n info,\n children,\n showErrorMessage = true,\n htmlFor,\n}) => (\n <Form.Item className=\"flex w-full flex-col flex-wrap gap-2 px-1 py-2\">\n {(description || label) && (\n <div className=\"flex flex-col gap-1 p-1 leading-none\">\n {label && (\n <FormLabelLayout\n isRequired={isRequired}\n info={info}\n htmlFor={htmlFor}\n >\n {label}\n </FormLabelLayout>\n )}\n {description && <Form.Description>{description}</Form.Description>}\n </div>\n )}\n <Form.Control>{children}</Form.Control>\n\n {showErrorMessage && <Form.Message data-testid=\"error-message\" />}\n </Form.Item>\n);\n"],"mappings":";;;;;AAWA,MAAa,kBAA2C,EACtD,OACA,aACA,YACA,MACA,UACA,mBAAmB,MACnB,cAEA,qBAAC,KAAK;CAAK,WAAU;;GACjB,eAAe,UACf,qBAAC;GAAI,WAAU;cACZ,SACC,oBAAC;IACa;IACN;IACG;cAER;KACe,EAEnB,eAAe,oBAAC,KAAK,yBAAa,cAA+B;IAC9D;EAER,oBAAC,KAAK,WAAS,WAAwB;EAEtC,oBAAoB,oBAAC,KAAK,WAAQ,eAAY,kBAAkB;;EACvD"}
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabelLayout.mjs","names":["FormLabelLayout: FC<FormLabelLayoutProps>"],"sources":["../../../../../src/components/Form/layout/FormLabelLayout.tsx"],"sourcesContent":["import { InformationTag } from '@components/InformationTag';\nimport { clsx } from 'clsx';\nimport type { FC, ReactNode } from 'react';\nimport { FormLabel } from '../FormLabel';\nimport { RequiredStar } from './RequiredStar';\n\nexport type FormLabelLayoutProps = {\n children?: ReactNode;\n isRequired?: boolean;\n info?: string;\n htmlFor?: string;\n className?: string;\n};\n\nexport const FormLabelLayout: FC<FormLabelLayoutProps> = ({\n children,\n isRequired,\n info,\n htmlFor,\n className,\n}) => (\n <div className=\"ml-1 flex gap-1 align-middle text-base leading-none\">\n {children && (\n <FormLabel\n htmlFor={htmlFor}\n id={`${htmlFor}-label`}\n suppressHydrationWarning\n className={clsx('font-bold', className)}\n >\n {children}\n <RequiredStar isRequired={isRequired} />\n </FormLabel>\n )}\n {info && <InformationTag content={info} />}\n </div>\n);\n"],"mappings":";;;;;;;AAcA,MAAaA,mBAA6C,EACxD,UACA,YACA,MACA,SACA,gBAEA,qBAAC;CAAI,WAAU;YACZ,YACC,qBAAC;EACU;EACT,IAAI,GAAG,QAAQ;EACf;EACA,WAAW,KAAK,aAAa,UAAU;aAEtC,UACD,oBAAC,gBAAyB,aAAc;GAC9B,EAEb,QAAQ,oBAAC,kBAAe,SAAS,OAAQ;EACtC"}
1
+ {"version":3,"file":"FormLabelLayout.mjs","names":[],"sources":["../../../../../src/components/Form/layout/FormLabelLayout.tsx"],"sourcesContent":["import { InformationTag } from '@components/InformationTag';\nimport { clsx } from 'clsx';\nimport type { FC, ReactNode } from 'react';\nimport { FormLabel } from '../FormLabel';\nimport { RequiredStar } from './RequiredStar';\n\nexport type FormLabelLayoutProps = {\n children?: ReactNode;\n isRequired?: boolean;\n info?: string;\n htmlFor?: string;\n className?: string;\n};\n\nexport const FormLabelLayout: FC<FormLabelLayoutProps> = ({\n children,\n isRequired,\n info,\n htmlFor,\n className,\n}) => (\n <div className=\"ml-1 flex gap-1 align-middle text-base leading-none\">\n {children && (\n <FormLabel\n htmlFor={htmlFor}\n id={`${htmlFor}-label`}\n suppressHydrationWarning\n className={clsx('font-bold', className)}\n >\n {children}\n <RequiredStar isRequired={isRequired} />\n </FormLabel>\n )}\n {info && <InformationTag content={info} />}\n </div>\n);\n"],"mappings":";;;;;;;AAcA,MAAa,mBAA6C,EACxD,UACA,YACA,MACA,SACA,gBAEA,qBAAC;CAAI,WAAU;YACZ,YACC,qBAAC;EACU;EACT,IAAI,GAAG,QAAQ;EACf;EACA,WAAW,KAAK,aAAa,UAAU;aAEtC,UACD,oBAAC,gBAAyB,aAAc;GAC9B,EAEb,QAAQ,oBAAC,kBAAe,SAAS,OAAQ;EACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RequiredStar.mjs","names":["RequiredStar: FC<RequiredStarProps>"],"sources":["../../../../../src/components/Form/layout/RequiredStar.tsx"],"sourcesContent":["import type { FC } from 'react';\n\ntype RequiredStarProps = {\n isRequired?: boolean;\n};\n\nexport const RequiredStar: FC<RequiredStarProps> = ({ isRequired }) =>\n isRequired ? (\n <span aria-label=\"Asterisk meaning the field is required\">*</span>\n ) : (\n <></>\n );\n"],"mappings":";;;AAMA,MAAaA,gBAAuC,EAAE,iBACpD,aACE,oBAAC;CAAK,cAAW;WAAyC;EAAQ,GAElE,iCAAK"}
1
+ {"version":3,"file":"RequiredStar.mjs","names":[],"sources":["../../../../../src/components/Form/layout/RequiredStar.tsx"],"sourcesContent":["import type { FC } from 'react';\n\ntype RequiredStarProps = {\n isRequired?: boolean;\n};\n\nexport const RequiredStar: FC<RequiredStarProps> = ({ isRequired }) =>\n isRequired ? (\n <span aria-label=\"Asterisk meaning the field is required\">*</span>\n ) : (\n <></>\n );\n"],"mappings":";;;AAMA,MAAa,gBAAuC,EAAE,iBACpD,aACE,oBAAC;CAAK,cAAW;WAAyC;EAAQ,GAElE,iCAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["StyledH1: FC<HTMLAttributes<HTMLHeadingElement>>","StyledH2: FC<HTMLAttributes<HTMLHeadingElement>>","StyledH3: FC<HTMLAttributes<HTMLHeadingElement>>","StyledH4: FC<HTMLAttributes<HTMLHeadingElement>>","StyledH5: FC<HTMLAttributes<HTMLHeadingElement>>","StyledH6: FC<HTMLAttributes<HTMLHeadingElement>>","HeadingWrapper: HeadingType","id","H1: FC<HeadingProps>","H2: FC<HeadingProps>","H3: FC<HeadingProps>","H4: FC<HeadingProps>","H5: FC<HeadingProps>","H6: FC<HeadingProps>"],"sources":["../../../../src/components/Headers/index.tsx"],"sourcesContent":["import { cn } from '@utils/cn';\nimport type { FC, HTMLAttributes, JSX, MouseEvent } from 'react';\n\nconst styledHeading = `relative scroll-mb-8 scroll-mt-[30vh] scroll-p-8`;\nconst styledAfter = `after:content-['#'] after:scale-75 after:px-6 after:text-neutral after:absolute after:top-0 after:h-full after:-left-12 after:absolute after:to-neutral after:md:opacity-0 after:transition-opacity hover:after:opacity-80 after:duration-200 after:delay-100`;\n\n/**\n * Styled H1 Component\n *\n * Primary heading component for page titles and main content headers.\n * Does not include clickable anchor functionality.\n */\nconst StyledH1: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => <h1 className={cn('font-bold text-2xl', className)} {...props} />;\n\n/**\n * Styled H2 Component\n *\n * Secondary heading component with anchor link functionality when wrapped.\n * Used for major section headers in content.\n */\nconst StyledH2: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h2\n className={cn('mb-2 font-bold text-2xl', styledHeading, className)}\n {...props}\n />\n);\n\n/**\n * Styled H3 Component\n *\n * Tertiary heading component with anchor link functionality when wrapped.\n * Used for subsection headers in content.\n */\nconst StyledH3: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h3\n className={cn('mb-2 font-bold text-xl', styledHeading, className)}\n {...props}\n />\n);\n\n/**\n * Styled H4 Component\n *\n * Quaternary heading component with anchor link functionality when wrapped.\n * Used for minor section headers in content.\n */\nconst StyledH4: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h4\n className={cn('font-bold text-lg', styledHeading, className)}\n {...props}\n />\n);\n\n/**\n * Styled H5 Component\n *\n * Fifth-level heading component with anchor link functionality when wrapped.\n * Used for detailed subsection headers in content.\n */\nconst StyledH5: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h5\n className={cn('font-bold text-base', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH6: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h6\n className={cn('ml-3 font-bold text-base', styledHeading, className)}\n {...props}\n />\n);\n\n/**\n * Props for heading components\n */\nexport type HeadingProps = HTMLAttributes<HTMLHeadingElement> & {\n /**\n * Whether the heading should be clickable with anchor link functionality.\n * Enables copy-to-clipboard URL behavior and smooth scrolling.\n * @default false (for H1), true (for H2-H5)\n */\n isClickable?: boolean;\n};\n\n/**\n * Internal props for the HeadingWrapper component\n */\ninterface HeadingGlobalProps extends HeadingProps {\n /** The styled heading component to render */\n H: FC<HTMLAttributes<HTMLHeadingElement>>;\n}\n\ntype HeadingType = (props: HeadingGlobalProps) => JSX.Element;\n\n/**\n * Utility function to generate URL-friendly ID from heading text\n * @param children - The heading text content\n * @returns URL-friendly string for use as element ID\n */\nconst getId = (children: string) =>\n String(children)\n // replace accents\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n // replace spaces\n .replace(/\\s+/g, '-')\n .toLowerCase();\n\n/**\n * Utility function to smoothly scroll to an element by ID\n * @param id - The element ID to scroll to\n */\nconst scrollToHash = (id: string) => {\n const element = document.getElementById(id);\n const offset = 150;\n const y =\n (element?.getBoundingClientRect()?.top ?? 0) + window.scrollY - offset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n};\n\n/**\n * Utility function to detect if the pseudo-element (#) after the heading was clicked\n * @param parentElem - The heading element\n * @param e - Mouse event\n * @returns Whether the after pseudo-element was clicked\n */\nconst afterClick = (parentElem: Element, e: MouseEvent<HTMLHeadingElement>) => {\n const parentLeft = parentElem.getBoundingClientRect().left;\n const parentTop = parentElem.getBoundingClientRect().top;\n\n const after = window.getComputedStyle(parentElem, ':after');\n\n const afterStart = parentLeft + parseInt(after.getPropertyValue('left'), 10);\n const afterEnd = afterStart + parseInt(after.width, 10);\n\n const afterYStart = parentTop + parseInt(after.getPropertyValue('top'), 10);\n const afterYEnd = afterYStart + parseInt(after.height, 10);\n\n const mouseX = e.clientX;\n const mouseY = e.clientY;\n\n const isAfterClicked: boolean =\n mouseX >= afterStart &&\n mouseX <= afterEnd &&\n mouseY >= afterYStart &&\n mouseY <= afterYEnd;\n\n return isAfterClicked;\n};\n\n/**\n * HeadingWrapper Component\n *\n * Internal wrapper component that adds anchor link functionality to headings.\n * Handles ID generation, click-to-copy URL behavior, and smooth scrolling.\n *\n * @component\n * @accessibility\n * - Generates URL-friendly IDs for deep linking\n * - Provides accessible labels for anchor link functionality\n * - Maintains proper heading hierarchy and semantics\n * - Supports keyboard navigation and screen readers\n */\nconst HeadingWrapper: HeadingType = ({\n H,\n children,\n className,\n isClickable,\n ...props\n}) => {\n const id = typeof children === 'string' ? getId(children) : undefined;\n\n const onClick = (e: MouseEvent<HTMLHeadingElement>) => {\n const { id } = e.currentTarget;\n\n const isAfterClicker = afterClick(e.currentTarget, e);\n\n if (isAfterClicker && typeof id === 'string') {\n const urlWithoutHash = window.location.href.split('#')[0];\n const url = `${urlWithoutHash}#${id}`;\n\n // copy the url to the clipboard\n navigator.clipboard.writeText(url);\n\n scrollToHash(id);\n }\n };\n\n return (\n <H\n id={id}\n onClick={isClickable ? onClick : undefined}\n aria-label={\n isClickable\n ? `Click to scroll to section ${id} and copy the link to the clipboard`\n : undefined\n }\n className={cn(isClickable && styledAfter, className)}\n {...props}\n >\n {children}\n </H>\n );\n};\n\n/**\n * H1 Component\n *\n * Primary page heading component. Does not include clickable anchor functionality\n * as it's typically used for main page titles rather than content sections.\n *\n * @example\n * ```tsx\n * <H1>Welcome to Our Website</H1>\n * <H1 className=\"text-blue-600\">Custom Styled Title</H1>\n * ```\n */\nexport const H1: FC<HeadingProps> = ({ isClickable: _, ...props }) => (\n <StyledH1 {...props} />\n);\n\n/**\n * H2 Component\n *\n * Secondary heading component with optional anchor link functionality.\n * Perfect for major section headers with deep-linking capabilities.\n *\n * @example\n * ```tsx\n * <H2>Getting Started</H2>\n * <H2 isClickable>API Reference</H2>\n * ```\n */\nexport const H2: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH2} isClickable={isClickable} {...props} />\n);\n\n/**\n * H3 Component\n *\n * Tertiary heading component with optional anchor link functionality.\n * Used for subsection headers within major sections.\n *\n * @example\n * ```tsx\n * <H3>Configuration Options</H3>\n * <H3 isClickable>Advanced Settings</H3>\n * ```\n */\nexport const H3: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH3} isClickable={isClickable} {...props} />\n);\n\n/**\n * H4 Component\n *\n * Fourth-level heading component with optional anchor link functionality.\n * Used for detailed section organization.\n *\n * @example\n * ```tsx\n * <H4>Implementation Details</H4>\n * <H4 isClickable>Code Examples</H4>\n * ```\n */\nexport const H4: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH4} isClickable={isClickable} {...props} />\n);\n\n/**\n * H5 Component\n *\n * Fifth-level heading component with optional anchor link functionality.\n * Used for fine-grained content organization.\n *\n * @example\n * ```tsx\n * <H5>Technical Notes</H5>\n * <H5 isClickable>Best Practices</H5>\n * ```\n */\nexport const H5: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH5} isClickable={isClickable} {...props} />\n);\n\nexport const H6: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH6} isClickable={isClickable} {...props} />\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["id"],"sources":["../../../../src/components/Headers/index.tsx"],"sourcesContent":["import { cn } from '@utils/cn';\nimport type { FC, HTMLAttributes, JSX, MouseEvent } from 'react';\n\nconst styledHeading = `relative scroll-mb-8 scroll-mt-[30vh] scroll-p-8`;\nconst styledAfter = `after:content-['#'] after:scale-75 after:px-6 after:text-neutral after:absolute after:top-0 after:h-full after:-left-12 after:absolute after:to-neutral after:md:opacity-0 after:transition-opacity hover:after:opacity-80 after:duration-200 after:delay-100`;\n\n/**\n * Styled H1 Component\n *\n * Primary heading component for page titles and main content headers.\n * Does not include clickable anchor functionality.\n */\nconst StyledH1: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => <h1 className={cn('font-bold text-2xl', className)} {...props} />;\n\n/**\n * Styled H2 Component\n *\n * Secondary heading component with anchor link functionality when wrapped.\n * Used for major section headers in content.\n */\nconst StyledH2: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h2\n className={cn('mb-2 font-bold text-2xl', styledHeading, className)}\n {...props}\n />\n);\n\n/**\n * Styled H3 Component\n *\n * Tertiary heading component with anchor link functionality when wrapped.\n * Used for subsection headers in content.\n */\nconst StyledH3: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h3\n className={cn('mb-2 font-bold text-xl', styledHeading, className)}\n {...props}\n />\n);\n\n/**\n * Styled H4 Component\n *\n * Quaternary heading component with anchor link functionality when wrapped.\n * Used for minor section headers in content.\n */\nconst StyledH4: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h4\n className={cn('font-bold text-lg', styledHeading, className)}\n {...props}\n />\n);\n\n/**\n * Styled H5 Component\n *\n * Fifth-level heading component with anchor link functionality when wrapped.\n * Used for detailed subsection headers in content.\n */\nconst StyledH5: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h5\n className={cn('font-bold text-base', styledHeading, className)}\n {...props}\n />\n);\n\nconst StyledH6: FC<HTMLAttributes<HTMLHeadingElement>> = ({\n className,\n ...props\n}) => (\n <h6\n className={cn('ml-3 font-bold text-base', styledHeading, className)}\n {...props}\n />\n);\n\n/**\n * Props for heading components\n */\nexport type HeadingProps = HTMLAttributes<HTMLHeadingElement> & {\n /**\n * Whether the heading should be clickable with anchor link functionality.\n * Enables copy-to-clipboard URL behavior and smooth scrolling.\n * @default false (for H1), true (for H2-H5)\n */\n isClickable?: boolean;\n};\n\n/**\n * Internal props for the HeadingWrapper component\n */\ninterface HeadingGlobalProps extends HeadingProps {\n /** The styled heading component to render */\n H: FC<HTMLAttributes<HTMLHeadingElement>>;\n}\n\ntype HeadingType = (props: HeadingGlobalProps) => JSX.Element;\n\n/**\n * Utility function to generate URL-friendly ID from heading text\n * @param children - The heading text content\n * @returns URL-friendly string for use as element ID\n */\nconst getId = (children: string) =>\n String(children)\n // replace accents\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '')\n // replace spaces\n .replace(/\\s+/g, '-')\n .toLowerCase();\n\n/**\n * Utility function to smoothly scroll to an element by ID\n * @param id - The element ID to scroll to\n */\nconst scrollToHash = (id: string) => {\n const element = document.getElementById(id);\n const offset = 150;\n const y =\n (element?.getBoundingClientRect()?.top ?? 0) + window.scrollY - offset;\n\n window.scrollTo({ top: y, behavior: 'smooth' });\n};\n\n/**\n * Utility function to detect if the pseudo-element (#) after the heading was clicked\n * @param parentElem - The heading element\n * @param e - Mouse event\n * @returns Whether the after pseudo-element was clicked\n */\nconst afterClick = (parentElem: Element, e: MouseEvent<HTMLHeadingElement>) => {\n const parentLeft = parentElem.getBoundingClientRect().left;\n const parentTop = parentElem.getBoundingClientRect().top;\n\n const after = window.getComputedStyle(parentElem, ':after');\n\n const afterStart = parentLeft + parseInt(after.getPropertyValue('left'), 10);\n const afterEnd = afterStart + parseInt(after.width, 10);\n\n const afterYStart = parentTop + parseInt(after.getPropertyValue('top'), 10);\n const afterYEnd = afterYStart + parseInt(after.height, 10);\n\n const mouseX = e.clientX;\n const mouseY = e.clientY;\n\n const isAfterClicked: boolean =\n mouseX >= afterStart &&\n mouseX <= afterEnd &&\n mouseY >= afterYStart &&\n mouseY <= afterYEnd;\n\n return isAfterClicked;\n};\n\n/**\n * HeadingWrapper Component\n *\n * Internal wrapper component that adds anchor link functionality to headings.\n * Handles ID generation, click-to-copy URL behavior, and smooth scrolling.\n *\n * @component\n * @accessibility\n * - Generates URL-friendly IDs for deep linking\n * - Provides accessible labels for anchor link functionality\n * - Maintains proper heading hierarchy and semantics\n * - Supports keyboard navigation and screen readers\n */\nconst HeadingWrapper: HeadingType = ({\n H,\n children,\n className,\n isClickable,\n ...props\n}) => {\n const id = typeof children === 'string' ? getId(children) : undefined;\n\n const onClick = (e: MouseEvent<HTMLHeadingElement>) => {\n const { id } = e.currentTarget;\n\n const isAfterClicker = afterClick(e.currentTarget, e);\n\n if (isAfterClicker && typeof id === 'string') {\n const urlWithoutHash = window.location.href.split('#')[0];\n const url = `${urlWithoutHash}#${id}`;\n\n // copy the url to the clipboard\n navigator.clipboard.writeText(url);\n\n scrollToHash(id);\n }\n };\n\n return (\n <H\n id={id}\n onClick={isClickable ? onClick : undefined}\n aria-label={\n isClickable\n ? `Click to scroll to section ${id} and copy the link to the clipboard`\n : undefined\n }\n className={cn(isClickable && styledAfter, className)}\n {...props}\n >\n {children}\n </H>\n );\n};\n\n/**\n * H1 Component\n *\n * Primary page heading component. Does not include clickable anchor functionality\n * as it's typically used for main page titles rather than content sections.\n *\n * @example\n * ```tsx\n * <H1>Welcome to Our Website</H1>\n * <H1 className=\"text-blue-600\">Custom Styled Title</H1>\n * ```\n */\nexport const H1: FC<HeadingProps> = ({ isClickable: _, ...props }) => (\n <StyledH1 {...props} />\n);\n\n/**\n * H2 Component\n *\n * Secondary heading component with optional anchor link functionality.\n * Perfect for major section headers with deep-linking capabilities.\n *\n * @example\n * ```tsx\n * <H2>Getting Started</H2>\n * <H2 isClickable>API Reference</H2>\n * ```\n */\nexport const H2: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH2} isClickable={isClickable} {...props} />\n);\n\n/**\n * H3 Component\n *\n * Tertiary heading component with optional anchor link functionality.\n * Used for subsection headers within major sections.\n *\n * @example\n * ```tsx\n * <H3>Configuration Options</H3>\n * <H3 isClickable>Advanced Settings</H3>\n * ```\n */\nexport const H3: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH3} isClickable={isClickable} {...props} />\n);\n\n/**\n * H4 Component\n *\n * Fourth-level heading component with optional anchor link functionality.\n * Used for detailed section organization.\n *\n * @example\n * ```tsx\n * <H4>Implementation Details</H4>\n * <H4 isClickable>Code Examples</H4>\n * ```\n */\nexport const H4: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH4} isClickable={isClickable} {...props} />\n);\n\n/**\n * H5 Component\n *\n * Fifth-level heading component with optional anchor link functionality.\n * Used for fine-grained content organization.\n *\n * @example\n * ```tsx\n * <H5>Technical Notes</H5>\n * <H5 isClickable>Best Practices</H5>\n * ```\n */\nexport const H5: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH5} isClickable={isClickable} {...props} />\n);\n\nexport const H6: FC<HeadingProps> = ({ isClickable = false, ...props }) => (\n <HeadingWrapper H={StyledH6} isClickable={isClickable} {...props} />\n);\n"],"mappings":"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"}