use-scroll-animate 9.4.0 → 9.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/components/fx-perf.cjs +161 -0
- package/dist/components/fx-perf.cjs.map +1 -0
- package/dist/components/fx-perf.d.cts +86 -0
- package/dist/components/fx-perf.d.ts +86 -0
- package/dist/components/fx-perf.js +155 -0
- package/dist/components/fx-perf.js.map +1 -0
- package/dist/components/fx-safe.cjs +155 -0
- package/dist/components/fx-safe.cjs.map +1 -0
- package/dist/components/fx-safe.d.cts +85 -0
- package/dist/components/fx-safe.d.ts +85 -0
- package/dist/components/fx-safe.js +145 -0
- package/dist/components/fx-safe.js.map +1 -0
- package/dist/components/fx2.cjs +20 -0
- package/dist/components/fx2.cjs.map +1 -1
- package/dist/components/fx2.d.cts +82 -1
- package/dist/components/fx2.d.ts +82 -1
- package/dist/components/fx2.js +9 -1
- package/dist/components/fx2.js.map +1 -1
- package/dist/components/marketplace.cjs +2 -0
- package/dist/components/marketplace.cjs.map +1 -1
- package/dist/components/marketplace.js +2 -0
- package/dist/components/marketplace.js.map +1 -1
- package/dist/components/widgets.cjs +445 -181
- package/dist/components/widgets.cjs.map +1 -1
- package/dist/components/widgets.d.cts +123 -2
- package/dist/components/widgets.d.ts +123 -2
- package/dist/components/widgets.js +442 -183
- package/dist/components/widgets.js.map +1 -1
- package/dist/widgets.umd.js +1 -1
- package/dist/widgets.umd.js.map +1 -1
- package/docs/ROADMAP.md +2 -2
- package/docs/components.md +33 -0
- package/package.json +42 -2
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
|
|
1
2
|
/**
|
|
2
3
|
* Members shared by every `<usa-*>` element. Attribute helpers, a cleanup
|
|
3
4
|
* bag that is emptied on disconnect, and motion helpers that degrade to the
|
|
@@ -1831,6 +1832,122 @@ interface UsaHeroVideoElement extends UsaElement {
|
|
|
1831
1832
|
}
|
|
1832
1833
|
declare function defineHeroVideo(tag?: string): CustomElementConstructor | undefined;
|
|
1833
1834
|
|
|
1835
|
+
/**
|
|
1836
|
+
* 9.5 — Accessible motion 2.0 (`motionary/fx/safe`, also `motionary/components/fx-safe`):
|
|
1837
|
+
*
|
|
1838
|
+
* - `vestibularSafe(keyframes)` — strips movement (translate / scale /
|
|
1839
|
+
* rotate / skew / perspective, clip and blur) from keyframes, keeping
|
|
1840
|
+
* opacity and colour, so any animation can get a vestibular-safe twin.
|
|
1841
|
+
* - `flashCount(keyframes, duration)` / `isFlashSafe(...)` — counts large
|
|
1842
|
+
* opacity / brightness swings and checks WCAG 2.3.1's three-flashes-per-
|
|
1843
|
+
* second limit.
|
|
1844
|
+
* - `applyMotionPreferences(prefs)` / `loadMotionPreferences()` — the
|
|
1845
|
+
* settings behind `<usa-motion-prefs>`: sensitivity level, speed (shared
|
|
1846
|
+
* clock rate), pause autoplay, no parallax; persisted in localStorage and
|
|
1847
|
+
* exposed as `data-usa-*` attributes on `<html>` for your CSS.
|
|
1848
|
+
*
|
|
1849
|
+
* Effects that never move anything: `safe-fade` (enter), `focus-glow`
|
|
1850
|
+
* (attention), `color-pulse` (attention), `underline-sweep` (hover).
|
|
1851
|
+
*/
|
|
1852
|
+
|
|
1853
|
+
interface MotionPreferences {
|
|
1854
|
+
sensitivity: MotionSensitivity;
|
|
1855
|
+
speed: number;
|
|
1856
|
+
pauseAutoplay: boolean;
|
|
1857
|
+
noParallax: boolean;
|
|
1858
|
+
}
|
|
1859
|
+
|
|
1860
|
+
/**
|
|
1861
|
+
* `<usa-motion-prefs>` (9.5) — a motion preference panel for your users:
|
|
1862
|
+
* motion level (Full · Gentle · Minimal · None — Motionary's sensitivity
|
|
1863
|
+
* levels), animation speed (the shared clock rate, 0.25–2×), "pause
|
|
1864
|
+
* autoplaying video" and "no parallax". Changes apply instantly to every
|
|
1865
|
+
* Motionary component on the page, persist in localStorage and are shown
|
|
1866
|
+
* as `data-usa-*` attributes on `<html>`; a live sample shows the result.
|
|
1867
|
+
* `prefs`, `reset()`; `usa:change` { prefs }. A labelled `form` of real
|
|
1868
|
+
* radio buttons, slider and checkboxes.
|
|
1869
|
+
*/
|
|
1870
|
+
interface UsaMotionPrefsElement extends UsaElement {
|
|
1871
|
+
readonly prefs: MotionPreferences;
|
|
1872
|
+
reset(): void;
|
|
1873
|
+
}
|
|
1874
|
+
declare function defineMotionPrefs(tag?: string): CustomElementConstructor | undefined;
|
|
1875
|
+
|
|
1876
|
+
/**
|
|
1877
|
+
* `<usa-pause-all>` (9.5) — one button that pauses all motion on the page
|
|
1878
|
+
* (WCAG 2.2.2 "Pause, Stop, Hide"): it pauses Motionary's shared clock
|
|
1879
|
+
* (every component, effect and frame loop), every other CSS / WAAPI
|
|
1880
|
+
* animation in the document and autoplaying media; pressing again resumes
|
|
1881
|
+
* them. Stays in sync with `motionClock`. `scope` (a selector) limits it to
|
|
1882
|
+
* one subtree's animations and media and leaves the shared clock alone.
|
|
1883
|
+
* `paused`, `toggle()`;
|
|
1884
|
+
* `usa:pause-all` { paused }. A real `button` with `aria-pressed`.
|
|
1885
|
+
*/
|
|
1886
|
+
interface UsaPauseAllElement extends UsaElement {
|
|
1887
|
+
readonly paused: boolean;
|
|
1888
|
+
toggle(): void;
|
|
1889
|
+
}
|
|
1890
|
+
declare function definePauseAll(tag?: string): CustomElementConstructor | undefined;
|
|
1891
|
+
|
|
1892
|
+
/**
|
|
1893
|
+
* `<usa-perf-monitor>` (9.6) — a live performance overlay for motion work:
|
|
1894
|
+
* FPS with a sparkline, active Motionary animations, frame-loop callbacks,
|
|
1895
|
+
* long tasks (PerformanceObserver) and the shared clock state. `corner`
|
|
1896
|
+
* (top-right default · top-left · bottom-right · bottom-left · `inline`),
|
|
1897
|
+
* `collapsed`; click the header to collapse. `stats` property;
|
|
1898
|
+
* `usa:jank` { fps } when FPS drops under `warn` (45). A labelled `status`
|
|
1899
|
+
* region updated about twice a second.
|
|
1900
|
+
*/
|
|
1901
|
+
interface PerfStats {
|
|
1902
|
+
fps: number;
|
|
1903
|
+
animations: number;
|
|
1904
|
+
loops: number;
|
|
1905
|
+
longTasks: number;
|
|
1906
|
+
clock: string;
|
|
1907
|
+
}
|
|
1908
|
+
interface UsaPerfMonitorElement extends UsaElement {
|
|
1909
|
+
readonly stats: PerfStats;
|
|
1910
|
+
}
|
|
1911
|
+
declare function definePerfMonitor(tag?: string): CustomElementConstructor | undefined;
|
|
1912
|
+
|
|
1913
|
+
/**
|
|
1914
|
+
* 9.6 — Performance 3.0 (`motionary/fx/perf`, also `motionary/components/fx-perf`):
|
|
1915
|
+
*
|
|
1916
|
+
* - `runInWorker(fn, ...args)` — run a pure function in a throw-away Web
|
|
1917
|
+
* Worker (built from its source) and get a promise of its result; runs
|
|
1918
|
+
* inline when Workers are unavailable.
|
|
1919
|
+
* - `offscreenRender(canvas, program, options)` — move a canvas animation
|
|
1920
|
+
* off the main thread: `program` is the source of
|
|
1921
|
+
* `function (ctx, t, w, h, state) {…}`; with OffscreenCanvas + Worker it
|
|
1922
|
+
* runs in a worker (`backend: 'worker'`), otherwise on the main thread via
|
|
1923
|
+
* the shared frame loop (`'main'`). Returns { backend, stop, resize }.
|
|
1924
|
+
* - `fpsMeter()` — a rolling frames-per-second meter on the shared loop.
|
|
1925
|
+
*
|
|
1926
|
+
* Effects: `idle-reveal` (enter) waits for an idle moment before fading in
|
|
1927
|
+
* (keeps first paint / input snappy); `gpu-lift` (hover) a compositor-only
|
|
1928
|
+
* lift (transform + opacity only). Reduced motion: idle-reveal just shows,
|
|
1929
|
+
* gpu-lift does nothing.
|
|
1930
|
+
*/
|
|
1931
|
+
|
|
1932
|
+
type DrawProgram = string | ((ctx: CanvasRenderingContext2D, t: number, w: number, h: number, state: Record<string, unknown>) => void);
|
|
1933
|
+
|
|
1934
|
+
/**
|
|
1935
|
+
* `<usa-worker-canvas scene="particles">` (9.6) — a canvas animation that
|
|
1936
|
+
* renders in a Web Worker on an OffscreenCanvas (main thread stays free;
|
|
1937
|
+
* falls back to the shared frame loop): built-in `scene` = `particles` ·
|
|
1938
|
+
* `orbits` · `starfield`, or your own `program` (the source of
|
|
1939
|
+
* `(ctx, t, w, h, state) => {…}`). Only runs while on screen.
|
|
1940
|
+
* `data-usa-backend` shows `worker` or `main`; `backend` property;
|
|
1941
|
+
* `usa:backend` { backend }. An `img` with `label`; reduced motion: one
|
|
1942
|
+
* still frame.
|
|
1943
|
+
*/
|
|
1944
|
+
interface UsaWorkerCanvasElement extends UsaElement {
|
|
1945
|
+
program: DrawProgram | null;
|
|
1946
|
+
readonly backend: string;
|
|
1947
|
+
}
|
|
1948
|
+
declare const WORKER_SCENES: Record<string, string>;
|
|
1949
|
+
declare function defineWorkerCanvas(tag?: string): CustomElementConstructor | undefined;
|
|
1950
|
+
|
|
1834
1951
|
/**
|
|
1835
1952
|
* motionary/components/widgets — the 6.x animated UI widgets, in their own
|
|
1836
1953
|
* entry so `motionary/components` and `components/lite` keep their size
|
|
@@ -1944,8 +2061,12 @@ declare global {
|
|
|
1944
2061
|
'usa-bg-generator': UsaBgGeneratorElement;
|
|
1945
2062
|
'usa-video-card': UsaVideoCardElement;
|
|
1946
2063
|
'usa-hero-video': UsaHeroVideoElement;
|
|
2064
|
+
'usa-motion-prefs': UsaMotionPrefsElement;
|
|
2065
|
+
'usa-pause-all': UsaPauseAllElement;
|
|
2066
|
+
'usa-perf-monitor': UsaPerfMonitorElement;
|
|
2067
|
+
'usa-worker-canvas': UsaWorkerCanvasElement;
|
|
1947
2068
|
}
|
|
1948
2069
|
}
|
|
1949
2070
|
|
|
1950
|
-
export { CAROUSEL_EFFECTS, EQ_PRESETS, FESTIVAL_THEMES, LOTTIE_ICONS, MENU_EFFECTS, MODAL_EFFECTS, NAV_INDICATORS, PRESENCE_STATES, PROGRESS_VARIANTS, RETRO_VARIANTS, SEGMENTED_VARIANTS, SHEET_SIDES, SKELETON_VARIANTS, SPARK_VARIANTS, SWITCH_VARIANTS, TAB_INDICATORS, TIP_PLACEMENTS, TOAST_POSITIONS, TOGGLE_VARIANTS, WEATHER_CONDITIONS, WIDGETS, WIDGET_TAGS, backgroundCss, badgeProgress, cartTotal, defineAddToCart, defineBadgeWall, defineBarChart, defineBgGenerator, defineCarousel, defineCartDrawer, defineChapterNav, defineChatComposer, defineClockControl, defineCodeExport, defineColorPicker, defineCommandPalette, defineCompare, defineCountdown, defineCubeGallery, defineDatePicker, defineDisclosure, defineDock, defineEqualizer, defineFestivalBanner, defineField, defineFileDrop, defineGauge, defineGenArt, defineGestureSticker, defineGlobe, defineGyroCard, defineHeroVideo, defineHudPanel, defineHydrate, defineKanban, defineKeyframeEditor, defineKpi, defineLeaderboard, defineLiquidNav, defineLocationCard, defineLottie, defineLottieIcon, defineLyrics, defineMasonryFlow, defineMenu, defineMenuToggle, defineMessageList, defineMilestones, defineModal, defineMotion, defineMusicPlayer, defineNavMorph, defineNotificationBell, defineOdometer, defineOrganicCard, defineOtp, definePagination, definePanorama, definePluginStore, definePresence, definePrizeWheel, defineProductGallery, defineProgressRing, definePropPanel, definePullCord, defineRadar, defineReactions, defineRedEnvelope, defineRetroButton, defineScene, defineSegmented, defineSheet, defineShortcut, defineSkeletonReveal, defineSketchChart, defineSparkline, defineSpatialCard, defineStarRating, defineStepper, defineStickyWall, defineStories, defineSuggestionChips, defineSwipeDeck, defineSwitch, defineTabBar, defineTerminal, defineThemeSurface, defineThemeSwitcher, defineTip, defineToastStack, defineUploadProgress, defineVideoCard, defineVoiceButton, defineVolumeKnob, defineWeatherCard, defineWidgets, defineXpBar, describeComponent, exportComponent, formatBytes, formatDistance, fuzzyMatch, haversine, hexToHsv, hsvToHex, initials, keyLabels, levelFor, matchesKeys, monthGrid, pageWindow, parseChips, parseISODate, parseLRC, parseMarkers, parseProps, parseReactions, parseTargets, passwordStrength, project, rankRows, sanitizeCode, sparkPoints, splitTime, stackToast, waveBars, wheelAngle, wrapIndex };
|
|
1951
|
-
export type { BellNotice, CartItem, ChatMessage, ExportFormat, ExportedNode, GlobeMarker, LeaderRow, PaletteCommand, PresenceState, PropSpec, RadarTarget, StackToastOptions, StickerState, UsaAddToCartElement, UsaBadgeWallElement, UsaBarChartElement, UsaBgGeneratorElement, UsaCarouselElement, UsaCartDrawerElement, UsaChapterNavElement, UsaChatComposerElement, UsaClockControlElement, UsaCodeExportElement, UsaColorPickerElement, UsaCommandPaletteElement, UsaCompareElement, UsaCountdownElement, UsaCubeGalleryElement, UsaDatePickerElement, UsaDisclosureElement, UsaDockElement, UsaEqualizerElement, UsaFestivalBannerElement, UsaFieldElement, UsaFileDropElement, UsaGaugeElement, UsaGenArtElement, UsaGestureStickerElement, UsaGlobeElement, UsaGyroCardElement, UsaHeroVideoElement, UsaHudPanelElement, UsaHydrateElement, UsaKanbanElement, UsaKeyframeEditorElement, UsaKpiElement, UsaLeaderboardElement, UsaLiquidNavElement, UsaLocationCardElement, UsaLottieElement, UsaLottieIconElement, UsaLyricsElement, UsaMasonryFlowElement, UsaMenuElement, UsaMenuToggleElement, UsaMessageListElement, UsaMilestonesElement, UsaModalElement, UsaMotionElement, UsaMusicPlayerElement, UsaNavMorphElement, UsaNotificationBellElement, UsaOdometerElement, UsaOrganicCardElement, UsaOtpElement, UsaPaginationElement, UsaPanoramaElement, UsaPluginStoreElement, UsaPresenceElement, UsaPrizeWheelElement, UsaProductGalleryElement, UsaProgressRingElement, UsaPropPanelElement, UsaPullCordElement, UsaRadarElement, UsaReactionsElement, UsaRedEnvelopeElement, UsaRetroButtonElement, UsaSceneElement, UsaSegmentedElement, UsaSheetElement, UsaShortcutElement, UsaSkeletonRevealElement, UsaSketchChartElement, UsaSparklineElement, UsaSpatialCardElement, UsaStarRatingElement, UsaStepperElement, UsaStickyWallElement, UsaStoriesElement, UsaSuggestionChipsElement, UsaSwipeDeckElement, UsaSwitchElement, UsaTabBarElement, UsaTerminalElement, UsaThemeSurfaceElement, UsaThemeSwitcherElement, UsaTipElement, UsaToastStackElement, UsaUploadProgressElement, UsaVideoCardElement, UsaVoiceButtonElement, UsaVolumeKnobElement, UsaWeatherCardElement, UsaXpBarElement, WallBadge };
|
|
2071
|
+
export { CAROUSEL_EFFECTS, EQ_PRESETS, FESTIVAL_THEMES, LOTTIE_ICONS, MENU_EFFECTS, MODAL_EFFECTS, NAV_INDICATORS, PRESENCE_STATES, PROGRESS_VARIANTS, RETRO_VARIANTS, SEGMENTED_VARIANTS, SHEET_SIDES, SKELETON_VARIANTS, SPARK_VARIANTS, SWITCH_VARIANTS, TAB_INDICATORS, TIP_PLACEMENTS, TOAST_POSITIONS, TOGGLE_VARIANTS, WEATHER_CONDITIONS, WIDGETS, WIDGET_TAGS, WORKER_SCENES, backgroundCss, badgeProgress, cartTotal, defineAddToCart, defineBadgeWall, defineBarChart, defineBgGenerator, defineCarousel, defineCartDrawer, defineChapterNav, defineChatComposer, defineClockControl, defineCodeExport, defineColorPicker, defineCommandPalette, defineCompare, defineCountdown, defineCubeGallery, defineDatePicker, defineDisclosure, defineDock, defineEqualizer, defineFestivalBanner, defineField, defineFileDrop, defineGauge, defineGenArt, defineGestureSticker, defineGlobe, defineGyroCard, defineHeroVideo, defineHudPanel, defineHydrate, defineKanban, defineKeyframeEditor, defineKpi, defineLeaderboard, defineLiquidNav, defineLocationCard, defineLottie, defineLottieIcon, defineLyrics, defineMasonryFlow, defineMenu, defineMenuToggle, defineMessageList, defineMilestones, defineModal, defineMotion, defineMotionPrefs, defineMusicPlayer, defineNavMorph, defineNotificationBell, defineOdometer, defineOrganicCard, defineOtp, definePagination, definePanorama, definePauseAll, definePerfMonitor, definePluginStore, definePresence, definePrizeWheel, defineProductGallery, defineProgressRing, definePropPanel, definePullCord, defineRadar, defineReactions, defineRedEnvelope, defineRetroButton, defineScene, defineSegmented, defineSheet, defineShortcut, defineSkeletonReveal, defineSketchChart, defineSparkline, defineSpatialCard, defineStarRating, defineStepper, defineStickyWall, defineStories, defineSuggestionChips, defineSwipeDeck, defineSwitch, defineTabBar, defineTerminal, defineThemeSurface, defineThemeSwitcher, defineTip, defineToastStack, defineUploadProgress, defineVideoCard, defineVoiceButton, defineVolumeKnob, defineWeatherCard, defineWidgets, defineWorkerCanvas, defineXpBar, describeComponent, exportComponent, formatBytes, formatDistance, fuzzyMatch, haversine, hexToHsv, hsvToHex, initials, keyLabels, levelFor, matchesKeys, monthGrid, pageWindow, parseChips, parseISODate, parseLRC, parseMarkers, parseProps, parseReactions, parseTargets, passwordStrength, project, rankRows, sanitizeCode, sparkPoints, splitTime, stackToast, waveBars, wheelAngle, wrapIndex };
|
|
2072
|
+
export type { BellNotice, CartItem, ChatMessage, ExportFormat, ExportedNode, GlobeMarker, LeaderRow, PaletteCommand, PerfStats, PresenceState, PropSpec, RadarTarget, StackToastOptions, StickerState, UsaAddToCartElement, UsaBadgeWallElement, UsaBarChartElement, UsaBgGeneratorElement, UsaCarouselElement, UsaCartDrawerElement, UsaChapterNavElement, UsaChatComposerElement, UsaClockControlElement, UsaCodeExportElement, UsaColorPickerElement, UsaCommandPaletteElement, UsaCompareElement, UsaCountdownElement, UsaCubeGalleryElement, UsaDatePickerElement, UsaDisclosureElement, UsaDockElement, UsaEqualizerElement, UsaFestivalBannerElement, UsaFieldElement, UsaFileDropElement, UsaGaugeElement, UsaGenArtElement, UsaGestureStickerElement, UsaGlobeElement, UsaGyroCardElement, UsaHeroVideoElement, UsaHudPanelElement, UsaHydrateElement, UsaKanbanElement, UsaKeyframeEditorElement, UsaKpiElement, UsaLeaderboardElement, UsaLiquidNavElement, UsaLocationCardElement, UsaLottieElement, UsaLottieIconElement, UsaLyricsElement, UsaMasonryFlowElement, UsaMenuElement, UsaMenuToggleElement, UsaMessageListElement, UsaMilestonesElement, UsaModalElement, UsaMotionElement, UsaMotionPrefsElement, UsaMusicPlayerElement, UsaNavMorphElement, UsaNotificationBellElement, UsaOdometerElement, UsaOrganicCardElement, UsaOtpElement, UsaPaginationElement, UsaPanoramaElement, UsaPauseAllElement, UsaPerfMonitorElement, UsaPluginStoreElement, UsaPresenceElement, UsaPrizeWheelElement, UsaProductGalleryElement, UsaProgressRingElement, UsaPropPanelElement, UsaPullCordElement, UsaRadarElement, UsaReactionsElement, UsaRedEnvelopeElement, UsaRetroButtonElement, UsaSceneElement, UsaSegmentedElement, UsaSheetElement, UsaShortcutElement, UsaSkeletonRevealElement, UsaSketchChartElement, UsaSparklineElement, UsaSpatialCardElement, UsaStarRatingElement, UsaStepperElement, UsaStickyWallElement, UsaStoriesElement, UsaSuggestionChipsElement, UsaSwipeDeckElement, UsaSwitchElement, UsaTabBarElement, UsaTerminalElement, UsaThemeSurfaceElement, UsaThemeSwitcherElement, UsaTipElement, UsaToastStackElement, UsaUploadProgressElement, UsaVideoCardElement, UsaVoiceButtonElement, UsaVolumeKnobElement, UsaWeatherCardElement, UsaWorkerCanvasElement, UsaXpBarElement, WallBadge };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
type MotionSensitivity = 'full' | 'gentle' | 'minimal' | 'static';
|
|
1
2
|
/**
|
|
2
3
|
* Members shared by every `<usa-*>` element. Attribute helpers, a cleanup
|
|
3
4
|
* bag that is emptied on disconnect, and motion helpers that degrade to the
|
|
@@ -1831,6 +1832,122 @@ interface UsaHeroVideoElement extends UsaElement {
|
|
|
1831
1832
|
}
|
|
1832
1833
|
declare function defineHeroVideo(tag?: string): CustomElementConstructor | undefined;
|
|
1833
1834
|
|
|
1835
|
+
/**
|
|
1836
|
+
* 9.5 — Accessible motion 2.0 (`motionary/fx/safe`, also `motionary/components/fx-safe`):
|
|
1837
|
+
*
|
|
1838
|
+
* - `vestibularSafe(keyframes)` — strips movement (translate / scale /
|
|
1839
|
+
* rotate / skew / perspective, clip and blur) from keyframes, keeping
|
|
1840
|
+
* opacity and colour, so any animation can get a vestibular-safe twin.
|
|
1841
|
+
* - `flashCount(keyframes, duration)` / `isFlashSafe(...)` — counts large
|
|
1842
|
+
* opacity / brightness swings and checks WCAG 2.3.1's three-flashes-per-
|
|
1843
|
+
* second limit.
|
|
1844
|
+
* - `applyMotionPreferences(prefs)` / `loadMotionPreferences()` — the
|
|
1845
|
+
* settings behind `<usa-motion-prefs>`: sensitivity level, speed (shared
|
|
1846
|
+
* clock rate), pause autoplay, no parallax; persisted in localStorage and
|
|
1847
|
+
* exposed as `data-usa-*` attributes on `<html>` for your CSS.
|
|
1848
|
+
*
|
|
1849
|
+
* Effects that never move anything: `safe-fade` (enter), `focus-glow`
|
|
1850
|
+
* (attention), `color-pulse` (attention), `underline-sweep` (hover).
|
|
1851
|
+
*/
|
|
1852
|
+
|
|
1853
|
+
interface MotionPreferences {
|
|
1854
|
+
sensitivity: MotionSensitivity;
|
|
1855
|
+
speed: number;
|
|
1856
|
+
pauseAutoplay: boolean;
|
|
1857
|
+
noParallax: boolean;
|
|
1858
|
+
}
|
|
1859
|
+
|
|
1860
|
+
/**
|
|
1861
|
+
* `<usa-motion-prefs>` (9.5) — a motion preference panel for your users:
|
|
1862
|
+
* motion level (Full · Gentle · Minimal · None — Motionary's sensitivity
|
|
1863
|
+
* levels), animation speed (the shared clock rate, 0.25–2×), "pause
|
|
1864
|
+
* autoplaying video" and "no parallax". Changes apply instantly to every
|
|
1865
|
+
* Motionary component on the page, persist in localStorage and are shown
|
|
1866
|
+
* as `data-usa-*` attributes on `<html>`; a live sample shows the result.
|
|
1867
|
+
* `prefs`, `reset()`; `usa:change` { prefs }. A labelled `form` of real
|
|
1868
|
+
* radio buttons, slider and checkboxes.
|
|
1869
|
+
*/
|
|
1870
|
+
interface UsaMotionPrefsElement extends UsaElement {
|
|
1871
|
+
readonly prefs: MotionPreferences;
|
|
1872
|
+
reset(): void;
|
|
1873
|
+
}
|
|
1874
|
+
declare function defineMotionPrefs(tag?: string): CustomElementConstructor | undefined;
|
|
1875
|
+
|
|
1876
|
+
/**
|
|
1877
|
+
* `<usa-pause-all>` (9.5) — one button that pauses all motion on the page
|
|
1878
|
+
* (WCAG 2.2.2 "Pause, Stop, Hide"): it pauses Motionary's shared clock
|
|
1879
|
+
* (every component, effect and frame loop), every other CSS / WAAPI
|
|
1880
|
+
* animation in the document and autoplaying media; pressing again resumes
|
|
1881
|
+
* them. Stays in sync with `motionClock`. `scope` (a selector) limits it to
|
|
1882
|
+
* one subtree's animations and media and leaves the shared clock alone.
|
|
1883
|
+
* `paused`, `toggle()`;
|
|
1884
|
+
* `usa:pause-all` { paused }. A real `button` with `aria-pressed`.
|
|
1885
|
+
*/
|
|
1886
|
+
interface UsaPauseAllElement extends UsaElement {
|
|
1887
|
+
readonly paused: boolean;
|
|
1888
|
+
toggle(): void;
|
|
1889
|
+
}
|
|
1890
|
+
declare function definePauseAll(tag?: string): CustomElementConstructor | undefined;
|
|
1891
|
+
|
|
1892
|
+
/**
|
|
1893
|
+
* `<usa-perf-monitor>` (9.6) — a live performance overlay for motion work:
|
|
1894
|
+
* FPS with a sparkline, active Motionary animations, frame-loop callbacks,
|
|
1895
|
+
* long tasks (PerformanceObserver) and the shared clock state. `corner`
|
|
1896
|
+
* (top-right default · top-left · bottom-right · bottom-left · `inline`),
|
|
1897
|
+
* `collapsed`; click the header to collapse. `stats` property;
|
|
1898
|
+
* `usa:jank` { fps } when FPS drops under `warn` (45). A labelled `status`
|
|
1899
|
+
* region updated about twice a second.
|
|
1900
|
+
*/
|
|
1901
|
+
interface PerfStats {
|
|
1902
|
+
fps: number;
|
|
1903
|
+
animations: number;
|
|
1904
|
+
loops: number;
|
|
1905
|
+
longTasks: number;
|
|
1906
|
+
clock: string;
|
|
1907
|
+
}
|
|
1908
|
+
interface UsaPerfMonitorElement extends UsaElement {
|
|
1909
|
+
readonly stats: PerfStats;
|
|
1910
|
+
}
|
|
1911
|
+
declare function definePerfMonitor(tag?: string): CustomElementConstructor | undefined;
|
|
1912
|
+
|
|
1913
|
+
/**
|
|
1914
|
+
* 9.6 — Performance 3.0 (`motionary/fx/perf`, also `motionary/components/fx-perf`):
|
|
1915
|
+
*
|
|
1916
|
+
* - `runInWorker(fn, ...args)` — run a pure function in a throw-away Web
|
|
1917
|
+
* Worker (built from its source) and get a promise of its result; runs
|
|
1918
|
+
* inline when Workers are unavailable.
|
|
1919
|
+
* - `offscreenRender(canvas, program, options)` — move a canvas animation
|
|
1920
|
+
* off the main thread: `program` is the source of
|
|
1921
|
+
* `function (ctx, t, w, h, state) {…}`; with OffscreenCanvas + Worker it
|
|
1922
|
+
* runs in a worker (`backend: 'worker'`), otherwise on the main thread via
|
|
1923
|
+
* the shared frame loop (`'main'`). Returns { backend, stop, resize }.
|
|
1924
|
+
* - `fpsMeter()` — a rolling frames-per-second meter on the shared loop.
|
|
1925
|
+
*
|
|
1926
|
+
* Effects: `idle-reveal` (enter) waits for an idle moment before fading in
|
|
1927
|
+
* (keeps first paint / input snappy); `gpu-lift` (hover) a compositor-only
|
|
1928
|
+
* lift (transform + opacity only). Reduced motion: idle-reveal just shows,
|
|
1929
|
+
* gpu-lift does nothing.
|
|
1930
|
+
*/
|
|
1931
|
+
|
|
1932
|
+
type DrawProgram = string | ((ctx: CanvasRenderingContext2D, t: number, w: number, h: number, state: Record<string, unknown>) => void);
|
|
1933
|
+
|
|
1934
|
+
/**
|
|
1935
|
+
* `<usa-worker-canvas scene="particles">` (9.6) — a canvas animation that
|
|
1936
|
+
* renders in a Web Worker on an OffscreenCanvas (main thread stays free;
|
|
1937
|
+
* falls back to the shared frame loop): built-in `scene` = `particles` ·
|
|
1938
|
+
* `orbits` · `starfield`, or your own `program` (the source of
|
|
1939
|
+
* `(ctx, t, w, h, state) => {…}`). Only runs while on screen.
|
|
1940
|
+
* `data-usa-backend` shows `worker` or `main`; `backend` property;
|
|
1941
|
+
* `usa:backend` { backend }. An `img` with `label`; reduced motion: one
|
|
1942
|
+
* still frame.
|
|
1943
|
+
*/
|
|
1944
|
+
interface UsaWorkerCanvasElement extends UsaElement {
|
|
1945
|
+
program: DrawProgram | null;
|
|
1946
|
+
readonly backend: string;
|
|
1947
|
+
}
|
|
1948
|
+
declare const WORKER_SCENES: Record<string, string>;
|
|
1949
|
+
declare function defineWorkerCanvas(tag?: string): CustomElementConstructor | undefined;
|
|
1950
|
+
|
|
1834
1951
|
/**
|
|
1835
1952
|
* motionary/components/widgets — the 6.x animated UI widgets, in their own
|
|
1836
1953
|
* entry so `motionary/components` and `components/lite` keep their size
|
|
@@ -1944,8 +2061,12 @@ declare global {
|
|
|
1944
2061
|
'usa-bg-generator': UsaBgGeneratorElement;
|
|
1945
2062
|
'usa-video-card': UsaVideoCardElement;
|
|
1946
2063
|
'usa-hero-video': UsaHeroVideoElement;
|
|
2064
|
+
'usa-motion-prefs': UsaMotionPrefsElement;
|
|
2065
|
+
'usa-pause-all': UsaPauseAllElement;
|
|
2066
|
+
'usa-perf-monitor': UsaPerfMonitorElement;
|
|
2067
|
+
'usa-worker-canvas': UsaWorkerCanvasElement;
|
|
1947
2068
|
}
|
|
1948
2069
|
}
|
|
1949
2070
|
|
|
1950
|
-
export { CAROUSEL_EFFECTS, EQ_PRESETS, FESTIVAL_THEMES, LOTTIE_ICONS, MENU_EFFECTS, MODAL_EFFECTS, NAV_INDICATORS, PRESENCE_STATES, PROGRESS_VARIANTS, RETRO_VARIANTS, SEGMENTED_VARIANTS, SHEET_SIDES, SKELETON_VARIANTS, SPARK_VARIANTS, SWITCH_VARIANTS, TAB_INDICATORS, TIP_PLACEMENTS, TOAST_POSITIONS, TOGGLE_VARIANTS, WEATHER_CONDITIONS, WIDGETS, WIDGET_TAGS, backgroundCss, badgeProgress, cartTotal, defineAddToCart, defineBadgeWall, defineBarChart, defineBgGenerator, defineCarousel, defineCartDrawer, defineChapterNav, defineChatComposer, defineClockControl, defineCodeExport, defineColorPicker, defineCommandPalette, defineCompare, defineCountdown, defineCubeGallery, defineDatePicker, defineDisclosure, defineDock, defineEqualizer, defineFestivalBanner, defineField, defineFileDrop, defineGauge, defineGenArt, defineGestureSticker, defineGlobe, defineGyroCard, defineHeroVideo, defineHudPanel, defineHydrate, defineKanban, defineKeyframeEditor, defineKpi, defineLeaderboard, defineLiquidNav, defineLocationCard, defineLottie, defineLottieIcon, defineLyrics, defineMasonryFlow, defineMenu, defineMenuToggle, defineMessageList, defineMilestones, defineModal, defineMotion, defineMusicPlayer, defineNavMorph, defineNotificationBell, defineOdometer, defineOrganicCard, defineOtp, definePagination, definePanorama, definePluginStore, definePresence, definePrizeWheel, defineProductGallery, defineProgressRing, definePropPanel, definePullCord, defineRadar, defineReactions, defineRedEnvelope, defineRetroButton, defineScene, defineSegmented, defineSheet, defineShortcut, defineSkeletonReveal, defineSketchChart, defineSparkline, defineSpatialCard, defineStarRating, defineStepper, defineStickyWall, defineStories, defineSuggestionChips, defineSwipeDeck, defineSwitch, defineTabBar, defineTerminal, defineThemeSurface, defineThemeSwitcher, defineTip, defineToastStack, defineUploadProgress, defineVideoCard, defineVoiceButton, defineVolumeKnob, defineWeatherCard, defineWidgets, defineXpBar, describeComponent, exportComponent, formatBytes, formatDistance, fuzzyMatch, haversine, hexToHsv, hsvToHex, initials, keyLabels, levelFor, matchesKeys, monthGrid, pageWindow, parseChips, parseISODate, parseLRC, parseMarkers, parseProps, parseReactions, parseTargets, passwordStrength, project, rankRows, sanitizeCode, sparkPoints, splitTime, stackToast, waveBars, wheelAngle, wrapIndex };
|
|
1951
|
-
export type { BellNotice, CartItem, ChatMessage, ExportFormat, ExportedNode, GlobeMarker, LeaderRow, PaletteCommand, PresenceState, PropSpec, RadarTarget, StackToastOptions, StickerState, UsaAddToCartElement, UsaBadgeWallElement, UsaBarChartElement, UsaBgGeneratorElement, UsaCarouselElement, UsaCartDrawerElement, UsaChapterNavElement, UsaChatComposerElement, UsaClockControlElement, UsaCodeExportElement, UsaColorPickerElement, UsaCommandPaletteElement, UsaCompareElement, UsaCountdownElement, UsaCubeGalleryElement, UsaDatePickerElement, UsaDisclosureElement, UsaDockElement, UsaEqualizerElement, UsaFestivalBannerElement, UsaFieldElement, UsaFileDropElement, UsaGaugeElement, UsaGenArtElement, UsaGestureStickerElement, UsaGlobeElement, UsaGyroCardElement, UsaHeroVideoElement, UsaHudPanelElement, UsaHydrateElement, UsaKanbanElement, UsaKeyframeEditorElement, UsaKpiElement, UsaLeaderboardElement, UsaLiquidNavElement, UsaLocationCardElement, UsaLottieElement, UsaLottieIconElement, UsaLyricsElement, UsaMasonryFlowElement, UsaMenuElement, UsaMenuToggleElement, UsaMessageListElement, UsaMilestonesElement, UsaModalElement, UsaMotionElement, UsaMusicPlayerElement, UsaNavMorphElement, UsaNotificationBellElement, UsaOdometerElement, UsaOrganicCardElement, UsaOtpElement, UsaPaginationElement, UsaPanoramaElement, UsaPluginStoreElement, UsaPresenceElement, UsaPrizeWheelElement, UsaProductGalleryElement, UsaProgressRingElement, UsaPropPanelElement, UsaPullCordElement, UsaRadarElement, UsaReactionsElement, UsaRedEnvelopeElement, UsaRetroButtonElement, UsaSceneElement, UsaSegmentedElement, UsaSheetElement, UsaShortcutElement, UsaSkeletonRevealElement, UsaSketchChartElement, UsaSparklineElement, UsaSpatialCardElement, UsaStarRatingElement, UsaStepperElement, UsaStickyWallElement, UsaStoriesElement, UsaSuggestionChipsElement, UsaSwipeDeckElement, UsaSwitchElement, UsaTabBarElement, UsaTerminalElement, UsaThemeSurfaceElement, UsaThemeSwitcherElement, UsaTipElement, UsaToastStackElement, UsaUploadProgressElement, UsaVideoCardElement, UsaVoiceButtonElement, UsaVolumeKnobElement, UsaWeatherCardElement, UsaXpBarElement, WallBadge };
|
|
2071
|
+
export { CAROUSEL_EFFECTS, EQ_PRESETS, FESTIVAL_THEMES, LOTTIE_ICONS, MENU_EFFECTS, MODAL_EFFECTS, NAV_INDICATORS, PRESENCE_STATES, PROGRESS_VARIANTS, RETRO_VARIANTS, SEGMENTED_VARIANTS, SHEET_SIDES, SKELETON_VARIANTS, SPARK_VARIANTS, SWITCH_VARIANTS, TAB_INDICATORS, TIP_PLACEMENTS, TOAST_POSITIONS, TOGGLE_VARIANTS, WEATHER_CONDITIONS, WIDGETS, WIDGET_TAGS, WORKER_SCENES, backgroundCss, badgeProgress, cartTotal, defineAddToCart, defineBadgeWall, defineBarChart, defineBgGenerator, defineCarousel, defineCartDrawer, defineChapterNav, defineChatComposer, defineClockControl, defineCodeExport, defineColorPicker, defineCommandPalette, defineCompare, defineCountdown, defineCubeGallery, defineDatePicker, defineDisclosure, defineDock, defineEqualizer, defineFestivalBanner, defineField, defineFileDrop, defineGauge, defineGenArt, defineGestureSticker, defineGlobe, defineGyroCard, defineHeroVideo, defineHudPanel, defineHydrate, defineKanban, defineKeyframeEditor, defineKpi, defineLeaderboard, defineLiquidNav, defineLocationCard, defineLottie, defineLottieIcon, defineLyrics, defineMasonryFlow, defineMenu, defineMenuToggle, defineMessageList, defineMilestones, defineModal, defineMotion, defineMotionPrefs, defineMusicPlayer, defineNavMorph, defineNotificationBell, defineOdometer, defineOrganicCard, defineOtp, definePagination, definePanorama, definePauseAll, definePerfMonitor, definePluginStore, definePresence, definePrizeWheel, defineProductGallery, defineProgressRing, definePropPanel, definePullCord, defineRadar, defineReactions, defineRedEnvelope, defineRetroButton, defineScene, defineSegmented, defineSheet, defineShortcut, defineSkeletonReveal, defineSketchChart, defineSparkline, defineSpatialCard, defineStarRating, defineStepper, defineStickyWall, defineStories, defineSuggestionChips, defineSwipeDeck, defineSwitch, defineTabBar, defineTerminal, defineThemeSurface, defineThemeSwitcher, defineTip, defineToastStack, defineUploadProgress, defineVideoCard, defineVoiceButton, defineVolumeKnob, defineWeatherCard, defineWidgets, defineWorkerCanvas, defineXpBar, describeComponent, exportComponent, formatBytes, formatDistance, fuzzyMatch, haversine, hexToHsv, hsvToHex, initials, keyLabels, levelFor, matchesKeys, monthGrid, pageWindow, parseChips, parseISODate, parseLRC, parseMarkers, parseProps, parseReactions, parseTargets, passwordStrength, project, rankRows, sanitizeCode, sparkPoints, splitTime, stackToast, waveBars, wheelAngle, wrapIndex };
|
|
2072
|
+
export type { BellNotice, CartItem, ChatMessage, ExportFormat, ExportedNode, GlobeMarker, LeaderRow, PaletteCommand, PerfStats, PresenceState, PropSpec, RadarTarget, StackToastOptions, StickerState, UsaAddToCartElement, UsaBadgeWallElement, UsaBarChartElement, UsaBgGeneratorElement, UsaCarouselElement, UsaCartDrawerElement, UsaChapterNavElement, UsaChatComposerElement, UsaClockControlElement, UsaCodeExportElement, UsaColorPickerElement, UsaCommandPaletteElement, UsaCompareElement, UsaCountdownElement, UsaCubeGalleryElement, UsaDatePickerElement, UsaDisclosureElement, UsaDockElement, UsaEqualizerElement, UsaFestivalBannerElement, UsaFieldElement, UsaFileDropElement, UsaGaugeElement, UsaGenArtElement, UsaGestureStickerElement, UsaGlobeElement, UsaGyroCardElement, UsaHeroVideoElement, UsaHudPanelElement, UsaHydrateElement, UsaKanbanElement, UsaKeyframeEditorElement, UsaKpiElement, UsaLeaderboardElement, UsaLiquidNavElement, UsaLocationCardElement, UsaLottieElement, UsaLottieIconElement, UsaLyricsElement, UsaMasonryFlowElement, UsaMenuElement, UsaMenuToggleElement, UsaMessageListElement, UsaMilestonesElement, UsaModalElement, UsaMotionElement, UsaMotionPrefsElement, UsaMusicPlayerElement, UsaNavMorphElement, UsaNotificationBellElement, UsaOdometerElement, UsaOrganicCardElement, UsaOtpElement, UsaPaginationElement, UsaPanoramaElement, UsaPauseAllElement, UsaPerfMonitorElement, UsaPluginStoreElement, UsaPresenceElement, UsaPrizeWheelElement, UsaProductGalleryElement, UsaProgressRingElement, UsaPropPanelElement, UsaPullCordElement, UsaRadarElement, UsaReactionsElement, UsaRedEnvelopeElement, UsaRetroButtonElement, UsaSceneElement, UsaSegmentedElement, UsaSheetElement, UsaShortcutElement, UsaSkeletonRevealElement, UsaSketchChartElement, UsaSparklineElement, UsaSpatialCardElement, UsaStarRatingElement, UsaStepperElement, UsaStickyWallElement, UsaStoriesElement, UsaSuggestionChipsElement, UsaSwipeDeckElement, UsaSwitchElement, UsaTabBarElement, UsaTerminalElement, UsaThemeSurfaceElement, UsaThemeSwitcherElement, UsaTipElement, UsaToastStackElement, UsaUploadProgressElement, UsaVideoCardElement, UsaVoiceButtonElement, UsaVolumeKnobElement, UsaWeatherCardElement, UsaWorkerCanvasElement, UsaXpBarElement, WallBadge };
|