reaxify 0.0.98 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_commonjsHelpers.cjs.js +1 -1
- package/dist/_virtual/_commonjsHelpers.es.js +3 -4
- package/dist/_virtual/index.cjs.js +1 -1
- package/dist/_virtual/index.cjs2.js +1 -1
- package/dist/_virtual/index.cjs3.js +1 -1
- package/dist/_virtual/index.es.js +3 -4
- package/dist/_virtual/index.es2.js +2 -3
- package/dist/_virtual/index.es3.js +0 -1
- package/dist/_virtual/react-is.development.cjs.js +1 -1
- package/dist/_virtual/react-is.development.es.js +0 -1
- package/dist/_virtual/react-is.production.min.cjs.js +1 -1
- package/dist/_virtual/react-is.production.min.es.js +2 -3
- package/dist/axios/index.d.ts.map +1 -1
- package/dist/axios/useAxios.cjs.js +1 -1
- package/dist/axios/useAxios.es.js +7 -7
- package/dist/components/Accordion/index.cjs.js +1 -1
- package/dist/components/Accordion/index.d.ts +4 -2
- package/dist/components/Accordion/index.d.ts.map +1 -1
- package/dist/components/Accordion/index.es.js +80 -96
- package/dist/components/Alert/index.cjs.js +1 -1
- package/dist/components/Alert/index.d.ts +6 -11
- package/dist/components/Alert/index.d.ts.map +1 -1
- package/dist/components/Alert/index.es.js +122 -99
- package/dist/components/Avatar/index.cjs.js +1 -1
- package/dist/components/Avatar/index.d.ts +3 -3
- package/dist/components/Avatar/index.d.ts.map +1 -1
- package/dist/components/Avatar/index.es.js +108 -97
- package/dist/components/Badge/index.cjs.js +1 -1
- package/dist/components/Badge/index.d.ts +1 -1
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.es.js +35 -35
- package/dist/components/Button/index.cjs.js +1 -1
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.es.js +97 -99
- package/dist/components/ButtonGroup/index.cjs.js +1 -1
- package/dist/components/ButtonGroup/index.d.ts +0 -4
- package/dist/components/ButtonGroup/index.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.es.js +41 -37
- package/dist/components/Card/index.cjs.js +1 -1
- package/dist/components/Card/index.d.ts +4 -4
- package/dist/components/Card/index.d.ts.map +1 -1
- package/dist/components/Card/index.es.js +62 -36
- package/dist/components/Collapse/index.cjs.js +1 -0
- package/dist/components/Collapse/index.d.ts +14 -0
- package/dist/components/Collapse/index.d.ts.map +1 -0
- package/dist/components/Collapse/index.es.js +57 -0
- package/dist/components/Divider/index.cjs.js +1 -1
- package/dist/components/Divider/index.d.ts.map +1 -1
- package/dist/components/Divider/index.es.js +21 -18
- package/dist/components/Drawer/index.cjs.js +1 -1
- package/dist/components/Drawer/index.d.ts +6 -9
- package/dist/components/Drawer/index.d.ts.map +1 -1
- package/dist/components/Drawer/index.es.js +143 -104
- package/dist/components/Fill/index.cjs.js +1 -1
- package/dist/components/Fill/index.d.ts +1 -1
- package/dist/components/Fill/index.d.ts.map +1 -1
- package/dist/components/Fill/index.es.js +18 -10
- package/dist/components/InputGroup/index.cjs.js +1 -1
- package/dist/components/InputGroup/index.d.ts.map +1 -1
- package/dist/components/InputGroup/index.es.js +49 -37
- package/dist/components/List/index.cjs.js +1 -0
- package/dist/components/List/index.d.ts +25 -0
- package/dist/components/List/index.d.ts.map +1 -0
- package/dist/components/List/index.es.js +169 -0
- package/dist/components/Menu/index.cjs.js +1 -1
- package/dist/components/Menu/index.d.ts +3 -2
- package/dist/components/Menu/index.d.ts.map +1 -1
- package/dist/components/Menu/index.es.js +115 -96
- package/dist/components/Modal/index.cjs.js +1 -1
- package/dist/components/Modal/index.d.ts +7 -9
- package/dist/components/Modal/index.d.ts.map +1 -1
- package/dist/components/Modal/index.es.js +134 -87
- package/dist/components/Portal/index.cjs.js +1 -1
- package/dist/components/Portal/index.d.ts.map +1 -1
- package/dist/components/Portal/index.es.js +5 -4
- package/dist/components/Progress/index.cjs.js +1 -1
- package/dist/components/Progress/index.d.ts +1 -1
- package/dist/components/Progress/index.d.ts.map +1 -1
- package/dist/components/Progress/index.es.js +27 -22
- package/dist/components/Skeleton/index.cjs.js +1 -1
- package/dist/components/Skeleton/index.d.ts.map +1 -1
- package/dist/components/Skeleton/index.es.js +8 -8
- package/dist/components/Spacer/index.cjs.js +1 -1
- package/dist/components/Spacer/index.d.ts.map +1 -1
- package/dist/components/Spacer/index.es.js +5 -5
- package/dist/components/Spinner/index.cjs.js +1 -1
- package/dist/components/Spinner/index.d.ts +3 -2
- package/dist/components/Spinner/index.d.ts.map +1 -1
- package/dist/components/Spinner/index.es.js +17 -16
- package/dist/components/Stack/index.cjs.js +1 -1
- package/dist/components/Stack/index.d.ts.map +1 -1
- package/dist/components/Stack/index.es.js +30 -28
- package/dist/components/Switch/index.cjs.js +1 -1
- package/dist/components/Switch/index.d.ts.map +1 -1
- package/dist/components/Switch/index.es.js +17 -13
- package/dist/components/Table/index.cjs.js +1 -1
- package/dist/components/Table/index.d.ts +12 -6
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/Table/index.es.js +143 -87
- package/dist/components/Tabs/index.cjs.js +1 -1
- package/dist/components/Tabs/index.d.ts +1 -1
- package/dist/components/Tabs/index.d.ts.map +1 -1
- package/dist/components/Tabs/index.es.js +58 -48
- package/dist/components/Toggle/index.cjs.js +1 -0
- package/dist/components/Toggle/index.d.ts +48 -0
- package/dist/components/Toggle/index.d.ts.map +1 -0
- package/dist/components/Toggle/index.es.js +115 -0
- package/dist/components/Tooltip/index.cjs.js +1 -1
- package/dist/components/Tooltip/index.d.ts +16 -9
- package/dist/components/Tooltip/index.d.ts.map +1 -1
- package/dist/components/Tooltip/index.es.js +191 -114
- package/dist/components/Typography/index.cjs.js +1 -1
- package/dist/components/Typography/index.d.ts +2 -2
- package/dist/components/Typography/index.d.ts.map +1 -1
- package/dist/components/Typography/index.es.js +19 -17
- package/dist/components/index.cjs.js +1 -1
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.es.js +48 -41
- package/dist/helpers/anchorPointer.cjs.js +1 -0
- package/dist/helpers/anchorPointer.d.ts +8 -0
- package/dist/helpers/anchorPointer.d.ts.map +1 -0
- package/dist/helpers/anchorPointer.es.js +11 -0
- package/dist/helpers/cn.cjs.js +1 -1
- package/dist/helpers/cn.es.js +2 -3
- package/dist/helpers/copy.cjs.js +1 -1
- package/dist/helpers/copy.es.js +4 -5
- package/dist/helpers/createPolymorphicComponent.cjs.js +1 -0
- package/dist/helpers/createPolymorphicComponent.d.ts +7 -0
- package/dist/helpers/createPolymorphicComponent.d.ts.map +1 -0
- package/dist/helpers/createPolymorphicComponent.es.js +15 -0
- package/dist/helpers/index.cjs.js +1 -1
- package/dist/helpers/index.d.ts +2 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.es.js +30 -25
- package/dist/helpers/isEmpty.cjs.js +1 -1
- package/dist/helpers/isEmpty.es.js +0 -1
- package/dist/helpers/isServer.cjs.js +1 -1
- package/dist/helpers/isServer.es.js +0 -1
- package/dist/helpers/randomID.cjs.js +1 -1
- package/dist/helpers/randomID.es.js +0 -1
- package/dist/helpers/replaceNonDigits.cjs.js +1 -1
- package/dist/helpers/replaceNonDigits.es.js +4 -5
- package/dist/helpers/replacePersianNumbers.cjs.js +1 -1
- package/dist/helpers/replacePersianNumbers.es.js +0 -1
- package/dist/helpers/scrollIntoView.cjs.js +1 -1
- package/dist/helpers/scrollIntoView.es.js +4 -5
- package/dist/helpers/twoDigitNumber.cjs.js +1 -1
- package/dist/helpers/twoDigitNumber.es.js +0 -1
- package/dist/helpers/wait.cjs.js +1 -1
- package/dist/helpers/wait.es.js +5 -6
- package/dist/hooks/index.cjs.js +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.es.js +6 -4
- package/dist/hooks/usePreventableClose.cjs.js +1 -0
- package/dist/hooks/usePreventableClose.d.ts +8 -0
- package/dist/hooks/usePreventableClose.d.ts.map +1 -0
- package/dist/hooks/usePreventableClose.es.js +21 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/inheritsLoose.cjs.js +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/inheritsLoose.es.js +2 -3
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.cjs.js +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.es.js +7 -8
- package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.cjs.js +1 -1
- package/dist/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.es.js +0 -1
- package/dist/node_modules/@tanstack/hotkeys/dist/constants.cjs.js +1 -1
- package/dist/node_modules/@tanstack/hotkeys/dist/constants.es.js +0 -1
- package/dist/node_modules/@tanstack/hotkeys/dist/format.cjs.js +1 -1
- package/dist/node_modules/@tanstack/hotkeys/dist/format.es.js +4 -5
- package/dist/node_modules/@tanstack/hotkeys/dist/hotkey-manager.cjs.js +1 -1
- package/dist/node_modules/@tanstack/hotkeys/dist/hotkey-manager.es.js +11 -12
- package/dist/node_modules/@tanstack/hotkeys/dist/manager.utils.cjs.js +1 -1
- package/dist/node_modules/@tanstack/hotkeys/dist/manager.utils.es.js +0 -1
- package/dist/node_modules/@tanstack/hotkeys/dist/match.cjs.js +1 -1
- package/dist/node_modules/@tanstack/hotkeys/dist/match.es.js +2 -3
- package/dist/node_modules/@tanstack/hotkeys/dist/parse.cjs.js +1 -1
- package/dist/node_modules/@tanstack/hotkeys/dist/parse.es.js +45 -42
- package/dist/node_modules/@tanstack/react-hotkeys/dist/HotkeysProvider.cjs.js +1 -1
- package/dist/node_modules/@tanstack/react-hotkeys/dist/HotkeysProvider.es.js +0 -1
- package/dist/node_modules/@tanstack/react-hotkeys/dist/useHotkey.cjs.js +1 -1
- package/dist/node_modules/@tanstack/react-hotkeys/dist/useHotkey.es.js +3 -4
- package/dist/node_modules/@tanstack/react-hotkeys/dist/utils.cjs.js +1 -1
- package/dist/node_modules/@tanstack/react-hotkeys/dist/utils.es.js +0 -1
- package/dist/node_modules/@tanstack/store/dist/esm/alien.cjs.js +1 -1
- package/dist/node_modules/@tanstack/store/dist/esm/alien.es.js +22 -23
- package/dist/node_modules/@tanstack/store/dist/esm/atom.cjs.js +1 -1
- package/dist/node_modules/@tanstack/store/dist/esm/atom.es.js +0 -1
- package/dist/node_modules/@tanstack/store/dist/esm/store.cjs.js +1 -1
- package/dist/node_modules/@tanstack/store/dist/esm/store.es.js +2 -3
- package/dist/node_modules/iconsax-react/dist/esm/ArrowDown2.cjs.js +1 -1
- package/dist/node_modules/iconsax-react/dist/esm/ArrowDown2.es.js +0 -1
- package/dist/node_modules/iconsax-react/dist/esm/_rollupPluginBabelHelpers-3bc641ae.cjs.js +1 -1
- package/dist/node_modules/iconsax-react/dist/esm/_rollupPluginBabelHelpers-3bc641ae.es.js +12 -13
- package/dist/node_modules/object-assign/index.cjs.js +1 -1
- package/dist/node_modules/object-assign/index.es.js +7 -8
- package/dist/node_modules/prop-types/checkPropTypes.cjs.js +1 -1
- package/dist/node_modules/prop-types/checkPropTypes.es.js +12 -13
- package/dist/node_modules/prop-types/factoryWithThrowingShims.cjs.js +1 -1
- package/dist/node_modules/prop-types/factoryWithThrowingShims.es.js +6 -7
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.cjs.js +1 -1
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.es.js +1 -2
- package/dist/node_modules/prop-types/index.cjs.js +1 -1
- package/dist/node_modules/prop-types/index.es.js +3 -4
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.cjs.js +1 -1
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.es.js +0 -1
- package/dist/node_modules/prop-types/lib/has.cjs.js +1 -1
- package/dist/node_modules/prop-types/lib/has.es.js +2 -3
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.cjs.js +2 -2
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.es.js +0 -1
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.cjs.js +1 -1
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.es.js +0 -1
- package/dist/node_modules/prop-types/node_modules/react-is/index.cjs.js +1 -1
- package/dist/node_modules/prop-types/node_modules/react-is/index.es.js +3 -4
- package/dist/node_modules/react-animate-height/dist/esm/index.cjs.js +1 -1
- package/dist/node_modules/react-animate-height/dist/esm/index.es.js +0 -1
- package/dist/node_modules/react-transition-group/esm/Transition.cjs.js +1 -1
- package/dist/node_modules/react-transition-group/esm/Transition.es.js +0 -1
- package/dist/node_modules/react-transition-group/esm/TransitionGroupContext.cjs.js +1 -1
- package/dist/node_modules/react-transition-group/esm/TransitionGroupContext.es.js +2 -3
- package/dist/node_modules/react-transition-group/esm/config.cjs.js +1 -1
- package/dist/node_modules/react-transition-group/esm/config.es.js +2 -3
- package/dist/node_modules/react-transition-group/esm/utils/PropTypes.cjs.js +1 -1
- package/dist/node_modules/react-transition-group/esm/utils/PropTypes.es.js +2 -3
- package/dist/node_modules/react-transition-group/esm/utils/reflow.cjs.js +1 -1
- package/dist/node_modules/react-transition-group/esm/utils/reflow.es.js +3 -4
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.cjs.js +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.es.js +0 -1
- package/dist/providers/ThemeProvider.d.ts +33 -1
- package/dist/providers/ThemeProvider.d.ts.map +1 -1
- package/dist/providers/index.cjs.js +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.es.js +3 -2
- package/dist/stores/portalElement.cjs.js +1 -1
- package/dist/stores/portalElement.d.ts.map +1 -1
- package/dist/stores/portalElement.es.js +13 -10
- package/dist/style.css +1 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +7 -3
- package/dist/reaxify.css +0 -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"),
|
|
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;
|
|
@@ -2,14 +2,15 @@ import { ComponentPropsWithAs, ToggleEventProps, ToggleProps } from '../../types
|
|
|
2
2
|
import { ElementType } from 'react';
|
|
3
3
|
type MenuProps = {
|
|
4
4
|
anchorEl?: HTMLElement | null;
|
|
5
|
+
anchorPointer?: boolean;
|
|
5
6
|
closeOnClick?: boolean;
|
|
6
7
|
preventClose?: boolean;
|
|
7
8
|
duration?: number;
|
|
8
|
-
} & Partial<ToggleEventProps> & ToggleProps
|
|
9
|
+
} & Partial<ToggleEventProps> & Partial<ToggleProps>;
|
|
9
10
|
type MenuItemProps = {
|
|
10
11
|
closeOnClick?: boolean;
|
|
11
12
|
};
|
|
12
|
-
declare function Menu<E extends ElementType = "ul">({ as, ref, open, duration, onClose, onEnter, onEntering, onEntered, onExit, onExiting, onExited, closeOnClick, preventClose, anchorEl, className, children, ...props }: ComponentPropsWithAs<E, MenuProps>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
declare function Menu<E extends ElementType = "ul">({ as, ref, open, duration, onClose, onEnter, onEntering, onEntered, onExit, onExiting, onExited, closeOnClick, preventClose, anchorEl, anchorPointer, className, children, ...props }: ComponentPropsWithAs<E, MenuProps>): import("react/jsx-runtime").JSX.Element;
|
|
13
14
|
declare namespace Menu {
|
|
14
15
|
var Item: typeof MenuItem;
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACZ,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAEL,WAAW,EAOZ,MAAM,OAAO,CAAC;AAOf,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAC3B,OAAO,CAAC,WAAW,CAAC,CAAC;AACvB,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAoBF,iBAAS,IAAI,CAAC,CAAC,SAAS,WAAW,GAAG,IAAI,EAAE,EAC1C,EAAE,EACF,GAAG,EACH,IAAI,EACJ,QAAc,EACd,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,MAAM,EACN,SAAS,EACT,QAAQ,EACR,YAAoB,EACpB,YAAoB,EACpB,QAAe,EACf,aAAqB,EACrB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,CAAC,EAAE,SAAS,CAAC,2CAmIpC;kBAtJQ,IAAI;;;AA6Lb,iBAAS,QAAQ,CAAC,CAAC,SAAS,WAAW,GAAG,QAAQ,EAAE,EAClD,EAAE,EACF,YAAY,EAAE,gBAAgB,EAC9B,SAAS,EACT,QAAQ,EACR,OAAO,EACP,GAAG,KAAK,EACT,EAAE,oBAAoB,CAAC,CAAC,EAAE,aAAa,CAAC,2CA0BxC;AAID,eAAe,IAAI,CAAC"}
|
|
@@ -1,41 +1,47 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as r, jsxs as
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
|
|
2
|
+
import { jsx as r, jsxs as K } from "react/jsx-runtime";
|
|
3
|
+
import { useRef as E, useCallback as H, useEffect as I, useImperativeHandle as Q, createContext as U, useContext as O } from "react";
|
|
4
|
+
import { twMerge as R } from "../../node_modules/tailwind-merge/dist/bundle-mjs.es.js";
|
|
5
|
+
import V from "../Button/index.es.js";
|
|
6
|
+
import X from "../Portal/index.es.js";
|
|
7
|
+
import S from "../../hooks/useClasses.es.js";
|
|
8
|
+
import { getAnchorPointer as Y } from "../../helpers/anchorPointer.es.js";
|
|
9
|
+
import Z from "../../hooks/usePreventableClose.es.js";
|
|
10
|
+
import _ from "../../node_modules/react-transition-group/esm/Transition.es.js";
|
|
11
|
+
import tt from "../../helpers/cn.es.js";
|
|
12
|
+
import { asComponent as et } from "../../helpers/createPolymorphicComponent.es.js";
|
|
13
|
+
const y = U({
|
|
12
14
|
open: !1,
|
|
13
15
|
onClose: () => {
|
|
14
16
|
},
|
|
15
17
|
transitionState: "unmounted",
|
|
16
18
|
closeOnClick: !1,
|
|
17
|
-
preventClose: !1
|
|
19
|
+
preventClose: !1,
|
|
20
|
+
dismiss: () => {
|
|
21
|
+
},
|
|
22
|
+
anchorPointer: !1
|
|
18
23
|
});
|
|
19
|
-
function
|
|
20
|
-
as:
|
|
24
|
+
function nt({
|
|
25
|
+
as: a,
|
|
21
26
|
ref: l,
|
|
22
27
|
open: e,
|
|
23
|
-
duration:
|
|
28
|
+
duration: c = 300,
|
|
24
29
|
onClose: o,
|
|
25
|
-
onEnter:
|
|
26
|
-
onEntering:
|
|
27
|
-
onEntered:
|
|
28
|
-
onExit:
|
|
29
|
-
onExiting:
|
|
30
|
-
onExited:
|
|
31
|
-
closeOnClick:
|
|
32
|
-
preventClose:
|
|
33
|
-
anchorEl:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
onEnter: C,
|
|
31
|
+
onEntering: b,
|
|
32
|
+
onEntered: M,
|
|
33
|
+
onExit: d,
|
|
34
|
+
onExiting: P,
|
|
35
|
+
onExited: k,
|
|
36
|
+
closeOnClick: p = !1,
|
|
37
|
+
preventClose: L = !1,
|
|
38
|
+
anchorEl: h = null,
|
|
39
|
+
anchorPointer: z = !1,
|
|
40
|
+
className: D,
|
|
41
|
+
children: N,
|
|
42
|
+
...A
|
|
37
43
|
}) {
|
|
38
|
-
const
|
|
44
|
+
const F = S((t) => t.menu.base), n = 16, i = E(null), T = E({
|
|
39
45
|
left: n,
|
|
40
46
|
right: n,
|
|
41
47
|
top: n
|
|
@@ -45,77 +51,84 @@ function _({
|
|
|
45
51
|
exiting: "scale-90 opacity-0",
|
|
46
52
|
exited: "scale-90 opacity-0",
|
|
47
53
|
unmounted: ""
|
|
48
|
-
},
|
|
54
|
+
}, W = H((t) => {
|
|
49
55
|
T.current = t;
|
|
50
|
-
}, []),
|
|
51
|
-
var
|
|
52
|
-
(
|
|
53
|
-
}, []),
|
|
54
|
-
var
|
|
55
|
-
if (!e || !
|
|
56
|
-
const t =
|
|
57
|
-
let
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
56
|
+
}, []), $ = H((t) => {
|
|
57
|
+
var v, g, w;
|
|
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`);
|
|
59
|
+
}, []), x = H(() => {
|
|
60
|
+
var j, B;
|
|
61
|
+
if (!e || !h) return;
|
|
62
|
+
const t = window.innerWidth, v = window.innerHeight, g = ((j = i.current) == null ? void 0 : j.offsetWidth) || 150, w = ((B = i.current) == null ? void 0 : B.offsetHeight) || 200;
|
|
63
|
+
let u, m, f;
|
|
64
|
+
if (z) {
|
|
65
|
+
const s = Y(h);
|
|
66
|
+
if (!s) return;
|
|
67
|
+
u = s.x, m = t - s.x, f = s.y;
|
|
68
|
+
} else {
|
|
69
|
+
const s = h.getBoundingClientRect();
|
|
70
|
+
u = s.left, m = t - s.right, f = s.bottom;
|
|
71
|
+
}
|
|
72
|
+
u = Math.min(Math.max(u, n), t - g - n), m = Math.min(
|
|
73
|
+
Math.max(m, n),
|
|
74
|
+
t - g - n
|
|
75
|
+
), f = Math.min(Math.max(f, n), v - w - n), W({ left: u, right: m, top: f }), $({ left: u, right: m, top: f });
|
|
76
|
+
}, [e, h, z, W, $]), G = Z({ preventClose: L, open: e, onClose: o });
|
|
77
|
+
I(() => {
|
|
78
|
+
x();
|
|
79
|
+
}, [x, N]), I(() => {
|
|
68
80
|
const t = () => {
|
|
69
|
-
|
|
81
|
+
x();
|
|
70
82
|
};
|
|
71
83
|
return window.addEventListener("scroll", t), window.addEventListener("resize", t), () => {
|
|
72
84
|
window.removeEventListener("scroll", t), window.removeEventListener("resize", t);
|
|
73
85
|
};
|
|
74
|
-
}, [
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
}), /* @__PURE__ */ r(Y, { children: /* @__PURE__ */ r(
|
|
79
|
-
Z,
|
|
86
|
+
}, [x]), Q(l, () => i.current);
|
|
87
|
+
const J = et(a, "ul");
|
|
88
|
+
return /* @__PURE__ */ r(X, { children: /* @__PURE__ */ r(
|
|
89
|
+
_,
|
|
80
90
|
{
|
|
81
91
|
nodeRef: i,
|
|
82
92
|
in: e,
|
|
83
|
-
timeout:
|
|
93
|
+
timeout: c,
|
|
84
94
|
unmountOnExit: !0,
|
|
85
|
-
onEnter:
|
|
86
|
-
onEntering:
|
|
87
|
-
onEntered:
|
|
88
|
-
onExit:
|
|
89
|
-
onExiting:
|
|
90
|
-
onExited:
|
|
95
|
+
onEnter: C,
|
|
96
|
+
onEntering: b,
|
|
97
|
+
onEntered: M,
|
|
98
|
+
onExit: d,
|
|
99
|
+
onExiting: P,
|
|
100
|
+
onExited: k,
|
|
91
101
|
children: (t) => /* @__PURE__ */ r(
|
|
92
|
-
|
|
102
|
+
y.Provider,
|
|
93
103
|
{
|
|
94
104
|
value: {
|
|
95
105
|
open: e,
|
|
96
|
-
onClose:
|
|
106
|
+
onClose: o,
|
|
107
|
+
dismiss: G,
|
|
97
108
|
transitionState: t,
|
|
98
|
-
closeOnClick:
|
|
99
|
-
preventClose:
|
|
109
|
+
closeOnClick: p,
|
|
110
|
+
preventClose: L,
|
|
111
|
+
anchorPointer: z
|
|
100
112
|
},
|
|
101
|
-
children: /* @__PURE__ */
|
|
102
|
-
/* @__PURE__ */ r(
|
|
113
|
+
children: /* @__PURE__ */ K(ot, { children: [
|
|
114
|
+
/* @__PURE__ */ r(it, {}),
|
|
103
115
|
/* @__PURE__ */ r(
|
|
104
|
-
|
|
116
|
+
J,
|
|
105
117
|
{
|
|
106
118
|
ref: i,
|
|
107
119
|
autoFocus: !0,
|
|
108
120
|
"data-open": e,
|
|
109
121
|
role: "menu",
|
|
110
|
-
|
|
111
|
-
|
|
122
|
+
"data-name": "menu",
|
|
123
|
+
style: { transitionDuration: `${c}ms` },
|
|
124
|
+
className: R(
|
|
112
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",
|
|
113
|
-
|
|
126
|
+
F,
|
|
114
127
|
q[t],
|
|
115
|
-
|
|
128
|
+
D
|
|
116
129
|
),
|
|
117
|
-
...
|
|
118
|
-
children:
|
|
130
|
+
...A,
|
|
131
|
+
children: N
|
|
119
132
|
}
|
|
120
133
|
)
|
|
121
134
|
] })
|
|
@@ -124,12 +137,13 @@ function _({
|
|
|
124
137
|
}
|
|
125
138
|
) });
|
|
126
139
|
}
|
|
127
|
-
function
|
|
128
|
-
const { transitionState: l } =
|
|
140
|
+
function ot({ children: a }) {
|
|
141
|
+
const { transitionState: l } = O(y);
|
|
129
142
|
return /* @__PURE__ */ r(
|
|
130
143
|
"div",
|
|
131
144
|
{
|
|
132
|
-
|
|
145
|
+
"data-name": "menu-container",
|
|
146
|
+
className: R(
|
|
133
147
|
"fixed inset-0 size-full flex flex-col bg-transparent transition-opacity overflow-hidden z-10",
|
|
134
148
|
{
|
|
135
149
|
entering: "active pointer-events-auto",
|
|
@@ -139,53 +153,58 @@ function tt({ children: s }) {
|
|
|
139
153
|
unmounted: ""
|
|
140
154
|
}[l]
|
|
141
155
|
),
|
|
142
|
-
children:
|
|
156
|
+
children: a
|
|
143
157
|
}
|
|
144
158
|
);
|
|
145
159
|
}
|
|
146
|
-
function
|
|
147
|
-
const {
|
|
160
|
+
function it() {
|
|
161
|
+
const { dismiss: a, preventClose: l, anchorPointer: e } = O(y), c = (o) => {
|
|
162
|
+
e && o.preventDefault();
|
|
163
|
+
};
|
|
148
164
|
return /* @__PURE__ */ r(
|
|
149
165
|
"div",
|
|
150
166
|
{
|
|
151
|
-
|
|
167
|
+
"data-name": "menu-backdrop",
|
|
168
|
+
className: tt(
|
|
152
169
|
"w-full flex-1 opacity-0 cursor-default lg:absolute lg:size-full lg:inset-0",
|
|
153
170
|
l && "[&:active~*]:scale-95"
|
|
154
171
|
),
|
|
155
|
-
|
|
172
|
+
onContextMenu: c,
|
|
173
|
+
onClick: a
|
|
156
174
|
}
|
|
157
175
|
);
|
|
158
176
|
}
|
|
159
|
-
function
|
|
160
|
-
as:
|
|
177
|
+
function st({
|
|
178
|
+
as: a,
|
|
161
179
|
closeOnClick: l,
|
|
162
180
|
className: e,
|
|
163
|
-
children:
|
|
181
|
+
children: c,
|
|
164
182
|
onClick: o,
|
|
165
|
-
...
|
|
183
|
+
...C
|
|
166
184
|
}) {
|
|
167
|
-
const
|
|
168
|
-
|
|
185
|
+
const b = S((p) => p.menu.item.base), { closeOnClick: M, onClose: d } = O(y), P = l ?? M, k = (p) => {
|
|
186
|
+
P && (d == null || d()), o == null || o(p);
|
|
169
187
|
};
|
|
170
188
|
return /* @__PURE__ */ r(
|
|
171
|
-
|
|
189
|
+
V,
|
|
172
190
|
{
|
|
173
|
-
as:
|
|
191
|
+
as: a ?? "li",
|
|
174
192
|
color: "light",
|
|
175
193
|
variant: "text",
|
|
176
194
|
role: "menuitem",
|
|
177
|
-
|
|
195
|
+
"data-name": "menu-item",
|
|
196
|
+
className: R(
|
|
178
197
|
"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",
|
|
179
|
-
|
|
198
|
+
b,
|
|
180
199
|
e
|
|
181
200
|
),
|
|
182
|
-
onClick:
|
|
183
|
-
...
|
|
184
|
-
children:
|
|
201
|
+
onClick: k,
|
|
202
|
+
...C,
|
|
203
|
+
children: c
|
|
185
204
|
}
|
|
186
205
|
);
|
|
187
206
|
}
|
|
188
|
-
|
|
207
|
+
nt.Item = st;
|
|
189
208
|
export {
|
|
190
|
-
|
|
209
|
+
nt as default
|
|
191
210
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),
|
|
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,20 +1,18 @@
|
|
|
1
1
|
import { ComponentPropsWithAs, Size, ToggleEventProps, ToggleProps } from '../../types';
|
|
2
|
-
import {
|
|
2
|
+
import { ElementType } from 'react';
|
|
3
3
|
import { TransitionStatus } from 'react-transition-group';
|
|
4
4
|
type Context = {
|
|
5
5
|
size: Size;
|
|
6
6
|
transitionState: TransitionStatus;
|
|
7
7
|
duration: number;
|
|
8
|
+
preventClose: boolean;
|
|
9
|
+
dismiss: VoidFunction;
|
|
8
10
|
} & ToggleProps;
|
|
9
11
|
type ModalProps = {
|
|
10
12
|
size?: Size;
|
|
11
13
|
duration?: number;
|
|
12
14
|
preventClose?: boolean;
|
|
13
15
|
} & Partial<ToggleEventProps> & Partial<ToggleProps>;
|
|
14
|
-
type ModalDialogProps = Omit<ComponentProps<"div">, "as" | "ref">;
|
|
15
|
-
type ModalHeaderProps = ComponentProps<"div">;
|
|
16
|
-
type ModalBodyProps = ComponentProps<"div">;
|
|
17
|
-
type ModalFooterProps = ComponentProps<"div">;
|
|
18
16
|
export declare const ModalContext: import('react').Context<Context>;
|
|
19
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;
|
|
20
18
|
declare namespace Modal {
|
|
@@ -23,9 +21,9 @@ declare namespace Modal {
|
|
|
23
21
|
var Body: typeof ModalBody;
|
|
24
22
|
var Footer: typeof ModalFooter;
|
|
25
23
|
}
|
|
26
|
-
declare function ModalDialog({ className, children, ...props }:
|
|
27
|
-
declare function ModalHeader({ className, ...props }:
|
|
28
|
-
declare function ModalBody({ className, ...props }:
|
|
29
|
-
declare function ModalFooter({ className, ...props }:
|
|
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;
|
|
30
28
|
export default Modal;
|
|
31
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;
|
|
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"}
|