@genesislcap/pbc-notify-ui
v15.32.0
Published
Genesis PBC Notify UI
Downloads
19,998
Readme
@genesislcap/pbc-notify-ui
Documentation for this package is published on the Genesis docs site:
Docs: Toast notifications
Installation
Add the package to your package.json dependencies. After changing dependencies, run npm run bootstrap (or your project's equivalent). See package.json basics for more information.
{
"dependencies": {
"@genesislcap/pbc-notify-ui": "latest"
}
}Alert sounds
Use two elements that share AlertSoundPlayer.shared (IndexedDB-backed):
- Layout listener — mount once so sounds can play when the inbox is closed:
<foundation-sounds></foundation-sounds>- Config panel — used by the Alerts Center Sounds tab (do not mount a second listener):
<foundation-sounds-panel></foundation-sounds-panel>Both elements must resolve the same @genesislcap/pbc-notify-ui module instance.
AlertSoundPlayer.shared is a module-scoped singleton — if the layout listener and
inbox panel load the package from separate bundles (e.g. a host static import plus a
federated notify remote without singleton sharing), each gets its own player: the
Sounds tab configures one while the listener plays from another, which looks like
total silence with no error. The usual Genesis path (genx / local src/pbc / one
npm workspace copy) is fine.
Configure up to 10 sound rules (start with one, add more with +). Each rule can match:
- MESSAGE text — MESSAGE contains the word or phrase (case-insensitive, whole-phrase edges), e.g.
limit breached - HEADER text — HEADER contains the word or phrase (case-insensitive, whole-phrase edges), e.g.
Price alert - Notification rule — plays when a new alert’s
DYNAMIC_RULE_IDequals the selected rule id (REQ_NOTIFICATION_RULE). Subscribing to a template creates a rule for you, so those appear in this list too.
The first matching rule wins. Requires the platform to populate DYNAMIC_RULE_ID on alert rows.
There is no bundled default sound. Rules (match config + files) are stored in IndexedDB and restored on reload. Each sound file must be 2 MB or smaller, since every rule's audio shares the browser's storage quota for the origin.
Disable with sound-enabled="false" on <foundation-sounds>, or by not mounting the layout listener.
Browsers may block playback until the user has interacted with the page (choosing a file counts as a gesture).
License
Note: this project provides front-end dependencies and uses licensed components listed in the next section; thus, licenses for those components are required during development. Contact Genesis Global for more details.
Licensed components
Genesis low-code platform
