@yewdiel21/motion-kit 0.15.0 → 0.16.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/README.md +4 -0
- package/dist/auto/index.d.ts +3 -3
- package/dist/auto/index.js +2 -2
- package/dist/{chunk-6IRJYXJU.js → chunk-NFZIX3IA.js} +2 -2
- package/dist/{chunk-JXRS3OEA.js → chunk-RBEKR5UZ.js} +29 -7
- package/dist/chunk-RBEKR5UZ.js.map +1 -0
- package/dist/{chunk-A6QQCF6V.js → chunk-SDQ776LG.js} +129 -17
- package/dist/chunk-SDQ776LG.js.map +1 -0
- package/dist/css/components/chart.css +7 -0
- package/dist/css/components/heatmap-chart.css +7 -0
- package/dist/css/components/pie-chart.css +7 -0
- package/dist/css/components/radar-chart.css +7 -0
- package/dist/css/components/radial-chart.css +16 -2
- package/dist/css/components/sankey-chart.css +7 -0
- package/dist/css/components/scroll-island.css +3 -0
- package/dist/elements/index.d.ts +3 -3
- package/dist/elements/index.js +11 -6
- package/dist/elements/index.js.map +1 -1
- package/dist/index.css +19 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/react/index.d.ts +9 -9
- package/dist/react/index.js +16 -10
- package/dist/react/index.js.map +1 -1
- package/dist/{reduced-6X_bns60.d.ts → reduced-DQwVXQYb.d.ts} +1 -1
- package/dist/{reveal-BfyKKsw4.d.ts → reveal-DRpNO4KP.d.ts} +12 -0
- package/dist/{store-CA2Qcun_.d.ts → store-Da3zSh8Z.d.ts} +5 -1
- package/package.json +1 -1
- package/src/components/add-to-cart/README.md +49 -34
- package/src/components/add-to-cart/react.tsx +4 -0
- package/src/components/chart/README.md +49 -34
- package/src/components/chart/chart.css +7 -0
- package/src/components/chart/element.ts +2 -1
- package/src/components/chart/engine.ts +105 -13
- package/src/components/chart/react.tsx +2 -2
- package/src/components/radial-chart/README.md +10 -0
- package/src/components/radial-chart/element.ts +2 -2
- package/src/components/radial-chart/engine.ts +33 -6
- package/src/components/radial-chart/radial-chart.css +9 -2
- package/src/components/radial-chart/react.tsx +2 -2
- package/src/components/scroll-island/README.md +44 -34
- package/src/components/scroll-island/element.ts +1 -1
- package/src/components/scroll-island/engine.ts +25 -3
- package/src/components/scroll-island/react.tsx +3 -3
- package/src/components/scroll-island/scroll-island.css +3 -0
- package/dist/chunk-A6QQCF6V.js.map +0 -1
- package/dist/chunk-JXRS3OEA.js.map +0 -1
- /package/dist/{chunk-6IRJYXJU.js.map → chunk-NFZIX3IA.js.map} +0 -0
package/README.md
CHANGED
|
@@ -172,3 +172,7 @@ import { PillButton, Toolbar, VoiceDots, Chart, PieChart } from '@yewdiel21/moti
|
|
|
172
172
|
```
|
|
173
173
|
|
|
174
174
|
Los cambios de 0.15 también incluyen `select`, `add-to-cart` y `scroll-island`, que ya estaban implementados antes de esta continuación.
|
|
175
|
+
|
|
176
|
+
## New in 0.16.0
|
|
177
|
+
|
|
178
|
+
Pill bars, capacity tracks, spotlight/gradient fills, stacked capsules and smooth range curves extend Chart. RadialChart gains segmented gauges and percentage centers. AddToCart and ScrollIsland now have complete, interactive Vanilla/React playground demos; ScrollIsland also supports a persistent rail and AddToCart synchronizes controlled counts.
|
package/dist/auto/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { c as createJoinedCta, a as createImageZoom, b as createFontCycle, d as createThumbnailNav, e as createActionButton, f as createFilmHero, g as createEditorialReveal, h as createDrawer, i as createWeightHover, j as createSticker, k as createScrollDock, l as createLocalClock, m as createSpringCards, C as CurvedCarouselInstance, n as createPile, o as createWords, p as createFlow, q as createPop, r as createFitText, s as createStretchFooter, t as createRadialMenu, u as createTabs, v as createCounter, w as createReveal, x as createReflow, y as createSlotText, z as createSortable, A as createMaskText, B as createCascade, D as createTextRoll, E as createLetters, F as createParallax, G as createDepthGrid, H as createFrameZoom, I as createContrast, J as createMarquee, K as createCardDock, L as createSnapStrip, M as createFillText, T as TicketMenuOptions, N as TicketMenuInstance, O as createInfiniteReel, P as createRepelBento, Q as createRotator, R as createDragRuler, S as createDockPill } from '../reduced-
|
|
2
|
-
export { U as MK_HEAD_SCRIPT } from '../reduced-
|
|
3
|
-
import { c as createStudioDock, a as createTrailer, b as createQuantity, d as createPagination, e as createHoverCard, f as createInputOtp, g as createCalendar, h as createSlotPicker, i as createCreditCard, j as createCommandSearch, k as createHoldConfirm, l as createImagePreview, m as createNotificationBell, n as createPasswordStrength, o as createScratchCard, p as createStarRating, q as createAttachment, r as createSkeleton, s as createQuestionnaire, t as createCodeBlock, u as createContextMenu, v as createLinkPreview, w as createProgress, x as createRangeSlider, y as createChart, z as createColorSlider, A as createColorArea, B as createColorField, C as createColorPicker, D as createTimeField, E as createRangeCalendar, F as createDateRangePicker, G as createTooltip, H as createPopover, I as createLoadingButton, J as createBreadcrumb, K as createEmptyState, L as createStatCard, M as createChartTooltip, N as createMultiSelect, O as createTagInput, P as createDateTimePicker, Q as createFilterBuilder, R as createTimeline, S as createActivityFeed, T as createTreeView, U as createFileExplorer, V as createJsonViewer, W as createVirtualList, X as createResizablePanel, Y as createSplitView, Z as createDataTable, _ as createEditableTable, $ as createRichTextEditor, a0 as createSelect, a1 as createAddToCart, a2 as createScrollIsland } from '../reveal-
|
|
1
|
+
import { c as createJoinedCta, a as createImageZoom, b as createFontCycle, d as createThumbnailNav, e as createActionButton, f as createFilmHero, g as createEditorialReveal, h as createDrawer, i as createWeightHover, j as createSticker, k as createScrollDock, l as createLocalClock, m as createSpringCards, C as CurvedCarouselInstance, n as createPile, o as createWords, p as createFlow, q as createPop, r as createFitText, s as createStretchFooter, t as createRadialMenu, u as createTabs, v as createCounter, w as createReveal, x as createReflow, y as createSlotText, z as createSortable, A as createMaskText, B as createCascade, D as createTextRoll, E as createLetters, F as createParallax, G as createDepthGrid, H as createFrameZoom, I as createContrast, J as createMarquee, K as createCardDock, L as createSnapStrip, M as createFillText, T as TicketMenuOptions, N as TicketMenuInstance, O as createInfiniteReel, P as createRepelBento, Q as createRotator, R as createDragRuler, S as createDockPill } from '../reduced-DQwVXQYb.js';
|
|
2
|
+
export { U as MK_HEAD_SCRIPT } from '../reduced-DQwVXQYb.js';
|
|
3
|
+
import { c as createStudioDock, a as createTrailer, b as createQuantity, d as createPagination, e as createHoverCard, f as createInputOtp, g as createCalendar, h as createSlotPicker, i as createCreditCard, j as createCommandSearch, k as createHoldConfirm, l as createImagePreview, m as createNotificationBell, n as createPasswordStrength, o as createScratchCard, p as createStarRating, q as createAttachment, r as createSkeleton, s as createQuestionnaire, t as createCodeBlock, u as createContextMenu, v as createLinkPreview, w as createProgress, x as createRangeSlider, y as createChart, z as createColorSlider, A as createColorArea, B as createColorField, C as createColorPicker, D as createTimeField, E as createRangeCalendar, F as createDateRangePicker, G as createTooltip, H as createPopover, I as createLoadingButton, J as createBreadcrumb, K as createEmptyState, L as createStatCard, M as createChartTooltip, N as createMultiSelect, O as createTagInput, P as createDateTimePicker, Q as createFilterBuilder, R as createTimeline, S as createActivityFeed, T as createTreeView, U as createFileExplorer, V as createJsonViewer, W as createVirtualList, X as createResizablePanel, Y as createSplitView, Z as createDataTable, _ as createEditableTable, $ as createRichTextEditor, a0 as createSelect, a1 as createAddToCart, a2 as createScrollIsland } from '../reveal-DRpNO4KP.js';
|
|
4
4
|
import { c as createLikeButton, a as createSwipeActions } from '../engine-QECQnGz1.js';
|
|
5
5
|
import { I as Instance } from '../types-BkS_raL8.js';
|
|
6
6
|
import 'gsap/SplitText';
|
package/dist/auto/index.js
CHANGED
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
createTicketMenu,
|
|
45
45
|
createWeightHover,
|
|
46
46
|
createWords
|
|
47
|
-
} from "../chunk-
|
|
47
|
+
} from "../chunk-NFZIX3IA.js";
|
|
48
48
|
import {
|
|
49
49
|
ScrollTrigger,
|
|
50
50
|
createActivityFeed,
|
|
@@ -107,7 +107,7 @@ import {
|
|
|
107
107
|
createTrailer,
|
|
108
108
|
createTreeView,
|
|
109
109
|
createVirtualList
|
|
110
|
-
} from "../chunk-
|
|
110
|
+
} from "../chunk-SDQ776LG.js";
|
|
111
111
|
import "../chunk-34EZ7DF4.js";
|
|
112
112
|
import {
|
|
113
113
|
MK_HEAD_SCRIPT
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
slideIndicator,
|
|
19
19
|
splitGraphemes,
|
|
20
20
|
takeMovement
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-SDQ776LG.js";
|
|
22
22
|
import {
|
|
23
23
|
clamp,
|
|
24
24
|
damp,
|
|
@@ -4491,4 +4491,4 @@ export {
|
|
|
4491
4491
|
createScrollDock,
|
|
4492
4492
|
createLocalClock
|
|
4493
4493
|
};
|
|
4494
|
-
//# sourceMappingURL=chunk-
|
|
4494
|
+
//# sourceMappingURL=chunk-NFZIX3IA.js.map
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
startOfWeek,
|
|
28
28
|
toDate,
|
|
29
29
|
weekdayNames
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-SDQ776LG.js";
|
|
31
31
|
import {
|
|
32
32
|
THEMES,
|
|
33
33
|
THEME_EVENT,
|
|
@@ -2734,6 +2734,7 @@ function createRadialChart(root, initial = {}) {
|
|
|
2734
2734
|
const percent = (ring) => new Intl.NumberFormat(void 0, { style: "percent", maximumFractionDigits: 0 }).format(ring.value / ring.max);
|
|
2735
2735
|
const sweep = () => Math.min(360, Math.max(90, finite2(options.sweep) ? options.sweep : 360)) * Math.PI / 180;
|
|
2736
2736
|
const startAngle = () => -sweep() / 2 + (sweep() >= Math.PI * 2 - 1e-6 ? Math.PI : 0);
|
|
2737
|
+
const segments = () => finite2(options.segments) ? Math.max(0, Math.min(80, Math.round(options.segments))) : 0;
|
|
2737
2738
|
let geometry = { size: 240, cx: 120, cy: 120, radii: [], thickness: 12 };
|
|
2738
2739
|
let arcs = [];
|
|
2739
2740
|
let tracks = [];
|
|
@@ -2750,16 +2751,33 @@ function createRadialChart(root, initial = {}) {
|
|
|
2750
2751
|
const thickness = finite2(options.thickness) ? options.thickness : Math.max(4, Math.min(16, fit));
|
|
2751
2752
|
const spacing = thickness * 1.35;
|
|
2752
2753
|
geometry = { size, cx: size / 2, cy: size / 2, thickness, radii: model.map((_, i) => outer - thickness / 2 - i * spacing) };
|
|
2753
|
-
|
|
2754
|
+
const half = sweep() <= Math.PI + 1e-6;
|
|
2755
|
+
const height = half ? size / 2 + 54 : size;
|
|
2756
|
+
canvas.setAttribute("viewBox", `0 0 ${size} ${height}`);
|
|
2754
2757
|
canvas.setAttribute("width", String(size));
|
|
2755
|
-
canvas.setAttribute("height", String(
|
|
2758
|
+
canvas.setAttribute("height", String(height));
|
|
2756
2759
|
plot.style.setProperty("--mk-radial-size", `${size}px`);
|
|
2757
2760
|
plot.style.setProperty("--mk-radial-thickness", `${thickness}px`);
|
|
2761
|
+
plot.style.setProperty("--mk-radial-center-y", half ? `${size / 2}px` : "50%");
|
|
2762
|
+
plot.style.setProperty("--mk-radial-center-width", n === 1 ? "0.68" : "0.36");
|
|
2758
2763
|
};
|
|
2759
2764
|
scope.add(() => {
|
|
2760
2765
|
plot.style.removeProperty("--mk-radial-size");
|
|
2761
2766
|
plot.style.removeProperty("--mk-radial-thickness");
|
|
2767
|
+
plot.style.removeProperty("--mk-radial-center-y");
|
|
2768
|
+
plot.style.removeProperty("--mk-radial-center-width");
|
|
2762
2769
|
});
|
|
2770
|
+
const segmentedPath = (radius, share) => {
|
|
2771
|
+
const count = segments(), step = sweep() / count, a0 = startAngle();
|
|
2772
|
+
const gap = Math.min(step * 0.3, 4 / Math.max(1, radius));
|
|
2773
|
+
const limit = a0 + sweep() * Math.min(1, Math.max(0, share));
|
|
2774
|
+
const outer = radius + geometry.thickness / 2 - 1, inner = Math.max(0, radius - geometry.thickness / 2 + 1);
|
|
2775
|
+
return Array.from({ length: count }, (_, index) => {
|
|
2776
|
+
const from = a0 + index * step + gap / 2;
|
|
2777
|
+
const to = Math.min(a0 + (index + 1) * step - gap / 2, limit);
|
|
2778
|
+
return to > from ? arcPath(geometry.cx, geometry.cy, outer, inner, from, to) : "";
|
|
2779
|
+
}).join("");
|
|
2780
|
+
};
|
|
2763
2781
|
const build = () => {
|
|
2764
2782
|
canvas.replaceChildren();
|
|
2765
2783
|
const { cx, cy, radii } = geometry;
|
|
@@ -2767,13 +2785,14 @@ function createRadialChart(root, initial = {}) {
|
|
|
2767
2785
|
const back = svg2("g", { "data-mk-part": "tracks" });
|
|
2768
2786
|
const front = svg2("g", { "data-mk-part": "series" });
|
|
2769
2787
|
tracks = model.map((_, i) => {
|
|
2770
|
-
const track = svg2("path", { d: strokeArc(cx, cy, radii[i], a0, a0 + sweep()), "data-mk-index": i });
|
|
2788
|
+
const track = svg2("path", { d: segments() ? segmentedPath(radii[i], 1) : strokeArc(cx, cy, radii[i], a0, a0 + sweep()), "data-mk-index": i });
|
|
2771
2789
|
back.append(track);
|
|
2772
2790
|
return track;
|
|
2773
2791
|
});
|
|
2774
2792
|
arcs = model.map((ring, i) => {
|
|
2775
2793
|
const arc = svg2("path", { "data-mk-index": i, "data-mk-part": "ring" });
|
|
2776
2794
|
arc.style.stroke = ring.color;
|
|
2795
|
+
if (segments()) arc.style.fill = ring.color;
|
|
2777
2796
|
front.append(arc);
|
|
2778
2797
|
return arc;
|
|
2779
2798
|
});
|
|
@@ -2785,13 +2804,15 @@ function createRadialChart(root, initial = {}) {
|
|
|
2785
2804
|
const a0 = startAngle();
|
|
2786
2805
|
arcs.forEach((arc, i) => {
|
|
2787
2806
|
const share = Math.min(1, Math.max(0, (values[i] ?? 0) / model[i].max));
|
|
2788
|
-
arc.setAttribute("d", share > 1e-3 ? strokeArc(cx, cy, radii[i], a0, a0 + sweep() * share) : "");
|
|
2807
|
+
arc.setAttribute("d", share > 1e-3 ? segments() ? segmentedPath(radii[i], share) : strokeArc(cx, cy, radii[i], a0, a0 + sweep() * share) : "");
|
|
2789
2808
|
});
|
|
2790
2809
|
};
|
|
2791
2810
|
const paintCenter = (animate) => {
|
|
2792
2811
|
center.hidden = !model.length;
|
|
2793
2812
|
const ring = selected === null ? null : model[selected];
|
|
2794
|
-
const
|
|
2813
|
+
const denominator = ring ? ring.max : model.reduce((sum, each) => sum + each.max, 0);
|
|
2814
|
+
const value = ring ? ring.value : total();
|
|
2815
|
+
const text = options.center === "percent" ? new Intl.NumberFormat(void 0, { style: "percent", maximumFractionDigits: 1 }).format(value / (denominator || 1)) : format(value);
|
|
2795
2816
|
const caption = ring ? `${ring.label} \xB7 ${percent(ring)}` : options.totalLabel ?? "Total";
|
|
2796
2817
|
const changed = centerLabel.textContent !== caption;
|
|
2797
2818
|
if (centerValue.textContent !== text) {
|
|
@@ -2814,6 +2835,7 @@ function createRadialChart(root, initial = {}) {
|
|
|
2814
2835
|
};
|
|
2815
2836
|
const draw = (animate) => {
|
|
2816
2837
|
glide?.kill();
|
|
2838
|
+
scope.attr(root, "data-mk-segmented", segments() ? "" : null);
|
|
2817
2839
|
const name = options.label ?? "Gr\xE1fica radial";
|
|
2818
2840
|
canvas.setAttribute("aria-label", model.length ? `${name}. ${model.length} anillos, total ${format(total())}. Usa las flechas para recorrerlos.` : `${name}: ${options.emptyLabel ?? "sin datos"}`);
|
|
2819
2841
|
frame.fillTable(name, ["Anillo", "Valor", "Meta", "Avance"], model.map((ring) => [ring.label, format(ring.value), format(ring.max), percent(ring)]));
|
|
@@ -3635,4 +3657,4 @@ export {
|
|
|
3635
3657
|
createHeatmapChart,
|
|
3636
3658
|
createOrbitMenu
|
|
3637
3659
|
};
|
|
3638
|
-
//# sourceMappingURL=chunk-
|
|
3660
|
+
//# sourceMappingURL=chunk-RBEKR5UZ.js.map
|