@genesislcap/pbc-notify-ui 15.58.1 → 15.59.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.
@@ -5207,6 +5207,95 @@
5207
5207
  }
5208
5208
  ]
5209
5209
  },
5210
+ {
5211
+ "kind": "javascript-module",
5212
+ "path": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts",
5213
+ "declarations": [
5214
+ {
5215
+ "kind": "variable",
5216
+ "name": "ConditionBuilderStyles",
5217
+ "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`"
5218
+ },
5219
+ {
5220
+ "kind": "variable",
5221
+ "name": "ConditionGroupStyles",
5222
+ "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`"
5223
+ }
5224
+ ],
5225
+ "exports": [
5226
+ {
5227
+ "kind": "js",
5228
+ "name": "ConditionBuilderStyles",
5229
+ "declaration": {
5230
+ "name": "ConditionBuilderStyles",
5231
+ "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5232
+ }
5233
+ },
5234
+ {
5235
+ "kind": "js",
5236
+ "name": "ConditionGroupStyles",
5237
+ "declaration": {
5238
+ "name": "ConditionGroupStyles",
5239
+ "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5240
+ }
5241
+ }
5242
+ ]
5243
+ },
5244
+ {
5245
+ "kind": "javascript-module",
5246
+ "path": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts",
5247
+ "declarations": [
5248
+ {
5249
+ "kind": "variable",
5250
+ "name": "DynamicRuleManagementStyles",
5251
+ "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`"
5252
+ },
5253
+ {
5254
+ "kind": "variable",
5255
+ "name": "DynamicRuleDialogStyles",
5256
+ "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`"
5257
+ }
5258
+ ],
5259
+ "exports": [
5260
+ {
5261
+ "kind": "js",
5262
+ "name": "DynamicRuleManagementStyles",
5263
+ "declaration": {
5264
+ "name": "DynamicRuleManagementStyles",
5265
+ "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5266
+ }
5267
+ },
5268
+ {
5269
+ "kind": "js",
5270
+ "name": "DynamicRuleDialogStyles",
5271
+ "declaration": {
5272
+ "name": "DynamicRuleDialogStyles",
5273
+ "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5274
+ }
5275
+ }
5276
+ ]
5277
+ },
5278
+ {
5279
+ "kind": "javascript-module",
5280
+ "path": "src/components/foundation-notification-dashboard/styles/management.styles.ts",
5281
+ "declarations": [
5282
+ {
5283
+ "kind": "variable",
5284
+ "name": "managementGridStyles",
5285
+ "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`"
5286
+ }
5287
+ ],
5288
+ "exports": [
5289
+ {
5290
+ "kind": "js",
5291
+ "name": "managementGridStyles",
5292
+ "declaration": {
5293
+ "name": "managementGridStyles",
5294
+ "module": "src/components/foundation-notification-dashboard/styles/management.styles.ts"
5295
+ }
5296
+ }
5297
+ ]
5298
+ },
5210
5299
  {
5211
5300
  "kind": "javascript-module",
5212
5301
  "path": "src/components/foundation-notification-dashboard/types/expression-type.ts",
@@ -5807,95 +5896,6 @@
5807
5896
  }
5808
5897
  ]
5809
5898
  },
5810
- {
5811
- "kind": "javascript-module",
5812
- "path": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts",
5813
- "declarations": [
5814
- {
5815
- "kind": "variable",
5816
- "name": "ConditionBuilderStyles",
5817
- "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`"
5818
- },
5819
- {
5820
- "kind": "variable",
5821
- "name": "ConditionGroupStyles",
5822
- "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`"
5823
- }
5824
- ],
5825
- "exports": [
5826
- {
5827
- "kind": "js",
5828
- "name": "ConditionBuilderStyles",
5829
- "declaration": {
5830
- "name": "ConditionBuilderStyles",
5831
- "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5832
- }
5833
- },
5834
- {
5835
- "kind": "js",
5836
- "name": "ConditionGroupStyles",
5837
- "declaration": {
5838
- "name": "ConditionGroupStyles",
5839
- "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5840
- }
5841
- }
5842
- ]
5843
- },
5844
- {
5845
- "kind": "javascript-module",
5846
- "path": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts",
5847
- "declarations": [
5848
- {
5849
- "kind": "variable",
5850
- "name": "DynamicRuleManagementStyles",
5851
- "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`"
5852
- },
5853
- {
5854
- "kind": "variable",
5855
- "name": "DynamicRuleDialogStyles",
5856
- "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`"
5857
- }
5858
- ],
5859
- "exports": [
5860
- {
5861
- "kind": "js",
5862
- "name": "DynamicRuleManagementStyles",
5863
- "declaration": {
5864
- "name": "DynamicRuleManagementStyles",
5865
- "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5866
- }
5867
- },
5868
- {
5869
- "kind": "js",
5870
- "name": "DynamicRuleDialogStyles",
5871
- "declaration": {
5872
- "name": "DynamicRuleDialogStyles",
5873
- "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5874
- }
5875
- }
5876
- ]
5877
- },
5878
- {
5879
- "kind": "javascript-module",
5880
- "path": "src/components/foundation-notification-dashboard/styles/management.styles.ts",
5881
- "declarations": [
5882
- {
5883
- "kind": "variable",
5884
- "name": "managementGridStyles",
5885
- "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`"
5886
- }
5887
- ],
5888
- "exports": [
5889
- {
5890
- "kind": "js",
5891
- "name": "managementGridStyles",
5892
- "declaration": {
5893
- "name": "managementGridStyles",
5894
- "module": "src/components/foundation-notification-dashboard/styles/management.styles.ts"
5895
- }
5896
- }
5897
- ]
5898
- },
5899
5899
  {
5900
5900
  "kind": "javascript-module",
5901
5901
  "path": "src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.styles.ts",
@@ -6041,58 +6041,62 @@
6041
6041
  },
6042
6042
  {
6043
6043
  "kind": "javascript-module",
6044
- "path": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.styles.ts",
6044
+ "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts",
6045
6045
  "declarations": [
6046
6046
  {
6047
6047
  "kind": "variable",
6048
- "name": "FoundationInboxFlyoutStyles",
6049
- "default": "css`\n rapid-flyout::part(flyout) {\n width: 30%;\n min-width: 320px;\n padding: 0;\n }\n\n rapid-flyout::part(content) {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n\n ${FoundationInboxStyles}\n`"
6048
+ "name": "InboxSubscriptionStyles",
6049
+ "default": "css`\n .inbox-subscription {\n display: flex;\n flex-direction: column;\n }\n\n .inbox-subscription.inline {\n margin-top: calc(var(--design-unit) * 2px);\n padding-top: calc(var(--design-unit) * 2px);\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .inbox-subscription-header {\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-bottom: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .inbox-subscription-empty {\n padding: 0 calc(var(--design-unit) * 2px);\n margin: calc(var(--design-unit) * 2px) 0 0;\n }\n\n .inbox-subscription-content {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 3px);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n margin: calc(var(--design-unit) * 2px);\n padding: calc(var(--design-unit) * 2px);\n border-radius: calc(var(--control-corner-radius) * 1px);\n }\n\n .inbox-subscription:not(.inline) .inbox-subscription-content {\n overflow: auto;\n max-height: calc(var(--design-unit) * 80px);\n }\n\n .inbox-subscription.inline .inbox-subscription-content {\n margin: calc(var(--design-unit) * 2px) 0 0;\n overflow: visible;\n max-height: none;\n padding-bottom: calc(var(--design-unit) * 4px);\n }\n\n .inbox-subscription.inline .control:focus-within {\n position: relative;\n z-index: 2;\n }\n\n .inbox-subscription-footer {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n padding: calc(var(--design-unit) * 2px) 0 0;\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .inbox-subscription:not(.inline) .inbox-subscription-footer {\n padding: calc(var(--design-unit) * 2px);\n margin-top: 0;\n }\n\n .inbox-subscription-footer.auto-submit {\n justify-content: flex-end;\n border-top: none;\n margin-top: 0;\n padding-top: 0;\n }\n\n rapid-button.subscribe,\n rapid-button.cancel {\n display: flex;\n margin: 0;\n flex: 1;\n }\n`"
6050
6050
  }
6051
6051
  ],
6052
6052
  "exports": [
6053
6053
  {
6054
6054
  "kind": "js",
6055
- "name": "FoundationInboxFlyoutStyles",
6055
+ "name": "InboxSubscriptionStyles",
6056
6056
  "declaration": {
6057
- "name": "FoundationInboxFlyoutStyles",
6058
- "module": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.styles.ts"
6057
+ "name": "InboxSubscriptionStyles",
6058
+ "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts"
6059
6059
  }
6060
6060
  }
6061
6061
  ]
6062
6062
  },
6063
6063
  {
6064
6064
  "kind": "javascript-module",
6065
- "path": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.template.ts",
6065
+ "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts",
6066
6066
  "declarations": [
6067
6067
  {
6068
6068
  "kind": "variable",
6069
- "name": "FoundationInboxFlyoutTemplate",
6070
- "default": "html<FoundationInboxFlyout>`\n <rapid-flyout\n ${ref('flyout')}\n position=\"right\"\n @closed=${(x) => (x.flyoutClosed = true)}\n :closed=${(x) => x.flyoutClosed}\n displayHeader=${false}\n >\n <div class=\"inbox-header\">\n <div class=\"inbox-header-title\">Alerts Center</div>\n <rapid-button class=\"inbox-header-close\" @click=${(x) => x.close()}>\n <rapid-icon part=\"icon\" name=\"xmark\" size=\"xl\"></rapid-icon>\n </rapid-button>\n </div>\n\n ${FoundationInboxTemplate}\n </rapid-flyout>\n`"
6069
+ "name": "InboxSubscriptionTemplate",
6070
+ "default": "html<InboxSubscription>`\n <div class=\"inbox-subscription ${(x) => (x.inline ? 'inline' : '')}\">\n ${when(\n (x) => !x.inline,\n html`\n <div class=\"inbox-subscription-header\">\n Subscribe to\n <span style=\"font-weight: bold;\">${(x) => x.template.RULE_NAME}</span>\n </div>\n `,\n )}\n ${when(\n (x) => x.visibleParameters.length === 0,\n html`\n <p class=\"inbox-subscription-empty\">The selected template doesn't have parameters.</p>\n `,\n )}\n ${when(\n (x) => x.visibleParameters.length > 0,\n html`\n <div class=\"inbox-subscription-content\">\n ${repeat(\n (x) => x.visibleParameters,\n html<RuleParameterEntity>`\n <rule-parameter\n :parameter=${(x) => x}\n :isFirstElement=${(x, c) => c.parent.isFirstElement(x)}\n :operator=${(x, c) => c.parent.parametersOperators[x.PARAM_NAME]}\n :requireSelection=${(x, c) => c.parent.usesAutoSubmit()}\n @parameterEdited=${(x, c) => c.parent.parameterEdit(eventDetail(c))}\n ></rule-parameter>\n `,\n )}\n </div>\n `,\n )}\n ${when(\n (x) => !x.inline || x.requiresManualSubscribe(),\n html`\n <div class=\"inbox-subscription-footer\">\n ${when(\n (x) => x.inline,\n html`\n <rapid-button\n class=\"cancel\"\n appearance=\"neutral\"\n @click=${(x) => x.cancelSubscribe()}\n >\n Cancel\n </rapid-button>\n `,\n )}\n <rapid-button\n class=\"subscribe\"\n appearance=\"primary\"\n @click=${(x) => x.subscribeTemplate()}\n ?disabled=${(x) => x.subscribeDisabled}\n >\n Subscribe\n </rapid-button>\n </div>\n `,\n )}\n ${when(\n (x) => x.inline && x.usesAutoSubmit(),\n html`\n <div class=\"inbox-subscription-footer auto-submit\">\n <rapid-button class=\"cancel\" appearance=\"neutral\" @click=${(x) => x.cancelSubscribe()}>\n Cancel\n </rapid-button>\n </div>\n `,\n )}\n </div>\n`"
6071
6071
  }
6072
6072
  ],
6073
6073
  "exports": [
6074
6074
  {
6075
6075
  "kind": "js",
6076
- "name": "FoundationInboxFlyoutTemplate",
6076
+ "name": "InboxSubscriptionTemplate",
6077
6077
  "declaration": {
6078
- "name": "FoundationInboxFlyoutTemplate",
6079
- "module": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.template.ts"
6078
+ "name": "InboxSubscriptionTemplate",
6079
+ "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts"
6080
6080
  }
6081
6081
  }
6082
6082
  ]
6083
6083
  },
6084
6084
  {
6085
6085
  "kind": "javascript-module",
6086
- "path": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.ts",
6086
+ "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts",
6087
6087
  "declarations": [
6088
6088
  {
6089
6089
  "kind": "class",
6090
- "description": "",
6091
- "name": "FoundationInboxFlyout",
6090
+ "description": "Inbox subscription configuration UI.",
6091
+ "name": "InboxSubscription",
6092
6092
  "members": [
6093
6093
  {
6094
6094
  "kind": "field",
6095
- "name": "ready",
6095
+ "name": "template"
6096
+ },
6097
+ {
6098
+ "kind": "field",
6099
+ "name": "inline",
6096
6100
  "type": {
6097
6101
  "text": "boolean"
6098
6102
  },
@@ -6100,49 +6104,276 @@
6100
6104
  },
6101
6105
  {
6102
6106
  "kind": "field",
6103
- "name": "flyout",
6107
+ "name": "extraParameterDetails",
6104
6108
  "type": {
6105
- "text": "Flyout"
6106
- }
6109
+ "text": "Record<string, string>"
6110
+ },
6111
+ "default": "{}",
6112
+ "description": "Merged into subscribe payload (e.g. CHANNEL topic). Hidden from the form."
6107
6113
  },
6108
6114
  {
6109
6115
  "kind": "field",
6110
- "name": "flyoutClosed",
6116
+ "name": "parametersDetails",
6111
6117
  "type": {
6112
- "text": "boolean"
6118
+ "text": "object"
6113
6119
  },
6114
- "default": "true"
6115
- },
6116
- {
6117
- "kind": "method",
6118
- "name": "open",
6119
- "privacy": "public"
6120
- },
6121
- {
6122
- "kind": "method",
6123
- "name": "close",
6124
- "privacy": "public"
6125
- },
6126
- {
6127
- "kind": "method",
6128
- "name": "loadRemotes"
6120
+ "privacy": "private",
6121
+ "default": "{}"
6129
6122
  },
6130
6123
  {
6131
6124
  "kind": "field",
6132
- "name": "auth",
6125
+ "name": "isSubmitting",
6133
6126
  "type": {
6134
- "text": "Auth"
6127
+ "text": "boolean"
6135
6128
  },
6136
- "inheritedFrom": {
6137
- "name": "FoundationInboxBase",
6138
- "module": "src/components/foundation-inbox/inbox-base/inbox-base.ts"
6139
- }
6129
+ "privacy": "private",
6130
+ "default": "false"
6140
6131
  },
6141
6132
  {
6142
6133
  "kind": "field",
6143
- "name": "connect",
6134
+ "name": "parametersOperators",
6144
6135
  "type": {
6145
- "text": "Connect"
6136
+ "text": "object"
6137
+ },
6138
+ "default": "{}"
6139
+ },
6140
+ {
6141
+ "kind": "field",
6142
+ "name": "subscribeDisabled",
6143
+ "type": {
6144
+ "text": "boolean"
6145
+ },
6146
+ "default": "true"
6147
+ },
6148
+ {
6149
+ "kind": "field",
6150
+ "name": "ruleService",
6151
+ "type": {
6152
+ "text": "RuleService"
6153
+ }
6154
+ },
6155
+ {
6156
+ "kind": "field",
6157
+ "name": "visibleParameters",
6158
+ "type": {
6159
+ "text": "RuleParameterEntity[]"
6160
+ },
6161
+ "readonly": true
6162
+ },
6163
+ {
6164
+ "kind": "method",
6165
+ "name": "templateChanged"
6166
+ },
6167
+ {
6168
+ "kind": "method",
6169
+ "name": "usesAutoSubmit",
6170
+ "return": {
6171
+ "type": {
6172
+ "text": "boolean"
6173
+ }
6174
+ }
6175
+ },
6176
+ {
6177
+ "kind": "method",
6178
+ "name": "requiresManualSubscribe",
6179
+ "return": {
6180
+ "type": {
6181
+ "text": "boolean"
6182
+ }
6183
+ }
6184
+ },
6185
+ {
6186
+ "kind": "method",
6187
+ "name": "parameterEdit",
6188
+ "parameters": [
6189
+ {
6190
+ "name": "value",
6191
+ "type": {
6192
+ "text": "any"
6193
+ }
6194
+ }
6195
+ ]
6196
+ },
6197
+ {
6198
+ "kind": "method",
6199
+ "name": "autoSubscribe",
6200
+ "privacy": "private"
6201
+ },
6202
+ {
6203
+ "kind": "method",
6204
+ "name": "verifySubscribe"
6205
+ },
6206
+ {
6207
+ "kind": "field",
6208
+ "name": "isFirstElement"
6209
+ },
6210
+ {
6211
+ "kind": "method",
6212
+ "name": "subscribeTemplate"
6213
+ },
6214
+ {
6215
+ "kind": "method",
6216
+ "name": "cancelSubscribe"
6217
+ },
6218
+ {
6219
+ "kind": "field",
6220
+ "name": "createParametersOperatorMap"
6221
+ }
6222
+ ],
6223
+ "events": [
6224
+ {
6225
+ "description": "Fired when a template subscription is created. detail: `TemplateSubscribedEventDetail`",
6226
+ "name": "templateSubscribed"
6227
+ },
6228
+ {
6229
+ "description": "Fired when inline parameter entry is cancelled",
6230
+ "name": "subscribeCancelled"
6231
+ }
6232
+ ],
6233
+ "attributes": [
6234
+ {
6235
+ "name": "template",
6236
+ "fieldName": "template"
6237
+ },
6238
+ {
6239
+ "type": {
6240
+ "text": "boolean"
6241
+ },
6242
+ "default": "false",
6243
+ "fieldName": "inline"
6244
+ }
6245
+ ],
6246
+ "superclass": {
6247
+ "name": "GenesisElement",
6248
+ "package": "@genesislcap/web-core"
6249
+ },
6250
+ "tagName": "inbox-subscription",
6251
+ "customElement": true
6252
+ }
6253
+ ],
6254
+ "exports": [
6255
+ {
6256
+ "kind": "js",
6257
+ "name": "InboxSubscription",
6258
+ "declaration": {
6259
+ "name": "InboxSubscription",
6260
+ "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts"
6261
+ }
6262
+ },
6263
+ {
6264
+ "kind": "custom-element-definition",
6265
+ "name": "inbox-subscription",
6266
+ "declaration": {
6267
+ "name": "InboxSubscription",
6268
+ "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts"
6269
+ }
6270
+ }
6271
+ ]
6272
+ },
6273
+ {
6274
+ "kind": "javascript-module",
6275
+ "path": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.styles.ts",
6276
+ "declarations": [
6277
+ {
6278
+ "kind": "variable",
6279
+ "name": "FoundationInboxFlyoutStyles",
6280
+ "default": "css`\n rapid-flyout::part(flyout) {\n width: 30%;\n min-width: 320px;\n padding: 0;\n }\n\n rapid-flyout::part(content) {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n\n ${FoundationInboxStyles}\n`"
6281
+ }
6282
+ ],
6283
+ "exports": [
6284
+ {
6285
+ "kind": "js",
6286
+ "name": "FoundationInboxFlyoutStyles",
6287
+ "declaration": {
6288
+ "name": "FoundationInboxFlyoutStyles",
6289
+ "module": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.styles.ts"
6290
+ }
6291
+ }
6292
+ ]
6293
+ },
6294
+ {
6295
+ "kind": "javascript-module",
6296
+ "path": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.template.ts",
6297
+ "declarations": [
6298
+ {
6299
+ "kind": "variable",
6300
+ "name": "FoundationInboxFlyoutTemplate",
6301
+ "default": "html<FoundationInboxFlyout>`\n <rapid-flyout\n ${ref('flyout')}\n position=\"right\"\n @closed=${(x) => (x.flyoutClosed = true)}\n :closed=${(x) => x.flyoutClosed}\n displayHeader=${false}\n >\n <div class=\"inbox-header\">\n <div class=\"inbox-header-title\">Alerts Center</div>\n <rapid-button class=\"inbox-header-close\" @click=${(x) => x.close()}>\n <rapid-icon part=\"icon\" name=\"xmark\" size=\"xl\"></rapid-icon>\n </rapid-button>\n </div>\n\n ${FoundationInboxTemplate}\n </rapid-flyout>\n`"
6302
+ }
6303
+ ],
6304
+ "exports": [
6305
+ {
6306
+ "kind": "js",
6307
+ "name": "FoundationInboxFlyoutTemplate",
6308
+ "declaration": {
6309
+ "name": "FoundationInboxFlyoutTemplate",
6310
+ "module": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.template.ts"
6311
+ }
6312
+ }
6313
+ ]
6314
+ },
6315
+ {
6316
+ "kind": "javascript-module",
6317
+ "path": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.ts",
6318
+ "declarations": [
6319
+ {
6320
+ "kind": "class",
6321
+ "description": "",
6322
+ "name": "FoundationInboxFlyout",
6323
+ "members": [
6324
+ {
6325
+ "kind": "field",
6326
+ "name": "ready",
6327
+ "type": {
6328
+ "text": "boolean"
6329
+ },
6330
+ "default": "false"
6331
+ },
6332
+ {
6333
+ "kind": "field",
6334
+ "name": "flyout",
6335
+ "type": {
6336
+ "text": "Flyout"
6337
+ }
6338
+ },
6339
+ {
6340
+ "kind": "field",
6341
+ "name": "flyoutClosed",
6342
+ "type": {
6343
+ "text": "boolean"
6344
+ },
6345
+ "default": "true"
6346
+ },
6347
+ {
6348
+ "kind": "method",
6349
+ "name": "open",
6350
+ "privacy": "public"
6351
+ },
6352
+ {
6353
+ "kind": "method",
6354
+ "name": "close",
6355
+ "privacy": "public"
6356
+ },
6357
+ {
6358
+ "kind": "method",
6359
+ "name": "loadRemotes"
6360
+ },
6361
+ {
6362
+ "kind": "field",
6363
+ "name": "auth",
6364
+ "type": {
6365
+ "text": "Auth"
6366
+ },
6367
+ "inheritedFrom": {
6368
+ "name": "FoundationInboxBase",
6369
+ "module": "src/components/foundation-inbox/inbox-base/inbox-base.ts"
6370
+ }
6371
+ },
6372
+ {
6373
+ "kind": "field",
6374
+ "name": "connect",
6375
+ "type": {
6376
+ "text": "Connect"
6146
6377
  },
6147
6378
  "inheritedFrom": {
6148
6379
  "name": "FoundationInboxBase",
@@ -7373,249 +7604,18 @@
7373
7604
  },
7374
7605
  {
7375
7606
  "kind": "javascript-module",
7376
- "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts",
7607
+ "path": "src/components/foundation-notification-dashboard/components/notify-audit/notify-audit-management.ts",
7377
7608
  "declarations": [
7378
7609
  {
7379
- "kind": "variable",
7380
- "name": "InboxSubscriptionStyles",
7381
- "default": "css`\n .inbox-subscription {\n display: flex;\n flex-direction: column;\n }\n\n .inbox-subscription.inline {\n margin-top: calc(var(--design-unit) * 2px);\n padding-top: calc(var(--design-unit) * 2px);\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .inbox-subscription-header {\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-bottom: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .inbox-subscription-empty {\n padding: 0 calc(var(--design-unit) * 2px);\n margin: calc(var(--design-unit) * 2px) 0 0;\n }\n\n .inbox-subscription-content {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 3px);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n margin: calc(var(--design-unit) * 2px);\n padding: calc(var(--design-unit) * 2px);\n border-radius: calc(var(--control-corner-radius) * 1px);\n }\n\n .inbox-subscription:not(.inline) .inbox-subscription-content {\n overflow: auto;\n max-height: calc(var(--design-unit) * 80px);\n }\n\n .inbox-subscription.inline .inbox-subscription-content {\n margin: calc(var(--design-unit) * 2px) 0 0;\n overflow: visible;\n max-height: none;\n padding-bottom: calc(var(--design-unit) * 4px);\n }\n\n .inbox-subscription.inline .control:focus-within {\n position: relative;\n z-index: 2;\n }\n\n .inbox-subscription-footer {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n padding: calc(var(--design-unit) * 2px) 0 0;\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .inbox-subscription:not(.inline) .inbox-subscription-footer {\n padding: calc(var(--design-unit) * 2px);\n margin-top: 0;\n }\n\n .inbox-subscription-footer.auto-submit {\n justify-content: flex-end;\n border-top: none;\n margin-top: 0;\n padding-top: 0;\n }\n\n rapid-button.subscribe,\n rapid-button.cancel {\n display: flex;\n margin: 0;\n flex: 1;\n }\n`"
7382
- }
7383
- ],
7384
- "exports": [
7385
- {
7386
- "kind": "js",
7387
- "name": "InboxSubscriptionStyles",
7388
- "declaration": {
7389
- "name": "InboxSubscriptionStyles",
7390
- "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts"
7391
- }
7392
- }
7393
- ]
7394
- },
7395
- {
7396
- "kind": "javascript-module",
7397
- "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts",
7398
- "declarations": [
7399
- {
7400
- "kind": "variable",
7401
- "name": "InboxSubscriptionTemplate",
7402
- "default": "html<InboxSubscription>`\n <div class=\"inbox-subscription ${(x) => (x.inline ? 'inline' : '')}\">\n ${when(\n (x) => !x.inline,\n html`\n <div class=\"inbox-subscription-header\">\n Subscribe to\n <span style=\"font-weight: bold;\">${(x) => x.template.RULE_NAME}</span>\n </div>\n `,\n )}\n ${when(\n (x) => x.visibleParameters.length === 0,\n html`\n <p class=\"inbox-subscription-empty\">The selected template doesn't have parameters.</p>\n `,\n )}\n ${when(\n (x) => x.visibleParameters.length > 0,\n html`\n <div class=\"inbox-subscription-content\">\n ${repeat(\n (x) => x.visibleParameters,\n html<RuleParameterEntity>`\n <rule-parameter\n :parameter=${(x) => x}\n :isFirstElement=${(x, c) => c.parent.isFirstElement(x)}\n :operator=${(x, c) => c.parent.parametersOperators[x.PARAM_NAME]}\n :requireSelection=${(x, c) => c.parent.usesAutoSubmit()}\n @parameterEdited=${(x, c) => c.parent.parameterEdit(eventDetail(c))}\n ></rule-parameter>\n `,\n )}\n </div>\n `,\n )}\n ${when(\n (x) => !x.inline || x.requiresManualSubscribe(),\n html`\n <div class=\"inbox-subscription-footer\">\n ${when(\n (x) => x.inline,\n html`\n <rapid-button\n class=\"cancel\"\n appearance=\"neutral\"\n @click=${(x) => x.cancelSubscribe()}\n >\n Cancel\n </rapid-button>\n `,\n )}\n <rapid-button\n class=\"subscribe\"\n appearance=\"primary\"\n @click=${(x) => x.subscribeTemplate()}\n ?disabled=${(x) => x.subscribeDisabled}\n >\n Subscribe\n </rapid-button>\n </div>\n `,\n )}\n ${when(\n (x) => x.inline && x.usesAutoSubmit(),\n html`\n <div class=\"inbox-subscription-footer auto-submit\">\n <rapid-button class=\"cancel\" appearance=\"neutral\" @click=${(x) => x.cancelSubscribe()}>\n Cancel\n </rapid-button>\n </div>\n `,\n )}\n </div>\n`"
7403
- }
7404
- ],
7405
- "exports": [
7406
- {
7407
- "kind": "js",
7408
- "name": "InboxSubscriptionTemplate",
7409
- "declaration": {
7410
- "name": "InboxSubscriptionTemplate",
7411
- "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts"
7412
- }
7413
- }
7414
- ]
7415
- },
7416
- {
7417
- "kind": "javascript-module",
7418
- "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts",
7419
- "declarations": [
7420
- {
7421
- "kind": "class",
7422
- "description": "Inbox subscription configuration UI.",
7423
- "name": "InboxSubscription",
7424
- "members": [
7425
- {
7426
- "kind": "field",
7427
- "name": "template"
7428
- },
7429
- {
7430
- "kind": "field",
7431
- "name": "inline",
7432
- "type": {
7433
- "text": "boolean"
7434
- },
7435
- "default": "false"
7436
- },
7437
- {
7438
- "kind": "field",
7439
- "name": "extraParameterDetails",
7440
- "type": {
7441
- "text": "Record<string, string>"
7442
- },
7443
- "default": "{}",
7444
- "description": "Merged into subscribe payload (e.g. CHANNEL topic). Hidden from the form."
7445
- },
7446
- {
7447
- "kind": "field",
7448
- "name": "parametersDetails",
7449
- "type": {
7450
- "text": "object"
7451
- },
7452
- "privacy": "private",
7453
- "default": "{}"
7454
- },
7455
- {
7456
- "kind": "field",
7457
- "name": "isSubmitting",
7458
- "type": {
7459
- "text": "boolean"
7460
- },
7461
- "privacy": "private",
7462
- "default": "false"
7463
- },
7464
- {
7465
- "kind": "field",
7466
- "name": "parametersOperators",
7467
- "type": {
7468
- "text": "object"
7469
- },
7470
- "default": "{}"
7471
- },
7472
- {
7473
- "kind": "field",
7474
- "name": "subscribeDisabled",
7475
- "type": {
7476
- "text": "boolean"
7477
- },
7478
- "default": "true"
7479
- },
7480
- {
7481
- "kind": "field",
7482
- "name": "ruleService",
7483
- "type": {
7484
- "text": "RuleService"
7485
- }
7486
- },
7487
- {
7488
- "kind": "field",
7489
- "name": "visibleParameters",
7490
- "type": {
7491
- "text": "RuleParameterEntity[]"
7492
- },
7493
- "readonly": true
7494
- },
7495
- {
7496
- "kind": "method",
7497
- "name": "templateChanged"
7498
- },
7499
- {
7500
- "kind": "method",
7501
- "name": "usesAutoSubmit",
7502
- "return": {
7503
- "type": {
7504
- "text": "boolean"
7505
- }
7506
- }
7507
- },
7508
- {
7509
- "kind": "method",
7510
- "name": "requiresManualSubscribe",
7511
- "return": {
7512
- "type": {
7513
- "text": "boolean"
7514
- }
7515
- }
7516
- },
7517
- {
7518
- "kind": "method",
7519
- "name": "parameterEdit",
7520
- "parameters": [
7521
- {
7522
- "name": "value",
7523
- "type": {
7524
- "text": "any"
7525
- }
7526
- }
7527
- ]
7528
- },
7529
- {
7530
- "kind": "method",
7531
- "name": "autoSubscribe",
7532
- "privacy": "private"
7533
- },
7534
- {
7535
- "kind": "method",
7536
- "name": "verifySubscribe"
7537
- },
7538
- {
7539
- "kind": "field",
7540
- "name": "isFirstElement"
7541
- },
7542
- {
7543
- "kind": "method",
7544
- "name": "subscribeTemplate"
7545
- },
7546
- {
7547
- "kind": "method",
7548
- "name": "cancelSubscribe"
7549
- },
7550
- {
7551
- "kind": "field",
7552
- "name": "createParametersOperatorMap"
7553
- }
7554
- ],
7555
- "events": [
7556
- {
7557
- "description": "Fired when a template subscription is created. detail: `TemplateSubscribedEventDetail`",
7558
- "name": "templateSubscribed"
7559
- },
7560
- {
7561
- "description": "Fired when inline parameter entry is cancelled",
7562
- "name": "subscribeCancelled"
7563
- }
7564
- ],
7565
- "attributes": [
7566
- {
7567
- "name": "template",
7568
- "fieldName": "template"
7569
- },
7570
- {
7571
- "type": {
7572
- "text": "boolean"
7573
- },
7574
- "default": "false",
7575
- "fieldName": "inline"
7576
- }
7577
- ],
7578
- "superclass": {
7579
- "name": "GenesisElement",
7580
- "package": "@genesislcap/web-core"
7581
- },
7582
- "tagName": "inbox-subscription",
7583
- "customElement": true
7584
- }
7585
- ],
7586
- "exports": [
7587
- {
7588
- "kind": "js",
7589
- "name": "InboxSubscription",
7590
- "declaration": {
7591
- "name": "InboxSubscription",
7592
- "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts"
7593
- }
7594
- },
7595
- {
7596
- "kind": "custom-element-definition",
7597
- "name": "inbox-subscription",
7598
- "declaration": {
7599
- "name": "InboxSubscription",
7600
- "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts"
7601
- }
7602
- }
7603
- ]
7604
- },
7605
- {
7606
- "kind": "javascript-module",
7607
- "path": "src/components/foundation-notification-dashboard/components/notify-audit/notify-audit-management.ts",
7608
- "declarations": [
7609
- {
7610
- "kind": "class",
7611
- "description": "",
7612
- "name": "NotifyAuditManagement",
7613
- "superclass": {
7614
- "name": "GenesisElement",
7615
- "package": "@genesislcap/web-core"
7616
- },
7617
- "tagName": "notify-audit-management",
7618
- "customElement": true
7610
+ "kind": "class",
7611
+ "description": "",
7612
+ "name": "NotifyAuditManagement",
7613
+ "superclass": {
7614
+ "name": "GenesisElement",
7615
+ "package": "@genesislcap/web-core"
7616
+ },
7617
+ "tagName": "notify-audit-management",
7618
+ "customElement": true
7619
7619
  }
7620
7620
  ],
7621
7621
  "exports": [
@@ -9833,187 +9833,37 @@
9833
9833
  },
9834
9834
  {
9835
9835
  "kind": "javascript-module",
9836
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
9836
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts",
9837
9837
  "declarations": [
9838
9838
  {
9839
9839
  "kind": "variable",
9840
- "name": "RuleConditionGroupTemplate",
9841
- "default": "html<RuleConditionGroup>`\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, RuleConditionGroup>`\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.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(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.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></rule-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`"
9840
+ "name": "RuleConditionBuilderTemplate",
9841
+ "default": "html<RuleConditionBuilder>`\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-builder\">\n <rapid-select\n :value=${sync((x) => x.leftValue)}\n :initialValue=${sync((x) => x.leftValue)}\n title=${(x) => (x.leftValue ? JSON.parse(x.leftValue).FIELD_NAME : '')}\n class=\"left-value\"\n >\n ${repeat(\n (x) => x.getAllFields(),\n html`\n <rapid-option value=${(x) => JSON.stringify(x)} title=${(x) => x.FIELD_NAME}>\n ${(x) => x.FIELD_NAME}\n </rapid-option>\n `,\n )}\n </rapid-select>\n\n <rapid-select\n class=\"logical-operator${(x) =>\n classNames([\n '-null-and-blank',\n nullAndBlankLogicalOperatorValues.includes(LogicalOperator[x.logicalOperator]),\n ])}\"\n :value=${sync((x) => x.logicalOperator)}\n title=${(x) => x.logicalOperator}\n >\n ${repeat(\n (x) => x.getLogicalOperators(),\n html`\n <rapid-option value=${(x) => x.operator} title=${(x) => x}>\n ${(x) => x.label}\n </rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => !nullAndBlankLogicalOperatorValues.includes(LogicalOperator[x.logicalOperator]),\n html`\n <rapid-select\n class=\"right-criteria\"\n :value=${sync((x) => x.rightCriteria)}\n title=${(x) => x.rightCriteria}\n >\n ${repeat(\n (x) => x.getRightCriteria(),\n html`\n <rapid-option value=${(x) => x} title=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => x.rightCriteria === RightCriteria.VALUE,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.BOOLEAN,\n html`\n <rapid-select class=\"right-criteria-select\" :value=${sync((x) => x.rightValueText)}>\n <rapid-option value=\"true\">true</rapid-option>\n <rapid-option value=\"false\">false</rapid-option>\n </rapid-select>\n `,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === 'ENUM',\n html`\n <rapid-multiselect\n class=\"right-criteria-select\"\n :selectedOptions=${(x) => x.rightValueMultiSelect}\n @selectionChange=${(x, c) => {\n x.rightValueMultiSelect = (c.event as CustomEvent).detail;\n }}\n search=\"true\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${(x) => x.getEnumValues().map((value) => ({ value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n `,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.DATE,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n type=\"date\"\n ></rapid-text-field>\n `,\n html`\n ${whenElse(\n (x) =>\n JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.DATETIME,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n type=\"datetime-local\"\n ></rapid-text-field>\n `,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n placeholder=\"Value (comma-separate for multiple)\"\n autocomplete=\"off\"\n ></rapid-text-field>\n `,\n )}\n `,\n )}\n `,\n )}\n `,\n )}\n `,\n )}\n ${when(\n (x) => x.rightCriteria === RightCriteria.FIELD,\n html`\n <rapid-select\n class=\"right-criteria-select\"\n :value=${sync((x) => x.rightValueSelect)}\n title=${(x) => x.rightValueSelect}\n >\n ${repeat(\n (x) => x.getApplicableFields(),\n html`\n <rapid-option value=${(x) => x.FIELD_NAME} title=${(x) => x.FIELD_NAME}>\n ${(x) => x.FIELD_NAME}\n </rapid-option>\n `,\n )}\n </rapid-select>\n `,\n )}\n `,\n )}\n\n <rapid-button appearance=\"icon\" class=\"delete\" @click=${(x) => x.deleteCondition()}>\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`"
9842
9842
  }
9843
9843
  ],
9844
9844
  "exports": [
9845
9845
  {
9846
9846
  "kind": "js",
9847
- "name": "RuleConditionGroupTemplate",
9847
+ "name": "RuleConditionBuilderTemplate",
9848
9848
  "declaration": {
9849
- "name": "RuleConditionGroupTemplate",
9850
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
9849
+ "name": "RuleConditionBuilderTemplate",
9850
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts"
9851
9851
  }
9852
9852
  }
9853
9853
  ]
9854
9854
  },
9855
9855
  {
9856
9856
  "kind": "javascript-module",
9857
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
9857
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts",
9858
9858
  "declarations": [
9859
9859
  {
9860
9860
  "kind": "class",
9861
- "description": "Parenthesized group of conditions/nested groups for notification rule\ncriteria, joined to the previous sibling via AND/OR like a single\ncondition row - but bracketing its own children off from the rest of the\nlist, so e.g. \"(A && B) || C\" can be expressed without the AND silently\nspanning more than intended.",
9862
- "name": "RuleConditionGroup",
9861
+ "description": "Condition builder for notification rule criteria.",
9862
+ "name": "RuleConditionBuilder",
9863
9863
  "members": [
9864
9864
  {
9865
9865
  "kind": "field",
9866
- "name": "node",
9867
- "type": {
9868
- "text": "ConditionGroupEntity"
9869
- }
9870
- },
9871
- {
9872
- "kind": "field",
9873
- "name": "fields",
9874
- "type": {
9875
- "text": "Field[]"
9876
- },
9877
- "default": "[]"
9878
- },
9879
- {
9880
- "kind": "field",
9881
- "name": "isFirst",
9882
- "type": {
9883
- "text": "boolean"
9884
- },
9885
- "default": "false"
9886
- },
9887
- {
9888
- "kind": "field",
9889
- "name": "joinOperator",
9890
- "type": {
9891
- "text": "string"
9892
- }
9893
- },
9894
- {
9895
- "kind": "field",
9896
- "name": "groupChildren",
9897
- "type": {
9898
- "text": "ConditionNode[]"
9899
- },
9900
- "default": "[]"
9901
- },
9902
- {
9903
- "kind": "method",
9904
- "name": "nodeChanged"
9905
- },
9906
- {
9907
- "kind": "method",
9908
- "name": "joinOperatorChanged"
9909
- },
9910
- {
9911
- "kind": "method",
9912
- "name": "newCondition"
9913
- },
9914
- {
9915
- "kind": "method",
9916
- "name": "newGroup"
9917
- },
9918
- {
9919
- "kind": "method",
9920
- "name": "editChild",
9921
- "parameters": [
9922
- {
9923
- "name": "_editedChild",
9924
- "type": {
9925
- "text": "ConditionNode"
9926
- }
9927
- }
9928
- ]
9929
- },
9930
- {
9931
- "kind": "method",
9932
- "name": "deleteChild",
9933
- "parameters": [
9934
- {
9935
- "name": "deletedChild",
9936
- "type": {
9937
- "text": "ConditionNode"
9938
- }
9939
- }
9940
- ]
9941
- },
9942
- {
9943
- "kind": "method",
9944
- "name": "deleteSelf"
9945
- }
9946
- ],
9947
- "events": [
9948
- {
9949
- "description": "Fired when this whole group should be removed",
9950
- "name": "delete"
9951
- },
9952
- {
9953
- "description": "Fired when anything inside this group changes",
9954
- "name": "edit"
9955
- }
9956
- ],
9957
- "superclass": {
9958
- "name": "GenesisElement",
9959
- "package": "@genesislcap/web-core"
9960
- },
9961
- "tagName": "rule-condition-group",
9962
- "customElement": true
9963
- }
9964
- ],
9965
- "exports": [
9966
- {
9967
- "kind": "js",
9968
- "name": "RuleConditionGroup",
9969
- "declaration": {
9970
- "name": "RuleConditionGroup",
9971
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
9972
- }
9973
- },
9974
- {
9975
- "kind": "custom-element-definition",
9976
- "name": "rule-condition-group",
9977
- "declaration": {
9978
- "name": "RuleConditionGroup",
9979
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
9980
- }
9981
- }
9982
- ]
9983
- },
9984
- {
9985
- "kind": "javascript-module",
9986
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts",
9987
- "declarations": [
9988
- {
9989
- "kind": "variable",
9990
- "name": "RuleConditionBuilderTemplate",
9991
- "default": "html<RuleConditionBuilder>`\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-builder\">\n <rapid-select\n :value=${sync((x) => x.leftValue)}\n :initialValue=${sync((x) => x.leftValue)}\n title=${(x) => (x.leftValue ? JSON.parse(x.leftValue).FIELD_NAME : '')}\n class=\"left-value\"\n >\n ${repeat(\n (x) => x.getAllFields(),\n html`\n <rapid-option value=${(x) => JSON.stringify(x)} title=${(x) => x.FIELD_NAME}>\n ${(x) => x.FIELD_NAME}\n </rapid-option>\n `,\n )}\n </rapid-select>\n\n <rapid-select\n class=\"logical-operator${(x) =>\n classNames([\n '-null-and-blank',\n nullAndBlankLogicalOperatorValues.includes(LogicalOperator[x.logicalOperator]),\n ])}\"\n :value=${sync((x) => x.logicalOperator)}\n title=${(x) => x.logicalOperator}\n >\n ${repeat(\n (x) => x.getLogicalOperators(),\n html`\n <rapid-option value=${(x) => x.operator} title=${(x) => x}>\n ${(x) => x.label}\n </rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => !nullAndBlankLogicalOperatorValues.includes(LogicalOperator[x.logicalOperator]),\n html`\n <rapid-select\n class=\"right-criteria\"\n :value=${sync((x) => x.rightCriteria)}\n title=${(x) => x.rightCriteria}\n >\n ${repeat(\n (x) => x.getRightCriteria(),\n html`\n <rapid-option value=${(x) => x} title=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => x.rightCriteria === RightCriteria.VALUE,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.BOOLEAN,\n html`\n <rapid-select class=\"right-criteria-select\" :value=${sync((x) => x.rightValueText)}>\n <rapid-option value=\"true\">true</rapid-option>\n <rapid-option value=\"false\">false</rapid-option>\n </rapid-select>\n `,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === 'ENUM',\n html`\n <rapid-multiselect\n class=\"right-criteria-select\"\n :selectedOptions=${(x) => x.rightValueMultiSelect}\n @selectionChange=${(x, c) => {\n x.rightValueMultiSelect = (c.event as CustomEvent).detail;\n }}\n search=\"true\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${(x) => x.getEnumValues().map((value) => ({ value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n `,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.DATE,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n type=\"date\"\n ></rapid-text-field>\n `,\n html`\n ${whenElse(\n (x) =>\n JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.DATETIME,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n type=\"datetime-local\"\n ></rapid-text-field>\n `,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n placeholder=\"Value (comma-separate for multiple)\"\n autocomplete=\"off\"\n ></rapid-text-field>\n `,\n )}\n `,\n )}\n `,\n )}\n `,\n )}\n `,\n )}\n ${when(\n (x) => x.rightCriteria === RightCriteria.FIELD,\n html`\n <rapid-select\n class=\"right-criteria-select\"\n :value=${sync((x) => x.rightValueSelect)}\n title=${(x) => x.rightValueSelect}\n >\n ${repeat(\n (x) => x.getApplicableFields(),\n html`\n <rapid-option value=${(x) => x.FIELD_NAME} title=${(x) => x.FIELD_NAME}>\n ${(x) => x.FIELD_NAME}\n </rapid-option>\n `,\n )}\n </rapid-select>\n `,\n )}\n `,\n )}\n\n <rapid-button appearance=\"icon\" class=\"delete\" @click=${(x) => x.deleteCondition()}>\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`"
9992
- }
9993
- ],
9994
- "exports": [
9995
- {
9996
- "kind": "js",
9997
- "name": "RuleConditionBuilderTemplate",
9998
- "declaration": {
9999
- "name": "RuleConditionBuilderTemplate",
10000
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts"
10001
- }
10002
- }
10003
- ]
10004
- },
10005
- {
10006
- "kind": "javascript-module",
10007
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts",
10008
- "declarations": [
10009
- {
10010
- "kind": "class",
10011
- "description": "Condition builder for notification rule criteria.",
10012
- "name": "RuleConditionBuilder",
10013
- "members": [
10014
- {
10015
- "kind": "field",
10016
- "name": "condition",
9866
+ "name": "condition",
10017
9867
  "type": {
10018
9868
  "text": "ConditionBuilderEntity"
10019
9869
  }
@@ -10267,49 +10117,41 @@
10267
10117
  },
10268
10118
  {
10269
10119
  "kind": "javascript-module",
10270
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.template.ts",
10120
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
10271
10121
  "declarations": [
10272
10122
  {
10273
10123
  "kind": "variable",
10274
- "name": "TemplateConditionBuilderTemplate",
10275
- "default": "html<TemplateConditionBuilder>`\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-builder\">\n <rapid-select\n :value=${sync((x) => x.leftValue)}\n :initialValue=${sync((x) => x.leftValue)}\n class=\"left-value\"\n >\n ${repeat(\n (x) => x.leftValueItems,\n html<Field>`\n <rapid-option value=${(x) => JSON.stringify(x)}>${(x) => x.FIELD_NAME}</rapid-option>\n `,\n )}\n </rapid-select>\n\n <rapid-select\n class=\"logical-operator${(x) =>\n classNames([\n '-null-and-blank',\n nullAndBlankLogicalOperatorValues.includes(LogicalOperator[x.logicalOperator]),\n ])}\"\n :value=${sync((x) => x.logicalOperator)}\n >\n ${repeat(\n (_) => Object.values(LogicalOperator),\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => !nullAndBlankLogicalOperatorValues.includes(LogicalOperator[x.logicalOperator]),\n html`\n <rapid-select class=\"right-criteria\" :value=${sync((x) => x.rightCriteria)}>\n ${repeat(\n (x) => x.rightCriteriaOptions,\n html`\n <rapid-option value=${(x) => x}>${(x) => rightCriteriaLabel(x)}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => x.rightCriteria === RightCriteria.VALUE,\n html<TemplateConditionBuilder>`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.BOOLEAN,\n html`\n <rapid-select class=\"right-criteria-select\" :value=${sync((x) => x.rightValueText)}>\n <rapid-option value=\"true\">true</rapid-option>\n <rapid-option value=\"false\">false</rapid-option>\n </rapid-select>\n `,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === 'ENUM',\n html`\n <rapid-multiselect\n class=\"right-criteria-select\"\n :selectedOptions=${(x) => x.rightValueMultiSelect}\n @selectionChange=${(x, c) => {\n x.rightValueMultiSelect = (c.event as CustomEvent).detail;\n }}\n search=\"true\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${(x) => x.getEnumValues().map((value) => ({ value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n `,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n placeholder=\"Value (comma-separate for multiple)\"\n autocomplete=\"off\"\n ></rapid-text-field>\n `,\n )}\n `,\n )}\n `,\n )}\n ${when(\n (x) => x.rightCriteria === RightCriteria.USER_ENTRY,\n html<TemplateConditionBuilder>`\n <rapid-select class=\"right-criteria-select\" :value=${sync((x) => x.rightValueSelect)}>\n ${(x) => rightValueItemsOptions(x.rightValueItems)}\n </rapid-select>\n `,\n )}\n `,\n )}\n\n <rapid-button appearance=\"icon\" class=\"delete\" @click=${(x) => x.deleteCondition()}>\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`"
10124
+ "name": "RuleConditionGroupTemplate",
10125
+ "default": "html<RuleConditionGroup>`\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, RuleConditionGroup>`\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.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(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.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></rule-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`"
10276
10126
  }
10277
10127
  ],
10278
10128
  "exports": [
10279
10129
  {
10280
10130
  "kind": "js",
10281
- "name": "TemplateConditionBuilderTemplate",
10131
+ "name": "RuleConditionGroupTemplate",
10282
10132
  "declaration": {
10283
- "name": "TemplateConditionBuilderTemplate",
10284
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.template.ts"
10133
+ "name": "RuleConditionGroupTemplate",
10134
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
10285
10135
  }
10286
10136
  }
10287
10137
  ]
10288
10138
  },
10289
10139
  {
10290
10140
  "kind": "javascript-module",
10291
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts",
10141
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
10292
10142
  "declarations": [
10293
10143
  {
10294
10144
  "kind": "class",
10295
- "description": "Condition builder for template notification rules.",
10296
- "name": "TemplateConditionBuilder",
10145
+ "description": "Parenthesized group of conditions/nested groups for notification rule\ncriteria, joined to the previous sibling via AND/OR like a single\ncondition row - but bracketing its own children off from the rest of the\nlist, so e.g. \"(A && B) || C\" can be expressed without the AND silently\nspanning more than intended.",
10146
+ "name": "RuleConditionGroup",
10297
10147
  "members": [
10298
10148
  {
10299
10149
  "kind": "field",
10300
- "name": "condition",
10150
+ "name": "node",
10301
10151
  "type": {
10302
- "text": "ConditionBuilderEntity"
10152
+ "text": "ConditionGroupEntity"
10303
10153
  }
10304
10154
  },
10305
- {
10306
- "kind": "field",
10307
- "name": "parameters",
10308
- "type": {
10309
- "text": "Array<ParameterBuilderEntity>"
10310
- },
10311
- "default": "[]"
10312
- },
10313
10155
  {
10314
10156
  "kind": "field",
10315
10157
  "name": "fields",
@@ -10335,216 +10177,304 @@
10335
10177
  },
10336
10178
  {
10337
10179
  "kind": "field",
10338
- "name": "leftValue",
10339
- "type": {
10340
- "text": "any"
10341
- },
10342
- "default": "null"
10343
- },
10344
- {
10345
- "kind": "field",
10346
- "name": "leftValueItems",
10180
+ "name": "groupChildren",
10347
10181
  "type": {
10348
- "text": "Array<any>"
10182
+ "text": "ConditionNode[]"
10349
10183
  },
10350
10184
  "default": "[]"
10351
10185
  },
10352
10186
  {
10353
- "kind": "field",
10354
- "name": "logicalOperator",
10355
- "type": {
10356
- "text": "string"
10357
- },
10358
- "default": "null"
10187
+ "kind": "method",
10188
+ "name": "nodeChanged"
10359
10189
  },
10360
10190
  {
10361
- "kind": "field",
10362
- "name": "rightCriteria",
10363
- "type": {
10364
- "text": "string"
10365
- }
10191
+ "kind": "method",
10192
+ "name": "joinOperatorChanged"
10366
10193
  },
10367
10194
  {
10368
- "kind": "field",
10369
- "name": "rightValueText",
10370
- "type": {
10371
- "text": "string"
10372
- },
10373
- "default": "null"
10195
+ "kind": "method",
10196
+ "name": "newCondition"
10374
10197
  },
10375
10198
  {
10376
- "kind": "field",
10377
- "name": "rightValueSelect",
10378
- "type": {
10379
- "text": "string"
10380
- },
10381
- "default": "null"
10199
+ "kind": "method",
10200
+ "name": "newGroup"
10382
10201
  },
10383
10202
  {
10384
- "kind": "field",
10385
- "name": "rightValueItems",
10386
- "type": {
10387
- "text": "Array<any>"
10388
- },
10389
- "default": "[]"
10203
+ "kind": "method",
10204
+ "name": "editChild",
10205
+ "parameters": [
10206
+ {
10207
+ "name": "_editedChild",
10208
+ "type": {
10209
+ "text": "ConditionNode"
10210
+ }
10211
+ }
10212
+ ]
10390
10213
  },
10391
10214
  {
10392
- "kind": "field",
10393
- "name": "rightValueMultiSelect",
10394
- "type": {
10395
- "text": "string[]"
10396
- },
10397
- "default": "[]"
10215
+ "kind": "method",
10216
+ "name": "deleteChild",
10217
+ "parameters": [
10218
+ {
10219
+ "name": "deletedChild",
10220
+ "type": {
10221
+ "text": "ConditionNode"
10222
+ }
10223
+ }
10224
+ ]
10398
10225
  },
10399
10226
  {
10400
- "kind": "field",
10401
- "name": "rightCriteriaOptions",
10402
- "type": {
10403
- "text": "RightCriteria[]"
10404
- },
10405
- "readonly": true
10227
+ "kind": "method",
10228
+ "name": "deleteSelf"
10229
+ }
10230
+ ],
10231
+ "events": [
10232
+ {
10233
+ "description": "Fired when this whole group should be removed",
10234
+ "name": "delete"
10406
10235
  },
10236
+ {
10237
+ "description": "Fired when anything inside this group changes",
10238
+ "name": "edit"
10239
+ }
10240
+ ],
10241
+ "superclass": {
10242
+ "name": "GenesisElement",
10243
+ "package": "@genesislcap/web-core"
10244
+ },
10245
+ "tagName": "rule-condition-group",
10246
+ "customElement": true
10247
+ }
10248
+ ],
10249
+ "exports": [
10250
+ {
10251
+ "kind": "js",
10252
+ "name": "RuleConditionGroup",
10253
+ "declaration": {
10254
+ "name": "RuleConditionGroup",
10255
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10256
+ }
10257
+ },
10258
+ {
10259
+ "kind": "custom-element-definition",
10260
+ "name": "rule-condition-group",
10261
+ "declaration": {
10262
+ "name": "RuleConditionGroup",
10263
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10264
+ }
10265
+ }
10266
+ ]
10267
+ },
10268
+ {
10269
+ "kind": "javascript-module",
10270
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
10271
+ "declarations": [
10272
+ {
10273
+ "kind": "variable",
10274
+ "name": "ParameterBuilderStyles",
10275
+ "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`"
10276
+ }
10277
+ ],
10278
+ "exports": [
10279
+ {
10280
+ "kind": "js",
10281
+ "name": "ParameterBuilderStyles",
10282
+ "declaration": {
10283
+ "name": "ParameterBuilderStyles",
10284
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts"
10285
+ }
10286
+ }
10287
+ ]
10288
+ },
10289
+ {
10290
+ "kind": "javascript-module",
10291
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts",
10292
+ "declarations": [
10293
+ {
10294
+ "kind": "variable",
10295
+ "name": "ParameterBuilderTemplate",
10296
+ "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`"
10297
+ }
10298
+ ],
10299
+ "exports": [
10300
+ {
10301
+ "kind": "js",
10302
+ "name": "ParameterBuilderTemplate",
10303
+ "declaration": {
10304
+ "name": "ParameterBuilderTemplate",
10305
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts"
10306
+ }
10307
+ }
10308
+ ]
10309
+ },
10310
+ {
10311
+ "kind": "javascript-module",
10312
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts",
10313
+ "declarations": [
10314
+ {
10315
+ "kind": "class",
10316
+ "description": "Parameter builder for notification templates.",
10317
+ "name": "ParameterBuilder",
10318
+ "members": [
10407
10319
  {
10408
10320
  "kind": "field",
10409
- "name": "isStringLeftValue",
10321
+ "name": "parameter",
10410
10322
  "type": {
10411
- "text": "boolean"
10412
- },
10413
- "privacy": "private",
10414
- "readonly": true
10415
- },
10416
- {
10417
- "kind": "method",
10418
- "name": "deleteCondition"
10323
+ "text": "ParameterBuilderEntity"
10324
+ }
10419
10325
  },
10420
10326
  {
10421
- "kind": "method",
10422
- "name": "conditionChanged"
10327
+ "kind": "field",
10328
+ "name": "name",
10329
+ "type": {
10330
+ "text": "string"
10331
+ }
10423
10332
  },
10424
10333
  {
10425
- "kind": "method",
10426
- "name": "joinOperatorChanged"
10334
+ "kind": "field",
10335
+ "name": "label",
10336
+ "type": {
10337
+ "text": "string"
10338
+ }
10427
10339
  },
10428
10340
  {
10429
- "kind": "method",
10430
- "name": "parametersChanged"
10341
+ "kind": "field",
10342
+ "name": "type",
10343
+ "type": {
10344
+ "text": "string"
10345
+ }
10431
10346
  },
10432
10347
  {
10433
- "kind": "method",
10434
- "name": "getMatchingParameter",
10435
- "privacy": "private",
10436
- "return": {
10437
- "type": {
10438
- "text": "ParameterBuilderEntity | undefined"
10439
- }
10348
+ "kind": "field",
10349
+ "name": "sourceType",
10350
+ "type": {
10351
+ "text": "string"
10440
10352
  }
10441
10353
  },
10442
10354
  {
10443
- "kind": "method",
10444
- "name": "syncParameterBinding",
10445
- "privacy": "private",
10446
- "return": {
10447
- "type": {
10448
- "text": "boolean"
10449
- }
10355
+ "kind": "field",
10356
+ "name": "sourceSelected",
10357
+ "type": {
10358
+ "text": "string"
10450
10359
  }
10451
10360
  },
10452
10361
  {
10453
- "kind": "method",
10454
- "name": "resetToValueEditor",
10455
- "privacy": "private"
10362
+ "kind": "field",
10363
+ "name": "sourceTyped",
10364
+ "type": {
10365
+ "text": "string"
10366
+ }
10456
10367
  },
10457
10368
  {
10458
- "kind": "method",
10459
- "name": "fieldsChanged"
10369
+ "kind": "field",
10370
+ "name": "sourceTextField",
10371
+ "type": {
10372
+ "text": "TextField"
10373
+ }
10460
10374
  },
10461
10375
  {
10462
- "kind": "method",
10463
- "name": "logicalOperatorChanged"
10376
+ "kind": "field",
10377
+ "name": "sourceSelect",
10378
+ "type": {
10379
+ "text": "Select"
10380
+ }
10464
10381
  },
10465
10382
  {
10466
- "kind": "method",
10467
- "name": "assignLeftValue",
10468
- "privacy": "private"
10383
+ "kind": "field",
10384
+ "name": "reqRepItems",
10385
+ "type": {
10386
+ "text": "array"
10387
+ },
10388
+ "default": "['REQUEST_1', 'REQUEST_2', 'REQUEST_3']"
10469
10389
  },
10470
10390
  {
10471
10391
  "kind": "method",
10472
- "name": "leftValueChanged"
10392
+ "name": "deleteParameter"
10473
10393
  },
10474
10394
  {
10475
10395
  "kind": "method",
10476
- "name": "assignRightValue",
10477
- "privacy": "private"
10396
+ "name": "parameterChanged"
10478
10397
  },
10479
10398
  {
10480
10399
  "kind": "method",
10481
- "name": "rightCriteriaChanged"
10400
+ "name": "nameChanged"
10482
10401
  },
10483
10402
  {
10484
10403
  "kind": "method",
10485
- "name": "clearRightValueText",
10486
- "privacy": "private"
10404
+ "name": "labelChanged"
10487
10405
  },
10488
10406
  {
10489
10407
  "kind": "method",
10490
- "name": "clearRightValueSelect",
10491
- "privacy": "private"
10408
+ "name": "typeChanged"
10492
10409
  },
10493
10410
  {
10494
10411
  "kind": "method",
10495
- "name": "rightValueTextChanged"
10412
+ "name": "sourceTypeChanged"
10496
10413
  },
10497
10414
  {
10498
10415
  "kind": "method",
10499
- "name": "rightValueSelectChanged"
10416
+ "name": "sourceSelectedChanged"
10500
10417
  },
10501
10418
  {
10502
10419
  "kind": "method",
10503
- "name": "rightValueMultiSelectChanged"
10420
+ "name": "sourceTypedChanged"
10504
10421
  },
10505
10422
  {
10506
10423
  "kind": "method",
10507
- "name": "getEnumValues",
10508
- "return": {
10509
- "type": {
10510
- "text": "string[]"
10424
+ "name": "genericChanged",
10425
+ "privacy": "private",
10426
+ "parameters": [
10427
+ {
10428
+ "name": "parameterAttribute"
10429
+ },
10430
+ {
10431
+ "name": "value"
10511
10432
  }
10512
- }
10433
+ ]
10513
10434
  }
10514
10435
  ],
10515
10436
  "events": [
10516
10437
  {
10517
- "description": "Fired when a condition is deleted. detail: `ConditionBuilderEntity`",
10438
+ "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
10518
10439
  "name": "delete"
10519
10440
  },
10520
10441
  {
10521
- "description": "Fired when a condition is edited. detail: `ConditionBuilderEntity`",
10442
+ "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
10522
10443
  "name": "edit"
10523
10444
  }
10524
10445
  ],
10446
+ "attributes": [
10447
+ {
10448
+ "name": "parameter",
10449
+ "type": {
10450
+ "text": "ParameterBuilderEntity"
10451
+ },
10452
+ "fieldName": "parameter"
10453
+ }
10454
+ ],
10525
10455
  "superclass": {
10526
10456
  "name": "GenesisElement",
10527
10457
  "package": "@genesislcap/web-core"
10528
10458
  },
10529
- "tagName": "template-condition-builder",
10459
+ "tagName": "parameter-builder",
10530
10460
  "customElement": true
10531
10461
  }
10532
10462
  ],
10533
10463
  "exports": [
10534
10464
  {
10535
10465
  "kind": "js",
10536
- "name": "TemplateConditionBuilder",
10466
+ "name": "ParameterBuilder",
10537
10467
  "declaration": {
10538
- "name": "TemplateConditionBuilder",
10539
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts"
10468
+ "name": "ParameterBuilder",
10469
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10540
10470
  }
10541
10471
  },
10542
10472
  {
10543
10473
  "kind": "custom-element-definition",
10544
- "name": "template-condition-builder",
10474
+ "name": "parameter-builder",
10545
10475
  "declaration": {
10546
- "name": "TemplateConditionBuilder",
10547
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts"
10476
+ "name": "ParameterBuilder",
10477
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10548
10478
  }
10549
10479
  }
10550
10480
  ]
@@ -10709,214 +10639,284 @@
10709
10639
  },
10710
10640
  {
10711
10641
  "kind": "javascript-module",
10712
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
10713
- "declarations": [
10714
- {
10715
- "kind": "variable",
10716
- "name": "ParameterBuilderStyles",
10717
- "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`"
10718
- }
10719
- ],
10720
- "exports": [
10721
- {
10722
- "kind": "js",
10723
- "name": "ParameterBuilderStyles",
10724
- "declaration": {
10725
- "name": "ParameterBuilderStyles",
10726
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts"
10727
- }
10728
- }
10729
- ]
10730
- },
10731
- {
10732
- "kind": "javascript-module",
10733
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts",
10642
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.template.ts",
10734
10643
  "declarations": [
10735
10644
  {
10736
10645
  "kind": "variable",
10737
- "name": "ParameterBuilderTemplate",
10738
- "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`"
10646
+ "name": "TemplateConditionBuilderTemplate",
10647
+ "default": "html<TemplateConditionBuilder>`\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-builder\">\n <rapid-select\n :value=${sync((x) => x.leftValue)}\n :initialValue=${sync((x) => x.leftValue)}\n class=\"left-value\"\n >\n ${repeat(\n (x) => x.leftValueItems,\n html<Field>`\n <rapid-option value=${(x) => JSON.stringify(x)}>${(x) => x.FIELD_NAME}</rapid-option>\n `,\n )}\n </rapid-select>\n\n <rapid-select\n class=\"logical-operator${(x) =>\n classNames([\n '-null-and-blank',\n nullAndBlankLogicalOperatorValues.includes(LogicalOperator[x.logicalOperator]),\n ])}\"\n :value=${sync((x) => x.logicalOperator)}\n >\n ${repeat(\n (_) => Object.values(LogicalOperator),\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => !nullAndBlankLogicalOperatorValues.includes(LogicalOperator[x.logicalOperator]),\n html`\n <rapid-select class=\"right-criteria\" :value=${sync((x) => x.rightCriteria)}>\n ${repeat(\n (x) => x.rightCriteriaOptions,\n html`\n <rapid-option value=${(x) => x}>${(x) => rightCriteriaLabel(x)}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => x.rightCriteria === RightCriteria.VALUE,\n html<TemplateConditionBuilder>`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.BOOLEAN,\n html`\n <rapid-select class=\"right-criteria-select\" :value=${sync((x) => x.rightValueText)}>\n <rapid-option value=\"true\">true</rapid-option>\n <rapid-option value=\"false\">false</rapid-option>\n </rapid-select>\n `,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === 'ENUM',\n html`\n <rapid-multiselect\n class=\"right-criteria-select\"\n :selectedOptions=${(x) => x.rightValueMultiSelect}\n @selectionChange=${(x, c) => {\n x.rightValueMultiSelect = (c.event as CustomEvent).detail;\n }}\n search=\"true\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${(x) => x.getEnumValues().map((value) => ({ value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n `,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n placeholder=\"Value (comma-separate for multiple)\"\n autocomplete=\"off\"\n ></rapid-text-field>\n `,\n )}\n `,\n )}\n `,\n )}\n ${when(\n (x) => x.rightCriteria === RightCriteria.USER_ENTRY,\n html<TemplateConditionBuilder>`\n <rapid-select class=\"right-criteria-select\" :value=${sync((x) => x.rightValueSelect)}>\n ${(x) => rightValueItemsOptions(x.rightValueItems)}\n </rapid-select>\n `,\n )}\n `,\n )}\n\n <rapid-button appearance=\"icon\" class=\"delete\" @click=${(x) => x.deleteCondition()}>\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`"
10739
10648
  }
10740
10649
  ],
10741
10650
  "exports": [
10742
10651
  {
10743
10652
  "kind": "js",
10744
- "name": "ParameterBuilderTemplate",
10653
+ "name": "TemplateConditionBuilderTemplate",
10745
10654
  "declaration": {
10746
- "name": "ParameterBuilderTemplate",
10747
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts"
10655
+ "name": "TemplateConditionBuilderTemplate",
10656
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.template.ts"
10748
10657
  }
10749
10658
  }
10750
10659
  ]
10751
10660
  },
10752
10661
  {
10753
10662
  "kind": "javascript-module",
10754
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts",
10663
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts",
10755
10664
  "declarations": [
10756
10665
  {
10757
10666
  "kind": "class",
10758
- "description": "Parameter builder for notification templates.",
10759
- "name": "ParameterBuilder",
10667
+ "description": "Condition builder for template notification rules.",
10668
+ "name": "TemplateConditionBuilder",
10760
10669
  "members": [
10761
10670
  {
10762
10671
  "kind": "field",
10763
- "name": "parameter",
10672
+ "name": "condition",
10764
10673
  "type": {
10765
- "text": "ParameterBuilderEntity"
10674
+ "text": "ConditionBuilderEntity"
10766
10675
  }
10767
10676
  },
10768
10677
  {
10769
10678
  "kind": "field",
10770
- "name": "name",
10679
+ "name": "parameters",
10771
10680
  "type": {
10772
- "text": "string"
10773
- }
10681
+ "text": "Array<ParameterBuilderEntity>"
10682
+ },
10683
+ "default": "[]"
10774
10684
  },
10775
10685
  {
10776
10686
  "kind": "field",
10777
- "name": "label",
10687
+ "name": "fields",
10688
+ "type": {
10689
+ "text": "Field[]"
10690
+ },
10691
+ "default": "[]"
10692
+ },
10693
+ {
10694
+ "kind": "field",
10695
+ "name": "isFirst",
10696
+ "type": {
10697
+ "text": "boolean"
10698
+ },
10699
+ "default": "false"
10700
+ },
10701
+ {
10702
+ "kind": "field",
10703
+ "name": "joinOperator",
10778
10704
  "type": {
10779
10705
  "text": "string"
10780
10706
  }
10781
10707
  },
10782
10708
  {
10783
10709
  "kind": "field",
10784
- "name": "type",
10710
+ "name": "leftValue",
10711
+ "type": {
10712
+ "text": "any"
10713
+ },
10714
+ "default": "null"
10715
+ },
10716
+ {
10717
+ "kind": "field",
10718
+ "name": "leftValueItems",
10719
+ "type": {
10720
+ "text": "Array<any>"
10721
+ },
10722
+ "default": "[]"
10723
+ },
10724
+ {
10725
+ "kind": "field",
10726
+ "name": "logicalOperator",
10785
10727
  "type": {
10786
10728
  "text": "string"
10787
- }
10729
+ },
10730
+ "default": "null"
10788
10731
  },
10789
10732
  {
10790
10733
  "kind": "field",
10791
- "name": "sourceType",
10734
+ "name": "rightCriteria",
10792
10735
  "type": {
10793
10736
  "text": "string"
10794
10737
  }
10795
10738
  },
10796
10739
  {
10797
10740
  "kind": "field",
10798
- "name": "sourceSelected",
10741
+ "name": "rightValueText",
10799
10742
  "type": {
10800
10743
  "text": "string"
10801
- }
10744
+ },
10745
+ "default": "null"
10802
10746
  },
10803
10747
  {
10804
10748
  "kind": "field",
10805
- "name": "sourceTyped",
10749
+ "name": "rightValueSelect",
10806
10750
  "type": {
10807
10751
  "text": "string"
10808
- }
10752
+ },
10753
+ "default": "null"
10809
10754
  },
10810
10755
  {
10811
10756
  "kind": "field",
10812
- "name": "sourceTextField",
10757
+ "name": "rightValueItems",
10813
10758
  "type": {
10814
- "text": "TextField"
10815
- }
10759
+ "text": "Array<any>"
10760
+ },
10761
+ "default": "[]"
10816
10762
  },
10817
10763
  {
10818
10764
  "kind": "field",
10819
- "name": "sourceSelect",
10765
+ "name": "rightValueMultiSelect",
10820
10766
  "type": {
10821
- "text": "Select"
10822
- }
10767
+ "text": "string[]"
10768
+ },
10769
+ "default": "[]"
10823
10770
  },
10824
10771
  {
10825
10772
  "kind": "field",
10826
- "name": "reqRepItems",
10773
+ "name": "rightCriteriaOptions",
10827
10774
  "type": {
10828
- "text": "array"
10775
+ "text": "RightCriteria[]"
10829
10776
  },
10830
- "default": "['REQUEST_1', 'REQUEST_2', 'REQUEST_3']"
10777
+ "readonly": true
10778
+ },
10779
+ {
10780
+ "kind": "field",
10781
+ "name": "isStringLeftValue",
10782
+ "type": {
10783
+ "text": "boolean"
10784
+ },
10785
+ "privacy": "private",
10786
+ "readonly": true
10831
10787
  },
10832
10788
  {
10833
10789
  "kind": "method",
10834
- "name": "deleteParameter"
10790
+ "name": "deleteCondition"
10835
10791
  },
10836
10792
  {
10837
10793
  "kind": "method",
10838
- "name": "parameterChanged"
10794
+ "name": "conditionChanged"
10839
10795
  },
10840
10796
  {
10841
10797
  "kind": "method",
10842
- "name": "nameChanged"
10798
+ "name": "joinOperatorChanged"
10843
10799
  },
10844
10800
  {
10845
10801
  "kind": "method",
10846
- "name": "labelChanged"
10802
+ "name": "parametersChanged"
10847
10803
  },
10848
10804
  {
10849
10805
  "kind": "method",
10850
- "name": "typeChanged"
10806
+ "name": "getMatchingParameter",
10807
+ "privacy": "private",
10808
+ "return": {
10809
+ "type": {
10810
+ "text": "ParameterBuilderEntity | undefined"
10811
+ }
10812
+ }
10851
10813
  },
10852
10814
  {
10853
10815
  "kind": "method",
10854
- "name": "sourceTypeChanged"
10816
+ "name": "syncParameterBinding",
10817
+ "privacy": "private",
10818
+ "return": {
10819
+ "type": {
10820
+ "text": "boolean"
10821
+ }
10822
+ }
10855
10823
  },
10856
10824
  {
10857
10825
  "kind": "method",
10858
- "name": "sourceSelectedChanged"
10826
+ "name": "resetToValueEditor",
10827
+ "privacy": "private"
10859
10828
  },
10860
10829
  {
10861
10830
  "kind": "method",
10862
- "name": "sourceTypedChanged"
10831
+ "name": "fieldsChanged"
10863
10832
  },
10864
10833
  {
10865
10834
  "kind": "method",
10866
- "name": "genericChanged",
10867
- "privacy": "private",
10868
- "parameters": [
10869
- {
10870
- "name": "parameterAttribute"
10871
- },
10872
- {
10873
- "name": "value"
10835
+ "name": "logicalOperatorChanged"
10836
+ },
10837
+ {
10838
+ "kind": "method",
10839
+ "name": "assignLeftValue",
10840
+ "privacy": "private"
10841
+ },
10842
+ {
10843
+ "kind": "method",
10844
+ "name": "leftValueChanged"
10845
+ },
10846
+ {
10847
+ "kind": "method",
10848
+ "name": "assignRightValue",
10849
+ "privacy": "private"
10850
+ },
10851
+ {
10852
+ "kind": "method",
10853
+ "name": "rightCriteriaChanged"
10854
+ },
10855
+ {
10856
+ "kind": "method",
10857
+ "name": "clearRightValueText",
10858
+ "privacy": "private"
10859
+ },
10860
+ {
10861
+ "kind": "method",
10862
+ "name": "clearRightValueSelect",
10863
+ "privacy": "private"
10864
+ },
10865
+ {
10866
+ "kind": "method",
10867
+ "name": "rightValueTextChanged"
10868
+ },
10869
+ {
10870
+ "kind": "method",
10871
+ "name": "rightValueSelectChanged"
10872
+ },
10873
+ {
10874
+ "kind": "method",
10875
+ "name": "rightValueMultiSelectChanged"
10876
+ },
10877
+ {
10878
+ "kind": "method",
10879
+ "name": "getEnumValues",
10880
+ "return": {
10881
+ "type": {
10882
+ "text": "string[]"
10874
10883
  }
10875
- ]
10884
+ }
10876
10885
  }
10877
10886
  ],
10878
10887
  "events": [
10879
10888
  {
10880
- "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
10889
+ "description": "Fired when a condition is deleted. detail: `ConditionBuilderEntity`",
10881
10890
  "name": "delete"
10882
10891
  },
10883
10892
  {
10884
- "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
10893
+ "description": "Fired when a condition is edited. detail: `ConditionBuilderEntity`",
10885
10894
  "name": "edit"
10886
10895
  }
10887
10896
  ],
10888
- "attributes": [
10889
- {
10890
- "name": "parameter",
10891
- "type": {
10892
- "text": "ParameterBuilderEntity"
10893
- },
10894
- "fieldName": "parameter"
10895
- }
10896
- ],
10897
10897
  "superclass": {
10898
10898
  "name": "GenesisElement",
10899
10899
  "package": "@genesislcap/web-core"
10900
10900
  },
10901
- "tagName": "parameter-builder",
10901
+ "tagName": "template-condition-builder",
10902
10902
  "customElement": true
10903
10903
  }
10904
10904
  ],
10905
10905
  "exports": [
10906
10906
  {
10907
10907
  "kind": "js",
10908
- "name": "ParameterBuilder",
10908
+ "name": "TemplateConditionBuilder",
10909
10909
  "declaration": {
10910
- "name": "ParameterBuilder",
10911
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10910
+ "name": "TemplateConditionBuilder",
10911
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts"
10912
10912
  }
10913
10913
  },
10914
10914
  {
10915
10915
  "kind": "custom-element-definition",
10916
- "name": "parameter-builder",
10916
+ "name": "template-condition-builder",
10917
10917
  "declaration": {
10918
- "name": "ParameterBuilder",
10919
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10918
+ "name": "TemplateConditionBuilder",
10919
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts"
10920
10920
  }
10921
10921
  }
10922
10922
  ]