@telefonica/mistica 16.4.0 → 16.6.0
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/css/mistica.css +1 -1
- package/css/vivo-new.css +11 -11
- package/dist/accordion.css-mistica.js +16 -13
- package/dist/accordion.css.d.ts +1 -0
- package/dist/accordion.d.ts +4 -0
- package/dist/accordion.js +110 -93
- package/dist/callout.js +27 -15
- package/dist/card.css-mistica.js +5 -5
- package/dist/card.d.ts +9 -1
- package/dist/card.js +611 -475
- package/dist/community/advanced-data-card.css-mistica.js +14 -11
- package/dist/community/advanced-data-card.css.d.ts +1 -0
- package/dist/community/advanced-data-card.d.ts +1 -1
- package/dist/community/advanced-data-card.js +172 -85
- package/dist/cover-hero.css-mistica.js +14 -11
- package/dist/cover-hero.css.d.ts +1 -0
- package/dist/cover-hero.d.ts +1 -0
- package/dist/cover-hero.js +101 -59
- package/dist/empty-state.js +24 -15
- package/dist/header.css-mistica.js +6 -3
- package/dist/header.css.d.ts +1 -0
- package/dist/header.d.ts +3 -2
- package/dist/header.js +148 -79
- package/dist/hero.css-mistica.js +11 -8
- package/dist/hero.css.d.ts +1 -0
- package/dist/hero.d.ts +2 -1
- package/dist/hero.js +102 -68
- package/dist/highlighted-card.js +32 -23
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -0
- package/dist/maybe-dismissable.js +8 -5
- package/dist/meter.d.ts +23 -0
- package/dist/meter.js +400 -0
- package/dist/mosaic.d.ts +6 -2
- package/dist/mosaic.js +50 -48
- package/dist/navigation-bar.css-mistica.js +96 -37
- package/dist/navigation-bar.css.d.ts +27 -1
- package/dist/navigation-bar.d.ts +65 -30
- package/dist/navigation-bar.js +818 -193
- package/dist/package-version.js +1 -1
- package/dist/sheet-common.css-mistica.js +16 -10
- package/dist/sheet-common.css.d.ts +3 -1
- package/dist/sheet-common.js +78 -70
- package/dist/sheet-info.css-mistica.js +15 -4
- package/dist/sheet-info.css.d.ts +2 -0
- package/dist/sheet-info.d.ts +3 -0
- package/dist/sheet-info.js +61 -43
- package/dist/sheet-native.js +59 -48
- package/dist/sheet-types.d.ts +6 -1
- package/dist/sheet-web.js +6 -4
- package/dist/skins/blau.js +94 -94
- package/dist/skins/movistar.js +94 -94
- package/dist/skins/o2-new.js +94 -94
- package/dist/skins/o2.js +94 -94
- package/dist/skins/telefonica.js +94 -94
- package/dist/skins/tu.js +94 -94
- package/dist/skins/vivo-new.js +98 -98
- package/dist/skins/vivo.js +94 -94
- package/dist/text-tokens.d.ts +14 -0
- package/dist/text-tokens.js +134 -102
- package/dist/theme-context-provider.js +60 -50
- package/dist/theme.d.ts +3 -2
- package/dist/theme.js +20 -17
- package/dist/utils/headings.d.ts +2 -0
- package/dist/utils/headings.js +11 -0
- package/dist/utils/types.d.ts +1 -0
- package/dist-es/accordion.css-mistica.js +7 -7
- package/dist-es/accordion.js +140 -123
- package/dist-es/callout.js +55 -43
- package/dist-es/card.css-mistica.js +2 -2
- package/dist-es/card.js +721 -588
- package/dist-es/community/advanced-data-card.css-mistica.js +3 -3
- package/dist-es/community/advanced-data-card.js +217 -130
- package/dist-es/cover-hero.css-mistica.js +3 -3
- package/dist-es/cover-hero.js +132 -90
- package/dist-es/empty-state.js +40 -31
- package/dist-es/header.css-mistica.js +2 -2
- package/dist-es/header.js +174 -104
- package/dist-es/hero.css-mistica.js +2 -2
- package/dist-es/hero.js +150 -115
- package/dist-es/highlighted-card.js +36 -27
- package/dist-es/index.js +1839 -1838
- package/dist-es/maybe-dismissable.js +17 -14
- package/dist-es/meter.js +346 -0
- package/dist-es/mosaic.js +73 -71
- package/dist-es/navigation-bar.css-mistica.js +14 -15
- package/dist-es/navigation-bar.js +864 -240
- package/dist-es/package-version.js +1 -1
- package/dist-es/sheet-common.css-mistica.js +2 -2
- package/dist-es/sheet-common.js +124 -116
- package/dist-es/sheet-info.css-mistica.js +2 -2
- package/dist-es/sheet-info.js +74 -56
- package/dist-es/sheet-native.js +59 -48
- package/dist-es/sheet-web.js +10 -8
- package/dist-es/skins/blau.js +94 -94
- package/dist-es/skins/movistar.js +94 -94
- package/dist-es/skins/o2-new.js +94 -94
- package/dist-es/skins/o2.js +94 -94
- package/dist-es/skins/telefonica.js +94 -94
- package/dist-es/skins/tu.js +94 -94
- package/dist-es/skins/vivo-new.js +98 -98
- package/dist-es/skins/vivo.js +94 -94
- package/dist-es/style.css +1 -1
- package/dist-es/text-tokens.js +72 -52
- package/dist-es/theme-context-provider.js +88 -78
- package/dist-es/theme.js +20 -20
- package/dist-es/utils/headings.js +2 -0
- package/package.json +2 -1
package/dist/meter.js
ADDED
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function() {
|
|
9
|
+
return Zt;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
const _jsxruntime = require("react/jsx-runtime");
|
|
13
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
14
|
+
const _skincontractcssmistica = require("./skins/skin-contract.css-mistica.js");
|
|
15
|
+
const _cubicbezier = /*#__PURE__*/ _interop_require_default(require("cubic-bezier"));
|
|
16
|
+
const _dom = require("./utils/dom.js");
|
|
17
|
+
const _themevariantcontext = require("./theme-variant-context.js");
|
|
18
|
+
const _hooks = require("./hooks.js");
|
|
19
|
+
const _texttokens = require("./text-tokens.js");
|
|
20
|
+
const _platform = require("./utils/platform.js");
|
|
21
|
+
function _interop_require_default(obj) {
|
|
22
|
+
return obj && obj.__esModule ? obj : {
|
|
23
|
+
default: obj
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
27
|
+
if (typeof WeakMap !== "function") return null;
|
|
28
|
+
var cacheBabelInterop = new WeakMap();
|
|
29
|
+
var cacheNodeInterop = new WeakMap();
|
|
30
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
31
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
32
|
+
})(nodeInterop);
|
|
33
|
+
}
|
|
34
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
35
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
36
|
+
return obj;
|
|
37
|
+
}
|
|
38
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
39
|
+
return {
|
|
40
|
+
default: obj
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
44
|
+
if (cache && cache.has(obj)) {
|
|
45
|
+
return cache.get(obj);
|
|
46
|
+
}
|
|
47
|
+
var newObj = {
|
|
48
|
+
__proto__: null
|
|
49
|
+
};
|
|
50
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
51
|
+
for(var key in obj){
|
|
52
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
53
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
54
|
+
if (desc && (desc.get || desc.set)) {
|
|
55
|
+
Object.defineProperty(newObj, key, desc);
|
|
56
|
+
} else {
|
|
57
|
+
newObj[key] = obj[key];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
newObj.default = obj;
|
|
62
|
+
if (cache) {
|
|
63
|
+
cache.set(obj, newObj);
|
|
64
|
+
}
|
|
65
|
+
return newObj;
|
|
66
|
+
}
|
|
67
|
+
function _define_property(obj, key, value) {
|
|
68
|
+
if (key in obj) {
|
|
69
|
+
Object.defineProperty(obj, key, {
|
|
70
|
+
value: value,
|
|
71
|
+
enumerable: true,
|
|
72
|
+
configurable: true,
|
|
73
|
+
writable: true
|
|
74
|
+
});
|
|
75
|
+
} else {
|
|
76
|
+
obj[key] = value;
|
|
77
|
+
}
|
|
78
|
+
return obj;
|
|
79
|
+
}
|
|
80
|
+
function _object_spread(target) {
|
|
81
|
+
for(var i = 1; i < arguments.length; i++){
|
|
82
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
83
|
+
var ownKeys = Object.keys(source);
|
|
84
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
85
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
86
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
ownKeys.forEach(function(key) {
|
|
90
|
+
_define_property(target, key, source[key]);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return target;
|
|
94
|
+
}
|
|
95
|
+
function ownKeys(object, enumerableOnly) {
|
|
96
|
+
var keys = Object.keys(object);
|
|
97
|
+
if (Object.getOwnPropertySymbols) {
|
|
98
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
99
|
+
if (enumerableOnly) {
|
|
100
|
+
symbols = symbols.filter(function(sym) {
|
|
101
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
keys.push.apply(keys, symbols);
|
|
105
|
+
}
|
|
106
|
+
return keys;
|
|
107
|
+
}
|
|
108
|
+
function _object_spread_props(target, source) {
|
|
109
|
+
source = source != null ? source : {};
|
|
110
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
111
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
112
|
+
} else {
|
|
113
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
114
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return target;
|
|
118
|
+
}
|
|
119
|
+
const A = 100, J = A / 2, ft = A / 2, Q = 6, wt = 2, gt = 200, tt = 1e3, Nt = 1e3 / 60 / tt / 4, Ct = 100, D = 1e-4, R = "linear", Ot = "angular", r = "circular", pt = [
|
|
120
|
+
_skincontractcssmistica.vars.colors.controlActivated,
|
|
121
|
+
_skincontractcssmistica.vars.colors.warning,
|
|
122
|
+
_skincontractcssmistica.vars.colors.success,
|
|
123
|
+
_skincontractcssmistica.vars.colors.highlight,
|
|
124
|
+
_skincontractcssmistica.vars.colors.promo
|
|
125
|
+
], Ft = [
|
|
126
|
+
_skincontractcssmistica.vars.colors.controlActivatedInverse,
|
|
127
|
+
_skincontractcssmistica.vars.colors.warning,
|
|
128
|
+
_skincontractcssmistica.vars.colors.success,
|
|
129
|
+
_skincontractcssmistica.vars.colors.highlight,
|
|
130
|
+
_skincontractcssmistica.vars.colors.promo
|
|
131
|
+
], Ut = (0, _cubicbezier.default)(0.75, 0, 0.27, 1, Nt), W = (t, n, $)=>Math.min(Math.max(t, n), $), kt = (t, n, $, M)=>{
|
|
132
|
+
var O;
|
|
133
|
+
const s = [];
|
|
134
|
+
let b = 0, S = 0;
|
|
135
|
+
for(let h = 0; h < t.length; h++){
|
|
136
|
+
b += t[h], S += n[h];
|
|
137
|
+
const G = gt * (M ? h : t.length - 1 - h), V = W(($ - G) / tt, 0, 1), Z = W(Ut(V), 0, 1), X = ((O = s.at(-1)) == null ? void 0 : O.end) || 0, u = W(b + (S - b) * Z, 0, 1 - D);
|
|
138
|
+
s.push({
|
|
139
|
+
start: X,
|
|
140
|
+
end: u
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return s;
|
|
144
|
+
}, C = (param)=>{
|
|
145
|
+
let { x1: t, y1: n, x2: $, y2: M, radius: s, clockwise: b = 1, largeArchFlag: S = 0 } = param;
|
|
146
|
+
return s ? `M ${t} ${n} A ${s} ${s} 0 ${+S} ${+b} ${$} ${M}` : `M ${t} ${n} L ${$} ${M}`;
|
|
147
|
+
}, Dt = (param)=>{
|
|
148
|
+
let { type: t = Ot, width: n = "100%", colors: $, values: M, reverse: s = !1, dataAttributes: b, "aria-hidden": S = !1, "aria-label": O, "aria-labelledby": h } = param;
|
|
149
|
+
const { borderRadii: G, t: V } = (0, _hooks.useTheme)(), { ref: Z, width: X } = (0, _hooks.useElementDimensions)(), u = parseInt(G.bar) !== 0, et = (0, _themevariantcontext.useThemeVariant)(), q = et === "media", rt = et === "inverse", nt = $ || (rt || q ? Ft : pt), [p, ot] = _react.useState(typeof n == "number" ? n : 0), z = p === 0 ? 1 : A / p, at = u ? Q / 2 : 0, Y = at * z, i = Q * z, c = t === R ? 0 : J - i / 2, T = wt * z, H = _react.useId(), st = `marker-current-${H}`, it = `marker-start-${H}`, ct = `mask-last-segment-${H}`, lt = `mask-bar-track-${H}`, dt = _react.useMemo(()=>window.matchMedia("(prefers-reduced-motion: reduce)").matches !== !0 && !(0, _platform.isRunningAcceptanceTest)(), []), L = t === R ? A - Y * 2 : t === r ? Math.PI * 2 : Math.PI, l = t === R ? T / A : T / c / L, xt = t === R ? Q : t === r ? p : p / 2 + at, K = t === R ? i : t === r ? A : J + Y, At = q ? _skincontractcssmistica.vars.colors.inverse : rt ? _skincontractcssmistica.vars.colors.barTrackInverse : _skincontractcssmistica.vars.colors.barTrack, f = _react.useMemo(()=>M.map((e)=>e / Ct), [
|
|
150
|
+
M
|
|
151
|
+
]), P = _react.useRef(Array.from({
|
|
152
|
+
length: f.length
|
|
153
|
+
}, ()=>s ? 1 : 0)), [_, $t] = _react.useState(()=>f.map(()=>({
|
|
154
|
+
start: 0,
|
|
155
|
+
end: 0
|
|
156
|
+
})));
|
|
157
|
+
let v = -1, B = -1;
|
|
158
|
+
for(let e = 0; e < _.length; e++)_[e].end - _[e].start > D && (v < 0 && (v = e), B = e);
|
|
159
|
+
const d = _.at(-1);
|
|
160
|
+
_react.useEffect(()=>{
|
|
161
|
+
ot(typeof n == "number" ? n : X);
|
|
162
|
+
}, [
|
|
163
|
+
n,
|
|
164
|
+
X
|
|
165
|
+
]), _react.useEffect(()=>{
|
|
166
|
+
let e;
|
|
167
|
+
const I = performance.now(), w = I + tt + gt * (f.length - 1);
|
|
168
|
+
let N = [];
|
|
169
|
+
const U = ()=>{
|
|
170
|
+
const x = performance.now();
|
|
171
|
+
N = kt(P.current, f, x - I, s), dt && x < w ? e = requestAnimationFrame(U) : (N = kt(P.current, f, w - I, s), P.current = f), $t(N);
|
|
172
|
+
};
|
|
173
|
+
return U(), ()=>{
|
|
174
|
+
cancelAnimationFrame(e), P.current = N.map((x)=>x.end - x.start);
|
|
175
|
+
};
|
|
176
|
+
}, [
|
|
177
|
+
c,
|
|
178
|
+
f,
|
|
179
|
+
t,
|
|
180
|
+
s,
|
|
181
|
+
dt
|
|
182
|
+
]);
|
|
183
|
+
const k = _react.useCallback((e)=>t === R ? Y + L * e : J - c * Math.cos(e * L), [
|
|
184
|
+
Y,
|
|
185
|
+
L,
|
|
186
|
+
c,
|
|
187
|
+
t
|
|
188
|
+
]), g = _react.useCallback((e)=>t === R ? i / 2 : ft - c * Math.sin(e * L), [
|
|
189
|
+
L,
|
|
190
|
+
c,
|
|
191
|
+
i,
|
|
192
|
+
t
|
|
193
|
+
]), F = (e)=>nt[e % nt.length], mt = Math.round(((d == null ? void 0 : d.end) || 0) * 100), ht = V(_texttokens.meterTotalLabel, f.length, mt) + " " + f.map((e, I)=>`${V(_texttokens.meterSectionLabel, I + 1, Math.round(e * 100))}`).join(". ");
|
|
194
|
+
return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", _object_spread_props(_object_spread({
|
|
195
|
+
ref: Z,
|
|
196
|
+
style: {
|
|
197
|
+
width: n
|
|
198
|
+
},
|
|
199
|
+
role: "meter",
|
|
200
|
+
"aria-label": O || (h ? void 0 : ht),
|
|
201
|
+
"aria-labelledby": h,
|
|
202
|
+
"aria-valuenow": mt,
|
|
203
|
+
"aria-valuemin": 0,
|
|
204
|
+
"aria-valuemax": 100,
|
|
205
|
+
"aria-live": "polite",
|
|
206
|
+
"aria-valuetext": ht,
|
|
207
|
+
"aria-hidden": S
|
|
208
|
+
}, (0, _dom.getPrefixedDataAttributes)(b, "Meter")), {
|
|
209
|
+
children: /* @__PURE__ */ (0, _jsxruntime.jsxs)("svg", {
|
|
210
|
+
viewBox: `0 0 ${A} ${K}`,
|
|
211
|
+
style: {
|
|
212
|
+
width: p,
|
|
213
|
+
height: xt,
|
|
214
|
+
display: "block",
|
|
215
|
+
transform: `rotate(${t === r ? "90deg" : 0})`
|
|
216
|
+
},
|
|
217
|
+
"aria-hidden": "true",
|
|
218
|
+
children: [
|
|
219
|
+
/* @__PURE__ */ (0, _jsxruntime.jsxs)("defs", {
|
|
220
|
+
children: [
|
|
221
|
+
u && /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
|
|
222
|
+
children: [
|
|
223
|
+
/* @__PURE__ */ (0, _jsxruntime.jsxs)("marker", {
|
|
224
|
+
id: st,
|
|
225
|
+
viewBox: "0 0 10 10",
|
|
226
|
+
markerWidth: 1,
|
|
227
|
+
markerHeight: 1,
|
|
228
|
+
orient: "auto",
|
|
229
|
+
refX: 5,
|
|
230
|
+
refY: 5,
|
|
231
|
+
children: [
|
|
232
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("rect", {
|
|
233
|
+
x: 4,
|
|
234
|
+
y: 0,
|
|
235
|
+
width: 2,
|
|
236
|
+
height: 10,
|
|
237
|
+
fill: F(B)
|
|
238
|
+
}),
|
|
239
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("path", {
|
|
240
|
+
d: C({
|
|
241
|
+
x1: 5,
|
|
242
|
+
y1: 0,
|
|
243
|
+
x2: 5,
|
|
244
|
+
y2: 10,
|
|
245
|
+
radius: 5
|
|
246
|
+
}),
|
|
247
|
+
fill: F(B)
|
|
248
|
+
})
|
|
249
|
+
]
|
|
250
|
+
}),
|
|
251
|
+
/* @__PURE__ */ (0, _jsxruntime.jsxs)("marker", {
|
|
252
|
+
id: it,
|
|
253
|
+
viewBox: "0 0 10 10",
|
|
254
|
+
markerWidth: 1,
|
|
255
|
+
markerHeight: 1,
|
|
256
|
+
orient: "auto",
|
|
257
|
+
refX: 5,
|
|
258
|
+
refY: 5,
|
|
259
|
+
children: [
|
|
260
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("rect", {
|
|
261
|
+
x: 4,
|
|
262
|
+
y: 0,
|
|
263
|
+
width: 2,
|
|
264
|
+
height: 10,
|
|
265
|
+
fill: F(v)
|
|
266
|
+
}),
|
|
267
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("path", {
|
|
268
|
+
d: C({
|
|
269
|
+
x1: 5,
|
|
270
|
+
y1: 0,
|
|
271
|
+
x2: 5,
|
|
272
|
+
y2: 10,
|
|
273
|
+
radius: 5,
|
|
274
|
+
clockwise: 0
|
|
275
|
+
}),
|
|
276
|
+
fill: F(v)
|
|
277
|
+
})
|
|
278
|
+
]
|
|
279
|
+
})
|
|
280
|
+
]
|
|
281
|
+
}),
|
|
282
|
+
/* @__PURE__ */ (0, _jsxruntime.jsxs)("mask", {
|
|
283
|
+
id: lt,
|
|
284
|
+
maskUnits: "userSpaceOnUse",
|
|
285
|
+
children: [
|
|
286
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("rect", {
|
|
287
|
+
x: 0,
|
|
288
|
+
y: 0,
|
|
289
|
+
width: A,
|
|
290
|
+
height: K,
|
|
291
|
+
fill: "white"
|
|
292
|
+
}),
|
|
293
|
+
v >= 0 && d && /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
|
|
294
|
+
children: [
|
|
295
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("path", {
|
|
296
|
+
stroke: "black",
|
|
297
|
+
fill: "none",
|
|
298
|
+
strokeWidth: i + T * 2,
|
|
299
|
+
strokeLinecap: t === r || !u ? "butt" : "round",
|
|
300
|
+
d: C({
|
|
301
|
+
x1: k(0),
|
|
302
|
+
y1: g(0),
|
|
303
|
+
x2: k(W(d.end + (u ? 0 : l), 0, 1 - D)),
|
|
304
|
+
y2: g(W(d.end + (u ? 0 : l), 0, 1 - D)),
|
|
305
|
+
radius: c,
|
|
306
|
+
largeArchFlag: t === r ? d.end >= 0.5 : 0
|
|
307
|
+
})
|
|
308
|
+
}),
|
|
309
|
+
t === r && u && // the circular type has butt line caps, so we need to add a circle to the end
|
|
310
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("circle", {
|
|
311
|
+
cx: k(d.end),
|
|
312
|
+
cy: g(d.end),
|
|
313
|
+
r: i / 2 + T,
|
|
314
|
+
fill: "black"
|
|
315
|
+
}),
|
|
316
|
+
t === r && d.end <= 0.5 && // small patch to remove the circular mask when the last segment is too near to the start
|
|
317
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("rect", {
|
|
318
|
+
x: 0,
|
|
319
|
+
y: ft + T,
|
|
320
|
+
width: i + T * 2,
|
|
321
|
+
height: i / 2 + T,
|
|
322
|
+
fill: "white"
|
|
323
|
+
})
|
|
324
|
+
]
|
|
325
|
+
})
|
|
326
|
+
]
|
|
327
|
+
}),
|
|
328
|
+
t === r && /* @__PURE__ */ (0, _jsxruntime.jsxs)("mask", {
|
|
329
|
+
id: ct,
|
|
330
|
+
maskUnits: "userSpaceOnUse",
|
|
331
|
+
children: [
|
|
332
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("rect", {
|
|
333
|
+
x: 0,
|
|
334
|
+
y: 0,
|
|
335
|
+
width: A,
|
|
336
|
+
height: K,
|
|
337
|
+
fill: "white"
|
|
338
|
+
}),
|
|
339
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("path", {
|
|
340
|
+
stroke: "black",
|
|
341
|
+
strokeWidth: i,
|
|
342
|
+
fill: "none",
|
|
343
|
+
d: C({
|
|
344
|
+
x1: k(1 - l),
|
|
345
|
+
y1: g(1 - l),
|
|
346
|
+
x2: k(1),
|
|
347
|
+
y2: g(1),
|
|
348
|
+
radius: c
|
|
349
|
+
})
|
|
350
|
+
})
|
|
351
|
+
]
|
|
352
|
+
})
|
|
353
|
+
]
|
|
354
|
+
}),
|
|
355
|
+
/* @__PURE__ */ (0, _jsxruntime.jsx)("path", {
|
|
356
|
+
stroke: At,
|
|
357
|
+
opacity: q ? 0.5 : 1,
|
|
358
|
+
fill: "none",
|
|
359
|
+
strokeWidth: i,
|
|
360
|
+
strokeLinecap: t === r || !u ? "butt" : "round",
|
|
361
|
+
d: C({
|
|
362
|
+
x1: k(0),
|
|
363
|
+
y1: g(0),
|
|
364
|
+
x2: k(1 - (t === r ? l : 0)),
|
|
365
|
+
y2: g(1 - (t === r ? l : 0)),
|
|
366
|
+
largeArchFlag: 1,
|
|
367
|
+
radius: c
|
|
368
|
+
}),
|
|
369
|
+
mask: `url("#${lt}")`
|
|
370
|
+
}),
|
|
371
|
+
v >= 0 && [
|
|
372
|
+
..._
|
|
373
|
+
].reverse().map((e, I)=>{
|
|
374
|
+
const w = _.length - 1 - I, N = F(w), U = w === v, x = w === B, j = U || e.end - e.start < l ? e.start : e.start + l / 2, y = x || e.end - e.start < l ? e.end : e.end - l / 2;
|
|
375
|
+
if (y - j < D) return null;
|
|
376
|
+
const It = U && t !== r;
|
|
377
|
+
return /* @__PURE__ */ (0, _jsxruntime.jsx)("path", {
|
|
378
|
+
stroke: N,
|
|
379
|
+
fill: "none",
|
|
380
|
+
strokeWidth: i,
|
|
381
|
+
strokeLinecap: "butt",
|
|
382
|
+
markerEnd: x ? `url(#${st})` : void 0,
|
|
383
|
+
markerStart: It ? `url(#${it})` : void 0,
|
|
384
|
+
mask: x && t === r ? `url("#${ct}")` : void 0,
|
|
385
|
+
d: C({
|
|
386
|
+
x1: k(j),
|
|
387
|
+
y1: g(j),
|
|
388
|
+
x2: k(y),
|
|
389
|
+
y2: g(y),
|
|
390
|
+
largeArchFlag: t === r ? y - j >= 0.5 : 0,
|
|
391
|
+
radius: c
|
|
392
|
+
})
|
|
393
|
+
}, I);
|
|
394
|
+
})
|
|
395
|
+
]
|
|
396
|
+
})
|
|
397
|
+
}));
|
|
398
|
+
}, Wt = (t)=>/* @__PURE__ */ /*#__PURE__*/ (0, _react.createElement)(Dt, _object_spread_props(_object_spread({}, t), {
|
|
399
|
+
key: `${t.type},${t.values.length},${t.reverse}`
|
|
400
|
+
})), Zt = Wt;
|
package/dist/mosaic.d.ts
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { DataAttributes } from './utils/types';
|
|
3
|
+
type MosaicItemGridMode = 'horizontal' | 'square' | 'vertical';
|
|
4
|
+
type MosaicItem = React.ReactElement | ((config: {
|
|
5
|
+
gridMode: MosaicItemGridMode;
|
|
6
|
+
}) => React.ReactElement);
|
|
3
7
|
type HorizontalMosaicProps = {
|
|
4
|
-
items: ReadonlyArray<
|
|
8
|
+
items: ReadonlyArray<MosaicItem>;
|
|
5
9
|
withBullets?: boolean;
|
|
6
10
|
free?: boolean;
|
|
7
11
|
dataAttributes?: DataAttributes;
|
|
8
12
|
};
|
|
9
13
|
export declare const HorizontalMosaic: ({ items, withBullets, free, dataAttributes, }: HorizontalMosaicProps) => JSX.Element;
|
|
10
14
|
type VerticalMosaicProps = {
|
|
11
|
-
items: ReadonlyArray<
|
|
15
|
+
items: ReadonlyArray<MosaicItem>;
|
|
12
16
|
dataAttributes?: DataAttributes;
|
|
13
17
|
};
|
|
14
18
|
export declare const VerticalMosaic: ({ items, dataAttributes }: VerticalMosaicProps) => JSX.Element;
|
package/dist/mosaic.js
CHANGED
|
@@ -10,10 +10,10 @@ function _export(target, all) {
|
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
12
|
HorizontalMosaic: function() {
|
|
13
|
-
return
|
|
13
|
+
return G;
|
|
14
14
|
},
|
|
15
15
|
VerticalMosaic: function() {
|
|
16
|
-
return
|
|
16
|
+
return N;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
const _jsxruntime = require("react/jsx-runtime");
|
|
@@ -72,58 +72,60 @@ function _object_spread_props(target, source) {
|
|
|
72
72
|
}
|
|
73
73
|
return target;
|
|
74
74
|
}
|
|
75
|
-
const
|
|
75
|
+
const u = {
|
|
76
76
|
mobile: 8,
|
|
77
77
|
desktop: 16
|
|
78
|
-
},
|
|
79
|
-
|
|
78
|
+
}, t = (n, o)=>typeof n == "function" ? n({
|
|
79
|
+
gridMode: o
|
|
80
|
+
}) : n, C = (param)=>{
|
|
81
|
+
let { items: n, isEven: o } = param;
|
|
80
82
|
return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
81
83
|
className: n.length === 1 ? _mosaiccssmistica.singleItemRowContainer : _mosaiccssmistica.squareContainer,
|
|
82
84
|
children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.Grid, {
|
|
83
|
-
gap:
|
|
85
|
+
gap: u,
|
|
84
86
|
rows: 2,
|
|
85
87
|
columns: 2,
|
|
86
88
|
height: "100%",
|
|
87
89
|
children: n.length === 3 ? /* @__PURE__ */ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {
|
|
88
90
|
children: [
|
|
89
91
|
/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.GridItem, {
|
|
90
|
-
columnSpan:
|
|
91
|
-
children: n[0]
|
|
92
|
+
columnSpan: o ? 2 : void 0,
|
|
93
|
+
children: t(n[0], o ? "horizontal" : "square")
|
|
92
94
|
}),
|
|
93
95
|
/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.GridItem, {
|
|
94
|
-
children: n[1]
|
|
96
|
+
children: t(n[1], "square")
|
|
95
97
|
}),
|
|
96
98
|
/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.GridItem, {
|
|
97
|
-
columnSpan:
|
|
98
|
-
children: n[2]
|
|
99
|
+
columnSpan: o ? void 0 : 2,
|
|
100
|
+
children: t(n[2], o ? "square" : "horizontal")
|
|
99
101
|
})
|
|
100
102
|
]
|
|
101
|
-
}) : n.map((a,
|
|
103
|
+
}) : n.map((a, s)=>/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.GridItem, {
|
|
102
104
|
columnSpan: n.length === 4 ? void 0 : 2,
|
|
103
105
|
rowSpan: n.length === 1 ? 2 : void 0,
|
|
104
|
-
children: a
|
|
105
|
-
},
|
|
106
|
+
children: t(a, n.length === 4 ? "square" : "horizontal")
|
|
107
|
+
}, s))
|
|
106
108
|
})
|
|
107
109
|
});
|
|
108
|
-
},
|
|
109
|
-
let { items: n, withBullets:
|
|
110
|
-
const c = n.length,
|
|
111
|
-
length:
|
|
110
|
+
}, G = (param)=>{
|
|
111
|
+
let { items: n, withBullets: o, free: a, dataAttributes: s } = param;
|
|
112
|
+
const c = n.length, l = c < 5 ? Math.min(c, 1) : Math.floor((c + 1) / 3), h = Array.from({
|
|
113
|
+
length: l
|
|
112
114
|
}, ()=>[]);
|
|
113
|
-
return n.forEach((
|
|
114
|
-
const
|
|
115
|
-
|
|
115
|
+
return n.forEach((d, p)=>{
|
|
116
|
+
const M = Math.min(l - 1, Math.floor(p / 3));
|
|
117
|
+
h[M].push(d);
|
|
116
118
|
}), /* @__PURE__ */ (0, _jsxruntime.jsx)(_carousel.Carousel, {
|
|
117
|
-
dataAttributes: _object_spread_props(_object_spread({},
|
|
119
|
+
dataAttributes: _object_spread_props(_object_spread({}, s), {
|
|
118
120
|
"component-name": "HorizontalMosaic"
|
|
119
121
|
}),
|
|
120
|
-
items:
|
|
122
|
+
items: h.map((d, p)=>/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.Grid, {
|
|
121
123
|
children: /* @__PURE__ */ (0, _jsxruntime.jsx)(C, {
|
|
122
|
-
items:
|
|
124
|
+
items: d,
|
|
123
125
|
isEven: p % 2 === 0
|
|
124
126
|
}, p)
|
|
125
127
|
})),
|
|
126
|
-
withBullets:
|
|
128
|
+
withBullets: o,
|
|
127
129
|
free: a
|
|
128
130
|
});
|
|
129
131
|
}, S = (param)=>{
|
|
@@ -134,12 +136,12 @@ const d = {
|
|
|
134
136
|
return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
135
137
|
className: _mosaiccssmistica.singleItemRowContainer,
|
|
136
138
|
children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.Grid, {
|
|
137
|
-
gap:
|
|
139
|
+
gap: u,
|
|
138
140
|
columns: 2,
|
|
139
141
|
height: "100%",
|
|
140
|
-
children: n.map((
|
|
142
|
+
children: n.map((o, a)=>/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.GridItem, {
|
|
141
143
|
columnSpan: n.length === 2 ? void 0 : 2,
|
|
142
|
-
children:
|
|
144
|
+
children: t(o, n.length === 2 ? "square" : "horizontal")
|
|
143
145
|
}, a))
|
|
144
146
|
})
|
|
145
147
|
});
|
|
@@ -147,13 +149,13 @@ const d = {
|
|
|
147
149
|
return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
148
150
|
className: _mosaiccssmistica.squareContainer,
|
|
149
151
|
children: /* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.Grid, {
|
|
150
|
-
gap:
|
|
152
|
+
gap: u,
|
|
151
153
|
columns: 2,
|
|
152
154
|
flow: "column",
|
|
153
155
|
height: "100%",
|
|
154
|
-
children: n.map((
|
|
156
|
+
children: n.map((o, a)=>/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.GridItem, {
|
|
155
157
|
rowSpan: a === 0 ? 2 : void 0,
|
|
156
|
-
children:
|
|
158
|
+
children: t(o, a === 0 ? "vertical" : "square")
|
|
157
159
|
}, a))
|
|
158
160
|
})
|
|
159
161
|
});
|
|
@@ -162,45 +164,45 @@ const d = {
|
|
|
162
164
|
return /* @__PURE__ */ (0, _jsxruntime.jsx)("div", {
|
|
163
165
|
className: _mosaiccssmistica.fourItemsContainer,
|
|
164
166
|
children: /* @__PURE__ */ (0, _jsxruntime.jsxs)(_grid.Grid, {
|
|
165
|
-
gap:
|
|
167
|
+
gap: u,
|
|
166
168
|
rows: 3,
|
|
167
169
|
columns: 2,
|
|
168
170
|
height: "100%",
|
|
169
171
|
children: [
|
|
170
172
|
/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.GridItem, {
|
|
171
173
|
rowSpan: 2,
|
|
172
|
-
children: n[0]
|
|
174
|
+
children: t(n[0], "vertical")
|
|
173
175
|
}),
|
|
174
176
|
/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.GridItem, {
|
|
175
|
-
children: n[1]
|
|
177
|
+
children: t(n[1], "square")
|
|
176
178
|
}),
|
|
177
179
|
/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.GridItem, {
|
|
178
180
|
rowSpan: 2,
|
|
179
|
-
children: n[3]
|
|
181
|
+
children: t(n[3], "vertical")
|
|
180
182
|
}),
|
|
181
183
|
/* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.GridItem, {
|
|
182
|
-
children: n[2]
|
|
184
|
+
children: t(n[2], "square")
|
|
183
185
|
})
|
|
184
186
|
]
|
|
185
187
|
})
|
|
186
188
|
});
|
|
187
189
|
}
|
|
188
|
-
},
|
|
189
|
-
let { items: n, dataAttributes:
|
|
190
|
-
const a = n.length,
|
|
191
|
-
length:
|
|
190
|
+
}, N = (param)=>{
|
|
191
|
+
let { items: n, dataAttributes: o } = param;
|
|
192
|
+
const a = n.length, s = Math.ceil(a / 4), c = Array.from({
|
|
193
|
+
length: s
|
|
192
194
|
}, ()=>[]);
|
|
193
|
-
return n.forEach((
|
|
194
|
-
const
|
|
195
|
-
c[
|
|
195
|
+
return n.forEach((l, h)=>{
|
|
196
|
+
const d = Math.floor(h / 4);
|
|
197
|
+
c[d].push(l);
|
|
196
198
|
}), /* @__PURE__ */ (0, _jsxruntime.jsx)(_grid.Grid, {
|
|
197
199
|
rows: 1,
|
|
198
|
-
gap:
|
|
199
|
-
dataAttributes: _object_spread_props(_object_spread({},
|
|
200
|
+
gap: u,
|
|
201
|
+
dataAttributes: _object_spread_props(_object_spread({}, o), {
|
|
200
202
|
"component-name": "VerticalMosaic"
|
|
201
203
|
}),
|
|
202
|
-
children: c.map((
|
|
203
|
-
items:
|
|
204
|
-
},
|
|
204
|
+
children: c.map((l, h)=>/* @__PURE__ */ (0, _jsxruntime.jsx)(S, {
|
|
205
|
+
items: l
|
|
206
|
+
}, h))
|
|
205
207
|
});
|
|
206
208
|
};
|