@yewdiel21/motion-kit 0.16.0 → 0.18.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 +44 -0
- package/dist/auto/index.d.ts +23 -3
- package/dist/auto/index.js +43 -3
- package/dist/auto/index.js.map +1 -1
- package/dist/{chunk-RBEKR5UZ.js → chunk-AWDEKDEJ.js} +2 -2
- package/dist/{chunk-NFZIX3IA.js → chunk-EDMXWUW3.js} +2 -2
- package/dist/{chunk-SDQ776LG.js → chunk-Q7IW4FV3.js} +3941 -43
- package/dist/chunk-Q7IW4FV3.js.map +1 -0
- package/dist/css/components/badge-button.css +16 -0
- package/dist/css/components/bento-grid.css +13 -0
- package/dist/css/components/drilldown-menu.css +134 -0
- package/dist/css/components/equalizer-slider.css +26 -0
- package/dist/css/components/handwriting-text.css +15 -0
- package/dist/css/components/magnetize-button.css +18 -0
- package/dist/css/components/morphing-page-dots.css +13 -0
- package/dist/css/components/not-found.css +22 -0
- package/dist/css/components/notification-stack.css +42 -0
- package/dist/css/components/particle-button.css +14 -0
- package/dist/css/components/radio-group.css +29 -0
- package/dist/css/components/rating-scale.css +23 -0
- package/dist/css/components/scroll-preview-dock.css +18 -0
- package/dist/css/components/select.css +16 -0
- package/dist/css/components/signature-pad.css +131 -0
- package/dist/css/components/stepper.css +36 -0
- package/dist/css/components/sticky-header.css +10 -0
- package/dist/css/components/temperature-slider.css +29 -0
- package/dist/css/components/voice-message-bubble.css +67 -0
- package/dist/css/components/waveform-player.css +51 -0
- package/dist/css/components/wheel-picker.css +18 -0
- package/dist/css/tokens.css +4 -0
- package/dist/elements/index.d.ts +292 -4
- package/dist/elements/index.js +856 -4
- package/dist/elements/index.js.map +1 -1
- package/dist/{reveal-DRpNO4KP.d.ts → engine-t8d7brjn.d.ts} +534 -1
- package/dist/index.css +713 -0
- package/dist/index.d.ts +23 -23
- package/dist/index.js +43 -3
- package/dist/index.js.map +1 -1
- package/dist/react/index.d.ts +151 -7
- package/dist/react/index.js +893 -3
- package/dist/react/index.js.map +1 -1
- package/dist/{reduced-DQwVXQYb.d.ts → reduced-dPsZYqtI.d.ts} +1 -1
- package/dist/{store-Da3zSh8Z.d.ts → store-6hZNKiee.d.ts} +1 -1
- package/package.json +110 -110
- package/registry.json +244 -0
- package/src/auto/auto-init.ts +339 -293
- package/src/components/badge-button/README.md +28 -0
- package/src/components/badge-button/badge-button.css +15 -0
- package/src/components/badge-button/element.ts +16 -0
- package/src/components/badge-button/engine.ts +85 -0
- package/src/components/badge-button/react.tsx +31 -0
- package/src/components/bento-grid/README.md +26 -0
- package/src/components/bento-grid/bento-grid.css +12 -0
- package/src/components/bento-grid/element.ts +22 -0
- package/src/components/bento-grid/engine.ts +153 -0
- package/src/components/bento-grid/react.tsx +25 -0
- package/src/components/drilldown-menu/README.md +163 -0
- package/src/components/drilldown-menu/drilldown-menu.css +133 -0
- package/src/components/drilldown-menu/element.ts +59 -0
- package/src/components/drilldown-menu/engine.ts +378 -0
- package/src/components/drilldown-menu/react.tsx +76 -0
- package/src/components/equalizer-slider/README.md +43 -0
- package/src/components/equalizer-slider/element.ts +41 -0
- package/src/components/equalizer-slider/engine.ts +32 -0
- package/src/components/equalizer-slider/equalizer-slider.css +26 -0
- package/src/components/equalizer-slider/react.tsx +60 -0
- package/src/components/equalizer-slider/shared.ts +161 -0
- package/src/components/handwriting-text/README.md +29 -0
- package/src/components/handwriting-text/element.ts +14 -0
- package/src/components/handwriting-text/engine.ts +108 -0
- package/src/components/handwriting-text/glyphs.ts +71 -0
- package/src/components/handwriting-text/handwriting-text.css +14 -0
- package/src/components/handwriting-text/react.tsx +23 -0
- package/src/components/magnetize-button/README.md +26 -0
- package/src/components/magnetize-button/element.ts +13 -0
- package/src/components/magnetize-button/engine.ts +84 -0
- package/src/components/magnetize-button/magnetize-button.css +17 -0
- package/src/components/magnetize-button/react.tsx +22 -0
- package/src/components/morphing-page-dots/README.md +28 -0
- package/src/components/morphing-page-dots/element.ts +16 -0
- package/src/components/morphing-page-dots/engine.ts +89 -0
- package/src/components/morphing-page-dots/morphing-page-dots.css +12 -0
- package/src/components/morphing-page-dots/react.tsx +32 -0
- package/src/components/not-found/README.md +26 -0
- package/src/components/not-found/element.ts +15 -0
- package/src/components/not-found/engine.ts +57 -0
- package/src/components/not-found/not-found.css +21 -0
- package/src/components/not-found/react.tsx +23 -0
- package/src/components/notification-stack/README.md +24 -0
- package/src/components/notification-stack/element.ts +26 -0
- package/src/components/notification-stack/engine.ts +329 -0
- package/src/components/notification-stack/notification-stack.css +41 -0
- package/src/components/notification-stack/react.tsx +28 -0
- package/src/components/particle-button/README.md +26 -0
- package/src/components/particle-button/element.ts +13 -0
- package/src/components/particle-button/engine.ts +52 -0
- package/src/components/particle-button/particle-button.css +13 -0
- package/src/components/particle-button/react.tsx +22 -0
- package/src/components/radio-group/README.md +43 -0
- package/src/components/radio-group/element.ts +41 -0
- package/src/components/radio-group/engine.ts +11 -0
- package/src/components/radio-group/radio-group.css +28 -0
- package/src/components/radio-group/react.tsx +60 -0
- package/src/components/radio-group/shared.ts +118 -0
- package/src/components/rating-scale/README.md +43 -0
- package/src/components/rating-scale/element.ts +41 -0
- package/src/components/rating-scale/engine.ts +63 -0
- package/src/components/rating-scale/rating-scale.css +22 -0
- package/src/components/rating-scale/react.tsx +60 -0
- package/src/components/scroll-preview-dock/README.md +24 -0
- package/src/components/scroll-preview-dock/element.ts +20 -0
- package/src/components/scroll-preview-dock/engine.ts +228 -0
- package/src/components/scroll-preview-dock/react.tsx +26 -0
- package/src/components/scroll-preview-dock/scroll-preview-dock.css +17 -0
- package/src/components/select/README.md +23 -9
- package/src/components/select/select.css +16 -0
- package/src/components/signature-pad/README.md +97 -0
- package/src/components/signature-pad/element.ts +57 -0
- package/src/components/signature-pad/engine.ts +550 -0
- package/src/components/signature-pad/react.tsx +56 -0
- package/src/components/signature-pad/signature-pad.css +130 -0
- package/src/components/stepper/README.md +46 -0
- package/src/components/stepper/element.ts +42 -0
- package/src/components/stepper/engine.ts +103 -0
- package/src/components/stepper/react.tsx +60 -0
- package/src/components/stepper/stepper.css +35 -0
- package/src/components/sticky-header/README.md +30 -0
- package/src/components/sticky-header/element.ts +19 -0
- package/src/components/sticky-header/engine.ts +95 -0
- package/src/components/sticky-header/react.tsx +25 -0
- package/src/components/sticky-header/sticky-header.css +9 -0
- package/src/components/temperature-slider/README.md +42 -0
- package/src/components/temperature-slider/element.ts +53 -0
- package/src/components/temperature-slider/engine.ts +44 -0
- package/src/components/temperature-slider/react.tsx +66 -0
- package/src/components/temperature-slider/temperature-slider.css +29 -0
- package/src/components/voice-message-bubble/README.md +31 -0
- package/src/components/voice-message-bubble/element.ts +20 -0
- package/src/components/voice-message-bubble/engine.ts +79 -0
- package/src/components/voice-message-bubble/react.tsx +27 -0
- package/src/components/voice-message-bubble/voice-message-bubble.css +14 -0
- package/src/components/waveform-player/README.md +30 -0
- package/src/components/waveform-player/element.ts +21 -0
- package/src/components/waveform-player/engine.ts +344 -0
- package/src/components/waveform-player/react.tsx +27 -0
- package/src/components/waveform-player/waveform-player.css +50 -0
- package/src/components/wheel-picker/README.md +35 -0
- package/src/components/wheel-picker/element.ts +25 -0
- package/src/components/wheel-picker/engine.ts +239 -0
- package/src/components/wheel-picker/react.tsx +32 -0
- package/src/components/wheel-picker/wheel-picker.css +17 -0
- package/src/css/tokens.css +4 -0
- package/src/elements/index.ts +318 -258
- package/src/index.ts +21 -0
- package/src/react/index.ts +192 -171
- package/dist/chunk-SDQ776LG.js.map +0 -1
- /package/dist/{chunk-RBEKR5UZ.js.map → chunk-AWDEKDEJ.js.map} +0 -0
- /package/dist/{chunk-NFZIX3IA.js.map → chunk-EDMXWUW3.js.map} +0 -0
package/README.md
CHANGED
|
@@ -4,6 +4,50 @@ Motion toolkit for vanilla JavaScript, Astro and React/Next.js. GSAP recipes, ac
|
|
|
4
4
|
|
|
5
5
|
[Live playground](https://motion-kit-playground.vercel.app) — vanilla and React examples for every component.
|
|
6
6
|
|
|
7
|
+
## New in 0.18.0
|
|
8
|
+
|
|
9
|
+
Fifteen components join the Melonmind/Stepbro visual language: tonal surfaces, restrained accent, elastic press feedback, moving selections, short blur transitions and rolling values. Every entry includes a vanilla factory, React adapter, custom element, individual CSS and working examples.
|
|
10
|
+
|
|
11
|
+
| Family | Components |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| Forms | `stepper` (horizontal, vertical, compact, dots), `radio-group` (pill, card, list), `equalizer-slider`, `temperature-slider`, `rating-scale` (numbered, sentiment) |
|
|
14
|
+
| Surfaces | `notification-stack`, `bento-grid`, `scroll-preview-dock`, `sticky-header` |
|
|
15
|
+
| Motion and actions | `handwriting-text`, `particle-button`, `magnetize-button`, `badge-button`, `morphing-page-dots`, `not-found` |
|
|
16
|
+
|
|
17
|
+
The five 0.17 components were redesigned: Wheel Picker now projects rows around a 3D cylinder with real Y/Z depth and native touch inertia; Signature Pad, Drilldown Menu and the audio components share the kit's press, highlight and transition vocabulary. Waveform progress follows the actual media time; it does not fabricate audio analysis. No new runtime dependencies.
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
import { Stepper, RadioGroup, TemperatureSlider } from '@yewdiel21/motion-kit/react';
|
|
21
|
+
import '@yewdiel21/motion-kit/css';
|
|
22
|
+
|
|
23
|
+
<Stepper items={[{ label: 'Details' }, { label: 'Review' }]} variant="compact" />
|
|
24
|
+
<RadioGroup name="plan" items={[{ value: 'solo', label: 'Personal' }, { value: 'team', label: 'Team' }]} />
|
|
25
|
+
<TemperatureSlider name="temperature" defaultValue={22} min={16} max={30} />
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Explore the [playground](https://motion-kit-playground.vercel.app), or copy an implementation with `npx @yewdiel21/motion-kit add stepper --react --elements`. Keep `destroy()`/React cleanup when replacing a component. Reduced motion retains every action; native form inputs provide keyboard, validation and submission.
|
|
29
|
+
|
|
30
|
+
## New in 0.17.0
|
|
31
|
+
|
|
32
|
+
Five reusable components with vanilla factories, React wrappers, custom elements, individual stylesheets and live examples:
|
|
33
|
+
|
|
34
|
+
| Component | Behavior |
|
|
35
|
+
| --- | --- |
|
|
36
|
+
| [Signature Pad](https://motion-kit-playground.vercel.app/signature-pad/) | Mouse, pen and touch input; undo/redo; normalized stroke data; transparent SVG/PNG export. |
|
|
37
|
+
| [Waveform Player](https://motion-kit-playground.vercel.app/waveform-player/) | Real audio playback, seek, playback speed and loading/error states. Supply your own waveform peaks. |
|
|
38
|
+
| [Voice Message Bubble](https://motion-kit-playground.vercel.app/voice-message-bubble/) | Incoming/outgoing audio messages with author, timestamp and delivery status. |
|
|
39
|
+
| [Drilldown Menu](https://motion-kit-playground.vercel.app/drilldown-menu/) | Nested actions, animated level changes, breadcrumbs and keyboard navigation. |
|
|
40
|
+
| [Wheel Picker](https://motion-kit-playground.vercel.app/wheel-picker/) | Native touch scrolling, mouse drag, keyboard selection, disabled options and form values. |
|
|
41
|
+
|
|
42
|
+
The components follow the active theme and respect reduced motion. No new runtime dependencies. Audio demos use an original synthesized test sound; the player does not request microphone access or analyze audio automatically.
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
import { WheelPicker } from '@yewdiel21/motion-kit/react';
|
|
46
|
+
import '@yewdiel21/motion-kit/css';
|
|
47
|
+
|
|
48
|
+
<WheelPicker items={['15 min', '25 min', '50 min']} name="duration" />
|
|
49
|
+
```
|
|
50
|
+
|
|
7
51
|
## Install
|
|
8
52
|
|
|
9
53
|
```sh
|
package/dist/auto/index.d.ts
CHANGED
|
@@ -1,11 +1,31 @@
|
|
|
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
|
|
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-dPsZYqtI.js';
|
|
2
|
+
export { U as MK_HEAD_SCRIPT } from '../reduced-dPsZYqtI.js';
|
|
3
|
+
import { c as createStepper, a as createRadioGroup, b as createEqualizerSlider, d as createTemperatureSlider, e as createRatingScale, f as createNotificationStack, g as createBentoGrid, h as createScrollPreviewDock, i as createStickyHeader, j as createHandwritingText, k as createParticleButton, l as createMagnetizeButton, m as createBadgeButton, n as createMorphingPageDots, o as createNotFound, p as createWheelPicker, q as createDrilldownMenu, r as createVoiceMessageBubble, s as createWaveformPlayer, t as createSignaturePad, u as createStudioDock, v as createTrailer, w as createQuantity, x as createPagination, y as createHoverCard, z as createInputOtp, A as createCalendar, B as createSlotPicker, C as createCreditCard, D as createCommandSearch, E as createHoldConfirm, F as createImagePreview, G as createNotificationBell, H as createPasswordStrength, I as createScratchCard, J as createStarRating, K as createAttachment, L as createSkeleton, M as createQuestionnaire, N as createCodeBlock, O as createContextMenu, P as createLinkPreview, Q as createProgress, R as createRangeSlider, S as createChart, T as createColorSlider, U as createColorArea, V as createColorField, W as createColorPicker, X as createTimeField, Y as createRangeCalendar, Z as createDateRangePicker, _ as createTooltip, $ as createPopover, a0 as createLoadingButton, a1 as createBreadcrumb, a2 as createEmptyState, a3 as createStatCard, a4 as createChartTooltip, a5 as createMultiSelect, a6 as createTagInput, a7 as createDateTimePicker, a8 as createFilterBuilder, a9 as createTimeline, aa as createActivityFeed, ab as createTreeView, ac as createFileExplorer, ad as createJsonViewer, ae as createVirtualList, af as createResizablePanel, ag as createSplitView, ah as createDataTable, ai as createEditableTable, aj as createRichTextEditor, ak as createSelect, al as createAddToCart, am as createScrollIsland } from '../engine-t8d7brjn.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';
|
|
7
7
|
|
|
8
8
|
declare const factories: {
|
|
9
|
+
stepper: typeof createStepper;
|
|
10
|
+
'radio-group': typeof createRadioGroup;
|
|
11
|
+
'equalizer-slider': typeof createEqualizerSlider;
|
|
12
|
+
'temperature-slider': typeof createTemperatureSlider;
|
|
13
|
+
'rating-scale': typeof createRatingScale;
|
|
14
|
+
'notification-stack': typeof createNotificationStack;
|
|
15
|
+
'bento-grid': typeof createBentoGrid;
|
|
16
|
+
'scroll-preview-dock': typeof createScrollPreviewDock;
|
|
17
|
+
'sticky-header': typeof createStickyHeader;
|
|
18
|
+
'handwriting-text': typeof createHandwritingText;
|
|
19
|
+
'particle-button': typeof createParticleButton;
|
|
20
|
+
'magnetize-button': typeof createMagnetizeButton;
|
|
21
|
+
'badge-button': typeof createBadgeButton;
|
|
22
|
+
'morphing-page-dots': typeof createMorphingPageDots;
|
|
23
|
+
'not-found': typeof createNotFound;
|
|
24
|
+
'wheel-picker': typeof createWheelPicker;
|
|
25
|
+
'drilldown-menu': typeof createDrilldownMenu;
|
|
26
|
+
'voice-message-bubble': typeof createVoiceMessageBubble;
|
|
27
|
+
'waveform-player': typeof createWaveformPlayer;
|
|
28
|
+
'signature-pad': typeof createSignaturePad;
|
|
9
29
|
'joined-cta': typeof createJoinedCta;
|
|
10
30
|
'image-zoom': typeof createImageZoom;
|
|
11
31
|
'font-cycle': typeof createFontCycle;
|
package/dist/auto/index.js
CHANGED
|
@@ -44,12 +44,14 @@ import {
|
|
|
44
44
|
createTicketMenu,
|
|
45
45
|
createWeightHover,
|
|
46
46
|
createWords
|
|
47
|
-
} from "../chunk-
|
|
47
|
+
} from "../chunk-EDMXWUW3.js";
|
|
48
48
|
import {
|
|
49
49
|
ScrollTrigger,
|
|
50
50
|
createActivityFeed,
|
|
51
51
|
createAddToCart,
|
|
52
52
|
createAttachment,
|
|
53
|
+
createBadgeButton,
|
|
54
|
+
createBentoGrid,
|
|
53
55
|
createBreadcrumb,
|
|
54
56
|
createCalendar,
|
|
55
57
|
createChart,
|
|
@@ -66,10 +68,13 @@ import {
|
|
|
66
68
|
createDateRangePicker,
|
|
67
69
|
createDateTimePicker,
|
|
68
70
|
createDrawer,
|
|
71
|
+
createDrilldownMenu,
|
|
69
72
|
createEditableTable,
|
|
70
73
|
createEmptyState,
|
|
74
|
+
createEqualizerSlider,
|
|
71
75
|
createFileExplorer,
|
|
72
76
|
createFilterBuilder,
|
|
77
|
+
createHandwritingText,
|
|
73
78
|
createHoldConfirm,
|
|
74
79
|
createHoverCard,
|
|
75
80
|
createImagePreview,
|
|
@@ -78,36 +83,51 @@ import {
|
|
|
78
83
|
createLikeButton,
|
|
79
84
|
createLinkPreview,
|
|
80
85
|
createLoadingButton,
|
|
86
|
+
createMagnetizeButton,
|
|
87
|
+
createMorphingPageDots,
|
|
81
88
|
createMultiSelect,
|
|
89
|
+
createNotFound,
|
|
82
90
|
createNotificationBell,
|
|
91
|
+
createNotificationStack,
|
|
83
92
|
createPagination,
|
|
93
|
+
createParticleButton,
|
|
84
94
|
createPasswordStrength,
|
|
85
95
|
createPopover,
|
|
86
96
|
createProgress,
|
|
87
97
|
createQuantity,
|
|
88
98
|
createQuestionnaire,
|
|
99
|
+
createRadioGroup,
|
|
89
100
|
createRangeCalendar,
|
|
90
101
|
createRangeSlider,
|
|
102
|
+
createRatingScale,
|
|
91
103
|
createResizablePanel,
|
|
92
104
|
createRichTextEditor,
|
|
93
105
|
createScratchCard,
|
|
94
106
|
createScrollIsland,
|
|
107
|
+
createScrollPreviewDock,
|
|
95
108
|
createSelect,
|
|
109
|
+
createSignaturePad,
|
|
96
110
|
createSkeleton,
|
|
97
111
|
createSlotPicker,
|
|
98
112
|
createSplitView,
|
|
99
113
|
createStarRating,
|
|
100
114
|
createStatCard,
|
|
115
|
+
createStepper,
|
|
116
|
+
createStickyHeader,
|
|
101
117
|
createStudioDock,
|
|
102
118
|
createSwipeActions,
|
|
103
119
|
createTagInput,
|
|
120
|
+
createTemperatureSlider,
|
|
104
121
|
createTimeField,
|
|
105
122
|
createTimeline,
|
|
106
123
|
createTooltip,
|
|
107
124
|
createTrailer,
|
|
108
125
|
createTreeView,
|
|
109
|
-
createVirtualList
|
|
110
|
-
|
|
126
|
+
createVirtualList,
|
|
127
|
+
createVoiceMessageBubble,
|
|
128
|
+
createWaveformPlayer,
|
|
129
|
+
createWheelPicker
|
|
130
|
+
} from "../chunk-Q7IW4FV3.js";
|
|
111
131
|
import "../chunk-34EZ7DF4.js";
|
|
112
132
|
import {
|
|
113
133
|
MK_HEAD_SCRIPT
|
|
@@ -181,6 +201,26 @@ function parseOptions(el) {
|
|
|
181
201
|
|
|
182
202
|
// src/auto/auto-init.ts
|
|
183
203
|
var factories = {
|
|
204
|
+
"stepper": createStepper,
|
|
205
|
+
"radio-group": createRadioGroup,
|
|
206
|
+
"equalizer-slider": createEqualizerSlider,
|
|
207
|
+
"temperature-slider": createTemperatureSlider,
|
|
208
|
+
"rating-scale": createRatingScale,
|
|
209
|
+
"notification-stack": createNotificationStack,
|
|
210
|
+
"bento-grid": createBentoGrid,
|
|
211
|
+
"scroll-preview-dock": createScrollPreviewDock,
|
|
212
|
+
"sticky-header": createStickyHeader,
|
|
213
|
+
"handwriting-text": createHandwritingText,
|
|
214
|
+
"particle-button": createParticleButton,
|
|
215
|
+
"magnetize-button": createMagnetizeButton,
|
|
216
|
+
"badge-button": createBadgeButton,
|
|
217
|
+
"morphing-page-dots": createMorphingPageDots,
|
|
218
|
+
"not-found": createNotFound,
|
|
219
|
+
"wheel-picker": createWheelPicker,
|
|
220
|
+
"drilldown-menu": createDrilldownMenu,
|
|
221
|
+
"voice-message-bubble": createVoiceMessageBubble,
|
|
222
|
+
"waveform-player": createWaveformPlayer,
|
|
223
|
+
"signature-pad": createSignaturePad,
|
|
184
224
|
"joined-cta": createJoinedCta,
|
|
185
225
|
"image-zoom": createImageZoom,
|
|
186
226
|
"font-cycle": createFontCycle,
|
package/dist/auto/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/auto/parse-options.ts","../../src/auto/auto-init.ts"],"sourcesContent":["/** Attributes the recipes write themselves or use for children; never options. */\nconst RESERVED = new Set([\n '',\n 'ready',\n 'inview',\n 'carousel',\n 'open',\n 'card',\n 'slide',\n 'toggle',\n 'item',\n 'phantom',\n 'footerTitle',\n 'tab',\n 'indicator',\n 'chevron',\n 'text',\n 'role',\n 'motion',\n 'veil',\n 'swatch',\n 'part',\n 'sorting',\n 'sortableGroup',\n 'sortableLocked',\n 'cascade',\n 'on',\n 'tone',\n 'cursorZone',\n 'hidden',\n 'pressed',\n 'parallaxTarget',\n 'spread',\n 'expanded',\n 'settled',\n 'mode',\n 'active',\n 'islandToggle',\n 'islandPanel',\n 'islandItem',\n 'islandClose',\n 'reelTrack',\n 'reelCopy',\n 'dragging',\n 'dockItem',\n]);\n\nconst coerce = (value: string): unknown => {\n if (value === '' || value === 'true') return true;\n if (value === 'false') return false;\n if (/^-?\\d*\\.?\\d+$/.test(value)) return Number(value);\n return value;\n};\n\n/**\n * `data-mk-<option>` attributes → options object.\n * `data-mk-throw-boost=\"2.5\"` → `{ throwBoost: 2.5 }`, `data-mk-trigger=\"load\"` → `{ trigger: 'load' }`.\n */\nexport function parseOptions(el: HTMLElement): Record<string, unknown> {\n const options: Record<string, unknown> = {};\n for (const [key, raw] of Object.entries(el.dataset)) {\n if (!key.startsWith('mk') || key.length === 2) continue;\n const name = key.charAt(2).toLowerCase() + key.slice(3);\n if (RESERVED.has(name)) continue;\n options[name] = coerce(raw ?? '');\n }\n return options;\n}\n","import { createQuantity } from '../components/quantity/engine';\nimport { createPagination } from '../components/pagination/engine';\nimport { createHoverCard } from '../components/hover-card/engine';\nimport { createInputOtp } from '../components/input-otp/engine';\nimport { createJoinedCta } from '../recipes/joined-cta/create-joined-cta';\nimport { createImageZoom } from '../recipes/image-zoom/create-image-zoom';\nimport { createFontCycle } from '../recipes/font-cycle/create-font-cycle';\nimport { createThumbnailNav } from '../recipes/thumbnail-nav/create-thumbnail-nav';\nimport { createActionButton } from '../recipes/action-button/create-action-button';\nimport { createFilmHero } from '../recipes/film-hero/create-film-hero';\nimport { createEditorialReveal } from '../recipes/editorial-reveal/create-editorial-reveal';\nimport { createStudioDock } from '../components/studio-dock/engine';\nimport { createCalendar } from '../components/calendar/engine';\nimport { createSlotPicker } from '../components/slot-picker/engine';\nimport { createWeightHover } from '../recipes/weight-hover/create-weight-hover';\nimport { createSticker } from '../recipes/sticker/create-sticker';\nimport { createScrollDock } from '../recipes/scroll-dock/create-scroll-dock';\nimport { createLocalClock } from '../recipes/local-clock/create-local-clock';\nimport { createTrailer } from '../components/trailer/engine';\nimport { createCreditCard } from '../components/credit-card/engine';\nimport { createCommandSearch } from '../components/command-search/engine';\nimport { createHoldConfirm } from '../components/hold-confirm/engine';\nimport { createImagePreview } from '../components/image-preview/engine';\nimport { createLikeButton } from '../components/like-button/engine';\nimport { createNotificationBell } from '../components/notification-bell/engine';\nimport { createPasswordStrength } from '../components/password-strength/engine';\nimport { createScratchCard } from '../components/scratch-card/engine';\nimport { createStarRating } from '../components/star-rating/engine';\nimport { createSwipeActions } from '../components/swipe-actions/engine';\nimport { createAttachment } from '../components/attachment/engine';\nimport { createSkeleton } from '../components/skeleton/engine';\nimport { createQuestionnaire } from '../components/questionnaire/engine';\nimport { createCodeBlock } from '../components/code-block/engine';\nimport { createContextMenu } from '../components/context-menu/engine';\nimport { createDrawer } from '../components/drawer/engine';\nimport { createLinkPreview } from '../components/link-preview/engine';\nimport { createProgress } from '../components/progress/engine';\nimport { createRangeSlider } from '../components/range-slider/engine';\nimport { createChart } from '../components/chart/engine';\nimport { createColorSlider } from '../components/color-slider/engine';\nimport { createColorArea } from '../components/color-area/engine';\nimport { createColorField } from '../components/color-field/engine';\nimport { createColorPicker } from '../components/color-picker/engine';\nimport { createTimeField } from '../components/time-field/engine';\nimport { createRangeCalendar } from '../components/range-calendar/engine';\nimport { createDateRangePicker } from '../components/date-range-picker/engine';\nimport { createTooltip } from '../components/tooltip/engine';\nimport { createPopover } from '../components/popover/engine';\nimport { createLoadingButton } from '../components/loading-button/engine';\nimport { createBreadcrumb } from '../components/breadcrumb/engine';\nimport { createEmptyState } from '../components/empty-state/engine';\nimport { createStatCard } from '../components/stat-card/engine';\nimport { createChartTooltip } from '../components/chart-tooltip/engine';\nimport { createMultiSelect } from '../components/multi-select/engine';\nimport { createTagInput } from '../components/tag-input/engine';\nimport { createDateTimePicker } from '../components/date-time-picker/engine';\nimport { createFilterBuilder } from '../components/filter-builder/engine';\nimport { createTimeline } from '../components/timeline/engine';\nimport { createActivityFeed } from '../components/activity-feed/engine';\nimport { createTreeView } from '../components/tree-view/engine';\nimport { createFileExplorer } from '../components/file-explorer/engine';\nimport { createJsonViewer } from '../components/json-viewer/engine';\nimport { createVirtualList } from '../components/virtual-list/engine';\nimport { createResizablePanel } from '../components/resizable-panel/engine';\nimport { createSplitView } from '../components/split-view/engine';\nimport { createDataTable } from '../components/data-table/engine';\nimport { createEditableTable } from '../components/editable-table/engine';\nimport { createRichTextEditor } from '../components/rich-text-editor/engine';\nimport { createSelect } from '../components/select/engine';\nimport { createAddToCart } from '../components/add-to-cart/engine';\nimport { createScrollIsland } from '../components/scroll-island/engine';\nimport { ScrollTrigger } from '../core/gsap';\nimport { warnOnce, type Instance } from '../core/types';\nimport { createSpringCards } from '../recipes/spring-cards/create-spring-cards';\nimport { createCurvedCarousel } from '../recipes/curved-carousel/create-curved-carousel';\nimport { createPile } from '../recipes/pile/create-pile';\nimport { createWords } from '../recipes/words/create-words';\nimport { createFlow } from '../recipes/flow/create-flow';\nimport { createPop } from '../recipes/pop/create-pop';\nimport { createFitText } from '../recipes/fit-text/create-fit-text';\nimport { createStretchFooter } from '../recipes/stretch-footer/create-stretch-footer';\nimport { createRadialMenu } from '../recipes/radial-menu/create-radial-menu';\nimport { createTabs } from '../recipes/tabs/create-tabs';\nimport { createCounter } from '../recipes/counter/create-counter';\nimport { createDetails } from '../recipes/details/create-details';\nimport { createReveal } from '../recipes/reveal/create-reveal';\nimport { createReflow } from '../recipes/reflow/create-reflow';\nimport { createSlotText } from '../recipes/slot-text/create-slot-text';\nimport { createSortable } from '../recipes/sortable/create-sortable';\nimport { createMaskText } from '../recipes/mask-text/create-mask-text';\nimport { createCascade } from '../recipes/cascade/create-cascade';\nimport { createTextRoll } from '../recipes/text-roll/create-text-roll';\nimport { createLetters } from '../recipes/letters/create-letters';\nimport { createParallax } from '../recipes/parallax/create-parallax';\nimport { createDepthGrid } from '../recipes/depth-grid/create-depth-grid';\nimport { createFrameZoom } from '../recipes/frame-zoom/create-frame-zoom';\nimport { createContrast } from '../recipes/contrast/create-contrast';\nimport { createMarquee } from '../recipes/marquee/create-marquee';\nimport { createCardDock } from '../recipes/card-dock/create-card-dock';\nimport { createSnapStrip } from '../recipes/snap-strip/create-snap-strip';\nimport { createFillText } from '../recipes/fill-text/create-fill-text';\nimport { parseOptions } from './parse-options';\nimport { createTicketMenu } from '../recipes/ticket-menu/create-ticket-menu';\nimport { createInfiniteReel } from '../recipes/infinite-reel/create-infinite-reel';\nimport { createRepelBento } from '../recipes/repel-bento/create-repel-bento';\nimport { createRotator } from '../recipes/rotator/create-rotator';\nimport { createDragRuler } from '../recipes/drag-ruler/create-drag-ruler';\nimport { createDockPill } from '../recipes/dock-pill/create-dock-pill';\n\ntype Factory = (el: HTMLElement, options: Record<string, unknown>) => Instance;\n\nconst factories = {\n 'joined-cta': createJoinedCta,\n 'image-zoom': createImageZoom,\n 'font-cycle': createFontCycle,\n 'thumbnail-nav': createThumbnailNav,\n 'action-button': createActionButton,\n 'film-hero': createFilmHero,\n 'editorial-reveal': createEditorialReveal,\n 'studio-dock': createStudioDock,\n 'trailer': createTrailer,\n 'quantity': createQuantity,\n 'pagination': createPagination,\n 'hover-card': createHoverCard,\n 'input-otp': createInputOtp,\n 'calendar': createCalendar,\n 'slot-picker': createSlotPicker,\n 'credit-card': createCreditCard,\n 'command-search': createCommandSearch,\n 'hold-confirm': createHoldConfirm,\n 'image-preview': createImagePreview,\n 'like-button': createLikeButton,\n 'notification-bell': createNotificationBell,\n 'password-strength': createPasswordStrength,\n 'scratch-card': createScratchCard,\n 'star-rating': createStarRating,\n 'swipe-actions': createSwipeActions,\n 'attachment': createAttachment,\n 'skeleton': createSkeleton,\n 'questionnaire': createQuestionnaire,\n 'code-block': createCodeBlock,\n 'context-menu': createContextMenu,\n 'drawer': createDrawer,\n 'link-preview': createLinkPreview,\n 'progress': createProgress,\n 'range-slider': createRangeSlider,\n 'chart': createChart,\n 'color-slider': createColorSlider,\n 'color-area': createColorArea,\n 'color-field': createColorField,\n 'color-picker': createColorPicker,\n 'time-field': createTimeField,\n 'range-calendar': createRangeCalendar,\n 'date-range-picker': createDateRangePicker,\n 'tooltip': createTooltip,\n 'popover': createPopover,\n 'loading-button': createLoadingButton,\n 'breadcrumb': createBreadcrumb,\n 'empty-state': createEmptyState,\n 'stat-card': createStatCard,\n 'chart-tooltip': createChartTooltip,\n 'multi-select': createMultiSelect,\n 'tag-input': createTagInput,\n 'date-time-picker': createDateTimePicker,\n 'filter-builder': createFilterBuilder,\n 'timeline': createTimeline,\n 'activity-feed': createActivityFeed,\n 'tree-view': createTreeView,\n 'file-explorer': createFileExplorer,\n 'json-viewer': createJsonViewer,\n 'virtual-list': createVirtualList,\n 'resizable-panel': createResizablePanel,\n 'split-view': createSplitView,\n 'data-table': createDataTable,\n 'editable-table': createEditableTable,\n 'rich-text-editor': createRichTextEditor,\n 'select': createSelect,\n 'add-to-cart': createAddToCart,\n 'scroll-island': createScrollIsland,\n 'weight-hover': createWeightHover,\n 'sticker': createSticker,\n 'scroll-dock': createScrollDock,\n 'local-clock': createLocalClock,\n 'spring-cards': createSpringCards,\n 'curved-carousel': (el, options) =>\n createCurvedCarousel(el, {\n ...options,\n onSelect: (index, slide) => el.dispatchEvent(new CustomEvent('mk:select', { detail: { index, slide }, bubbles: true })),\n }),\n pile: createPile,\n words: createWords,\n flow: createFlow,\n pop: createPop,\n 'fit-text': createFitText,\n 'stretch-footer': createStretchFooter,\n 'radial-menu': createRadialMenu,\n tabs: createTabs,\n counter: createCounter,\n details: (el) => createDetails(el),\n reveal: createReveal,\n reflow: createReflow,\n 'slot-text': createSlotText,\n sortable: createSortable,\n 'mask-text': createMaskText,\n cascade: createCascade,\n 'text-roll': createTextRoll,\n letters: createLetters,\n parallax: createParallax,\n 'depth-grid': createDepthGrid,\n 'frame-zoom': createFrameZoom,\n contrast: createContrast,\n marquee: createMarquee,\n 'card-dock': createCardDock,\n 'snap-strip': createSnapStrip,\n 'fill-text': createFillText,\n 'ticket-menu': createTicketMenu,\n 'infinite-reel': createInfiniteReel,\n 'repel-bento': createRepelBento,\n 'rotator': createRotator,\n 'drag-ruler': createDragRuler,\n 'dock-pill': createDockPill,\n} satisfies Record<string, Factory>;\n\nexport type RecipeName = keyof typeof factories;\nexport const recipeNames = Object.keys(factories) as RecipeName[];\n\n/** Measured text: wait for web fonts, fit before splitting into words. */\nconst AFTER_FONTS: RecipeName[] = ['fit-text', 'words', 'slot-text'];\n\nconst instances = new WeakMap<HTMLElement, Map<RecipeName, Instance>>();\n\nexport interface AutoInitOptions {\n /** Only start these recipes. */\n only?: RecipeName[];\n}\n\n/**\n * Start every `[data-mk]` recipe inside `root` (an element may list several:\n * `data-mk=\"fit-text words\"`). Options come from `data-mk-*` attributes.\n * Returns a function that destroys what this call created. Safe to call again:\n * elements that already run a recipe are skipped.\n */\nexport function autoInit(root: ParentNode = document, { only }: AutoInitOptions = {}): () => void {\n if (typeof window === 'undefined') return () => {};\n const created: Array<[HTMLElement, RecipeName, Instance]> = [];\n let cancelled = false;\n\n const elements = [...root.querySelectorAll<HTMLElement>('[data-mk]')];\n if (root instanceof HTMLElement && root.matches('[data-mk]')) elements.unshift(root);\n\n const start = (el: HTMLElement, name: RecipeName) => {\n if (cancelled) return;\n const running = instances.get(el) ?? new Map<RecipeName, Instance>();\n if (running.has(name)) return;\n const instance = (factories[name] as Factory)(el, parseOptions(el));\n running.set(name, instance);\n instances.set(el, running);\n created.push([el, name, instance]);\n };\n\n const now: Array<[HTMLElement, RecipeName]> = [];\n const later: Array<[HTMLElement, RecipeName]> = [];\n for (const el of elements) {\n for (const raw of (el.dataset.mk ?? '').split(/\\s+/).filter(Boolean)) {\n if (!(raw in factories)) {\n warnOnce(`autoInit: unknown recipe \"${raw}\" (known: ${recipeNames.join(', ')})`);\n continue;\n }\n const name = raw as RecipeName;\n if (only && !only.includes(name)) continue;\n (AFTER_FONTS.includes(name) ? later : now).push([el, name]);\n }\n }\n\n now.forEach(([el, name]) => start(el, name));\n if (later.length) {\n later.sort((a, b) => AFTER_FONTS.indexOf(a[1]) - AFTER_FONTS.indexOf(b[1]));\n const fonts = document.fonts?.ready ?? Promise.resolve();\n void Promise.race([fonts, new Promise((resolve) => setTimeout(resolve, 1500))]).then(() => {\n later.forEach(([el, name]) => start(el, name));\n if (!cancelled) ScrollTrigger.refresh();\n });\n }\n\n return () => {\n cancelled = true;\n for (const [el, name, instance] of created.reverse()) {\n instance.destroy();\n instances.get(el)?.delete(name);\n }\n created.length = 0;\n };\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../src/auto/parse-options.ts","../../src/auto/auto-init.ts"],"sourcesContent":["/** Attributes the recipes write themselves or use for children; never options. */\nconst RESERVED = new Set([\n '',\n 'ready',\n 'inview',\n 'carousel',\n 'open',\n 'card',\n 'slide',\n 'toggle',\n 'item',\n 'phantom',\n 'footerTitle',\n 'tab',\n 'indicator',\n 'chevron',\n 'text',\n 'role',\n 'motion',\n 'veil',\n 'swatch',\n 'part',\n 'sorting',\n 'sortableGroup',\n 'sortableLocked',\n 'cascade',\n 'on',\n 'tone',\n 'cursorZone',\n 'hidden',\n 'pressed',\n 'parallaxTarget',\n 'spread',\n 'expanded',\n 'settled',\n 'mode',\n 'active',\n 'islandToggle',\n 'islandPanel',\n 'islandItem',\n 'islandClose',\n 'reelTrack',\n 'reelCopy',\n 'dragging',\n 'dockItem',\n]);\n\nconst coerce = (value: string): unknown => {\n if (value === '' || value === 'true') return true;\n if (value === 'false') return false;\n if (/^-?\\d*\\.?\\d+$/.test(value)) return Number(value);\n return value;\n};\n\n/**\n * `data-mk-<option>` attributes → options object.\n * `data-mk-throw-boost=\"2.5\"` → `{ throwBoost: 2.5 }`, `data-mk-trigger=\"load\"` → `{ trigger: 'load' }`.\n */\nexport function parseOptions(el: HTMLElement): Record<string, unknown> {\n const options: Record<string, unknown> = {};\n for (const [key, raw] of Object.entries(el.dataset)) {\n if (!key.startsWith('mk') || key.length === 2) continue;\n const name = key.charAt(2).toLowerCase() + key.slice(3);\n if (RESERVED.has(name)) continue;\n options[name] = coerce(raw ?? '');\n }\n return options;\n}\n","import { createNotFound } from '../components/not-found/engine';\r\nimport { createMorphingPageDots } from '../components/morphing-page-dots/engine';\r\nimport { createBadgeButton } from '../components/badge-button/engine';\r\nimport { createMagnetizeButton } from '../components/magnetize-button/engine';\r\nimport { createParticleButton } from '../components/particle-button/engine';\r\nimport { createHandwritingText } from '../components/handwriting-text/engine';\r\nimport { createStickyHeader } from '../components/sticky-header/engine';\r\nimport { createScrollPreviewDock } from '../components/scroll-preview-dock/engine';\r\nimport { createBentoGrid } from '../components/bento-grid/engine';\r\nimport { createNotificationStack } from '../components/notification-stack/engine';\r\nimport { createRatingScale } from '../components/rating-scale/engine';\r\nimport { createTemperatureSlider } from '../components/temperature-slider/engine';\r\nimport { createEqualizerSlider } from '../components/equalizer-slider/engine';\r\nimport { createRadioGroup } from '../components/radio-group/engine';\r\nimport { createStepper } from '../components/stepper/engine';\r\nimport { createQuantity } from '../components/quantity/engine';\r\nimport { createPagination } from '../components/pagination/engine';\r\nimport { createHoverCard } from '../components/hover-card/engine';\r\nimport { createInputOtp } from '../components/input-otp/engine';\r\nimport { createJoinedCta } from '../recipes/joined-cta/create-joined-cta';\r\nimport { createImageZoom } from '../recipes/image-zoom/create-image-zoom';\r\nimport { createFontCycle } from '../recipes/font-cycle/create-font-cycle';\r\nimport { createThumbnailNav } from '../recipes/thumbnail-nav/create-thumbnail-nav';\r\nimport { createActionButton } from '../recipes/action-button/create-action-button';\r\nimport { createFilmHero } from '../recipes/film-hero/create-film-hero';\r\nimport { createEditorialReveal } from '../recipes/editorial-reveal/create-editorial-reveal';\r\nimport { createStudioDock } from '../components/studio-dock/engine';\r\nimport { createCalendar } from '../components/calendar/engine';\r\nimport { createSlotPicker } from '../components/slot-picker/engine';\r\nimport { createWeightHover } from '../recipes/weight-hover/create-weight-hover';\r\nimport { createSticker } from '../recipes/sticker/create-sticker';\r\nimport { createScrollDock } from '../recipes/scroll-dock/create-scroll-dock';\r\nimport { createLocalClock } from '../recipes/local-clock/create-local-clock';\r\nimport { createTrailer } from '../components/trailer/engine';\r\nimport { createCreditCard } from '../components/credit-card/engine';\r\nimport { createCommandSearch } from '../components/command-search/engine';\r\nimport { createHoldConfirm } from '../components/hold-confirm/engine';\r\nimport { createImagePreview } from '../components/image-preview/engine';\r\nimport { createLikeButton } from '../components/like-button/engine';\r\nimport { createNotificationBell } from '../components/notification-bell/engine';\r\nimport { createPasswordStrength } from '../components/password-strength/engine';\r\nimport { createScratchCard } from '../components/scratch-card/engine';\r\nimport { createStarRating } from '../components/star-rating/engine';\r\nimport { createSwipeActions } from '../components/swipe-actions/engine';\r\nimport { createAttachment } from '../components/attachment/engine';\r\nimport { createSkeleton } from '../components/skeleton/engine';\r\nimport { createQuestionnaire } from '../components/questionnaire/engine';\r\nimport { createCodeBlock } from '../components/code-block/engine';\r\nimport { createContextMenu } from '../components/context-menu/engine';\r\nimport { createDrawer } from '../components/drawer/engine';\r\nimport { createLinkPreview } from '../components/link-preview/engine';\r\nimport { createProgress } from '../components/progress/engine';\r\nimport { createRangeSlider } from '../components/range-slider/engine';\r\nimport { createChart } from '../components/chart/engine';\r\nimport { createColorSlider } from '../components/color-slider/engine';\r\nimport { createColorArea } from '../components/color-area/engine';\r\nimport { createColorField } from '../components/color-field/engine';\r\nimport { createColorPicker } from '../components/color-picker/engine';\r\nimport { createTimeField } from '../components/time-field/engine';\r\nimport { createRangeCalendar } from '../components/range-calendar/engine';\r\nimport { createDateRangePicker } from '../components/date-range-picker/engine';\r\nimport { createTooltip } from '../components/tooltip/engine';\r\nimport { createPopover } from '../components/popover/engine';\r\nimport { createLoadingButton } from '../components/loading-button/engine';\r\nimport { createBreadcrumb } from '../components/breadcrumb/engine';\r\nimport { createEmptyState } from '../components/empty-state/engine';\r\nimport { createStatCard } from '../components/stat-card/engine';\r\nimport { createChartTooltip } from '../components/chart-tooltip/engine';\r\nimport { createMultiSelect } from '../components/multi-select/engine';\r\nimport { createTagInput } from '../components/tag-input/engine';\r\nimport { createDateTimePicker } from '../components/date-time-picker/engine';\r\nimport { createFilterBuilder } from '../components/filter-builder/engine';\r\nimport { createTimeline } from '../components/timeline/engine';\r\nimport { createActivityFeed } from '../components/activity-feed/engine';\r\nimport { createTreeView } from '../components/tree-view/engine';\r\nimport { createFileExplorer } from '../components/file-explorer/engine';\r\nimport { createJsonViewer } from '../components/json-viewer/engine';\r\nimport { createVirtualList } from '../components/virtual-list/engine';\r\nimport { createResizablePanel } from '../components/resizable-panel/engine';\r\nimport { createSplitView } from '../components/split-view/engine';\r\nimport { createDataTable } from '../components/data-table/engine';\r\nimport { createEditableTable } from '../components/editable-table/engine';\r\nimport { createRichTextEditor } from '../components/rich-text-editor/engine';\r\nimport { createSelect } from '../components/select/engine';\r\nimport { createAddToCart } from '../components/add-to-cart/engine';\r\nimport { createScrollIsland } from '../components/scroll-island/engine';\r\nimport { ScrollTrigger } from '../core/gsap';\r\nimport { warnOnce, type Instance } from '../core/types';\r\nimport { createSpringCards } from '../recipes/spring-cards/create-spring-cards';\r\nimport { createCurvedCarousel } from '../recipes/curved-carousel/create-curved-carousel';\r\nimport { createPile } from '../recipes/pile/create-pile';\r\nimport { createWords } from '../recipes/words/create-words';\r\nimport { createFlow } from '../recipes/flow/create-flow';\r\nimport { createPop } from '../recipes/pop/create-pop';\r\nimport { createFitText } from '../recipes/fit-text/create-fit-text';\r\nimport { createStretchFooter } from '../recipes/stretch-footer/create-stretch-footer';\r\nimport { createRadialMenu } from '../recipes/radial-menu/create-radial-menu';\r\nimport { createTabs } from '../recipes/tabs/create-tabs';\r\nimport { createCounter } from '../recipes/counter/create-counter';\r\nimport { createDetails } from '../recipes/details/create-details';\r\nimport { createReveal } from '../recipes/reveal/create-reveal';\r\nimport { createReflow } from '../recipes/reflow/create-reflow';\r\nimport { createSlotText } from '../recipes/slot-text/create-slot-text';\r\nimport { createSortable } from '../recipes/sortable/create-sortable';\r\nimport { createMaskText } from '../recipes/mask-text/create-mask-text';\r\nimport { createCascade } from '../recipes/cascade/create-cascade';\r\nimport { createTextRoll } from '../recipes/text-roll/create-text-roll';\r\nimport { createLetters } from '../recipes/letters/create-letters';\r\nimport { createParallax } from '../recipes/parallax/create-parallax';\r\nimport { createDepthGrid } from '../recipes/depth-grid/create-depth-grid';\r\nimport { createFrameZoom } from '../recipes/frame-zoom/create-frame-zoom';\r\nimport { createContrast } from '../recipes/contrast/create-contrast';\r\nimport { createMarquee } from '../recipes/marquee/create-marquee';\r\nimport { createCardDock } from '../recipes/card-dock/create-card-dock';\r\nimport { createSnapStrip } from '../recipes/snap-strip/create-snap-strip';\r\nimport { createFillText } from '../recipes/fill-text/create-fill-text';\r\nimport { parseOptions } from './parse-options';\r\nimport { createTicketMenu } from '../recipes/ticket-menu/create-ticket-menu';\r\nimport { createInfiniteReel } from '../recipes/infinite-reel/create-infinite-reel';\r\nimport { createRepelBento } from '../recipes/repel-bento/create-repel-bento';\r\nimport { createRotator } from '../recipes/rotator/create-rotator';\r\nimport { createDragRuler } from '../recipes/drag-ruler/create-drag-ruler';\r\nimport { createDockPill } from '../recipes/dock-pill/create-dock-pill';\r\n\r\nimport { createSignaturePad } from '../components/signature-pad/engine';\r\n\r\nimport { createWaveformPlayer } from '../components/waveform-player/engine';\r\n\r\nimport { createVoiceMessageBubble } from '../components/voice-message-bubble/engine';\r\n\r\nimport { createDrilldownMenu } from '../components/drilldown-menu/engine';\r\n\r\nimport { createWheelPicker } from '../components/wheel-picker/engine';\r\n\r\ntype Factory = (el: HTMLElement, options: Record<string, unknown>) => Instance;\r\n\r\nconst factories = {\r\n 'stepper': createStepper,\r\n 'radio-group': createRadioGroup,\r\n 'equalizer-slider': createEqualizerSlider,\r\n 'temperature-slider': createTemperatureSlider,\r\n 'rating-scale': createRatingScale,\r\n 'notification-stack': createNotificationStack,\r\n 'bento-grid': createBentoGrid,\r\n 'scroll-preview-dock': createScrollPreviewDock,\r\n 'sticky-header': createStickyHeader,\r\n 'handwriting-text': createHandwritingText,\r\n 'particle-button': createParticleButton,\r\n 'magnetize-button': createMagnetizeButton,\r\n 'badge-button': createBadgeButton,\r\n 'morphing-page-dots': createMorphingPageDots,\r\n 'not-found': createNotFound,\r\n\r\n 'wheel-picker': createWheelPicker,\r\n 'drilldown-menu': createDrilldownMenu,\r\n 'voice-message-bubble': createVoiceMessageBubble,\r\n 'waveform-player': createWaveformPlayer,\r\n 'signature-pad': createSignaturePad,\r\n 'joined-cta': createJoinedCta,\r\n 'image-zoom': createImageZoom,\r\n 'font-cycle': createFontCycle,\r\n 'thumbnail-nav': createThumbnailNav,\r\n 'action-button': createActionButton,\r\n 'film-hero': createFilmHero,\r\n 'editorial-reveal': createEditorialReveal,\r\n 'studio-dock': createStudioDock,\r\n 'trailer': createTrailer,\r\n 'quantity': createQuantity,\r\n 'pagination': createPagination,\r\n 'hover-card': createHoverCard,\r\n 'input-otp': createInputOtp,\r\n 'calendar': createCalendar,\r\n 'slot-picker': createSlotPicker,\r\n 'credit-card': createCreditCard,\r\n 'command-search': createCommandSearch,\r\n 'hold-confirm': createHoldConfirm,\r\n 'image-preview': createImagePreview,\r\n 'like-button': createLikeButton,\r\n 'notification-bell': createNotificationBell,\r\n 'password-strength': createPasswordStrength,\r\n 'scratch-card': createScratchCard,\r\n 'star-rating': createStarRating,\r\n 'swipe-actions': createSwipeActions,\r\n 'attachment': createAttachment,\r\n 'skeleton': createSkeleton,\r\n 'questionnaire': createQuestionnaire,\r\n 'code-block': createCodeBlock,\r\n 'context-menu': createContextMenu,\r\n 'drawer': createDrawer,\r\n 'link-preview': createLinkPreview,\r\n 'progress': createProgress,\r\n 'range-slider': createRangeSlider,\r\n 'chart': createChart,\r\n 'color-slider': createColorSlider,\r\n 'color-area': createColorArea,\r\n 'color-field': createColorField,\r\n 'color-picker': createColorPicker,\r\n 'time-field': createTimeField,\r\n 'range-calendar': createRangeCalendar,\r\n 'date-range-picker': createDateRangePicker,\r\n 'tooltip': createTooltip,\r\n 'popover': createPopover,\r\n 'loading-button': createLoadingButton,\r\n 'breadcrumb': createBreadcrumb,\r\n 'empty-state': createEmptyState,\r\n 'stat-card': createStatCard,\r\n 'chart-tooltip': createChartTooltip,\r\n 'multi-select': createMultiSelect,\r\n 'tag-input': createTagInput,\r\n 'date-time-picker': createDateTimePicker,\r\n 'filter-builder': createFilterBuilder,\r\n 'timeline': createTimeline,\r\n 'activity-feed': createActivityFeed,\r\n 'tree-view': createTreeView,\r\n 'file-explorer': createFileExplorer,\r\n 'json-viewer': createJsonViewer,\r\n 'virtual-list': createVirtualList,\r\n 'resizable-panel': createResizablePanel,\r\n 'split-view': createSplitView,\r\n 'data-table': createDataTable,\r\n 'editable-table': createEditableTable,\r\n 'rich-text-editor': createRichTextEditor,\r\n 'select': createSelect,\r\n 'add-to-cart': createAddToCart,\r\n 'scroll-island': createScrollIsland,\r\n 'weight-hover': createWeightHover,\r\n 'sticker': createSticker,\r\n 'scroll-dock': createScrollDock,\r\n 'local-clock': createLocalClock,\r\n 'spring-cards': createSpringCards,\r\n 'curved-carousel': (el, options) =>\r\n createCurvedCarousel(el, {\r\n ...options,\r\n onSelect: (index, slide) => el.dispatchEvent(new CustomEvent('mk:select', { detail: { index, slide }, bubbles: true })),\r\n }),\r\n pile: createPile,\r\n words: createWords,\r\n flow: createFlow,\r\n pop: createPop,\r\n 'fit-text': createFitText,\r\n 'stretch-footer': createStretchFooter,\r\n 'radial-menu': createRadialMenu,\r\n tabs: createTabs,\r\n counter: createCounter,\r\n details: (el) => createDetails(el),\r\n reveal: createReveal,\r\n reflow: createReflow,\r\n 'slot-text': createSlotText,\r\n sortable: createSortable,\r\n 'mask-text': createMaskText,\r\n cascade: createCascade,\r\n 'text-roll': createTextRoll,\r\n letters: createLetters,\r\n parallax: createParallax,\r\n 'depth-grid': createDepthGrid,\r\n 'frame-zoom': createFrameZoom,\r\n contrast: createContrast,\r\n marquee: createMarquee,\r\n 'card-dock': createCardDock,\r\n 'snap-strip': createSnapStrip,\r\n 'fill-text': createFillText,\r\n 'ticket-menu': createTicketMenu,\r\n 'infinite-reel': createInfiniteReel,\r\n 'repel-bento': createRepelBento,\r\n 'rotator': createRotator,\r\n 'drag-ruler': createDragRuler,\r\n 'dock-pill': createDockPill,\r\n} satisfies Record<string, Factory>;\r\n\r\nexport type RecipeName = keyof typeof factories;\r\nexport const recipeNames = Object.keys(factories) as RecipeName[];\r\n\r\n/** Measured text: wait for web fonts, fit before splitting into words. */\r\nconst AFTER_FONTS: RecipeName[] = ['fit-text', 'words', 'slot-text'];\r\n\r\nconst instances = new WeakMap<HTMLElement, Map<RecipeName, Instance>>();\r\n\r\nexport interface AutoInitOptions {\r\n /** Only start these recipes. */\r\n only?: RecipeName[];\r\n}\r\n\r\n/**\r\n * Start every `[data-mk]` recipe inside `root` (an element may list several:\r\n * `data-mk=\"fit-text words\"`). Options come from `data-mk-*` attributes.\r\n * Returns a function that destroys what this call created. Safe to call again:\r\n * elements that already run a recipe are skipped.\r\n */\r\nexport function autoInit(root: ParentNode = document, { only }: AutoInitOptions = {}): () => void {\r\n if (typeof window === 'undefined') return () => {};\r\n const created: Array<[HTMLElement, RecipeName, Instance]> = [];\r\n let cancelled = false;\r\n\r\n const elements = [...root.querySelectorAll<HTMLElement>('[data-mk]')];\r\n if (root instanceof HTMLElement && root.matches('[data-mk]')) elements.unshift(root);\r\n\r\n const start = (el: HTMLElement, name: RecipeName) => {\r\n if (cancelled) return;\r\n const running = instances.get(el) ?? new Map<RecipeName, Instance>();\r\n if (running.has(name)) return;\r\n const instance = (factories[name] as Factory)(el, parseOptions(el));\r\n running.set(name, instance);\r\n instances.set(el, running);\r\n created.push([el, name, instance]);\r\n };\r\n\r\n const now: Array<[HTMLElement, RecipeName]> = [];\r\n const later: Array<[HTMLElement, RecipeName]> = [];\r\n for (const el of elements) {\r\n for (const raw of (el.dataset.mk ?? '').split(/\\s+/).filter(Boolean)) {\r\n if (!(raw in factories)) {\r\n warnOnce(`autoInit: unknown recipe \"${raw}\" (known: ${recipeNames.join(', ')})`);\r\n continue;\r\n }\r\n const name = raw as RecipeName;\r\n if (only && !only.includes(name)) continue;\r\n (AFTER_FONTS.includes(name) ? later : now).push([el, name]);\r\n }\r\n }\r\n\r\n now.forEach(([el, name]) => start(el, name));\r\n if (later.length) {\r\n later.sort((a, b) => AFTER_FONTS.indexOf(a[1]) - AFTER_FONTS.indexOf(b[1]));\r\n const fonts = document.fonts?.ready ?? Promise.resolve();\r\n void Promise.race([fonts, new Promise((resolve) => setTimeout(resolve, 1500))]).then(() => {\r\n later.forEach(([el, name]) => start(el, name));\r\n if (!cancelled) ScrollTrigger.refresh();\r\n });\r\n }\r\n\r\n return () => {\r\n cancelled = true;\r\n for (const [el, name, instance] of created.reverse()) {\r\n instance.destroy();\r\n instances.get(el)?.delete(name);\r\n }\r\n created.length = 0;\r\n };\r\n}\r\n"],"mappings":"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","names":[]}
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
startOfWeek,
|
|
28
28
|
toDate,
|
|
29
29
|
weekdayNames
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-Q7IW4FV3.js";
|
|
31
31
|
import {
|
|
32
32
|
THEMES,
|
|
33
33
|
THEME_EVENT,
|
|
@@ -3657,4 +3657,4 @@ export {
|
|
|
3657
3657
|
createHeatmapChart,
|
|
3658
3658
|
createOrbitMenu
|
|
3659
3659
|
};
|
|
3660
|
-
//# sourceMappingURL=chunk-
|
|
3660
|
+
//# sourceMappingURL=chunk-AWDEKDEJ.js.map
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
slideIndicator,
|
|
19
19
|
splitGraphemes,
|
|
20
20
|
takeMovement
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-Q7IW4FV3.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-EDMXWUW3.js.map
|