@telia-ace/knowledge-widget-components-contact-list 1.0.44-next.3 → 1.0.44-next.5
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.
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
var J = Object.defineProperty, K = Object.defineProperties;
|
|
2
|
+
var Q = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var x = Object.getOwnPropertySymbols;
|
|
4
|
+
var R = Object.prototype.hasOwnProperty, T = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var P = (e, t, o) => t in e ? J(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o, f = (e, t) => {
|
|
6
|
+
for (var o in t || (t = {}))
|
|
7
|
+
R.call(t, o) && P(e, o, t[o]);
|
|
8
|
+
if (x)
|
|
9
|
+
for (var o of x(t))
|
|
10
|
+
T.call(t, o) && P(e, o, t[o]);
|
|
11
|
+
return e;
|
|
12
|
+
}, C = (e, t) => K(e, Q(t));
|
|
13
|
+
var B = (e, t) => {
|
|
14
|
+
var o = {};
|
|
15
|
+
for (var n in e)
|
|
16
|
+
R.call(e, n) && t.indexOf(n) < 0 && (o[n] = e[n]);
|
|
17
|
+
if (e != null && x)
|
|
18
|
+
for (var n of x(e))
|
|
19
|
+
t.indexOf(n) < 0 && T.call(e, n) && (o[n] = e[n]);
|
|
20
|
+
return o;
|
|
21
|
+
};
|
|
22
|
+
import u from "@emotion/styled";
|
|
23
|
+
import { ContactList as V, contactItemList as W, contactLink as X } from "@telia-ace/knowledge-widget-adapters";
|
|
24
|
+
import { useRouteData as U, useComponentDescriptor as Y, useContainer as F, useChildren as Z, useDispatch as O, AccordionListItem as _, createEmptyComponent as j, Loader as G, GuideList as ee, contentBox as A, loadingOpacity as H, ItemList as te, Link as ne, borderTabStyle as ae, StyledText as w, useProperties as oe, SymbolBadge as ce } from "@telia-ace/knowledge-widget-ui";
|
|
25
|
+
import { formatUrl as z, appendClassNames as b, createParams as q, findCategoryById as re } from "@telia-ace/widget-utilities";
|
|
26
|
+
import a, { useCallback as le } from "react";
|
|
27
|
+
import { Component as ie } from "@telia-ace/widget-types-grid";
|
|
28
|
+
const se = (M) => {
|
|
29
|
+
var s = M, {
|
|
30
|
+
className: e,
|
|
31
|
+
guides: t,
|
|
32
|
+
header: o,
|
|
33
|
+
accordion: n,
|
|
34
|
+
loading: d,
|
|
35
|
+
route: k = "guide",
|
|
36
|
+
categoryTitle: h
|
|
37
|
+
} = s, E = B(s, [
|
|
38
|
+
"className",
|
|
39
|
+
"guides",
|
|
40
|
+
"header",
|
|
41
|
+
"accordion",
|
|
42
|
+
"loading",
|
|
43
|
+
"route",
|
|
44
|
+
"categoryTitle"
|
|
45
|
+
]);
|
|
46
|
+
const {
|
|
47
|
+
name: g,
|
|
48
|
+
params: { contactCategory: S = 0, guide: L }
|
|
49
|
+
} = U(), { name: r } = Y(), D = F(), $ = Z(), N = O(), v = le(
|
|
50
|
+
(c, l, y, m) => {
|
|
51
|
+
const { id: p, title: I } = c;
|
|
52
|
+
return n && L === p ? /* @__PURE__ */ a.createElement(
|
|
53
|
+
_,
|
|
54
|
+
{
|
|
55
|
+
key: p,
|
|
56
|
+
id: p,
|
|
57
|
+
title: I,
|
|
58
|
+
route: g,
|
|
59
|
+
collapseUri: h && z(h)
|
|
60
|
+
},
|
|
61
|
+
$.map((i) => /* @__PURE__ */ a.createElement(
|
|
62
|
+
ie,
|
|
63
|
+
{
|
|
64
|
+
key: i.id,
|
|
65
|
+
id: i.id,
|
|
66
|
+
branch: "default",
|
|
67
|
+
accordion: n
|
|
68
|
+
}
|
|
69
|
+
))
|
|
70
|
+
) : m ? m(c, l, y, m) : null;
|
|
71
|
+
},
|
|
72
|
+
[n, $, L]
|
|
73
|
+
);
|
|
74
|
+
return !t.length && !d ? j(D, C(f({}, E), {
|
|
75
|
+
className: b(e, "humany-deflection-list")
|
|
76
|
+
})) : /* @__PURE__ */ a.createElement(
|
|
77
|
+
me,
|
|
78
|
+
C(f({}, E), {
|
|
79
|
+
"data-loading": d,
|
|
80
|
+
className: b(e, "humany-deflection-list"),
|
|
81
|
+
items: t,
|
|
82
|
+
header: o,
|
|
83
|
+
expandable: !!n,
|
|
84
|
+
renderItem: v,
|
|
85
|
+
dispatch: N,
|
|
86
|
+
routing: {
|
|
87
|
+
guide: k
|
|
88
|
+
},
|
|
89
|
+
paramMappers: {
|
|
90
|
+
guide: ({ id: c, title: l }) => q({
|
|
91
|
+
contactCategory: S,
|
|
92
|
+
guide: c,
|
|
93
|
+
accordion: n ? r : void 0,
|
|
94
|
+
uriName: z(l)
|
|
95
|
+
})
|
|
96
|
+
}
|
|
97
|
+
}),
|
|
98
|
+
/* @__PURE__ */ a.createElement(G, { loading: d })
|
|
99
|
+
);
|
|
100
|
+
}, me = u(ee)`
|
|
101
|
+
${A}
|
|
102
|
+
${H}
|
|
103
|
+
`, ue = se, de = u(V)`
|
|
104
|
+
${H}
|
|
105
|
+
${A}
|
|
106
|
+
`, ge = u(te)`
|
|
107
|
+
${(e) => H(e)}
|
|
108
|
+
${A}
|
|
109
|
+
${W}
|
|
110
|
+
|
|
111
|
+
&& {
|
|
112
|
+
i {
|
|
113
|
+
font-size: 25px;
|
|
114
|
+
width: 1.28571429em;
|
|
115
|
+
text-align: center;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
`, ye = u(ne)`
|
|
119
|
+
&:focus-visible {
|
|
120
|
+
${ae};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
${X}
|
|
124
|
+
`, pe = u.div`
|
|
125
|
+
display: flex;
|
|
126
|
+
flex-direction: column;
|
|
127
|
+
gap: ${(e) => {
|
|
128
|
+
var t;
|
|
129
|
+
return (t = e.theme.sizes) == null ? void 0 : t.normal;
|
|
130
|
+
}};
|
|
131
|
+
`, fe = u(w)`
|
|
132
|
+
font-weight: bold;
|
|
133
|
+
`, be = (o) => {
|
|
134
|
+
var n = o, { className: e } = n, t = B(n, ["className"]);
|
|
135
|
+
const d = O(), k = F(), h = U(), {
|
|
136
|
+
deflectionHeader: E = "",
|
|
137
|
+
routes: M = {},
|
|
138
|
+
contactMethods: s = [],
|
|
139
|
+
categories: g = [],
|
|
140
|
+
guides: S = [],
|
|
141
|
+
deflectionAccordion: L = !1,
|
|
142
|
+
loading: r = !1
|
|
143
|
+
} = oe(), { contactCategory: D, guide: $ = "guide" } = M;
|
|
144
|
+
if (!g.length && !s.length && !r)
|
|
145
|
+
return j(k, C(f({}, t), {
|
|
146
|
+
className: b(e, "humany-contact-category-list")
|
|
147
|
+
}));
|
|
148
|
+
const {
|
|
149
|
+
name: N,
|
|
150
|
+
params: { contactCategory: v }
|
|
151
|
+
} = h, c = re(v, g);
|
|
152
|
+
return s.length ? /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(
|
|
153
|
+
ue,
|
|
154
|
+
{
|
|
155
|
+
className: e,
|
|
156
|
+
guides: S,
|
|
157
|
+
categoryTitle: c && c.title,
|
|
158
|
+
header: E,
|
|
159
|
+
route: $,
|
|
160
|
+
accordion: L,
|
|
161
|
+
loading: r
|
|
162
|
+
}
|
|
163
|
+
), /* @__PURE__ */ a.createElement(
|
|
164
|
+
de,
|
|
165
|
+
{
|
|
166
|
+
"data-loading": r,
|
|
167
|
+
className: e,
|
|
168
|
+
contactMethods: s,
|
|
169
|
+
dispatch: d
|
|
170
|
+
},
|
|
171
|
+
/* @__PURE__ */ a.createElement(G, { loading: r })
|
|
172
|
+
)) : /* @__PURE__ */ a.createElement(
|
|
173
|
+
ge,
|
|
174
|
+
C(f({}, t), {
|
|
175
|
+
"data-loading": r,
|
|
176
|
+
className: b(e, "humany-contact-category-list"),
|
|
177
|
+
items: c && c.items || g,
|
|
178
|
+
renderItem: ({ id: l, title: y, symbol: m, matches: p, items: I, description: i }) => !!p || I && !!I.length ? /* @__PURE__ */ a.createElement("li", { key: l, "data-contact-category": l }, /* @__PURE__ */ a.createElement(
|
|
179
|
+
ye,
|
|
180
|
+
{
|
|
181
|
+
routeName: D || N,
|
|
182
|
+
params: q({
|
|
183
|
+
contactCategory: l,
|
|
184
|
+
uriName: z(y)
|
|
185
|
+
})
|
|
186
|
+
},
|
|
187
|
+
m && /* @__PURE__ */ a.createElement(ce, { symbol: m }),
|
|
188
|
+
i != null && i.length ? /* @__PURE__ */ a.createElement(pe, null, /* @__PURE__ */ a.createElement(fe, null, y), /* @__PURE__ */ a.createElement(w, null, i)) : /* @__PURE__ */ a.createElement(w, null, y)
|
|
189
|
+
)) : null
|
|
190
|
+
}),
|
|
191
|
+
/* @__PURE__ */ a.createElement(G, { loading: r })
|
|
192
|
+
);
|
|
193
|
+
};
|
|
194
|
+
export {
|
|
195
|
+
be as default
|
|
196
|
+
};
|
|
197
|
+
//# sourceMappingURL=contact-list.782f8714.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contact-list.782f8714.js","sources":["../src/deflection-list.tsx","../src/contact-list.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { Guide } from '@telia-ace/knowledge-widget-core';\nimport {\n AccordionListItem,\n contentBox,\n createEmptyComponent,\n GuideList,\n ItemRenderer,\n Loader,\n loadingOpacity,\n useChildren,\n useComponentDescriptor,\n useContainer,\n useDispatch,\n useRouteData,\n} from '@telia-ace/knowledge-widget-ui';\nimport { Component } from '@telia-ace/widget-types-grid';\nimport { appendClassNames, createParams, formatUrl } from '@telia-ace/widget-utilities';\nimport React, { useCallback } from 'react';\n\ntype Props = {\n className: string;\n guides: Guide[];\n header: string;\n accordion?: boolean;\n route?: string;\n loading: boolean;\n categoryTitle?: string;\n};\n\nconst DeflectionList: React.FC<Props> = ({\n className,\n guides,\n header,\n accordion,\n loading,\n route = 'guide',\n categoryTitle,\n ...other\n}) => {\n const {\n name: routeName,\n params: { contactCategory = 0, guide: currentGuideId },\n } = useRouteData();\n const { name: componentName } = useComponentDescriptor();\n const container = useContainer();\n const children = useChildren();\n const dispatch = useDispatch();\n\n const renderItem: ItemRenderer = useCallback(\n (guide, index, items, defaultRenderer) => {\n const { id, title } = guide;\n if (accordion && currentGuideId === id) {\n return (\n <AccordionListItem\n key={id}\n id={id}\n title={title}\n route={routeName}\n collapseUri={categoryTitle && formatUrl(categoryTitle)}\n >\n {children.map((child) => (\n <Component\n key={child.id}\n id={child.id}\n branch=\"default\"\n {...{ accordion }}\n />\n ))}\n </AccordionListItem>\n );\n }\n\n return defaultRenderer ? defaultRenderer(guide, index, items, defaultRenderer) : null;\n },\n [accordion, children, currentGuideId]\n );\n\n if (!guides.length && !loading) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-deflection-list'),\n });\n }\n\n return (\n <StyledGuideList\n {...other}\n data-loading={loading}\n className={appendClassNames(className, 'humany-deflection-list')}\n items={guides}\n header={header}\n expandable={!!accordion}\n renderItem={renderItem}\n dispatch={dispatch}\n routing={{\n guide: route,\n }}\n paramMappers={{\n guide: ({ id, title }: Guide) =>\n createParams({\n contactCategory,\n guide: id,\n accordion: accordion ? componentName : undefined,\n uriName: formatUrl(title),\n }),\n }}\n >\n <Loader loading={loading} />\n </StyledGuideList>\n );\n};\n\nconst StyledGuideList = styled(GuideList)<{ 'data-loading': boolean } & any>`\n ${contentBox}\n ${loadingOpacity}\n`;\n\nexport default DeflectionList;\n","import styled from '@emotion/styled';\nimport {\n contactItemList,\n contactLink,\n ContactList as ContactListUi,\n} from '@telia-ace/knowledge-widget-adapters';\nimport { Category } from '@telia-ace/knowledge-widget-core';\nimport {\n borderTabStyle,\n contentBox,\n createEmptyComponent,\n ItemList,\n Link,\n Loader,\n loadingOpacity,\n StyledText,\n SymbolBadge,\n useContainer,\n useDispatch,\n useProperties,\n useRouteData,\n} from '@telia-ace/knowledge-widget-ui';\nimport {\n appendClassNames,\n createParams,\n findCategoryById,\n formatUrl,\n} from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport { ContactListComponentProps } from './contact-list-component';\nimport DeflectionList from './deflection-list';\n\nconst StyledContactList = styled(ContactListUi)<any>`\n ${loadingOpacity}\n ${contentBox}\n`;\n\nconst StyledItemList = styled(ItemList)<any>`\n ${(p) => loadingOpacity(p)}\n ${contentBox}\n ${contactItemList}\n\n && {\n i {\n font-size: 25px;\n width: 1.28571429em;\n text-align: center;\n }\n }\n`;\n\nconst StyledLink = styled(Link)<any>`\n &:focus-visible {\n ${borderTabStyle};\n }\n\n ${contactLink}\n`;\n\nconst ItemContent = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${(p) => p.theme.sizes?.normal};\n`;\n\nconst ItemHeader = styled(StyledText)`\n font-weight: bold;\n`;\n\ntype Props = {\n className: string;\n};\n\nconst ContactList: React.FC<Props> = ({ className, ...other }) => {\n const dispatch = useDispatch();\n const container = useContainer();\n const routeData = useRouteData();\n const {\n deflectionHeader = '',\n routes = {},\n contactMethods = [],\n categories = [],\n guides = [],\n deflectionAccordion = false,\n loading = false,\n } = useProperties<ContactListComponentProps>();\n\n const { contactCategory: contactCategoryRoute, guide: guideRoute = 'guide' } = routes;\n\n if (!categories.length && !contactMethods.length && !loading) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-contact-category-list'),\n });\n }\n\n const {\n name,\n params: { contactCategory },\n } = routeData;\n\n const selectedCategory: Category = findCategoryById(contactCategory, categories);\n\n return !contactMethods.length ? (\n <StyledItemList\n {...other}\n data-loading={loading}\n className={appendClassNames(className, 'humany-contact-category-list')}\n items={(selectedCategory && selectedCategory.items) || categories}\n renderItem={({ id, title, symbol, matches, items, description }: Category) =>\n !!matches || (items && !!items.length) ? (\n <li key={id} data-contact-category={id}>\n <StyledLink\n routeName={contactCategoryRoute || name}\n params={createParams({\n contactCategory: id,\n uriName: formatUrl(title),\n })}\n >\n {symbol && <SymbolBadge symbol={symbol} />}\n\n {!!description?.length ? (\n <ItemContent>\n <ItemHeader>{title}</ItemHeader>\n <StyledText>{description}</StyledText>\n </ItemContent>\n ) : (\n <StyledText>{title}</StyledText>\n )}\n </StyledLink>\n </li>\n ) : null\n }\n >\n <Loader loading={loading} />\n </StyledItemList>\n ) : (\n <>\n <DeflectionList\n className={className}\n guides={guides}\n categoryTitle={selectedCategory && selectedCategory.title}\n header={deflectionHeader}\n route={guideRoute}\n accordion={deflectionAccordion}\n loading={loading}\n />\n <StyledContactList\n data-loading={loading}\n className={className}\n contactMethods={contactMethods}\n dispatch={dispatch}\n >\n <Loader loading={loading} />\n </StyledContactList>\n </>\n );\n};\n\nexport default ContactList;\n"],"names":["DeflectionList","_a","_b","className","guides","header","accordion","loading","route","categoryTitle","other","__objRest","routeName","contactCategory","currentGuideId","useRouteData","componentName","useComponentDescriptor","container","useContainer","children","useChildren","dispatch","useDispatch","renderItem","useCallback","guide","index","items","defaultRenderer","id","title","React","AccordionListItem","formatUrl","child","Component","createEmptyComponent","__spreadProps","__spreadValues","appendClassNames","StyledGuideList","createParams","Loader","styled","GuideList","contentBox","loadingOpacity","DeflectionList$1","StyledContactList","ContactListUi","StyledItemList","ItemList","p","contactItemList","StyledLink","Link","borderTabStyle","contactLink","ItemContent","ItemHeader","StyledText","ContactList","routeData","deflectionHeader","routes","contactMethods","categories","deflectionAccordion","useProperties","contactCategoryRoute","guideRoute","name","selectedCategory","findCategoryById","symbol","matches","description","SymbolBadge"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -19,7 +19,7 @@ const O = (t) => {
|
|
|
19
19
|
return K(
|
|
20
20
|
t,
|
|
21
21
|
"contact-list",
|
|
22
|
-
import("./contact-list.
|
|
22
|
+
import("./contact-list.782f8714.js"),
|
|
23
23
|
(r) => {
|
|
24
24
|
const a = (o) => {
|
|
25
25
|
r.writeProperties({ loading: !0, contactMethods: [], categories: [] }), r.actions.dispatch("fetch", { params: o });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telia-ace/knowledge-widget-components-contact-list",
|
|
3
|
-
"version": "1.0.44-next.
|
|
3
|
+
"version": "1.0.44-next.5",
|
|
4
4
|
"description": "Contact list component 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-data-client": "1.0.7-next.
|
|
25
|
-
"@telia-ace/knowledge-widget-adapters": "1.0.50-next.
|
|
26
|
-
"@telia-ace/knowledge-widget-component-utilities": "1.0.44-next.
|
|
27
|
-
"@telia-ace/knowledge-widget-core": "1.0.40-next.
|
|
28
|
-
"@telia-ace/knowledge-widget-ui": "1.0.46-next.
|
|
29
|
-
"@telia-ace/widget-forms": "^1.0.32-next.
|
|
30
|
-
"@telia-ace/widget-types-grid": "^1.0.34-next.
|
|
31
|
-
"@telia-ace/widget-utilities": "^1.0.14-next.
|
|
24
|
+
"@telia-ace/knowledge-data-client": "1.0.7-next.5",
|
|
25
|
+
"@telia-ace/knowledge-widget-adapters": "1.0.50-next.5",
|
|
26
|
+
"@telia-ace/knowledge-widget-component-utilities": "1.0.44-next.5",
|
|
27
|
+
"@telia-ace/knowledge-widget-core": "1.0.40-next.5",
|
|
28
|
+
"@telia-ace/knowledge-widget-ui": "1.0.46-next.5",
|
|
29
|
+
"@telia-ace/widget-forms": "^1.0.32-next.1",
|
|
30
|
+
"@telia-ace/widget-types-grid": "^1.0.34-next.1",
|
|
31
|
+
"@telia-ace/widget-utilities": "^1.0.14-next.1",
|
|
32
32
|
"@webprovisions/platform": "^1.1.2"
|
|
33
33
|
},
|
|
34
34
|
"peerDependencies": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@emotion/react": "^11.10.6",
|
|
42
42
|
"@emotion/styled": "^11.10.6",
|
|
43
|
-
"@types/react": "^18.0.
|
|
43
|
+
"@types/react": "^18.0.37",
|
|
44
44
|
"@types/react-dom": "^18.0.11",
|
|
45
45
|
"react": "^18.2.0",
|
|
46
46
|
"react-dom": "^18.2.0"
|
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
var q = Object.defineProperty, J = Object.defineProperties;
|
|
2
|
-
var K = Object.getOwnPropertyDescriptors;
|
|
3
|
-
var $ = Object.getOwnPropertySymbols;
|
|
4
|
-
var U = Object.prototype.hasOwnProperty, w = Object.prototype.propertyIsEnumerable;
|
|
5
|
-
var T = (t, e, a) => e in t ? q(t, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[e] = a, g = (t, e) => {
|
|
6
|
-
for (var a in e || (e = {}))
|
|
7
|
-
U.call(e, a) && T(t, a, e[a]);
|
|
8
|
-
if ($)
|
|
9
|
-
for (var a of $(e))
|
|
10
|
-
w.call(e, a) && T(t, a, e[a]);
|
|
11
|
-
return t;
|
|
12
|
-
}, p = (t, e) => J(t, K(e));
|
|
13
|
-
var B = (t, e) => {
|
|
14
|
-
var a = {};
|
|
15
|
-
for (var n in t)
|
|
16
|
-
U.call(t, n) && e.indexOf(n) < 0 && (a[n] = t[n]);
|
|
17
|
-
if (t != null && $)
|
|
18
|
-
for (var n of $(t))
|
|
19
|
-
e.indexOf(n) < 0 && w.call(t, n) && (a[n] = t[n]);
|
|
20
|
-
return a;
|
|
21
|
-
};
|
|
22
|
-
import k from "@emotion/styled";
|
|
23
|
-
import { ContactList as Q, contactItemList as V, contactLink as W } from "@telia-ace/knowledge-widget-adapters";
|
|
24
|
-
import { useRouteData as z, useComponentDescriptor as X, useContainer as F, useChildren as Y, useDispatch as H, AccordionListItem as Z, createEmptyComponent as O, Loader as G, GuideList as _, contentBox as A, loadingOpacity as M, ItemList as tt, Link as et, borderTabStyle as nt, useProperties as at, SymbolBadge as ot, StyledText as ct } from "@telia-ace/knowledge-widget-ui";
|
|
25
|
-
import { formatUrl as v, appendClassNames as I, createParams as j, findCategoryById as rt } from "@telia-ace/widget-utilities";
|
|
26
|
-
import o, { useCallback as it } from "react";
|
|
27
|
-
import { Component as st } from "@telia-ace/widget-types-grid";
|
|
28
|
-
const lt = (P) => {
|
|
29
|
-
var s = P, {
|
|
30
|
-
className: t,
|
|
31
|
-
guides: e,
|
|
32
|
-
header: a,
|
|
33
|
-
accordion: n,
|
|
34
|
-
loading: m,
|
|
35
|
-
route: S = "guide",
|
|
36
|
-
categoryTitle: y
|
|
37
|
-
} = s, f = B(s, [
|
|
38
|
-
"className",
|
|
39
|
-
"guides",
|
|
40
|
-
"header",
|
|
41
|
-
"accordion",
|
|
42
|
-
"loading",
|
|
43
|
-
"route",
|
|
44
|
-
"categoryTitle"
|
|
45
|
-
]);
|
|
46
|
-
const {
|
|
47
|
-
name: d,
|
|
48
|
-
params: { contactCategory: b = 0, guide: C }
|
|
49
|
-
} = z(), { name: r } = X(), x = F(), L = Y(), D = H(), N = it(
|
|
50
|
-
(c, i, h, l) => {
|
|
51
|
-
const { id: u, title: E } = c;
|
|
52
|
-
return n && C === u ? /* @__PURE__ */ o.createElement(
|
|
53
|
-
Z,
|
|
54
|
-
{
|
|
55
|
-
key: u,
|
|
56
|
-
id: u,
|
|
57
|
-
title: E,
|
|
58
|
-
route: d,
|
|
59
|
-
collapseUri: y && v(y)
|
|
60
|
-
},
|
|
61
|
-
L.map((R) => /* @__PURE__ */ o.createElement(
|
|
62
|
-
st,
|
|
63
|
-
{
|
|
64
|
-
key: R.id,
|
|
65
|
-
id: R.id,
|
|
66
|
-
branch: "default",
|
|
67
|
-
accordion: n
|
|
68
|
-
}
|
|
69
|
-
))
|
|
70
|
-
) : l ? l(c, i, h, l) : null;
|
|
71
|
-
},
|
|
72
|
-
[n, L, C]
|
|
73
|
-
);
|
|
74
|
-
return !e.length && !m ? O(x, p(g({}, f), {
|
|
75
|
-
className: I(t, "humany-deflection-list")
|
|
76
|
-
})) : /* @__PURE__ */ o.createElement(
|
|
77
|
-
mt,
|
|
78
|
-
p(g({}, f), {
|
|
79
|
-
"data-loading": m,
|
|
80
|
-
className: I(t, "humany-deflection-list"),
|
|
81
|
-
items: e,
|
|
82
|
-
header: a,
|
|
83
|
-
expandable: !!n,
|
|
84
|
-
renderItem: N,
|
|
85
|
-
dispatch: D,
|
|
86
|
-
routing: {
|
|
87
|
-
guide: S
|
|
88
|
-
},
|
|
89
|
-
paramMappers: {
|
|
90
|
-
guide: ({ id: c, title: i }) => j({
|
|
91
|
-
contactCategory: b,
|
|
92
|
-
guide: c,
|
|
93
|
-
accordion: n ? r : void 0,
|
|
94
|
-
uriName: v(i)
|
|
95
|
-
})
|
|
96
|
-
}
|
|
97
|
-
}),
|
|
98
|
-
/* @__PURE__ */ o.createElement(G, { loading: m })
|
|
99
|
-
);
|
|
100
|
-
}, mt = k(_)`
|
|
101
|
-
${A}
|
|
102
|
-
${M}
|
|
103
|
-
`, dt = lt, ut = k(Q)`
|
|
104
|
-
${M}
|
|
105
|
-
${A}
|
|
106
|
-
`, gt = k(tt)`
|
|
107
|
-
${(t) => M(t)}
|
|
108
|
-
${A}
|
|
109
|
-
${V}
|
|
110
|
-
|
|
111
|
-
&& {
|
|
112
|
-
i {
|
|
113
|
-
font-size: 25px;
|
|
114
|
-
width: 1.28571429em;
|
|
115
|
-
text-align: center;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
`, pt = k(et)`
|
|
119
|
-
&:focus-visible {
|
|
120
|
-
${nt};
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
${W}
|
|
124
|
-
`, It = (a) => {
|
|
125
|
-
var n = a, { className: t } = n, e = B(n, ["className"]);
|
|
126
|
-
const m = H(), S = F(), y = z(), {
|
|
127
|
-
deflectionHeader: f = "",
|
|
128
|
-
routes: P = {},
|
|
129
|
-
contactMethods: s = [],
|
|
130
|
-
categories: d = [],
|
|
131
|
-
guides: b = [],
|
|
132
|
-
deflectionAccordion: C = !1,
|
|
133
|
-
loading: r = !1
|
|
134
|
-
} = at(), { contactCategory: x, guide: L = "guide" } = P;
|
|
135
|
-
if (!d.length && !s.length && !r)
|
|
136
|
-
return O(S, p(g({}, e), {
|
|
137
|
-
className: I(t, "humany-contact-category-list")
|
|
138
|
-
}));
|
|
139
|
-
const {
|
|
140
|
-
name: D,
|
|
141
|
-
params: { contactCategory: N }
|
|
142
|
-
} = y, c = rt(N, d);
|
|
143
|
-
return s.length ? /* @__PURE__ */ o.createElement(o.Fragment, null, /* @__PURE__ */ o.createElement(
|
|
144
|
-
dt,
|
|
145
|
-
{
|
|
146
|
-
className: t,
|
|
147
|
-
guides: b,
|
|
148
|
-
categoryTitle: c && c.title,
|
|
149
|
-
header: f,
|
|
150
|
-
route: L,
|
|
151
|
-
accordion: C,
|
|
152
|
-
loading: r
|
|
153
|
-
}
|
|
154
|
-
), /* @__PURE__ */ o.createElement(
|
|
155
|
-
ut,
|
|
156
|
-
{
|
|
157
|
-
"data-loading": r,
|
|
158
|
-
className: t,
|
|
159
|
-
contactMethods: s,
|
|
160
|
-
dispatch: m
|
|
161
|
-
},
|
|
162
|
-
/* @__PURE__ */ o.createElement(G, { loading: r })
|
|
163
|
-
)) : /* @__PURE__ */ o.createElement(
|
|
164
|
-
gt,
|
|
165
|
-
p(g({}, e), {
|
|
166
|
-
"data-loading": r,
|
|
167
|
-
className: I(t, "humany-contact-category-list"),
|
|
168
|
-
items: c && c.items || d,
|
|
169
|
-
renderItem: ({ id: i, title: h, symbol: l, matches: u, items: E }) => !!u || E && !!E.length ? /* @__PURE__ */ o.createElement("li", { key: i, "data-contact-category": i }, /* @__PURE__ */ o.createElement(
|
|
170
|
-
pt,
|
|
171
|
-
{
|
|
172
|
-
routeName: x || D,
|
|
173
|
-
params: j({
|
|
174
|
-
contactCategory: i,
|
|
175
|
-
uriName: v(h)
|
|
176
|
-
})
|
|
177
|
-
},
|
|
178
|
-
l && /* @__PURE__ */ o.createElement(ot, { symbol: l }),
|
|
179
|
-
/* @__PURE__ */ o.createElement(ct, null, h)
|
|
180
|
-
)) : null
|
|
181
|
-
}),
|
|
182
|
-
/* @__PURE__ */ o.createElement(G, { loading: r })
|
|
183
|
-
);
|
|
184
|
-
};
|
|
185
|
-
export {
|
|
186
|
-
It as default
|
|
187
|
-
};
|
|
188
|
-
//# sourceMappingURL=contact-list.96cdddb7.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contact-list.96cdddb7.js","sources":["../src/deflection-list.tsx","../src/contact-list.tsx"],"sourcesContent":["import styled from '@emotion/styled';\nimport { Guide } from '@telia-ace/knowledge-widget-core';\nimport {\n AccordionListItem,\n contentBox,\n createEmptyComponent,\n GuideList,\n ItemRenderer,\n Loader,\n loadingOpacity,\n useChildren,\n useComponentDescriptor,\n useContainer,\n useDispatch,\n useRouteData,\n} from '@telia-ace/knowledge-widget-ui';\nimport { Component } from '@telia-ace/widget-types-grid';\nimport { appendClassNames, createParams, formatUrl } from '@telia-ace/widget-utilities';\nimport React, { useCallback } from 'react';\n\ntype Props = {\n className: string;\n guides: Guide[];\n header: string;\n accordion?: boolean;\n route?: string;\n loading: boolean;\n categoryTitle?: string;\n};\n\nconst DeflectionList: React.FC<Props> = ({\n className,\n guides,\n header,\n accordion,\n loading,\n route = 'guide',\n categoryTitle,\n ...other\n}) => {\n const {\n name: routeName,\n params: { contactCategory = 0, guide: currentGuideId },\n } = useRouteData();\n const { name: componentName } = useComponentDescriptor();\n const container = useContainer();\n const children = useChildren();\n const dispatch = useDispatch();\n\n const renderItem: ItemRenderer = useCallback(\n (guide, index, items, defaultRenderer) => {\n const { id, title } = guide;\n if (accordion && currentGuideId === id) {\n return (\n <AccordionListItem\n key={id}\n id={id}\n title={title}\n route={routeName}\n collapseUri={categoryTitle && formatUrl(categoryTitle)}\n >\n {children.map((child) => (\n <Component\n key={child.id}\n id={child.id}\n branch=\"default\"\n {...{ accordion }}\n />\n ))}\n </AccordionListItem>\n );\n }\n\n return defaultRenderer ? defaultRenderer(guide, index, items, defaultRenderer) : null;\n },\n [accordion, children, currentGuideId]\n );\n\n if (!guides.length && !loading) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-deflection-list'),\n });\n }\n\n return (\n <StyledGuideList\n {...other}\n data-loading={loading}\n className={appendClassNames(className, 'humany-deflection-list')}\n items={guides}\n header={header}\n expandable={!!accordion}\n renderItem={renderItem}\n dispatch={dispatch}\n routing={{\n guide: route,\n }}\n paramMappers={{\n guide: ({ id, title }: Guide) =>\n createParams({\n contactCategory,\n guide: id,\n accordion: accordion ? componentName : undefined,\n uriName: formatUrl(title),\n }),\n }}\n >\n <Loader loading={loading} />\n </StyledGuideList>\n );\n};\n\nconst StyledGuideList = styled(GuideList)<{ 'data-loading': boolean } & any>`\n ${contentBox}\n ${loadingOpacity}\n`;\n\nexport default DeflectionList;\n","import styled from '@emotion/styled';\nimport {\n contactItemList,\n contactLink,\n ContactList as ContactListUi,\n} from '@telia-ace/knowledge-widget-adapters';\nimport { Category } from '@telia-ace/knowledge-widget-core';\nimport {\n borderTabStyle,\n contentBox,\n createEmptyComponent,\n ItemList,\n Link,\n Loader,\n loadingOpacity,\n StyledText,\n SymbolBadge,\n useContainer,\n useDispatch,\n useProperties,\n useRouteData,\n} from '@telia-ace/knowledge-widget-ui';\nimport {\n appendClassNames,\n createParams,\n findCategoryById,\n formatUrl,\n} from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport { ContactListComponentProps } from './contact-list-component';\nimport DeflectionList from './deflection-list';\n\nconst StyledContactList = styled(ContactListUi)<any>`\n ${loadingOpacity}\n ${contentBox}\n`;\n\nconst StyledItemList = styled(ItemList)<any>`\n ${(p) => loadingOpacity(p)}\n ${contentBox}\n ${contactItemList}\n\n && {\n i {\n font-size: 25px;\n width: 1.28571429em;\n text-align: center;\n }\n }\n`;\n\nconst StyledLink = styled(Link)<any>`\n &:focus-visible {\n ${borderTabStyle};\n }\n\n ${contactLink}\n`;\n\ntype Props = {\n className: string;\n};\n\nconst ContactList: React.FC<Props> = ({ className, ...other }) => {\n const dispatch = useDispatch();\n const container = useContainer();\n const routeData = useRouteData();\n const {\n deflectionHeader = '',\n routes = {},\n contactMethods = [],\n categories = [],\n guides = [],\n deflectionAccordion = false,\n loading = false,\n } = useProperties<ContactListComponentProps>();\n\n const { contactCategory: contactCategoryRoute, guide: guideRoute = 'guide' } = routes;\n\n if (!categories.length && !contactMethods.length && !loading) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-contact-category-list'),\n });\n }\n\n const {\n name,\n params: { contactCategory },\n } = routeData;\n\n const selectedCategory: Category = findCategoryById(contactCategory, categories);\n\n return !contactMethods.length ? (\n <StyledItemList\n {...other}\n data-loading={loading}\n className={appendClassNames(className, 'humany-contact-category-list')}\n items={(selectedCategory && selectedCategory.items) || categories}\n renderItem={({ id, title, symbol, matches, items }: Category) =>\n !!matches || (items && !!items.length) ? (\n <li key={id} data-contact-category={id}>\n <StyledLink\n routeName={contactCategoryRoute || name}\n params={createParams({\n contactCategory: id,\n uriName: formatUrl(title),\n })}\n >\n {symbol && <SymbolBadge symbol={symbol} />}\n <StyledText>{title}</StyledText>\n </StyledLink>\n </li>\n ) : null\n }\n >\n <Loader loading={loading} />\n </StyledItemList>\n ) : (\n <>\n <DeflectionList\n className={className}\n guides={guides}\n categoryTitle={selectedCategory && selectedCategory.title}\n header={deflectionHeader}\n route={guideRoute}\n accordion={deflectionAccordion}\n loading={loading}\n />\n <StyledContactList\n data-loading={loading}\n className={className}\n contactMethods={contactMethods}\n dispatch={dispatch}\n >\n <Loader loading={loading} />\n </StyledContactList>\n </>\n );\n};\n\nexport default ContactList;\n"],"names":["DeflectionList","_a","_b","className","guides","header","accordion","loading","route","categoryTitle","other","__objRest","routeName","contactCategory","currentGuideId","useRouteData","componentName","useComponentDescriptor","container","useContainer","children","useChildren","dispatch","useDispatch","renderItem","useCallback","guide","index","items","defaultRenderer","id","title","React","AccordionListItem","formatUrl","child","Component","createEmptyComponent","__spreadProps","__spreadValues","appendClassNames","StyledGuideList","createParams","Loader","styled","GuideList","contentBox","loadingOpacity","DeflectionList$1","StyledContactList","ContactListUi","StyledItemList","ItemList","p","contactItemList","StyledLink","Link","borderTabStyle","contactLink","ContactList","routeData","deflectionHeader","routes","contactMethods","categories","deflectionAccordion","useProperties","contactCategoryRoute","guideRoute","name","selectedCategory","findCategoryById","symbol","matches","SymbolBadge","StyledText"],"mappings":"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"}
|