@telia-ace/alliance-ui 1.0.11 → 1.0.12-next.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @telia-ace/alliance-ui
2
2
 
3
+ ## 1.0.12-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - 776142c: Add support for [`sub-header` slot](https://alliance-dev.ace.teliacompany.net/-/docs/?path=/docs/ui-components-modal--documentation#sub-header) in `<alliance-modal>` (https://github.com/telia-company/ace-alliance-sdk/issues/221).
8
+
3
9
  ## 1.0.11
4
10
 
5
11
  ### Patch Changes
@@ -1,46 +1,31 @@
1
1
  import { e as s, a as y, s as f, x as v } from "./query-assigned-elements-024d0918.js";
2
2
  var g = Object.defineProperty, m = (e, t, r) => t in e ? g(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, l = (e, t, r) => (m(e, typeof t != "symbol" ? t + "" : t, r), r);
3
- function w(e) {
3
+ function S(e) {
4
4
  const t = Object.entries(e).reduce((r, a) => {
5
- const [i, n] = a;
6
- return typeof n > "u" || (typeof n == "object" && n !== null ? r[i] = JSON.stringify(n) : r[i] = n), r;
5
+ const [i, o] = a;
6
+ return typeof o > "u" || (typeof o == "object" && o !== null ? r[i] = JSON.stringify(o) : r[i] = o), r;
7
7
  }, {});
8
8
  return Object.keys(t).length ? `?${new URLSearchParams(t)}` : "";
9
9
  }
10
- function A(e) {
11
- return e.replaceAll(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&");
12
- }
13
- function S(e = "", t = "", r = {}) {
14
- const a = k().replace(location.origin, ""), i = w(r);
10
+ function w(e = "", t = "", r = {}) {
11
+ const a = D().replace(location.origin, ""), i = S(r);
15
12
  return e ? t ? `${a}/${e}/${t}${i}` : `${a}/${e}${i}` : `${a}${i}`;
16
13
  }
17
- function b(e, t) {
18
- const r = A(e);
19
- return new RegExp(`^${r.replaceAll("\\?", ".?").replaceAll("\\*", ".*")}`, "i").test(t);
20
- }
21
- function C() {
22
- const { origin: e, pathname: t } = window.location;
23
- if (b("https://alliance*.ace.teliacompany.net", e)) {
24
- const [r] = t.split("/").filter((a) => !!a);
25
- return globalThis.__ALLIANCE_RUNTIME_ROOT_URL = `${e}/${r}`;
26
- }
27
- return globalThis.__ALLIANCE_RUNTIME_ROOT_URL = e;
28
- }
29
- function k() {
30
- return globalThis.__ALLIANCE_RUNTIME_ROOT_URL || C(), globalThis.__ALLIANCE_RUNTIME_ROOT_URL;
14
+ function D() {
15
+ return globalThis.__ALLIANCE_RUNTIME_ROOT_URL;
31
16
  }
32
- var d = /* @__PURE__ */ ((e) => (e[e.AlreadyExists = 0] = "AlreadyExists", e[e.ApiGatewayPortDescription = 1] = "ApiGatewayPortDescription", e[e.ApiServerModeDescription = 2] = "ApiServerModeDescription", e[e.AppConfigurationPath = 3] = "AppConfigurationPath", e[e.AppCreated = 4] = "AppCreated", e[e.AppEntryBuildOptionDescription = 5] = "AppEntryBuildOptionDescription", e[e.AppNameInquiry = 6] = "AppNameInquiry", e[e.BuildDescription = 7] = "BuildDescription", e[e.BuildModeOptionDescription = 8] = "BuildModeOptionDescription", e[e.BuildWatchDescription = 9] = "BuildWatchDescription", e[e.CreateAppDescription = 10] = "CreateAppDescription", e[e.CreateWorkspaceDescription = 11] = "CreateWorkspaceDescription", e[e.DevServerOpenDescription = 12] = "DevServerOpenDescription", e[e.DevServerPortDescription = 13] = "DevServerPortDescription", e[e.Done = 14] = "Done", e[e.FetchPackageVersionError = 15] = "FetchPackageVersionError", e[e.ManifestEntryBuildOptionDescription = 16] = "ManifestEntryBuildOptionDescription", e[e.MissingTranslationKey = 17] = "MissingTranslationKey", e[e.NoAppName = 18] = "NoAppName", e[e.NoAppNameFound = 19] = "NoAppNameFound", e[e.NoAppOrWorkspaceInCurrentDirectory = 20] = "NoAppOrWorkspaceInCurrentDirectory", e[e.NoWorkspaceName = 21] = "NoWorkspaceName", e[e.OperationCancelled = 22] = "OperationCancelled", e[e.ServeDescription = 23] = "ServeDescription", e[e.ServedStopped = 24] = "ServedStopped", e[e.ServerGatewayMode = 25] = "ServerGatewayMode", e[e.ServerMode = 26] = "ServerMode", e[e.ServerModeInquiry = 27] = "ServerModeInquiry", e[e.ServerProxyMode = 28] = "ServerProxyMode", e[e.StopServerInstructions = 29] = "StopServerInstructions", e[e.TemplateFrameworkInquiry = 30] = "TemplateFrameworkInquiry", e[e.TemplateLanguageInquiry = 31] = "TemplateLanguageInquiry", e[e.UnrecognizedCommand = 32] = "UnrecognizedCommand", e[e.WorkspaceCreated = 33] = "WorkspaceCreated", e[e.WorkspaceNameInquiry = 34] = "WorkspaceNameInquiry", e))(d || {});
33
- const D = {
17
+ var d = /* @__PURE__ */ ((e) => (e[e.AlreadyExists = 0] = "AlreadyExists", e[e.ApiGatewayPortDescription = 1] = "ApiGatewayPortDescription", e[e.ApiServerModeDescription = 2] = "ApiServerModeDescription", e[e.AppConfigurationPath = 3] = "AppConfigurationPath", e[e.AppCreated = 4] = "AppCreated", e[e.AppEntryBuildOptionDescription = 5] = "AppEntryBuildOptionDescription", e[e.AppNameInquiry = 6] = "AppNameInquiry", e[e.BuildDescription = 7] = "BuildDescription", e[e.BuildModeOptionDescription = 8] = "BuildModeOptionDescription", e[e.BuildWatchDescription = 9] = "BuildWatchDescription", e[e.CreateAppDescription = 10] = "CreateAppDescription", e[e.CreateWorkspaceDescription = 11] = "CreateWorkspaceDescription", e[e.DevServerOpenDescription = 12] = "DevServerOpenDescription", e[e.DevServerPortDescription = 13] = "DevServerPortDescription", e[e.DevServerLoggingDescription = 14] = "DevServerLoggingDescription", e[e.Done = 15] = "Done", e[e.FetchPackageVersionError = 16] = "FetchPackageVersionError", e[e.ManifestEntryBuildOptionDescription = 17] = "ManifestEntryBuildOptionDescription", e[e.MissingTranslationKey = 18] = "MissingTranslationKey", e[e.NoAppName = 19] = "NoAppName", e[e.NoAppNameFound = 20] = "NoAppNameFound", e[e.NoAppOrWorkspaceInCurrentDirectory = 21] = "NoAppOrWorkspaceInCurrentDirectory", e[e.NoWorkspaceName = 22] = "NoWorkspaceName", e[e.OperationCancelled = 23] = "OperationCancelled", e[e.ServeDescription = 24] = "ServeDescription", e[e.ServedStopped = 25] = "ServedStopped", e[e.ServerGatewayMode = 26] = "ServerGatewayMode", e[e.ServerMode = 27] = "ServerMode", e[e.ServerModeInquiry = 28] = "ServerModeInquiry", e[e.ServerProxyMode = 29] = "ServerProxyMode", e[e.StopServerInstructions = 30] = "StopServerInstructions", e[e.TemplateFrameworkInquiry = 31] = "TemplateFrameworkInquiry", e[e.TemplateLanguageInquiry = 32] = "TemplateLanguageInquiry", e[e.UnrecognizedCommand = 33] = "UnrecognizedCommand", e[e.WorkspaceCreated = 34] = "WorkspaceCreated", e[e.WorkspaceNameInquiry = 35] = "WorkspaceNameInquiry", e))(d || {});
18
+ const b = {
34
19
  [
35
- 14
20
+ 15
36
21
  /* Done */
37
22
  ]: "Done",
38
23
  [
39
- 21
24
+ 22
40
25
  /* NoWorkspaceName */
41
26
  ]: "No workspace name provided!",
42
27
  [
43
- 18
28
+ 19
44
29
  /* NoAppName */
45
30
  ]: "No app name provided!",
46
31
  [
@@ -48,15 +33,15 @@ const D = {
48
33
  /* AlreadyExists */
49
34
  ]: "File or directory '{0}' already exists!",
50
35
  [
51
- 20
36
+ 21
52
37
  /* NoAppOrWorkspaceInCurrentDirectory */
53
38
  ]: "Could not find any app entry file at '{0}'!",
54
39
  [
55
- 32
40
+ 33
56
41
  /* UnrecognizedCommand */
57
42
  ]: "Unrecognized command(s) {0}!",
58
43
  [
59
- 33
44
+ 34
60
45
  /* WorkspaceCreated */
61
46
  ]: "Workspace was created at path '{0}'!",
62
47
  [
@@ -64,7 +49,7 @@ const D = {
64
49
  /* AppCreated */
65
50
  ]: "App was created at path '{0}'!",
66
51
  [
67
- 24
52
+ 25
68
53
  /* ServedStopped */
69
54
  ]: "Server stopped.",
70
55
  [
@@ -76,7 +61,7 @@ const D = {
76
61
  /* CreateAppDescription */
77
62
  ]: "Creates an Alliance Application in the current directory or Alliance Workspace.",
78
63
  [
79
- 23
64
+ 24
80
65
  /* ServeDescription */
81
66
  ]: "Starts a Alliance development server using the current directory package.json.",
82
67
  [
@@ -84,11 +69,11 @@ const D = {
84
69
  /* BuildDescription */
85
70
  ]: "Builds an Alliance Application using Vite.",
86
71
  [
87
- 34
72
+ 35
88
73
  /* WorkspaceNameInquiry */
89
74
  ]: "Enter the name of your workspace",
90
75
  [
91
- 27
76
+ 28
92
77
  /* ServerModeInquiry */
93
78
  ]: "Which server mode do you want to use?",
94
79
  [
@@ -96,30 +81,34 @@ const D = {
96
81
  /* AppNameInquiry */
97
82
  ]: "Enter the name of your app",
98
83
  [
99
- 17
84
+ 18
100
85
  /* MissingTranslationKey */
101
86
  ]: "No translation key provided!",
102
87
  [
103
- 22
88
+ 23
104
89
  /* OperationCancelled */
105
90
  ]: "Operation cancelled.",
106
91
  [
107
- 29
92
+ 30
108
93
  /* StopServerInstructions */
109
94
  ]: `Press CTRL + C to stop the server.
110
95
  `,
111
96
  [
112
- 31
97
+ 32
113
98
  /* TemplateLanguageInquiry */
114
99
  ]: "Select preferred language",
115
100
  [
116
- 30
101
+ 31
117
102
  /* TemplateFrameworkInquiry */
118
103
  ]: "Select preferred framework template",
119
104
  [
120
105
  13
121
106
  /* DevServerPortDescription */
122
107
  ]: "The port that the dev server should use.",
108
+ [
109
+ 14
110
+ /* DevServerLoggingDescription */
111
+ ]: "Whether the dev server and browser console should output more log information or not (false).",
123
112
  [
124
113
  1
125
114
  /* ApiGatewayPortDescription */
@@ -141,7 +130,7 @@ const D = {
141
130
  /* AppEntryBuildOptionDescription */
142
131
  ]: "The entry file for the app (./src/app).",
143
132
  [
144
- 16
133
+ 17
145
134
  /* ManifestEntryBuildOptionDescription */
146
135
  ]: "The entry file for the app manifest (./src/manifest).",
147
136
  [
@@ -149,11 +138,11 @@ const D = {
149
138
  /* BuildModeOptionDescription */
150
139
  ]: "Which mode to use when building the app.",
151
140
  [
152
- 15
141
+ 16
153
142
  /* FetchPackageVersionError */
154
143
  ]: "Failed to fetch package info from the NPM registry for package '${0}'!",
155
144
  [
156
- 19
145
+ 20
157
146
  /* NoAppNameFound */
158
147
  ]: "Could not find app name in manifest.",
159
148
  [
@@ -161,56 +150,56 @@ const D = {
161
150
  /* AppConfigurationPath */
162
151
  ]: "The path to the app configuration file.",
163
152
  [
164
- 26
153
+ 27
165
154
  /* ServerMode */
166
155
  ]: "Server",
167
156
  [
168
- 28
157
+ 29
169
158
  /* ServerProxyMode */
170
159
  ]: "Server with proxy",
171
160
  [
172
- 25
161
+ 26
173
162
  /* ServerGatewayMode */
174
163
  ]: "Server with gateway"
175
164
  }, h = class {
176
165
  };
177
166
  let u = h;
178
- l(u, "getTranslations", () => D), l(u, "getTranslation", (e, ...t) => {
167
+ l(u, "getTranslations", () => b), l(u, "getTranslation", (e, ...t) => {
179
168
  const r = h.getTranslations()[e];
180
169
  if (!r)
181
170
  throw new Error(`Could not find text with given key '${e}'.`);
182
171
  return t.reduce(
183
- (a, i, n) => a.toString().replace(`{${n}}`, i.toString()),
172
+ (a, i, o) => a.toString().replace(`{${o}}`, i.toString()),
184
173
  r
185
174
  ).toString();
186
175
  }), l(u, "get", (e = d.MissingTranslationKey, ...t) => h.getTranslation(e, ...t));
187
- function _(e) {
176
+ function k(e) {
188
177
  return (t) => {
189
178
  t.key === "Enter" && e(t);
190
179
  };
191
180
  }
192
- var N = Object.defineProperty, O = Object.getOwnPropertyDescriptor, p = (e, t, r, a) => {
193
- for (var i = a > 1 ? void 0 : a ? O(t, r) : t, n = e.length - 1, c; n >= 0; n--)
194
- (c = e[n]) && (i = (a ? c(t, r, i) : c(i)) || i);
195
- return a && i && N(t, r, i), i;
181
+ var A = Object.defineProperty, C = Object.getOwnPropertyDescriptor, p = (e, t, r, a) => {
182
+ for (var i = a > 1 ? void 0 : a ? C(t, r) : t, o = e.length - 1, c; o >= 0; o--)
183
+ (c = e[o]) && (i = (a ? c(t, r, i) : c(i)) || i);
184
+ return a && i && A(t, r, i), i;
196
185
  };
197
- function T(e = "") {
186
+ function N(e = "") {
198
187
  return location.href.replace(location.origin, "").startsWith(e);
199
188
  }
200
- let o = class extends f {
189
+ let n = class extends f {
201
190
  constructor() {
202
191
  super(...arguments), this.capability = "", this.app = "", this.args = {}, this.navigate = () => {
203
192
  history.pushState(this.args, "", this._href), window.dispatchEvent(new Event("popstate"));
204
193
  }, this.clickHandler = (e) => {
205
194
  this.href || this.download || (e.preventDefault(), this.navigate());
206
195
  }, this.updateActive = () => {
207
- this.active = T(this._href);
196
+ this.active = N(this._href);
208
197
  }, this._href = "", this.active = !1, this.computeHref = () => {
209
198
  if (this.href)
210
199
  return this._href = this.href;
211
200
  if (!this.app)
212
201
  throw new Error("The app property is required when creating a capability link!");
213
- this._href = S(this.app, this.capability, this.args), this.updateActive();
202
+ this._href = w(this.app, this.capability, this.args), this.updateActive();
214
203
  };
215
204
  }
216
205
  connectedCallback() {
@@ -231,7 +220,7 @@ let o = class extends f {
231
220
  .href=${this._href}
232
221
  ?active=${this.active}
233
222
  @click=${this.clickHandler}
234
- @keydown=${_(this.clickHandler)}
223
+ @keydown=${k(this.clickHandler)}
235
224
  >
236
225
  <slot></slot>
237
226
  </a>`;
@@ -239,32 +228,32 @@ let o = class extends f {
239
228
  };
240
229
  p([
241
230
  s({ type: String, attribute: !0, reflect: !0 })
242
- ], o.prototype, "capability", 2);
231
+ ], n.prototype, "capability", 2);
243
232
  p([
244
233
  s({ type: String, attribute: !0, reflect: !0 })
245
- ], o.prototype, "app", 2);
234
+ ], n.prototype, "app", 2);
246
235
  p([
247
236
  s({ type: Object, attribute: !0, reflect: !0 })
248
- ], o.prototype, "args", 2);
237
+ ], n.prototype, "args", 2);
249
238
  p([
250
239
  s({ type: String, attribute: !0, reflect: !0 })
251
- ], o.prototype, "href", 2);
240
+ ], n.prototype, "href", 2);
252
241
  p([
253
242
  s({ type: String })
254
- ], o.prototype, "target", 2);
243
+ ], n.prototype, "target", 2);
255
244
  p([
256
245
  s({ type: String, attribute: !0, reflect: !0 })
257
- ], o.prototype, "rel", 2);
246
+ ], n.prototype, "rel", 2);
258
247
  p([
259
248
  s({ type: String, attribute: !0, reflect: !0 })
260
- ], o.prototype, "download", 2);
249
+ ], n.prototype, "download", 2);
261
250
  p([
262
251
  s({ type: String, attribute: !1, reflect: !1 })
263
- ], o.prototype, "_href", 2);
252
+ ], n.prototype, "_href", 2);
264
253
  p([
265
254
  s({ type: Boolean, attribute: "active", reflect: !0 })
266
- ], o.prototype, "active", 2);
267
- o = p([
255
+ ], n.prototype, "active", 2);
256
+ n = p([
268
257
  y("alliance-link")
269
- ], o);
270
- //# sourceMappingURL=alliance-link-5a0b06bd.js.map
258
+ ], n);
259
+ //# sourceMappingURL=alliance-link-8cb7d7d9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alliance-link-8cb7d7d9.js","sources":["../../utilities/frontend/index.js","../src/components/alliance-link/alliance-link.ts"],"sourcesContent":["var g = Object.defineProperty;\nvar l = (e, t, r) => t in e ? g(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;\nvar a = (e, t, r) => (l(e, typeof t != \"symbol\" ? t + \"\" : t, r), r);\nvar m = /* @__PURE__ */ ((e) => (e[e.AlreadyInitialized = 1e3] = \"AlreadyInitialized\", e[e.NoAppNameOrKey = 1001] = \"NoAppNameOrKey\", e[e.MissingAppController = 1002] = \"MissingAppController\", e[e.MissingCapabilityOnApp = 1003] = \"MissingCapabilityOnApp\", e[e.MissingManagedObjectProvider = 1004] = \"MissingManagedObjectProvider\", e[e.NoManifest = 1005] = \"NoManifest\", e[e.NoRootElement = 1006] = \"NoRootElement\", e[e.NoView = 1007] = \"NoView\", e[e.CookieKeyNotDefined = 1008] = \"CookieKeyNotDefined\", e[e.CookieCategoryNotAllowed = 1009] = \"CookieCategoryNotAllowed\", e[e.StorageKeyNotDefined = 1010] = \"StorageKeyNotDefined\", e[e.StorageCategoryNotAllowed = 1011] = \"StorageCategoryNotAllowed\", e))(m || {});\nfunction v(e, t) {\n return Object.entries(t).reduce((r, [o, i]) => r.replaceAll(`{{${o}}}`, i), e);\n}\nconst N = {\n [\n 1e3\n /* AlreadyInitialized */\n ]: \"The runtime has already been initialized\",\n [\n 1001\n /* NoAppNameOrKey */\n ]: \"App name and/or app key is not defined on global scope\",\n [\n 1002\n /* MissingAppController */\n ]: \"No app controller registered for app '{{app}}'\",\n [\n 1003\n /* MissingCapabilityOnApp */\n ]: \"No capability '{{capability}}' enabled for app '{{app}}'\",\n [\n 1004\n /* MissingManagedObjectProvider */\n ]: \"No managed object provider registered for object '{{object}}'\",\n [\n 1005\n /* NoManifest */\n ]: \"The current apps manifest is not defined on global scope\",\n [\n 1006\n /* NoRootElement */\n ]: \"Could not find the root element in the DOM\",\n [\n 1007\n /* NoView */\n ]: \"Could not find view with id '{{id}}' on view controller for app '{{app}}'\",\n [\n 1008\n /* CookieKeyNotDefined */\n ]: \"Cookie key '{{key}}' not present in manifest, cookie has not been set\",\n [\n 1009\n /* CookieCategoryNotAllowed */\n ]: \"Cookies categorized as '{{category}}' are not allowed by the user, cookie '{{key}}' has not been set\",\n [\n 1010\n /* StorageKeyNotDefined */\n ]: \"Storage key '{{key}}' not present in manifest, item has not been stored\",\n [\n 1011\n /* StorageCategoryNotAllowed */\n ]: \"Storage categorized as '{{category}}' is not allowed by the user, item '{{key}}' has not been stored\"\n};\nclass M extends Error {\n constructor(t, r = {}) {\n const o = v(N[t], r), i = `https://github.com/telia-company/ace-alliance-sdk/wiki/error-codes#${t}`;\n super(o), this.name = \"AllianceException\", this.stack = `[${t}] - ${o}\n` + i;\n }\n}\nfunction S(e) {\n const r = Object.entries(e).reduce((o, i) => {\n const [p, n] = i;\n return typeof n > \"u\" || (typeof n == \"object\" && n !== null ? o[p] = JSON.stringify(n) : o[p] = n), o;\n }, {});\n return Object.keys(r).length ? `?${new URLSearchParams(r)}` : \"\";\n}\nfunction w() {\n const e = d(), { href: t, search: r } = window.location;\n return t.replace(e, \"\").replace(r, \"\");\n}\nfunction A(e = \"\", t = \"\", r = {}) {\n const o = d().replace(location.origin, \"\"), i = S(r);\n return e ? t ? `${o}/${e}/${t}${i}` : `${o}/${e}${i}` : `${o}${i}`;\n}\nfunction y() {\n const e = w(), [t = \"\", r = \"\"] = e.split(\"/\").filter((o) => !!o);\n return {\n app: t,\n capability: r\n };\n}\nfunction I(e) {\n const { origin: t, pathname: r } = window.location;\n if (e === \"production\") {\n const [o] = r.split(\"/\").filter((i) => !!i);\n return globalThis.__ALLIANCE_RUNTIME_ROOT_URL = `${t}/${o}`;\n }\n return globalThis.__ALLIANCE_RUNTIME_ROOT_URL = t;\n}\nfunction d() {\n return globalThis.__ALLIANCE_RUNTIME_ROOT_URL;\n}\nvar h = /* @__PURE__ */ ((e) => (e[e.AlreadyExists = 0] = \"AlreadyExists\", e[e.ApiGatewayPortDescription = 1] = \"ApiGatewayPortDescription\", e[e.ApiServerModeDescription = 2] = \"ApiServerModeDescription\", e[e.AppConfigurationPath = 3] = \"AppConfigurationPath\", e[e.AppCreated = 4] = \"AppCreated\", e[e.AppEntryBuildOptionDescription = 5] = \"AppEntryBuildOptionDescription\", e[e.AppNameInquiry = 6] = \"AppNameInquiry\", e[e.BuildDescription = 7] = \"BuildDescription\", e[e.BuildModeOptionDescription = 8] = \"BuildModeOptionDescription\", e[e.BuildWatchDescription = 9] = \"BuildWatchDescription\", e[e.CreateAppDescription = 10] = \"CreateAppDescription\", e[e.CreateWorkspaceDescription = 11] = \"CreateWorkspaceDescription\", e[e.DevServerOpenDescription = 12] = \"DevServerOpenDescription\", e[e.DevServerPortDescription = 13] = \"DevServerPortDescription\", e[e.DevServerLoggingDescription = 14] = \"DevServerLoggingDescription\", e[e.Done = 15] = \"Done\", e[e.FetchPackageVersionError = 16] = \"FetchPackageVersionError\", e[e.ManifestEntryBuildOptionDescription = 17] = \"ManifestEntryBuildOptionDescription\", e[e.MissingTranslationKey = 18] = \"MissingTranslationKey\", e[e.NoAppName = 19] = \"NoAppName\", e[e.NoAppNameFound = 20] = \"NoAppNameFound\", e[e.NoAppOrWorkspaceInCurrentDirectory = 21] = \"NoAppOrWorkspaceInCurrentDirectory\", e[e.NoWorkspaceName = 22] = \"NoWorkspaceName\", e[e.OperationCancelled = 23] = \"OperationCancelled\", e[e.ServeDescription = 24] = \"ServeDescription\", e[e.ServedStopped = 25] = \"ServedStopped\", e[e.ServerGatewayMode = 26] = \"ServerGatewayMode\", e[e.ServerMode = 27] = \"ServerMode\", e[e.ServerModeInquiry = 28] = \"ServerModeInquiry\", e[e.ServerProxyMode = 29] = \"ServerProxyMode\", e[e.StopServerInstructions = 30] = \"StopServerInstructions\", e[e.TemplateFrameworkInquiry = 31] = \"TemplateFrameworkInquiry\", e[e.TemplateLanguageInquiry = 32] = \"TemplateLanguageInquiry\", e[e.UnrecognizedCommand = 33] = \"UnrecognizedCommand\", e[e.WorkspaceCreated = 34] = \"WorkspaceCreated\", e[e.WorkspaceNameInquiry = 35] = \"WorkspaceNameInquiry\", e))(h || {});\nconst k = {\n [\n 15\n /* Done */\n ]: \"Done\",\n [\n 22\n /* NoWorkspaceName */\n ]: \"No workspace name provided!\",\n [\n 19\n /* NoAppName */\n ]: \"No app name provided!\",\n [\n 0\n /* AlreadyExists */\n ]: \"File or directory '{0}' already exists!\",\n [\n 21\n /* NoAppOrWorkspaceInCurrentDirectory */\n ]: \"Could not find any app entry file at '{0}'!\",\n [\n 33\n /* UnrecognizedCommand */\n ]: \"Unrecognized command(s) {0}!\",\n [\n 34\n /* WorkspaceCreated */\n ]: \"Workspace was created at path '{0}'!\",\n [\n 4\n /* AppCreated */\n ]: \"App was created at path '{0}'!\",\n [\n 25\n /* ServedStopped */\n ]: \"Server stopped.\",\n [\n 11\n /* CreateWorkspaceDescription */\n ]: \"Creates an Alliance Workspace in the current directory.\",\n [\n 10\n /* CreateAppDescription */\n ]: \"Creates an Alliance Application in the current directory or Alliance Workspace.\",\n [\n 24\n /* ServeDescription */\n ]: \"Starts a Alliance development server using the current directory package.json.\",\n [\n 7\n /* BuildDescription */\n ]: \"Builds an Alliance Application using Vite.\",\n [\n 35\n /* WorkspaceNameInquiry */\n ]: \"Enter the name of your workspace\",\n [\n 28\n /* ServerModeInquiry */\n ]: \"Which server mode do you want to use?\",\n [\n 6\n /* AppNameInquiry */\n ]: \"Enter the name of your app\",\n [\n 18\n /* MissingTranslationKey */\n ]: \"No translation key provided!\",\n [\n 23\n /* OperationCancelled */\n ]: \"Operation cancelled.\",\n [\n 30\n /* StopServerInstructions */\n ]: `Press CTRL + C to stop the server.\n`,\n [\n 32\n /* TemplateLanguageInquiry */\n ]: \"Select preferred language\",\n [\n 31\n /* TemplateFrameworkInquiry */\n ]: \"Select preferred framework template\",\n [\n 13\n /* DevServerPortDescription */\n ]: \"The port that the dev server should use.\",\n [\n 14\n /* DevServerLoggingDescription */\n ]: \"Whether the dev server and browser console should output more log information or not (false).\",\n [\n 1\n /* ApiGatewayPortDescription */\n ]: \"The port that the api gateway should use.\",\n [\n 2\n /* ApiServerModeDescription */\n ]: \"Which components to start. [server|server-proxy|server-gateway].\",\n [\n 12\n /* DevServerOpenDescription */\n ]: \"Whether the dev server should automatically open in your browser or not.\",\n [\n 9\n /* BuildWatchDescription */\n ]: \"Whether the build should start watching and rebuild when files change or not.\",\n [\n 5\n /* AppEntryBuildOptionDescription */\n ]: \"The entry file for the app (./src/app).\",\n [\n 17\n /* ManifestEntryBuildOptionDescription */\n ]: \"The entry file for the app manifest (./src/manifest).\",\n [\n 8\n /* BuildModeOptionDescription */\n ]: \"Which mode to use when building the app.\",\n [\n 16\n /* FetchPackageVersionError */\n ]: \"Failed to fetch package info from the NPM registry for package '${0}'!\",\n [\n 20\n /* NoAppNameFound */\n ]: \"Could not find app name in manifest.\",\n [\n 3\n /* AppConfigurationPath */\n ]: \"The path to the app configuration file.\",\n [\n 27\n /* ServerMode */\n ]: \"Server\",\n [\n 29\n /* ServerProxyMode */\n ]: \"Server with proxy\",\n [\n 26\n /* ServerGatewayMode */\n ]: \"Server with gateway\"\n}, u = class {\n};\nlet c = u;\na(c, \"getTranslations\", () => k), a(c, \"getTranslation\", (t, ...r) => {\n const i = u.getTranslations()[t];\n if (!i)\n throw new Error(`Could not find text with given key '${t}'.`);\n return r.reduce(\n (n, s, f) => n.toString().replace(`{${f}}`, s.toString()),\n i\n ).toString();\n}), a(c, \"get\", (t = h.MissingTranslationKey, ...r) => u.getTranslation(t, ...r));\nfunction W(e, t) {\n return b(Object.values(e), ({ name: r }) => ({\n label: r,\n value: r,\n selected: t === r\n }));\n}\nvar D = /* @__PURE__ */ ((e) => (e.Primary = \"primary\", e.Secondary = \"secondary\", e.Expressive = \"expressive\", e.Destructive = \"destructive\", e.Text = \"text\", e.PrimaryWhite = \"primary-white\", e.SecondaryWhite = \"secondary-white\", e.ExpressiveWhite = \"expressive-white\", e.TertiaryPurple = \"tertiary-purple\", e))(D || {});\nfunction C(e, t) {\n return Object.values(e).find((o) => o.name === t);\n}\nfunction b(e, t) {\n return e.reduce(\n (r, o) => (r.push({\n disabled: !1,\n selected: !1,\n ...t(o)\n }), r),\n [\n {\n label: \"Choose...\",\n value: \"\",\n disabled: !0,\n selected: !0\n }\n ]\n );\n}\nfunction P(e) {\n return (t) => {\n t.key === \"Enter\" && e(t);\n };\n}\nfunction $(e, t = \"all\") {\n const { email: r, displayName: o } = e, i = o && o !== \"unknown\", p = !!r;\n switch (t) {\n case \"all\": {\n if (i && p)\n return `${o} (${r})`;\n if (i)\n return o;\n if (p)\n return r;\n }\n case \"single\": {\n if (i)\n return o;\n if (p)\n return r;\n }\n }\n return \"<UNKNOWN USER>\";\n}\nfunction R(...e) {\n return e.filter((t) => !!t).join(\" \");\n}\nexport {\n M as AllianceError,\n m as AllianceErrorCodes,\n c as Texts,\n h as TranslationsKey,\n D as VocaButtonVariant,\n R as classNames,\n A as createCapabilityPath,\n $ as friendlyUserName,\n y as getCurrentLocationInfo,\n d as getRuntimeRootUrl,\n C as getVocaIcon,\n b as mapToVocaOptions,\n P as onEnter,\n I as setRuntimeRootUrl,\n W as vocaIconsToOptions\n};\n//# sourceMappingURL=index.js.map\n","import {\n SerializeableObject,\n createCapabilityPath,\n onEnter,\n} from '@telia-ace/alliance-utilities/frontend';\nimport { LitElement, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nfunction isOnCurrentPath(path: string = '') {\n const cleanedPath = location.href.replace(location.origin, '');\n return cleanedPath.startsWith(path);\n}\n\n@customElement('alliance-link')\nexport class Link extends LitElement {\n @property({ type: String, attribute: true, reflect: true })\n capability: string = '';\n\n @property({ type: String, attribute: true, reflect: true })\n app: string = '';\n\n @property({ type: Object, attribute: true, reflect: true })\n args: SerializeableObject = {};\n\n /**\n * Link properties\n */\n @property({ type: String, attribute: true, reflect: true })\n href?: string;\n\n @property({ type: String })\n target?: string;\n\n @property({ type: String, attribute: true, reflect: true })\n rel?: string;\n\n @property({ type: String, attribute: true, reflect: true })\n download?: string;\n\n navigate = () => {\n history.pushState(this.args, '', this._href);\n window.dispatchEvent(new Event('popstate'));\n };\n\n clickHandler = (event: MouseEvent) => {\n if (this.href || this.download) {\n return;\n }\n\n event.preventDefault();\n\n this.navigate();\n };\n\n updateActive = () => {\n this.active = isOnCurrentPath(this._href);\n };\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener('popstate', this.updateActive);\n this.computeHref();\n }\n\n disconnectedCallback() {\n window.removeEventListener('popstate', this.updateActive);\n super.disconnectedCallback();\n }\n\n attributeChangedCallback(_1: string, _2: string | null, _3: string | null) {\n super.attributeChangedCallback(_1, _2, _3);\n\n // FUTURE TODO: Try to figure out this timeout is needed\n // Update seems to happen too early if this is not timed\n setTimeout(() => this.computeHref());\n }\n\n /**\n * Internal properties\n */\n @property({ type: String, attribute: false, reflect: false })\n private _href: string = '';\n\n @property({ type: Boolean, attribute: 'active', reflect: true })\n private active: boolean = false;\n\n private computeHref = () => {\n if (this.href) {\n return (this._href = this.href);\n }\n\n if (!this.app) {\n throw new Error('The app property is required when creating a capability link!');\n }\n this._href = createCapabilityPath(this.app, this.capability, this.args);\n this.updateActive();\n };\n\n render() {\n return html`<a\n part=\"anchor\"\n target=${this.target}\n rel=${this.rel}\n download=${this.download}\n .href=${this._href}\n ?active=${this.active}\n @click=${this.clickHandler}\n @keydown=${onEnter(this.clickHandler)}\n >\n <slot></slot>\n </a>`;\n }\n}\n"],"names":["l","a","r","o","i","p","n","A","d","h","k","u","c","t","s","f","P","isOnCurrentPath","path","Link","LitElement","event","createCapabilityPath","_1","_2","_3","html","onEnter","__decorateClass","property","customElement"],"mappings":"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"}
@@ -1,18 +1,18 @@
1
- import { i as b, r as t, e as l, s as $, x as o, a as f } from "./query-assigned-elements-024d0918.js";
2
- import { c as m } from "./repeat-8189924a.js";
1
+ import { i as y, r as e, e as d, s as $, x as s, a as f } from "./query-assigned-elements-024d0918.js";
2
+ import { t as m, c as v } from "./repeat-600d2fb9.js";
3
3
  import "./telia-button2-7783c019.js";
4
4
  import "./telia-heading2-38ae44ae.js";
5
5
  import "./telia-icon2-d0e7c715.js";
6
- import { l as g, c, b as y, s as v, a as w, d as e } from "./index-d925c796.js";
7
- import { c as k } from "./close-ac6e4f1c.js";
8
- var x = Object.defineProperty, C = Object.getOwnPropertyDescriptor, r = (i, n, p, d) => {
9
- for (var a = d > 1 ? void 0 : d ? C(n, p) : n, h = i.length - 1, u; h >= 0; h--)
10
- (u = i[h]) && (a = (d ? u(n, p, a) : u(a)) || a);
11
- return d && a && x(n, p, a), a;
6
+ import { l as b, c as l, b as p, s as w, a as k, d as t } from "./index-d925c796.js";
7
+ import { c as x } from "./close-7d423291.js";
8
+ var S = Object.defineProperty, C = Object.getOwnPropertyDescriptor, r = (i, n, h, c) => {
9
+ for (var a = c > 1 ? void 0 : c ? C(n, h) : n, u = i.length - 1, g; u >= 0; u--)
10
+ (g = i[u]) && (a = (c ? g(n, h, a) : g(a)) || a);
11
+ return c && a && S(n, h, a), a;
12
12
  };
13
- let s = class extends $ {
13
+ let o = class extends $ {
14
14
  constructor() {
15
- super(...arguments), this.header = "", this.actions = [], this.required = !1, this.scrollMode = "outside", this.containStyling = () => this.contain ? o`<style>
15
+ super(...arguments), this.header = "", this.actions = [], this.required = !1, this.scrollMode = "outside", this.hasSubHeader = !1, this.containStyling = () => this.contain ? s`<style>
16
16
  :host {
17
17
  height: 500px;
18
18
  position: static;
@@ -20,7 +20,7 @@ let s = class extends $ {
20
20
  .backdrop {
21
21
  position: absolute;
22
22
  }
23
- </style>` : o`<style>
23
+ </style>` : s`<style>
24
24
  :host {
25
25
  position: fixed;
26
26
  }
@@ -28,7 +28,7 @@ let s = class extends $ {
28
28
  .backdrop {
29
29
  position: absolute;
30
30
  }
31
- </style>`, this.scrollStyling = () => this.scrollMode === "inside" ? o`<style>
31
+ </style>`, this.scrollStyling = () => this.scrollMode === "inside" ? s`<style>
32
32
  .container {
33
33
  align-items: center;
34
34
  }
@@ -41,17 +41,17 @@ let s = class extends $ {
41
41
 
42
42
  .body {
43
43
  flex: 1;
44
- padding: ${t(e.spacing24)} ${t(e.spacing32)};
44
+ padding: ${e(t.spacing24)} ${e(t.spacing32)};
45
45
  height: 80%;
46
46
  overflow-x: hidden;
47
47
  overflow-y: auto;
48
48
  }
49
49
 
50
50
  .footer {
51
- border-top: ${t(y.widthXs)} solid ${t(c.gray200)};
52
- padding: ${t(e.spacing24)} ${t(e.spacing32)};
51
+ border-top: ${e(p.widthXs)} solid ${e(l.gray200)};
52
+ padding: ${e(t.spacing24)} ${e(t.spacing32)};
53
53
  }
54
- </style>` : o`<style>
54
+ </style>` : s`<style>
55
55
  .container {
56
56
  overflow-x: hidden;
57
57
  overflow-y: overlay;
@@ -60,21 +60,28 @@ let s = class extends $ {
60
60
 
61
61
  dialog {
62
62
  display: block;
63
- margin: ${t(e.spacing128)} ${t(e.spacing24)};
63
+ margin: ${e(t.spacing128)} ${e(t.spacing24)};
64
64
  }
65
65
 
66
66
  .footer,
67
67
  .body {
68
- margin: ${t(e.spacing24)} 0;
69
- padding: 0 ${t(e.spacing32)};
68
+ margin: ${e(t.spacing24)} 0;
69
+ padding: 0 ${e(t.spacing32)};
70
70
  }
71
- </style>`, this.closeButton = () => this.required ? "" : o`<telia-button size="sm" variant="text" @click=${this.onCloseClick}
72
- ><telia-icon size="md" svg="${k.svg}"
73
- /></telia-button>`, this.actionButtons = () => this.actions.length ? o`
71
+ </style>`, this.subHeaderStyling = () => {
72
+ if (this.hasSubHeader)
73
+ return s`<style>
74
+ div.sub-header {
75
+ display: block;
76
+ }
77
+ </style>`;
78
+ }, this.closeButton = () => this.required ? "" : s`<telia-button size="sm" variant="text" @click=${this.onCloseClick}
79
+ ><telia-icon size="md" svg="${x.svg}"
80
+ /></telia-button>`, this.footer = () => this.actions.length ? s`
74
81
  <div class="footer">
75
- ${m(
82
+ ${v(
76
83
  this.actions,
77
- (i) => o`
84
+ (i) => s`
78
85
  <telia-button
79
86
  disabled="${i.disabled ? "true" : "false"}"
80
87
  variant="${i.variant || "primary"}"
@@ -94,6 +101,8 @@ let s = class extends $ {
94
101
  return this.action("close");
95
102
  }, this.onKeyDown = (i) => {
96
103
  i.defaultPrevented || !this.required && i.key === "Escape" && this.action("close");
104
+ }, this.onSubHeaderSlotChange = () => {
105
+ this.hasSubHeader = !0;
97
106
  }, this.action = (i) => {
98
107
  const n = new CustomEvent("action", {
99
108
  bubbles: !0,
@@ -111,8 +120,8 @@ let s = class extends $ {
111
120
  window.removeEventListener("keydown", this.onKeyDown), super.disconnectedCallback();
112
121
  }
113
122
  render() {
114
- return o`
115
- ${this.containStyling()} ${this.scrollStyling()}
123
+ return s`
124
+ ${this.containStyling()} ${this.scrollStyling()} ${this.subHeaderStyling()}
116
125
  <div class="backdrop" @click=${this.onBackdropClick}></div>
117
126
  <div class="container">
118
127
  <dialog open>
@@ -120,26 +129,29 @@ let s = class extends $ {
120
129
  <telia-heading tag="h3" variant="title-100">${this.header}</telia-heading>
121
130
  ${this.closeButton()}
122
131
  </div>
132
+ <div class="sub-header">
133
+ <slot name="sub-header" @slotchange=${this.onSubHeaderSlotChange}></slot>
134
+ </div>
123
135
  <div class="body">
124
136
  <slot></slot>
125
137
  </div>
126
- ${this.actionButtons()}
138
+ ${this.footer()}
127
139
  </dialog>
128
140
  </div>
129
141
  `;
130
142
  }
131
143
  };
132
- s.styles = b`
144
+ o.styles = y`
133
145
  :host {
134
146
  display: block;
135
147
  inset: 0;
136
- z-index: ${t(parseInt(g.modal) - 2)};
148
+ z-index: ${e(parseInt(b.modal) - 2)};
137
149
  }
138
150
 
139
151
  .backdrop {
140
152
  inset: 0;
141
- z-index: ${t(parseInt(g.modal) - 1)};
142
- background-color: ${t(c.black)};
153
+ z-index: ${e(parseInt(b.modal) - 1)};
154
+ background-color: ${e(l.black)};
143
155
  opacity: 0.3;
144
156
  }
145
157
 
@@ -152,11 +164,11 @@ s.styles = b`
152
164
  }
153
165
 
154
166
  dialog {
155
- background-color: ${t(c.white)};
156
- border-radius: ${t(y.radiusLg)};
157
- box-shadow: ${t(v.md)};
158
- z-index: ${t(parseInt(g.modal))};
159
- max-width: ${t(w.breakpointLg)};
167
+ background-color: ${e(l.white)};
168
+ border-radius: ${e(p.radiusLg)};
169
+ box-shadow: ${e(w.md)};
170
+ z-index: ${e(parseInt(b.modal))};
171
+ max-width: ${e(k.breakpointLg)};
160
172
  position: static;
161
173
  padding: 0;
162
174
  border: none;
@@ -166,43 +178,52 @@ s.styles = b`
166
178
  position: relative;
167
179
  display: flex;
168
180
  align-items: center;
169
- padding: ${t(e.spacing24)} ${t(e.spacing32)};
170
- border-bottom: ${t(y.widthXs)} solid ${t(c.gray200)};
181
+ padding: ${e(t.spacing24)} ${e(t.spacing32)};
182
+ border-bottom: ${e(p.widthXs)} solid ${e(l.gray200)};
171
183
  min-height: 40px;
172
184
  }
173
185
 
174
186
  .header telia-button {
175
187
  position: absolute;
176
- top: ${t(e.spacing20)};
177
- right: ${t(e.spacing24)};
188
+ top: ${e(t.spacing20)};
189
+ right: ${e(t.spacing24)};
190
+ }
191
+
192
+ .sub-header {
193
+ padding: ${e(t.spacing24)} ${e(t.spacing32)};
194
+ border-bottom: ${e(p.widthXs)} solid ${e(l.gray200)};
195
+ display: none;
178
196
  }
179
197
 
180
198
  .body {
181
- min-width: calc(${t(e.spacing128)} * 2);
199
+ min-width: calc(${e(t.spacing128)} * 2);
182
200
  }
183
201
 
184
202
  .footer {
185
203
  display: flex;
186
204
  justify-content: flex-end;
187
- gap: ${t(e.spacing16)};
205
+ gap: ${e(t.spacing16)};
188
206
  }
189
207
  `;
190
208
  r([
191
- l({ type: String, attribute: "header" })
192
- ], s.prototype, "header", 2);
209
+ d({ type: String, attribute: "header" })
210
+ ], o.prototype, "header", 2);
211
+ r([
212
+ d({ type: Array })
213
+ ], o.prototype, "actions", 2);
193
214
  r([
194
- l({ type: Array })
195
- ], s.prototype, "actions", 2);
215
+ d({ type: Boolean, attribute: "required" })
216
+ ], o.prototype, "required", 2);
196
217
  r([
197
- l({ type: Boolean, attribute: "required" })
198
- ], s.prototype, "required", 2);
218
+ d({ type: String, attribute: "scroll-mode" })
219
+ ], o.prototype, "scrollMode", 2);
199
220
  r([
200
- l({ type: String, attribute: "scroll-mode" })
201
- ], s.prototype, "scrollMode", 2);
221
+ m()
222
+ ], o.prototype, "hasSubHeader", 2);
202
223
  r([
203
- l({ type: Boolean, attribute: "contain" })
204
- ], s.prototype, "contain", 2);
205
- s = r([
224
+ d({ type: Boolean, attribute: "contain" })
225
+ ], o.prototype, "contain", 2);
226
+ o = r([
206
227
  f("alliance-modal")
207
- ], s);
208
- //# sourceMappingURL=alliance-modal-06ec7d6a.js.map
228
+ ], o);
229
+ //# sourceMappingURL=alliance-modal-1126a4c4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alliance-modal-1126a4c4.js","sources":["../src/components/alliance-modal/alliance-modal.ts"],"sourcesContent":["import type { ButtonVariantType } from '@teliads/components/dist/types/types/ButtonVariant';\nimport { css, html, LitElement, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\n\nimport '@/voca/components/telia-button';\nimport '@/voca/components/telia-heading';\nimport '@/voca/components/telia-icon';\nimport { borders, breakpoints, colors, layers, shadows, spacing } from '@/voca/foundations';\nimport { close } from '@/voca/icons';\n\nexport type Action = {\n variant: ButtonVariantType;\n label: string;\n action: string;\n disabled?: boolean;\n};\n\n/**\n * Event dispatched when clicking the close button, the backdrop, an action button or pressing escape.\n *\n * Event: `action`\n *\n * Detail: Object containing the property `action`.\n */\nexport type ActionEvent = CustomEvent<{ action: string }>;\n\n@customElement('alliance-modal')\nexport class Modal extends LitElement {\n static styles = css`\n :host {\n display: block;\n inset: 0;\n z-index: ${unsafeCSS(parseInt(layers.modal) - 2)};\n }\n\n .backdrop {\n inset: 0;\n z-index: ${unsafeCSS(parseInt(layers.modal) - 1)};\n background-color: ${unsafeCSS(colors.black)};\n opacity: 0.3;\n }\n\n .container {\n margin: 0 auto;\n display: flex;\n justify-content: center;\n height: 100%;\n width: 100%;\n }\n\n dialog {\n background-color: ${unsafeCSS(colors.white)};\n border-radius: ${unsafeCSS(borders.radiusLg)};\n box-shadow: ${unsafeCSS(shadows.md)};\n z-index: ${unsafeCSS(parseInt(layers.modal))};\n max-width: ${unsafeCSS(breakpoints.breakpointLg)};\n position: static;\n padding: 0;\n border: none;\n }\n\n .header {\n position: relative;\n display: flex;\n align-items: center;\n padding: ${unsafeCSS(spacing.spacing24)} ${unsafeCSS(spacing.spacing32)};\n border-bottom: ${unsafeCSS(borders.widthXs)} solid ${unsafeCSS(colors.gray200)};\n min-height: 40px;\n }\n\n .header telia-button {\n position: absolute;\n top: ${unsafeCSS(spacing.spacing20)};\n right: ${unsafeCSS(spacing.spacing24)};\n }\n\n .sub-header {\n padding: ${unsafeCSS(spacing.spacing24)} ${unsafeCSS(spacing.spacing32)};\n border-bottom: ${unsafeCSS(borders.widthXs)} solid ${unsafeCSS(colors.gray200)};\n display: none;\n }\n\n .body {\n min-width: calc(${unsafeCSS(spacing.spacing128)} * 2);\n }\n\n .footer {\n display: flex;\n justify-content: flex-end;\n gap: ${unsafeCSS(spacing.spacing16)};\n }\n `;\n\n @property({ type: String, attribute: 'header' })\n header: string = '';\n\n @property({ type: Array })\n actions: Action[] = [];\n\n @property({ type: Boolean, attribute: 'required' })\n required: boolean = false;\n\n @property({ type: String, attribute: 'scroll-mode' })\n scrollMode: 'outside' | 'inside' = 'outside';\n\n @state()\n hasSubHeader: boolean = false;\n\n // Internal usage only\n // Used in Storybook to contain modal in story\n @property({ type: Boolean, attribute: 'contain' })\n contain?: boolean;\n\n containStyling = () => {\n if (!this.contain) {\n return html`<style>\n :host {\n position: fixed;\n }\n\n .backdrop {\n position: absolute;\n }\n </style>`;\n }\n\n return html`<style>\n :host {\n height: 500px;\n position: static;\n }\n .backdrop {\n position: absolute;\n }\n </style>`;\n };\n\n scrollStyling = () => {\n if (this.scrollMode === 'inside') {\n return html`<style>\n .container {\n align-items: center;\n }\n\n dialog {\n max-height: 80%;\n display: flex;\n flex-direction: column;\n }\n\n .body {\n flex: 1;\n padding: ${unsafeCSS(spacing.spacing24)} ${unsafeCSS(spacing.spacing32)};\n height: 80%;\n overflow-x: hidden;\n overflow-y: auto;\n }\n\n .footer {\n border-top: ${unsafeCSS(borders.widthXs)} solid ${unsafeCSS(colors.gray200)};\n padding: ${unsafeCSS(spacing.spacing24)} ${unsafeCSS(spacing.spacing32)};\n }\n </style>`;\n }\n\n return html`<style>\n .container {\n overflow-x: hidden;\n overflow-y: overlay;\n align-items: flex-start;\n }\n\n dialog {\n display: block;\n margin: ${unsafeCSS(spacing.spacing128)} ${unsafeCSS(spacing.spacing24)};\n }\n\n .footer,\n .body {\n margin: ${unsafeCSS(spacing.spacing24)} 0;\n padding: 0 ${unsafeCSS(spacing.spacing32)};\n }\n </style>`;\n };\n\n subHeaderStyling = () => {\n if (this.hasSubHeader) {\n return html`<style>\n div.sub-header {\n display: block;\n }\n </style>`;\n }\n };\n\n closeButton = () => {\n if (this.required) {\n return '';\n }\n\n return html`<telia-button size=\"sm\" variant=\"text\" @click=${this.onCloseClick}\n ><telia-icon size=\"md\" svg=\"${close.svg}\"\n /></telia-button>`;\n };\n\n footer = () => {\n if (!this.actions.length) {\n return '';\n }\n\n return html`\n <div class=\"footer\">\n ${repeat(\n this.actions,\n (action) => html`\n <telia-button\n disabled=\"${action.disabled ? 'true' : 'false'}\"\n variant=\"${action.variant || 'primary'}\"\n size=\"sm\"\n @click=${() => this.action(action.action)}\n >\n ${action.label}\n </telia-button>\n `\n )}\n </div>\n `;\n };\n\n onBackdropClick = () => {\n if (this.required) {\n return;\n }\n\n return this.action('close');\n };\n\n onCloseClick = () => {\n if (this.required) {\n return;\n }\n\n return this.action('close');\n };\n\n onKeyDown = (event: KeyboardEvent) => {\n if (event.defaultPrevented) {\n return;\n }\n\n if (!this.required && event.key === 'Escape') {\n this.action('close');\n }\n };\n\n // The slotchange event is only triggered if slot changes content\n // So if event is triggered, that means sub-header is populated and should be shown\n onSubHeaderSlotChange = () => {\n this.hasSubHeader = true;\n };\n\n connectedCallback() {\n super.connectedCallback();\n window.addEventListener('keydown', this.onKeyDown);\n }\n\n disconnectedCallback() {\n window.removeEventListener('keydown', this.onKeyDown);\n super.disconnectedCallback();\n }\n\n action = (action: string) => {\n const event: ActionEvent = new CustomEvent('action', {\n bubbles: true,\n composed: true,\n detail: { action },\n cancelable: true,\n });\n return this.dispatchEvent(event);\n };\n\n render() {\n return html`\n ${this.containStyling()} ${this.scrollStyling()} ${this.subHeaderStyling()}\n <div class=\"backdrop\" @click=${this.onBackdropClick}></div>\n <div class=\"container\">\n <dialog open>\n <div class=\"header\">\n <telia-heading tag=\"h3\" variant=\"title-100\">${this.header}</telia-heading>\n ${this.closeButton()}\n </div>\n <div class=\"sub-header\">\n <slot name=\"sub-header\" @slotchange=${this.onSubHeaderSlotChange}></slot>\n </div>\n <div class=\"body\">\n <slot></slot>\n </div>\n ${this.footer()}\n </dialog>\n </div>\n `;\n }\n}\n"],"names":["Modal","LitElement","html","unsafeCSS","spacing","borders","colors","close","repeat","action","event","css","layers","shadows","breakpoints","__decorateClass","property","state","customElement"],"mappings":"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"}