@genesislcap/foundation-notifications 14.486.1 → 14.486.2-alpha-686dcaf.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dts/snackbar/snackbar-launcher.d.ts.map +1 -1
- package/dist/dts/types.d.ts +5 -0
- package/dist/dts/types.d.ts.map +1 -1
- package/dist/esm/snackbar/snackbar-launcher.js +14 -4
- package/dist/foundation-notifications.api.json +28 -0
- package/dist/foundation-notifications.d.ts +5 -0
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snackbar-launcher.d.ts","sourceRoot":"","sources":["../../../src/snackbar/snackbar-launcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"snackbar-launcher.d.ts","sourceRoot":"","sources":["../../../src/snackbar/snackbar-launcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAsC,MAAM,UAAU,CAAC;AAYrF;;;;;;KAMK;AACL,eAAO,MAAM,YAAY,GACvB,uBAAuB,qBAAqB,EAC5C,SAAS,MAAM,KACd,IAiBF,CAAC"}
|
package/dist/dts/types.d.ts
CHANGED
|
@@ -115,6 +115,11 @@ export interface Snackbar {
|
|
|
115
115
|
readonly autoClose?: boolean;
|
|
116
116
|
readonly closeTimeout?: number;
|
|
117
117
|
readonly confirmingActions?: Array<ConfirmingAction>;
|
|
118
|
+
/**
|
|
119
|
+
* Screen corner the snackbar's container docks to. Defaults to 'bottom-left'
|
|
120
|
+
* to preserve existing behaviour when unset.
|
|
121
|
+
*/
|
|
122
|
+
readonly position?: ToastPosition;
|
|
118
123
|
}
|
|
119
124
|
/**
|
|
120
125
|
* Interface for Notification Structure
|
package/dist/dts/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { getNotificationContainer, showLoggerLogLevel } from '../notification-util';
|
|
2
|
+
const EDGE_OFFSET = '12px';
|
|
3
|
+
const applyPosition = (container, position) => {
|
|
4
|
+
container.style.position = 'fixed';
|
|
5
|
+
container.style.top = position.startsWith('top') ? EDGE_OFFSET : '';
|
|
6
|
+
container.style.bottom = position.startsWith('bottom') ? EDGE_OFFSET : '';
|
|
7
|
+
container.style.left = position.endsWith('left') ? EDGE_OFFSET : '';
|
|
8
|
+
container.style.right = position.endsWith('right') ? EDGE_OFFSET : '';
|
|
9
|
+
};
|
|
2
10
|
/**
|
|
3
11
|
* Shows the snackbar
|
|
4
12
|
* @internal
|
|
@@ -7,14 +15,16 @@ import { getNotificationContainer, showLoggerLogLevel } from '../notification-ut
|
|
|
7
15
|
* @returns
|
|
8
16
|
* */
|
|
9
17
|
export const showSnackbar = (notificationStructure, tagName) => {
|
|
18
|
+
var _a, _b, _c;
|
|
10
19
|
showLoggerLogLevel(notificationStructure);
|
|
11
20
|
const tagPrefix = tagName.split('-')[0];
|
|
12
21
|
const snackbar = document.createElement(`${tagPrefix}-snackbar`);
|
|
13
|
-
|
|
22
|
+
// One container per position: mutating a single shared container would drag any
|
|
23
|
+
// already-visible snackbars to the new corner, so each corner gets its own.
|
|
24
|
+
const position = (_c = (_b = (_a = notificationStructure.config) === null || _a === void 0 ? void 0 : _a.snackbar) === null || _b === void 0 ? void 0 : _b.position) !== null && _c !== void 0 ? _c : 'bottom-left';
|
|
25
|
+
const container = getNotificationContainer(`snack-container-${position}`, tagName);
|
|
14
26
|
if (container) {
|
|
15
|
-
container
|
|
16
|
-
container.style.bottom = '0';
|
|
17
|
-
container.style.left = '0';
|
|
27
|
+
applyPosition(container, position);
|
|
18
28
|
}
|
|
19
29
|
container.appendChild(snackbar);
|
|
20
30
|
snackbar.notification = notificationStructure;
|
|
@@ -3904,6 +3904,34 @@
|
|
|
3904
3904
|
"endIndex": 5
|
|
3905
3905
|
}
|
|
3906
3906
|
},
|
|
3907
|
+
{
|
|
3908
|
+
"kind": "PropertySignature",
|
|
3909
|
+
"canonicalReference": "@genesislcap/foundation-notifications!Snackbar#position:member",
|
|
3910
|
+
"docComment": "/**\n * Screen corner the snackbar's container docks to. Defaults to 'bottom-left' to preserve existing behaviour when unset.\n */\n",
|
|
3911
|
+
"excerptTokens": [
|
|
3912
|
+
{
|
|
3913
|
+
"kind": "Content",
|
|
3914
|
+
"text": "readonly position?: "
|
|
3915
|
+
},
|
|
3916
|
+
{
|
|
3917
|
+
"kind": "Reference",
|
|
3918
|
+
"text": "ToastPosition",
|
|
3919
|
+
"canonicalReference": "@genesislcap/foundation-notifications!ToastPosition:type"
|
|
3920
|
+
},
|
|
3921
|
+
{
|
|
3922
|
+
"kind": "Content",
|
|
3923
|
+
"text": ";"
|
|
3924
|
+
}
|
|
3925
|
+
],
|
|
3926
|
+
"isReadonly": true,
|
|
3927
|
+
"isOptional": true,
|
|
3928
|
+
"releaseTag": "Public",
|
|
3929
|
+
"name": "position",
|
|
3930
|
+
"propertyTypeTokenRange": {
|
|
3931
|
+
"startIndex": 1,
|
|
3932
|
+
"endIndex": 2
|
|
3933
|
+
}
|
|
3934
|
+
},
|
|
3907
3935
|
{
|
|
3908
3936
|
"kind": "PropertySignature",
|
|
3909
3937
|
"canonicalReference": "@genesislcap/foundation-notifications!Snackbar#type:member",
|
|
@@ -583,6 +583,11 @@ export declare interface Snackbar {
|
|
|
583
583
|
readonly autoClose?: boolean;
|
|
584
584
|
readonly closeTimeout?: number;
|
|
585
585
|
readonly confirmingActions?: Array<ConfirmingAction>;
|
|
586
|
+
/**
|
|
587
|
+
* Screen corner the snackbar's container docks to. Defaults to 'bottom-left'
|
|
588
|
+
* to preserve existing behaviour when unset.
|
|
589
|
+
*/
|
|
590
|
+
readonly position?: ToastPosition;
|
|
586
591
|
}
|
|
587
592
|
|
|
588
593
|
/**
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genesislcap/foundation-notifications",
|
|
3
3
|
"description": "Genesis Foundation UI Notifications Utils",
|
|
4
|
-
"version": "14.486.
|
|
4
|
+
"version": "14.486.2-alpha-686dcaf.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "SEE LICENSE IN license.txt",
|
|
7
7
|
"main": "dist/esm/index.js",
|
|
@@ -51,18 +51,18 @@
|
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
|
-
"@genesislcap/foundation-testing": "14.486.
|
|
55
|
-
"@genesislcap/genx": "14.486.
|
|
56
|
-
"@genesislcap/rollup-builder": "14.486.
|
|
57
|
-
"@genesislcap/ts-builder": "14.486.
|
|
58
|
-
"@genesislcap/uvu-playwright-builder": "14.486.
|
|
59
|
-
"@genesislcap/vite-builder": "14.486.
|
|
60
|
-
"@genesislcap/webpack-builder": "14.486.
|
|
54
|
+
"@genesislcap/foundation-testing": "14.486.2-alpha-686dcaf.0",
|
|
55
|
+
"@genesislcap/genx": "14.486.2-alpha-686dcaf.0",
|
|
56
|
+
"@genesislcap/rollup-builder": "14.486.2-alpha-686dcaf.0",
|
|
57
|
+
"@genesislcap/ts-builder": "14.486.2-alpha-686dcaf.0",
|
|
58
|
+
"@genesislcap/uvu-playwright-builder": "14.486.2-alpha-686dcaf.0",
|
|
59
|
+
"@genesislcap/vite-builder": "14.486.2-alpha-686dcaf.0",
|
|
60
|
+
"@genesislcap/webpack-builder": "14.486.2-alpha-686dcaf.0"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@genesislcap/foundation-logger": "14.486.
|
|
64
|
-
"@genesislcap/foundation-utils": "14.486.
|
|
65
|
-
"@genesislcap/web-core": "14.486.
|
|
63
|
+
"@genesislcap/foundation-logger": "14.486.2-alpha-686dcaf.0",
|
|
64
|
+
"@genesislcap/foundation-utils": "14.486.2-alpha-686dcaf.0",
|
|
65
|
+
"@genesislcap/web-core": "14.486.2-alpha-686dcaf.0"
|
|
66
66
|
},
|
|
67
67
|
"repository": {
|
|
68
68
|
"type": "git",
|
|
@@ -72,5 +72,5 @@
|
|
|
72
72
|
"publishConfig": {
|
|
73
73
|
"access": "public"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "48be6ee1d3b0033a2033263fd7d3dc31467e0e9e"
|
|
76
76
|
}
|