@once-ui-system/core 1.7.0 → 1.7.2
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/components/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog.js +95 -81
- package/dist/components/Dialog.js.map +1 -1
- package/dist/components/Input.js +1 -1
- package/dist/components/Input.js.map +1 -1
- package/dist/components/Input.module.scss +31 -12
- package/dist/components/ScrollLock.d.ts.map +1 -1
- package/dist/components/ScrollLock.js +91 -4
- package/dist/components/ScrollLock.js.map +1 -1
- package/dist/components/TagInput.d.ts +1 -2
- package/dist/components/TagInput.d.ts.map +1 -1
- package/dist/components/TagInput.js.map +1 -1
- package/dist/components/Textarea.d.ts +1 -0
- package/dist/components/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea.js +7 -7
- package/dist/components/Textarea.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/test/dialogTestUtils.d.ts.map +1 -1
- package/dist/test/dialogTestUtils.js +8 -5
- package/dist/test/dialogTestUtils.js.map +1 -1
- package/package.json +3 -3
- package/dist/internal/dialogState.d.ts +0 -17
- package/dist/internal/dialogState.d.ts.map +0 -1
- package/dist/internal/dialogState.js +0 -101
- package/dist/internal/dialogState.js.map +0 -1
- package/dist/internal/scrollLockState.d.ts +0 -15
- package/dist/internal/scrollLockState.d.ts.map +0 -1
- package/dist/internal/scrollLockState.js +0 -172
- package/dist/internal/scrollLockState.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/components/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EACZ,SAAS,
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/components/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EACZ,SAAS,EAQV,MAAM,OAAO,CAAC;AAGf,OAAO,EAAU,IAAI,EAAyC,MAAM,GAAG,CAAC;AAGxE,UAAU,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC;IAC5E,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAaA,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAyVjC,CAAC;AAGF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1,73 +1,49 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
-
import { useEffect, useCallback, useRef, forwardRef, useState, useContext, useId,
|
|
3
|
+
import React, { useEffect, useCallback, useRef, forwardRef, useState, useContext, useId, } from "react";
|
|
4
4
|
import ReactDOM from "react-dom";
|
|
5
5
|
import classNames from "classnames";
|
|
6
6
|
import { Column, Flex, Heading, IconButton, ScrollLock, Text } from ".";
|
|
7
|
-
import { DialogContext, getTopVisibleDialogLayer, removeVisibleDialogLayer, upsertVisibleDialogLayer, } from "../internal/dialogState";
|
|
8
7
|
import styles from "./Dialog.module.scss";
|
|
8
|
+
const DialogContext = React.createContext({
|
|
9
|
+
stackedDialogOpen: false,
|
|
10
|
+
setStackedDialogOpen: () => { },
|
|
11
|
+
});
|
|
9
12
|
export const DialogProvider = ({ children }) => {
|
|
13
|
+
const [stackedDialogOpen, setStackedDialogOpen] = useState(false);
|
|
10
14
|
return (_jsx(DialogContext.Provider, { value: {
|
|
11
|
-
|
|
12
|
-
|
|
15
|
+
stackedDialogOpen,
|
|
16
|
+
setStackedDialogOpen,
|
|
13
17
|
}, children: children }));
|
|
14
18
|
};
|
|
15
19
|
const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stack, base, footer, onHeightChange, minHeight, ...rest }, ref) => {
|
|
16
20
|
const dialogRef = useRef(null);
|
|
17
21
|
const animationTimerRef = useRef(null);
|
|
18
22
|
const previouslyFocusedElementRef = useRef(null);
|
|
19
|
-
const wasVisibleRef = useRef(isOpen);
|
|
20
|
-
const focusRestoredRef = useRef(false);
|
|
21
23
|
const dialogId = useId();
|
|
22
24
|
const dialogTitleId = `${dialogId}-title`;
|
|
23
25
|
const [isVisible, setIsVisible] = useState(isOpen);
|
|
24
26
|
const [isAnimating, setIsAnimating] = useState(false);
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
let portalContainer = dialogRef.current;
|
|
30
|
-
while (portalContainer && portalContainer.parentElement !== document.body) {
|
|
31
|
-
portalContainer = portalContainer.parentElement;
|
|
27
|
+
const { stackedDialogOpen, setStackedDialogOpen } = useContext(DialogContext);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (stack) {
|
|
30
|
+
setStackedDialogOpen(isOpen);
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
}, []);
|
|
32
|
+
}, [stack, isOpen, setStackedDialogOpen]);
|
|
35
33
|
useEffect(() => {
|
|
36
34
|
if (dialogRef.current && isVisible) {
|
|
37
35
|
const height = dialogRef.current.offsetHeight;
|
|
38
36
|
onHeightChange?.(height);
|
|
39
37
|
}
|
|
40
38
|
}, [isVisible, onHeightChange]);
|
|
41
|
-
useLayoutEffect(() => {
|
|
42
|
-
if (!isVisible || !dialogRef.current) {
|
|
43
|
-
removeVisibleDialog(dialogId);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const portalContainer = getPortalContainer();
|
|
47
|
-
if (!portalContainer)
|
|
48
|
-
return;
|
|
49
|
-
upsertVisibleDialog({
|
|
50
|
-
id: dialogId,
|
|
51
|
-
dialogElement: dialogRef.current,
|
|
52
|
-
portalContainer,
|
|
53
|
-
priority: base ? 8 : 9,
|
|
54
|
-
});
|
|
55
|
-
}, [base, dialogId, getPortalContainer, isVisible, removeVisibleDialog, upsertVisibleDialog]);
|
|
56
|
-
useEffect(() => {
|
|
57
|
-
return () => {
|
|
58
|
-
removeVisibleDialog(dialogId);
|
|
59
|
-
};
|
|
60
|
-
}, [dialogId, removeVisibleDialog]);
|
|
61
|
-
useEffect(() => {
|
|
62
|
-
if (!portalContainer) {
|
|
63
|
-
setPortalContainer(document.body);
|
|
64
|
-
}
|
|
65
|
-
}, [portalContainer]);
|
|
66
39
|
useEffect(() => {
|
|
67
40
|
if (animationTimerRef.current) {
|
|
68
41
|
clearTimeout(animationTimerRef.current);
|
|
42
|
+
animationTimerRef.current = null;
|
|
69
43
|
}
|
|
70
44
|
if (isOpen) {
|
|
45
|
+
previouslyFocusedElementRef.current =
|
|
46
|
+
document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
71
47
|
setIsVisible(true);
|
|
72
48
|
animationTimerRef.current = setTimeout(() => {
|
|
73
49
|
setIsAnimating(true);
|
|
@@ -78,6 +54,8 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
|
|
|
78
54
|
setIsAnimating(false);
|
|
79
55
|
animationTimerRef.current = setTimeout(() => {
|
|
80
56
|
setIsVisible(false);
|
|
57
|
+
previouslyFocusedElementRef.current?.focus();
|
|
58
|
+
previouslyFocusedElementRef.current = null;
|
|
81
59
|
animationTimerRef.current = null;
|
|
82
60
|
}, 300);
|
|
83
61
|
}
|
|
@@ -85,11 +63,13 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
|
|
|
85
63
|
if (animationTimerRef.current) {
|
|
86
64
|
clearTimeout(animationTimerRef.current);
|
|
87
65
|
animationTimerRef.current = null;
|
|
66
|
+
previouslyFocusedElementRef.current?.focus();
|
|
67
|
+
previouslyFocusedElementRef.current = null;
|
|
88
68
|
}
|
|
89
69
|
};
|
|
90
70
|
}, [isOpen]);
|
|
91
71
|
const handleKeyDown = useCallback((event) => {
|
|
92
|
-
if (event.key === "Escape" && !base
|
|
72
|
+
if (event.key === "Escape" && !base) {
|
|
93
73
|
onClose();
|
|
94
74
|
}
|
|
95
75
|
if (event.key === "Tab" && dialogRef.current) {
|
|
@@ -107,7 +87,7 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
|
|
|
107
87
|
}
|
|
108
88
|
}
|
|
109
89
|
}
|
|
110
|
-
}, [
|
|
90
|
+
}, [onClose, base]);
|
|
111
91
|
useEffect(() => {
|
|
112
92
|
if (isOpen) {
|
|
113
93
|
document.addEventListener("keydown", handleKeyDown);
|
|
@@ -116,46 +96,80 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
|
|
|
116
96
|
};
|
|
117
97
|
}
|
|
118
98
|
}, [isOpen, handleKeyDown]);
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
// Find the portal container (direct child of body that contains the dialog)
|
|
101
|
+
const getPortalContainer = () => {
|
|
102
|
+
let portalContainer = dialogRef.current;
|
|
103
|
+
while (portalContainer && portalContainer.parentElement !== document.body) {
|
|
104
|
+
portalContainer = portalContainer.parentElement;
|
|
105
|
+
}
|
|
106
|
+
return portalContainer;
|
|
107
|
+
};
|
|
108
|
+
// Cleanup function to restore inert state
|
|
109
|
+
const cleanup = () => {
|
|
110
|
+
// Restore inert on all body children
|
|
111
|
+
document.body.childNodes.forEach((node) => {
|
|
112
|
+
if (node instanceof HTMLElement) {
|
|
113
|
+
node.inert = false;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
// Also restore inert on any dialogs (for stacked dialog case)
|
|
117
|
+
if (stack) {
|
|
118
|
+
const dialogs = document.querySelectorAll('[role="dialog"]');
|
|
119
|
+
dialogs.forEach((dialog) => {
|
|
120
|
+
if (dialog instanceof HTMLElement) {
|
|
121
|
+
dialog.inert = false;
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
if (isOpen) {
|
|
127
|
+
const portalContainer = getPortalContainer();
|
|
128
|
+
// Make everything outside the dialog inert, except the dialog's own portal container
|
|
129
|
+
document.body.childNodes.forEach((node) => {
|
|
130
|
+
if (node instanceof HTMLElement && node !== portalContainer) {
|
|
131
|
+
node.inert = true;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
// If this is a stacked dialog, make the base dialog inert too
|
|
135
|
+
if (stack) {
|
|
136
|
+
const dialogs = document.querySelectorAll('[role="dialog"]');
|
|
137
|
+
dialogs.forEach((dialog) => {
|
|
138
|
+
if (dialog instanceof HTMLElement && !dialog.contains(dialogRef.current)) {
|
|
139
|
+
dialog.inert = true;
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
// Return cleanup function for when component unmounts or isOpen changes
|
|
144
|
+
return cleanup;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
// If this is a stacked dialog closing, restore interactivity to base dialog
|
|
148
|
+
if (stack) {
|
|
149
|
+
const dialogs = document.querySelectorAll('[role="dialog"]');
|
|
150
|
+
dialogs.forEach((dialog) => {
|
|
151
|
+
if (dialog instanceof HTMLElement) {
|
|
152
|
+
dialog.inert = false;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
// If base dialog is closing, restore everything
|
|
158
|
+
document.body.childNodes.forEach((node) => {
|
|
159
|
+
if (node instanceof HTMLElement) {
|
|
160
|
+
node.inert = false;
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}, [isOpen, stack]);
|
|
119
166
|
useEffect(() => {
|
|
120
167
|
if (isOpen && dialogRef.current) {
|
|
121
|
-
focusRestoredRef.current = false;
|
|
122
|
-
previouslyFocusedElementRef.current =
|
|
123
|
-
document.activeElement instanceof HTMLElement ? document.activeElement : null;
|
|
124
168
|
const focusableElements = dialogRef.current.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
|
|
125
169
|
const firstElement = focusableElements[0];
|
|
126
|
-
firstElement
|
|
170
|
+
firstElement.focus();
|
|
127
171
|
}
|
|
128
172
|
}, [isOpen]);
|
|
129
|
-
const restoreFocus = useCallback(() => {
|
|
130
|
-
if (focusRestoredRef.current)
|
|
131
|
-
return;
|
|
132
|
-
const topLayer = getTopVisibleDialogLayer();
|
|
133
|
-
const isTopLayer = topLayer?.id === dialogId;
|
|
134
|
-
const hasOtherVisibleDialog = topLayer !== null && !isTopLayer;
|
|
135
|
-
const previousElement = previouslyFocusedElementRef.current;
|
|
136
|
-
const isPreviousElementInDocument = previousElement !== null && document.contains(previousElement);
|
|
137
|
-
const isPreviousElementInTopLayer = isPreviousElementInDocument &&
|
|
138
|
-
hasOtherVisibleDialog &&
|
|
139
|
-
topLayer?.dialogElement.contains(previousElement);
|
|
140
|
-
if (hasOtherVisibleDialog && !isPreviousElementInTopLayer) {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
if (isPreviousElementInDocument) {
|
|
144
|
-
previousElement.focus();
|
|
145
|
-
}
|
|
146
|
-
focusRestoredRef.current = true;
|
|
147
|
-
}, [dialogId]);
|
|
148
|
-
useEffect(() => {
|
|
149
|
-
if (wasVisibleRef.current && !isVisible) {
|
|
150
|
-
restoreFocus();
|
|
151
|
-
}
|
|
152
|
-
wasVisibleRef.current = isVisible;
|
|
153
|
-
}, [isVisible, restoreFocus]);
|
|
154
|
-
useEffect(() => {
|
|
155
|
-
return () => {
|
|
156
|
-
restoreFocus();
|
|
157
|
-
};
|
|
158
|
-
}, [restoreFocus]);
|
|
159
173
|
useEffect(() => {
|
|
160
174
|
const handleClickOutside = (event) => {
|
|
161
175
|
if (event.button !== 0)
|
|
@@ -165,7 +179,7 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
|
|
|
165
179
|
return;
|
|
166
180
|
}
|
|
167
181
|
if (!dialogRef.current?.contains(event.target)) {
|
|
168
|
-
if (
|
|
182
|
+
if (stack || !base) {
|
|
169
183
|
event.preventDefault();
|
|
170
184
|
onClose();
|
|
171
185
|
}
|
|
@@ -180,10 +194,10 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
|
|
|
180
194
|
document.removeEventListener("mousedown", handleClickOutside, { capture: true });
|
|
181
195
|
};
|
|
182
196
|
}
|
|
183
|
-
}, [
|
|
184
|
-
if (!isVisible
|
|
197
|
+
}, [isVisible, onClose, stack, base]);
|
|
198
|
+
if (!isVisible)
|
|
185
199
|
return null;
|
|
186
|
-
return ReactDOM.createPortal(_jsxs(_Fragment, { children: [_jsx(ScrollLock, { enabled: isOpen
|
|
200
|
+
return ReactDOM.createPortal(_jsxs(_Fragment, { children: [_jsx(ScrollLock, { enabled: isOpen, allowScrollInElement: dialogRef }), _jsx(Flex, { ref: ref, transition: "macro-medium", background: "overlay", position: "fixed", zIndex: base ? 8 : 9, top: "0", left: "0", right: "0", bottom: "0", className: classNames(styles.overlay, {
|
|
187
201
|
[styles.open]: isAnimating,
|
|
188
202
|
}), center: true, padding: "l", role: "dialog", "aria-modal": "true", "aria-labelledby": dialogTitleId, children: _jsx(Flex, { fill: true, center: true, transition: "macro-medium", style: {
|
|
189
203
|
transform: base ? "scale(0.94) translateY(-1.25rem)" : "",
|
|
@@ -207,7 +221,7 @@ const Dialog = forwardRef(({ isOpen, onClose, title, description, children, stac
|
|
|
207
221
|
firstElement.focus();
|
|
208
222
|
}
|
|
209
223
|
}
|
|
210
|
-
}, ...rest, children: [_jsxs(Column, { as: "header", paddingX: "24", paddingTop: "24", paddingBottom: "s", gap: "4", children: [_jsxs(Flex, { fillWidth: true, horizontal: "between", gap: "8", children: [typeof title === "string" ? (_jsx(Heading, { id: dialogTitleId, variant: "heading-strong-l", children: title })) : (_jsx("div", { id: dialogTitleId, children: title })), _jsx(IconButton, { icon: "close", size: "m", variant: "tertiary", tooltip: "Close", onClick: onClose })] }), description && (_jsx(Text, { variant: "body-default-s", onBackground: "neutral-weak", children: description }))] }), _jsx(Column, { as: "section", paddingX: "24", paddingBottom: "24", flex: 1, overflowY: "auto", children: children }), footer && (_jsx(Flex, { borderTop: "neutral-medium", as: "footer", horizontal: "end", padding: "12", gap: "8", children: footer }))] }) }) })] }),
|
|
224
|
+
}, ...rest, children: [_jsxs(Column, { as: "header", paddingX: "24", paddingTop: "24", paddingBottom: "s", gap: "4", children: [_jsxs(Flex, { fillWidth: true, horizontal: "between", gap: "8", children: [typeof title === "string" ? (_jsx(Heading, { id: dialogTitleId, variant: "heading-strong-l", children: title })) : (_jsx("div", { id: dialogTitleId, children: title })), _jsx(IconButton, { icon: "close", size: "m", variant: "tertiary", tooltip: "Close", onClick: onClose })] }), description && (_jsx(Text, { variant: "body-default-s", onBackground: "neutral-weak", children: description }))] }), _jsx(Column, { as: "section", paddingX: "24", paddingBottom: "24", flex: 1, overflowY: "auto", children: children }), footer && (_jsx(Flex, { borderTop: "neutral-medium", as: "footer", horizontal: "end", padding: "12", gap: "8", children: footer }))] }) }) })] }), document.body);
|
|
211
225
|
});
|
|
212
226
|
Dialog.displayName = "Dialog";
|
|
213
227
|
export { Dialog };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/components/Dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,
|
|
1
|
+
{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/components/Dialog.tsx"],"names":[],"mappings":"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"}
|
package/dist/components/Input.js
CHANGED
|
@@ -79,7 +79,7 @@ const Input = forwardRef(({ id, label, placeholder, height = "m", error = false,
|
|
|
79
79
|
[styles.l]: height === "l",
|
|
80
80
|
}, {
|
|
81
81
|
[styles.xl]: height === "xl",
|
|
82
|
-
}, radius === "none" ? "radius-none" : radius ? `radius-l-${radius}` : "radius-l"), children: [hasPrefix && (_jsx(Row, { paddingLeft: "12", className: styles.prefix, position: "static", children: hasPrefix })), _jsxs(Column, { fillWidth: true, children: [_jsx("input", { ...props, ref: ref, id: id, placeholder: placeholder, onFocus: handleFocus, onBlur: handleBlur, className: inputClassNames, "aria-describedby": displayError ? `${id}-error` : undefined, "aria-invalid": !!displayError }), label && (_jsx(Text, { as: "label", variant: "label-default-m", htmlFor: id, className: classNames(styles.label, styles.inputLabel, {
|
|
82
|
+
}, radius === "none" ? "radius-none" : radius ? `radius-l-${radius}` : "radius-l"), children: [hasPrefix && (_jsx(Row, { paddingLeft: "12", className: styles.prefix, position: "static", children: hasPrefix })), _jsxs(Column, { fillWidth: true, padding: "4", children: [_jsx("input", { ...props, ref: ref, id: id, placeholder: placeholder, onFocus: handleFocus, onBlur: handleBlur, className: inputClassNames, "aria-describedby": displayError ? `${id}-error` : undefined, "aria-invalid": !!displayError }), label && (_jsx(Text, { as: "label", variant: "label-default-m", htmlFor: id, className: classNames(styles.label, styles.inputLabel, {
|
|
83
83
|
[styles.floating]: isFocused || isFilled || placeholder,
|
|
84
84
|
}), children: label })), children] }), characterCount && props.maxLength && (_jsx(Row, { paddingRight: "12", className: styles.suffix, position: "static", children: _jsx(Text, { variant: "label-default-s", onBackground: props.maxLength - String(props.value || '').length <= 5
|
|
85
85
|
? "danger-weak"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../src/components/Input.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EACZ,QAAQ,EACR,SAAS,EACT,UAAU,EAEV,WAAW,GAEZ,MAAM,OAAO,CAAC;AACf,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA+BnD,MAAM,KAAK,GAAG,UAAU,CACtB,CACE,EACE,EAAE,EACF,KAAK,EACL,WAAW,EACX,MAAM,GAAG,GAAG,EACZ,KAAK,GAAG,KAAK,EACb,YAAY,EACZ,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAS,EACT,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,cAAc,EACd,OAAO,GAAG,KAAK,EACf,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,MAAM,EACN,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAC/E,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,CAAC,KAAyC,EAAE,EAAE;QAChE,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAyC,EAAE,EAAE;QAC/D,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,MAAM;YAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAEpC,MAAM,YAAY,GAAG,eAAe,IAAI,YAAY,CAAC;IAErD,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,SAAS;QACb,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,EAAE,EAAE,SAAS;KACd,CAAC;IAEF,MAAM,eAAe,GAAG,UAAU,CAChC,MAAM,CAAC,KAAK,EACZ,WAAW,EACX,cAAc,EACd,WAAW,CAAC,MAAM,CAAC,EACnB,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,EAC3D;QACE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ;QACzB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS;QAC3B,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,SAAS;QAC9B,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,SAAS;QAC9B,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW;QACjC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ;QAC9B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,IAAI,cAAc,KAAK,EAAE;KACtD,CACF,CAAC;IAEF,OAAO,CACL,MAAC,MAAM,IACL,GAAG,EAAC,GAAG,EACP,KAAK,EAAE,KAAK,EACZ,SAAS,QACT,SAAS,QACT,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YAC/B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,cAAc,KAAK,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE;SACzF,CAAC,aAEF,MAAC,GAAG,IACF,UAAU,EAAC,cAAc,EACzB,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,EAC9D,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,EACtE,QAAQ,EAAC,QAAQ,EACjB,QAAQ,EAAC,SAAS,EAClB,SAAS,EAAE,UAAU,CACnB,MAAM,CAAC,IAAI,EACX;oBACE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI;iBAC7B,EACD;oBACE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,GAAG;iBAC3B,EACD;oBACE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,GAAG;iBAC3B,EACD;oBACE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,GAAG;iBAC3B,EACD;oBACE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI;iBAC7B,EACD,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,CAC/E,aAEA,SAAS,IAAI,CACZ,KAAC,GAAG,IAAC,WAAW,EAAC,IAAI,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAC,QAAQ,YAC9D,SAAS,GACN,CACP,EACD,MAAC,MAAM,IAAC,SAAS,QAAC,OAAO,EAAC,GAAG,aAC3B,mBACM,KAAK,EACT,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,eAAe,sBACR,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,kBAC5C,CAAC,CAAC,YAAY,GAC5B,EACD,KAAK,IAAI,CACR,KAAC,IAAI,IACH,EAAE,EAAC,OAAO,EACV,OAAO,EAAC,iBAAiB,EACzB,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE;oCACrD,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,IAAI,QAAQ,IAAI,WAAW;iCACxD,CAAC,YAED,KAAK,GACD,CACR,EACA,QAAQ,IACF,EACR,cAAc,IAAI,KAAK,CAAC,SAAS,IAAI,CACpC,KAAC,GAAG,IAAC,YAAY,EAAC,IAAI,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAC,QAAQ,YAChE,KAAC,IAAI,IACH,OAAO,EAAC,iBAAiB,EACzB,YAAY,EACV,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;gCACrD,CAAC,CAAC,aAAa;gCACf,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;oCACxD,CAAC,CAAC,cAAc;oCAChB,CAAC,CAAC,cAAc,YAGrB,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,GAC9C,GACH,CACP,EACA,OAAO,IAAI,CACV,KAAC,GAAG,IAAC,YAAY,EAAC,IAAI,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAC,QAAQ,YAChE,KAAC,OAAO,IAAC,IAAI,EAAC,GAAG,GAAG,GAChB,CACP,EACA,SAAS,IAAI,CAAC,OAAO,IAAI,CACxB,KAAC,GAAG,IAAC,YAAY,EAAC,IAAI,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAC,QAAQ,YAC/D,SAAS,GACN,CACP,IACG,EACL,YAAY,IAAI,YAAY,KAAK,KAAK,IAAI,CACzC,KAAC,GAAG,IAAC,QAAQ,EAAC,IAAI,EAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAC,gBAAgB,EAAC,YAAY,EAAC,aAAa,YAC1F,eAAe,IAAI,YAAY,GAC5B,CACP,EACA,WAAW,IAAI,CACd,KAAC,GAAG,IAAC,QAAQ,EAAC,IAAI,EAAC,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,EAAC,gBAAgB,EAAC,YAAY,EAAC,cAAc,YACjG,WAAW,GACR,CACP,IACM,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
.
|
|
16
|
+
.resizeHandle {
|
|
17
17
|
&::after {
|
|
18
18
|
pointer-events: none;
|
|
19
19
|
content: '';
|
|
@@ -39,31 +39,31 @@
|
|
|
39
39
|
color: var(--neutral-on-background-medium);
|
|
40
40
|
pointer-events: none;
|
|
41
41
|
transform-origin: left;
|
|
42
|
+
|
|
43
|
+
&.floating {
|
|
44
|
+
transform: scale(0.75);
|
|
45
|
+
}
|
|
42
46
|
}
|
|
43
47
|
|
|
44
48
|
.inputLabel {
|
|
45
49
|
top: 50%;
|
|
46
50
|
transform: translateY(-50%);
|
|
47
|
-
|
|
48
|
-
&.floating {
|
|
49
|
-
transform: scale(0.75);
|
|
50
|
-
}
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
.textareaLabel {
|
|
54
|
-
top: var(--static-space-
|
|
54
|
+
top: var(--static-space-8);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
.xs {
|
|
58
58
|
min-height: var(--static-space-40);
|
|
59
59
|
|
|
60
|
-
.label {
|
|
60
|
+
.label, .textareaLabel {
|
|
61
61
|
&.floating {
|
|
62
62
|
top: calc(var(--static-space-4) - var(--static-space-1));
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
.inputLabel {
|
|
66
|
+
.inputLabel, .textareaLabel {
|
|
67
67
|
&.floating {
|
|
68
68
|
transform: scale(0.6);
|
|
69
69
|
}
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
.s {
|
|
74
74
|
min-height: var(--static-space-48);
|
|
75
75
|
|
|
76
|
-
.label {
|
|
76
|
+
.label, .textareaLabel {
|
|
77
77
|
&.floating {
|
|
78
78
|
top: calc(var(--static-space-4) - var(--static-space-1));
|
|
79
79
|
}
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
.m {
|
|
84
84
|
min-height: var(--static-space-56);
|
|
85
85
|
|
|
86
|
-
.label {
|
|
86
|
+
.label, .textareaLabel {
|
|
87
87
|
&.floating {
|
|
88
88
|
top: calc(var(--static-space-8) - var(--static-space-2));
|
|
89
89
|
}
|
|
@@ -98,6 +98,12 @@
|
|
|
98
98
|
top: calc(var(--static-space-8) - var(--static-space-2));
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
|
+
|
|
102
|
+
.textareaLabel {
|
|
103
|
+
&.floating {
|
|
104
|
+
top: var(--static-space-4);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
101
107
|
}
|
|
102
108
|
|
|
103
109
|
.xl {
|
|
@@ -108,6 +114,12 @@
|
|
|
108
114
|
top: calc(var(--static-space-12) - var(--static-space-2));
|
|
109
115
|
}
|
|
110
116
|
}
|
|
117
|
+
|
|
118
|
+
.textareaLabel {
|
|
119
|
+
&.floating {
|
|
120
|
+
top: var(--static-space-4);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
111
123
|
}
|
|
112
124
|
|
|
113
125
|
.input {
|
|
@@ -116,9 +128,9 @@
|
|
|
116
128
|
border: none;
|
|
117
129
|
background: none;
|
|
118
130
|
color: var(--neutral-on-background-strong);
|
|
119
|
-
padding: 0 var(--static-space-
|
|
131
|
+
padding: 0 var(--static-space-12);
|
|
120
132
|
outline: none;
|
|
121
|
-
border-radius: var(--radius-
|
|
133
|
+
border-radius: var(--radius-s);
|
|
122
134
|
|
|
123
135
|
&.placeholder {
|
|
124
136
|
padding-top: 0;
|
|
@@ -166,6 +178,13 @@
|
|
|
166
178
|
.label {
|
|
167
179
|
color: var(--danger-on-background-weak);
|
|
168
180
|
}
|
|
181
|
+
|
|
182
|
+
.resizeHandle {
|
|
183
|
+
&::after {
|
|
184
|
+
border-color: var(--danger-border-medium);
|
|
185
|
+
background-color: var(--danger-alpha-weak);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
169
188
|
}
|
|
170
189
|
|
|
171
190
|
.prefix, .suffix {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollLock.d.ts","sourceRoot":"","sources":["../../src/components/ScrollLock.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA2B,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ScrollLock.d.ts","sourceRoot":"","sources":["../../src/components/ScrollLock.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA2B,SAAS,EAAE,MAAM,OAAO,CAAC;AAE3D,UAAU,eAAe;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,oBAAoB,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACtD;AAED,eAAO,MAAM,UAAU,GAAI,mCAAmC,eAAe,SAwH5E,CAAC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useLayoutEffect, useRef } from "react";
|
|
3
|
-
import { acquireScrollLock, releaseScrollLock, } from "../internal/scrollLockState";
|
|
4
3
|
export const ScrollLock = ({ enabled, allowScrollInElement }) => {
|
|
5
4
|
const scrollPositionRef = useRef({ x: 0, y: 0 });
|
|
6
|
-
const lockIdRef = useRef(Symbol("scroll-lock"));
|
|
7
5
|
useLayoutEffect(() => {
|
|
8
6
|
if (!enabled)
|
|
9
7
|
return;
|
|
@@ -11,13 +9,102 @@ export const ScrollLock = ({ enabled, allowScrollInElement }) => {
|
|
|
11
9
|
const scrollX = window.scrollX;
|
|
12
10
|
const scrollY = window.scrollY;
|
|
13
11
|
scrollPositionRef.current = { x: scrollX, y: scrollY };
|
|
14
|
-
acquireScrollLock(lockIdRef.current, allowScrollInElement);
|
|
15
12
|
// Restore scroll position after a microtask to catch any scroll that happens during mount
|
|
16
13
|
queueMicrotask(() => {
|
|
17
14
|
window.scrollTo(scrollX, scrollY);
|
|
18
15
|
});
|
|
16
|
+
// Check if an element can scroll in a given direction
|
|
17
|
+
const canScroll = (el, deltaY) => {
|
|
18
|
+
const style = window.getComputedStyle(el);
|
|
19
|
+
const overflowY = style.overflowY;
|
|
20
|
+
// Element must have scrollable overflow
|
|
21
|
+
if (overflowY !== 'auto' && overflowY !== 'scroll') {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
const { scrollTop, scrollHeight, clientHeight } = el;
|
|
25
|
+
const hasOverflow = scrollHeight > clientHeight;
|
|
26
|
+
if (!hasOverflow)
|
|
27
|
+
return false;
|
|
28
|
+
// Check if we can scroll in the direction of the wheel
|
|
29
|
+
if (deltaY > 0) {
|
|
30
|
+
// Scrolling down - can we scroll more?
|
|
31
|
+
return scrollTop + clientHeight < scrollHeight;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// Scrolling up - are we not at the top?
|
|
35
|
+
return scrollTop > 0;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
// Find the scrollable parent of a target element within the allowed container
|
|
39
|
+
const findScrollableParent = (target, container, deltaY) => {
|
|
40
|
+
let current = target;
|
|
41
|
+
while (current && container.contains(current)) {
|
|
42
|
+
if (canScroll(current, deltaY)) {
|
|
43
|
+
return current;
|
|
44
|
+
}
|
|
45
|
+
current = current.parentElement;
|
|
46
|
+
}
|
|
47
|
+
// Check the container itself
|
|
48
|
+
if (canScroll(container, deltaY)) {
|
|
49
|
+
return container;
|
|
50
|
+
}
|
|
51
|
+
return null;
|
|
52
|
+
};
|
|
53
|
+
// Prevent wheel scroll
|
|
54
|
+
const preventWheel = (e) => {
|
|
55
|
+
// Allow scroll if it's inside the allowed element AND that element can scroll
|
|
56
|
+
if (allowScrollInElement?.current) {
|
|
57
|
+
const target = e.target;
|
|
58
|
+
if (allowScrollInElement.current.contains(target)) {
|
|
59
|
+
const scrollable = findScrollableParent(target, allowScrollInElement.current, e.deltaY);
|
|
60
|
+
if (scrollable) {
|
|
61
|
+
return; // Allow scroll within the scrollable element
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
e.preventDefault();
|
|
66
|
+
};
|
|
67
|
+
// Prevent touch scroll
|
|
68
|
+
let touchStartY = 0;
|
|
69
|
+
const handleTouchStart = (e) => {
|
|
70
|
+
touchStartY = e.touches[0].clientY;
|
|
71
|
+
};
|
|
72
|
+
const preventTouch = (e) => {
|
|
73
|
+
if (allowScrollInElement?.current) {
|
|
74
|
+
const target = e.target;
|
|
75
|
+
if (allowScrollInElement.current.contains(target)) {
|
|
76
|
+
const deltaY = touchStartY - e.touches[0].clientY;
|
|
77
|
+
const scrollable = findScrollableParent(target, allowScrollInElement.current, deltaY);
|
|
78
|
+
if (scrollable) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
e.preventDefault();
|
|
84
|
+
};
|
|
85
|
+
// Prevent keyboard scrolling
|
|
86
|
+
const preventKeyScroll = (e) => {
|
|
87
|
+
const scrollKeys = ["ArrowUp", "ArrowDown", "PageUp", "PageDown", "Home", "End", " "];
|
|
88
|
+
if (scrollKeys.includes(e.key)) {
|
|
89
|
+
if (allowScrollInElement?.current) {
|
|
90
|
+
const target = e.target;
|
|
91
|
+
if (allowScrollInElement.current.contains(target)) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
e.preventDefault();
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
// Use capture phase to intercept events before they reach targets
|
|
99
|
+
window.addEventListener("wheel", preventWheel, { passive: false, capture: true });
|
|
100
|
+
window.addEventListener("touchstart", handleTouchStart, { passive: true, capture: true });
|
|
101
|
+
window.addEventListener("touchmove", preventTouch, { passive: false, capture: true });
|
|
102
|
+
window.addEventListener("keydown", preventKeyScroll, { capture: true });
|
|
19
103
|
return () => {
|
|
20
|
-
|
|
104
|
+
window.removeEventListener("wheel", preventWheel, { capture: true });
|
|
105
|
+
window.removeEventListener("touchstart", handleTouchStart, { capture: true });
|
|
106
|
+
window.removeEventListener("touchmove", preventTouch, { capture: true });
|
|
107
|
+
window.removeEventListener("keydown", preventKeyScroll, { capture: true });
|
|
21
108
|
};
|
|
22
109
|
}, [enabled, allowScrollInElement]);
|
|
23
110
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollLock.js","sourceRoot":"","sources":["../../src/components/ScrollLock.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,EAAa,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ScrollLock.js","sourceRoot":"","sources":["../../src/components/ScrollLock.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,EAAa,MAAM,OAAO,CAAC;AAO3D,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAmB,EAAE,EAAE;IAC/E,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjD,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,iBAAiB,CAAC,OAAO,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;QAEvD,0FAA0F;QAC1F,cAAc,CAAC,GAAG,EAAE;YAClB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,sDAAsD;QACtD,MAAM,SAAS,GAAG,CAAC,EAAe,EAAE,MAAc,EAAW,EAAE;YAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;YAElC,wCAAwC;YACxC,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACnD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC;YAChD,IAAI,CAAC,WAAW;gBAAE,OAAO,KAAK,CAAC;YAE/B,uDAAuD;YACvD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;gBACf,uCAAuC;gBACvC,OAAO,SAAS,GAAG,YAAY,GAAG,YAAY,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,OAAO,SAAS,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QAEF,8EAA8E;QAC9E,MAAM,oBAAoB,GAAG,CAAC,MAAmB,EAAE,SAAsB,EAAE,MAAc,EAAsB,EAAE;YAC/G,IAAI,OAAO,GAAuB,MAAM,CAAC;YACzC,OAAO,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9C,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;oBAC/B,OAAO,OAAO,CAAC;gBACjB,CAAC;gBACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;YAClC,CAAC;YACD,6BAA6B;YAC7B,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,uBAAuB;QACvB,MAAM,YAAY,GAAG,CAAC,CAAa,EAAE,EAAE;YACrC,8EAA8E;YAC9E,IAAI,oBAAoB,EAAE,OAAO,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;gBACvC,IAAI,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClD,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;oBACxF,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO,CAAC,6CAA6C;oBACvD,CAAC;gBACH,CAAC;YACH,CAAC;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,uBAAuB;QACvB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,gBAAgB,GAAG,CAAC,CAAa,EAAE,EAAE;YACzC,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACrC,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,CAAa,EAAE,EAAE;YACrC,IAAI,oBAAoB,EAAE,OAAO,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;gBACvC,IAAI,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClD,MAAM,MAAM,GAAG,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAClD,MAAM,UAAU,GAAG,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACtF,IAAI,UAAU,EAAE,CAAC;wBACf,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YACD,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,6BAA6B;QAC7B,MAAM,gBAAgB,GAAG,CAAC,CAAgB,EAAE,EAAE;YAC5C,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACtF,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,oBAAoB,EAAE,OAAO,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;oBACvC,IAAI,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;wBAClD,OAAO;oBACT,CAAC;gBACH,CAAC;gBACD,CAAC,CAAC,cAAc,EAAE,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QAEF,kEAAkE;QAClE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClF,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAExE,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9E,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzE,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAEpC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import React from "react";
|
|
2
1
|
import { InputProps } from ".";
|
|
3
2
|
interface TagInputProps extends Omit<InputProps, "onChange" | "value"> {
|
|
4
3
|
value: string[];
|
|
5
4
|
onChange: (value: string[]) => void;
|
|
6
5
|
}
|
|
7
|
-
declare const TagInput:
|
|
6
|
+
declare const TagInput: import("react").ForwardRefExoticComponent<TagInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
8
7
|
export { TagInput };
|
|
9
8
|
export type { TagInputProps };
|
|
10
9
|
//# sourceMappingURL=TagInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagInput.d.ts","sourceRoot":"","sources":["../../src/components/TagInput.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TagInput.d.ts","sourceRoot":"","sources":["../../src/components/TagInput.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAqB,UAAU,EAAE,MAAM,GAAG,CAAC;AAElD,UAAU,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IACpE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACrC;AAED,QAAA,MAAM,QAAQ,4GAqEb,CAAC;AAIF,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagInput.js","sourceRoot":"","sources":["../../src/components/TagInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,
|
|
1
|
+
{"version":3,"file":"TagInput.js","sourceRoot":"","sources":["../../src/components/TagInput.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,QAAQ,EAIR,UAAU,GACX,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAc,MAAM,GAAG,CAAC;AAOlD,MAAM,QAAQ,GAAG,UAAU,CACzB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE;IAC9D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,iBAAiB,GAAyC,CAAC,CAAC,EAAE,EAAE;QACpE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,aAAa,GAA2C,CAAC,CAAC,EAAE,EAAE;QAClE,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YACvC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;gBACtB,QAAQ,CAAC,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,aAAa,CAAC,EAAE,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAAa,EAAE,EAAE;QACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QACrD,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAwC,GAAG,EAAE;QAC5D,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAwC,CAAC,CAAC,EAAE,EAAE;QAC5D,YAAY,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,KAAK,IACJ,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,aAAa,EACxB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,mBACJ,SAAS,mBACR,SAAS,KACpB,UAAU,YAEb,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CACnB,KAAC,IAAI,IACH,KAAK,EAAE;gBACL,MAAM,EAAE,wDAAwD;aACjE,EACD,GAAG,EAAC,GAAG,EACP,QAAQ,EAAC,QAAQ,EACjB,IAAI,QACJ,QAAQ,EAAC,IAAI,YAEZ,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACzB,KAAC,IAAI,IAEH,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,gBAC1B,cAAc,GAAG,EAAE,IAH1B,KAAK,CAIV,CACH,CAAC,GACG,CACR,GACK,CACT,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -12,6 +12,7 @@ interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
|
12
12
|
className?: string;
|
|
13
13
|
hasPrefix?: ReactNode;
|
|
14
14
|
hasSuffix?: ReactNode;
|
|
15
|
+
variant?: "default" | "ghost";
|
|
15
16
|
characterCount?: boolean;
|
|
16
17
|
resize?: "horizontal" | "vertical" | "both" | "none";
|
|
17
18
|
validate?: (value: ReactNode) => ReactNode | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../src/components/Textarea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAIZ,sBAAsB,EAEtB,SAAS,EACV,MAAM,OAAO,CAAC;AAMf,UAAU,aAAc,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EACH,MAAM,GACN,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,UAAU,GACV,WAAW,GACX,cAAc,GACd,aAAa,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../src/components/Textarea.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAIZ,sBAAsB,EAEtB,SAAS,EACV,MAAM,OAAO,CAAC;AAMf,UAAU,aAAc,SAAQ,sBAAsB,CAAC,mBAAmB,CAAC;IACzE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,MAAM,CAAC,EACH,MAAM,GACN,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,UAAU,GACV,WAAW,GACX,cAAc,GACd,aAAa,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;IACrD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,SAAS,GAAG,IAAI,CAAC;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,QAAA,MAAM,QAAQ,2FAiOb,CAAC;AAIF,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -5,7 +5,7 @@ import classNames from "classnames";
|
|
|
5
5
|
import { Column, Row, Text } from ".";
|
|
6
6
|
import styles from "./Input.module.scss";
|
|
7
7
|
import { useDebounce } from "../hooks/useDebounce";
|
|
8
|
-
const Textarea = forwardRef(({ id, label, placeholder, lines = 3, height = "m", error = false, errorMessage, description, radius, className, hasPrefix, hasSuffix, characterCount, resize = "vertical", validate, disabled = false, children, onFocus, onBlur, onChange, style, ...props }, ref) => {
|
|
8
|
+
const Textarea = forwardRef(({ id, label, placeholder, lines = 3, height = "m", error = false, errorMessage, description, radius, className, hasPrefix, hasSuffix, variant = "default", characterCount, resize = "vertical", validate, disabled = false, children, onFocus, onBlur, onChange, style, ...props }, ref) => {
|
|
9
9
|
const [isFocused, setIsFocused] = useState(false);
|
|
10
10
|
const [isFilled, setIsFilled] = useState(!!props.value);
|
|
11
11
|
const [validationError, setValidationError] = useState(null);
|
|
@@ -84,7 +84,7 @@ const Textarea = forwardRef(({ id, label, placeholder, lines = 3, height = "m",
|
|
|
84
84
|
});
|
|
85
85
|
return (_jsxs(Column, { gap: "8", fillWidth: true, fitHeight: true, className: classNames(className, {
|
|
86
86
|
[styles.error]: displayError && debouncedValue !== "",
|
|
87
|
-
}), children: [_jsxs(Row, { minHeight: placeholder ? "48" : "56", transition: "micro-medium", border: "neutral-medium", background: "neutral-alpha-weak", overflow: "hidden", vertical: "stretch", className: classNames(styles.base, height && styles[height], lines !== "auto" && resize !== "none" && styles.
|
|
87
|
+
}), children: [_jsxs(Row, { minHeight: placeholder ? "48" : "56", transition: "micro-medium", border: variant === "ghost" ? "transparent" : "neutral-medium", background: variant === "ghost" ? "transparent" : "neutral-alpha-weak", overflow: "hidden", vertical: "stretch", className: classNames(styles.base, height && styles[height], lines !== "auto" && resize !== "none" && styles.resizeHandle, radius === "none" ? "radius-none" : radius ? `radius-l-${radius}` : "radius-l", lines !== "auto" && resize !== "none" && "radius-s-bottom-right"), children: [hasPrefix && (_jsx(Row, { paddingLeft: "12", className: styles.prefix, children: hasPrefix })), _jsxs(Column, { fillWidth: true, padding: "4", children: [_jsx("textarea", { ...props, ref: (node) => {
|
|
88
88
|
if (typeof ref === "function") {
|
|
89
89
|
ref(node);
|
|
90
90
|
}
|
|
@@ -98,11 +98,11 @@ const Textarea = forwardRef(({ id, label, placeholder, lines = 3, height = "m",
|
|
|
98
98
|
resize: lines === "auto" ? "none" : resize,
|
|
99
99
|
}, onChange: handleChange }), !placeholder && (_jsx(Text, { as: "label", variant: "label-default-m", htmlFor: id, className: classNames(styles.label, styles.textareaLabel, {
|
|
100
100
|
[styles.floating]: isFocused || isFilled,
|
|
101
|
-
}), children: label })), children
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
}), children: label })), children, characterCount && props.maxLength && (_jsx(Row, { fillWidth: true, paddingLeft: "12", paddingY: "4", className: styles.suffix, children: _jsx(Text, { variant: "label-default-s", onBackground: props.maxLength - String(props.value || '').length <= 5
|
|
102
|
+
? "danger-weak"
|
|
103
|
+
: props.maxLength - String(props.value || '').length <= 10
|
|
104
|
+
? "warning-weak"
|
|
105
|
+
: "neutral-weak", children: props.maxLength - String(props.value || '').length }) }))] }), hasSuffix && (_jsx(Row, { paddingRight: "12", className: styles.suffix, children: hasSuffix }))] }), displayError && errorMessage !== false && (_jsx(Row, { paddingX: "16", id: `${id}-error`, textVariant: "body-default-s", onBackground: "danger-weak", children: displayError })), description && (_jsx(Row, { paddingX: "16", id: `${id}-description`, textVariant: "body-default-s", onBackground: "neutral-weak", children: description }))] }));
|
|
106
106
|
});
|
|
107
107
|
Textarea.displayName = "Textarea";
|
|
108
108
|
export { Textarea };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../src/components/Textarea.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EACZ,QAAQ,EACR,SAAS,EACT,UAAU,EAEV,WAAW,GAEZ,MAAM,OAAO,CAAC;AACf,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AACtC,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../src/components/Textarea.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,EAAE,EACZ,QAAQ,EACR,SAAS,EACT,UAAU,EAEV,WAAW,GAEZ,MAAM,OAAO,CAAC;AACf,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC;AACtC,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA+BnD,MAAM,QAAQ,GAAG,UAAU,CACzB,CACE,EACE,EAAE,EACF,KAAK,EACL,WAAW,EACX,KAAK,GAAG,CAAC,EACT,MAAM,GAAG,GAAG,EACZ,KAAK,GAAG,KAAK,EACb,YAAY,EACZ,WAAW,EACX,MAAM,EACN,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,cAAc,EACd,MAAM,GAAG,UAAU,EACnB,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,GAAG,KAAK,EACT,EACD,GAAG,EACH,EAAE;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAsB,IAAI,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAC1C,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC;YAC3E,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,KAA6C,EAAE,EAAE;QACrE,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,YAAY,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAA4C,EAAE,EAAE;QACnE,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAA4C,EAAE,EAAE;QAClE,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,MAAM;YAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;YACvC,IAAI,KAAK,EAAE,CAAC;gBACV,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAElB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACrB,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzB,MAAM,YAAY,GAAG,eAAe,IAAI,YAAY,CAAC;IAErD,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,QAAQ;QACZ,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,CAAC,EAAE,QAAQ;QACX,EAAE,EAAE,SAAS;KACd,CAAC;IAEF,MAAM,kBAAkB,GAAG,UAAU,CACnC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,QAAQ,EACf,WAAW,EACX,cAAc,EACd,WAAW,CAAC,MAAM,CAAC,EACnB;QACE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ;QACzB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS;QAC3B,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,SAAS;QAC9B,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,SAAS;QAC9B,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,WAAW;QACjC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ;KAC/B,CACF,CAAC;IAEF,OAAO,CACL,MAAC,MAAM,IACL,GAAG,EAAC,GAAG,EACP,SAAS,QACT,SAAS,QACT,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;YAC/B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,IAAI,cAAc,KAAK,EAAE;SACtD,CAAC,aAEF,MAAC,GAAG,IACF,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EACpC,UAAU,EAAC,cAAc,EACzB,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,gBAAgB,EAC9D,UAAU,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,EACtE,QAAQ,EAAC,QAAQ,EACjB,QAAQ,EAAC,SAAS,EAClB,SAAS,EAAE,UAAU,CACnB,MAAM,CAAC,IAAI,EACX,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,EACxB,KAAK,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,YAAY,EAC5D,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC,CAAC,UAAU,EAC9E,KAAK,KAAK,MAAM,IAAI,MAAM,KAAK,MAAM,IAAI,uBAAuB,CACjE,aAEA,SAAS,IAAI,CACZ,KAAC,GAAG,IAAC,WAAW,EAAC,IAAI,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM,YAC3C,SAAS,GACN,CACP,EACD,MAAC,MAAM,IAAC,SAAS,QAAC,OAAO,EAAC,GAAG,aAC3B,sBACM,KAAK,EACT,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE;oCACZ,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;wCAC9B,GAAG,CAAC,IAAI,CAAC,CAAC;oCACZ,CAAC;yCAAM,IAAI,GAAG,EAAE,CAAC;wCACf,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oCACrB,CAAC;oCACD,aAAa;oCACb,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;gCAC7B,CAAC,EACD,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAC3C,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,kBAAkB,GAAG,oBAAoB,sBAClC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,kBAC5C,CAAC,CAAC,YAAY,EAC5B,KAAK,EAAE;oCACL,GAAG,KAAK;oCACR,MAAM,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;iCAC3C,EACD,QAAQ,EAAE,YAAY,GACtB,EACD,CAAC,WAAW,IAAI,CACf,KAAC,IAAI,IACH,EAAE,EAAC,OAAO,EACV,OAAO,EAAC,iBAAiB,EACzB,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE;oCACxD,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,IAAI,QAAQ;iCACzC,CAAC,YAED,KAAK,GACD,CACR,EACA,QAAQ,EACR,cAAc,IAAI,KAAK,CAAC,SAAS,IAAI,CACpC,KAAC,GAAG,IAAC,SAAS,QAAC,WAAW,EAAC,IAAI,EAAC,QAAQ,EAAC,GAAG,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM,YACnE,KAAC,IAAI,IACH,OAAO,EAAC,iBAAiB,EACzB,YAAY,EACV,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC;wCACrD,CAAC,CAAC,aAAa;wCACf,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;4CACxD,CAAC,CAAC,cAAc;4CACd,CAAC,CAAC,cAAc,YAGvB,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,GAC9C,GACH,CACP,IACM,EACR,SAAS,IAAI,CACZ,KAAC,GAAG,IAAC,YAAY,EAAC,IAAI,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM,YAC5C,SAAS,GACN,CACP,IACG,EACL,YAAY,IAAI,YAAY,KAAK,KAAK,IAAI,CACzC,KAAC,GAAG,IAAC,QAAQ,EAAC,IAAI,EAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAC,gBAAgB,EAAC,YAAY,EAAC,aAAa,YAC1F,YAAY,GACT,CACP,EACA,WAAW,IAAI,CACd,KAAC,GAAG,IAAC,QAAQ,EAAC,IAAI,EAAC,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,WAAW,EAAC,gBAAgB,EAAC,YAAY,EAAC,cAAc,YACjG,WAAW,GACR,CACP,IACM,CACV,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialogTestUtils.d.ts","sourceRoot":"","sources":["../../src/test/dialogTestUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dialogTestUtils.d.ts","sourceRoot":"","sources":["../../src/test/dialogTestUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,YAW5B,CAAC"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { managedInertElements, visibleDialogLayers } from "../internal/dialogState";
|
|
2
|
-
import { resetScrollLockTestState } from "../internal/scrollLockState";
|
|
3
1
|
export const resetDialogState = () => {
|
|
4
|
-
visibleDialogLayers.splice(0, visibleDialogLayers.length);
|
|
5
|
-
managedInertElements.clear();
|
|
6
|
-
resetScrollLockTestState();
|
|
7
2
|
document.body.innerHTML = "";
|
|
3
|
+
document.body.style.overflow = "";
|
|
4
|
+
document.body.style.paddingRight = "";
|
|
5
|
+
document.documentElement.style.overflow = "";
|
|
6
|
+
document.body.childNodes.forEach((node) => {
|
|
7
|
+
if (node instanceof HTMLElement) {
|
|
8
|
+
node.inert = false;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
8
11
|
};
|
|
9
12
|
//# sourceMappingURL=dialogTestUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialogTestUtils.js","sourceRoot":"","sources":["../../src/test/dialogTestUtils.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"dialogTestUtils.js","sourceRoot":"","sources":["../../src/test/dialogTestUtils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;IAE7C,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@once-ui-system/core",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.2",
|
|
4
4
|
"description": "Once UI for Next.js NPM package",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"once-ui",
|
|
@@ -109,11 +109,11 @@
|
|
|
109
109
|
"@types/node": "20.17.23",
|
|
110
110
|
"@types/react": "19.2.5",
|
|
111
111
|
"@types/react-dom": "19.2.3",
|
|
112
|
-
"@vitest/ui": "^
|
|
112
|
+
"@vitest/ui": "^4.1.5",
|
|
113
113
|
"jsdom": "^27.0.0",
|
|
114
114
|
"rimraf": "^5.0.10",
|
|
115
115
|
"typescript": "5.8.2",
|
|
116
|
-
"vitest": "^
|
|
116
|
+
"vitest": "^4.1.5"
|
|
117
117
|
},
|
|
118
118
|
"overrides": {
|
|
119
119
|
"@types/react": "19.2.5",
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export interface VisibleDialogLayer {
|
|
3
|
-
id: string;
|
|
4
|
-
dialogElement: HTMLElement;
|
|
5
|
-
portalContainer: HTMLElement;
|
|
6
|
-
priority?: number;
|
|
7
|
-
}
|
|
8
|
-
export declare const visibleDialogLayers: VisibleDialogLayer[];
|
|
9
|
-
export declare const managedInertElements: Map<HTMLElement, boolean>;
|
|
10
|
-
export declare const upsertVisibleDialogLayer: (layer: VisibleDialogLayer) => void;
|
|
11
|
-
export declare const removeVisibleDialogLayer: (id: string) => void;
|
|
12
|
-
export declare const getTopVisibleDialogLayer: () => VisibleDialogLayer | null;
|
|
13
|
-
export declare const DialogContext: React.Context<{
|
|
14
|
-
upsertVisibleDialog: (layer: VisibleDialogLayer) => void;
|
|
15
|
-
removeVisibleDialog: (id: string) => void;
|
|
16
|
-
}>;
|
|
17
|
-
//# sourceMappingURL=dialogState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialogState.d.ts","sourceRoot":"","sources":["../../src/internal/dialogState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,WAAW,CAAC;IAC3B,eAAe,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,EAAO,CAAC;AAC5D,eAAO,MAAM,oBAAoB,2BAAkC,CAAC;AAuFpE,eAAO,MAAM,wBAAwB,GAAI,OAAO,kBAAkB,SAWjE,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,IAAI,MAAM,SAMlD,CAAC;AAEF,eAAO,MAAM,wBAAwB,QAAO,kBAAkB,GAAG,IAKhE,CAAC;AAEF,eAAO,MAAM,aAAa;yBACH,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI;yBACnC,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI;EAIzC,CAAC"}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export const visibleDialogLayers = [];
|
|
3
|
-
export const managedInertElements = new Map();
|
|
4
|
-
const getDialogOverlayElement = (layer) => layer.dialogElement.closest('[role="dialog"]');
|
|
5
|
-
const getOverlayZIndex = (layer) => {
|
|
6
|
-
const overlayElement = getDialogOverlayElement(layer);
|
|
7
|
-
if (!overlayElement || typeof window === "undefined")
|
|
8
|
-
return 0;
|
|
9
|
-
const zIndex = window.getComputedStyle(overlayElement).zIndex;
|
|
10
|
-
const parsedZIndex = Number.parseInt(zIndex, 10);
|
|
11
|
-
return Number.isFinite(parsedZIndex) ? parsedZIndex : 0;
|
|
12
|
-
};
|
|
13
|
-
const compareDocumentOrder = (a, b) => {
|
|
14
|
-
if (a === b)
|
|
15
|
-
return 0;
|
|
16
|
-
const position = a.compareDocumentPosition(b);
|
|
17
|
-
if (position & Node.DOCUMENT_POSITION_PRECEDING)
|
|
18
|
-
return 1;
|
|
19
|
-
if (position & Node.DOCUMENT_POSITION_FOLLOWING)
|
|
20
|
-
return -1;
|
|
21
|
-
return 0;
|
|
22
|
-
};
|
|
23
|
-
const getVisibleLayerPriority = (layer) => layer.priority ?? getOverlayZIndex(layer);
|
|
24
|
-
const compareVisibleLayerPriority = (a, b) => {
|
|
25
|
-
const explicitPriorityDifference = getVisibleLayerPriority(a) - getVisibleLayerPriority(b);
|
|
26
|
-
if (explicitPriorityDifference !== 0)
|
|
27
|
-
return explicitPriorityDifference;
|
|
28
|
-
const containerOrderDifference = compareDocumentOrder(a.portalContainer, b.portalContainer);
|
|
29
|
-
if (containerOrderDifference !== 0)
|
|
30
|
-
return containerOrderDifference;
|
|
31
|
-
const aOverlayElement = getDialogOverlayElement(a);
|
|
32
|
-
const bOverlayElement = getDialogOverlayElement(b);
|
|
33
|
-
if (aOverlayElement && bOverlayElement) {
|
|
34
|
-
const overlayOrderDifference = compareDocumentOrder(aOverlayElement, bOverlayElement);
|
|
35
|
-
if (overlayOrderDifference !== 0)
|
|
36
|
-
return overlayOrderDifference;
|
|
37
|
-
}
|
|
38
|
-
// Use id as the final deterministic tie-breaker.
|
|
39
|
-
return a.id.localeCompare(b.id);
|
|
40
|
-
};
|
|
41
|
-
const sortVisibleDialogLayersByPriority = () => {
|
|
42
|
-
visibleDialogLayers.sort(compareVisibleLayerPriority);
|
|
43
|
-
};
|
|
44
|
-
const syncVisibleDialogLayerInertState = () => {
|
|
45
|
-
sortVisibleDialogLayersByPriority();
|
|
46
|
-
const nextInertElements = new Set();
|
|
47
|
-
const topLayer = visibleDialogLayers[visibleDialogLayers.length - 1];
|
|
48
|
-
if (topLayer) {
|
|
49
|
-
document.body.childNodes.forEach((node) => {
|
|
50
|
-
if (node instanceof HTMLElement && node !== topLayer.portalContainer) {
|
|
51
|
-
nextInertElements.add(node);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
visibleDialogLayers.forEach((layer) => {
|
|
55
|
-
if (layer.dialogElement !== topLayer.dialogElement) {
|
|
56
|
-
nextInertElements.add(layer.dialogElement);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
managedInertElements.forEach((wasInert, element) => {
|
|
61
|
-
if (!nextInertElements.has(element)) {
|
|
62
|
-
element.inert = wasInert;
|
|
63
|
-
managedInertElements.delete(element);
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
nextInertElements.forEach((element) => {
|
|
67
|
-
if (!managedInertElements.has(element)) {
|
|
68
|
-
managedInertElements.set(element, element.inert);
|
|
69
|
-
}
|
|
70
|
-
element.inert = true;
|
|
71
|
-
});
|
|
72
|
-
};
|
|
73
|
-
export const upsertVisibleDialogLayer = (layer) => {
|
|
74
|
-
const existingIndex = visibleDialogLayers.findIndex((currentLayer) => currentLayer.id === layer.id);
|
|
75
|
-
if (existingIndex === -1) {
|
|
76
|
-
visibleDialogLayers.push(layer);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
visibleDialogLayers[existingIndex] = layer;
|
|
80
|
-
}
|
|
81
|
-
sortVisibleDialogLayersByPriority();
|
|
82
|
-
syncVisibleDialogLayerInertState();
|
|
83
|
-
};
|
|
84
|
-
export const removeVisibleDialogLayer = (id) => {
|
|
85
|
-
const existingIndex = visibleDialogLayers.findIndex((currentLayer) => currentLayer.id === id);
|
|
86
|
-
if (existingIndex === -1)
|
|
87
|
-
return;
|
|
88
|
-
visibleDialogLayers.splice(existingIndex, 1);
|
|
89
|
-
syncVisibleDialogLayerInertState();
|
|
90
|
-
};
|
|
91
|
-
export const getTopVisibleDialogLayer = () => {
|
|
92
|
-
if (visibleDialogLayers.length === 0)
|
|
93
|
-
return null;
|
|
94
|
-
sortVisibleDialogLayersByPriority();
|
|
95
|
-
return visibleDialogLayers[visibleDialogLayers.length - 1] ?? null;
|
|
96
|
-
};
|
|
97
|
-
export const DialogContext = React.createContext({
|
|
98
|
-
upsertVisibleDialog: upsertVisibleDialogLayer,
|
|
99
|
-
removeVisibleDialog: removeVisibleDialogLayer,
|
|
100
|
-
});
|
|
101
|
-
//# sourceMappingURL=dialogState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialogState.js","sourceRoot":"","sources":["../../src/internal/dialogState.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { RefObject } from "react";
|
|
2
|
-
export declare const activeScrollLocks: Set<symbol>;
|
|
3
|
-
export declare const activeScrollLockAllowElements: Map<symbol, RefObject<HTMLElement | null> | undefined>;
|
|
4
|
-
export declare const scrollLockState: {
|
|
5
|
-
previousBodyOverflow: string | null;
|
|
6
|
-
previousBodyPaddingRight: string | null;
|
|
7
|
-
globalListenersAttached: boolean;
|
|
8
|
-
touchStartY: number;
|
|
9
|
-
};
|
|
10
|
-
export declare const attachScrollLockGlobalListeners: () => void;
|
|
11
|
-
export declare const detachScrollLockGlobalListeners: () => void;
|
|
12
|
-
export declare const acquireScrollLock: (lockId: symbol, allowScrollInElement?: RefObject<HTMLElement | null>) => void;
|
|
13
|
-
export declare const releaseScrollLock: (lockId: symbol) => void;
|
|
14
|
-
export declare const resetScrollLockTestState: () => void;
|
|
15
|
-
//# sourceMappingURL=scrollLockState.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scrollLockState.d.ts","sourceRoot":"","sources":["../../src/internal/scrollLockState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,eAAO,MAAM,iBAAiB,aAAoB,CAAC;AACnD,eAAO,MAAM,6BAA6B,wDAA+D,CAAC;AAE1G,eAAO,MAAM,eAAe;0BACI,MAAM,GAAG,IAAI;8BACT,MAAM,GAAG,IAAI;;;CAGhD,CAAC;AA0IF,eAAO,MAAM,+BAA+B,YAU3C,CAAC;AAEF,eAAO,MAAM,+BAA+B,YAU3C,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,EACd,uBAAuB,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,SAqBrD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,SAe/C,CAAC;AAEF,eAAO,MAAM,wBAAwB,YASpC,CAAC"}
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
export const activeScrollLocks = new Set();
|
|
2
|
-
export const activeScrollLockAllowElements = new Map();
|
|
3
|
-
export const scrollLockState = {
|
|
4
|
-
previousBodyOverflow: null,
|
|
5
|
-
previousBodyPaddingRight: null,
|
|
6
|
-
globalListenersAttached: false,
|
|
7
|
-
touchStartY: 0,
|
|
8
|
-
};
|
|
9
|
-
const SCROLL_KEYS = new Set(["ArrowUp", "ArrowDown", "PageUp", "PageDown", "Home", "End", " "]);
|
|
10
|
-
const canScroll = (el, deltaY) => {
|
|
11
|
-
const style = window.getComputedStyle(el);
|
|
12
|
-
const overflowY = style.overflowY;
|
|
13
|
-
if (overflowY !== "auto" && overflowY !== "scroll") {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
const { scrollTop, scrollHeight, clientHeight } = el;
|
|
17
|
-
const hasOverflow = scrollHeight > clientHeight;
|
|
18
|
-
if (!hasOverflow)
|
|
19
|
-
return false;
|
|
20
|
-
if (deltaY > 0) {
|
|
21
|
-
return scrollTop + clientHeight < scrollHeight;
|
|
22
|
-
}
|
|
23
|
-
return scrollTop > 0;
|
|
24
|
-
};
|
|
25
|
-
const findScrollableParent = (target, container, deltaY) => {
|
|
26
|
-
let current = target;
|
|
27
|
-
while (current && container.contains(current)) {
|
|
28
|
-
if (canScroll(current, deltaY)) {
|
|
29
|
-
return current;
|
|
30
|
-
}
|
|
31
|
-
current = current.parentElement;
|
|
32
|
-
}
|
|
33
|
-
if (canScroll(container, deltaY)) {
|
|
34
|
-
return container;
|
|
35
|
-
}
|
|
36
|
-
return null;
|
|
37
|
-
};
|
|
38
|
-
const canAnyAllowedElementScroll = (target, deltaY) => {
|
|
39
|
-
for (const allowedElementRef of activeScrollLockAllowElements.values()) {
|
|
40
|
-
const container = allowedElementRef?.current;
|
|
41
|
-
if (!container || !container.contains(target)) {
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
if (findScrollableParent(target, container, deltaY)) {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return false;
|
|
49
|
-
};
|
|
50
|
-
const isTargetInAnyAllowedElement = (target) => {
|
|
51
|
-
for (const allowedElementRef of activeScrollLockAllowElements.values()) {
|
|
52
|
-
const container = allowedElementRef?.current;
|
|
53
|
-
if (container && container.contains(target)) {
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return false;
|
|
58
|
-
};
|
|
59
|
-
const canAllowScroll = (target, source, deltaY) => {
|
|
60
|
-
if (source === "keydown") {
|
|
61
|
-
return isTargetInAnyAllowedElement(target);
|
|
62
|
-
}
|
|
63
|
-
return canAnyAllowedElementScroll(target, deltaY ?? 0);
|
|
64
|
-
};
|
|
65
|
-
const preventWheel = (e) => {
|
|
66
|
-
if (!(e.target instanceof HTMLElement)) {
|
|
67
|
-
e.preventDefault();
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
if (canAllowScroll(e.target, "wheel", e.deltaY)) {
|
|
71
|
-
return;
|
|
72
|
-
}
|
|
73
|
-
e.preventDefault();
|
|
74
|
-
};
|
|
75
|
-
const handleTouchStart = (e) => {
|
|
76
|
-
if (e.touches.length === 0) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
scrollLockState.touchStartY = e.touches[0].clientY;
|
|
80
|
-
};
|
|
81
|
-
const preventTouch = (e) => {
|
|
82
|
-
if (!(e.target instanceof HTMLElement)) {
|
|
83
|
-
e.preventDefault();
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
if (e.touches.length === 0) {
|
|
87
|
-
e.preventDefault();
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
const deltaY = scrollLockState.touchStartY - e.touches[0].clientY;
|
|
91
|
-
if (canAllowScroll(e.target, "touchmove", deltaY)) {
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
e.preventDefault();
|
|
95
|
-
};
|
|
96
|
-
const preventKeyScroll = (e) => {
|
|
97
|
-
if (!SCROLL_KEYS.has(e.key)) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
if (!(e.target instanceof HTMLElement)) {
|
|
101
|
-
e.preventDefault();
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
if (canAllowScroll(e.target, "keydown")) {
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
107
|
-
e.preventDefault();
|
|
108
|
-
};
|
|
109
|
-
export const attachScrollLockGlobalListeners = () => {
|
|
110
|
-
if (scrollLockState.globalListenersAttached) {
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
window.addEventListener("wheel", preventWheel, { passive: false, capture: true });
|
|
114
|
-
window.addEventListener("touchstart", handleTouchStart, { passive: true, capture: true });
|
|
115
|
-
window.addEventListener("touchmove", preventTouch, { passive: false, capture: true });
|
|
116
|
-
window.addEventListener("keydown", preventKeyScroll, { capture: true });
|
|
117
|
-
scrollLockState.globalListenersAttached = true;
|
|
118
|
-
};
|
|
119
|
-
export const detachScrollLockGlobalListeners = () => {
|
|
120
|
-
if (!scrollLockState.globalListenersAttached) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
window.removeEventListener("wheel", preventWheel, { capture: true });
|
|
124
|
-
window.removeEventListener("touchstart", handleTouchStart, { capture: true });
|
|
125
|
-
window.removeEventListener("touchmove", preventTouch, { capture: true });
|
|
126
|
-
window.removeEventListener("keydown", preventKeyScroll, { capture: true });
|
|
127
|
-
scrollLockState.globalListenersAttached = false;
|
|
128
|
-
};
|
|
129
|
-
export const acquireScrollLock = (lockId, allowScrollInElement) => {
|
|
130
|
-
if (activeScrollLocks.has(lockId)) {
|
|
131
|
-
activeScrollLockAllowElements.set(lockId, allowScrollInElement);
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
if (activeScrollLocks.size === 0) {
|
|
135
|
-
const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
|
|
136
|
-
scrollLockState.previousBodyOverflow = document.body.style.overflow;
|
|
137
|
-
scrollLockState.previousBodyPaddingRight = document.body.style.paddingRight;
|
|
138
|
-
if (scrollbarWidth > 0) {
|
|
139
|
-
const computedPaddingRight = Number.parseFloat(window.getComputedStyle(document.body).paddingRight) || 0;
|
|
140
|
-
document.body.style.paddingRight = `${computedPaddingRight + scrollbarWidth}px`;
|
|
141
|
-
}
|
|
142
|
-
document.body.style.overflow = "hidden";
|
|
143
|
-
attachScrollLockGlobalListeners();
|
|
144
|
-
}
|
|
145
|
-
activeScrollLocks.add(lockId);
|
|
146
|
-
activeScrollLockAllowElements.set(lockId, allowScrollInElement);
|
|
147
|
-
};
|
|
148
|
-
export const releaseScrollLock = (lockId) => {
|
|
149
|
-
if (!activeScrollLocks.has(lockId)) {
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
activeScrollLocks.delete(lockId);
|
|
153
|
-
activeScrollLockAllowElements.delete(lockId);
|
|
154
|
-
if (activeScrollLocks.size === 0 && scrollLockState.previousBodyOverflow !== null) {
|
|
155
|
-
document.body.style.overflow = scrollLockState.previousBodyOverflow;
|
|
156
|
-
document.body.style.paddingRight = scrollLockState.previousBodyPaddingRight ?? "";
|
|
157
|
-
scrollLockState.previousBodyOverflow = null;
|
|
158
|
-
scrollLockState.previousBodyPaddingRight = null;
|
|
159
|
-
detachScrollLockGlobalListeners();
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
export const resetScrollLockTestState = () => {
|
|
163
|
-
detachScrollLockGlobalListeners();
|
|
164
|
-
activeScrollLocks.clear();
|
|
165
|
-
activeScrollLockAllowElements.clear();
|
|
166
|
-
scrollLockState.previousBodyOverflow = null;
|
|
167
|
-
scrollLockState.previousBodyPaddingRight = null;
|
|
168
|
-
scrollLockState.touchStartY = 0;
|
|
169
|
-
document.body.style.overflow = "";
|
|
170
|
-
document.body.style.paddingRight = "";
|
|
171
|
-
};
|
|
172
|
-
//# sourceMappingURL=scrollLockState.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scrollLockState.js","sourceRoot":"","sources":["../../src/internal/scrollLockState.ts"],"names":[],"mappings":"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"}
|