@genesislcap/pbc-notify-ui 15.19.0 → 15.19.1-FUI-2610.1

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.
Files changed (106) hide show
  1. package/dist/custom-elements.json +289 -289
  2. package/dist/dts/react.d.ts +17 -17
  3. package/dist/react.cjs +12 -12
  4. package/dist/react.mjs +10 -10
  5. package/package.json +23 -24
  6. package/api-extractor.json +0 -4
  7. package/dist/dts/utils/alert-sound.test.d.ts +0 -2
  8. package/dist/dts/utils/alert-sound.test.d.ts.map +0 -1
  9. package/dist/esm/utils/alert-sound.test.js +0 -25
  10. package/dist/tsconfig.tsbuildinfo +0 -1
  11. package/src/components/components.ts +0 -64
  12. package/src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.styles.ts +0 -30
  13. package/src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.template.ts +0 -16
  14. package/src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.ts +0 -68
  15. package/src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.styles.ts +0 -18
  16. package/src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.template.ts +0 -22
  17. package/src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.ts +0 -43
  18. package/src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts +0 -79
  19. package/src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts +0 -81
  20. package/src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts +0 -130
  21. package/src/components/foundation-inbox/components/inbox-subscription/rule-parameter/rule-parameter.styles.ts +0 -39
  22. package/src/components/foundation-inbox/components/inbox-subscription/rule-parameter/rule-parameter.template.ts +0 -96
  23. package/src/components/foundation-inbox/components/inbox-subscription/rule-parameter/rule-parameter.ts +0 -135
  24. package/src/components/foundation-inbox/inbox-base/inbox-base.ts +0 -628
  25. package/src/components/foundation-inbox/inbox.styles.ts +0 -474
  26. package/src/components/foundation-inbox/inbox.template.ts +0 -393
  27. package/src/components/foundation-inbox/inbox.ts +0 -26
  28. package/src/components/foundation-inbox/inbox.types.ts +0 -93
  29. package/src/components/foundation-inbox/inbox.utils.ts +0 -37
  30. package/src/components/foundation-notification-dashboard/alert-sound-attachment.ts +0 -283
  31. package/src/components/foundation-notification-dashboard/components/notify-audit/notify-audit-management.ts +0 -96
  32. package/src/components/foundation-notification-dashboard/components/routes/route-management.ts +0 -60
  33. package/src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts +0 -58
  34. package/src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts +0 -68
  35. package/src/components/foundation-notification-dashboard/components/routes/tabs/log-route-management.ts +0 -43
  36. package/src/components/foundation-notification-dashboard/components/routes/tabs/ms-teams-route-management.ts +0 -48
  37. package/src/components/foundation-notification-dashboard/components/routes/tabs/screen-route-management.ts +0 -73
  38. package/src/components/foundation-notification-dashboard/components/routes/tabs/slack-route-management.ts +0 -48
  39. package/src/components/foundation-notification-dashboard/components/rules/columns.ts +0 -48
  40. package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts +0 -183
  41. package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts +0 -313
  42. package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.types.ts +0 -4
  43. package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts +0 -74
  44. package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts +0 -82
  45. package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.ts +0 -195
  46. package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.ts +0 -274
  47. package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.types.ts +0 -37
  48. package/src/components/foundation-notification-dashboard/components/rules/rule-management.ts +0 -76
  49. package/src/components/foundation-notification-dashboard/components/templates/columns.ts +0 -48
  50. package/src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts +0 -59
  51. package/src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts +0 -95
  52. package/src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts +0 -129
  53. package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.template.ts +0 -150
  54. package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts +0 -304
  55. package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts +0 -76
  56. package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts +0 -81
  57. package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.ts +0 -176
  58. package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts +0 -333
  59. package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.types.ts +0 -39
  60. package/src/components/foundation-notification-dashboard/components/templates/template-management.ts +0 -79
  61. package/src/components/foundation-notification-dashboard/index.ts +0 -1
  62. package/src/components/foundation-notification-dashboard/notification-dashboard.styles.ts +0 -21
  63. package/src/components/foundation-notification-dashboard/notification-dashboard.tabs.ts +0 -35
  64. package/src/components/foundation-notification-dashboard/notification-dashboard.template.ts +0 -57
  65. package/src/components/foundation-notification-dashboard/notification-dashboard.ts +0 -40
  66. package/src/components/foundation-notification-dashboard/notification-dashboard.utils.ts +0 -779
  67. package/src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts +0 -190
  68. package/src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts +0 -202
  69. package/src/components/foundation-notification-dashboard/styles/management.styles.ts +0 -21
  70. package/src/components/foundation-notification-dashboard/types/expression-type.ts +0 -13
  71. package/src/components/foundation-notification-dashboard/types/logical-operator.ts +0 -18
  72. package/src/components/foundation-notification-dashboard/types/param-source-type.ts +0 -11
  73. package/src/components/foundation-notification-dashboard/types/param-type.ts +0 -13
  74. package/src/components/foundation-notification-dashboard/types/right-criteria.ts +0 -6
  75. package/src/components/foundation-notification-dashboard/types/rule-execution-strategy.ts +0 -6
  76. package/src/components/foundation-notification-dashboard/types/severity.ts +0 -13
  77. package/src/components/foundation-sounds/foundation-sounds-panel.styles.ts +0 -201
  78. package/src/components/foundation-sounds/foundation-sounds-panel.template.ts +0 -188
  79. package/src/components/foundation-sounds/foundation-sounds-panel.ts +0 -280
  80. package/src/components/foundation-sounds/foundation-sounds.styles.ts +0 -8
  81. package/src/components/foundation-sounds/foundation-sounds.ts +0 -222
  82. package/src/globals.d.ts +0 -7
  83. package/src/index.federated.ts +0 -1
  84. package/src/index.ts +0 -20
  85. package/src/notify.types.ts +0 -178
  86. package/src/sandbox.ts +0 -83
  87. package/src/services/alert.service.ts +0 -36
  88. package/src/services/inbox.service.ts +0 -153
  89. package/src/services/notify-route.service.ts +0 -177
  90. package/src/services/notify.service.ts +0 -21
  91. package/src/services/rule.service.ts +0 -165
  92. package/src/services/system.service.ts +0 -74
  93. package/src/services/template.service.ts +0 -71
  94. package/src/styles/scrollbar.styles.ts +0 -15
  95. package/src/utils/alert-sound.test.ts +0 -32
  96. package/src/utils/alert-sound.ts +0 -1135
  97. package/src/utils/eventDetail.ts +0 -5
  98. package/src/utils/gridConfig.ts +0 -14
  99. package/src/utils/humanize.ts +0 -14
  100. package/src/utils/icons.ts +0 -15
  101. package/src/utils/index.ts +0 -9
  102. package/src/utils/logger.ts +0 -3
  103. package/src/utils/notifyPermissions.ts +0 -6
  104. package/src/utils/toBoolean.ts +0 -7
  105. package/src/utils/updateArray.ts +0 -48
  106. package/tsconfig.json +0 -9
@@ -479,27 +479,6 @@
479
479
  }
480
480
  ]
481
481
  },
482
- {
483
- "kind": "javascript-module",
484
- "path": "src/styles/scrollbar.styles.ts",
485
- "declarations": [
486
- {
487
- "kind": "variable",
488
- "name": "scrollbarStyles",
489
- "default": "css`\n ::-webkit-scrollbar {\n width: calc((var(--base-height-multiplier) + var(--design-unit)) * 1px);\n }\n\n ::-webkit-scrollbar-track {\n background: var(--neutral-layer-1);\n }\n\n ::-webkit-scrollbar-thumb {\n background: var(--neutral-fill-rest);\n }\n`"
490
- }
491
- ],
492
- "exports": [
493
- {
494
- "kind": "js",
495
- "name": "scrollbarStyles",
496
- "declaration": {
497
- "name": "scrollbarStyles",
498
- "module": "src/styles/scrollbar.styles.ts"
499
- }
500
- }
501
- ]
502
- },
503
482
  {
504
483
  "kind": "javascript-module",
505
484
  "path": "src/utils/eventDetail.ts",
@@ -821,6 +800,27 @@
821
800
  }
822
801
  ]
823
802
  },
803
+ {
804
+ "kind": "javascript-module",
805
+ "path": "src/styles/scrollbar.styles.ts",
806
+ "declarations": [
807
+ {
808
+ "kind": "variable",
809
+ "name": "scrollbarStyles",
810
+ "default": "css`\n ::-webkit-scrollbar {\n width: calc((var(--base-height-multiplier) + var(--design-unit)) * 1px);\n }\n\n ::-webkit-scrollbar-track {\n background: var(--neutral-layer-1);\n }\n\n ::-webkit-scrollbar-thumb {\n background: var(--neutral-fill-rest);\n }\n`"
811
+ }
812
+ ],
813
+ "exports": [
814
+ {
815
+ "kind": "js",
816
+ "name": "scrollbarStyles",
817
+ "declaration": {
818
+ "name": "scrollbarStyles",
819
+ "module": "src/styles/scrollbar.styles.ts"
820
+ }
821
+ }
822
+ ]
823
+ },
824
824
  {
825
825
  "kind": "javascript-module",
826
826
  "path": "src/components/foundation-inbox/inbox.styles.ts",
@@ -8345,156 +8345,6 @@
8345
8345
  }
8346
8346
  ]
8347
8347
  },
8348
- {
8349
- "kind": "javascript-module",
8350
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
8351
- "declarations": [
8352
- {
8353
- "kind": "variable",
8354
- "name": "RuleConditionGroupTemplate",
8355
- "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`"
8356
- }
8357
- ],
8358
- "exports": [
8359
- {
8360
- "kind": "js",
8361
- "name": "RuleConditionGroupTemplate",
8362
- "declaration": {
8363
- "name": "RuleConditionGroupTemplate",
8364
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
8365
- }
8366
- }
8367
- ]
8368
- },
8369
- {
8370
- "kind": "javascript-module",
8371
- "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
8372
- "declarations": [
8373
- {
8374
- "kind": "class",
8375
- "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.",
8376
- "name": "RuleConditionGroup",
8377
- "members": [
8378
- {
8379
- "kind": "field",
8380
- "name": "node",
8381
- "type": {
8382
- "text": "ConditionGroupEntity"
8383
- }
8384
- },
8385
- {
8386
- "kind": "field",
8387
- "name": "fields",
8388
- "type": {
8389
- "text": "Field[]"
8390
- },
8391
- "default": "[]"
8392
- },
8393
- {
8394
- "kind": "field",
8395
- "name": "isFirst",
8396
- "type": {
8397
- "text": "boolean"
8398
- },
8399
- "default": "false"
8400
- },
8401
- {
8402
- "kind": "field",
8403
- "name": "joinOperator",
8404
- "type": {
8405
- "text": "string"
8406
- }
8407
- },
8408
- {
8409
- "kind": "field",
8410
- "name": "groupChildren",
8411
- "type": {
8412
- "text": "ConditionNode[]"
8413
- },
8414
- "default": "[]"
8415
- },
8416
- {
8417
- "kind": "method",
8418
- "name": "nodeChanged"
8419
- },
8420
- {
8421
- "kind": "method",
8422
- "name": "joinOperatorChanged"
8423
- },
8424
- {
8425
- "kind": "method",
8426
- "name": "newCondition"
8427
- },
8428
- {
8429
- "kind": "method",
8430
- "name": "newGroup"
8431
- },
8432
- {
8433
- "kind": "method",
8434
- "name": "editChild",
8435
- "parameters": [
8436
- {
8437
- "name": "_editedChild",
8438
- "type": {
8439
- "text": "ConditionNode"
8440
- }
8441
- }
8442
- ]
8443
- },
8444
- {
8445
- "kind": "method",
8446
- "name": "deleteChild",
8447
- "parameters": [
8448
- {
8449
- "name": "deletedChild",
8450
- "type": {
8451
- "text": "ConditionNode"
8452
- }
8453
- }
8454
- ]
8455
- },
8456
- {
8457
- "kind": "method",
8458
- "name": "deleteSelf"
8459
- }
8460
- ],
8461
- "events": [
8462
- {
8463
- "description": "Fired when this whole group should be removed",
8464
- "name": "delete"
8465
- },
8466
- {
8467
- "description": "Fired when anything inside this group changes",
8468
- "name": "edit"
8469
- }
8470
- ],
8471
- "superclass": {
8472
- "name": "GenesisElement",
8473
- "package": "@genesislcap/web-core"
8474
- },
8475
- "tagName": "rule-condition-group",
8476
- "customElement": true
8477
- }
8478
- ],
8479
- "exports": [
8480
- {
8481
- "kind": "js",
8482
- "name": "RuleConditionGroup",
8483
- "declaration": {
8484
- "name": "RuleConditionGroup",
8485
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
8486
- }
8487
- },
8488
- {
8489
- "kind": "custom-element-definition",
8490
- "name": "rule-condition-group",
8491
- "declaration": {
8492
- "name": "RuleConditionGroup",
8493
- "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
8494
- }
8495
- }
8496
- ]
8497
- },
8498
8348
  {
8499
8349
  "kind": "javascript-module",
8500
8350
  "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts",
@@ -8781,214 +8631,150 @@
8781
8631
  },
8782
8632
  {
8783
8633
  "kind": "javascript-module",
8784
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
8785
- "declarations": [
8786
- {
8787
- "kind": "variable",
8788
- "name": "ParameterBuilderStyles",
8789
- "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`"
8790
- }
8791
- ],
8792
- "exports": [
8793
- {
8794
- "kind": "js",
8795
- "name": "ParameterBuilderStyles",
8796
- "declaration": {
8797
- "name": "ParameterBuilderStyles",
8798
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts"
8799
- }
8800
- }
8801
- ]
8802
- },
8803
- {
8804
- "kind": "javascript-module",
8805
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts",
8634
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts",
8806
8635
  "declarations": [
8807
8636
  {
8808
8637
  "kind": "variable",
8809
- "name": "ParameterBuilderTemplate",
8810
- "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`"
8638
+ "name": "RuleConditionGroupTemplate",
8639
+ "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`"
8811
8640
  }
8812
8641
  ],
8813
8642
  "exports": [
8814
8643
  {
8815
8644
  "kind": "js",
8816
- "name": "ParameterBuilderTemplate",
8645
+ "name": "RuleConditionGroupTemplate",
8817
8646
  "declaration": {
8818
- "name": "ParameterBuilderTemplate",
8819
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts"
8647
+ "name": "RuleConditionGroupTemplate",
8648
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts"
8820
8649
  }
8821
8650
  }
8822
8651
  ]
8823
8652
  },
8824
8653
  {
8825
8654
  "kind": "javascript-module",
8826
- "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts",
8655
+ "path": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts",
8827
8656
  "declarations": [
8828
8657
  {
8829
8658
  "kind": "class",
8830
- "description": "Parameter builder for notification templates.",
8831
- "name": "ParameterBuilder",
8659
+ "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.",
8660
+ "name": "RuleConditionGroup",
8832
8661
  "members": [
8833
8662
  {
8834
8663
  "kind": "field",
8835
- "name": "parameter",
8664
+ "name": "node",
8836
8665
  "type": {
8837
- "text": "ParameterBuilderEntity"
8666
+ "text": "ConditionGroupEntity"
8838
8667
  }
8839
8668
  },
8840
8669
  {
8841
8670
  "kind": "field",
8842
- "name": "name",
8671
+ "name": "fields",
8843
8672
  "type": {
8844
- "text": "string"
8845
- }
8673
+ "text": "Field[]"
8674
+ },
8675
+ "default": "[]"
8846
8676
  },
8847
8677
  {
8848
8678
  "kind": "field",
8849
- "name": "label",
8679
+ "name": "isFirst",
8850
8680
  "type": {
8851
- "text": "string"
8852
- }
8681
+ "text": "boolean"
8682
+ },
8683
+ "default": "false"
8853
8684
  },
8854
8685
  {
8855
8686
  "kind": "field",
8856
- "name": "type",
8687
+ "name": "joinOperator",
8857
8688
  "type": {
8858
8689
  "text": "string"
8859
8690
  }
8860
8691
  },
8861
8692
  {
8862
8693
  "kind": "field",
8863
- "name": "sourceType",
8694
+ "name": "groupChildren",
8864
8695
  "type": {
8865
- "text": "string"
8866
- }
8867
- },
8868
- {
8869
- "kind": "field",
8870
- "name": "sourceSelected",
8871
- "type": {
8872
- "text": "string"
8873
- }
8874
- },
8875
- {
8876
- "kind": "field",
8877
- "name": "sourceTyped",
8878
- "type": {
8879
- "text": "string"
8880
- }
8881
- },
8882
- {
8883
- "kind": "field",
8884
- "name": "sourceTextField",
8885
- "type": {
8886
- "text": "TextField"
8887
- }
8888
- },
8889
- {
8890
- "kind": "field",
8891
- "name": "sourceSelect",
8892
- "type": {
8893
- "text": "Select"
8894
- }
8895
- },
8896
- {
8897
- "kind": "field",
8898
- "name": "reqRepItems",
8899
- "type": {
8900
- "text": "array"
8696
+ "text": "ConditionNode[]"
8901
8697
  },
8902
- "default": "['REQUEST_1', 'REQUEST_2', 'REQUEST_3']"
8903
- },
8904
- {
8905
- "kind": "method",
8906
- "name": "deleteParameter"
8907
- },
8908
- {
8909
- "kind": "method",
8910
- "name": "parameterChanged"
8911
- },
8912
- {
8913
- "kind": "method",
8914
- "name": "nameChanged"
8698
+ "default": "[]"
8915
8699
  },
8916
8700
  {
8917
8701
  "kind": "method",
8918
- "name": "labelChanged"
8702
+ "name": "nodeChanged"
8919
8703
  },
8920
8704
  {
8921
8705
  "kind": "method",
8922
- "name": "typeChanged"
8706
+ "name": "joinOperatorChanged"
8923
8707
  },
8924
8708
  {
8925
8709
  "kind": "method",
8926
- "name": "sourceTypeChanged"
8710
+ "name": "newCondition"
8927
8711
  },
8928
8712
  {
8929
8713
  "kind": "method",
8930
- "name": "sourceSelectedChanged"
8714
+ "name": "newGroup"
8931
8715
  },
8932
8716
  {
8933
8717
  "kind": "method",
8934
- "name": "sourceTypedChanged"
8718
+ "name": "editChild",
8719
+ "parameters": [
8720
+ {
8721
+ "name": "_editedChild",
8722
+ "type": {
8723
+ "text": "ConditionNode"
8724
+ }
8725
+ }
8726
+ ]
8935
8727
  },
8936
8728
  {
8937
8729
  "kind": "method",
8938
- "name": "genericChanged",
8939
- "privacy": "private",
8730
+ "name": "deleteChild",
8940
8731
  "parameters": [
8941
8732
  {
8942
- "name": "parameterAttribute"
8943
- },
8944
- {
8945
- "name": "value"
8733
+ "name": "deletedChild",
8734
+ "type": {
8735
+ "text": "ConditionNode"
8736
+ }
8946
8737
  }
8947
8738
  ]
8739
+ },
8740
+ {
8741
+ "kind": "method",
8742
+ "name": "deleteSelf"
8948
8743
  }
8949
8744
  ],
8950
8745
  "events": [
8951
8746
  {
8952
- "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
8747
+ "description": "Fired when this whole group should be removed",
8953
8748
  "name": "delete"
8954
8749
  },
8955
8750
  {
8956
- "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
8751
+ "description": "Fired when anything inside this group changes",
8957
8752
  "name": "edit"
8958
8753
  }
8959
8754
  ],
8960
- "attributes": [
8961
- {
8962
- "name": "parameter",
8963
- "type": {
8964
- "text": "ParameterBuilderEntity"
8965
- },
8966
- "fieldName": "parameter"
8967
- }
8968
- ],
8969
8755
  "superclass": {
8970
8756
  "name": "GenesisElement",
8971
8757
  "package": "@genesislcap/web-core"
8972
8758
  },
8973
- "tagName": "parameter-builder",
8759
+ "tagName": "rule-condition-group",
8974
8760
  "customElement": true
8975
8761
  }
8976
8762
  ],
8977
8763
  "exports": [
8978
8764
  {
8979
8765
  "kind": "js",
8980
- "name": "ParameterBuilder",
8766
+ "name": "RuleConditionGroup",
8981
8767
  "declaration": {
8982
- "name": "ParameterBuilder",
8983
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
8768
+ "name": "RuleConditionGroup",
8769
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
8984
8770
  }
8985
8771
  },
8986
8772
  {
8987
8773
  "kind": "custom-element-definition",
8988
- "name": "parameter-builder",
8774
+ "name": "rule-condition-group",
8989
8775
  "declaration": {
8990
- "name": "ParameterBuilder",
8991
- "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
8776
+ "name": "RuleConditionGroup",
8777
+ "module": "src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts"
8992
8778
  }
8993
8779
  }
8994
8780
  ]
@@ -9417,6 +9203,220 @@
9417
9203
  }
9418
9204
  }
9419
9205
  ]
9206
+ },
9207
+ {
9208
+ "kind": "javascript-module",
9209
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts",
9210
+ "declarations": [
9211
+ {
9212
+ "kind": "variable",
9213
+ "name": "ParameterBuilderStyles",
9214
+ "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`"
9215
+ }
9216
+ ],
9217
+ "exports": [
9218
+ {
9219
+ "kind": "js",
9220
+ "name": "ParameterBuilderStyles",
9221
+ "declaration": {
9222
+ "name": "ParameterBuilderStyles",
9223
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts"
9224
+ }
9225
+ }
9226
+ ]
9227
+ },
9228
+ {
9229
+ "kind": "javascript-module",
9230
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts",
9231
+ "declarations": [
9232
+ {
9233
+ "kind": "variable",
9234
+ "name": "ParameterBuilderTemplate",
9235
+ "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`"
9236
+ }
9237
+ ],
9238
+ "exports": [
9239
+ {
9240
+ "kind": "js",
9241
+ "name": "ParameterBuilderTemplate",
9242
+ "declaration": {
9243
+ "name": "ParameterBuilderTemplate",
9244
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts"
9245
+ }
9246
+ }
9247
+ ]
9248
+ },
9249
+ {
9250
+ "kind": "javascript-module",
9251
+ "path": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts",
9252
+ "declarations": [
9253
+ {
9254
+ "kind": "class",
9255
+ "description": "Parameter builder for notification templates.",
9256
+ "name": "ParameterBuilder",
9257
+ "members": [
9258
+ {
9259
+ "kind": "field",
9260
+ "name": "parameter",
9261
+ "type": {
9262
+ "text": "ParameterBuilderEntity"
9263
+ }
9264
+ },
9265
+ {
9266
+ "kind": "field",
9267
+ "name": "name",
9268
+ "type": {
9269
+ "text": "string"
9270
+ }
9271
+ },
9272
+ {
9273
+ "kind": "field",
9274
+ "name": "label",
9275
+ "type": {
9276
+ "text": "string"
9277
+ }
9278
+ },
9279
+ {
9280
+ "kind": "field",
9281
+ "name": "type",
9282
+ "type": {
9283
+ "text": "string"
9284
+ }
9285
+ },
9286
+ {
9287
+ "kind": "field",
9288
+ "name": "sourceType",
9289
+ "type": {
9290
+ "text": "string"
9291
+ }
9292
+ },
9293
+ {
9294
+ "kind": "field",
9295
+ "name": "sourceSelected",
9296
+ "type": {
9297
+ "text": "string"
9298
+ }
9299
+ },
9300
+ {
9301
+ "kind": "field",
9302
+ "name": "sourceTyped",
9303
+ "type": {
9304
+ "text": "string"
9305
+ }
9306
+ },
9307
+ {
9308
+ "kind": "field",
9309
+ "name": "sourceTextField",
9310
+ "type": {
9311
+ "text": "TextField"
9312
+ }
9313
+ },
9314
+ {
9315
+ "kind": "field",
9316
+ "name": "sourceSelect",
9317
+ "type": {
9318
+ "text": "Select"
9319
+ }
9320
+ },
9321
+ {
9322
+ "kind": "field",
9323
+ "name": "reqRepItems",
9324
+ "type": {
9325
+ "text": "array"
9326
+ },
9327
+ "default": "['REQUEST_1', 'REQUEST_2', 'REQUEST_3']"
9328
+ },
9329
+ {
9330
+ "kind": "method",
9331
+ "name": "deleteParameter"
9332
+ },
9333
+ {
9334
+ "kind": "method",
9335
+ "name": "parameterChanged"
9336
+ },
9337
+ {
9338
+ "kind": "method",
9339
+ "name": "nameChanged"
9340
+ },
9341
+ {
9342
+ "kind": "method",
9343
+ "name": "labelChanged"
9344
+ },
9345
+ {
9346
+ "kind": "method",
9347
+ "name": "typeChanged"
9348
+ },
9349
+ {
9350
+ "kind": "method",
9351
+ "name": "sourceTypeChanged"
9352
+ },
9353
+ {
9354
+ "kind": "method",
9355
+ "name": "sourceSelectedChanged"
9356
+ },
9357
+ {
9358
+ "kind": "method",
9359
+ "name": "sourceTypedChanged"
9360
+ },
9361
+ {
9362
+ "kind": "method",
9363
+ "name": "genericChanged",
9364
+ "privacy": "private",
9365
+ "parameters": [
9366
+ {
9367
+ "name": "parameterAttribute"
9368
+ },
9369
+ {
9370
+ "name": "value"
9371
+ }
9372
+ ]
9373
+ }
9374
+ ],
9375
+ "events": [
9376
+ {
9377
+ "description": "Fired when a parameter is deleted. detail: `ParameterBuilderEntity`",
9378
+ "name": "delete"
9379
+ },
9380
+ {
9381
+ "description": "Fired when a parameter is edited. detail: `ParameterBuilderEntity`",
9382
+ "name": "edit"
9383
+ }
9384
+ ],
9385
+ "attributes": [
9386
+ {
9387
+ "name": "parameter",
9388
+ "type": {
9389
+ "text": "ParameterBuilderEntity"
9390
+ },
9391
+ "fieldName": "parameter"
9392
+ }
9393
+ ],
9394
+ "superclass": {
9395
+ "name": "GenesisElement",
9396
+ "package": "@genesislcap/web-core"
9397
+ },
9398
+ "tagName": "parameter-builder",
9399
+ "customElement": true
9400
+ }
9401
+ ],
9402
+ "exports": [
9403
+ {
9404
+ "kind": "js",
9405
+ "name": "ParameterBuilder",
9406
+ "declaration": {
9407
+ "name": "ParameterBuilder",
9408
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
9409
+ }
9410
+ },
9411
+ {
9412
+ "kind": "custom-element-definition",
9413
+ "name": "parameter-builder",
9414
+ "declaration": {
9415
+ "name": "ParameterBuilder",
9416
+ "module": "src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts"
9417
+ }
9418
+ }
9419
+ ]
9420
9420
  }
9421
9421
  ]
9422
9422
  }