@telia-ace/knowledge-widget-components-tag-list 1.0.4 → 1.0.8

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.
File without changes
package/dist/index.js ADDED
@@ -0,0 +1,84 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import { createEventSubscriber, extendComponent } from "@telia-ace/knowledge-widget-core";
21
+ import { DataType } from "@telia-ace/knowledge-widget-types-grid";
22
+ import { createReactComponent } from "@telia-ace/knowledge-widget-ui";
23
+ const TagListComponent = (container) => {
24
+ return createReactComponent(container, "tag-list", import("./tag-list.js"), (component) => {
25
+ const { events } = container.get("$widget");
26
+ const [subscribe, unsubscribe] = createEventSubscriber(events);
27
+ component.actions.create("fetch", ({ items = [] }) => {
28
+ return component.actions.dispatch("fetched", {
29
+ items,
30
+ loading: true
31
+ });
32
+ });
33
+ component.actions.create("fetched", (input) => {
34
+ return component.writeProperties(__spreadProps(__spreadValues({}, input), { loading: false }));
35
+ });
36
+ const fetch = (input = {}) => {
37
+ component.writeProperties({ loading: true, error: void 0 });
38
+ component.actions.dispatch("fetch", input);
39
+ };
40
+ container.getAsync("router").then((router) => {
41
+ const { params } = router.getRouteData();
42
+ fetch(params);
43
+ });
44
+ subscribe("router:changed", (event, { current }) => {
45
+ fetch(current.routeData.params);
46
+ });
47
+ return () => {
48
+ unsubscribe();
49
+ };
50
+ }).then(() => {
51
+ return extendComponent(container, "tag-list", (component) => {
52
+ component.actions.watch("tag-list.fetch", (input, next) => {
53
+ return container.getAsync("dataClient").then((dataClient) => {
54
+ const { static: staticTags = false, rootTagLabel = "" } = component.properties();
55
+ const { phrase, guideCategory, tag } = input;
56
+ return dataClient.fetch(staticTags ? DataType.Tags : DataType.TagsOnGuides, {
57
+ searchPhrase: phrase,
58
+ categories: guideCategory,
59
+ tagId: tag
60
+ }).then((tags = []) => {
61
+ if (staticTags) {
62
+ const indexOfRoot = tags.findIndex((tag2) => tag2.id === "0");
63
+ if (indexOfRoot > -1) {
64
+ tags.unshift(tags.splice(indexOfRoot, 1)[0]);
65
+ }
66
+ }
67
+ return next({
68
+ items: tags.map((t) => {
69
+ if (t.id === "0") {
70
+ t.title = rootTagLabel;
71
+ }
72
+ return t;
73
+ })
74
+ });
75
+ }).catch((e) => {
76
+ return next({ items: [] });
77
+ });
78
+ });
79
+ });
80
+ });
81
+ });
82
+ };
83
+ export { TagListComponent as default };
84
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/tag-list-component.ts"],"sourcesContent":["import { createEventSubscriber, extendComponent, Tag } from '@telia-ace/knowledge-widget-core';\r\nimport { DataClient, DataType, TagsResult } from '@telia-ace/knowledge-widget-types-grid';\r\nimport { createReactComponent } from '@telia-ace/knowledge-widget-ui';\r\nimport { Params } from '@telia-ace/widget-utilities';\r\nimport { Container } from '@webprovisions/platform';\r\n\r\nexport type TagListComponentProps = {\r\n header: string;\r\n route?: string;\r\n items: Tag[]; // internal\r\n style?: 'badge' | 'pill';\r\n showMatchCount?: boolean;\r\n showIcons?: boolean;\r\n static?: boolean;\r\n rootTagLabel?: string;\r\n fallbackOnInitialRoute?: boolean;\r\n itemAriaLabel?: string;\r\n};\r\n\r\nconst TagListComponent = (container: Container) => {\r\n return createReactComponent(container, 'tag-list', import('./tag-list'), (component) => {\r\n const { events } = container.get('$widget');\r\n const [subscribe, unsubscribe] = createEventSubscriber(events);\r\n\r\n component.actions.create('fetch', ({ items = [] }) => {\r\n return component.actions.dispatch('fetched', {\r\n items,\r\n loading: true,\r\n });\r\n });\r\n\r\n component.actions.create('fetched', (input) => {\r\n return component.writeProperties({ ...input, loading: false });\r\n });\r\n\r\n const fetch = (input: Params = {}) => {\r\n component.writeProperties({ loading: true, error: undefined });\r\n\r\n component.actions.dispatch('fetch', input);\r\n };\r\n\r\n container.getAsync('router').then((router) => {\r\n const { params } = router.getRouteData();\r\n fetch(params);\r\n });\r\n\r\n subscribe('router:changed', (event: any, { current }: any) => {\r\n fetch(current.routeData.params);\r\n });\r\n\r\n return () => {\r\n unsubscribe();\r\n };\r\n }).then(() => {\r\n return extendComponent(container, 'tag-list', (component) => {\r\n component.actions.watch('tag-list.fetch', (input, next) => {\r\n return container.getAsync('dataClient').then((dataClient: DataClient) => {\r\n const { static: staticTags = false, rootTagLabel = '' } =\r\n component.properties() as TagListComponentProps;\r\n\r\n const { phrase, guideCategory, tag } = input;\r\n\r\n return dataClient\r\n .fetch(staticTags ? DataType.Tags : DataType.TagsOnGuides, {\r\n searchPhrase: phrase,\r\n categories: guideCategory,\r\n tagId: tag,\r\n })\r\n .then((tags: TagsResult = []) => {\r\n if (staticTags) {\r\n const indexOfRoot = tags.findIndex((tag) => tag.id === '0');\r\n\r\n if (indexOfRoot > -1) {\r\n tags.unshift(tags.splice(indexOfRoot, 1)[0]);\r\n }\r\n }\r\n\r\n return next({\r\n items: tags.map((t) => {\r\n if (t.id === '0') {\r\n t.title = rootTagLabel;\r\n }\r\n\r\n return t;\r\n }),\r\n });\r\n })\r\n .catch((e) => {\r\n return next({ items: [] });\r\n });\r\n });\r\n });\r\n });\r\n });\r\n};\r\n\r\nexport default TagListComponent;\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAmBM,MAAA,mBAAmB,CAAC,cAAyB;AAC/C,SAAO,qBAAqB,WAAW,YAAY,OAAO,kBAAe,CAAC,cAAc;AACpF,UAAM,EAAE,WAAW,UAAU,IAAI,SAAS;AAC1C,UAAM,CAAC,WAAW,eAAe,sBAAsB,MAAM;AAE7D,cAAU,QAAQ,OAAO,SAAS,CAAC,EAAE,QAAQ,CAAA,QAAS;AAC3C,aAAA,UAAU,QAAQ,SAAS,WAAW;AAAA,QACzC;AAAA,QACA,SAAS;AAAA,MAAA,CACZ;AAAA,IAAA,CACJ;AAED,cAAU,QAAQ,OAAO,WAAW,CAAC,UAAU;AAC3C,aAAO,UAAU,gBAAgB,iCAAK,QAAL,EAAY,SAAS,QAAO;AAAA,IAAA,CAChE;AAED,UAAM,QAAQ,CAAC,QAAgB,OAAO;AAClC,gBAAU,gBAAgB,EAAE,SAAS,MAAM,OAAO,QAAW;AAEnD,gBAAA,QAAQ,SAAS,SAAS,KAAK;AAAA,IAAA;AAG7C,cAAU,SAAS,QAAQ,EAAE,KAAK,CAAC,WAAW;AACpC,YAAA,EAAE,WAAW,OAAO,aAAa;AACvC,YAAM,MAAM;AAAA,IAAA,CACf;AAED,cAAU,kBAAkB,CAAC,OAAY,EAAE,cAAmB;AACpD,YAAA,QAAQ,UAAU,MAAM;AAAA,IAAA,CACjC;AAED,WAAO,MAAM;AACG;IAAA;AAAA,EAChB,CACH,EAAE,KAAK,MAAM;AACV,WAAO,gBAAgB,WAAW,YAAY,CAAC,cAAc;AACzD,gBAAU,QAAQ,MAAM,kBAAkB,CAAC,OAAO,SAAS;AACvD,eAAO,UAAU,SAAS,YAAY,EAAE,KAAK,CAAC,eAA2B;AACrE,gBAAM,EAAE,QAAQ,aAAa,OAAO,eAAe,OAC/C,UAAU;AAER,gBAAA,EAAE,QAAQ,eAAe,QAAQ;AAEvC,iBAAO,WACF,MAAM,aAAa,SAAS,OAAO,SAAS,cAAc;AAAA,YACvD,cAAc;AAAA,YACd,YAAY;AAAA,YACZ,OAAO;AAAA,UACV,CAAA,EACA,KAAK,CAAC,OAAmB,OAAO;AAC7B,gBAAI,YAAY;AACZ,oBAAM,cAAc,KAAK,UAAU,CAAC,SAAQ,KAAI,OAAO,GAAG;AAE1D,kBAAI,cAAc,IAAI;AAClB,qBAAK,QAAQ,KAAK,OAAO,aAAa,CAAC,EAAE,EAAE;AAAA,cAC/C;AAAA,YACJ;AAEA,mBAAO,KAAK;AAAA,cACR,OAAO,KAAK,IAAI,CAAC,MAAM;AACf,oBAAA,EAAE,OAAO,KAAK;AACd,oBAAE,QAAQ;AAAA,gBACd;AAEO,uBAAA;AAAA,cAAA,CACV;AAAA,YAAA,CACJ;AAAA,UAAA,CACJ,EACA,MAAM,CAAC,MAAM;AACV,mBAAO,KAAK,EAAE,OAAO,CAAA,EAAI,CAAA;AAAA,UAAA,CAC5B;AAAA,QAAA,CACR;AAAA,MAAA,CACJ;AAAA,IAAA,CACJ;AAAA,EAAA,CACJ;AACL;;"}
File without changes
File without changes
@@ -0,0 +1,236 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __objRest = (source, exclude) => {
21
+ var target = {};
22
+ for (var prop in source)
23
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
24
+ target[prop] = source[prop];
25
+ if (source != null && __getOwnPropSymbols)
26
+ for (var prop of __getOwnPropSymbols(source)) {
27
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
28
+ target[prop] = source[prop];
29
+ }
30
+ return target;
31
+ };
32
+ import { initialRouteFallback } from "@telia-ace/knowledge-widget-component-utilities";
33
+ import { useProperties, useContainer, useRouteData, createEmptyComponent, Loader, ItemList, contentBox, itemList, loadingOpacity, TextLink, borderTabStyle, Text, SymbolBadge } from "@telia-ace/knowledge-widget-ui";
34
+ import { appendClassNames } from "@telia-ace/widget-utilities";
35
+ import React from "react";
36
+ import styled, { css } from "styled-components";
37
+ const getIcon = (selected, defaultIcon, activeIcon) => {
38
+ if (selected && activeIcon) {
39
+ return /* @__PURE__ */ React.createElement(StyledSymbolBadge, {
40
+ symbol: activeIcon,
41
+ size: 18
42
+ });
43
+ }
44
+ if (defaultIcon) {
45
+ return /* @__PURE__ */ React.createElement(StyledSymbolBadge, {
46
+ symbol: defaultIcon,
47
+ size: 18
48
+ });
49
+ }
50
+ return null;
51
+ };
52
+ const TagList = (_a) => {
53
+ var _b = _a, { className } = _b, other = __objRest(_b, ["className"]);
54
+ const {
55
+ route = "search",
56
+ items = [],
57
+ header,
58
+ loading = false,
59
+ style = "badge",
60
+ showMatchCount = false,
61
+ showIcons = false,
62
+ static: staticTags = false,
63
+ fallbackOnInitialRoute = false,
64
+ itemAriaLabel
65
+ } = useProperties();
66
+ const container = useContainer();
67
+ const { params } = useRouteData();
68
+ if (!items.length && (!loading || staticTags)) {
69
+ return createEmptyComponent(container, __spreadProps(__spreadValues({}, other), {
70
+ className: appendClassNames(className, "humany-tag-list")
71
+ }));
72
+ }
73
+ const Component = style === "badge" ? StyledBadge : StyledPill;
74
+ return /* @__PURE__ */ React.createElement(StyledItemList, __spreadProps(__spreadValues({}, other), {
75
+ "data-loading": !staticTags && loading,
76
+ className: appendClassNames(className, "humany-tag-list"),
77
+ header: !staticTags && loading ? "" : header,
78
+ items,
79
+ type: style,
80
+ renderItem: (item) => {
81
+ const { id, title, defaultIcon, activeIcon, matches } = item;
82
+ const selected = params.tag === item.id || !params.tag && item.id === "0";
83
+ const ariaLabel = itemAriaLabel && itemAriaLabel.replace("{{title}}", title).replace("{{matches}}", `${matches}`);
84
+ return /* @__PURE__ */ React.createElement(StyledLi, {
85
+ key: id,
86
+ notAllowed: (staticTags && !matches && style === "pill").toString(),
87
+ "data-tag": id
88
+ }, /* @__PURE__ */ React.createElement(Component, __spreadProps(__spreadValues({}, initialRouteFallback(item, route, fallbackOnInitialRoute, "tag")), {
89
+ role: "button",
90
+ "aria-pressed": selected,
91
+ "aria-label": ariaLabel,
92
+ disabled: staticTags && !matches,
93
+ selected,
94
+ text: title
95
+ }), showIcons && getIcon(selected, defaultIcon, activeIcon), showMatchCount && /* @__PURE__ */ React.createElement(StyledMatchCount, null, `(${matches})`)));
96
+ }
97
+ }), !staticTags && /* @__PURE__ */ React.createElement(Loader, {
98
+ loading
99
+ }));
100
+ };
101
+ const StyledItemList = styled(ItemList)`
102
+ ${contentBox}
103
+ ${itemList}
104
+ ${loadingOpacity}
105
+ justify-content: flex-start;
106
+ padding: ${(p) => {
107
+ var _a;
108
+ return (_a = p.theme.sizes) == null ? void 0 : _a.large;
109
+ }};
110
+ ul {
111
+ display: flex;
112
+ flex-wrap: wrap;
113
+ ${(p) => p.type === "pill" && css`
114
+ justify-content: center;
115
+ `}
116
+
117
+ li {
118
+ margin: 0 ${(p) => {
119
+ var _a, _b;
120
+ return `${(_a = p.theme.sizes) == null ? void 0 : _a.small} ${(_b = p.theme.sizes) == null ? void 0 : _b.small}`;
121
+ }} 0;
122
+ }
123
+ }
124
+ `;
125
+ const StyledBadge = styled(TextLink)`
126
+ padding: 8px 15px;
127
+ background-color: ${(p) => {
128
+ var _a, _b;
129
+ return p.selected ? (_a = p.theme.colors) == null ? void 0 : _a.text : (_b = p.theme.colors) == null ? void 0 : _b.primary;
130
+ }};
131
+ border-radius: ${(p) => p.theme.borderRadius};
132
+ font-weight: 300;
133
+ font-size: ${(p) => {
134
+ var _a;
135
+ return (_a = p.theme.fonts) == null ? void 0 : _a.normal;
136
+ }};
137
+ display: flex;
138
+ align-items: center;
139
+ color: #ffffff;
140
+
141
+ &:focus {
142
+ ${(p) => {
143
+ var _a;
144
+ return ((_a = p.theme.accessibility) == null ? void 0 : _a.isTabbing) && css`
145
+ ${borderTabStyle}
146
+ padding: 6px 15px;
147
+ background-color: transparent;
148
+ `;
149
+ }};
150
+ }
151
+
152
+ @media (hover: hover) {
153
+ &:hover {
154
+ background-color: ${(p) => {
155
+ var _a, _b;
156
+ return p.selected ? (_a = p.theme.colors) == null ? void 0 : _a.primary : (_b = p.theme.colors) == null ? void 0 : _b.text;
157
+ }};
158
+ }
159
+ }
160
+ `;
161
+ const StyledPill = styled(TextLink)`
162
+ border: 1px solid ${(p) => {
163
+ var _a;
164
+ return p.selected ? (_a = p.theme.colors) == null ? void 0 : _a.text : "transparent";
165
+ }};
166
+ line-height: 2em;
167
+ border-radius: 1em;
168
+ padding: 0 0.5em;
169
+ display: flex;
170
+ align-items: center;
171
+ font-weight: ${(p) => p.selected ? "normal" : 300};
172
+ color: ${(p) => {
173
+ var _a;
174
+ return (_a = p.theme.colors) == null ? void 0 : _a.text;
175
+ }};
176
+
177
+ &:disabled {
178
+ color: ${(p) => {
179
+ var _a;
180
+ return (_a = p.theme.colors) == null ? void 0 : _a.textLight;
181
+ }};
182
+ }
183
+
184
+ &:focus {
185
+ ${(p) => {
186
+ var _a;
187
+ return ((_a = p.theme.accessibility) == null ? void 0 : _a.isTabbing) && css`
188
+ ${borderTabStyle}
189
+ border-radius: 1em;
190
+ `;
191
+ }}
192
+ }
193
+
194
+ @media (hover: hover) {
195
+ &:hover {
196
+ border: 1px solid ${(p) => {
197
+ var _a;
198
+ return (_a = p.theme.colors) == null ? void 0 : _a.text;
199
+ }};
200
+ }
201
+ }
202
+
203
+ ${(p) => p.disabled && css`
204
+ opacity: 0.5;
205
+ `}
206
+ `;
207
+ const StyledMatchCount = styled(Text)`
208
+ order: 2;
209
+ margin-left: ${(p) => p.theme.sizes.small};
210
+ `;
211
+ const StyledSymbolBadge = styled(SymbolBadge)`
212
+ margin-right: ${(p) => {
213
+ var _a;
214
+ return (_a = p.theme.sizes) == null ? void 0 : _a.small;
215
+ }};
216
+ ${(p) => {
217
+ if (p.symbol.type === "Uri") {
218
+ return `
219
+ width: ${p.size}px;
220
+ height: ${p.size}px;
221
+ `;
222
+ }
223
+ if (p.symbol.type === "FontAwesome") {
224
+ return `
225
+ font-size: ${p.size}px;
226
+ `;
227
+ }
228
+ }}
229
+ `;
230
+ const StyledLi = styled.li`
231
+ ${(p) => p.notAllowed === "true" && css`
232
+ cursor: not-allowed;
233
+ `}
234
+ `;
235
+ export { TagList as default };
236
+ //# sourceMappingURL=tag-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-list.js","sources":["../src/tag-list.tsx"],"sourcesContent":["import { initialRouteFallback } from '@telia-ace/knowledge-widget-component-utilities';\r\nimport { Symbol, Tag } from '@telia-ace/knowledge-widget-core';\r\nimport {\r\n borderTabStyle,\r\n contentBox,\r\n createEmptyComponent,\r\n ItemList,\r\n itemList,\r\n Loader,\r\n loadingOpacity,\r\n SymbolBadge,\r\n Text,\r\n TextLink,\r\n useContainer,\r\n useProperties,\r\n useRouteData,\r\n} from '@telia-ace/knowledge-widget-ui';\r\nimport { appendClassNames } from '@telia-ace/widget-utilities';\r\nimport React from 'react';\r\nimport styled, { css } from 'styled-components';\r\nimport { TagListComponentProps } from './tag-list-component';\r\n\r\ntype Props = {\r\n className: string;\r\n};\r\n\r\nconst getIcon = (selected: boolean, defaultIcon?: Symbol, activeIcon?: Symbol) => {\r\n if (selected && activeIcon) {\r\n return <StyledSymbolBadge symbol={activeIcon} size={18} />;\r\n }\r\n if (defaultIcon) {\r\n return <StyledSymbolBadge symbol={defaultIcon} size={18} />;\r\n }\r\n return null;\r\n};\r\n\r\nconst TagList: React.SFC<Props> = ({ className, ...other }) => {\r\n const {\r\n route = 'search',\r\n items = [],\r\n header,\r\n loading = false,\r\n style = 'badge',\r\n showMatchCount = false,\r\n showIcons = false,\r\n static: staticTags = false,\r\n fallbackOnInitialRoute = false,\r\n itemAriaLabel,\r\n } = useProperties<TagListComponentProps>();\r\n const container = useContainer();\r\n const { params } = useRouteData();\r\n\r\n if (!items.length && (!loading || staticTags)) {\r\n return createEmptyComponent(container, {\r\n ...other,\r\n className: appendClassNames(className, 'humany-tag-list'),\r\n });\r\n }\r\n\r\n const Component = style === 'badge' ? StyledBadge : StyledPill;\r\n\r\n return (\r\n <StyledItemList\r\n {...other}\r\n data-loading={!staticTags && loading}\r\n className={appendClassNames(className, 'humany-tag-list')}\r\n header={!staticTags && loading ? '' : header}\r\n items={items}\r\n type={style}\r\n renderItem={(item: Tag) => {\r\n const { id, title, defaultIcon, activeIcon, matches } = item;\r\n const selected = params.tag === item.id || (!params.tag && item.id === '0');\r\n\r\n const ariaLabel =\r\n itemAriaLabel &&\r\n itemAriaLabel.replace('{{title}}', title).replace('{{matches}}', `${matches}`);\r\n\r\n return (\r\n <StyledLi\r\n key={id}\r\n notAllowed={(staticTags && !matches && style === 'pill').toString()}\r\n data-tag={id}\r\n >\r\n <Component\r\n {...initialRouteFallback(item, route, fallbackOnInitialRoute, 'tag')}\r\n role=\"button\"\r\n aria-pressed={selected}\r\n aria-label={ariaLabel}\r\n disabled={staticTags && !matches}\r\n selected={selected}\r\n text={title}\r\n >\r\n {showIcons && getIcon(selected, defaultIcon, activeIcon)}\r\n {showMatchCount && (\r\n <StyledMatchCount>{`(${matches})`}</StyledMatchCount>\r\n )}\r\n </Component>\r\n </StyledLi>\r\n );\r\n }}\r\n >\r\n {!staticTags && <Loader loading={loading} />}\r\n </StyledItemList>\r\n );\r\n};\r\n\r\nexport default TagList;\r\n\r\nconst StyledItemList = styled(ItemList)<{ 'data-loading': boolean } & any>`\r\n ${contentBox}\r\n ${itemList}\r\n ${loadingOpacity}\r\n justify-content: flex-start;\r\n padding: ${(p) => p.theme.sizes?.large};\r\n ul {\r\n display: flex;\r\n flex-wrap: wrap;\r\n ${(p) =>\r\n p.type === 'pill' &&\r\n css`\r\n justify-content: center;\r\n `}\r\n\r\n li {\r\n margin: 0 ${(p) => `${p.theme.sizes?.small} ${p.theme.sizes?.small}`} 0;\r\n }\r\n }\r\n`;\r\n\r\nconst StyledBadge = styled(TextLink)<any>`\r\n padding: 8px 15px;\r\n background-color: ${(p) => (p.selected ? p.theme.colors?.text : p.theme.colors?.primary)};\r\n border-radius: ${(p) => p.theme.borderRadius};\r\n font-weight: 300;\r\n font-size: ${(p) => p.theme.fonts?.normal};\r\n display: flex;\r\n align-items: center;\r\n color: #ffffff;\r\n\r\n &:focus {\r\n ${(p) =>\r\n p.theme.accessibility?.isTabbing &&\r\n css`\r\n ${borderTabStyle}\r\n padding: 6px 15px;\r\n background-color: transparent;\r\n `};\r\n }\r\n\r\n @media (hover: hover) {\r\n &:hover {\r\n background-color: ${(p) =>\r\n p.selected ? p.theme.colors?.primary : p.theme.colors?.text};\r\n }\r\n }\r\n`;\r\n\r\nconst StyledPill = styled(TextLink)<any>`\r\n border: 1px solid ${(p) => (p.selected ? p.theme.colors?.text : 'transparent')};\r\n line-height: 2em;\r\n border-radius: 1em;\r\n padding: 0 0.5em;\r\n display: flex;\r\n align-items: center;\r\n font-weight: ${(p) => (p.selected ? 'normal' : 300)};\r\n color: ${(p) => p.theme.colors?.text};\r\n\r\n &:disabled {\r\n color: ${(p) => p.theme.colors?.textLight};\r\n }\r\n\r\n &:focus {\r\n ${(p) =>\r\n p.theme.accessibility?.isTabbing &&\r\n css`\r\n ${borderTabStyle}\r\n border-radius: 1em;\r\n `}\r\n }\r\n\r\n @media (hover: hover) {\r\n &:hover {\r\n border: 1px solid ${(p) => p.theme.colors?.text};\r\n }\r\n }\r\n\r\n ${(p) =>\r\n p.disabled &&\r\n css`\r\n opacity: 0.5;\r\n `}\r\n`;\r\n\r\nconst StyledMatchCount = styled(Text)<any>`\r\n order: 2;\r\n margin-left: ${(p) => p.theme.sizes.small};\r\n`;\r\n\r\nconst StyledSymbolBadge = styled(SymbolBadge)<{ size: number; symbol: Symbol }>`\r\n margin-right: ${(p) => p.theme.sizes?.small};\r\n ${(p: any) => {\r\n if (p.symbol.type === 'Uri') {\r\n return `\r\n width: ${p.size}px;\r\n height: ${p.size}px;\r\n `;\r\n }\r\n\r\n if (p.symbol.type === 'FontAwesome') {\r\n return `\r\n font-size: ${p.size}px;\r\n `;\r\n }\r\n }}\r\n`;\r\n\r\nconst StyledLi = styled.li<{ notAllowed: string }>`\r\n ${(p) =>\r\n p.notAllowed === 'true' &&\r\n css`\r\n cursor: not-allowed;\r\n `}\r\n`;\r\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,34 +1,33 @@
1
1
  {
2
2
  "name": "@telia-ace/knowledge-widget-components-tag-list",
3
- "version": "1.0.4",
3
+ "version": "1.0.8",
4
4
  "description": "Tag list component for ACE Knowledge Widgets.",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "author": "Telia Company AB",
7
7
  "keywords": [
8
8
  "telia"
9
9
  ],
10
- "main": "lib/index.js",
11
- "module": "lib-esm/index.js",
10
+ "module": "dist/index.js",
11
+ "types": "dist/index.d.ts",
12
12
  "files": [
13
13
  "LICENSE.txt",
14
14
  "README.md",
15
- "lib/",
16
- "lib-esm/"
15
+ "dist/"
17
16
  ],
18
17
  "publishConfig": {
19
18
  "access": "public"
20
19
  },
21
20
  "scripts": {
22
- "clean": "cleandir lib && cleandir lib-esm",
23
- "compile": "tsc -p tsconfig.cjs.json && tsc -p tsconfig.esm.json"
21
+ "clean": "rimraf ./dist",
22
+ "precompile": "tsc -emitDeclarationOnly",
23
+ "compile": "vite build"
24
24
  },
25
25
  "sideEffects": false,
26
- "typings": "lib/index.d.ts",
27
26
  "dependencies": {
28
- "@telia-ace/knowledge-widget-component-utilities": "^1.0.4",
29
- "@telia-ace/knowledge-widget-core": "^1.0.6",
30
- "@telia-ace/knowledge-widget-types-grid": "^1.0.7",
31
- "@telia-ace/knowledge-widget-ui": "^1.0.7",
27
+ "@telia-ace/knowledge-widget-component-utilities": "^1.0.8",
28
+ "@telia-ace/knowledge-widget-core": "^1.0.7",
29
+ "@telia-ace/knowledge-widget-types-grid": "^1.0.14",
30
+ "@telia-ace/knowledge-widget-ui": "^1.0.11",
32
31
  "@telia-ace/widget-utilities": "^1.0.1",
33
32
  "@webprovisions/platform": "^1.1.2"
34
33
  },
@@ -42,5 +41,5 @@
42
41
  "@types/react-dom": "^16.8.0",
43
42
  "@types/styled-components": "^5.1.7"
44
43
  },
45
- "gitHead": "1a636ff74ac4e57ca173aa800b88a7853ceb7678"
44
+ "gitHead": "15dba08c1ba1c3c117353e50a2586be05a966288"
46
45
  }
package/lib/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import TagListComponent from './tag-list-component';
2
- export default TagListComponent;
package/lib/index.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var tag_list_component_1 = __importDefault(require("./tag-list-component"));
7
- exports.default = tag_list_component_1.default;
@@ -1,16 +0,0 @@
1
- import { Tag } from '@telia-ace/knowledge-widget-core';
2
- import { Container } from '@webprovisions/platform';
3
- export declare 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;
@@ -1,123 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __read = (this && this.__read) || function (o, n) {
37
- var m = typeof Symbol === "function" && o[Symbol.iterator];
38
- if (!m) return o;
39
- var i = m.call(o), r, ar = [], e;
40
- try {
41
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
42
- }
43
- catch (error) { e = { error: error }; }
44
- finally {
45
- try {
46
- if (r && !r.done && (m = i["return"])) m.call(i);
47
- }
48
- finally { if (e) throw e.error; }
49
- }
50
- return ar;
51
- };
52
- Object.defineProperty(exports, "__esModule", { value: true });
53
- var knowledge_widget_core_1 = require("@telia-ace/knowledge-widget-core");
54
- var knowledge_widget_types_grid_1 = require("@telia-ace/knowledge-widget-types-grid");
55
- var knowledge_widget_ui_1 = require("@telia-ace/knowledge-widget-ui");
56
- var TagListComponent = function (container) {
57
- return (0, knowledge_widget_ui_1.createReactComponent)(container, 'tag-list', Promise.resolve().then(function () { return __importStar(require('./tag-list')); }), function (component) {
58
- var events = container.get('$widget').events;
59
- var _a = __read((0, knowledge_widget_core_1.createEventSubscriber)(events), 2), subscribe = _a[0], unsubscribe = _a[1];
60
- component.actions.create('fetch', function (_a) {
61
- var _b = _a.items, items = _b === void 0 ? [] : _b;
62
- return component.actions.dispatch('fetched', {
63
- items: items,
64
- loading: true,
65
- });
66
- });
67
- component.actions.create('fetched', function (input) {
68
- return component.writeProperties(__assign(__assign({}, input), { loading: false }));
69
- });
70
- var fetch = function (input) {
71
- if (input === void 0) { input = {}; }
72
- component.writeProperties({ loading: true, error: undefined });
73
- component.actions.dispatch('fetch', input);
74
- };
75
- container.getAsync('router').then(function (router) {
76
- var params = router.getRouteData().params;
77
- fetch(params);
78
- });
79
- subscribe('router:changed', function (event, _a) {
80
- var current = _a.current;
81
- fetch(current.routeData.params);
82
- });
83
- return function () {
84
- unsubscribe();
85
- };
86
- }).then(function () {
87
- return (0, knowledge_widget_core_1.extendComponent)(container, 'tag-list', function (component) {
88
- component.actions.watch('tag-list.fetch', function (input, next) {
89
- return container.getAsync('dataClient').then(function (dataClient) {
90
- var _a = component.properties(), _b = _a.static, staticTags = _b === void 0 ? false : _b, _c = _a.rootTagLabel, rootTagLabel = _c === void 0 ? '' : _c;
91
- var phrase = input.phrase, guideCategory = input.guideCategory, tag = input.tag;
92
- return dataClient
93
- .fetch(staticTags ? knowledge_widget_types_grid_1.DataType.Tags : knowledge_widget_types_grid_1.DataType.TagsOnGuides, {
94
- searchPhrase: phrase,
95
- categories: guideCategory,
96
- tagId: tag,
97
- })
98
- .then(function (tags) {
99
- if (tags === void 0) { tags = []; }
100
- if (staticTags) {
101
- var indexOfRoot = tags.findIndex(function (tag) { return tag.id === '0'; });
102
- if (indexOfRoot > -1) {
103
- tags.unshift(tags.splice(indexOfRoot, 1)[0]);
104
- }
105
- }
106
- return next({
107
- items: tags.map(function (t) {
108
- if (t.id === '0') {
109
- t.title = rootTagLabel;
110
- }
111
- return t;
112
- }),
113
- });
114
- })
115
- .catch(function (e) {
116
- return next({ items: [] });
117
- });
118
- });
119
- });
120
- });
121
- });
122
- };
123
- exports.default = TagListComponent;
package/lib/tag-list.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import React from 'react';
2
- declare type Props = {
3
- className: string;
4
- };
5
- declare const TagList: React.SFC<Props>;
6
- export default TagList;
package/lib/tag-list.js DELETED
@@ -1,115 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __assign = (this && this.__assign) || function () {
7
- __assign = Object.assign || function(t) {
8
- for (var s, i = 1, n = arguments.length; i < n; i++) {
9
- s = arguments[i];
10
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
- t[p] = s[p];
12
- }
13
- return t;
14
- };
15
- return __assign.apply(this, arguments);
16
- };
17
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
- if (k2 === undefined) k2 = k;
19
- var desc = Object.getOwnPropertyDescriptor(m, k);
20
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
- desc = { enumerable: true, get: function() { return m[k]; } };
22
- }
23
- Object.defineProperty(o, k2, desc);
24
- }) : (function(o, m, k, k2) {
25
- if (k2 === undefined) k2 = k;
26
- o[k2] = m[k];
27
- }));
28
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
- Object.defineProperty(o, "default", { enumerable: true, value: v });
30
- }) : function(o, v) {
31
- o["default"] = v;
32
- });
33
- var __importStar = (this && this.__importStar) || function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- var __rest = (this && this.__rest) || function (s, e) {
41
- var t = {};
42
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
43
- t[p] = s[p];
44
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
45
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
46
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
47
- t[p[i]] = s[p[i]];
48
- }
49
- return t;
50
- };
51
- var __importDefault = (this && this.__importDefault) || function (mod) {
52
- return (mod && mod.__esModule) ? mod : { "default": mod };
53
- };
54
- Object.defineProperty(exports, "__esModule", { value: true });
55
- var knowledge_widget_component_utilities_1 = require("@telia-ace/knowledge-widget-component-utilities");
56
- var knowledge_widget_ui_1 = require("@telia-ace/knowledge-widget-ui");
57
- var widget_utilities_1 = require("@telia-ace/widget-utilities");
58
- var react_1 = __importDefault(require("react"));
59
- var styled_components_1 = __importStar(require("styled-components"));
60
- var getIcon = function (selected, defaultIcon, activeIcon) {
61
- if (selected && activeIcon) {
62
- return react_1.default.createElement(StyledSymbolBadge, { symbol: activeIcon, size: 18 });
63
- }
64
- if (defaultIcon) {
65
- return react_1.default.createElement(StyledSymbolBadge, { symbol: defaultIcon, size: 18 });
66
- }
67
- return null;
68
- };
69
- var TagList = function (_a) {
70
- var className = _a.className, other = __rest(_a, ["className"]);
71
- var _b = (0, knowledge_widget_ui_1.useProperties)(), _c = _b.route, route = _c === void 0 ? 'search' : _c, _d = _b.items, items = _d === void 0 ? [] : _d, header = _b.header, _e = _b.loading, loading = _e === void 0 ? false : _e, _f = _b.style, style = _f === void 0 ? 'badge' : _f, _g = _b.showMatchCount, showMatchCount = _g === void 0 ? false : _g, _h = _b.showIcons, showIcons = _h === void 0 ? false : _h, _j = _b.static, staticTags = _j === void 0 ? false : _j, _k = _b.fallbackOnInitialRoute, fallbackOnInitialRoute = _k === void 0 ? false : _k, itemAriaLabel = _b.itemAriaLabel;
72
- var container = (0, knowledge_widget_ui_1.useContainer)();
73
- var params = (0, knowledge_widget_ui_1.useRouteData)().params;
74
- if (!items.length && (!loading || staticTags)) {
75
- return (0, knowledge_widget_ui_1.createEmptyComponent)(container, __assign(__assign({}, other), { className: (0, widget_utilities_1.appendClassNames)(className, 'humany-tag-list') }));
76
- }
77
- var Component = style === 'badge' ? StyledBadge : StyledPill;
78
- return (react_1.default.createElement(StyledItemList, __assign({}, other, { "data-loading": !staticTags && loading, className: (0, widget_utilities_1.appendClassNames)(className, 'humany-tag-list'), header: !staticTags && loading ? '' : header, items: items, type: style, renderItem: function (item) {
79
- var id = item.id, title = item.title, defaultIcon = item.defaultIcon, activeIcon = item.activeIcon, matches = item.matches;
80
- var selected = params.tag === item.id || (!params.tag && item.id === '0');
81
- var ariaLabel = itemAriaLabel &&
82
- itemAriaLabel.replace('{{title}}', title).replace('{{matches}}', "".concat(matches));
83
- return (react_1.default.createElement(StyledLi, { key: id, notAllowed: (staticTags && !matches && style === 'pill').toString(), "data-tag": id },
84
- react_1.default.createElement(Component, __assign({}, (0, knowledge_widget_component_utilities_1.initialRouteFallback)(item, route, fallbackOnInitialRoute, 'tag'), { role: "button", "aria-pressed": selected, "aria-label": ariaLabel, disabled: staticTags && !matches, selected: selected, text: title }),
85
- showIcons && getIcon(selected, defaultIcon, activeIcon),
86
- showMatchCount && (react_1.default.createElement(StyledMatchCount, null, "(".concat(matches, ")"))))));
87
- } }), !staticTags && react_1.default.createElement(knowledge_widget_ui_1.Loader, { loading: loading })));
88
- };
89
- exports.default = TagList;
90
- var StyledItemList = (0, styled_components_1.default)(knowledge_widget_ui_1.ItemList)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n ", "\n ", "\n justify-content: flex-start;\n padding: ", ";\n ul {\n display: flex;\n flex-wrap: wrap;\n ", "\n\n li {\n margin: 0 ", " 0;\n }\n }\n"], ["\n ", "\n ", "\n ", "\n justify-content: flex-start;\n padding: ", ";\n ul {\n display: flex;\n flex-wrap: wrap;\n ", "\n\n li {\n margin: 0 ", " 0;\n }\n }\n"])), knowledge_widget_ui_1.contentBox, knowledge_widget_ui_1.itemList, knowledge_widget_ui_1.loadingOpacity, function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.large; }, function (p) {
91
- return p.type === 'pill' && (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n justify-content: center;\n "], ["\n justify-content: center;\n "])));
92
- }, function (p) { var _a, _b; return "".concat((_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.small, " ").concat((_b = p.theme.sizes) === null || _b === void 0 ? void 0 : _b.small); });
93
- var StyledBadge = (0, styled_components_1.default)(knowledge_widget_ui_1.TextLink)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n padding: 8px 15px;\n background-color: ", ";\n border-radius: ", ";\n font-weight: 300;\n font-size: ", ";\n display: flex;\n align-items: center;\n color: #ffffff;\n\n &:focus {\n ", ";\n }\n\n @media (hover: hover) {\n &:hover {\n background-color: ", ";\n }\n }\n"], ["\n padding: 8px 15px;\n background-color: ", ";\n border-radius: ", ";\n font-weight: 300;\n font-size: ", ";\n display: flex;\n align-items: center;\n color: #ffffff;\n\n &:focus {\n ", ";\n }\n\n @media (hover: hover) {\n &:hover {\n background-color: ", ";\n }\n }\n"])), function (p) { var _a, _b; return (p.selected ? (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text : (_b = p.theme.colors) === null || _b === void 0 ? void 0 : _b.primary); }, function (p) { return p.theme.borderRadius; }, function (p) { var _a; return (_a = p.theme.fonts) === null || _a === void 0 ? void 0 : _a.normal; }, function (p) {
94
- var _a;
95
- return ((_a = p.theme.accessibility) === null || _a === void 0 ? void 0 : _a.isTabbing) && (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n padding: 6px 15px;\n background-color: transparent;\n "], ["\n ", "\n padding: 6px 15px;\n background-color: transparent;\n "])), knowledge_widget_ui_1.borderTabStyle);
96
- }, function (p) { var _a, _b; return p.selected ? (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.primary : (_b = p.theme.colors) === null || _b === void 0 ? void 0 : _b.text; });
97
- var StyledPill = (0, styled_components_1.default)(knowledge_widget_ui_1.TextLink)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n border: 1px solid ", ";\n line-height: 2em;\n border-radius: 1em;\n padding: 0 0.5em;\n display: flex;\n align-items: center;\n font-weight: ", ";\n color: ", ";\n\n &:disabled {\n color: ", ";\n }\n\n &:focus {\n ", "\n }\n\n @media (hover: hover) {\n &:hover {\n border: 1px solid ", ";\n }\n }\n\n ", "\n"], ["\n border: 1px solid ", ";\n line-height: 2em;\n border-radius: 1em;\n padding: 0 0.5em;\n display: flex;\n align-items: center;\n font-weight: ", ";\n color: ", ";\n\n &:disabled {\n color: ", ";\n }\n\n &:focus {\n ", "\n }\n\n @media (hover: hover) {\n &:hover {\n border: 1px solid ", ";\n }\n }\n\n ", "\n"])), function (p) { var _a; return (p.selected ? (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text : 'transparent'); }, function (p) { return (p.selected ? 'normal' : 300); }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text; }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.textLight; }, function (p) {
98
- var _a;
99
- return ((_a = p.theme.accessibility) === null || _a === void 0 ? void 0 : _a.isTabbing) && (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n border-radius: 1em;\n "], ["\n ", "\n border-radius: 1em;\n "])), knowledge_widget_ui_1.borderTabStyle);
100
- }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text; }, function (p) {
101
- return p.disabled && (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n opacity: 0.5;\n "], ["\n opacity: 0.5;\n "])));
102
- });
103
- var StyledMatchCount = (0, styled_components_1.default)(knowledge_widget_ui_1.Text)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n order: 2;\n margin-left: ", ";\n"], ["\n order: 2;\n margin-left: ", ";\n"])), function (p) { return p.theme.sizes.small; });
104
- var StyledSymbolBadge = (0, styled_components_1.default)(knowledge_widget_ui_1.SymbolBadge)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n margin-right: ", ";\n ", "\n"], ["\n margin-right: ", ";\n ", "\n"])), function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.small; }, function (p) {
105
- if (p.symbol.type === 'Uri') {
106
- return "\n width: ".concat(p.size, "px;\n height: ").concat(p.size, "px;\n ");
107
- }
108
- if (p.symbol.type === 'FontAwesome') {
109
- return "\n font-size: ".concat(p.size, "px;\n ");
110
- }
111
- });
112
- var StyledLi = styled_components_1.default.li(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (p) {
113
- return p.notAllowed === 'true' && (0, styled_components_1.css)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n cursor: not-allowed;\n "], ["\n cursor: not-allowed;\n "])));
114
- });
115
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11;
package/lib-esm/index.js DELETED
@@ -1,2 +0,0 @@
1
- import TagListComponent from './tag-list-component';
2
- export default TagListComponent;
@@ -1,98 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __read = (this && this.__read) || function (o, n) {
13
- var m = typeof Symbol === "function" && o[Symbol.iterator];
14
- if (!m) return o;
15
- var i = m.call(o), r, ar = [], e;
16
- try {
17
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
- }
19
- catch (error) { e = { error: error }; }
20
- finally {
21
- try {
22
- if (r && !r.done && (m = i["return"])) m.call(i);
23
- }
24
- finally { if (e) throw e.error; }
25
- }
26
- return ar;
27
- };
28
- import { createEventSubscriber, extendComponent } from '@telia-ace/knowledge-widget-core';
29
- import { DataType } from '@telia-ace/knowledge-widget-types-grid';
30
- import { createReactComponent } from '@telia-ace/knowledge-widget-ui';
31
- var TagListComponent = function (container) {
32
- return createReactComponent(container, 'tag-list', import('./tag-list'), function (component) {
33
- var events = container.get('$widget').events;
34
- var _a = __read(createEventSubscriber(events), 2), subscribe = _a[0], unsubscribe = _a[1];
35
- component.actions.create('fetch', function (_a) {
36
- var _b = _a.items, items = _b === void 0 ? [] : _b;
37
- return component.actions.dispatch('fetched', {
38
- items: items,
39
- loading: true,
40
- });
41
- });
42
- component.actions.create('fetched', function (input) {
43
- return component.writeProperties(__assign(__assign({}, input), { loading: false }));
44
- });
45
- var fetch = function (input) {
46
- if (input === void 0) { input = {}; }
47
- component.writeProperties({ loading: true, error: undefined });
48
- component.actions.dispatch('fetch', input);
49
- };
50
- container.getAsync('router').then(function (router) {
51
- var params = router.getRouteData().params;
52
- fetch(params);
53
- });
54
- subscribe('router:changed', function (event, _a) {
55
- var current = _a.current;
56
- fetch(current.routeData.params);
57
- });
58
- return function () {
59
- unsubscribe();
60
- };
61
- }).then(function () {
62
- return extendComponent(container, 'tag-list', function (component) {
63
- component.actions.watch('tag-list.fetch', function (input, next) {
64
- return container.getAsync('dataClient').then(function (dataClient) {
65
- var _a = component.properties(), _b = _a.static, staticTags = _b === void 0 ? false : _b, _c = _a.rootTagLabel, rootTagLabel = _c === void 0 ? '' : _c;
66
- var phrase = input.phrase, guideCategory = input.guideCategory, tag = input.tag;
67
- return dataClient
68
- .fetch(staticTags ? DataType.Tags : DataType.TagsOnGuides, {
69
- searchPhrase: phrase,
70
- categories: guideCategory,
71
- tagId: tag,
72
- })
73
- .then(function (tags) {
74
- if (tags === void 0) { tags = []; }
75
- if (staticTags) {
76
- var indexOfRoot = tags.findIndex(function (tag) { return tag.id === '0'; });
77
- if (indexOfRoot > -1) {
78
- tags.unshift(tags.splice(indexOfRoot, 1)[0]);
79
- }
80
- }
81
- return next({
82
- items: tags.map(function (t) {
83
- if (t.id === '0') {
84
- t.title = rootTagLabel;
85
- }
86
- return t;
87
- }),
88
- });
89
- })
90
- .catch(function (e) {
91
- return next({ items: [] });
92
- });
93
- });
94
- });
95
- });
96
- });
97
- };
98
- export default TagListComponent;
@@ -1,87 +0,0 @@
1
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
- return cooked;
4
- };
5
- var __assign = (this && this.__assign) || function () {
6
- __assign = Object.assign || function(t) {
7
- for (var s, i = 1, n = arguments.length; i < n; i++) {
8
- s = arguments[i];
9
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
- t[p] = s[p];
11
- }
12
- return t;
13
- };
14
- return __assign.apply(this, arguments);
15
- };
16
- var __rest = (this && this.__rest) || function (s, e) {
17
- var t = {};
18
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
19
- t[p] = s[p];
20
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
21
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
22
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
23
- t[p[i]] = s[p[i]];
24
- }
25
- return t;
26
- };
27
- import { initialRouteFallback } from '@telia-ace/knowledge-widget-component-utilities';
28
- import { borderTabStyle, contentBox, createEmptyComponent, ItemList, itemList, Loader, loadingOpacity, SymbolBadge, Text, TextLink, useContainer, useProperties, useRouteData, } from '@telia-ace/knowledge-widget-ui';
29
- import { appendClassNames } from '@telia-ace/widget-utilities';
30
- import React from 'react';
31
- import styled, { css } from 'styled-components';
32
- var getIcon = function (selected, defaultIcon, activeIcon) {
33
- if (selected && activeIcon) {
34
- return React.createElement(StyledSymbolBadge, { symbol: activeIcon, size: 18 });
35
- }
36
- if (defaultIcon) {
37
- return React.createElement(StyledSymbolBadge, { symbol: defaultIcon, size: 18 });
38
- }
39
- return null;
40
- };
41
- var TagList = function (_a) {
42
- var className = _a.className, other = __rest(_a, ["className"]);
43
- var _b = useProperties(), _c = _b.route, route = _c === void 0 ? 'search' : _c, _d = _b.items, items = _d === void 0 ? [] : _d, header = _b.header, _e = _b.loading, loading = _e === void 0 ? false : _e, _f = _b.style, style = _f === void 0 ? 'badge' : _f, _g = _b.showMatchCount, showMatchCount = _g === void 0 ? false : _g, _h = _b.showIcons, showIcons = _h === void 0 ? false : _h, _j = _b.static, staticTags = _j === void 0 ? false : _j, _k = _b.fallbackOnInitialRoute, fallbackOnInitialRoute = _k === void 0 ? false : _k, itemAriaLabel = _b.itemAriaLabel;
44
- var container = useContainer();
45
- var params = useRouteData().params;
46
- if (!items.length && (!loading || staticTags)) {
47
- return createEmptyComponent(container, __assign(__assign({}, other), { className: appendClassNames(className, 'humany-tag-list') }));
48
- }
49
- var Component = style === 'badge' ? StyledBadge : StyledPill;
50
- return (React.createElement(StyledItemList, __assign({}, other, { "data-loading": !staticTags && loading, className: appendClassNames(className, 'humany-tag-list'), header: !staticTags && loading ? '' : header, items: items, type: style, renderItem: function (item) {
51
- var id = item.id, title = item.title, defaultIcon = item.defaultIcon, activeIcon = item.activeIcon, matches = item.matches;
52
- var selected = params.tag === item.id || (!params.tag && item.id === '0');
53
- var ariaLabel = itemAriaLabel &&
54
- itemAriaLabel.replace('{{title}}', title).replace('{{matches}}', "".concat(matches));
55
- return (React.createElement(StyledLi, { key: id, notAllowed: (staticTags && !matches && style === 'pill').toString(), "data-tag": id },
56
- React.createElement(Component, __assign({}, initialRouteFallback(item, route, fallbackOnInitialRoute, 'tag'), { role: "button", "aria-pressed": selected, "aria-label": ariaLabel, disabled: staticTags && !matches, selected: selected, text: title }),
57
- showIcons && getIcon(selected, defaultIcon, activeIcon),
58
- showMatchCount && (React.createElement(StyledMatchCount, null, "(".concat(matches, ")"))))));
59
- } }), !staticTags && React.createElement(Loader, { loading: loading })));
60
- };
61
- export default TagList;
62
- var StyledItemList = styled(ItemList)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n ", "\n ", "\n justify-content: flex-start;\n padding: ", ";\n ul {\n display: flex;\n flex-wrap: wrap;\n ", "\n\n li {\n margin: 0 ", " 0;\n }\n }\n"], ["\n ", "\n ", "\n ", "\n justify-content: flex-start;\n padding: ", ";\n ul {\n display: flex;\n flex-wrap: wrap;\n ", "\n\n li {\n margin: 0 ", " 0;\n }\n }\n"])), contentBox, itemList, loadingOpacity, function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.large; }, function (p) {
63
- return p.type === 'pill' && css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n justify-content: center;\n "], ["\n justify-content: center;\n "])));
64
- }, function (p) { var _a, _b; return "".concat((_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.small, " ").concat((_b = p.theme.sizes) === null || _b === void 0 ? void 0 : _b.small); });
65
- var StyledBadge = styled(TextLink)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n padding: 8px 15px;\n background-color: ", ";\n border-radius: ", ";\n font-weight: 300;\n font-size: ", ";\n display: flex;\n align-items: center;\n color: #ffffff;\n\n &:focus {\n ", ";\n }\n\n @media (hover: hover) {\n &:hover {\n background-color: ", ";\n }\n }\n"], ["\n padding: 8px 15px;\n background-color: ", ";\n border-radius: ", ";\n font-weight: 300;\n font-size: ", ";\n display: flex;\n align-items: center;\n color: #ffffff;\n\n &:focus {\n ", ";\n }\n\n @media (hover: hover) {\n &:hover {\n background-color: ", ";\n }\n }\n"])), function (p) { var _a, _b; return (p.selected ? (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text : (_b = p.theme.colors) === null || _b === void 0 ? void 0 : _b.primary); }, function (p) { return p.theme.borderRadius; }, function (p) { var _a; return (_a = p.theme.fonts) === null || _a === void 0 ? void 0 : _a.normal; }, function (p) {
66
- var _a;
67
- return ((_a = p.theme.accessibility) === null || _a === void 0 ? void 0 : _a.isTabbing) && css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n padding: 6px 15px;\n background-color: transparent;\n "], ["\n ", "\n padding: 6px 15px;\n background-color: transparent;\n "])), borderTabStyle);
68
- }, function (p) { var _a, _b; return p.selected ? (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.primary : (_b = p.theme.colors) === null || _b === void 0 ? void 0 : _b.text; });
69
- var StyledPill = styled(TextLink)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n border: 1px solid ", ";\n line-height: 2em;\n border-radius: 1em;\n padding: 0 0.5em;\n display: flex;\n align-items: center;\n font-weight: ", ";\n color: ", ";\n\n &:disabled {\n color: ", ";\n }\n\n &:focus {\n ", "\n }\n\n @media (hover: hover) {\n &:hover {\n border: 1px solid ", ";\n }\n }\n\n ", "\n"], ["\n border: 1px solid ", ";\n line-height: 2em;\n border-radius: 1em;\n padding: 0 0.5em;\n display: flex;\n align-items: center;\n font-weight: ", ";\n color: ", ";\n\n &:disabled {\n color: ", ";\n }\n\n &:focus {\n ", "\n }\n\n @media (hover: hover) {\n &:hover {\n border: 1px solid ", ";\n }\n }\n\n ", "\n"])), function (p) { var _a; return (p.selected ? (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text : 'transparent'); }, function (p) { return (p.selected ? 'normal' : 300); }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text; }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.textLight; }, function (p) {
70
- var _a;
71
- return ((_a = p.theme.accessibility) === null || _a === void 0 ? void 0 : _a.isTabbing) && css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n border-radius: 1em;\n "], ["\n ", "\n border-radius: 1em;\n "])), borderTabStyle);
72
- }, function (p) { var _a; return (_a = p.theme.colors) === null || _a === void 0 ? void 0 : _a.text; }, function (p) {
73
- return p.disabled && css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n opacity: 0.5;\n "], ["\n opacity: 0.5;\n "])));
74
- });
75
- var StyledMatchCount = styled(Text)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n order: 2;\n margin-left: ", ";\n"], ["\n order: 2;\n margin-left: ", ";\n"])), function (p) { return p.theme.sizes.small; });
76
- var StyledSymbolBadge = styled(SymbolBadge)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n margin-right: ", ";\n ", "\n"], ["\n margin-right: ", ";\n ", "\n"])), function (p) { var _a; return (_a = p.theme.sizes) === null || _a === void 0 ? void 0 : _a.small; }, function (p) {
77
- if (p.symbol.type === 'Uri') {
78
- return "\n width: ".concat(p.size, "px;\n height: ").concat(p.size, "px;\n ");
79
- }
80
- if (p.symbol.type === 'FontAwesome') {
81
- return "\n font-size: ".concat(p.size, "px;\n ");
82
- }
83
- });
84
- var StyledLi = styled.li(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (p) {
85
- return p.notAllowed === 'true' && css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n cursor: not-allowed;\n "], ["\n cursor: not-allowed;\n "])));
86
- });
87
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11;