@telia-ace/widget-components-widget-header 1.0.19-next.2 → 1.0.19-next.4
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.0ad4edcb.js → index.30c4e2b0.js} +26 -26
- package/dist/{index.0ad4edcb.js.map → index.30c4e2b0.js.map} +1 -1
- package/dist/index.js +1 -1
- package/dist/{widget-header.ba71fd3f.js → widget-header.df39afa7.js} +73 -75
- package/dist/widget-header.df39afa7.js.map +1 -0
- package/package.json +9 -5
- package/dist/widget-header.ba71fd3f.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createEventSubscriber as p } from "@telia-ace/widget-core";
|
|
2
2
|
import { createReactComponent as f } from "@telia-ace/widget-ui";
|
|
3
3
|
import { removeNullAndUndefinedValues as b } from "@telia-ace/widget-utilities";
|
|
4
|
-
const
|
|
5
|
-
if (
|
|
4
|
+
const v = (s, e, i) => {
|
|
5
|
+
if (i !== "center")
|
|
6
6
|
return {};
|
|
7
7
|
const t = (a) => a.reduce((u, d) => {
|
|
8
8
|
const [l] = d.padding.split("px"), [g] = d.size.split("px");
|
|
@@ -11,15 +11,15 @@ const y = (s, e, n) => {
|
|
|
11
11
|
return r === 0 ? {} : {
|
|
12
12
|
[o > c ? "right" : "left"]: `${Math.abs(r)}px`
|
|
13
13
|
};
|
|
14
|
-
},
|
|
15
|
-
(e,
|
|
16
|
-
const t = s[
|
|
14
|
+
}, z = (s) => Object.keys(s).reduce(
|
|
15
|
+
(e, i) => {
|
|
16
|
+
const t = s[i];
|
|
17
17
|
if (!t)
|
|
18
18
|
return e;
|
|
19
19
|
const [o, c] = e, r = t.position === "left" ? o : c;
|
|
20
|
-
return s[
|
|
20
|
+
return s[i].symbol, r.push({
|
|
21
21
|
symbol: t.symbol && typeof t.symbol == "string" ? { type: "Uri", content: t.symbol } : t.symbol,
|
|
22
|
-
type:
|
|
22
|
+
type: i,
|
|
23
23
|
padding: t.padding || "10px",
|
|
24
24
|
label: t.label,
|
|
25
25
|
size: t.size || "64px",
|
|
@@ -32,42 +32,42 @@ const y = (s, e, n) => {
|
|
|
32
32
|
), h = (s) => s.getAsync("router").then((e) => {
|
|
33
33
|
if (!e)
|
|
34
34
|
return !0;
|
|
35
|
-
const
|
|
36
|
-
return b(o), !((
|
|
37
|
-
}),
|
|
35
|
+
const i = e.getInitialRoute(), { name: t, params: o } = e.getRouteData();
|
|
36
|
+
return b(o), !((i == null ? void 0 : i.name) !== t || Object.keys(o).length > 0);
|
|
37
|
+
}), w = (s) => f(
|
|
38
38
|
s,
|
|
39
39
|
"widget-header",
|
|
40
|
-
import("./widget-header.
|
|
40
|
+
import("./widget-header.df39afa7.js"),
|
|
41
41
|
(e) => {
|
|
42
|
-
const { events:
|
|
43
|
-
if (e.actions.create("close", (r,
|
|
44
|
-
if (!
|
|
42
|
+
const { events: i } = s.get("$widget"), [t, o] = p(i), { actions: c = {} } = e.properties();
|
|
43
|
+
if (e.actions.create("close", (r, n) => n.preventDefault ? void 0 : s.get("$widget").invoke("close")), e.actions.create("back", (r, n) => {
|
|
44
|
+
if (!n.preventDefault)
|
|
45
45
|
return s.getAsync("router").then((a) => {
|
|
46
46
|
a.goBack();
|
|
47
47
|
});
|
|
48
48
|
}), e.properties((r) => {
|
|
49
|
-
const { actions:
|
|
50
|
-
if (!!
|
|
51
|
-
return Object.keys(
|
|
52
|
-
const u =
|
|
49
|
+
const { actions: n = {} } = r;
|
|
50
|
+
if (!!n.back)
|
|
51
|
+
return Object.keys(n).forEach((a) => {
|
|
52
|
+
const u = n[a];
|
|
53
53
|
a === "back" && (u.show = r.showBack);
|
|
54
|
-
}), { actions:
|
|
54
|
+
}), { actions: n };
|
|
55
55
|
}), e.actions.create("show-back", (r) => {
|
|
56
56
|
e.writeProperties({ showBack: r });
|
|
57
57
|
}), c.back) {
|
|
58
58
|
const r = () => h(s).then(
|
|
59
|
-
(
|
|
59
|
+
(n) => e.actions.dispatch("show-back", !n)
|
|
60
60
|
);
|
|
61
61
|
r(), t("router:changed", r);
|
|
62
62
|
}
|
|
63
|
-
return e.actions.create("minimize", (r,
|
|
63
|
+
return e.actions.create("minimize", (r, n) => n.preventDefault ? void 0 : s.get("$widget").invoke("hide")), () => {
|
|
64
64
|
o();
|
|
65
65
|
};
|
|
66
66
|
}
|
|
67
|
-
);
|
|
67
|
+
), x = w;
|
|
68
68
|
export {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
x as W,
|
|
70
|
+
v as a,
|
|
71
|
+
z as c
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=index.
|
|
73
|
+
//# sourceMappingURL=index.30c4e2b0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.
|
|
1
|
+
{"version":3,"file":"index.30c4e2b0.js","sources":["../src/utils.ts","../src/widget-header-component.ts"],"sourcesContent":["import { RoutingService } from '@telia-ace/widget-routing';\nimport { removeNullAndUndefinedValues } from '@telia-ace/widget-utilities';\nimport { Container } from '@webprovisions/platform';\nimport { ActionNode, Symbol } from './widget-header-component';\n\nexport const calculateMargin = (\n leftNodes: ActionNode[],\n rightNodes: ActionNode[],\n textAlign: string\n) => {\n if (textAlign !== 'center') {\n return {};\n }\n\n const calculate = (nodes: ActionNode[]) => {\n return nodes.reduce<number>((acc, node) => {\n const [padding] = node.padding.split('px');\n const [size] = node.size.split('px');\n return acc + (+size + +padding * 2);\n }, 0);\n };\n const leftSize = calculate(leftNodes);\n const rightSize = calculate(rightNodes);\n\n const total = leftSize - rightSize;\n\n if (total === 0) {\n return {};\n }\n\n const direction = leftSize > rightSize ? 'right' : 'left';\n return {\n [direction]: `${Math.abs(total)}px`,\n };\n};\n\nexport const createNodes = (actions: { [key: string]: ActionNode }) => {\n return Object.keys(actions).reduce<[ActionNode[], ActionNode[]]>(\n (acc, key) => {\n const node = actions[key];\n if (!node) {\n return acc;\n }\n const [left, right] = acc;\n const arr = node.position === 'left' ? left : right;\n\n let symbol = actions[key].symbol;\n if (symbol && typeof symbol === 'string') {\n symbol = {\n type: 'Uri',\n content: symbol,\n };\n }\n\n arr.push({\n symbol:\n node.symbol && typeof node.symbol === 'string'\n ? { type: 'Uri', content: node.symbol }\n : (node.symbol as Symbol),\n type: key,\n padding: node.padding || '10px',\n label: node.label,\n size: node.size || '64px',\n tooltip: node.tooltip,\n order: node.order || 0,\n show: node.show,\n });\n\n return acc;\n },\n [[], []]\n );\n};\n\nexport const isOnInitialRoute = (container: Container) =>\n container.getAsync('router').then((router: RoutingService) => {\n if (!router) {\n return true;\n }\n const initialRoute = router.getInitialRoute();\n const { name, params } = router.getRouteData();\n\n removeNullAndUndefinedValues(params);\n\n if (initialRoute?.name !== name || Object.keys(params).length > 0) {\n return false;\n }\n\n return true;\n });\n","import { createEventSubscriber } from '@telia-ace/widget-core';\nimport { RoutingService } from '@telia-ace/widget-routing';\nimport { createReactComponent } from '@telia-ace/widget-ui';\nimport { Container } from '@webprovisions/platform';\nimport { isOnInitialRoute } from './utils';\n\nexport type Symbol = {\n type: 'Uri' | 'Svg' | 'FontAwesome' | 'Text' | string;\n content: string;\n};\n\nexport type ActionNode = {\n type: string;\n label?: string;\n position?: 'right' | 'left';\n symbol?: Symbol;\n size: string;\n padding: string;\n tooltip?: string;\n order?: number;\n show?: boolean;\n};\n\nexport type WidgetHeaderComponentProps = {\n header: string;\n tagline: string;\n textAlign?: string;\n actions?: { [key: string]: ActionNode };\n tooltip?: string;\n route?: string;\n};\n\nconst WidgetHeaderComponent = (container: Container) => {\n return createReactComponent(\n container,\n 'widget-header',\n import('./widget-header'),\n (component) => {\n const { events } = container.get('$widget');\n const [subscribe, unsubscribe] = createEventSubscriber(events);\n\n const { actions = {} } = component.properties<WidgetHeaderComponentProps>();\n\n component.actions.create('close', (data, options) => {\n if (options.preventDefault) {\n return;\n }\n\n const widget = container.get('$widget');\n return widget.invoke('close');\n });\n component.actions.create('back', (data, options) => {\n if (options.preventDefault) {\n return;\n }\n\n return container.getAsync('router').then((router: RoutingService) => {\n router.goBack();\n });\n });\n\n component.properties((properties) => {\n const { actions = {} } = properties;\n\n if (!actions.back) {\n return;\n }\n\n Object.keys(actions).forEach((key) => {\n const node = actions[key];\n if (key === 'back') {\n node.show = properties.showBack;\n }\n });\n\n return { actions };\n });\n\n component.actions.create('show-back', (showBack) => {\n component.writeProperties({ showBack });\n });\n\n if (actions.back) {\n const showBack = () =>\n isOnInitialRoute(container).then((onInitialRoute) =>\n component.actions.dispatch('show-back', !onInitialRoute)\n );\n\n showBack();\n subscribe('router:changed', showBack);\n }\n\n component.actions.create('minimize', (data, options) => {\n if (options.preventDefault) {\n return;\n }\n\n const widget = container.get('$widget');\n return widget.invoke('hide');\n });\n\n return () => {\n unsubscribe();\n };\n }\n );\n};\n\nexport default WidgetHeaderComponent;\n"],"names":["calculateMargin","leftNodes","rightNodes","textAlign","calculate","nodes","acc","node","padding","size","leftSize","rightSize","total","createNodes","actions","key","left","right","arr","isOnInitialRoute","container","router","initialRoute","name","params","removeNullAndUndefinedValues","WidgetHeaderComponent","createReactComponent","component","events","subscribe","unsubscribe","createEventSubscriber","data","options","properties","showBack","onInitialRoute","WidgetHeaderComponent$1"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var A = Object.defineProperty,
|
|
2
|
-
var
|
|
1
|
+
var A = Object.defineProperty, B = Object.defineProperties;
|
|
2
|
+
var M = Object.getOwnPropertyDescriptors;
|
|
3
3
|
var h = Object.getOwnPropertySymbols;
|
|
4
4
|
var E = Object.prototype.hasOwnProperty, k = Object.prototype.propertyIsEnumerable;
|
|
5
5
|
var z = (e, t, i) => t in e ? A(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i, u = (e, t) => {
|
|
@@ -9,21 +9,22 @@ var z = (e, t, i) => t in e ? A(e, t, { enumerable: !0, configurable: !0, writab
|
|
|
9
9
|
for (var i of h(t))
|
|
10
10
|
k.call(t, i) && z(e, i, t[i]);
|
|
11
11
|
return e;
|
|
12
|
-
}, N = (e, t) =>
|
|
13
|
-
var
|
|
12
|
+
}, N = (e, t) => B(e, M(t));
|
|
13
|
+
var $ = (e, t) => {
|
|
14
14
|
var i = {};
|
|
15
|
-
for (var
|
|
16
|
-
E.call(e,
|
|
15
|
+
for (var n in e)
|
|
16
|
+
E.call(e, n) && t.indexOf(n) < 0 && (i[n] = e[n]);
|
|
17
17
|
if (e != null && h)
|
|
18
|
-
for (var
|
|
19
|
-
t.indexOf(
|
|
18
|
+
for (var n of h(e))
|
|
19
|
+
t.indexOf(n) < 0 && k.call(e, n) && (i[n] = e[n]);
|
|
20
20
|
return i;
|
|
21
21
|
};
|
|
22
|
-
import {
|
|
22
|
+
import { css as x } from "@emotion/react";
|
|
23
|
+
import c from "@emotion/styled";
|
|
24
|
+
import { SymbolBadge as f, useDispatch as W, TransitionComponent as I, borderTabStyle as R, useProperties as q, Typography as S, headingElement as T, Link as L, linkTabStyle as _ } from "@telia-ace/widget-ui";
|
|
23
25
|
import { appendClassNames as D } from "@telia-ace/widget-utilities";
|
|
24
26
|
import r from "react";
|
|
25
|
-
import c,
|
|
26
|
-
import { c as H, a as P } from "./index.0ad4edcb.js";
|
|
27
|
+
import { c as H, a as P } from "./index.30c4e2b0.js";
|
|
27
28
|
import "@telia-ace/widget-core";
|
|
28
29
|
const j = ({ node: e }) => {
|
|
29
30
|
if (!e.symbol)
|
|
@@ -31,18 +32,18 @@ const j = ({ node: e }) => {
|
|
|
31
32
|
let t;
|
|
32
33
|
const i = e.symbol.type === "Svg";
|
|
33
34
|
if (e.symbol.type === "Svg") {
|
|
34
|
-
const
|
|
35
|
-
isNaN(
|
|
35
|
+
const n = parseInt(e.size, 10);
|
|
36
|
+
isNaN(n) || (t = n);
|
|
36
37
|
}
|
|
37
|
-
return /* @__PURE__ */ r.createElement(
|
|
38
|
+
return /* @__PURE__ */ r.createElement(G, {
|
|
38
39
|
symbol: e.symbol,
|
|
39
40
|
svg: i,
|
|
40
41
|
size: t,
|
|
41
42
|
backgroundSize: "cover"
|
|
42
43
|
});
|
|
43
|
-
}, F = c((i) => {
|
|
44
|
-
var
|
|
45
|
-
return /* @__PURE__ */ r.createElement(
|
|
44
|
+
}, F = j, G = c((i) => {
|
|
45
|
+
var n = i, { svg: e } = n, t = $(n, ["svg"]);
|
|
46
|
+
return /* @__PURE__ */ r.createElement(f, u({}, t));
|
|
46
47
|
})`
|
|
47
48
|
color: ${(e) => {
|
|
48
49
|
var t;
|
|
@@ -52,31 +53,31 @@ const j = ({ node: e }) => {
|
|
|
52
53
|
border-radius: 50%;
|
|
53
54
|
overflow: hidden;
|
|
54
55
|
`}
|
|
55
|
-
`,
|
|
56
|
+
`, J = ({ node: e }) => {
|
|
56
57
|
const t = e.symbol || { type: "Svg", content: "back" };
|
|
57
|
-
return /* @__PURE__ */ r.createElement(
|
|
58
|
+
return /* @__PURE__ */ r.createElement(f, {
|
|
58
59
|
size: 20,
|
|
59
60
|
symbol: t
|
|
60
61
|
});
|
|
61
|
-
}, J = ({ node: e }) => {
|
|
62
|
+
}, K = J, O = ({ node: e }) => {
|
|
62
63
|
const t = e.symbol || { type: "Svg", content: "close" }, i = parseInt(e == null ? void 0 : e.size, 10) || 14;
|
|
63
|
-
return /* @__PURE__ */ r.createElement(
|
|
64
|
+
return /* @__PURE__ */ r.createElement(f, {
|
|
64
65
|
size: i,
|
|
65
66
|
symbol: t
|
|
66
67
|
});
|
|
67
|
-
},
|
|
68
|
+
}, Q = O, U = ({ node: e }) => {
|
|
68
69
|
const t = e.symbol || { type: "Svg", content: "minimize" }, i = parseInt(e == null ? void 0 : e.size, 10) || 20;
|
|
69
|
-
return /* @__PURE__ */ r.createElement(
|
|
70
|
+
return /* @__PURE__ */ r.createElement(f, {
|
|
70
71
|
size: i,
|
|
71
72
|
symbol: t
|
|
72
73
|
});
|
|
73
|
-
},
|
|
74
|
-
var
|
|
75
|
-
const m =
|
|
74
|
+
}, V = U, X = (i) => {
|
|
75
|
+
var n = i, { className: e = "" } = n, t = $(n, ["className"]);
|
|
76
|
+
const m = W(), { size: g, padding: p, type: o, tooltip: s, show: b = !0 } = t;
|
|
76
77
|
return o === "back" ? /* @__PURE__ */ r.createElement(w, {
|
|
77
|
-
size:
|
|
78
|
-
padding:
|
|
79
|
-
}, /* @__PURE__ */ r.createElement(
|
|
78
|
+
size: g || "64px",
|
|
79
|
+
padding: p || "10px"
|
|
80
|
+
}, /* @__PURE__ */ r.createElement(I, {
|
|
80
81
|
in: b,
|
|
81
82
|
timeout: 300,
|
|
82
83
|
transitions: {
|
|
@@ -96,13 +97,13 @@ const j = ({ node: e }) => {
|
|
|
96
97
|
onClick: () => {
|
|
97
98
|
m("back");
|
|
98
99
|
}
|
|
99
|
-
}, /* @__PURE__ */ r.createElement(
|
|
100
|
+
}, /* @__PURE__ */ r.createElement(K, {
|
|
100
101
|
node: t
|
|
101
102
|
})))) : b ? /* @__PURE__ */ r.createElement(w, {
|
|
102
|
-
size:
|
|
103
|
-
padding:
|
|
103
|
+
size: g || "64px",
|
|
104
|
+
padding: p || "10px",
|
|
104
105
|
squareRatio: o === "avatar"
|
|
105
|
-
}, o === "avatar" && /* @__PURE__ */ r.createElement(
|
|
106
|
+
}, o === "avatar" && /* @__PURE__ */ r.createElement(F, {
|
|
106
107
|
node: t
|
|
107
108
|
}), o === "close" && /* @__PURE__ */ r.createElement(v, {
|
|
108
109
|
title: s,
|
|
@@ -110,7 +111,7 @@ const j = ({ node: e }) => {
|
|
|
110
111
|
onClick: () => {
|
|
111
112
|
m("close");
|
|
112
113
|
}
|
|
113
|
-
}, /* @__PURE__ */ r.createElement(
|
|
114
|
+
}, /* @__PURE__ */ r.createElement(Q, {
|
|
114
115
|
node: t
|
|
115
116
|
})), o === "minimize" && /* @__PURE__ */ r.createElement(v, {
|
|
116
117
|
title: s,
|
|
@@ -118,10 +119,10 @@ const j = ({ node: e }) => {
|
|
|
118
119
|
onClick: () => {
|
|
119
120
|
m("minimize");
|
|
120
121
|
}
|
|
121
|
-
}, /* @__PURE__ */ r.createElement(
|
|
122
|
+
}, /* @__PURE__ */ r.createElement(V, {
|
|
122
123
|
node: t
|
|
123
124
|
}))) : null;
|
|
124
|
-
}, w = c.div`
|
|
125
|
+
}, C = X, w = c.div`
|
|
125
126
|
flex: 1;
|
|
126
127
|
max-width: ${(e) => e.size};
|
|
127
128
|
${(e) => e.squareRatio && `max-height: ${e.size};`}
|
|
@@ -152,60 +153,57 @@ const j = ({ node: e }) => {
|
|
|
152
153
|
cursor: pointer;
|
|
153
154
|
padding: 0;
|
|
154
155
|
&:focus-visible {
|
|
155
|
-
${
|
|
156
|
+
${R};
|
|
156
157
|
border-color: ${(e) => {
|
|
157
158
|
var t, i;
|
|
158
159
|
return (i = (t = e.theme.accessibility) == null ? void 0 : t.colors) == null ? void 0 : i.inactiveText;
|
|
159
160
|
}};
|
|
160
161
|
}
|
|
161
|
-
`,
|
|
162
|
-
var
|
|
162
|
+
`, me = (i) => {
|
|
163
|
+
var n = i, { className: e } = n, t = $(n, ["className"]);
|
|
163
164
|
const {
|
|
164
165
|
header: m,
|
|
165
|
-
tagline:
|
|
166
|
-
route:
|
|
166
|
+
tagline: g,
|
|
167
|
+
route: p,
|
|
167
168
|
tooltip: o = "",
|
|
168
169
|
actions: s = {},
|
|
169
170
|
textAlign: b = "center"
|
|
170
171
|
} = q(), [y, d] = H(s);
|
|
171
|
-
return y.sort((
|
|
172
|
+
return y.sort((a, l) => (a.order || 0) - (l.order || 0)), d.sort((a, l) => (a.order || 0) - (l.order || 0)), /* @__PURE__ */ r.createElement(Y, N(u({}, t), {
|
|
172
173
|
className: D(e, "humany-widget-header")
|
|
173
|
-
}), y.map((
|
|
174
|
-
key: `${
|
|
175
|
-
},
|
|
174
|
+
}), y.map((a, l) => /* @__PURE__ */ r.createElement(C, u({
|
|
175
|
+
key: `${a.type}+_${l}`
|
|
176
|
+
}, a))), /* @__PURE__ */ r.createElement(ee, {
|
|
176
177
|
textAlign: b,
|
|
177
178
|
margin: P(y, d, b)
|
|
178
|
-
},
|
|
179
|
-
routeName:
|
|
179
|
+
}, p ? /* @__PURE__ */ r.createElement(te, {
|
|
180
|
+
routeName: p,
|
|
180
181
|
title: o,
|
|
181
182
|
"aria-label": o
|
|
182
183
|
}, /* @__PURE__ */ r.createElement(S, {
|
|
183
184
|
variant: "h1"
|
|
184
185
|
}, m)) : /* @__PURE__ */ r.createElement(S, {
|
|
185
186
|
variant: "h1"
|
|
186
|
-
}, m),
|
|
187
|
-
key: `${
|
|
188
|
-
},
|
|
189
|
-
},
|
|
187
|
+
}, m), g && /* @__PURE__ */ r.createElement(Z, null, g)), d.map((a, l) => /* @__PURE__ */ r.createElement(C, u({
|
|
188
|
+
key: `${a.type}+_${l}`
|
|
189
|
+
}, a))));
|
|
190
|
+
}, Y = c.div`
|
|
190
191
|
display: flex;
|
|
191
192
|
flex-direction: row;
|
|
192
193
|
align-items: center;
|
|
193
194
|
|
|
194
|
-
${
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}};
|
|
207
|
-
`
|
|
208
|
-
)}
|
|
195
|
+
${(e) => {
|
|
196
|
+
var t, i;
|
|
197
|
+
return T(e)(
|
|
198
|
+
"h1",
|
|
199
|
+
x`
|
|
200
|
+
font-size: ${(t = e.theme.fonts) == null ? void 0 : t.huge};
|
|
201
|
+
margin: 0;
|
|
202
|
+
font-weight: 300;
|
|
203
|
+
color: ${(i = e.theme.colors) == null ? void 0 : i.text};
|
|
204
|
+
`
|
|
205
|
+
);
|
|
206
|
+
}}
|
|
209
207
|
|
|
210
208
|
p {
|
|
211
209
|
color: ${(e) => {
|
|
@@ -225,31 +223,31 @@ const j = ({ node: e }) => {
|
|
|
225
223
|
}};
|
|
226
224
|
}
|
|
227
225
|
}
|
|
228
|
-
`,
|
|
226
|
+
`, Z = c.p`
|
|
229
227
|
font-size: ${(e) => {
|
|
230
228
|
var t;
|
|
231
229
|
return (t = e.theme.fonts) == null ? void 0 : t.normal;
|
|
232
230
|
}};
|
|
233
231
|
font-weight: 300;
|
|
234
|
-
`,
|
|
232
|
+
`, ee = c.div`
|
|
235
233
|
flex: 1;
|
|
236
234
|
text-align: ${(e) => e.textAlign};
|
|
237
235
|
|
|
238
236
|
margin-right: ${(e) => e.margin.right || 0};
|
|
239
237
|
margin-left: ${(e) => e.margin.left || 0};
|
|
240
|
-
`,
|
|
238
|
+
`, te = c(L)`
|
|
241
239
|
text-decoration: none;
|
|
242
240
|
&:focus-visible {
|
|
243
|
-
${T(
|
|
241
|
+
${(e) => T(e)(
|
|
244
242
|
"h1",
|
|
245
243
|
x`
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
244
|
+
${_(e)}
|
|
245
|
+
display: inline-block;
|
|
246
|
+
`
|
|
249
247
|
)}
|
|
250
248
|
}
|
|
251
249
|
`;
|
|
252
250
|
export {
|
|
253
|
-
|
|
251
|
+
me as default
|
|
254
252
|
};
|
|
255
|
-
//# sourceMappingURL=widget-header.
|
|
253
|
+
//# sourceMappingURL=widget-header.df39afa7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-header.df39afa7.js","sources":["../src/avatar.tsx","../src/back.tsx","../src/close.tsx","../src/minimize.tsx","../src/node.tsx","../src/widget-header.tsx"],"sourcesContent":["import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport { SymbolBadge } from '@telia-ace/widget-ui';\nimport React from 'react';\nimport { ActionNode } from './widget-header-component';\n\ntype Props = { node: ActionNode };\nconst Avatar: React.FC<Props> = ({ node }) => {\n if (!node.symbol) {\n return null;\n }\n\n let size;\n const isSvg = node.symbol.type === 'Svg';\n if (node.symbol.type === 'Svg') {\n const sizeNumber = parseInt(node.size, 10);\n\n if (!isNaN(sizeNumber)) {\n size = sizeNumber;\n }\n }\n\n return <Wrapper symbol={node.symbol} svg={isSvg} size={size} backgroundSize=\"cover\" />;\n};\n\nexport default Avatar;\n\nconst Wrapper = styled(({ svg, ...other }: any) => <SymbolBadge {...other} />)`\n color: ${(p) => p.theme.colors?.text};\n ${(p) =>\n !p.svg &&\n css`\n border-radius: 50%;\n overflow: hidden;\n `}\n`;\n","import { SymbolBadge } from '@telia-ace/widget-ui';\nimport React from 'react';\nimport { ActionNode } from './widget-header-component';\n\ntype Props = {\n node: ActionNode;\n};\nconst Back: React.FC<Props> = ({ node }) => {\n const symbol = node.symbol || { type: 'Svg', content: 'back' };\n return <SymbolBadge size={20} symbol={symbol} />;\n};\n\nexport default Back;\n","import { SymbolBadge } from '@telia-ace/widget-ui';\nimport React from 'react';\nimport { ActionNode } from './widget-header-component';\n\ntype Props = {\n node: ActionNode;\n};\nconst Close: React.FC<Props> = ({ node }) => {\n const symbol = node.symbol || { type: 'Svg', content: 'close' };\n const size = parseInt(node?.size, 10) || 14;\n return <SymbolBadge size={size} symbol={symbol} />;\n};\n\nexport default Close;\n","import { SymbolBadge } from '@telia-ace/widget-ui';\nimport React from 'react';\nimport { ActionNode } from './widget-header-component';\n\ntype Props = {\n node: ActionNode;\n};\nconst Minimize: React.FC<Props> = ({ node }) => {\n const symbol = node.symbol || { type: 'Svg', content: 'minimize' };\n const size = parseInt(node?.size, 10) || 20;\n return <SymbolBadge size={size} symbol={symbol} />;\n};\n\nexport default Minimize;\n","import styled from '@emotion/styled';\nimport { borderTabStyle, TransitionComponent, useDispatch } from '@telia-ace/widget-ui';\nimport React from 'react';\nimport Avatar from './avatar';\nimport Back from './back';\nimport Close from './close';\nimport Minimize from './minimize';\nimport { ActionNode } from './widget-header-component';\n\ntype Props = Merge<\n ActionNode,\n {\n className?: string;\n }\n>;\n\nconst Node: React.FC<Props> = ({ className = '', ...node }) => {\n const dispatch = useDispatch();\n\n const { size, padding, type, tooltip, show = true } = node;\n\n if (type === 'back') {\n return (\n <NodeWrapper size={size || '64px'} padding={padding || '10px'}>\n <TransitionComponent\n in={show}\n timeout={300}\n transitions={{\n enter: {\n type: 'scale',\n easing: 'cubic-bezier(.08,.84,.74,1.84)',\n },\n exit: {\n type: 'scale',\n easing: 'ease-out',\n },\n }}\n >\n {(state: any, css: any) => (\n <ActionButton\n title={tooltip}\n aria-label={tooltip}\n animationCss={css}\n onClick={() => {\n dispatch('back');\n }}\n >\n <Back node={node} />\n </ActionButton>\n )}\n </TransitionComponent>\n </NodeWrapper>\n );\n }\n\n if (!show) {\n return null;\n }\n\n return (\n <NodeWrapper\n size={size || '64px'}\n padding={padding || '10px'}\n squareRatio={type === 'avatar'}\n >\n {type === 'avatar' && <Avatar node={node} />}\n {type === 'close' && (\n <ActionButton\n title={tooltip}\n aria-label={tooltip}\n onClick={() => {\n dispatch('close');\n }}\n >\n <Close node={node} />\n </ActionButton>\n )}\n {type === 'minimize' && (\n <ActionButton\n title={tooltip}\n aria-label={tooltip}\n onClick={() => {\n dispatch('minimize');\n }}\n >\n <Minimize node={node} />\n </ActionButton>\n )}\n </NodeWrapper>\n );\n};\n\nexport default Node;\n\nconst NodeWrapper = styled.div<{ size: string; padding: string; squareRatio?: boolean }>`\n flex: 1;\n max-width: ${(p) => p.size};\n ${(p) => p.squareRatio && `max-height: ${p.size};`}\n text-align: center;\n padding: 0 ${(p) => p.padding};\n && {\n box-sizing: content-box;\n }\n\n svg {\n vertical-align: middle;\n }\n\n i {\n color: ${(p) => p.theme.colors?.text};\n font-size: ${(p) => p.size};\n min-width: 1em;\n min-height: 1em;\n display: inline-block;\n }\n`;\nconst ActionButton = styled.button<any>`\n ${(p) => !!p.animationCss && p.animationCss};\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n &:focus-visible {\n ${borderTabStyle};\n border-color: ${(p) => p.theme.accessibility?.colors?.inactiveText};\n }\n`;\n","import { css } from '@emotion/react';\nimport styled from '@emotion/styled';\nimport {\n headingElement,\n Link,\n linkTabStyle,\n Typography,\n useProperties,\n} from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport Node from './node';\nimport { calculateMargin, createNodes } from './utils';\nimport { WidgetHeaderComponentProps } from './widget-header-component';\n\ntype Props = {\n className: string;\n role?: string;\n};\n\nconst WidgetHeader: React.FC<Props> = ({ className, ...other }) => {\n const {\n header,\n tagline,\n route,\n tooltip = '',\n actions = {},\n textAlign = 'center',\n } = useProperties<WidgetHeaderComponentProps>();\n\n const [leftNodes, rightNodes] = createNodes(actions);\n leftNodes.sort((a, b) => (a.order || 0) - (b.order || 0));\n rightNodes.sort((a, b) => (a.order || 0) - (b.order || 0));\n return (\n <Wrapper {...other} className={appendClassNames(className, 'humany-widget-header')}>\n {leftNodes.map((node, key) => (\n <Node key={`${node.type}+_${key}`} {...node} />\n ))}\n\n <MainNode\n textAlign={textAlign}\n margin={calculateMargin(leftNodes, rightNodes, textAlign)}\n >\n {route ? (\n <StyledLink routeName={route} title={tooltip} aria-label={tooltip}>\n <Typography variant=\"h1\">{header}</Typography>\n </StyledLink>\n ) : (\n <Typography variant=\"h1\">{header}</Typography>\n )}\n {tagline && <Tagline>{tagline}</Tagline>}\n </MainNode>\n\n {rightNodes.map((node, key) => (\n <Node key={`${node.type}+_${key}`} {...node} />\n ))}\n </Wrapper>\n );\n};\n\nexport default WidgetHeader;\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ${(p) =>\n headingElement(p)(\n 'h1',\n css`\n font-size: ${p.theme.fonts?.huge};\n margin: 0;\n font-weight: 300;\n color: ${p.theme.colors?.text};\n `\n )}\n\n p {\n color: ${(p) => p.theme.colors?.text};\n margin: 0;\n }\n\n svg {\n line,\n path,\n circle {\n stroke: ${(p) => p.theme.colors?.text};\n }\n }\n`;\n\nconst Tagline = styled.p`\n font-size: ${(p) => p.theme.fonts?.normal};\n font-weight: 300;\n`;\n\nconst MainNode = styled.div<{\n textAlign: string;\n margin: { left?: string; right?: string };\n}>`\n flex: 1;\n text-align: ${(p) => p.textAlign};\n\n margin-right: ${(p) => p.margin.right || 0};\n margin-left: ${(p) => p.margin.left || 0};\n`;\n\nconst StyledLink = styled(Link)<any>`\n text-decoration: none;\n &:focus-visible {\n ${(p) =>\n headingElement(p)(\n 'h1',\n css`\n ${linkTabStyle(p)}\n display: inline-block;\n `\n )}\n }\n`;\n"],"names":["Avatar","node","size","isSvg","sizeNumber","React","Wrapper","Avatar$1","styled","_a","_b","svg","other","__objRest","SymbolBadge","__spreadValues","p","css","Back","symbol","Back$1","Close","Close$1","Minimize","Minimize$1","Node","className","dispatch","useDispatch","padding","type","tooltip","show","NodeWrapper","TransitionComponent","state","ActionButton","Node$1","borderTabStyle","WidgetHeader","header","tagline","route","actions","textAlign","useProperties","leftNodes","rightNodes","createNodes","b","__spreadProps","appendClassNames","key","MainNode","calculateMargin","StyledLink","Typography","Tagline","headingElement","Link","linkTabStyle"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telia-ace/widget-components-widget-header",
|
|
3
|
-
"version": "1.0.19-next.
|
|
3
|
+
"version": "1.0.19-next.4",
|
|
4
4
|
"description": "Widget header component for ACE Widgets.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"author": "Telia Company AB",
|
|
@@ -33,13 +33,17 @@
|
|
|
33
33
|
"@webprovisions/platform": "^1.1.2"
|
|
34
34
|
},
|
|
35
35
|
"peerDependencies": {
|
|
36
|
+
"@emotion/react": "^11.10.4",
|
|
37
|
+
"@emotion/styled": "^11.10.4",
|
|
36
38
|
"react": "^18.2.0",
|
|
37
|
-
"react-dom": "^18.2.0"
|
|
38
|
-
"styled-components": "^5.3.6"
|
|
39
|
+
"react-dom": "^18.2.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
42
|
+
"@emotion/react": "^11.10.4",
|
|
43
|
+
"@emotion/styled": "^11.10.4",
|
|
41
44
|
"@types/react-dom": "^18.0.6",
|
|
42
|
-
"
|
|
45
|
+
"react": "^18.2.0",
|
|
46
|
+
"react-dom": "^18.2.0"
|
|
43
47
|
},
|
|
44
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "eceba39c106d39bcb0064769bb5406db88771686"
|
|
45
49
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"widget-header.ba71fd3f.js","sources":["../src/avatar.tsx","../src/back.tsx","../src/close.tsx","../src/minimize.tsx","../src/node.tsx","../src/widget-header.tsx"],"sourcesContent":["import { SymbolBadge } from '@telia-ace/widget-ui';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { ActionNode } from './widget-header-component';\n\ntype Props = { node: ActionNode };\nconst Avatar: React.FC<Props> = ({ node }) => {\n if (!node.symbol) {\n return null;\n }\n\n let size;\n const isSvg = node.symbol.type === 'Svg';\n if (node.symbol.type === 'Svg') {\n const sizeNumber = parseInt(node.size, 10);\n\n if (!isNaN(sizeNumber)) {\n size = sizeNumber;\n }\n }\n\n return <Wrapper symbol={node.symbol} svg={isSvg} size={size} backgroundSize=\"cover\" />;\n};\n\nexport default Avatar;\n\nconst Wrapper = styled(({ svg, ...other }) => <SymbolBadge {...other} />)`\n color: ${(p) => p.theme.colors?.text};\n ${(p) =>\n !p.svg &&\n css`\n border-radius: 50%;\n overflow: hidden;\n `}\n`;\n","import { SymbolBadge } from '@telia-ace/widget-ui';\nimport React from 'react';\nimport { ActionNode } from './widget-header-component';\n\ntype Props = {\n node: ActionNode;\n};\nconst Back: React.FC<Props> = ({ node }) => {\n const symbol = node.symbol || { type: 'Svg', content: 'back' };\n return <SymbolBadge size={20} symbol={symbol} />;\n};\n\nexport default Back;\n","import { SymbolBadge } from '@telia-ace/widget-ui';\nimport React from 'react';\nimport { ActionNode } from './widget-header-component';\n\ntype Props = {\n node: ActionNode;\n};\nconst Close: React.FC<Props> = ({ node }) => {\n const symbol = node.symbol || { type: 'Svg', content: 'close' };\n const size = parseInt(node?.size, 10) || 14;\n return <SymbolBadge size={size} symbol={symbol} />;\n};\n\nexport default Close;\n","import { SymbolBadge } from '@telia-ace/widget-ui';\nimport React from 'react';\nimport { ActionNode } from './widget-header-component';\n\ntype Props = {\n node: ActionNode;\n};\nconst Minimize: React.FC<Props> = ({ node }) => {\n const symbol = node.symbol || { type: 'Svg', content: 'minimize' };\n const size = parseInt(node?.size, 10) || 20;\n return <SymbolBadge size={size} symbol={symbol} />;\n};\n\nexport default Minimize;\n","import { borderTabStyle, TransitionComponent, useDispatch } from '@telia-ace/widget-ui';\nimport React from 'react';\nimport styled from 'styled-components';\nimport Avatar from './avatar';\nimport Back from './back';\nimport Close from './close';\nimport Minimize from './minimize';\nimport { ActionNode } from './widget-header-component';\n\ntype Props = Merge<\n ActionNode,\n {\n className?: string;\n }\n>;\n\nconst Node: React.FC<Props> = ({ className = '', ...node }) => {\n const dispatch = useDispatch();\n\n const { size, padding, type, tooltip, show = true } = node;\n\n if (type === 'back') {\n return (\n <NodeWrapper size={size || '64px'} padding={padding || '10px'}>\n <TransitionComponent\n in={show}\n timeout={300}\n transitions={{\n enter: {\n type: 'scale',\n easing: 'cubic-bezier(.08,.84,.74,1.84)',\n },\n exit: {\n type: 'scale',\n easing: 'ease-out',\n },\n }}\n >\n {(state: any, css: any) => (\n <ActionButton\n title={tooltip}\n aria-label={tooltip}\n animationCss={css}\n onClick={() => {\n dispatch('back');\n }}\n >\n <Back node={node} />\n </ActionButton>\n )}\n </TransitionComponent>\n </NodeWrapper>\n );\n }\n\n if (!show) {\n return null;\n }\n\n return (\n <NodeWrapper\n size={size || '64px'}\n padding={padding || '10px'}\n squareRatio={type === 'avatar'}\n >\n {type === 'avatar' && <Avatar node={node} />}\n {type === 'close' && (\n <ActionButton\n title={tooltip}\n aria-label={tooltip}\n onClick={() => {\n dispatch('close');\n }}\n >\n <Close node={node} />\n </ActionButton>\n )}\n {type === 'minimize' && (\n <ActionButton\n title={tooltip}\n aria-label={tooltip}\n onClick={() => {\n dispatch('minimize');\n }}\n >\n <Minimize node={node} />\n </ActionButton>\n )}\n </NodeWrapper>\n );\n};\n\nexport default Node;\n\nconst NodeWrapper = styled.div<{ size: string; padding: string; squareRatio?: boolean }>`\n flex: 1;\n max-width: ${(p) => p.size};\n ${(p) => p.squareRatio && `max-height: ${p.size};`}\n text-align: center;\n padding: 0 ${(p) => p.padding};\n && {\n box-sizing: content-box;\n }\n\n svg {\n vertical-align: middle;\n }\n\n i {\n color: ${(p) => p.theme.colors?.text};\n font-size: ${(p) => p.size};\n min-width: 1em;\n min-height: 1em;\n display: inline-block;\n }\n`;\nconst ActionButton = styled.button<any>`\n ${(p) => !!p.animationCss && p.animationCss};\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n &:focus-visible {\n ${borderTabStyle};\n border-color: ${(p) => p.theme.accessibility?.colors?.inactiveText};\n }\n`;\n","import {\n headingElement,\n Link,\n linkTabStyle,\n Typography,\n useProperties,\n} from '@telia-ace/widget-ui';\nimport { appendClassNames } from '@telia-ace/widget-utilities';\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport Node from './node';\nimport { calculateMargin, createNodes } from './utils';\nimport { WidgetHeaderComponentProps } from './widget-header-component';\n\ntype Props = {\n className: string;\n role?: string;\n};\n\nconst WidgetHeader: React.FC<Props> = ({ className, ...other }) => {\n const {\n header,\n tagline,\n route,\n tooltip = '',\n actions = {},\n textAlign = 'center',\n } = useProperties<WidgetHeaderComponentProps>();\n\n const [leftNodes, rightNodes] = createNodes(actions);\n leftNodes.sort((a, b) => (a.order || 0) - (b.order || 0));\n rightNodes.sort((a, b) => (a.order || 0) - (b.order || 0));\n return (\n <Wrapper {...other} className={appendClassNames(className, 'humany-widget-header')}>\n {leftNodes.map((node, key) => (\n <Node key={`${node.type}+_${key}`} {...node} />\n ))}\n\n <MainNode\n textAlign={textAlign}\n margin={calculateMargin(leftNodes, rightNodes, textAlign)}\n >\n {route ? (\n <StyledLink routeName={route} title={tooltip} aria-label={tooltip}>\n <Typography variant=\"h1\">{header}</Typography>\n </StyledLink>\n ) : (\n <Typography variant=\"h1\">{header}</Typography>\n )}\n {tagline && <Tagline>{tagline}</Tagline>}\n </MainNode>\n\n {rightNodes.map((node, key) => (\n <Node key={`${node.type}+_${key}`} {...node} />\n ))}\n </Wrapper>\n );\n};\n\nexport default WidgetHeader;\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ${headingElement(\n 'h1',\n css`\n font-size: ${(p) => p.theme.fonts?.huge};\n margin: 0;\n font-weight: 300;\n color: ${(p) => p.theme.colors?.text};\n `\n )}\n\n p {\n color: ${(p) => p.theme.colors?.text};\n margin: 0;\n }\n\n svg {\n line,\n path,\n circle {\n stroke: ${(p) => p.theme.colors?.text};\n }\n }\n`;\n\nconst Tagline = styled.p`\n font-size: ${(p) => p.theme.fonts?.normal};\n font-weight: 300;\n`;\n\nconst MainNode = styled.div<{\n textAlign: string;\n margin: { left?: string; right?: string };\n}>`\n flex: 1;\n text-align: ${(p) => p.textAlign};\n\n margin-right: ${(p) => p.margin.right || 0};\n margin-left: ${(p) => p.margin.left || 0};\n`;\n\nconst StyledLink = styled(Link)<any>`\n text-decoration: none;\n &:focus-visible {\n ${headingElement(\n 'h1',\n css`\n ${linkTabStyle}\n display: inline-block;\n `\n )}\n }\n`;\n"],"names":["Avatar","node","size","isSvg","sizeNumber","React","Wrapper","styled","_a","_b","svg","other","__objRest","SymbolBadge","__spreadValues","p","css","Back","symbol","Close","Minimize","Node","className","dispatch","useDispatch","padding","type","tooltip","show","NodeWrapper","TransitionComponent","state","ActionButton","borderTabStyle","WidgetHeader","header","tagline","route","actions","textAlign","useProperties","leftNodes","rightNodes","createNodes","a","b","__spreadProps","appendClassNames","key","MainNode","calculateMargin","StyledLink","Typography","Tagline","headingElement","Link","linkTabStyle"],"mappings":"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"}
|