@telia-ace/knowledge-widget-plugins 1.0.46-experimental.0 → 1.0.46-experimental.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +131 -138
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
package/dist/index.js
CHANGED
|
@@ -1,100 +1,95 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var w = (e, t, n) => (M(e, typeof t != "symbol" ? t + "" : t, n), n);
|
|
4
|
-
var d = (e, t, n) => new Promise((o, r) => {
|
|
5
|
-
var a = (i) => {
|
|
1
|
+
var d = (t, e, s) => new Promise((o, r) => {
|
|
2
|
+
var i = (a) => {
|
|
6
3
|
try {
|
|
7
|
-
s
|
|
4
|
+
n(s.next(a));
|
|
8
5
|
} catch (l) {
|
|
9
6
|
r(l);
|
|
10
7
|
}
|
|
11
|
-
}, c = (
|
|
8
|
+
}, c = (a) => {
|
|
12
9
|
try {
|
|
13
|
-
s
|
|
10
|
+
n(s.throw(a));
|
|
14
11
|
} catch (l) {
|
|
15
12
|
r(l);
|
|
16
13
|
}
|
|
17
|
-
},
|
|
18
|
-
|
|
14
|
+
}, n = (a) => a.done ? o(a.value) : Promise.resolve(a.value).then(i, c);
|
|
15
|
+
n((s = s.apply(t, e)).next());
|
|
19
16
|
});
|
|
20
|
-
import { Plugin as
|
|
21
|
-
import { createStorageWriter as
|
|
22
|
-
import { ResourceLoader as
|
|
23
|
-
import { DataType as
|
|
24
|
-
const
|
|
25
|
-
return yield
|
|
26
|
-
medium:
|
|
17
|
+
import { Plugin as v, extendComponent as T } from "@telia-ace/knowledge-widget-core";
|
|
18
|
+
import { createStorageWriter as L, StorageCategory as C, StorageMedium as S, readStorage as x } from "@telia-ace/widget-services";
|
|
19
|
+
import { ResourceLoader as B } from "@telia-ace/knowledge-resource-loader";
|
|
20
|
+
import { DataType as M } from "@telia-ace/knowledge-widget-types-grid";
|
|
21
|
+
const P = "favorites", E = (t) => d(void 0, null, function* () {
|
|
22
|
+
return yield L(t, P, C.Necessary, {
|
|
23
|
+
medium: S.Local
|
|
27
24
|
});
|
|
28
|
-
}),
|
|
29
|
-
return (yield
|
|
30
|
-
}),
|
|
31
|
-
const
|
|
32
|
-
if (o.indexOf(
|
|
25
|
+
}), k = (t) => d(void 0, null, function* () {
|
|
26
|
+
return (yield x(t, P, S.Local)) || [];
|
|
27
|
+
}), $ = (t, e) => d(void 0, null, function* () {
|
|
28
|
+
const s = yield E(e), o = yield k(e);
|
|
29
|
+
if (o.indexOf(t) > -1)
|
|
33
30
|
return o;
|
|
34
|
-
const r = o.concat(
|
|
35
|
-
return
|
|
36
|
-
}),
|
|
37
|
-
const
|
|
38
|
-
return
|
|
39
|
-
}),
|
|
31
|
+
const r = o.concat(t);
|
|
32
|
+
return s(r), r;
|
|
33
|
+
}), O = (t, e) => d(void 0, null, function* () {
|
|
34
|
+
const s = yield E(e), r = (yield k(e)).filter((i) => i !== t);
|
|
35
|
+
return s(r), r;
|
|
36
|
+
}), H = (t) => d(void 0, null, function* () {
|
|
40
37
|
try {
|
|
41
|
-
return yield
|
|
42
|
-
} catch (
|
|
38
|
+
return yield k(t);
|
|
39
|
+
} catch (e) {
|
|
43
40
|
return [];
|
|
44
41
|
}
|
|
45
|
-
}),
|
|
46
|
-
return (yield
|
|
47
|
-
}),
|
|
48
|
-
const { updated:
|
|
49
|
-
o.dispatch("widget:favorites-updated", { updated:
|
|
50
|
-
},
|
|
51
|
-
let
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
42
|
+
}), N = (t) => d(void 0, null, function* () {
|
|
43
|
+
return (yield E(t))([]), [];
|
|
44
|
+
}), w = (t, e) => {
|
|
45
|
+
const { updated: s } = e, { events: o } = t.get("$widget");
|
|
46
|
+
o.dispatch("widget:favorites-updated", { updated: s });
|
|
47
|
+
}, D = (t) => {
|
|
48
|
+
let e = [];
|
|
49
|
+
const s = () => {
|
|
50
|
+
H(t).then((n) => {
|
|
51
|
+
e = n;
|
|
55
52
|
});
|
|
56
|
-
}, o = () =>
|
|
57
|
-
const
|
|
58
|
-
return
|
|
59
|
-
}),
|
|
60
|
-
const
|
|
61
|
-
return
|
|
62
|
-
}), c = (
|
|
63
|
-
const
|
|
64
|
-
return
|
|
53
|
+
}, o = () => e, r = (n) => d(void 0, null, function* () {
|
|
54
|
+
const a = yield $(n, t);
|
|
55
|
+
return e = a, w(t, { updated: a }), a;
|
|
56
|
+
}), i = () => d(void 0, null, function* () {
|
|
57
|
+
const n = yield N(t);
|
|
58
|
+
return e = n, w(t, { updated: n }), n;
|
|
59
|
+
}), c = (n) => d(void 0, null, function* () {
|
|
60
|
+
const a = yield O(n, t);
|
|
61
|
+
return e = a, w(t, { updated: a }), a;
|
|
65
62
|
});
|
|
66
|
-
return
|
|
63
|
+
return s(), {
|
|
67
64
|
add: r,
|
|
68
65
|
get: o,
|
|
69
|
-
clear:
|
|
66
|
+
clear: i,
|
|
70
67
|
remove: c
|
|
71
68
|
};
|
|
72
|
-
},
|
|
73
|
-
class
|
|
74
|
-
constructor(
|
|
75
|
-
super(
|
|
76
|
-
w(this, "handler");
|
|
77
|
-
this.settings = o, this.handler = R(n), n.register("favorites", this.handler);
|
|
69
|
+
}, W = D;
|
|
70
|
+
class J extends v {
|
|
71
|
+
constructor(e, s) {
|
|
72
|
+
super(e), this.settings = s, this.handler = W(e), e.register("favorites", this.handler);
|
|
78
73
|
}
|
|
79
74
|
}
|
|
80
|
-
const
|
|
81
|
-
const
|
|
82
|
-
return
|
|
75
|
+
const G = (t) => {
|
|
76
|
+
const e = document.createElement("a");
|
|
77
|
+
return e.href = t, `//${e.hostname}/`;
|
|
83
78
|
};
|
|
84
|
-
class
|
|
85
|
-
constructor(
|
|
86
|
-
super(
|
|
87
|
-
var
|
|
79
|
+
class X extends v {
|
|
80
|
+
constructor(e, s = {}) {
|
|
81
|
+
super(e), this.widget.events.subscribeOnce("widget:attached", () => {
|
|
82
|
+
var i;
|
|
88
83
|
const {
|
|
89
84
|
data: { projection: o }
|
|
90
85
|
} = this.container.get("$settings");
|
|
91
86
|
if (o) {
|
|
92
|
-
const c =
|
|
93
|
-
|
|
87
|
+
const c = G(o), n = new B();
|
|
88
|
+
n.add(
|
|
94
89
|
`${c}ClientLibraries/Supplementary/font-awesome-4.7.0/css/font-awesome.min.css`
|
|
95
|
-
),
|
|
90
|
+
), n.add(`${c}${(i = this.container.parent) == null ? void 0 : i.name}/widgets.css`), n.load();
|
|
96
91
|
}
|
|
97
|
-
const { initialCss: r = "" } =
|
|
92
|
+
const { initialCss: r = "" } = s;
|
|
98
93
|
if (r.length) {
|
|
99
94
|
const c = document.createElement("style");
|
|
100
95
|
c.innerHTML = r, document.head.appendChild(c);
|
|
@@ -102,120 +97,118 @@ class te extends E {
|
|
|
102
97
|
});
|
|
103
98
|
}
|
|
104
99
|
}
|
|
105
|
-
const
|
|
106
|
-
const { denyAutoExpandContactMethods:
|
|
107
|
-
if (
|
|
108
|
-
const o = new RegExp(
|
|
109
|
-
|
|
110
|
-
r.properties(({ contactMethods:
|
|
111
|
-
const c =
|
|
112
|
-
({ clientName:
|
|
100
|
+
const K = (t, e) => d(void 0, null, function* () {
|
|
101
|
+
const { denyAutoExpandContactMethods: s } = e;
|
|
102
|
+
if (s) {
|
|
103
|
+
const o = new RegExp(s);
|
|
104
|
+
T(t, "contact-list", (r) => {
|
|
105
|
+
r.properties(({ contactMethods: i = [] }) => {
|
|
106
|
+
const c = i.filter(
|
|
107
|
+
({ clientName: n }) => o.test(n)
|
|
113
108
|
);
|
|
114
109
|
if (c.length)
|
|
115
|
-
return c.forEach((
|
|
116
|
-
|
|
117
|
-
}), { contactMethods:
|
|
110
|
+
return c.forEach((n) => {
|
|
111
|
+
n.expanded = !1, n.inline = !1;
|
|
112
|
+
}), { contactMethods: i };
|
|
118
113
|
});
|
|
119
114
|
});
|
|
120
115
|
}
|
|
121
116
|
return [];
|
|
122
|
-
}),
|
|
123
|
-
const
|
|
124
|
-
if (
|
|
125
|
-
const { categories:
|
|
126
|
-
if (
|
|
127
|
-
return
|
|
117
|
+
}), F = "misc-behavior:hideBackValue", R = (t, e) => d(void 0, null, function* () {
|
|
118
|
+
const s = (r, i) => t.getAsync("dataClient").then((c) => c.fetch(M.ContactMethodCategories, {}).then((n) => {
|
|
119
|
+
if (n) {
|
|
120
|
+
const { categories: a = [], contactMethods: l = [] } = n;
|
|
121
|
+
if (i === null)
|
|
122
|
+
return i = a.length === 0 && l.length === 1, L(
|
|
128
123
|
r.container,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
).then((m) => m(
|
|
124
|
+
F,
|
|
125
|
+
C.Functional
|
|
126
|
+
).then((m) => m(i));
|
|
132
127
|
}
|
|
133
|
-
})), { events: o } =
|
|
134
|
-
return o.subscribe("widget:render-state-changed", (r,
|
|
135
|
-
if (r.target.state === "activated" &&
|
|
136
|
-
const { hideBackOnSingleContactMethod: c } =
|
|
137
|
-
let
|
|
138
|
-
const
|
|
139
|
-
if (l.endsWith("_contact") ?
|
|
128
|
+
})), { events: o } = t.get("$widget");
|
|
129
|
+
return o.subscribe("widget:render-state-changed", (r, i) => d(void 0, null, function* () {
|
|
130
|
+
if (r.target.state === "activated" && i.next === "open") {
|
|
131
|
+
const { hideBackOnSingleContactMethod: c } = e;
|
|
132
|
+
let n;
|
|
133
|
+
const a = t.get("$widget"), { name: l, implementation: m } = a;
|
|
134
|
+
if (l.endsWith("_contact") ? n = m.widgets.get(l.replace("_contact", "")) : l.endsWith("_contact-method") || (n = a), n) {
|
|
140
135
|
let u = null;
|
|
141
|
-
const f = yield
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
), h = (yield
|
|
136
|
+
const f = yield x(
|
|
137
|
+
n.container,
|
|
138
|
+
F
|
|
139
|
+
), h = (yield n.container.getAsync(
|
|
145
140
|
"components"
|
|
146
141
|
)).components().ofType("widget-header").select();
|
|
147
|
-
typeof f == "boolean" ? u = f : c && (yield n
|
|
142
|
+
typeof f == "boolean" ? u = f : c && (yield s(n, u)), (c || typeof u == "boolean") && (u && h.actions.dispatch("show-back", !1), h.actions.watch("show-back", (g, p) => p(u && g ? !1 : g)));
|
|
148
143
|
}
|
|
149
144
|
}
|
|
150
145
|
})), [];
|
|
151
|
-
}),
|
|
152
|
-
if (
|
|
153
|
-
return
|
|
146
|
+
}), U = (t) => t.reduce((e, s) => {
|
|
147
|
+
if (e)
|
|
148
|
+
return e;
|
|
154
149
|
const [o] = Array.from(
|
|
155
|
-
(
|
|
150
|
+
(s == null ? void 0 : s.getElementsByClassName("humany-quick-filter-dropdown")) || []
|
|
156
151
|
);
|
|
157
152
|
return !!o;
|
|
158
|
-
}, !1),
|
|
159
|
-
if (
|
|
160
|
-
return
|
|
161
|
-
const [o] = Array.from((
|
|
153
|
+
}, !1), _ = (t) => t.reduce((e, s) => {
|
|
154
|
+
if (e)
|
|
155
|
+
return e;
|
|
156
|
+
const [o] = Array.from((s == null ? void 0 : s.getElementsByTagName("input")) || []);
|
|
162
157
|
return !!(o && o === document.activeElement);
|
|
163
|
-
}, !1),
|
|
164
|
-
const { searchToGuideListArrowKeyNavigation:
|
|
165
|
-
return
|
|
158
|
+
}, !1), q = () => Array.from(document.querySelectorAll('[data-component-type="guide-list"]')).reduce((t, e) => (Array.from(e.getElementsByTagName("a")).forEach((o) => t.push(o)), t), []), I = (t, e) => d(void 0, null, function* () {
|
|
159
|
+
const { searchToGuideListArrowKeyNavigation: s = !1 } = e;
|
|
160
|
+
return s ? t.getAsync("components").then((o) => {
|
|
166
161
|
const {
|
|
167
162
|
nodes: { all: r }
|
|
168
|
-
} = o,
|
|
163
|
+
} = o, i = r.filter((n) => n.type === "search").map((n) => n.id), c = [];
|
|
169
164
|
return c.push({
|
|
170
165
|
parent: window,
|
|
171
166
|
type: "keydown",
|
|
172
|
-
handler: (
|
|
167
|
+
handler: (n) => {
|
|
173
168
|
var y, h, g, p;
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
const
|
|
177
|
-
|
|
169
|
+
const a = [];
|
|
170
|
+
i.forEach((b) => {
|
|
171
|
+
const A = document.getElementById(b);
|
|
172
|
+
A && a.push(A);
|
|
178
173
|
});
|
|
179
|
-
const l =
|
|
174
|
+
const l = U(a), m = _(a), u = q(), f = u.indexOf(
|
|
180
175
|
document.activeElement
|
|
181
176
|
);
|
|
182
|
-
(
|
|
177
|
+
(n.key === "ArrowDown" || n.key === "ArrowUp") && (m || f > -1) && n.preventDefault(), n.key === "ArrowDown" && m && !l ? u[0].focus() : n.key === "ArrowUp" && f === 0 ? (h = (y = a[0]) == null ? void 0 : y.getElementsByTagName("input")[0]) == null || h.focus() : n.key === "ArrowUp" && f > -1 ? (g = u[f - 1]) == null || g.focus() : n.key === "ArrowDown" && f > -1 && ((p = u[f + 1]) == null || p.focus());
|
|
183
178
|
}
|
|
184
179
|
}), c;
|
|
185
180
|
}) : Promise.resolve([]);
|
|
186
181
|
});
|
|
187
|
-
class
|
|
188
|
-
constructor(
|
|
189
|
-
super(
|
|
190
|
-
w(this, "listeners", []);
|
|
191
|
-
this.settings = o;
|
|
182
|
+
class Z extends v {
|
|
183
|
+
constructor(e, s = {}) {
|
|
184
|
+
super(e), this.settings = s, this.listeners = [];
|
|
192
185
|
}
|
|
193
186
|
initialize() {
|
|
194
187
|
return d(this, null, function* () {
|
|
195
188
|
this.listeners = yield Promise.all([
|
|
196
|
-
Promise.resolve(
|
|
197
|
-
Promise.resolve(
|
|
189
|
+
Promise.resolve(R(this.container, this.settings)),
|
|
190
|
+
Promise.resolve(K(this.container, this.settings)),
|
|
198
191
|
Promise.resolve(
|
|
199
|
-
|
|
192
|
+
I(this.container, this.settings)
|
|
200
193
|
)
|
|
201
|
-
]).then((
|
|
202
|
-
const
|
|
203
|
-
return
|
|
204
|
-
|
|
205
|
-
}),
|
|
194
|
+
]).then((e) => {
|
|
195
|
+
const s = [];
|
|
196
|
+
return e.forEach((o) => o.forEach((r) => s.push(r))), s.forEach(({ parent: o, type: r, handler: i }) => {
|
|
197
|
+
o.addEventListener(r, i);
|
|
198
|
+
}), s;
|
|
206
199
|
});
|
|
207
200
|
});
|
|
208
201
|
}
|
|
209
202
|
deactivate() {
|
|
210
|
-
this.listeners.forEach((
|
|
211
|
-
const { parent:
|
|
212
|
-
|
|
203
|
+
this.listeners.forEach((e) => {
|
|
204
|
+
const { parent: s, handler: o, type: r } = e;
|
|
205
|
+
s.removeEventListener(r, o);
|
|
213
206
|
});
|
|
214
207
|
}
|
|
215
208
|
}
|
|
216
209
|
export {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
210
|
+
J as FavoritePlugin,
|
|
211
|
+
X as LegacyResourcesPlugin,
|
|
212
|
+
Z as MiscBehaviorPlugin
|
|
220
213
|
};
|
|
221
214
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/favorite/utils.ts","../src/favorite/favorite-platform.ts","../src/favorite/favorite.ts","../src/legacy-resources/legacy-resources.ts","../src/misc-behavior/deny-auto-expand-contact-methods-handler.ts","../src/misc-behavior/hide-back-on-single-contact-method-handler.ts","../src/misc-behavior/search-guide-list-keyboard-navigation-handler.ts","../src/misc-behavior/plugin.ts"],"sourcesContent":["import {\n createStorageWriter,\n readStorage,\n StorageCategory,\n StorageMedium,\n} from '@telia-ace/widget-services';\nimport { Container, Widget } from '@webprovisions/platform';\n\nconst storageKey = 'favorites';\n\nconst createWriter = async (container: Container) =>\n await createStorageWriter(container, storageKey, StorageCategory.Necessary, {\n medium: StorageMedium.Local,\n });\n\nconst getStoredFavorites = async (container: Container) =>\n (await readStorage<string[]>(container, storageKey, StorageMedium.Local)) || [];\n\nexport const addFavoriteToStorage = async (guideId: string, container: Container) => {\n const write = await createWriter(container);\n const favorites = await getStoredFavorites(container);\n if (favorites.indexOf(guideId) > -1) {\n return favorites;\n }\n const updated = favorites.concat(guideId);\n write(updated);\n return updated;\n};\n\nexport const removeFavoriteFromStorage = async (guideId: string, container: Container) => {\n const write = await createWriter(container);\n const favorites = await getStoredFavorites(container);\n const updated = favorites.filter((id) => id !== guideId);\n write(updated);\n return updated;\n};\n\nexport const readFavoritesFromStorage = async (container: Container) => {\n try {\n const favorites = await getStoredFavorites(container);\n return favorites;\n } catch (e) {\n return [];\n }\n};\n\nexport const removeAllFavoritesFromStorage = async (container: Container) => {\n const write = await createWriter(container);\n write([]);\n return [];\n};\n\nexport const notifyListeners = (container: Container, data: { updated: string[] }) => {\n const { updated } = data;\n const { events } = container.get('$widget') as Widget;\n events.dispatch('widget:favorites-updated', { updated });\n};\n","import { Container } from '@webprovisions/platform';\nimport {\n addFavoriteToStorage,\n notifyListeners,\n readFavoritesFromStorage,\n removeAllFavoritesFromStorage,\n removeFavoriteFromStorage,\n} from './utils';\n\nexport type FavoritePlatform = {\n add: (guideId: string) => Promise<string[]>;\n remove: (guideId: string) => Promise<string[]>;\n clear: () => Promise<string[]>;\n get: () => string[];\n};\n\nconst createFavoritePlatform = (container: Container): FavoritePlatform => {\n let favorites: string[] = [];\n const initialize = () => {\n readFavoritesFromStorage(container).then((items) => {\n favorites = items;\n });\n };\n\n const get = () => {\n return favorites;\n };\n\n const add = async (guideId: string) => {\n const updated = await addFavoriteToStorage(guideId, container);\n favorites = updated;\n notifyListeners(container, { updated });\n return updated;\n };\n\n const clear = async () => {\n const updated = await removeAllFavoritesFromStorage(container);\n favorites = updated;\n notifyListeners(container, { updated });\n return updated;\n };\n\n const remove = async (guideId: string) => {\n const updated = await removeFavoriteFromStorage(guideId, container);\n favorites = updated;\n notifyListeners(container, { updated });\n return updated;\n };\n\n initialize();\n return {\n add,\n get,\n clear,\n remove,\n };\n};\n\nexport default createFavoritePlatform;\n","import { Plugin } from '@telia-ace/knowledge-widget-core';\nimport { Container } from '@webprovisions/platform';\nimport createFavoritePlatform, { FavoritePlatform } from './favorite-platform';\n\nexport type FavoritePluginSettings = {};\n\nexport default class FavoritePlugin extends Plugin {\n handler: FavoritePlatform;\n\n constructor(container: Container, public settings: FavoritePluginSettings) {\n super(container);\n\n this.handler = createFavoritePlatform(container);\n container.register('favorites', this.handler);\n }\n}\n","import { ResourceLoader } from '@telia-ace/knowledge-resource-loader';\nimport { Plugin } from '@telia-ace/knowledge-widget-core';\nimport { Container } from '@webprovisions/platform';\n\nconst getHostFromUrl = (url: string) => {\n const parser = document.createElement('a');\n parser.href = url;\n return `//${parser.hostname}/`;\n};\n\ntype Settings = {\n initialCss?: string;\n};\n\n/**\n * Downloads legacy resources for a widget. These resources are to be treated as legacy. When the\n * Webprovisions bundling service is available these resources should be included as their own\n * plugins and be part of the output.\n */\nexport default class LegacyResourcesPlugin extends Plugin {\n constructor(container: Container, settings: Settings = {}) {\n super(container);\n this.widget.events.subscribeOnce('widget:attached', () => {\n const {\n data: { projection },\n } = this.container.get('$settings');\n\n if (projection) {\n const host = getHostFromUrl(projection);\n const loader = new ResourceLoader();\n loader.add(\n `${host}ClientLibraries/Supplementary/font-awesome-4.7.0/css/font-awesome.min.css`\n ); // tslint:disable-line max-line-length\n loader.add(`${host}${this.container.parent?.name}/widgets.css`);\n loader.load();\n }\n\n const { initialCss = '' } = settings;\n\n if (initialCss.length) {\n const style = document.createElement('style');\n style.innerHTML = initialCss;\n document.head.appendChild(style);\n }\n });\n }\n}\n","import { extendComponent } from '@telia-ace/knowledge-widget-core';\nimport { Container } from '@webprovisions/platform';\nimport { Settings } from './plugin';\n\n/**\n * Sets contactMethod.expanded and contactMethod.inline for contactMethods\n * with a clientName that match the regular expression passed in\n * the denyAutoExpandContactMethods-setting\n */\nexport default async (container: Container, settings: Settings) => {\n const { denyAutoExpandContactMethods } = settings;\n\n if (denyAutoExpandContactMethods) {\n const regExp = new RegExp(denyAutoExpandContactMethods);\n\n extendComponent(container, 'contact-list', (component) => {\n component.properties(({ contactMethods = [] }) => {\n const deniedContactMethods = contactMethods.filter(({ clientName }: any) =>\n regExp.test(clientName)\n );\n\n if (deniedContactMethods.length) {\n deniedContactMethods.forEach((cm: any) => {\n cm.expanded = false;\n cm.inline = false;\n });\n\n return { contactMethods };\n }\n });\n });\n }\n\n return [];\n};\n","import { ComponentPlatform } from '@telia-ace/knowledge-widget-core';\nimport { ContactsResult, DataType } from '@telia-ace/knowledge-widget-types-grid';\nimport { createStorageWriter, readStorage, StorageCategory } from '@telia-ace/widget-services';\nimport { Container, Widget } from '@webprovisions/platform';\nimport { Settings } from './plugin';\n\nconst STORAGE_KEY = 'misc-behavior:hideBackValue';\n\n/**\n * Will hide the back-button in the widget-header back-button if there\n * is only a single contact method in the contact-list.\n */\nexport default async (container: Container, settings: Settings) => {\n const writeToStorage = (mainWidget: Widget, hideBackValue: any) => {\n return container.getAsync('dataClient').then((dataClient) => {\n return dataClient\n .fetch(DataType.ContactMethodCategories, {})\n .then((result: ContactsResult) => {\n if (result) {\n const { categories = [], contactMethods = [] } = result;\n\n if (hideBackValue === null) {\n hideBackValue = categories.length === 0 && contactMethods.length === 1;\n return createStorageWriter(\n mainWidget.container,\n STORAGE_KEY,\n StorageCategory.Functional\n ).then((write) => write(hideBackValue));\n }\n }\n });\n });\n };\n\n const { events } = container.get('$widget');\n events.subscribe('widget:render-state-changed', async (event: any, data: any) => {\n if (event.target.state === 'activated' && data.next === 'open') {\n const { hideBackOnSingleContactMethod } = settings;\n\n let mainWidget: Widget | undefined;\n\n const widget: Widget = container.get('$widget');\n const { name, implementation } = widget;\n\n if (name.endsWith('_contact')) {\n mainWidget = implementation.widgets.get(name.replace('_contact', ''));\n } else if (!name.endsWith('_contact-method')) {\n mainWidget = widget;\n }\n\n if (mainWidget) {\n let hideBackValue: boolean | null = null;\n const storedHideBackValue = await readStorage<boolean>(\n mainWidget.container,\n STORAGE_KEY\n );\n\n const componentPlatform: ComponentPlatform = await mainWidget.container.getAsync(\n 'components'\n );\n const widgetHeaders = componentPlatform\n .components()\n .ofType('widget-header')\n .select();\n\n /* if we have a value stored in the main widgets session storage:\n * use that\n *\n * if not and the current widget has hideBackOnSingleContactMethod == true:\n * fetch value and save on mainWidget session storage\n */\n if (typeof storedHideBackValue === 'boolean') {\n hideBackValue = storedHideBackValue;\n } else if (hideBackOnSingleContactMethod) {\n await writeToStorage(mainWidget, hideBackValue);\n }\n\n /* if hideBackOnSingleContactMethod == true\n * or if we have a hideBackValue (from session storage)\n * hide back if hideBackValue == true\n * and add show-back action watcher\n */\n if (hideBackOnSingleContactMethod || typeof hideBackValue === 'boolean') {\n if (hideBackValue) {\n widgetHeaders.actions.dispatch('show-back', false);\n }\n\n widgetHeaders.actions.watch('show-back', (data, next) => {\n if (hideBackValue && data) {\n return next(false);\n }\n\n return next(data);\n });\n }\n }\n }\n });\n\n return [];\n};\n","import { ComponentPlatform } from '@telia-ace/knowledge-widget-core';\nimport { Container } from '@webprovisions/platform';\nimport { Listerners, Settings } from './plugin';\n\nconst isQuickFilterOpen = (searchElements: HTMLElement[]) => {\n return searchElements.reduce((acc, current) => {\n if (acc) {\n return acc;\n }\n\n const [element] = Array.from(\n current?.getElementsByClassName('humany-quick-filter-dropdown') || []\n );\n\n if (element) {\n return true;\n }\n\n return false;\n }, false);\n};\n\nconst isSearchElementFocused = (searchElements: HTMLElement[]) => {\n return searchElements.reduce((acc, current) => {\n if (acc) {\n return acc;\n }\n\n const [input] = Array.from(current?.getElementsByTagName('input') || []);\n\n if (input && input === document.activeElement) {\n return true;\n }\n\n return false;\n }, false);\n};\n\nconst getGuideListLinks = () => {\n return Array.from(document.querySelectorAll('[data-component-type=\"guide-list\"]')).reduce<\n HTMLAnchorElement[]\n >((acc, current) => {\n const links = Array.from(current.getElementsByTagName('a'));\n links.forEach((l) => acc.push(l));\n return acc;\n }, []);\n};\n\n/**\n * Will focus guide-list when focusing search-input and pressing arrow-down key\n */\nexport default async (container: Container, settings: Settings) => {\n const { searchToGuideListArrowKeyNavigation = false } = settings;\n\n if (searchToGuideListArrowKeyNavigation) {\n return container.getAsync('components').then((platform: ComponentPlatform) => {\n const {\n nodes: { all },\n } = platform;\n\n const searchComponentIds = all.filter((n) => n.type === 'search').map((n) => n.id);\n\n const listeners: Listerners = [];\n\n listeners.push({\n parent: window,\n type: 'keydown',\n handler: (e: KeyboardEvent) => {\n const searchComponentElements: HTMLElement[] = [];\n searchComponentIds.forEach((id) => {\n const element = document.getElementById(id);\n if (element) {\n searchComponentElements.push(element);\n }\n });\n const quickFilterDropdownOpen = isQuickFilterOpen(searchComponentElements);\n const searchElementIsFocused = isSearchElementFocused(searchComponentElements);\n const guideListLinks = getGuideListLinks();\n const guideListLinkFocusIndex = guideListLinks.indexOf(\n document.activeElement as HTMLAnchorElement\n );\n\n if (\n (e.key === 'ArrowDown' || e.key === 'ArrowUp') &&\n (searchElementIsFocused || guideListLinkFocusIndex > -1)\n ) {\n e.preventDefault();\n }\n\n if (\n e.key === 'ArrowDown' &&\n searchElementIsFocused &&\n !quickFilterDropdownOpen\n ) {\n guideListLinks[0].focus();\n } else {\n if (e.key === 'ArrowUp' && guideListLinkFocusIndex === 0) {\n searchComponentElements[0]?.getElementsByTagName('input')[0]?.focus();\n } else if (e.key === 'ArrowUp' && guideListLinkFocusIndex > -1) {\n guideListLinks[guideListLinkFocusIndex - 1]?.focus();\n } else if (e.key === 'ArrowDown' && guideListLinkFocusIndex > -1) {\n guideListLinks[guideListLinkFocusIndex + 1]?.focus();\n }\n }\n },\n });\n\n return listeners;\n });\n }\n\n return Promise.resolve([]);\n};\n","import { Plugin } from '@telia-ace/knowledge-widget-core';\nimport { Container } from '@webprovisions/platform';\nimport denyAutoExpandContactMethodsHandler from './deny-auto-expand-contact-methods-handler';\nimport hideBackOnSingleContactMethodHandler from './hide-back-on-single-contact-method-handler';\nimport searchGuideListKeyboardNavigationHandler from './search-guide-list-keyboard-navigation-handler';\n\nexport type Settings = {\n denyAutoExpandContactMethods?: string;\n hideBackOnSingleContactMethod?: boolean;\n searchToGuideListArrowKeyNavigation?: boolean;\n};\n\nexport type Listerners = {\n parent: HTMLElement | Window;\n handler: (...args: any[]) => void;\n type: string;\n}[];\n\nexport default class MiscBehaviorPlugin extends Plugin {\n listeners: Listerners = [];\n\n constructor(container: Container, public settings: Settings = {}) {\n super(container);\n }\n\n async initialize() {\n this.listeners = await Promise.all([\n Promise.resolve(hideBackOnSingleContactMethodHandler(this.container, this.settings)),\n Promise.resolve(denyAutoExpandContactMethodsHandler(this.container, this.settings)),\n Promise.resolve(\n searchGuideListKeyboardNavigationHandler(this.container, this.settings)\n ),\n ]).then((listenerArray) => {\n const listeners: Listerners = [];\n listenerArray.forEach((a) => (a as Listerners).forEach((l) => listeners.push(l)));\n\n listeners.forEach(({ parent, type, handler }) => {\n parent.addEventListener(type, handler);\n });\n\n return listeners;\n });\n }\n\n deactivate() {\n this.listeners.forEach((listener) => {\n const { parent, handler, type } = listener;\n parent.removeEventListener(type, handler);\n });\n }\n}\n"],"names":["storageKey","createWriter","container","createStorageWriter","StorageCategory","StorageMedium","getStoredFavorites","__async","readStorage","addFavoriteToStorage","guideId","write","favorites","updated","removeFavoriteFromStorage","id","readFavoritesFromStorage","e","removeAllFavoritesFromStorage","notifyListeners","data","events","createFavoritePlatform","initialize","items","get","add","clear","remove","createFavoritePlatform$1","FavoritePlugin","Plugin","settings","__publicField","getHostFromUrl","url","parser","LegacyResourcesPlugin","projection","host","loader","ResourceLoader","_a","initialCss","style","denyAutoExpandContactMethodsHandler","denyAutoExpandContactMethods","regExp","extendComponent","component","contactMethods","deniedContactMethods","clientName","cm","STORAGE_KEY","hideBackOnSingleContactMethodHandler","writeToStorage","mainWidget","hideBackValue","dataClient","DataType","result","categories","event","hideBackOnSingleContactMethod","widget","name","implementation","storedHideBackValue","widgetHeaders","next","isQuickFilterOpen","searchElements","acc","current","element","isSearchElementFocused","input","getGuideListLinks","l","searchGuideListKeyboardNavigationHandler","searchToGuideListArrowKeyNavigation","platform","all","searchComponentIds","n","listeners","searchComponentElements","quickFilterDropdownOpen","searchElementIsFocused","guideListLinks","guideListLinkFocusIndex","_b","_c","_d","MiscBehaviorPlugin","listenerArray","a","parent","type","handler","listener"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/favorite/utils.ts","../src/favorite/favorite-platform.ts","../src/favorite/favorite.ts","../src/legacy-resources/legacy-resources.ts","../src/misc-behavior/deny-auto-expand-contact-methods-handler.ts","../src/misc-behavior/hide-back-on-single-contact-method-handler.ts","../src/misc-behavior/search-guide-list-keyboard-navigation-handler.ts","../src/misc-behavior/plugin.ts"],"sourcesContent":["import {\n createStorageWriter,\n readStorage,\n StorageCategory,\n StorageMedium,\n} from '@telia-ace/widget-services';\nimport { Container, Widget } from '@webprovisions/platform';\n\nconst storageKey = 'favorites';\n\nconst createWriter = async (container: Container) =>\n await createStorageWriter(container, storageKey, StorageCategory.Necessary, {\n medium: StorageMedium.Local,\n });\n\nconst getStoredFavorites = async (container: Container) =>\n (await readStorage<string[]>(container, storageKey, StorageMedium.Local)) || [];\n\nexport const addFavoriteToStorage = async (guideId: string, container: Container) => {\n const write = await createWriter(container);\n const favorites = await getStoredFavorites(container);\n if (favorites.indexOf(guideId) > -1) {\n return favorites;\n }\n const updated = favorites.concat(guideId);\n write(updated);\n return updated;\n};\n\nexport const removeFavoriteFromStorage = async (guideId: string, container: Container) => {\n const write = await createWriter(container);\n const favorites = await getStoredFavorites(container);\n const updated = favorites.filter((id) => id !== guideId);\n write(updated);\n return updated;\n};\n\nexport const readFavoritesFromStorage = async (container: Container) => {\n try {\n const favorites = await getStoredFavorites(container);\n return favorites;\n } catch (e) {\n return [];\n }\n};\n\nexport const removeAllFavoritesFromStorage = async (container: Container) => {\n const write = await createWriter(container);\n write([]);\n return [];\n};\n\nexport const notifyListeners = (container: Container, data: { updated: string[] }) => {\n const { updated } = data;\n const { events } = container.get('$widget') as Widget;\n events.dispatch('widget:favorites-updated', { updated });\n};\n","import { Container } from '@webprovisions/platform';\nimport {\n addFavoriteToStorage,\n notifyListeners,\n readFavoritesFromStorage,\n removeAllFavoritesFromStorage,\n removeFavoriteFromStorage,\n} from './utils';\n\nexport type FavoritePlatform = {\n add: (guideId: string) => Promise<string[]>;\n remove: (guideId: string) => Promise<string[]>;\n clear: () => Promise<string[]>;\n get: () => string[];\n};\n\nconst createFavoritePlatform = (container: Container): FavoritePlatform => {\n let favorites: string[] = [];\n const initialize = () => {\n readFavoritesFromStorage(container).then((items) => {\n favorites = items;\n });\n };\n\n const get = () => {\n return favorites;\n };\n\n const add = async (guideId: string) => {\n const updated = await addFavoriteToStorage(guideId, container);\n favorites = updated;\n notifyListeners(container, { updated });\n return updated;\n };\n\n const clear = async () => {\n const updated = await removeAllFavoritesFromStorage(container);\n favorites = updated;\n notifyListeners(container, { updated });\n return updated;\n };\n\n const remove = async (guideId: string) => {\n const updated = await removeFavoriteFromStorage(guideId, container);\n favorites = updated;\n notifyListeners(container, { updated });\n return updated;\n };\n\n initialize();\n return {\n add,\n get,\n clear,\n remove,\n };\n};\n\nexport default createFavoritePlatform;\n","import { Plugin } from '@telia-ace/knowledge-widget-core';\nimport { Container } from '@webprovisions/platform';\nimport createFavoritePlatform, { FavoritePlatform } from './favorite-platform';\n\nexport type FavoritePluginSettings = {};\n\nexport default class FavoritePlugin extends Plugin {\n handler: FavoritePlatform;\n\n constructor(container: Container, public settings: FavoritePluginSettings) {\n super(container);\n\n this.handler = createFavoritePlatform(container);\n container.register('favorites', this.handler);\n }\n}\n","import { ResourceLoader } from '@telia-ace/knowledge-resource-loader';\nimport { Plugin } from '@telia-ace/knowledge-widget-core';\nimport { Container } from '@webprovisions/platform';\n\nconst getHostFromUrl = (url: string) => {\n const parser = document.createElement('a');\n parser.href = url;\n return `//${parser.hostname}/`;\n};\n\ntype Settings = {\n initialCss?: string;\n};\n\n/**\n * Downloads legacy resources for a widget. These resources are to be treated as legacy. When the\n * Webprovisions bundling service is available these resources should be included as their own\n * plugins and be part of the output.\n */\nexport default class LegacyResourcesPlugin extends Plugin {\n constructor(container: Container, settings: Settings = {}) {\n super(container);\n this.widget.events.subscribeOnce('widget:attached', () => {\n const {\n data: { projection },\n } = this.container.get('$settings');\n\n if (projection) {\n const host = getHostFromUrl(projection);\n const loader = new ResourceLoader();\n loader.add(\n `${host}ClientLibraries/Supplementary/font-awesome-4.7.0/css/font-awesome.min.css`\n ); // tslint:disable-line max-line-length\n loader.add(`${host}${this.container.parent?.name}/widgets.css`);\n loader.load();\n }\n\n const { initialCss = '' } = settings;\n\n if (initialCss.length) {\n const style = document.createElement('style');\n style.innerHTML = initialCss;\n document.head.appendChild(style);\n }\n });\n }\n}\n","import { extendComponent } from '@telia-ace/knowledge-widget-core';\nimport { Container } from '@webprovisions/platform';\nimport { Settings } from './plugin';\n\n/**\n * Sets contactMethod.expanded and contactMethod.inline for contactMethods\n * with a clientName that match the regular expression passed in\n * the denyAutoExpandContactMethods-setting\n */\nexport default async (container: Container, settings: Settings) => {\n const { denyAutoExpandContactMethods } = settings;\n\n if (denyAutoExpandContactMethods) {\n const regExp = new RegExp(denyAutoExpandContactMethods);\n\n extendComponent(container, 'contact-list', (component) => {\n component.properties(({ contactMethods = [] }) => {\n const deniedContactMethods = contactMethods.filter(({ clientName }: any) =>\n regExp.test(clientName)\n );\n\n if (deniedContactMethods.length) {\n deniedContactMethods.forEach((cm: any) => {\n cm.expanded = false;\n cm.inline = false;\n });\n\n return { contactMethods };\n }\n });\n });\n }\n\n return [];\n};\n","import { ComponentPlatform } from '@telia-ace/knowledge-widget-core';\nimport { ContactsResult, DataType } from '@telia-ace/knowledge-widget-types-grid';\nimport { createStorageWriter, readStorage, StorageCategory } from '@telia-ace/widget-services';\nimport { Container, Widget } from '@webprovisions/platform';\nimport { Settings } from './plugin';\n\nconst STORAGE_KEY = 'misc-behavior:hideBackValue';\n\n/**\n * Will hide the back-button in the widget-header back-button if there\n * is only a single contact method in the contact-list.\n */\nexport default async (container: Container, settings: Settings) => {\n const writeToStorage = (mainWidget: Widget, hideBackValue: any) => {\n return container.getAsync('dataClient').then((dataClient) => {\n return dataClient\n .fetch(DataType.ContactMethodCategories, {})\n .then((result: ContactsResult) => {\n if (result) {\n const { categories = [], contactMethods = [] } = result;\n\n if (hideBackValue === null) {\n hideBackValue = categories.length === 0 && contactMethods.length === 1;\n return createStorageWriter(\n mainWidget.container,\n STORAGE_KEY,\n StorageCategory.Functional\n ).then((write) => write(hideBackValue));\n }\n }\n });\n });\n };\n\n const { events } = container.get('$widget');\n events.subscribe('widget:render-state-changed', async (event: any, data: any) => {\n if (event.target.state === 'activated' && data.next === 'open') {\n const { hideBackOnSingleContactMethod } = settings;\n\n let mainWidget: Widget | undefined;\n\n const widget: Widget = container.get('$widget');\n const { name, implementation } = widget;\n\n if (name.endsWith('_contact')) {\n mainWidget = implementation.widgets.get(name.replace('_contact', ''));\n } else if (!name.endsWith('_contact-method')) {\n mainWidget = widget;\n }\n\n if (mainWidget) {\n let hideBackValue: boolean | null = null;\n const storedHideBackValue = await readStorage<boolean>(\n mainWidget.container,\n STORAGE_KEY\n );\n\n const componentPlatform: ComponentPlatform = await mainWidget.container.getAsync(\n 'components'\n );\n const widgetHeaders = componentPlatform\n .components()\n .ofType('widget-header')\n .select();\n\n /* if we have a value stored in the main widgets session storage:\n * use that\n *\n * if not and the current widget has hideBackOnSingleContactMethod == true:\n * fetch value and save on mainWidget session storage\n */\n if (typeof storedHideBackValue === 'boolean') {\n hideBackValue = storedHideBackValue;\n } else if (hideBackOnSingleContactMethod) {\n await writeToStorage(mainWidget, hideBackValue);\n }\n\n /* if hideBackOnSingleContactMethod == true\n * or if we have a hideBackValue (from session storage)\n * hide back if hideBackValue == true\n * and add show-back action watcher\n */\n if (hideBackOnSingleContactMethod || typeof hideBackValue === 'boolean') {\n if (hideBackValue) {\n widgetHeaders.actions.dispatch('show-back', false);\n }\n\n widgetHeaders.actions.watch('show-back', (data, next) => {\n if (hideBackValue && data) {\n return next(false);\n }\n\n return next(data);\n });\n }\n }\n }\n });\n\n return [];\n};\n","import { ComponentPlatform } from '@telia-ace/knowledge-widget-core';\nimport { Container } from '@webprovisions/platform';\nimport { Listerners, Settings } from './plugin';\n\nconst isQuickFilterOpen = (searchElements: HTMLElement[]) => {\n return searchElements.reduce((acc, current) => {\n if (acc) {\n return acc;\n }\n\n const [element] = Array.from(\n current?.getElementsByClassName('humany-quick-filter-dropdown') || []\n );\n\n if (element) {\n return true;\n }\n\n return false;\n }, false);\n};\n\nconst isSearchElementFocused = (searchElements: HTMLElement[]) => {\n return searchElements.reduce((acc, current) => {\n if (acc) {\n return acc;\n }\n\n const [input] = Array.from(current?.getElementsByTagName('input') || []);\n\n if (input && input === document.activeElement) {\n return true;\n }\n\n return false;\n }, false);\n};\n\nconst getGuideListLinks = () => {\n return Array.from(document.querySelectorAll('[data-component-type=\"guide-list\"]')).reduce<\n HTMLAnchorElement[]\n >((acc, current) => {\n const links = Array.from(current.getElementsByTagName('a'));\n links.forEach((l) => acc.push(l));\n return acc;\n }, []);\n};\n\n/**\n * Will focus guide-list when focusing search-input and pressing arrow-down key\n */\nexport default async (container: Container, settings: Settings) => {\n const { searchToGuideListArrowKeyNavigation = false } = settings;\n\n if (searchToGuideListArrowKeyNavigation) {\n return container.getAsync('components').then((platform: ComponentPlatform) => {\n const {\n nodes: { all },\n } = platform;\n\n const searchComponentIds = all.filter((n) => n.type === 'search').map((n) => n.id);\n\n const listeners: Listerners = [];\n\n listeners.push({\n parent: window,\n type: 'keydown',\n handler: (e: KeyboardEvent) => {\n const searchComponentElements: HTMLElement[] = [];\n searchComponentIds.forEach((id) => {\n const element = document.getElementById(id);\n if (element) {\n searchComponentElements.push(element);\n }\n });\n const quickFilterDropdownOpen = isQuickFilterOpen(searchComponentElements);\n const searchElementIsFocused = isSearchElementFocused(searchComponentElements);\n const guideListLinks = getGuideListLinks();\n const guideListLinkFocusIndex = guideListLinks.indexOf(\n document.activeElement as HTMLAnchorElement\n );\n\n if (\n (e.key === 'ArrowDown' || e.key === 'ArrowUp') &&\n (searchElementIsFocused || guideListLinkFocusIndex > -1)\n ) {\n e.preventDefault();\n }\n\n if (\n e.key === 'ArrowDown' &&\n searchElementIsFocused &&\n !quickFilterDropdownOpen\n ) {\n guideListLinks[0].focus();\n } else {\n if (e.key === 'ArrowUp' && guideListLinkFocusIndex === 0) {\n searchComponentElements[0]?.getElementsByTagName('input')[0]?.focus();\n } else if (e.key === 'ArrowUp' && guideListLinkFocusIndex > -1) {\n guideListLinks[guideListLinkFocusIndex - 1]?.focus();\n } else if (e.key === 'ArrowDown' && guideListLinkFocusIndex > -1) {\n guideListLinks[guideListLinkFocusIndex + 1]?.focus();\n }\n }\n },\n });\n\n return listeners;\n });\n }\n\n return Promise.resolve([]);\n};\n","import { Plugin } from '@telia-ace/knowledge-widget-core';\nimport { Container } from '@webprovisions/platform';\nimport denyAutoExpandContactMethodsHandler from './deny-auto-expand-contact-methods-handler';\nimport hideBackOnSingleContactMethodHandler from './hide-back-on-single-contact-method-handler';\nimport searchGuideListKeyboardNavigationHandler from './search-guide-list-keyboard-navigation-handler';\n\nexport type Settings = {\n denyAutoExpandContactMethods?: string;\n hideBackOnSingleContactMethod?: boolean;\n searchToGuideListArrowKeyNavigation?: boolean;\n};\n\nexport type Listerners = {\n parent: HTMLElement | Window;\n handler: (...args: any[]) => void;\n type: string;\n}[];\n\nexport default class MiscBehaviorPlugin extends Plugin {\n listeners: Listerners = [];\n\n constructor(container: Container, public settings: Settings = {}) {\n super(container);\n }\n\n async initialize() {\n this.listeners = await Promise.all([\n Promise.resolve(hideBackOnSingleContactMethodHandler(this.container, this.settings)),\n Promise.resolve(denyAutoExpandContactMethodsHandler(this.container, this.settings)),\n Promise.resolve(\n searchGuideListKeyboardNavigationHandler(this.container, this.settings)\n ),\n ]).then((listenerArray) => {\n const listeners: Listerners = [];\n listenerArray.forEach((a) => (a as Listerners).forEach((l) => listeners.push(l)));\n\n listeners.forEach(({ parent, type, handler }) => {\n parent.addEventListener(type, handler);\n });\n\n return listeners;\n });\n }\n\n deactivate() {\n this.listeners.forEach((listener) => {\n const { parent, handler, type } = listener;\n parent.removeEventListener(type, handler);\n });\n }\n}\n"],"names":["storageKey","createWriter","container","createStorageWriter","StorageCategory","StorageMedium","getStoredFavorites","__async","readStorage","addFavoriteToStorage","guideId","write","favorites","updated","removeFavoriteFromStorage","id","readFavoritesFromStorage","removeAllFavoritesFromStorage","notifyListeners","data","events","createFavoritePlatform","initialize","items","get","add","clear","remove","createFavoritePlatform$1","FavoritePlugin","Plugin","settings","getHostFromUrl","url","parser","LegacyResourcesPlugin","projection","host","loader","ResourceLoader","_a","initialCss","style","denyAutoExpandContactMethodsHandler","denyAutoExpandContactMethods","regExp","extendComponent","component","contactMethods","deniedContactMethods","clientName","cm","STORAGE_KEY","hideBackOnSingleContactMethodHandler","writeToStorage","mainWidget","hideBackValue","dataClient","DataType","result","categories","event","hideBackOnSingleContactMethod","widget","name","implementation","storedHideBackValue","widgetHeaders","next","isQuickFilterOpen","searchElements","acc","current","element","isSearchElementFocused","input","getGuideListLinks","l","searchGuideListKeyboardNavigationHandler","searchToGuideListArrowKeyNavigation","platform","all","searchComponentIds","listeners","e","searchComponentElements","quickFilterDropdownOpen","searchElementIsFocused","guideListLinks","guideListLinkFocusIndex","_b","_c","_d","MiscBehaviorPlugin","listenerArray","a","parent","type","handler","listener"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telia-ace/knowledge-widget-plugins",
|
|
3
|
-
"version": "1.0.46-experimental.
|
|
3
|
+
"version": "1.0.46-experimental.10",
|
|
4
4
|
"description": "Plugins for ACE Knowledge Widgets.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"author": "Telia Company AB",
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
},
|
|
22
22
|
"sideEffects": false,
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@telia-ace/knowledge-resource-loader": "
|
|
25
|
-
"@telia-ace/knowledge-widget-adapters": "
|
|
26
|
-
"@telia-ace/knowledge-widget-core": "
|
|
27
|
-
"@telia-ace/knowledge-widget-types-grid": "
|
|
28
|
-
"@telia-ace/knowledge-widget-ui": "
|
|
29
|
-
"@telia-ace/widget-routing": "^1.0.22-experimental.
|
|
30
|
-
"@telia-ace/widget-services": "^1.0.21-experimental.
|
|
31
|
-
"@telia-ace/widget-utilities": "^1.0.10-experimental.
|
|
24
|
+
"@telia-ace/knowledge-resource-loader": "1.0.19-experimental.10",
|
|
25
|
+
"@telia-ace/knowledge-widget-adapters": "1.0.44-experimental.10",
|
|
26
|
+
"@telia-ace/knowledge-widget-core": "1.0.34-experimental.10",
|
|
27
|
+
"@telia-ace/knowledge-widget-types-grid": "1.0.45-experimental.10",
|
|
28
|
+
"@telia-ace/knowledge-widget-ui": "1.0.40-experimental.10",
|
|
29
|
+
"@telia-ace/widget-routing": "^1.0.22-experimental.20",
|
|
30
|
+
"@telia-ace/widget-services": "^1.0.21-experimental.20",
|
|
31
|
+
"@telia-ace/widget-utilities": "^1.0.10-experimental.20",
|
|
32
32
|
"@webprovisions/platform": "^1.1.2"
|
|
33
33
|
},
|
|
34
34
|
"scripts": {
|