@telia-ace/alliance-ui 1.0.12 → 1.0.13-next.1
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 +13 -0
- package/chunks/check-circle-filled-42095247.js.map +1 -1
- package/chunks/chevron-down-50d47dd6.js.map +1 -1
- package/chunks/chevron-right-788ce8a9.js.map +1 -1
- package/chunks/close-7d423291.js.map +1 -1
- package/chunks/close-ac6e4f1c.js.map +1 -1
- package/chunks/error-9925a844.js.map +1 -1
- package/chunks/error-filled-8de50bdd.js.map +1 -1
- package/chunks/getSvgContent-f2389ce0.js.map +1 -1
- package/chunks/{index-d925c796.js → index-514c4fef.js} +5 -5
- package/chunks/{index-d925c796.js.map → index-514c4fef.js.map} +1 -1
- package/chunks/index-eef143db.js.map +1 -1
- package/chunks/{query-assigned-elements-024d0918.js → query-assigned-elements-ac91685f.js} +117 -114
- package/chunks/query-assigned-elements-ac91685f.js.map +1 -0
- package/chunks/{repeat-600d2fb9.js → repeat-34adae9e.js} +2 -2
- package/chunks/{repeat-600d2fb9.js.map → repeat-34adae9e.js.map} +1 -1
- package/chunks/stringCombiner-10b57054.js.map +1 -1
- package/chunks/{telia-button2-7783c019.js → telia-button-c9ba09a9.js} +3 -3
- package/chunks/telia-button-c9ba09a9.js.map +1 -0
- package/chunks/{telia-card-frame2-340f3315.js → telia-card-frame-340f3315.js} +1 -1
- package/chunks/telia-card-frame-340f3315.js.map +1 -0
- package/chunks/{telia-field-assistive-text2-173ba2fb.js → telia-field-assistive-text-173ba2fb.js} +1 -1
- package/chunks/telia-field-assistive-text-173ba2fb.js.map +1 -0
- package/chunks/{telia-field-error2-75dc8ceb.js → telia-field-error-f978aeb3.js} +2 -2
- package/chunks/telia-field-error-f978aeb3.js.map +1 -0
- package/chunks/{telia-field-valid2-0f6759ac.js → telia-field-valid-5d8f121e.js} +2 -2
- package/chunks/telia-field-valid-5d8f121e.js.map +1 -0
- package/chunks/{telia-heading2-38ae44ae.js → telia-heading-38ae44ae.js} +1 -1
- package/chunks/telia-heading-38ae44ae.js.map +1 -0
- package/chunks/{telia-icon2-d0e7c715.js → telia-icon-d0e7c715.js} +1 -1
- package/chunks/telia-icon-d0e7c715.js.map +1 -0
- package/chunks/{telia-label2-f4c1eb47.js → telia-label-f4c1eb47.js} +1 -1
- package/chunks/telia-label-f4c1eb47.js.map +1 -0
- package/chunks/{telia-link2-9d6a1240.js → telia-link-42cb2e68.js} +2 -2
- package/chunks/telia-link-42cb2e68.js.map +1 -0
- package/chunks/{telia-style-link2-bb7bfd94.js → telia-style-link-bb7bfd94.js} +1 -1
- package/chunks/telia-style-link-bb7bfd94.js.map +1 -0
- package/chunks/{telia-tab-header2-73ec5e07.js → telia-tab-header-890fc7c8.js} +2 -2
- package/chunks/telia-tab-header-890fc7c8.js.map +1 -0
- package/chunks/{telia-text-input2-db9121d9.js → telia-text-input-289394d8.js} +6 -6
- package/chunks/telia-text-input-289394d8.js.map +1 -0
- package/chunks/{telia-visually-hidden2-9015e8cd.js → telia-visually-hidden-9015e8cd.js} +1 -1
- package/chunks/telia-visually-hidden-9015e8cd.js.map +1 -0
- package/chunks/telia-vst2-dfb33a56.js.map +1 -1
- package/chunks/uniqueId-0daf01ec.js.map +1 -1
- package/components/alliance-link.js +149 -2
- package/components/alliance-link.js.map +1 -1
- package/components/alliance-modal.js +234 -9
- package/components/alliance-modal.js.map +1 -1
- package/components/alliance-paginator.js +305 -10
- package/components/alliance-paginator.js.map +1 -1
- package/components/alliance-table.js +141 -5
- package/components/alliance-table.js.map +1 -1
- package/components/index.js +11 -11
- package/package.json +9 -11
- package/voca/components/telia-accordion-item.js +1 -1
- package/voca/components/telia-accordion-item.js.map +1 -1
- package/voca/components/telia-accordion.js +1 -1
- package/voca/components/telia-accordion.js.map +1 -1
- package/voca/components/telia-badge.js +1 -1
- package/voca/components/telia-badge.js.map +1 -1
- package/voca/components/telia-button.js +2 -2
- package/voca/components/telia-card-frame-link.js +3 -3
- package/voca/components/telia-card-frame-link.js.map +1 -1
- package/voca/components/telia-card-frame.js +1 -1
- package/voca/components/telia-checkbox.js +3 -3
- package/voca/components/telia-checkbox.js.map +1 -1
- package/voca/components/telia-chip-choice.js.map +1 -1
- package/voca/components/telia-chip-filter.js +1 -1
- package/voca/components/telia-chip-filter.js.map +1 -1
- package/voca/components/telia-col.js.map +1 -1
- package/voca/components/telia-color-dot.js +2 -1
- package/voca/components/telia-color-dot.js.map +1 -1
- package/voca/components/telia-counter-badge.js +1 -1
- package/voca/components/telia-counter-badge.js.map +1 -1
- package/voca/components/telia-cta-link.js +3 -3
- package/voca/components/telia-cta-link.js.map +1 -1
- package/voca/components/telia-date-picker.js +6 -6
- package/voca/components/telia-date-picker.js.map +1 -1
- package/voca/components/telia-divider.js.map +1 -1
- package/voca/components/telia-field-assistive-text.js +1 -1
- package/voca/components/telia-field-error.js +2 -2
- package/voca/components/telia-field-valid.js +2 -2
- package/voca/components/telia-fieldset.js.map +1 -1
- package/voca/components/telia-focus-trap.js.map +1 -1
- package/voca/components/telia-form.js.map +1 -1
- package/voca/components/telia-grid.js.map +1 -1
- package/voca/components/telia-heading.js +1 -1
- package/voca/components/telia-icon.js +1 -1
- package/voca/components/telia-image.js.map +1 -1
- package/voca/components/telia-label.js +1 -1
- package/voca/components/telia-link-image.js +3 -3
- package/voca/components/telia-link-image.js.map +1 -1
- package/voca/components/telia-link.js +2 -2
- package/voca/components/telia-list.js +1 -1
- package/voca/components/telia-list.js.map +1 -1
- package/voca/components/telia-logo.js.map +1 -1
- package/voca/components/telia-notification.js +3 -3
- package/voca/components/telia-notification.js.map +1 -1
- package/voca/components/telia-overlay.js.map +1 -1
- package/voca/components/telia-p.js.map +1 -1
- package/voca/components/telia-pictogram.js.map +1 -1
- package/voca/components/telia-radio-button.js +2 -2
- package/voca/components/telia-radio-button.js.map +1 -1
- package/voca/components/telia-row.js.map +1 -1
- package/voca/components/telia-search-input.js +7 -7
- package/voca/components/telia-search-input.js.map +1 -1
- package/voca/components/telia-select.js +4 -4
- package/voca/components/telia-select.js.map +1 -1
- package/voca/components/telia-skeleton.js.map +1 -1
- package/voca/components/telia-status-badge.js +1 -1
- package/voca/components/telia-status-badge.js.map +1 -1
- package/voca/components/telia-style-link.js +1 -1
- package/voca/components/telia-tab-content.js.map +1 -1
- package/voca/components/telia-tab-header.js +2 -2
- package/voca/components/telia-tab.js +3 -3
- package/voca/components/telia-tab.js.map +1 -1
- package/voca/components/telia-text-input.js +6 -6
- package/voca/components/telia-text-spacing.js.map +1 -1
- package/voca/components/telia-textarea.js +4 -4
- package/voca/components/telia-textarea.js.map +1 -1
- package/voca/components/telia-toggle.js +1 -1
- package/voca/components/telia-toggle.js.map +1 -1
- package/voca/components/telia-visually-hidden.js +1 -1
- package/voca/components/telia-voca-stats.js.map +1 -1
- package/voca/foundations/index.js +1 -1
- package/voca/foundations/index.js.map +1 -1
- package/voca/icons/index.js.map +1 -1
- package/chunks/alliance-link-8cb7d7d9.js +0 -259
- package/chunks/alliance-link-8cb7d7d9.js.map +0 -1
- package/chunks/alliance-modal-1126a4c4.js +0 -229
- package/chunks/alliance-modal-1126a4c4.js.map +0 -1
- package/chunks/alliance-paginator-button-0a0a4fd7.js +0 -305
- package/chunks/alliance-paginator-button-0a0a4fd7.js.map +0 -1
- package/chunks/alliance-table-row-ec104b1e.js +0 -142
- package/chunks/alliance-table-row-ec104b1e.js.map +0 -1
- package/chunks/query-assigned-elements-024d0918.js.map +0 -1
- package/chunks/telia-button2-7783c019.js.map +0 -1
- package/chunks/telia-card-frame2-340f3315.js.map +0 -1
- package/chunks/telia-field-assistive-text2-173ba2fb.js.map +0 -1
- package/chunks/telia-field-error2-75dc8ceb.js.map +0 -1
- package/chunks/telia-field-valid2-0f6759ac.js.map +0 -1
- package/chunks/telia-heading2-38ae44ae.js.map +0 -1
- package/chunks/telia-icon2-d0e7c715.js.map +0 -1
- package/chunks/telia-label2-f4c1eb47.js.map +0 -1
- package/chunks/telia-link2-9d6a1240.js.map +0 -1
- package/chunks/telia-navigation-button2-b6b0d39c.js +0 -44
- package/chunks/telia-navigation-button2-b6b0d39c.js.map +0 -1
- package/chunks/telia-style-link2-bb7bfd94.js.map +0 -1
- package/chunks/telia-style-navigation-item2-b2eaedc2.js +0 -44
- package/chunks/telia-style-navigation-item2-b2eaedc2.js.map +0 -1
- package/chunks/telia-tab-header2-73ec5e07.js.map +0 -1
- package/chunks/telia-text-input2-db9121d9.js.map +0 -1
- package/chunks/telia-visually-hidden2-9015e8cd.js.map +0 -1
- package/voca/components/telia-navigation-button.d.ts +0 -1
- package/voca/components/telia-navigation-button.js +0 -5
- package/voca/components/telia-navigation-button.js.map +0 -1
- package/voca/components/telia-navigation-dropdown.d.ts +0 -1
- package/voca/components/telia-navigation-dropdown.js +0 -85
- package/voca/components/telia-navigation-dropdown.js.map +0 -1
- package/voca/components/telia-navigation-link.d.ts +0 -1
- package/voca/components/telia-navigation-link.js +0 -40
- package/voca/components/telia-navigation-link.js.map +0 -1
- package/voca/components/telia-style-navigation-item.d.ts +0 -1
- package/voca/components/telia-style-navigation-item.js +0 -4
- package/voca/components/telia-style-navigation-item.js.map +0 -1
|
@@ -1,3 +1,150 @@
|
|
|
1
|
-
import "../chunks/
|
|
2
|
-
|
|
1
|
+
import { n as s, e as d, s as y, x as v } from "../chunks/query-assigned-elements-ac91685f.js";
|
|
2
|
+
var f = Object.defineProperty, g = (e, t, r) => t in e ? f(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, u = (e, t, r) => (g(e, typeof t != "symbol" ? t + "" : t, r), r);
|
|
3
|
+
function m(e) {
|
|
4
|
+
const t = Object.entries(e).reduce((r, a) => {
|
|
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
|
+
}, {});
|
|
8
|
+
return Object.keys(t).length ? `?${new URLSearchParams(t)}` : "";
|
|
9
|
+
}
|
|
10
|
+
function S(e = "", t = "", r = {}) {
|
|
11
|
+
const a = w().replace(location.origin, ""), i = m(r);
|
|
12
|
+
return e ? t ? `${a}/${e}/${t}${i}` : `${a}/${e}${i}` : `${a}${i}`;
|
|
13
|
+
}
|
|
14
|
+
function w() {
|
|
15
|
+
return globalThis.__ALLIANCE_RUNTIME_ROOT_URL;
|
|
16
|
+
}
|
|
17
|
+
var 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 || {});
|
|
18
|
+
const D = {
|
|
19
|
+
15: "Done",
|
|
20
|
+
22: "No workspace name provided!",
|
|
21
|
+
19: "No app name provided!",
|
|
22
|
+
0: "File or directory '{0}' already exists!",
|
|
23
|
+
21: "Could not find any app entry file at '{0}'!",
|
|
24
|
+
33: "Unrecognized command(s) {0}!",
|
|
25
|
+
34: "Workspace was created at path '{0}'!",
|
|
26
|
+
4: "App was created at path '{0}'!",
|
|
27
|
+
25: "Server stopped.",
|
|
28
|
+
11: "Creates an Alliance Workspace in the current directory.",
|
|
29
|
+
10: "Creates an Alliance Application in the current directory or Alliance Workspace.",
|
|
30
|
+
24: "Starts a Alliance development server using the current directory package.json.",
|
|
31
|
+
7: "Builds an Alliance Application using Vite.",
|
|
32
|
+
35: "Enter the name of your workspace",
|
|
33
|
+
28: "Which server mode do you want to use?",
|
|
34
|
+
6: "Enter the name of your app",
|
|
35
|
+
18: "No translation key provided!",
|
|
36
|
+
23: "Operation cancelled.",
|
|
37
|
+
30: `Press CTRL + C to stop the server.
|
|
38
|
+
`,
|
|
39
|
+
32: "Select preferred language",
|
|
40
|
+
31: "Select preferred framework template",
|
|
41
|
+
13: "The port that the dev server should use.",
|
|
42
|
+
14: "Whether the dev server and browser console should output more log information or not (false).",
|
|
43
|
+
1: "The port that the api gateway should use.",
|
|
44
|
+
2: "Which components to start. [server|server-proxy|server-gateway].",
|
|
45
|
+
12: "Whether the dev server should automatically open in your browser or not.",
|
|
46
|
+
9: "Whether the build should start watching and rebuild when files change or not.",
|
|
47
|
+
5: "The entry file for the app (./src/app).",
|
|
48
|
+
17: "The entry file for the app manifest (./src/manifest).",
|
|
49
|
+
8: "Which mode to use when building the app.",
|
|
50
|
+
16: "Failed to fetch package info from the NPM registry for package '${0}'!",
|
|
51
|
+
20: "Could not find app name in manifest.",
|
|
52
|
+
3: "The path to the app configuration file.",
|
|
53
|
+
27: "Server",
|
|
54
|
+
29: "Server with proxy",
|
|
55
|
+
26: "Server with gateway"
|
|
56
|
+
}, c = class {
|
|
57
|
+
};
|
|
58
|
+
u(c, "getTranslations", () => D), u(c, "getTranslation", (e, ...t) => {
|
|
59
|
+
const r = c.getTranslations()[e];
|
|
60
|
+
if (!r)
|
|
61
|
+
throw new Error(`Could not find text with given key '${e}'.`);
|
|
62
|
+
return t.reduce(
|
|
63
|
+
(a, i, o) => a.toString().replace(`{${o}}`, i.toString()),
|
|
64
|
+
r
|
|
65
|
+
).toString();
|
|
66
|
+
}), u(c, "get", (e = h.MissingTranslationKey, ...t) => c.getTranslation(e, ...t));
|
|
67
|
+
function b(e) {
|
|
68
|
+
return (t) => {
|
|
69
|
+
t.key === "Enter" && e(t);
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
var k = Object.defineProperty, A = Object.getOwnPropertyDescriptor, p = (e, t, r, a) => {
|
|
73
|
+
for (var i = a > 1 ? void 0 : a ? A(t, r) : t, o = e.length - 1, l; o >= 0; o--)
|
|
74
|
+
(l = e[o]) && (i = (a ? l(t, r, i) : l(i)) || i);
|
|
75
|
+
return a && i && k(t, r, i), i;
|
|
76
|
+
};
|
|
77
|
+
function C(e = "") {
|
|
78
|
+
return location.href.replace(location.origin, "").startsWith(e);
|
|
79
|
+
}
|
|
80
|
+
let n = class extends y {
|
|
81
|
+
constructor() {
|
|
82
|
+
super(...arguments), this.capability = "", this.app = "", this.args = {}, this.navigate = () => {
|
|
83
|
+
history.pushState(this.args, "", this._href), window.dispatchEvent(new Event("popstate"));
|
|
84
|
+
}, this.clickHandler = (e) => {
|
|
85
|
+
this.href || this.download || (e.preventDefault(), this.navigate());
|
|
86
|
+
}, this.updateActive = () => {
|
|
87
|
+
this.active = C(this._href);
|
|
88
|
+
}, this._href = "", this.active = !1, this.computeHref = () => {
|
|
89
|
+
if (this.href)
|
|
90
|
+
return this._href = this.href;
|
|
91
|
+
if (!this.app)
|
|
92
|
+
throw new Error("The app property is required when creating a capability link!");
|
|
93
|
+
this._href = S(this.app, this.capability, this.args), this.updateActive();
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
connectedCallback() {
|
|
97
|
+
super.connectedCallback(), window.addEventListener("popstate", this.updateActive), this.computeHref();
|
|
98
|
+
}
|
|
99
|
+
disconnectedCallback() {
|
|
100
|
+
window.removeEventListener("popstate", this.updateActive), super.disconnectedCallback();
|
|
101
|
+
}
|
|
102
|
+
attributeChangedCallback(e, t, r) {
|
|
103
|
+
super.attributeChangedCallback(e, t, r), setTimeout(() => this.computeHref());
|
|
104
|
+
}
|
|
105
|
+
render() {
|
|
106
|
+
return v`<a
|
|
107
|
+
part="anchor"
|
|
108
|
+
target=${this.target}
|
|
109
|
+
rel=${this.rel}
|
|
110
|
+
download=${this.download}
|
|
111
|
+
.href=${this._href}
|
|
112
|
+
?active=${this.active}
|
|
113
|
+
@click=${this.clickHandler}
|
|
114
|
+
@keydown=${b(this.clickHandler)}
|
|
115
|
+
>
|
|
116
|
+
<slot></slot>
|
|
117
|
+
</a>`;
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
p([
|
|
121
|
+
s({ type: String, attribute: !0, reflect: !0 })
|
|
122
|
+
], n.prototype, "capability", 2);
|
|
123
|
+
p([
|
|
124
|
+
s({ type: String, attribute: !0, reflect: !0 })
|
|
125
|
+
], n.prototype, "app", 2);
|
|
126
|
+
p([
|
|
127
|
+
s({ type: Object, attribute: !0, reflect: !0 })
|
|
128
|
+
], n.prototype, "args", 2);
|
|
129
|
+
p([
|
|
130
|
+
s({ type: String, attribute: !0, reflect: !0 })
|
|
131
|
+
], n.prototype, "href", 2);
|
|
132
|
+
p([
|
|
133
|
+
s({ type: String })
|
|
134
|
+
], n.prototype, "target", 2);
|
|
135
|
+
p([
|
|
136
|
+
s({ type: String, attribute: !0, reflect: !0 })
|
|
137
|
+
], n.prototype, "rel", 2);
|
|
138
|
+
p([
|
|
139
|
+
s({ type: String, attribute: !0, reflect: !0 })
|
|
140
|
+
], n.prototype, "download", 2);
|
|
141
|
+
p([
|
|
142
|
+
s({ type: String, attribute: !1, reflect: !1 })
|
|
143
|
+
], n.prototype, "_href", 2);
|
|
144
|
+
p([
|
|
145
|
+
s({ type: Boolean, attribute: "active", reflect: !0 })
|
|
146
|
+
], n.prototype, "active", 2);
|
|
147
|
+
n = p([
|
|
148
|
+
d("alliance-link")
|
|
149
|
+
], n);
|
|
3
150
|
//# sourceMappingURL=alliance-link.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alliance-link.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
1
|
+
{"version":3,"file":"alliance-link.js","sources":["../../../internal/client-utilities/dist/index.js","../src/components/alliance-link/alliance-link.ts"],"sourcesContent":["var g = Object.defineProperty;\nvar v = (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) => (v(e, typeof t != \"symbol\" ? t + \"\" : t, r), r);\nvar N = /* @__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[e.LocalizationTemplateNotDefined = 1012] = \"LocalizationTemplateNotDefined\", e))(N || {}), A = /* @__PURE__ */ ((e) => (e[e.CurrentUserMissingProvider = 2e3] = \"CurrentUserMissingProvider\", e[e.CurrentUserGatewayNotStarted = 2001] = \"CurrentUserGatewayNotStarted\", e[e.CurrentUserMissingBackend = 2002] = \"CurrentUserMissingBackend\", e[e.CurrentUserMissingInDatabase = 2003] = \"CurrentUserMissingInDatabase\", e))(A || {});\nfunction m(e, t) {\n return Object.entries(t).reduce((r, [i, n]) => r.replaceAll(`{{${i}}}`, n), e);\n}\nconst S = {\n // framework\n 1e3: \"The runtime has already been initialized\",\n 1001: \"App name and/or app key is not defined on global scope\",\n 1002: \"No app controller registered for app '{{app}}'\",\n 1003: \"No capability '{{capability}}' enabled for app '{{app}}'\",\n 1004: \"No managed object provider registered for object '{{object}}'\",\n 1005: \"The current apps manifest is not defined on global scope\",\n 1006: \"Could not find the root element in the DOM\",\n 1007: \"Could not find view with id '{{id}}' on view controller for app '{{app}}'\",\n 1008: \"Cookie key '{{key}}' not present in manifest, cookie has not been set\",\n 1009: \"Cookies categorized as '{{category}}' are not allowed by the user, cookie '{{key}}' has not been set\",\n 1010: \"Storage key '{{key}}' not present in manifest, item has not been stored\",\n 1011: \"Storage categorized as '{{category}}' is not allowed by the user, item '{{key}}' has not been stored\",\n 1012: \"The translation template, referred by the key '{{key}}' is being used in app, but is not defined in the manifest.\",\n // utilities\n 2e3: \"No managed object provider registered for object 'currentUser'\",\n 2001: \"Could not access the gateway when querying 'currentUser'\",\n 2002: \"Could not access the required backend when querying 'currentUser'\",\n 2003: \"Could not locate the authenticated user in the Alliance database\"\n}, d = \"AllianceError\";\nclass I extends Error {\n constructor(t, r = {}) {\n const i = m(S[t], r), n = `https://github.com/telia-company/ace-alliance-sdk/wiki/error-codes#${t}`;\n super(i), this.code = t, this.name = d, this.stack = `[${t}] - ${i}\n` + n;\n }\n}\nfunction k(e) {\n return !!e.code && e.name === d;\n}\nfunction b(e) {\n const r = Object.entries(e).reduce((i, n) => {\n const [o, p] = n;\n return typeof p > \"u\" || (typeof p == \"object\" && p !== null ? i[o] = JSON.stringify(p) : i[o] = p), i;\n }, {});\n return Object.keys(r).length ? `?${new URLSearchParams(r)}` : \"\";\n}\nfunction D() {\n const e = l(), { href: t, search: r } = window.location;\n return t.replace(e, \"\").replace(r, \"\");\n}\nfunction C(e = \"\", t = \"\", r = {}) {\n const i = l().replace(location.origin, \"\"), n = b(r);\n return e ? t ? `${i}/${e}/${t}${n}` : `${i}/${e}${n}` : `${i}${n}`;\n}\nfunction W() {\n const e = D(), [t = \"\", r = \"\"] = e.split(\"/\").filter((i) => !!i);\n return {\n app: t,\n capability: r\n };\n}\nfunction P(e) {\n const { origin: t, pathname: r } = window.location;\n if (e === \"production\") {\n const [i] = r.split(\"/\").filter((n) => !!n);\n return globalThis.__ALLIANCE_RUNTIME_ROOT_URL = `${t}/${i}`;\n }\n return globalThis.__ALLIANCE_RUNTIME_ROOT_URL = t;\n}\nfunction l() {\n return globalThis.__ALLIANCE_RUNTIME_ROOT_URL;\n}\nvar s = /* @__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))(s || {});\nconst M = {\n 15: \"Done\",\n 22: \"No workspace name provided!\",\n 19: \"No app name provided!\",\n 0: \"File or directory '{0}' already exists!\",\n 21: \"Could not find any app entry file at '{0}'!\",\n 33: \"Unrecognized command(s) {0}!\",\n 34: \"Workspace was created at path '{0}'!\",\n 4: \"App was created at path '{0}'!\",\n 25: \"Server stopped.\",\n 11: \"Creates an Alliance Workspace in the current directory.\",\n 10: \"Creates an Alliance Application in the current directory or Alliance Workspace.\",\n 24: \"Starts a Alliance development server using the current directory package.json.\",\n 7: \"Builds an Alliance Application using Vite.\",\n 35: \"Enter the name of your workspace\",\n 28: \"Which server mode do you want to use?\",\n 6: \"Enter the name of your app\",\n 18: \"No translation key provided!\",\n 23: \"Operation cancelled.\",\n 30: `Press CTRL + C to stop the server.\n`,\n 32: \"Select preferred language\",\n 31: \"Select preferred framework template\",\n 13: \"The port that the dev server should use.\",\n 14: \"Whether the dev server and browser console should output more log information or not (false).\",\n 1: \"The port that the api gateway should use.\",\n 2: \"Which components to start. [server|server-proxy|server-gateway].\",\n 12: \"Whether the dev server should automatically open in your browser or not.\",\n 9: \"Whether the build should start watching and rebuild when files change or not.\",\n 5: \"The entry file for the app (./src/app).\",\n 17: \"The entry file for the app manifest (./src/manifest).\",\n 8: \"Which mode to use when building the app.\",\n 16: \"Failed to fetch package info from the NPM registry for package '${0}'!\",\n 20: \"Could not find app name in manifest.\",\n 3: \"The path to the app configuration file.\",\n 27: \"Server\",\n 29: \"Server with proxy\",\n 26: \"Server with gateway\"\n}, c = class c {\n};\na(c, \"getTranslations\", () => M), a(c, \"getTranslation\", (t, ...r) => {\n const n = c.getTranslations()[t];\n if (!n)\n throw new Error(`Could not find text with given key '${t}'.`);\n return r.reduce(\n (p, h, f) => p.toString().replace(`{${f}}`, h.toString()),\n n\n ).toString();\n}), a(c, \"get\", (t = s.MissingTranslationKey, ...r) => c.getTranslation(t, ...r));\nlet u = c;\nfunction R(e, t) {\n return O(Object.values(e), ({ name: r }) => ({\n label: r,\n value: r,\n selected: t === r\n }));\n}\nvar y = /* @__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))(y || {});\nfunction $(e, t) {\n return Object.values(e).find((i) => i.name === t);\n}\nfunction O(e, t, r = \"Choose...\") {\n return e.reduce(\n (i, n) => (i.push({\n disabled: !1,\n selected: !1,\n ...t(n)\n }), i),\n [\n {\n label: r,\n value: \"\",\n disabled: !0,\n selected: !0\n }\n ]\n );\n}\nfunction L(e) {\n return (t) => {\n t.key === \"Enter\" && e(t);\n };\n}\nfunction U(e, t = \"all\") {\n const { email: r, displayName: i } = e, n = i && i !== \"unknown\", o = !!r;\n switch (t) {\n case \"all\": {\n if (n && o)\n return `${i} (${r})`;\n if (n)\n return i;\n if (o)\n return r;\n }\n case \"single\": {\n if (n)\n return i;\n if (o)\n return r;\n }\n }\n return \"<UNKNOWN USER>\";\n}\nfunction j(...e) {\n return e.filter((t) => !!t).join(\" \");\n}\nfunction q(e) {\n return Object.entries(e).reduce(\n (t, [r, i]) => (typeof i != \"object\" && typeof i != \"function\" && (t[r] = i), t),\n {}\n );\n}\nexport {\n I as AllianceError,\n N as FrameworkErrorCodes,\n u as Texts,\n s as TranslationsKey,\n A as UtilitiesErrorCodes,\n y as VocaButtonVariant,\n j as classNames,\n C as createCapabilityPath,\n U as friendlyUserName,\n W as getCurrentLocationInfo,\n l as getRuntimeRootUrl,\n $ as getVocaIcon,\n k as isAllianceError,\n O as mapToVocaOptions,\n L as onEnter,\n q as props,\n P as setRuntimeRootUrl,\n R as vocaIconsToOptions\n};\n//# sourceMappingURL=index.js.map\n","import {\n SerializeableObject,\n createCapabilityPath,\n onEnter,\n} from '@telia-ace/alliance-internal-client-utilities';\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":["g","v","a","b","r","i","n","o","p","C","l","s","M","t","h","f","L","isOnCurrentPath","path","Link","LitElement","event","createCapabilityPath","_1","_2","_3","html","onEnter","__decorateClass","property","customElement"],"mappings":";AAAA,IAAIA,IAAI,OAAO,gBACXC,IAAI,CAAC,GAAG,GAAG,MAAM,KAAK,IAAID,EAAE,GAAG,GAAG,EAAE,YAAY,IAAI,cAAc,IAAI,UAAU,IAAI,OAAO,EAAC,CAAE,IAAI,EAAE,CAAC,IAAI,GACzGE,IAAI,CAAC,GAAG,GAAG,OAAOD,EAAE,GAAG,OAAO,KAAK,WAAW,IAAI,KAAK,GAAG,CAAC,GAAG;AAoClE,SAASE,EAAE,GAAG;AACZ,QAAMC,IAAI,OAAO,QAAQ,CAAC,EAAE,OAAO,CAACC,GAAGC,MAAM;AAC3C,UAAM,CAACC,GAAGC,CAAC,IAAIF;AACf,WAAO,OAAOE,IAAI,QAAQ,OAAOA,KAAK,YAAYA,MAAM,OAAOH,EAAEE,CAAC,IAAI,KAAK,UAAUC,CAAC,IAAIH,EAAEE,CAAC,IAAIC,IAAIH;AAAA,EACtG,GAAE,CAAE,CAAA;AACL,SAAO,OAAO,KAAKD,CAAC,EAAE,SAAS,IAAI,IAAI,gBAAgBA,CAAC,CAAC,KAAK;AAChE;AAKA,SAASK,EAAE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI;AACjC,QAAMJ,IAAIK,IAAI,QAAQ,SAAS,QAAQ,EAAE,GAAGJ,IAAIH,EAAE,CAAC;AACnD,SAAO,IAAI,IAAI,GAAGE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAGC,CAAC,KAAK,GAAGD,CAAC,IAAI,CAAC,GAAGC,CAAC,KAAK,GAAGD,CAAC,GAAGC,CAAC;AAClE;AAgBA,SAASI,IAAI;AACX,SAAO,WAAW;AACpB;AACA,IAAIC,IAAqB,kBAAC,OAAO,EAAE,EAAE,gBAAgB,CAAC,IAAI,iBAAiB,EAAE,EAAE,4BAA4B,CAAC,IAAI,6BAA6B,EAAE,EAAE,2BAA2B,CAAC,IAAI,4BAA4B,EAAE,EAAE,uBAAuB,CAAC,IAAI,wBAAwB,EAAE,EAAE,aAAa,CAAC,IAAI,cAAc,EAAE,EAAE,iCAAiC,CAAC,IAAI,kCAAkC,EAAE,EAAE,iBAAiB,CAAC,IAAI,kBAAkB,EAAE,EAAE,mBAAmB,CAAC,IAAI,oBAAoB,EAAE,EAAE,6BAA6B,CAAC,IAAI,8BAA8B,EAAE,EAAE,wBAAwB,CAAC,IAAI,yBAAyB,EAAE,EAAE,uBAAuB,EAAE,IAAI,wBAAwB,EAAE,EAAE,6BAA6B,EAAE,IAAI,8BAA8B,EAAE,EAAE,2BAA2B,EAAE,IAAI,4BAA4B,EAAE,EAAE,2BAA2B,EAAE,IAAI,4BAA4B,EAAE,EAAE,8BAA8B,EAAE,IAAI,+BAA+B,EAAE,EAAE,OAAO,EAAE,IAAI,QAAQ,EAAE,EAAE,2BAA2B,EAAE,IAAI,4BAA4B,EAAE,EAAE,sCAAsC,EAAE,IAAI,uCAAuC,EAAE,EAAE,wBAAwB,EAAE,IAAI,yBAAyB,EAAE,EAAE,YAAY,EAAE,IAAI,aAAa,EAAE,EAAE,iBAAiB,EAAE,IAAI,kBAAkB,EAAE,EAAE,qCAAqC,EAAE,IAAI,sCAAsC,EAAE,EAAE,kBAAkB,EAAE,IAAI,mBAAmB,EAAE,EAAE,qBAAqB,EAAE,IAAI,sBAAsB,EAAE,EAAE,mBAAmB,EAAE,IAAI,oBAAoB,EAAE,EAAE,gBAAgB,EAAE,IAAI,iBAAiB,EAAE,EAAE,oBAAoB,EAAE,IAAI,qBAAqB,EAAE,EAAE,aAAa,EAAE,IAAI,cAAc,EAAE,EAAE,oBAAoB,EAAE,IAAI,qBAAqB,EAAE,EAAE,kBAAkB,EAAE,IAAI,mBAAmB,EAAE,EAAE,yBAAyB,EAAE,IAAI,0BAA0B,EAAE,EAAE,2BAA2B,EAAE,IAAI,4BAA4B,EAAE,EAAE,0BAA0B,EAAE,IAAI,2BAA2B,EAAE,EAAE,sBAAsB,EAAE,IAAI,uBAAuB,EAAE,EAAE,mBAAmB,EAAE,IAAI,oBAAoB,EAAE,EAAE,uBAAuB,EAAE,IAAI,wBAAwB,IAAIA,KAAK,CAAE,CAAA;AAC1gE,MAAMC,IAAI;AAAA,EACR,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA;AAAA,EAEJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAAG,IAAI,MAAQ;AACf;AACAV,EAAE,GAAG,mBAAmB,MAAMU,CAAC,GAAGV,EAAE,GAAG,kBAAkB,CAACW,MAAMT,MAAM;AACpE,QAAME,IAAI,EAAE,gBAAiB,EAACO,CAAC;AAC/B,MAAI,CAACP;AACH,UAAM,IAAI,MAAM,uCAAuCO,CAAC,IAAI;AAC9D,SAAOT,EAAE;AAAA,IACP,CAACI,GAAGM,GAAGC,MAAMP,EAAE,SAAQ,EAAG,QAAQ,IAAIO,CAAC,KAAKD,EAAE,SAAQ,CAAE;AAAA,IACxDR;AAAA,EACD,EAAC,SAAQ;AACZ,CAAC,GAAGJ,EAAE,GAAG,OAAO,CAACW,IAAIF,EAAE,0BAA0BP,MAAM,EAAE,eAAeS,GAAG,GAAGT,CAAC,CAAC;AA8BhF,SAASY,EAAE,GAAG;AACZ,SAAO,CAAC,MAAM;AACZ,MAAE,QAAQ,WAAW,EAAE,CAAC;AAAA,EAC5B;AACA;;;;;;AClJA,SAASC,EAAgBC,IAAe,IAAI;AAEjC,SADa,SAAS,KAAK,QAAQ,SAAS,QAAQ,EAAE,EAC1C,WAAWA,CAAI;AACtC;AAGa,IAAAC,IAAN,cAAmBC,EAAW;AAAA,EAA9B,cAAA;AAAA,UAAA,GAAA,SAAA,GAEkB,KAAA,aAAA,IAGP,KAAA,MAAA,IAGd,KAAA,OAA4B,IAiB5B,KAAA,WAAW,MAAM;AACb,cAAQ,UAAU,KAAK,MAAM,IAAI,KAAK,KAAK,GAC3C,OAAO,cAAc,IAAI,MAAM,UAAU,CAAC;AAAA,IAAA,GAG9C,KAAA,eAAe,CAACC,MAAsB;AAC9B,MAAA,KAAK,QAAQ,KAAK,aAItBA,EAAM,eAAe,GAErB,KAAK,SAAS;AAAA,IAAA,GAGlB,KAAA,eAAe,MAAM;AACZ,WAAA,SAASJ,EAAgB,KAAK,KAAK;AAAA,IAAA,GA0B5C,KAAQ,QAAgB,IAGxB,KAAQ,SAAkB,IAE1B,KAAQ,cAAc,MAAM;AACxB,UAAI,KAAK;AACG,eAAA,KAAK,QAAQ,KAAK;AAG1B,UAAA,CAAC,KAAK;AACA,cAAA,IAAI,MAAM,+DAA+D;AAEnF,WAAK,QAAQK,EAAqB,KAAK,KAAK,KAAK,YAAY,KAAK,IAAI,GACtE,KAAK,aAAa;AAAA,IAAA;AAAA,EACtB;AAAA,EAtCA,oBAAoB;AAChB,UAAM,kBAAkB,GACjB,OAAA,iBAAiB,YAAY,KAAK,YAAY,GACrD,KAAK,YAAY;AAAA,EACrB;AAAA,EAEA,uBAAuB;AACZ,WAAA,oBAAoB,YAAY,KAAK,YAAY,GACxD,MAAM,qBAAqB;AAAA,EAC/B;AAAA,EAEA,yBAAyBC,GAAYC,GAAmBC,GAAmB;AACjE,UAAA,yBAAyBF,GAAIC,GAAIC,CAAE,GAI9B,WAAA,MAAM,KAAK,YAAA,CAAa;AAAA,EACvC;AAAA,EAuBA,SAAS;AACE,WAAAC;AAAAA;AAAAA,qBAEM,KAAK,MAAM;AAAA,kBACd,KAAK,GAAG;AAAA,uBACH,KAAK,QAAQ;AAAA,oBAChB,KAAK,KAAK;AAAA,sBACR,KAAK,MAAM;AAAA,qBACZ,KAAK,YAAY;AAAA,uBACfC,EAAQ,KAAK,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA,EAI7C;AACJ;AAhGIC,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,WAAW,IAAM,SAAS,IAAM;AAAA,GADjDV,EAET,WAAA,cAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,WAAW,IAAM,SAAS,IAAM;AAAA,GAJjDV,EAKT,WAAA,OAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,WAAW,IAAM,SAAS,IAAM;AAAA,GAPjDV,EAQT,WAAA,QAAA,CAAA;AAMAS,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,WAAW,IAAM,SAAS,IAAM;AAAA,GAbjDV,EAcT,WAAA,QAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ;AAAA,GAhBjBV,EAiBT,WAAA,UAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,WAAW,IAAM,SAAS,IAAM;AAAA,GAnBjDV,EAoBT,WAAA,OAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,WAAW,IAAM,SAAS,IAAM;AAAA,GAtBjDV,EAuBT,WAAA,YAAA,CAAA;AA4CQS,EAAA;AAAA,EADPC,EAAS,EAAE,MAAM,QAAQ,WAAW,IAAO,SAAS,IAAO;AAAA,GAlEnDV,EAmED,WAAA,SAAA,CAAA;AAGAS,EAAA;AAAA,EADPC,EAAS,EAAE,MAAM,SAAS,WAAW,UAAU,SAAS,IAAM;AAAA,GArEtDV,EAsED,WAAA,UAAA,CAAA;AAtECA,IAANS,EAAA;AAAA,EADNE,EAAc,eAAe;AAAA,GACjBX,CAAA;"}
|
|
@@ -1,12 +1,237 @@
|
|
|
1
|
-
import "../chunks/
|
|
2
|
-
import "../chunks/
|
|
3
|
-
import "../chunks/
|
|
4
|
-
import "../chunks/telia-
|
|
1
|
+
import { i as y, r as t, n as p, s as $, x as o, e as f } from "../chunks/query-assigned-elements-ac91685f.js";
|
|
2
|
+
import { t as m, c as v } from "../chunks/repeat-34adae9e.js";
|
|
3
|
+
import "../chunks/telia-button-c9ba09a9.js";
|
|
4
|
+
import "../chunks/telia-heading-38ae44ae.js";
|
|
5
|
+
import "../chunks/telia-icon-d0e7c715.js";
|
|
6
|
+
import { l as b, d as c, b as h, a as w, c as k, s as e } from "../chunks/index-514c4fef.js";
|
|
7
|
+
import { c as x } from "../chunks/close-7d423291.js";
|
|
5
8
|
import "../chunks/index-eef143db.js";
|
|
6
|
-
import "../chunks/telia-icon2-d0e7c715.js";
|
|
7
|
-
import "../chunks/getSvgContent-f2389ce0.js";
|
|
8
9
|
import "../chunks/telia-vst2-dfb33a56.js";
|
|
9
|
-
import "../chunks/
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
import "../chunks/getSvgContent-f2389ce0.js";
|
|
11
|
+
var S = Object.defineProperty, C = Object.getOwnPropertyDescriptor, n = (i, a, l, d) => {
|
|
12
|
+
for (var r = d > 1 ? void 0 : d ? C(a, l) : a, u = i.length - 1, g; u >= 0; u--)
|
|
13
|
+
(g = i[u]) && (r = (d ? g(a, l, r) : g(r)) || r);
|
|
14
|
+
return d && r && S(a, l, r), r;
|
|
15
|
+
};
|
|
16
|
+
let s = class extends $ {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments), this.header = "", this.actions = [], this.required = !1, this.scrollMode = "outside", this.hasSubHeader = !1, this.containStyling = () => this.contain ? o`<style>
|
|
19
|
+
:host {
|
|
20
|
+
height: 500px;
|
|
21
|
+
position: static;
|
|
22
|
+
}
|
|
23
|
+
.backdrop {
|
|
24
|
+
position: absolute;
|
|
25
|
+
}
|
|
26
|
+
</style>` : o`<style>
|
|
27
|
+
:host {
|
|
28
|
+
position: fixed;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.backdrop {
|
|
32
|
+
position: absolute;
|
|
33
|
+
}
|
|
34
|
+
</style>`, this.scrollStyling = () => this.scrollMode === "inside" ? o`<style>
|
|
35
|
+
.container {
|
|
36
|
+
align-items: center;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
dialog {
|
|
40
|
+
max-height: 80%;
|
|
41
|
+
display: flex;
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.body {
|
|
46
|
+
flex: 1;
|
|
47
|
+
padding: ${t(e.spacing24)} ${t(e.spacing32)};
|
|
48
|
+
height: 80%;
|
|
49
|
+
overflow-x: hidden;
|
|
50
|
+
overflow-y: auto;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.footer {
|
|
54
|
+
border-top: ${t(h.widthXs)} solid ${t(c.gray200)};
|
|
55
|
+
padding: ${t(e.spacing24)} ${t(e.spacing32)};
|
|
56
|
+
}
|
|
57
|
+
</style>` : o`<style>
|
|
58
|
+
.container {
|
|
59
|
+
overflow-x: hidden;
|
|
60
|
+
overflow-y: overlay;
|
|
61
|
+
align-items: flex-start;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
dialog {
|
|
65
|
+
display: block;
|
|
66
|
+
margin: ${t(e.spacing128)} ${t(e.spacing24)};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.footer,
|
|
70
|
+
.body {
|
|
71
|
+
margin: ${t(e.spacing24)} 0;
|
|
72
|
+
padding: 0 ${t(e.spacing32)};
|
|
73
|
+
}
|
|
74
|
+
</style>`, this.subHeaderStyling = () => {
|
|
75
|
+
if (this.hasSubHeader)
|
|
76
|
+
return o`<style>
|
|
77
|
+
div.sub-header {
|
|
78
|
+
display: block;
|
|
79
|
+
}
|
|
80
|
+
</style>`;
|
|
81
|
+
}, this.closeButton = () => this.required ? "" : o`<telia-button
|
|
82
|
+
size="sm"
|
|
83
|
+
variant="text"
|
|
84
|
+
data-test-id="close"
|
|
85
|
+
@click=${this.onCloseClick}
|
|
86
|
+
><telia-icon size="md" svg="${x.svg}"
|
|
87
|
+
/></telia-button>`, this.footer = () => this.actions.length ? o`
|
|
88
|
+
<div class="footer">
|
|
89
|
+
${v(
|
|
90
|
+
this.actions,
|
|
91
|
+
({ disabled: i, variant: a, action: l, label: d }) => o`
|
|
92
|
+
<telia-button
|
|
93
|
+
disabled="${i ? "true" : "false"}"
|
|
94
|
+
variant="${a || "primary"}"
|
|
95
|
+
size="sm"
|
|
96
|
+
@click=${() => this.action(l)}
|
|
97
|
+
data-test-id="${l}-action"
|
|
98
|
+
>
|
|
99
|
+
${d}
|
|
100
|
+
</telia-button>
|
|
101
|
+
`
|
|
102
|
+
)}
|
|
103
|
+
</div>
|
|
104
|
+
` : "", this.onBackdropClick = () => {
|
|
105
|
+
if (!this.required)
|
|
106
|
+
return this.action("close");
|
|
107
|
+
}, this.onCloseClick = () => {
|
|
108
|
+
if (!this.required)
|
|
109
|
+
return this.action("close");
|
|
110
|
+
}, this.onKeyDown = (i) => {
|
|
111
|
+
i.defaultPrevented || !this.required && i.key === "Escape" && this.action("close");
|
|
112
|
+
}, this.onSubHeaderSlotChange = () => {
|
|
113
|
+
this.hasSubHeader = !0;
|
|
114
|
+
}, this.action = (i) => {
|
|
115
|
+
const a = new CustomEvent("action", {
|
|
116
|
+
bubbles: !0,
|
|
117
|
+
composed: !0,
|
|
118
|
+
detail: { action: i },
|
|
119
|
+
cancelable: !0
|
|
120
|
+
});
|
|
121
|
+
return this.dispatchEvent(a);
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
connectedCallback() {
|
|
125
|
+
super.connectedCallback(), window.addEventListener("keydown", this.onKeyDown);
|
|
126
|
+
}
|
|
127
|
+
disconnectedCallback() {
|
|
128
|
+
window.removeEventListener("keydown", this.onKeyDown), super.disconnectedCallback();
|
|
129
|
+
}
|
|
130
|
+
render() {
|
|
131
|
+
return o`
|
|
132
|
+
${this.containStyling()} ${this.scrollStyling()} ${this.subHeaderStyling()}
|
|
133
|
+
<div class="backdrop" @click=${this.onBackdropClick}></div>
|
|
134
|
+
<div class="container">
|
|
135
|
+
<dialog open>
|
|
136
|
+
<div class="header">
|
|
137
|
+
<telia-heading tag="h3" variant="title-100">${this.header}</telia-heading>
|
|
138
|
+
${this.closeButton()}
|
|
139
|
+
</div>
|
|
140
|
+
<div class="sub-header">
|
|
141
|
+
<slot name="sub-header" @slotchange=${this.onSubHeaderSlotChange}></slot>
|
|
142
|
+
</div>
|
|
143
|
+
<div class="body">
|
|
144
|
+
<slot></slot>
|
|
145
|
+
</div>
|
|
146
|
+
${this.footer()}
|
|
147
|
+
</dialog>
|
|
148
|
+
</div>
|
|
149
|
+
`;
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
s.styles = y`
|
|
153
|
+
:host {
|
|
154
|
+
display: block;
|
|
155
|
+
inset: 0;
|
|
156
|
+
z-index: ${t(parseInt(b.modal) - 2)};
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.backdrop {
|
|
160
|
+
inset: 0;
|
|
161
|
+
z-index: ${t(parseInt(b.modal) - 1)};
|
|
162
|
+
background-color: ${t(c.black)};
|
|
163
|
+
opacity: 0.3;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.container {
|
|
167
|
+
margin: 0 auto;
|
|
168
|
+
display: flex;
|
|
169
|
+
justify-content: center;
|
|
170
|
+
height: 100%;
|
|
171
|
+
width: 100%;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
dialog {
|
|
175
|
+
background-color: ${t(c.white)};
|
|
176
|
+
border-radius: ${t(h.radiusLg)};
|
|
177
|
+
box-shadow: ${t(w.md)};
|
|
178
|
+
z-index: ${t(parseInt(b.modal))};
|
|
179
|
+
max-width: ${t(k.breakpointLg)};
|
|
180
|
+
position: static;
|
|
181
|
+
padding: 0;
|
|
182
|
+
border: none;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.header {
|
|
186
|
+
position: relative;
|
|
187
|
+
display: flex;
|
|
188
|
+
align-items: center;
|
|
189
|
+
padding: ${t(e.spacing24)} ${t(e.spacing32)};
|
|
190
|
+
border-bottom: ${t(h.widthXs)} solid ${t(c.gray200)};
|
|
191
|
+
min-height: 40px;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.header telia-button {
|
|
195
|
+
position: absolute;
|
|
196
|
+
top: ${t(e.spacing20)};
|
|
197
|
+
right: ${t(e.spacing24)};
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
.sub-header {
|
|
201
|
+
padding: ${t(e.spacing24)} ${t(e.spacing32)};
|
|
202
|
+
border-bottom: ${t(h.widthXs)} solid ${t(c.gray200)};
|
|
203
|
+
display: none;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
.body {
|
|
207
|
+
min-width: calc(${t(e.spacing128)} * 2);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
.footer {
|
|
211
|
+
display: flex;
|
|
212
|
+
justify-content: flex-end;
|
|
213
|
+
gap: ${t(e.spacing16)};
|
|
214
|
+
}
|
|
215
|
+
`;
|
|
216
|
+
n([
|
|
217
|
+
p({ type: String, attribute: "header" })
|
|
218
|
+
], s.prototype, "header", 2);
|
|
219
|
+
n([
|
|
220
|
+
p({ type: Array })
|
|
221
|
+
], s.prototype, "actions", 2);
|
|
222
|
+
n([
|
|
223
|
+
p({ type: Boolean, attribute: "required" })
|
|
224
|
+
], s.prototype, "required", 2);
|
|
225
|
+
n([
|
|
226
|
+
p({ type: String, attribute: "scroll-mode" })
|
|
227
|
+
], s.prototype, "scrollMode", 2);
|
|
228
|
+
n([
|
|
229
|
+
m()
|
|
230
|
+
], s.prototype, "hasSubHeader", 2);
|
|
231
|
+
n([
|
|
232
|
+
p({ type: Boolean, attribute: "contain" })
|
|
233
|
+
], s.prototype, "contain", 2);
|
|
234
|
+
s = n([
|
|
235
|
+
f("alliance-modal")
|
|
236
|
+
], s);
|
|
12
237
|
//# sourceMappingURL=alliance-modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alliance-modal.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"alliance-modal.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\n size=\"sm\"\n variant=\"text\"\n data-test-id=\"close\"\n @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 ({ disabled, variant, action, label }) => html`\n <telia-button\n disabled=\"${disabled ? 'true' : 'false'}\"\n variant=\"${variant || 'primary'}\"\n size=\"sm\"\n @click=${() => this.action(action)}\n data-test-id=\"${action}-action\"\n >\n ${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","disabled","variant","action","label","event","css","layers","shadows","breakpoints","__decorateClass","property","state","customElement"],"mappings":";;;;;;;;;;;;;;;AA4Ba,IAAAA,IAAN,cAAoBC,EAAW;AAAA,EAA/B,cAAA;AAAA,UAAA,GAAA,SAAA,GAmEc,KAAA,SAAA,IAGjB,KAAA,UAAoB,IAGA,KAAA,WAAA,IAGe,KAAA,aAAA,WAGX,KAAA,eAAA,IAOxB,KAAA,iBAAiB,MACR,KAAK,UAYHC;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,oBAXIA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,uBAsBf,KAAA,gBAAgB,MACR,KAAK,eAAe,WACbA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,+BAaYC,EAAUC,EAAQ,SAAS,CAAC,IAAID,EAAUC,EAAQ,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kCAOzDD,EAAUE,EAAQ,OAAO,CAAC,UAAUF,EAAUG,EAAO,OAAO,CAAC;AAAA,+BAChEH,EAAUC,EAAQ,SAAS,CAAC,IAAID,EAAUC,EAAQ,SAAS,CAAC;AAAA;AAAA,wBAK5EF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,0BASWC,EAAUC,EAAQ,UAAU,CAAC,IAAID,EAAUC,EAAQ,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,0BAK7DD,EAAUC,EAAQ,SAAS,CAAC;AAAA,6BACzBD,EAAUC,EAAQ,SAAS,CAAC;AAAA;AAAA,mBAKrD,KAAA,mBAAmB,MAAM;AACrB,UAAI,KAAK;AACE,eAAAF;AAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAKX,GAGJ,KAAA,cAAc,MACN,KAAK,WACE,KAGJA;AAAAA;AAAAA;AAAAA;AAAAA,qBAIM,KAAK,YAAY;AAAA,0CACIK,EAAM,GAAG;AAAA,4BAI/C,KAAA,SAAS,MACA,KAAK,QAAQ,SAIXL;AAAAA;AAAAA,kBAEGM;AAAAA,MACE,KAAK;AAAA,MACL,CAAC,EAAE,UAAAC,GAAU,SAAAC,GAAS,QAAAC,GAAQ,OAAAC,QAAYV;AAAAA;AAAAA,wCAEtBO,IAAW,SAAS,OAAO;AAAA,uCAC5BC,KAAW,SAAS;AAAA;AAAA,qCAEtB,MAAM,KAAK,OAAOC,CAAM,CAAC;AAAA,4CAClBA,CAAM;AAAA;AAAA,8BAEpBC,CAAK;AAAA;AAAA;AAAA,IAAA,CAGlB;AAAA;AAAA,YAlBE,IAuBf,KAAA,kBAAkB,MAAM;AACpB,UAAI,MAAK;AAIF,eAAA,KAAK,OAAO,OAAO;AAAA,IAAA,GAG9B,KAAA,eAAe,MAAM;AACjB,UAAI,MAAK;AAIF,eAAA,KAAK,OAAO,OAAO;AAAA,IAAA,GAG9B,KAAA,YAAY,CAACC,MAAyB;AAClC,MAAIA,EAAM,oBAIN,CAAC,KAAK,YAAYA,EAAM,QAAQ,YAChC,KAAK,OAAO,OAAO;AAAA,IACvB,GAKJ,KAAA,wBAAwB,MAAM;AAC1B,WAAK,eAAe;AAAA,IAAA,GAaxB,KAAA,SAAS,CAACF,MAAmB;AACnB,YAAAE,IAAqB,IAAI,YAAY,UAAU;AAAA,QACjD,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ,EAAE,QAAAF,EAAO;AAAA,QACjB,YAAY;AAAA,MAAA,CACf;AACM,aAAA,KAAK,cAAcE,CAAK;AAAA,IAAA;AAAA,EACnC;AAAA,EAlBA,oBAAoB;AAChB,UAAM,kBAAkB,GACjB,OAAA,iBAAiB,WAAW,KAAK,SAAS;AAAA,EACrD;AAAA,EAEA,uBAAuB;AACZ,WAAA,oBAAoB,WAAW,KAAK,SAAS,GACpD,MAAM,qBAAqB;AAAA,EAC/B;AAAA,EAYA,SAAS;AACE,WAAAX;AAAAA,cACD,KAAK,eAAgB,CAAA,IAAI,KAAK,eAAe,IAAI,KAAK,kBAAkB;AAAA,2CAC3C,KAAK,eAAe;AAAA;AAAA;AAAA;AAAA,sEAIO,KAAK,MAAM;AAAA,0BACvD,KAAK,aAAa;AAAA;AAAA;AAAA,8DAGkB,KAAK,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA,sBAKlE,KAAK,QAAQ;AAAA;AAAA;AAAA;AAAA,EAI/B;AACJ;AAxRaF,EACF,SAASc;AAAAA;AAAAA;AAAAA;AAAAA,uBAIGX,EAAU,SAASY,EAAO,KAAK,IAAI,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,uBAKrCZ,EAAU,SAASY,EAAO,KAAK,IAAI,CAAC,CAAC;AAAA,gCAC5BZ,EAAUG,EAAO,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAavBH,EAAUG,EAAO,KAAK,CAAC;AAAA,6BAC1BH,EAAUE,EAAQ,QAAQ,CAAC;AAAA,0BAC9BF,EAAUa,EAAQ,EAAE,CAAC;AAAA,uBACxBb,EAAU,SAASY,EAAO,KAAK,CAAC,CAAC;AAAA,yBAC/BZ,EAAUc,EAAY,YAAY,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAUrCd,EAAUC,EAAQ,SAAS,CAAC,IAAID,EAAUC,EAAQ,SAAS,CAAC;AAAA,6BACtDD,EAAUE,EAAQ,OAAO,CAAC,UAAUF,EAAUG,EAAO,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAMvEH,EAAUC,EAAQ,SAAS,CAAC;AAAA,qBAC1BD,EAAUC,EAAQ,SAAS,CAAC;AAAA;AAAA;AAAA;AAAA,uBAI1BD,EAAUC,EAAQ,SAAS,CAAC,IAAID,EAAUC,EAAQ,SAAS,CAAC;AAAA,6BACtDD,EAAUE,EAAQ,OAAO,CAAC,UAAUF,EAAUG,EAAO,OAAO,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,8BAK5DH,EAAUC,EAAQ,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAMxCD,EAAUC,EAAQ,SAAS,CAAC;AAAA;AAAA;AAK3Cc,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,WAAW,UAAU;AAAA,GAlEtCnB,EAmET,WAAA,UAAA,CAAA;AAGAkB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAO;AAAA,GArEhBnB,EAsET,WAAA,WAAA,CAAA;AAGAkB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,WAAW,YAAY;AAAA,GAxEzCnB,EAyET,WAAA,YAAA,CAAA;AAGAkB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,QAAQ,WAAW,eAAe;AAAA,GA3E3CnB,EA4ET,WAAA,cAAA,CAAA;AAGAkB,EAAA;AAAA,EADCE,EAAM;AAAA,GA9EEpB,EA+ET,WAAA,gBAAA,CAAA;AAKAkB,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,WAAW,WAAW;AAAA,GAnFxCnB,EAoFT,WAAA,WAAA,CAAA;AApFSA,IAANkB,EAAA;AAAA,EADNG,EAAc,gBAAgB;AAAA,GAClBrB,CAAA;"}
|