@genesislcap/pbc-notify-ui 15.18.0 → 15.19.0-DCD-4786.3
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.
- package/dist/custom-elements.json +89 -89
- package/package.json +23 -24
- package/api-extractor.json +0 -4
- package/dist/dts/utils/alert-sound.test.d.ts +0 -2
- package/dist/dts/utils/alert-sound.test.d.ts.map +0 -1
- package/dist/esm/utils/alert-sound.test.js +0 -25
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/components/components.ts +0 -64
- package/src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.styles.ts +0 -30
- package/src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.template.ts +0 -16
- package/src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.ts +0 -68
- package/src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.styles.ts +0 -18
- package/src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.template.ts +0 -22
- package/src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.ts +0 -43
- package/src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts +0 -79
- package/src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts +0 -81
- package/src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts +0 -130
- package/src/components/foundation-inbox/components/inbox-subscription/rule-parameter/rule-parameter.styles.ts +0 -39
- package/src/components/foundation-inbox/components/inbox-subscription/rule-parameter/rule-parameter.template.ts +0 -96
- package/src/components/foundation-inbox/components/inbox-subscription/rule-parameter/rule-parameter.ts +0 -135
- package/src/components/foundation-inbox/inbox-base/inbox-base.ts +0 -628
- package/src/components/foundation-inbox/inbox.styles.ts +0 -474
- package/src/components/foundation-inbox/inbox.template.ts +0 -393
- package/src/components/foundation-inbox/inbox.ts +0 -26
- package/src/components/foundation-inbox/inbox.types.ts +0 -93
- package/src/components/foundation-inbox/inbox.utils.ts +0 -37
- package/src/components/foundation-notification-dashboard/alert-sound-attachment.ts +0 -283
- package/src/components/foundation-notification-dashboard/components/notify-audit/notify-audit-management.ts +0 -96
- package/src/components/foundation-notification-dashboard/components/routes/route-management.ts +0 -60
- package/src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts +0 -58
- package/src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts +0 -68
- package/src/components/foundation-notification-dashboard/components/routes/tabs/log-route-management.ts +0 -43
- package/src/components/foundation-notification-dashboard/components/routes/tabs/ms-teams-route-management.ts +0 -48
- package/src/components/foundation-notification-dashboard/components/routes/tabs/screen-route-management.ts +0 -73
- package/src/components/foundation-notification-dashboard/components/routes/tabs/slack-route-management.ts +0 -48
- package/src/components/foundation-notification-dashboard/components/rules/columns.ts +0 -48
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts +0 -183
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts +0 -313
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.types.ts +0 -4
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts +0 -74
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts +0 -82
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.ts +0 -195
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.ts +0 -274
- package/src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.types.ts +0 -37
- package/src/components/foundation-notification-dashboard/components/rules/rule-management.ts +0 -76
- package/src/components/foundation-notification-dashboard/components/templates/columns.ts +0 -48
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts +0 -59
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts +0 -95
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts +0 -129
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.template.ts +0 -150
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts +0 -304
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts +0 -76
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts +0 -81
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.ts +0 -176
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts +0 -333
- package/src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.types.ts +0 -39
- package/src/components/foundation-notification-dashboard/components/templates/template-management.ts +0 -79
- package/src/components/foundation-notification-dashboard/index.ts +0 -1
- package/src/components/foundation-notification-dashboard/notification-dashboard.styles.ts +0 -21
- package/src/components/foundation-notification-dashboard/notification-dashboard.tabs.ts +0 -35
- package/src/components/foundation-notification-dashboard/notification-dashboard.template.ts +0 -57
- package/src/components/foundation-notification-dashboard/notification-dashboard.ts +0 -40
- package/src/components/foundation-notification-dashboard/notification-dashboard.utils.ts +0 -779
- package/src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts +0 -190
- package/src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts +0 -202
- package/src/components/foundation-notification-dashboard/styles/management.styles.ts +0 -21
- package/src/components/foundation-notification-dashboard/types/expression-type.ts +0 -13
- package/src/components/foundation-notification-dashboard/types/logical-operator.ts +0 -18
- package/src/components/foundation-notification-dashboard/types/param-source-type.ts +0 -11
- package/src/components/foundation-notification-dashboard/types/param-type.ts +0 -13
- package/src/components/foundation-notification-dashboard/types/right-criteria.ts +0 -6
- package/src/components/foundation-notification-dashboard/types/rule-execution-strategy.ts +0 -6
- package/src/components/foundation-notification-dashboard/types/severity.ts +0 -13
- package/src/components/foundation-sounds/foundation-sounds-panel.styles.ts +0 -201
- package/src/components/foundation-sounds/foundation-sounds-panel.template.ts +0 -188
- package/src/components/foundation-sounds/foundation-sounds-panel.ts +0 -280
- package/src/components/foundation-sounds/foundation-sounds.styles.ts +0 -8
- package/src/components/foundation-sounds/foundation-sounds.ts +0 -222
- package/src/globals.d.ts +0 -7
- package/src/index.federated.ts +0 -1
- package/src/index.ts +0 -20
- package/src/notify.types.ts +0 -178
- package/src/sandbox.ts +0 -83
- package/src/services/alert.service.ts +0 -36
- package/src/services/inbox.service.ts +0 -153
- package/src/services/notify-route.service.ts +0 -177
- package/src/services/notify.service.ts +0 -21
- package/src/services/rule.service.ts +0 -165
- package/src/services/system.service.ts +0 -74
- package/src/services/template.service.ts +0 -71
- package/src/styles/scrollbar.styles.ts +0 -15
- package/src/utils/alert-sound.test.ts +0 -32
- package/src/utils/alert-sound.ts +0 -1135
- package/src/utils/eventDetail.ts +0 -5
- package/src/utils/gridConfig.ts +0 -14
- package/src/utils/humanize.ts +0 -14
- package/src/utils/icons.ts +0 -15
- package/src/utils/index.ts +0 -9
- package/src/utils/logger.ts +0 -3
- package/src/utils/notifyPermissions.ts +0 -6
- package/src/utils/toBoolean.ts +0 -7
- package/src/utils/updateArray.ts +0 -48
- package/tsconfig.json +0 -9
|
@@ -4229,6 +4229,95 @@
|
|
|
4229
4229
|
}
|
|
4230
4230
|
]
|
|
4231
4231
|
},
|
|
4232
|
+
{
|
|
4233
|
+
"kind": "javascript-module",
|
|
4234
|
+
"path": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts",
|
|
4235
|
+
"declarations": [
|
|
4236
|
+
{
|
|
4237
|
+
"kind": "variable",
|
|
4238
|
+
"name": "ConditionBuilderStyles",
|
|
4239
|
+
"default": "css`\n .condition-builder {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n rapid-button {\n margin: 0;\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the condition it joins,\n rendered as a pair of small text links rather than buttons - reads like\n a sentence connector (\"... and ...\") instead of a UI control competing\n with the row's fields for attention. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n .delete {\n margin: 0;\n display: flex;\n justify-content: center;\n height: calc(var(--design-unit) * 9px);\n }\n\n .delete:hover {\n background-color: color-mix(in srgb, var(--neutral-foreground-rest), transparent 89%);\n }\n\n rapid-text-field {\n width: 100%;\n margin-bottom: 0;\n }\n\n rapid-text-field::part(root) {\n height: calc(var(--design-unit) * 9px);\n }\n\n rapid-select {\n min-width: auto;\n }\n\n rapid-select.left-value::part(control) {\n width: 250px;\n }\n\n rapid-select.logical-operator::part(control) {\n width: 160px;\n }\n\n .logical-operator-null-and-blank {\n width: 100%;\n }\n\n rapid-select.right-criteria::part(control) {\n width: 135px;\n }\n\n rapid-select.right-criteria-user-entry {\n width: 100%;\n }\n\n rapid-select.right-criteria-select {\n width: 100%;\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n`"
|
|
4240
|
+
},
|
|
4241
|
+
{
|
|
4242
|
+
"kind": "variable",
|
|
4243
|
+
"name": "ConditionGroupStyles",
|
|
4244
|
+
"default": "css`\n .condition-group-row {\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the group it joins - see\n ConditionBuilderStyles' .join-toggle-row/.join-text for why it's a pair\n of text links rather than buttons. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n /* A full bordered box reads as \"this is one parenthesized unit\" more\n literally than a left rail - it nests naturally too, a group inside a\n group just gets a second box drawn inside the first, like actual nested\n parens would look. */\n .condition-group-box {\n flex: 1;\n min-width: 0;\n border: calc(var(--design-unit) * 0.5px) solid\n color-mix(in srgb, var(--accent-fill-rest), transparent 25%);\n border-radius: calc(var(--design-unit) * 1px);\n padding: calc(var(--design-unit) * 2px);\n background-color: color-mix(in srgb, var(--accent-fill-rest), transparent 96%);\n }\n\n .condition-group-box > .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-top: calc(var(--design-unit) * 1px);\n }\n\n .condition-group-box > .content-row rapid-button {\n font-size: 12px;\n }\n\n rule-condition-builder,\n rule-condition-group,\n template-condition-builder,\n template-condition-group {\n display: block;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .delete-group {\n margin: 0;\n opacity: 60%;\n }\n\n .delete-group:hover {\n opacity: 100%;\n }\n`"
|
|
4245
|
+
}
|
|
4246
|
+
],
|
|
4247
|
+
"exports": [
|
|
4248
|
+
{
|
|
4249
|
+
"kind": "js",
|
|
4250
|
+
"name": "ConditionBuilderStyles",
|
|
4251
|
+
"declaration": {
|
|
4252
|
+
"name": "ConditionBuilderStyles",
|
|
4253
|
+
"module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
|
|
4254
|
+
}
|
|
4255
|
+
},
|
|
4256
|
+
{
|
|
4257
|
+
"kind": "js",
|
|
4258
|
+
"name": "ConditionGroupStyles",
|
|
4259
|
+
"declaration": {
|
|
4260
|
+
"name": "ConditionGroupStyles",
|
|
4261
|
+
"module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
|
|
4262
|
+
}
|
|
4263
|
+
}
|
|
4264
|
+
]
|
|
4265
|
+
},
|
|
4266
|
+
{
|
|
4267
|
+
"kind": "javascript-module",
|
|
4268
|
+
"path": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts",
|
|
4269
|
+
"declarations": [
|
|
4270
|
+
{
|
|
4271
|
+
"kind": "variable",
|
|
4272
|
+
"name": "DynamicRuleManagementStyles",
|
|
4273
|
+
"default": "css`\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n flex-direction: row-reverse;\n }\n\n .grid {\n height: 100%;\n }\n`"
|
|
4274
|
+
},
|
|
4275
|
+
{
|
|
4276
|
+
"kind": "variable",
|
|
4277
|
+
"name": "DynamicRuleDialogStyles",
|
|
4278
|
+
"default": "css`\n ${scrollbarStyles}\n ${top}\n ${bottom}\n\n rapid-modal::part(dialog) {\n padding: 0;\n background: var(--neutral-layer-4);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .dialog-content {\n display: flex;\n flex-direction: column;\n width: ${String(modalWidthPx)}px;\n max-height: 600px;\n overflow-y: scroll;\n gap: calc(var(--design-unit) * 3px);\n padding: calc(var(--design-unit) * 4px);\n }\n\n .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 3px);\n }\n\n .control {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .items {\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n display: flex;\n padding: calc(var(--design-unit) * 2px);\n flex-direction: column;\n }\n\n .item {\n gap: 0;\n flex-direction: column;\n margin-bottom: 0;\n }\n\n ${textField}\n ${select}\n\n rapid-button {\n margin: 0;\n }\n\n rapid-select {\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n\n .horizontal {\n flex-direction: row;\n }\n\n .destination {\n align-self: center;\n }\n\n .topic {\n min-width: revert-layer;\n }\n\n .expression-preview {\n width: 100%;\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .expression-preview::part(control) {\n font-family: var(--body-font, monospace);\n font-size: 12px;\n color: var(--neutral-foreground-hint);\n min-height: calc(var(--design-unit) * 12px);\n resize: vertical;\n }\n\n .alert-sound {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 2px);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound .file-input {\n display: none;\n }\n\n .alert-sound-row {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n flex-wrap: wrap;\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound-name {\n flex: 1;\n min-width: 120px;\n color: var(--neutral-foreground-hint);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`"
|
|
4279
|
+
}
|
|
4280
|
+
],
|
|
4281
|
+
"exports": [
|
|
4282
|
+
{
|
|
4283
|
+
"kind": "js",
|
|
4284
|
+
"name": "DynamicRuleManagementStyles",
|
|
4285
|
+
"declaration": {
|
|
4286
|
+
"name": "DynamicRuleManagementStyles",
|
|
4287
|
+
"module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
|
|
4288
|
+
}
|
|
4289
|
+
},
|
|
4290
|
+
{
|
|
4291
|
+
"kind": "js",
|
|
4292
|
+
"name": "DynamicRuleDialogStyles",
|
|
4293
|
+
"declaration": {
|
|
4294
|
+
"name": "DynamicRuleDialogStyles",
|
|
4295
|
+
"module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
|
|
4296
|
+
}
|
|
4297
|
+
}
|
|
4298
|
+
]
|
|
4299
|
+
},
|
|
4300
|
+
{
|
|
4301
|
+
"kind": "javascript-module",
|
|
4302
|
+
"path": "src/components/foundation-notification-dashboard/styles/management.styles.ts",
|
|
4303
|
+
"declarations": [
|
|
4304
|
+
{
|
|
4305
|
+
"kind": "variable",
|
|
4306
|
+
"name": "managementGridStyles",
|
|
4307
|
+
"default": "css`\n :host {\n height: 100%;\n }\n\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n }\n\n .grid {\n height: 100%;\n }\n`"
|
|
4308
|
+
}
|
|
4309
|
+
],
|
|
4310
|
+
"exports": [
|
|
4311
|
+
{
|
|
4312
|
+
"kind": "js",
|
|
4313
|
+
"name": "managementGridStyles",
|
|
4314
|
+
"declaration": {
|
|
4315
|
+
"name": "managementGridStyles",
|
|
4316
|
+
"module": "src/components/foundation-notification-dashboard/styles/management.styles.ts"
|
|
4317
|
+
}
|
|
4318
|
+
}
|
|
4319
|
+
]
|
|
4320
|
+
},
|
|
4232
4321
|
{
|
|
4233
4322
|
"kind": "javascript-module",
|
|
4234
4323
|
"path": "src/components/foundation-notification-dashboard/types/expression-type.ts",
|
|
@@ -4829,95 +4918,6 @@
|
|
|
4829
4918
|
}
|
|
4830
4919
|
]
|
|
4831
4920
|
},
|
|
4832
|
-
{
|
|
4833
|
-
"kind": "javascript-module",
|
|
4834
|
-
"path": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts",
|
|
4835
|
-
"declarations": [
|
|
4836
|
-
{
|
|
4837
|
-
"kind": "variable",
|
|
4838
|
-
"name": "ConditionBuilderStyles",
|
|
4839
|
-
"default": "css`\n .condition-builder {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n rapid-button {\n margin: 0;\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the condition it joins,\n rendered as a pair of small text links rather than buttons - reads like\n a sentence connector (\"... and ...\") instead of a UI control competing\n with the row's fields for attention. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n .delete {\n margin: 0;\n display: flex;\n justify-content: center;\n height: calc(var(--design-unit) * 9px);\n }\n\n .delete:hover {\n background-color: color-mix(in srgb, var(--neutral-foreground-rest), transparent 89%);\n }\n\n rapid-text-field {\n width: 100%;\n margin-bottom: 0;\n }\n\n rapid-text-field::part(root) {\n height: calc(var(--design-unit) * 9px);\n }\n\n rapid-select {\n min-width: auto;\n }\n\n rapid-select.left-value::part(control) {\n width: 250px;\n }\n\n rapid-select.logical-operator::part(control) {\n width: 160px;\n }\n\n .logical-operator-null-and-blank {\n width: 100%;\n }\n\n rapid-select.right-criteria::part(control) {\n width: 135px;\n }\n\n rapid-select.right-criteria-user-entry {\n width: 100%;\n }\n\n rapid-select.right-criteria-select {\n width: 100%;\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n`"
|
|
4840
|
-
},
|
|
4841
|
-
{
|
|
4842
|
-
"kind": "variable",
|
|
4843
|
-
"name": "ConditionGroupStyles",
|
|
4844
|
-
"default": "css`\n .condition-group-row {\n margin-bottom: calc(var(--design-unit) * 2px);\n }\n\n /* The AND/OR toggle sits on its own row ABOVE the group it joins - see\n ConditionBuilderStyles' .join-toggle-row/.join-text for why it's a pair\n of text links rather than buttons. */\n .join-toggle-row {\n display: flex;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .join-toggle {\n display: flex;\n gap: calc(var(--design-unit) * 1.5px);\n }\n\n .join-text {\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n color: var(--accent-fill-rest);\n cursor: pointer;\n text-decoration: underline dotted;\n text-underline-offset: 3px;\n opacity: 40%;\n }\n\n .join-text:hover {\n opacity: 70%;\n }\n\n .join-text.active {\n opacity: 100%;\n text-decoration: underline solid;\n }\n\n .join-text.active:hover {\n opacity: 100%;\n }\n\n /* A full bordered box reads as \"this is one parenthesized unit\" more\n literally than a left rail - it nests naturally too, a group inside a\n group just gets a second box drawn inside the first, like actual nested\n parens would look. */\n .condition-group-box {\n flex: 1;\n min-width: 0;\n border: calc(var(--design-unit) * 0.5px) solid\n color-mix(in srgb, var(--accent-fill-rest), transparent 25%);\n border-radius: calc(var(--design-unit) * 1px);\n padding: calc(var(--design-unit) * 2px);\n background-color: color-mix(in srgb, var(--accent-fill-rest), transparent 96%);\n }\n\n .condition-group-box > .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 2px);\n align-items: center;\n margin-top: calc(var(--design-unit) * 1px);\n }\n\n .condition-group-box > .content-row rapid-button {\n font-size: 12px;\n }\n\n rule-condition-builder,\n rule-condition-group,\n template-condition-builder,\n template-condition-group {\n display: block;\n margin-bottom: calc(var(--design-unit) * 1px);\n }\n\n .delete-group {\n margin: 0;\n opacity: 60%;\n }\n\n .delete-group:hover {\n opacity: 100%;\n }\n`"
|
|
4845
|
-
}
|
|
4846
|
-
],
|
|
4847
|
-
"exports": [
|
|
4848
|
-
{
|
|
4849
|
-
"kind": "js",
|
|
4850
|
-
"name": "ConditionBuilderStyles",
|
|
4851
|
-
"declaration": {
|
|
4852
|
-
"name": "ConditionBuilderStyles",
|
|
4853
|
-
"module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
|
|
4854
|
-
}
|
|
4855
|
-
},
|
|
4856
|
-
{
|
|
4857
|
-
"kind": "js",
|
|
4858
|
-
"name": "ConditionGroupStyles",
|
|
4859
|
-
"declaration": {
|
|
4860
|
-
"name": "ConditionGroupStyles",
|
|
4861
|
-
"module": "src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts"
|
|
4862
|
-
}
|
|
4863
|
-
}
|
|
4864
|
-
]
|
|
4865
|
-
},
|
|
4866
|
-
{
|
|
4867
|
-
"kind": "javascript-module",
|
|
4868
|
-
"path": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts",
|
|
4869
|
-
"declarations": [
|
|
4870
|
-
{
|
|
4871
|
-
"kind": "variable",
|
|
4872
|
-
"name": "DynamicRuleManagementStyles",
|
|
4873
|
-
"default": "css`\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n flex-direction: row-reverse;\n }\n\n .grid {\n height: 100%;\n }\n`"
|
|
4874
|
-
},
|
|
4875
|
-
{
|
|
4876
|
-
"kind": "variable",
|
|
4877
|
-
"name": "DynamicRuleDialogStyles",
|
|
4878
|
-
"default": "css`\n ${scrollbarStyles}\n ${top}\n ${bottom}\n\n rapid-modal::part(dialog) {\n padding: 0;\n background: var(--neutral-layer-4);\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n }\n\n .dialog-content {\n display: flex;\n flex-direction: column;\n width: ${String(modalWidthPx)}px;\n max-height: 600px;\n overflow-y: scroll;\n gap: calc(var(--design-unit) * 3px);\n padding: calc(var(--design-unit) * 4px);\n }\n\n .content-row {\n display: flex;\n gap: calc(var(--design-unit) * 3px);\n }\n\n .control {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: calc(var(--design-unit) * 2px);\n }\n\n .items {\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n display: flex;\n padding: calc(var(--design-unit) * 2px);\n flex-direction: column;\n }\n\n .item {\n gap: 0;\n flex-direction: column;\n margin-bottom: 0;\n }\n\n ${textField}\n ${select}\n\n rapid-button {\n margin: 0;\n }\n\n rapid-select {\n min-width: 0;\n }\n\n rapid-select::part(listbox) {\n max-height: 160px;\n }\n\n .horizontal {\n flex-direction: row;\n }\n\n .destination {\n align-self: center;\n }\n\n .topic {\n min-width: revert-layer;\n }\n\n .expression-preview {\n width: 100%;\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .expression-preview::part(control) {\n font-family: var(--body-font, monospace);\n font-size: 12px;\n color: var(--neutral-foreground-hint);\n min-height: calc(var(--design-unit) * 12px);\n resize: vertical;\n }\n\n .alert-sound {\n display: flex;\n flex-direction: column;\n gap: calc(var(--design-unit) * 2px);\n margin-top: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound .file-input {\n display: none;\n }\n\n .alert-sound-row {\n display: flex;\n align-items: center;\n gap: calc(var(--design-unit) * 2px);\n flex-wrap: wrap;\n border: calc(var(--stroke-width) * 1px) solid var(--neutral-stroke-divider-rest);\n border-radius: calc(var(--control-corner-radius) * 1px);\n padding: calc(var(--design-unit) * 2px);\n }\n\n .alert-sound-name {\n flex: 1;\n min-width: 120px;\n color: var(--neutral-foreground-hint);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n`"
|
|
4879
|
-
}
|
|
4880
|
-
],
|
|
4881
|
-
"exports": [
|
|
4882
|
-
{
|
|
4883
|
-
"kind": "js",
|
|
4884
|
-
"name": "DynamicRuleManagementStyles",
|
|
4885
|
-
"declaration": {
|
|
4886
|
-
"name": "DynamicRuleManagementStyles",
|
|
4887
|
-
"module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
|
|
4888
|
-
}
|
|
4889
|
-
},
|
|
4890
|
-
{
|
|
4891
|
-
"kind": "js",
|
|
4892
|
-
"name": "DynamicRuleDialogStyles",
|
|
4893
|
-
"declaration": {
|
|
4894
|
-
"name": "DynamicRuleDialogStyles",
|
|
4895
|
-
"module": "src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts"
|
|
4896
|
-
}
|
|
4897
|
-
}
|
|
4898
|
-
]
|
|
4899
|
-
},
|
|
4900
|
-
{
|
|
4901
|
-
"kind": "javascript-module",
|
|
4902
|
-
"path": "src/components/foundation-notification-dashboard/styles/management.styles.ts",
|
|
4903
|
-
"declarations": [
|
|
4904
|
-
{
|
|
4905
|
-
"kind": "variable",
|
|
4906
|
-
"name": "managementGridStyles",
|
|
4907
|
-
"default": "css`\n :host {\n height: 100%;\n }\n\n .container {\n display: flex;\n height: 100%;\n flex-direction: column;\n }\n\n .header {\n display: flex;\n }\n\n .grid {\n height: 100%;\n }\n`"
|
|
4908
|
-
}
|
|
4909
|
-
],
|
|
4910
|
-
"exports": [
|
|
4911
|
-
{
|
|
4912
|
-
"kind": "js",
|
|
4913
|
-
"name": "managementGridStyles",
|
|
4914
|
-
"declaration": {
|
|
4915
|
-
"name": "managementGridStyles",
|
|
4916
|
-
"module": "src/components/foundation-notification-dashboard/styles/management.styles.ts"
|
|
4917
|
-
}
|
|
4918
|
-
}
|
|
4919
|
-
]
|
|
4920
|
-
},
|
|
4921
4921
|
{
|
|
4922
4922
|
"kind": "javascript-module",
|
|
4923
4923
|
"path": "src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.styles.ts",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/pbc-notify-ui",
|
|
3
3
|
"description": "Genesis PBC Notify UI",
|
|
4
|
-
"version": "15.
|
|
4
|
+
"version": "15.19.0-DCD-4786.3",
|
|
5
5
|
"license": "SEE LICENSE IN license.txt",
|
|
6
6
|
"workspaces": [
|
|
7
7
|
"client"
|
|
@@ -81,36 +81,35 @@
|
|
|
81
81
|
"@commitlint/cli": "^19.2.1",
|
|
82
82
|
"@commitlint/config-conventional": "^19.1.0",
|
|
83
83
|
"@commitlint/format": "^19.0.3",
|
|
84
|
-
"@genesislcap/design-system-configurator": "15.
|
|
85
|
-
"@genesislcap/eslint-config": "15.
|
|
86
|
-
"@genesislcap/eslint-stylelint-builder": "15.
|
|
87
|
-
"@genesislcap/foundation-testing": "15.
|
|
88
|
-
"@genesislcap/genx": "15.
|
|
89
|
-
"@genesislcap/prettier-config": "15.
|
|
90
|
-
"@genesislcap/stylelint-config": "15.
|
|
91
|
-
"@genesislcap/vite-builder": "15.
|
|
92
|
-
"@genesislcap/webpack-builder": "15.
|
|
84
|
+
"@genesislcap/design-system-configurator": "15.19.0-DCD-4786.3",
|
|
85
|
+
"@genesislcap/eslint-config": "15.19.0-DCD-4786.3",
|
|
86
|
+
"@genesislcap/eslint-stylelint-builder": "15.19.0-DCD-4786.3",
|
|
87
|
+
"@genesislcap/foundation-testing": "15.19.0-DCD-4786.3",
|
|
88
|
+
"@genesislcap/genx": "15.19.0-DCD-4786.3",
|
|
89
|
+
"@genesislcap/prettier-config": "15.19.0-DCD-4786.3",
|
|
90
|
+
"@genesislcap/stylelint-config": "15.19.0-DCD-4786.3",
|
|
91
|
+
"@genesislcap/vite-builder": "15.19.0-DCD-4786.3",
|
|
92
|
+
"@genesislcap/webpack-builder": "15.19.0-DCD-4786.3",
|
|
93
93
|
"dayjs": "^1.11.7"
|
|
94
94
|
},
|
|
95
95
|
"dependencies": {
|
|
96
|
-
"@genesislcap/foundation-comms": "15.
|
|
97
|
-
"@genesislcap/foundation-criteria": "15.
|
|
98
|
-
"@genesislcap/foundation-entity-management": "15.
|
|
99
|
-
"@genesislcap/foundation-forms": "15.
|
|
100
|
-
"@genesislcap/foundation-layout": "15.
|
|
101
|
-
"@genesislcap/foundation-logger": "15.
|
|
102
|
-
"@genesislcap/foundation-notifications": "15.
|
|
103
|
-
"@genesislcap/foundation-ui": "15.
|
|
104
|
-
"@genesislcap/foundation-utils": "15.
|
|
105
|
-
"@genesislcap/rapid-design-system": "15.
|
|
106
|
-
"@genesislcap/rapid-grid-pro": "15.
|
|
107
|
-
"@genesislcap/web-core": "15.
|
|
96
|
+
"@genesislcap/foundation-comms": "15.19.0-DCD-4786.3",
|
|
97
|
+
"@genesislcap/foundation-criteria": "15.19.0-DCD-4786.3",
|
|
98
|
+
"@genesislcap/foundation-entity-management": "15.19.0-DCD-4786.3",
|
|
99
|
+
"@genesislcap/foundation-forms": "15.19.0-DCD-4786.3",
|
|
100
|
+
"@genesislcap/foundation-layout": "15.19.0-DCD-4786.3",
|
|
101
|
+
"@genesislcap/foundation-logger": "15.19.0-DCD-4786.3",
|
|
102
|
+
"@genesislcap/foundation-notifications": "15.19.0-DCD-4786.3",
|
|
103
|
+
"@genesislcap/foundation-ui": "15.19.0-DCD-4786.3",
|
|
104
|
+
"@genesislcap/foundation-utils": "15.19.0-DCD-4786.3",
|
|
105
|
+
"@genesislcap/rapid-design-system": "15.19.0-DCD-4786.3",
|
|
106
|
+
"@genesislcap/rapid-grid-pro": "15.19.0-DCD-4786.3",
|
|
107
|
+
"@genesislcap/web-core": "15.19.0-DCD-4786.3",
|
|
108
108
|
"lodash.debounce": "^4.0.8",
|
|
109
109
|
"rxjs": "^7.5.4"
|
|
110
110
|
},
|
|
111
111
|
"publishConfig": {
|
|
112
112
|
"access": "public"
|
|
113
113
|
},
|
|
114
|
-
"customElements": "dist/custom-elements.json"
|
|
115
|
-
"gitHead": "a92013873774dbc7f67a32d37994f10777f86383"
|
|
114
|
+
"customElements": "dist/custom-elements.json"
|
|
116
115
|
}
|
package/api-extractor.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alert-sound.test.d.ts","sourceRoot":"","sources":["../../../src/utils/alert-sound.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { assert, createLogicSuite } from '@genesislcap/foundation-testing';
|
|
2
|
-
import { textContainsWholeWord } from './alert-sound';
|
|
3
|
-
const suite = createLogicSuite('alert-sound textContainsWholeWord');
|
|
4
|
-
suite('matches a single whole word case-insensitively', () => {
|
|
5
|
-
assert.ok(textContainsWholeWord('Please trade now', 'trade'));
|
|
6
|
-
assert.ok(textContainsWholeWord('Please TRADE now', 'trade'));
|
|
7
|
-
assert.not.ok(textContainsWholeWord('Please trader now', 'trade'));
|
|
8
|
-
});
|
|
9
|
-
suite('matches a multi-word phrase', () => {
|
|
10
|
-
assert.ok(textContainsWholeWord('Risk limit breached today', 'limit breached'));
|
|
11
|
-
assert.not.ok(textContainsWholeWord('Risk limit breach today', 'limit breached'));
|
|
12
|
-
});
|
|
13
|
-
suite('does not match empty or whitespace-only patterns', () => {
|
|
14
|
-
assert.not.ok(textContainsWholeWord('anything', ''));
|
|
15
|
-
assert.not.ok(textContainsWholeWord('anything', ' '));
|
|
16
|
-
});
|
|
17
|
-
suite('treats short codes as whole words (g1 vs g1h)', () => {
|
|
18
|
-
assert.ok(textContainsWholeWord('test g1 test', 'g1'));
|
|
19
|
-
assert.not.ok(textContainsWholeWord('test g1h test', 'g1'));
|
|
20
|
-
});
|
|
21
|
-
suite('matches patterns that start or end with punctuation', () => {
|
|
22
|
-
assert.ok(textContainsWholeWord('cost $100 today', '$100'));
|
|
23
|
-
assert.ok(textContainsWholeWord('status: FAILED!', 'FAILED!'));
|
|
24
|
-
});
|
|
25
|
-
suite.run();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"root":["../src/globals.d.ts","../src/index.federated.ts","../src/index.ts","../src/notify.types.ts","../src/sandbox.ts","../src/components/components.ts","../src/components/foundation-inbox/inbox.styles.ts","../src/components/foundation-inbox/inbox.template.ts","../src/components/foundation-inbox/inbox.ts","../src/components/foundation-inbox/inbox.types.ts","../src/components/foundation-inbox/inbox.utils.ts","../src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.styles.ts","../src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.template.ts","../src/components/foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter.ts","../src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.styles.ts","../src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.template.ts","../src/components/foundation-inbox/components/foundation-inbox-flyout/foundation-inbox-flyout.ts","../src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.styles.ts","../src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.template.ts","../src/components/foundation-inbox/components/inbox-subscription/inbox-subscription.ts","../src/components/foundation-inbox/components/inbox-subscription/rule-parameter/rule-parameter.styles.ts","../src/components/foundation-inbox/components/inbox-subscription/rule-parameter/rule-parameter.template.ts","../src/components/foundation-inbox/components/inbox-subscription/rule-parameter/rule-parameter.ts","../src/components/foundation-inbox/inbox-base/inbox-base.ts","../src/components/foundation-notification-dashboard/alert-sound-attachment.ts","../src/components/foundation-notification-dashboard/index.ts","../src/components/foundation-notification-dashboard/notification-dashboard.styles.ts","../src/components/foundation-notification-dashboard/notification-dashboard.tabs.ts","../src/components/foundation-notification-dashboard/notification-dashboard.template.ts","../src/components/foundation-notification-dashboard/notification-dashboard.ts","../src/components/foundation-notification-dashboard/notification-dashboard.utils.ts","../src/components/foundation-notification-dashboard/components/notify-audit/notify-audit-management.ts","../src/components/foundation-notification-dashboard/components/routes/route-management.ts","../src/components/foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management.ts","../src/components/foundation-notification-dashboard/components/routes/tabs/email-user-route-management.ts","../src/components/foundation-notification-dashboard/components/routes/tabs/log-route-management.ts","../src/components/foundation-notification-dashboard/components/routes/tabs/ms-teams-route-management.ts","../src/components/foundation-notification-dashboard/components/routes/tabs/screen-route-management.ts","../src/components/foundation-notification-dashboard/components/routes/tabs/slack-route-management.ts","../src/components/foundation-notification-dashboard/components/rules/columns.ts","../src/components/foundation-notification-dashboard/components/rules/rule-management.ts","../src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.template.ts","../src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.ts","../src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog.types.ts","../src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.template.ts","../src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.ts","../src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder.types.ts","../src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.template.ts","../src/components/foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group.ts","../src/components/foundation-notification-dashboard/components/templates/columns.ts","../src/components/foundation-notification-dashboard/components/templates/template-management.ts","../src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.template.ts","../src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.ts","../src/components/foundation-notification-dashboard/components/templates/template-dialog/template-dialog.types.ts","../src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.styles.ts","../src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.template.ts","../src/components/foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder.ts","../src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.template.ts","../src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder.ts","../src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.template.ts","../src/components/foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group.ts","../src/components/foundation-notification-dashboard/styles/condition-builder.styles.ts","../src/components/foundation-notification-dashboard/styles/dynamic-rule.styles.ts","../src/components/foundation-notification-dashboard/styles/management.styles.ts","../src/components/foundation-notification-dashboard/types/expression-type.ts","../src/components/foundation-notification-dashboard/types/logical-operator.ts","../src/components/foundation-notification-dashboard/types/param-source-type.ts","../src/components/foundation-notification-dashboard/types/param-type.ts","../src/components/foundation-notification-dashboard/types/right-criteria.ts","../src/components/foundation-notification-dashboard/types/rule-execution-strategy.ts","../src/components/foundation-notification-dashboard/types/severity.ts","../src/components/foundation-sounds/foundation-sounds-panel.styles.ts","../src/components/foundation-sounds/foundation-sounds-panel.template.ts","../src/components/foundation-sounds/foundation-sounds-panel.ts","../src/components/foundation-sounds/foundation-sounds.styles.ts","../src/components/foundation-sounds/foundation-sounds.ts","../src/services/alert.service.ts","../src/services/inbox.service.ts","../src/services/notify-route.service.ts","../src/services/notify.service.ts","../src/services/rule.service.ts","../src/services/system.service.ts","../src/services/template.service.ts","../src/styles/scrollbar.styles.ts","../src/utils/alert-sound.test.ts","../src/utils/alert-sound.ts","../src/utils/eventDetail.ts","../src/utils/gridConfig.ts","../src/utils/humanize.ts","../src/utils/icons.ts","../src/utils/index.ts","../src/utils/logger.ts","../src/utils/notifyPermissions.ts","../src/utils/toBoolean.ts","../src/utils/updateArray.ts"],"version":"5.9.2"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { foundationLayoutComponents } from '@genesislcap/foundation-layout';
|
|
2
|
-
import * as rapidDesignSystem from '@genesislcap/rapid-design-system';
|
|
3
|
-
import { rapidGridComponents } from '@genesislcap/rapid-grid-pro';
|
|
4
|
-
import { FoundationInboxCounter } from './foundation-inbox/components/foundation-inbox-counter/foundation-inbox-counter';
|
|
5
|
-
import { InboxSubscription } from './foundation-inbox/components/inbox-subscription/inbox-subscription';
|
|
6
|
-
import { RuleParameter } from './foundation-inbox/components/inbox-subscription/rule-parameter/rule-parameter';
|
|
7
|
-
import { NotifyAuditManagement } from './foundation-notification-dashboard/components/notify-audit/notify-audit-management';
|
|
8
|
-
import { RouteManagement } from './foundation-notification-dashboard/components/routes/route-management';
|
|
9
|
-
import { EmailDistributionRouteManagement } from './foundation-notification-dashboard/components/routes/tabs/email-distribution-route-management';
|
|
10
|
-
import { EmailUserRouteManagement } from './foundation-notification-dashboard/components/routes/tabs/email-user-route-management';
|
|
11
|
-
import { LogRouteManagement } from './foundation-notification-dashboard/components/routes/tabs/log-route-management';
|
|
12
|
-
import { MSTeamsRouteManagement } from './foundation-notification-dashboard/components/routes/tabs/ms-teams-route-management';
|
|
13
|
-
import { ScreenRouteManagement } from './foundation-notification-dashboard/components/routes/tabs/screen-route-management';
|
|
14
|
-
import { SlackRouteManagement } from './foundation-notification-dashboard/components/routes/tabs/slack-route-management';
|
|
15
|
-
import { RuleConditionBuilder } from './foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-builder/rule-condition-builder';
|
|
16
|
-
import { RuleConditionGroup } from './foundation-notification-dashboard/components/rules/rule-dialog/rule-condition-group/rule-condition-group';
|
|
17
|
-
import { RuleDialog } from './foundation-notification-dashboard/components/rules/rule-dialog/rule-dialog';
|
|
18
|
-
import { RuleManagement } from './foundation-notification-dashboard/components/rules/rule-management';
|
|
19
|
-
import { ParameterBuilder } from './foundation-notification-dashboard/components/templates/template-dialog/parameter-builder/parameter-builder';
|
|
20
|
-
import { TemplateConditionBuilder } from './foundation-notification-dashboard/components/templates/template-dialog/template-condition-builder/template-condition-builder';
|
|
21
|
-
import { TemplateConditionGroup } from './foundation-notification-dashboard/components/templates/template-dialog/template-condition-group/template-condition-group';
|
|
22
|
-
import { TemplateDialog } from './foundation-notification-dashboard/components/templates/template-dialog/template-dialog';
|
|
23
|
-
import { TemplateManagement } from './foundation-notification-dashboard/components/templates/template-management';
|
|
24
|
-
import { FoundationSounds } from './foundation-sounds/foundation-sounds';
|
|
25
|
-
import { FoundationSoundsPanel } from './foundation-sounds/foundation-sounds-panel';
|
|
26
|
-
|
|
27
|
-
// Components
|
|
28
|
-
|
|
29
|
-
// #region Inbox
|
|
30
|
-
FoundationInboxCounter;
|
|
31
|
-
InboxSubscription;
|
|
32
|
-
RuleParameter;
|
|
33
|
-
FoundationSounds;
|
|
34
|
-
FoundationSoundsPanel;
|
|
35
|
-
// #endregion Inbox
|
|
36
|
-
|
|
37
|
-
// #region Notification Dashboard
|
|
38
|
-
RuleManagement;
|
|
39
|
-
RuleDialog;
|
|
40
|
-
RuleConditionBuilder;
|
|
41
|
-
RuleConditionGroup;
|
|
42
|
-
|
|
43
|
-
TemplateManagement;
|
|
44
|
-
TemplateDialog;
|
|
45
|
-
ParameterBuilder;
|
|
46
|
-
TemplateConditionBuilder;
|
|
47
|
-
TemplateConditionGroup;
|
|
48
|
-
|
|
49
|
-
RouteManagement;
|
|
50
|
-
ScreenRouteManagement;
|
|
51
|
-
EmailDistributionRouteManagement;
|
|
52
|
-
EmailUserRouteManagement;
|
|
53
|
-
LogRouteManagement;
|
|
54
|
-
MSTeamsRouteManagement;
|
|
55
|
-
SlackRouteManagement;
|
|
56
|
-
|
|
57
|
-
NotifyAuditManagement;
|
|
58
|
-
// #endregion Notification Dashboard
|
|
59
|
-
|
|
60
|
-
export async function loadRemotes() {
|
|
61
|
-
rapidDesignSystem
|
|
62
|
-
.provideDesignSystem()
|
|
63
|
-
.register(rapidGridComponents, rapidDesignSystem.baseComponents, foundationLayoutComponents);
|
|
64
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { css } from '@genesislcap/web-core';
|
|
2
|
-
|
|
3
|
-
const BACKGROUND_COLOR = '#EF5547';
|
|
4
|
-
|
|
5
|
-
/** Class to use when there are no items */
|
|
6
|
-
export const noItemsClass = 'no-items';
|
|
7
|
-
|
|
8
|
-
export const FoundationInboxCounterStyles = css`
|
|
9
|
-
:host {
|
|
10
|
-
display: inline-block;
|
|
11
|
-
min-width: 16px;
|
|
12
|
-
height: 16px;
|
|
13
|
-
border-radius: 9px;
|
|
14
|
-
text-align: center;
|
|
15
|
-
color: #fff;
|
|
16
|
-
line-height: 16px;
|
|
17
|
-
font-size: 9px;
|
|
18
|
-
font-weight: 700;
|
|
19
|
-
background: ${BACKGROUND_COLOR};
|
|
20
|
-
pointer-events: none;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.hidden {
|
|
24
|
-
visibility: hidden;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
:host(.${noItemsClass}) {
|
|
28
|
-
display: none;
|
|
29
|
-
}
|
|
30
|
-
`;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { classNames, html, when } from '@genesislcap/web-core';
|
|
2
|
-
import type { FoundationInboxCounter } from './foundation-inbox-counter';
|
|
3
|
-
import { noItemsClass } from './foundation-inbox-counter.styles';
|
|
4
|
-
|
|
5
|
-
const MAX_NUMBER_TO_DISPLAY = 99;
|
|
6
|
-
|
|
7
|
-
export const FoundationInboxCounterTemplate = html<FoundationInboxCounter>`
|
|
8
|
-
<template class="${(x) => classNames([noItemsClass, x.value < 1])}">
|
|
9
|
-
${when(
|
|
10
|
-
(x) => x.value > 0,
|
|
11
|
-
html`
|
|
12
|
-
${(x) => (x.value > MAX_NUMBER_TO_DISPLAY ? `${MAX_NUMBER_TO_DISPLAY}+` : x.value)}
|
|
13
|
-
`,
|
|
14
|
-
)}
|
|
15
|
-
</template>
|
|
16
|
-
`;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Connect } from '@genesislcap/foundation-comms';
|
|
2
|
-
import { customElement, GenesisElement, observable } from '@genesislcap/web-core';
|
|
3
|
-
import { Subscription } from 'rxjs';
|
|
4
|
-
import { FoundationInboxService } from '../../../../services/inbox.service';
|
|
5
|
-
import { AlertStatus } from '../../inbox.types';
|
|
6
|
-
import { FoundationInboxCounterStyles } from './foundation-inbox-counter.styles';
|
|
7
|
-
import { FoundationInboxCounterTemplate } from './foundation-inbox-counter.template';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* The counter renders "99+" once the count exceeds 99, so there is no need to
|
|
11
|
-
* stream more than 100 rows just to know the total to display.
|
|
12
|
-
*/
|
|
13
|
-
const COUNTER_MAX_ROWS = 100;
|
|
14
|
-
|
|
15
|
-
@customElement({
|
|
16
|
-
name: 'foundation-inbox-counter',
|
|
17
|
-
template: FoundationInboxCounterTemplate,
|
|
18
|
-
styles: FoundationInboxCounterStyles,
|
|
19
|
-
})
|
|
20
|
-
export class FoundationInboxCounter extends GenesisElement {
|
|
21
|
-
@observable value: number = 0;
|
|
22
|
-
@Connect connect: Connect;
|
|
23
|
-
@FoundationInboxService inboxService: FoundationInboxService;
|
|
24
|
-
private connectionSub: Subscription;
|
|
25
|
-
|
|
26
|
-
async connectedCallback() {
|
|
27
|
-
super.connectedCallback();
|
|
28
|
-
|
|
29
|
-
this.connectionSub = this.connect.isConnected$.subscribe(async (isConnected) => {
|
|
30
|
-
if (isConnected) {
|
|
31
|
-
await this.subscribeToAlerts();
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
disconnectedCallback() {
|
|
37
|
-
super.disconnectedCallback();
|
|
38
|
-
this.inboxService.unsubscribe(this.subscriptionHandler);
|
|
39
|
-
this.connectionSub.unsubscribe();
|
|
40
|
-
delete this.connectionSub;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Subscribes to alerts from the inbox service
|
|
45
|
-
* @private
|
|
46
|
-
*/
|
|
47
|
-
private async subscribeToAlerts(): Promise<void> {
|
|
48
|
-
this.inboxService.unsubscribe(this.subscriptionHandler);
|
|
49
|
-
|
|
50
|
-
// Only the row count matters here: cap rows at the display ceiling and
|
|
51
|
-
// request just the id to keep the payload small.
|
|
52
|
-
this.inboxService.subscribe(
|
|
53
|
-
this.subscriptionHandler,
|
|
54
|
-
false,
|
|
55
|
-
`ALERT_STATUS=='${AlertStatus.NEW}'`,
|
|
56
|
-
COUNTER_MAX_ROWS,
|
|
57
|
-
'ALERT_ID',
|
|
58
|
-
);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Handles subscription updates from the inbox service
|
|
63
|
-
* @private
|
|
64
|
-
*/
|
|
65
|
-
private subscriptionHandler = ({ store }: { store: { items: any[] } }) => {
|
|
66
|
-
this.value = (store?.items || []).length;
|
|
67
|
-
};
|
|
68
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { css } from '@genesislcap/web-core';
|
|
2
|
-
import { FoundationInboxStyles } from '../../inbox.styles';
|
|
3
|
-
|
|
4
|
-
export const FoundationInboxFlyoutStyles = css`
|
|
5
|
-
rapid-flyout::part(flyout) {
|
|
6
|
-
width: 30%;
|
|
7
|
-
min-width: 320px;
|
|
8
|
-
padding: 0;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
rapid-flyout::part(content) {
|
|
12
|
-
height: 100%;
|
|
13
|
-
display: flex;
|
|
14
|
-
flex-direction: column;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
${FoundationInboxStyles}
|
|
18
|
-
`;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { html, ref } from '@genesislcap/web-core';
|
|
2
|
-
import { FoundationInboxTemplate } from '../../inbox.template';
|
|
3
|
-
import type { FoundationInboxFlyout } from './foundation-inbox-flyout';
|
|
4
|
-
|
|
5
|
-
export const FoundationInboxFlyoutTemplate = html<FoundationInboxFlyout>`
|
|
6
|
-
<rapid-flyout
|
|
7
|
-
${ref('flyout')}
|
|
8
|
-
position="right"
|
|
9
|
-
@closed=${(x) => (x.flyoutClosed = true)}
|
|
10
|
-
:closed=${(x) => x.flyoutClosed}
|
|
11
|
-
displayHeader=${false}
|
|
12
|
-
>
|
|
13
|
-
<div class="inbox-header">
|
|
14
|
-
<div class="inbox-header-title">Alerts Center</div>
|
|
15
|
-
<rapid-button class="inbox-header-close" @click=${(x) => x.close()}>
|
|
16
|
-
<rapid-icon part="icon" name="xmark" size="xl"></rapid-icon>
|
|
17
|
-
</rapid-button>
|
|
18
|
-
</div>
|
|
19
|
-
|
|
20
|
-
${FoundationInboxTemplate}
|
|
21
|
-
</rapid-flyout>
|
|
22
|
-
`;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { Flyout } from '@genesislcap/rapid-design-system';
|
|
2
|
-
import { observable, customElement } from '@genesislcap/web-core';
|
|
3
|
-
import { loadRemotes } from '../../../components';
|
|
4
|
-
import { FoundationInboxBase } from '../../inbox-base/inbox-base';
|
|
5
|
-
import { FoundationInboxFlyoutStyles } from './foundation-inbox-flyout.styles';
|
|
6
|
-
import { FoundationInboxFlyoutTemplate } from './foundation-inbox-flyout.template';
|
|
7
|
-
|
|
8
|
-
@customElement({
|
|
9
|
-
name: 'foundation-inbox-flyout',
|
|
10
|
-
template: FoundationInboxFlyoutTemplate,
|
|
11
|
-
styles: FoundationInboxFlyoutStyles,
|
|
12
|
-
})
|
|
13
|
-
export class FoundationInboxFlyout extends FoundationInboxBase {
|
|
14
|
-
@observable ready: boolean = false;
|
|
15
|
-
|
|
16
|
-
flyout: Flyout;
|
|
17
|
-
@observable flyoutClosed: boolean = true;
|
|
18
|
-
|
|
19
|
-
async connectedCallback() {
|
|
20
|
-
super.connectedCallback();
|
|
21
|
-
await this.loadRemotes();
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
disconnectedCallback(): void {
|
|
25
|
-
super.disconnectedCallback();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
public async open() {
|
|
29
|
-
this.flyoutClosed = false;
|
|
30
|
-
this.rules = await this.ruleService.getRules();
|
|
31
|
-
this.templates = await this.templateService.getRuleTemplates();
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
public close() {
|
|
35
|
-
this.ruleTemplateDetails = null;
|
|
36
|
-
this.flyout.closeFlyout();
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async loadRemotes() {
|
|
40
|
-
const remoteComponents = await loadRemotes();
|
|
41
|
-
this.ready = true;
|
|
42
|
-
}
|
|
43
|
-
}
|