@oxyhq/bloom 0.13.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/lib/commonjs/index.js +15 -0
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/index.web.js +21 -6
  4. package/lib/commonjs/index.web.js.map +1 -1
  5. package/lib/commonjs/responsive-sheet/ResponsiveSheet.js +300 -0
  6. package/lib/commonjs/responsive-sheet/ResponsiveSheet.js.map +1 -0
  7. package/lib/commonjs/responsive-sheet/ResponsiveSheet.native.js +226 -0
  8. package/lib/commonjs/responsive-sheet/ResponsiveSheet.native.js.map +1 -0
  9. package/lib/commonjs/responsive-sheet/const.js +60 -0
  10. package/lib/commonjs/responsive-sheet/const.js.map +1 -0
  11. package/lib/commonjs/responsive-sheet/index.js +19 -0
  12. package/lib/commonjs/responsive-sheet/index.js.map +1 -0
  13. package/lib/commonjs/responsive-sheet/index.web.js +19 -0
  14. package/lib/commonjs/responsive-sheet/index.web.js.map +1 -0
  15. package/lib/commonjs/responsive-sheet/types.js +6 -0
  16. package/lib/commonjs/responsive-sheet/types.js.map +1 -0
  17. package/lib/module/index.js +2 -0
  18. package/lib/module/index.js.map +1 -1
  19. package/lib/module/index.web.js +2 -0
  20. package/lib/module/index.web.js.map +1 -1
  21. package/lib/module/responsive-sheet/ResponsiveSheet.js +293 -0
  22. package/lib/module/responsive-sheet/ResponsiveSheet.js.map +1 -0
  23. package/lib/module/responsive-sheet/ResponsiveSheet.native.js +219 -0
  24. package/lib/module/responsive-sheet/ResponsiveSheet.native.js.map +1 -0
  25. package/lib/module/responsive-sheet/const.js +56 -0
  26. package/lib/module/responsive-sheet/const.js.map +1 -0
  27. package/lib/module/responsive-sheet/index.js +4 -0
  28. package/lib/module/responsive-sheet/index.js.map +1 -0
  29. package/lib/module/responsive-sheet/index.web.js +14 -0
  30. package/lib/module/responsive-sheet/index.web.js.map +1 -0
  31. package/lib/module/responsive-sheet/types.js +4 -0
  32. package/lib/module/responsive-sheet/types.js.map +1 -0
  33. package/lib/typescript/commonjs/index.d.ts +2 -0
  34. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  35. package/lib/typescript/commonjs/index.web.d.ts +2 -0
  36. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts +26 -0
  38. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.d.ts.map +1 -0
  39. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.native.d.ts +20 -0
  40. package/lib/typescript/commonjs/responsive-sheet/ResponsiveSheet.native.d.ts.map +1 -0
  41. package/lib/typescript/commonjs/responsive-sheet/const.d.ts +43 -0
  42. package/lib/typescript/commonjs/responsive-sheet/const.d.ts.map +1 -0
  43. package/lib/typescript/commonjs/responsive-sheet/index.d.ts +3 -0
  44. package/lib/typescript/commonjs/responsive-sheet/index.d.ts.map +1 -0
  45. package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts +3 -0
  46. package/lib/typescript/commonjs/responsive-sheet/index.web.d.ts.map +1 -0
  47. package/lib/typescript/commonjs/responsive-sheet/types.d.ts +55 -0
  48. package/lib/typescript/commonjs/responsive-sheet/types.d.ts.map +1 -0
  49. package/lib/typescript/module/index.d.ts +2 -0
  50. package/lib/typescript/module/index.d.ts.map +1 -1
  51. package/lib/typescript/module/index.web.d.ts +2 -0
  52. package/lib/typescript/module/index.web.d.ts.map +1 -1
  53. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts +26 -0
  54. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.d.ts.map +1 -0
  55. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.native.d.ts +20 -0
  56. package/lib/typescript/module/responsive-sheet/ResponsiveSheet.native.d.ts.map +1 -0
  57. package/lib/typescript/module/responsive-sheet/const.d.ts +43 -0
  58. package/lib/typescript/module/responsive-sheet/const.d.ts.map +1 -0
  59. package/lib/typescript/module/responsive-sheet/index.d.ts +3 -0
  60. package/lib/typescript/module/responsive-sheet/index.d.ts.map +1 -0
  61. package/lib/typescript/module/responsive-sheet/index.web.d.ts +3 -0
  62. package/lib/typescript/module/responsive-sheet/index.web.d.ts.map +1 -0
  63. package/lib/typescript/module/responsive-sheet/types.d.ts +55 -0
  64. package/lib/typescript/module/responsive-sheet/types.d.ts.map +1 -0
  65. package/package.json +18 -1
  66. package/src/__tests__/ResponsiveSheet.test.tsx +104 -0
  67. package/src/index.ts +8 -0
  68. package/src/index.web.ts +8 -0
  69. package/src/responsive-sheet/ResponsiveSheet.native.tsx +257 -0
  70. package/src/responsive-sheet/ResponsiveSheet.stories.tsx +54 -0
  71. package/src/responsive-sheet/ResponsiveSheet.tsx +327 -0
  72. package/src/responsive-sheet/const.ts +53 -0
  73. package/src/responsive-sheet/index.ts +6 -0
  74. package/src/responsive-sheet/index.web.ts +16 -0
  75. package/src/responsive-sheet/types.ts +57 -0
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RESPONSIVE_SHEET_BACKDROP_TESTID = void 0;
7
+ exports.ResponsiveSheet = ResponsiveSheet;
8
+ exports.default = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _reactNative = require("react-native");
11
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
12
+ var _zIndex = require("../styles/z-index.js");
13
+ var _useTheme = require("../theme/use-theme.js");
14
+ var _const = require("./const.js");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
+ /** Stable testID for the dimmed backdrop dismiss button. */
18
+ const RESPONSIVE_SHEET_BACKDROP_TESTID = exports.RESPONSIVE_SHEET_BACKDROP_TESTID = 'bloom-responsive-sheet-backdrop';
19
+
20
+ /**
21
+ * Native variant of `<ResponsiveSheet>` (selected only by Metro).
22
+ *
23
+ * Uses `react-native-reanimated` to drive the same motion as the web/CSS
24
+ * default fork: a shared `progress` value times 0 -> 1 on open and 1 -> 0 on
25
+ * close, mapped to the panel translate/opacity and the backdrop opacity.
26
+ * Native exit animations are safe here — the web-only `removeChild` crash does
27
+ * not apply — so we keep the node mounted through the close timing and unmount
28
+ * from the animation completion callback.
29
+ *
30
+ * The panel itself is measured (not percentage-translated): we offset by the
31
+ * panel's own width/height so the hidden state sits fully off its side, which
32
+ * is the reanimated-friendly equivalent of the web `translate(±100%)`.
33
+ */
34
+ function ResponsiveSheet({
35
+ open,
36
+ onClose,
37
+ side = _const.DEFAULT_SIDE,
38
+ breakpoint = _const.DEFAULT_BREAKPOINT,
39
+ width = _const.DEFAULT_WIDTH,
40
+ maxHeightRatio = _const.DEFAULT_MAX_HEIGHT_RATIO,
41
+ inset,
42
+ showHandle = true,
43
+ dismissOnBackdrop = true,
44
+ panelStyle,
45
+ panelClassName,
46
+ containerStyle,
47
+ containerClassName,
48
+ label = _const.DEFAULT_LABEL,
49
+ children
50
+ }) {
51
+ const theme = (0, _useTheme.useTheme)();
52
+ const {
53
+ width: viewportWidth,
54
+ height: viewportHeight
55
+ } = (0, _reactNative.useWindowDimensions)();
56
+
57
+ // Keep the tree mounted through the exit timing; unmount once it settles.
58
+ const [mounted, setMounted] = (0, _react.useState)(open);
59
+ // `progress`: 0 = fully hidden, 1 = fully shown. Drives both transform and
60
+ // opacity so a single timing controls the whole transition.
61
+ const progress = (0, _reactNativeReanimated.useSharedValue)(open ? 1 : 0);
62
+ const isBottom = viewportWidth < breakpoint;
63
+
64
+ // Measured panel extent along the travel axis. Falls back to the geometry
65
+ // target so the very first frame is already off-screen before layout lands.
66
+ const insetTop = inset?.top ?? 0;
67
+ const insetBottom = inset?.bottom ?? 0;
68
+ const insetLeft = inset?.left ?? 0;
69
+ const insetRight = inset?.right ?? 0;
70
+ const anchorInset = side === 'left' ? insetLeft : insetRight;
71
+ const oppositeInset = side === 'left' ? insetRight : insetLeft;
72
+ const sideWidth = (0, _react.useMemo)(() => {
73
+ const available = viewportWidth - anchorInset - oppositeInset - _const.SIDE_SHEET_MIN_GUTTER;
74
+ return Math.max(0, Math.min(width, available));
75
+ }, [viewportWidth, anchorInset, oppositeInset, width]);
76
+ const bottomMaxHeight = (0, _react.useMemo)(() => Math.round(viewportHeight * maxHeightRatio), [viewportHeight, maxHeightRatio]);
77
+
78
+ // Travel distance for the hidden state: the panel's measured extent (height
79
+ // for the bottom-sheet, width for the side-sheet), with the geometry target
80
+ // as the pre-measurement fallback.
81
+ const travel = (0, _reactNativeReanimated.useSharedValue)(isBottom ? bottomMaxHeight : sideWidth);
82
+ (0, _react.useEffect)(() => {
83
+ travel.value = isBottom ? bottomMaxHeight : sideWidth;
84
+ }, [isBottom, bottomMaxHeight, sideWidth, travel]);
85
+ const finishClose = (0, _react.useCallback)(() => {
86
+ setMounted(false);
87
+ }, []);
88
+ (0, _react.useEffect)(() => {
89
+ (0, _reactNativeReanimated.cancelAnimation)(progress);
90
+ const timing = {
91
+ duration: _const.ANIMATION_DURATION,
92
+ easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.cubic)
93
+ };
94
+ if (open) {
95
+ setMounted(true);
96
+ progress.value = (0, _reactNativeReanimated.withTiming)(1, timing);
97
+ return;
98
+ }
99
+ if (!mounted) return;
100
+ progress.value = (0, _reactNativeReanimated.withTiming)(0, timing, finished => {
101
+ if (finished) (0, _reactNativeReanimated.runOnJS)(finishClose)();
102
+ });
103
+ }, [open, mounted, progress, finishClose]);
104
+ const handleBackdropPress = (0, _react.useCallback)(() => {
105
+ if (dismissOnBackdrop) onClose();
106
+ }, [dismissOnBackdrop, onClose]);
107
+ const backdropAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
108
+ opacity: progress.value * _const.BACKDROP_OPACITY
109
+ }));
110
+ const hiddenSign = side === 'left' ? -1 : 1;
111
+ const panelAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
112
+ const hidden = 1 - progress.value;
113
+ if (isBottom) {
114
+ return {
115
+ opacity: progress.value,
116
+ transform: [{
117
+ translateY: hidden * travel.value
118
+ }]
119
+ };
120
+ }
121
+ return {
122
+ opacity: progress.value,
123
+ transform: [{
124
+ translateX: hidden * travel.value * hiddenSign
125
+ }]
126
+ };
127
+ }, [isBottom, hiddenSign]);
128
+ const measurePanel = (0, _react.useCallback)(e => {
129
+ const measured = isBottom ? e.nativeEvent.layout.height : e.nativeEvent.layout.width;
130
+ if (measured > 0) travel.value = measured;
131
+ }, [isBottom, travel]);
132
+ const panelGeometry = (0, _react.useMemo)(() => {
133
+ if (isBottom) {
134
+ return {
135
+ left: 0,
136
+ right: 0,
137
+ bottom: 0,
138
+ maxHeight: bottomMaxHeight,
139
+ borderTopLeftRadius: _const.PANEL_RADIUS,
140
+ borderTopRightRadius: _const.PANEL_RADIUS
141
+ };
142
+ }
143
+ return {
144
+ top: insetTop,
145
+ bottom: insetBottom,
146
+ [side]: anchorInset,
147
+ width: sideWidth,
148
+ borderRadius: _const.PANEL_RADIUS
149
+ };
150
+ }, [isBottom, bottomMaxHeight, insetTop, insetBottom, side, anchorInset, sideWidth]);
151
+ if (!mounted) return null;
152
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
153
+ style: [styles.root, containerStyle],
154
+ ...(containerClassName ? {
155
+ className: containerClassName
156
+ } : {}),
157
+ pointerEvents: "box-none",
158
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
159
+ style: [styles.backdrop, backdropAnimatedStyle],
160
+ pointerEvents: "auto",
161
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
162
+ testID: RESPONSIVE_SHEET_BACKDROP_TESTID,
163
+ accessibilityRole: "button",
164
+ accessibilityLabel: `Dismiss ${label}`,
165
+ onPress: handleBackdropPress,
166
+ disabled: !dismissOnBackdrop,
167
+ style: _reactNative.StyleSheet.absoluteFill
168
+ })
169
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
170
+ accessibilityViewIsModal: true,
171
+ ...(panelClassName ? {
172
+ className: panelClassName
173
+ } : {}),
174
+ onLayout: measurePanel,
175
+ style: [styles.panel, {
176
+ backgroundColor: theme.colors.background,
177
+ shadowColor: theme.colors.shadow
178
+ }, panelGeometry, panelAnimatedStyle, panelStyle],
179
+ pointerEvents: "auto",
180
+ children: [isBottom && showHandle ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
181
+ style: styles.handleRow,
182
+ pointerEvents: "none",
183
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
184
+ style: [styles.handle, {
185
+ backgroundColor: theme.colors.border
186
+ }]
187
+ })
188
+ }) : null, children]
189
+ })]
190
+ });
191
+ }
192
+ const styles = _reactNative.StyleSheet.create({
193
+ root: {
194
+ ..._reactNative.StyleSheet.absoluteFill,
195
+ zIndex: _zIndex.Z_INDEX.fullscreen
196
+ },
197
+ backdrop: {
198
+ ..._reactNative.StyleSheet.absoluteFill,
199
+ backgroundColor: '#000'
200
+ },
201
+ panel: {
202
+ position: 'absolute',
203
+ overflow: 'hidden',
204
+ shadowOpacity: 0.18,
205
+ shadowRadius: 24,
206
+ shadowOffset: {
207
+ width: 0,
208
+ height: 8
209
+ },
210
+ elevation: 12
211
+ },
212
+ handleRow: {
213
+ width: '100%',
214
+ alignItems: 'center',
215
+ paddingTop: 8,
216
+ paddingBottom: 4
217
+ },
218
+ handle: {
219
+ width: _const.HANDLE_WIDTH,
220
+ height: _const.HANDLE_HEIGHT,
221
+ borderRadius: _const.HANDLE_RADIUS,
222
+ opacity: 0.5
223
+ }
224
+ });
225
+ var _default = exports.default = ResponsiveSheet;
226
+ //# sourceMappingURL=ResponsiveSheet.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_zIndex","_useTheme","_const","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RESPONSIVE_SHEET_BACKDROP_TESTID","exports","ResponsiveSheet","open","onClose","side","DEFAULT_SIDE","breakpoint","DEFAULT_BREAKPOINT","width","DEFAULT_WIDTH","maxHeightRatio","DEFAULT_MAX_HEIGHT_RATIO","inset","showHandle","dismissOnBackdrop","panelStyle","panelClassName","containerStyle","containerClassName","label","DEFAULT_LABEL","children","theme","useTheme","viewportWidth","height","viewportHeight","useWindowDimensions","mounted","setMounted","useState","progress","useSharedValue","isBottom","insetTop","top","insetBottom","bottom","insetLeft","left","insetRight","right","anchorInset","oppositeInset","sideWidth","useMemo","available","SIDE_SHEET_MIN_GUTTER","Math","max","min","bottomMaxHeight","round","travel","useEffect","value","finishClose","useCallback","cancelAnimation","timing","duration","ANIMATION_DURATION","easing","Easing","out","cubic","withTiming","finished","runOnJS","handleBackdropPress","backdropAnimatedStyle","useAnimatedStyle","opacity","BACKDROP_OPACITY","hiddenSign","panelAnimatedStyle","hidden","transform","translateY","translateX","measurePanel","measured","nativeEvent","layout","panelGeometry","maxHeight","borderTopLeftRadius","PANEL_RADIUS","borderTopRightRadius","borderRadius","jsxs","View","style","styles","root","className","pointerEvents","jsx","backdrop","Pressable","testID","accessibilityRole","accessibilityLabel","onPress","disabled","StyleSheet","absoluteFill","accessibilityViewIsModal","onLayout","panel","backgroundColor","colors","background","shadowColor","shadow","handleRow","handle","border","create","zIndex","Z_INDEX","fullscreen","position","overflow","shadowOpacity","shadowRadius","shadowOffset","elevation","alignItems","paddingTop","paddingBottom","HANDLE_WIDTH","HANDLE_HEIGHT","HANDLE_RADIUS","_default"],"sourceRoot":"../../../src","sources":["responsive-sheet/ResponsiveSheet.native.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SIDE_SHEET_MIN_GUTTER = exports.PANEL_RADIUS = exports.HANDLE_WIDTH = exports.HANDLE_RADIUS = exports.HANDLE_HEIGHT = exports.EASE_OUT = exports.DEFAULT_WIDTH = exports.DEFAULT_SIDE = exports.DEFAULT_MAX_HEIGHT_RATIO = exports.DEFAULT_LABEL = exports.DEFAULT_BREAKPOINT = exports.BACKDROP_OPACITY = exports.ANIMATION_DURATION = void 0;
7
+ /**
8
+ * Shared default constants for `ResponsiveSheet`.
9
+ *
10
+ * Platform-agnostic — imported by both the default/web CSS implementation
11
+ * (`ResponsiveSheet.tsx`) and the native reanimated implementation
12
+ * (`ResponsiveSheet.native.tsx`) so the two variants stay in lockstep.
13
+ */
14
+
15
+ /** Below this viewport width the sheet renders as a bottom-sheet. */
16
+ const DEFAULT_BREAKPOINT = exports.DEFAULT_BREAKPOINT = 768;
17
+
18
+ /** Side-sheet width (px) on wide screens. Capped to fit the viewport. */
19
+ const DEFAULT_WIDTH = exports.DEFAULT_WIDTH = 460;
20
+
21
+ /** Bottom-sheet maximum height as a fraction of the viewport height. */
22
+ const DEFAULT_MAX_HEIGHT_RATIO = exports.DEFAULT_MAX_HEIGHT_RATIO = 0.9;
23
+
24
+ /** Anchored edge of the side-sheet on wide screens. */
25
+ const DEFAULT_SIDE = exports.DEFAULT_SIDE = 'left';
26
+
27
+ /**
28
+ * Open/close transition duration (ms). ~280–300ms ease-out reads as smooth
29
+ * without feeling sluggish; shared by the CSS transition and the native
30
+ * reanimated timing so both platforms match.
31
+ */
32
+ const ANIMATION_DURATION = exports.ANIMATION_DURATION = 280;
33
+
34
+ /**
35
+ * Standard CSS approximation of reanimated's `Easing.out(Easing.cubic)` so the
36
+ * web transition curve matches the native one.
37
+ */
38
+ const EASE_OUT = exports.EASE_OUT = 'cubic-bezier(0.33, 1, 0.68, 1)';
39
+
40
+ /** Corner radius for the side-sheet panel and the top of the bottom-sheet. */
41
+ const PANEL_RADIUS = exports.PANEL_RADIUS = 20;
42
+
43
+ /** Backdrop dim opacity once fully shown (matches `bg-black/40`). */
44
+ const BACKDROP_OPACITY = exports.BACKDROP_OPACITY = 0.4;
45
+
46
+ /** Drag-handle pill geometry for the bottom-sheet. */
47
+ const HANDLE_WIDTH = exports.HANDLE_WIDTH = 36;
48
+ const HANDLE_HEIGHT = exports.HANDLE_HEIGHT = 5;
49
+ const HANDLE_RADIUS = exports.HANDLE_RADIUS = 3;
50
+
51
+ /**
52
+ * Minimum gutter kept between a wide side-sheet and the opposite viewport edge
53
+ * when capping its width, so the panel never spans the full screen on a narrow
54
+ * desktop window that is still above the breakpoint.
55
+ */
56
+ const SIDE_SHEET_MIN_GUTTER = exports.SIDE_SHEET_MIN_GUTTER = 24;
57
+
58
+ /** A11y label fallback when the host does not provide one. */
59
+ const DEFAULT_LABEL = exports.DEFAULT_LABEL = 'Sheet';
60
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_BREAKPOINT","exports","DEFAULT_WIDTH","DEFAULT_MAX_HEIGHT_RATIO","DEFAULT_SIDE","ANIMATION_DURATION","EASE_OUT","PANEL_RADIUS","BACKDROP_OPACITY","HANDLE_WIDTH","HANDLE_HEIGHT","HANDLE_RADIUS","SIDE_SHEET_MIN_GUTTER","DEFAULT_LABEL"],"sourceRoot":"../../../src","sources":["responsive-sheet/const.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACO,MAAMA,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,GAAG;;AAErC;AACO,MAAME,aAAa,GAAAD,OAAA,CAAAC,aAAA,GAAG,GAAG;;AAEhC;AACO,MAAMC,wBAAwB,GAAAF,OAAA,CAAAE,wBAAA,GAAG,GAAG;;AAE3C;AACO,MAAMC,YAAY,GAAAH,OAAA,CAAAG,YAAA,GAAG,MAAe;;AAE3C;AACA;AACA;AACA;AACA;AACO,MAAMC,kBAAkB,GAAAJ,OAAA,CAAAI,kBAAA,GAAG,GAAG;;AAErC;AACA;AACA;AACA;AACO,MAAMC,QAAQ,GAAAL,OAAA,CAAAK,QAAA,GAAG,gCAAgC;;AAExD;AACO,MAAMC,YAAY,GAAAN,OAAA,CAAAM,YAAA,GAAG,EAAE;;AAE9B;AACO,MAAMC,gBAAgB,GAAAP,OAAA,CAAAO,gBAAA,GAAG,GAAG;;AAEnC;AACO,MAAMC,YAAY,GAAAR,OAAA,CAAAQ,YAAA,GAAG,EAAE;AACvB,MAAMC,aAAa,GAAAT,OAAA,CAAAS,aAAA,GAAG,CAAC;AACvB,MAAMC,aAAa,GAAAV,OAAA,CAAAU,aAAA,GAAG,CAAC;;AAE9B;AACA;AACA;AACA;AACA;AACO,MAAMC,qBAAqB,GAAAX,OAAA,CAAAW,qBAAA,GAAG,EAAE;;AAEvC;AACO,MAAMC,aAAa,GAAAZ,OAAA,CAAAY,aAAA,GAAG,OAAO","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "RESPONSIVE_SHEET_BACKDROP_TESTID", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ResponsiveSheet.RESPONSIVE_SHEET_BACKDROP_TESTID;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ResponsiveSheet", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ResponsiveSheet.ResponsiveSheet;
16
+ }
17
+ });
18
+ var _ResponsiveSheet = require("./ResponsiveSheet");
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ResponsiveSheet","require"],"sourceRoot":"../../../src","sources":["responsive-sheet/index.ts"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "RESPONSIVE_SHEET_BACKDROP_TESTID", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ResponsiveSheet.RESPONSIVE_SHEET_BACKDROP_TESTID;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "ResponsiveSheet", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _ResponsiveSheet.ResponsiveSheet;
16
+ }
17
+ });
18
+ var _ResponsiveSheet = require("./ResponsiveSheet");
19
+ //# sourceMappingURL=index.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ResponsiveSheet","require"],"sourceRoot":"../../../src","sources":["responsive-sheet/index.web.ts"],"mappings":";;;;;;;;;;;;;;;;;AAUA,IAAAA,gBAAA,GAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["responsive-sheet/types.ts"],"mappings":"","ignoreList":[]}
@@ -55,6 +55,8 @@ export { Slider } from "./slider/index.js";
55
55
  export { Combobox } from './combobox';
56
56
  // Bottom sheet
57
57
  export { BottomSheet } from "./bottom-sheet/index.js";
58
+ // Responsive sheet — side-sheet on wide screens, bottom-sheet on narrow.
59
+ export { ResponsiveSheet, RESPONSIVE_SHEET_BACKDROP_TESTID } from './responsive-sheet';
58
60
  // Data display
59
61
  export * from "./card/index.js";
60
62
  export * from "./badge/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,UAAU;AACxB,SACEC,MAAM,EACNC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,UAAU;AAWjB,cAAc,UAAU;AACxB,SAASC,GAAG,QAAQ,OAAO;AAE3B,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,yBAAgB;AAE5C,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,WAAW;AACzB,OAAO,KAAKC,WAAW,MAAM,yBAAgB;AAC7C,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,SAAS;;AAE3C;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;;AAE1C;AACA,OAAO,KAAKC,SAAS,MAAM,uBAAc;AACzC,OAAO,KAAKC,gBAAgB,MAAM,8BAAqB;AACvD,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,YAAY;AAGrC;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,cAAc,qBAAY;AAC1B,OAAO,KAAKC,SAAS,MAAM,sBAAa;;AAExC;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;AAC1C,OAAO,KAAKC,IAAI,MAAM,QAAQ;AAC9B,OAAO,KAAKC,OAAO,MAAM,WAAW;AACpC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,WAAW,MAAM,gBAAgB;AAC7C,OAAO,KAAKC,OAAO,MAAM,WAAW;AACpC,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,gBAAgB;AAMtE,SAASC,OAAO,QAAQ,WAAW;AAGnC;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","ResponsiveSheet","RESPONSIVE_SHEET_BACKDROP_TESTID","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,UAAU;AACxB,SACEC,MAAM,EACNC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,UAAU;AAWjB,cAAc,UAAU;AACxB,SAASC,GAAG,QAAQ,OAAO;AAE3B,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,yBAAgB;AAE5C,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,WAAW;AACzB,OAAO,KAAKC,WAAW,MAAM,yBAAgB;AAC7C,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,SAAS;;AAE3C;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;;AAE1C;AACA,OAAO,KAAKC,SAAS,MAAM,uBAAc;AACzC,OAAO,KAAKC,gBAAgB,MAAM,8BAAqB;AACvD,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,YAAY;AAGrC;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,SAASC,eAAe,EAAEC,gCAAgC,QAAQ,oBAAoB;AAOtF;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,cAAc,qBAAY;AAC1B,OAAO,KAAKC,SAAS,MAAM,sBAAa;;AAExC;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;AAC1C,OAAO,KAAKC,IAAI,MAAM,QAAQ;AAC9B,OAAO,KAAKC,OAAO,MAAM,WAAW;AACpC,OAAO,KAAKC,MAAM,MAAM,UAAU;AAClC,OAAO,KAAKC,WAAW,MAAM,gBAAgB;AAC7C,OAAO,KAAKC,OAAO,MAAM,WAAW;AACpC,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,gBAAgB;AAMtE,SAASC,OAAO,QAAQ,WAAW;AAGnC;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,SAAS","ignoreList":[]}
@@ -60,6 +60,8 @@ export { Slider } from "./slider/index.js";
60
60
  export { Combobox } from "./combobox/index.web.js";
61
61
  // Bottom sheet
62
62
  export { BottomSheet } from "./bottom-sheet/index.js";
63
+ // Responsive sheet — side-sheet on wide screens, bottom-sheet on narrow.
64
+ export { ResponsiveSheet, RESPONSIVE_SHEET_BACKDROP_TESTID } from "./responsive-sheet/index.web.js";
63
65
  // Data display
64
66
  export * from "./card/index.js";
65
67
  export * from "./badge/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,uBAAoB;AAClC,SACEC,MAAM,EACNC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;AAW3B,cAAc,uBAAoB;AAClC,SAASC,GAAG,QAAQ,oBAAiB;AAErC,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,wBAAqB;AACnC,OAAO,KAAKC,WAAW,MAAM,yBAAgB;AAC7C,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,sBAAmB;;AAErD;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;;AAE1C;AACA,OAAO,KAAKC,SAAS,MAAM,uBAAc;AACzC,OAAO,KAAKC,gBAAgB,MAAM,8BAAqB;AACvD,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,yBAAsB;AAG/C;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,cAAc,qBAAY;AAC1B,OAAO,KAAKC,SAAS,MAAM,sBAAa;;AAExC;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;AAC1C,OAAO,KAAKC,IAAI,MAAM,qBAAkB;AACxC,OAAO,KAAKC,OAAO,MAAM,wBAAqB;AAC9C,OAAO,KAAKC,MAAM,MAAM,uBAAoB;AAC5C,OAAO,KAAKC,WAAW,MAAM,6BAA0B;AACvD,OAAO,KAAKC,OAAO,MAAM,wBAAqB;AAC9C,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,6BAA0B;AAMhF,SAASC,OAAO,QAAQ,wBAAqB;AAG7C;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,sBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","CenteredDialog","CENTERED_DIALOG_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","PromptInput","toast","Typography","Skeleton","Grid","Fill","IconCircle","TextField","SegmentedControl","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","ResponsiveSheet","RESPONSIVE_SHEET_BACKDROP_TESTID","Tabs","Accordion","Item","Kbd","Admonition","Menu","Tooltip","Select","ContextMenu","Popover","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,uBAAoB;AAClC,SACEC,MAAM,EACNC,cAAc,EACdC,+BAA+B,EAC/BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;AAW3B,cAAc,uBAAoB;AAClC,SAASC,GAAG,QAAQ,oBAAiB;AAErC,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,wBAAqB;AACnC,OAAO,KAAKC,WAAW,MAAM,yBAAgB;AAC7C,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,sBAAmB;;AAErD;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,UAAU,QAAQ,wBAAe;;AAE1C;AACA,OAAO,KAAKC,SAAS,MAAM,uBAAc;AACzC,OAAO,KAAKC,gBAAgB,MAAM,8BAAqB;AACvD,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,yBAAsB;AAG/C;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,SAASC,eAAe,EAAEC,gCAAgC,QAAQ,iCAA8B;AAOhG;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,cAAc,qBAAY;AAC1B,OAAO,KAAKC,SAAS,MAAM,sBAAa;;AAExC;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;AAC1C,OAAO,KAAKC,IAAI,MAAM,qBAAkB;AACxC,OAAO,KAAKC,OAAO,MAAM,wBAAqB;AAC9C,OAAO,KAAKC,MAAM,MAAM,uBAAoB;AAC5C,OAAO,KAAKC,WAAW,MAAM,6BAA0B;AACvD,OAAO,KAAKC,OAAO,MAAM,wBAAqB;AAC9C,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,6BAA0B;AAMhF,SAASC,OAAO,QAAQ,wBAAqB;AAG7C;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,sBAAmB","ignoreList":[]}