@telia-ace/knowledge-widget-components-guide-category-dropdown 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.
@@ -1,40 +1,41 @@
1
1
  var W = Object.defineProperty, H = Object.defineProperties;
2
2
  var U = Object.getOwnPropertyDescriptors;
3
- var b = Object.getOwnPropertySymbols;
4
- var I = Object.prototype.hasOwnProperty, S = Object.prototype.propertyIsEnumerable;
5
- var L = (e, t, a) => t in e ? W(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a, i = (e, t) => {
3
+ var E = Object.getOwnPropertySymbols;
4
+ var L = Object.prototype.hasOwnProperty, S = Object.prototype.propertyIsEnumerable;
5
+ var I = (e, t, a) => t in e ? W(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a, c = (e, t) => {
6
6
  for (var a in t || (t = {}))
7
- I.call(t, a) && L(e, a, t[a]);
8
- if (b)
9
- for (var a of b(t))
10
- S.call(t, a) && L(e, a, t[a]);
7
+ L.call(t, a) && I(e, a, t[a]);
8
+ if (E)
9
+ for (var a of E(t))
10
+ S.call(t, a) && I(e, a, t[a]);
11
11
  return e;
12
- }, w = (e, t) => H(e, U(t));
13
- var F = (e, t) => {
12
+ }, x = (e, t) => H(e, U(t));
13
+ var D = (e, t) => {
14
14
  var a = {};
15
15
  for (var n in e)
16
- I.call(e, n) && t.indexOf(n) < 0 && (a[n] = e[n]);
17
- if (e != null && b)
18
- for (var n of b(e))
16
+ L.call(e, n) && t.indexOf(n) < 0 && (a[n] = e[n]);
17
+ if (e != null && E)
18
+ for (var n of E(e))
19
19
  t.indexOf(n) < 0 && S.call(e, n) && (a[n] = e[n]);
20
20
  return a;
21
21
  };
22
- import { loadingOpacity as q, contentBox as J, borderTabStyle as K, Link as Q, linkTabStyle as V, List as X, list as Y, Text as E, useProperties as T, useHover as Z, SymbolBadge as u, useRouteData as _, useContainer as ee, useIsTabbing as te, createEmptyComponent as oe } from "@telia-ace/knowledge-widget-ui";
23
- import { appendClassNames as D, createParams as ae, formatUrl as ne } from "@telia-ace/widget-utilities";
24
- import o, { useState as B, useEffect as re } from "react";
22
+ import { loadingOpacity as q, contentBox as J, borderTabStyle as K, Link as Q, linkTabStyle as V, List as X, list as Y, Text as k, useProperties as T, useHover as Z, SymbolBadge as f, useRouteData as _, useContainer as ee, useIsTabbing as te, createEmptyComponent as oe } from "@telia-ace/knowledge-widget-ui";
23
+ import { appendClassNames as F, createParams as ae, formatUrl as ne } from "@telia-ace/widget-utilities";
24
+ import o, { useState as G, useEffect as re } from "react";
25
25
  import { initialRouteFallback as le } from "@telia-ace/knowledge-widget-component-utilities";
26
- import c, { css as $ } from "styled-components";
27
- const se = c.div`
26
+ import { css as C } from "@emotion/react";
27
+ import m from "@emotion/styled";
28
+ const se = m.div`
28
29
  ${q}
29
30
  ${J}
30
31
  overflow: hidden;
31
32
  min-height: 50px;
32
- ${(e) => e["data-toggler-in-focus"] && e.isTabbing && $`
33
+ ${(e) => e["data-toggler-in-focus"] && e.isTabbing && C`
33
34
  && {
34
- ${K}
35
+ ${K(e)}
35
36
  }
36
37
  `};
37
- `, ie = c.button`
38
+ `, ie = m.button`
38
39
  background: none;
39
40
  border: 0;
40
41
  outline: 0;
@@ -56,36 +57,26 @@ const se = c.div`
56
57
  }};
57
58
  }
58
59
  }
59
- `, M = $`
60
- font-size: ${(e) => {
61
- var t;
62
- return (t = e.theme.fonts) == null ? void 0 : t.normal;
63
- }};
60
+ `, M = (e) => {
61
+ var t, a, n, d, g, i, r, u;
62
+ return C`
63
+ font-size: ${(t = e.theme.fonts) == null ? void 0 : t.normal};
64
64
  text-align: left;
65
65
  text-align: left;
66
66
  text-decoration: none;
67
67
  font-weight: 300;
68
68
  display: flex;
69
69
  align-items: center;
70
- padding: ${(e) => {
71
- var t;
72
- return (t = e.theme.sizes) == null ? void 0 : t.small;
73
- }};
74
- padding-left: ${(e) => {
75
- var t;
76
- return (t = e.theme.sizes) == null ? void 0 : t.large;
77
- }};
70
+ padding: ${(a = e.theme.sizes) == null ? void 0 : a.small};
71
+ padding-left: ${(n = e.theme.sizes) == null ? void 0 : n.large};
78
72
  cursor: pointer;
79
73
  overflow: hidden;
80
- ${(e) => {
81
- var t, a, n;
82
- return e.selected ? $`
83
- border-left: 2px solid ${(t = e.theme.colors) == null ? void 0 : t.primary};
84
- color: ${(a = e.theme.colors) == null ? void 0 : a.primary};
85
- ` : $`
86
- color: ${(n = e.theme.colors) == null ? void 0 : n.text};
87
- `;
88
- }};
74
+ ${e.selected ? C`
75
+ border-left: 2px solid ${(d = e.theme.colors) == null ? void 0 : d.primary};
76
+ color: ${(g = e.theme.colors) == null ? void 0 : g.primary};
77
+ ` : C`
78
+ color: ${(i = e.theme.colors) == null ? void 0 : i.text};
79
+ `};
89
80
 
90
81
  span {
91
82
  overflow: hidden;
@@ -93,20 +84,15 @@ const se = c.div`
93
84
  }
94
85
 
95
86
  i {
96
- margin-right: ${(e) => {
97
- var t;
98
- return (t = e.theme.sizes) == null ? void 0 : t.normal;
99
- }};
100
- font-size: ${(e) => {
101
- var t;
102
- return (t = e.theme.fonts) == null ? void 0 : t.medium;
103
- }};
87
+ margin-right: ${(r = e.theme.sizes) == null ? void 0 : r.normal};
88
+ font-size: ${(u = e.theme.fonts) == null ? void 0 : u.medium};
104
89
  min-height: 1em;
105
90
  min-width: 1em;
106
91
  }
107
- `, O = c.div`
92
+ `;
93
+ }, B = m.div`
108
94
  ${M}
109
- `, ce = c(Q)`
95
+ `, ce = m(Q)`
110
96
  ${M}
111
97
  &:focus {
112
98
  outline: none;
@@ -116,7 +102,7 @@ const se = c.div`
116
102
  ${V};
117
103
  }
118
104
  }
119
- `, me = c.div`
105
+ `, me = m.div`
120
106
  display: flex;
121
107
  justify-content: space-between;
122
108
  padding-right: ${(e) => {
@@ -133,10 +119,10 @@ const se = c.div`
133
119
  font-weight: normal;
134
120
  }
135
121
  }
136
- ${O} {
122
+ ${B} {
137
123
  font-weight: normal;
138
124
  }
139
- `, de = c(X)`
125
+ `, de = m(X)`
140
126
  ${Y}
141
127
  display: flex;
142
128
  justify-content: center;
@@ -162,7 +148,7 @@ const se = c.div`
162
148
  }
163
149
  flex-basis: 100%;
164
150
  border-width: 2px;
165
- `, ge = c(E)`
151
+ `, ge = m(k)`
166
152
  margin: 0 0 0 ${(e) => {
167
153
  var t;
168
154
  return (t = e.theme.sizes) == null ? void 0 : t.small;
@@ -171,117 +157,117 @@ const se = c.div`
171
157
  Wrapper: se,
172
158
  Toggler: ie,
173
159
  List: de,
174
- Item: O,
160
+ Item: B,
175
161
  Link: ce,
176
162
  TopItem: me,
177
163
  MatchCount: ge
178
- }, z = ({ matches: e }) => {
164
+ }, ue = ({ matches: e }) => {
179
165
  const { showMatchCount: t = !1 } = T();
180
166
  return !t || typeof e == "undefined" ? null : /* @__PURE__ */ o.createElement(s.MatchCount, null, "(", e, ")");
181
- }, ue = ({ item: e, guideCategory: t }) => {
167
+ }, z = ue, pe = ({ item: e, guideCategory: t }) => {
182
168
  const {
183
169
  route: a = "browse",
184
170
  categoryAriaLabel: n = "",
185
- activeCategoryAriaLabel: x = "",
186
- fallbackOnInitialRoute: k = !1
187
- } = T(), [m, l] = Z(), { id: v, title: d, symbol: p, activeSymbol: f } = e, r = t === v;
171
+ activeCategoryAriaLabel: d = "",
172
+ fallbackOnInitialRoute: g = !1
173
+ } = T(), [i, r] = Z(), { id: u, title: p, symbol: h, activeSymbol: b } = e, l = t === u;
188
174
  return /* @__PURE__ */ o.createElement("li", {
189
- ref: l
190
- }, /* @__PURE__ */ o.createElement(s.Link, w(i({}, le(e, a, k, "category")), {
191
- "aria-pressed": r,
192
- "aria-label": (r ? x : n).replace(
175
+ ref: r
176
+ }, /* @__PURE__ */ o.createElement(s.Link, x(c({}, le(e, a, g, "category")), {
177
+ "aria-pressed": l,
178
+ "aria-label": (l ? d : n).replace(
193
179
  "{{category}}",
194
- d
180
+ p
195
181
  ),
196
182
  className: "humany-guide-category-dropdown-link",
197
- "aria-current": r,
198
- selected: r
199
- }), (r || m) && f ? /* @__PURE__ */ o.createElement(u, {
200
- symbol: f
201
- }) : p && /* @__PURE__ */ o.createElement(u, {
202
- symbol: p
203
- }), /* @__PURE__ */ o.createElement(E, null, d), /* @__PURE__ */ o.createElement(z, i({}, e))));
204
- }, $e = (a) => {
205
- var n = a, { className: e } = n, t = F(n, ["className"]);
206
- const x = _(), [k, m] = B(!1), {
207
- parent: l,
208
- route: v = "browse",
209
- categories: d = [],
210
- loading: p = !1
211
- } = T(), f = ee(), [r, y] = B(!1), { params: R } = x, G = te(), { guideCategory: C, tag: j, phrase: A, sorting: P } = R;
183
+ "aria-current": l,
184
+ selected: l
185
+ }), (l || i) && b ? /* @__PURE__ */ o.createElement(f, {
186
+ symbol: b
187
+ }) : h && /* @__PURE__ */ o.createElement(f, {
188
+ symbol: h
189
+ }), /* @__PURE__ */ o.createElement(k, null, p), /* @__PURE__ */ o.createElement(z, c({}, e))));
190
+ }, ye = pe, Ce = (a) => {
191
+ var n = a, { className: e } = n, t = D(n, ["className"]);
192
+ const d = _(), [g, i] = G(!1), {
193
+ parent: r,
194
+ route: u = "browse",
195
+ categories: p = [],
196
+ loading: h = !1
197
+ } = T(), b = ee(), [l, w] = G(!1), { params: O } = d, R = te(), { guideCategory: v, tag: j, phrase: A, sorting: P } = O;
212
198
  if (re(() => {
213
- r && y(!1);
214
- }, [C]), p || !l || !d.length)
215
- return oe(f, w(i({}, t), {
216
- className: D(e, "humany-guide-category-dropdown")
199
+ l && w(!1);
200
+ }, [v]), h || !r || !p.length)
201
+ return oe(b, x(c({}, t), {
202
+ className: F(e, "humany-guide-category-dropdown")
217
203
  }));
218
- const g = d.find((h) => h.id === C) || l, N = g.activeSymbol || g.symbol;
219
- return /* @__PURE__ */ o.createElement(s.Wrapper, w(i({}, t), {
204
+ const y = p.find(($) => $.id === v) || r, N = y.activeSymbol || y.symbol;
205
+ return /* @__PURE__ */ o.createElement(s.Wrapper, x(c({}, t), {
220
206
  "data-loading": !1,
221
- "data-toggler-in-focus": k,
222
- "aria-expanded": r,
223
- isTabbing: G,
224
- className: D(e, "humany-guide-category-dropdown")
225
- }), r ? /* @__PURE__ */ o.createElement(o.Fragment, null, /* @__PURE__ */ o.createElement(s.TopItem, {
207
+ "data-toggler-in-focus": g,
208
+ "aria-expanded": l,
209
+ isTabbing: R,
210
+ className: F(e, "humany-guide-category-dropdown")
211
+ }), l ? /* @__PURE__ */ o.createElement(o.Fragment, null, /* @__PURE__ */ o.createElement(s.TopItem, {
226
212
  className: "humany-guide-category-dropdown-top-item"
227
213
  }, /* @__PURE__ */ o.createElement(s.Link, {
228
214
  className: "humany-guide-category-dropdown-link",
229
- routeName: v,
215
+ routeName: u,
230
216
  params: ae({
231
217
  tag: j,
232
218
  phrase: A,
233
219
  sorting: P,
234
- guideCategory: l.id,
235
- uriName: ne(l.title)
220
+ guideCategory: r.id,
221
+ uriName: ne(r.title)
236
222
  }),
237
223
  selected: !1
238
- }, l.symbol ? /* @__PURE__ */ o.createElement(u, {
239
- symbol: l.symbol
240
- }) : null, /* @__PURE__ */ o.createElement(E, null, l.title), /* @__PURE__ */ o.createElement(z, i({}, l))), /* @__PURE__ */ o.createElement(s.Toggler, {
241
- onBlur: () => m(!1),
242
- onFocus: () => m(!0),
224
+ }, r.symbol ? /* @__PURE__ */ o.createElement(f, {
225
+ symbol: r.symbol
226
+ }) : null, /* @__PURE__ */ o.createElement(k, null, r.title), /* @__PURE__ */ o.createElement(z, c({}, r))), /* @__PURE__ */ o.createElement(s.Toggler, {
227
+ onBlur: () => i(!1),
228
+ onFocus: () => i(!0),
243
229
  className: "humany-guide-category-dropdown-toggler",
244
230
  onClick: () => {
245
- y(!r);
231
+ w(!l);
246
232
  },
247
233
  "aria-expanded": "true",
248
- "aria-label": g.title
249
- }, /* @__PURE__ */ o.createElement(u, {
234
+ "aria-label": y.title
235
+ }, /* @__PURE__ */ o.createElement(f, {
250
236
  size: 18,
251
237
  symbol: { type: "Svg", content: "caret-up" }
252
238
  }))), /* @__PURE__ */ o.createElement(s.List, {
253
239
  className: "humany-guide-category-dropdown-open",
254
- items: d,
255
- renderItem: (h) => /* @__PURE__ */ o.createElement(ue, {
256
- key: h.id,
257
- item: h,
258
- guideCategory: C
240
+ items: p,
241
+ renderItem: ($) => /* @__PURE__ */ o.createElement(ye, {
242
+ key: $.id,
243
+ item: $,
244
+ guideCategory: v
259
245
  })
260
246
  })) : /* @__PURE__ */ o.createElement(s.TopItem, {
261
247
  className: "humany-guide-category-dropdown-top-item"
262
248
  }, /* @__PURE__ */ o.createElement(s.Item, {
263
249
  className: "humany-guide-category-dropdown-item",
264
250
  onClick: () => {
265
- y(!r);
251
+ w(!l);
266
252
  },
267
253
  selected: !1
268
- }, N ? /* @__PURE__ */ o.createElement(u, {
254
+ }, N ? /* @__PURE__ */ o.createElement(f, {
269
255
  symbol: N
270
- }) : null, /* @__PURE__ */ o.createElement(E, null, g.title), /* @__PURE__ */ o.createElement(z, i({}, g))), /* @__PURE__ */ o.createElement(s.Toggler, {
271
- onBlur: () => m(!1),
272
- onFocus: () => m(!0),
256
+ }) : null, /* @__PURE__ */ o.createElement(k, null, y.title), /* @__PURE__ */ o.createElement(z, c({}, y))), /* @__PURE__ */ o.createElement(s.Toggler, {
257
+ onBlur: () => i(!1),
258
+ onFocus: () => i(!0),
273
259
  className: "humany-guide-category-dropdown-toggler",
274
260
  onClick: () => {
275
- y(!r);
261
+ w(!l);
276
262
  },
277
263
  "aria-expanded": "false",
278
- "aria-label": g.title
279
- }, /* @__PURE__ */ o.createElement(u, {
264
+ "aria-label": y.title
265
+ }, /* @__PURE__ */ o.createElement(f, {
280
266
  size: 18,
281
267
  symbol: { type: "Svg", content: "caret-down" }
282
268
  }))));
283
269
  };
284
270
  export {
285
- $e as default
271
+ Ce as default
286
272
  };
287
- //# sourceMappingURL=guide-category-dropdown.a0feefa0.js.map
273
+ //# sourceMappingURL=guide-category-dropdown.22199076.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guide-category-dropdown.22199076.js","sources":["../src/guide-category-dropdown.styles.ts","../src/guide-category-dropdown-match-count.tsx","../src/guide-category-dropdown-item.tsx","../src/guide-category-dropdown.tsx"],"sourcesContent":["import { css, Theme } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n borderTabStyle,\n contentBox,\n Link as BaseLink,\n linkTabStyle,\n List as BaseList,\n list,\n loadingOpacity,\n Text,\n} from '@telia-ace/knowledge-widget-ui';\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst Wrapper: any = styled.div<any>`\n ${loadingOpacity}\n ${contentBox}\n overflow: hidden;\n min-height: 50px;\n ${(p) =>\n p['data-toggler-in-focus'] &&\n p.isTabbing &&\n css`\n && {\n ${borderTabStyle(p)}\n }\n `};\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst Toggler: any = styled.button`\n background: none;\n border: 0;\n outline: 0;\n display: block;\n cursor: pointer;\n padding: 0;\n font-size: ${(p) => p.theme.fonts?.normal};\n text-align: end;\n flex: 1 0 auto;\n svg {\n path,\n line {\n stroke: ${(p) => p.theme.colors?.text};\n }\n }\n`;\n\nconst styling = (p: { theme: Theme; selected: boolean }) => css`\n font-size: ${p.theme.fonts?.normal};\n text-align: left;\n text-align: left;\n text-decoration: none;\n font-weight: 300;\n display: flex;\n align-items: center;\n padding: ${p.theme.sizes?.small};\n padding-left: ${p.theme.sizes?.large};\n cursor: pointer;\n overflow: hidden;\n ${p.selected\n ? css`\n border-left: 2px solid ${p.theme.colors?.primary};\n color: ${p.theme.colors?.primary};\n `\n : css`\n color: ${p.theme.colors?.text};\n `};\n\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n i {\n margin-right: ${p.theme.sizes?.normal};\n font-size: ${p.theme.fonts?.medium};\n min-height: 1em;\n min-width: 1em;\n }\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst Item: any = styled.div`\n ${styling}\n`;\n\nconst Link: any = styled(BaseLink)<any>`\n ${styling}\n &:focus {\n outline: none;\n }\n &:focus-visible {\n span {\n ${linkTabStyle};\n }\n }\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst TopItem: any = styled.div`\n display: flex;\n justify-content: space-between;\n padding-right: ${(p) => p.theme.sizes?.large};\n min-height: 52px;\n white-space: nowrap;\n\n && {\n font-weight: normal;\n\n a {\n font-weight: normal;\n }\n }\n ${Item} {\n font-weight: normal;\n }\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst List: any = styled(BaseList)<any>`\n ${list}\n display: flex;\n justify-content: center;\n flex-direction: column;\n margin-right: ${(p) => p.theme.sizes?.medium};\n margin-left: ${(p) => p.theme.sizes?.large};\n margin-bottom: 22px;\n border-left: ${(p) => p.theme.border};\n li {\n margin: 0 0 ${(p) => p.theme.sizes?.normal} -2px;\n }\n li:last-child {\n margin: 0 0 0 -2px;\n }\n flex-basis: 100%;\n border-width: 2px;\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst MatchCount: any = styled(Text)`\n margin: 0 0 0 ${(p) => p.theme.sizes?.small};\n`;\n\nexport default {\n Wrapper,\n Toggler,\n List,\n Item,\n Link,\n TopItem,\n MatchCount,\n};\n","import { Category } from '@telia-ace/knowledge-widget-core';\nimport { useProperties } from '@telia-ace/knowledge-widget-ui';\nimport React from 'react';\nimport { GuideCategoryDropdownComponentProps } from './guide-category-dropdown-component';\nimport Styled from './guide-category-dropdown.styles';\n\nconst GuideCategoryDropdownMatchCount: React.FC<Category> = ({ matches }) => {\n const { showMatchCount = false } = useProperties<GuideCategoryDropdownComponentProps>();\n\n if (!showMatchCount || typeof matches === 'undefined') {\n return null;\n }\n\n return <Styled.MatchCount>({matches})</Styled.MatchCount>;\n};\n\nexport default GuideCategoryDropdownMatchCount;\n","import { initialRouteFallback } from '@telia-ace/knowledge-widget-component-utilities';\nimport { Category } from '@telia-ace/knowledge-widget-core';\nimport { SymbolBadge, Text, useHover, useProperties } from '@telia-ace/knowledge-widget-ui';\nimport React from 'react';\nimport { GuideCategoryDropdownComponentProps } from './guide-category-dropdown-component';\nimport GuideCategoryDropdownMatchCount from './guide-category-dropdown-match-count';\nimport Styled from './guide-category-dropdown.styles';\n\ntype Props = {\n item: Category;\n guideCategory: string;\n};\n\nconst GuideCategoryDropdownItem: React.FC<Props> = ({ item, guideCategory }) => {\n const {\n route = 'browse',\n categoryAriaLabel = '',\n activeCategoryAriaLabel = '',\n fallbackOnInitialRoute = false,\n } = useProperties<GuideCategoryDropdownComponentProps>();\n const [hovering, elem] = useHover();\n const { id, title, symbol, activeSymbol } = item;\n\n const selected = guideCategory === id;\n return (\n <li ref={elem as any}>\n <Styled.Link\n {...initialRouteFallback(item, route, fallbackOnInitialRoute, 'category')}\n aria-pressed={selected}\n aria-label={(selected ? activeCategoryAriaLabel : categoryAriaLabel).replace(\n '{{category}}',\n title\n )}\n className=\"humany-guide-category-dropdown-link\"\n aria-current={selected}\n selected={selected}\n >\n {(selected || hovering) && activeSymbol ? (\n <SymbolBadge symbol={activeSymbol} />\n ) : (\n symbol && <SymbolBadge symbol={symbol} />\n )}\n <Text>{title}</Text>\n <GuideCategoryDropdownMatchCount {...item} />\n </Styled.Link>\n </li>\n );\n};\n\nexport default GuideCategoryDropdownItem;\n","import { Category } from '@telia-ace/knowledge-widget-core';\nimport {\n createEmptyComponent,\n SymbolBadge,\n Text,\n useContainer,\n useIsTabbing,\n useProperties,\n useRouteData,\n} from '@telia-ace/knowledge-widget-ui';\nimport { appendClassNames, createParams, formatUrl } from '@telia-ace/widget-utilities';\nimport React, { useEffect, useState } from 'react';\nimport { GuideCategoryDropdownComponentProps } from './guide-category-dropdown-component';\nimport GuideCategoryDropdownItem from './guide-category-dropdown-item';\nimport GuideCategoryDropdownMatchCount from './guide-category-dropdown-match-count';\nimport Styled from './guide-category-dropdown.styles';\n\ntype Props = {\n className: string;\n};\n\nconst GuideCategoryDropdown: React.FC<Props> = ({ className, ...other }) => {\n const routeData = useRouteData();\n const [togglerFocus, setTogglerFocus] = useState(false);\n const {\n parent,\n route = 'browse',\n categories = [],\n loading = false,\n } = useProperties<GuideCategoryDropdownComponentProps>();\n const container = useContainer();\n const [isOpen, setIsOpen] = useState(false);\n const { params } = routeData;\n const isTabbing = useIsTabbing();\n const { guideCategory, tag, phrase, sorting } = params;\n\n useEffect(() => {\n if (isOpen) {\n setIsOpen(false);\n }\n }, [guideCategory]);\n\n if (loading || !parent || !categories.length) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-guide-category-dropdown'),\n });\n }\n\n const selected = categories.find((category) => category.id === guideCategory) || parent;\n const selectedSymbol = selected.activeSymbol || selected.symbol;\n\n return (\n <Styled.Wrapper\n {...other}\n data-loading={false}\n data-toggler-in-focus={togglerFocus}\n aria-expanded={isOpen}\n isTabbing={isTabbing}\n className={appendClassNames(className, 'humany-guide-category-dropdown')}\n >\n {isOpen ? (\n <>\n <Styled.TopItem className=\"humany-guide-category-dropdown-top-item\">\n <Styled.Link\n className=\"humany-guide-category-dropdown-link\"\n routeName={route}\n params={createParams({\n tag,\n phrase,\n sorting,\n guideCategory: parent.id,\n uriName: formatUrl(parent.title),\n })}\n selected={false}\n >\n {parent.symbol ? <SymbolBadge symbol={parent.symbol} /> : null}\n <Text>{parent.title}</Text>\n <GuideCategoryDropdownMatchCount {...parent} />\n </Styled.Link>\n <Styled.Toggler\n onBlur={() => setTogglerFocus(false)}\n onFocus={() => setTogglerFocus(true)}\n className=\"humany-guide-category-dropdown-toggler\"\n onClick={() => {\n setIsOpen(!isOpen);\n }}\n aria-expanded=\"true\"\n aria-label={selected.title}\n >\n <SymbolBadge size={18} symbol={{ type: 'Svg', content: 'caret-up' }} />\n </Styled.Toggler>\n </Styled.TopItem>\n <Styled.List\n className=\"humany-guide-category-dropdown-open\"\n items={categories}\n renderItem={(item: Category) => (\n <GuideCategoryDropdownItem\n key={item.id}\n item={item}\n guideCategory={guideCategory}\n />\n )}\n />\n </>\n ) : (\n <Styled.TopItem className=\"humany-guide-category-dropdown-top-item\">\n <Styled.Item\n className=\"humany-guide-category-dropdown-item\"\n onClick={() => {\n setIsOpen(!isOpen);\n }}\n selected={false}\n >\n {selectedSymbol ? <SymbolBadge symbol={selectedSymbol} /> : null}\n <Text>{selected.title}</Text>\n <GuideCategoryDropdownMatchCount {...selected} />\n </Styled.Item>\n <Styled.Toggler\n onBlur={() => setTogglerFocus(false)}\n onFocus={() => setTogglerFocus(true)}\n className=\"humany-guide-category-dropdown-toggler\"\n onClick={() => {\n setIsOpen(!isOpen);\n }}\n aria-expanded=\"false\"\n aria-label={selected.title}\n >\n <SymbolBadge size={18} symbol={{ type: 'Svg', content: 'caret-down' }} />\n </Styled.Toggler>\n </Styled.TopItem>\n )}\n </Styled.Wrapper>\n );\n};\n\nexport default GuideCategoryDropdown;\n"],"names":["Wrapper","styled","loadingOpacity","contentBox","p","css","borderTabStyle","Toggler","_a","styling","_b","_c","_d","_e","_f","_g","_h","Item","Link","BaseLink","linkTabStyle","TopItem","List","BaseList","list","MatchCount","Text","Styled","GuideCategoryDropdownMatchCount","matches","showMatchCount","useProperties","GuideCategoryDropdownMatchCount$1","GuideCategoryDropdownItem","item","guideCategory","route","categoryAriaLabel","activeCategoryAriaLabel","fallbackOnInitialRoute","hovering","elem","useHover","id","title","symbol","activeSymbol","selected","React","__spreadProps","__spreadValues","initialRouteFallback","SymbolBadge","GuideCategoryDropdownItem$1","GuideCategoryDropdown","className","other","__objRest","routeData","useRouteData","togglerFocus","setTogglerFocus","useState","parent","categories","loading","container","useContainer","isOpen","setIsOpen","params","isTabbing","useIsTabbing","tag","phrase","sorting","useEffect","createEmptyComponent","appendClassNames","category","selectedSymbol","createParams","formatUrl"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ const P = (e, n, a) => !a || a.length < 1 ? n : h(e, n, null, a), h = (e, n, a,
17
17
  return C(
18
18
  e,
19
19
  "guide-category-dropdown",
20
- import("./guide-category-dropdown.a0feefa0.js"),
20
+ import("./guide-category-dropdown.22199076.js"),
21
21
  (i) => {
22
22
  const s = (t) => {
23
23
  i.writeProperties({ loading: !0 }), i.actions.dispatch("fetch", { params: t }).then(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telia-ace/knowledge-widget-components-guide-category-dropdown",
3
- "version": "1.0.24-next.2",
3
+ "version": "1.0.24-next.3",
4
4
  "description": "Guide category dropdown 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.2",
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": "3040596277958342d31410cb8766141e15b985cf"
50
+ "gitHead": "035b7b89fbf7c736993d70e6dc4e420b8218a3a4"
50
51
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"guide-category-dropdown.a0feefa0.js","sources":["../src/guide-category-dropdown.styles.ts","../src/guide-category-dropdown-match-count.tsx","../src/guide-category-dropdown-item.tsx","../src/guide-category-dropdown.tsx"],"sourcesContent":["import {\n borderTabStyle,\n contentBox,\n Link as BaseLink,\n linkTabStyle,\n List as BaseList,\n list,\n loadingOpacity,\n Text,\n} from '@telia-ace/knowledge-widget-ui';\nimport styled, { css } from 'styled-components';\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst Wrapper: any = styled.div<any>`\n ${loadingOpacity}\n ${contentBox}\n overflow: hidden;\n min-height: 50px;\n ${(p) =>\n p['data-toggler-in-focus'] &&\n p.isTabbing &&\n css`\n && {\n ${borderTabStyle}\n }\n `};\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst Toggler: any = styled.button`\n background: none;\n border: 0;\n outline: 0;\n display: block;\n cursor: pointer;\n padding: 0;\n font-size: ${(p) => p.theme.fonts?.normal};\n text-align: end;\n flex: 1 0 auto;\n svg {\n path,\n line {\n stroke: ${(p) => p.theme.colors?.text};\n }\n }\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst styling = css<{ selected: boolean }>`\n font-size: ${(p) => p.theme.fonts?.normal};\n text-align: left;\n text-align: left;\n text-decoration: none;\n font-weight: 300;\n display: flex;\n align-items: center;\n padding: ${(p) => p.theme.sizes?.small};\n padding-left: ${(p) => p.theme.sizes?.large};\n cursor: pointer;\n overflow: hidden;\n ${(p) =>\n p.selected\n ? css`\n border-left: 2px solid ${p.theme.colors?.primary};\n color: ${p.theme.colors?.primary};\n `\n : css`\n color: ${p.theme.colors?.text};\n `};\n\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n i {\n margin-right: ${(p) => p.theme.sizes?.normal};\n font-size: ${(p) => p.theme.fonts?.medium};\n min-height: 1em;\n min-width: 1em;\n }\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst Item: any = styled.div`\n ${styling}\n`;\n\nconst Link: any = styled(BaseLink)<any>`\n ${styling}\n &:focus {\n outline: none;\n }\n &:focus-visible {\n span {\n ${linkTabStyle};\n }\n }\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst TopItem: any = styled.div`\n display: flex;\n justify-content: space-between;\n padding-right: ${(p) => p.theme.sizes?.large};\n min-height: 52px;\n white-space: nowrap;\n\n && {\n font-weight: normal;\n\n a {\n font-weight: normal;\n }\n }\n ${Item} {\n font-weight: normal;\n }\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst List: any = styled(BaseList)<any>`\n ${list}\n display: flex;\n justify-content: center;\n flex-direction: column;\n margin-right: ${(p) => p.theme.sizes?.medium};\n margin-left: ${(p) => p.theme.sizes?.large};\n margin-bottom: 22px;\n border-left: ${(p) => p.theme.border};\n li {\n margin: 0 0 ${(p) => p.theme.sizes?.normal} -2px;\n }\n li:last-child {\n margin: 0 0 0 -2px;\n }\n flex-basis: 100%;\n border-width: 2px;\n`;\n\n// FUTURE TODO: Look into the typescript error when removing \": any\".\nconst MatchCount: any = styled(Text)`\n margin: 0 0 0 ${(p) => p.theme.sizes?.small};\n`;\n\nexport default {\n Wrapper,\n Toggler,\n List,\n Item,\n Link,\n TopItem,\n MatchCount,\n};\n","import { Category } from '@telia-ace/knowledge-widget-core';\nimport { useProperties } from '@telia-ace/knowledge-widget-ui';\nimport React from 'react';\nimport { GuideCategoryDropdownComponentProps } from './guide-category-dropdown-component';\nimport Styled from './guide-category-dropdown.styles';\n\nconst GuideCategoryDropdownMatchCount: React.FC<Category> = ({ matches }) => {\n const { showMatchCount = false } = useProperties<GuideCategoryDropdownComponentProps>();\n\n if (!showMatchCount || typeof matches === 'undefined') {\n return null;\n }\n\n return <Styled.MatchCount>({matches})</Styled.MatchCount>;\n};\n\nexport default GuideCategoryDropdownMatchCount;\n","import { initialRouteFallback } from '@telia-ace/knowledge-widget-component-utilities';\nimport { Category } from '@telia-ace/knowledge-widget-core';\nimport { SymbolBadge, Text, useHover, useProperties } from '@telia-ace/knowledge-widget-ui';\nimport React from 'react';\nimport { GuideCategoryDropdownComponentProps } from './guide-category-dropdown-component';\nimport GuideCategoryDropdownMatchCount from './guide-category-dropdown-match-count';\nimport Styled from './guide-category-dropdown.styles';\n\ntype Props = {\n item: Category;\n guideCategory: string;\n};\n\nconst GuideCategoryDropdownItem: React.FC<Props> = ({ item, guideCategory }) => {\n const {\n route = 'browse',\n categoryAriaLabel = '',\n activeCategoryAriaLabel = '',\n fallbackOnInitialRoute = false,\n } = useProperties<GuideCategoryDropdownComponentProps>();\n const [hovering, elem] = useHover();\n const { id, title, symbol, activeSymbol } = item;\n\n const selected = guideCategory === id;\n return (\n <li ref={elem as any}>\n <Styled.Link\n {...initialRouteFallback(item, route, fallbackOnInitialRoute, 'category')}\n aria-pressed={selected}\n aria-label={(selected ? activeCategoryAriaLabel : categoryAriaLabel).replace(\n '{{category}}',\n title\n )}\n className=\"humany-guide-category-dropdown-link\"\n aria-current={selected}\n selected={selected}\n >\n {(selected || hovering) && activeSymbol ? (\n <SymbolBadge symbol={activeSymbol} />\n ) : (\n symbol && <SymbolBadge symbol={symbol} />\n )}\n <Text>{title}</Text>\n <GuideCategoryDropdownMatchCount {...item} />\n </Styled.Link>\n </li>\n );\n};\n\nexport default GuideCategoryDropdownItem;\n","import { Category } from '@telia-ace/knowledge-widget-core';\nimport {\n createEmptyComponent,\n SymbolBadge,\n Text,\n useContainer,\n useIsTabbing,\n useProperties,\n useRouteData,\n} from '@telia-ace/knowledge-widget-ui';\nimport { appendClassNames, createParams, formatUrl } from '@telia-ace/widget-utilities';\nimport React, { useEffect, useState } from 'react';\nimport { GuideCategoryDropdownComponentProps } from './guide-category-dropdown-component';\nimport GuideCategoryDropdownItem from './guide-category-dropdown-item';\nimport GuideCategoryDropdownMatchCount from './guide-category-dropdown-match-count';\nimport Styled from './guide-category-dropdown.styles';\n\ntype Props = {\n className: string;\n};\n\nconst GuideCategoryDropdown: React.FC<Props> = ({ className, ...other }) => {\n const routeData = useRouteData();\n const [togglerFocus, setTogglerFocus] = useState(false);\n const {\n parent,\n route = 'browse',\n categories = [],\n loading = false,\n } = useProperties<GuideCategoryDropdownComponentProps>();\n const container = useContainer();\n const [isOpen, setIsOpen] = useState(false);\n const { params } = routeData;\n const isTabbing = useIsTabbing();\n const { guideCategory, tag, phrase, sorting } = params;\n\n useEffect(() => {\n if (isOpen) {\n setIsOpen(false);\n }\n }, [guideCategory]);\n\n if (loading || !parent || !categories.length) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-guide-category-dropdown'),\n });\n }\n\n const selected = categories.find((category) => category.id === guideCategory) || parent;\n const selectedSymbol = selected.activeSymbol || selected.symbol;\n\n return (\n <Styled.Wrapper\n {...other}\n data-loading={false}\n data-toggler-in-focus={togglerFocus}\n aria-expanded={isOpen}\n isTabbing={isTabbing}\n className={appendClassNames(className, 'humany-guide-category-dropdown')}\n >\n {isOpen ? (\n <>\n <Styled.TopItem className=\"humany-guide-category-dropdown-top-item\">\n <Styled.Link\n className=\"humany-guide-category-dropdown-link\"\n routeName={route}\n params={createParams({\n tag,\n phrase,\n sorting,\n guideCategory: parent.id,\n uriName: formatUrl(parent.title),\n })}\n selected={false}\n >\n {parent.symbol ? <SymbolBadge symbol={parent.symbol} /> : null}\n <Text>{parent.title}</Text>\n <GuideCategoryDropdownMatchCount {...parent} />\n </Styled.Link>\n <Styled.Toggler\n onBlur={() => setTogglerFocus(false)}\n onFocus={() => setTogglerFocus(true)}\n className=\"humany-guide-category-dropdown-toggler\"\n onClick={() => {\n setIsOpen(!isOpen);\n }}\n aria-expanded=\"true\"\n aria-label={selected.title}\n >\n <SymbolBadge size={18} symbol={{ type: 'Svg', content: 'caret-up' }} />\n </Styled.Toggler>\n </Styled.TopItem>\n <Styled.List\n className=\"humany-guide-category-dropdown-open\"\n items={categories}\n renderItem={(item: Category) => (\n <GuideCategoryDropdownItem\n key={item.id}\n item={item}\n guideCategory={guideCategory}\n />\n )}\n />\n </>\n ) : (\n <Styled.TopItem className=\"humany-guide-category-dropdown-top-item\">\n <Styled.Item\n className=\"humany-guide-category-dropdown-item\"\n onClick={() => {\n setIsOpen(!isOpen);\n }}\n selected={false}\n >\n {selectedSymbol ? <SymbolBadge symbol={selectedSymbol} /> : null}\n <Text>{selected.title}</Text>\n <GuideCategoryDropdownMatchCount {...selected} />\n </Styled.Item>\n <Styled.Toggler\n onBlur={() => setTogglerFocus(false)}\n onFocus={() => setTogglerFocus(true)}\n className=\"humany-guide-category-dropdown-toggler\"\n onClick={() => {\n setIsOpen(!isOpen);\n }}\n aria-expanded=\"false\"\n aria-label={selected.title}\n >\n <SymbolBadge size={18} symbol={{ type: 'Svg', content: 'caret-down' }} />\n </Styled.Toggler>\n </Styled.TopItem>\n )}\n </Styled.Wrapper>\n );\n};\n\nexport default GuideCategoryDropdown;\n"],"names":["Wrapper","styled","loadingOpacity","contentBox","p","css","borderTabStyle","Toggler","_a","styling","_b","_c","Item","Link","BaseLink","linkTabStyle","TopItem","List","BaseList","list","MatchCount","Text","Styled","GuideCategoryDropdownMatchCount","matches","showMatchCount","useProperties","GuideCategoryDropdownItem","item","guideCategory","route","categoryAriaLabel","activeCategoryAriaLabel","fallbackOnInitialRoute","hovering","elem","useHover","id","title","symbol","activeSymbol","selected","React","__spreadProps","__spreadValues","initialRouteFallback","SymbolBadge","GuideCategoryDropdown","className","other","__objRest","routeData","useRouteData","togglerFocus","setTogglerFocus","useState","parent","categories","loading","container","useContainer","isOpen","setIsOpen","params","isTabbing","useIsTabbing","tag","phrase","sorting","useEffect","createEmptyComponent","appendClassNames","category","selectedSymbol","createParams","formatUrl"],"mappings":"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"}