dash-button-web 0.0.22 → 0.0.23-beta.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.
Files changed (72) hide show
  1. package/dist/cjs/app-globals-cd54EKuF.js +15 -0
  2. package/dist/cjs/dash-button.cjs.entry.js +2171 -2070
  3. package/dist/cjs/index-BfwSK14n.js +1507 -0
  4. package/dist/cjs/index.cjs.js +0 -2
  5. package/dist/cjs/loader.cjs.js +5 -7
  6. package/dist/cjs/web-compnont.cjs.js +15 -15
  7. package/dist/collection/collection-manifest.json +5 -3
  8. package/dist/collection/components/my-component/dash-button.js +134 -38
  9. package/dist/collection/global/app.js +7 -0
  10. package/dist/collection/index.js +0 -1
  11. package/dist/collection/services/config.js +2 -1
  12. package/dist/collection/services/menu.js +0 -1
  13. package/dist/components/dash-button.js +1 -4247
  14. package/dist/components/index.d.ts +2 -0
  15. package/dist/components/index.js +1 -3
  16. package/dist/esm/app-globals-B2hgy9FG.js +13 -0
  17. package/dist/esm/dash-button.entry.js +2171 -2068
  18. package/dist/esm/index-6_Ga3Eox.js +1499 -0
  19. package/dist/esm/index.js +0 -2
  20. package/dist/esm/loader.js +6 -6
  21. package/dist/esm/web-compnont.js +15 -14
  22. package/dist/types/components/my-component/dash-button.d.ts +3 -0
  23. package/dist/types/components.d.ts +75 -3
  24. package/dist/types/global/app.d.ts +2 -0
  25. package/dist/types/services/config.d.ts +2 -0
  26. package/dist/types/stencil-public-runtime.d.ts +268 -70
  27. package/dist/web-compnont/index.esm.js +0 -2
  28. package/dist/web-compnont/p-39949e8a.entry.js +1 -0
  29. package/dist/web-compnont/p-6_Ga3Eox.js +3 -0
  30. package/dist/web-compnont/p-DiU1T8CW.js +1 -0
  31. package/dist/web-compnont/web-compnont.esm.js +1 -2
  32. package/loader/cdn.js +1 -3
  33. package/loader/index.cjs.js +1 -3
  34. package/loader/index.d.ts +4 -1
  35. package/loader/index.es2017.js +1 -3
  36. package/loader/index.js +1 -3
  37. package/package.json +3 -2
  38. package/readme.md +21 -0
  39. package/dist/cjs/dash-button.cjs.entry.js.map +0 -1
  40. package/dist/cjs/index-87d4993d.js +0 -1793
  41. package/dist/cjs/index-87d4993d.js.map +0 -1
  42. package/dist/cjs/index.cjs.js.map +0 -1
  43. package/dist/cjs/loader.cjs.js.map +0 -1
  44. package/dist/cjs/web-compnont.cjs.js.map +0 -1
  45. package/dist/collection/components/my-component/dash-button.e2e.js +0 -26
  46. package/dist/collection/components/my-component/dash-button.e2e.js.map +0 -1
  47. package/dist/collection/components/my-component/dash-button.js.map +0 -1
  48. package/dist/collection/components/my-component/dash-button.spec.js +0 -35
  49. package/dist/collection/components/my-component/dash-button.spec.js.map +0 -1
  50. package/dist/collection/index.js.map +0 -1
  51. package/dist/collection/services/config.js.map +0 -1
  52. package/dist/collection/services/menu.js.map +0 -1
  53. package/dist/components/dash-button.js.map +0 -1
  54. package/dist/components/index.js.map +0 -1
  55. package/dist/esm/dash-button.entry.js.map +0 -1
  56. package/dist/esm/index-e3df5eaf.js +0 -1766
  57. package/dist/esm/index-e3df5eaf.js.map +0 -1
  58. package/dist/esm/index.js.map +0 -1
  59. package/dist/esm/loader.js.map +0 -1
  60. package/dist/esm/polyfills/core-js.js +0 -11
  61. package/dist/esm/polyfills/dom.js +0 -79
  62. package/dist/esm/polyfills/es5-html-element.js +0 -1
  63. package/dist/esm/polyfills/index.js +0 -34
  64. package/dist/esm/polyfills/system.js +0 -6
  65. package/dist/esm/web-compnont.js.map +0 -1
  66. package/dist/web-compnont/index.esm.js.map +0 -1
  67. package/dist/web-compnont/p-ad318f06.entry.js +0 -10
  68. package/dist/web-compnont/p-ad318f06.entry.js.map +0 -1
  69. package/dist/web-compnont/p-c1ec12fe.js +0 -3
  70. package/dist/web-compnont/p-c1ec12fe.js.map +0 -1
  71. package/dist/web-compnont/web-compnont.esm.js.map +0 -1
  72. package/loader/package.json +0 -11
@@ -1,4 +1,2 @@
1
1
  'use strict';
2
2
 
3
-
4
- //# sourceMappingURL=index.cjs.js.map
@@ -1,15 +1,13 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
3
+ var index = require('./index-BfwSK14n.js');
4
+ var appGlobals = require('./app-globals-cd54EKuF.js');
4
5
 
5
- const index = require('./index-87d4993d.js');
6
-
7
- const defineCustomElements = (win, options) => {
6
+ const defineCustomElements = async (win, options) => {
8
7
  if (typeof window === 'undefined') return undefined;
9
- return index.bootstrapLazy([["dash-button.cjs",[[1,"dash-button",{"showPostLoginText":[4,"show-post-login-text"],"silentCheckSso":[4,"silent-check-sso"],"redirectUri":[1,"redirect-uri"],"authMethod":[1,"auth-method"],"portalApiUrl":[1,"portal-api-url"],"plmUrl":[1,"plm-url"],"showUnauthorizedModal":[4,"show-unauthorized-modal"],"primaryColor":[1,"primary-color"],"accentColor":[1,"accent-color"],"keycloak":[32],"isAuth":[32],"givenUserName":[32],"silentCheckSsoRedirectUri":[32],"appList":[32],"avatarSvg":[32],"isLoading":[32],"config":[32],"localMenuLinks":[32],"organizationUrl":[32],"isRestricted":[32]}]]]], options);
8
+ await appGlobals.globalScripts();
9
+ return index.bootstrapLazy([["dash-button.cjs",[[1,"dash-button",{"showPostLoginText":[4,"show-post-login-text"],"silentCheckSso":[4,"silent-check-sso"],"redirectUri":[1,"redirect-uri"],"authMethod":[1,"auth-method"],"portalApiUrl":[1,"portal-api-url"],"plmUrl":[1,"plm-url"],"showUnauthorizedModal":[4,"show-unauthorized-modal"],"primaryColor":[1,"primary-color"],"accentColor":[1,"accent-color"],"notificationPosition":[1,"notification-position"],"keycloak":[32],"isAuth":[32],"givenUserName":[32],"silentCheckSsoRedirectUri":[32],"appList":[32],"avatarSvg":[32],"isLoading":[32],"config":[32],"localMenuLinks":[32],"organizationUrl":[32],"isRestricted":[32]}]]]], options);
10
10
  };
11
11
 
12
12
  exports.setNonce = index.setNonce;
13
13
  exports.defineCustomElements = defineCustomElements;
14
-
15
- //# sourceMappingURL=loader.cjs.js.map
@@ -1,25 +1,25 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-87d4993d.js');
3
+ var index = require('./index-BfwSK14n.js');
4
+ var appGlobals = require('./app-globals-cd54EKuF.js');
6
5
 
6
+ var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
7
7
  /*
8
- Stencil Client Patch Browser v4.12.0 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Browser v4.45.0 | MIT Licensed | https://stenciljs.com
9
9
  */
10
- const patchBrowser = () => {
11
- const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('web-compnont.cjs.js', document.baseURI).href));
12
- const opts = {};
13
- if (importMeta !== '') {
14
- opts.resourcesUrl = new URL('.', importMeta).href;
15
- }
16
- return index.promiseResolve(opts);
10
+
11
+ var patchBrowser = () => {
12
+ const importMeta = (typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('web-compnont.cjs.js', document.baseURI).href));
13
+ const opts = {};
14
+ if (importMeta !== "") {
15
+ opts.resourcesUrl = new URL(".", importMeta).href;
16
+ }
17
+ return index.promiseResolve(opts);
17
18
  };
18
19
 
19
- patchBrowser().then(options => {
20
- return index.bootstrapLazy([["dash-button.cjs",[[1,"dash-button",{"showPostLoginText":[4,"show-post-login-text"],"silentCheckSso":[4,"silent-check-sso"],"redirectUri":[1,"redirect-uri"],"authMethod":[1,"auth-method"],"portalApiUrl":[1,"portal-api-url"],"plmUrl":[1,"plm-url"],"showUnauthorizedModal":[4,"show-unauthorized-modal"],"primaryColor":[1,"primary-color"],"accentColor":[1,"accent-color"],"keycloak":[32],"isAuth":[32],"givenUserName":[32],"silentCheckSsoRedirectUri":[32],"appList":[32],"avatarSvg":[32],"isLoading":[32],"config":[32],"localMenuLinks":[32],"organizationUrl":[32],"isRestricted":[32]}]]]], options);
20
+ patchBrowser().then(async (options) => {
21
+ await appGlobals.globalScripts();
22
+ return index.bootstrapLazy([["dash-button.cjs",[[1,"dash-button",{"showPostLoginText":[4,"show-post-login-text"],"silentCheckSso":[4,"silent-check-sso"],"redirectUri":[1,"redirect-uri"],"authMethod":[1,"auth-method"],"portalApiUrl":[1,"portal-api-url"],"plmUrl":[1,"plm-url"],"showUnauthorizedModal":[4,"show-unauthorized-modal"],"primaryColor":[1,"primary-color"],"accentColor":[1,"accent-color"],"notificationPosition":[1,"notification-position"],"keycloak":[32],"isAuth":[32],"givenUserName":[32],"silentCheckSsoRedirectUri":[32],"appList":[32],"avatarSvg":[32],"isLoading":[32],"config":[32],"localMenuLinks":[32],"organizationUrl":[32],"isRestricted":[32]}]]]], options);
21
23
  });
22
24
 
23
25
  exports.setNonce = index.setNonce;
24
-
25
- //# sourceMappingURL=web-compnont.cjs.js.map
@@ -2,11 +2,13 @@
2
2
  "entries": [
3
3
  "components/my-component/dash-button.js"
4
4
  ],
5
+ "mixins": [],
5
6
  "compiler": {
6
7
  "name": "@stencil/core",
7
- "version": "4.12.0",
8
- "typescriptVersion": "5.3.3"
8
+ "version": "4.45.0",
9
+ "typescriptVersion": "5.8.3"
9
10
  },
10
11
  "collections": [],
11
- "bundles": []
12
+ "bundles": [],
13
+ "global": "global/app.js"
12
14
  }
@@ -7,13 +7,13 @@ export class DashButtonComponent {
7
7
  constructor() {
8
8
  this.showPostLoginText = false;
9
9
  this.silentCheckSso = false;
10
- this.redirectUri = undefined;
11
10
  this.authMethod = "check-sso";
12
11
  this.portalApiUrl = "";
13
12
  this.plmUrl = "https://productlicensemanager-zdzw.cloud.zdzw-project.com";
14
13
  this.showUnauthorizedModal = false;
15
14
  this.primaryColor = "";
16
15
  this.accentColor = "";
16
+ this.notificationPosition = "left";
17
17
  this.keycloak = null;
18
18
  this.isAuth = false;
19
19
  this.givenUserName = "";
@@ -21,11 +21,40 @@ export class DashButtonComponent {
21
21
  this.appList = [];
22
22
  this.avatarSvg = toSvg("init-avatar", 40);
23
23
  this.isLoading = false;
24
- this.config = undefined;
25
- this.localMenuLinks = undefined;
26
- this.organizationUrl = undefined;
27
24
  this.isRestricted = false;
28
25
  }
26
+ componentDidLoad() {
27
+ // Add a click listener to this specific component instance
28
+ this.el.addEventListener('click', (event) => {
29
+ const path = event.composedPath();
30
+ // Ensure this click originated from inside the notification module
31
+ const isInsideNotification = path.some((target) => target && target.tagName === 'NOTIFICATION-COMPONENT');
32
+ // If the click is outside the notification module (e.g., somewhere else in dash-button), exit early
33
+ if (!isInsideNotification) {
34
+ return;
35
+ }
36
+ // 2. Identify the specific link element inside the path array
37
+ const clickedLink = path.find((target) => target && (target.tagName === 'A' || (typeof target.hasAttribute === 'function' && target.hasAttribute('href'))));
38
+ if (clickedLink) {
39
+ const destinationUrl = clickedLink.getAttribute('href');
40
+ if (destinationUrl) {
41
+ // Prevent the default behavior ONLY for the notification component links
42
+ event.preventDefault();
43
+ event.stopPropagation();
44
+ // Check if the link contains the unique class name
45
+ const isHomeIconLink = clickedLink.classList.contains('button-link');
46
+ if (isHomeIconLink) {
47
+ console.log('Notification module home link intercepted. Opening in new tab:', destinationUrl);
48
+ window.open(destinationUrl, '_blank', 'noopener,noreferrer');
49
+ }
50
+ else {
51
+ console.log('Notification module standard link intercepted. Navigating in current view:', destinationUrl);
52
+ window.location.href = destinationUrl;
53
+ }
54
+ }
55
+ }
56
+ });
57
+ }
29
58
  async componentWillLoad() {
30
59
  var _a, _b, _c, _d;
31
60
  // Fetch config from API
@@ -68,16 +97,17 @@ export class DashButtonComponent {
68
97
  onLoad: this.authMethod,
69
98
  checkLoginIframe: false,
70
99
  silentCheckSsoRedirectUri: this.silentCheckSso ? this.silentCheckSsoRedirectUri : '',
71
- }).then(res => {
100
+ }).then((res) => {
101
+ var _a, _b, _c;
72
102
  if (res) {
73
103
  this.isAuth = true;
74
104
  localStorage.setItem("keycloak", JSON.stringify(this.keycloak));
75
105
  // document.cookie = "DASH_BTN=" + JSON.parse(localStorage.getItem('keycloak')).token;
76
- document.cookie = this.config.cookieName + "=" + JSON.parse(localStorage.getItem('keycloak')).token;
106
+ document.cookie = this.config.cookieName + "=" + JSON.parse((_a = localStorage.getItem('keycloak')) !== null && _a !== void 0 ? _a : '{}').token;
77
107
  // Set userName
78
- this.givenUserName = JSON.parse(localStorage.getItem('keycloak')).idTokenParsed.preferred_username;
108
+ this.givenUserName = JSON.parse((_b = localStorage.getItem('keycloak')) !== null && _b !== void 0 ? _b : '{}').idTokenParsed.preferred_username;
79
109
  // Set user avatar
80
- this.avatarSvg = toSvg(JSON.parse(localStorage.getItem('keycloak')).idTokenParsed.sub, 40);
110
+ this.avatarSvg = toSvg(JSON.parse((_c = localStorage.getItem('keycloak')) !== null && _c !== void 0 ? _c : '{}').idTokenParsed.sub, 40);
81
111
  }
82
112
  });
83
113
  }
@@ -108,27 +138,44 @@ export class DashButtonComponent {
108
138
  }
109
139
  }
110
140
  }
141
+ // First, check global links
142
+ // Then, check the token's organization URL
143
+ // Finally, check against dashbutton configuration: allowedGlobalDomain and whitelistedUrls
111
144
  validateAppAccessByUrl() {
112
- var _a, _b, _c, _d;
113
- const currentUrl = window.location.href;
114
- const currentOrigin = window.location.origin;
145
+ var _a, _b, _c, _d, _e, _f;
146
+ const normalizeUrl = (url) => url.replace(/\/+$/, '');
147
+ const currentUrl = normalizeUrl(window.location.href);
148
+ const currentOrigin = normalizeUrl(window.location.origin);
115
149
  const globalLinks = ((_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.menu) === null || _b === void 0 ? void 0 : _b.global) === null || _c === void 0 ? void 0 : _c.links) || [];
116
- // Check Global Links
150
+ const allowedGlobalDomain = ((_d = this.config) === null || _d === void 0 ? void 0 : _d.allowedGlobalDomain) || '';
151
+ const whitelistedUrls = ((_e = this.config) === null || _e === void 0 ? void 0 : _e.whitelistedUrls) || '';
152
+ // First, check global links
117
153
  const matchGlobal = globalLinks.some(link => {
118
154
  try {
119
- const linkOrigin = new URL(link.url).origin;
155
+ const linkOrigin = normalizeUrl(new URL(link.url).origin);
120
156
  return currentOrigin === linkOrigin;
121
157
  }
122
158
  catch (_a) {
123
159
  return false;
124
160
  }
125
161
  });
126
- // Check Token organizationUrl
127
- const tokenParsed = (_d = this.keycloak) === null || _d === void 0 ? void 0 : _d.tokenParsed;
162
+ // Then check the token organization URL
163
+ const tokenParsed = (_f = this.keycloak) === null || _f === void 0 ? void 0 : _f.tokenParsed;
128
164
  const allowedOrg = tokenParsed === null || tokenParsed === void 0 ? void 0 : tokenParsed.organizationUrl;
129
- const matchOrganization = allowedOrg && currentUrl.includes(allowedOrg);
130
- // global and org url validations
131
- const isAllowed = matchGlobal || matchOrganization;
165
+ const matchOrganization = allowedOrg && currentUrl.includes(normalizeUrl(allowedOrg));
166
+ // Check allowedGlobalDomain (single domain)
167
+ const matchAllowedDomain = allowedGlobalDomain &&
168
+ currentOrigin.includes(normalizeUrl(allowedGlobalDomain));
169
+ // Check whitelistedUrls (comma-separated string)
170
+ const whitelistedArray = whitelistedUrls
171
+ ? whitelistedUrls.split(',').map(url => normalizeUrl(url.trim()))
172
+ : [];
173
+ const matchWhitelisted = whitelistedArray.some(url => currentUrl.includes(url));
174
+ // Final validation
175
+ const isAllowed = matchGlobal ||
176
+ matchOrganization ||
177
+ matchAllowedDomain ||
178
+ matchWhitelisted;
132
179
  this.isRestricted = !isAllowed;
133
180
  }
134
181
  login() {
@@ -148,10 +195,20 @@ export class DashButtonComponent {
148
195
  const appModal = this.el.shadowRoot.querySelector('#appListModal');
149
196
  appModal.style.display = "none";
150
197
  }
198
+ renderNotificationComponent() {
199
+ var _a;
200
+ const token = (_a = this.keycloak) === null || _a === void 0 ? void 0 : _a.idTokenParsed;
201
+ const owner = (token === null || token === void 0 ? void 0 : token.preferred_username) || (token === null || token === void 0 ? void 0 : token.sub) || '';
202
+ const orgUrlRaw = (token === null || token === void 0 ? void 0 : token.organizationUrl) || '';
203
+ const orgHost = orgUrlRaw
204
+ ? new URL(orgUrlRaw.startsWith('http') ? orgUrlRaw : `https://${orgUrlRaw}`).hostname
205
+ : '';
206
+ return orgHost && owner ? (h("notification-component", { owner: owner, "max-records": 10, "display-type": "icon", "notification-url": `https://notifications.${orgHost}/notifications-api`, "socket-connect": true, "socket-url": `wss://repository.${orgHost}/socket`, "list-url": `https://notifications.${orgHost}/notifications` })) : null;
207
+ }
151
208
  render() {
152
209
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
153
- return h("div", { key: 'd186318626a3fbd1d011d3532559901d1c36859e' }, h("div", { key: 'a5887ec423aabb35ca7988169cfa7a9f0bd588e6' }, (() => {
154
- var _a, _b, _c, _d, _e, _f;
210
+ return h("div", { key: '6c2ac818d23abd54b4548eb41c7536f2609356e9' }, h("div", { key: '1009063ae416ebba5624b67468c5711421e2aff8' }, (() => {
211
+ var _a, _b, _c, _d, _e, _f, _g, _h;
155
212
  // GLOBAL LOADING SPINNER
156
213
  if (this.isLoading) {
157
214
  return (h("a", { id: "login-btn", class: "button button-link" }, h("div", { class: "lds-ring" }, h("div", null), h("div", null), h("div", null), h("div", null))));
@@ -163,21 +220,23 @@ export class DashButtonComponent {
163
220
  return (h("a", { style: { background: this.primaryColor != undefined ? this.primaryColor : "" }, href: this.redirectUri, id: "login-btn", class: "button button-link" }, h("span", { style: { color: this.accentColor != undefined ? this.accentColor : "" }, class: "button-text button-text-full-width" }, "Go to Dashboard")));
164
221
  }
165
222
  else if (this.isAuth) {
166
- return (h("div", { id: "profile-btn", class: "dropdown" }, h("button", { style: { background: this.primaryColor != undefined ? this.primaryColor : "" }, type: "button", class: "button" }, h("span", { class: "button-profile" }, JSON.parse(localStorage.getItem('keycloak')).idTokenParsed.imageUrl ?
223
+ return (h("div", { class: "profile-actions", style: { display: "inline-flex", alignItems: "center", gap: "15px" } }, this.notificationPosition !== "right" && this.renderNotificationComponent(), h("div", { id: "profile-btn", class: "dropdown" }, h("button", { style: { background: this.primaryColor != undefined ? this.primaryColor : "" }, type: "button", class: "button" }, h("span", { class: "button-profile" }, JSON.parse((_g = localStorage.getItem('keycloak')) !== null && _g !== void 0 ? _g : '{}').idTokenParsed.imageUrl ?
167
224
  h("img", { class: "profile-image", src: "https://s-damith.github.io/test-avatar/images/e24da9c5-0b1f-46fa-82cd-7c711c77b5c7.png" })
168
225
  :
169
- h("div", { innerHTML: this.avatarSvg })), h("span", { style: { color: this.accentColor != undefined ? this.accentColor : "" }, id: "given-name", class: "button-text" }, this.givenUserName), h("div", { class: "button-icon" }, (this.config.menuViewType == "grid") ? h("i", { class: "fa-solid fa-grip-vertical" }) : h("i", { class: "fa-solid fa-bars" }))), h("div", { class: "dropdown-content" }, h("div", { class: "dropdown-user-profile" }, h("div", { class: "username" }, "@", this.givenUserName), h("div", { class: "first-last-name" }, JSON.parse(localStorage.getItem('keycloak')).idTokenParsed.name)), (this.config.menuViewType == "grid") ? (h("div", null, h("div", { class: "grid-view-menu" }, this.config.menu.global.links.map(item => {
226
+ h("div", { innerHTML: this.avatarSvg })), h("span", { style: { color: this.accentColor != undefined ? this.accentColor : "" }, id: "given-name", class: "button-text" }, this.givenUserName), h("div", { class: "button-icon" }, (this.config.menuViewType == "grid") ? h("i", { class: "fa-solid fa-grip-vertical" }) : h("i", { class: "fa-solid fa-bars" }))), h("div", { class: "dropdown-content" }, h("div", { class: "dropdown-user-profile" }, h("div", { class: "username" }, "@", this.givenUserName), h("div", { class: "first-last-name" }, JSON.parse((_h = localStorage.getItem('keycloak')) !== null && _h !== void 0 ? _h : '{}').idTokenParsed.name)), (this.config.menuViewType == "grid") ? (h("div", null, h("div", { class: "grid-view-menu" }, this.config.menu.global.links.map(item => {
170
227
  return (h("a", { href: item.url, target: '_blank', class: "grid-view-link" }, h("i", { class: item.icon + " fa-2x" }), h("div", { class: "grid-view-link-text" }, item.name)));
171
- })), this.config.menu.global.links.length != 0 && h("hr", { class: "solid" }), h("div", { class: "grid-view-menu", style: this.config.menu.global.links.length == 0 && { "margin-bottom": "12px" } }, h("a", { onClick: this.showModal.bind(this), class: "grid-view-link" }, h("i", { class: "fa-regular fa-window-restore fa-2x" }), h("div", { class: "grid-view-link-text" }, "Modules")), h("a", { href: this.config.defaultLink.url, target: '_blank', class: "grid-view-link" }, h("i", { class: "fa-solid fa-globe fa-2x" }), h("div", { class: "grid-view-link-text" }, this.config.defaultLink.name)), h("a", { onClick: this.logout.bind(this), class: "grid-view-link" }, h("i", { class: "fa-solid fa-right-from-bracket fa-2x" }), h("div", { class: "grid-view-link-text" }, "Logout"))))) : (
228
+ })), this.config.menu.global.links.length != 0 && h("hr", { class: "solid" }), h("div", { class: "grid-view-menu", style: this.config.menu.global.links.length === 0
229
+ ? { marginBottom: '12px' }
230
+ : undefined }, h("a", { onClick: this.showModal.bind(this), class: "grid-view-link" }, h("i", { class: "fa-regular fa-window-restore fa-2x" }), h("div", { class: "grid-view-link-text" }, "Modules")), h("a", { href: this.config.defaultLink.url, target: '_blank', class: "grid-view-link" }, h("i", { class: "fa-solid fa-globe fa-2x" }), h("div", { class: "grid-view-link-text" }, this.config.defaultLink.name)), h("a", { onClick: this.logout.bind(this), class: "grid-view-link" }, h("i", { class: "fa-solid fa-right-from-bracket fa-2x" }), h("div", { class: "grid-view-link-text" }, "Logout"))))) : (
172
231
  // List View
173
232
  h("div", { class: "dropdown-content-link" }, this.config.menu.global.links.map(item => {
174
233
  return (h("a", { href: item.url, target: '_blank', id: "applications-btn" }, h("i", { class: item.icon + " menu-bar-icons" }), item.name));
175
- }), h("a", { onClick: this.showModal.bind(this), id: "applications-btn" }, h("i", { class: "fa-regular fa-window-restore menu-bar-icons" }), "Modules"), h("a", { href: this.config.defaultLink.url, target: '_blank', id: "applications-btn" }, h("i", { class: "fa-solid fa-globe menu-bar-icons" }), this.config.defaultLink.name), h("a", { onClick: this.logout.bind(this), id: "logout-btn" }, h("i", { class: "fa-solid fa-right-from-bracket menu-bar-icons" }), "Logout"))))));
234
+ }), h("a", { onClick: this.showModal.bind(this), id: "applications-btn" }, h("i", { class: "fa-regular fa-window-restore menu-bar-icons" }), "Modules"), h("a", { href: this.config.defaultLink.url, target: '_blank', id: "applications-btn" }, h("i", { class: "fa-solid fa-globe menu-bar-icons" }), this.config.defaultLink.name), h("a", { onClick: this.logout.bind(this), id: "logout-btn" }, h("i", { class: "fa-solid fa-right-from-bracket menu-bar-icons" }), "Logout"))))), this.notificationPosition === "right" && this.renderNotificationComponent()));
176
235
  }
177
236
  else {
178
237
  return (h("button", { style: { background: this.primaryColor != undefined ? this.primaryColor : "" }, onClick: this.login.bind(this), id: "login-btn", type: "button", class: "button" }, h("span", { style: { color: this.accentColor != undefined ? this.accentColor : "" }, class: "button-text" }, "Login")));
179
238
  }
180
- })()), h("div", { key: '1ad6675f4e190df28410c54f7ad9f097578e0403', id: "appListModal", class: "modal" }, h("div", { key: '655f51c1d18372eca86610750d1ac3c8e1eeeefa', class: "modal-content" }, h("span", { key: 'bb850ddc02afdbbc04b5fbc6258d6ab2b1e92bfb', onClick: this.closeModal.bind(this), class: "close" }, "\u00D7"), h("div", { key: '4fdec67f888e554e1c8a3328ae2b55fb1a0fea4d', class: "box" }, h("input", { type: "radio", class: "tab-toggle", name: "tab-toggle", id: "tab1", checked: true }), h("ul", { key: '4317ec4e90f682b549aea49971d12426aaa5c0ef', class: "tab-list" }, h("li", { class: "tab-item" }, h("label", { class: "tab-trigger", htmlFor: "tab1" }, h("i", { class: "fa-solid fa-table-list menu-bar-icons" }), " ", this.config.menu.local.name))), h("div", { key: '8f1b8e0ec034d45a9c04776b90afcbd3cd9fea3e', class: "tab-container" }, h("div", { key: 'e59e81838b0c2fa419314503ab0c2d56143496cb', class: "tab-content" }, h("div", { key: 'f393c5497bfeddae25469d2d4475f9aacdf13629', class: "modal-body" }, !((_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.menu) === null || _b === void 0 ? void 0 : _b.local) === null || _c === void 0 ? void 0 : _c.enableCustomLocalMenu) ? (
239
+ })()), h("div", { key: '051c1ac1086683050a19e713ee92c84dbd95cf31', id: "appListModal", class: "modal" }, h("div", { key: '0233801fbaec4a37c840039e531b775e5d5aa0f0', class: "modal-content" }, h("span", { key: '593cd28e612ec14e620bc54b341c68245385d3d1', onClick: this.closeModal.bind(this), class: "close" }, "\u00D7"), h("div", { key: '7d2c59e86c7a044136c7ad1962c35f34ac994d9b', class: "box" }, h("input", { key: '7d081171cb9858947fbe049dff08fabc1fe76655', type: "radio", class: "tab-toggle", name: "tab-toggle", id: "tab1", checked: true }), h("ul", { key: 'ffa4ab2f57ac98ef9097f2f609a9c8b020476cc3', class: "tab-list" }, h("li", { key: '3f37fda895caa295c7cbea584deac6c7a9ad780f', class: "tab-item" }, h("label", { key: '60b4e3a4b99b26b43df9f806ff9a374e2fe4047d', class: "tab-trigger", htmlFor: "tab1" }, h("i", { key: 'cb0d59237ff0f70544a6bb255b8048cde7fe0e9b', class: "fa-solid fa-table-list menu-bar-icons" }), " ", this.config.menu.local.name))), h("div", { key: 'f430fc9079ac64f3b857c4c4c47b408b1121f751', class: "tab-container" }, h("div", { key: 'e0db3bbf88afb5da03ec95332beb3a4700e51a65', class: "tab-content" }, h("div", { key: '12340dceb0bc90990593852ca1e62f27fffb4671', class: "modal-body" }, !((_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.menu) === null || _b === void 0 ? void 0 : _b.local) === null || _c === void 0 ? void 0 : _c.enableCustomLocalMenu) ? (
181
240
  // <div>{this.localMenuLinks}</div>
182
241
  (_d = this.localMenuLinks) === null || _d === void 0 ? void 0 : _d.map((app, index) => {
183
242
  const isDisabled = !app.url;
@@ -185,7 +244,7 @@ export class DashButtonComponent {
185
244
  })) : ((_e = this.config.menu.local.links) === null || _e === void 0 ? void 0 : _e.map((app, index) => (h("a", { key: index, class: "external-app-link", target: "_blank", rel: "noopener noreferrer", href: app.url }, h("div", { class: "modal-app" }, h("div", null, app.name)))))), !this.organizationUrl ? (h("div", null, h("h3", { class: "gray-text" }, "Organization Domain URL not set"), h("p", { class: "gray-text" }, "Please set your Organization Domain URL on the Portal profile page."))) : (((!((_h = (_g = (_f = this.config) === null || _f === void 0 ? void 0 : _f.menu) === null || _g === void 0 ? void 0 : _g.local) === null || _h === void 0 ? void 0 : _h.enableCustomLocalMenu) &&
186
245
  ((_k = (_j = this.localMenuLinks) === null || _j === void 0 ? void 0 : _j.length) !== null && _k !== void 0 ? _k : 0) === 0) ||
187
246
  (((_o = (_m = (_l = this.config) === null || _l === void 0 ? void 0 : _l.menu) === null || _m === void 0 ? void 0 : _m.local) === null || _o === void 0 ? void 0 : _o.enableCustomLocalMenu) &&
188
- ((_t = (_s = (_r = (_q = (_p = this.config) === null || _p === void 0 ? void 0 : _p.menu) === null || _q === void 0 ? void 0 : _q.local) === null || _r === void 0 ? void 0 : _r.links) === null || _s === void 0 ? void 0 : _s.length) !== null && _t !== void 0 ? _t : 0) === 0)) && (h("div", null, h("h3", { class: "gray-text" }, "No installed ", ((_w = (_v = (_u = this.config) === null || _u === void 0 ? void 0 : _u.menu) === null || _v === void 0 ? void 0 : _v.local) === null || _w === void 0 ? void 0 : _w.name) || "menu", " found."), h("p", { class: "gray-text" }, "Please contact administration.")))))))))), h("div", { key: 'c47c1a2e57cbd3d42fcb19d559343a7104e092c0', id: "appPermissionErrorModal", class: "modal" }, h("div", { key: 'cd8a0b1837afc3089bda1bd4d9e7ec0c2a7c3f45', class: "modal-content" }, h("img", { key: 'e21aa2b61cbedff394e4cbbc6993fd06b3c3906e', src: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGD0lEQVR4nO2cbU8TWRTH/W5WEAmF4nNiieFFoeBjYhQUWzUWYkpbDfGFCR9CoolvQF9aWgG3kMCG8LACC1ikuCuUh7bH/M/MmW131S2ZqTDjPcmkdub2tvPj3HP/55yJR44oU6ZMmTJlyg7YOsL9pI7+shkogGFzDqMAhhVAOsiQozwwrACS8sCwfXd+tYTDCiApDwwf/FJUSzisAJKjNhFlPzYF0KQpgCZNATRpCqBJUwBNmgJo0hRAk6YAmjQF0KkAs4uLtPz8OU2HQpRqaaFkQwPFq6v5SHo8fA7XVgYGKLu0dGC/81ABLORylB4cpInLl+nt0aP7OiauXKH00BAV8vlfE2AmkaCxpiYDSKK6mqaammjx+nX6FAzS348e0VYkwgf+jXO4Nun18lj53PuLF2kjmfx1AOa3t2mmt9cAkDxxghauXaPN3l7KxmJlHRgLmKNutzHPTCTCczsa4G4mQ6nWVr7h4WPHaL6trQTc+r17NOf30/iZMzTmdtNwVRWPA2Scm/H56FMgQNlolMfDO/9ob+cxmDPl99PuxoYzAe5mMrzcxOvWAALgolFauXmTxurry45/gPvnjRsG+LW7d3lOWdKVhHggAPPb24bnvW9ooL96evjGP4dC9NvJkwaY0fPnaa6vjzLJJG19+ED5bJY/u5NOUyYep/lnz2jk3Ll/4p/Hw/B4ru5unls8Mb+z4xyAM3rMg5cIvHRXFyVqavg8oKy+elXWjooxqy9f0luXy5gTm4xAFE+cjcWcATCTSGgxr6rKWLaAF9fj1u+BAOW2tsqeL7+7S5OdnRq8mhpaf/CA5xSI8EiJiRsjI/YGWMjlDKmCDUOWrXje3NOnRIWCaXh45biqL+f59nYjHlqtE38qwPTgoLHMeLeNRo2YB8+zEp7ExK1olI+Rujo+t/b6tX0BTugZBnQebha7rcQ8K5Ytw9O9WWKi7M7QiZKx2BJgdnHRyDDE+0SqYMOwEt7k7dvaxqJLHHwXvpMzFpeLtpeX7QdwZWCAbwjpmYhkkSrlxqVy4WEc4q1IHBbbsRhNXrjA71devLAfwOlQiH88lhJuBhkGbxx9fZbDE4NO5LTO5+OxCB14P93dbT+AKZ9P84ZgkG8GqRjeQ9ZUAh4MYhvXxs+e5fHwRBbWra32A5j0ePjHf9H1mST+2YWFisCDba+u8vV3tbWGNuT3jY32AxjXS06QFLgZKUH9aPct7O3RVFfXf+BlHj6kZG2tBq+j47tpGs5LoYKrNpGI9v74cfsDHNazg+/dvFl4sNzmprHz2x5g8l9LWMTuzsePli7bYkMBgqVMfb39l3CqpeXbm0g8XhF439xEgkGjOmN7GTOjA4XU2Be8zs6y4MFmnzzRpJLfXypjenrsK6Qnvd4SSQGxCyFtNbxiIb1+/74mpL1e+wrp7NISp1ElqZwuZZB2WQkPZqRyevz7Eg5zCc22qVxxMUGWMRL94sTfKnjYfd+dPq15261bpcWEq1fJvuWsoSEt/3W7tRZlNMolJylxWQEPJTGRP6lTpwz5YpSz3ryxcUE1nzcaSeieFTeArIKH3Fq8GSX9koJqc7O9C6owNL0lO5CKsZTfzS7bqTt3+LPxornxKu2Cz6Oj5IymUkTLCOB54iWAKOIaMRE7JXbS/zOMwYYhMQ9/gOLOnPxBZh8/dlhb06+Vs9B6FIi4cYmJInGgEyGIkbHgc8idkWHgHHRecVsTMU/mwuuY3tYcv3TJWW1NGJrdJY113WtkdxaJU84BqSK7rRFXdc/Dd+w5rbFeDHG8rc2IiQj2UmwQsY1iKFIxlKSg46AjARfnkGGISOZHO6JRnkNiHjzPsY92iGFZoultLNu6OtZs+3m4CCIZnxGpIjGvUsv2UAEUQ9NblrSUoNDDQP4KT+TH2/QWJT/eFgjwNaRnnGHI4x3NzRXZbQ89QBg0GsQ2Wo+SnZR1uFycYbBI3kdv2XEAiw35KqQMGkDoYaCeaDzi29jIuziuYYyVua1jANrFFECTpgCaNAXQpCmAJk0BNGkKoElTACsNUB39ZTFQAMMW/78xypQpU6ZMmbIjP9e+AkAlsBlIjsPOAAAAAElFTkSuQmCC" }), h("h2", { key: '0ea76a87518b2a0c2a171bc0f40cb4767f6683e9', class: "green-text margin-b" }, "You don't have permission to access this application."), h("h3", { key: '1dc9d8f8f2ef3a34bf8cb887679c574a59fe5a75', class: "green-text" }, "Please contact the administration."), (this.config.defaultLink.url && this.showUnauthorizedModal) ?
247
+ ((_t = (_s = (_r = (_q = (_p = this.config) === null || _p === void 0 ? void 0 : _p.menu) === null || _q === void 0 ? void 0 : _q.local) === null || _r === void 0 ? void 0 : _r.links) === null || _s === void 0 ? void 0 : _s.length) !== null && _t !== void 0 ? _t : 0) === 0)) && (h("div", null, h("h3", { class: "gray-text" }, "No installed ", ((_w = (_v = (_u = this.config) === null || _u === void 0 ? void 0 : _u.menu) === null || _v === void 0 ? void 0 : _v.local) === null || _w === void 0 ? void 0 : _w.name) || "menu", " found."), h("p", { class: "gray-text" }, "Please contact administration.")))))))))), h("div", { key: '515bb25f527f3d7a6e0499c2ceb55265afcfa829', id: "appPermissionErrorModal", class: "modal" }, h("div", { key: '4127074cd4e5b207b8699aa59e80ca9c3bd95811', class: "modal-content" }, h("img", { key: '938f69e927df06b10a9a43a9e6b9d51729773d74', src: "data:image/png;base64,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" }), h("h2", { key: 'e4b224018cd85b9b8e7ae8025a16e15b1d7305ca', class: "green-text margin-b" }, "You don't have permission to access this application."), h("h3", { key: 'c6566424fa314d3ce884263321a74b268cb2f0f1', class: "green-text" }, "Please contact the administration."), (this.config.defaultLink.url && this.showUnauthorizedModal) ?
189
248
  h("div", null, h("h4", { class: "gray-text" }, "You will be automatically redirected to the portal."), h("div", { id: "countdown" }, h("div", { id: "countdown-number" }), h("svg", null, h("circle", { r: "18", cx: "20", cy: "20" }))))
190
249
  : h("div", null))));
191
250
  }
@@ -217,8 +276,10 @@ export class DashButtonComponent {
217
276
  "tags": [],
218
277
  "text": ""
219
278
  },
220
- "attribute": "show-post-login-text",
279
+ "getter": false,
280
+ "setter": false,
221
281
  "reflect": false,
282
+ "attribute": "show-post-login-text",
222
283
  "defaultValue": "false"
223
284
  },
224
285
  "silentCheckSso": {
@@ -235,8 +296,10 @@ export class DashButtonComponent {
235
296
  "tags": [],
236
297
  "text": ""
237
298
  },
238
- "attribute": "silent-check-sso",
299
+ "getter": false,
300
+ "setter": false,
239
301
  "reflect": false,
302
+ "attribute": "silent-check-sso",
240
303
  "defaultValue": "false"
241
304
  },
242
305
  "redirectUri": {
@@ -247,14 +310,16 @@ export class DashButtonComponent {
247
310
  "resolved": "string",
248
311
  "references": {}
249
312
  },
250
- "required": false,
313
+ "required": true,
251
314
  "optional": false,
252
315
  "docs": {
253
316
  "tags": [],
254
317
  "text": ""
255
318
  },
256
- "attribute": "redirect-uri",
257
- "reflect": false
319
+ "getter": false,
320
+ "setter": false,
321
+ "reflect": false,
322
+ "attribute": "redirect-uri"
258
323
  },
259
324
  "authMethod": {
260
325
  "type": "string",
@@ -270,8 +335,10 @@ export class DashButtonComponent {
270
335
  "tags": [],
271
336
  "text": ""
272
337
  },
273
- "attribute": "auth-method",
338
+ "getter": false,
339
+ "setter": false,
274
340
  "reflect": false,
341
+ "attribute": "auth-method",
275
342
  "defaultValue": "\"check-sso\""
276
343
  },
277
344
  "portalApiUrl": {
@@ -288,8 +355,10 @@ export class DashButtonComponent {
288
355
  "tags": [],
289
356
  "text": ""
290
357
  },
291
- "attribute": "portal-api-url",
358
+ "getter": false,
359
+ "setter": false,
292
360
  "reflect": false,
361
+ "attribute": "portal-api-url",
293
362
  "defaultValue": "\"\""
294
363
  },
295
364
  "plmUrl": {
@@ -306,8 +375,10 @@ export class DashButtonComponent {
306
375
  "tags": [],
307
376
  "text": ""
308
377
  },
309
- "attribute": "plm-url",
378
+ "getter": false,
379
+ "setter": false,
310
380
  "reflect": false,
381
+ "attribute": "plm-url",
311
382
  "defaultValue": "\"https://productlicensemanager-zdzw.cloud.zdzw-project.com\""
312
383
  },
313
384
  "showUnauthorizedModal": {
@@ -324,8 +395,10 @@ export class DashButtonComponent {
324
395
  "tags": [],
325
396
  "text": ""
326
397
  },
327
- "attribute": "show-unauthorized-modal",
398
+ "getter": false,
399
+ "setter": false,
328
400
  "reflect": false,
401
+ "attribute": "show-unauthorized-modal",
329
402
  "defaultValue": "false"
330
403
  },
331
404
  "primaryColor": {
@@ -342,8 +415,10 @@ export class DashButtonComponent {
342
415
  "tags": [],
343
416
  "text": ""
344
417
  },
345
- "attribute": "primary-color",
418
+ "getter": false,
419
+ "setter": false,
346
420
  "reflect": false,
421
+ "attribute": "primary-color",
347
422
  "defaultValue": "\"\""
348
423
  },
349
424
  "accentColor": {
@@ -360,9 +435,31 @@ export class DashButtonComponent {
360
435
  "tags": [],
361
436
  "text": ""
362
437
  },
363
- "attribute": "accent-color",
438
+ "getter": false,
439
+ "setter": false,
364
440
  "reflect": false,
441
+ "attribute": "accent-color",
365
442
  "defaultValue": "\"\""
443
+ },
444
+ "notificationPosition": {
445
+ "type": "string",
446
+ "mutable": false,
447
+ "complexType": {
448
+ "original": "\"left\" | \"right\"",
449
+ "resolved": "\"left\" | \"right\"",
450
+ "references": {}
451
+ },
452
+ "required": false,
453
+ "optional": false,
454
+ "docs": {
455
+ "tags": [],
456
+ "text": ""
457
+ },
458
+ "getter": false,
459
+ "setter": false,
460
+ "reflect": false,
461
+ "attribute": "notification-position",
462
+ "defaultValue": "\"left\""
366
463
  }
367
464
  };
368
465
  }
@@ -383,4 +480,3 @@ export class DashButtonComponent {
383
480
  }
384
481
  static get elementRef() { return "el"; }
385
482
  }
386
- //# sourceMappingURL=dash-button.js.map
@@ -0,0 +1,7 @@
1
+ import { setAssetPath } from "@stencil/core";
2
+ export default async () => {
3
+ if (typeof window !== 'undefined') {
4
+ // Ensures asset paths map cleanly
5
+ setAssetPath(window.location.origin + '/assets/ice-notification-component/');
6
+ }
7
+ };
@@ -1,2 +1 @@
1
1
  export * from './components';
2
- //# sourceMappingURL=index.js.map
@@ -22,6 +22,8 @@ const DEFAULT_CONFIG = {
22
22
  isLoading: true,
23
23
  duration: 800
24
24
  },
25
+ allowedGlobalDomain: '',
26
+ whitelistedUrls: ''
25
27
  };
26
28
  // Fetch config from API
27
29
  class ConfigService {
@@ -56,4 +58,3 @@ class ConfigService {
56
58
  }
57
59
  }
58
60
  export const configService = ConfigService.getInstance();
59
- //# sourceMappingURL=config.js.map
@@ -76,4 +76,3 @@ class MenuService {
76
76
  }
77
77
  }
78
78
  export const menuService = new MenuService();
79
- //# sourceMappingURL=menu.js.map