@intlayer/design-system 8.4.4 → 8.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (844) hide show
  1. package/dist/esm/_virtual/_rolldown/runtime.mjs +18 -1
  2. package/dist/esm/components/Accordion/Accordion.mjs +99 -1
  3. package/dist/esm/components/Accordion/Accordion.mjs.map +1 -1
  4. package/dist/esm/components/Accordion/index.mjs +3 -1
  5. package/dist/esm/components/Avatar/index.mjs +126 -1
  6. package/dist/esm/components/Avatar/index.mjs.map +1 -1
  7. package/dist/esm/components/Badge/index.mjs +150 -1
  8. package/dist/esm/components/Badge/index.mjs.map +1 -1
  9. package/dist/esm/components/Breadcrumb/breadcrumb.content.mjs +32 -1
  10. package/dist/esm/components/Breadcrumb/breadcrumb.content.mjs.map +1 -1
  11. package/dist/esm/components/Breadcrumb/index.mjs +232 -1
  12. package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
  13. package/dist/esm/components/Browser/Browser.content.mjs +179 -1
  14. package/dist/esm/components/Browser/Browser.content.mjs.map +1 -1
  15. package/dist/esm/components/Browser/Browser.mjs +249 -1
  16. package/dist/esm/components/Browser/Browser.mjs.map +1 -1
  17. package/dist/esm/components/Browser/index.mjs +3 -1
  18. package/dist/esm/components/Button/Button.mjs +287 -1
  19. package/dist/esm/components/Button/Button.mjs.map +1 -1
  20. package/dist/esm/components/Button/index.mjs +3 -1
  21. package/dist/esm/components/Carousel/index.content.mjs +79 -1
  22. package/dist/esm/components/Carousel/index.content.mjs.map +1 -1
  23. package/dist/esm/components/Carousel/index.mjs +292 -4
  24. package/dist/esm/components/Carousel/index.mjs.map +1 -1
  25. package/dist/esm/components/ClickOutsideDiv/index.mjs +42 -1
  26. package/dist/esm/components/ClickOutsideDiv/index.mjs.map +1 -1
  27. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +165 -1
  28. package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs.map +1 -1
  29. package/dist/esm/components/CollapsibleTable/index.mjs +3 -1
  30. package/dist/esm/components/Command/index.mjs +88 -1
  31. package/dist/esm/components/Command/index.mjs.map +1 -1
  32. package/dist/esm/components/Container/index.mjs +203 -1
  33. package/dist/esm/components/Container/index.mjs.map +1 -1
  34. package/dist/esm/components/ContentEditor/ContentEditor.mjs +107 -1
  35. package/dist/esm/components/ContentEditor/ContentEditor.mjs.map +1 -1
  36. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs +110 -1
  37. package/dist/esm/components/ContentEditor/ContentEditorInput.mjs.map +1 -1
  38. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +113 -1
  39. package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
  40. package/dist/esm/components/ContentEditor/index.mjs +5 -1
  41. package/dist/esm/components/ContentSelector/ContentSelector.mjs +81 -1
  42. package/dist/esm/components/ContentSelector/ContentSelector.mjs.map +1 -1
  43. package/dist/esm/components/ContentSelector/index.mjs +3 -1
  44. package/dist/esm/components/CopyButton/CopyButton.content.mjs +32 -1
  45. package/dist/esm/components/CopyButton/CopyButton.content.mjs.map +1 -1
  46. package/dist/esm/components/CopyButton/index.mjs +121 -1
  47. package/dist/esm/components/CopyButton/index.mjs.map +1 -1
  48. package/dist/esm/components/CopyToClipboard/index.mjs +101 -1
  49. package/dist/esm/components/CopyToClipboard/index.mjs.map +1 -1
  50. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs +33 -1
  51. package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  52. package/dist/esm/components/DictionaryEditor/ItemLayout.mjs +36 -1
  53. package/dist/esm/components/DictionaryEditor/ItemLayout.mjs.map +1 -1
  54. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs +35 -1
  55. package/dist/esm/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs.map +1 -1
  56. package/dist/esm/components/DictionaryEditor/NodeWrapper/BooleanWrapper.mjs +33 -1
  57. package/dist/esm/components/DictionaryEditor/NodeWrapper/BooleanWrapper.mjs.map +1 -1
  58. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs +32 -1
  59. package/dist/esm/components/DictionaryEditor/NodeWrapper/ConditionWrapper.mjs.map +1 -1
  60. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs +32 -1
  61. package/dist/esm/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs.map +1 -1
  62. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs +36 -1
  63. package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs.map +1 -1
  64. package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs +21 -1
  65. package/dist/esm/components/DictionaryEditor/NodeWrapper/HtmlWrapper.mjs.map +1 -1
  66. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs +21 -1
  67. package/dist/esm/components/DictionaryEditor/NodeWrapper/InsertionWrapper.mjs.map +1 -1
  68. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs +21 -1
  69. package/dist/esm/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.mjs.map +1 -1
  70. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +39 -1
  71. package/dist/esm/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
  72. package/dist/esm/components/DictionaryEditor/NodeWrapper/NumberWrapper.mjs +34 -1
  73. package/dist/esm/components/DictionaryEditor/NodeWrapper/NumberWrapper.mjs.map +1 -1
  74. package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs +34 -1
  75. package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
  76. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs +22 -1
  77. package/dist/esm/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs.map +1 -1
  78. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs +98 -1
  79. package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs.map +1 -1
  80. package/dist/esm/components/DictionaryEditor/index.mjs +3 -1
  81. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs +61 -1
  82. package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
  83. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +662 -1
  84. package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
  85. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +64 -1
  86. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  87. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs +268 -1
  88. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.mjs.map +1 -1
  89. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.mjs +98 -1
  90. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.mjs.map +1 -1
  91. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.mjs +14 -1
  92. package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.mjs.map +1 -1
  93. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +328 -1
  94. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  95. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs +575 -1
  96. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.mjs.map +1 -1
  97. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.mjs +338 -1
  98. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.mjs.map +1 -1
  99. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs +29 -1
  100. package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.mjs.map +1 -1
  101. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +109 -1
  102. package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  103. package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs +98 -1
  104. package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs.map +1 -1
  105. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs +28 -1
  106. package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
  107. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs +22 -1
  108. package/dist/esm/components/DictionaryFieldEditor/KeyPathBreadcrumb.mjs.map +1 -1
  109. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +173 -1
  110. package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  111. package/dist/esm/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs +268 -1
  112. package/dist/esm/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.mjs.map +1 -1
  113. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs +84 -1
  114. package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  115. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +153 -1
  116. package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  117. package/dist/esm/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs +350 -1
  118. package/dist/esm/components/DictionaryFieldEditor/SaveForm/saveForm.content.mjs.map +1 -1
  119. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs +19 -1
  120. package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
  121. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +200 -1
  122. package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
  123. package/dist/esm/components/DictionaryFieldEditor/StructureView/structureView.content.mjs +100 -1
  124. package/dist/esm/components/DictionaryFieldEditor/StructureView/structureView.content.mjs.map +1 -1
  125. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs +73 -1
  126. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs.map +1 -1
  127. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs +27 -1
  128. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs.map +1 -1
  129. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/index.mjs +4 -1
  130. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.mjs +78 -1
  131. package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.mjs.map +1 -1
  132. package/dist/esm/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs +58 -1
  133. package/dist/esm/components/DictionaryFieldEditor/dictionaryFieldEditor.content.mjs.map +1 -1
  134. package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs +14 -1
  135. package/dist/esm/components/DictionaryFieldEditor/getIsEditableSection.mjs.map +1 -1
  136. package/dist/esm/components/DictionaryFieldEditor/index.mjs +10 -1
  137. package/dist/esm/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs +318 -1
  138. package/dist/esm/components/DictionaryFieldEditor/nodeTypeSelector.content.mjs.map +1 -1
  139. package/dist/esm/components/DropDown/index.mjs +177 -1
  140. package/dist/esm/components/DropDown/index.mjs.map +1 -1
  141. package/dist/esm/components/EditableField/EditableFieldInput.mjs +68 -1
  142. package/dist/esm/components/EditableField/EditableFieldInput.mjs.map +1 -1
  143. package/dist/esm/components/EditableField/EditableFieldLayout.mjs +103 -1
  144. package/dist/esm/components/EditableField/EditableFieldLayout.mjs.map +1 -1
  145. package/dist/esm/components/EditableField/EditableFieldTextArea.mjs +77 -1
  146. package/dist/esm/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
  147. package/dist/esm/components/EditableField/index.mjs +4 -1
  148. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs +101 -1
  149. package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
  150. package/dist/esm/components/ExpandCollapse/expandCollapse.content.mjs +58 -1
  151. package/dist/esm/components/ExpandCollapse/expandCollapse.content.mjs.map +1 -1
  152. package/dist/esm/components/ExpandCollapse/index.mjs +3 -1
  153. package/dist/esm/components/Flags/Flag.mjs +326 -1
  154. package/dist/esm/components/Flags/Flag.mjs.map +1 -1
  155. package/dist/esm/components/Flags/ae.mjs +36 -1
  156. package/dist/esm/components/Flags/ae.mjs.map +1 -1
  157. package/dist/esm/components/Flags/af.mjs +96 -1
  158. package/dist/esm/components/Flags/af.mjs.map +1 -1
  159. package/dist/esm/components/Flags/al.mjs +37 -1
  160. package/dist/esm/components/Flags/al.mjs.map +1 -1
  161. package/dist/esm/components/Flags/am.mjs +33 -1
  162. package/dist/esm/components/Flags/am.mjs.map +1 -1
  163. package/dist/esm/components/Flags/ar.mjs +160 -1
  164. package/dist/esm/components/Flags/ar.mjs.map +1 -1
  165. package/dist/esm/components/Flags/at.mjs +30 -1
  166. package/dist/esm/components/Flags/at.mjs.map +1 -1
  167. package/dist/esm/components/Flags/au.mjs +42 -1
  168. package/dist/esm/components/Flags/au.mjs.map +1 -1
  169. package/dist/esm/components/Flags/az.mjs +46 -1
  170. package/dist/esm/components/Flags/az.mjs.map +1 -1
  171. package/dist/esm/components/Flags/ba.mjs +40 -1
  172. package/dist/esm/components/Flags/ba.mjs.map +1 -1
  173. package/dist/esm/components/Flags/bd.mjs +32 -1
  174. package/dist/esm/components/Flags/bd.mjs.map +1 -1
  175. package/dist/esm/components/Flags/be.mjs +36 -1
  176. package/dist/esm/components/Flags/be.mjs.map +1 -1
  177. package/dist/esm/components/Flags/bg.mjs +33 -1
  178. package/dist/esm/components/Flags/bg.mjs.map +1 -1
  179. package/dist/esm/components/Flags/bh.mjs +30 -1
  180. package/dist/esm/components/Flags/bh.mjs.map +1 -1
  181. package/dist/esm/components/Flags/bn.mjs +42 -1
  182. package/dist/esm/components/Flags/bn.mjs.map +1 -1
  183. package/dist/esm/components/Flags/bo.mjs +3030 -1
  184. package/dist/esm/components/Flags/bo.mjs.map +1 -1
  185. package/dist/esm/components/Flags/br.mjs +106 -1
  186. package/dist/esm/components/Flags/br.mjs.map +1 -1
  187. package/dist/esm/components/Flags/bw.mjs +33 -1
  188. package/dist/esm/components/Flags/bw.mjs.map +1 -1
  189. package/dist/esm/components/Flags/by.mjs +45 -1
  190. package/dist/esm/components/Flags/by.mjs.map +1 -1
  191. package/dist/esm/components/Flags/bz.mjs +338 -1
  192. package/dist/esm/components/Flags/bz.mjs.map +1 -1
  193. package/dist/esm/components/Flags/ca.mjs +30 -1
  194. package/dist/esm/components/Flags/ca.mjs.map +1 -1
  195. package/dist/esm/components/Flags/ch.mjs +30 -1
  196. package/dist/esm/components/Flags/ch.mjs.map +1 -1
  197. package/dist/esm/components/Flags/cl.mjs +43 -1
  198. package/dist/esm/components/Flags/cl.mjs.map +1 -1
  199. package/dist/esm/components/Flags/cn.mjs +57 -1
  200. package/dist/esm/components/Flags/cn.mjs.map +1 -1
  201. package/dist/esm/components/Flags/co.mjs +36 -1
  202. package/dist/esm/components/Flags/co.mjs.map +1 -1
  203. package/dist/esm/components/Flags/cr.mjs +36 -1
  204. package/dist/esm/components/Flags/cr.mjs.map +1 -1
  205. package/dist/esm/components/Flags/cu.mjs +43 -1
  206. package/dist/esm/components/Flags/cu.mjs.map +1 -1
  207. package/dist/esm/components/Flags/cv.mjs +43 -1
  208. package/dist/esm/components/Flags/cv.mjs.map +1 -1
  209. package/dist/esm/components/Flags/cz.mjs +33 -1
  210. package/dist/esm/components/Flags/cz.mjs.map +1 -1
  211. package/dist/esm/components/Flags/de.mjs +33 -1
  212. package/dist/esm/components/Flags/de.mjs.map +1 -1
  213. package/dist/esm/components/Flags/dj.mjs +43 -1
  214. package/dist/esm/components/Flags/dj.mjs.map +1 -1
  215. package/dist/esm/components/Flags/dk.mjs +33 -1
  216. package/dist/esm/components/Flags/dk.mjs.map +1 -1
  217. package/dist/esm/components/Flags/do.mjs +211 -1
  218. package/dist/esm/components/Flags/do.mjs.map +1 -1
  219. package/dist/esm/components/Flags/dz.mjs +33 -1
  220. package/dist/esm/components/Flags/dz.mjs.map +1 -1
  221. package/dist/esm/components/Flags/ec.mjs +622 -1
  222. package/dist/esm/components/Flags/ec.mjs.map +1 -1
  223. package/dist/esm/components/Flags/ee.mjs +33 -1
  224. package/dist/esm/components/Flags/ee.mjs.map +1 -1
  225. package/dist/esm/components/Flags/eg.mjs +112 -1
  226. package/dist/esm/components/Flags/eg.mjs.map +1 -1
  227. package/dist/esm/components/Flags/es-ct.mjs +32 -1
  228. package/dist/esm/components/Flags/es-ct.mjs.map +1 -1
  229. package/dist/esm/components/Flags/es-ga.mjs +792 -1
  230. package/dist/esm/components/Flags/es-ga.mjs.map +1 -1
  231. package/dist/esm/components/Flags/es-pv.mjs +33 -1
  232. package/dist/esm/components/Flags/es-pv.mjs.map +1 -1
  233. package/dist/esm/components/Flags/es.mjs +2226 -1
  234. package/dist/esm/components/Flags/es.mjs.map +1 -1
  235. package/dist/esm/components/Flags/et.mjs +50 -1
  236. package/dist/esm/components/Flags/et.mjs.map +1 -1
  237. package/dist/esm/components/Flags/fi.mjs +33 -1
  238. package/dist/esm/components/Flags/fi.mjs.map +1 -1
  239. package/dist/esm/components/Flags/flags.mjs +1363 -1
  240. package/dist/esm/components/Flags/flags.mjs.map +1 -1
  241. package/dist/esm/components/Flags/fo.mjs +41 -1
  242. package/dist/esm/components/Flags/fo.mjs.map +1 -1
  243. package/dist/esm/components/Flags/fr.mjs +33 -1
  244. package/dist/esm/components/Flags/fr.mjs.map +1 -1
  245. package/dist/esm/components/Flags/gb-wls.mjs +43 -1
  246. package/dist/esm/components/Flags/gb-wls.mjs.map +1 -1
  247. package/dist/esm/components/Flags/gb.mjs +39 -1
  248. package/dist/esm/components/Flags/gb.mjs.map +1 -1
  249. package/dist/esm/components/Flags/ge.mjs +37 -1
  250. package/dist/esm/components/Flags/ge.mjs.map +1 -1
  251. package/dist/esm/components/Flags/gh.mjs +36 -1
  252. package/dist/esm/components/Flags/gh.mjs.map +1 -1
  253. package/dist/esm/components/Flags/gr.mjs +66 -1
  254. package/dist/esm/components/Flags/gr.mjs.map +1 -1
  255. package/dist/esm/components/Flags/gt.mjs +461 -1
  256. package/dist/esm/components/Flags/gt.mjs.map +1 -1
  257. package/dist/esm/components/Flags/gw.mjs +67 -1
  258. package/dist/esm/components/Flags/gw.mjs.map +1 -1
  259. package/dist/esm/components/Flags/hk.mjs +44 -1
  260. package/dist/esm/components/Flags/hk.mjs.map +1 -1
  261. package/dist/esm/components/Flags/hn.mjs +83 -1
  262. package/dist/esm/components/Flags/hn.mjs.map +1 -1
  263. package/dist/esm/components/Flags/hr.mjs +94 -1
  264. package/dist/esm/components/Flags/hr.mjs.map +1 -1
  265. package/dist/esm/components/Flags/hu.mjs +33 -1
  266. package/dist/esm/components/Flags/hu.mjs.map +1 -1
  267. package/dist/esm/components/Flags/id.mjs +30 -1
  268. package/dist/esm/components/Flags/id.mjs.map +1 -1
  269. package/dist/esm/components/Flags/ie.mjs +36 -1
  270. package/dist/esm/components/Flags/ie.mjs.map +1 -1
  271. package/dist/esm/components/Flags/il.mjs +46 -1
  272. package/dist/esm/components/Flags/il.mjs.map +1 -1
  273. package/dist/esm/components/Flags/in.mjs +74 -1
  274. package/dist/esm/components/Flags/in.mjs.map +1 -1
  275. package/dist/esm/components/Flags/index.mjs +4 -1
  276. package/dist/esm/components/Flags/iq.mjs +40 -1
  277. package/dist/esm/components/Flags/iq.mjs.map +1 -1
  278. package/dist/esm/components/Flags/ir.mjs +112 -1
  279. package/dist/esm/components/Flags/ir.mjs.map +1 -1
  280. package/dist/esm/components/Flags/is.mjs +40 -1
  281. package/dist/esm/components/Flags/is.mjs.map +1 -1
  282. package/dist/esm/components/Flags/it.mjs +36 -1
  283. package/dist/esm/components/Flags/it.mjs.map +1 -1
  284. package/dist/esm/components/Flags/jm.mjs +36 -1
  285. package/dist/esm/components/Flags/jm.mjs.map +1 -1
  286. package/dist/esm/components/Flags/jo.mjs +48 -1
  287. package/dist/esm/components/Flags/jo.mjs.map +1 -1
  288. package/dist/esm/components/Flags/jp.mjs +41 -1
  289. package/dist/esm/components/Flags/jp.mjs.map +1 -1
  290. package/dist/esm/components/Flags/ke.mjs +91 -1
  291. package/dist/esm/components/Flags/ke.mjs.map +1 -1
  292. package/dist/esm/components/Flags/kg.mjs +49 -1
  293. package/dist/esm/components/Flags/kg.mjs.map +1 -1
  294. package/dist/esm/components/Flags/kh.mjs +76 -1
  295. package/dist/esm/components/Flags/kh.mjs.map +1 -1
  296. package/dist/esm/components/Flags/km.mjs +52 -1
  297. package/dist/esm/components/Flags/km.mjs.map +1 -1
  298. package/dist/esm/components/Flags/kr.mjs +64 -1
  299. package/dist/esm/components/Flags/kr.mjs.map +1 -1
  300. package/dist/esm/components/Flags/kw.mjs +44 -1
  301. package/dist/esm/components/Flags/kw.mjs.map +1 -1
  302. package/dist/esm/components/Flags/kz.mjs +94 -1
  303. package/dist/esm/components/Flags/kz.mjs.map +1 -1
  304. package/dist/esm/components/Flags/la.mjs +39 -1
  305. package/dist/esm/components/Flags/la.mjs.map +1 -1
  306. package/dist/esm/components/Flags/lb.mjs +50 -1
  307. package/dist/esm/components/Flags/lb.mjs.map +1 -1
  308. package/dist/esm/components/Flags/li.mjs +136 -1
  309. package/dist/esm/components/Flags/li.mjs.map +1 -1
  310. package/dist/esm/components/Flags/lk.mjs +73 -1
  311. package/dist/esm/components/Flags/lk.mjs.map +1 -1
  312. package/dist/esm/components/Flags/lt.mjs +46 -1
  313. package/dist/esm/components/Flags/lt.mjs.map +1 -1
  314. package/dist/esm/components/Flags/lu.mjs +33 -1
  315. package/dist/esm/components/Flags/lu.mjs.map +1 -1
  316. package/dist/esm/components/Flags/lv.mjs +30 -1
  317. package/dist/esm/components/Flags/lv.mjs.map +1 -1
  318. package/dist/esm/components/Flags/ly.mjs +39 -1
  319. package/dist/esm/components/Flags/ly.mjs.map +1 -1
  320. package/dist/esm/components/Flags/ma.mjs +32 -1
  321. package/dist/esm/components/Flags/ma.mjs.map +1 -1
  322. package/dist/esm/components/Flags/mc.mjs +33 -1
  323. package/dist/esm/components/Flags/mc.mjs.map +1 -1
  324. package/dist/esm/components/Flags/md.mjs +317 -1
  325. package/dist/esm/components/Flags/md.mjs.map +1 -1
  326. package/dist/esm/components/Flags/mk.mjs +37 -1
  327. package/dist/esm/components/Flags/mk.mjs.map +1 -1
  328. package/dist/esm/components/Flags/mm.mjs +58 -1
  329. package/dist/esm/components/Flags/mm.mjs.map +1 -1
  330. package/dist/esm/components/Flags/mn.mjs +59 -1
  331. package/dist/esm/components/Flags/mn.mjs.map +1 -1
  332. package/dist/esm/components/Flags/mo.mjs +42 -1
  333. package/dist/esm/components/Flags/mo.mjs.map +1 -1
  334. package/dist/esm/components/Flags/mr.mjs +37 -1
  335. package/dist/esm/components/Flags/mr.mjs.map +1 -1
  336. package/dist/esm/components/Flags/mt.mjs +153 -1
  337. package/dist/esm/components/Flags/mt.mjs.map +1 -1
  338. package/dist/esm/components/Flags/mv.mjs +40 -1
  339. package/dist/esm/components/Flags/mv.mjs.map +1 -1
  340. package/dist/esm/components/Flags/mx.mjs +1365 -1
  341. package/dist/esm/components/Flags/mx.mjs.map +1 -1
  342. package/dist/esm/components/Flags/my.mjs +78 -1
  343. package/dist/esm/components/Flags/my.mjs.map +1 -1
  344. package/dist/esm/components/Flags/mz.mjs +92 -1
  345. package/dist/esm/components/Flags/mz.mjs.map +1 -1
  346. package/dist/esm/components/Flags/ng.mjs +33 -1
  347. package/dist/esm/components/Flags/ng.mjs.map +1 -1
  348. package/dist/esm/components/Flags/ni.mjs +451 -1
  349. package/dist/esm/components/Flags/ni.mjs.map +1 -1
  350. package/dist/esm/components/Flags/nl.mjs +33 -1
  351. package/dist/esm/components/Flags/nl.mjs.map +1 -1
  352. package/dist/esm/components/Flags/no.mjs +39 -1
  353. package/dist/esm/components/Flags/no.mjs.map +1 -1
  354. package/dist/esm/components/Flags/np.mjs +38 -1
  355. package/dist/esm/components/Flags/np.mjs.map +1 -1
  356. package/dist/esm/components/Flags/nz.mjs +104 -1
  357. package/dist/esm/components/Flags/nz.mjs.map +1 -1
  358. package/dist/esm/components/Flags/om.mjs +539 -1
  359. package/dist/esm/components/Flags/om.mjs.map +1 -1
  360. package/dist/esm/components/Flags/pa.mjs +46 -1
  361. package/dist/esm/components/Flags/pa.mjs.map +1 -1
  362. package/dist/esm/components/Flags/pe.mjs +30 -1
  363. package/dist/esm/components/Flags/pe.mjs.map +1 -1
  364. package/dist/esm/components/Flags/ph.mjs +36 -1
  365. package/dist/esm/components/Flags/ph.mjs.map +1 -1
  366. package/dist/esm/components/Flags/pk.mjs +38 -1
  367. package/dist/esm/components/Flags/pk.mjs.map +1 -1
  368. package/dist/esm/components/Flags/pl.mjs +30 -1
  369. package/dist/esm/components/Flags/pl.mjs.map +1 -1
  370. package/dist/esm/components/Flags/pr.mjs +43 -1
  371. package/dist/esm/components/Flags/pr.mjs.map +1 -1
  372. package/dist/esm/components/Flags/ps.mjs +45 -1
  373. package/dist/esm/components/Flags/ps.mjs.map +1 -1
  374. package/dist/esm/components/Flags/pt.mjs +152 -1
  375. package/dist/esm/components/Flags/pt.mjs.map +1 -1
  376. package/dist/esm/components/Flags/py.mjs +61 -1
  377. package/dist/esm/components/Flags/py.mjs.map +1 -1
  378. package/dist/esm/components/Flags/qa.mjs +30 -1
  379. package/dist/esm/components/Flags/qa.mjs.map +1 -1
  380. package/dist/esm/components/Flags/ro.mjs +36 -1
  381. package/dist/esm/components/Flags/ro.mjs.map +1 -1
  382. package/dist/esm/components/Flags/rs.mjs +820 -1
  383. package/dist/esm/components/Flags/rs.mjs.map +1 -1
  384. package/dist/esm/components/Flags/ru.mjs +33 -1
  385. package/dist/esm/components/Flags/ru.mjs.map +1 -1
  386. package/dist/esm/components/Flags/sa.mjs +79 -1
  387. package/dist/esm/components/Flags/sa.mjs.map +1 -1
  388. package/dist/esm/components/Flags/sd.mjs +44 -1
  389. package/dist/esm/components/Flags/sd.mjs.map +1 -1
  390. package/dist/esm/components/Flags/se.mjs +30 -1
  391. package/dist/esm/components/Flags/se.mjs.map +1 -1
  392. package/dist/esm/components/Flags/sg.mjs +42 -1
  393. package/dist/esm/components/Flags/sg.mjs.map +1 -1
  394. package/dist/esm/components/Flags/si.mjs +59 -1
  395. package/dist/esm/components/Flags/si.mjs.map +1 -1
  396. package/dist/esm/components/Flags/sk.mjs +45 -1
  397. package/dist/esm/components/Flags/sk.mjs.map +1 -1
  398. package/dist/esm/components/Flags/so.mjs +37 -1
  399. package/dist/esm/components/Flags/so.mjs.map +1 -1
  400. package/dist/esm/components/Flags/st.mjs +73 -1
  401. package/dist/esm/components/Flags/st.mjs.map +1 -1
  402. package/dist/esm/components/Flags/sv.mjs +1735 -1
  403. package/dist/esm/components/Flags/sv.mjs.map +1 -1
  404. package/dist/esm/components/Flags/sy.mjs +36 -1
  405. package/dist/esm/components/Flags/sy.mjs.map +1 -1
  406. package/dist/esm/components/Flags/td.mjs +33 -1
  407. package/dist/esm/components/Flags/td.mjs.map +1 -1
  408. package/dist/esm/components/Flags/th.mjs +33 -1
  409. package/dist/esm/components/Flags/th.mjs.map +1 -1
  410. package/dist/esm/components/Flags/tl.mjs +43 -1
  411. package/dist/esm/components/Flags/tl.mjs.map +1 -1
  412. package/dist/esm/components/Flags/tn.mjs +30 -1
  413. package/dist/esm/components/Flags/tn.mjs.map +1 -1
  414. package/dist/esm/components/Flags/tr.mjs +36 -1
  415. package/dist/esm/components/Flags/tr.mjs.map +1 -1
  416. package/dist/esm/components/Flags/tt.mjs +35 -1
  417. package/dist/esm/components/Flags/tt.mjs.map +1 -1
  418. package/dist/esm/components/Flags/tw.mjs +40 -1
  419. package/dist/esm/components/Flags/tw.mjs.map +1 -1
  420. package/dist/esm/components/Flags/tz.mjs +44 -1
  421. package/dist/esm/components/Flags/tz.mjs.map +1 -1
  422. package/dist/esm/components/Flags/ua.mjs +33 -1
  423. package/dist/esm/components/Flags/ua.mjs.map +1 -1
  424. package/dist/esm/components/Flags/ug.mjs +145 -1
  425. package/dist/esm/components/Flags/ug.mjs.map +1 -1
  426. package/dist/esm/components/Flags/us.mjs +45 -1
  427. package/dist/esm/components/Flags/us.mjs.map +1 -1
  428. package/dist/esm/components/Flags/uy.mjs +63 -1
  429. package/dist/esm/components/Flags/uy.mjs.map +1 -1
  430. package/dist/esm/components/Flags/uz.mjs +109 -1
  431. package/dist/esm/components/Flags/uz.mjs.map +1 -1
  432. package/dist/esm/components/Flags/ve.mjs +84 -1
  433. package/dist/esm/components/Flags/ve.mjs.map +1 -1
  434. package/dist/esm/components/Flags/vn.mjs +37 -1
  435. package/dist/esm/components/Flags/vn.mjs.map +1 -1
  436. package/dist/esm/components/Flags/xx.mjs +35 -1
  437. package/dist/esm/components/Flags/xx.mjs.map +1 -1
  438. package/dist/esm/components/Flags/ye.mjs +36 -1
  439. package/dist/esm/components/Flags/ye.mjs.map +1 -1
  440. package/dist/esm/components/Flags/za.mjs +51 -1
  441. package/dist/esm/components/Flags/za.mjs.map +1 -1
  442. package/dist/esm/components/Flags/zw.mjs +70 -1
  443. package/dist/esm/components/Flags/zw.mjs.map +1 -1
  444. package/dist/esm/components/Footer/index.mjs +123 -1
  445. package/dist/esm/components/Footer/index.mjs.map +1 -1
  446. package/dist/esm/components/Form/Form.mjs +65 -1
  447. package/dist/esm/components/Form/Form.mjs.map +1 -1
  448. package/dist/esm/components/Form/FormBase.mjs +50 -1
  449. package/dist/esm/components/Form/FormBase.mjs.map +1 -1
  450. package/dist/esm/components/Form/FormControl.mjs +19 -1
  451. package/dist/esm/components/Form/FormControl.mjs.map +1 -1
  452. package/dist/esm/components/Form/FormDescription.mjs +17 -1
  453. package/dist/esm/components/Form/FormDescription.mjs.map +1 -1
  454. package/dist/esm/components/Form/FormField.mjs +34 -1
  455. package/dist/esm/components/Form/FormField.mjs.map +1 -1
  456. package/dist/esm/components/Form/FormItem.mjs +23 -1
  457. package/dist/esm/components/Form/FormItem.mjs.map +1 -1
  458. package/dist/esm/components/Form/FormLabel.mjs +19 -1
  459. package/dist/esm/components/Form/FormLabel.mjs.map +1 -1
  460. package/dist/esm/components/Form/FormMessage.mjs +21 -1
  461. package/dist/esm/components/Form/FormMessage.mjs.map +1 -1
  462. package/dist/esm/components/Form/elements/AutoSizeTextAreaElement.mjs +14 -1
  463. package/dist/esm/components/Form/elements/AutoSizeTextAreaElement.mjs.map +1 -1
  464. package/dist/esm/components/Form/elements/CheckboxElement.mjs +25 -1
  465. package/dist/esm/components/Form/elements/CheckboxElement.mjs.map +1 -1
  466. package/dist/esm/components/Form/elements/EditableFieldInputElement.mjs +16 -1
  467. package/dist/esm/components/Form/elements/EditableFieldInputElement.mjs.map +1 -1
  468. package/dist/esm/components/Form/elements/EditableFieldTextAreaElement.mjs +16 -1
  469. package/dist/esm/components/Form/elements/EditableFieldTextAreaElement.mjs.map +1 -1
  470. package/dist/esm/components/Form/elements/FormElement.mjs +58 -1
  471. package/dist/esm/components/Form/elements/FormElement.mjs.map +1 -1
  472. package/dist/esm/components/Form/elements/FormElementWrapper.mjs +34 -1
  473. package/dist/esm/components/Form/elements/FormElementWrapper.mjs.map +1 -1
  474. package/dist/esm/components/Form/elements/InputElement.mjs +16 -1
  475. package/dist/esm/components/Form/elements/InputElement.mjs.map +1 -1
  476. package/dist/esm/components/Form/elements/InputPasswordElement.mjs +19 -1
  477. package/dist/esm/components/Form/elements/InputPasswordElement.mjs.map +1 -1
  478. package/dist/esm/components/Form/elements/MultiselectElement.mjs +49 -1
  479. package/dist/esm/components/Form/elements/MultiselectElement.mjs.map +1 -1
  480. package/dist/esm/components/Form/elements/OTPElement.mjs +108 -1
  481. package/dist/esm/components/Form/elements/OTPElement.mjs.map +1 -1
  482. package/dist/esm/components/Form/elements/SearchInputElement.mjs +16 -1
  483. package/dist/esm/components/Form/elements/SearchInputElement.mjs.map +1 -1
  484. package/dist/esm/components/Form/elements/SelectElement.mjs +49 -1
  485. package/dist/esm/components/Form/elements/SelectElement.mjs.map +1 -1
  486. package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs +48 -1
  487. package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs.map +1 -1
  488. package/dist/esm/components/Form/elements/TextAreaElement.mjs +16 -1
  489. package/dist/esm/components/Form/elements/TextAreaElement.mjs.map +1 -1
  490. package/dist/esm/components/Form/elements/index.mjs +10 -1
  491. package/dist/esm/components/Form/index.mjs +5 -1
  492. package/dist/esm/components/Form/layout/FormItemLayout.mjs +24 -1
  493. package/dist/esm/components/Form/layout/FormItemLayout.mjs.map +1 -1
  494. package/dist/esm/components/Form/layout/FormLabelLayout.mjs +20 -1
  495. package/dist/esm/components/Form/layout/FormLabelLayout.mjs.map +1 -1
  496. package/dist/esm/components/Form/layout/RequiredStar.mjs +10 -1
  497. package/dist/esm/components/Form/layout/RequiredStar.mjs.map +1 -1
  498. package/dist/esm/components/Form/layout/index.mjs +4 -1
  499. package/dist/esm/components/HTMLRender/HTMLRender.mjs +67 -1
  500. package/dist/esm/components/HTMLRender/HTMLRender.mjs.map +1 -1
  501. package/dist/esm/components/HTMLRender/index.mjs +3 -1
  502. package/dist/esm/components/Headers/index.mjs +216 -1
  503. package/dist/esm/components/Headers/index.mjs.map +1 -1
  504. package/dist/esm/components/HeightResizer/index.mjs +163 -1
  505. package/dist/esm/components/HeightResizer/index.mjs.map +1 -1
  506. package/dist/esm/components/HideShow/index.mjs +70 -1
  507. package/dist/esm/components/HideShow/index.mjs.map +1 -1
  508. package/dist/esm/components/IDE/Code.mjs +59 -2
  509. package/dist/esm/components/IDE/Code.mjs.map +1 -1
  510. package/dist/esm/components/IDE/CodeBlockClient.mjs +31 -2
  511. package/dist/esm/components/IDE/CodeBlockClient.mjs.map +1 -1
  512. package/dist/esm/components/IDE/CodeBlockServer.mjs +45 -2
  513. package/dist/esm/components/IDE/CodeBlockServer.mjs.map +1 -1
  514. package/dist/esm/components/IDE/CodeBlockShiki.mjs +119 -1
  515. package/dist/esm/components/IDE/CodeBlockShiki.mjs.map +1 -1
  516. package/dist/esm/components/IDE/CodeConditionalRenderer.mjs +20 -1
  517. package/dist/esm/components/IDE/CodeConditionalRenderer.mjs.map +1 -1
  518. package/dist/esm/components/IDE/CodeContext.mjs +44 -1
  519. package/dist/esm/components/IDE/CodeContext.mjs.map +1 -1
  520. package/dist/esm/components/IDE/CodeFormatSelector.mjs +40 -1
  521. package/dist/esm/components/IDE/CodeFormatSelector.mjs.map +1 -1
  522. package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs +41 -1
  523. package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs.map +1 -1
  524. package/dist/esm/components/IDE/CopyCode.mjs +27 -1
  525. package/dist/esm/components/IDE/CopyCode.mjs.map +1 -1
  526. package/dist/esm/components/IDE/FileList.mjs +34 -1
  527. package/dist/esm/components/IDE/FileList.mjs.map +1 -1
  528. package/dist/esm/components/IDE/FileTree.mjs +64 -1
  529. package/dist/esm/components/IDE/FileTree.mjs.map +1 -1
  530. package/dist/esm/components/IDE/IDE.mjs +90 -1
  531. package/dist/esm/components/IDE/IDE.mjs.map +1 -1
  532. package/dist/esm/components/IDE/MarkDownRender.mjs +22 -1
  533. package/dist/esm/components/IDE/MarkDownRender.mjs.map +1 -1
  534. package/dist/esm/components/IDE/MonacoCode.mjs +106 -2
  535. package/dist/esm/components/IDE/MonacoCode.mjs.map +1 -1
  536. package/dist/esm/components/IDE/PackageManagerSelector.mjs +42 -1
  537. package/dist/esm/components/IDE/PackageManagerSelector.mjs.map +1 -1
  538. package/dist/esm/components/IDE/code.content.mjs +58 -1
  539. package/dist/esm/components/IDE/code.content.mjs.map +1 -1
  540. package/dist/esm/components/IDE/copyCode.content.mjs +58 -1
  541. package/dist/esm/components/IDE/copyCode.content.mjs.map +1 -1
  542. package/dist/esm/components/IDE/createFileTree.mjs +31 -1
  543. package/dist/esm/components/IDE/createFileTree.mjs.map +1 -1
  544. package/dist/esm/components/IDE/index.mjs +6 -1
  545. package/dist/esm/components/IDE/selectors.content.mjs +144 -1
  546. package/dist/esm/components/IDE/selectors.content.mjs.map +1 -1
  547. package/dist/esm/components/InformationTag/index.mjs +80 -1
  548. package/dist/esm/components/InformationTag/index.mjs.map +1 -1
  549. package/dist/esm/components/Input/Checkbox.mjs +99 -1
  550. package/dist/esm/components/Input/Checkbox.mjs.map +1 -1
  551. package/dist/esm/components/Input/Input.mjs +65 -1
  552. package/dist/esm/components/Input/Input.mjs.map +1 -1
  553. package/dist/esm/components/Input/InputPassword.mjs +38 -1
  554. package/dist/esm/components/Input/InputPassword.mjs.map +1 -1
  555. package/dist/esm/components/Input/OTPInput.mjs +474 -2
  556. package/dist/esm/components/Input/OTPInput.mjs.map +1 -1
  557. package/dist/esm/components/Input/SearchInput.mjs +17 -1
  558. package/dist/esm/components/Input/SearchInput.mjs.map +1 -1
  559. package/dist/esm/components/Input/index.mjs +7 -1
  560. package/dist/esm/components/KeyboardScreenAdapter/index.mjs +119 -1
  561. package/dist/esm/components/KeyboardScreenAdapter/index.mjs.map +1 -1
  562. package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs +230 -1
  563. package/dist/esm/components/KeyboardShortcut/KeyboardShortcut.mjs.map +1 -1
  564. package/dist/esm/components/KeyboardShortcut/index.mjs +3 -1
  565. package/dist/esm/components/Label/index.mjs +54 -1
  566. package/dist/esm/components/Label/index.mjs.map +1 -1
  567. package/dist/esm/components/LanguageBackground/index.mjs +88 -1
  568. package/dist/esm/components/LanguageBackground/index.mjs.map +1 -1
  569. package/dist/esm/components/Link/Link.mjs +239 -1
  570. package/dist/esm/components/Link/Link.mjs.map +1 -1
  571. package/dist/esm/components/Link/index.mjs +3 -1
  572. package/dist/esm/components/Loader/index.content.mjs +32 -1
  573. package/dist/esm/components/Loader/index.content.mjs.map +1 -1
  574. package/dist/esm/components/Loader/index.mjs +111 -1
  575. package/dist/esm/components/Loader/index.mjs.map +1 -1
  576. package/dist/esm/components/Loader/spinner.mjs +121 -1
  577. package/dist/esm/components/Loader/spinner.mjs.map +1 -1
  578. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +184 -1
  579. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
  580. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs +29 -1
  581. package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs.map +1 -1
  582. package/dist/esm/components/LocaleSwitcherContentDropDown/index.mjs +4 -1
  583. package/dist/esm/components/LocaleSwitcherContentDropDown/localeSwitcher.content.mjs +182 -1
  584. package/dist/esm/components/LocaleSwitcherContentDropDown/localeSwitcher.content.mjs.map +1 -1
  585. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +136 -1
  586. package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
  587. package/dist/esm/components/LocaleSwitcherDropDown/index.mjs +3 -1
  588. package/dist/esm/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs +140 -1
  589. package/dist/esm/components/LocaleSwitcherDropDown/localeSwitcher.content.mjs.map +1 -1
  590. package/dist/esm/components/Logo/Logo.mjs +34 -1
  591. package/dist/esm/components/Logo/Logo.mjs.map +1 -1
  592. package/dist/esm/components/Logo/LogoTextOnly.mjs +28 -1
  593. package/dist/esm/components/Logo/LogoTextOnly.mjs.map +1 -1
  594. package/dist/esm/components/Logo/LogoWithText.mjs +34 -1
  595. package/dist/esm/components/Logo/LogoWithText.mjs.map +1 -1
  596. package/dist/esm/components/Logo/LogoWithTextBelow.mjs +34 -1
  597. package/dist/esm/components/Logo/LogoWithTextBelow.mjs.map +1 -1
  598. package/dist/esm/components/Logo/index.mjs +6 -1
  599. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs +171 -1
  600. package/dist/esm/components/MarkDownRender/MarkDownRender.mjs.map +1 -1
  601. package/dist/esm/components/MarkDownRender/index.mjs +3 -1
  602. package/dist/esm/components/MaxHeightSmoother/index.mjs +143 -1
  603. package/dist/esm/components/MaxHeightSmoother/index.mjs.map +1 -1
  604. package/dist/esm/components/MaxWidthSmoother/index.mjs +18 -1
  605. package/dist/esm/components/MaxWidthSmoother/index.mjs.map +1 -1
  606. package/dist/esm/components/Modal/Modal.mjs +201 -1
  607. package/dist/esm/components/Modal/Modal.mjs.map +1 -1
  608. package/dist/esm/components/Modal/index.mjs +3 -1
  609. package/dist/esm/components/Navbar/Burger.mjs +76 -1
  610. package/dist/esm/components/Navbar/Burger.mjs.map +1 -1
  611. package/dist/esm/components/Navbar/DesktopNavbar.mjs +96 -1
  612. package/dist/esm/components/Navbar/DesktopNavbar.mjs.map +1 -1
  613. package/dist/esm/components/Navbar/MobileNavbar.mjs +169 -1
  614. package/dist/esm/components/Navbar/MobileNavbar.mjs.map +1 -1
  615. package/dist/esm/components/Navbar/index.mjs +86 -1
  616. package/dist/esm/components/Navbar/index.mjs.map +1 -1
  617. package/dist/esm/components/Navbar/useNavigation.mjs +152 -1
  618. package/dist/esm/components/Navbar/useNavigation.mjs.map +1 -1
  619. package/dist/esm/components/Pagination/NumberItemsSelector.mjs +46 -1
  620. package/dist/esm/components/Pagination/NumberItemsSelector.mjs.map +1 -1
  621. package/dist/esm/components/Pagination/Pagination.mjs +173 -1
  622. package/dist/esm/components/Pagination/Pagination.mjs.map +1 -1
  623. package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs +27 -1
  624. package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs.map +1 -1
  625. package/dist/esm/components/Pagination/index.mjs +5 -1
  626. package/dist/esm/components/Pagination/pagination.content.mjs +114 -1
  627. package/dist/esm/components/Pagination/pagination.content.mjs.map +1 -1
  628. package/dist/esm/components/Pattern/DotPattern.mjs +121 -1
  629. package/dist/esm/components/Pattern/DotPattern.mjs.map +1 -1
  630. package/dist/esm/components/Pattern/GridPattern.mjs +156 -1
  631. package/dist/esm/components/Pattern/GridPattern.mjs.map +1 -1
  632. package/dist/esm/components/Pattern/SpotLight.mjs +168 -1
  633. package/dist/esm/components/Pattern/SpotLight.mjs.map +1 -1
  634. package/dist/esm/components/Pattern/index.mjs +5 -1
  635. package/dist/esm/components/Popover/dynamic.mjs +128 -1
  636. package/dist/esm/components/Popover/dynamic.mjs.map +1 -1
  637. package/dist/esm/components/Popover/index.mjs +4 -1
  638. package/dist/esm/components/Popover/static.mjs +192 -1
  639. package/dist/esm/components/Popover/static.mjs.map +1 -1
  640. package/dist/esm/components/PressableSpan/PressableSpan.mjs +158 -1
  641. package/dist/esm/components/PressableSpan/PressableSpan.mjs.map +1 -1
  642. package/dist/esm/components/PressableSpan/index.mjs +3 -1
  643. package/dist/esm/components/RightDrawer/RightDrawer.mjs +179 -1
  644. package/dist/esm/components/RightDrawer/RightDrawer.mjs.map +1 -1
  645. package/dist/esm/components/RightDrawer/index.mjs +4 -1
  646. package/dist/esm/components/RightDrawer/isElementAtTopAndNotCovered.mjs +60 -1
  647. package/dist/esm/components/RightDrawer/isElementAtTopAndNotCovered.mjs.map +1 -1
  648. package/dist/esm/components/RightDrawer/rightDrawer.content.mjs +59 -1
  649. package/dist/esm/components/RightDrawer/rightDrawer.content.mjs.map +1 -1
  650. package/dist/esm/components/RightDrawer/useRightDrawer.mjs +64 -1
  651. package/dist/esm/components/RightDrawer/useRightDrawer.mjs.map +1 -1
  652. package/dist/esm/components/Select/Multiselect.mjs +353 -1
  653. package/dist/esm/components/Select/Multiselect.mjs.map +1 -1
  654. package/dist/esm/components/Select/Select.mjs +277 -1
  655. package/dist/esm/components/Select/Select.mjs.map +1 -1
  656. package/dist/esm/components/Select/index.mjs +4 -1
  657. package/dist/esm/components/SocialNetworks/DiscordLogo.mjs +20 -1
  658. package/dist/esm/components/SocialNetworks/DiscordLogo.mjs.map +1 -1
  659. package/dist/esm/components/SocialNetworks/FacebookLogo.mjs +17 -1
  660. package/dist/esm/components/SocialNetworks/FacebookLogo.mjs.map +1 -1
  661. package/dist/esm/components/SocialNetworks/InstagramLogo.mjs +29 -1
  662. package/dist/esm/components/SocialNetworks/InstagramLogo.mjs.map +1 -1
  663. package/dist/esm/components/SocialNetworks/LinkedInLogo.mjs +32 -1
  664. package/dist/esm/components/SocialNetworks/LinkedInLogo.mjs.map +1 -1
  665. package/dist/esm/components/SocialNetworks/ProductHuntLogo.mjs +15 -1
  666. package/dist/esm/components/SocialNetworks/ProductHuntLogo.mjs.map +1 -1
  667. package/dist/esm/components/SocialNetworks/TiktokLogo.mjs +17 -1
  668. package/dist/esm/components/SocialNetworks/TiktokLogo.mjs.map +1 -1
  669. package/dist/esm/components/SocialNetworks/XLogo.mjs +17 -1
  670. package/dist/esm/components/SocialNetworks/XLogo.mjs.map +1 -1
  671. package/dist/esm/components/SocialNetworks/YoutubeLogo.mjs +17 -1
  672. package/dist/esm/components/SocialNetworks/YoutubeLogo.mjs.map +1 -1
  673. package/dist/esm/components/SocialNetworks/index.mjs +64 -1
  674. package/dist/esm/components/SocialNetworks/index.mjs.map +1 -1
  675. package/dist/esm/components/SwitchSelector/index.mjs +145 -1
  676. package/dist/esm/components/SwitchSelector/index.mjs.map +1 -1
  677. package/dist/esm/components/Tab/Tab.mjs +148 -1
  678. package/dist/esm/components/Tab/Tab.mjs.map +1 -1
  679. package/dist/esm/components/Tab/TabContext.mjs +33 -1
  680. package/dist/esm/components/Tab/TabContext.mjs.map +1 -1
  681. package/dist/esm/components/Tab/index.mjs +3 -1
  682. package/dist/esm/components/TabSelector/TabSelector.mjs +111 -1
  683. package/dist/esm/components/TabSelector/TabSelector.mjs.map +1 -1
  684. package/dist/esm/components/TabSelector/index.mjs +3 -1
  685. package/dist/esm/components/Table/Table.mjs +195 -1
  686. package/dist/esm/components/Table/Table.mjs.map +1 -1
  687. package/dist/esm/components/Table/index.mjs +3 -1
  688. package/dist/esm/components/Table/table.content.mjs +36 -1
  689. package/dist/esm/components/Table/table.content.mjs.map +1 -1
  690. package/dist/esm/components/Tag/index.mjs +316 -1
  691. package/dist/esm/components/Tag/index.mjs.map +1 -1
  692. package/dist/esm/components/Terminal/Terminal.mjs +160 -3
  693. package/dist/esm/components/Terminal/Terminal.mjs.map +1 -1
  694. package/dist/esm/components/Terminal/index.mjs +3 -1
  695. package/dist/esm/components/Terminal/terminal.content.mjs +60 -1
  696. package/dist/esm/components/Terminal/terminal.content.mjs.map +1 -1
  697. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs +106 -1
  698. package/dist/esm/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
  699. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs +257 -1
  700. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs.map +1 -1
  701. package/dist/esm/components/TextArea/TextArea.mjs +58 -1
  702. package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
  703. package/dist/esm/components/TextArea/index.mjs +5 -1
  704. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +79 -1
  705. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
  706. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs +53 -1
  707. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs.map +1 -1
  708. package/dist/esm/components/ThemeSwitcherDropDown/index.mjs +5 -1
  709. package/dist/esm/components/ThemeSwitcherDropDown/types.mjs +10 -1
  710. package/dist/esm/components/ThemeSwitcherDropDown/types.mjs.map +1 -1
  711. package/dist/esm/components/Toaster/Toast.mjs +187 -1
  712. package/dist/esm/components/Toaster/Toast.mjs.map +1 -1
  713. package/dist/esm/components/Toaster/Toaster.mjs +66 -1
  714. package/dist/esm/components/Toaster/Toaster.mjs.map +1 -1
  715. package/dist/esm/components/Toaster/index.mjs +5 -1
  716. package/dist/esm/components/Toaster/useToast.mjs +308 -1
  717. package/dist/esm/components/Toaster/useToast.mjs.map +1 -1
  718. package/dist/esm/components/WithResizer/index.mjs +200 -1
  719. package/dist/esm/components/WithResizer/index.mjs.map +1 -1
  720. package/dist/esm/components/index.mjs +105 -1
  721. package/dist/esm/hooks/index.mjs +22 -1
  722. package/dist/esm/hooks/reactQuery.mjs +1029 -1
  723. package/dist/esm/hooks/reactQuery.mjs.map +1 -1
  724. package/dist/esm/hooks/useAuth/index.mjs +5 -1
  725. package/dist/esm/hooks/useAuth/useAuth.mjs +21 -1
  726. package/dist/esm/hooks/useAuth/useAuth.mjs.map +1 -1
  727. package/dist/esm/hooks/useAuth/useOAuth2.mjs +28 -1
  728. package/dist/esm/hooks/useAuth/useOAuth2.mjs.map +1 -1
  729. package/dist/esm/hooks/useAuth/useSession.mjs +42 -1
  730. package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
  731. package/dist/esm/hooks/useDevice.mjs +71 -1
  732. package/dist/esm/hooks/useDevice.mjs.map +1 -1
  733. package/dist/esm/hooks/useGetElementById.mjs +15 -1
  734. package/dist/esm/hooks/useGetElementById.mjs.map +1 -1
  735. package/dist/esm/hooks/useGetElementOrWindow.mjs +15 -1
  736. package/dist/esm/hooks/useGetElementOrWindow.mjs.map +1 -1
  737. package/dist/esm/hooks/useHorizontalSwipe.mjs +123 -1
  738. package/dist/esm/hooks/useHorizontalSwipe.mjs.map +1 -1
  739. package/dist/esm/hooks/useIntlayerAPI.mjs +21 -1
  740. package/dist/esm/hooks/useIntlayerAPI.mjs.map +1 -1
  741. package/dist/esm/hooks/useIsDarkMode.mjs +15 -1
  742. package/dist/esm/hooks/useIsDarkMode.mjs.map +1 -1
  743. package/dist/esm/hooks/useIsMounted.mjs +15 -1
  744. package/dist/esm/hooks/useIsMounted.mjs.map +1 -1
  745. package/dist/esm/hooks/useItemSelector.mjs +146 -1
  746. package/dist/esm/hooks/useItemSelector.mjs.map +1 -1
  747. package/dist/esm/hooks/useKeyboardDetector.mjs +26 -1
  748. package/dist/esm/hooks/useKeyboardDetector.mjs.map +1 -1
  749. package/dist/esm/hooks/usePersistedStore.mjs +65 -1
  750. package/dist/esm/hooks/usePersistedStore.mjs.map +1 -1
  751. package/dist/esm/hooks/useScreenWidth.mjs +20 -1
  752. package/dist/esm/hooks/useScreenWidth.mjs.map +1 -1
  753. package/dist/esm/hooks/useScrollBlockage/index.mjs +30 -1
  754. package/dist/esm/hooks/useScrollBlockage/index.mjs.map +1 -1
  755. package/dist/esm/hooks/useScrollBlockage/useScrollBlockageStore.mjs +70 -1
  756. package/dist/esm/hooks/useScrollBlockage/useScrollBlockageStore.mjs.map +1 -1
  757. package/dist/esm/hooks/useScrollDetection.mjs +61 -1
  758. package/dist/esm/hooks/useScrollDetection.mjs.map +1 -1
  759. package/dist/esm/hooks/useScrollY.mjs +68 -1
  760. package/dist/esm/hooks/useScrollY.mjs.map +1 -1
  761. package/dist/esm/hooks/useSearch.mjs +50 -1
  762. package/dist/esm/hooks/useSearch.mjs.map +1 -1
  763. package/dist/esm/hooks/useUser/index.mjs +28 -1
  764. package/dist/esm/hooks/useUser/index.mjs.map +1 -1
  765. package/dist/esm/libs/auth.mjs +184 -1
  766. package/dist/esm/libs/auth.mjs.map +1 -1
  767. package/dist/esm/libs/index.mjs +3 -1
  768. package/dist/esm/providers/ReactQueryProvider.mjs +86 -1
  769. package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
  770. package/dist/esm/providers/index.mjs +4 -1
  771. package/dist/esm/tailwind.config.mjs +15 -1
  772. package/dist/esm/tailwind.config.mjs.map +1 -1
  773. package/dist/esm/utils/cn.mjs +8 -1
  774. package/dist/esm/utils/cn.mjs.map +1 -1
  775. package/dist/esm/utils/image.mjs +51 -1
  776. package/dist/esm/utils/image.mjs.map +1 -1
  777. package/dist/esm/utils/object.mjs +32 -1
  778. package/dist/esm/utils/object.mjs.map +1 -1
  779. package/dist/types/components/Badge/index.d.ts +1 -1
  780. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +2 -2
  781. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts.map +1 -1
  782. package/dist/types/components/Browser/Browser.content.d.ts +16 -16
  783. package/dist/types/components/Browser/Browser.content.d.ts.map +1 -1
  784. package/dist/types/components/Button/Button.d.ts +3 -3
  785. package/dist/types/components/Carousel/index.content.d.ts +6 -6
  786. package/dist/types/components/Carousel/index.content.d.ts.map +1 -1
  787. package/dist/types/components/Command/index.d.ts +1 -1
  788. package/dist/types/components/Container/index.d.ts +3 -3
  789. package/dist/types/components/CopyButton/CopyButton.content.d.ts +2 -2
  790. package/dist/types/components/CopyButton/CopyButton.content.d.ts.map +1 -1
  791. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts.map +1 -1
  792. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts.map +1 -1
  793. package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts.map +1 -1
  794. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  795. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +24 -24
  796. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts.map +1 -1
  797. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +8 -8
  798. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts.map +1 -1
  799. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +54 -54
  800. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts.map +1 -1
  801. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +32 -32
  802. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts.map +1 -1
  803. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +24 -24
  804. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts.map +1 -1
  805. package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
  806. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +32 -32
  807. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
  808. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +8 -8
  809. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts.map +1 -1
  810. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +6 -6
  811. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts.map +1 -1
  812. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +4 -4
  813. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts.map +1 -1
  814. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +30 -30
  815. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts.map +1 -1
  816. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +2 -2
  817. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts.map +1 -1
  818. package/dist/types/components/IDE/code.content.d.ts +4 -4
  819. package/dist/types/components/IDE/code.content.d.ts.map +1 -1
  820. package/dist/types/components/IDE/copyCode.content.d.ts +4 -4
  821. package/dist/types/components/IDE/copyCode.content.d.ts.map +1 -1
  822. package/dist/types/components/IDE/selectors.content.d.ts +12 -12
  823. package/dist/types/components/IDE/selectors.content.d.ts.map +1 -1
  824. package/dist/types/components/Input/Checkbox.d.ts +1 -1
  825. package/dist/types/components/Link/Link.d.ts +2 -2
  826. package/dist/types/components/Loader/index.content.d.ts +2 -2
  827. package/dist/types/components/Loader/index.content.d.ts.map +1 -1
  828. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +16 -16
  829. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts.map +1 -1
  830. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +12 -12
  831. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts.map +1 -1
  832. package/dist/types/components/Pagination/Pagination.d.ts +1 -1
  833. package/dist/types/components/Pagination/pagination.content.d.ts +10 -10
  834. package/dist/types/components/Pagination/pagination.content.d.ts.map +1 -1
  835. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts +4 -4
  836. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts.map +1 -1
  837. package/dist/types/components/SwitchSelector/index.d.ts +1 -1
  838. package/dist/types/components/TabSelector/TabSelector.d.ts +1 -1
  839. package/dist/types/components/Table/table.content.d.ts +2 -2
  840. package/dist/types/components/Table/table.content.d.ts.map +1 -1
  841. package/dist/types/components/Tag/index.d.ts +1 -1
  842. package/dist/types/components/Terminal/terminal.content.d.ts +4 -4
  843. package/dist/types/components/Terminal/terminal.content.d.ts.map +1 -1
  844. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"useGetElementOrWindow.mjs","names":[],"sources":["../../../src/hooks/useGetElementOrWindow.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useGetElementOrWindow = (container?: HTMLElement) => {\n const [containerElement, setContainerElement] = useState<\n HTMLElement | undefined\n >(container);\n\n // This useEffect avoids the error of not finding the container\n useEffect(() => {\n setContainerElement(container ?? window.document.body);\n }, [container]);\n\n return containerElement;\n};\n"],"mappings":"6DAIA,MAAa,EAAyB,GAA4B,CAChE,GAAM,CAAC,EAAkB,GAAuB,EAE9C,EAAU,CAOZ,OAJA,MAAgB,CACd,EAAoB,GAAa,OAAO,SAAS,KAAK,EACrD,CAAC,EAAU,CAAC,CAER"}
1
+ {"version":3,"file":"useGetElementOrWindow.mjs","names":[],"sources":["../../../src/hooks/useGetElementOrWindow.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useGetElementOrWindow = (container?: HTMLElement) => {\n const [containerElement, setContainerElement] = useState<\n HTMLElement | undefined\n >(container);\n\n // This useEffect avoids the error of not finding the container\n useEffect(() => {\n setContainerElement(container ?? window.document.body);\n }, [container]);\n\n return containerElement;\n};\n"],"mappings":";;;;;AAIA,MAAa,yBAAyB,cAA4B;CAChE,MAAM,CAAC,kBAAkB,uBAAuB,SAE9C,UAAU;AAGZ,iBAAgB;AACd,sBAAoB,aAAa,OAAO,SAAS,KAAK;IACrD,CAAC,UAAU,CAAC;AAEf,QAAO"}
@@ -1,2 +1,124 @@
1
- "use client";import{useEffect as e,useRef as t,useState as n}from"react";const r=r=>{let{enable:i=!0,onSwipeLeft:a,onSwipeRight:o,itemIndex:s,itemCount:c,thresholdPct:l=20,touchAction:u=`pan-y`,disableWhenSelectingText:d=!0}=r,f=t(null),[p,m]=n(!1),[h,g]=n(0),_=t({pointerId:null,startX:0,startY:0,lastX:0,axisLocked:!1,isHorizontal:!1}),v=t(!1),y=()=>{let e=f.current;return e?e.clientWidth:0},b=e=>{let t=s<=0,n=s>=c-1;return t&&e>0||n&&e<0?e/(1+Math.abs(e)/30):e},x=e=>{i&&_.current.pointerId===null&&(_.current.pointerId=e.pointerId,_.current.startX=e.clientX,_.current.startY=e.clientY,_.current.lastX=e.clientX,_.current.axisLocked=!1,_.current.isHorizontal=!1,v.current=!1,m(!1),g(0))},S=e=>{if(!i||_.current.pointerId!==e.pointerId)return;let t=y();if(!t)return;let n=e.clientX-_.current.startX,r=e.clientY-_.current.startY;if(d){let e=typeof window<`u`?window.getSelection?.():null;if(e&&e.rangeCount>0&&!e.isCollapsed){v.current=!0;return}}if(!_.current.axisLocked){let e=Math.abs(n),t=Math.abs(r);(e>6||t>6)&&(_.current.axisLocked=!0,_.current.isHorizontal=e>t)}if(_.current.isHorizontal){try{e.currentTarget.setPointerCapture(e.pointerId)}catch{}e.preventDefault(),p||m(!0),g(b(n/t*100)),_.current.lastX=e.clientX}},C=e=>{try{e.currentTarget.releasePointerCapture(e.pointerId)}catch{}let t=_.current.isHorizontal,n=h;if(m(!1),g(0),_.current.pointerId=null,_.current.axisLocked=!1,_.current.isHorizontal=!1,v.current){v.current=!1;return}t&&(n>l?o?.():n<-l&&a?.())};return e(()=>{g(0),m(!1)},[s]),{containerRef:f,isDragging:p,dragDeltaPct:h,containerProps:{ref:f,onPointerDown:x,onPointerMove:S,onPointerUp:e=>{i&&_.current.pointerId===e.pointerId&&C(e)},onPointerCancel:e=>{i&&_.current.pointerId===e.pointerId&&C(e)},style:{touchAction:u}}}};export{r as useHorizontalSwipe};
1
+ 'use client';
2
+
3
+ import { useEffect, useRef, useState } from "react";
4
+
5
+ //#region src/hooks/useHorizontalSwipe.ts
6
+ const useHorizontalSwipe = (config) => {
7
+ const { enable = true, onSwipeLeft, onSwipeRight, itemIndex, itemCount, thresholdPct = 20, touchAction = "pan-y", disableWhenSelectingText = true } = config;
8
+ const containerRef = useRef(null);
9
+ const [isDragging, setIsDragging] = useState(false);
10
+ const [dragDeltaPct, setDragDeltaPct] = useState(0);
11
+ const pointerStateRef = useRef({
12
+ pointerId: null,
13
+ startX: 0,
14
+ startY: 0,
15
+ lastX: 0,
16
+ axisLocked: false,
17
+ isHorizontal: false
18
+ });
19
+ const isTextSelectingRef = useRef(false);
20
+ const getContainerWidth = () => {
21
+ const node = containerRef.current;
22
+ return node ? node.clientWidth : 0;
23
+ };
24
+ const applyEdgeResistance = (pct) => {
25
+ const atFirst = itemIndex <= 0;
26
+ const atLast = itemIndex >= itemCount - 1;
27
+ if (atFirst && pct > 0 || atLast && pct < 0) return pct / (1 + Math.abs(pct) / 30);
28
+ return pct;
29
+ };
30
+ const onPointerDown = (e) => {
31
+ if (!enable) return;
32
+ if (pointerStateRef.current.pointerId !== null) return;
33
+ pointerStateRef.current.pointerId = e.pointerId;
34
+ pointerStateRef.current.startX = e.clientX;
35
+ pointerStateRef.current.startY = e.clientY;
36
+ pointerStateRef.current.lastX = e.clientX;
37
+ pointerStateRef.current.axisLocked = false;
38
+ pointerStateRef.current.isHorizontal = false;
39
+ isTextSelectingRef.current = false;
40
+ setIsDragging(false);
41
+ setDragDeltaPct(0);
42
+ };
43
+ const onPointerMove = (e) => {
44
+ if (!enable) return;
45
+ if (pointerStateRef.current.pointerId !== e.pointerId) return;
46
+ const width = getContainerWidth();
47
+ if (!width) return;
48
+ const dx = e.clientX - pointerStateRef.current.startX;
49
+ const dy = e.clientY - pointerStateRef.current.startY;
50
+ if (disableWhenSelectingText) {
51
+ const sel = typeof window !== "undefined" ? window.getSelection?.() : null;
52
+ if (!!sel && sel.rangeCount > 0 && !sel.isCollapsed) {
53
+ isTextSelectingRef.current = true;
54
+ return;
55
+ }
56
+ }
57
+ if (!pointerStateRef.current.axisLocked) {
58
+ const absDx = Math.abs(dx);
59
+ const absDy = Math.abs(dy);
60
+ if (absDx > 6 || absDy > 6) {
61
+ pointerStateRef.current.axisLocked = true;
62
+ pointerStateRef.current.isHorizontal = absDx > absDy;
63
+ }
64
+ }
65
+ if (!pointerStateRef.current.isHorizontal) return;
66
+ try {
67
+ e.currentTarget.setPointerCapture(e.pointerId);
68
+ } catch {}
69
+ e.preventDefault();
70
+ if (!isDragging) setIsDragging(true);
71
+ setDragDeltaPct(applyEdgeResistance(dx / width * 100));
72
+ pointerStateRef.current.lastX = e.clientX;
73
+ };
74
+ const endDrag = (e) => {
75
+ try {
76
+ e.currentTarget.releasePointerCapture(e.pointerId);
77
+ } catch {}
78
+ const wasHorizontal = pointerStateRef.current.isHorizontal;
79
+ const delta = dragDeltaPct;
80
+ setIsDragging(false);
81
+ setDragDeltaPct(0);
82
+ pointerStateRef.current.pointerId = null;
83
+ pointerStateRef.current.axisLocked = false;
84
+ pointerStateRef.current.isHorizontal = false;
85
+ if (isTextSelectingRef.current) {
86
+ isTextSelectingRef.current = false;
87
+ return;
88
+ }
89
+ if (!wasHorizontal) return;
90
+ if (delta > thresholdPct) onSwipeRight?.();
91
+ else if (delta < -thresholdPct) onSwipeLeft?.();
92
+ };
93
+ const onPointerUp = (e) => {
94
+ if (!enable) return;
95
+ if (pointerStateRef.current.pointerId !== e.pointerId) return;
96
+ endDrag(e);
97
+ };
98
+ const onPointerCancel = (e) => {
99
+ if (!enable) return;
100
+ if (pointerStateRef.current.pointerId !== e.pointerId) return;
101
+ endDrag(e);
102
+ };
103
+ useEffect(() => {
104
+ setDragDeltaPct(0);
105
+ setIsDragging(false);
106
+ }, [itemIndex]);
107
+ return {
108
+ containerRef,
109
+ isDragging,
110
+ dragDeltaPct,
111
+ containerProps: {
112
+ ref: containerRef,
113
+ onPointerDown,
114
+ onPointerMove,
115
+ onPointerUp,
116
+ onPointerCancel,
117
+ style: { touchAction }
118
+ }
119
+ };
120
+ };
121
+
122
+ //#endregion
123
+ export { useHorizontalSwipe };
2
124
  //# sourceMappingURL=useHorizontalSwipe.mjs.map
@@ -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":"yEAqCA,MAAa,EACX,GACwB,CACxB,GAAM,CACJ,SAAS,GACT,cACA,eACA,YACA,YACA,eAAe,GACf,cAAc,QACd,2BAA2B,IACzB,EAEE,EAAe,EAA8B,KAAK,CAClD,CAAC,EAAY,GAAiB,EAAS,GAAM,CAC7C,CAAC,EAAc,GAAmB,EAAS,EAAE,CAC7C,EAAkB,EAOrB,CACD,UAAW,KACX,OAAQ,EACR,OAAQ,EACR,MAAO,EACP,WAAY,GACZ,aAAc,GACf,CAAC,CAEI,EAAqB,EAAgB,GAAM,CAE3C,MAA0B,CAC9B,IAAM,EAAO,EAAa,QAC1B,OAAO,EAAO,EAAK,YAAc,GAG7B,EAAuB,GAAgB,CAC3C,IAAM,EAAU,GAAa,EACvB,EAAS,GAAa,EAAY,EAQxC,OANK,GAAW,EAAM,GAAO,GAAU,EAAM,EAGpC,GADY,EADD,KAAK,IAAI,EAAI,CACI,IAI9B,GAGH,EAAsD,GAAM,CAC3D,GACD,EAAgB,QAAQ,YAAc,OAC1C,EAAgB,QAAQ,UAAY,EAAE,UACtC,EAAgB,QAAQ,OAAS,EAAE,QACnC,EAAgB,QAAQ,OAAS,EAAE,QACnC,EAAgB,QAAQ,MAAQ,EAAE,QAClC,EAAgB,QAAQ,WAAa,GACrC,EAAgB,QAAQ,aAAe,GACvC,EAAmB,QAAU,GAC7B,EAAc,GAAM,CACpB,EAAgB,EAAE,GAGd,EAAsD,GAAM,CAEhE,GADI,CAAC,GACD,EAAgB,QAAQ,YAAc,EAAE,UAAW,OAEvD,IAAM,EAAQ,GAAmB,CACjC,GAAI,CAAC,EAAO,OAEZ,IAAM,EAAK,EAAE,QAAU,EAAgB,QAAQ,OACzC,EAAK,EAAE,QAAU,EAAgB,QAAQ,OAG/C,GAAI,EAA0B,CAC5B,IAAM,EACJ,OAAO,OAAW,IAAc,OAAO,gBAAgB,CAAG,KAE5D,GADsB,GAAO,EAAI,WAAa,GAAK,CAAC,EAAI,YACvC,CACf,EAAmB,QAAU,GAC7B,QAIJ,GAAI,CAAC,EAAgB,QAAQ,WAAY,CACvC,IAAM,EAAQ,KAAK,IAAI,EAAG,CACpB,EAAQ,KAAK,IAAI,EAAG,EACtB,EAAQ,GAAK,EAAQ,KACvB,EAAgB,QAAQ,WAAa,GACrC,EAAgB,QAAQ,aAAe,EAAQ,GAI9C,KAAgB,QAAQ,aAK7B,IAAI,CAEA,EAAE,cACF,kBAAkB,EAAE,UAAU,MAC1B,EAER,EAAE,gBAAgB,CAEb,GAAY,EAAc,GAAK,CAGpC,EAAgB,EADH,EAAK,EAAS,IACa,CAAC,CACzC,EAAgB,QAAQ,MAAQ,EAAE,UAG9B,EAAW,GAAoC,CACnD,GAAI,CAEA,EAAE,cAGF,sBAAsB,EAAE,UAAU,MAC9B,EAER,IAAM,EAAgB,EAAgB,QAAQ,aACxC,EAAQ,EAQd,GANA,EAAc,GAAM,CACpB,EAAgB,EAAE,CAClB,EAAgB,QAAQ,UAAY,KACpC,EAAgB,QAAQ,WAAa,GACrC,EAAgB,QAAQ,aAAe,GAEnC,EAAmB,QAAS,CAC9B,EAAmB,QAAU,GAC7B,OAGG,IAED,EAAQ,EACV,KAAgB,CACP,EAAQ,CAAC,GAClB,KAAe,GAuBnB,OAPA,MAAgB,CACd,EAAgB,EAAE,CAClB,EAAc,GAAM,EACnB,CAAC,EAAU,CAAC,CAIR,CACS,eACd,aACA,eACA,eAAgB,CACd,IAAK,EACL,gBACA,gBACA,YA3BsD,GAAM,CACzD,GACD,EAAgB,QAAQ,YAAc,EAAE,WAC5C,EAAQ,EAAE,EAyBR,gBAtB0D,GAAM,CAC7D,GACD,EAAgB,QAAQ,YAAc,EAAE,WAC5C,EAAQ,EAAE,EAoBR,MAZyB,CAAE,cAAa,CAazC,CACF"}
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,2 +1,22 @@
1
- import{getAuthAPI as e}from"../libs/auth.mjs";import{useAuth as t}from"./useAuth/useAuth.mjs";import{useConfiguration as n}from"@intlayer/editor-react";import{getIntlayerAPI as r}from"@intlayer/api";const i=e=>{let i=n(),{oAuth2AccessToken:a}=t();return r({...a&&{headers:{Authorization:`Bearer ${a.accessToken}`}},...e?.options??{}},e?.intlayerConfiguration??i)},a=t=>{let r=n();return e(t?.intlayerConfiguration??r)};export{a as useIntlayerAuth,i as useIntlayerOAuth};
1
+ import { getAuthAPI } from "../libs/auth.mjs";
2
+ import { useAuth } from "./useAuth/useAuth.mjs";
3
+ import { useConfiguration } from "@intlayer/editor-react";
4
+ import { getIntlayerAPI } from "@intlayer/api";
5
+
6
+ //#region src/hooks/useIntlayerAPI.ts
7
+ const useIntlayerOAuth = (props) => {
8
+ const configuration = useConfiguration();
9
+ const { oAuth2AccessToken } = useAuth();
10
+ return getIntlayerAPI({
11
+ ...oAuth2AccessToken && { headers: { Authorization: `Bearer ${oAuth2AccessToken.accessToken}` } },
12
+ ...props?.options ?? {}
13
+ }, props?.intlayerConfiguration ?? configuration);
14
+ };
15
+ const useIntlayerAuth = (props) => {
16
+ const configuration = useConfiguration();
17
+ return getAuthAPI(props?.intlayerConfiguration ?? configuration);
18
+ };
19
+
20
+ //#endregion
21
+ export { useIntlayerAuth, useIntlayerOAuth };
2
22
  //# sourceMappingURL=useIntlayerAPI.mjs.map
@@ -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":"uMAeA,MAAa,EAAoB,GAA8C,CAC7E,IAAM,EAAgB,GAAkB,CAClC,CAAE,qBAAsB,GAAS,CAEvC,OAAO,EACL,CACE,GAAI,GAAqB,CACvB,QAAS,CACP,cAAe,UAAU,EAAkB,cAC5C,CACF,CACD,GAAI,GAAO,SAAW,EAAE,CACzB,CACD,GAAO,uBAAyB,EACjC,EAGU,EAAmB,GAA0C,CACxE,IAAM,EAAgB,GAAkB,CAExC,OAAO,EAAW,GAAO,uBAAyB,EAAc"}
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;AAEvC,QAAO,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;AAExC,QAAO,WAAW,OAAO,yBAAyB,cAAc"}
@@ -1,2 +1,16 @@
1
- "use client";import{useEffect as e,useState as t}from"react";const n=()=>{let[n,r]=t(!1);return e(()=>{r(document.querySelector(`html`)?.getAttribute(`data-theme`)===`dark`)},[]),n};export{n as useIsDarkMode};
1
+ 'use client';
2
+
3
+ import { useEffect, useState } from "react";
4
+
5
+ //#region src/hooks/useIsDarkMode.ts
6
+ const useIsDarkMode = () => {
7
+ const [isDarkMode, setIsDarkMode] = useState(false);
8
+ useEffect(() => {
9
+ setIsDarkMode(document.querySelector("html")?.getAttribute("data-theme") === "dark");
10
+ }, []);
11
+ return isDarkMode;
12
+ };
13
+
14
+ //#endregion
15
+ export { useIsDarkMode };
2
16
  //# sourceMappingURL=useIsDarkMode.mjs.map
@@ -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":"6DAIA,MAAa,MAAsB,CACjC,GAAM,CAAC,EAAY,GAAiB,EAAS,GAAM,CAQnD,OANA,MAAgB,CAGd,EAFoB,SAAS,cAAc,OAAO,EAClB,aAAa,aAAa,GAAK,OACtC,EACxB,EAAE,CAAC,CAEC"}
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;AAEnD,iBAAgB;AAGd,gBAFoB,SAAS,cAAc,OAAO,EAClB,aAAa,aAAa,KAAK,OACtC;IACxB,EAAE,CAAC;AAEN,QAAO"}
@@ -1,2 +1,16 @@
1
- "use client";import{useEffect as e,useState as t}from"react";const n=()=>{let[n,r]=t(!1);return e(()=>{r(!0)},[]),n};export{n as useIsMounted};
1
+ 'use client';
2
+
3
+ import { useEffect, useState } from "react";
4
+
5
+ //#region src/hooks/useIsMounted.ts
6
+ const useIsMounted = () => {
7
+ const [isMounted, setIsMounted] = useState(false);
8
+ useEffect(() => {
9
+ setIsMounted(true);
10
+ }, []);
11
+ return isMounted;
12
+ };
13
+
14
+ //#endregion
15
+ export { useIsMounted };
2
16
  //# sourceMappingURL=useIsMounted.mjs.map
@@ -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":"6DAIA,MAAa,MAAqB,CAChC,GAAM,CAAC,EAAW,GAAgB,EAAS,GAAM,CAMjD,OAJA,MAAgB,CACd,EAAa,GAAK,EACjB,EAAE,CAAC,CAEC"}
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;AAEjD,iBAAgB;AACd,eAAa,KAAK;IACjB,EAAE,CAAC;AAEN,QAAO"}
@@ -1,2 +1,147 @@
1
- "use client";import{useEffect as e,useRef as t,useState as n}from"react";const r=e=>e?.getAttribute(`aria-selected`)===`true`,i=(i,{selector:a=r,isHoverable:o=!1,orientation:s=`horizontal`}={selector:r,isHoverable:!1,orientation:`horizontal`})=>{let[c,l]=n(null),[u,d]=n(null),f=t(null),p=t(null),m=i.current.length,h=()=>{let e=null;if(u?(e=u,f.current&&=(clearTimeout(f.current),null)):e=i.current.find(a)??null,!e){l(s===`vertical`?e=>{let t=e,n={top:t?.top??0,height:t?.height??0,opacity:0};return p.current=n,n}:e=>{let t=e,n={left:t?.left??0,width:t?.width??0,opacity:0};return p.current=n,n});return}if(s===`vertical`){let t={top:e.offsetTop,height:e.offsetHeight,opacity:1};l(t),p.current=t}else{let t={left:e.offsetLeft,width:e.offsetWidth,opacity:1};l(t),p.current=t}};return e(()=>{h(),window.addEventListener(`resize`,h),window.addEventListener(`DOMContentLoaded`,h);let e=[];i.current.forEach(t=>{if(t){let n=new MutationObserver(e=>{for(let t of e)if(t.type===`attributes`&&t.attributeName===`aria-selected`){h();break}});n.observe(t,{attributes:!0,attributeFilter:[`aria-selected`]}),e.push(n)}});let t=[],n=e=>{if(!e)return;let n=new ResizeObserver(()=>{h()});n.observe(e),t.push(n)},r=i.current.find(a)??null;r&&n(r),u&&n(u);let s=e=>{f.current&&=(clearTimeout(f.current),null),d(e.currentTarget)},c=()=>{f.current&&clearTimeout(f.current),f.current=setTimeout(()=>{d(null)},150)};return o&&i.current.forEach(e=>{e?.addEventListener(`mouseenter`,s,{passive:!0}),e?.addEventListener(`mouseleave`,c,{passive:!0})}),()=>{f.current&&clearTimeout(f.current),window.removeEventListener(`resize`,h),window.removeEventListener(`DOMContentLoaded`,h),e.forEach(e=>{e.disconnect()}),t.forEach(e=>{e.disconnect()}),i.current.forEach(e=>{e?.removeEventListener(`mouseenter`,s),e?.removeEventListener(`mouseleave`,c)})}},[i,a,u,m,s]),{choiceIndicatorPosition:c,calculatePosition:h,orientation:s}};export{i as useItemSelector};
1
+ 'use client';
2
+
3
+ import { useEffect, useRef, useState } from "react";
4
+
5
+ //#region src/hooks/useItemSelector.ts
6
+ const selectorDefault = (option) => option?.getAttribute("aria-selected") === "true";
7
+ const useItemSelector = (optionsRefs, { selector = selectorDefault, isHoverable = false, orientation = "horizontal" } = {
8
+ selector: selectorDefault,
9
+ isHoverable: false,
10
+ orientation: "horizontal"
11
+ }) => {
12
+ const [choiceIndicatorPosition, setChoiceIndicatorPosition] = useState(null);
13
+ const [hoveredItem, setHoveredItem] = useState(null);
14
+ const hideTimeoutRef = useRef(null);
15
+ const lastPositionRef = useRef(null);
16
+ const itemsLength = optionsRefs.current.length;
17
+ const calculatePosition = () => {
18
+ let targetElement = null;
19
+ if (hoveredItem) {
20
+ targetElement = hoveredItem;
21
+ if (hideTimeoutRef.current) {
22
+ clearTimeout(hideTimeoutRef.current);
23
+ hideTimeoutRef.current = null;
24
+ }
25
+ } else targetElement = optionsRefs.current.find(selector) ?? null;
26
+ if (!targetElement) {
27
+ if (orientation === "vertical") setChoiceIndicatorPosition((prev) => {
28
+ const verticalPrev = prev;
29
+ const newPosition = {
30
+ top: verticalPrev?.top ?? 0,
31
+ height: verticalPrev?.height ?? 0,
32
+ opacity: 0
33
+ };
34
+ lastPositionRef.current = newPosition;
35
+ return newPosition;
36
+ });
37
+ else setChoiceIndicatorPosition((prev) => {
38
+ const horizontalPrev = prev;
39
+ const newPosition = {
40
+ left: horizontalPrev?.left ?? 0,
41
+ width: horizontalPrev?.width ?? 0,
42
+ opacity: 0
43
+ };
44
+ lastPositionRef.current = newPosition;
45
+ return newPosition;
46
+ });
47
+ return;
48
+ }
49
+ if (orientation === "vertical") {
50
+ const newPosition = {
51
+ top: targetElement.offsetTop,
52
+ height: targetElement.offsetHeight,
53
+ opacity: 1
54
+ };
55
+ setChoiceIndicatorPosition(newPosition);
56
+ lastPositionRef.current = newPosition;
57
+ } else {
58
+ const newPosition = {
59
+ left: targetElement.offsetLeft,
60
+ width: targetElement.offsetWidth,
61
+ opacity: 1
62
+ };
63
+ setChoiceIndicatorPosition(newPosition);
64
+ lastPositionRef.current = newPosition;
65
+ }
66
+ };
67
+ useEffect(() => {
68
+ calculatePosition();
69
+ window.addEventListener("resize", calculatePosition);
70
+ window.addEventListener("DOMContentLoaded", calculatePosition);
71
+ const mutationObservers = [];
72
+ optionsRefs.current.forEach((option) => {
73
+ if (option) {
74
+ const observer = new MutationObserver((mutations) => {
75
+ for (const mutation of mutations) if (mutation.type === "attributes" && mutation.attributeName === "aria-selected") {
76
+ calculatePosition();
77
+ break;
78
+ }
79
+ });
80
+ observer.observe(option, {
81
+ attributes: true,
82
+ attributeFilter: ["aria-selected"]
83
+ });
84
+ mutationObservers.push(observer);
85
+ }
86
+ });
87
+ const resizeObservers = [];
88
+ const observeSize = (element) => {
89
+ if (!element) return;
90
+ const resizeObserver = new ResizeObserver(() => {
91
+ calculatePosition();
92
+ });
93
+ resizeObserver.observe(element);
94
+ resizeObservers.push(resizeObserver);
95
+ };
96
+ const selectedItem = optionsRefs.current.find(selector) ?? null;
97
+ if (selectedItem) observeSize(selectedItem);
98
+ if (hoveredItem) observeSize(hoveredItem);
99
+ const handleMouseEnter = (event) => {
100
+ if (hideTimeoutRef.current) {
101
+ clearTimeout(hideTimeoutRef.current);
102
+ hideTimeoutRef.current = null;
103
+ }
104
+ setHoveredItem(event.currentTarget);
105
+ };
106
+ const handleMouseLeave = () => {
107
+ if (hideTimeoutRef.current) clearTimeout(hideTimeoutRef.current);
108
+ hideTimeoutRef.current = setTimeout(() => {
109
+ setHoveredItem(null);
110
+ }, 150);
111
+ };
112
+ if (isHoverable) optionsRefs.current.forEach((option) => {
113
+ option?.addEventListener("mouseenter", handleMouseEnter, { passive: true });
114
+ option?.addEventListener("mouseleave", handleMouseLeave, { passive: true });
115
+ });
116
+ return () => {
117
+ if (hideTimeoutRef.current) clearTimeout(hideTimeoutRef.current);
118
+ window.removeEventListener("resize", calculatePosition);
119
+ window.removeEventListener("DOMContentLoaded", calculatePosition);
120
+ mutationObservers.forEach((observer) => {
121
+ observer.disconnect();
122
+ });
123
+ resizeObservers.forEach((observer) => {
124
+ observer.disconnect();
125
+ });
126
+ optionsRefs.current.forEach((option) => {
127
+ option?.removeEventListener("mouseenter", handleMouseEnter);
128
+ option?.removeEventListener("mouseleave", handleMouseLeave);
129
+ });
130
+ };
131
+ }, [
132
+ optionsRefs,
133
+ selector,
134
+ hoveredItem,
135
+ itemsLength,
136
+ orientation
137
+ ]);
138
+ return {
139
+ choiceIndicatorPosition,
140
+ calculatePosition,
141
+ orientation
142
+ };
143
+ };
144
+
145
+ //#endregion
146
+ export { useItemSelector };
2
147
  //# sourceMappingURL=useItemSelector.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"useItemSelector.mjs","names":[],"sources":["../../../src/hooks/useItemSelector.ts"],"sourcesContent":["'use client';\n\nimport { type RefObject, useEffect, 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 setChoiceIndicatorPosition((prev) => {\n const verticalPrev = prev as VerticalStyleState | null;\n const newPosition: VerticalStyleState = {\n top: verticalPrev?.top ?? 0,\n height: verticalPrev?.height ?? 0,\n opacity: 0,\n };\n lastPositionRef.current = newPosition;\n return newPosition;\n });\n } else {\n setChoiceIndicatorPosition((prev) => {\n const horizontalPrev = prev as HorizontalStyleState | null;\n const newPosition: HorizontalStyleState = {\n left: horizontalPrev?.left ?? 0,\n width: horizontalPrev?.width ?? 0,\n opacity: 0,\n };\n lastPositionRef.current = newPosition;\n return 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 setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\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 setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\n }\n };\n\n useEffect(() => {\n calculatePosition();\n\n // Event listeners for window events\n window.addEventListener('resize', calculatePosition);\n window.addEventListener('DOMContentLoaded', calculatePosition);\n\n // MutationObserver to watch for 'aria-selected' changes\n const mutationObservers: MutationObserver[] = [];\n\n optionsRefs.current.forEach((option) => {\n if (option) {\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'aria-selected'\n ) {\n calculatePosition();\n break;\n }\n }\n });\n\n observer.observe(option, {\n attributes: true,\n attributeFilter: ['aria-selected'],\n });\n\n mutationObservers.push(observer);\n }\n });\n\n // ResizeObserver to watch for size changes\n const resizeObservers: ResizeObserver[] = [];\n\n const observeSize = (element: HTMLElement) => {\n if (!element) return;\n const resizeObserver = new ResizeObserver(() => {\n calculatePosition();\n });\n resizeObserver.observe(element);\n resizeObservers.push(resizeObserver);\n };\n\n // Observe the selected item\n const selectedItem = optionsRefs.current.find(selector) ?? null;\n\n if (selectedItem) {\n observeSize(selectedItem);\n }\n\n // Observe the hovered item\n if (hoveredItem) {\n observeSize(hoveredItem);\n }\n\n // Add hover event listeners\n const handleMouseEnter = (event: Event) => {\n // 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 }, [optionsRefs, selector, hoveredItem, itemsLength, orientation]);\n\n return { choiceIndicatorPosition, calculatePosition, orientation };\n};\n"],"mappings":"yEAoBA,MAAM,EAAmB,GACvB,GAAQ,aAAa,gBAAgB,GAAK,OAQ/B,GACX,EACA,CACE,WAAW,EACX,cAAc,GACd,cAAc,cACH,CACX,SAAU,EACV,YAAa,GACb,YAAa,aACd,GACE,CACH,GAAM,CAAC,EAAyB,GAC9B,EAA4B,KAAK,CAE7B,CAAC,EAAa,GAAkB,EAA6B,KAAK,CAClE,EAAiB,EAA8B,KAAK,CACpD,EAAkB,EAA0B,KAAK,CAEjD,EAAc,EAAY,QAAQ,OAElC,MAA0B,CAC9B,IAAI,EAAoC,KAaxC,GAXI,GACF,EAAgB,EAEhB,AAEE,EAAe,WADf,aAAa,EAAe,QAAQ,CACX,OAG3B,EAAgB,EAAY,QAAQ,KAAK,EAAS,EAAI,KAGpD,CAAC,EAAe,CAGhB,EADE,IAAgB,WACU,GAAS,CACnC,IAAM,EAAe,EACf,EAAkC,CACtC,IAAK,GAAc,KAAO,EAC1B,OAAQ,GAAc,QAAU,EAChC,QAAS,EACV,CAED,MADA,GAAgB,QAAU,EACnB,GAGmB,GAAS,CACnC,IAAM,EAAiB,EACjB,EAAoC,CACxC,KAAM,GAAgB,MAAQ,EAC9B,MAAO,GAAgB,OAAS,EAChC,QAAS,EACV,CAED,MADA,GAAgB,QAAU,EACnB,GACP,CAEJ,OAGF,GAAI,IAAgB,WAAY,CAI9B,IAAM,EAAc,CAClB,IAJU,EAAc,UAKxB,OAJa,EAAc,aAK3B,QAAS,EACV,CACD,EAA2B,EAAY,CACvC,EAAgB,QAAU,MACrB,CAIL,IAAM,EAAc,CAClB,KAJW,EAAc,WAKzB,MAJY,EAAc,YAK1B,QAAS,EACV,CACD,EAA2B,EAAY,CACvC,EAAgB,QAAU,IA2H9B,OAvHA,MAAgB,CACd,GAAmB,CAGnB,OAAO,iBAAiB,SAAU,EAAkB,CACpD,OAAO,iBAAiB,mBAAoB,EAAkB,CAG9D,IAAM,EAAwC,EAAE,CAEhD,EAAY,QAAQ,QAAS,GAAW,CACtC,GAAI,EAAQ,CACV,IAAM,EAAW,IAAI,iBAAkB,GAAc,CACnD,IAAK,IAAM,KAAY,EACrB,GACE,EAAS,OAAS,cAClB,EAAS,gBAAkB,gBAC3B,CACA,GAAmB,CACnB,QAGJ,CAEF,EAAS,QAAQ,EAAQ,CACvB,WAAY,GACZ,gBAAiB,CAAC,gBAAgB,CACnC,CAAC,CAEF,EAAkB,KAAK,EAAS,GAElC,CAGF,IAAM,EAAoC,EAAE,CAEtC,EAAe,GAAyB,CAC5C,GAAI,CAAC,EAAS,OACd,IAAM,EAAiB,IAAI,mBAAqB,CAC9C,GAAmB,EACnB,CACF,EAAe,QAAQ,EAAQ,CAC/B,EAAgB,KAAK,EAAe,EAIhC,EAAe,EAAY,QAAQ,KAAK,EAAS,EAAI,KAEvD,GACF,EAAY,EAAa,CAIvB,GACF,EAAY,EAAY,CAI1B,IAAM,EAAoB,GAAiB,CAEzC,AAEE,EAAe,WADf,aAAa,EAAe,QAAQ,CACX,MAE3B,EAAe,EAAM,cAA6B,EAG9C,MAAyB,CAEzB,EAAe,SACjB,aAAa,EAAe,QAAQ,CAKtC,EAAe,QAAU,eAAiB,CACxC,EAAe,KAAK,EACnB,IAAI,EAcT,OAXI,GACF,EAAY,QAAQ,QAAS,GAAW,CACtC,GAAQ,iBAAiB,aAAc,EAAkB,CACvD,QAAS,GACV,CAAC,CACF,GAAQ,iBAAiB,aAAc,EAAkB,CACvD,QAAS,GACV,CAAC,EACF,KAGS,CAEP,EAAe,SACjB,aAAa,EAAe,QAAQ,CAItC,OAAO,oBAAoB,SAAU,EAAkB,CACvD,OAAO,oBAAoB,mBAAoB,EAAkB,CAGjE,EAAkB,QAAS,GAAa,CACtC,EAAS,YAAY,EACrB,CAGF,EAAgB,QAAS,GAAa,CACpC,EAAS,YAAY,EACrB,CAGF,EAAY,QAAQ,QAAS,GAAW,CACtC,GAAQ,oBAAoB,aAAc,EAAiB,CAC3D,GAAQ,oBAAoB,aAAc,EAAiB,EAC3D,GAEH,CAAC,EAAa,EAAU,EAAa,EAAa,EAAY,CAAC,CAE3D,CAAE,0BAAyB,oBAAmB,cAAa"}
1
+ {"version":3,"file":"useItemSelector.mjs","names":[],"sources":["../../../src/hooks/useItemSelector.ts"],"sourcesContent":["'use client';\n\nimport { type RefObject, useEffect, 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 setChoiceIndicatorPosition((prev) => {\n const verticalPrev = prev as VerticalStyleState | null;\n const newPosition: VerticalStyleState = {\n top: verticalPrev?.top ?? 0,\n height: verticalPrev?.height ?? 0,\n opacity: 0,\n };\n lastPositionRef.current = newPosition;\n return newPosition;\n });\n } else {\n setChoiceIndicatorPosition((prev) => {\n const horizontalPrev = prev as HorizontalStyleState | null;\n const newPosition: HorizontalStyleState = {\n left: horizontalPrev?.left ?? 0,\n width: horizontalPrev?.width ?? 0,\n opacity: 0,\n };\n lastPositionRef.current = newPosition;\n return 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 setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\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 setChoiceIndicatorPosition(newPosition);\n lastPositionRef.current = newPosition;\n }\n };\n\n useEffect(() => {\n calculatePosition();\n\n // Event listeners for window events\n window.addEventListener('resize', calculatePosition);\n window.addEventListener('DOMContentLoaded', calculatePosition);\n\n // MutationObserver to watch for 'aria-selected' changes\n const mutationObservers: MutationObserver[] = [];\n\n optionsRefs.current.forEach((option) => {\n if (option) {\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'aria-selected'\n ) {\n calculatePosition();\n break;\n }\n }\n });\n\n observer.observe(option, {\n attributes: true,\n attributeFilter: ['aria-selected'],\n });\n\n mutationObservers.push(observer);\n }\n });\n\n // ResizeObserver to watch for size changes\n const resizeObservers: ResizeObserver[] = [];\n\n const observeSize = (element: HTMLElement) => {\n if (!element) return;\n const resizeObserver = new ResizeObserver(() => {\n calculatePosition();\n });\n resizeObserver.observe(element);\n resizeObservers.push(resizeObserver);\n };\n\n // Observe the selected item\n const selectedItem = optionsRefs.current.find(selector) ?? null;\n\n if (selectedItem) {\n observeSize(selectedItem);\n }\n\n // Observe the hovered item\n if (hoveredItem) {\n observeSize(hoveredItem);\n }\n\n // Add hover event listeners\n const handleMouseEnter = (event: Event) => {\n // 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 }, [optionsRefs, selector, hoveredItem, itemsLength, orientation]);\n\n return { choiceIndicatorPosition, calculatePosition, orientation };\n};\n"],"mappings":"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"}
@@ -1,2 +1,27 @@
1
- "use client";import{useEffect as e,useState as t}from"react";const n=()=>{let[n,r]=t(null);return e(()=>{let e=()=>{window.visualViewport?.height&&window.visualViewport.height<window.innerHeight-100&&window.visualViewport?r(window.visualViewport.height):r(null)};return window.visualViewport?.addEventListener(`resize`,e,{passive:!0}),e(),()=>{window.visualViewport?.removeEventListener(`resize`,e)}},[]),{windowHeight:n,isKeyboardOpen:n!==null}};export{n as useKeyboardDetector};
1
+ 'use client';
2
+
3
+ import { useEffect, useState } from "react";
4
+
5
+ //#region src/hooks/useKeyboardDetector.ts
6
+ const useKeyboardDetector = () => {
7
+ const [windowHeight, setWindowHeight] = useState(null);
8
+ useEffect(() => {
9
+ const updateHeight = () => {
10
+ if (Boolean(window.visualViewport?.height && window.visualViewport.height < window.innerHeight - 100) && window.visualViewport) setWindowHeight(window.visualViewport.height);
11
+ else setWindowHeight(null);
12
+ };
13
+ window.visualViewport?.addEventListener("resize", updateHeight, { passive: true });
14
+ updateHeight();
15
+ return () => {
16
+ window.visualViewport?.removeEventListener("resize", updateHeight);
17
+ };
18
+ }, []);
19
+ return {
20
+ windowHeight,
21
+ isKeyboardOpen: windowHeight !== null
22
+ };
23
+ };
24
+
25
+ //#endregion
26
+ export { useKeyboardDetector };
2
27
  //# sourceMappingURL=useKeyboardDetector.mjs.map
@@ -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":"6DAIA,MAAa,MAA4B,CACvC,GAAM,CAAC,EAAc,GAAmB,EAAwB,KAAK,CA2BrE,OAzBA,MAAgB,CACd,IAAM,MAAqB,CAEvB,OAAO,gBAAgB,QACrB,OAAO,eAAe,OAAS,OAAO,YAAc,KAGlC,OAAO,eAC3B,EAAgB,OAAO,eAAe,OAAO,CAE7C,EAAgB,KAAK,EAUzB,OALA,OAAO,gBAAgB,iBAAiB,SAAU,EAAc,CAC9D,QAAS,GACV,CAAC,CACF,GAAc,KAED,CACX,OAAO,gBAAgB,oBAAoB,SAAU,EAAa,GAEnE,EAAE,CAAC,CAEC,CAAE,eAAc,eAAgB,IAAiB,KAAM"}
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;AAErE,iBAAgB;EACd,MAAM,qBAAqB;AAMzB,OALuB,QACrB,OAAO,gBAAgB,UACrB,OAAO,eAAe,SAAS,OAAO,cAAc,IACvD,IAEqB,OAAO,eAC3B,iBAAgB,OAAO,eAAe,OAAO;OAE7C,iBAAgB,KAAK;;AAKzB,SAAO,gBAAgB,iBAAiB,UAAU,cAAc,EAC9D,SAAS,MACV,CAAC;AACF,gBAAc;AAEd,eAAa;AACX,UAAO,gBAAgB,oBAAoB,UAAU,aAAa;;IAEnE,EAAE,CAAC;AAEN,QAAO;EAAE;EAAc,gBAAgB,iBAAiB;EAAM"}
@@ -1,2 +1,66 @@
1
- "use client";import{useCallback as e,useEffect as t,useMemo as n,useState as r}from"react";const i=(i,a)=>{let[o,s]=r(()=>{if(a!==void 0){let e=typeof a==`function`?a():a;if(typeof window>`u`)return e;let t=localStorage?.getItem(i);if(t)try{return JSON.parse(t)}catch(e){console.error(e)}return e}});t(()=>{let e=localStorage?.getItem(i);if(e&&e!==`undefined`&&o===void 0)try{s(JSON.parse(e))}catch(e){console.error(e)}else a!==void 0&&o===void 0&&s(a)},[i,o]);let c=e(e=>{s(t=>{let n=typeof e==`function`?e(t):e;return n===void 0?t:(localStorage?.setItem(i,JSON.stringify(n)),n)})},[i,s]),l=e(()=>{let e=localStorage?.getItem(i);e&&s(JSON.parse(e))},[i,s]),u=e(()=>{localStorage?.removeItem(i),s(void 0)},[i]);return n(()=>[o,c,l,u],[o,c,l,u])};export{i as usePersistedStore};
1
+ 'use client';
2
+
3
+ import { useCallback, useEffect, useMemo, useState } from "react";
4
+
5
+ //#region src/hooks/usePersistedStore.ts
6
+ const usePersistedStore = (key, initialState) => {
7
+ const [state, setState] = useState(() => {
8
+ if (initialState !== void 0) {
9
+ const result = typeof initialState === "function" ? initialState() : initialState;
10
+ if (typeof window === "undefined") return result;
11
+ const persistedState = localStorage?.getItem(key);
12
+ if (persistedState) try {
13
+ return JSON.parse(persistedState);
14
+ } catch (e) {
15
+ console.error(e);
16
+ }
17
+ return result;
18
+ }
19
+ });
20
+ useEffect(() => {
21
+ const persistedState = localStorage?.getItem(key);
22
+ if (persistedState && persistedState !== "undefined" && state === void 0) try {
23
+ setState(JSON.parse(persistedState));
24
+ } catch (e) {
25
+ console.error(e);
26
+ }
27
+ else if (initialState !== void 0 && state === void 0) setState(initialState);
28
+ }, [key, state]);
29
+ /**
30
+ * Allows setting state either directly or via a functional update.
31
+ * If passed a function, we merge/update based on the previous state.
32
+ */
33
+ const setStateWrapper = useCallback((valueOrUpdater) => {
34
+ setState((prev) => {
35
+ const newValue = typeof valueOrUpdater === "function" ? valueOrUpdater(prev) : valueOrUpdater;
36
+ if (typeof newValue !== "undefined") {
37
+ localStorage?.setItem(key, JSON.stringify(newValue));
38
+ return newValue;
39
+ }
40
+ return prev;
41
+ });
42
+ }, [key, setState]);
43
+ const loadState = useCallback(() => {
44
+ const savedState = localStorage?.getItem(key);
45
+ if (savedState) setState(JSON.parse(savedState));
46
+ }, [key, setState]);
47
+ const clearState = useCallback(() => {
48
+ localStorage?.removeItem(key);
49
+ setState(void 0);
50
+ }, [key]);
51
+ return useMemo(() => [
52
+ state,
53
+ setStateWrapper,
54
+ loadState,
55
+ clearState
56
+ ], [
57
+ state,
58
+ setStateWrapper,
59
+ loadState,
60
+ clearState
61
+ ]);
62
+ };
63
+
64
+ //#endregion
65
+ export { usePersistedStore };
2
66
  //# sourceMappingURL=usePersistedStore.mjs.map
@@ -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":"2FAWA,MAAa,GACX,EACA,IAC6D,CAC7D,GAAM,CAAC,EAAO,GAAY,MAAkB,CAE1C,GAAI,IAAiB,IAAA,GAAW,CAC9B,IAAM,EACJ,OAAO,GAAiB,WACnB,GAA0B,CAC3B,EAEN,GAAI,OAAO,OAAW,IAAa,OAAO,EAE1C,IAAM,EAAiB,cAAc,QAAQ,EAAI,CAEjD,GAAI,EACF,GAAI,CACF,OAAO,KAAK,MAAM,EAAe,OAC1B,EAAG,CACV,QAAQ,MAAM,EAAE,CAIpB,OAAO,IAIT,CAEF,MAAgB,CACd,IAAM,EAAiB,cAAc,QAAQ,EAAI,CAEjD,GACE,GACA,IAAmB,aACnB,IAAU,IAAA,GAEV,GAAI,CACF,EAAS,KAAK,MAAM,EAAe,CAAC,OAC7B,EAAG,CACV,QAAQ,MAAM,EAAE,MAET,IAAiB,IAAA,IAAa,IAAU,IAAA,IACjD,EAAS,EAAa,EAEvB,CAAC,EAAK,EAAM,CAAC,CAMhB,IAAM,EAAmC,EACtC,GAAsC,CACrC,EAAU,GAAS,CACjB,IAAM,EACJ,OAAO,GAAmB,WACrB,EAAqC,EAAK,CAC3C,EAON,OALW,IAAa,OAKjB,GAJL,cAAc,QAAQ,EAAK,KAAK,UAAU,EAAS,CAAC,CAC7C,IAIT,EAEJ,CAAC,EAAK,EAAS,CAChB,CAEK,EAAY,MAAkB,CAClC,IAAM,EAAa,cAAc,QAAQ,EAAI,CACzC,GACF,EAAS,KAAK,MAAM,EAAW,CAAC,EAEjC,CAAC,EAAK,EAAS,CAAC,CAEb,EAAa,MAAkB,CACnC,cAAc,WAAW,EAAI,CAC7B,EAAS,IAAA,GAAe,EACvB,CAAC,EAAI,CAAC,CAET,OAAO,MACC,CAAC,EAAO,EAAiB,EAAW,EAAW,CACrD,CAAC,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;AAE1C,MAAI,iBAAiB,QAAW;GAC9B,MAAM,SACJ,OAAO,iBAAiB,aACnB,cAA0B,GAC3B;AAEN,OAAI,OAAO,WAAW,YAAa,QAAO;GAE1C,MAAM,iBAAiB,cAAc,QAAQ,IAAI;AAEjD,OAAI,eACF,KAAI;AACF,WAAO,KAAK,MAAM,eAAe;YAC1B,GAAG;AACV,YAAQ,MAAM,EAAE;;AAIpB,UAAO;;GAIT;AAEF,iBAAgB;EACd,MAAM,iBAAiB,cAAc,QAAQ,IAAI;AAEjD,MACE,kBACA,mBAAmB,eACnB,UAAU,OAEV,KAAI;AACF,YAAS,KAAK,MAAM,eAAe,CAAC;WAC7B,GAAG;AACV,WAAQ,MAAM,EAAE;;WAET,iBAAiB,UAAa,UAAU,OACjD,UAAS,aAAa;IAEvB,CAAC,KAAK,MAAM,CAAC;;;;;CAMhB,MAAM,kBAAmC,aACtC,mBAAsC;AACrC,YAAU,SAAS;GACjB,MAAM,WACJ,OAAO,mBAAmB,aACrB,eAAqC,KAAK,GAC3C;AAEN,OAAI,OAAO,aAAa,aAAa;AACnC,kBAAc,QAAQ,KAAK,KAAK,UAAU,SAAS,CAAC;AACpD,WAAO;;AAGT,UAAO;IACP;IAEJ,CAAC,KAAK,SAAS,CAChB;CAED,MAAM,YAAY,kBAAkB;EAClC,MAAM,aAAa,cAAc,QAAQ,IAAI;AAC7C,MAAI,WACF,UAAS,KAAK,MAAM,WAAW,CAAC;IAEjC,CAAC,KAAK,SAAS,CAAC;CAEnB,MAAM,aAAa,kBAAkB;AACnC,gBAAc,WAAW,IAAI;AAC7B,WAAS,OAAe;IACvB,CAAC,IAAI,CAAC;AAET,QAAO,cACC;EAAC;EAAO;EAAiB;EAAW;EAAW,EACrD;EAAC;EAAO;EAAiB;EAAW;EAAW,CAChD"}