motionary 6.8.0 → 7.0.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.
Files changed (174) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +2 -2
  3. package/README_ja.md +2 -2
  4. package/README_zh.md +2 -2
  5. package/bin/usa-codemod-7.mjs +91 -0
  6. package/dist/chunks/{gpu-CsP2ZB3x.js → gpu-Bkw605Ds.js} +183 -5
  7. package/dist/chunks/gpu-Bkw605Ds.js.map +1 -0
  8. package/dist/chunks/{gpu-BBRLgEzM.cjs → gpu-Dx0H875w.cjs} +187 -4
  9. package/dist/chunks/gpu-Dx0H875w.cjs.map +1 -0
  10. package/dist/chunks/{index-tags-wv0R_vkO.cjs → index-tags-BTMwrfgV.cjs} +3 -3
  11. package/dist/chunks/index-tags-BTMwrfgV.cjs.map +1 -0
  12. package/dist/chunks/{index-tags-DucKMQr_.js → index-tags-C04JP8g4.js} +3 -3
  13. package/dist/chunks/index-tags-C04JP8g4.js.map +1 -0
  14. package/dist/chunks/player-C-TwEEy6.js +516 -0
  15. package/dist/chunks/player-C-TwEEy6.js.map +1 -0
  16. package/dist/chunks/player-PS6_FzNw.cjs +525 -0
  17. package/dist/chunks/player-PS6_FzNw.cjs.map +1 -0
  18. package/dist/components/a11y.cjs +1 -1
  19. package/dist/components/a11y.d.cts +2 -2
  20. package/dist/components/a11y.d.ts +2 -2
  21. package/dist/components/a11y.js +1 -1
  22. package/dist/components/angular.cjs +2 -2
  23. package/dist/components/angular.cjs.map +1 -1
  24. package/dist/components/angular.d.cts +5 -36
  25. package/dist/components/angular.d.ts +5 -36
  26. package/dist/components/angular.js +2 -2
  27. package/dist/components/angular.js.map +1 -1
  28. package/dist/components/effects.cjs +13 -522
  29. package/dist/components/effects.cjs.map +1 -1
  30. package/dist/components/effects.js +5 -513
  31. package/dist/components/effects.js.map +1 -1
  32. package/dist/components/fx-3d.cjs +2 -2
  33. package/dist/components/fx-3d.cjs.map +1 -1
  34. package/dist/components/fx-3d.d.cts +2 -2
  35. package/dist/components/fx-3d.d.ts +2 -2
  36. package/dist/components/fx-3d.js +2 -2
  37. package/dist/components/fx-3d.js.map +1 -1
  38. package/dist/components/fx-focus.cjs +125 -0
  39. package/dist/components/fx-focus.cjs.map +1 -0
  40. package/dist/components/fx-focus.d.cts +65 -0
  41. package/dist/components/fx-focus.d.ts +65 -0
  42. package/dist/components/fx-focus.js +122 -0
  43. package/dist/components/fx-focus.js.map +1 -0
  44. package/dist/components/fx-gpu.cjs +2 -2
  45. package/dist/components/fx-gpu.d.cts +2 -2
  46. package/dist/components/fx-gpu.d.ts +2 -2
  47. package/dist/components/fx-gpu.js +1 -1
  48. package/dist/components/fx-light.cjs +2 -2
  49. package/dist/components/fx-light.cjs.map +1 -1
  50. package/dist/components/fx-light.d.cts +2 -2
  51. package/dist/components/fx-light.d.ts +2 -2
  52. package/dist/components/fx-light.js +2 -2
  53. package/dist/components/fx-light.js.map +1 -1
  54. package/dist/components/fx-morph.cjs +2 -2
  55. package/dist/components/fx-morph.cjs.map +1 -1
  56. package/dist/components/fx-morph.d.cts +2 -2
  57. package/dist/components/fx-morph.d.ts +2 -2
  58. package/dist/components/fx-morph.js +2 -2
  59. package/dist/components/fx-morph.js.map +1 -1
  60. package/dist/components/fx-physics.cjs +2 -2
  61. package/dist/components/fx-physics.cjs.map +1 -1
  62. package/dist/components/fx-physics.d.cts +2 -2
  63. package/dist/components/fx-physics.d.ts +2 -2
  64. package/dist/components/fx-physics.js +2 -2
  65. package/dist/components/fx-physics.js.map +1 -1
  66. package/dist/components/fx-text.cjs +2 -2
  67. package/dist/components/fx-text.cjs.map +1 -1
  68. package/dist/components/fx-text.d.cts +2 -2
  69. package/dist/components/fx-text.d.ts +2 -2
  70. package/dist/components/fx-text.js +2 -2
  71. package/dist/components/fx-text.js.map +1 -1
  72. package/dist/components/fx-transitions.cjs +2 -2
  73. package/dist/components/fx-transitions.cjs.map +1 -1
  74. package/dist/components/fx-transitions.d.cts +2 -2
  75. package/dist/components/fx-transitions.d.ts +2 -2
  76. package/dist/components/fx-transitions.js +2 -2
  77. package/dist/components/fx-transitions.js.map +1 -1
  78. package/dist/components/fx-weather.cjs +2 -2
  79. package/dist/components/fx-weather.cjs.map +1 -1
  80. package/dist/components/fx-weather.d.cts +2 -2
  81. package/dist/components/fx-weather.d.ts +2 -2
  82. package/dist/components/fx-weather.js +2 -2
  83. package/dist/components/fx-weather.js.map +1 -1
  84. package/dist/components/fx2.cjs +37 -22
  85. package/dist/components/fx2.cjs.map +1 -1
  86. package/dist/components/fx2.d.cts +135 -14
  87. package/dist/components/fx2.d.ts +135 -14
  88. package/dist/components/fx2.js +25 -21
  89. package/dist/components/fx2.js.map +1 -1
  90. package/dist/components/interaction.cjs +11 -94
  91. package/dist/components/interaction.cjs.map +1 -1
  92. package/dist/components/interaction.css +0 -1
  93. package/dist/components/interaction.d.cts +3 -21
  94. package/dist/components/interaction.d.ts +3 -21
  95. package/dist/components/interaction.js +12 -94
  96. package/dist/components/interaction.js.map +1 -1
  97. package/dist/components/jsx.d.cts +2 -2
  98. package/dist/components/jsx.d.ts +2 -2
  99. package/dist/components/lazy.cjs +1 -1
  100. package/dist/components/lazy.d.cts +2 -2
  101. package/dist/components/lazy.d.ts +2 -2
  102. package/dist/components/lazy.js +1 -1
  103. package/dist/components/lite.cjs +115 -256
  104. package/dist/components/lite.cjs.map +1 -1
  105. package/dist/components/lite.js +116 -255
  106. package/dist/components/lite.js.map +1 -1
  107. package/dist/components/marketplace.cjs +82 -0
  108. package/dist/components/marketplace.cjs.map +1 -0
  109. package/dist/components/marketplace.d.cts +108 -0
  110. package/dist/components/marketplace.d.ts +108 -0
  111. package/dist/components/marketplace.js +77 -0
  112. package/dist/components/marketplace.js.map +1 -0
  113. package/dist/components/perf.cjs +1 -1
  114. package/dist/components/perf.d.cts +2 -2
  115. package/dist/components/perf.d.ts +2 -2
  116. package/dist/components/perf.js +1 -1
  117. package/dist/components/react.cjs +2 -2
  118. package/dist/components/react.cjs.map +1 -1
  119. package/dist/components/react.js +2 -2
  120. package/dist/components/react.js.map +1 -1
  121. package/dist/components/solid.cjs +2 -2
  122. package/dist/components/solid.cjs.map +1 -1
  123. package/dist/components/solid.d.cts +4 -35
  124. package/dist/components/solid.d.ts +4 -35
  125. package/dist/components/solid.js +2 -2
  126. package/dist/components/solid.js.map +1 -1
  127. package/dist/components/svelte.cjs +2 -2
  128. package/dist/components/svelte.cjs.map +1 -1
  129. package/dist/components/svelte.d.cts +5 -36
  130. package/dist/components/svelte.d.ts +5 -36
  131. package/dist/components/svelte.js +2 -2
  132. package/dist/components/svelte.js.map +1 -1
  133. package/dist/components/ui.cjs +16 -74
  134. package/dist/components/ui.cjs.map +1 -1
  135. package/dist/components/ui.css +0 -1
  136. package/dist/components/ui.d.cts +3 -18
  137. package/dist/components/ui.d.ts +3 -18
  138. package/dist/components/ui.js +17 -74
  139. package/dist/components/ui.js.map +1 -1
  140. package/dist/components/vue.cjs +2 -2
  141. package/dist/components/vue.cjs.map +1 -1
  142. package/dist/components/vue.d.cts +5 -36
  143. package/dist/components/vue.d.ts +5 -36
  144. package/dist/components/vue.js +2 -2
  145. package/dist/components/vue.js.map +1 -1
  146. package/dist/components/widgets.cjs +622 -53
  147. package/dist/components/widgets.cjs.map +1 -1
  148. package/dist/components/widgets.d.cts +106 -2
  149. package/dist/components/widgets.d.ts +106 -2
  150. package/dist/components/widgets.js +615 -54
  151. package/dist/components/widgets.js.map +1 -1
  152. package/dist/components.cjs +1 -3
  153. package/dist/components.cjs.map +1 -1
  154. package/dist/components.css +0 -2
  155. package/dist/components.d.cts +6 -39
  156. package/dist/components.d.ts +6 -39
  157. package/dist/components.js +3 -3
  158. package/dist/components.umd.js +2 -2
  159. package/dist/components.umd.js.map +1 -1
  160. package/dist/widgets.umd.js +1 -1
  161. package/dist/widgets.umd.js.map +1 -1
  162. package/docs/ROADMAP.md +12 -12
  163. package/docs/accessibility.md +2 -2
  164. package/docs/components.md +41 -2
  165. package/docs/deprecations.md +4 -0
  166. package/docs/frameworks-ssr.md +4 -4
  167. package/docs/hybrid-apps.md +2 -2
  168. package/docs/upgrading-7.md +43 -0
  169. package/docs/windows-apps.md +1 -1
  170. package/package.json +133 -2
  171. package/dist/chunks/gpu-BBRLgEzM.cjs.map +0 -1
  172. package/dist/chunks/gpu-CsP2ZB3x.js.map +0 -1
  173. package/dist/chunks/index-tags-DucKMQr_.js.map +0 -1
  174. package/dist/chunks/index-tags-wv0R_vkO.cjs.map +0 -1
@@ -489,6 +489,106 @@ interface UsaPullCordElement extends UsaElement {
489
489
  }
490
490
  declare function definePullCord(tag?: string): CustomElementConstructor | undefined;
491
491
 
492
+ /**
493
+ * `<usa-date-picker>` (6.9) — an inline calendar. Changing month slides the
494
+ * grid in from the direction of travel, the selected day pops inside a
495
+ * spring circle and today has a ring. A real date grid: `role="grid"`,
496
+ * arrows (day / week), PageUp / PageDown (month), Home / End (week start /
497
+ * end), Enter / Space selects; `min` / `max` (ISO `YYYY-MM-DD`) disable days
498
+ * outside the range. `value` (ISO), `first-day` (0 = Sunday, 1 = Monday,
499
+ * default 1), `locale`. Event `usa:change` (`{ value, date }`). Reduced
500
+ * motion: no slide or pop.
501
+ */
502
+ interface UsaDatePickerElement extends UsaElement {
503
+ value: string;
504
+ month: string;
505
+ showMonth(delta: number): void;
506
+ }
507
+ /** Parse `YYYY-MM-DD` as a local date (or null). */
508
+ declare function parseISODate(s: string | null | undefined): Date | null;
509
+ /** The 6×7 day grid of a month (first row starts on `firstDay`). */
510
+ declare function monthGrid(year: number, month: number, firstDay?: number): Date[];
511
+ declare function defineDatePicker(tag?: string): CustomElementConstructor | undefined;
512
+
513
+ /**
514
+ * `<usa-color-picker>` (6.9) — a colour picker: a saturation / brightness
515
+ * square and a hue strip (both `role="slider"`, arrow keys, Shift = ×10),
516
+ * spring-follow thumbs, a preview chip that morphs to the new colour, and
517
+ * optional `swatches` (comma-separated hex) that pop on pick. `value` is
518
+ * `#rrggbb`. Events `usa:input` while dragging and `usa:change` on release
519
+ * (`{ value }`). Reduced motion: thumbs jump, no pop.
520
+ */
521
+ interface UsaColorPickerElement extends UsaElement {
522
+ value: string;
523
+ }
524
+ /** HSV (h 0–360, s / v 0–1) → `#rrggbb`. */
525
+ declare function hsvToHex(h: number, s: number, v: number): string;
526
+ /** `#rrggbb` → HSV (or null). */
527
+ declare function hexToHsv(hex: string): [number, number, number] | null;
528
+ declare function defineColorPicker(tag?: string): CustomElementConstructor | undefined;
529
+
530
+ /**
531
+ * `<usa-file-drop>` (6.9) — a file drop zone. Dragging files over it lights
532
+ * the zone with marching-ants borders and lifts the icon; dropping (or
533
+ * choosing via the built-in file input — click / Enter / Space) flies each
534
+ * file into a list with a progress bar. Progress is yours to report with
535
+ * `setProgress(index, 0–1)`, or `simulate` fakes it for demos; a finished
536
+ * file draws a check. Attributes `accept`, `multiple`, `label`. Event
537
+ * `usa:files` (`{ files }`). Reduced motion: no ants, lift or fly-in.
538
+ */
539
+ interface UsaFileDropElement extends UsaElement {
540
+ readonly files: File[];
541
+ setProgress(index: number, value: number): void;
542
+ addFiles(files: ArrayLike<File>): void;
543
+ clear(): void;
544
+ }
545
+ declare function defineFileDrop(tag?: string): CustomElementConstructor | undefined;
546
+
547
+ interface AnimationTrack {
548
+ /** Selector inside the player (`:scope` = the player). */
549
+ target?: string;
550
+ /** Start time in ms. */
551
+ start?: number;
552
+ duration?: number;
553
+ /** A timeline preset (`fade-up`, `scale`, `blur`…). */
554
+ preset?: string;
555
+ keyframes?: Keyframe[];
556
+ easing?: string;
557
+ /** A registered effect fired at `start` (instead of keyframes). */
558
+ effect?: string;
559
+ options?: Record<string, unknown>;
560
+ label?: string;
561
+ }
562
+ interface AnimationJSON {
563
+ format?: string;
564
+ version?: number;
565
+ name?: string;
566
+ loop?: boolean;
567
+ /** Total length; defaults to the end of the last track. */
568
+ duration?: number;
569
+ tracks: AnimationTrack[];
570
+ }
571
+
572
+ /**
573
+ * `<usa-keyframe-editor>` (6.9) — animation editor 2.0: a compact timeline
574
+ * for `<usa-player>` JSON. Each track is a row with a draggable bar (drag to
575
+ * move, drag the right edge to resize; ← / → move by 50 ms, Shift + ← / →
576
+ * resize); a playhead scrubs the preview, ▶ plays it. The preview target is
577
+ * the element with id `for` (its children are the tracks' targets). Set
578
+ * `animation` (object or JSON string, or a `<script type="application/json">`
579
+ * child); read `animation` / `toJSON()` for the edited JSON (format
580
+ * `use-scroll-animate/animation` v1 — playable by `<usa-player>`). Event
581
+ * `usa:change` (`{ animation }`). Reduced motion: the preview jumps to the
582
+ * end state.
583
+ */
584
+ interface UsaKeyframeEditorElement extends UsaElement {
585
+ animation: AnimationJSON;
586
+ toJSON(): AnimationJSON;
587
+ play(): void;
588
+ seek(ms: number): void;
589
+ }
590
+ declare function defineKeyframeEditor(tag?: string): CustomElementConstructor | undefined;
591
+
492
592
  /**
493
593
  * motionary/components/widgets — the 6.x animated UI widgets, in their own
494
594
  * entry so `motionary/components` and `components/lite` keep their size
@@ -538,8 +638,12 @@ declare global {
538
638
  'usa-swipe-deck': UsaSwipeDeckElement;
539
639
  'usa-weather-card': UsaWeatherCardElement;
540
640
  'usa-pull-cord': UsaPullCordElement;
641
+ 'usa-date-picker': UsaDatePickerElement;
642
+ 'usa-color-picker': UsaColorPickerElement;
643
+ 'usa-file-drop': UsaFileDropElement;
644
+ 'usa-keyframe-editor': UsaKeyframeEditorElement;
541
645
  }
542
646
  }
543
647
 
544
- export { CAROUSEL_EFFECTS, MENU_EFFECTS, MODAL_EFFECTS, NAV_INDICATORS, PROGRESS_VARIANTS, SEGMENTED_VARIANTS, SHEET_SIDES, SKELETON_VARIANTS, SWITCH_VARIANTS, TAB_INDICATORS, TIP_PLACEMENTS, TOAST_POSITIONS, TOGGLE_VARIANTS, WEATHER_CONDITIONS, WIDGETS, WIDGET_TAGS, defineCarousel, defineCompare, defineCubeGallery, defineDisclosure, defineDock, defineKanban, defineMasonryFlow, defineMenu, defineMenuToggle, defineMilestones, defineModal, defineNavMorph, defineOdometer, definePagination, defineProgressRing, definePullCord, defineSegmented, defineSheet, defineSkeletonReveal, defineStarRating, defineStepper, defineStories, defineSwipeDeck, defineSwitch, defineTabBar, defineTip, defineToastStack, defineWeatherCard, defineWidgets, pageWindow, stackToast };
545
- export type { StackToastOptions, UsaCarouselElement, UsaCompareElement, UsaCubeGalleryElement, UsaDisclosureElement, UsaDockElement, UsaKanbanElement, UsaMasonryFlowElement, UsaMenuElement, UsaMenuToggleElement, UsaMilestonesElement, UsaModalElement, UsaNavMorphElement, UsaOdometerElement, UsaPaginationElement, UsaProgressRingElement, UsaPullCordElement, UsaSegmentedElement, UsaSheetElement, UsaSkeletonRevealElement, UsaStarRatingElement, UsaStepperElement, UsaStoriesElement, UsaSwipeDeckElement, UsaSwitchElement, UsaTabBarElement, UsaTipElement, UsaToastStackElement, UsaWeatherCardElement };
648
+ export { CAROUSEL_EFFECTS, MENU_EFFECTS, MODAL_EFFECTS, NAV_INDICATORS, PROGRESS_VARIANTS, SEGMENTED_VARIANTS, SHEET_SIDES, SKELETON_VARIANTS, SWITCH_VARIANTS, TAB_INDICATORS, TIP_PLACEMENTS, TOAST_POSITIONS, TOGGLE_VARIANTS, WEATHER_CONDITIONS, WIDGETS, WIDGET_TAGS, defineCarousel, defineColorPicker, defineCompare, defineCubeGallery, defineDatePicker, defineDisclosure, defineDock, defineFileDrop, defineKanban, defineKeyframeEditor, defineMasonryFlow, defineMenu, defineMenuToggle, defineMilestones, defineModal, defineNavMorph, defineOdometer, definePagination, defineProgressRing, definePullCord, defineSegmented, defineSheet, defineSkeletonReveal, defineStarRating, defineStepper, defineStories, defineSwipeDeck, defineSwitch, defineTabBar, defineTip, defineToastStack, defineWeatherCard, defineWidgets, hexToHsv, hsvToHex, monthGrid, pageWindow, parseISODate, stackToast };
649
+ export type { StackToastOptions, UsaCarouselElement, UsaColorPickerElement, UsaCompareElement, UsaCubeGalleryElement, UsaDatePickerElement, UsaDisclosureElement, UsaDockElement, UsaFileDropElement, UsaKanbanElement, UsaKeyframeEditorElement, UsaMasonryFlowElement, UsaMenuElement, UsaMenuToggleElement, UsaMilestonesElement, UsaModalElement, UsaNavMorphElement, UsaOdometerElement, UsaPaginationElement, UsaProgressRingElement, UsaPullCordElement, UsaSegmentedElement, UsaSheetElement, UsaSkeletonRevealElement, UsaStarRatingElement, UsaStepperElement, UsaStoriesElement, UsaSwipeDeckElement, UsaSwitchElement, UsaTabBarElement, UsaTipElement, UsaToastStackElement, UsaWeatherCardElement };
@@ -489,6 +489,106 @@ interface UsaPullCordElement extends UsaElement {
489
489
  }
490
490
  declare function definePullCord(tag?: string): CustomElementConstructor | undefined;
491
491
 
492
+ /**
493
+ * `<usa-date-picker>` (6.9) — an inline calendar. Changing month slides the
494
+ * grid in from the direction of travel, the selected day pops inside a
495
+ * spring circle and today has a ring. A real date grid: `role="grid"`,
496
+ * arrows (day / week), PageUp / PageDown (month), Home / End (week start /
497
+ * end), Enter / Space selects; `min` / `max` (ISO `YYYY-MM-DD`) disable days
498
+ * outside the range. `value` (ISO), `first-day` (0 = Sunday, 1 = Monday,
499
+ * default 1), `locale`. Event `usa:change` (`{ value, date }`). Reduced
500
+ * motion: no slide or pop.
501
+ */
502
+ interface UsaDatePickerElement extends UsaElement {
503
+ value: string;
504
+ month: string;
505
+ showMonth(delta: number): void;
506
+ }
507
+ /** Parse `YYYY-MM-DD` as a local date (or null). */
508
+ declare function parseISODate(s: string | null | undefined): Date | null;
509
+ /** The 6×7 day grid of a month (first row starts on `firstDay`). */
510
+ declare function monthGrid(year: number, month: number, firstDay?: number): Date[];
511
+ declare function defineDatePicker(tag?: string): CustomElementConstructor | undefined;
512
+
513
+ /**
514
+ * `<usa-color-picker>` (6.9) — a colour picker: a saturation / brightness
515
+ * square and a hue strip (both `role="slider"`, arrow keys, Shift = ×10),
516
+ * spring-follow thumbs, a preview chip that morphs to the new colour, and
517
+ * optional `swatches` (comma-separated hex) that pop on pick. `value` is
518
+ * `#rrggbb`. Events `usa:input` while dragging and `usa:change` on release
519
+ * (`{ value }`). Reduced motion: thumbs jump, no pop.
520
+ */
521
+ interface UsaColorPickerElement extends UsaElement {
522
+ value: string;
523
+ }
524
+ /** HSV (h 0–360, s / v 0–1) → `#rrggbb`. */
525
+ declare function hsvToHex(h: number, s: number, v: number): string;
526
+ /** `#rrggbb` → HSV (or null). */
527
+ declare function hexToHsv(hex: string): [number, number, number] | null;
528
+ declare function defineColorPicker(tag?: string): CustomElementConstructor | undefined;
529
+
530
+ /**
531
+ * `<usa-file-drop>` (6.9) — a file drop zone. Dragging files over it lights
532
+ * the zone with marching-ants borders and lifts the icon; dropping (or
533
+ * choosing via the built-in file input — click / Enter / Space) flies each
534
+ * file into a list with a progress bar. Progress is yours to report with
535
+ * `setProgress(index, 0–1)`, or `simulate` fakes it for demos; a finished
536
+ * file draws a check. Attributes `accept`, `multiple`, `label`. Event
537
+ * `usa:files` (`{ files }`). Reduced motion: no ants, lift or fly-in.
538
+ */
539
+ interface UsaFileDropElement extends UsaElement {
540
+ readonly files: File[];
541
+ setProgress(index: number, value: number): void;
542
+ addFiles(files: ArrayLike<File>): void;
543
+ clear(): void;
544
+ }
545
+ declare function defineFileDrop(tag?: string): CustomElementConstructor | undefined;
546
+
547
+ interface AnimationTrack {
548
+ /** Selector inside the player (`:scope` = the player). */
549
+ target?: string;
550
+ /** Start time in ms. */
551
+ start?: number;
552
+ duration?: number;
553
+ /** A timeline preset (`fade-up`, `scale`, `blur`…). */
554
+ preset?: string;
555
+ keyframes?: Keyframe[];
556
+ easing?: string;
557
+ /** A registered effect fired at `start` (instead of keyframes). */
558
+ effect?: string;
559
+ options?: Record<string, unknown>;
560
+ label?: string;
561
+ }
562
+ interface AnimationJSON {
563
+ format?: string;
564
+ version?: number;
565
+ name?: string;
566
+ loop?: boolean;
567
+ /** Total length; defaults to the end of the last track. */
568
+ duration?: number;
569
+ tracks: AnimationTrack[];
570
+ }
571
+
572
+ /**
573
+ * `<usa-keyframe-editor>` (6.9) — animation editor 2.0: a compact timeline
574
+ * for `<usa-player>` JSON. Each track is a row with a draggable bar (drag to
575
+ * move, drag the right edge to resize; ← / → move by 50 ms, Shift + ← / →
576
+ * resize); a playhead scrubs the preview, ▶ plays it. The preview target is
577
+ * the element with id `for` (its children are the tracks' targets). Set
578
+ * `animation` (object or JSON string, or a `<script type="application/json">`
579
+ * child); read `animation` / `toJSON()` for the edited JSON (format
580
+ * `use-scroll-animate/animation` v1 — playable by `<usa-player>`). Event
581
+ * `usa:change` (`{ animation }`). Reduced motion: the preview jumps to the
582
+ * end state.
583
+ */
584
+ interface UsaKeyframeEditorElement extends UsaElement {
585
+ animation: AnimationJSON;
586
+ toJSON(): AnimationJSON;
587
+ play(): void;
588
+ seek(ms: number): void;
589
+ }
590
+ declare function defineKeyframeEditor(tag?: string): CustomElementConstructor | undefined;
591
+
492
592
  /**
493
593
  * motionary/components/widgets — the 6.x animated UI widgets, in their own
494
594
  * entry so `motionary/components` and `components/lite` keep their size
@@ -538,8 +638,12 @@ declare global {
538
638
  'usa-swipe-deck': UsaSwipeDeckElement;
539
639
  'usa-weather-card': UsaWeatherCardElement;
540
640
  'usa-pull-cord': UsaPullCordElement;
641
+ 'usa-date-picker': UsaDatePickerElement;
642
+ 'usa-color-picker': UsaColorPickerElement;
643
+ 'usa-file-drop': UsaFileDropElement;
644
+ 'usa-keyframe-editor': UsaKeyframeEditorElement;
541
645
  }
542
646
  }
543
647
 
544
- export { CAROUSEL_EFFECTS, MENU_EFFECTS, MODAL_EFFECTS, NAV_INDICATORS, PROGRESS_VARIANTS, SEGMENTED_VARIANTS, SHEET_SIDES, SKELETON_VARIANTS, SWITCH_VARIANTS, TAB_INDICATORS, TIP_PLACEMENTS, TOAST_POSITIONS, TOGGLE_VARIANTS, WEATHER_CONDITIONS, WIDGETS, WIDGET_TAGS, defineCarousel, defineCompare, defineCubeGallery, defineDisclosure, defineDock, defineKanban, defineMasonryFlow, defineMenu, defineMenuToggle, defineMilestones, defineModal, defineNavMorph, defineOdometer, definePagination, defineProgressRing, definePullCord, defineSegmented, defineSheet, defineSkeletonReveal, defineStarRating, defineStepper, defineStories, defineSwipeDeck, defineSwitch, defineTabBar, defineTip, defineToastStack, defineWeatherCard, defineWidgets, pageWindow, stackToast };
545
- export type { StackToastOptions, UsaCarouselElement, UsaCompareElement, UsaCubeGalleryElement, UsaDisclosureElement, UsaDockElement, UsaKanbanElement, UsaMasonryFlowElement, UsaMenuElement, UsaMenuToggleElement, UsaMilestonesElement, UsaModalElement, UsaNavMorphElement, UsaOdometerElement, UsaPaginationElement, UsaProgressRingElement, UsaPullCordElement, UsaSegmentedElement, UsaSheetElement, UsaSkeletonRevealElement, UsaStarRatingElement, UsaStepperElement, UsaStoriesElement, UsaSwipeDeckElement, UsaSwitchElement, UsaTabBarElement, UsaTipElement, UsaToastStackElement, UsaWeatherCardElement };
648
+ export { CAROUSEL_EFFECTS, MENU_EFFECTS, MODAL_EFFECTS, NAV_INDICATORS, PROGRESS_VARIANTS, SEGMENTED_VARIANTS, SHEET_SIDES, SKELETON_VARIANTS, SWITCH_VARIANTS, TAB_INDICATORS, TIP_PLACEMENTS, TOAST_POSITIONS, TOGGLE_VARIANTS, WEATHER_CONDITIONS, WIDGETS, WIDGET_TAGS, defineCarousel, defineColorPicker, defineCompare, defineCubeGallery, defineDatePicker, defineDisclosure, defineDock, defineFileDrop, defineKanban, defineKeyframeEditor, defineMasonryFlow, defineMenu, defineMenuToggle, defineMilestones, defineModal, defineNavMorph, defineOdometer, definePagination, defineProgressRing, definePullCord, defineSegmented, defineSheet, defineSkeletonReveal, defineStarRating, defineStepper, defineStories, defineSwipeDeck, defineSwitch, defineTabBar, defineTip, defineToastStack, defineWeatherCard, defineWidgets, hexToHsv, hsvToHex, monthGrid, pageWindow, parseISODate, stackToast };
649
+ export type { StackToastOptions, UsaCarouselElement, UsaColorPickerElement, UsaCompareElement, UsaCubeGalleryElement, UsaDatePickerElement, UsaDisclosureElement, UsaDockElement, UsaFileDropElement, UsaKanbanElement, UsaKeyframeEditorElement, UsaMasonryFlowElement, UsaMenuElement, UsaMenuToggleElement, UsaMilestonesElement, UsaModalElement, UsaNavMorphElement, UsaOdometerElement, UsaPaginationElement, UsaProgressRingElement, UsaPullCordElement, UsaSegmentedElement, UsaSheetElement, UsaSkeletonRevealElement, UsaStarRatingElement, UsaStepperElement, UsaStoriesElement, UsaSwipeDeckElement, UsaSwitchElement, UsaTabBarElement, UsaTipElement, UsaToastStackElement, UsaWeatherCardElement };