@pattern-stack/frontend-patterns 0.2.0-alpha.0 → 0.2.0-alpha.11
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/dist/atoms/components/core/Badge/Badge.d.ts +1 -1
- package/dist/atoms/components/data/DataTable/ColumnFilterDropdown.d.ts +32 -0
- package/dist/atoms/components/data/DataTable/ColumnFilterDropdown.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/ColumnVisibilityToggle.d.ts +32 -0
- package/dist/atoms/components/data/DataTable/ColumnVisibilityToggle.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/DataTable.d.ts +5 -2
- package/dist/atoms/components/data/DataTable/DataTable.d.ts.map +1 -1
- package/dist/atoms/components/data/DataTable/DataTable.expansion.d.ts +91 -0
- package/dist/atoms/components/data/DataTable/DataTable.expansion.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/DataTable.filters.d.ts +271 -0
- package/dist/atoms/components/data/DataTable/DataTable.filters.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/DataTable.types.d.ts +155 -5
- package/dist/atoms/components/data/DataTable/DataTable.types.d.ts.map +1 -1
- package/dist/atoms/components/data/DataTable/ExpandButton.d.ts +37 -0
- package/dist/atoms/components/data/DataTable/ExpandButton.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/FilterPill.d.ts +25 -0
- package/dist/atoms/components/data/DataTable/FilterPill.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/QuickFilterBar.d.ts +35 -0
- package/dist/atoms/components/data/DataTable/QuickFilterBar.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/filters/BooleanFilterEditor.d.ts +10 -0
- package/dist/atoms/components/data/DataTable/filters/BooleanFilterEditor.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/filters/DateFilterEditor.d.ts +11 -0
- package/dist/atoms/components/data/DataTable/filters/DateFilterEditor.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/filters/MultiSelectFilterEditor.d.ts +10 -0
- package/dist/atoms/components/data/DataTable/filters/MultiSelectFilterEditor.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/filters/NumberFilterEditor.d.ts +10 -0
- package/dist/atoms/components/data/DataTable/filters/NumberFilterEditor.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/filters/SelectFilterEditor.d.ts +10 -0
- package/dist/atoms/components/data/DataTable/filters/SelectFilterEditor.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/filters/TextFilterEditor.d.ts +10 -0
- package/dist/atoms/components/data/DataTable/filters/TextFilterEditor.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/filters/index.d.ts +14 -0
- package/dist/atoms/components/data/DataTable/filters/index.d.ts.map +1 -0
- package/dist/atoms/components/data/DataTable/index.d.ts +9 -0
- package/dist/atoms/components/data/DataTable/index.d.ts.map +1 -1
- package/dist/atoms/components/data/ProgressBar/ProgressBar.d.ts +1 -1
- package/dist/atoms/components/data/ProgressBar/ProgressBar.d.ts.map +1 -1
- package/dist/atoms/components/data/index.d.ts +3 -2
- package/dist/atoms/components/data/index.d.ts.map +1 -1
- package/dist/atoms/composed/ConnectionStatus/ConnectionStatus.d.ts +16 -0
- package/dist/atoms/composed/ConnectionStatus/ConnectionStatus.d.ts.map +1 -0
- package/dist/atoms/composed/ConnectionStatus/index.d.ts +3 -0
- package/dist/atoms/composed/ConnectionStatus/index.d.ts.map +1 -0
- package/dist/atoms/hooks/index.d.ts +9 -0
- package/dist/atoms/hooks/index.d.ts.map +1 -1
- package/dist/atoms/hooks/useAdaptiveTable.d.ts +49 -0
- package/dist/atoms/hooks/useAdaptiveTable.d.ts.map +1 -0
- package/dist/atoms/hooks/useApi.d.ts +1 -1
- package/dist/atoms/hooks/useApi.d.ts.map +1 -1
- package/dist/atoms/hooks/useColumnVisibility.d.ts +75 -0
- package/dist/atoms/hooks/useColumnVisibility.d.ts.map +1 -0
- package/dist/atoms/hooks/useEntityData.d.ts +36 -0
- package/dist/atoms/hooks/useEntityData.d.ts.map +1 -0
- package/dist/atoms/hooks/useEntityDetail.d.ts +43 -0
- package/dist/atoms/hooks/useEntityDetail.d.ts.map +1 -0
- package/dist/atoms/hooks/useExpandedRows.d.ts +66 -0
- package/dist/atoms/hooks/useExpandedRows.d.ts.map +1 -0
- package/dist/atoms/hooks/useFieldMetadata.d.ts +18 -0
- package/dist/atoms/hooks/useFieldMetadata.d.ts.map +1 -0
- package/dist/atoms/hooks/useOnlineStatus.d.ts +16 -0
- package/dist/atoms/hooks/useOnlineStatus.d.ts.map +1 -0
- package/dist/atoms/hooks/useResponsiveTable.d.ts +123 -0
- package/dist/atoms/hooks/useResponsiveTable.d.ts.map +1 -0
- package/dist/atoms/hooks/useTableFilters.d.ts +92 -0
- package/dist/atoms/hooks/useTableFilters.d.ts.map +1 -0
- package/dist/atoms/index.d.ts +1 -0
- package/dist/atoms/index.d.ts.map +1 -1
- package/dist/atoms/primitives/sheet.d.ts +23 -0
- package/dist/atoms/primitives/sheet.d.ts.map +1 -0
- package/dist/atoms/primitives/table.d.ts.map +1 -1
- package/dist/atoms/services/api/client.d.ts +12 -2
- package/dist/atoms/services/api/client.d.ts.map +1 -1
- package/dist/atoms/services/auth-service.d.ts +15 -0
- package/dist/atoms/services/auth-service.d.ts.map +1 -1
- package/dist/atoms/services/index.d.ts +2 -2
- package/dist/atoms/services/index.d.ts.map +1 -1
- package/dist/atoms/shared/config/table-config.d.ts +79 -0
- package/dist/atoms/shared/config/table-config.d.ts.map +1 -0
- package/dist/atoms/shared/index.d.ts +1 -0
- package/dist/atoms/shared/index.d.ts.map +1 -1
- package/dist/atoms/types/auth.d.ts +95 -2
- package/dist/atoms/types/auth.d.ts.map +1 -1
- package/dist/atoms/types/index.d.ts +1 -0
- package/dist/atoms/types/index.d.ts.map +1 -1
- package/dist/atoms/types/navigation.d.ts +1 -1
- package/dist/atoms/types/navigation.d.ts.map +1 -1
- package/dist/atoms/types/ui-config.d.ts +46 -11
- package/dist/atoms/types/ui-config.d.ts.map +1 -1
- package/dist/atoms/types/ui-metadata.d.ts +103 -0
- package/dist/atoms/types/ui-metadata.d.ts.map +1 -0
- package/dist/atoms/utils/entity-card-mapping.d.ts +105 -0
- package/dist/atoms/utils/entity-card-mapping.d.ts.map +1 -0
- package/dist/atoms/utils/field-detection.d.ts +2 -2
- package/dist/atoms/utils/field-detection.d.ts.map +1 -1
- package/dist/atoms/utils/icon-map.d.ts +48 -0
- package/dist/atoms/utils/icon-map.d.ts.map +1 -1
- package/dist/atoms/utils/index.d.ts +2 -0
- package/dist/atoms/utils/index.d.ts.map +1 -1
- package/dist/atoms/utils/ui-mapping.d.ts +9 -3
- package/dist/atoms/utils/ui-mapping.d.ts.map +1 -1
- package/dist/features/auth/components/ProtectedRoute.d.ts +3 -1
- package/dist/features/auth/components/ProtectedRoute.d.ts.map +1 -1
- package/dist/features/auth/hooks/useAuth.d.ts.map +1 -1
- package/dist/features/auth/providers/NoAuthProvider.d.ts +17 -0
- package/dist/features/auth/providers/NoAuthProvider.d.ts.map +1 -0
- package/dist/features/auth/providers/index.d.ts +1 -0
- package/dist/features/auth/providers/index.d.ts.map +1 -1
- package/dist/frontend-patterns.css +1 -4554
- package/dist/index.d.ts +12 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +8793 -18275
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +8790 -18271
- package/dist/index.js.map +1 -1
- package/dist/molecules/layout/AppHeader/AppHeader.d.ts.map +1 -1
- package/dist/molecules/layout/BulkSelectionBar.d.ts +14 -2
- package/dist/molecules/layout/BulkSelectionBar.d.ts.map +1 -1
- package/dist/molecules/layout/FieldGrid/FieldGrid.d.ts +61 -0
- package/dist/molecules/layout/FieldGrid/FieldGrid.d.ts.map +1 -0
- package/dist/molecules/layout/FieldGrid/index.d.ts +2 -0
- package/dist/molecules/layout/FieldGrid/index.d.ts.map +1 -0
- package/dist/molecules/layout/ListToolbar/ListToolbar.d.ts +37 -0
- package/dist/molecules/layout/ListToolbar/ListToolbar.d.ts.map +1 -0
- package/dist/molecules/layout/ListToolbar/index.d.ts +2 -0
- package/dist/molecules/layout/ListToolbar/index.d.ts.map +1 -0
- package/dist/molecules/layout/PageTitle/PageTitle.d.ts +17 -0
- package/dist/molecules/layout/PageTitle/PageTitle.d.ts.map +1 -0
- package/dist/molecules/layout/PageTitle/index.d.ts +2 -0
- package/dist/molecules/layout/PageTitle/index.d.ts.map +1 -0
- package/dist/molecules/layout/index.d.ts +3 -0
- package/dist/molecules/layout/index.d.ts.map +1 -1
- package/dist/molecules/layout/navigation-context.d.ts.map +1 -1
- package/dist/sync/EntityStoreProvider.d.ts +35 -0
- package/dist/sync/EntityStoreProvider.d.ts.map +1 -0
- package/dist/sync/createEntityHooks.d.ts +29 -0
- package/dist/sync/createEntityHooks.d.ts.map +1 -0
- package/dist/sync/createStore.d.ts +65 -0
- package/dist/sync/createStore.d.ts.map +1 -0
- package/dist/sync/index.d.ts +6 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/types.d.ts +383 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/templates/ListPageTemplate.d.ts +21 -0
- package/dist/templates/ListPageTemplate.d.ts.map +1 -0
- package/dist/templates/admin/AdminCRUDTemplate.d.ts.map +1 -1
- package/dist/templates/factory.d.ts +11 -0
- package/dist/templates/factory.d.ts.map +1 -1
- package/dist/templates/index.d.ts +1 -0
- package/dist/templates/index.d.ts.map +1 -1
- package/package.json +11 -7
- package/cli/commands/generate-hooks.ts +0 -316
- package/cli/commands/init.ts +0 -33
- package/cli/commands/scaffold.ts +0 -224
- package/cli/index.ts +0 -122
- package/cli/src/codegen/openapi/client-generator.js +0 -659
- package/cli/src/codegen/openapi/hook-generator.js +0 -725
- package/cli/src/codegen/openapi/parser.js +0 -274
- package/cli/src/codegen/openapi/type-generator.js +0 -329
- package/dist/codegen/openapi/bulk-types.d.ts +0 -142
- package/dist/codegen/openapi/bulk-types.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../../../src/molecules/layout/AppHeader/AppHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../../../src/molecules/layout/AppHeader/AppHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,cAAc;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA2C9C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { BulkAction } from "../../templates/EnhancedDataTemplate";
|
|
3
|
-
interface BulkSelectionBarProps {
|
|
3
|
+
export interface BulkSelectionBarProps {
|
|
4
4
|
selectedCount: number;
|
|
5
5
|
actions: BulkAction[];
|
|
6
6
|
onActionClick: (action: BulkAction) => void;
|
|
@@ -9,7 +9,19 @@ interface BulkSelectionBarProps {
|
|
|
9
9
|
category?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;
|
|
10
10
|
canPerformAction: (action: BulkAction) => boolean;
|
|
11
11
|
className?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Position mode for the selection bar.
|
|
14
|
+
* - "inline": Renders in place (default)
|
|
15
|
+
* - "floating": Renders fixed at bottom of viewport with portal
|
|
16
|
+
* @default "inline"
|
|
17
|
+
*/
|
|
18
|
+
position?: "inline" | "floating";
|
|
19
|
+
/**
|
|
20
|
+
* Maximum primary actions to show directly (rest go in dropdown).
|
|
21
|
+
* Only applies to floating mode.
|
|
22
|
+
* @default 3
|
|
23
|
+
*/
|
|
24
|
+
maxPrimaryActions?: number;
|
|
12
25
|
}
|
|
13
26
|
export declare const BulkSelectionBar: React.FC<BulkSelectionBarProps>;
|
|
14
|
-
export {};
|
|
15
27
|
//# sourceMappingURL=BulkSelectionBar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BulkSelectionBar.d.ts","sourceRoot":"","sources":["../../../src/molecules/layout/BulkSelectionBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"BulkSelectionBar.d.ts","sourceRoot":"","sources":["../../../src/molecules/layout/BulkSelectionBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAEvE,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,gBAAgB,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACjC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA0I5D,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { ColumnMetadata } from "../../../atoms/types/ui-metadata";
|
|
3
|
+
export interface FieldGridSection {
|
|
4
|
+
/** Section title */
|
|
5
|
+
title: string;
|
|
6
|
+
/** Section description */
|
|
7
|
+
description?: string;
|
|
8
|
+
/** Fields to display in this section */
|
|
9
|
+
fields: ColumnMetadata[];
|
|
10
|
+
/** Whether section is collapsible */
|
|
11
|
+
collapsible?: boolean;
|
|
12
|
+
/** Whether section starts collapsed */
|
|
13
|
+
defaultCollapsed?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface FieldGridProps {
|
|
16
|
+
/** Data object to render */
|
|
17
|
+
data: Record<string, unknown>;
|
|
18
|
+
/** Fields to display (flat list or use sections) */
|
|
19
|
+
fields?: ColumnMetadata[];
|
|
20
|
+
/** Grouped sections of fields */
|
|
21
|
+
sections?: FieldGridSection[];
|
|
22
|
+
/** Number of columns in grid (default: 2) */
|
|
23
|
+
columns?: 1 | 2 | 3;
|
|
24
|
+
/** Show labels above values (default: true) */
|
|
25
|
+
showLabels?: boolean;
|
|
26
|
+
/** Compact mode (less padding) */
|
|
27
|
+
compact?: boolean;
|
|
28
|
+
/** Show empty values as "-" (default: true) */
|
|
29
|
+
showEmpty?: boolean;
|
|
30
|
+
/** Additional CSS classes */
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Declarative field grid for displaying entity data.
|
|
35
|
+
*
|
|
36
|
+
* Renders fields based on metadata with automatic type-based formatting.
|
|
37
|
+
* Supports flat field lists or grouped sections.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```tsx
|
|
41
|
+
* // Flat list of fields
|
|
42
|
+
* <FieldGrid
|
|
43
|
+
* data={account}
|
|
44
|
+
* fields={[
|
|
45
|
+
* { field: 'name', label: 'Name', type: 'text' },
|
|
46
|
+
* { field: 'actual_value', label: 'Value', type: 'money' },
|
|
47
|
+
* ]}
|
|
48
|
+
* />
|
|
49
|
+
*
|
|
50
|
+
* // With sections
|
|
51
|
+
* <FieldGrid
|
|
52
|
+
* data={account}
|
|
53
|
+
* sections={[
|
|
54
|
+
* { title: 'Financial', fields: [...] },
|
|
55
|
+
* { title: 'Contact', fields: [...] },
|
|
56
|
+
* ]}
|
|
57
|
+
* />
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare const FieldGrid: React.FC<FieldGridProps>;
|
|
61
|
+
//# sourceMappingURL=FieldGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldGrid.d.ts","sourceRoot":"","sources":["../../../../src/molecules/layout/FieldGrid/FieldGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIvE,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,qCAAqC;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,oDAAoD;IACpD,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA0F9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecules/layout/FieldGrid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface ListToolbarProps {
|
|
3
|
+
/** Search element (left side) - render any search input */
|
|
4
|
+
search?: React.ReactNode;
|
|
5
|
+
/** Button group elements (after search) */
|
|
6
|
+
buttons?: React.ReactNode;
|
|
7
|
+
/** Primary action element (right side, after spacer) */
|
|
8
|
+
primaryAction?: React.ReactNode;
|
|
9
|
+
/** Additional className */
|
|
10
|
+
className?: string;
|
|
11
|
+
/** Gap between elements */
|
|
12
|
+
gap?: "sm" | "md" | "lg";
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* ListToolbar - Flexible toolbar component for list/table pages
|
|
16
|
+
*
|
|
17
|
+
* Layout: [search] [buttons...] <----spacer----> [primaryAction]
|
|
18
|
+
*
|
|
19
|
+
* Pure layout component - no rendering of buttons/inputs
|
|
20
|
+
* Consumer passes fully rendered elements via slots
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* <ListToolbar
|
|
25
|
+
* search={<SearchInput value={query} onChange={setQuery} />}
|
|
26
|
+
* buttons={
|
|
27
|
+
* <>
|
|
28
|
+
* <Button variant="outline">Filter</Button>
|
|
29
|
+
* <Button variant="outline">Export</Button>
|
|
30
|
+
* </>
|
|
31
|
+
* }
|
|
32
|
+
* primaryAction={<Button>Create New</Button>}
|
|
33
|
+
* />
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare const ListToolbar: React.FC<ListToolbarProps>;
|
|
37
|
+
//# sourceMappingURL=ListToolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListToolbar.d.ts","sourceRoot":"","sources":["../../../../src/molecules/layout/ListToolbar/ListToolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,wDAAwD;IACxD,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmClD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecules/layout/ListToolbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface PageTitleProps {
|
|
3
|
+
/** The title text or ReactNode */
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
/** Optional icon to display before title */
|
|
6
|
+
icon?: React.ReactNode;
|
|
7
|
+
/** Optional actions to display after title */
|
|
8
|
+
actions?: React.ReactNode;
|
|
9
|
+
/** Size variant */
|
|
10
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
11
|
+
/** Additional className */
|
|
12
|
+
className?: string;
|
|
13
|
+
/** HTML tag to use (h1, h2, h3, etc) */
|
|
14
|
+
as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
15
|
+
}
|
|
16
|
+
export declare const PageTitle: React.FC<PageTitleProps>;
|
|
17
|
+
//# sourceMappingURL=PageTitle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageTitle.d.ts","sourceRoot":"","sources":["../../../../src/molecules/layout/PageTitle/PageTitle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,cAAc;IAC7B,kCAAkC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC9C;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA2D9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/molecules/layout/PageTitle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -3,6 +3,7 @@ export { ShowcaseSection } from "./ShowcaseSection";
|
|
|
3
3
|
export { AppLayout } from "./AppLayout";
|
|
4
4
|
export { DashboardWithSidePanel } from "./DashboardWithSidePanel";
|
|
5
5
|
export { SectionHeader } from "./SectionHeader";
|
|
6
|
+
export { PageTitle, type PageTitleProps } from "./PageTitle";
|
|
6
7
|
export { SidebarButton } from "./SidebarButton";
|
|
7
8
|
export { AppHeader } from "./AppHeader";
|
|
8
9
|
export { SidebarProvider } from "./SidebarContext";
|
|
@@ -12,4 +13,6 @@ export { useNavigation } from "./use-navigation";
|
|
|
12
13
|
export { getNavigationItems } from "./navigation-context";
|
|
13
14
|
export { Sidebar } from "./Sidebar";
|
|
14
15
|
export { BulkSelectionBar } from "./BulkSelectionBar";
|
|
16
|
+
export { ListToolbar, type ListToolbarProps } from "./ListToolbar";
|
|
17
|
+
export { FieldGrid, type FieldGridProps, type FieldGridSection } from "./FieldGrid";
|
|
15
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecules/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecules/layout/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-context.d.ts","sourceRoot":"","sources":["../../../src/molecules/layout/navigation-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1E,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,aAAa,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,iBAAiB,gDAElB,CAAC;AAGb,eAAO,MAAM,yBAAyB,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"navigation-context.d.ts","sourceRoot":"","sources":["../../../src/molecules/layout/navigation-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE1E,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,aAAa,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnD;AAED,eAAO,MAAM,iBAAiB,gDAElB,CAAC;AAGb,eAAO,MAAM,yBAAyB,EAAE,cAAc,EAgErD,CAAC;AAGF,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,gBAAgB,KACvB,cAAc,EAWhB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { Store } from './createStore.js';
|
|
3
|
+
export interface EntityStoreProviderProps {
|
|
4
|
+
store: Store<any>;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Provider component for entity store.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import { store } from '@/generated'
|
|
13
|
+
*
|
|
14
|
+
* <QueryClientProvider client={queryClient}>
|
|
15
|
+
* <EntityStoreProvider store={store}>
|
|
16
|
+
* <App />
|
|
17
|
+
* </EntityStoreProvider>
|
|
18
|
+
* </QueryClientProvider>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function EntityStoreProvider({ store, children }: EntityStoreProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* Hook to access the entity store.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* function TransactionsPage() {
|
|
28
|
+
* const store = useStore<AppStore>()
|
|
29
|
+
* const { data } = store.transactions.useList()
|
|
30
|
+
* // ...
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare function useStore<T extends Store<any> = Store<any>>(): T;
|
|
35
|
+
//# sourceMappingURL=EntityStoreProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntityStoreProvider.d.ts","sourceRoot":"","sources":["../../src/sync/EntityStoreProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAI7C,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAA;IACjB,QAAQ,EAAE,SAAS,CAAA;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,wBAAwB,2CAMhF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAM/D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { EntityHookConfig, EntityHooks } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Create typed hooks for an entity.
|
|
4
|
+
*
|
|
5
|
+
* Generated code calls this with entity-specific config.
|
|
6
|
+
* All complex logic (optimistic mutations, live queries, rollback) is here.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // Generated code calls this
|
|
11
|
+
* export const transactionHooks = createEntityHooks<
|
|
12
|
+
* Transaction,
|
|
13
|
+
* TransactionCreate,
|
|
14
|
+
* TransactionUpdate
|
|
15
|
+
* >({
|
|
16
|
+
* name: 'transactions',
|
|
17
|
+
* collection: transactionCollection,
|
|
18
|
+
* api: transactionApi,
|
|
19
|
+
* localFirst: true,
|
|
20
|
+
* })
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @param config - Entity configuration including collection, API, and sync mode
|
|
24
|
+
* @returns Object containing all hooks for the entity
|
|
25
|
+
*/
|
|
26
|
+
export declare function createEntityHooks<TEntity extends {
|
|
27
|
+
id?: string | null;
|
|
28
|
+
}, TCreate = Partial<TEntity>, TUpdate = Partial<TEntity>>(config: EntityHookConfig<TEntity, TCreate, TUpdate>): EntityHooks<TEntity, TCreate, TUpdate>;
|
|
29
|
+
//# sourceMappingURL=createEntityHooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createEntityHooks.d.ts","sourceRoot":"","sources":["../../src/sync/createEntityHooks.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EAKZ,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,SAAS;IAAE,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACtC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAC1B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAC1B,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CA+Z7F"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { EntityHooks } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration for store creation.
|
|
4
|
+
* Uses `any` for collection types to avoid version mismatch issues
|
|
5
|
+
* with TanStack DB beta types across npm link boundaries.
|
|
6
|
+
*/
|
|
7
|
+
export interface StoreConfig {
|
|
8
|
+
/** Entity hooks keyed by name */
|
|
9
|
+
entities: Record<string, EntityHooks<any, any, any>>;
|
|
10
|
+
/** Collections keyed by name */
|
|
11
|
+
collections: Record<string, any>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Resolver functions for FK lookups.
|
|
15
|
+
*/
|
|
16
|
+
export interface Resolvers {
|
|
17
|
+
[entityName: string]: (id: string | null | undefined) => unknown | undefined;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Lookup map type.
|
|
21
|
+
*/
|
|
22
|
+
export type LookupMap<T> = Map<string, T>;
|
|
23
|
+
/**
|
|
24
|
+
* Lookup maps for all entities.
|
|
25
|
+
*/
|
|
26
|
+
export interface Lookups {
|
|
27
|
+
build: () => Record<string, LookupMap<unknown>>;
|
|
28
|
+
current: Record<string, LookupMap<unknown>> | null;
|
|
29
|
+
clear: () => void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* The store type.
|
|
33
|
+
*/
|
|
34
|
+
export type Store<TEntities extends Record<string, EntityHooks<any, any, any>>> = {
|
|
35
|
+
[K in keyof TEntities]: TEntities[K];
|
|
36
|
+
} & {
|
|
37
|
+
/** Direct collection access (for advanced use) */
|
|
38
|
+
collections: Record<string, any>;
|
|
39
|
+
/** FK resolution */
|
|
40
|
+
resolve: Resolvers;
|
|
41
|
+
/** Lookup maps */
|
|
42
|
+
lookups: Lookups;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Create a typed store from entity hooks and collections.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```typescript
|
|
49
|
+
* export const store = createStore({
|
|
50
|
+
* entities: {
|
|
51
|
+
* transactions: transactionHooks,
|
|
52
|
+
* categories: categoryHooks,
|
|
53
|
+
* },
|
|
54
|
+
* collections: {
|
|
55
|
+
* transactions: transactionCollection,
|
|
56
|
+
* categories: categoryCollection,
|
|
57
|
+
* },
|
|
58
|
+
* })
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare function createStore<TEntities extends Record<string, EntityHooks<any, any, any>>>(config: {
|
|
62
|
+
entities: TEntities;
|
|
63
|
+
collections: Record<string, any>;
|
|
64
|
+
}): Store<TEntities>;
|
|
65
|
+
//# sourceMappingURL=createStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStore.d.ts","sourceRoot":"","sources":["../../src/sync/createStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IAEpD,gCAAgC;IAEhC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,KAAK,OAAO,GAAG,SAAS,CAAA;CAC7E;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAEzC;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;IAC/C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAA;IAClD,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI;KAE/E,CAAC,IAAI,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;CACrC,GAAG;IACF,kDAAkD;IAElD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAEhC,oBAAoB;IACpB,OAAO,EAAE,SAAS,CAAA;IAElB,kBAAkB;IAClB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,WAAW,CACzB,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,EAC5D,MAAM,EAAE;IACR,QAAQ,EAAE,SAAS,CAAA;IAEnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CACjC,GAAG,KAAK,CAAC,SAAS,CAAC,CAmDnB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { createEntityHooks } from './createEntityHooks.js';
|
|
2
|
+
export { createStore } from './createStore.js';
|
|
3
|
+
export { EntityStoreProvider, useStore } from './EntityStoreProvider.js';
|
|
4
|
+
export type { EntityHookConfig, EntityHooks, EntityApi, EntityQueryKeys, ListParams, WhereClause, UseListOptions, UseGetOptions, UseListResult, UseGetResult, } from './types.js';
|
|
5
|
+
export type { StoreConfig, Store, Resolvers, Lookups, LookupMap, } from './createStore.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAExE,YAAY,EACV,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,eAAe,EACf,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,YAAY,CAAA;AAEnB,YAAY,EACV,WAAW,EACX,KAAK,EACL,SAAS,EACT,OAAO,EACP,SAAS,GACV,MAAM,kBAAkB,CAAA"}
|