@gravitee/graphene-core 2.0.1 → 2.1.0-graphene-174.c4b9d10

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/USAGE_GUIDE.md CHANGED
@@ -94,7 +94,11 @@ import { CheckIcon } from '@gravitee/graphene-core/icons';
94
94
 
95
95
  ## Token reference (Tailwind utilities)
96
96
 
97
- When using **Tier 2**, the constrained theme exposes only these scales. Prefer them over arbitrary values (`bg-blue-500`, `p-[13px]`, etc.) so UI stays aligned with the system.
97
+ The constrained theme exposes only these scales. Prefer them over arbitrary values (`bg-blue-500`, `p-[13px]`, etc.) so UI stays aligned with the system.
98
+
99
+ **Tier 1** consumers get the semantic-color utilities and the standard layout/spacing scale (`{m,p}{t,b,l,r,x,y}`, `space-{x,y}`, `gap` for sizes 0-12) pre-compiled in the shipped CSS. Per-component utilities (sizing variants, hover states, etc.) only ship if a Graphene primitive uses them — request a primitive or move to Tier 2 if more freedom is needed.
100
+
101
+ **Tier 2** consumers get every utility their app uses, scoped by the theme. The shared ESLint config below enforces alignment.
98
102
 
99
103
  The shared ESLint config (`@gravitee/graphene-core/eslint`) enforces this with `better-tailwindcss/no-unknown-classes`. Point its `entryPoint` at a CSS file that imports `@gravitee/graphene-core/tailwind-theme` so lint flags any class outside the allowed scales. Note that the rule catches unknown class names (e.g. `w-99`), not arbitrary values (e.g. `w-[13px]`) - those still compile but should be avoided. Install the peer plugin:
100
104
 
@@ -115,7 +119,7 @@ export default [...graphene, { settings: { 'better-tailwindcss': { entryPoint: '
115
119
 
116
120
  Maps to CSS variables from Graphene themes. Use utilities like `bg-*`, `text-*`, `border-*`:
117
121
 
118
- `background`, `foreground`, `card`, `card-foreground`, `popover`, `popover-foreground`, `primary`, `primary-foreground`, `secondary`, `secondary-foreground`, `muted`, `muted-foreground`, `accent`, `accent-foreground`, `destructive`, `destructive-foreground`, `success`, `success-foreground`, `warning`, `warning-foreground`, `border`, `input`, `ring`.
122
+ `background`, `foreground`, `card`, `card-foreground`, `popover`, `popover-foreground`, `primary`, `primary-foreground`, `secondary`, `secondary-foreground`, `muted`, `muted-foreground`, `accent`, `accent-foreground`, `destructive`, `destructive-foreground`, `success`, `success-foreground`, `warning`, `warning-foreground`, `highlight`, `highlight-foreground`, `border`, `input`, `ring`.
119
123
 
120
124
  Also: `transparent`, `current`, `black`, `white` (mapped to Graphene neutrals where defined).
121
125
 
@@ -0,0 +1,10 @@
1
+ import { FileUploadItemValue } from '../../composed/FileUpload';
2
+ /** One item per FileTypeKind, with mixed statuses (success / uploading / error). */
3
+ export declare const fileUploadGalleryItems: FileUploadItemValue[];
4
+ /** Same files as the gallery, without progress/status (queued / unstarted). */
5
+ export declare const fileUploadGalleryIdleItems: FileUploadItemValue[];
6
+ /** Mid-upload + failed pair. */
7
+ export declare const fileUploadErrorItems: FileUploadItemValue[];
8
+ /** Single completed upload, used by the disabled-state story. */
9
+ export declare const fileUploadDisabledItems: FileUploadItemValue[];
10
+ //# sourceMappingURL=file-upload.fixture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-upload.fixture.d.ts","sourceRoot":"","sources":["../../../src/__stories__/fixtures/file-upload.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAevF,oFAAoF;AACpF,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAOvD,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,EAO3D,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,oBAAoB,EAAE,mBAAmB,EAGrD,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,EAAE,mBAAmB,EAExD,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { Accept, FileRejection } from 'react-dropzone';
2
+ import * as React from 'react';
3
+ interface FileUploadInputProps extends Omit<React.ComponentProps<'div'>, 'children' | 'onError'> {
4
+ accept?: Accept;
5
+ disabled?: boolean;
6
+ hint?: React.ReactNode;
7
+ icon?: React.ReactNode;
8
+ invalid?: boolean;
9
+ label?: React.ReactNode;
10
+ maxFileSize?: number;
11
+ maxFiles?: number;
12
+ multiple?: boolean;
13
+ onFilesAccepted?: (files: File[]) => void;
14
+ onFilesRejected?: (rejections: FileRejection[]) => void;
15
+ }
16
+ declare function FileUploadInput({ accept, className, disabled, hint, icon, invalid, label, maxFileSize, maxFiles, multiple, onFilesAccepted, onFilesRejected, ...props }: FileUploadInputProps): import("react/jsx-runtime").JSX.Element;
17
+ export { FileUploadInput };
18
+ export type { Accept, FileRejection } from 'react-dropzone';
19
+ export type { FileUploadInputProps };
20
+ //# sourceMappingURL=FileUploadInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUploadInput.d.ts","sourceRoot":"","sources":["../../../src/base/FileUploadInput/FileUploadInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAe,MAAM,gBAAgB,CAAC;AAM9E,UAAU,oBAAqB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAC1C,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CACzD;AAqBD,iBAAS,eAAe,CAAC,EACvB,MAAM,EACN,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAY,EACZ,QAAgB,EAChB,eAAe,EACf,eAAe,EACf,GAAG,KAAK,EACT,EAAE,oBAAoB,2CA+CtB;AAED,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5D,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { FileUploadInput } from './FileUploadInput';
2
+ export type { Accept, FileRejection, FileUploadInputProps } from './FileUploadInput';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/FileUploadInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Progress as ProgressPrimitive } from 'radix-ui';
2
+ import * as React from 'react';
3
+ declare function Progress({ className, value, ...props }: React.ComponentProps<typeof ProgressPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Progress };
5
+ //# sourceMappingURL=Progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.d.ts","sourceRoot":"","sources":["../../../src/base/Progress/Progress.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC,2CAcpG;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Progress } from './Progress';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/base/Progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { Accept, FileRejection } from '../../base/FileUploadInput';
2
+ import { FileUploadItemValue } from './FileUploadItem';
3
+ import * as React from 'react';
4
+ interface FileUploadProps {
5
+ accept?: Accept;
6
+ className?: string;
7
+ disabled?: boolean;
8
+ errors?: string[];
9
+ hint?: React.ReactNode;
10
+ invalid?: boolean;
11
+ items: FileUploadItemValue[];
12
+ label?: React.ReactNode;
13
+ maxFileSize?: number;
14
+ maxFiles?: number;
15
+ multiple?: boolean;
16
+ onFileRemove?: (id: string) => void;
17
+ onFilesAdd?: (files: File[]) => void;
18
+ onFilesReject?: (rejections: FileRejection[]) => void;
19
+ }
20
+ declare function FileUpload({ className, errors, invalid, items, onFileRemove, onFilesAdd, onFilesReject, ...inputProps }: FileUploadProps): import("react/jsx-runtime").JSX.Element;
21
+ export { FileUpload };
22
+ export type { FileUploadProps };
23
+ //# sourceMappingURL=FileUpload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/composed/FileUpload/FileUpload.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,aAAa,EAAmB,MAAM,8CAA8C,CAAC;AAEhH,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5E,UAAU,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CACvD;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,MAAM,EACN,OAAO,EACP,KAAK,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,GAAG,UAAU,EACd,EAAE,eAAe,2CA6BjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,17 @@
1
+ import * as React from 'react';
2
+ type FileUploadStatus = 'error' | 'idle' | 'success' | 'uploading';
3
+ interface FileUploadItemValue {
4
+ error?: string;
5
+ file: File;
6
+ id: string;
7
+ progress?: number;
8
+ status?: FileUploadStatus;
9
+ }
10
+ interface FileUploadItemProps extends Omit<React.ComponentProps<'div'>, 'children' | 'id'> {
11
+ item: FileUploadItemValue;
12
+ onRemove?: (id: string) => void;
13
+ }
14
+ declare function FileUploadItem({ className, item, onRemove, ...props }: FileUploadItemProps): import("react/jsx-runtime").JSX.Element;
15
+ export { FileUploadItem };
16
+ export type { FileUploadItemProps, FileUploadItemValue, FileUploadStatus };
17
+ //# sourceMappingURL=FileUploadItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUploadItem.d.ts","sourceRoot":"","sources":["../../../src/composed/FileUpload/FileUploadItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,KAAK,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,CAAC;AAEnE,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,UAAU,mBAAoB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACxF,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAiCD,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,2CAkDnF;AAED,OAAO,EAAE,cAAc,EAAE,CAAC;AAC1B,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { FileUpload } from './FileUpload';
2
+ export type { FileUploadProps } from './FileUpload';
3
+ export { FileUploadItem } from './FileUploadItem';
4
+ export type { FileUploadItemProps, FileUploadItemValue, FileUploadStatus } from './FileUploadItem';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/composed/FileUpload/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export * from './base/Drawer';
17
17
  export * from './base/DropdownMenu';
18
18
  export * from './base/Empty';
19
19
  export * from './base/Field';
20
+ export * from './base/FileUploadInput';
20
21
  export * from './base/HoverCard';
21
22
  export * from './base/Input';
22
23
  export * from './base/InputGroup';
@@ -25,6 +26,7 @@ export * from './base/Kbd';
25
26
  export * from './base/Label';
26
27
  export * from './base/Pagination';
27
28
  export * from './base/Popover';
29
+ export * from './base/Progress';
28
30
  export * from './base/RadioGroup';
29
31
  export * from './base/Resizable';
30
32
  export * from './base/ScrollArea';
@@ -50,6 +52,7 @@ export * from './composed/DataTable';
50
52
  export * from './composed/DataTablePagination';
51
53
  export * from './composed/DatePicker';
52
54
  export * from './composed/FacetedFilter';
55
+ export * from './composed/FileUpload';
53
56
  export * from './composed/LayoutSlots';
54
57
  export * from './composed/SelectorDropdown';
55
58
  export * from './composed/SidebarMode';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,0CAA0C,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,0CAA0C,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC"}