@bacon-pos/ui 0.1.0 → 0.2.1
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 +4 -3
- package/lib/commonjs/components/CodeField/CodeField.js +127 -0
- package/lib/commonjs/components/CodeField/CodeField.js.map +1 -0
- package/lib/commonjs/components/CodeField/CodeField.stories.js +76 -0
- package/lib/commonjs/components/CodeField/CodeField.stories.js.map +1 -0
- package/lib/commonjs/components/CodeField/CodeField.test.js +79 -0
- package/lib/commonjs/components/CodeField/CodeField.test.js.map +1 -0
- package/lib/commonjs/components/CodeField/index.js +13 -0
- package/lib/commonjs/components/CodeField/index.js.map +1 -0
- package/lib/commonjs/components/Spinner/Spinner.js +114 -0
- package/lib/commonjs/components/Spinner/Spinner.js.map +1 -0
- package/lib/commonjs/components/Spinner/Spinner.stories.js +72 -0
- package/lib/commonjs/components/Spinner/Spinner.stories.js.map +1 -0
- package/lib/commonjs/components/Spinner/Spinner.test.js +34 -0
- package/lib/commonjs/components/Spinner/Spinner.test.js.map +1 -0
- package/lib/commonjs/components/Spinner/index.js +13 -0
- package/lib/commonjs/components/Spinner/index.js.map +1 -0
- package/lib/commonjs/components/index.js +33 -11
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/module/components/CodeField/CodeField.js +125 -0
- package/lib/module/components/CodeField/CodeField.js.map +1 -0
- package/lib/module/components/CodeField/CodeField.stories.js +72 -0
- package/lib/module/components/CodeField/CodeField.stories.js.map +1 -0
- package/lib/module/components/CodeField/CodeField.test.js +78 -0
- package/lib/module/components/CodeField/CodeField.test.js.map +1 -0
- package/lib/module/components/CodeField/index.js +4 -0
- package/lib/module/components/CodeField/index.js.map +1 -0
- package/lib/module/components/Spinner/Spinner.js +109 -0
- package/lib/module/components/Spinner/Spinner.js.map +1 -0
- package/lib/module/components/Spinner/Spinner.stories.js +68 -0
- package/lib/module/components/Spinner/Spinner.stories.js.map +1 -0
- package/lib/module/components/Spinner/Spinner.test.js +33 -0
- package/lib/module/components/Spinner/Spinner.test.js.map +1 -0
- package/lib/module/components/Spinner/index.js +4 -0
- package/lib/module/components/Spinner/index.js.map +1 -0
- package/lib/module/components/index.js +2 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/typescript/commonjs/components/CodeField/CodeField.d.ts +40 -0
- package/lib/typescript/commonjs/components/CodeField/CodeField.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/CodeField/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/CodeField/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Spinner/Spinner.d.ts +31 -0
- package/lib/typescript/commonjs/components/Spinner/Spinner.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/Spinner/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/Spinner/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/index.d.ts +2 -0
- package/lib/typescript/commonjs/components/index.d.ts.map +1 -1
- package/lib/typescript/module/components/CodeField/CodeField.d.ts +40 -0
- package/lib/typescript/module/components/CodeField/CodeField.d.ts.map +1 -0
- package/lib/typescript/module/components/CodeField/index.d.ts +2 -0
- package/lib/typescript/module/components/CodeField/index.d.ts.map +1 -0
- package/lib/typescript/module/components/Spinner/Spinner.d.ts +31 -0
- package/lib/typescript/module/components/Spinner/Spinner.d.ts.map +1 -0
- package/lib/typescript/module/components/Spinner/index.d.ts +2 -0
- package/lib/typescript/module/components/Spinner/index.d.ts.map +1 -0
- package/lib/typescript/module/components/index.d.ts +2 -0
- package/lib/typescript/module/components/index.d.ts.map +1 -1
- package/package.json +14 -16
- package/src/components/CodeField/CodeField.tsx +160 -0
- package/src/components/CodeField/index.ts +1 -0
- package/src/components/Spinner/Spinner.tsx +128 -0
- package/src/components/Spinner/index.ts +1 -0
- package/src/components/index.ts +2 -0
package/README.md
CHANGED
|
@@ -229,8 +229,9 @@ Built from the Figma design system (colors, typography, ~150 icons, inputs,
|
|
|
229
229
|
etc.). Current components: `Button`, `IconButton`, `LinkButton`, `Input`, `Card`,
|
|
230
230
|
`ProductCard`, `Surface`, `Text`, `Icon` (167 icons — 24px outline + fill + 20px
|
|
231
231
|
optical set), plus multicolor `Logo` (Visa/Mastercard) and `Flag` (US/BR) brand
|
|
232
|
-
assets, `QuantityStepper`, `CodeInput` (PIN), `
|
|
233
|
-
select), `Avatar` (photo or
|
|
234
|
-
`Switch` (each standalone or
|
|
232
|
+
assets, `QuantityStepper`, `CodeInput` (PIN), `CodeField` (segmented code),
|
|
233
|
+
`Spinner`, `Chip` + `ChipGroup` (single/multi select), `Avatar` (photo or
|
|
234
|
+
initials), and form controls `Checkbox`, `Radio`, `Switch` (each standalone or
|
|
235
|
+
with a positionable `label`). The Figma
|
|
235
236
|
"loader" is an animated ring, not an icon — use RN's `ActivityIndicator`
|
|
236
237
|
(Button/LinkButton already do).
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CodeField = CodeField;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _index = require("../../theme/index.js");
|
|
10
|
+
var _Text = require("../Text/Text.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
/** Removes the browser's default focus outline on web (no-op on native). */const WEB_NO_OUTLINE = {
|
|
13
|
+
outlineStyle: 'none',
|
|
14
|
+
outlineWidth: 0
|
|
15
|
+
};
|
|
16
|
+
/** Chars to strip per mode (applied after upper-casing). */
|
|
17
|
+
const DISALLOWED = {
|
|
18
|
+
numeric: /[^0-9]/g,
|
|
19
|
+
alpha: /[^A-Z]/g,
|
|
20
|
+
alphanumeric: /[^A-Z0-9]/g
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Code field — a row of boxes for entering a code (numeric / alpha /
|
|
24
|
+
* alphanumeric, always upper-cased). Backed by a single hidden input, so paste,
|
|
25
|
+
* backspace-to-previous and type-to-next all work natively. The active cell
|
|
26
|
+
* shows the lime focus ring. Cell size, gap, font and font size are configurable.
|
|
27
|
+
*/
|
|
28
|
+
function CodeField({
|
|
29
|
+
value,
|
|
30
|
+
onChangeText,
|
|
31
|
+
length = 6,
|
|
32
|
+
mode = 'numeric',
|
|
33
|
+
onComplete,
|
|
34
|
+
disabled = false,
|
|
35
|
+
autoFocus = false,
|
|
36
|
+
cellWidth = 126,
|
|
37
|
+
cellHeight = 58,
|
|
38
|
+
gap = 24,
|
|
39
|
+
fontFamily,
|
|
40
|
+
fontSize = 18,
|
|
41
|
+
accessibilityLabel = 'Code',
|
|
42
|
+
style
|
|
43
|
+
}) {
|
|
44
|
+
const theme = (0, _index.useTheme)();
|
|
45
|
+
const inputRef = (0, _react.useRef)(null);
|
|
46
|
+
const [focused, setFocused] = (0, _react.useState)(false);
|
|
47
|
+
const handleChange = text => {
|
|
48
|
+
const next = text.toUpperCase().replace(DISALLOWED[mode], '').slice(0, length);
|
|
49
|
+
onChangeText(next);
|
|
50
|
+
if (next.length === length) onComplete?.(next);
|
|
51
|
+
};
|
|
52
|
+
const activeIndex = Math.min(value.length, length - 1);
|
|
53
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
|
|
54
|
+
onPress: () => inputRef.current?.focus(),
|
|
55
|
+
disabled: disabled,
|
|
56
|
+
style: [{
|
|
57
|
+
position: 'relative',
|
|
58
|
+
alignSelf: 'flex-start'
|
|
59
|
+
}, style],
|
|
60
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
61
|
+
style: {
|
|
62
|
+
flexDirection: 'row',
|
|
63
|
+
gap
|
|
64
|
+
},
|
|
65
|
+
children: Array.from({
|
|
66
|
+
length
|
|
67
|
+
}).map((_, i) => {
|
|
68
|
+
const isActive = focused && i === activeIndex && !disabled;
|
|
69
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
70
|
+
testID: "code-field-cell",
|
|
71
|
+
style: {
|
|
72
|
+
width: cellWidth,
|
|
73
|
+
height: cellHeight,
|
|
74
|
+
borderRadius: theme.radii.pill,
|
|
75
|
+
borderWidth: 1,
|
|
76
|
+
borderColor: isActive ? theme.colors.border.focus : theme.colors.border.default,
|
|
77
|
+
backgroundColor: disabled ? theme.colors.disabled.background : theme.colors.background.default,
|
|
78
|
+
alignItems: 'center',
|
|
79
|
+
justifyContent: 'center',
|
|
80
|
+
opacity: disabled ? 0.6 : 1,
|
|
81
|
+
...(isActive ? {
|
|
82
|
+
boxShadow: [{
|
|
83
|
+
offsetX: 0,
|
|
84
|
+
offsetY: 0,
|
|
85
|
+
blurRadius: 0,
|
|
86
|
+
spreadDistance: 6,
|
|
87
|
+
color: 'rgba(201,255,0,0.15)'
|
|
88
|
+
}]
|
|
89
|
+
} : null)
|
|
90
|
+
},
|
|
91
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
92
|
+
color: disabled ? 'tertiary' : 'primary',
|
|
93
|
+
style: {
|
|
94
|
+
fontFamily: fontFamily ?? theme.fontFamily.regular,
|
|
95
|
+
fontSize,
|
|
96
|
+
lineHeight: Math.round(fontSize * 1.45)
|
|
97
|
+
},
|
|
98
|
+
children: value[i] ?? ''
|
|
99
|
+
})
|
|
100
|
+
}, i);
|
|
101
|
+
})
|
|
102
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
|
|
103
|
+
ref: inputRef,
|
|
104
|
+
value: value,
|
|
105
|
+
onChangeText: handleChange,
|
|
106
|
+
onFocus: () => setFocused(true),
|
|
107
|
+
onBlur: () => setFocused(false),
|
|
108
|
+
keyboardType: mode === 'numeric' ? 'number-pad' : 'default',
|
|
109
|
+
autoCapitalize: "characters",
|
|
110
|
+
autoCorrect: false,
|
|
111
|
+
maxLength: length,
|
|
112
|
+
editable: !disabled,
|
|
113
|
+
caretHidden: true,
|
|
114
|
+
autoFocus: autoFocus,
|
|
115
|
+
accessibilityLabel: accessibilityLabel,
|
|
116
|
+
style: [{
|
|
117
|
+
position: 'absolute',
|
|
118
|
+
top: 0,
|
|
119
|
+
left: 0,
|
|
120
|
+
right: 0,
|
|
121
|
+
bottom: 0,
|
|
122
|
+
opacity: 0
|
|
123
|
+
}, WEB_NO_OUTLINE]
|
|
124
|
+
})]
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=CodeField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_index","_Text","_jsxRuntime","WEB_NO_OUTLINE","outlineStyle","outlineWidth","DISALLOWED","numeric","alpha","alphanumeric","CodeField","value","onChangeText","length","mode","onComplete","disabled","autoFocus","cellWidth","cellHeight","gap","fontFamily","fontSize","accessibilityLabel","style","theme","useTheme","inputRef","useRef","focused","setFocused","useState","handleChange","text","next","toUpperCase","replace","slice","activeIndex","Math","min","jsxs","Pressable","onPress","current","focus","position","alignSelf","children","jsx","View","flexDirection","Array","from","map","_","i","isActive","testID","width","height","borderRadius","radii","pill","borderWidth","borderColor","colors","border","default","backgroundColor","background","alignItems","justifyContent","opacity","boxShadow","offsetX","offsetY","blurRadius","spreadDistance","color","Text","regular","lineHeight","round","TextInput","ref","onFocus","onBlur","keyboardType","autoCapitalize","autoCorrect","maxLength","editable","caretHidden","top","left","right","bottom"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CodeField/CodeField.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.Disabled = exports.Default = exports.Compact = exports.Alphanumeric = exports.Alpha = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _CodeField = require("./CodeField.js");
|
|
10
|
+
var _Text = require("../Text/Text.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
const meta = {
|
|
13
|
+
title: 'Components/CodeField',
|
|
14
|
+
component: _CodeField.CodeField
|
|
15
|
+
};
|
|
16
|
+
var _default = exports.default = meta;
|
|
17
|
+
function Demo(props) {
|
|
18
|
+
const [value, setValue] = (0, _react.useState)('');
|
|
19
|
+
const [done, setDone] = (0, _react.useState)('');
|
|
20
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
21
|
+
style: {
|
|
22
|
+
gap: 8,
|
|
23
|
+
alignItems: 'flex-start'
|
|
24
|
+
},
|
|
25
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeField.CodeField, {
|
|
26
|
+
value: value,
|
|
27
|
+
onChangeText: setValue,
|
|
28
|
+
onComplete: setDone,
|
|
29
|
+
...props
|
|
30
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Text.Text, {
|
|
31
|
+
variant: "caption",
|
|
32
|
+
color: "secondary",
|
|
33
|
+
children: ["value: \"", value, "\"", done ? ` · complete: ${done}` : '']
|
|
34
|
+
})]
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Figma defaults (wide desktop cells).
|
|
39
|
+
const Default = exports.Default = {
|
|
40
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Demo, {
|
|
41
|
+
length: 4
|
|
42
|
+
})
|
|
43
|
+
};
|
|
44
|
+
// Compact cells for mobile.
|
|
45
|
+
const Compact = exports.Compact = {
|
|
46
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Demo, {
|
|
47
|
+
length: 6,
|
|
48
|
+
cellWidth: 48,
|
|
49
|
+
gap: 8
|
|
50
|
+
})
|
|
51
|
+
};
|
|
52
|
+
const Alphanumeric = exports.Alphanumeric = {
|
|
53
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Demo, {
|
|
54
|
+
length: 6,
|
|
55
|
+
mode: "alphanumeric",
|
|
56
|
+
cellWidth: 48,
|
|
57
|
+
gap: 8
|
|
58
|
+
})
|
|
59
|
+
};
|
|
60
|
+
const Alpha = exports.Alpha = {
|
|
61
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Demo, {
|
|
62
|
+
length: 5,
|
|
63
|
+
mode: "alpha",
|
|
64
|
+
cellWidth: 48,
|
|
65
|
+
gap: 8
|
|
66
|
+
})
|
|
67
|
+
};
|
|
68
|
+
const Disabled = exports.Disabled = {
|
|
69
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsx)(Demo, {
|
|
70
|
+
length: 4,
|
|
71
|
+
cellWidth: 48,
|
|
72
|
+
gap: 8,
|
|
73
|
+
disabled: true
|
|
74
|
+
})
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=CodeField.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_CodeField","_Text","_jsxRuntime","meta","title","component","CodeField","_default","exports","default","Demo","props","value","setValue","useState","done","setDone","jsxs","View","style","gap","alignItems","children","jsx","onChangeText","onComplete","Text","variant","color","Default","render","length","Compact","cellWidth","Alphanumeric","mode","Alpha","Disabled","disabled"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CodeField/CodeField.stories.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAAoC,IAAAI,WAAA,GAAAJ,OAAA;AAEpC,MAAMK,IAAI,GAAG;EACXC,KAAK,EAAE,sBAAsB;EAC7BC,SAAS,EAAEC;AACb,CAAkC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEpBN,IAAI;AAGnB,SAASO,IAAIA,CAACC,KAQb,EAAE;EACD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EACtC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAF,eAAQ,EAAC,EAAE,CAAC;EACpC,oBACE,IAAAZ,WAAA,CAAAe,IAAA,EAAClB,YAAA,CAAAmB,IAAI;IAACC,KAAK,EAAE;MAAEC,GAAG,EAAE,CAAC;MAAEC,UAAU,EAAE;IAAa,CAAE;IAAAC,QAAA,gBAChD,IAAApB,WAAA,CAAAqB,GAAA,EAACvB,UAAA,CAAAM,SAAS;MAACM,KAAK,EAAEA,KAAM;MAACY,YAAY,EAAEX,QAAS;MAACY,UAAU,EAAET,OAAQ;MAAA,GAAKL;IAAK,CAAG,CAAC,eACnF,IAAAT,WAAA,CAAAe,IAAA,EAAChB,KAAA,CAAAyB,IAAI;MAACC,OAAO,EAAC,SAAS;MAACC,KAAK,EAAC,WAAW;MAAAN,QAAA,GAAC,WAChC,EAACV,KAAK,EAAC,IAAC,EAACG,IAAI,GAAG,gBAAgBA,IAAI,EAAE,GAAG,EAAE;IAAA,CAC/C,CAAC;EAAA,CACH,CAAC;AAEX;;AAEA;AACO,MAAMc,OAAc,GAAArB,OAAA,CAAAqB,OAAA,GAAG;EAAEC,MAAM,EAAEA,CAAA,kBAAM,IAAA5B,WAAA,CAAAqB,GAAA,EAACb,IAAI;IAACqB,MAAM,EAAE;EAAE,CAAE;AAAE,CAAC;AACnE;AACO,MAAMC,OAAc,GAAAxB,OAAA,CAAAwB,OAAA,GAAG;EAAEF,MAAM,EAAEA,CAAA,kBAAM,IAAA5B,WAAA,CAAAqB,GAAA,EAACb,IAAI;IAACqB,MAAM,EAAE,CAAE;IAACE,SAAS,EAAE,EAAG;IAACb,GAAG,EAAE;EAAE,CAAE;AAAE,CAAC;AACnF,MAAMc,YAAmB,GAAA1B,OAAA,CAAA0B,YAAA,GAAG;EACjCJ,MAAM,EAAEA,CAAA,kBAAM,IAAA5B,WAAA,CAAAqB,GAAA,EAACb,IAAI;IAACqB,MAAM,EAAE,CAAE;IAACI,IAAI,EAAC,cAAc;IAACF,SAAS,EAAE,EAAG;IAACb,GAAG,EAAE;EAAE,CAAE;AAC7E,CAAC;AACM,MAAMgB,KAAY,GAAA5B,OAAA,CAAA4B,KAAA,GAAG;EAAEN,MAAM,EAAEA,CAAA,kBAAM,IAAA5B,WAAA,CAAAqB,GAAA,EAACb,IAAI;IAACqB,MAAM,EAAE,CAAE;IAACI,IAAI,EAAC,OAAO;IAACF,SAAS,EAAE,EAAG;IAACb,GAAG,EAAE;EAAE,CAAE;AAAE,CAAC;AAC9F,MAAMiB,QAAe,GAAA7B,OAAA,CAAA6B,QAAA,GAAG;EAAEP,MAAM,EAAEA,CAAA,kBAAM,IAAA5B,WAAA,CAAAqB,GAAA,EAACb,IAAI;IAACqB,MAAM,EAAE,CAAE;IAACE,SAAS,EAAE,EAAG;IAACb,GAAG,EAAE,CAAE;IAACkB,QAAQ;EAAA,CAAE;AAAE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _reactNative = require("@testing-library/react-native");
|
|
5
|
+
var _CodeField = require("./CodeField.js");
|
|
6
|
+
var _index = require("../../theme/index.js");
|
|
7
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function renderWithTheme(ui) {
|
|
10
|
+
return (0, _reactNative.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ThemeProvider, {
|
|
11
|
+
children: ui
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
describe('CodeField', () => {
|
|
15
|
+
it('renders one cell per length', () => {
|
|
16
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeField.CodeField, {
|
|
17
|
+
value: "",
|
|
18
|
+
onChangeText: () => {},
|
|
19
|
+
length: 4
|
|
20
|
+
}));
|
|
21
|
+
expect(_reactNative.screen.getAllByTestId('code-field-cell')).toHaveLength(4);
|
|
22
|
+
});
|
|
23
|
+
it('numeric mode keeps digits only', () => {
|
|
24
|
+
const onChangeText = jest.fn();
|
|
25
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeField.CodeField, {
|
|
26
|
+
value: "",
|
|
27
|
+
onChangeText: onChangeText,
|
|
28
|
+
mode: "numeric",
|
|
29
|
+
length: 4
|
|
30
|
+
}));
|
|
31
|
+
_reactNative.fireEvent.changeText(_reactNative.screen.getByLabelText('Code'), '12ab34');
|
|
32
|
+
expect(onChangeText).toHaveBeenCalledWith('1234');
|
|
33
|
+
});
|
|
34
|
+
it('alphanumeric mode upper-cases and strips symbols', () => {
|
|
35
|
+
const onChangeText = jest.fn();
|
|
36
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeField.CodeField, {
|
|
37
|
+
value: "",
|
|
38
|
+
onChangeText: onChangeText,
|
|
39
|
+
mode: "alphanumeric",
|
|
40
|
+
length: 6
|
|
41
|
+
}));
|
|
42
|
+
_reactNative.fireEvent.changeText(_reactNative.screen.getByLabelText('Code'), 'a1-b2!');
|
|
43
|
+
expect(onChangeText).toHaveBeenCalledWith('A1B2');
|
|
44
|
+
});
|
|
45
|
+
it('alpha mode strips digits', () => {
|
|
46
|
+
const onChangeText = jest.fn();
|
|
47
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeField.CodeField, {
|
|
48
|
+
value: "",
|
|
49
|
+
onChangeText: onChangeText,
|
|
50
|
+
mode: "alpha",
|
|
51
|
+
length: 4
|
|
52
|
+
}));
|
|
53
|
+
_reactNative.fireEvent.changeText(_reactNative.screen.getByLabelText('Code'), 'a1b2c3');
|
|
54
|
+
expect(onChangeText).toHaveBeenCalledWith('ABC');
|
|
55
|
+
});
|
|
56
|
+
it('caps a pasted value to length and fires onComplete', () => {
|
|
57
|
+
const onChangeText = jest.fn();
|
|
58
|
+
const onComplete = jest.fn();
|
|
59
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeField.CodeField, {
|
|
60
|
+
value: "",
|
|
61
|
+
onChangeText: onChangeText,
|
|
62
|
+
onComplete: onComplete,
|
|
63
|
+
length: 4
|
|
64
|
+
}));
|
|
65
|
+
_reactNative.fireEvent.changeText(_reactNative.screen.getByLabelText('Code'), '123456');
|
|
66
|
+
expect(onChangeText).toHaveBeenCalledWith('1234');
|
|
67
|
+
expect(onComplete).toHaveBeenCalledWith('1234');
|
|
68
|
+
});
|
|
69
|
+
it('shows entered characters in the cells', () => {
|
|
70
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeField.CodeField, {
|
|
71
|
+
value: "12",
|
|
72
|
+
onChangeText: () => {},
|
|
73
|
+
length: 4
|
|
74
|
+
}));
|
|
75
|
+
expect(_reactNative.screen.getByText('1')).toBeTruthy();
|
|
76
|
+
expect(_reactNative.screen.getByText('2')).toBeTruthy();
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
//# sourceMappingURL=CodeField.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_CodeField","_index","_jsxRuntime","e","__esModule","default","renderWithTheme","ui","render","jsx","ThemeProvider","children","describe","it","CodeField","value","onChangeText","length","expect","screen","getAllByTestId","toHaveLength","jest","fn","mode","fireEvent","changeText","getByLabelText","toHaveBeenCalledWith","onComplete","getByText","toBeTruthy"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CodeField/CodeField.test.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "CodeField", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _CodeField.CodeField;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _CodeField = require("./CodeField.js");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_CodeField","require"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CodeField/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Spinner = Spinner;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _reactNativeSvg = _interopRequireWildcard(require("react-native-svg"));
|
|
10
|
+
var _index = require("../../theme/index.js");
|
|
11
|
+
var _Text = require("../Text/Text.js");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
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); }
|
|
14
|
+
/** Diameters per size — `xl` matches the Figma spinner (164, 12px ring). */
|
|
15
|
+
const SIZES = {
|
|
16
|
+
xs: 24,
|
|
17
|
+
sm: 40,
|
|
18
|
+
md: 64,
|
|
19
|
+
lg: 96,
|
|
20
|
+
xl: 164
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Spinner — an infinitely rotating ring (react-native-svg + Animated, native
|
|
24
|
+
* driver for smooth motion). Configurable size, color, thickness and an
|
|
25
|
+
* optional label (top/bottom, with adjustable gap and font size).
|
|
26
|
+
*/
|
|
27
|
+
function Spinner({
|
|
28
|
+
size = 'md',
|
|
29
|
+
color,
|
|
30
|
+
thickness,
|
|
31
|
+
label,
|
|
32
|
+
labelPosition = 'bottom',
|
|
33
|
+
gap = 8,
|
|
34
|
+
labelSize = 16,
|
|
35
|
+
labelColor,
|
|
36
|
+
duration = 900,
|
|
37
|
+
style,
|
|
38
|
+
accessibilityLabel
|
|
39
|
+
}) {
|
|
40
|
+
const theme = (0, _index.useTheme)();
|
|
41
|
+
const diameter = SIZES[size];
|
|
42
|
+
const stroke = thickness ?? Math.max(2, Math.round(diameter * 0.073));
|
|
43
|
+
const arcColor = color ?? theme.colors.action.primary;
|
|
44
|
+
const radius = (diameter - stroke) / 2;
|
|
45
|
+
const circumference = 2 * Math.PI * radius;
|
|
46
|
+
const rotation = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
47
|
+
(0, _react.useEffect)(() => {
|
|
48
|
+
rotation.setValue(0);
|
|
49
|
+
const loop = _reactNative.Animated.loop(_reactNative.Animated.timing(rotation, {
|
|
50
|
+
toValue: 1,
|
|
51
|
+
duration,
|
|
52
|
+
easing: _reactNative.Easing.linear,
|
|
53
|
+
// Native driver loops smoothly on iOS/Android; on web (react-native-web)
|
|
54
|
+
// a native-driven loop only runs once, so drive it on the JS thread there.
|
|
55
|
+
useNativeDriver: _reactNative.Platform.OS !== 'web'
|
|
56
|
+
}));
|
|
57
|
+
loop.start();
|
|
58
|
+
return () => loop.stop();
|
|
59
|
+
}, [rotation, duration]);
|
|
60
|
+
const spin = rotation.interpolate({
|
|
61
|
+
inputRange: [0, 1],
|
|
62
|
+
outputRange: ['0deg', '360deg']
|
|
63
|
+
});
|
|
64
|
+
const labelStyle = {
|
|
65
|
+
fontSize: labelSize,
|
|
66
|
+
lineHeight: Math.round(labelSize * 1.4),
|
|
67
|
+
...(labelPosition === 'top' ? {} : null)
|
|
68
|
+
};
|
|
69
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
70
|
+
accessibilityRole: "progressbar",
|
|
71
|
+
accessibilityLabel: accessibilityLabel ?? label,
|
|
72
|
+
style: [{
|
|
73
|
+
alignItems: 'center',
|
|
74
|
+
gap,
|
|
75
|
+
flexDirection: labelPosition === 'top' ? 'column-reverse' : 'column'
|
|
76
|
+
}, style],
|
|
77
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
|
|
78
|
+
style: {
|
|
79
|
+
width: diameter,
|
|
80
|
+
height: diameter,
|
|
81
|
+
transform: [{
|
|
82
|
+
rotate: spin
|
|
83
|
+
}]
|
|
84
|
+
},
|
|
85
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSvg.default, {
|
|
86
|
+
width: diameter,
|
|
87
|
+
height: diameter,
|
|
88
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Circle, {
|
|
89
|
+
cx: diameter / 2,
|
|
90
|
+
cy: diameter / 2,
|
|
91
|
+
r: radius,
|
|
92
|
+
stroke: arcColor,
|
|
93
|
+
strokeWidth: stroke,
|
|
94
|
+
fill: "none",
|
|
95
|
+
opacity: 0.2
|
|
96
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeSvg.Circle, {
|
|
97
|
+
cx: diameter / 2,
|
|
98
|
+
cy: diameter / 2,
|
|
99
|
+
r: radius,
|
|
100
|
+
stroke: arcColor,
|
|
101
|
+
strokeWidth: stroke,
|
|
102
|
+
fill: "none",
|
|
103
|
+
strokeLinecap: "round",
|
|
104
|
+
strokeDasharray: [circumference * 0.7, circumference * 0.3]
|
|
105
|
+
})]
|
|
106
|
+
})
|
|
107
|
+
}), label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
|
|
108
|
+
color: labelColor ?? 'secondary',
|
|
109
|
+
style: labelStyle,
|
|
110
|
+
children: label
|
|
111
|
+
}) : null]
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=Spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactNativeSvg","_interopRequireWildcard","_index","_Text","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SIZES","xs","sm","md","lg","xl","Spinner","size","color","thickness","label","labelPosition","gap","labelSize","labelColor","duration","style","accessibilityLabel","theme","useTheme","diameter","stroke","Math","max","round","arcColor","colors","action","primary","radius","circumference","PI","rotation","useRef","Animated","Value","current","useEffect","setValue","loop","timing","toValue","easing","Easing","linear","useNativeDriver","Platform","OS","start","stop","spin","interpolate","inputRange","outputRange","labelStyle","fontSize","lineHeight","jsxs","View","accessibilityRole","alignItems","flexDirection","children","jsx","width","height","transform","rotate","Circle","cx","cy","strokeWidth","fill","opacity","strokeLinecap","strokeDasharray","Text"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Spinner/Spinner.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.XL = exports.WithLabel = exports.Sizes = exports.LabelTop = exports.Default = exports.CustomColor = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _Spinner = require("./Spinner.js");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
const meta = {
|
|
11
|
+
title: 'Components/Spinner',
|
|
12
|
+
component: _Spinner.Spinner,
|
|
13
|
+
args: {
|
|
14
|
+
size: 'md'
|
|
15
|
+
},
|
|
16
|
+
argTypes: {
|
|
17
|
+
size: {
|
|
18
|
+
control: 'inline-radio',
|
|
19
|
+
options: ['xs', 'sm', 'md', 'lg', 'xl']
|
|
20
|
+
},
|
|
21
|
+
labelPosition: {
|
|
22
|
+
control: 'inline-radio',
|
|
23
|
+
options: ['top', 'bottom']
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var _default = exports.default = meta;
|
|
28
|
+
const Default = exports.Default = {};
|
|
29
|
+
const WithLabel = exports.WithLabel = {
|
|
30
|
+
args: {
|
|
31
|
+
label: 'Wait a moment please...'
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const LabelTop = exports.LabelTop = {
|
|
35
|
+
args: {
|
|
36
|
+
label: 'Loading',
|
|
37
|
+
labelPosition: 'top'
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
const XL = exports.XL = {
|
|
41
|
+
args: {
|
|
42
|
+
size: 'xl',
|
|
43
|
+
label: 'Wait a moment please...'
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const CustomColor = exports.CustomColor = {
|
|
47
|
+
args: {
|
|
48
|
+
size: 'lg',
|
|
49
|
+
color: '#FF003A'
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const Sizes = exports.Sizes = {
|
|
53
|
+
render: () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
54
|
+
style: {
|
|
55
|
+
flexDirection: 'row',
|
|
56
|
+
alignItems: 'center',
|
|
57
|
+
gap: 24
|
|
58
|
+
},
|
|
59
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
60
|
+
size: "xs"
|
|
61
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
62
|
+
size: "sm"
|
|
63
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
64
|
+
size: "md"
|
|
65
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
66
|
+
size: "lg"
|
|
67
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
68
|
+
size: "xl"
|
|
69
|
+
})]
|
|
70
|
+
})
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=Spinner.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_Spinner","_jsxRuntime","meta","title","component","Spinner","args","size","argTypes","control","options","labelPosition","_default","exports","default","Default","WithLabel","label","LabelTop","XL","CustomColor","color","Sizes","render","jsxs","View","style","flexDirection","alignItems","gap","children","jsx"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Spinner/Spinner.stories.tsx"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAoC,IAAAE,WAAA,GAAAF,OAAA;AAEpC,MAAMG,IAAI,GAAG;EACXC,KAAK,EAAE,oBAAoB;EAC3BC,SAAS,EAAEC,gBAAO;EAClBC,IAAI,EAAE;IAAEC,IAAI,EAAE;EAAK,CAAC;EACpBC,QAAQ,EAAE;IACRD,IAAI,EAAE;MAAEE,OAAO,EAAE,cAAc;MAAEC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;IAAE,CAAC;IAC1EC,aAAa,EAAE;MAAEF,OAAO,EAAE,cAAc;MAAEC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ;IAAE;EACvE;AACF,CAAgC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAElBZ,IAAI;AAGZ,MAAMa,OAAc,GAAAF,OAAA,CAAAE,OAAA,GAAG,CAAC,CAAC;AACzB,MAAMC,SAAgB,GAAAH,OAAA,CAAAG,SAAA,GAAG;EAAEV,IAAI,EAAE;IAAEW,KAAK,EAAE;EAA0B;AAAE,CAAC;AACvE,MAAMC,QAAe,GAAAL,OAAA,CAAAK,QAAA,GAAG;EAAEZ,IAAI,EAAE;IAAEW,KAAK,EAAE,SAAS;IAAEN,aAAa,EAAE;EAAM;AAAE,CAAC;AAC5E,MAAMQ,EAAS,GAAAN,OAAA,CAAAM,EAAA,GAAG;EAAEb,IAAI,EAAE;IAAEC,IAAI,EAAE,IAAI;IAAEU,KAAK,EAAE;EAA0B;AAAE,CAAC;AAC5E,MAAMG,WAAkB,GAAAP,OAAA,CAAAO,WAAA,GAAG;EAAEd,IAAI,EAAE;IAAEC,IAAI,EAAE,IAAI;IAAEc,KAAK,EAAE;EAAU;AAAE,CAAC;AAErE,MAAMC,KAAY,GAAAT,OAAA,CAAAS,KAAA,GAAG;EAC1BC,MAAM,EAAEA,CAAA,kBACN,IAAAtB,WAAA,CAAAuB,IAAA,EAAC1B,YAAA,CAAA2B,IAAI;IAACC,KAAK,EAAE;MAAEC,aAAa,EAAE,KAAK;MAAEC,UAAU,EAAE,QAAQ;MAAEC,GAAG,EAAE;IAAG,CAAE;IAAAC,QAAA,gBACnE,IAAA7B,WAAA,CAAA8B,GAAA,EAAC/B,QAAA,CAAAK,OAAO;MAACE,IAAI,EAAC;IAAI,CAAE,CAAC,eACrB,IAAAN,WAAA,CAAA8B,GAAA,EAAC/B,QAAA,CAAAK,OAAO;MAACE,IAAI,EAAC;IAAI,CAAE,CAAC,eACrB,IAAAN,WAAA,CAAA8B,GAAA,EAAC/B,QAAA,CAAAK,OAAO;MAACE,IAAI,EAAC;IAAI,CAAE,CAAC,eACrB,IAAAN,WAAA,CAAA8B,GAAA,EAAC/B,QAAA,CAAAK,OAAO;MAACE,IAAI,EAAC;IAAI,CAAE,CAAC,eACrB,IAAAN,WAAA,CAAA8B,GAAA,EAAC/B,QAAA,CAAAK,OAAO;MAACE,IAAI,EAAC;IAAI,CAAE,CAAC;EAAA,CACjB;AAEV,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
var _reactNative = require("@testing-library/react-native");
|
|
5
|
+
var _Spinner = require("./Spinner.js");
|
|
6
|
+
var _index = require("../../theme/index.js");
|
|
7
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
function renderWithTheme(ui) {
|
|
10
|
+
return (0, _reactNative.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ThemeProvider, {
|
|
11
|
+
children: ui
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
describe('Spinner', () => {
|
|
15
|
+
it('renders with a progressbar role', () => {
|
|
16
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
17
|
+
accessibilityLabel: "Loading"
|
|
18
|
+
}));
|
|
19
|
+
expect(_reactNative.screen.getByLabelText('Loading')).toBeTruthy();
|
|
20
|
+
});
|
|
21
|
+
it('renders its label', () => {
|
|
22
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
23
|
+
label: "Wait a moment please..."
|
|
24
|
+
}));
|
|
25
|
+
expect(_reactNative.screen.getByText('Wait a moment please...')).toBeTruthy();
|
|
26
|
+
});
|
|
27
|
+
it('renders without a label when none is given', () => {
|
|
28
|
+
renderWithTheme(/*#__PURE__*/(0, _jsxRuntime.jsx)(_Spinner.Spinner, {
|
|
29
|
+
accessibilityLabel: "Loading"
|
|
30
|
+
}));
|
|
31
|
+
expect(_reactNative.screen.queryByText('Loading')).toBeNull();
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=Spinner.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_Spinner","_index","_jsxRuntime","e","__esModule","default","renderWithTheme","ui","render","jsx","ThemeProvider","children","describe","it","Spinner","accessibilityLabel","expect","screen","getByLabelText","toBeTruthy","label","getByText","queryByText","toBeNull"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Spinner/Spinner.test.tsx"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA4C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5C,SAASG,eAAeA,CAACC,EAAsB,EAAE;EAC/C,OAAO,IAAAC,mBAAM,eAAC,IAAAN,WAAA,CAAAO,GAAA,EAACR,MAAA,CAAAS,aAAa;IAAAC,QAAA,EAAEJ;EAAE,CAAgB,CAAC,CAAC;AACpD;AAEAK,QAAQ,CAAC,SAAS,EAAE,MAAM;EACxBC,EAAE,CAAC,iCAAiC,EAAE,MAAM;IAC1CP,eAAe,cAAC,IAAAJ,WAAA,CAAAO,GAAA,EAACT,QAAA,CAAAc,OAAO;MAACC,kBAAkB,EAAC;IAAS,CAAE,CAAC,CAAC;IACzDC,MAAM,CAACC,mBAAM,CAACC,cAAc,CAAC,SAAS,CAAC,CAAC,CAACC,UAAU,CAAC,CAAC;EACvD,CAAC,CAAC;EAEFN,EAAE,CAAC,mBAAmB,EAAE,MAAM;IAC5BP,eAAe,cAAC,IAAAJ,WAAA,CAAAO,GAAA,EAACT,QAAA,CAAAc,OAAO;MAACM,KAAK,EAAC;IAAyB,CAAE,CAAC,CAAC;IAC5DJ,MAAM,CAACC,mBAAM,CAACI,SAAS,CAAC,yBAAyB,CAAC,CAAC,CAACF,UAAU,CAAC,CAAC;EAClE,CAAC,CAAC;EAEFN,EAAE,CAAC,4CAA4C,EAAE,MAAM;IACrDP,eAAe,cAAC,IAAAJ,WAAA,CAAAO,GAAA,EAACT,QAAA,CAAAc,OAAO;MAACC,kBAAkB,EAAC;IAAS,CAAE,CAAC,CAAC;IACzDC,MAAM,CAACC,mBAAM,CAACK,WAAW,CAAC,SAAS,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAClD,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Spinner", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Spinner.Spinner;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _Spinner = require("./Spinner.js");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_Spinner","require"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Spinner/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA","ignoreList":[]}
|