@kronor/dtv 0.4.1 → 0.4.2

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 (78) hide show
  1. package/dist/index.es.js +31143 -0
  2. package/dist/types/App.d.ts +17 -0
  3. package/dist/types/App.d.ts.map +1 -0
  4. package/dist/types/components/AIAssistantForm.d.ts +18 -0
  5. package/dist/types/components/AIAssistantForm.d.ts.map +1 -0
  6. package/dist/types/components/FilterForm.d.ts +19 -0
  7. package/dist/types/components/FilterForm.d.ts.map +1 -0
  8. package/dist/types/components/PhoneNumberFilter.d.ts +7 -0
  9. package/dist/types/components/PhoneNumberFilter.d.ts.map +1 -0
  10. package/dist/types/components/SavedFilterList.d.ts +15 -0
  11. package/dist/types/components/SavedFilterList.d.ts.map +1 -0
  12. package/dist/types/components/SpeechInput.d.ts +7 -0
  13. package/dist/types/components/SpeechInput.d.ts.map +1 -0
  14. package/dist/types/components/Table.d.ts +18 -0
  15. package/dist/types/components/Table.d.ts.map +1 -0
  16. package/dist/types/components/TablePagination.d.ts +13 -0
  17. package/dist/types/components/TablePagination.d.ts.map +1 -0
  18. package/dist/types/components/aiAssistant.d.ts +12 -0
  19. package/dist/types/components/aiAssistant.d.ts.map +1 -0
  20. package/dist/types/framework/cell-renderer-components/CurrencyAmount.d.ts +11 -0
  21. package/dist/types/framework/cell-renderer-components/CurrencyAmount.d.ts.map +1 -0
  22. package/dist/types/framework/cell-renderer-components/LayoutHelpers.d.ts +24 -0
  23. package/dist/types/framework/cell-renderer-components/LayoutHelpers.d.ts.map +1 -0
  24. package/dist/types/framework/cell-renderer-components/Link.d.ts +13 -0
  25. package/dist/types/framework/cell-renderer-components/Link.d.ts.map +1 -0
  26. package/dist/types/framework/cell-renderer-components/Mapping.d.ts +13 -0
  27. package/dist/types/framework/cell-renderer-components/Mapping.d.ts.map +1 -0
  28. package/dist/types/framework/column-definition.d.ts +63 -0
  29. package/dist/types/framework/column-definition.d.ts.map +1 -0
  30. package/dist/types/framework/currency.d.ts +22 -0
  31. package/dist/types/framework/currency.d.ts.map +1 -0
  32. package/dist/types/framework/data.d.ts +19 -0
  33. package/dist/types/framework/data.d.ts.map +1 -0
  34. package/dist/types/framework/filter-form-state.d.ts +75 -0
  35. package/dist/types/framework/filter-form-state.d.ts.map +1 -0
  36. package/dist/types/framework/filter-sharing.d.ts +24 -0
  37. package/dist/types/framework/filter-sharing.d.ts.map +1 -0
  38. package/dist/types/framework/filters.d.ts +232 -0
  39. package/dist/types/framework/filters.d.ts.map +1 -0
  40. package/dist/types/framework/graphql.d.ts +77 -0
  41. package/dist/types/framework/graphql.d.ts.map +1 -0
  42. package/dist/types/framework/native-runtime/index.d.ts +13 -0
  43. package/dist/types/framework/native-runtime/index.d.ts.map +1 -0
  44. package/dist/types/framework/runtime.d.ts +14 -0
  45. package/dist/types/framework/runtime.d.ts.map +1 -0
  46. package/dist/types/framework/saved-filters.d.ts +47 -0
  47. package/dist/types/framework/saved-filters.d.ts.map +1 -0
  48. package/dist/types/framework/state.d.ts +40 -0
  49. package/dist/types/framework/state.d.ts.map +1 -0
  50. package/dist/types/framework/view-parser.d.ts +168 -0
  51. package/dist/types/framework/view-parser.d.ts.map +1 -0
  52. package/dist/types/framework/view.d.ts +29 -0
  53. package/dist/types/framework/view.d.ts.map +1 -0
  54. package/dist/types/lib/index.d.ts +9 -0
  55. package/dist/types/lib/index.d.ts.map +1 -0
  56. package/dist/types/main.d.ts +13 -0
  57. package/dist/types/main.d.ts.map +1 -0
  58. package/dist/types/views/index.d.ts +8 -0
  59. package/dist/types/views/index.d.ts.map +1 -0
  60. package/dist/types/views/payment-requests/components/NoRowsExtendDateRange.d.ts +4 -0
  61. package/dist/types/views/payment-requests/components/NoRowsExtendDateRange.d.ts.map +1 -0
  62. package/dist/types/views/payment-requests/components/PaymentMethod.d.ts +10 -0
  63. package/dist/types/views/payment-requests/components/PaymentMethod.d.ts.map +1 -0
  64. package/dist/types/views/payment-requests/components/PaymentStatusTag.d.ts +5 -0
  65. package/dist/types/views/payment-requests/components/PaymentStatusTag.d.ts.map +1 -0
  66. package/dist/types/views/payment-requests/index.d.ts +2 -0
  67. package/dist/types/views/payment-requests/index.d.ts.map +1 -0
  68. package/dist/types/views/payment-requests/runtime.d.ts +30 -0
  69. package/dist/types/views/payment-requests/runtime.d.ts.map +1 -0
  70. package/dist/types/views/request-log/index.d.ts +3 -0
  71. package/dist/types/views/request-log/index.d.ts.map +1 -0
  72. package/dist/types/views/request-log/runtime.d.ts +3 -0
  73. package/dist/types/views/request-log/runtime.d.ts.map +1 -0
  74. package/dist/types/views/simple-test-view/index.d.ts +4 -0
  75. package/dist/types/views/simple-test-view/index.d.ts.map +1 -0
  76. package/dist/types/views/simple-test-view/runtime.d.ts +10 -0
  77. package/dist/types/views/simple-test-view/runtime.d.ts.map +1 -0
  78. package/package.json +1 -1
@@ -0,0 +1,232 @@
1
+ import * as React from 'react';
2
+ export type FilterField = string | {
3
+ and: string[];
4
+ } | {
5
+ or: string[];
6
+ };
7
+ export type TransformResult = {
8
+ field?: string;
9
+ value?: unknown;
10
+ };
11
+ export type FilterTransform = {
12
+ toQuery?: (input: unknown) => TransformResult;
13
+ };
14
+ export type FilterControl = {
15
+ type: 'text';
16
+ label?: string;
17
+ placeholder?: string;
18
+ initialValue?: any;
19
+ } | {
20
+ type: 'number';
21
+ label?: string;
22
+ placeholder?: string;
23
+ initialValue?: any;
24
+ } | {
25
+ type: 'date';
26
+ label?: string;
27
+ placeholder?: string;
28
+ initialValue?: any;
29
+ } | {
30
+ type: 'dropdown';
31
+ label?: string;
32
+ items: {
33
+ label: string;
34
+ value: any;
35
+ }[];
36
+ initialValue?: any;
37
+ } | {
38
+ type: 'multiselect';
39
+ label?: string;
40
+ items: {
41
+ label: string;
42
+ value: any;
43
+ }[];
44
+ filterable?: boolean;
45
+ initialValue?: any;
46
+ } | {
47
+ type: 'customOperator';
48
+ label?: string;
49
+ operators: {
50
+ label: string;
51
+ value: string;
52
+ }[];
53
+ valueControl: FilterControl;
54
+ initialValue?: any;
55
+ } | {
56
+ type: 'custom';
57
+ component: React.ComponentType<any>;
58
+ props?: Record<string, any>;
59
+ label?: string;
60
+ initialValue?: any;
61
+ };
62
+ export type FilterExpr = {
63
+ type: 'equals';
64
+ field: FilterField;
65
+ value: FilterControl;
66
+ transform?: FilterTransform;
67
+ } | {
68
+ type: 'notEquals';
69
+ field: FilterField;
70
+ value: FilterControl;
71
+ transform?: FilterTransform;
72
+ } | {
73
+ type: 'greaterThan';
74
+ field: FilterField;
75
+ value: FilterControl;
76
+ transform?: FilterTransform;
77
+ } | {
78
+ type: 'lessThan';
79
+ field: FilterField;
80
+ value: FilterControl;
81
+ transform?: FilterTransform;
82
+ } | {
83
+ type: 'greaterThanOrEqual';
84
+ field: FilterField;
85
+ value: FilterControl;
86
+ transform?: FilterTransform;
87
+ } | {
88
+ type: 'lessThanOrEqual';
89
+ field: FilterField;
90
+ value: FilterControl;
91
+ transform?: FilterTransform;
92
+ } | {
93
+ type: 'in';
94
+ field: FilterField;
95
+ value: FilterControl;
96
+ transform?: FilterTransform;
97
+ } | {
98
+ type: 'notIn';
99
+ field: FilterField;
100
+ value: FilterControl;
101
+ transform?: FilterTransform;
102
+ } | {
103
+ type: 'like';
104
+ field: FilterField;
105
+ value: FilterControl;
106
+ transform?: FilterTransform;
107
+ } | {
108
+ type: 'iLike';
109
+ field: FilterField;
110
+ value: FilterControl;
111
+ transform?: FilterTransform;
112
+ } | {
113
+ type: 'isNull';
114
+ field: FilterField;
115
+ value: FilterControl;
116
+ transform?: FilterTransform;
117
+ } | {
118
+ type: 'and';
119
+ filters: FilterExpr[];
120
+ } | {
121
+ type: 'or';
122
+ filters: FilterExpr[];
123
+ } | {
124
+ type: 'not';
125
+ filter: FilterExpr;
126
+ };
127
+ export declare const SUPPORTED_OPERATORS: {
128
+ label: string;
129
+ value: string;
130
+ }[];
131
+ export declare const filterControl: {
132
+ text: (options?: {
133
+ label?: string;
134
+ placeholder?: string;
135
+ }) => FilterControl;
136
+ number: (options?: {
137
+ label?: string;
138
+ placeholder?: string;
139
+ initialValue?: any;
140
+ }) => FilterControl;
141
+ date: (options?: {
142
+ label?: string;
143
+ placeholder?: string;
144
+ initialValue?: any;
145
+ }) => FilterControl;
146
+ dropdown: (options: {
147
+ label?: string;
148
+ items: {
149
+ label: string;
150
+ value: any;
151
+ }[];
152
+ }) => FilterControl;
153
+ multiselect: (options: {
154
+ label?: string;
155
+ items: {
156
+ label: string;
157
+ value: any;
158
+ }[];
159
+ filterable?: boolean;
160
+ }) => FilterControl;
161
+ customOperator: (options: {
162
+ label?: string;
163
+ operators: {
164
+ label: string;
165
+ value: string;
166
+ }[];
167
+ valueControl: FilterControl;
168
+ }) => FilterControl;
169
+ custom: (component: React.ComponentType<any>, options?: {
170
+ label?: string;
171
+ props?: Record<string, any>;
172
+ }) => FilterControl;
173
+ };
174
+ export declare const filterExpr: {
175
+ equals: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
176
+ notEquals: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
177
+ greaterThan: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
178
+ lessThan: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
179
+ greaterThanOrEqual: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
180
+ lessThanOrEqual: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
181
+ in: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
182
+ notIn: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
183
+ like: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
184
+ iLike: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
185
+ isNull: (field: FilterField, value: FilterControl, transform?: FilterTransform) => FilterExpr;
186
+ and: (filters: FilterExpr[]) => FilterExpr;
187
+ or: (filters: FilterExpr[]) => FilterExpr;
188
+ not: (filter: FilterExpr) => FilterExpr;
189
+ range: (field: FilterField, control: (options: any) => FilterControl, transform?: FilterTransform) => FilterExpr;
190
+ allOperators: {
191
+ label: string;
192
+ value: string;
193
+ }[];
194
+ };
195
+ export declare function isLeaf(expr: FilterExpr): expr is Extract<FilterExpr, {
196
+ field: FilterField;
197
+ value: FilterControl;
198
+ }>;
199
+ export declare function transformFilterExprValues(expr: FilterExpr, fn: (value: FilterControl) => FilterControl): FilterExpr;
200
+ export type FilterExprFieldNode = Extract<FilterExpr, {
201
+ field: FilterField;
202
+ value: FilterControl;
203
+ }>;
204
+ export type FilterExprFilterListNode = Extract<FilterExpr, {
205
+ filters: FilterExpr[];
206
+ }>;
207
+ export type FilterExprNotNode = Extract<FilterExpr, {
208
+ filter: FilterExpr;
209
+ }>;
210
+ export declare function getFieldNodes(expr: FilterExpr): FilterExprFieldNode[];
211
+ export type FilterFieldGroup = {
212
+ name: string;
213
+ label: string | null;
214
+ };
215
+ export type FilterSchema = {
216
+ id: string;
217
+ label: string;
218
+ expression: FilterExpr;
219
+ group: string;
220
+ aiGenerated: boolean;
221
+ };
222
+ export type FilterId = FilterSchema['id'];
223
+ export type FilterSchemasAndGroups = {
224
+ groups: FilterFieldGroup[];
225
+ filters: FilterSchema[];
226
+ };
227
+ /**
228
+ * Attempts to deserialize a plain JSON object into a FilterExpr.
229
+ * Does not support custom filters or transformation functions.
230
+ */
231
+ export declare function filterExprFromJSON(json: any): FilterExpr | null;
232
+ //# sourceMappingURL=filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/framework/filters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { FilterSchemasAndGroups } from './filters';
2
+ import { ColumnDefinition } from './column-definition';
3
+ import { FilterState } from './state';
4
+ export type HasuraOperator = {
5
+ _eq?: any;
6
+ } | {
7
+ _neq?: any;
8
+ } | {
9
+ _gt?: any;
10
+ } | {
11
+ _lt?: any;
12
+ } | {
13
+ _gte?: any;
14
+ } | {
15
+ _lte?: any;
16
+ } | {
17
+ _in?: any[];
18
+ } | {
19
+ _nin?: any[];
20
+ } | {
21
+ _like?: string;
22
+ } | {
23
+ _ilike?: string;
24
+ } | {
25
+ _is_null?: boolean;
26
+ } | {
27
+ _similar?: string;
28
+ } | {
29
+ _nsimilar?: string;
30
+ } | {
31
+ _regex?: string;
32
+ } | {
33
+ _nregex?: string;
34
+ } | {
35
+ _iregex?: string;
36
+ } | {
37
+ _niregex?: string;
38
+ };
39
+ export type HasuraCondition = {
40
+ _and: HasuraCondition[];
41
+ } | {
42
+ _or: HasuraCondition[];
43
+ } | {
44
+ _not: HasuraCondition;
45
+ } | {
46
+ [field: string]: HasuraOperator | HasuraOperator[];
47
+ };
48
+ export declare function buildHasuraConditions(filterState: FilterState, filterSchema: FilterSchemasAndGroups): HasuraCondition;
49
+ export declare function generateSelectionSetFromColumns(columns: ColumnDefinition[]): GraphQLSelectionSet;
50
+ export declare function generateGraphQLQueryAST(rootField: string, columns: ColumnDefinition[], boolExpType: string, orderByType: string): GraphQLQueryAST;
51
+ export declare function generateGraphQLQuery(rootField: string, columns: ColumnDefinition[], boolExpType: string, orderByType: string, paginationKey: string): string;
52
+ export type GraphQLVariable = {
53
+ name: string;
54
+ type: string;
55
+ };
56
+ export type HasuraOrderBy = Record<string, 'ASC' | 'DESC'>;
57
+ export type GraphQLSelectionSetItem = {
58
+ field: string;
59
+ alias?: string;
60
+ path?: string;
61
+ where?: HasuraCondition;
62
+ order_by?: HasuraOrderBy | HasuraOrderBy[];
63
+ limit?: number;
64
+ offset?: number;
65
+ distinct_on?: string[];
66
+ selections?: GraphQLSelectionSetItem[];
67
+ };
68
+ export type GraphQLSelectionSet = GraphQLSelectionSetItem[];
69
+ export type GraphQLQueryAST = {
70
+ operation: 'query';
71
+ name?: string;
72
+ variables: GraphQLVariable[];
73
+ rootField: string;
74
+ selectionSet: GraphQLSelectionSet;
75
+ };
76
+ export declare function renderGraphQLQuery(ast: GraphQLQueryAST): string;
77
+ //# sourceMappingURL=graphql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../src/framework/graphql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Runtime } from '../runtime';
2
+ export type NativeRuntime = Runtime & {
3
+ cellRenderers: {
4
+ text: ({ data }: {
5
+ data: unknown;
6
+ }) => string;
7
+ json: ({ data }: {
8
+ data: unknown;
9
+ }) => string;
10
+ };
11
+ };
12
+ export declare const nativeRuntime: NativeRuntime;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/framework/native-runtime/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG;IAClC,aAAa,EAAE;QACX,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,KAAK,MAAM,CAAC;QAC9C,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;YAAE,IAAI,EAAE,OAAO,CAAA;SAAE,KAAK,MAAM,CAAC;KACjD,CAAC;CACL,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAqB3B,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { CellRenderer } from "./column-definition";
3
+ import { NoRowsComponent } from "./view";
4
+ import { TransformResult } from "./filters";
5
+ export type Runtime = {
6
+ cellRenderers: Record<string, CellRenderer | React.ComponentType<any>>;
7
+ queryTransforms: Record<string, {
8
+ toQuery: (input: any) => TransformResult;
9
+ }>;
10
+ noRowsComponents: Record<string, NoRowsComponent | React.ComponentType<any>>;
11
+ customFilterComponents: Record<string, React.ComponentType<any>>;
12
+ initialValues: Record<string, any>;
13
+ };
14
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/framework/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,MAAM,MAAM,OAAO,GAAG;IAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACvE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE;QAC5B,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,eAAe,CAAC;KAC5C,CAAC,CAAC;IACH,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7E,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { FilterSchemasAndGroups } from './filters';
2
+ import { FilterState } from './state';
3
+ /**
4
+ * Format revisions for saved filters
5
+ */
6
+ export declare const OLD_ARRAY_FORMAT_REVISION = "2025-09-04T00:00:00.000Z";
7
+ export declare const CURRENT_FORMAT_REVISION = "2025-09-19T00:00:00.000Z";
8
+ /**
9
+ * Raw saved filter data as stored in localStorage - using unknown for type safety
10
+ */
11
+ export interface RawSavedFilter {
12
+ id: string;
13
+ name: string;
14
+ view: string;
15
+ state: unknown;
16
+ createdAt: string | Date;
17
+ formatRevision?: string;
18
+ }
19
+ /**
20
+ * Parsed saved filter with properly typed state
21
+ */
22
+ export interface SavedFilter {
23
+ id: string;
24
+ name: string;
25
+ view: string;
26
+ state: FilterState;
27
+ createdAt: Date;
28
+ formatRevision: string;
29
+ }
30
+ /**
31
+ * Interface for the saved filter manager
32
+ */
33
+ export interface SavedFilterManager {
34
+ loadFilters(viewName: string, schema: FilterSchemasAndGroups): SavedFilter[];
35
+ saveFilter(filter: Omit<SavedFilter, 'id' | 'createdAt' | 'formatRevision'>): SavedFilter;
36
+ updateFilter(filter: SavedFilter, updates: Partial<Pick<SavedFilter, 'name' | 'state'>>): SavedFilter | null;
37
+ deleteFilter(id: string): boolean;
38
+ }
39
+ /**
40
+ * Create and return a SavedFilterManager instance
41
+ */
42
+ export declare function createSavedFilterManager(): SavedFilterManager;
43
+ /**
44
+ * Default exported instance of the saved filter manager
45
+ */
46
+ export declare const savedFilterManager: SavedFilterManager;
47
+ //# sourceMappingURL=saved-filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"saved-filters.d.ts","sourceRoot":"","sources":["../../../src/framework/saved-filters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AACpE,eAAO,MAAM,uBAAuB,6BAA6B,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,WAAW,EAAE,CAAC;IAC7E,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,WAAW,GAAG,gBAAgB,CAAC,GAAG,WAAW,CAAC;IAC1F,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC;IAC7G,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AA2BD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,kBAAkB,CAuN7D;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,oBAA6B,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { FilterFormState } from "../components/FilterForm";
2
+ import { FilterSchemasAndGroups, FilterId, FilterExpr } from "./filters";
3
+ import { View, ViewId } from "./view";
4
+ import { FetchDataResult } from "./data";
5
+ export type FilterState = Map<FilterId, FilterFormState>;
6
+ export declare enum FormStateInitMode {
7
+ WithInitialValues = "withInitialValues",
8
+ Empty = "empty"
9
+ }
10
+ export declare function buildInitialFormState(expr: FilterExpr, mode?: FormStateInitMode): FilterFormState;
11
+ export declare function getFilterStateById(state: FilterState, id: FilterId): FilterFormState;
12
+ export declare function setFilterStateById(state: FilterState, id: FilterId, newFilterState: FilterFormState): FilterState;
13
+ export interface AppState {
14
+ selectedViewId: ViewId;
15
+ views: View[];
16
+ filterSchemasAndGroups: FilterSchemasAndGroups;
17
+ data: FetchDataResult;
18
+ filterState: FilterState;
19
+ pagination: PaginationState;
20
+ }
21
+ export interface PaginationState {
22
+ page: number;
23
+ cursors: (string | number | null)[];
24
+ }
25
+ export declare function createDefaultFilterState(filterSchema: FilterSchemasAndGroups, mode?: FormStateInitMode): FilterState;
26
+ export declare function createDefaultAppState(views: View[]): AppState;
27
+ declare function setSelectedViewId(state: AppState, newId: ViewId): AppState;
28
+ declare function setDataRows(state: AppState, newRows: FetchDataResult, pagination?: PaginationState): AppState;
29
+ declare function setFilterSchema(state: AppState, newSchema: FilterSchemasAndGroups): AppState;
30
+ declare function setFilterState(state: AppState, newFilterState: FilterState): AppState;
31
+ export declare const useAppState: (views: View[], initialFilterStateOverride?: FilterState) => {
32
+ state: AppState;
33
+ selectedView: View;
34
+ setSelectedViewId: (id: ViewId) => void;
35
+ setDataRows: (rows: FetchDataResult, pagination?: PaginationState) => void;
36
+ setFilterSchema: (schema: FilterSchemasAndGroups) => void;
37
+ setFilterState: (filterState: FilterState) => void;
38
+ };
39
+ export { setSelectedViewId, setDataRows, setFilterSchema, setFilterState };
40
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/framework/state.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AAEzC,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;AAEzD,oBAAY,iBAAiB;IACzB,iBAAiB,sBAAsB;IACvC,KAAK,UAAU;CAClB;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,GAAE,iBAAuD,GAAG,eAAe,CAiBtI;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,GAAG,eAAe,CAMpF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,GAAG,WAAW,CAOjH;AAGD,MAAM,WAAW,QAAQ;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,IAAI,EAAE,CAAA;IACb,sBAAsB,EAAE,sBAAsB,CAAA;IAC9C,IAAI,EAAE,eAAe,CAAA;IACrB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,eAAe,CAAA;CAC9B;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;CACvC;AAOD,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,sBAAsB,EAAE,IAAI,GAAE,iBAAuD,GAAG,WAAW,CAEzJ;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,QAAQ,CAa7D;AAGD,iBAAS,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,QAAQ,CAUnE;AAMD,iBAAS,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,GAAE,eAAmC,GAAG,QAAQ,CAMzH;AAED,iBAAS,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,sBAAsB,GAAG,QAAQ,CAKrF;AAED,iBAAS,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,GAAG,QAAQ,CAM9E;AAED,eAAO,MAAM,WAAW,UAAW,IAAI,EAAE,+BAA+B,WAAW;;;4BAWnD,MAAM;wBACV,eAAe,eAAe,eAAe;8BACvC,sBAAsB;kCAClB,WAAW;CAEhD,CAAA;AAED,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,168 @@
1
+ import type { FieldQuery, QueryConfig, Field, QueryConfigs, FieldAlias } from './column-definition';
2
+ import type { FilterControl, FilterExpr, FilterFieldGroup, FilterSchemasAndGroups } from './filters';
3
+ import { View } from './view';
4
+ import type { Runtime } from './runtime';
5
+ export type RuntimeReference = {
6
+ section: 'cellRenderers' | 'noRowsComponents' | 'customFilterComponents' | 'queryTransforms' | 'initialValues';
7
+ key: string;
8
+ };
9
+ export declare function resolveRuntimeReference<T>(reference: RuntimeReference, externalRuntime: Runtime | undefined, builtInRuntime: Runtime): T;
10
+ export type FieldJson = Field;
11
+ export type QueryConfigJson = QueryConfig;
12
+ export type QueryConfigsJson = QueryConfigs;
13
+ export type FieldAliasJson = FieldAlias;
14
+ export type FieldQueryJson = FieldQuery;
15
+ export type FilterControlJson = {
16
+ type: 'text';
17
+ label?: string;
18
+ placeholder?: string;
19
+ initialValue?: any;
20
+ } | {
21
+ type: 'number';
22
+ label?: string;
23
+ placeholder?: string;
24
+ initialValue?: any;
25
+ } | {
26
+ type: 'date';
27
+ label?: string;
28
+ placeholder?: string;
29
+ initialValue?: any;
30
+ } | {
31
+ type: 'dropdown';
32
+ label?: string;
33
+ items: {
34
+ label: string;
35
+ value: any;
36
+ }[];
37
+ initialValue?: any;
38
+ } | {
39
+ type: 'multiselect';
40
+ label?: string;
41
+ items: {
42
+ label: string;
43
+ value: any;
44
+ }[];
45
+ filterable?: boolean;
46
+ initialValue?: any;
47
+ } | {
48
+ type: 'customOperator';
49
+ label?: string;
50
+ operators: {
51
+ label: string;
52
+ value: string;
53
+ }[];
54
+ valueControl: FilterControlJson;
55
+ initialValue?: any;
56
+ } | {
57
+ type: 'custom';
58
+ component: RuntimeReference;
59
+ props?: Record<string, any>;
60
+ label?: string;
61
+ initialValue?: any;
62
+ };
63
+ export type FilterFieldJson = string | {
64
+ and: string[];
65
+ } | {
66
+ or: string[];
67
+ };
68
+ export type FilterExprJson = {
69
+ type: 'equals';
70
+ field: FilterFieldJson;
71
+ value: FilterControlJson;
72
+ transform?: RuntimeReference;
73
+ } | {
74
+ type: 'notEquals';
75
+ field: FilterFieldJson;
76
+ value: FilterControlJson;
77
+ transform?: RuntimeReference;
78
+ } | {
79
+ type: 'greaterThan';
80
+ field: FilterFieldJson;
81
+ value: FilterControlJson;
82
+ transform?: RuntimeReference;
83
+ } | {
84
+ type: 'lessThan';
85
+ field: FilterFieldJson;
86
+ value: FilterControlJson;
87
+ transform?: RuntimeReference;
88
+ } | {
89
+ type: 'greaterThanOrEqual';
90
+ field: FilterFieldJson;
91
+ value: FilterControlJson;
92
+ transform?: RuntimeReference;
93
+ } | {
94
+ type: 'lessThanOrEqual';
95
+ field: FilterFieldJson;
96
+ value: FilterControlJson;
97
+ transform?: RuntimeReference;
98
+ } | {
99
+ type: 'in';
100
+ field: FilterFieldJson;
101
+ value: FilterControlJson;
102
+ transform?: RuntimeReference;
103
+ } | {
104
+ type: 'notIn';
105
+ field: FilterFieldJson;
106
+ value: FilterControlJson;
107
+ transform?: RuntimeReference;
108
+ } | {
109
+ type: 'like';
110
+ field: FilterFieldJson;
111
+ value: FilterControlJson;
112
+ transform?: RuntimeReference;
113
+ } | {
114
+ type: 'iLike';
115
+ field: FilterFieldJson;
116
+ value: FilterControlJson;
117
+ transform?: RuntimeReference;
118
+ } | {
119
+ type: 'isNull';
120
+ field: FilterFieldJson;
121
+ value: FilterControlJson;
122
+ transform?: RuntimeReference;
123
+ } | {
124
+ type: 'and';
125
+ filters: FilterExprJson[];
126
+ } | {
127
+ type: 'or';
128
+ filters: FilterExprJson[];
129
+ } | {
130
+ type: 'not';
131
+ filter: FilterExprJson;
132
+ };
133
+ export type FilterFieldGroupJson = FilterFieldGroup;
134
+ export type FilterFieldSchemaFilterJson = {
135
+ id: string;
136
+ label: string;
137
+ expression: FilterExprJson;
138
+ group: string;
139
+ aiGenerated: boolean;
140
+ };
141
+ export type FilterFieldSchemaJson = {
142
+ groups: FilterFieldGroupJson[];
143
+ filters: FilterFieldSchemaFilterJson[];
144
+ };
145
+ export type ColumnDefinitionJson = {
146
+ data: FieldQueryJson[];
147
+ name: string;
148
+ cellRenderer: RuntimeReference;
149
+ };
150
+ export type ViewJson = {
151
+ title: string;
152
+ id: string;
153
+ collectionName: string;
154
+ paginationKey: string;
155
+ columns: ColumnDefinitionJson[];
156
+ filterSchema: FilterFieldSchemaJson;
157
+ boolExpType: string;
158
+ orderByType: string;
159
+ noRowsComponent?: RuntimeReference;
160
+ };
161
+ export declare function parseRuntimeReference(json: unknown): RuntimeReference;
162
+ export declare function parseColumnDefinitionJson(json: unknown, builtInRuntime: Runtime, externalRuntime?: Runtime): ColumnDefinitionJson;
163
+ export declare function parseInitialValue(initialValue: unknown, builtInRuntime: Runtime, externalRuntime?: Runtime): any;
164
+ export declare function parseFilterControlJson(json: unknown, builtInRuntime: Runtime, externalRuntime?: Runtime): FilterControl;
165
+ export declare function parseFilterExprJson(json: unknown, builtInRuntime: Runtime, externalRuntime?: Runtime): FilterExpr;
166
+ export declare function parseFilterFieldSchemaJson(json: unknown, builtInRuntime: Runtime, externalRuntime?: Runtime): FilterSchemasAndGroups;
167
+ export declare function parseViewJson(json: unknown, builtInRuntime: Runtime, externalRuntime?: Runtime): View;
168
+ //# sourceMappingURL=view-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view-parser.d.ts","sourceRoot":"","sources":["../../../src/framework/view-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import React from "react";
2
+ import { ColumnDefinition } from "./column-definition";
3
+ import { FilterSchemasAndGroups } from "./filters";
4
+ import { FilterState } from "./state";
5
+ import { FilterFormState } from "./filter-form-state";
6
+ import { HasuraCondition } from "./graphql";
7
+ export type NoRowsComponentProps = {
8
+ setFilterState: (updater: (currentState: FilterState) => FilterState) => void;
9
+ filterState: FilterState;
10
+ applyFilters: () => void;
11
+ updateFilterById: (filterId: string, updater: (currentValue: FilterFormState) => FilterFormState) => void;
12
+ };
13
+ export type NoRowsComponent = (props: NoRowsComponentProps) => React.ReactNode;
14
+ export type ViewId = string;
15
+ export type View = {
16
+ title: string;
17
+ id: ViewId;
18
+ collectionName: string;
19
+ columnDefinitions: ColumnDefinition[];
20
+ filterSchema: FilterSchemasAndGroups;
21
+ boolExpType: string;
22
+ orderByType: string;
23
+ paginationKey: string;
24
+ noRowsComponent?: NoRowsComponent;
25
+ staticConditions?: HasuraCondition[];
26
+ };
27
+ export type { ColumnDefinitionJson, ViewJson } from './view-parser';
28
+ export { parseColumnDefinitionJson, parseViewJson } from './view-parser';
29
+ //# sourceMappingURL=view.d.ts.map