@genesislcap/expression-builder 14.248.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/FUTURE.md +164 -0
  2. package/README.md +3 -0
  3. package/custom-elements-manifest.config.js +14 -0
  4. package/dist/custom-elements.json +1971 -0
  5. package/dist/dts/config/combinators.d.ts +6 -0
  6. package/dist/dts/config/combinators.d.ts.map +1 -0
  7. package/dist/dts/config/index.d.ts +3 -0
  8. package/dist/dts/config/index.d.ts.map +1 -0
  9. package/dist/dts/config/operators.d.ts +4 -0
  10. package/dist/dts/config/operators.d.ts.map +1 -0
  11. package/dist/dts/index.d.ts +6 -0
  12. package/dist/dts/index.d.ts.map +1 -0
  13. package/dist/dts/main/events.d.ts +50 -0
  14. package/dist/dts/main/events.d.ts.map +1 -0
  15. package/dist/dts/main/expression-builder.d.ts +44 -0
  16. package/dist/dts/main/expression-builder.d.ts.map +1 -0
  17. package/dist/dts/main/expression-builder.helpers.d.ts +19 -0
  18. package/dist/dts/main/expression-builder.helpers.d.ts.map +1 -0
  19. package/dist/dts/main/expression-builder.styles.d.ts +3 -0
  20. package/dist/dts/main/expression-builder.styles.d.ts.map +1 -0
  21. package/dist/dts/main/expression-builder.template.d.ts +4 -0
  22. package/dist/dts/main/expression-builder.template.d.ts.map +1 -0
  23. package/dist/dts/main/expression-group/expression-group.d.ts +18 -0
  24. package/dist/dts/main/expression-group/expression-group.d.ts.map +1 -0
  25. package/dist/dts/main/expression-group/expression-group.styles.d.ts +2 -0
  26. package/dist/dts/main/expression-group/expression-group.styles.d.ts.map +1 -0
  27. package/dist/dts/main/expression-group/expression-group.template.d.ts +3 -0
  28. package/dist/dts/main/expression-group/expression-group.template.d.ts.map +1 -0
  29. package/dist/dts/main/expression-rule/expression-rule.d.ts +27 -0
  30. package/dist/dts/main/expression-rule/expression-rule.d.ts.map +1 -0
  31. package/dist/dts/main/expression-rule/expression-rule.helpers.d.ts +4 -0
  32. package/dist/dts/main/expression-rule/expression-rule.helpers.d.ts.map +1 -0
  33. package/dist/dts/main/expression-rule/expression-rule.styles.d.ts +2 -0
  34. package/dist/dts/main/expression-rule/expression-rule.styles.d.ts.map +1 -0
  35. package/dist/dts/main/expression-rule/expression-rule.template.d.ts +3 -0
  36. package/dist/dts/main/expression-rule/expression-rule.template.d.ts.map +1 -0
  37. package/dist/dts/main/index.d.ts +4 -0
  38. package/dist/dts/main/index.d.ts.map +1 -0
  39. package/dist/dts/main/rule-field/rule-field.d.ts +15 -0
  40. package/dist/dts/main/rule-field/rule-field.d.ts.map +1 -0
  41. package/dist/dts/main/rule-field/rule-field.template.d.ts +3 -0
  42. package/dist/dts/main/rule-field/rule-field.template.d.ts.map +1 -0
  43. package/dist/dts/main/rule-operator/rule-operator.d.ts +17 -0
  44. package/dist/dts/main/rule-operator/rule-operator.d.ts.map +1 -0
  45. package/dist/dts/main/rule-operator/rule-operator.template.d.ts +3 -0
  46. package/dist/dts/main/rule-operator/rule-operator.template.d.ts.map +1 -0
  47. package/dist/dts/main/rule-value/rule-value.d.ts +17 -0
  48. package/dist/dts/main/rule-value/rule-value.d.ts.map +1 -0
  49. package/dist/dts/main/rule-value/rule-value.helpers.d.ts +6 -0
  50. package/dist/dts/main/rule-value/rule-value.helpers.d.ts.map +1 -0
  51. package/dist/dts/main/rule-value/rule-value.styles.d.ts +2 -0
  52. package/dist/dts/main/rule-value/rule-value.styles.d.ts.map +1 -0
  53. package/dist/dts/main/rule-value/rule-value.template.d.ts +3 -0
  54. package/dist/dts/main/rule-value/rule-value.template.d.ts.map +1 -0
  55. package/dist/dts/types/index.d.ts +3 -0
  56. package/dist/dts/types/index.d.ts.map +1 -0
  57. package/dist/dts/types/private.types.d.ts +21 -0
  58. package/dist/dts/types/private.types.d.ts.map +1 -0
  59. package/dist/dts/types/public.types.d.ts +160 -0
  60. package/dist/dts/types/public.types.d.ts.map +1 -0
  61. package/dist/dts/utils/data-model.d.ts +27 -0
  62. package/dist/dts/utils/data-model.d.ts.map +1 -0
  63. package/dist/dts/utils/formatting.d.ts +13 -0
  64. package/dist/dts/utils/formatting.d.ts.map +1 -0
  65. package/dist/dts/utils/index.d.ts +4 -0
  66. package/dist/dts/utils/index.d.ts.map +1 -0
  67. package/dist/dts/utils/misc.d.ts +14 -0
  68. package/dist/dts/utils/misc.d.ts.map +1 -0
  69. package/dist/esm/config/combinators.js +31 -0
  70. package/dist/esm/config/index.js +2 -0
  71. package/dist/esm/config/operators.js +91 -0
  72. package/dist/esm/index.js +5 -0
  73. package/dist/esm/main/events.js +13 -0
  74. package/dist/esm/main/expression-builder.helpers.js +129 -0
  75. package/dist/esm/main/expression-builder.js +157 -0
  76. package/dist/esm/main/expression-builder.styles.js +177 -0
  77. package/dist/esm/main/expression-builder.template.js +13 -0
  78. package/dist/esm/main/expression-group/expression-group.js +121 -0
  79. package/dist/esm/main/expression-group/expression-group.styles.js +45 -0
  80. package/dist/esm/main/expression-group/expression-group.template.js +102 -0
  81. package/dist/esm/main/expression-rule/expression-rule.helpers.js +25 -0
  82. package/dist/esm/main/expression-rule/expression-rule.js +203 -0
  83. package/dist/esm/main/expression-rule/expression-rule.styles.js +57 -0
  84. package/dist/esm/main/expression-rule/expression-rule.template.js +65 -0
  85. package/dist/esm/main/index.js +3 -0
  86. package/dist/esm/main/rule-field/rule-field.js +48 -0
  87. package/dist/esm/main/rule-field/rule-field.template.js +46 -0
  88. package/dist/esm/main/rule-operator/rule-operator.js +60 -0
  89. package/dist/esm/main/rule-operator/rule-operator.template.js +46 -0
  90. package/dist/esm/main/rule-value/rule-value.helpers.js +17 -0
  91. package/dist/esm/main/rule-value/rule-value.js +115 -0
  92. package/dist/esm/main/rule-value/rule-value.styles.js +11 -0
  93. package/dist/esm/main/rule-value/rule-value.template.js +106 -0
  94. package/dist/esm/types/index.js +2 -0
  95. package/dist/esm/types/private.types.js +1 -0
  96. package/dist/esm/types/public.types.js +1 -0
  97. package/dist/esm/utils/data-model.js +51 -0
  98. package/dist/esm/utils/formatting.js +23 -0
  99. package/dist/esm/utils/index.js +3 -0
  100. package/dist/esm/utils/misc.js +62 -0
  101. package/dist/expression-builder.api.json +212 -0
  102. package/dist/expression-builder.d.ts +322 -0
  103. package/dist/tsdoc-metadata.json +11 -0
  104. package/docs/.gitattributes +2 -0
  105. package/docs/api/expression-builder.config.md +6 -0
  106. package/docs/api/expression-builder.md +13 -0
  107. package/docs/api/expression-builder.types.md +6 -0
  108. package/docs/api/index.md +12 -0
  109. package/docs/api-report.md +260 -0
  110. package/license.txt +46 -0
  111. package/package.json +66 -0
  112. package/playwright.config.ts +5 -0
  113. package/test/unit/test.ts +1 -0
  114. package/tsdoc.json +4 -0
@@ -0,0 +1,6 @@
1
+ import { Combinator } from '../types';
2
+ /** @alpha */
3
+ export declare const BASE_LOGICAL_COMBINATORS: Combinator[];
4
+ /** @alpha */
5
+ export declare const LOGICAL_COMBINATORS: Combinator[];
6
+ //# sourceMappingURL=combinators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combinators.d.ts","sourceRoot":"","sources":["../../../src/config/combinators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,aAAa;AACb,eAAO,MAAM,wBAAwB,EAAE,UAAU,EAShD,CAAC;AAEF,aAAa;AACb,eAAO,MAAM,mBAAmB,EAAE,UAAU,EAkB3C,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './combinators';
2
+ export * from './operators';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Operator } from '../types';
2
+ /** @alpha **/
3
+ export declare const BASE_OPERATORS: Operator[];
4
+ //# sourceMappingURL=operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../src/config/operators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,MAAM,UAAU,CAAC;AAgBhD,cAAc;AACd,eAAO,MAAM,cAAc,EAAE,QAAQ,EA6EpC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as Config from './config';
2
+ import * as Types from './types/public.types';
3
+ export { formatDateString, formatDateTimeString } from './utils';
4
+ export * from './main';
5
+ export { Types, Config };
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEjE,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { Group, GroupMetadata, Rule } from '../types';
2
+ export declare enum Events {
3
+ AddGroup = "add-group",
4
+ DelGroup = "del-group",
5
+ AddRule = "add-rule",
6
+ DelRule = "del-rule",
7
+ UpdateGroup = "update-group",
8
+ UpdateRule = "update-rule",
9
+ FieldSelected = "field-selected",
10
+ OperatorSelected = "operator-selected",
11
+ ValueUpdated = "value-updated",
12
+ RemoveVarArg = "remove-variadic-operand"
13
+ }
14
+ export type EventsDetailMap = {
15
+ [Events.AddGroup]: {
16
+ parentGroupId: string;
17
+ newGroup: Pick<GroupMetadata, 'level'>;
18
+ };
19
+ [Events.DelGroup]: {
20
+ groupId: string;
21
+ };
22
+ [Events.AddRule]: {
23
+ parentGroupId: string;
24
+ };
25
+ [Events.DelRule]: {
26
+ ruleId: string;
27
+ };
28
+ [Events.UpdateGroup]: {
29
+ groupId: string;
30
+ newData: Omit<Group, 'children'>;
31
+ };
32
+ [Events.UpdateRule]: {
33
+ ruleId: string;
34
+ newData: Rule;
35
+ };
36
+ [Events.FieldSelected]: {
37
+ fieldId: string;
38
+ };
39
+ [Events.OperatorSelected]: {
40
+ operatorId: string;
41
+ };
42
+ [Events.ValueUpdated]: {
43
+ value: any;
44
+ index: number;
45
+ };
46
+ [Events.RemoveVarArg]: {
47
+ index: number;
48
+ };
49
+ };
50
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/main/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEtD,oBAAY,MAAM;IAChB,QAAQ,cAAc;IACtB,QAAQ,cAAc;IAEtB,OAAO,aAAa;IACpB,OAAO,aAAa;IAEpB,WAAW,iBAAiB;IAE5B,UAAU,gBAAgB;IAC1B,aAAa,mBAAmB;IAChC,gBAAgB,sBAAsB;IACtC,YAAY,kBAAkB;IAC9B,YAAY,4BAA4B;CACzC;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACrF,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAErC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;KAAE,CAAC;IAE5E,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,IAAI,CAAA;KAAE,CAAC;IACvD,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { GenesisElement } from '@genesislcap/web-core';
2
+ import { Config, Group, ModelGroup, Styles } from '../types';
3
+ import { MetadataProvider } from '../utils/data-model';
4
+ /** @alpha **/
5
+ export declare class ExpressionBuilder extends GenesisElement implements MetadataProvider {
6
+ config: Config;
7
+ styles?: Styles;
8
+ model: ModelGroup | null;
9
+ private ruleCount;
10
+ private groupCount;
11
+ /** @internal */
12
+ configChanged(_: Config, newConfig: Config): void;
13
+ /** @internal */
14
+ modelChanged(_: Config, newModel: ModelGroup): void;
15
+ /**
16
+ * @alpha
17
+ * Dispatches the provided model to the DOM.
18
+ *
19
+ * @remarks
20
+ * Override this to change the shape of model the component returns
21
+ */
22
+ protected dispatchChangeEvent(group: Group): void;
23
+ /** @internal */
24
+ getConfig(): Config;
25
+ /** @internal */
26
+ getGroupId(): string;
27
+ /** @internal */
28
+ getRuleId(): string;
29
+ connectedCallback(): void;
30
+ disconnectedCallback(): void;
31
+ private handleAddGroup;
32
+ private _handleAddGroup;
33
+ private handleAddRule;
34
+ private _handleAddRule;
35
+ private handleDeleteGroup;
36
+ private _handleDeleteGroup;
37
+ private handleDeleteRule;
38
+ private _handleDeleteRule;
39
+ private handleUpdateGroupData;
40
+ private _handleUpdateGroupData;
41
+ private handleUpdateRuleData;
42
+ private _handleUpdateRuleData;
43
+ }
44
+ //# sourceMappingURL=expression-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-builder.d.ts","sourceRoot":"","sources":["../../../src/main/expression-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAc,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAa,MAAM,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAqB,gBAAgB,EAAqB,MAAM,qBAAqB,CAAC;AAkB7F,cAAc;AACd,qBAKa,iBAAkB,SAAQ,cAAe,YAAW,gBAAgB;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,GAAG,IAAI,CAAQ;IAE5C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IAEvB,gBAAgB;IAChB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAQ1C,gBAAgB;IAChB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAM5C;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK;IAa1C,gBAAgB;IAChB,SAAS,IAAI,MAAM;IAInB,gBAAgB;IAChB,UAAU;IAKV,gBAAgB;IAChB,SAAS;IAOT,iBAAiB;IA0BjB,oBAAoB,IAAI,IAAI;IAU5B,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,iBAAiB,CAAsC;IAC/D,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,qBAAqB,CAA0C;IACvE,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,oBAAoB,CAAyC;IACrE,OAAO,CAAC,qBAAqB;CAI9B"}
@@ -0,0 +1,19 @@
1
+ import { ModelGroup, ModelRule } from '../types';
2
+ import { Events, EventsDetailMap } from './events';
3
+ type ChildrenOperatorFn = (children: ModelGroup['children']) => ModelGroup['children'];
4
+ /**
5
+ * Finds a group within a model and applies a function to create a new children
6
+ * @param model The root group to start searching from
7
+ * @param groupId The Group ID to find
8
+ * @param fn The function to apply to the children of the found group. A *new* object must be created and returned
9
+ * @returns A *new* root `Group` object which the function has been applied to. If the group isn't found an error is thrown
10
+ */
11
+ export declare function findOperateOnGroup(model: ModelGroup, groupId: string, fn: ChildrenOperatorFn): ModelGroup;
12
+ export declare function addGroupOrRule(model: ModelGroup, parentGroupId: string, newItem: ModelGroup | ModelRule): ModelGroup;
13
+ export declare function deleteGroup(model: ModelGroup, groupIdToDelete: string): ModelGroup;
14
+ export declare function deleteRule(model: ModelGroup, ruleIdToDelete: string): ModelGroup;
15
+ export declare const ROOT_GROUP = "group-root";
16
+ export declare function updateGroupData(model: ModelGroup, groupIdToUpdate: string, newData: EventsDetailMap[Events.UpdateGroup]['newData']): ModelGroup;
17
+ export declare function updateRuleData(model: ModelGroup, ruleIdToUpdate: string, newData: EventsDetailMap[Events.UpdateRule]['newData']): ModelGroup;
18
+ export {};
19
+ //# sourceMappingURL=expression-builder.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-builder.helpers.d.ts","sourceRoot":"","sources":["../../../src/main/expression-builder.helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAInD,KAAK,kBAAkB,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC;AAKvF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,kBAAkB,GACrB,UAAU,CAoCZ;AA+CD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,UAAU,GAAG,SAAS,GAC9B,UAAU,CAKZ;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,UAAU,CAWlF;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,GAAG,UAAU,CAWhF;AAED,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,GACtD,UAAU,CAgBZ;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,UAAU,EACjB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,GACrD,UAAU,CAUZ"}
@@ -0,0 +1,3 @@
1
+ /** @alpha **/
2
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
3
+ //# sourceMappingURL=expression-builder.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-builder.styles.d.ts","sourceRoot":"","sources":["../../../src/main/expression-builder.styles.ts"],"names":[],"mappings":"AAEA,cAAc;AACd,eAAO,MAAM,MAAM,iDA8KlB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { ExpressionBuilder } from './expression-builder';
2
+ /** @alpha **/
3
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<ExpressionBuilder, any>;
4
+ //# sourceMappingURL=expression-builder.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-builder.template.d.ts","sourceRoot":"","sources":["../../../src/main/expression-builder.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAK9D,cAAc;AACd,eAAO,MAAM,QAAQ,wEAQpB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { GenesisElement } from '@genesislcap/web-core';
2
+ import { Combinator, Config, ModelGroup, Styles } from '../../types';
3
+ export declare class ExpressionGroup extends GenesisElement {
4
+ config: Config;
5
+ styles?: Styles;
6
+ model: ModelGroup;
7
+ index: number;
8
+ connectedCallback(): void;
9
+ get allowNestedGroup(): boolean;
10
+ dispatchAddRule(event: Event): void;
11
+ dispatchAddGroup(event: Event): void;
12
+ dispatchDeleteGroup(event: Event): void;
13
+ handleCombinatorChange(event: Event): void;
14
+ handleCustomCombinatorChange(event: Event): void;
15
+ private updateCombinator;
16
+ dispatchGroupDataUpdated(combinator: Combinator): void;
17
+ }
18
+ //# sourceMappingURL=expression-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-group.d.ts","sourceRoot":"","sources":["../../../../src/main/expression-group/expression-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAMrE,qBAQa,eAAgB,SAAQ,cAAc;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IAE1B,iBAAiB,IAAI,IAAI;IAKzB,IACI,gBAAgB,IAAI,OAAO,CAI9B;IAaD,eAAe,CAAC,KAAK,EAAE,KAAK;IAQ5B,gBAAgB,CAAC,KAAK,EAAE,KAAK;IAY7B,mBAAmB,CAAC,KAAK,EAAE,KAAK;IAQhC,sBAAsB,CAAC,KAAK,EAAE,KAAK;IAQnC,4BAA4B,CAAC,KAAK,EAAE,KAAK;IAazC,OAAO,CAAC,gBAAgB;IAcxB,wBAAwB,CAAC,UAAU,EAAE,UAAU;CAWhD"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
2
+ //# sourceMappingURL=expression-group.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-group.styles.d.ts","sourceRoot":"","sources":["../../../../src/main/expression-group/expression-group.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,iDA2ClB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ExpressionGroup } from './expression-group';
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<ExpressionGroup, any>;
3
+ //# sourceMappingURL=expression-group.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-group.template.d.ts","sourceRoot":"","sources":["../../../../src/main/expression-group/expression-group.template.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,eAAO,MAAM,QAAQ,sEA4HpB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { GenesisElement } from '@genesislcap/web-core';
2
+ import { Config, ModelRule, Styles, VariadicOperator } from '../../types';
3
+ import { Events, EventsDetailMap } from '../events';
4
+ export declare class ExpressionRule extends GenesisElement {
5
+ config: Config;
6
+ styles?: Styles;
7
+ model: ModelRule | null;
8
+ index: number;
9
+ connectedCallback(): void;
10
+ variadicRule(model: ModelRule): model is ModelRule & {
11
+ operator: VariadicOperator;
12
+ value: any[];
13
+ };
14
+ /**
15
+ * @internal
16
+ * Creates an array of length n to represent to number of argument to the operator
17
+ */
18
+ get operandIterator(): true[];
19
+ operandValue(index: number): any;
20
+ dispatchAddVarArg(): void;
21
+ handleRemoveVarArg(event: CustomEvent<EventsDetailMap[Events.RemoveVarArg]>): void;
22
+ dispatchDeleteRule(event: Event): void;
23
+ handleFieldSelected(event: CustomEvent<EventsDetailMap[Events.FieldSelected]>): void;
24
+ handleValueChanged(event: CustomEvent<EventsDetailMap[Events.ValueUpdated]>): void;
25
+ handleOperatorSelected(event: CustomEvent<EventsDetailMap[Events.OperatorSelected]>): void;
26
+ }
27
+ //# sourceMappingURL=expression-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-rule.d.ts","sourceRoot":"","sources":["../../../../src/main/expression-rule/expression-rule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAEL,MAAM,EAEN,SAAS,EAET,MAAM,EAGN,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAYpD,qBAQa,cAAe,SAAQ,cAAc;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IAE1B,iBAAiB,IAAI,IAAI;IAKzB,YAAY,CACV,KAAK,EAAE,SAAS,GACf,KAAK,IAAI,SAAS,GAAG;QAAE,QAAQ,EAAE,gBAAgB,CAAC;QAAC,KAAK,EAAE,GAAG,EAAE,CAAA;KAAE;IAIpE;;;OAGG;IACH,IACI,eAAe,IAAI,IAAI,EAAE,CAM5B;IAED,YAAY,CAAC,KAAK,EAAE,MAAM;IAc1B,iBAAiB,IAAI,IAAI;IAgBzB,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI;IAiBlF,kBAAkB,CAAC,KAAK,EAAE,KAAK;IAQ/B,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAqB7E,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAkC3E,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;CAkDpF"}
@@ -0,0 +1,4 @@
1
+ import { Field } from '../../types';
2
+ export declare const defaultVal: (f: Field) => any;
3
+ export declare const fieldDefault: (f: Field) => string | false | 0;
4
+ //# sourceMappingURL=expression-rule.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-rule.helpers.d.ts","sourceRoot":"","sources":["../../../../src/main/expression-rule/expression-rule.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAGpC,eAAO,MAAM,UAAU,MAAO,KAAK,QAC8B,CAAC;AAElE,eAAO,MAAM,YAAY,MAAO,KAAK,uBAqBpC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
2
+ //# sourceMappingURL=expression-rule.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-rule.styles.d.ts","sourceRoot":"","sources":["../../../../src/main/expression-rule/expression-rule.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,iDAuDlB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ExpressionRule } from './expression-rule';
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<ExpressionRule, any>;
3
+ //# sourceMappingURL=expression-rule.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-rule.template.d.ts","sourceRoot":"","sources":["../../../../src/main/expression-rule/expression-rule.template.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,eAAO,MAAM,QAAQ,qEAgFpB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './expression-builder';
2
+ export * from './expression-builder.styles';
3
+ export * from './expression-builder.template';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/main/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { GenesisElement } from '@genesislcap/web-core';
2
+ import { Config, Field, Styles } from '../../types';
3
+ export declare class RuleField extends GenesisElement {
4
+ fields: Field[];
5
+ field: Field;
6
+ config: Config;
7
+ styles?: Styles;
8
+ connectedCallback(): void;
9
+ get groupedFieldss(): (Field | {
10
+ optgroup: string | null;
11
+ xs: Field[];
12
+ })[];
13
+ dispatchFieldsChanged(event: Event): void;
14
+ }
15
+ //# sourceMappingURL=rule-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-field.d.ts","sourceRoot":"","sources":["../../../../src/main/rule-field/rule-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAKpD,qBAIa,SAAU,SAAQ,cAAc;IAC/B,MAAM,EAAE,KAAK,EAAE,CAAM;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAE5B,iBAAiB,IAAI,IAAI;IAKzB,IACI,cAAc,IAAI,CAAC,KAAK,GAAG;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,KAAK,EAAE,CAAA;KAAE,CAAC,EAAE,CAEzE;IAED,qBAAqB,CAAC,KAAK,EAAE,KAAK;CAUnC"}
@@ -0,0 +1,3 @@
1
+ import type { RuleField } from './rule-field';
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<RuleField, any>;
3
+ //# sourceMappingURL=rule-field.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-field.template.d.ts","sourceRoot":"","sources":["../../../../src/main/rule-field/rule-field.template.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,eAAO,MAAM,QAAQ,gEAoDpB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { GenesisElement } from '@genesislcap/web-core';
2
+ import { Config, Field, Operator, Styles } from '../../types';
3
+ export declare class RuleOperator extends GenesisElement {
4
+ operators: Operator[];
5
+ operator: Operator;
6
+ field: Field | null;
7
+ config: Config;
8
+ styles?: Styles;
9
+ connectedCallback(): void;
10
+ get allowedOperators(): Operator[];
11
+ get groupedOperators(): (Operator | {
12
+ optgroup: string | null;
13
+ xs: Operator[];
14
+ })[];
15
+ handleOperatorChange(event: Event): void;
16
+ }
17
+ //# sourceMappingURL=rule-operator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-operator.d.ts","sourceRoot":"","sources":["../../../../src/main/rule-operator/rule-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAK9D,qBAIa,YAAa,SAAQ,cAAc;IAClC,SAAS,EAAE,QAAQ,EAAE,CAAM;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAQ;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAE5B,iBAAiB,IAAI,IAAI;IAKzB,IACI,gBAAgB,IAAI,QAAQ,EAAE,CAMjC;IAED,IACI,gBAAgB,IAAI,CAAC,QAAQ,GAAG;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC,EAAE,CAEjF;IAED,oBAAoB,CAAC,KAAK,EAAE,KAAK;CAUlC"}
@@ -0,0 +1,3 @@
1
+ import type { RuleOperator } from './rule-operator';
2
+ export declare const template: import("@microsoft/fast-element").ViewTemplate<RuleOperator, any>;
3
+ //# sourceMappingURL=rule-operator.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-operator.template.d.ts","sourceRoot":"","sources":["../../../../src/main/rule-operator/rule-operator.template.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,QAAQ,mEAiDpB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { GenesisElement } from '@genesislcap/web-core';
2
+ import { Config, Field, Styles } from '../../types';
3
+ export declare class RuleValue extends GenesisElement {
4
+ valueIndex: string;
5
+ variadic: boolean;
6
+ validationError: boolean;
7
+ validationMsg: string;
8
+ field: Field | null;
9
+ value: any;
10
+ config: Config;
11
+ styles?: Styles;
12
+ connectedCallback(): void;
13
+ validateInput(value: string): string | null;
14
+ handleInputChange(event: Event): void;
15
+ handleRemoveVariadicOperand(): void;
16
+ }
17
+ //# sourceMappingURL=rule-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-value.d.ts","sourceRoot":"","sources":["../../../../src/main/rule-value/rule-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,cAAc,EAAc,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAOpD,qBAQa,SAAU,SAAQ,cAAc;IACP,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAS;IACK,eAAe,EAAE,OAAO,CAAS;IACpD,aAAa,EAAE,MAAM,CAAC;IACjD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAQ;IAC3B,KAAK,EAAE,GAAG,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAE5B,iBAAiB,IAAI,IAAI;IAMzB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAc3C,iBAAiB,CAAC,KAAK,EAAE,KAAK;IA6C9B,2BAA2B;CAS5B"}
@@ -0,0 +1,6 @@
1
+ import { Field } from '../../types';
2
+ export declare const isIntType: (type: Field['type']) => boolean;
3
+ export declare const isFloatType: (type: Field['type']) => boolean;
4
+ export declare const pattern: (type: Field['type']) => RegExp;
5
+ export declare const numberPatternValidator: (type: Field['type'], value: string) => string | null;
6
+ //# sourceMappingURL=rule-value.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-value.helpers.d.ts","sourceRoot":"","sources":["../../../../src/main/rule-value/rule-value.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,eAAO,MAAM,SAAS,SAAU,KAAK,CAAC,MAAM,CAAC,YAA4C,CAAC;AAE1F,eAAO,MAAM,WAAW,SAAU,KAAK,CAAC,MAAM,CAAC,YAA4C,CAAC;AAE5F,eAAO,MAAM,OAAO,SAAU,KAAK,CAAC,MAAM,CAAC,WAQ1C,CAAC;AAEF,eAAO,MAAM,sBAAsB,SAAU,KAAK,CAAC,MAAM,CAAC,SAAS,MAAM,KAAG,MAAM,GAAG,IAEpF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("@microsoft/fast-element").ElementStyles;
2
+ //# sourceMappingURL=rule-value.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-value.styles.d.ts","sourceRoot":"","sources":["../../../../src/main/rule-value/rule-value.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,iDASlB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { RuleValue } from './rule-value';
2
+ export declare const ruleValueTemplate: import("@microsoft/fast-element").ViewTemplate<RuleValue, any>;
3
+ //# sourceMappingURL=rule-value.template.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-value.template.d.ts","sourceRoot":"","sources":["../../../../src/main/rule-value/rule-value.template.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AA4H9C,eAAO,MAAM,iBAAiB,gEAQ7B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './public.types';
2
+ export * from './private.types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Config, Group, Rule } from './public.types';
2
+ /** @internal **/
3
+ export type RuleMetadata = {
4
+ ruleId: string;
5
+ config: Config;
6
+ };
7
+ /** @internal **/
8
+ export type ModelRule = Rule & RuleMetadata;
9
+ /** @internal **/
10
+ export type GroupStructure = Omit<Group, 'children'> & {
11
+ children: (ModelRule | ModelGroup)[];
12
+ };
13
+ /** @internal **/
14
+ export type GroupMetadata = {
15
+ groupId: string;
16
+ level: number;
17
+ config: Config;
18
+ };
19
+ /** @internal **/
20
+ export type ModelGroup = GroupMetadata & GroupStructure;
21
+ //# sourceMappingURL=private.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private.types.d.ts","sourceRoot":"","sources":["../../../src/types/private.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAErD,iBAAiB;AACjB,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,iBAAiB;AACjB,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,YAAY,CAAC;AAE5C,iBAAiB;AACjB,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG;IACrD,QAAQ,EAAE,CAAC,SAAS,GAAG,UAAU,CAAC,EAAE,CAAC;CACtC,CAAC;AAEF,iBAAiB;AACjB,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,iBAAiB;AACjB,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC"}
@@ -0,0 +1,160 @@
1
+ /** @alpha **/
2
+ export type CustomElements = {
3
+ /** Custom element tag for checkbox inputs */
4
+ checkbox?: string;
5
+ /** Custom element tag for text inputs */
6
+ text?: string;
7
+ /** Custom element tag for number inputs */
8
+ number?: string;
9
+ /** Custom element tag for date inputs */
10
+ date?: string;
11
+ /** Custom element tag for datetime-local inputs */
12
+ datetimeLocal?: string;
13
+ /** Custom element tag for select inputs */
14
+ select?: string;
15
+ /** Custom element tag for option elements */
16
+ option?: string;
17
+ /** Custom element tag for button elements */
18
+ button?: string;
19
+ /** Custom element tag for radio and radio group elements
20
+ * Assume that the radio group still exposes change event and value attribute */
21
+ radio?: {
22
+ input: string;
23
+ group: string;
24
+ };
25
+ };
26
+ /** @alpha **/
27
+ export type CustomStyles = {
28
+ /** Additional CSS for expression rule component */
29
+ rule?: string;
30
+ /** Additional CSS for rule value component */
31
+ value?: string;
32
+ /** Additional CSS for rule field component */
33
+ field?: string;
34
+ /** Additional CSS for rule operator component */
35
+ operator?: string;
36
+ /** Additional CSS for expression group component */
37
+ group?: string;
38
+ };
39
+ /** @alpha **/
40
+ export type Styles = {
41
+ /** Custom element tags for HTML elements */
42
+ customElements?: CustomElements;
43
+ /** Custom styles for components */
44
+ customStyles?: CustomStyles;
45
+ };
46
+ /** @alpha **/
47
+ export type Config = {
48
+ operators: Operator[];
49
+ fields: Field[];
50
+ combinators: Combinator[];
51
+ /** Model to hydrate */
52
+ model?: Group;
53
+ /** If set and more than 0, is a 1-indexed config for the nesting of groups */
54
+ maxNesting?: number;
55
+ };
56
+ /** @alpha **/
57
+ export type _Operator = {
58
+ applyTo: FieldTypes['type'][];
59
+ optgroup?: string | null;
60
+ type: string;
61
+ };
62
+ /** @alpha **/
63
+ export type UniraryOperator = {
64
+ nbInputs: 0;
65
+ } & _Operator;
66
+ /** @alpha **/
67
+ export type BinaryOperator = {
68
+ nbInputs: 1;
69
+ } & _Operator;
70
+ /** @alpha **/
71
+ export type TernararyOperator = {
72
+ nbInputs: 2;
73
+ } & _Operator;
74
+ /** @alpha **/
75
+ export type VariadicOperator = {
76
+ nbInputs: 'many';
77
+ } & _Operator;
78
+ /** @alpha **/
79
+ export type Operator = UniraryOperator | BinaryOperator | TernararyOperator | VariadicOperator;
80
+ /** @alpha **/
81
+ export type TextInput = {
82
+ type: 'string';
83
+ input: 'text';
84
+ validation?: (x: unknown) => string | null;
85
+ };
86
+ /** @alpha **/
87
+ export type NumberInput = {
88
+ input: 'number';
89
+ type: 'int' | 'short' | 'double' | 'long' | 'bigdecimal';
90
+ validation?: (x: unknown) => string | null;
91
+ };
92
+ /** @alpha **/
93
+ export type CheckboxInput = {
94
+ input: 'checkbox';
95
+ type: 'boolean';
96
+ };
97
+ /** @alpha **/
98
+ export type SelectInput = {
99
+ input: 'select';
100
+ type: 'enum';
101
+ values: Record<string, string | number>;
102
+ };
103
+ /** @alpha **/
104
+ export type DateInput = {
105
+ input: 'date';
106
+ type: 'date';
107
+ validation?: (x: unknown) => string | null;
108
+ };
109
+ /** @alpha **/
110
+ export type DateTimeInput = {
111
+ input: 'datetime-local';
112
+ type: 'date-time';
113
+ validation?: (x: unknown) => string | null;
114
+ };
115
+ /** @alpha **/
116
+ export type FieldTypes = TextInput | NumberInput | CheckboxInput | SelectInput | DateInput | DateTimeInput;
117
+ /** @alpha **/
118
+ export type Field = {
119
+ optgroup?: string | null;
120
+ data?: any;
121
+ defaultValue?: any;
122
+ fieldId: string;
123
+ label: string;
124
+ operators?: string[];
125
+ } & FieldTypes;
126
+ /** @alpha **/
127
+ export type Combinator = {
128
+ type: string;
129
+ maxRules: 1 | 2 | 'many';
130
+ label?: string;
131
+ description?: string;
132
+ allowedFields?: Field['fieldId'][];
133
+ allowedOperators?: Operator['type'][];
134
+ validator?: (group: Group) => string | null;
135
+ allowLiterals?: boolean;
136
+ forceFieldOnly?: boolean;
137
+ };
138
+ /** @alpha **/
139
+ export type Rule = {
140
+ field: Field | null;
141
+ } & ({
142
+ operator: null;
143
+ } | {
144
+ operator: UniraryOperator;
145
+ } | {
146
+ operator: BinaryOperator;
147
+ value: any;
148
+ } | {
149
+ operator: TernararyOperator;
150
+ value: [any, any];
151
+ } | {
152
+ operator: VariadicOperator;
153
+ value: any[];
154
+ });
155
+ /** @alpha **/
156
+ export type Group = {
157
+ combinator: Combinator;
158
+ children: (Rule | Group)[];
159
+ };
160
+ //# sourceMappingURL=public.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.types.d.ts","sourceRoot":"","sources":["../../../src/types/public.types.ts"],"names":[],"mappings":"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"}