@telia-ace/knowledge-widget-components-tag-list 1.0.38-experimental.9 → 1.0.38
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.d.ts +2 -1
- package/dist/index.js +51 -2
- package/dist/index.js.map +1 -1
- package/dist/tag-list-component.d.ts +16 -1
- package/dist/tag-list.73b01dd5.js +205 -0
- package/dist/tag-list.73b01dd5.js.map +1 -0
- package/dist/tag-list.d.ts +6 -1
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import TagListComponent from './tag-list-component';
|
|
2
|
+
export default TagListComponent;
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,54 @@
|
|
|
1
|
-
|
|
1
|
+
var T = Object.defineProperty, C = Object.defineProperties;
|
|
2
|
+
var v = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var d = Object.getOwnPropertySymbols;
|
|
4
|
+
var w = Object.prototype.hasOwnProperty, y = Object.prototype.propertyIsEnumerable;
|
|
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
|
+
for (var r in t || (t = {}))
|
|
7
|
+
w.call(t, r) && g(e, r, t[r]);
|
|
8
|
+
if (d)
|
|
9
|
+
for (var r of d(t))
|
|
10
|
+
y.call(t, r) && g(e, r, t[r]);
|
|
11
|
+
return e;
|
|
12
|
+
}, f = (e, t) => C(e, v(t));
|
|
13
|
+
import { createEventSubscriber as x, extendComponent as D } from "@telia-ace/knowledge-widget-core";
|
|
14
|
+
import { DataType as p } from "@telia-ace/knowledge-widget-types-grid";
|
|
15
|
+
import { createReactComponent as L } from "@telia-ace/knowledge-widget-ui";
|
|
16
|
+
const P = (e) => L(e, "tag-list", import("./tag-list.73b01dd5.js"), (t) => {
|
|
17
|
+
const { events: r } = e.get("$widget"), [o, u] = x(r);
|
|
18
|
+
t.actions.create("fetch", ({ items: s = [] }) => t.actions.dispatch("fetched", {
|
|
19
|
+
items: s,
|
|
20
|
+
loading: !0
|
|
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
|
+
};
|
|
25
|
+
return e.getAsync("router").then((s) => {
|
|
26
|
+
const { params: c } = s.getRouteData();
|
|
27
|
+
i(c);
|
|
28
|
+
}), o("router:changed", (s, { current: c }) => {
|
|
29
|
+
i(c.routeData.params);
|
|
30
|
+
}), () => {
|
|
31
|
+
u();
|
|
32
|
+
};
|
|
33
|
+
}).then(() => D(e, "tag-list", (t) => {
|
|
34
|
+
t.actions.watch("tag-list.fetch", (r, o) => e.getAsync("dataClient").then((u) => {
|
|
35
|
+
const { static: i = !1, rootTagLabel: s = "" } = t.properties(), { phrase: c, guideCategory: l, tag: m } = r;
|
|
36
|
+
return u.fetch(i ? p.Tags : p.TagsOnGuides, {
|
|
37
|
+
searchPhrase: c,
|
|
38
|
+
categories: l,
|
|
39
|
+
tagId: m
|
|
40
|
+
}).then((n = []) => {
|
|
41
|
+
if (i) {
|
|
42
|
+
const a = n.findIndex((b) => b.id === "0");
|
|
43
|
+
a > -1 && n.unshift(n.splice(a, 1)[0]);
|
|
44
|
+
}
|
|
45
|
+
return o({
|
|
46
|
+
items: n.map((a) => (a.id === "0" && (a.title = s), a))
|
|
47
|
+
});
|
|
48
|
+
}).catch((n) => o({ items: [] }));
|
|
49
|
+
}));
|
|
50
|
+
})), $ = P;
|
|
2
51
|
export {
|
|
3
|
-
|
|
52
|
+
$ as default
|
|
4
53
|
};
|
|
5
54
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/
|
|
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 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { Tag } from '@telia-ace/knowledge-widget-core';
|
|
2
|
+
import { Container } from '@webprovisions/platform';
|
|
3
|
+
export type TagListComponentProps = {
|
|
4
|
+
header: string;
|
|
5
|
+
route?: string;
|
|
6
|
+
items: Tag[];
|
|
7
|
+
style?: 'badge' | 'pill';
|
|
8
|
+
showMatchCount?: boolean;
|
|
9
|
+
showIcons?: boolean;
|
|
10
|
+
static?: boolean;
|
|
11
|
+
rootTagLabel?: string;
|
|
12
|
+
fallbackOnInitialRoute?: boolean;
|
|
13
|
+
itemAriaLabel?: string;
|
|
14
|
+
};
|
|
15
|
+
declare const TagListComponent: (container: Container) => Promise<void>;
|
|
16
|
+
export default TagListComponent;
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
var P = Object.defineProperty, D = Object.defineProperties;
|
|
2
|
+
var U = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var m = Object.getOwnPropertySymbols;
|
|
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, d = (e, t) => {
|
|
6
|
+
for (var o in t || (t = {}))
|
|
7
|
+
w.call(t, o) && z(e, o, t[o]);
|
|
8
|
+
if (m)
|
|
9
|
+
for (var o of m(t))
|
|
10
|
+
L.call(t, o) && z(e, o, t[o]);
|
|
11
|
+
return e;
|
|
12
|
+
}, h = (e, t) => D(e, U(t));
|
|
13
|
+
var S = (e, t) => {
|
|
14
|
+
var o = {};
|
|
15
|
+
for (var r in e)
|
|
16
|
+
w.call(e, r) && t.indexOf(r) < 0 && (o[r] = e[r]);
|
|
17
|
+
if (e != null && m)
|
|
18
|
+
for (var r of m(e))
|
|
19
|
+
t.indexOf(r) < 0 && L.call(e, r) && (o[r] = e[r]);
|
|
20
|
+
return o;
|
|
21
|
+
};
|
|
22
|
+
import { css as p } from "@emotion/react";
|
|
23
|
+
import s from "@emotion/styled";
|
|
24
|
+
import { initialRouteFallback as q } from "@telia-ace/knowledge-widget-component-utilities";
|
|
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";
|
|
26
|
+
import { appendClassNames as v } from "@telia-ace/widget-utilities";
|
|
27
|
+
import a from "react";
|
|
28
|
+
const ee = (e, t, o) => e && o ? /* @__PURE__ */ a.createElement(E, { symbol: o, size: 18 }) : t ? /* @__PURE__ */ a.createElement(E, { symbol: t, size: 18 }) : null, fe = (o) => {
|
|
29
|
+
var r = o, { className: e } = r, t = S(r, ["className"]);
|
|
30
|
+
const {
|
|
31
|
+
route: I = "search",
|
|
32
|
+
items: u = [],
|
|
33
|
+
header: R,
|
|
34
|
+
loading: i = !1,
|
|
35
|
+
style: f = "badge",
|
|
36
|
+
showMatchCount: T = !1,
|
|
37
|
+
showIcons: A = !1,
|
|
38
|
+
static: l = !1,
|
|
39
|
+
fallbackOnInitialRoute: B = !1,
|
|
40
|
+
itemAriaLabel: y
|
|
41
|
+
} = G(), j = H(), { params: b } = J();
|
|
42
|
+
if (!u.length && (!i || l))
|
|
43
|
+
return K(j, h(d({}, t), {
|
|
44
|
+
className: v(e, "humany-tag-list")
|
|
45
|
+
}));
|
|
46
|
+
const F = f === "badge" ? oe : re;
|
|
47
|
+
return /* @__PURE__ */ a.createElement(
|
|
48
|
+
te,
|
|
49
|
+
h(d({}, t), {
|
|
50
|
+
"data-loading": !l && i,
|
|
51
|
+
className: v(e, "humany-tag-list"),
|
|
52
|
+
header: !l && i ? "" : R,
|
|
53
|
+
items: u,
|
|
54
|
+
type: f,
|
|
55
|
+
renderItem: (n) => {
|
|
56
|
+
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}`);
|
|
57
|
+
return /* @__PURE__ */ a.createElement(
|
|
58
|
+
le,
|
|
59
|
+
{
|
|
60
|
+
key: $,
|
|
61
|
+
notAllowed: (l && !c && f === "pill").toString(),
|
|
62
|
+
"data-tag": $
|
|
63
|
+
},
|
|
64
|
+
/* @__PURE__ */ a.createElement(
|
|
65
|
+
F,
|
|
66
|
+
h(d({}, q(n, I, B, "tag")), {
|
|
67
|
+
role: "button",
|
|
68
|
+
"aria-pressed": g,
|
|
69
|
+
"aria-label": O,
|
|
70
|
+
disabled: l && !c,
|
|
71
|
+
selected: g,
|
|
72
|
+
text: x
|
|
73
|
+
}),
|
|
74
|
+
A && ee(g, M, N),
|
|
75
|
+
T && /* @__PURE__ */ a.createElement(ae, null, `(${c})`)
|
|
76
|
+
)
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
}),
|
|
80
|
+
!l && /* @__PURE__ */ a.createElement(Q, { loading: i })
|
|
81
|
+
);
|
|
82
|
+
}, te = s(V)`
|
|
83
|
+
${W}
|
|
84
|
+
${X}
|
|
85
|
+
${Y}
|
|
86
|
+
justify-content: flex-start;
|
|
87
|
+
padding: ${(e) => {
|
|
88
|
+
var t;
|
|
89
|
+
return (t = e.theme.sizes) == null ? void 0 : t.large;
|
|
90
|
+
}};
|
|
91
|
+
ul {
|
|
92
|
+
display: flex;
|
|
93
|
+
flex-wrap: wrap;
|
|
94
|
+
${(e) => e.type === "pill" && p`
|
|
95
|
+
justify-content: center;
|
|
96
|
+
`}
|
|
97
|
+
|
|
98
|
+
li {
|
|
99
|
+
margin: 0 ${(e) => {
|
|
100
|
+
var t, o;
|
|
101
|
+
return `${(t = e.theme.sizes) == null ? void 0 : t.small} ${(o = e.theme.sizes) == null ? void 0 : o.small}`;
|
|
102
|
+
}} 0;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
`, oe = s(k)`
|
|
106
|
+
padding: 8px 15px;
|
|
107
|
+
background-color: ${(e) => {
|
|
108
|
+
var t, o;
|
|
109
|
+
return e.selected ? (t = e.theme.colors) == null ? void 0 : t.text : (o = e.theme.colors) == null ? void 0 : o.primary;
|
|
110
|
+
}};
|
|
111
|
+
border-radius: ${(e) => e.theme.borderRadius};
|
|
112
|
+
font-weight: 300;
|
|
113
|
+
font-size: ${(e) => {
|
|
114
|
+
var t;
|
|
115
|
+
return (t = e.theme.fonts) == null ? void 0 : t.normal;
|
|
116
|
+
}};
|
|
117
|
+
display: flex;
|
|
118
|
+
align-items: center;
|
|
119
|
+
color: #ffffff;
|
|
120
|
+
|
|
121
|
+
&:focus-visible {
|
|
122
|
+
${C}
|
|
123
|
+
padding: 6px 15px;
|
|
124
|
+
background-color: transparent;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
@media (hover: hover) {
|
|
128
|
+
&:hover {
|
|
129
|
+
background-color: ${(e) => {
|
|
130
|
+
var t, o;
|
|
131
|
+
return e.selected ? (t = e.theme.colors) == null ? void 0 : t.primary : (o = e.theme.colors) == null ? void 0 : o.text;
|
|
132
|
+
}};
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
`, re = s(k)`
|
|
136
|
+
border: 1px solid ${(e) => {
|
|
137
|
+
var t;
|
|
138
|
+
return e.selected ? (t = e.theme.colors) == null ? void 0 : t.text : "transparent";
|
|
139
|
+
}};
|
|
140
|
+
line-height: 2em;
|
|
141
|
+
border-radius: 1em;
|
|
142
|
+
padding: 0 0.5em;
|
|
143
|
+
display: flex;
|
|
144
|
+
align-items: center;
|
|
145
|
+
font-weight: ${(e) => e.selected ? "normal" : 300};
|
|
146
|
+
color: ${(e) => {
|
|
147
|
+
var t;
|
|
148
|
+
return (t = e.theme.colors) == null ? void 0 : t.text;
|
|
149
|
+
}};
|
|
150
|
+
|
|
151
|
+
&:disabled {
|
|
152
|
+
color: ${(e) => {
|
|
153
|
+
var t;
|
|
154
|
+
return (t = e.theme.colors) == null ? void 0 : t.textLight;
|
|
155
|
+
}};
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
&:focus-visible {
|
|
159
|
+
${C}
|
|
160
|
+
border-radius: 1em;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
@media (hover: hover) {
|
|
164
|
+
&:hover {
|
|
165
|
+
border: 1px solid ${(e) => {
|
|
166
|
+
var t;
|
|
167
|
+
return (t = e.theme.colors) == null ? void 0 : t.text;
|
|
168
|
+
}};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
${(e) => e.disabled && p`
|
|
173
|
+
opacity: 0.5;
|
|
174
|
+
`}
|
|
175
|
+
`, ae = s(Z)`
|
|
176
|
+
order: 2;
|
|
177
|
+
margin-left: ${(e) => {
|
|
178
|
+
var t;
|
|
179
|
+
return (t = e.theme.sizes) == null ? void 0 : t.small;
|
|
180
|
+
}};
|
|
181
|
+
`, E = s(_)`
|
|
182
|
+
margin-right: ${(e) => {
|
|
183
|
+
var t;
|
|
184
|
+
return (t = e.theme.sizes) == null ? void 0 : t.small;
|
|
185
|
+
}};
|
|
186
|
+
${(e) => {
|
|
187
|
+
if (e.symbol.type === "Uri")
|
|
188
|
+
return `
|
|
189
|
+
width: ${e.size}px;
|
|
190
|
+
height: ${e.size}px;
|
|
191
|
+
`;
|
|
192
|
+
if (e.symbol.type === "FontAwesome")
|
|
193
|
+
return `
|
|
194
|
+
font-size: ${e.size}px;
|
|
195
|
+
`;
|
|
196
|
+
}}
|
|
197
|
+
`, le = s.li`
|
|
198
|
+
${(e) => e.notAllowed === "true" && p`
|
|
199
|
+
cursor: not-allowed;
|
|
200
|
+
`}
|
|
201
|
+
`;
|
|
202
|
+
export {
|
|
203
|
+
fe as default
|
|
204
|
+
};
|
|
205
|
+
//# sourceMappingURL=tag-list.73b01dd5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-list.73b01dd5.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,MAAMA,KAAU,CAACC,GAAmBC,GAAsBC,MAClDF,KAAYE,IACJ,gBAAAC,EAAA,cAAAC,GAAA,EAAkB,QAAQF,GAAY,MAAM,GAAI,CAAA,IAExDD,IACQ,gBAAAE,EAAA,cAAAC,GAAA,EAAkB,QAAQH,GAAa,MAAM,GAAI,CAAA,IAEtD,MAGLI,KAA2B,CAACC,MAA4B;AAA5B,MAAAC,IAAAD,GAAE,aAAAE,MAAFD,GAAgBE,IAAAC,EAAhBH,GAAgB,CAAd;AAC1B,QAAA;AAAA,IACF,OAAAI,IAAQ;AAAA,IACR,OAAAC,IAAQ,CAAC;AAAA,IACT,QAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,OAAAC,IAAQ;AAAA,IACR,gBAAAC,IAAiB;AAAA,IACjB,WAAAC,IAAY;AAAA,IACZ,QAAQC,IAAa;AAAA,IACrB,wBAAAC,IAAyB;AAAA,IACzB,eAAAC;AAAA,MACAC,EAAqC,GACnCC,IAAYC,KACZ,EAAE,QAAAC,MAAWC;AAEnB,MAAI,CAACb,EAAM,WAAW,CAACE,KAAWI;AAC9B,WAAOQ,EAAqBJ,GAAWK,EAAAC,EAAA,IAChCnB,IADgC;AAAA,MAEnC,WAAWoB,EAAiBrB,GAAW,iBAAiB;AAAA,IAAA,EAC3D;AAGC,QAAAsB,IAAYf,MAAU,UAAUgB,KAAcC;AAGhD,SAAA,gBAAA7B,EAAA;AAAA,IAAC8B;AAAA,IAAAN,EAAAC,EAAA,IACOnB,IADP;AAAA,MAEG,gBAAc,CAACS,KAAcJ;AAAA,MAC7B,WAAWe,EAAiBrB,GAAW,iBAAiB;AAAA,MACxD,QAAQ,CAACU,KAAcJ,IAAU,KAAKD;AAAA,MACtC,OAAAD;AAAA,MACA,MAAMG;AAAA,MACN,YAAY,CAACmB,MAAc;AACvB,cAAM,EAAE,IAAAC,GAAI,OAAAC,GAAO,aAAAnC,GAAa,YAAAC,GAAY,SAAAmC,EAAY,IAAAH,GAClDlC,IAAWwB,EAAO,QAAQU,EAAK,MAAO,CAACV,EAAO,OAAOU,EAAK,OAAO,KAEjEI,IACFlB,KACAA,EAAc,QAAQ,aAAagB,CAAK,EAAE,QAAQ,eAAe,GAAGC,GAAS;AAG7E,eAAA,gBAAAlC,EAAA;AAAA,UAACoC;AAAA,UAAA;AAAA,YACG,KAAKJ;AAAA,YACL,aAAajB,KAAc,CAACmB,KAAWtB,MAAU,QAAQ,SAAS;AAAA,YAClE,YAAUoB;AAAA,UAAA;AAAA,UAEV,gBAAAhC,EAAA;AAAA,YAAC2B;AAAA,YAAAH,EAAAC,EAAA,IACOY,EAAqBN,GAAMvB,GAAOQ,GAAwB,KAAK,IADtE;AAAA,cAEG,MAAK;AAAA,cACL,gBAAcnB;AAAA,cACd,cAAYsC;AAAA,cACZ,UAAUpB,KAAc,CAACmB;AAAA,cACzB,UAAArC;AAAA,cACA,MAAMoC;AAAA,YAAA;AAAA,YAELnB,KAAalB,GAAQC,GAAUC,GAAaC,CAAU;AAAA,YACtDc,KACG,gBAAAb,EAAA,cAACsC,IAAkB,MAAA,IAAIJ,IAAW;AAAA,UAE1C;AAAA,QAAA;AAAA,MAGZ;AAAA,IAAA;AAAA,IAEC,CAACnB,KAAe,gBAAAf,EAAA,cAAAuC,GAAA,EAAO,SAAA5B,EAAkB,CAAA;AAAA,EAAA;AAGtD,GAIMmB,KAAiBU,EAAOC,CAAQ;AAAA,MAChCC;AAAA,MACAC;AAAA,IACFC;AAAA;AAAA,eAEW,CAACC,MAAM;;AAAA,UAAA1C,IAAA0C,EAAE,MAAM,UAAR,gBAAA1C,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA,UAI3B,CAAC0C,MACCA,EAAE,SAAS,UACXC;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKY,CAACD,MAAM;;AAAA,aAAG1C,IAAA0C,EAAE,MAAM,UAAR,gBAAA1C,EAAe,UAASC,IAAAyC,EAAE,MAAM,UAAR,gBAAAzC,EAAe;AAAA;AAAA;AAAA;AAAA,GAKnEwB,KAAcY,EAAOO,CAAQ;AAAA;AAAA,wBAEX,CAACF,MAAO;;AAAA,SAAAA,EAAE,YAAW1C,IAAA0C,EAAE,MAAM,WAAR,gBAAA1C,EAAgB,QAAOC,IAAAyC,EAAE,MAAM,WAAR,gBAAAzC,EAAgB;AAAA;AAAA,qBAC/D,CAACyC,MAAMA,EAAE,MAAM;AAAA;AAAA,iBAEnB,CAACA,MAAM;;AAAA,UAAA1C,IAAA0C,EAAE,MAAM,UAAR,gBAAA1C,EAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAM7B6C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAOsB,CAACH,MACjB;;AAAA,SAAAA,EAAE,YAAW1C,IAAA0C,EAAE,MAAM,WAAR,gBAAA1C,EAAgB,WAAUC,IAAAyC,EAAE,MAAM,WAAR,gBAAAzC,EAAgB;AAAA;AAAA;AAAA;AAAA,GAKjEyB,KAAaW,EAAOO,CAAQ;AAAA,wBACV,CAACF,MAAO;;AAAA,SAAAA,EAAE,YAAW1C,IAAA0C,EAAE,MAAM,WAAR,gBAAA1C,EAAgB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAMjD,CAAC0C,MAAOA,EAAE,WAAW,WAAW;AAAA,aACtC,CAACA,MAAM;;AAAA,UAAA1C,IAAA0C,EAAE,MAAM,WAAR,gBAAA1C,EAAgB;AAAA;AAAA;AAAA;AAAA,iBAGnB,CAAC0C,MAAM;;AAAA,UAAA1C,IAAA0C,EAAE,MAAM,WAAR,gBAAA1C,EAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,UAI9B6C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gCAMsB,CAACH,MAAM;;AAAA,UAAA1C,IAAA0C,EAAE,MAAM,WAAR,gBAAA1C,EAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,MAIjD,CAAC0C,MACCA,EAAE,YACFC;AAAA;AAAA;AAAA,GAKFR,KAAmBE,EAAOS,CAAI;AAAA;AAAA,mBAEjB,CAACJ,MAAM;;AAAA,UAAA1C,IAAA0C,EAAE,MAAM,UAAR,gBAAA1C,EAAe;AAAA;AAAA,GAGnCF,IAAoBuC,EAAOU,CAAW;AAAA,oBACxB,CAACL,MAAM;;AAAA,UAAA1C,IAAA0C,EAAE,MAAM,UAAR,gBAAA1C,EAAe;AAAA;AAAA,MACpC,CAAC0C,MAAW;AACN,MAAAA,EAAE,OAAO,SAAS;AACX,WAAA;AAAA,iBACFA,EAAE;AAAA,kBACDA,EAAE;AAAA;AAIR,MAAAA,EAAE,OAAO,SAAS;AACX,WAAA;AAAA,qBACEA,EAAE;AAAA;AAGnB;AAAA,GAGET,KAAWI,EAAO;AAAA,MAClB,CAACK,MACCA,EAAE,eAAe,UACjBC;AAAA;AAAA;AAAA;"}
|
package/dist/tag-list.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telia-ace/knowledge-widget-components-tag-list",
|
|
3
|
-
"version": "1.0.38
|
|
3
|
+
"version": "1.0.38",
|
|
4
4
|
"description": "Tag list component for ACE Knowledge Widgets.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"author": "Telia Company AB",
|
|
@@ -21,11 +21,11 @@
|
|
|
21
21
|
},
|
|
22
22
|
"sideEffects": false,
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@telia-ace/knowledge-widget-component-utilities": "1.0.38
|
|
25
|
-
"@telia-ace/knowledge-widget-core": "1.0.34
|
|
26
|
-
"@telia-ace/knowledge-widget-types-grid": "1.0.45
|
|
27
|
-
"@telia-ace/knowledge-widget-ui": "1.0.40
|
|
28
|
-
"@telia-ace/widget-utilities": "^1.0.
|
|
24
|
+
"@telia-ace/knowledge-widget-component-utilities": "^1.0.38",
|
|
25
|
+
"@telia-ace/knowledge-widget-core": "^1.0.34",
|
|
26
|
+
"@telia-ace/knowledge-widget-types-grid": "^1.0.45",
|
|
27
|
+
"@telia-ace/knowledge-widget-ui": "^1.0.40",
|
|
28
|
+
"@telia-ace/widget-utilities": "^1.0.9",
|
|
29
29
|
"@webprovisions/platform": "^1.1.2"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|