@form-flow/core 1.0.0 β 1.1.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.
- package/README.md +59 -8
- package/dist/dependency-graph.d.ts +4 -2
- package/dist/dependency-graph.d.ts.map +1 -1
- package/dist/dependency-graph.js +12 -1
- package/dist/dependency-graph.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/models/field-definition.d.ts +16 -6
- package/dist/models/field-definition.d.ts.map +1 -1
- package/dist/models/form-definition.d.ts +2 -1
- package/dist/models/form-definition.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# @form-flow/core
|
|
2
|
+

|
|
3
|
+

|
|
2
4
|
|
|
3
|
-
  
|
|
4
5
|
|
|
5
6
|
> **Framework-agnostic TypeScript engine for conditional form field behavior**
|
|
6
7
|
> Define when fields should be visible, required, disabled, or readonly based on other field valuesβno framework lock-in.
|
|
8
|
+
> Form-flow rules are based on [json-logic-js](https://github.com/jwadhams/json-logic-js)
|
|
7
9
|
|
|
8
10
|
---
|
|
9
11
|
|
|
@@ -159,6 +161,43 @@ const state: FormControlState = RuleEvaluator.evaluateFields(
|
|
|
159
161
|
}
|
|
160
162
|
```
|
|
161
163
|
|
|
164
|
+
### Rule context fields
|
|
165
|
+
|
|
166
|
+
Use `definition.ruleContextFields` to expose source-only paths that can be referenced in rules without promoting them to target form fields.
|
|
167
|
+
|
|
168
|
+
```ts
|
|
169
|
+
const definition = {
|
|
170
|
+
formId: "deal-form",
|
|
171
|
+
fields: [
|
|
172
|
+
{
|
|
173
|
+
id: "deal.goal",
|
|
174
|
+
type: "number",
|
|
175
|
+
label: "Deal Goal",
|
|
176
|
+
visibleIf: {
|
|
177
|
+
groupId: "goal-visible",
|
|
178
|
+
operator: "and",
|
|
179
|
+
ruleType: "visibleIf",
|
|
180
|
+
rules: [
|
|
181
|
+
{
|
|
182
|
+
ruleId: "1",
|
|
183
|
+
conditionFieldId: "customer.yearlyEarnings",
|
|
184
|
+
operator: "gte",
|
|
185
|
+
value: 1000
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
],
|
|
191
|
+
ruleContextFields: [
|
|
192
|
+
{
|
|
193
|
+
id: "customer.yearlyEarnings",
|
|
194
|
+
type: "number",
|
|
195
|
+
label: "Customer Yearly Earnings"
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
};
|
|
199
|
+
```
|
|
200
|
+
|
|
162
201
|
### `FieldHelper.getAvailableRuleTypes()`
|
|
163
202
|
|
|
164
203
|
Get which rule types can still be added to a field.
|
|
@@ -192,17 +231,28 @@ console.log(availableRules); // ["disabledIf", "readonlyIf"]
|
|
|
192
231
|
### Type Definitions
|
|
193
232
|
|
|
194
233
|
```ts
|
|
195
|
-
|
|
196
|
-
type FieldDefinition<T = any> = {
|
|
234
|
+
type BaseFieldDefinition<T = any> = {
|
|
197
235
|
id: string;
|
|
198
236
|
type: string;
|
|
199
237
|
label: string;
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
// Field with conditional rules
|
|
241
|
+
type FieldDefinition<T = any> = BaseFieldDefinition<T> & {
|
|
200
242
|
visibleIf?: FieldRuleGroupDefinition;
|
|
201
243
|
requiredIf?: FieldRuleGroupDefinition;
|
|
202
244
|
disabledIf?: FieldRuleGroupDefinition;
|
|
203
245
|
readonlyIf?: FieldRuleGroupDefinition;
|
|
204
246
|
};
|
|
205
247
|
|
|
248
|
+
type RuleContextFieldDefinition<T = any> = BaseFieldDefinition<T>;
|
|
249
|
+
|
|
250
|
+
type FormFlowDefinition<T = any> = {
|
|
251
|
+
formId: string;
|
|
252
|
+
fields: FieldDefinition<T>[];
|
|
253
|
+
ruleContextFields?: RuleContextFieldDefinition<T>[];
|
|
254
|
+
};
|
|
255
|
+
|
|
206
256
|
// Atomic rule
|
|
207
257
|
type FieldRuleDefinition = {
|
|
208
258
|
ruleId: string;
|
|
@@ -244,7 +294,7 @@ Tests are written with **Jest** and cover both `RuleEvaluator` and `FieldHelper`
|
|
|
244
294
|
|
|
245
295
|
---
|
|
246
296
|
|
|
247
|
-
|
|
297
|
+
<!--## π€ Contributing
|
|
248
298
|
|
|
249
299
|
Contributions are welcome! Please check out the [Contributing Guide](CONTRIBUTING.md).
|
|
250
300
|
|
|
@@ -255,6 +305,7 @@ Contributions are welcome! Please check out the [Contributing Guide](CONTRIBUTIN
|
|
|
255
305
|
5. Open a Pull Request
|
|
256
306
|
|
|
257
307
|
---
|
|
308
|
+
-->
|
|
258
309
|
|
|
259
310
|
## π License
|
|
260
311
|
|
|
@@ -264,17 +315,17 @@ MIT Β© [Andrea Moretti]
|
|
|
264
315
|
|
|
265
316
|
## β Support
|
|
266
317
|
|
|
267
|
-
If this library saves you time,
|
|
318
|
+
If this library saves you time, or you just like my work you can just
|
|
268
319
|
|
|
269
|
-
[](https://buymeacoffee.com/andrea.moretti)
|
|
270
321
|
|
|
271
322
|
---
|
|
272
323
|
|
|
273
324
|
## π Links
|
|
274
325
|
|
|
275
326
|
- [π¦ npm Package](https://www.npmjs.com/package/@form-flow/core)
|
|
276
|
-
- [π Report Issues](https://github.com/
|
|
277
|
-
- [π¬ Discussions](https://github.com/
|
|
327
|
+
- [π Report Issues](https://github.com/amoretti-dev/form-flow-core/issues)
|
|
328
|
+
- [π¬ Discussions](https://github.com/amoretti-dev/form-flow-core/discussions)
|
|
278
329
|
|
|
279
330
|
---
|
|
280
331
|
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { FieldDefinition } from './models/field-definition';
|
|
1
|
+
import { FieldDefinition, RuleContextFieldDefinition } from './models/field-definition';
|
|
2
|
+
import { FormFlowDefinition } from './models/form-definition';
|
|
2
3
|
export declare class DependencyGraph {
|
|
3
4
|
private dependentsMap;
|
|
4
|
-
constructor(
|
|
5
|
+
constructor(definition: FormFlowDefinition);
|
|
6
|
+
constructor(fields: FieldDefinition[], ruleContextFields?: RuleContextFieldDefinition[]);
|
|
5
7
|
/**
|
|
6
8
|
* Estrae le dipendenze ricorsivamente da una regola, che puΓ² essere un FieldRuleDefinition o un FieldRuleGroupDefinition.
|
|
7
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../src/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"dependency-graph.d.ts","sourceRoot":"","sources":["../src/dependency-graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D,qBAAa,eAAe;IACxB,OAAO,CAAC,aAAa,CAAuC;gBAEhD,UAAU,EAAE,kBAAkB;gBAC9B,MAAM,EAAE,eAAe,EAAE,EAAE,iBAAiB,CAAC,EAAE,0BAA0B,EAAE;IAyCvF;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAuB3B;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;CAiBnD"}
|
package/dist/dependency-graph.js
CHANGED
|
@@ -3,8 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DependencyGraph = void 0;
|
|
4
4
|
const rule_helper_1 = require("./utility/rule-helper");
|
|
5
5
|
class DependencyGraph {
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(definitionOrFields, ruleContextFields = []) {
|
|
7
7
|
this.dependentsMap = new Map();
|
|
8
|
+
const fields = Array.isArray(definitionOrFields)
|
|
9
|
+
? definitionOrFields
|
|
10
|
+
: definitionOrFields.fields;
|
|
11
|
+
const contextFields = Array.isArray(definitionOrFields)
|
|
12
|
+
? ruleContextFields
|
|
13
|
+
: definitionOrFields.ruleContextFields ?? [];
|
|
14
|
+
contextFields.forEach((field) => {
|
|
15
|
+
if (!this.dependentsMap.has(field.id)) {
|
|
16
|
+
this.dependentsMap.set(field.id, new Set());
|
|
17
|
+
}
|
|
18
|
+
});
|
|
8
19
|
fields.forEach(field => {
|
|
9
20
|
const dependencies = new Set();
|
|
10
21
|
// Estrazione delle dipendenze dalle regole
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../src/dependency-graph.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dependency-graph.js","sourceRoot":"","sources":["../src/dependency-graph.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { type FieldControlType, type FieldDefinition, type ConditionalFieldProperty, type FieldListOption, type FieldControlState, type CustomFieldControlType, type FormControlState, } from './models/field-definition';
|
|
1
|
+
export { type BaseFieldDefinition, type FieldControlType, type FieldDefinition, type ConditionalFieldProperty, type FieldListOption, type FieldControlState, type CustomFieldControlType, type FormControlState, type RuleContextFieldDefinition, } from './models/field-definition';
|
|
2
2
|
export { type FormFlowDefinition, type FormFlowSchema, type FormFlowValues, } from './models/form-definition';
|
|
3
3
|
export { type FieldRuleGroupDefinition, type FieldRuleNode, type LogicalOperator, } from './models/group';
|
|
4
4
|
export { type FieldRuleDefinition } from './models/rule';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,GAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,cAAc,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,eAAe,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAIzD,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,EACH,uBAAuB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACH,gBAAgB,IAAI,wBAAwB,EAC/C,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAEhF,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,6BAA6B;;;AA2B7B,sCAAsC;AACtC,mDAA0E;AAAjE,uHAAA,aAAa,OAAyB;AAE/C,mFAAmF;AACnF,gDAK4B;AAJxB,oHAAA,uBAAuB,OAAA;AAM3B,gEAEmC;AAD/B,6HAAA,gBAAgB,OAA4B;AAGhD,uDAAgF;AAAvE,2HAAA,eAAe,OAA2B;AAEnD,+CAAoE;AAA3D,mHAAA,WAAW,OAAuB;AAC3C,qDAAyE;AAAhE,iHAAA,UAAU,OAAsB;AACzC,qDAAyE;AAAhE,iHAAA,UAAU,OAAsB;AACzC,uDAA4E;AAAnE,mHAAA,WAAW,OAAuB"}
|
|
@@ -6,15 +6,11 @@ export type FieldListOption = {
|
|
|
6
6
|
label: string;
|
|
7
7
|
value: any;
|
|
8
8
|
} & Record<string, any>;
|
|
9
|
-
export interface
|
|
9
|
+
export interface BaseFieldDefinition<TControl extends FieldControlType = FieldControlType> {
|
|
10
10
|
id: string;
|
|
11
11
|
label: string;
|
|
12
12
|
type: TControl;
|
|
13
|
-
|
|
14
|
-
visibleIf?: FieldRuleGroupDefinition;
|
|
15
|
-
requiredIf?: FieldRuleGroupDefinition;
|
|
16
|
-
disabledIf?: FieldRuleGroupDefinition;
|
|
17
|
-
readonlyIf?: FieldRuleGroupDefinition;
|
|
13
|
+
metadata?: Record<string, any>;
|
|
18
14
|
/**
|
|
19
15
|
* List of available options for fields like select, checkbox, or radio buttons.
|
|
20
16
|
*
|
|
@@ -36,6 +32,20 @@ export interface FieldDefinition<TControl extends FieldControlType = FieldContro
|
|
|
36
32
|
*/
|
|
37
33
|
options?: FieldListOption[];
|
|
38
34
|
}
|
|
35
|
+
export interface FieldDefinition<TControl extends FieldControlType = FieldControlType> extends BaseFieldDefinition<TControl> {
|
|
36
|
+
defaultValue?: any;
|
|
37
|
+
visibleIf?: FieldRuleGroupDefinition;
|
|
38
|
+
requiredIf?: FieldRuleGroupDefinition;
|
|
39
|
+
disabledIf?: FieldRuleGroupDefinition;
|
|
40
|
+
readonlyIf?: FieldRuleGroupDefinition;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Source-only field made available to rule builders and dependency tracking.
|
|
44
|
+
* It can be referenced inside conditions, but it is never evaluated as a target
|
|
45
|
+
* control state by the core runtime.
|
|
46
|
+
*/
|
|
47
|
+
export interface RuleContextFieldDefinition<TControl extends FieldControlType = FieldControlType> extends BaseFieldDefinition<TControl> {
|
|
48
|
+
}
|
|
39
49
|
/**
|
|
40
50
|
* Rappresenta il campo target dopo la valutazione delle regole condizionali
|
|
41
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-definition.d.ts","sourceRoot":"","sources":["../../src/models/field-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,gBAAgB,GAAG,UAAU,CAAC;AAC3G,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,IACzD,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAClD,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;AAQhG,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;CACZ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"field-definition.d.ts","sourceRoot":"","sources":["../../src/models/field-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,GAAG,gBAAgB,GAAG,UAAU,CAAC;AAC3G,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK,IACzD,gBAAgB,GAAG,OAAO,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAClD,MAAM,MAAM,wBAAwB,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAAC;AAQhG,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;CACZ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExB,MAAM,WAAW,mBAAmB,CAAC,QAAQ,SAAS,gBAAgB,GAAG,gBAAgB;IACvF,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE/B;;;;;;;;;;;;;;;;;;KAkBC;IACD,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,gBAAgB,GAAG,gBAAgB,CACnF,SAAQ,mBAAmB,CAAC,QAAQ,CAAC;IACrC,YAAY,CAAC,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B,CAAC,QAAQ,SAAS,gBAAgB,GAAG,gBAAgB,CAC9F,SAAQ,mBAAmB,CAAC,QAAQ,CAAC;CAAG;AAG1C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { CustomFieldControlType, FieldDefinition } from "./field-definition";
|
|
1
|
+
import { CustomFieldControlType, FieldDefinition, RuleContextFieldDefinition } from "./field-definition";
|
|
2
2
|
export type FormFlowValues = Record<string, any>;
|
|
3
3
|
export interface FormFlowDefinition<TControl extends CustomFieldControlType = CustomFieldControlType> {
|
|
4
4
|
formId: string;
|
|
5
5
|
fields: FieldDefinition<TControl>[];
|
|
6
|
+
ruleContextFields?: RuleContextFieldDefinition<TControl>[];
|
|
6
7
|
metadata?: Record<string, any>;
|
|
7
8
|
}
|
|
8
9
|
export interface FormFlowSchema<TControl extends CustomFieldControlType = CustomFieldControlType> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-definition.d.ts","sourceRoot":"","sources":["../../src/models/form-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"form-definition.d.ts","sourceRoot":"","sources":["../../src/models/form-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAEzG,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEjD,MAAM,WAAW,kBAAkB,CAC9B,QAAQ,SAAS,sBAAsB,GAAG,sBAAsB;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;IACpC,iBAAiB,CAAC,EAAE,0BAA0B,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,cAAc,CAAC,QAAQ,SAAS,sBAAsB,GAAG,sBAAsB;IAC5F,UAAU,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACxC,SAAS,EAAE,MAAM,cAAc,CAAC;IAChC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,cAAc,KAAK,GAAG,CAAC;IACtD,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnF,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACnC"}
|
package/package.json
CHANGED