@bacon-pos/ui 0.9.0 → 0.10.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 (123) hide show
  1. package/lib/commonjs/components/EmptyState/EmptyState.js +88 -0
  2. package/lib/commonjs/components/EmptyState/EmptyState.js.map +1 -0
  3. package/lib/commonjs/components/EmptyState/EmptyState.stories.js +46 -0
  4. package/lib/commonjs/components/EmptyState/EmptyState.stories.js.map +1 -0
  5. package/lib/commonjs/components/EmptyState/EmptyState.test.js +40 -0
  6. package/lib/commonjs/components/EmptyState/EmptyState.test.js.map +1 -0
  7. package/lib/commonjs/components/EmptyState/index.js +13 -0
  8. package/lib/commonjs/components/EmptyState/index.js.map +1 -0
  9. package/lib/commonjs/components/Sidebar/Sidebar.js +264 -0
  10. package/lib/commonjs/components/Sidebar/Sidebar.js.map +1 -0
  11. package/lib/commonjs/components/Sidebar/Sidebar.stories.js +229 -0
  12. package/lib/commonjs/components/Sidebar/Sidebar.stories.js.map +1 -0
  13. package/lib/commonjs/components/Sidebar/Sidebar.test.js +131 -0
  14. package/lib/commonjs/components/Sidebar/Sidebar.test.js.map +1 -0
  15. package/lib/commonjs/components/Sidebar/index.js +13 -0
  16. package/lib/commonjs/components/Sidebar/index.js.map +1 -0
  17. package/lib/commonjs/components/Table/DataTable.js +149 -0
  18. package/lib/commonjs/components/Table/DataTable.js.map +1 -0
  19. package/lib/commonjs/components/Table/DataTable.stories.js +214 -0
  20. package/lib/commonjs/components/Table/DataTable.stories.js.map +1 -0
  21. package/lib/commonjs/components/Table/DataTable.test.js +143 -0
  22. package/lib/commonjs/components/Table/DataTable.test.js.map +1 -0
  23. package/lib/commonjs/components/Table/Table.js +520 -0
  24. package/lib/commonjs/components/Table/Table.js.map +1 -0
  25. package/lib/commonjs/components/Table/Table.stories.js +385 -0
  26. package/lib/commonjs/components/Table/Table.stories.js.map +1 -0
  27. package/lib/commonjs/components/Table/Table.test.js +278 -0
  28. package/lib/commonjs/components/Table/Table.test.js.map +1 -0
  29. package/lib/commonjs/components/Table/index.js +20 -0
  30. package/lib/commonjs/components/Table/index.js.map +1 -0
  31. package/lib/commonjs/components/brand/BaconLogo.js +29 -0
  32. package/lib/commonjs/components/brand/BaconLogo.js.map +1 -0
  33. package/lib/commonjs/components/brand/index.js +7 -0
  34. package/lib/commonjs/components/brand/index.js.map +1 -1
  35. package/lib/commonjs/components/index.js +50 -17
  36. package/lib/commonjs/components/index.js.map +1 -1
  37. package/lib/module/components/EmptyState/EmptyState.js +84 -0
  38. package/lib/module/components/EmptyState/EmptyState.js.map +1 -0
  39. package/lib/module/components/EmptyState/EmptyState.stories.js +42 -0
  40. package/lib/module/components/EmptyState/EmptyState.stories.js.map +1 -0
  41. package/lib/module/components/EmptyState/EmptyState.test.js +40 -0
  42. package/lib/module/components/EmptyState/EmptyState.test.js.map +1 -0
  43. package/lib/module/components/EmptyState/index.js +4 -0
  44. package/lib/module/components/EmptyState/index.js.map +1 -0
  45. package/lib/module/components/Sidebar/Sidebar.js +260 -0
  46. package/lib/module/components/Sidebar/Sidebar.js.map +1 -0
  47. package/lib/module/components/Sidebar/Sidebar.stories.js +225 -0
  48. package/lib/module/components/Sidebar/Sidebar.stories.js.map +1 -0
  49. package/lib/module/components/Sidebar/Sidebar.test.js +131 -0
  50. package/lib/module/components/Sidebar/Sidebar.test.js.map +1 -0
  51. package/lib/module/components/Sidebar/index.js +4 -0
  52. package/lib/module/components/Sidebar/index.js.map +1 -0
  53. package/lib/module/components/Table/DataTable.js +145 -0
  54. package/lib/module/components/Table/DataTable.js.map +1 -0
  55. package/lib/module/components/Table/DataTable.stories.js +210 -0
  56. package/lib/module/components/Table/DataTable.stories.js.map +1 -0
  57. package/lib/module/components/Table/DataTable.test.js +143 -0
  58. package/lib/module/components/Table/DataTable.test.js.map +1 -0
  59. package/lib/module/components/Table/Table.js +516 -0
  60. package/lib/module/components/Table/Table.js.map +1 -0
  61. package/lib/module/components/Table/Table.stories.js +381 -0
  62. package/lib/module/components/Table/Table.stories.js.map +1 -0
  63. package/lib/module/components/Table/Table.test.js +278 -0
  64. package/lib/module/components/Table/Table.test.js.map +1 -0
  65. package/lib/module/components/Table/index.js +5 -0
  66. package/lib/module/components/Table/index.js.map +1 -0
  67. package/lib/module/components/brand/BaconLogo.js +25 -0
  68. package/lib/module/components/brand/BaconLogo.js.map +1 -0
  69. package/lib/module/components/brand/index.js +1 -0
  70. package/lib/module/components/brand/index.js.map +1 -1
  71. package/lib/module/components/index.js +3 -0
  72. package/lib/module/components/index.js.map +1 -1
  73. package/lib/typescript/commonjs/components/EmptyState/EmptyState.d.ts +30 -0
  74. package/lib/typescript/commonjs/components/EmptyState/EmptyState.d.ts.map +1 -0
  75. package/lib/typescript/commonjs/components/EmptyState/index.d.ts +3 -0
  76. package/lib/typescript/commonjs/components/EmptyState/index.d.ts.map +1 -0
  77. package/lib/typescript/commonjs/components/Sidebar/Sidebar.d.ts +57 -0
  78. package/lib/typescript/commonjs/components/Sidebar/Sidebar.d.ts.map +1 -0
  79. package/lib/typescript/commonjs/components/Sidebar/index.d.ts +3 -0
  80. package/lib/typescript/commonjs/components/Sidebar/index.d.ts.map +1 -0
  81. package/lib/typescript/commonjs/components/Table/DataTable.d.ts +53 -0
  82. package/lib/typescript/commonjs/components/Table/DataTable.d.ts.map +1 -0
  83. package/lib/typescript/commonjs/components/Table/Table.d.ts +85 -0
  84. package/lib/typescript/commonjs/components/Table/Table.d.ts.map +1 -0
  85. package/lib/typescript/commonjs/components/Table/index.d.ts +5 -0
  86. package/lib/typescript/commonjs/components/Table/index.d.ts.map +1 -0
  87. package/lib/typescript/commonjs/components/brand/BaconLogo.d.ts +13 -0
  88. package/lib/typescript/commonjs/components/brand/BaconLogo.d.ts.map +1 -0
  89. package/lib/typescript/commonjs/components/brand/index.d.ts +1 -0
  90. package/lib/typescript/commonjs/components/brand/index.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/components/index.d.ts +3 -0
  92. package/lib/typescript/commonjs/components/index.d.ts.map +1 -1
  93. package/lib/typescript/module/components/EmptyState/EmptyState.d.ts +30 -0
  94. package/lib/typescript/module/components/EmptyState/EmptyState.d.ts.map +1 -0
  95. package/lib/typescript/module/components/EmptyState/index.d.ts +3 -0
  96. package/lib/typescript/module/components/EmptyState/index.d.ts.map +1 -0
  97. package/lib/typescript/module/components/Sidebar/Sidebar.d.ts +57 -0
  98. package/lib/typescript/module/components/Sidebar/Sidebar.d.ts.map +1 -0
  99. package/lib/typescript/module/components/Sidebar/index.d.ts +3 -0
  100. package/lib/typescript/module/components/Sidebar/index.d.ts.map +1 -0
  101. package/lib/typescript/module/components/Table/DataTable.d.ts +53 -0
  102. package/lib/typescript/module/components/Table/DataTable.d.ts.map +1 -0
  103. package/lib/typescript/module/components/Table/Table.d.ts +85 -0
  104. package/lib/typescript/module/components/Table/Table.d.ts.map +1 -0
  105. package/lib/typescript/module/components/Table/index.d.ts +5 -0
  106. package/lib/typescript/module/components/Table/index.d.ts.map +1 -0
  107. package/lib/typescript/module/components/brand/BaconLogo.d.ts +13 -0
  108. package/lib/typescript/module/components/brand/BaconLogo.d.ts.map +1 -0
  109. package/lib/typescript/module/components/brand/index.d.ts +1 -0
  110. package/lib/typescript/module/components/brand/index.d.ts.map +1 -1
  111. package/lib/typescript/module/components/index.d.ts +3 -0
  112. package/lib/typescript/module/components/index.d.ts.map +1 -1
  113. package/package.json +1 -1
  114. package/src/components/EmptyState/EmptyState.tsx +91 -0
  115. package/src/components/EmptyState/index.ts +2 -0
  116. package/src/components/Sidebar/Sidebar.tsx +320 -0
  117. package/src/components/Sidebar/index.ts +2 -0
  118. package/src/components/Table/DataTable.tsx +173 -0
  119. package/src/components/Table/Table.tsx +556 -0
  120. package/src/components/Table/index.ts +10 -0
  121. package/src/components/brand/BaconLogo.tsx +25 -0
  122. package/src/components/brand/index.ts +1 -0
  123. package/src/components/index.ts +3 -0
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export { Table } from "./Table.js";
4
+ export { DataTable } from "./DataTable.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Table","DataTable"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/Table/index.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,YAAS;AAQ/B,SAASC,SAAS,QAAQ,gBAAa","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ import { SvgXml } from 'react-native-svg';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const VIEWBOX_W = 90.029;
6
+ const VIEWBOX_H = 75.2663;
7
+ const ASPECT = VIEWBOX_W / VIEWBOX_H;
8
+ const PATH = 'M79.6034 46.0332C84.1787 43.6264 87.0741 39.2894 87.0741 33.6655C87.0741 24.914 79.8477 19.0519 65.794 19.0519H51.2579H41.8987C40.594 19.0519 39.3728 18.7481 38.2826 18.2119C37.1626 17.6638 36.1975 16.8715 35.4409 15.9004C34.3923 14.5421 33.7609 12.8443 33.7609 11.0034V8.05447C33.7609 3.60426 30.1149 0 25.6289 0C21.143 0 17.497 3.60426 17.497 8.05447V11.0034C17.497 12.8443 16.8715 14.5421 15.817 15.9004C15.0604 16.8715 14.0953 17.6698 12.9753 18.2119C11.8851 18.7481 10.6638 19.0519 9.35915 19.0519H0V28.846H9.35915C13.857 28.846 17.4911 25.2357 17.4911 20.7915V16.4306C17.4911 11.9804 21.137 8.37617 25.623 8.37617C30.1089 8.37617 33.7549 11.9804 33.7549 16.4306V20.7915C33.7549 25.2357 37.3949 28.846 41.8868 28.846H64.1736C70.5183 28.846 73.9677 31.0145 73.9677 35.4289C73.9677 39.8434 70.5123 42.0953 64.1736 42.0953H51.9728H41.7617C40.5047 42.0775 39.3251 41.7796 38.2706 41.2553C37.1506 40.7132 36.1855 39.9149 35.4289 38.9438C34.3804 37.5855 33.7489 35.8877 33.7489 34.0468V31.0979C33.7489 26.6477 30.103 23.0494 25.6111 23.0494C21.1192 23.0494 17.4732 26.6536 17.4732 31.0979V34.0468C17.4732 35.8877 16.8477 37.5855 15.7932 38.9438C15.0366 39.9149 14.0715 40.7132 12.9515 41.2553C11.897 41.7796 10.7174 42.0775 9.46043 42.0953H0V51.5736H12.7251C12.7251 51.5736 12.737 51.5736 12.743 51.5736C15.3583 51.5736 17.4792 49.4528 17.4792 46.8375V44.24C17.4851 44.1089 17.4911 43.9779 17.4911 43.8468V39.486C17.4911 35.0357 21.137 31.4315 25.6289 31.4315C30.1209 31.4315 33.7668 35.0357 33.7668 39.486V43.8468C33.7668 43.9779 33.7728 44.1089 33.7787 44.24V46.8375C33.7787 49.4528 35.8996 51.5736 38.5149 51.5736C38.5149 51.5736 38.5268 51.5736 38.5328 51.5736H51.2579H66.4315C73.1753 51.5736 76.7915 53.8196 76.7915 58.5617C76.7915 63.3038 73.1753 65.4664 66.4315 65.4664H41.8928C40.5881 65.4664 39.3668 65.1626 38.2766 64.6264C37.1566 64.0783 36.1915 63.286 35.4349 62.3149C34.3864 60.9566 33.7549 59.2587 33.7549 57.4179V54.4689C33.7549 50.0187 30.1089 46.4145 25.623 46.4145C21.137 46.4145 17.4911 50.0187 17.4911 54.4689V57.4179C17.4911 59.2587 16.8655 60.9566 15.8111 62.3149C15.0545 63.286 14.0894 64.0843 12.9694 64.6264C11.8792 65.1626 10.6579 65.4664 9.35319 65.4664H0V75.2604H9.35915C13.857 75.2604 17.4911 71.6502 17.4911 67.206V62.8451C17.4911 58.3949 21.137 54.7906 25.623 54.7906C30.1089 54.7906 33.7549 58.3949 33.7549 62.8451V67.206C33.7549 71.6502 37.3949 75.2604 41.8868 75.2604H67.3906C82.1651 75.2604 89.8741 69.6366 89.8741 59.926C89.8741 52.8604 85.8587 48.0409 79.5975 46.0332H79.6034Z';
9
+ /**
10
+ * The Bacon POS brand mark (the red "B"). Rendered at its natural aspect ratio
11
+ * and not tinted by default — the brand color is preserved. Used as the default
12
+ * logo in `Sidebar`.
13
+ */
14
+ export function BaconLogo({
15
+ height = 40,
16
+ color = '#FF003A'
17
+ }) {
18
+ const xml = `<svg viewBox="0 0 ${VIEWBOX_W} ${VIEWBOX_H}" xmlns="http://www.w3.org/2000/svg"><path d="${PATH}" fill="${color}"/></svg>`;
19
+ return /*#__PURE__*/_jsx(SvgXml, {
20
+ xml: xml,
21
+ width: height * ASPECT,
22
+ height: height
23
+ });
24
+ }
25
+ //# sourceMappingURL=BaconLogo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SvgXml","jsx","_jsx","VIEWBOX_W","VIEWBOX_H","ASPECT","PATH","BaconLogo","height","color","xml","width"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/brand/BaconLogo.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1C,MAAMC,SAAS,GAAG,MAAM;AACxB,MAAMC,SAAS,GAAG,OAAO;AACzB,MAAMC,MAAM,GAAGF,SAAS,GAAGC,SAAS;AAEpC,MAAME,IAAI,GACR,k9EAAk9E;AASp9E;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAC;EAAEC,MAAM,GAAG,EAAE;EAAEC,KAAK,GAAG;AAA0B,CAAC,EAAE;EAC5E,MAAMC,GAAG,GAAG,qBAAqBP,SAAS,IAAIC,SAAS,iDAAiDE,IAAI,WAAWG,KAAK,WAAW;EACvI,oBAAOP,IAAA,CAACF,MAAM;IAACU,GAAG,EAAEA,GAAI;IAACC,KAAK,EAAEH,MAAM,GAAGH,MAAO;IAACG,MAAM,EAAEA;EAAO,CAAE,CAAC;AACrE","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  export { Logo } from "./Logo.js";
4
+ export { BaconLogo } from "./BaconLogo.js";
4
5
  export { Flag } from "./Flag.js";
5
6
  export { graphics } from "./registry.js";
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Logo","Flag","graphics"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/brand/index.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAuC,WAAQ;AAC5D,SAASC,IAAI,QAA0C,WAAQ;AAC/D,SAASC,QAAQ,QAAwC,eAAY","ignoreList":[]}
1
+ {"version":3,"names":["Logo","BaconLogo","Flag","graphics"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/brand/index.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAuC,WAAQ;AAC5D,SAASC,SAAS,QAA6B,gBAAa;AAC5D,SAASC,IAAI,QAA0C,WAAQ;AAC/D,SAASC,QAAQ,QAAwC,eAAY","ignoreList":[]}
@@ -11,6 +11,7 @@ export * from "./CodeField/index.js";
11
11
  export * from "./CodeInput/index.js";
12
12
  export * from "./Dialog/index.js";
13
13
  export * from "./Dropdown/index.js";
14
+ export * from "./EmptyState/index.js";
14
15
  export * from "./Icon/index.js";
15
16
  export * from "./IconButton/index.js";
16
17
  export * from "./Input/index.js";
@@ -22,9 +23,11 @@ export * from "./ProgressBar/index.js";
22
23
  export * from "./QuantityStepper/index.js";
23
24
  export * from "./Radio/index.js";
24
25
  export * from "./Select/index.js";
26
+ export * from "./Sidebar/index.js";
25
27
  export * from "./Spinner/index.js";
26
28
  export * from "./Surface/index.js";
27
29
  export * from "./Switch/index.js";
30
+ export * from "./Table/index.js";
28
31
  export * from "./Text/index.js";
29
32
  export * from "./Toast/index.js";
30
33
  export * from "./UserChip/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,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,mBAAU;AACxB,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,qBAAY","ignoreList":[]}
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":[]}
@@ -0,0 +1,30 @@
1
+ import { type StyleProp, type ViewStyle } from 'react-native';
2
+ import { type ButtonVariant } from '../Button/Button';
3
+ import type { IconName } from '../Icon/icons.generated';
4
+ export interface EmptyStateAction {
5
+ label: string;
6
+ onPress: () => void;
7
+ icon?: IconName;
8
+ variant?: ButtonVariant;
9
+ }
10
+ export interface EmptyStateProps {
11
+ /** Icon shown in the badge above the title. */
12
+ icon?: IconName;
13
+ /** Title line. */
14
+ title: string;
15
+ /** Supporting description below the title. */
16
+ description?: string;
17
+ /** Optional call-to-action button. */
18
+ action?: EmptyStateAction;
19
+ /** Vertical padding around the block. Defaults to 32. */
20
+ paddingVertical?: number;
21
+ /** Override the container style. */
22
+ style?: StyleProp<ViewStyle>;
23
+ }
24
+ /**
25
+ * Empty state — a centered icon, title, description and optional action button.
26
+ * Used by `Table`/`DataTable` when there's no data, and reusable anywhere a
27
+ * "nothing here yet" message is needed.
28
+ */
29
+ export declare function EmptyState({ icon, title, description, action, paddingVertical, style, }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
30
+ //# sourceMappingURL=EmptyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAiB,EACjB,KAAK,EACL,WAAW,EACX,MAAM,EACN,eAAoB,EACpB,KAAK,GACN,EAAE,eAAe,2CAiDjB"}
@@ -0,0 +1,3 @@
1
+ export { EmptyState } from './EmptyState';
2
+ export type { EmptyStateProps, EmptyStateAction } from './EmptyState';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/EmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,57 @@
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 SidebarItem {
5
+ /** Stable key; also the active identifier. */
6
+ key: string;
7
+ /** Button text (hidden when collapsed). */
8
+ label: string;
9
+ /** Leading icon. When omitted, expanded reserves the icon space and collapsed shows the label's initial. */
10
+ icon?: IconName;
11
+ /** Optional icon shown when the item is active (e.g. a filled variant). */
12
+ activeIcon?: IconName;
13
+ /** Press handler. */
14
+ onPress?: () => void;
15
+ /** Dim and block the item. */
16
+ disabled?: boolean;
17
+ }
18
+ export interface SidebarProps {
19
+ /** Navigation items — rendered top-to-bottom. Defaults to none. */
20
+ items?: SidebarItem[];
21
+ /** Active item key (controlled). */
22
+ activeKey?: string;
23
+ /** Active item key for the uncontrolled case. */
24
+ defaultActiveKey?: string;
25
+ /** Called with the pressed item's key. */
26
+ onChange?: (key: string) => void;
27
+ /** Collapsed (icons only) state — controlled. */
28
+ collapsed?: boolean;
29
+ /** Initial collapsed state (uncontrolled). Defaults to false. */
30
+ defaultCollapsed?: boolean;
31
+ /** Called when the collapse state changes. */
32
+ onCollapsedChange?: (collapsed: boolean) => void;
33
+ /** Show the built-in expand/collapse toggle. Defaults to true. */
34
+ showToggle?: boolean;
35
+ /** Logo shown at the top. Defaults to the Bacon mark. */
36
+ logo?: ReactNode;
37
+ /** Bottom supporting text (e.g. a version). Defaults to none. */
38
+ footer?: string;
39
+ /** Expanded width. Defaults to 284 (Figma). */
40
+ expandedWidth?: number;
41
+ /** Collapsed width. Defaults to 122 (Figma). */
42
+ collapsedWidth?: number;
43
+ /** Scroll indicator color. Defaults to a subtle neutral. */
44
+ scrollbarColor?: string;
45
+ /** Override the container style. */
46
+ style?: StyleProp<ViewStyle>;
47
+ }
48
+ /**
49
+ * Sidebar — the app's main navigation drawer (Figma "Sidebar"). Expands/collapses
50
+ * between a labelled and an icon-only rail (animated width). The logo defaults to
51
+ * the Bacon mark (override via `logo`); an optional `footer` shows supporting text
52
+ * at the bottom. Items are dynamic buttons (icon + label via props); the list
53
+ * scrolls with an elegant auto-hiding indicator when it overflows, leaving the
54
+ * footer pinned. Buttons have hover and active states to mark the current section.
55
+ */
56
+ export declare function Sidebar({ items, activeKey, defaultActiveKey, onChange, collapsed: collapsedProp, defaultCollapsed, onCollapsedChange, showToggle, logo, footer, expandedWidth, collapsedWidth, scrollbarColor, style, }: SidebarProps): import("react/jsx-runtime").JSX.Element;
57
+ //# sourceMappingURL=Sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD,MAAM,WAAW,WAAW;IAC1B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,4GAA4G;IAC5G,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,yDAAyD;IACzD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAgGD;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAU,EACV,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,SAAS,EAAE,aAAa,EACxB,gBAAwB,EACxB,iBAAiB,EACjB,UAAiB,EACjB,IAAI,EACJ,MAAM,EACN,aAAmB,EACnB,cAAoB,EACpB,cAAc,EACd,KAAK,GACN,EAAE,YAAY,2CAwId"}
@@ -0,0 +1,3 @@
1
+ export { Sidebar } from './Sidebar';
2
+ export type { SidebarProps, SidebarItem } from './Sidebar';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Sidebar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { type StyleProp, type ViewStyle } from 'react-native';
2
+ import { type EmptyStateProps } from '../EmptyState/EmptyState';
3
+ import type { IconName } from '../Icon/icons.generated';
4
+ import { type TableProps } from './Table';
5
+ export interface DataTableTab {
6
+ value: string;
7
+ label: string;
8
+ icon?: IconName;
9
+ }
10
+ export interface DataTablePagination {
11
+ /** 1-based current page. */
12
+ page: number;
13
+ pageSize: number;
14
+ /** Total row count (across pages). */
15
+ total: number;
16
+ onPageChange: (page: number) => void;
17
+ /** Customize the range label. Defaults to `${from}–${to} of ${total}`. */
18
+ formatRange?: (from: number, to: number, total: number) => string;
19
+ }
20
+ export interface DataTableProps<T> extends Omit<TableProps<T>, 'empty'> {
21
+ /** Tabs above the toolbar (reuses `ChipGroup`). */
22
+ tabs?: DataTableTab[];
23
+ /** Active tab (controlled). */
24
+ activeTab?: string;
25
+ defaultTab?: string;
26
+ onTabChange?: (value: string) => void;
27
+ /** Show the search field. */
28
+ searchable?: boolean;
29
+ searchValue?: string;
30
+ onSearchChange?: (value: string) => void;
31
+ searchPlaceholder?: string;
32
+ /** Show a create button on the right of the toolbar. */
33
+ createLabel?: string;
34
+ onCreate?: () => void;
35
+ createIcon?: IconName;
36
+ /** Structured empty state (alternative to Table's `empty` node). */
37
+ emptyState?: EmptyStateProps;
38
+ /** Raw empty node (wins over `emptyState`). */
39
+ empty?: React.ReactNode;
40
+ /** Pagination controls below the table. */
41
+ pagination?: DataTablePagination;
42
+ /** Gap between toolbar sections. Defaults to 16. */
43
+ gap?: number;
44
+ containerStyle?: StyleProp<ViewStyle>;
45
+ }
46
+ /**
47
+ * DataTable — the turnkey management table (Figma): optional tabs (`ChipGroup`),
48
+ * a search + create toolbar, the `Table` body, a structured `EmptyState`, and
49
+ * optional pagination — assembled with consistent spacing. For bespoke layouts,
50
+ * compose `Table` + `EmptyState` yourself.
51
+ */
52
+ export declare function DataTable<T>({ tabs, activeTab, defaultTab, onTabChange, searchable, searchValue, onSearchChange, searchPlaceholder, createLabel, onCreate, createIcon, emptyState, empty, pagination, gap, containerStyle, ...tableProps }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
53
+ //# sourceMappingURL=DataTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/DataTable.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACnE;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACrE,mDAAmD;IACnD,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;IACtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,CAAC;IAEtB,oEAAoE;IACpE,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,+CAA+C;IAC/C,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAC3B,IAAI,EACJ,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAkB,EAClB,WAAW,EACX,cAAc,EACd,iBAA6B,EAC7B,WAAW,EACX,QAAQ,EACR,UAAmB,EACnB,UAAU,EACV,KAAK,EACL,UAAU,EACV,GAAQ,EACR,cAAc,EACd,GAAG,UAAU,EACd,EAAE,cAAc,CAAC,CAAC,CAAC,2CAwDnB"}
@@ -0,0 +1,85 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ export type ColumnAlign = 'left' | 'center' | 'right';
4
+ export type SortDirection = 'asc' | 'desc';
5
+ export interface TableSort {
6
+ key: string;
7
+ direction: SortDirection;
8
+ }
9
+ export interface TableColumn<T> {
10
+ /** Unique column id. */
11
+ key: string;
12
+ /** Header content (string or node). */
13
+ header: ReactNode;
14
+ /** Cell renderer. Defaults to `String(row[key])`. Return a string/number or any node (e.g. a `Badge`). */
15
+ render?: (row: T, index: number) => ReactNode;
16
+ /** Flex grow. Defaults to 1. Ignored when `width` is set. */
17
+ flex?: number;
18
+ /** Fixed column width in px. */
19
+ width?: number;
20
+ /** Text/content alignment. Defaults to `left`. */
21
+ align?: ColumnAlign;
22
+ /** Enable sorting on this column (needs `sortAccessor`). */
23
+ sortable?: boolean;
24
+ /** Value used to sort this column when sorting internally. */
25
+ sortAccessor?: (row: T) => string | number;
26
+ }
27
+ export interface TableProps<T> {
28
+ columns: TableColumn<T>[];
29
+ data: T[];
30
+ /** Stable key per row. */
31
+ keyExtractor: (row: T, index: number) => string;
32
+ /** Row press (non-expandable tables). Expandable rows toggle on press instead. */
33
+ onRowPress?: (row: T, index: number) => void;
34
+ /** Expandable (accordion) rows — mutually exclusive with `renderActions`. */
35
+ expandable?: boolean;
36
+ /** Content shown when a row is expanded. */
37
+ renderExpanded?: (row: T, index: number) => ReactNode;
38
+ /** One open row at a time (`single`) or many (`multiple`). Defaults to `single`. */
39
+ expansionMode?: 'single' | 'multiple';
40
+ /** Controlled expanded row keys. */
41
+ expandedKeys?: string[];
42
+ defaultExpandedKeys?: string[];
43
+ onExpandedChange?: (keys: string[]) => void;
44
+ /** Trailing per-row actions (e.g. edit/delete) — mutually exclusive with `expandable`. */
45
+ renderActions?: (row: T, index: number) => ReactNode;
46
+ /** Width reserved for the actions column. Defaults to 96. */
47
+ actionsWidth?: number;
48
+ /** Row selection via checkboxes. */
49
+ selectable?: boolean;
50
+ selectedKeys?: string[];
51
+ defaultSelectedKeys?: string[];
52
+ onSelectionChange?: (keys: string[]) => void;
53
+ /** Controlled sort. Omit for internal sorting via each column's `sortAccessor`. */
54
+ sort?: TableSort;
55
+ defaultSort?: TableSort;
56
+ onSortChange?: (sort: TableSort) => void;
57
+ /** Rounded, clipped container. Defaults to true. */
58
+ rounded?: boolean;
59
+ /** Cap the body height; rows scroll with the elegant indicator, header stays. */
60
+ maxHeight?: number;
61
+ scrollbarColor?: string;
62
+ /** Show a loading placeholder instead of rows. */
63
+ loading?: boolean;
64
+ /** Loading style: a centered `spinner` (default) or shimmering `skeleton` rows. */
65
+ loadingVariant?: 'spinner' | 'skeleton';
66
+ /** Text under the spinner. Defaults to "Loading data"; pass `null` to hide it. */
67
+ loadingText?: string | null;
68
+ /** Number of skeleton rows. Defaults to 5. */
69
+ skeletonRows?: number;
70
+ /** Shown when there is no data (and not loading). */
71
+ empty?: ReactNode;
72
+ /** Below this width the table renders each row as a card. Defaults to 640. */
73
+ mobileBreakpoint?: number;
74
+ style?: StyleProp<ViewStyle>;
75
+ }
76
+ /**
77
+ * Table — a flexible, token-driven data table (Figma "Table"). Columns define
78
+ * width/flex, alignment and cell renderers (text, `Badge`, anything). Supports
79
+ * sortable headers, checkbox selection, and accordion rows (expand on row press)
80
+ * OR a trailing actions column (the two are mutually exclusive). A sticky header
81
+ * with an elegant scrolling body (`maxHeight`), loading and empty states, and a
82
+ * card fallback below `mobileBreakpoint`.
83
+ */
84
+ export declare function Table<T>({ columns, data, keyExtractor, onRowPress, expandable, renderExpanded, expansionMode, expandedKeys, defaultExpandedKeys, onExpandedChange, renderActions, actionsWidth, selectable, selectedKeys, defaultSelectedKeys, onSelectionChange, sort, defaultSort, onSortChange, rounded, maxHeight, scrollbarColor, loading, loadingVariant, loadingText, skeletonRows, empty, mobileBreakpoint, style, }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
85
+ //# sourceMappingURL=Table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EAOL,KAAK,SAAS,EAEd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAQtB,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAC3C,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,0GAA0G;IAC1G,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IAC9C,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,0BAA0B;IAC1B,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAEhD,kFAAkF;IAClF,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE7C,6EAA6E;IAC7E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACtD,oFAAoF;IACpF,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAE5C,0FAA0F;IAC1F,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,SAAS,CAAC;IACrD,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,oCAAoC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAE7C,mFAAmF;IACnF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAEzC,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mFAAmF;IACnF,cAAc,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACxC,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAeD;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,EACvB,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,UAAkB,EAClB,cAAc,EACd,aAAwB,EACxB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,YAAiB,EACjB,UAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,OAAc,EACd,SAAS,EACT,cAAc,EACd,OAAe,EACf,cAA0B,EAC1B,WAA4B,EAC5B,YAAgB,EAChB,KAAK,EACL,gBAAsB,EACtB,KAAK,GACN,EAAE,UAAU,CAAC,CAAC,CAAC,2CAgZf"}
@@ -0,0 +1,5 @@
1
+ export { Table } from './Table';
2
+ export type { TableProps, TableColumn, TableSort, ColumnAlign, SortDirection, } from './Table';
3
+ export { DataTable } from './DataTable';
4
+ export type { DataTableProps, DataTableTab, DataTablePagination } from './DataTable';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,13 @@
1
+ export interface BaconLogoProps {
2
+ /** Rendered height in px; width follows the mark's aspect ratio. Defaults to 40. */
3
+ height?: number;
4
+ /** Mark color. Defaults to the Bacon red. */
5
+ color?: string;
6
+ }
7
+ /**
8
+ * The Bacon POS brand mark (the red "B"). Rendered at its natural aspect ratio
9
+ * and not tinted by default — the brand color is preserved. Used as the default
10
+ * logo in `Sidebar`.
11
+ */
12
+ export declare function BaconLogo({ height, color }: BaconLogoProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=BaconLogo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaconLogo.d.ts","sourceRoot":"","sources":["../../../../../src/components/brand/BaconLogo.tsx"],"names":[],"mappings":"AASA,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,MAAW,EAAE,KAAiB,EAAE,EAAE,cAAc,2CAG3E"}
@@ -1,4 +1,5 @@
1
1
  export { Logo, type LogoProps, type LogoName } from './Logo';
2
+ export { BaconLogo, type BaconLogoProps } from './BaconLogo';
2
3
  export { Flag, type FlagProps, type FlagCountry } from './Flag';
3
4
  export { graphics, type GraphicName, type Graphic } from './registry';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/brand/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/brand/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC"}
@@ -9,6 +9,7 @@ export * from './CodeField';
9
9
  export * from './CodeInput';
10
10
  export * from './Dialog';
11
11
  export * from './Dropdown';
12
+ export * from './EmptyState';
12
13
  export * from './Icon';
13
14
  export * from './IconButton';
14
15
  export * from './Input';
@@ -20,9 +21,11 @@ export * from './ProgressBar';
20
21
  export * from './QuantityStepper';
21
22
  export * from './Radio';
22
23
  export * from './Select';
24
+ export * from './Sidebar';
23
25
  export * from './Spinner';
24
26
  export * from './Surface';
25
27
  export * from './Switch';
28
+ export * from './Table';
26
29
  export * from './Text';
27
30
  export * from './Toast';
28
31
  export * from './UserChip';
@@ -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,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,UAAU,CAAC;AACzB,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,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"}
@@ -0,0 +1,30 @@
1
+ import { type StyleProp, type ViewStyle } from 'react-native';
2
+ import { type ButtonVariant } from '../Button/Button';
3
+ import type { IconName } from '../Icon/icons.generated';
4
+ export interface EmptyStateAction {
5
+ label: string;
6
+ onPress: () => void;
7
+ icon?: IconName;
8
+ variant?: ButtonVariant;
9
+ }
10
+ export interface EmptyStateProps {
11
+ /** Icon shown in the badge above the title. */
12
+ icon?: IconName;
13
+ /** Title line. */
14
+ title: string;
15
+ /** Supporting description below the title. */
16
+ description?: string;
17
+ /** Optional call-to-action button. */
18
+ action?: EmptyStateAction;
19
+ /** Vertical padding around the block. Defaults to 32. */
20
+ paddingVertical?: number;
21
+ /** Override the container style. */
22
+ style?: StyleProp<ViewStyle>;
23
+ }
24
+ /**
25
+ * Empty state — a centered icon, title, description and optional action button.
26
+ * Used by `Table`/`DataTable` when there's no data, and reusable anywhere a
27
+ * "nothing here yet" message is needed.
28
+ */
29
+ export declare function EmptyState({ icon, title, description, action, paddingVertical, style, }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
30
+ //# sourceMappingURL=EmptyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAU,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,yDAAyD;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,IAAiB,EACjB,KAAK,EACL,WAAW,EACX,MAAM,EACN,eAAoB,EACpB,KAAK,GACN,EAAE,eAAe,2CAiDjB"}
@@ -0,0 +1,3 @@
1
+ export { EmptyState } from './EmptyState';
2
+ export type { EmptyStateProps, EmptyStateAction } from './EmptyState';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/EmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,57 @@
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 SidebarItem {
5
+ /** Stable key; also the active identifier. */
6
+ key: string;
7
+ /** Button text (hidden when collapsed). */
8
+ label: string;
9
+ /** Leading icon. When omitted, expanded reserves the icon space and collapsed shows the label's initial. */
10
+ icon?: IconName;
11
+ /** Optional icon shown when the item is active (e.g. a filled variant). */
12
+ activeIcon?: IconName;
13
+ /** Press handler. */
14
+ onPress?: () => void;
15
+ /** Dim and block the item. */
16
+ disabled?: boolean;
17
+ }
18
+ export interface SidebarProps {
19
+ /** Navigation items — rendered top-to-bottom. Defaults to none. */
20
+ items?: SidebarItem[];
21
+ /** Active item key (controlled). */
22
+ activeKey?: string;
23
+ /** Active item key for the uncontrolled case. */
24
+ defaultActiveKey?: string;
25
+ /** Called with the pressed item's key. */
26
+ onChange?: (key: string) => void;
27
+ /** Collapsed (icons only) state — controlled. */
28
+ collapsed?: boolean;
29
+ /** Initial collapsed state (uncontrolled). Defaults to false. */
30
+ defaultCollapsed?: boolean;
31
+ /** Called when the collapse state changes. */
32
+ onCollapsedChange?: (collapsed: boolean) => void;
33
+ /** Show the built-in expand/collapse toggle. Defaults to true. */
34
+ showToggle?: boolean;
35
+ /** Logo shown at the top. Defaults to the Bacon mark. */
36
+ logo?: ReactNode;
37
+ /** Bottom supporting text (e.g. a version). Defaults to none. */
38
+ footer?: string;
39
+ /** Expanded width. Defaults to 284 (Figma). */
40
+ expandedWidth?: number;
41
+ /** Collapsed width. Defaults to 122 (Figma). */
42
+ collapsedWidth?: number;
43
+ /** Scroll indicator color. Defaults to a subtle neutral. */
44
+ scrollbarColor?: string;
45
+ /** Override the container style. */
46
+ style?: StyleProp<ViewStyle>;
47
+ }
48
+ /**
49
+ * Sidebar — the app's main navigation drawer (Figma "Sidebar"). Expands/collapses
50
+ * between a labelled and an icon-only rail (animated width). The logo defaults to
51
+ * the Bacon mark (override via `logo`); an optional `footer` shows supporting text
52
+ * at the bottom. Items are dynamic buttons (icon + label via props); the list
53
+ * scrolls with an elegant auto-hiding indicator when it overflows, leaving the
54
+ * footer pinned. Buttons have hover and active states to mark the current section.
55
+ */
56
+ export declare function Sidebar({ items, activeKey, defaultActiveKey, onChange, collapsed: collapsedProp, defaultCollapsed, onCollapsedChange, showToggle, logo, footer, expandedWidth, collapsedWidth, scrollbarColor, style, }: SidebarProps): import("react/jsx-runtime").JSX.Element;
57
+ //# sourceMappingURL=Sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAKxD,MAAM,WAAW,WAAW;IAC1B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,4GAA4G;IAC5G,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjC,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,yDAAyD;IACzD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oCAAoC;IACpC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAgGD;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,EACtB,KAAU,EACV,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,SAAS,EAAE,aAAa,EACxB,gBAAwB,EACxB,iBAAiB,EACjB,UAAiB,EACjB,IAAI,EACJ,MAAM,EACN,aAAmB,EACnB,cAAoB,EACpB,cAAc,EACd,KAAK,GACN,EAAE,YAAY,2CAwId"}
@@ -0,0 +1,3 @@
1
+ export { Sidebar } from './Sidebar';
2
+ export type { SidebarProps, SidebarItem } from './Sidebar';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Sidebar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { type StyleProp, type ViewStyle } from 'react-native';
2
+ import { type EmptyStateProps } from '../EmptyState/EmptyState';
3
+ import type { IconName } from '../Icon/icons.generated';
4
+ import { type TableProps } from './Table';
5
+ export interface DataTableTab {
6
+ value: string;
7
+ label: string;
8
+ icon?: IconName;
9
+ }
10
+ export interface DataTablePagination {
11
+ /** 1-based current page. */
12
+ page: number;
13
+ pageSize: number;
14
+ /** Total row count (across pages). */
15
+ total: number;
16
+ onPageChange: (page: number) => void;
17
+ /** Customize the range label. Defaults to `${from}–${to} of ${total}`. */
18
+ formatRange?: (from: number, to: number, total: number) => string;
19
+ }
20
+ export interface DataTableProps<T> extends Omit<TableProps<T>, 'empty'> {
21
+ /** Tabs above the toolbar (reuses `ChipGroup`). */
22
+ tabs?: DataTableTab[];
23
+ /** Active tab (controlled). */
24
+ activeTab?: string;
25
+ defaultTab?: string;
26
+ onTabChange?: (value: string) => void;
27
+ /** Show the search field. */
28
+ searchable?: boolean;
29
+ searchValue?: string;
30
+ onSearchChange?: (value: string) => void;
31
+ searchPlaceholder?: string;
32
+ /** Show a create button on the right of the toolbar. */
33
+ createLabel?: string;
34
+ onCreate?: () => void;
35
+ createIcon?: IconName;
36
+ /** Structured empty state (alternative to Table's `empty` node). */
37
+ emptyState?: EmptyStateProps;
38
+ /** Raw empty node (wins over `emptyState`). */
39
+ empty?: React.ReactNode;
40
+ /** Pagination controls below the table. */
41
+ pagination?: DataTablePagination;
42
+ /** Gap between toolbar sections. Defaults to 16. */
43
+ gap?: number;
44
+ containerStyle?: StyleProp<ViewStyle>;
45
+ }
46
+ /**
47
+ * DataTable — the turnkey management table (Figma): optional tabs (`ChipGroup`),
48
+ * a search + create toolbar, the `Table` body, a structured `EmptyState`, and
49
+ * optional pagination — assembled with consistent spacing. For bespoke layouts,
50
+ * compose `Table` + `EmptyState` yourself.
51
+ */
52
+ export declare function DataTable<T>({ tabs, activeTab, defaultTab, onTabChange, searchable, searchValue, onSearchChange, searchPlaceholder, createLabel, onCreate, createIcon, emptyState, empty, pagination, gap, containerStyle, ...tableProps }: DataTableProps<T>): import("react/jsx-runtime").JSX.Element;
53
+ //# sourceMappingURL=DataTable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/DataTable.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIpE,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACnE;AAED,MAAM,WAAW,cAAc,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IACrE,mDAAmD;IACnD,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;IACtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC,6BAA6B;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,QAAQ,CAAC;IAEtB,oEAAoE;IACpE,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,+CAA+C;IAC/C,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,mBAAmB,CAAC;IAEjC,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAC3B,IAAI,EACJ,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAkB,EAClB,WAAW,EACX,cAAc,EACd,iBAA6B,EAC7B,WAAW,EACX,QAAQ,EACR,UAAmB,EACnB,UAAU,EACV,KAAK,EACL,UAAU,EACV,GAAQ,EACR,cAAc,EACd,GAAG,UAAU,EACd,EAAE,cAAc,CAAC,CAAC,CAAC,2CAwDnB"}