@genesislcap/pbc-notify-ui 15.58.1 → 15.58.2

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",
@@ -9833,39 +9833,39 @@
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",
9866
+ "name": "condition",
9867
9867
  "type": {
9868
- "text": "ConditionGroupEntity"
9868
+ "text": "ConditionBuilderEntity"
9869
9869
  }
9870
9870
  },
9871
9871
  {
@@ -9893,64 +9893,192 @@
9893
9893
  },
9894
9894
  {
9895
9895
  "kind": "field",
9896
- "name": "groupChildren",
9896
+ "name": "leftValue",
9897
9897
  "type": {
9898
- "text": "ConditionNode[]"
9898
+ "text": "string"
9899
+ },
9900
+ "default": "null"
9901
+ },
9902
+ {
9903
+ "kind": "field",
9904
+ "name": "leftValueItems",
9905
+ "type": {
9906
+ "text": "Array<any>"
9899
9907
  },
9900
9908
  "default": "[]"
9901
9909
  },
9902
9910
  {
9903
- "kind": "method",
9904
- "name": "nodeChanged"
9911
+ "kind": "field",
9912
+ "name": "logicalOperator",
9913
+ "type": {
9914
+ "text": "string"
9915
+ },
9916
+ "default": "null"
9905
9917
  },
9906
9918
  {
9907
- "kind": "method",
9908
- "name": "joinOperatorChanged"
9919
+ "kind": "field",
9920
+ "name": "rightCriteria",
9921
+ "type": {
9922
+ "text": "string"
9923
+ }
9924
+ },
9925
+ {
9926
+ "kind": "field",
9927
+ "name": "rightValueText",
9928
+ "type": {
9929
+ "text": "string"
9930
+ },
9931
+ "default": "null"
9932
+ },
9933
+ {
9934
+ "kind": "field",
9935
+ "name": "rightValueSelect",
9936
+ "type": {
9937
+ "text": "string"
9938
+ },
9939
+ "default": "null"
9940
+ },
9941
+ {
9942
+ "kind": "field",
9943
+ "name": "rightValueMultiSelect",
9944
+ "type": {
9945
+ "text": "string[]"
9946
+ },
9947
+ "default": "[]"
9909
9948
  },
9910
9949
  {
9911
9950
  "kind": "method",
9912
- "name": "newCondition"
9951
+ "name": "deleteCondition"
9913
9952
  },
9914
9953
  {
9915
9954
  "kind": "method",
9916
- "name": "newGroup"
9955
+ "name": "conditionChanged"
9917
9956
  },
9918
9957
  {
9919
9958
  "kind": "method",
9920
- "name": "editChild",
9959
+ "name": "joinOperatorChanged"
9960
+ },
9961
+ {
9962
+ "kind": "method",
9963
+ "name": "fieldsChanged"
9964
+ },
9965
+ {
9966
+ "kind": "method",
9967
+ "name": "assignLeftValue",
9968
+ "privacy": "private"
9969
+ },
9970
+ {
9971
+ "kind": "method",
9972
+ "name": "assignRightValue"
9973
+ },
9974
+ {
9975
+ "kind": "method",
9976
+ "name": "getRightCriteria",
9977
+ "return": {
9978
+ "type": {
9979
+ "text": "Array<any>"
9980
+ }
9981
+ }
9982
+ },
9983
+ {
9984
+ "kind": "method",
9985
+ "name": "getLogicalOperators",
9986
+ "return": {
9987
+ "type": {
9988
+ "text": "Array<any>"
9989
+ }
9990
+ }
9991
+ },
9992
+ {
9993
+ "kind": "method",
9994
+ "name": "leftValueChanged"
9995
+ },
9996
+ {
9997
+ "kind": "method",
9998
+ "name": "logicalOperatorChanged"
9999
+ },
10000
+ {
10001
+ "kind": "method",
10002
+ "name": "rightCriteriaChanged"
10003
+ },
10004
+ {
10005
+ "kind": "method",
10006
+ "name": "clearRightValueText",
10007
+ "privacy": "private"
10008
+ },
10009
+ {
10010
+ "kind": "method",
10011
+ "name": "clearRightValueSelect",
10012
+ "privacy": "private"
10013
+ },
10014
+ {
10015
+ "kind": "method",
10016
+ "name": "rightValueTextChanged"
10017
+ },
10018
+ {
10019
+ "kind": "method",
10020
+ "name": "rightValueSelectChanged"
10021
+ },
10022
+ {
10023
+ "kind": "method",
10024
+ "name": "rightValueMultiSelectChanged"
10025
+ },
10026
+ {
10027
+ "kind": "method",
10028
+ "name": "getEnumValues",
10029
+ "return": {
10030
+ "type": {
10031
+ "text": "string[]"
10032
+ }
10033
+ }
10034
+ },
10035
+ {
10036
+ "kind": "method",
10037
+ "name": "convertDateTime",
9921
10038
  "parameters": [
9922
10039
  {
9923
- "name": "_editedChild",
10040
+ "name": "dateTimeStr",
9924
10041
  "type": {
9925
- "text": "ConditionNode"
10042
+ "text": "string"
9926
10043
  }
9927
10044
  }
9928
10045
  ]
9929
10046
  },
9930
10047
  {
9931
10048
  "kind": "method",
9932
- "name": "deleteChild",
10049
+ "name": "convertLongForDatePicker",
9933
10050
  "parameters": [
9934
10051
  {
9935
- "name": "deletedChild",
10052
+ "name": "value",
9936
10053
  "type": {
9937
- "text": "ConditionNode"
10054
+ "text": "number"
10055
+ }
10056
+ },
10057
+ {
10058
+ "name": "time",
10059
+ "default": "false",
10060
+ "type": {
10061
+ "text": "boolean"
9938
10062
  }
9939
10063
  }
9940
10064
  ]
9941
10065
  },
9942
10066
  {
9943
10067
  "kind": "method",
9944
- "name": "deleteSelf"
10068
+ "name": "getAllFields"
10069
+ },
10070
+ {
10071
+ "kind": "method",
10072
+ "name": "getApplicableFields"
9945
10073
  }
9946
10074
  ],
9947
10075
  "events": [
9948
10076
  {
9949
- "description": "Fired when this whole group should be removed",
10077
+ "description": "Fired when a condition is deleted. detail: `ConditionBuilderEntity`",
9950
10078
  "name": "delete"
9951
10079
  },
9952
10080
  {
9953
- "description": "Fired when anything inside this group changes",
10081
+ "description": "Fired when a condition is edited. detail: `ConditionBuilderEntity`",
9954
10082
  "name": "edit"
9955
10083
  }
9956
10084
  ],
@@ -9958,64 +10086,70 @@
9958
10086
  "name": "GenesisElement",
9959
10087
  "package": "@genesislcap/web-core"
9960
10088
  },
9961
- "tagName": "rule-condition-group",
10089
+ "tagName": "rule-condition-builder",
9962
10090
  "customElement": true
9963
10091
  }
9964
10092
  ],
9965
10093
  "exports": [
9966
10094
  {
9967
10095
  "kind": "js",
9968
- "name": "RuleConditionGroup",
10096
+ "name": "RuleConditionBuilder",
9969
10097
  "declaration": {
9970
- "name": "RuleConditionGroup",
9971
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10098
+ "name": "RuleConditionBuilder",
10099
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts"
9972
10100
  }
9973
10101
  },
9974
10102
  {
9975
10103
  "kind": "custom-element-definition",
9976
- "name": "rule-condition-group",
10104
+ "name": "rule-condition-builder",
9977
10105
  "declaration": {
9978
- "name": "RuleConditionGroup",
9979
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10106
+ "name": "RuleConditionBuilder",
10107
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts"
9980
10108
  }
9981
10109
  }
9982
10110
  ]
9983
10111
  },
9984
10112
  {
9985
10113
  "kind": "javascript-module",
9986
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts",
10114
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.types.ts",
10115
+ "declarations": [],
10116
+ "exports": []
10117
+ },
10118
+ {
10119
+ "kind": "javascript-module",
10120
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
9987
10121
  "declarations": [
9988
10122
  {
9989
10123
  "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`"
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`"
9992
10126
  }
9993
10127
  ],
9994
10128
  "exports": [
9995
10129
  {
9996
10130
  "kind": "js",
9997
- "name": "RuleConditionBuilderTemplate",
10131
+ "name": "RuleConditionGroupTemplate",
9998
10132
  "declaration": {
9999
- "name": "RuleConditionBuilderTemplate",
10000
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-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"
10001
10135
  }
10002
10136
  }
10003
10137
  ]
10004
10138
  },
10005
10139
  {
10006
10140
  "kind": "javascript-module",
10007
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts",
10141
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
10008
10142
  "declarations": [
10009
10143
  {
10010
10144
  "kind": "class",
10011
- "description": "Condition builder for notification rule criteria.",
10012
- "name": "RuleConditionBuilder",
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",
10013
10147
  "members": [
10014
10148
  {
10015
10149
  "kind": "field",
10016
- "name": "condition",
10150
+ "name": "node",
10017
10151
  "type": {
10018
- "text": "ConditionBuilderEntity"
10152
+ "text": "ConditionGroupEntity"
10019
10153
  }
10020
10154
  },
10021
10155
  {
@@ -10043,66 +10177,15 @@
10043
10177
  },
10044
10178
  {
10045
10179
  "kind": "field",
10046
- "name": "leftValue",
10047
- "type": {
10048
- "text": "string"
10049
- },
10050
- "default": "null"
10051
- },
10052
- {
10053
- "kind": "field",
10054
- "name": "leftValueItems",
10055
- "type": {
10056
- "text": "Array<any>"
10057
- },
10058
- "default": "[]"
10059
- },
10060
- {
10061
- "kind": "field",
10062
- "name": "logicalOperator",
10063
- "type": {
10064
- "text": "string"
10065
- },
10066
- "default": "null"
10067
- },
10068
- {
10069
- "kind": "field",
10070
- "name": "rightCriteria",
10071
- "type": {
10072
- "text": "string"
10073
- }
10074
- },
10075
- {
10076
- "kind": "field",
10077
- "name": "rightValueText",
10078
- "type": {
10079
- "text": "string"
10080
- },
10081
- "default": "null"
10082
- },
10083
- {
10084
- "kind": "field",
10085
- "name": "rightValueSelect",
10086
- "type": {
10087
- "text": "string"
10088
- },
10089
- "default": "null"
10090
- },
10091
- {
10092
- "kind": "field",
10093
- "name": "rightValueMultiSelect",
10180
+ "name": "groupChildren",
10094
10181
  "type": {
10095
- "text": "string[]"
10182
+ "text": "ConditionNode[]"
10096
10183
  },
10097
10184
  "default": "[]"
10098
10185
  },
10099
10186
  {
10100
10187
  "kind": "method",
10101
- "name": "deleteCondition"
10102
- },
10103
- {
10104
- "kind": "method",
10105
- "name": "conditionChanged"
10188
+ "name": "nodeChanged"
10106
10189
  },
10107
10190
  {
10108
10191
  "kind": "method",
@@ -10110,125 +10193,48 @@
10110
10193
  },
10111
10194
  {
10112
10195
  "kind": "method",
10113
- "name": "fieldsChanged"
10114
- },
10115
- {
10116
- "kind": "method",
10117
- "name": "assignLeftValue",
10118
- "privacy": "private"
10119
- },
10120
- {
10121
- "kind": "method",
10122
- "name": "assignRightValue"
10123
- },
10124
- {
10125
- "kind": "method",
10126
- "name": "getRightCriteria",
10127
- "return": {
10128
- "type": {
10129
- "text": "Array<any>"
10130
- }
10131
- }
10132
- },
10133
- {
10134
- "kind": "method",
10135
- "name": "getLogicalOperators",
10136
- "return": {
10137
- "type": {
10138
- "text": "Array<any>"
10139
- }
10140
- }
10141
- },
10142
- {
10143
- "kind": "method",
10144
- "name": "leftValueChanged"
10145
- },
10146
- {
10147
- "kind": "method",
10148
- "name": "logicalOperatorChanged"
10149
- },
10150
- {
10151
- "kind": "method",
10152
- "name": "rightCriteriaChanged"
10153
- },
10154
- {
10155
- "kind": "method",
10156
- "name": "clearRightValueText",
10157
- "privacy": "private"
10158
- },
10159
- {
10160
- "kind": "method",
10161
- "name": "clearRightValueSelect",
10162
- "privacy": "private"
10163
- },
10164
- {
10165
- "kind": "method",
10166
- "name": "rightValueTextChanged"
10167
- },
10168
- {
10169
- "kind": "method",
10170
- "name": "rightValueSelectChanged"
10171
- },
10172
- {
10173
- "kind": "method",
10174
- "name": "rightValueMultiSelectChanged"
10196
+ "name": "newCondition"
10175
10197
  },
10176
10198
  {
10177
10199
  "kind": "method",
10178
- "name": "getEnumValues",
10179
- "return": {
10180
- "type": {
10181
- "text": "string[]"
10182
- }
10183
- }
10200
+ "name": "newGroup"
10184
10201
  },
10185
10202
  {
10186
10203
  "kind": "method",
10187
- "name": "convertDateTime",
10204
+ "name": "editChild",
10188
10205
  "parameters": [
10189
10206
  {
10190
- "name": "dateTimeStr",
10207
+ "name": "_editedChild",
10191
10208
  "type": {
10192
- "text": "string"
10209
+ "text": "ConditionNode"
10193
10210
  }
10194
10211
  }
10195
10212
  ]
10196
10213
  },
10197
10214
  {
10198
10215
  "kind": "method",
10199
- "name": "convertLongForDatePicker",
10216
+ "name": "deleteChild",
10200
10217
  "parameters": [
10201
10218
  {
10202
- "name": "value",
10203
- "type": {
10204
- "text": "number"
10205
- }
10206
- },
10207
- {
10208
- "name": "time",
10209
- "default": "false",
10219
+ "name": "deletedChild",
10210
10220
  "type": {
10211
- "text": "boolean"
10221
+ "text": "ConditionNode"
10212
10222
  }
10213
10223
  }
10214
10224
  ]
10215
10225
  },
10216
10226
  {
10217
10227
  "kind": "method",
10218
- "name": "getAllFields"
10219
- },
10220
- {
10221
- "kind": "method",
10222
- "name": "getApplicableFields"
10228
+ "name": "deleteSelf"
10223
10229
  }
10224
10230
  ],
10225
10231
  "events": [
10226
10232
  {
10227
- "description": "Fired when a condition is deleted. detail: `ConditionBuilderEntity`",
10233
+ "description": "Fired when this whole group should be removed",
10228
10234
  "name": "delete"
10229
10235
  },
10230
10236
  {
10231
- "description": "Fired when a condition is edited. detail: `ConditionBuilderEntity`",
10237
+ "description": "Fired when anything inside this group changes",
10232
10238
  "name": "edit"
10233
10239
  }
10234
10240
  ],
@@ -10236,35 +10242,29 @@
10236
10242
  "name": "GenesisElement",
10237
10243
  "package": "@genesislcap/web-core"
10238
10244
  },
10239
- "tagName": "rule-condition-builder",
10245
+ "tagName": "rule-condition-group",
10240
10246
  "customElement": true
10241
10247
  }
10242
10248
  ],
10243
10249
  "exports": [
10244
10250
  {
10245
10251
  "kind": "js",
10246
- "name": "RuleConditionBuilder",
10252
+ "name": "RuleConditionGroup",
10247
10253
  "declaration": {
10248
- "name": "RuleConditionBuilder",
10249
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts"
10254
+ "name": "RuleConditionGroup",
10255
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10250
10256
  }
10251
10257
  },
10252
10258
  {
10253
10259
  "kind": "custom-element-definition",
10254
- "name": "rule-condition-builder",
10260
+ "name": "rule-condition-group",
10255
10261
  "declaration": {
10256
- "name": "RuleConditionBuilder",
10257
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts"
10262
+ "name": "RuleConditionGroup",
10263
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10258
10264
  }
10259
10265
  }
10260
10266
  ]
10261
10267
  },
10262
- {
10263
- "kind": "javascript-module",
10264
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.types.ts",
10265
- "declarations": [],
10266
- "exports": []
10267
- },
10268
10268
  {
10269
10269
  "kind": "javascript-module",
10270
10270
  "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.template.ts",
@@ -10451,232 +10451,74 @@
10451
10451
  },
10452
10452
  {
10453
10453
  "kind": "method",
10454
- "name": "resetToValueEditor",
10455
- "privacy": "private"
10456
- },
10457
- {
10458
- "kind": "method",
10459
- "name": "fieldsChanged"
10460
- },
10461
- {
10462
- "kind": "method",
10463
- "name": "logicalOperatorChanged"
10464
- },
10465
- {
10466
- "kind": "method",
10467
- "name": "assignLeftValue",
10468
- "privacy": "private"
10469
- },
10470
- {
10471
- "kind": "method",
10472
- "name": "leftValueChanged"
10473
- },
10474
- {
10475
- "kind": "method",
10476
- "name": "assignRightValue",
10477
- "privacy": "private"
10478
- },
10479
- {
10480
- "kind": "method",
10481
- "name": "rightCriteriaChanged"
10482
- },
10483
- {
10484
- "kind": "method",
10485
- "name": "clearRightValueText",
10486
- "privacy": "private"
10487
- },
10488
- {
10489
- "kind": "method",
10490
- "name": "clearRightValueSelect",
10491
- "privacy": "private"
10492
- },
10493
- {
10494
- "kind": "method",
10495
- "name": "rightValueTextChanged"
10496
- },
10497
- {
10498
- "kind": "method",
10499
- "name": "rightValueSelectChanged"
10500
- },
10501
- {
10502
- "kind": "method",
10503
- "name": "rightValueMultiSelectChanged"
10504
- },
10505
- {
10506
- "kind": "method",
10507
- "name": "getEnumValues",
10508
- "return": {
10509
- "type": {
10510
- "text": "string[]"
10511
- }
10512
- }
10513
- }
10514
- ],
10515
- "events": [
10516
- {
10517
- "description": "Fired when a condition is deleted. detail: `ConditionBuilderEntity`",
10518
- "name": "delete"
10519
- },
10520
- {
10521
- "description": "Fired when a condition is edited. detail: `ConditionBuilderEntity`",
10522
- "name": "edit"
10523
- }
10524
- ],
10525
- "superclass": {
10526
- "name": "GenesisElement",
10527
- "package": "@genesislcap/web-core"
10528
- },
10529
- "tagName": "template-condition-builder",
10530
- "customElement": true
10531
- }
10532
- ],
10533
- "exports": [
10534
- {
10535
- "kind": "js",
10536
- "name": "TemplateConditionBuilder",
10537
- "declaration": {
10538
- "name": "TemplateConditionBuilder",
10539
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts"
10540
- }
10541
- },
10542
- {
10543
- "kind": "custom-element-definition",
10544
- "name": "template-condition-builder",
10545
- "declaration": {
10546
- "name": "TemplateConditionBuilder",
10547
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts"
10548
- }
10549
- }
10550
- ]
10551
- },
10552
- {
10553
- "kind": "javascript-module",
10554
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts",
10555
- "declarations": [
10556
- {
10557
- "kind": "variable",
10558
- "name": "TemplateConditionGroupTemplate",
10559
- "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`"
10560
- }
10561
- ],
10562
- "exports": [
10563
- {
10564
- "kind": "js",
10565
- "name": "TemplateConditionGroupTemplate",
10566
- "declaration": {
10567
- "name": "TemplateConditionGroupTemplate",
10568
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts"
10569
- }
10570
- }
10571
- ]
10572
- },
10573
- {
10574
- "kind": "javascript-module",
10575
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts",
10576
- "declarations": [
10577
- {
10578
- "kind": "class",
10579
- "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.",
10580
- "name": "TemplateConditionGroup",
10581
- "members": [
10582
- {
10583
- "kind": "field",
10584
- "name": "node",
10585
- "type": {
10586
- "text": "ConditionGroupEntity"
10587
- }
10454
+ "name": "resetToValueEditor",
10455
+ "privacy": "private"
10588
10456
  },
10589
10457
  {
10590
- "kind": "field",
10591
- "name": "fields",
10592
- "type": {
10593
- "text": "Field[]"
10594
- },
10595
- "default": "[]"
10458
+ "kind": "method",
10459
+ "name": "fieldsChanged"
10596
10460
  },
10597
10461
  {
10598
- "kind": "field",
10599
- "name": "parameters",
10600
- "type": {
10601
- "text": "Array<ParameterBuilderEntity>"
10602
- },
10603
- "default": "[]"
10462
+ "kind": "method",
10463
+ "name": "logicalOperatorChanged"
10604
10464
  },
10605
10465
  {
10606
- "kind": "field",
10607
- "name": "isFirst",
10608
- "type": {
10609
- "text": "boolean"
10610
- },
10611
- "default": "false"
10466
+ "kind": "method",
10467
+ "name": "assignLeftValue",
10468
+ "privacy": "private"
10612
10469
  },
10613
10470
  {
10614
- "kind": "field",
10615
- "name": "joinOperator",
10616
- "type": {
10617
- "text": "string"
10618
- }
10471
+ "kind": "method",
10472
+ "name": "leftValueChanged"
10619
10473
  },
10620
10474
  {
10621
- "kind": "field",
10622
- "name": "groupChildren",
10623
- "type": {
10624
- "text": "ConditionNode[]"
10625
- },
10626
- "default": "[]"
10475
+ "kind": "method",
10476
+ "name": "assignRightValue",
10477
+ "privacy": "private"
10627
10478
  },
10628
10479
  {
10629
10480
  "kind": "method",
10630
- "name": "nodeChanged"
10481
+ "name": "rightCriteriaChanged"
10631
10482
  },
10632
10483
  {
10633
10484
  "kind": "method",
10634
- "name": "joinOperatorChanged"
10485
+ "name": "clearRightValueText",
10486
+ "privacy": "private"
10635
10487
  },
10636
10488
  {
10637
10489
  "kind": "method",
10638
- "name": "newCondition"
10490
+ "name": "clearRightValueSelect",
10491
+ "privacy": "private"
10639
10492
  },
10640
10493
  {
10641
10494
  "kind": "method",
10642
- "name": "newGroup"
10495
+ "name": "rightValueTextChanged"
10643
10496
  },
10644
10497
  {
10645
10498
  "kind": "method",
10646
- "name": "editChild",
10647
- "parameters": [
10648
- {
10649
- "name": "_editedChild",
10650
- "type": {
10651
- "text": "ConditionNode"
10652
- }
10653
- }
10654
- ]
10499
+ "name": "rightValueSelectChanged"
10655
10500
  },
10656
10501
  {
10657
10502
  "kind": "method",
10658
- "name": "deleteChild",
10659
- "parameters": [
10660
- {
10661
- "name": "deletedChild",
10662
- "type": {
10663
- "text": "ConditionNode"
10664
- }
10665
- }
10666
- ]
10503
+ "name": "rightValueMultiSelectChanged"
10667
10504
  },
10668
10505
  {
10669
10506
  "kind": "method",
10670
- "name": "deleteSelf"
10507
+ "name": "getEnumValues",
10508
+ "return": {
10509
+ "type": {
10510
+ "text": "string[]"
10511
+ }
10512
+ }
10671
10513
  }
10672
10514
  ],
10673
10515
  "events": [
10674
10516
  {
10675
- "description": "Fired when this whole group should be removed",
10517
+ "description": "Fired when a condition is deleted. detail: `ConditionBuilderEntity`",
10676
10518
  "name": "delete"
10677
10519
  },
10678
10520
  {
10679
- "description": "Fired when anything inside this group changes",
10521
+ "description": "Fired when a condition is edited. detail: `ConditionBuilderEntity`",
10680
10522
  "name": "edit"
10681
10523
  }
10682
10524
  ],
@@ -10684,25 +10526,25 @@
10684
10526
  "name": "GenesisElement",
10685
10527
  "package": "@genesislcap/web-core"
10686
10528
  },
10687
- "tagName": "template-condition-group",
10529
+ "tagName": "template-condition-builder",
10688
10530
  "customElement": true
10689
10531
  }
10690
10532
  ],
10691
10533
  "exports": [
10692
10534
  {
10693
10535
  "kind": "js",
10694
- "name": "TemplateConditionGroup",
10536
+ "name": "TemplateConditionBuilder",
10695
10537
  "declaration": {
10696
- "name": "TemplateConditionGroup",
10697
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
10538
+ "name": "TemplateConditionBuilder",
10539
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts"
10698
10540
  }
10699
10541
  },
10700
10542
  {
10701
10543
  "kind": "custom-element-definition",
10702
- "name": "template-condition-group",
10544
+ "name": "template-condition-builder",
10703
10545
  "declaration": {
10704
- "name": "TemplateConditionGroup",
10705
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
10546
+ "name": "TemplateConditionBuilder",
10547
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts"
10706
10548
  }
10707
10549
  }
10708
10550
  ]
@@ -10920,6 +10762,164 @@
10920
10762
  }
10921
10763
  }
10922
10764
  ]
10765
+ },
10766
+ {
10767
+ "kind": "javascript-module",
10768
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts",
10769
+ "declarations": [
10770
+ {
10771
+ "kind": "variable",
10772
+ "name": "TemplateConditionGroupTemplate",
10773
+ "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`"
10774
+ }
10775
+ ],
10776
+ "exports": [
10777
+ {
10778
+ "kind": "js",
10779
+ "name": "TemplateConditionGroupTemplate",
10780
+ "declaration": {
10781
+ "name": "TemplateConditionGroupTemplate",
10782
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts"
10783
+ }
10784
+ }
10785
+ ]
10786
+ },
10787
+ {
10788
+ "kind": "javascript-module",
10789
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts",
10790
+ "declarations": [
10791
+ {
10792
+ "kind": "class",
10793
+ "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.",
10794
+ "name": "TemplateConditionGroup",
10795
+ "members": [
10796
+ {
10797
+ "kind": "field",
10798
+ "name": "node",
10799
+ "type": {
10800
+ "text": "ConditionGroupEntity"
10801
+ }
10802
+ },
10803
+ {
10804
+ "kind": "field",
10805
+ "name": "fields",
10806
+ "type": {
10807
+ "text": "Field[]"
10808
+ },
10809
+ "default": "[]"
10810
+ },
10811
+ {
10812
+ "kind": "field",
10813
+ "name": "parameters",
10814
+ "type": {
10815
+ "text": "Array<ParameterBuilderEntity>"
10816
+ },
10817
+ "default": "[]"
10818
+ },
10819
+ {
10820
+ "kind": "field",
10821
+ "name": "isFirst",
10822
+ "type": {
10823
+ "text": "boolean"
10824
+ },
10825
+ "default": "false"
10826
+ },
10827
+ {
10828
+ "kind": "field",
10829
+ "name": "joinOperator",
10830
+ "type": {
10831
+ "text": "string"
10832
+ }
10833
+ },
10834
+ {
10835
+ "kind": "field",
10836
+ "name": "groupChildren",
10837
+ "type": {
10838
+ "text": "ConditionNode[]"
10839
+ },
10840
+ "default": "[]"
10841
+ },
10842
+ {
10843
+ "kind": "method",
10844
+ "name": "nodeChanged"
10845
+ },
10846
+ {
10847
+ "kind": "method",
10848
+ "name": "joinOperatorChanged"
10849
+ },
10850
+ {
10851
+ "kind": "method",
10852
+ "name": "newCondition"
10853
+ },
10854
+ {
10855
+ "kind": "method",
10856
+ "name": "newGroup"
10857
+ },
10858
+ {
10859
+ "kind": "method",
10860
+ "name": "editChild",
10861
+ "parameters": [
10862
+ {
10863
+ "name": "_editedChild",
10864
+ "type": {
10865
+ "text": "ConditionNode"
10866
+ }
10867
+ }
10868
+ ]
10869
+ },
10870
+ {
10871
+ "kind": "method",
10872
+ "name": "deleteChild",
10873
+ "parameters": [
10874
+ {
10875
+ "name": "deletedChild",
10876
+ "type": {
10877
+ "text": "ConditionNode"
10878
+ }
10879
+ }
10880
+ ]
10881
+ },
10882
+ {
10883
+ "kind": "method",
10884
+ "name": "deleteSelf"
10885
+ }
10886
+ ],
10887
+ "events": [
10888
+ {
10889
+ "description": "Fired when this whole group should be removed",
10890
+ "name": "delete"
10891
+ },
10892
+ {
10893
+ "description": "Fired when anything inside this group changes",
10894
+ "name": "edit"
10895
+ }
10896
+ ],
10897
+ "superclass": {
10898
+ "name": "GenesisElement",
10899
+ "package": "@genesislcap/web-core"
10900
+ },
10901
+ "tagName": "template-condition-group",
10902
+ "customElement": true
10903
+ }
10904
+ ],
10905
+ "exports": [
10906
+ {
10907
+ "kind": "js",
10908
+ "name": "TemplateConditionGroup",
10909
+ "declaration": {
10910
+ "name": "TemplateConditionGroup",
10911
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
10912
+ }
10913
+ },
10914
+ {
10915
+ "kind": "custom-element-definition",
10916
+ "name": "template-condition-group",
10917
+ "declaration": {
10918
+ "name": "TemplateConditionGroup",
10919
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
10920
+ }
10921
+ }
10922
+ ]
10923
10923
  }
10924
10924
  ]
10925
10925
  }