@telia-ace/knowledge-widget-components-notification-row 1.0.47 → 1.1.1-rc.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.
@@ -1,325 +0,0 @@
1
- var V = Object.defineProperty, X = Object.defineProperties;
2
- var Z = Object.getOwnPropertyDescriptors;
3
- var y = Object.getOwnPropertySymbols;
4
- var I = Object.prototype.hasOwnProperty, L = Object.prototype.propertyIsEnumerable;
5
- var H = (e, t, a) => t in e ? V(e, t, { enumerable: !0, configurable: !0, writable: !0, value: a }) : e[t] = a, f = (e, t) => {
6
- for (var a in t || (t = {}))
7
- I.call(t, a) && H(e, a, t[a]);
8
- if (y)
9
- for (var a of y(t))
10
- L.call(t, a) && H(e, a, t[a]);
11
- return e;
12
- }, g = (e, t) => X(e, Z(t));
13
- var k = (e, t) => {
14
- var a = {};
15
- for (var n in e)
16
- I.call(e, n) && t.indexOf(n) < 0 && (a[n] = e[n]);
17
- if (e != null && y)
18
- for (var n of y(e))
19
- t.indexOf(n) < 0 && L.call(e, n) && (a[n] = e[n]);
20
- return a;
21
- };
22
- import { css as b } from "@emotion/react";
23
- import c from "@emotion/styled";
24
- import { useProperties as ee, useContainer as te, createEmptyComponent as N, SymbolBadge as F, genericHtml as ae, linkTabStyle as ne, borderTabStyle as G, Html as oe, Button as ie } from "@telia-ace/knowledge-widget-ui";
25
- import { readStorage as R, StorageMedium as T, createStorageWriter as le, StorageCategory as re } from "@telia-ace/widget-services";
26
- import { appendClassNames as w } from "@telia-ace/widget-utilities";
27
- import i, { useState as $, useEffect as W } from "react";
28
- const z = "closed-notifications", se = {
29
- transform: {
30
- a: (a) => {
31
- var n = a, { children: e } = n, t = k(n, ["children"]);
32
- return /* @__PURE__ */ i.createElement("a", g(f({}, t), { tabIndex: -1 }), e);
33
- }
34
- }
35
- }, xe = (a) => {
36
- var n = a, { className: e } = n, t = k(n, ["className"]);
37
- const {
38
- types: P = [],
39
- allowPaging: O = !0,
40
- notifications: M = [],
41
- expandable: m = !1,
42
- closeAriaLabel: Y = "",
43
- pageNextAriaLabel: _ = "",
44
- pagePreviousAriaLabel: q = "",
45
- expandAriaLabel: J = ""
46
- } = ee(), [h, Q] = $(!1), [x, A] = $([]), [l, v] = $(0), r = te(), [E, U] = $();
47
- W(() => {
48
- r && (R(r, z, T.Session).then(
49
- (o = []) => A(o)
50
- ), le(r, z, re.Functional).then(
51
- (o) => U(() => o)
52
- ));
53
- }, [r]), W(() => {
54
- r && R(r, z, T.Session).then(
55
- (o = []) => {
56
- x.forEach(
57
- (s) => o.indexOf(s) === -1 && o.push(s)
58
- ), E && E(o);
59
- }
60
- );
61
- }, [x, r, E]);
62
- const d = M.filter(({ id: o }) => x.indexOf(o) === -1), { length: p } = d;
63
- if (!d.length)
64
- return N(r, g(f({}, t), {
65
- className: w(e, "humany-notification-row")
66
- }));
67
- if (O) {
68
- const o = d[l] || d[l + 1] || d[l - 1];
69
- if (!o)
70
- return N(r, g(f({}, t), {
71
- className: w(e, "humany-notification-row")
72
- }));
73
- const { id: s, body: S } = o || {}, B = () => Q(!h);
74
- return /* @__PURE__ */ i.createElement(
75
- K,
76
- g(f({}, t), {
77
- "aria-expanded": m ? h : !0,
78
- "aria-label": J,
79
- tabIndex: m ? 0 : -1,
80
- className: w(e, "humany-notification-row"),
81
- "data-pageable": p > 1,
82
- "data-types": P,
83
- "data-allow-paging": O,
84
- "data-expandable": m,
85
- onKeyDown: (u) => {
86
- u.key === "Enter" && B();
87
- },
88
- onClick: B
89
- }),
90
- /* @__PURE__ */ i.createElement(
91
- ce,
92
- {
93
- "aria-label": Y,
94
- onClick: () => {
95
- v(d.indexOf(o)), A([...x, s]);
96
- }
97
- },
98
- /* @__PURE__ */ i.createElement(F, { symbol: { type: "Svg", content: "close" } })
99
- ),
100
- /* @__PURE__ */ i.createElement(
101
- j,
102
- {
103
- htmlParseInstruction: !m || h ? void 0 : se,
104
- "data-pageable": p > 1,
105
- "data-notification": s,
106
- "data-expandable": m,
107
- "data-expanded": h,
108
- html: S
109
- }
110
- ),
111
- p > 1 && /* @__PURE__ */ i.createElement(de, null, /* @__PURE__ */ i.createElement(
112
- C,
113
- {
114
- "aria-label": q,
115
- "data-disabled": l === 0,
116
- onClick: (u) => {
117
- u.stopPropagation(), l > 0 && v(l - 1);
118
- }
119
- },
120
- /* @__PURE__ */ i.createElement(
121
- D,
122
- {
123
- size: 10,
124
- symbol: { type: "Svg", content: "caret-left" }
125
- }
126
- )
127
- ), /* @__PURE__ */ i.createElement("span", null, l + 1, "/", p), /* @__PURE__ */ i.createElement(
128
- C,
129
- {
130
- "aria-label": _,
131
- "data-disabled": l + 1 >= p,
132
- onClick: (u) => {
133
- u.stopPropagation(), l < p - 1 && v(l + 1);
134
- }
135
- },
136
- /* @__PURE__ */ i.createElement(
137
- D,
138
- {
139
- size: 10,
140
- symbol: { type: "Svg", content: "caret-right" }
141
- }
142
- )
143
- ))
144
- );
145
- }
146
- return /* @__PURE__ */ i.createElement(
147
- K,
148
- g(f({}, t), {
149
- className: w(e, "humany-notification-row"),
150
- "data-pageable": !1,
151
- "data-types": P,
152
- "data-allow-paging": !1
153
- }),
154
- d.map((o) => {
155
- if (!o)
156
- return null;
157
- const { id: s, body: S } = o;
158
- return /* @__PURE__ */ i.createElement(
159
- j,
160
- {
161
- key: s,
162
- "data-pageable": !1,
163
- "data-expandable": m,
164
- "data-expanded": h,
165
- "data-notification": s,
166
- html: S
167
- }
168
- );
169
- })
170
- );
171
- }, K = c.div`
172
- ${ae}
173
- padding: ${(e) => {
174
- var t;
175
- return (t = e.theme.sizes) == null ? void 0 : t.normal;
176
- }} ${(e) => {
177
- var t;
178
- return ((t = e.theme.sizes) == null ? void 0 : t.cardinal) * 12;
179
- }}px;
180
- background-color: ${(e) => {
181
- var t, a, n;
182
- return e["data-types"].length ? e["data-types"].indexOf("top") > -1 ? (t = e.theme.colors) == null ? void 0 : t.warning : e["data-types"].indexOf("bottom") > -1 ? "transparent" : (a = e.theme.colors) == null ? void 0 : a.primary : (n = e.theme.colors) == null ? void 0 : n.warning;
183
- }};
184
- color: ${(e) => {
185
- var t;
186
- return (t = e.theme.colors) == null ? void 0 : t.text;
187
- }};
188
- border-radius: ${(e) => e.theme.borderRadius};
189
- text-align: center;
190
- display: flex;
191
- flex-direction: column;
192
- position: relative;
193
- cursor: ${(e) => e["data-expandable"] ? "pointer" : "default"};
194
- overflow: hidden;
195
-
196
- i {
197
- color: ${(e) => {
198
- var t;
199
- return (t = e.theme.colors) == null ? void 0 : t.text;
200
- }};
201
- }
202
-
203
- a {
204
- color: ${(e) => {
205
- var t;
206
- return (t = e.theme.colors) == null ? void 0 : t.link;
207
- }};
208
- &:focus-visible {
209
- ${ne}
210
- }
211
- }
212
-
213
- ${(e) => {
214
- var t;
215
- return !e["data-allow-paging"] && b`
216
- flex-wrap: wrap;
217
-
218
- > div {
219
- min-width: 100%;
220
- margin: ${((t = e.theme.sizes) == null ? void 0 : t.cardinal) * 2}px;
221
- }
222
- `;
223
- }};
224
-
225
- ${(e) => b`
226
- &:focus-visible {
227
- .humany-html {
228
- ${G(e)}
229
- }
230
- }
231
- `}
232
- `, j = c(oe)`
233
- flex: 1;
234
- font-size: ${(e) => {
235
- var t;
236
- return (t = e.theme.fonts) == null ? void 0 : t.normal;
237
- }};
238
- line-height: 1.6em;
239
- font-weight: 300;
240
-
241
- ${(e) => e["data-expandable"] && !e["data-expanded"] && b`
242
- max-width: 100%;
243
-
244
- p {
245
- display: none;
246
- &:first-child {
247
- display: block;
248
- margin-bottom: 0;
249
- white-space: nowrap;
250
- overflow: hidden;
251
- text-overflow: ellipsis;
252
- }
253
- }
254
- `}
255
- `, de = c.div`
256
- text-align: center;
257
- width: 100%;
258
- span {
259
- font-size: ${(e) => {
260
- var t;
261
- return (t = e.theme.fonts) == null ? void 0 : t.small;
262
- }};
263
- display: inline-block;
264
- width: 30px;
265
- text-align: center;
266
- }
267
- `, C = c(ie)`
268
- background-color: transparent;
269
- border: none;
270
- cursor: pointer;
271
- transition: opacity 200ms ease-out;
272
- justify-self: flex-end;
273
- align-self: flex-start;
274
- padding: ${(e) => {
275
- var t;
276
- return (t = e.theme.sizes) == null ? void 0 : t.small;
277
- }} svg {
278
- display: block;
279
- }
280
-
281
- &:focus-visible {
282
- ${G}
283
- }
284
-
285
- ${(e) => e["data-disabled"] ? b`
286
- opacity: 0.8;
287
- ` : b`
288
- @media (hover) {
289
- &:hover {
290
- opacity: 0.5;
291
- }
292
- }
293
- `}
294
- `, ce = c(C)`
295
- position: absolute;
296
- top: 7.5px;
297
- right: 7.5px;
298
- width: 25px;
299
- height: auto;
300
- padding: ${(e) => {
301
- var t, a;
302
- return `calc(${(t = e.theme.sizes) == null ? void 0 : t.small}/2) ${(a = e.theme.sizes) == null ? void 0 : a.small}`;
303
- }};
304
- svg {
305
- vertical-align: middle;
306
- line,
307
- path {
308
- stroke: ${(e) => {
309
- var t;
310
- return (t = e.theme.colors) == null ? void 0 : t.text;
311
- }};
312
- }
313
- }
314
- `, D = c(F)`
315
- line {
316
- stroke: #ffffff;
317
- }
318
- `;
319
- c.div`
320
- display: none;
321
- `;
322
- export {
323
- xe as default
324
- };
325
- //# sourceMappingURL=notification-row.5162cdbf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"notification-row.5162cdbf.js","sources":["../src/notification-row.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n borderTabStyle,\n Button,\n createEmptyComponent,\n genericHtml,\n Html,\n linkTabStyle,\n SymbolBadge,\n useContainer,\n useProperties,\n} from '@telia-ace/knowledge-widget-ui';\nimport {\n createStorageWriter,\n readStorage,\n StorageCategory,\n StorageMedium,\n StorageWriter,\n} from '@telia-ace/widget-services';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React, { useEffect, useState } from 'react';\nimport { NotificationRowComponentProps } from './notification-row-component';\n\ntype Props = {\n className: string;\n};\n\nconst STORAGE_KEY = 'closed-notifications';\n\nconst infocusableHtml = {\n transform: {\n a: ({ children, ...props }: React.ComponentProps<'a'>) => (\n <a {...props} tabIndex={-1}>\n {children}\n </a>\n ),\n },\n};\n\nconst NotificationRow: React.FC<Props> = ({ className, ...other }) => {\n const {\n types = [],\n allowPaging = true,\n notifications = [],\n expandable = false,\n closeAriaLabel = '',\n pageNextAriaLabel = '',\n pagePreviousAriaLabel = '',\n expandAriaLabel = '',\n } = useProperties<NotificationRowComponentProps>();\n const [expanded, setExpanded] = useState(false);\n const [closed, setClosed] = useState<string[]>([]);\n const [index, setIndex] = useState(0);\n\n const container = useContainer();\n const [write, setWriter] = useState<StorageWriter | undefined>();\n\n useEffect(() => {\n if (container) {\n readStorage<string[]>(container, STORAGE_KEY, StorageMedium.Session).then(\n (closed = []) => setClosed(closed)\n );\n\n createStorageWriter(container, STORAGE_KEY, StorageCategory.Functional).then((writer) =>\n setWriter(() => writer)\n );\n }\n }, [container]);\n\n useEffect(() => {\n if (container) {\n readStorage<string[]>(container, STORAGE_KEY, StorageMedium.Session).then(\n (storedClosed = []) => {\n closed.forEach(\n (id) => storedClosed.indexOf(id) === -1 && storedClosed.push(id)\n );\n if (write) {\n write(storedClosed);\n }\n }\n );\n }\n }, [closed, container, write]);\n\n const filtered = notifications.filter(({ id }) => closed.indexOf(id) === -1);\n\n const { length } = filtered;\n\n if (!filtered.length) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-notification-row'),\n });\n }\n\n if (allowPaging) {\n const notification = filtered[index] || filtered[index + 1] || filtered[index - 1];\n\n if (!notification) {\n return createEmptyComponent(container, {\n ...other,\n className: appendClassNames(className, 'humany-notification-row'),\n });\n }\n\n const { id, body } = notification || {};\n const toggleExpand = () => setExpanded(!expanded);\n\n return (\n <Wrapper\n {...other}\n aria-expanded={expandable ? expanded : true}\n aria-label={expandAriaLabel}\n tabIndex={expandable ? 0 : -1}\n className={appendClassNames(className, 'humany-notification-row')}\n data-pageable={length > 1}\n data-types={types}\n data-allow-paging={allowPaging}\n data-expandable={expandable}\n onKeyDown={(e: React.KeyboardEvent) => {\n if (e.key === 'Enter') {\n toggleExpand();\n }\n }}\n onClick={toggleExpand}\n >\n <CloseButton\n aria-label={closeAriaLabel}\n onClick={() => {\n setIndex(filtered.indexOf(notification));\n setClosed([...closed, id]);\n }}\n >\n <SymbolBadge symbol={{ type: 'Svg', content: 'close' }} />\n </CloseButton>\n <StyledHtml\n htmlParseInstruction={!expandable || expanded ? undefined : infocusableHtml}\n data-pageable={length > 1}\n data-notification={id}\n data-expandable={expandable}\n data-expanded={expanded}\n html={body}\n />\n {length > 1 && (\n <Pager>\n <StyledButton\n aria-label={pagePreviousAriaLabel}\n data-disabled={index === 0}\n onClick={(e) => {\n e.stopPropagation();\n if (index > 0) {\n setIndex(index - 1);\n }\n }}\n >\n <StyledSymbolBadge\n size={10}\n symbol={{ type: 'Svg', content: 'caret-left' }}\n />\n </StyledButton>\n <span>\n {index + 1}/{length}\n </span>\n <StyledButton\n aria-label={pageNextAriaLabel}\n data-disabled={index + 1 >= length}\n onClick={(e) => {\n e.stopPropagation();\n if (index < length - 1) {\n setIndex(index + 1);\n }\n }}\n >\n <StyledSymbolBadge\n size={10}\n symbol={{ type: 'Svg', content: 'caret-right' }}\n />\n </StyledButton>\n </Pager>\n )}\n </Wrapper>\n );\n }\n\n return (\n <Wrapper\n {...other}\n className={appendClassNames(className, 'humany-notification-row')}\n data-pageable={false}\n data-types={types}\n data-allow-paging={false}\n >\n {filtered.map((notification) => {\n if (!notification) {\n return null;\n }\n\n const { id, body } = notification;\n\n return (\n <StyledHtml\n key={id}\n data-pageable={false}\n data-expandable={expandable}\n data-expanded={expanded}\n data-notification={id}\n html={body}\n />\n );\n })}\n </Wrapper>\n );\n};\n\nconst Wrapper = styled.div<{ 'data-types': string[]; 'data-allow-paging': boolean } & any>`\n ${genericHtml}\n padding: ${(p) => p.theme.sizes?.normal} ${(p) => p.theme.sizes?.cardinal * 12}px;\n background-color: ${(p) => {\n if (p['data-types'].length) {\n if (p['data-types'].indexOf('top') > -1) {\n return p.theme.colors?.warning;\n }\n if (p['data-types'].indexOf('bottom') > -1) {\n return 'transparent';\n }\n\n return p.theme.colors?.primary;\n }\n return p.theme.colors?.warning;\n }};\n color: ${(p) => p.theme.colors?.text};\n border-radius: ${(p) => p.theme.borderRadius};\n text-align: center;\n display: flex;\n flex-direction: column;\n position: relative;\n cursor: ${(p) => (p['data-expandable'] ? 'pointer' : 'default')};\n overflow: hidden;\n\n i {\n color: ${(p) => p.theme.colors?.text};\n }\n\n a {\n color: ${(p) => p.theme.colors?.link};\n &:focus-visible {\n ${linkTabStyle}\n }\n }\n\n ${(p) =>\n !p['data-allow-paging'] &&\n css`\n flex-wrap: wrap;\n\n > div {\n min-width: 100%;\n margin: ${p.theme.sizes?.cardinal * 2}px;\n }\n `};\n\n ${(p) =>\n css`\n &:focus-visible {\n .humany-html {\n ${borderTabStyle(p)}\n }\n }\n `}\n`;\n\nconst StyledHtml = styled(Html)<{\n 'data-pageable': boolean;\n 'data-expandable': boolean;\n 'data-expanded': boolean;\n}>`\n flex: 1;\n font-size: ${(p) => p.theme.fonts?.normal};\n line-height: 1.6em;\n font-weight: 300;\n\n ${(p) =>\n p['data-expandable'] &&\n !p['data-expanded'] &&\n css`\n max-width: 100%;\n\n p {\n display: none;\n &:first-child {\n display: block;\n margin-bottom: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n }\n `}\n`;\n\nconst Pager = styled.div`\n text-align: center;\n width: 100%;\n span {\n font-size: ${(p) => p.theme.fonts?.small};\n display: inline-block;\n width: 30px;\n text-align: center;\n }\n`;\n\nconst StyledButton = styled(Button)<{ 'data-disabled'?: boolean }>`\n background-color: transparent;\n border: none;\n cursor: pointer;\n transition: opacity 200ms ease-out;\n justify-self: flex-end;\n align-self: flex-start;\n padding: ${(p) => p.theme.sizes?.small} svg {\n display: block;\n }\n\n &:focus-visible {\n ${borderTabStyle}\n }\n\n ${(p) =>\n p['data-disabled']\n ? css`\n opacity: 0.8;\n `\n : css`\n @media (hover) {\n &:hover {\n opacity: 0.5;\n }\n }\n `}\n`;\n\nconst CloseButton = styled(StyledButton)`\n position: absolute;\n top: 7.5px;\n right: 7.5px;\n width: 25px;\n height: auto;\n padding: ${(p) => `calc(${p.theme.sizes?.small}/2) ${p.theme.sizes?.small}`};\n svg {\n vertical-align: middle;\n line,\n path {\n stroke: ${(p) => p.theme.colors?.text};\n }\n }\n`;\n\nconst StyledSymbolBadge = styled(SymbolBadge)`\n line {\n stroke: #ffffff;\n }\n`;\n\nconst Empty = styled.div`\n display: none;\n`;\n\nexport default NotificationRow;\n"],"names":["STORAGE_KEY","infocusableHtml","_a","_b","children","props","__objRest","React","__spreadProps","__spreadValues","NotificationRow","className","other","types","allowPaging","notifications","expandable","closeAriaLabel","pageNextAriaLabel","pagePreviousAriaLabel","expandAriaLabel","useProperties","expanded","setExpanded","useState","closed","setClosed","index","setIndex","container","useContainer","write","setWriter","useEffect","readStorage","StorageMedium","createStorageWriter","StorageCategory","writer","storedClosed","id","filtered","length","createEmptyComponent","appendClassNames","notification","body","toggleExpand","Wrapper","e","CloseButton","SymbolBadge","StyledHtml","Pager","StyledButton","StyledSymbolBadge","styled","genericHtml","p","_c","linkTabStyle","css","borderTabStyle","Html","Button"],"mappings":"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"}
File without changes