@telia-ace/knowledge-widget-components-tag-list 1.0.24-next.2 → 1.0.24-next.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.
package/dist/index.js
CHANGED
|
@@ -2,53 +2,53 @@ var T = Object.defineProperty, C = Object.defineProperties;
|
|
|
2
2
|
var v = Object.getOwnPropertyDescriptors;
|
|
3
3
|
var d = Object.getOwnPropertySymbols;
|
|
4
4
|
var w = Object.prototype.hasOwnProperty, y = Object.prototype.propertyIsEnumerable;
|
|
5
|
-
var
|
|
5
|
+
var g = (e, t, r) => t in e ? T(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r, h = (e, t) => {
|
|
6
6
|
for (var r in t || (t = {}))
|
|
7
|
-
w.call(t, r) &&
|
|
7
|
+
w.call(t, r) && g(e, r, t[r]);
|
|
8
8
|
if (d)
|
|
9
9
|
for (var r of d(t))
|
|
10
|
-
y.call(t, r) &&
|
|
10
|
+
y.call(t, r) && g(e, r, t[r]);
|
|
11
11
|
return e;
|
|
12
|
-
},
|
|
12
|
+
}, f = (e, t) => C(e, v(t));
|
|
13
13
|
import { createEventSubscriber as x, extendComponent as D } from "@telia-ace/knowledge-widget-core";
|
|
14
14
|
import { DataType as p } from "@telia-ace/knowledge-widget-types-grid";
|
|
15
|
-
import { createReactComponent as
|
|
16
|
-
const
|
|
15
|
+
import { createReactComponent as L } from "@telia-ace/knowledge-widget-ui";
|
|
16
|
+
const P = (e) => L(e, "tag-list", import("./tag-list.f83c3ada.js"), (t) => {
|
|
17
17
|
const { events: r } = e.get("$widget"), [o, u] = x(r);
|
|
18
|
-
t.actions.create("fetch", ({ items:
|
|
19
|
-
items:
|
|
18
|
+
t.actions.create("fetch", ({ items: s = [] }) => t.actions.dispatch("fetched", {
|
|
19
|
+
items: s,
|
|
20
20
|
loading: !0
|
|
21
|
-
})), t.actions.create("fetched", (
|
|
22
|
-
const i = (
|
|
23
|
-
t.writeProperties({ loading: !0, error: void 0 }), t.actions.dispatch("fetch",
|
|
21
|
+
})), t.actions.create("fetched", (s) => t.writeProperties(f(h({}, s), { loading: !1 })));
|
|
22
|
+
const i = (s = {}) => {
|
|
23
|
+
t.writeProperties({ loading: !0, error: void 0 }), t.actions.dispatch("fetch", s);
|
|
24
24
|
};
|
|
25
|
-
return e.getAsync("router").then((
|
|
26
|
-
const { params: c } =
|
|
25
|
+
return e.getAsync("router").then((s) => {
|
|
26
|
+
const { params: c } = s.getRouteData();
|
|
27
27
|
i(c);
|
|
28
|
-
}), o("router:changed", (
|
|
28
|
+
}), o("router:changed", (s, { current: c }) => {
|
|
29
29
|
i(c.routeData.params);
|
|
30
30
|
}), () => {
|
|
31
31
|
u();
|
|
32
32
|
};
|
|
33
33
|
}).then(() => D(e, "tag-list", (t) => {
|
|
34
34
|
t.actions.watch("tag-list.fetch", (r, o) => e.getAsync("dataClient").then((u) => {
|
|
35
|
-
const { static: i = !1, rootTagLabel:
|
|
35
|
+
const { static: i = !1, rootTagLabel: s = "" } = t.properties(), { phrase: c, guideCategory: l, tag: m } = r;
|
|
36
36
|
return u.fetch(i ? p.Tags : p.TagsOnGuides, {
|
|
37
37
|
searchPhrase: c,
|
|
38
38
|
categories: l,
|
|
39
39
|
tagId: m
|
|
40
40
|
}).then((n = []) => {
|
|
41
41
|
if (i) {
|
|
42
|
-
const
|
|
43
|
-
|
|
42
|
+
const a = n.findIndex((b) => b.id === "0");
|
|
43
|
+
a > -1 && n.unshift(n.splice(a, 1)[0]);
|
|
44
44
|
}
|
|
45
45
|
return o({
|
|
46
|
-
items: n.map((
|
|
46
|
+
items: n.map((a) => (a.id === "0" && (a.title = s), a))
|
|
47
47
|
});
|
|
48
48
|
}).catch((n) => o({ items: [] }));
|
|
49
49
|
}));
|
|
50
|
-
}));
|
|
50
|
+
})), $ = P;
|
|
51
51
|
export {
|
|
52
|
-
|
|
52
|
+
$ as default
|
|
53
53
|
};
|
|
54
54
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/tag-list-component.ts"],"sourcesContent":["import { createEventSubscriber, extendComponent, Tag } from '@telia-ace/knowledge-widget-core';\nimport { DataClient, DataType, TagsResult } from '@telia-ace/knowledge-widget-types-grid';\nimport { createReactComponent } from '@telia-ace/knowledge-widget-ui';\nimport { Params } from '@telia-ace/widget-utilities';\nimport { Container } from '@webprovisions/platform';\n\nexport type TagListComponentProps = {\n header: string;\n route?: string;\n items: Tag[]; // internal\n style?: 'badge' | 'pill';\n showMatchCount?: boolean;\n showIcons?: boolean;\n static?: boolean;\n rootTagLabel?: string;\n fallbackOnInitialRoute?: boolean;\n itemAriaLabel?: string;\n};\n\nconst TagListComponent = (container: Container) => {\n return createReactComponent(container, 'tag-list', import('./tag-list'), (component) => {\n const { events } = container.get('$widget');\n const [subscribe, unsubscribe] = createEventSubscriber(events);\n\n component.actions.create('fetch', ({ items = [] }) => {\n return component.actions.dispatch('fetched', {\n items,\n loading: true,\n });\n });\n\n component.actions.create('fetched', (input) => {\n return component.writeProperties({ ...input, loading: false });\n });\n\n const fetch = (input: Params = {}) => {\n component.writeProperties({ loading: true, error: undefined });\n\n component.actions.dispatch('fetch', input);\n };\n\n container.getAsync('router').then((router) => {\n const { params } = router.getRouteData();\n fetch(params);\n });\n\n subscribe('router:changed', (event: any, { current }: any) => {\n fetch(current.routeData.params);\n });\n\n return () => {\n unsubscribe();\n };\n }).then(() => {\n return extendComponent(container, 'tag-list', (component) => {\n component.actions.watch('tag-list.fetch', (input, next) => {\n return container.getAsync('dataClient').then((dataClient: DataClient) => {\n const { static: staticTags = false, rootTagLabel = '' } =\n component.properties() as TagListComponentProps;\n\n const { phrase, guideCategory, tag } = input;\n\n return dataClient\n .fetch(staticTags ? DataType.Tags : DataType.TagsOnGuides, {\n searchPhrase: phrase,\n categories: guideCategory,\n tagId: tag,\n })\n .then((tags: TagsResult = []) => {\n if (staticTags) {\n const indexOfRoot = tags.findIndex((tag) => tag.id === '0');\n\n if (indexOfRoot > -1) {\n tags.unshift(tags.splice(indexOfRoot, 1)[0]);\n }\n }\n\n return next({\n items: tags.map((t) => {\n if (t.id === '0') {\n t.title = rootTagLabel;\n }\n\n return t;\n }),\n });\n })\n .catch((e) => {\n return next({ items: [] });\n });\n });\n });\n });\n });\n};\n\nexport default TagListComponent;\n"],"names":["TagListComponent","container","createReactComponent","component","events","subscribe","unsubscribe","createEventSubscriber","items","input","__spreadProps","__spreadValues","fetch","router","params","event","current","extendComponent","next","dataClient","staticTags","rootTagLabel","phrase","guideCategory","tag","DataType","tags","indexOfRoot","t","e"],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/tag-list-component.ts"],"sourcesContent":["import { createEventSubscriber, extendComponent, Tag } from '@telia-ace/knowledge-widget-core';\nimport { DataClient, DataType, TagsResult } from '@telia-ace/knowledge-widget-types-grid';\nimport { createReactComponent } from '@telia-ace/knowledge-widget-ui';\nimport { Params } from '@telia-ace/widget-utilities';\nimport { Container } from '@webprovisions/platform';\n\nexport type TagListComponentProps = {\n header: string;\n route?: string;\n items: Tag[]; // internal\n style?: 'badge' | 'pill';\n showMatchCount?: boolean;\n showIcons?: boolean;\n static?: boolean;\n rootTagLabel?: string;\n fallbackOnInitialRoute?: boolean;\n itemAriaLabel?: string;\n};\n\nconst TagListComponent = (container: Container) => {\n return createReactComponent(container, 'tag-list', import('./tag-list'), (component) => {\n const { events } = container.get('$widget');\n const [subscribe, unsubscribe] = createEventSubscriber(events);\n\n component.actions.create('fetch', ({ items = [] }) => {\n return component.actions.dispatch('fetched', {\n items,\n loading: true,\n });\n });\n\n component.actions.create('fetched', (input) => {\n return component.writeProperties({ ...input, loading: false });\n });\n\n const fetch = (input: Params = {}) => {\n component.writeProperties({ loading: true, error: undefined });\n\n component.actions.dispatch('fetch', input);\n };\n\n container.getAsync('router').then((router) => {\n const { params } = router.getRouteData();\n fetch(params);\n });\n\n subscribe('router:changed', (event: any, { current }: any) => {\n fetch(current.routeData.params);\n });\n\n return () => {\n unsubscribe();\n };\n }).then(() => {\n return extendComponent(container, 'tag-list', (component) => {\n component.actions.watch('tag-list.fetch', (input, next) => {\n return container.getAsync('dataClient').then((dataClient: DataClient) => {\n const { static: staticTags = false, rootTagLabel = '' } =\n component.properties() as TagListComponentProps;\n\n const { phrase, guideCategory, tag } = input;\n\n return dataClient\n .fetch(staticTags ? DataType.Tags : DataType.TagsOnGuides, {\n searchPhrase: phrase,\n categories: guideCategory,\n tagId: tag,\n })\n .then((tags: TagsResult = []) => {\n if (staticTags) {\n const indexOfRoot = tags.findIndex((tag) => tag.id === '0');\n\n if (indexOfRoot > -1) {\n tags.unshift(tags.splice(indexOfRoot, 1)[0]);\n }\n }\n\n return next({\n items: tags.map((t) => {\n if (t.id === '0') {\n t.title = rootTagLabel;\n }\n\n return t;\n }),\n });\n })\n .catch((e) => {\n return next({ items: [] });\n });\n });\n });\n });\n });\n};\n\nexport default TagListComponent;\n"],"names":["TagListComponent","container","createReactComponent","component","events","subscribe","unsubscribe","createEventSubscriber","items","input","__spreadProps","__spreadValues","fetch","router","params","event","current","extendComponent","next","dataClient","staticTags","rootTagLabel","phrase","guideCategory","tag","DataType","tags","indexOfRoot","t","e","TagListComponent$1"],"mappings":";;;;;;;;;;;;;;;AAmBA,MAAMA,IAAmB,CAACC,MACfC,EAAqBD,GAAW,YAAY,OAAO,2BAAe,CAACE,MAAc;AACpF,QAAM,EAAE,QAAAC,EAAW,IAAAH,EAAU,IAAI,SAAS,GACpC,CAACI,GAAWC,CAAW,IAAIC,EAAsBH,CAAM;AAEnD,EAAAD,EAAA,QAAQ,OAAO,SAAS,CAAC,EAAE,OAAAK,IAAQ,CAAA,QAClCL,EAAU,QAAQ,SAAS,WAAW;AAAA,IACzC,OAAAK;AAAA,IACA,SAAS;AAAA,EAAA,CACZ,CACJ,GAEDL,EAAU,QAAQ,OAAO,WAAW,CAACM,MAC1BN,EAAU,gBAAgBO,EAAAC,EAAA,IAAKF,IAAL,EAAY,SAAS,KAAO,CAChE;AAED,QAAMG,IAAQ,CAACH,IAAgB,OAAO;AAClC,IAAAN,EAAU,gBAAgB,EAAE,SAAS,IAAM,OAAO,QAAW,GAEnDA,EAAA,QAAQ,SAAS,SAASM,CAAK;AAAA,EAAA;AAG7C,SAAAR,EAAU,SAAS,QAAQ,EAAE,KAAK,CAACY,MAAW;AAC1C,UAAM,EAAE,QAAAC,EAAA,IAAWD,EAAO,aAAa;AACvC,IAAAD,EAAME,CAAM;AAAA,EAAA,CACf,GAEDT,EAAU,kBAAkB,CAACU,GAAY,EAAE,SAAAC,QAAmB;AACpD,IAAAJ,EAAAI,EAAQ,UAAU,MAAM;AAAA,EAAA,CACjC,GAEM,MAAM;AACG,IAAAV;EAAA;AAChB,CACH,EAAE,KAAK,MACGW,EAAgBhB,GAAW,YAAY,CAACE,MAAc;AACzD,EAAAA,EAAU,QAAQ,MAAM,kBAAkB,CAACM,GAAOS,MACvCjB,EAAU,SAAS,YAAY,EAAE,KAAK,CAACkB,MAA2B;AAC/D,UAAA,EAAE,QAAQC,IAAa,IAAO,cAAAC,IAAe,GAAG,IAClDlB,EAAU,cAER,EAAE,QAAAmB,GAAQ,eAAAC,GAAe,KAAAC,EAAA,IAAQf;AAEvC,WAAOU,EACF,MAAMC,IAAaK,EAAS,OAAOA,EAAS,cAAc;AAAA,MACvD,cAAcH;AAAA,MACd,YAAYC;AAAA,MACZ,OAAOC;AAAA,IACV,CAAA,EACA,KAAK,CAACE,IAAmB,OAAO;AAC7B,UAAIN,GAAY;AACZ,cAAMO,IAAcD,EAAK,UAAU,CAACF,MAAQA,EAAI,OAAO,GAAG;AAE1D,QAAIG,IAAc,MACdD,EAAK,QAAQA,EAAK,OAAOC,GAAa,CAAC,EAAE,EAAE;AAAA,MAEnD;AAEA,aAAOT,EAAK;AAAA,QACR,OAAOQ,EAAK,IAAI,CAACE,OACTA,EAAE,OAAO,QACTA,EAAE,QAAQP,IAGPO,EACV;AAAA,MAAA,CACJ;AAAA,IAAA,CACJ,EACA,MAAM,CAACC,MACGX,EAAK,EAAE,OAAO,CAAA,EAAI,CAAA,CAC5B;AAAA,EAAA,CACR,CACJ;AAAA,CACJ,CACJ,GAGLY,IAAe9B;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
var P = Object.defineProperty, D = Object.defineProperties;
|
|
2
2
|
var U = Object.getOwnPropertyDescriptors;
|
|
3
|
-
var
|
|
3
|
+
var m = Object.getOwnPropertySymbols;
|
|
4
4
|
var w = Object.prototype.hasOwnProperty, L = Object.prototype.propertyIsEnumerable;
|
|
5
|
-
var z = (e, t, o) => t in e ? P(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o,
|
|
5
|
+
var z = (e, t, o) => t in e ? P(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o, d = (e, t) => {
|
|
6
6
|
for (var o in t || (t = {}))
|
|
7
7
|
w.call(t, o) && z(e, o, t[o]);
|
|
8
|
-
if (
|
|
9
|
-
for (var o of
|
|
8
|
+
if (m)
|
|
9
|
+
for (var o of m(t))
|
|
10
10
|
L.call(t, o) && z(e, o, t[o]);
|
|
11
11
|
return e;
|
|
12
12
|
}, h = (e, t) => D(e, U(t));
|
|
@@ -14,27 +14,28 @@ var S = (e, t) => {
|
|
|
14
14
|
var o = {};
|
|
15
15
|
for (var r in e)
|
|
16
16
|
w.call(e, r) && t.indexOf(r) < 0 && (o[r] = e[r]);
|
|
17
|
-
if (e != null &&
|
|
18
|
-
for (var r of
|
|
17
|
+
if (e != null && m)
|
|
18
|
+
for (var r of m(e))
|
|
19
19
|
t.indexOf(r) < 0 && L.call(e, r) && (o[r] = e[r]);
|
|
20
20
|
return o;
|
|
21
21
|
};
|
|
22
|
+
import { css as p } from "@emotion/react";
|
|
23
|
+
import s from "@emotion/styled";
|
|
22
24
|
import { initialRouteFallback as q } from "@telia-ace/knowledge-widget-component-utilities";
|
|
23
25
|
import { useProperties as G, useContainer as H, useRouteData as J, createEmptyComponent as K, Loader as Q, ItemList as V, contentBox as W, itemList as X, loadingOpacity as Y, TextLink as k, borderTabStyle as C, Text as Z, SymbolBadge as _ } from "@telia-ace/knowledge-widget-ui";
|
|
24
26
|
import { appendClassNames as v } from "@telia-ace/widget-utilities";
|
|
25
27
|
import a from "react";
|
|
26
|
-
import s, { css as u } from "styled-components";
|
|
27
28
|
const ee = (e, t, o) => e && o ? /* @__PURE__ */ a.createElement(E, {
|
|
28
29
|
symbol: o,
|
|
29
30
|
size: 18
|
|
30
31
|
}) : t ? /* @__PURE__ */ a.createElement(E, {
|
|
31
32
|
symbol: t,
|
|
32
33
|
size: 18
|
|
33
|
-
}) : null,
|
|
34
|
+
}) : null, fe = (o) => {
|
|
34
35
|
var r = o, { className: e } = r, t = S(r, ["className"]);
|
|
35
36
|
const {
|
|
36
37
|
route: I = "search",
|
|
37
|
-
items:
|
|
38
|
+
items: u = [],
|
|
38
39
|
header: R,
|
|
39
40
|
loading: i = !1,
|
|
40
41
|
style: f = "badge",
|
|
@@ -44,16 +45,16 @@ const ee = (e, t, o) => e && o ? /* @__PURE__ */ a.createElement(E, {
|
|
|
44
45
|
fallbackOnInitialRoute: B = !1,
|
|
45
46
|
itemAriaLabel: y
|
|
46
47
|
} = G(), j = H(), { params: b } = J();
|
|
47
|
-
if (!
|
|
48
|
-
return K(j, h(
|
|
48
|
+
if (!u.length && (!i || l))
|
|
49
|
+
return K(j, h(d({}, t), {
|
|
49
50
|
className: v(e, "humany-tag-list")
|
|
50
51
|
}));
|
|
51
52
|
const F = f === "badge" ? oe : re;
|
|
52
|
-
return /* @__PURE__ */ a.createElement(te, h(
|
|
53
|
+
return /* @__PURE__ */ a.createElement(te, h(d({}, t), {
|
|
53
54
|
"data-loading": !l && i,
|
|
54
55
|
className: v(e, "humany-tag-list"),
|
|
55
56
|
header: !l && i ? "" : R,
|
|
56
|
-
items:
|
|
57
|
+
items: u,
|
|
57
58
|
type: f,
|
|
58
59
|
renderItem: (n) => {
|
|
59
60
|
const { id: $, title: x, defaultIcon: M, activeIcon: N, matches: c } = n, g = b.tag === n.id || !b.tag && n.id === "0", O = y && y.replace("{{title}}", x).replace("{{matches}}", `${c}`);
|
|
@@ -61,7 +62,7 @@ const ee = (e, t, o) => e && o ? /* @__PURE__ */ a.createElement(E, {
|
|
|
61
62
|
key: $,
|
|
62
63
|
notAllowed: (l && !c && f === "pill").toString(),
|
|
63
64
|
"data-tag": $
|
|
64
|
-
}, /* @__PURE__ */ a.createElement(F, h(
|
|
65
|
+
}, /* @__PURE__ */ a.createElement(F, h(d({}, q(n, I, B, "tag")), {
|
|
65
66
|
role: "button",
|
|
66
67
|
"aria-pressed": g,
|
|
67
68
|
"aria-label": O,
|
|
@@ -85,7 +86,7 @@ const ee = (e, t, o) => e && o ? /* @__PURE__ */ a.createElement(E, {
|
|
|
85
86
|
ul {
|
|
86
87
|
display: flex;
|
|
87
88
|
flex-wrap: wrap;
|
|
88
|
-
${(e) => e.type === "pill" &&
|
|
89
|
+
${(e) => e.type === "pill" && p`
|
|
89
90
|
justify-content: center;
|
|
90
91
|
`}
|
|
91
92
|
|
|
@@ -163,7 +164,7 @@ const ee = (e, t, o) => e && o ? /* @__PURE__ */ a.createElement(E, {
|
|
|
163
164
|
}
|
|
164
165
|
}
|
|
165
166
|
|
|
166
|
-
${(e) => e.disabled &&
|
|
167
|
+
${(e) => e.disabled && p`
|
|
167
168
|
opacity: 0.5;
|
|
168
169
|
`}
|
|
169
170
|
`, ae = s(Z)`
|
|
@@ -186,11 +187,11 @@ const ee = (e, t, o) => e && o ? /* @__PURE__ */ a.createElement(E, {
|
|
|
186
187
|
`;
|
|
187
188
|
}}
|
|
188
189
|
`, le = s.li`
|
|
189
|
-
${(e) => e.notAllowed === "true" &&
|
|
190
|
+
${(e) => e.notAllowed === "true" && p`
|
|
190
191
|
cursor: not-allowed;
|
|
191
192
|
`}
|
|
192
193
|
`;
|
|
193
194
|
export {
|
|
194
|
-
|
|
195
|
+
fe as default
|
|
195
196
|
};
|
|
196
|
-
//# sourceMappingURL=tag-list.
|
|
197
|
+
//# sourceMappingURL=tag-list.f83c3ada.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-list.f83c3ada.js","sources":["../src/tag-list.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { initialRouteFallback } from '@telia-ace/knowledge-widget-component-utilities';\nimport { Symbol, Tag } from '@telia-ace/knowledge-widget-core';\nimport {\n borderTabStyle,\n contentBox,\n createEmptyComponent,\n ItemList,\n itemList,\n Loader,\n loadingOpacity,\n SymbolBadge,\n Text,\n TextLink,\n useContainer,\n useProperties,\n useRouteData,\n} from '@telia-ace/knowledge-widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport { TagListComponentProps } from './tag-list-component';\n\ntype Props = {\n className: string;\n};\n\nconst getIcon = (selected: boolean, defaultIcon?: Symbol, activeIcon?: Symbol) => {\n if (selected && activeIcon) {\n return <StyledSymbolBadge symbol={activeIcon} size={18} />;\n }\n if (defaultIcon) {\n return <StyledSymbolBadge symbol={defaultIcon} size={18} />;\n }\n return null;\n};\n\nconst TagList: React.FC<Props> = ({ className, ...other }) => {\n const {\n route = 'search',\n items = [],\n header,\n loading = false,\n style = 'badge',\n showMatchCount = false,\n showIcons = false,\n static: staticTags = false,\n fallbackOnInitialRoute = false,\n itemAriaLabel,\n } = useProperties<TagListComponentProps>();\n const container = useContainer();\n const { params } = useRouteData();\n\n if (!items.length && (!loading || staticTags)) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-tag-list'),\n });\n }\n\n const Component = style === 'badge' ? StyledBadge : StyledPill;\n\n return (\n <StyledItemList\n {...other}\n data-loading={!staticTags && loading}\n className={appendClassNames(className, 'humany-tag-list')}\n header={!staticTags && loading ? '' : header}\n items={items}\n type={style}\n renderItem={(item: Tag) => {\n const { id, title, defaultIcon, activeIcon, matches } = item;\n const selected = params.tag === item.id || (!params.tag && item.id === '0');\n\n const ariaLabel =\n itemAriaLabel &&\n itemAriaLabel.replace('{{title}}', title).replace('{{matches}}', `${matches}`);\n\n return (\n <StyledLi\n key={id}\n notAllowed={(staticTags && !matches && style === 'pill').toString()}\n data-tag={id}\n >\n <Component\n {...initialRouteFallback(item, route, fallbackOnInitialRoute, 'tag')}\n role=\"button\"\n aria-pressed={selected}\n aria-label={ariaLabel}\n disabled={staticTags && !matches}\n selected={selected}\n text={title}\n >\n {showIcons && getIcon(selected, defaultIcon, activeIcon)}\n {showMatchCount && (\n <StyledMatchCount>{`(${matches})`}</StyledMatchCount>\n )}\n </Component>\n </StyledLi>\n );\n }}\n >\n {!staticTags && <Loader loading={loading} />}\n </StyledItemList>\n );\n};\n\nexport default TagList;\n\nconst StyledItemList = styled(ItemList)<{ 'data-loading': boolean } & any>`\n ${contentBox}\n ${itemList}\n ${loadingOpacity}\n justify-content: flex-start;\n padding: ${(p) => p.theme.sizes?.large};\n ul {\n display: flex;\n flex-wrap: wrap;\n ${(p) =>\n p.type === 'pill' &&\n css`\n justify-content: center;\n `}\n\n li {\n margin: 0 ${(p) => `${p.theme.sizes?.small} ${p.theme.sizes?.small}`} 0;\n }\n }\n`;\n\nconst StyledBadge = styled(TextLink)<any>`\n padding: 8px 15px;\n background-color: ${(p) => (p.selected ? p.theme.colors?.text : p.theme.colors?.primary)};\n border-radius: ${(p) => p.theme.borderRadius};\n font-weight: 300;\n font-size: ${(p) => p.theme.fonts?.normal};\n display: flex;\n align-items: center;\n color: #ffffff;\n\n &:focus-visible {\n ${borderTabStyle}\n padding: 6px 15px;\n background-color: transparent;\n }\n\n @media (hover: hover) {\n &:hover {\n background-color: ${(p) =>\n p.selected ? p.theme.colors?.primary : p.theme.colors?.text};\n }\n }\n`;\n\nconst StyledPill = styled(TextLink)<any>`\n border: 1px solid ${(p) => (p.selected ? p.theme.colors?.text : 'transparent')};\n line-height: 2em;\n border-radius: 1em;\n padding: 0 0.5em;\n display: flex;\n align-items: center;\n font-weight: ${(p) => (p.selected ? 'normal' : 300)};\n color: ${(p) => p.theme.colors?.text};\n\n &:disabled {\n color: ${(p) => p.theme.colors?.textLight};\n }\n\n &:focus-visible {\n ${borderTabStyle}\n border-radius: 1em;\n }\n\n @media (hover: hover) {\n &:hover {\n border: 1px solid ${(p) => p.theme.colors?.text};\n }\n }\n\n ${(p) =>\n p.disabled &&\n css`\n opacity: 0.5;\n `}\n`;\n\nconst StyledMatchCount = styled(Text)<any>`\n order: 2;\n margin-left: ${(p) => p.theme.sizes.small};\n`;\n\nconst StyledSymbolBadge = styled(SymbolBadge)<{ size: number; symbol: Symbol }>`\n margin-right: ${(p) => p.theme.sizes?.small};\n ${(p: any) => {\n if (p.symbol.type === 'Uri') {\n return `\n width: ${p.size}px;\n height: ${p.size}px;\n `;\n }\n\n if (p.symbol.type === 'FontAwesome') {\n return `\n font-size: ${p.size}px;\n `;\n }\n }}\n`;\n\nconst StyledLi = styled.li<{ notAllowed: string }>`\n ${(p) =>\n p.notAllowed === 'true' &&\n css`\n cursor: not-allowed;\n `}\n`;\n"],"names":["getIcon","selected","defaultIcon","activeIcon","React","StyledSymbolBadge","TagList","_a","_b","className","other","__objRest","route","items","header","loading","style","showMatchCount","showIcons","staticTags","fallbackOnInitialRoute","itemAriaLabel","useProperties","container","useContainer","params","useRouteData","createEmptyComponent","__spreadProps","__spreadValues","appendClassNames","Component","StyledBadge","StyledPill","StyledItemList","item","id","title","matches","ariaLabel","StyledLi","initialRouteFallback","StyledMatchCount","Loader","styled","ItemList","contentBox","itemList","loadingOpacity","p","css","TextLink","borderTabStyle","Text","SymbolBadge"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telia-ace/knowledge-widget-components-tag-list",
|
|
3
|
-
"version": "1.0.24-next.
|
|
3
|
+
"version": "1.0.24-next.3",
|
|
4
4
|
"description": "Tag list component for ACE Knowledge Widgets.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"author": "Telia Company AB",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"sideEffects": false,
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@telia-ace/knowledge-widget-component-utilities": "^1.0.24-next.
|
|
29
|
+
"@telia-ace/knowledge-widget-component-utilities": "^1.0.24-next.3",
|
|
30
30
|
"@telia-ace/knowledge-widget-core": "next",
|
|
31
31
|
"@telia-ace/knowledge-widget-types-grid": "next",
|
|
32
32
|
"@telia-ace/knowledge-widget-ui": "next",
|
|
@@ -34,17 +34,18 @@
|
|
|
34
34
|
"@webprovisions/platform": "^1.1.2"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
|
+
"@emotion/react": "^11.10.4",
|
|
38
|
+
"@emotion/styled": "^11.10.4",
|
|
37
39
|
"react": "^18.2.0",
|
|
38
|
-
"react-dom": "^18.2.0"
|
|
39
|
-
"styled-components": "^5.3.6"
|
|
40
|
+
"react-dom": "^18.2.0"
|
|
40
41
|
},
|
|
41
42
|
"devDependencies": {
|
|
43
|
+
"@emotion/react": "^11.10.4",
|
|
44
|
+
"@emotion/styled": "^11.10.4",
|
|
42
45
|
"@types/react": "^18.0.21",
|
|
43
46
|
"@types/react-dom": "^18.0.6",
|
|
44
|
-
"@types/styled-components": "^5.1.26",
|
|
45
47
|
"react": "^18.2.0",
|
|
46
|
-
"react-dom": "^18.2.0"
|
|
47
|
-
"styled-components": "^5.3.6"
|
|
48
|
+
"react-dom": "^18.2.0"
|
|
48
49
|
},
|
|
49
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "035b7b89fbf7c736993d70e6dc4e420b8218a3a4"
|
|
50
51
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tag-list.4fbd3b0d.js","sources":["../src/tag-list.tsx"],"sourcesContent":["import { initialRouteFallback } from '@telia-ace/knowledge-widget-component-utilities';\nimport { Symbol, Tag } from '@telia-ace/knowledge-widget-core';\nimport {\n borderTabStyle,\n contentBox,\n createEmptyComponent,\n ItemList,\n itemList,\n Loader,\n loadingOpacity,\n SymbolBadge,\n Text,\n TextLink,\n useContainer,\n useProperties,\n useRouteData,\n} from '@telia-ace/knowledge-widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { TagListComponentProps } from './tag-list-component';\n\ntype Props = {\n className: string;\n};\n\nconst getIcon = (selected: boolean, defaultIcon?: Symbol, activeIcon?: Symbol) => {\n if (selected && activeIcon) {\n return <StyledSymbolBadge symbol={activeIcon} size={18} />;\n }\n if (defaultIcon) {\n return <StyledSymbolBadge symbol={defaultIcon} size={18} />;\n }\n return null;\n};\n\nconst TagList: React.FC<Props> = ({ className, ...other }) => {\n const {\n route = 'search',\n items = [],\n header,\n loading = false,\n style = 'badge',\n showMatchCount = false,\n showIcons = false,\n static: staticTags = false,\n fallbackOnInitialRoute = false,\n itemAriaLabel,\n } = useProperties<TagListComponentProps>();\n const container = useContainer();\n const { params } = useRouteData();\n\n if (!items.length && (!loading || staticTags)) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-tag-list'),\n });\n }\n\n const Component = style === 'badge' ? StyledBadge : StyledPill;\n\n return (\n <StyledItemList\n {...other}\n data-loading={!staticTags && loading}\n className={appendClassNames(className, 'humany-tag-list')}\n header={!staticTags && loading ? '' : header}\n items={items}\n type={style}\n renderItem={(item: Tag) => {\n const { id, title, defaultIcon, activeIcon, matches } = item;\n const selected = params.tag === item.id || (!params.tag && item.id === '0');\n\n const ariaLabel =\n itemAriaLabel &&\n itemAriaLabel.replace('{{title}}', title).replace('{{matches}}', `${matches}`);\n\n return (\n <StyledLi\n key={id}\n notAllowed={(staticTags && !matches && style === 'pill').toString()}\n data-tag={id}\n >\n <Component\n {...initialRouteFallback(item, route, fallbackOnInitialRoute, 'tag')}\n role=\"button\"\n aria-pressed={selected}\n aria-label={ariaLabel}\n disabled={staticTags && !matches}\n selected={selected}\n text={title}\n >\n {showIcons && getIcon(selected, defaultIcon, activeIcon)}\n {showMatchCount && (\n <StyledMatchCount>{`(${matches})`}</StyledMatchCount>\n )}\n </Component>\n </StyledLi>\n );\n }}\n >\n {!staticTags && <Loader loading={loading} />}\n </StyledItemList>\n );\n};\n\nexport default TagList;\n\nconst StyledItemList = styled(ItemList)<{ 'data-loading': boolean } & any>`\n ${contentBox}\n ${itemList}\n ${loadingOpacity}\n justify-content: flex-start;\n padding: ${(p) => p.theme.sizes?.large};\n ul {\n display: flex;\n flex-wrap: wrap;\n ${(p) =>\n p.type === 'pill' &&\n css`\n justify-content: center;\n `}\n\n li {\n margin: 0 ${(p) => `${p.theme.sizes?.small} ${p.theme.sizes?.small}`} 0;\n }\n }\n`;\n\nconst StyledBadge = styled(TextLink)<any>`\n padding: 8px 15px;\n background-color: ${(p) => (p.selected ? p.theme.colors?.text : p.theme.colors?.primary)};\n border-radius: ${(p) => p.theme.borderRadius};\n font-weight: 300;\n font-size: ${(p) => p.theme.fonts?.normal};\n display: flex;\n align-items: center;\n color: #ffffff;\n\n &:focus-visible {\n ${borderTabStyle}\n padding: 6px 15px;\n background-color: transparent;\n }\n\n @media (hover: hover) {\n &:hover {\n background-color: ${(p) =>\n p.selected ? p.theme.colors?.primary : p.theme.colors?.text};\n }\n }\n`;\n\nconst StyledPill = styled(TextLink)<any>`\n border: 1px solid ${(p) => (p.selected ? p.theme.colors?.text : 'transparent')};\n line-height: 2em;\n border-radius: 1em;\n padding: 0 0.5em;\n display: flex;\n align-items: center;\n font-weight: ${(p) => (p.selected ? 'normal' : 300)};\n color: ${(p) => p.theme.colors?.text};\n\n &:disabled {\n color: ${(p) => p.theme.colors?.textLight};\n }\n\n &:focus-visible {\n ${borderTabStyle}\n border-radius: 1em;\n }\n\n @media (hover: hover) {\n &:hover {\n border: 1px solid ${(p) => p.theme.colors?.text};\n }\n }\n\n ${(p) =>\n p.disabled &&\n css`\n opacity: 0.5;\n `}\n`;\n\nconst StyledMatchCount = styled(Text)<any>`\n order: 2;\n margin-left: ${(p) => p.theme.sizes.small};\n`;\n\nconst StyledSymbolBadge = styled(SymbolBadge)<{ size: number; symbol: Symbol }>`\n margin-right: ${(p) => p.theme.sizes?.small};\n ${(p: any) => {\n if (p.symbol.type === 'Uri') {\n return `\n width: ${p.size}px;\n height: ${p.size}px;\n `;\n }\n\n if (p.symbol.type === 'FontAwesome') {\n return `\n font-size: ${p.size}px;\n `;\n }\n }}\n`;\n\nconst StyledLi = styled.li<{ notAllowed: string }>`\n ${(p) =>\n p.notAllowed === 'true' &&\n css`\n cursor: not-allowed;\n `}\n`;\n"],"names":["getIcon","selected","defaultIcon","activeIcon","React","StyledSymbolBadge","TagList","_a","_b","className","other","__objRest","route","items","header","loading","style","showMatchCount","showIcons","staticTags","fallbackOnInitialRoute","itemAriaLabel","useProperties","container","useContainer","params","useRouteData","createEmptyComponent","__spreadProps","__spreadValues","appendClassNames","Component","StyledBadge","StyledPill","StyledItemList","item","id","title","matches","ariaLabel","StyledLi","initialRouteFallback","StyledMatchCount","Loader","styled","ItemList","contentBox","itemList","loadingOpacity","p","css","TextLink","borderTabStyle","Text","SymbolBadge"],"mappings":"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"}
|