@genesislcap/pbc-notify-ui 15.71.0 → 15.72.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.
@@ -505,6 +505,27 @@
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
+ },
508
529
  {
509
530
  "kind": "javascript-module",
510
531
  "path": "src/utils/eventDetail.ts",
@@ -826,27 +847,6 @@
826
847
  }
827
848
  ]
828
849
  },
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,95 +5295,6 @@
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
- },
5387
5298
  {
5388
5299
  "kind": "javascript-module",
5389
5300
  "path": "src/components/foundation-notification-dashboard/types/expression-type.ts",
@@ -5984,6 +5895,95 @@
5984
5895
  }
5985
5896
  ]
5986
5897
  },
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,238 +8225,28 @@
8225
8225
  },
8226
8226
  {
8227
8227
  "kind": "javascript-module",
8228
- "path": "src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts",
8228
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.ts",
8229
8229
  "declarations": [
8230
8230
  {
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
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`"
8240
8234
  }
8241
8235
  ],
8242
8236
  "exports": [
8243
8237
  {
8244
8238
  "kind": "js",
8245
- "name": "EmailDistributionRouteManagement",
8246
- "declaration": {
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",
8239
+ "name": "RuleDialogTemplate",
8254
8240
  "declaration": {
8255
- "name": "EmailDistributionRouteManagement",
8256
- "module": "src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts"
8241
+ "name": "RuleDialogTemplate",
8242
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.ts"
8257
8243
  }
8258
8244
  }
8259
8245
  ]
8260
8246
  },
8261
8247
  {
8262
8248
  "kind": "javascript-module",
8263
- "path": "src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts",
8264
- "declarations": [
8265
- {
8266
- "kind": "class",
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",
8249
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.ts",
8460
8250
  "declarations": [
8461
8251
  {
8462
8252
  "kind": "class",
@@ -9097,67 +8887,277 @@
9097
8887
  },
9098
8888
  {
9099
8889
  "kind": "javascript-module",
9100
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.ts",
8890
+ "path": "src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts",
9101
8891
  "declarations": [
9102
8892
  {
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`"
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
9106
8902
  }
9107
8903
  ],
9108
8904
  "exports": [
9109
8905
  {
9110
8906
  "kind": "js",
9111
- "name": "TemplateDialogTemplate",
8907
+ "name": "EmailDistributionRouteManagement",
9112
8908
  "declaration": {
9113
- "name": "TemplateDialogTemplate",
9114
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.ts"
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",
8916
+ "declaration": {
8917
+ "name": "EmailDistributionRouteManagement",
8918
+ "module": "src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts"
9115
8919
  }
9116
8920
  }
9117
8921
  ]
9118
8922
  },
9119
8923
  {
9120
8924
  "kind": "javascript-module",
9121
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts",
8925
+ "path": "src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts",
9122
8926
  "declarations": [
9123
8927
  {
9124
8928
  "kind": "class",
9125
- "description": "Dialog for creating or editing notification templates.",
9126
- "name": "TemplateDialog",
9127
- "members": [
9128
- {
9129
- "kind": "field",
9130
- "name": "templateService",
9131
- "type": {
9132
- "text": "TemplateService"
9133
- }
9134
- },
9135
- {
9136
- "kind": "field",
9137
- "name": "systemService",
9138
- "type": {
9139
- "text": "SystemService"
9140
- }
9141
- },
9142
- {
9143
- "kind": "field",
9144
- "name": "notifyService",
9145
- "type": {
9146
- "text": "NotifyService"
9147
- }
9148
- },
9149
- {
9150
- "kind": "field",
9151
- "name": "ruleService",
9152
- "type": {
9153
- "text": "RuleService"
9154
- },
9155
- "inheritedFrom": {
9156
- "name": "AlertSoundAttachmentMixin",
9157
- "module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
9158
- }
9159
- },
9160
- {
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",
9122
+ "declarations": [
9123
+ {
9124
+ "kind": "class",
9125
+ "description": "Dialog for creating or editing notification templates.",
9126
+ "name": "TemplateDialog",
9127
+ "members": [
9128
+ {
9129
+ "kind": "field",
9130
+ "name": "templateService",
9131
+ "type": {
9132
+ "text": "TemplateService"
9133
+ }
9134
+ },
9135
+ {
9136
+ "kind": "field",
9137
+ "name": "systemService",
9138
+ "type": {
9139
+ "text": "SystemService"
9140
+ }
9141
+ },
9142
+ {
9143
+ "kind": "field",
9144
+ "name": "notifyService",
9145
+ "type": {
9146
+ "text": "NotifyService"
9147
+ }
9148
+ },
9149
+ {
9150
+ "kind": "field",
9151
+ "name": "ruleService",
9152
+ "type": {
9153
+ "text": "RuleService"
9154
+ },
9155
+ "inheritedFrom": {
9156
+ "name": "AlertSoundAttachmentMixin",
9157
+ "module": "src/components/foundation-notification-dashboard/alert-sound-attachment.ts"
9158
+ }
9159
+ },
9160
+ {
9161
9161
  "kind": "field",
9162
9162
  "name": "dialog",
9163
9163
  "type": {
@@ -10421,242 +10421,28 @@
10421
10421
  },
10422
10422
  {
10423
10423
  "kind": "javascript-module",
10424
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
10424
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts",
10425
10425
  "declarations": [
10426
10426
  {
10427
10427
  "kind": "variable",
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`"
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`"
10430
10430
  }
10431
10431
  ],
10432
10432
  "exports": [
10433
10433
  {
10434
10434
  "kind": "js",
10435
- "name": "ParameterBuilderStyles",
10435
+ "name": "TemplateConditionGroupTemplate",
10436
10436
  "declaration": {
10437
- "name": "ParameterBuilderStyles",
10438
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts"
10437
+ "name": "TemplateConditionGroupTemplate",
10438
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.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/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",
10467
- "declarations": [
10468
- {
10469
- "kind": "class",
10470
- "description": "Parameter builder for notification templates.",
10471
- "name": "ParameterBuilder",
10472
- "members": [
10473
- {
10474
- "kind": "field",
10475
- "name": "parameter",
10476
- "type": {
10477
- "text": "ParameterBuilderEntity"
10478
- }
10479
- },
10480
- {
10481
- "kind": "field",
10482
- "name": "name",
10483
- "type": {
10484
- "text": "string"
10485
- }
10486
- },
10487
- {
10488
- "kind": "field",
10489
- "name": "label",
10490
- "type": {
10491
- "text": "string"
10492
- }
10493
- },
10494
- {
10495
- "kind": "field",
10496
- "name": "type",
10497
- "type": {
10498
- "text": "string"
10499
- }
10500
- },
10501
- {
10502
- "kind": "field",
10503
- "name": "sourceType",
10504
- "type": {
10505
- "text": "string"
10506
- }
10507
- },
10508
- {
10509
- "kind": "field",
10510
- "name": "sourceSelected",
10511
- "type": {
10512
- "text": "string"
10513
- }
10514
- },
10515
- {
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']"
10543
- },
10544
- {
10545
- "kind": "method",
10546
- "name": "deleteParameter"
10547
- },
10548
- {
10549
- "kind": "method",
10550
- "name": "parameterChanged"
10551
- },
10552
- {
10553
- "kind": "method",
10554
- "name": "nameChanged"
10555
- },
10556
- {
10557
- "kind": "method",
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",
10580
- "parameters": [
10581
- {
10582
- "name": "parameterAttribute"
10583
- },
10584
- {
10585
- "name": "value"
10586
- }
10587
- ]
10588
- }
10589
- ],
10590
- "events": [
10591
- {
10592
- "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
10593
- "name": "delete"
10594
- },
10595
- {
10596
- "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
10597
- "name": "edit"
10598
- }
10599
- ],
10600
- "attributes": [
10601
- {
10602
- "name": "parameter",
10603
- "type": {
10604
- "text": "ParameterBuilderEntity"
10605
- },
10606
- "fieldName": "parameter"
10607
- }
10608
- ],
10609
- "superclass": {
10610
- "name": "GenesisElement",
10611
- "package": "@genesislcap/web-core"
10612
- },
10613
- "tagName": "parameter-builder",
10614
- "customElement": true
10615
- }
10616
- ],
10617
- "exports": [
10618
- {
10619
- "kind": "js",
10620
- "name": "ParameterBuilder",
10621
- "declaration": {
10622
- "name": "ParameterBuilder",
10623
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10624
- }
10625
- },
10626
- {
10627
- "kind": "custom-element-definition",
10628
- "name": "parameter-builder",
10629
- "declaration": {
10630
- "name": "ParameterBuilder",
10631
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10632
- }
10633
- }
10634
- ]
10635
- },
10636
- {
10637
- "kind": "javascript-module",
10638
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts",
10639
- "declarations": [
10640
- {
10641
- "kind": "variable",
10642
- "name": "TemplateConditionGroupTemplate",
10643
- "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`"
10644
- }
10645
- ],
10646
- "exports": [
10647
- {
10648
- "kind": "js",
10649
- "name": "TemplateConditionGroupTemplate",
10650
- "declaration": {
10651
- "name": "TemplateConditionGroupTemplate",
10652
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts"
10653
- }
10654
- }
10655
- ]
10656
- },
10657
- {
10658
- "kind": "javascript-module",
10659
- "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/template-condition-group/template-condition-group.ts",
10660
10446
  "declarations": [
10661
10447
  {
10662
10448
  "kind": "class",
@@ -11074,6 +10860,220 @@
11074
10860
  }
11075
10861
  }
11076
10862
  ]
10863
+ },
10864
+ {
10865
+ "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",
10888
+ "declarations": [
10889
+ {
10890
+ "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`"
10893
+ }
10894
+ ],
10895
+ "exports": [
10896
+ {
10897
+ "kind": "js",
10898
+ "name": "ParameterBuilderTemplate",
10899
+ "declaration": {
10900
+ "name": "ParameterBuilderTemplate",
10901
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts"
10902
+ }
10903
+ }
10904
+ ]
10905
+ },
10906
+ {
10907
+ "kind": "javascript-module",
10908
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts",
10909
+ "declarations": [
10910
+ {
10911
+ "kind": "class",
10912
+ "description": "Parameter builder for notification templates.",
10913
+ "name": "ParameterBuilder",
10914
+ "members": [
10915
+ {
10916
+ "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",
10932
+ "type": {
10933
+ "text": "string"
10934
+ }
10935
+ },
10936
+ {
10937
+ "kind": "field",
10938
+ "name": "type",
10939
+ "type": {
10940
+ "text": "string"
10941
+ }
10942
+ },
10943
+ {
10944
+ "kind": "field",
10945
+ "name": "sourceType",
10946
+ "type": {
10947
+ "text": "string"
10948
+ }
10949
+ },
10950
+ {
10951
+ "kind": "field",
10952
+ "name": "sourceSelected",
10953
+ "type": {
10954
+ "text": "string"
10955
+ }
10956
+ },
10957
+ {
10958
+ "kind": "field",
10959
+ "name": "sourceTyped",
10960
+ "type": {
10961
+ "text": "string"
10962
+ }
10963
+ },
10964
+ {
10965
+ "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",
10981
+ "type": {
10982
+ "text": "array"
10983
+ },
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"
10997
+ },
10998
+ {
10999
+ "kind": "method",
11000
+ "name": "labelChanged"
11001
+ },
11002
+ {
11003
+ "kind": "method",
11004
+ "name": "typeChanged"
11005
+ },
11006
+ {
11007
+ "kind": "method",
11008
+ "name": "sourceTypeChanged"
11009
+ },
11010
+ {
11011
+ "kind": "method",
11012
+ "name": "sourceSelectedChanged"
11013
+ },
11014
+ {
11015
+ "kind": "method",
11016
+ "name": "sourceTypedChanged"
11017
+ },
11018
+ {
11019
+ "kind": "method",
11020
+ "name": "genericChanged",
11021
+ "privacy": "private",
11022
+ "parameters": [
11023
+ {
11024
+ "name": "parameterAttribute"
11025
+ },
11026
+ {
11027
+ "name": "value"
11028
+ }
11029
+ ]
11030
+ }
11031
+ ],
11032
+ "events": [
11033
+ {
11034
+ "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
11035
+ "name": "delete"
11036
+ },
11037
+ {
11038
+ "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
11039
+ "name": "edit"
11040
+ }
11041
+ ],
11042
+ "attributes": [
11043
+ {
11044
+ "name": "parameter",
11045
+ "type": {
11046
+ "text": "ParameterBuilderEntity"
11047
+ },
11048
+ "fieldName": "parameter"
11049
+ }
11050
+ ],
11051
+ "superclass": {
11052
+ "name": "GenesisElement",
11053
+ "package": "@genesislcap/web-core"
11054
+ },
11055
+ "tagName": "parameter-builder",
11056
+ "customElement": true
11057
+ }
11058
+ ],
11059
+ "exports": [
11060
+ {
11061
+ "kind": "js",
11062
+ "name": "ParameterBuilder",
11063
+ "declaration": {
11064
+ "name": "ParameterBuilder",
11065
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
11066
+ }
11067
+ },
11068
+ {
11069
+ "kind": "custom-element-definition",
11070
+ "name": "parameter-builder",
11071
+ "declaration": {
11072
+ "name": "ParameterBuilder",
11073
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
11074
+ }
11075
+ }
11076
+ ]
11077
11077
  }
11078
11078
  ]
11079
11079
  }