@telia-ace/widget-runtime-flamingo 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/component-platform-factory.d.ts +13 -0
  2. package/context/children.context.d.ts +4 -0
  3. package/context/component-node.context.d.ts +4 -0
  4. package/context/container.context.d.ts +4 -0
  5. package/context/context.context.d.ts +3 -0
  6. package/context/layout.context.d.ts +3 -0
  7. package/context/properties.context.d.ts +3 -0
  8. package/controllers/actions-controller.d.ts +14 -0
  9. package/core/create-lit-component.d.ts +11 -0
  10. package/core/get-render-state.d.ts +4 -0
  11. package/data-provider/data-provider.d.ts +24 -0
  12. package/data-provider/providers/guide-provider.plugin.d.ts +2 -0
  13. package/index-4be3f206.mjs +3409 -0
  14. package/index-5087564d.mjs +335 -0
  15. package/index-6dd00f59.js +1 -0
  16. package/index-e07bd0fb.js +206 -0
  17. package/{src/index.ts → index.d.ts} +1 -13
  18. package/index.js +1 -0
  19. package/index.mjs +17 -0
  20. package/mixins/widget-component.mixin.d.ts +24 -0
  21. package/package.json +1 -1
  22. package/render-049911af.mjs +458 -0
  23. package/render-f343a6c5.js +120 -0
  24. package/services.d.ts +5 -0
  25. package/ui/area.d.ts +9 -0
  26. package/ui/branding.d.ts +1 -0
  27. package/ui/get-css-props.d.ts +5 -0
  28. package/ui/get-layout-props.d.ts +9 -0
  29. package/ui/html-element-handlers.d.ts +14 -0
  30. package/ui/prepare-dom.d.ts +21 -0
  31. package/ui/render.d.ts +3 -0
  32. package/ui/trigger-component.d.ts +20 -0
  33. package/ui/view-outlet.d.ts +36 -0
  34. package/ui/wrapper.d.ts +21 -0
  35. package/widget.d.ts +54 -0
  36. package/.eslintrc.json +0 -30
  37. package/README.md +0 -11
  38. package/project.json +0 -48
  39. package/src/component-platform-factory.ts +0 -163
  40. package/src/context/children.context.ts +0 -4
  41. package/src/context/component-node.context.ts +0 -6
  42. package/src/context/container.context.ts +0 -6
  43. package/src/context/context.context.ts +0 -3
  44. package/src/context/layout.context.ts +0 -3
  45. package/src/context/properties.context.ts +0 -3
  46. package/src/controllers/actions-controller.ts +0 -55
  47. package/src/core/create-lit-component.ts +0 -31
  48. package/src/core/get-render-state.ts +0 -25
  49. package/src/data-provider/data-provider.ts +0 -87
  50. package/src/data-provider/providers/guide-provider.plugin.ts +0 -64
  51. package/src/declaration.d.ts +0 -2
  52. package/src/mixins/widget-component.mixin.ts +0 -231
  53. package/src/services.ts +0 -27
  54. package/src/ui/area.ts +0 -97
  55. package/src/ui/branding.ts +0 -25
  56. package/src/ui/get-css-props.ts +0 -23
  57. package/src/ui/get-layout-props.ts +0 -41
  58. package/src/ui/html-element-handlers.ts +0 -140
  59. package/src/ui/index.ts +0 -6
  60. package/src/ui/prepare-dom.ts +0 -164
  61. package/src/ui/render.ts +0 -19
  62. package/src/ui/trigger-component.ts +0 -200
  63. package/src/ui/view-outlet.ts +0 -172
  64. package/src/ui/wrapper.ts +0 -247
  65. package/src/vite.env.d.ts +0 -1
  66. package/src/widget.ts +0 -748
  67. package/tsconfig.json +0 -23
  68. package/tsconfig.lib.json +0 -10
  69. package/tsconfig.spec.json +0 -19
  70. package/vite.config.ts +0 -56
@@ -0,0 +1,458 @@
1
+ import { i as L, t as D, e as A, A as y, s as P, a as Y, c as M, p as T, m as f, x as v, b as R, n as j, d as u, T as w, W as z, f as E, g as N } from "./index-4be3f206.mjs";
2
+ /**
3
+ * @license
4
+ * Copyright 2017 Google LLC
5
+ * SPDX-License-Identifier: BSD-3-Clause
6
+ */
7
+ const S = (s) => (t) => typeof t == "function" ? ((e, i) => (customElements.define(e, i), i))(s, t) : ((e, i) => {
8
+ const { kind: n, elements: r } = i;
9
+ return { kind: n, elements: r, finisher(o) {
10
+ customElements.define(e, o);
11
+ } };
12
+ })(s, t);
13
+ /**
14
+ * @license
15
+ * Copyright 2020 Google LLC
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */
18
+ const W = (s) => s === null || typeof s != "object" && typeof s != "function", q = (s) => s.strings === void 0;
19
+ /**
20
+ * @license
21
+ * Copyright 2017 Google LLC
22
+ * SPDX-License-Identifier: BSD-3-Clause
23
+ */
24
+ const p = (s, t) => {
25
+ var e, i;
26
+ const n = s._$AN;
27
+ if (n === void 0)
28
+ return !1;
29
+ for (const r of n)
30
+ (i = (e = r)._$AO) === null || i === void 0 || i.call(e, t, !1), p(r, t);
31
+ return !0;
32
+ }, m = (s) => {
33
+ let t, e;
34
+ do {
35
+ if ((t = s._$AM) === void 0)
36
+ break;
37
+ e = t._$AN, e.delete(s), s = t;
38
+ } while ((e == null ? void 0 : e.size) === 0);
39
+ }, k = (s) => {
40
+ for (let t; t = s._$AM; s = t) {
41
+ let e = t._$AN;
42
+ if (e === void 0)
43
+ t._$AN = e = /* @__PURE__ */ new Set();
44
+ else if (e.has(s))
45
+ break;
46
+ e.add(s), K(t);
47
+ }
48
+ };
49
+ function H(s) {
50
+ this._$AN !== void 0 ? (m(this), this._$AM = s, k(this)) : this._$AM = s;
51
+ }
52
+ function I(s, t = !1, e = 0) {
53
+ const i = this._$AH, n = this._$AN;
54
+ if (n !== void 0 && n.size !== 0)
55
+ if (t)
56
+ if (Array.isArray(i))
57
+ for (let r = e; r < i.length; r++)
58
+ p(i[r], !1), m(i[r]);
59
+ else
60
+ i != null && (p(i, !1), m(i));
61
+ else
62
+ p(this, s);
63
+ }
64
+ const K = (s) => {
65
+ var t, e, i, n;
66
+ s.type == D.CHILD && ((t = (i = s)._$AP) !== null && t !== void 0 || (i._$AP = I), (e = (n = s)._$AQ) !== null && e !== void 0 || (n._$AQ = H));
67
+ };
68
+ let G = class extends L {
69
+ constructor() {
70
+ super(...arguments), this._$AN = void 0;
71
+ }
72
+ _$AT(t, e, i) {
73
+ super._$AT(t, e, i), k(this), this.isConnected = t._$AU;
74
+ }
75
+ _$AO(t, e = !0) {
76
+ var i, n;
77
+ t !== this.isConnected && (this.isConnected = t, t ? (i = this.reconnected) === null || i === void 0 || i.call(this) : (n = this.disconnected) === null || n === void 0 || n.call(this)), e && (p(this, t), m(this));
78
+ }
79
+ setValue(t) {
80
+ if (q(this._$Ct))
81
+ this._$Ct._$AI(t, this);
82
+ else {
83
+ const e = [...this._$Ct._$AH];
84
+ e[this._$Ci] = t, this._$Ct._$AI(e, this, 0);
85
+ }
86
+ }
87
+ disconnected() {
88
+ }
89
+ reconnected() {
90
+ }
91
+ };
92
+ /**
93
+ * @license
94
+ * Copyright 2020 Google LLC
95
+ * SPDX-License-Identifier: BSD-3-Clause
96
+ */
97
+ const Z = () => new U();
98
+ class U {
99
+ }
100
+ const $ = /* @__PURE__ */ new WeakMap(), V = A(class extends G {
101
+ render(s) {
102
+ return y;
103
+ }
104
+ update(s, [t]) {
105
+ var e;
106
+ const i = t !== this.G;
107
+ return i && this.G !== void 0 && this.ot(void 0), (i || this.rt !== this.lt) && (this.G = t, this.dt = (e = s.options) === null || e === void 0 ? void 0 : e.host, this.ot(this.lt = s.element)), y;
108
+ }
109
+ ot(s) {
110
+ var t;
111
+ if (typeof this.G == "function") {
112
+ const e = (t = this.dt) !== null && t !== void 0 ? t : globalThis;
113
+ let i = $.get(e);
114
+ i === void 0 && (i = /* @__PURE__ */ new WeakMap(), $.set(e, i)), i.get(this.G) !== void 0 && this.G.call(this.dt, void 0), i.set(this.G, s), s !== void 0 && this.G.call(this.dt, s);
115
+ } else
116
+ this.G.value = s;
117
+ }
118
+ get rt() {
119
+ var s, t, e;
120
+ return typeof this.G == "function" ? (t = $.get((s = this.dt) !== null && s !== void 0 ? s : globalThis)) === null || t === void 0 ? void 0 : t.get(this.G) : (e = this.G) === null || e === void 0 ? void 0 : e.value;
121
+ }
122
+ disconnected() {
123
+ this.rt === this.lt && this.ot(void 0);
124
+ }
125
+ reconnected() {
126
+ this.ot(this.lt);
127
+ }
128
+ }), Q = async (s) => await s.get("$widget").invoke("renderState"), B = async (s, t) => {
129
+ const e = s.get("$widget");
130
+ return (await s.getAsync(
131
+ "actionResolver"
132
+ )).subscribe(e.name, t);
133
+ }, F = (s, t, e = !1) => {
134
+ const i = s.reduce(
135
+ (o, { breakpoints: a = [], values: l }) => a.length ? t.some((g) => a.includes(g)) ? { ...o, ...l } : o : { ...o, ...l },
136
+ {}
137
+ ), n = {}, r = i.type;
138
+ return n.height = i.height || "", n.width = i.width || "", i.type === "floating" || i.type === "inline" && e && (n.height = "calc(100vh - 120px)"), { type: r, styles: n };
139
+ };
140
+ var J = Object.defineProperty, X = Object.getOwnPropertyDescriptor, h = (s, t, e, i) => {
141
+ for (var n = i > 1 ? void 0 : i ? X(t, e) : t, r = s.length - 1, o; r >= 0; r--)
142
+ (o = s[r]) && (n = (i ? o(t, e, n) : o(n)) || n);
143
+ return i && n && J(t, e, n), n;
144
+ };
145
+ let c = class extends P {
146
+ constructor() {
147
+ super(), this._provider = new Y(this, M, void 0), this.wrapperRef = Z(), this.breakpoints = [], this.breakpointsSet = !1;
148
+ }
149
+ connectedCallback() {
150
+ super.connectedCallback(), this._provider.setValue(this.container), this.container && (Q(this.container).then((s) => {
151
+ this.renderState = s;
152
+ }), B(this.container, (s, t) => {
153
+ switch (t) {
154
+ case "close":
155
+ case "open":
156
+ this.renderState = t === "open" ? f.open : f.closed;
157
+ break;
158
+ case "hide":
159
+ this.renderState = f.hidden;
160
+ }
161
+ }).then((s) => {
162
+ this._unsubscribeRenderState = s;
163
+ }), T.getInstance(this.container).then(
164
+ (s) => {
165
+ this.componentPlatform = s, this.breakpoints = this.componentPlatform.breakpoints, this.breakpointsSet = !0, this._unsubscribePropChange = this.componentPlatform.events.subscribe(
166
+ "components:properties-changed",
167
+ (t, e) => {
168
+ var i, n;
169
+ ((i = e == null ? void 0 : e.node) == null ? void 0 : i.type) === "root" && (this.breakpoints = (n = this.componentPlatform) != null && n.breakpoints ? [...this.componentPlatform.breakpoints] : []);
170
+ }
171
+ ), this.entry = this.componentPlatform.nodes.root.children.default[0].id || void 0;
172
+ }
173
+ ));
174
+ }
175
+ disconnectedCallback() {
176
+ super.disconnectedCallback(), this._unsubscribeRenderState && this._unsubscribeRenderState(), this._unsubscribePropChange && this._unsubscribePropChange();
177
+ }
178
+ render() {
179
+ var t, e, i, n;
180
+ let s;
181
+ if (!this.entry || !this.breakpointsSet)
182
+ return y;
183
+ if (this.container && this.renderState) {
184
+ const [r] = this.container.get("widgetDOMElements");
185
+ r && r.setAttribute("data-state", this.renderState);
186
+ }
187
+ if (this.container) {
188
+ const r = this.container.get("$settings");
189
+ r != null && r.layout && (s = F(
190
+ r.layout,
191
+ this.breakpoints,
192
+ !!r.trigger
193
+ ), s.type === "floating" ? (this.renderRoot.host.classList.add("floating"), this.renderRoot.host.classList.remove("inline")) : (this.renderRoot.host.classList.add("inline"), this.renderRoot.host.classList.remove("floating")), Object.entries(s.styles).forEach(([o, a]) => {
194
+ this.renderRoot.host.style.setProperty(o, a);
195
+ }));
196
+ }
197
+ return this.renderState && (this.renderState === f.hidden ? ((t = this.wrapperRef.value) == null || t.classList.add("hidden"), (e = this.wrapperRef.value) == null || e.classList.remove("expanded")) : ((i = this.wrapperRef.value) == null || i.classList.remove("hidden"), (n = this.wrapperRef.value) == null || n.classList.add("expanded"))), v`
198
+ <div class="widget-container" ${V(this.wrapperRef)}>
199
+ <ace-area entry=${this.entry}></ace-area>
200
+ </div>
201
+ `;
202
+ }
203
+ };
204
+ c.styles = R`
205
+ :host {
206
+ --font-family: TeliaSans, Helvetica, Arial, Lucida Grande, sans-serif;
207
+ --spacing-xs: 0.2rem;
208
+ --spacing-sm: 0.5rem;
209
+ --spacing-md: 1rem;
210
+ --spacing-lg: 1.2rem;
211
+ --spacing-xl: 1.8rem;
212
+
213
+ --primary-color: #29003e;
214
+ --secondary-color: #00558f;
215
+ --text-color: #222222;
216
+ --link-color: #990ae3;
217
+ --gray-color: #f3f3f8;
218
+ --gray-dark-color: #a6a6a6;
219
+
220
+ --box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
221
+ --border-radius: 1rem;
222
+ --border-radius-sm: 0.3rem;
223
+ }
224
+ :host {
225
+ --voca-rem-multiplier: 0.625;
226
+ box-sizing: border-box;
227
+ display: block;
228
+ }
229
+
230
+ :host(.floating) {
231
+ position: fixed;
232
+ z-index: 6;
233
+ inset: auto 20px 95px auto;
234
+ max-height: calc(100vh - 120px);
235
+ }
236
+ :host(.floating) .widget-container {
237
+ box-shadow: rgba(0, 0, 0, 0.16) 0px 5px 40px;
238
+ border-radius: 0.7rem;
239
+ }
240
+ :host(.inline) {
241
+ height: 100%;
242
+ position: fixed;
243
+ inset: 0 0 0 0;
244
+ }
245
+
246
+ * {
247
+ box-sizing: border-box;
248
+ }
249
+ .widget-container {
250
+ height: 100%;
251
+ background-color: var(--primary-color);
252
+ padding: 0 var(--spacing-sm);
253
+ }
254
+ .widget-container.expanded {
255
+ opacity: 1;
256
+ animation: slideUp 0.5s;
257
+ }
258
+ .widget-container.hidden {
259
+ opacity: 0;
260
+ animation: slideDown 0.5s;
261
+ }
262
+ @keyframes slideDown {
263
+ from {
264
+ transform: translateY(0);
265
+ opacity: 1;
266
+ }
267
+ to {
268
+ transform: translateY(100%);
269
+ opacity: 0;
270
+ }
271
+ }
272
+ @keyframes slideUp {
273
+ from {
274
+ transform: translateY(100%);
275
+ opacity: 0;
276
+ }
277
+ to {
278
+ transform: translateY(0);
279
+ opacity: 1;
280
+ }
281
+ }
282
+ `;
283
+ h([
284
+ j({ attribute: !1 })
285
+ ], c.prototype, "container", 2);
286
+ h([
287
+ u()
288
+ ], c.prototype, "componentPlatform", 2);
289
+ h([
290
+ u()
291
+ ], c.prototype, "renderState", 2);
292
+ h([
293
+ u()
294
+ ], c.prototype, "breakpoints", 2);
295
+ h([
296
+ u()
297
+ ], c.prototype, "breakpointsSet", 2);
298
+ h([
299
+ u()
300
+ ], c.prototype, "entry", 2);
301
+ c = h([
302
+ S("ace-widget-wrapper")
303
+ ], c);
304
+ /**
305
+ * @license
306
+ * Copyright 2021 Google LLC
307
+ * SPDX-License-Identifier: BSD-3-Clause
308
+ */
309
+ class tt {
310
+ constructor(t) {
311
+ this.G = t;
312
+ }
313
+ disconnect() {
314
+ this.G = void 0;
315
+ }
316
+ reconnect(t) {
317
+ this.G = t;
318
+ }
319
+ deref() {
320
+ return this.G;
321
+ }
322
+ }
323
+ class et {
324
+ constructor() {
325
+ this.Y = void 0, this.Z = void 0;
326
+ }
327
+ get() {
328
+ return this.Y;
329
+ }
330
+ pause() {
331
+ var t;
332
+ (t = this.Y) !== null && t !== void 0 || (this.Y = new Promise((e) => this.Z = e));
333
+ }
334
+ resume() {
335
+ var t;
336
+ (t = this.Z) === null || t === void 0 || t.call(this), this.Y = this.Z = void 0;
337
+ }
338
+ }
339
+ /**
340
+ * @license
341
+ * Copyright 2017 Google LLC
342
+ * SPDX-License-Identifier: BSD-3-Clause
343
+ */
344
+ const C = (s) => !W(s) && typeof s.then == "function", x = 1073741823;
345
+ class st extends G {
346
+ constructor() {
347
+ super(...arguments), this._$C_t = x, this._$Cwt = [], this._$Cq = new tt(this), this._$CK = new et();
348
+ }
349
+ render(...t) {
350
+ var e;
351
+ return (e = t.find((i) => !C(i))) !== null && e !== void 0 ? e : w;
352
+ }
353
+ update(t, e) {
354
+ const i = this._$Cwt;
355
+ let n = i.length;
356
+ this._$Cwt = e;
357
+ const r = this._$Cq, o = this._$CK;
358
+ this.isConnected || this.disconnected();
359
+ for (let a = 0; a < e.length && !(a > this._$C_t); a++) {
360
+ const l = e[a];
361
+ if (!C(l))
362
+ return this._$C_t = a, l;
363
+ a < n && l === i[a] || (this._$C_t = x, n = 0, Promise.resolve(l).then(async (g) => {
364
+ for (; o.get(); )
365
+ await o.get();
366
+ const d = r.deref();
367
+ if (d !== void 0) {
368
+ const _ = d._$Cwt.indexOf(l);
369
+ _ > -1 && _ < d._$C_t && (d._$C_t = _, d.setValue(g));
370
+ }
371
+ }));
372
+ }
373
+ return w;
374
+ }
375
+ disconnected() {
376
+ this._$Cq.disconnect(), this._$CK.pause();
377
+ }
378
+ reconnected() {
379
+ this._$Cq.reconnect(this), this._$CK.resume();
380
+ }
381
+ }
382
+ const it = A(st);
383
+ var nt = Object.defineProperty, rt = Object.getOwnPropertyDescriptor, ot = (s, t, e, i) => {
384
+ for (var n = i > 1 ? void 0 : i ? rt(t, e) : t, r = s.length - 1, o; r >= 0; r--)
385
+ (o = s[r]) && (n = (i ? o(t, e, n) : o(n)) || n);
386
+ return i && n && nt(t, e, n), n;
387
+ };
388
+ const O = z(P);
389
+ let b = class extends O {
390
+ constructor() {
391
+ super(...arguments), this._resolveChildComponent = async (s) => {
392
+ const e = (await this.container.getAsync(
393
+ "componentResolver"
394
+ )).getComponent(s);
395
+ if (e.then)
396
+ return e.then((i) => i.default);
397
+ }, this._resolveAllChildren = async (s) => Promise.all(
398
+ s.map(async (t) => {
399
+ let e = customElements.get(`ace-${t.type}`);
400
+ return e || (e = await this._resolveChildComponent(t.type || "")), {
401
+ ...t,
402
+ component: e
403
+ };
404
+ })
405
+ );
406
+ }
407
+ render() {
408
+ var s;
409
+ return E(this.context, this.renderRoot.host), this.renderRoot.host.style.setProperty(
410
+ "--width",
411
+ this.layout.size === "full" ? "var(--columns, 1)" : `min(${this.layout.size || "var(--columns)"}, var(--columns))`
412
+ ), this.renderRoot.host.style.setProperty(
413
+ "--columns",
414
+ ((s = this._propertiesProvider.value.columns) == null ? void 0 : s.toString()) || "1"
415
+ ), N(
416
+ this.renderRoot.host,
417
+ this._propertiesProvider.value
418
+ ), v`
419
+ ${it(
420
+ this._resolveAllChildren(this._childrenProvider.value).then(
421
+ (t) => v`
422
+ ${t.map((e) => {
423
+ if (e.type === "area")
424
+ return v`<ace-area entry=${e.id}></ace-area>`;
425
+ const i = new e.component();
426
+ return i.entry = e.id, i;
427
+ })}
428
+ `
429
+ )
430
+ )}
431
+ `;
432
+ }
433
+ };
434
+ b.styles = [
435
+ O.styles || [],
436
+ R`
437
+ :host {
438
+ height: 100%;
439
+ display: grid;
440
+ justify-content: center;
441
+ grid-auto-rows: max-content;
442
+ grid-template-rows: auto;
443
+ grid-template-columns: repeat(var(--columns), 1fr);
444
+ }
445
+ `
446
+ ];
447
+ b = ot([
448
+ S("ace-area")
449
+ ], b);
450
+ const lt = (s, t) => {
451
+ setTimeout(() => {
452
+ const e = new c();
453
+ e.container = s.parent, t.appendChild(e);
454
+ }, 0);
455
+ };
456
+ export {
457
+ lt as default
458
+ };
@@ -0,0 +1,120 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-e07bd0fb.js");/**
2
+ * @license
3
+ * Copyright 2017 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */const b=s=>t=>typeof t=="function"?((e,i)=>(customElements.define(e,i),i))(s,t):((e,i)=>{const{kind:n,elements:o}=i;return{kind:n,elements:o,finisher(a){customElements.define(e,a)}}})(s,t);/**
6
+ * @license
7
+ * Copyright 2020 Google LLC
8
+ * SPDX-License-Identifier: BSD-3-Clause
9
+ */const A=s=>s===null||typeof s!="object"&&typeof s!="function",P=s=>s.strings===void 0;/**
10
+ * @license
11
+ * Copyright 2017 Google LLC
12
+ * SPDX-License-Identifier: BSD-3-Clause
13
+ */const u=(s,t)=>{var e,i;const n=s._$AN;if(n===void 0)return!1;for(const o of n)(i=(e=o)._$AO)===null||i===void 0||i.call(e,t,!1),u(o,t);return!0},f=s=>{let t,e;do{if((t=s._$AM)===void 0)break;e=t._$AN,e.delete(s),s=t}while((e==null?void 0:e.size)===0)},w=s=>{for(let t;t=s._$AM;s=t){let e=t._$AN;if(e===void 0)t._$AN=e=new Set;else if(e.has(s))break;e.add(s),k(t)}};function S(s){this._$AN!==void 0?(f(this),this._$AM=s,w(this)):this._$AM=s}function R(s,t=!1,e=0){const i=this._$AH,n=this._$AN;if(n!==void 0&&n.size!==0)if(t)if(Array.isArray(i))for(let o=e;o<i.length;o++)u(i[o],!1),f(i[o]);else i!=null&&(u(i,!1),f(i));else u(this,s)}const k=s=>{var t,e,i,n;s.type==r.t.CHILD&&((t=(i=s)._$AP)!==null&&t!==void 0||(i._$AP=R),(e=(n=s)._$AQ)!==null&&e!==void 0||(n._$AQ=S))};let C=class extends r.i{constructor(){super(...arguments),this._$AN=void 0}_$AT(t,e,i){super._$AT(t,e,i),w(this),this.isConnected=t._$AU}_$AO(t,e=!0){var i,n;t!==this.isConnected&&(this.isConnected=t,t?(i=this.reconnected)===null||i===void 0||i.call(this):(n=this.disconnected)===null||n===void 0||n.call(this)),e&&(u(this,t),f(this))}setValue(t){if(P(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}};/**
14
+ * @license
15
+ * Copyright 2020 Google LLC
16
+ * SPDX-License-Identifier: BSD-3-Clause
17
+ */const G=()=>new O;class O{}const g=new WeakMap,L=r.e(class extends C{render(s){return r.A}update(s,[t]){var e;const i=t!==this.G;return i&&this.G!==void 0&&this.ot(void 0),(i||this.rt!==this.lt)&&(this.G=t,this.dt=(e=s.options)===null||e===void 0?void 0:e.host,this.ot(this.lt=s.element)),r.A}ot(s){var t;if(typeof this.G=="function"){const e=(t=this.dt)!==null&&t!==void 0?t:globalThis;let i=g.get(e);i===void 0&&(i=new WeakMap,g.set(e,i)),i.get(this.G)!==void 0&&this.G.call(this.dt,void 0),i.set(this.G,s),s!==void 0&&this.G.call(this.dt,s)}else this.G.value=s}get rt(){var s,t,e;return typeof this.G=="function"?(t=g.get((s=this.dt)!==null&&s!==void 0?s:globalThis))===null||t===void 0?void 0:t.get(this.G):(e=this.G)===null||e===void 0?void 0:e.value}disconnected(){this.rt===this.lt&&this.ot(void 0)}reconnected(){this.ot(this.lt)}}),T=async s=>await s.get("$widget").invoke("renderState"),D=async(s,t)=>{const e=s.get("$widget");return(await s.getAsync("actionResolver")).subscribe(e.name,t)},M=(s,t,e=!1)=>{const i=s.reduce((a,{breakpoints:c=[],values:h})=>c.length?t.some(v=>c.includes(v))?{...a,...h}:a:{...a,...h},{}),n={},o=i.type;return n.height=i.height||"",n.width=i.width||"",i.type==="floating"||i.type==="inline"&&e&&(n.height="calc(100vh - 120px)"),{type:o,styles:n}};var Y=Object.defineProperty,j=Object.getOwnPropertyDescriptor,d=(s,t,e,i)=>{for(var n=i>1?void 0:i?j(t,e):t,o=s.length-1,a;o>=0;o--)(a=s[o])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&Y(t,e,n),n};let l=class extends r.s{constructor(){super(),this._provider=new r.i$1(this,r.containerContext,void 0),this.wrapperRef=G(),this.breakpoints=[],this.breakpointsSet=!1}connectedCallback(){super.connectedCallback(),this._provider.setValue(this.container),this.container&&(T(this.container).then(s=>{this.renderState=s}),D(this.container,(s,t)=>{switch(t){case"close":case"open":this.renderState=t==="open"?r.mt.open:r.mt.closed;break;case"hide":this.renderState=r.mt.hidden}}).then(s=>{this._unsubscribeRenderState=s}),r.pt.getInstance(this.container).then(s=>{this.componentPlatform=s,this.breakpoints=this.componentPlatform.breakpoints,this.breakpointsSet=!0,this._unsubscribePropChange=this.componentPlatform.events.subscribe("components:properties-changed",(t,e)=>{var i,n;((i=e==null?void 0:e.node)==null?void 0:i.type)==="root"&&(this.breakpoints=(n=this.componentPlatform)!=null&&n.breakpoints?[...this.componentPlatform.breakpoints]:[])}),this.entry=this.componentPlatform.nodes.root.children.default[0].id||void 0}))}disconnectedCallback(){super.disconnectedCallback(),this._unsubscribeRenderState&&this._unsubscribeRenderState(),this._unsubscribePropChange&&this._unsubscribePropChange()}render(){var t,e,i,n;let s;if(!this.entry||!this.breakpointsSet)return r.A;if(this.container&&this.renderState){const[o]=this.container.get("widgetDOMElements");o&&o.setAttribute("data-state",this.renderState)}if(this.container){const o=this.container.get("$settings");o!=null&&o.layout&&(s=M(o.layout,this.breakpoints,!!o.trigger),s.type==="floating"?(this.renderRoot.host.classList.add("floating"),this.renderRoot.host.classList.remove("inline")):(this.renderRoot.host.classList.add("inline"),this.renderRoot.host.classList.remove("floating")),Object.entries(s.styles).forEach(([a,c])=>{this.renderRoot.host.style.setProperty(a,c)}))}return this.renderState&&(this.renderState===r.mt.hidden?((t=this.wrapperRef.value)==null||t.classList.add("hidden"),(e=this.wrapperRef.value)==null||e.classList.remove("expanded")):((i=this.wrapperRef.value)==null||i.classList.remove("hidden"),(n=this.wrapperRef.value)==null||n.classList.add("expanded"))),r.x`
18
+ <div class="widget-container" ${L(this.wrapperRef)}>
19
+ <ace-area entry=${this.entry}></ace-area>
20
+ </div>
21
+ `}};l.styles=r.i$2`
22
+ :host {
23
+ --font-family: TeliaSans, Helvetica, Arial, Lucida Grande, sans-serif;
24
+ --spacing-xs: 0.2rem;
25
+ --spacing-sm: 0.5rem;
26
+ --spacing-md: 1rem;
27
+ --spacing-lg: 1.2rem;
28
+ --spacing-xl: 1.8rem;
29
+
30
+ --primary-color: #29003e;
31
+ --secondary-color: #00558f;
32
+ --text-color: #222222;
33
+ --link-color: #990ae3;
34
+ --gray-color: #f3f3f8;
35
+ --gray-dark-color: #a6a6a6;
36
+
37
+ --box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
38
+ --border-radius: 1rem;
39
+ --border-radius-sm: 0.3rem;
40
+ }
41
+ :host {
42
+ --voca-rem-multiplier: 0.625;
43
+ box-sizing: border-box;
44
+ display: block;
45
+ }
46
+
47
+ :host(.floating) {
48
+ position: fixed;
49
+ z-index: 6;
50
+ inset: auto 20px 95px auto;
51
+ max-height: calc(100vh - 120px);
52
+ }
53
+ :host(.floating) .widget-container {
54
+ box-shadow: rgba(0, 0, 0, 0.16) 0px 5px 40px;
55
+ border-radius: 0.7rem;
56
+ }
57
+ :host(.inline) {
58
+ height: 100%;
59
+ position: fixed;
60
+ inset: 0 0 0 0;
61
+ }
62
+
63
+ * {
64
+ box-sizing: border-box;
65
+ }
66
+ .widget-container {
67
+ height: 100%;
68
+ background-color: var(--primary-color);
69
+ padding: 0 var(--spacing-sm);
70
+ }
71
+ .widget-container.expanded {
72
+ opacity: 1;
73
+ animation: slideUp 0.5s;
74
+ }
75
+ .widget-container.hidden {
76
+ opacity: 0;
77
+ animation: slideDown 0.5s;
78
+ }
79
+ @keyframes slideDown {
80
+ from {
81
+ transform: translateY(0);
82
+ opacity: 1;
83
+ }
84
+ to {
85
+ transform: translateY(100%);
86
+ opacity: 0;
87
+ }
88
+ }
89
+ @keyframes slideUp {
90
+ from {
91
+ transform: translateY(100%);
92
+ opacity: 0;
93
+ }
94
+ to {
95
+ transform: translateY(0);
96
+ opacity: 1;
97
+ }
98
+ }
99
+ `;d([r.n({attribute:!1})],l.prototype,"container",2);d([r.t$1()],l.prototype,"componentPlatform",2);d([r.t$1()],l.prototype,"renderState",2);d([r.t$1()],l.prototype,"breakpoints",2);d([r.t$1()],l.prototype,"breakpointsSet",2);d([r.t$1()],l.prototype,"entry",2);l=d([b("ace-widget-wrapper")],l);/**
100
+ * @license
101
+ * Copyright 2021 Google LLC
102
+ * SPDX-License-Identifier: BSD-3-Clause
103
+ */class z{constructor(t){this.G=t}disconnect(){this.G=void 0}reconnect(t){this.G=t}deref(){return this.G}}class E{constructor(){this.Y=void 0,this.Z=void 0}get(){return this.Y}pause(){var t;(t=this.Y)!==null&&t!==void 0||(this.Y=new Promise(e=>this.Z=e))}resume(){var t;(t=this.Z)===null||t===void 0||t.call(this),this.Y=this.Z=void 0}}/**
104
+ * @license
105
+ * Copyright 2017 Google LLC
106
+ * SPDX-License-Identifier: BSD-3-Clause
107
+ */const $=s=>!A(s)&&typeof s.then=="function",y=1073741823;class N extends C{constructor(){super(...arguments),this._$C_t=y,this._$Cwt=[],this._$Cq=new z(this),this._$CK=new E}render(...t){var e;return(e=t.find(i=>!$(i)))!==null&&e!==void 0?e:r.T}update(t,e){const i=this._$Cwt;let n=i.length;this._$Cwt=e;const o=this._$Cq,a=this._$CK;this.isConnected||this.disconnected();for(let c=0;c<e.length&&!(c>this._$C_t);c++){const h=e[c];if(!$(h))return this._$C_t=c,h;c<n&&h===i[c]||(this._$C_t=y,n=0,Promise.resolve(h).then(async v=>{for(;a.get();)await a.get();const p=o.deref();if(p!==void 0){const m=p._$Cwt.indexOf(h);m>-1&&m<p._$C_t&&(p._$C_t=m,p.setValue(v))}}))}return r.T}disconnected(){this._$Cq.disconnect(),this._$CK.pause()}reconnected(){this._$Cq.reconnect(this),this._$CK.resume()}}const q=r.e(N);var W=Object.defineProperty,H=Object.getOwnPropertyDescriptor,I=(s,t,e,i)=>{for(var n=i>1?void 0:i?H(t,e):t,o=s.length-1,a;o>=0;o--)(a=s[o])&&(n=(i?a(t,e,n):a(n))||n);return i&&n&&W(t,e,n),n};const x=r.WidgetComponent(r.s);let _=class extends x{constructor(){super(...arguments),this._resolveChildComponent=async s=>{const e=(await this.container.getAsync("componentResolver")).getComponent(s);if(e.then)return e.then(i=>i.default)},this._resolveAllChildren=async s=>Promise.all(s.map(async t=>{let e=customElements.get(`ace-${t.type}`);return e||(e=await this._resolveChildComponent(t.type||"")),{...t,component:e}}))}render(){var s;return r.mapBranding(this.context,this.renderRoot.host),this.renderRoot.host.style.setProperty("--width",this.layout.size==="full"?"var(--columns, 1)":`min(${this.layout.size||"var(--columns)"}, var(--columns))`),this.renderRoot.host.style.setProperty("--columns",((s=this._propertiesProvider.value.columns)==null?void 0:s.toString())||"1"),r.appendStyleFromProperties(this.renderRoot.host,this._propertiesProvider.value),r.x`
108
+ ${q(this._resolveAllChildren(this._childrenProvider.value).then(t=>r.x`
109
+ ${t.map(e=>{if(e.type==="area")return r.x`<ace-area entry=${e.id}></ace-area>`;const i=new e.component;return i.entry=e.id,i})}
110
+ `))}
111
+ `}};_.styles=[x.styles||[],r.i$2`
112
+ :host {
113
+ height: 100%;
114
+ display: grid;
115
+ justify-content: center;
116
+ grid-auto-rows: max-content;
117
+ grid-template-rows: auto;
118
+ grid-template-columns: repeat(var(--columns), 1fr);
119
+ }
120
+ `];_=I([b("ace-area")],_);const K=(s,t)=>{setTimeout(()=>{const e=new l;e.container=s.parent,t.appendChild(e)},0)};exports.default=K;
package/services.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { Container } from '@webprovisions/platform';
2
+ export declare const createStorageService: (_container: Container) => Promise<import("@telia-ace/widget-services").StorageProvider>;
3
+ export declare const createActionResolver: (container: Container) => Promise<import("@telia-ace/widget-core").ActionResolver>;
4
+ export declare const createComponentResolver: (container: Container) => Promise<import("@telia-ace/widget-core").ComponentResolver>;
5
+ export declare const createComponentPlatform: (container: Container) => Promise<import("@telia-ace/widget-core").ComponentPlatform>;
package/ui/area.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ import { LitElement } from 'lit';
2
+ declare const WidgetElement: (new (...args: any[]) => import("../mixins/widget-component.mixin").WidgetComponentInterface) & typeof LitElement;
3
+ export declare class AreaComponent extends WidgetElement {
4
+ static styles: import("lit").CSSResultGroup[];
5
+ private _resolveChildComponent;
6
+ private _resolveAllChildren;
7
+ render(): import("lit").TemplateResult<1>;
8
+ }
9
+ export {};
@@ -0,0 +1 @@
1
+ export declare const mapBranding: (context: Record<string, any>, el: HTMLElement) => void;
@@ -0,0 +1,5 @@
1
+ declare const filterCssProps: (props: Record<string, any>) => {
2
+ [key: string]: any;
3
+ };
4
+ export declare const appendStyleFromProperties: (elem: HTMLElement, p: Record<string, any>) => void;
5
+ export default filterCssProps;
@@ -0,0 +1,9 @@
1
+ type LayoutSettings = {
2
+ values: Record<string, string>;
3
+ breakpoints?: string[];
4
+ };
5
+ export declare const getLayoutProps: (settings: LayoutSettings[], activeBreakpoints: string[], hasTrigger?: boolean) => {
6
+ type: string;
7
+ styles: Record<string, string>;
8
+ };
9
+ export {};
@@ -0,0 +1,14 @@
1
+ export type TriggerElementOptions = {
2
+ symbol?: {
3
+ type: string;
4
+ content: string;
5
+ };
6
+ widgetName: string;
7
+ label?: string;
8
+ ariaLabel?: string;
9
+ tooltip?: string;
10
+ };
11
+ export declare function createTriggerElement(element: HTMLElement, options: TriggerElementOptions): () => void;
12
+ export declare function setInactive(elements: HTMLElement | HTMLElement[], title?: string): void;
13
+ export declare function setLoading(elements: HTMLElement | HTMLElement[]): void;
14
+ export declare function setActive(elements: HTMLElement | HTMLElement[], title?: string): void;
@@ -0,0 +1,21 @@
1
+ import { ViewOutletOptions } from './view-outlet';
2
+ import { Container } from '@webprovisions/platform';
3
+ declare enum ProvidedElements {
4
+ None = "none",
5
+ WidgetDOM = "widgetDOM",
6
+ TriggerDOM = "triggerDOM",
7
+ Both = "both"
8
+ }
9
+ export declare enum TriggerType {
10
+ Inline = "inline",
11
+ Link = "link",
12
+ Badge = "badge",
13
+ Unsupported = "unsupported"
14
+ }
15
+ export declare const determineProvidedElements: (widgetDOMElement?: HTMLElement, triggerDOMElement?: HTMLElement) => ProvidedElements;
16
+ export declare const determineTriggerType: (triggerDefinition?: any) => TriggerType;
17
+ type PrepareDOMElementsOutput = ViewOutletOptions & {
18
+ callback?: () => void;
19
+ };
20
+ export declare const prepareDOMElements: (container: Container, name: string, providedWidgetElement?: HTMLElement, providedTriggerElement?: HTMLElement, triggerDefinition?: any, waitWithReplace?: boolean) => Promise<PrepareDOMElementsOutput>;
21
+ export {};
package/ui/render.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { Container } from '@webprovisions/platform';
2
+ declare const _default: (container: Container, element: HTMLElement) => void;
3
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { Container } from '@webprovisions/platform';
2
+ import { LitElement, nothing } from 'lit';
3
+ type SymbolType = {
4
+ type: 'Uri' | 'Svg' | 'FontAwesome' | 'Text' | string;
5
+ content: string;
6
+ };
7
+ export declare class TriggerComponent extends LitElement {
8
+ static styles: import("lit").CSSResult[];
9
+ symbol?: SymbolType;
10
+ container?: Container;
11
+ active: boolean;
12
+ loaded: boolean;
13
+ icon: any;
14
+ connectedCallback(): Promise<void>;
15
+ _toggleActive(): void;
16
+ _applyBranding(): void;
17
+ _renderSymbol(symbol?: SymbolType): Promise<import("lit").TemplateResult<1> | typeof nothing | undefined>;
18
+ render(): import("lit").TemplateResult<1>;
19
+ }
20
+ export {};