@genesislcap/pbc-notify-ui 15.72.0 → 15.73.0-FUI-2628.4

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.
@@ -505,27 +505,6 @@
505
505
  }
506
506
  ]
507
507
  },
508
- {
509
- "kind": "javascript-module",
510
- "path": "src/styles/scrollbar.styles.ts",
511
- "declarations": [
512
- {
513
- "kind": "variable",
514
- "name": "scrollbarStyles",
515
- "default": "css`\n ::-webkit-scrollbar {\n width: calc((var(--base-height-multiplier) + var(--design-unit)) * 1px);\n }\n\n ::-webkit-scrollbar-track {\n background: var(--neutral-layer-1);\n }\n\n ::-webkit-scrollbar-thumb {\n background: var(--neutral-fill-rest);\n }\n`"
516
- }
517
- ],
518
- "exports": [
519
- {
520
- "kind": "js",
521
- "name": "scrollbarStyles",
522
- "declaration": {
523
- "name": "scrollbarStyles",
524
- "module": "src/styles/scrollbar.styles.ts"
525
- }
526
- }
527
- ]
528
- },
529
508
  {
530
509
  "kind": "javascript-module",
531
510
  "path": "src/utils/eventDetail.ts",
@@ -847,6 +826,27 @@
847
826
  }
848
827
  ]
849
828
  },
829
+ {
830
+ "kind": "javascript-module",
831
+ "path": "src/styles/scrollbar.styles.ts",
832
+ "declarations": [
833
+ {
834
+ "kind": "variable",
835
+ "name": "scrollbarStyles",
836
+ "default": "css`\n ::-webkit-scrollbar {\n width: calc((var(--base-height-multiplier) + var(--design-unit)) * 1px);\n }\n\n ::-webkit-scrollbar-track {\n background: var(--neutral-layer-1);\n }\n\n ::-webkit-scrollbar-thumb {\n background: var(--neutral-fill-rest);\n }\n`"
837
+ }
838
+ ],
839
+ "exports": [
840
+ {
841
+ "kind": "js",
842
+ "name": "scrollbarStyles",
843
+ "declaration": {
844
+ "name": "scrollbarStyles",
845
+ "module": "src/styles/scrollbar.styles.ts"
846
+ }
847
+ }
848
+ ]
849
+ },
850
850
  {
851
851
  "kind": "javascript-module",
852
852
  "path": "src/components/foundation-inbox/inbox.styles.ts",
@@ -5295,6 +5295,95 @@
5295
5295
  }
5296
5296
  ]
5297
5297
  },
5298
+ {
5299
+ "kind": "javascript-module",
5300
+ "path": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts",
5301
+ "declarations": [
5302
+ {
5303
+ "kind": "variable",
5304
+ "name": "ConditionBuilderStyles",
5305
+ "default": "css`\n .condition-builder {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n rapid-button {\n margin: 0;\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the condition it joins,\n rendered as a pair of small text links rather than buttons - reads like\n a sentence connector (\"... and ...\") instead of a UI control competing\n with the row's fields for attention. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n .delete {\n margin: 0;\n display: flex;\n justify-content: center;\n height: calc(var(--design-unit) * 9px);\n }\n\n .delete:hover {\n background-color: color-mix(in srgb, var(--neutral-foreground-rest), transparent 89%);\n }\n\n rapid-text-field {\n width: 100%;\n margin-bottom: 0;\n }\n\n rapid-text-field::part(root) {\n height: calc(var(--design-unit) * 9px);\n }\n\n rapid-select {\n min-width: auto;\n }\n\n rapid-select.left-value::part(control) {\n width: 250px;\n }\n\n rapid-select.logical-operator::part(control) {\n width: 160px;\n }\n\n .logical-operator-null-and-blank {\n width: 100%;\n }\n\n rapid-select.right-criteria::part(control) {\n width: 135px;\n }\n\n rapid-select.right-criteria-user-entry {\n width: 100%;\n }\n\n rapid-select.right-criteria-select {\n width: 100%;\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n`"
5306
+ },
5307
+ {
5308
+ "kind": "variable",
5309
+ "name": "ConditionGroupStyles",
5310
+ "default": "css`\n .condition-group-row {\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the group it joins - see\n ConditionBuilderStyles' .join-toggle-row/.join-text for why it's a pair\n of text links rather than buttons. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n /* A full bordered box reads as \"this is one parenthesized unit\" more\n literally than a left rail - it nests naturally too, a group inside a\n group just gets a second box drawn inside the first, like actual nested\n parens would look. */\n .condition-group-box {\n flex: 1;\n min-width: 0;\n border: calc(var(--design-unit) * 0.5px) solid\n color-mix(in srgb, var(--accent-fill-rest), transparent 25%);\n border-radius: calc(var(--design-unit) * 1px);\n padding: calc(var(--design-unit) * 2px);\n background-color: color-mix(in srgb, var(--accent-fill-rest), transparent 96%);\n }\n\n .condition-group-box > .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-top: calc(var(--design-unit) * 1px);\n }\n\n .condition-group-box > .content-row rapid-button {\n font-size: 12px;\n }\n\n rule-condition-builder,\n rule-condition-group,\n template-condition-builder,\n template-condition-group {\n display: block;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .delete-group {\n margin: 0;\n opacity: 60%;\n }\n\n .delete-group:hover {\n opacity: 100%;\n }\n`"
5311
+ }
5312
+ ],
5313
+ "exports": [
5314
+ {
5315
+ "kind": "js",
5316
+ "name": "ConditionBuilderStyles",
5317
+ "declaration": {
5318
+ "name": "ConditionBuilderStyles",
5319
+ "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5320
+ }
5321
+ },
5322
+ {
5323
+ "kind": "js",
5324
+ "name": "ConditionGroupStyles",
5325
+ "declaration": {
5326
+ "name": "ConditionGroupStyles",
5327
+ "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5328
+ }
5329
+ }
5330
+ ]
5331
+ },
5332
+ {
5333
+ "kind": "javascript-module",
5334
+ "path": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts",
5335
+ "declarations": [
5336
+ {
5337
+ "kind": "variable",
5338
+ "name": "DynamicRuleManagementStyles",
5339
+ "default": "css`\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n flex-direction: row-reverse;\n }\n\n .grid {\n height: 100%;\n }\n`"
5340
+ },
5341
+ {
5342
+ "kind": "variable",
5343
+ "name": "DynamicRuleDialogStyles",
5344
+ "default": "css`\n ${scrollbarStyles}\n ${top}\n ${bottom}\n\n rapid-modal::part(dialog) {\n padding: 0;\n background: var(--neutral-layer-4);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .dialog-content {\n display: flex;\n flex-direction: column;\n width: ${String(modalWidthPx)}px;\n max-height: 600px;\n overflow-y: scroll;\n gap: calc(var(--design-unit) * 3px);\n padding: calc(var(--design-unit) * 4px);\n }\n\n .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 3px);\n }\n\n .control {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .topic-lock-hint {\n color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));\n font-size: var(--type-ramp-minus-1-font-size);\n line-height: var(--type-ramp-minus-1-line-height);\n }\n\n .items {\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n display: flex;\n padding: calc(var(--design-unit) * 2px);\n flex-direction: column;\n }\n\n .item {\n gap: 0;\n flex-direction: column;\n margin-bottom: 0;\n }\n\n ${textField}\n ${select}\n\n rapid-button {\n margin: 0;\n }\n\n rapid-select {\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n\n .horizontal {\n flex-direction: row;\n }\n\n .destination {\n align-self: center;\n }\n\n .topic {\n min-width: revert-layer;\n }\n\n .expression-preview {\n width: 100%;\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .expression-preview::part(control) {\n font-family: var(--body-font, monospace);\n font-size: 12px;\n color: var(--neutral-foreground-hint);\n min-height: calc(var(--design-unit) * 12px);\n resize: vertical;\n }\n\n .alert-sound {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 2px);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound .file-input {\n display: none;\n }\n\n .alert-sound-row {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n flex-wrap: wrap;\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound-name {\n flex: 1;\n min-width: 120px;\n color: var(--neutral-foreground-hint);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`"
5345
+ }
5346
+ ],
5347
+ "exports": [
5348
+ {
5349
+ "kind": "js",
5350
+ "name": "DynamicRuleManagementStyles",
5351
+ "declaration": {
5352
+ "name": "DynamicRuleManagementStyles",
5353
+ "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5354
+ }
5355
+ },
5356
+ {
5357
+ "kind": "js",
5358
+ "name": "DynamicRuleDialogStyles",
5359
+ "declaration": {
5360
+ "name": "DynamicRuleDialogStyles",
5361
+ "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5362
+ }
5363
+ }
5364
+ ]
5365
+ },
5366
+ {
5367
+ "kind": "javascript-module",
5368
+ "path": "src/components/foundation-notification-dashboard/styles/management.styles.ts",
5369
+ "declarations": [
5370
+ {
5371
+ "kind": "variable",
5372
+ "name": "managementGridStyles",
5373
+ "default": "css`\n :host {\n height: 100%;\n }\n\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n }\n\n .grid {\n height: 100%;\n }\n`"
5374
+ }
5375
+ ],
5376
+ "exports": [
5377
+ {
5378
+ "kind": "js",
5379
+ "name": "managementGridStyles",
5380
+ "declaration": {
5381
+ "name": "managementGridStyles",
5382
+ "module": "src/components/foundation-notification-dashboard/styles/management.styles.ts"
5383
+ }
5384
+ }
5385
+ ]
5386
+ },
5298
5387
  {
5299
5388
  "kind": "javascript-module",
5300
5389
  "path": "src/components/foundation-notification-dashboard/types/expression-type.ts",
@@ -5895,95 +5984,6 @@
5895
5984
  }
5896
5985
  ]
5897
5986
  },
5898
- {
5899
- "kind": "javascript-module",
5900
- "path": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts",
5901
- "declarations": [
5902
- {
5903
- "kind": "variable",
5904
- "name": "ConditionBuilderStyles",
5905
- "default": "css`\n .condition-builder {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n rapid-button {\n margin: 0;\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the condition it joins,\n rendered as a pair of small text links rather than buttons - reads like\n a sentence connector (\"... and ...\") instead of a UI control competing\n with the row's fields for attention. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n .delete {\n margin: 0;\n display: flex;\n justify-content: center;\n height: calc(var(--design-unit) * 9px);\n }\n\n .delete:hover {\n background-color: color-mix(in srgb, var(--neutral-foreground-rest), transparent 89%);\n }\n\n rapid-text-field {\n width: 100%;\n margin-bottom: 0;\n }\n\n rapid-text-field::part(root) {\n height: calc(var(--design-unit) * 9px);\n }\n\n rapid-select {\n min-width: auto;\n }\n\n rapid-select.left-value::part(control) {\n width: 250px;\n }\n\n rapid-select.logical-operator::part(control) {\n width: 160px;\n }\n\n .logical-operator-null-and-blank {\n width: 100%;\n }\n\n rapid-select.right-criteria::part(control) {\n width: 135px;\n }\n\n rapid-select.right-criteria-user-entry {\n width: 100%;\n }\n\n rapid-select.right-criteria-select {\n width: 100%;\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n`"
5906
- },
5907
- {
5908
- "kind": "variable",
5909
- "name": "ConditionGroupStyles",
5910
- "default": "css`\n .condition-group-row {\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the group it joins - see\n ConditionBuilderStyles' .join-toggle-row/.join-text for why it's a pair\n of text links rather than buttons. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n /* A full bordered box reads as \"this is one parenthesized unit\" more\n literally than a left rail - it nests naturally too, a group inside a\n group just gets a second box drawn inside the first, like actual nested\n parens would look. */\n .condition-group-box {\n flex: 1;\n min-width: 0;\n border: calc(var(--design-unit) * 0.5px) solid\n color-mix(in srgb, var(--accent-fill-rest), transparent 25%);\n border-radius: calc(var(--design-unit) * 1px);\n padding: calc(var(--design-unit) * 2px);\n background-color: color-mix(in srgb, var(--accent-fill-rest), transparent 96%);\n }\n\n .condition-group-box > .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-top: calc(var(--design-unit) * 1px);\n }\n\n .condition-group-box > .content-row rapid-button {\n font-size: 12px;\n }\n\n rule-condition-builder,\n rule-condition-group,\n template-condition-builder,\n template-condition-group {\n display: block;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .delete-group {\n margin: 0;\n opacity: 60%;\n }\n\n .delete-group:hover {\n opacity: 100%;\n }\n`"
5911
- }
5912
- ],
5913
- "exports": [
5914
- {
5915
- "kind": "js",
5916
- "name": "ConditionBuilderStyles",
5917
- "declaration": {
5918
- "name": "ConditionBuilderStyles",
5919
- "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5920
- }
5921
- },
5922
- {
5923
- "kind": "js",
5924
- "name": "ConditionGroupStyles",
5925
- "declaration": {
5926
- "name": "ConditionGroupStyles",
5927
- "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5928
- }
5929
- }
5930
- ]
5931
- },
5932
- {
5933
- "kind": "javascript-module",
5934
- "path": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts",
5935
- "declarations": [
5936
- {
5937
- "kind": "variable",
5938
- "name": "DynamicRuleManagementStyles",
5939
- "default": "css`\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n flex-direction: row-reverse;\n }\n\n .grid {\n height: 100%;\n }\n`"
5940
- },
5941
- {
5942
- "kind": "variable",
5943
- "name": "DynamicRuleDialogStyles",
5944
- "default": "css`\n ${scrollbarStyles}\n ${top}\n ${bottom}\n\n rapid-modal::part(dialog) {\n padding: 0;\n background: var(--neutral-layer-4);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .dialog-content {\n display: flex;\n flex-direction: column;\n width: ${String(modalWidthPx)}px;\n max-height: 600px;\n overflow-y: scroll;\n gap: calc(var(--design-unit) * 3px);\n padding: calc(var(--design-unit) * 4px);\n }\n\n .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 3px);\n }\n\n .control {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .topic-lock-hint {\n color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));\n font-size: var(--type-ramp-minus-1-font-size);\n line-height: var(--type-ramp-minus-1-line-height);\n }\n\n .items {\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n display: flex;\n padding: calc(var(--design-unit) * 2px);\n flex-direction: column;\n }\n\n .item {\n gap: 0;\n flex-direction: column;\n margin-bottom: 0;\n }\n\n ${textField}\n ${select}\n\n rapid-button {\n margin: 0;\n }\n\n rapid-select {\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n\n .horizontal {\n flex-direction: row;\n }\n\n .destination {\n align-self: center;\n }\n\n .topic {\n min-width: revert-layer;\n }\n\n .expression-preview {\n width: 100%;\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .expression-preview::part(control) {\n font-family: var(--body-font, monospace);\n font-size: 12px;\n color: var(--neutral-foreground-hint);\n min-height: calc(var(--design-unit) * 12px);\n resize: vertical;\n }\n\n .alert-sound {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 2px);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound .file-input {\n display: none;\n }\n\n .alert-sound-row {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n flex-wrap: wrap;\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound-name {\n flex: 1;\n min-width: 120px;\n color: var(--neutral-foreground-hint);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`"
5945
- }
5946
- ],
5947
- "exports": [
5948
- {
5949
- "kind": "js",
5950
- "name": "DynamicRuleManagementStyles",
5951
- "declaration": {
5952
- "name": "DynamicRuleManagementStyles",
5953
- "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5954
- }
5955
- },
5956
- {
5957
- "kind": "js",
5958
- "name": "DynamicRuleDialogStyles",
5959
- "declaration": {
5960
- "name": "DynamicRuleDialogStyles",
5961
- "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5962
- }
5963
- }
5964
- ]
5965
- },
5966
- {
5967
- "kind": "javascript-module",
5968
- "path": "src/components/foundation-notification-dashboard/styles/management.styles.ts",
5969
- "declarations": [
5970
- {
5971
- "kind": "variable",
5972
- "name": "managementGridStyles",
5973
- "default": "css`\n :host {\n height: 100%;\n }\n\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n }\n\n .grid {\n height: 100%;\n }\n`"
5974
- }
5975
- ],
5976
- "exports": [
5977
- {
5978
- "kind": "js",
5979
- "name": "managementGridStyles",
5980
- "declaration": {
5981
- "name": "managementGridStyles",
5982
- "module": "src/components/foundation-notification-dashboard/styles/management.styles.ts"
5983
- }
5984
- }
5985
- ]
5986
- },
5987
5987
  {
5988
5988
  "kind": "javascript-module",
5989
5989
  "path": "src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.styles.ts",
@@ -8225,37 +8225,247 @@
8225
8225
  },
8226
8226
  {
8227
8227
  "kind": "javascript-module",
8228
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.ts",
8228
+ "path": "src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts",
8229
8229
  "declarations": [
8230
8230
  {
8231
- "kind": "variable",
8232
- "name": "RuleDialogTemplate",
8233
- "default": "html<RuleDialog>`\n <rapid-modal ${ref('dialog')} class=\"dialog\" :onCloseCallback=${(x) => () => x.close()}>\n <div slot=\"top\" class=\"dialog-top\">${(x) => x.ruleDialogTitle}</div>\n\n <div class=\"dialog-content\">\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field\n :value=${sync((x) => x.name)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autofocus\n autocomplete=\"off\"\n required\n >\n Name\n </rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field\n :value=${sync((x) => x.description)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n required\n >\n Description\n </rapid-text-field>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <label>Resource</label>\n <rapid-select\n :value=${sync((x) => x.resource)}\n title=${(x) => x.resource}\n position=\"below\"\n >\n ${repeat(\n (x) => x.resources,\n html`\n <rapid-option value=${(x) => x} title=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Topic</label>\n <rapid-combobox\n autocomplete=\"both\"\n :value=${sync((x) => x.selectedRouteId)}\n title=${(x) => x.topic}\n @change=${(x, c) => x.onTopicRouteChange((c.event.target as HTMLInputElement).value)}\n >\n ${repeat(\n (x) => x.routeTopicOptions,\n html<NotifyRouteTopic, RuleDialog>`\n <rapid-option value=${(x) => x.notifyRouteId} title=${(x) => x.topicMatch}>\n ${(x) => routeTopicLabel(x)}\n </rapid-option>\n `,\n )}\n </rapid-combobox>\n </div>\n\n <div class=\"control\">\n <label>Severity</label>\n <rapid-select :value=${sync((x) => x.severity)}>\n <options-datasource\n value-field=\"value\"\n label-field=\"value\"\n option-element=\"rapid-option\"\n :data=${(_) => Object.values(Severity).map((value) => ({ value }))}\n ></options-datasource>\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Update Type</label>\n <rapid-multiselect\n :selectedOptions=${(x) => x.updateType}\n @selectionChange=${(x, c) => {\n x.updateType = (c.event as CustomEvent).detail;\n }}\n search=\"false\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${() => Object.values(UpdateType).map((value) => ({ value, label: value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field\n required\n :value=${sync((x) => x.header)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n >\n Header\n </rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field\n required\n :value=${sync((x) => x.message)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n >\n Message\n </rapid-text-field>\n </div>\n </div>\n\n ${alertSoundAttachmentTemplate}\n\n <div class=\"control\">\n <label>Condition(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.conditions,\n html<ConditionNode, RuleDialog>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <rule-condition-group\n :fields=${(x, c) => c.parent.fields}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></rule-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <rule-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></rule-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>\n + Group\n </rapid-button>\n </div>\n </div>\n <rapid-text-area\n class=\"expression-preview\"\n readonly\n :value=${(x) => x.rawExpressionPreview}\n >\n Compiled expression\n </rapid-text-area>\n </div>\n </div>\n\n <div slot=\"bottom\" class=\"dialog-bottom\">\n <rapid-button\n appearance=\"primary\"\n @click=${(x) => x.submit()}\n ?disabled=${(x) => x.submitDisabled}\n >\n Submit\n </rapid-button>\n </div>\n </rapid-modal>\n`"
8231
+ "kind": "class",
8232
+ "description": "",
8233
+ "name": "EmailDistributionRouteManagement",
8234
+ "superclass": {
8235
+ "name": "GenesisElement",
8236
+ "package": "@genesislcap/web-core"
8237
+ },
8238
+ "tagName": "email-distribution-route-management",
8239
+ "customElement": true
8234
8240
  }
8235
8241
  ],
8236
8242
  "exports": [
8237
8243
  {
8238
8244
  "kind": "js",
8239
- "name": "RuleDialogTemplate",
8245
+ "name": "EmailDistributionRouteManagement",
8240
8246
  "declaration": {
8241
- "name": "RuleDialogTemplate",
8242
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.ts"
8247
+ "name": "EmailDistributionRouteManagement",
8248
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts"
8249
+ }
8250
+ },
8251
+ {
8252
+ "kind": "custom-element-definition",
8253
+ "name": "email-distribution-route-management",
8254
+ "declaration": {
8255
+ "name": "EmailDistributionRouteManagement",
8256
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts"
8243
8257
  }
8244
8258
  }
8245
8259
  ]
8246
8260
  },
8247
8261
  {
8248
8262
  "kind": "javascript-module",
8249
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.ts",
8263
+ "path": "src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts",
8250
8264
  "declarations": [
8251
8265
  {
8252
8266
  "kind": "class",
8253
- "description": "Dialog for creating or editing notification rules.",
8254
- "name": "RuleDialog",
8255
- "members": [
8256
- {
8257
- "kind": "field",
8258
- "name": "ruleService",
8267
+ "description": "",
8268
+ "name": "EmailUserRouteManagement",
8269
+ "superclass": {
8270
+ "name": "GenesisElement",
8271
+ "package": "@genesislcap/web-core"
8272
+ },
8273
+ "tagName": "email-user-route-management",
8274
+ "customElement": true
8275
+ }
8276
+ ],
8277
+ "exports": [
8278
+ {
8279
+ "kind": "js",
8280
+ "name": "EmailUserRouteManagement",
8281
+ "declaration": {
8282
+ "name": "EmailUserRouteManagement",
8283
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts"
8284
+ }
8285
+ },
8286
+ {
8287
+ "kind": "custom-element-definition",
8288
+ "name": "email-user-route-management",
8289
+ "declaration": {
8290
+ "name": "EmailUserRouteManagement",
8291
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts"
8292
+ }
8293
+ }
8294
+ ]
8295
+ },
8296
+ {
8297
+ "kind": "javascript-module",
8298
+ "path": "src/components/foundation-notification-dashboard/components/routes/tabs/log-route-management.ts",
8299
+ "declarations": [
8300
+ {
8301
+ "kind": "class",
8302
+ "description": "",
8303
+ "name": "LogRouteManagement",
8304
+ "superclass": {
8305
+ "name": "GenesisElement",
8306
+ "package": "@genesislcap/web-core"
8307
+ },
8308
+ "tagName": "log-route-management",
8309
+ "customElement": true
8310
+ }
8311
+ ],
8312
+ "exports": [
8313
+ {
8314
+ "kind": "js",
8315
+ "name": "LogRouteManagement",
8316
+ "declaration": {
8317
+ "name": "LogRouteManagement",
8318
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/log-route-management.ts"
8319
+ }
8320
+ },
8321
+ {
8322
+ "kind": "custom-element-definition",
8323
+ "name": "log-route-management",
8324
+ "declaration": {
8325
+ "name": "LogRouteManagement",
8326
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/log-route-management.ts"
8327
+ }
8328
+ }
8329
+ ]
8330
+ },
8331
+ {
8332
+ "kind": "javascript-module",
8333
+ "path": "src/components/foundation-notification-dashboard/components/routes/tabs/ms-teams-route-management.ts",
8334
+ "declarations": [
8335
+ {
8336
+ "kind": "class",
8337
+ "description": "",
8338
+ "name": "MSTeamsRouteManagement",
8339
+ "superclass": {
8340
+ "name": "GenesisElement",
8341
+ "package": "@genesislcap/web-core"
8342
+ },
8343
+ "tagName": "ms-teams-route-management",
8344
+ "customElement": true
8345
+ }
8346
+ ],
8347
+ "exports": [
8348
+ {
8349
+ "kind": "js",
8350
+ "name": "MSTeamsRouteManagement",
8351
+ "declaration": {
8352
+ "name": "MSTeamsRouteManagement",
8353
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/ms-teams-route-management.ts"
8354
+ }
8355
+ },
8356
+ {
8357
+ "kind": "custom-element-definition",
8358
+ "name": "ms-teams-route-management",
8359
+ "declaration": {
8360
+ "name": "MSTeamsRouteManagement",
8361
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/ms-teams-route-management.ts"
8362
+ }
8363
+ }
8364
+ ]
8365
+ },
8366
+ {
8367
+ "kind": "javascript-module",
8368
+ "path": "src/components/foundation-notification-dashboard/components/routes/tabs/screen-route-management.ts",
8369
+ "declarations": [
8370
+ {
8371
+ "kind": "class",
8372
+ "description": "",
8373
+ "name": "ScreenRouteManagement",
8374
+ "superclass": {
8375
+ "name": "GenesisElement",
8376
+ "package": "@genesislcap/web-core"
8377
+ },
8378
+ "tagName": "screen-route-management",
8379
+ "customElement": true
8380
+ }
8381
+ ],
8382
+ "exports": [
8383
+ {
8384
+ "kind": "js",
8385
+ "name": "ScreenRouteManagement",
8386
+ "declaration": {
8387
+ "name": "ScreenRouteManagement",
8388
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/screen-route-management.ts"
8389
+ }
8390
+ },
8391
+ {
8392
+ "kind": "custom-element-definition",
8393
+ "name": "screen-route-management",
8394
+ "declaration": {
8395
+ "name": "ScreenRouteManagement",
8396
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/screen-route-management.ts"
8397
+ }
8398
+ }
8399
+ ]
8400
+ },
8401
+ {
8402
+ "kind": "javascript-module",
8403
+ "path": "src/components/foundation-notification-dashboard/components/routes/tabs/slack-route-management.ts",
8404
+ "declarations": [
8405
+ {
8406
+ "kind": "class",
8407
+ "description": "",
8408
+ "name": "SlackRouteManagement",
8409
+ "superclass": {
8410
+ "name": "GenesisElement",
8411
+ "package": "@genesislcap/web-core"
8412
+ },
8413
+ "tagName": "slack-route-management",
8414
+ "customElement": true
8415
+ }
8416
+ ],
8417
+ "exports": [
8418
+ {
8419
+ "kind": "js",
8420
+ "name": "SlackRouteManagement",
8421
+ "declaration": {
8422
+ "name": "SlackRouteManagement",
8423
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/slack-route-management.ts"
8424
+ }
8425
+ },
8426
+ {
8427
+ "kind": "custom-element-definition",
8428
+ "name": "slack-route-management",
8429
+ "declaration": {
8430
+ "name": "SlackRouteManagement",
8431
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/slack-route-management.ts"
8432
+ }
8433
+ }
8434
+ ]
8435
+ },
8436
+ {
8437
+ "kind": "javascript-module",
8438
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.ts",
8439
+ "declarations": [
8440
+ {
8441
+ "kind": "variable",
8442
+ "name": "RuleDialogTemplate",
8443
+ "default": "html<RuleDialog>`\n <rapid-modal ${ref('dialog')} class=\"dialog\" :onCloseCallback=${(x) => () => x.close()}>\n <div slot=\"top\" class=\"dialog-top\">${(x) => x.ruleDialogTitle}</div>\n\n <div class=\"dialog-content\">\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field\n :value=${sync((x) => x.name)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autofocus\n autocomplete=\"off\"\n required\n >\n Name\n </rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field\n :value=${sync((x) => x.description)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n required\n >\n Description\n </rapid-text-field>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <label>Resource</label>\n <rapid-select\n :value=${sync((x) => x.resource)}\n title=${(x) => x.resource}\n position=\"below\"\n >\n ${repeat(\n (x) => x.resources,\n html`\n <rapid-option value=${(x) => x} title=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Topic</label>\n <rapid-combobox\n autocomplete=\"both\"\n :value=${sync((x) => x.selectedRouteId)}\n title=${(x) => x.topic}\n @change=${(x, c) => x.onTopicRouteChange((c.event.target as HTMLInputElement).value)}\n >\n ${repeat(\n (x) => x.routeTopicOptions,\n html<NotifyRouteTopic, RuleDialog>`\n <rapid-option value=${(x) => x.notifyRouteId} title=${(x) => x.topicMatch}>\n ${(x) => routeTopicLabel(x)}\n </rapid-option>\n `,\n )}\n </rapid-combobox>\n </div>\n\n <div class=\"control\">\n <label>Severity</label>\n <rapid-select :value=${sync((x) => x.severity)}>\n <options-datasource\n value-field=\"value\"\n label-field=\"value\"\n option-element=\"rapid-option\"\n :data=${(_) => Object.values(Severity).map((value) => ({ value }))}\n ></options-datasource>\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Update Type</label>\n <rapid-multiselect\n :selectedOptions=${(x) => x.updateType}\n @selectionChange=${(x, c) => {\n x.updateType = (c.event as CustomEvent).detail;\n }}\n search=\"false\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${() => Object.values(UpdateType).map((value) => ({ value, label: value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field\n required\n :value=${sync((x) => x.header)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n >\n Header\n </rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field\n required\n :value=${sync((x) => x.message)}\n @change=\"${(x) => x.validateRequiredFields()}\"\n autocomplete=\"off\"\n >\n Message\n </rapid-text-field>\n </div>\n </div>\n\n ${alertSoundAttachmentTemplate}\n\n <div class=\"control\">\n <label>Condition(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.conditions,\n html<ConditionNode, RuleDialog>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <rule-condition-group\n :fields=${(x, c) => c.parent.fields}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></rule-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <rule-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></rule-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>\n + Group\n </rapid-button>\n </div>\n </div>\n <rapid-text-area\n class=\"expression-preview\"\n readonly\n :value=${(x) => x.rawExpressionPreview}\n >\n Compiled expression\n </rapid-text-area>\n </div>\n </div>\n\n <div slot=\"bottom\" class=\"dialog-bottom\">\n <rapid-button\n appearance=\"primary\"\n @click=${(x) => x.submit()}\n ?disabled=${(x) => x.submitDisabled}\n >\n Submit\n </rapid-button>\n </div>\n </rapid-modal>\n`"
8444
+ }
8445
+ ],
8446
+ "exports": [
8447
+ {
8448
+ "kind": "js",
8449
+ "name": "RuleDialogTemplate",
8450
+ "declaration": {
8451
+ "name": "RuleDialogTemplate",
8452
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.ts"
8453
+ }
8454
+ }
8455
+ ]
8456
+ },
8457
+ {
8458
+ "kind": "javascript-module",
8459
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.ts",
8460
+ "declarations": [
8461
+ {
8462
+ "kind": "class",
8463
+ "description": "Dialog for creating or editing notification rules.",
8464
+ "name": "RuleDialog",
8465
+ "members": [
8466
+ {
8467
+ "kind": "field",
8468
+ "name": "ruleService",
8259
8469
  "type": {
8260
8470
  "text": "RuleService"
8261
8471
  },
@@ -8887,238 +9097,28 @@
8887
9097
  },
8888
9098
  {
8889
9099
  "kind": "javascript-module",
8890
- "path": "src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts",
9100
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.ts",
8891
9101
  "declarations": [
8892
9102
  {
8893
- "kind": "class",
8894
- "description": "",
8895
- "name": "EmailDistributionRouteManagement",
8896
- "superclass": {
8897
- "name": "GenesisElement",
8898
- "package": "@genesislcap/web-core"
8899
- },
8900
- "tagName": "email-distribution-route-management",
8901
- "customElement": true
9103
+ "kind": "variable",
9104
+ "name": "TemplateDialogTemplate",
9105
+ "default": "html<TemplateDialog>`\n <rapid-modal ${ref('dialog')} class=\"dialog\" :onCloseCallback=${(x) => () => x.close()}>\n <div slot=\"top\" class=\"dialog-top\">${(x) => x.templateDialogTitle}</div>\n\n <div class=\"dialog-content\">\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.name)} autofocus>Name</rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.description)}>Description</rapid-text-field>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <label>Resource</label>\n <rapid-select :value=${sync((x) => x.resource)} position=\"below\">\n ${repeat(\n (x) => x.resources,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Severity</label>\n <rapid-select :value=${sync((x) => x.severity)}>\n <options-datasource\n value-field=\"value\"\n label-field=\"value\"\n option-element=\"rapid-option\"\n :data=${(_) => Object.values(Severity).map((value) => ({ value }))}\n ></options-datasource>\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Update Type</label>\n <rapid-multiselect\n :selectedOptions=${(x) => x.updateType}\n @selectionChange=${(x, c) => {\n x.updateType = (c.event as CustomEvent).detail;\n }}\n search=\"false\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${() => Object.values(UpdateType).map((value) => ({ value, label: value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.header)}>Header</rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.message)}>Message</rapid-text-field>\n </div>\n </div>\n\n <div class=\"control\">\n <label>Topic(s)</label>\n ${when(\n (x) => x.lockBroadcastTopics,\n html`\n <span class=\"topic-lock-hint\">\n Broadcast topics cannot be used after this template was saved with multiple subscriber\n routes. Delete it and create a new template instead.\n </span>\n `,\n )}\n ${when(\n (x) => x.topicOptions.length > 0,\n html<TemplateDialog>`\n <rapid-multiselect\n ${ref('topicsSelect')}\n class=\"channel-topics\"\n name=\"topics\"\n :selectedOptions=${(x) => x.selectedRouteIds}\n :options=${(x) => x.topicOptions}\n @selectionChange=${(x, c) => x.onSelectedTopicsChange(c.event)}\n search=\"true\"\n all=\"false\"\n ></rapid-multiselect>\n `,\n )}\n </div>\n\n <div class=\"control\">\n <label>Parameter(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.userParameters,\n html`\n <parameter-builder\n :parameter=${(x) => x}\n @edit=${(x, c) => c.parent.editParameter(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteParameter(eventDetail(c))}\n ></parameter-builder>\n `,\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button @click=${(x) => x.newParameter()}>+ Parameter</rapid-button>\n </div>\n </div>\n </div>\n\n ${alertSoundAttachmentTemplate}\n\n <div class=\"control\">\n <label>Condition(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.conditions,\n html<ConditionNode, TemplateDialog>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <template-condition-group\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.userParameters}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></template-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <template-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.userParameters}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></template-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>\n + Group\n </rapid-button>\n </div>\n </div>\n <rapid-text-area\n class=\"expression-preview\"\n readonly\n :value=${(x) => x.rawExpressionPreview}\n >\n Compiled expression\n </rapid-text-area>\n </div>\n </div>\n\n <div slot=\"bottom\" class=\"dialog-bottom\">\n <rapid-button\n appearance=\"primary\"\n @click=${(x) => x.submit()}\n ?disabled=${(x) => x.validateRequiredFields || x.missingTopic}\n >\n Submit\n </rapid-button>\n </div>\n </rapid-modal>\n`"
8902
9106
  }
8903
9107
  ],
8904
9108
  "exports": [
8905
9109
  {
8906
9110
  "kind": "js",
8907
- "name": "EmailDistributionRouteManagement",
8908
- "declaration": {
8909
- "name": "EmailDistributionRouteManagement",
8910
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts"
8911
- }
8912
- },
8913
- {
8914
- "kind": "custom-element-definition",
8915
- "name": "email-distribution-route-management",
9111
+ "name": "TemplateDialogTemplate",
8916
9112
  "declaration": {
8917
- "name": "EmailDistributionRouteManagement",
8918
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts"
9113
+ "name": "TemplateDialogTemplate",
9114
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.ts"
8919
9115
  }
8920
9116
  }
8921
9117
  ]
8922
9118
  },
8923
9119
  {
8924
9120
  "kind": "javascript-module",
8925
- "path": "src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts",
8926
- "declarations": [
8927
- {
8928
- "kind": "class",
8929
- "description": "",
8930
- "name": "EmailUserRouteManagement",
8931
- "superclass": {
8932
- "name": "GenesisElement",
8933
- "package": "@genesislcap/web-core"
8934
- },
8935
- "tagName": "email-user-route-management",
8936
- "customElement": true
8937
- }
8938
- ],
8939
- "exports": [
8940
- {
8941
- "kind": "js",
8942
- "name": "EmailUserRouteManagement",
8943
- "declaration": {
8944
- "name": "EmailUserRouteManagement",
8945
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts"
8946
- }
8947
- },
8948
- {
8949
- "kind": "custom-element-definition",
8950
- "name": "email-user-route-management",
8951
- "declaration": {
8952
- "name": "EmailUserRouteManagement",
8953
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts"
8954
- }
8955
- }
8956
- ]
8957
- },
8958
- {
8959
- "kind": "javascript-module",
8960
- "path": "src/components/foundation-notification-dashboard/components/routes/tabs/log-route-management.ts",
8961
- "declarations": [
8962
- {
8963
- "kind": "class",
8964
- "description": "",
8965
- "name": "LogRouteManagement",
8966
- "superclass": {
8967
- "name": "GenesisElement",
8968
- "package": "@genesislcap/web-core"
8969
- },
8970
- "tagName": "log-route-management",
8971
- "customElement": true
8972
- }
8973
- ],
8974
- "exports": [
8975
- {
8976
- "kind": "js",
8977
- "name": "LogRouteManagement",
8978
- "declaration": {
8979
- "name": "LogRouteManagement",
8980
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/log-route-management.ts"
8981
- }
8982
- },
8983
- {
8984
- "kind": "custom-element-definition",
8985
- "name": "log-route-management",
8986
- "declaration": {
8987
- "name": "LogRouteManagement",
8988
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/log-route-management.ts"
8989
- }
8990
- }
8991
- ]
8992
- },
8993
- {
8994
- "kind": "javascript-module",
8995
- "path": "src/components/foundation-notification-dashboard/components/routes/tabs/ms-teams-route-management.ts",
8996
- "declarations": [
8997
- {
8998
- "kind": "class",
8999
- "description": "",
9000
- "name": "MSTeamsRouteManagement",
9001
- "superclass": {
9002
- "name": "GenesisElement",
9003
- "package": "@genesislcap/web-core"
9004
- },
9005
- "tagName": "ms-teams-route-management",
9006
- "customElement": true
9007
- }
9008
- ],
9009
- "exports": [
9010
- {
9011
- "kind": "js",
9012
- "name": "MSTeamsRouteManagement",
9013
- "declaration": {
9014
- "name": "MSTeamsRouteManagement",
9015
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/ms-teams-route-management.ts"
9016
- }
9017
- },
9018
- {
9019
- "kind": "custom-element-definition",
9020
- "name": "ms-teams-route-management",
9021
- "declaration": {
9022
- "name": "MSTeamsRouteManagement",
9023
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/ms-teams-route-management.ts"
9024
- }
9025
- }
9026
- ]
9027
- },
9028
- {
9029
- "kind": "javascript-module",
9030
- "path": "src/components/foundation-notification-dashboard/components/routes/tabs/screen-route-management.ts",
9031
- "declarations": [
9032
- {
9033
- "kind": "class",
9034
- "description": "",
9035
- "name": "ScreenRouteManagement",
9036
- "superclass": {
9037
- "name": "GenesisElement",
9038
- "package": "@genesislcap/web-core"
9039
- },
9040
- "tagName": "screen-route-management",
9041
- "customElement": true
9042
- }
9043
- ],
9044
- "exports": [
9045
- {
9046
- "kind": "js",
9047
- "name": "ScreenRouteManagement",
9048
- "declaration": {
9049
- "name": "ScreenRouteManagement",
9050
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/screen-route-management.ts"
9051
- }
9052
- },
9053
- {
9054
- "kind": "custom-element-definition",
9055
- "name": "screen-route-management",
9056
- "declaration": {
9057
- "name": "ScreenRouteManagement",
9058
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/screen-route-management.ts"
9059
- }
9060
- }
9061
- ]
9062
- },
9063
- {
9064
- "kind": "javascript-module",
9065
- "path": "src/components/foundation-notification-dashboard/components/routes/tabs/slack-route-management.ts",
9066
- "declarations": [
9067
- {
9068
- "kind": "class",
9069
- "description": "",
9070
- "name": "SlackRouteManagement",
9071
- "superclass": {
9072
- "name": "GenesisElement",
9073
- "package": "@genesislcap/web-core"
9074
- },
9075
- "tagName": "slack-route-management",
9076
- "customElement": true
9077
- }
9078
- ],
9079
- "exports": [
9080
- {
9081
- "kind": "js",
9082
- "name": "SlackRouteManagement",
9083
- "declaration": {
9084
- "name": "SlackRouteManagement",
9085
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/slack-route-management.ts"
9086
- }
9087
- },
9088
- {
9089
- "kind": "custom-element-definition",
9090
- "name": "slack-route-management",
9091
- "declaration": {
9092
- "name": "SlackRouteManagement",
9093
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/slack-route-management.ts"
9094
- }
9095
- }
9096
- ]
9097
- },
9098
- {
9099
- "kind": "javascript-module",
9100
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.ts",
9101
- "declarations": [
9102
- {
9103
- "kind": "variable",
9104
- "name": "TemplateDialogTemplate",
9105
- "default": "html<TemplateDialog>`\n <rapid-modal ${ref('dialog')} class=\"dialog\" :onCloseCallback=${(x) => () => x.close()}>\n <div slot=\"top\" class=\"dialog-top\">${(x) => x.templateDialogTitle}</div>\n\n <div class=\"dialog-content\">\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.name)} autofocus>Name</rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.description)}>Description</rapid-text-field>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <label>Resource</label>\n <rapid-select :value=${sync((x) => x.resource)} position=\"below\">\n ${repeat(\n (x) => x.resources,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Severity</label>\n <rapid-select :value=${sync((x) => x.severity)}>\n <options-datasource\n value-field=\"value\"\n label-field=\"value\"\n option-element=\"rapid-option\"\n :data=${(_) => Object.values(Severity).map((value) => ({ value }))}\n ></options-datasource>\n </rapid-select>\n </div>\n\n <div class=\"control\">\n <label>Update Type</label>\n <rapid-multiselect\n :selectedOptions=${(x) => x.updateType}\n @selectionChange=${(x, c) => {\n x.updateType = (c.event as CustomEvent).detail;\n }}\n search=\"false\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${() => Object.values(UpdateType).map((value) => ({ value, label: value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n </div>\n </div>\n\n <div class=\"content-row\">\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.header)}>Header</rapid-text-field>\n </div>\n\n <div class=\"control\">\n <rapid-text-field :value=${sync((x) => x.message)}>Message</rapid-text-field>\n </div>\n </div>\n\n <div class=\"control\">\n <label>Topic(s)</label>\n ${when(\n (x) => x.lockBroadcastTopics,\n html`\n <span class=\"topic-lock-hint\">\n Broadcast topics cannot be used after this template was saved with multiple subscriber\n routes. Delete it and create a new template instead.\n </span>\n `,\n )}\n ${when(\n (x) => x.topicOptions.length > 0,\n html<TemplateDialog>`\n <rapid-multiselect\n ${ref('topicsSelect')}\n class=\"channel-topics\"\n name=\"topics\"\n :selectedOptions=${(x) => x.selectedRouteIds}\n :options=${(x) => x.topicOptions}\n @selectionChange=${(x, c) => x.onSelectedTopicsChange(c.event)}\n search=\"true\"\n all=\"false\"\n ></rapid-multiselect>\n `,\n )}\n </div>\n\n <div class=\"control\">\n <label>Parameter(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.userParameters,\n html`\n <parameter-builder\n :parameter=${(x) => x}\n @edit=${(x, c) => c.parent.editParameter(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteParameter(eventDetail(c))}\n ></parameter-builder>\n `,\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button @click=${(x) => x.newParameter()}>+ Parameter</rapid-button>\n </div>\n </div>\n </div>\n\n ${alertSoundAttachmentTemplate}\n\n <div class=\"control\">\n <label>Condition(s)</label>\n <div class=\"items\">\n <div class=\"content-row item\">\n ${repeat(\n (x) => x.conditions,\n html<ConditionNode, TemplateDialog>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <template-condition-group\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.userParameters}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></template-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <template-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.userParameters}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editCondition(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteCondition(eventDetail(c))}\n ></template-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n </div>\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>\n + Group\n </rapid-button>\n </div>\n </div>\n <rapid-text-area\n class=\"expression-preview\"\n readonly\n :value=${(x) => x.rawExpressionPreview}\n >\n Compiled expression\n </rapid-text-area>\n </div>\n </div>\n\n <div slot=\"bottom\" class=\"dialog-bottom\">\n <rapid-button\n appearance=\"primary\"\n @click=${(x) => x.submit()}\n ?disabled=${(x) => x.validateRequiredFields || x.missingTopic}\n >\n Submit\n </rapid-button>\n </div>\n </rapid-modal>\n`"
9106
- }
9107
- ],
9108
- "exports": [
9109
- {
9110
- "kind": "js",
9111
- "name": "TemplateDialogTemplate",
9112
- "declaration": {
9113
- "name": "TemplateDialogTemplate",
9114
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.ts"
9115
- }
9116
- }
9117
- ]
9118
- },
9119
- {
9120
- "kind": "javascript-module",
9121
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts",
9121
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts",
9122
9122
  "declarations": [
9123
9123
  {
9124
9124
  "kind": "class",
@@ -10421,158 +10421,214 @@
10421
10421
  },
10422
10422
  {
10423
10423
  "kind": "javascript-module",
10424
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts",
10424
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
10425
10425
  "declarations": [
10426
10426
  {
10427
10427
  "kind": "variable",
10428
- "name": "TemplateConditionGroupTemplate",
10429
- "default": "html<TemplateConditionGroup>`\n ${when(\n (x) => !x.isFirst,\n html`\n <div class=\"join-toggle-row\">\n <div class=\"join-toggle\">\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'AND'])}\"\n @click=${(x) => (x.joinOperator = 'AND')}\n >\n AND\n </span>\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'OR'])}\"\n @click=${(x) => (x.joinOperator = 'OR')}\n >\n OR\n </span>\n </div>\n </div>\n `,\n )}\n <div class=\"condition-group-row\">\n <div class=\"condition-group-box\">\n ${repeat(\n (x) => x.groupChildren,\n html<ConditionNode, TemplateConditionGroup>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <template-condition-group\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></template-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <template-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></template-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>+ Group</rapid-button>\n <rapid-button appearance=\"icon\" class=\"delete-group\" @click=${(x) => x.deleteSelf()}>\n <rapid-icon variant=\"regular\" name=\"trash-alt\" size=\"lg\" part=\"icon\"></rapid-icon>\n </rapid-button>\n </div>\n </div>\n </div>\n`"
10428
+ "name": "ParameterBuilderStyles",
10429
+ "default": "css`\n .parameter-builder {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n rapid-button {\n margin: 0;\n }\n\n .delete {\n margin: 0;\n display: flex;\n justify-content: center;\n height: calc(var(--design-unit) * 9px);\n }\n\n .delete:hover {\n background-color: color-mix(in srgb, var(--neutral-foreground-rest), transparent 89%);\n }\n\n rapid-text-field {\n width: 100%;\n margin-bottom: 0;\n }\n\n rapid-text-field::part(root) {\n height: calc(var(--design-unit) * 9px);\n }\n\n rapid-select {\n min-width: auto;\n }\n\n rapid-select.param-type::part(control) {\n width: 115px;\n }\n\n rapid-select.param-source-type::part(control) {\n width: 160px;\n }\n\n rapid-select.param-source::part(control) {\n width: ${PARAM_SOURCE_WIDTH}px;\n }\n\n rapid-text-field.param-source::part(root) {\n width: calc(${PARAM_SOURCE_WIDTH}px + 2px);\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n`"
10430
10430
  }
10431
10431
  ],
10432
10432
  "exports": [
10433
10433
  {
10434
10434
  "kind": "js",
10435
- "name": "TemplateConditionGroupTemplate",
10435
+ "name": "ParameterBuilderStyles",
10436
10436
  "declaration": {
10437
- "name": "TemplateConditionGroupTemplate",
10438
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts"
10437
+ "name": "ParameterBuilderStyles",
10438
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts"
10439
10439
  }
10440
10440
  }
10441
10441
  ]
10442
10442
  },
10443
10443
  {
10444
10444
  "kind": "javascript-module",
10445
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts",
10445
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts",
10446
+ "declarations": [
10447
+ {
10448
+ "kind": "variable",
10449
+ "name": "ParameterBuilderTemplate",
10450
+ "default": "html<ParameterBuilder>`\n <div class=\"parameter-builder\">\n <rapid-text-field\n id=\"param-name\"\n placeholder=\"Name\"\n :value=${sync((x) => x.name)}\n ></rapid-text-field>\n\n <rapid-text-field\n id=\"param-label\"\n placeholder=\"Label\"\n :value=${sync((x) => x.label)}\n ></rapid-text-field>\n\n <rapid-select\n id=\"param-source-type\"\n :value=${sync((x) => x.sourceType)}\n class=\"param-source-type\"\n >\n ${repeat(\n (x) => ALL_PARAM_SOURCE_TYPES,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_USER_TEXT,\n html<ParameterBuilder>`\n <rapid-text-field class=\"param-source\" disabled></rapid-text-field>\n `,\n )}\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_REQ_REP,\n html<ParameterBuilder>`\n <rapid-select\n ${ref('sourceSelect')}\n id=\"param-source\"\n :value=${sync((x) => x.sourceSelected)}\n class=\"param-source\"\n ?disabled=${(x) => x.sourceType !== PARAM_SOURCE_TYPE_REQ_REP}\n >\n ${repeat(\n (x) => x.reqRepItems,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n `,\n )}\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_DEFINED_GROUP,\n html<ParameterBuilder>`\n <rapid-text-field\n ${ref('sourceTextField')}\n class=\"param-source\"\n placeholder=\"item1,item2,item3\"\n :value=${sync((x) => x.sourceTyped)}\n ></rapid-text-field>\n `,\n )}\n\n <rapid-select id=\"param-type\" :value=${sync((x) => x.type)} class=\"param-type\">\n ${repeat(\n (x) => ALL_PARAM_TYPES,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n <rapid-button appearance=\"icon\" class=\"delete\" @click=${(x) => x.deleteParameter()}>\n <rapid-icon\n style=\"opacity: 0.5\"\n variant=\"regular\"\n name=\"trash-alt\"\n size=\"lg\"\n part=\"icon\"\n ></rapid-icon>\n </rapid-button>\n </div>\n`"
10451
+ }
10452
+ ],
10453
+ "exports": [
10454
+ {
10455
+ "kind": "js",
10456
+ "name": "ParameterBuilderTemplate",
10457
+ "declaration": {
10458
+ "name": "ParameterBuilderTemplate",
10459
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts"
10460
+ }
10461
+ }
10462
+ ]
10463
+ },
10464
+ {
10465
+ "kind": "javascript-module",
10466
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts",
10446
10467
  "declarations": [
10447
10468
  {
10448
10469
  "kind": "class",
10449
- "description": "Parenthesized group of conditions/nested groups for notification template\ncriteria - see rule-condition-group for the rationale. Also forwards\n:parameters down to nested template-condition-builder rows so parameter\nbinding (USER_ENTRY) keeps working inside a group.",
10450
- "name": "TemplateConditionGroup",
10470
+ "description": "Parameter builder for notification templates.",
10471
+ "name": "ParameterBuilder",
10451
10472
  "members": [
10452
10473
  {
10453
10474
  "kind": "field",
10454
- "name": "node",
10475
+ "name": "parameter",
10455
10476
  "type": {
10456
- "text": "ConditionGroupEntity"
10477
+ "text": "ParameterBuilderEntity"
10457
10478
  }
10458
10479
  },
10459
10480
  {
10460
10481
  "kind": "field",
10461
- "name": "fields",
10482
+ "name": "name",
10462
10483
  "type": {
10463
- "text": "Field[]"
10464
- },
10465
- "default": "[]"
10484
+ "text": "string"
10485
+ }
10466
10486
  },
10467
10487
  {
10468
10488
  "kind": "field",
10469
- "name": "parameters",
10489
+ "name": "label",
10470
10490
  "type": {
10471
- "text": "Array<ParameterBuilderEntity>"
10472
- },
10473
- "default": "[]"
10491
+ "text": "string"
10492
+ }
10474
10493
  },
10475
10494
  {
10476
10495
  "kind": "field",
10477
- "name": "isFirst",
10496
+ "name": "type",
10478
10497
  "type": {
10479
- "text": "boolean"
10480
- },
10481
- "default": "false"
10498
+ "text": "string"
10499
+ }
10482
10500
  },
10483
10501
  {
10484
10502
  "kind": "field",
10485
- "name": "joinOperator",
10503
+ "name": "sourceType",
10486
10504
  "type": {
10487
10505
  "text": "string"
10488
10506
  }
10489
10507
  },
10490
10508
  {
10491
10509
  "kind": "field",
10492
- "name": "groupChildren",
10510
+ "name": "sourceSelected",
10493
10511
  "type": {
10494
- "text": "ConditionNode[]"
10495
- },
10496
- "default": "[]"
10497
- },
10498
- {
10499
- "kind": "method",
10500
- "name": "nodeChanged"
10512
+ "text": "string"
10513
+ }
10501
10514
  },
10502
10515
  {
10503
- "kind": "method",
10504
- "name": "joinOperatorChanged"
10516
+ "kind": "field",
10517
+ "name": "sourceTyped",
10518
+ "type": {
10519
+ "text": "string"
10520
+ }
10521
+ },
10522
+ {
10523
+ "kind": "field",
10524
+ "name": "sourceTextField",
10525
+ "type": {
10526
+ "text": "TextField"
10527
+ }
10528
+ },
10529
+ {
10530
+ "kind": "field",
10531
+ "name": "sourceSelect",
10532
+ "type": {
10533
+ "text": "Select"
10534
+ }
10535
+ },
10536
+ {
10537
+ "kind": "field",
10538
+ "name": "reqRepItems",
10539
+ "type": {
10540
+ "text": "array"
10541
+ },
10542
+ "default": "['REQUEST_1', 'REQUEST_2', 'REQUEST_3']"
10505
10543
  },
10506
10544
  {
10507
10545
  "kind": "method",
10508
- "name": "newCondition"
10546
+ "name": "deleteParameter"
10509
10547
  },
10510
10548
  {
10511
10549
  "kind": "method",
10512
- "name": "newGroup"
10550
+ "name": "parameterChanged"
10513
10551
  },
10514
10552
  {
10515
10553
  "kind": "method",
10516
- "name": "editChild",
10517
- "parameters": [
10518
- {
10519
- "name": "_editedChild",
10520
- "type": {
10521
- "text": "ConditionNode"
10522
- }
10523
- }
10524
- ]
10554
+ "name": "nameChanged"
10525
10555
  },
10526
10556
  {
10527
10557
  "kind": "method",
10528
- "name": "deleteChild",
10558
+ "name": "labelChanged"
10559
+ },
10560
+ {
10561
+ "kind": "method",
10562
+ "name": "typeChanged"
10563
+ },
10564
+ {
10565
+ "kind": "method",
10566
+ "name": "sourceTypeChanged"
10567
+ },
10568
+ {
10569
+ "kind": "method",
10570
+ "name": "sourceSelectedChanged"
10571
+ },
10572
+ {
10573
+ "kind": "method",
10574
+ "name": "sourceTypedChanged"
10575
+ },
10576
+ {
10577
+ "kind": "method",
10578
+ "name": "genericChanged",
10579
+ "privacy": "private",
10529
10580
  "parameters": [
10530
10581
  {
10531
- "name": "deletedChild",
10532
- "type": {
10533
- "text": "ConditionNode"
10534
- }
10582
+ "name": "parameterAttribute"
10583
+ },
10584
+ {
10585
+ "name": "value"
10535
10586
  }
10536
10587
  ]
10537
- },
10538
- {
10539
- "kind": "method",
10540
- "name": "deleteSelf"
10541
10588
  }
10542
10589
  ],
10543
10590
  "events": [
10544
10591
  {
10545
- "description": "Fired when this whole group should be removed",
10592
+ "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
10546
10593
  "name": "delete"
10547
10594
  },
10548
10595
  {
10549
- "description": "Fired when anything inside this group changes",
10596
+ "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
10550
10597
  "name": "edit"
10551
10598
  }
10552
10599
  ],
10600
+ "attributes": [
10601
+ {
10602
+ "name": "parameter",
10603
+ "type": {
10604
+ "text": "ParameterBuilderEntity"
10605
+ },
10606
+ "fieldName": "parameter"
10607
+ }
10608
+ ],
10553
10609
  "superclass": {
10554
10610
  "name": "GenesisElement",
10555
10611
  "package": "@genesislcap/web-core"
10556
10612
  },
10557
- "tagName": "template-condition-group",
10613
+ "tagName": "parameter-builder",
10558
10614
  "customElement": true
10559
10615
  }
10560
10616
  ],
10561
10617
  "exports": [
10562
10618
  {
10563
10619
  "kind": "js",
10564
- "name": "TemplateConditionGroup",
10620
+ "name": "ParameterBuilder",
10565
10621
  "declaration": {
10566
- "name": "TemplateConditionGroup",
10567
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
10622
+ "name": "ParameterBuilder",
10623
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10568
10624
  }
10569
10625
  },
10570
10626
  {
10571
10627
  "kind": "custom-element-definition",
10572
- "name": "template-condition-group",
10628
+ "name": "parameter-builder",
10573
10629
  "declaration": {
10574
- "name": "TemplateConditionGroup",
10575
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
10630
+ "name": "ParameterBuilder",
10631
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10576
10632
  }
10577
10633
  }
10578
10634
  ]
@@ -10863,214 +10919,158 @@
10863
10919
  },
10864
10920
  {
10865
10921
  "kind": "javascript-module",
10866
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
10867
- "declarations": [
10868
- {
10869
- "kind": "variable",
10870
- "name": "ParameterBuilderStyles",
10871
- "default": "css`\n .parameter-builder {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n rapid-button {\n margin: 0;\n }\n\n .delete {\n margin: 0;\n display: flex;\n justify-content: center;\n height: calc(var(--design-unit) * 9px);\n }\n\n .delete:hover {\n background-color: color-mix(in srgb, var(--neutral-foreground-rest), transparent 89%);\n }\n\n rapid-text-field {\n width: 100%;\n margin-bottom: 0;\n }\n\n rapid-text-field::part(root) {\n height: calc(var(--design-unit) * 9px);\n }\n\n rapid-select {\n min-width: auto;\n }\n\n rapid-select.param-type::part(control) {\n width: 115px;\n }\n\n rapid-select.param-source-type::part(control) {\n width: 160px;\n }\n\n rapid-select.param-source::part(control) {\n width: ${PARAM_SOURCE_WIDTH}px;\n }\n\n rapid-text-field.param-source::part(root) {\n width: calc(${PARAM_SOURCE_WIDTH}px + 2px);\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n`"
10872
- }
10873
- ],
10874
- "exports": [
10875
- {
10876
- "kind": "js",
10877
- "name": "ParameterBuilderStyles",
10878
- "declaration": {
10879
- "name": "ParameterBuilderStyles",
10880
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts"
10881
- }
10882
- }
10883
- ]
10884
- },
10885
- {
10886
- "kind": "javascript-module",
10887
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts",
10922
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts",
10888
10923
  "declarations": [
10889
10924
  {
10890
10925
  "kind": "variable",
10891
- "name": "ParameterBuilderTemplate",
10892
- "default": "html<ParameterBuilder>`\n <div class=\"parameter-builder\">\n <rapid-text-field\n id=\"param-name\"\n placeholder=\"Name\"\n :value=${sync((x) => x.name)}\n ></rapid-text-field>\n\n <rapid-text-field\n id=\"param-label\"\n placeholder=\"Label\"\n :value=${sync((x) => x.label)}\n ></rapid-text-field>\n\n <rapid-select\n id=\"param-source-type\"\n :value=${sync((x) => x.sourceType)}\n class=\"param-source-type\"\n >\n ${repeat(\n (x) => ALL_PARAM_SOURCE_TYPES,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_USER_TEXT,\n html<ParameterBuilder>`\n <rapid-text-field class=\"param-source\" disabled></rapid-text-field>\n `,\n )}\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_REQ_REP,\n html<ParameterBuilder>`\n <rapid-select\n ${ref('sourceSelect')}\n id=\"param-source\"\n :value=${sync((x) => x.sourceSelected)}\n class=\"param-source\"\n ?disabled=${(x) => x.sourceType !== PARAM_SOURCE_TYPE_REQ_REP}\n >\n ${repeat(\n (x) => x.reqRepItems,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n `,\n )}\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_DEFINED_GROUP,\n html<ParameterBuilder>`\n <rapid-text-field\n ${ref('sourceTextField')}\n class=\"param-source\"\n placeholder=\"item1,item2,item3\"\n :value=${sync((x) => x.sourceTyped)}\n ></rapid-text-field>\n `,\n )}\n\n <rapid-select id=\"param-type\" :value=${sync((x) => x.type)} class=\"param-type\">\n ${repeat(\n (x) => ALL_PARAM_TYPES,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n <rapid-button appearance=\"icon\" class=\"delete\" @click=${(x) => x.deleteParameter()}>\n <rapid-icon\n style=\"opacity: 0.5\"\n variant=\"regular\"\n name=\"trash-alt\"\n size=\"lg\"\n part=\"icon\"\n ></rapid-icon>\n </rapid-button>\n </div>\n`"
10926
+ "name": "TemplateConditionGroupTemplate",
10927
+ "default": "html<TemplateConditionGroup>`\n ${when(\n (x) => !x.isFirst,\n html`\n <div class=\"join-toggle-row\">\n <div class=\"join-toggle\">\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'AND'])}\"\n @click=${(x) => (x.joinOperator = 'AND')}\n >\n AND\n </span>\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'OR'])}\"\n @click=${(x) => (x.joinOperator = 'OR')}\n >\n OR\n </span>\n </div>\n </div>\n `,\n )}\n <div class=\"condition-group-row\">\n <div class=\"condition-group-box\">\n ${repeat(\n (x) => x.groupChildren,\n html<ConditionNode, TemplateConditionGroup>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <template-condition-group\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></template-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <template-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></template-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>+ Group</rapid-button>\n <rapid-button appearance=\"icon\" class=\"delete-group\" @click=${(x) => x.deleteSelf()}>\n <rapid-icon variant=\"regular\" name=\"trash-alt\" size=\"lg\" part=\"icon\"></rapid-icon>\n </rapid-button>\n </div>\n </div>\n </div>\n`"
10893
10928
  }
10894
10929
  ],
10895
10930
  "exports": [
10896
10931
  {
10897
10932
  "kind": "js",
10898
- "name": "ParameterBuilderTemplate",
10933
+ "name": "TemplateConditionGroupTemplate",
10899
10934
  "declaration": {
10900
- "name": "ParameterBuilderTemplate",
10901
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts"
10935
+ "name": "TemplateConditionGroupTemplate",
10936
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts"
10902
10937
  }
10903
10938
  }
10904
10939
  ]
10905
10940
  },
10906
10941
  {
10907
10942
  "kind": "javascript-module",
10908
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts",
10943
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts",
10909
10944
  "declarations": [
10910
10945
  {
10911
10946
  "kind": "class",
10912
- "description": "Parameter builder for notification templates.",
10913
- "name": "ParameterBuilder",
10947
+ "description": "Parenthesized group of conditions/nested groups for notification template\ncriteria - see rule-condition-group for the rationale. Also forwards\n:parameters down to nested template-condition-builder rows so parameter\nbinding (USER_ENTRY) keeps working inside a group.",
10948
+ "name": "TemplateConditionGroup",
10914
10949
  "members": [
10915
10950
  {
10916
10951
  "kind": "field",
10917
- "name": "parameter",
10918
- "type": {
10919
- "text": "ParameterBuilderEntity"
10920
- }
10921
- },
10922
- {
10923
- "kind": "field",
10924
- "name": "name",
10925
- "type": {
10926
- "text": "string"
10927
- }
10928
- },
10929
- {
10930
- "kind": "field",
10931
- "name": "label",
10952
+ "name": "node",
10932
10953
  "type": {
10933
- "text": "string"
10954
+ "text": "ConditionGroupEntity"
10934
10955
  }
10935
10956
  },
10936
10957
  {
10937
10958
  "kind": "field",
10938
- "name": "type",
10959
+ "name": "fields",
10939
10960
  "type": {
10940
- "text": "string"
10941
- }
10961
+ "text": "Field[]"
10962
+ },
10963
+ "default": "[]"
10942
10964
  },
10943
10965
  {
10944
10966
  "kind": "field",
10945
- "name": "sourceType",
10967
+ "name": "parameters",
10946
10968
  "type": {
10947
- "text": "string"
10948
- }
10969
+ "text": "Array<ParameterBuilderEntity>"
10970
+ },
10971
+ "default": "[]"
10949
10972
  },
10950
10973
  {
10951
10974
  "kind": "field",
10952
- "name": "sourceSelected",
10975
+ "name": "isFirst",
10953
10976
  "type": {
10954
- "text": "string"
10955
- }
10977
+ "text": "boolean"
10978
+ },
10979
+ "default": "false"
10956
10980
  },
10957
10981
  {
10958
10982
  "kind": "field",
10959
- "name": "sourceTyped",
10983
+ "name": "joinOperator",
10960
10984
  "type": {
10961
10985
  "text": "string"
10962
10986
  }
10963
10987
  },
10964
10988
  {
10965
10989
  "kind": "field",
10966
- "name": "sourceTextField",
10967
- "type": {
10968
- "text": "TextField"
10969
- }
10970
- },
10971
- {
10972
- "kind": "field",
10973
- "name": "sourceSelect",
10974
- "type": {
10975
- "text": "Select"
10976
- }
10977
- },
10978
- {
10979
- "kind": "field",
10980
- "name": "reqRepItems",
10990
+ "name": "groupChildren",
10981
10991
  "type": {
10982
- "text": "array"
10992
+ "text": "ConditionNode[]"
10983
10993
  },
10984
- "default": "['REQUEST_1', 'REQUEST_2', 'REQUEST_3']"
10985
- },
10986
- {
10987
- "kind": "method",
10988
- "name": "deleteParameter"
10989
- },
10990
- {
10991
- "kind": "method",
10992
- "name": "parameterChanged"
10993
- },
10994
- {
10995
- "kind": "method",
10996
- "name": "nameChanged"
10994
+ "default": "[]"
10997
10995
  },
10998
10996
  {
10999
10997
  "kind": "method",
11000
- "name": "labelChanged"
10998
+ "name": "nodeChanged"
11001
10999
  },
11002
11000
  {
11003
11001
  "kind": "method",
11004
- "name": "typeChanged"
11002
+ "name": "joinOperatorChanged"
11005
11003
  },
11006
11004
  {
11007
11005
  "kind": "method",
11008
- "name": "sourceTypeChanged"
11006
+ "name": "newCondition"
11009
11007
  },
11010
11008
  {
11011
11009
  "kind": "method",
11012
- "name": "sourceSelectedChanged"
11010
+ "name": "newGroup"
11013
11011
  },
11014
11012
  {
11015
11013
  "kind": "method",
11016
- "name": "sourceTypedChanged"
11014
+ "name": "editChild",
11015
+ "parameters": [
11016
+ {
11017
+ "name": "_editedChild",
11018
+ "type": {
11019
+ "text": "ConditionNode"
11020
+ }
11021
+ }
11022
+ ]
11017
11023
  },
11018
11024
  {
11019
11025
  "kind": "method",
11020
- "name": "genericChanged",
11021
- "privacy": "private",
11026
+ "name": "deleteChild",
11022
11027
  "parameters": [
11023
11028
  {
11024
- "name": "parameterAttribute"
11025
- },
11026
- {
11027
- "name": "value"
11029
+ "name": "deletedChild",
11030
+ "type": {
11031
+ "text": "ConditionNode"
11032
+ }
11028
11033
  }
11029
11034
  ]
11035
+ },
11036
+ {
11037
+ "kind": "method",
11038
+ "name": "deleteSelf"
11030
11039
  }
11031
11040
  ],
11032
11041
  "events": [
11033
11042
  {
11034
- "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
11043
+ "description": "Fired when this whole group should be removed",
11035
11044
  "name": "delete"
11036
11045
  },
11037
11046
  {
11038
- "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
11047
+ "description": "Fired when anything inside this group changes",
11039
11048
  "name": "edit"
11040
11049
  }
11041
11050
  ],
11042
- "attributes": [
11043
- {
11044
- "name": "parameter",
11045
- "type": {
11046
- "text": "ParameterBuilderEntity"
11047
- },
11048
- "fieldName": "parameter"
11049
- }
11050
- ],
11051
11051
  "superclass": {
11052
11052
  "name": "GenesisElement",
11053
11053
  "package": "@genesislcap/web-core"
11054
11054
  },
11055
- "tagName": "parameter-builder",
11055
+ "tagName": "template-condition-group",
11056
11056
  "customElement": true
11057
11057
  }
11058
11058
  ],
11059
11059
  "exports": [
11060
11060
  {
11061
11061
  "kind": "js",
11062
- "name": "ParameterBuilder",
11062
+ "name": "TemplateConditionGroup",
11063
11063
  "declaration": {
11064
- "name": "ParameterBuilder",
11065
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
11064
+ "name": "TemplateConditionGroup",
11065
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
11066
11066
  }
11067
11067
  },
11068
11068
  {
11069
11069
  "kind": "custom-element-definition",
11070
- "name": "parameter-builder",
11070
+ "name": "template-condition-group",
11071
11071
  "declaration": {
11072
- "name": "ParameterBuilder",
11073
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
11072
+ "name": "TemplateConditionGroup",
11073
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
11074
11074
  }
11075
11075
  }
11076
11076
  ]