@genesislcap/expression-builder 14.353.5 → 14.354.1

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 (2) hide show
  1. package/dist/custom-elements.json +528 -528
  2. package/package.json +10 -10
@@ -157,50 +157,11 @@
157
157
  },
158
158
  {
159
159
  "kind": "javascript-module",
160
- "path": "src/main/events.ts",
161
- "declarations": [],
162
- "exports": []
163
- },
164
- {
165
- "kind": "javascript-module",
166
- "path": "src/main/expression-builder.helpers.ts",
160
+ "path": "src/utils/data-model.ts",
167
161
  "declarations": [
168
162
  {
169
163
  "kind": "function",
170
- "name": "findOperateOnGroup",
171
- "return": {
172
- "type": {
173
- "text": ""
174
- }
175
- },
176
- "parameters": [
177
- {
178
- "name": "model",
179
- "type": {
180
- "text": "ModelGroup"
181
- },
182
- "description": "The root group to start searching from"
183
- },
184
- {
185
- "name": "groupId",
186
- "type": {
187
- "text": "string"
188
- },
189
- "description": "The Group ID to find"
190
- },
191
- {
192
- "name": "fn",
193
- "type": {
194
- "text": "ChildrenOperatorFn"
195
- },
196
- "description": "The function to apply to the children of the found group. A *new* object must be created and returned"
197
- }
198
- ],
199
- "description": "Finds a group within a model and applies a function to create a new children"
200
- },
201
- {
202
- "kind": "function",
203
- "name": "addGroupOrRule",
164
+ "name": "groupToModelGroup",
204
165
  "return": {
205
166
  "type": {
206
167
  "text": "ModelGroup"
@@ -208,215 +169,543 @@
208
169
  },
209
170
  "parameters": [
210
171
  {
211
- "name": "model",
212
- "type": {
213
- "text": "ModelGroup"
214
- }
215
- },
216
- {
217
- "name": "parentGroupId",
172
+ "name": "group",
218
173
  "type": {
219
- "text": "string"
174
+ "text": "Group"
220
175
  }
221
176
  },
222
177
  {
223
- "name": "newItem",
178
+ "name": "provider",
224
179
  "type": {
225
- "text": "ModelGroup | ModelRule"
180
+ "text": "MetadataProvider"
226
181
  }
227
182
  }
228
- ]
183
+ ],
184
+ "description": "Converts a Group to a ModelGroup (adds required metadata)"
229
185
  },
230
186
  {
231
187
  "kind": "function",
232
- "name": "deleteGroup",
188
+ "name": "modelGroupToGroup",
233
189
  "return": {
234
190
  "type": {
235
- "text": "ModelGroup"
191
+ "text": ""
236
192
  }
237
193
  },
238
194
  "parameters": [
239
195
  {
240
- "name": "model",
196
+ "name": "modelGroup",
241
197
  "type": {
242
198
  "text": "ModelGroup"
243
- }
244
- },
245
- {
246
- "name": "groupIdToDelete",
247
- "type": {
248
- "text": "string"
249
- }
199
+ },
200
+ "description": "The internal ModelGroup to convert."
250
201
  }
251
- ]
202
+ ],
203
+ "description": "Converts a ModelGroup (internal data structure) to a public Group structure.\nThis function recursively processes the rules within the group."
252
204
  },
253
205
  {
254
206
  "kind": "function",
255
- "name": "deleteRule",
207
+ "name": "modelRuleToRule",
256
208
  "return": {
257
209
  "type": {
258
- "text": "ModelGroup"
210
+ "text": ""
259
211
  }
260
212
  },
261
213
  "parameters": [
262
214
  {
263
- "name": "model",
264
- "type": {
265
- "text": "ModelGroup"
266
- }
267
- },
268
- {
269
- "name": "ruleIdToDelete",
215
+ "name": "modelRule",
270
216
  "type": {
271
- "text": "string"
272
- }
217
+ "text": "ModelRule"
218
+ },
219
+ "description": "The internal ModelRule to convert."
273
220
  }
274
- ]
221
+ ],
222
+ "description": "Converts a ModelRule (internal data structure) to a public Rule structure."
223
+ }
224
+ ],
225
+ "exports": [
226
+ {
227
+ "kind": "js",
228
+ "name": "groupToModelGroup",
229
+ "declaration": {
230
+ "name": "groupToModelGroup",
231
+ "module": "src/utils/data-model.ts"
232
+ }
275
233
  },
276
234
  {
277
- "kind": "variable",
278
- "name": "ROOT_GROUP",
279
- "type": {
280
- "text": "string"
281
- },
282
- "default": "'group-root'"
235
+ "kind": "js",
236
+ "name": "modelGroupToGroup",
237
+ "declaration": {
238
+ "name": "modelGroupToGroup",
239
+ "module": "src/utils/data-model.ts"
240
+ }
283
241
  },
242
+ {
243
+ "kind": "js",
244
+ "name": "modelRuleToRule",
245
+ "declaration": {
246
+ "name": "modelRuleToRule",
247
+ "module": "src/utils/data-model.ts"
248
+ }
249
+ }
250
+ ]
251
+ },
252
+ {
253
+ "kind": "javascript-module",
254
+ "path": "src/utils/formatting.ts",
255
+ "declarations": [
284
256
  {
285
257
  "kind": "function",
286
- "name": "updateGroupData",
287
- "return": {
288
- "type": {
289
- "text": "ModelGroup"
290
- }
291
- },
258
+ "name": "formatDateString",
292
259
  "parameters": [
293
260
  {
294
- "name": "model",
295
- "type": {
296
- "text": "ModelGroup"
297
- }
298
- },
299
- {
300
- "name": "groupIdToUpdate",
301
- "type": {
302
- "text": "string"
303
- }
304
- },
305
- {
306
- "name": "newData",
261
+ "name": "date",
307
262
  "type": {
308
- "text": "EventsDetailMap[Events.UpdateGroup]['newData']"
263
+ "text": "Date"
309
264
  }
310
265
  }
311
- ]
266
+ ],
267
+ "description": "Gets the string representation from a `Date` which is the format a `date` input uses.\n`yyyy-mm-dd`.\nUses UTC methods to ensure consistent output regardless of timezone.\n\nUsed to convert a javascript date object into the required string format expected by the expression builder."
312
268
  },
313
269
  {
314
270
  "kind": "function",
315
- "name": "updateRuleData",
316
- "return": {
317
- "type": {
318
- "text": "ModelGroup"
319
- }
320
- },
271
+ "name": "formatDateTimeString",
321
272
  "parameters": [
322
273
  {
323
- "name": "model",
324
- "type": {
325
- "text": "ModelGroup"
326
- }
327
- },
328
- {
329
- "name": "ruleIdToUpdate",
330
- "type": {
331
- "text": "string"
332
- }
333
- },
334
- {
335
- "name": "newData",
274
+ "name": "date",
336
275
  "type": {
337
- "text": "EventsDetailMap[Events.UpdateRule]['newData']"
276
+ "text": "Date"
338
277
  }
339
278
  }
340
- ]
279
+ ],
280
+ "description": "Gets the string representation from a `Date` which is the format a `datetime-local` input uses.\n`yyyy-mm-ddThh:mm:ss`.\nUses UTC methods to ensure consistent output regardless of timezone.\n\nUsed to convert a javascript date object into the required string format expected by the expression builder."
341
281
  }
342
282
  ],
343
283
  "exports": [
344
284
  {
345
285
  "kind": "js",
346
- "name": "findOperateOnGroup",
347
- "declaration": {
348
- "name": "findOperateOnGroup",
349
- "module": "src/main/expression-builder.helpers.ts"
350
- }
351
- },
352
- {
353
- "kind": "js",
354
- "name": "addGroupOrRule",
355
- "declaration": {
356
- "name": "addGroupOrRule",
357
- "module": "src/main/expression-builder.helpers.ts"
358
- }
359
- },
360
- {
361
- "kind": "js",
362
- "name": "deleteGroup",
286
+ "name": "formatDateString",
363
287
  "declaration": {
364
- "name": "deleteGroup",
365
- "module": "src/main/expression-builder.helpers.ts"
288
+ "name": "formatDateString",
289
+ "module": "src/utils/formatting.ts"
366
290
  }
367
291
  },
368
292
  {
369
293
  "kind": "js",
370
- "name": "deleteRule",
294
+ "name": "formatDateTimeString",
371
295
  "declaration": {
372
- "name": "deleteRule",
373
- "module": "src/main/expression-builder.helpers.ts"
296
+ "name": "formatDateTimeString",
297
+ "module": "src/utils/formatting.ts"
374
298
  }
375
- },
299
+ }
300
+ ]
301
+ },
302
+ {
303
+ "kind": "javascript-module",
304
+ "path": "src/utils/index.ts",
305
+ "declarations": [],
306
+ "exports": [
376
307
  {
377
308
  "kind": "js",
378
- "name": "ROOT_GROUP",
309
+ "name": "*",
379
310
  "declaration": {
380
- "name": "ROOT_GROUP",
381
- "module": "src/main/expression-builder.helpers.ts"
311
+ "name": "*",
312
+ "package": "./data-model"
382
313
  }
383
314
  },
384
315
  {
385
316
  "kind": "js",
386
- "name": "updateGroupData",
317
+ "name": "*",
387
318
  "declaration": {
388
- "name": "updateGroupData",
389
- "module": "src/main/expression-builder.helpers.ts"
319
+ "name": "*",
320
+ "package": "./formatting"
390
321
  }
391
322
  },
392
323
  {
393
324
  "kind": "js",
394
- "name": "updateRuleData",
325
+ "name": "*",
395
326
  "declaration": {
396
- "name": "updateRuleData",
397
- "module": "src/main/expression-builder.helpers.ts"
327
+ "name": "*",
328
+ "package": "./misc"
398
329
  }
399
330
  }
400
331
  ]
401
332
  },
402
333
  {
403
334
  "kind": "javascript-module",
404
- "path": "src/main/expression-builder.styles.ts",
335
+ "path": "src/utils/misc.ts",
405
336
  "declarations": [
406
337
  {
407
- "kind": "variable",
408
- "name": "styles",
409
- "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`"
410
- }
411
- ],
412
- "exports": [
413
- {
414
- "kind": "js",
415
- "name": "styles",
416
- "declaration": {
417
- "name": "styles",
418
- "module": "src/main/expression-builder.styles.ts"
419
- }
338
+ "kind": "function",
339
+ "name": "getFieldInput",
340
+ "parameters": [
341
+ {
342
+ "name": "context",
343
+ "type": {
344
+ "text": "RuleValue | ModelRule"
345
+ }
346
+ }
347
+ ]
348
+ },
349
+ {
350
+ "kind": "function",
351
+ "name": "getFieldType",
352
+ "parameters": [
353
+ {
354
+ "name": "context",
355
+ "type": {
356
+ "text": "RuleValue | ModelRule"
357
+ }
358
+ }
359
+ ]
360
+ },
361
+ {
362
+ "kind": "function",
363
+ "name": "processOptGroups",
364
+ "return": {
365
+ "type": {
366
+ "text": "(T | { optgroup: string | null; xs: T[] })[]"
367
+ }
368
+ },
369
+ "parameters": [
370
+ {
371
+ "name": "xs",
372
+ "type": {
373
+ "text": "T[]"
374
+ }
375
+ }
376
+ ]
377
+ },
378
+ {
379
+ "kind": "function",
380
+ "name": "applyCustomStyles",
381
+ "return": {
382
+ "type": {
383
+ "text": "void"
384
+ }
385
+ },
386
+ "parameters": [
387
+ {
388
+ "name": "component",
389
+ "type": {
390
+ "text": "HTMLElement"
391
+ },
392
+ "description": "The web component instance"
393
+ },
394
+ {
395
+ "name": "styles",
396
+ "type": {
397
+ "text": "Styles | undefined | null"
398
+ },
399
+ "description": "The styles configuration object"
400
+ },
401
+ {
402
+ "name": "styleKey",
403
+ "type": {
404
+ "text": "keyof NonNullable<Styles['customStyles']>"
405
+ },
406
+ "description": "The key in styles.customStyles to use for custom styles"
407
+ }
408
+ ],
409
+ "description": "Utility function to add custom styles to a web component's shadow root"
410
+ }
411
+ ],
412
+ "exports": [
413
+ {
414
+ "kind": "js",
415
+ "name": "getFieldInput",
416
+ "declaration": {
417
+ "name": "getFieldInput",
418
+ "module": "src/utils/misc.ts"
419
+ }
420
+ },
421
+ {
422
+ "kind": "js",
423
+ "name": "getFieldType",
424
+ "declaration": {
425
+ "name": "getFieldType",
426
+ "module": "src/utils/misc.ts"
427
+ }
428
+ },
429
+ {
430
+ "kind": "js",
431
+ "name": "processOptGroups",
432
+ "declaration": {
433
+ "name": "processOptGroups",
434
+ "module": "src/utils/misc.ts"
435
+ }
436
+ },
437
+ {
438
+ "kind": "js",
439
+ "name": "applyCustomStyles",
440
+ "declaration": {
441
+ "name": "applyCustomStyles",
442
+ "module": "src/utils/misc.ts"
443
+ }
444
+ }
445
+ ]
446
+ },
447
+ {
448
+ "kind": "javascript-module",
449
+ "path": "src/main/events.ts",
450
+ "declarations": [],
451
+ "exports": []
452
+ },
453
+ {
454
+ "kind": "javascript-module",
455
+ "path": "src/main/expression-builder.helpers.ts",
456
+ "declarations": [
457
+ {
458
+ "kind": "function",
459
+ "name": "findOperateOnGroup",
460
+ "return": {
461
+ "type": {
462
+ "text": ""
463
+ }
464
+ },
465
+ "parameters": [
466
+ {
467
+ "name": "model",
468
+ "type": {
469
+ "text": "ModelGroup"
470
+ },
471
+ "description": "The root group to start searching from"
472
+ },
473
+ {
474
+ "name": "groupId",
475
+ "type": {
476
+ "text": "string"
477
+ },
478
+ "description": "The Group ID to find"
479
+ },
480
+ {
481
+ "name": "fn",
482
+ "type": {
483
+ "text": "ChildrenOperatorFn"
484
+ },
485
+ "description": "The function to apply to the children of the found group. A *new* object must be created and returned"
486
+ }
487
+ ],
488
+ "description": "Finds a group within a model and applies a function to create a new children"
489
+ },
490
+ {
491
+ "kind": "function",
492
+ "name": "addGroupOrRule",
493
+ "return": {
494
+ "type": {
495
+ "text": "ModelGroup"
496
+ }
497
+ },
498
+ "parameters": [
499
+ {
500
+ "name": "model",
501
+ "type": {
502
+ "text": "ModelGroup"
503
+ }
504
+ },
505
+ {
506
+ "name": "parentGroupId",
507
+ "type": {
508
+ "text": "string"
509
+ }
510
+ },
511
+ {
512
+ "name": "newItem",
513
+ "type": {
514
+ "text": "ModelGroup | ModelRule"
515
+ }
516
+ }
517
+ ]
518
+ },
519
+ {
520
+ "kind": "function",
521
+ "name": "deleteGroup",
522
+ "return": {
523
+ "type": {
524
+ "text": "ModelGroup"
525
+ }
526
+ },
527
+ "parameters": [
528
+ {
529
+ "name": "model",
530
+ "type": {
531
+ "text": "ModelGroup"
532
+ }
533
+ },
534
+ {
535
+ "name": "groupIdToDelete",
536
+ "type": {
537
+ "text": "string"
538
+ }
539
+ }
540
+ ]
541
+ },
542
+ {
543
+ "kind": "function",
544
+ "name": "deleteRule",
545
+ "return": {
546
+ "type": {
547
+ "text": "ModelGroup"
548
+ }
549
+ },
550
+ "parameters": [
551
+ {
552
+ "name": "model",
553
+ "type": {
554
+ "text": "ModelGroup"
555
+ }
556
+ },
557
+ {
558
+ "name": "ruleIdToDelete",
559
+ "type": {
560
+ "text": "string"
561
+ }
562
+ }
563
+ ]
564
+ },
565
+ {
566
+ "kind": "variable",
567
+ "name": "ROOT_GROUP",
568
+ "type": {
569
+ "text": "string"
570
+ },
571
+ "default": "'group-root'"
572
+ },
573
+ {
574
+ "kind": "function",
575
+ "name": "updateGroupData",
576
+ "return": {
577
+ "type": {
578
+ "text": "ModelGroup"
579
+ }
580
+ },
581
+ "parameters": [
582
+ {
583
+ "name": "model",
584
+ "type": {
585
+ "text": "ModelGroup"
586
+ }
587
+ },
588
+ {
589
+ "name": "groupIdToUpdate",
590
+ "type": {
591
+ "text": "string"
592
+ }
593
+ },
594
+ {
595
+ "name": "newData",
596
+ "type": {
597
+ "text": "EventsDetailMap[Events.UpdateGroup]['newData']"
598
+ }
599
+ }
600
+ ]
601
+ },
602
+ {
603
+ "kind": "function",
604
+ "name": "updateRuleData",
605
+ "return": {
606
+ "type": {
607
+ "text": "ModelGroup"
608
+ }
609
+ },
610
+ "parameters": [
611
+ {
612
+ "name": "model",
613
+ "type": {
614
+ "text": "ModelGroup"
615
+ }
616
+ },
617
+ {
618
+ "name": "ruleIdToUpdate",
619
+ "type": {
620
+ "text": "string"
621
+ }
622
+ },
623
+ {
624
+ "name": "newData",
625
+ "type": {
626
+ "text": "EventsDetailMap[Events.UpdateRule]['newData']"
627
+ }
628
+ }
629
+ ]
630
+ }
631
+ ],
632
+ "exports": [
633
+ {
634
+ "kind": "js",
635
+ "name": "findOperateOnGroup",
636
+ "declaration": {
637
+ "name": "findOperateOnGroup",
638
+ "module": "src/main/expression-builder.helpers.ts"
639
+ }
640
+ },
641
+ {
642
+ "kind": "js",
643
+ "name": "addGroupOrRule",
644
+ "declaration": {
645
+ "name": "addGroupOrRule",
646
+ "module": "src/main/expression-builder.helpers.ts"
647
+ }
648
+ },
649
+ {
650
+ "kind": "js",
651
+ "name": "deleteGroup",
652
+ "declaration": {
653
+ "name": "deleteGroup",
654
+ "module": "src/main/expression-builder.helpers.ts"
655
+ }
656
+ },
657
+ {
658
+ "kind": "js",
659
+ "name": "deleteRule",
660
+ "declaration": {
661
+ "name": "deleteRule",
662
+ "module": "src/main/expression-builder.helpers.ts"
663
+ }
664
+ },
665
+ {
666
+ "kind": "js",
667
+ "name": "ROOT_GROUP",
668
+ "declaration": {
669
+ "name": "ROOT_GROUP",
670
+ "module": "src/main/expression-builder.helpers.ts"
671
+ }
672
+ },
673
+ {
674
+ "kind": "js",
675
+ "name": "updateGroupData",
676
+ "declaration": {
677
+ "name": "updateGroupData",
678
+ "module": "src/main/expression-builder.helpers.ts"
679
+ }
680
+ },
681
+ {
682
+ "kind": "js",
683
+ "name": "updateRuleData",
684
+ "declaration": {
685
+ "name": "updateRuleData",
686
+ "module": "src/main/expression-builder.helpers.ts"
687
+ }
688
+ }
689
+ ]
690
+ },
691
+ {
692
+ "kind": "javascript-module",
693
+ "path": "src/main/expression-builder.styles.ts",
694
+ "declarations": [
695
+ {
696
+ "kind": "variable",
697
+ "name": "styles",
698
+ "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`"
699
+ }
700
+ ],
701
+ "exports": [
702
+ {
703
+ "kind": "js",
704
+ "name": "styles",
705
+ "declaration": {
706
+ "name": "styles",
707
+ "module": "src/main/expression-builder.styles.ts"
708
+ }
420
709
  }
421
710
  ]
422
711
  },
@@ -603,289 +892,79 @@
603
892
  },
604
893
  {
605
894
  "kind": "field",
606
- "name": "handleUpdateGroupData",
607
- "privacy": "private"
608
- },
609
- {
610
- "kind": "method",
611
- "name": "_handleUpdateGroupData",
612
- "privacy": "private",
613
- "parameters": [
614
- {
615
- "name": "event",
616
- "type": {
617
- "text": "CustomEvent<EventsDetailMap[Events.UpdateGroup]>"
618
- }
619
- }
620
- ]
621
- },
622
- {
623
- "kind": "field",
624
- "name": "handleUpdateRuleData",
625
- "privacy": "private"
626
- },
627
- {
628
- "kind": "method",
629
- "name": "_handleUpdateRuleData",
630
- "privacy": "private",
631
- "parameters": [
632
- {
633
- "name": "event",
634
- "type": {
635
- "text": "CustomEvent<EventsDetailMap[Events.UpdateRule]>"
636
- }
637
- }
638
- ]
639
- }
640
- ],
641
- "events": [
642
- {
643
- "name": "change",
644
- "type": {
645
- "text": "CustomEvent"
646
- }
647
- }
648
- ],
649
- "superclass": {
650
- "name": "GenesisElement",
651
- "package": "@genesislcap/web-core"
652
- },
653
- "tagName": "expression-builder",
654
- "customElement": true
655
- }
656
- ],
657
- "exports": [
658
- {
659
- "kind": "js",
660
- "name": "ExpressionBuilder",
661
- "declaration": {
662
- "name": "ExpressionBuilder",
663
- "module": "src/main/expression-builder.ts"
664
- }
665
- },
666
- {
667
- "kind": "custom-element-definition",
668
- "name": "expression-builder",
669
- "declaration": {
670
- "name": "ExpressionBuilder",
671
- "module": "src/main/expression-builder.ts"
672
- }
673
- }
674
- ]
675
- },
676
- {
677
- "kind": "javascript-module",
678
- "path": "src/main/index.ts",
679
- "declarations": [],
680
- "exports": [
681
- {
682
- "kind": "js",
683
- "name": "*",
684
- "declaration": {
685
- "name": "*",
686
- "package": "./expression-builder"
687
- }
688
- },
689
- {
690
- "kind": "js",
691
- "name": "*",
692
- "declaration": {
693
- "name": "*",
694
- "package": "./expression-builder.styles"
695
- }
696
- },
697
- {
698
- "kind": "js",
699
- "name": "*",
700
- "declaration": {
701
- "name": "*",
702
- "package": "./expression-builder.template"
703
- }
704
- }
705
- ]
706
- },
707
- {
708
- "kind": "javascript-module",
709
- "path": "src/types/index.ts",
710
- "declarations": [],
711
- "exports": [
712
- {
713
- "kind": "js",
714
- "name": "*",
715
- "declaration": {
716
- "name": "*",
717
- "package": "./public.types"
718
- }
719
- },
720
- {
721
- "kind": "js",
722
- "name": "*",
723
- "declaration": {
724
- "name": "*",
725
- "package": "./private.types"
726
- }
727
- }
728
- ]
729
- },
730
- {
731
- "kind": "javascript-module",
732
- "path": "src/types/private.types.ts",
733
- "declarations": [],
734
- "exports": []
735
- },
736
- {
737
- "kind": "javascript-module",
738
- "path": "src/types/public.types.ts",
739
- "declarations": [],
740
- "exports": []
741
- },
742
- {
743
- "kind": "javascript-module",
744
- "path": "src/utils/data-model.ts",
745
- "declarations": [
746
- {
747
- "kind": "function",
748
- "name": "groupToModelGroup",
749
- "return": {
750
- "type": {
751
- "text": "ModelGroup"
752
- }
753
- },
754
- "parameters": [
755
- {
756
- "name": "group",
757
- "type": {
758
- "text": "Group"
759
- }
760
- },
761
- {
762
- "name": "provider",
763
- "type": {
764
- "text": "MetadataProvider"
765
- }
766
- }
767
- ],
768
- "description": "Converts a Group to a ModelGroup (adds required metadata)"
769
- },
770
- {
771
- "kind": "function",
772
- "name": "modelGroupToGroup",
773
- "return": {
774
- "type": {
775
- "text": ""
776
- }
777
- },
778
- "parameters": [
895
+ "name": "handleUpdateGroupData",
896
+ "privacy": "private"
897
+ },
779
898
  {
780
- "name": "modelGroup",
781
- "type": {
782
- "text": "ModelGroup"
783
- },
784
- "description": "The internal ModelGroup to convert."
785
- }
786
- ],
787
- "description": "Converts a ModelGroup (internal data structure) to a public Group structure.\nThis function recursively processes the rules within the group."
788
- },
789
- {
790
- "kind": "function",
791
- "name": "modelRuleToRule",
792
- "return": {
793
- "type": {
794
- "text": ""
795
- }
796
- },
797
- "parameters": [
899
+ "kind": "method",
900
+ "name": "_handleUpdateGroupData",
901
+ "privacy": "private",
902
+ "parameters": [
903
+ {
904
+ "name": "event",
905
+ "type": {
906
+ "text": "CustomEvent<EventsDetailMap[Events.UpdateGroup]>"
907
+ }
908
+ }
909
+ ]
910
+ },
798
911
  {
799
- "name": "modelRule",
800
- "type": {
801
- "text": "ModelRule"
802
- },
803
- "description": "The internal ModelRule to convert."
804
- }
805
- ],
806
- "description": "Converts a ModelRule (internal data structure) to a public Rule structure."
807
- }
808
- ],
809
- "exports": [
810
- {
811
- "kind": "js",
812
- "name": "groupToModelGroup",
813
- "declaration": {
814
- "name": "groupToModelGroup",
815
- "module": "src/utils/data-model.ts"
816
- }
817
- },
818
- {
819
- "kind": "js",
820
- "name": "modelGroupToGroup",
821
- "declaration": {
822
- "name": "modelGroupToGroup",
823
- "module": "src/utils/data-model.ts"
824
- }
825
- },
826
- {
827
- "kind": "js",
828
- "name": "modelRuleToRule",
829
- "declaration": {
830
- "name": "modelRuleToRule",
831
- "module": "src/utils/data-model.ts"
832
- }
833
- }
834
- ]
835
- },
836
- {
837
- "kind": "javascript-module",
838
- "path": "src/utils/formatting.ts",
839
- "declarations": [
840
- {
841
- "kind": "function",
842
- "name": "formatDateString",
843
- "parameters": [
912
+ "kind": "field",
913
+ "name": "handleUpdateRuleData",
914
+ "privacy": "private"
915
+ },
844
916
  {
845
- "name": "date",
846
- "type": {
847
- "text": "Date"
848
- }
917
+ "kind": "method",
918
+ "name": "_handleUpdateRuleData",
919
+ "privacy": "private",
920
+ "parameters": [
921
+ {
922
+ "name": "event",
923
+ "type": {
924
+ "text": "CustomEvent<EventsDetailMap[Events.UpdateRule]>"
925
+ }
926
+ }
927
+ ]
849
928
  }
850
929
  ],
851
- "description": "Gets the string representation from a `Date` which is the format a `date` input uses.\n`yyyy-mm-dd`.\nUses UTC methods to ensure consistent output regardless of timezone.\n\nUsed to convert a javascript date object into the required string format expected by the expression builder."
852
- },
853
- {
854
- "kind": "function",
855
- "name": "formatDateTimeString",
856
- "parameters": [
930
+ "events": [
857
931
  {
858
- "name": "date",
932
+ "name": "change",
859
933
  "type": {
860
- "text": "Date"
934
+ "text": "CustomEvent"
861
935
  }
862
936
  }
863
937
  ],
864
- "description": "Gets the string representation from a `Date` which is the format a `datetime-local` input uses.\n`yyyy-mm-ddThh:mm:ss`.\nUses UTC methods to ensure consistent output regardless of timezone.\n\nUsed to convert a javascript date object into the required string format expected by the expression builder."
938
+ "superclass": {
939
+ "name": "GenesisElement",
940
+ "package": "@genesislcap/web-core"
941
+ },
942
+ "tagName": "expression-builder",
943
+ "customElement": true
865
944
  }
866
945
  ],
867
946
  "exports": [
868
947
  {
869
948
  "kind": "js",
870
- "name": "formatDateString",
949
+ "name": "ExpressionBuilder",
871
950
  "declaration": {
872
- "name": "formatDateString",
873
- "module": "src/utils/formatting.ts"
951
+ "name": "ExpressionBuilder",
952
+ "module": "src/main/expression-builder.ts"
874
953
  }
875
954
  },
876
955
  {
877
- "kind": "js",
878
- "name": "formatDateTimeString",
956
+ "kind": "custom-element-definition",
957
+ "name": "expression-builder",
879
958
  "declaration": {
880
- "name": "formatDateTimeString",
881
- "module": "src/utils/formatting.ts"
959
+ "name": "ExpressionBuilder",
960
+ "module": "src/main/expression-builder.ts"
882
961
  }
883
962
  }
884
963
  ]
885
964
  },
886
965
  {
887
966
  "kind": "javascript-module",
888
- "path": "src/utils/index.ts",
967
+ "path": "src/main/index.ts",
889
968
  "declarations": [],
890
969
  "exports": [
891
970
  {
@@ -893,7 +972,7 @@
893
972
  "name": "*",
894
973
  "declaration": {
895
974
  "name": "*",
896
- "package": "./data-model"
975
+ "package": "./expression-builder"
897
976
  }
898
977
  },
899
978
  {
@@ -901,7 +980,7 @@
901
980
  "name": "*",
902
981
  "declaration": {
903
982
  "name": "*",
904
- "package": "./formatting"
983
+ "package": "./expression-builder.styles"
905
984
  }
906
985
  },
907
986
  {
@@ -909,125 +988,46 @@
909
988
  "name": "*",
910
989
  "declaration": {
911
990
  "name": "*",
912
- "package": "./misc"
991
+ "package": "./expression-builder.template"
913
992
  }
914
993
  }
915
994
  ]
916
995
  },
917
996
  {
918
997
  "kind": "javascript-module",
919
- "path": "src/utils/misc.ts",
920
- "declarations": [
921
- {
922
- "kind": "function",
923
- "name": "getFieldInput",
924
- "parameters": [
925
- {
926
- "name": "context",
927
- "type": {
928
- "text": "RuleValue | ModelRule"
929
- }
930
- }
931
- ]
932
- },
933
- {
934
- "kind": "function",
935
- "name": "getFieldType",
936
- "parameters": [
937
- {
938
- "name": "context",
939
- "type": {
940
- "text": "RuleValue | ModelRule"
941
- }
942
- }
943
- ]
944
- },
945
- {
946
- "kind": "function",
947
- "name": "processOptGroups",
948
- "return": {
949
- "type": {
950
- "text": "(T | { optgroup: string | null; xs: T[] })[]"
951
- }
952
- },
953
- "parameters": [
954
- {
955
- "name": "xs",
956
- "type": {
957
- "text": "T[]"
958
- }
959
- }
960
- ]
961
- },
962
- {
963
- "kind": "function",
964
- "name": "applyCustomStyles",
965
- "return": {
966
- "type": {
967
- "text": "void"
968
- }
969
- },
970
- "parameters": [
971
- {
972
- "name": "component",
973
- "type": {
974
- "text": "HTMLElement"
975
- },
976
- "description": "The web component instance"
977
- },
978
- {
979
- "name": "styles",
980
- "type": {
981
- "text": "Styles | undefined | null"
982
- },
983
- "description": "The styles configuration object"
984
- },
985
- {
986
- "name": "styleKey",
987
- "type": {
988
- "text": "keyof NonNullable<Styles['customStyles']>"
989
- },
990
- "description": "The key in styles.customStyles to use for custom styles"
991
- }
992
- ],
993
- "description": "Utility function to add custom styles to a web component's shadow root"
994
- }
995
- ],
998
+ "path": "src/types/index.ts",
999
+ "declarations": [],
996
1000
  "exports": [
997
1001
  {
998
1002
  "kind": "js",
999
- "name": "getFieldInput",
1000
- "declaration": {
1001
- "name": "getFieldInput",
1002
- "module": "src/utils/misc.ts"
1003
- }
1004
- },
1005
- {
1006
- "kind": "js",
1007
- "name": "getFieldType",
1008
- "declaration": {
1009
- "name": "getFieldType",
1010
- "module": "src/utils/misc.ts"
1011
- }
1012
- },
1013
- {
1014
- "kind": "js",
1015
- "name": "processOptGroups",
1003
+ "name": "*",
1016
1004
  "declaration": {
1017
- "name": "processOptGroups",
1018
- "module": "src/utils/misc.ts"
1005
+ "name": "*",
1006
+ "package": "./public.types"
1019
1007
  }
1020
1008
  },
1021
1009
  {
1022
1010
  "kind": "js",
1023
- "name": "applyCustomStyles",
1011
+ "name": "*",
1024
1012
  "declaration": {
1025
- "name": "applyCustomStyles",
1026
- "module": "src/utils/misc.ts"
1013
+ "name": "*",
1014
+ "package": "./private.types"
1027
1015
  }
1028
1016
  }
1029
1017
  ]
1030
1018
  },
1019
+ {
1020
+ "kind": "javascript-module",
1021
+ "path": "src/types/private.types.ts",
1022
+ "declarations": [],
1023
+ "exports": []
1024
+ },
1025
+ {
1026
+ "kind": "javascript-module",
1027
+ "path": "src/types/public.types.ts",
1028
+ "declarations": [],
1029
+ "exports": []
1030
+ },
1031
1031
  {
1032
1032
  "kind": "javascript-module",
1033
1033
  "path": "src/main/expression-group/expression-group.styles.ts",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/expression-builder",
3
3
  "description": "Genesis Foundation Expression Builder",
4
- "version": "14.353.5",
4
+ "version": "14.354.1",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "main": "dist/esm/index.js",
7
7
  "types": "dist/expression-builder.d.ts",
@@ -36,16 +36,16 @@
36
36
  }
37
37
  },
38
38
  "devDependencies": {
39
- "@genesislcap/foundation-testing": "14.353.5",
40
- "@genesislcap/genx": "14.353.5",
41
- "@genesislcap/rollup-builder": "14.353.5",
42
- "@genesislcap/ts-builder": "14.353.5",
43
- "@genesislcap/uvu-playwright-builder": "14.353.5",
44
- "@genesislcap/vite-builder": "14.353.5",
45
- "@genesislcap/webpack-builder": "14.353.5"
39
+ "@genesislcap/foundation-testing": "14.354.1",
40
+ "@genesislcap/genx": "14.354.1",
41
+ "@genesislcap/rollup-builder": "14.354.1",
42
+ "@genesislcap/ts-builder": "14.354.1",
43
+ "@genesislcap/uvu-playwright-builder": "14.354.1",
44
+ "@genesislcap/vite-builder": "14.354.1",
45
+ "@genesislcap/webpack-builder": "14.354.1"
46
46
  },
47
47
  "dependencies": {
48
- "@genesislcap/web-core": "14.353.5",
48
+ "@genesislcap/web-core": "14.354.1",
49
49
  "rfdc": "1.4.1"
50
50
  },
51
51
  "repository": {
@@ -57,5 +57,5 @@
57
57
  "access": "public"
58
58
  },
59
59
  "customElements": "dist/custom-elements.json",
60
- "gitHead": "2566e77361b9e642dbc21be0607d5c895158976f"
60
+ "gitHead": "f895bab2961a8d114d896536c573bd8eb46dff12"
61
61
  }