@intlayer/design-system 4.0.2 → 4.0.4

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 (240) hide show
  1. package/README.md +1 -1
  2. package/dist/.vite/manifest.json +58 -197
  3. package/dist/components/Accordion/Accordion.cjs +1 -1
  4. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  5. package/dist/components/Accordion/Accordion.mjs +1 -1
  6. package/dist/components/Accordion/Accordion.mjs.map +1 -1
  7. package/dist/components/Auth/AuthModal/index.cjs +1 -1
  8. package/dist/components/Auth/AuthModal/index.mjs +1 -1
  9. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs +2 -1
  10. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.cjs.map +1 -1
  11. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs +2 -1
  12. package/dist/components/Auth/ExternalsLoginButtons/ExternalsLoginButtons.mjs.map +1 -1
  13. package/dist/components/Auth/useAuth/index.cjs +8 -4
  14. package/dist/components/Auth/useAuth/index.cjs.map +1 -1
  15. package/dist/components/Auth/useAuth/index.d.ts +3 -1
  16. package/dist/components/Auth/useAuth/index.d.ts.map +1 -1
  17. package/dist/components/Auth/useAuth/index.mjs +8 -4
  18. package/dist/components/Auth/useAuth/index.mjs.map +1 -1
  19. package/dist/components/Auth/useAuth/useCSRF.cjs +6 -3
  20. package/dist/components/Auth/useAuth/useCSRF.cjs.map +1 -1
  21. package/dist/components/Auth/useAuth/useCSRF.d.ts +2 -1
  22. package/dist/components/Auth/useAuth/useCSRF.d.ts.map +1 -1
  23. package/dist/components/Auth/useAuth/useCSRF.mjs +5 -2
  24. package/dist/components/Auth/useAuth/useCSRF.mjs.map +1 -1
  25. package/dist/components/Auth/useAuth/useOAuth2.cjs +6 -5
  26. package/dist/components/Auth/useAuth/useOAuth2.cjs.map +1 -1
  27. package/dist/components/Auth/useAuth/useOAuth2.d.ts +2 -1
  28. package/dist/components/Auth/useAuth/useOAuth2.d.ts.map +1 -1
  29. package/dist/components/Auth/useAuth/useOAuth2.mjs +5 -4
  30. package/dist/components/Auth/useAuth/useOAuth2.mjs.map +1 -1
  31. package/dist/components/Auth/useAuth/useSession.cjs +6 -3
  32. package/dist/components/Auth/useAuth/useSession.cjs.map +1 -1
  33. package/dist/components/Auth/useAuth/useSession.d.ts +2 -1
  34. package/dist/components/Auth/useAuth/useSession.d.ts.map +1 -1
  35. package/dist/components/Auth/useAuth/useSession.mjs +6 -3
  36. package/dist/components/Auth/useAuth/useSession.mjs.map +1 -1
  37. package/dist/components/Auth/useUser/index.cjs +1 -1
  38. package/dist/components/Auth/useUser/index.mjs +1 -1
  39. package/dist/components/Container/index.d.ts +2 -2
  40. package/dist/components/DictionaryEditor/DictionaryEditor.cjs +4 -16
  41. package/dist/components/DictionaryEditor/DictionaryEditor.cjs.map +1 -1
  42. package/dist/components/DictionaryEditor/DictionaryEditor.d.ts.map +1 -1
  43. package/dist/components/DictionaryEditor/DictionaryEditor.mjs +4 -16
  44. package/dist/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
  45. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.cjs +2 -1
  46. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.cjs.map +1 -1
  47. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.d.ts.map +1 -1
  48. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs +2 -1
  49. package/dist/components/DictionaryEditor/NodeWrapper/ArrayWrapper.mjs.map +1 -1
  50. package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.cjs +1 -1
  51. package/dist/components/DictionaryEditor/NodeWrapper/EnumerationWrapper.mjs +1 -1
  52. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.cjs +2 -1
  53. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.cjs.map +1 -1
  54. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.d.ts.map +1 -1
  55. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs +2 -1
  56. package/dist/components/DictionaryEditor/NodeWrapper/NestedObjectWrapper.mjs.map +1 -1
  57. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.cjs +3 -3
  58. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.cjs.map +1 -1
  59. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.d.ts.map +1 -1
  60. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs +2 -2
  61. package/dist/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs.map +1 -1
  62. package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.cjs +1 -1
  63. package/dist/components/DictionaryEditor/NodeWrapper/TranslationWrapper.mjs +1 -1
  64. package/dist/components/DictionaryEditor/NodeWrapper/index.cjs +1 -1
  65. package/dist/components/DictionaryEditor/NodeWrapper/index.mjs +1 -1
  66. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs +2 -9
  67. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.cjs.map +1 -1
  68. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.d.ts.map +1 -1
  69. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs +2 -9
  70. package/dist/components/DictionaryEditor/ValidDictionaryChangeButtons.mjs.map +1 -1
  71. package/dist/components/DictionaryEditor/index.cjs +0 -8
  72. package/dist/components/DictionaryEditor/index.cjs.map +1 -1
  73. package/dist/components/DictionaryEditor/index.d.ts +0 -2
  74. package/dist/components/DictionaryEditor/index.d.ts.map +1 -1
  75. package/dist/components/DictionaryEditor/index.mjs +1 -9
  76. package/dist/components/DictionaryEditor/index.mjs.map +1 -1
  77. package/dist/components/DictionaryEditor/useEditedContentStore.d.ts +1 -1
  78. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs +3 -21
  79. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs.map +1 -1
  80. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.d.ts.map +1 -1
  81. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs +3 -21
  82. package/dist/components/DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.mjs.map +1 -1
  83. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs +4 -2
  84. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs.map +1 -1
  85. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +4 -2
  86. package/dist/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
  87. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs +4 -2
  88. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.cjs.map +1 -1
  89. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +4 -2
  90. package/dist/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
  91. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs +5 -31
  92. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.cjs.map +1 -1
  93. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.d.ts.map +1 -1
  94. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +6 -32
  95. package/dist/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
  96. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs +8 -37
  97. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.cjs.map +1 -1
  98. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.d.ts.map +1 -1
  99. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs +6 -35
  100. package/dist/components/DictionaryFieldEditor/EditorView/EditorView.mjs.map +1 -1
  101. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs +6 -24
  102. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.cjs.map +1 -1
  103. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.d.ts.map +1 -1
  104. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs +5 -23
  105. package/dist/components/DictionaryFieldEditor/EditorView/TextEditor.mjs.map +1 -1
  106. package/dist/components/DictionaryFieldEditor/JSONEditor.cjs +2 -29
  107. package/dist/components/DictionaryFieldEditor/JSONEditor.cjs.map +1 -1
  108. package/dist/components/DictionaryFieldEditor/JSONEditor.d.ts.map +1 -1
  109. package/dist/components/DictionaryFieldEditor/JSONEditor.mjs +2 -29
  110. package/dist/components/DictionaryFieldEditor/JSONEditor.mjs.map +1 -1
  111. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs +9 -33
  112. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.cjs.map +1 -1
  113. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.d.ts.map +1 -1
  114. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +4 -28
  115. package/dist/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs.map +1 -1
  116. package/dist/components/DictionaryFieldEditor/NodeEditor.cjs +3 -43
  117. package/dist/components/DictionaryFieldEditor/NodeEditor.cjs.map +1 -1
  118. package/dist/components/DictionaryFieldEditor/NodeEditor.d.ts.map +1 -1
  119. package/dist/components/DictionaryFieldEditor/NodeEditor.mjs +3 -43
  120. package/dist/components/DictionaryFieldEditor/NodeEditor.mjs.map +1 -1
  121. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs +4 -27
  122. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.cjs.map +1 -1
  123. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.d.ts.map +1 -1
  124. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs +3 -26
  125. package/dist/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
  126. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs +9 -19
  127. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.cjs.map +1 -1
  128. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.d.ts.map +1 -1
  129. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +9 -19
  130. package/dist/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
  131. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.cjs +2 -2
  132. package/dist/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs +2 -2
  133. package/dist/components/EditableField/EditableFieldLayout.cjs +7 -3
  134. package/dist/components/EditableField/EditableFieldLayout.cjs.map +1 -1
  135. package/dist/components/EditableField/EditableFieldLayout.d.ts.map +1 -1
  136. package/dist/components/EditableField/EditableFieldLayout.mjs +7 -3
  137. package/dist/components/EditableField/EditableFieldLayout.mjs.map +1 -1
  138. package/dist/components/IDE/CodeContext.cjs +2 -2
  139. package/dist/components/IDE/CodeContext.mjs +2 -2
  140. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs +2 -2
  141. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +2 -2
  142. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.cjs +2 -2
  143. package/dist/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs +2 -2
  144. package/dist/components/Modal/Modal.cjs +12 -8
  145. package/dist/components/Modal/Modal.cjs.map +1 -1
  146. package/dist/components/Modal/Modal.d.ts.map +1 -1
  147. package/dist/components/Modal/Modal.mjs +12 -8
  148. package/dist/components/Modal/Modal.mjs.map +1 -1
  149. package/dist/components/Navbar/MobileNavbar.cjs +3 -3
  150. package/dist/components/Navbar/MobileNavbar.mjs +3 -3
  151. package/dist/components/Navbar/index.cjs +2 -2
  152. package/dist/components/Navbar/index.mjs +2 -2
  153. package/dist/components/RightDrawer/RightDrawer.cjs +34 -18
  154. package/dist/components/RightDrawer/RightDrawer.cjs.map +1 -1
  155. package/dist/components/RightDrawer/RightDrawer.d.ts.map +1 -1
  156. package/dist/components/RightDrawer/RightDrawer.mjs +33 -17
  157. package/dist/components/RightDrawer/RightDrawer.mjs.map +1 -1
  158. package/dist/components/SwitchSelector/index.cjs +2 -2
  159. package/dist/components/SwitchSelector/index.mjs +2 -2
  160. package/dist/components/TabSelector/TabSelector.cjs +2 -2
  161. package/dist/components/TabSelector/TabSelector.mjs +2 -2
  162. package/dist/components/index.cjs +0 -8
  163. package/dist/components/index.cjs.map +1 -1
  164. package/dist/components/index.mjs +0 -8
  165. package/dist/components/index.mjs.map +1 -1
  166. package/dist/hooks/index.cjs +1 -1
  167. package/dist/hooks/index.mjs +2 -2
  168. package/dist/hooks/intlayerAPIHooks.cjs +5 -1
  169. package/dist/hooks/intlayerAPIHooks.cjs.map +1 -1
  170. package/dist/hooks/intlayerAPIHooks.d.ts +49 -49
  171. package/dist/hooks/intlayerAPIHooks.d.ts.map +1 -1
  172. package/dist/hooks/intlayerAPIHooks.mjs +5 -1
  173. package/dist/hooks/intlayerAPIHooks.mjs.map +1 -1
  174. package/dist/hooks/useAsync/useAsync.cjs +14 -0
  175. package/dist/hooks/useAsync/useAsync.cjs.map +1 -1
  176. package/dist/hooks/useAsync/useAsync.d.ts.map +1 -1
  177. package/dist/hooks/useAsync/useAsync.mjs +14 -0
  178. package/dist/hooks/useAsync/useAsync.mjs.map +1 -1
  179. package/dist/hooks/useGetAllDictionaries.cjs +3 -2
  180. package/dist/hooks/useGetAllDictionaries.cjs.map +1 -1
  181. package/dist/hooks/useGetAllDictionaries.d.ts +2 -2
  182. package/dist/hooks/useGetAllDictionaries.d.ts.map +1 -1
  183. package/dist/hooks/useGetAllDictionaries.mjs +3 -2
  184. package/dist/hooks/useGetAllDictionaries.mjs.map +1 -1
  185. package/dist/hooks/useIntlayerAPI.cjs +10 -7
  186. package/dist/hooks/useIntlayerAPI.cjs.map +1 -1
  187. package/dist/hooks/useIntlayerAPI.d.ts +8 -2
  188. package/dist/hooks/useIntlayerAPI.d.ts.map +1 -1
  189. package/dist/hooks/useIntlayerAPI.mjs +10 -7
  190. package/dist/hooks/useIntlayerAPI.mjs.map +1 -1
  191. package/dist/hooks/usePersistedStore.cjs +25 -15
  192. package/dist/hooks/usePersistedStore.cjs.map +1 -1
  193. package/dist/hooks/usePersistedStore.d.ts +2 -1
  194. package/dist/hooks/usePersistedStore.d.ts.map +1 -1
  195. package/dist/hooks/usePersistedStore.mjs +26 -16
  196. package/dist/hooks/usePersistedStore.mjs.map +1 -1
  197. package/dist/hooks/useScrollBlockage/index.cjs +5 -31
  198. package/dist/hooks/useScrollBlockage/index.cjs.map +1 -1
  199. package/dist/hooks/useScrollBlockage/index.mjs +5 -31
  200. package/dist/hooks/useScrollBlockage/index.mjs.map +1 -1
  201. package/dist/hooks/useScrollDetection.cjs +1 -1
  202. package/dist/hooks/useScrollDetection.mjs +1 -1
  203. package/dist/index-B-VAyQ9R.js +673 -0
  204. package/dist/index-B-VAyQ9R.js.map +1 -0
  205. package/dist/index-B-adg6xa.js +206 -0
  206. package/dist/index-B-adg6xa.js.map +1 -0
  207. package/dist/index-BIV0x_z2.js +206 -0
  208. package/dist/index-BIV0x_z2.js.map +1 -0
  209. package/dist/index-BNH9wXVj.cjs +205 -0
  210. package/dist/index-BNH9wXVj.cjs.map +1 -0
  211. package/dist/index-Cg-S9ry9.cjs +77 -0
  212. package/dist/index-Cg-S9ry9.cjs.map +1 -0
  213. package/dist/index-D69JRZcQ.js +206 -0
  214. package/dist/index-D69JRZcQ.js.map +1 -0
  215. package/dist/index-DAsui9u9.cjs +205 -0
  216. package/dist/index-DAsui9u9.cjs.map +1 -0
  217. package/dist/index-O_7rYrbW.js +78 -0
  218. package/dist/index-O_7rYrbW.js.map +1 -0
  219. package/dist/index-SOIahRpS.cjs +205 -0
  220. package/dist/index-SOIahRpS.cjs.map +1 -0
  221. package/dist/index-T-TjVQoD.js +671 -0
  222. package/dist/index-T-TjVQoD.js.map +1 -0
  223. package/dist/index-f8_VC6c8.cjs +672 -0
  224. package/dist/index-f8_VC6c8.cjs.map +1 -0
  225. package/dist/index-llGIfxqV.cjs +670 -0
  226. package/dist/index-llGIfxqV.cjs.map +1 -0
  227. package/dist/tailwind.css +1 -1
  228. package/dist/useGetAllDictionaries-B1sqs2IB.cjs +34 -0
  229. package/dist/useGetAllDictionaries-B1sqs2IB.cjs.map +1 -0
  230. package/dist/useGetAllDictionaries-BbH8vTkY.js +35 -0
  231. package/dist/useGetAllDictionaries-BbH8vTkY.js.map +1 -0
  232. package/dist/useGetAllDictionaries-Bgkytpa2.cjs +34 -0
  233. package/dist/useGetAllDictionaries-Bgkytpa2.cjs.map +1 -0
  234. package/dist/useGetAllDictionaries-D8ma3h41.cjs +33 -0
  235. package/dist/useGetAllDictionaries-D8ma3h41.cjs.map +1 -0
  236. package/dist/useGetAllDictionaries-DHgHEbD5.js +34 -0
  237. package/dist/useGetAllDictionaries-DHgHEbD5.js.map +1 -0
  238. package/dist/useGetAllDictionaries-DUzm0rIa.js +35 -0
  239. package/dist/useGetAllDictionaries-DUzm0rIa.js.map +1 -0
  240. package/package.json +24 -16
@@ -8,14 +8,15 @@ const lucideReact = require("lucide-react");
8
8
  const reactDom = require("react-dom");
9
9
  require("react");
10
10
  const hooks_useGetElementOrWindow = require("../../hooks/useGetElementOrWindow.cjs");
11
- const hooks_useScrollBlockage_index = require("../../hooks/useScrollBlockage/index.cjs");
11
+ const hooks_useScrollBlockage_index = require("../../index-Cg-S9ry9.cjs");
12
12
  require("../../hooks/useAsync/useAsyncStateStore.cjs");
13
- require("../../index-DFc7og1d.cjs");
13
+ require("@intlayer/editor-react");
14
+ require("@intlayer/api");
14
15
  require("@intlayer/config/client");
15
16
  require("../Toaster/Toast.cjs");
16
- require("@intlayer/dictionaries-entry");
17
17
  require("deepmerge");
18
18
  const utils_cn = require("../../utils/cn.cjs");
19
+ const components_Button_Button = require("../Button/Button.cjs");
19
20
  const components_Container_index = require("../Container/index.cjs");
20
21
  const components_Headers_index = require("../Headers/index.cjs");
21
22
  const modalVariants = classVarianceAuthority.cva(
@@ -99,15 +100,18 @@ const Modal = ({
99
100
  children: [
100
101
  hasTitle && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(components_Headers_index.H3, { className: "flex items-center justify-center text-lg font-bold", children: title }),
101
102
  hasCloseButton && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
102
- lucideReact.X,
103
+ components_Button_Button.Button,
103
104
  {
104
- role: "button",
105
- "aria-label": "Close modal",
106
- className: "right-2 top-2 ml-auto cursor-pointer",
105
+ variant: "hoverable",
106
+ color: "text",
107
+ label: "Close modal",
108
+ className: "ml-auto",
107
109
  onClick: (e) => {
108
110
  e.stopPropagation();
109
111
  onClose?.();
110
- }
112
+ },
113
+ Icon: lucideReact.X,
114
+ size: "icon-md"
111
115
  }
112
116
  )
113
117
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.cjs","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["'use client';\n\nimport { cva } from 'class-variance-authority';\nimport { m } from 'framer-motion';\nimport { X } from 'lucide-react';\nimport type { FC } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useGetElementOrWindow, useScrollBlockage } from '../../hooks/index';\nimport { cn } from '../../utils/cn';\nimport { Container, type ContainerProps } from '../Container';\nimport { H3 } from '../Headers';\n\ntype ModalProps = {\n children: React.ReactNode;\n isOpen: boolean;\n onClose?: () => void;\n container?: HTMLElement;\n disableScroll?: boolean;\n hasCloseButton?: boolean;\n title?: string;\n size?: Size;\n} & Pick<\n ContainerProps,\n | 'className'\n | 'transparency'\n | 'border'\n | 'background'\n | 'roundedSize'\n | 'borderColor'\n | 'padding'\n | 'separator'\n | 'gap'\n>;\n\nconst modalVariants = cva(\n 'cursor-default overflow-auto p-3 shadow justify-center',\n {\n variants: {\n variant: {\n sm: 'max-h-[30vh] w-[95vw] max-w-xl',\n md: 'max-h-[50vh] w-[95vw] max-w-xl',\n lg: 'max-h-[70vh] w-[95vw] max-w-2xl',\n xl: 'max-h-[95vh] w-[95vw] max-w-3xl',\n unset: 'max-h-[95vh] w-[95vw]',\n },\n },\n defaultVariants: {\n variant: 'unset',\n },\n }\n);\n\ntype Size = 'sm' | 'md' | 'lg' | 'xl' | 'unset';\n\nconst MotionModal = m.create(Container);\n\n/**\n * Usage example:\n * ```jsx\n * <Modal isOpen={isOpen} onClose={onClose}>\n * Modal content\n * </Modal>\n * ```\n */\nexport const Modal: FC<ModalProps> = ({\n children,\n isOpen,\n container,\n disableScroll = false,\n onClose,\n hasCloseButton = false,\n title,\n size = 'md',\n ...props\n}) => {\n const containerElement = useGetElementOrWindow(container);\n\n useScrollBlockage({ key: 'modal', disableScroll: isOpen && disableScroll });\n\n if (!containerElement) return <></>;\n\n const hasTitle = typeof title === 'string';\n\n return createPortal(\n <m.div\n className=\"bg-background/40 dark:bg-background-dark/40 invisible fixed left-0 top-0 z-50 flex size-full cursor-pointer items-center justify-center overflow-auto backdrop-blur\"\n animate={isOpen ? 'visible' : 'invisible'}\n variants={{\n visible: {\n opacity: 1,\n visibility: 'visible',\n transition: { duration: 0.1, when: 'beforeChildren' },\n },\n invisible: {\n opacity: 0,\n visibility: 'hidden',\n transition: { duration: 0.1, when: 'afterChildren' },\n },\n }}\n onClick={(e) => {\n e.stopPropagation();\n onClose?.();\n }}\n aria-hidden={!isOpen}\n >\n <MotionModal\n onClick={(e) => e.stopPropagation()}\n initial={{ scale: isOpen ? 0.5 : 1 }}\n animate={{ scale: isOpen ? 1 : 0.5 }}\n transition={{ duration: 0.3 }}\n className={modalVariants({\n variant: size,\n })}\n role=\"dialog\"\n aria-modal\n roundedSize=\"2xl\"\n {...props}\n >\n <div\n className={cn(\n 'cursor-default',\n hasCloseButton && hasTitle\n ? `flex items-center justify-center`\n : hasCloseButton\n ? `flex items-center justify-end`\n : hasTitle\n ? `items-center`\n : `hidden`\n )}\n >\n {hasTitle && (\n <H3 className=\"flex items-center justify-center text-lg font-bold\">\n {title}\n </H3>\n )}\n {hasCloseButton && (\n <X\n role=\"button\"\n aria-label=\"Close modal\"\n className=\"right-2 top-2 ml-auto cursor-pointer\"\n onClick={(e) => {\n e.stopPropagation();\n onClose?.();\n }}\n />\n )}\n </div>\n <div className=\"flex flex-1 flex-col items-center overflow-auto\">\n {children}\n </div>\n </MotionModal>\n </m.div>,\n containerElement\n );\n};\n"],"names":["cva","m","Container","useGetElementOrWindow","useScrollBlockage","jsx","Fragment","createPortal","jsxs","cn","H3","X"],"mappings":";;;;;;;;;;;;;;;;;;;;AAkCA,MAAM,gBAAgBA,uBAAA;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAIA,MAAM,cAAcC,aAAAA,EAAE,OAAOC,oCAAS;AAU/B,MAAM,QAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACL,MAAM;AACE,QAAA,mBAAmBC,kDAAsB,SAAS;AAExDC,gCAAA,kBAAkB,EAAE,KAAK,SAAS,eAAe,UAAU,eAAe;AAEtE,MAAA,CAAC,iBAAkB,QAASC,iDAAAC,WAAAA,kBAAAA,UAAA,CAAA,CAAA;AAE1B,QAAA,WAAW,OAAO,UAAU;AAE3B,SAAAC,SAAA;AAAA,IACLF,2BAAA,kBAAA;AAAA,MAACJ,aAAAA,EAAE;AAAA,MAAF;AAAA,QACC,WAAU;AAAA,QACV,SAAS,SAAS,YAAY;AAAA,QAC9B,UAAU;AAAA,UACR,SAAS;AAAA,YACP,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,YAAY,EAAE,UAAU,KAAK,MAAM,iBAAiB;AAAA,UACtD;AAAA,UACA,WAAW;AAAA,YACT,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,YAAY,EAAE,UAAU,KAAK,MAAM,gBAAgB;AAAA,UAAA;AAAA,QAEvD;AAAA,QACA,SAAS,CAAC,MAAM;AACd,YAAE,gBAAgB;AACR,oBAAA;AAAA,QACZ;AAAA,QACA,eAAa,CAAC;AAAA,QAEd,UAAAO,2BAAA,kBAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,YAClC,SAAS,EAAE,OAAO,SAAS,MAAM,EAAE;AAAA,YACnC,SAAS,EAAE,OAAO,SAAS,IAAI,IAAI;AAAA,YACnC,YAAY,EAAE,UAAU,IAAI;AAAA,YAC5B,WAAW,cAAc;AAAA,cACvB,SAAS;AAAA,YAAA,CACV;AAAA,YACD,MAAK;AAAA,YACL,cAAU;AAAA,YACV,aAAY;AAAA,YACX,GAAG;AAAA,YAEJ,UAAA;AAAA,cAAAA,2BAAA,kBAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWC,SAAA;AAAA,oBACT;AAAA,oBACA,kBAAkB,WACd,qCACA,iBACE,kCACA,WACE,iBACA;AAAA,kBACV;AAAA,kBAEC,UAAA;AAAA,oBAAA,YACEJ,2BAAA,kBAAA,IAAAK,6BAAA,EAAG,WAAU,sDACX,UACH,OAAA;AAAA,oBAED,kBACCL,2BAAA,kBAAA;AAAA,sBAACM,YAAA;AAAA,sBAAA;AAAA,wBACC,MAAK;AAAA,wBACL,cAAW;AAAA,wBACX,WAAU;AAAA,wBACV,SAAS,CAAC,MAAM;AACd,4BAAE,gBAAgB;AACR,oCAAA;AAAA,wBAAA;AAAA,sBACZ;AAAA,oBAAA;AAAA,kBACF;AAAA,gBAAA;AAAA,cAEJ;AAAA,cACCN,2BAAAA,kBAAAA,IAAA,OAAA,EAAI,WAAU,mDACZ,SACH,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;;"}
1
+ {"version":3,"file":"Modal.cjs","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["'use client';\n\nimport { cva } from 'class-variance-authority';\nimport { m } from 'framer-motion';\nimport { X } from 'lucide-react';\nimport type { FC } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useGetElementOrWindow, useScrollBlockage } from '../../hooks/index';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\nimport { Container, type ContainerProps } from '../Container';\nimport { H3 } from '../Headers';\n\ntype ModalProps = {\n children: React.ReactNode;\n isOpen: boolean;\n onClose?: () => void;\n container?: HTMLElement;\n disableScroll?: boolean;\n hasCloseButton?: boolean;\n title?: string;\n size?: Size;\n} & Pick<\n ContainerProps,\n | 'className'\n | 'transparency'\n | 'border'\n | 'background'\n | 'roundedSize'\n | 'borderColor'\n | 'padding'\n | 'separator'\n | 'gap'\n>;\n\nconst modalVariants = cva(\n 'cursor-default overflow-auto p-3 shadow justify-center',\n {\n variants: {\n variant: {\n sm: 'max-h-[30vh] w-[95vw] max-w-xl',\n md: 'max-h-[50vh] w-[95vw] max-w-xl',\n lg: 'max-h-[70vh] w-[95vw] max-w-2xl',\n xl: 'max-h-[95vh] w-[95vw] max-w-3xl',\n unset: 'max-h-[95vh] w-[95vw]',\n },\n },\n defaultVariants: {\n variant: 'unset',\n },\n }\n);\n\ntype Size = 'sm' | 'md' | 'lg' | 'xl' | 'unset';\n\nconst MotionModal = m.create(Container);\n\n/**\n * Usage example:\n * ```jsx\n * <Modal isOpen={isOpen} onClose={onClose}>\n * Modal content\n * </Modal>\n * ```\n */\nexport const Modal: FC<ModalProps> = ({\n children,\n isOpen,\n container,\n disableScroll = false,\n onClose,\n hasCloseButton = false,\n title,\n size = 'md',\n ...props\n}) => {\n const containerElement = useGetElementOrWindow(container);\n\n useScrollBlockage({ key: 'modal', disableScroll: isOpen && disableScroll });\n\n if (!containerElement) return <></>;\n\n const hasTitle = typeof title === 'string';\n\n return createPortal(\n <m.div\n className=\"bg-background/40 dark:bg-background-dark/40 invisible fixed left-0 top-0 z-50 flex size-full cursor-pointer items-center justify-center overflow-auto backdrop-blur\"\n animate={isOpen ? 'visible' : 'invisible'}\n variants={{\n visible: {\n opacity: 1,\n visibility: 'visible',\n transition: { duration: 0.1, when: 'beforeChildren' },\n },\n invisible: {\n opacity: 0,\n visibility: 'hidden',\n transition: { duration: 0.1, when: 'afterChildren' },\n },\n }}\n onClick={(e) => {\n e.stopPropagation();\n onClose?.();\n }}\n aria-hidden={!isOpen}\n >\n <MotionModal\n onClick={(e) => e.stopPropagation()}\n initial={{ scale: isOpen ? 0.5 : 1 }}\n animate={{ scale: isOpen ? 1 : 0.5 }}\n transition={{ duration: 0.3 }}\n className={modalVariants({\n variant: size,\n })}\n role=\"dialog\"\n aria-modal\n roundedSize=\"2xl\"\n {...props}\n >\n <div\n className={cn(\n 'cursor-default',\n hasCloseButton && hasTitle\n ? `flex items-center justify-center`\n : hasCloseButton\n ? `flex items-center justify-end`\n : hasTitle\n ? `items-center`\n : `hidden`\n )}\n >\n {hasTitle && (\n <H3 className=\"flex items-center justify-center text-lg font-bold\">\n {title}\n </H3>\n )}\n {hasCloseButton && (\n <Button\n variant=\"hoverable\"\n color=\"text\"\n label=\"Close modal\"\n className=\"ml-auto\"\n onClick={(e) => {\n e.stopPropagation();\n onClose?.();\n }}\n Icon={X}\n size=\"icon-md\"\n />\n )}\n </div>\n <div className=\"flex flex-1 flex-col items-center overflow-auto\">\n {children}\n </div>\n </MotionModal>\n </m.div>,\n containerElement\n );\n};\n"],"names":["cva","m","Container","useGetElementOrWindow","useScrollBlockage","jsx","Fragment","createPortal","jsxs","cn","H3","Button","X"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmCA,MAAM,gBAAgBA,uBAAA;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAIA,MAAM,cAAcC,aAAAA,EAAE,OAAOC,oCAAS;AAU/B,MAAM,QAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACL,MAAM;AACE,QAAA,mBAAmBC,kDAAsB,SAAS;AAExDC,gCAAA,kBAAkB,EAAE,KAAK,SAAS,eAAe,UAAU,eAAe;AAEtE,MAAA,CAAC,iBAAkB,QAASC,iDAAAC,WAAAA,kBAAAA,UAAA,CAAA,CAAA;AAE1B,QAAA,WAAW,OAAO,UAAU;AAE3B,SAAAC,SAAA;AAAA,IACLF,2BAAA,kBAAA;AAAA,MAACJ,aAAAA,EAAE;AAAA,MAAF;AAAA,QACC,WAAU;AAAA,QACV,SAAS,SAAS,YAAY;AAAA,QAC9B,UAAU;AAAA,UACR,SAAS;AAAA,YACP,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,YAAY,EAAE,UAAU,KAAK,MAAM,iBAAiB;AAAA,UACtD;AAAA,UACA,WAAW;AAAA,YACT,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,YAAY,EAAE,UAAU,KAAK,MAAM,gBAAgB;AAAA,UAAA;AAAA,QAEvD;AAAA,QACA,SAAS,CAAC,MAAM;AACd,YAAE,gBAAgB;AACR,oBAAA;AAAA,QACZ;AAAA,QACA,eAAa,CAAC;AAAA,QAEd,UAAAO,2BAAA,kBAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,YAClC,SAAS,EAAE,OAAO,SAAS,MAAM,EAAE;AAAA,YACnC,SAAS,EAAE,OAAO,SAAS,IAAI,IAAI;AAAA,YACnC,YAAY,EAAE,UAAU,IAAI;AAAA,YAC5B,WAAW,cAAc;AAAA,cACvB,SAAS;AAAA,YAAA,CACV;AAAA,YACD,MAAK;AAAA,YACL,cAAU;AAAA,YACV,aAAY;AAAA,YACX,GAAG;AAAA,YAEJ,UAAA;AAAA,cAAAA,2BAAA,kBAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAWC,SAAA;AAAA,oBACT;AAAA,oBACA,kBAAkB,WACd,qCACA,iBACE,kCACA,WACE,iBACA;AAAA,kBACV;AAAA,kBAEC,UAAA;AAAA,oBAAA,YACEJ,2BAAA,kBAAA,IAAAK,6BAAA,EAAG,WAAU,sDACX,UACH,OAAA;AAAA,oBAED,kBACCL,2BAAA,kBAAA;AAAA,sBAACM,yBAAA;AAAA,sBAAA;AAAA,wBACC,SAAQ;AAAA,wBACR,OAAM;AAAA,wBACN,OAAM;AAAA,wBACN,WAAU;AAAA,wBACV,SAAS,CAAC,MAAM;AACd,4BAAE,gBAAgB;AACR,oCAAA;AAAA,wBACZ;AAAA,wBACA,MAAMC,YAAA;AAAA,wBACN,MAAK;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACP;AAAA,gBAAA;AAAA,cAEJ;AAAA,cACCP,2BAAAA,kBAAAA,IAAA,OAAA,EAAI,WAAU,mDACZ,SACH,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,GAAG,IAAI,CACN,cAAc,EACZ,WAAW,GACX,cAAc,GACd,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,aAAa,GACb,SAAS,GACT,WAAW,GACX,KAAK,CACR,CAAC;AAoBF,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;AAIhD;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CA0FhC,CAAC"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKhC,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,GAAG,IAAI,CACN,cAAc,EACZ,WAAW,GACX,cAAc,GACd,QAAQ,GACR,YAAY,GACZ,aAAa,GACb,aAAa,GACb,SAAS,GACT,WAAW,GACX,KAAK,CACR,CAAC;AAoBF,KAAK,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;AAIhD;;;;;;;GAOG;AACH,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CA6FhC,CAAC"}
@@ -6,14 +6,15 @@ import { X } from "lucide-react";
6
6
  import { createPortal } from "react-dom";
7
7
  import "react";
8
8
  import { useGetElementOrWindow } from "../../hooks/useGetElementOrWindow.mjs";
9
- import { useScrollBlockage } from "../../hooks/useScrollBlockage/index.mjs";
9
+ import { u as useScrollBlockage } from "../../index-O_7rYrbW.js";
10
10
  import "../../hooks/useAsync/useAsyncStateStore.mjs";
11
- import "../../index-DcWYZrJW.js";
11
+ import "@intlayer/editor-react";
12
+ import "@intlayer/api";
12
13
  import "@intlayer/config/client";
13
14
  import "../Toaster/Toast.mjs";
14
- import "@intlayer/dictionaries-entry";
15
15
  import "deepmerge";
16
16
  import { cn } from "../../utils/cn.mjs";
17
+ import { Button } from "../Button/Button.mjs";
17
18
  import { Container } from "../Container/index.mjs";
18
19
  import { H3 } from "../Headers/index.mjs";
19
20
  const modalVariants = cva(
@@ -97,15 +98,18 @@ const Modal = ({
97
98
  children: [
98
99
  hasTitle && /* @__PURE__ */ jsxRuntimeExports.jsx(H3, { className: "flex items-center justify-center text-lg font-bold", children: title }),
99
100
  hasCloseButton && /* @__PURE__ */ jsxRuntimeExports.jsx(
100
- X,
101
+ Button,
101
102
  {
102
- role: "button",
103
- "aria-label": "Close modal",
104
- className: "right-2 top-2 ml-auto cursor-pointer",
103
+ variant: "hoverable",
104
+ color: "text",
105
+ label: "Close modal",
106
+ className: "ml-auto",
105
107
  onClick: (e) => {
106
108
  e.stopPropagation();
107
109
  onClose?.();
108
- }
110
+ },
111
+ Icon: X,
112
+ size: "icon-md"
109
113
  }
110
114
  )
111
115
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.mjs","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["'use client';\n\nimport { cva } from 'class-variance-authority';\nimport { m } from 'framer-motion';\nimport { X } from 'lucide-react';\nimport type { FC } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useGetElementOrWindow, useScrollBlockage } from '../../hooks/index';\nimport { cn } from '../../utils/cn';\nimport { Container, type ContainerProps } from '../Container';\nimport { H3 } from '../Headers';\n\ntype ModalProps = {\n children: React.ReactNode;\n isOpen: boolean;\n onClose?: () => void;\n container?: HTMLElement;\n disableScroll?: boolean;\n hasCloseButton?: boolean;\n title?: string;\n size?: Size;\n} & Pick<\n ContainerProps,\n | 'className'\n | 'transparency'\n | 'border'\n | 'background'\n | 'roundedSize'\n | 'borderColor'\n | 'padding'\n | 'separator'\n | 'gap'\n>;\n\nconst modalVariants = cva(\n 'cursor-default overflow-auto p-3 shadow justify-center',\n {\n variants: {\n variant: {\n sm: 'max-h-[30vh] w-[95vw] max-w-xl',\n md: 'max-h-[50vh] w-[95vw] max-w-xl',\n lg: 'max-h-[70vh] w-[95vw] max-w-2xl',\n xl: 'max-h-[95vh] w-[95vw] max-w-3xl',\n unset: 'max-h-[95vh] w-[95vw]',\n },\n },\n defaultVariants: {\n variant: 'unset',\n },\n }\n);\n\ntype Size = 'sm' | 'md' | 'lg' | 'xl' | 'unset';\n\nconst MotionModal = m.create(Container);\n\n/**\n * Usage example:\n * ```jsx\n * <Modal isOpen={isOpen} onClose={onClose}>\n * Modal content\n * </Modal>\n * ```\n */\nexport const Modal: FC<ModalProps> = ({\n children,\n isOpen,\n container,\n disableScroll = false,\n onClose,\n hasCloseButton = false,\n title,\n size = 'md',\n ...props\n}) => {\n const containerElement = useGetElementOrWindow(container);\n\n useScrollBlockage({ key: 'modal', disableScroll: isOpen && disableScroll });\n\n if (!containerElement) return <></>;\n\n const hasTitle = typeof title === 'string';\n\n return createPortal(\n <m.div\n className=\"bg-background/40 dark:bg-background-dark/40 invisible fixed left-0 top-0 z-50 flex size-full cursor-pointer items-center justify-center overflow-auto backdrop-blur\"\n animate={isOpen ? 'visible' : 'invisible'}\n variants={{\n visible: {\n opacity: 1,\n visibility: 'visible',\n transition: { duration: 0.1, when: 'beforeChildren' },\n },\n invisible: {\n opacity: 0,\n visibility: 'hidden',\n transition: { duration: 0.1, when: 'afterChildren' },\n },\n }}\n onClick={(e) => {\n e.stopPropagation();\n onClose?.();\n }}\n aria-hidden={!isOpen}\n >\n <MotionModal\n onClick={(e) => e.stopPropagation()}\n initial={{ scale: isOpen ? 0.5 : 1 }}\n animate={{ scale: isOpen ? 1 : 0.5 }}\n transition={{ duration: 0.3 }}\n className={modalVariants({\n variant: size,\n })}\n role=\"dialog\"\n aria-modal\n roundedSize=\"2xl\"\n {...props}\n >\n <div\n className={cn(\n 'cursor-default',\n hasCloseButton && hasTitle\n ? `flex items-center justify-center`\n : hasCloseButton\n ? `flex items-center justify-end`\n : hasTitle\n ? `items-center`\n : `hidden`\n )}\n >\n {hasTitle && (\n <H3 className=\"flex items-center justify-center text-lg font-bold\">\n {title}\n </H3>\n )}\n {hasCloseButton && (\n <X\n role=\"button\"\n aria-label=\"Close modal\"\n className=\"right-2 top-2 ml-auto cursor-pointer\"\n onClick={(e) => {\n e.stopPropagation();\n onClose?.();\n }}\n />\n )}\n </div>\n <div className=\"flex flex-1 flex-col items-center overflow-auto\">\n {children}\n </div>\n </MotionModal>\n </m.div>,\n containerElement\n );\n};\n"],"names":["jsx","Fragment","jsxs"],"mappings":";;;;;;;;;;;;;;;;;;AAkCA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAIA,MAAM,cAAc,EAAE,OAAO,SAAS;AAU/B,MAAM,QAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACL,MAAM;AACE,QAAA,mBAAmB,sBAAsB,SAAS;AAExD,oBAAkB,EAAE,KAAK,SAAS,eAAe,UAAU,eAAe;AAEtE,MAAA,CAAC,iBAAkB,QAASA,sCAAAC,kBAAAA,UAAA,CAAA,CAAA;AAE1B,QAAA,WAAW,OAAO,UAAU;AAE3B,SAAA;AAAA,IACLD,kCAAA;AAAA,MAAC,EAAE;AAAA,MAAF;AAAA,QACC,WAAU;AAAA,QACV,SAAS,SAAS,YAAY;AAAA,QAC9B,UAAU;AAAA,UACR,SAAS;AAAA,YACP,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,YAAY,EAAE,UAAU,KAAK,MAAM,iBAAiB;AAAA,UACtD;AAAA,UACA,WAAW;AAAA,YACT,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,YAAY,EAAE,UAAU,KAAK,MAAM,gBAAgB;AAAA,UAAA;AAAA,QAEvD;AAAA,QACA,SAAS,CAAC,MAAM;AACd,YAAE,gBAAgB;AACR,oBAAA;AAAA,QACZ;AAAA,QACA,eAAa,CAAC;AAAA,QAEd,UAAAE,kCAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,YAClC,SAAS,EAAE,OAAO,SAAS,MAAM,EAAE;AAAA,YACnC,SAAS,EAAE,OAAO,SAAS,IAAI,IAAI;AAAA,YACnC,YAAY,EAAE,UAAU,IAAI;AAAA,YAC5B,WAAW,cAAc;AAAA,cACvB,SAAS;AAAA,YAAA,CACV;AAAA,YACD,MAAK;AAAA,YACL,cAAU;AAAA,YACV,aAAY;AAAA,YACX,GAAG;AAAA,YAEJ,UAAA;AAAA,cAAAA,kCAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAW;AAAA,oBACT;AAAA,oBACA,kBAAkB,WACd,qCACA,iBACE,kCACA,WACE,iBACA;AAAA,kBACV;AAAA,kBAEC,UAAA;AAAA,oBAAA,YACEF,kCAAA,IAAA,IAAA,EAAG,WAAU,sDACX,UACH,OAAA;AAAA,oBAED,kBACCA,kCAAA;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACC,MAAK;AAAA,wBACL,cAAW;AAAA,wBACX,WAAU;AAAA,wBACV,SAAS,CAAC,MAAM;AACd,4BAAE,gBAAgB;AACR,oCAAA;AAAA,wBAAA;AAAA,sBACZ;AAAA,oBAAA;AAAA,kBACF;AAAA,gBAAA;AAAA,cAEJ;AAAA,cACCA,kCAAAA,IAAA,OAAA,EAAI,WAAU,mDACZ,SACH,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"Modal.mjs","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["'use client';\n\nimport { cva } from 'class-variance-authority';\nimport { m } from 'framer-motion';\nimport { X } from 'lucide-react';\nimport type { FC } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useGetElementOrWindow, useScrollBlockage } from '../../hooks/index';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button';\nimport { Container, type ContainerProps } from '../Container';\nimport { H3 } from '../Headers';\n\ntype ModalProps = {\n children: React.ReactNode;\n isOpen: boolean;\n onClose?: () => void;\n container?: HTMLElement;\n disableScroll?: boolean;\n hasCloseButton?: boolean;\n title?: string;\n size?: Size;\n} & Pick<\n ContainerProps,\n | 'className'\n | 'transparency'\n | 'border'\n | 'background'\n | 'roundedSize'\n | 'borderColor'\n | 'padding'\n | 'separator'\n | 'gap'\n>;\n\nconst modalVariants = cva(\n 'cursor-default overflow-auto p-3 shadow justify-center',\n {\n variants: {\n variant: {\n sm: 'max-h-[30vh] w-[95vw] max-w-xl',\n md: 'max-h-[50vh] w-[95vw] max-w-xl',\n lg: 'max-h-[70vh] w-[95vw] max-w-2xl',\n xl: 'max-h-[95vh] w-[95vw] max-w-3xl',\n unset: 'max-h-[95vh] w-[95vw]',\n },\n },\n defaultVariants: {\n variant: 'unset',\n },\n }\n);\n\ntype Size = 'sm' | 'md' | 'lg' | 'xl' | 'unset';\n\nconst MotionModal = m.create(Container);\n\n/**\n * Usage example:\n * ```jsx\n * <Modal isOpen={isOpen} onClose={onClose}>\n * Modal content\n * </Modal>\n * ```\n */\nexport const Modal: FC<ModalProps> = ({\n children,\n isOpen,\n container,\n disableScroll = false,\n onClose,\n hasCloseButton = false,\n title,\n size = 'md',\n ...props\n}) => {\n const containerElement = useGetElementOrWindow(container);\n\n useScrollBlockage({ key: 'modal', disableScroll: isOpen && disableScroll });\n\n if (!containerElement) return <></>;\n\n const hasTitle = typeof title === 'string';\n\n return createPortal(\n <m.div\n className=\"bg-background/40 dark:bg-background-dark/40 invisible fixed left-0 top-0 z-50 flex size-full cursor-pointer items-center justify-center overflow-auto backdrop-blur\"\n animate={isOpen ? 'visible' : 'invisible'}\n variants={{\n visible: {\n opacity: 1,\n visibility: 'visible',\n transition: { duration: 0.1, when: 'beforeChildren' },\n },\n invisible: {\n opacity: 0,\n visibility: 'hidden',\n transition: { duration: 0.1, when: 'afterChildren' },\n },\n }}\n onClick={(e) => {\n e.stopPropagation();\n onClose?.();\n }}\n aria-hidden={!isOpen}\n >\n <MotionModal\n onClick={(e) => e.stopPropagation()}\n initial={{ scale: isOpen ? 0.5 : 1 }}\n animate={{ scale: isOpen ? 1 : 0.5 }}\n transition={{ duration: 0.3 }}\n className={modalVariants({\n variant: size,\n })}\n role=\"dialog\"\n aria-modal\n roundedSize=\"2xl\"\n {...props}\n >\n <div\n className={cn(\n 'cursor-default',\n hasCloseButton && hasTitle\n ? `flex items-center justify-center`\n : hasCloseButton\n ? `flex items-center justify-end`\n : hasTitle\n ? `items-center`\n : `hidden`\n )}\n >\n {hasTitle && (\n <H3 className=\"flex items-center justify-center text-lg font-bold\">\n {title}\n </H3>\n )}\n {hasCloseButton && (\n <Button\n variant=\"hoverable\"\n color=\"text\"\n label=\"Close modal\"\n className=\"ml-auto\"\n onClick={(e) => {\n e.stopPropagation();\n onClose?.();\n }}\n Icon={X}\n size=\"icon-md\"\n />\n )}\n </div>\n <div className=\"flex flex-1 flex-col items-center overflow-auto\">\n {children}\n </div>\n </MotionModal>\n </m.div>,\n containerElement\n );\n};\n"],"names":["jsx","Fragment","jsxs"],"mappings":";;;;;;;;;;;;;;;;;;;AAmCA,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IAAA;AAAA,EACX;AAEJ;AAIA,MAAM,cAAc,EAAE,OAAO,SAAS;AAU/B,MAAM,QAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACL,MAAM;AACE,QAAA,mBAAmB,sBAAsB,SAAS;AAExD,oBAAkB,EAAE,KAAK,SAAS,eAAe,UAAU,eAAe;AAEtE,MAAA,CAAC,iBAAkB,QAASA,sCAAAC,kBAAAA,UAAA,CAAA,CAAA;AAE1B,QAAA,WAAW,OAAO,UAAU;AAE3B,SAAA;AAAA,IACLD,kCAAA;AAAA,MAAC,EAAE;AAAA,MAAF;AAAA,QACC,WAAU;AAAA,QACV,SAAS,SAAS,YAAY;AAAA,QAC9B,UAAU;AAAA,UACR,SAAS;AAAA,YACP,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,YAAY,EAAE,UAAU,KAAK,MAAM,iBAAiB;AAAA,UACtD;AAAA,UACA,WAAW;AAAA,YACT,SAAS;AAAA,YACT,YAAY;AAAA,YACZ,YAAY,EAAE,UAAU,KAAK,MAAM,gBAAgB;AAAA,UAAA;AAAA,QAEvD;AAAA,QACA,SAAS,CAAC,MAAM;AACd,YAAE,gBAAgB;AACR,oBAAA;AAAA,QACZ;AAAA,QACA,eAAa,CAAC;AAAA,QAEd,UAAAE,kCAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,YAClC,SAAS,EAAE,OAAO,SAAS,MAAM,EAAE;AAAA,YACnC,SAAS,EAAE,OAAO,SAAS,IAAI,IAAI;AAAA,YACnC,YAAY,EAAE,UAAU,IAAI;AAAA,YAC5B,WAAW,cAAc;AAAA,cACvB,SAAS;AAAA,YAAA,CACV;AAAA,YACD,MAAK;AAAA,YACL,cAAU;AAAA,YACV,aAAY;AAAA,YACX,GAAG;AAAA,YAEJ,UAAA;AAAA,cAAAA,kCAAA;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBACC,WAAW;AAAA,oBACT;AAAA,oBACA,kBAAkB,WACd,qCACA,iBACE,kCACA,WACE,iBACA;AAAA,kBACV;AAAA,kBAEC,UAAA;AAAA,oBAAA,YACEF,kCAAA,IAAA,IAAA,EAAG,WAAU,sDACX,UACH,OAAA;AAAA,oBAED,kBACCA,kCAAA;AAAA,sBAAC;AAAA,sBAAA;AAAA,wBACC,SAAQ;AAAA,wBACR,OAAM;AAAA,wBACN,OAAM;AAAA,wBACN,WAAU;AAAA,wBACV,SAAS,CAAC,MAAM;AACd,4BAAE,gBAAgB;AACR,oCAAA;AAAA,wBACZ;AAAA,wBACA,MAAM;AAAA,wBACN,MAAK;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACP;AAAA,gBAAA;AAAA,cAEJ;AAAA,cACCA,kCAAAA,IAAA,OAAA,EAAI,WAAU,mDACZ,SACH,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IACF;AAAA,IACA;AAAA,EACF;AACF;"}
@@ -4,13 +4,13 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("../../jsx-runtime-CgFM7lM3.cjs");
5
5
  const framerMotion = require("framer-motion");
6
6
  const require$$0 = require("react");
7
- const hooks_useScrollBlockage_index = require("../../hooks/useScrollBlockage/index.cjs");
7
+ const hooks_useScrollBlockage_index = require("../../index-Cg-S9ry9.cjs");
8
8
  const hooks_useScrollDetection = require("../../hooks/useScrollDetection.cjs");
9
9
  require("../../hooks/useAsync/useAsyncStateStore.cjs");
10
- require("../../index-DFc7og1d.cjs");
10
+ require("@intlayer/editor-react");
11
+ require("@intlayer/api");
11
12
  require("@intlayer/config/client");
12
13
  require("../Toaster/Toast.cjs");
13
- require("@intlayer/dictionaries-entry");
14
14
  require("deepmerge");
15
15
  const utils_cn = require("../../utils/cn.cjs");
16
16
  const components_MaxHeightSmoother_index = require("../MaxHeightSmoother/index.cjs");
@@ -2,13 +2,13 @@
2
2
  import { j as jsxRuntimeExports } from "../../jsx-runtime-DQkoUcjV.js";
3
3
  import { m } from "framer-motion";
4
4
  import { useState, useRef } from "react";
5
- import { useScrollBlockage } from "../../hooks/useScrollBlockage/index.mjs";
5
+ import { u as useScrollBlockage } from "../../index-O_7rYrbW.js";
6
6
  import { useScrollDetection } from "../../hooks/useScrollDetection.mjs";
7
7
  import "../../hooks/useAsync/useAsyncStateStore.mjs";
8
- import "../../index-DcWYZrJW.js";
8
+ import "@intlayer/editor-react";
9
+ import "@intlayer/api";
9
10
  import "@intlayer/config/client";
10
11
  import "../Toaster/Toast.mjs";
11
- import "@intlayer/dictionaries-entry";
12
12
  import "deepmerge";
13
13
  import { cn } from "../../utils/cn.mjs";
14
14
  import { MaxHeightSmoother } from "../MaxHeightSmoother/index.mjs";
@@ -7,10 +7,10 @@ require("react");
7
7
  require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
8
8
  const hooks_useIsMounted = require("../../hooks/useIsMounted.cjs");
9
9
  require("../../hooks/useAsync/useAsyncStateStore.cjs");
10
- require("../../index-DFc7og1d.cjs");
10
+ require("@intlayer/editor-react");
11
+ require("@intlayer/api");
11
12
  require("@intlayer/config/client");
12
13
  require("../Toaster/Toast.cjs");
13
- require("@intlayer/dictionaries-entry");
14
14
  require("deepmerge");
15
15
  const components_Navbar_DesktopNavbar = require("./DesktopNavbar.cjs");
16
16
  const components_Navbar_MobileNavbar = require("./MobileNavbar.cjs");
@@ -5,10 +5,10 @@ import "react";
5
5
  import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
6
6
  import { useIsMounted } from "../../hooks/useIsMounted.mjs";
7
7
  import "../../hooks/useAsync/useAsyncStateStore.mjs";
8
- import "../../index-DcWYZrJW.js";
8
+ import "@intlayer/editor-react";
9
+ import "@intlayer/api";
9
10
  import "@intlayer/config/client";
10
11
  import "../Toaster/Toast.mjs";
11
- import "@intlayer/dictionaries-entry";
12
12
  import "deepmerge";
13
13
  import { DesktopNavbar } from "./DesktopNavbar.mjs";
14
14
  import { MobileNavbar } from "./MobileNavbar.mjs";
@@ -4,10 +4,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const jsxRuntime = require("../../jsx-runtime-CgFM7lM3.cjs");
5
5
  const lucideReact = require("lucide-react");
6
6
  const require$$0 = require("react");
7
- const shallow = require("../../shallow-lhDIFtEp.cjs");
7
+ const hooks_useScrollBlockage_index = require("../../index-Cg-S9ry9.cjs");
8
8
  const hooks_useDevice = require("../../hooks/useDevice.cjs");
9
- const hooks_useScrollBlockage_index = require("../../hooks/useScrollBlockage/index.cjs");
10
9
  const utils_isElementAtTopAndNotCovered = require("../../utils/isElementAtTopAndNotCovered.cjs");
10
+ const components_Button_Button = require("../Button/Button.cjs");
11
11
  const components_Container_index = require("../Container/index.cjs");
12
12
  const components_MaxWidthSmoother_index = require("../MaxWidthSmoother/index.cjs");
13
13
  const components_RightDrawer_useRightDrawerStore = require("./useRightDrawerStore.cjs");
@@ -25,7 +25,7 @@ const RightDrawer = ({
25
25
  const panelRef = require$$0.useRef(null);
26
26
  const childrenContainerRef = require$$0.useRef(null);
27
27
  const { close, open, isOpen } = components_RightDrawer_useRightDrawerStore.useRightDrawerStore(
28
- shallow.useShallow((s) => ({
28
+ hooks_useScrollBlockage_index.useShallow((s) => ({
29
29
  close: () => s.close(identifier),
30
30
  open: () => s.open(identifier),
31
31
  isOpen: s.isOpen(identifier)
@@ -37,17 +37,22 @@ const RightDrawer = ({
37
37
  });
38
38
  require$$0.useEffect(() => {
39
39
  const handleClickOutside = (event) => {
40
- if (!panelRef.current) return;
41
- const isClickAble = isOpen && closeOnOutsideClick;
42
- const isClickOutside = !panelRef.current.contains(event.target);
43
- const isAtTopAndVisible = utils_isElementAtTopAndNotCovered.isElementAtTopAndNotCovered(panelRef.current);
44
- if (isClickAble && isClickOutside && isAtTopAndVisible) {
40
+ try {
41
+ if (!panelRef.current) return;
42
+ const isClickAble = isOpen && closeOnOutsideClick;
43
+ const isClickOutside = event.target && !panelRef.current.contains(event.target);
44
+ const isAtTopAndVisible = utils_isElementAtTopAndNotCovered.isElementAtTopAndNotCovered(panelRef.current);
45
+ if (isClickAble && isClickOutside && isAtTopAndVisible || !event.target) {
46
+ close();
47
+ onClose?.();
48
+ }
49
+ } catch (_e) {
45
50
  close();
46
51
  onClose?.();
47
52
  }
48
53
  };
49
- document.addEventListener("mousedown", handleClickOutside);
50
- return () => document.removeEventListener("mousedown", handleClickOutside);
54
+ window.addEventListener("mousedown", handleClickOutside);
55
+ return () => window.removeEventListener("mousedown", handleClickOutside);
51
56
  }, [isOpen, close, onClose, closeOnOutsideClick, identifier]);
52
57
  require$$0.useEffect(() => {
53
58
  if (isOpenProp !== void 0) {
@@ -77,18 +82,29 @@ const RightDrawer = ({
77
82
  children: [
78
83
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-3 p-6", children: [
79
84
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs("div", { className: "flex justify-between gap-3", children: [
80
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("div", { children: backButton && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsxs(
81
- "button",
85
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("div", { children: backButton && /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
86
+ components_Button_Button.Button,
82
87
  {
83
- className: "flex cursor-pointer flex-row items-center gap-1 text-left",
88
+ variant: "hoverable",
89
+ color: "text",
90
+ label: backButton.text ?? "Go back",
84
91
  onClick: backButton.onBack,
85
- children: [
86
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(lucideReact.ChevronLeft, {}),
87
- backButton?.text
88
- ]
92
+ Icon: lucideReact.ChevronLeft,
93
+ children: backButton?.text
89
94
  }
90
95
  ) }),
91
- /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(lucideReact.X, { className: "ml-auto cursor-pointer", onClick: close })
96
+ /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx(
97
+ components_Button_Button.Button,
98
+ {
99
+ variant: "hoverable",
100
+ color: "text",
101
+ label: "Close",
102
+ className: "ml-auto",
103
+ onClick: close,
104
+ Icon: lucideReact.X,
105
+ size: "icon-md"
106
+ }
107
+ )
92
108
  ] }),
93
109
  /* @__PURE__ */ jsxRuntime.jsxRuntimeExports.jsx("h2", { className: "flex items-center justify-center text-lg font-bold", children: title }),
94
110
  header
@@ -1 +1 @@
1
- {"version":3,"file":"RightDrawer.cjs","sources":["../../../src/components/RightDrawer/RightDrawer.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n'use client';\n\nimport { ChevronLeft, X } from 'lucide-react';\nimport {\n type ReactNode,\n type FC,\n useEffect,\n useRef,\n type MouseEventHandler,\n} from 'react';\nimport { useShallow } from 'zustand/react/shallow';\nimport { useDevice } from '../../hooks/useDevice';\nimport { useScrollBlockage } from '../../hooks/useScrollBlockage';\nimport { isElementAtTopAndNotCovered } from '../../utils/isElementAtTopAndNotCovered';\nimport { Container } from '../Container';\nimport { MaxWidthSmoother } from '../MaxWidthSmoother/index';\nimport { useRightDrawerStore } from './useRightDrawerStore';\n\ntype BackButtonProps = {\n onBack: () => void;\n text?: string;\n};\n\ntype RightDrawerProps = {\n title?: ReactNode;\n identifier: string;\n children?: ReactNode;\n header?: ReactNode;\n closeOnOutsideClick?: boolean;\n backButton?: BackButtonProps;\n isOpen?: boolean;\n onClose?: () => void;\n};\n\nexport const RightDrawer: FC<RightDrawerProps> = ({\n title,\n identifier,\n children,\n header,\n closeOnOutsideClick = true,\n backButton,\n isOpen: isOpenProp,\n onClose,\n}) => {\n const { isMobile } = useDevice('md');\n const panelRef = useRef<HTMLDivElement>(null);\n const childrenContainerRef = useRef<HTMLDivElement>(null);\n const { close, open, isOpen } = useRightDrawerStore(\n useShallow((s) => ({\n close: () => s.close(identifier),\n open: () => s.open(identifier),\n isOpen: s.isOpen(identifier),\n }))\n );\n\n useScrollBlockage({\n disableScroll: isOpen,\n key: identifier ? `right_drawer_${identifier}` : 'right_drawer',\n });\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (!panelRef.current) return;\n\n // Check if drawer is open and click outside is enabled\n const isClickAble = isOpen && closeOnOutsideClick;\n // Check if click is outside the drawer panel\n const isClickOutside = !panelRef.current.contains(event.target as Node);\n // Check if event propagation has been stopped\n const isAtTopAndVisible = isElementAtTopAndNotCovered(panelRef.current);\n\n if (isClickAble && isClickOutside && isAtTopAndVisible) {\n close();\n onClose?.();\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [isOpen, close, onClose, closeOnOutsideClick, identifier]); // Make sure the effect runs only if isOpen or close changes\n\n useEffect(() => {\n if (isOpenProp !== undefined) {\n if (isOpenProp) {\n open();\n } else {\n close();\n onClose?.();\n }\n }\n }, [close, open, onClose, isOpenProp, identifier]);\n\n const handleSpareSpaceClick: MouseEventHandler<HTMLDivElement> = (e) => {\n // Check if the click trigger the background\n if (e.target !== e.currentTarget) {\n return;\n }\n\n if (isMobile) {\n close();\n onClose?.();\n }\n };\n\n return (\n <div className=\"fixed right-0 top-0 z-50 flex h-full justify-end\">\n <MaxWidthSmoother isHidden={!isOpen} align=\"right\">\n <Container\n className=\"text-text dark:text-text-dark relative flex h-screen w-screen flex-col md:w-[400px]\"\n ref={panelRef}\n roundedSize=\"none\"\n >\n <div className=\"flex flex-col gap-3 p-6\">\n <div className=\"flex justify-between gap-3\">\n <div>\n {backButton && (\n <button\n className=\"flex cursor-pointer flex-row items-center gap-1 text-left\"\n onClick={backButton.onBack}\n >\n <ChevronLeft />\n {backButton?.text}\n </button>\n )}\n </div>\n <X className=\"ml-auto cursor-pointer\" onClick={close} />\n </div>\n <h2 className=\"flex items-center justify-center text-lg font-bold\">\n {title}\n </h2>\n {header}\n </div>\n\n <div className=\"flex h-full flex-col overflow-y-auto p-2\">\n <div\n className=\"flex-1\"\n onClick={handleSpareSpaceClick}\n ref={childrenContainerRef}\n >\n {children}\n </div>\n </div>\n </Container>\n </MaxWidthSmoother>\n </div>\n );\n};\n"],"names":["useDevice","useRef","useRightDrawerStore","useShallow","useScrollBlockage","useEffect","isElementAtTopAndNotCovered","jsx","MaxWidthSmoother","jsxs","Container","ChevronLeft","X"],"mappings":"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"}
1
+ {"version":3,"file":"RightDrawer.cjs","sources":["../../../src/components/RightDrawer/RightDrawer.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n'use client';\n\nimport { ChevronLeft, X } from 'lucide-react';\nimport {\n type ReactNode,\n type FC,\n useEffect,\n useRef,\n type MouseEventHandler,\n} from 'react';\nimport { useShallow } from 'zustand/react/shallow';\nimport { useDevice } from '../../hooks/useDevice';\nimport { useScrollBlockage } from '../../hooks/useScrollBlockage';\nimport { isElementAtTopAndNotCovered } from '../../utils/isElementAtTopAndNotCovered';\nimport { Button } from '../Button';\nimport { Container } from '../Container';\nimport { MaxWidthSmoother } from '../MaxWidthSmoother/index';\nimport { useRightDrawerStore } from './useRightDrawerStore';\n\ntype BackButtonProps = {\n onBack: () => void;\n text?: string;\n};\n\ntype RightDrawerProps = {\n title?: ReactNode;\n identifier: string;\n children?: ReactNode;\n header?: ReactNode;\n closeOnOutsideClick?: boolean;\n backButton?: BackButtonProps;\n isOpen?: boolean;\n onClose?: () => void;\n};\n\nexport const RightDrawer: FC<RightDrawerProps> = ({\n title,\n identifier,\n children,\n header,\n closeOnOutsideClick = true,\n backButton,\n isOpen: isOpenProp,\n onClose,\n}) => {\n const { isMobile } = useDevice('md');\n const panelRef = useRef<HTMLDivElement>(null);\n const childrenContainerRef = useRef<HTMLDivElement>(null);\n const { close, open, isOpen } = useRightDrawerStore(\n useShallow((s) => ({\n close: () => s.close(identifier),\n open: () => s.open(identifier),\n isOpen: s.isOpen(identifier),\n }))\n );\n\n useScrollBlockage({\n disableScroll: isOpen,\n key: identifier ? `right_drawer_${identifier}` : 'right_drawer',\n });\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n try {\n if (!panelRef.current) return;\n\n // Check if drawer is open and click outside is enabled\n const isClickAble = isOpen && closeOnOutsideClick;\n\n // Check if click is outside the drawer panel\n const isClickOutside =\n event.target && !panelRef.current.contains(event.target as Node);\n\n // Check if event propagation has been stopped\n const isAtTopAndVisible = isElementAtTopAndNotCovered(panelRef.current);\n\n if (\n (isClickAble && isClickOutside && isAtTopAndVisible) ||\n !event.target\n ) {\n close();\n onClose?.();\n }\n } catch (_e) {\n close();\n onClose?.();\n }\n };\n\n window.addEventListener('mousedown', handleClickOutside);\n return () => window.removeEventListener('mousedown', handleClickOutside);\n }, [isOpen, close, onClose, closeOnOutsideClick, identifier]); // Make sure the effect runs only if isOpen or close changes\n\n useEffect(() => {\n if (isOpenProp !== undefined) {\n if (isOpenProp) {\n open();\n } else {\n close();\n onClose?.();\n }\n }\n }, [close, open, onClose, isOpenProp, identifier]);\n\n const handleSpareSpaceClick: MouseEventHandler<HTMLDivElement> = (e) => {\n // Check if the click trigger the background\n if (e.target !== e.currentTarget) {\n return;\n }\n\n if (isMobile) {\n close();\n onClose?.();\n }\n };\n\n return (\n <div className=\"fixed right-0 top-0 z-50 flex h-full justify-end\">\n <MaxWidthSmoother isHidden={!isOpen} align=\"right\">\n <Container\n className=\"text-text dark:text-text-dark relative flex h-screen w-screen flex-col md:w-[400px]\"\n ref={panelRef}\n roundedSize=\"none\"\n >\n <div className=\"flex flex-col gap-3 p-6\">\n <div className=\"flex justify-between gap-3\">\n <div>\n {backButton && (\n <Button\n variant=\"hoverable\"\n color=\"text\"\n label={backButton.text ?? 'Go back'}\n onClick={backButton.onBack}\n Icon={ChevronLeft}\n >\n {backButton?.text}\n </Button>\n )}\n </div>\n <Button\n variant=\"hoverable\"\n color=\"text\"\n label=\"Close\"\n className=\"ml-auto\"\n onClick={close}\n Icon={X}\n size=\"icon-md\"\n />\n </div>\n <h2 className=\"flex items-center justify-center text-lg font-bold\">\n {title}\n </h2>\n {header}\n </div>\n\n <div className=\"flex h-full flex-col overflow-y-auto p-2\">\n <div\n className=\"flex-1\"\n onClick={handleSpareSpaceClick}\n ref={childrenContainerRef}\n >\n {children}\n </div>\n </div>\n </Container>\n </MaxWidthSmoother>\n </div>\n );\n};\n"],"names":["useDevice","useRef","useRightDrawerStore","useShallow","useScrollBlockage","useEffect","isElementAtTopAndNotCovered","jsx","MaxWidthSmoother","jsxs","Container","Button","ChevronLeft","X"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RightDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/RightDrawer/RightDrawer.tsx"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AASf,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAgH5C,CAAC"}
1
+ {"version":3,"file":"RightDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/RightDrawer/RightDrawer.tsx"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,EAAE,EAIR,MAAM,OAAO,CAAC;AAUf,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAqI5C,CAAC"}
@@ -2,10 +2,10 @@
2
2
  import { j as jsxRuntimeExports } from "../../jsx-runtime-DQkoUcjV.js";
3
3
  import { ChevronLeft, X } from "lucide-react";
4
4
  import { useRef, useEffect } from "react";
5
- import { u as useShallow } from "../../shallow-m9BpCkKh.js";
5
+ import { a as useShallow, u as useScrollBlockage } from "../../index-O_7rYrbW.js";
6
6
  import { useDevice } from "../../hooks/useDevice.mjs";
7
- import { useScrollBlockage } from "../../hooks/useScrollBlockage/index.mjs";
8
7
  import { isElementAtTopAndNotCovered } from "../../utils/isElementAtTopAndNotCovered.mjs";
8
+ import { Button } from "../Button/Button.mjs";
9
9
  import { Container } from "../Container/index.mjs";
10
10
  import { MaxWidthSmoother } from "../MaxWidthSmoother/index.mjs";
11
11
  import { useRightDrawerStore } from "./useRightDrawerStore.mjs";
@@ -35,17 +35,22 @@ const RightDrawer = ({
35
35
  });
36
36
  useEffect(() => {
37
37
  const handleClickOutside = (event) => {
38
- if (!panelRef.current) return;
39
- const isClickAble = isOpen && closeOnOutsideClick;
40
- const isClickOutside = !panelRef.current.contains(event.target);
41
- const isAtTopAndVisible = isElementAtTopAndNotCovered(panelRef.current);
42
- if (isClickAble && isClickOutside && isAtTopAndVisible) {
38
+ try {
39
+ if (!panelRef.current) return;
40
+ const isClickAble = isOpen && closeOnOutsideClick;
41
+ const isClickOutside = event.target && !panelRef.current.contains(event.target);
42
+ const isAtTopAndVisible = isElementAtTopAndNotCovered(panelRef.current);
43
+ if (isClickAble && isClickOutside && isAtTopAndVisible || !event.target) {
44
+ close();
45
+ onClose?.();
46
+ }
47
+ } catch (_e) {
43
48
  close();
44
49
  onClose?.();
45
50
  }
46
51
  };
47
- document.addEventListener("mousedown", handleClickOutside);
48
- return () => document.removeEventListener("mousedown", handleClickOutside);
52
+ window.addEventListener("mousedown", handleClickOutside);
53
+ return () => window.removeEventListener("mousedown", handleClickOutside);
49
54
  }, [isOpen, close, onClose, closeOnOutsideClick, identifier]);
50
55
  useEffect(() => {
51
56
  if (isOpenProp !== void 0) {
@@ -75,18 +80,29 @@ const RightDrawer = ({
75
80
  children: [
76
81
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-3 p-6", children: [
77
82
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex justify-between gap-3", children: [
78
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: backButton && /* @__PURE__ */ jsxRuntimeExports.jsxs(
79
- "button",
83
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: backButton && /* @__PURE__ */ jsxRuntimeExports.jsx(
84
+ Button,
80
85
  {
81
- className: "flex cursor-pointer flex-row items-center gap-1 text-left",
86
+ variant: "hoverable",
87
+ color: "text",
88
+ label: backButton.text ?? "Go back",
82
89
  onClick: backButton.onBack,
83
- children: [
84
- /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronLeft, {}),
85
- backButton?.text
86
- ]
90
+ Icon: ChevronLeft,
91
+ children: backButton?.text
87
92
  }
88
93
  ) }),
89
- /* @__PURE__ */ jsxRuntimeExports.jsx(X, { className: "ml-auto cursor-pointer", onClick: close })
94
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
95
+ Button,
96
+ {
97
+ variant: "hoverable",
98
+ color: "text",
99
+ label: "Close",
100
+ className: "ml-auto",
101
+ onClick: close,
102
+ Icon: X,
103
+ size: "icon-md"
104
+ }
105
+ )
90
106
  ] }),
91
107
  /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: "flex items-center justify-center text-lg font-bold", children: title }),
92
108
  header
@@ -1 +1 @@
1
- {"version":3,"file":"RightDrawer.mjs","sources":["../../../src/components/RightDrawer/RightDrawer.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n'use client';\n\nimport { ChevronLeft, X } from 'lucide-react';\nimport {\n type ReactNode,\n type FC,\n useEffect,\n useRef,\n type MouseEventHandler,\n} from 'react';\nimport { useShallow } from 'zustand/react/shallow';\nimport { useDevice } from '../../hooks/useDevice';\nimport { useScrollBlockage } from '../../hooks/useScrollBlockage';\nimport { isElementAtTopAndNotCovered } from '../../utils/isElementAtTopAndNotCovered';\nimport { Container } from '../Container';\nimport { MaxWidthSmoother } from '../MaxWidthSmoother/index';\nimport { useRightDrawerStore } from './useRightDrawerStore';\n\ntype BackButtonProps = {\n onBack: () => void;\n text?: string;\n};\n\ntype RightDrawerProps = {\n title?: ReactNode;\n identifier: string;\n children?: ReactNode;\n header?: ReactNode;\n closeOnOutsideClick?: boolean;\n backButton?: BackButtonProps;\n isOpen?: boolean;\n onClose?: () => void;\n};\n\nexport const RightDrawer: FC<RightDrawerProps> = ({\n title,\n identifier,\n children,\n header,\n closeOnOutsideClick = true,\n backButton,\n isOpen: isOpenProp,\n onClose,\n}) => {\n const { isMobile } = useDevice('md');\n const panelRef = useRef<HTMLDivElement>(null);\n const childrenContainerRef = useRef<HTMLDivElement>(null);\n const { close, open, isOpen } = useRightDrawerStore(\n useShallow((s) => ({\n close: () => s.close(identifier),\n open: () => s.open(identifier),\n isOpen: s.isOpen(identifier),\n }))\n );\n\n useScrollBlockage({\n disableScroll: isOpen,\n key: identifier ? `right_drawer_${identifier}` : 'right_drawer',\n });\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (!panelRef.current) return;\n\n // Check if drawer is open and click outside is enabled\n const isClickAble = isOpen && closeOnOutsideClick;\n // Check if click is outside the drawer panel\n const isClickOutside = !panelRef.current.contains(event.target as Node);\n // Check if event propagation has been stopped\n const isAtTopAndVisible = isElementAtTopAndNotCovered(panelRef.current);\n\n if (isClickAble && isClickOutside && isAtTopAndVisible) {\n close();\n onClose?.();\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, [isOpen, close, onClose, closeOnOutsideClick, identifier]); // Make sure the effect runs only if isOpen or close changes\n\n useEffect(() => {\n if (isOpenProp !== undefined) {\n if (isOpenProp) {\n open();\n } else {\n close();\n onClose?.();\n }\n }\n }, [close, open, onClose, isOpenProp, identifier]);\n\n const handleSpareSpaceClick: MouseEventHandler<HTMLDivElement> = (e) => {\n // Check if the click trigger the background\n if (e.target !== e.currentTarget) {\n return;\n }\n\n if (isMobile) {\n close();\n onClose?.();\n }\n };\n\n return (\n <div className=\"fixed right-0 top-0 z-50 flex h-full justify-end\">\n <MaxWidthSmoother isHidden={!isOpen} align=\"right\">\n <Container\n className=\"text-text dark:text-text-dark relative flex h-screen w-screen flex-col md:w-[400px]\"\n ref={panelRef}\n roundedSize=\"none\"\n >\n <div className=\"flex flex-col gap-3 p-6\">\n <div className=\"flex justify-between gap-3\">\n <div>\n {backButton && (\n <button\n className=\"flex cursor-pointer flex-row items-center gap-1 text-left\"\n onClick={backButton.onBack}\n >\n <ChevronLeft />\n {backButton?.text}\n </button>\n )}\n </div>\n <X className=\"ml-auto cursor-pointer\" onClick={close} />\n </div>\n <h2 className=\"flex items-center justify-center text-lg font-bold\">\n {title}\n </h2>\n {header}\n </div>\n\n <div className=\"flex h-full flex-col overflow-y-auto p-2\">\n <div\n className=\"flex-1\"\n onClick={handleSpareSpaceClick}\n ref={childrenContainerRef}\n >\n {children}\n </div>\n </div>\n </Container>\n </MaxWidthSmoother>\n </div>\n );\n};\n"],"names":["jsx","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"RightDrawer.mjs","sources":["../../../src/components/RightDrawer/RightDrawer.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n'use client';\n\nimport { ChevronLeft, X } from 'lucide-react';\nimport {\n type ReactNode,\n type FC,\n useEffect,\n useRef,\n type MouseEventHandler,\n} from 'react';\nimport { useShallow } from 'zustand/react/shallow';\nimport { useDevice } from '../../hooks/useDevice';\nimport { useScrollBlockage } from '../../hooks/useScrollBlockage';\nimport { isElementAtTopAndNotCovered } from '../../utils/isElementAtTopAndNotCovered';\nimport { Button } from '../Button';\nimport { Container } from '../Container';\nimport { MaxWidthSmoother } from '../MaxWidthSmoother/index';\nimport { useRightDrawerStore } from './useRightDrawerStore';\n\ntype BackButtonProps = {\n onBack: () => void;\n text?: string;\n};\n\ntype RightDrawerProps = {\n title?: ReactNode;\n identifier: string;\n children?: ReactNode;\n header?: ReactNode;\n closeOnOutsideClick?: boolean;\n backButton?: BackButtonProps;\n isOpen?: boolean;\n onClose?: () => void;\n};\n\nexport const RightDrawer: FC<RightDrawerProps> = ({\n title,\n identifier,\n children,\n header,\n closeOnOutsideClick = true,\n backButton,\n isOpen: isOpenProp,\n onClose,\n}) => {\n const { isMobile } = useDevice('md');\n const panelRef = useRef<HTMLDivElement>(null);\n const childrenContainerRef = useRef<HTMLDivElement>(null);\n const { close, open, isOpen } = useRightDrawerStore(\n useShallow((s) => ({\n close: () => s.close(identifier),\n open: () => s.open(identifier),\n isOpen: s.isOpen(identifier),\n }))\n );\n\n useScrollBlockage({\n disableScroll: isOpen,\n key: identifier ? `right_drawer_${identifier}` : 'right_drawer',\n });\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n try {\n if (!panelRef.current) return;\n\n // Check if drawer is open and click outside is enabled\n const isClickAble = isOpen && closeOnOutsideClick;\n\n // Check if click is outside the drawer panel\n const isClickOutside =\n event.target && !panelRef.current.contains(event.target as Node);\n\n // Check if event propagation has been stopped\n const isAtTopAndVisible = isElementAtTopAndNotCovered(panelRef.current);\n\n if (\n (isClickAble && isClickOutside && isAtTopAndVisible) ||\n !event.target\n ) {\n close();\n onClose?.();\n }\n } catch (_e) {\n close();\n onClose?.();\n }\n };\n\n window.addEventListener('mousedown', handleClickOutside);\n return () => window.removeEventListener('mousedown', handleClickOutside);\n }, [isOpen, close, onClose, closeOnOutsideClick, identifier]); // Make sure the effect runs only if isOpen or close changes\n\n useEffect(() => {\n if (isOpenProp !== undefined) {\n if (isOpenProp) {\n open();\n } else {\n close();\n onClose?.();\n }\n }\n }, [close, open, onClose, isOpenProp, identifier]);\n\n const handleSpareSpaceClick: MouseEventHandler<HTMLDivElement> = (e) => {\n // Check if the click trigger the background\n if (e.target !== e.currentTarget) {\n return;\n }\n\n if (isMobile) {\n close();\n onClose?.();\n }\n };\n\n return (\n <div className=\"fixed right-0 top-0 z-50 flex h-full justify-end\">\n <MaxWidthSmoother isHidden={!isOpen} align=\"right\">\n <Container\n className=\"text-text dark:text-text-dark relative flex h-screen w-screen flex-col md:w-[400px]\"\n ref={panelRef}\n roundedSize=\"none\"\n >\n <div className=\"flex flex-col gap-3 p-6\">\n <div className=\"flex justify-between gap-3\">\n <div>\n {backButton && (\n <Button\n variant=\"hoverable\"\n color=\"text\"\n label={backButton.text ?? 'Go back'}\n onClick={backButton.onBack}\n Icon={ChevronLeft}\n >\n {backButton?.text}\n </Button>\n )}\n </div>\n <Button\n variant=\"hoverable\"\n color=\"text\"\n label=\"Close\"\n className=\"ml-auto\"\n onClick={close}\n Icon={X}\n size=\"icon-md\"\n />\n </div>\n <h2 className=\"flex items-center justify-center text-lg font-bold\">\n {title}\n </h2>\n {header}\n </div>\n\n <div className=\"flex h-full flex-col overflow-y-auto p-2\">\n <div\n className=\"flex-1\"\n onClick={handleSpareSpaceClick}\n ref={childrenContainerRef}\n >\n {children}\n </div>\n </div>\n </Container>\n </MaxWidthSmoother>\n </div>\n );\n};\n"],"names":["jsx","jsxs"],"mappings":"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"}
@@ -6,11 +6,11 @@ const require$$0 = require("react");
6
6
  const classVarianceAuthority = require("class-variance-authority");
7
7
  require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
8
8
  require("../../hooks/useAsync/useAsyncStateStore.cjs");
9
- require("../../index-DFc7og1d.cjs");
9
+ require("@intlayer/editor-react");
10
+ require("@intlayer/api");
10
11
  require("@intlayer/config/client");
11
12
  require("../Toaster/Toast.cjs");
12
13
  const hooks_useItemSelector = require("../../hooks/useItemSelector.cjs");
13
- require("@intlayer/dictionaries-entry");
14
14
  require("deepmerge");
15
15
  const utils_cn = require("../../utils/cn.cjs");
16
16
  const defaultChoices = [
@@ -4,11 +4,11 @@ import { useState, useRef, useEffect, createElement } from "react";
4
4
  import { cva } from "class-variance-authority";
5
5
  import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
6
6
  import "../../hooks/useAsync/useAsyncStateStore.mjs";
7
- import "../../index-DcWYZrJW.js";
7
+ import "@intlayer/editor-react";
8
+ import "@intlayer/api";
8
9
  import "@intlayer/config/client";
9
10
  import "../Toaster/Toast.mjs";
10
11
  import { useItemSelector } from "../../hooks/useItemSelector.mjs";
11
- import "@intlayer/dictionaries-entry";
12
12
  import "deepmerge";
13
13
  import { cn } from "../../utils/cn.mjs";
14
14
  const defaultChoices = [
@@ -6,11 +6,11 @@ const classVarianceAuthority = require("class-variance-authority");
6
6
  const require$$0 = require("react");
7
7
  require("../../hooks/useScrollBlockage/useScrollBlockageStore.cjs");
8
8
  require("../../hooks/useAsync/useAsyncStateStore.cjs");
9
- require("../../index-DFc7og1d.cjs");
9
+ require("@intlayer/editor-react");
10
+ require("@intlayer/api");
10
11
  require("@intlayer/config/client");
11
12
  require("../Toaster/Toast.cjs");
12
13
  const hooks_useItemSelector = require("../../hooks/useItemSelector.cjs");
13
- require("@intlayer/dictionaries-entry");
14
14
  require("deepmerge");
15
15
  const utils_cn = require("../../utils/cn.cjs");
16
16
  const tabSelectorVariant = classVarianceAuthority.cva(
@@ -4,11 +4,11 @@ import { cva } from "class-variance-authority";
4
4
  import { useRef, cloneElement } from "react";
5
5
  import "../../hooks/useScrollBlockage/useScrollBlockageStore.mjs";
6
6
  import "../../hooks/useAsync/useAsyncStateStore.mjs";
7
- import "../../index-DcWYZrJW.js";
7
+ import "@intlayer/editor-react";
8
+ import "@intlayer/api";
8
9
  import "@intlayer/config/client";
9
10
  import "../Toaster/Toast.mjs";
10
11
  import { useItemSelector } from "../../hooks/useItemSelector.mjs";
11
- import "@intlayer/dictionaries-entry";
12
12
  import "deepmerge";
13
13
  import { cn } from "../../utils/cn.mjs";
14
14
  const tabSelectorVariant = cva(
@@ -6,8 +6,6 @@ const components_RightDrawer_RightDrawer = require("./RightDrawer/RightDrawer.cj
6
6
  const components_RightDrawer_useRightDrawerStore = require("./RightDrawer/useRightDrawerStore.cjs");
7
7
  const components_PressableSpan_PressableSpan = require("./PressableSpan/PressableSpan.cjs");
8
8
  const components_ContentSelector_ContentSelector = require("./ContentSelector/ContentSelector.cjs");
9
- const components_DictionaryEditor_useEditedContentStore = require("./DictionaryEditor/useEditedContentStore.cjs");
10
- const components_DictionaryEditor_useEditionPanelStore = require("./DictionaryEditor/useEditionPanelStore.cjs");
11
9
  const components_DictionaryEditor_DictionaryEditor = require("./DictionaryEditor/DictionaryEditor.cjs");
12
10
  const components_DictionaryFieldEditor_DictionariesSelector_DictionariesSelector = require("./DictionaryFieldEditor/DictionariesSelector/DictionariesSelector.cjs");
13
11
  const components_DictionaryFieldEditor_DictionaryCreationForm_DictionaryCreationForm = require("./DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.cjs");
@@ -80,15 +78,12 @@ const components_LocaleSwitcherDropDown_LocaleSwitcher = require("./LocaleSwitch
80
78
  const components_LocaleSwitcherContentDropDown_LocaleSwitcherContent = require("./LocaleSwitcherContentDropDown/LocaleSwitcherContent.cjs");
81
79
  const components_LocaleSwitcherContentDropDown_LocaleSwitcherContentContext = require("./LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.cjs");
82
80
  const components_ClickOutsideDiv_index = require("./ClickOutsideDiv/index.cjs");
83
- const utils_dictionary = require("../utils/dictionary.cjs");
84
81
  exports.MaxHeightSmoother = components_MaxHeightSmoother_index.MaxHeightSmoother;
85
82
  exports.MaxWidthSmoother = components_MaxWidthSmoother_index.MaxWidthSmoother;
86
83
  exports.RightDrawer = components_RightDrawer_RightDrawer.RightDrawer;
87
84
  exports.useRightDrawerStore = components_RightDrawer_useRightDrawerStore.useRightDrawerStore;
88
85
  exports.PressableSpan = components_PressableSpan_PressableSpan.PressableSpan;
89
86
  exports.ContentSelector = components_ContentSelector_ContentSelector.ContentSelector;
90
- exports.useEditedContentStore = components_DictionaryEditor_useEditedContentStore.useEditedContentStore;
91
- exports.useEditionPanelStore = components_DictionaryEditor_useEditionPanelStore.useEditionPanelStore;
92
87
  exports.DictionaryEditor = components_DictionaryEditor_DictionaryEditor.DictionaryEditor;
93
88
  exports.DictionariesSelector = components_DictionaryFieldEditor_DictionariesSelector_DictionariesSelector.DictionariesSelector;
94
89
  exports.DictionaryCreationForm = components_DictionaryFieldEditor_DictionaryCreationForm_DictionaryCreationForm.DictionaryCreationForm;
@@ -185,7 +180,4 @@ exports.LocaleSwitcherContent = components_LocaleSwitcherContentDropDown_LocaleS
185
180
  exports.LocaleSwitcherContentProvider = components_LocaleSwitcherContentDropDown_LocaleSwitcherContentContext.LocaleSwitcherContentProvider;
186
181
  exports.useLocaleSwitcherContent = components_LocaleSwitcherContentDropDown_LocaleSwitcherContentContext.useLocaleSwitcherContent;
187
182
  exports.ClickOutsideDiv = components_ClickOutsideDiv_index.ClickOutsideDiv;
188
- exports.editDictionaryByKeyPath = utils_dictionary.editDictionaryByKeyPath;
189
- exports.getDictionaryValueByKeyPath = utils_dictionary.getDictionaryValueByKeyPath;
190
- exports.renameDictionaryValueByKeyPath = utils_dictionary.renameDictionaryValueByKeyPath;
191
183
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}