@genesislcap/pbc-notify-ui 15.71.0 → 15.72.0-FUI-2629.7

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.
@@ -5295,95 +5295,6 @@
5295
5295
  }
5296
5296
  ]
5297
5297
  },
5298
- {
5299
- "kind": "javascript-module",
5300
- "path": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts",
5301
- "declarations": [
5302
- {
5303
- "kind": "variable",
5304
- "name": "ConditionBuilderStyles",
5305
- "default": "css`\n .condition-builder {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n rapid-button {\n margin: 0;\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the condition it joins,\n rendered as a pair of small text links rather than buttons - reads like\n a sentence connector (\"... and ...\") instead of a UI control competing\n with the row's fields for attention. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n .delete {\n margin: 0;\n display: flex;\n justify-content: center;\n height: calc(var(--design-unit) * 9px);\n }\n\n .delete:hover {\n background-color: color-mix(in srgb, var(--neutral-foreground-rest), transparent 89%);\n }\n\n rapid-text-field {\n width: 100%;\n margin-bottom: 0;\n }\n\n rapid-text-field::part(root) {\n height: calc(var(--design-unit) * 9px);\n }\n\n rapid-select {\n min-width: auto;\n }\n\n rapid-select.left-value::part(control) {\n width: 250px;\n }\n\n rapid-select.logical-operator::part(control) {\n width: 160px;\n }\n\n .logical-operator-null-and-blank {\n width: 100%;\n }\n\n rapid-select.right-criteria::part(control) {\n width: 135px;\n }\n\n rapid-select.right-criteria-user-entry {\n width: 100%;\n }\n\n rapid-select.right-criteria-select {\n width: 100%;\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n`"
5306
- },
5307
- {
5308
- "kind": "variable",
5309
- "name": "ConditionGroupStyles",
5310
- "default": "css`\n .condition-group-row {\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the group it joins - see\n ConditionBuilderStyles' .join-toggle-row/.join-text for why it's a pair\n of text links rather than buttons. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n /* A full bordered box reads as \"this is one parenthesized unit\" more\n literally than a left rail - it nests naturally too, a group inside a\n group just gets a second box drawn inside the first, like actual nested\n parens would look. */\n .condition-group-box {\n flex: 1;\n min-width: 0;\n border: calc(var(--design-unit) * 0.5px) solid\n color-mix(in srgb, var(--accent-fill-rest), transparent 25%);\n border-radius: calc(var(--design-unit) * 1px);\n padding: calc(var(--design-unit) * 2px);\n background-color: color-mix(in srgb, var(--accent-fill-rest), transparent 96%);\n }\n\n .condition-group-box > .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-top: calc(var(--design-unit) * 1px);\n }\n\n .condition-group-box > .content-row rapid-button {\n font-size: 12px;\n }\n\n rule-condition-builder,\n rule-condition-group,\n template-condition-builder,\n template-condition-group {\n display: block;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .delete-group {\n margin: 0;\n opacity: 60%;\n }\n\n .delete-group:hover {\n opacity: 100%;\n }\n`"
5311
- }
5312
- ],
5313
- "exports": [
5314
- {
5315
- "kind": "js",
5316
- "name": "ConditionBuilderStyles",
5317
- "declaration": {
5318
- "name": "ConditionBuilderStyles",
5319
- "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5320
- }
5321
- },
5322
- {
5323
- "kind": "js",
5324
- "name": "ConditionGroupStyles",
5325
- "declaration": {
5326
- "name": "ConditionGroupStyles",
5327
- "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5328
- }
5329
- }
5330
- ]
5331
- },
5332
- {
5333
- "kind": "javascript-module",
5334
- "path": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts",
5335
- "declarations": [
5336
- {
5337
- "kind": "variable",
5338
- "name": "DynamicRuleManagementStyles",
5339
- "default": "css`\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n flex-direction: row-reverse;\n }\n\n .grid {\n height: 100%;\n }\n`"
5340
- },
5341
- {
5342
- "kind": "variable",
5343
- "name": "DynamicRuleDialogStyles",
5344
- "default": "css`\n ${scrollbarStyles}\n ${top}\n ${bottom}\n\n rapid-modal::part(dialog) {\n padding: 0;\n background: var(--neutral-layer-4);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .dialog-content {\n display: flex;\n flex-direction: column;\n width: ${String(modalWidthPx)}px;\n max-height: 600px;\n overflow-y: scroll;\n gap: calc(var(--design-unit) * 3px);\n padding: calc(var(--design-unit) * 4px);\n }\n\n .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 3px);\n }\n\n .control {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .topic-lock-hint {\n color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));\n font-size: var(--type-ramp-minus-1-font-size);\n line-height: var(--type-ramp-minus-1-line-height);\n }\n\n .items {\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n display: flex;\n padding: calc(var(--design-unit) * 2px);\n flex-direction: column;\n }\n\n .item {\n gap: 0;\n flex-direction: column;\n margin-bottom: 0;\n }\n\n ${textField}\n ${select}\n\n rapid-button {\n margin: 0;\n }\n\n rapid-select {\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n\n .horizontal {\n flex-direction: row;\n }\n\n .destination {\n align-self: center;\n }\n\n .topic {\n min-width: revert-layer;\n }\n\n .expression-preview {\n width: 100%;\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .expression-preview::part(control) {\n font-family: var(--body-font, monospace);\n font-size: 12px;\n color: var(--neutral-foreground-hint);\n min-height: calc(var(--design-unit) * 12px);\n resize: vertical;\n }\n\n .alert-sound {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 2px);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound .file-input {\n display: none;\n }\n\n .alert-sound-row {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n flex-wrap: wrap;\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound-name {\n flex: 1;\n min-width: 120px;\n color: var(--neutral-foreground-hint);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`"
5345
- }
5346
- ],
5347
- "exports": [
5348
- {
5349
- "kind": "js",
5350
- "name": "DynamicRuleManagementStyles",
5351
- "declaration": {
5352
- "name": "DynamicRuleManagementStyles",
5353
- "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5354
- }
5355
- },
5356
- {
5357
- "kind": "js",
5358
- "name": "DynamicRuleDialogStyles",
5359
- "declaration": {
5360
- "name": "DynamicRuleDialogStyles",
5361
- "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5362
- }
5363
- }
5364
- ]
5365
- },
5366
- {
5367
- "kind": "javascript-module",
5368
- "path": "src/components/foundation-notification-dashboard/styles/management.styles.ts",
5369
- "declarations": [
5370
- {
5371
- "kind": "variable",
5372
- "name": "managementGridStyles",
5373
- "default": "css`\n :host {\n height: 100%;\n }\n\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n }\n\n .grid {\n height: 100%;\n }\n`"
5374
- }
5375
- ],
5376
- "exports": [
5377
- {
5378
- "kind": "js",
5379
- "name": "managementGridStyles",
5380
- "declaration": {
5381
- "name": "managementGridStyles",
5382
- "module": "src/components/foundation-notification-dashboard/styles/management.styles.ts"
5383
- }
5384
- }
5385
- ]
5386
- },
5387
5298
  {
5388
5299
  "kind": "javascript-module",
5389
5300
  "path": "src/components/foundation-notification-dashboard/types/expression-type.ts",
@@ -5984,6 +5895,95 @@
5984
5895
  }
5985
5896
  ]
5986
5897
  },
5898
+ {
5899
+ "kind": "javascript-module",
5900
+ "path": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts",
5901
+ "declarations": [
5902
+ {
5903
+ "kind": "variable",
5904
+ "name": "ConditionBuilderStyles",
5905
+ "default": "css`\n .condition-builder {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n rapid-button {\n margin: 0;\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the condition it joins,\n rendered as a pair of small text links rather than buttons - reads like\n a sentence connector (\"... and ...\") instead of a UI control competing\n with the row's fields for attention. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n .delete {\n margin: 0;\n display: flex;\n justify-content: center;\n height: calc(var(--design-unit) * 9px);\n }\n\n .delete:hover {\n background-color: color-mix(in srgb, var(--neutral-foreground-rest), transparent 89%);\n }\n\n rapid-text-field {\n width: 100%;\n margin-bottom: 0;\n }\n\n rapid-text-field::part(root) {\n height: calc(var(--design-unit) * 9px);\n }\n\n rapid-select {\n min-width: auto;\n }\n\n rapid-select.left-value::part(control) {\n width: 250px;\n }\n\n rapid-select.logical-operator::part(control) {\n width: 160px;\n }\n\n .logical-operator-null-and-blank {\n width: 100%;\n }\n\n rapid-select.right-criteria::part(control) {\n width: 135px;\n }\n\n rapid-select.right-criteria-user-entry {\n width: 100%;\n }\n\n rapid-select.right-criteria-select {\n width: 100%;\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n`"
5906
+ },
5907
+ {
5908
+ "kind": "variable",
5909
+ "name": "ConditionGroupStyles",
5910
+ "default": "css`\n .condition-group-row {\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the group it joins - see\n ConditionBuilderStyles' .join-toggle-row/.join-text for why it's a pair\n of text links rather than buttons. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n /* A full bordered box reads as \"this is one parenthesized unit\" more\n literally than a left rail - it nests naturally too, a group inside a\n group just gets a second box drawn inside the first, like actual nested\n parens would look. */\n .condition-group-box {\n flex: 1;\n min-width: 0;\n border: calc(var(--design-unit) * 0.5px) solid\n color-mix(in srgb, var(--accent-fill-rest), transparent 25%);\n border-radius: calc(var(--design-unit) * 1px);\n padding: calc(var(--design-unit) * 2px);\n background-color: color-mix(in srgb, var(--accent-fill-rest), transparent 96%);\n }\n\n .condition-group-box > .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-top: calc(var(--design-unit) * 1px);\n }\n\n .condition-group-box > .content-row rapid-button {\n font-size: 12px;\n }\n\n rule-condition-builder,\n rule-condition-group,\n template-condition-builder,\n template-condition-group {\n display: block;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .delete-group {\n margin: 0;\n opacity: 60%;\n }\n\n .delete-group:hover {\n opacity: 100%;\n }\n`"
5911
+ }
5912
+ ],
5913
+ "exports": [
5914
+ {
5915
+ "kind": "js",
5916
+ "name": "ConditionBuilderStyles",
5917
+ "declaration": {
5918
+ "name": "ConditionBuilderStyles",
5919
+ "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5920
+ }
5921
+ },
5922
+ {
5923
+ "kind": "js",
5924
+ "name": "ConditionGroupStyles",
5925
+ "declaration": {
5926
+ "name": "ConditionGroupStyles",
5927
+ "module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
5928
+ }
5929
+ }
5930
+ ]
5931
+ },
5932
+ {
5933
+ "kind": "javascript-module",
5934
+ "path": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts",
5935
+ "declarations": [
5936
+ {
5937
+ "kind": "variable",
5938
+ "name": "DynamicRuleManagementStyles",
5939
+ "default": "css`\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n flex-direction: row-reverse;\n }\n\n .grid {\n height: 100%;\n }\n`"
5940
+ },
5941
+ {
5942
+ "kind": "variable",
5943
+ "name": "DynamicRuleDialogStyles",
5944
+ "default": "css`\n ${scrollbarStyles}\n ${top}\n ${bottom}\n\n rapid-modal::part(dialog) {\n padding: 0;\n background: var(--neutral-layer-4);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .dialog-content {\n display: flex;\n flex-direction: column;\n width: ${String(modalWidthPx)}px;\n max-height: 600px;\n overflow-y: scroll;\n gap: calc(var(--design-unit) * 3px);\n padding: calc(var(--design-unit) * 4px);\n }\n\n .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 3px);\n }\n\n .control {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .topic-lock-hint {\n color: var(--neutral-foreground-hint, var(--neutral-foreground-rest));\n font-size: var(--type-ramp-minus-1-font-size);\n line-height: var(--type-ramp-minus-1-line-height);\n }\n\n .items {\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n display: flex;\n padding: calc(var(--design-unit) * 2px);\n flex-direction: column;\n }\n\n .item {\n gap: 0;\n flex-direction: column;\n margin-bottom: 0;\n }\n\n ${textField}\n ${select}\n\n rapid-button {\n margin: 0;\n }\n\n rapid-select {\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n\n .horizontal {\n flex-direction: row;\n }\n\n .destination {\n align-self: center;\n }\n\n .topic {\n min-width: revert-layer;\n }\n\n .expression-preview {\n width: 100%;\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .expression-preview::part(control) {\n font-family: var(--body-font, monospace);\n font-size: 12px;\n color: var(--neutral-foreground-hint);\n min-height: calc(var(--design-unit) * 12px);\n resize: vertical;\n }\n\n .alert-sound {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 2px);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound .file-input {\n display: none;\n }\n\n .alert-sound-row {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n flex-wrap: wrap;\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound-name {\n flex: 1;\n min-width: 120px;\n color: var(--neutral-foreground-hint);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`"
5945
+ }
5946
+ ],
5947
+ "exports": [
5948
+ {
5949
+ "kind": "js",
5950
+ "name": "DynamicRuleManagementStyles",
5951
+ "declaration": {
5952
+ "name": "DynamicRuleManagementStyles",
5953
+ "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5954
+ }
5955
+ },
5956
+ {
5957
+ "kind": "js",
5958
+ "name": "DynamicRuleDialogStyles",
5959
+ "declaration": {
5960
+ "name": "DynamicRuleDialogStyles",
5961
+ "module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
5962
+ }
5963
+ }
5964
+ ]
5965
+ },
5966
+ {
5967
+ "kind": "javascript-module",
5968
+ "path": "src/components/foundation-notification-dashboard/styles/management.styles.ts",
5969
+ "declarations": [
5970
+ {
5971
+ "kind": "variable",
5972
+ "name": "managementGridStyles",
5973
+ "default": "css`\n :host {\n height: 100%;\n }\n\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n }\n\n .grid {\n height: 100%;\n }\n`"
5974
+ }
5975
+ ],
5976
+ "exports": [
5977
+ {
5978
+ "kind": "js",
5979
+ "name": "managementGridStyles",
5980
+ "declaration": {
5981
+ "name": "managementGridStyles",
5982
+ "module": "src/components/foundation-notification-dashboard/styles/management.styles.ts"
5983
+ }
5984
+ }
5985
+ ]
5986
+ },
5987
5987
  {
5988
5988
  "kind": "javascript-module",
5989
5989
  "path": "src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.styles.ts",
@@ -9987,39 +9987,39 @@
9987
9987
  },
9988
9988
  {
9989
9989
  "kind": "javascript-module",
9990
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts",
9990
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
9991
9991
  "declarations": [
9992
9992
  {
9993
9993
  "kind": "variable",
9994
- "name": "RuleConditionBuilderTemplate",
9995
- "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`"
9994
+ "name": "RuleConditionGroupTemplate",
9995
+ "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`"
9996
9996
  }
9997
9997
  ],
9998
9998
  "exports": [
9999
9999
  {
10000
10000
  "kind": "js",
10001
- "name": "RuleConditionBuilderTemplate",
10001
+ "name": "RuleConditionGroupTemplate",
10002
10002
  "declaration": {
10003
- "name": "RuleConditionBuilderTemplate",
10004
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts"
10003
+ "name": "RuleConditionGroupTemplate",
10004
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
10005
10005
  }
10006
10006
  }
10007
10007
  ]
10008
10008
  },
10009
10009
  {
10010
10010
  "kind": "javascript-module",
10011
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts",
10011
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
10012
10012
  "declarations": [
10013
10013
  {
10014
10014
  "kind": "class",
10015
- "description": "Condition builder for notification rule criteria.",
10016
- "name": "RuleConditionBuilder",
10015
+ "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.",
10016
+ "name": "RuleConditionGroup",
10017
10017
  "members": [
10018
10018
  {
10019
10019
  "kind": "field",
10020
- "name": "condition",
10020
+ "name": "node",
10021
10021
  "type": {
10022
- "text": "ConditionBuilderEntity"
10022
+ "text": "ConditionGroupEntity"
10023
10023
  }
10024
10024
  },
10025
10025
  {
@@ -10047,192 +10047,64 @@
10047
10047
  },
10048
10048
  {
10049
10049
  "kind": "field",
10050
- "name": "leftValue",
10051
- "type": {
10052
- "text": "string"
10053
- },
10054
- "default": "null"
10055
- },
10056
- {
10057
- "kind": "field",
10058
- "name": "leftValueItems",
10050
+ "name": "groupChildren",
10059
10051
  "type": {
10060
- "text": "Array<any>"
10052
+ "text": "ConditionNode[]"
10061
10053
  },
10062
10054
  "default": "[]"
10063
10055
  },
10064
10056
  {
10065
- "kind": "field",
10066
- "name": "logicalOperator",
10067
- "type": {
10068
- "text": "string"
10069
- },
10070
- "default": "null"
10071
- },
10072
- {
10073
- "kind": "field",
10074
- "name": "rightCriteria",
10075
- "type": {
10076
- "text": "string"
10077
- }
10078
- },
10079
- {
10080
- "kind": "field",
10081
- "name": "rightValueText",
10082
- "type": {
10083
- "text": "string"
10084
- },
10085
- "default": "null"
10086
- },
10087
- {
10088
- "kind": "field",
10089
- "name": "rightValueSelect",
10090
- "type": {
10091
- "text": "string"
10092
- },
10093
- "default": "null"
10057
+ "kind": "method",
10058
+ "name": "nodeChanged"
10094
10059
  },
10095
10060
  {
10096
- "kind": "field",
10097
- "name": "rightValueMultiSelect",
10098
- "type": {
10099
- "text": "string[]"
10100
- },
10101
- "default": "[]"
10061
+ "kind": "method",
10062
+ "name": "joinOperatorChanged"
10102
10063
  },
10103
10064
  {
10104
10065
  "kind": "method",
10105
- "name": "deleteCondition"
10066
+ "name": "newCondition"
10106
10067
  },
10107
10068
  {
10108
10069
  "kind": "method",
10109
- "name": "conditionChanged"
10070
+ "name": "newGroup"
10110
10071
  },
10111
10072
  {
10112
10073
  "kind": "method",
10113
- "name": "joinOperatorChanged"
10114
- },
10115
- {
10116
- "kind": "method",
10117
- "name": "fieldsChanged"
10118
- },
10119
- {
10120
- "kind": "method",
10121
- "name": "assignLeftValue",
10122
- "privacy": "private"
10123
- },
10124
- {
10125
- "kind": "method",
10126
- "name": "assignRightValue"
10127
- },
10128
- {
10129
- "kind": "method",
10130
- "name": "getRightCriteria",
10131
- "return": {
10132
- "type": {
10133
- "text": "Array<any>"
10134
- }
10135
- }
10136
- },
10137
- {
10138
- "kind": "method",
10139
- "name": "getLogicalOperators",
10140
- "return": {
10141
- "type": {
10142
- "text": "Array<any>"
10143
- }
10144
- }
10145
- },
10146
- {
10147
- "kind": "method",
10148
- "name": "leftValueChanged"
10149
- },
10150
- {
10151
- "kind": "method",
10152
- "name": "logicalOperatorChanged"
10153
- },
10154
- {
10155
- "kind": "method",
10156
- "name": "rightCriteriaChanged"
10157
- },
10158
- {
10159
- "kind": "method",
10160
- "name": "clearRightValueText",
10161
- "privacy": "private"
10162
- },
10163
- {
10164
- "kind": "method",
10165
- "name": "clearRightValueSelect",
10166
- "privacy": "private"
10167
- },
10168
- {
10169
- "kind": "method",
10170
- "name": "rightValueTextChanged"
10171
- },
10172
- {
10173
- "kind": "method",
10174
- "name": "rightValueSelectChanged"
10175
- },
10176
- {
10177
- "kind": "method",
10178
- "name": "rightValueMultiSelectChanged"
10179
- },
10180
- {
10181
- "kind": "method",
10182
- "name": "getEnumValues",
10183
- "return": {
10184
- "type": {
10185
- "text": "string[]"
10186
- }
10187
- }
10188
- },
10189
- {
10190
- "kind": "method",
10191
- "name": "convertDateTime",
10074
+ "name": "editChild",
10192
10075
  "parameters": [
10193
10076
  {
10194
- "name": "dateTimeStr",
10077
+ "name": "_editedChild",
10195
10078
  "type": {
10196
- "text": "string"
10079
+ "text": "ConditionNode"
10197
10080
  }
10198
10081
  }
10199
10082
  ]
10200
10083
  },
10201
10084
  {
10202
10085
  "kind": "method",
10203
- "name": "convertLongForDatePicker",
10086
+ "name": "deleteChild",
10204
10087
  "parameters": [
10205
10088
  {
10206
- "name": "value",
10207
- "type": {
10208
- "text": "number"
10209
- }
10210
- },
10211
- {
10212
- "name": "time",
10213
- "default": "false",
10089
+ "name": "deletedChild",
10214
10090
  "type": {
10215
- "text": "boolean"
10091
+ "text": "ConditionNode"
10216
10092
  }
10217
10093
  }
10218
10094
  ]
10219
10095
  },
10220
10096
  {
10221
10097
  "kind": "method",
10222
- "name": "getAllFields"
10223
- },
10224
- {
10225
- "kind": "method",
10226
- "name": "getApplicableFields"
10098
+ "name": "deleteSelf"
10227
10099
  }
10228
10100
  ],
10229
10101
  "events": [
10230
10102
  {
10231
- "description": "Fired when a condition is deleted. detail: `ConditionBuilderEntity`",
10103
+ "description": "Fired when this whole group should be removed",
10232
10104
  "name": "delete"
10233
10105
  },
10234
10106
  {
10235
- "description": "Fired when a condition is edited. detail: `ConditionBuilderEntity`",
10107
+ "description": "Fired when anything inside this group changes",
10236
10108
  "name": "edit"
10237
10109
  }
10238
10110
  ],
@@ -10240,70 +10112,64 @@
10240
10112
  "name": "GenesisElement",
10241
10113
  "package": "@genesislcap/web-core"
10242
10114
  },
10243
- "tagName": "rule-condition-builder",
10115
+ "tagName": "rule-condition-group",
10244
10116
  "customElement": true
10245
10117
  }
10246
10118
  ],
10247
10119
  "exports": [
10248
10120
  {
10249
10121
  "kind": "js",
10250
- "name": "RuleConditionBuilder",
10122
+ "name": "RuleConditionGroup",
10251
10123
  "declaration": {
10252
- "name": "RuleConditionBuilder",
10253
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts"
10124
+ "name": "RuleConditionGroup",
10125
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10254
10126
  }
10255
10127
  },
10256
10128
  {
10257
10129
  "kind": "custom-element-definition",
10258
- "name": "rule-condition-builder",
10130
+ "name": "rule-condition-group",
10259
10131
  "declaration": {
10260
- "name": "RuleConditionBuilder",
10261
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts"
10132
+ "name": "RuleConditionGroup",
10133
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10262
10134
  }
10263
10135
  }
10264
10136
  ]
10265
10137
  },
10266
10138
  {
10267
10139
  "kind": "javascript-module",
10268
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.types.ts",
10269
- "declarations": [],
10270
- "exports": []
10271
- },
10272
- {
10273
- "kind": "javascript-module",
10274
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
10140
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts",
10275
10141
  "declarations": [
10276
10142
  {
10277
10143
  "kind": "variable",
10278
- "name": "RuleConditionGroupTemplate",
10279
- "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`"
10144
+ "name": "RuleConditionBuilderTemplate",
10145
+ "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`"
10280
10146
  }
10281
10147
  ],
10282
10148
  "exports": [
10283
10149
  {
10284
10150
  "kind": "js",
10285
- "name": "RuleConditionGroupTemplate",
10151
+ "name": "RuleConditionBuilderTemplate",
10286
10152
  "declaration": {
10287
- "name": "RuleConditionGroupTemplate",
10288
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
10153
+ "name": "RuleConditionBuilderTemplate",
10154
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts"
10289
10155
  }
10290
10156
  }
10291
10157
  ]
10292
10158
  },
10293
10159
  {
10294
10160
  "kind": "javascript-module",
10295
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
10161
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts",
10296
10162
  "declarations": [
10297
10163
  {
10298
10164
  "kind": "class",
10299
- "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.",
10300
- "name": "RuleConditionGroup",
10165
+ "description": "Condition builder for notification rule criteria.",
10166
+ "name": "RuleConditionBuilder",
10301
10167
  "members": [
10302
10168
  {
10303
10169
  "kind": "field",
10304
- "name": "node",
10170
+ "name": "condition",
10305
10171
  "type": {
10306
- "text": "ConditionGroupEntity"
10172
+ "text": "ConditionBuilderEntity"
10307
10173
  }
10308
10174
  },
10309
10175
  {
@@ -10331,15 +10197,66 @@
10331
10197
  },
10332
10198
  {
10333
10199
  "kind": "field",
10334
- "name": "groupChildren",
10200
+ "name": "leftValue",
10335
10201
  "type": {
10336
- "text": "ConditionNode[]"
10202
+ "text": "string"
10203
+ },
10204
+ "default": "null"
10205
+ },
10206
+ {
10207
+ "kind": "field",
10208
+ "name": "leftValueItems",
10209
+ "type": {
10210
+ "text": "Array<any>"
10211
+ },
10212
+ "default": "[]"
10213
+ },
10214
+ {
10215
+ "kind": "field",
10216
+ "name": "logicalOperator",
10217
+ "type": {
10218
+ "text": "string"
10219
+ },
10220
+ "default": "null"
10221
+ },
10222
+ {
10223
+ "kind": "field",
10224
+ "name": "rightCriteria",
10225
+ "type": {
10226
+ "text": "string"
10227
+ }
10228
+ },
10229
+ {
10230
+ "kind": "field",
10231
+ "name": "rightValueText",
10232
+ "type": {
10233
+ "text": "string"
10234
+ },
10235
+ "default": "null"
10236
+ },
10237
+ {
10238
+ "kind": "field",
10239
+ "name": "rightValueSelect",
10240
+ "type": {
10241
+ "text": "string"
10242
+ },
10243
+ "default": "null"
10244
+ },
10245
+ {
10246
+ "kind": "field",
10247
+ "name": "rightValueMultiSelect",
10248
+ "type": {
10249
+ "text": "string[]"
10337
10250
  },
10338
10251
  "default": "[]"
10339
10252
  },
10340
10253
  {
10341
10254
  "kind": "method",
10342
- "name": "nodeChanged"
10255
+ "name": "deleteCondition"
10256
+ },
10257
+ {
10258
+ "kind": "method",
10259
+ "name": "conditionChanged"
10343
10260
  },
10344
10261
  {
10345
10262
  "kind": "method",
@@ -10347,48 +10264,125 @@
10347
10264
  },
10348
10265
  {
10349
10266
  "kind": "method",
10350
- "name": "newCondition"
10267
+ "name": "fieldsChanged"
10351
10268
  },
10352
10269
  {
10353
10270
  "kind": "method",
10354
- "name": "newGroup"
10271
+ "name": "assignLeftValue",
10272
+ "privacy": "private"
10355
10273
  },
10356
10274
  {
10357
10275
  "kind": "method",
10358
- "name": "editChild",
10276
+ "name": "assignRightValue"
10277
+ },
10278
+ {
10279
+ "kind": "method",
10280
+ "name": "getRightCriteria",
10281
+ "return": {
10282
+ "type": {
10283
+ "text": "Array<any>"
10284
+ }
10285
+ }
10286
+ },
10287
+ {
10288
+ "kind": "method",
10289
+ "name": "getLogicalOperators",
10290
+ "return": {
10291
+ "type": {
10292
+ "text": "Array<any>"
10293
+ }
10294
+ }
10295
+ },
10296
+ {
10297
+ "kind": "method",
10298
+ "name": "leftValueChanged"
10299
+ },
10300
+ {
10301
+ "kind": "method",
10302
+ "name": "logicalOperatorChanged"
10303
+ },
10304
+ {
10305
+ "kind": "method",
10306
+ "name": "rightCriteriaChanged"
10307
+ },
10308
+ {
10309
+ "kind": "method",
10310
+ "name": "clearRightValueText",
10311
+ "privacy": "private"
10312
+ },
10313
+ {
10314
+ "kind": "method",
10315
+ "name": "clearRightValueSelect",
10316
+ "privacy": "private"
10317
+ },
10318
+ {
10319
+ "kind": "method",
10320
+ "name": "rightValueTextChanged"
10321
+ },
10322
+ {
10323
+ "kind": "method",
10324
+ "name": "rightValueSelectChanged"
10325
+ },
10326
+ {
10327
+ "kind": "method",
10328
+ "name": "rightValueMultiSelectChanged"
10329
+ },
10330
+ {
10331
+ "kind": "method",
10332
+ "name": "getEnumValues",
10333
+ "return": {
10334
+ "type": {
10335
+ "text": "string[]"
10336
+ }
10337
+ }
10338
+ },
10339
+ {
10340
+ "kind": "method",
10341
+ "name": "convertDateTime",
10359
10342
  "parameters": [
10360
10343
  {
10361
- "name": "_editedChild",
10344
+ "name": "dateTimeStr",
10362
10345
  "type": {
10363
- "text": "ConditionNode"
10346
+ "text": "string"
10364
10347
  }
10365
10348
  }
10366
10349
  ]
10367
10350
  },
10368
10351
  {
10369
10352
  "kind": "method",
10370
- "name": "deleteChild",
10353
+ "name": "convertLongForDatePicker",
10371
10354
  "parameters": [
10372
10355
  {
10373
- "name": "deletedChild",
10356
+ "name": "value",
10374
10357
  "type": {
10375
- "text": "ConditionNode"
10358
+ "text": "number"
10359
+ }
10360
+ },
10361
+ {
10362
+ "name": "time",
10363
+ "default": "false",
10364
+ "type": {
10365
+ "text": "boolean"
10376
10366
  }
10377
10367
  }
10378
10368
  ]
10379
10369
  },
10380
10370
  {
10381
10371
  "kind": "method",
10382
- "name": "deleteSelf"
10372
+ "name": "getAllFields"
10373
+ },
10374
+ {
10375
+ "kind": "method",
10376
+ "name": "getApplicableFields"
10383
10377
  }
10384
10378
  ],
10385
10379
  "events": [
10386
10380
  {
10387
- "description": "Fired when this whole group should be removed",
10381
+ "description": "Fired when a condition is deleted. detail: `ConditionBuilderEntity`",
10388
10382
  "name": "delete"
10389
10383
  },
10390
10384
  {
10391
- "description": "Fired when anything inside this group changes",
10385
+ "description": "Fired when a condition is edited. detail: `ConditionBuilderEntity`",
10392
10386
  "name": "edit"
10393
10387
  }
10394
10388
  ],
@@ -10396,29 +10390,35 @@
10396
10390
  "name": "GenesisElement",
10397
10391
  "package": "@genesislcap/web-core"
10398
10392
  },
10399
- "tagName": "rule-condition-group",
10393
+ "tagName": "rule-condition-builder",
10400
10394
  "customElement": true
10401
10395
  }
10402
10396
  ],
10403
10397
  "exports": [
10404
10398
  {
10405
10399
  "kind": "js",
10406
- "name": "RuleConditionGroup",
10400
+ "name": "RuleConditionBuilder",
10407
10401
  "declaration": {
10408
- "name": "RuleConditionGroup",
10409
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10402
+ "name": "RuleConditionBuilder",
10403
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts"
10410
10404
  }
10411
10405
  },
10412
10406
  {
10413
10407
  "kind": "custom-element-definition",
10414
- "name": "rule-condition-group",
10408
+ "name": "rule-condition-builder",
10415
10409
  "declaration": {
10416
- "name": "RuleConditionGroup",
10417
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10410
+ "name": "RuleConditionBuilder",
10411
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts"
10418
10412
  }
10419
10413
  }
10420
10414
  ]
10421
10415
  },
10416
+ {
10417
+ "kind": "javascript-module",
10418
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.types.ts",
10419
+ "declarations": [],
10420
+ "exports": []
10421
+ },
10422
10422
  {
10423
10423
  "kind": "javascript-module",
10424
10424
  "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
@@ -10509,284 +10509,126 @@
10509
10509
  "kind": "field",
10510
10510
  "name": "sourceSelected",
10511
10511
  "type": {
10512
- "text": "string"
10513
- }
10514
- },
10515
- {
10516
- "kind": "field",
10517
- "name": "sourceTyped",
10518
- "type": {
10519
- "text": "string"
10520
- }
10521
- },
10522
- {
10523
- "kind": "field",
10524
- "name": "sourceTextField",
10525
- "type": {
10526
- "text": "TextField"
10527
- }
10528
- },
10529
- {
10530
- "kind": "field",
10531
- "name": "sourceSelect",
10532
- "type": {
10533
- "text": "Select"
10534
- }
10535
- },
10536
- {
10537
- "kind": "field",
10538
- "name": "reqRepItems",
10539
- "type": {
10540
- "text": "array"
10541
- },
10542
- "default": "['REQUEST_1', 'REQUEST_2', 'REQUEST_3']"
10543
- },
10544
- {
10545
- "kind": "method",
10546
- "name": "deleteParameter"
10547
- },
10548
- {
10549
- "kind": "method",
10550
- "name": "parameterChanged"
10551
- },
10552
- {
10553
- "kind": "method",
10554
- "name": "nameChanged"
10555
- },
10556
- {
10557
- "kind": "method",
10558
- "name": "labelChanged"
10559
- },
10560
- {
10561
- "kind": "method",
10562
- "name": "typeChanged"
10563
- },
10564
- {
10565
- "kind": "method",
10566
- "name": "sourceTypeChanged"
10567
- },
10568
- {
10569
- "kind": "method",
10570
- "name": "sourceSelectedChanged"
10571
- },
10572
- {
10573
- "kind": "method",
10574
- "name": "sourceTypedChanged"
10575
- },
10576
- {
10577
- "kind": "method",
10578
- "name": "genericChanged",
10579
- "privacy": "private",
10580
- "parameters": [
10581
- {
10582
- "name": "parameterAttribute"
10583
- },
10584
- {
10585
- "name": "value"
10586
- }
10587
- ]
10588
- }
10589
- ],
10590
- "events": [
10591
- {
10592
- "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
10593
- "name": "delete"
10594
- },
10595
- {
10596
- "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
10597
- "name": "edit"
10598
- }
10599
- ],
10600
- "attributes": [
10601
- {
10602
- "name": "parameter",
10603
- "type": {
10604
- "text": "ParameterBuilderEntity"
10605
- },
10606
- "fieldName": "parameter"
10607
- }
10608
- ],
10609
- "superclass": {
10610
- "name": "GenesisElement",
10611
- "package": "@genesislcap/web-core"
10612
- },
10613
- "tagName": "parameter-builder",
10614
- "customElement": true
10615
- }
10616
- ],
10617
- "exports": [
10618
- {
10619
- "kind": "js",
10620
- "name": "ParameterBuilder",
10621
- "declaration": {
10622
- "name": "ParameterBuilder",
10623
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10624
- }
10625
- },
10626
- {
10627
- "kind": "custom-element-definition",
10628
- "name": "parameter-builder",
10629
- "declaration": {
10630
- "name": "ParameterBuilder",
10631
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10632
- }
10633
- }
10634
- ]
10635
- },
10636
- {
10637
- "kind": "javascript-module",
10638
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts",
10639
- "declarations": [
10640
- {
10641
- "kind": "variable",
10642
- "name": "TemplateConditionGroupTemplate",
10643
- "default": "html<TemplateConditionGroup>`\n ${when(\n (x) => !x.isFirst,\n html`\n <div class=\"join-toggle-row\">\n <div class=\"join-toggle\">\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'AND'])}\"\n @click=${(x) => (x.joinOperator = 'AND')}\n >\n AND\n </span>\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'OR'])}\"\n @click=${(x) => (x.joinOperator = 'OR')}\n >\n OR\n </span>\n </div>\n </div>\n `,\n )}\n <div class=\"condition-group-row\">\n <div class=\"condition-group-box\">\n ${repeat(\n (x) => x.groupChildren,\n html<ConditionNode, TemplateConditionGroup>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <template-condition-group\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></template-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <template-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></template-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>+ Group</rapid-button>\n <rapid-button appearance=\"icon\" class=\"delete-group\" @click=${(x) => x.deleteSelf()}>\n <rapid-icon variant=\"regular\" name=\"trash-alt\" size=\"lg\" part=\"icon\"></rapid-icon>\n </rapid-button>\n </div>\n </div>\n </div>\n`"
10644
- }
10645
- ],
10646
- "exports": [
10647
- {
10648
- "kind": "js",
10649
- "name": "TemplateConditionGroupTemplate",
10650
- "declaration": {
10651
- "name": "TemplateConditionGroupTemplate",
10652
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts"
10653
- }
10654
- }
10655
- ]
10656
- },
10657
- {
10658
- "kind": "javascript-module",
10659
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts",
10660
- "declarations": [
10661
- {
10662
- "kind": "class",
10663
- "description": "Parenthesized group of conditions/nested groups for notification template\ncriteria - see rule-condition-group for the rationale. Also forwards\n:parameters down to nested template-condition-builder rows so parameter\nbinding (USER_ENTRY) keeps working inside a group.",
10664
- "name": "TemplateConditionGroup",
10665
- "members": [
10666
- {
10667
- "kind": "field",
10668
- "name": "node",
10669
- "type": {
10670
- "text": "ConditionGroupEntity"
10671
- }
10672
- },
10673
- {
10674
- "kind": "field",
10675
- "name": "fields",
10676
- "type": {
10677
- "text": "Field[]"
10678
- },
10679
- "default": "[]"
10512
+ "text": "string"
10513
+ }
10680
10514
  },
10681
10515
  {
10682
10516
  "kind": "field",
10683
- "name": "parameters",
10517
+ "name": "sourceTyped",
10684
10518
  "type": {
10685
- "text": "Array<ParameterBuilderEntity>"
10686
- },
10687
- "default": "[]"
10519
+ "text": "string"
10520
+ }
10688
10521
  },
10689
10522
  {
10690
10523
  "kind": "field",
10691
- "name": "isFirst",
10524
+ "name": "sourceTextField",
10692
10525
  "type": {
10693
- "text": "boolean"
10694
- },
10695
- "default": "false"
10526
+ "text": "TextField"
10527
+ }
10696
10528
  },
10697
10529
  {
10698
10530
  "kind": "field",
10699
- "name": "joinOperator",
10531
+ "name": "sourceSelect",
10700
10532
  "type": {
10701
- "text": "string"
10533
+ "text": "Select"
10702
10534
  }
10703
10535
  },
10704
10536
  {
10705
10537
  "kind": "field",
10706
- "name": "groupChildren",
10538
+ "name": "reqRepItems",
10707
10539
  "type": {
10708
- "text": "ConditionNode[]"
10540
+ "text": "array"
10709
10541
  },
10710
- "default": "[]"
10542
+ "default": "['REQUEST_1', 'REQUEST_2', 'REQUEST_3']"
10711
10543
  },
10712
10544
  {
10713
10545
  "kind": "method",
10714
- "name": "nodeChanged"
10546
+ "name": "deleteParameter"
10715
10547
  },
10716
10548
  {
10717
10549
  "kind": "method",
10718
- "name": "joinOperatorChanged"
10550
+ "name": "parameterChanged"
10719
10551
  },
10720
10552
  {
10721
10553
  "kind": "method",
10722
- "name": "newCondition"
10554
+ "name": "nameChanged"
10723
10555
  },
10724
10556
  {
10725
10557
  "kind": "method",
10726
- "name": "newGroup"
10558
+ "name": "labelChanged"
10727
10559
  },
10728
10560
  {
10729
10561
  "kind": "method",
10730
- "name": "editChild",
10731
- "parameters": [
10732
- {
10733
- "name": "_editedChild",
10734
- "type": {
10735
- "text": "ConditionNode"
10736
- }
10737
- }
10738
- ]
10562
+ "name": "typeChanged"
10739
10563
  },
10740
10564
  {
10741
10565
  "kind": "method",
10742
- "name": "deleteChild",
10566
+ "name": "sourceTypeChanged"
10567
+ },
10568
+ {
10569
+ "kind": "method",
10570
+ "name": "sourceSelectedChanged"
10571
+ },
10572
+ {
10573
+ "kind": "method",
10574
+ "name": "sourceTypedChanged"
10575
+ },
10576
+ {
10577
+ "kind": "method",
10578
+ "name": "genericChanged",
10579
+ "privacy": "private",
10743
10580
  "parameters": [
10744
10581
  {
10745
- "name": "deletedChild",
10746
- "type": {
10747
- "text": "ConditionNode"
10748
- }
10582
+ "name": "parameterAttribute"
10583
+ },
10584
+ {
10585
+ "name": "value"
10749
10586
  }
10750
10587
  ]
10751
- },
10752
- {
10753
- "kind": "method",
10754
- "name": "deleteSelf"
10755
10588
  }
10756
10589
  ],
10757
10590
  "events": [
10758
10591
  {
10759
- "description": "Fired when this whole group should be removed",
10592
+ "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
10760
10593
  "name": "delete"
10761
10594
  },
10762
10595
  {
10763
- "description": "Fired when anything inside this group changes",
10596
+ "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
10764
10597
  "name": "edit"
10765
10598
  }
10766
10599
  ],
10600
+ "attributes": [
10601
+ {
10602
+ "name": "parameter",
10603
+ "type": {
10604
+ "text": "ParameterBuilderEntity"
10605
+ },
10606
+ "fieldName": "parameter"
10607
+ }
10608
+ ],
10767
10609
  "superclass": {
10768
10610
  "name": "GenesisElement",
10769
10611
  "package": "@genesislcap/web-core"
10770
10612
  },
10771
- "tagName": "template-condition-group",
10613
+ "tagName": "parameter-builder",
10772
10614
  "customElement": true
10773
10615
  }
10774
10616
  ],
10775
10617
  "exports": [
10776
10618
  {
10777
10619
  "kind": "js",
10778
- "name": "TemplateConditionGroup",
10620
+ "name": "ParameterBuilder",
10779
10621
  "declaration": {
10780
- "name": "TemplateConditionGroup",
10781
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
10622
+ "name": "ParameterBuilder",
10623
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10782
10624
  }
10783
10625
  },
10784
10626
  {
10785
10627
  "kind": "custom-element-definition",
10786
- "name": "template-condition-group",
10628
+ "name": "parameter-builder",
10787
10629
  "declaration": {
10788
- "name": "TemplateConditionGroup",
10789
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
10630
+ "name": "ParameterBuilder",
10631
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10790
10632
  }
10791
10633
  }
10792
10634
  ]
@@ -11074,6 +10916,164 @@
11074
10916
  }
11075
10917
  }
11076
10918
  ]
10919
+ },
10920
+ {
10921
+ "kind": "javascript-module",
10922
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts",
10923
+ "declarations": [
10924
+ {
10925
+ "kind": "variable",
10926
+ "name": "TemplateConditionGroupTemplate",
10927
+ "default": "html<TemplateConditionGroup>`\n ${when(\n (x) => !x.isFirst,\n html`\n <div class=\"join-toggle-row\">\n <div class=\"join-toggle\">\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'AND'])}\"\n @click=${(x) => (x.joinOperator = 'AND')}\n >\n AND\n </span>\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'OR'])}\"\n @click=${(x) => (x.joinOperator = 'OR')}\n >\n OR\n </span>\n </div>\n </div>\n `,\n )}\n <div class=\"condition-group-row\">\n <div class=\"condition-group-box\">\n ${repeat(\n (x) => x.groupChildren,\n html<ConditionNode, TemplateConditionGroup>`\n ${when(\n (x) => isGroup(x),\n html<ConditionNode>`\n <template-condition-group\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :node=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></template-condition-group>\n `,\n )}\n ${when(\n (x) => !isGroup(x),\n html<ConditionNode>`\n <template-condition-builder\n :fields=${(x, c) => c.parent.fields}\n :parameters=${(x, c) => c.parent.parameters}\n :condition=${(x) => x}\n :isFirst=${(x, c) => c.index === 0}\n @edit=${(x, c) => c.parent.editChild(eventDetail(c))}\n @delete=${(x, c) => c.parent.deleteChild(eventDetail(c))}\n ></template-condition-builder>\n `,\n )}\n `,\n { positioning: true },\n )}\n\n <div class=\"content-row\">\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newCondition()}>\n + Condition\n </rapid-button>\n <rapid-button appearance=\"lightweight\" @click=${(x) => x.newGroup()}>+ Group</rapid-button>\n <rapid-button appearance=\"icon\" class=\"delete-group\" @click=${(x) => x.deleteSelf()}>\n <rapid-icon variant=\"regular\" name=\"trash-alt\" size=\"lg\" part=\"icon\"></rapid-icon>\n </rapid-button>\n </div>\n </div>\n </div>\n`"
10928
+ }
10929
+ ],
10930
+ "exports": [
10931
+ {
10932
+ "kind": "js",
10933
+ "name": "TemplateConditionGroupTemplate",
10934
+ "declaration": {
10935
+ "name": "TemplateConditionGroupTemplate",
10936
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts"
10937
+ }
10938
+ }
10939
+ ]
10940
+ },
10941
+ {
10942
+ "kind": "javascript-module",
10943
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts",
10944
+ "declarations": [
10945
+ {
10946
+ "kind": "class",
10947
+ "description": "Parenthesized group of conditions/nested groups for notification template\ncriteria - see rule-condition-group for the rationale. Also forwards\n:parameters down to nested template-condition-builder rows so parameter\nbinding (USER_ENTRY) keeps working inside a group.",
10948
+ "name": "TemplateConditionGroup",
10949
+ "members": [
10950
+ {
10951
+ "kind": "field",
10952
+ "name": "node",
10953
+ "type": {
10954
+ "text": "ConditionGroupEntity"
10955
+ }
10956
+ },
10957
+ {
10958
+ "kind": "field",
10959
+ "name": "fields",
10960
+ "type": {
10961
+ "text": "Field[]"
10962
+ },
10963
+ "default": "[]"
10964
+ },
10965
+ {
10966
+ "kind": "field",
10967
+ "name": "parameters",
10968
+ "type": {
10969
+ "text": "Array<ParameterBuilderEntity>"
10970
+ },
10971
+ "default": "[]"
10972
+ },
10973
+ {
10974
+ "kind": "field",
10975
+ "name": "isFirst",
10976
+ "type": {
10977
+ "text": "boolean"
10978
+ },
10979
+ "default": "false"
10980
+ },
10981
+ {
10982
+ "kind": "field",
10983
+ "name": "joinOperator",
10984
+ "type": {
10985
+ "text": "string"
10986
+ }
10987
+ },
10988
+ {
10989
+ "kind": "field",
10990
+ "name": "groupChildren",
10991
+ "type": {
10992
+ "text": "ConditionNode[]"
10993
+ },
10994
+ "default": "[]"
10995
+ },
10996
+ {
10997
+ "kind": "method",
10998
+ "name": "nodeChanged"
10999
+ },
11000
+ {
11001
+ "kind": "method",
11002
+ "name": "joinOperatorChanged"
11003
+ },
11004
+ {
11005
+ "kind": "method",
11006
+ "name": "newCondition"
11007
+ },
11008
+ {
11009
+ "kind": "method",
11010
+ "name": "newGroup"
11011
+ },
11012
+ {
11013
+ "kind": "method",
11014
+ "name": "editChild",
11015
+ "parameters": [
11016
+ {
11017
+ "name": "_editedChild",
11018
+ "type": {
11019
+ "text": "ConditionNode"
11020
+ }
11021
+ }
11022
+ ]
11023
+ },
11024
+ {
11025
+ "kind": "method",
11026
+ "name": "deleteChild",
11027
+ "parameters": [
11028
+ {
11029
+ "name": "deletedChild",
11030
+ "type": {
11031
+ "text": "ConditionNode"
11032
+ }
11033
+ }
11034
+ ]
11035
+ },
11036
+ {
11037
+ "kind": "method",
11038
+ "name": "deleteSelf"
11039
+ }
11040
+ ],
11041
+ "events": [
11042
+ {
11043
+ "description": "Fired when this whole group should be removed",
11044
+ "name": "delete"
11045
+ },
11046
+ {
11047
+ "description": "Fired when anything inside this group changes",
11048
+ "name": "edit"
11049
+ }
11050
+ ],
11051
+ "superclass": {
11052
+ "name": "GenesisElement",
11053
+ "package": "@genesislcap/web-core"
11054
+ },
11055
+ "tagName": "template-condition-group",
11056
+ "customElement": true
11057
+ }
11058
+ ],
11059
+ "exports": [
11060
+ {
11061
+ "kind": "js",
11062
+ "name": "TemplateConditionGroup",
11063
+ "declaration": {
11064
+ "name": "TemplateConditionGroup",
11065
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
11066
+ }
11067
+ },
11068
+ {
11069
+ "kind": "custom-element-definition",
11070
+ "name": "template-condition-group",
11071
+ "declaration": {
11072
+ "name": "TemplateConditionGroup",
11073
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
11074
+ }
11075
+ }
11076
+ ]
11077
11077
  }
11078
11078
  ]
11079
11079
  }