@telia-ace/knowledge-widget-ui 1.0.47 → 1.0.48-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,27 +1,27 @@
1
1
  var He = Object.defineProperty, je = Object.defineProperties;
2
2
  var Oe = Object.getOwnPropertyDescriptors;
3
3
  var R = Object.getOwnPropertySymbols;
4
- var oe = Object.prototype.hasOwnProperty, se = Object.prototype.propertyIsEnumerable;
5
- var re = (t, e, a) => e in t ? He(t, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[e] = a, y = (t, e) => {
4
+ var re = Object.prototype.hasOwnProperty, se = Object.prototype.propertyIsEnumerable;
5
+ var oe = (t, e, a) => e in t ? He(t, e, { enumerable: !0, configurable: !0, writable: !0, value: a }) : t[e] = a, y = (t, e) => {
6
6
  for (var a in e || (e = {}))
7
- oe.call(e, a) && re(t, a, e[a]);
7
+ re.call(e, a) && oe(t, a, e[a]);
8
8
  if (R)
9
9
  for (var a of R(e))
10
- se.call(e, a) && re(t, a, e[a]);
10
+ se.call(e, a) && oe(t, a, e[a]);
11
11
  return t;
12
12
  }, k = (t, e) => je(t, Oe(e));
13
13
  var w = (t, e) => {
14
14
  var a = {};
15
- for (var r in t)
16
- oe.call(t, r) && e.indexOf(r) < 0 && (a[r] = t[r]);
15
+ for (var o in t)
16
+ re.call(t, o) && e.indexOf(o) < 0 && (a[o] = t[o]);
17
17
  if (t != null && R)
18
- for (var r of R(t))
19
- e.indexOf(r) < 0 && se.call(t, r) && (a[r] = t[r]);
18
+ for (var o of R(t))
19
+ e.indexOf(o) < 0 && se.call(t, o) && (a[o] = t[o]);
20
20
  return a;
21
21
  };
22
22
  import { css as $, keyframes as he } from "@emotion/react";
23
23
  import d from "@emotion/styled";
24
- import { useRouteData as ge, Link as Ye, Icon as H, List as Z, list as pe, invertedHoverButton as ye, Drawer as _e, ItemList as O, itemList as Y, Dropdown as $e, headingElement as ee, Text as ve, Button as te, paddedBorderTabStyle as ie, Confirm as Ke, SymbolBadge as N, StyledText as J, convertToStringAttributes as xe, useKeyPress as W, useContainer as Ve, useEventListener as le, DateFormats as be, Timestamp as we, useIsTabbing as qe, usePrevious as Ge, TextLink as Q, borderTabStyle as X, Paragraph as Ue, genericHtml as Je, AnchorLink as Qe, WidgetLink as Xe } from "@telia-ace/widget-ui";
24
+ import { useRouteData as ge, Link as Ye, Icon as H, List as X, list as pe, invertedHoverButton as ye, Drawer as _e, ItemList as O, itemList as Y, Dropdown as $e, headingElement as Z, Text as ve, Button as ee, paddedBorderTabStyle as ie, Confirm as Ke, SymbolBadge as N, StyledText as U, convertToStringAttributes as xe, useKeyPress as W, useContainer as Ve, useEventListener as le, DateFormats as be, Timestamp as we, useIsTabbing as qe, usePrevious as Ge, TextLink as J, borderTabStyle as Q, Paragraph as Ue, genericHtml as Je, AnchorLink as Qe, WidgetLink as Xe } from "@telia-ace/widget-ui";
25
25
  export * from "@telia-ace/widget-ui";
26
26
  import n, { forwardRef as _, useCallback as z, useState as T, useEffect as K, useMemo as Ze, useRef as Ee, useImperativeHandle as et } from "react";
27
27
  import { createParams as j, formatUrl as ce, appendClassNames as S, htmlParentContains as tt } from "@telia-ace/widget-utilities";
@@ -29,10 +29,10 @@ const at = ({
29
29
  title: t = "",
30
30
  className: e,
31
31
  id: a,
32
- parent: r,
32
+ parent: o,
33
33
  connection: s,
34
34
  type: i,
35
- target: o,
35
+ target: r,
36
36
  href: c,
37
37
  children: m,
38
38
  connectionKey: f
@@ -41,7 +41,7 @@ const at = ({
41
41
  switch (i) {
42
42
  case "default":
43
43
  case "guide":
44
- const { id: E, title: g } = r;
44
+ const { id: E, title: g } = o;
45
45
  let v = f || s;
46
46
  E !== a && !f && (v = void 0), u.routeName = l, u.params = j(k(y({}, h), {
47
47
  guide: a,
@@ -50,23 +50,23 @@ const at = ({
50
50
  }));
51
51
  break;
52
52
  case "link":
53
- u.href = c, u.target = o;
53
+ u.href = c, u.target = r;
54
54
  break;
55
55
  }
56
56
  return /* @__PURE__ */ n.createElement(Ye, y({ className: S(e, "humany-dialog-link") }, u), m || /* @__PURE__ */ n.createElement(n.Fragment, null, i === "link" && /* @__PURE__ */ n.createElement(H, { faIcon: "link" }), /* @__PURE__ */ n.createElement("span", null, t)));
57
- }, ke = at, ta = _((s, r) => {
57
+ }, ke = at, ta = _((s, o) => {
58
58
  var i = s, { className: t, dialog: e } = i, a = w(i, ["className", "dialog"]);
59
59
  return e.length ? /* @__PURE__ */ n.createElement(
60
60
  nt,
61
61
  k(y({
62
62
  className: S(t, "humany-dialog"),
63
63
  items: e,
64
- renderItem: (o) => /* @__PURE__ */ n.createElement("li", { key: o.connection, "data-dialog": o.connection }, /* @__PURE__ */ n.createElement(ke, y({}, o)))
64
+ renderItem: (r) => /* @__PURE__ */ n.createElement("li", { key: r.connection, "data-dialog": r.connection }, /* @__PURE__ */ n.createElement(ke, y({}, r)))
65
65
  }, a), {
66
- ref: r
66
+ ref: o
67
67
  })
68
68
  ) : null;
69
- }), nt = d(Z)`
69
+ }), nt = d(X)`
70
70
  ${pe}
71
71
  a {
72
72
  min-width: 150px;
@@ -89,15 +89,15 @@ const at = ({
89
89
  return (e = t.theme.sizes) == null ? void 0 : e.small;
90
90
  }} 0 0;
91
91
  }
92
- `, rt = (u) => {
92
+ `, ot = (u) => {
93
93
  var l = u, {
94
94
  trigger: t,
95
95
  header: e,
96
96
  className: a,
97
- animation: r,
97
+ animation: o,
98
98
  fullScreen: s,
99
99
  onToggle: i,
100
- children: o,
100
+ children: r,
101
101
  ref: c,
102
102
  closeButtonAriaLabel: m
103
103
  } = l, f = w(l, [
@@ -117,14 +117,14 @@ const at = ({
117
117
  className: S(a, "humany-drawer-list"),
118
118
  trigger: t,
119
119
  header: e,
120
- animation: r,
120
+ animation: o,
121
121
  fullScreen: s,
122
122
  onToggle: i,
123
123
  closeButtonAriaLabel: m
124
124
  },
125
- /* @__PURE__ */ n.createElement(ot, y({}, f), o)
125
+ /* @__PURE__ */ n.createElement(rt, y({}, f), r)
126
126
  );
127
- }, aa = rt, ot = d(O)`
127
+ }, aa = ot, rt = d(O)`
128
128
  ${Y}
129
129
  font-family: ${(t) => {
130
130
  var e;
@@ -142,7 +142,7 @@ const at = ({
142
142
  return (e = t.theme.fonts) == null ? void 0 : e.normal;
143
143
  }};
144
144
  }
145
- `, st = ({ items: t, renderItem: e, trigger: a, header: r, children: s }) => /* @__PURE__ */ n.createElement($e, { className: "humany-dropdown-actions", trigger: a }, /* @__PURE__ */ n.createElement(it, null, !!r && /* @__PURE__ */ n.createElement(lt, null, r), t && e && /* @__PURE__ */ n.createElement(ct, { items: t, renderItem: e }), s)), na = st, it = d.div`
145
+ `, st = ({ items: t, renderItem: e, trigger: a, header: o, children: s }) => /* @__PURE__ */ n.createElement($e, { className: "humany-dropdown-actions", trigger: a }, /* @__PURE__ */ n.createElement(it, null, !!o && /* @__PURE__ */ n.createElement(lt, null, o), t && e && /* @__PURE__ */ n.createElement(ct, { items: t, renderItem: e }), s)), na = st, it = d.div`
146
146
  background: #fff;
147
147
  border: #ccc 1px solid;
148
148
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
@@ -187,7 +187,7 @@ const at = ({
187
187
  return (e = t.theme.sizes) == null ? void 0 : e.small;
188
188
  }};
189
189
  }
190
- `, ct = d(Z)`
190
+ `, ct = d(X)`
191
191
  list-style: none;
192
192
  padding: 0;
193
193
  margin: 0;
@@ -223,12 +223,12 @@ const at = ({
223
223
  }
224
224
  }
225
225
  `, mt = (i) => {
226
- var o = i, {
226
+ var r = i, {
227
227
  trigger: t,
228
228
  className: e,
229
229
  children: a,
230
- closeButtonAriaLabel: r
231
- } = o, s = w(o, [
230
+ closeButtonAriaLabel: o
231
+ } = r, s = w(r, [
232
232
  "trigger",
233
233
  "className",
234
234
  "children",
@@ -238,12 +238,12 @@ const at = ({
238
238
  $e,
239
239
  {
240
240
  className: S(e, "humany-dropdown-list"),
241
- closeButtonAriaLabel: r,
241
+ closeButtonAriaLabel: o,
242
242
  trigger: t
243
243
  },
244
244
  /* @__PURE__ */ n.createElement(dt, y({}, s), a)
245
245
  );
246
- }, ra = mt, dt = d(O)`
246
+ }, oa = mt, dt = d(O)`
247
247
  ${Y}
248
248
  font-family: ${(t) => {
249
249
  var e;
@@ -252,7 +252,7 @@ const at = ({
252
252
  > div {
253
253
  ${(t) => {
254
254
  var e;
255
- return ee(t)(
255
+ return Z(t)(
256
256
  "> h1",
257
257
  $`
258
258
  font-size: ${(e = t.theme.fonts) == null ? void 0 : e.normal};
@@ -289,7 +289,7 @@ const at = ({
289
289
  .humany-loader {
290
290
  opacity: ${t["data-loading"] ? "1" : "0"};
291
291
  }
292
- `, oa = d(H)`
292
+ `, ra = d(H)`
293
293
  && {
294
294
  font-size: ${(t) => {
295
295
  var e;
@@ -308,7 +308,7 @@ const at = ({
308
308
  var e;
309
309
  return (e = t.theme.colors) == null ? void 0 : e.text;
310
310
  }};
311
- `, ft = d(te)`
311
+ `, ft = d(ee)`
312
312
  display: flex;
313
313
  align-items: center;
314
314
 
@@ -340,20 +340,20 @@ const at = ({
340
340
  addFavoriteTooltip: t,
341
341
  removeFavoriteCancelLabel: e,
342
342
  removeFavoriteConfirmLabel: a,
343
- removeFavoriteHeader: r,
343
+ removeFavoriteHeader: o,
344
344
  removeFavoriteLabel: s,
345
345
  removeFavoriteTooltip: i,
346
- id: o,
346
+ id: r,
347
347
  isFavorite: c,
348
348
  guideTitle: m,
349
349
  buttonLabel: f = "",
350
350
  actions: { addFavorite: u, removeFavorite: l }
351
351
  }) => {
352
352
  const h = z(() => {
353
- l(o);
354
- }, [o, l]), E = z(() => {
355
- u(o);
356
- }, [o, u]), g = `${c ? i : t}${m ? `: "${m}"` : ""}`;
353
+ l(r);
354
+ }, [r, l]), E = z(() => {
355
+ u(r);
356
+ }, [r, u]), g = `${c ? i : t}${m ? `: "${m}"` : ""}`;
357
357
  return /* @__PURE__ */ n.createElement(n.Fragment, null, c ? /* @__PURE__ */ n.createElement(
358
358
  Ke,
359
359
  {
@@ -374,12 +374,12 @@ const at = ({
374
374
  symbol: { type: "Svg", content: "star-empty" }
375
375
  }
376
376
  ),
377
- f && /* @__PURE__ */ n.createElement(J, null, f)
377
+ f && /* @__PURE__ */ n.createElement(U, null, f)
378
378
  ),
379
379
  onConfirm: h,
380
380
  cancelLabel: e,
381
381
  confirmLabel: a,
382
- header: r,
382
+ header: o,
383
383
  text: s
384
384
  }
385
385
  ) : /* @__PURE__ */ n.createElement(
@@ -394,7 +394,7 @@ const at = ({
394
394
  "data-has-symbol": "true"
395
395
  },
396
396
  /* @__PURE__ */ n.createElement(N, { size: 16, symbol: { type: "Svg", content: "star-empty" } }),
397
- f && /* @__PURE__ */ n.createElement(J, null, f)
397
+ f && /* @__PURE__ */ n.createElement(U, null, f)
398
398
  ));
399
399
  }, gt = ht, me = d(ft)`
400
400
  grid-area: favorite;
@@ -421,13 +421,13 @@ const at = ({
421
421
  }
422
422
 
423
423
  ${(t) => {
424
- var e, a, r, s, i, o, c;
424
+ var e, a, o, s, i, r, c;
425
425
  return ((e = t.theme.colors) == null ? void 0 : e.text) && $`
426
426
  svg {
427
427
  stroke: ${(a = t.theme.colors) == null ? void 0 : a.text};
428
428
 
429
429
  path {
430
- stroke: ${(r = t.theme.colors) == null ? void 0 : r.text};
430
+ stroke: ${(o = t.theme.colors) == null ? void 0 : o.text};
431
431
  }
432
432
 
433
433
  ${t["data-favorite"] === "true" && `
@@ -448,7 +448,7 @@ const at = ({
448
448
  fill: transparent;
449
449
  }
450
450
  ` : `
451
- fill: ${(o = t.theme.colors) == null ? void 0 : o.text};
451
+ fill: ${(r = t.theme.colors) == null ? void 0 : r.text};
452
452
 
453
453
  path {
454
454
  fill: ${(c = t.theme.colors) == null ? void 0 : c.text};
@@ -465,10 +465,10 @@ const at = ({
465
465
  },
466
466
  direction: e = "horizontal",
467
467
  className: a,
468
- header: r,
468
+ header: o,
469
469
  positive: s,
470
470
  negative: i,
471
- selected: o
471
+ selected: r
472
472
  } = u, c = w(u, [
473
473
  "onFeedback",
474
474
  "direction",
@@ -486,14 +486,13 @@ const at = ({
486
486
  }, xe(c)), {
487
487
  ref: m
488
488
  }),
489
- !!r && /* @__PURE__ */ n.createElement(pt, null, r),
489
+ !!o && /* @__PURE__ */ n.createElement(pt, null, o),
490
490
  /* @__PURE__ */ n.createElement(
491
491
  de,
492
492
  {
493
493
  className: "humany-feedback-button",
494
- disabled: !!o,
495
- "aria-pressed": o === "positive",
496
- "data-selected": o === "positive",
494
+ disabled: !!r,
495
+ "data-selected": r === "positive",
497
496
  "data-direction": e,
498
497
  onClick: () => t("positive")
499
498
  },
@@ -504,9 +503,8 @@ const at = ({
504
503
  de,
505
504
  {
506
505
  className: "humany-feedback-button",
507
- disabled: !!o,
508
- "aria-pressed": o === "negative",
509
- "data-selected": o === "negative",
506
+ disabled: !!r,
507
+ "data-selected": r === "negative",
510
508
  "data-direction": e,
511
509
  onClick: () => t("negative")
512
510
  },
@@ -515,7 +513,7 @@ const at = ({
515
513
  )
516
514
  );
517
515
  }
518
- ), pt = d(J)`
516
+ ), pt = d(U)`
519
517
  font-weight: normal;
520
518
  margin: 0 0 ${(t) => {
521
519
  var e;
@@ -526,7 +524,7 @@ const at = ({
526
524
  return (e = t.theme.fonts) == null ? void 0 : e.normal;
527
525
  }};
528
526
  display: block;
529
- `, de = d(te)`
527
+ `, de = d(ee)`
530
528
  display: inline-block;
531
529
  font-size: ${(t) => {
532
530
  var e;
@@ -581,14 +579,14 @@ const at = ({
581
579
  `;
582
580
  }}
583
581
  `, $t = () => {
584
- const [t, e] = T(null), a = W("ArrowLeft"), r = W("ArrowRight"), s = W("ArrowUp"), i = W("ArrowDown");
582
+ const [t, e] = T(null), a = W("ArrowLeft"), o = W("ArrowRight"), s = W("ArrowUp"), i = W("ArrowDown");
585
583
  return K(() => {
586
- e(a ? "left" : r ? "right" : s ? "up" : i ? "down" : null);
587
- }, [a, r, s, i]), t;
584
+ e(a ? "left" : o ? "right" : s ? "up" : i ? "down" : null);
585
+ }, [a, o, s, i]), t;
588
586
  }, la = $t, vt = (t, e) => {
589
- const [a, r] = T(t), s = z(() => setTimeout(() => {
590
- r(t);
591
- }, e), [e, r, t]);
587
+ const [a, o] = T(t), s = z(() => setTimeout(() => {
588
+ o(t);
589
+ }, e), [e, o, t]);
592
590
  return K(
593
591
  () => {
594
592
  const i = s();
@@ -599,17 +597,17 @@ const at = ({
599
597
  [s]
600
598
  ), a;
601
599
  }, ca = vt, xt = () => {
602
- const t = Ve(), [e, a] = T([]), r = t.get("favorites");
600
+ const t = Ve(), [e, a] = T([]), o = t.get("favorites");
603
601
  K(() => {
604
- if (r) {
605
- a(r.get());
602
+ if (o) {
603
+ a(o.get());
606
604
  const { events: m } = t.get("$widget");
607
605
  return m.subscribe("widget:favorites-updated", (u, { updated: l }) => {
608
606
  a([...l]);
609
607
  });
610
608
  }
611
609
  }, []);
612
- const s = (m) => r ? r.add(m) : Promise.resolve([]), i = (m) => r ? r.remove(m) : Promise.resolve([]), o = () => r ? r.clear() : Promise.resolve([]), c = z(
610
+ const s = (m) => o ? o.add(m) : Promise.resolve([]), i = (m) => o ? o.remove(m) : Promise.resolve([]), r = () => o ? o.clear() : Promise.resolve([]), c = z(
613
611
  (m) => e.indexOf(m) > -1 ? i(m) : s(m),
614
612
  [e]
615
613
  );
@@ -619,30 +617,30 @@ const at = ({
619
617
  () => ({
620
618
  addFavorite: s,
621
619
  removeFavorite: i,
622
- clearFavorites: o,
620
+ clearFavorites: r,
623
621
  toggleFavorite: c
624
622
  }),
625
623
  [e]
626
624
  )
627
625
  ];
628
626
  }, bt = xt, ma = () => {
629
- const [t, e] = T(!1), a = Ee(), r = z(() => e(!0), [e]), s = z(() => e(!1), [e]);
630
- return le("mouseenter", r, a.current), le("mouseleave", s, a.current), [t, a];
627
+ const [t, e] = T(!1), a = Ee(), o = z(() => e(!0), [e]), s = z(() => e(!1), [e]);
628
+ return le("mouseenter", o, a.current), le("mouseleave", s, a.current), [t, a];
631
629
  }, wt = ({
632
630
  format: t = be.YYYY_MM_DD_HH_MM,
633
631
  className: e = "",
634
632
  byLabel: a = "",
635
- modifiedLabel: r = "",
633
+ modifiedLabel: o = "",
636
634
  publishedLabel: s = "",
637
635
  modifiedBy: i = "",
638
- publishedBy: o = "",
636
+ publishedBy: r = "",
639
637
  showModified: c = !1,
640
638
  showPublished: m = !1,
641
639
  modified: f,
642
640
  published: u
643
641
  }) => {
644
642
  const l = m && u ? /* @__PURE__ */ n.createElement(ue, { format: t, timestamp: u }) : null, h = c && f ? /* @__PURE__ */ n.createElement(ue, { format: t, timestamp: f }) : null;
645
- return !l && !h ? null : /* @__PURE__ */ n.createElement(U, { className: S(e, "humany-metadata") }, l && /* @__PURE__ */ n.createElement(U, { className: "humany-published" }, s, l, a && o && ` ${a.replace("{{editor}}", o)}`), h && /* @__PURE__ */ n.createElement(U, { className: "humany-modified" }, l && ", ", r, h, a && i && ` ${a.replace("{{editor}}", i)}`));
643
+ return !l && !h ? null : /* @__PURE__ */ n.createElement(G, { className: S(e, "humany-metadata") }, l && /* @__PURE__ */ n.createElement(G, { className: "humany-published" }, s, l, a && r && ` ${a.replace("{{editor}}", r)}`), h && /* @__PURE__ */ n.createElement(G, { className: "humany-modified" }, l && ", ", o, h, a && i && ` ${a.replace("{{editor}}", i)}`));
646
644
  }, Et = wt, ue = d(we)`
647
645
  &:not(:first-child) {
648
646
  margin-left: 4px;
@@ -650,19 +648,19 @@ const at = ({
650
648
  &:not(:last-child) {
651
649
  margin-right: 4px;
652
650
  }
653
- `, U = d(ve)`
651
+ `, G = d(ve)`
654
652
  font-style: italic;
655
653
  `, kt = ({ tags: t }) => t.filter((e) => e.symbol).length ? /* @__PURE__ */ n.createElement(
656
654
  Nt,
657
655
  {
658
656
  className: "humany-guide-list-tags",
659
657
  items: t,
660
- renderItem: ({ id: e, symbol: a, title: r }) => a && /* @__PURE__ */ n.createElement("li", { key: e, "data-tag": e }, /* @__PURE__ */ n.createElement(Lt, { size: 18, symbol: a, title: r }))
658
+ renderItem: ({ id: e, symbol: a, title: o }) => a && /* @__PURE__ */ n.createElement("li", { key: e, "data-tag": e }, /* @__PURE__ */ n.createElement(Lt, { size: 18, symbol: a, title: o }))
661
659
  }
662
- ) : null, da = _(({ title: t, id: e, route: a, symbolSize: r, collapseUri: s, children: i }, o) => {
660
+ ) : null, da = _(({ title: t, id: e, route: a, symbolSize: o, collapseUri: s, children: i }, r) => {
663
661
  const { params: c } = ge();
664
- return /* @__PURE__ */ n.createElement(zt, { ref: o, "data-guide": e }, /* @__PURE__ */ n.createElement(
665
- Q,
662
+ return /* @__PURE__ */ n.createElement(zt, { ref: r, "data-guide": e }, /* @__PURE__ */ n.createElement(
663
+ J,
666
664
  {
667
665
  title: t,
668
666
  "aria-label": t,
@@ -675,7 +673,7 @@ const at = ({
675
673
  })),
676
674
  text: t
677
675
  },
678
- /* @__PURE__ */ n.createElement(N, { size: r, symbol: { type: "Svg", content: "caret-up" } })
676
+ /* @__PURE__ */ n.createElement(N, { size: o, symbol: { type: "Svg", content: "caret-up" } })
679
677
  ), i);
680
678
  }), zt = d.li`
681
679
  > a {
@@ -692,14 +690,14 @@ const at = ({
692
690
  }
693
691
  `, ua = _(
694
692
  (Gt, Fe) => {
695
- var ae = Gt, {
693
+ var te = Gt, {
696
694
  expandable: t = !1,
697
695
  routing: e = {},
698
696
  paramMappers: a = {},
699
- symbolSize: r = 11,
697
+ symbolSize: o = 11,
700
698
  pageRole: s = "link",
701
699
  pageCaret: i = "down",
702
- showTags: o = !1,
700
+ showTags: r = !1,
703
701
  showFavoriteToggle: c = !1,
704
702
  localPaging: m = !1,
705
703
  onItemClick: f = () => {
@@ -718,7 +716,7 @@ const at = ({
718
716
  removeFavoriteHeader: Se,
719
717
  removeFavoriteLabel: Ne,
720
718
  removeFavoriteTooltip: Le
721
- } = ae, De = w(ae, [
719
+ } = te, De = w(te, [
722
720
  "expandable",
723
721
  "routing",
724
722
  "paramMappers",
@@ -743,13 +741,13 @@ const at = ({
743
741
  "removeFavoriteLabel",
744
742
  "removeFavoriteTooltip"
745
743
  ]);
746
- const V = qe(), F = Ee(), I = Ge(v), { guide: Ie = "guide", page: Ae = "index" } = e, {
744
+ const ae = qe(), F = Ee(), I = Ge(v), { guide: Ie = "guide", page: Ae = "index" } = e, {
747
745
  guide: Te = ({ id: p }) => j({ guide: p }),
748
746
  page: ne = () => j()
749
747
  } = a, [Ce, Me] = bt();
750
748
  et(Fe, () => F.current);
751
- const q = (p) => {
752
- const { id: b, title: x, tags: D, published: P, modified: A, publishedBy: B, modifiedBy: G } = p;
749
+ const V = (p) => {
750
+ const { id: b, title: x, tags: D, published: P, modified: A, publishedBy: B, modifiedBy: q } = p;
753
751
  return /* @__PURE__ */ n.createElement(
754
752
  "li",
755
753
  {
@@ -758,7 +756,7 @@ const at = ({
758
756
  "has-metadata": (!!(l != null && l.showPublished) && !!P || !!(l != null && l.showModified) && !!A).toString()
759
757
  },
760
758
  /* @__PURE__ */ n.createElement(
761
- Q,
759
+ J,
762
760
  {
763
761
  className: "humany-guide-link",
764
762
  title: x,
@@ -771,7 +769,7 @@ const at = ({
771
769
  /* @__PURE__ */ n.createElement(
772
770
  N,
773
771
  {
774
- size: r,
772
+ size: o,
775
773
  symbol: {
776
774
  type: "Svg",
777
775
  content: t ? "caret-down" : "caret-right"
@@ -794,21 +792,21 @@ const at = ({
794
792
  id: b
795
793
  }
796
794
  ),
797
- o && /* @__PURE__ */ n.createElement(kt, { tags: D }),
795
+ r && /* @__PURE__ */ n.createElement(kt, { tags: D }),
798
796
  /* @__PURE__ */ n.createElement(
799
797
  Dt,
800
798
  k(y({}, l), {
801
- indent: t ? void 0 : r,
799
+ indent: t ? void 0 : o,
802
800
  modified: A,
803
801
  published: P,
804
802
  publishedBy: B,
805
- modifiedBy: G
803
+ modifiedBy: q
806
804
  })
807
805
  )
808
806
  );
809
807
  }, Pe = z(
810
- (p, b, x) => L ? L(p, b, x, q) : q(p),
811
- [L, q]
808
+ (p, b, x) => L ? L(p, b, x, V) : V(p),
809
+ [L, V]
812
810
  ), Be = z(
813
811
  (p) => {
814
812
  m && (p.preventDefault(), u("page", ne()));
@@ -816,7 +814,7 @@ const at = ({
816
814
  [u, m]
817
815
  );
818
816
  K(() => {
819
- if (V && I && I.length < v.length && F.current) {
817
+ if (I && I.length < v.length && F.current) {
820
818
  const p = F.current.querySelectorAll(".humany-guide-list > ul > li"), b = p[I.length];
821
819
  if (p.length === v.length && I.length) {
822
820
  const x = p[I.length];
@@ -832,8 +830,8 @@ const at = ({
832
830
  if (A.addedNodes) {
833
831
  const B = Array.from(
834
832
  A.addedNodes
835
- ).find((G) => G.tagName === "A");
836
- B && tt(F.current, document.activeElement) && (V && B.focus(), P.disconnect());
833
+ ).find((q) => q.tagName === "A");
834
+ B && tt(F.current, document.activeElement) && (ae && B.focus(), P.disconnect());
837
835
  }
838
836
  });
839
837
  }).observe(b, {
@@ -856,14 +854,14 @@ const at = ({
856
854
  "data-item-count": v.length,
857
855
  items: v,
858
856
  renderItem: Pe,
859
- isTabbing: V,
857
+ isTabbing: ae,
860
858
  expandable: t ? "true" : "false",
861
- "grid-items": o || c || Re ? "true" : "false"
859
+ "grid-items": r || c || Re ? "true" : "false"
862
860
  }, xe(De)), {
863
861
  ref: F
864
862
  }),
865
863
  h ? /* @__PURE__ */ n.createElement(
866
- Q,
864
+ J,
867
865
  {
868
866
  text: h,
869
867
  title: h,
@@ -876,7 +874,7 @@ const at = ({
876
874
  /* @__PURE__ */ n.createElement(
877
875
  N,
878
876
  {
879
- size: r,
877
+ size: o,
880
878
  symbol: { type: "Svg", content: `caret-${i}` }
881
879
  }
882
880
  )
@@ -897,7 +895,7 @@ const at = ({
897
895
  text-decoration: none;
898
896
 
899
897
  > div {
900
- ${(t) => ee(t)(
898
+ ${(t) => Z(t)(
901
899
  "> h1",
902
900
  $`
903
901
  white-space: pre-wrap;
@@ -988,7 +986,7 @@ const at = ({
988
986
  }}
989
987
 
990
988
  &:focus-visible {
991
- ${X}
989
+ ${Q}
992
990
  text-decoration: underline;
993
991
  }
994
992
 
@@ -1031,11 +1029,11 @@ const at = ({
1031
1029
  }
1032
1030
 
1033
1031
  &:focus-visible {
1034
- ${X}
1032
+ ${Q}
1035
1033
  text-decoration: underline;
1036
1034
  }
1037
1035
  }
1038
- `, Nt = d(Z)`
1036
+ `, Nt = d(X)`
1039
1037
  ${pe}
1040
1038
  display: flex;
1041
1039
  margin: 0 0 0 auto;
@@ -1158,12 +1156,12 @@ const at = ({
1158
1156
  "stroke-miterlimit": "10"
1159
1157
  }
1160
1158
  )))), Bt = Pt, Rt = (i) => {
1161
- var o = i, {
1159
+ var r = i, {
1162
1160
  className: t,
1163
1161
  showHeader: e,
1164
1162
  notificationList: a,
1165
- loading: r
1166
- } = o, s = w(o, [
1163
+ loading: o
1164
+ } = r, s = w(r, [
1167
1165
  "className",
1168
1166
  "showHeader",
1169
1167
  "notificationList",
@@ -1176,10 +1174,10 @@ const at = ({
1176
1174
  notifications: h = [],
1177
1175
  defaultHeaderOptions: E = { visible: !0 }
1178
1176
  } = a || {};
1179
- return !h.length && !r ? null : /* @__PURE__ */ n.createElement(
1177
+ return !h.length && !o ? null : /* @__PURE__ */ n.createElement(
1180
1178
  Ht,
1181
1179
  k(y({}, s), {
1182
- "data-loading": r,
1180
+ "data-loading": o,
1183
1181
  "data-show-header": typeof e == "boolean" ? e : E.visible,
1184
1182
  className: S(t, "humany-notification-list"),
1185
1183
  "data-notification-category": f,
@@ -1221,9 +1219,9 @@ const at = ({
1221
1219
  )) : /* @__PURE__ */ n.createElement(fe, { html: L })
1222
1220
  )
1223
1221
  }),
1224
- /* @__PURE__ */ n.createElement(Bt, { loading: r })
1222
+ /* @__PURE__ */ n.createElement(Bt, { loading: o })
1225
1223
  );
1226
- }, Wt = d(te)`
1224
+ }, Wt = d(ee)`
1227
1225
  display: flex;
1228
1226
  justify-content: space-between;
1229
1227
  align-items: center;
@@ -1251,7 +1249,7 @@ const at = ({
1251
1249
  white-space: nowrap;
1252
1250
  }
1253
1251
  &:focus-visible {
1254
- ${X}
1252
+ ${Q}
1255
1253
  span {
1256
1254
  color: ${(t) => {
1257
1255
  var e;
@@ -1271,7 +1269,7 @@ const at = ({
1271
1269
  }};
1272
1270
  ${(t) => !t["data-show-header"] && $`
1273
1271
  > div {
1274
- ${ee(t)(
1272
+ ${Z(t)(
1275
1273
  "h1",
1276
1274
  $`
1277
1275
  display: none;
@@ -1297,9 +1295,9 @@ const at = ({
1297
1295
  display: none;
1298
1296
  &:not(:only-child) {
1299
1297
  ${(t) => {
1300
- var e, a, r;
1298
+ var e, a, o;
1301
1299
  return ((e = t.theme.sizes) == null ? void 0 : e.cardinal) && ((a = t.theme.sizes) == null ? void 0 : a.normal) && $`
1302
- margin: ${(r = t.theme.sizes) == null ? void 0 : r.normal} 0;
1300
+ margin: ${(o = t.theme.sizes) == null ? void 0 : o.normal} 0;
1303
1301
  `;
1304
1302
  }}
1305
1303
  }
@@ -1336,29 +1334,29 @@ const at = ({
1336
1334
  return (e = t.theme.fonts) == null ? void 0 : e.small;
1337
1335
  }};
1338
1336
  font-weight: 300;
1339
- `, fa = Rt, _t = (t) => new RegExp("^#", "i").test(t), Kt = (t) => (r) => {
1340
- var s = r, { children: e } = s, a = w(s, ["children"]);
1337
+ `, fa = Rt, _t = (t) => new RegExp("^#", "i").test(t), Kt = (t) => (o) => {
1338
+ var s = o, { children: e } = s, a = w(s, ["children"]);
1341
1339
  const {
1342
1340
  implementation: i,
1343
- name: o
1341
+ name: r
1344
1342
  } = t.get("$widget"), { href: c = "" } = a;
1345
1343
  if (_t(c))
1346
1344
  return /* @__PURE__ */ n.createElement(Qe, { smooth: !0, to: c }, e);
1347
1345
  const m = i.bindings.map((l) => l.replace(/\./g, "\\.")).join("|"), u = new RegExp(`^((http[s]?:)?//)?(${m})/([^\\s]+)`).exec(c);
1348
1346
  if (u && u.length >= 4) {
1349
1347
  const l = u[4];
1350
- if (i.widgets.get(l) && !l.startsWith("blob?") && !l.startsWith(o))
1348
+ if (i.widgets.get(l) && !l.startsWith("blob?") && !l.startsWith(r))
1351
1349
  return /* @__PURE__ */ n.createElement(Xe, { widgetName: l }, e);
1352
1350
  }
1353
1351
  return /* @__PURE__ */ n.createElement("a", y({}, a), e);
1354
1352
  }, Vt = Kt, qt = (t, e = []) => ({
1355
1353
  transform: {
1356
1354
  a: (a) => {
1357
- const c = a, { children: r } = c, i = w(c, ["children"])["data-target"];
1355
+ const c = a, { children: o } = c, i = w(c, ["children"])["data-target"];
1358
1356
  if (i && e.length) {
1359
1357
  const m = e.find(({ connection: f }) => f === i);
1360
1358
  if (m)
1361
- return /* @__PURE__ */ n.createElement(ke, y({}, m), r);
1359
+ return /* @__PURE__ */ n.createElement(ke, y({}, m), o);
1362
1360
  }
1363
1361
  return Vt(t)(a);
1364
1362
  }
@@ -1370,7 +1368,7 @@ export {
1370
1368
  ta as DialogList,
1371
1369
  aa as DrawerList,
1372
1370
  na as DropdownActions,
1373
- ra as DropdownList,
1371
+ oa as DropdownList,
1374
1372
  gt as FavoriteButton,
1375
1373
  ia as Feedback,
1376
1374
  ua as GuideList,
@@ -1378,7 +1376,7 @@ export {
1378
1376
  Tt as LoaderWrapper,
1379
1377
  Et as Metadata,
1380
1378
  fa as NotificationList,
1381
- oa as SmallCaret,
1379
+ ra as SmallCaret,
1382
1380
  sa as StyledHeaderText,
1383
1381
  ft as StyledListButton,
1384
1382
  ha as guideRenderInstructions,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/dialog-link.tsx","../src/components/dialog-list.tsx","../src/components/drawer-list.tsx","../src/components/dropdown-actions.tsx","../src/components/dropdown-list.tsx","../src/styles.ts","../src/components/favorite-button.tsx","../src/components/feedback.tsx","../src/hooks/use-arrow-keys.ts","../src/hooks/use-debounce.ts","../src/hooks/use-favorites.ts","../src/hooks/use-hover.ts","../src/components/metadata.tsx","../src/components/guide-list.tsx","../src/components/loader.tsx","../src/components/notification-list.tsx","../src/utils/embedded-link-mapper.tsx","../src/utils/guide-render-instructions.tsx"],"sourcesContent":["import { Icon, Link, useRouteData } from '@telia-ace/widget-ui';\nimport { appendClassNames, createParams, formatUrl } from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport { LinkProps } from '../missing-type-exports';\n\nexport type Props = Merge<\n LinkProps,\n {\n parent: {\n id: string;\n title: string;\n };\n type: 'guide' | 'link' | 'default';\n connection?: string;\n connectionKey?: string;\n }\n>;\n\nconst DialogLink: React.FC<Props> = ({\n title = '',\n className,\n id,\n parent,\n connection,\n type,\n target,\n href,\n children,\n connectionKey,\n}) => {\n const props: any = {};\n const { name, params } = useRouteData();\n\n switch (type) {\n case 'default':\n case 'guide':\n const { id: parentId, title: parentTitle } = parent;\n\n let key = connectionKey || connection;\n\n if (parentId !== id && !connectionKey) {\n key = undefined;\n }\n\n props.routeName = name;\n props.params = createParams({\n ...params,\n guide: id,\n connection: key,\n uriName: id === parentId ? formatUrl(parentTitle) : formatUrl(title),\n });\n break;\n case 'link':\n props.href = href;\n props.target = target;\n break;\n }\n\n return (\n <Link className={appendClassNames(className, 'humany-dialog-link')} {...props}>\n {children || (\n <>\n {type === 'link' && <Icon faIcon=\"link\" />}\n <span>{title}</span>\n </>\n )}\n </Link>\n );\n};\n\nexport default DialogLink;\n","import styled from '@emotion/styled';\nimport { invertedHoverButton, List, list } from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React, { forwardRef } from 'react';\nimport DialogLink, { Props as DialogLinkProps } from './dialog-link';\n\n// type Props = Merge<\n// React.ComponentProps<'ul'>,\n// {\n// dialog: DialogLinkProps[];\n// }\n// >;\ntype Props = {\n dialog: DialogLinkProps[];\n} & any;\n\nexport default forwardRef<HTMLUListElement, Props>(({ className, dialog, ...other }, ref) => {\n return !!dialog.length ? (\n <StyledList\n className={appendClassNames(className, 'humany-dialog')}\n items={dialog}\n renderItem={(item: DialogLinkProps) => (\n <li key={item.connection} data-dialog={item.connection}>\n <DialogLink {...item} />\n </li>\n )}\n {...other}\n ref={ref}\n />\n ) : null;\n});\n\nconst StyledList = styled(List)`\n ${list}\n a {\n min-width: 150px;\n max-width: 400px;\n display: block;\n white-space: normal;\n ${(p) =>\n p.theme.colors?.primary &&\n invertedHoverButton({\n primaryColor: p.theme.colors?.primary,\n secondaryColor: '#FFFFFF',\n theme: p.theme,\n })}\n }\n\n i {\n margin: 0 ${(p) => p.theme.sizes?.small} 0 0;\n }\n`;\n","import styled from '@emotion/styled';\nimport { Drawer, ItemList, itemList } from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport { DrawerProps, ItemListProps } from '../missing-type-exports';\n\ntype Props = Merge<ItemListProps, DrawerProps>;\n\nconst DrawerList: React.FC<Props> = ({\n trigger,\n header,\n className,\n animation,\n fullScreen,\n onToggle,\n children,\n ref,\n closeButtonAriaLabel,\n ...other\n}) => {\n return (\n <Drawer\n className={appendClassNames(className, 'humany-drawer-list')}\n trigger={trigger}\n header={header}\n animation={animation}\n fullScreen={fullScreen}\n onToggle={onToggle}\n closeButtonAriaLabel={closeButtonAriaLabel}\n >\n <StyledItemList {...other}>{children}</StyledItemList>\n </Drawer>\n );\n};\n\nexport default DrawerList;\n\nconst StyledItemList = styled(ItemList)<any>`\n ${itemList}\n font-family: ${(p) => p.theme.fonts?.type};\n padding: ${(p) => p.theme.sizes?.medium};\n > ul > li {\n overflow: visible;\n font-weight: 300;\n font-size: ${(p) => p.theme.fonts?.normal};\n }\n`;\n","import styled from '@emotion/styled';\nimport { Dropdown, ItemRenderer, List } from '@telia-ace/widget-ui';\nimport React from 'react';\n\ntype Props = {\n trigger: React.ReactElement;\n header?: React.ReactElement;\n items?: any[];\n renderItem?: ItemRenderer;\n className?: string;\n children?: React.ReactNode;\n};\n\nconst DropdownActions: React.FC<Props> = ({ items, renderItem, trigger, header, children }) => {\n return (\n <Dropdown className=\"humany-dropdown-actions\" trigger={trigger}>\n <Wrapper>\n {!!header && <Header>{header}</Header>}\n {items && renderItem && (\n <StyledList items={items} renderItem={renderItem}></StyledList>\n )}\n {children}\n </Wrapper>\n </Dropdown>\n );\n};\n\nexport default DropdownActions;\n\nconst Wrapper = styled.div`\n background: #fff;\n border: #ccc 1px solid;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);\n font-family: ${(p) => p.theme.fonts?.type};\n font-size: ${(p) => p.theme.fonts?.normal};\n`;\n\nconst Header = styled.div`\n padding: ${(p) => p.theme.sizes?.normal};\n padding-bottom: 0;\n font-size: ${(p) => p.theme.fonts?.normal};\n font-weight: normal;\n white-space: nowrap;\n display: flex;\n align-items: center;\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin: 0;\n font-weight: normal;\n padding-bottom: 0;\n }\n\n svg,\n i {\n margin-right: ${(p) => p.theme.sizes?.small};\n }\n`;\n\nconst StyledList = styled(List)`\n list-style: none;\n padding: 0;\n margin: 0;\n padding: ${(p) => p.theme.sizes?.small} 0;\n\n li {\n background: #fff;\n\n a {\n display: block;\n font-size: ${(p) => p.theme.fonts?.small};\n padding: ${(p) => `${p.theme.sizes?.small} ${p.theme.sizes?.normal}`};\n cursor: pointer;\n color: #555;\n text-decoration: none;\n\n &:hover {\n background: #f9f9f9;\n color: ${(p) => p.theme.colors?.primary};\n }\n }\n }\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Dropdown, headingElement, ItemList, itemList } from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport { DropdownProps, ItemListProps } from '../missing-type-exports';\n\nexport type Props = Merge<DropdownProps, ItemListProps>;\n\nconst DropdownList: React.FC<Props> = ({\n trigger,\n className,\n children,\n closeButtonAriaLabel,\n ...other\n}) => {\n return (\n <Dropdown\n className={appendClassNames(className, 'humany-dropdown-list')}\n closeButtonAriaLabel={closeButtonAriaLabel}\n trigger={trigger}\n >\n <StyledItemList {...other}>{children}</StyledItemList>\n </Dropdown>\n );\n};\n\nexport default DropdownList;\n\nconst StyledItemList = styled(ItemList)<any>`\n ${itemList}\n font-family: ${(p) => p.theme.fonts?.type};\n > div {\n ${(p) =>\n headingElement(p)(\n '> h1',\n css`\n font-size: ${p.theme.fonts?.normal};\n line-height: 1.2em;\n `\n )}\n }\n > ul > li {\n overflow: visible;\n font-weight: 300;\n font-size: ${(p) => p.theme.fonts?.normal};\n\n a {\n display: inline-block;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Button, Icon, paddedBorderTabStyle, Text } from '@telia-ace/widget-ui';\n\nexport const loadingOpacity = (p: { 'data-loading': boolean }) => css`\n ${p['data-loading'] && 'position: relative;'};\n ${p['data-loading'] && 'min-height: 150px;'}\n > * {\n transition: 200ms ease-out opacity;\n opacity: ${p['data-loading'] ? '0.5' : '1'};\n }\n .humany-loader {\n opacity: ${p['data-loading'] ? '1' : '0'};\n }\n`;\n\nexport const SmallCaret = styled(Icon as any)`\n && {\n font-size: ${(p) => p.theme.fonts?.small};\n }\n width: 1.2em;\n`;\n\nexport const StyledHeaderText = styled(Text as any)`\n font-size: ${(p) => p.theme.fonts?.medium};\n font-weight: normal;\n line-height: 1.2em;\n color: ${(p) => p.theme.colors?.text};\n`;\n\nexport const StyledListButton = styled(Button as any)<any>`\n display: flex;\n align-items: center;\n\n ${(p: any) =>\n p['data-has-label'] === 'true' &&\n p['data-has-symbol'] === 'true' &&\n `\n svg, i {\n margin: 0 ${p.theme.sizes?.small} 0 0;\n }\n `}\n\n &:focus-visible {\n ${(p: any) => p['data-has-label'] === 'true' && paddedBorderTabStyle}\n\n svg, i {\n ${(p: any) =>\n p['data-has-label'] === 'false' &&\n p['data-has-symbol'] === 'true' &&\n css`\n ${paddedBorderTabStyle(p)}\n box-sizing: content-box;\n `}\n }\n }\n\n span {\n flex: 1;\n font-weight: 300;\n }\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Confirm, StyledText, SymbolBadge } from '@telia-ace/widget-ui';\nimport React, { useCallback } from 'react';\nimport { FavoriteActions } from '../hooks';\nimport { StyledListButton } from '../styles';\n\ntype Props = {\n isFavorite: boolean;\n actions: FavoriteActions;\n id: string;\n addFavoriteTooltip?: string;\n removeFavoriteCancelLabel?: string;\n removeFavoriteConfirmLabel?: string;\n removeFavoriteHeader?: string;\n removeFavoriteLabel?: string;\n removeFavoriteTooltip?: string;\n buttonLabel?: string;\n guideTitle?: string;\n};\n\nconst FavoriteButton: React.FC<Props> = ({\n addFavoriteTooltip,\n removeFavoriteCancelLabel,\n removeFavoriteConfirmLabel,\n removeFavoriteHeader,\n removeFavoriteLabel,\n removeFavoriteTooltip,\n id,\n isFavorite,\n guideTitle,\n buttonLabel = '',\n actions: { addFavorite, removeFavorite },\n}) => {\n const remove = useCallback(() => {\n removeFavorite(id);\n }, [id, removeFavorite]);\n\n const add = useCallback(() => {\n addFavorite(id);\n }, [id, addFavorite]);\n\n const tooltip = `${isFavorite ? removeFavoriteTooltip : addFavoriteTooltip}${\n guideTitle ? `: \"${guideTitle}\"` : ''\n }`;\n\n return (\n <>\n {isFavorite ? (\n <Confirm\n trigger={\n <StyledButton\n className=\"humany-favorite-button\"\n title={tooltip}\n aria-label={tooltip}\n data-favorite=\"true\"\n data-has-label={buttonLabel ? 'true' : 'false'}\n data-has-symbol=\"true\"\n >\n <SymbolBadge\n size={16}\n symbol={{ type: 'Svg', content: 'star-empty' }}\n />\n {buttonLabel && <StyledText>{buttonLabel}</StyledText>}\n </StyledButton>\n }\n onConfirm={remove}\n cancelLabel={removeFavoriteCancelLabel}\n confirmLabel={removeFavoriteConfirmLabel}\n header={removeFavoriteHeader}\n text={removeFavoriteLabel}\n />\n ) : (\n <StyledButton\n className=\"humany-favorite-button\"\n title={tooltip}\n aria-label={tooltip}\n onClick={add}\n data-favorite=\"false\"\n data-has-label={buttonLabel ? 'true' : 'false'}\n data-has-symbol=\"true\"\n >\n <SymbolBadge size={16} symbol={{ type: 'Svg', content: 'star-empty' }} />\n {buttonLabel && <StyledText>{buttonLabel}</StyledText>}\n </StyledButton>\n )}\n </>\n );\n};\n\nexport default FavoriteButton;\n\nconst StyledButton = styled(StyledListButton)`\n grid-area: favorite;\n\n &:focus-visible {\n svg {\n ${(p: any) =>\n p['data-favorite'] === 'true'\n ? `\n fill: transparent;\n\n path {\n fill: transparent;\n }\n `\n : `\n fill: ${p.theme.colors?.text};\n\n path {\n fill: ${p.theme.colors?.text};\n }\n `}\n }\n }\n\n ${(p: any) =>\n p.theme.colors?.text &&\n css`\n svg {\n stroke: ${p.theme.colors?.text};\n\n path {\n stroke: ${p.theme.colors?.text};\n }\n\n ${p['data-favorite'] === 'true' &&\n `\n fill: ${p.theme.colors?.text};\n\n path {\n fill: ${p.theme.colors?.text};\n }\n `}\n }\n\n &:hover {\n svg {\n ${p['data-favorite'] === 'true'\n ? `\n fill: transparent;\n\n path {\n fill: transparent;\n }\n `\n : `\n fill: ${p.theme.colors?.text};\n\n path {\n fill: ${p.theme.colors?.text};\n }\n `}\n }\n }\n `}\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n Button,\n convertToStringAttributes,\n Icon,\n invertedHoverButton,\n StyledText,\n} from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React, { forwardRef } from 'react';\n\nexport type Props = {\n onFeedback?: (feedback: 'positive' | 'negative') => void;\n positive?: string;\n negative?: string;\n header?: string;\n selected?: 'positive' | 'negative';\n direction?: 'horizontal' | 'vertical';\n} & any;\n\n// export type Props = Merge<\n// React.ComponentProps<'div'>,\n// {\n// onFeedback?: (feedback: 'positive' | 'negative') => void;\n// positive?: string;\n// negative?: string;\n// header?: string;\n// selected?: 'positive' | 'negative';\n// direction?: 'horizontal' | 'vertical';\n// }\n// >;\n\nexport default forwardRef<HTMLDivElement, Props>(\n (\n {\n onFeedback = () => {},\n direction = 'horizontal',\n className,\n header,\n positive,\n negative,\n selected,\n ...other\n },\n ref\n ) => {\n return (\n <Wrapper\n className={appendClassNames(className, 'humany-feedback')}\n data-direction={direction}\n {...convertToStringAttributes(other)}\n ref={ref}\n >\n {!!header && <Header>{header}</Header>}\n <FeedbackButton\n className=\"humany-feedback-button\"\n disabled={!!selected}\n aria-pressed={selected === 'positive'}\n data-selected={selected === 'positive'}\n data-direction={direction}\n onClick={() => onFeedback('positive')}\n >\n <Icon faIcon=\"smile-o\" />\n <span>{positive}</span>\n </FeedbackButton>\n <FeedbackButton\n className=\"humany-feedback-button\"\n disabled={!!selected}\n aria-pressed={selected === 'negative'}\n data-selected={selected === 'negative'}\n data-direction={direction}\n onClick={() => onFeedback('negative')}\n >\n <Icon faIcon=\"frown-o\" />\n <span>{negative}</span>\n </FeedbackButton>\n </Wrapper>\n );\n }\n);\n\nconst Header = styled(StyledText)`\n font-weight: normal;\n margin: 0 0 ${(p) => p.theme.sizes?.normal};\n font-size: ${(p) => p.theme.fonts?.normal};\n display: block;\n`;\n\nconst FeedbackButton = styled(Button)<{\n 'data-selected': boolean;\n 'data-direction': 'horizontal' | 'vertical';\n}>`\n display: inline-block;\n font-size: ${(p) => p.theme.fonts?.normal};\n font-weight: 300;\n && {\n margin-right: ${(p) => p.theme.sizes?.large};\n }\n\n ${(p) =>\n p['data-direction'] === 'horizontal' &&\n css`\n width: 225px;\n max-width: calc(50% - ${p.theme.sizes?.large} - ${p.theme.sizes?.small});\n `}\n\n ${(p) =>\n p['data-direction'] === 'vertical' &&\n css`\n min-width: 190px;\n `}\n\n ${(p) =>\n p.theme.colors?.primary &&\n invertedHoverButton({\n active: p['data-selected'],\n primaryColor: p.theme.colors?.primary,\n secondaryColor: '#FFFFFF',\n theme: p.theme,\n })}\n\n i {\n margin: 0 ${(p) => p.theme.sizes?.small} 0 0;\n }\n`;\n\nconst Wrapper = styled.div<{ 'data-direction': 'horizontal' | 'vertical' } & any>`\n ${(p) =>\n p['data-direction'] === 'vertical' &&\n css`\n > button {\n width: 100%;\n &:not(:last-child) {\n margin-bottom: ${p.theme.sizes?.normal};\n }\n }\n `}\n`;\n","import { useKeyPress } from '@telia-ace/widget-ui';\nimport { useEffect, useState } from 'react';\n\ntype ArrowKey = 'up' | 'down' | 'left' | 'right';\n\nconst useArrowKeys = (): ArrowKey | null => {\n // State for keeping track of whether key is pressed\n const [keyPressed, setKeyPressed] = useState<ArrowKey | null>(null);\n\n const left = useKeyPress('ArrowLeft');\n const right = useKeyPress('ArrowRight');\n const up = useKeyPress('ArrowUp');\n const down = useKeyPress('ArrowDown');\n\n const effect = () => {\n if (left) {\n setKeyPressed('left');\n } else if (right) {\n setKeyPressed('right');\n } else if (up) {\n setKeyPressed('up');\n } else if (down) {\n setKeyPressed('down');\n } else {\n setKeyPressed(null);\n }\n };\n\n useEffect(effect, [left, right, up, down]);\n\n return keyPressed;\n};\n\nexport default useArrowKeys;\n","import { useCallback, useEffect, useState } from 'react';\n\nconst useDebounce = (value: string, delay: number) => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n const handler = useCallback(() => {\n // Update debounced value after delay\n return setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n }, [delay, setDebouncedValue, value]);\n\n useEffect(\n () => {\n const timeout = handler();\n\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed\n // within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(timeout);\n };\n },\n [handler] // Only re-call effect if value or delay changes\n );\n\n return debouncedValue;\n};\n\nexport default useDebounce;\n","import { Widget } from '@telia-ace/knowledge-widget-core';\nimport { useContainer } from '@telia-ace/widget-ui';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nexport type FavoriteActions = {\n addFavorite: (guideId: string) => Promise<string[]>;\n clearFavorites: () => Promise<string[]>;\n removeFavorite: (guideId: string) => Promise<string[]>;\n toggleFavorite: (guideId: string) => Promise<string[]>;\n};\n\nconst useFavorites = (): [string[], FavoriteActions] => {\n const container = useContainer();\n const [favorites, setFavorites] = useState<string[]>([]);\n const platform = container.get('favorites');\n\n useEffect(() => {\n if (platform) {\n setFavorites(platform.get());\n\n const { events } = container.get('$widget') as Widget;\n const unsubscribe = events.subscribe('widget:favorites-updated', (_, { updated }) => {\n setFavorites([...updated]);\n });\n\n return unsubscribe;\n }\n }, []);\n\n const add = (guideId: string): Promise<string[]> => {\n if (!platform) {\n return Promise.resolve([]);\n }\n return platform.add(guideId);\n };\n\n const remove = (guideId: string) => {\n if (!platform) {\n return Promise.resolve([]);\n }\n return platform.remove(guideId);\n };\n\n const clear = () => {\n if (!platform) {\n return Promise.resolve([]);\n }\n return platform.clear();\n };\n\n const toggle = useCallback(\n (guideId: string) => {\n if (favorites.indexOf(guideId) > -1) {\n return remove(guideId);\n } else {\n return add(guideId);\n }\n },\n [favorites]\n );\n\n return [\n favorites,\n useMemo(\n () => ({\n addFavorite: add,\n removeFavorite: remove,\n clearFavorites: clear,\n toggleFavorite: toggle,\n }),\n [favorites]\n ),\n ];\n};\n\nexport default useFavorites;\n","import { useEventListener } from '@telia-ace/widget-ui';\nimport { useCallback, useRef, useState } from 'react';\n\nexport default (): [boolean, React.MutableRefObject<HTMLElement | undefined>] => {\n const [hovering, setHovering] = useState(false);\n const elem = useRef<HTMLElement>();\n\n const onMouseEnter = useCallback(() => setHovering(true), [setHovering]);\n\n const onMouseLeave = useCallback(() => setHovering(false), [setHovering]);\n\n useEventListener('mouseenter', onMouseEnter, elem.current);\n\n useEventListener('mouseleave', onMouseLeave, elem.current);\n\n return [hovering, elem];\n};\n","import styled from '@emotion/styled';\nimport { DateFormats, Text, Timestamp } from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React from 'react';\n\nexport type Props = {\n className?: string;\n modified?: string;\n published?: string;\n modifiedBy?: string | null;\n publishedBy?: string | null;\n showModified?: boolean;\n showPublished?: boolean;\n modifiedLabel?: string;\n publishedLabel?: string;\n byLabel?: string;\n format?: DateFormats;\n};\n\nconst Metadata: React.FC<Props> = ({\n format = DateFormats.YYYY_MM_DD_HH_MM,\n className = '',\n byLabel = '',\n modifiedLabel = '',\n publishedLabel = '',\n modifiedBy = '',\n publishedBy = '',\n showModified = false,\n showPublished = false,\n modified,\n published,\n}) => {\n const publishedTimestamp =\n showPublished && published ? (\n <StyledTimestamp format={format} timestamp={published} />\n ) : null;\n const modifiedTimestamp =\n showModified && modified ? <StyledTimestamp format={format} timestamp={modified} /> : null;\n\n if (!publishedTimestamp && !modifiedTimestamp) {\n return null;\n }\n\n return (\n <StyledText className={appendClassNames(className, 'humany-metadata')}>\n {publishedTimestamp && (\n <StyledText className=\"humany-published\">\n {publishedLabel}\n {publishedTimestamp}\n {byLabel && publishedBy && ` ${byLabel.replace('{{editor}}', publishedBy)}`}\n </StyledText>\n )}\n {modifiedTimestamp && (\n <StyledText className=\"humany-modified\">\n {publishedTimestamp && ', '}\n {modifiedLabel}\n {modifiedTimestamp}\n {byLabel && modifiedBy && ` ${byLabel.replace('{{editor}}', modifiedBy)}`}\n </StyledText>\n )}\n </StyledText>\n );\n};\n\nexport default Metadata;\n\nconst StyledTimestamp = styled(Timestamp)`\n &:not(:first-child) {\n margin-left: 4px;\n }\n &:not(:last-child) {\n margin-right: 4px;\n }\n`;\n\nconst StyledText = styled(Text)`\n font-style: italic;\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Guide, Symbol, Tag } from '@telia-ace/knowledge-widget-core';\nimport {\n borderTabStyle,\n convertToStringAttributes,\n DispatchAction,\n headingElement,\n ItemList,\n itemList,\n ItemRenderer,\n List,\n list,\n SymbolBadge,\n TextLink,\n useIsTabbing,\n usePrevious,\n useRouteData,\n} from '@telia-ace/widget-ui';\nimport {\n appendClassNames,\n createParams,\n htmlParentContains,\n Params,\n} from '@telia-ace/widget-utilities';\nimport React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from 'react';\nimport { useFavorites } from '../hooks';\nimport FavoriteButton from './favorite-button';\nimport Metadata, { Props as MetadataProps } from './metadata';\n\ntype Routing = {\n guide?: string;\n page?: string;\n};\n\ntype ParamMappers = {\n guide?: (guide: Guide) => Params;\n page?: () => Params;\n};\n\nexport type Props = {\n paramMappers?: ParamMappers;\n routing?: Routing;\n pageLabel?: string;\n symbolSize?: number;\n renderItem?: ItemRenderer;\n pageRole?: 'link' | 'button';\n pageCaret?: 'right' | 'down';\n showTags?: boolean;\n showFavoriteToggle?: boolean;\n addFavoriteTooltip?: string;\n removeFavoriteCancelLabel?: string;\n removeFavoriteConfirmLabel?: string;\n removeFavoriteHeader?: string;\n removeFavoriteLabel?: string;\n removeFavoriteTooltip?: string;\n metadata?: Partial<MetadataProps>;\n dispatch?: DispatchAction;\n localPaging?: boolean;\n expandable?: boolean;\n onItemClick?: (e: React.MouseEvent, guide: Guide) => void;\n} & any;\n\n// export type Props = Merge<\n// ItemListProps,\n// {\n// paramMappers?: ParamMappers;\n// routing?: Routing;\n// pageLabel?: string;\n// symbolSize?: number;\n// renderItem?: ItemRenderer;\n// pageRole?: 'link' | 'button';\n// pageCaret?: 'right' | 'down';\n// showTags?: boolean;\n// showFavoriteToggle?: boolean;\n// addFavoriteTooltip?: string;\n// removeFavoriteCancelLabel?: string;\n// removeFavoriteConfirmLabel?: string;\n// removeFavoriteHeader?: string;\n// removeFavoriteLabel?: string;\n// removeFavoriteTooltip?: string;\n// metadata?: Partial<MetadataProps>;\n// dispatch?: DispatchAction;\n// localPaging?: boolean;\n// expandable?: boolean;\n// onItemClick?: (e: React.MouseEvent, guide: Guide) => void;\n// }\n// >;\n\nconst Tags: React.FC<{ tags: Tag[] }> = ({ tags }) => {\n if (!tags.filter((t) => t.symbol).length) {\n return null;\n }\n\n return (\n <StyledTagList\n className=\"humany-guide-list-tags\"\n items={tags}\n renderItem={({ id, symbol, title }: Tag) =>\n symbol && (\n <li key={id} data-tag={id}>\n <StyledTagIcon size={18} symbol={symbol} title={title} />\n </li>\n )\n }\n />\n );\n};\n\nexport const AccordionListItem = forwardRef<\n HTMLLIElement,\n {\n title: string;\n id: string;\n route: string;\n symbolSize?: number;\n collapseUri?: string;\n children?: React.ReactNode;\n }\n>(({ title, id, route, symbolSize, collapseUri, children }, ref) => {\n const { params } = useRouteData();\n\n return (\n <ActiveAccordionListItem ref={ref} data-guide={id}>\n <TextLink\n title={title}\n aria-label={title}\n routeName={route}\n params={createParams({\n ...params,\n uriName: collapseUri ? collapseUri : undefined,\n id: undefined,\n guide: undefined,\n accordion: undefined,\n })}\n text={title}\n >\n <SymbolBadge size={symbolSize} symbol={{ type: 'Svg', content: 'caret-up' }} />\n </TextLink>\n {children}\n </ActiveAccordionListItem>\n );\n});\n\nconst ActiveAccordionListItem = styled.li`\n > a {\n grid-column: 1/-1;\n font-weight: bold;\n margin: 0 0 ${(p) => p.theme.sizes?.normal} 0;\n }\n\n > div {\n grid-column: 1/-1;\n }\n`;\n\nexport default forwardRef<HTMLDivElement, Props>(\n (\n {\n expandable = false,\n routing = {},\n paramMappers = {},\n symbolSize = 11,\n pageRole = 'link',\n pageCaret = 'down',\n showTags = false,\n showFavoriteToggle = false,\n localPaging = false,\n onItemClick = () => {},\n dispatch = () => {},\n metadata = {},\n pageLabel,\n className,\n children,\n items,\n renderItem,\n addFavoriteTooltip,\n removeFavoriteCancelLabel,\n removeFavoriteConfirmLabel,\n removeFavoriteHeader,\n removeFavoriteLabel,\n removeFavoriteTooltip,\n ...other\n },\n ref\n ) => {\n const isTabbing = useIsTabbing();\n const innerRef = useRef() as React.MutableRefObject<HTMLElement>;\n const prevItems = usePrevious(items);\n const { guide: guideRoute = 'guide', page: pageRoute = 'index' } = routing;\n const {\n guide: mapGuideParams = ({ id }: Guide) => createParams({ guide: id }),\n page: mapPageParams = () => createParams(),\n } = paramMappers;\n const [favorites, actions] = useFavorites();\n\n useImperativeHandle(ref, () => innerRef.current as any);\n\n const defaultRenderer: ItemRenderer = (guide: Guide) => {\n const { id, title, tags, published, modified, publishedBy, modifiedBy } = guide;\n\n return (\n <li\n key={id}\n data-guide={id}\n has-metadata={(\n (!!metadata?.showPublished && !!published) ||\n (!!metadata?.showModified && !!modified)\n ).toString()}\n >\n <TextLink\n className=\"humany-guide-link\"\n title={title}\n aria-label={title}\n routeName={guideRoute}\n onClick={(e: React.MouseEvent) => onItemClick(e, guide)}\n params={mapGuideParams(guide)}\n text={title}\n >\n <SymbolBadge\n size={symbolSize}\n symbol={{\n type: 'Svg',\n content: expandable ? 'caret-down' : 'caret-right',\n }}\n />\n </TextLink>\n {showFavoriteToggle && (\n <FavoriteButton\n guideTitle={title}\n addFavoriteTooltip={addFavoriteTooltip}\n removeFavoriteCancelLabel={removeFavoriteCancelLabel}\n removeFavoriteConfirmLabel={removeFavoriteConfirmLabel}\n removeFavoriteHeader={removeFavoriteHeader}\n removeFavoriteLabel={removeFavoriteLabel}\n removeFavoriteTooltip={removeFavoriteTooltip}\n isFavorite={favorites.indexOf(id) > -1}\n actions={actions}\n id={id}\n />\n )}\n {showTags && <Tags tags={tags} />}\n <StyledMetadata\n {...metadata}\n indent={expandable ? undefined : symbolSize}\n modified={modified}\n published={published}\n publishedBy={publishedBy}\n modifiedBy={modifiedBy}\n />\n </li>\n );\n };\n\n const renderer = useCallback(\n (guide: Guide, index: number, items: Guide[]) => {\n if (renderItem) {\n return renderItem(guide, index, items, defaultRenderer);\n }\n\n return defaultRenderer(guide, index, items);\n },\n [renderItem, defaultRenderer]\n );\n\n const onPageClick = useCallback(\n (e: React.MouseEvent) => {\n if (localPaging) {\n e.preventDefault();\n dispatch('page', mapPageParams());\n }\n },\n [dispatch, localPaging]\n );\n\n useEffect(() => {\n if (isTabbing && prevItems && prevItems.length < items.length && innerRef.current) {\n const elements = innerRef.current.querySelectorAll('.humany-guide-list > ul > li');\n const listItemElem = elements[prevItems.length] as HTMLElement;\n\n if (elements.length === items.length && prevItems.length) {\n const nextListItem = elements[prevItems.length] as HTMLElement;\n\n if (nextListItem) {\n const focusNext = nextListItem.querySelector(\n '.humany-guide-link'\n ) as HTMLElement | null;\n focusNext && focusNext.focus();\n }\n } else if (listItemElem) {\n const observer = new MutationObserver((mutations, observer) => {\n mutations.forEach((mutation) => {\n if (mutation.addedNodes) {\n const found = Array.from(\n mutation.addedNodes as NodeListOf<HTMLElement>\n ).find((node) => node.tagName === 'A');\n\n if (\n found &&\n htmlParentContains(innerRef.current, document.activeElement)\n ) {\n isTabbing && found.focus();\n observer.disconnect();\n }\n }\n });\n });\n\n observer.observe(listItemElem, {\n attributes: false,\n characterData: false,\n childList: true,\n subtree: true,\n attributeOldValue: false,\n characterDataOldValue: false,\n });\n }\n }\n });\n\n const hasMetaData = !!Object.keys(metadata).filter(\n (k) => typeof (metadata as any)[k] !== 'undefined'\n ).length;\n return (\n <StyledItemList\n className={appendClassNames(className, 'humany-guide-list')}\n data-item-count={items.length}\n items={items}\n renderItem={renderer}\n isTabbing={isTabbing}\n expandable={expandable ? 'true' : 'false'}\n grid-items={showTags || showFavoriteToggle || hasMetaData ? 'true' : 'false'}\n {...convertToStringAttributes(other)}\n ref={innerRef as React.Ref<HTMLDivElement>}\n >\n {pageLabel ? (\n <TextLink\n text={pageLabel}\n title={pageLabel}\n aria-label={pageLabel}\n routeName={pageRoute}\n role={pageRole}\n params={mapPageParams()}\n onClick={onPageClick}\n >\n <SymbolBadge\n size={symbolSize}\n symbol={{ type: 'Svg', content: `caret-${pageCaret}` }}\n />\n </TextLink>\n ) : null}\n {children}\n </StyledItemList>\n );\n }\n);\n\nconst StyledItemList = styled(ItemList)<{\n 'grid-items': 'true' | 'false';\n expandable: 'true' | 'false';\n isTabbing: boolean;\n}>`\n ${itemList}\n padding: ${(p) => p.theme.sizes?.large};\n overflow: auto;\n justify-content: flex-start;\n white-space: nowrap;\n font-weight: 300;\n text-decoration: none;\n\n > div {\n ${(p) =>\n headingElement(p)(\n '> h1',\n css`\n white-space: pre-wrap;\n `\n )}\n }\n\n > ul > li {\n ${(p) =>\n p['grid-items'] === 'true' &&\n css`\n display: grid;\n grid-template-columns: auto 1fr 1fr;\n gap: 0px 0px;\n grid-template-areas: '. favorite tags';\n align-items: center;\n\n > button {\n margin: 0 0 0 ${p.theme.sizes?.small};\n\n &[data-favorite='false'] {\n ${p.isTabbing ? 'opacity: 0;' : 'display: none;'};\n &:focus {\n opacity: 1;\n }\n }\n }\n\n > span {\n font-size: ${p.theme.fonts?.small};\n }\n\n &:hover {\n button[data-favorite='false'] {\n display: flex;\n justify-self: flex-start;\n }\n }\n\n &[has-metadata='true'] {\n grid-template-rows: 1fr 1fr;\n grid-template-areas:\n '. favorite tags'\n 'metadata metadata metadata';\n }\n `}\n > a {\n color: ${(p) => p.theme.colors?.primary};\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n display: inline-block;\n\n svg {\n margin: 0 calc(${(p) => p.theme.sizes?.small}*2) 0 0;\n line {\n stroke: ${(p) => p.theme.colors?.primary};\n }\n }\n\n ${(p) =>\n p.expandable === 'true' &&\n css`\n display: flex;\n flex-direction: row-reverse;\n justify-content: flex-end;\n align-items: center;\n\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n svg {\n margin: 0 0 0 ${p.theme.sizes?.small};\n }\n `}\n\n &:focus-visible {\n ${borderTabStyle}\n text-decoration: underline;\n }\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n\n > a {\n color: ${(p) => p.theme.colors?.text};\n margin: ${(p) => p.theme.sizes?.normal} 0 0;\n align-self: flex-start;\n align-items: center;\n display: flex;\n\n span {\n text-decoration: underline;\n }\n\n svg {\n margin: 0 calc(${(p) => p.theme.sizes?.small}*2) 0 0;\n line {\n stroke: ${(p) => p.theme.colors?.text};\n }\n }\n\n &:focus-visible {\n ${borderTabStyle}\n text-decoration: underline;\n }\n }\n`;\n\nconst StyledTagList = styled(List)`\n ${list}\n display: flex;\n margin: 0 0 0 auto;\n grid-area: tags;\n\n li,\n li:last-child {\n margin: 0 0 0 ${(p) => p.theme.sizes?.small};\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n`;\n\nconst StyledTagIcon = styled(SymbolBadge)<{ size: number; symbol: Symbol }>`\n display: block;\n color: ${(p) => p.theme.colors?.primary};\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 StyledMetadata = styled(Metadata)<{ indent?: number }>`\n grid-area: metadata;\n text-overflow: ellipsis;\n overflow: hidden;\n font-size: ${(p) => p.theme.fonts?.small};\n ${(p) =>\n typeof p.indent === 'number' &&\n `text-indent: calc(${p.theme.sizes?.small} * 2 + ${p.indent}px);`}\n`;\n","import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\ntype Props = {\n loading: boolean | undefined;\n};\n\nconst spin = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nconst dash = keyframes`\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35px;\n }\n 100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124px;\n }\n`;\n\nconst SpinnerSvg = styled.svg`\n animation: ${spin} 2s linear infinite;\n height: 100%;\n transform-origin: center center;\n width: 100%;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: auto;\n transition: 200ms ease-out opacity;\n`;\n\nexport const Wrapper = styled.div<{ 'data-loading': boolean }>`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100%;\n width: 100%;\n pointer-events: ${(p) => (p['data-loading'] ? 'all' : 'none')};\n display: flex;\n flex-direction: column;\n justify-content: center;\n transition: 200ms ease-out opacity;\n box-sizing: border-box;\n overflow: hidden;\n\n .humany-spinner-svg {\n opacity: ${(p) => (p['data-loading'] ? '1' : '0')};\n }\n`;\n\nconst Spinner = styled.div`\n position: relative;\n margin: 0 auto;\n width: 100px;\n &:before {\n content: '';\n display: block;\n padding-top: 100%;\n }\n`;\n\nconst SpinnerCircle = styled.circle`\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n animation: ${dash} 1.5s ease-in-out infinite;\n stroke-linecap: round;\n stroke: ${(p) => p.theme.colors?.primary};\n stroke-width: 2px;\n`;\n\nconst Loader: React.FC<Props> = ({ loading = false }) => {\n return (\n <Wrapper className=\"humany-loader\" data-loading={loading}>\n <Spinner className=\"humany-spinner\">\n <SpinnerSvg className=\"humany-spinner-svg\" viewBox=\"25 25 50 50\">\n <SpinnerCircle\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"2\"\n stroke-miterlimit=\"10\"\n />\n </SpinnerSvg>\n </Spinner>\n </Wrapper>\n );\n};\n\nexport default Loader;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Notification } from '@telia-ace/knowledge-widget-core';\nimport {\n borderTabStyle,\n Button,\n DateFormats,\n genericHtml,\n headingElement,\n itemList,\n ItemList,\n Paragraph,\n Symbol,\n SymbolBadge,\n Timestamp,\n} from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React, { useState } from 'react';\nimport { loadingOpacity } from '../styles';\nimport Loader from './loader';\n\ntype Props = {\n className?: string;\n showHeader?: boolean;\n loading: boolean;\n notificationList?: {\n id: string;\n title?: string;\n symbol?: Symbol;\n notifications: Notification[];\n defaultHeaderOptions?: {\n visible: boolean;\n };\n };\n};\n\nconst NotificationList: React.FC<Props> = ({\n className,\n showHeader,\n notificationList,\n loading,\n ...other\n}) => {\n const [expanded, setExpanded] = useState<string | null>(null);\n\n const {\n id,\n title,\n symbol,\n notifications = [],\n defaultHeaderOptions = { visible: true },\n } = notificationList || {};\n\n if (!notifications.length && !loading) {\n return null;\n }\n\n return (\n <StyledItemList\n {...other}\n data-loading={loading}\n data-show-header={\n typeof showHeader === 'boolean' ? showHeader : defaultHeaderOptions.visible\n }\n className={appendClassNames(className, 'humany-notification-list')}\n data-notification-category={id}\n header={title}\n symbol={symbol}\n items={notifications}\n renderItem={({ id, title, body, modified, expandable }: Notification) => (\n <StyledItem\n key={id}\n data-notification={id}\n data-expanded={expandable ? expanded === id : true}\n >\n {expandable ? (\n <>\n <StyledButton\n title={title}\n aria-label={title}\n aria-expanded={expanded === id}\n onClick={() => setExpanded(expanded === id ? null : id)}\n >\n <span>{title}</span>\n <StyledSymbolBadge\n size={11}\n symbol={{\n type: 'Svg',\n content: `caret-${expanded === id ? 'up' : 'down'}`,\n }}\n />\n </StyledButton>\n <StyledParagraph html={body} />\n {modified && (\n <StyledTimestamp\n format={DateFormats.YYYY_MM_DD}\n timestamp={modified}\n />\n )}\n </>\n ) : (\n <StyledParagraph html={body} />\n )}\n </StyledItem>\n )}\n >\n <Loader loading={loading} />\n </StyledItemList>\n );\n};\n\nconst StyledButton = styled(Button)`\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n text-align: left;\n svg,\n i {\n color: ${(p) => p.theme.colors?.primary};\n }\n span {\n color: ${(p) => p.theme.colors?.text};\n font-size: ${(p) => p.theme.fonts?.normal};\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n white-space: nowrap;\n }\n &:focus-visible {\n ${borderTabStyle}\n span {\n color: ${(p) => p.theme.colors?.primary};\n text-decoration: underline;\n }\n }\n`;\n\nconst StyledItemList = styled(ItemList)<\n {\n 'data-loading': boolean;\n 'data-show-header': boolean;\n } & any\n>`\n ${loadingOpacity}\n ${itemList}\n overflow: hidden;\n justify-content: flex-start;\n padding: ${(p) => p.theme.sizes?.large};\n ${(p) =>\n !p['data-show-header'] &&\n css`\n > div {\n ${headingElement(p)(\n 'h1',\n css`\n display: none;\n `\n )}\n }\n `}\n\n @media (hover: hover) {\n button:hover {\n text-decoration: underline;\n }\n }\n`;\n\nconst StyledParagraph = styled(Paragraph)`\n ${genericHtml}\n font-weight: 300;\n\n p {\n white-space: normal;\n }\n`;\n\nconst StyledItem = styled.li<{ 'data-expanded': boolean }>`\n .humany-paragraph {\n display: none;\n &:not(:only-child) {\n ${(p) =>\n p.theme.sizes?.cardinal &&\n p.theme.sizes?.normal &&\n css`\n margin: ${p.theme.sizes?.normal} 0;\n `}\n }\n }\n\n ${(p) =>\n p['data-expanded'] &&\n css`\n .humany-paragraph {\n display: block;\n }\n `}\n\n > span {\n display: block;\n font-weight: 300;\n color: ${(p) => p.theme.colors?.accent};\n }\n`;\n\nconst StyledSymbolBadge = styled(SymbolBadge)`\n margin: 0 0 0 ${(p) => p.theme.sizes?.small};\n line {\n stroke: ${(p) => p.theme.colors?.primary};\n }\n`;\n\nconst StyledTimestamp = styled(Timestamp)`\n font-size: ${(p) => p.theme.fonts?.small};\n font-weight: 300;\n`;\n\nexport default NotificationList;\n","import { Implementation } from '@telia-ace/knowledge-widget-core';\nimport { AnchorLink, WidgetLink } from '@telia-ace/widget-ui';\nimport { Container } from '@webprovisions/platform';\nimport React from 'react';\n\n// Determine if href starts with a hashtag\nconst isAnchorLink = (href: string) => {\n const re = new RegExp('^#', 'i');\n const match = re.test(href);\n\n return match;\n};\n\nconst embeddedLinkMapper =\n (container: Container) =>\n ({ children, ...props }: any) => {\n const {\n implementation,\n name: currentWidgetName,\n }: { implementation: Implementation; name: string } = container.get('$widget');\n\n const { href = '' } = props;\n\n if (isAnchorLink(href)) {\n return (\n <AnchorLink smooth to={href}>\n {children}\n </AnchorLink>\n );\n }\n\n const escapedBindings = implementation.bindings\n .map((binding: string) => binding.replace(/\\./g, '\\\\.'))\n .join('|');\n const regexp = new RegExp(`^((http[s]?:)?\\/\\/)?(${escapedBindings})\\/([^\\\\s]+)`);\n\n const expArray = regexp.exec(href);\n\n if (expArray && expArray.length >= 4) {\n const targetWidgetName = expArray[4];\n const targetWidget = implementation.widgets.get(targetWidgetName);\n\n // blob links should not be treated as a widget link\n if (\n targetWidget &&\n !targetWidgetName.startsWith('blob?') &&\n !targetWidgetName.startsWith(currentWidgetName)\n ) {\n return <WidgetLink widgetName={targetWidgetName}>{children}</WidgetLink>;\n }\n }\n\n return <a {...props}>{children}</a>;\n };\n\nexport default embeddedLinkMapper;\n","import { Container } from '@webprovisions/platform';\nimport React from 'react';\nimport { DialogLink } from '../components';\nimport embeddedLinkMapper from './embedded-link-mapper';\n\nconst guideRenderInstructions = (container: Container, dialog: any[] = []) => {\n return {\n transform: {\n a: (attr: any) => {\n const { children, ...otherAttr } = attr;\n const connectionId = otherAttr['data-target'];\n if (connectionId && dialog.length) {\n const item = dialog.find(({ connection }: any) => connection === connectionId);\n if (item) {\n return <DialogLink {...item}>{children}</DialogLink>;\n }\n }\n\n const defaultInstructions = embeddedLinkMapper(container);\n\n return defaultInstructions(attr);\n },\n },\n };\n};\n\nexport default guideRenderInstructions;\n"],"names":["DialogLink","title","className","id","parent","connection","type","target","href","children","connectionKey","props","name","params","useRouteData","parentId","parentTitle","key","createParams","__spreadProps","__spreadValues","formatUrl","React","Link","appendClassNames","Icon","DialogLink$1","dialogList","forwardRef","_a","ref","_b","dialog","other","__objRest","StyledList","item","styled","List","list","p","invertedHoverButton","DrawerList","trigger","header","animation","fullScreen","onToggle","closeButtonAriaLabel","Drawer","StyledItemList","DrawerList$1","ItemList","itemList","DropdownActions","items","renderItem","Dropdown","Wrapper","Header","DropdownActions$1","DropdownList","DropdownList$1","headingElement","css","loadingOpacity","SmallCaret","StyledHeaderText","Text","StyledListButton","Button","paddedBorderTabStyle","FavoriteButton","addFavoriteTooltip","removeFavoriteCancelLabel","removeFavoriteConfirmLabel","removeFavoriteHeader","removeFavoriteLabel","removeFavoriteTooltip","isFavorite","guideTitle","buttonLabel","addFavorite","removeFavorite","remove","useCallback","add","tooltip","Confirm","StyledButton","SymbolBadge","StyledText","FavoriteButton$1","_c","_d","_e","_f","_g","feedback","onFeedback","direction","positive","negative","selected","convertToStringAttributes","FeedbackButton","useArrowKeys","keyPressed","setKeyPressed","useState","left","useKeyPress","right","up","down","useEffect","useArrowKeys$1","useDebounce","value","delay","debouncedValue","setDebouncedValue","handler","timeout","useDebounce$1","useFavorites","container","useContainer","favorites","setFavorites","platform","events","_","updated","guideId","clear","toggle","useMemo","useFavorites$1","useHover","hovering","setHovering","elem","useRef","onMouseEnter","onMouseLeave","useEventListener","Metadata","format","DateFormats","byLabel","modifiedLabel","publishedLabel","modifiedBy","publishedBy","showModified","showPublished","modified","published","publishedTimestamp","StyledTimestamp","modifiedTimestamp","Metadata$1","Timestamp","Tags","tags","t","StyledTagList","symbol","StyledTagIcon","AccordionListItem","route","symbolSize","collapseUri","ActiveAccordionListItem","TextLink","guideList","expandable","routing","paramMappers","pageRole","pageCaret","showTags","showFavoriteToggle","localPaging","onItemClick","dispatch","metadata","pageLabel","isTabbing","useIsTabbing","innerRef","prevItems","usePrevious","guideRoute","pageRoute","mapGuideParams","mapPageParams","actions","useImperativeHandle","defaultRenderer","guide","e","StyledMetadata","renderer","index","onPageClick","elements","listItemElem","nextListItem","focusNext","mutations","observer","mutation","found","node","htmlParentContains","hasMetaData","k","borderTabStyle","spin","keyframes","dash","SpinnerSvg","Spinner","SpinnerCircle","Loader","loading","Loader$1","NotificationList","showHeader","notificationList","expanded","setExpanded","notifications","defaultHeaderOptions","body","StyledItem","StyledSymbolBadge","StyledParagraph","Paragraph","genericHtml","NotificationList$1","isAnchorLink","embeddedLinkMapper","implementation","currentWidgetName","AnchorLink","escapedBindings","binding","expArray","targetWidgetName","WidgetLink","embeddedLinkMapper$1","guideRenderInstructions","attr","connectionId","guideRenderInstructions$1"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/dialog-link.tsx","../src/components/dialog-list.tsx","../src/components/drawer-list.tsx","../src/components/dropdown-actions.tsx","../src/components/dropdown-list.tsx","../src/styles.ts","../src/components/favorite-button.tsx","../src/components/feedback.tsx","../src/hooks/use-arrow-keys.ts","../src/hooks/use-debounce.ts","../src/hooks/use-favorites.ts","../src/hooks/use-hover.ts","../src/components/metadata.tsx","../src/components/guide-list.tsx","../src/components/loader.tsx","../src/components/notification-list.tsx","../src/utils/embedded-link-mapper.tsx","../src/utils/guide-render-instructions.tsx"],"sourcesContent":["import { Icon, Link, useRouteData } from '@telia-ace/widget-ui';\nimport { appendClassNames, createParams, formatUrl } from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport { LinkProps } from '../missing-type-exports';\n\nexport type Props = Merge<\n LinkProps,\n {\n parent: {\n id: string;\n title: string;\n };\n type: 'guide' | 'link' | 'default';\n connection?: string;\n connectionKey?: string;\n }\n>;\n\nconst DialogLink: React.FC<Props> = ({\n title = '',\n className,\n id,\n parent,\n connection,\n type,\n target,\n href,\n children,\n connectionKey,\n}) => {\n const props: any = {};\n const { name, params } = useRouteData();\n\n switch (type) {\n case 'default':\n case 'guide':\n const { id: parentId, title: parentTitle } = parent;\n\n let key = connectionKey || connection;\n\n if (parentId !== id && !connectionKey) {\n key = undefined;\n }\n\n props.routeName = name;\n props.params = createParams({\n ...params,\n guide: id,\n connection: key,\n uriName: id === parentId ? formatUrl(parentTitle) : formatUrl(title),\n });\n break;\n case 'link':\n props.href = href;\n props.target = target;\n break;\n }\n\n return (\n <Link className={appendClassNames(className, 'humany-dialog-link')} {...props}>\n {children || (\n <>\n {type === 'link' && <Icon faIcon=\"link\" />}\n <span>{title}</span>\n </>\n )}\n </Link>\n );\n};\n\nexport default DialogLink;\n","import styled from '@emotion/styled';\nimport { invertedHoverButton, List, list } from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React, { forwardRef } from 'react';\nimport DialogLink, { Props as DialogLinkProps } from './dialog-link';\n\n// type Props = Merge<\n// React.ComponentProps<'ul'>,\n// {\n// dialog: DialogLinkProps[];\n// }\n// >;\ntype Props = {\n dialog: DialogLinkProps[];\n} & any;\n\nexport default forwardRef<HTMLUListElement, Props>(({ className, dialog, ...other }, ref) => {\n return !!dialog.length ? (\n <StyledList\n className={appendClassNames(className, 'humany-dialog')}\n items={dialog}\n renderItem={(item: DialogLinkProps) => (\n <li key={item.connection} data-dialog={item.connection}>\n <DialogLink {...item} />\n </li>\n )}\n {...other}\n ref={ref}\n />\n ) : null;\n});\n\nconst StyledList = styled(List)`\n ${list}\n a {\n min-width: 150px;\n max-width: 400px;\n display: block;\n white-space: normal;\n ${(p) =>\n p.theme.colors?.primary &&\n invertedHoverButton({\n primaryColor: p.theme.colors?.primary,\n secondaryColor: '#FFFFFF',\n theme: p.theme,\n })}\n }\n\n i {\n margin: 0 ${(p) => p.theme.sizes?.small} 0 0;\n }\n`;\n","import styled from '@emotion/styled';\nimport { Drawer, ItemList, itemList } from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport { DrawerProps, ItemListProps } from '../missing-type-exports';\n\ntype Props = Merge<ItemListProps, DrawerProps>;\n\nconst DrawerList: React.FC<Props> = ({\n trigger,\n header,\n className,\n animation,\n fullScreen,\n onToggle,\n children,\n ref,\n closeButtonAriaLabel,\n ...other\n}) => {\n return (\n <Drawer\n className={appendClassNames(className, 'humany-drawer-list')}\n trigger={trigger}\n header={header}\n animation={animation}\n fullScreen={fullScreen}\n onToggle={onToggle}\n closeButtonAriaLabel={closeButtonAriaLabel}\n >\n <StyledItemList {...other}>{children}</StyledItemList>\n </Drawer>\n );\n};\n\nexport default DrawerList;\n\nconst StyledItemList = styled(ItemList)<any>`\n ${itemList}\n font-family: ${(p) => p.theme.fonts?.type};\n padding: ${(p) => p.theme.sizes?.medium};\n > ul > li {\n overflow: visible;\n font-weight: 300;\n font-size: ${(p) => p.theme.fonts?.normal};\n }\n`;\n","import styled from '@emotion/styled';\nimport { Dropdown, ItemRenderer, List } from '@telia-ace/widget-ui';\nimport React from 'react';\n\ntype Props = {\n trigger: React.ReactElement;\n header?: React.ReactElement;\n items?: any[];\n renderItem?: ItemRenderer;\n className?: string;\n children?: React.ReactNode;\n};\n\nconst DropdownActions: React.FC<Props> = ({ items, renderItem, trigger, header, children }) => {\n return (\n <Dropdown className=\"humany-dropdown-actions\" trigger={trigger}>\n <Wrapper>\n {!!header && <Header>{header}</Header>}\n {items && renderItem && (\n <StyledList items={items} renderItem={renderItem}></StyledList>\n )}\n {children}\n </Wrapper>\n </Dropdown>\n );\n};\n\nexport default DropdownActions;\n\nconst Wrapper = styled.div`\n background: #fff;\n border: #ccc 1px solid;\n box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);\n font-family: ${(p) => p.theme.fonts?.type};\n font-size: ${(p) => p.theme.fonts?.normal};\n`;\n\nconst Header = styled.div`\n padding: ${(p) => p.theme.sizes?.normal};\n padding-bottom: 0;\n font-size: ${(p) => p.theme.fonts?.normal};\n font-weight: normal;\n white-space: nowrap;\n display: flex;\n align-items: center;\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin: 0;\n font-weight: normal;\n padding-bottom: 0;\n }\n\n svg,\n i {\n margin-right: ${(p) => p.theme.sizes?.small};\n }\n`;\n\nconst StyledList = styled(List)`\n list-style: none;\n padding: 0;\n margin: 0;\n padding: ${(p) => p.theme.sizes?.small} 0;\n\n li {\n background: #fff;\n\n a {\n display: block;\n font-size: ${(p) => p.theme.fonts?.small};\n padding: ${(p) => `${p.theme.sizes?.small} ${p.theme.sizes?.normal}`};\n cursor: pointer;\n color: #555;\n text-decoration: none;\n\n &:hover {\n background: #f9f9f9;\n color: ${(p) => p.theme.colors?.primary};\n }\n }\n }\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Dropdown, headingElement, ItemList, itemList } from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport { DropdownProps, ItemListProps } from '../missing-type-exports';\n\nexport type Props = Merge<DropdownProps, ItemListProps>;\n\nconst DropdownList: React.FC<Props> = ({\n trigger,\n className,\n children,\n closeButtonAriaLabel,\n ...other\n}) => {\n return (\n <Dropdown\n className={appendClassNames(className, 'humany-dropdown-list')}\n closeButtonAriaLabel={closeButtonAriaLabel}\n trigger={trigger}\n >\n <StyledItemList {...other}>{children}</StyledItemList>\n </Dropdown>\n );\n};\n\nexport default DropdownList;\n\nconst StyledItemList = styled(ItemList)<any>`\n ${itemList}\n font-family: ${(p) => p.theme.fonts?.type};\n > div {\n ${(p) =>\n headingElement(p)(\n '> h1',\n css`\n font-size: ${p.theme.fonts?.normal};\n line-height: 1.2em;\n `\n )}\n }\n > ul > li {\n overflow: visible;\n font-weight: 300;\n font-size: ${(p) => p.theme.fonts?.normal};\n\n a {\n display: inline-block;\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Button, Icon, paddedBorderTabStyle, Text } from '@telia-ace/widget-ui';\n\nexport const loadingOpacity = (p: { 'data-loading': boolean }) => css`\n ${p['data-loading'] && 'position: relative;'};\n ${p['data-loading'] && 'min-height: 150px;'}\n > * {\n transition: 200ms ease-out opacity;\n opacity: ${p['data-loading'] ? '0.5' : '1'};\n }\n .humany-loader {\n opacity: ${p['data-loading'] ? '1' : '0'};\n }\n`;\n\nexport const SmallCaret = styled(Icon as any)`\n && {\n font-size: ${(p) => p.theme.fonts?.small};\n }\n width: 1.2em;\n`;\n\nexport const StyledHeaderText = styled(Text as any)`\n font-size: ${(p) => p.theme.fonts?.medium};\n font-weight: normal;\n line-height: 1.2em;\n color: ${(p) => p.theme.colors?.text};\n`;\n\nexport const StyledListButton = styled(Button as any)<any>`\n display: flex;\n align-items: center;\n\n ${(p: any) =>\n p['data-has-label'] === 'true' &&\n p['data-has-symbol'] === 'true' &&\n `\n svg, i {\n margin: 0 ${p.theme.sizes?.small} 0 0;\n }\n `}\n\n &:focus-visible {\n ${(p: any) => p['data-has-label'] === 'true' && paddedBorderTabStyle}\n\n svg, i {\n ${(p: any) =>\n p['data-has-label'] === 'false' &&\n p['data-has-symbol'] === 'true' &&\n css`\n ${paddedBorderTabStyle(p)}\n box-sizing: content-box;\n `}\n }\n }\n\n span {\n flex: 1;\n font-weight: 300;\n }\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Confirm, StyledText, SymbolBadge } from '@telia-ace/widget-ui';\nimport React, { useCallback } from 'react';\nimport { FavoriteActions } from '../hooks';\nimport { StyledListButton } from '../styles';\n\ntype Props = {\n isFavorite: boolean;\n actions: FavoriteActions;\n id: string;\n addFavoriteTooltip?: string;\n removeFavoriteCancelLabel?: string;\n removeFavoriteConfirmLabel?: string;\n removeFavoriteHeader?: string;\n removeFavoriteLabel?: string;\n removeFavoriteTooltip?: string;\n buttonLabel?: string;\n guideTitle?: string;\n};\n\nconst FavoriteButton: React.FC<Props> = ({\n addFavoriteTooltip,\n removeFavoriteCancelLabel,\n removeFavoriteConfirmLabel,\n removeFavoriteHeader,\n removeFavoriteLabel,\n removeFavoriteTooltip,\n id,\n isFavorite,\n guideTitle,\n buttonLabel = '',\n actions: { addFavorite, removeFavorite },\n}) => {\n const remove = useCallback(() => {\n removeFavorite(id);\n }, [id, removeFavorite]);\n\n const add = useCallback(() => {\n addFavorite(id);\n }, [id, addFavorite]);\n\n const tooltip = `${isFavorite ? removeFavoriteTooltip : addFavoriteTooltip}${\n guideTitle ? `: \"${guideTitle}\"` : ''\n }`;\n\n return (\n <>\n {isFavorite ? (\n <Confirm\n trigger={\n <StyledButton\n className=\"humany-favorite-button\"\n title={tooltip}\n aria-label={tooltip}\n data-favorite=\"true\"\n data-has-label={buttonLabel ? 'true' : 'false'}\n data-has-symbol=\"true\"\n >\n <SymbolBadge\n size={16}\n symbol={{ type: 'Svg', content: 'star-empty' }}\n />\n {buttonLabel && <StyledText>{buttonLabel}</StyledText>}\n </StyledButton>\n }\n onConfirm={remove}\n cancelLabel={removeFavoriteCancelLabel}\n confirmLabel={removeFavoriteConfirmLabel}\n header={removeFavoriteHeader}\n text={removeFavoriteLabel}\n />\n ) : (\n <StyledButton\n className=\"humany-favorite-button\"\n title={tooltip}\n aria-label={tooltip}\n onClick={add}\n data-favorite=\"false\"\n data-has-label={buttonLabel ? 'true' : 'false'}\n data-has-symbol=\"true\"\n >\n <SymbolBadge size={16} symbol={{ type: 'Svg', content: 'star-empty' }} />\n {buttonLabel && <StyledText>{buttonLabel}</StyledText>}\n </StyledButton>\n )}\n </>\n );\n};\n\nexport default FavoriteButton;\n\nconst StyledButton = styled(StyledListButton)`\n grid-area: favorite;\n\n &:focus-visible {\n svg {\n ${(p: any) =>\n p['data-favorite'] === 'true'\n ? `\n fill: transparent;\n\n path {\n fill: transparent;\n }\n `\n : `\n fill: ${p.theme.colors?.text};\n\n path {\n fill: ${p.theme.colors?.text};\n }\n `}\n }\n }\n\n ${(p: any) =>\n p.theme.colors?.text &&\n css`\n svg {\n stroke: ${p.theme.colors?.text};\n\n path {\n stroke: ${p.theme.colors?.text};\n }\n\n ${p['data-favorite'] === 'true' &&\n `\n fill: ${p.theme.colors?.text};\n\n path {\n fill: ${p.theme.colors?.text};\n }\n `}\n }\n\n &:hover {\n svg {\n ${p['data-favorite'] === 'true'\n ? `\n fill: transparent;\n\n path {\n fill: transparent;\n }\n `\n : `\n fill: ${p.theme.colors?.text};\n\n path {\n fill: ${p.theme.colors?.text};\n }\n `}\n }\n }\n `}\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n Button,\n convertToStringAttributes,\n Icon,\n invertedHoverButton,\n StyledText,\n} from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React, { forwardRef } from 'react';\n\nexport type Props = {\n onFeedback?: (feedback: 'positive' | 'negative') => void;\n positive?: string;\n negative?: string;\n header?: string;\n selected?: 'positive' | 'negative';\n direction?: 'horizontal' | 'vertical';\n} & any;\n\n// export type Props = Merge<\n// React.ComponentProps<'div'>,\n// {\n// onFeedback?: (feedback: 'positive' | 'negative') => void;\n// positive?: string;\n// negative?: string;\n// header?: string;\n// selected?: 'positive' | 'negative';\n// direction?: 'horizontal' | 'vertical';\n// }\n// >;\n\nexport default forwardRef<HTMLDivElement, Props>(\n (\n {\n onFeedback = () => {},\n direction = 'horizontal',\n className,\n header,\n positive,\n negative,\n selected,\n ...other\n },\n ref\n ) => {\n return (\n <Wrapper\n className={appendClassNames(className, 'humany-feedback')}\n data-direction={direction}\n {...convertToStringAttributes(other)}\n ref={ref}\n >\n {!!header && <Header>{header}</Header>}\n <FeedbackButton\n className=\"humany-feedback-button\"\n disabled={!!selected}\n data-selected={selected === 'positive'}\n data-direction={direction}\n onClick={() => onFeedback('positive')}\n >\n <Icon faIcon=\"smile-o\" />\n <span>{positive}</span>\n </FeedbackButton>\n <FeedbackButton\n className=\"humany-feedback-button\"\n disabled={!!selected}\n data-selected={selected === 'negative'}\n data-direction={direction}\n onClick={() => onFeedback('negative')}\n >\n <Icon faIcon=\"frown-o\" />\n <span>{negative}</span>\n </FeedbackButton>\n </Wrapper>\n );\n }\n);\n\nconst Header = styled(StyledText)`\n font-weight: normal;\n margin: 0 0 ${(p) => p.theme.sizes?.normal};\n font-size: ${(p) => p.theme.fonts?.normal};\n display: block;\n`;\n\nconst FeedbackButton = styled(Button)<{\n 'data-selected': boolean;\n 'data-direction': 'horizontal' | 'vertical';\n}>`\n display: inline-block;\n font-size: ${(p) => p.theme.fonts?.normal};\n font-weight: 300;\n && {\n margin-right: ${(p) => p.theme.sizes?.large};\n }\n\n ${(p) =>\n p['data-direction'] === 'horizontal' &&\n css`\n width: 225px;\n max-width: calc(50% - ${p.theme.sizes?.large} - ${p.theme.sizes?.small});\n `}\n\n ${(p) =>\n p['data-direction'] === 'vertical' &&\n css`\n min-width: 190px;\n `}\n\n ${(p) =>\n p.theme.colors?.primary &&\n invertedHoverButton({\n active: p['data-selected'],\n primaryColor: p.theme.colors?.primary,\n secondaryColor: '#FFFFFF',\n theme: p.theme,\n })}\n\n i {\n margin: 0 ${(p) => p.theme.sizes?.small} 0 0;\n }\n`;\n\nconst Wrapper = styled.div<{ 'data-direction': 'horizontal' | 'vertical' } & any>`\n ${(p) =>\n p['data-direction'] === 'vertical' &&\n css`\n > button {\n width: 100%;\n &:not(:last-child) {\n margin-bottom: ${p.theme.sizes?.normal};\n }\n }\n `}\n`;\n","import { useKeyPress } from '@telia-ace/widget-ui';\nimport { useEffect, useState } from 'react';\n\ntype ArrowKey = 'up' | 'down' | 'left' | 'right';\n\nconst useArrowKeys = (): ArrowKey | null => {\n // State for keeping track of whether key is pressed\n const [keyPressed, setKeyPressed] = useState<ArrowKey | null>(null);\n\n const left = useKeyPress('ArrowLeft');\n const right = useKeyPress('ArrowRight');\n const up = useKeyPress('ArrowUp');\n const down = useKeyPress('ArrowDown');\n\n const effect = () => {\n if (left) {\n setKeyPressed('left');\n } else if (right) {\n setKeyPressed('right');\n } else if (up) {\n setKeyPressed('up');\n } else if (down) {\n setKeyPressed('down');\n } else {\n setKeyPressed(null);\n }\n };\n\n useEffect(effect, [left, right, up, down]);\n\n return keyPressed;\n};\n\nexport default useArrowKeys;\n","import { useCallback, useEffect, useState } from 'react';\n\nconst useDebounce = (value: string, delay: number) => {\n // State and setters for debounced value\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n const handler = useCallback(() => {\n // Update debounced value after delay\n return setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n }, [delay, setDebouncedValue, value]);\n\n useEffect(\n () => {\n const timeout = handler();\n\n // Cancel the timeout if value changes (also on delay change or unmount)\n // This is how we prevent debounced value from updating if value is changed\n // within the delay period. Timeout gets cleared and restarted.\n return () => {\n clearTimeout(timeout);\n };\n },\n [handler] // Only re-call effect if value or delay changes\n );\n\n return debouncedValue;\n};\n\nexport default useDebounce;\n","import { Widget } from '@telia-ace/knowledge-widget-core';\nimport { useContainer } from '@telia-ace/widget-ui';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nexport type FavoriteActions = {\n addFavorite: (guideId: string) => Promise<string[]>;\n clearFavorites: () => Promise<string[]>;\n removeFavorite: (guideId: string) => Promise<string[]>;\n toggleFavorite: (guideId: string) => Promise<string[]>;\n};\n\nconst useFavorites = (): [string[], FavoriteActions] => {\n const container = useContainer();\n const [favorites, setFavorites] = useState<string[]>([]);\n const platform = container.get('favorites');\n\n useEffect(() => {\n if (platform) {\n setFavorites(platform.get());\n\n const { events } = container.get('$widget') as Widget;\n const unsubscribe = events.subscribe('widget:favorites-updated', (_, { updated }) => {\n setFavorites([...updated]);\n });\n\n return unsubscribe;\n }\n }, []);\n\n const add = (guideId: string): Promise<string[]> => {\n if (!platform) {\n return Promise.resolve([]);\n }\n return platform.add(guideId);\n };\n\n const remove = (guideId: string) => {\n if (!platform) {\n return Promise.resolve([]);\n }\n return platform.remove(guideId);\n };\n\n const clear = () => {\n if (!platform) {\n return Promise.resolve([]);\n }\n return platform.clear();\n };\n\n const toggle = useCallback(\n (guideId: string) => {\n if (favorites.indexOf(guideId) > -1) {\n return remove(guideId);\n } else {\n return add(guideId);\n }\n },\n [favorites]\n );\n\n return [\n favorites,\n useMemo(\n () => ({\n addFavorite: add,\n removeFavorite: remove,\n clearFavorites: clear,\n toggleFavorite: toggle,\n }),\n [favorites]\n ),\n ];\n};\n\nexport default useFavorites;\n","import { useEventListener } from '@telia-ace/widget-ui';\nimport { useCallback, useRef, useState } from 'react';\n\nexport default (): [boolean, React.MutableRefObject<HTMLElement | undefined>] => {\n const [hovering, setHovering] = useState(false);\n const elem = useRef<HTMLElement>();\n\n const onMouseEnter = useCallback(() => setHovering(true), [setHovering]);\n\n const onMouseLeave = useCallback(() => setHovering(false), [setHovering]);\n\n useEventListener('mouseenter', onMouseEnter, elem.current);\n\n useEventListener('mouseleave', onMouseLeave, elem.current);\n\n return [hovering, elem];\n};\n","import styled from '@emotion/styled';\nimport { DateFormats, Text, Timestamp } from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React from 'react';\n\nexport type Props = {\n className?: string;\n modified?: string;\n published?: string;\n modifiedBy?: string | null;\n publishedBy?: string | null;\n showModified?: boolean;\n showPublished?: boolean;\n modifiedLabel?: string;\n publishedLabel?: string;\n byLabel?: string;\n format?: DateFormats;\n};\n\nconst Metadata: React.FC<Props> = ({\n format = DateFormats.YYYY_MM_DD_HH_MM,\n className = '',\n byLabel = '',\n modifiedLabel = '',\n publishedLabel = '',\n modifiedBy = '',\n publishedBy = '',\n showModified = false,\n showPublished = false,\n modified,\n published,\n}) => {\n const publishedTimestamp =\n showPublished && published ? (\n <StyledTimestamp format={format} timestamp={published} />\n ) : null;\n const modifiedTimestamp =\n showModified && modified ? <StyledTimestamp format={format} timestamp={modified} /> : null;\n\n if (!publishedTimestamp && !modifiedTimestamp) {\n return null;\n }\n\n return (\n <StyledText className={appendClassNames(className, 'humany-metadata')}>\n {publishedTimestamp && (\n <StyledText className=\"humany-published\">\n {publishedLabel}\n {publishedTimestamp}\n {byLabel && publishedBy && ` ${byLabel.replace('{{editor}}', publishedBy)}`}\n </StyledText>\n )}\n {modifiedTimestamp && (\n <StyledText className=\"humany-modified\">\n {publishedTimestamp && ', '}\n {modifiedLabel}\n {modifiedTimestamp}\n {byLabel && modifiedBy && ` ${byLabel.replace('{{editor}}', modifiedBy)}`}\n </StyledText>\n )}\n </StyledText>\n );\n};\n\nexport default Metadata;\n\nconst StyledTimestamp = styled(Timestamp)`\n &:not(:first-child) {\n margin-left: 4px;\n }\n &:not(:last-child) {\n margin-right: 4px;\n }\n`;\n\nconst StyledText = styled(Text)`\n font-style: italic;\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Guide, Symbol, Tag } from '@telia-ace/knowledge-widget-core';\nimport {\n DispatchAction,\n ItemList,\n ItemRenderer,\n List,\n SymbolBadge,\n TextLink,\n borderTabStyle,\n convertToStringAttributes,\n headingElement,\n itemList,\n list,\n useIsTabbing,\n usePrevious,\n useRouteData,\n} from '@telia-ace/widget-ui';\nimport {\n Params,\n appendClassNames,\n createParams,\n htmlParentContains,\n} from '@telia-ace/widget-utilities';\nimport React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from 'react';\nimport { useFavorites } from '../hooks';\nimport FavoriteButton from './favorite-button';\nimport Metadata, { Props as MetadataProps } from './metadata';\n\ntype Routing = {\n guide?: string;\n page?: string;\n};\n\ntype ParamMappers = {\n guide?: (guide: Guide) => Params;\n page?: () => Params;\n};\n\nexport type Props = {\n paramMappers?: ParamMappers;\n routing?: Routing;\n pageLabel?: string;\n symbolSize?: number;\n renderItem?: ItemRenderer;\n pageRole?: 'link' | 'button';\n pageCaret?: 'right' | 'down';\n showTags?: boolean;\n showFavoriteToggle?: boolean;\n addFavoriteTooltip?: string;\n removeFavoriteCancelLabel?: string;\n removeFavoriteConfirmLabel?: string;\n removeFavoriteHeader?: string;\n removeFavoriteLabel?: string;\n removeFavoriteTooltip?: string;\n metadata?: Partial<MetadataProps>;\n dispatch?: DispatchAction;\n localPaging?: boolean;\n expandable?: boolean;\n onItemClick?: (e: React.MouseEvent, guide: Guide) => void;\n} & any;\n\n// export type Props = Merge<\n// ItemListProps,\n// {\n// paramMappers?: ParamMappers;\n// routing?: Routing;\n// pageLabel?: string;\n// symbolSize?: number;\n// renderItem?: ItemRenderer;\n// pageRole?: 'link' | 'button';\n// pageCaret?: 'right' | 'down';\n// showTags?: boolean;\n// showFavoriteToggle?: boolean;\n// addFavoriteTooltip?: string;\n// removeFavoriteCancelLabel?: string;\n// removeFavoriteConfirmLabel?: string;\n// removeFavoriteHeader?: string;\n// removeFavoriteLabel?: string;\n// removeFavoriteTooltip?: string;\n// metadata?: Partial<MetadataProps>;\n// dispatch?: DispatchAction;\n// localPaging?: boolean;\n// expandable?: boolean;\n// onItemClick?: (e: React.MouseEvent, guide: Guide) => void;\n// }\n// >;\n\nconst Tags: React.FC<{ tags: Tag[] }> = ({ tags }) => {\n if (!tags.filter((t) => t.symbol).length) {\n return null;\n }\n\n return (\n <StyledTagList\n className=\"humany-guide-list-tags\"\n items={tags}\n renderItem={({ id, symbol, title }: Tag) =>\n symbol && (\n <li key={id} data-tag={id}>\n <StyledTagIcon size={18} symbol={symbol} title={title} />\n </li>\n )\n }\n />\n );\n};\n\nexport const AccordionListItem = forwardRef<\n HTMLLIElement,\n {\n title: string;\n id: string;\n route: string;\n symbolSize?: number;\n collapseUri?: string;\n children?: React.ReactNode;\n }\n>(({ title, id, route, symbolSize, collapseUri, children }, ref) => {\n const { params } = useRouteData();\n\n return (\n <ActiveAccordionListItem ref={ref} data-guide={id}>\n <TextLink\n title={title}\n aria-label={title}\n routeName={route}\n params={createParams({\n ...params,\n uriName: collapseUri ? collapseUri : undefined,\n id: undefined,\n guide: undefined,\n accordion: undefined,\n })}\n text={title}\n >\n <SymbolBadge size={symbolSize} symbol={{ type: 'Svg', content: 'caret-up' }} />\n </TextLink>\n {children}\n </ActiveAccordionListItem>\n );\n});\n\nconst ActiveAccordionListItem = styled.li`\n > a {\n grid-column: 1/-1;\n font-weight: bold;\n margin: 0 0 ${(p) => p.theme.sizes?.normal} 0;\n }\n\n > div {\n grid-column: 1/-1;\n }\n`;\n\nexport default forwardRef<HTMLDivElement, Props>(\n (\n {\n expandable = false,\n routing = {},\n paramMappers = {},\n symbolSize = 11,\n pageRole = 'link',\n pageCaret = 'down',\n showTags = false,\n showFavoriteToggle = false,\n localPaging = false,\n onItemClick = () => {},\n dispatch = () => {},\n metadata = {},\n pageLabel,\n className,\n children,\n items,\n renderItem,\n addFavoriteTooltip,\n removeFavoriteCancelLabel,\n removeFavoriteConfirmLabel,\n removeFavoriteHeader,\n removeFavoriteLabel,\n removeFavoriteTooltip,\n ...other\n },\n ref\n ) => {\n const isTabbing = useIsTabbing();\n const innerRef = useRef() as React.MutableRefObject<HTMLElement>;\n const prevItems = usePrevious(items);\n const { guide: guideRoute = 'guide', page: pageRoute = 'index' } = routing;\n const {\n guide: mapGuideParams = ({ id }: Guide) => createParams({ guide: id }),\n page: mapPageParams = () => createParams(),\n } = paramMappers;\n const [favorites, actions] = useFavorites();\n\n useImperativeHandle(ref, () => innerRef.current as any);\n\n const defaultRenderer: ItemRenderer = (guide: Guide) => {\n const { id, title, tags, published, modified, publishedBy, modifiedBy } = guide;\n\n return (\n <li\n key={id}\n data-guide={id}\n has-metadata={(\n (!!metadata?.showPublished && !!published) ||\n (!!metadata?.showModified && !!modified)\n ).toString()}\n >\n <TextLink\n className=\"humany-guide-link\"\n title={title}\n aria-label={title}\n routeName={guideRoute}\n onClick={(e: React.MouseEvent) => onItemClick(e, guide)}\n params={mapGuideParams(guide)}\n text={title}\n >\n <SymbolBadge\n size={symbolSize}\n symbol={{\n type: 'Svg',\n content: expandable ? 'caret-down' : 'caret-right',\n }}\n />\n </TextLink>\n {showFavoriteToggle && (\n <FavoriteButton\n guideTitle={title}\n addFavoriteTooltip={addFavoriteTooltip}\n removeFavoriteCancelLabel={removeFavoriteCancelLabel}\n removeFavoriteConfirmLabel={removeFavoriteConfirmLabel}\n removeFavoriteHeader={removeFavoriteHeader}\n removeFavoriteLabel={removeFavoriteLabel}\n removeFavoriteTooltip={removeFavoriteTooltip}\n isFavorite={favorites.indexOf(id) > -1}\n actions={actions}\n id={id}\n />\n )}\n {showTags && <Tags tags={tags} />}\n <StyledMetadata\n {...metadata}\n indent={expandable ? undefined : symbolSize}\n modified={modified}\n published={published}\n publishedBy={publishedBy}\n modifiedBy={modifiedBy}\n />\n </li>\n );\n };\n\n const renderer = useCallback(\n (guide: Guide, index: number, items: Guide[]) => {\n if (renderItem) {\n return renderItem(guide, index, items, defaultRenderer);\n }\n\n return defaultRenderer(guide, index, items);\n },\n [renderItem, defaultRenderer]\n );\n\n const onPageClick = useCallback(\n (e: React.MouseEvent) => {\n if (localPaging) {\n e.preventDefault();\n dispatch('page', mapPageParams());\n }\n },\n [dispatch, localPaging]\n );\n\n useEffect(() => {\n if (prevItems && prevItems.length < items.length && innerRef.current) {\n const elements = innerRef.current.querySelectorAll('.humany-guide-list > ul > li');\n const listItemElem = elements[prevItems.length] as HTMLElement;\n\n if (elements.length === items.length && prevItems.length) {\n const nextListItem = elements[prevItems.length] as HTMLElement;\n\n if (nextListItem) {\n const focusNext = nextListItem.querySelector(\n '.humany-guide-link'\n ) as HTMLElement | null;\n focusNext && focusNext.focus();\n }\n } else if (listItemElem) {\n const observer = new MutationObserver((mutations, observer) => {\n mutations.forEach((mutation) => {\n if (mutation.addedNodes) {\n const found = Array.from(\n mutation.addedNodes as NodeListOf<HTMLElement>\n ).find((node) => node.tagName === 'A');\n\n if (\n found &&\n htmlParentContains(innerRef.current, document.activeElement)\n ) {\n isTabbing && found.focus();\n observer.disconnect();\n }\n }\n });\n });\n\n observer.observe(listItemElem, {\n attributes: false,\n characterData: false,\n childList: true,\n subtree: true,\n attributeOldValue: false,\n characterDataOldValue: false,\n });\n }\n }\n });\n\n const hasMetaData = !!Object.keys(metadata).filter(\n (k) => typeof (metadata as any)[k] !== 'undefined'\n ).length;\n return (\n <StyledItemList\n className={appendClassNames(className, 'humany-guide-list')}\n data-item-count={items.length}\n items={items}\n renderItem={renderer}\n isTabbing={isTabbing}\n expandable={expandable ? 'true' : 'false'}\n grid-items={showTags || showFavoriteToggle || hasMetaData ? 'true' : 'false'}\n {...convertToStringAttributes(other)}\n ref={innerRef as React.Ref<HTMLDivElement>}\n >\n {pageLabel ? (\n <TextLink\n text={pageLabel}\n title={pageLabel}\n aria-label={pageLabel}\n routeName={pageRoute}\n role={pageRole}\n params={mapPageParams()}\n onClick={onPageClick}\n >\n <SymbolBadge\n size={symbolSize}\n symbol={{ type: 'Svg', content: `caret-${pageCaret}` }}\n />\n </TextLink>\n ) : null}\n {children}\n </StyledItemList>\n );\n }\n);\n\nconst StyledItemList = styled(ItemList)<{\n 'grid-items': 'true' | 'false';\n expandable: 'true' | 'false';\n isTabbing: boolean;\n}>`\n ${itemList}\n padding: ${(p) => p.theme.sizes?.large};\n overflow: auto;\n justify-content: flex-start;\n white-space: nowrap;\n font-weight: 300;\n text-decoration: none;\n\n > div {\n ${(p) =>\n headingElement(p)(\n '> h1',\n css`\n white-space: pre-wrap;\n `\n )}\n }\n\n > ul > li {\n ${(p) =>\n p['grid-items'] === 'true' &&\n css`\n display: grid;\n grid-template-columns: auto 1fr 1fr;\n gap: 0px 0px;\n grid-template-areas: '. favorite tags';\n align-items: center;\n\n > button {\n margin: 0 0 0 ${p.theme.sizes?.small};\n\n &[data-favorite='false'] {\n ${p.isTabbing ? 'opacity: 0;' : 'display: none;'};\n &:focus {\n opacity: 1;\n }\n }\n }\n\n > span {\n font-size: ${p.theme.fonts?.small};\n }\n\n &:hover {\n button[data-favorite='false'] {\n display: flex;\n justify-self: flex-start;\n }\n }\n\n &[has-metadata='true'] {\n grid-template-rows: 1fr 1fr;\n grid-template-areas:\n '. favorite tags'\n 'metadata metadata metadata';\n }\n `}\n > a {\n color: ${(p) => p.theme.colors?.primary};\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n display: inline-block;\n\n svg {\n margin: 0 calc(${(p) => p.theme.sizes?.small}*2) 0 0;\n line {\n stroke: ${(p) => p.theme.colors?.primary};\n }\n }\n\n ${(p) =>\n p.expandable === 'true' &&\n css`\n display: flex;\n flex-direction: row-reverse;\n justify-content: flex-end;\n align-items: center;\n\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n svg {\n margin: 0 0 0 ${p.theme.sizes?.small};\n }\n `}\n\n &:focus-visible {\n ${borderTabStyle}\n text-decoration: underline;\n }\n\n @media (hover: hover) {\n &:hover {\n text-decoration: underline;\n }\n }\n }\n }\n\n > a {\n color: ${(p) => p.theme.colors?.text};\n margin: ${(p) => p.theme.sizes?.normal} 0 0;\n align-self: flex-start;\n align-items: center;\n display: flex;\n\n span {\n text-decoration: underline;\n }\n\n svg {\n margin: 0 calc(${(p) => p.theme.sizes?.small}*2) 0 0;\n line {\n stroke: ${(p) => p.theme.colors?.text};\n }\n }\n\n &:focus-visible {\n ${borderTabStyle}\n text-decoration: underline;\n }\n }\n`;\n\nconst StyledTagList = styled(List)`\n ${list}\n display: flex;\n margin: 0 0 0 auto;\n grid-area: tags;\n\n li,\n li:last-child {\n margin: 0 0 0 ${(p) => p.theme.sizes?.small};\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n`;\n\nconst StyledTagIcon = styled(SymbolBadge)<{ size: number; symbol: Symbol }>`\n display: block;\n color: ${(p) => p.theme.colors?.primary};\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 StyledMetadata = styled(Metadata)<{ indent?: number }>`\n grid-area: metadata;\n text-overflow: ellipsis;\n overflow: hidden;\n font-size: ${(p) => p.theme.fonts?.small};\n ${(p) =>\n typeof p.indent === 'number' &&\n `text-indent: calc(${p.theme.sizes?.small} * 2 + ${p.indent}px);`}\n`;\n","import { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\ntype Props = {\n loading: boolean | undefined;\n};\n\nconst spin = keyframes`\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nconst dash = keyframes`\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -35px;\n }\n 100% {\n stroke-dasharray: 89, 200;\n stroke-dashoffset: -124px;\n }\n`;\n\nconst SpinnerSvg = styled.svg`\n animation: ${spin} 2s linear infinite;\n height: 100%;\n transform-origin: center center;\n width: 100%;\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n margin: auto;\n transition: 200ms ease-out opacity;\n`;\n\nexport const Wrapper = styled.div<{ 'data-loading': boolean }>`\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n height: 100%;\n width: 100%;\n pointer-events: ${(p) => (p['data-loading'] ? 'all' : 'none')};\n display: flex;\n flex-direction: column;\n justify-content: center;\n transition: 200ms ease-out opacity;\n box-sizing: border-box;\n overflow: hidden;\n\n .humany-spinner-svg {\n opacity: ${(p) => (p['data-loading'] ? '1' : '0')};\n }\n`;\n\nconst Spinner = styled.div`\n position: relative;\n margin: 0 auto;\n width: 100px;\n &:before {\n content: '';\n display: block;\n padding-top: 100%;\n }\n`;\n\nconst SpinnerCircle = styled.circle`\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n animation: ${dash} 1.5s ease-in-out infinite;\n stroke-linecap: round;\n stroke: ${(p) => p.theme.colors?.primary};\n stroke-width: 2px;\n`;\n\nconst Loader: React.FC<Props> = ({ loading = false }) => {\n return (\n <Wrapper className=\"humany-loader\" data-loading={loading}>\n <Spinner className=\"humany-spinner\">\n <SpinnerSvg className=\"humany-spinner-svg\" viewBox=\"25 25 50 50\">\n <SpinnerCircle\n cx=\"50\"\n cy=\"50\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"2\"\n stroke-miterlimit=\"10\"\n />\n </SpinnerSvg>\n </Spinner>\n </Wrapper>\n );\n};\n\nexport default Loader;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { Notification } from '@telia-ace/knowledge-widget-core';\nimport {\n borderTabStyle,\n Button,\n DateFormats,\n genericHtml,\n headingElement,\n itemList,\n ItemList,\n Paragraph,\n Symbol,\n SymbolBadge,\n Timestamp,\n} from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React, { useState } from 'react';\nimport { loadingOpacity } from '../styles';\nimport Loader from './loader';\n\ntype Props = {\n className?: string;\n showHeader?: boolean;\n loading: boolean;\n notificationList?: {\n id: string;\n title?: string;\n symbol?: Symbol;\n notifications: Notification[];\n defaultHeaderOptions?: {\n visible: boolean;\n };\n };\n};\n\nconst NotificationList: React.FC<Props> = ({\n className,\n showHeader,\n notificationList,\n loading,\n ...other\n}) => {\n const [expanded, setExpanded] = useState<string | null>(null);\n\n const {\n id,\n title,\n symbol,\n notifications = [],\n defaultHeaderOptions = { visible: true },\n } = notificationList || {};\n\n if (!notifications.length && !loading) {\n return null;\n }\n\n return (\n <StyledItemList\n {...other}\n data-loading={loading}\n data-show-header={\n typeof showHeader === 'boolean' ? showHeader : defaultHeaderOptions.visible\n }\n className={appendClassNames(className, 'humany-notification-list')}\n data-notification-category={id}\n header={title}\n symbol={symbol}\n items={notifications}\n renderItem={({ id, title, body, modified, expandable }: Notification) => (\n <StyledItem\n key={id}\n data-notification={id}\n data-expanded={expandable ? expanded === id : true}\n >\n {expandable ? (\n <>\n <StyledButton\n title={title}\n aria-label={title}\n aria-expanded={expanded === id}\n onClick={() => setExpanded(expanded === id ? null : id)}\n >\n <span>{title}</span>\n <StyledSymbolBadge\n size={11}\n symbol={{\n type: 'Svg',\n content: `caret-${expanded === id ? 'up' : 'down'}`,\n }}\n />\n </StyledButton>\n <StyledParagraph html={body} />\n {modified && (\n <StyledTimestamp\n format={DateFormats.YYYY_MM_DD}\n timestamp={modified}\n />\n )}\n </>\n ) : (\n <StyledParagraph html={body} />\n )}\n </StyledItem>\n )}\n >\n <Loader loading={loading} />\n </StyledItemList>\n );\n};\n\nconst StyledButton = styled(Button)`\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n text-align: left;\n svg,\n i {\n color: ${(p) => p.theme.colors?.primary};\n }\n span {\n color: ${(p) => p.theme.colors?.text};\n font-size: ${(p) => p.theme.fonts?.normal};\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n white-space: nowrap;\n }\n &:focus-visible {\n ${borderTabStyle}\n span {\n color: ${(p) => p.theme.colors?.primary};\n text-decoration: underline;\n }\n }\n`;\n\nconst StyledItemList = styled(ItemList)<\n {\n 'data-loading': boolean;\n 'data-show-header': boolean;\n } & any\n>`\n ${loadingOpacity}\n ${itemList}\n overflow: hidden;\n justify-content: flex-start;\n padding: ${(p) => p.theme.sizes?.large};\n ${(p) =>\n !p['data-show-header'] &&\n css`\n > div {\n ${headingElement(p)(\n 'h1',\n css`\n display: none;\n `\n )}\n }\n `}\n\n @media (hover: hover) {\n button:hover {\n text-decoration: underline;\n }\n }\n`;\n\nconst StyledParagraph = styled(Paragraph)`\n ${genericHtml}\n font-weight: 300;\n\n p {\n white-space: normal;\n }\n`;\n\nconst StyledItem = styled.li<{ 'data-expanded': boolean }>`\n .humany-paragraph {\n display: none;\n &:not(:only-child) {\n ${(p) =>\n p.theme.sizes?.cardinal &&\n p.theme.sizes?.normal &&\n css`\n margin: ${p.theme.sizes?.normal} 0;\n `}\n }\n }\n\n ${(p) =>\n p['data-expanded'] &&\n css`\n .humany-paragraph {\n display: block;\n }\n `}\n\n > span {\n display: block;\n font-weight: 300;\n color: ${(p) => p.theme.colors?.accent};\n }\n`;\n\nconst StyledSymbolBadge = styled(SymbolBadge)`\n margin: 0 0 0 ${(p) => p.theme.sizes?.small};\n line {\n stroke: ${(p) => p.theme.colors?.primary};\n }\n`;\n\nconst StyledTimestamp = styled(Timestamp)`\n font-size: ${(p) => p.theme.fonts?.small};\n font-weight: 300;\n`;\n\nexport default NotificationList;\n","import { Implementation } from '@telia-ace/knowledge-widget-core';\nimport { AnchorLink, WidgetLink } from '@telia-ace/widget-ui';\nimport { Container } from '@webprovisions/platform';\nimport React from 'react';\n\n// Determine if href starts with a hashtag\nconst isAnchorLink = (href: string) => {\n const re = new RegExp('^#', 'i');\n const match = re.test(href);\n\n return match;\n};\n\nconst embeddedLinkMapper =\n (container: Container) =>\n ({ children, ...props }: any) => {\n const {\n implementation,\n name: currentWidgetName,\n }: { implementation: Implementation; name: string } = container.get('$widget');\n\n const { href = '' } = props;\n\n if (isAnchorLink(href)) {\n return (\n <AnchorLink smooth to={href}>\n {children}\n </AnchorLink>\n );\n }\n\n const escapedBindings = implementation.bindings\n .map((binding: string) => binding.replace(/\\./g, '\\\\.'))\n .join('|');\n const regexp = new RegExp(`^((http[s]?:)?\\/\\/)?(${escapedBindings})\\/([^\\\\s]+)`);\n\n const expArray = regexp.exec(href);\n\n if (expArray && expArray.length >= 4) {\n const targetWidgetName = expArray[4];\n const targetWidget = implementation.widgets.get(targetWidgetName);\n\n // blob links should not be treated as a widget link\n if (\n targetWidget &&\n !targetWidgetName.startsWith('blob?') &&\n !targetWidgetName.startsWith(currentWidgetName)\n ) {\n return <WidgetLink widgetName={targetWidgetName}>{children}</WidgetLink>;\n }\n }\n\n return <a {...props}>{children}</a>;\n };\n\nexport default embeddedLinkMapper;\n","import { Container } from '@webprovisions/platform';\nimport React from 'react';\nimport { DialogLink } from '../components';\nimport embeddedLinkMapper from './embedded-link-mapper';\n\nconst guideRenderInstructions = (container: Container, dialog: any[] = []) => {\n return {\n transform: {\n a: (attr: any) => {\n const { children, ...otherAttr } = attr;\n const connectionId = otherAttr['data-target'];\n if (connectionId && dialog.length) {\n const item = dialog.find(({ connection }: any) => connection === connectionId);\n if (item) {\n return <DialogLink {...item}>{children}</DialogLink>;\n }\n }\n\n const defaultInstructions = embeddedLinkMapper(container);\n\n return defaultInstructions(attr);\n },\n },\n };\n};\n\nexport default guideRenderInstructions;\n"],"names":["DialogLink","title","className","id","parent","connection","type","target","href","children","connectionKey","props","name","params","useRouteData","parentId","parentTitle","key","createParams","__spreadProps","__spreadValues","formatUrl","React","Link","appendClassNames","Icon","DialogLink$1","dialogList","forwardRef","_a","ref","_b","dialog","other","__objRest","StyledList","item","styled","List","list","p","invertedHoverButton","DrawerList","trigger","header","animation","fullScreen","onToggle","closeButtonAriaLabel","Drawer","StyledItemList","DrawerList$1","ItemList","itemList","DropdownActions","items","renderItem","Dropdown","Wrapper","Header","DropdownActions$1","DropdownList","DropdownList$1","headingElement","css","loadingOpacity","SmallCaret","StyledHeaderText","Text","StyledListButton","Button","paddedBorderTabStyle","FavoriteButton","addFavoriteTooltip","removeFavoriteCancelLabel","removeFavoriteConfirmLabel","removeFavoriteHeader","removeFavoriteLabel","removeFavoriteTooltip","isFavorite","guideTitle","buttonLabel","addFavorite","removeFavorite","remove","useCallback","add","tooltip","Confirm","StyledButton","SymbolBadge","StyledText","FavoriteButton$1","_c","_d","_e","_f","_g","feedback","onFeedback","direction","positive","negative","selected","convertToStringAttributes","FeedbackButton","useArrowKeys","keyPressed","setKeyPressed","useState","left","useKeyPress","right","up","down","useEffect","useArrowKeys$1","useDebounce","value","delay","debouncedValue","setDebouncedValue","handler","timeout","useDebounce$1","useFavorites","container","useContainer","favorites","setFavorites","platform","events","_","updated","guideId","clear","toggle","useMemo","useFavorites$1","useHover","hovering","setHovering","elem","useRef","onMouseEnter","onMouseLeave","useEventListener","Metadata","format","DateFormats","byLabel","modifiedLabel","publishedLabel","modifiedBy","publishedBy","showModified","showPublished","modified","published","publishedTimestamp","StyledTimestamp","modifiedTimestamp","Metadata$1","Timestamp","Tags","tags","t","StyledTagList","symbol","StyledTagIcon","AccordionListItem","route","symbolSize","collapseUri","ActiveAccordionListItem","TextLink","guideList","expandable","routing","paramMappers","pageRole","pageCaret","showTags","showFavoriteToggle","localPaging","onItemClick","dispatch","metadata","pageLabel","isTabbing","useIsTabbing","innerRef","prevItems","usePrevious","guideRoute","pageRoute","mapGuideParams","mapPageParams","actions","useImperativeHandle","defaultRenderer","guide","e","StyledMetadata","renderer","index","onPageClick","elements","listItemElem","nextListItem","focusNext","mutations","observer","mutation","found","node","htmlParentContains","hasMetaData","k","borderTabStyle","spin","keyframes","dash","SpinnerSvg","Spinner","SpinnerCircle","Loader","loading","Loader$1","NotificationList","showHeader","notificationList","expanded","setExpanded","notifications","defaultHeaderOptions","body","StyledItem","StyledSymbolBadge","StyledParagraph","Paragraph","genericHtml","NotificationList$1","isAnchorLink","embeddedLinkMapper","implementation","currentWidgetName","AnchorLink","escapedBindings","binding","expArray","targetWidgetName","WidgetLink","embeddedLinkMapper$1","guideRenderInstructions","attr","connectionId","guideRenderInstructions$1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telia-ace/knowledge-widget-ui",
3
- "version": "1.0.47",
3
+ "version": "1.0.48-next.1",
4
4
  "description": "UI components used by 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-core": "1.0.41",
24
+ "@telia-ace/knowledge-widget-core": "1.0.42-next.1",
25
25
  "@telia-ace/widget-routing": "^1.0.27",
26
26
  "@telia-ace/widget-ui": "^1.0.33",
27
27
  "@telia-ace/widget-utilities": "^1.0.15",
28
- "@webprovisions/platform": "1.1.3-rc.3"
28
+ "@webprovisions/platform": "^1.1.3"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "@emotion/react": "^11.10.5",