@plastic-js/tsumiki 0.1.22 → 0.1.24
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/README.md +838 -65
- package/dist/components/Accordion.js +93 -4
- package/dist/components/Avatar.js +96 -4
- package/dist/components/BottomSheet.js +131 -0
- package/dist/components/Button.js +194 -0
- package/dist/components/CardNumberInput.js +28 -44
- package/dist/components/Carousel.js +71 -5
- package/dist/components/Checkbox.js +178 -4
- package/dist/components/Clipboard.js +135 -5
- package/dist/components/CloseButton.js +97 -0
- package/dist/components/Collapsible.js +22 -4
- package/dist/components/ColorPicker.js +327 -4
- package/dist/components/Combobox.js +86 -13
- package/dist/components/ConfirmDialog.js +174 -19
- package/dist/components/DateInput.js +437 -5
- package/dist/components/{DatePickerMobile/wheel.js → DateWheel.js} +1 -3
- package/dist/components/Dialog.js +214 -110
- package/dist/components/Drawer.js +169 -4
- package/dist/components/Field.js +121 -5
- package/dist/components/Fieldset.js +64 -5
- package/dist/components/FileUpload.js +181 -4
- package/dist/components/FocusTrap.js +0 -2
- package/dist/components/Icon.js +32 -17
- package/dist/components/Input.js +211 -0
- package/dist/components/Listbox.js +47 -4
- package/dist/components/Menu.js +99 -4
- package/dist/components/MoneyInput.js +33 -85
- package/dist/components/NumberInput.js +117 -4
- package/dist/components/Pagination.js +91 -5
- package/dist/components/Popover.js +123 -4
- package/dist/components/Portal.js +0 -2
- package/dist/components/Presence.js +0 -2
- package/dist/components/Progress.js +107 -4
- package/dist/components/RadioGroup.js +104 -4
- package/dist/components/RatingGroup.js +75 -4
- package/dist/components/SearchInput.js +60 -55
- package/dist/components/Select.js +428 -5
- package/dist/components/SelectPc.js +239 -0
- package/dist/components/SignaturePad.js +77 -4
- package/dist/components/Skeleton.js +2 -4
- package/dist/components/Slider.js +112 -4
- package/dist/components/Spinner.js +41 -0
- package/dist/components/Splitter.js +51 -4
- package/dist/components/Steps.js +259 -4
- package/dist/components/SwipeReveal.js +2 -4
- package/dist/components/Switch.js +147 -4
- package/dist/components/Tabs.js +80 -4
- package/dist/components/TagsInput.js +128 -4
- package/dist/components/Toast.js +174 -4
- package/dist/components/Toggle.js +39 -4
- package/dist/components/ToggleGroup.js +103 -4
- package/dist/components/Tour.js +63 -4
- package/dist/components/TreeView.js +113 -4
- package/dist/index.js +44 -45
- package/dist/tsumiki.css +1 -0
- package/docs/api.md +670 -0
- package/docs/component-api-pattern.md +362 -0
- package/package.json +16 -6
- package/src/styles/color.css +112 -0
- package/src/styles/index.css +1 -0
- package/src/styles/radius.css +27 -0
- package/src/styles/reset.css +111 -0
- package/src/styles/shadow.css +5 -0
- package/src/styles/sizing.css +59 -0
- package/src/styles/spacing.css +9 -0
- package/src/styles/theme.css +38 -0
- package/src/styles/tokens.css +22 -0
- package/src/styles/transition.css +5 -0
- package/src/styles/typography.css +8 -0
- package/dist/components/Accordion.js.map +0 -1
- package/dist/components/Avatar.js.map +0 -1
- package/dist/components/CardNumberInput.js.map +0 -1
- package/dist/components/Carousel.js.map +0 -1
- package/dist/components/Checkbox.js.map +0 -1
- package/dist/components/Clipboard.js.map +0 -1
- package/dist/components/Collapsible.js.map +0 -1
- package/dist/components/ColorPicker.js.map +0 -1
- package/dist/components/Combobox.js.map +0 -1
- package/dist/components/ConfirmDialog.js.map +0 -1
- package/dist/components/DateInput.js.map +0 -1
- package/dist/components/DatePicker.js +0 -7
- package/dist/components/DatePicker.js.map +0 -1
- package/dist/components/DatePickerMobile/index.js +0 -479
- package/dist/components/DatePickerMobile/index.js.map +0 -1
- package/dist/components/DatePickerMobile/wheel.js.map +0 -1
- package/dist/components/Dialog.js.map +0 -1
- package/dist/components/Drawer.js.map +0 -1
- package/dist/components/Field.js.map +0 -1
- package/dist/components/Fieldset.js.map +0 -1
- package/dist/components/FileUpload.js.map +0 -1
- package/dist/components/FilterableSelect.js +0 -210
- package/dist/components/FilterableSelect.js.map +0 -1
- package/dist/components/FilterableSelectMobile.js +0 -167
- package/dist/components/FilterableSelectMobile.js.map +0 -1
- package/dist/components/FocusTrap.js.map +0 -1
- package/dist/components/HoverCard.js +0 -7
- package/dist/components/HoverCard.js.map +0 -1
- package/dist/components/Icon.js.map +0 -1
- package/dist/components/Listbox.js.map +0 -1
- package/dist/components/Menu.js.map +0 -1
- package/dist/components/MoneyInput.js.map +0 -1
- package/dist/components/NumberInput.js.map +0 -1
- package/dist/components/Pagination.js.map +0 -1
- package/dist/components/Popover.js.map +0 -1
- package/dist/components/Portal.js.map +0 -1
- package/dist/components/Presence.js.map +0 -1
- package/dist/components/Progress.js.map +0 -1
- package/dist/components/RadioGroup.js.map +0 -1
- package/dist/components/RatingGroup.js.map +0 -1
- package/dist/components/SearchInput.js.map +0 -1
- package/dist/components/Select.js.map +0 -1
- package/dist/components/SelectMobile/anatomy.js +0 -10
- package/dist/components/SelectMobile/anatomy.js.map +0 -1
- package/dist/components/SelectMobile/index.js +0 -310
- package/dist/components/SelectMobile/index.js.map +0 -1
- package/dist/components/SignaturePad.js.map +0 -1
- package/dist/components/Skeleton.js.map +0 -1
- package/dist/components/Slider.js.map +0 -1
- package/dist/components/Splitter.js.map +0 -1
- package/dist/components/Steps.js.map +0 -1
- package/dist/components/SwipeReveal.js.map +0 -1
- package/dist/components/Switch.js.map +0 -1
- package/dist/components/Tabs.js.map +0 -1
- package/dist/components/TagsInput.js.map +0 -1
- package/dist/components/Toast.js.map +0 -1
- package/dist/components/Toggle.js.map +0 -1
- package/dist/components/ToggleGroup.js.map +0 -1
- package/dist/components/Tooltip.js +0 -7
- package/dist/components/Tooltip.js.map +0 -1
- package/dist/components/Tour.js.map +0 -1
- package/dist/components/TreeView.js.map +0 -1
- package/dist/node_modules/framesync/dist/es/create-render-step.js +0 -54
- package/dist/node_modules/framesync/dist/es/create-render-step.js.map +0 -1
- package/dist/node_modules/framesync/dist/es/index.js +0 -61
- package/dist/node_modules/framesync/dist/es/index.js.map +0 -1
- package/dist/node_modules/framesync/dist/es/on-next-frame.js +0 -8
- package/dist/node_modules/framesync/dist/es/on-next-frame.js.map +0 -1
- package/dist/node_modules/hey-listen/dist/hey-listen.es.js +0 -15
- package/dist/node_modules/hey-listen/dist/hey-listen.es.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/animations/generators/decay.js +0 -24
- package/dist/node_modules/popmotion/dist/es/animations/generators/decay.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/animations/generators/keyframes.js +0 -40
- package/dist/node_modules/popmotion/dist/es/animations/generators/keyframes.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/animations/generators/spring.js +0 -96
- package/dist/node_modules/popmotion/dist/es/animations/generators/spring.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/animations/index.js +0 -94
- package/dist/node_modules/popmotion/dist/es/animations/index.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/animations/inertia.js +0 -74
- package/dist/node_modules/popmotion/dist/es/animations/inertia.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.js +0 -21
- package/dist/node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/animations/utils/elapsed.js +0 -14
- package/dist/node_modules/popmotion/dist/es/animations/utils/elapsed.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/animations/utils/find-spring.js +0 -68
- package/dist/node_modules/popmotion/dist/es/animations/utils/find-spring.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/easing/index.js +0 -28
- package/dist/node_modules/popmotion/dist/es/easing/index.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/easing/utils.js +0 -13
- package/dist/node_modules/popmotion/dist/es/easing/utils.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/utils/clamp.js +0 -6
- package/dist/node_modules/popmotion/dist/es/utils/clamp.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/utils/hsla-to-rgba.js +0 -35
- package/dist/node_modules/popmotion/dist/es/utils/hsla-to-rgba.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/utils/inc.js +0 -6
- package/dist/node_modules/popmotion/dist/es/utils/inc.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/utils/interpolate.js +0 -69
- package/dist/node_modules/popmotion/dist/es/utils/interpolate.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/utils/mix-color.js +0 -45
- package/dist/node_modules/popmotion/dist/es/utils/mix-color.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/utils/mix-complex.js +0 -61
- package/dist/node_modules/popmotion/dist/es/utils/mix-complex.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/utils/mix.js +0 -6
- package/dist/node_modules/popmotion/dist/es/utils/mix.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/utils/pipe.js +0 -7
- package/dist/node_modules/popmotion/dist/es/utils/pipe.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/utils/progress.js +0 -9
- package/dist/node_modules/popmotion/dist/es/utils/progress.js.map +0 -1
- package/dist/node_modules/popmotion/dist/es/utils/velocity-per-second.js +0 -8
- package/dist/node_modules/popmotion/dist/es/utils/velocity-per-second.js.map +0 -1
- package/dist/node_modules/popmotion/node_modules/tslib/tslib.es6.js +0 -13
- package/dist/node_modules/popmotion/node_modules/tslib/tslib.es6.js.map +0 -1
- package/dist/node_modules/style-value-types/dist/es/color/hex.js +0 -39
- package/dist/node_modules/style-value-types/dist/es/color/hex.js.map +0 -1
- package/dist/node_modules/style-value-types/dist/es/color/hsla.js +0 -16
- package/dist/node_modules/style-value-types/dist/es/color/hsla.js.map +0 -1
- package/dist/node_modules/style-value-types/dist/es/color/index.js +0 -20
- package/dist/node_modules/style-value-types/dist/es/color/index.js.map +0 -1
- package/dist/node_modules/style-value-types/dist/es/color/rgba.js +0 -15
- package/dist/node_modules/style-value-types/dist/es/color/rgba.js.map +0 -1
- package/dist/node_modules/style-value-types/dist/es/color/utils.js +0 -19
- package/dist/node_modules/style-value-types/dist/es/color/utils.js.map +0 -1
- package/dist/node_modules/style-value-types/dist/es/complex/index.js +0 -58
- package/dist/node_modules/style-value-types/dist/es/complex/index.js.map +0 -1
- package/dist/node_modules/style-value-types/dist/es/numbers/index.js +0 -13
- package/dist/node_modules/style-value-types/dist/es/numbers/index.js.map +0 -1
- package/dist/node_modules/style-value-types/dist/es/numbers/units.js +0 -16
- package/dist/node_modules/style-value-types/dist/es/numbers/units.js.map +0 -1
- package/dist/node_modules/style-value-types/dist/es/utils.js +0 -13
- package/dist/node_modules/style-value-types/dist/es/utils.js.map +0 -1
|
@@ -1,310 +0,0 @@
|
|
|
1
|
-
import Icon from "../Icon.js";
|
|
2
|
-
import { part } from "./anatomy.js";
|
|
3
|
-
import { Fragment, jsx, mergeProps, setProp, template } from "@plastic-js/plastic/jsx-runtime";
|
|
4
|
-
import { css } from "@emotion/css";
|
|
5
|
-
import { Loop, createContext, createEffect, createSignal, splitProps, useContext } from "@plastic-js/plastic";
|
|
6
|
-
//#region src/components/SelectMobile/index.jsx
|
|
7
|
-
var _tmpl = template("<span></span>");
|
|
8
|
-
var chevronDownSvg = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m6 9 6 6 6-6\"/></svg>";
|
|
9
|
-
var checkSvg = "<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"/></svg>";
|
|
10
|
-
var triggerClass = css({
|
|
11
|
-
flexShrink: 0,
|
|
12
|
-
width: "100%",
|
|
13
|
-
height: "44px",
|
|
14
|
-
display: "flex",
|
|
15
|
-
alignItems: "center",
|
|
16
|
-
justifyContent: "space-between",
|
|
17
|
-
gap: "4px",
|
|
18
|
-
background: "var(--bg, rgba(0,0,0,0.2))",
|
|
19
|
-
border: "1px solid var(--border)",
|
|
20
|
-
borderRadius: "10px",
|
|
21
|
-
padding: "0 10px",
|
|
22
|
-
color: "var(--ink)",
|
|
23
|
-
fontSize: "15px",
|
|
24
|
-
fontFamily: "inherit",
|
|
25
|
-
textAlign: "left",
|
|
26
|
-
outline: "none",
|
|
27
|
-
cursor: "pointer",
|
|
28
|
-
"&:focus-visible": { borderColor: "var(--accent)" }
|
|
29
|
-
});
|
|
30
|
-
var triggerValueClass = css({
|
|
31
|
-
overflow: "hidden",
|
|
32
|
-
textOverflow: "ellipsis",
|
|
33
|
-
whiteSpace: "nowrap"
|
|
34
|
-
});
|
|
35
|
-
var triggerPlaceholderClass = css({ color: "var(--muted)" });
|
|
36
|
-
var triggerIndicatorClass = css({
|
|
37
|
-
flexShrink: 0,
|
|
38
|
-
color: "var(--muted)",
|
|
39
|
-
display: "flex",
|
|
40
|
-
"& svg": {
|
|
41
|
-
width: "16px",
|
|
42
|
-
height: "16px"
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
var overlayClass = css({
|
|
46
|
-
position: "fixed",
|
|
47
|
-
inset: 0,
|
|
48
|
-
zIndex: 1e3,
|
|
49
|
-
display: "flex",
|
|
50
|
-
flexDirection: "column",
|
|
51
|
-
justifyContent: "flex-end",
|
|
52
|
-
pointerEvents: "none"
|
|
53
|
-
});
|
|
54
|
-
var backdropClass = css({
|
|
55
|
-
position: "absolute",
|
|
56
|
-
inset: 0,
|
|
57
|
-
background: "rgba(0,0,0,0.5)",
|
|
58
|
-
opacity: 0,
|
|
59
|
-
transition: "opacity 240ms ease"
|
|
60
|
-
});
|
|
61
|
-
var sheetClass = css({
|
|
62
|
-
position: "relative",
|
|
63
|
-
width: "100%",
|
|
64
|
-
maxHeight: "70vh",
|
|
65
|
-
display: "flex",
|
|
66
|
-
flexDirection: "column",
|
|
67
|
-
background: "var(--surface)",
|
|
68
|
-
borderTop: "1px solid var(--border)",
|
|
69
|
-
borderRadius: "18px 18px 0 0",
|
|
70
|
-
boxShadow: "0 -8px 32px rgba(0,0,0,0.4)",
|
|
71
|
-
paddingBottom: "env(safe-area-inset-bottom, 0px)",
|
|
72
|
-
transform: "translateY(100%)",
|
|
73
|
-
transition: "transform 280ms cubic-bezier(0.32, 0.72, 0, 1)"
|
|
74
|
-
});
|
|
75
|
-
var openClass = css({
|
|
76
|
-
pointerEvents: "auto",
|
|
77
|
-
[`& .${backdropClass}`]: { opacity: 1 },
|
|
78
|
-
[`& .${sheetClass}`]: { transform: "translateY(0)" }
|
|
79
|
-
});
|
|
80
|
-
var grabberClass = css({
|
|
81
|
-
flexShrink: 0,
|
|
82
|
-
display: "flex",
|
|
83
|
-
justifyContent: "center",
|
|
84
|
-
padding: "10px 0 4px"
|
|
85
|
-
});
|
|
86
|
-
var grabberBarClass = css({
|
|
87
|
-
width: "36px",
|
|
88
|
-
height: "4px",
|
|
89
|
-
borderRadius: "999px",
|
|
90
|
-
background: "var(--border)"
|
|
91
|
-
});
|
|
92
|
-
var listClass = css({
|
|
93
|
-
overflowY: "auto",
|
|
94
|
-
WebkitOverflowScrolling: "touch",
|
|
95
|
-
padding: "0 8px 8px"
|
|
96
|
-
});
|
|
97
|
-
var itemClass = css({
|
|
98
|
-
width: "100%",
|
|
99
|
-
display: "flex",
|
|
100
|
-
alignItems: "center",
|
|
101
|
-
justifyContent: "space-between",
|
|
102
|
-
gap: "10px",
|
|
103
|
-
height: "52px",
|
|
104
|
-
padding: "0 14px",
|
|
105
|
-
background: "transparent",
|
|
106
|
-
border: "none",
|
|
107
|
-
borderRadius: "12px",
|
|
108
|
-
color: "var(--ink)",
|
|
109
|
-
fontSize: "16px",
|
|
110
|
-
fontFamily: "inherit",
|
|
111
|
-
textAlign: "left",
|
|
112
|
-
cursor: "pointer",
|
|
113
|
-
"&:active": { background: "rgba(255,255,255,0.06)" }
|
|
114
|
-
});
|
|
115
|
-
var itemIndicatorClass = css({
|
|
116
|
-
flexShrink: 0,
|
|
117
|
-
color: "var(--accent)",
|
|
118
|
-
display: "flex",
|
|
119
|
-
"& svg": {
|
|
120
|
-
width: "18px",
|
|
121
|
-
height: "18px"
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
var SelectMobileContext = createContext(null);
|
|
125
|
-
var useSelectMobile = () => {
|
|
126
|
-
const ctx = useContext(SelectMobileContext);
|
|
127
|
-
if (!ctx) throw new Error("SelectMobile parts must be used inside <SelectMobile.Root>");
|
|
128
|
-
return ctx;
|
|
129
|
-
};
|
|
130
|
-
var read = (source) => {
|
|
131
|
-
return typeof source === "function" ? source() : source;
|
|
132
|
-
};
|
|
133
|
-
var Root = (props) => {
|
|
134
|
-
const [local, rest] = splitProps(props, [
|
|
135
|
-
"value",
|
|
136
|
-
"onValueChange",
|
|
137
|
-
"items",
|
|
138
|
-
"itemToValue",
|
|
139
|
-
"itemToLabel",
|
|
140
|
-
"open",
|
|
141
|
-
"defaultOpen",
|
|
142
|
-
"onOpenChange",
|
|
143
|
-
"children"
|
|
144
|
-
]);
|
|
145
|
-
const internalOpen = createSignal(local.defaultOpen ?? false);
|
|
146
|
-
const open = (v) => {
|
|
147
|
-
if (v === void 0) return local.open !== void 0 ? read(local.open) : internalOpen();
|
|
148
|
-
if (local.open !== void 0) local.onOpenChange?.(v);
|
|
149
|
-
else {
|
|
150
|
-
internalOpen(v);
|
|
151
|
-
local.onOpenChange?.(v);
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
const itemToValue = (item) => {
|
|
155
|
-
if (item == null) return;
|
|
156
|
-
return local.itemToValue ? local.itemToValue(item) : item.value;
|
|
157
|
-
};
|
|
158
|
-
const itemToLabel = (item) => {
|
|
159
|
-
if (item == null) return;
|
|
160
|
-
return local.itemToLabel ? local.itemToLabel(item) : item.label;
|
|
161
|
-
};
|
|
162
|
-
const items = () => read(local.items) || [];
|
|
163
|
-
const value = () => read(local.value) ?? "";
|
|
164
|
-
const isSelected = (v) => String(value()) === String(v);
|
|
165
|
-
const selectedItem = () => items().find((item) => isSelected(itemToValue(item)));
|
|
166
|
-
const setValue = (v) => {
|
|
167
|
-
local.onValueChange?.(v);
|
|
168
|
-
open(false);
|
|
169
|
-
};
|
|
170
|
-
createEffect(() => {
|
|
171
|
-
if (!open()) return;
|
|
172
|
-
const onKey = (e) => {
|
|
173
|
-
if (e.key === "Escape") open(false);
|
|
174
|
-
};
|
|
175
|
-
document.addEventListener("keydown", onKey);
|
|
176
|
-
const prevOverflow = document.body.style.overflow;
|
|
177
|
-
document.body.style.overflow = "hidden";
|
|
178
|
-
return () => {
|
|
179
|
-
document.removeEventListener("keydown", onKey);
|
|
180
|
-
document.body.style.overflow = prevOverflow;
|
|
181
|
-
};
|
|
182
|
-
});
|
|
183
|
-
const ctx = {
|
|
184
|
-
open,
|
|
185
|
-
value,
|
|
186
|
-
items,
|
|
187
|
-
itemToValue,
|
|
188
|
-
itemToLabel,
|
|
189
|
-
isSelected,
|
|
190
|
-
selectedItem,
|
|
191
|
-
setValue
|
|
192
|
-
};
|
|
193
|
-
return jsx(SelectMobileContext.Provider, mergeProps({
|
|
194
|
-
value: ctx,
|
|
195
|
-
children: () => jsx("div", mergeProps(() => part("root"), rest, { children: () => local.children }))
|
|
196
|
-
}));
|
|
197
|
-
};
|
|
198
|
-
var Trigger = (props) => {
|
|
199
|
-
const ctx = useSelectMobile();
|
|
200
|
-
const [local, rest] = splitProps(props, [
|
|
201
|
-
"placeholder",
|
|
202
|
-
"className",
|
|
203
|
-
"children"
|
|
204
|
-
]);
|
|
205
|
-
return jsx("div", mergeProps(() => part("trigger"), {
|
|
206
|
-
get className() {
|
|
207
|
-
return `${triggerClass} ${local.className || ""}`;
|
|
208
|
-
},
|
|
209
|
-
onClick: () => ctx.open(true),
|
|
210
|
-
role: "button",
|
|
211
|
-
tabIndex: 0
|
|
212
|
-
}, rest, { children: () => local.children ?? jsx(Fragment, { children: [jsx("span", mergeProps(() => part("triggerValue"), {
|
|
213
|
-
get className() {
|
|
214
|
-
return `${triggerValueClass} ${ctx.selectedItem() ? "" : triggerPlaceholderClass}`;
|
|
215
|
-
},
|
|
216
|
-
children: () => {
|
|
217
|
-
const item = ctx.selectedItem();
|
|
218
|
-
return item !== void 0 ? ctx.itemToLabel(item) : local.placeholder ?? "Select";
|
|
219
|
-
}
|
|
220
|
-
})), jsx("span", mergeProps(() => part("triggerIndicator"), {
|
|
221
|
-
className: triggerIndicatorClass,
|
|
222
|
-
children: jsx(Icon, mergeProps({ svg: chevronDownSvg }))
|
|
223
|
-
}))] }) }));
|
|
224
|
-
};
|
|
225
|
-
var Item = (props) => {
|
|
226
|
-
const ctx = useSelectMobile();
|
|
227
|
-
const [local, rest] = splitProps(props, [
|
|
228
|
-
"item",
|
|
229
|
-
"value",
|
|
230
|
-
"className",
|
|
231
|
-
"children"
|
|
232
|
-
]);
|
|
233
|
-
const value = () => local.item !== void 0 ? ctx.itemToValue(local.item) : local.value;
|
|
234
|
-
return jsx("button", mergeProps(() => part("item"), {
|
|
235
|
-
get className() {
|
|
236
|
-
return `${itemClass} ${local.className || ""}`;
|
|
237
|
-
},
|
|
238
|
-
"data-selected": () => ctx.isSelected(value()) ? "" : void 0,
|
|
239
|
-
onClick: () => ctx.setValue(value()),
|
|
240
|
-
type: "button"
|
|
241
|
-
}, rest, { children: [jsx("span", mergeProps(() => part("itemText"), { children: () => local.children ?? (local.item !== void 0 && ctx.itemToLabel(local.item)) })), () => ctx.isSelected(value()) && jsx("span", mergeProps(() => part("itemIndicator"), {
|
|
242
|
-
className: itemIndicatorClass,
|
|
243
|
-
children: jsx(Icon, mergeProps({ svg: checkSvg }))
|
|
244
|
-
}))] }));
|
|
245
|
-
};
|
|
246
|
-
var Content = (props) => {
|
|
247
|
-
const ctx = useSelectMobile();
|
|
248
|
-
const [local, rest] = splitProps(props, [
|
|
249
|
-
"clearable",
|
|
250
|
-
"clearLabel",
|
|
251
|
-
"className",
|
|
252
|
-
"backdropClassName",
|
|
253
|
-
"backdropStyle",
|
|
254
|
-
"children"
|
|
255
|
-
]);
|
|
256
|
-
return jsx("div", mergeProps(() => part("positioner"), {
|
|
257
|
-
"aria-hidden": () => !ctx.open(),
|
|
258
|
-
get className() {
|
|
259
|
-
return `${overlayClass} ${ctx.open() ? openClass : ""}`;
|
|
260
|
-
},
|
|
261
|
-
children: [jsx("div", mergeProps(() => part("backdrop"), {
|
|
262
|
-
get className() {
|
|
263
|
-
return `${backdropClass} ${local.backdropClassName || ""}`;
|
|
264
|
-
},
|
|
265
|
-
get style() {
|
|
266
|
-
return local.backdropStyle;
|
|
267
|
-
},
|
|
268
|
-
onClick: () => ctx.open(false)
|
|
269
|
-
})), jsx("div", mergeProps(() => part("content"), {
|
|
270
|
-
get className() {
|
|
271
|
-
return `${sheetClass} ${local.className || ""}`;
|
|
272
|
-
},
|
|
273
|
-
role: "dialog"
|
|
274
|
-
}, rest, { children: [jsx("div", mergeProps(() => part("grabber"), {
|
|
275
|
-
className: grabberClass,
|
|
276
|
-
onClick: () => ctx.open(false),
|
|
277
|
-
children: (() => {
|
|
278
|
-
const _el0 = _tmpl.cloneNode(true);
|
|
279
|
-
setProp(_el0, "className", () => grabberBarClass);
|
|
280
|
-
return _el0;
|
|
281
|
-
})()
|
|
282
|
-
})), jsx("div", mergeProps(() => part("list"), {
|
|
283
|
-
className: listClass,
|
|
284
|
-
children: () => local.children ?? jsx(Fragment, { children: [() => local.clearable && jsx(Item, mergeProps({
|
|
285
|
-
value: "",
|
|
286
|
-
children: () => local.clearLabel ?? "None"
|
|
287
|
-
})), jsx(Loop, mergeProps({
|
|
288
|
-
get each() {
|
|
289
|
-
return ctx.items;
|
|
290
|
-
},
|
|
291
|
-
children: (item) => jsx(Item, mergeProps({
|
|
292
|
-
item,
|
|
293
|
-
get key() {
|
|
294
|
-
return ctx.itemToValue(item);
|
|
295
|
-
}
|
|
296
|
-
}))
|
|
297
|
-
}))] })
|
|
298
|
-
}))] }))]
|
|
299
|
-
}));
|
|
300
|
-
};
|
|
301
|
-
var SelectMobile = Object.assign(Root, {
|
|
302
|
-
Root,
|
|
303
|
-
Trigger,
|
|
304
|
-
Content,
|
|
305
|
-
Item
|
|
306
|
-
});
|
|
307
|
-
//#endregion
|
|
308
|
-
export { SelectMobile as default };
|
|
309
|
-
|
|
310
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["css","Loop","Portal","createContext","createEffect","createSignal","splitProps","useContext","Icon","part","_tmpl","_template","chevronDownSvg","checkSvg","triggerClass","flexShrink","width","height","display","alignItems","justifyContent","gap","background","border","borderRadius","padding","color","fontSize","fontFamily","textAlign","outline","cursor","borderColor","triggerValueClass","overflow","textOverflow","whiteSpace","triggerPlaceholderClass","triggerIndicatorClass","overlayClass","position","inset","zIndex","flexDirection","pointerEvents","backdropClass","opacity","transition","sheetClass","maxHeight","borderTop","boxShadow","paddingBottom","transform","openClass","grabberClass","grabberBarClass","listClass","overflowY","WebkitOverflowScrolling","itemClass","itemIndicatorClass","SelectMobileContext","useSelectMobile","ctx","Error","read","source","Root","props","local","rest","internalOpen","defaultOpen","open","v","undefined","onOpenChange","itemToValue","item","value","itemToLabel","label","items","isSelected","String","selectedItem","find","setValue","onValueChange","onKey","e","key","document","addEventListener","prevOverflow","body","style","removeEventListener","_jsx","Provider","_mergeProps","children","Trigger","className","onClick","role","tabIndex","_Fragment","placeholder","svg","Item","data-selected","type","Content","aria-hidden","backdropClassName","backdropStyle","_el0","cloneNode","_setProp","clearable","clearLabel","each","SelectMobile","Object","assign"],"sources":["../../../src/components/SelectMobile/index.jsx"],"sourcesContent":["import { css } from '@emotion/css'\nimport {\n\tLoop, Portal, createContext, createEffect, createSignal, splitProps, useContext,\n} from '@plastic-js/plastic'\nimport Icon from '../Icon.jsx'\nimport { part } from './anatomy.js'\n\nconst chevronDownSvg = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m6 9 6 6 6-6\"/></svg>'\nconst checkSvg = '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"/></svg>'\n\nconst triggerClass = css({\n\tflexShrink: 0,\n\twidth: '100%',\n\theight: '44px',\n\tdisplay: 'flex',\n\talignItems: 'center',\n\tjustifyContent: 'space-between',\n\tgap: '4px',\n\tbackground: 'var(--bg, rgba(0,0,0,0.2))',\n\tborder: '1px solid var(--border)',\n\tborderRadius: '10px',\n\tpadding: '0 10px',\n\tcolor: 'var(--ink)',\n\tfontSize: '15px',\n\tfontFamily: 'inherit',\n\ttextAlign: 'left',\n\toutline: 'none',\n\tcursor: 'pointer',\n\t'&:focus-visible': { borderColor: 'var(--accent)' },\n})\n\nconst triggerValueClass = css({\n\toverflow: 'hidden',\n\ttextOverflow: 'ellipsis',\n\twhiteSpace: 'nowrap',\n})\n\nconst triggerPlaceholderClass = css({\n\tcolor: 'var(--muted)',\n})\n\nconst triggerIndicatorClass = css({\n\tflexShrink: 0,\n\tcolor: 'var(--muted)',\n\tdisplay: 'flex',\n\t'& svg': { width: '16px', height: '16px' },\n})\n\nconst overlayClass = css({\n\tposition: 'fixed',\n\tinset: 0,\n\tzIndex: 1000,\n\tdisplay: 'flex',\n\tflexDirection: 'column',\n\tjustifyContent: 'flex-end',\n\tpointerEvents: 'none',\n})\n\nconst backdropClass = css({\n\tposition: 'absolute',\n\tinset: 0,\n\tbackground: 'rgba(0,0,0,0.5)',\n\topacity: 0,\n\ttransition: 'opacity 240ms ease',\n})\n\nconst sheetClass = css({\n\tposition: 'relative',\n\twidth: '100%',\n\tmaxHeight: '70vh',\n\tdisplay: 'flex',\n\tflexDirection: 'column',\n\tbackground: 'var(--surface)',\n\tborderTop: '1px solid var(--border)',\n\tborderRadius: '18px 18px 0 0',\n\tboxShadow: '0 -8px 32px rgba(0,0,0,0.4)',\n\tpaddingBottom: 'env(safe-area-inset-bottom, 0px)',\n\ttransform: 'translateY(100%)',\n\ttransition: 'transform 280ms cubic-bezier(0.32, 0.72, 0, 1)',\n})\n\nconst openClass = css({\n\tpointerEvents: 'auto',\n\t[`& .${backdropClass}`]: { opacity: 1 },\n\t[`& .${sheetClass}`]: { transform: 'translateY(0)' },\n})\n\nconst grabberClass = css({\n\tflexShrink: 0,\n\tdisplay: 'flex',\n\tjustifyContent: 'center',\n\tpadding: '10px 0 4px',\n})\n\nconst grabberBarClass = css({\n\twidth: '36px',\n\theight: '4px',\n\tborderRadius: '999px',\n\tbackground: 'var(--border)',\n})\n\nconst listClass = css({\n\toverflowY: 'auto',\n\tWebkitOverflowScrolling: 'touch',\n\tpadding: '0 8px 8px',\n})\n\nconst itemClass = css({\n\twidth: '100%',\n\tdisplay: 'flex',\n\talignItems: 'center',\n\tjustifyContent: 'space-between',\n\tgap: '10px',\n\theight: '52px',\n\tpadding: '0 14px',\n\tbackground: 'transparent',\n\tborder: 'none',\n\tborderRadius: '12px',\n\tcolor: 'var(--ink)',\n\tfontSize: '16px',\n\tfontFamily: 'inherit',\n\ttextAlign: 'left',\n\tcursor: 'pointer',\n\t'&:active': { background: 'rgba(255,255,255,0.06)' },\n})\n\nconst itemIndicatorClass = css({\n\tflexShrink: 0,\n\tcolor: 'var(--accent)',\n\tdisplay: 'flex',\n\t'& svg': { width: '18px', height: '18px' },\n})\n\nconst SelectMobileContext = createContext(null)\n\nconst useSelectMobile = ()=> {\n\tconst ctx = useContext(SelectMobileContext)\n\tif (!ctx){ throw new Error('SelectMobile parts must be used inside <SelectMobile.Root>') }\n\treturn ctx\n}\n\nconst read = (source)=> {\n\treturn typeof source === 'function' ? source() : source\n}\n\n// <SelectMobile.Root> — holds selection + open state, resolves item -> value/label.\n// Props:\n// value current value (string | getter)\n// onValueChange (value) => void — called when an item is chosen\n// items data array (or getter) supplied by the consumer\n// itemToValue (item) => string — default item.value\n// itemToLabel (item) => node — default item.label\n// open controlled open state (getter) — when provided, the component\n// is controlled and you must update it via onOpenChange\n// defaultOpen initial open state for uncontrolled mode (default false)\n// onOpenChange (isOpen) => void — called when open state changes\nconst Root = (props)=> {\n\tconst [local, rest] = splitProps(props, [\n\t\t'value', 'onValueChange', 'items', 'itemToValue', 'itemToLabel',\n\t\t'open', 'defaultOpen', 'onOpenChange', 'children',\n\t])\n\tconst internalOpen = createSignal(local.defaultOpen ?? false)\n\n\tconst open = (v)=> {\n\t\tif (v === undefined){\n\t\t\t// getter — controlled if `open` prop is provided, else internal\n\t\t\treturn local.open !== undefined ? read(local.open) : internalOpen()\n\t\t}\n\t\t// setter\n\t\tif (local.open !== undefined){\n\t\t\tlocal.onOpenChange?.(v)\n\t\t} else {\n\t\t\tinternalOpen(v)\n\t\t\tlocal.onOpenChange?.(v)\n\t\t}\n\t}\n\n\tconst itemToValue = (item)=> {\n\t\tif (item == null){ return undefined }\n\t\treturn local.itemToValue ? local.itemToValue(item) : item.value\n\t}\n\tconst itemToLabel = (item)=> {\n\t\tif (item == null){ return undefined }\n\t\treturn local.itemToLabel ? local.itemToLabel(item) : item.label\n\t}\n\tconst items = ()=> read(local.items) || []\n\tconst value = ()=> read(local.value) ?? ''\n\tconst isSelected = v=> String(value()) === String(v)\n\tconst selectedItem = ()=> items().find(item=> isSelected(itemToValue(item)))\n\n\tconst setValue = (v)=> {\n\t\tlocal.onValueChange?.(v)\n\t\topen(false)\n\t}\n\n\tcreateEffect(()=> {\n\t\tif (!open()){ return undefined }\n\t\tconst onKey = (e)=> { if (e.key === 'Escape'){ open(false) } }\n\t\tdocument.addEventListener('keydown', onKey)\n\t\tconst prevOverflow = document.body.style.overflow\n\t\tdocument.body.style.overflow = 'hidden'\n\t\treturn ()=> {\n\t\t\tdocument.removeEventListener('keydown', onKey)\n\t\t\tdocument.body.style.overflow = prevOverflow\n\t\t}\n\t})\n\n\t// Plastic components run once (fine-grained reactivity), so this object is\n\t// created a single time per mount — the React \"stable value\" rule misfires.\n\t// eslint-disable-next-line react/jsx-no-constructed-context-values\n\tconst ctx = {\n\t\topen, value, items, itemToValue, itemToLabel, isSelected, selectedItem, setValue,\n\t}\n\n\treturn (\n\t\t<SelectMobileContext.Provider value={ctx}>\n\t\t\t<div {...part('root')} {...rest}>\n\t\t\t\t{local.children}\n\t\t\t</div>\n\t\t</SelectMobileContext.Provider>\n\t)\n}\n\n// <SelectMobile.Trigger> — the button that opens the sheet. Shows the selected\n// item's label (or `placeholder`). Pass children to fully customize.\n//\n// NOTE: Uses <div role=\"button\"> instead of a native <button> as a\n// defense-in-depth measure against a Chrome iOS (WebKit) focus-lock bug.\n//\n// The primary fix is in <SelectMobile.Content>: the sheet is rendered inline\n// (no <Portal>) so it stays inside the parent Dialog's focus-trap boundary.\n// However, the <div role=\"button\"> is kept as an additional safeguard — in\n// WebKit, tapping a <button> inside a scrollable container with\n// -webkit-overflow-scrolling:touch can pin activeElement to the button,\n// causing subsequent focus() calls on the filter <input> to be silently\n// ignored. A <div role=\"button\"> is semantically equivalent for accessibility\n// but does not trigger this WebKit focus-lock behaviour.\nconst Trigger = (props)=> {\n\tconst ctx = useSelectMobile()\n\tconst [local, rest] = splitProps(props, ['placeholder', 'className', 'children'])\n\n\treturn (\n\t\t<div\n\t\t\t{...part('trigger')}\n\t\t\tclassName={`${triggerClass} ${local.className || ''}`}\n\t\t\tonClick={()=> ctx.open(true)}\n\t\t\trole='button'\n\t\t\ttabIndex={0}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{local.children ?? (\n\t\t\t\t<>\n\t\t\t\t\t<span\n\t\t\t\t\t\t{...part('triggerValue')}\n\t\t\t\t\t\tclassName={`${triggerValueClass} ${ctx.selectedItem() ? '' : triggerPlaceholderClass}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{()=> {\n\t\t\t\t\t\t\tconst item = ctx.selectedItem()\n\t\t\t\t\t\t\treturn item !== undefined ? ctx.itemToLabel(item) : local.placeholder ?? 'Select'\n\t\t\t\t\t\t}}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span {...part('triggerIndicator')} className={triggerIndicatorClass}>\n\t\t\t\t\t\t<Icon svg={chevronDownSvg} />\n\t\t\t\t\t</span>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t)\n}\n\n// <SelectMobile.Item> — a selectable row. Provide `item` (resolved via Root's\n// accessors) or an explicit `value` + children for custom content.\nconst Item = (props)=> {\n\tconst ctx = useSelectMobile()\n\tconst [local, rest] = splitProps(props, ['item', 'value', 'className', 'children'])\n\tconst value = ()=> local.item !== undefined ? ctx.itemToValue(local.item) : local.value\n\n\treturn (\n\t\t<button\n\t\t\t{...part('item')}\n\t\t\tclassName={`${itemClass} ${local.className || ''}`}\n\t\t\tdata-selected={()=> ctx.isSelected(value()) ? '' : undefined}\n\t\t\tonClick={()=> ctx.setValue(value())}\n\t\t\ttype='button'\n\t\t\t{...rest}\n\t\t>\n\t\t\t<span {...part('itemText')}>\n\t\t\t\t{local.children ?? (local.item !== undefined && ctx.itemToLabel(local.item))}\n\t\t\t</span>\n\t\t\t{()=> ctx.isSelected(value()) && (\n\t\t\t\t<span {...part('itemIndicator')} className={itemIndicatorClass}>\n\t\t\t\t\t<Icon svg={checkSvg} />\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</button>\n\t)\n}\n\n// <SelectMobile.Content> — the bottom sheet. With no children it auto-renders one\n// SelectMobile.Item per Root item; pass `clearable` to prepend a \"clear\" row.\n// Props:\n// clearable show a \"clear\" row at the top\n// clearLabel label for the clear row (default \"None\")\n// backdropClassName className passed to the backdrop (higher priority)\n// backdropStyle inline style passed to the backdrop (higher priority)\n//\n// NOTE: No <Portal> wrapper. The overlay uses `position: fixed; inset: 0;\n// z-index: 1000` so it still covers the viewport without being portaled to\n// document.body. Rendering inline keeps the sheet inside the nearest focus-trap\n// boundary (e.g. a parent Dialog), which prevents zag-js / ark focus traps from\n// fighting the filter input's auto-focus. This is the primary fix for the\n// Chrome iOS focus-lock bug when SelectMobile is nested inside a Dialog.\nconst Content = (props)=> {\n\tconst ctx = useSelectMobile()\n\tconst [local, rest] = splitProps(props, [\n\t\t'clearable', 'clearLabel', 'className',\n\t\t'backdropClassName', 'backdropStyle', 'children',\n\t])\n\treturn (\n\t\t<div\n\t\t\t{...part('positioner')}\n\t\t\taria-hidden={()=> !ctx.open()}\n\t\t\tclassName={`${overlayClass} ${ctx.open() ? openClass : ''}`}\n\t\t>\n\t\t\t<div {...part('backdrop')} className={`${backdropClass} ${local.backdropClassName || ''}`} style={local.backdropStyle} onClick={()=> ctx.open(false)} />\n\t\t\t<div {...part('content')} className={`${sheetClass} ${local.className || ''}`} role='dialog' {...rest}>\n\t\t\t\t<div {...part('grabber')} className={grabberClass} onClick={()=> ctx.open(false)}>\n\t\t\t\t\t<span className={grabberBarClass} />\n\t\t\t\t</div>\n\t\t\t\t<div {...part('list')} className={listClass}>\n\t\t\t\t\t{local.children ?? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{()=> local.clearable && (\n\t\t\t\t\t\t\t\t<Item value=''>\n\t\t\t\t\t\t\t\t\t{local.clearLabel ?? 'None'}\n\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<Loop each={ctx.items}>\n\t\t\t\t\t\t\t\t{item=> <Item item={item} key={ctx.itemToValue(item)} />}\n\t\t\t\t\t\t\t</Loop>\n\t\t\t\t\t\t</>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nconst SelectMobile = Object.assign(Root, {\n\tRoot, Trigger, Content, Item,\n})\n\nexport default SelectMobile\nexport {\n\tSelectMobile, Root, Trigger, Content, Item,\n}"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SignaturePad.js","names":["SignaturePad"],"sources":["../../src/components/SignaturePad.jsx"],"sourcesContent":["import { SignaturePad } from '@plastic-js/ark'\n\nexport default SignaturePad\n"],"mappings":";;AAEA,IAAA,uBAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.js","names":["css","keyframes","_tmpl","_template","shimmer","backgroundPosition","baseClass","display","background","backgroundSize","animation","borderRadius","Skeleton","width","height","radius","className","style","_el0","cloneNode","_setProp"],"sources":["../../src/components/Skeleton.jsx"],"sourcesContent":["import { css, keyframes } from '@emotion/css'\n\nconst shimmer = keyframes({\n\t'0%': { backgroundPosition: '-200% 0' },\n\t'100%': { backgroundPosition: '200% 0' },\n})\n\nconst baseClass = css({\n\tdisplay: 'block',\n\tbackground: 'linear-gradient(90deg, var(--border) 0%, var(--surface) 50%, var(--border) 100%)',\n\tbackgroundSize: '200% 100%',\n\tanimation: `${shimmer} 1.4s ease-in-out infinite`,\n\tborderRadius: '6px',\n})\n\nconst Skeleton = ({\n\twidth = '100%', height = '14px', radius, className, style,\n})=> (\n\t<span\n\t\tclassName={className ? `${baseClass} ${className}` : baseClass}\n\t\tstyle={{\n\t\t\twidth, height, borderRadius: radius, ...style,\n\t\t}}\n\t/>\n)\n\nexport default Skeleton\n"],"mappings":";;;AAA6C,IAAAE,QAAAC,SAAA,eAAA;AAO7C,IAAMG,YAAYN,IAAI;CACrBO,SAAS;CACTC,YAAY;CACZC,gBAAgB;CAChBC,WAAW,GATIT,UAAU;EACzB,MAAM,EAAEI,oBAAoB,UAAU;EACtC,QAAQ,EAAEA,oBAAoB,SAAS;CACxC,CAMeD,EAAO;CACrBO,cAAc;AACf,CAAC;AAED,IAAMC,YAAY,EACjBC,QAAQ,QAAQC,SAAS,QAAQC,QAAQC,WAAWC,mBACpD;CAAA,MAAAC,OAAAhB,MAAAiB,UAAA,IAAA;CAAAC,QAAAF,MAAA,mBAEYF,YAAY,GAAGV,UAAS,GAAIU,cAAcV,SAAS;CAAAc,QAAAF,MAAA,gBACvD;EACNL;EAAOC;EAAQH,cAAcI;EAAQ,GAAGE;CACzC,EAAC;CAAA,OAAAC;AAAA,GAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Slider.js","names":["Slider"],"sources":["../../src/components/Slider.jsx"],"sourcesContent":["import { Slider } from '@plastic-js/ark'\n\nexport default Slider\n"],"mappings":";;AAEA,IAAA,iBAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Splitter.js","names":["Splitter"],"sources":["../../src/components/Splitter.jsx"],"sourcesContent":["import { Splitter } from '@plastic-js/ark'\n\nexport default Splitter\n"],"mappings":";;AAEA,IAAA,mBAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Steps.js","names":["Steps"],"sources":["../../src/components/Steps.jsx"],"sourcesContent":["import { Steps } from '@plastic-js/ark'\n\nexport default Steps\n"],"mappings":";;AAEA,IAAA,gBAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SwipeReveal.js","names":["css","createEffect","createSignal","_tmpl2","_template","_tmpl","ACTIONS_WIDTH","SWIPE_THRESHOLD","VELOCITY_THRESHOLD","RUBBER_BAND_LIMIT","wrapperClass","trackClass","actionsClass","actionBtnClass","contentClass","SwipeReveal","actions","children","onSwipeStart","onOpenChange","activeId","thisId","isOpen","trackEl","startX","startY","lastX","lastTime","baseOffset","currentOffset","velocity","dragging","axisLocked","horizontal","moved","setTrackRef","el","applyTransform","px","style","transform","setDragging","v","dataset","String","snap","toOpen","currentActive","undefined","onPointerDown","e","pointerType","button","clientX","clientY","performance","now","currentTarget","setPointerCapture","pointerId","onPointerMove","dx","dy","Math","abs","dt","next","exp","over","onPointerUp","releasePointerCapture","shouldOpen","handleContentClick","stopPropagation","handleActionClick","action","onClick","_el0","cloneNode","_el1","firstChild","_el2","_el3","nextSibling","_insert","_setProp","map","idx","label","background","color"],"sources":["../../src/components/SwipeReveal.jsx"],"sourcesContent":["import { css } from '@emotion/css'\nimport { createEffect, createSignal } from '@plastic-js/plastic'\n\nconst ACTIONS_WIDTH = 160\nconst SWIPE_THRESHOLD = ACTIONS_WIDTH / 2\nconst VELOCITY_THRESHOLD = 0.5 // px/ms — flick assist threshold\nconst RUBBER_BAND_LIMIT = 50 // max rubber-band offset in px\n\nconst wrapperClass = css`\n\tposition: relative;\n\toverflow: hidden;\n\tborder-radius: 12px;\n\tuser-select: none;\n`\n\nconst trackClass = css`\n\tdisplay: flex;\n\talign-items: stretch;\n\twill-change: transform;\n\ttransition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);\n\ttouch-action: pan-y;\n\t&[data-dragging=\"true\"] { transition: none; }\n`\n\nconst actionsClass = css`\n\tflex: 0 0 ${ACTIONS_WIDTH}px;\n\tdisplay: flex;\n`\n\nconst actionBtnClass = css`\n\tflex: 1;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tborder: none;\n\tcolor: #fff;\n\tfont-size: 14px;\n\tfont-weight: 600;\n\tcursor: pointer;\n\tfont-family: inherit;\n`\n\nconst contentClass = css`\n\tflex: 0 0 100%;\n`\n\nconst SwipeReveal = ({\n\tactions, children, onSwipeStart, onOpenChange, activeId, thisId,\n})=> {\n\tconst isOpen = createSignal(false)\n\n\tlet trackEl = null\n\tlet startX = 0\n\tlet startY = 0\n\tlet lastX = 0\n\tlet lastTime = 0\n\tlet baseOffset = 0\n\tlet currentOffset = 0\n\tlet velocity = 0\n\tlet dragging = false\n\tlet axisLocked = false\n\tlet horizontal = false\n\tlet moved = false\n\n\tconst setTrackRef = (el)=> { trackEl = el }\n\n\tconst applyTransform = (px)=> {\n\t\tif (trackEl){ trackEl.style.transform = `translateX(${px}px)` }\n\t}\n\n\tconst setDragging = (v)=> {\n\t\tif (trackEl){ trackEl.dataset.dragging = String(v) }\n\t}\n\n\tconst snap = (toOpen)=> {\n\t\tcurrentOffset = toOpen ? -ACTIONS_WIDTH : 0\n\t\tsetDragging(false)\n\t\tapplyTransform(currentOffset)\n\t\tonOpenChange?.(toOpen)\n\t\tisOpen(toOpen)\n\t}\n\n\t// only one card open at a time — close when another card's swipe activates\n\tcreateEffect(()=> {\n\t\tconst currentActive = typeof activeId === 'function' ? activeId() : activeId\n\t\tif (currentActive !== undefined && currentActive !== thisId && isOpen()){\n\t\t\tisOpen(false)\n\t\t\tcurrentOffset = 0\n\t\t\tsetDragging(false)\n\t\t\tapplyTransform(0)\n\t\t}\n\t})\n\n\tconst onPointerDown = (e)=> {\n\t\tif (e.pointerType === 'mouse' && e.button !== 0){ return }\n\t\tstartX = e.clientX\n\t\tstartY = e.clientY\n\t\tlastX = e.clientX\n\t\tlastTime = performance.now()\n\t\tbaseOffset = isOpen() ? -ACTIONS_WIDTH : 0\n\t\tvelocity = 0\n\t\tdragging = true\n\t\taxisLocked = false\n\t\thorizontal = false\n\t\tmoved = false\n\t\tonSwipeStart?.()\n\t\te.currentTarget.setPointerCapture?.(e.pointerId)\n\t}\n\n\tconst onPointerMove = (e)=> {\n\t\tif (!dragging){ return }\n\t\tconst dx = e.clientX - startX\n\t\tconst dy = e.clientY - startY\n\t\tif (!axisLocked){\n\t\t\tif (Math.abs(dx) < 6 && Math.abs(dy) < 6){ return }\n\t\t\thorizontal = Math.abs(dx) > Math.abs(dy)\n\t\t\taxisLocked = true\n\t\t\tif (horizontal){ setDragging(true) }\n\t\t}\n\t\tif (!horizontal){ return }\n\t\tmoved = true\n\n\t\t// track velocity (px/ms)\n\t\tconst now = performance.now()\n\t\tconst dt = now - lastTime\n\t\tif (dt > 0){\n\t\t\tvelocity = (e.clientX - lastX) / dt\n\t\t}\n\t\tlastX = e.clientX\n\t\tlastTime = now\n\n\t\tlet next = baseOffset + dx\n\t\tif (next > 0){\n\t\t\t// rubber-band overscroll on the right\n\t\t\tnext = RUBBER_BAND_LIMIT * (1 - Math.exp(-next / RUBBER_BAND_LIMIT))\n\t\t}\n\t\tif (next < -ACTIONS_WIDTH){\n\t\t\t// rubber-band overscroll on the left\n\t\t\tconst over = -(next + ACTIONS_WIDTH)\n\t\t\tnext = -ACTIONS_WIDTH - RUBBER_BAND_LIMIT * (1 - Math.exp(-over / RUBBER_BAND_LIMIT))\n\t\t}\n\t\tcurrentOffset = next\n\t\tapplyTransform(next)\n\t}\n\n\tconst onPointerUp = (e)=> {\n\t\tif (!dragging){ return }\n\t\tdragging = false\n\t\te.currentTarget.releasePointerCapture?.(e.pointerId)\n\t\tif (!horizontal){ return }\n\n\t\t// flick assist: fast swipe toward open/close direction\n\t\tif (Math.abs(velocity) > VELOCITY_THRESHOLD){\n\t\t\tsnap(velocity < 0)\n\t\t\treturn\n\t\t}\n\t\tconst shouldOpen = currentOffset < -SWIPE_THRESHOLD\n\t\tsnap(shouldOpen)\n\t}\n\n\tconst handleContentClick = (e)=> {\n\t\tif (moved){ e.stopPropagation(); return }\n\t\tif (isOpen()){ e.stopPropagation(); snap(false); return }\n\t}\n\n\tconst handleActionClick = action=> (e)=> {\n\t\te.stopPropagation()\n\t\tsnap(false)\n\t\taction.onClick?.(e)\n\t}\n\n\treturn (\n\t\t<div className={wrapperClass}>\n\t\t\t<div\n\t\t\t\tclassName={trackClass}\n\t\t\t\tdata-dragging='false'\n\t\t\t\tonPointerCancel={onPointerUp}\n\t\t\t\tonPointerDown={onPointerDown}\n\t\t\t\tonPointerMove={onPointerMove}\n\t\t\t\tonPointerUp={onPointerUp}\n\t\t\t\tref={setTrackRef}\n\t\t\t>\n\t\t\t\t<div className={contentClass} onClick={handleContentClick}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t\t<div className={actionsClass}>\n\t\t\t\t\t{actions.map((action, idx)=> (\n\t\t\t\t\t\t// prevent tab focus when actions are hidden off-screen\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName={actionBtnClass}\n\t\t\t\t\t\t\tkey={action.label ?? idx}\n\t\t\t\t\t\t\tonClick={handleActionClick(action)}\n\t\t\t\t\t\t\tstyle={{ background: action.color }}\n\t\t\t\t\t\t\ttabIndex={isOpen() ? 0 : -1}\n\t\t\t\t\t\t\ttype='button'\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{action.label}\n\t\t\t\t\t\t</button>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\nexport default SwipeReveal\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","names":["Switch"],"sources":["../../src/components/Switch.jsx"],"sourcesContent":["import { Switch } from '@plastic-js/ark'\n\nexport default Switch\n"],"mappings":";;AAEA,IAAA,iBAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","names":["Tabs"],"sources":["../../src/components/Tabs.jsx"],"sourcesContent":["import { Tabs } from '@plastic-js/ark'\n\nexport default Tabs\n"],"mappings":";;AAEA,IAAA,eAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TagsInput.js","names":["TagsInput"],"sources":["../../src/components/TagsInput.jsx"],"sourcesContent":["import { TagsInput } from '@plastic-js/ark'\n\nexport default TagsInput\n"],"mappings":";;AAEA,IAAA,oBAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","names":["Toast","createToaster","Object","assign"],"sources":["../../src/components/Toast.jsx"],"sourcesContent":["import { Toast, createToaster } from '@plastic-js/ark'\n\nexport default Object.assign(Toast, { createToaster })\n"],"mappings":";;AAEA,IAAA,gBAAeE,OAAOC,OAAOH,OAAO,EAAEC,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.js","names":["Toggle"],"sources":["../../src/components/Toggle.jsx"],"sourcesContent":["import { Toggle } from '@plastic-js/ark'\n\nexport default Toggle\n"],"mappings":";;AAEA,IAAA,iBAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToggleGroup.js","names":["ToggleGroup"],"sources":["../../src/components/ToggleGroup.jsx"],"sourcesContent":["import { ToggleGroup } from '@plastic-js/ark'\n\nexport default ToggleGroup\n"],"mappings":";;AAEA,IAAA,sBAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":["Tooltip"],"sources":["../../src/components/Tooltip.jsx"],"sourcesContent":["import { Tooltip } from '@plastic-js/ark'\n\nexport default Tooltip\n"],"mappings":";;AAEA,IAAA,kBAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Tour.js","names":["Tour"],"sources":["../../src/components/Tour.jsx"],"sourcesContent":["import { Tour } from '@plastic-js/ark'\n\nexport default Tour\n"],"mappings":";;AAEA,IAAA,eAAeA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeView.js","names":["TreeView"],"sources":["../../src/components/TreeView.jsx"],"sourcesContent":["import { TreeView } from '@plastic-js/ark'\n\nexport default TreeView\n"],"mappings":";;AAEA,IAAA,mBAAeA"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
//#region node_modules/framesync/dist/es/create-render-step.mjs
|
|
2
|
-
function createRenderStep(runNextFrame) {
|
|
3
|
-
let toRun = [];
|
|
4
|
-
let toRunNextFrame = [];
|
|
5
|
-
let numToRun = 0;
|
|
6
|
-
let isProcessing = false;
|
|
7
|
-
let flushNextFrame = false;
|
|
8
|
-
const toKeepAlive = /* @__PURE__ */ new WeakSet();
|
|
9
|
-
const step = {
|
|
10
|
-
schedule: (callback, keepAlive = false, immediate = false) => {
|
|
11
|
-
const addToCurrentFrame = immediate && isProcessing;
|
|
12
|
-
const buffer = addToCurrentFrame ? toRun : toRunNextFrame;
|
|
13
|
-
if (keepAlive) toKeepAlive.add(callback);
|
|
14
|
-
if (buffer.indexOf(callback) === -1) {
|
|
15
|
-
buffer.push(callback);
|
|
16
|
-
if (addToCurrentFrame && isProcessing) numToRun = toRun.length;
|
|
17
|
-
}
|
|
18
|
-
return callback;
|
|
19
|
-
},
|
|
20
|
-
cancel: (callback) => {
|
|
21
|
-
const index = toRunNextFrame.indexOf(callback);
|
|
22
|
-
if (index !== -1) toRunNextFrame.splice(index, 1);
|
|
23
|
-
toKeepAlive.delete(callback);
|
|
24
|
-
},
|
|
25
|
-
process: (frameData) => {
|
|
26
|
-
if (isProcessing) {
|
|
27
|
-
flushNextFrame = true;
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
isProcessing = true;
|
|
31
|
-
[toRun, toRunNextFrame] = [toRunNextFrame, toRun];
|
|
32
|
-
toRunNextFrame.length = 0;
|
|
33
|
-
numToRun = toRun.length;
|
|
34
|
-
if (numToRun) for (let i = 0; i < numToRun; i++) {
|
|
35
|
-
const callback = toRun[i];
|
|
36
|
-
callback(frameData);
|
|
37
|
-
if (toKeepAlive.has(callback)) {
|
|
38
|
-
step.schedule(callback);
|
|
39
|
-
runNextFrame();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
isProcessing = false;
|
|
43
|
-
if (flushNextFrame) {
|
|
44
|
-
flushNextFrame = false;
|
|
45
|
-
step.process(frameData);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
return step;
|
|
50
|
-
}
|
|
51
|
-
//#endregion
|
|
52
|
-
export { createRenderStep };
|
|
53
|
-
|
|
54
|
-
//# sourceMappingURL=create-render-step.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-render-step.js","names":[],"sources":["../../../../../node_modules/framesync/dist/es/create-render-step.mjs"],"sourcesContent":["function createRenderStep(runNextFrame) {\n let toRun = [];\n let toRunNextFrame = [];\n let numToRun = 0;\n let isProcessing = false;\n let flushNextFrame = false;\n const toKeepAlive = new WeakSet();\n const step = {\n schedule: (callback, keepAlive = false, immediate = false) => {\n const addToCurrentFrame = immediate && isProcessing;\n const buffer = addToCurrentFrame ? toRun : toRunNextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n if (buffer.indexOf(callback) === -1) {\n buffer.push(callback);\n if (addToCurrentFrame && isProcessing)\n numToRun = toRun.length;\n }\n return callback;\n },\n cancel: (callback) => {\n const index = toRunNextFrame.indexOf(callback);\n if (index !== -1)\n toRunNextFrame.splice(index, 1);\n toKeepAlive.delete(callback);\n },\n process: (frameData) => {\n if (isProcessing) {\n flushNextFrame = true;\n return;\n }\n isProcessing = true;\n [toRun, toRunNextFrame] = [toRunNextFrame, toRun];\n toRunNextFrame.length = 0;\n numToRun = toRun.length;\n if (numToRun) {\n for (let i = 0; i < numToRun; i++) {\n const callback = toRun[i];\n callback(frameData);\n if (toKeepAlive.has(callback)) {\n step.schedule(callback);\n runNextFrame();\n }\n }\n }\n isProcessing = false;\n if (flushNextFrame) {\n flushNextFrame = false;\n step.process(frameData);\n }\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n"],"x_google_ignoreList":[0],"mappings":";AAAA,SAAS,iBAAiB,cAAc;CACpC,IAAI,QAAQ,CAAC;CACb,IAAI,iBAAiB,CAAC;CACtB,IAAI,WAAW;CACf,IAAI,eAAe;CACnB,IAAI,iBAAiB;CACrB,MAAM,8BAAc,IAAI,QAAQ;CAChC,MAAM,OAAO;EACT,WAAW,UAAU,YAAY,OAAO,YAAY,UAAU;GAC1D,MAAM,oBAAoB,aAAa;GACvC,MAAM,SAAS,oBAAoB,QAAQ;GAC3C,IAAI,WACA,YAAY,IAAI,QAAQ;GAC5B,IAAI,OAAO,QAAQ,QAAQ,MAAM,IAAI;IACjC,OAAO,KAAK,QAAQ;IACpB,IAAI,qBAAqB,cACrB,WAAW,MAAM;GACzB;GACA,OAAO;EACX;EACA,SAAS,aAAa;GAClB,MAAM,QAAQ,eAAe,QAAQ,QAAQ;GAC7C,IAAI,UAAU,IACV,eAAe,OAAO,OAAO,CAAC;GAClC,YAAY,OAAO,QAAQ;EAC/B;EACA,UAAU,cAAc;GACpB,IAAI,cAAc;IACd,iBAAiB;IACjB;GACJ;GACA,eAAe;GACf,CAAC,OAAO,kBAAkB,CAAC,gBAAgB,KAAK;GAChD,eAAe,SAAS;GACxB,WAAW,MAAM;GACjB,IAAI,UACA,KAAK,IAAI,IAAI,GAAG,IAAI,UAAU,KAAK;IAC/B,MAAM,WAAW,MAAM;IACvB,SAAS,SAAS;IAClB,IAAI,YAAY,IAAI,QAAQ,GAAG;KAC3B,KAAK,SAAS,QAAQ;KACtB,aAAa;IACjB;GACJ;GAEJ,eAAe;GACf,IAAI,gBAAgB;IAChB,iBAAiB;IACjB,KAAK,QAAQ,SAAS;GAC1B;EACJ;CACJ;CACA,OAAO;AACX"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { defaultTimestep, onNextFrame } from "./on-next-frame.js";
|
|
2
|
-
import { createRenderStep } from "./create-render-step.js";
|
|
3
|
-
//#region node_modules/framesync/dist/es/index.mjs
|
|
4
|
-
var maxElapsed = 40;
|
|
5
|
-
var useDefaultElapsed = true;
|
|
6
|
-
var runNextFrame = false;
|
|
7
|
-
var isProcessing = false;
|
|
8
|
-
var frame = {
|
|
9
|
-
delta: 0,
|
|
10
|
-
timestamp: 0
|
|
11
|
-
};
|
|
12
|
-
var stepsOrder = [
|
|
13
|
-
"read",
|
|
14
|
-
"update",
|
|
15
|
-
"preRender",
|
|
16
|
-
"render",
|
|
17
|
-
"postRender"
|
|
18
|
-
];
|
|
19
|
-
var steps = stepsOrder.reduce((acc, key) => {
|
|
20
|
-
acc[key] = createRenderStep(() => runNextFrame = true);
|
|
21
|
-
return acc;
|
|
22
|
-
}, {});
|
|
23
|
-
var sync = stepsOrder.reduce((acc, key) => {
|
|
24
|
-
const step = steps[key];
|
|
25
|
-
acc[key] = (process, keepAlive = false, immediate = false) => {
|
|
26
|
-
if (!runNextFrame) startLoop();
|
|
27
|
-
return step.schedule(process, keepAlive, immediate);
|
|
28
|
-
};
|
|
29
|
-
return acc;
|
|
30
|
-
}, {});
|
|
31
|
-
var cancelSync = stepsOrder.reduce((acc, key) => {
|
|
32
|
-
acc[key] = steps[key].cancel;
|
|
33
|
-
return acc;
|
|
34
|
-
}, {});
|
|
35
|
-
stepsOrder.reduce((acc, key) => {
|
|
36
|
-
acc[key] = () => steps[key].process(frame);
|
|
37
|
-
return acc;
|
|
38
|
-
}, {});
|
|
39
|
-
var processStep = (stepId) => steps[stepId].process(frame);
|
|
40
|
-
var processFrame = (timestamp) => {
|
|
41
|
-
runNextFrame = false;
|
|
42
|
-
frame.delta = useDefaultElapsed ? defaultTimestep : Math.max(Math.min(timestamp - frame.timestamp, maxElapsed), 1);
|
|
43
|
-
frame.timestamp = timestamp;
|
|
44
|
-
isProcessing = true;
|
|
45
|
-
stepsOrder.forEach(processStep);
|
|
46
|
-
isProcessing = false;
|
|
47
|
-
if (runNextFrame) {
|
|
48
|
-
useDefaultElapsed = false;
|
|
49
|
-
onNextFrame(processFrame);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
var startLoop = () => {
|
|
53
|
-
runNextFrame = true;
|
|
54
|
-
useDefaultElapsed = true;
|
|
55
|
-
if (!isProcessing) onNextFrame(processFrame);
|
|
56
|
-
};
|
|
57
|
-
var getFrameData = () => frame;
|
|
58
|
-
//#endregion
|
|
59
|
-
export { cancelSync, sync as default, getFrameData };
|
|
60
|
-
|
|
61
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../../node_modules/framesync/dist/es/index.mjs"],"sourcesContent":["import { onNextFrame, defaultTimestep } from './on-next-frame.mjs';\nimport { createRenderStep } from './create-render-step.mjs';\n\nconst maxElapsed = 40;\nlet useDefaultElapsed = true;\nlet runNextFrame = false;\nlet isProcessing = false;\nconst frame = {\n delta: 0,\n timestamp: 0,\n};\nconst stepsOrder = [\n \"read\",\n \"update\",\n \"preRender\",\n \"render\",\n \"postRender\",\n];\nconst steps = stepsOrder.reduce((acc, key) => {\n acc[key] = createRenderStep(() => (runNextFrame = true));\n return acc;\n}, {});\nconst sync = stepsOrder.reduce((acc, key) => {\n const step = steps[key];\n acc[key] = (process, keepAlive = false, immediate = false) => {\n if (!runNextFrame)\n startLoop();\n return step.schedule(process, keepAlive, immediate);\n };\n return acc;\n}, {});\nconst cancelSync = stepsOrder.reduce((acc, key) => {\n acc[key] = steps[key].cancel;\n return acc;\n}, {});\nconst flushSync = stepsOrder.reduce((acc, key) => {\n acc[key] = () => steps[key].process(frame);\n return acc;\n}, {});\nconst processStep = (stepId) => steps[stepId].process(frame);\nconst processFrame = (timestamp) => {\n runNextFrame = false;\n frame.delta = useDefaultElapsed\n ? defaultTimestep\n : Math.max(Math.min(timestamp - frame.timestamp, maxElapsed), 1);\n frame.timestamp = timestamp;\n isProcessing = true;\n stepsOrder.forEach(processStep);\n isProcessing = false;\n if (runNextFrame) {\n useDefaultElapsed = false;\n onNextFrame(processFrame);\n }\n};\nconst startLoop = () => {\n runNextFrame = true;\n useDefaultElapsed = true;\n if (!isProcessing)\n onNextFrame(processFrame);\n};\nconst getFrameData = () => frame;\n\nexport default sync;\nexport { cancelSync, flushSync, getFrameData };\n"],"x_google_ignoreList":[0],"mappings":";;;AAGA,IAAM,aAAa;AACnB,IAAI,oBAAoB;AACxB,IAAI,eAAe;AACnB,IAAI,eAAe;AACnB,IAAM,QAAQ;CACV,OAAO;CACP,WAAW;AACf;AACA,IAAM,aAAa;CACf;CACA;CACA;CACA;CACA;AACJ;AACA,IAAM,QAAQ,WAAW,QAAQ,KAAK,QAAQ;CAC1C,IAAI,OAAO,uBAAwB,eAAe,IAAK;CACvD,OAAO;AACX,GAAG,CAAC,CAAC;AACL,IAAM,OAAO,WAAW,QAAQ,KAAK,QAAQ;CACzC,MAAM,OAAO,MAAM;CACnB,IAAI,QAAQ,SAAS,YAAY,OAAO,YAAY,UAAU;EAC1D,IAAI,CAAC,cACD,UAAU;EACd,OAAO,KAAK,SAAS,SAAS,WAAW,SAAS;CACtD;CACA,OAAO;AACX,GAAG,CAAC,CAAC;AACL,IAAM,aAAa,WAAW,QAAQ,KAAK,QAAQ;CAC/C,IAAI,OAAO,MAAM,KAAK;CACtB,OAAO;AACX,GAAG,CAAC,CAAC;AACa,WAAW,QAAQ,KAAK,QAAQ;CAC9C,IAAI,aAAa,MAAM,KAAK,QAAQ,KAAK;CACzC,OAAO;AACX,GAAG,CAAC,CAAC;AACL,IAAM,eAAe,WAAW,MAAM,QAAQ,QAAQ,KAAK;AAC3D,IAAM,gBAAgB,cAAc;CAChC,eAAe;CACf,MAAM,QAAQ,oBACR,kBACA,KAAK,IAAI,KAAK,IAAI,YAAY,MAAM,WAAW,UAAU,GAAG,CAAC;CACnE,MAAM,YAAY;CAClB,eAAe;CACf,WAAW,QAAQ,WAAW;CAC9B,eAAe;CACf,IAAI,cAAc;EACd,oBAAoB;EACpB,YAAY,YAAY;CAC5B;AACJ;AACA,IAAM,kBAAkB;CACpB,eAAe;CACf,oBAAoB;CACpB,IAAI,CAAC,cACD,YAAY,YAAY;AAChC;AACA,IAAM,qBAAqB"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
//#region node_modules/framesync/dist/es/on-next-frame.mjs
|
|
2
|
-
var defaultTimestep = 1 / 60 * 1e3;
|
|
3
|
-
var getCurrentTime = typeof performance !== "undefined" ? () => performance.now() : () => Date.now();
|
|
4
|
-
var onNextFrame = typeof window !== "undefined" ? (callback) => window.requestAnimationFrame(callback) : (callback) => setTimeout(() => callback(getCurrentTime()), defaultTimestep);
|
|
5
|
-
//#endregion
|
|
6
|
-
export { defaultTimestep, onNextFrame };
|
|
7
|
-
|
|
8
|
-
//# sourceMappingURL=on-next-frame.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"on-next-frame.js","names":[],"sources":["../../../../../node_modules/framesync/dist/es/on-next-frame.mjs"],"sourcesContent":["const defaultTimestep = (1 / 60) * 1000;\nconst getCurrentTime = typeof performance !== \"undefined\"\n ? () => performance.now()\n : () => Date.now();\nconst onNextFrame = typeof window !== \"undefined\"\n ? (callback) => window.requestAnimationFrame(callback)\n : (callback) => setTimeout(() => callback(getCurrentTime()), defaultTimestep);\n\nexport { defaultTimestep, onNextFrame };\n"],"x_google_ignoreList":[0],"mappings":";AAAA,IAAM,kBAAmB,IAAI,KAAM;AACnC,IAAM,iBAAiB,OAAO,gBAAgB,oBAClC,YAAY,IAAI,UAChB,KAAK,IAAI;AACrB,IAAM,cAAc,OAAO,WAAW,eAC/B,aAAa,OAAO,sBAAsB,QAAQ,KAClD,aAAa,iBAAiB,SAAS,eAAe,CAAC,GAAG,eAAe"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
//#region node_modules/hey-listen/dist/hey-listen.es.js
|
|
2
|
-
var warning = function() {};
|
|
3
|
-
var invariant = function() {};
|
|
4
|
-
if (process.env.NODE_ENV !== "production") {
|
|
5
|
-
warning = function(check, message) {
|
|
6
|
-
if (!check && typeof console !== "undefined") console.warn(message);
|
|
7
|
-
};
|
|
8
|
-
invariant = function(check, message) {
|
|
9
|
-
if (!check) throw new Error(message);
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
//#endregion
|
|
13
|
-
export { invariant, warning };
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=hey-listen.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hey-listen.es.js","names":[],"sources":["../../../../node_modules/hey-listen/dist/hey-listen.es.js"],"sourcesContent":["var warning = function () { };\r\nvar invariant = function () { };\r\nif (process.env.NODE_ENV !== 'production') {\r\n warning = function (check, message) {\r\n if (!check && typeof console !== 'undefined') {\r\n console.warn(message);\r\n }\r\n };\r\n invariant = function (check, message) {\r\n if (!check) {\r\n throw new Error(message);\r\n }\r\n };\r\n}\n\nexport { invariant, warning };\n"],"x_google_ignoreList":[0],"mappings":";AAAA,IAAI,UAAU,WAAY,CAAE;AAC5B,IAAI,YAAY,WAAY,CAAE;AAC9B,IAAA,QAAA,IAAA,aAA6B,cAAc;CACvC,UAAU,SAAU,OAAO,SAAS;EAChC,IAAI,CAAC,SAAS,OAAO,YAAY,aAC7B,QAAQ,KAAK,OAAO;CAE5B;CACA,YAAY,SAAU,OAAO,SAAS;EAClC,IAAI,CAAC,OACD,MAAM,IAAI,MAAM,OAAO;CAE/B;AACJ"}
|