@cdx-ui/components 0.3.1 → 0.3.3
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 +2 -2
- package/coverage.svg +1 -1
- package/docs/components/bottom-sheet/content.md +2 -2
- package/docs/components/content.md +2 -0
- package/docs/components/currency-input/content.md +94 -5
- package/docs/components/data-grid/content.md +125 -1
- package/docs/components/insight/content.md +644 -0
- package/docs/components/insight-stack/content.md +231 -0
- package/docs/foundations/styles/tokens/all-tokens/content.md +23 -3
- package/docs/llms.txt +4 -0
- package/docs/patterns/forms/content.md +255 -0
- package/docs/resources/release-notes/0.3.1/content.md +13 -0
- package/docs/resources/release-notes/0.3.2/content.md +17 -0
- package/docs/resources/release-notes/content.md +2 -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/components/Insight/index.js +438 -0
- package/lib/commonjs/components/Insight/index.js.map +1 -0
- package/lib/commonjs/components/Insight/insetRadius.js +35 -0
- package/lib/commonjs/components/Insight/insetRadius.js.map +1 -0
- package/lib/commonjs/components/Insight/styles.js +186 -0
- package/lib/commonjs/components/Insight/styles.js.map +1 -0
- package/lib/commonjs/components/InsightStack/index.js +93 -0
- package/lib/commonjs/components/InsightStack/index.js.map +1 -0
- package/lib/commonjs/components/InsightStack/styles.js +61 -0
- package/lib/commonjs/components/InsightStack/styles.js.map +1 -0
- package/lib/commonjs/components/index.js +24 -0
- package/lib/commonjs/components/index.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/commonjs/figma/Insight.figma.js +73 -0
- package/lib/commonjs/figma/Insight.figma.js.map +1 -0
- package/lib/commonjs/figma/InsightStack.figma.js +39 -0
- package/lib/commonjs/figma/InsightStack.figma.js.map +1 -0
- 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/components/Insight/index.js +433 -0
- package/lib/module/components/Insight/index.js.map +1 -0
- package/lib/module/components/Insight/insetRadius.js +30 -0
- package/lib/module/components/Insight/insetRadius.js.map +1 -0
- package/lib/module/components/Insight/styles.js +183 -0
- package/lib/module/components/Insight/styles.js.map +1 -0
- package/lib/module/components/InsightStack/index.js +89 -0
- package/lib/module/components/InsightStack/index.js.map +1 -0
- package/lib/module/components/InsightStack/styles.js +58 -0
- package/lib/module/components/InsightStack/styles.js.map +1 -0
- package/lib/module/components/index.js +2 -0
- package/lib/module/components/index.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/module/figma/Insight.figma.js +67 -0
- package/lib/module/figma/Insight.figma.js.map +1 -0
- package/lib/module/figma/InsightStack.figma.js +33 -0
- package/lib/module/figma/InsightStack.figma.js.map +1 -0
- 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/components/Insight/index.d.ts +87 -0
- package/lib/typescript/components/Insight/index.d.ts.map +1 -0
- package/lib/typescript/components/Insight/insetRadius.d.ts +8 -0
- package/lib/typescript/components/Insight/insetRadius.d.ts.map +1 -0
- package/lib/typescript/components/Insight/styles.d.ts +33 -0
- package/lib/typescript/components/Insight/styles.d.ts.map +1 -0
- package/lib/typescript/components/InsightStack/index.d.ts +21 -0
- package/lib/typescript/components/InsightStack/index.d.ts.map +1 -0
- package/lib/typescript/components/InsightStack/styles.d.ts +11 -0
- package/lib/typescript/components/InsightStack/styles.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +2 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/figma/CurrencyInput.figma.d.ts.map +1 -1
- package/lib/typescript/figma/Insight.figma.d.ts +8 -0
- package/lib/typescript/figma/Insight.figma.d.ts.map +1 -0
- package/lib/typescript/figma/InsightStack.figma.d.ts +8 -0
- package/lib/typescript/figma/InsightStack.figma.d.ts.map +1 -0
- 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/src/components/Insight/index.tsx +531 -0
- package/src/components/Insight/insetRadius.ts +30 -0
- package/src/components/Insight/styles.ts +193 -0
- package/src/components/InsightStack/index.tsx +86 -0
- package/src/components/InsightStack/styles.ts +61 -0
- package/src/components/index.ts +2 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _figma = _interopRequireDefault(require("figma"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
// url=https://www.figma.com/design/0lEVMVlLj8ZS4fgItr3pmd/%E2%AD%90-Forge-DS--Components?node-id=13158-18419
|
|
10
|
+
// source=packages/components/src/components/Insight/index.tsx
|
|
11
|
+
// component=Insight
|
|
12
|
+
|
|
13
|
+
const instance = _figma.default.selectedInstance;
|
|
14
|
+
|
|
15
|
+
// Figma `severity` is `color` in code: Insight drives no ARIA semantics or status icon (DEVEX-6446).
|
|
16
|
+
const color = instance.getEnum('severity', {
|
|
17
|
+
info: undefined,
|
|
18
|
+
warning: 'warning',
|
|
19
|
+
danger: 'danger'
|
|
20
|
+
});
|
|
21
|
+
const colorProp = _figma.default.helpers.react.renderProp('color', color);
|
|
22
|
+
|
|
23
|
+
// Figma `size` switches slot structure, not size; code names it `layout`.
|
|
24
|
+
const layout = instance.getEnum('size', {
|
|
25
|
+
default: undefined,
|
|
26
|
+
expanded: 'detail'
|
|
27
|
+
});
|
|
28
|
+
const isDetail = layout === 'detail';
|
|
29
|
+
|
|
30
|
+
// Figma `intelligence` is `aiGenerated` in code. VARIANT with "true"/"false" strings.
|
|
31
|
+
const aiGenerated = instance.getEnum('intelligence', {
|
|
32
|
+
true: true,
|
|
33
|
+
false: undefined
|
|
34
|
+
});
|
|
35
|
+
const aiGeneratedProp = _figma.default.helpers.react.renderProp('aiGenerated', aiGenerated);
|
|
36
|
+
const showCloseButton = instance.getBoolean('showCloseButton');
|
|
37
|
+
const onCloseProp = showCloseButton ? _figma.default.helpers.react.renderProp('onClose', _figma.default.helpers.react.function('() => {}')) : '';
|
|
38
|
+
const showContent = isDetail && instance.getBoolean('showContent');
|
|
39
|
+
const showActions = isDetail && instance.getBoolean('showActions');
|
|
40
|
+
|
|
41
|
+
// Text layers are read by position inside the named slot frames, not by layer name.
|
|
42
|
+
const textsIn = slot => instance.findLayers(node => node.type === 'TEXT', {
|
|
43
|
+
path: [slot],
|
|
44
|
+
traverseInstances: true
|
|
45
|
+
}).flatMap(node => node.type === 'TEXT' ? [node.textContent] : []);
|
|
46
|
+
const tagText = isDetail ? textsIn('Insight.Indicator')[0] ?? 'Category' : '';
|
|
47
|
+
const headerTexts = isDetail ? textsIn('Insight.Header') : [];
|
|
48
|
+
const title = headerTexts[0] ?? 'Title';
|
|
49
|
+
const detailDescription = headerTexts[1] ?? 'Description';
|
|
50
|
+
const summaryDescription = isDetail ? '' : textsIn('Insight.Summary')[0] ?? 'Description';
|
|
51
|
+
const actionSnippets = showActions ? instance.findConnectedInstances(node => node.codeConnectId() === 'button', {
|
|
52
|
+
path: ['Insight.Footer']
|
|
53
|
+
}).flatMap(button => button.type === 'INSTANCE' ? button.executeTemplate().example : []) : [];
|
|
54
|
+
var _default = exports.default = {
|
|
55
|
+
id: 'insight',
|
|
56
|
+
imports: ["import { Insight } from '@cdx-ui/components'"],
|
|
57
|
+
example: isDetail ? _figma.default.code`
|
|
58
|
+
<Insight layout="detail"${colorProp}${aiGeneratedProp}${onCloseProp}>
|
|
59
|
+
<Insight.Tag>${tagText}</Insight.Tag>
|
|
60
|
+
<Insight.Header>
|
|
61
|
+
<Insight.Title>${title}</Insight.Title>
|
|
62
|
+
<Insight.Description>${detailDescription}</Insight.Description>
|
|
63
|
+
</Insight.Header>
|
|
64
|
+
${showContent ? _figma.default.code`<Insight.Content>{/* content */}</Insight.Content>` : null}
|
|
65
|
+
${showActions ? _figma.default.code`<Insight.Footer>
|
|
66
|
+
${actionSnippets}
|
|
67
|
+
</Insight.Footer>` : null}
|
|
68
|
+
</Insight>` : _figma.default.code`
|
|
69
|
+
<Insight${colorProp}${aiGeneratedProp}${onCloseProp}>
|
|
70
|
+
<Insight.Description>${summaryDescription}</Insight.Description>
|
|
71
|
+
</Insight>`
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=Insight.figma.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_figma","_interopRequireDefault","require","e","__esModule","default","instance","figma","selectedInstance","color","getEnum","info","undefined","warning","danger","colorProp","helpers","react","renderProp","layout","expanded","isDetail","aiGenerated","true","false","aiGeneratedProp","showCloseButton","getBoolean","onCloseProp","function","showContent","showActions","textsIn","slot","findLayers","node","type","path","traverseInstances","flatMap","textContent","tagText","headerTexts","title","detailDescription","summaryDescription","actionSnippets","findConnectedInstances","codeConnectId","button","executeTemplate","example","_default","exports","id","imports","code"],"sourceRoot":"../../../src","sources":["figma/Insight.figma.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _figma = _interopRequireDefault(require("figma"));
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
// url=https://www.figma.com/design/0lEVMVlLj8ZS4fgItr3pmd/%E2%AD%90-Forge-DS--Components?node-id=13652-32306
|
|
10
|
+
// source=packages/components/src/components/InsightStack/index.tsx
|
|
11
|
+
// component=InsightStack
|
|
12
|
+
|
|
13
|
+
const instance = _figma.default.selectedInstance;
|
|
14
|
+
|
|
15
|
+
// Figma's `3+` bucket becomes the smallest count that draws both layers; code takes a number.
|
|
16
|
+
const count = instance.getEnum('count', {
|
|
17
|
+
'1': 1,
|
|
18
|
+
'2': 2,
|
|
19
|
+
'3+': 3
|
|
20
|
+
});
|
|
21
|
+
const countProp = _figma.default.helpers.react.renderProp('count', count);
|
|
22
|
+
|
|
23
|
+
// Found by Code Connect id, so the front card's layer name does not matter.
|
|
24
|
+
const frontInsight = instance.findConnectedInstance('insight', {
|
|
25
|
+
traverseInstances: true
|
|
26
|
+
});
|
|
27
|
+
const frontSnippet = frontInsight?.type === 'INSTANCE' ? frontInsight.executeTemplate().example : _figma.default.code`<Insight layout="summary">
|
|
28
|
+
<Insight.Description>Description</Insight.Description>
|
|
29
|
+
</Insight>`;
|
|
30
|
+
var _default = exports.default = {
|
|
31
|
+
id: 'insight-stack',
|
|
32
|
+
// Separate strings so the nested Insight template's identical import is deduped.
|
|
33
|
+
imports: ["import { InsightStack } from '@cdx-ui/components'", "import { Insight } from '@cdx-ui/components'"],
|
|
34
|
+
example: _figma.default.code`
|
|
35
|
+
<InsightStack${countProp}>
|
|
36
|
+
${frontSnippet}
|
|
37
|
+
</InsightStack>`
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=InsightStack.figma.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_figma","_interopRequireDefault","require","e","__esModule","default","instance","figma","selectedInstance","count","getEnum","countProp","helpers","react","renderProp","frontInsight","findConnectedInstance","traverseInstances","frontSnippet","type","executeTemplate","example","code","_default","exports","id","imports"],"sourceRoot":"../../../src","sources":["figma/InsightStack.figma.ts"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA0B,SAAAD,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAH1B;AACA;AACA;;AAGA,MAAMG,QAAQ,GAAGC,cAAK,CAACC,gBAAgB;;AAEvC;AACA,MAAMC,KAAK,GAAGH,QAAQ,CAACI,OAAO,CAAC,OAAO,EAAE;EACtC,GAAG,EAAE,CAAC;EACN,GAAG,EAAE,CAAC;EACN,IAAI,EAAE;AACR,CAAC,CAAC;AACF,MAAMC,SAAS,GAAGJ,cAAK,CAACK,OAAO,CAACC,KAAK,CAACC,UAAU,CAAC,OAAO,EAAEL,KAAK,CAAC;;AAEhE;AACA,MAAMM,YAAY,GAAGT,QAAQ,CAACU,qBAAqB,CAAC,SAAS,EAAE;EAAEC,iBAAiB,EAAE;AAAK,CAAC,CAAC;AAC3F,MAAMC,YAAY,GAChBH,YAAY,EAAEI,IAAI,KAAK,UAAU,GAC7BJ,YAAY,CAACK,eAAe,CAAC,CAAC,CAACC,OAAO,GACtCd,cAAK,CAACe,IAAI;AAChB;AACA,aAAa;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAnB,OAAA,GAEC;EACboB,EAAE,EAAE,eAAe;EACnB;EACAC,OAAO,EAAE,CACP,mDAAmD,EACnD,8CAA8C,CAC/C;EACDL,OAAO,EAAEd,cAAK,CAACe,IAAI;AACrB,eAAeX,SAAS;AACxB,IAAIO,YAAY;AAChB;AACA,CAAC","ignoreList":[]}
|
|
@@ -9,9 +9,40 @@ import { useEscapeKey, useOverlayStackRegistration } from '@cdx-ui/primitives';
|
|
|
9
9
|
import { cn, ParentContext, useParentContext, useStyleContext } from '@cdx-ui/utils';
|
|
10
10
|
import { SheetHeader } from '../sheet-header';
|
|
11
11
|
import { bottomSheetBackgroundClassName, bottomSheetContentVariants, bottomSheetFooterVariants, bottomSheetModalContainerClassName } from './styles';
|
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
const SCOPE = 'BOTTOM_SHEET';
|
|
14
|
-
const
|
|
14
|
+
const useBottomSheetScopeContext = () => useStyleContext(SCOPE);
|
|
15
|
+
const useBottomSheetStyleContext = () => useBottomSheetScopeContext() ?? {};
|
|
16
|
+
const IS_WEB = Platform.OS === 'web';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Resolves how a content wrapper reserves room for the footer.
|
|
20
|
+
*
|
|
21
|
+
* gorhom's footer margin adjustment is unsound on web: its reaction first runs with the
|
|
22
|
+
* unmeasured footer sentinel (-999) and adds it to `contentHeight`, then never adds the real
|
|
23
|
+
* footer height. Depending on whether content measures first, a dynamically sized sheet either
|
|
24
|
+
* parks below its container or opens with the footer covering its content. It cannot be fixed
|
|
25
|
+
* with padding because react-native-web only re-reports layout when the content box resizes.
|
|
26
|
+
*
|
|
27
|
+
* So on web, when the sheet's `footer` prop is measured here, a spacer child of the footer's
|
|
28
|
+
* height replaces gorhom's adjustment; its layout lands in the content measurement in any
|
|
29
|
+
* order. With no footer there is nothing to adjust. Otherwise (native, a raw gorhom
|
|
30
|
+
* `footerComponent`, or outside a `BottomSheet.Modal`) gorhom's adjustment is kept.
|
|
31
|
+
*/
|
|
32
|
+
function useFooterMargin(enableFooterMarginAdjustment) {
|
|
33
|
+
const scope = useBottomSheetScopeContext();
|
|
34
|
+
const enabled = enableFooterMarginAdjustment ?? scope?.hasFooter ?? true;
|
|
35
|
+
const spacerHeight = enabled && IS_WEB ? scope?.footerHeight : undefined;
|
|
36
|
+
return {
|
|
37
|
+
enableFooterMarginAdjustment: enabled && spacerHeight === undefined,
|
|
38
|
+
spacer: spacerHeight ? /*#__PURE__*/_jsx(View, {
|
|
39
|
+
style: {
|
|
40
|
+
height: spacerHeight
|
|
41
|
+
},
|
|
42
|
+
pointerEvents: "none"
|
|
43
|
+
}) : null
|
|
44
|
+
};
|
|
45
|
+
}
|
|
15
46
|
const ZERO_INSETS = {
|
|
16
47
|
top: 0,
|
|
17
48
|
bottom: 0,
|
|
@@ -130,16 +161,29 @@ const BottomSheetModalStyled = /*#__PURE__*/forwardRef(({
|
|
|
130
161
|
...rest
|
|
131
162
|
}, ref) => {
|
|
132
163
|
const parent = useParentContext();
|
|
164
|
+
const hasFooter = footer != null || rest.footerComponent != null;
|
|
165
|
+
const measuresFooter = IS_WEB && footer != null;
|
|
166
|
+
const [measuredFooterHeight, setMeasuredFooterHeight] = useState(0);
|
|
167
|
+
const footerHeight = measuresFooter ? measuredFooterHeight : undefined;
|
|
133
168
|
const ctx = useMemo(() => ({
|
|
134
169
|
...parent,
|
|
135
170
|
[SCOPE]: {
|
|
136
|
-
fullBleed
|
|
171
|
+
fullBleed,
|
|
172
|
+
hasFooter,
|
|
173
|
+
footerHeight
|
|
137
174
|
}
|
|
138
|
-
}), [parent, fullBleed]);
|
|
175
|
+
}), [parent, fullBleed, hasFooter, footerHeight]);
|
|
176
|
+
const handleFooterLayout = useCallback(event => {
|
|
177
|
+
setMeasuredFooterHeight(event.nativeEvent.layout.height);
|
|
178
|
+
}, []);
|
|
139
179
|
const renderFooter = useCallback(props => /*#__PURE__*/_jsx(GorhomBottomSheetFooter, {
|
|
140
180
|
...props,
|
|
141
|
-
children:
|
|
142
|
-
|
|
181
|
+
children: measuresFooter ? /*#__PURE__*/_jsx(View, {
|
|
182
|
+
onLayout: handleFooterLayout,
|
|
183
|
+
pointerEvents: "box-none",
|
|
184
|
+
children: footer
|
|
185
|
+
}) : footer
|
|
186
|
+
}), [footer, handleFooterLayout, measuresFooter]);
|
|
143
187
|
const modalRef = useRef(null);
|
|
144
188
|
const dismissedRef = useRef(false);
|
|
145
189
|
const sheetMountedRef = useRef(false);
|
|
@@ -267,35 +311,37 @@ const BottomSheetModalStyled = /*#__PURE__*/forwardRef(({
|
|
|
267
311
|
BottomSheetModalStyled.displayName = 'BottomSheet.Modal';
|
|
268
312
|
|
|
269
313
|
// =============================================================================
|
|
270
|
-
// SCROLLVIEW WRAPPER (
|
|
314
|
+
// SCROLLVIEW WRAPPER (reserves room for the sheet's footer by default)
|
|
271
315
|
// =============================================================================
|
|
272
316
|
|
|
273
317
|
function BottomSheetScrollViewStyled({
|
|
274
|
-
enableFooterMarginAdjustment
|
|
318
|
+
enableFooterMarginAdjustment,
|
|
275
319
|
children,
|
|
276
320
|
...rest
|
|
277
321
|
}) {
|
|
278
|
-
|
|
279
|
-
|
|
322
|
+
const footerMargin = useFooterMargin(enableFooterMarginAdjustment);
|
|
323
|
+
return /*#__PURE__*/_jsxs(BottomSheetScrollView, {
|
|
324
|
+
enableFooterMarginAdjustment: footerMargin.enableFooterMarginAdjustment,
|
|
280
325
|
...rest,
|
|
281
|
-
children: children
|
|
326
|
+
children: [children, footerMargin.spacer]
|
|
282
327
|
});
|
|
283
328
|
}
|
|
284
329
|
BottomSheetScrollViewStyled.displayName = 'BottomSheet.ScrollView';
|
|
285
330
|
|
|
286
331
|
// =============================================================================
|
|
287
|
-
// VIEW WRAPPER (
|
|
332
|
+
// VIEW WRAPPER (reserves room for the sheet's footer by default)
|
|
288
333
|
// =============================================================================
|
|
289
334
|
|
|
290
335
|
function BottomSheetViewStyled({
|
|
291
|
-
enableFooterMarginAdjustment
|
|
336
|
+
enableFooterMarginAdjustment,
|
|
292
337
|
children,
|
|
293
338
|
...rest
|
|
294
339
|
}) {
|
|
295
|
-
|
|
296
|
-
|
|
340
|
+
const footerMargin = useFooterMargin(enableFooterMarginAdjustment);
|
|
341
|
+
return /*#__PURE__*/_jsxs(BottomSheetView, {
|
|
342
|
+
enableFooterMarginAdjustment: footerMargin.enableFooterMarginAdjustment,
|
|
297
343
|
...rest,
|
|
298
|
-
children: children
|
|
344
|
+
children: [children, footerMargin.spacer]
|
|
299
345
|
});
|
|
300
346
|
}
|
|
301
347
|
BottomSheetViewStyled.displayName = 'BottomSheet.View';
|
|
@@ -353,8 +399,9 @@ export function useBottomSheet() {
|
|
|
353
399
|
* ```
|
|
354
400
|
*/
|
|
355
401
|
export function useBottomSheetScrollable() {
|
|
402
|
+
const enableFooterMarginAdjustment = useBottomSheetScopeContext()?.hasFooter ?? true;
|
|
356
403
|
return useBottomSheetScrollableCreator({
|
|
357
|
-
enableFooterMarginAdjustment
|
|
404
|
+
enableFooterMarginAdjustment
|
|
358
405
|
});
|
|
359
406
|
}
|
|
360
407
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useCallback","useContext","useEffect","useId","useImperativeHandle","useMemo","useRef","useState","BackHandler","Dimensions","Platform","View","SafeAreaInsetsContext","useResolveClassNames","BottomSheetModal","BottomSheetModalProvider","BottomSheetScrollView","BottomSheetView","BottomSheetBackdrop","BottomSheetFooter","GorhomBottomSheetFooter","useBottomSheetScrollableCreator","useEscapeKey","useOverlayStackRegistration","cn","ParentContext","useParentContext","useStyleContext","SheetHeader","bottomSheetBackgroundClassName","bottomSheetContentVariants","bottomSheetFooterVariants","bottomSheetModalContainerClassName","jsx","_jsx","SCOPE","useBottomSheetStyleContext","ZERO_INSETS","top","bottom","left","right","useSafeInsets","BottomSheetHeader","title","subtitle","children","className","onClose","closeAccessibilityLabel","onBack","backAccessibilityLabel","ref","displayName","BottomSheetContent","hasSafeAreaInset","fullBleed","style","insets","fullBleedFromContext","computedClassName","paddingBottom","pointerEvents","Math","max","MAX_DYNAMIC_CONTENT_SIZE","get","height","CustomBackdrop","props","disappearsOnIndex","appearsOnIndex","opacity","pressBehavior","CustomBackground","BottomSheetModalStyled","handleVisible","footer","onDismiss","onChange","onAnimate","rest","parent","ctx","renderFooter","modalRef","dismissedRef","sheetMountedRef","mountPendingRef","pendingDismissRef","presented","setPresented","setModalRef","instance","current","dismissSheet","args","dismiss","markSheetMounted","pendingDismiss","present","snapToIndex","snapToPosition","expand","collapse","close","forceClose","handleDismiss","handleChange","handleAnimate","id","overlayId","groupId","layer","isTopmost","active","OS","capabilities","backHandler","addEventListener","remove","sheetContainerStyle","handleIndicatorStyle","enableDynamicSizing","maxDynamicContentSize","handleComponent","undefined","backdropComponent","backgroundComponent","footerComponent","Provider","value","BottomSheetScrollViewStyled","enableFooterMarginAdjustment","BottomSheetViewStyled","BottomSheet","Modal","Header","Content","Footer","ScrollView","useBottomSheet","useBottomSheetScrollable"],"sourceRoot":"../../../../src","sources":["components/BottomSheet/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useContext","useEffect","useId","useImperativeHandle","useMemo","useRef","useState","BackHandler","Dimensions","Platform","View","SafeAreaInsetsContext","useResolveClassNames","BottomSheetModal","BottomSheetModalProvider","BottomSheetScrollView","BottomSheetView","BottomSheetBackdrop","BottomSheetFooter","GorhomBottomSheetFooter","useBottomSheetScrollableCreator","useEscapeKey","useOverlayStackRegistration","cn","ParentContext","useParentContext","useStyleContext","SheetHeader","bottomSheetBackgroundClassName","bottomSheetContentVariants","bottomSheetFooterVariants","bottomSheetModalContainerClassName","jsx","_jsx","jsxs","_jsxs","SCOPE","useBottomSheetScopeContext","useBottomSheetStyleContext","IS_WEB","OS","useFooterMargin","enableFooterMarginAdjustment","scope","enabled","hasFooter","spacerHeight","footerHeight","undefined","spacer","style","height","pointerEvents","ZERO_INSETS","top","bottom","left","right","useSafeInsets","BottomSheetHeader","title","subtitle","children","className","onClose","closeAccessibilityLabel","onBack","backAccessibilityLabel","ref","displayName","BottomSheetContent","hasSafeAreaInset","fullBleed","insets","fullBleedFromContext","computedClassName","paddingBottom","Math","max","MAX_DYNAMIC_CONTENT_SIZE","get","CustomBackdrop","props","disappearsOnIndex","appearsOnIndex","opacity","pressBehavior","CustomBackground","BottomSheetModalStyled","handleVisible","footer","onDismiss","onChange","onAnimate","rest","parent","footerComponent","measuresFooter","measuredFooterHeight","setMeasuredFooterHeight","ctx","handleFooterLayout","event","nativeEvent","layout","renderFooter","onLayout","modalRef","dismissedRef","sheetMountedRef","mountPendingRef","pendingDismissRef","presented","setPresented","setModalRef","instance","current","dismissSheet","args","dismiss","markSheetMounted","pendingDismiss","present","snapToIndex","snapToPosition","expand","collapse","close","forceClose","handleDismiss","handleChange","handleAnimate","id","overlayId","groupId","layer","isTopmost","active","capabilities","backHandler","addEventListener","remove","sheetContainerStyle","handleIndicatorStyle","enableDynamicSizing","maxDynamicContentSize","handleComponent","backdropComponent","backgroundComponent","Provider","value","BottomSheetScrollViewStyled","footerMargin","BottomSheetViewStyled","BottomSheet","Modal","Header","Content","Footer","ScrollView","useBottomSheet","useBottomSheetScrollable"],"sourceRoot":"../../../../src","sources":["components/BottomSheet/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { forwardRef, useState } from 'react';
|
|
4
|
+
import { Text } from 'react-native';
|
|
4
5
|
import { InputField as InputFieldPrimitive, InputRoot as InputRootPrimitive, dataAttributes } from '@cdx-ui/primitives';
|
|
5
6
|
import { cn } from '@cdx-ui/utils';
|
|
6
|
-
import { currencyInputFieldVariants, currencyInputRootVariants } from './styles';
|
|
7
|
+
import { currencyInputFieldVariants, currencyInputPrefixVariants, currencyInputRootVariants } from './styles';
|
|
7
8
|
|
|
8
9
|
// Hoisted at module scope — Intl instantiation is expensive (parses locale data).
|
|
9
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
11
|
const currencyFormatter = new Intl.NumberFormat('en-US', {
|
|
11
12
|
minimumFractionDigits: 2,
|
|
12
13
|
maximumFractionDigits: 2
|
|
@@ -26,6 +27,7 @@ export const CurrencyInput = /*#__PURE__*/forwardRef(({
|
|
|
26
27
|
value,
|
|
27
28
|
onChangeValue,
|
|
28
29
|
currencySymbol = '$',
|
|
30
|
+
variant = 'ghost',
|
|
29
31
|
size = 'default',
|
|
30
32
|
isDisabled,
|
|
31
33
|
isInvalid,
|
|
@@ -53,16 +55,24 @@ export const CurrencyInput = /*#__PURE__*/forwardRef(({
|
|
|
53
55
|
// Controlled caret, pinned to the end of the formatted string. `undefined` in
|
|
54
56
|
// display mode so we never fight the platform when the field is not being edited.
|
|
55
57
|
const [selection, setSelection] = useState();
|
|
58
|
+
const isOutline = variant === 'outline';
|
|
59
|
+
|
|
60
|
+
// `outline` renders the symbol as a separate prefix, so the TextInput holds only the
|
|
61
|
+
// amount. Every caret index is measured against this field text, never the full display.
|
|
62
|
+
const fieldTextFor = cents => {
|
|
63
|
+
const amount = centsToAmountDisplay(cents);
|
|
64
|
+
return isOutline ? amount : `${currencySymbol}${amount}`;
|
|
65
|
+
};
|
|
56
66
|
const displayCents = editingCents !== null ? editingCents : valueToCents(value);
|
|
57
|
-
const
|
|
58
|
-
const
|
|
67
|
+
const fullDisplay = `${currencySymbol}${centsToAmountDisplay(displayCents)}`;
|
|
68
|
+
const fieldText = fieldTextFor(displayCents);
|
|
59
69
|
const isEmpty = displayCents === 0;
|
|
60
70
|
|
|
61
|
-
// Index just past the last character of the
|
|
62
|
-
// Computed from `cents` (not the render-closure `
|
|
71
|
+
// Index just past the last character of the field text for a given cents.
|
|
72
|
+
// Computed from `cents` (not the render-closure `fieldText`) so the caret is
|
|
63
73
|
// correct in the same commit as a value change, even when a reformat adds or
|
|
64
74
|
// removes a grouping comma (e.g. 444.44 → 3,444.44) and changes the length.
|
|
65
|
-
const caretIndexFor = cents =>
|
|
75
|
+
const caretIndexFor = cents => fieldTextFor(cents).length;
|
|
66
76
|
const pinCaret = end => setSelection({
|
|
67
77
|
start: end,
|
|
68
78
|
end
|
|
@@ -107,7 +117,7 @@ export const CurrencyInput = /*#__PURE__*/forwardRef(({
|
|
|
107
117
|
if (editingCents === null) {
|
|
108
118
|
return;
|
|
109
119
|
}
|
|
110
|
-
const end =
|
|
120
|
+
const end = fieldText.length;
|
|
111
121
|
const {
|
|
112
122
|
selection: current
|
|
113
123
|
} = e.nativeEvent;
|
|
@@ -115,7 +125,7 @@ export const CurrencyInput = /*#__PURE__*/forwardRef(({
|
|
|
115
125
|
pinCaret(end);
|
|
116
126
|
}
|
|
117
127
|
};
|
|
118
|
-
return /*#__PURE__*/
|
|
128
|
+
return /*#__PURE__*/_jsxs(InputRootPrimitive, {
|
|
119
129
|
isDisabled: isDisabled,
|
|
120
130
|
isInvalid: isInvalid,
|
|
121
131
|
isReadOnly: isReadOnly,
|
|
@@ -124,15 +134,29 @@ export const CurrencyInput = /*#__PURE__*/forwardRef(({
|
|
|
124
134
|
isHovered: isHovered,
|
|
125
135
|
isFullWidth: isFullWidth,
|
|
126
136
|
className: cn(currencyInputRootVariants({
|
|
137
|
+
variant,
|
|
127
138
|
size
|
|
128
139
|
}), className),
|
|
129
140
|
style: style,
|
|
130
141
|
...dataAttributes({
|
|
131
142
|
slot: 'currency-input'
|
|
132
143
|
}),
|
|
133
|
-
children:
|
|
144
|
+
children: [isOutline ?
|
|
145
|
+
/*#__PURE__*/
|
|
146
|
+
// Hidden from assistive tech: `accessibilityValue` already announces the symbol.
|
|
147
|
+
_jsx(Text, {
|
|
148
|
+
className: currencyInputPrefixVariants({
|
|
149
|
+
size
|
|
150
|
+
}),
|
|
151
|
+
"aria-hidden": true,
|
|
152
|
+
importantForAccessibility: "no-hide-descendants",
|
|
153
|
+
...dataAttributes({
|
|
154
|
+
slot: 'currency-input-prefix'
|
|
155
|
+
}),
|
|
156
|
+
children: currencySymbol
|
|
157
|
+
}) : null, /*#__PURE__*/_jsx(InputFieldPrimitive, {
|
|
134
158
|
ref: ref,
|
|
135
|
-
value:
|
|
159
|
+
value: fieldText,
|
|
136
160
|
selection: selection,
|
|
137
161
|
onChangeText: handleChangeText,
|
|
138
162
|
onSelectionChange: handleSelectionChange,
|
|
@@ -147,9 +171,10 @@ export const CurrencyInput = /*#__PURE__*/forwardRef(({
|
|
|
147
171
|
onFocus: handleFocus,
|
|
148
172
|
onBlur: handleBlur,
|
|
149
173
|
className: cn(currencyInputFieldVariants({
|
|
174
|
+
variant,
|
|
150
175
|
size
|
|
151
176
|
}), isEmpty ? 'text-content-tertiary' : 'text-content-primary')
|
|
152
|
-
})
|
|
177
|
+
})]
|
|
153
178
|
});
|
|
154
179
|
});
|
|
155
180
|
CurrencyInput.displayName = 'CurrencyInput';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useState","InputField","InputFieldPrimitive","InputRoot","InputRootPrimitive","dataAttributes","cn","currencyInputFieldVariants","currencyInputRootVariants","jsx","_jsx","currencyFormatter","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","MAX_DIGITS","centsToAmountDisplay","cents","format","valueToCents","value","Math","round","CurrencyInput","onChangeValue","currencySymbol","size","isDisabled","isInvalid","isReadOnly","isRequired","isFocused","isHovered","isFullWidth","className","style","accessibilityLabel","accessibilityHint","testID","onFocus","onBlur","returnKeyType","ref","editingCents","setEditingCents","selection","setSelection","
|
|
1
|
+
{"version":3,"names":["forwardRef","useState","Text","InputField","InputFieldPrimitive","InputRoot","InputRootPrimitive","dataAttributes","cn","currencyInputFieldVariants","currencyInputPrefixVariants","currencyInputRootVariants","jsx","_jsx","jsxs","_jsxs","currencyFormatter","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","MAX_DIGITS","centsToAmountDisplay","cents","format","valueToCents","value","Math","round","CurrencyInput","onChangeValue","currencySymbol","variant","size","isDisabled","isInvalid","isReadOnly","isRequired","isFocused","isHovered","isFullWidth","className","style","accessibilityLabel","accessibilityHint","testID","onFocus","onBlur","returnKeyType","ref","editingCents","setEditingCents","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","slot","children","importantForAccessibility","onChangeText","onSelectionChange","keyboardType","accessibilityValue","displayName"],"sourceRoot":"../../../../src","sources":["components/CurrencyInput/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { cva } from '@cdx-ui/utils';
|
|
3
|
+
import { cn, cva } from '@cdx-ui/utils';
|
|
4
4
|
import { DISABLED_CURSOR } from '../../styles/constants';
|
|
5
|
-
|
|
5
|
+
import { inputFieldVariants, inputRootVariants } from '../Input/styles';
|
|
6
|
+
const currencyInputGhostRootVariants = cva(['w-full items-center justify-center', 'data-[disabled=true]:opacity-[var(--opacity-disabled)]', DISABLED_CURSOR, 'data-[readonly=true]:cursor-default'], {
|
|
6
7
|
variants: {
|
|
7
8
|
size: {
|
|
8
9
|
default: 'py-1',
|
|
@@ -13,7 +14,7 @@ export const currencyInputRootVariants = cva(['w-full items-center justify-cente
|
|
|
13
14
|
size: 'default'
|
|
14
15
|
}
|
|
15
16
|
});
|
|
16
|
-
|
|
17
|
+
const currencyInputGhostFieldVariants = cva(['w-full bg-transparent p-0 text-center', 'placeholder:text-content-tertiary', 'web:outline-none', 'data-[invalid=true]:text-content-danger'], {
|
|
17
18
|
variants: {
|
|
18
19
|
size: {
|
|
19
20
|
default: 'heading-xl',
|
|
@@ -24,4 +25,38 @@ export const currencyInputFieldVariants = cva(['w-full bg-transparent p-0 text-c
|
|
|
24
25
|
size: 'default'
|
|
25
26
|
}
|
|
26
27
|
});
|
|
28
|
+
|
|
29
|
+
// `outline` delegates to the Input shell so border, focus, invalid, disabled, and read-only
|
|
30
|
+
// treatments (including the native `data-[field-state=...]` focus selectors) stay in one place.
|
|
31
|
+
// Figma `outlined` spaces the symbol 8px from the amount, tighter than Input's 16px slot gap.
|
|
32
|
+
export const currencyInputRootVariants = ({
|
|
33
|
+
variant = 'ghost',
|
|
34
|
+
size = 'default'
|
|
35
|
+
} = {}) => variant === 'outline' ? cn(inputRootVariants({
|
|
36
|
+
variant: 'outline',
|
|
37
|
+
size
|
|
38
|
+
}), size === 'default' && 'gap-2') : currencyInputGhostRootVariants({
|
|
39
|
+
size
|
|
40
|
+
});
|
|
41
|
+
export const currencyInputFieldVariants = ({
|
|
42
|
+
variant = 'ghost',
|
|
43
|
+
size = 'default'
|
|
44
|
+
} = {}) => variant === 'outline' ? inputFieldVariants({
|
|
45
|
+
size
|
|
46
|
+
}) : currencyInputGhostFieldVariants({
|
|
47
|
+
size
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
// Figma keeps the symbol at body-md on every viewport; only the amount grows to 16px on web <600px.
|
|
51
|
+
export const currencyInputPrefixVariants = cva(['shrink-0 font-medium text-content-secondary tracking-normal'], {
|
|
52
|
+
variants: {
|
|
53
|
+
size: {
|
|
54
|
+
default: 'text-[0.875rem]',
|
|
55
|
+
small: 'text-[0.75rem]'
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
defaultVariants: {
|
|
59
|
+
size: 'default'
|
|
60
|
+
}
|
|
61
|
+
});
|
|
27
62
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cva","DISABLED_CURSOR","
|
|
1
|
+
{"version":3,"names":["cn","cva","DISABLED_CURSOR","inputFieldVariants","inputRootVariants","currencyInputGhostRootVariants","variants","size","default","small","defaultVariants","currencyInputGhostFieldVariants","currencyInputRootVariants","variant","currencyInputFieldVariants","currencyInputPrefixVariants"],"sourceRoot":"../../../../src","sources":["components/CurrencyInput/styles.ts"],"mappings":";;AAAA,SAASA,EAAE,EAAEC,GAAG,QAAQ,eAAe;AACvC,SAASC,eAAe,QAAQ,wBAAwB;AACxD,SAASC,kBAAkB,EAAEC,iBAAiB,QAAQ,iBAAiB;AAiBvE,MAAMC,8BAA8B,GAAGJ,GAAG,CACxC,CACE,oCAAoC,EACpC,wDAAwD,EACxDC,eAAe,EACf,qCAAqC,CACtC,EACD;EACEI,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,GAAGV,GAAG,CACzC,CACE,uCAAuC,EACvC,mCAAmC,EACnC,kBAAkB,EAClB,yCAAyC,CAC1C,EACD;EACEK,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;AACA,OAAO,MAAMK,yBAAyB,GAAGA,CAAC;EACxCC,OAAO,GAAG,OAAO;EACjBN,IAAI,GAAG;AACkB,CAAC,GAAG,CAAC,CAAC,KAC/BM,OAAO,KAAK,SAAS,GACjBb,EAAE,CAACI,iBAAiB,CAAC;EAAES,OAAO,EAAE,SAAS;EAAEN;AAAK,CAAC,CAAC,EAAEA,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,GAClFF,8BAA8B,CAAC;EAAEE;AAAK,CAAC,CAAC;AAE9C,OAAO,MAAMO,0BAA0B,GAAGA,CAAC;EACzCD,OAAO,GAAG,OAAO;EACjBN,IAAI,GAAG;AACkB,CAAC,GAAG,CAAC,CAAC,KAC/BM,OAAO,KAAK,SAAS,GAAGV,kBAAkB,CAAC;EAAEI;AAAK,CAAC,CAAC,GAAGI,+BAA+B,CAAC;EAAEJ;AAAK,CAAC,CAAC;;AAElG;AACA,OAAO,MAAMQ,2BAA2B,GAAGd,GAAG,CAC5C,CAAC,6DAA6D,CAAC,EAC/D;EACEK,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":[]}
|