@intlayer/design-system 8.4.4 → 8.4.6

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 (856) 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 +131 -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 +92 -1
  700. package/dist/esm/components/TextArea/AutocompleteTextArea.mjs.map +1 -1
  701. package/dist/esm/components/TextArea/ContentEditableTextArea.mjs +444 -0
  702. package/dist/esm/components/TextArea/ContentEditableTextArea.mjs.map +1 -0
  703. package/dist/esm/components/TextArea/TextArea.mjs +58 -1
  704. package/dist/esm/components/TextArea/TextArea.mjs.map +1 -1
  705. package/dist/esm/components/TextArea/index.mjs +6 -1
  706. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +79 -1
  707. package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
  708. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs +53 -1
  709. package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs.map +1 -1
  710. package/dist/esm/components/ThemeSwitcherDropDown/index.mjs +5 -1
  711. package/dist/esm/components/ThemeSwitcherDropDown/types.mjs +10 -1
  712. package/dist/esm/components/ThemeSwitcherDropDown/types.mjs.map +1 -1
  713. package/dist/esm/components/Toaster/Toast.mjs +187 -1
  714. package/dist/esm/components/Toaster/Toast.mjs.map +1 -1
  715. package/dist/esm/components/Toaster/Toaster.mjs +66 -1
  716. package/dist/esm/components/Toaster/Toaster.mjs.map +1 -1
  717. package/dist/esm/components/Toaster/index.mjs +5 -1
  718. package/dist/esm/components/Toaster/useToast.mjs +308 -1
  719. package/dist/esm/components/Toaster/useToast.mjs.map +1 -1
  720. package/dist/esm/components/WithResizer/index.mjs +200 -1
  721. package/dist/esm/components/WithResizer/index.mjs.map +1 -1
  722. package/dist/esm/components/index.mjs +106 -1
  723. package/dist/esm/hooks/index.mjs +22 -1
  724. package/dist/esm/hooks/reactQuery.mjs +1029 -1
  725. package/dist/esm/hooks/reactQuery.mjs.map +1 -1
  726. package/dist/esm/hooks/useAuth/index.mjs +5 -1
  727. package/dist/esm/hooks/useAuth/useAuth.mjs +21 -1
  728. package/dist/esm/hooks/useAuth/useAuth.mjs.map +1 -1
  729. package/dist/esm/hooks/useAuth/useOAuth2.mjs +28 -1
  730. package/dist/esm/hooks/useAuth/useOAuth2.mjs.map +1 -1
  731. package/dist/esm/hooks/useAuth/useSession.mjs +42 -1
  732. package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
  733. package/dist/esm/hooks/useDevice.mjs +71 -1
  734. package/dist/esm/hooks/useDevice.mjs.map +1 -1
  735. package/dist/esm/hooks/useGetElementById.mjs +15 -1
  736. package/dist/esm/hooks/useGetElementById.mjs.map +1 -1
  737. package/dist/esm/hooks/useGetElementOrWindow.mjs +15 -1
  738. package/dist/esm/hooks/useGetElementOrWindow.mjs.map +1 -1
  739. package/dist/esm/hooks/useHorizontalSwipe.mjs +123 -1
  740. package/dist/esm/hooks/useHorizontalSwipe.mjs.map +1 -1
  741. package/dist/esm/hooks/useIntlayerAPI.mjs +21 -1
  742. package/dist/esm/hooks/useIntlayerAPI.mjs.map +1 -1
  743. package/dist/esm/hooks/useIsDarkMode.mjs +15 -1
  744. package/dist/esm/hooks/useIsDarkMode.mjs.map +1 -1
  745. package/dist/esm/hooks/useIsMounted.mjs +15 -1
  746. package/dist/esm/hooks/useIsMounted.mjs.map +1 -1
  747. package/dist/esm/hooks/useItemSelector.mjs +146 -1
  748. package/dist/esm/hooks/useItemSelector.mjs.map +1 -1
  749. package/dist/esm/hooks/useKeyboardDetector.mjs +26 -1
  750. package/dist/esm/hooks/useKeyboardDetector.mjs.map +1 -1
  751. package/dist/esm/hooks/usePersistedStore.mjs +65 -1
  752. package/dist/esm/hooks/usePersistedStore.mjs.map +1 -1
  753. package/dist/esm/hooks/useScreenWidth.mjs +20 -1
  754. package/dist/esm/hooks/useScreenWidth.mjs.map +1 -1
  755. package/dist/esm/hooks/useScrollBlockage/index.mjs +30 -1
  756. package/dist/esm/hooks/useScrollBlockage/index.mjs.map +1 -1
  757. package/dist/esm/hooks/useScrollBlockage/useScrollBlockageStore.mjs +70 -1
  758. package/dist/esm/hooks/useScrollBlockage/useScrollBlockageStore.mjs.map +1 -1
  759. package/dist/esm/hooks/useScrollDetection.mjs +61 -1
  760. package/dist/esm/hooks/useScrollDetection.mjs.map +1 -1
  761. package/dist/esm/hooks/useScrollY.mjs +68 -1
  762. package/dist/esm/hooks/useScrollY.mjs.map +1 -1
  763. package/dist/esm/hooks/useSearch.mjs +50 -1
  764. package/dist/esm/hooks/useSearch.mjs.map +1 -1
  765. package/dist/esm/hooks/useUser/index.mjs +28 -1
  766. package/dist/esm/hooks/useUser/index.mjs.map +1 -1
  767. package/dist/esm/libs/auth.mjs +184 -1
  768. package/dist/esm/libs/auth.mjs.map +1 -1
  769. package/dist/esm/libs/index.mjs +3 -1
  770. package/dist/esm/providers/ReactQueryProvider.mjs +86 -1
  771. package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
  772. package/dist/esm/providers/index.mjs +4 -1
  773. package/dist/esm/tailwind.config.mjs +15 -1
  774. package/dist/esm/tailwind.config.mjs.map +1 -1
  775. package/dist/esm/utils/cn.mjs +8 -1
  776. package/dist/esm/utils/cn.mjs.map +1 -1
  777. package/dist/esm/utils/image.mjs +51 -1
  778. package/dist/esm/utils/image.mjs.map +1 -1
  779. package/dist/esm/utils/object.mjs +32 -1
  780. package/dist/esm/utils/object.mjs.map +1 -1
  781. package/dist/types/components/Badge/index.d.ts +2 -2
  782. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts +2 -2
  783. package/dist/types/components/Breadcrumb/breadcrumb.content.d.ts.map +1 -1
  784. package/dist/types/components/Browser/Browser.content.d.ts +16 -16
  785. package/dist/types/components/Browser/Browser.content.d.ts.map +1 -1
  786. package/dist/types/components/Button/Button.d.ts +3 -3
  787. package/dist/types/components/Carousel/index.content.d.ts +6 -6
  788. package/dist/types/components/Carousel/index.content.d.ts.map +1 -1
  789. package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +2 -2
  790. package/dist/types/components/Command/index.d.ts +1 -1
  791. package/dist/types/components/Container/index.d.ts +7 -7
  792. package/dist/types/components/CopyButton/CopyButton.content.d.ts +2 -2
  793. package/dist/types/components/CopyButton/CopyButton.content.d.ts.map +1 -1
  794. package/dist/types/components/DictionaryEditor/NodeWrapper/HtmlWrapper.d.ts.map +1 -1
  795. package/dist/types/components/DictionaryEditor/NodeWrapper/MarkdownWrapper.d.ts.map +1 -1
  796. package/dist/types/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts.map +1 -1
  797. package/dist/types/components/DictionaryFieldEditor/ContentEditorView/TextEditor.d.ts.map +1 -1
  798. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +24 -24
  799. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts.map +1 -1
  800. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +8 -8
  801. package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts.map +1 -1
  802. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +54 -54
  803. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts.map +1 -1
  804. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +32 -32
  805. package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts.map +1 -1
  806. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +24 -24
  807. package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts.map +1 -1
  808. package/dist/types/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
  809. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +32 -32
  810. package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts.map +1 -1
  811. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +8 -8
  812. package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts.map +1 -1
  813. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +6 -6
  814. package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts.map +1 -1
  815. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +4 -4
  816. package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts.map +1 -1
  817. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +30 -30
  818. package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts.map +1 -1
  819. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +2 -2
  820. package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts.map +1 -1
  821. package/dist/types/components/IDE/CodeBlockShiki.d.ts.map +1 -1
  822. package/dist/types/components/IDE/code.content.d.ts +4 -4
  823. package/dist/types/components/IDE/code.content.d.ts.map +1 -1
  824. package/dist/types/components/IDE/copyCode.content.d.ts +4 -4
  825. package/dist/types/components/IDE/copyCode.content.d.ts.map +1 -1
  826. package/dist/types/components/IDE/selectors.content.d.ts +12 -12
  827. package/dist/types/components/IDE/selectors.content.d.ts.map +1 -1
  828. package/dist/types/components/Input/Checkbox.d.ts +2 -2
  829. package/dist/types/components/Input/Input.d.ts +1 -1
  830. package/dist/types/components/Input/OTPInput.d.ts +1 -1
  831. package/dist/types/components/Link/Link.d.ts +3 -3
  832. package/dist/types/components/Loader/index.content.d.ts +2 -2
  833. package/dist/types/components/Loader/index.content.d.ts.map +1 -1
  834. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +16 -16
  835. package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts.map +1 -1
  836. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +12 -12
  837. package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts.map +1 -1
  838. package/dist/types/components/Pagination/Pagination.d.ts +2 -2
  839. package/dist/types/components/Pagination/pagination.content.d.ts +10 -10
  840. package/dist/types/components/Pagination/pagination.content.d.ts.map +1 -1
  841. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts +4 -4
  842. package/dist/types/components/RightDrawer/rightDrawer.content.d.ts.map +1 -1
  843. package/dist/types/components/SwitchSelector/index.d.ts +2 -2
  844. package/dist/types/components/TabSelector/TabSelector.d.ts +1 -1
  845. package/dist/types/components/Table/table.content.d.ts +2 -2
  846. package/dist/types/components/Table/table.content.d.ts.map +1 -1
  847. package/dist/types/components/Tag/index.d.ts +3 -3
  848. package/dist/types/components/Terminal/terminal.content.d.ts +4 -4
  849. package/dist/types/components/Terminal/terminal.content.d.ts.map +1 -1
  850. package/dist/types/components/TextArea/AutocompleteTextArea.d.ts +14 -120
  851. package/dist/types/components/TextArea/AutocompleteTextArea.d.ts.map +1 -1
  852. package/dist/types/components/TextArea/ContentEditableTextArea.d.ts +65 -0
  853. package/dist/types/components/TextArea/ContentEditableTextArea.d.ts.map +1 -0
  854. package/dist/types/components/TextArea/index.d.ts +3 -2
  855. package/dist/types/components/index.d.ts +3 -2
  856. package/package.json +17 -17
@@ -1,2 +1,129 @@
1
- "use client";import{Detail as e,PopoverStatic as t,PopoverXAlign as n,PopoverYAlign as r}from"./static.mjs";import{useEffect as i,useRef as a,useState as o}from"react";import{jsx as s}from"react/jsx-runtime";const c=e=>s(t,{...e}),l=({xAlign:t=n.START,yAlign:c=r.BELOW,...l})=>{let u=a(null),[d,f]=o(t),[p,m]=o(c),[h,g]=o(void 0);return i(()=>{let e=()=>{if(!u.current)return;let e=u.current,i=document.getElementById(`unrollable-panel-button-${l.identifier}`);if(!i)return;let a=i.getBoundingClientRect(),o=window.innerWidth,s=window.innerHeight,d=o-a.left-16,p=a.right-16;g(Math.max(d,p));let h=e.classList.contains(`invisible`);h&&(e.style.visibility=`hidden`,e.classList.remove(`invisible`)),requestAnimationFrame(()=>{let i=e.getBoundingClientRect();h&&(e.style.visibility=``,e.classList.add(`invisible`));let l=c,u=s-a.bottom-16,d=a.top-16;c===r.BELOW&&u<i.height?d>=i.height&&(l=r.ABOVE):c===r.ABOVE&&d<i.height&&u>=i.height&&(l=r.BELOW);let p=t,g=o-a.left-16,_=a.right-16;t===n.START&&g<i.width?_>=i.width&&(p=n.END):t===n.END&&_<i.width&&g>=i.width&&(p=n.START),m(l),f(p)})},i=setTimeout(e,0),a=document.getElementById(`unrollable-panel-button-${l.identifier}`);a&&(a.addEventListener(`mouseenter`,e),a.addEventListener(`focusin`,e));let o=new ResizeObserver(()=>{e()});return u.current&&o.observe(u.current),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{clearTimeout(i),a&&(a.removeEventListener(`mouseenter`,e),a.removeEventListener(`focusin`,e)),o.disconnect(),window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[l.identifier,t,c]),s(e,{...l,xAlign:d,yAlign:p,ref:u,style:{...l.style,maxWidth:h?`${h}px`:void 0}})},u=c;u.Detail=l;export{u as Popover};
1
+ 'use client';
2
+
3
+ import { Detail as Detail$1, PopoverStatic, PopoverXAlign, PopoverYAlign } from "./static.mjs";
4
+ import { useEffect, useRef, useState } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+
7
+ //#region src/components/Popover/dynamic.tsx
8
+ /**
9
+ * Popover Component (Client-side)
10
+ *
11
+ * Client-side wrapper around the static Popover component.
12
+ * Reuses the server-side compatible implementation.
13
+ *
14
+ * @param props - Popover component props
15
+ * @returns Trigger container with popover functionality
16
+ */
17
+ const PopoverComponent = (props) => {
18
+ return /* @__PURE__ */ jsx(PopoverStatic, { ...props });
19
+ };
20
+ /**
21
+ * Popover Detail Component (Client-side)
22
+ *
23
+ * Client-side wrapper around the static Detail component that adds automatic
24
+ * positioning logic based on viewport constraints.
25
+ *
26
+ * Features:
27
+ * - Reuses server-side compatible static Detail component
28
+ * - Adds automatic positioning adjustment based on viewport
29
+ * - Calculates optimal X/Y alignment to prevent overflow
30
+ * - Dynamically adjusts max-width based on available space
31
+ * - Listens to window resize and scroll events
32
+ *
33
+ * @param props - Popover Detail component props
34
+ * @returns Positioned popover content with animations and accessibility
35
+ */
36
+ const Detail = ({ xAlign = PopoverXAlign.START, yAlign = PopoverYAlign.BELOW, ...props }) => {
37
+ const popoverRef = useRef(null);
38
+ const [computedXAlign, setComputedXAlign] = useState(xAlign);
39
+ const [computedYAlign, setComputedYAlign] = useState(yAlign);
40
+ const [maxWidth, setMaxWidth] = useState(void 0);
41
+ useEffect(() => {
42
+ const adjustPosition = () => {
43
+ if (!popoverRef.current) return;
44
+ const popoverElement = popoverRef.current;
45
+ const triggerElement = document.getElementById(`unrollable-panel-button-${props.identifier}`);
46
+ if (!triggerElement) return;
47
+ const triggerRect = triggerElement.getBoundingClientRect();
48
+ const viewportWidth = window.innerWidth;
49
+ const viewportHeight = window.innerHeight;
50
+ const gap = 16;
51
+ const padding = 16;
52
+ const maxWidthFromLeft = viewportWidth - triggerRect.left - padding;
53
+ const maxWidthFromRight = triggerRect.right - padding;
54
+ setMaxWidth(Math.max(maxWidthFromLeft, maxWidthFromRight));
55
+ const wasInvisible = popoverElement.classList.contains("invisible");
56
+ if (wasInvisible) {
57
+ popoverElement.style.visibility = "hidden";
58
+ popoverElement.classList.remove("invisible");
59
+ }
60
+ requestAnimationFrame(() => {
61
+ const popoverRect = popoverElement.getBoundingClientRect();
62
+ if (wasInvisible) {
63
+ popoverElement.style.visibility = "";
64
+ popoverElement.classList.add("invisible");
65
+ }
66
+ let newYAlign = yAlign;
67
+ const spaceBelow = viewportHeight - triggerRect.bottom - gap;
68
+ const spaceAbove = triggerRect.top - gap;
69
+ if (yAlign === PopoverYAlign.BELOW && spaceBelow < popoverRect.height) {
70
+ if (spaceAbove >= popoverRect.height) newYAlign = PopoverYAlign.ABOVE;
71
+ } else if (yAlign === PopoverYAlign.ABOVE && spaceAbove < popoverRect.height) {
72
+ if (spaceBelow >= popoverRect.height) newYAlign = PopoverYAlign.BELOW;
73
+ }
74
+ let newXAlign = xAlign;
75
+ const spaceRight = viewportWidth - triggerRect.left - padding;
76
+ const spaceLeft = triggerRect.right - padding;
77
+ if (xAlign === PopoverXAlign.START && spaceRight < popoverRect.width) {
78
+ if (spaceLeft >= popoverRect.width) newXAlign = PopoverXAlign.END;
79
+ } else if (xAlign === PopoverXAlign.END && spaceLeft < popoverRect.width) {
80
+ if (spaceRight >= popoverRect.width) newXAlign = PopoverXAlign.START;
81
+ }
82
+ setComputedYAlign(newYAlign);
83
+ setComputedXAlign(newXAlign);
84
+ });
85
+ };
86
+ const timeoutId = setTimeout(adjustPosition, 0);
87
+ const triggerElement = document.getElementById(`unrollable-panel-button-${props.identifier}`);
88
+ if (triggerElement) {
89
+ triggerElement.addEventListener("mouseenter", adjustPosition);
90
+ triggerElement.addEventListener("focusin", adjustPosition);
91
+ }
92
+ const resizeObserver = new ResizeObserver(() => {
93
+ adjustPosition();
94
+ });
95
+ if (popoverRef.current) resizeObserver.observe(popoverRef.current);
96
+ window.addEventListener("resize", adjustPosition);
97
+ window.addEventListener("scroll", adjustPosition, true);
98
+ return () => {
99
+ clearTimeout(timeoutId);
100
+ if (triggerElement) {
101
+ triggerElement.removeEventListener("mouseenter", adjustPosition);
102
+ triggerElement.removeEventListener("focusin", adjustPosition);
103
+ }
104
+ resizeObserver.disconnect();
105
+ window.removeEventListener("resize", adjustPosition);
106
+ window.removeEventListener("scroll", adjustPosition, true);
107
+ };
108
+ }, [
109
+ props.identifier,
110
+ xAlign,
111
+ yAlign
112
+ ]);
113
+ return /* @__PURE__ */ jsx(Detail$1, {
114
+ ...props,
115
+ xAlign: computedXAlign,
116
+ yAlign: computedYAlign,
117
+ ref: popoverRef,
118
+ style: {
119
+ ...props.style,
120
+ maxWidth: maxWidth ? `${maxWidth}px` : void 0
121
+ }
122
+ });
123
+ };
124
+ const Popover = PopoverComponent;
125
+ Popover.Detail = Detail;
126
+
127
+ //#endregion
128
+ export { Popover };
2
129
  //# sourceMappingURL=dynamic.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic.mjs","names":["StaticDetail"],"sources":["../../../../src/components/Popover/dynamic.tsx"],"sourcesContent":["'use client';\n\nimport type { FC } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport {\n type DetailProps,\n type PopoverProps,\n PopoverStatic,\n type PopoverType,\n PopoverXAlign,\n PopoverYAlign,\n Detail as StaticDetail,\n} from './static';\n\n/**\n * Popover Component (Client-side)\n *\n * Client-side wrapper around the static Popover component.\n * Reuses the server-side compatible implementation.\n *\n * @param props - Popover component props\n * @returns Trigger container with popover functionality\n */\nconst PopoverComponent: FC<PopoverProps> = (props) => {\n return <PopoverStatic {...props} />;\n};\n\n/**\n * Popover Detail Component (Client-side)\n *\n * Client-side wrapper around the static Detail component that adds automatic\n * positioning logic based on viewport constraints.\n *\n * Features:\n * - Reuses server-side compatible static Detail component\n * - Adds automatic positioning adjustment based on viewport\n * - Calculates optimal X/Y alignment to prevent overflow\n * - Dynamically adjusts max-width based on available space\n * - Listens to window resize and scroll events\n *\n * @param props - Popover Detail component props\n * @returns Positioned popover content with animations and accessibility\n */\nconst Detail: FC<DetailProps> = ({\n xAlign = PopoverXAlign.START,\n yAlign = PopoverYAlign.BELOW,\n ...props\n}) => {\n const popoverRef = useRef<HTMLDivElement>(null);\n const [computedXAlign, setComputedXAlign] = useState(xAlign);\n const [computedYAlign, setComputedYAlign] = useState(yAlign);\n const [maxWidth, setMaxWidth] = useState<number | undefined>(undefined);\n\n useEffect(() => {\n const adjustPosition = () => {\n if (!popoverRef.current) return;\n\n const popoverElement = popoverRef.current;\n const triggerElement = document.getElementById(\n `unrollable-panel-button-${props.identifier}`\n );\n\n if (!triggerElement) return;\n\n const triggerRect = triggerElement.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n const gap = 16; // 1rem gap\n const padding = 16; // Additional padding from viewport edges\n\n // Calculate maximum width based on viewport and trigger position\n const maxWidthFromLeft = viewportWidth - triggerRect.left - padding;\n const maxWidthFromRight = triggerRect.right - padding;\n\n // Use the larger space to ensure popover can fit\n const absoluteMaxWidth = Math.max(maxWidthFromLeft, maxWidthFromRight);\n\n setMaxWidth(absoluteMaxWidth);\n\n // Force a layout calculation by temporarily making visible if needed\n const wasInvisible = popoverElement.classList.contains('invisible');\n if (wasInvisible) {\n popoverElement.style.visibility = 'hidden';\n popoverElement.classList.remove('invisible');\n }\n\n // Small delay to ensure max-width is applied and content reflows\n requestAnimationFrame(() => {\n const popoverRect = popoverElement.getBoundingClientRect();\n\n // Restore invisible state if it was invisible\n if (wasInvisible) {\n popoverElement.style.visibility = '';\n popoverElement.classList.add('invisible');\n }\n\n // Determine optimal Y alignment\n let newYAlign = yAlign;\n const spaceBelow = viewportHeight - triggerRect.bottom - gap;\n const spaceAbove = triggerRect.top - gap;\n\n if (yAlign === PopoverYAlign.BELOW && spaceBelow < popoverRect.height) {\n // Not enough space below, try above\n if (spaceAbove >= popoverRect.height) {\n newYAlign = PopoverYAlign.ABOVE;\n }\n } else if (\n yAlign === PopoverYAlign.ABOVE &&\n spaceAbove < popoverRect.height\n ) {\n // Not enough space above, try below\n if (spaceBelow >= popoverRect.height) {\n newYAlign = PopoverYAlign.BELOW;\n }\n }\n\n // Determine optimal X alignment\n let newXAlign = xAlign;\n const spaceRight = viewportWidth - triggerRect.left - padding;\n const spaceLeft = triggerRect.right - padding;\n\n if (xAlign === PopoverXAlign.START && spaceRight < popoverRect.width) {\n // Not enough space on the right, try left\n if (spaceLeft >= popoverRect.width) {\n newXAlign = PopoverXAlign.END;\n }\n } else if (\n xAlign === PopoverXAlign.END &&\n spaceLeft < popoverRect.width\n ) {\n // Not enough space on the left, try right\n if (spaceRight >= popoverRect.width) {\n newXAlign = PopoverXAlign.START;\n }\n }\n\n setComputedYAlign(newYAlign);\n setComputedXAlign(newXAlign);\n });\n };\n\n // Adjust position with a slight delay to ensure DOM is ready\n const timeoutId = setTimeout(adjustPosition, 0);\n\n // Listen to mouse enter on the trigger to recalculate\n const triggerElement = document.getElementById(\n `unrollable-panel-button-${props.identifier}`\n );\n\n if (triggerElement) {\n triggerElement.addEventListener('mouseenter', adjustPosition);\n triggerElement.addEventListener('focusin', adjustPosition);\n }\n\n // Use ResizeObserver to detect popover content size changes\n const resizeObserver = new ResizeObserver(() => {\n adjustPosition();\n });\n\n if (popoverRef.current) {\n resizeObserver.observe(popoverRef.current);\n }\n\n window.addEventListener('resize', adjustPosition);\n window.addEventListener('scroll', adjustPosition, true);\n\n return () => {\n clearTimeout(timeoutId);\n if (triggerElement) {\n triggerElement.removeEventListener('mouseenter', adjustPosition);\n triggerElement.removeEventListener('focusin', adjustPosition);\n }\n resizeObserver.disconnect();\n window.removeEventListener('resize', adjustPosition);\n window.removeEventListener('scroll', adjustPosition, true);\n };\n }, [props.identifier, xAlign, yAlign]);\n\n // Use the static Detail component with computed alignment values\n return (\n <StaticDetail\n {...props}\n xAlign={computedXAlign}\n yAlign={computedYAlign}\n ref={popoverRef}\n style={{\n ...props.style,\n maxWidth: maxWidth ? `${maxWidth}px` : undefined,\n }}\n />\n );\n};\n\n// Create Popover with Detail attached\nexport const Popover: PopoverType = PopoverComponent as PopoverType;\n\nPopover.Detail = Detail;\n"],"mappings":"gNAuBA,MAAM,EAAsC,GACnC,EAAC,EAAD,CAAe,GAAI,EAAS,CAAA,CAmB/B,GAA2B,CAC/B,SAAS,EAAc,MACvB,SAAS,EAAc,MACvB,GAAG,KACC,CACJ,IAAM,EAAa,EAAuB,KAAK,CACzC,CAAC,EAAgB,GAAqB,EAAS,EAAO,CACtD,CAAC,EAAgB,GAAqB,EAAS,EAAO,CACtD,CAAC,EAAU,GAAe,EAA6B,IAAA,GAAU,CAgIvE,OA9HA,MAAgB,CACd,IAAM,MAAuB,CAC3B,GAAI,CAAC,EAAW,QAAS,OAEzB,IAAM,EAAiB,EAAW,QAC5B,EAAiB,SAAS,eAC9B,2BAA2B,EAAM,aAClC,CAED,GAAI,CAAC,EAAgB,OAErB,IAAM,EAAc,EAAe,uBAAuB,CACpD,EAAgB,OAAO,WACvB,EAAiB,OAAO,YAKxB,EAAmB,EAAgB,EAAY,KAAO,GACtD,EAAoB,EAAY,MAAQ,GAK9C,EAFyB,KAAK,IAAI,EAAkB,EAAkB,CAEzC,CAG7B,IAAM,EAAe,EAAe,UAAU,SAAS,YAAY,CAC/D,IACF,EAAe,MAAM,WAAa,SAClC,EAAe,UAAU,OAAO,YAAY,EAI9C,0BAA4B,CAC1B,IAAM,EAAc,EAAe,uBAAuB,CAGtD,IACF,EAAe,MAAM,WAAa,GAClC,EAAe,UAAU,IAAI,YAAY,EAI3C,IAAI,EAAY,EACV,EAAa,EAAiB,EAAY,OAAS,GACnD,EAAa,EAAY,IAAM,GAEjC,IAAW,EAAc,OAAS,EAAa,EAAY,OAEzD,GAAc,EAAY,SAC5B,EAAY,EAAc,OAG5B,IAAW,EAAc,OACzB,EAAa,EAAY,QAGrB,GAAc,EAAY,SAC5B,EAAY,EAAc,OAK9B,IAAI,EAAY,EACV,EAAa,EAAgB,EAAY,KAAO,GAChD,EAAY,EAAY,MAAQ,GAElC,IAAW,EAAc,OAAS,EAAa,EAAY,MAEzD,GAAa,EAAY,QAC3B,EAAY,EAAc,KAG5B,IAAW,EAAc,KACzB,EAAY,EAAY,OAGpB,GAAc,EAAY,QAC5B,EAAY,EAAc,OAI9B,EAAkB,EAAU,CAC5B,EAAkB,EAAU,EAC5B,EAIE,EAAY,WAAW,EAAgB,EAAE,CAGzC,EAAiB,SAAS,eAC9B,2BAA2B,EAAM,aAClC,CAEG,IACF,EAAe,iBAAiB,aAAc,EAAe,CAC7D,EAAe,iBAAiB,UAAW,EAAe,EAI5D,IAAM,EAAiB,IAAI,mBAAqB,CAC9C,GAAgB,EAChB,CASF,OAPI,EAAW,SACb,EAAe,QAAQ,EAAW,QAAQ,CAG5C,OAAO,iBAAiB,SAAU,EAAe,CACjD,OAAO,iBAAiB,SAAU,EAAgB,GAAK,KAE1C,CACX,aAAa,EAAU,CACnB,IACF,EAAe,oBAAoB,aAAc,EAAe,CAChE,EAAe,oBAAoB,UAAW,EAAe,EAE/D,EAAe,YAAY,CAC3B,OAAO,oBAAoB,SAAU,EAAe,CACpD,OAAO,oBAAoB,SAAU,EAAgB,GAAK,GAE3D,CAAC,EAAM,WAAY,EAAQ,EAAO,CAAC,CAIpC,EAACA,EAAD,CACE,GAAI,EACJ,OAAQ,EACR,OAAQ,EACR,IAAK,EACL,MAAO,CACL,GAAG,EAAM,MACT,SAAU,EAAW,GAAG,EAAS,IAAM,IAAA,GACxC,CACD,CAAA,EAKO,EAAuB,EAEpC,EAAQ,OAAS"}
1
+ {"version":3,"file":"dynamic.mjs","names":["StaticDetail"],"sources":["../../../../src/components/Popover/dynamic.tsx"],"sourcesContent":["'use client';\n\nimport type { FC } from 'react';\nimport { useEffect, useRef, useState } from 'react';\nimport {\n type DetailProps,\n type PopoverProps,\n PopoverStatic,\n type PopoverType,\n PopoverXAlign,\n PopoverYAlign,\n Detail as StaticDetail,\n} from './static';\n\n/**\n * Popover Component (Client-side)\n *\n * Client-side wrapper around the static Popover component.\n * Reuses the server-side compatible implementation.\n *\n * @param props - Popover component props\n * @returns Trigger container with popover functionality\n */\nconst PopoverComponent: FC<PopoverProps> = (props) => {\n return <PopoverStatic {...props} />;\n};\n\n/**\n * Popover Detail Component (Client-side)\n *\n * Client-side wrapper around the static Detail component that adds automatic\n * positioning logic based on viewport constraints.\n *\n * Features:\n * - Reuses server-side compatible static Detail component\n * - Adds automatic positioning adjustment based on viewport\n * - Calculates optimal X/Y alignment to prevent overflow\n * - Dynamically adjusts max-width based on available space\n * - Listens to window resize and scroll events\n *\n * @param props - Popover Detail component props\n * @returns Positioned popover content with animations and accessibility\n */\nconst Detail: FC<DetailProps> = ({\n xAlign = PopoverXAlign.START,\n yAlign = PopoverYAlign.BELOW,\n ...props\n}) => {\n const popoverRef = useRef<HTMLDivElement>(null);\n const [computedXAlign, setComputedXAlign] = useState(xAlign);\n const [computedYAlign, setComputedYAlign] = useState(yAlign);\n const [maxWidth, setMaxWidth] = useState<number | undefined>(undefined);\n\n useEffect(() => {\n const adjustPosition = () => {\n if (!popoverRef.current) return;\n\n const popoverElement = popoverRef.current;\n const triggerElement = document.getElementById(\n `unrollable-panel-button-${props.identifier}`\n );\n\n if (!triggerElement) return;\n\n const triggerRect = triggerElement.getBoundingClientRect();\n const viewportWidth = window.innerWidth;\n const viewportHeight = window.innerHeight;\n const gap = 16; // 1rem gap\n const padding = 16; // Additional padding from viewport edges\n\n // Calculate maximum width based on viewport and trigger position\n const maxWidthFromLeft = viewportWidth - triggerRect.left - padding;\n const maxWidthFromRight = triggerRect.right - padding;\n\n // Use the larger space to ensure popover can fit\n const absoluteMaxWidth = Math.max(maxWidthFromLeft, maxWidthFromRight);\n\n setMaxWidth(absoluteMaxWidth);\n\n // Force a layout calculation by temporarily making visible if needed\n const wasInvisible = popoverElement.classList.contains('invisible');\n if (wasInvisible) {\n popoverElement.style.visibility = 'hidden';\n popoverElement.classList.remove('invisible');\n }\n\n // Small delay to ensure max-width is applied and content reflows\n requestAnimationFrame(() => {\n const popoverRect = popoverElement.getBoundingClientRect();\n\n // Restore invisible state if it was invisible\n if (wasInvisible) {\n popoverElement.style.visibility = '';\n popoverElement.classList.add('invisible');\n }\n\n // Determine optimal Y alignment\n let newYAlign = yAlign;\n const spaceBelow = viewportHeight - triggerRect.bottom - gap;\n const spaceAbove = triggerRect.top - gap;\n\n if (yAlign === PopoverYAlign.BELOW && spaceBelow < popoverRect.height) {\n // Not enough space below, try above\n if (spaceAbove >= popoverRect.height) {\n newYAlign = PopoverYAlign.ABOVE;\n }\n } else if (\n yAlign === PopoverYAlign.ABOVE &&\n spaceAbove < popoverRect.height\n ) {\n // Not enough space above, try below\n if (spaceBelow >= popoverRect.height) {\n newYAlign = PopoverYAlign.BELOW;\n }\n }\n\n // Determine optimal X alignment\n let newXAlign = xAlign;\n const spaceRight = viewportWidth - triggerRect.left - padding;\n const spaceLeft = triggerRect.right - padding;\n\n if (xAlign === PopoverXAlign.START && spaceRight < popoverRect.width) {\n // Not enough space on the right, try left\n if (spaceLeft >= popoverRect.width) {\n newXAlign = PopoverXAlign.END;\n }\n } else if (\n xAlign === PopoverXAlign.END &&\n spaceLeft < popoverRect.width\n ) {\n // Not enough space on the left, try right\n if (spaceRight >= popoverRect.width) {\n newXAlign = PopoverXAlign.START;\n }\n }\n\n setComputedYAlign(newYAlign);\n setComputedXAlign(newXAlign);\n });\n };\n\n // Adjust position with a slight delay to ensure DOM is ready\n const timeoutId = setTimeout(adjustPosition, 0);\n\n // Listen to mouse enter on the trigger to recalculate\n const triggerElement = document.getElementById(\n `unrollable-panel-button-${props.identifier}`\n );\n\n if (triggerElement) {\n triggerElement.addEventListener('mouseenter', adjustPosition);\n triggerElement.addEventListener('focusin', adjustPosition);\n }\n\n // Use ResizeObserver to detect popover content size changes\n const resizeObserver = new ResizeObserver(() => {\n adjustPosition();\n });\n\n if (popoverRef.current) {\n resizeObserver.observe(popoverRef.current);\n }\n\n window.addEventListener('resize', adjustPosition);\n window.addEventListener('scroll', adjustPosition, true);\n\n return () => {\n clearTimeout(timeoutId);\n if (triggerElement) {\n triggerElement.removeEventListener('mouseenter', adjustPosition);\n triggerElement.removeEventListener('focusin', adjustPosition);\n }\n resizeObserver.disconnect();\n window.removeEventListener('resize', adjustPosition);\n window.removeEventListener('scroll', adjustPosition, true);\n };\n }, [props.identifier, xAlign, yAlign]);\n\n // Use the static Detail component with computed alignment values\n return (\n <StaticDetail\n {...props}\n xAlign={computedXAlign}\n yAlign={computedYAlign}\n ref={popoverRef}\n style={{\n ...props.style,\n maxWidth: maxWidth ? `${maxWidth}px` : undefined,\n }}\n />\n );\n};\n\n// Create Popover with Detail attached\nexport const Popover: PopoverType = PopoverComponent as PopoverType;\n\nPopover.Detail = Detail;\n"],"mappings":";;;;;;;;;;;;;;;;AAuBA,MAAM,oBAAsC,UAAU;AACpD,QAAO,oBAAC,eAAD,EAAe,GAAI,OAAS;;;;;;;;;;;;;;;;;;AAmBrC,MAAM,UAA2B,EAC/B,SAAS,cAAc,OACvB,SAAS,cAAc,OACvB,GAAG,YACC;CACJ,MAAM,aAAa,OAAuB,KAAK;CAC/C,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,OAAO;CAC5D,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,OAAO;CAC5D,MAAM,CAAC,UAAU,eAAe,SAA6B,OAAU;AAEvE,iBAAgB;EACd,MAAM,uBAAuB;AAC3B,OAAI,CAAC,WAAW,QAAS;GAEzB,MAAM,iBAAiB,WAAW;GAClC,MAAM,iBAAiB,SAAS,eAC9B,2BAA2B,MAAM,aAClC;AAED,OAAI,CAAC,eAAgB;GAErB,MAAM,cAAc,eAAe,uBAAuB;GAC1D,MAAM,gBAAgB,OAAO;GAC7B,MAAM,iBAAiB,OAAO;GAC9B,MAAM,MAAM;GACZ,MAAM,UAAU;GAGhB,MAAM,mBAAmB,gBAAgB,YAAY,OAAO;GAC5D,MAAM,oBAAoB,YAAY,QAAQ;AAK9C,eAFyB,KAAK,IAAI,kBAAkB,kBAAkB,CAEzC;GAG7B,MAAM,eAAe,eAAe,UAAU,SAAS,YAAY;AACnE,OAAI,cAAc;AAChB,mBAAe,MAAM,aAAa;AAClC,mBAAe,UAAU,OAAO,YAAY;;AAI9C,+BAA4B;IAC1B,MAAM,cAAc,eAAe,uBAAuB;AAG1D,QAAI,cAAc;AAChB,oBAAe,MAAM,aAAa;AAClC,oBAAe,UAAU,IAAI,YAAY;;IAI3C,IAAI,YAAY;IAChB,MAAM,aAAa,iBAAiB,YAAY,SAAS;IACzD,MAAM,aAAa,YAAY,MAAM;AAErC,QAAI,WAAW,cAAc,SAAS,aAAa,YAAY,QAE7D;SAAI,cAAc,YAAY,OAC5B,aAAY,cAAc;eAG5B,WAAW,cAAc,SACzB,aAAa,YAAY,QAGzB;SAAI,cAAc,YAAY,OAC5B,aAAY,cAAc;;IAK9B,IAAI,YAAY;IAChB,MAAM,aAAa,gBAAgB,YAAY,OAAO;IACtD,MAAM,YAAY,YAAY,QAAQ;AAEtC,QAAI,WAAW,cAAc,SAAS,aAAa,YAAY,OAE7D;SAAI,aAAa,YAAY,MAC3B,aAAY,cAAc;eAG5B,WAAW,cAAc,OACzB,YAAY,YAAY,OAGxB;SAAI,cAAc,YAAY,MAC5B,aAAY,cAAc;;AAI9B,sBAAkB,UAAU;AAC5B,sBAAkB,UAAU;KAC5B;;EAIJ,MAAM,YAAY,WAAW,gBAAgB,EAAE;EAG/C,MAAM,iBAAiB,SAAS,eAC9B,2BAA2B,MAAM,aAClC;AAED,MAAI,gBAAgB;AAClB,kBAAe,iBAAiB,cAAc,eAAe;AAC7D,kBAAe,iBAAiB,WAAW,eAAe;;EAI5D,MAAM,iBAAiB,IAAI,qBAAqB;AAC9C,mBAAgB;IAChB;AAEF,MAAI,WAAW,QACb,gBAAe,QAAQ,WAAW,QAAQ;AAG5C,SAAO,iBAAiB,UAAU,eAAe;AACjD,SAAO,iBAAiB,UAAU,gBAAgB,KAAK;AAEvD,eAAa;AACX,gBAAa,UAAU;AACvB,OAAI,gBAAgB;AAClB,mBAAe,oBAAoB,cAAc,eAAe;AAChE,mBAAe,oBAAoB,WAAW,eAAe;;AAE/D,kBAAe,YAAY;AAC3B,UAAO,oBAAoB,UAAU,eAAe;AACpD,UAAO,oBAAoB,UAAU,gBAAgB,KAAK;;IAE3D;EAAC,MAAM;EAAY;EAAQ;EAAO,CAAC;AAGtC,QACE,oBAACA,UAAD;EACE,GAAI;EACJ,QAAQ;EACR,QAAQ;EACR,KAAK;EACL,OAAO;GACL,GAAG,MAAM;GACT,UAAU,WAAW,GAAG,SAAS,MAAM;GACxC;EACD;;AAKN,MAAa,UAAuB;AAEpC,QAAQ,SAAS"}
@@ -1 +1,4 @@
1
- import{Detail as e,PopoverStatic as t,PopoverXAlign as n,PopoverYAlign as r}from"./static.mjs";import{Popover as i}from"./dynamic.mjs";export{e as Detail,i as Popover,t as PopoverStatic,n as PopoverXAlign,r as PopoverYAlign};
1
+ import { Detail, PopoverStatic, PopoverXAlign, PopoverYAlign } from "./static.mjs";
2
+ import { Popover } from "./dynamic.mjs";
3
+
4
+ export { Detail, Popover, PopoverStatic, PopoverXAlign, PopoverYAlign };
@@ -1,2 +1,193 @@
1
- import{cn as e}from"../../utils/cn.mjs";import{Container as t}from"../Container/index.mjs";import{jsx as n}from"react/jsx-runtime";let r=function(e){return e.START=`start`,e.CENTER=`center`,e.END=`end`,e}({}),i=function(e){return e.BELOW=`bellow`,e.ABOVE=`above`,e}({});const a=({children:t,className:r,identifier:i,...a})=>n(`div`,{className:e(`group/popover relative flex cursor-pointer`,r),id:`unrollable-panel-button-${i}`,"aria-haspopup":!0,...a,children:t}),o=({children:a,isHidden:o=void 0,isOverable:s=!0,isFocusable:c=!1,xAlign:l=r.START,yAlign:u=i.BELOW,identifier:d,className:f,displayArrow:p=!0,...m})=>n(t,{transparency:`xs`,role:`group`,"aria-hidden":o,"aria-labelledby":`unrollable-panel-button-${d}`,id:`unrollable-panel-${d}`,className:e(`absolute z-50 min-w-full rounded-md ring-1 ring-neutral`,l===`start`&&`left-0`,l===`center`&&`left-1/2 -translate-x-1/2`,l===`end`&&`right-0`,u===`bellow`&&`top-[calc(100%+1rem)]`,u===`above`&&`bottom-[calc(100%+1rem)]`,p&&`before:absolute before:z-[999] before:h-0 before:w-0 before:content-[""]`,p&&l===`start`&&`before:left-2`,p&&l===`center`&&`before:left-1/2 before:-translate-x-1/2`,p&&l===`end`&&`before:right-2`,p&&u===`bellow`&&`before:-top-[10px] before:border-r-[10px] before:border-r-transparent before:border-b-[10px] before:border-b-neutral before:border-l-[10px] before:border-l-transparent`,p&&u===`above`&&`before:-bottom-[10px] before:border-t-[10px] before:border-t-neutral before:border-r-[10px] before:border-r-transparent before:border-l-[10px] before:border-l-transparent`,`overflow-x-visible opacity-0 transition-all duration-400 ease-in-out`,o===!1?`visible opacity-100 delay-800`:`invisible`,s&&`group-hover/popover:visible group-hover/popover:opacity-100 group-hover/popover:delay-800`,c&&`group-focus-within/popover:visible group-focus-within/popover:opacity-100 group-focus-within/popover:delay-800`,f),...m,children:a});a.Detail=o;export{o as Detail,a as PopoverStatic,r as PopoverXAlign,i as PopoverYAlign};
1
+ import { cn } from "../../utils/cn.mjs";
2
+ import { Container } from "../Container/index.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+
5
+ //#region src/components/Popover/static.tsx
6
+ /**
7
+ * Horizontal alignment options for popover positioning
8
+ */
9
+ let PopoverXAlign = /* @__PURE__ */ function(PopoverXAlign) {
10
+ /** Align popover to start (left) of trigger */
11
+ PopoverXAlign["START"] = "start";
12
+ /** Align popover to center of trigger */
13
+ PopoverXAlign["CENTER"] = "center";
14
+ /** Align popover to end (right) of trigger */
15
+ PopoverXAlign["END"] = "end";
16
+ return PopoverXAlign;
17
+ }({});
18
+ /**
19
+ * Vertical alignment options for popover positioning
20
+ */
21
+ let PopoverYAlign = /* @__PURE__ */ function(PopoverYAlign) {
22
+ /** Position popover below the trigger */
23
+ PopoverYAlign["BELOW"] = "bellow";
24
+ /** Position popover above the trigger */
25
+ PopoverYAlign["ABOVE"] = "above";
26
+ return PopoverYAlign;
27
+ }({});
28
+ /**
29
+ * Popover Component
30
+ *
31
+ * A versatile popover container that displays contextual content when triggered by hover
32
+ * or focus interactions. Built with accessibility in mind and supports multiple positioning
33
+ * options with smooth animations.
34
+ *
35
+ * Features:
36
+ * - Hover and focus-based triggering
37
+ * - Multiple positioning options (above/below, start/center/end)
38
+ * - Accessibility compliant with ARIA attributes
39
+ * - Smooth animations with configurable delays
40
+ * - Optional directional arrows
41
+ * - Automatic z-index management
42
+ * - Responsive design support
43
+ *
44
+ * Architecture:
45
+ * - Main Popover acts as trigger container
46
+ * - Popover.Detail renders the actual popover content
47
+ * - Uses CSS groups for coordinated hover/focus states
48
+ * - Unique identifier system prevents conflicts
49
+ *
50
+ * @example
51
+ * Basic hover popover:
52
+ * ```jsx
53
+ * <Popover identifier="help-tooltip">
54
+ * <button>Need Help?</button>
55
+ *
56
+ * <Popover.Detail identifier="help-tooltip">
57
+ * <div>This is helpful information!</div>
58
+ * </Popover.Detail>
59
+ * </Popover>
60
+ * ```
61
+ *
62
+ * @example
63
+ * Focus-triggered popover:
64
+ * ```jsx
65
+ * <Popover identifier="focus-menu">
66
+ * <input placeholder="Focus me" />
67
+ *
68
+ * <Popover.Detail
69
+ * identifier="focus-menu"
70
+ * isFocusable
71
+ * isOverable={false}
72
+ * >
73
+ * <div>Focus-only menu content</div>
74
+ * </Popover.Detail>
75
+ * </Popover>
76
+ * ```
77
+ *
78
+ * @example
79
+ * Positioned popover with custom alignment:
80
+ * ```jsx
81
+ * <Popover identifier="positioned">
82
+ * <span>Hover me</span>
83
+ *
84
+ * <Popover.Detail
85
+ * identifier="positioned"
86
+ * xAlign={PopoverXAlign.END}
87
+ * yAlign={PopoverYAlign.ABOVE}
88
+ * displayArrow={false}
89
+ * >
90
+ * <div>Above and right-aligned</div>
91
+ * </Popover.Detail>
92
+ * </Popover>
93
+ * ```
94
+ *
95
+ * Accessibility Features:
96
+ * - Proper ARIA labeling and relationships
97
+ * - Keyboard navigation support
98
+ * - Screen reader compatibility
99
+ * - Focus management
100
+ *
101
+ * Performance Considerations:
102
+ * - CSS-only animations for smooth transitions
103
+ * - Efficient group-based state management
104
+ * - Minimal DOM updates during interactions
105
+ *
106
+ * @param props - Popover component props
107
+ * @returns Trigger container with popover functionality
108
+ */
109
+ const PopoverStatic = ({ children, className, identifier, ...props }) => /* @__PURE__ */ jsx("div", {
110
+ className: cn(`group/popover relative flex cursor-pointer`, className),
111
+ id: `unrollable-panel-button-${identifier}`,
112
+ "aria-haspopup": true,
113
+ ...props,
114
+ children
115
+ });
116
+ /**
117
+ * Popover Detail Component
118
+ *
119
+ * The actual popover content container with advanced positioning, animation, and
120
+ * accessibility features. Automatically manages visibility based on trigger interactions.
121
+ *
122
+ * Features:
123
+ * - Precise positioning with alignment options
124
+ * - Smooth fade and slide animations
125
+ * - Configurable directional arrows
126
+ * - Hover and focus interaction support
127
+ * - Accessibility-compliant ARIA attributes
128
+ * - High z-index for overlay behavior
129
+ * - Automatic visibility management
130
+ *
131
+ * Positioning System:
132
+ * - X-axis: START (left-aligned), CENTER (centered), or END (right-aligned)
133
+ * - Y-axis: BELOW (underneath) or ABOVE (on top)
134
+ * - Automatic spacing with 1rem gap from trigger
135
+ * - Responsive minimum width matching trigger
136
+ *
137
+ * Arrow Indicators:
138
+ * - CSS-generated triangular arrows
139
+ * - Positioned based on alignment settings
140
+ * - Points toward trigger for visual connection
141
+ * - Can be disabled for clean, minimal appearance
142
+ *
143
+ * Animation Behavior:
144
+ * - Starts invisible with opacity: 0
145
+ * - Smooth 400ms transitions with easing
146
+ * - 800ms delay for hover states (prevents flicker)
147
+ * - Immediate hiding when trigger loses focus/hover
148
+ *
149
+ * @example
150
+ * Rich content popover:
151
+ * ```jsx
152
+ * <Popover.Detail identifier="rich-content">
153
+ * <div className="p-4">
154
+ * <h3>Popover Title</h3>
155
+ * <p>Detailed information with multiple paragraphs.</p>
156
+ * <button>Action Button</button>
157
+ * </div>
158
+ * </Popover.Detail>
159
+ * ```
160
+ *
161
+ * @example
162
+ * Menu-style popover:
163
+ * ```jsx
164
+ * <Popover.Detail
165
+ * identifier="context-menu"
166
+ * displayArrow={false}
167
+ * xAlign={PopoverXAlign.END}
168
+ * >
169
+ * <ul className="py-2">
170
+ * <li><button className="w-full px-4 py-2">Edit</button></li>
171
+ * <li><button className="w-full px-4 py-2">Delete</button></li>
172
+ * </ul>
173
+ * </Popover.Detail>
174
+ * ```
175
+ *
176
+ * @param props - Popover Detail component props
177
+ * @returns Positioned popover content with animations and accessibility
178
+ */
179
+ const Detail = ({ children, isHidden = void 0, isOverable = true, isFocusable = false, xAlign = PopoverXAlign.START, yAlign = PopoverYAlign.BELOW, identifier, className, displayArrow = true, ...props }) => /* @__PURE__ */ jsx(Container, {
180
+ transparency: "xs",
181
+ role: "group",
182
+ "aria-hidden": isHidden,
183
+ "aria-labelledby": `unrollable-panel-button-${identifier}`,
184
+ id: `unrollable-panel-${identifier}`,
185
+ className: cn("absolute z-50 min-w-full rounded-md ring-1 ring-neutral", xAlign === "start" && "left-0", xAlign === "center" && "left-1/2 -translate-x-1/2", xAlign === "end" && "right-0", yAlign === "bellow" && "top-[calc(100%+1rem)]", yAlign === "above" && "bottom-[calc(100%+1rem)]", displayArrow && "before:absolute before:z-[999] before:h-0 before:w-0 before:content-[\"\"]", displayArrow && xAlign === "start" && "before:left-2", displayArrow && xAlign === "center" && "before:left-1/2 before:-translate-x-1/2", displayArrow && xAlign === "end" && "before:right-2", displayArrow && yAlign === "bellow" && "before:-top-[10px] before:border-r-[10px] before:border-r-transparent before:border-b-[10px] before:border-b-neutral before:border-l-[10px] before:border-l-transparent", displayArrow && yAlign === "above" && "before:-bottom-[10px] before:border-t-[10px] before:border-t-neutral before:border-r-[10px] before:border-r-transparent before:border-l-[10px] before:border-l-transparent", "overflow-x-visible opacity-0 transition-all duration-400 ease-in-out", isHidden !== false ? "invisible" : "visible opacity-100 delay-800", isOverable && `group-hover/popover:visible group-hover/popover:opacity-100 group-hover/popover:delay-800`, isFocusable && `group-focus-within/popover:visible group-focus-within/popover:opacity-100 group-focus-within/popover:delay-800`, className),
186
+ ...props,
187
+ children
188
+ });
189
+ PopoverStatic.Detail = Detail;
190
+
191
+ //#endregion
192
+ export { Detail, PopoverStatic, PopoverXAlign, PopoverYAlign };
2
193
  //# sourceMappingURL=static.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"static.mjs","names":[],"sources":["../../../../src/components/Popover/static.tsx"],"sourcesContent":["import { cn } from '@utils/cn';\nimport type { DetailedHTMLProps, FC, HTMLAttributes } from 'react';\nimport { Container } from '../Container';\n\n/**\n * Props for the main Popover component\n * Extends HTMLDivElement attributes for full DOM compatibility\n */\nexport type PopoverProps = DetailedHTMLProps<\n HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n> & {\n /** Unique identifier linking the trigger to its popover content for accessibility */\n identifier: string;\n};\n\n/**\n * Composite type for the Popover component with Detail subcomponent\n * Allows for Popover.Detail usage pattern\n */\nexport type PopoverType = FC<PopoverProps> & {\n Detail: FC<DetailProps>;\n};\n\n/**\n * Horizontal alignment options for popover positioning\n */\nexport enum PopoverXAlign {\n /** Align popover to start (left) of trigger */\n START = 'start',\n /** Align popover to center of trigger */\n CENTER = 'center',\n /** Align popover to end (right) of trigger */\n END = 'end',\n}\n\n/**\n * Vertical alignment options for popover positioning\n */\nexport enum PopoverYAlign {\n /** Position popover below the trigger */\n BELOW = 'bellow',\n /** Position popover above the trigger */\n ABOVE = 'above',\n}\n\n/**\n * Popover Component\n *\n * A versatile popover container that displays contextual content when triggered by hover\n * or focus interactions. Built with accessibility in mind and supports multiple positioning\n * options with smooth animations.\n *\n * Features:\n * - Hover and focus-based triggering\n * - Multiple positioning options (above/below, start/center/end)\n * - Accessibility compliant with ARIA attributes\n * - Smooth animations with configurable delays\n * - Optional directional arrows\n * - Automatic z-index management\n * - Responsive design support\n *\n * Architecture:\n * - Main Popover acts as trigger container\n * - Popover.Detail renders the actual popover content\n * - Uses CSS groups for coordinated hover/focus states\n * - Unique identifier system prevents conflicts\n *\n * @example\n * Basic hover popover:\n * ```jsx\n * <Popover identifier=\"help-tooltip\">\n * <button>Need Help?</button>\n *\n * <Popover.Detail identifier=\"help-tooltip\">\n * <div>This is helpful information!</div>\n * </Popover.Detail>\n * </Popover>\n * ```\n *\n * @example\n * Focus-triggered popover:\n * ```jsx\n * <Popover identifier=\"focus-menu\">\n * <input placeholder=\"Focus me\" />\n *\n * <Popover.Detail\n * identifier=\"focus-menu\"\n * isFocusable\n * isOverable={false}\n * >\n * <div>Focus-only menu content</div>\n * </Popover.Detail>\n * </Popover>\n * ```\n *\n * @example\n * Positioned popover with custom alignment:\n * ```jsx\n * <Popover identifier=\"positioned\">\n * <span>Hover me</span>\n *\n * <Popover.Detail\n * identifier=\"positioned\"\n * xAlign={PopoverXAlign.END}\n * yAlign={PopoverYAlign.ABOVE}\n * displayArrow={false}\n * >\n * <div>Above and right-aligned</div>\n * </Popover.Detail>\n * </Popover>\n * ```\n *\n * Accessibility Features:\n * - Proper ARIA labeling and relationships\n * - Keyboard navigation support\n * - Screen reader compatibility\n * - Focus management\n *\n * Performance Considerations:\n * - CSS-only animations for smooth transitions\n * - Efficient group-based state management\n * - Minimal DOM updates during interactions\n *\n * @param props - Popover component props\n * @returns Trigger container with popover functionality\n */\nexport const PopoverStatic: PopoverType = ({\n children,\n className,\n identifier,\n ...props\n}) => (\n <div\n className={cn(`group/popover relative flex cursor-pointer`, className)}\n id={`unrollable-panel-button-${identifier}`}\n aria-haspopup\n {...props}\n >\n {children}\n </div>\n);\n\n/**\n * Props for the Popover.Detail component\n * Extends HTMLDivElement attributes for styling flexibility\n */\nexport type DetailProps = HTMLAttributes<HTMLDivElement> & {\n /** Whether the popover responds to focus events on the trigger */\n isFocusable?: boolean;\n /** Controls visibility state - undefined allows automatic hover/focus control */\n isHidden?: boolean;\n /** Whether the popover responds to hover events on the trigger */\n isOverable?: boolean;\n /** Unique identifier matching the trigger's identifier for accessibility */\n identifier: string;\n /** Horizontal positioning relative to trigger */\n xAlign?: PopoverXAlign | `${PopoverXAlign}`;\n /** Vertical positioning relative to trigger */\n yAlign?: PopoverYAlign | `${PopoverYAlign}`;\n /** Whether to display the directional arrow indicator */\n displayArrow?: boolean;\n};\n\n/**\n * Popover Detail Component\n *\n * The actual popover content container with advanced positioning, animation, and\n * accessibility features. Automatically manages visibility based on trigger interactions.\n *\n * Features:\n * - Precise positioning with alignment options\n * - Smooth fade and slide animations\n * - Configurable directional arrows\n * - Hover and focus interaction support\n * - Accessibility-compliant ARIA attributes\n * - High z-index for overlay behavior\n * - Automatic visibility management\n *\n * Positioning System:\n * - X-axis: START (left-aligned), CENTER (centered), or END (right-aligned)\n * - Y-axis: BELOW (underneath) or ABOVE (on top)\n * - Automatic spacing with 1rem gap from trigger\n * - Responsive minimum width matching trigger\n *\n * Arrow Indicators:\n * - CSS-generated triangular arrows\n * - Positioned based on alignment settings\n * - Points toward trigger for visual connection\n * - Can be disabled for clean, minimal appearance\n *\n * Animation Behavior:\n * - Starts invisible with opacity: 0\n * - Smooth 400ms transitions with easing\n * - 800ms delay for hover states (prevents flicker)\n * - Immediate hiding when trigger loses focus/hover\n *\n * @example\n * Rich content popover:\n * ```jsx\n * <Popover.Detail identifier=\"rich-content\">\n * <div className=\"p-4\">\n * <h3>Popover Title</h3>\n * <p>Detailed information with multiple paragraphs.</p>\n * <button>Action Button</button>\n * </div>\n * </Popover.Detail>\n * ```\n *\n * @example\n * Menu-style popover:\n * ```jsx\n * <Popover.Detail\n * identifier=\"context-menu\"\n * displayArrow={false}\n * xAlign={PopoverXAlign.END}\n * >\n * <ul className=\"py-2\">\n * <li><button className=\"w-full px-4 py-2\">Edit</button></li>\n * <li><button className=\"w-full px-4 py-2\">Delete</button></li>\n * </ul>\n * </Popover.Detail>\n * ```\n *\n * @param props - Popover Detail component props\n * @returns Positioned popover content with animations and accessibility\n */\nconst Detail: FC<DetailProps> = ({\n children,\n isHidden = undefined,\n isOverable = true,\n isFocusable = false,\n xAlign = PopoverXAlign.START,\n yAlign = PopoverYAlign.BELOW,\n identifier,\n className,\n displayArrow = true,\n ...props\n}) => (\n <Container\n transparency=\"xs\"\n role=\"group\"\n aria-hidden={isHidden}\n aria-labelledby={`unrollable-panel-button-${identifier}`}\n id={`unrollable-panel-${identifier}`}\n className={cn(\n 'absolute z-50 min-w-full rounded-md ring-1 ring-neutral',\n\n /* Positioning */\n xAlign === 'start' && 'left-0',\n xAlign === 'center' && 'left-1/2 -translate-x-1/2',\n xAlign === 'end' && 'right-0',\n yAlign === 'bellow' && 'top-[calc(100%+1rem)]',\n yAlign === 'above' && 'bottom-[calc(100%+1rem)]',\n\n /* Arrow indicator */\n displayArrow &&\n 'before:absolute before:z-[999] before:h-0 before:w-0 before:content-[\"\"]',\n\n /* Horizontal positioning */\n displayArrow && xAlign === 'start' && 'before:left-2',\n displayArrow &&\n xAlign === 'center' &&\n 'before:left-1/2 before:-translate-x-1/2',\n displayArrow && xAlign === 'end' && 'before:right-2',\n\n /* Arrow pointing up (when popover is below trigger) */\n displayArrow &&\n yAlign === 'bellow' &&\n 'before:-top-[10px] before:border-r-[10px] before:border-r-transparent before:border-b-[10px] before:border-b-neutral before:border-l-[10px] before:border-l-transparent',\n\n /* Arrow pointing down (when popover is above trigger) */\n displayArrow &&\n yAlign === 'above' &&\n 'before:-bottom-[10px] before:border-t-[10px] before:border-t-neutral before:border-r-[10px] before:border-r-transparent before:border-l-[10px] before:border-l-transparent',\n\n /* Visibility management */\n 'overflow-x-visible opacity-0 transition-all duration-400 ease-in-out',\n isHidden !== false ? 'invisible' : 'visible opacity-100 delay-800',\n isOverable &&\n `group-hover/popover:visible group-hover/popover:opacity-100 group-hover/popover:delay-800`,\n isFocusable &&\n `group-focus-within/popover:visible group-focus-within/popover:opacity-100 group-focus-within/popover:delay-800`,\n className\n )}\n {...props}\n >\n {children}\n </Container>\n);\n\nPopoverStatic.Detail = Detail;\n\n// Export Detail for use in dynamic version\nexport { Detail };\n"],"mappings":"mIA2BA,IAAY,EAAL,SAAA,EAAA,OAEL,GAAA,MAAA,QAEA,EAAA,OAAA,SAEA,EAAA,IAAA,YACD,CAKW,EAAL,SAAA,EAAA,OAEL,GAAA,MAAA,SAEA,EAAA,MAAA,cACD,CAmFD,MAAa,GAA8B,CACzC,WACA,YACA,aACA,GAAG,KAEH,EAAC,MAAD,CACE,UAAW,EAAG,6CAA8C,EAAU,CACtE,GAAI,2BAA2B,IAC/B,gBAAA,GACA,GAAI,EAEH,WACG,CAAA,CAuFF,GAA2B,CAC/B,WACA,WAAW,IAAA,GACX,aAAa,GACb,cAAc,GACd,SAAS,EAAc,MACvB,SAAS,EAAc,MACvB,aACA,YACA,eAAe,GACf,GAAG,KAEH,EAAC,EAAD,CACE,aAAa,KACb,KAAK,QACL,cAAa,EACb,kBAAiB,2BAA2B,IAC5C,GAAI,oBAAoB,IACxB,UAAW,EACT,0DAGA,IAAW,SAAW,SACtB,IAAW,UAAY,4BACvB,IAAW,OAAS,UACpB,IAAW,UAAY,wBACvB,IAAW,SAAW,2BAGtB,GACE,2EAGF,GAAgB,IAAW,SAAW,gBACtC,GACE,IAAW,UACX,0CACF,GAAgB,IAAW,OAAS,iBAGpC,GACE,IAAW,UACX,0KAGF,GACE,IAAW,SACX,6KAGF,uEACA,IAAa,GAAsB,gCAAd,YACrB,GACE,4FACF,GACE,iHACF,EACD,CACD,GAAI,EAEH,WACS,CAAA,CAGd,EAAc,OAAS"}
1
+ {"version":3,"file":"static.mjs","names":[],"sources":["../../../../src/components/Popover/static.tsx"],"sourcesContent":["import { cn } from '@utils/cn';\nimport type { DetailedHTMLProps, FC, HTMLAttributes } from 'react';\nimport { Container } from '../Container';\n\n/**\n * Props for the main Popover component\n * Extends HTMLDivElement attributes for full DOM compatibility\n */\nexport type PopoverProps = DetailedHTMLProps<\n HTMLAttributes<HTMLDivElement>,\n HTMLDivElement\n> & {\n /** Unique identifier linking the trigger to its popover content for accessibility */\n identifier: string;\n};\n\n/**\n * Composite type for the Popover component with Detail subcomponent\n * Allows for Popover.Detail usage pattern\n */\nexport type PopoverType = FC<PopoverProps> & {\n Detail: FC<DetailProps>;\n};\n\n/**\n * Horizontal alignment options for popover positioning\n */\nexport enum PopoverXAlign {\n /** Align popover to start (left) of trigger */\n START = 'start',\n /** Align popover to center of trigger */\n CENTER = 'center',\n /** Align popover to end (right) of trigger */\n END = 'end',\n}\n\n/**\n * Vertical alignment options for popover positioning\n */\nexport enum PopoverYAlign {\n /** Position popover below the trigger */\n BELOW = 'bellow',\n /** Position popover above the trigger */\n ABOVE = 'above',\n}\n\n/**\n * Popover Component\n *\n * A versatile popover container that displays contextual content when triggered by hover\n * or focus interactions. Built with accessibility in mind and supports multiple positioning\n * options with smooth animations.\n *\n * Features:\n * - Hover and focus-based triggering\n * - Multiple positioning options (above/below, start/center/end)\n * - Accessibility compliant with ARIA attributes\n * - Smooth animations with configurable delays\n * - Optional directional arrows\n * - Automatic z-index management\n * - Responsive design support\n *\n * Architecture:\n * - Main Popover acts as trigger container\n * - Popover.Detail renders the actual popover content\n * - Uses CSS groups for coordinated hover/focus states\n * - Unique identifier system prevents conflicts\n *\n * @example\n * Basic hover popover:\n * ```jsx\n * <Popover identifier=\"help-tooltip\">\n * <button>Need Help?</button>\n *\n * <Popover.Detail identifier=\"help-tooltip\">\n * <div>This is helpful information!</div>\n * </Popover.Detail>\n * </Popover>\n * ```\n *\n * @example\n * Focus-triggered popover:\n * ```jsx\n * <Popover identifier=\"focus-menu\">\n * <input placeholder=\"Focus me\" />\n *\n * <Popover.Detail\n * identifier=\"focus-menu\"\n * isFocusable\n * isOverable={false}\n * >\n * <div>Focus-only menu content</div>\n * </Popover.Detail>\n * </Popover>\n * ```\n *\n * @example\n * Positioned popover with custom alignment:\n * ```jsx\n * <Popover identifier=\"positioned\">\n * <span>Hover me</span>\n *\n * <Popover.Detail\n * identifier=\"positioned\"\n * xAlign={PopoverXAlign.END}\n * yAlign={PopoverYAlign.ABOVE}\n * displayArrow={false}\n * >\n * <div>Above and right-aligned</div>\n * </Popover.Detail>\n * </Popover>\n * ```\n *\n * Accessibility Features:\n * - Proper ARIA labeling and relationships\n * - Keyboard navigation support\n * - Screen reader compatibility\n * - Focus management\n *\n * Performance Considerations:\n * - CSS-only animations for smooth transitions\n * - Efficient group-based state management\n * - Minimal DOM updates during interactions\n *\n * @param props - Popover component props\n * @returns Trigger container with popover functionality\n */\nexport const PopoverStatic: PopoverType = ({\n children,\n className,\n identifier,\n ...props\n}) => (\n <div\n className={cn(`group/popover relative flex cursor-pointer`, className)}\n id={`unrollable-panel-button-${identifier}`}\n aria-haspopup\n {...props}\n >\n {children}\n </div>\n);\n\n/**\n * Props for the Popover.Detail component\n * Extends HTMLDivElement attributes for styling flexibility\n */\nexport type DetailProps = HTMLAttributes<HTMLDivElement> & {\n /** Whether the popover responds to focus events on the trigger */\n isFocusable?: boolean;\n /** Controls visibility state - undefined allows automatic hover/focus control */\n isHidden?: boolean;\n /** Whether the popover responds to hover events on the trigger */\n isOverable?: boolean;\n /** Unique identifier matching the trigger's identifier for accessibility */\n identifier: string;\n /** Horizontal positioning relative to trigger */\n xAlign?: PopoverXAlign | `${PopoverXAlign}`;\n /** Vertical positioning relative to trigger */\n yAlign?: PopoverYAlign | `${PopoverYAlign}`;\n /** Whether to display the directional arrow indicator */\n displayArrow?: boolean;\n};\n\n/**\n * Popover Detail Component\n *\n * The actual popover content container with advanced positioning, animation, and\n * accessibility features. Automatically manages visibility based on trigger interactions.\n *\n * Features:\n * - Precise positioning with alignment options\n * - Smooth fade and slide animations\n * - Configurable directional arrows\n * - Hover and focus interaction support\n * - Accessibility-compliant ARIA attributes\n * - High z-index for overlay behavior\n * - Automatic visibility management\n *\n * Positioning System:\n * - X-axis: START (left-aligned), CENTER (centered), or END (right-aligned)\n * - Y-axis: BELOW (underneath) or ABOVE (on top)\n * - Automatic spacing with 1rem gap from trigger\n * - Responsive minimum width matching trigger\n *\n * Arrow Indicators:\n * - CSS-generated triangular arrows\n * - Positioned based on alignment settings\n * - Points toward trigger for visual connection\n * - Can be disabled for clean, minimal appearance\n *\n * Animation Behavior:\n * - Starts invisible with opacity: 0\n * - Smooth 400ms transitions with easing\n * - 800ms delay for hover states (prevents flicker)\n * - Immediate hiding when trigger loses focus/hover\n *\n * @example\n * Rich content popover:\n * ```jsx\n * <Popover.Detail identifier=\"rich-content\">\n * <div className=\"p-4\">\n * <h3>Popover Title</h3>\n * <p>Detailed information with multiple paragraphs.</p>\n * <button>Action Button</button>\n * </div>\n * </Popover.Detail>\n * ```\n *\n * @example\n * Menu-style popover:\n * ```jsx\n * <Popover.Detail\n * identifier=\"context-menu\"\n * displayArrow={false}\n * xAlign={PopoverXAlign.END}\n * >\n * <ul className=\"py-2\">\n * <li><button className=\"w-full px-4 py-2\">Edit</button></li>\n * <li><button className=\"w-full px-4 py-2\">Delete</button></li>\n * </ul>\n * </Popover.Detail>\n * ```\n *\n * @param props - Popover Detail component props\n * @returns Positioned popover content with animations and accessibility\n */\nconst Detail: FC<DetailProps> = ({\n children,\n isHidden = undefined,\n isOverable = true,\n isFocusable = false,\n xAlign = PopoverXAlign.START,\n yAlign = PopoverYAlign.BELOW,\n identifier,\n className,\n displayArrow = true,\n ...props\n}) => (\n <Container\n transparency=\"xs\"\n role=\"group\"\n aria-hidden={isHidden}\n aria-labelledby={`unrollable-panel-button-${identifier}`}\n id={`unrollable-panel-${identifier}`}\n className={cn(\n 'absolute z-50 min-w-full rounded-md ring-1 ring-neutral',\n\n /* Positioning */\n xAlign === 'start' && 'left-0',\n xAlign === 'center' && 'left-1/2 -translate-x-1/2',\n xAlign === 'end' && 'right-0',\n yAlign === 'bellow' && 'top-[calc(100%+1rem)]',\n yAlign === 'above' && 'bottom-[calc(100%+1rem)]',\n\n /* Arrow indicator */\n displayArrow &&\n 'before:absolute before:z-[999] before:h-0 before:w-0 before:content-[\"\"]',\n\n /* Horizontal positioning */\n displayArrow && xAlign === 'start' && 'before:left-2',\n displayArrow &&\n xAlign === 'center' &&\n 'before:left-1/2 before:-translate-x-1/2',\n displayArrow && xAlign === 'end' && 'before:right-2',\n\n /* Arrow pointing up (when popover is below trigger) */\n displayArrow &&\n yAlign === 'bellow' &&\n 'before:-top-[10px] before:border-r-[10px] before:border-r-transparent before:border-b-[10px] before:border-b-neutral before:border-l-[10px] before:border-l-transparent',\n\n /* Arrow pointing down (when popover is above trigger) */\n displayArrow &&\n yAlign === 'above' &&\n 'before:-bottom-[10px] before:border-t-[10px] before:border-t-neutral before:border-r-[10px] before:border-r-transparent before:border-l-[10px] before:border-l-transparent',\n\n /* Visibility management */\n 'overflow-x-visible opacity-0 transition-all duration-400 ease-in-out',\n isHidden !== false ? 'invisible' : 'visible opacity-100 delay-800',\n isOverable &&\n `group-hover/popover:visible group-hover/popover:opacity-100 group-hover/popover:delay-800`,\n isFocusable &&\n `group-focus-within/popover:visible group-focus-within/popover:opacity-100 group-focus-within/popover:delay-800`,\n className\n )}\n {...props}\n >\n {children}\n </Container>\n);\n\nPopoverStatic.Detail = Detail;\n\n// Export Detail for use in dynamic version\nexport { Detail };\n"],"mappings":";;;;;;;;AA2BA,IAAY,gBAAL;;AAEL;;AAEA;;AAEA;;KACD;;;;AAKD,IAAY,gBAAL;;AAEL;;AAEA;;KACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFD,MAAa,iBAA8B,EACzC,UACA,WACA,YACA,GAAG,YAEH,oBAAC,OAAD;CACE,WAAW,GAAG,8CAA8C,UAAU;CACtE,IAAI,2BAA2B;CAC/B;CACA,GAAI;CAEH;CACG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFR,MAAM,UAA2B,EAC/B,UACA,WAAW,QACX,aAAa,MACb,cAAc,OACd,SAAS,cAAc,OACvB,SAAS,cAAc,OACvB,YACA,WACA,eAAe,MACf,GAAG,YAEH,oBAAC,WAAD;CACE,cAAa;CACb,MAAK;CACL,eAAa;CACb,mBAAiB,2BAA2B;CAC5C,IAAI,oBAAoB;CACxB,WAAW,GACT,2DAGA,WAAW,WAAW,UACtB,WAAW,YAAY,6BACvB,WAAW,SAAS,WACpB,WAAW,YAAY,yBACvB,WAAW,WAAW,4BAGtB,gBACE,8EAGF,gBAAgB,WAAW,WAAW,iBACtC,gBACE,WAAW,YACX,2CACF,gBAAgB,WAAW,SAAS,kBAGpC,gBACE,WAAW,YACX,2KAGF,gBACE,WAAW,WACX,8KAGF,wEACA,aAAa,QAAQ,cAAc,iCACnC,cACE,6FACF,eACE,kHACF,UACD;CACD,GAAI;CAEH;CACS;AAGd,cAAc,SAAS"}
@@ -1,2 +1,159 @@
1
- "use client";import{cn as e}from"../../utils/cn.mjs";import{useCallback as t,useEffect as n,useRef as r,useState as i}from"react";import{jsx as a}from"react/jsx-runtime";const o=({children:o,onPress:s,onClickOutside:c,pressDuration:l=400,isSelecting:u,...d})=>{let f=r(null),[p,m]=i(u),h=r(null),g=()=>{m(!0),s()},_=()=>{h.current=setTimeout(()=>{g()},l)},v=()=>{h.current&&=(clearTimeout(h.current),null)},y=()=>{v(),_()},b=()=>{v()},x=t(e=>{f.current&&!f.current.contains(e.target)&&(m(!1),c?.())},[c]);n(()=>(document.addEventListener(`mousedown`,x),()=>{document.removeEventListener(`mousedown`,x)}),[x]);let S=e=>{p&&(e.preventDefault(),e.stopPropagation())},C=()=>{m(!1)},w=e=>{switch(e.key){case`Enter`:case` `:e.preventDefault(),g();break;case`Escape`:e.preventDefault(),m(!1),c?.();break;default:break}},T=u??p;return a(`span`,{className:e(`inline cursor-pointer select-none rounded-md outline outline-2 outline-transparent outline-offset-4 transition-all delay-100 duration-200`,T?`outline-inherit`:`hover:outline-inherit`),role:`button`,tabIndex:0,"aria-pressed":T?`true`:`false`,"aria-label":`${T?`Selected`:`Selectable`} content`,onKeyDown:w,onClick:S,onMouseDown:y,onMouseUp:b,onMouseLeave:b,onTouchStart:y,onTouchEnd:b,onTouchCancel:b,onBlur:C,ref:f,...d,children:o})};export{o as PressableSpan};
1
+ 'use client';
2
+
3
+ import { cn } from "../../utils/cn.mjs";
4
+ import { useCallback, useEffect, useRef, useState } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+
7
+ //#region src/components/PressableSpan/PressableSpan.tsx
8
+ const DEFAULT_PRESS_DETECT_DURATION = 400;
9
+ /**
10
+ * PressableSpan - An interactive span element that responds to long press gestures
11
+ *
12
+ * A versatile component that detects long press interactions and provides visual feedback.
13
+ * Commonly used for text editing interfaces, selection systems, and interactive content
14
+ * that requires differentiation between quick clicks and intentional long presses.
15
+ *
16
+ * ## Key Features
17
+ * - **Long Press Detection**: Configurable press duration for different interaction patterns
18
+ * - **Visual Feedback**: Smooth outline transitions to indicate interactive and selected states
19
+ * - **Click Outside Detection**: Automatically deselects when clicking outside the component
20
+ * - **Touch Support**: Works seamlessly on both desktop and mobile devices
21
+ * - **Accessible**: Keyboard navigation support and proper ARIA attributes
22
+ *
23
+ * ## Use Cases
24
+ * - Text editing interfaces where long press activates edit mode
25
+ * - Content selection systems with visual feedback
26
+ * - Interactive cards or elements that need press-and-hold activation
27
+ * - Mobile-friendly interfaces requiring long press gestures
28
+ *
29
+ * ## Accessibility
30
+ * - Uses semantic `role="button"` for proper screen reader announcement
31
+ * - Keyboard navigable with `tabIndex={0}`
32
+ * - Focus management with proper blur handling
33
+ * - Visual outline indicators for focus and selection states
34
+ *
35
+ * @example
36
+ * Basic usage with long press detection:
37
+ * ```tsx
38
+ * <PressableSpan onPress={() => setIsEditing(true)}>
39
+ * Press and hold to edit this text
40
+ * </PressableSpan>
41
+ * ```
42
+ *
43
+ * @example
44
+ * With custom press duration and click outside handling:
45
+ * ```tsx
46
+ * <PressableSpan
47
+ * pressDuration={600}
48
+ * onPress={() => setIsEditing(true)}
49
+ * onClickOutside={() => setIsEditing(false)}
50
+ * isSelecting={isEditing}
51
+ * >
52
+ * Custom behavior configuration
53
+ * </PressableSpan>
54
+ * ```
55
+ *
56
+ * @example
57
+ * In a content editing context:
58
+ * ```tsx
59
+ * <PressableSpan
60
+ * onPress={() => startEditingContent(contentId)}
61
+ * onClickOutside={() => saveAndExitEditing()}
62
+ * className="prose-text"
63
+ * >
64
+ * {editableContent}
65
+ * </PressableSpan>
66
+ * ```
67
+ */
68
+ const PressableSpan = ({ children, onPress: onSelect, onClickOutside: onUnselect, pressDuration = DEFAULT_PRESS_DETECT_DURATION, isSelecting: isSelectingProp, ...props }) => {
69
+ const elementRef = useRef(null);
70
+ const [isSelectingState, setIsSelectingState] = useState(isSelectingProp);
71
+ const pressTimerRef = useRef(null);
72
+ const handleOnLongPress = () => {
73
+ setIsSelectingState(true);
74
+ onSelect();
75
+ };
76
+ const startPressTimer = () => {
77
+ pressTimerRef.current = setTimeout(() => {
78
+ handleOnLongPress();
79
+ }, pressDuration);
80
+ };
81
+ const clearPressTimer = () => {
82
+ if (pressTimerRef.current) {
83
+ clearTimeout(pressTimerRef.current);
84
+ pressTimerRef.current = null;
85
+ }
86
+ };
87
+ const handleMouseDown = () => {
88
+ clearPressTimer();
89
+ startPressTimer();
90
+ };
91
+ const handleMouseUp = () => {
92
+ clearPressTimer();
93
+ };
94
+ const handleClickOutside = useCallback((event) => {
95
+ if (elementRef.current && !elementRef.current.contains(event.target)) {
96
+ setIsSelectingState(false);
97
+ onUnselect?.();
98
+ }
99
+ }, [onUnselect]);
100
+ useEffect(() => {
101
+ document.addEventListener("mousedown", handleClickOutside);
102
+ return () => {
103
+ document.removeEventListener("mousedown", handleClickOutside);
104
+ };
105
+ }, [handleClickOutside]);
106
+ const handleOnClick = (e) => {
107
+ if (isSelectingState) {
108
+ e.preventDefault();
109
+ e.stopPropagation();
110
+ }
111
+ };
112
+ const handleOnBlur = () => {
113
+ setIsSelectingState(false);
114
+ };
115
+ /**
116
+ * Handle keyboard interactions
117
+ * - Enter/Space: Trigger long press action immediately
118
+ * - Escape: Cancel selection/editing state
119
+ */
120
+ const handleKeyDown = (e) => {
121
+ switch (e.key) {
122
+ case "Enter":
123
+ case " ":
124
+ e.preventDefault();
125
+ handleOnLongPress();
126
+ break;
127
+ case "Escape":
128
+ e.preventDefault();
129
+ setIsSelectingState(false);
130
+ onUnselect?.();
131
+ break;
132
+ default: break;
133
+ }
134
+ };
135
+ const isCurrentlySelecting = isSelectingProp ?? isSelectingState;
136
+ return /* @__PURE__ */ jsx("span", {
137
+ className: cn("inline cursor-pointer select-none rounded-md outline outline-2 outline-transparent outline-offset-4 transition-all delay-100 duration-200", isCurrentlySelecting ? "outline-inherit" : "hover:outline-inherit"),
138
+ role: "button",
139
+ tabIndex: 0,
140
+ "aria-pressed": isCurrentlySelecting ? "true" : "false",
141
+ "aria-label": `${isCurrentlySelecting ? "Selected" : "Selectable"} content`,
142
+ onKeyDown: handleKeyDown,
143
+ onClick: handleOnClick,
144
+ onMouseDown: handleMouseDown,
145
+ onMouseUp: handleMouseUp,
146
+ onMouseLeave: handleMouseUp,
147
+ onTouchStart: handleMouseDown,
148
+ onTouchEnd: handleMouseUp,
149
+ onTouchCancel: handleMouseUp,
150
+ onBlur: handleOnBlur,
151
+ ref: elementRef,
152
+ ...props,
153
+ children
154
+ });
155
+ };
156
+
157
+ //#endregion
158
+ export { PressableSpan };
2
159
  //# sourceMappingURL=PressableSpan.mjs.map