@intlayer/design-system 8.9.7 → 8.10.0-canary.0

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 (756) hide show
  1. package/dist/esm/components/Accordion/Accordion.mjs.map +1 -1
  2. package/dist/esm/components/Avatar/image.mjs.map +1 -1
  3. package/dist/esm/components/Avatar/index.mjs +5 -5
  4. package/dist/esm/components/Avatar/index.mjs.map +1 -1
  5. package/dist/esm/components/Badge/index.mjs.map +1 -1
  6. package/dist/esm/components/Breadcrumb/breadcrumb.content.mjs.map +1 -1
  7. package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
  8. package/dist/esm/components/Browser/Browser.content.mjs +120 -0
  9. package/dist/esm/components/Browser/Browser.content.mjs.map +1 -1
  10. package/dist/esm/components/Browser/Browser.mjs +131 -9
  11. package/dist/esm/components/Browser/Browser.mjs.map +1 -1
  12. package/dist/esm/components/Browser/extractUrlFromSitemap.mjs +44 -0
  13. package/dist/esm/components/Browser/extractUrlFromSitemap.mjs.map +1 -0
  14. package/dist/esm/components/Button/Button.mjs +7 -4
  15. package/dist/esm/components/Button/Button.mjs.map +1 -1
  16. package/dist/esm/components/Carousel/index.content.mjs.map +1 -1
  17. package/dist/esm/components/Carousel/index.mjs.map +1 -1
  18. package/dist/esm/components/ClickOutsideDiv/index.mjs.map +1 -1
  19. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +1 -1
  20. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs.map +1 -1
  21. package/dist/esm/components/Command/index.mjs.map +1 -1
  22. package/dist/esm/components/Container/index.mjs +1 -1
  23. package/dist/esm/components/Container/index.mjs.map +1 -1
  24. package/dist/esm/components/ContentEditor/ContentEditor.mjs.map +1 -1
  25. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs.map +1 -1
  26. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +1 -1
  27. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  28. package/dist/esm/components/ContentSelector/ContentSelector.mjs.map +1 -1
  29. package/dist/esm/components/CopyButton/CopyButton.content.mjs.map +1 -1
  30. package/dist/esm/components/CopyButton/index.mjs.map +1 -1
  31. package/dist/esm/components/CopyToClipboard/index.mjs.map +1 -1
  32. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  33. package/dist/esm/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  34. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs.map +1 -1
  35. package/dist/esm/components/DictionaryEditor/NodeWrapper/BooleanWrapper.mjs.map +1 -1
  36. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs.map +1 -1
  37. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs.map +1 -1
  38. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs.map +1 -1
  39. package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs.map +1 -1
  40. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs.map +1 -1
  41. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs.map +1 -1
  42. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
  43. package/dist/esm/components/DictionaryEditor/NodeWrapper/NumberWrapper.mjs.map +1 -1
  44. package/dist/esm/components/DictionaryEditor/NodeWrapper/PluralWrapper.mjs.map +1 -1
  45. package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
  46. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs.map +1 -1
  47. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs.map +1 -1
  48. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
  49. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/SafeHtmlRenderer.mjs.map +1 -1
  50. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +51 -3
  51. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  52. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/object.mjs.map +1 -1
  53. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -1
  54. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  55. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs.map +1 -1
  56. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.mjs.map +1 -1
  57. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.mjs.map +1 -1
  58. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +3 -3
  59. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  60. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
  61. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.mjs.map +1 -1
  62. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs.map +1 -1
  63. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +1 -1
  64. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  65. package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs.map +1 -1
  66. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
  67. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs +1 -1
  68. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
  69. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +4 -4
  70. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  71. package/dist/esm/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs.map +1 -1
  72. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  73. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +2 -2
  74. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  75. package/dist/esm/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  76. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
  77. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -1
  78. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  79. package/dist/esm/components/DictionaryFieldEditor/StructureView/structureView.content.mjs.map +1 -1
  80. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs.map +1 -1
  81. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs.map +1 -1
  82. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.mjs.map +1 -1
  83. package/dist/esm/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs.map +1 -1
  84. package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs.map +1 -1
  85. package/dist/esm/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs.map +1 -1
  86. package/dist/esm/components/DropDown/index.mjs.map +1 -1
  87. package/dist/esm/components/EditableField/EditableFieldInput.mjs.map +1 -1
  88. package/dist/esm/components/EditableField/EditableFieldLayout.mjs.map +1 -1
  89. package/dist/esm/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
  90. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
  91. package/dist/esm/components/ExpandCollapse/expandCollapse.content.mjs.map +1 -1
  92. package/dist/esm/components/Flags/Flag.mjs.map +1 -1
  93. package/dist/esm/components/Flags/ae.mjs.map +1 -1
  94. package/dist/esm/components/Flags/af.mjs.map +1 -1
  95. package/dist/esm/components/Flags/al.mjs.map +1 -1
  96. package/dist/esm/components/Flags/am.mjs.map +1 -1
  97. package/dist/esm/components/Flags/ar.mjs.map +1 -1
  98. package/dist/esm/components/Flags/at.mjs.map +1 -1
  99. package/dist/esm/components/Flags/au.mjs.map +1 -1
  100. package/dist/esm/components/Flags/az.mjs.map +1 -1
  101. package/dist/esm/components/Flags/ba.mjs.map +1 -1
  102. package/dist/esm/components/Flags/bd.mjs.map +1 -1
  103. package/dist/esm/components/Flags/be.mjs.map +1 -1
  104. package/dist/esm/components/Flags/bg.mjs.map +1 -1
  105. package/dist/esm/components/Flags/bh.mjs.map +1 -1
  106. package/dist/esm/components/Flags/bn.mjs.map +1 -1
  107. package/dist/esm/components/Flags/bo.mjs.map +1 -1
  108. package/dist/esm/components/Flags/br.mjs.map +1 -1
  109. package/dist/esm/components/Flags/bw.mjs.map +1 -1
  110. package/dist/esm/components/Flags/by.mjs.map +1 -1
  111. package/dist/esm/components/Flags/bz.mjs.map +1 -1
  112. package/dist/esm/components/Flags/ca.mjs.map +1 -1
  113. package/dist/esm/components/Flags/ch.mjs.map +1 -1
  114. package/dist/esm/components/Flags/cl.mjs.map +1 -1
  115. package/dist/esm/components/Flags/cn.mjs.map +1 -1
  116. package/dist/esm/components/Flags/co.mjs.map +1 -1
  117. package/dist/esm/components/Flags/cr.mjs.map +1 -1
  118. package/dist/esm/components/Flags/cu.mjs.map +1 -1
  119. package/dist/esm/components/Flags/cv.mjs.map +1 -1
  120. package/dist/esm/components/Flags/cz.mjs.map +1 -1
  121. package/dist/esm/components/Flags/de.mjs.map +1 -1
  122. package/dist/esm/components/Flags/dj.mjs.map +1 -1
  123. package/dist/esm/components/Flags/dk.mjs.map +1 -1
  124. package/dist/esm/components/Flags/do.mjs.map +1 -1
  125. package/dist/esm/components/Flags/dz.mjs.map +1 -1
  126. package/dist/esm/components/Flags/ec.mjs.map +1 -1
  127. package/dist/esm/components/Flags/ee.mjs.map +1 -1
  128. package/dist/esm/components/Flags/eg.mjs.map +1 -1
  129. package/dist/esm/components/Flags/es-ct.mjs.map +1 -1
  130. package/dist/esm/components/Flags/es-ga.mjs.map +1 -1
  131. package/dist/esm/components/Flags/es-pv.mjs.map +1 -1
  132. package/dist/esm/components/Flags/es.mjs.map +1 -1
  133. package/dist/esm/components/Flags/et.mjs.map +1 -1
  134. package/dist/esm/components/Flags/fi.mjs.map +1 -1
  135. package/dist/esm/components/Flags/flags.mjs.map +1 -1
  136. package/dist/esm/components/Flags/fo.mjs.map +1 -1
  137. package/dist/esm/components/Flags/fr.mjs.map +1 -1
  138. package/dist/esm/components/Flags/gb-wls.mjs.map +1 -1
  139. package/dist/esm/components/Flags/gb.mjs.map +1 -1
  140. package/dist/esm/components/Flags/ge.mjs.map +1 -1
  141. package/dist/esm/components/Flags/gh.mjs.map +1 -1
  142. package/dist/esm/components/Flags/gr.mjs.map +1 -1
  143. package/dist/esm/components/Flags/gt.mjs.map +1 -1
  144. package/dist/esm/components/Flags/gw.mjs.map +1 -1
  145. package/dist/esm/components/Flags/hk.mjs.map +1 -1
  146. package/dist/esm/components/Flags/hn.mjs.map +1 -1
  147. package/dist/esm/components/Flags/hr.mjs.map +1 -1
  148. package/dist/esm/components/Flags/hu.mjs.map +1 -1
  149. package/dist/esm/components/Flags/id.mjs.map +1 -1
  150. package/dist/esm/components/Flags/ie.mjs.map +1 -1
  151. package/dist/esm/components/Flags/il.mjs.map +1 -1
  152. package/dist/esm/components/Flags/in.mjs.map +1 -1
  153. package/dist/esm/components/Flags/iq.mjs.map +1 -1
  154. package/dist/esm/components/Flags/ir.mjs.map +1 -1
  155. package/dist/esm/components/Flags/is.mjs.map +1 -1
  156. package/dist/esm/components/Flags/it.mjs.map +1 -1
  157. package/dist/esm/components/Flags/jm.mjs.map +1 -1
  158. package/dist/esm/components/Flags/jo.mjs.map +1 -1
  159. package/dist/esm/components/Flags/jp.mjs.map +1 -1
  160. package/dist/esm/components/Flags/ke.mjs.map +1 -1
  161. package/dist/esm/components/Flags/kg.mjs.map +1 -1
  162. package/dist/esm/components/Flags/kh.mjs.map +1 -1
  163. package/dist/esm/components/Flags/km.mjs.map +1 -1
  164. package/dist/esm/components/Flags/kr.mjs.map +1 -1
  165. package/dist/esm/components/Flags/kw.mjs.map +1 -1
  166. package/dist/esm/components/Flags/kz.mjs.map +1 -1
  167. package/dist/esm/components/Flags/la.mjs.map +1 -1
  168. package/dist/esm/components/Flags/lb.mjs.map +1 -1
  169. package/dist/esm/components/Flags/li.mjs.map +1 -1
  170. package/dist/esm/components/Flags/lk.mjs.map +1 -1
  171. package/dist/esm/components/Flags/lt.mjs.map +1 -1
  172. package/dist/esm/components/Flags/lu.mjs.map +1 -1
  173. package/dist/esm/components/Flags/lv.mjs.map +1 -1
  174. package/dist/esm/components/Flags/ly.mjs.map +1 -1
  175. package/dist/esm/components/Flags/ma.mjs.map +1 -1
  176. package/dist/esm/components/Flags/mc.mjs.map +1 -1
  177. package/dist/esm/components/Flags/md.mjs.map +1 -1
  178. package/dist/esm/components/Flags/mk.mjs.map +1 -1
  179. package/dist/esm/components/Flags/mm.mjs.map +1 -1
  180. package/dist/esm/components/Flags/mn.mjs.map +1 -1
  181. package/dist/esm/components/Flags/mo.mjs.map +1 -1
  182. package/dist/esm/components/Flags/mr.mjs.map +1 -1
  183. package/dist/esm/components/Flags/mt.mjs.map +1 -1
  184. package/dist/esm/components/Flags/mv.mjs.map +1 -1
  185. package/dist/esm/components/Flags/mx.mjs.map +1 -1
  186. package/dist/esm/components/Flags/my.mjs.map +1 -1
  187. package/dist/esm/components/Flags/mz.mjs.map +1 -1
  188. package/dist/esm/components/Flags/ng.mjs.map +1 -1
  189. package/dist/esm/components/Flags/ni.mjs.map +1 -1
  190. package/dist/esm/components/Flags/nl.mjs.map +1 -1
  191. package/dist/esm/components/Flags/no.mjs.map +1 -1
  192. package/dist/esm/components/Flags/np.mjs.map +1 -1
  193. package/dist/esm/components/Flags/nz.mjs.map +1 -1
  194. package/dist/esm/components/Flags/om.mjs.map +1 -1
  195. package/dist/esm/components/Flags/pa.mjs.map +1 -1
  196. package/dist/esm/components/Flags/pe.mjs.map +1 -1
  197. package/dist/esm/components/Flags/ph.mjs.map +1 -1
  198. package/dist/esm/components/Flags/pk.mjs.map +1 -1
  199. package/dist/esm/components/Flags/pl.mjs.map +1 -1
  200. package/dist/esm/components/Flags/pr.mjs.map +1 -1
  201. package/dist/esm/components/Flags/ps.mjs.map +1 -1
  202. package/dist/esm/components/Flags/pt.mjs.map +1 -1
  203. package/dist/esm/components/Flags/py.mjs.map +1 -1
  204. package/dist/esm/components/Flags/qa.mjs.map +1 -1
  205. package/dist/esm/components/Flags/ro.mjs.map +1 -1
  206. package/dist/esm/components/Flags/rs.mjs.map +1 -1
  207. package/dist/esm/components/Flags/ru.mjs.map +1 -1
  208. package/dist/esm/components/Flags/sa.mjs.map +1 -1
  209. package/dist/esm/components/Flags/sd.mjs.map +1 -1
  210. package/dist/esm/components/Flags/se.mjs.map +1 -1
  211. package/dist/esm/components/Flags/sg.mjs.map +1 -1
  212. package/dist/esm/components/Flags/si.mjs.map +1 -1
  213. package/dist/esm/components/Flags/sk.mjs.map +1 -1
  214. package/dist/esm/components/Flags/so.mjs.map +1 -1
  215. package/dist/esm/components/Flags/st.mjs.map +1 -1
  216. package/dist/esm/components/Flags/sv.mjs.map +1 -1
  217. package/dist/esm/components/Flags/sy.mjs.map +1 -1
  218. package/dist/esm/components/Flags/td.mjs.map +1 -1
  219. package/dist/esm/components/Flags/th.mjs.map +1 -1
  220. package/dist/esm/components/Flags/tl.mjs.map +1 -1
  221. package/dist/esm/components/Flags/tn.mjs.map +1 -1
  222. package/dist/esm/components/Flags/tr.mjs.map +1 -1
  223. package/dist/esm/components/Flags/tt.mjs.map +1 -1
  224. package/dist/esm/components/Flags/tw.mjs.map +1 -1
  225. package/dist/esm/components/Flags/tz.mjs.map +1 -1
  226. package/dist/esm/components/Flags/ua.mjs.map +1 -1
  227. package/dist/esm/components/Flags/ug.mjs.map +1 -1
  228. package/dist/esm/components/Flags/us.mjs.map +1 -1
  229. package/dist/esm/components/Flags/uy.mjs.map +1 -1
  230. package/dist/esm/components/Flags/uz.mjs.map +1 -1
  231. package/dist/esm/components/Flags/ve.mjs.map +1 -1
  232. package/dist/esm/components/Flags/vn.mjs.map +1 -1
  233. package/dist/esm/components/Flags/xx.mjs.map +1 -1
  234. package/dist/esm/components/Flags/ye.mjs.map +1 -1
  235. package/dist/esm/components/Flags/za.mjs.map +1 -1
  236. package/dist/esm/components/Flags/zw.mjs.map +1 -1
  237. package/dist/esm/components/Footer/index.mjs.map +1 -1
  238. package/dist/esm/components/Form/FormBase.mjs.map +1 -1
  239. package/dist/esm/components/Form/FormControl.mjs.map +1 -1
  240. package/dist/esm/components/Form/FormDescription.mjs.map +1 -1
  241. package/dist/esm/components/Form/FormField.mjs.map +1 -1
  242. package/dist/esm/components/Form/FormItem.mjs.map +1 -1
  243. package/dist/esm/components/Form/FormLabel.mjs.map +1 -1
  244. package/dist/esm/components/Form/FormMessage.mjs.map +1 -1
  245. package/dist/esm/components/Form/elements/AutoSizeTextAreaElement.mjs.map +1 -1
  246. package/dist/esm/components/Form/elements/CheckboxElement.mjs.map +1 -1
  247. package/dist/esm/components/Form/elements/EditableFieldInputElement.mjs.map +1 -1
  248. package/dist/esm/components/Form/elements/EditableFieldTextAreaElement.mjs.map +1 -1
  249. package/dist/esm/components/Form/elements/FormElement.mjs.map +1 -1
  250. package/dist/esm/components/Form/elements/FormElementWrapper.mjs.map +1 -1
  251. package/dist/esm/components/Form/elements/InputElement.mjs.map +1 -1
  252. package/dist/esm/components/Form/elements/InputPasswordElement.mjs.map +1 -1
  253. package/dist/esm/components/Form/elements/MultiselectElement.mjs.map +1 -1
  254. package/dist/esm/components/Form/elements/OTPElement.mjs +1 -1
  255. package/dist/esm/components/Form/elements/OTPElement.mjs.map +1 -1
  256. package/dist/esm/components/Form/elements/SearchInputElement.mjs.map +1 -1
  257. package/dist/esm/components/Form/elements/SelectElement.mjs.map +1 -1
  258. package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs.map +1 -1
  259. package/dist/esm/components/Form/elements/TextAreaElement.mjs.map +1 -1
  260. package/dist/esm/components/Form/layout/FormItemLayout.mjs.map +1 -1
  261. package/dist/esm/components/Form/layout/FormLabelLayout.mjs.map +1 -1
  262. package/dist/esm/components/Form/layout/RequiredStar.mjs.map +1 -1
  263. package/dist/esm/components/HTMLRender/HTMLRender.mjs.map +1 -1
  264. package/dist/esm/components/Headers/index.mjs.map +1 -1
  265. package/dist/esm/components/HeightResizer/index.mjs.map +1 -1
  266. package/dist/esm/components/HideShow/index.mjs.map +1 -1
  267. package/dist/esm/components/IDE/Code.mjs.map +1 -1
  268. package/dist/esm/components/IDE/CodeBlockClient.mjs.map +1 -1
  269. package/dist/esm/components/IDE/CodeBlockHighlight.mjs.map +1 -1
  270. package/dist/esm/components/IDE/CodeBlockServer.mjs.map +1 -1
  271. package/dist/esm/components/IDE/CodeBlockShiki.mjs.map +1 -1
  272. package/dist/esm/components/IDE/CodeConditionalRenderer.mjs.map +1 -1
  273. package/dist/esm/components/IDE/CodeContext.mjs.map +1 -1
  274. package/dist/esm/components/IDE/CodeFormatSelector.mjs.map +1 -1
  275. package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs.map +1 -1
  276. package/dist/esm/components/IDE/CopyCode.mjs.map +1 -1
  277. package/dist/esm/components/IDE/FileList.mjs.map +1 -1
  278. package/dist/esm/components/IDE/FileTree.mjs.map +1 -1
  279. package/dist/esm/components/IDE/IDE.mjs.map +1 -1
  280. package/dist/esm/components/IDE/MarkDownRender.mjs.map +1 -1
  281. package/dist/esm/components/IDE/MonacoCode.mjs.map +1 -1
  282. package/dist/esm/components/IDE/PackageManagerSelector.mjs.map +1 -1
  283. package/dist/esm/components/IDE/code.content.mjs.map +1 -1
  284. package/dist/esm/components/IDE/codeTransformer.mjs.map +1 -1
  285. package/dist/esm/components/IDE/copyCode.content.mjs.map +1 -1
  286. package/dist/esm/components/IDE/createFileTree.mjs.map +1 -1
  287. package/dist/esm/components/IDE/selectors.content.mjs.map +1 -1
  288. package/dist/esm/components/InformationTag/index.mjs.map +1 -1
  289. package/dist/esm/components/Input/Checkbox.mjs.map +1 -1
  290. package/dist/esm/components/Input/Input.mjs.map +1 -1
  291. package/dist/esm/components/Input/InputPassword.mjs.map +1 -1
  292. package/dist/esm/components/Input/OTPInput.mjs.map +1 -1
  293. package/dist/esm/components/Input/SearchInput.mjs.map +1 -1
  294. package/dist/esm/components/KeyboardScreenAdapter/index.mjs.map +1 -1
  295. package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs.map +1 -1
  296. package/dist/esm/components/Label/index.mjs.map +1 -1
  297. package/dist/esm/components/LanguageBackground/index.mjs.map +1 -1
  298. package/dist/esm/components/Link/Link.mjs +3 -2
  299. package/dist/esm/components/Link/Link.mjs.map +1 -1
  300. package/dist/esm/components/Loader/index.content.mjs.map +1 -1
  301. package/dist/esm/components/Loader/index.mjs.map +1 -1
  302. package/dist/esm/components/Loader/spinner.mjs.map +1 -1
  303. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +2 -2
  304. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
  305. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs +8 -1
  306. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs.map +1 -1
  307. package/dist/esm/components/LocaleSwitcherContentDropDown/localeSwitcher.content.mjs.map +1 -1
  308. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +1 -1
  309. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  310. package/dist/esm/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs.map +1 -1
  311. package/dist/esm/components/Logo/Logo.mjs.map +1 -1
  312. package/dist/esm/components/Logo/LogoTextOnly.mjs.map +1 -1
  313. package/dist/esm/components/Logo/LogoWithText.mjs.map +1 -1
  314. package/dist/esm/components/Logo/LogoWithTextBelow.mjs.map +1 -1
  315. package/dist/esm/components/MarkDownRender/MarkDownIframe.mjs.map +1 -1
  316. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
  317. package/dist/esm/components/MaxHeightSmoother/index.mjs.map +1 -1
  318. package/dist/esm/components/MaxWidthSmoother/index.mjs.map +1 -1
  319. package/dist/esm/components/Modal/Modal.mjs +2 -2
  320. package/dist/esm/components/Modal/Modal.mjs.map +1 -1
  321. package/dist/esm/components/Navbar/Burger.mjs.map +1 -1
  322. package/dist/esm/components/Navbar/DesktopNavbar.mjs.map +1 -1
  323. package/dist/esm/components/Navbar/MobileNavbar.mjs +1 -1
  324. package/dist/esm/components/Navbar/MobileNavbar.mjs.map +1 -1
  325. package/dist/esm/components/Navbar/index.mjs.map +1 -1
  326. package/dist/esm/components/Navbar/useNavigation.mjs.map +1 -1
  327. package/dist/esm/components/Pagination/NumberItemsSelector.mjs.map +1 -1
  328. package/dist/esm/components/Pagination/Pagination.mjs +1 -1
  329. package/dist/esm/components/Pagination/Pagination.mjs.map +1 -1
  330. package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs.map +1 -1
  331. package/dist/esm/components/Pagination/pagination.content.mjs.map +1 -1
  332. package/dist/esm/components/Pattern/DotPattern.mjs.map +1 -1
  333. package/dist/esm/components/Pattern/GridPattern.mjs.map +1 -1
  334. package/dist/esm/components/Pattern/SpotLight.mjs.map +1 -1
  335. package/dist/esm/components/Popover/dynamic.mjs.map +1 -1
  336. package/dist/esm/components/Popover/static.mjs.map +1 -1
  337. package/dist/esm/components/PressableSpan/PressableSpan.mjs.map +1 -1
  338. package/dist/esm/components/RightDrawer/RightDrawer.mjs +3 -3
  339. package/dist/esm/components/RightDrawer/RightDrawer.mjs.map +1 -1
  340. package/dist/esm/components/RightDrawer/isElementAtTopAndNotCovered.mjs.map +1 -1
  341. package/dist/esm/components/RightDrawer/rightDrawer.content.mjs.map +1 -1
  342. package/dist/esm/components/RightDrawer/useRightDrawer.mjs.map +1 -1
  343. package/dist/esm/components/Select/Multiselect.mjs.map +1 -1
  344. package/dist/esm/components/Select/Select.mjs.map +1 -1
  345. package/dist/esm/components/SocialNetworks/DiscordLogo.mjs.map +1 -1
  346. package/dist/esm/components/SocialNetworks/FacebookLogo.mjs.map +1 -1
  347. package/dist/esm/components/SocialNetworks/InstagramLogo.mjs.map +1 -1
  348. package/dist/esm/components/SocialNetworks/ProductHuntLogo.mjs.map +1 -1
  349. package/dist/esm/components/SocialNetworks/TiktokLogo.mjs.map +1 -1
  350. package/dist/esm/components/SocialNetworks/XLogo.mjs.map +1 -1
  351. package/dist/esm/components/SocialNetworks/YoutubeLogo.mjs.map +1 -1
  352. package/dist/esm/components/SocialNetworks/index.mjs.map +1 -1
  353. package/dist/esm/components/SwitchSelector/SwitchSelector.mjs +2 -0
  354. package/dist/esm/components/SwitchSelector/SwitchSelector.mjs.map +1 -1
  355. package/dist/esm/components/SwitchSelector/VerticalSwitchSelector.mjs.map +1 -1
  356. package/dist/esm/components/SwitchSelector/useSwitchSelector.mjs.map +1 -1
  357. package/dist/esm/components/Tab/Tab.mjs +1 -1
  358. package/dist/esm/components/Tab/Tab.mjs.map +1 -1
  359. package/dist/esm/components/Tab/TabContext.mjs.map +1 -1
  360. package/dist/esm/components/TabSelector/TabSelector.mjs.map +1 -1
  361. package/dist/esm/components/Table/ExpandButton.mjs.map +1 -1
  362. package/dist/esm/components/Table/SmartTable.mjs.map +1 -1
  363. package/dist/esm/components/Table/Table.mjs.map +1 -1
  364. package/dist/esm/components/Table/TableElements.mjs.map +1 -1
  365. package/dist/esm/components/Table/table.content.mjs.map +1 -1
  366. package/dist/esm/components/Table/useTableWidths.mjs.map +1 -1
  367. package/dist/esm/components/Tag/index.mjs.map +1 -1
  368. package/dist/esm/components/TechLogo/TechLogo.mjs.map +1 -1
  369. package/dist/esm/components/TechLogo/logos/Adonis.mjs.map +1 -1
  370. package/dist/esm/components/TechLogo/logos/Angular.mjs.map +1 -1
  371. package/dist/esm/components/TechLogo/logos/Anthropic.mjs.map +1 -1
  372. package/dist/esm/components/TechLogo/logos/Astro.mjs.map +1 -1
  373. package/dist/esm/components/TechLogo/logos/Atlassian.mjs.map +1 -1
  374. package/dist/esm/components/TechLogo/logos/Bitbucket.mjs.map +1 -1
  375. package/dist/esm/components/TechLogo/logos/ChatGPT.mjs.map +1 -1
  376. package/dist/esm/components/TechLogo/logos/Claude.mjs.map +1 -1
  377. package/dist/esm/components/TechLogo/logos/DeepSeek.mjs.map +1 -1
  378. package/dist/esm/components/TechLogo/logos/Express.mjs.map +1 -1
  379. package/dist/esm/components/TechLogo/logos/Fastify.mjs.map +1 -1
  380. package/dist/esm/components/TechLogo/logos/Gemini.mjs.map +1 -1
  381. package/dist/esm/components/TechLogo/logos/GitHub.mjs.map +1 -1
  382. package/dist/esm/components/TechLogo/logos/GitLab.mjs.map +1 -1
  383. package/dist/esm/components/TechLogo/logos/Google.mjs.map +1 -1
  384. package/dist/esm/components/TechLogo/logos/GoogleAI.mjs.map +1 -1
  385. package/dist/esm/components/TechLogo/logos/Grok.mjs.map +1 -1
  386. package/dist/esm/components/TechLogo/logos/Hono.mjs.map +1 -1
  387. package/dist/esm/components/TechLogo/logos/LinkedIn.mjs.map +1 -1
  388. package/dist/esm/components/TechLogo/logos/Lit.mjs.map +1 -1
  389. package/dist/esm/components/TechLogo/logos/Lynx.mjs.map +1 -1
  390. package/dist/esm/components/TechLogo/logos/Microsoft.mjs.map +1 -1
  391. package/dist/esm/components/TechLogo/logos/Mistral.mjs.map +1 -1
  392. package/dist/esm/components/TechLogo/logos/NestJS.mjs.map +1 -1
  393. package/dist/esm/components/TechLogo/logos/Nextjs.mjs.map +1 -1
  394. package/dist/esm/components/TechLogo/logos/Node.mjs.map +1 -1
  395. package/dist/esm/components/TechLogo/logos/Nuxt.mjs.map +1 -1
  396. package/dist/esm/components/TechLogo/logos/Ollama.mjs.map +1 -1
  397. package/dist/esm/components/TechLogo/logos/OpenAI.mjs.map +1 -1
  398. package/dist/esm/components/TechLogo/logos/Perplexity.mjs.map +1 -1
  399. package/dist/esm/components/TechLogo/logos/Preact.mjs.map +1 -1
  400. package/dist/esm/components/TechLogo/logos/Reactjs.mjs.map +1 -1
  401. package/dist/esm/components/TechLogo/logos/Solid.mjs.map +1 -1
  402. package/dist/esm/components/TechLogo/logos/Svelte.mjs.map +1 -1
  403. package/dist/esm/components/TechLogo/logos/Tanstack.mjs.map +1 -1
  404. package/dist/esm/components/TechLogo/logos/Vanilla.mjs.map +1 -1
  405. package/dist/esm/components/TechLogo/logos/Vitejs.mjs.map +1 -1
  406. package/dist/esm/components/TechLogo/logos/Vuejs.mjs.map +1 -1
  407. package/dist/esm/components/TechLogo/types.mjs.map +1 -1
  408. package/dist/esm/components/Terminal/Terminal.mjs.map +1 -1
  409. package/dist/esm/components/Terminal/terminal.content.mjs.map +1 -1
  410. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
  411. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs.map +1 -1
  412. package/dist/esm/components/TextArea/ContentEditableTextArea.mjs.map +1 -1
  413. package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
  414. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
  415. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs.map +1 -1
  416. package/dist/esm/components/ThemeSwitcherDropDown/types.mjs.map +1 -1
  417. package/dist/esm/components/Toaster/Toast.mjs.map +1 -1
  418. package/dist/esm/components/Toaster/Toaster.mjs.map +1 -1
  419. package/dist/esm/components/Toaster/useToast.mjs.map +1 -1
  420. package/dist/esm/components/WithResizer/index.mjs +27 -10
  421. package/dist/esm/components/WithResizer/index.mjs.map +1 -1
  422. package/dist/esm/components/index.mjs +2 -2
  423. package/dist/esm/hooks/index.mjs +11 -11
  424. package/dist/esm/hooks/reactQuery.mjs +9 -1
  425. package/dist/esm/hooks/reactQuery.mjs.map +1 -1
  426. package/dist/esm/hooks/useAuth/useAuth.mjs.map +1 -1
  427. package/dist/esm/hooks/useAuth/useOAuth2.mjs.map +1 -1
  428. package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
  429. package/dist/esm/hooks/useDevice.mjs.map +1 -1
  430. package/dist/esm/hooks/useGetElementById.mjs.map +1 -1
  431. package/dist/esm/hooks/useGetElementOrWindow.mjs.map +1 -1
  432. package/dist/esm/hooks/useHorizontalSwipe.mjs.map +1 -1
  433. package/dist/esm/hooks/useIntlayerAPI.mjs.map +1 -1
  434. package/dist/esm/hooks/useIsDarkMode.mjs.map +1 -1
  435. package/dist/esm/hooks/useIsMounted.mjs.map +1 -1
  436. package/dist/esm/hooks/useItemSelector.mjs.map +1 -1
  437. package/dist/esm/hooks/useKeyboardDetector.mjs.map +1 -1
  438. package/dist/esm/hooks/usePersistedStore.mjs.map +1 -1
  439. package/dist/esm/hooks/useScreenWidth.mjs.map +1 -1
  440. package/dist/esm/hooks/useScrollBlockage/index.mjs.map +1 -1
  441. package/dist/esm/hooks/useScrollBlockage/useScrollBlockageStore.mjs.map +1 -1
  442. package/dist/esm/hooks/useScrollDetection.mjs.map +1 -1
  443. package/dist/esm/hooks/useScrollY.mjs.map +1 -1
  444. package/dist/esm/hooks/useSearch.mjs.map +1 -1
  445. package/dist/esm/hooks/useUser/index.mjs.map +1 -1
  446. package/dist/esm/libs/auth.mjs.map +1 -1
  447. package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
  448. package/dist/esm/tailwind.config.mjs.map +1 -1
  449. package/dist/esm/utils/cn.mjs.map +1 -1
  450. package/dist/types/components/Accordion/Accordion.d.ts.map +1 -1
  451. package/dist/types/components/Avatar/image.d.ts.map +1 -1
  452. package/dist/types/components/Avatar/index.d.ts +2 -0
  453. package/dist/types/components/Avatar/index.d.ts.map +1 -1
  454. package/dist/types/components/Badge/index.d.ts +2 -3
  455. package/dist/types/components/Badge/index.d.ts.map +1 -1
  456. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +1 -3
  457. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts.map +1 -1
  458. package/dist/types/components/Breadcrumb/index.d.ts +1 -2
  459. package/dist/types/components/Breadcrumb/index.d.ts.map +1 -1
  460. package/dist/types/components/Browser/Browser.content.d.ts +127 -9
  461. package/dist/types/components/Browser/Browser.content.d.ts.map +1 -1
  462. package/dist/types/components/Browser/Browser.d.ts +1 -2
  463. package/dist/types/components/Browser/Browser.d.ts.map +1 -1
  464. package/dist/types/components/Browser/extractUrlFromSitemap.d.ts +5 -0
  465. package/dist/types/components/Browser/extractUrlFromSitemap.d.ts.map +1 -0
  466. package/dist/types/components/Button/Button.d.ts +7 -7
  467. package/dist/types/components/Button/Button.d.ts.map +1 -1
  468. package/dist/types/components/Carousel/index.content.d.ts +3 -5
  469. package/dist/types/components/Carousel/index.content.d.ts.map +1 -1
  470. package/dist/types/components/Carousel/index.d.ts.map +1 -1
  471. package/dist/types/components/ClickOutsideDiv/index.d.ts.map +1 -1
  472. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +3 -4
  473. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts.map +1 -1
  474. package/dist/types/components/Command/index.d.ts +15 -17
  475. package/dist/types/components/Command/index.d.ts.map +1 -1
  476. package/dist/types/components/Container/index.d.ts +8 -9
  477. package/dist/types/components/Container/index.d.ts.map +1 -1
  478. package/dist/types/components/ContentEditor/ContentEditor.d.ts.map +1 -1
  479. package/dist/types/components/ContentEditor/ContentEditorInput.d.ts.map +1 -1
  480. package/dist/types/components/ContentEditor/ContentEditorTextArea.d.ts.map +1 -1
  481. package/dist/types/components/ContentSelector/ContentSelector.d.ts +1 -1
  482. package/dist/types/components/ContentSelector/ContentSelector.d.ts.map +1 -1
  483. package/dist/types/components/CopyButton/CopyButton.content.d.ts +1 -3
  484. package/dist/types/components/CopyButton/CopyButton.content.d.ts.map +1 -1
  485. package/dist/types/components/CopyButton/index.d.ts.map +1 -1
  486. package/dist/types/components/CopyToClipboard/index.d.ts.map +1 -1
  487. package/dist/types/components/DictionaryEditor/DictionaryEditor.d.ts.map +1 -1
  488. package/dist/types/components/DictionaryEditor/ItemLayout.d.ts.map +1 -1
  489. package/dist/types/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts.map +1 -1
  490. package/dist/types/components/DictionaryEditor/NodeWrapper/BooleanWrapper.d.ts.map +1 -1
  491. package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts +1 -1
  492. package/dist/types/components/DictionaryEditor/NodeWrapper/ConditionWrapper.d.ts.map +1 -1
  493. package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts +1 -1
  494. package/dist/types/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.d.ts.map +1 -1
  495. package/dist/types/components/DictionaryEditor/NodeWrapper/FileWrapper.d.ts.map +1 -1
  496. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts +1 -1
  497. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts.map +1 -1
  498. package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts +1 -1
  499. package/dist/types/components/DictionaryEditor/NodeWrapper/InsertionWrapper.d.ts.map +1 -1
  500. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts +1 -1
  501. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts.map +1 -1
  502. package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts.map +1 -1
  503. package/dist/types/components/DictionaryEditor/NodeWrapper/NumberWrapper.d.ts.map +1 -1
  504. package/dist/types/components/DictionaryEditor/NodeWrapper/PluralWrapper.d.ts +1 -1
  505. package/dist/types/components/DictionaryEditor/NodeWrapper/PluralWrapper.d.ts.map +1 -1
  506. package/dist/types/components/DictionaryEditor/NodeWrapper/StringWrapper.d.ts.map +1 -1
  507. package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts +1 -1
  508. package/dist/types/components/DictionaryEditor/NodeWrapper/TranslationWrapper.d.ts.map +1 -1
  509. package/dist/types/components/DictionaryEditor/NodeWrapper/index.d.ts.map +1 -1
  510. package/dist/types/components/DictionaryFieldEditor/ContentEditor.d.ts.map +1 -1
  511. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/SafeHtmlRenderer.d.ts +1 -3
  512. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/SafeHtmlRenderer.d.ts.map +1 -1
  513. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts +2 -3
  514. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  515. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.d.ts.map +1 -1
  516. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +6 -8
  517. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts.map +1 -1
  518. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +4 -6
  519. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts.map +1 -1
  520. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.d.ts.map +1 -1
  521. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +27 -29
  522. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts.map +1 -1
  523. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +16 -18
  524. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts.map +1 -1
  525. package/dist/types/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts.map +1 -1
  526. package/dist/types/components/DictionaryFieldEditor/EnumKeyInput.d.ts.map +1 -1
  527. package/dist/types/components/DictionaryFieldEditor/JSONEditor.d.ts.map +1 -1
  528. package/dist/types/components/DictionaryFieldEditor/KeyPathBreadcrumb.d.ts.map +1 -1
  529. package/dist/types/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
  530. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +10 -12
  531. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts.map +1 -1
  532. package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
  533. package/dist/types/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
  534. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +16 -18
  535. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
  536. package/dist/types/components/DictionaryFieldEditor/StructureEditor.d.ts.map +1 -1
  537. package/dist/types/components/DictionaryFieldEditor/StructureView/StructureView.d.ts.map +1 -1
  538. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +4 -6
  539. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts.map +1 -1
  540. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.d.ts.map +1 -1
  541. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.d.ts.map +1 -1
  542. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +3 -5
  543. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts.map +1 -1
  544. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +2 -4
  545. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts.map +1 -1
  546. package/dist/types/components/DictionaryFieldEditor/getIsEditableSection.d.ts.map +1 -1
  547. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +16 -18
  548. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts.map +1 -1
  549. package/dist/types/components/DropDown/index.d.ts.map +1 -1
  550. package/dist/types/components/EditableField/EditableFieldInput.d.ts.map +1 -1
  551. package/dist/types/components/EditableField/EditableFieldLayout.d.ts.map +1 -1
  552. package/dist/types/components/EditableField/EditableFieldTextArea.d.ts.map +1 -1
  553. package/dist/types/components/ExpandCollapse/ExpandCollapse.d.ts.map +1 -1
  554. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +1 -3
  555. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts.map +1 -1
  556. package/dist/types/components/Flags/Flag.d.ts.map +1 -1
  557. package/dist/types/components/Flags/flags.d.ts.map +1 -1
  558. package/dist/types/components/Footer/index.d.ts.map +1 -1
  559. package/dist/types/components/Form/Form.d.ts.map +1 -1
  560. package/dist/types/components/Form/FormBase.d.ts +2 -4
  561. package/dist/types/components/Form/FormBase.d.ts.map +1 -1
  562. package/dist/types/components/Form/FormField.d.ts +2 -4
  563. package/dist/types/components/Form/FormField.d.ts.map +1 -1
  564. package/dist/types/components/Form/FormItem.d.ts +1 -2
  565. package/dist/types/components/Form/FormItem.d.ts.map +1 -1
  566. package/dist/types/components/Form/elements/AutoSizeTextAreaElement.d.ts.map +1 -1
  567. package/dist/types/components/Form/elements/CheckboxElement.d.ts.map +1 -1
  568. package/dist/types/components/Form/elements/EditableFieldInputElement.d.ts +1 -2
  569. package/dist/types/components/Form/elements/EditableFieldInputElement.d.ts.map +1 -1
  570. package/dist/types/components/Form/elements/EditableFieldTextAreaElement.d.ts +1 -2
  571. package/dist/types/components/Form/elements/EditableFieldTextAreaElement.d.ts.map +1 -1
  572. package/dist/types/components/Form/elements/FormElement.d.ts +1 -2
  573. package/dist/types/components/Form/elements/FormElement.d.ts.map +1 -1
  574. package/dist/types/components/Form/elements/FormElementWrapper.d.ts.map +1 -1
  575. package/dist/types/components/Form/elements/InputElement.d.ts.map +1 -1
  576. package/dist/types/components/Form/elements/InputPasswordElement.d.ts.map +1 -1
  577. package/dist/types/components/Form/elements/MultiselectElement.d.ts +1 -2
  578. package/dist/types/components/Form/elements/MultiselectElement.d.ts.map +1 -1
  579. package/dist/types/components/Form/elements/OTPElement.d.ts +1 -2
  580. package/dist/types/components/Form/elements/OTPElement.d.ts.map +1 -1
  581. package/dist/types/components/Form/elements/SearchInputElement.d.ts.map +1 -1
  582. package/dist/types/components/Form/elements/SelectElement.d.ts +1 -2
  583. package/dist/types/components/Form/elements/SelectElement.d.ts.map +1 -1
  584. package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts +1 -2
  585. package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts.map +1 -1
  586. package/dist/types/components/Form/elements/TextAreaElement.d.ts.map +1 -1
  587. package/dist/types/components/Form/layout/FormItemLayout.d.ts.map +1 -1
  588. package/dist/types/components/Form/layout/FormLabelLayout.d.ts.map +1 -1
  589. package/dist/types/components/Form/layout/RequiredStar.d.ts.map +1 -1
  590. package/dist/types/components/HTMLRender/HTMLRender.d.ts.map +1 -1
  591. package/dist/types/components/Headers/index.d.ts.map +1 -1
  592. package/dist/types/components/HeightResizer/index.d.ts.map +1 -1
  593. package/dist/types/components/HideShow/index.d.ts.map +1 -1
  594. package/dist/types/components/IDE/Code.d.ts.map +1 -1
  595. package/dist/types/components/IDE/CodeBlockClient.d.ts.map +1 -1
  596. package/dist/types/components/IDE/CodeBlockHighlight.d.ts +1 -2
  597. package/dist/types/components/IDE/CodeBlockHighlight.d.ts.map +1 -1
  598. package/dist/types/components/IDE/CodeBlockServer.d.ts.map +1 -1
  599. package/dist/types/components/IDE/CodeBlockShiki.d.ts.map +1 -1
  600. package/dist/types/components/IDE/CodeContext.d.ts +1 -2
  601. package/dist/types/components/IDE/CodeContext.d.ts.map +1 -1
  602. package/dist/types/components/IDE/CodeFormatSelector.d.ts.map +1 -1
  603. package/dist/types/components/IDE/ContentDeclarationFormatSelector.d.ts.map +1 -1
  604. package/dist/types/components/IDE/CopyCode.d.ts.map +1 -1
  605. package/dist/types/components/IDE/FileList.d.ts.map +1 -1
  606. package/dist/types/components/IDE/FileTree.d.ts.map +1 -1
  607. package/dist/types/components/IDE/IDE.d.ts.map +1 -1
  608. package/dist/types/components/IDE/MarkDownRender.d.ts.map +1 -1
  609. package/dist/types/components/IDE/MonacoCode.d.ts.map +1 -1
  610. package/dist/types/components/IDE/PackageManagerSelector.d.ts.map +1 -1
  611. package/dist/types/components/IDE/code.content.d.ts +2 -4
  612. package/dist/types/components/IDE/code.content.d.ts.map +1 -1
  613. package/dist/types/components/IDE/codeTransformer.d.ts.map +1 -1
  614. package/dist/types/components/IDE/copyCode.content.d.ts +2 -4
  615. package/dist/types/components/IDE/copyCode.content.d.ts.map +1 -1
  616. package/dist/types/components/IDE/createFileTree.d.ts.map +1 -1
  617. package/dist/types/components/IDE/index.d.ts +1 -1
  618. package/dist/types/components/IDE/selectors.content.d.ts +6 -8
  619. package/dist/types/components/IDE/selectors.content.d.ts.map +1 -1
  620. package/dist/types/components/InformationTag/index.d.ts.map +1 -1
  621. package/dist/types/components/Input/Checkbox.d.ts +2 -3
  622. package/dist/types/components/Input/Checkbox.d.ts.map +1 -1
  623. package/dist/types/components/Input/Input.d.ts +1 -2
  624. package/dist/types/components/Input/Input.d.ts.map +1 -1
  625. package/dist/types/components/Input/InputPassword.d.ts.map +1 -1
  626. package/dist/types/components/Input/OTPInput.d.ts +3 -6
  627. package/dist/types/components/Input/OTPInput.d.ts.map +1 -1
  628. package/dist/types/components/Input/SearchInput.d.ts +1 -2
  629. package/dist/types/components/Input/SearchInput.d.ts.map +1 -1
  630. package/dist/types/components/KeyboardScreenAdapter/index.d.ts.map +1 -1
  631. package/dist/types/components/KeyboardShortcut/KeyboardShortcut.d.ts.map +1 -1
  632. package/dist/types/components/Label/index.d.ts.map +1 -1
  633. package/dist/types/components/LanguageBackground/index.d.ts.map +1 -1
  634. package/dist/types/components/Link/Link.d.ts +4 -5
  635. package/dist/types/components/Link/Link.d.ts.map +1 -1
  636. package/dist/types/components/Loader/index.content.d.ts +1 -3
  637. package/dist/types/components/Loader/index.content.d.ts.map +1 -1
  638. package/dist/types/components/Loader/index.d.ts.map +1 -1
  639. package/dist/types/components/Loader/spinner.d.ts +1 -2
  640. package/dist/types/components/Loader/spinner.d.ts.map +1 -1
  641. package/dist/types/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.d.ts.map +1 -1
  642. package/dist/types/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.d.ts.map +1 -1
  643. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +8 -10
  644. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts.map +1 -1
  645. package/dist/types/components/LocaleSwitcherDropDown/LocaleSwitcher.d.ts.map +1 -1
  646. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +6 -8
  647. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts.map +1 -1
  648. package/dist/types/components/Logo/Logo.d.ts.map +1 -1
  649. package/dist/types/components/Logo/LogoWithTextBelow.d.ts.map +1 -1
  650. package/dist/types/components/MarkDownRender/MarkDownIframe.d.ts.map +1 -1
  651. package/dist/types/components/MarkDownRender/MarkDownRender.d.ts +44 -45
  652. package/dist/types/components/MarkDownRender/MarkDownRender.d.ts.map +1 -1
  653. package/dist/types/components/MaxHeightSmoother/index.d.ts.map +1 -1
  654. package/dist/types/components/MaxWidthSmoother/index.d.ts +1 -2
  655. package/dist/types/components/MaxWidthSmoother/index.d.ts.map +1 -1
  656. package/dist/types/components/Modal/Modal.d.ts.map +1 -1
  657. package/dist/types/components/Navbar/Burger.d.ts +1 -2
  658. package/dist/types/components/Navbar/Burger.d.ts.map +1 -1
  659. package/dist/types/components/Navbar/DesktopNavbar.d.ts +1 -2
  660. package/dist/types/components/Navbar/DesktopNavbar.d.ts.map +1 -1
  661. package/dist/types/components/Navbar/MobileNavbar.d.ts +1 -2
  662. package/dist/types/components/Navbar/MobileNavbar.d.ts.map +1 -1
  663. package/dist/types/components/Navbar/index.d.ts +1 -2
  664. package/dist/types/components/Navbar/index.d.ts.map +1 -1
  665. package/dist/types/components/Navbar/useNavigation.d.ts.map +1 -1
  666. package/dist/types/components/Pagination/NumberItemsSelector.d.ts.map +1 -1
  667. package/dist/types/components/Pagination/Pagination.d.ts +2 -3
  668. package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
  669. package/dist/types/components/Pagination/ShowingResultsNumberItems.d.ts.map +1 -1
  670. package/dist/types/components/Pagination/pagination.content.d.ts +5 -7
  671. package/dist/types/components/Pagination/pagination.content.d.ts.map +1 -1
  672. package/dist/types/components/Pattern/DotPattern.d.ts.map +1 -1
  673. package/dist/types/components/Pattern/GridPattern.d.ts.map +1 -1
  674. package/dist/types/components/Pattern/SpotLight.d.ts.map +1 -1
  675. package/dist/types/components/Popover/dynamic.d.ts.map +1 -1
  676. package/dist/types/components/Popover/static.d.ts +3 -2
  677. package/dist/types/components/Popover/static.d.ts.map +1 -1
  678. package/dist/types/components/PressableSpan/PressableSpan.d.ts.map +1 -1
  679. package/dist/types/components/RightDrawer/RightDrawer.d.ts.map +1 -1
  680. package/dist/types/components/RightDrawer/isElementAtTopAndNotCovered.d.ts.map +1 -1
  681. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts +2 -4
  682. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts.map +1 -1
  683. package/dist/types/components/RightDrawer/useRightDrawer.d.ts.map +1 -1
  684. package/dist/types/components/Select/Multiselect.d.ts.map +1 -1
  685. package/dist/types/components/Select/Select.d.ts +2 -3
  686. package/dist/types/components/Select/Select.d.ts.map +1 -1
  687. package/dist/types/components/SocialNetworks/index.d.ts +1 -2
  688. package/dist/types/components/SocialNetworks/index.d.ts.map +1 -1
  689. package/dist/types/components/SwitchSelector/SwitchSelector.d.ts +8 -9
  690. package/dist/types/components/SwitchSelector/SwitchSelector.d.ts.map +1 -1
  691. package/dist/types/components/SwitchSelector/VerticalSwitchSelector.d.ts +4 -6
  692. package/dist/types/components/SwitchSelector/VerticalSwitchSelector.d.ts.map +1 -1
  693. package/dist/types/components/SwitchSelector/useSwitchSelector.d.ts +3 -4
  694. package/dist/types/components/SwitchSelector/useSwitchSelector.d.ts.map +1 -1
  695. package/dist/types/components/Tab/Tab.d.ts +3 -5
  696. package/dist/types/components/Tab/Tab.d.ts.map +1 -1
  697. package/dist/types/components/Tab/TabContext.d.ts +1 -2
  698. package/dist/types/components/Tab/TabContext.d.ts.map +1 -1
  699. package/dist/types/components/TabSelector/TabSelector.d.ts +3 -5
  700. package/dist/types/components/TabSelector/TabSelector.d.ts.map +1 -1
  701. package/dist/types/components/Table/ExpandButton.d.ts.map +1 -1
  702. package/dist/types/components/Table/SmartTable.d.ts.map +1 -1
  703. package/dist/types/components/Table/Table.d.ts +1 -2
  704. package/dist/types/components/Table/Table.d.ts.map +1 -1
  705. package/dist/types/components/Table/TableElements.d.ts +4 -5
  706. package/dist/types/components/Table/TableElements.d.ts.map +1 -1
  707. package/dist/types/components/Table/table.content.d.ts +2 -4
  708. package/dist/types/components/Table/table.content.d.ts.map +1 -1
  709. package/dist/types/components/Tag/index.d.ts +3 -4
  710. package/dist/types/components/Tag/index.d.ts.map +1 -1
  711. package/dist/types/components/TechLogo/TechLogo.d.ts.map +1 -1
  712. package/dist/types/components/TechLogo/logos/Lit.d.ts +1 -2
  713. package/dist/types/components/TechLogo/logos/Lit.d.ts.map +1 -1
  714. package/dist/types/components/TechLogo/logos/Vanilla.d.ts +1 -2
  715. package/dist/types/components/TechLogo/logos/Vanilla.d.ts.map +1 -1
  716. package/dist/types/components/Terminal/Terminal.d.ts.map +1 -1
  717. package/dist/types/components/Terminal/terminal.content.d.ts +2 -4
  718. package/dist/types/components/Terminal/terminal.content.d.ts.map +1 -1
  719. package/dist/types/components/TextArea/AutoSizeTextArea.d.ts.map +1 -1
  720. package/dist/types/components/TextArea/AutocompleteTextArea.d.ts.map +1 -1
  721. package/dist/types/components/TextArea/ContentEditableTextArea.d.ts +1 -2
  722. package/dist/types/components/TextArea/ContentEditableTextArea.d.ts.map +1 -1
  723. package/dist/types/components/TextArea/TextArea.d.ts.map +1 -1
  724. package/dist/types/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.d.ts.map +1 -1
  725. package/dist/types/components/ThemeSwitcherDropDown/MobileThemeSwitcher.d.ts.map +1 -1
  726. package/dist/types/components/Toaster/Toast.d.ts +1 -2
  727. package/dist/types/components/Toaster/Toast.d.ts.map +1 -1
  728. package/dist/types/components/Toaster/Toaster.d.ts +1 -3
  729. package/dist/types/components/Toaster/Toaster.d.ts.map +1 -1
  730. package/dist/types/components/Toaster/useToast.d.ts.map +1 -1
  731. package/dist/types/components/WithResizer/index.d.ts +5 -1
  732. package/dist/types/components/WithResizer/index.d.ts.map +1 -1
  733. package/dist/types/components/index.d.ts +1 -1
  734. package/dist/types/hooks/index.d.ts +2 -2
  735. package/dist/types/hooks/reactQuery.d.ts +2 -1
  736. package/dist/types/hooks/reactQuery.d.ts.map +1 -1
  737. package/dist/types/hooks/useAuth/useOAuth2.d.ts.map +1 -1
  738. package/dist/types/hooks/useDevice.d.ts.map +1 -1
  739. package/dist/types/hooks/useGetElementById.d.ts.map +1 -1
  740. package/dist/types/hooks/useGetElementOrWindow.d.ts.map +1 -1
  741. package/dist/types/hooks/useHorizontalSwipe.d.ts.map +1 -1
  742. package/dist/types/hooks/useIntlayerAPI.d.ts.map +1 -1
  743. package/dist/types/hooks/useItemSelector.d.ts.map +1 -1
  744. package/dist/types/hooks/useScrollBlockage/index.d.ts.map +1 -1
  745. package/dist/types/hooks/useScrollBlockage/useScrollBlockageStore.d.ts.map +1 -1
  746. package/dist/types/hooks/useScrollDetection.d.ts.map +1 -1
  747. package/dist/types/hooks/useScrollY.d.ts.map +1 -1
  748. package/dist/types/hooks/useSearch.d.ts.map +1 -1
  749. package/dist/types/hooks/useUser/index.d.ts +1 -3
  750. package/dist/types/hooks/useUser/index.d.ts.map +1 -1
  751. package/dist/types/libs/auth.d.ts.map +1 -1
  752. package/dist/types/providers/ReactQueryProvider.d.ts.map +1 -1
  753. package/dist/types/routes.d.ts.map +1 -1
  754. package/dist/types/utils/cn.d.ts.map +1 -1
  755. package/package.json +17 -17
  756. package/tailwind.css +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useHorizontalSwipe.mjs","names":[],"sources":["../../../src/hooks/useHorizontalSwipe.ts"],"sourcesContent":["'use client';\n\nimport {\n type CSSProperties,\n type PointerEvent,\n type PointerEventHandler,\n type RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nexport type HorizontalSwipeConfig = {\n onSwipeLeft?: () => void; // move to next item\n onSwipeRight?: () => void; // move to previous item\n enable?: boolean;\n itemIndex: number;\n itemCount: number;\n thresholdPct?: number; // percentage of width required to trigger\n touchAction?: string; // CSS touch-action for the container, defaults to 'pan-y'\n disableWhenSelectingText?: boolean; // if true, do not swipe while text selection is active\n};\n\nexport type HorizontalSwipeHook = {\n containerRef: RefObject<HTMLDivElement>;\n isDragging: boolean;\n dragDeltaPct: number;\n containerProps: {\n ref: RefObject<HTMLDivElement>;\n onPointerDown: PointerEventHandler<HTMLDivElement>;\n onPointerMove: PointerEventHandler<HTMLDivElement>;\n onPointerUp: PointerEventHandler<HTMLDivElement>;\n onPointerCancel: PointerEventHandler<HTMLDivElement>;\n style: CSSProperties;\n };\n};\n\nexport const useHorizontalSwipe = (\n config: HorizontalSwipeConfig\n): HorizontalSwipeHook => {\n const {\n enable = true,\n onSwipeLeft,\n onSwipeRight,\n itemIndex,\n itemCount,\n thresholdPct = 20,\n touchAction = 'pan-y',\n disableWhenSelectingText = true,\n } = config;\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [isDragging, setIsDragging] = useState(false);\n const [dragDeltaPct, setDragDeltaPct] = useState(0);\n const pointerStateRef = useRef<{\n pointerId: number | null;\n startX: number;\n startY: number;\n lastX: number;\n axisLocked: boolean;\n isHorizontal: boolean;\n }>({\n pointerId: null,\n startX: 0,\n startY: 0,\n lastX: 0,\n axisLocked: false,\n isHorizontal: false,\n });\n\n const isTextSelectingRef = useRef<boolean>(false);\n\n const getContainerWidth = () => {\n const node = containerRef.current;\n return node ? node.clientWidth : 0;\n };\n\n const applyEdgeResistance = (pct: number) => {\n const atFirst = itemIndex <= 0;\n const atLast = itemIndex >= itemCount - 1;\n\n if ((atFirst && pct > 0) || (atLast && pct < 0)) {\n const magnitude = Math.abs(pct);\n const resistance = 1 + magnitude / 30;\n return pct / resistance;\n }\n\n return pct;\n };\n\n const onPointerDown: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== null) return;\n pointerStateRef.current.pointerId = e.pointerId;\n pointerStateRef.current.startX = e.clientX;\n pointerStateRef.current.startY = e.clientY;\n pointerStateRef.current.lastX = e.clientX;\n pointerStateRef.current.axisLocked = false;\n pointerStateRef.current.isHorizontal = false;\n isTextSelectingRef.current = false;\n setIsDragging(false);\n setDragDeltaPct(0);\n };\n\n const onPointerMove: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n\n const width = getContainerWidth();\n if (!width) return;\n\n const dx = e.clientX - pointerStateRef.current.startX;\n const dy = e.clientY - pointerStateRef.current.startY;\n\n // If user is selecting text, do not engage swipe\n if (disableWhenSelectingText) {\n const sel =\n typeof window !== 'undefined' ? window.getSelection?.() : null;\n const isSelecting = !!sel && sel.rangeCount > 0 && !sel.isCollapsed;\n if (isSelecting) {\n isTextSelectingRef.current = true;\n return;\n }\n }\n\n if (!pointerStateRef.current.axisLocked) {\n const absDx = Math.abs(dx);\n const absDy = Math.abs(dy);\n if (absDx > 6 || absDy > 6) {\n pointerStateRef.current.axisLocked = true;\n pointerStateRef.current.isHorizontal = absDx > absDy;\n }\n }\n\n if (!pointerStateRef.current.isHorizontal) {\n return;\n }\n\n // Defer pointer capture until a horizontal gesture is confirmed\n try {\n (\n e.currentTarget as Element & { setPointerCapture: (id: number) => void }\n ).setPointerCapture(e.pointerId);\n } catch {}\n\n e.preventDefault();\n\n if (!isDragging) setIsDragging(true);\n\n const pct = (dx / width) * 100;\n setDragDeltaPct(applyEdgeResistance(pct));\n pointerStateRef.current.lastX = e.clientX;\n };\n\n const endDrag = (e: PointerEvent<HTMLDivElement>) => {\n try {\n (\n e.currentTarget as Element & {\n releasePointerCapture: (id: number) => void;\n }\n ).releasePointerCapture(e.pointerId);\n } catch {}\n\n const wasHorizontal = pointerStateRef.current.isHorizontal;\n const delta = dragDeltaPct;\n\n setIsDragging(false);\n setDragDeltaPct(0);\n pointerStateRef.current.pointerId = null;\n pointerStateRef.current.axisLocked = false;\n pointerStateRef.current.isHorizontal = false;\n\n if (isTextSelectingRef.current) {\n isTextSelectingRef.current = false;\n return;\n }\n\n if (!wasHorizontal) return;\n\n if (delta > thresholdPct) {\n onSwipeRight?.();\n } else if (delta < -thresholdPct) {\n onSwipeLeft?.();\n }\n };\n\n const onPointerUp: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n endDrag(e);\n };\n\n const onPointerCancel: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n endDrag(e);\n };\n\n useEffect(() => {\n setDragDeltaPct(0);\n setIsDragging(false);\n }, [itemIndex]);\n\n const style: CSSProperties = { touchAction };\n\n return {\n containerRef: containerRef as RefObject<HTMLDivElement>,\n isDragging,\n dragDeltaPct,\n containerProps: {\n ref: containerRef as RefObject<HTMLDivElement>,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onPointerCancel,\n style,\n },\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useHorizontalSwipe.mjs","names":[],"sources":["../../../src/hooks/useHorizontalSwipe.ts"],"sourcesContent":["'use client';\n\nimport {\n type CSSProperties,\n type PointerEvent,\n type PointerEventHandler,\n type RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nexport type HorizontalSwipeConfig = {\n onSwipeLeft?: () => void; // move to next item\n onSwipeRight?: () => void; // move to previous item\n enable?: boolean;\n itemIndex: number;\n itemCount: number;\n thresholdPct?: number; // percentage of width required to trigger\n touchAction?: string; // CSS touch-action for the container, defaults to 'pan-y'\n disableWhenSelectingText?: boolean; // if true, do not swipe while text selection is active\n};\n\nexport type HorizontalSwipeHook = {\n containerRef: RefObject<HTMLDivElement>;\n isDragging: boolean;\n dragDeltaPct: number;\n containerProps: {\n ref: RefObject<HTMLDivElement>;\n onPointerDown: PointerEventHandler<HTMLDivElement>;\n onPointerMove: PointerEventHandler<HTMLDivElement>;\n onPointerUp: PointerEventHandler<HTMLDivElement>;\n onPointerCancel: PointerEventHandler<HTMLDivElement>;\n style: CSSProperties;\n };\n};\n\nexport const useHorizontalSwipe = (\n config: HorizontalSwipeConfig\n): HorizontalSwipeHook => {\n const {\n enable = true,\n onSwipeLeft,\n onSwipeRight,\n itemIndex,\n itemCount,\n thresholdPct = 20,\n touchAction = 'pan-y',\n disableWhenSelectingText = true,\n } = config;\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [isDragging, setIsDragging] = useState(false);\n const [dragDeltaPct, setDragDeltaPct] = useState(0);\n const pointerStateRef = useRef<{\n pointerId: number | null;\n startX: number;\n startY: number;\n lastX: number;\n axisLocked: boolean;\n isHorizontal: boolean;\n }>({\n pointerId: null,\n startX: 0,\n startY: 0,\n lastX: 0,\n axisLocked: false,\n isHorizontal: false,\n });\n\n const isTextSelectingRef = useRef<boolean>(false);\n\n const getContainerWidth = () => {\n const node = containerRef.current;\n return node ? node.clientWidth : 0;\n };\n\n const applyEdgeResistance = (pct: number) => {\n const atFirst = itemIndex <= 0;\n const atLast = itemIndex >= itemCount - 1;\n\n if ((atFirst && pct > 0) || (atLast && pct < 0)) {\n const magnitude = Math.abs(pct);\n const resistance = 1 + magnitude / 30;\n return pct / resistance;\n }\n\n return pct;\n };\n\n const onPointerDown: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== null) return;\n pointerStateRef.current.pointerId = e.pointerId;\n pointerStateRef.current.startX = e.clientX;\n pointerStateRef.current.startY = e.clientY;\n pointerStateRef.current.lastX = e.clientX;\n pointerStateRef.current.axisLocked = false;\n pointerStateRef.current.isHorizontal = false;\n isTextSelectingRef.current = false;\n setIsDragging(false);\n setDragDeltaPct(0);\n };\n\n const onPointerMove: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n\n const width = getContainerWidth();\n if (!width) return;\n\n const dx = e.clientX - pointerStateRef.current.startX;\n const dy = e.clientY - pointerStateRef.current.startY;\n\n // If user is selecting text, do not engage swipe\n if (disableWhenSelectingText) {\n const sel =\n typeof window !== 'undefined' ? window.getSelection?.() : null;\n const isSelecting = !!sel && sel.rangeCount > 0 && !sel.isCollapsed;\n if (isSelecting) {\n isTextSelectingRef.current = true;\n return;\n }\n }\n\n if (!pointerStateRef.current.axisLocked) {\n const absDx = Math.abs(dx);\n const absDy = Math.abs(dy);\n if (absDx > 6 || absDy > 6) {\n pointerStateRef.current.axisLocked = true;\n pointerStateRef.current.isHorizontal = absDx > absDy;\n }\n }\n\n if (!pointerStateRef.current.isHorizontal) {\n return;\n }\n\n // Defer pointer capture until a horizontal gesture is confirmed\n try {\n (\n e.currentTarget as Element & { setPointerCapture: (id: number) => void }\n ).setPointerCapture(e.pointerId);\n } catch {}\n\n e.preventDefault();\n\n if (!isDragging) setIsDragging(true);\n\n const pct = (dx / width) * 100;\n setDragDeltaPct(applyEdgeResistance(pct));\n pointerStateRef.current.lastX = e.clientX;\n };\n\n const endDrag = (e: PointerEvent<HTMLDivElement>) => {\n try {\n (\n e.currentTarget as Element & {\n releasePointerCapture: (id: number) => void;\n }\n ).releasePointerCapture(e.pointerId);\n } catch {}\n\n const wasHorizontal = pointerStateRef.current.isHorizontal;\n const delta = dragDeltaPct;\n\n setIsDragging(false);\n setDragDeltaPct(0);\n pointerStateRef.current.pointerId = null;\n pointerStateRef.current.axisLocked = false;\n pointerStateRef.current.isHorizontal = false;\n\n if (isTextSelectingRef.current) {\n isTextSelectingRef.current = false;\n return;\n }\n\n if (!wasHorizontal) return;\n\n if (delta > thresholdPct) {\n onSwipeRight?.();\n } else if (delta < -thresholdPct) {\n onSwipeLeft?.();\n }\n };\n\n const onPointerUp: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n endDrag(e);\n };\n\n const onPointerCancel: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n endDrag(e);\n };\n\n useEffect(() => {\n setDragDeltaPct(0);\n setIsDragging(false);\n }, [itemIndex]);\n\n const style: CSSProperties = { touchAction };\n\n return {\n containerRef: containerRef as RefObject<HTMLDivElement>,\n isDragging,\n dragDeltaPct,\n containerProps: {\n ref: containerRef as RefObject<HTMLDivElement>,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onPointerCancel,\n style,\n },\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIntlayerAPI.mjs","names":[],"sources":["../../../src/hooks/useIntlayerAPI.ts"],"sourcesContent":["import {\n type FetcherOptions,\n getIntlayerAPI,\n type IntlayerAPI,\n} from '@intlayer/api';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { type AuthAPI, getAuthAPI } from '../libs/auth';\nimport { useAuth } from './useAuth';\n\nexport type UseIntlayerAuthProps = {\n options?: FetcherOptions;\n intlayerConfiguration?: IntlayerConfig;\n};\n\nexport const useIntlayerOAuth = (props?: UseIntlayerAuthProps): IntlayerAPI => {\n const configuration = useConfiguration();\n const { oAuth2AccessToken } = useAuth();\n\n return getIntlayerAPI(\n {\n ...(oAuth2AccessToken && {\n headers: {\n Authorization: `Bearer ${oAuth2AccessToken.accessToken}`,\n },\n }),\n ...(props?.options ?? {}),\n },\n props?.intlayerConfiguration ?? configuration\n );\n};\n\nexport const useIntlayerAuth = (props?: UseIntlayerAuthProps): AuthAPI => {\n const configuration = useConfiguration();\n\n return getAuthAPI(props?.intlayerConfiguration ?? configuration);\n};\n"],"mappings":";;;;;;AAeA,MAAa,oBAAoB,UAA8C;CAC7E,MAAM,gBAAgB,kBAAkB;CACxC,MAAM,EAAE,sBAAsB,SAAS;CAEvC,OAAO,eACL;EACE,GAAI,qBAAqB,EACvB,SAAS,EACP,eAAe,UAAU,kBAAkB,eAC5C,EACF;EACD,GAAI,OAAO,WAAW,EAAE;EACzB,EACD,OAAO,yBAAyB,cACjC;;AAGH,MAAa,mBAAmB,UAA0C;CACxE,MAAM,gBAAgB,kBAAkB;CAExC,OAAO,WAAW,OAAO,yBAAyB,cAAc"}
1
+ {"version":3,"file":"useIntlayerAPI.mjs","names":[],"sources":["../../../src/hooks/useIntlayerAPI.ts"],"sourcesContent":["import {\n type FetcherOptions,\n getIntlayerAPI,\n type IntlayerAPI,\n} from '@intlayer/api';\nimport { useConfiguration } from '@intlayer/editor-react';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { type AuthAPI, getAuthAPI } from '../libs/auth';\nimport { useAuth } from './useAuth';\n\nexport type UseIntlayerAuthProps = {\n options?: FetcherOptions;\n intlayerConfiguration?: IntlayerConfig;\n};\n\nexport const useIntlayerOAuth = (props?: UseIntlayerAuthProps): IntlayerAPI => {\n const configuration = useConfiguration();\n const { oAuth2AccessToken } = useAuth();\n\n return getIntlayerAPI(\n {\n ...(oAuth2AccessToken && {\n headers: {\n Authorization: `Bearer ${oAuth2AccessToken.accessToken}`,\n },\n }),\n ...(props?.options ?? {}),\n },\n props?.intlayerConfiguration ?? configuration\n );\n};\n\nexport const useIntlayerAuth = (props?: UseIntlayerAuthProps): AuthAPI => {\n const configuration = useConfiguration();\n\n return getAuthAPI(props?.intlayerConfiguration ?? configuration);\n};\n"],"mappings":";;;;;;AAeA,MAAa,oBAAoB,UAA8C;CAC7E,MAAM,gBAAgB,iBAAiB;CACvC,MAAM,EAAE,sBAAsB,QAAQ;CAEtC,OAAO,eACL;EACE,GAAI,qBAAqB,EACvB,SAAS,EACP,eAAe,UAAU,kBAAkB,cAC7C,EACF;EACA,GAAI,OAAO,WAAW,CAAC;CACzB,GACA,OAAO,yBAAyB,aAClC;AACF;AAEA,MAAa,mBAAmB,UAA0C;CACxE,MAAM,gBAAgB,iBAAiB;CAEvC,OAAO,WAAW,OAAO,yBAAyB,aAAa;AACjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsDarkMode.mjs","names":[],"sources":["../../../src/hooks/useIsDarkMode.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useIsDarkMode = () => {\n const [isDarkMode, setIsDarkMode] = useState(false);\n\n useEffect(() => {\n const htmlElement = document.querySelector('html');\n const isDarkMode = htmlElement?.getAttribute('data-theme') === 'dark';\n setIsDarkMode(isDarkMode);\n }, []);\n\n return isDarkMode;\n};\n"],"mappings":";;;;;AAIA,MAAa,sBAAsB;CACjC,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CAEnD,gBAAgB;EAGd,cAFoB,SAAS,cAAc,OACb,EAAE,aAAa,aAAa,KAAK,OACtC;IACxB,EAAE,CAAC;CAEN,OAAO"}
1
+ {"version":3,"file":"useIsDarkMode.mjs","names":[],"sources":["../../../src/hooks/useIsDarkMode.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useIsDarkMode = () => {\n const [isDarkMode, setIsDarkMode] = useState(false);\n\n useEffect(() => {\n const htmlElement = document.querySelector('html');\n const isDarkMode = htmlElement?.getAttribute('data-theme') === 'dark';\n setIsDarkMode(isDarkMode);\n }, []);\n\n return isDarkMode;\n};\n"],"mappings":";;;;;AAIA,MAAa,sBAAsB;CACjC,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAElD,gBAAgB;EAGd,cAFoB,SAAS,cAAc,MACd,GAAG,aAAa,YAAY,MAAM,MACvC;CAC1B,GAAG,CAAC,CAAC;CAEL,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMounted.mjs","names":[],"sources":["../../../src/hooks/useIsMounted.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useIsMounted = () => {\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n setIsMounted(true);\n }, []);\n\n return isMounted;\n};\n"],"mappings":";;;;;AAIA,MAAa,qBAAqB;CAChC,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;CAEjD,gBAAgB;EACd,aAAa,KAAK;IACjB,EAAE,CAAC;CAEN,OAAO"}
1
+ {"version":3,"file":"useIsMounted.mjs","names":[],"sources":["../../../src/hooks/useIsMounted.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useIsMounted = () => {\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n setIsMounted(true);\n }, []);\n\n return isMounted;\n};\n"],"mappings":";;;;;AAIA,MAAa,qBAAqB;CAChC,MAAM,CAAC,WAAW,gBAAgB,SAAS,KAAK;CAEhD,gBAAgB;EACd,aAAa,IAAI;CACnB,GAAG,CAAC,CAAC;CAEL,OAAO;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"useItemSelector.mjs","names":[],"sources":["../../../src/hooks/useItemSelector.ts"],"sourcesContent":["'use client';\n\nimport { type RefObject, useLayoutEffect, useRef, useState } from 'react';\n\nexport type ItemSelectorOrientation = 'horizontal' | 'vertical';\n\ntype HorizontalStyleState = {\n left: number;\n width: number;\n opacity: number;\n};\n\ntype VerticalStyleState = {\n top: number;\n height: number;\n opacity: number;\n};\n\ntype StyleState = HorizontalStyleState | VerticalStyleState;\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 orientation?: ItemSelectorOrientation;\n};\n\nexport const useItemSelector = (\n optionsRefs: RefObject<HTMLElement[]>,\n {\n selector = selectorDefault,\n isHoverable = false,\n orientation = 'horizontal',\n }: Options = {\n selector: selectorDefault,\n isHoverable: false,\n orientation: 'horizontal',\n }\n) => {\n const [choiceIndicatorPosition, setChoiceIndicatorPosition] =\n useState<StyleState | null>(null);\n\n const [hoveredItem, setHoveredItem] = useState<HTMLElement | null>(null);\n const hideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const lastPositionRef = useRef<StyleState | 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 // Clear any pending hide timeout when hovering over an item\n if (hideTimeoutRef.current) {\n clearTimeout(hideTimeoutRef.current);\n hideTimeoutRef.current = null;\n }\n } else {\n targetElement = optionsRefs.current.find(selector) ?? null;\n }\n\n if (!targetElement) {\n // Keep previous position but set opacity to 0\n if (orientation === 'vertical') {\n const verticalPrev =\n lastPositionRef.current as VerticalStyleState | null;\n const newPosition: VerticalStyleState = {\n top: verticalPrev?.top ?? 0,\n height: verticalPrev?.height ?? 0,\n opacity: 0,\n };\n\n if (verticalPrev?.opacity !== 0) {\n setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\n }\n } else {\n const horizontalPrev =\n lastPositionRef.current as HorizontalStyleState | null;\n const newPosition: HorizontalStyleState = {\n left: horizontalPrev?.left ?? 0,\n width: horizontalPrev?.width ?? 0,\n opacity: 0,\n };\n\n if (horizontalPrev?.opacity !== 0) {\n setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\n }\n }\n return;\n }\n\n if (orientation === 'vertical') {\n const top = targetElement.offsetTop;\n const height = targetElement.offsetHeight;\n\n const newPosition = {\n top,\n height,\n opacity: 1,\n };\n\n const prev = lastPositionRef.current as VerticalStyleState | null;\n\n if (\n !prev ||\n prev.top !== top ||\n prev.height !== height ||\n prev.opacity !== 1\n ) {\n setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\n }\n } else {\n const left = targetElement.offsetLeft;\n const width = targetElement.offsetWidth;\n\n const newPosition = {\n left,\n width,\n opacity: 1,\n };\n\n const prev = lastPositionRef.current as HorizontalStyleState | null;\n\n if (\n !prev ||\n prev.left !== left ||\n prev.width !== width ||\n prev.opacity !== 1\n ) {\n setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\n }\n }\n };\n\n useLayoutEffect(() => {\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 mutation.attributeName === 'data-active' ||\n mutation.attributeName === 'data-indicator')\n ) {\n calculatePosition();\n break;\n }\n }\n });\n\n observer.observe(option, {\n attributes: true,\n attributeFilter: ['aria-selected', 'data-active', 'data-indicator'],\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 // Clear any pending hide timeout\n if (hideTimeoutRef.current) {\n clearTimeout(hideTimeoutRef.current);\n hideTimeoutRef.current = null;\n }\n setHoveredItem(event.currentTarget as HTMLElement);\n };\n\n const handleMouseLeave = () => {\n // Clear any existing timeout\n if (hideTimeoutRef.current) {\n clearTimeout(hideTimeoutRef.current);\n }\n\n // Keep the indicator at its current position for 150ms\n // before removing the hovered item\n hideTimeoutRef.current = setTimeout(() => {\n setHoveredItem(null);\n }, 150); // 150ms delay before hiding\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 // Clear any pending hide timeout\n if (hideTimeoutRef.current) {\n clearTimeout(hideTimeoutRef.current);\n }\n\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 }, [\n optionsRefs,\n selector,\n hoveredItem,\n itemsLength,\n orientation,\n isHoverable,\n ]);\n\n return { choiceIndicatorPosition, calculatePosition, orientation };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"useItemSelector.mjs","names":[],"sources":["../../../src/hooks/useItemSelector.ts"],"sourcesContent":["'use client';\n\nimport { type RefObject, useLayoutEffect, useRef, useState } from 'react';\n\nexport type ItemSelectorOrientation = 'horizontal' | 'vertical';\n\ntype HorizontalStyleState = {\n left: number;\n width: number;\n opacity: number;\n};\n\ntype VerticalStyleState = {\n top: number;\n height: number;\n opacity: number;\n};\n\ntype StyleState = HorizontalStyleState | VerticalStyleState;\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 orientation?: ItemSelectorOrientation;\n};\n\nexport const useItemSelector = (\n optionsRefs: RefObject<HTMLElement[]>,\n {\n selector = selectorDefault,\n isHoverable = false,\n orientation = 'horizontal',\n }: Options = {\n selector: selectorDefault,\n isHoverable: false,\n orientation: 'horizontal',\n }\n) => {\n const [choiceIndicatorPosition, setChoiceIndicatorPosition] =\n useState<StyleState | null>(null);\n\n const [hoveredItem, setHoveredItem] = useState<HTMLElement | null>(null);\n const hideTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n const lastPositionRef = useRef<StyleState | 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 // Clear any pending hide timeout when hovering over an item\n if (hideTimeoutRef.current) {\n clearTimeout(hideTimeoutRef.current);\n hideTimeoutRef.current = null;\n }\n } else {\n targetElement = optionsRefs.current.find(selector) ?? null;\n }\n\n if (!targetElement) {\n // Keep previous position but set opacity to 0\n if (orientation === 'vertical') {\n const verticalPrev =\n lastPositionRef.current as VerticalStyleState | null;\n const newPosition: VerticalStyleState = {\n top: verticalPrev?.top ?? 0,\n height: verticalPrev?.height ?? 0,\n opacity: 0,\n };\n\n if (verticalPrev?.opacity !== 0) {\n setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\n }\n } else {\n const horizontalPrev =\n lastPositionRef.current as HorizontalStyleState | null;\n const newPosition: HorizontalStyleState = {\n left: horizontalPrev?.left ?? 0,\n width: horizontalPrev?.width ?? 0,\n opacity: 0,\n };\n\n if (horizontalPrev?.opacity !== 0) {\n setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\n }\n }\n return;\n }\n\n if (orientation === 'vertical') {\n const top = targetElement.offsetTop;\n const height = targetElement.offsetHeight;\n\n const newPosition = {\n top,\n height,\n opacity: 1,\n };\n\n const prev = lastPositionRef.current as VerticalStyleState | null;\n\n if (\n !prev ||\n prev.top !== top ||\n prev.height !== height ||\n prev.opacity !== 1\n ) {\n setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\n }\n } else {\n const left = targetElement.offsetLeft;\n const width = targetElement.offsetWidth;\n\n const newPosition = {\n left,\n width,\n opacity: 1,\n };\n\n const prev = lastPositionRef.current as HorizontalStyleState | null;\n\n if (\n !prev ||\n prev.left !== left ||\n prev.width !== width ||\n prev.opacity !== 1\n ) {\n setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\n }\n }\n };\n\n useLayoutEffect(() => {\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 mutation.attributeName === 'data-active' ||\n mutation.attributeName === 'data-indicator')\n ) {\n calculatePosition();\n break;\n }\n }\n });\n\n observer.observe(option, {\n attributes: true,\n attributeFilter: ['aria-selected', 'data-active', 'data-indicator'],\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 // Clear any pending hide timeout\n if (hideTimeoutRef.current) {\n clearTimeout(hideTimeoutRef.current);\n hideTimeoutRef.current = null;\n }\n setHoveredItem(event.currentTarget as HTMLElement);\n };\n\n const handleMouseLeave = () => {\n // Clear any existing timeout\n if (hideTimeoutRef.current) {\n clearTimeout(hideTimeoutRef.current);\n }\n\n // Keep the indicator at its current position for 150ms\n // before removing the hovered item\n hideTimeoutRef.current = setTimeout(() => {\n setHoveredItem(null);\n }, 150); // 150ms delay before hiding\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 // Clear any pending hide timeout\n if (hideTimeoutRef.current) {\n clearTimeout(hideTimeoutRef.current);\n }\n\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 }, [\n optionsRefs,\n selector,\n hoveredItem,\n itemsLength,\n orientation,\n isHoverable,\n ]);\n\n return { choiceIndicatorPosition, calculatePosition, orientation };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useKeyboardDetector.mjs","names":[],"sources":["../../../src/hooks/useKeyboardDetector.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useKeyboardDetector = () => {\n const [windowHeight, setWindowHeight] = useState<number | null>(null);\n\n useEffect(() => {\n const updateHeight = () => {\n const isKeyboardOpen = Boolean(\n window.visualViewport?.height &&\n window.visualViewport.height < window.innerHeight - 100\n );\n\n if (isKeyboardOpen && window.visualViewport) {\n setWindowHeight(window.visualViewport.height);\n } else {\n setWindowHeight(null);\n }\n };\n\n // Listen for changes in visualViewport height\n window.visualViewport?.addEventListener('resize', updateHeight, {\n passive: true,\n });\n updateHeight(); // Set initial height\n\n return () => {\n window.visualViewport?.removeEventListener('resize', updateHeight);\n };\n }, []);\n\n return { windowHeight, isKeyboardOpen: windowHeight !== null };\n};\n"],"mappings":";;;;;AAIA,MAAa,4BAA4B;CACvC,MAAM,CAAC,cAAc,mBAAmB,SAAwB,KAAK;CAErE,gBAAgB;EACd,MAAM,qBAAqB;GAMzB,IALuB,QACrB,OAAO,gBAAgB,UACrB,OAAO,eAAe,SAAS,OAAO,cAAc,IAGtC,IAAI,OAAO,gBAC3B,gBAAgB,OAAO,eAAe,OAAO;QAE7C,gBAAgB,KAAK;;EAKzB,OAAO,gBAAgB,iBAAiB,UAAU,cAAc,EAC9D,SAAS,MACV,CAAC;EACF,cAAc;EAEd,aAAa;GACX,OAAO,gBAAgB,oBAAoB,UAAU,aAAa;;IAEnE,EAAE,CAAC;CAEN,OAAO;EAAE;EAAc,gBAAgB,iBAAiB;EAAM"}
1
+ {"version":3,"file":"useKeyboardDetector.mjs","names":[],"sources":["../../../src/hooks/useKeyboardDetector.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useKeyboardDetector = () => {\n const [windowHeight, setWindowHeight] = useState<number | null>(null);\n\n useEffect(() => {\n const updateHeight = () => {\n const isKeyboardOpen = Boolean(\n window.visualViewport?.height &&\n window.visualViewport.height < window.innerHeight - 100\n );\n\n if (isKeyboardOpen && window.visualViewport) {\n setWindowHeight(window.visualViewport.height);\n } else {\n setWindowHeight(null);\n }\n };\n\n // Listen for changes in visualViewport height\n window.visualViewport?.addEventListener('resize', updateHeight, {\n passive: true,\n });\n updateHeight(); // Set initial height\n\n return () => {\n window.visualViewport?.removeEventListener('resize', updateHeight);\n };\n }, []);\n\n return { windowHeight, isKeyboardOpen: windowHeight !== null };\n};\n"],"mappings":";;;;;AAIA,MAAa,4BAA4B;CACvC,MAAM,CAAC,cAAc,mBAAmB,SAAwB,IAAI;CAEpE,gBAAgB;EACd,MAAM,qBAAqB;GAMzB,IALuB,QACrB,OAAO,gBAAgB,UACrB,OAAO,eAAe,SAAS,OAAO,cAAc,GAGvC,KAAK,OAAO,gBAC3B,gBAAgB,OAAO,eAAe,MAAM;QAE5C,gBAAgB,IAAI;EAExB;EAGA,OAAO,gBAAgB,iBAAiB,UAAU,cAAc,EAC9D,SAAS,KACX,CAAC;EACD,aAAa;EAEb,aAAa;GACX,OAAO,gBAAgB,oBAAoB,UAAU,YAAY;EACnE;CACF,GAAG,CAAC,CAAC;CAEL,OAAO;EAAE;EAAc,gBAAgB,iBAAiB;CAAK;AAC/D"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePersistedStore.mjs","names":[],"sources":["../../../src/hooks/usePersistedStore.ts"],"sourcesContent":["'use client';\n\nimport {\n type Dispatch,\n type SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nexport const usePersistedStore = <S>(\n key: string,\n initialState?: S | (() => S)\n): [S, Dispatch<SetStateAction<S>>, () => void, () => void] => {\n const [state, setState] = useState<S>(() => {\n // If you have an initial value on the client, send a message out immediately\n if (initialState !== undefined) {\n const result: S =\n typeof initialState === 'function'\n ? (initialState as () => S)()\n : initialState;\n\n if (typeof window === 'undefined') return result;\n\n const persistedState = localStorage?.getItem(key);\n\n if (persistedState) {\n try {\n return JSON.parse(persistedState);\n } catch (e) {\n console.error(e);\n }\n }\n\n return result;\n }\n\n return undefined as S;\n });\n\n useEffect(() => {\n const persistedState = localStorage?.getItem(key);\n\n if (\n persistedState &&\n persistedState !== 'undefined' &&\n state === undefined\n ) {\n try {\n setState(JSON.parse(persistedState));\n } catch (e) {\n console.error(e);\n }\n } else if (initialState !== undefined && state === undefined) {\n setState(initialState);\n }\n }, [key, state]);\n\n /**\n * Allows setting state either directly or via a functional update.\n * If passed a function, we merge/update based on the previous state.\n */\n const setStateWrapper: typeof setState = useCallback(\n (valueOrUpdater: SetStateAction<S>) => {\n setState((prev) => {\n const newValue: S =\n typeof valueOrUpdater === 'function'\n ? (valueOrUpdater as (prevVal: S) => S)(prev)\n : valueOrUpdater;\n\n if (typeof newValue !== 'undefined') {\n localStorage?.setItem(key, JSON.stringify(newValue));\n return newValue;\n }\n\n return prev;\n });\n },\n [key, setState]\n );\n\n const loadState = useCallback(() => {\n const savedState = localStorage?.getItem(key);\n if (savedState) {\n setState(JSON.parse(savedState));\n }\n }, [key, setState]);\n\n const clearState = useCallback(() => {\n localStorage?.removeItem(key);\n setState(undefined as S);\n }, [key]);\n\n return useMemo(\n () => [state, setStateWrapper, loadState, clearState],\n [state, setStateWrapper, loadState, clearState]\n );\n};\n"],"mappings":";;;;;AAWA,MAAa,qBACX,KACA,iBAC6D;CAC7D,MAAM,CAAC,OAAO,YAAY,eAAkB;EAE1C,IAAI,iBAAiB,QAAW;GAC9B,MAAM,SACJ,OAAO,iBAAiB,aACnB,cAA0B,GAC3B;GAEN,IAAI,OAAO,WAAW,aAAa,OAAO;GAE1C,MAAM,iBAAiB,cAAc,QAAQ,IAAI;GAEjD,IAAI,gBACF,IAAI;IACF,OAAO,KAAK,MAAM,eAAe;YAC1B,GAAG;IACV,QAAQ,MAAM,EAAE;;GAIpB,OAAO;;GAIT;CAEF,gBAAgB;EACd,MAAM,iBAAiB,cAAc,QAAQ,IAAI;EAEjD,IACE,kBACA,mBAAmB,eACnB,UAAU,QAEV,IAAI;GACF,SAAS,KAAK,MAAM,eAAe,CAAC;WAC7B,GAAG;GACV,QAAQ,MAAM,EAAE;;OAEb,IAAI,iBAAiB,UAAa,UAAU,QACjD,SAAS,aAAa;IAEvB,CAAC,KAAK,MAAM,CAAC;;;;;CAMhB,MAAM,kBAAmC,aACtC,mBAAsC;EACrC,UAAU,SAAS;GACjB,MAAM,WACJ,OAAO,mBAAmB,aACrB,eAAqC,KAAK,GAC3C;GAEN,IAAI,OAAO,aAAa,aAAa;IACnC,cAAc,QAAQ,KAAK,KAAK,UAAU,SAAS,CAAC;IACpD,OAAO;;GAGT,OAAO;IACP;IAEJ,CAAC,KAAK,SAAS,CAChB;CAED,MAAM,YAAY,kBAAkB;EAClC,MAAM,aAAa,cAAc,QAAQ,IAAI;EAC7C,IAAI,YACF,SAAS,KAAK,MAAM,WAAW,CAAC;IAEjC,CAAC,KAAK,SAAS,CAAC;CAEnB,MAAM,aAAa,kBAAkB;EACnC,cAAc,WAAW,IAAI;EAC7B,SAAS,OAAe;IACvB,CAAC,IAAI,CAAC;CAET,OAAO,cACC;EAAC;EAAO;EAAiB;EAAW;EAAW,EACrD;EAAC;EAAO;EAAiB;EAAW;EAAW,CAChD"}
1
+ {"version":3,"file":"usePersistedStore.mjs","names":[],"sources":["../../../src/hooks/usePersistedStore.ts"],"sourcesContent":["'use client';\n\nimport {\n type Dispatch,\n type SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nexport const usePersistedStore = <S>(\n key: string,\n initialState?: S | (() => S)\n): [S, Dispatch<SetStateAction<S>>, () => void, () => void] => {\n const [state, setState] = useState<S>(() => {\n // If you have an initial value on the client, send a message out immediately\n if (initialState !== undefined) {\n const result: S =\n typeof initialState === 'function'\n ? (initialState as () => S)()\n : initialState;\n\n if (typeof window === 'undefined') return result;\n\n const persistedState = localStorage?.getItem(key);\n\n if (persistedState) {\n try {\n return JSON.parse(persistedState);\n } catch (e) {\n console.error(e);\n }\n }\n\n return result;\n }\n\n return undefined as S;\n });\n\n useEffect(() => {\n const persistedState = localStorage?.getItem(key);\n\n if (\n persistedState &&\n persistedState !== 'undefined' &&\n state === undefined\n ) {\n try {\n setState(JSON.parse(persistedState));\n } catch (e) {\n console.error(e);\n }\n } else if (initialState !== undefined && state === undefined) {\n setState(initialState);\n }\n }, [key, state]);\n\n /**\n * Allows setting state either directly or via a functional update.\n * If passed a function, we merge/update based on the previous state.\n */\n const setStateWrapper: typeof setState = useCallback(\n (valueOrUpdater: SetStateAction<S>) => {\n setState((prev) => {\n const newValue: S =\n typeof valueOrUpdater === 'function'\n ? (valueOrUpdater as (prevVal: S) => S)(prev)\n : valueOrUpdater;\n\n if (typeof newValue !== 'undefined') {\n localStorage?.setItem(key, JSON.stringify(newValue));\n return newValue;\n }\n\n return prev;\n });\n },\n [key, setState]\n );\n\n const loadState = useCallback(() => {\n const savedState = localStorage?.getItem(key);\n if (savedState) {\n setState(JSON.parse(savedState));\n }\n }, [key, setState]);\n\n const clearState = useCallback(() => {\n localStorage?.removeItem(key);\n setState(undefined as S);\n }, [key]);\n\n return useMemo(\n () => [state, setStateWrapper, loadState, clearState],\n [state, setStateWrapper, loadState, clearState]\n );\n};\n"],"mappings":";;;;;AAWA,MAAa,qBACX,KACA,iBAC6D;CAC7D,MAAM,CAAC,OAAO,YAAY,eAAkB;EAE1C,IAAI,iBAAiB,QAAW;GAC9B,MAAM,SACJ,OAAO,iBAAiB,aACnB,aAAyB,IAC1B;GAEN,IAAI,OAAO,WAAW,aAAa,OAAO;GAE1C,MAAM,iBAAiB,cAAc,QAAQ,GAAG;GAEhD,IAAI,gBACF,IAAI;IACF,OAAO,KAAK,MAAM,cAAc;GAClC,SAAS,GAAG;IACV,QAAQ,MAAM,CAAC;GACjB;GAGF,OAAO;EACT;CAGF,CAAC;CAED,gBAAgB;EACd,MAAM,iBAAiB,cAAc,QAAQ,GAAG;EAEhD,IACE,kBACA,mBAAmB,eACnB,UAAU,QAEV,IAAI;GACF,SAAS,KAAK,MAAM,cAAc,CAAC;EACrC,SAAS,GAAG;GACV,QAAQ,MAAM,CAAC;EACjB;OACK,IAAI,iBAAiB,UAAa,UAAU,QACjD,SAAS,YAAY;CAEzB,GAAG,CAAC,KAAK,KAAK,CAAC;;;;;CAMf,MAAM,kBAAmC,aACtC,mBAAsC;EACrC,UAAU,SAAS;GACjB,MAAM,WACJ,OAAO,mBAAmB,aACrB,eAAqC,IAAI,IAC1C;GAEN,IAAI,OAAO,aAAa,aAAa;IACnC,cAAc,QAAQ,KAAK,KAAK,UAAU,QAAQ,CAAC;IACnD,OAAO;GACT;GAEA,OAAO;EACT,CAAC;CACH,GACA,CAAC,KAAK,QAAQ,CAChB;CAEA,MAAM,YAAY,kBAAkB;EAClC,MAAM,aAAa,cAAc,QAAQ,GAAG;EAC5C,IAAI,YACF,SAAS,KAAK,MAAM,UAAU,CAAC;CAEnC,GAAG,CAAC,KAAK,QAAQ,CAAC;CAElB,MAAM,aAAa,kBAAkB;EACnC,cAAc,WAAW,GAAG;EAC5B,SAAS,MAAc;CACzB,GAAG,CAAC,GAAG,CAAC;CAER,OAAO,cACC;EAAC;EAAO;EAAiB;EAAW;CAAU,GACpD;EAAC;EAAO;EAAiB;EAAW;CAAU,CAChD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"useScreenWidth.mjs","names":[],"sources":["../../../src/hooks/useScreenWidth.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useScreenWidth = () => {\n const [screenWidth, setScreenWith] = useState<number>(0);\n\n useEffect(() => {\n const handleResize = () => {\n setScreenWith(window.innerWidth);\n };\n\n handleResize();\n\n window.addEventListener('resize', handleResize, { passive: true });\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return { screenWidth };\n};\n"],"mappings":";;;;;AAIA,MAAa,uBAAuB;CAClC,MAAM,CAAC,aAAa,iBAAiB,SAAiB,EAAE;CAExD,gBAAgB;EACd,MAAM,qBAAqB;GACzB,cAAc,OAAO,WAAW;;EAGlC,cAAc;EAEd,OAAO,iBAAiB,UAAU,cAAc,EAAE,SAAS,MAAM,CAAC;EAElE,aAAa,OAAO,oBAAoB,UAAU,aAAa;IAC9D,EAAE,CAAC;CAEN,OAAO,EAAE,aAAa"}
1
+ {"version":3,"file":"useScreenWidth.mjs","names":[],"sources":["../../../src/hooks/useScreenWidth.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useScreenWidth = () => {\n const [screenWidth, setScreenWith] = useState<number>(0);\n\n useEffect(() => {\n const handleResize = () => {\n setScreenWith(window.innerWidth);\n };\n\n handleResize();\n\n window.addEventListener('resize', handleResize, { passive: true });\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return { screenWidth };\n};\n"],"mappings":";;;;;AAIA,MAAa,uBAAuB;CAClC,MAAM,CAAC,aAAa,iBAAiB,SAAiB,CAAC;CAEvD,gBAAgB;EACd,MAAM,qBAAqB;GACzB,cAAc,OAAO,UAAU;EACjC;EAEA,aAAa;EAEb,OAAO,iBAAiB,UAAU,cAAc,EAAE,SAAS,KAAK,CAAC;EAEjE,aAAa,OAAO,oBAAoB,UAAU,YAAY;CAChE,GAAG,CAAC,CAAC;CAEL,OAAO,EAAE,YAAY;AACvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/hooks/useScrollBlockage/index.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect } from 'react';\nimport { useGetElementOrWindow } from '../useGetElementOrWindow';\n\nimport { useScrollBlockageStore } from './useScrollBlockageStore';\n\ntype useScrollBlockagePropsReadOnly = {\n disableScroll: undefined;\n key: undefined;\n element?: HTMLElement; // The element to block the scroll. If not defined, the window will be used\n};\n\ntype useScrollBlockageProps = {\n disableScroll: boolean;\n key: string; // The key to identify the blockage to avoid conflicts. Required if disableScroll is defined\n element?: HTMLElement; // The element to block the scroll. If not defined, the window will be used\n};\n\nexport const useScrollBlockage = (\n props?: useScrollBlockageProps | useScrollBlockagePropsReadOnly\n) => {\n const {\n disableScroll = false,\n element,\n key = 'unnamed_blocker',\n } = props ?? {};\n\n const { isElementScrollBlocked, addBlockage, removeBlockage } =\n useScrollBlockageStore();\n\n const containerElement = useGetElementOrWindow(element);\n\n useEffect(() => {\n const el = element ?? window.document.body;\n\n if (disableScroll) {\n addBlockage(key, el);\n } else {\n removeBlockage(key, el);\n }\n\n return () => {\n removeBlockage(key, el);\n };\n }, [addBlockage, disableScroll, element, key, removeBlockage]);\n\n const isScrollBlocked = containerElement\n ? isElementScrollBlocked(containerElement)\n : false;\n\n return { isScrollBlocked };\n};\n"],"mappings":";;;;;;;AAmBA,MAAa,qBACX,UACG;CACH,MAAM,EACJ,gBAAgB,OAChB,SACA,MAAM,sBACJ,SAAS,EAAE;CAEf,MAAM,EAAE,wBAAwB,aAAa,mBAC3C,wBAAwB;CAE1B,MAAM,mBAAmB,sBAAsB,QAAQ;CAEvD,gBAAgB;EACd,MAAM,KAAK,WAAW,OAAO,SAAS;EAEtC,IAAI,eACF,YAAY,KAAK,GAAG;OAEpB,eAAe,KAAK,GAAG;EAGzB,aAAa;GACX,eAAe,KAAK,GAAG;;IAExB;EAAC;EAAa;EAAe;EAAS;EAAK;EAAe,CAAC;CAM9D,OAAO,EAAE,iBAJe,mBACpB,uBAAuB,iBAAiB,GACxC,OAEsB"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/hooks/useScrollBlockage/index.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect } from 'react';\nimport { useGetElementOrWindow } from '../useGetElementOrWindow';\n\nimport { useScrollBlockageStore } from './useScrollBlockageStore';\n\ntype useScrollBlockagePropsReadOnly = {\n disableScroll: undefined;\n key: undefined;\n element?: HTMLElement; // The element to block the scroll. If not defined, the window will be used\n};\n\ntype useScrollBlockageProps = {\n disableScroll: boolean;\n key: string; // The key to identify the blockage to avoid conflicts. Required if disableScroll is defined\n element?: HTMLElement; // The element to block the scroll. If not defined, the window will be used\n};\n\nexport const useScrollBlockage = (\n props?: useScrollBlockageProps | useScrollBlockagePropsReadOnly\n) => {\n const {\n disableScroll = false,\n element,\n key = 'unnamed_blocker',\n } = props ?? {};\n\n const { isElementScrollBlocked, addBlockage, removeBlockage } =\n useScrollBlockageStore();\n\n const containerElement = useGetElementOrWindow(element);\n\n useEffect(() => {\n const el = element ?? window.document.body;\n\n if (disableScroll) {\n addBlockage(key, el);\n } else {\n removeBlockage(key, el);\n }\n\n return () => {\n removeBlockage(key, el);\n };\n }, [addBlockage, disableScroll, element, key, removeBlockage]);\n\n const isScrollBlocked = containerElement\n ? isElementScrollBlocked(containerElement)\n : false;\n\n return { isScrollBlocked };\n};\n"],"mappings":";;;;;;;AAmBA,MAAa,qBACX,UACG;CACH,MAAM,EACJ,gBAAgB,OAChB,SACA,MAAM,sBACJ,SAAS,CAAC;CAEd,MAAM,EAAE,wBAAwB,aAAa,mBAC3C,uBAAuB;CAEzB,MAAM,mBAAmB,sBAAsB,OAAO;CAEtD,gBAAgB;EACd,MAAM,KAAK,WAAW,OAAO,SAAS;EAEtC,IAAI,eACF,YAAY,KAAK,EAAE;OAEnB,eAAe,KAAK,EAAE;EAGxB,aAAa;GACX,eAAe,KAAK,EAAE;EACxB;CACF,GAAG;EAAC;EAAa;EAAe;EAAS;EAAK;CAAc,CAAC;CAM7D,OAAO,EAAE,iBAJe,mBACpB,uBAAuB,gBAAgB,IACvC,MAEqB;AAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollBlockageStore.mjs","names":[],"sources":["../../../../src/hooks/useScrollBlockage/useScrollBlockageStore.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\ntype Blocker = {\n element: Element;\n blockers: string[];\n};\n\nclass ScrollBlockageObservable {\n private listeners = new Set<() => void>();\n private scrollBlockers: Blocker[] = [];\n\n subscribe = (listener: () => void) => {\n this.listeners.add(listener);\n return () => {\n this.listeners.delete(listener);\n };\n };\n\n getSnapshot = () => {\n return this.scrollBlockers;\n };\n\n addBlockage = (blockerName: string, element: HTMLElement) => {\n const blockersElement = this.scrollBlockers.find(\n (blocker) => blocker.element === element\n );\n\n if (blockersElement) {\n if (blockersElement.blockers.includes(blockerName)) return;\n\n this.scrollBlockers = this.scrollBlockers.map((blocker) =>\n blocker.element === element\n ? { ...blocker, blockers: [...blocker.blockers, blockerName] }\n : blocker\n );\n } else {\n element.style.overflowY = 'hidden';\n element.style.overflowX = 'hidden';\n this.scrollBlockers = [\n ...this.scrollBlockers,\n { element, blockers: [blockerName] },\n ];\n }\n this.emit();\n };\n\n removeBlockage = (blockerName: string, element: HTMLElement) => {\n const blocker = this.scrollBlockers.find(\n (blocker) => blocker.element === element\n );\n\n if (blocker) {\n if (blocker.blockers.length > 1) {\n this.scrollBlockers = this.scrollBlockers.map((b) =>\n b.element === element\n ? {\n ...b,\n blockers: b.blockers.filter((name) => name !== blockerName),\n }\n : b\n );\n } else {\n element.style.overflowY = '';\n element.style.overflowX = '';\n this.scrollBlockers = this.scrollBlockers.filter(\n (b) => b.element !== element\n );\n }\n this.emit();\n }\n };\n\n isElementScrollBlocked = (element: HTMLElement) => {\n return this.scrollBlockers.some((blocker) => blocker.element === element);\n };\n\n private emit = () => {\n this.listeners.forEach((listener) => {\n listener();\n });\n };\n}\n\nexport const scrollBlockageManager = new ScrollBlockageObservable();\n\nconst serverSnapshot: Blocker[] = [];\n\nexport const useScrollBlockageStore = () => {\n const scrollBlockers = useSyncExternalStore(\n scrollBlockageManager.subscribe,\n scrollBlockageManager.getSnapshot,\n () => serverSnapshot\n );\n\n return {\n scrollBlockers,\n addBlockage: scrollBlockageManager.addBlockage,\n removeBlockage: scrollBlockageManager.removeBlockage,\n isElementScrollBlocked: scrollBlockageManager.isElementScrollBlocked,\n };\n};\n"],"mappings":";;;AAOA,IAAM,2BAAN,MAA+B;CAC7B,AAAQ,4BAAY,IAAI,KAAiB;CACzC,AAAQ,iBAA4B,EAAE;CAEtC,aAAa,aAAyB;EACpC,KAAK,UAAU,IAAI,SAAS;EAC5B,aAAa;GACX,KAAK,UAAU,OAAO,SAAS;;;CAInC,oBAAoB;EAClB,OAAO,KAAK;;CAGd,eAAe,aAAqB,YAAyB;EAC3D,MAAM,kBAAkB,KAAK,eAAe,MACzC,YAAY,QAAQ,YAAY,QAClC;EAED,IAAI,iBAAiB;GACnB,IAAI,gBAAgB,SAAS,SAAS,YAAY,EAAE;GAEpD,KAAK,iBAAiB,KAAK,eAAe,KAAK,YAC7C,QAAQ,YAAY,UAChB;IAAE,GAAG;IAAS,UAAU,CAAC,GAAG,QAAQ,UAAU,YAAY;IAAE,GAC5D,QACL;SACI;GACL,QAAQ,MAAM,YAAY;GAC1B,QAAQ,MAAM,YAAY;GAC1B,KAAK,iBAAiB,CACpB,GAAG,KAAK,gBACR;IAAE;IAAS,UAAU,CAAC,YAAY;IAAE,CACrC;;EAEH,KAAK,MAAM;;CAGb,kBAAkB,aAAqB,YAAyB;EAC9D,MAAM,UAAU,KAAK,eAAe,MACjC,YAAY,QAAQ,YAAY,QAClC;EAED,IAAI,SAAS;GACX,IAAI,QAAQ,SAAS,SAAS,GAC5B,KAAK,iBAAiB,KAAK,eAAe,KAAK,MAC7C,EAAE,YAAY,UACV;IACE,GAAG;IACH,UAAU,EAAE,SAAS,QAAQ,SAAS,SAAS,YAAY;IAC5D,GACD,EACL;QACI;IACL,QAAQ,MAAM,YAAY;IAC1B,QAAQ,MAAM,YAAY;IAC1B,KAAK,iBAAiB,KAAK,eAAe,QACvC,MAAM,EAAE,YAAY,QACtB;;GAEH,KAAK,MAAM;;;CAIf,0BAA0B,YAAyB;EACjD,OAAO,KAAK,eAAe,MAAM,YAAY,QAAQ,YAAY,QAAQ;;CAG3E,AAAQ,aAAa;EACnB,KAAK,UAAU,SAAS,aAAa;GACnC,UAAU;IACV;;;AAIN,MAAa,wBAAwB,IAAI,0BAA0B;AAEnE,MAAM,iBAA4B,EAAE;AAEpC,MAAa,+BAA+B;CAO1C,OAAO;EACL,gBAPqB,qBACrB,sBAAsB,WACtB,sBAAsB,mBAChB,eAIQ;EACd,aAAa,sBAAsB;EACnC,gBAAgB,sBAAsB;EACtC,wBAAwB,sBAAsB;EAC/C"}
1
+ {"version":3,"file":"useScrollBlockageStore.mjs","names":[],"sources":["../../../../src/hooks/useScrollBlockage/useScrollBlockageStore.ts"],"sourcesContent":["import { useSyncExternalStore } from 'react';\n\ntype Blocker = {\n element: Element;\n blockers: string[];\n};\n\nclass ScrollBlockageObservable {\n private listeners = new Set<() => void>();\n private scrollBlockers: Blocker[] = [];\n\n subscribe = (listener: () => void) => {\n this.listeners.add(listener);\n return () => {\n this.listeners.delete(listener);\n };\n };\n\n getSnapshot = () => {\n return this.scrollBlockers;\n };\n\n addBlockage = (blockerName: string, element: HTMLElement) => {\n const blockersElement = this.scrollBlockers.find(\n (blocker) => blocker.element === element\n );\n\n if (blockersElement) {\n if (blockersElement.blockers.includes(blockerName)) return;\n\n this.scrollBlockers = this.scrollBlockers.map((blocker) =>\n blocker.element === element\n ? { ...blocker, blockers: [...blocker.blockers, blockerName] }\n : blocker\n );\n } else {\n element.style.overflowY = 'hidden';\n element.style.overflowX = 'hidden';\n this.scrollBlockers = [\n ...this.scrollBlockers,\n { element, blockers: [blockerName] },\n ];\n }\n this.emit();\n };\n\n removeBlockage = (blockerName: string, element: HTMLElement) => {\n const blocker = this.scrollBlockers.find(\n (blocker) => blocker.element === element\n );\n\n if (blocker) {\n if (blocker.blockers.length > 1) {\n this.scrollBlockers = this.scrollBlockers.map((b) =>\n b.element === element\n ? {\n ...b,\n blockers: b.blockers.filter((name) => name !== blockerName),\n }\n : b\n );\n } else {\n element.style.overflowY = '';\n element.style.overflowX = '';\n this.scrollBlockers = this.scrollBlockers.filter(\n (b) => b.element !== element\n );\n }\n this.emit();\n }\n };\n\n isElementScrollBlocked = (element: HTMLElement) => {\n return this.scrollBlockers.some((blocker) => blocker.element === element);\n };\n\n private emit = () => {\n this.listeners.forEach((listener) => {\n listener();\n });\n };\n}\n\nexport const scrollBlockageManager = new ScrollBlockageObservable();\n\nconst serverSnapshot: Blocker[] = [];\n\nexport const useScrollBlockageStore = () => {\n const scrollBlockers = useSyncExternalStore(\n scrollBlockageManager.subscribe,\n scrollBlockageManager.getSnapshot,\n () => serverSnapshot\n );\n\n return {\n scrollBlockers,\n addBlockage: scrollBlockageManager.addBlockage,\n removeBlockage: scrollBlockageManager.removeBlockage,\n isElementScrollBlocked: scrollBlockageManager.isElementScrollBlocked,\n };\n};\n"],"mappings":";;;AAOA,IAAM,2BAAN,MAA+B;CAC7B,AAAQ,4BAAY,IAAI,IAAgB;CACxC,AAAQ,iBAA4B,CAAC;CAErC,aAAa,aAAyB;EACpC,KAAK,UAAU,IAAI,QAAQ;EAC3B,aAAa;GACX,KAAK,UAAU,OAAO,QAAQ;EAChC;CACF;CAEA,oBAAoB;EAClB,OAAO,KAAK;CACd;CAEA,eAAe,aAAqB,YAAyB;EAC3D,MAAM,kBAAkB,KAAK,eAAe,MACzC,YAAY,QAAQ,YAAY,OACnC;EAEA,IAAI,iBAAiB;GACnB,IAAI,gBAAgB,SAAS,SAAS,WAAW,GAAG;GAEpD,KAAK,iBAAiB,KAAK,eAAe,KAAK,YAC7C,QAAQ,YAAY,UAChB;IAAE,GAAG;IAAS,UAAU,CAAC,GAAG,QAAQ,UAAU,WAAW;GAAE,IAC3D,OACN;EACF,OAAO;GACL,QAAQ,MAAM,YAAY;GAC1B,QAAQ,MAAM,YAAY;GAC1B,KAAK,iBAAiB,CACpB,GAAG,KAAK,gBACR;IAAE;IAAS,UAAU,CAAC,WAAW;GAAE,CACrC;EACF;EACA,KAAK,KAAK;CACZ;CAEA,kBAAkB,aAAqB,YAAyB;EAC9D,MAAM,UAAU,KAAK,eAAe,MACjC,YAAY,QAAQ,YAAY,OACnC;EAEA,IAAI,SAAS;GACX,IAAI,QAAQ,SAAS,SAAS,GAC5B,KAAK,iBAAiB,KAAK,eAAe,KAAK,MAC7C,EAAE,YAAY,UACV;IACE,GAAG;IACH,UAAU,EAAE,SAAS,QAAQ,SAAS,SAAS,WAAW;GAC5D,IACA,CACN;QACK;IACL,QAAQ,MAAM,YAAY;IAC1B,QAAQ,MAAM,YAAY;IAC1B,KAAK,iBAAiB,KAAK,eAAe,QACvC,MAAM,EAAE,YAAY,OACvB;GACF;GACA,KAAK,KAAK;EACZ;CACF;CAEA,0BAA0B,YAAyB;EACjD,OAAO,KAAK,eAAe,MAAM,YAAY,QAAQ,YAAY,OAAO;CAC1E;CAEA,AAAQ,aAAa;EACnB,KAAK,UAAU,SAAS,aAAa;GACnC,SAAS;EACX,CAAC;CACH;AACF;AAEA,MAAa,wBAAwB,IAAI,yBAAyB;AAElE,MAAM,iBAA4B,CAAC;AAEnC,MAAa,+BAA+B;CAO1C,OAAO;EACL,gBAPqB,qBACrB,sBAAsB,WACtB,sBAAsB,mBAChB,cAIO;EACb,aAAa,sBAAsB;EACnC,gBAAgB,sBAAsB;EACtC,wBAAwB,sBAAsB;CAChD;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollDetection.mjs","names":[],"sources":["../../../src/hooks/useScrollDetection.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { useGetElementOrWindow } from './useGetElementOrWindow';\nimport { useScrollBlockage } from './useScrollBlockage';\n\ntype useScrollDetectionProps = {\n isEnabled?: boolean;\n delta?: number; // how much user has to scroll to trigger the event\n deltaFromTop?: number; // how much user has to scroll from top to detect if the user has been scrolled\n onScrollDown?: (e: WheelEvent) => void;\n onScrollUp?: (e: WheelEvent) => void;\n element?: HTMLElement; // The element to detect the scroll on. If not defined, the window.document.body will be used\n};\n\nexport const useScrollDetection = (props?: useScrollDetectionProps) => {\n const {\n isEnabled = true,\n delta = 5,\n deltaFromTop = 0,\n onScrollDown,\n onScrollUp,\n element,\n } = props ?? {};\n\n const [isScrolled, setIsScrolled] = useState<boolean>(false);\n const [isScrollable, setIsScrollable] = useState<boolean>(false);\n\n const { isScrollBlocked } = useScrollBlockage();\n const containerElement = useGetElementOrWindow(element);\n\n const onMobileMove = useCallback(\n (event: globalThis.TouchEvent) => {\n const startY = event.touches?.[0]?.clientY ?? 0;\n\n const onMove = (event: globalThis.TouchEvent) => {\n if (isEnabled) {\n const currentY = event.touches?.[0]?.clientY ?? 0;\n const deltaY = startY - currentY;\n\n setIsScrolled(deltaY > 0);\n\n containerElement?.removeEventListener('touchmove', onMove);\n }\n };\n\n containerElement?.addEventListener('touchmove', onMove);\n },\n [isEnabled, containerElement]\n );\n\n const onScroll = useCallback(\n (e: WheelEvent) => {\n const isScrolledDown = e.deltaY > 0;\n\n if (isEnabled && !isScrollBlocked && isScrollable) {\n const isDeTected = Math.abs(e.deltaY) > Math.abs(delta);\n\n if (isDeTected) {\n if (isScrolledDown) {\n onScrollDown?.(e);\n } else {\n onScrollUp?.(e);\n }\n }\n\n setIsScrolled(window.scrollY > deltaFromTop);\n }\n },\n [isEnabled, isScrollBlocked, isScrollable]\n );\n\n useEffect(() => {\n if (isEnabled) {\n containerElement?.addEventListener('wheel', onScroll, { passive: true });\n containerElement?.addEventListener('touchstart', onMobileMove, {\n passive: true,\n });\n } else {\n setIsScrolled(false);\n }\n\n return () => {\n containerElement?.removeEventListener('wheel', onScroll);\n containerElement?.removeEventListener('touchstart', onMobileMove);\n };\n }, [isEnabled, onScroll, onMobileMove, containerElement]);\n\n useEffect(() => {\n const isScrollable = window.innerHeight < window.document.body.scrollHeight;\n\n setIsScrollable(isScrollable);\n }, []);\n\n return { isScrolled, isScrollable };\n};\n"],"mappings":";;;;;;;AAgBA,MAAa,sBAAsB,UAAoC;CACrE,MAAM,EACJ,YAAY,MACZ,QAAQ,GACR,eAAe,GACf,cACA,YACA,YACE,SAAS,EAAE;CAEf,MAAM,CAAC,YAAY,iBAAiB,SAAkB,MAAM;CAC5D,MAAM,CAAC,cAAc,mBAAmB,SAAkB,MAAM;CAEhE,MAAM,EAAE,oBAAoB,mBAAmB;CAC/C,MAAM,mBAAmB,sBAAsB,QAAQ;CAEvD,MAAM,eAAe,aAClB,UAAiC;EAChC,MAAM,SAAS,MAAM,UAAU,IAAI,WAAW;EAE9C,MAAM,UAAU,UAAiC;GAC/C,IAAI,WAAW;IAIb,cAFe,UADE,MAAM,UAAU,IAAI,WAAW,KAGzB,EAAE;IAEzB,kBAAkB,oBAAoB,aAAa,OAAO;;;EAI9D,kBAAkB,iBAAiB,aAAa,OAAO;IAEzD,CAAC,WAAW,iBAAiB,CAC9B;CAED,MAAM,WAAW,aACd,MAAkB;EACjB,MAAM,iBAAiB,EAAE,SAAS;EAElC,IAAI,aAAa,CAAC,mBAAmB,cAAc;GAGjD,IAFmB,KAAK,IAAI,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,EAGrD,IAAI,gBACF,eAAe,EAAE;QAEjB,aAAa,EAAE;GAInB,cAAc,OAAO,UAAU,aAAa;;IAGhD;EAAC;EAAW;EAAiB;EAAa,CAC3C;CAED,gBAAgB;EACd,IAAI,WAAW;GACb,kBAAkB,iBAAiB,SAAS,UAAU,EAAE,SAAS,MAAM,CAAC;GACxE,kBAAkB,iBAAiB,cAAc,cAAc,EAC7D,SAAS,MACV,CAAC;SAEF,cAAc,MAAM;EAGtB,aAAa;GACX,kBAAkB,oBAAoB,SAAS,SAAS;GACxD,kBAAkB,oBAAoB,cAAc,aAAa;;IAElE;EAAC;EAAW;EAAU;EAAc;EAAiB,CAAC;CAEzD,gBAAgB;EAGd,gBAFqB,OAAO,cAAc,OAAO,SAAS,KAAK,aAElC;IAC5B,EAAE,CAAC;CAEN,OAAO;EAAE;EAAY;EAAc"}
1
+ {"version":3,"file":"useScrollDetection.mjs","names":[],"sources":["../../../src/hooks/useScrollDetection.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { useGetElementOrWindow } from './useGetElementOrWindow';\nimport { useScrollBlockage } from './useScrollBlockage';\n\ntype useScrollDetectionProps = {\n isEnabled?: boolean;\n delta?: number; // how much user has to scroll to trigger the event\n deltaFromTop?: number; // how much user has to scroll from top to detect if the user has been scrolled\n onScrollDown?: (e: WheelEvent) => void;\n onScrollUp?: (e: WheelEvent) => void;\n element?: HTMLElement; // The element to detect the scroll on. If not defined, the window.document.body will be used\n};\n\nexport const useScrollDetection = (props?: useScrollDetectionProps) => {\n const {\n isEnabled = true,\n delta = 5,\n deltaFromTop = 0,\n onScrollDown,\n onScrollUp,\n element,\n } = props ?? {};\n\n const [isScrolled, setIsScrolled] = useState<boolean>(false);\n const [isScrollable, setIsScrollable] = useState<boolean>(false);\n\n const { isScrollBlocked } = useScrollBlockage();\n const containerElement = useGetElementOrWindow(element);\n\n const onMobileMove = useCallback(\n (event: globalThis.TouchEvent) => {\n const startY = event.touches?.[0]?.clientY ?? 0;\n\n const onMove = (event: globalThis.TouchEvent) => {\n if (isEnabled) {\n const currentY = event.touches?.[0]?.clientY ?? 0;\n const deltaY = startY - currentY;\n\n setIsScrolled(deltaY > 0);\n\n containerElement?.removeEventListener('touchmove', onMove);\n }\n };\n\n containerElement?.addEventListener('touchmove', onMove);\n },\n [isEnabled, containerElement]\n );\n\n const onScroll = useCallback(\n (e: WheelEvent) => {\n const isScrolledDown = e.deltaY > 0;\n\n if (isEnabled && !isScrollBlocked && isScrollable) {\n const isDeTected = Math.abs(e.deltaY) > Math.abs(delta);\n\n if (isDeTected) {\n if (isScrolledDown) {\n onScrollDown?.(e);\n } else {\n onScrollUp?.(e);\n }\n }\n\n setIsScrolled(window.scrollY > deltaFromTop);\n }\n },\n [isEnabled, isScrollBlocked, isScrollable]\n );\n\n useEffect(() => {\n if (isEnabled) {\n containerElement?.addEventListener('wheel', onScroll, { passive: true });\n containerElement?.addEventListener('touchstart', onMobileMove, {\n passive: true,\n });\n } else {\n setIsScrolled(false);\n }\n\n return () => {\n containerElement?.removeEventListener('wheel', onScroll);\n containerElement?.removeEventListener('touchstart', onMobileMove);\n };\n }, [isEnabled, onScroll, onMobileMove, containerElement]);\n\n useEffect(() => {\n const isScrollable = window.innerHeight < window.document.body.scrollHeight;\n\n setIsScrollable(isScrollable);\n }, []);\n\n return { isScrolled, isScrollable };\n};\n"],"mappings":";;;;;;;AAgBA,MAAa,sBAAsB,UAAoC;CACrE,MAAM,EACJ,YAAY,MACZ,QAAQ,GACR,eAAe,GACf,cACA,YACA,YACE,SAAS,CAAC;CAEd,MAAM,CAAC,YAAY,iBAAiB,SAAkB,KAAK;CAC3D,MAAM,CAAC,cAAc,mBAAmB,SAAkB,KAAK;CAE/D,MAAM,EAAE,oBAAoB,kBAAkB;CAC9C,MAAM,mBAAmB,sBAAsB,OAAO;CAEtD,MAAM,eAAe,aAClB,UAAiC;EAChC,MAAM,SAAS,MAAM,UAAU,IAAI,WAAW;EAE9C,MAAM,UAAU,UAAiC;GAC/C,IAAI,WAAW;IAIb,cAFe,UADE,MAAM,UAAU,IAAI,WAAW,KAGzB,CAAC;IAExB,kBAAkB,oBAAoB,aAAa,MAAM;GAC3D;EACF;EAEA,kBAAkB,iBAAiB,aAAa,MAAM;CACxD,GACA,CAAC,WAAW,gBAAgB,CAC9B;CAEA,MAAM,WAAW,aACd,MAAkB;EACjB,MAAM,iBAAiB,EAAE,SAAS;EAElC,IAAI,aAAa,CAAC,mBAAmB,cAAc;GAGjD,IAFmB,KAAK,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,KAAK,GAGpD,IAAI,gBACF,eAAe,CAAC;QAEhB,aAAa,CAAC;GAIlB,cAAc,OAAO,UAAU,YAAY;EAC7C;CACF,GACA;EAAC;EAAW;EAAiB;CAAY,CAC3C;CAEA,gBAAgB;EACd,IAAI,WAAW;GACb,kBAAkB,iBAAiB,SAAS,UAAU,EAAE,SAAS,KAAK,CAAC;GACvE,kBAAkB,iBAAiB,cAAc,cAAc,EAC7D,SAAS,KACX,CAAC;EACH,OACE,cAAc,KAAK;EAGrB,aAAa;GACX,kBAAkB,oBAAoB,SAAS,QAAQ;GACvD,kBAAkB,oBAAoB,cAAc,YAAY;EAClE;CACF,GAAG;EAAC;EAAW;EAAU;EAAc;CAAgB,CAAC;CAExD,gBAAgB;EAGd,gBAFqB,OAAO,cAAc,OAAO,SAAS,KAAK,YAEnC;CAC9B,GAAG,CAAC,CAAC;CAEL,OAAO;EAAE;EAAY;CAAa;AACpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollY.mjs","names":[],"sources":["../../../src/hooks/useScrollY.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useSyncExternalStore } from 'react';\nimport { useGetElementOrWindow } from './useGetElementOrWindow';\n\ntype UseScrollYProps = {\n element?: HTMLElement;\n};\n\ntype UseScrollYResult = {\n scrollY: number;\n scrollPercentage: number;\n scrollYMax: number;\n};\n\nconst INITIAL_SCROLL_STATE: UseScrollYResult = {\n scrollY: 0,\n scrollPercentage: 0,\n scrollYMax: 0,\n};\n\nlet lastSnapshot: UseScrollYResult = INITIAL_SCROLL_STATE;\n\nexport const useScrollY = (props?: UseScrollYProps): UseScrollYResult => {\n const { element } = props ?? {};\n\n const containerElement = useGetElementOrWindow(element);\n\n const subscribe = useCallback(\n (onChange: () => void) => {\n if (typeof window === 'undefined' || !containerElement) return () => {};\n let raf = 0;\n\n const handler = () => {\n if (raf) return;\n raf = window.requestAnimationFrame(() => {\n raf = 0;\n onChange();\n });\n };\n\n containerElement.addEventListener('scroll', handler, { passive: true });\n\n return () => {\n containerElement.removeEventListener('scroll', handler);\n if (raf) window.cancelAnimationFrame(raf);\n };\n },\n [containerElement]\n );\n\n const getSnapshot = (): UseScrollYResult => {\n if (typeof window === 'undefined' || !containerElement) {\n return INITIAL_SCROLL_STATE; // SSR/hydration-safe\n }\n\n // Handle custom element\n if (containerElement instanceof HTMLElement) {\n const scrollY = containerElement.scrollTop;\n const scrollHeight = containerElement.scrollHeight;\n const clientHeight = containerElement.clientHeight;\n const scrollYMax = Math.max(0, scrollHeight - clientHeight);\n const scrollPercentage = scrollYMax > 0 ? scrollY / scrollYMax : 0;\n\n if (\n lastSnapshot.scrollY === scrollY &&\n lastSnapshot.scrollPercentage === scrollPercentage &&\n lastSnapshot.scrollYMax === scrollYMax\n ) {\n return lastSnapshot;\n }\n\n lastSnapshot = { scrollY, scrollPercentage, scrollYMax };\n return lastSnapshot;\n }\n\n // Handle window\n const doc = document.documentElement;\n const body = document.body;\n\n const scrollY =\n window.scrollY ??\n window.pageYOffset ??\n doc?.scrollTop ??\n body?.scrollTop ??\n 0;\n\n const scrollHeight = doc?.scrollHeight ?? body?.scrollHeight ?? 0;\n const clientHeight = doc?.clientHeight ?? window.innerHeight ?? 0;\n const scrollYMax = Math.max(0, scrollHeight - clientHeight);\n const scrollPercentage = scrollYMax > 0 ? scrollY / scrollYMax : 0;\n\n if (\n lastSnapshot.scrollY === scrollY &&\n lastSnapshot.scrollPercentage === scrollPercentage &&\n lastSnapshot.scrollYMax === scrollYMax\n ) {\n return lastSnapshot;\n }\n\n lastSnapshot = { scrollY, scrollPercentage, scrollYMax };\n return lastSnapshot;\n };\n\n const getServerSnapshot = (): UseScrollYResult => INITIAL_SCROLL_STATE;\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n};\n"],"mappings":";;;;;;AAeA,MAAM,uBAAyC;CAC7C,SAAS;CACT,kBAAkB;CAClB,YAAY;CACb;AAED,IAAI,eAAiC;AAErC,MAAa,cAAc,UAA8C;CACvE,MAAM,EAAE,YAAY,SAAS,EAAE;CAE/B,MAAM,mBAAmB,sBAAsB,QAAQ;CAEvD,MAAM,YAAY,aACf,aAAyB;EACxB,IAAI,OAAO,WAAW,eAAe,CAAC,kBAAkB,aAAa;EACrE,IAAI,MAAM;EAEV,MAAM,gBAAgB;GACpB,IAAI,KAAK;GACT,MAAM,OAAO,4BAA4B;IACvC,MAAM;IACN,UAAU;KACV;;EAGJ,iBAAiB,iBAAiB,UAAU,SAAS,EAAE,SAAS,MAAM,CAAC;EAEvE,aAAa;GACX,iBAAiB,oBAAoB,UAAU,QAAQ;GACvD,IAAI,KAAK,OAAO,qBAAqB,IAAI;;IAG7C,CAAC,iBAAiB,CACnB;CAED,MAAM,oBAAsC;EAC1C,IAAI,OAAO,WAAW,eAAe,CAAC,kBACpC,OAAO;EAIT,IAAI,4BAA4B,aAAa;GAC3C,MAAM,UAAU,iBAAiB;GACjC,MAAM,eAAe,iBAAiB;GACtC,MAAM,eAAe,iBAAiB;GACtC,MAAM,aAAa,KAAK,IAAI,GAAG,eAAe,aAAa;GAC3D,MAAM,mBAAmB,aAAa,IAAI,UAAU,aAAa;GAEjE,IACE,aAAa,YAAY,WACzB,aAAa,qBAAqB,oBAClC,aAAa,eAAe,YAE5B,OAAO;GAGT,eAAe;IAAE;IAAS;IAAkB;IAAY;GACxD,OAAO;;EAIT,MAAM,MAAM,SAAS;EACrB,MAAM,OAAO,SAAS;EAEtB,MAAM,UACJ,OAAO,WACP,OAAO,eACP,KAAK,aACL,MAAM,aACN;EAEF,MAAM,eAAe,KAAK,gBAAgB,MAAM,gBAAgB;EAChE,MAAM,eAAe,KAAK,gBAAgB,OAAO,eAAe;EAChE,MAAM,aAAa,KAAK,IAAI,GAAG,eAAe,aAAa;EAC3D,MAAM,mBAAmB,aAAa,IAAI,UAAU,aAAa;EAEjE,IACE,aAAa,YAAY,WACzB,aAAa,qBAAqB,oBAClC,aAAa,eAAe,YAE5B,OAAO;EAGT,eAAe;GAAE;GAAS;GAAkB;GAAY;EACxD,OAAO;;CAGT,MAAM,0BAA4C;CAElD,OAAO,qBAAqB,WAAW,aAAa,kBAAkB"}
1
+ {"version":3,"file":"useScrollY.mjs","names":[],"sources":["../../../src/hooks/useScrollY.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useSyncExternalStore } from 'react';\nimport { useGetElementOrWindow } from './useGetElementOrWindow';\n\ntype UseScrollYProps = {\n element?: HTMLElement;\n};\n\ntype UseScrollYResult = {\n scrollY: number;\n scrollPercentage: number;\n scrollYMax: number;\n};\n\nconst INITIAL_SCROLL_STATE: UseScrollYResult = {\n scrollY: 0,\n scrollPercentage: 0,\n scrollYMax: 0,\n};\n\nlet lastSnapshot: UseScrollYResult = INITIAL_SCROLL_STATE;\n\nexport const useScrollY = (props?: UseScrollYProps): UseScrollYResult => {\n const { element } = props ?? {};\n\n const containerElement = useGetElementOrWindow(element);\n\n const subscribe = useCallback(\n (onChange: () => void) => {\n if (typeof window === 'undefined' || !containerElement) return () => {};\n let raf = 0;\n\n const handler = () => {\n if (raf) return;\n raf = window.requestAnimationFrame(() => {\n raf = 0;\n onChange();\n });\n };\n\n containerElement.addEventListener('scroll', handler, { passive: true });\n\n return () => {\n containerElement.removeEventListener('scroll', handler);\n if (raf) window.cancelAnimationFrame(raf);\n };\n },\n [containerElement]\n );\n\n const getSnapshot = (): UseScrollYResult => {\n if (typeof window === 'undefined' || !containerElement) {\n return INITIAL_SCROLL_STATE; // SSR/hydration-safe\n }\n\n // Handle custom element\n if (containerElement instanceof HTMLElement) {\n const scrollY = containerElement.scrollTop;\n const scrollHeight = containerElement.scrollHeight;\n const clientHeight = containerElement.clientHeight;\n const scrollYMax = Math.max(0, scrollHeight - clientHeight);\n const scrollPercentage = scrollYMax > 0 ? scrollY / scrollYMax : 0;\n\n if (\n lastSnapshot.scrollY === scrollY &&\n lastSnapshot.scrollPercentage === scrollPercentage &&\n lastSnapshot.scrollYMax === scrollYMax\n ) {\n return lastSnapshot;\n }\n\n lastSnapshot = { scrollY, scrollPercentage, scrollYMax };\n return lastSnapshot;\n }\n\n // Handle window\n const doc = document.documentElement;\n const body = document.body;\n\n const scrollY =\n window.scrollY ??\n window.pageYOffset ??\n doc?.scrollTop ??\n body?.scrollTop ??\n 0;\n\n const scrollHeight = doc?.scrollHeight ?? body?.scrollHeight ?? 0;\n const clientHeight = doc?.clientHeight ?? window.innerHeight ?? 0;\n const scrollYMax = Math.max(0, scrollHeight - clientHeight);\n const scrollPercentage = scrollYMax > 0 ? scrollY / scrollYMax : 0;\n\n if (\n lastSnapshot.scrollY === scrollY &&\n lastSnapshot.scrollPercentage === scrollPercentage &&\n lastSnapshot.scrollYMax === scrollYMax\n ) {\n return lastSnapshot;\n }\n\n lastSnapshot = { scrollY, scrollPercentage, scrollYMax };\n return lastSnapshot;\n };\n\n const getServerSnapshot = (): UseScrollYResult => INITIAL_SCROLL_STATE;\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n};\n"],"mappings":";;;;;;AAeA,MAAM,uBAAyC;CAC7C,SAAS;CACT,kBAAkB;CAClB,YAAY;AACd;AAEA,IAAI,eAAiC;AAErC,MAAa,cAAc,UAA8C;CACvE,MAAM,EAAE,YAAY,SAAS,CAAC;CAE9B,MAAM,mBAAmB,sBAAsB,OAAO;CAEtD,MAAM,YAAY,aACf,aAAyB;EACxB,IAAI,OAAO,WAAW,eAAe,CAAC,kBAAkB,aAAa,CAAC;EACtE,IAAI,MAAM;EAEV,MAAM,gBAAgB;GACpB,IAAI,KAAK;GACT,MAAM,OAAO,4BAA4B;IACvC,MAAM;IACN,SAAS;GACX,CAAC;EACH;EAEA,iBAAiB,iBAAiB,UAAU,SAAS,EAAE,SAAS,KAAK,CAAC;EAEtE,aAAa;GACX,iBAAiB,oBAAoB,UAAU,OAAO;GACtD,IAAI,KAAK,OAAO,qBAAqB,GAAG;EAC1C;CACF,GACA,CAAC,gBAAgB,CACnB;CAEA,MAAM,oBAAsC;EAC1C,IAAI,OAAO,WAAW,eAAe,CAAC,kBACpC,OAAO;EAIT,IAAI,4BAA4B,aAAa;GAC3C,MAAM,UAAU,iBAAiB;GACjC,MAAM,eAAe,iBAAiB;GACtC,MAAM,eAAe,iBAAiB;GACtC,MAAM,aAAa,KAAK,IAAI,GAAG,eAAe,YAAY;GAC1D,MAAM,mBAAmB,aAAa,IAAI,UAAU,aAAa;GAEjE,IACE,aAAa,YAAY,WACzB,aAAa,qBAAqB,oBAClC,aAAa,eAAe,YAE5B,OAAO;GAGT,eAAe;IAAE;IAAS;IAAkB;GAAW;GACvD,OAAO;EACT;EAGA,MAAM,MAAM,SAAS;EACrB,MAAM,OAAO,SAAS;EAEtB,MAAM,UACJ,OAAO,WACP,OAAO,eACP,KAAK,aACL,MAAM,aACN;EAEF,MAAM,eAAe,KAAK,gBAAgB,MAAM,gBAAgB;EAChE,MAAM,eAAe,KAAK,gBAAgB,OAAO,eAAe;EAChE,MAAM,aAAa,KAAK,IAAI,GAAG,eAAe,YAAY;EAC1D,MAAM,mBAAmB,aAAa,IAAI,UAAU,aAAa;EAEjE,IACE,aAAa,YAAY,WACzB,aAAa,qBAAqB,oBAClC,aAAa,eAAe,YAE5B,OAAO;EAGT,eAAe;GAAE;GAAS;GAAkB;EAAW;EACvD,OAAO;CACT;CAEA,MAAM,0BAA4C;CAElD,OAAO,qBAAqB,WAAW,aAAa,iBAAiB;AACvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSearch.mjs","names":[],"sources":["../../../src/hooks/useSearch.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef, useState } from 'react';\n\ntype UseSearchProps = {\n minChars?: number;\n debounceMs?: number;\n trim?: boolean;\n defaultValue?: string | null;\n onSearch?: (value: string) => void;\n onClear?: () => void;\n};\n\nexport const useSearch = (options?: UseSearchProps) => {\n const {\n minChars = 3,\n debounceMs = 300,\n trim = true,\n defaultValue,\n onSearch,\n onClear,\n } = options ?? {};\n const searchRef = useRef('');\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const [search, setDebouncedSearch] = useState<string>(defaultValue ?? '');\n\n const clearTimer = () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n\n const setSearch = (value: string) => {\n searchRef.current = value;\n const normalized = trim ? value.trim() : value;\n\n clearTimer();\n\n if (normalized.length < minChars) {\n setDebouncedSearch('');\n onClear?.();\n return;\n }\n\n timerRef.current = setTimeout(() => {\n const current = trim ? searchRef.current.trim() : searchRef.current;\n if (current.length >= minChars) {\n setDebouncedSearch(current);\n onSearch?.(current);\n } else {\n setDebouncedSearch('');\n onClear?.();\n }\n }, debounceMs);\n };\n\n useEffect(() => {\n return () => {\n clearTimer();\n };\n }, []);\n\n const hasMinChars = search.length >= minChars;\n\n return { setSearch, search, hasMinChars };\n};\n"],"mappings":";;;;;AAaA,MAAa,aAAa,YAA6B;CACrD,MAAM,EACJ,WAAW,GACX,aAAa,KACb,OAAO,MACP,cACA,UACA,YACE,WAAW,EAAE;CACjB,MAAM,YAAY,OAAO,GAAG;CAC5B,MAAM,WAAW,OAA6C,KAAK;CACnE,MAAM,CAAC,QAAQ,sBAAsB,SAAiB,gBAAgB,GAAG;CAEzE,MAAM,mBAAmB;EACvB,IAAI,SAAS,SAAS;GACpB,aAAa,SAAS,QAAQ;GAC9B,SAAS,UAAU;;;CAIvB,MAAM,aAAa,UAAkB;EACnC,UAAU,UAAU;EACpB,MAAM,aAAa,OAAO,MAAM,MAAM,GAAG;EAEzC,YAAY;EAEZ,IAAI,WAAW,SAAS,UAAU;GAChC,mBAAmB,GAAG;GACtB,WAAW;GACX;;EAGF,SAAS,UAAU,iBAAiB;GAClC,MAAM,UAAU,OAAO,UAAU,QAAQ,MAAM,GAAG,UAAU;GAC5D,IAAI,QAAQ,UAAU,UAAU;IAC9B,mBAAmB,QAAQ;IAC3B,WAAW,QAAQ;UACd;IACL,mBAAmB,GAAG;IACtB,WAAW;;KAEZ,WAAW;;CAGhB,gBAAgB;EACd,aAAa;GACX,YAAY;;IAEb,EAAE,CAAC;CAIN,OAAO;EAAE;EAAW;EAAQ,aAFR,OAAO,UAAU;EAEI"}
1
+ {"version":3,"file":"useSearch.mjs","names":[],"sources":["../../../src/hooks/useSearch.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef, useState } from 'react';\n\ntype UseSearchProps = {\n minChars?: number;\n debounceMs?: number;\n trim?: boolean;\n defaultValue?: string | null;\n onSearch?: (value: string) => void;\n onClear?: () => void;\n};\n\nexport const useSearch = (options?: UseSearchProps) => {\n const {\n minChars = 3,\n debounceMs = 300,\n trim = true,\n defaultValue,\n onSearch,\n onClear,\n } = options ?? {};\n const searchRef = useRef('');\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const [search, setDebouncedSearch] = useState<string>(defaultValue ?? '');\n\n const clearTimer = () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n\n const setSearch = (value: string) => {\n searchRef.current = value;\n const normalized = trim ? value.trim() : value;\n\n clearTimer();\n\n if (normalized.length < minChars) {\n setDebouncedSearch('');\n onClear?.();\n return;\n }\n\n timerRef.current = setTimeout(() => {\n const current = trim ? searchRef.current.trim() : searchRef.current;\n if (current.length >= minChars) {\n setDebouncedSearch(current);\n onSearch?.(current);\n } else {\n setDebouncedSearch('');\n onClear?.();\n }\n }, debounceMs);\n };\n\n useEffect(() => {\n return () => {\n clearTimer();\n };\n }, []);\n\n const hasMinChars = search.length >= minChars;\n\n return { setSearch, search, hasMinChars };\n};\n"],"mappings":";;;;;AAaA,MAAa,aAAa,YAA6B;CACrD,MAAM,EACJ,WAAW,GACX,aAAa,KACb,OAAO,MACP,cACA,UACA,YACE,WAAW,CAAC;CAChB,MAAM,YAAY,OAAO,EAAE;CAC3B,MAAM,WAAW,OAA6C,IAAI;CAClE,MAAM,CAAC,QAAQ,sBAAsB,SAAiB,gBAAgB,EAAE;CAExE,MAAM,mBAAmB;EACvB,IAAI,SAAS,SAAS;GACpB,aAAa,SAAS,OAAO;GAC7B,SAAS,UAAU;EACrB;CACF;CAEA,MAAM,aAAa,UAAkB;EACnC,UAAU,UAAU;EACpB,MAAM,aAAa,OAAO,MAAM,KAAK,IAAI;EAEzC,WAAW;EAEX,IAAI,WAAW,SAAS,UAAU;GAChC,mBAAmB,EAAE;GACrB,UAAU;GACV;EACF;EAEA,SAAS,UAAU,iBAAiB;GAClC,MAAM,UAAU,OAAO,UAAU,QAAQ,KAAK,IAAI,UAAU;GAC5D,IAAI,QAAQ,UAAU,UAAU;IAC9B,mBAAmB,OAAO;IAC1B,WAAW,OAAO;GACpB,OAAO;IACL,mBAAmB,EAAE;IACrB,UAAU;GACZ;EACF,GAAG,UAAU;CACf;CAEA,gBAAgB;EACd,aAAa;GACX,WAAW;EACb;CACF,GAAG,CAAC,CAAC;CAIL,OAAO;EAAE;EAAW;EAAQ,aAFR,OAAO,UAAU;CAEG;AAC1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/hooks/useUser/index.ts"],"sourcesContent":["'use client';\n\nimport { useLogout } from '../reactQuery';\nimport { useAuth } from '../useAuth';\n\nexport const useUser = () => {\n const { session, revalidateSession, setSession } = useAuth();\n const { mutate: logout } = useLogout();\n\n const status = session?.user ? 'authenticated' : 'unauthenticated';\n\n const isAuthenticated = status === 'authenticated';\n const isUnauthenticated = status === 'unauthenticated';\n\n const user = session?.user;\n\n const logoutHandle = async () => {\n setSession(null);\n logout();\n };\n\n return {\n isAuthenticated,\n isUnauthenticated,\n user,\n revalidateSession,\n logout: logoutHandle,\n };\n};\n"],"mappings":";;;;;;AAKA,MAAa,gBAAgB;CAC3B,MAAM,EAAE,SAAS,mBAAmB,eAAe,SAAS;CAC5D,MAAM,EAAE,QAAQ,WAAW,WAAW;CAEtC,MAAM,SAAS,SAAS,OAAO,kBAAkB;CAEjD,MAAM,kBAAkB,WAAW;CACnC,MAAM,oBAAoB,WAAW;CAErC,MAAM,OAAO,SAAS;CAEtB,MAAM,eAAe,YAAY;EAC/B,WAAW,KAAK;EAChB,QAAQ;;CAGV,OAAO;EACL;EACA;EACA;EACA;EACA,QAAQ;EACT"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/hooks/useUser/index.ts"],"sourcesContent":["'use client';\n\nimport { useLogout } from '../reactQuery';\nimport { useAuth } from '../useAuth';\n\nexport const useUser = () => {\n const { session, revalidateSession, setSession } = useAuth();\n const { mutate: logout } = useLogout();\n\n const status = session?.user ? 'authenticated' : 'unauthenticated';\n\n const isAuthenticated = status === 'authenticated';\n const isUnauthenticated = status === 'unauthenticated';\n\n const user = session?.user;\n\n const logoutHandle = async () => {\n setSession(null);\n logout();\n };\n\n return {\n isAuthenticated,\n isUnauthenticated,\n user,\n revalidateSession,\n logout: logoutHandle,\n };\n};\n"],"mappings":";;;;;;AAKA,MAAa,gBAAgB;CAC3B,MAAM,EAAE,SAAS,mBAAmB,eAAe,QAAQ;CAC3D,MAAM,EAAE,QAAQ,WAAW,UAAU;CAErC,MAAM,SAAS,SAAS,OAAO,kBAAkB;CAEjD,MAAM,kBAAkB,WAAW;CACnC,MAAM,oBAAoB,WAAW;CAErC,MAAM,OAAO,SAAS;CAEtB,MAAM,eAAe,YAAY;EAC/B,WAAW,IAAI;EACf,OAAO;CACT;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA,QAAQ;CACV;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.mjs","names":[],"sources":["../../../src/libs/auth.ts"],"sourcesContent":["import { passkeyClient } from '@better-auth/passkey/client';\nimport { ssoClient } from '@better-auth/sso/client';\nimport { default as configuration } from '@intlayer/config/built';\nimport { BACKEND_URL } from '@intlayer/config/defaultValues';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { createAuthClient } from 'better-auth/client';\nimport { magicLinkClient, twoFactorClient } 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() as never,\n ssoClient(),\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['requestPasswordReset'];\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: (\n // Redeclare it because of type inference issues\n input: { email: string; callbackURL: string }\n ) => any;\n registerSSO: AuthClient['sso']['register'];\n listSSOProviders: () => Promise<any>;\n deleteSSOProvider: (args: { providerId: string }) => Promise<any>;\n signInSSO: AuthClient['signIn']['sso'];\n}\n\nexport const getAuthAPI = (intlayerConfig?: IntlayerConfig): AuthAPI => {\n let backendURL =\n intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL;\n\n if (!backendURL) {\n backendURL = BACKEND_URL;\n console.dir({ intlayerConfig, configuration }, { depth: null });\n console.error('Backend URL is not defined in the Intlayer configuration.');\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['requestPasswordReset'] = async (\n ...args\n ) => {\n return client.requestPasswordReset(...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: any = async (...args: any[]) => {\n return (client.signIn as any).magicLink(...args);\n };\n\n const signInSSO: AuthClient['signIn']['sso'] = async (...args) => {\n return client.signIn.sso(...args);\n };\n\n const registerSSO: AuthClient['sso']['register'] = async (...args) => {\n return client.sso.register(...args);\n };\n\n const listSSOProviders = async () => {\n // Not implemented yet\n return [];\n };\n\n const deleteSSOProvider = async (_args: { providerId: string }) => {\n // Not implemented yet\n return { success: true };\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 signInSSO,\n registerSSO,\n listSSOProviders,\n deleteSSOProvider,\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"auth.mjs","names":[],"sources":["../../../src/libs/auth.ts"],"sourcesContent":["import { passkeyClient } from '@better-auth/passkey/client';\nimport { ssoClient } from '@better-auth/sso/client';\nimport { default as configuration } from '@intlayer/config/built';\nimport { BACKEND_URL } from '@intlayer/config/defaultValues';\nimport type { IntlayerConfig } from '@intlayer/types/config';\nimport { createAuthClient } from 'better-auth/client';\nimport { magicLinkClient, twoFactorClient } 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() as never,\n ssoClient(),\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['requestPasswordReset'];\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: (\n // Redeclare it because of type inference issues\n input: { email: string; callbackURL: string }\n ) => any;\n registerSSO: AuthClient['sso']['register'];\n listSSOProviders: () => Promise<any>;\n deleteSSOProvider: (args: { providerId: string }) => Promise<any>;\n signInSSO: AuthClient['signIn']['sso'];\n}\n\nexport const getAuthAPI = (intlayerConfig?: IntlayerConfig): AuthAPI => {\n let backendURL =\n intlayerConfig?.editor?.backendURL ?? configuration?.editor?.backendURL;\n\n if (!backendURL) {\n backendURL = BACKEND_URL;\n console.dir({ intlayerConfig, configuration }, { depth: null });\n console.error('Backend URL is not defined in the Intlayer configuration.');\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['requestPasswordReset'] = async (\n ...args\n ) => {\n return client.requestPasswordReset(...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: any = async (...args: any[]) => {\n return (client.signIn as any).magicLink(...args);\n };\n\n const signInSSO: AuthClient['signIn']['sso'] = async (...args) => {\n return client.signIn.sso(...args);\n };\n\n const registerSSO: AuthClient['sso']['register'] = async (...args) => {\n return client.sso.register(...args);\n };\n\n const listSSOProviders = async () => {\n // Not implemented yet\n return [];\n };\n\n const deleteSSOProvider = async (_args: { providerId: string }) => {\n // Not implemented yet\n return { success: true };\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 signInSSO,\n registerSSO,\n listSSOProviders,\n deleteSSOProvider,\n };\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ReactQueryProvider.mjs","names":[],"sources":["../../../src/providers/ReactQueryProvider.tsx"],"sourcesContent":["'use client';\n\nimport { createAsyncStoragePersister } from '@tanstack/query-async-storage-persister';\nimport {\n type DefaultOptions,\n MutationCache,\n QueryClient,\n QueryClientProvider,\n type QueryKey,\n type UseMutationOptions,\n} from '@tanstack/react-query';\nimport { PersistQueryClientProvider } from '@tanstack/react-query-persist-client';\nimport { type FC, type PropsWithChildren, useRef } from 'react';\nimport { useToast } from '../components/Toaster';\n\nconst PERSIST_MAX_AGE = 1000 * 60 * 60 * 24; // 24h\n// Bump to invalidate every persisted cache after a breaking change in query shapes\nconst PERSIST_BUSTER = 'v1';\n\nconst defaultQueryOptions: DefaultOptions = {\n queries: {\n retry: 1,\n // Keep data fresh for 30 seconds to avoid unnecessary refetches during navigation\n staleTime: 30 * 1000,\n // gcTime must be >= persist maxAge, otherwise restored entries are dropped on rehydrate\n gcTime: PERSIST_MAX_AGE,\n // Only refetch on mount if data is stale (not every single mount)\n refetchOnMount: true,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n },\n mutations: {\n retry: 0,\n },\n};\n\nconst browserLocalStorage = {\n getItem: (key: string) => Promise.resolve(window.localStorage.getItem(key)),\n setItem: (key: string, value: string) =>\n Promise.resolve(window.localStorage.setItem(key, value)),\n removeItem: (key: string) =>\n Promise.resolve(window.localStorage.removeItem(key)),\n};\n\nconst noopStorage = {\n getItem: () => Promise.resolve(null),\n setItem: () => Promise.resolve(),\n removeItem: () => Promise.resolve(),\n};\n\nconst persister = createAsyncStoragePersister({\n storage: typeof window !== 'undefined' ? browserLocalStorage : noopStorage,\n key: 'intlayer-rq-cache',\n});\n\nconst SHOW_ERROR_CODE = false;\n\ndeclare module '@tanstack/react-query' {\n interface Register {\n mutationMeta: {\n onSuccess?: UseMutationOptions['onSuccess'];\n onError?: UseMutationOptions['onError'];\n invalidateQueries?: QueryKey[];\n resetQueries?: QueryKey[];\n };\n }\n}\n\nconst formatErrorCode = (errorCode: string) => errorCode.split('_').join(' ');\n\n/**\n * Hook to handle error logging and toast notifications\n */\nconst useToastEvents = () => {\n const { toast } = useToast();\n\n const onError: MutationCache['config']['onError'] = (error: any) => {\n const parsed = (() => {\n try {\n if (typeof error === 'string') return JSON.parse(error);\n if (error instanceof Error) return JSON.parse(error.message);\n } catch (_) {}\n return error;\n })();\n\n [parsed].flat().forEach((err: any) => {\n // Check for nested error object (standard in your API responses: { statusCode, error: { ... } })\n const apiError = err?.error ?? err;\n\n if (apiError?.code === 'RATE_LIMIT_EXCEEDED_UNAUTHENTICATED') {\n toast({\n title: apiError.message,\n variant: 'error',\n });\n return;\n }\n\n toast({\n title: formatErrorCode(\n SHOW_ERROR_CODE\n ? (apiError?.code ?? err?.code)\n : (apiError?.title ?? err?.title ?? 'Error')\n ),\n description:\n apiError?.message ??\n err?.message ??\n String(apiError ?? 'An error occurred'),\n variant: 'error',\n });\n });\n };\n\n const onSuccess: MutationCache['config']['onSuccess'] = (data: any) => {\n if (data?.error) {\n toast({\n title: formatErrorCode(data.error.title ?? data.error.code ?? 'Error'),\n description:\n data.error.message ?? data.error.code ?? 'An error occurred',\n variant: 'error',\n });\n }\n\n if (data?.message) {\n toast({\n title: data.message,\n description: data.description,\n variant: 'success',\n });\n }\n };\n\n return {\n onError,\n onSuccess,\n };\n};\n\nexport const getQueryClient = () =>\n new QueryClient({ defaultOptions: defaultQueryOptions });\n\ninterface ReactQueryProviderProps {\n client?: QueryClient;\n}\n\nexport const ReactQueryProvider: FC<\n PropsWithChildren<ReactQueryProviderProps>\n> = ({ children, client }) => {\n const { onError, onSuccess } = useToastEvents();\n // Keep handlers in a ref so the cache config (set once below) always calls\n // the latest closures from useToastEvents without needing re-wiring.\n const handlersRef = useRef({ onSuccess, onError });\n handlersRef.current = { onSuccess, onError };\n\n const clientRef = useRef<QueryClient>(client ?? null);\n\n if (!clientRef.current) {\n clientRef.current = new QueryClient({\n defaultOptions: defaultQueryOptions,\n mutationCache: new MutationCache(),\n });\n }\n\n // Wire toast handlers + meta-driven invalidation onto whatever client we\n // ended up with. Required even when the client is created externally (e.g.\n // via getQueryClient() in TanStack Router context), since the externally\n // created client ships with a bare MutationCache.\n const wiredRef = useRef(false);\n if (!wiredRef.current) {\n wiredRef.current = true;\n const cache = clientRef.current.getMutationCache();\n cache.config.onSuccess = (\n data,\n variables,\n onMutateResult,\n mutation,\n context\n ) =>\n handlersRef.current.onSuccess?.(\n data,\n variables,\n onMutateResult,\n mutation,\n context\n );\n cache.config.onError = (\n error,\n variables,\n onMutateResult,\n mutation,\n context\n ) =>\n handlersRef.current.onError?.(\n error,\n variables,\n onMutateResult,\n mutation,\n context\n );\n cache.config.onSettled = (\n _data,\n _error,\n _variables,\n _onMutateResult,\n mutation\n ) => {\n if (mutation.meta?.invalidateQueries) {\n mutation.meta.invalidateQueries.forEach((queryKey) => {\n clientRef.current?.invalidateQueries({ queryKey });\n });\n }\n\n if (mutation.meta?.resetQueries) {\n mutation.meta.resetQueries.forEach((queryKey) => {\n clientRef.current?.resetQueries({ queryKey });\n });\n }\n };\n }\n\n if (client) {\n return (\n <QueryClientProvider client={clientRef.current}>\n {children}\n </QueryClientProvider>\n );\n }\n\n return (\n <PersistQueryClientProvider\n client={clientRef.current}\n persistOptions={{\n persister,\n maxAge: PERSIST_MAX_AGE,\n buster: PERSIST_BUSTER,\n dehydrateOptions: {\n shouldDehydrateQuery: (query) => query.state.status === 'success',\n },\n }}\n >\n {children}\n </PersistQueryClientProvider>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"ReactQueryProvider.mjs","names":[],"sources":["../../../src/providers/ReactQueryProvider.tsx"],"sourcesContent":["'use client';\n\nimport { createAsyncStoragePersister } from '@tanstack/query-async-storage-persister';\nimport {\n type DefaultOptions,\n MutationCache,\n QueryClient,\n QueryClientProvider,\n type QueryKey,\n type UseMutationOptions,\n} from '@tanstack/react-query';\nimport { PersistQueryClientProvider } from '@tanstack/react-query-persist-client';\nimport { type FC, type PropsWithChildren, useRef } from 'react';\nimport { useToast } from '../components/Toaster';\n\nconst PERSIST_MAX_AGE = 1000 * 60 * 60 * 24; // 24h\n// Bump to invalidate every persisted cache after a breaking change in query shapes\nconst PERSIST_BUSTER = 'v1';\n\nconst defaultQueryOptions: DefaultOptions = {\n queries: {\n retry: 1,\n // Keep data fresh for 30 seconds to avoid unnecessary refetches during navigation\n staleTime: 30 * 1000,\n // gcTime must be >= persist maxAge, otherwise restored entries are dropped on rehydrate\n gcTime: PERSIST_MAX_AGE,\n // Only refetch on mount if data is stale (not every single mount)\n refetchOnMount: true,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n },\n mutations: {\n retry: 0,\n },\n};\n\nconst browserLocalStorage = {\n getItem: (key: string) => Promise.resolve(window.localStorage.getItem(key)),\n setItem: (key: string, value: string) =>\n Promise.resolve(window.localStorage.setItem(key, value)),\n removeItem: (key: string) =>\n Promise.resolve(window.localStorage.removeItem(key)),\n};\n\nconst noopStorage = {\n getItem: () => Promise.resolve(null),\n setItem: () => Promise.resolve(),\n removeItem: () => Promise.resolve(),\n};\n\nconst persister = createAsyncStoragePersister({\n storage: typeof window !== 'undefined' ? browserLocalStorage : noopStorage,\n key: 'intlayer-rq-cache',\n});\n\nconst SHOW_ERROR_CODE = false;\n\ndeclare module '@tanstack/react-query' {\n interface Register {\n mutationMeta: {\n onSuccess?: UseMutationOptions['onSuccess'];\n onError?: UseMutationOptions['onError'];\n invalidateQueries?: QueryKey[];\n resetQueries?: QueryKey[];\n };\n }\n}\n\nconst formatErrorCode = (errorCode: string) => errorCode.split('_').join(' ');\n\n/**\n * Hook to handle error logging and toast notifications\n */\nconst useToastEvents = () => {\n const { toast } = useToast();\n\n const onError: MutationCache['config']['onError'] = (error: any) => {\n const parsed = (() => {\n try {\n if (typeof error === 'string') return JSON.parse(error);\n if (error instanceof Error) return JSON.parse(error.message);\n } catch (_) {}\n return error;\n })();\n\n [parsed].flat().forEach((err: any) => {\n // Check for nested error object (standard in your API responses: { statusCode, error: { ... } })\n const apiError = err?.error ?? err;\n\n if (apiError?.code === 'RATE_LIMIT_EXCEEDED_UNAUTHENTICATED') {\n toast({\n title: apiError.message,\n variant: 'error',\n });\n return;\n }\n\n toast({\n title: formatErrorCode(\n SHOW_ERROR_CODE\n ? (apiError?.code ?? err?.code)\n : (apiError?.title ?? err?.title ?? 'Error')\n ),\n description:\n apiError?.message ??\n err?.message ??\n String(apiError ?? 'An error occurred'),\n variant: 'error',\n });\n });\n };\n\n const onSuccess: MutationCache['config']['onSuccess'] = (data: any) => {\n if (data?.error) {\n toast({\n title: formatErrorCode(data.error.title ?? data.error.code ?? 'Error'),\n description:\n data.error.message ?? data.error.code ?? 'An error occurred',\n variant: 'error',\n });\n }\n\n if (data?.message) {\n toast({\n title: data.message,\n description: data.description,\n variant: 'success',\n });\n }\n };\n\n return {\n onError,\n onSuccess,\n };\n};\n\nexport const getQueryClient = () =>\n new QueryClient({ defaultOptions: defaultQueryOptions });\n\ninterface ReactQueryProviderProps {\n client?: QueryClient;\n}\n\nexport const ReactQueryProvider: FC<\n PropsWithChildren<ReactQueryProviderProps>\n> = ({ children, client }) => {\n const { onError, onSuccess } = useToastEvents();\n // Keep handlers in a ref so the cache config (set once below) always calls\n // the latest closures from useToastEvents without needing re-wiring.\n const handlersRef = useRef({ onSuccess, onError });\n handlersRef.current = { onSuccess, onError };\n\n const clientRef = useRef<QueryClient>(client ?? null);\n\n if (!clientRef.current) {\n clientRef.current = new QueryClient({\n defaultOptions: defaultQueryOptions,\n mutationCache: new MutationCache(),\n });\n }\n\n // Wire toast handlers + meta-driven invalidation onto whatever client we\n // ended up with. Required even when the client is created externally (e.g.\n // via getQueryClient() in TanStack Router context), since the externally\n // created client ships with a bare MutationCache.\n const wiredRef = useRef(false);\n if (!wiredRef.current) {\n wiredRef.current = true;\n const cache = clientRef.current.getMutationCache();\n cache.config.onSuccess = (\n data,\n variables,\n onMutateResult,\n mutation,\n context\n ) =>\n handlersRef.current.onSuccess?.(\n data,\n variables,\n onMutateResult,\n mutation,\n context\n );\n cache.config.onError = (\n error,\n variables,\n onMutateResult,\n mutation,\n context\n ) =>\n handlersRef.current.onError?.(\n error,\n variables,\n onMutateResult,\n mutation,\n context\n );\n cache.config.onSettled = (\n _data,\n _error,\n _variables,\n _onMutateResult,\n mutation\n ) => {\n if (mutation.meta?.invalidateQueries) {\n mutation.meta.invalidateQueries.forEach((queryKey) => {\n clientRef.current?.invalidateQueries({ queryKey });\n });\n }\n\n if (mutation.meta?.resetQueries) {\n mutation.meta.resetQueries.forEach((queryKey) => {\n clientRef.current?.resetQueries({ queryKey });\n });\n }\n };\n }\n\n if (client) {\n return (\n <QueryClientProvider client={clientRef.current}>\n {children}\n </QueryClientProvider>\n );\n }\n\n return (\n <PersistQueryClientProvider\n client={clientRef.current}\n persistOptions={{\n persister,\n maxAge: PERSIST_MAX_AGE,\n buster: PERSIST_BUSTER,\n dehydrateOptions: {\n shouldDehydrateQuery: (query) => query.state.status === 'success',\n },\n }}\n >\n {children}\n </PersistQueryClientProvider>\n );\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tailwind.config.mjs","names":["localePath"],"sources":["../../src/tailwind.config.ts"],"sourcesContent":["import { dirname, relative } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nconst __filename = fileURLToPath(import.meta.url); // get the resolved path to the file\nconst __dirname = dirname(__filename); // get the name of the directory\n\nconst getTailwindConfig = () => {\n const originAbsolutePath = process.cwd();\n const localePath = __dirname;\n\n let relativePath = relative(originAbsolutePath, localePath);\n\n if (!relativePath) {\n relativePath = '.';\n }\n\n const config = {\n content: [\n `${relativePath}/components/**/*.{ts,tsx,jsx,mjx,js,cjs,cjx,mjs,mjx,svg}`,\n ],\n };\n\n return config;\n};\n\nconst tailwindConfig = getTailwindConfig();\nconst tailwindPresetConfig = tailwindConfig;\n\nexport { tailwindPresetConfig };\nexport default tailwindConfig;\n"],"mappings":";;;;AAIA,MAAM,YAAY,QADC,cAAc,OAAO,KAAK,IACT,CAAC;AAErC,MAAM,0BAA0B;CAI9B,IAAI,eAAe,SAHQ,QAAQ,KAGW,EAAEA,UAAW;CAE3D,IAAI,CAAC,cACH,eAAe;CASjB,OAAO,EALL,SAAS,CACP,GAAG,aAAa,0DACjB,EAGU;;AAGf,MAAM,iBAAiB,mBAAmB;AAC1C,MAAM,uBAAuB"}
1
+ {"version":3,"file":"tailwind.config.mjs","names":["localePath"],"sources":["../../src/tailwind.config.ts"],"sourcesContent":["import { dirname, relative } from 'node:path';\nimport { fileURLToPath } from 'node:url';\n\nconst __filename = fileURLToPath(import.meta.url); // get the resolved path to the file\nconst __dirname = dirname(__filename); // get the name of the directory\n\nconst getTailwindConfig = () => {\n const originAbsolutePath = process.cwd();\n const localePath = __dirname;\n\n let relativePath = relative(originAbsolutePath, localePath);\n\n if (!relativePath) {\n relativePath = '.';\n }\n\n const config = {\n content: [\n `${relativePath}/components/**/*.{ts,tsx,jsx,mjx,js,cjs,cjx,mjs,mjx,svg}`,\n ],\n };\n\n return config;\n};\n\nconst tailwindConfig = getTailwindConfig();\nconst tailwindPresetConfig = tailwindConfig;\n\nexport { tailwindPresetConfig };\nexport default tailwindConfig;\n"],"mappings":";;;;AAIA,MAAM,YAAY,QADC,cAAc,OAAO,KAAK,GACV,CAAC;AAEpC,MAAM,0BAA0B;CAI9B,IAAI,eAAe,SAHQ,QAAQ,IAGU,GAAGA,SAAU;CAE1D,IAAI,CAAC,cACH,eAAe;CASjB,OAAO,EALL,SAAS,CACP,GAAG,aAAa,yDAClB,EAGU;AACd;AAEA,MAAM,iBAAiB,kBAAkB;AACzC,MAAM,uBAAuB"}
@@ -1 +1 @@
1
- {"version":3,"file":"cn.mjs","names":[],"sources":["../../../src/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs));\n"],"mappings":";;;;AAGA,MAAa,MAAM,GAAG,WAAyB,QAAQ,KAAK,OAAO,CAAC"}
1
+ {"version":3,"file":"cn.mjs","names":[],"sources":["../../../src/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport const cn = (...inputs: ClassValue[]) => twMerge(clsx(inputs));\n"],"mappings":";;;;AAGA,MAAa,MAAM,GAAG,WAAyB,QAAQ,KAAK,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.d.ts","names":[],"sources":["../../../../src/components/Accordion/Accordion.tsx"],"mappings":";;;;UAoBiB,cAAA,SACP,IAAA,CAAK,WAAA;;EAEb,MAAA,EAAQ,SAAA;EAHO;EAKf,QAAA,EAAU,SAAA;;EAEV,MAAA;EAJQ;EAMR,aAAA;EARQ;EAUR,QAAA,IAAY,MAAA;EAVA;EAYZ,QAAA;EAZa;EAcb,gBAAA;EAZQ;EAcR,eAAA;EAZU;EAcV,YAAA;EAVA;EAYA,SAAA;AAAA;;;;;;;;AAwCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAAa,SAAA,EAAW,EAAA,CAAG,cAAA"}
1
+ {"version":3,"file":"Accordion.d.ts","names":[],"sources":["../../../../src/components/Accordion/Accordion.tsx"],"mappings":";;;;UAoBiB,cAAA,SACP,IAAA,CAAK,WAAA;;EAEb,MAAA,EAAQ,SAAA;EAHO;EAKf,QAAA,EAAU,SAAA;;EAEV,MAAA;EAJQ;EAMR,aAAA;EARQ;EAUR,QAAA,IAAY,MAAA;EAVA;EAYZ,QAAA;EAZa;EAcb,gBAAA;EAZQ;EAcR,eAAA;EAZU;EAcV,YAAA;EAVA;EAYA,SAAA;AAAA;;;;;;;AAAS;AAwCX;;;;AAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;cAA5B,SAAA,EAAW,EAAE,CAAC,cAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"image.d.ts","names":[],"sources":["../../../../src/components/Avatar/image.ts"],"mappings":";aAAK,aAAA;EACH,MAAA;EACA,KAAA;AAAA;AAAA,aAGG,SAAA;EACH,MAAA;EACA,MAAA;AAAA;;;;AAgBF;;;;;;;;;;iBAAgB,iBAAA,CACd,QAAA,EAAU,aAAA,EACV,IAAA,EAAM,SAAA;;;;;;;;;;;;;iBAkCQ,iBAAA,CACd,QAAA,GAAU,aAAA"}
1
+ {"version":3,"file":"image.d.ts","names":[],"sources":["../../../../src/components/Avatar/image.ts"],"mappings":";aAAK,aAAA;EACH,MAAA;EACA,KAAK;AAAA;AAAA,aAGF,SAAA;EACH,MAAA;EACA,MAAM;AAAA;;;AAAA;AAgBR;;;;;;;;;AAEiB;iBAFD,iBAAA,CACd,QAAA,EAAU,aAAA,EACV,IAAA,EAAM,SAAS;;;;AAmC+B;;;;;;;;;iBADhC,iBAAA,CACd,QAA8C,GAApC,aAAoC"}
@@ -21,6 +21,8 @@ interface AvatarProps extends Omit<ComponentProps<'button'>, 'onClick'> {
21
21
  alt?: string;
22
22
  /** Whether the avatar should be focusable when not clickable */
23
23
  focusable?: boolean;
24
+ /** Whether the avatar should be hoverable */
25
+ hoverable?: boolean;
24
26
  }
25
27
  /**
26
28
  * @description Gets the capital letters from a name.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/Avatar/index.tsx"],"mappings":";;;;;AASA;UAAiB,WAAA,SAAoB,IAAA,CAAK,cAAA;;EAExC,GAAA;EAUmC;EARnC,QAAA;EAJmC;EAMnC,SAAA;EANuC;EAQvC,UAAA;EARwC;EAUxC,IAAA;EANA;EAQA,OAAA,IAAW,KAAA,EAAO,KAAA,CAAM,UAAA,CAAW,iBAAA;EAJnC;EAMA,GAAA;EAFA;EAIA,SAAA;AAAA;;;;;;;cASW,WAAA,GAAe,IAAA,UAAc,SAAA;;;;;AA8D1C;;;;;;;;;;;;;;;;;;cAAa,MAAA,EAAQ,EAAA,CAAG,WAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/Avatar/index.tsx"],"mappings":";;;;;AASA;UAAiB,WAAA,SAAoB,IAAA,CAAK,cAAA;;EAExC,GAAA;EAUmC;EARnC,QAAA;EAJmC;EAMnC,SAAA;EANuC;EAQvC,UAAA;EARwC;EAUxC,IAAA;EANA;EAQA,OAAA,IAAW,KAAA,EAAO,KAAA,CAAM,UAAA,CAAW,iBAAA;EAJnC;EAMA,GAAA;EAFA;EAIA,SAAA;EAJwB;EAMxB,SAAA;AAAA;;;;;AAAS;AASX;cAAa,WAAA,GAAe,IAAA,UAAc,SAAe;;;AAAA;AA8DzD;;;;AAAmC;;;;;;;;;;;;;;;cAAtB,MAAA,EAAQ,EAAE,CAAC,WAAA"}
@@ -1,5 +1,4 @@
1
1
  import { HTMLAttributes } from "react";
2
- import * as _$class_variance_authority_types0 from "class-variance-authority/types";
3
2
  import { VariantProps } from "class-variance-authority";
4
3
 
5
4
  //#region src/components/Badge/index.d.ts
@@ -43,10 +42,10 @@ declare enum BadgeSize {
43
42
  * @description Defines the styling variants for different badge combinations
44
43
  */
45
44
  declare const badgeVariants: (props?: {
46
- color?: "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "text" | "success" | "error" | "custom";
45
+ color?: "text" | "primary" | "secondary" | "destructive" | "neutral" | "light" | "dark" | "error" | "custom" | "success";
47
46
  variant?: "none" | "default" | "outline" | "hoverable";
48
47
  size?: "sm" | "md" | "lg";
49
- } & _$class_variance_authority_types0.ClassProp) => string;
48
+ } & import("class-variance-authority/types").ClassProp) => string;
50
49
  /**
51
50
  * Badge component props interface
52
51
  * @description Comprehensive props for the Badge component with accessibility and interactive features
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/Badge/index.tsx"],"mappings":";;;;;;;;AAQA;aAAY,UAAA;EACV,OAAA;EACA,SAAA;EACA,WAAA;EACA,OAAA;EACA,KAAA;EACA,OAAA;EACA,KAAA;EACA,IAAA;EACA,IAAA;EACA,MAAA;AAAA;;;;AAOF;aAAY,YAAA;EACV,OAAA;EACA,IAAA;EACA,OAAA;EACA,SAAA;AAAA;;;;AAOF;aAAY,SAAA;EACV,KAAA;EACA,MAAA;EACA,KAAA;AAAA;;;;AAOF;cAAa,aAAA,GAAa,KAAA;;;;IA8CzB,iCAAA,CAAA,SAAA;;;;;KAMW,UAAA,GAAa,cAAA,CAAe,WAAA;EAA5B,8CAEV,QAAA,GAAW,KAAA,CAAM,SAAA;EAEjB,KAAA,GAAQ,UAAA,MAAgB,UAAA,IAJD;EAMvB,OAAA,GAAU,YAAA,MAAkB,YAAA,IAFpB;EAIR,IAAA,GAAO,SAAA,MAAe,SAAA,IAFZ;EAIV,SAAA,YAFO;EAIP,WAAA,YAEmC;EAAnC,OAAA,IAAW,KAAA,EAAO,KAAA,CAAM,UAAA,CAAW,WAAA,YAAD;EAElC,SAAA,eAhBuB;EAkBvB,YAAA,WAhBA;EAkBA,IAAA,oCAlBiB;EAoBjB,QAAA;AAAA;;;;KAMU,iBAAA,GAAoB,YAAA,QAAoB,aAAA;;;;;;;;;;;;;;;;;AAApD;;;;;AA2BA;;;;cAAa,KAAA,EAAO,KAAA,CAAM,EAAA,CAAG,UAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/Badge/index.tsx"],"mappings":";;;;;;AAQA;;aAAY,UAAA;EACV,OAAA;EACA,SAAA;EACA,WAAA;EACA,OAAA;EACA,KAAA;EACA,OAAA;EACA,KAAA;EACA,IAAA;EACA,IAAA;EACA,MAAA;AAAA;;AAAM;AAOR;;aAAY,YAAA;EACV,OAAA;EACA,IAAA;EACA,OAAA;EACA,SAAA;AAAA;;AAAS;AAOX;;aAAY,SAAA;EACV,KAAA;EACA,MAAA;EACA,KAAA;AAAA;;AAAK;AAOP;;cAAa,aAAA,GAAa,KAAA;;;;;;;;;KAoDd,UAAA,GAAa,cAAA,CAAe,WAAA;EAAlB,8CAEpB,QAAA,GAAW,KAAA,CAAM,SAAA,EAFqB;EAItC,KAAA,GAAQ,UAAA,MAAgB,UAAA,IAFb;EAIX,OAAA,GAAU,YAAA,MAAkB,YAAA,IAFJ;EAIxB,IAAA,GAAO,SAAA,MAAe,SAAA,IAFM;EAI5B,SAAA,YAFsB;EAItB,WAAA,YAEkB;EAAlB,OAAA,IAAW,KAAA,EAAO,KAAA,CAAM,UAAA,CAAW,WAAA,YAAD;EAElC,SAAA,eAhBsC;EAkBtC,YAAA,WAhBW;EAkBX,IAAA,oCAhBA;EAkBA,QAAA;AAAA;;;;KAMU,iBAAA,GAAoB,YAAY,QAAQ,aAAA;;;;;;;;;;;;;;;AAN1C;AAMV;;;;AAAiE;AA2BjE;;;;;cAAa,KAAA,EAAO,KAAA,CAAM,EAAE,CAAC,UAAA"}
@@ -1,10 +1,8 @@
1
- import * as _$_intlayer_core_transpiler0 from "@intlayer/core/transpiler";
2
-
3
1
  //#region src/components/Breadcrumb/breadcrumb.content.d.ts
4
2
  declare const breadCrumbContent: {
5
3
  key: string;
6
4
  content: {
7
- linkLabel: _$_intlayer_core_transpiler0.TranslationContent<unknown, {
5
+ linkLabel: import("@intlayer/core/transpiler").TranslationContent<unknown, {
8
6
  en: string;
9
7
  fr: string;
10
8
  es: string;
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.content.d.ts","names":[],"sources":["../../../../src/components/Breadcrumb/breadcrumb.content.ts"],"mappings":";;;cAEa,iBAAA;;;eA4BS,4BAAA,CAAA,kBAAA"}
1
+ {"version":3,"file":"breadcrumb.content.d.ts","names":[],"sources":["../../../../src/components/Breadcrumb/breadcrumb.content.ts"],"mappings":";cAEa,iBAAA"}
@@ -1,6 +1,5 @@
1
1
  import { LinkColor } from "../Link/Link.js";
2
2
  import { FC, HTMLAttributes, ReactNode } from "react";
3
- import * as _$class_variance_authority_types0 from "class-variance-authority/types";
4
3
  import { VariantProps } from "class-variance-authority";
5
4
  import { LocalesValues } from "@intlayer/types/module_augmentation";
6
5
 
@@ -11,7 +10,7 @@ import { LocalesValues } from "@intlayer/types/module_augmentation";
11
10
  declare const breadcrumbVariants: (props?: {
12
11
  size?: "small" | "medium" | "large";
13
12
  spacing?: "compact" | "normal" | "loose";
14
- } & _$class_variance_authority_types0.ClassProp) => string;
13
+ } & import("class-variance-authority/types").ClassProp) => string;
15
14
  /**
16
15
  * Detailed breadcrumb link configuration with optional href or onClick
17
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/Breadcrumb/index.tsx"],"mappings":";;;;;;;;;;cA2EM,kBAAA,GAAkB,KAAA;;;IAiBtB,iCAAA,CAAA,SAAA;;;;KA2HG,sBAAA;EA5ImB;;;EAgJtB,IAAA;EAJyB;;;EAQzB,IAAA;EAAA;;;EAIA,OAAA;AAAA;;;;;AAUF;KAFY,cAAA,YAA0B,sBAAA;AAAA,KAE1B,eAAA;EAIH;;;EAAP,KAAA,EAAO,cAAA;EAmBK;;;;EAdZ,KAAA,GAAQ,SAAA,MAAe,SAAA;EA8BT;;;EA1Bd,MAAA,GAAS,aAAA;EAJT;;;;EASA,WAAA;EAAA;;;;EAKA,SAAA,GAAY,SAAA;EAcZ;;;;EATA,SAAA;EAW+B;;AA4BjC;;EAlCE,qBAAA;EAkCuB;;;EA9BvB,QAAA;AAAA,IACE,YAAA,QAAoB,kBAAA,IACtB,cAAA,CAAe,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BJ,UAAA,EAAY,EAAA,CAAG,eAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/Breadcrumb/index.tsx"],"mappings":";;;;;;;;;cA2EM,kBAAA,GAAkB,KAAA;;;;;;;KA4InB,sBAAA;;;;EAIH,IAAA;;;;EAIA,IAAA;EAIA;;AAAO;EAAP,OAAA;AAAA;;;AAQ0D;AAE5D;;KAFY,cAAA,YAA0B,sBAAsB;AAAA,KAEhD,eAAA;EASF;;;EALR,KAAA,EAAO,cAAA;EAkCe;;;;EA7BtB,KAAA,GAAQ,SAAA,MAAe,SAAA;EA8BT;;;EA1Bd,MAAA,GAAS,aAAA;EAJD;;;;EASR,WAAA;EAKA;;;;EAAA,SAAA,GAAY,SAAA;EAeV;;;;EAVF,SAAA;EAW+B;AA4BjC;;;EAlCE,qBAAA;EAkCyC;;;EA9BzC,QAAA;AAAA,IACE,YAAA,QAAoB,kBAAA,IACtB,cAAA,CAAe,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BJ,UAAA,EAAY,EAAE,CAAC,eAAA"}