@bacon-pos/ui 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/lib/commonjs/components/Alert/Alert.js +137 -0
  2. package/lib/commonjs/components/Alert/Alert.js.map +1 -0
  3. package/lib/commonjs/components/Alert/Alert.stories.js +104 -0
  4. package/lib/commonjs/components/Alert/Alert.stories.js.map +1 -0
  5. package/lib/commonjs/components/Alert/Alert.test.js +62 -0
  6. package/lib/commonjs/components/Alert/Alert.test.js.map +1 -0
  7. package/lib/commonjs/components/Alert/index.js +13 -0
  8. package/lib/commonjs/components/Alert/index.js.map +1 -0
  9. package/lib/commonjs/components/StatTile/StatTile.js +94 -0
  10. package/lib/commonjs/components/StatTile/StatTile.js.map +1 -0
  11. package/lib/commonjs/components/StatTile/StatTile.stories.js +100 -0
  12. package/lib/commonjs/components/StatTile/StatTile.stories.js.map +1 -0
  13. package/lib/commonjs/components/StatTile/StatTile.test.js +49 -0
  14. package/lib/commonjs/components/StatTile/StatTile.test.js.map +1 -0
  15. package/lib/commonjs/components/StatTile/index.js +13 -0
  16. package/lib/commonjs/components/StatTile/index.js.map +1 -0
  17. package/lib/commonjs/components/index.js +53 -31
  18. package/lib/commonjs/components/index.js.map +1 -1
  19. package/lib/module/components/Alert/Alert.js +133 -0
  20. package/lib/module/components/Alert/Alert.js.map +1 -0
  21. package/lib/module/components/Alert/Alert.stories.js +100 -0
  22. package/lib/module/components/Alert/Alert.stories.js.map +1 -0
  23. package/lib/module/components/Alert/Alert.test.js +62 -0
  24. package/lib/module/components/Alert/Alert.test.js.map +1 -0
  25. package/lib/module/components/Alert/index.js +4 -0
  26. package/lib/module/components/Alert/index.js.map +1 -0
  27. package/lib/module/components/StatTile/StatTile.js +90 -0
  28. package/lib/module/components/StatTile/StatTile.js.map +1 -0
  29. package/lib/module/components/StatTile/StatTile.stories.js +96 -0
  30. package/lib/module/components/StatTile/StatTile.stories.js.map +1 -0
  31. package/lib/module/components/StatTile/StatTile.test.js +49 -0
  32. package/lib/module/components/StatTile/StatTile.test.js.map +1 -0
  33. package/lib/module/components/StatTile/index.js +4 -0
  34. package/lib/module/components/StatTile/index.js.map +1 -0
  35. package/lib/module/components/index.js +2 -0
  36. package/lib/module/components/index.js.map +1 -1
  37. package/lib/typescript/commonjs/components/Alert/Alert.d.ts +41 -0
  38. package/lib/typescript/commonjs/components/Alert/Alert.d.ts.map +1 -0
  39. package/lib/typescript/commonjs/components/Alert/index.d.ts +3 -0
  40. package/lib/typescript/commonjs/components/Alert/index.d.ts.map +1 -0
  41. package/lib/typescript/commonjs/components/StatTile/StatTile.d.ts +31 -0
  42. package/lib/typescript/commonjs/components/StatTile/StatTile.d.ts.map +1 -0
  43. package/lib/typescript/commonjs/components/StatTile/index.d.ts +3 -0
  44. package/lib/typescript/commonjs/components/StatTile/index.d.ts.map +1 -0
  45. package/lib/typescript/commonjs/components/index.d.ts +2 -0
  46. package/lib/typescript/commonjs/components/index.d.ts.map +1 -1
  47. package/lib/typescript/module/components/Alert/Alert.d.ts +41 -0
  48. package/lib/typescript/module/components/Alert/Alert.d.ts.map +1 -0
  49. package/lib/typescript/module/components/Alert/index.d.ts +3 -0
  50. package/lib/typescript/module/components/Alert/index.d.ts.map +1 -0
  51. package/lib/typescript/module/components/StatTile/StatTile.d.ts +31 -0
  52. package/lib/typescript/module/components/StatTile/StatTile.d.ts.map +1 -0
  53. package/lib/typescript/module/components/StatTile/index.d.ts +3 -0
  54. package/lib/typescript/module/components/StatTile/index.d.ts.map +1 -0
  55. package/lib/typescript/module/components/index.d.ts +2 -0
  56. package/lib/typescript/module/components/index.d.ts.map +1 -1
  57. package/package.json +1 -1
  58. package/src/components/Alert/Alert.tsx +132 -0
  59. package/src/components/Alert/index.ts +2 -0
  60. package/src/components/StatTile/StatTile.tsx +98 -0
  61. package/src/components/StatTile/index.ts +2 -0
  62. package/src/components/index.ts +2 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Alert"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Alert/index.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,YAAS","ignoreList":[]}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ import { Pressable, View } from 'react-native';
4
+ import { useTheme } from "../../theme/index.js";
5
+ import { Icon } from "../Icon/Icon.js";
6
+ import { Text } from "../Text/Text.js";
7
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
8
+ /**
9
+ * StatTile — a compact KPI card: a small label over a prominent value (Figma
10
+ * "info card"). Fills its parent by default (so a row/grid of tiles sizes evenly)
11
+ * or takes a fixed `width`. `value` accepts a node for custom color/formatting.
12
+ */
13
+ export function StatTile({
14
+ label,
15
+ value,
16
+ icon,
17
+ width,
18
+ onPress,
19
+ backgroundColor,
20
+ labelColor,
21
+ valueColor,
22
+ style,
23
+ accessibilityLabel
24
+ }) {
25
+ const theme = useTheme();
26
+ const content = /*#__PURE__*/_jsxs(_Fragment, {
27
+ children: [icon ? /*#__PURE__*/_jsx(View, {
28
+ style: {
29
+ width: 24,
30
+ height: 24,
31
+ flexShrink: 0
32
+ },
33
+ children: /*#__PURE__*/_jsx(Icon, {
34
+ name: icon,
35
+ size: 24,
36
+ color: "secondary"
37
+ })
38
+ }) : null, /*#__PURE__*/_jsxs(View, {
39
+ style: {
40
+ flex: 1,
41
+ minWidth: 0,
42
+ gap: 4
43
+ },
44
+ children: [/*#__PURE__*/_jsx(Text, {
45
+ variant: "bodySmall",
46
+ color: labelColor ?? 'secondary',
47
+ numberOfLines: 1,
48
+ children: label
49
+ }), typeof value === 'string' || typeof value === 'number' ? /*#__PURE__*/_jsx(Text, {
50
+ variant: "bodyLarge",
51
+ weight: "semibold",
52
+ color: valueColor ?? 'primary',
53
+ numberOfLines: 1,
54
+ children: String(value)
55
+ }) : value]
56
+ })]
57
+ });
58
+ const containerStyle = {
59
+ flexDirection: 'row',
60
+ alignItems: 'center',
61
+ gap: 12,
62
+ padding: 12,
63
+ borderRadius: theme.radii.lg,
64
+ backgroundColor: backgroundColor ?? theme.colors.background.subtle,
65
+ ...(width != null ? {
66
+ width
67
+ } : {
68
+ alignSelf: 'stretch'
69
+ })
70
+ };
71
+ if (!onPress) {
72
+ return /*#__PURE__*/_jsx(View, {
73
+ accessibilityLabel: accessibilityLabel,
74
+ style: [containerStyle, style],
75
+ children: content
76
+ });
77
+ }
78
+ return /*#__PURE__*/_jsx(Pressable, {
79
+ onPress: onPress,
80
+ accessibilityRole: "button",
81
+ accessibilityLabel: accessibilityLabel ?? label,
82
+ style: ({
83
+ pressed
84
+ }) => [containerStyle, {
85
+ opacity: pressed ? 0.96 : 1
86
+ }, style],
87
+ children: content
88
+ });
89
+ }
90
+ //# sourceMappingURL=StatTile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Pressable","View","useTheme","Icon","Text","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","StatTile","label","value","icon","width","onPress","backgroundColor","labelColor","valueColor","style","accessibilityLabel","theme","content","children","height","flexShrink","name","size","color","flex","minWidth","gap","variant","numberOfLines","weight","String","containerStyle","flexDirection","alignItems","padding","borderRadius","radii","lg","colors","background","subtle","alignSelf","accessibilityRole","pressed","opacity"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/StatTile/StatTile.tsx"],"mappings":";;AACA,SAASA,SAAS,EAAEC,IAAI,QAAwC,cAAc;AAC9E,SAASC,QAAQ,QAAQ,sBAAa;AACtC,SAASC,IAAI,QAAQ,iBAAc;AAEnC,SAASC,IAAI,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAwBpC;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAAC;EACvBC,KAAK;EACLC,KAAK;EACLC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,eAAe;EACfC,UAAU;EACVC,UAAU;EACVC,KAAK;EACLC;AACa,CAAC,EAAE;EAChB,MAAMC,KAAK,GAAGpB,QAAQ,CAAC,CAAC;EAExB,MAAMqB,OAAO,gBACXf,KAAA,CAAAE,SAAA;IAAAc,QAAA,GACGV,IAAI,gBACHR,IAAA,CAACL,IAAI;MAACmB,KAAK,EAAE;QAAEL,KAAK,EAAE,EAAE;QAAEU,MAAM,EAAE,EAAE;QAAEC,UAAU,EAAE;MAAE,CAAE;MAAAF,QAAA,eACpDlB,IAAA,CAACH,IAAI;QAACwB,IAAI,EAAEb,IAAK;QAACc,IAAI,EAAE,EAAG;QAACC,KAAK,EAAC;MAAW,CAAE;IAAC,CAC5C,CAAC,GACL,IAAI,eACRrB,KAAA,CAACP,IAAI;MAACmB,KAAK,EAAE;QAAEU,IAAI,EAAE,CAAC;QAAEC,QAAQ,EAAE,CAAC;QAAEC,GAAG,EAAE;MAAE,CAAE;MAAAR,QAAA,gBAC5ClB,IAAA,CAACF,IAAI;QAAC6B,OAAO,EAAC,WAAW;QAACJ,KAAK,EAAEX,UAAU,IAAI,WAAY;QAACgB,aAAa,EAAE,CAAE;QAAAV,QAAA,EAC1EZ;MAAK,CACF,CAAC,EACN,OAAOC,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,gBACrDP,IAAA,CAACF,IAAI;QAAC6B,OAAO,EAAC,WAAW;QAACE,MAAM,EAAC,UAAU;QAACN,KAAK,EAAEV,UAAU,IAAI,SAAU;QAACe,aAAa,EAAE,CAAE;QAAAV,QAAA,EAC1FY,MAAM,CAACvB,KAAK;MAAC,CACV,CAAC,GAEPA,KACD;IAAA,CACG,CAAC;EAAA,CACP,CACH;EAED,MAAMwB,cAAyB,GAAG;IAChCC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBP,GAAG,EAAE,EAAE;IACPQ,OAAO,EAAE,EAAE;IACXC,YAAY,EAAEnB,KAAK,CAACoB,KAAK,CAACC,EAAE;IAC5B1B,eAAe,EAAEA,eAAe,IAAIK,KAAK,CAACsB,MAAM,CAACC,UAAU,CAACC,MAAM;IAClE,IAAI/B,KAAK,IAAI,IAAI,GAAG;MAAEA;IAAM,CAAC,GAAG;MAAEgC,SAAS,EAAE;IAAU,CAAC;EAC1D,CAAC;EAED,IAAI,CAAC/B,OAAO,EAAE;IACZ,oBACEV,IAAA,CAACL,IAAI;MAACoB,kBAAkB,EAAEA,kBAAmB;MAACD,KAAK,EAAE,CAACiB,cAAc,EAAEjB,KAAK,CAAE;MAAAI,QAAA,EAC1ED;IAAO,CACJ,CAAC;EAEX;EACA,oBACEjB,IAAA,CAACN,SAAS;IACRgB,OAAO,EAAEA,OAAQ;IACjBgC,iBAAiB,EAAC,QAAQ;IAC1B3B,kBAAkB,EAAEA,kBAAkB,IAAIT,KAAM;IAChDQ,KAAK,EAAEA,CAAC;MAAE6B;IAAQ,CAAC,KAAK,CAACZ,cAAc,EAAE;MAAEa,OAAO,EAAED,OAAO,GAAG,IAAI,GAAG;IAAE,CAAC,EAAE7B,KAAK,CAAE;IAAAI,QAAA,EAEhFD;EAAO,CACC,CAAC;AAEhB","ignoreList":[]}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ import { View } from 'react-native';
4
+ import { StatTile } from "./StatTile.js";
5
+ import { Text } from "../Text/Text.js";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const meta = {
8
+ title: 'Components/StatTile',
9
+ component: StatTile
10
+ };
11
+ export default meta;
12
+ /** Figma "info card". */
13
+ export const Default = {
14
+ render: () => /*#__PURE__*/_jsx(View, {
15
+ style: {
16
+ padding: 24,
17
+ width: 420
18
+ },
19
+ children: /*#__PURE__*/_jsx(StatTile, {
20
+ label: "Starting cash",
21
+ value: "$1,250.25"
22
+ })
23
+ })
24
+ };
25
+
26
+ /** A row of tiles sizing evenly (each fills its flex cell). */
27
+ export const Row = {
28
+ render: () => /*#__PURE__*/_jsxs(View, {
29
+ style: {
30
+ padding: 24,
31
+ flexDirection: 'row',
32
+ gap: 12,
33
+ width: 720
34
+ },
35
+ children: [/*#__PURE__*/_jsx(View, {
36
+ style: {
37
+ flex: 1
38
+ },
39
+ children: /*#__PURE__*/_jsx(StatTile, {
40
+ label: "Sales",
41
+ value: "$4,820"
42
+ })
43
+ }), /*#__PURE__*/_jsx(View, {
44
+ style: {
45
+ flex: 1
46
+ },
47
+ children: /*#__PURE__*/_jsx(StatTile, {
48
+ label: "Orders",
49
+ value: "128"
50
+ })
51
+ }), /*#__PURE__*/_jsx(View, {
52
+ style: {
53
+ flex: 1
54
+ },
55
+ children: /*#__PURE__*/_jsx(StatTile, {
56
+ label: "Avg. ticket",
57
+ value: "$37.60"
58
+ })
59
+ })]
60
+ })
61
+ };
62
+
63
+ /** With a leading icon. */
64
+ export const WithIcon = {
65
+ render: () => /*#__PURE__*/_jsx(View, {
66
+ style: {
67
+ padding: 24,
68
+ width: 420
69
+ },
70
+ children: /*#__PURE__*/_jsx(StatTile, {
71
+ label: "Starting cash",
72
+ value: "$1,250.25",
73
+ icon: "dollar-circle"
74
+ })
75
+ })
76
+ };
77
+
78
+ /** Custom value node (e.g. a colored delta). */
79
+ export const CustomValue = {
80
+ render: () => /*#__PURE__*/_jsx(View, {
81
+ style: {
82
+ padding: 24,
83
+ width: 420
84
+ },
85
+ children: /*#__PURE__*/_jsx(StatTile, {
86
+ label: "Net change",
87
+ value: /*#__PURE__*/_jsx(Text, {
88
+ variant: "bodyLarge",
89
+ weight: "semibold",
90
+ color: "#008C57",
91
+ children: "+$320.10"
92
+ })
93
+ })
94
+ })
95
+ };
96
+ //# sourceMappingURL=StatTile.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","StatTile","Text","jsx","_jsx","jsxs","_jsxs","meta","title","component","Default","render","style","padding","width","children","label","value","Row","flexDirection","gap","flex","WithIcon","icon","CustomValue","variant","weight","color"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/StatTile/StatTile.stories.tsx"],"mappings":";;AACA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,IAAI,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEpC,MAAMC,IAAI,GAAG;EACXC,KAAK,EAAE,qBAAqB;EAC5BC,SAAS,EAAER;AACb,CAAiC;AAEjC,eAAeM,IAAI;AAGnB;AACA,OAAO,MAAMG,OAAc,GAAG;EAC5BC,MAAM,EAAEA,CAAA,kBACNP,IAAA,CAACJ,IAAI;IAACY,KAAK,EAAE;MAAEC,OAAO,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAI,CAAE;IAAAC,QAAA,eACvCX,IAAA,CAACH,QAAQ;MAACe,KAAK,EAAC,eAAe;MAACC,KAAK,EAAC;IAAW,CAAE;EAAC,CAChD;AAEV,CAAC;;AAED;AACA,OAAO,MAAMC,GAAU,GAAG;EACxBP,MAAM,EAAEA,CAAA,kBACNL,KAAA,CAACN,IAAI;IAACY,KAAK,EAAE;MAAEC,OAAO,EAAE,EAAE;MAAEM,aAAa,EAAE,KAAK;MAAEC,GAAG,EAAE,EAAE;MAAEN,KAAK,EAAE;IAAI,CAAE;IAAAC,QAAA,gBACtEX,IAAA,CAACJ,IAAI;MAACY,KAAK,EAAE;QAAES,IAAI,EAAE;MAAE,CAAE;MAAAN,QAAA,eAACX,IAAA,CAACH,QAAQ;QAACe,KAAK,EAAC,OAAO;QAACC,KAAK,EAAC;MAAQ,CAAE;IAAC,CAAM,CAAC,eAC1Eb,IAAA,CAACJ,IAAI;MAACY,KAAK,EAAE;QAAES,IAAI,EAAE;MAAE,CAAE;MAAAN,QAAA,eAACX,IAAA,CAACH,QAAQ;QAACe,KAAK,EAAC,QAAQ;QAACC,KAAK,EAAC;MAAK,CAAE;IAAC,CAAM,CAAC,eACxEb,IAAA,CAACJ,IAAI;MAACY,KAAK,EAAE;QAAES,IAAI,EAAE;MAAE,CAAE;MAAAN,QAAA,eAACX,IAAA,CAACH,QAAQ;QAACe,KAAK,EAAC,aAAa;QAACC,KAAK,EAAC;MAAQ,CAAE;IAAC,CAAM,CAAC;EAAA,CAC5E;AAEV,CAAC;;AAED;AACA,OAAO,MAAMK,QAAe,GAAG;EAC7BX,MAAM,EAAEA,CAAA,kBACNP,IAAA,CAACJ,IAAI;IAACY,KAAK,EAAE;MAAEC,OAAO,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAI,CAAE;IAAAC,QAAA,eACvCX,IAAA,CAACH,QAAQ;MAACe,KAAK,EAAC,eAAe;MAACC,KAAK,EAAC,WAAW;MAACM,IAAI,EAAC;IAAe,CAAE;EAAC,CACrE;AAEV,CAAC;;AAED;AACA,OAAO,MAAMC,WAAkB,GAAG;EAChCb,MAAM,EAAEA,CAAA,kBACNP,IAAA,CAACJ,IAAI;IAACY,KAAK,EAAE;MAAEC,OAAO,EAAE,EAAE;MAAEC,KAAK,EAAE;IAAI,CAAE;IAAAC,QAAA,eACvCX,IAAA,CAACH,QAAQ;MACPe,KAAK,EAAC,YAAY;MAClBC,KAAK,eACHb,IAAA,CAACF,IAAI;QAACuB,OAAO,EAAC,WAAW;QAACC,MAAM,EAAC,UAAU;QAACC,KAAK,EAAC,SAAS;QAAAZ,QAAA,EAAC;MAE5D,CAAM;IACP,CACF;EAAC,CACE;AAEV,CAAC","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ import { render, fireEvent, screen } from '@testing-library/react-native';
4
+ import { Text } from 'react-native';
5
+ import { ThemeProvider } from "../../theme/index.js";
6
+ import { StatTile } from "./StatTile.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ function wrap(ui) {
9
+ return render(/*#__PURE__*/_jsx(ThemeProvider, {
10
+ children: ui
11
+ }));
12
+ }
13
+ describe('StatTile', () => {
14
+ it('renders label and value', () => {
15
+ wrap(/*#__PURE__*/_jsx(StatTile, {
16
+ label: "Starting cash",
17
+ value: "$1,250.25"
18
+ }));
19
+ expect(screen.getByText('Starting cash')).toBeTruthy();
20
+ expect(screen.getByText('$1,250.25')).toBeTruthy();
21
+ });
22
+ it('renders a numeric value', () => {
23
+ wrap(/*#__PURE__*/_jsx(StatTile, {
24
+ label: "Orders",
25
+ value: 128
26
+ }));
27
+ expect(screen.getByText('128')).toBeTruthy();
28
+ });
29
+ it('renders a custom value node', () => {
30
+ wrap(/*#__PURE__*/_jsx(StatTile, {
31
+ label: "Delta",
32
+ value: /*#__PURE__*/_jsx(Text, {
33
+ children: "+3.2%"
34
+ })
35
+ }));
36
+ expect(screen.getByText('+3.2%')).toBeTruthy();
37
+ });
38
+ it('fires onPress', () => {
39
+ const onPress = jest.fn();
40
+ wrap(/*#__PURE__*/_jsx(StatTile, {
41
+ label: "Sales",
42
+ value: "$10",
43
+ onPress: onPress
44
+ }));
45
+ fireEvent.press(screen.getByText('Sales'));
46
+ expect(onPress).toHaveBeenCalledTimes(1);
47
+ });
48
+ });
49
+ //# sourceMappingURL=StatTile.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["render","fireEvent","screen","Text","ThemeProvider","StatTile","jsx","_jsx","wrap","ui","children","describe","it","label","value","expect","getByText","toBeTruthy","onPress","jest","fn","press","toHaveBeenCalledTimes"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/StatTile/StatTile.test.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,SAAS,EAAEC,MAAM,QAAQ,+BAA+B;AACzE,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,QAAQ,sBAAa;AAC3C,SAASC,QAAQ,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtC,SAASC,IAAIA,CAACC,EAAsB,EAAE;EACpC,OAAOT,MAAM,cAACO,IAAA,CAACH,aAAa;IAAAM,QAAA,EAAED;EAAE,CAAgB,CAAC,CAAC;AACpD;AAEAE,QAAQ,CAAC,UAAU,EAAE,MAAM;EACzBC,EAAE,CAAC,yBAAyB,EAAE,MAAM;IAClCJ,IAAI,cAACD,IAAA,CAACF,QAAQ;MAACQ,KAAK,EAAC,eAAe;MAACC,KAAK,EAAC;IAAW,CAAE,CAAC,CAAC;IAC1DC,MAAM,CAACb,MAAM,CAACc,SAAS,CAAC,eAAe,CAAC,CAAC,CAACC,UAAU,CAAC,CAAC;IACtDF,MAAM,CAACb,MAAM,CAACc,SAAS,CAAC,WAAW,CAAC,CAAC,CAACC,UAAU,CAAC,CAAC;EACpD,CAAC,CAAC;EAEFL,EAAE,CAAC,yBAAyB,EAAE,MAAM;IAClCJ,IAAI,cAACD,IAAA,CAACF,QAAQ;MAACQ,KAAK,EAAC,QAAQ;MAACC,KAAK,EAAE;IAAI,CAAE,CAAC,CAAC;IAC7CC,MAAM,CAACb,MAAM,CAACc,SAAS,CAAC,KAAK,CAAC,CAAC,CAACC,UAAU,CAAC,CAAC;EAC9C,CAAC,CAAC;EAEFL,EAAE,CAAC,6BAA6B,EAAE,MAAM;IACtCJ,IAAI,cAACD,IAAA,CAACF,QAAQ;MAACQ,KAAK,EAAC,OAAO;MAACC,KAAK,eAAEP,IAAA,CAACJ,IAAI;QAAAO,QAAA,EAAC;MAAK,CAAM;IAAE,CAAE,CAAC,CAAC;IAC3DK,MAAM,CAACb,MAAM,CAACc,SAAS,CAAC,OAAO,CAAC,CAAC,CAACC,UAAU,CAAC,CAAC;EAChD,CAAC,CAAC;EAEFL,EAAE,CAAC,eAAe,EAAE,MAAM;IACxB,MAAMM,OAAO,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;IACzBZ,IAAI,cAACD,IAAA,CAACF,QAAQ;MAACQ,KAAK,EAAC,OAAO;MAACC,KAAK,EAAC,KAAK;MAACI,OAAO,EAAEA;IAAQ,CAAE,CAAC,CAAC;IAC9DjB,SAAS,CAACoB,KAAK,CAACnB,MAAM,CAACc,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1CD,MAAM,CAACG,OAAO,CAAC,CAACI,qBAAqB,CAAC,CAAC,CAAC;EAC1C,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { StatTile } from "./StatTile.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StatTile"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/StatTile/index.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,eAAY","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ export * from "./Alert/index.js";
3
4
  export * from "./Avatar/index.js";
4
5
  export * from "./Badge/index.js";
5
6
  export * from "./brand/index.js";
@@ -25,6 +26,7 @@ export * from "./Radio/index.js";
25
26
  export * from "./Select/index.js";
26
27
  export * from "./Sidebar/index.js";
27
28
  export * from "./Spinner/index.js";
29
+ export * from "./StatTile/index.js";
28
30
  export * from "./Surface/index.js";
29
31
  export * from "./Switch/index.js";
30
32
  export * from "./Table/index.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"..\\..\\..\\src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,mBAAU;AACxB,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,mBAAU;AACxB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,iBAAQ;AACtB,cAAc,sBAAa;AAC3B,cAAc,sBAAa;AAC3B,cAAc,mBAAU;AACxB,cAAc,qBAAY;AAC1B,cAAc,uBAAc;AAC5B,cAAc,iBAAQ;AACtB,cAAc,uBAAc;AAC5B,cAAc,kBAAS;AACvB,cAAc,mBAAU;AACxB,cAAc,uBAAc;AAC5B,cAAc,iBAAQ;AACtB,cAAc,wBAAe;AAC7B,cAAc,wBAAe;AAC7B,cAAc,4BAAmB;AACjC,cAAc,kBAAS;AACvB,cAAc,mBAAU;AACxB,cAAc,oBAAW;AACzB,cAAc,oBAAW;AACzB,cAAc,oBAAW;AACzB,cAAc,mBAAU;AACxB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,qBAAY","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"..\\..\\..\\src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,kBAAS;AACvB,cAAc,mBAAU;AACxB,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,mBAAU;AACxB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,iBAAQ;AACtB,cAAc,sBAAa;AAC3B,cAAc,sBAAa;AAC3B,cAAc,mBAAU;AACxB,cAAc,qBAAY;AAC1B,cAAc,uBAAc;AAC5B,cAAc,iBAAQ;AACtB,cAAc,uBAAc;AAC5B,cAAc,kBAAS;AACvB,cAAc,mBAAU;AACxB,cAAc,uBAAc;AAC5B,cAAc,iBAAQ;AACtB,cAAc,wBAAe;AAC7B,cAAc,wBAAe;AAC7B,cAAc,4BAAmB;AACjC,cAAc,kBAAS;AACvB,cAAc,mBAAU;AACxB,cAAc,oBAAW;AACzB,cAAc,oBAAW;AACzB,cAAc,qBAAY;AAC1B,cAAc,oBAAW;AACzB,cAAc,mBAAU;AACxB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,qBAAY","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../Icon/icons.generated';
4
+ export type AlertStatus = 'info' | 'warning' | 'success' | 'destructive';
5
+ export interface AlertProps {
6
+ /** Color/status. Defaults to `info`. */
7
+ status?: AlertStatus;
8
+ /** Optional bold title line above the message. */
9
+ title?: string;
10
+ /** Message text. Alternatively pass `children`. */
11
+ message?: string;
12
+ /** Message content (overrides `message`). */
13
+ children?: ReactNode;
14
+ /** Leading icon. Defaults to `info` (as in the design). */
15
+ icon?: IconName;
16
+ /** Hide the leading icon. */
17
+ showIcon?: boolean;
18
+ /** Vertical alignment of the icon vs the text. Defaults to `center`. */
19
+ iconAlign?: 'top' | 'center';
20
+ /** Trailing content (e.g. a link/button). */
21
+ action?: ReactNode;
22
+ /** Show a close (×) button and call this on press. */
23
+ onClose?: () => void;
24
+ /** Background override (for a custom status). */
25
+ backgroundColor?: string;
26
+ /** Foreground (text/icon) override. */
27
+ color?: string;
28
+ /** Fixed width. Omit to fill the parent. */
29
+ width?: number;
30
+ /** Override the container style. */
31
+ style?: StyleProp<ViewStyle>;
32
+ }
33
+ /**
34
+ * Alert — an inline banner in four statuses (info / warning / success /
35
+ * destructive), each a subtle tinted surface with a matching icon and text
36
+ * (Figma "Alert"). Fills its parent by default (text wraps to any width) or takes
37
+ * a fixed `width`. Supports an optional title, a trailing action and a close
38
+ * button; colors are overridable for custom statuses.
39
+ */
40
+ export declare function Alert({ status, title, message, children, icon, showIcon, iconAlign, action, onClose, backgroundColor, color, width, style, }: AlertProps): import("react/jsx-runtime").JSX.Element;
41
+ //# sourceMappingURL=Alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../../../src/components/Alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAEzE,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAgBD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EACpB,MAAe,EACf,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAa,EACb,QAAe,EACf,SAAoB,EACpB,MAAM,EACN,OAAO,EACP,eAAe,EACf,KAAK,EACL,KAAK,EACL,KAAK,GACN,EAAE,UAAU,2CAyDZ"}
@@ -0,0 +1,3 @@
1
+ export { Alert } from './Alert';
2
+ export type { AlertProps, AlertStatus } from './Alert';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Alert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../Icon/icons.generated';
4
+ export interface StatTileProps {
5
+ /** Small label above the value. */
6
+ label: string;
7
+ /** The value — a string/number, or a node for custom formatting/color. */
8
+ value: ReactNode;
9
+ /** Optional leading icon. */
10
+ icon?: IconName;
11
+ /** Fixed width. Omit to fill the parent (works in a flex/grid row of tiles). */
12
+ width?: number;
13
+ /** Make the tile pressable. */
14
+ onPress?: () => void;
15
+ /** Tile background. Defaults to `background.subtle`. */
16
+ backgroundColor?: string;
17
+ /** Label color. Defaults to `secondary`. */
18
+ labelColor?: string;
19
+ /** Value color (when `value` is text). Defaults to `primary`. */
20
+ valueColor?: string;
21
+ /** Override the container style. */
22
+ style?: StyleProp<ViewStyle>;
23
+ accessibilityLabel?: string;
24
+ }
25
+ /**
26
+ * StatTile — a compact KPI card: a small label over a prominent value (Figma
27
+ * "info card"). Fills its parent by default (so a row/grid of tiles sizes evenly)
28
+ * or takes a fixed `width`. `value` accepts a node for custom color/formatting.
29
+ */
30
+ export declare function StatTile({ label, value, icon, width, onPress, backgroundColor, labelColor, valueColor, style, accessibilityLabel, }: StatTileProps): import("react/jsx-runtime").JSX.Element;
31
+ //# sourceMappingURL=StatTile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatTile.d.ts","sourceRoot":"","sources":["../../../../../src/components/StatTile/StatTile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,KAAK,EAAE,SAAS,CAAC;IACjB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,eAAe,EACf,UAAU,EACV,UAAU,EACV,KAAK,EACL,kBAAkB,GACnB,EAAE,aAAa,2CAoDf"}
@@ -0,0 +1,3 @@
1
+ export { StatTile } from './StatTile';
2
+ export type { StatTileProps } from './StatTile';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/StatTile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './Alert';
1
2
  export * from './Avatar';
2
3
  export * from './Badge';
3
4
  export * from './brand';
@@ -23,6 +24,7 @@ export * from './Radio';
23
24
  export * from './Select';
24
25
  export * from './Sidebar';
25
26
  export * from './Spinner';
27
+ export * from './StatTile';
26
28
  export * from './Surface';
27
29
  export * from './Switch';
28
30
  export * from './Table';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAE3B,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAE3B,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../Icon/icons.generated';
4
+ export type AlertStatus = 'info' | 'warning' | 'success' | 'destructive';
5
+ export interface AlertProps {
6
+ /** Color/status. Defaults to `info`. */
7
+ status?: AlertStatus;
8
+ /** Optional bold title line above the message. */
9
+ title?: string;
10
+ /** Message text. Alternatively pass `children`. */
11
+ message?: string;
12
+ /** Message content (overrides `message`). */
13
+ children?: ReactNode;
14
+ /** Leading icon. Defaults to `info` (as in the design). */
15
+ icon?: IconName;
16
+ /** Hide the leading icon. */
17
+ showIcon?: boolean;
18
+ /** Vertical alignment of the icon vs the text. Defaults to `center`. */
19
+ iconAlign?: 'top' | 'center';
20
+ /** Trailing content (e.g. a link/button). */
21
+ action?: ReactNode;
22
+ /** Show a close (×) button and call this on press. */
23
+ onClose?: () => void;
24
+ /** Background override (for a custom status). */
25
+ backgroundColor?: string;
26
+ /** Foreground (text/icon) override. */
27
+ color?: string;
28
+ /** Fixed width. Omit to fill the parent. */
29
+ width?: number;
30
+ /** Override the container style. */
31
+ style?: StyleProp<ViewStyle>;
32
+ }
33
+ /**
34
+ * Alert — an inline banner in four statuses (info / warning / success /
35
+ * destructive), each a subtle tinted surface with a matching icon and text
36
+ * (Figma "Alert"). Fills its parent by default (text wraps to any width) or takes
37
+ * a fixed `width`. Supports an optional title, a trailing action and a close
38
+ * button; colors are overridable for custom statuses.
39
+ */
40
+ export declare function Alert({ status, title, message, children, icon, showIcon, iconAlign, action, onClose, backgroundColor, color, width, style, }: AlertProps): import("react/jsx-runtime").JSX.Element;
41
+ //# sourceMappingURL=Alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../../../src/components/Alert/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,CAAC;AAEzE,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B,6CAA6C;IAC7C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAgBD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EACpB,MAAe,EACf,KAAK,EACL,OAAO,EACP,QAAQ,EACR,IAAa,EACb,QAAe,EACf,SAAoB,EACpB,MAAM,EACN,OAAO,EACP,eAAe,EACf,KAAK,EACL,KAAK,EACL,KAAK,GACN,EAAE,UAAU,2CAyDZ"}
@@ -0,0 +1,3 @@
1
+ export { Alert } from './Alert';
2
+ export type { AlertProps, AlertStatus } from './Alert';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Alert/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ import type { IconName } from '../Icon/icons.generated';
4
+ export interface StatTileProps {
5
+ /** Small label above the value. */
6
+ label: string;
7
+ /** The value — a string/number, or a node for custom formatting/color. */
8
+ value: ReactNode;
9
+ /** Optional leading icon. */
10
+ icon?: IconName;
11
+ /** Fixed width. Omit to fill the parent (works in a flex/grid row of tiles). */
12
+ width?: number;
13
+ /** Make the tile pressable. */
14
+ onPress?: () => void;
15
+ /** Tile background. Defaults to `background.subtle`. */
16
+ backgroundColor?: string;
17
+ /** Label color. Defaults to `secondary`. */
18
+ labelColor?: string;
19
+ /** Value color (when `value` is text). Defaults to `primary`. */
20
+ valueColor?: string;
21
+ /** Override the container style. */
22
+ style?: StyleProp<ViewStyle>;
23
+ accessibilityLabel?: string;
24
+ }
25
+ /**
26
+ * StatTile — a compact KPI card: a small label over a prominent value (Figma
27
+ * "info card"). Fills its parent by default (so a row/grid of tiles sizes evenly)
28
+ * or takes a fixed `width`. `value` accepts a node for custom color/formatting.
29
+ */
30
+ export declare function StatTile({ label, value, icon, width, onPress, backgroundColor, labelColor, valueColor, style, accessibilityLabel, }: StatTileProps): import("react/jsx-runtime").JSX.Element;
31
+ //# sourceMappingURL=StatTile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatTile.d.ts","sourceRoot":"","sources":["../../../../../src/components/StatTile/StatTile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,KAAK,EAAE,SAAS,CAAC;IACjB,6BAA6B;IAC7B,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,OAAO,EACP,eAAe,EACf,UAAU,EACV,UAAU,EACV,KAAK,EACL,kBAAkB,GACnB,EAAE,aAAa,2CAoDf"}
@@ -0,0 +1,3 @@
1
+ export { StatTile } from './StatTile';
2
+ export type { StatTileProps } from './StatTile';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/StatTile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from './Alert';
1
2
  export * from './Avatar';
2
3
  export * from './Badge';
3
4
  export * from './brand';
@@ -23,6 +24,7 @@ export * from './Radio';
23
24
  export * from './Select';
24
25
  export * from './Sidebar';
25
26
  export * from './Spinner';
27
+ export * from './StatTile';
26
28
  export * from './Surface';
27
29
  export * from './Switch';
28
30
  export * from './Table';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAE3B,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAE3B,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bacon-pos/ui",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Bacon POS design system — React Native component library",
5
5
  "main": "./lib/commonjs/index.js",
6
6
  "module": "./lib/module/index.js",