@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,1971 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "src/index.ts",
8
+ "declarations": [],
9
+ "exports": [
10
+ {
11
+ "kind": "js",
12
+ "name": "formatDateString",
13
+ "declaration": {
14
+ "name": "formatDateString",
15
+ "module": "./utils"
16
+ }
17
+ },
18
+ {
19
+ "kind": "js",
20
+ "name": "formatDateTimeString",
21
+ "declaration": {
22
+ "name": "formatDateTimeString",
23
+ "module": "./utils"
24
+ }
25
+ },
26
+ {
27
+ "kind": "js",
28
+ "name": "*",
29
+ "declaration": {
30
+ "name": "*",
31
+ "package": "./main"
32
+ }
33
+ },
34
+ {
35
+ "kind": "js",
36
+ "name": "Types",
37
+ "declaration": {
38
+ "name": "Types",
39
+ "module": "src/index.ts"
40
+ }
41
+ },
42
+ {
43
+ "kind": "js",
44
+ "name": "Config",
45
+ "declaration": {
46
+ "name": "Config",
47
+ "module": "src/index.ts"
48
+ }
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "kind": "javascript-module",
54
+ "path": "src/config/combinators.ts",
55
+ "declarations": [
56
+ {
57
+ "kind": "variable",
58
+ "name": "BASE_LOGICAL_COMBINATORS",
59
+ "type": {
60
+ "text": "Combinator[]"
61
+ },
62
+ "default": "[\n {\n type: 'AND',\n maxRules: 'many',\n },\n {\n type: 'OR',\n maxRules: 'many',\n },\n]"
63
+ },
64
+ {
65
+ "kind": "variable",
66
+ "name": "LOGICAL_COMBINATORS",
67
+ "type": {
68
+ "text": "Combinator[]"
69
+ },
70
+ "default": "[\n ...BASE_LOGICAL_COMBINATORS,\n {\n type: 'NOT',\n maxRules: 2,\n },\n {\n type: 'NAND',\n maxRules: 'many',\n },\n {\n type: 'NOR',\n maxRules: 'many',\n },\n {\n type: 'XOR',\n maxRules: 2,\n },\n]"
71
+ }
72
+ ],
73
+ "exports": [
74
+ {
75
+ "kind": "js",
76
+ "name": "BASE_LOGICAL_COMBINATORS",
77
+ "declaration": {
78
+ "name": "BASE_LOGICAL_COMBINATORS",
79
+ "module": "src/config/combinators.ts"
80
+ }
81
+ },
82
+ {
83
+ "kind": "js",
84
+ "name": "LOGICAL_COMBINATORS",
85
+ "declaration": {
86
+ "name": "LOGICAL_COMBINATORS",
87
+ "module": "src/config/combinators.ts"
88
+ }
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ "kind": "javascript-module",
94
+ "path": "src/config/index.ts",
95
+ "declarations": [],
96
+ "exports": [
97
+ {
98
+ "kind": "js",
99
+ "name": "*",
100
+ "declaration": {
101
+ "name": "*",
102
+ "package": "./combinators"
103
+ }
104
+ },
105
+ {
106
+ "kind": "js",
107
+ "name": "*",
108
+ "declaration": {
109
+ "name": "*",
110
+ "package": "./operators"
111
+ }
112
+ }
113
+ ]
114
+ },
115
+ {
116
+ "kind": "javascript-module",
117
+ "path": "src/config/operators.ts",
118
+ "declarations": [
119
+ {
120
+ "kind": "variable",
121
+ "name": "BASE_OPERATORS",
122
+ "type": {
123
+ "text": "Operator[]"
124
+ },
125
+ "default": "[\n {\n type: 'equal',\n nbInputs: 1,\n applyTo: allTypes,\n optgroup: 'Equality',\n },\n {\n type: 'not_equal',\n nbInputs: 1,\n applyTo: allTypes,\n optgroup: 'Equality',\n },\n {\n type: 'greater',\n nbInputs: 1,\n applyTo: [...numericTypes, ...dateTypes],\n optgroup: 'Comparison',\n },\n {\n type: 'less',\n nbInputs: 1,\n applyTo: [...numericTypes, ...dateTypes],\n optgroup: 'Comparison',\n },\n {\n type: 'contains',\n nbInputs: 1,\n applyTo: ['string'],\n optgroup: 'String',\n },\n {\n type: 'starts_with',\n nbInputs: 1,\n applyTo: ['string'],\n optgroup: 'String',\n },\n {\n type: 'ends_with',\n nbInputs: 1,\n applyTo: ['string'],\n optgroup: 'String',\n },\n {\n type: 'one_of',\n nbInputs: 'many',\n applyTo: [...allTypes].filter((t) => t !== 'boolean'),\n },\n {\n type: 'not_any_of',\n nbInputs: 'many',\n applyTo: [...allTypes].filter((t) => t !== 'boolean'),\n },\n {\n type: 'within_inclusive',\n nbInputs: 2,\n applyTo: [...numericTypes, ...dateTypes],\n optgroup: 'Range',\n },\n {\n type: 'within_exclusive',\n nbInputs: 2,\n applyTo: [...numericTypes, ...dateTypes],\n optgroup: 'Range',\n },\n {\n type: 'is_null',\n nbInputs: 0,\n applyTo: [...allTypes],\n optgroup: 'Null',\n },\n {\n type: 'not_null',\n nbInputs: 0,\n applyTo: [...allTypes],\n optgroup: 'Null',\n },\n]"
126
+ }
127
+ ],
128
+ "exports": [
129
+ {
130
+ "kind": "js",
131
+ "name": "BASE_OPERATORS",
132
+ "declaration": {
133
+ "name": "BASE_OPERATORS",
134
+ "module": "src/config/operators.ts"
135
+ }
136
+ }
137
+ ]
138
+ },
139
+ {
140
+ "kind": "javascript-module",
141
+ "path": "src/main/events.ts",
142
+ "declarations": [],
143
+ "exports": []
144
+ },
145
+ {
146
+ "kind": "javascript-module",
147
+ "path": "src/main/expression-builder.helpers.ts",
148
+ "declarations": [
149
+ {
150
+ "kind": "function",
151
+ "name": "findOperateOnGroup",
152
+ "return": {
153
+ "type": {
154
+ "text": ""
155
+ }
156
+ },
157
+ "parameters": [
158
+ {
159
+ "name": "model",
160
+ "type": {
161
+ "text": "ModelGroup"
162
+ },
163
+ "description": "The root group to start searching from"
164
+ },
165
+ {
166
+ "name": "groupId",
167
+ "type": {
168
+ "text": "string"
169
+ },
170
+ "description": "The Group ID to find"
171
+ },
172
+ {
173
+ "name": "fn",
174
+ "type": {
175
+ "text": "ChildrenOperatorFn"
176
+ },
177
+ "description": "The function to apply to the children of the found group. A *new* object must be created and returned"
178
+ }
179
+ ],
180
+ "description": "Finds a group within a model and applies a function to create a new children"
181
+ },
182
+ {
183
+ "kind": "function",
184
+ "name": "addGroupOrRule",
185
+ "return": {
186
+ "type": {
187
+ "text": "ModelGroup"
188
+ }
189
+ },
190
+ "parameters": [
191
+ {
192
+ "name": "model",
193
+ "type": {
194
+ "text": "ModelGroup"
195
+ }
196
+ },
197
+ {
198
+ "name": "parentGroupId",
199
+ "type": {
200
+ "text": "string"
201
+ }
202
+ },
203
+ {
204
+ "name": "newItem",
205
+ "type": {
206
+ "text": "ModelGroup | ModelRule"
207
+ }
208
+ }
209
+ ]
210
+ },
211
+ {
212
+ "kind": "function",
213
+ "name": "deleteGroup",
214
+ "return": {
215
+ "type": {
216
+ "text": "ModelGroup"
217
+ }
218
+ },
219
+ "parameters": [
220
+ {
221
+ "name": "model",
222
+ "type": {
223
+ "text": "ModelGroup"
224
+ }
225
+ },
226
+ {
227
+ "name": "groupIdToDelete",
228
+ "type": {
229
+ "text": "string"
230
+ }
231
+ }
232
+ ]
233
+ },
234
+ {
235
+ "kind": "function",
236
+ "name": "deleteRule",
237
+ "return": {
238
+ "type": {
239
+ "text": "ModelGroup"
240
+ }
241
+ },
242
+ "parameters": [
243
+ {
244
+ "name": "model",
245
+ "type": {
246
+ "text": "ModelGroup"
247
+ }
248
+ },
249
+ {
250
+ "name": "ruleIdToDelete",
251
+ "type": {
252
+ "text": "string"
253
+ }
254
+ }
255
+ ]
256
+ },
257
+ {
258
+ "kind": "variable",
259
+ "name": "ROOT_GROUP",
260
+ "type": {
261
+ "text": "string"
262
+ },
263
+ "default": "'group-root'"
264
+ },
265
+ {
266
+ "kind": "function",
267
+ "name": "updateGroupData",
268
+ "return": {
269
+ "type": {
270
+ "text": "ModelGroup"
271
+ }
272
+ },
273
+ "parameters": [
274
+ {
275
+ "name": "model",
276
+ "type": {
277
+ "text": "ModelGroup"
278
+ }
279
+ },
280
+ {
281
+ "name": "groupIdToUpdate",
282
+ "type": {
283
+ "text": "string"
284
+ }
285
+ },
286
+ {
287
+ "name": "newData",
288
+ "type": {
289
+ "text": "EventsDetailMap[Events.UpdateGroup]['newData']"
290
+ }
291
+ }
292
+ ]
293
+ },
294
+ {
295
+ "kind": "function",
296
+ "name": "updateRuleData",
297
+ "return": {
298
+ "type": {
299
+ "text": "ModelGroup"
300
+ }
301
+ },
302
+ "parameters": [
303
+ {
304
+ "name": "model",
305
+ "type": {
306
+ "text": "ModelGroup"
307
+ }
308
+ },
309
+ {
310
+ "name": "ruleIdToUpdate",
311
+ "type": {
312
+ "text": "string"
313
+ }
314
+ },
315
+ {
316
+ "name": "newData",
317
+ "type": {
318
+ "text": "EventsDetailMap[Events.UpdateRule]['newData']"
319
+ }
320
+ }
321
+ ]
322
+ }
323
+ ],
324
+ "exports": [
325
+ {
326
+ "kind": "js",
327
+ "name": "findOperateOnGroup",
328
+ "declaration": {
329
+ "name": "findOperateOnGroup",
330
+ "module": "src/main/expression-builder.helpers.ts"
331
+ }
332
+ },
333
+ {
334
+ "kind": "js",
335
+ "name": "addGroupOrRule",
336
+ "declaration": {
337
+ "name": "addGroupOrRule",
338
+ "module": "src/main/expression-builder.helpers.ts"
339
+ }
340
+ },
341
+ {
342
+ "kind": "js",
343
+ "name": "deleteGroup",
344
+ "declaration": {
345
+ "name": "deleteGroup",
346
+ "module": "src/main/expression-builder.helpers.ts"
347
+ }
348
+ },
349
+ {
350
+ "kind": "js",
351
+ "name": "deleteRule",
352
+ "declaration": {
353
+ "name": "deleteRule",
354
+ "module": "src/main/expression-builder.helpers.ts"
355
+ }
356
+ },
357
+ {
358
+ "kind": "js",
359
+ "name": "ROOT_GROUP",
360
+ "declaration": {
361
+ "name": "ROOT_GROUP",
362
+ "module": "src/main/expression-builder.helpers.ts"
363
+ }
364
+ },
365
+ {
366
+ "kind": "js",
367
+ "name": "updateGroupData",
368
+ "declaration": {
369
+ "name": "updateGroupData",
370
+ "module": "src/main/expression-builder.helpers.ts"
371
+ }
372
+ },
373
+ {
374
+ "kind": "js",
375
+ "name": "updateRuleData",
376
+ "declaration": {
377
+ "name": "updateRuleData",
378
+ "module": "src/main/expression-builder.helpers.ts"
379
+ }
380
+ }
381
+ ]
382
+ },
383
+ {
384
+ "kind": "javascript-module",
385
+ "path": "src/main/expression-builder.styles.ts",
386
+ "declarations": [
387
+ {
388
+ "kind": "variable",
389
+ "name": "styles",
390
+ "default": "css`\n :host {\n --item-vertical-spacing: 4px;\n --item-border-radius: 5px;\n --group-background-color: rgb(250 240 210 / 50%);\n --group-border-color: #dcc896;\n --group-border: 1px solid var(--group-border-color);\n --group-padding: 10px;\n --rule-background-color: rgb(255 255 255 / 90%);\n --rule-border-color: #eee;\n --rule-border: 1px solid var(--rule-border-color);\n --rule-padding: 5px;\n --rule-value-separator: 1px solid #ddd;\n --error-icon-color: #f00;\n --error-border-color: #f99;\n --error-background-color: #fdd;\n --ticks-width: 2px;\n --ticks-color: #ccc;\n }\n\n p.test {\n color: black;\n }\n\n .query-builder {\n font-family: sans-serif;\n }\n\n .rules-group-container {\n position: relative;\n margin: var(--item-vertical-spacing) 0;\n border-radius: var(--item-border-radius);\n padding: var(--group-padding);\n border: var(--group-border);\n background: var(--group-background-color);\n }\n\n .rules-group-header {\n margin-bottom: var(--group-padding);\n }\n\n .group-conditions {\n display: inline-block;\n }\n\n .group-conditions .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n border: 1px solid #007bff;\n color: #007bff;\n background-color: transparent;\n cursor: pointer;\n }\n\n .group-conditions .btn:hover {\n background-color: #007bff;\n color: #fff;\n }\n\n .group-conditions .btn.active {\n background-color: #007bff;\n color: #fff;\n }\n\n .group-actions {\n display: inline-block;\n float: right;\n }\n\n .rules-list {\n list-style: none;\n padding: 0 0 0 20px; /* Adjusted ticks position */\n margin: 0;\n }\n\n .rule-container {\n position: relative;\n margin: var(--item-vertical-spacing) 0;\n border-radius: var(--item-border-radius);\n padding: var(--rule-padding);\n border: var(--rule-border);\n background: var(--rule-background-color);\n }\n\n .rule-header {\n margin-bottom: 5px;\n }\n\n .rule-actions {\n display: inline-block;\n float: right;\n }\n\n .rule-field-container,\n .rule-operator-container,\n .rule-value-container {\n display: inline-block;\n margin: 0 5px 0 0;\n vertical-align: middle;\n }\n\n .rule-value-container {\n border-left: var(--rule-value-separator);\n padding-left: 5px;\n }\n\n .rule-value-container label {\n margin-bottom: 0;\n font-weight: normal;\n }\n\n .rule-value-container label.block {\n display: block;\n }\n\n .error-container {\n display: none;\n cursor: help;\n color: var(--error-icon-color);\n margin-left: 5px;\n }\n\n .rule-container.has-error,\n .rules-group-container.has-error {\n background-color: var(--error-background-color);\n border-color: var(--error-border-color);\n }\n\n .rule-container.has-error .error-container,\n .rules-group-container.has-error .error-container {\n display: inline-block !important;\n }\n\n /* Ticks */\n .rules-list > * {\n position: relative;\n }\n\n .rules-list > *::before,\n .rules-list > *::after {\n content: '';\n position: absolute;\n left: -10px; /* Adjusted ticks position */\n width: 10px; /* Adjusted ticks position */\n border-color: var(--ticks-color);\n border-style: solid;\n }\n\n .rules-list > *::before {\n top: -2px; /* Adjusted ticks position */\n height: calc(50% + var(--item-vertical-spacing));\n border-width: 0 0 var(--ticks-width) var(--ticks-width);\n }\n\n .rules-list > *::after {\n top: 50%;\n border-width: 0 0 0 var(--ticks-width);\n height: 50%;\n }\n\n .rules-list > *:first-child::before {\n top: calc(-1 * var(--group-padding) - var(--ticks-width));\n height: calc(50% + var(--group-padding) + var(--item-vertical-spacing));\n }\n\n .rules-list > *:last-child::before {\n border-radius: 0 0 0 calc(2 * var(--ticks-width));\n }\n\n .rules-list > *:last-child::after {\n display: none;\n }\n`"
391
+ }
392
+ ],
393
+ "exports": [
394
+ {
395
+ "kind": "js",
396
+ "name": "styles",
397
+ "declaration": {
398
+ "name": "styles",
399
+ "module": "src/main/expression-builder.styles.ts"
400
+ }
401
+ }
402
+ ]
403
+ },
404
+ {
405
+ "kind": "javascript-module",
406
+ "path": "src/main/expression-builder.template.ts",
407
+ "declarations": [
408
+ {
409
+ "kind": "variable",
410
+ "name": "template",
411
+ "default": "html<ExpressionBuilder>`\n <div class=\"query-builder\">\n <expression-group\n :model=${(x) => x.model}\n :config=${(x) => x.config}\n :styles=${(x) => x.styles}\n ></expression-group>\n </div>\n`"
412
+ }
413
+ ],
414
+ "exports": [
415
+ {
416
+ "kind": "js",
417
+ "name": "template",
418
+ "declaration": {
419
+ "name": "template",
420
+ "module": "src/main/expression-builder.template.ts"
421
+ }
422
+ }
423
+ ]
424
+ },
425
+ {
426
+ "kind": "javascript-module",
427
+ "path": "src/main/expression-builder.ts",
428
+ "declarations": [
429
+ {
430
+ "kind": "class",
431
+ "description": "",
432
+ "name": "ExpressionBuilder",
433
+ "members": [
434
+ {
435
+ "kind": "field",
436
+ "name": "config",
437
+ "type": {
438
+ "text": "Config"
439
+ }
440
+ },
441
+ {
442
+ "kind": "field",
443
+ "name": "styles",
444
+ "type": {
445
+ "text": "Styles | undefined"
446
+ }
447
+ },
448
+ {
449
+ "kind": "field",
450
+ "name": "model",
451
+ "type": {
452
+ "text": "ModelGroup | null"
453
+ },
454
+ "default": "null"
455
+ },
456
+ {
457
+ "kind": "field",
458
+ "name": "ruleCount",
459
+ "type": {
460
+ "text": "number"
461
+ },
462
+ "privacy": "private",
463
+ "default": "0"
464
+ },
465
+ {
466
+ "kind": "field",
467
+ "name": "groupCount",
468
+ "type": {
469
+ "text": "number"
470
+ },
471
+ "privacy": "private",
472
+ "default": "0"
473
+ },
474
+ {
475
+ "kind": "method",
476
+ "name": "dispatchChangeEvent",
477
+ "privacy": "protected",
478
+ "parameters": [
479
+ {
480
+ "name": "group",
481
+ "type": {
482
+ "text": "Group"
483
+ }
484
+ }
485
+ ]
486
+ },
487
+ {
488
+ "kind": "field",
489
+ "name": "handleAddGroup",
490
+ "privacy": "private"
491
+ },
492
+ {
493
+ "kind": "method",
494
+ "name": "_handleAddGroup",
495
+ "privacy": "private",
496
+ "parameters": [
497
+ {
498
+ "name": "event",
499
+ "type": {
500
+ "text": "CustomEvent<EventsDetailMap[Events.AddGroup]>"
501
+ }
502
+ }
503
+ ]
504
+ },
505
+ {
506
+ "kind": "field",
507
+ "name": "handleAddRule",
508
+ "privacy": "private"
509
+ },
510
+ {
511
+ "kind": "method",
512
+ "name": "_handleAddRule",
513
+ "privacy": "private",
514
+ "parameters": [
515
+ {
516
+ "name": "event",
517
+ "type": {
518
+ "text": "CustomEvent<EventsDetailMap[Events.AddRule]>"
519
+ }
520
+ }
521
+ ]
522
+ },
523
+ {
524
+ "kind": "field",
525
+ "name": "handleDeleteGroup",
526
+ "privacy": "private"
527
+ },
528
+ {
529
+ "kind": "method",
530
+ "name": "_handleDeleteGroup",
531
+ "privacy": "private",
532
+ "parameters": [
533
+ {
534
+ "name": "event",
535
+ "type": {
536
+ "text": "CustomEvent<EventsDetailMap[Events.DelGroup]>"
537
+ }
538
+ }
539
+ ]
540
+ },
541
+ {
542
+ "kind": "field",
543
+ "name": "handleDeleteRule",
544
+ "privacy": "private"
545
+ },
546
+ {
547
+ "kind": "method",
548
+ "name": "_handleDeleteRule",
549
+ "privacy": "private",
550
+ "parameters": [
551
+ {
552
+ "name": "event",
553
+ "type": {
554
+ "text": "CustomEvent<EventsDetailMap[Events.DelRule]>"
555
+ }
556
+ }
557
+ ]
558
+ },
559
+ {
560
+ "kind": "field",
561
+ "name": "handleUpdateGroupData",
562
+ "privacy": "private"
563
+ },
564
+ {
565
+ "kind": "method",
566
+ "name": "_handleUpdateGroupData",
567
+ "privacy": "private",
568
+ "parameters": [
569
+ {
570
+ "name": "event",
571
+ "type": {
572
+ "text": "CustomEvent<EventsDetailMap[Events.UpdateGroup]>"
573
+ }
574
+ }
575
+ ]
576
+ },
577
+ {
578
+ "kind": "field",
579
+ "name": "handleUpdateRuleData",
580
+ "privacy": "private"
581
+ },
582
+ {
583
+ "kind": "method",
584
+ "name": "_handleUpdateRuleData",
585
+ "privacy": "private",
586
+ "parameters": [
587
+ {
588
+ "name": "event",
589
+ "type": {
590
+ "text": "CustomEvent<EventsDetailMap[Events.UpdateRule]>"
591
+ }
592
+ }
593
+ ]
594
+ }
595
+ ],
596
+ "events": [
597
+ {
598
+ "name": "change",
599
+ "type": {
600
+ "text": "CustomEvent"
601
+ }
602
+ }
603
+ ],
604
+ "superclass": {
605
+ "name": "GenesisElement",
606
+ "package": "@genesislcap/web-core"
607
+ },
608
+ "tagName": "expression-builder",
609
+ "customElement": true
610
+ }
611
+ ],
612
+ "exports": [
613
+ {
614
+ "kind": "js",
615
+ "name": "ExpressionBuilder",
616
+ "declaration": {
617
+ "name": "ExpressionBuilder",
618
+ "module": "src/main/expression-builder.ts"
619
+ }
620
+ },
621
+ {
622
+ "kind": "custom-element-definition",
623
+ "name": "expression-builder",
624
+ "declaration": {
625
+ "name": "ExpressionBuilder",
626
+ "module": "src/main/expression-builder.ts"
627
+ }
628
+ }
629
+ ]
630
+ },
631
+ {
632
+ "kind": "javascript-module",
633
+ "path": "src/main/index.ts",
634
+ "declarations": [],
635
+ "exports": [
636
+ {
637
+ "kind": "js",
638
+ "name": "*",
639
+ "declaration": {
640
+ "name": "*",
641
+ "package": "./expression-builder"
642
+ }
643
+ },
644
+ {
645
+ "kind": "js",
646
+ "name": "*",
647
+ "declaration": {
648
+ "name": "*",
649
+ "package": "./expression-builder.styles"
650
+ }
651
+ },
652
+ {
653
+ "kind": "js",
654
+ "name": "*",
655
+ "declaration": {
656
+ "name": "*",
657
+ "package": "./expression-builder.template"
658
+ }
659
+ }
660
+ ]
661
+ },
662
+ {
663
+ "kind": "javascript-module",
664
+ "path": "src/types/index.ts",
665
+ "declarations": [],
666
+ "exports": [
667
+ {
668
+ "kind": "js",
669
+ "name": "*",
670
+ "declaration": {
671
+ "name": "*",
672
+ "package": "./public.types"
673
+ }
674
+ },
675
+ {
676
+ "kind": "js",
677
+ "name": "*",
678
+ "declaration": {
679
+ "name": "*",
680
+ "package": "./private.types"
681
+ }
682
+ }
683
+ ]
684
+ },
685
+ {
686
+ "kind": "javascript-module",
687
+ "path": "src/types/private.types.ts",
688
+ "declarations": [],
689
+ "exports": []
690
+ },
691
+ {
692
+ "kind": "javascript-module",
693
+ "path": "src/types/public.types.ts",
694
+ "declarations": [],
695
+ "exports": []
696
+ },
697
+ {
698
+ "kind": "javascript-module",
699
+ "path": "src/utils/data-model.ts",
700
+ "declarations": [
701
+ {
702
+ "kind": "function",
703
+ "name": "groupToModelGroup",
704
+ "return": {
705
+ "type": {
706
+ "text": "ModelGroup"
707
+ }
708
+ },
709
+ "parameters": [
710
+ {
711
+ "name": "group",
712
+ "type": {
713
+ "text": "Group"
714
+ }
715
+ },
716
+ {
717
+ "name": "provider",
718
+ "type": {
719
+ "text": "MetadataProvider"
720
+ }
721
+ }
722
+ ],
723
+ "description": "Converts a Group to a ModelGroup (adds required metadata)"
724
+ },
725
+ {
726
+ "kind": "function",
727
+ "name": "modelGroupToGroup",
728
+ "return": {
729
+ "type": {
730
+ "text": ""
731
+ }
732
+ },
733
+ "parameters": [
734
+ {
735
+ "name": "modelGroup",
736
+ "type": {
737
+ "text": "ModelGroup"
738
+ },
739
+ "description": "The internal ModelGroup to convert."
740
+ }
741
+ ],
742
+ "description": "Converts a ModelGroup (internal data structure) to a public Group structure.\nThis function recursively processes the rules within the group."
743
+ },
744
+ {
745
+ "kind": "function",
746
+ "name": "modelRuleToRule",
747
+ "return": {
748
+ "type": {
749
+ "text": ""
750
+ }
751
+ },
752
+ "parameters": [
753
+ {
754
+ "name": "modelRule",
755
+ "type": {
756
+ "text": "ModelRule"
757
+ },
758
+ "description": "The internal ModelRule to convert."
759
+ }
760
+ ],
761
+ "description": "Converts a ModelRule (internal data structure) to a public Rule structure."
762
+ }
763
+ ],
764
+ "exports": [
765
+ {
766
+ "kind": "js",
767
+ "name": "groupToModelGroup",
768
+ "declaration": {
769
+ "name": "groupToModelGroup",
770
+ "module": "src/utils/data-model.ts"
771
+ }
772
+ },
773
+ {
774
+ "kind": "js",
775
+ "name": "modelGroupToGroup",
776
+ "declaration": {
777
+ "name": "modelGroupToGroup",
778
+ "module": "src/utils/data-model.ts"
779
+ }
780
+ },
781
+ {
782
+ "kind": "js",
783
+ "name": "modelRuleToRule",
784
+ "declaration": {
785
+ "name": "modelRuleToRule",
786
+ "module": "src/utils/data-model.ts"
787
+ }
788
+ }
789
+ ]
790
+ },
791
+ {
792
+ "kind": "javascript-module",
793
+ "path": "src/utils/formatting.ts",
794
+ "declarations": [
795
+ {
796
+ "kind": "function",
797
+ "name": "formatDateString",
798
+ "parameters": [
799
+ {
800
+ "name": "date",
801
+ "type": {
802
+ "text": "Date"
803
+ }
804
+ }
805
+ ],
806
+ "description": "Gets the string representation from a `Date` which is the format a `date` input uses.\n`yyyy-mm-dd`"
807
+ },
808
+ {
809
+ "kind": "function",
810
+ "name": "formatDateTimeString",
811
+ "parameters": [
812
+ {
813
+ "name": "date",
814
+ "type": {
815
+ "text": "Date"
816
+ }
817
+ }
818
+ ],
819
+ "description": "Gets the string representation from a `Date` which is the format a `datetime-local` input uses.\n`yyyy-mm-ddThh:mm:ss`"
820
+ }
821
+ ],
822
+ "exports": [
823
+ {
824
+ "kind": "js",
825
+ "name": "formatDateString",
826
+ "declaration": {
827
+ "name": "formatDateString",
828
+ "module": "src/utils/formatting.ts"
829
+ }
830
+ },
831
+ {
832
+ "kind": "js",
833
+ "name": "formatDateTimeString",
834
+ "declaration": {
835
+ "name": "formatDateTimeString",
836
+ "module": "src/utils/formatting.ts"
837
+ }
838
+ }
839
+ ]
840
+ },
841
+ {
842
+ "kind": "javascript-module",
843
+ "path": "src/utils/index.ts",
844
+ "declarations": [],
845
+ "exports": [
846
+ {
847
+ "kind": "js",
848
+ "name": "*",
849
+ "declaration": {
850
+ "name": "*",
851
+ "package": "./data-model"
852
+ }
853
+ },
854
+ {
855
+ "kind": "js",
856
+ "name": "*",
857
+ "declaration": {
858
+ "name": "*",
859
+ "package": "./formatting"
860
+ }
861
+ },
862
+ {
863
+ "kind": "js",
864
+ "name": "*",
865
+ "declaration": {
866
+ "name": "*",
867
+ "package": "./misc"
868
+ }
869
+ }
870
+ ]
871
+ },
872
+ {
873
+ "kind": "javascript-module",
874
+ "path": "src/utils/misc.ts",
875
+ "declarations": [
876
+ {
877
+ "kind": "function",
878
+ "name": "processOptGroups",
879
+ "return": {
880
+ "type": {
881
+ "text": "(T | { optgroup: string | null; xs: T[] })[]"
882
+ }
883
+ },
884
+ "parameters": [
885
+ {
886
+ "name": "xs",
887
+ "type": {
888
+ "text": "T[]"
889
+ }
890
+ }
891
+ ]
892
+ },
893
+ {
894
+ "kind": "function",
895
+ "name": "applyCustomStyles",
896
+ "return": {
897
+ "type": {
898
+ "text": "void"
899
+ }
900
+ },
901
+ "parameters": [
902
+ {
903
+ "name": "component",
904
+ "type": {
905
+ "text": "HTMLElement"
906
+ },
907
+ "description": "The web component instance"
908
+ },
909
+ {
910
+ "name": "styles",
911
+ "type": {
912
+ "text": "Styles | undefined | null"
913
+ },
914
+ "description": "The styles configuration object"
915
+ },
916
+ {
917
+ "name": "styleKey",
918
+ "type": {
919
+ "text": "keyof NonNullable<Styles['customStyles']>"
920
+ },
921
+ "description": "The key in styles.customStyles to use for custom styles"
922
+ }
923
+ ],
924
+ "description": "Utility function to add custom styles to a web component's shadow root"
925
+ }
926
+ ],
927
+ "exports": [
928
+ {
929
+ "kind": "js",
930
+ "name": "processOptGroups",
931
+ "declaration": {
932
+ "name": "processOptGroups",
933
+ "module": "src/utils/misc.ts"
934
+ }
935
+ },
936
+ {
937
+ "kind": "js",
938
+ "name": "applyCustomStyles",
939
+ "declaration": {
940
+ "name": "applyCustomStyles",
941
+ "module": "src/utils/misc.ts"
942
+ }
943
+ }
944
+ ]
945
+ },
946
+ {
947
+ "kind": "javascript-module",
948
+ "path": "src/main/expression-group/expression-group.styles.ts",
949
+ "declarations": [
950
+ {
951
+ "kind": "variable",
952
+ "name": "styles",
953
+ "default": "css`\n .rules-group-container {\n border: 1px solid #ccc;\n margin-bottom: 10px;\n padding: 10px;\n }\n\n .rules-group-header {\n margin-bottom: 5px;\n }\n\n .btn-group {\n margin-right: 5px;\n }\n\n .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n cursor: pointer;\n }\n\n .btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n }\n\n .btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n }\n\n .radio-group-container {\n display: flex;\n }\n\n .rules-list {\n list-style: none;\n padding-left: 0;\n }\n`"
954
+ }
955
+ ],
956
+ "exports": [
957
+ {
958
+ "kind": "js",
959
+ "name": "styles",
960
+ "declaration": {
961
+ "name": "styles",
962
+ "module": "src/main/expression-group/expression-group.styles.ts"
963
+ }
964
+ }
965
+ ]
966
+ },
967
+ {
968
+ "kind": "javascript-module",
969
+ "path": "src/main/expression-group/expression-group.template.ts",
970
+ "declarations": [
971
+ {
972
+ "kind": "variable",
973
+ "name": "template",
974
+ "default": "html<ExpressionGroup>`\n ${(context) => {\n const buttonTag = context.styles?.customElements?.button || 'button';\n const maybeRadioBlock = context.styles?.customElements?.radio;\n const { radioTag, radioGroupTag } = maybeRadioBlock\n ? { radioTag: maybeRadioBlock.input, radioGroupTag: maybeRadioBlock.group }\n : { radioTag: 'input', radioGroupTag: 'div' };\n\n return html<ExpressionGroup>`\n <div class=\"rules-group-container\">\n <div class=\"rules-group-header\">\n <div class=\"btn-group float-end group-actions\">\n <${buttonTag}\n type=\"button\"\n class=\"btn btn-sm btn-success\"\n data-add=\"rule\"\n @click=\"${(x, c) => x.dispatchAddRule(c.event)}\"\n >\n Add Rule\n </${buttonTag}>\n ${when(\n (x) => x.allowNestedGroup,\n html<ExpressionGroup>`\n <${buttonTag}\n type=\"button\"\n class=\"btn btn-sm btn-success\"\n data-add=\"group\"\n @click=\"${(x, c) => x.dispatchAddGroup(c.event)}\"\n >\n Add Group\n </${buttonTag}>\n `,\n )}\n ${when(\n (x) => typeof x.index === 'number',\n html<ExpressionGroup>`\n <${buttonTag}\n type=\"button\"\n class=\"btn btn-sm btn-danger\"\n data-delete=\"group\"\n @click=\"${(x, c) => x.dispatchDeleteGroup(c.event)}\"\n >\n Delete Group\n </${buttonTag}>\n `,\n )}\n <div class=\"btn-group group-conditions\">\n ${whenElse(\n (_) => radioTag !== 'input',\n html<ExpressionGroup>`\n <${radioGroupTag}\n class=\"radio-group-container\"\n name=\"combinator\"\n @change=\"${(x, c) => x.handleCombinatorChange(c.event)}\"\n value=\"${(x) => x.model?.combinator?.type}\"\n >\n ${repeat(\n (x) => x.config.combinators,\n html<Combinator, ExpressionGroup>`\n <${radioTag}\n value=\"${(x) => x.type}\"\n ?checked=${(x, c) => c.parent.model?.combinator?.type === x.type}\n >\n ${(x) => x.label ?? x.type}\n </${radioTag}>\n `,\n )}\n </${radioGroupTag}>\n `,\n html<ExpressionGroup>`\n <div class=\"radio-group-container\">\n ${repeat(\n (x) => x.config.combinators,\n html<Combinator, ExpressionGroup>`\n <label class=\"btn btn-sm btn-primary\">\n <input\n type=\"radio\"\n name=\"combinator\"\n value=\"${(x) => x.type}\"\n @change=\"${(_, c) => c.parent.handleCombinatorChange(c.event)}\"\n ?checked=${(x, c) => c.parent.model?.combinator?.type === x.type}\n />\n ${(x) => x.label ?? x.type}\n </label>\n `,\n )}\n </div>\n `,\n )}\n </div>\n </div>\n <div class=\"rules-group-body\">\n <div class=\"rules-list\">\n ${repeat(\n (x) => x.model?.children ?? [],\n html<ModelRule | ModelGroup, ExpressionBuilder>`\n ${whenElse(\n (x) => 'children' in x,\n html<ModelGroup>`\n <expression-group\n :config=${(_, c) => c.parent.config}\n :styles=${(_, c) => c.parent.styles}\n :model=${(x) => x}\n :index=${(_, c) => c.index}\n ></expression-group>\n `,\n html<ModelRule>`\n <expression-rule\n :config=${(_, c) => c.parent.config}\n :styles=${(_, c) => c.parent.styles}\n :model=${(x) => x}\n :index=${(_, c) => c.index}\n ></expression-rule>\n `,\n )}\n `,\n { recycle: false, positioning: true },\n )}\n </div>\n </div>\n </div>\n </div>\n `;\n }}\n`"
975
+ }
976
+ ],
977
+ "exports": [
978
+ {
979
+ "kind": "js",
980
+ "name": "template",
981
+ "declaration": {
982
+ "name": "template",
983
+ "module": "src/main/expression-group/expression-group.template.ts"
984
+ }
985
+ }
986
+ ]
987
+ },
988
+ {
989
+ "kind": "javascript-module",
990
+ "path": "src/main/expression-group/expression-group.ts",
991
+ "declarations": [
992
+ {
993
+ "kind": "class",
994
+ "description": "",
995
+ "name": "ExpressionGroup",
996
+ "members": [
997
+ {
998
+ "kind": "field",
999
+ "name": "config",
1000
+ "type": {
1001
+ "text": "Config"
1002
+ }
1003
+ },
1004
+ {
1005
+ "kind": "field",
1006
+ "name": "styles",
1007
+ "type": {
1008
+ "text": "Styles | undefined"
1009
+ }
1010
+ },
1011
+ {
1012
+ "kind": "field",
1013
+ "name": "model",
1014
+ "type": {
1015
+ "text": "ModelGroup"
1016
+ }
1017
+ },
1018
+ {
1019
+ "kind": "field",
1020
+ "name": "index",
1021
+ "type": {
1022
+ "text": "number"
1023
+ }
1024
+ },
1025
+ {
1026
+ "kind": "field",
1027
+ "name": "allowNestedGroup",
1028
+ "type": {
1029
+ "text": "boolean"
1030
+ },
1031
+ "readonly": true
1032
+ },
1033
+ {
1034
+ "kind": "method",
1035
+ "name": "dispatchAddRule",
1036
+ "parameters": [
1037
+ {
1038
+ "name": "event",
1039
+ "type": {
1040
+ "text": "Event"
1041
+ }
1042
+ }
1043
+ ]
1044
+ },
1045
+ {
1046
+ "kind": "method",
1047
+ "name": "dispatchAddGroup",
1048
+ "parameters": [
1049
+ {
1050
+ "name": "event",
1051
+ "type": {
1052
+ "text": "Event"
1053
+ }
1054
+ }
1055
+ ]
1056
+ },
1057
+ {
1058
+ "kind": "method",
1059
+ "name": "dispatchDeleteGroup",
1060
+ "parameters": [
1061
+ {
1062
+ "name": "event",
1063
+ "type": {
1064
+ "text": "Event"
1065
+ }
1066
+ }
1067
+ ]
1068
+ },
1069
+ {
1070
+ "kind": "method",
1071
+ "name": "handleCombinatorChange",
1072
+ "parameters": [
1073
+ {
1074
+ "name": "event",
1075
+ "type": {
1076
+ "text": "Event"
1077
+ }
1078
+ }
1079
+ ]
1080
+ },
1081
+ {
1082
+ "kind": "method",
1083
+ "name": "handleCustomCombinatorChange",
1084
+ "parameters": [
1085
+ {
1086
+ "name": "event",
1087
+ "type": {
1088
+ "text": "Event"
1089
+ }
1090
+ }
1091
+ ]
1092
+ },
1093
+ {
1094
+ "kind": "method",
1095
+ "name": "updateCombinator",
1096
+ "privacy": "private",
1097
+ "parameters": [
1098
+ {
1099
+ "name": "value",
1100
+ "type": {
1101
+ "text": "string"
1102
+ }
1103
+ }
1104
+ ]
1105
+ },
1106
+ {
1107
+ "kind": "method",
1108
+ "name": "dispatchGroupDataUpdated",
1109
+ "parameters": [
1110
+ {
1111
+ "name": "combinator",
1112
+ "type": {
1113
+ "text": "Combinator"
1114
+ }
1115
+ }
1116
+ ]
1117
+ }
1118
+ ],
1119
+ "events": [
1120
+ {
1121
+ "type": {
1122
+ "text": "CustomEvent"
1123
+ }
1124
+ }
1125
+ ],
1126
+ "superclass": {
1127
+ "name": "GenesisElement",
1128
+ "package": "@genesislcap/web-core"
1129
+ },
1130
+ "tagName": "expression-group",
1131
+ "customElement": true
1132
+ }
1133
+ ],
1134
+ "exports": [
1135
+ {
1136
+ "kind": "js",
1137
+ "name": "ExpressionGroup",
1138
+ "declaration": {
1139
+ "name": "ExpressionGroup",
1140
+ "module": "src/main/expression-group/expression-group.ts"
1141
+ }
1142
+ },
1143
+ {
1144
+ "kind": "custom-element-definition",
1145
+ "name": "expression-group",
1146
+ "declaration": {
1147
+ "name": "ExpressionGroup",
1148
+ "module": "src/main/expression-group/expression-group.ts"
1149
+ }
1150
+ }
1151
+ ]
1152
+ },
1153
+ {
1154
+ "kind": "javascript-module",
1155
+ "path": "src/main/rule-field/rule-field.template.ts",
1156
+ "declarations": [
1157
+ {
1158
+ "kind": "variable",
1159
+ "name": "template",
1160
+ "default": "html<RuleField>`\n ${(context) => {\n const selectTag = context.styles?.customElements?.select || 'select';\n const optionTag = context.styles?.customElements?.option || 'option';\n const optgroupTag = 'optgroup'; // Not supporting custom optgroup for now\n\n return html<RuleField>`\n <${selectTag}\n class=\"form-select\"\n @change=${(x, c) => x.dispatchFieldsChanged(c.event)}\n value=${(x) => x.field?.fieldId}\n >\n <${optionTag} value=\"\">Select a field</${optionTag}>\n ${repeat(\n (x) => x.groupedFieldss,\n html<{ optgroup: string | null; xs: Field[] } | Field, RuleField>`\n ${(groupOrFields) => {\n if ('xs' in groupOrFields) {\n return html<{\n optgroup: string | null;\n xs: Field[];\n }>`\n <${optgroupTag} label=\"${(x) => x.optgroup}\">\n ${repeat(\n (x) => x.xs,\n html<Field>`\n <${optionTag}\n value=\"${(x) => x.fieldId}\"\n ?selected=${(x, c) => x.fieldId === c.parentContext.parent?.field?.fieldId}\n >\n ${(x) => x.label}\n </${optionTag}>\n `,\n )}\n </${optgroupTag}>\n `;\n } else {\n return html<Field>`\n <${optionTag}\n value=\"${(x) => x.fieldId}\"\n ?selected=${(x, c) => x.fieldId === c.parent?.field?.fieldId}\n >\n ${(x) => x.label}\n </${optionTag}>\n `;\n }\n }}\n `,\n )}\n </${selectTag}>\n `;\n }}\n`"
1161
+ }
1162
+ ],
1163
+ "exports": [
1164
+ {
1165
+ "kind": "js",
1166
+ "name": "template",
1167
+ "declaration": {
1168
+ "name": "template",
1169
+ "module": "src/main/rule-field/rule-field.template.ts"
1170
+ }
1171
+ }
1172
+ ]
1173
+ },
1174
+ {
1175
+ "kind": "javascript-module",
1176
+ "path": "src/main/rule-field/rule-field.ts",
1177
+ "declarations": [
1178
+ {
1179
+ "kind": "class",
1180
+ "description": "",
1181
+ "name": "RuleField",
1182
+ "members": [
1183
+ {
1184
+ "kind": "field",
1185
+ "name": "fields",
1186
+ "type": {
1187
+ "text": "Field[]"
1188
+ },
1189
+ "default": "[]"
1190
+ },
1191
+ {
1192
+ "kind": "field",
1193
+ "name": "field",
1194
+ "type": {
1195
+ "text": "Field"
1196
+ }
1197
+ },
1198
+ {
1199
+ "kind": "field",
1200
+ "name": "config",
1201
+ "type": {
1202
+ "text": "Config"
1203
+ }
1204
+ },
1205
+ {
1206
+ "kind": "field",
1207
+ "name": "styles",
1208
+ "type": {
1209
+ "text": "Styles | undefined"
1210
+ }
1211
+ },
1212
+ {
1213
+ "kind": "field",
1214
+ "name": "groupedFieldss",
1215
+ "type": {
1216
+ "text": "(Field | { optgroup: string | null; xs: Field[] })[]"
1217
+ },
1218
+ "readonly": true
1219
+ },
1220
+ {
1221
+ "kind": "method",
1222
+ "name": "dispatchFieldsChanged",
1223
+ "parameters": [
1224
+ {
1225
+ "name": "event",
1226
+ "type": {
1227
+ "text": "Event"
1228
+ }
1229
+ }
1230
+ ]
1231
+ }
1232
+ ],
1233
+ "events": [
1234
+ {
1235
+ "type": {
1236
+ "text": "CustomEvent"
1237
+ }
1238
+ }
1239
+ ],
1240
+ "superclass": {
1241
+ "name": "GenesisElement",
1242
+ "package": "@genesislcap/web-core"
1243
+ },
1244
+ "tagName": "expression-rule-field",
1245
+ "customElement": true
1246
+ }
1247
+ ],
1248
+ "exports": [
1249
+ {
1250
+ "kind": "js",
1251
+ "name": "RuleField",
1252
+ "declaration": {
1253
+ "name": "RuleField",
1254
+ "module": "src/main/rule-field/rule-field.ts"
1255
+ }
1256
+ },
1257
+ {
1258
+ "kind": "custom-element-definition",
1259
+ "name": "expression-rule-field",
1260
+ "declaration": {
1261
+ "name": "RuleField",
1262
+ "module": "src/main/rule-field/rule-field.ts"
1263
+ }
1264
+ }
1265
+ ]
1266
+ },
1267
+ {
1268
+ "kind": "javascript-module",
1269
+ "path": "src/main/expression-rule/expression-rule.helpers.ts",
1270
+ "declarations": [
1271
+ {
1272
+ "kind": "function",
1273
+ "name": "defaultVal",
1274
+ "parameters": [
1275
+ {
1276
+ "name": "f",
1277
+ "type": {
1278
+ "text": "Field"
1279
+ }
1280
+ }
1281
+ ]
1282
+ },
1283
+ {
1284
+ "kind": "function",
1285
+ "name": "fieldDefault",
1286
+ "parameters": [
1287
+ {
1288
+ "name": "f",
1289
+ "type": {
1290
+ "text": "Field"
1291
+ }
1292
+ }
1293
+ ]
1294
+ }
1295
+ ],
1296
+ "exports": [
1297
+ {
1298
+ "kind": "js",
1299
+ "name": "defaultVal",
1300
+ "declaration": {
1301
+ "name": "defaultVal",
1302
+ "module": "src/main/expression-rule/expression-rule.helpers.ts"
1303
+ }
1304
+ },
1305
+ {
1306
+ "kind": "js",
1307
+ "name": "fieldDefault",
1308
+ "declaration": {
1309
+ "name": "fieldDefault",
1310
+ "module": "src/main/expression-rule/expression-rule.helpers.ts"
1311
+ }
1312
+ }
1313
+ ]
1314
+ },
1315
+ {
1316
+ "kind": "javascript-module",
1317
+ "path": "src/main/expression-rule/expression-rule.styles.ts",
1318
+ "declarations": [
1319
+ {
1320
+ "kind": "variable",
1321
+ "name": "styles",
1322
+ "default": "css`\n .rule-container {\n border: 1px solid #eee;\n margin-bottom: 5px;\n padding: 5px;\n display: grid;\n grid-template-columns: auto 1fr;\n }\n\n .margin {\n margin-left: calc(var(--design-unit) * 1px);\n margin-right: calc(var(--design-unit) * 1px);\n }\n\n .rule-header {\n margin-bottom: 5px;\n display: flex;\n justify-content: flex-end;\n }\n\n .rule-actions {\n display: inline-block;\n }\n\n .rule-content {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n }\n\n .rule-field-container,\n .rule-operator-container,\n .rule-value-container {\n display: inline-block;\n margin: 0 5px 0 0;\n vertical-align: middle;\n }\n\n .rule-value-container {\n border-left: var(--rule-value-separator);\n padding-left: 5px;\n }\n\n .rule-value-container label {\n margin-bottom: 0;\n font-weight: normal;\n }\n\n .rule-value-container label.block {\n display: block;\n }\n\n expression-rule-value {\n display: flex;\n }\n`"
1323
+ }
1324
+ ],
1325
+ "exports": [
1326
+ {
1327
+ "kind": "js",
1328
+ "name": "styles",
1329
+ "declaration": {
1330
+ "name": "styles",
1331
+ "module": "src/main/expression-rule/expression-rule.styles.ts"
1332
+ }
1333
+ }
1334
+ ]
1335
+ },
1336
+ {
1337
+ "kind": "javascript-module",
1338
+ "path": "src/main/expression-rule/expression-rule.template.ts",
1339
+ "declarations": [
1340
+ {
1341
+ "kind": "variable",
1342
+ "name": "template",
1343
+ "default": "html<ExpressionRule>`\n ${(context) => {\n const buttonTag = context.styles?.customElements?.button || 'button';\n\n return html<ExpressionRule>`\n <div class=\"rule-container\">\n <div class=\"rule-content\">\n <expression-rule-field\nclass=\"margin\"\n :fields=${(x) => x.config.fields}\n :field=${(x) => x.model?.field}\n :config=${(x) => x.config}\n :styles=${(x) => x.styles}\n @field-selected=${(x, c) =>\n x.handleFieldSelected(c.event as CustomEvent<EventsDetailMap[Events.FieldSelected]>)}\n ></expression-rule-field>\n <expression-rule-operator\nclass=\"margin\"\n :operators=${(x) => x.config.operators}\n :field=${(x) => x.model.field}\n :operator=${(x) => x.model?.operator}\n :config=${(x) => x.config}\n :styles=${(x) => x.styles}\n @operator-selected=${(x, c) =>\n x.handleOperatorSelected(\n c.event as CustomEvent<EventsDetailMap[Events.OperatorSelected]>,\n )}\n ></expression-rule-operator>\n ${repeat(\n (x) => x.operandIterator,\n html<true, ExpressionRule>`\n <expression-rule-value\n class=\"margin\"\n :config=${(_, c) => c.parent.config}\n :styles=${(_, c) => c.parent.styles}\n :field=${(_, c) => c.parent.model.field}\n :value=${(_, c) => c.parent.operandValue(c.index)}\n value-index=${(_, c) => c.index}\n ?variadic=${(_, c) => c.parent.model?.operator?.nbInputs === 'many'}\n @value-updated=${(_, c) =>\n c.parent.handleValueChanged(\n c.event as CustomEvent<EventsDetailMap[Events.ValueUpdated]>,\n )}\n @remove-variadic-operand=${(_, c) =>\n c.parent.handleRemoveVarArg(\n c.event as CustomEvent<EventsDetailMap[Events.RemoveVarArg]>,\n )}\n ></expression-rule-value>\n `,\n { positioning: true, recycle: false },\n )}\n ${when(\n (x) => x.model?.operator?.nbInputs === 'many',\n html<ExpressionRule>`\n <${buttonTag}\n type=\"button\"\n class=\"btn btn-sm btn-accept\"\n @click=\"${(x) => x.dispatchAddVarArg()}\"\n >\n +\n </${buttonTag}>\n `,\n )}\n </div>\n\n <div class=\"rule-header\">\n <div class=\"btn-group rule-actions\">\n <${buttonTag}\n type=\"button\"\n class=\"btn btn-sm btn-danger\"\n data-delete=\"rule\"\n @click=\"${(x, c) => x.dispatchDeleteRule(c.event)}\"\n >\n Delete Rule\n </${buttonTag}>\n </div>\n </div>\n </div>\n `;\n }}\n`"
1344
+ }
1345
+ ],
1346
+ "exports": [
1347
+ {
1348
+ "kind": "js",
1349
+ "name": "template",
1350
+ "declaration": {
1351
+ "name": "template",
1352
+ "module": "src/main/expression-rule/expression-rule.template.ts"
1353
+ }
1354
+ }
1355
+ ]
1356
+ },
1357
+ {
1358
+ "kind": "javascript-module",
1359
+ "path": "src/main/expression-rule/expression-rule.ts",
1360
+ "declarations": [
1361
+ {
1362
+ "kind": "class",
1363
+ "description": "",
1364
+ "name": "ExpressionRule",
1365
+ "members": [
1366
+ {
1367
+ "kind": "field",
1368
+ "name": "config",
1369
+ "type": {
1370
+ "text": "Config"
1371
+ }
1372
+ },
1373
+ {
1374
+ "kind": "field",
1375
+ "name": "styles",
1376
+ "type": {
1377
+ "text": "Styles | undefined"
1378
+ }
1379
+ },
1380
+ {
1381
+ "kind": "field",
1382
+ "name": "model",
1383
+ "type": {
1384
+ "text": "ModelRule | null"
1385
+ }
1386
+ },
1387
+ {
1388
+ "kind": "field",
1389
+ "name": "index",
1390
+ "type": {
1391
+ "text": "number"
1392
+ }
1393
+ },
1394
+ {
1395
+ "kind": "method",
1396
+ "name": "variadicRule",
1397
+ "return": {
1398
+ "type": {
1399
+ "text": "model is ModelRule & { operator: VariadicOperator; value: any[] }"
1400
+ }
1401
+ },
1402
+ "parameters": [
1403
+ {
1404
+ "name": "model",
1405
+ "type": {
1406
+ "text": "ModelRule"
1407
+ }
1408
+ }
1409
+ ]
1410
+ },
1411
+ {
1412
+ "kind": "method",
1413
+ "name": "operandValue",
1414
+ "parameters": [
1415
+ {
1416
+ "name": "index",
1417
+ "type": {
1418
+ "text": "number"
1419
+ }
1420
+ }
1421
+ ]
1422
+ },
1423
+ {
1424
+ "kind": "method",
1425
+ "name": "dispatchAddVarArg",
1426
+ "return": {
1427
+ "type": {
1428
+ "text": "void"
1429
+ }
1430
+ }
1431
+ },
1432
+ {
1433
+ "kind": "method",
1434
+ "name": "handleRemoveVarArg",
1435
+ "return": {
1436
+ "type": {
1437
+ "text": "void"
1438
+ }
1439
+ },
1440
+ "parameters": [
1441
+ {
1442
+ "name": "event",
1443
+ "type": {
1444
+ "text": "CustomEvent<EventsDetailMap[Events.RemoveVarArg]>"
1445
+ }
1446
+ }
1447
+ ]
1448
+ },
1449
+ {
1450
+ "kind": "method",
1451
+ "name": "dispatchDeleteRule",
1452
+ "parameters": [
1453
+ {
1454
+ "name": "event",
1455
+ "type": {
1456
+ "text": "Event"
1457
+ }
1458
+ }
1459
+ ]
1460
+ },
1461
+ {
1462
+ "kind": "method",
1463
+ "name": "handleFieldSelected",
1464
+ "parameters": [
1465
+ {
1466
+ "name": "event",
1467
+ "type": {
1468
+ "text": "CustomEvent<EventsDetailMap[Events.FieldSelected]>"
1469
+ }
1470
+ }
1471
+ ]
1472
+ },
1473
+ {
1474
+ "kind": "method",
1475
+ "name": "handleValueChanged",
1476
+ "parameters": [
1477
+ {
1478
+ "name": "event",
1479
+ "type": {
1480
+ "text": "CustomEvent<EventsDetailMap[Events.ValueUpdated]>"
1481
+ }
1482
+ }
1483
+ ]
1484
+ },
1485
+ {
1486
+ "kind": "method",
1487
+ "name": "handleOperatorSelected",
1488
+ "parameters": [
1489
+ {
1490
+ "name": "event",
1491
+ "type": {
1492
+ "text": "CustomEvent<EventsDetailMap[Events.OperatorSelected]>"
1493
+ }
1494
+ }
1495
+ ]
1496
+ }
1497
+ ],
1498
+ "events": [
1499
+ {
1500
+ "type": {
1501
+ "text": "CustomEvent"
1502
+ }
1503
+ }
1504
+ ],
1505
+ "superclass": {
1506
+ "name": "GenesisElement",
1507
+ "package": "@genesislcap/web-core"
1508
+ },
1509
+ "tagName": "expression-rule",
1510
+ "customElement": true
1511
+ }
1512
+ ],
1513
+ "exports": [
1514
+ {
1515
+ "kind": "js",
1516
+ "name": "ExpressionRule",
1517
+ "declaration": {
1518
+ "name": "ExpressionRule",
1519
+ "module": "src/main/expression-rule/expression-rule.ts"
1520
+ }
1521
+ },
1522
+ {
1523
+ "kind": "custom-element-definition",
1524
+ "name": "expression-rule",
1525
+ "declaration": {
1526
+ "name": "ExpressionRule",
1527
+ "module": "src/main/expression-rule/expression-rule.ts"
1528
+ }
1529
+ }
1530
+ ]
1531
+ },
1532
+ {
1533
+ "kind": "javascript-module",
1534
+ "path": "src/main/rule-operator/rule-operator.template.ts",
1535
+ "declarations": [
1536
+ {
1537
+ "kind": "variable",
1538
+ "name": "template",
1539
+ "default": "html<RuleOperator>`\n ${(context) => {\n const selectTag = context.styles?.customElements?.select || 'select';\n const optionTag = context.styles?.customElements?.option || 'option';\n const optgroupTag = 'optgroup'; // Not supporting custom optgroup for now\n\n return html<RuleOperator>`\n <${selectTag}\n class=\"form-select\"\n @change=${(x, c) => x.handleOperatorChange(c.event)}\n value=${(x) => x.operator?.type}\n >\n <${optionTag} value=\"\">Select an operator</${optionTag}>\n ${repeat(\n (x) => x.groupedOperators,\n html<{ optgroup: string | null; xs: Operator[] } | Operator, RuleOperator>`\n ${(groupOrOperator) => {\n if ('xs' in groupOrOperator) {\n return html<{ optgroup: string | null; xs: Operator[] }, RuleOperator>`\n <${optgroupTag} label=\"${groupOrOperator.optgroup}\">\n ${repeat(\n (x) => x.xs,\n html<Operator>`\n <${optionTag}\n value=\"${(x) => x.type}\"\n ?selected=${(x, c) => x.type === c.parentContext.parent.operator?.type}\n >\n ${(x) => x.type}\n </${optionTag}>\n `,\n )}\n </${optgroupTag}>\n `;\n } else {\n return html<Operator, RuleOperator>`\n <${optionTag}\n value=\"${(x) => x.type}\"\n ?selected=${(x, c) => c.parent.operator?.type === x.type}\n >\n ${(x) => x.type}\n </${optionTag}>\n `;\n }\n }}\n `,\n )}\n </${selectTag}>\n `;\n }}\n`"
1540
+ }
1541
+ ],
1542
+ "exports": [
1543
+ {
1544
+ "kind": "js",
1545
+ "name": "template",
1546
+ "declaration": {
1547
+ "name": "template",
1548
+ "module": "src/main/rule-operator/rule-operator.template.ts"
1549
+ }
1550
+ }
1551
+ ]
1552
+ },
1553
+ {
1554
+ "kind": "javascript-module",
1555
+ "path": "src/main/rule-operator/rule-operator.ts",
1556
+ "declarations": [
1557
+ {
1558
+ "kind": "class",
1559
+ "description": "",
1560
+ "name": "RuleOperator",
1561
+ "members": [
1562
+ {
1563
+ "kind": "field",
1564
+ "name": "operators",
1565
+ "type": {
1566
+ "text": "Operator[]"
1567
+ },
1568
+ "default": "[]"
1569
+ },
1570
+ {
1571
+ "kind": "field",
1572
+ "name": "operator",
1573
+ "type": {
1574
+ "text": "Operator"
1575
+ }
1576
+ },
1577
+ {
1578
+ "kind": "field",
1579
+ "name": "field",
1580
+ "type": {
1581
+ "text": "Field | null"
1582
+ },
1583
+ "default": "null"
1584
+ },
1585
+ {
1586
+ "kind": "field",
1587
+ "name": "config",
1588
+ "type": {
1589
+ "text": "Config"
1590
+ }
1591
+ },
1592
+ {
1593
+ "kind": "field",
1594
+ "name": "styles",
1595
+ "type": {
1596
+ "text": "Styles | undefined"
1597
+ }
1598
+ },
1599
+ {
1600
+ "kind": "field",
1601
+ "name": "allowedOperators",
1602
+ "type": {
1603
+ "text": "Operator[]"
1604
+ },
1605
+ "readonly": true
1606
+ },
1607
+ {
1608
+ "kind": "field",
1609
+ "name": "groupedOperators",
1610
+ "type": {
1611
+ "text": "(Operator | { optgroup: string | null; xs: Operator[] })[]"
1612
+ },
1613
+ "readonly": true
1614
+ },
1615
+ {
1616
+ "kind": "method",
1617
+ "name": "handleOperatorChange",
1618
+ "parameters": [
1619
+ {
1620
+ "name": "event",
1621
+ "type": {
1622
+ "text": "Event"
1623
+ }
1624
+ }
1625
+ ]
1626
+ }
1627
+ ],
1628
+ "events": [
1629
+ {
1630
+ "type": {
1631
+ "text": "CustomEvent"
1632
+ }
1633
+ }
1634
+ ],
1635
+ "superclass": {
1636
+ "name": "GenesisElement",
1637
+ "package": "@genesislcap/web-core"
1638
+ },
1639
+ "tagName": "expression-rule-operator",
1640
+ "customElement": true
1641
+ }
1642
+ ],
1643
+ "exports": [
1644
+ {
1645
+ "kind": "js",
1646
+ "name": "RuleOperator",
1647
+ "declaration": {
1648
+ "name": "RuleOperator",
1649
+ "module": "src/main/rule-operator/rule-operator.ts"
1650
+ }
1651
+ },
1652
+ {
1653
+ "kind": "custom-element-definition",
1654
+ "name": "expression-rule-operator",
1655
+ "declaration": {
1656
+ "name": "RuleOperator",
1657
+ "module": "src/main/rule-operator/rule-operator.ts"
1658
+ }
1659
+ }
1660
+ ]
1661
+ },
1662
+ {
1663
+ "kind": "javascript-module",
1664
+ "path": "src/main/rule-value/rule-value.helpers.ts",
1665
+ "declarations": [
1666
+ {
1667
+ "kind": "function",
1668
+ "name": "isIntType",
1669
+ "parameters": [
1670
+ {
1671
+ "name": "type",
1672
+ "type": {
1673
+ "text": "Field['type']"
1674
+ }
1675
+ }
1676
+ ]
1677
+ },
1678
+ {
1679
+ "kind": "function",
1680
+ "name": "isFloatType",
1681
+ "parameters": [
1682
+ {
1683
+ "name": "type",
1684
+ "type": {
1685
+ "text": "Field['type']"
1686
+ }
1687
+ }
1688
+ ]
1689
+ },
1690
+ {
1691
+ "kind": "function",
1692
+ "name": "pattern",
1693
+ "parameters": [
1694
+ {
1695
+ "name": "type",
1696
+ "type": {
1697
+ "text": "Field['type']"
1698
+ }
1699
+ }
1700
+ ]
1701
+ },
1702
+ {
1703
+ "kind": "function",
1704
+ "name": "numberPatternValidator",
1705
+ "return": {
1706
+ "type": {
1707
+ "text": "string | null"
1708
+ }
1709
+ },
1710
+ "parameters": [
1711
+ {
1712
+ "name": "type",
1713
+ "type": {
1714
+ "text": "Field['type']"
1715
+ }
1716
+ },
1717
+ {
1718
+ "name": "value",
1719
+ "type": {
1720
+ "text": "string"
1721
+ }
1722
+ }
1723
+ ]
1724
+ }
1725
+ ],
1726
+ "exports": [
1727
+ {
1728
+ "kind": "js",
1729
+ "name": "isIntType",
1730
+ "declaration": {
1731
+ "name": "isIntType",
1732
+ "module": "src/main/rule-value/rule-value.helpers.ts"
1733
+ }
1734
+ },
1735
+ {
1736
+ "kind": "js",
1737
+ "name": "isFloatType",
1738
+ "declaration": {
1739
+ "name": "isFloatType",
1740
+ "module": "src/main/rule-value/rule-value.helpers.ts"
1741
+ }
1742
+ },
1743
+ {
1744
+ "kind": "js",
1745
+ "name": "pattern",
1746
+ "declaration": {
1747
+ "name": "pattern",
1748
+ "module": "src/main/rule-value/rule-value.helpers.ts"
1749
+ }
1750
+ },
1751
+ {
1752
+ "kind": "js",
1753
+ "name": "numberPatternValidator",
1754
+ "declaration": {
1755
+ "name": "numberPatternValidator",
1756
+ "module": "src/main/rule-value/rule-value.helpers.ts"
1757
+ }
1758
+ }
1759
+ ]
1760
+ },
1761
+ {
1762
+ "kind": "javascript-module",
1763
+ "path": "src/main/rule-value/rule-value.styles.ts",
1764
+ "declarations": [
1765
+ {
1766
+ "kind": "variable",
1767
+ "name": "styles",
1768
+ "default": "css`\n .text-input.error {\n color: red;\n }\n\n div.value-and-validation {\n display: inline-grid;\n align-items: center;\n }\n`"
1769
+ }
1770
+ ],
1771
+ "exports": [
1772
+ {
1773
+ "kind": "js",
1774
+ "name": "styles",
1775
+ "declaration": {
1776
+ "name": "styles",
1777
+ "module": "src/main/rule-value/rule-value.styles.ts"
1778
+ }
1779
+ }
1780
+ ]
1781
+ },
1782
+ {
1783
+ "kind": "javascript-module",
1784
+ "path": "src/main/rule-value/rule-value.template.ts",
1785
+ "declarations": [
1786
+ {
1787
+ "kind": "variable",
1788
+ "name": "ruleValueTemplate",
1789
+ "default": "html<RuleValue>`\n ${whenElse(\n (x) => x.field,\n templateSwitcher,\n html<RuleValue>`\n <div>Select a field to set value</div>\n `,\n )}\n`"
1790
+ }
1791
+ ],
1792
+ "exports": [
1793
+ {
1794
+ "kind": "js",
1795
+ "name": "ruleValueTemplate",
1796
+ "declaration": {
1797
+ "name": "ruleValueTemplate",
1798
+ "module": "src/main/rule-value/rule-value.template.ts"
1799
+ }
1800
+ }
1801
+ ]
1802
+ },
1803
+ {
1804
+ "kind": "javascript-module",
1805
+ "path": "src/main/rule-value/rule-value.ts",
1806
+ "declarations": [
1807
+ {
1808
+ "kind": "class",
1809
+ "description": "",
1810
+ "name": "RuleValue",
1811
+ "members": [
1812
+ {
1813
+ "kind": "field",
1814
+ "name": "valueIndex",
1815
+ "type": {
1816
+ "text": "string"
1817
+ }
1818
+ },
1819
+ {
1820
+ "kind": "field",
1821
+ "name": "variadic",
1822
+ "type": {
1823
+ "text": "boolean"
1824
+ },
1825
+ "default": "false"
1826
+ },
1827
+ {
1828
+ "kind": "field",
1829
+ "name": "validationError",
1830
+ "type": {
1831
+ "text": "boolean"
1832
+ },
1833
+ "default": "false"
1834
+ },
1835
+ {
1836
+ "kind": "field",
1837
+ "name": "validationMsg",
1838
+ "type": {
1839
+ "text": "string"
1840
+ }
1841
+ },
1842
+ {
1843
+ "kind": "field",
1844
+ "name": "field",
1845
+ "type": {
1846
+ "text": "Field | null"
1847
+ },
1848
+ "default": "null"
1849
+ },
1850
+ {
1851
+ "kind": "field",
1852
+ "name": "value",
1853
+ "type": {
1854
+ "text": "any"
1855
+ }
1856
+ },
1857
+ {
1858
+ "kind": "field",
1859
+ "name": "config",
1860
+ "type": {
1861
+ "text": "Config"
1862
+ }
1863
+ },
1864
+ {
1865
+ "kind": "field",
1866
+ "name": "styles",
1867
+ "type": {
1868
+ "text": "Styles | undefined"
1869
+ }
1870
+ },
1871
+ {
1872
+ "kind": "method",
1873
+ "name": "validateInput",
1874
+ "return": {
1875
+ "type": {
1876
+ "text": "string | null"
1877
+ }
1878
+ },
1879
+ "parameters": [
1880
+ {
1881
+ "name": "value",
1882
+ "type": {
1883
+ "text": "string"
1884
+ }
1885
+ }
1886
+ ]
1887
+ },
1888
+ {
1889
+ "kind": "method",
1890
+ "name": "handleInputChange",
1891
+ "parameters": [
1892
+ {
1893
+ "name": "event",
1894
+ "type": {
1895
+ "text": "Event"
1896
+ }
1897
+ }
1898
+ ]
1899
+ },
1900
+ {
1901
+ "kind": "method",
1902
+ "name": "handleRemoveVariadicOperand"
1903
+ }
1904
+ ],
1905
+ "events": [
1906
+ {
1907
+ "type": {
1908
+ "text": "CustomEvent"
1909
+ }
1910
+ }
1911
+ ],
1912
+ "attributes": [
1913
+ {
1914
+ "name": "value-index",
1915
+ "type": {
1916
+ "text": "string"
1917
+ },
1918
+ "fieldName": "valueIndex"
1919
+ },
1920
+ {
1921
+ "type": {
1922
+ "text": "boolean"
1923
+ },
1924
+ "default": "false",
1925
+ "fieldName": "variadic"
1926
+ },
1927
+ {
1928
+ "name": "validation-error",
1929
+ "type": {
1930
+ "text": "boolean"
1931
+ },
1932
+ "default": "false",
1933
+ "fieldName": "validationError"
1934
+ },
1935
+ {
1936
+ "name": "validation-msg",
1937
+ "type": {
1938
+ "text": "string"
1939
+ },
1940
+ "fieldName": "validationMsg"
1941
+ }
1942
+ ],
1943
+ "superclass": {
1944
+ "name": "GenesisElement",
1945
+ "package": "@genesislcap/web-core"
1946
+ },
1947
+ "tagName": "expression-rule-value",
1948
+ "customElement": true
1949
+ }
1950
+ ],
1951
+ "exports": [
1952
+ {
1953
+ "kind": "js",
1954
+ "name": "RuleValue",
1955
+ "declaration": {
1956
+ "name": "RuleValue",
1957
+ "module": "src/main/rule-value/rule-value.ts"
1958
+ }
1959
+ },
1960
+ {
1961
+ "kind": "custom-element-definition",
1962
+ "name": "expression-rule-value",
1963
+ "declaration": {
1964
+ "name": "RuleValue",
1965
+ "module": "src/main/rule-value/rule-value.ts"
1966
+ }
1967
+ }
1968
+ ]
1969
+ }
1970
+ ]
1971
+ }