@intlayer/design-system 7.0.8 → 7.0.9-canary.2

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 (363) hide show
  1. package/README.md +4 -4
  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 +2 -2
  5. package/dist/esm/components/Avatar/index.mjs.map +1 -1
  6. package/dist/esm/components/Badge/index.mjs +1 -1
  7. package/dist/esm/components/Badge/index.mjs.map +1 -1
  8. package/dist/esm/components/Breadcrumb/index.mjs +4 -4
  9. package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
  10. package/dist/esm/components/Button/Button.mjs +99 -88
  11. package/dist/esm/components/Button/Button.mjs.map +1 -1
  12. package/dist/esm/components/Button/index.mjs +2 -2
  13. package/dist/esm/components/ClickOutsideDiv/index.mjs +1 -1
  14. package/dist/esm/components/ClickOutsideDiv/index.mjs.map +1 -1
  15. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +1 -1
  16. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs.map +1 -1
  17. package/dist/esm/components/Command/index.mjs +8 -8
  18. package/dist/esm/components/Command/index.mjs.map +1 -1
  19. package/dist/esm/components/Container/index.mjs +14 -13
  20. package/dist/esm/components/Container/index.mjs.map +1 -1
  21. package/dist/esm/components/ContentEditor/ContentEditor.mjs +1 -1
  22. package/dist/esm/components/ContentEditor/ContentEditor.mjs.map +1 -1
  23. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs +1 -1
  24. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs.map +1 -1
  25. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -1
  26. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  27. package/dist/esm/components/CopyButton/index.mjs +1 -1
  28. package/dist/esm/components/CopyButton/index.mjs.map +1 -1
  29. package/dist/esm/components/CopyToClipboard/index.mjs +29 -27
  30. package/dist/esm/components/CopyToClipboard/index.mjs.map +1 -1
  31. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs +1 -1
  32. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  33. package/dist/esm/components/DictionaryEditor/ItemLayout.mjs +6 -3
  34. package/dist/esm/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  35. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +2 -1
  36. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
  37. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +40 -22
  38. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  39. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +1 -1
  40. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs +2 -1
  41. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
  42. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +1 -1
  43. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  44. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +2 -2
  45. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  46. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +2 -2
  47. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  48. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs +1 -1
  49. package/dist/esm/components/DropDown/index.mjs +3 -3
  50. package/dist/esm/components/DropDown/index.mjs.map +1 -1
  51. package/dist/esm/components/EditableField/EditableFieldInput.mjs +1 -1
  52. package/dist/esm/components/EditableField/EditableFieldInput.mjs.map +1 -1
  53. package/dist/esm/components/EditableField/EditableFieldLayout.mjs +1 -1
  54. package/dist/esm/components/EditableField/EditableFieldLayout.mjs.map +1 -1
  55. package/dist/esm/components/EditableField/EditableFieldTextArea.mjs +1 -1
  56. package/dist/esm/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
  57. package/dist/esm/components/Flags/Flag.mjs +1 -1
  58. package/dist/esm/components/Flags/Flag.mjs.map +1 -1
  59. package/dist/esm/components/Form/Form.mjs +4 -0
  60. package/dist/esm/components/Form/Form.mjs.map +1 -1
  61. package/dist/esm/components/Form/FormBase.mjs +1 -1
  62. package/dist/esm/components/Form/FormBase.mjs.map +1 -1
  63. package/dist/esm/components/Form/FormItem.mjs +1 -1
  64. package/dist/esm/components/Form/FormItem.mjs.map +1 -1
  65. package/dist/esm/components/Form/FormLabel.mjs +1 -1
  66. package/dist/esm/components/Form/FormLabel.mjs.map +1 -1
  67. package/dist/esm/components/Form/FormMessage.mjs +1 -1
  68. package/dist/esm/components/Form/FormMessage.mjs.map +1 -1
  69. package/dist/esm/components/Form/elements/AutoSizeTextAreaElement.mjs.map +1 -1
  70. package/dist/esm/components/Form/elements/CheckboxElement.mjs +2 -2
  71. package/dist/esm/components/Form/elements/CheckboxElement.mjs.map +1 -1
  72. package/dist/esm/components/Form/elements/CodeInputElement.mjs +40 -0
  73. package/dist/esm/components/Form/elements/CodeInputElement.mjs.map +1 -0
  74. package/dist/esm/components/Form/elements/FormElement.mjs +2 -2
  75. package/dist/esm/components/Form/elements/FormElement.mjs.map +1 -1
  76. package/dist/esm/components/Form/elements/FormElementWrapper.mjs +1 -1
  77. package/dist/esm/components/Form/elements/FormElementWrapper.mjs.map +1 -1
  78. package/dist/esm/components/Form/elements/InputPasswordElement.mjs +1 -1
  79. package/dist/esm/components/Form/elements/InputPasswordElement.mjs.map +1 -1
  80. package/dist/esm/components/Form/elements/MultiselectElement.mjs +30 -19
  81. package/dist/esm/components/Form/elements/MultiselectElement.mjs.map +1 -1
  82. package/dist/esm/components/Form/elements/OTPElement.mjs +114 -0
  83. package/dist/esm/components/Form/elements/OTPElement.mjs.map +1 -0
  84. package/dist/esm/components/Form/elements/SearchInputElement.mjs +17 -0
  85. package/dist/esm/components/Form/elements/SearchInputElement.mjs.map +1 -0
  86. package/dist/esm/components/Form/elements/SelectElement.mjs +30 -19
  87. package/dist/esm/components/Form/elements/SelectElement.mjs.map +1 -1
  88. package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs +29 -18
  89. package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs.map +1 -1
  90. package/dist/esm/components/Form/elements/index.mjs +3 -1
  91. package/dist/esm/components/Form/layout/FormItemLayout.mjs +1 -2
  92. package/dist/esm/components/Form/layout/FormItemLayout.mjs.map +1 -1
  93. package/dist/esm/components/Headers/index.mjs +19 -19
  94. package/dist/esm/components/Headers/index.mjs.map +1 -1
  95. package/dist/esm/components/HeightResizer/index.mjs +1 -1
  96. package/dist/esm/components/HeightResizer/index.mjs.map +1 -1
  97. package/dist/esm/components/HideShow/index.mjs +2 -1
  98. package/dist/esm/components/HideShow/index.mjs.map +1 -1
  99. package/dist/esm/components/IDE/Code.mjs +1 -1
  100. package/dist/esm/components/IDE/Code.mjs.map +1 -1
  101. package/dist/esm/components/IDE/CodeBlockClient.mjs +1 -1
  102. package/dist/esm/components/IDE/CodeBlockClient.mjs.map +1 -1
  103. package/dist/esm/components/IDE/CodeBlockServer.mjs +3 -3
  104. package/dist/esm/components/IDE/CodeBlockServer.mjs.map +1 -1
  105. package/dist/esm/components/IDE/CodeConditionalRenderer.mjs +1 -1
  106. package/dist/esm/components/IDE/CodeConditionalRenderer.mjs.map +1 -1
  107. package/dist/esm/components/IDE/CodeFormatSelector.mjs +4 -1
  108. package/dist/esm/components/IDE/CodeFormatSelector.mjs.map +1 -1
  109. package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs +4 -1
  110. package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs.map +1 -1
  111. package/dist/esm/components/IDE/FileList.mjs +1 -1
  112. package/dist/esm/components/IDE/FileList.mjs.map +1 -1
  113. package/dist/esm/components/IDE/IDE.mjs +1 -1
  114. package/dist/esm/components/IDE/IDE.mjs.map +1 -1
  115. package/dist/esm/components/IDE/PackageManagerSelector.mjs +4 -1
  116. package/dist/esm/components/IDE/PackageManagerSelector.mjs.map +1 -1
  117. package/dist/esm/components/InformationTag/index.mjs +1 -1
  118. package/dist/esm/components/InformationTag/index.mjs.map +1 -1
  119. package/dist/esm/components/Input/Checkbox.mjs +22 -15
  120. package/dist/esm/components/Input/Checkbox.mjs.map +1 -1
  121. package/dist/esm/components/Input/CodeInput.mjs +84 -0
  122. package/dist/esm/components/Input/CodeInput.mjs.map +1 -0
  123. package/dist/esm/components/Input/Input.mjs +25 -14
  124. package/dist/esm/components/Input/Input.mjs.map +1 -1
  125. package/dist/esm/components/Input/InputPassword.mjs +1 -1
  126. package/dist/esm/components/Input/InputPassword.mjs.map +1 -1
  127. package/dist/esm/components/Input/OTPInput/Input.mjs +426 -0
  128. package/dist/esm/components/Input/OTPInput/Input.mjs.map +1 -0
  129. package/dist/esm/components/Input/OTPInput/index.mjs +495 -0
  130. package/dist/esm/components/Input/OTPInput/index.mjs.map +1 -0
  131. package/dist/esm/components/Input/OTPInput.mjs +495 -0
  132. package/dist/esm/components/Input/OTPInput.mjs.map +1 -0
  133. package/dist/esm/components/Input/SearchInput.mjs +1 -1
  134. package/dist/esm/components/Input/SearchInput.mjs.map +1 -1
  135. package/dist/esm/components/Input/index.mjs +2 -1
  136. package/dist/esm/components/KeyboardScreenAdapter/index.mjs +1 -1
  137. package/dist/esm/components/KeyboardScreenAdapter/index.mjs.map +1 -1
  138. package/dist/esm/components/Label/index.mjs +1 -1
  139. package/dist/esm/components/Label/index.mjs.map +1 -1
  140. package/dist/esm/components/Link/Link.mjs +1 -1
  141. package/dist/esm/components/Link/Link.mjs.map +1 -1
  142. package/dist/esm/components/Loader/index.mjs +1 -1
  143. package/dist/esm/components/Loader/index.mjs.map +1 -1
  144. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +1 -1
  145. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +1 -1
  146. package/dist/esm/components/Logo/Logo.mjs +1 -1
  147. package/dist/esm/components/Logo/Logo.mjs.map +1 -1
  148. package/dist/esm/components/Logo/LogoWithTextBelow.mjs +1 -1
  149. package/dist/esm/components/Logo/LogoWithTextBelow.mjs.map +1 -1
  150. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs +16 -11
  151. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
  152. package/dist/esm/components/MarkDownRender/processor.mjs +1 -1
  153. package/dist/esm/components/MarkDownRender/processor.mjs.map +1 -1
  154. package/dist/esm/components/MaxHeightSmoother/index.mjs +1 -1
  155. package/dist/esm/components/MaxHeightSmoother/index.mjs.map +1 -1
  156. package/dist/esm/components/MaxWidthSmoother/index.mjs +1 -1
  157. package/dist/esm/components/MaxWidthSmoother/index.mjs.map +1 -1
  158. package/dist/esm/components/Modal/Modal.mjs +48 -41
  159. package/dist/esm/components/Modal/Modal.mjs.map +1 -1
  160. package/dist/esm/components/Navbar/Burger.mjs +1 -1
  161. package/dist/esm/components/Navbar/Burger.mjs.map +1 -1
  162. package/dist/esm/components/Pagination/Pagination.mjs +1 -1
  163. package/dist/esm/components/Pagination/Pagination.mjs.map +1 -1
  164. package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs +5 -2
  165. package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs.map +1 -1
  166. package/dist/esm/components/Pattern/DotPattern.mjs +1 -1
  167. package/dist/esm/components/Pattern/DotPattern.mjs.map +1 -1
  168. package/dist/esm/components/Pattern/GridPattern.mjs +1 -1
  169. package/dist/esm/components/Pattern/GridPattern.mjs.map +1 -1
  170. package/dist/esm/components/Pattern/SpotLight.mjs +1 -1
  171. package/dist/esm/components/Pattern/SpotLight.mjs.map +1 -1
  172. package/dist/esm/components/Popover/dynamic.mjs +1 -1
  173. package/dist/esm/components/Popover/dynamic.mjs.map +1 -1
  174. package/dist/esm/components/Popover/static.mjs +2 -2
  175. package/dist/esm/components/Popover/static.mjs.map +1 -1
  176. package/dist/esm/components/PressableSpan/PressableSpan.mjs +1 -1
  177. package/dist/esm/components/PressableSpan/PressableSpan.mjs.map +1 -1
  178. package/dist/esm/components/RightDrawer/RightDrawer.mjs +1 -1
  179. package/dist/esm/components/Select/Multiselect.mjs +7 -7
  180. package/dist/esm/components/Select/Multiselect.mjs.map +1 -1
  181. package/dist/esm/components/Select/Select.mjs +12 -12
  182. package/dist/esm/components/Select/Select.mjs.map +1 -1
  183. package/dist/esm/components/SocialNetworks/index.mjs +3 -8
  184. package/dist/esm/components/SocialNetworks/index.mjs.map +1 -1
  185. package/dist/esm/components/SwitchSelector/index.mjs +35 -27
  186. package/dist/esm/components/SwitchSelector/index.mjs.map +1 -1
  187. package/dist/esm/components/Tab/Tab.mjs +2 -2
  188. package/dist/esm/components/Tab/Tab.mjs.map +1 -1
  189. package/dist/esm/components/TabSelector/TabSelector.mjs +1 -1
  190. package/dist/esm/components/TabSelector/TabSelector.mjs.map +1 -1
  191. package/dist/esm/components/Table/Table.mjs +1 -1
  192. package/dist/esm/components/Table/Table.mjs.map +1 -1
  193. package/dist/esm/components/Tag/index.mjs +1 -1
  194. package/dist/esm/components/Tag/index.mjs.map +1 -1
  195. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs +1 -1
  196. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
  197. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs +1 -1
  198. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs.map +1 -1
  199. package/dist/esm/components/TextArea/TextArea.mjs +1 -1
  200. package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
  201. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +2 -2
  202. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
  203. package/dist/esm/components/Toaster/Toast.mjs +7 -7
  204. package/dist/esm/components/Toaster/Toast.mjs.map +1 -1
  205. package/dist/esm/components/Toaster/Toaster.mjs +1 -1
  206. package/dist/esm/components/Toaster/Toaster.mjs.map +1 -1
  207. package/dist/esm/components/index.mjs +6 -5
  208. package/dist/esm/hooks/index.mjs +4 -3
  209. package/dist/esm/hooks/reactQuery.mjs +66 -3
  210. package/dist/esm/hooks/reactQuery.mjs.map +1 -1
  211. package/dist/esm/hooks/useAuth/useSession.mjs +5 -3
  212. package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
  213. package/dist/esm/hooks/useDevice.mjs +16 -2
  214. package/dist/esm/hooks/useDevice.mjs.map +1 -1
  215. package/dist/esm/hooks/useItemSelector.mjs +4 -1
  216. package/dist/esm/hooks/useItemSelector.mjs.map +1 -1
  217. package/dist/esm/libs/auth.mjs +77 -32
  218. package/dist/esm/libs/auth.mjs.map +1 -1
  219. package/dist/types/Checkbox.d.ts +2 -0
  220. package/dist/types/Input.d.ts +16 -0
  221. package/dist/types/Input.d.ts.map +1 -0
  222. package/dist/types/InputPassword.d.ts +2 -0
  223. package/dist/types/OTPElement.d.ts +30 -0
  224. package/dist/types/OTPElement.d.ts.map +1 -0
  225. package/dist/types/OTPInput.d.ts +3 -0
  226. package/dist/types/SearchInput.d.ts +1 -0
  227. package/dist/types/components/Badge/index.d.ts +2 -2
  228. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +3 -3
  229. package/dist/types/components/Breadcrumb/index.d.ts +2 -2
  230. package/dist/types/components/Breadcrumb/index.d.ts.map +1 -1
  231. package/dist/types/components/Browser/Browser.content.d.ts +11 -11
  232. package/dist/types/components/Button/Button.d.ts +10 -18
  233. package/dist/types/components/Button/Button.d.ts.map +1 -1
  234. package/dist/types/components/Button/index.d.ts +2 -2
  235. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +5 -5
  236. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts.map +1 -1
  237. package/dist/types/components/Command/index.d.ts +13 -13
  238. package/dist/types/components/Container/index.d.ts +9 -9
  239. package/dist/types/components/Container/index.d.ts.map +1 -1
  240. package/dist/types/components/CopyToClipboard/index.d.ts +7 -3
  241. package/dist/types/components/CopyToClipboard/index.d.ts.map +1 -1
  242. package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts.map +1 -1
  243. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  244. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +25 -25
  245. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +9 -9
  246. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts.map +1 -1
  247. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +33 -33
  248. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +25 -25
  249. package/dist/types/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts.map +1 -1
  250. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +25 -25
  251. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +33 -33
  252. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +9 -9
  253. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +7 -7
  254. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +5 -5
  255. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +31 -31
  256. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts.map +1 -1
  257. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +3 -3
  258. package/dist/types/components/Form/Form.d.ts +4 -0
  259. package/dist/types/components/Form/Form.d.ts.map +1 -1
  260. package/dist/types/components/Form/FormBase.d.ts +2 -2
  261. package/dist/types/components/Form/FormBase.d.ts.map +1 -1
  262. package/dist/types/components/Form/FormField.d.ts +2 -2
  263. package/dist/types/components/Form/FormField.d.ts.map +1 -1
  264. package/dist/types/components/Form/FormItem.d.ts +2 -2
  265. package/dist/types/components/Form/FormItem.d.ts.map +1 -1
  266. package/dist/types/components/Form/elements/AutoSizeTextAreaElement.d.ts +2 -2
  267. package/dist/types/components/Form/elements/AutoSizeTextAreaElement.d.ts.map +1 -1
  268. package/dist/types/components/Form/elements/EditableFieldInputElement.d.ts +2 -2
  269. package/dist/types/components/Form/elements/EditableFieldInputElement.d.ts.map +1 -1
  270. package/dist/types/components/Form/elements/FormElement.d.ts +2 -2
  271. package/dist/types/components/Form/elements/MultiselectElement.d.ts +2 -2
  272. package/dist/types/components/Form/elements/MultiselectElement.d.ts.map +1 -1
  273. package/dist/types/components/Form/elements/OTPElement.d.ts +30 -0
  274. package/dist/types/components/Form/elements/OTPElement.d.ts.map +1 -0
  275. package/dist/types/components/Form/elements/SearchInputElement.d.ts +13 -0
  276. package/dist/types/components/Form/elements/SearchInputElement.d.ts.map +1 -0
  277. package/dist/types/components/Form/elements/SelectElement.d.ts +2 -2
  278. package/dist/types/components/Form/elements/SelectElement.d.ts.map +1 -1
  279. package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts +2 -2
  280. package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts.map +1 -1
  281. package/dist/types/components/Form/elements/index.d.ts +3 -1
  282. package/dist/types/components/HideShow/index.d.ts.map +1 -1
  283. package/dist/types/components/IDE/FileTree.d.ts.map +1 -1
  284. package/dist/types/components/IDE/code.content.d.ts +5 -5
  285. package/dist/types/components/IDE/code.content.d.ts.map +1 -1
  286. package/dist/types/components/IDE/copyCode.content.d.ts +5 -5
  287. package/dist/types/components/IDE/copyCode.content.d.ts.map +1 -1
  288. package/dist/types/components/Input/Checkbox.d.ts +5 -5
  289. package/dist/types/components/Input/Checkbox.d.ts.map +1 -1
  290. package/dist/types/components/Input/Input.d.ts +3 -3
  291. package/dist/types/components/Input/Input.d.ts.map +1 -1
  292. package/dist/types/components/Input/OTPInput/Input.d.ts +57 -0
  293. package/dist/types/components/Input/OTPInput/Input.d.ts.map +1 -0
  294. package/dist/types/components/Input/OTPInput/index.d.ts +78 -0
  295. package/dist/types/components/Input/OTPInput/index.d.ts.map +1 -0
  296. package/dist/types/components/Input/OTPInput.d.ts +78 -0
  297. package/dist/types/components/Input/OTPInput.d.ts.map +1 -0
  298. package/dist/types/components/Input/SearchInput.d.ts +2 -2
  299. package/dist/types/components/Input/index.d.ts +2 -1
  300. package/dist/types/components/Link/Link.d.ts +4 -4
  301. package/dist/types/components/Loader/index.content.d.ts +3 -3
  302. package/dist/types/components/Loader/spinner.d.ts +2 -2
  303. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +17 -17
  304. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +13 -13
  305. package/dist/types/components/MaxWidthSmoother/index.d.ts +2 -2
  306. package/dist/types/components/MaxWidthSmoother/index.d.ts.map +1 -1
  307. package/dist/types/components/Modal/Modal.d.ts.map +1 -1
  308. package/dist/types/components/Navbar/Burger.d.ts +2 -2
  309. package/dist/types/components/Navbar/Burger.d.ts.map +1 -1
  310. package/dist/types/components/Navbar/DesktopNavbar.d.ts +2 -2
  311. package/dist/types/components/Navbar/DesktopNavbar.d.ts.map +1 -1
  312. package/dist/types/components/Navbar/MobileNavbar.d.ts +2 -2
  313. package/dist/types/components/Navbar/MobileNavbar.d.ts.map +1 -1
  314. package/dist/types/components/Navbar/index.d.ts +2 -2
  315. package/dist/types/components/Navbar/index.d.ts.map +1 -1
  316. package/dist/types/components/Pagination/Pagination.d.ts +4 -4
  317. package/dist/types/components/Pagination/pagination.content.d.ts +11 -11
  318. package/dist/types/components/Popover/static.d.ts +3 -3
  319. package/dist/types/components/RightDrawer/useRightDrawerStore.d.ts +2 -2
  320. package/dist/types/components/Select/Multiselect.d.ts.map +1 -1
  321. package/dist/types/components/Select/Select.d.ts +3 -3
  322. package/dist/types/components/Select/Select.d.ts.map +1 -1
  323. package/dist/types/components/SocialNetworks/index.d.ts +2 -2
  324. package/dist/types/components/SocialNetworks/index.d.ts.map +1 -1
  325. package/dist/types/components/SwitchSelector/index.d.ts +10 -8
  326. package/dist/types/components/SwitchSelector/index.d.ts.map +1 -1
  327. package/dist/types/components/Tab/Tab.d.ts +5 -5
  328. package/dist/types/components/Tab/Tab.d.ts.map +1 -1
  329. package/dist/types/components/Tab/TabContext.d.ts +2 -2
  330. package/dist/types/components/TabSelector/TabSelector.d.ts +5 -5
  331. package/dist/types/components/TabSelector/TabSelector.d.ts.map +1 -1
  332. package/dist/types/components/Table/table.content.d.ts +3 -3
  333. package/dist/types/components/Table/table.content.d.ts.map +1 -1
  334. package/dist/types/components/Tag/index.d.ts +5 -5
  335. package/dist/types/components/Toaster/Toast.d.ts +2 -2
  336. package/dist/types/components/Toaster/Toaster.d.ts +2 -2
  337. package/dist/types/components/index.d.ts +4 -3
  338. package/dist/types/hooks/index.d.ts +5 -4
  339. package/dist/types/hooks/reactQuery.d.ts +1258 -65
  340. package/dist/types/hooks/reactQuery.d.ts.map +1 -1
  341. package/dist/types/hooks/useAuth/index.d.ts +2 -2
  342. package/dist/types/hooks/useAuth/useOAuth2.d.ts +2 -1
  343. package/dist/types/hooks/useAuth/useOAuth2.d.ts.map +1 -1
  344. package/dist/types/hooks/useAuth/useSession.d.ts +9 -4
  345. package/dist/types/hooks/useAuth/useSession.d.ts.map +1 -1
  346. package/dist/types/hooks/useDevice.d.ts +7 -1
  347. package/dist/types/hooks/useDevice.d.ts.map +1 -1
  348. package/dist/types/hooks/useItemSelector.d.ts +8 -1
  349. package/dist/types/hooks/useItemSelector.d.ts.map +1 -1
  350. package/dist/types/hooks/useScrollBlockage/useScrollBlockageStore.d.ts +2 -2
  351. package/dist/types/hooks/useUser/index.d.ts +18 -1
  352. package/dist/types/hooks/useUser/index.d.ts.map +1 -1
  353. package/dist/types/index.d.ts +5 -0
  354. package/dist/types/libs/auth.d.ts +3375 -2
  355. package/dist/types/libs/auth.d.ts.map +1 -1
  356. package/package.json +51 -45
  357. package/tailwind.css +55 -34
  358. package/dist/esm/components/Popover/index.mjs.map +0 -1
  359. package/dist/esm/utils/camelCase.mjs +0 -12
  360. package/dist/esm/utils/camelCase.mjs.map +0 -1
  361. package/dist/types/components/Popover/index.d.ts.map +0 -1
  362. package/dist/types/utils/camelCase.d.ts +0 -6
  363. package/dist/types/utils/camelCase.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useSession.mjs","names":["configuration","defaultConfiguration"],"sources":["../../../../src/hooks/useAuth/useSession.ts"],"sourcesContent":["'use client';\n\nimport type { SessionAPI } from '@intlayer/backend';\nimport defaultConfiguration from '@intlayer/config/built';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types';\nimport { useQuery } from '@tanstack/react-query';\nimport { getAuthAPI } from '../../libs/auth';\nimport { useQueryClient } from '../reactQuery';\n\nexport const useSession = (\n sessionProp?: SessionAPI | null,\n intlayerConfiguration?: IntlayerConfig\n) => {\n const configuration = useConfiguration();\n const config = intlayerConfiguration ?? configuration ?? defaultConfiguration;\n\n const queryClient = useQueryClient();\n\n const { data, isFetched, refetch } = useQuery({\n queryKey: ['session'],\n queryFn: async () => {\n const intlayerAPI = getAuthAPI(config);\n const result = await intlayerAPI.getSession();\n return result.data as unknown as SessionAPI;\n },\n staleTime: 0,\n // Give the cache a little breathing room across route transitions:\n gcTime: 5 * 60 * 1000, // e.g. 5 minutes\n refetchOnMount: 'always',\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n enabled: !sessionProp,\n });\n\n const session = data ?? (isFetched ? null : undefined);\n\n const setSession = (nextSession: SessionAPI | null) =>\n queryClient.setQueryData(['session'], nextSession);\n\n const fetchSession = async (): Promise<SessionAPI | null | undefined> => {\n const res = await refetch();\n return res.data as SessionAPI | null | undefined;\n };\n\n const revalidateSession = fetchSession;\n\n return {\n session,\n fetchSession,\n revalidateSession,\n setSession,\n };\n};\n"],"mappings":";;;;;;;;;;AAUA,MAAa,cACX,aACA,0BACG;CACH,MAAMA,kBAAgB,kBAAkB;CACxC,MAAM,SAAS,yBAAyBA,mBAAiBC;CAEzD,MAAM,cAAc,gBAAgB;CAEpC,MAAM,EAAE,MAAM,WAAW,YAAY,SAAS;EAC5C,UAAU,CAAC,UAAU;EACrB,SAAS,YAAY;AAGnB,WADe,MADK,WAAW,OAAO,CACL,YAAY,EAC/B;;EAEhB,WAAW;EAEX,QAAQ,MAAS;EACjB,gBAAgB;EAChB,sBAAsB;EACtB,oBAAoB;EACpB,SAAS,CAAC;EACX,CAAC;CAEF,MAAM,UAAU,SAAS,YAAY,OAAO;CAE5C,MAAM,cAAc,gBAClB,YAAY,aAAa,CAAC,UAAU,EAAE,YAAY;CAEpD,MAAM,eAAe,YAAoD;AAEvE,UADY,MAAM,SAAS,EAChB;;AAKb,QAAO;EACL;EACA;EACA,mBALwB;EAMxB;EACD"}
1
+ {"version":3,"file":"useSession.mjs","names":["configuration","defaultConfiguration"],"sources":["../../../../src/hooks/useAuth/useSession.ts"],"sourcesContent":["'use client';\n\nimport type { SessionAPI } from '@intlayer/backend';\nimport defaultConfiguration from '@intlayer/config/built';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types';\nimport { useQuery } from '@tanstack/react-query';\nimport { getAuthAPI } from '../../libs/auth';\nimport { useQueryClient } from '../reactQuery';\n\nexport type UseSessionResult = {\n /** The current session: `undefined` while loading, `null` if fetched and no session, otherwise the session. */\n session: SessionAPI | null | undefined;\n /** Refetches the session and returns it (undefined while loading). */\n fetchSession: () => Promise<SessionAPI | null | undefined>;\n /** Alias of `fetchSession` for ergonomics. */\n revalidateSession: () => Promise<SessionAPI | null | undefined>;\n /** Manually set the session cache. */\n setSession: (nextSession: SessionAPI | null) => void;\n};\n\nexport function useSession(\n sessionProp?: SessionAPI | null,\n intlayerConfiguration?: IntlayerConfig\n): UseSessionResult {\n const configuration = useConfiguration();\n const config = intlayerConfiguration ?? configuration ?? defaultConfiguration;\n\n const queryClient = useQueryClient();\n\n // Keep TanStack generics internal so they don't leak into the d.ts\n const { data, isFetched, refetch } = useQuery({\n queryKey: ['session'],\n queryFn: async () => {\n const intlayerAPI = getAuthAPI(config);\n const result = await intlayerAPI.getSession();\n // Narrow to the public shape we want to expose\n return result.data as unknown as SessionAPI;\n },\n staleTime: 0,\n gcTime: 5 * 60 * 1000,\n refetchOnMount: 'always',\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n enabled: !sessionProp,\n });\n\n const session = data ?? (isFetched ? null : undefined);\n\n const setSession = (nextSession: SessionAPI | null) => {\n queryClient.setQueryData(['session'], nextSession);\n };\n\n const fetchSession = async (): Promise<SessionAPI | null | undefined> => {\n const res = await refetch();\n return res.data as SessionAPI | null | undefined;\n };\n\n const revalidateSession = fetchSession;\n\n return {\n session,\n fetchSession,\n revalidateSession,\n setSession,\n };\n}\n"],"mappings":";;;;;;;;;;AAqBA,SAAgB,WACd,aACA,uBACkB;CAClB,MAAMA,kBAAgB,kBAAkB;CACxC,MAAM,SAAS,yBAAyBA,mBAAiBC;CAEzD,MAAM,cAAc,gBAAgB;CAGpC,MAAM,EAAE,MAAM,WAAW,YAAY,SAAS;EAC5C,UAAU,CAAC,UAAU;EACrB,SAAS,YAAY;AAInB,WAFe,MADK,WAAW,OAAO,CACL,YAAY,EAE/B;;EAEhB,WAAW;EACX,QAAQ,MAAS;EACjB,gBAAgB;EAChB,sBAAsB;EACtB,oBAAoB;EACpB,SAAS,CAAC;EACX,CAAC;CAEF,MAAM,UAAU,SAAS,YAAY,OAAO;CAE5C,MAAM,cAAc,gBAAmC;AACrD,cAAY,aAAa,CAAC,UAAU,EAAE,YAAY;;CAGpD,MAAM,eAAe,YAAoD;AAEvE,UADY,MAAM,SAAS,EAChB;;AAKb,QAAO;EACL;EACA;EACA,mBALwB;EAMxB;EACD"}
@@ -28,6 +28,18 @@ const checkIsIphoneOrSafariDevice = () => {
28
28
  const isAppleDevice = /Macintosh|iP(?:hone|ad|od)/.test(userAgent);
29
29
  return isSafari && isAppleDevice;
30
30
  };
31
+ const checkIsIOS = () => {
32
+ if (typeof window === "undefined") return;
33
+ const userAgent = window.navigator?.userAgent;
34
+ if (typeof userAgent === "undefined") return;
35
+ return /iP(?:hone|ad|od)/.test(userAgent);
36
+ };
37
+ const checkIsMac = () => {
38
+ if (typeof window === "undefined") return;
39
+ const userAgent = window.navigator?.userAgent;
40
+ if (typeof userAgent === "undefined") return;
41
+ return /Macintosh|MacIntel|Mac OS X/.test(userAgent);
42
+ };
31
43
  const checkIsMobileScreen = (breakpoint) => {
32
44
  if (typeof window === "undefined") return;
33
45
  return (window?.innerWidth ?? 0) <= breakpoint;
@@ -39,7 +51,9 @@ const calculateIsMobile = (breakpoint = "md") => {
39
51
  return {
40
52
  isMobileScreen,
41
53
  isMobileUserAgent,
42
- isMobile: isMobileScreen ?? isMobileUserAgent
54
+ isMobile: isMobileScreen ?? isMobileUserAgent,
55
+ isIOS: checkIsIOS(),
56
+ isMac: checkIsMac()
43
57
  };
44
58
  };
45
59
  const useDevice = (breakpoint = "md") => {
@@ -55,5 +69,5 @@ const useDevice = (breakpoint = "md") => {
55
69
  };
56
70
 
57
71
  //#endregion
58
- export { calculateIsMobile, checkIsIphoneOrSafariDevice, checkIsMobileScreen, checkIsMobileUserAgent, getBreakpointFromSize, useDevice };
72
+ export { calculateIsMobile, checkIsIOS, checkIsIphoneOrSafariDevice, checkIsMac, checkIsMobileScreen, checkIsMobileUserAgent, getBreakpointFromSize, useDevice };
59
73
  //# sourceMappingURL=useDevice.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDevice.mjs","names":[],"sources":["../../../src/hooks/useDevice.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport type SizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\nexport const getBreakpointFromSize = (breakpoint: SizeType | number) => {\n switch (breakpoint) {\n case 'xs':\n return 480;\n case 'sm':\n return 640;\n case 'md':\n return 768;\n case 'lg':\n return 1024;\n case 'xl':\n return 1280;\n case '2xl':\n return 1536;\n default:\n return breakpoint;\n }\n};\n\nexport const checkIsMobileUserAgent = (): boolean | undefined => {\n if (typeof window === 'undefined') return;\n\n const userAgent = window.navigator?.userAgent;\n\n if (typeof userAgent === 'undefined') return;\n\n return /android|bb\\d+|meego|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(?:hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(?:ob|in)i|palm(?: os)?|phone|p(?:ixi|re)\\/|plucker|pocket|psp|series(?:4|6)0|symbian|treo|up\\.(?:browser|link)|vodafone|wap|windows ce|windows phone|xda|xiino|zte-/i.test(\n userAgent\n );\n};\n\nexport const checkIsIphoneOrSafariDevice = (): boolean | undefined => {\n if (typeof window === 'undefined') return;\n\n const userAgent = window.navigator?.userAgent;\n\n /* 1 . is it Safari? (Chrome & co. also contain “Safari/…”, so exclude them) */\n const isSafari =\n /Safari\\/\\d/i.test(userAgent) && // has “Safari/xxx”\n !/Chrome|CriOS|FxiOS|Edg|OPR/i.test(userAgent); // …but not the other browsers\n\n /* 2. is it an Apple device? (macOS or iOS/iPadOS) */\n const isAppleDevice = /Macintosh|iP(?:hone|ad|od)/.test(userAgent);\n\n return isSafari && isAppleDevice; // true for mac-Safari & iOS-Safari\n};\n\nexport const checkIsMobileScreen = (\n breakpoint: number\n): boolean | undefined => {\n if (typeof window === 'undefined') return;\n\n return (window?.innerWidth ?? 0) <= breakpoint;\n};\n\ntype UseDeviceState = {\n isMobileScreen: boolean | undefined;\n isMobileUserAgent: boolean | undefined;\n isMobile: boolean | undefined;\n};\n\nexport const calculateIsMobile = (breakpoint: SizeType | number = 'md') => {\n const breakpointValue = getBreakpointFromSize(breakpoint);\n\n const isMobileUserAgent = checkIsMobileUserAgent();\n const isMobileScreen = checkIsMobileScreen(breakpointValue);\n const isMobile = isMobileScreen ?? isMobileUserAgent;\n\n return {\n isMobileScreen, // Is the screen width within a mobile breakpoint.\n isMobileUserAgent, // Is the user agent indicative of a mobile device.\n isMobile, // Combines both checks to determine if the device is mobile.\n };\n};\n\nexport const useDevice = (breakpoint: SizeType | number = 'md') => {\n const [result, setResult] = useState<UseDeviceState>(\n calculateIsMobile(breakpoint)\n );\n\n useEffect(() => {\n const handleResize = () => {\n setResult(calculateIsMobile(breakpoint));\n };\n\n window.addEventListener('resize', handleResize, { passive: true });\n\n // Cleanup listener on unmount\n return () => window.removeEventListener('resize', handleResize);\n }, [breakpoint]); // Empty dependency array ensures this effect runs only once on mount\n\n return result;\n};\n"],"mappings":";;;;;;AAMA,MAAa,yBAAyB,eAAkC;AACtE,SAAQ,YAAR;EACE,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,MACH,QAAO;EACT,QACE,QAAO;;;AAIb,MAAa,+BAAoD;AAC/D,KAAI,OAAO,WAAW,YAAa;CAEnC,MAAM,YAAY,OAAO,WAAW;AAEpC,KAAI,OAAO,cAAc,YAAa;AAEtC,QAAO,mVAAmV,KACxV,UACD;;AAGH,MAAa,oCAAyD;AACpE,KAAI,OAAO,WAAW,YAAa;CAEnC,MAAM,YAAY,OAAO,WAAW;CAGpC,MAAM,WACJ,cAAc,KAAK,UAAU,IAC7B,CAAC,8BAA8B,KAAK,UAAU;CAGhD,MAAM,gBAAgB,6BAA6B,KAAK,UAAU;AAElE,QAAO,YAAY;;AAGrB,MAAa,uBACX,eACwB;AACxB,KAAI,OAAO,WAAW,YAAa;AAEnC,SAAQ,QAAQ,cAAc,MAAM;;AAStC,MAAa,qBAAqB,aAAgC,SAAS;CACzE,MAAM,kBAAkB,sBAAsB,WAAW;CAEzD,MAAM,oBAAoB,wBAAwB;CAClD,MAAM,iBAAiB,oBAAoB,gBAAgB;AAG3D,QAAO;EACL;EACA;EACA,UALe,kBAAkB;EAMlC;;AAGH,MAAa,aAAa,aAAgC,SAAS;CACjE,MAAM,CAAC,QAAQ,aAAa,SAC1B,kBAAkB,WAAW,CAC9B;AAED,iBAAgB;EACd,MAAM,qBAAqB;AACzB,aAAU,kBAAkB,WAAW,CAAC;;AAG1C,SAAO,iBAAiB,UAAU,cAAc,EAAE,SAAS,MAAM,CAAC;AAGlE,eAAa,OAAO,oBAAoB,UAAU,aAAa;IAC9D,CAAC,WAAW,CAAC;AAEhB,QAAO"}
1
+ {"version":3,"file":"useDevice.mjs","names":[],"sources":["../../../src/hooks/useDevice.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport type SizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\nexport const getBreakpointFromSize = (breakpoint: SizeType | number) => {\n switch (breakpoint) {\n case 'xs':\n return 480;\n case 'sm':\n return 640;\n case 'md':\n return 768;\n case 'lg':\n return 1024;\n case 'xl':\n return 1280;\n case '2xl':\n return 1536;\n default:\n return breakpoint;\n }\n};\n\nexport const checkIsMobileUserAgent = (): boolean | undefined => {\n if (typeof window === 'undefined') return;\n\n const userAgent = window.navigator?.userAgent;\n\n if (typeof userAgent === 'undefined') return;\n\n return /android|bb\\d+|meego|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(?:hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(?:ob|in)i|palm(?: os)?|phone|p(?:ixi|re)\\/|plucker|pocket|psp|series(?:4|6)0|symbian|treo|up\\.(?:browser|link)|vodafone|wap|windows ce|windows phone|xda|xiino|zte-/i.test(\n userAgent\n );\n};\n\nexport const checkIsIphoneOrSafariDevice = (): boolean | undefined => {\n if (typeof window === 'undefined') return;\n\n const userAgent = window.navigator?.userAgent;\n\n /* 1 . is it Safari? (Chrome & co. also contain “Safari/…”, so exclude them) */\n const isSafari =\n /Safari\\/\\d/i.test(userAgent) && // has “Safari/xxx”\n !/Chrome|CriOS|FxiOS|Edg|OPR/i.test(userAgent); // …but not the other browsers\n\n /* 2. is it an Apple device? (macOS or iOS/iPadOS) */\n const isAppleDevice = /Macintosh|iP(?:hone|ad|od)/.test(userAgent);\n\n return isSafari && isAppleDevice; // true for mac-Safari & iOS-Safari\n};\n\nexport const checkIsIOS = (): boolean | undefined => {\n if (typeof window === 'undefined') return;\n\n const userAgent = window.navigator?.userAgent;\n\n if (typeof userAgent === 'undefined') return;\n\n // Check for iOS devices: iPhone, iPad, iPod\n return /iP(?:hone|ad|od)/.test(userAgent);\n};\n\nexport const checkIsMac = (): boolean | undefined => {\n if (typeof window === 'undefined') return;\n\n const userAgent = window.navigator?.userAgent;\n\n if (typeof userAgent === 'undefined') return;\n\n // Check for macOS/Mac devices\n return /Macintosh|MacIntel|Mac OS X/.test(userAgent);\n};\n\nexport const checkIsMobileScreen = (\n breakpoint: number\n): boolean | undefined => {\n if (typeof window === 'undefined') return;\n\n return (window?.innerWidth ?? 0) <= breakpoint;\n};\n\ntype UseDeviceState = {\n isMobileScreen: boolean | undefined;\n isMobileUserAgent: boolean | undefined;\n isMobile: boolean | undefined;\n isIOS: boolean | undefined;\n isMac: boolean | undefined;\n};\n\nexport const calculateIsMobile = (breakpoint: SizeType | number = 'md') => {\n const breakpointValue = getBreakpointFromSize(breakpoint);\n\n const isMobileUserAgent = checkIsMobileUserAgent();\n const isMobileScreen = checkIsMobileScreen(breakpointValue);\n const isMobile = isMobileScreen ?? isMobileUserAgent;\n const isIOS = checkIsIOS();\n const isMac = checkIsMac();\n\n return {\n isMobileScreen, // Is the screen width within a mobile breakpoint.\n isMobileUserAgent, // Is the user agent indicative of a mobile device.\n isMobile, // Combines both checks to determine if the device is mobile.\n isIOS, // Is the device running iOS (iPhone, iPad, iPod).\n isMac, // Is the device a Mac computer (macOS).\n };\n};\n\nexport const useDevice = (breakpoint: SizeType | number = 'md') => {\n const [result, setResult] = useState<UseDeviceState>(\n calculateIsMobile(breakpoint)\n );\n\n useEffect(() => {\n const handleResize = () => {\n setResult(calculateIsMobile(breakpoint));\n };\n\n window.addEventListener('resize', handleResize, { passive: true });\n\n // Cleanup listener on unmount\n return () => window.removeEventListener('resize', handleResize);\n }, [breakpoint]); // Empty dependency array ensures this effect runs only once on mount\n\n return result;\n};\n"],"mappings":";;;;;;AAMA,MAAa,yBAAyB,eAAkC;AACtE,SAAQ,YAAR;EACE,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,KACH,QAAO;EACT,KAAK,MACH,QAAO;EACT,QACE,QAAO;;;AAIb,MAAa,+BAAoD;AAC/D,KAAI,OAAO,WAAW,YAAa;CAEnC,MAAM,YAAY,OAAO,WAAW;AAEpC,KAAI,OAAO,cAAc,YAAa;AAEtC,QAAO,mVAAmV,KACxV,UACD;;AAGH,MAAa,oCAAyD;AACpE,KAAI,OAAO,WAAW,YAAa;CAEnC,MAAM,YAAY,OAAO,WAAW;CAGpC,MAAM,WACJ,cAAc,KAAK,UAAU,IAC7B,CAAC,8BAA8B,KAAK,UAAU;CAGhD,MAAM,gBAAgB,6BAA6B,KAAK,UAAU;AAElE,QAAO,YAAY;;AAGrB,MAAa,mBAAwC;AACnD,KAAI,OAAO,WAAW,YAAa;CAEnC,MAAM,YAAY,OAAO,WAAW;AAEpC,KAAI,OAAO,cAAc,YAAa;AAGtC,QAAO,mBAAmB,KAAK,UAAU;;AAG3C,MAAa,mBAAwC;AACnD,KAAI,OAAO,WAAW,YAAa;CAEnC,MAAM,YAAY,OAAO,WAAW;AAEpC,KAAI,OAAO,cAAc,YAAa;AAGtC,QAAO,8BAA8B,KAAK,UAAU;;AAGtD,MAAa,uBACX,eACwB;AACxB,KAAI,OAAO,WAAW,YAAa;AAEnC,SAAQ,QAAQ,cAAc,MAAM;;AAWtC,MAAa,qBAAqB,aAAgC,SAAS;CACzE,MAAM,kBAAkB,sBAAsB,WAAW;CAEzD,MAAM,oBAAoB,wBAAwB;CAClD,MAAM,iBAAiB,oBAAoB,gBAAgB;AAK3D,QAAO;EACL;EACA;EACA,UAPe,kBAAkB;EAQjC,OAPY,YAAY;EAQxB,OAPY,YAAY;EAQzB;;AAGH,MAAa,aAAa,aAAgC,SAAS;CACjE,MAAM,CAAC,QAAQ,aAAa,SAC1B,kBAAkB,WAAW,CAC9B;AAED,iBAAgB;EACd,MAAM,qBAAqB;AACzB,aAAU,kBAAkB,WAAW,CAAC;;AAG1C,SAAO,iBAAiB,UAAU,cAAc,EAAE,SAAS,MAAM,CAAC;AAGlE,eAAa,OAAO,oBAAoB,UAAU,aAAa;IAC9D,CAAC,WAAW,CAAC;AAEhB,QAAO"}
@@ -5,7 +5,10 @@ import { useEffect, useState } from "react";
5
5
 
6
6
  //#region src/hooks/useItemSelector.ts
7
7
  const selectorDefault = (option) => option?.getAttribute("aria-selected") === "true";
8
- const useItemSelector = (optionsRefs, selector = selectorDefault, isHoverable = false) => {
8
+ const useItemSelector = (optionsRefs, { selector = selectorDefault, isHoverable = false } = {
9
+ selector: selectorDefault,
10
+ isHoverable: false
11
+ }) => {
9
12
  const [choiceIndicatorPosition, setChoiceIndicatorPosition] = useState(null);
10
13
  const [hoveredItem, setHoveredItem] = useState(null);
11
14
  const itemsLength = optionsRefs.current.length;
@@ -1 +1 @@
1
- {"version":3,"file":"useItemSelector.mjs","names":["targetElement: HTMLElement | null","mutationObservers: MutationObserver[]","resizeObservers: ResizeObserver[]"],"sources":["../../../src/hooks/useItemSelector.ts"],"sourcesContent":["'use client';\n\nimport { type RefObject, useEffect, useState } from 'react';\n\ntype StyleState = {\n left: number;\n width: number;\n opacity: number;\n};\n\nconst selectorDefault = (option: HTMLElement) =>\n option?.getAttribute('aria-selected') === 'true';\n\nexport const useItemSelector = (\n optionsRefs: RefObject<HTMLElement[]>,\n selector: (option: HTMLElement, index: number) => boolean = selectorDefault,\n isHoverable = false\n) => {\n const [choiceIndicatorPosition, setChoiceIndicatorPosition] =\n useState<StyleState | null>(null);\n\n const [hoveredItem, setHoveredItem] = useState<HTMLElement | null>(null);\n\n const itemsLength = optionsRefs.current.length;\n\n const calculatePosition = () => {\n let targetElement: HTMLElement | null = null;\n\n if (hoveredItem) {\n targetElement = hoveredItem;\n } else {\n targetElement = optionsRefs.current.find(selector) ?? null;\n }\n\n if (!targetElement) {\n setChoiceIndicatorPosition((prev) => ({\n left: 0,\n width: 0,\n ...prev,\n opacity: 0,\n }));\n return;\n }\n\n const left = targetElement.offsetLeft;\n const width = targetElement.offsetWidth;\n\n setChoiceIndicatorPosition({\n left,\n width,\n opacity: 1,\n });\n };\n\n useEffect(() => {\n calculatePosition();\n\n // Event listeners for window events\n window.addEventListener('resize', calculatePosition);\n window.addEventListener('DOMContentLoaded', calculatePosition);\n\n // MutationObserver to watch for 'aria-selected' changes\n const mutationObservers: MutationObserver[] = [];\n\n optionsRefs.current.forEach((option) => {\n if (option) {\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'aria-selected'\n ) {\n calculatePosition();\n break;\n }\n }\n });\n\n observer.observe(option, {\n attributes: true,\n attributeFilter: ['aria-selected'],\n });\n\n mutationObservers.push(observer);\n }\n });\n\n // ResizeObserver to watch for size changes\n const resizeObservers: ResizeObserver[] = [];\n\n const observeSize = (element: HTMLElement) => {\n if (!element) return;\n const resizeObserver = new ResizeObserver(() => {\n calculatePosition();\n });\n resizeObserver.observe(element);\n resizeObservers.push(resizeObserver);\n };\n\n // Observe the selected item\n const selectedItem = optionsRefs.current.find(selector) ?? null;\n\n if (selectedItem) {\n observeSize(selectedItem);\n }\n\n // Observe the hovered item\n if (hoveredItem) {\n observeSize(hoveredItem);\n }\n\n // Add hover event listeners\n const handleMouseEnter = (event: Event) => {\n setHoveredItem(event.currentTarget as HTMLElement);\n };\n\n const handleMouseLeave = () => {\n setHoveredItem(null);\n };\n\n if (isHoverable) {\n optionsRefs.current.forEach((option) => {\n option?.addEventListener('mouseenter', handleMouseEnter, {\n passive: true,\n });\n option?.addEventListener('mouseleave', handleMouseLeave, {\n passive: true,\n });\n });\n }\n\n return () => {\n // Cleanup window event listeners\n window.removeEventListener('resize', calculatePosition);\n window.removeEventListener('DOMContentLoaded', calculatePosition);\n\n // Disconnect MutationObservers\n mutationObservers.forEach((observer) => {\n observer.disconnect();\n });\n\n // Disconnect ResizeObservers\n resizeObservers.forEach((observer) => {\n observer.disconnect();\n });\n\n // Remove hover event listeners\n optionsRefs.current.forEach((option) => {\n option?.removeEventListener('mouseenter', handleMouseEnter);\n option?.removeEventListener('mouseleave', handleMouseLeave);\n });\n };\n }, [optionsRefs, selector, hoveredItem, itemsLength]);\n\n return { choiceIndicatorPosition, calculatePosition };\n};\n"],"mappings":";;;;;;AAUA,MAAM,mBAAmB,WACvB,QAAQ,aAAa,gBAAgB,KAAK;AAE5C,MAAa,mBACX,aACA,WAA4D,iBAC5D,cAAc,UACX;CACH,MAAM,CAAC,yBAAyB,8BAC9B,SAA4B,KAAK;CAEnC,MAAM,CAAC,aAAa,kBAAkB,SAA6B,KAAK;CAExE,MAAM,cAAc,YAAY,QAAQ;CAExC,MAAM,0BAA0B;EAC9B,IAAIA,gBAAoC;AAExC,MAAI,YACF,iBAAgB;MAEhB,iBAAgB,YAAY,QAAQ,KAAK,SAAS,IAAI;AAGxD,MAAI,CAAC,eAAe;AAClB,+BAA4B,UAAU;IACpC,MAAM;IACN,OAAO;IACP,GAAG;IACH,SAAS;IACV,EAAE;AACH;;EAGF,MAAM,OAAO,cAAc;EAC3B,MAAM,QAAQ,cAAc;AAE5B,6BAA2B;GACzB;GACA;GACA,SAAS;GACV,CAAC;;AAGJ,iBAAgB;AACd,qBAAmB;AAGnB,SAAO,iBAAiB,UAAU,kBAAkB;AACpD,SAAO,iBAAiB,oBAAoB,kBAAkB;EAG9D,MAAMC,oBAAwC,EAAE;AAEhD,cAAY,QAAQ,SAAS,WAAW;AACtC,OAAI,QAAQ;IACV,MAAM,WAAW,IAAI,kBAAkB,cAAc;AACnD,UAAK,MAAM,YAAY,UACrB,KACE,SAAS,SAAS,gBAClB,SAAS,kBAAkB,iBAC3B;AACA,yBAAmB;AACnB;;MAGJ;AAEF,aAAS,QAAQ,QAAQ;KACvB,YAAY;KACZ,iBAAiB,CAAC,gBAAgB;KACnC,CAAC;AAEF,sBAAkB,KAAK,SAAS;;IAElC;EAGF,MAAMC,kBAAoC,EAAE;EAE5C,MAAM,eAAe,YAAyB;AAC5C,OAAI,CAAC,QAAS;GACd,MAAM,iBAAiB,IAAI,qBAAqB;AAC9C,uBAAmB;KACnB;AACF,kBAAe,QAAQ,QAAQ;AAC/B,mBAAgB,KAAK,eAAe;;EAItC,MAAM,eAAe,YAAY,QAAQ,KAAK,SAAS,IAAI;AAE3D,MAAI,aACF,aAAY,aAAa;AAI3B,MAAI,YACF,aAAY,YAAY;EAI1B,MAAM,oBAAoB,UAAiB;AACzC,kBAAe,MAAM,cAA6B;;EAGpD,MAAM,yBAAyB;AAC7B,kBAAe,KAAK;;AAGtB,MAAI,YACF,aAAY,QAAQ,SAAS,WAAW;AACtC,WAAQ,iBAAiB,cAAc,kBAAkB,EACvD,SAAS,MACV,CAAC;AACF,WAAQ,iBAAiB,cAAc,kBAAkB,EACvD,SAAS,MACV,CAAC;IACF;AAGJ,eAAa;AAEX,UAAO,oBAAoB,UAAU,kBAAkB;AACvD,UAAO,oBAAoB,oBAAoB,kBAAkB;AAGjE,qBAAkB,SAAS,aAAa;AACtC,aAAS,YAAY;KACrB;AAGF,mBAAgB,SAAS,aAAa;AACpC,aAAS,YAAY;KACrB;AAGF,eAAY,QAAQ,SAAS,WAAW;AACtC,YAAQ,oBAAoB,cAAc,iBAAiB;AAC3D,YAAQ,oBAAoB,cAAc,iBAAiB;KAC3D;;IAEH;EAAC;EAAa;EAAU;EAAa;EAAY,CAAC;AAErD,QAAO;EAAE;EAAyB;EAAmB"}
1
+ {"version":3,"file":"useItemSelector.mjs","names":["targetElement: HTMLElement | null","mutationObservers: MutationObserver[]","resizeObservers: ResizeObserver[]"],"sources":["../../../src/hooks/useItemSelector.ts"],"sourcesContent":["'use client';\n\nimport { type RefObject, useEffect, useState } from 'react';\n\ntype StyleState = {\n left: number;\n width: number;\n opacity: number;\n};\n\nconst selectorDefault = (option: HTMLElement) =>\n option?.getAttribute('aria-selected') === 'true';\n\ntype Options = {\n selector?: (option: HTMLElement, index: number) => boolean;\n isHoverable?: boolean;\n};\n\nexport const useItemSelector = (\n optionsRefs: RefObject<HTMLElement[]>,\n { selector = selectorDefault, isHoverable = false }: Options = {\n selector: selectorDefault,\n isHoverable: false,\n }\n) => {\n const [choiceIndicatorPosition, setChoiceIndicatorPosition] =\n useState<StyleState | null>(null);\n\n const [hoveredItem, setHoveredItem] = useState<HTMLElement | null>(null);\n\n const itemsLength = optionsRefs.current.length;\n\n const calculatePosition = () => {\n let targetElement: HTMLElement | null = null;\n\n if (hoveredItem) {\n targetElement = hoveredItem;\n } else {\n targetElement = optionsRefs.current.find(selector) ?? null;\n }\n\n if (!targetElement) {\n setChoiceIndicatorPosition((prev) => ({\n left: 0,\n width: 0,\n ...prev,\n opacity: 0,\n }));\n return;\n }\n\n const left = targetElement.offsetLeft;\n const width = targetElement.offsetWidth;\n\n setChoiceIndicatorPosition({\n left,\n width,\n opacity: 1,\n });\n };\n\n useEffect(() => {\n calculatePosition();\n\n // Event listeners for window events\n window.addEventListener('resize', calculatePosition);\n window.addEventListener('DOMContentLoaded', calculatePosition);\n\n // MutationObserver to watch for 'aria-selected' changes\n const mutationObservers: MutationObserver[] = [];\n\n optionsRefs.current.forEach((option) => {\n if (option) {\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'aria-selected'\n ) {\n calculatePosition();\n break;\n }\n }\n });\n\n observer.observe(option, {\n attributes: true,\n attributeFilter: ['aria-selected'],\n });\n\n mutationObservers.push(observer);\n }\n });\n\n // ResizeObserver to watch for size changes\n const resizeObservers: ResizeObserver[] = [];\n\n const observeSize = (element: HTMLElement) => {\n if (!element) return;\n const resizeObserver = new ResizeObserver(() => {\n calculatePosition();\n });\n resizeObserver.observe(element);\n resizeObservers.push(resizeObserver);\n };\n\n // Observe the selected item\n const selectedItem = optionsRefs.current.find(selector) ?? null;\n\n if (selectedItem) {\n observeSize(selectedItem);\n }\n\n // Observe the hovered item\n if (hoveredItem) {\n observeSize(hoveredItem);\n }\n\n // Add hover event listeners\n const handleMouseEnter = (event: Event) => {\n setHoveredItem(event.currentTarget as HTMLElement);\n };\n\n const handleMouseLeave = () => {\n setHoveredItem(null);\n };\n\n if (isHoverable) {\n optionsRefs.current.forEach((option) => {\n option?.addEventListener('mouseenter', handleMouseEnter, {\n passive: true,\n });\n option?.addEventListener('mouseleave', handleMouseLeave, {\n passive: true,\n });\n });\n }\n\n return () => {\n // Cleanup window event listeners\n window.removeEventListener('resize', calculatePosition);\n window.removeEventListener('DOMContentLoaded', calculatePosition);\n\n // Disconnect MutationObservers\n mutationObservers.forEach((observer) => {\n observer.disconnect();\n });\n\n // Disconnect ResizeObservers\n resizeObservers.forEach((observer) => {\n observer.disconnect();\n });\n\n // Remove hover event listeners\n optionsRefs.current.forEach((option) => {\n option?.removeEventListener('mouseenter', handleMouseEnter);\n option?.removeEventListener('mouseleave', handleMouseLeave);\n });\n };\n }, [optionsRefs, selector, hoveredItem, itemsLength]);\n\n return { choiceIndicatorPosition, calculatePosition };\n};\n"],"mappings":";;;;;;AAUA,MAAM,mBAAmB,WACvB,QAAQ,aAAa,gBAAgB,KAAK;AAO5C,MAAa,mBACX,aACA,EAAE,WAAW,iBAAiB,cAAc,UAAmB;CAC7D,UAAU;CACV,aAAa;CACd,KACE;CACH,MAAM,CAAC,yBAAyB,8BAC9B,SAA4B,KAAK;CAEnC,MAAM,CAAC,aAAa,kBAAkB,SAA6B,KAAK;CAExE,MAAM,cAAc,YAAY,QAAQ;CAExC,MAAM,0BAA0B;EAC9B,IAAIA,gBAAoC;AAExC,MAAI,YACF,iBAAgB;MAEhB,iBAAgB,YAAY,QAAQ,KAAK,SAAS,IAAI;AAGxD,MAAI,CAAC,eAAe;AAClB,+BAA4B,UAAU;IACpC,MAAM;IACN,OAAO;IACP,GAAG;IACH,SAAS;IACV,EAAE;AACH;;EAGF,MAAM,OAAO,cAAc;EAC3B,MAAM,QAAQ,cAAc;AAE5B,6BAA2B;GACzB;GACA;GACA,SAAS;GACV,CAAC;;AAGJ,iBAAgB;AACd,qBAAmB;AAGnB,SAAO,iBAAiB,UAAU,kBAAkB;AACpD,SAAO,iBAAiB,oBAAoB,kBAAkB;EAG9D,MAAMC,oBAAwC,EAAE;AAEhD,cAAY,QAAQ,SAAS,WAAW;AACtC,OAAI,QAAQ;IACV,MAAM,WAAW,IAAI,kBAAkB,cAAc;AACnD,UAAK,MAAM,YAAY,UACrB,KACE,SAAS,SAAS,gBAClB,SAAS,kBAAkB,iBAC3B;AACA,yBAAmB;AACnB;;MAGJ;AAEF,aAAS,QAAQ,QAAQ;KACvB,YAAY;KACZ,iBAAiB,CAAC,gBAAgB;KACnC,CAAC;AAEF,sBAAkB,KAAK,SAAS;;IAElC;EAGF,MAAMC,kBAAoC,EAAE;EAE5C,MAAM,eAAe,YAAyB;AAC5C,OAAI,CAAC,QAAS;GACd,MAAM,iBAAiB,IAAI,qBAAqB;AAC9C,uBAAmB;KACnB;AACF,kBAAe,QAAQ,QAAQ;AAC/B,mBAAgB,KAAK,eAAe;;EAItC,MAAM,eAAe,YAAY,QAAQ,KAAK,SAAS,IAAI;AAE3D,MAAI,aACF,aAAY,aAAa;AAI3B,MAAI,YACF,aAAY,YAAY;EAI1B,MAAM,oBAAoB,UAAiB;AACzC,kBAAe,MAAM,cAA6B;;EAGpD,MAAM,yBAAyB;AAC7B,kBAAe,KAAK;;AAGtB,MAAI,YACF,aAAY,QAAQ,SAAS,WAAW;AACtC,WAAQ,iBAAiB,cAAc,kBAAkB,EACvD,SAAS,MACV,CAAC;AACF,WAAQ,iBAAiB,cAAc,kBAAkB,EACvD,SAAS,MACV,CAAC;IACF;AAGJ,eAAa;AAEX,UAAO,oBAAoB,UAAU,kBAAkB;AACvD,UAAO,oBAAoB,oBAAoB,kBAAkB;AAGjE,qBAAkB,SAAS,aAAa;AACtC,aAAS,YAAY;KACrB;AAGF,mBAAgB,SAAS,aAAa;AACpC,aAAS,YAAY;KACrB;AAGF,eAAY,QAAQ,SAAS,WAAW;AACtC,YAAQ,oBAAoB,cAAc,iBAAiB;AAC3D,YAAQ,oBAAoB,cAAc,iBAAiB;KAC3D;;IAEH;EAAC;EAAa;EAAU;EAAa;EAAY,CAAC;AAErD,QAAO;EAAE;EAAyB;EAAmB"}
@@ -1,90 +1,126 @@
1
1
  import configuration from "@intlayer/config/built";
2
2
  import { createAuthClient } from "better-auth/client";
3
+ import { magicLinkClient, passkeyClient, twoFactorClient } from "better-auth/client/plugins";
3
4
 
4
5
  //#region src/libs/auth.ts
6
+ const getAuthClient = (backendURL) => createAuthClient({
7
+ baseURL: backendURL,
8
+ withCredentials: true,
9
+ plugins: [
10
+ twoFactorClient({ onTwoFactorRedirect: () => {
11
+ const redirectUrl = new URLSearchParams(window.location.search).get("redirect_url");
12
+ const twoFaUrl = redirectUrl ? `/auth/2fa?redirect_url=${encodeURIComponent(redirectUrl)}` : "/auth/2fa";
13
+ window.location.href = twoFaUrl;
14
+ } }),
15
+ passkeyClient(),
16
+ magicLinkClient()
17
+ ]
18
+ });
5
19
  const getAuthAPI = (intlayerConfig) => {
6
20
  const backendURL = intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL;
7
21
  if (!backendURL) throw new Error("Backend URL is not defined in the Intlayer configuration.");
8
- const getAuthClient = () => {
9
- return createAuthClient({
10
- baseURL: backendURL,
11
- withCredentials: true
12
- });
13
- };
22
+ const client = getAuthClient(backendURL);
14
23
  const signInEmail = async (...args) => {
15
- return getAuthClient().signIn.email(...args);
24
+ return client.signIn.email(...args);
16
25
  };
17
26
  const signInSocial = async (...args) => {
18
- return getAuthClient().signIn.social(...args);
27
+ return client.signIn.social(...args);
19
28
  };
20
29
  const signUpEmail = async (...args) => {
21
- return getAuthClient().signUp.email(...args);
30
+ return client.signUp.email(...args);
22
31
  };
23
32
  const signOut = async (...args) => {
24
- return getAuthClient().signOut(...args);
33
+ return client.signOut(...args);
25
34
  };
26
35
  const changePasswordSession = async (...args) => {
27
- return getAuthClient().changePassword(...args);
36
+ return client.changePassword(...args);
28
37
  };
29
38
  const requestPasswordResetSession = async (...args) => {
30
- return getAuthClient().requestPasswordReset(...args);
39
+ return client.requestPasswordReset(...args);
31
40
  };
32
41
  const resetPassword = async (...args) => {
33
- return getAuthClient().resetPassword(...args);
42
+ return client.resetPassword(...args);
34
43
  };
35
44
  const verifyEmailSession = async (...args) => {
36
- return getAuthClient().verifyEmail(...args);
45
+ return client.verifyEmail(...args);
37
46
  };
38
47
  const getSession = async (...args) => {
39
- return getAuthClient().getSession(...args);
48
+ return client.getSession(...args);
40
49
  };
41
50
  const forgetPassword = async (...args) => {
42
- return getAuthClient().forgetPassword(...args);
51
+ return client.forgetPassword(...args);
43
52
  };
44
53
  const sendVerificationEmail = async (...args) => {
45
- return getAuthClient().sendVerificationEmail(...args);
54
+ return client.sendVerificationEmail(...args);
46
55
  };
47
56
  const changeEmail = async (...args) => {
48
- return getAuthClient().changeEmail(...args);
57
+ return client.changeEmail(...args);
49
58
  };
50
59
  const deleteUser = async (...args) => {
51
- return getAuthClient().deleteUser(...args);
60
+ return client.deleteUser(...args);
52
61
  };
53
62
  const revokeSession = async (...args) => {
54
- return getAuthClient().revokeSession(...args);
63
+ return client.revokeSession(...args);
55
64
  };
56
65
  const revokeSessions = async (...args) => {
57
- return getAuthClient().revokeSessions(...args);
66
+ return client.revokeSessions(...args);
58
67
  };
59
68
  const revokeOtherSessions = async (...args) => {
60
- return getAuthClient().revokeOtherSessions(...args);
69
+ return client.revokeOtherSessions(...args);
61
70
  };
62
71
  const linkSocial = async (...args) => {
63
- return getAuthClient().linkSocial(...args);
72
+ return client.linkSocial(...args);
64
73
  };
65
74
  const listAccounts = async (...args) => {
66
- return getAuthClient().listAccounts(...args);
75
+ return client.listAccounts(...args);
67
76
  };
68
77
  const unlinkAccount = async (...args) => {
69
- return getAuthClient().unlinkAccount(...args);
78
+ return client.unlinkAccount(...args);
70
79
  };
71
80
  const refreshToken = async (...args) => {
72
- return getAuthClient().refreshToken(...args);
81
+ return client.refreshToken(...args);
73
82
  };
74
83
  const getAccessToken = async (...args) => {
75
- return getAuthClient().getAccessToken(...args);
84
+ return client.getAccessToken(...args);
76
85
  };
77
86
  const accountInfo = async (...args) => {
78
- return getAuthClient().accountInfo(...args);
87
+ return client.accountInfo(...args);
79
88
  };
80
89
  const updateUser = async (...args) => {
81
- return getAuthClient().updateUser(...args);
90
+ return client.updateUser(...args);
82
91
  };
83
92
  const listSessions = async (...args) => {
84
- return getAuthClient().listSessions(...args);
93
+ return client.listSessions(...args);
94
+ };
95
+ const enableTwoFactor = async (...args) => {
96
+ return client.twoFactor.enable(...args);
97
+ };
98
+ const disableTwoFactor = async (...args) => {
99
+ return client.twoFactor.disable(...args);
100
+ };
101
+ const verifyTotp = async (...args) => {
102
+ return client.twoFactor.verifyTotp(...args);
103
+ };
104
+ const verifyBackupCode = async (...args) => {
105
+ return client.twoFactor.verifyBackupCode(...args);
106
+ };
107
+ const addPasskey = async (...args) => {
108
+ return client.passkey.addPasskey(...args);
109
+ };
110
+ const signInPasskey = async (...args) => {
111
+ return client.signIn.passkey(...args);
112
+ };
113
+ const deletePasskey = async (...args) => {
114
+ return client.passkey.deletePasskey(...args);
115
+ };
116
+ const listPasskeys = async () => {
117
+ return client.$fetch("/passkey/list-user-passkeys", { method: "GET" });
118
+ };
119
+ const signInMagicLink = async (...args) => {
120
+ return client.signIn.magicLink(...args);
85
121
  };
86
122
  return {
87
- getAuthClient,
123
+ getAuthClient: () => client,
88
124
  signInEmail,
89
125
  signUpEmail,
90
126
  signOut,
@@ -108,7 +144,16 @@ const getAuthAPI = (intlayerConfig) => {
108
144
  getAccessToken,
109
145
  accountInfo,
110
146
  updateUser,
111
- listSessions
147
+ listSessions,
148
+ enableTwoFactor,
149
+ disableTwoFactor,
150
+ verifyTotp,
151
+ verifyBackupCode,
152
+ addPasskey,
153
+ signInPasskey,
154
+ deletePasskey,
155
+ listPasskeys,
156
+ signInMagicLink
112
157
  };
113
158
  };
114
159
 
@@ -1 +1 @@
1
- {"version":3,"file":"auth.mjs","names":["signInEmail: AuthClient['signIn']['email']","signInSocial: AuthClient['signIn']['social']","signUpEmail: AuthClient['signUp']['email']","signOut: AuthClient['signOut']","changePasswordSession: AuthClient['changePassword']","requestPasswordResetSession: AuthClient['requestPasswordReset']","resetPassword: AuthClient['resetPassword']","verifyEmailSession: AuthClient['verifyEmail']","getSession: AuthClient['getSession']","forgetPassword: AuthClient['forgetPassword']","sendVerificationEmail: AuthClient['sendVerificationEmail']","changeEmail: AuthClient['changeEmail']","deleteUser: AuthClient['deleteUser']","revokeSession: AuthClient['revokeSession']","revokeSessions: AuthClient['revokeSessions']","revokeOtherSessions: AuthClient['revokeOtherSessions']","linkSocial: AuthClient['linkSocial']","listAccounts: AuthClient['listAccounts']","unlinkAccount: AuthClient['unlinkAccount']","refreshToken: AuthClient['refreshToken']","getAccessToken: AuthClient['getAccessToken']","accountInfo: AuthClient['accountInfo']","updateUser: AuthClient['updateUser']","listSessions: AuthClient['listSessions']"],"sources":["../../../src/libs/auth.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { IntlayerConfig } from '@intlayer/types';\nimport { createAuthClient } from 'better-auth/client';\n\ntype AuthClient = ReturnType<typeof createAuthClient>;\n\nexport interface AuthAPI {\n getAuthClient: () => AuthClient;\n signInEmail: AuthClient['signIn']['email'];\n signUpEmail: AuthClient['signUp']['email'];\n signOut: AuthClient['signOut'];\n signInSocial: AuthClient['signIn']['social'];\n linkSocial: AuthClient['linkSocial'];\n changePasswordSession: AuthClient['changePassword'];\n requestPasswordResetSession: AuthClient['requestPasswordReset'];\n resetPassword: AuthClient['resetPassword'];\n verifyEmailSession: AuthClient['verifyEmail'];\n getSession: AuthClient['getSession'];\n forgetPassword: AuthClient['forgetPassword'];\n sendVerificationEmail: AuthClient['sendVerificationEmail'];\n changeEmail: AuthClient['changeEmail'];\n deleteUser: AuthClient['deleteUser'];\n revokeSession: AuthClient['revokeSession'];\n revokeSessions: AuthClient['revokeSessions'];\n revokeOtherSessions: AuthClient['revokeOtherSessions'];\n listAccounts: AuthClient['listAccounts'];\n unlinkAccount: AuthClient['unlinkAccount'];\n refreshToken: AuthClient['refreshToken'];\n getAccessToken: AuthClient['getAccessToken'];\n accountInfo: AuthClient['accountInfo'];\n updateUser: AuthClient['updateUser'];\n listSessions: AuthClient['listSessions'];\n}\n\nexport const getAuthAPI = (intlayerConfig?: IntlayerConfig): AuthAPI => {\n const backendURL =\n intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL;\n\n if (!backendURL) {\n throw new Error(\n 'Backend URL is not defined in the Intlayer configuration.'\n );\n }\n\n const getAuthClient = (): AuthClient => {\n return createAuthClient({\n baseURL: backendURL,\n withCredentials: true, // makes fetch forward cookies\n });\n };\n\n const signInEmail: AuthClient['signIn']['email'] = async (...args) => {\n const client = getAuthClient();\n return client.signIn.email(...args);\n };\n\n const signInSocial: AuthClient['signIn']['social'] = async (...args) => {\n const client = getAuthClient();\n return client.signIn.social(...args);\n };\n\n const signUpEmail: AuthClient['signUp']['email'] = async (...args) => {\n const client = getAuthClient();\n return client.signUp.email(...args);\n };\n\n const signOut: AuthClient['signOut'] = async (...args) => {\n const client = getAuthClient();\n return client.signOut(...args);\n };\n\n const changePasswordSession: AuthClient['changePassword'] = async (\n ...args\n ) => {\n const client = getAuthClient();\n return client.changePassword(...args);\n };\n\n const requestPasswordResetSession: AuthClient['requestPasswordReset'] =\n async (...args) => {\n const client = getAuthClient();\n return client.requestPasswordReset(...args);\n };\n\n // @ts-ignore - resetPassword is not typed\n const resetPassword: AuthClient['resetPassword'] = async (...args) => {\n const client = getAuthClient();\n return client.resetPassword(...args);\n };\n\n const verifyEmailSession: AuthClient['verifyEmail'] = async (...args) => {\n const client = getAuthClient();\n return client.verifyEmail(...args);\n };\n\n const getSession: AuthClient['getSession'] = async (...args) => {\n const client = getAuthClient();\n return client.getSession(...args);\n };\n\n const forgetPassword: AuthClient['forgetPassword'] = async (...args) => {\n const client = getAuthClient();\n return client.forgetPassword(...args);\n };\n\n const sendVerificationEmail: AuthClient['sendVerificationEmail'] = async (\n ...args\n ) => {\n const client = getAuthClient();\n return client.sendVerificationEmail(...args);\n };\n\n const changeEmail: AuthClient['changeEmail'] = async (...args) => {\n const client = getAuthClient();\n return client.changeEmail(...args);\n };\n\n // @ts-ignore - deleteUser is not typed\n const deleteUser: AuthClient['deleteUser'] = async (...args) => {\n const client = getAuthClient();\n return client.deleteUser(...args);\n };\n\n const revokeSession: AuthClient['revokeSession'] = async (...args) => {\n const client = getAuthClient();\n return client.revokeSession(...args);\n };\n\n const revokeSessions: AuthClient['revokeSessions'] = async (...args) => {\n const client = getAuthClient();\n return client.revokeSessions(...args);\n };\n\n const revokeOtherSessions: AuthClient['revokeOtherSessions'] = async (\n ...args\n ) => {\n const client = getAuthClient();\n return client.revokeOtherSessions(...args);\n };\n\n const linkSocial: AuthClient['linkSocial'] = async (...args) => {\n const client = getAuthClient();\n return client.linkSocial(...args);\n };\n\n const listAccounts: AuthClient['listAccounts'] = async (...args) => {\n const client = getAuthClient();\n return client.listAccounts(...args);\n };\n\n const unlinkAccount: AuthClient['unlinkAccount'] = async (...args) => {\n const client = getAuthClient();\n return client.unlinkAccount(...args);\n };\n\n const refreshToken: AuthClient['refreshToken'] = async (...args) => {\n const client = getAuthClient();\n return client.refreshToken(...args);\n };\n\n const getAccessToken: AuthClient['getAccessToken'] = async (...args) => {\n const client = getAuthClient();\n return client.getAccessToken(...args);\n };\n\n const accountInfo: AuthClient['accountInfo'] = async (...args) => {\n const client = getAuthClient();\n return client.accountInfo(...args);\n };\n\n const updateUser: AuthClient['updateUser'] = async (...args) => {\n const client = getAuthClient();\n return client.updateUser(...args);\n };\n\n const listSessions: AuthClient['listSessions'] = async (...args) => {\n const client = getAuthClient();\n return client.listSessions(...args);\n };\n\n return {\n getAuthClient,\n signInEmail,\n signUpEmail,\n signOut,\n signInSocial,\n linkSocial,\n changePasswordSession,\n requestPasswordResetSession,\n resetPassword,\n verifyEmailSession,\n getSession,\n forgetPassword,\n sendVerificationEmail,\n changeEmail,\n deleteUser,\n revokeSession,\n revokeSessions,\n revokeOtherSessions,\n listAccounts,\n unlinkAccount,\n refreshToken,\n getAccessToken,\n accountInfo,\n updateUser,\n listSessions,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"auth.mjs","names":["signInEmail: AuthClient['signIn']['email']","signInSocial: AuthClient['signIn']['social']","signUpEmail: AuthClient['signUp']['email']","signOut: AuthClient['signOut']","changePasswordSession: AuthClient['changePassword']","requestPasswordResetSession: AuthClient['requestPasswordReset']","resetPassword: AuthClient['resetPassword']","verifyEmailSession: AuthClient['verifyEmail']","getSession: AuthClient['getSession']","forgetPassword: AuthClient['forgetPassword']","sendVerificationEmail: AuthClient['sendVerificationEmail']","changeEmail: AuthClient['changeEmail']","deleteUser: AuthClient['deleteUser']","revokeSession: AuthClient['revokeSession']","revokeSessions: AuthClient['revokeSessions']","revokeOtherSessions: AuthClient['revokeOtherSessions']","linkSocial: AuthClient['linkSocial']","listAccounts: AuthClient['listAccounts']","unlinkAccount: AuthClient['unlinkAccount']","refreshToken: AuthClient['refreshToken']","getAccessToken: AuthClient['getAccessToken']","accountInfo: AuthClient['accountInfo']","updateUser: AuthClient['updateUser']","listSessions: AuthClient['listSessions']","enableTwoFactor: AuthClient['twoFactor']['enable']","disableTwoFactor: AuthClient['twoFactor']['disable']","verifyTotp: AuthClient['twoFactor']['verifyTotp']","verifyBackupCode: AuthClient['twoFactor']['verifyBackupCode']","addPasskey: AuthClient['passkey']['addPasskey']","signInPasskey: AuthClient['signIn']['passkey']","deletePasskey: AuthClient['passkey']['deletePasskey']","signInMagicLink: AuthClient['signIn']['magicLink']"],"sources":["../../../src/libs/auth.ts"],"sourcesContent":["import configuration from '@intlayer/config/built';\nimport type { IntlayerConfig } from '@intlayer/types';\nimport { createAuthClient } from 'better-auth/client';\nimport {\n magicLinkClient,\n passkeyClient,\n twoFactorClient,\n} from 'better-auth/client/plugins';\n\nconst getAuthClient = (backendURL: string) =>\n createAuthClient({\n baseURL: backendURL,\n withCredentials: true, // makes fetch forward cookies\n plugins: [\n twoFactorClient({\n onTwoFactorRedirect: () => {\n // Preserve redirect_url when redirecting to 2FA\n const searchParams = new URLSearchParams(window.location.search);\n const redirectUrl = searchParams.get('redirect_url');\n const twoFaUrl = redirectUrl\n ? `/auth/2fa?redirect_url=${encodeURIComponent(redirectUrl)}`\n : '/auth/2fa';\n window.location.href = twoFaUrl;\n },\n }),\n passkeyClient(),\n magicLinkClient(),\n ],\n });\n\ntype AuthClient = ReturnType<typeof getAuthClient>;\n\nexport interface AuthAPI {\n getAuthClient: () => AuthClient;\n signInEmail: AuthClient['signIn']['email'];\n signUpEmail: AuthClient['signUp']['email'];\n signOut: AuthClient['signOut'];\n signInSocial: AuthClient['signIn']['social'];\n linkSocial: AuthClient['linkSocial'];\n changePasswordSession: AuthClient['changePassword'];\n requestPasswordResetSession: AuthClient['requestPasswordReset'];\n resetPassword: AuthClient['resetPassword'];\n verifyEmailSession: AuthClient['verifyEmail'];\n getSession: AuthClient['getSession'];\n forgetPassword: AuthClient['forgetPassword'];\n sendVerificationEmail: AuthClient['sendVerificationEmail'];\n changeEmail: AuthClient['changeEmail'];\n deleteUser: AuthClient['deleteUser'];\n revokeSession: AuthClient['revokeSession'];\n revokeSessions: AuthClient['revokeSessions'];\n revokeOtherSessions: AuthClient['revokeOtherSessions'];\n listAccounts: AuthClient['listAccounts'];\n unlinkAccount: AuthClient['unlinkAccount'];\n refreshToken: AuthClient['refreshToken'];\n getAccessToken: AuthClient['getAccessToken'];\n accountInfo: AuthClient['accountInfo'];\n updateUser: AuthClient['updateUser'];\n listSessions: AuthClient['listSessions'];\n enableTwoFactor: AuthClient['twoFactor']['enable'];\n disableTwoFactor: AuthClient['twoFactor']['disable'];\n verifyTotp: AuthClient['twoFactor']['verifyTotp'];\n verifyBackupCode: AuthClient['twoFactor']['verifyBackupCode'];\n addPasskey: AuthClient['passkey']['addPasskey'];\n signInPasskey: AuthClient['signIn']['passkey'];\n deletePasskey: AuthClient['passkey']['deletePasskey'];\n listPasskeys: () => Promise<any>;\n signInMagicLink: AuthClient['signIn']['magicLink'];\n}\n\nexport const getAuthAPI = (intlayerConfig?: IntlayerConfig): AuthAPI => {\n const backendURL =\n intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL;\n\n if (!backendURL) {\n throw new Error(\n 'Backend URL is not defined in the Intlayer configuration.'\n );\n }\n\n const client = getAuthClient(backendURL);\n\n const signInEmail: AuthClient['signIn']['email'] = async (...args) => {\n return client.signIn.email(...args);\n };\n\n const signInSocial: AuthClient['signIn']['social'] = async (...args) => {\n return client.signIn.social(...args);\n };\n\n const signUpEmail: AuthClient['signUp']['email'] = async (...args) => {\n return client.signUp.email(...args);\n };\n\n const signOut: AuthClient['signOut'] = async (...args) => {\n return client.signOut(...args);\n };\n\n const changePasswordSession: AuthClient['changePassword'] = async (\n ...args\n ) => {\n return client.changePassword(...args);\n };\n\n const requestPasswordResetSession: AuthClient['requestPasswordReset'] =\n async (...args) => {\n return client.requestPasswordReset(...args);\n };\n\n // @ts-ignore - resetPassword is not typed\n const resetPassword: AuthClient['resetPassword'] = async (...args) => {\n return client.resetPassword(...args);\n };\n\n const verifyEmailSession: AuthClient['verifyEmail'] = async (...args) => {\n return client.verifyEmail(...args);\n };\n\n const getSession: AuthClient['getSession'] = async (...args) => {\n return client.getSession(...args);\n };\n\n const forgetPassword: AuthClient['forgetPassword'] = async (...args) => {\n return client.forgetPassword(...args);\n };\n\n const sendVerificationEmail: AuthClient['sendVerificationEmail'] = async (\n ...args\n ) => {\n return client.sendVerificationEmail(...args);\n };\n\n const changeEmail: AuthClient['changeEmail'] = async (...args) => {\n return client.changeEmail(...args);\n };\n\n // @ts-ignore - deleteUser is not typed\n const deleteUser: AuthClient['deleteUser'] = async (...args) => {\n return client.deleteUser(...args);\n };\n\n const revokeSession: AuthClient['revokeSession'] = async (...args) => {\n return client.revokeSession(...args);\n };\n\n const revokeSessions: AuthClient['revokeSessions'] = async (...args) => {\n return client.revokeSessions(...args);\n };\n\n const revokeOtherSessions: AuthClient['revokeOtherSessions'] = async (\n ...args\n ) => {\n return client.revokeOtherSessions(...args);\n };\n\n const linkSocial: AuthClient['linkSocial'] = async (...args) => {\n return client.linkSocial(...args);\n };\n\n const listAccounts: AuthClient['listAccounts'] = async (...args) => {\n return client.listAccounts(...args);\n };\n\n const unlinkAccount: AuthClient['unlinkAccount'] = async (...args) => {\n return client.unlinkAccount(...args);\n };\n\n const refreshToken: AuthClient['refreshToken'] = async (...args) => {\n return client.refreshToken(...args);\n };\n\n const getAccessToken: AuthClient['getAccessToken'] = async (...args) => {\n return client.getAccessToken(...args);\n };\n\n const accountInfo: AuthClient['accountInfo'] = async (...args) => {\n return client.accountInfo(...args);\n };\n\n const updateUser: AuthClient['updateUser'] = async (...args) => {\n return client.updateUser(...args);\n };\n\n const listSessions: AuthClient['listSessions'] = async (...args) => {\n return client.listSessions(...args);\n };\n\n const enableTwoFactor: AuthClient['twoFactor']['enable'] = async (\n ...args\n ) => {\n return client.twoFactor.enable(...args) as ReturnType<\n AuthClient['twoFactor']['enable']\n >;\n };\n\n const disableTwoFactor: AuthClient['twoFactor']['disable'] = async (\n ...args\n ) => {\n return client.twoFactor.disable(...args) as ReturnType<\n AuthClient['twoFactor']['disable']\n >;\n };\n\n const verifyTotp: AuthClient['twoFactor']['verifyTotp'] = async (...args) => {\n return client.twoFactor.verifyTotp(...args) as ReturnType<\n AuthClient['twoFactor']['verifyTotp']\n >;\n };\n\n const verifyBackupCode: AuthClient['twoFactor']['verifyBackupCode'] = async (\n ...args\n ) => {\n return client.twoFactor.verifyBackupCode(...args) as ReturnType<\n AuthClient['twoFactor']['verifyBackupCode']\n >;\n };\n\n const addPasskey: AuthClient['passkey']['addPasskey'] = async (...args) => {\n return client.passkey.addPasskey(...args);\n };\n\n const signInPasskey: AuthClient['signIn']['passkey'] = async (...args) => {\n return client.signIn.passkey(...args);\n };\n\n const deletePasskey: AuthClient['passkey']['deletePasskey'] = async (\n ...args\n ) => {\n return client.passkey.deletePasskey(...args);\n };\n\n const listPasskeys = async () => {\n // @ts-ignore - listPasskeys may not be typed yet\n return client.$fetch('/passkey/list-user-passkeys', {\n method: 'GET',\n });\n };\n\n const signInMagicLink: AuthClient['signIn']['magicLink'] = async (\n ...args\n ) => {\n return client.signIn.magicLink(...args) as ReturnType<\n AuthClient['signIn']['magicLink']\n >;\n };\n\n return {\n getAuthClient: () => client,\n signInEmail,\n signUpEmail,\n signOut,\n signInSocial,\n linkSocial,\n changePasswordSession,\n requestPasswordResetSession,\n resetPassword,\n verifyEmailSession,\n getSession,\n forgetPassword,\n sendVerificationEmail,\n changeEmail,\n deleteUser,\n revokeSession,\n revokeSessions,\n revokeOtherSessions,\n listAccounts,\n unlinkAccount,\n refreshToken,\n getAccessToken,\n accountInfo,\n updateUser,\n listSessions,\n enableTwoFactor,\n disableTwoFactor,\n verifyTotp,\n verifyBackupCode,\n addPasskey,\n signInPasskey,\n deletePasskey,\n listPasskeys,\n signInMagicLink,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { DetailedHTMLProps, FC, InputHTMLAttributes, ReactNode } from "react";
2
+ import { VariantProps } from "class-variance-authority";
@@ -0,0 +1,16 @@
1
+ import { DetailedHTMLProps, FC, InputHTMLAttributes } from "react";
2
+ import { VariantProps } from "class-variance-authority";
3
+
4
+ //#region src/components/input/Input.d.ts
5
+
6
+ declare enum InputVariant {
7
+ DEFAULT = "default",
8
+ INVISIBLE = "invisible",
9
+ }
10
+ declare enum InputSize {
11
+ MD = "md",
12
+ LG = "lg",
13
+ }
14
+ //#endregion
15
+ export { InputSize, InputVariant };
16
+ //# sourceMappingURL=Input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","names":[],"sources":["../../src/components/Input/Input.tsx"],"sourcesContent":[],"mappings":";;;;;aA2DY,YAAA;;;;aAKA,SAAA"}
@@ -0,0 +1,2 @@
1
+ import "./Input.js";
2
+ import { FC } from "react";
@@ -0,0 +1,30 @@
1
+ import { FormElementProps } from "./components/Form/elements/FormElement.js";
2
+ import { InputOTP } from "./components/Input/OTPInput.js";
3
+ import { ComponentProps, ReactNode } from "react";
4
+ import * as react_jsx_runtime21 from "react/jsx-runtime";
5
+
6
+ //#region src/components/Form/elements/OTPElement.d.ts
7
+ type OTPElementsProps = Omit<FormElementProps<typeof InputOTP>, 'Element'> & Omit<ComponentProps<typeof InputOTP>, 'children'> & {
8
+ name: string;
9
+ description?: string;
10
+ placeholder?: string;
11
+ className?: string;
12
+ children?: ReactNode;
13
+ /** Number of OTP slots (default: 6) */
14
+ slots?: number;
15
+ };
16
+ declare const OTPElement: ({
17
+ name,
18
+ description,
19
+ label,
20
+ isRequired,
21
+ info,
22
+ showErrorMessage,
23
+ children,
24
+ slots,
25
+ maxLength,
26
+ ...props
27
+ }: OTPElementsProps) => react_jsx_runtime21.JSX.Element;
28
+ //#endregion
29
+ export { OTPElement };
30
+ //# sourceMappingURL=OTPElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OTPElement.d.ts","names":[],"sources":["../../src/components/Form/elements/OTPElement.tsx"],"sourcesContent":[],"mappings":";;;;;;KAUK,gBAAA,GAAmB,KAAK,wBAAwB,wBACnD,KAAK,sBAAsB;;;EADxB,WAAA,CAAA,EAAA,MAAgB;EAAgC,SAAA,CAAA,EAAA,MAAA;EAAxB,QAAA,CAAA,EAMd,SANc;EAAL;EACK,KAAA,CAAA,EAAA,MAAA;CAAtB;AAAL,cAsDW,UAtDX,EAAA,CAAA;EAAA,IAAA;EAAA,WAAA;EAAA,KAAA;EAAA,UAAA;EAAA,IAAA;EAAA,gBAAA;EAAA,QAAA;EAAA,KAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiEC,gBAjED,EAAA,GAiEiB,mBAAA,CAAA,GAAA,CAAA,OAjEjB"}
@@ -0,0 +1,3 @@
1
+ import "./index.js";
2
+ import { ComponentProps, FC } from "react";
3
+ import { OTPInput } from "input-otp";
@@ -0,0 +1 @@
1
+ import "./Input.js";
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from "react";
2
- import * as class_variance_authority_types9 from "class-variance-authority/types";
2
+ import * as class_variance_authority_types10 from "class-variance-authority/types";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
 
5
5
  //#region src/components/Badge/index.d.ts
@@ -47,7 +47,7 @@ declare const badgeVariants: (props?: {
47
47
  color?: BadgeColor;
48
48
  variant?: BadgeVariant;
49
49
  size?: BadgeSize;
50
- } & class_variance_authority_types9.ClassProp) => string;
50
+ } & class_variance_authority_types10.ClassProp) => string;
51
51
  /**
52
52
  * Badge component props interface
53
53
  * @description Comprehensive props for the Badge component with accessibility and interactive features
@@ -1,10 +1,10 @@
1
- import * as _intlayer_types346 from "@intlayer/types";
1
+ import * as _intlayer_types340 from "@intlayer/types";
2
2
 
3
3
  //#region src/components/Breadcrumb/breadcrumb.content.d.ts
4
4
  declare const breadCrumbContent: {
5
5
  key: string;
6
6
  content: {
7
- linkLabel: _intlayer_types346.TypedNodeModel<_intlayer_types346.NodeType.Translation, {
7
+ linkLabel: _intlayer_types340.TypedNodeModel<_intlayer_types340.NodeType.Translation, {
8
8
  en: string;
9
9
  fr: string;
10
10
  es: string;
@@ -23,7 +23,7 @@ declare const breadCrumbContent: {
23
23
  id: string;
24
24
  vi: string;
25
25
  }, {
26
- nodeType: _intlayer_types346.NodeType.Translation | "translation";
26
+ nodeType: _intlayer_types340.NodeType.Translation | "translation";
27
27
  } & {
28
28
  translation: {
29
29
  en: string;
@@ -1,7 +1,7 @@
1
1
  import { LinkColor } from "../Link/Link.js";
2
2
  import "../Link/index.js";
3
3
  import { FC, HTMLAttributes, ReactNode } from "react";
4
- import * as class_variance_authority_types1 from "class-variance-authority/types";
4
+ import * as class_variance_authority_types12 from "class-variance-authority/types";
5
5
  import { VariantProps } from "class-variance-authority";
6
6
  import { LocalesValues } from "@intlayer/types";
7
7
 
@@ -12,7 +12,7 @@ import { LocalesValues } from "@intlayer/types";
12
12
  declare const breadcrumbVariants: (props?: {
13
13
  size?: "small" | "medium" | "large";
14
14
  spacing?: "compact" | "normal" | "loose";
15
- } & class_variance_authority_types1.ClassProp) => string;
15
+ } & class_variance_authority_types12.ClassProp) => string;
16
16
  /**
17
17
  * Detailed breadcrumb link configuration with optional href or onClick
18
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/Breadcrumb/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAqDM,0BA+JgC;EA/JhC,IAAA,CAAA,EAAA,OAAA,GAAA,QAiBJ,GAAA,OAAA;EA0HG,OAAA,CAAA,EAAA,SAAA,GAAA,QAAsB,GAAA,OAAA;AAoB3B,CAAA,GA9IE,+BAAA,CAAA,SA8IoC,EAAA,GAAsB,MAAA;AAE5D;;;KAtBK,sBAAA,GA+BoB;EAId;;;EAyBP,IAAA,CAAA,EAAA,MAAA;EACa;;;EA4BJ,IAAA,EAAA,MAAA;;;;;;;;;;;KArED,cAAA,YAA0B;KAE1B,eAAA;;;;SAIH;;;;;UAKC,eAAe;;;;WAId;;;;;;;;;;cAUG;;;;;;;;;;;;;;;IAeV,oBAAoB,sBACtB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BJ,YAAY,GAAG"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/Breadcrumb/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAqDM,0BA+JgC;EA/JhC,IAAA,CAAA,EAAA,OAAA,GAAA,QAiBJ,GAAA,OAAA;EA0HG,OAAA,CAAA,EAAA,SAAA,GAAA,QAAsB,GAAA,OAAA;AAoB3B,CAAA,GA9IE,gCAAA,CAAA,SA8IoC,EAAA,GAAsB,MAAA;AAE5D;;;KAtBK,sBAAA,GA+BoB;EAId;;;EAyBP,IAAA,CAAA,EAAA,MAAA;EACa;;;EA4BJ,IAAA,EAAA,MAAA;;;;;;;;;;;KArED,cAAA,YAA0B;KAE1B,eAAA;;;;SAIH;;;;;UAKC,eAAe;;;;WAId;;;;;;;;;;cAUG;;;;;;;;;;;;;;;IAeV,oBAAoB,sBACtB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BJ,YAAY,GAAG"}
@@ -1,10 +1,10 @@
1
- import * as _intlayer_types263 from "@intlayer/types";
1
+ import * as _intlayer_types325 from "@intlayer/types";
2
2
 
3
3
  //#region src/components/Browser/Browser.content.d.ts
4
4
  declare const browserContent: {
5
5
  key: string;
6
6
  content: {
7
- ariaLabel: _intlayer_types263.TypedNodeModel<_intlayer_types263.NodeType.Translation, {
7
+ ariaLabel: _intlayer_types325.TypedNodeModel<_intlayer_types325.NodeType.Translation, {
8
8
  en: string;
9
9
  'en-GB': string;
10
10
  fr: string;
@@ -22,7 +22,7 @@ declare const browserContent: {
22
22
  pl: string;
23
23
  id: string;
24
24
  }, {
25
- nodeType: _intlayer_types263.NodeType.Translation | "translation";
25
+ nodeType: _intlayer_types325.NodeType.Translation | "translation";
26
26
  } & {
27
27
  translation: {
28
28
  en: string;
@@ -43,7 +43,7 @@ declare const browserContent: {
43
43
  id: string;
44
44
  };
45
45
  }>;
46
- urlLabel: _intlayer_types263.TypedNodeModel<_intlayer_types263.NodeType.Translation, {
46
+ urlLabel: _intlayer_types325.TypedNodeModel<_intlayer_types325.NodeType.Translation, {
47
47
  en: string;
48
48
  'en-GB': string;
49
49
  fr: string;
@@ -61,7 +61,7 @@ declare const browserContent: {
61
61
  pl: string;
62
62
  id: string;
63
63
  }, {
64
- nodeType: _intlayer_types263.NodeType.Translation | "translation";
64
+ nodeType: _intlayer_types325.NodeType.Translation | "translation";
65
65
  } & {
66
66
  translation: {
67
67
  en: string;
@@ -83,7 +83,7 @@ declare const browserContent: {
83
83
  };
84
84
  }>;
85
85
  urlPlaceholder: string;
86
- errorMessage: _intlayer_types263.TypedNodeModel<_intlayer_types263.NodeType.Translation, {
86
+ errorMessage: _intlayer_types325.TypedNodeModel<_intlayer_types325.NodeType.Translation, {
87
87
  en: string;
88
88
  'en-GB': string;
89
89
  fr: string;
@@ -101,7 +101,7 @@ declare const browserContent: {
101
101
  pl: string;
102
102
  id: string;
103
103
  }, {
104
- nodeType: _intlayer_types263.NodeType.Translation | "translation";
104
+ nodeType: _intlayer_types325.NodeType.Translation | "translation";
105
105
  } & {
106
106
  translation: {
107
107
  en: string;
@@ -122,7 +122,7 @@ declare const browserContent: {
122
122
  id: string;
123
123
  };
124
124
  }>;
125
- reloadButtonTitle: _intlayer_types263.TypedNodeModel<_intlayer_types263.NodeType.Translation, {
125
+ reloadButtonTitle: _intlayer_types325.TypedNodeModel<_intlayer_types325.NodeType.Translation, {
126
126
  en: string;
127
127
  'en-GB': string;
128
128
  fr: string;
@@ -140,7 +140,7 @@ declare const browserContent: {
140
140
  pl: string;
141
141
  id: string;
142
142
  }, {
143
- nodeType: _intlayer_types263.NodeType.Translation | "translation";
143
+ nodeType: _intlayer_types325.NodeType.Translation | "translation";
144
144
  } & {
145
145
  translation: {
146
146
  en: string;
@@ -161,7 +161,7 @@ declare const browserContent: {
161
161
  id: string;
162
162
  };
163
163
  }>;
164
- iframeTitle: _intlayer_types263.TypedNodeModel<_intlayer_types263.NodeType.Translation, {
164
+ iframeTitle: _intlayer_types325.TypedNodeModel<_intlayer_types325.NodeType.Translation, {
165
165
  en: string;
166
166
  'en-GB': string;
167
167
  fr: string;
@@ -179,7 +179,7 @@ declare const browserContent: {
179
179
  pl: string;
180
180
  id: string;
181
181
  }, {
182
- nodeType: _intlayer_types263.NodeType.Translation | "translation";
182
+ nodeType: _intlayer_types325.NodeType.Translation | "translation";
183
183
  } & {
184
184
  translation: {
185
185
  en: string;