@genesislcap/pbc-notify-ui 15.40.0 → 15.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6039,6 +6039,237 @@
6039
6039
  }
6040
6040
  ]
6041
6041
  },
6042
+ {
6043
+ "kind": "javascript-module",
6044
+ "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts",
6045
+ "declarations": [
6046
+ {
6047
+ "kind": "variable",
6048
+ "name": "InboxSubscriptionStyles",
6049
+ "default": "css`\n .inbox-subscription {\n display: flex;\n flex-direction: column;\n }\n\n .inbox-subscription.inline {\n margin-top: calc(var(--design-unit) * 2px);\n padding-top: calc(var(--design-unit) * 2px);\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .inbox-subscription-header {\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-bottom: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .inbox-subscription-empty {\n padding: 0 calc(var(--design-unit) * 2px);\n margin: calc(var(--design-unit) * 2px) 0 0;\n }\n\n .inbox-subscription-content {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 3px);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n margin: calc(var(--design-unit) * 2px);\n padding: calc(var(--design-unit) * 2px);\n border-radius: calc(var(--control-corner-radius) * 1px);\n }\n\n .inbox-subscription:not(.inline) .inbox-subscription-content {\n overflow: auto;\n max-height: calc(var(--design-unit) * 80px);\n }\n\n .inbox-subscription.inline .inbox-subscription-content {\n margin: calc(var(--design-unit) * 2px) 0 0;\n overflow: visible;\n max-height: none;\n padding-bottom: calc(var(--design-unit) * 4px);\n }\n\n .inbox-subscription.inline .control:focus-within {\n position: relative;\n z-index: 2;\n }\n\n .inbox-subscription-footer {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n padding: calc(var(--design-unit) * 2px) 0 0;\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .inbox-subscription:not(.inline) .inbox-subscription-footer {\n padding: calc(var(--design-unit) * 2px);\n margin-top: 0;\n }\n\n .inbox-subscription-footer.auto-submit {\n justify-content: flex-end;\n border-top: none;\n margin-top: 0;\n padding-top: 0;\n }\n\n rapid-button.subscribe,\n rapid-button.cancel {\n display: flex;\n margin: 0;\n flex: 1;\n }\n`"
6050
+ }
6051
+ ],
6052
+ "exports": [
6053
+ {
6054
+ "kind": "js",
6055
+ "name": "InboxSubscriptionStyles",
6056
+ "declaration": {
6057
+ "name": "InboxSubscriptionStyles",
6058
+ "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts"
6059
+ }
6060
+ }
6061
+ ]
6062
+ },
6063
+ {
6064
+ "kind": "javascript-module",
6065
+ "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts",
6066
+ "declarations": [
6067
+ {
6068
+ "kind": "variable",
6069
+ "name": "InboxSubscriptionTemplate",
6070
+ "default": "html<InboxSubscription>`\n <div class=\"inbox-subscription ${(x) => (x.inline ? 'inline' : '')}\">\n ${when(\n (x) => !x.inline,\n html`\n <div class=\"inbox-subscription-header\">\n Subscribe to\n <span style=\"font-weight: bold;\">${(x) => x.template.RULE_NAME}</span>\n </div>\n `,\n )}\n ${when(\n (x) => x.visibleParameters.length === 0,\n html`\n <p class=\"inbox-subscription-empty\">The selected template doesn't have parameters.</p>\n `,\n )}\n ${when(\n (x) => x.visibleParameters.length > 0,\n html`\n <div class=\"inbox-subscription-content\">\n ${repeat(\n (x) => x.visibleParameters,\n html<RuleParameterEntity>`\n <rule-parameter\n :parameter=${(x) => x}\n :isFirstElement=${(x, c) => c.parent.isFirstElement(x)}\n :operator=${(x, c) => c.parent.parametersOperators[x.PARAM_NAME]}\n :requireSelection=${(x, c) => c.parent.usesAutoSubmit()}\n @parameterEdited=${(x, c) => c.parent.parameterEdit(eventDetail(c))}\n ></rule-parameter>\n `,\n )}\n </div>\n `,\n )}\n ${when(\n (x) => !x.inline || x.requiresManualSubscribe(),\n html`\n <div class=\"inbox-subscription-footer\">\n ${when(\n (x) => x.inline,\n html`\n <rapid-button\n class=\"cancel\"\n appearance=\"neutral\"\n @click=${(x) => x.cancelSubscribe()}\n >\n Cancel\n </rapid-button>\n `,\n )}\n <rapid-button\n class=\"subscribe\"\n appearance=\"primary\"\n @click=${(x) => x.subscribeTemplate()}\n ?disabled=${(x) => x.subscribeDisabled}\n >\n Subscribe\n </rapid-button>\n </div>\n `,\n )}\n ${when(\n (x) => x.inline && x.usesAutoSubmit(),\n html`\n <div class=\"inbox-subscription-footer auto-submit\">\n <rapid-button class=\"cancel\" appearance=\"neutral\" @click=${(x) => x.cancelSubscribe()}>\n Cancel\n </rapid-button>\n </div>\n `,\n )}\n </div>\n`"
6071
+ }
6072
+ ],
6073
+ "exports": [
6074
+ {
6075
+ "kind": "js",
6076
+ "name": "InboxSubscriptionTemplate",
6077
+ "declaration": {
6078
+ "name": "InboxSubscriptionTemplate",
6079
+ "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts"
6080
+ }
6081
+ }
6082
+ ]
6083
+ },
6084
+ {
6085
+ "kind": "javascript-module",
6086
+ "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts",
6087
+ "declarations": [
6088
+ {
6089
+ "kind": "class",
6090
+ "description": "Inbox subscription configuration UI.",
6091
+ "name": "InboxSubscription",
6092
+ "members": [
6093
+ {
6094
+ "kind": "field",
6095
+ "name": "template"
6096
+ },
6097
+ {
6098
+ "kind": "field",
6099
+ "name": "inline",
6100
+ "type": {
6101
+ "text": "boolean"
6102
+ },
6103
+ "default": "false"
6104
+ },
6105
+ {
6106
+ "kind": "field",
6107
+ "name": "extraParameterDetails",
6108
+ "type": {
6109
+ "text": "Record<string, string>"
6110
+ },
6111
+ "default": "{}",
6112
+ "description": "Merged into subscribe payload (e.g. CHANNEL topic). Hidden from the form."
6113
+ },
6114
+ {
6115
+ "kind": "field",
6116
+ "name": "parametersDetails",
6117
+ "type": {
6118
+ "text": "object"
6119
+ },
6120
+ "privacy": "private",
6121
+ "default": "{}"
6122
+ },
6123
+ {
6124
+ "kind": "field",
6125
+ "name": "isSubmitting",
6126
+ "type": {
6127
+ "text": "boolean"
6128
+ },
6129
+ "privacy": "private",
6130
+ "default": "false"
6131
+ },
6132
+ {
6133
+ "kind": "field",
6134
+ "name": "parametersOperators",
6135
+ "type": {
6136
+ "text": "object"
6137
+ },
6138
+ "default": "{}"
6139
+ },
6140
+ {
6141
+ "kind": "field",
6142
+ "name": "subscribeDisabled",
6143
+ "type": {
6144
+ "text": "boolean"
6145
+ },
6146
+ "default": "true"
6147
+ },
6148
+ {
6149
+ "kind": "field",
6150
+ "name": "ruleService",
6151
+ "type": {
6152
+ "text": "RuleService"
6153
+ }
6154
+ },
6155
+ {
6156
+ "kind": "field",
6157
+ "name": "visibleParameters",
6158
+ "type": {
6159
+ "text": "RuleParameterEntity[]"
6160
+ },
6161
+ "readonly": true
6162
+ },
6163
+ {
6164
+ "kind": "method",
6165
+ "name": "templateChanged"
6166
+ },
6167
+ {
6168
+ "kind": "method",
6169
+ "name": "usesAutoSubmit",
6170
+ "return": {
6171
+ "type": {
6172
+ "text": "boolean"
6173
+ }
6174
+ }
6175
+ },
6176
+ {
6177
+ "kind": "method",
6178
+ "name": "requiresManualSubscribe",
6179
+ "return": {
6180
+ "type": {
6181
+ "text": "boolean"
6182
+ }
6183
+ }
6184
+ },
6185
+ {
6186
+ "kind": "method",
6187
+ "name": "parameterEdit",
6188
+ "parameters": [
6189
+ {
6190
+ "name": "value",
6191
+ "type": {
6192
+ "text": "any"
6193
+ }
6194
+ }
6195
+ ]
6196
+ },
6197
+ {
6198
+ "kind": "method",
6199
+ "name": "autoSubscribe",
6200
+ "privacy": "private"
6201
+ },
6202
+ {
6203
+ "kind": "method",
6204
+ "name": "verifySubscribe"
6205
+ },
6206
+ {
6207
+ "kind": "field",
6208
+ "name": "isFirstElement"
6209
+ },
6210
+ {
6211
+ "kind": "method",
6212
+ "name": "subscribeTemplate"
6213
+ },
6214
+ {
6215
+ "kind": "method",
6216
+ "name": "cancelSubscribe"
6217
+ },
6218
+ {
6219
+ "kind": "field",
6220
+ "name": "createParametersOperatorMap"
6221
+ }
6222
+ ],
6223
+ "events": [
6224
+ {
6225
+ "description": "Fired when a template subscription is created. detail: `TemplateSubscribedEventDetail`",
6226
+ "name": "templateSubscribed"
6227
+ },
6228
+ {
6229
+ "description": "Fired when inline parameter entry is cancelled",
6230
+ "name": "subscribeCancelled"
6231
+ }
6232
+ ],
6233
+ "attributes": [
6234
+ {
6235
+ "name": "template",
6236
+ "fieldName": "template"
6237
+ },
6238
+ {
6239
+ "type": {
6240
+ "text": "boolean"
6241
+ },
6242
+ "default": "false",
6243
+ "fieldName": "inline"
6244
+ }
6245
+ ],
6246
+ "superclass": {
6247
+ "name": "GenesisElement",
6248
+ "package": "@genesislcap/web-core"
6249
+ },
6250
+ "tagName": "inbox-subscription",
6251
+ "customElement": true
6252
+ }
6253
+ ],
6254
+ "exports": [
6255
+ {
6256
+ "kind": "js",
6257
+ "name": "InboxSubscription",
6258
+ "declaration": {
6259
+ "name": "InboxSubscription",
6260
+ "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts"
6261
+ }
6262
+ },
6263
+ {
6264
+ "kind": "custom-element-definition",
6265
+ "name": "inbox-subscription",
6266
+ "declaration": {
6267
+ "name": "InboxSubscription",
6268
+ "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts"
6269
+ }
6270
+ }
6271
+ ]
6272
+ },
6042
6273
  {
6043
6274
  "kind": "javascript-module",
6044
6275
  "path": "src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.styles.ts",
@@ -7373,258 +7604,27 @@
7373
7604
  },
7374
7605
  {
7375
7606
  "kind": "javascript-module",
7376
- "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts",
7607
+ "path": "src/components/foundation-notification-dashboard/components/notify-audit/notify-audit-management.ts",
7377
7608
  "declarations": [
7378
7609
  {
7379
- "kind": "variable",
7380
- "name": "InboxSubscriptionStyles",
7381
- "default": "css`\n .inbox-subscription {\n display: flex;\n flex-direction: column;\n }\n\n .inbox-subscription.inline {\n margin-top: calc(var(--design-unit) * 2px);\n padding-top: calc(var(--design-unit) * 2px);\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .inbox-subscription-header {\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-bottom: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .inbox-subscription-empty {\n padding: 0 calc(var(--design-unit) * 2px);\n margin: calc(var(--design-unit) * 2px) 0 0;\n }\n\n .inbox-subscription-content {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 3px);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n margin: calc(var(--design-unit) * 2px);\n padding: calc(var(--design-unit) * 2px);\n border-radius: calc(var(--control-corner-radius) * 1px);\n }\n\n .inbox-subscription:not(.inline) .inbox-subscription-content {\n overflow: auto;\n max-height: calc(var(--design-unit) * 80px);\n }\n\n .inbox-subscription.inline .inbox-subscription-content {\n margin: calc(var(--design-unit) * 2px) 0 0;\n overflow: visible;\n max-height: none;\n padding-bottom: calc(var(--design-unit) * 4px);\n }\n\n .inbox-subscription.inline .control:focus-within {\n position: relative;\n z-index: 2;\n }\n\n .inbox-subscription-footer {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n padding: calc(var(--design-unit) * 2px) 0 0;\n border-top: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .inbox-subscription:not(.inline) .inbox-subscription-footer {\n padding: calc(var(--design-unit) * 2px);\n margin-top: 0;\n }\n\n .inbox-subscription-footer.auto-submit {\n justify-content: flex-end;\n border-top: none;\n margin-top: 0;\n padding-top: 0;\n }\n\n rapid-button.subscribe,\n rapid-button.cancel {\n display: flex;\n margin: 0;\n flex: 1;\n }\n`"
7610
+ "kind": "class",
7611
+ "description": "",
7612
+ "name": "NotifyAuditManagement",
7613
+ "superclass": {
7614
+ "name": "GenesisElement",
7615
+ "package": "@genesislcap/web-core"
7616
+ },
7617
+ "tagName": "notify-audit-management",
7618
+ "customElement": true
7382
7619
  }
7383
7620
  ],
7384
7621
  "exports": [
7385
7622
  {
7386
7623
  "kind": "js",
7387
- "name": "InboxSubscriptionStyles",
7624
+ "name": "NotifyAuditManagement",
7388
7625
  "declaration": {
7389
- "name": "InboxSubscriptionStyles",
7390
- "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts"
7391
- }
7392
- }
7393
- ]
7394
- },
7395
- {
7396
- "kind": "javascript-module",
7397
- "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts",
7398
- "declarations": [
7399
- {
7400
- "kind": "variable",
7401
- "name": "InboxSubscriptionTemplate",
7402
- "default": "html<InboxSubscription>`\n <div class=\"inbox-subscription ${(x) => (x.inline ? 'inline' : '')}\">\n ${when(\n (x) => !x.inline,\n html`\n <div class=\"inbox-subscription-header\">\n Subscribe to\n <span style=\"font-weight: bold;\">${(x) => x.template.RULE_NAME}</span>\n </div>\n `,\n )}\n ${when(\n (x) => x.visibleParameters.length === 0,\n html`\n <p class=\"inbox-subscription-empty\">The selected template doesn't have parameters.</p>\n `,\n )}\n ${when(\n (x) => x.visibleParameters.length > 0,\n html`\n <div class=\"inbox-subscription-content\">\n ${repeat(\n (x) => x.visibleParameters,\n html<RuleParameterEntity>`\n <rule-parameter\n :parameter=${(x) => x}\n :isFirstElement=${(x, c) => c.parent.isFirstElement(x)}\n :operator=${(x, c) => c.parent.parametersOperators[x.PARAM_NAME]}\n :requireSelection=${(x, c) => c.parent.usesAutoSubmit()}\n @parameterEdited=${(x, c) => c.parent.parameterEdit(eventDetail(c))}\n ></rule-parameter>\n `,\n )}\n </div>\n `,\n )}\n ${when(\n (x) => !x.inline || x.requiresManualSubscribe(),\n html`\n <div class=\"inbox-subscription-footer\">\n ${when(\n (x) => x.inline,\n html`\n <rapid-button\n class=\"cancel\"\n appearance=\"neutral\"\n @click=${(x) => x.cancelSubscribe()}\n >\n Cancel\n </rapid-button>\n `,\n )}\n <rapid-button\n class=\"subscribe\"\n appearance=\"primary\"\n @click=${(x) => x.subscribeTemplate()}\n ?disabled=${(x) => x.subscribeDisabled}\n >\n Subscribe\n </rapid-button>\n </div>\n `,\n )}\n ${when(\n (x) => x.inline && x.usesAutoSubmit(),\n html`\n <div class=\"inbox-subscription-footer auto-submit\">\n <rapid-button class=\"cancel\" appearance=\"neutral\" @click=${(x) => x.cancelSubscribe()}>\n Cancel\n </rapid-button>\n </div>\n `,\n )}\n </div>\n`"
7403
- }
7404
- ],
7405
- "exports": [
7406
- {
7407
- "kind": "js",
7408
- "name": "InboxSubscriptionTemplate",
7409
- "declaration": {
7410
- "name": "InboxSubscriptionTemplate",
7411
- "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts"
7412
- }
7413
- }
7414
- ]
7415
- },
7416
- {
7417
- "kind": "javascript-module",
7418
- "path": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts",
7419
- "declarations": [
7420
- {
7421
- "kind": "class",
7422
- "description": "Inbox subscription configuration UI.",
7423
- "name": "InboxSubscription",
7424
- "members": [
7425
- {
7426
- "kind": "field",
7427
- "name": "template"
7428
- },
7429
- {
7430
- "kind": "field",
7431
- "name": "inline",
7432
- "type": {
7433
- "text": "boolean"
7434
- },
7435
- "default": "false"
7436
- },
7437
- {
7438
- "kind": "field",
7439
- "name": "extraParameterDetails",
7440
- "type": {
7441
- "text": "Record<string, string>"
7442
- },
7443
- "default": "{}",
7444
- "description": "Merged into subscribe payload (e.g. CHANNEL topic). Hidden from the form."
7445
- },
7446
- {
7447
- "kind": "field",
7448
- "name": "parametersDetails",
7449
- "type": {
7450
- "text": "object"
7451
- },
7452
- "privacy": "private",
7453
- "default": "{}"
7454
- },
7455
- {
7456
- "kind": "field",
7457
- "name": "isSubmitting",
7458
- "type": {
7459
- "text": "boolean"
7460
- },
7461
- "privacy": "private",
7462
- "default": "false"
7463
- },
7464
- {
7465
- "kind": "field",
7466
- "name": "parametersOperators",
7467
- "type": {
7468
- "text": "object"
7469
- },
7470
- "default": "{}"
7471
- },
7472
- {
7473
- "kind": "field",
7474
- "name": "subscribeDisabled",
7475
- "type": {
7476
- "text": "boolean"
7477
- },
7478
- "default": "true"
7479
- },
7480
- {
7481
- "kind": "field",
7482
- "name": "ruleService",
7483
- "type": {
7484
- "text": "RuleService"
7485
- }
7486
- },
7487
- {
7488
- "kind": "field",
7489
- "name": "visibleParameters",
7490
- "type": {
7491
- "text": "RuleParameterEntity[]"
7492
- },
7493
- "readonly": true
7494
- },
7495
- {
7496
- "kind": "method",
7497
- "name": "templateChanged"
7498
- },
7499
- {
7500
- "kind": "method",
7501
- "name": "usesAutoSubmit",
7502
- "return": {
7503
- "type": {
7504
- "text": "boolean"
7505
- }
7506
- }
7507
- },
7508
- {
7509
- "kind": "method",
7510
- "name": "requiresManualSubscribe",
7511
- "return": {
7512
- "type": {
7513
- "text": "boolean"
7514
- }
7515
- }
7516
- },
7517
- {
7518
- "kind": "method",
7519
- "name": "parameterEdit",
7520
- "parameters": [
7521
- {
7522
- "name": "value",
7523
- "type": {
7524
- "text": "any"
7525
- }
7526
- }
7527
- ]
7528
- },
7529
- {
7530
- "kind": "method",
7531
- "name": "autoSubscribe",
7532
- "privacy": "private"
7533
- },
7534
- {
7535
- "kind": "method",
7536
- "name": "verifySubscribe"
7537
- },
7538
- {
7539
- "kind": "field",
7540
- "name": "isFirstElement"
7541
- },
7542
- {
7543
- "kind": "method",
7544
- "name": "subscribeTemplate"
7545
- },
7546
- {
7547
- "kind": "method",
7548
- "name": "cancelSubscribe"
7549
- },
7550
- {
7551
- "kind": "field",
7552
- "name": "createParametersOperatorMap"
7553
- }
7554
- ],
7555
- "events": [
7556
- {
7557
- "description": "Fired when a template subscription is created. detail: `TemplateSubscribedEventDetail`",
7558
- "name": "templateSubscribed"
7559
- },
7560
- {
7561
- "description": "Fired when inline parameter entry is cancelled",
7562
- "name": "subscribeCancelled"
7563
- }
7564
- ],
7565
- "attributes": [
7566
- {
7567
- "name": "template",
7568
- "fieldName": "template"
7569
- },
7570
- {
7571
- "type": {
7572
- "text": "boolean"
7573
- },
7574
- "default": "false",
7575
- "fieldName": "inline"
7576
- }
7577
- ],
7578
- "superclass": {
7579
- "name": "GenesisElement",
7580
- "package": "@genesislcap/web-core"
7581
- },
7582
- "tagName": "inbox-subscription",
7583
- "customElement": true
7584
- }
7585
- ],
7586
- "exports": [
7587
- {
7588
- "kind": "js",
7589
- "name": "InboxSubscription",
7590
- "declaration": {
7591
- "name": "InboxSubscription",
7592
- "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts"
7593
- }
7594
- },
7595
- {
7596
- "kind": "custom-element-definition",
7597
- "name": "inbox-subscription",
7598
- "declaration": {
7599
- "name": "InboxSubscription",
7600
- "module": "src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts"
7601
- }
7602
- }
7603
- ]
7604
- },
7605
- {
7606
- "kind": "javascript-module",
7607
- "path": "src/components/foundation-notification-dashboard/components/notify-audit/notify-audit-management.ts",
7608
- "declarations": [
7609
- {
7610
- "kind": "class",
7611
- "description": "",
7612
- "name": "NotifyAuditManagement",
7613
- "superclass": {
7614
- "name": "GenesisElement",
7615
- "package": "@genesislcap/web-core"
7616
- },
7617
- "tagName": "notify-audit-management",
7618
- "customElement": true
7619
- }
7620
- ],
7621
- "exports": [
7622
- {
7623
- "kind": "js",
7624
- "name": "NotifyAuditManagement",
7625
- "declaration": {
7626
- "name": "NotifyAuditManagement",
7627
- "module": "src/components/foundation-notification-dashboard/components/notify-audit/notify-audit-management.ts"
7626
+ "name": "NotifyAuditManagement",
7627
+ "module": "src/components/foundation-notification-dashboard/components/notify-audit/notify-audit-management.ts"
7628
7628
  }
7629
7629
  },
7630
7630
  {
@@ -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-builder/rule-condition-builder.template.ts",
9836
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
9837
9837
  "declarations": [
9838
9838
  {
9839
9839
  "kind": "variable",
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`"
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
9842
  }
9843
9843
  ],
9844
9844
  "exports": [
9845
9845
  {
9846
9846
  "kind": "js",
9847
- "name": "RuleConditionBuilderTemplate",
9847
+ "name": "RuleConditionGroupTemplate",
9848
9848
  "declaration": {
9849
- "name": "RuleConditionBuilderTemplate",
9850
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts"
9849
+ "name": "RuleConditionGroupTemplate",
9850
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.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-builder/rule-condition-builder.ts",
9857
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
9858
9858
  "declarations": [
9859
9859
  {
9860
9860
  "kind": "class",
9861
- "description": "Condition builder for notification rule criteria.",
9862
- "name": "RuleConditionBuilder",
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
9863
  "members": [
9864
9864
  {
9865
9865
  "kind": "field",
9866
- "name": "condition",
9866
+ "name": "node",
9867
9867
  "type": {
9868
- "text": "ConditionBuilderEntity"
9868
+ "text": "ConditionGroupEntity"
9869
9869
  }
9870
9870
  },
9871
9871
  {
@@ -9893,7 +9893,157 @@
9893
9893
  },
9894
9894
  {
9895
9895
  "kind": "field",
9896
- "name": "leftValue",
9896
+ "name": "groupChildren",
9897
+ "type": {
9898
+ "text": "ConditionNode[]"
9899
+ },
9900
+ "default": "[]"
9901
+ },
9902
+ {
9903
+ "kind": "method",
9904
+ "name": "nodeChanged"
9905
+ },
9906
+ {
9907
+ "kind": "method",
9908
+ "name": "joinOperatorChanged"
9909
+ },
9910
+ {
9911
+ "kind": "method",
9912
+ "name": "newCondition"
9913
+ },
9914
+ {
9915
+ "kind": "method",
9916
+ "name": "newGroup"
9917
+ },
9918
+ {
9919
+ "kind": "method",
9920
+ "name": "editChild",
9921
+ "parameters": [
9922
+ {
9923
+ "name": "_editedChild",
9924
+ "type": {
9925
+ "text": "ConditionNode"
9926
+ }
9927
+ }
9928
+ ]
9929
+ },
9930
+ {
9931
+ "kind": "method",
9932
+ "name": "deleteChild",
9933
+ "parameters": [
9934
+ {
9935
+ "name": "deletedChild",
9936
+ "type": {
9937
+ "text": "ConditionNode"
9938
+ }
9939
+ }
9940
+ ]
9941
+ },
9942
+ {
9943
+ "kind": "method",
9944
+ "name": "deleteSelf"
9945
+ }
9946
+ ],
9947
+ "events": [
9948
+ {
9949
+ "description": "Fired when this whole group should be removed",
9950
+ "name": "delete"
9951
+ },
9952
+ {
9953
+ "description": "Fired when anything inside this group changes",
9954
+ "name": "edit"
9955
+ }
9956
+ ],
9957
+ "superclass": {
9958
+ "name": "GenesisElement",
9959
+ "package": "@genesislcap/web-core"
9960
+ },
9961
+ "tagName": "rule-condition-group",
9962
+ "customElement": true
9963
+ }
9964
+ ],
9965
+ "exports": [
9966
+ {
9967
+ "kind": "js",
9968
+ "name": "RuleConditionGroup",
9969
+ "declaration": {
9970
+ "name": "RuleConditionGroup",
9971
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
9972
+ }
9973
+ },
9974
+ {
9975
+ "kind": "custom-element-definition",
9976
+ "name": "rule-condition-group",
9977
+ "declaration": {
9978
+ "name": "RuleConditionGroup",
9979
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
9980
+ }
9981
+ }
9982
+ ]
9983
+ },
9984
+ {
9985
+ "kind": "javascript-module",
9986
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts",
9987
+ "declarations": [
9988
+ {
9989
+ "kind": "variable",
9990
+ "name": "RuleConditionBuilderTemplate",
9991
+ "default": "html<RuleConditionBuilder>`\n ${when(\n (x) => !x.isFirst,\n html`\n <div class=\"join-toggle-row\">\n <div class=\"join-toggle\">\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'AND'])}\"\n @click=${(x) => (x.joinOperator = 'AND')}\n >\n AND\n </span>\n <span\n class=\"join-text${(x) => classNames(['active', x.joinOperator === 'OR'])}\"\n @click=${(x) => (x.joinOperator = 'OR')}\n >\n OR\n </span>\n </div>\n </div>\n `,\n )}\n <div class=\"condition-builder\">\n <rapid-select\n :value=${sync((x) => x.leftValue)}\n :initialValue=${sync((x) => x.leftValue)}\n title=${(x) => (x.leftValue ? JSON.parse(x.leftValue).FIELD_NAME : '')}\n class=\"left-value\"\n >\n ${repeat(\n (x) => x.getAllFields(),\n html`\n <rapid-option value=${(x) => JSON.stringify(x)} title=${(x) => x.FIELD_NAME}>\n ${(x) => x.FIELD_NAME}\n </rapid-option>\n `,\n )}\n </rapid-select>\n\n <rapid-select\n class=\"logical-operator${(x) =>\n classNames([\n '-null-and-blank',\n nullAndBlankLogicalOperatorValues.includes(LogicalOperator[x.logicalOperator]),\n ])}\"\n :value=${sync((x) => x.logicalOperator)}\n title=${(x) => x.logicalOperator}\n >\n ${repeat(\n (x) => x.getLogicalOperators(),\n html`\n <rapid-option value=${(x) => x.operator} title=${(x) => x}>\n ${(x) => x.label}\n </rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => !nullAndBlankLogicalOperatorValues.includes(LogicalOperator[x.logicalOperator]),\n html`\n <rapid-select\n class=\"right-criteria\"\n :value=${sync((x) => x.rightCriteria)}\n title=${(x) => x.rightCriteria}\n >\n ${repeat(\n (x) => x.getRightCriteria(),\n html`\n <rapid-option value=${(x) => x} title=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => x.rightCriteria === RightCriteria.VALUE,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.BOOLEAN,\n html`\n <rapid-select class=\"right-criteria-select\" :value=${sync((x) => x.rightValueText)}>\n <rapid-option value=\"true\">true</rapid-option>\n <rapid-option value=\"false\">false</rapid-option>\n </rapid-select>\n `,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === 'ENUM',\n html`\n <rapid-multiselect\n class=\"right-criteria-select\"\n :selectedOptions=${(x) => x.rightValueMultiSelect}\n @selectionChange=${(x, c) => {\n x.rightValueMultiSelect = (c.event as CustomEvent).detail;\n }}\n search=\"true\"\n all=\"false\"\n >\n <multiselect-datasource\n value-field=\"value\"\n label-field=\"value\"\n :data=${(x) => x.getEnumValues().map((value) => ({ value }))}\n ></multiselect-datasource>\n </rapid-multiselect>\n `,\n html`\n ${whenElse(\n (x) => JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.DATE,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n type=\"date\"\n ></rapid-text-field>\n `,\n html`\n ${whenElse(\n (x) =>\n JSON.parse(x.leftValue ?? '{}').FIELD_TYPE === FieldTypeEnum.DATETIME,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n type=\"datetime-local\"\n ></rapid-text-field>\n `,\n html`\n <rapid-text-field\n class=\"right-criteria-text\"\n :value=${sync((x) => x.rightValueText)}\n placeholder=\"Value (comma-separate for multiple)\"\n autocomplete=\"off\"\n ></rapid-text-field>\n `,\n )}\n `,\n )}\n `,\n )}\n `,\n )}\n `,\n )}\n ${when(\n (x) => x.rightCriteria === RightCriteria.FIELD,\n html`\n <rapid-select\n class=\"right-criteria-select\"\n :value=${sync((x) => x.rightValueSelect)}\n title=${(x) => x.rightValueSelect}\n >\n ${repeat(\n (x) => x.getApplicableFields(),\n html`\n <rapid-option value=${(x) => x.FIELD_NAME} title=${(x) => x.FIELD_NAME}>\n ${(x) => x.FIELD_NAME}\n </rapid-option>\n `,\n )}\n </rapid-select>\n `,\n )}\n `,\n )}\n\n <rapid-button appearance=\"icon\" class=\"delete\" @click=${(x) => x.deleteCondition()}>\n <rapid-icon\n style=\"opacity: 0.5\"\n variant=\"regular\"\n name=\"trash-alt\"\n size=\"lg\"\n part=\"icon\"\n ></rapid-icon>\n </rapid-button>\n </div>\n`"
9992
+ }
9993
+ ],
9994
+ "exports": [
9995
+ {
9996
+ "kind": "js",
9997
+ "name": "RuleConditionBuilderTemplate",
9998
+ "declaration": {
9999
+ "name": "RuleConditionBuilderTemplate",
10000
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts"
10001
+ }
10002
+ }
10003
+ ]
10004
+ },
10005
+ {
10006
+ "kind": "javascript-module",
10007
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts",
10008
+ "declarations": [
10009
+ {
10010
+ "kind": "class",
10011
+ "description": "Condition builder for notification rule criteria.",
10012
+ "name": "RuleConditionBuilder",
10013
+ "members": [
10014
+ {
10015
+ "kind": "field",
10016
+ "name": "condition",
10017
+ "type": {
10018
+ "text": "ConditionBuilderEntity"
10019
+ }
10020
+ },
10021
+ {
10022
+ "kind": "field",
10023
+ "name": "fields",
10024
+ "type": {
10025
+ "text": "Field[]"
10026
+ },
10027
+ "default": "[]"
10028
+ },
10029
+ {
10030
+ "kind": "field",
10031
+ "name": "isFirst",
10032
+ "type": {
10033
+ "text": "boolean"
10034
+ },
10035
+ "default": "false"
10036
+ },
10037
+ {
10038
+ "kind": "field",
10039
+ "name": "joinOperator",
10040
+ "type": {
10041
+ "text": "string"
10042
+ }
10043
+ },
10044
+ {
10045
+ "kind": "field",
10046
+ "name": "leftValue",
9897
10047
  "type": {
9898
10048
  "text": "string"
9899
10049
  },
@@ -10117,364 +10267,372 @@
10117
10267
  },
10118
10268
  {
10119
10269
  "kind": "javascript-module",
10120
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
10270
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
10121
10271
  "declarations": [
10122
10272
  {
10123
10273
  "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`"
10274
+ "name": "ParameterBuilderStyles",
10275
+ "default": "css`\n .parameter-builder {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n rapid-button {\n margin: 0;\n }\n\n .delete {\n margin: 0;\n display: flex;\n justify-content: center;\n height: calc(var(--design-unit) * 9px);\n }\n\n .delete:hover {\n background-color: color-mix(in srgb, var(--neutral-foreground-rest), transparent 89%);\n }\n\n rapid-text-field {\n width: 100%;\n margin-bottom: 0;\n }\n\n rapid-text-field::part(root) {\n height: calc(var(--design-unit) * 9px);\n }\n\n rapid-select {\n min-width: auto;\n }\n\n rapid-select.param-type::part(control) {\n width: 115px;\n }\n\n rapid-select.param-source-type::part(control) {\n width: 160px;\n }\n\n rapid-select.param-source::part(control) {\n width: ${PARAM_SOURCE_WIDTH}px;\n }\n\n rapid-text-field.param-source::part(root) {\n width: calc(${PARAM_SOURCE_WIDTH}px + 2px);\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n`"
10126
10276
  }
10127
10277
  ],
10128
10278
  "exports": [
10129
10279
  {
10130
10280
  "kind": "js",
10131
- "name": "RuleConditionGroupTemplate",
10281
+ "name": "ParameterBuilderStyles",
10132
10282
  "declaration": {
10133
- "name": "RuleConditionGroupTemplate",
10134
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
10283
+ "name": "ParameterBuilderStyles",
10284
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts"
10135
10285
  }
10136
10286
  }
10137
10287
  ]
10138
10288
  },
10139
10289
  {
10140
10290
  "kind": "javascript-module",
10141
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
10291
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts",
10292
+ "declarations": [
10293
+ {
10294
+ "kind": "variable",
10295
+ "name": "ParameterBuilderTemplate",
10296
+ "default": "html<ParameterBuilder>`\n <div class=\"parameter-builder\">\n <rapid-text-field\n id=\"param-name\"\n placeholder=\"Name\"\n :value=${sync((x) => x.name)}\n ></rapid-text-field>\n\n <rapid-text-field\n id=\"param-label\"\n placeholder=\"Label\"\n :value=${sync((x) => x.label)}\n ></rapid-text-field>\n\n <rapid-select\n id=\"param-source-type\"\n :value=${sync((x) => x.sourceType)}\n class=\"param-source-type\"\n >\n ${repeat(\n (x) => ALL_PARAM_SOURCE_TYPES,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_USER_TEXT,\n html<ParameterBuilder>`\n <rapid-text-field class=\"param-source\" disabled></rapid-text-field>\n `,\n )}\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_REQ_REP,\n html<ParameterBuilder>`\n <rapid-select\n ${ref('sourceSelect')}\n id=\"param-source\"\n :value=${sync((x) => x.sourceSelected)}\n class=\"param-source\"\n ?disabled=${(x) => x.sourceType !== PARAM_SOURCE_TYPE_REQ_REP}\n >\n ${repeat(\n (x) => x.reqRepItems,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n `,\n )}\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_DEFINED_GROUP,\n html<ParameterBuilder>`\n <rapid-text-field\n ${ref('sourceTextField')}\n class=\"param-source\"\n placeholder=\"item1,item2,item3\"\n :value=${sync((x) => x.sourceTyped)}\n ></rapid-text-field>\n `,\n )}\n\n <rapid-select id=\"param-type\" :value=${sync((x) => x.type)} class=\"param-type\">\n ${repeat(\n (x) => ALL_PARAM_TYPES,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n <rapid-button appearance=\"icon\" class=\"delete\" @click=${(x) => x.deleteParameter()}>\n <rapid-icon\n style=\"opacity: 0.5\"\n variant=\"regular\"\n name=\"trash-alt\"\n size=\"lg\"\n part=\"icon\"\n ></rapid-icon>\n </rapid-button>\n </div>\n`"
10297
+ }
10298
+ ],
10299
+ "exports": [
10300
+ {
10301
+ "kind": "js",
10302
+ "name": "ParameterBuilderTemplate",
10303
+ "declaration": {
10304
+ "name": "ParameterBuilderTemplate",
10305
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts"
10306
+ }
10307
+ }
10308
+ ]
10309
+ },
10310
+ {
10311
+ "kind": "javascript-module",
10312
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts",
10142
10313
  "declarations": [
10143
10314
  {
10144
10315
  "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",
10316
+ "description": "Parameter builder for notification templates.",
10317
+ "name": "ParameterBuilder",
10147
10318
  "members": [
10148
10319
  {
10149
10320
  "kind": "field",
10150
- "name": "node",
10321
+ "name": "parameter",
10151
10322
  "type": {
10152
- "text": "ConditionGroupEntity"
10323
+ "text": "ParameterBuilderEntity"
10153
10324
  }
10154
10325
  },
10155
10326
  {
10156
10327
  "kind": "field",
10157
- "name": "fields",
10328
+ "name": "name",
10158
10329
  "type": {
10159
- "text": "Field[]"
10160
- },
10161
- "default": "[]"
10330
+ "text": "string"
10331
+ }
10162
10332
  },
10163
10333
  {
10164
10334
  "kind": "field",
10165
- "name": "isFirst",
10335
+ "name": "label",
10166
10336
  "type": {
10167
- "text": "boolean"
10168
- },
10169
- "default": "false"
10337
+ "text": "string"
10338
+ }
10170
10339
  },
10171
10340
  {
10172
10341
  "kind": "field",
10173
- "name": "joinOperator",
10342
+ "name": "type",
10174
10343
  "type": {
10175
10344
  "text": "string"
10176
10345
  }
10177
10346
  },
10178
10347
  {
10179
10348
  "kind": "field",
10180
- "name": "groupChildren",
10349
+ "name": "sourceType",
10181
10350
  "type": {
10182
- "text": "ConditionNode[]"
10351
+ "text": "string"
10352
+ }
10353
+ },
10354
+ {
10355
+ "kind": "field",
10356
+ "name": "sourceSelected",
10357
+ "type": {
10358
+ "text": "string"
10359
+ }
10360
+ },
10361
+ {
10362
+ "kind": "field",
10363
+ "name": "sourceTyped",
10364
+ "type": {
10365
+ "text": "string"
10366
+ }
10367
+ },
10368
+ {
10369
+ "kind": "field",
10370
+ "name": "sourceTextField",
10371
+ "type": {
10372
+ "text": "TextField"
10373
+ }
10374
+ },
10375
+ {
10376
+ "kind": "field",
10377
+ "name": "sourceSelect",
10378
+ "type": {
10379
+ "text": "Select"
10380
+ }
10381
+ },
10382
+ {
10383
+ "kind": "field",
10384
+ "name": "reqRepItems",
10385
+ "type": {
10386
+ "text": "array"
10183
10387
  },
10184
- "default": "[]"
10388
+ "default": "['REQUEST_1', 'REQUEST_2', 'REQUEST_3']"
10185
10389
  },
10186
10390
  {
10187
10391
  "kind": "method",
10188
- "name": "nodeChanged"
10392
+ "name": "deleteParameter"
10189
10393
  },
10190
10394
  {
10191
10395
  "kind": "method",
10192
- "name": "joinOperatorChanged"
10396
+ "name": "parameterChanged"
10193
10397
  },
10194
10398
  {
10195
10399
  "kind": "method",
10196
- "name": "newCondition"
10400
+ "name": "nameChanged"
10197
10401
  },
10198
10402
  {
10199
10403
  "kind": "method",
10200
- "name": "newGroup"
10404
+ "name": "labelChanged"
10201
10405
  },
10202
10406
  {
10203
10407
  "kind": "method",
10204
- "name": "editChild",
10205
- "parameters": [
10206
- {
10207
- "name": "_editedChild",
10208
- "type": {
10209
- "text": "ConditionNode"
10210
- }
10211
- }
10212
- ]
10408
+ "name": "typeChanged"
10213
10409
  },
10214
10410
  {
10215
10411
  "kind": "method",
10216
- "name": "deleteChild",
10412
+ "name": "sourceTypeChanged"
10413
+ },
10414
+ {
10415
+ "kind": "method",
10416
+ "name": "sourceSelectedChanged"
10417
+ },
10418
+ {
10419
+ "kind": "method",
10420
+ "name": "sourceTypedChanged"
10421
+ },
10422
+ {
10423
+ "kind": "method",
10424
+ "name": "genericChanged",
10425
+ "privacy": "private",
10217
10426
  "parameters": [
10218
10427
  {
10219
- "name": "deletedChild",
10220
- "type": {
10221
- "text": "ConditionNode"
10222
- }
10428
+ "name": "parameterAttribute"
10429
+ },
10430
+ {
10431
+ "name": "value"
10223
10432
  }
10224
10433
  ]
10225
- },
10226
- {
10227
- "kind": "method",
10228
- "name": "deleteSelf"
10229
10434
  }
10230
10435
  ],
10231
10436
  "events": [
10232
10437
  {
10233
- "description": "Fired when this whole group should be removed",
10438
+ "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
10234
10439
  "name": "delete"
10235
10440
  },
10236
10441
  {
10237
- "description": "Fired when anything inside this group changes",
10442
+ "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
10238
10443
  "name": "edit"
10239
10444
  }
10240
10445
  ],
10446
+ "attributes": [
10447
+ {
10448
+ "name": "parameter",
10449
+ "type": {
10450
+ "text": "ParameterBuilderEntity"
10451
+ },
10452
+ "fieldName": "parameter"
10453
+ }
10454
+ ],
10241
10455
  "superclass": {
10242
10456
  "name": "GenesisElement",
10243
10457
  "package": "@genesislcap/web-core"
10244
10458
  },
10245
- "tagName": "rule-condition-group",
10459
+ "tagName": "parameter-builder",
10246
10460
  "customElement": true
10247
10461
  }
10248
10462
  ],
10249
10463
  "exports": [
10250
10464
  {
10251
10465
  "kind": "js",
10252
- "name": "RuleConditionGroup",
10466
+ "name": "ParameterBuilder",
10253
10467
  "declaration": {
10254
- "name": "RuleConditionGroup",
10255
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10468
+ "name": "ParameterBuilder",
10469
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10256
10470
  }
10257
10471
  },
10258
10472
  {
10259
10473
  "kind": "custom-element-definition",
10260
- "name": "rule-condition-group",
10261
- "declaration": {
10262
- "name": "RuleConditionGroup",
10263
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
10264
- }
10265
- }
10266
- ]
10267
- },
10268
- {
10269
- "kind": "javascript-module",
10270
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
10271
- "declarations": [
10272
- {
10273
- "kind": "variable",
10274
- "name": "ParameterBuilderStyles",
10275
- "default": "css`\n .parameter-builder {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n rapid-button {\n margin: 0;\n }\n\n .delete {\n margin: 0;\n display: flex;\n justify-content: center;\n height: calc(var(--design-unit) * 9px);\n }\n\n .delete:hover {\n background-color: color-mix(in srgb, var(--neutral-foreground-rest), transparent 89%);\n }\n\n rapid-text-field {\n width: 100%;\n margin-bottom: 0;\n }\n\n rapid-text-field::part(root) {\n height: calc(var(--design-unit) * 9px);\n }\n\n rapid-select {\n min-width: auto;\n }\n\n rapid-select.param-type::part(control) {\n width: 115px;\n }\n\n rapid-select.param-source-type::part(control) {\n width: 160px;\n }\n\n rapid-select.param-source::part(control) {\n width: ${PARAM_SOURCE_WIDTH}px;\n }\n\n rapid-text-field.param-source::part(root) {\n width: calc(${PARAM_SOURCE_WIDTH}px + 2px);\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n`"
10276
- }
10277
- ],
10278
- "exports": [
10279
- {
10280
- "kind": "js",
10281
- "name": "ParameterBuilderStyles",
10474
+ "name": "parameter-builder",
10282
10475
  "declaration": {
10283
- "name": "ParameterBuilderStyles",
10284
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts"
10476
+ "name": "ParameterBuilder",
10477
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10285
10478
  }
10286
10479
  }
10287
10480
  ]
10288
10481
  },
10289
10482
  {
10290
10483
  "kind": "javascript-module",
10291
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts",
10484
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts",
10292
10485
  "declarations": [
10293
10486
  {
10294
10487
  "kind": "variable",
10295
- "name": "ParameterBuilderTemplate",
10296
- "default": "html<ParameterBuilder>`\n <div class=\"parameter-builder\">\n <rapid-text-field\n id=\"param-name\"\n placeholder=\"Name\"\n :value=${sync((x) => x.name)}\n ></rapid-text-field>\n\n <rapid-text-field\n id=\"param-label\"\n placeholder=\"Label\"\n :value=${sync((x) => x.label)}\n ></rapid-text-field>\n\n <rapid-select\n id=\"param-source-type\"\n :value=${sync((x) => x.sourceType)}\n class=\"param-source-type\"\n >\n ${repeat(\n (x) => ALL_PARAM_SOURCE_TYPES,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_USER_TEXT,\n html<ParameterBuilder>`\n <rapid-text-field class=\"param-source\" disabled></rapid-text-field>\n `,\n )}\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_REQ_REP,\n html<ParameterBuilder>`\n <rapid-select\n ${ref('sourceSelect')}\n id=\"param-source\"\n :value=${sync((x) => x.sourceSelected)}\n class=\"param-source\"\n ?disabled=${(x) => x.sourceType !== PARAM_SOURCE_TYPE_REQ_REP}\n >\n ${repeat(\n (x) => x.reqRepItems,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n `,\n )}\n ${when(\n (x) => x.sourceType === PARAM_SOURCE_TYPE_DEFINED_GROUP,\n html<ParameterBuilder>`\n <rapid-text-field\n ${ref('sourceTextField')}\n class=\"param-source\"\n placeholder=\"item1,item2,item3\"\n :value=${sync((x) => x.sourceTyped)}\n ></rapid-text-field>\n `,\n )}\n\n <rapid-select id=\"param-type\" :value=${sync((x) => x.type)} class=\"param-type\">\n ${repeat(\n (x) => ALL_PARAM_TYPES,\n html`\n <rapid-option value=${(x) => x}>${(x) => x}</rapid-option>\n `,\n )}\n </rapid-select>\n\n <rapid-button appearance=\"icon\" class=\"delete\" @click=${(x) => x.deleteParameter()}>\n <rapid-icon\n style=\"opacity: 0.5\"\n variant=\"regular\"\n name=\"trash-alt\"\n size=\"lg\"\n part=\"icon\"\n ></rapid-icon>\n </rapid-button>\n </div>\n`"
10488
+ "name": "TemplateConditionGroupTemplate",
10489
+ "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`"
10297
10490
  }
10298
10491
  ],
10299
10492
  "exports": [
10300
10493
  {
10301
10494
  "kind": "js",
10302
- "name": "ParameterBuilderTemplate",
10495
+ "name": "TemplateConditionGroupTemplate",
10303
10496
  "declaration": {
10304
- "name": "ParameterBuilderTemplate",
10305
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts"
10497
+ "name": "TemplateConditionGroupTemplate",
10498
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts"
10306
10499
  }
10307
10500
  }
10308
10501
  ]
10309
10502
  },
10310
10503
  {
10311
10504
  "kind": "javascript-module",
10312
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts",
10505
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts",
10313
10506
  "declarations": [
10314
10507
  {
10315
10508
  "kind": "class",
10316
- "description": "Parameter builder for notification templates.",
10317
- "name": "ParameterBuilder",
10509
+ "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.",
10510
+ "name": "TemplateConditionGroup",
10318
10511
  "members": [
10319
10512
  {
10320
10513
  "kind": "field",
10321
- "name": "parameter",
10322
- "type": {
10323
- "text": "ParameterBuilderEntity"
10324
- }
10325
- },
10326
- {
10327
- "kind": "field",
10328
- "name": "name",
10329
- "type": {
10330
- "text": "string"
10331
- }
10332
- },
10333
- {
10334
- "kind": "field",
10335
- "name": "label",
10336
- "type": {
10337
- "text": "string"
10338
- }
10339
- },
10340
- {
10341
- "kind": "field",
10342
- "name": "type",
10343
- "type": {
10344
- "text": "string"
10345
- }
10346
- },
10347
- {
10348
- "kind": "field",
10349
- "name": "sourceType",
10514
+ "name": "node",
10350
10515
  "type": {
10351
- "text": "string"
10516
+ "text": "ConditionGroupEntity"
10352
10517
  }
10353
10518
  },
10354
10519
  {
10355
10520
  "kind": "field",
10356
- "name": "sourceSelected",
10521
+ "name": "fields",
10357
10522
  "type": {
10358
- "text": "string"
10359
- }
10523
+ "text": "Field[]"
10524
+ },
10525
+ "default": "[]"
10360
10526
  },
10361
10527
  {
10362
10528
  "kind": "field",
10363
- "name": "sourceTyped",
10529
+ "name": "parameters",
10364
10530
  "type": {
10365
- "text": "string"
10366
- }
10531
+ "text": "Array<ParameterBuilderEntity>"
10532
+ },
10533
+ "default": "[]"
10367
10534
  },
10368
10535
  {
10369
10536
  "kind": "field",
10370
- "name": "sourceTextField",
10537
+ "name": "isFirst",
10371
10538
  "type": {
10372
- "text": "TextField"
10373
- }
10539
+ "text": "boolean"
10540
+ },
10541
+ "default": "false"
10374
10542
  },
10375
10543
  {
10376
10544
  "kind": "field",
10377
- "name": "sourceSelect",
10545
+ "name": "joinOperator",
10378
10546
  "type": {
10379
- "text": "Select"
10547
+ "text": "string"
10380
10548
  }
10381
10549
  },
10382
10550
  {
10383
10551
  "kind": "field",
10384
- "name": "reqRepItems",
10552
+ "name": "groupChildren",
10385
10553
  "type": {
10386
- "text": "array"
10554
+ "text": "ConditionNode[]"
10387
10555
  },
10388
- "default": "['REQUEST_1', 'REQUEST_2', 'REQUEST_3']"
10389
- },
10390
- {
10391
- "kind": "method",
10392
- "name": "deleteParameter"
10393
- },
10394
- {
10395
- "kind": "method",
10396
- "name": "parameterChanged"
10397
- },
10398
- {
10399
- "kind": "method",
10400
- "name": "nameChanged"
10556
+ "default": "[]"
10401
10557
  },
10402
10558
  {
10403
10559
  "kind": "method",
10404
- "name": "labelChanged"
10560
+ "name": "nodeChanged"
10405
10561
  },
10406
10562
  {
10407
10563
  "kind": "method",
10408
- "name": "typeChanged"
10564
+ "name": "joinOperatorChanged"
10409
10565
  },
10410
10566
  {
10411
10567
  "kind": "method",
10412
- "name": "sourceTypeChanged"
10568
+ "name": "newCondition"
10413
10569
  },
10414
10570
  {
10415
10571
  "kind": "method",
10416
- "name": "sourceSelectedChanged"
10572
+ "name": "newGroup"
10417
10573
  },
10418
10574
  {
10419
10575
  "kind": "method",
10420
- "name": "sourceTypedChanged"
10576
+ "name": "editChild",
10577
+ "parameters": [
10578
+ {
10579
+ "name": "_editedChild",
10580
+ "type": {
10581
+ "text": "ConditionNode"
10582
+ }
10583
+ }
10584
+ ]
10421
10585
  },
10422
10586
  {
10423
10587
  "kind": "method",
10424
- "name": "genericChanged",
10425
- "privacy": "private",
10588
+ "name": "deleteChild",
10426
10589
  "parameters": [
10427
10590
  {
10428
- "name": "parameterAttribute"
10429
- },
10430
- {
10431
- "name": "value"
10591
+ "name": "deletedChild",
10592
+ "type": {
10593
+ "text": "ConditionNode"
10594
+ }
10432
10595
  }
10433
10596
  ]
10597
+ },
10598
+ {
10599
+ "kind": "method",
10600
+ "name": "deleteSelf"
10434
10601
  }
10435
10602
  ],
10436
10603
  "events": [
10437
10604
  {
10438
- "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
10605
+ "description": "Fired when this whole group should be removed",
10439
10606
  "name": "delete"
10440
10607
  },
10441
10608
  {
10442
- "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
10609
+ "description": "Fired when anything inside this group changes",
10443
10610
  "name": "edit"
10444
10611
  }
10445
10612
  ],
10446
- "attributes": [
10447
- {
10448
- "name": "parameter",
10449
- "type": {
10450
- "text": "ParameterBuilderEntity"
10451
- },
10452
- "fieldName": "parameter"
10453
- }
10454
- ],
10455
10613
  "superclass": {
10456
10614
  "name": "GenesisElement",
10457
10615
  "package": "@genesislcap/web-core"
10458
10616
  },
10459
- "tagName": "parameter-builder",
10617
+ "tagName": "template-condition-group",
10460
10618
  "customElement": true
10461
10619
  }
10462
10620
  ],
10463
10621
  "exports": [
10464
10622
  {
10465
10623
  "kind": "js",
10466
- "name": "ParameterBuilder",
10624
+ "name": "TemplateConditionGroup",
10467
10625
  "declaration": {
10468
- "name": "ParameterBuilder",
10469
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10626
+ "name": "TemplateConditionGroup",
10627
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
10470
10628
  }
10471
10629
  },
10472
10630
  {
10473
10631
  "kind": "custom-element-definition",
10474
- "name": "parameter-builder",
10632
+ "name": "template-condition-group",
10475
10633
  "declaration": {
10476
- "name": "ParameterBuilder",
10477
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
10634
+ "name": "TemplateConditionGroup",
10635
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts"
10478
10636
  }
10479
10637
  }
10480
10638
  ]
@@ -10762,164 +10920,6 @@
10762
10920
  }
10763
10921
  }
10764
10922
  ]
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
  }