@genesislcap/pbc-notify-ui 15.46.1 → 15.46.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",
@@ -9831,6 +9831,156 @@
9831
9831
  }
9832
9832
  ]
9833
9833
  },
9834
+ {
9835
+ "kind": "javascript-module",
9836
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
9837
+ "declarations": [
9838
+ {
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`"
9842
+ }
9843
+ ],
9844
+ "exports": [
9845
+ {
9846
+ "kind": "js",
9847
+ "name": "RuleConditionGroupTemplate",
9848
+ "declaration": {
9849
+ "name": "RuleConditionGroupTemplate",
9850
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
9851
+ }
9852
+ }
9853
+ ]
9854
+ },
9855
+ {
9856
+ "kind": "javascript-module",
9857
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
9858
+ "declarations": [
9859
+ {
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",
9863
+ "members": [
9864
+ {
9865
+ "kind": "field",
9866
+ "name": "node",
9867
+ "type": {
9868
+ "text": "ConditionGroupEntity"
9869
+ }
9870
+ },
9871
+ {
9872
+ "kind": "field",
9873
+ "name": "fields",
9874
+ "type": {
9875
+ "text": "Field[]"
9876
+ },
9877
+ "default": "[]"
9878
+ },
9879
+ {
9880
+ "kind": "field",
9881
+ "name": "isFirst",
9882
+ "type": {
9883
+ "text": "boolean"
9884
+ },
9885
+ "default": "false"
9886
+ },
9887
+ {
9888
+ "kind": "field",
9889
+ "name": "joinOperator",
9890
+ "type": {
9891
+ "text": "string"
9892
+ }
9893
+ },
9894
+ {
9895
+ "kind": "field",
9896
+ "name": "groupChildren",
9897
+ "type": {
9898
+ "text": "ConditionNode[]"
9899
+ },
9900
+ "default": "[]"
9901
+ },
9902
+ {
9903
+ "kind": "method",
9904
+ "name": "nodeChanged"
9905
+ },
9906
+ {
9907
+ "kind": "method",
9908
+ "name": "joinOperatorChanged"
9909
+ },
9910
+ {
9911
+ "kind": "method",
9912
+ "name": "newCondition"
9913
+ },
9914
+ {
9915
+ "kind": "method",
9916
+ "name": "newGroup"
9917
+ },
9918
+ {
9919
+ "kind": "method",
9920
+ "name": "editChild",
9921
+ "parameters": [
9922
+ {
9923
+ "name": "_editedChild",
9924
+ "type": {
9925
+ "text": "ConditionNode"
9926
+ }
9927
+ }
9928
+ ]
9929
+ },
9930
+ {
9931
+ "kind": "method",
9932
+ "name": "deleteChild",
9933
+ "parameters": [
9934
+ {
9935
+ "name": "deletedChild",
9936
+ "type": {
9937
+ "text": "ConditionNode"
9938
+ }
9939
+ }
9940
+ ]
9941
+ },
9942
+ {
9943
+ "kind": "method",
9944
+ "name": "deleteSelf"
9945
+ }
9946
+ ],
9947
+ "events": [
9948
+ {
9949
+ "description": "Fired when this whole group should be removed",
9950
+ "name": "delete"
9951
+ },
9952
+ {
9953
+ "description": "Fired when anything inside this group changes",
9954
+ "name": "edit"
9955
+ }
9956
+ ],
9957
+ "superclass": {
9958
+ "name": "GenesisElement",
9959
+ "package": "@genesislcap/web-core"
9960
+ },
9961
+ "tagName": "rule-condition-group",
9962
+ "customElement": true
9963
+ }
9964
+ ],
9965
+ "exports": [
9966
+ {
9967
+ "kind": "js",
9968
+ "name": "RuleConditionGroup",
9969
+ "declaration": {
9970
+ "name": "RuleConditionGroup",
9971
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
9972
+ }
9973
+ },
9974
+ {
9975
+ "kind": "custom-element-definition",
9976
+ "name": "rule-condition-group",
9977
+ "declaration": {
9978
+ "name": "RuleConditionGroup",
9979
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
9980
+ }
9981
+ }
9982
+ ]
9983
+ },
9834
9984
  {
9835
9985
  "kind": "javascript-module",
9836
9986
  "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts",
@@ -10115,156 +10265,6 @@
10115
10265
  "declarations": [],
10116
10266
  "exports": []
10117
10267
  },
10118
- {
10119
- "kind": "javascript-module",
10120
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
10121
- "declarations": [
10122
- {
10123
- "kind": "variable",
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`"
10126
- }
10127
- ],
10128
- "exports": [
10129
- {
10130
- "kind": "js",
10131
- "name": "RuleConditionGroupTemplate",
10132
- "declaration": {
10133
- "name": "RuleConditionGroupTemplate",
10134
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
10135
- }
10136
- }
10137
- ]
10138
- },
10139
- {
10140
- "kind": "javascript-module",
10141
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
10142
- "declarations": [
10143
- {
10144
- "kind": "class",
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",
10147
- "members": [
10148
- {
10149
- "kind": "field",
10150
- "name": "node",
10151
- "type": {
10152
- "text": "ConditionGroupEntity"
10153
- }
10154
- },
10155
- {
10156
- "kind": "field",
10157
- "name": "fields",
10158
- "type": {
10159
- "text": "Field[]"
10160
- },
10161
- "default": "[]"
10162
- },
10163
- {
10164
- "kind": "field",
10165
- "name": "isFirst",
10166
- "type": {
10167
- "text": "boolean"
10168
- },
10169
- "default": "false"
10170
- },
10171
- {
10172
- "kind": "field",
10173
- "name": "joinOperator",
10174
- "type": {
10175
- "text": "string"
10176
- }
10177
- },
10178
- {
10179
- "kind": "field",
10180
- "name": "groupChildren",
10181
- "type": {
10182
- "text": "ConditionNode[]"
10183
- },
10184
- "default": "[]"
10185
- },
10186
- {
10187
- "kind": "method",
10188
- "name": "nodeChanged"
10189
- },
10190
- {
10191
- "kind": "method",
10192
- "name": "joinOperatorChanged"
10193
- },
10194
- {
10195
- "kind": "method",
10196
- "name": "newCondition"
10197
- },
10198
- {
10199
- "kind": "method",
10200
- "name": "newGroup"
10201
- },
10202
- {
10203
- "kind": "method",
10204
- "name": "editChild",
10205
- "parameters": [
10206
- {
10207
- "name": "_editedChild",
10208
- "type": {
10209
- "text": "ConditionNode"
10210
- }
10211
- }
10212
- ]
10213
- },
10214
- {
10215
- "kind": "method",
10216
- "name": "deleteChild",
10217
- "parameters": [
10218
- {
10219
- "name": "deletedChild",
10220
- "type": {
10221
- "text": "ConditionNode"
10222
- }
10223
- }
10224
- ]
10225
- },
10226
- {
10227
- "kind": "method",
10228
- "name": "deleteSelf"
10229
- }
10230
- ],
10231
- "events": [
10232
- {
10233
- "description": "Fired when this whole group should be removed",
10234
- "name": "delete"
10235
- },
10236
- {
10237
- "description": "Fired when anything inside this group changes",
10238
- "name": "edit"
10239
- }
10240
- ],
10241
- "superclass": {
10242
- "name": "GenesisElement",
10243
- "package": "@genesislcap/web-core"
10244
- },
10245
- "tagName": "rule-condition-group",
10246
- "customElement": true
10247
- }
10248
- ],
10249
- "exports": [
10250
- {
10251
- "kind": "js",
10252
- "name": "RuleConditionGroup",
10253
- "declaration": {
10254
- "name": "RuleConditionGroup",
10255
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10256
- }
10257
- },
10258
- {
10259
- "kind": "custom-element-definition",
10260
- "name": "rule-condition-group",
10261
- "declaration": {
10262
- "name": "RuleConditionGroup",
10263
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10264
- }
10265
- }
10266
- ]
10267
- },
10268
10268
  {
10269
10269
  "kind": "javascript-module",
10270
10270
  "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
@@ -255,17 +255,6 @@ export declare const TemplateDialog: React.ForwardRefExoticComponent<
255
255
  >;
256
256
  export type TemplateDialogRef = TemplateDialogWC;
257
257
 
258
- export declare const RuleConditionBuilder: React.ForwardRefExoticComponent<
259
- React.PropsWithChildren<
260
- Omit<PublicOf<RuleConditionBuilderWC>, 'children' | 'style'> &
261
- HTMLWCProps & {
262
- onDelete?: (event: CustomEvent<ConditionBuilderEntity>) => void;
263
- onEdit?: (event: CustomEvent<ConditionBuilderEntity>) => void;
264
- }
265
- > & React.RefAttributes<RuleConditionBuilderWC>
266
- >;
267
- export type RuleConditionBuilderRef = RuleConditionBuilderWC;
268
-
269
258
  export declare const RuleConditionGroup: React.ForwardRefExoticComponent<
270
259
  React.PropsWithChildren<
271
260
  Omit<PublicOf<RuleConditionGroupWC>, 'children' | 'style'> &
@@ -277,6 +266,17 @@ export declare const RuleConditionGroup: React.ForwardRefExoticComponent<
277
266
  >;
278
267
  export type RuleConditionGroupRef = RuleConditionGroupWC;
279
268
 
269
+ export declare const RuleConditionBuilder: React.ForwardRefExoticComponent<
270
+ React.PropsWithChildren<
271
+ Omit<PublicOf<RuleConditionBuilderWC>, 'children' | 'style'> &
272
+ HTMLWCProps & {
273
+ onDelete?: (event: CustomEvent<ConditionBuilderEntity>) => void;
274
+ onEdit?: (event: CustomEvent<ConditionBuilderEntity>) => void;
275
+ }
276
+ > & React.RefAttributes<RuleConditionBuilderWC>
277
+ >;
278
+ export type RuleConditionBuilderRef = RuleConditionBuilderWC;
279
+
280
280
  export declare const ParameterBuilder: React.ForwardRefExoticComponent<
281
281
  React.PropsWithChildren<
282
282
  Omit<PublicOf<ParameterBuilderWC>, 'children' | 'style'> &
package/dist/react.cjs CHANGED
@@ -200,7 +200,7 @@ const TemplateDialog = React.forwardRef(function TemplateDialog(props, ref) {
200
200
  return React.createElement(customElements.getName(TemplateDialogWC) ?? 'template-dialog', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
201
201
  });
202
202
 
203
- const RuleConditionBuilder = React.forwardRef(function RuleConditionBuilder(props, ref) {
203
+ const RuleConditionGroup = React.forwardRef(function RuleConditionGroup(props, ref) {
204
204
  const { onDelete, onEdit, children, ...rest } = props;
205
205
  const _innerRef = React.useRef(null);
206
206
  const _onDeleteRef = React.useRef(onDelete);
@@ -219,10 +219,10 @@ const RuleConditionBuilder = React.forwardRef(function RuleConditionBuilder(prop
219
219
  el.removeEventListener('edit', _onEditFn);
220
220
  };
221
221
  }, []);
222
- return React.createElement(customElements.getName(RuleConditionBuilderWC) ?? 'rule-condition-builder', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
222
+ return React.createElement(customElements.getName(RuleConditionGroupWC) ?? 'rule-condition-group', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
223
223
  });
224
224
 
225
- const RuleConditionGroup = React.forwardRef(function RuleConditionGroup(props, ref) {
225
+ const RuleConditionBuilder = React.forwardRef(function RuleConditionBuilder(props, ref) {
226
226
  const { onDelete, onEdit, children, ...rest } = props;
227
227
  const _innerRef = React.useRef(null);
228
228
  const _onDeleteRef = React.useRef(onDelete);
@@ -241,7 +241,7 @@ const RuleConditionGroup = React.forwardRef(function RuleConditionGroup(props, r
241
241
  el.removeEventListener('edit', _onEditFn);
242
242
  };
243
243
  }, []);
244
- return React.createElement(customElements.getName(RuleConditionGroupWC) ?? 'rule-condition-group', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
244
+ return React.createElement(customElements.getName(RuleConditionBuilderWC) ?? 'rule-condition-builder', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
245
245
  });
246
246
 
247
247
  const ParameterBuilder = React.forwardRef(function ParameterBuilder(props, ref) {
@@ -332,8 +332,8 @@ module.exports = {
332
332
  SlackRouteManagement,
333
333
  RuleDialog,
334
334
  TemplateDialog,
335
- RuleConditionBuilder,
336
335
  RuleConditionGroup,
336
+ RuleConditionBuilder,
337
337
  ParameterBuilder,
338
338
  TemplateConditionBuilder,
339
339
  TemplateConditionGroup,
package/dist/react.mjs CHANGED
@@ -198,7 +198,7 @@ export const TemplateDialog = React.forwardRef(function TemplateDialog(props, re
198
198
  return React.createElement(customElements.getName(TemplateDialogWC) ?? 'template-dialog', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
199
199
  });
200
200
 
201
- export const RuleConditionBuilder = React.forwardRef(function RuleConditionBuilder(props, ref) {
201
+ export const RuleConditionGroup = React.forwardRef(function RuleConditionGroup(props, ref) {
202
202
  const { onDelete, onEdit, children, ...rest } = props;
203
203
  const _innerRef = React.useRef(null);
204
204
  const _onDeleteRef = React.useRef(onDelete);
@@ -217,10 +217,10 @@ export const RuleConditionBuilder = React.forwardRef(function RuleConditionBuild
217
217
  el.removeEventListener('edit', _onEditFn);
218
218
  };
219
219
  }, []);
220
- return React.createElement(customElements.getName(RuleConditionBuilderWC) ?? 'rule-condition-builder', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
220
+ return React.createElement(customElements.getName(RuleConditionGroupWC) ?? 'rule-condition-group', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
221
221
  });
222
222
 
223
- export const RuleConditionGroup = React.forwardRef(function RuleConditionGroup(props, ref) {
223
+ export const RuleConditionBuilder = React.forwardRef(function RuleConditionBuilder(props, ref) {
224
224
  const { onDelete, onEdit, children, ...rest } = props;
225
225
  const _innerRef = React.useRef(null);
226
226
  const _onDeleteRef = React.useRef(onDelete);
@@ -239,7 +239,7 @@ export const RuleConditionGroup = React.forwardRef(function RuleConditionGroup(p
239
239
  el.removeEventListener('edit', _onEditFn);
240
240
  };
241
241
  }, []);
242
- return React.createElement(customElements.getName(RuleConditionGroupWC) ?? 'rule-condition-group', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
242
+ return React.createElement(customElements.getName(RuleConditionBuilderWC) ?? 'rule-condition-builder', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
243
243
  });
244
244
 
245
245
  export const ParameterBuilder = React.forwardRef(function ParameterBuilder(props, ref) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/pbc-notify-ui",
3
3
  "description": "Genesis PBC Notify UI",
4
- "version": "15.46.1",
4
+ "version": "15.46.2",
5
5
  "license": "SEE LICENSE IN license.txt",
6
6
  "workspaces": [
7
7
  "client"
@@ -80,30 +80,30 @@
80
80
  "@commitlint/cli": "^19.2.1",
81
81
  "@commitlint/config-conventional": "^19.1.0",
82
82
  "@commitlint/format": "^19.0.3",
83
- "@genesislcap/design-system-configurator": "15.46.1",
84
- "@genesislcap/eslint-config": "15.46.1",
85
- "@genesislcap/eslint-stylelint-builder": "15.46.1",
86
- "@genesislcap/foundation-testing": "15.46.1",
87
- "@genesislcap/genx": "15.46.1",
88
- "@genesislcap/prettier-config": "15.46.1",
89
- "@genesislcap/stylelint-config": "15.46.1",
90
- "@genesislcap/vite-builder": "15.46.1",
91
- "@genesislcap/webpack-builder": "15.46.1",
83
+ "@genesislcap/design-system-configurator": "15.46.2",
84
+ "@genesislcap/eslint-config": "15.46.2",
85
+ "@genesislcap/eslint-stylelint-builder": "15.46.2",
86
+ "@genesislcap/foundation-testing": "15.46.2",
87
+ "@genesislcap/genx": "15.46.2",
88
+ "@genesislcap/prettier-config": "15.46.2",
89
+ "@genesislcap/stylelint-config": "15.46.2",
90
+ "@genesislcap/vite-builder": "15.46.2",
91
+ "@genesislcap/webpack-builder": "15.46.2",
92
92
  "dayjs": "^1.11.7"
93
93
  },
94
94
  "dependencies": {
95
- "@genesislcap/foundation-comms": "15.46.1",
96
- "@genesislcap/foundation-criteria": "15.46.1",
97
- "@genesislcap/foundation-entity-management": "15.46.1",
98
- "@genesislcap/foundation-forms": "15.46.1",
99
- "@genesislcap/foundation-layout": "15.46.1",
100
- "@genesislcap/foundation-logger": "15.46.1",
101
- "@genesislcap/foundation-notifications": "15.46.1",
102
- "@genesislcap/foundation-ui": "15.46.1",
103
- "@genesislcap/foundation-utils": "15.46.1",
104
- "@genesislcap/rapid-design-system": "15.46.1",
105
- "@genesislcap/rapid-grid-pro": "15.46.1",
106
- "@genesislcap/web-core": "15.46.1",
95
+ "@genesislcap/foundation-comms": "15.46.2",
96
+ "@genesislcap/foundation-criteria": "15.46.2",
97
+ "@genesislcap/foundation-entity-management": "15.46.2",
98
+ "@genesislcap/foundation-forms": "15.46.2",
99
+ "@genesislcap/foundation-layout": "15.46.2",
100
+ "@genesislcap/foundation-logger": "15.46.2",
101
+ "@genesislcap/foundation-notifications": "15.46.2",
102
+ "@genesislcap/foundation-ui": "15.46.2",
103
+ "@genesislcap/foundation-utils": "15.46.2",
104
+ "@genesislcap/rapid-design-system": "15.46.2",
105
+ "@genesislcap/rapid-grid-pro": "15.46.2",
106
+ "@genesislcap/web-core": "15.46.2",
107
107
  "lodash.debounce": "^4.0.8",
108
108
  "rxjs": "^7.5.4"
109
109
  },