@cdx-ui/components 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/coverage.svg +1 -1
- package/docs/components/bottom-sheet/content.md +2 -2
- package/docs/components/currency-input/content.md +94 -5
- package/docs/llms.txt +1 -0
- package/docs/resources/release-notes/0.3.1/content.md +13 -0
- package/docs/resources/release-notes/content.md +1 -0
- package/lib/commonjs/components/BottomSheet/index.js +63 -16
- package/lib/commonjs/components/BottomSheet/index.js.map +1 -1
- package/lib/commonjs/components/CurrencyInput/index.js +35 -10
- package/lib/commonjs/components/CurrencyInput/index.js.map +1 -1
- package/lib/commonjs/components/CurrencyInput/styles.js +40 -3
- package/lib/commonjs/components/CurrencyInput/styles.js.map +1 -1
- package/lib/commonjs/figma/CurrencyInput.figma.js +8 -8
- package/lib/commonjs/figma/CurrencyInput.figma.js.map +1 -1
- package/lib/module/components/BottomSheet/index.js +64 -17
- package/lib/module/components/BottomSheet/index.js.map +1 -1
- package/lib/module/components/CurrencyInput/index.js +37 -12
- package/lib/module/components/CurrencyInput/index.js.map +1 -1
- package/lib/module/components/CurrencyInput/styles.js +38 -3
- package/lib/module/components/CurrencyInput/styles.js.map +1 -1
- package/lib/module/figma/CurrencyInput.figma.js +8 -8
- package/lib/module/figma/CurrencyInput.figma.js.map +1 -1
- package/lib/typescript/components/BottomSheet/index.d.ts.map +1 -1
- package/lib/typescript/components/CurrencyInput/index.d.ts +4 -1
- package/lib/typescript/components/CurrencyInput/index.d.ts.map +1 -1
- package/lib/typescript/components/CurrencyInput/styles.d.ts +17 -6
- package/lib/typescript/components/CurrencyInput/styles.d.ts.map +1 -1
- package/lib/typescript/figma/CurrencyInput.figma.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/components/BottomSheet/index.tsx +88 -13
- package/src/components/CurrencyInput/index.tsx +36 -12
- package/src/components/CurrencyInput/styles.ts +51 -4
package/coverage.svg
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="108" height="20" role="img" aria-label="coverage: 92.
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="108" height="20" role="img" aria-label="coverage: 92.6%"><title>coverage: 92.6%</title><filter id="blur"><feGaussianBlur stdDeviation="16"/></filter><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="108" height="20" rx="3"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="47" height="20" fill="#4b0"/><rect width="108" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="315" y="150" fill-opacity=".8" filter="url(#blur)" textLength="510">coverage</text><text x="315" y="150" fill-opacity=".3" textLength="510">coverage</text></g><text x="315" y="140" textLength="510">coverage</text></g><g transform="scale(.1)"><g aria-hidden="true" fill="#010101"><text x="835" y="150" fill-opacity=".8" filter="url(#blur)" textLength="370">92.6%</text><text x="835" y="150" fill-opacity=".3" textLength="370">92.6%</text></g><text x="835" y="140" textLength="370">92.6%</text></g></g></svg>
|
|
@@ -310,11 +310,11 @@ Required once at the app root. Wraps the tree to enable modal presentation.
|
|
|
310
310
|
|
|
311
311
|
### BottomSheet.ScrollView
|
|
312
312
|
|
|
313
|
-
Scrollable content wrapper for sheets with long content. Enables footer margin adjustment by default.
|
|
313
|
+
Scrollable content wrapper for sheets with long content. Enables footer margin adjustment by default when the sheet has a footer.
|
|
314
314
|
|
|
315
315
|
### BottomSheet.View
|
|
316
316
|
|
|
317
|
-
Non-scrollable content wrapper for fit-to-content sheets. Enables footer margin adjustment by default.
|
|
317
|
+
Non-scrollable content wrapper for fit-to-content sheets. Enables footer margin adjustment by default when the sheet has a footer.
|
|
318
318
|
|
|
319
319
|
## Hook
|
|
320
320
|
|
|
@@ -23,9 +23,50 @@ export default function CurrencyInputBasicDemo() {
|
|
|
23
23
|
}
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
## Variants
|
|
27
|
+
|
|
28
|
+
Use the default `ghost` variant for a large, centered amount that is the focus of the screen. Use `outline` when the amount sits in a form next to other fields: it renders the same bordered shell as `Input`, with the currency symbol as a separate prefix.
|
|
29
|
+
|
|
30
|
+
```tsx
|
|
31
|
+
import { useState } from 'react';
|
|
32
|
+
import { Box, CurrencyInput, Text, type CurrencyInputProps } from '@cdx-ui/components';
|
|
33
|
+
|
|
34
|
+
const variants = ['ghost', 'outline'] as const satisfies readonly NonNullable<
|
|
35
|
+
CurrencyInputProps['variant']
|
|
36
|
+
>[];
|
|
37
|
+
|
|
38
|
+
function VariantRow({ variant }: { variant: NonNullable<CurrencyInputProps['variant']> }) {
|
|
39
|
+
const [amount, setAmount] = useState(4890);
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<Box className="gap-2">
|
|
43
|
+
<Text size="sm" color="secondary">
|
|
44
|
+
{variant}
|
|
45
|
+
</Text>
|
|
46
|
+
<CurrencyInput
|
|
47
|
+
accessibilityLabel={`${variant} transfer amount`}
|
|
48
|
+
variant={variant}
|
|
49
|
+
value={amount}
|
|
50
|
+
onChangeValue={setAmount}
|
|
51
|
+
/>
|
|
52
|
+
</Box>
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export default function CurrencyInputVariantsDemo() {
|
|
57
|
+
return (
|
|
58
|
+
<Box className="w-full gap-4">
|
|
59
|
+
{variants.map((variant) => (
|
|
60
|
+
<VariantRow key={variant} variant={variant} />
|
|
61
|
+
))}
|
|
62
|
+
</Box>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
26
67
|
## Sizes
|
|
27
68
|
|
|
28
|
-
Use `size="small"`
|
|
69
|
+
Use `size="small"` for a more compact amount. When the amount appears alongside other form fields, use `variant="outline"` instead so it matches them.
|
|
29
70
|
|
|
30
71
|
```tsx
|
|
31
72
|
import { useState } from 'react';
|
|
@@ -121,7 +162,26 @@ export default function CurrencyInputStatesDemo() {
|
|
|
121
162
|
|
|
122
163
|
## With field
|
|
123
164
|
|
|
124
|
-
Compose with `Field` to provide a visible label, helper text, and required state.
|
|
165
|
+
Compose with `Field` to provide a visible label, helper text, and required state. In a form, use `variant="outline"` with the label and helper aligned to the start, as with `Input`.
|
|
166
|
+
|
|
167
|
+
```tsx
|
|
168
|
+
import { useState } from 'react';
|
|
169
|
+
import { CurrencyInput, Field } from '@cdx-ui/components';
|
|
170
|
+
|
|
171
|
+
export default function CurrencyInputOutlineWithFieldDemo() {
|
|
172
|
+
const [amount, setAmount] = useState(0);
|
|
173
|
+
|
|
174
|
+
return (
|
|
175
|
+
<Field className="w-full" isRequired>
|
|
176
|
+
<Field.Label>Amount</Field.Label>
|
|
177
|
+
<CurrencyInput isRequired variant="outline" value={amount} onChangeValue={setAmount} />
|
|
178
|
+
<Field.Helper>Daily limit remaining: $1,200</Field.Helper>
|
|
179
|
+
</Field>
|
|
180
|
+
);
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
For the `ghost` pattern, center the label and helper over the amount.
|
|
125
185
|
|
|
126
186
|
```tsx
|
|
127
187
|
import { useState } from 'react';
|
|
@@ -150,6 +210,34 @@ import { CurrencyInput, Field } from '@cdx-ui/components';
|
|
|
150
210
|
|
|
151
211
|
const DAILY_LIMIT = 1200;
|
|
152
212
|
|
|
213
|
+
export default function CurrencyInputOutlineWithFieldInvalidDemo() {
|
|
214
|
+
const [amount, setAmount] = useState(1500);
|
|
215
|
+
const isInvalid = amount > DAILY_LIMIT;
|
|
216
|
+
|
|
217
|
+
return (
|
|
218
|
+
<Field className="w-full" isRequired isInvalid={isInvalid}>
|
|
219
|
+
<Field.Label>Amount</Field.Label>
|
|
220
|
+
<CurrencyInput
|
|
221
|
+
isInvalid={isInvalid}
|
|
222
|
+
isRequired
|
|
223
|
+
variant="outline"
|
|
224
|
+
value={amount}
|
|
225
|
+
onChangeValue={setAmount}
|
|
226
|
+
/>
|
|
227
|
+
<Field.Error>Amount exceeds your daily limit.</Field.Error>
|
|
228
|
+
</Field>
|
|
229
|
+
);
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
The same validation in the `ghost` pattern, with a centered label and error.
|
|
234
|
+
|
|
235
|
+
```tsx
|
|
236
|
+
import { useState } from 'react';
|
|
237
|
+
import { CurrencyInput, Field } from '@cdx-ui/components';
|
|
238
|
+
|
|
239
|
+
const DAILY_LIMIT = 1200;
|
|
240
|
+
|
|
153
241
|
export default function CurrencyInputWithFieldInvalidDemo() {
|
|
154
242
|
const [amount, setAmount] = useState(1500);
|
|
155
243
|
const isInvalid = amount > DAILY_LIMIT;
|
|
@@ -181,14 +269,15 @@ Controlled calculator-style monetary entry. The numeric `value` is expressed in
|
|
|
181
269
|
| `className?` | `string` | — | — |
|
|
182
270
|
| `value?` | `number` | — | Current amount in major currency units, not cents. Renders a formatted zero when omitted or null. |
|
|
183
271
|
| `style?` | `StyleProp<ViewStyle>` | — | — |
|
|
184
|
-
| `size?` | `'default' \| 'small' \| null` | — | — |
|
|
185
272
|
| `onChangeValue?` | `((value: number) => void)` | — | Called with the parsed amount in major currency units, not cents, when the user edits the field. |
|
|
186
|
-
| `currencySymbol?` | `string` | — | Currency symbol
|
|
273
|
+
| `currencySymbol?` | `string` | — | Currency symbol shown before the amount. Defaults to `"$"`. Part of the field text in `ghost`; a separate, non-editable prefix in `outline`. |
|
|
187
274
|
| `isInvalid?` | `boolean` | — | If true, the input will indicate an error. |
|
|
188
275
|
| `isDisabled?` | `boolean` | — | If true, the input will be disabled. |
|
|
189
276
|
| `isRequired?` | `boolean` | — | Sets `aria-required="true"` on web when passed in form control. |
|
|
190
277
|
| `isReadOnly?` | `boolean` | — | If true, prevents the value of the input from being edited. |
|
|
191
278
|
| `isFullWidth?` | `boolean` | — | If true, the input element will span the full width of its parent. |
|
|
279
|
+
| `variant?` | `'ghost' \| 'outline'` | `'ghost'` | Visual style. `ghost` is the large, centered, borderless amount entry; `outline` renders the bordered `Input` shell with a leading currency-symbol prefix, for amounts that sit alongside other form fields. |
|
|
280
|
+
| `size?` | `'default' \| 'small'` | `'default'` | Height, padding, and text size. |
|
|
192
281
|
|
|
193
282
|
Supports `accessibilityLabel`, `accessibilityHint`, `testID`, `onFocus`, `onBlur`, and `returnKeyType` from [`TextInputProps`](https://reactnative.dev/docs/textinput#props). `style` applies to the root container, and the forwarded ref targets the underlying `TextInput`.
|
|
194
283
|
|
|
@@ -201,5 +290,5 @@ Only digits contribute to the amount. Each new digit appends to the cents value,
|
|
|
201
290
|
| Item | Behavior |
|
|
202
291
|
| --------------- | ------------------------------------------------------------------------------------ |
|
|
203
292
|
| Accessible name | Compose with `Field.Label` or pass `accessibilityLabel` directly. |
|
|
204
|
-
| Value | `accessibilityValue.text` contains the fully formatted amount.
|
|
293
|
+
| Value | `accessibilityValue.text` contains the fully formatted amount, including the symbol. |
|
|
205
294
|
| Validation | Pair `isInvalid` with `Field.Error` so the error is not communicated by color alone. |
|
package/docs/llms.txt
CHANGED
|
@@ -138,6 +138,7 @@ Links point at each page's `content.md`, which carries the page's prose, demo so
|
|
|
138
138
|
|
|
139
139
|
## Release notes
|
|
140
140
|
|
|
141
|
+
- [0.3.1](resources/release-notes/0.3.1/content.md): DataGrid adds filterMode for server-side search and filters; IconButton adds warning, success, and info color options.
|
|
141
142
|
- [0.3.0](resources/release-notes/0.3.0/content.md): Calendar and MonthCalendar year pickers scroll the full selectable range; BottomSheet adds fullBleed and updated Content and Footer padding.
|
|
142
143
|
- [0.2.5](resources/release-notes/0.2.5/content.md): Box is the supported layout primitive with hardened stacks; View from @cdx-ui/components is deprecated. Align Expo apps with SDK 57 and React Native 0.86.
|
|
143
144
|
- [0.2.4](resources/release-notes/0.2.4/content.md): ScrollShadow fades scroll edges on iOS, Android, and web; ListItem.SectionHeader adds a gradient variant for account-style lists.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# 0.3.1 (https://design.candescent.com/docs/resources/release-notes/0.3.1)
|
|
2
|
+
|
|
3
|
+
DataGrid adds filterMode for server-side search and filters; IconButton adds warning, success, and info color options.
|
|
4
|
+
|
|
5
|
+
This release extends **DataGrid** for server-driven filtering and adds status-colored variants to **[IconButton](https://design.candescent.com/docs/components/icon-button/content.md)** and **[Toast](https://design.candescent.com/docs/components/toast/content.md)**.
|
|
6
|
+
|
|
7
|
+
## What's new
|
|
8
|
+
|
|
9
|
+
**DataGrid** — Set `filterMode="server"` when pagination or sorting already runs on the server so quick search and column filters no longer run only against the rows on the current page. The grid emits `quickFilter` and `filterModel` changes and leaves filtering to your data source; `filterMode` defaults to match `paginationMode`, so server pagination does not silently filter a single page. `GridFilterItem.operator` is optional and defaults to `contains` ([#813](https://github.com/dfh-candescent/forge-design-system/pull/813)).
|
|
10
|
+
|
|
11
|
+
**[IconButton](https://design.candescent.com/docs/components/icon-button/content.md)** — `color` accepts `warning`, `success`, and `info` across solid, subtle, and ghost variants so icon actions can match semantic status without custom styling ([#793](https://github.com/dfh-candescent/forge-design-system/pull/793)).
|
|
12
|
+
|
|
13
|
+
**[Toast](https://design.candescent.com/docs/components/toast/content.md)** — The close control uses the toast’s semantic color so dismiss actions stay visually aligned with warning, success, info, and error toasts ([#793](https://github.com/dfh-candescent/forge-design-system/pull/793)).
|
|
@@ -8,6 +8,7 @@ Notes are generated from the release commit itself, so the versions and commit r
|
|
|
8
8
|
each entry are exact. Releases that contained nothing but backlog or dependency bookkeeping
|
|
9
9
|
are omitted.
|
|
10
10
|
|
|
11
|
+
- [0.3.1](https://design.candescent.com/docs/resources/release-notes/0.3.1/content.md) — 2026-10-13 — DataGrid adds filterMode for server-side search and filters; IconButton adds warning, success, and info color options.
|
|
11
12
|
- [0.3.0](https://design.candescent.com/docs/resources/release-notes/0.3.0/content.md) — 2026-10-13 — Calendar and MonthCalendar year pickers scroll the full selectable range; BottomSheet adds fullBleed and updated Content and Footer padding.
|
|
12
13
|
- [0.2.5](https://design.candescent.com/docs/resources/release-notes/0.2.5/content.md) — 2026-10-12 — Box is the supported layout primitive with hardened stacks; View from @cdx-ui/components is deprecated. Align Expo apps with SDK 57 and React Native 0.86.
|
|
13
14
|
- [0.2.4](https://design.candescent.com/docs/resources/release-notes/0.2.4/content.md) — 2026-10-09 — ScrollShadow fades scroll edges on iOS, Android, and web; ListItem.SectionHeader adds a gradient variant for account-style lists.
|
|
@@ -18,7 +18,38 @@ var _styles = require("./styles");
|
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
19
|
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); }
|
|
20
20
|
const SCOPE = 'BOTTOM_SHEET';
|
|
21
|
-
const
|
|
21
|
+
const useBottomSheetScopeContext = () => (0, _utils.useStyleContext)(SCOPE);
|
|
22
|
+
const useBottomSheetStyleContext = () => useBottomSheetScopeContext() ?? {};
|
|
23
|
+
const IS_WEB = _reactNative.Platform.OS === 'web';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Resolves how a content wrapper reserves room for the footer.
|
|
27
|
+
*
|
|
28
|
+
* gorhom's footer margin adjustment is unsound on web: its reaction first runs with the
|
|
29
|
+
* unmeasured footer sentinel (-999) and adds it to `contentHeight`, then never adds the real
|
|
30
|
+
* footer height. Depending on whether content measures first, a dynamically sized sheet either
|
|
31
|
+
* parks below its container or opens with the footer covering its content. It cannot be fixed
|
|
32
|
+
* with padding because react-native-web only re-reports layout when the content box resizes.
|
|
33
|
+
*
|
|
34
|
+
* So on web, when the sheet's `footer` prop is measured here, a spacer child of the footer's
|
|
35
|
+
* height replaces gorhom's adjustment; its layout lands in the content measurement in any
|
|
36
|
+
* order. With no footer there is nothing to adjust. Otherwise (native, a raw gorhom
|
|
37
|
+
* `footerComponent`, or outside a `BottomSheet.Modal`) gorhom's adjustment is kept.
|
|
38
|
+
*/
|
|
39
|
+
function useFooterMargin(enableFooterMarginAdjustment) {
|
|
40
|
+
const scope = useBottomSheetScopeContext();
|
|
41
|
+
const enabled = enableFooterMarginAdjustment ?? scope?.hasFooter ?? true;
|
|
42
|
+
const spacerHeight = enabled && IS_WEB ? scope?.footerHeight : undefined;
|
|
43
|
+
return {
|
|
44
|
+
enableFooterMarginAdjustment: enabled && spacerHeight === undefined,
|
|
45
|
+
spacer: spacerHeight ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
46
|
+
style: {
|
|
47
|
+
height: spacerHeight
|
|
48
|
+
},
|
|
49
|
+
pointerEvents: "none"
|
|
50
|
+
}) : null
|
|
51
|
+
};
|
|
52
|
+
}
|
|
22
53
|
const ZERO_INSETS = {
|
|
23
54
|
top: 0,
|
|
24
55
|
bottom: 0,
|
|
@@ -137,16 +168,29 @@ const BottomSheetModalStyled = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
137
168
|
...rest
|
|
138
169
|
}, ref) => {
|
|
139
170
|
const parent = (0, _utils.useParentContext)();
|
|
171
|
+
const hasFooter = footer != null || rest.footerComponent != null;
|
|
172
|
+
const measuresFooter = IS_WEB && footer != null;
|
|
173
|
+
const [measuredFooterHeight, setMeasuredFooterHeight] = (0, _react.useState)(0);
|
|
174
|
+
const footerHeight = measuresFooter ? measuredFooterHeight : undefined;
|
|
140
175
|
const ctx = (0, _react.useMemo)(() => ({
|
|
141
176
|
...parent,
|
|
142
177
|
[SCOPE]: {
|
|
143
|
-
fullBleed
|
|
178
|
+
fullBleed,
|
|
179
|
+
hasFooter,
|
|
180
|
+
footerHeight
|
|
144
181
|
}
|
|
145
|
-
}), [parent, fullBleed]);
|
|
182
|
+
}), [parent, fullBleed, hasFooter, footerHeight]);
|
|
183
|
+
const handleFooterLayout = (0, _react.useCallback)(event => {
|
|
184
|
+
setMeasuredFooterHeight(event.nativeEvent.layout.height);
|
|
185
|
+
}, []);
|
|
146
186
|
const renderFooter = (0, _react.useCallback)(props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomSheet.BottomSheetFooter, {
|
|
147
187
|
...props,
|
|
148
|
-
children:
|
|
149
|
-
|
|
188
|
+
children: measuresFooter ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
189
|
+
onLayout: handleFooterLayout,
|
|
190
|
+
pointerEvents: "box-none",
|
|
191
|
+
children: footer
|
|
192
|
+
}) : footer
|
|
193
|
+
}), [footer, handleFooterLayout, measuresFooter]);
|
|
150
194
|
const modalRef = (0, _react.useRef)(null);
|
|
151
195
|
const dismissedRef = (0, _react.useRef)(false);
|
|
152
196
|
const sheetMountedRef = (0, _react.useRef)(false);
|
|
@@ -274,35 +318,37 @@ const BottomSheetModalStyled = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
274
318
|
BottomSheetModalStyled.displayName = 'BottomSheet.Modal';
|
|
275
319
|
|
|
276
320
|
// =============================================================================
|
|
277
|
-
// SCROLLVIEW WRAPPER (
|
|
321
|
+
// SCROLLVIEW WRAPPER (reserves room for the sheet's footer by default)
|
|
278
322
|
// =============================================================================
|
|
279
323
|
|
|
280
324
|
function BottomSheetScrollViewStyled({
|
|
281
|
-
enableFooterMarginAdjustment
|
|
325
|
+
enableFooterMarginAdjustment,
|
|
282
326
|
children,
|
|
283
327
|
...rest
|
|
284
328
|
}) {
|
|
285
|
-
|
|
286
|
-
|
|
329
|
+
const footerMargin = useFooterMargin(enableFooterMarginAdjustment);
|
|
330
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_bottomSheet.BottomSheetScrollView, {
|
|
331
|
+
enableFooterMarginAdjustment: footerMargin.enableFooterMarginAdjustment,
|
|
287
332
|
...rest,
|
|
288
|
-
children: children
|
|
333
|
+
children: [children, footerMargin.spacer]
|
|
289
334
|
});
|
|
290
335
|
}
|
|
291
336
|
BottomSheetScrollViewStyled.displayName = 'BottomSheet.ScrollView';
|
|
292
337
|
|
|
293
338
|
// =============================================================================
|
|
294
|
-
// VIEW WRAPPER (
|
|
339
|
+
// VIEW WRAPPER (reserves room for the sheet's footer by default)
|
|
295
340
|
// =============================================================================
|
|
296
341
|
|
|
297
342
|
function BottomSheetViewStyled({
|
|
298
|
-
enableFooterMarginAdjustment
|
|
343
|
+
enableFooterMarginAdjustment,
|
|
299
344
|
children,
|
|
300
345
|
...rest
|
|
301
346
|
}) {
|
|
302
|
-
|
|
303
|
-
|
|
347
|
+
const footerMargin = useFooterMargin(enableFooterMarginAdjustment);
|
|
348
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_bottomSheet.BottomSheetView, {
|
|
349
|
+
enableFooterMarginAdjustment: footerMargin.enableFooterMarginAdjustment,
|
|
304
350
|
...rest,
|
|
305
|
-
children: children
|
|
351
|
+
children: [children, footerMargin.spacer]
|
|
306
352
|
});
|
|
307
353
|
}
|
|
308
354
|
BottomSheetViewStyled.displayName = 'BottomSheet.View';
|
|
@@ -360,8 +406,9 @@ function useBottomSheet() {
|
|
|
360
406
|
* ```
|
|
361
407
|
*/
|
|
362
408
|
function useBottomSheetScrollable() {
|
|
409
|
+
const enableFooterMarginAdjustment = useBottomSheetScopeContext()?.hasFooter ?? true;
|
|
363
410
|
return (0, _bottomSheet.useBottomSheetScrollableCreator)({
|
|
364
|
-
enableFooterMarginAdjustment
|
|
411
|
+
enableFooterMarginAdjustment
|
|
365
412
|
});
|
|
366
413
|
}
|
|
367
414
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_uniwind","_bottomSheet","_primitives","_utils","_sheetHeader","_styles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SCOPE","useBottomSheetStyleContext","useStyleContext","ZERO_INSETS","top","bottom","left","right","useSafeInsets","useContext","SafeAreaInsetsContext","BottomSheetHeader","forwardRef","title","subtitle","children","className","onClose","closeAccessibilityLabel","onBack","backAccessibilityLabel","ref","jsx","SheetHeader","displayName","BottomSheetContent","hasSafeAreaInset","fullBleed","style","insets","fullBleedFromContext","computedClassName","cn","bottomSheetContentVariants","View","paddingBottom","pointerEvents","BottomSheetFooter","bottomSheetFooterVariants","Math","max","MAX_DYNAMIC_CONTENT_SIZE","Dimensions","height","CustomBackdrop","props","BottomSheetBackdrop","disappearsOnIndex","appearsOnIndex","opacity","pressBehavior","CustomBackground","bottomSheetBackgroundClassName","BottomSheetModalStyled","handleVisible","footer","onDismiss","onChange","onAnimate","rest","parent","useParentContext","ctx","useMemo","renderFooter","useCallback","modalRef","useRef","dismissedRef","sheetMountedRef","mountPendingRef","pendingDismissRef","presented","setPresented","useState","setModalRef","instance","current","dismissSheet","args","dismiss","markSheetMounted","pendingDismiss","useImperativeHandle","present","snapToIndex","snapToPosition","expand","collapse","close","forceClose","handleDismiss","handleChange","handleAnimate","id","useId","overlayId","useEscapeKey","groupId","layer","isTopmost","useOverlayStackRegistration","active","Platform","OS","capabilities","useEffect","backHandler","BackHandler","addEventListener","remove","sheetContainerStyle","useResolveClassNames","bottomSheetModalContainerClassName","handleIndicatorStyle","BottomSheetModal","enableDynamicSizing","maxDynamicContentSize","handleComponent","undefined","backdropComponent","backgroundComponent","footerComponent","ParentContext","Provider","value","BottomSheetScrollViewStyled","enableFooterMarginAdjustment","BottomSheetScrollView","BottomSheetViewStyled","BottomSheetView","BottomSheetModalProvider","BottomSheet","exports","Modal","Header","Content","Footer","ScrollView","useBottomSheet","useBottomSheetScrollable","useBottomSheetScrollableCreator"],"sourceRoot":"../../../../src","sources":["components/BottomSheet/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeSafeAreaContext","_uniwind","_bottomSheet","_primitives","_utils","_sheetHeader","_styles","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SCOPE","useBottomSheetScopeContext","useStyleContext","useBottomSheetStyleContext","IS_WEB","Platform","OS","useFooterMargin","enableFooterMarginAdjustment","scope","enabled","hasFooter","spacerHeight","footerHeight","undefined","spacer","jsx","View","style","height","pointerEvents","ZERO_INSETS","top","bottom","left","right","useSafeInsets","useContext","SafeAreaInsetsContext","BottomSheetHeader","forwardRef","title","subtitle","children","className","onClose","closeAccessibilityLabel","onBack","backAccessibilityLabel","ref","SheetHeader","displayName","BottomSheetContent","hasSafeAreaInset","fullBleed","insets","fullBleedFromContext","computedClassName","cn","bottomSheetContentVariants","paddingBottom","BottomSheetFooter","bottomSheetFooterVariants","Math","max","MAX_DYNAMIC_CONTENT_SIZE","Dimensions","CustomBackdrop","props","BottomSheetBackdrop","disappearsOnIndex","appearsOnIndex","opacity","pressBehavior","CustomBackground","bottomSheetBackgroundClassName","BottomSheetModalStyled","handleVisible","footer","onDismiss","onChange","onAnimate","rest","parent","useParentContext","footerComponent","measuresFooter","measuredFooterHeight","setMeasuredFooterHeight","useState","ctx","useMemo","handleFooterLayout","useCallback","event","nativeEvent","layout","renderFooter","onLayout","modalRef","useRef","dismissedRef","sheetMountedRef","mountPendingRef","pendingDismissRef","presented","setPresented","setModalRef","instance","current","dismissSheet","args","dismiss","markSheetMounted","pendingDismiss","useImperativeHandle","present","snapToIndex","snapToPosition","expand","collapse","close","forceClose","handleDismiss","handleChange","handleAnimate","id","useId","overlayId","useEscapeKey","groupId","layer","isTopmost","useOverlayStackRegistration","active","capabilities","useEffect","backHandler","BackHandler","addEventListener","remove","sheetContainerStyle","useResolveClassNames","bottomSheetModalContainerClassName","handleIndicatorStyle","BottomSheetModal","enableDynamicSizing","maxDynamicContentSize","handleComponent","backdropComponent","backgroundComponent","ParentContext","Provider","value","BottomSheetScrollViewStyled","footerMargin","jsxs","BottomSheetScrollView","BottomSheetViewStyled","BottomSheetView","BottomSheetModalProvider","BottomSheet","exports","Modal","Header","Content","Footer","ScrollView","useBottomSheet","useBottomSheetScrollable","useBottomSheetScrollableCreator"],"sourceRoot":"../../../../src","sources":["components/BottomSheet/index.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAYA,IAAAC,YAAA,GAAAD,OAAA;AAQA,IAAAE,2BAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AAYA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AAMkB,IAAAS,WAAA,GAAAT,OAAA;AAAA,SAAAD,wBAAAW,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAb,uBAAA,YAAAA,CAAAW,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAElB,MAAMkB,KAAK,GAAG,cAAc;AAQ5B,MAAMC,0BAA0B,GAAGA,CAAA,KACjC,IAAAC,sBAAe,EAACF,KAAK,CAAwC;AAE/D,MAAMG,0BAA0B,GAAGA,CAAA,KACjCF,0BAA0B,CAAC,CAAC,IAAI,CAAC,CAAC;AAEpC,MAAMG,MAAM,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,eAAeA,CAACC,4BAAiD,EAAE;EAC1E,MAAMC,KAAK,GAAGR,0BAA0B,CAAC,CAAC;EAC1C,MAAMS,OAAO,GAAGF,4BAA4B,IAAIC,KAAK,EAAEE,SAAS,IAAI,IAAI;EACxE,MAAMC,YAAY,GAAGF,OAAO,IAAIN,MAAM,GAAGK,KAAK,EAAEI,YAAY,GAAGC,SAAS;EACxE,OAAO;IACLN,4BAA4B,EAAEE,OAAO,IAAIE,YAAY,KAAKE,SAAS;IACnEC,MAAM,EAAEH,YAAY,gBAAG,IAAAhC,WAAA,CAAAoC,GAAA,EAAC5C,YAAA,CAAA6C,IAAI;MAACC,KAAK,EAAE;QAAEC,MAAM,EAAEP;MAAa,CAAE;MAACQ,aAAa,EAAC;IAAM,CAAE,CAAC,GAAG;EAC1F,CAAC;AACH;AAEA,MAAMC,WAAuB,GAAG;EAAEC,GAAG,EAAE,CAAC;EAAEC,MAAM,EAAE,CAAC;EAAEC,IAAI,EAAE,CAAC;EAAEC,KAAK,EAAE;AAAE,CAAC;AAExE,SAASC,aAAaA,CAAA,EAAe;EACnC,OAAO,IAAAC,iBAAU,EAACC,iDAAqB,CAAC,IAAIP,WAAW;AACzD;;AAEA;;AAqBA,MAAMQ,iBAAiB,gBAAG,IAAAC,iBAAU,EAClC,CACE;EACEC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACRC,SAAS;EACTC,OAAO;EACPC,uBAAuB;EACvBC,MAAM;EACNC;AACF,CAAC,EACDC,GAAG,kBAEH,IAAA3D,WAAA,CAAAoC,GAAA,EAACtC,YAAA,CAAA8D,WAAW;EACVD,GAAG,EAAEA,GAAI;EACTR,KAAK,EAAEA,KAAM;EACbC,QAAQ,EAAEA,QAAS;EACnBE,SAAS,EAAEA,SAAU;EACrBC,OAAO,EAAEA,OAAQ;EACjBC,uBAAuB,EAAEA,uBAAwB;EACjDC,MAAM,EAAEA,MAAO;EACfC,sBAAsB,EAAEA,sBAAuB;EAAAL,QAAA,EAE9CA;AAAQ,CACE,CAEjB,CAAC;AACDJ,iBAAiB,CAACY,WAAW,GAAG,oBAAoB;;AAEpD;AACA;AACA;;AAYA,MAAMC,kBAAkB,gBAAG,IAAAZ,iBAAU,EACnC,CAAC;EAAEG,QAAQ;EAAEC,SAAS;EAAES,gBAAgB;EAAEC,SAAS;EAAE1B;AAAM,CAAC,EAAEqB,GAAG,KAAK;EACpE,MAAMM,MAAM,GAAGnB,aAAa,CAAC,CAAC;EAC9B,MAAM;IAAEkB,SAAS,EAAEE;EAAqB,CAAC,GAAG3C,0BAA0B,CAAC,CAAC;EACxE,MAAM4C,iBAAiB,GAAG,IAAAC,SAAE,EAC1B,IAAAC,kCAA0B,EAAC;IAAEL,SAAS,EAAEA,SAAS,IAAIE;EAAqB,CAAC,CAAC,EAC5EZ,SACF,CAAC;EACD,oBACE,IAAAtD,WAAA,CAAAoC,GAAA,EAAC5C,YAAA,CAAA6C,IAAI;IACHsB,GAAG,EAAEA,GAAI;IACTL,SAAS,EAAEa,iBAAkB;IAC7B7B,KAAK,EAAEyB,gBAAgB,GAAG;MAAEO,aAAa,EAAEL,MAAM,CAACtB,MAAM;MAAE,GAAGL;IAAM,CAAC,GAAGA,KAAM;IAC7EE,aAAa,EAAC,UAAU;IAAAa,QAAA,EAEvBA;EAAQ,CACL,CAAC;AAEX,CACF,CAAC;AAEDS,kBAAkB,CAACD,WAAW,GAAG,qBAAqB;;AAEtD;AACA;AACA;;AAOA,MAAMU,iBAAiB,gBAAG,IAAArB,iBAAU,EAClC,CAAC;EAAEG,QAAQ;EAAEC,SAAS;EAAEhB;AAAM,CAAC,EAAEqB,GAAG,KAAK;EACvC,MAAMM,MAAM,GAAGnB,aAAa,CAAC,CAAC;EAC9B,MAAMqB,iBAAiB,GAAG,IAAAC,SAAE,EAAC,IAAAI,iCAAyB,EAAC,CAAC,EAAElB,SAAS,CAAC;EACpE,oBACE,IAAAtD,WAAA,CAAAoC,GAAA,EAAC5C,YAAA,CAAA6C,IAAI;IACHsB,GAAG,EAAEA,GAAI;IACTL,SAAS,EAAEa,iBAAkB;IAC7B7B,KAAK,EAAE;MAAEgC,aAAa,EAAEG,IAAI,CAACC,GAAG,CAACT,MAAM,CAACtB,MAAM,EAAE,EAAE,CAAC;MAAE,GAAGL;IAAM,CAAE;IAChEE,aAAa,EAAC,UAAU;IAAAa,QAAA,EAEvBA;EAAQ,CACL,CAAC;AAEX,CACF,CAAC;AAEDkB,iBAAiB,CAACV,WAAW,GAAG,oBAAoB;;AAEpD;AACA;AACA;;AAiBA,MAAMc,wBAAwB,GAAGC,uBAAU,CAAC/D,GAAG,CAAC,QAAQ,CAAC,CAAC0B,MAAM,GAAG,GAAG;AAEtE,MAAMsC,cAAc,GAAIC,KAA+B,IAAK;EAC1D,oBACE,IAAA9E,WAAA,CAAAoC,GAAA,EAACzC,YAAA,CAAAoF,mBAAmB;IAAA,GACdD,KAAK;IACTE,iBAAiB,EAAE,CAAC,CAAE;IACtBC,cAAc,EAAE,CAAE;IAClBC,OAAO,EAAE,GAAI;IACbC,aAAa,EAAC;EAAO,CACtB,CAAC;AAEN,CAAC;AAED,MAAMC,gBAAgB,GAAIN,KAAkD,iBAC1E,IAAA9E,WAAA,CAAAoC,GAAA,EAAC5C,YAAA,CAAA6C,IAAI;EAAA,GAAKyC,KAAK;EAAExB,SAAS,EAAE+B;AAA+B,CAAE,CAC9D;AAED,MAAMC,sBAAsB,gBAAG,IAAApC,iBAAU,EAIvC,CACE;EAAEqC,aAAa,GAAG,IAAI;EAAEC,MAAM;EAAExB,SAAS;EAAEX,QAAQ;EAAEoC,SAAS;EAAEC,QAAQ;EAAEC,SAAS;EAAE,GAAGC;AAAK,CAAC,EAC9FjC,GAAG,KACA;EACH,MAAMkC,MAAM,GAAG,IAAAC,uBAAgB,EAAC,CAAC;EACjC,MAAM/D,SAAS,GAAGyD,MAAM,IAAI,IAAI,IAAII,IAAI,CAACG,eAAe,IAAI,IAAI;EAChE,MAAMC,cAAc,GAAGxE,MAAM,IAAIgE,MAAM,IAAI,IAAI;EAC/C,MAAM,CAACS,oBAAoB,EAAEC,uBAAuB,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAAC,CAAC;EACnE,MAAMlE,YAAY,GAAG+D,cAAc,GAAGC,oBAAoB,GAAG/D,SAAS;EACtE,MAAMkE,GAAG,GAAG,IAAAC,cAAO,EACjB,OAAO;IACL,GAAGR,MAAM;IACT,CAACzE,KAAK,GAAG;MAAE4C,SAAS;MAAEjC,SAAS;MAAEE;IAAa;EAChD,CAAC,CAAC,EACF,CAAC4D,MAAM,EAAE7B,SAAS,EAAEjC,SAAS,EAAEE,YAAY,CAC7C,CAAC;EAED,MAAMqE,kBAAkB,GAAG,IAAAC,kBAAW,EAAEC,KAAwB,IAAK;IACnEN,uBAAuB,CAACM,KAAK,CAACC,WAAW,CAACC,MAAM,CAACnE,MAAM,CAAC;EAC1D,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMoE,YAAY,GAAG,IAAAJ,kBAAW,EAC7BzB,KAAmC,iBAClC,IAAA9E,WAAA,CAAAoC,GAAA,EAACzC,YAAA,CAAA4E,iBAAuB;IAAA,GAAKO,KAAK;IAAAzB,QAAA,EAC/B2C,cAAc,gBACb,IAAAhG,WAAA,CAAAoC,GAAA,EAAC5C,YAAA,CAAA6C,IAAI;MAACuE,QAAQ,EAAEN,kBAAmB;MAAC9D,aAAa,EAAC,UAAU;MAAAa,QAAA,EACzDmC;IAAM,CACH,CAAC,GAEPA;EACD,CACsB,CAC1B,EACD,CAACA,MAAM,EAAEc,kBAAkB,EAAEN,cAAc,CAC7C,CAAC;EAED,MAAMa,QAAQ,GAAG,IAAAC,aAAM,EAA6B,IAAI,CAAC;EACzD,MAAMC,YAAY,GAAG,IAAAD,aAAM,EAAC,KAAK,CAAC;EAClC,MAAME,eAAe,GAAG,IAAAF,aAAM,EAAC,KAAK,CAAC;EACrC,MAAMG,eAAe,GAAG,IAAAH,aAAM,EAAC,KAAK,CAAC;EACrC,MAAMI,iBAAiB,GAAG,IAAAJ,aAAM,EAAoD,IAAI,CAAC;EACzF,MAAM,CAACK,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAjB,eAAQ,EAAC,KAAK,CAAC;;EAEjD;EACA;EACA;EACA,MAAMkB,WAAW,GAAG,IAAAd,kBAAW,EAAEe,QAAoC,IAAK;IACxET,QAAQ,CAACU,OAAO,GAAGD,QAAQ;EAC7B,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAME,YAAY,GAAG,IAAAjB,kBAAW,EAAC,CAAC,GAAGkB,IAAgD,KAAK;IACxF,IAAIR,eAAe,CAACM,OAAO,EAAE;MAC3BL,iBAAiB,CAACK,OAAO,GAAGE,IAAI;MAChC;IACF;IACAZ,QAAQ,CAACU,OAAO,EAAEG,OAAO,CAAC,GAAGD,IAAI,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,gBAAgB,GAAG,IAAApB,kBAAW,EAAC,MAAM;IACzCS,eAAe,CAACO,OAAO,GAAG,IAAI;IAC9B,IAAI,CAACN,eAAe,CAACM,OAAO,EAAE;IAC9BN,eAAe,CAACM,OAAO,GAAG,KAAK;IAC/B,MAAMK,cAAc,GAAGV,iBAAiB,CAACK,OAAO;IAChDL,iBAAiB,CAACK,OAAO,GAAG,IAAI;IAChC,IAAIK,cAAc,EAAEf,QAAQ,CAACU,OAAO,EAAEG,OAAO,CAAC,GAAGE,cAAc,CAAC;EAClE,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA,IAAAC,0BAAmB,EACjBlE,GAAG,EACH,OAA4B;IAC1BmE,OAAO,EAAEA,CAAC,GAAGL,IAAI,KAAK;MACpBV,YAAY,CAACQ,OAAO,GAAG,KAAK;MAC5B,IAAI,CAACP,eAAe,CAACO,OAAO,EAAEN,eAAe,CAACM,OAAO,GAAG,IAAI;MAC5DH,YAAY,CAAC,IAAI,CAAC;MAClBP,QAAQ,CAACU,OAAO,EAAEO,OAAO,CAAC,GAAGL,IAAI,CAAC;IACpC,CAAC;IACDC,OAAO,EAAEF,YAAY;IACrBO,WAAW,EAAEA,CAAC,GAAGN,IAAI,KAAKZ,QAAQ,CAACU,OAAO,EAAEQ,WAAW,CAAC,GAAGN,IAAI,CAAC;IAChEO,cAAc,EAAEA,CAAC,GAAGP,IAAI,KAAKZ,QAAQ,CAACU,OAAO,EAAES,cAAc,CAAC,GAAGP,IAAI,CAAC;IACtEQ,MAAM,EAAEA,CAAC,GAAGR,IAAI,KAAKZ,QAAQ,CAACU,OAAO,EAAEU,MAAM,CAAC,GAAGR,IAAI,CAAC;IACtDS,QAAQ,EAAEA,CAAC,GAAGT,IAAI,KAAKZ,QAAQ,CAACU,OAAO,EAAEW,QAAQ,CAAC,GAAGT,IAAI,CAAC;IAC1DU,KAAK,EAAEA,CAAC,GAAGV,IAAI,KAAKZ,QAAQ,CAACU,OAAO,EAAEY,KAAK,CAAC,GAAGV,IAAI,CAAC;IACpDW,UAAU,EAAEA,CAAC,GAAGX,IAAI,KAAKZ,QAAQ,CAACU,OAAO,EAAEa,UAAU,CAAC,GAAGX,IAAI;EAC/D,CAAC,CAAC,EACF,CAACD,YAAY,CACf,CAAC;EAED,MAAMa,aAAa,GAAG,IAAA9B,kBAAW,EAAC,MAAM;IACtCS,eAAe,CAACO,OAAO,GAAG,KAAK;IAC/BN,eAAe,CAACM,OAAO,GAAG,KAAK;IAC/BL,iBAAiB,CAACK,OAAO,GAAG,IAAI;IAChCH,YAAY,CAAC,KAAK,CAAC;IACnB,IAAIL,YAAY,CAACQ,OAAO,EAAE;IAC1BR,YAAY,CAACQ,OAAO,GAAG,IAAI;IAC3B9B,SAAS,GAAG,CAAC;EACf,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAM6C,YAAY,GAAG,IAAA/B,kBAAW,EAC9B,CAAC,GAAGkB,IAAgE,KAAK;IACvEV,YAAY,CAACQ,OAAO,GAAG,KAAK;IAC5BH,YAAY,CAACK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAIA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAEE,gBAAgB,CAAC,CAAC;IACpCjC,QAAQ,GAAG,GAAG+B,IAAI,CAAC;EACrB,CAAC,EACD,CAACE,gBAAgB,EAAEjC,QAAQ,CAC7B,CAAC;EAED,MAAM6C,aAAa,GAAG,IAAAhC,kBAAW,EAC/B,CAAC,GAAGkB,IAAiE,KAAK;IACxE,IAAIA,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAEE,gBAAgB,CAAC,CAAC;IACpChC,SAAS,GAAG,GAAG8B,IAAI,CAAC;EACtB,CAAC,EACD,CAACE,gBAAgB,EAAEhC,SAAS,CAC9B,CAAC;EAED,MAAM6C,EAAE,GAAG,IAAAC,YAAK,EAAC,CAAC;EAClB,MAAMC,SAAS,GAAG,gBAAgBF,EAAE,EAAE;EACtC,IAAAG,wBAAY,EAACxB,SAAS,EAAEK,YAAY,EAAE;IACpCgB,EAAE,EAAEE,SAAS;IACbE,OAAO,EAAEF,SAAS;IAClBG,KAAK,EAAE;EACT,CAAC,CAAC;EACF,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,uCAA2B,EAAC;IAChDC,MAAM,EAAE7B,SAAS,IAAI1F,qBAAQ,CAACC,EAAE,KAAK,KAAK;IAC1CuH,YAAY,EAAE,CAAC,MAAM,CAAC;IACtBT,EAAE,EAAEE,SAAS;IACbE,OAAO,EAAEF,SAAS;IAClBG,KAAK,EAAE;EACT,CAAC,CAAC;EAEF,IAAAK,gBAAS,EAAC,MAAM;IACd;IACA,IAAI,CAAC/B,SAAS,IAAI1F,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IAEzC,MAAMyH,WAAW,GAAGC,wBAAW,CAACC,gBAAgB,CAAC,mBAAmB,EAAE,MAAM;MAC1E,IAAI,CAACP,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK;MACpCtB,YAAY,CAAC,CAAC;MACd,OAAO,IAAI;IACb,CAAC,CAAC;IAEF,OAAO,MAAM;MACX2B,WAAW,CAACG,MAAM,CAAC,CAAC;IACtB,CAAC;EACH,CAAC,EAAE,CAAC9B,YAAY,EAAEsB,SAAS,EAAE3B,SAAS,CAAC,CAAC;EAExC,MAAMoC,mBAAmB,GAAG,IAAAC,6BAAoB,EAACC,0CAAkC,CAAC;EACpF,MAAMC,oBAAoB,GAAG,IAAAF,6BAAoB,EAC/C,oDACF,CAAC;EAED,oBACE,IAAAxJ,WAAA,CAAAoC,GAAA,EAACzC,YAAA,CAAAgK,gBAAgB;IACfhG,GAAG,EAAE0D,WAAY;IACjBuC,mBAAmB;IACnBC,qBAAqB,EAAElF,wBAAyB;IAChDrC,KAAK,EAAEiH,mBAAoB;IAC3BO,eAAe,EAAEvE,aAAa,GAAGrD,SAAS,GAAG,IAAK;IAClDwH,oBAAoB,EAAEnE,aAAa,GAAGmE,oBAAoB,GAAGxH,SAAU;IACvE6H,iBAAiB,EAAElF,cAAe;IAClCmF,mBAAmB,EAAE5E,gBAAiB;IAAA,GAClCQ,IAAI;IACRH,SAAS,EAAE4C,aAAc;IACzB3C,QAAQ,EAAE4C,YAAa;IACvB3C,SAAS,EAAE4C,aAAc;IAAA,IACpB/C,MAAM,IAAI,IAAI,IAAI;MAAEO,eAAe,EAAEY;IAAa,CAAC;IAAAtD,QAAA,EAEvD,OAAOA,QAAQ,KAAK,UAAU,GAC5ByB,KAAyB,iBACxB,IAAA9E,WAAA,CAAAoC,GAAA,EAACvC,MAAA,CAAAoK,aAAa,CAACC,QAAQ;MAACC,KAAK,EAAE/D,GAAI;MAAA/C,QAAA,EAChCA,QAAQ,CAACyB,KAAK;IAAC,CACM,CACzB,gBAED,IAAA9E,WAAA,CAAAoC,GAAA,EAACvC,MAAA,CAAAoK,aAAa,CAACC,QAAQ;MAACC,KAAK,EAAE/D,GAAI;MAAA/C,QAAA,EAAEA;IAAQ,CAAyB;EACvE,CACe,CAAC;AAEvB,CACF,CAAC;AAEDiC,sBAAsB,CAACzB,WAAW,GAAG,mBAAmB;;AAExD;AACA;AACA;;AAEA,SAASuG,2BAA2BA,CAAC;EACnCxI,4BAA4B;EAC5ByB,QAAQ;EACR,GAAGuC;AACyD,CAAC,EAAE;EAC/D,MAAMyE,YAAY,GAAG1I,eAAe,CAACC,4BAA4B,CAAC;EAClE,oBACE,IAAA5B,WAAA,CAAAsK,IAAA,EAAC3K,YAAA,CAAA4K,qBAAqB;IACpB3I,4BAA4B,EAAEyI,YAAY,CAACzI,4BAA6B;IAAA,GACpEgE,IAAI;IAAAvC,QAAA,GAEPA,QAAQ,EACRgH,YAAY,CAAClI,MAAM;EAAA,CACC,CAAC;AAE5B;AAEAiI,2BAA2B,CAACvG,WAAW,GAAG,wBAAwB;;AAElE;AACA;AACA;;AAEA,SAAS2G,qBAAqBA,CAAC;EAC7B5I,4BAA4B;EAC5ByB,QAAQ;EACR,GAAGuC;AACmD,CAAC,EAAE;EACzD,MAAMyE,YAAY,GAAG1I,eAAe,CAACC,4BAA4B,CAAC;EAClE,oBACE,IAAA5B,WAAA,CAAAsK,IAAA,EAAC3K,YAAA,CAAA8K,eAAe;IACd7I,4BAA4B,EAAEyI,YAAY,CAACzI,4BAA6B;IAAA,GACpEgE,IAAI;IAAAvC,QAAA,GAEPA,QAAQ,EACRgH,YAAY,CAAClI,MAAM;EAAA,CACL,CAAC;AAEtB;AAEAqI,qBAAqB,CAAC3G,WAAW,GAAG,kBAAkB;;AAEtD;;AAIC6G,qCAAwB,CAAqB7G,WAAW,GAAG,sBAAsB;;AAElF;;AAYO,MAAM8G,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG;EACzBE,KAAK,EAAEvF,sBAAsB;EAC7BwF,MAAM,EAAE7H,iBAAiB;EACzB8H,OAAO,EAAEjH,kBAAkB;EAC3BkH,MAAM,EAAEzG,iBAAiB;EACzB2F,QAAQ,EAAEQ,qCAAwB;EAClCO,UAAU,EAAEb,2BAA2B;EACvC/H,IAAI,EAAEmI;AACR,CAAwB;;AAExB;;AAEO,SAASU,cAAcA,CAAA,EAAG;EAC/B,MAAMvH,GAAG,GAAG,IAAAmD,aAAM,EAAsB,IAAI,CAAC;EAC7C,MAAMgB,OAAO,GAAG,IAAAvB,kBAAW,EAAC,MAAM;IAChC5C,GAAG,CAAC4D,OAAO,EAAEO,OAAO,CAAC,CAAC;EACxB,CAAC,EAAE,EAAE,CAAC;EACN,MAAMJ,OAAO,GAAG,IAAAnB,kBAAW,EAAC,MAAM;IAChC5C,GAAG,CAAC4D,OAAO,EAAEG,OAAO,CAAC,CAAC;EACxB,CAAC,EAAE,EAAE,CAAC;EACN,OAAO;IAAE/D,GAAG;IAAEmE,OAAO;IAAEJ;EAAQ,CAAC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASyD,wBAAwBA,CAAA,EAAG;EACzC,MAAMvJ,4BAA4B,GAAGP,0BAA0B,CAAC,CAAC,EAAEU,SAAS,IAAI,IAAI;EACpF,OAAO,IAAAqJ,4CAA+B,EAAC;IAAExJ;EAA6B,CAAC,CAAC;AAC1E","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.CurrencyInput = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
8
9
|
var _primitives = require("@cdx-ui/primitives");
|
|
9
10
|
var _utils = require("@cdx-ui/utils");
|
|
10
11
|
var _styles = require("./styles");
|
|
@@ -29,6 +30,7 @@ const CurrencyInput = exports.CurrencyInput = /*#__PURE__*/(0, _react.forwardRef
|
|
|
29
30
|
value,
|
|
30
31
|
onChangeValue,
|
|
31
32
|
currencySymbol = '$',
|
|
33
|
+
variant = 'ghost',
|
|
32
34
|
size = 'default',
|
|
33
35
|
isDisabled,
|
|
34
36
|
isInvalid,
|
|
@@ -56,16 +58,24 @@ const CurrencyInput = exports.CurrencyInput = /*#__PURE__*/(0, _react.forwardRef
|
|
|
56
58
|
// Controlled caret, pinned to the end of the formatted string. `undefined` in
|
|
57
59
|
// display mode so we never fight the platform when the field is not being edited.
|
|
58
60
|
const [selection, setSelection] = (0, _react.useState)();
|
|
61
|
+
const isOutline = variant === 'outline';
|
|
62
|
+
|
|
63
|
+
// `outline` renders the symbol as a separate prefix, so the TextInput holds only the
|
|
64
|
+
// amount. Every caret index is measured against this field text, never the full display.
|
|
65
|
+
const fieldTextFor = cents => {
|
|
66
|
+
const amount = centsToAmountDisplay(cents);
|
|
67
|
+
return isOutline ? amount : `${currencySymbol}${amount}`;
|
|
68
|
+
};
|
|
59
69
|
const displayCents = editingCents !== null ? editingCents : valueToCents(value);
|
|
60
|
-
const
|
|
61
|
-
const
|
|
70
|
+
const fullDisplay = `${currencySymbol}${centsToAmountDisplay(displayCents)}`;
|
|
71
|
+
const fieldText = fieldTextFor(displayCents);
|
|
62
72
|
const isEmpty = displayCents === 0;
|
|
63
73
|
|
|
64
|
-
// Index just past the last character of the
|
|
65
|
-
// Computed from `cents` (not the render-closure `
|
|
74
|
+
// Index just past the last character of the field text for a given cents.
|
|
75
|
+
// Computed from `cents` (not the render-closure `fieldText`) so the caret is
|
|
66
76
|
// correct in the same commit as a value change, even when a reformat adds or
|
|
67
77
|
// removes a grouping comma (e.g. 444.44 → 3,444.44) and changes the length.
|
|
68
|
-
const caretIndexFor = cents =>
|
|
78
|
+
const caretIndexFor = cents => fieldTextFor(cents).length;
|
|
69
79
|
const pinCaret = end => setSelection({
|
|
70
80
|
start: end,
|
|
71
81
|
end
|
|
@@ -110,7 +120,7 @@ const CurrencyInput = exports.CurrencyInput = /*#__PURE__*/(0, _react.forwardRef
|
|
|
110
120
|
if (editingCents === null) {
|
|
111
121
|
return;
|
|
112
122
|
}
|
|
113
|
-
const end =
|
|
123
|
+
const end = fieldText.length;
|
|
114
124
|
const {
|
|
115
125
|
selection: current
|
|
116
126
|
} = e.nativeEvent;
|
|
@@ -118,7 +128,7 @@ const CurrencyInput = exports.CurrencyInput = /*#__PURE__*/(0, _react.forwardRef
|
|
|
118
128
|
pinCaret(end);
|
|
119
129
|
}
|
|
120
130
|
};
|
|
121
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
131
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.InputRoot, {
|
|
122
132
|
isDisabled: isDisabled,
|
|
123
133
|
isInvalid: isInvalid,
|
|
124
134
|
isReadOnly: isReadOnly,
|
|
@@ -127,15 +137,29 @@ const CurrencyInput = exports.CurrencyInput = /*#__PURE__*/(0, _react.forwardRef
|
|
|
127
137
|
isHovered: isHovered,
|
|
128
138
|
isFullWidth: isFullWidth,
|
|
129
139
|
className: (0, _utils.cn)((0, _styles.currencyInputRootVariants)({
|
|
140
|
+
variant,
|
|
130
141
|
size
|
|
131
142
|
}), className),
|
|
132
143
|
style: style,
|
|
133
144
|
...(0, _primitives.dataAttributes)({
|
|
134
145
|
slot: 'currency-input'
|
|
135
146
|
}),
|
|
136
|
-
children:
|
|
147
|
+
children: [isOutline ?
|
|
148
|
+
/*#__PURE__*/
|
|
149
|
+
// Hidden from assistive tech: `accessibilityValue` already announces the symbol.
|
|
150
|
+
(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
151
|
+
className: (0, _styles.currencyInputPrefixVariants)({
|
|
152
|
+
size
|
|
153
|
+
}),
|
|
154
|
+
"aria-hidden": true,
|
|
155
|
+
importantForAccessibility: "no-hide-descendants",
|
|
156
|
+
...(0, _primitives.dataAttributes)({
|
|
157
|
+
slot: 'currency-input-prefix'
|
|
158
|
+
}),
|
|
159
|
+
children: currencySymbol
|
|
160
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.InputField, {
|
|
137
161
|
ref: ref,
|
|
138
|
-
value:
|
|
162
|
+
value: fieldText,
|
|
139
163
|
selection: selection,
|
|
140
164
|
onChangeText: handleChangeText,
|
|
141
165
|
onSelectionChange: handleSelectionChange,
|
|
@@ -150,9 +174,10 @@ const CurrencyInput = exports.CurrencyInput = /*#__PURE__*/(0, _react.forwardRef
|
|
|
150
174
|
onFocus: handleFocus,
|
|
151
175
|
onBlur: handleBlur,
|
|
152
176
|
className: (0, _utils.cn)((0, _styles.currencyInputFieldVariants)({
|
|
177
|
+
variant,
|
|
153
178
|
size
|
|
154
179
|
}), isEmpty ? 'text-content-tertiary' : 'text-content-primary')
|
|
155
|
-
})
|
|
180
|
+
})]
|
|
156
181
|
});
|
|
157
182
|
});
|
|
158
183
|
CurrencyInput.displayName = 'CurrencyInput';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_primitives","_utils","_styles","_jsxRuntime","currencyFormatter","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","MAX_DIGITS","centsToAmountDisplay","cents","format","valueToCents","value","Math","round","CurrencyInput","exports","forwardRef","onChangeValue","currencySymbol","size","isDisabled","isInvalid","isReadOnly","isRequired","isFocused","isHovered","isFullWidth","className","style","accessibilityLabel","accessibilityHint","testID","onFocus","onBlur","returnKeyType","ref","editingCents","setEditingCents","useState","selection","setSelection","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_primitives","_utils","_styles","_jsxRuntime","currencyFormatter","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","MAX_DIGITS","centsToAmountDisplay","cents","format","valueToCents","value","Math","round","CurrencyInput","exports","forwardRef","onChangeValue","currencySymbol","variant","size","isDisabled","isInvalid","isReadOnly","isRequired","isFocused","isHovered","isFullWidth","className","style","accessibilityLabel","accessibilityHint","testID","onFocus","onBlur","returnKeyType","ref","editingCents","setEditingCents","useState","selection","setSelection","isOutline","fieldTextFor","amount","displayCents","fullDisplay","fieldText","isEmpty","caretIndexFor","length","pinCaret","end","start","handleFocus","e","handleBlur","undefined","handleChangeText","text","digits","replace","slice","parseInt","handleSelectionChange","current","nativeEvent","jsxs","InputRoot","cn","currencyInputRootVariants","dataAttributes","slot","children","jsx","Text","currencyInputPrefixVariants","importantForAccessibility","InputField","onChangeText","onSelectionChange","keyboardType","accessibilityValue","currencyInputFieldVariants","displayName"],"sourceRoot":"../../../../src","sources":["components/CurrencyInput/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.currencyInputRootVariants = exports.currencyInputFieldVariants = void 0;
|
|
6
|
+
exports.currencyInputRootVariants = exports.currencyInputPrefixVariants = exports.currencyInputFieldVariants = void 0;
|
|
7
7
|
var _utils = require("@cdx-ui/utils");
|
|
8
8
|
var _constants = require("../../styles/constants");
|
|
9
|
-
|
|
9
|
+
var _styles = require("../Input/styles");
|
|
10
|
+
const currencyInputGhostRootVariants = (0, _utils.cva)(['w-full items-center justify-center', 'data-[disabled=true]:opacity-[var(--opacity-disabled)]', _constants.DISABLED_CURSOR, 'data-[readonly=true]:cursor-default'], {
|
|
10
11
|
variants: {
|
|
11
12
|
size: {
|
|
12
13
|
default: 'py-1',
|
|
@@ -17,7 +18,7 @@ const currencyInputRootVariants = exports.currencyInputRootVariants = (0, _utils
|
|
|
17
18
|
size: 'default'
|
|
18
19
|
}
|
|
19
20
|
});
|
|
20
|
-
const
|
|
21
|
+
const currencyInputGhostFieldVariants = (0, _utils.cva)(['w-full bg-transparent p-0 text-center', 'placeholder:text-content-tertiary', 'web:outline-none', 'data-[invalid=true]:text-content-danger'], {
|
|
21
22
|
variants: {
|
|
22
23
|
size: {
|
|
23
24
|
default: 'heading-xl',
|
|
@@ -28,4 +29,40 @@ const currencyInputFieldVariants = exports.currencyInputFieldVariants = (0, _uti
|
|
|
28
29
|
size: 'default'
|
|
29
30
|
}
|
|
30
31
|
});
|
|
32
|
+
|
|
33
|
+
// `outline` delegates to the Input shell so border, focus, invalid, disabled, and read-only
|
|
34
|
+
// treatments (including the native `data-[field-state=...]` focus selectors) stay in one place.
|
|
35
|
+
// Figma `outlined` spaces the symbol 8px from the amount, tighter than Input's 16px slot gap.
|
|
36
|
+
const currencyInputRootVariants = ({
|
|
37
|
+
variant = 'ghost',
|
|
38
|
+
size = 'default'
|
|
39
|
+
} = {}) => variant === 'outline' ? (0, _utils.cn)((0, _styles.inputRootVariants)({
|
|
40
|
+
variant: 'outline',
|
|
41
|
+
size
|
|
42
|
+
}), size === 'default' && 'gap-2') : currencyInputGhostRootVariants({
|
|
43
|
+
size
|
|
44
|
+
});
|
|
45
|
+
exports.currencyInputRootVariants = currencyInputRootVariants;
|
|
46
|
+
const currencyInputFieldVariants = ({
|
|
47
|
+
variant = 'ghost',
|
|
48
|
+
size = 'default'
|
|
49
|
+
} = {}) => variant === 'outline' ? (0, _styles.inputFieldVariants)({
|
|
50
|
+
size
|
|
51
|
+
}) : currencyInputGhostFieldVariants({
|
|
52
|
+
size
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
// Figma keeps the symbol at body-md on every viewport; only the amount grows to 16px on web <600px.
|
|
56
|
+
exports.currencyInputFieldVariants = currencyInputFieldVariants;
|
|
57
|
+
const currencyInputPrefixVariants = exports.currencyInputPrefixVariants = (0, _utils.cva)(['shrink-0 font-medium text-content-secondary tracking-normal'], {
|
|
58
|
+
variants: {
|
|
59
|
+
size: {
|
|
60
|
+
default: 'text-[0.875rem]',
|
|
61
|
+
small: 'text-[0.75rem]'
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
defaultVariants: {
|
|
65
|
+
size: 'default'
|
|
66
|
+
}
|
|
67
|
+
});
|
|
31
68
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","_constants","
|
|
1
|
+
{"version":3,"names":["_utils","require","_constants","_styles","currencyInputGhostRootVariants","cva","DISABLED_CURSOR","variants","size","default","small","defaultVariants","currencyInputGhostFieldVariants","currencyInputRootVariants","variant","cn","inputRootVariants","exports","currencyInputFieldVariants","inputFieldVariants","currencyInputPrefixVariants"],"sourceRoot":"../../../../src","sources":["components/CurrencyInput/styles.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAiBA,MAAMG,8BAA8B,GAAG,IAAAC,UAAG,EACxC,CACE,oCAAoC,EACpC,wDAAwD,EACxDC,0BAAe,EACf,qCAAqC,CACtC,EACD;EACEC,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,OAAO,EAAE,MAAM;MACfC,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CACF,CAAC;AAED,MAAMI,+BAA+B,GAAG,IAAAP,UAAG,EACzC,CACE,uCAAuC,EACvC,mCAAmC,EACnC,kBAAkB,EAClB,yCAAyC,CAC1C,EACD;EACEE,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,OAAO,EAAE,YAAY;MACrBC,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CACF,CAAC;;AAED;AACA;AACA;AACO,MAAMK,yBAAyB,GAAGA,CAAC;EACxCC,OAAO,GAAG,OAAO;EACjBN,IAAI,GAAG;AACkB,CAAC,GAAG,CAAC,CAAC,KAC/BM,OAAO,KAAK,SAAS,GACjB,IAAAC,SAAE,EAAC,IAAAC,yBAAiB,EAAC;EAAEF,OAAO,EAAE,SAAS;EAAEN;AAAK,CAAC,CAAC,EAAEA,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,GAClFJ,8BAA8B,CAAC;EAAEI;AAAK,CAAC,CAAC;AAACS,OAAA,CAAAJ,yBAAA,GAAAA,yBAAA;AAExC,MAAMK,0BAA0B,GAAGA,CAAC;EACzCJ,OAAO,GAAG,OAAO;EACjBN,IAAI,GAAG;AACkB,CAAC,GAAG,CAAC,CAAC,KAC/BM,OAAO,KAAK,SAAS,GAAG,IAAAK,0BAAkB,EAAC;EAAEX;AAAK,CAAC,CAAC,GAAGI,+BAA+B,CAAC;EAAEJ;AAAK,CAAC,CAAC;;AAElG;AAAAS,OAAA,CAAAC,0BAAA,GAAAA,0BAAA;AACO,MAAME,2BAA2B,GAAAH,OAAA,CAAAG,2BAAA,GAAG,IAAAf,UAAG,EAC5C,CAAC,6DAA6D,CAAC,EAC/D;EACEE,QAAQ,EAAE;IACRC,IAAI,EAAE;MACJC,OAAO,EAAE,iBAAiB;MAC1BC,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,IAAI,EAAE;EACR;AACF,CACF,CAAC","ignoreList":[]}
|