@yewdiel21/motion-kit 0.17.0 → 0.19.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 +240 -199
- package/dist/auto/index.d.ts +19 -3
- package/dist/auto/index.js +35 -3
- package/dist/auto/index.js.map +1 -1
- package/dist/{chunk-QFBOHPWZ.js → chunk-CQP66AZK.js} +2 -2
- package/dist/{chunk-QP4QJOEN.js → chunk-H4STLMCM.js} +2 -2
- package/dist/{chunk-BZLMCHUD.js → chunk-KDIJX6G4.js} +3 -3
- package/dist/{chunk-DOOMULVV.js → chunk-OLT3CWDJ.js} +4 -2
- package/dist/chunk-OLT3CWDJ.js.map +1 -0
- package/dist/{chunk-VJFPTLAK.js → chunk-PEDYJ2TV.js} +8 -22
- package/dist/chunk-PEDYJ2TV.js.map +1 -0
- package/dist/{chunk-7IQTMF7Y.js → chunk-Y4GIBTRG.js} +5130 -2153
- package/dist/chunk-Y4GIBTRG.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/code-block.css +267 -0
- package/dist/css/components/command-search.css +274 -2
- package/dist/css/components/dialog.css +264 -0
- package/dist/css/components/drilldown-menu.css +11 -7
- package/dist/css/components/equalizer-slider.css +26 -0
- package/dist/css/components/handwriting-text.css +15 -0
- package/dist/css/components/heatmap-chart.css +267 -1
- 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-area.css +261 -0
- package/dist/css/components/scroll-preview-dock.css +18 -0
- package/dist/css/components/select.css +300 -4
- package/dist/css/components/signature-pad.css +130 -103
- 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 +62 -45
- package/dist/css/components/waveform-player.css +49 -34
- package/dist/css/components/wheel-picker.css +16 -15
- package/dist/css/tokens.css +4 -0
- package/dist/elements/index.d.ts +217 -4
- package/dist/elements/index.js +614 -9
- package/dist/elements/index.js.map +1 -1
- package/dist/{engine-Bn6hC87X.d.ts → engine-D6XV-WNt.d.ts} +390 -1
- package/dist/gl/index.js +2 -2
- package/dist/index.css +886 -177
- package/dist/index.d.ts +23 -23
- package/dist/index.js +37 -5
- package/dist/index.js.map +1 -1
- package/dist/react/index.d.ts +126 -7
- package/dist/react/index.js +722 -7
- package/dist/react/index.js.map +1 -1
- package/dist/{reduced-YS6TZjpa.d.ts → reduced-4croIXl-.d.ts} +1 -1
- package/dist/{store-CZ6vdtIE.d.ts → store-CAHWkurn.d.ts} +1 -1
- package/package.json +110 -110
- package/registry.json +1357 -1160
- package/src/auto/auto-init.ts +341 -308
- 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/code-block/README.md +1 -1
- package/src/components/code-block/code-block.css +5 -0
- package/src/components/code-block/engine.ts +5 -0
- package/src/components/command-search/README.md +1 -1
- package/src/components/command-search/command-search.css +12 -2
- package/src/components/command-search/engine.ts +6 -0
- package/src/components/dialog/README.md +104 -103
- package/src/components/dialog/dialog.css +2 -0
- package/src/components/dialog/engine.ts +465 -449
- package/src/components/drilldown-menu/drilldown-menu.css +11 -7
- package/src/components/drilldown-menu/engine.ts +44 -4
- 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/heatmap-chart/README.md +48 -48
- package/src/components/heatmap-chart/engine.ts +6 -1
- package/src/components/heatmap-chart/heatmap-chart.css +5 -1
- package/src/components/icons.ts +1 -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-area/README.md +89 -0
- package/src/components/scroll-area/element.ts +35 -0
- package/src/components/scroll-area/engine.ts +528 -0
- package/src/components/scroll-area/react.tsx +67 -0
- package/src/components/scroll-area/scroll-area.css +260 -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/engine.ts +16 -4
- package/src/components/select/select.css +38 -4
- package/src/components/signature-pad/engine.ts +550 -437
- package/src/components/signature-pad/signature-pad.css +130 -103
- 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/engine.ts +11 -0
- package/src/components/voice-message-bubble/voice-message-bubble.css +14 -12
- package/src/components/waveform-player/README.md +1 -1
- package/src/components/waveform-player/engine.ts +344 -261
- package/src/components/waveform-player/waveform-player.css +50 -35
- package/src/components/wheel-picker/README.md +3 -1
- package/src/components/wheel-picker/element.ts +12 -5
- package/src/components/wheel-picker/engine.ts +37 -8
- package/src/components/wheel-picker/wheel-picker.css +17 -16
- package/src/core/timing.ts +2 -0
- package/src/css/tokens.css +4 -0
- package/src/elements/index.ts +321 -273
- package/src/index.ts +312 -295
- package/src/motion/morph.ts +5 -2
- package/src/react/index.ts +17 -0
- package/dist/chunk-7IQTMF7Y.js.map +0 -1
- package/dist/chunk-DOOMULVV.js.map +0 -1
- package/dist/chunk-VJFPTLAK.js.map +0 -1
- /package/dist/{chunk-QFBOHPWZ.js.map → chunk-CQP66AZK.js.map} +0 -0
- /package/dist/{chunk-QP4QJOEN.js.map → chunk-H4STLMCM.js.map} +0 -0
- /package/dist/{chunk-BZLMCHUD.js.map → chunk-KDIJX6G4.js.map} +0 -0
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-KDIJX6G4.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,
|
|
@@ -69,8 +71,10 @@ import {
|
|
|
69
71
|
createDrilldownMenu,
|
|
70
72
|
createEditableTable,
|
|
71
73
|
createEmptyState,
|
|
74
|
+
createEqualizerSlider,
|
|
72
75
|
createFileExplorer,
|
|
73
76
|
createFilterBuilder,
|
|
77
|
+
createHandwritingText,
|
|
74
78
|
createHoldConfirm,
|
|
75
79
|
createHoverCard,
|
|
76
80
|
createImagePreview,
|
|
@@ -79,20 +83,29 @@ import {
|
|
|
79
83
|
createLikeButton,
|
|
80
84
|
createLinkPreview,
|
|
81
85
|
createLoadingButton,
|
|
86
|
+
createMagnetizeButton,
|
|
87
|
+
createMorphingPageDots,
|
|
82
88
|
createMultiSelect,
|
|
89
|
+
createNotFound,
|
|
83
90
|
createNotificationBell,
|
|
91
|
+
createNotificationStack,
|
|
84
92
|
createPagination,
|
|
93
|
+
createParticleButton,
|
|
85
94
|
createPasswordStrength,
|
|
86
95
|
createPopover,
|
|
87
96
|
createProgress,
|
|
88
97
|
createQuantity,
|
|
89
98
|
createQuestionnaire,
|
|
99
|
+
createRadioGroup,
|
|
90
100
|
createRangeCalendar,
|
|
91
101
|
createRangeSlider,
|
|
102
|
+
createRatingScale,
|
|
92
103
|
createResizablePanel,
|
|
93
104
|
createRichTextEditor,
|
|
94
105
|
createScratchCard,
|
|
106
|
+
createScrollArea,
|
|
95
107
|
createScrollIsland,
|
|
108
|
+
createScrollPreviewDock,
|
|
96
109
|
createSelect,
|
|
97
110
|
createSignaturePad,
|
|
98
111
|
createSkeleton,
|
|
@@ -100,9 +113,12 @@ import {
|
|
|
100
113
|
createSplitView,
|
|
101
114
|
createStarRating,
|
|
102
115
|
createStatCard,
|
|
116
|
+
createStepper,
|
|
117
|
+
createStickyHeader,
|
|
103
118
|
createStudioDock,
|
|
104
119
|
createSwipeActions,
|
|
105
120
|
createTagInput,
|
|
121
|
+
createTemperatureSlider,
|
|
106
122
|
createTimeField,
|
|
107
123
|
createTimeline,
|
|
108
124
|
createTooltip,
|
|
@@ -112,11 +128,11 @@ import {
|
|
|
112
128
|
createVoiceMessageBubble,
|
|
113
129
|
createWaveformPlayer,
|
|
114
130
|
createWheelPicker
|
|
115
|
-
} from "../chunk-
|
|
131
|
+
} from "../chunk-Y4GIBTRG.js";
|
|
116
132
|
import "../chunk-34EZ7DF4.js";
|
|
117
133
|
import {
|
|
118
134
|
MK_HEAD_SCRIPT
|
|
119
|
-
} from "../chunk-
|
|
135
|
+
} from "../chunk-OLT3CWDJ.js";
|
|
120
136
|
import {
|
|
121
137
|
warnOnce
|
|
122
138
|
} from "../chunk-TGV27ZWM.js";
|
|
@@ -186,6 +202,21 @@ function parseOptions(el) {
|
|
|
186
202
|
|
|
187
203
|
// src/auto/auto-init.ts
|
|
188
204
|
var factories = {
|
|
205
|
+
"stepper": createStepper,
|
|
206
|
+
"radio-group": createRadioGroup,
|
|
207
|
+
"equalizer-slider": createEqualizerSlider,
|
|
208
|
+
"temperature-slider": createTemperatureSlider,
|
|
209
|
+
"rating-scale": createRatingScale,
|
|
210
|
+
"notification-stack": createNotificationStack,
|
|
211
|
+
"bento-grid": createBentoGrid,
|
|
212
|
+
"scroll-preview-dock": createScrollPreviewDock,
|
|
213
|
+
"sticky-header": createStickyHeader,
|
|
214
|
+
"handwriting-text": createHandwritingText,
|
|
215
|
+
"particle-button": createParticleButton,
|
|
216
|
+
"magnetize-button": createMagnetizeButton,
|
|
217
|
+
"badge-button": createBadgeButton,
|
|
218
|
+
"morphing-page-dots": createMorphingPageDots,
|
|
219
|
+
"not-found": createNotFound,
|
|
189
220
|
"wheel-picker": createWheelPicker,
|
|
190
221
|
"drilldown-menu": createDrilldownMenu,
|
|
191
222
|
"voice-message-bubble": createVoiceMessageBubble,
|
|
@@ -258,6 +289,7 @@ var factories = {
|
|
|
258
289
|
"select": createSelect,
|
|
259
290
|
"add-to-cart": createAddToCart,
|
|
260
291
|
"scroll-island": createScrollIsland,
|
|
292
|
+
"scroll-area": createScrollArea,
|
|
261
293
|
"weight-hover": createWeightHover,
|
|
262
294
|
"sticker": createSticker,
|
|
263
295
|
"scroll-dock": createScrollDock,
|
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';\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 '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":[]}
|
|
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';\nimport { createMorphingPageDots } from '../components/morphing-page-dots/engine';\nimport { createBadgeButton } from '../components/badge-button/engine';\nimport { createMagnetizeButton } from '../components/magnetize-button/engine';\nimport { createParticleButton } from '../components/particle-button/engine';\nimport { createHandwritingText } from '../components/handwriting-text/engine';\nimport { createStickyHeader } from '../components/sticky-header/engine';\nimport { createScrollPreviewDock } from '../components/scroll-preview-dock/engine';\nimport { createBentoGrid } from '../components/bento-grid/engine';\nimport { createNotificationStack } from '../components/notification-stack/engine';\nimport { createRatingScale } from '../components/rating-scale/engine';\nimport { createTemperatureSlider } from '../components/temperature-slider/engine';\nimport { createEqualizerSlider } from '../components/equalizer-slider/engine';\nimport { createRadioGroup } from '../components/radio-group/engine';\nimport { createStepper } from '../components/stepper/engine';\nimport { 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 { createScrollArea } from '../components/scroll-area/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\nimport { createSignaturePad } from '../components/signature-pad/engine';\n\nimport { createWaveformPlayer } from '../components/waveform-player/engine';\n\nimport { createVoiceMessageBubble } from '../components/voice-message-bubble/engine';\n\nimport { createDrilldownMenu } from '../components/drilldown-menu/engine';\n\nimport { createWheelPicker } from '../components/wheel-picker/engine';\n\ntype Factory = (el: HTMLElement, options: Record<string, unknown>) => Instance;\n\nconst factories = {\n 'stepper': createStepper,\n 'radio-group': createRadioGroup,\n 'equalizer-slider': createEqualizerSlider,\n 'temperature-slider': createTemperatureSlider,\n 'rating-scale': createRatingScale,\n 'notification-stack': createNotificationStack,\n 'bento-grid': createBentoGrid,\n 'scroll-preview-dock': createScrollPreviewDock,\n 'sticky-header': createStickyHeader,\n 'handwriting-text': createHandwritingText,\n 'particle-button': createParticleButton,\n 'magnetize-button': createMagnetizeButton,\n 'badge-button': createBadgeButton,\n 'morphing-page-dots': createMorphingPageDots,\n 'not-found': createNotFound,\n\n 'wheel-picker': createWheelPicker,\n 'drilldown-menu': createDrilldownMenu,\n 'voice-message-bubble': createVoiceMessageBubble,\n 'waveform-player': createWaveformPlayer,\n 'signature-pad': createSignaturePad,\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 'scroll-area': createScrollArea,\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":[]}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
createScope,
|
|
7
7
|
reduced,
|
|
8
8
|
whileVisible
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OLT3CWDJ.js";
|
|
10
10
|
import {
|
|
11
11
|
inert,
|
|
12
12
|
warnOnce
|
|
@@ -829,4 +829,4 @@ export {
|
|
|
829
829
|
createShaderBlur,
|
|
830
830
|
createParticleHero
|
|
831
831
|
};
|
|
832
|
-
//# sourceMappingURL=chunk-
|
|
832
|
+
//# sourceMappingURL=chunk-CQP66AZK.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
TIMING,
|
|
3
3
|
reduced
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-OLT3CWDJ.js";
|
|
5
5
|
import {
|
|
6
6
|
warnOnce
|
|
7
7
|
} from "./chunk-TGV27ZWM.js";
|
|
@@ -69,4 +69,4 @@ export {
|
|
|
69
69
|
animate,
|
|
70
70
|
leave
|
|
71
71
|
};
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-H4STLMCM.js.map
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
slideIndicator,
|
|
19
19
|
splitGraphemes,
|
|
20
20
|
takeMovement
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-Y4GIBTRG.js";
|
|
22
22
|
import {
|
|
23
23
|
clamp,
|
|
24
24
|
damp,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
entrances,
|
|
32
32
|
reduced,
|
|
33
33
|
whileVisible
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-OLT3CWDJ.js";
|
|
35
35
|
import {
|
|
36
36
|
inert,
|
|
37
37
|
warnOnce
|
|
@@ -4491,4 +4491,4 @@ export {
|
|
|
4491
4491
|
createScrollDock,
|
|
4492
4492
|
createLocalClock
|
|
4493
4493
|
};
|
|
4494
|
-
//# sourceMappingURL=chunk-
|
|
4494
|
+
//# sourceMappingURL=chunk-KDIJX6G4.js.map
|
|
@@ -195,7 +195,9 @@ var TIMING = Object.freeze({
|
|
|
195
195
|
infiniteReel: Object.freeze({ friction: 0.95, wheel: 0.05, dragThreshold: 5 }),
|
|
196
196
|
repelBento: Object.freeze({ offset: 0.6, stagger: 6e-3, strength: 5e3, distance: 30, breakpoint: 1024 }),
|
|
197
197
|
rotator: Object.freeze({ interval: 8e3, duration: 0.25, y: 5 }),
|
|
198
|
-
dragRuler: Object.freeze({ min: 0, max: 8, step: 0.1, pixelsPerUnit: 60 })
|
|
198
|
+
dragRuler: Object.freeze({ min: 0, max: 8, step: 0.1, pixelsPerUnit: 60 }),
|
|
199
|
+
/** scroll-area: bars hide after idleMs; edge fades up to `fade` px; a click on the rail glides (s); shortest thumb (px). */
|
|
200
|
+
scrollArea: Object.freeze({ idleMs: 900, fade: 24, glide: 0.6, minThumb: 24 })
|
|
199
201
|
});
|
|
200
202
|
|
|
201
203
|
// src/core/loop.ts
|
|
@@ -301,4 +303,4 @@ export {
|
|
|
301
303
|
MK_HEAD_SCRIPT,
|
|
302
304
|
createScope
|
|
303
305
|
};
|
|
304
|
-
//# sourceMappingURL=chunk-
|
|
306
|
+
//# sourceMappingURL=chunk-OLT3CWDJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/timing.ts","../src/core/loop.ts","../src/core/reduced.ts","../src/core/scope.ts"],"sourcesContent":["/**\n * Every duration in one place (seconds, like GSAP, unless the name says\n * ms). Recipes and components take their defaults from here, so a timing is\n * changed once.\n */\nexport const TIMING = Object.freeze({\n flow: 0.5,\n flowStagger: 0.05,\n stepChange: 0.5,\n reveal: Object.freeze({\n fast: [0.5, 0.25],\n normal: [0.7, 0.35],\n slow: [1.05, 0.5],\n slower: [1.6, 0.75],\n } as const),\n details: 0.32,\n chevron: 0.25,\n indicator: 0.45,\n number: 0.6,\n numberPricing: 0.7,\n revealCounter: 0.9,\n layoutTravel: 0.62,\n /** New items in a reflow enter in this share of the travel time. */\n layoutEnterFactor: 0.6,\n menu: Object.freeze({ duration: 0.35, stagger: 0.04, delay: 0.1 }),\n palette: Object.freeze({ duration: 0.1, stagger: 0.01 }),\n form: Object.freeze({ duration: 0.35, stagger: 0.04 }),\n landing: Object.freeze({ duration: 0.4, stagger: 0.05, delay: 0.15 }),\n content: Object.freeze({ duration: 0.6, stagger: 0.06 }),\n bubble: 0.7,\n bubbleStagger: 0.06,\n word: 0.25,\n wordStagger: 0.05,\n chatScroll: 0.35,\n composer: 0.18,\n slot: Object.freeze({ durationMs: 300, staggerMs: 45, exitOffsetMs: 50, colorFadeMs: 280, maxTilt: 5, minResizeMs: 140 }),\n swatch: 0.5,\n swatchLight: 3.5,\n swatchBackground: 4.5,\n /** ModalHost (modal-origin, modal-close-origin, modal-fallback, modal-auto-resize). */\n dialog: Object.freeze({\n /** The surface travels from its opener. */\n open: 0.7,\n /** The opener's colour hands over to the surface's. */\n surfaceColor: 0.3,\n /** Back into the opener. */\n close: 0.5,\n /** While closing, the content heads for the opener on a 2 s path cut at `close`. */\n contentReturn: 2,\n originHide: 0.08,\n originShow: 0.3,\n originShowDelay: 0.2,\n /** No opener on screen: scale .92 → 1. */\n fallback: 0.35,\n autoResize: 0.45,\n /** Backdrop tint on the signature curve. */\n backdrop: 0.5,\n /** Items of a list that opens from its control. */\n list: 0.25,\n }),\n /** modal-liquid (spring channels; springs are stiffness/damping, not times). */\n liquid: Object.freeze({\n size: 0.3,\n radius: 0.7,\n content: 0.3,\n color: 0.4,\n colorDelay: 0.15,\n ghost: 0.25,\n ghostDelay: 0.05,\n closeSize: 0.25,\n closeContent: 0.3,\n originRestore: 0.3,\n originRestoreDelay: 0.2,\n safetyMs: 1100,\n }),\n /** modal-drag: the spring back when a drag is not far enough. */\n drag: Object.freeze({ restore: 0.5, radiusRestore: 0.3 }),\n /** modal-float. */\n float: Object.freeze({ shadow: 0.45, glideDecay: 0.18, sizeSmoothing: 0.08 }),\n /** chat-loader-delay, chat-confirmation-bar. */\n chat: Object.freeze({ pendingDelayMs: 500, confirmWordStagger: 0.1 }),\n /** onboarding-busy-background, step-change, onboarding-reveal-counter. */\n onboarding: Object.freeze({ busy: 0.8, idle: 0.6, step: 0.5, counter: 0.9 }),\n /** task-drag: lift, land (FA .62), crossfade (66 % of the land), neighbours shifting (FA .52). */\n sortable: Object.freeze({ lift: 0.18, land: 0.42, landFade: 0.42 * 0.66, shift: 0.62 }),\n /** toast-deck, toast-morph, toast-character-reveal. */\n toast: Object.freeze({\n relayout: 0.6,\n expand: 0.55,\n expandStagger: 0.06,\n enter: 0.5,\n exit: 0.3,\n collapseDelayMs: 150,\n morphSize: 0.32,\n morphRadius: 0.7,\n morphContent: 0.32,\n morphColor: 0.4,\n morphColorDelay: 0.15,\n morphShadow: 0.6,\n morphShadowDelay: 0.05,\n safetyMs: 1100,\n chars: 0.4,\n charsDelay: 0.225,\n charsStagger: 0.02,\n }),\n /** glass (CSS): surface/shadow transitions, ring and shine. */\n glass: Object.freeze({ hover: 0.4, ring: 0.5 }),\n /** utility animations (css/effects/anim.css), by name. */\n effects: Object.freeze({\n out: 0.5,\n 'out-left': 0.5,\n 'out-bottom': 0.5,\n collapse: 0.25,\n highlight: 1,\n shake: 0.5,\n 'shake-strong': 0.4,\n fade: 0.3,\n wipe: 0.7,\n 'progress-in': 1,\n }),\n /** success confetti, per 60 fps frame. */\n confetti: Object.freeze({\n count: 45,\n speed: [2, 8] as const,\n lift: 2,\n radius: [3, 7] as const,\n decay: [0.015, 0.03] as const,\n gravity: 0.15,\n drag: 0.98,\n spin: 2.5,\n }),\n /** project sheet. */\n sheet: Object.freeze({ open: 0.72, close: 0.72, underlayScale: 0.98, underlayOpacity: 0.4 }),\n /** Physical spring pairs: [stiffness, damping]. */\n springs: Object.freeze({\n press: [400, 10] as const,\n success: [260, 18] as const,\n underlay: [300, 30] as const,\n letters: [300, 10] as const,\n cursorFollow: [800, 35] as const,\n cursorAppear: [500, 30] as const,\n bentoEnter: [60, 15] as const,\n bentoRepel: [300, 25] as const,\n dockPill: [380, 30] as const,\n }),\n /** masked type. */\n maskText: Object.freeze({ duration: 1.2, delay: 0.1, stagger: 0.02, exitStagger: 0.002, y: 100, threshold: 0.8 }),\n /** reveal group (rules, fades, rises). */\n cascade: Object.freeze({ duration: 1.2, step: 0.03, rise: 200, threshold: 0.3 }),\n /** slot title: each letter turns 8–14 times inside a 2 s expo.out envelope. */\n textRoll: Object.freeze({ duration: 2, stagger: 0.04, turns: [8, 14] as const, interval: 6000, quietMs: 1000 }),\n /** hero letters: scale on hover, pastel blink. */\n letters: Object.freeze({\n scale: 1.3,\n y: -5,\n step: 0.03,\n blink: 0.6,\n blinkStart: 0.6,\n blinkRepeatDelay: 0.1,\n blinkDelays: [0.1, 0.6, 0.2, 1, 0.4, 1.2, 0.15, 0.8, 0.3] as const,\n }),\n /** image parallax. */\n parallax: Object.freeze({ travel: 10, scale: 1.2, strongScale: 1.3, lerp: 1 }),\n /** About grid gathering from depth. */\n depthGrid: Object.freeze({\n perspective: 600,\n distance: 900,\n depth: -3000,\n rotate: -160,\n opacity: 0.05,\n scale: 0.4,\n stagger: 0.15,\n lerp: 1,\n }),\n /** video mask: the frame and the picture inside scale in opposite directions. */\n frameZoom: Object.freeze({\n outer: [80, 20] as const,\n inner: [130, 20] as const,\n phoneOuter: [95, 5] as const,\n phoneInner: [105, 5] as const,\n open: 1,\n lerp: 1,\n }),\n /** marquee: seconds per item, at most 14 counted. */\n marquee: Object.freeze({ perItem: 2, maxItems: 14 }),\n /** glass chip and dot cursor. */\n cursor: Object.freeze({ gutter: 10, circle: 96, dotLerp: 0.2, light: 180 }),\n /** floating navbar: enters from −300 % over 1.8 s; rows follow 0.15 s + 0.025 s each. */\n island: Object.freeze({ entrance: 1.8, offset: -300, delay: 0.15, step: 0.025, focus: 150 }),\n /** product dock: spread for 1.6 s on load; tablet range re-checked 250 ms after a resize. */\n cardDock: Object.freeze({ intro: 1600, resizeDebounce: 250 }),\n /** phone cards: 5 s a card, 2 s wait after a touch, 0.5 s after it shows. */\n snapStrip: Object.freeze({ interval: 5000, resume: 2000, delay: 500 }),\n /** fill-text: letters from .2, 0.5 s each, 0.1 s apart, top 90 % → centre 40 %. */\n fillText: Object.freeze({ from: 0.2, duration: 0.5, stagger: 0.1, start: 'top 90%', end: 'center 40%' }),\n /** particle hero: fade in 1 s after 0.3 s, morph cycles, pointer push. */\n particleHero: Object.freeze({ fadeIn: 1, fadeDelay: 0.3, size: 128, pointSize: 1.7, maxDpr: 1.5, stillSteps: 110 }),\n ticketMenu: Object.freeze({ open: 0.9, content: 1.1, stagger: 0.02, from: 150 }),\n infiniteReel: Object.freeze({ friction: 0.95, wheel: 0.05, dragThreshold: 5 }),\n repelBento: Object.freeze({ offset: 0.6, stagger: 0.006, strength: 5000, distance: 30, breakpoint: 1024 }),\n rotator: Object.freeze({ interval: 8000, duration: 0.25, y: 5 }),\n dragRuler: Object.freeze({ min: 0, max: 8, step: 0.1, pixelsPerUnit: 60 }),\n /** scroll-area: bars hide after idleMs; edge fades up to `fade` px; a click on the rail glides (s); shortest thumb (px). */\n scrollArea: Object.freeze({ idleMs: 900, fade: 24, glide: 0.6, minThumb: 24 }),\n});\n","import { gsap } from 'gsap';\n\n/** Called every frame with dt = 1 at 60 Hz. */\nexport type Tick = (dt: number) => void;\n\nconst subscribers = new Set<Tick>();\nconst FRAME_MS = 1000 / 60;\n\nfunction tick(_time: number, deltaMs: number) {\n // Capped so a backgrounded tab does not explode the springs.\n const dt = Math.min(deltaMs / FRAME_MS, 3);\n subscribers.forEach((fn) => fn(dt));\n}\n\n/** One shared ticker callback for every recipe. */\nexport function subscribe(fn: Tick): () => void {\n if (!subscribers.size) gsap.ticker.add(tick);\n subscribers.add(fn);\n return () => {\n subscribers.delete(fn);\n if (!subscribers.size) gsap.ticker.remove(tick);\n };\n}\n\n/** Run `fn` every frame only while `el` is near the viewport. */\nexport function whileVisible(el: Element, fn: Tick, rootMargin = '100px'): () => void {\n let stop: (() => void) | null = null;\n const io = new IntersectionObserver(\n ([entry]) => {\n if (entry?.isIntersecting) stop ??= subscribe(fn);\n else {\n stop?.();\n stop = null;\n }\n },\n { rootMargin },\n );\n io.observe(el);\n return () => {\n io.disconnect();\n stop?.();\n stop = null;\n };\n}\n","/** `prefers-reduced-motion: reduce`. Always false during SSR. */\nexport function reduced(): boolean {\n return typeof matchMedia === 'function' && matchMedia('(prefers-reduced-motion: reduce)').matches;\n}\n\n/**\n * Entrance animations run only with motion allowed and when the head safety net\n * (see MK_HEAD_SCRIPT) has not given up on JavaScript.\n */\nexport function entrances(): boolean {\n if (reduced()) return false;\n return !(typeof document !== 'undefined' && document.documentElement.classList.contains('mk-failed'));\n}\n\n/**\n * Inline this in <head> (before CSS paints). It enables the hidden entrance states\n * (`.mk-js`) and reveals everything again (`.mk-failed`) if no recipe has started\n * within 2.5 s — e.g. the bundle failed to load.\n */\nexport const MK_HEAD_SCRIPT =\n \"(function(){var r=document.documentElement;r.classList.add('mk-js');setTimeout(function(){if(!r.classList.contains('mk-ready'))r.classList.add('mk-failed')},2500)})();\";\n","import type { Cleanup } from './types';\n\nexport interface Scope {\n /** Register any cleanup; returns it for convenience. */\n add(fn: Cleanup): Cleanup;\n /** addEventListener that is removed on dispose. */\n on<K extends keyof HTMLElementEventMap>(\n target: EventTarget,\n type: K | (string & {}),\n listener: (event: HTMLElementEventMap[K]) => void,\n options?: AddEventListenerOptions | boolean,\n ): void;\n /** Disconnects the observer on dispose and returns it. */\n observe<O extends { disconnect(): void }>(observer: O): O;\n /** setTimeout that is cleared on dispose. */\n timeout(fn: () => void, ms: number): void;\n /** Set (or remove, with null) an attribute; dispose puts the original value back. */\n attr(el: Element, name: string, value: string | null): void;\n /** Run every cleanup once, newest first. */\n dispose(): void;\n readonly disposed: boolean;\n}\n\n/** Collects the side effects of one recipe instance so `destroy()` can undo all of them. */\nexport function createScope(): Scope {\n const cleanups: Cleanup[] = [];\n const originals = new Map<Element, Map<string, string | null>>();\n let disposed = false;\n return {\n add(fn) {\n cleanups.push(fn);\n return fn;\n },\n on(target, type, listener, options) {\n target.addEventListener(type, listener as EventListener, options);\n cleanups.push(() => target.removeEventListener(type, listener as EventListener, options));\n },\n observe(observer) {\n cleanups.push(() => observer.disconnect());\n return observer;\n },\n timeout(fn, ms) {\n const id = setTimeout(fn, ms);\n cleanups.push(() => clearTimeout(id));\n },\n attr(el, name, value) {\n let saved = originals.get(el);\n if (!saved) originals.set(el, (saved = new Map()));\n if (!saved.has(name)) {\n saved.set(name, el.getAttribute(name));\n cleanups.push(() => {\n const original = saved.get(name);\n if (original === null || original === undefined) el.removeAttribute(name);\n else el.setAttribute(name, original);\n });\n }\n if (value === null) el.removeAttribute(name);\n else el.setAttribute(name, value);\n },\n dispose() {\n if (disposed) return;\n disposed = true;\n for (const fn of cleanups.reverse()) fn();\n cleanups.length = 0;\n },\n get disposed() {\n return disposed;\n },\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
EASE,
|
|
3
3
|
Flip,
|
|
4
|
+
ICON_PATHS,
|
|
4
5
|
addDays,
|
|
5
6
|
bezier,
|
|
6
7
|
blurIn,
|
|
7
8
|
capitalize,
|
|
8
9
|
channels,
|
|
10
|
+
createScrollArea,
|
|
9
11
|
dayKey,
|
|
10
12
|
easeInCubic,
|
|
11
13
|
easeOut,
|
|
@@ -14,6 +16,7 @@ import {
|
|
|
14
16
|
flowIn,
|
|
15
17
|
flowInPalette,
|
|
16
18
|
gsap,
|
|
19
|
+
iconSvg,
|
|
17
20
|
motionSpring,
|
|
18
21
|
press,
|
|
19
22
|
registerMotion,
|
|
@@ -27,7 +30,7 @@ import {
|
|
|
27
30
|
startOfWeek,
|
|
28
31
|
toDate,
|
|
29
32
|
weekdayNames
|
|
30
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-Y4GIBTRG.js";
|
|
31
34
|
import {
|
|
32
35
|
THEMES,
|
|
33
36
|
THEME_EVENT,
|
|
@@ -41,7 +44,7 @@ import {
|
|
|
41
44
|
reduced,
|
|
42
45
|
subscribe,
|
|
43
46
|
whileVisible
|
|
44
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-OLT3CWDJ.js";
|
|
45
48
|
import {
|
|
46
49
|
inert,
|
|
47
50
|
warnOnce
|
|
@@ -259,23 +262,6 @@ var toastTimers = {
|
|
|
259
262
|
}
|
|
260
263
|
};
|
|
261
264
|
|
|
262
|
-
// src/components/icons.ts
|
|
263
|
-
var ICON_PATHS = {
|
|
264
|
-
close: "M6 6l12 12M18 6L6 18",
|
|
265
|
-
expand: "M14 4h6v6M10 20H4v-6M20 4l-7 7M4 20l7-7",
|
|
266
|
-
shrink: "M4 14h6v6M20 10h-6V4M10 14l-7 7M14 10l7-7",
|
|
267
|
-
check: "M5 12.5l4.5 4.5L19 7.5",
|
|
268
|
-
alert: "M12 8v5M12 16.5v.01M10.3 3.9L2.6 17.3a2 2 0 001.7 3h15.4a2 2 0 001.7-3L13.7 3.9a2 2 0 00-3.4 0z",
|
|
269
|
-
info: "M12 11v6M12 7.5v.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z",
|
|
270
|
-
send: "M12 19V5M5.5 11.5L12 5l6.5 6.5",
|
|
271
|
-
mic: "M12 3a3 3 0 00-3 3v6a3 3 0 006 0V6a3 3 0 00-3-3zM5.5 11a6.5 6.5 0 0013 0M12 17.5V21",
|
|
272
|
-
sparkle: "M12 3l1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9z",
|
|
273
|
-
grip: "M9 6h.01M15 6h.01M9 12h.01M15 12h.01M9 18h.01M15 18h.01"
|
|
274
|
-
};
|
|
275
|
-
function iconSvg(name, size = 20) {
|
|
276
|
-
return `<svg aria-hidden="true" width="${size}" height="${size}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="${ICON_PATHS[name]}"/></svg>`;
|
|
277
|
-
}
|
|
278
|
-
|
|
279
265
|
// src/components/toast/engine.ts
|
|
280
266
|
var STACK = { peek: 16, scaleStep: 0.05, minScale: 0.7, maxVisible: 3, gap: 8, baseZ: 1e3 };
|
|
281
267
|
var DISTANCE = { enter: 12, enterBlur: 6, exit: 24, exitBlur: 4, fade: 120 };
|
|
@@ -3288,6 +3274,8 @@ function createHeatmapChart(root, initial = {}) {
|
|
|
3288
3274
|
plot.prepend(scroller);
|
|
3289
3275
|
scroller.append(canvas);
|
|
3290
3276
|
scope.add(() => scroller.remove());
|
|
3277
|
+
const area = createScrollArea(plot, { viewport: scroller, axis: "x", focusable: false, decorative: true });
|
|
3278
|
+
scope.add(() => area.destroy());
|
|
3291
3279
|
const scale = document.createElement("div");
|
|
3292
3280
|
scale.dataset.mkHeatmapScale = "";
|
|
3293
3281
|
scale.setAttribute("aria-hidden", "true");
|
|
@@ -3622,8 +3610,6 @@ export {
|
|
|
3622
3610
|
fitComposer,
|
|
3623
3611
|
scrollToLatest,
|
|
3624
3612
|
createThemePicker,
|
|
3625
|
-
ICON_PATHS,
|
|
3626
|
-
iconSvg,
|
|
3627
3613
|
TOAST_LIMIT,
|
|
3628
3614
|
getToasts,
|
|
3629
3615
|
subscribeToasts,
|
|
@@ -3657,4 +3643,4 @@ export {
|
|
|
3657
3643
|
createHeatmapChart,
|
|
3658
3644
|
createOrbitMenu
|
|
3659
3645
|
};
|
|
3660
|
-
//# sourceMappingURL=chunk-
|
|
3646
|
+
//# sourceMappingURL=chunk-PEDYJ2TV.js.map
|