reaxify 1.2.0 → 1.3.1

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 (190) hide show
  1. package/dist/_virtual/_commonjsHelpers.cjs.js +1 -1
  2. package/dist/_virtual/_commonjsHelpers.es.js +3 -4
  3. package/dist/_virtual/index.cjs.js +1 -1
  4. package/dist/_virtual/index.cjs2.js +1 -1
  5. package/dist/_virtual/index.cjs3.js +1 -1
  6. package/dist/_virtual/index.es.js +3 -4
  7. package/dist/_virtual/index.es2.js +2 -3
  8. package/dist/_virtual/index.es3.js +0 -1
  9. package/dist/_virtual/react-is.development.cjs.js +1 -1
  10. package/dist/_virtual/react-is.development.es.js +0 -1
  11. package/dist/_virtual/react-is.production.min.cjs.js +1 -1
  12. package/dist/_virtual/react-is.production.min.es.js +2 -3
  13. package/dist/axios/index.d.ts.map +1 -1
  14. package/dist/components/Accordion/index.cjs.js +1 -1
  15. package/dist/components/Accordion/index.d.ts +5 -3
  16. package/dist/components/Accordion/index.d.ts.map +1 -1
  17. package/dist/components/Accordion/index.es.js +67 -64
  18. package/dist/components/Alert/index.cjs.js +1 -1
  19. package/dist/components/Alert/index.d.ts +6 -6
  20. package/dist/components/Alert/index.d.ts.map +1 -1
  21. package/dist/components/Alert/index.es.js +103 -96
  22. package/dist/components/Avatar/index.cjs.js +1 -1
  23. package/dist/components/Avatar/index.d.ts +3 -3
  24. package/dist/components/Avatar/index.d.ts.map +1 -1
  25. package/dist/components/Avatar/index.es.js +97 -93
  26. package/dist/components/Badge/index.cjs.js +1 -1
  27. package/dist/components/Badge/index.d.ts.map +1 -1
  28. package/dist/components/Badge/index.es.js +13 -12
  29. package/dist/components/Button/index.cjs.js +1 -1
  30. package/dist/components/Button/index.d.ts.map +1 -1
  31. package/dist/components/Button/index.es.js +14 -13
  32. package/dist/components/ButtonGroup/index.cjs.js +1 -1
  33. package/dist/components/ButtonGroup/index.es.js +13 -12
  34. package/dist/components/Card/index.cjs.js +1 -1
  35. package/dist/components/Card/index.d.ts +4 -4
  36. package/dist/components/Card/index.d.ts.map +1 -1
  37. package/dist/components/Card/index.es.js +54 -38
  38. package/dist/components/Collapse/index.cjs.js +1 -1
  39. package/dist/components/Collapse/index.d.ts.map +1 -1
  40. package/dist/components/Collapse/index.es.js +14 -13
  41. package/dist/components/Divider/index.cjs.js +1 -1
  42. package/dist/components/Divider/index.d.ts.map +1 -1
  43. package/dist/components/Divider/index.es.js +10 -9
  44. package/dist/components/Drawer/index.cjs.js +1 -1
  45. package/dist/components/Drawer/index.d.ts +5 -9
  46. package/dist/components/Drawer/index.d.ts.map +1 -1
  47. package/dist/components/Drawer/index.es.js +124 -101
  48. package/dist/components/Fill/index.cjs.js +1 -1
  49. package/dist/components/Fill/index.d.ts +1 -1
  50. package/dist/components/Fill/index.d.ts.map +1 -1
  51. package/dist/components/Fill/index.es.js +12 -10
  52. package/dist/components/InputGroup/index.cjs.js +1 -1
  53. package/dist/components/InputGroup/index.d.ts.map +1 -1
  54. package/dist/components/InputGroup/index.es.js +58 -57
  55. package/dist/components/List/index.cjs.js +1 -0
  56. package/dist/components/List/index.d.ts +25 -0
  57. package/dist/components/List/index.d.ts.map +1 -0
  58. package/dist/components/List/index.es.js +169 -0
  59. package/dist/components/Menu/index.cjs.js +1 -1
  60. package/dist/components/Menu/index.es.js +20 -17
  61. package/dist/components/Modal/index.cjs.js +1 -1
  62. package/dist/components/Modal/index.d.ts +5 -9
  63. package/dist/components/Modal/index.d.ts.map +1 -1
  64. package/dist/components/Modal/index.es.js +99 -76
  65. package/dist/components/Stack/index.cjs.js +1 -1
  66. package/dist/components/Stack/index.es.js +24 -23
  67. package/dist/components/Table/index.cjs.js +1 -1
  68. package/dist/components/Table/index.d.ts +12 -6
  69. package/dist/components/Table/index.d.ts.map +1 -1
  70. package/dist/components/Table/index.es.js +122 -80
  71. package/dist/components/Typography/index.cjs.js +1 -1
  72. package/dist/components/Typography/index.d.ts.map +1 -1
  73. package/dist/components/Typography/index.es.js +9 -8
  74. package/dist/components/index.cjs.js +1 -1
  75. package/dist/components/index.d.ts +1 -0
  76. package/dist/components/index.d.ts.map +1 -1
  77. package/dist/components/index.es.js +35 -33
  78. package/dist/helpers/anchorPointer.cjs.js +1 -1
  79. package/dist/helpers/anchorPointer.es.js +4 -5
  80. package/dist/helpers/cn.cjs.js +1 -1
  81. package/dist/helpers/cn.es.js +2 -3
  82. package/dist/helpers/copy.cjs.js +1 -1
  83. package/dist/helpers/copy.es.js +4 -5
  84. package/dist/helpers/createPolymorphicComponent.cjs.js +1 -0
  85. package/dist/helpers/createPolymorphicComponent.d.ts +7 -0
  86. package/dist/helpers/createPolymorphicComponent.d.ts.map +1 -0
  87. package/dist/helpers/createPolymorphicComponent.es.js +15 -0
  88. package/dist/helpers/index.cjs.js +1 -1
  89. package/dist/helpers/index.d.ts +1 -0
  90. package/dist/helpers/index.d.ts.map +1 -1
  91. package/dist/helpers/index.es.js +28 -26
  92. package/dist/helpers/isEmpty.cjs.js +1 -1
  93. package/dist/helpers/isEmpty.es.js +0 -1
  94. package/dist/helpers/isServer.cjs.js +1 -1
  95. package/dist/helpers/isServer.es.js +0 -1
  96. package/dist/helpers/randomID.cjs.js +1 -1
  97. package/dist/helpers/randomID.es.js +0 -1
  98. package/dist/helpers/replaceNonDigits.cjs.js +1 -1
  99. package/dist/helpers/replaceNonDigits.es.js +4 -5
  100. package/dist/helpers/replacePersianNumbers.cjs.js +1 -1
  101. package/dist/helpers/replacePersianNumbers.es.js +0 -1
  102. package/dist/helpers/scrollIntoView.cjs.js +1 -1
  103. package/dist/helpers/scrollIntoView.es.js +4 -5
  104. package/dist/helpers/twoDigitNumber.cjs.js +1 -1
  105. package/dist/helpers/twoDigitNumber.es.js +0 -1
  106. package/dist/helpers/wait.cjs.js +1 -1
  107. package/dist/helpers/wait.es.js +5 -6
  108. package/dist/hooks/index.d.ts.map +1 -1
  109. package/dist/index.cjs.js +1 -1
  110. package/dist/index.es.js +1 -1
  111. package/dist/node_modules/@babel/runtime/helpers/esm/inheritsLoose.cjs.js +1 -1
  112. package/dist/node_modules/@babel/runtime/helpers/esm/inheritsLoose.es.js +2 -3
  113. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.cjs.js +1 -1
  114. package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.es.js +7 -8
  115. package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.cjs.js +1 -1
  116. package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.es.js +0 -1
  117. package/dist/node_modules/@tanstack/hotkeys/dist/constants.cjs.js +1 -1
  118. package/dist/node_modules/@tanstack/hotkeys/dist/constants.es.js +0 -1
  119. package/dist/node_modules/@tanstack/hotkeys/dist/format.cjs.js +1 -1
  120. package/dist/node_modules/@tanstack/hotkeys/dist/format.es.js +4 -5
  121. package/dist/node_modules/@tanstack/hotkeys/dist/hotkey-manager.cjs.js +1 -1
  122. package/dist/node_modules/@tanstack/hotkeys/dist/hotkey-manager.es.js +11 -12
  123. package/dist/node_modules/@tanstack/hotkeys/dist/manager.utils.cjs.js +1 -1
  124. package/dist/node_modules/@tanstack/hotkeys/dist/manager.utils.es.js +0 -1
  125. package/dist/node_modules/@tanstack/hotkeys/dist/match.cjs.js +1 -1
  126. package/dist/node_modules/@tanstack/hotkeys/dist/match.es.js +2 -3
  127. package/dist/node_modules/@tanstack/hotkeys/dist/parse.cjs.js +1 -1
  128. package/dist/node_modules/@tanstack/hotkeys/dist/parse.es.js +45 -42
  129. package/dist/node_modules/@tanstack/react-hotkeys/dist/HotkeysProvider.cjs.js +1 -1
  130. package/dist/node_modules/@tanstack/react-hotkeys/dist/HotkeysProvider.es.js +0 -1
  131. package/dist/node_modules/@tanstack/react-hotkeys/dist/useHotkey.cjs.js +1 -1
  132. package/dist/node_modules/@tanstack/react-hotkeys/dist/useHotkey.es.js +3 -4
  133. package/dist/node_modules/@tanstack/react-hotkeys/dist/utils.cjs.js +1 -1
  134. package/dist/node_modules/@tanstack/react-hotkeys/dist/utils.es.js +0 -1
  135. package/dist/node_modules/@tanstack/store/dist/esm/alien.cjs.js +1 -1
  136. package/dist/node_modules/@tanstack/store/dist/esm/alien.es.js +22 -23
  137. package/dist/node_modules/@tanstack/store/dist/esm/atom.cjs.js +1 -1
  138. package/dist/node_modules/@tanstack/store/dist/esm/atom.es.js +0 -1
  139. package/dist/node_modules/@tanstack/store/dist/esm/store.cjs.js +1 -1
  140. package/dist/node_modules/@tanstack/store/dist/esm/store.es.js +2 -3
  141. package/dist/node_modules/iconsax-react/dist/esm/ArrowDown2.cjs.js +1 -1
  142. package/dist/node_modules/iconsax-react/dist/esm/ArrowDown2.es.js +0 -1
  143. package/dist/node_modules/iconsax-react/dist/esm/_rollupPluginBabelHelpers-3bc641ae.cjs.js +1 -1
  144. package/dist/node_modules/iconsax-react/dist/esm/_rollupPluginBabelHelpers-3bc641ae.es.js +12 -13
  145. package/dist/node_modules/object-assign/index.cjs.js +1 -1
  146. package/dist/node_modules/object-assign/index.es.js +7 -8
  147. package/dist/node_modules/prop-types/checkPropTypes.cjs.js +1 -1
  148. package/dist/node_modules/prop-types/checkPropTypes.es.js +12 -13
  149. package/dist/node_modules/prop-types/factoryWithThrowingShims.cjs.js +1 -1
  150. package/dist/node_modules/prop-types/factoryWithThrowingShims.es.js +6 -7
  151. package/dist/node_modules/prop-types/factoryWithTypeCheckers.cjs.js +1 -1
  152. package/dist/node_modules/prop-types/factoryWithTypeCheckers.es.js +0 -1
  153. package/dist/node_modules/prop-types/index.cjs.js +1 -1
  154. package/dist/node_modules/prop-types/index.es.js +2 -3
  155. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.cjs.js +1 -1
  156. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.es.js +0 -1
  157. package/dist/node_modules/prop-types/lib/has.cjs.js +1 -1
  158. package/dist/node_modules/prop-types/lib/has.es.js +2 -3
  159. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.cjs.js +2 -2
  160. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.es.js +0 -1
  161. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.cjs.js +1 -1
  162. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.es.js +0 -1
  163. package/dist/node_modules/prop-types/node_modules/react-is/index.cjs.js +1 -1
  164. package/dist/node_modules/prop-types/node_modules/react-is/index.es.js +3 -4
  165. package/dist/node_modules/react-animate-height/dist/esm/index.cjs.js +1 -1
  166. package/dist/node_modules/react-animate-height/dist/esm/index.es.js +0 -1
  167. package/dist/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
  168. package/dist/node_modules/react-transition-group/esm/Transition.es.js +0 -1
  169. package/dist/node_modules/react-transition-group/esm/TransitionGroupContext.cjs.js +1 -1
  170. package/dist/node_modules/react-transition-group/esm/TransitionGroupContext.es.js +2 -3
  171. package/dist/node_modules/react-transition-group/esm/config.cjs.js +1 -1
  172. package/dist/node_modules/react-transition-group/esm/config.es.js +2 -3
  173. package/dist/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
  174. package/dist/node_modules/react-transition-group/esm/utils/PropTypes.es.js +2 -3
  175. package/dist/node_modules/react-transition-group/esm/utils/reflow.cjs.js +1 -1
  176. package/dist/node_modules/react-transition-group/esm/utils/reflow.es.js +3 -4
  177. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.js +1 -1
  178. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.es.js +0 -1
  179. package/dist/providers/ThemeProvider.d.ts +20 -0
  180. package/dist/providers/ThemeProvider.d.ts.map +1 -1
  181. package/dist/providers/index.d.ts.map +1 -1
  182. package/dist/stores/portalElement.cjs.js +1 -1
  183. package/dist/stores/portalElement.es.js +0 -1
  184. package/dist/storybook/argTypes.d.ts +47 -0
  185. package/dist/storybook/argTypes.d.ts.map +1 -0
  186. package/dist/storybook/parameters.d.ts +8 -0
  187. package/dist/storybook/parameters.d.ts.map +1 -0
  188. package/dist/types/index.d.ts +2 -2
  189. package/dist/types/index.d.ts.map +1 -1
  190. package/package.json +1 -1
@@ -0,0 +1,169 @@
1
+ "use client";
2
+ import { jsx as u } from "react/jsx-runtime";
3
+ import { useHotkey as I } from "../../node_modules/@tanstack/react-hotkeys/dist/useHotkey.es.js";
4
+ import { createContext as H, useContext as j, useRef as E, useCallback as P } from "react";
5
+ import { twMerge as f } from "../../node_modules/tailwind-merge/dist/bundle-mjs.es.js";
6
+ import p from "../../hooks/useClasses.es.js";
7
+ import { asComponent as v } from "../../helpers/createPolymorphicComponent.es.js";
8
+ const N = H({
9
+ hover: !1,
10
+ disabled: !1
11
+ });
12
+ function x({
13
+ as: s,
14
+ divided: i = !1,
15
+ hover: a = !1,
16
+ disabled: o = !1,
17
+ className: r,
18
+ children: l,
19
+ ...c
20
+ }) {
21
+ const t = p((e) => {
22
+ var d;
23
+ return (d = e.list) == null ? void 0 : d.base;
24
+ }), n = v(s, "ul");
25
+ return /* @__PURE__ */ u(
26
+ n,
27
+ {
28
+ "data-name": "list",
29
+ className: f(
30
+ "w-full list-none p-0 m-0",
31
+ i && "divide-y divide-border",
32
+ t,
33
+ r
34
+ ),
35
+ ...c,
36
+ children: /* @__PURE__ */ u(N.Provider, { value: { hover: a, disabled: o }, children: l })
37
+ }
38
+ );
39
+ }
40
+ function R({
41
+ as: s,
42
+ hover: i,
43
+ active: a = !1,
44
+ disabled: o,
45
+ className: r,
46
+ children: l,
47
+ tabIndex: c,
48
+ onClick: t,
49
+ ...n
50
+ }) {
51
+ const e = p((g) => {
52
+ var L;
53
+ return (L = g.list) == null ? void 0 : L.item;
54
+ }), { hover: d, disabled: D } = j(N), h = E(null), m = o ?? D, b = (i ?? d) && !m, y = a && !m, C = b && !!t, w = P(
55
+ (g) => {
56
+ m || !t || t(g);
57
+ },
58
+ [m, t]
59
+ );
60
+ I("Enter", w, {
61
+ target: h,
62
+ enabled: C,
63
+ preventDefault: !0
64
+ }), I("Space", w, {
65
+ target: h,
66
+ enabled: C,
67
+ preventDefault: !0
68
+ });
69
+ const A = v(s, "li");
70
+ return /* @__PURE__ */ u(
71
+ A,
72
+ {
73
+ ref: h,
74
+ "data-name": "list-item",
75
+ tabIndex: c ?? (b ? 0 : void 0),
76
+ "aria-disabled": m || void 0,
77
+ "aria-current": y ? "true" : void 0,
78
+ className: f(
79
+ "flex items-center gap-3 px-4 py-3 min-w-0 w-full",
80
+ b && "cursor-pointer transition-colors hover:bg-dark/5 [user-select:none]",
81
+ b && (e == null ? void 0 : e.hover),
82
+ y && "bg-primary/10 text-primary",
83
+ y && (e == null ? void 0 : e.active),
84
+ m && "opacity-75 cursor-not-allowed pointer-events-none select-none",
85
+ m && (e == null ? void 0 : e.disabled),
86
+ e == null ? void 0 : e.base,
87
+ r
88
+ ),
89
+ onClick: m ? void 0 : t,
90
+ ...n,
91
+ children: l
92
+ }
93
+ );
94
+ }
95
+ function k({
96
+ as: s,
97
+ className: i,
98
+ children: a,
99
+ ...o
100
+ }) {
101
+ const r = p((c) => {
102
+ var t, n;
103
+ return (n = (t = c.list) == null ? void 0 : t.icon) == null ? void 0 : n.base;
104
+ }), l = v(s, "div");
105
+ return /* @__PURE__ */ u(
106
+ l,
107
+ {
108
+ "data-name": "list-icon",
109
+ className: f(
110
+ "shrink-0 flex items-center justify-center [&_svg]:size-5.5",
111
+ r,
112
+ i
113
+ ),
114
+ ...o,
115
+ children: a
116
+ }
117
+ );
118
+ }
119
+ function z({
120
+ as: s,
121
+ className: i,
122
+ children: a,
123
+ ...o
124
+ }) {
125
+ const r = p((c) => {
126
+ var t, n;
127
+ return (n = (t = c.list) == null ? void 0 : t.content) == null ? void 0 : n.base;
128
+ }), l = v(s, "div");
129
+ return /* @__PURE__ */ u(
130
+ l,
131
+ {
132
+ "data-name": "list-content",
133
+ className: f("flex-1 min-w-0 space-y-px", r, i),
134
+ ...o,
135
+ children: a
136
+ }
137
+ );
138
+ }
139
+ function M({
140
+ as: s,
141
+ className: i,
142
+ children: a,
143
+ onClick: o,
144
+ ...r
145
+ }) {
146
+ const l = p((n) => {
147
+ var e, d;
148
+ return (d = (e = n.list) == null ? void 0 : e.action) == null ? void 0 : d.base;
149
+ }), c = (n) => {
150
+ n.stopPropagation(), o == null || o(n);
151
+ }, t = v(s, "div");
152
+ return /* @__PURE__ */ u(
153
+ t,
154
+ {
155
+ "data-name": "list-action",
156
+ className: f("shrink-0 self-center", l, i),
157
+ onClick: c,
158
+ ...r,
159
+ children: a
160
+ }
161
+ );
162
+ }
163
+ x.Item = R;
164
+ x.Icon = k;
165
+ x.Content = z;
166
+ x.Action = M;
167
+ export {
168
+ x as default
169
+ };
@@ -1 +1 @@
1
- "use client";"use strict";const i=require("react/jsx-runtime"),n=require("react"),R=require("../../node_modules/tailwind-merge/dist/bundle-mjs.cjs.js"),G=require("../Button/index.cjs.js"),J=require("../Portal/index.cjs.js"),W=require("../../hooks/useClasses.cjs.js"),K=require("../../helpers/anchorPointer.cjs.js"),Q=require("../../hooks/usePreventableClose.cjs.js"),U=require("../../node_modules/react-transition-group/esm/Transition.cjs.js"),V=require("../../helpers/cn.cjs.js"),y=n.createContext({open:!1,onClose:()=>{},transitionState:"unmounted",closeOnClick:!1,preventClose:!1,dismiss:()=>{},anchorPointer:!1});function I({as:l,ref:c,open:t,duration:u=300,onClose:o,onEnter:b,onEntering:M,onEntered:j,onExit:x,onExiting:P,onExited:k,closeOnClick:p=!1,preventClose:z=!1,anchorEl:g=null,anchorPointer:q=!1,className:S,children:H,...$}){const B=W(e=>e.menu.base),D=l||"ul",s=16,r=n.useRef(null),A=n.useRef({left:s,right:s,top:s}),F={entering:"scale-100 opacity-100",entered:"scale-100 opacity-100",exiting:"scale-90 opacity-0",exited:"scale-90 opacity-0",unmounted:""},O=n.useCallback(e=>{A.current=e},[]),E=n.useCallback(e=>{var w,h,C;(w=r.current)==null||w.style.setProperty("--left",`${e.left}px`),(h=r.current)==null||h.style.setProperty("--right",`${e.right}px`),(C=r.current)==null||C.style.setProperty("--top",`${e.top}px`)},[]),v=n.useCallback(()=>{var L,N;if(!t||!g)return;const e=window.innerWidth,w=window.innerHeight,h=((L=r.current)==null?void 0:L.offsetWidth)||150,C=((N=r.current)==null?void 0:N.offsetHeight)||200;let d,f,m;if(q){const a=K.getAnchorPointer(g);if(!a)return;d=a.x,f=e-a.x,m=a.y}else{const a=g.getBoundingClientRect();d=a.left,f=e-a.right,m=a.bottom}d=Math.min(Math.max(d,s),e-h-s),f=Math.min(Math.max(f,s),e-h-s),m=Math.min(Math.max(m,s),w-C-s),O({left:d,right:f,top:m}),E({left:d,right:f,top:m})},[t,g,q,O,E]),T=Q({preventClose:z,open:t,onClose:o});return n.useEffect(()=>{v()},[v,H]),n.useEffect(()=>{const e=()=>{v()};return window.addEventListener("scroll",e),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e),window.removeEventListener("resize",e)}},[v]),n.useImperativeHandle(c,()=>r.current),i.jsx(J,{children:i.jsx(U.default,{nodeRef:r,in:t,timeout:u,unmountOnExit:!0,onEnter:b,onEntering:M,onEntered:j,onExit:x,onExiting:P,onExited:k,children:e=>i.jsx(y.Provider,{value:{open:t,onClose:o,dismiss:T,transitionState:e,closeOnClick:p,preventClose:z,anchorPointer:q},children:i.jsxs(X,{children:[i.jsx(Y,{}),i.jsx(D,{ref:r,autoFocus:!0,"data-open":t,role:"menu","data-name":"menu",style:{transitionDuration:`${u}ms`},className:R.twMerge("w-fit min-w-52 bg-white shadow-lg rounded py-2 transition-[scale,opacity] absolute top-(--top) left-(--left) right-auto origin-top-left rtl:left-auto rtl:right-(--right) rtl:origin-top-right",B,F[e],S),...$,children:H})]})})})})}function X({children:l}){const{transitionState:c}=n.useContext(y),t={entering:"active pointer-events-auto",entered:"active pointer-events-auto",exiting:"pointer-events-none",exited:"pointer-events-none",unmounted:""};return i.jsx("div",{"data-name":"menu-container",className:R.twMerge("fixed inset-0 size-full flex flex-col bg-transparent transition-opacity overflow-hidden z-10",t[c]),children:l})}function Y(){const{dismiss:l,preventClose:c,anchorPointer:t}=n.useContext(y),u=o=>{t&&o.preventDefault()};return i.jsx("div",{"data-name":"menu-backdrop",className:V("w-full flex-1 opacity-0 cursor-default lg:absolute lg:size-full lg:inset-0",c&&"[&:active~*]:scale-95"),onContextMenu:u,onClick:l})}function Z({as:l,closeOnClick:c,className:t,children:u,onClick:o,...b}){const M=W(p=>p.menu.item.base),{closeOnClick:j,onClose:x}=n.useContext(y),P=c??j,k=p=>{P&&(x==null||x()),o==null||o(p)};return i.jsx(G,{as:l??"li",color:"light",variant:"text",role:"menuitem","data-name":"menu-item",className:R.twMerge("w-full flex items-center justify-start align-middle px-4 py-1.5 bg-transparent text-base font-normal rounded-none whitespace-nowrap transition-colors hover:bg-dark/5",M,t),onClick:k,...b,children:u})}I.Item=Z;module.exports=I;
1
+ "use client";"use strict";const i=require("react/jsx-runtime"),n=require("react"),R=require("../../node_modules/tailwind-merge/dist/bundle-mjs.cjs.js"),G=require("../Button/index.cjs.js"),J=require("../Portal/index.cjs.js"),W=require("../../hooks/useClasses.cjs.js"),K=require("../../helpers/anchorPointer.cjs.js"),Q=require("../../hooks/usePreventableClose.cjs.js"),U=require("../../node_modules/react-transition-group/esm/Transition.cjs.js"),V=require("../../helpers/cn.cjs.js"),X=require("../../helpers/createPolymorphicComponent.cjs.js"),y=n.createContext({open:!1,onClose:()=>{},transitionState:"unmounted",closeOnClick:!1,preventClose:!1,dismiss:()=>{},anchorPointer:!1});function I({as:l,ref:c,open:t,duration:u=300,onClose:o,onEnter:b,onEntering:M,onEntered:P,onExit:p,onExiting:j,onExited:q,closeOnClick:x=!1,preventClose:z=!1,anchorEl:g=null,anchorPointer:k=!1,className:S,children:H,...$}){const B=W(e=>e.menu.base),s=16,r=n.useRef(null),D=n.useRef({left:s,right:s,top:s}),A={entering:"scale-100 opacity-100",entered:"scale-100 opacity-100",exiting:"scale-90 opacity-0",exited:"scale-90 opacity-0",unmounted:""},O=n.useCallback(e=>{D.current=e},[]),E=n.useCallback(e=>{var w,h,C;(w=r.current)==null||w.style.setProperty("--left",`${e.left}px`),(h=r.current)==null||h.style.setProperty("--right",`${e.right}px`),(C=r.current)==null||C.style.setProperty("--top",`${e.top}px`)},[]),v=n.useCallback(()=>{var L,N;if(!t||!g)return;const e=window.innerWidth,w=window.innerHeight,h=((L=r.current)==null?void 0:L.offsetWidth)||150,C=((N=r.current)==null?void 0:N.offsetHeight)||200;let d,f,m;if(k){const a=K.getAnchorPointer(g);if(!a)return;d=a.x,f=e-a.x,m=a.y}else{const a=g.getBoundingClientRect();d=a.left,f=e-a.right,m=a.bottom}d=Math.min(Math.max(d,s),e-h-s),f=Math.min(Math.max(f,s),e-h-s),m=Math.min(Math.max(m,s),w-C-s),O({left:d,right:f,top:m}),E({left:d,right:f,top:m})},[t,g,k,O,E]),F=Q({preventClose:z,open:t,onClose:o});n.useEffect(()=>{v()},[v,H]),n.useEffect(()=>{const e=()=>{v()};return window.addEventListener("scroll",e),window.addEventListener("resize",e),()=>{window.removeEventListener("scroll",e),window.removeEventListener("resize",e)}},[v]),n.useImperativeHandle(c,()=>r.current);const T=X.asComponent(l,"ul");return i.jsx(J,{children:i.jsx(U.default,{nodeRef:r,in:t,timeout:u,unmountOnExit:!0,onEnter:b,onEntering:M,onEntered:P,onExit:p,onExiting:j,onExited:q,children:e=>i.jsx(y.Provider,{value:{open:t,onClose:o,dismiss:F,transitionState:e,closeOnClick:x,preventClose:z,anchorPointer:k},children:i.jsxs(Y,{children:[i.jsx(Z,{}),i.jsx(T,{ref:r,autoFocus:!0,"data-open":t,role:"menu","data-name":"menu",style:{transitionDuration:`${u}ms`},className:R.twMerge("w-fit min-w-52 bg-white shadow-lg rounded py-2 transition-[scale,opacity] absolute top-(--top) left-(--left) right-auto origin-top-left rtl:left-auto rtl:right-(--right) rtl:origin-top-right",B,A[e],S),...$,children:H})]})})})})}function Y({children:l}){const{transitionState:c}=n.useContext(y),t={entering:"active pointer-events-auto",entered:"active pointer-events-auto",exiting:"pointer-events-none",exited:"pointer-events-none",unmounted:""};return i.jsx("div",{"data-name":"menu-container",className:R.twMerge("fixed inset-0 size-full flex flex-col bg-transparent transition-opacity overflow-hidden z-10",t[c]),children:l})}function Z(){const{dismiss:l,preventClose:c,anchorPointer:t}=n.useContext(y),u=o=>{t&&o.preventDefault()};return i.jsx("div",{"data-name":"menu-backdrop",className:V("w-full flex-1 opacity-0 cursor-default lg:absolute lg:size-full lg:inset-0",c&&"[&:active~*]:scale-95"),onContextMenu:u,onClick:l})}function _({as:l,closeOnClick:c,className:t,children:u,onClick:o,...b}){const M=W(x=>x.menu.item.base),{closeOnClick:P,onClose:p}=n.useContext(y),j=c??P,q=x=>{j&&(p==null||p()),o==null||o(x)};return i.jsx(G,{as:l??"li",color:"light",variant:"text",role:"menuitem","data-name":"menu-item",className:R.twMerge("w-full flex items-center justify-start align-middle px-4 py-1.5 bg-transparent text-base font-normal rounded-none whitespace-nowrap transition-colors hover:bg-dark/5",M,t),onClick:q,...b,children:u})}I.Item=_;module.exports=I;
@@ -9,6 +9,7 @@ import { getAnchorPointer as Y } from "../../helpers/anchorPointer.es.js";
9
9
  import Z from "../../hooks/usePreventableClose.es.js";
10
10
  import _ from "../../node_modules/react-transition-group/esm/Transition.es.js";
11
11
  import tt from "../../helpers/cn.es.js";
12
+ import { asComponent as et } from "../../helpers/createPolymorphicComponent.es.js";
12
13
  const y = U({
13
14
  open: !1,
14
15
  onClose: () => {
@@ -20,7 +21,7 @@ const y = U({
20
21
  },
21
22
  anchorPointer: !1
22
23
  });
23
- function et({
24
+ function nt({
24
25
  as: a,
25
26
  ref: l,
26
27
  open: e,
@@ -40,18 +41,18 @@ function et({
40
41
  children: N,
41
42
  ...A
42
43
  }) {
43
- const F = S((t) => t.menu.base), T = a || "ul", n = 16, i = E(null), q = E({
44
+ const F = S((t) => t.menu.base), n = 16, i = E(null), T = E({
44
45
  left: n,
45
46
  right: n,
46
47
  top: n
47
- }), G = {
48
+ }), q = {
48
49
  entering: "scale-100 opacity-100",
49
50
  entered: "scale-100 opacity-100",
50
51
  exiting: "scale-90 opacity-0",
51
52
  exited: "scale-90 opacity-0",
52
53
  unmounted: ""
53
54
  }, W = H((t) => {
54
- q.current = t;
55
+ T.current = t;
55
56
  }, []), $ = H((t) => {
56
57
  var v, g, w;
57
58
  (v = i.current) == null || v.style.setProperty("--left", `${t.left}px`), (g = i.current) == null || g.style.setProperty("--right", `${t.right}px`), (w = i.current) == null || w.style.setProperty("--top", `${t.top}px`);
@@ -72,8 +73,8 @@ function et({
72
73
  Math.max(m, n),
73
74
  t - g - n
74
75
  ), f = Math.min(Math.max(f, n), v - w - n), W({ left: u, right: m, top: f }), $({ left: u, right: m, top: f });
75
- }, [e, h, z, W, $]), J = Z({ preventClose: L, open: e, onClose: o });
76
- return I(() => {
76
+ }, [e, h, z, W, $]), G = Z({ preventClose: L, open: e, onClose: o });
77
+ I(() => {
77
78
  x();
78
79
  }, [x, N]), I(() => {
79
80
  const t = () => {
@@ -82,7 +83,9 @@ function et({
82
83
  return window.addEventListener("scroll", t), window.addEventListener("resize", t), () => {
83
84
  window.removeEventListener("scroll", t), window.removeEventListener("resize", t);
84
85
  };
85
- }, [x]), Q(l, () => i.current), /* @__PURE__ */ r(X, { children: /* @__PURE__ */ r(
86
+ }, [x]), Q(l, () => i.current);
87
+ const J = et(a, "ul");
88
+ return /* @__PURE__ */ r(X, { children: /* @__PURE__ */ r(
86
89
  _,
87
90
  {
88
91
  nodeRef: i,
@@ -101,16 +104,16 @@ function et({
101
104
  value: {
102
105
  open: e,
103
106
  onClose: o,
104
- dismiss: J,
107
+ dismiss: G,
105
108
  transitionState: t,
106
109
  closeOnClick: p,
107
110
  preventClose: L,
108
111
  anchorPointer: z
109
112
  },
110
- children: /* @__PURE__ */ K(nt, { children: [
111
- /* @__PURE__ */ r(ot, {}),
113
+ children: /* @__PURE__ */ K(ot, { children: [
114
+ /* @__PURE__ */ r(it, {}),
112
115
  /* @__PURE__ */ r(
113
- T,
116
+ J,
114
117
  {
115
118
  ref: i,
116
119
  autoFocus: !0,
@@ -121,7 +124,7 @@ function et({
121
124
  className: R(
122
125
  "w-fit min-w-52 bg-white shadow-lg rounded py-2 transition-[scale,opacity] absolute top-(--top) left-(--left) right-auto origin-top-left rtl:left-auto rtl:right-(--right) rtl:origin-top-right",
123
126
  F,
124
- G[t],
127
+ q[t],
125
128
  D
126
129
  ),
127
130
  ...A,
@@ -134,7 +137,7 @@ function et({
134
137
  }
135
138
  ) });
136
139
  }
137
- function nt({ children: a }) {
140
+ function ot({ children: a }) {
138
141
  const { transitionState: l } = O(y);
139
142
  return /* @__PURE__ */ r(
140
143
  "div",
@@ -154,7 +157,7 @@ function nt({ children: a }) {
154
157
  }
155
158
  );
156
159
  }
157
- function ot() {
160
+ function it() {
158
161
  const { dismiss: a, preventClose: l, anchorPointer: e } = O(y), c = (o) => {
159
162
  e && o.preventDefault();
160
163
  };
@@ -171,7 +174,7 @@ function ot() {
171
174
  }
172
175
  );
173
176
  }
174
- function it({
177
+ function st({
175
178
  as: a,
176
179
  closeOnClick: l,
177
180
  className: e,
@@ -201,7 +204,7 @@ function it({
201
204
  }
202
205
  );
203
206
  }
204
- et.Item = it;
207
+ nt.Item = st;
205
208
  export {
206
- et as default
209
+ nt as default
207
210
  };
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("react/jsx-runtime"),i=require("react"),z=require("../../node_modules/tailwind-merge/dist/bundle-mjs.cjs.js"),m=require("../Card/index.cjs.js"),k=require("../Portal/index.cjs.js"),r=require("../../hooks/useClasses.cjs.js"),D=require("../../hooks/usePreventableClose.cjs.js"),H=require("../../node_modules/react-transition-group/esm/Transition.cjs.js"),x=require("../../helpers/cn.cjs.js"),j=i.createContext({size:"md",open:!1,onClose:()=>{},transitionState:"unmounted",duration:300,preventClose:!1,dismiss:()=>{}});function l({as:t,ref:a,size:n="md",open:e=!1,onClose:s=()=>{},onEnter:f,onEntering:p,onEntered:b,onExit:v,onExiting:d,onExited:c,duration:g=300,preventClose:y=!1,className:C,children:h,...w}){const N=r(u=>u.modal.base),M=i.useRef(null),S=t||"div",R={entering:"active opacity-100 pointer-events-auto",entered:"active opacity-100 pointer-events-auto",exiting:"opacity-0 pointer-events-none",exited:"opacity-0 pointer-events-none",unmounted:""},q=D({preventClose:y,open:e,onClose:s});return i.useImperativeHandle(a,()=>M.current),o.jsx(k,{children:o.jsx(H.default,{nodeRef:M,in:e,timeout:g,unmountOnExit:!0,onEnter:f,onEntering:p,onEntered:b,onExit:v,onExiting:d,onExited:c,children:u=>o.jsxs(S,{ref:M,"data-open":e,role:"dialog","data-name":"modal",style:{transitionDuration:`${g}ms`},className:z.twMerge("modal fixed size-full inset-0 flex flex-col z-10 bg-black/20 transition-opacity backdrop-blur p-4",N,R[u],C),...w,children:[o.jsx("div",{"data-name":"modal-backdrop",onClick:q,className:x("absolute inset-0 cursor-default opacity-0",y&&"[&:active~*]:scale-95")}),o.jsx(j.Provider,{value:{size:n,open:e,onClose:s,dismiss:q,transitionState:u,duration:g,preventClose:y},children:h})]})})})}function B({className:t,children:a,...n}){const e=r(d=>d.modal.dialog),{size:s,transitionState:f,duration:p}=i.useContext(j),b={entering:"scale-100",entered:"scale-100",exiting:"scale-75",exited:"scale-75",unmounted:""},v=i.useMemo(()=>{var c;return[{sm:"min-[576px]:w-[300px]",md:"min-[576px]:w-[500px]",lg:"min-[992px]:w-[800px]"}[s],(c=e==null?void 0:e.size)==null?void 0:c[s]]},[s,e==null?void 0:e.size]);return o.jsx(m,{as:"div","data-name":"modal-dialog",style:{transitionDuration:`${p}ms`},className:z.twMerge("max-w-full max-h-full m-auto transition-transform",e==null?void 0:e.base,v,b[f],t),...n,children:a})}function F({className:t,...a}){const n=r(e=>e.modal.header.base);return o.jsx(m.Header,{"data-name":"modal-header",className:x(n,t),...a})}function P({className:t,...a}){const n=r(e=>e.modal.body.base);return o.jsx(m.Body,{"data-name":"modal-body",className:x(n,t),...a})}function $({className:t,...a}){const n=r(e=>e.modal.footer.base);return o.jsx(m.Footer,{"data-name":"modal-footer",className:x(n,t),...a})}l.Dialog=B;l.Header=F;l.Body=P;l.Footer=$;exports.ModalContext=j;exports.default=l;
1
+ "use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),l=require("react"),q=require("../../node_modules/tailwind-merge/dist/bundle-mjs.cjs.js"),x=require("../Card/index.cjs.js"),k=require("../Portal/index.cjs.js"),d=require("../../hooks/useClasses.cjs.js"),D=require("../../hooks/usePreventableClose.cjs.js"),H=require("../../node_modules/react-transition-group/esm/Transition.cjs.js"),f=require("../../helpers/cn.cjs.js"),P=require("../../helpers/createPolymorphicComponent.cjs.js"),j=l.createContext({size:"md",open:!1,onClose:()=>{},transitionState:"unmounted",duration:300,preventClose:!1,dismiss:()=>{}});function c({as:n,ref:o,size:a="md",open:t=!1,onClose:e=()=>{},onEnter:r,onEntering:p,onEntered:b,onExit:g,onExiting:v,onExited:u,duration:i=300,preventClose:y=!1,className:z,children:h,...w}){const N=d(m=>m.modal.base),M=l.useRef(null),S={entering:"active opacity-100 pointer-events-auto",entered:"active opacity-100 pointer-events-auto",exiting:"opacity-0 pointer-events-none",exited:"opacity-0 pointer-events-none",unmounted:""},C=D({preventClose:y,open:t,onClose:e});l.useImperativeHandle(o,()=>M.current);const R=P.asComponent(n,"div");return s.jsx(k,{children:s.jsx(H.default,{nodeRef:M,in:t,timeout:i,unmountOnExit:!0,onEnter:r,onEntering:p,onEntered:b,onExit:g,onExiting:v,onExited:u,children:m=>s.jsxs(R,{ref:M,"data-open":t,role:"dialog","data-name":"modal",style:{transitionDuration:`${i}ms`},className:q.twMerge("modal fixed size-full inset-0 flex flex-col z-10 bg-black/20 transition-opacity backdrop-blur p-4",N,S[m],z),...w,children:[s.jsx("div",{"data-name":"modal-backdrop",onClick:C,className:f("absolute inset-0 cursor-default opacity-0",y&&"[&:active~*]:scale-95")}),s.jsx(j.Provider,{value:{size:a,open:t,onClose:e,dismiss:C,transitionState:m,duration:i,preventClose:y},children:h})]})})})}function B({as:n,className:o,children:a,...t}){const e=d(u=>u.modal.dialog),{size:r,transitionState:p,duration:b}=l.useContext(j),g={entering:"scale-100",entered:"scale-100",exiting:"scale-75",exited:"scale-75",unmounted:""},v=l.useMemo(()=>{var i;return[{sm:"min-[576px]:w-[300px]",md:"min-[576px]:w-[500px]",lg:"min-[992px]:w-[800px]"}[r],(i=e==null?void 0:e.size)==null?void 0:i[r]]},[r,e==null?void 0:e.size]);return s.jsx(x,{as:n,"data-name":"modal-dialog",style:{transitionDuration:`${b}ms`},className:q.twMerge("max-w-full max-h-full m-auto transition-transform",e==null?void 0:e.base,v,g[p],o),...t,children:a})}function F({as:n,className:o,...a}){const t=d(e=>e.modal.header.base);return s.jsx(x.Header,{as:n,"data-name":"modal-header",className:f(t,o),...a})}function $({as:n,className:o,...a}){const t=d(e=>e.modal.body.base);return s.jsx(x.Body,{as:n,"data-name":"modal-body",className:f(t,o),...a})}function O({as:n,className:o,...a}){const t=d(e=>e.modal.footer.base);return s.jsx(x.Footer,{as:n,"data-name":"modal-footer",className:f(t,o),...a})}c.Dialog=B;c.Header=F;c.Body=$;c.Footer=O;exports.ModalContext=j;exports.default=c;
@@ -1,5 +1,5 @@
1
1
  import { ComponentPropsWithAs, Size, ToggleEventProps, ToggleProps } from '../../types';
2
- import { ComponentProps, ElementType } from 'react';
2
+ import { ElementType } from 'react';
3
3
  import { TransitionStatus } from 'react-transition-group';
4
4
  type Context = {
5
5
  size: Size;
@@ -13,10 +13,6 @@ type ModalProps = {
13
13
  duration?: number;
14
14
  preventClose?: boolean;
15
15
  } & Partial<ToggleEventProps> & Partial<ToggleProps>;
16
- type ModalDialogProps = Omit<ComponentProps<"div">, "as" | "ref">;
17
- type ModalHeaderProps = ComponentProps<"div">;
18
- type ModalBodyProps = ComponentProps<"div">;
19
- type ModalFooterProps = ComponentProps<"div">;
20
16
  export declare const ModalContext: import('react').Context<Context>;
21
17
  declare function Modal<E extends ElementType = "div">({ as, ref, size, open, onClose, onEnter, onEntering, onEntered, onExit, onExiting, onExited, duration, preventClose, className, children, ...props }: ComponentPropsWithAs<E, ModalProps>): import("react/jsx-runtime").JSX.Element;
22
18
  declare namespace Modal {
@@ -25,9 +21,9 @@ declare namespace Modal {
25
21
  var Body: typeof ModalBody;
26
22
  var Footer: typeof ModalFooter;
27
23
  }
28
- declare function ModalDialog({ className, children, ...props }: ModalDialogProps): import("react/jsx-runtime").JSX.Element;
29
- declare function ModalHeader({ className, ...props }: ModalHeaderProps): import("react/jsx-runtime").JSX.Element;
30
- declare function ModalBody({ className, ...props }: ModalBodyProps): import("react/jsx-runtime").JSX.Element;
31
- declare function ModalFooter({ className, ...props }: ModalFooterProps): import("react/jsx-runtime").JSX.Element;
24
+ declare function ModalDialog<E extends ElementType = "div">({ as, className, children, ...props }: ComponentPropsWithAs<E>): import("react/jsx-runtime").JSX.Element;
25
+ declare function ModalHeader<E extends ElementType = "div">({ as, className, ...props }: ComponentPropsWithAs<E>): import("react/jsx-runtime").JSX.Element;
26
+ declare function ModalBody<E extends ElementType = "div">({ as, className, ...props }: ComponentPropsWithAs<E>): import("react/jsx-runtime").JSX.Element;
27
+ declare function ModalFooter<E extends ElementType = "div">({ as, className, ...props }: ComponentPropsWithAs<E>): import("react/jsx-runtime").JSX.Element;
32
28
  export default Modal;
33
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,cAAc,EAEd,WAAW,EAKZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAc,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAKtE,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,gBAAgB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;CACvB,GAAG,WAAW,CAAC;AAChB,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAC3B,OAAO,CAAC,WAAW,CAAC,CAAC;AACvB,KAAK,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC;AAClE,KAAK,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAC9C,KAAK,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAC5C,KAAK,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;AAE9C,eAAO,MAAM,YAAY,kCAQvB,CAAC;AAEH,iBAAS,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EAAE,EAC5C,EAAE,EACF,GAAG,EACH,IAAW,EACX,IAAY,EACZ,OAAkB,EAClB,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAc,EACd,YAAoB,EACpB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,CAAC,EAAE,UAAU,CAAC,2CAoErC;kBArFQ,KAAK;;;;;;AAsFd,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAmCvE;AACD,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAS7D;AACD,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CASzD;AACD,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAS7D;AAOD,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAGL,WAAW,EAKZ,MAAM,OAAO,CAAC;AACf,OAAO,EAAc,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAKtE,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,IAAI,CAAC;IACX,eAAe,EAAE,gBAAgB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;CACvB,GAAG,WAAW,CAAC;AAChB,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAC3B,OAAO,CAAC,WAAW,CAAC,CAAC;AAEvB,eAAO,MAAM,YAAY,kCAQvB,CAAC;AAEH,iBAAS,KAAK,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EAAE,EAC5C,EAAE,EACF,GAAG,EACH,IAAW,EACX,IAAY,EACZ,OAAkB,EAClB,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAc,EACd,YAAoB,EACpB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,CAAC,EAAE,UAAU,CAAC,2CAoErC;kBArFQ,KAAK;;;;;;AAsFd,iBAAS,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EAAE,EAClD,EAAE,EACF,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,CAAC,CAAC,2CAmCzB;AACD,iBAAS,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EAAE,EAClD,EAAE,EACF,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,CAAC,CAAC,2CAUzB;AACD,iBAAS,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EAAE,EAChD,EAAE,EACF,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,CAAC,CAAC,2CAUzB;AACD,iBAAS,WAAW,CAAC,CAAC,SAAS,WAAW,GAAG,KAAK,EAAE,EAClD,EAAE,EACF,SAAS,EACT,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,CAAC,CAAC,2CAUzB;AAOD,eAAe,KAAK,CAAC"}
@@ -1,13 +1,14 @@
1
1
  "use client";
2
- import { jsx as n, jsxs as S } from "react/jsx-runtime";
2
+ import { jsx as s, jsxs as S } from "react/jsx-runtime";
3
3
  import { createContext as B, useRef as F, useImperativeHandle as P, useContext as R, useMemo as j } from "react";
4
- import { twMerge as C } from "../../node_modules/tailwind-merge/dist/bundle-mjs.es.js";
5
- import m from "../Card/index.es.js";
4
+ import { twMerge as z } from "../../node_modules/tailwind-merge/dist/bundle-mjs.es.js";
5
+ import c from "../Card/index.es.js";
6
6
  import $ from "../Portal/index.es.js";
7
- import i from "../../hooks/useClasses.es.js";
7
+ import l from "../../hooks/useClasses.es.js";
8
8
  import E from "../../hooks/usePreventableClose.es.js";
9
9
  import I from "../../node_modules/react-transition-group/esm/Transition.es.js";
10
- import c from "../../helpers/cn.es.js";
10
+ import u from "../../helpers/cn.es.js";
11
+ import { asComponent as O } from "../../helpers/createPolymorphicComponent.es.js";
11
12
  const M = B({
12
13
  size: "md",
13
14
  open: !1,
@@ -19,82 +20,84 @@ const M = B({
19
20
  dismiss: () => {
20
21
  }
21
22
  });
22
- function u({
23
- as: t,
24
- ref: o,
25
- size: a = "md",
26
- open: e = !1,
27
- onClose: s = () => {
23
+ function f({
24
+ as: o,
25
+ ref: a,
26
+ size: n = "md",
27
+ open: t = !1,
28
+ onClose: e = () => {
28
29
  },
29
- onEnter: f,
30
+ onEnter: r,
30
31
  onEntering: p,
31
32
  onEntered: x,
32
33
  onExit: b,
33
- onExiting: r,
34
- onExited: l,
35
- duration: v = 300,
34
+ onExiting: v,
35
+ onExited: m,
36
+ duration: i = 300,
36
37
  preventClose: y = !1,
37
38
  className: h,
38
39
  children: N,
39
40
  ...w
40
41
  }) {
41
- const k = i((d) => d.modal.base), g = F(null), D = t || "div", H = {
42
+ const k = l((d) => d.modal.base), g = F(null), D = {
42
43
  entering: "active opacity-100 pointer-events-auto",
43
44
  entered: "active opacity-100 pointer-events-auto",
44
45
  exiting: "opacity-0 pointer-events-none",
45
46
  exited: "opacity-0 pointer-events-none",
46
47
  unmounted: ""
47
- }, z = E({ preventClose: y, open: e, onClose: s });
48
- return P(o, () => g.current), /* @__PURE__ */ n($, { children: /* @__PURE__ */ n(
48
+ }, C = E({ preventClose: y, open: t, onClose: e });
49
+ P(a, () => g.current);
50
+ const H = O(o, "div");
51
+ return /* @__PURE__ */ s($, { children: /* @__PURE__ */ s(
49
52
  I,
50
53
  {
51
54
  nodeRef: g,
52
- in: e,
53
- timeout: v,
55
+ in: t,
56
+ timeout: i,
54
57
  unmountOnExit: !0,
55
- onEnter: f,
58
+ onEnter: r,
56
59
  onEntering: p,
57
60
  onEntered: x,
58
61
  onExit: b,
59
- onExiting: r,
60
- onExited: l,
62
+ onExiting: v,
63
+ onExited: m,
61
64
  children: (d) => /* @__PURE__ */ S(
62
- D,
65
+ H,
63
66
  {
64
67
  ref: g,
65
- "data-open": e,
68
+ "data-open": t,
66
69
  role: "dialog",
67
70
  "data-name": "modal",
68
- style: { transitionDuration: `${v}ms` },
69
- className: C(
71
+ style: { transitionDuration: `${i}ms` },
72
+ className: z(
70
73
  "modal fixed size-full inset-0 flex flex-col z-10 bg-black/20 transition-opacity backdrop-blur p-4",
71
74
  k,
72
- H[d],
75
+ D[d],
73
76
  h
74
77
  ),
75
78
  ...w,
76
79
  children: [
77
- /* @__PURE__ */ n(
80
+ /* @__PURE__ */ s(
78
81
  "div",
79
82
  {
80
83
  "data-name": "modal-backdrop",
81
- onClick: z,
82
- className: c(
84
+ onClick: C,
85
+ className: u(
83
86
  "absolute inset-0 cursor-default opacity-0",
84
87
  y && "[&:active~*]:scale-95"
85
88
  )
86
89
  }
87
90
  ),
88
- /* @__PURE__ */ n(
91
+ /* @__PURE__ */ s(
89
92
  M.Provider,
90
93
  {
91
94
  value: {
92
- size: a,
93
- open: e,
94
- onClose: s,
95
- dismiss: z,
95
+ size: n,
96
+ open: t,
97
+ onClose: e,
98
+ dismiss: C,
96
99
  transitionState: d,
97
- duration: v,
100
+ duration: i,
98
101
  preventClose: y
99
102
  },
100
103
  children: N
@@ -106,77 +109,97 @@ function u({
106
109
  }
107
110
  ) });
108
111
  }
109
- function O({ className: t, children: o, ...a }) {
110
- const e = i((r) => r.modal.dialog), { size: s, transitionState: f, duration: p } = R(M), x = {
112
+ function T({
113
+ as: o,
114
+ className: a,
115
+ children: n,
116
+ ...t
117
+ }) {
118
+ const e = l((m) => m.modal.dialog), { size: r, transitionState: p, duration: x } = R(M), b = {
111
119
  entering: "scale-100",
112
120
  entered: "scale-100",
113
121
  exiting: "scale-75",
114
122
  exited: "scale-75",
115
123
  unmounted: ""
116
- }, b = j(() => {
117
- var l;
124
+ }, v = j(() => {
125
+ var i;
118
126
  return [{
119
127
  sm: "min-[576px]:w-[300px]",
120
128
  md: "min-[576px]:w-[500px]",
121
129
  lg: "min-[992px]:w-[800px]"
122
- }[s], (l = e == null ? void 0 : e.size) == null ? void 0 : l[s]];
123
- }, [s, e == null ? void 0 : e.size]);
124
- return /* @__PURE__ */ n(
125
- m,
130
+ }[r], (i = e == null ? void 0 : e.size) == null ? void 0 : i[r]];
131
+ }, [r, e == null ? void 0 : e.size]);
132
+ return /* @__PURE__ */ s(
133
+ c,
126
134
  {
127
- as: "div",
135
+ as: o,
128
136
  "data-name": "modal-dialog",
129
- style: { transitionDuration: `${p}ms` },
130
- className: C(
137
+ style: { transitionDuration: `${x}ms` },
138
+ className: z(
131
139
  "max-w-full max-h-full m-auto transition-transform",
132
140
  e == null ? void 0 : e.base,
133
- b,
134
- x[f],
135
- t
141
+ v,
142
+ b[p],
143
+ a
136
144
  ),
137
- ...a,
138
- children: o
145
+ ...t,
146
+ children: n
139
147
  }
140
148
  );
141
149
  }
142
- function T({ className: t, ...o }) {
143
- const a = i((e) => e.modal.header.base);
144
- return /* @__PURE__ */ n(
145
- m.Header,
150
+ function q({
151
+ as: o,
152
+ className: a,
153
+ ...n
154
+ }) {
155
+ const t = l((e) => e.modal.header.base);
156
+ return /* @__PURE__ */ s(
157
+ c.Header,
146
158
  {
159
+ as: o,
147
160
  "data-name": "modal-header",
148
- className: c(a, t),
149
- ...o
161
+ className: u(t, a),
162
+ ...n
150
163
  }
151
164
  );
152
165
  }
153
- function q({ className: t, ...o }) {
154
- const a = i((e) => e.modal.body.base);
155
- return /* @__PURE__ */ n(
156
- m.Body,
166
+ function A({
167
+ as: o,
168
+ className: a,
169
+ ...n
170
+ }) {
171
+ const t = l((e) => e.modal.body.base);
172
+ return /* @__PURE__ */ s(
173
+ c.Body,
157
174
  {
175
+ as: o,
158
176
  "data-name": "modal-body",
159
- className: c(a, t),
160
- ...o
177
+ className: u(t, a),
178
+ ...n
161
179
  }
162
180
  );
163
181
  }
164
- function A({ className: t, ...o }) {
165
- const a = i((e) => e.modal.footer.base);
166
- return /* @__PURE__ */ n(
167
- m.Footer,
182
+ function G({
183
+ as: o,
184
+ className: a,
185
+ ...n
186
+ }) {
187
+ const t = l((e) => e.modal.footer.base);
188
+ return /* @__PURE__ */ s(
189
+ c.Footer,
168
190
  {
191
+ as: o,
169
192
  "data-name": "modal-footer",
170
- className: c(a, t),
171
- ...o
193
+ className: u(t, a),
194
+ ...n
172
195
  }
173
196
  );
174
197
  }
175
- u.Dialog = O;
176
- u.Header = T;
177
- u.Body = q;
178
- u.Footer = A;
198
+ f.Dialog = T;
199
+ f.Header = q;
200
+ f.Body = A;
201
+ f.Footer = G;
179
202
  export {
180
203
  M as ModalContext,
181
- u as default
204
+ f as default
182
205
  };
@@ -1 +1 @@
1
- "use client";"use strict";const q=require("react/jsx-runtime"),c=require("react"),C=require("../../node_modules/tailwind-merge/dist/bundle-mjs.cjs.js"),M=require("../../hooks/useClasses.cjs.js"),u=require("../../helpers/cn.cjs.js");function j({as:l,direction:t="row",wrap:n=!1,reverse:r=!1,className:f,children:m,...a}){const e=M(o=>o.stack),x=l||"div",w=c.useMemo(()=>{var i,s;return{row:u("[&>*:not([class*='min-w-'])]:min-w-0",r?"flex-row-reverse":"flex-row",(i=e==null?void 0:e.directions)==null?void 0:i.row),column:u("[&>*:not([class*='min-h-'])]:min-h-0",r?"flex-col-reverse":"flex-col",(s=e==null?void 0:e.directions)==null?void 0:s.column)}[t]},[t,r,e==null?void 0:e.directions]),d=c.useMemo(()=>n==="reverse"?"flex-wrap-reverse":n?"flex-wrap":null,[n]);return q.jsx(x,{"data-name":"stack",className:C.twMerge("flex",e==null?void 0:e.base,w,d,f),...a,children:m})}module.exports=j;
1
+ "use client";"use strict";const p=require("react/jsx-runtime"),c=require("react"),q=require("../../node_modules/tailwind-merge/dist/bundle-mjs.cjs.js"),C=require("../../hooks/useClasses.cjs.js"),u=require("../../helpers/cn.cjs.js"),M=require("../../helpers/createPolymorphicComponent.cjs.js");function h({as:l,direction:o="row",wrap:n=!1,reverse:r=!1,className:m,children:a,...f}){const e=C(t=>t.stack),x=c.useMemo(()=>{var i,s;return{row:u("[&>*:not([class*='min-w-'])]:min-w-0",r?"flex-row-reverse":"flex-row",(i=e==null?void 0:e.directions)==null?void 0:i.row),column:u("[&>*:not([class*='min-h-'])]:min-h-0",r?"flex-col-reverse":"flex-col",(s=e==null?void 0:e.directions)==null?void 0:s.column)}[o]},[o,r,e==null?void 0:e.directions]),w=c.useMemo(()=>n==="reverse"?"flex-wrap-reverse":n?"flex-wrap":null,[n]),d=M.asComponent(l,"div");return p.jsx(d,{"data-name":"stack",className:q.twMerge("flex",e==null?void 0:e.base,x,w,m),...f,children:a})}module.exports=h;