@genesislcap/expression-builder 14.365.1-alpha-8521b8e.0 → 14.366.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 (2) hide show
  1. package/dist/custom-elements.json +513 -513
  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
  },
@@ -598,259 +887,84 @@
598
887
  "type": {
599
888
  "text": "CustomEvent<EventsDetailMap[Events.DelRule]>"
600
889
  }
601
- }
602
- ]
603
- },
604
- {
605
- "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/utils/data-model.ts",
710
- "declarations": [
711
- {
712
- "kind": "function",
713
- "name": "groupToModelGroup",
714
- "return": {
715
- "type": {
716
- "text": "ModelGroup"
717
- }
718
- },
719
- "parameters": [
720
- {
721
- "name": "group",
722
- "type": {
723
- "text": "Group"
724
- }
725
- },
726
- {
727
- "name": "provider",
728
- "type": {
729
- "text": "MetadataProvider"
730
- }
731
- }
732
- ],
733
- "description": "Converts a Group to a ModelGroup (adds required metadata)"
734
- },
735
- {
736
- "kind": "function",
737
- "name": "modelGroupToGroup",
738
- "return": {
739
- "type": {
740
- "text": ""
741
- }
742
- },
743
- "parameters": [
890
+ }
891
+ ]
892
+ },
744
893
  {
745
- "name": "modelGroup",
746
- "type": {
747
- "text": "ModelGroup"
748
- },
749
- "description": "The internal ModelGroup to convert."
750
- }
751
- ],
752
- "description": "Converts a ModelGroup (internal data structure) to a public Group structure.\nThis function recursively processes the rules within the group."
753
- },
754
- {
755
- "kind": "function",
756
- "name": "modelRuleToRule",
757
- "return": {
758
- "type": {
759
- "text": ""
760
- }
761
- },
762
- "parameters": [
894
+ "kind": "field",
895
+ "name": "handleUpdateGroupData",
896
+ "privacy": "private"
897
+ },
763
898
  {
764
- "name": "modelRule",
765
- "type": {
766
- "text": "ModelRule"
767
- },
768
- "description": "The internal ModelRule to convert."
769
- }
770
- ],
771
- "description": "Converts a ModelRule (internal data structure) to a public Rule structure."
772
- }
773
- ],
774
- "exports": [
775
- {
776
- "kind": "js",
777
- "name": "groupToModelGroup",
778
- "declaration": {
779
- "name": "groupToModelGroup",
780
- "module": "src/utils/data-model.ts"
781
- }
782
- },
783
- {
784
- "kind": "js",
785
- "name": "modelGroupToGroup",
786
- "declaration": {
787
- "name": "modelGroupToGroup",
788
- "module": "src/utils/data-model.ts"
789
- }
790
- },
791
- {
792
- "kind": "js",
793
- "name": "modelRuleToRule",
794
- "declaration": {
795
- "name": "modelRuleToRule",
796
- "module": "src/utils/data-model.ts"
797
- }
798
- }
799
- ]
800
- },
801
- {
802
- "kind": "javascript-module",
803
- "path": "src/utils/formatting.ts",
804
- "declarations": [
805
- {
806
- "kind": "function",
807
- "name": "formatDateString",
808
- "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
+ },
809
911
  {
810
- "name": "date",
811
- "type": {
812
- "text": "Date"
813
- }
912
+ "kind": "field",
913
+ "name": "handleUpdateRuleData",
914
+ "privacy": "private"
915
+ },
916
+ {
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
+ ]
814
928
  }
815
929
  ],
816
- "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."
817
- },
818
- {
819
- "kind": "function",
820
- "name": "formatDateTimeString",
821
- "parameters": [
930
+ "events": [
822
931
  {
823
- "name": "date",
932
+ "name": "change",
824
933
  "type": {
825
- "text": "Date"
934
+ "text": "CustomEvent"
826
935
  }
827
936
  }
828
937
  ],
829
- "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
830
944
  }
831
945
  ],
832
946
  "exports": [
833
947
  {
834
948
  "kind": "js",
835
- "name": "formatDateString",
949
+ "name": "ExpressionBuilder",
836
950
  "declaration": {
837
- "name": "formatDateString",
838
- "module": "src/utils/formatting.ts"
951
+ "name": "ExpressionBuilder",
952
+ "module": "src/main/expression-builder.ts"
839
953
  }
840
954
  },
841
955
  {
842
- "kind": "js",
843
- "name": "formatDateTimeString",
956
+ "kind": "custom-element-definition",
957
+ "name": "expression-builder",
844
958
  "declaration": {
845
- "name": "formatDateTimeString",
846
- "module": "src/utils/formatting.ts"
959
+ "name": "ExpressionBuilder",
960
+ "module": "src/main/expression-builder.ts"
847
961
  }
848
962
  }
849
963
  ]
850
964
  },
851
965
  {
852
966
  "kind": "javascript-module",
853
- "path": "src/utils/index.ts",
967
+ "path": "src/main/index.ts",
854
968
  "declarations": [],
855
969
  "exports": [
856
970
  {
@@ -858,7 +972,7 @@
858
972
  "name": "*",
859
973
  "declaration": {
860
974
  "name": "*",
861
- "package": "./data-model"
975
+ "package": "./expression-builder"
862
976
  }
863
977
  },
864
978
  {
@@ -866,7 +980,7 @@
866
980
  "name": "*",
867
981
  "declaration": {
868
982
  "name": "*",
869
- "package": "./formatting"
983
+ "package": "./expression-builder.styles"
870
984
  }
871
985
  },
872
986
  {
@@ -874,121 +988,7 @@
874
988
  "name": "*",
875
989
  "declaration": {
876
990
  "name": "*",
877
- "package": "./misc"
878
- }
879
- }
880
- ]
881
- },
882
- {
883
- "kind": "javascript-module",
884
- "path": "src/utils/misc.ts",
885
- "declarations": [
886
- {
887
- "kind": "function",
888
- "name": "getFieldInput",
889
- "parameters": [
890
- {
891
- "name": "context",
892
- "type": {
893
- "text": "RuleValue | ModelRule"
894
- }
895
- }
896
- ]
897
- },
898
- {
899
- "kind": "function",
900
- "name": "getFieldType",
901
- "parameters": [
902
- {
903
- "name": "context",
904
- "type": {
905
- "text": "RuleValue | ModelRule"
906
- }
907
- }
908
- ]
909
- },
910
- {
911
- "kind": "function",
912
- "name": "processOptGroups",
913
- "return": {
914
- "type": {
915
- "text": "(T | { optgroup: string | null; xs: T[] })[]"
916
- }
917
- },
918
- "parameters": [
919
- {
920
- "name": "xs",
921
- "type": {
922
- "text": "T[]"
923
- }
924
- }
925
- ]
926
- },
927
- {
928
- "kind": "function",
929
- "name": "applyCustomStyles",
930
- "return": {
931
- "type": {
932
- "text": "void"
933
- }
934
- },
935
- "parameters": [
936
- {
937
- "name": "component",
938
- "type": {
939
- "text": "HTMLElement"
940
- },
941
- "description": "The web component instance"
942
- },
943
- {
944
- "name": "styles",
945
- "type": {
946
- "text": "Styles | undefined | null"
947
- },
948
- "description": "The styles configuration object"
949
- },
950
- {
951
- "name": "styleKey",
952
- "type": {
953
- "text": "keyof NonNullable<Styles['customStyles']>"
954
- },
955
- "description": "The key in styles.customStyles to use for custom styles"
956
- }
957
- ],
958
- "description": "Utility function to add custom styles to a web component's shadow root"
959
- }
960
- ],
961
- "exports": [
962
- {
963
- "kind": "js",
964
- "name": "getFieldInput",
965
- "declaration": {
966
- "name": "getFieldInput",
967
- "module": "src/utils/misc.ts"
968
- }
969
- },
970
- {
971
- "kind": "js",
972
- "name": "getFieldType",
973
- "declaration": {
974
- "name": "getFieldType",
975
- "module": "src/utils/misc.ts"
976
- }
977
- },
978
- {
979
- "kind": "js",
980
- "name": "processOptGroups",
981
- "declaration": {
982
- "name": "processOptGroups",
983
- "module": "src/utils/misc.ts"
984
- }
985
- },
986
- {
987
- "kind": "js",
988
- "name": "applyCustomStyles",
989
- "declaration": {
990
- "name": "applyCustomStyles",
991
- "module": "src/utils/misc.ts"
991
+ "package": "./expression-builder.template"
992
992
  }
993
993
  }
994
994
  ]
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.365.1-alpha-8521b8e.0",
4
+ "version": "14.366.0",
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.365.1-alpha-8521b8e.0",
40
- "@genesislcap/genx": "14.365.1-alpha-8521b8e.0",
41
- "@genesislcap/rollup-builder": "14.365.1-alpha-8521b8e.0",
42
- "@genesislcap/ts-builder": "14.365.1-alpha-8521b8e.0",
43
- "@genesislcap/uvu-playwright-builder": "14.365.1-alpha-8521b8e.0",
44
- "@genesislcap/vite-builder": "14.365.1-alpha-8521b8e.0",
45
- "@genesislcap/webpack-builder": "14.365.1-alpha-8521b8e.0"
39
+ "@genesislcap/foundation-testing": "14.366.0",
40
+ "@genesislcap/genx": "14.366.0",
41
+ "@genesislcap/rollup-builder": "14.366.0",
42
+ "@genesislcap/ts-builder": "14.366.0",
43
+ "@genesislcap/uvu-playwright-builder": "14.366.0",
44
+ "@genesislcap/vite-builder": "14.366.0",
45
+ "@genesislcap/webpack-builder": "14.366.0"
46
46
  },
47
47
  "dependencies": {
48
- "@genesislcap/web-core": "14.365.1-alpha-8521b8e.0",
48
+ "@genesislcap/web-core": "14.366.0",
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": "311fedcda05c02b1a956dd0f47fc2ecc2bec698c"
60
+ "gitHead": "6f35316c60278feb876954512b405e348ca04041"
61
61
  }