@aceshooting/lyra-ui 3.5.0 → 3.7.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 (295) hide show
  1. package/README.md +111 -2
  2. package/custom-elements.json +50239 -41857
  3. package/dist/components/animated-image/animated-image.class.d.ts +131 -0
  4. package/dist/components/animated-image/animated-image.class.d.ts.map +1 -0
  5. package/dist/components/animated-image/animated-image.class.js +296 -0
  6. package/dist/components/animated-image/animated-image.class.js.map +1 -0
  7. package/dist/components/animated-image/animated-image.d.ts +2 -0
  8. package/dist/components/animated-image/animated-image.d.ts.map +1 -0
  9. package/dist/components/animated-image/animated-image.js +5 -0
  10. package/dist/components/animated-image/animated-image.js.map +1 -0
  11. package/dist/components/animated-image/animated-image.styles.d.ts +2 -0
  12. package/dist/components/animated-image/animated-image.styles.d.ts.map +1 -0
  13. package/dist/components/animated-image/animated-image.styles.js +117 -0
  14. package/dist/components/animated-image/animated-image.styles.js.map +1 -0
  15. package/dist/components/animation/animation.class.d.ts +119 -0
  16. package/dist/components/animation/animation.class.d.ts.map +1 -0
  17. package/dist/components/animation/animation.class.js +420 -0
  18. package/dist/components/animation/animation.class.js.map +1 -0
  19. package/dist/components/animation/animation.d.ts +2 -0
  20. package/dist/components/animation/animation.d.ts.map +1 -0
  21. package/dist/components/animation/animation.js +5 -0
  22. package/dist/components/animation/animation.js.map +1 -0
  23. package/dist/components/animation/animation.styles.d.ts +2 -0
  24. package/dist/components/animation/animation.styles.d.ts.map +1 -0
  25. package/dist/components/animation/animation.styles.js +18 -0
  26. package/dist/components/animation/animation.styles.js.map +1 -0
  27. package/dist/components/avatar-group/avatar-group.class.d.ts +110 -0
  28. package/dist/components/avatar-group/avatar-group.class.d.ts.map +1 -0
  29. package/dist/components/avatar-group/avatar-group.class.js +182 -0
  30. package/dist/components/avatar-group/avatar-group.class.js.map +1 -0
  31. package/dist/components/avatar-group/avatar-group.d.ts +2 -0
  32. package/dist/components/avatar-group/avatar-group.d.ts.map +1 -0
  33. package/dist/components/avatar-group/avatar-group.js +5 -0
  34. package/dist/components/avatar-group/avatar-group.js.map +1 -0
  35. package/dist/components/avatar-group/avatar-group.styles.d.ts +2 -0
  36. package/dist/components/avatar-group/avatar-group.styles.d.ts.map +1 -0
  37. package/dist/components/avatar-group/avatar-group.styles.js +112 -0
  38. package/dist/components/avatar-group/avatar-group.styles.js.map +1 -0
  39. package/dist/components/button/button.class.d.ts +5 -2
  40. package/dist/components/button/button.class.d.ts.map +1 -1
  41. package/dist/components/button/button.class.js +4 -1
  42. package/dist/components/button/button.class.js.map +1 -1
  43. package/dist/components/button/button.styles.d.ts.map +1 -1
  44. package/dist/components/button/button.styles.js +16 -0
  45. package/dist/components/button/button.styles.js.map +1 -1
  46. package/dist/components/calendar/calendar.class.d.ts.map +1 -1
  47. package/dist/components/calendar/calendar.class.js +1 -12
  48. package/dist/components/calendar/calendar.class.js.map +1 -1
  49. package/dist/components/calendar-viewer/calendar-viewer.class.d.ts +1 -1
  50. package/dist/components/calendar-viewer/calendar-viewer.class.d.ts.map +1 -1
  51. package/dist/components/calendar-viewer/calendar-viewer.class.js +2 -2
  52. package/dist/components/calendar-viewer/calendar-viewer.class.js.map +1 -1
  53. package/dist/components/chart/box-plot.class.d.ts.map +1 -1
  54. package/dist/components/chart/box-plot.class.js +1 -3
  55. package/dist/components/chart/box-plot.class.js.map +1 -1
  56. package/dist/components/chart/chart.class.d.ts.map +1 -1
  57. package/dist/components/chart/chart.class.js +1 -3
  58. package/dist/components/chart/chart.class.js.map +1 -1
  59. package/dist/components/code-editor/code-editor.styles.d.ts.map +1 -1
  60. package/dist/components/code-editor/code-editor.styles.js +5 -2
  61. package/dist/components/code-editor/code-editor.styles.js.map +1 -1
  62. package/dist/components/contact-viewer/contact-viewer.class.d.ts +4 -1
  63. package/dist/components/contact-viewer/contact-viewer.class.d.ts.map +1 -1
  64. package/dist/components/contact-viewer/contact-viewer.class.js +5 -2
  65. package/dist/components/contact-viewer/contact-viewer.class.js.map +1 -1
  66. package/dist/components/email-viewer/email-viewer.class.d.ts +4 -1
  67. package/dist/components/email-viewer/email-viewer.class.d.ts.map +1 -1
  68. package/dist/components/email-viewer/email-viewer.class.js +5 -2
  69. package/dist/components/email-viewer/email-viewer.class.js.map +1 -1
  70. package/dist/components/file-icon/file-icon.class.d.ts +5 -1
  71. package/dist/components/file-icon/file-icon.class.d.ts.map +1 -1
  72. package/dist/components/file-icon/file-icon.class.js +20 -2
  73. package/dist/components/file-icon/file-icon.class.js.map +1 -1
  74. package/dist/components/file-icon/file-icon.styles.d.ts.map +1 -1
  75. package/dist/components/file-icon/file-icon.styles.js +4 -0
  76. package/dist/components/file-icon/file-icon.styles.js.map +1 -1
  77. package/dist/components/graph/graph.class.d.ts.map +1 -1
  78. package/dist/components/graph/graph.class.js +1 -3
  79. package/dist/components/graph/graph.class.js.map +1 -1
  80. package/dist/components/heatmap/heatmap.class.d.ts.map +1 -1
  81. package/dist/components/heatmap/heatmap.class.js +1 -8
  82. package/dist/components/heatmap/heatmap.class.js.map +1 -1
  83. package/dist/components/icon/icon.styles.d.ts.map +1 -1
  84. package/dist/components/icon/icon.styles.js +1 -1
  85. package/dist/components/icon/icon.styles.js.map +1 -1
  86. package/dist/components/include/include.class.d.ts +104 -0
  87. package/dist/components/include/include.class.d.ts.map +1 -0
  88. package/dist/components/include/include.class.js +149 -0
  89. package/dist/components/include/include.class.js.map +1 -0
  90. package/dist/components/include/include.d.ts +2 -0
  91. package/dist/components/include/include.d.ts.map +1 -0
  92. package/dist/components/include/include.js +5 -0
  93. package/dist/components/include/include.js.map +1 -0
  94. package/dist/components/include/include.styles.d.ts +2 -0
  95. package/dist/components/include/include.styles.d.ts.map +1 -0
  96. package/dist/components/include/include.styles.js +14 -0
  97. package/dist/components/include/include.styles.js.map +1 -0
  98. package/dist/components/kbd/kbd.class.d.ts.map +1 -1
  99. package/dist/components/kbd/kbd.class.js +1 -11
  100. package/dist/components/kbd/kbd.class.js.map +1 -1
  101. package/dist/components/known-date/known-date.class.d.ts +208 -0
  102. package/dist/components/known-date/known-date.class.d.ts.map +1 -0
  103. package/dist/components/known-date/known-date.class.js +588 -0
  104. package/dist/components/known-date/known-date.class.js.map +1 -0
  105. package/dist/components/known-date/known-date.d.ts +2 -0
  106. package/dist/components/known-date/known-date.d.ts.map +1 -0
  107. package/dist/components/known-date/known-date.js +5 -0
  108. package/dist/components/known-date/known-date.js.map +1 -0
  109. package/dist/components/known-date/known-date.styles.d.ts +2 -0
  110. package/dist/components/known-date/known-date.styles.d.ts.map +1 -0
  111. package/dist/components/known-date/known-date.styles.js +134 -0
  112. package/dist/components/known-date/known-date.styles.js.map +1 -0
  113. package/dist/components/lightbox/lightbox.class.d.ts +187 -0
  114. package/dist/components/lightbox/lightbox.class.d.ts.map +1 -0
  115. package/dist/components/lightbox/lightbox.class.js +415 -0
  116. package/dist/components/lightbox/lightbox.class.js.map +1 -0
  117. package/dist/components/lightbox/lightbox.d.ts +3 -0
  118. package/dist/components/lightbox/lightbox.d.ts.map +1 -0
  119. package/dist/components/lightbox/lightbox.js +6 -0
  120. package/dist/components/lightbox/lightbox.js.map +1 -0
  121. package/dist/components/lightbox/lightbox.styles.d.ts +2 -0
  122. package/dist/components/lightbox/lightbox.styles.d.ts.map +1 -0
  123. package/dist/components/lightbox/lightbox.styles.js +179 -0
  124. package/dist/components/lightbox/lightbox.styles.js.map +1 -0
  125. package/dist/components/map/map.class.d.ts.map +1 -1
  126. package/dist/components/map/map.class.js +11 -23
  127. package/dist/components/map/map.class.js.map +1 -1
  128. package/dist/components/menu/menu.class.d.ts +1 -1
  129. package/dist/components/model-settings-panel/model-settings-panel.class.d.ts.map +1 -1
  130. package/dist/components/model-settings-panel/model-settings-panel.class.js +1 -10
  131. package/dist/components/model-settings-panel/model-settings-panel.class.js.map +1 -1
  132. package/dist/components/qr-code/qr-code-loader.d.ts +15 -0
  133. package/dist/components/qr-code/qr-code-loader.d.ts.map +1 -0
  134. package/dist/components/qr-code/qr-code-loader.js +28 -0
  135. package/dist/components/qr-code/qr-code-loader.js.map +1 -0
  136. package/dist/components/qr-code/qr-code.class.d.ts +121 -0
  137. package/dist/components/qr-code/qr-code.class.d.ts.map +1 -0
  138. package/dist/components/qr-code/qr-code.class.js +392 -0
  139. package/dist/components/qr-code/qr-code.class.js.map +1 -0
  140. package/dist/components/qr-code/qr-code.d.ts +2 -0
  141. package/dist/components/qr-code/qr-code.d.ts.map +1 -0
  142. package/dist/components/qr-code/qr-code.js +5 -0
  143. package/dist/components/qr-code/qr-code.js.map +1 -0
  144. package/dist/components/qr-code/qr-code.styles.d.ts +2 -0
  145. package/dist/components/qr-code/qr-code.styles.d.ts.map +1 -0
  146. package/dist/components/qr-code/qr-code.styles.js +48 -0
  147. package/dist/components/qr-code/qr-code.styles.js.map +1 -0
  148. package/dist/components/random-content/random-content.class.d.ts +99 -0
  149. package/dist/components/random-content/random-content.class.d.ts.map +1 -0
  150. package/dist/components/random-content/random-content.class.js +268 -0
  151. package/dist/components/random-content/random-content.class.js.map +1 -0
  152. package/dist/components/random-content/random-content.d.ts +2 -0
  153. package/dist/components/random-content/random-content.d.ts.map +1 -0
  154. package/dist/components/random-content/random-content.js +5 -0
  155. package/dist/components/random-content/random-content.js.map +1 -0
  156. package/dist/components/random-content/random-content.styles.d.ts +2 -0
  157. package/dist/components/random-content/random-content.styles.d.ts.map +1 -0
  158. package/dist/components/random-content/random-content.styles.js +94 -0
  159. package/dist/components/random-content/random-content.styles.js.map +1 -0
  160. package/dist/components/result-card/result-card.class.d.ts +9 -8
  161. package/dist/components/result-card/result-card.class.d.ts.map +1 -1
  162. package/dist/components/result-card/result-card.class.js +7 -26
  163. package/dist/components/result-card/result-card.class.js.map +1 -1
  164. package/dist/components/result-card/result-field.class.d.ts.map +1 -1
  165. package/dist/components/result-card/result-field.class.js +1 -11
  166. package/dist/components/result-card/result-field.class.js.map +1 -1
  167. package/dist/components/slider/slider.class.d.ts.map +1 -1
  168. package/dist/components/slider/slider.class.js +1 -19
  169. package/dist/components/slider/slider.class.js.map +1 -1
  170. package/dist/components/source-card/source-card.class.d.ts +8 -7
  171. package/dist/components/source-card/source-card.class.d.ts.map +1 -1
  172. package/dist/components/source-card/source-card.class.js +6 -25
  173. package/dist/components/source-card/source-card.class.js.map +1 -1
  174. package/dist/components/stat/stat.class.js +1 -1
  175. package/dist/components/stat/stat.class.js.map +1 -1
  176. package/dist/components/swatch-picker/swatch-picker.class.d.ts +55 -0
  177. package/dist/components/swatch-picker/swatch-picker.class.d.ts.map +1 -0
  178. package/dist/components/swatch-picker/swatch-picker.class.js +120 -0
  179. package/dist/components/swatch-picker/swatch-picker.class.js.map +1 -0
  180. package/dist/components/swatch-picker/swatch-picker.d.ts +2 -0
  181. package/dist/components/swatch-picker/swatch-picker.d.ts.map +1 -0
  182. package/dist/components/swatch-picker/swatch-picker.js +5 -0
  183. package/dist/components/swatch-picker/swatch-picker.js.map +1 -0
  184. package/dist/components/swatch-picker/swatch-picker.styles.d.ts +2 -0
  185. package/dist/components/swatch-picker/swatch-picker.styles.d.ts.map +1 -0
  186. package/dist/components/swatch-picker/swatch-picker.styles.js +55 -0
  187. package/dist/components/swatch-picker/swatch-picker.styles.js.map +1 -0
  188. package/dist/components/time-range/time-range.class.d.ts.map +1 -1
  189. package/dist/components/time-range/time-range.class.js +1 -21
  190. package/dist/components/time-range/time-range.class.js.map +1 -1
  191. package/dist/components/timeline/timeline-item.class.d.ts +120 -0
  192. package/dist/components/timeline/timeline-item.class.d.ts.map +1 -0
  193. package/dist/components/timeline/timeline-item.class.js +203 -0
  194. package/dist/components/timeline/timeline-item.class.js.map +1 -0
  195. package/dist/components/timeline/timeline-item.d.ts +3 -0
  196. package/dist/components/timeline/timeline-item.d.ts.map +1 -0
  197. package/dist/components/timeline/timeline-item.js +10 -0
  198. package/dist/components/timeline/timeline-item.js.map +1 -0
  199. package/dist/components/timeline/timeline-item.styles.d.ts +2 -0
  200. package/dist/components/timeline/timeline-item.styles.d.ts.map +1 -0
  201. package/dist/components/timeline/timeline-item.styles.js +149 -0
  202. package/dist/components/timeline/timeline-item.styles.js.map +1 -0
  203. package/dist/components/timeline/timeline.class.d.ts +59 -0
  204. package/dist/components/timeline/timeline.class.d.ts.map +1 -0
  205. package/dist/components/timeline/timeline.class.js +100 -0
  206. package/dist/components/timeline/timeline.class.js.map +1 -0
  207. package/dist/components/timeline/timeline.d.ts +2 -0
  208. package/dist/components/timeline/timeline.d.ts.map +1 -0
  209. package/dist/components/timeline/timeline.js +5 -0
  210. package/dist/components/timeline/timeline.js.map +1 -0
  211. package/dist/components/timeline/timeline.styles.d.ts +2 -0
  212. package/dist/components/timeline/timeline.styles.d.ts.map +1 -0
  213. package/dist/components/timeline/timeline.styles.js +52 -0
  214. package/dist/components/timeline/timeline.styles.js.map +1 -0
  215. package/dist/components/toast/toast-item.class.d.ts.map +1 -1
  216. package/dist/components/toast/toast-item.class.js +1 -3
  217. package/dist/components/toast/toast-item.class.js.map +1 -1
  218. package/dist/components/tool-param-form/tool-param-form.class.d.ts.map +1 -1
  219. package/dist/components/tool-param-form/tool-param-form.class.js +0 -1
  220. package/dist/components/tool-param-form/tool-param-form.class.js.map +1 -1
  221. package/dist/components/tour/tour.class.d.ts +250 -0
  222. package/dist/components/tour/tour.class.d.ts.map +1 -0
  223. package/dist/components/tour/tour.class.js +530 -0
  224. package/dist/components/tour/tour.class.js.map +1 -0
  225. package/dist/components/tour/tour.d.ts +2 -0
  226. package/dist/components/tour/tour.d.ts.map +1 -0
  227. package/dist/components/tour/tour.js +5 -0
  228. package/dist/components/tour/tour.js.map +1 -0
  229. package/dist/components/tour/tour.styles.d.ts +2 -0
  230. package/dist/components/tour/tour.styles.d.ts.map +1 -0
  231. package/dist/components/tour/tour.styles.js +165 -0
  232. package/dist/components/tour/tour.styles.js.map +1 -0
  233. package/dist/components/virtual-list/virtual-list.class.d.ts.map +1 -1
  234. package/dist/components/virtual-list/virtual-list.class.js +1 -3
  235. package/dist/components/virtual-list/virtual-list.class.js.map +1 -1
  236. package/dist/components/word-cloud/word-cloud.class.d.ts.map +1 -1
  237. package/dist/components/word-cloud/word-cloud.class.js +1 -8
  238. package/dist/components/word-cloud/word-cloud.class.js.map +1 -1
  239. package/dist/components/zoomable-frame/zoomable-frame.class.d.ts +15 -0
  240. package/dist/components/zoomable-frame/zoomable-frame.class.d.ts.map +1 -1
  241. package/dist/components/zoomable-frame/zoomable-frame.class.js +18 -0
  242. package/dist/components/zoomable-frame/zoomable-frame.class.js.map +1 -1
  243. package/dist/internal/a11y.d.ts +4 -0
  244. package/dist/internal/a11y.d.ts.map +1 -1
  245. package/dist/internal/a11y.js +17 -0
  246. package/dist/internal/a11y.js.map +1 -1
  247. package/dist/internal/canvas.d.ts +8 -0
  248. package/dist/internal/canvas.d.ts.map +1 -0
  249. package/dist/internal/canvas.js +14 -0
  250. package/dist/internal/canvas.js.map +1 -0
  251. package/dist/internal/localization.d.ts +1 -1
  252. package/dist/internal/localization.d.ts.map +1 -1
  253. package/dist/internal/localization.js +21 -2
  254. package/dist/internal/localization.js.map +1 -1
  255. package/dist/internal/motion.d.ts +5 -0
  256. package/dist/internal/motion.d.ts.map +1 -0
  257. package/dist/internal/motion.js +7 -0
  258. package/dist/internal/motion.js.map +1 -0
  259. package/dist/internal/numbers.d.ts +11 -0
  260. package/dist/internal/numbers.d.ts.map +1 -1
  261. package/dist/internal/numbers.js +21 -0
  262. package/dist/internal/numbers.js.map +1 -1
  263. package/dist/internal/positioner.d.ts +14 -0
  264. package/dist/internal/positioner.d.ts.map +1 -1
  265. package/dist/internal/positioner.js +27 -0
  266. package/dist/internal/positioner.js.map +1 -1
  267. package/dist/internal/root-registration-allowlist.d.ts +1 -1
  268. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  269. package/dist/internal/root-registration-allowlist.js +12 -0
  270. package/dist/internal/root-registration-allowlist.js.map +1 -1
  271. package/dist/internal/rtl.d.ts +0 -11
  272. package/dist/internal/rtl.d.ts.map +1 -1
  273. package/dist/internal/rtl.js +0 -13
  274. package/dist/internal/rtl.js.map +1 -1
  275. package/dist/internal/safe-css.d.ts +15 -0
  276. package/dist/internal/safe-css.d.ts.map +1 -0
  277. package/dist/internal/safe-css.js +25 -0
  278. package/dist/internal/safe-css.js.map +1 -0
  279. package/dist/internal/strip-host-title.d.ts +24 -0
  280. package/dist/internal/strip-host-title.d.ts.map +1 -0
  281. package/dist/internal/strip-host-title.js +46 -0
  282. package/dist/internal/strip-host-title.js.map +1 -0
  283. package/dist/internal/tokens.styles.d.ts.map +1 -1
  284. package/dist/internal/tokens.styles.js +4 -0
  285. package/dist/internal/tokens.styles.js.map +1 -1
  286. package/dist/lyra.d.ts +37 -0
  287. package/dist/lyra.d.ts.map +1 -1
  288. package/dist/lyra.js +24 -0
  289. package/dist/lyra.js.map +1 -1
  290. package/llms-full.txt +161 -5
  291. package/llms.txt +5 -2
  292. package/package.json +43 -6
  293. package/vscode-css-data.json +733 -0
  294. package/vscode-html-data.json +10616 -0
  295. package/web-types.json +12206 -0
@@ -0,0 +1,119 @@
1
+ import { type PropertyValues, type TemplateResult } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ /** Curated preset catalog for the `name` property. `slide-in-start`/`slide-in-end`/
4
+ * `slide-out-start`/`slide-out-end` are resolved separately (see `slidePreset()`)
5
+ * because they depend on the element's inherited text direction. */
6
+ export type LyraAnimationPreset = 'none' | 'fade-in' | 'fade-out' | 'zoom-in' | 'zoom-out' | 'slide-in-start' | 'slide-in-end' | 'slide-out-start' | 'slide-out-end' | 'slide-in-up' | 'slide-in-down' | 'bounce' | 'pulse' | 'spin' | 'shake';
7
+ /** Ties `duration`/`easing` to the shared `--lyra-transition-*` tokens instead of
8
+ * the raw numeric properties. `'custom'` (the default) leaves `duration`/`easing`
9
+ * fully consumer-controlled. */
10
+ export type LyraAnimationTimingPreset = 'custom' | 'fast' | 'base' | 'ambient';
11
+ export interface LyraAnimationEventMap {
12
+ 'lyra-start': CustomEvent<undefined>;
13
+ 'lyra-finish': CustomEvent<undefined>;
14
+ 'lyra-cancel': CustomEvent<undefined>;
15
+ }
16
+ /**
17
+ * `<lyra-animation>` declaratively animates its single slotted child through the
18
+ * native Web Animations API: a small curated preset catalog (`name`) or fully
19
+ * custom `keyframes`, explicit WAAPI timing controls, an optional
20
+ * `playOnVisible` trigger, and a `lyra-start`/`lyra-finish`/`lyra-cancel` event
21
+ * contract.
22
+ *
23
+ * `keyframes`, when set, always wins over `name`. The `iterations` default is
24
+ * `Infinity` (mirrors the upstream Web Awesome/Shoelace animation contract
25
+ * verbatim) -- a named preset plays forever unless the consumer sets
26
+ * `iterations="1"`.
27
+ *
28
+ * `direction` is the Web Animations API's `PlaybackDirection`
29
+ * (`'normal' | 'reverse' | 'alternate' | 'alternate-reverse'`) and is entirely
30
+ * unrelated to text direction. Only the `slide-in-start`/`slide-in-end`/
31
+ * `slide-out-start`/`slide-out-end` presets read the inherited text direction
32
+ * (`effectiveDirection`) to resolve which physical edge "start"/"end" means,
33
+ * and they do so fresh every time the animation is (re)built -- an animation
34
+ * already mid-flight is not retroactively re-mirrored if an ancestor `dir`
35
+ * flips while it plays; the next rebuild picks up the change.
36
+ *
37
+ * `respectReducedMotion` (default `true`) caps playback to one iteration and
38
+ * calls `finish()` immediately instead of playing, whenever the OS/browser
39
+ * reports `prefers-reduced-motion: reduce` -- the target snaps straight to
40
+ * its resolved end state, and `lyra-start`/`lyra-finish` still fire in order
41
+ * so a consumer sequencing further UI off those events keeps working even
42
+ * though nothing visibly interpolated. Set `respectReducedMotion="false"`
43
+ * only for genuine user-triggered feedback (e.g. a drag-confirm snap-back)
44
+ * where a silent jump would be more confusing than a fast real animation --
45
+ * ambient/decorative animation should always leave this at its default.
46
+ *
47
+ * `timingPreset` (default `'custom'`) optionally derives `duration`/`easing`
48
+ * from the shared `--lyra-transition-fast`/`-base`/`-ambient` tokens instead
49
+ * of the raw `duration`/`easing` property values, so an app's global motion
50
+ * retiming reaches this component's animations too.
51
+ *
52
+ * @customElement lyra-animation
53
+ * @slot - The element to animate. A second slotted element is accepted without error but ignored.
54
+ * @event lyra-start - A new animation was created and playback began or restarted.
55
+ * @event lyra-finish - The animation reached its natural end, including the reduced-motion instant-finish path.
56
+ * @event lyra-cancel - The animation was canceled via the public `cancel()` method or external cancellation.
57
+ * @cssprop [--lyra-animation-slide-distance=100%] - Travel distance for the slide-in/slide-out/slide-in-up/slide-in-down presets.
58
+ * @cssprop [--lyra-animation-zoom-scale=0.5] - Starting/ending scale factor for the zoom-in/zoom-out presets.
59
+ * @cssprop [--lyra-animation-bounce-height=25%] - Peak lift height of the bounce preset.
60
+ * @cssprop [--lyra-animation-shake-distance=4%] - Horizontal travel of the shake preset.
61
+ */
62
+ export declare class LyraAnimation extends LyraElement<LyraAnimationEventMap> {
63
+ static styles: import("lit").CSSResultGroup[];
64
+ name: LyraAnimationPreset;
65
+ keyframes: Keyframe[] | undefined;
66
+ play: boolean;
67
+ delay: number;
68
+ direction: PlaybackDirection;
69
+ duration: number;
70
+ easing: string;
71
+ endDelay: number;
72
+ fill: FillMode;
73
+ iterations: number;
74
+ iterationStart: number;
75
+ playbackRate: number;
76
+ timingPreset: LyraAnimationTimingPreset;
77
+ respectReducedMotion: boolean;
78
+ playOnVisible: boolean;
79
+ playOnVisibleRepeat: boolean;
80
+ rootMargin: string;
81
+ threshold: number | number[];
82
+ root: Element | null;
83
+ private animation?;
84
+ private hasStarted;
85
+ private visibilityObserver?;
86
+ private motionQuery?;
87
+ connectedCallback(): void;
88
+ disconnectedCallback(): void;
89
+ private onMotionPreferenceChange;
90
+ protected updated(changed: PropertyValues): void;
91
+ private onSlotChange;
92
+ private currentTarget;
93
+ private resolveKeyframes;
94
+ private syncVisibilityObserver;
95
+ private destroyAnimation;
96
+ private createAnimation;
97
+ private applyPlayState;
98
+ private onAnimationFinish;
99
+ private onAnimationCancel;
100
+ get currentTime(): number;
101
+ set currentTime(value: number);
102
+ /** Convenience sugar for `this.play = true`. Named `start()`, not `play()`,
103
+ * because `play` is already a reactive boolean property on this class and a
104
+ * method cannot share that identifier. */
105
+ start(): void;
106
+ /** Convenience sugar for `this.play = false`. */
107
+ pause(): void;
108
+ /** Forwards to the underlying `Animation.cancel()`. Fires `lyra-cancel`. */
109
+ cancel(): void;
110
+ /** Forwards to the underlying `Animation.finish()`. */
111
+ finish(): void;
112
+ render(): TemplateResult;
113
+ }
114
+ declare global {
115
+ interface HTMLElementTagNameMap {
116
+ 'lyra-animation': LyraAnimation;
117
+ }
118
+ }
119
+ //# sourceMappingURL=animation.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.class.d.ts","sourceRoot":"","sources":["../../../src/components/animation/animation.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D;;oEAEoE;AACpE,MAAM,MAAM,mBAAmB,GAC3B,MAAM,GACN,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,aAAa,GACb,eAAe,GACf,QAAQ,GACR,OAAO,GACP,MAAM,GACN,OAAO,CAAC;AAEZ;;gCAEgC;AAChC,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/E,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,aAAa,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACvC;AAgFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBAAa,aAAc,SAAQ,WAAW,CAAC,qBAAqB,CAAC;IACnE,MAAM,CAAC,MAAM,iCAAgC;IAEjC,IAAI,EAAE,mBAAmB,CAAU;IACf,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAa;IAClC,IAAI,UAAS;IAC7B,KAAK,SAAK;IAC1B,SAAS,EAAE,iBAAiB,CAAY;IACxB,QAAQ,SAAQ;IAChC,MAAM,SAAY;IACsB,QAAQ,SAAK;IACrD,IAAI,EAAE,QAAQ,CAAU;IACR,UAAU,SAAY;IACQ,cAAc,SAAK;IACrB,YAAY,SAAK;IAChB,YAAY,EAAE,yBAAyB,CAAY;IAC3B,oBAAoB,UAAQ;IACnC,aAAa,UAAS;IACf,mBAAmB,UAAS;IACrE,UAAU,SAAS;IAC3B,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAK;IACjC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAQ;IAE5D,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAuB;IAClD,OAAO,CAAC,WAAW,CAAC,CAAiB;IAErC,iBAAiB,IAAI,IAAI,CAQxB;IAED,oBAAoB,IAAI,IAAI,CAO3B;IAKD,OAAO,CAAC,wBAAwB,CAAsC;IAEtE,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAqB/C;IAED,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,sBAAsB,CA4B5B;IAWF,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,eAAe,CA6BrB;IAQF,OAAO,CAAC,cAAc,CAWpB;IAEF,OAAO,CAAC,iBAAiB,CAIvB;IAEF,OAAO,CAAC,iBAAiB,CAIvB;IAEF,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,EAE5B;IAED;;8CAE0C;IAC1C,KAAK,IAAI,IAAI,CAEZ;IAED,iDAAiD;IACjD,KAAK,IAAI,IAAI,CAEZ;IAED,4EAA4E;IAC5E,MAAM,IAAI,IAAI,CAEb;IAED,uDAAuD;IACvD,MAAM,IAAI,IAAI,CAEb;IAED,MAAM,IAAI,cAAc,CAEvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAC;KACjC;CACF"}
@@ -0,0 +1,420 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html } from 'lit';
8
+ import { property } from 'lit/decorators.js';
9
+ import { LyraElement } from '../../internal/lyra-element.js';
10
+ import { prefersReducedMotion } from '../../internal/motion.js';
11
+ import { styles } from './animation.styles.js';
12
+ const PRESETS = {
13
+ 'fade-in': [{ opacity: 0 }, { opacity: 1 }],
14
+ 'fade-out': [{ opacity: 1 }, { opacity: 0 }],
15
+ 'zoom-in': [
16
+ { opacity: 0, transform: 'scale(var(--lyra-animation-zoom-scale, 0.5))' },
17
+ { opacity: 1, transform: 'scale(1)' },
18
+ ],
19
+ 'zoom-out': [
20
+ { opacity: 1, transform: 'scale(1)' },
21
+ { opacity: 0, transform: 'scale(var(--lyra-animation-zoom-scale, 0.5))' },
22
+ ],
23
+ 'slide-in-up': [
24
+ { transform: 'translateY(var(--lyra-animation-slide-distance, 100%))', opacity: 0 },
25
+ { transform: 'translateY(0)', opacity: 1 },
26
+ ],
27
+ 'slide-in-down': [
28
+ { transform: 'translateY(calc(-1 * var(--lyra-animation-slide-distance, 100%)))', opacity: 0 },
29
+ { transform: 'translateY(0)', opacity: 1 },
30
+ ],
31
+ bounce: [
32
+ { transform: 'translateY(0)', offset: 0 },
33
+ { transform: 'translateY(calc(-1 * var(--lyra-animation-bounce-height, 25%)))', offset: 0.4 },
34
+ { transform: 'translateY(0)', offset: 0.7 },
35
+ { transform: 'translateY(calc(-0.4 * var(--lyra-animation-bounce-height, 25%)))', offset: 0.85 },
36
+ { transform: 'translateY(0)', offset: 1 },
37
+ ],
38
+ pulse: [
39
+ { transform: 'scale(1)', opacity: 1, offset: 0 },
40
+ { transform: 'scale(0.92)', opacity: 0.75, offset: 0.5 },
41
+ { transform: 'scale(1)', opacity: 1, offset: 1 },
42
+ ],
43
+ spin: [{ transform: 'rotate(0deg)' }, { transform: 'rotate(360deg)' }],
44
+ shake: [
45
+ { transform: 'translateX(0)', offset: 0 },
46
+ { transform: 'translateX(calc(-1 * var(--lyra-animation-shake-distance, 4%)))', offset: 0.2 },
47
+ { transform: 'translateX(var(--lyra-animation-shake-distance, 4%))', offset: 0.4 },
48
+ { transform: 'translateX(calc(-1 * var(--lyra-animation-shake-distance, 4%)))', offset: 0.6 },
49
+ { transform: 'translateX(var(--lyra-animation-shake-distance, 4%))', offset: 0.8 },
50
+ { transform: 'translateX(0)', offset: 1 },
51
+ ],
52
+ };
53
+ /** Builds the RTL-aware slide keyframes for `slide-in-start`/`slide-in-end`/
54
+ * `slide-out-start`/`slide-out-end`. "start"/"end" are logical edges: under
55
+ * `ltr` the start edge is physically left and the end edge is physically
56
+ * right; under `rtl` that's reversed. */
57
+ function slidePreset(edge, mode, dir) {
58
+ const negative = dir === 'ltr' ? edge === 'start' : edge === 'end';
59
+ const offscreen = `translateX(${negative ? 'calc(-1 * var(--lyra-animation-slide-distance, 100%))' : 'var(--lyra-animation-slide-distance, 100%)'})`;
60
+ const onscreen = 'translateX(0)';
61
+ return mode === 'in'
62
+ ? [
63
+ { transform: offscreen, opacity: 0 },
64
+ { transform: onscreen, opacity: 1 },
65
+ ]
66
+ : [
67
+ { transform: onscreen, opacity: 1 },
68
+ { transform: offscreen, opacity: 0 },
69
+ ];
70
+ }
71
+ const DIRECTIONAL_SLIDE_NAMES = new Set(['slide-in-start', 'slide-in-end', 'slide-out-start', 'slide-out-end']);
72
+ /** Reads and decomposes a compound `--lyra-transition-*` token (e.g. `"180ms ease-out"`)
73
+ * into the plain numeric `duration`/string `easing` pair the Web Animations API needs --
74
+ * WAAPI's numeric timing options cannot take a `var()` reference the way a CSS `transform`
75
+ * string can. Resolves against fully computed style, so a theme override that itself uses
76
+ * `var()` internally never leaks unresolved text into `easing`. */
77
+ function resolveTimingToken(el, preset) {
78
+ const raw = getComputedStyle(el).getPropertyValue(`--lyra-transition-${preset}`).trim();
79
+ const match = /^([\d.]+)(ms|s)\s+(.+)$/.exec(raw);
80
+ if (!match)
81
+ return { duration: 1000, easing: 'linear' };
82
+ const [, num, unit, easing] = match;
83
+ return { duration: unit === 's' ? parseFloat(num) * 1000 : parseFloat(num), easing: easing.trim() };
84
+ }
85
+ /**
86
+ * `<lyra-animation>` declaratively animates its single slotted child through the
87
+ * native Web Animations API: a small curated preset catalog (`name`) or fully
88
+ * custom `keyframes`, explicit WAAPI timing controls, an optional
89
+ * `playOnVisible` trigger, and a `lyra-start`/`lyra-finish`/`lyra-cancel` event
90
+ * contract.
91
+ *
92
+ * `keyframes`, when set, always wins over `name`. The `iterations` default is
93
+ * `Infinity` (mirrors the upstream Web Awesome/Shoelace animation contract
94
+ * verbatim) -- a named preset plays forever unless the consumer sets
95
+ * `iterations="1"`.
96
+ *
97
+ * `direction` is the Web Animations API's `PlaybackDirection`
98
+ * (`'normal' | 'reverse' | 'alternate' | 'alternate-reverse'`) and is entirely
99
+ * unrelated to text direction. Only the `slide-in-start`/`slide-in-end`/
100
+ * `slide-out-start`/`slide-out-end` presets read the inherited text direction
101
+ * (`effectiveDirection`) to resolve which physical edge "start"/"end" means,
102
+ * and they do so fresh every time the animation is (re)built -- an animation
103
+ * already mid-flight is not retroactively re-mirrored if an ancestor `dir`
104
+ * flips while it plays; the next rebuild picks up the change.
105
+ *
106
+ * `respectReducedMotion` (default `true`) caps playback to one iteration and
107
+ * calls `finish()` immediately instead of playing, whenever the OS/browser
108
+ * reports `prefers-reduced-motion: reduce` -- the target snaps straight to
109
+ * its resolved end state, and `lyra-start`/`lyra-finish` still fire in order
110
+ * so a consumer sequencing further UI off those events keeps working even
111
+ * though nothing visibly interpolated. Set `respectReducedMotion="false"`
112
+ * only for genuine user-triggered feedback (e.g. a drag-confirm snap-back)
113
+ * where a silent jump would be more confusing than a fast real animation --
114
+ * ambient/decorative animation should always leave this at its default.
115
+ *
116
+ * `timingPreset` (default `'custom'`) optionally derives `duration`/`easing`
117
+ * from the shared `--lyra-transition-fast`/`-base`/`-ambient` tokens instead
118
+ * of the raw `duration`/`easing` property values, so an app's global motion
119
+ * retiming reaches this component's animations too.
120
+ *
121
+ * @customElement lyra-animation
122
+ * @slot - The element to animate. A second slotted element is accepted without error but ignored.
123
+ * @event lyra-start - A new animation was created and playback began or restarted.
124
+ * @event lyra-finish - The animation reached its natural end, including the reduced-motion instant-finish path.
125
+ * @event lyra-cancel - The animation was canceled via the public `cancel()` method or external cancellation.
126
+ * @cssprop [--lyra-animation-slide-distance=100%] - Travel distance for the slide-in/slide-out/slide-in-up/slide-in-down presets.
127
+ * @cssprop [--lyra-animation-zoom-scale=0.5] - Starting/ending scale factor for the zoom-in/zoom-out presets.
128
+ * @cssprop [--lyra-animation-bounce-height=25%] - Peak lift height of the bounce preset.
129
+ * @cssprop [--lyra-animation-shake-distance=4%] - Horizontal travel of the shake preset.
130
+ */
131
+ export class LyraAnimation extends LyraElement {
132
+ constructor() {
133
+ super(...arguments);
134
+ this.name = 'none';
135
+ this.keyframes = undefined;
136
+ this.play = false;
137
+ this.delay = 0;
138
+ this.direction = 'normal';
139
+ this.duration = 1000;
140
+ this.easing = 'linear';
141
+ this.endDelay = 0;
142
+ this.fill = 'auto';
143
+ this.iterations = Infinity;
144
+ this.iterationStart = 0;
145
+ this.playbackRate = 1;
146
+ this.timingPreset = 'custom';
147
+ this.respectReducedMotion = true;
148
+ this.playOnVisible = false;
149
+ this.playOnVisibleRepeat = false;
150
+ this.rootMargin = '0px';
151
+ this.threshold = 0;
152
+ this.root = null;
153
+ this.hasStarted = false;
154
+ // A live external event (the OS/browser toggling its reduced-motion
155
+ // setting), not a construction-order concern -- rebuild directly rather
156
+ // than routing through scheduleAfterUpdate.
157
+ this.onMotionPreferenceChange = () => this.createAnimation();
158
+ this.onSlotChange = () => {
159
+ this.createAnimation();
160
+ this.syncVisibilityObserver();
161
+ };
162
+ this.syncVisibilityObserver = () => {
163
+ this.visibilityObserver?.disconnect();
164
+ this.visibilityObserver = undefined;
165
+ if (!this.playOnVisible)
166
+ return;
167
+ const target = this.currentTarget();
168
+ if (!target)
169
+ return;
170
+ if (typeof IntersectionObserver === 'undefined') {
171
+ // No observer support in this environment -- fail open and just play.
172
+ this.play = true;
173
+ return;
174
+ }
175
+ this.visibilityObserver = new IntersectionObserver((entries) => {
176
+ const entry = entries[entries.length - 1];
177
+ if (!entry)
178
+ return;
179
+ if (entry.isIntersecting) {
180
+ this.play = true;
181
+ if (!this.playOnVisibleRepeat) {
182
+ this.visibilityObserver?.disconnect();
183
+ this.visibilityObserver = undefined;
184
+ }
185
+ }
186
+ else if (this.playOnVisibleRepeat) {
187
+ this.play = false;
188
+ }
189
+ }, { root: this.root instanceof Element ? this.root : null, rootMargin: this.rootMargin, threshold: this.threshold });
190
+ this.visibilityObserver.observe(target);
191
+ };
192
+ this.createAnimation = () => {
193
+ this.destroyAnimation();
194
+ const target = this.currentTarget();
195
+ const keyframes = this.resolveKeyframes();
196
+ if (!target || !keyframes)
197
+ return;
198
+ const reduced = this.respectReducedMotion && prefersReducedMotion();
199
+ const { duration, easing } = this.timingPreset === 'custom' ? { duration: this.duration, easing: this.easing } : resolveTimingToken(this, this.timingPreset);
200
+ const options = {
201
+ delay: this.delay,
202
+ direction: this.direction,
203
+ duration,
204
+ easing,
205
+ endDelay: this.endDelay,
206
+ fill: this.fill,
207
+ iterationStart: this.iterationStart,
208
+ iterations: reduced ? Math.min(this.iterations, 1) : this.iterations,
209
+ };
210
+ this.animation = target.animate(keyframes, options);
211
+ this.animation.playbackRate = this.playbackRate;
212
+ this.animation.addEventListener('cancel', this.onAnimationCancel);
213
+ this.animation.addEventListener('finish', this.onAnimationFinish);
214
+ if (this.play) {
215
+ this.hasStarted = true;
216
+ this.emit('lyra-start');
217
+ if (reduced)
218
+ this.animation.finish();
219
+ }
220
+ else {
221
+ this.animation.pause();
222
+ }
223
+ };
224
+ // Guards against double-emitting lyra-start when both a rebuild-triggering
225
+ // property and `play` change in the same update batch (e.g. the element's
226
+ // very first update, where every property is "changed"): createAnimation()
227
+ // already handles the emit and sets hasStarted in that case, so this path
228
+ // (only reached when a rebuild did NOT also happen) never runs redundantly
229
+ // for that same transition.
230
+ this.applyPlayState = () => {
231
+ if (!this.animation)
232
+ return;
233
+ if (this.play) {
234
+ if (!this.hasStarted) {
235
+ this.hasStarted = true;
236
+ this.emit('lyra-start');
237
+ }
238
+ this.animation.play();
239
+ }
240
+ else {
241
+ this.animation.pause();
242
+ }
243
+ };
244
+ this.onAnimationFinish = () => {
245
+ this.play = false;
246
+ this.hasStarted = false;
247
+ this.emit('lyra-finish');
248
+ };
249
+ this.onAnimationCancel = () => {
250
+ this.play = false;
251
+ this.hasStarted = false;
252
+ this.emit('lyra-cancel');
253
+ };
254
+ }
255
+ static { this.styles = [LyraElement.styles, styles]; }
256
+ connectedCallback() {
257
+ super.connectedCallback();
258
+ this.motionQuery = typeof matchMedia === 'function' ? matchMedia('(prefers-reduced-motion: reduce)') : undefined;
259
+ this.motionQuery?.addEventListener('change', this.onMotionPreferenceChange);
260
+ this.scheduleAfterUpdate(() => {
261
+ this.createAnimation();
262
+ this.syncVisibilityObserver();
263
+ });
264
+ }
265
+ disconnectedCallback() {
266
+ this.destroyAnimation();
267
+ this.visibilityObserver?.disconnect();
268
+ this.visibilityObserver = undefined;
269
+ this.motionQuery?.removeEventListener('change', this.onMotionPreferenceChange);
270
+ this.motionQuery = undefined;
271
+ super.disconnectedCallback();
272
+ }
273
+ updated(changed) {
274
+ const rebuildKeys = [
275
+ 'name',
276
+ 'keyframes',
277
+ 'delay',
278
+ 'direction',
279
+ 'duration',
280
+ 'easing',
281
+ 'endDelay',
282
+ 'fill',
283
+ 'iterations',
284
+ 'iterationStart',
285
+ 'timingPreset',
286
+ 'respectReducedMotion',
287
+ ];
288
+ if (rebuildKeys.some((key) => changed.has(key)))
289
+ this.createAnimation();
290
+ else if (changed.has('play'))
291
+ this.applyPlayState();
292
+ if (changed.has('playbackRate') && this.animation)
293
+ this.animation.playbackRate = this.playbackRate;
294
+ if (['playOnVisible', 'playOnVisibleRepeat', 'rootMargin', 'threshold', 'root'].some((key) => changed.has(key))) {
295
+ this.scheduleAfterUpdate(this.syncVisibilityObserver);
296
+ }
297
+ }
298
+ currentTarget() {
299
+ const slot = this.renderRoot.querySelector('slot');
300
+ const [first] = slot?.assignedElements({ flatten: true }) ?? [];
301
+ return first instanceof HTMLElement ? first : undefined;
302
+ }
303
+ resolveKeyframes() {
304
+ if (this.keyframes)
305
+ return this.keyframes;
306
+ const { name } = this;
307
+ if (name === 'none')
308
+ return undefined;
309
+ if (DIRECTIONAL_SLIDE_NAMES.has(name)) {
310
+ const mode = name.startsWith('slide-in-') ? 'in' : 'out';
311
+ const edge = name.endsWith('-start') ? 'start' : 'end';
312
+ return slidePreset(edge, mode, this.effectiveDirection);
313
+ }
314
+ return PRESETS[name];
315
+ }
316
+ // Listeners are removed before `.cancel()` is called, not after. This
317
+ // method runs at the top of every createAnimation() rebuild (e.g. the
318
+ // consumer changed `duration` while playing) and in disconnectedCallback.
319
+ // Calling `.cancel()` while the `cancel` listener is still attached would
320
+ // spuriously fire the public `lyra-cancel` event and reset `play` back to
321
+ // `false` on every routine property change -- breaking the "lyra-start
322
+ // fires again on restart" contract. The public `cancel()` method below is
323
+ // a deliberately separate path that does NOT call this, so the native
324
+ // `cancel` event is allowed through to `lyra-cancel` on purpose.
325
+ destroyAnimation() {
326
+ if (!this.animation)
327
+ return;
328
+ this.animation.removeEventListener('cancel', this.onAnimationCancel);
329
+ this.animation.removeEventListener('finish', this.onAnimationFinish);
330
+ this.animation.cancel();
331
+ this.animation = undefined;
332
+ this.hasStarted = false;
333
+ }
334
+ get currentTime() {
335
+ return this.animation?.currentTime ?? 0;
336
+ }
337
+ set currentTime(value) {
338
+ if (this.animation)
339
+ this.animation.currentTime = value;
340
+ }
341
+ /** Convenience sugar for `this.play = true`. Named `start()`, not `play()`,
342
+ * because `play` is already a reactive boolean property on this class and a
343
+ * method cannot share that identifier. */
344
+ start() {
345
+ this.play = true;
346
+ }
347
+ /** Convenience sugar for `this.play = false`. */
348
+ pause() {
349
+ this.play = false;
350
+ }
351
+ /** Forwards to the underlying `Animation.cancel()`. Fires `lyra-cancel`. */
352
+ cancel() {
353
+ this.animation?.cancel();
354
+ }
355
+ /** Forwards to the underlying `Animation.finish()`. */
356
+ finish() {
357
+ this.animation?.finish();
358
+ }
359
+ render() {
360
+ return html `<slot @slotchange=${this.onSlotChange}></slot>`;
361
+ }
362
+ }
363
+ __decorate([
364
+ property()
365
+ ], LyraAnimation.prototype, "name", void 0);
366
+ __decorate([
367
+ property({ attribute: false })
368
+ ], LyraAnimation.prototype, "keyframes", void 0);
369
+ __decorate([
370
+ property({ type: Boolean, reflect: true })
371
+ ], LyraAnimation.prototype, "play", void 0);
372
+ __decorate([
373
+ property({ type: Number })
374
+ ], LyraAnimation.prototype, "delay", void 0);
375
+ __decorate([
376
+ property()
377
+ ], LyraAnimation.prototype, "direction", void 0);
378
+ __decorate([
379
+ property({ type: Number })
380
+ ], LyraAnimation.prototype, "duration", void 0);
381
+ __decorate([
382
+ property()
383
+ ], LyraAnimation.prototype, "easing", void 0);
384
+ __decorate([
385
+ property({ type: Number, attribute: 'end-delay' })
386
+ ], LyraAnimation.prototype, "endDelay", void 0);
387
+ __decorate([
388
+ property()
389
+ ], LyraAnimation.prototype, "fill", void 0);
390
+ __decorate([
391
+ property({ type: Number })
392
+ ], LyraAnimation.prototype, "iterations", void 0);
393
+ __decorate([
394
+ property({ type: Number, attribute: 'iteration-start' })
395
+ ], LyraAnimation.prototype, "iterationStart", void 0);
396
+ __decorate([
397
+ property({ type: Number, attribute: 'playback-rate' })
398
+ ], LyraAnimation.prototype, "playbackRate", void 0);
399
+ __decorate([
400
+ property({ attribute: 'timing-preset', reflect: true })
401
+ ], LyraAnimation.prototype, "timingPreset", void 0);
402
+ __decorate([
403
+ property({ type: Boolean, attribute: 'respect-reduced-motion', reflect: true })
404
+ ], LyraAnimation.prototype, "respectReducedMotion", void 0);
405
+ __decorate([
406
+ property({ type: Boolean, attribute: 'play-on-visible', reflect: true })
407
+ ], LyraAnimation.prototype, "playOnVisible", void 0);
408
+ __decorate([
409
+ property({ type: Boolean, attribute: 'play-on-visible-repeat', reflect: true })
410
+ ], LyraAnimation.prototype, "playOnVisibleRepeat", void 0);
411
+ __decorate([
412
+ property({ attribute: 'root-margin' })
413
+ ], LyraAnimation.prototype, "rootMargin", void 0);
414
+ __decorate([
415
+ property({ attribute: false })
416
+ ], LyraAnimation.prototype, "threshold", void 0);
417
+ __decorate([
418
+ property({ attribute: false })
419
+ ], LyraAnimation.prototype, "root", void 0);
420
+ //# sourceMappingURL=animation.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.class.js","sourceRoot":"","sources":["../../../src/components/animation/animation.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './animation.class.js';
2
+ //# sourceMappingURL=animation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../src/components/animation/animation.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './animation.class.js';
2
+ import { LyraAnimation } from './animation.class.js';
3
+ import { defineElement } from '../../internal/prefix.js';
4
+ defineElement('animation', LyraAnimation);
5
+ //# sourceMappingURL=animation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.js","sourceRoot":"","sources":["../../../src/components/animation/animation.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=animation.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.styles.d.ts","sourceRoot":"","sources":["../../../src/components/animation/animation.styles.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM,yBAQlB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { css } from 'lit';
2
+ // This component has no CSS `animation:`/`transition:` declaration of its
3
+ // own to disable under `@media (prefers-reduced-motion: reduce)` -- the
4
+ // element being animated is light-DOM slotted content driven imperatively
5
+ // via `Element.animate()`, which the shared reduced-motion block in
6
+ // `tokens.styles.ts` (scoped to shadow-DOM descendants of `:host`) never
7
+ // reaches. All reduced-motion handling for this component lives in JS, in
8
+ // `animation.class.ts`'s `createAnimation()`. Do not add a media block here.
9
+ export const styles = css `
10
+ :host {
11
+ display: contents;
12
+ --lyra-animation-slide-distance: 100%;
13
+ --lyra-animation-zoom-scale: 0.5;
14
+ --lyra-animation-bounce-height: 25%;
15
+ --lyra-animation-shake-distance: 4%;
16
+ }
17
+ `;
18
+ //# sourceMappingURL=animation.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animation.styles.js","sourceRoot":"","sources":["../../../src/components/animation/animation.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,0EAA0E;AAC1E,wEAAwE;AACxE,0EAA0E;AAC1E,oEAAoE;AACpE,yEAAyE;AACzE,0EAA0E;AAC1E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;CAQxB,CAAC"}