@hanifhan1f/vidstack 1.12.13 → 1.12.14

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 (949) hide show
  1. package/cdn/chunks/vidstack-2f5gzOW6.js +1 -0
  2. package/cdn/chunks/vidstack-BYgY9wmd.js +1 -0
  3. package/cdn/chunks/vidstack-BfBBPhXV.js +1 -0
  4. package/cdn/chunks/vidstack-Bjo5esRp.js +1 -0
  5. package/cdn/chunks/vidstack-BuL67v3q.js +1 -0
  6. package/cdn/chunks/vidstack-C0msPRTd.js +3 -0
  7. package/cdn/chunks/vidstack-CIjxJCz3.js +1 -0
  8. package/cdn/chunks/vidstack-C_AxqLKV.js +1 -0
  9. package/cdn/chunks/vidstack-CioT3Yw2.js +1 -0
  10. package/cdn/chunks/vidstack-CmpbA3Yd.js +16 -0
  11. package/cdn/chunks/vidstack-CrqkytHl.js +1 -0
  12. package/cdn/chunks/vidstack-D0M8R0ZU.js +1 -0
  13. package/cdn/chunks/vidstack-D40FSa5B.js +3 -0
  14. package/cdn/chunks/vidstack-DD2JwFVU.js +1 -0
  15. package/cdn/chunks/vidstack-DRH_1tFW.js +1 -0
  16. package/cdn/chunks/vidstack-DfDZuHNP.js +1 -0
  17. package/cdn/chunks/vidstack-DiNS2Vx5.js +1 -0
  18. package/cdn/chunks/vidstack-xjJ-ui_l.js +1 -0
  19. package/cdn/providers/vidstack-audio-2Dt_Ivbp.js +1 -0
  20. package/cdn/providers/vidstack-dash-CUtD4e6q.js +1 -0
  21. package/cdn/providers/vidstack-google-cast-BdORATUX.js +1 -0
  22. package/cdn/providers/vidstack-hls-R25Kb6DP.js +1 -0
  23. package/cdn/providers/vidstack-html-DaAUJYsD.js +1 -0
  24. package/cdn/providers/vidstack-video-Csvox7SO.js +1 -0
  25. package/cdn/providers/vidstack-vimeo-D4Z96kg2.js +1 -0
  26. package/cdn/providers/vidstack-youtube-DiND6h3s.js +1 -0
  27. package/cdn/vidstack.js +1 -0
  28. package/cdn/with-layouts/chunks/vidstack-2f5gzOW6.js +1 -0
  29. package/cdn/with-layouts/chunks/vidstack-BL_lNyW_.js +1 -0
  30. package/cdn/with-layouts/chunks/vidstack-BfBBPhXV.js +1 -0
  31. package/cdn/with-layouts/chunks/vidstack-BjOOdDcQ.js +1 -0
  32. package/cdn/with-layouts/chunks/vidstack-Bxv1Qnxe.js +1 -0
  33. package/cdn/with-layouts/chunks/vidstack-C5AP9wid.js +1 -0
  34. package/cdn/with-layouts/chunks/vidstack-CS2aNc61.js +1 -0
  35. package/cdn/with-layouts/chunks/vidstack-C_AxqLKV.js +1 -0
  36. package/cdn/with-layouts/chunks/vidstack-D-3_fAsK.js +1 -0
  37. package/cdn/with-layouts/chunks/vidstack-DKqYI_HJ.js +1 -0
  38. package/cdn/with-layouts/chunks/vidstack-DLVdcWrK.js +3 -0
  39. package/cdn/with-layouts/chunks/vidstack-DPO7J4-v.js +3 -0
  40. package/cdn/with-layouts/chunks/vidstack-DRH_1tFW.js +1 -0
  41. package/cdn/with-layouts/chunks/vidstack-DWjB11vV.js +1 -0
  42. package/cdn/with-layouts/chunks/vidstack-Dge3KT8k.js +1 -0
  43. package/cdn/with-layouts/chunks/vidstack-Dh2GOjra.js +1 -0
  44. package/cdn/with-layouts/chunks/vidstack-DiNS2Vx5.js +1 -0
  45. package/cdn/with-layouts/chunks/vidstack-QW5tTAS4.js +897 -0
  46. package/cdn/with-layouts/chunks/vidstack-Xe_d7ovA.js +1 -0
  47. package/cdn/with-layouts/chunks/vidstack-wt2OT4N7.js +1 -0
  48. package/cdn/with-layouts/providers/vidstack-audio-Bw1csc6N.js +1 -0
  49. package/cdn/with-layouts/providers/vidstack-dash-DHRMFG4Y.js +1 -0
  50. package/cdn/with-layouts/providers/vidstack-google-cast-BSYJYn-o.js +1 -0
  51. package/cdn/with-layouts/providers/vidstack-hls-DG1rTEqu.js +1 -0
  52. package/cdn/with-layouts/providers/vidstack-html-CoKFAYW5.js +1 -0
  53. package/cdn/with-layouts/providers/vidstack-video-CIxFJ9Z1.js +1 -0
  54. package/cdn/with-layouts/providers/vidstack-vimeo-CNLKOGMa.js +1 -0
  55. package/cdn/with-layouts/providers/vidstack-youtube-D1e-LE-8.js +1 -0
  56. package/cdn/with-layouts/vidstack.js +1 -0
  57. package/dev/chunks/vidstack-03oQOdB7.js +58 -0
  58. package/dev/chunks/vidstack-0Of4tJ8D.js +224 -0
  59. package/dev/chunks/vidstack-BJsZjPkB.js +204 -0
  60. package/dev/chunks/vidstack-BQSA-Rux.js +56 -0
  61. package/{src/core/quality/utils.ts → dev/chunks/vidstack-BTM4ERc7.js} +5 -7
  62. package/dev/chunks/vidstack-BXSB7eI9.js +58 -0
  63. package/dev/chunks/vidstack-BaGbgcvz.js +107 -0
  64. package/{src/core/time-ranges.ts → dev/chunks/vidstack-Becy7l6h.js} +22 -61
  65. package/dev/chunks/vidstack-Bf6x4gWe.js +29 -0
  66. package/dev/chunks/vidstack-BjxlZzGu.js +11 -0
  67. package/dev/chunks/vidstack-Blfm1k-4.js +1520 -0
  68. package/dev/chunks/vidstack-Bpr4fI4n.js +7 -0
  69. package/dev/chunks/vidstack-Bs54kFSz.js +66 -0
  70. package/dev/chunks/vidstack-Bur7I7Vy.js +57 -0
  71. package/dev/chunks/vidstack-C0SWkbs7.js +254 -0
  72. package/dev/chunks/vidstack-C1PwJD_4.js +1635 -0
  73. package/dev/chunks/vidstack-C4aPQ7hZ.js +1482 -0
  74. package/dev/chunks/vidstack-C6OqdJO7.js +114 -0
  75. package/dev/chunks/vidstack-C_rvOKWp.js +33 -0
  76. package/dev/chunks/vidstack-CaudO1jl.js +109 -0
  77. package/dev/chunks/vidstack-Cax7aAP-.js +66 -0
  78. package/dev/chunks/vidstack-CcQdBWil.js +58 -0
  79. package/dev/chunks/vidstack-CwTj4H1w.js +18 -0
  80. package/dev/chunks/vidstack-DAOcbKGP.js +254 -0
  81. package/dev/chunks/vidstack-DKaohJzR.js +5181 -0
  82. package/dev/chunks/vidstack-DXxIKXmd.js +50 -0
  83. package/dev/chunks/vidstack-DXzRuMtJ.js +107 -0
  84. package/dev/chunks/vidstack-Db1-Hg_U.js +297 -0
  85. package/dev/chunks/vidstack-DbBJlz7I.js +10 -0
  86. package/dev/chunks/vidstack-Dihypf8P.js +11 -0
  87. package/dev/chunks/vidstack-Dm1xEU9Q.js +34 -0
  88. package/dev/chunks/vidstack-Dv_LIPFu.js +14 -0
  89. package/{src/foundation/observers/raf-loop.ts → dev/chunks/vidstack-DwyWIZjv.js} +8 -11
  90. package/dev/chunks/vidstack-EoLRQZbs.js +2986 -0
  91. package/dev/chunks/vidstack-FKkY62Dr.js +104 -0
  92. package/dev/chunks/vidstack-krOAtKMi.js +32 -0
  93. package/dev/define/plyr-layout.js +52 -0
  94. package/dev/define/templates/plyr-layout.js +571 -0
  95. package/dev/define/templates/vidstack-audio-layout.js +168 -0
  96. package/dev/define/templates/vidstack-video-layout.js +446 -0
  97. package/dev/define/vidstack-icons.js +1 -0
  98. package/dev/define/vidstack-player-default-layout.js +22 -0
  99. package/dev/define/vidstack-player-layouts.js +26 -0
  100. package/dev/define/vidstack-player-ui.js +71 -0
  101. package/dev/define/vidstack-player.js +19 -0
  102. package/dev/global/plyr.js +502 -0
  103. package/dev/global/vidstack-player.js +129 -0
  104. package/dev/providers/vidstack-audio.js +35 -0
  105. package/dev/providers/vidstack-dash.js +516 -0
  106. package/dev/providers/vidstack-google-cast.js +474 -0
  107. package/dev/providers/vidstack-hls.js +408 -0
  108. package/dev/providers/vidstack-html.js +567 -0
  109. package/dev/providers/vidstack-video.js +207 -0
  110. package/dev/providers/vidstack-vimeo.js +554 -0
  111. package/dev/providers/vidstack-youtube.js +286 -0
  112. package/dev/vidstack-elements.js +37 -0
  113. package/dev/vidstack.js +92 -0
  114. package/elements.d.ts +1433 -0
  115. package/global/player.d.ts +52 -0
  116. package/{types/global → global}/plyr.d.ts +32 -33
  117. package/icons.d.ts +1 -0
  118. package/index.d.ts +402 -0
  119. package/package.json +3 -87
  120. package/plugins.d.ts +19 -0
  121. package/plugins.js +13 -0
  122. package/prod/chunks/vidstack-9_r3lWNO.js +45 -0
  123. package/prod/chunks/vidstack-B01xzxC4.js +7 -0
  124. package/prod/chunks/vidstack-BDIzK77F.js +107 -0
  125. package/prod/chunks/vidstack-BHqGlnGz.js +1482 -0
  126. package/prod/chunks/vidstack-BNpgCJJ1.js +1588 -0
  127. package/prod/chunks/vidstack-BP49Gz0m.js +58 -0
  128. package/prod/chunks/vidstack-BRZe2BNi.js +107 -0
  129. package/prod/chunks/vidstack-BTM4ERc7.js +11 -0
  130. package/prod/chunks/vidstack-BaaRY-9x.js +201 -0
  131. package/prod/chunks/vidstack-BdFYWy6h.js +26 -0
  132. package/prod/chunks/vidstack-BpLd9ASW.js +246 -0
  133. package/prod/chunks/vidstack-C05ipjAK.js +1520 -0
  134. package/prod/chunks/vidstack-C9vIqaYT.js +10 -0
  135. package/prod/chunks/vidstack-CA4tDJdF.js +33 -0
  136. package/prod/chunks/vidstack-COLU-zPZ.js +57 -0
  137. package/prod/chunks/vidstack-CwTj4H1w.js +18 -0
  138. package/prod/chunks/vidstack-D5EzK014.js +14 -0
  139. package/prod/chunks/vidstack-D7hJcnN-.js +297 -0
  140. package/prod/chunks/vidstack-DB9WDRL5.js +248 -0
  141. package/prod/chunks/vidstack-DESBVLFp.js +104 -0
  142. package/prod/chunks/vidstack-DXxIKXmd.js +50 -0
  143. package/prod/chunks/vidstack-DcMkaIHJ.js +2976 -0
  144. package/prod/chunks/vidstack-Dihypf8P.js +11 -0
  145. package/prod/chunks/vidstack-Dm1xEU9Q.js +34 -0
  146. package/prod/chunks/vidstack-DwenML7x.js +4771 -0
  147. package/prod/chunks/vidstack-Fem0yF3c.js +77 -0
  148. package/prod/chunks/vidstack-IDWYvfna.js +58 -0
  149. package/prod/chunks/vidstack-MbEMbVfP.js +109 -0
  150. package/prod/chunks/vidstack-Oq65llxr.js +29 -0
  151. package/prod/chunks/vidstack-SnIdjCkV.js +58 -0
  152. package/prod/chunks/vidstack-V1jwkH0s.js +66 -0
  153. package/prod/chunks/vidstack-bdt7uOlN.js +114 -0
  154. package/prod/chunks/vidstack-krOAtKMi.js +32 -0
  155. package/prod/chunks/vidstack-mxJIo4Sg.js +56 -0
  156. package/prod/chunks/vidstack-tt3O1zL6.js +11 -0
  157. package/prod/chunks/vidstack-zfCm-GM5.js +205 -0
  158. package/prod/define/plyr-layout.js +52 -0
  159. package/prod/define/templates/plyr-layout.js +571 -0
  160. package/prod/define/templates/vidstack-audio-layout.js +168 -0
  161. package/prod/define/templates/vidstack-video-layout.js +446 -0
  162. package/prod/define/vidstack-icons.js +1 -0
  163. package/prod/define/vidstack-player-default-layout.js +22 -0
  164. package/prod/define/vidstack-player-layouts.js +26 -0
  165. package/prod/define/vidstack-player-ui.js +71 -0
  166. package/prod/define/vidstack-player.js +19 -0
  167. package/prod/global/plyr.js +494 -0
  168. package/prod/global/vidstack-player.js +129 -0
  169. package/prod/providers/vidstack-audio.js +35 -0
  170. package/prod/providers/vidstack-dash.js +501 -0
  171. package/prod/providers/vidstack-google-cast.js +468 -0
  172. package/prod/providers/vidstack-hls.js +393 -0
  173. package/prod/providers/vidstack-html.js +555 -0
  174. package/prod/providers/vidstack-video.js +204 -0
  175. package/prod/providers/vidstack-vimeo.js +548 -0
  176. package/prod/providers/vidstack-youtube.js +286 -0
  177. package/prod/vidstack-elements.js +37 -0
  178. package/prod/vidstack.js +159 -0
  179. package/server/chunks/vidstack-B4CWj0Hp.js +381 -0
  180. package/server/chunks/vidstack-B8LynzY5.js +1564 -0
  181. package/server/chunks/vidstack-BGgfNYAH.js +141 -0
  182. package/server/chunks/vidstack-BGmwlunt.js +3035 -0
  183. package/server/chunks/vidstack-BOTZD4tC.js +18 -0
  184. package/server/chunks/vidstack-C19bj3Wq.js +307 -0
  185. package/server/chunks/vidstack-CFTkUXGK.js +295 -0
  186. package/server/chunks/vidstack-CQMB7Msg.js +1502 -0
  187. package/server/chunks/vidstack-CdBfecZT.js +205 -0
  188. package/server/chunks/vidstack-Cv_Art04.js +4635 -0
  189. package/server/chunks/vidstack-CwTj4H1w.js +18 -0
  190. package/server/chunks/vidstack-DXxIKXmd.js +50 -0
  191. package/server/chunks/vidstack-DbvCOsqU.js +107 -0
  192. package/server/chunks/vidstack-DgHfFDiw.js +1962 -0
  193. package/server/chunks/vidstack-Dm1xEU9Q.js +34 -0
  194. package/server/chunks/vidstack-DnkB7eGO.js +207 -0
  195. package/server/chunks/vidstack-DsnTqzpL.js +29 -0
  196. package/{src/elements/define/layouts/plyr/ui.ts → server/chunks/vidstack-FHGkN5xj.js} +144 -235
  197. package/server/chunks/vidstack-P_QDjYIl.js +56 -0
  198. package/server/chunks/vidstack-f5-aflD2.js +104 -0
  199. package/server/chunks/vidstack-krOAtKMi.js +32 -0
  200. package/server/define/plyr-layout.js +16 -0
  201. package/server/define/vidstack-icons.js +1 -0
  202. package/server/define/vidstack-player-default-layout.js +13 -0
  203. package/server/define/vidstack-player-layouts.js +16 -0
  204. package/server/define/vidstack-player-ui.js +11 -0
  205. package/server/define/vidstack-player.js +6 -0
  206. package/server/global/plyr.js +322 -0
  207. package/server/global/vidstack-player.js +58 -0
  208. package/server/vidstack-elements.js +46 -0
  209. package/server/vidstack.js +148 -0
  210. package/types/vidstack-BOvzfZjK.d.ts +1269 -0
  211. package/types/vidstack-DYLKXUvI.d.ts +7479 -0
  212. package/.templates/sandbox/favicon-32x32.png +0 -0
  213. package/.templates/sandbox/index.html +0 -42
  214. package/.templates/sandbox/main.ts +0 -137
  215. package/.templates/sandbox/styles.css +0 -68
  216. package/analyze.config.ts +0 -133
  217. package/build/build-styles.js +0 -33
  218. package/build/rollup-decorators.ts +0 -102
  219. package/build/rollup-minify.js +0 -20
  220. package/build/rollup-ts.js +0 -57
  221. package/rollup.config.ts +0 -442
  222. package/src/components/aria/announcer.ts +0 -181
  223. package/src/components/layouts/default/audio-layout.ts +0 -20
  224. package/src/components/layouts/default/context.ts +0 -15
  225. package/src/components/layouts/default/default-layout.ts +0 -67
  226. package/src/components/layouts/default/props.ts +0 -143
  227. package/src/components/layouts/default/translations.ts +0 -70
  228. package/src/components/layouts/default/video-layout.ts +0 -20
  229. package/src/components/layouts/plyr/context.ts +0 -13
  230. package/src/components/layouts/plyr/plyr-layout.ts +0 -90
  231. package/src/components/layouts/plyr/props.ts +0 -114
  232. package/src/components/layouts/plyr/translations.ts +0 -53
  233. package/src/components/player.ts +0 -758
  234. package/src/components/provider/provider.ts +0 -184
  235. package/src/components/provider/source-select.ts +0 -378
  236. package/src/components/provider/tracks.ts +0 -37
  237. package/src/components/ui/buttons/airplay-button.ts +0 -74
  238. package/src/components/ui/buttons/caption-button.ts +0 -68
  239. package/src/components/ui/buttons/fullscreen-button.ts +0 -90
  240. package/src/components/ui/buttons/google-cast-button.ts +0 -75
  241. package/src/components/ui/buttons/live-button.ts +0 -76
  242. package/src/components/ui/buttons/mute-button.ts +0 -69
  243. package/src/components/ui/buttons/pip-button.ts +0 -71
  244. package/src/components/ui/buttons/play-button.ts +0 -62
  245. package/src/components/ui/buttons/seek-button.ts +0 -92
  246. package/src/components/ui/buttons/toggle-button-controller.ts +0 -92
  247. package/src/components/ui/buttons/toggle-button.ts +0 -49
  248. package/src/components/ui/captions/captions-renderer.ts +0 -63
  249. package/src/components/ui/captions/captions.ts +0 -227
  250. package/src/components/ui/controls-group.ts +0 -13
  251. package/src/components/ui/controls.ts +0 -101
  252. package/src/components/ui/gesture.ts +0 -252
  253. package/src/components/ui/menu/menu-button.ts +0 -95
  254. package/src/components/ui/menu/menu-context.ts +0 -27
  255. package/src/components/ui/menu/menu-focus-controller.ts +0 -205
  256. package/src/components/ui/menu/menu-item.ts +0 -9
  257. package/src/components/ui/menu/menu-items.ts +0 -129
  258. package/src/components/ui/menu/menu-portal.ts +0 -105
  259. package/src/components/ui/menu/menu.ts +0 -612
  260. package/src/components/ui/menu/radio/radio-controller.ts +0 -18
  261. package/src/components/ui/menu/radio/radio-group-controller.ts +0 -81
  262. package/src/components/ui/menu/radio/radio-group.ts +0 -78
  263. package/src/components/ui/menu/radio/radio.ts +0 -151
  264. package/src/components/ui/menu/radio-groups/audio-gain-radio-group.ts +0 -116
  265. package/src/components/ui/menu/radio-groups/audio-radio-group.ts +0 -121
  266. package/src/components/ui/menu/radio-groups/captions-radio-group.ts +0 -153
  267. package/src/components/ui/menu/radio-groups/chapters-radio-group.ts +0 -211
  268. package/src/components/ui/menu/radio-groups/quality-radio-group.ts +0 -181
  269. package/src/components/ui/menu/radio-groups/speed-radio-group.ts +0 -112
  270. package/src/components/ui/popper/popper.ts +0 -103
  271. package/src/components/ui/poster.ts +0 -187
  272. package/src/components/ui/sliders/audio-gain-slider.ts +0 -150
  273. package/src/components/ui/sliders/quality-slider.ts +0 -148
  274. package/src/components/ui/sliders/slider/api/cssvars.ts +0 -10
  275. package/src/components/ui/sliders/slider/api/events.ts +0 -65
  276. package/src/components/ui/sliders/slider/api/state.ts +0 -101
  277. package/src/components/ui/sliders/slider/events-controller.ts +0 -383
  278. package/src/components/ui/sliders/slider/format.ts +0 -12
  279. package/src/components/ui/sliders/slider/slider-context.ts +0 -18
  280. package/src/components/ui/sliders/slider/slider-controller.ts +0 -211
  281. package/src/components/ui/sliders/slider/slider.ts +0 -94
  282. package/src/components/ui/sliders/slider/types.ts +0 -1
  283. package/src/components/ui/sliders/slider/utils.ts +0 -14
  284. package/src/components/ui/sliders/slider-preview.ts +0 -131
  285. package/src/components/ui/sliders/slider-thumbnail.ts +0 -28
  286. package/src/components/ui/sliders/slider-value.ts +0 -122
  287. package/src/components/ui/sliders/slider-video.ts +0 -198
  288. package/src/components/ui/sliders/speed-slider.ts +0 -147
  289. package/src/components/ui/sliders/time-slider/slider-chapters.ts +0 -444
  290. package/src/components/ui/sliders/time-slider/time-slider.ts +0 -319
  291. package/src/components/ui/sliders/volume-slider.ts +0 -145
  292. package/src/components/ui/thumbnails/thumbnail-loader.ts +0 -324
  293. package/src/components/ui/thumbnails/thumbnail.ts +0 -244
  294. package/src/components/ui/time.ts +0 -191
  295. package/src/components/ui/tooltip/tooltip-content.ts +0 -105
  296. package/src/components/ui/tooltip/tooltip-context.ts +0 -13
  297. package/src/components/ui/tooltip/tooltip-trigger.ts +0 -49
  298. package/src/components/ui/tooltip/tooltip.ts +0 -127
  299. package/src/core/api/media-attrs.ts +0 -35
  300. package/src/core/api/media-context.ts +0 -52
  301. package/src/core/api/media-events.ts +0 -601
  302. package/src/core/api/media-request-events.ts +0 -323
  303. package/src/core/api/player-controller.ts +0 -10
  304. package/src/core/api/player-events.ts +0 -49
  305. package/src/core/api/player-props.ts +0 -233
  306. package/src/core/api/player-state.ts +0 -940
  307. package/src/core/api/src-types.ts +0 -97
  308. package/src/core/api/types.ts +0 -69
  309. package/src/core/controls.ts +0 -251
  310. package/src/core/font/font-options.ts +0 -106
  311. package/src/core/font/font-vars.ts +0 -107
  312. package/src/core/keyboard/aria-shortcuts.ts +0 -42
  313. package/src/core/keyboard/controller.ts +0 -302
  314. package/src/core/keyboard/types.ts +0 -40
  315. package/src/core/quality/events.ts +0 -48
  316. package/src/core/quality/symbols.ts +0 -8
  317. package/src/core/quality/video-quality.ts +0 -86
  318. package/src/core/state/media-events-logger.ts +0 -67
  319. package/src/core/state/media-load-controller.ts +0 -40
  320. package/src/core/state/media-player-delegate.ts +0 -170
  321. package/src/core/state/media-request-manager.ts +0 -952
  322. package/src/core/state/media-state-manager.ts +0 -1077
  323. package/src/core/state/media-state-sync.ts +0 -162
  324. package/src/core/state/media-storage.ts +0 -196
  325. package/src/core/state/navigator-media-session.ts +0 -62
  326. package/src/core/state/remote-control.ts +0 -584
  327. package/src/core/state/tracked-media-events.ts +0 -22
  328. package/src/core/tracks/audio/audio-tracks.ts +0 -33
  329. package/src/core/tracks/audio/events.ts +0 -41
  330. package/src/core/tracks/text/events.ts +0 -52
  331. package/src/core/tracks/text/render/libass-text-renderer.ts +0 -246
  332. package/src/core/tracks/text/render/native-text-renderer.ts +0 -106
  333. package/src/core/tracks/text/render/text-renderer.ts +0 -134
  334. package/src/core/tracks/text/symbols.ts +0 -17
  335. package/src/core/tracks/text/text-track.test.ts +0 -407
  336. package/src/core/tracks/text/text-track.ts +0 -413
  337. package/src/core/tracks/text/text-tracks.ts +0 -210
  338. package/src/core/tracks/text/utils.ts +0 -85
  339. package/src/elements/bundles/cdn/player.core.ts +0 -6
  340. package/src/elements/bundles/cdn/player.ts +0 -8
  341. package/src/elements/bundles/cdn/plyr.ts +0 -6
  342. package/src/elements/bundles/cdn-legacy/player-with-default.ts +0 -4
  343. package/src/elements/bundles/cdn-legacy/player-with-layouts.ts +0 -4
  344. package/src/elements/bundles/cdn-legacy/player-with-plyr.ts +0 -3
  345. package/src/elements/bundles/cdn-legacy/player.ts +0 -3
  346. package/src/elements/bundles/icons.ts +0 -3
  347. package/src/elements/bundles/player-layouts/default.ts +0 -7
  348. package/src/elements/bundles/player-layouts/index.ts +0 -9
  349. package/src/elements/bundles/player-layouts/plyr.ts +0 -65
  350. package/src/elements/bundles/player-ui.ts +0 -108
  351. package/src/elements/bundles/player.ts +0 -7
  352. package/src/elements/define/announcer-element.ts +0 -20
  353. package/src/elements/define/buttons/airplay-button-element.ts +0 -21
  354. package/src/elements/define/buttons/caption-button-element.ts +0 -22
  355. package/src/elements/define/buttons/fullscreen-button-element.ts +0 -22
  356. package/src/elements/define/buttons/google-cast-button-element.ts +0 -21
  357. package/src/elements/define/buttons/live-button-element.ts +0 -22
  358. package/src/elements/define/buttons/mute-button-element.ts +0 -23
  359. package/src/elements/define/buttons/pip-button-element.ts +0 -22
  360. package/src/elements/define/buttons/play-button-element.ts +0 -23
  361. package/src/elements/define/buttons/seek-button-element.ts +0 -26
  362. package/src/elements/define/buttons/toggle-button-element.ts +0 -21
  363. package/src/elements/define/captions-element.ts +0 -20
  364. package/src/elements/define/chapter-title-element.ts +0 -54
  365. package/src/elements/define/controls-element.ts +0 -26
  366. package/src/elements/define/controls-group-element.ts +0 -26
  367. package/src/elements/define/gesture-element.ts +0 -24
  368. package/src/elements/define/layouts/default/audio-layout-element.ts +0 -137
  369. package/src/elements/define/layouts/default/audio-layout.ts +0 -113
  370. package/src/elements/define/layouts/default/icons-loader.ts +0 -17
  371. package/src/elements/define/layouts/default/icons.ts +0 -86
  372. package/src/elements/define/layouts/default/slots.ts +0 -12
  373. package/src/elements/define/layouts/default/ui/announcer.ts +0 -14
  374. package/src/elements/define/layouts/default/ui/buttons.ts +0 -291
  375. package/src/elements/define/layouts/default/ui/captions.ts +0 -14
  376. package/src/elements/define/layouts/default/ui/controls.ts +0 -5
  377. package/src/elements/define/layouts/default/ui/keyboard-display.ts +0 -114
  378. package/src/elements/define/layouts/default/ui/menu/accessibility-menu.ts +0 -79
  379. package/src/elements/define/layouts/default/ui/menu/audio-menu.ts +0 -135
  380. package/src/elements/define/layouts/default/ui/menu/captions-menu.ts +0 -114
  381. package/src/elements/define/layouts/default/ui/menu/chapters-menu.ts +0 -117
  382. package/src/elements/define/layouts/default/ui/menu/episodes-menu.ts +0 -133
  383. package/src/elements/define/layouts/default/ui/menu/font-menu.ts +0 -253
  384. package/src/elements/define/layouts/default/ui/menu/items/menu-checkbox.ts +0 -67
  385. package/src/elements/define/layouts/default/ui/menu/items/menu-items.ts +0 -108
  386. package/src/elements/define/layouts/default/ui/menu/items/menu-slider.ts +0 -59
  387. package/src/elements/define/layouts/default/ui/menu/menu-portal.ts +0 -56
  388. package/src/elements/define/layouts/default/ui/menu/playback-menu.ts +0 -183
  389. package/src/elements/define/layouts/default/ui/menu/settings-menu.ts +0 -98
  390. package/src/elements/define/layouts/default/ui/slider.ts +0 -112
  391. package/src/elements/define/layouts/default/ui/time.ts +0 -41
  392. package/src/elements/define/layouts/default/ui/title.ts +0 -25
  393. package/src/elements/define/layouts/default/ui/utils.ts +0 -10
  394. package/src/elements/define/layouts/default/video-layout-element.ts +0 -125
  395. package/src/elements/define/layouts/default/video-layout.ts +0 -353
  396. package/src/elements/define/layouts/icons/icons-loader.ts +0 -47
  397. package/src/elements/define/layouts/icons/layout-icons-loader.ts +0 -24
  398. package/src/elements/define/layouts/layout-element.ts +0 -78
  399. package/src/elements/define/layouts/layout-name.ts +0 -15
  400. package/src/elements/define/layouts/plyr/icons/plyr-airplay.js +0 -1
  401. package/src/elements/define/layouts/plyr/icons/plyr-captions-off.js +0 -1
  402. package/src/elements/define/layouts/plyr/icons/plyr-captions-on.js +0 -1
  403. package/src/elements/define/layouts/plyr/icons/plyr-download.js +0 -1
  404. package/src/elements/define/layouts/plyr/icons/plyr-enter-fullscreen.js +0 -1
  405. package/src/elements/define/layouts/plyr/icons/plyr-exit-fullscreen.js +0 -1
  406. package/src/elements/define/layouts/plyr/icons/plyr-fast-forward.js +0 -1
  407. package/src/elements/define/layouts/plyr/icons/plyr-muted.js +0 -1
  408. package/src/elements/define/layouts/plyr/icons/plyr-pause.js +0 -1
  409. package/src/elements/define/layouts/plyr/icons/plyr-pip.js +0 -1
  410. package/src/elements/define/layouts/plyr/icons/plyr-play.js +0 -1
  411. package/src/elements/define/layouts/plyr/icons/plyr-restart.js +0 -1
  412. package/src/elements/define/layouts/plyr/icons/plyr-rewind.js +0 -1
  413. package/src/elements/define/layouts/plyr/icons/plyr-settings.js +0 -1
  414. package/src/elements/define/layouts/plyr/icons/plyr-volume.js +0 -1
  415. package/src/elements/define/layouts/plyr/icons-loader.ts +0 -21
  416. package/src/elements/define/layouts/plyr/icons.ts +0 -34
  417. package/src/elements/define/layouts/plyr/plyr-layout-element.ts +0 -67
  418. package/src/elements/define/layouts/slot-manager.ts +0 -61
  419. package/src/elements/define/layouts/slot-observer.ts +0 -70
  420. package/src/elements/define/menus/_template.ts +0 -47
  421. package/src/elements/define/menus/audio-gain-group-element.ts +0 -37
  422. package/src/elements/define/menus/audio-radio-group-element.ts +0 -37
  423. package/src/elements/define/menus/captions-radio-group-element.ts +0 -37
  424. package/src/elements/define/menus/chapters-radio-group-element.ts +0 -68
  425. package/src/elements/define/menus/menu-button-element.ts +0 -27
  426. package/src/elements/define/menus/menu-element.ts +0 -28
  427. package/src/elements/define/menus/menu-item-element.ts +0 -24
  428. package/src/elements/define/menus/menu-items-element.ts +0 -27
  429. package/src/elements/define/menus/menu-portal-element.ts +0 -35
  430. package/src/elements/define/menus/quality-radio-group-element.ts +0 -51
  431. package/src/elements/define/menus/radio-element.ts +0 -24
  432. package/src/elements/define/menus/radio-group-element.ts +0 -24
  433. package/src/elements/define/menus/speed-radio-group-element.ts +0 -37
  434. package/src/elements/define/player-element.ts +0 -33
  435. package/src/elements/define/poster-element.ts +0 -53
  436. package/src/elements/define/provider-cast-display.ts +0 -36
  437. package/src/elements/define/provider-element.ts +0 -158
  438. package/src/elements/define/sliders/audio-gain-slider-element.ts +0 -34
  439. package/src/elements/define/sliders/quality-slider-element.ts +0 -34
  440. package/src/elements/define/sliders/slider-chapters-element.ts +0 -53
  441. package/src/elements/define/sliders/slider-element.ts +0 -25
  442. package/src/elements/define/sliders/slider-preview-element.ts +0 -16
  443. package/src/elements/define/sliders/slider-steps-element.ts +0 -50
  444. package/src/elements/define/sliders/slider-thumbnail-element.ts +0 -48
  445. package/src/elements/define/sliders/slider-value-element.ts +0 -49
  446. package/src/elements/define/sliders/slider-video-element.ts +0 -59
  447. package/src/elements/define/sliders/speed-slider-element.ts +0 -34
  448. package/src/elements/define/sliders/time-slider-element.ts +0 -34
  449. package/src/elements/define/sliders/volume-slider-element.ts +0 -34
  450. package/src/elements/define/spinner-element.ts +0 -96
  451. package/src/elements/define/thumbnail-element.ts +0 -63
  452. package/src/elements/define/time-element.ts +0 -32
  453. package/src/elements/define/title-element.ts +0 -38
  454. package/src/elements/define/tooltips/tooltip-content-element.ts +0 -28
  455. package/src/elements/define/tooltips/tooltip-element.ts +0 -28
  456. package/src/elements/define/tooltips/tooltip-trigger-element.ts +0 -32
  457. package/src/elements/icon.ts +0 -30
  458. package/src/elements/index.ts +0 -71
  459. package/src/elements/lit/directives/signal.ts +0 -80
  460. package/src/elements/lit/html.ts +0 -11
  461. package/src/elements/lit/lit-element.ts +0 -23
  462. package/src/elements/state-controller.ts +0 -48
  463. package/src/exports/components.ts +0 -79
  464. package/src/exports/core.ts +0 -41
  465. package/src/exports/events.ts +0 -46
  466. package/src/exports/font.ts +0 -3
  467. package/src/exports/foundation.ts +0 -8
  468. package/src/exports/maverick.ts +0 -9
  469. package/src/exports/providers.ts +0 -42
  470. package/src/exports/utils.ts +0 -18
  471. package/src/foundation/fullscreen/controller.ts +0 -128
  472. package/src/foundation/fullscreen/events.ts +0 -26
  473. package/src/foundation/list/list.ts +0 -127
  474. package/src/foundation/list/select-list.ts +0 -86
  475. package/src/foundation/list/symbols.ts +0 -22
  476. package/src/foundation/logger/colors.ts +0 -33
  477. package/src/foundation/logger/controller.ts +0 -71
  478. package/src/foundation/logger/events.ts +0 -29
  479. package/src/foundation/logger/grouped-log.ts +0 -44
  480. package/src/foundation/logger/log-level.ts +0 -17
  481. package/src/foundation/logger/log-printer.ts +0 -119
  482. package/src/foundation/logger/ms.ts +0 -31
  483. package/src/foundation/observers/focus-visible.ts +0 -74
  484. package/src/foundation/observers/intersection-observer.ts +0 -60
  485. package/src/foundation/observers/page-visibility.ts +0 -105
  486. package/src/foundation/orientation/controller.ts +0 -139
  487. package/src/foundation/orientation/events.ts +0 -20
  488. package/src/foundation/orientation/types.ts +0 -96
  489. package/src/foundation/queue/queue.ts +0 -41
  490. package/src/foundation/queue/request-queue.test.ts +0 -139
  491. package/src/foundation/queue/request-queue.ts +0 -94
  492. package/src/global/layouts/default.ts +0 -28
  493. package/src/global/layouts/loader.ts +0 -5
  494. package/src/global/layouts/plyr.ts +0 -24
  495. package/src/global/player.ts +0 -144
  496. package/src/global/plyr.ts +0 -917
  497. package/src/globals.d.ts +0 -11
  498. package/src/index.ts +0 -10
  499. package/src/plugins.ts +0 -369
  500. package/src/providers/audio/loader.ts +0 -45
  501. package/src/providers/audio/provider.ts +0 -50
  502. package/src/providers/dash/dash.ts +0 -417
  503. package/src/providers/dash/events.ts +0 -585
  504. package/src/providers/dash/lib-loader.ts +0 -202
  505. package/src/providers/dash/loader.ts +0 -33
  506. package/src/providers/dash/provider.ts +0 -135
  507. package/src/providers/dash/types.ts +0 -21
  508. package/src/providers/embed/EmbedProvider.ts +0 -84
  509. package/src/providers/google-cast/events.ts +0 -53
  510. package/src/providers/google-cast/loader.ts +0 -174
  511. package/src/providers/google-cast/media-info.ts +0 -49
  512. package/src/providers/google-cast/provider.ts +0 -483
  513. package/src/providers/google-cast/tracks.ts +0 -170
  514. package/src/providers/google-cast/types.ts +0 -3
  515. package/src/providers/google-cast/utils.ts +0 -112
  516. package/src/providers/hls/events.ts +0 -472
  517. package/src/providers/hls/hls.ts +0 -290
  518. package/src/providers/hls/lib-loader.ts +0 -178
  519. package/src/providers/hls/loader.ts +0 -33
  520. package/src/providers/hls/provider.ts +0 -137
  521. package/src/providers/hls/types.ts +0 -10
  522. package/src/providers/html/audio/audio-context.ts +0 -60
  523. package/src/providers/html/audio/audio-gain.ts +0 -100
  524. package/src/providers/html/html/342/200/223media-events.ts +0 -338
  525. package/src/providers/html/native-audio-tracks.ts +0 -91
  526. package/src/providers/html/provider.ts +0 -141
  527. package/src/providers/html/remote-playback.ts +0 -94
  528. package/src/providers/type-check.ts +0 -61
  529. package/src/providers/types.ts +0 -95
  530. package/src/providers/video/loader.ts +0 -45
  531. package/src/providers/video/native-hls-text-tracks.ts +0 -69
  532. package/src/providers/video/picture-in-picture.ts +0 -54
  533. package/src/providers/video/presentation/events.ts +0 -12
  534. package/src/providers/video/presentation/video-presentation.ts +0 -110
  535. package/src/providers/video/provider.ts +0 -91
  536. package/src/providers/vimeo/embed/command.ts +0 -118
  537. package/src/providers/vimeo/embed/event.ts +0 -124
  538. package/src/providers/vimeo/embed/message.ts +0 -9
  539. package/src/providers/vimeo/embed/misc.ts +0 -57
  540. package/src/providers/vimeo/embed/params.ts +0 -168
  541. package/src/providers/vimeo/loader.ts +0 -61
  542. package/src/providers/vimeo/provider.ts +0 -730
  543. package/src/providers/vimeo/utils.ts +0 -53
  544. package/src/providers/youtube/embed/command.ts +0 -21
  545. package/src/providers/youtube/embed/event.ts +0 -1
  546. package/src/providers/youtube/embed/message.ts +0 -54
  547. package/src/providers/youtube/embed/params.ts +0 -238
  548. package/src/providers/youtube/embed/quality.ts +0 -35
  549. package/src/providers/youtube/embed/state.ts +0 -13
  550. package/src/providers/youtube/loader.ts +0 -61
  551. package/src/providers/youtube/provider.ts +0 -403
  552. package/src/providers/youtube/utils.ts +0 -45
  553. package/src/tailwind.test.ts +0 -413
  554. package/src/test-utils/index.ts +0 -22
  555. package/src/test-utils/setup.ts +0 -3
  556. package/src/utils/aria.ts +0 -14
  557. package/src/utils/array.ts +0 -3
  558. package/src/utils/color.ts +0 -5
  559. package/src/utils/dom.ts +0 -458
  560. package/src/utils/error.ts +0 -11
  561. package/src/utils/language.ts +0 -16
  562. package/src/utils/manifest.ts +0 -61
  563. package/src/utils/mime.ts +0 -101
  564. package/src/utils/network.ts +0 -118
  565. package/src/utils/number.ts +0 -25
  566. package/src/utils/promise.ts +0 -12
  567. package/src/utils/scroll.ts +0 -19
  568. package/src/utils/support.ts +0 -163
  569. package/src/utils/time.test.ts +0 -111
  570. package/src/utils/time.ts +0 -123
  571. package/tsconfig.build.json +0 -9
  572. package/tsconfig.json +0 -11
  573. package/types/components/aria/announcer.d.ts +0 -27
  574. package/types/components/layouts/default/audio-layout.d.ts +0 -15
  575. package/types/components/layouts/default/context.d.ts +0 -9
  576. package/types/components/layouts/default/default-layout.d.ts +0 -10
  577. package/types/components/layouts/default/props.d.ts +0 -125
  578. package/types/components/layouts/default/translations.d.ts +0 -6
  579. package/types/components/layouts/default/video-layout.d.ts +0 -15
  580. package/types/components/layouts/plyr/context.d.ts +0 -7
  581. package/types/components/layouts/plyr/plyr-layout.d.ts +0 -9
  582. package/types/components/layouts/plyr/props.d.ts +0 -68
  583. package/types/components/layouts/plyr/translations.d.ts +0 -6
  584. package/types/components/player.d.ts +0 -214
  585. package/types/components/provider/provider.d.ts +0 -24
  586. package/types/components/provider/source-select.d.ts +0 -10
  587. package/types/components/provider/tracks.d.ts +0 -7
  588. package/types/components/ui/buttons/airplay-button.d.ts +0 -23
  589. package/types/components/ui/buttons/caption-button.d.ts +0 -21
  590. package/types/components/ui/buttons/fullscreen-button.d.ts +0 -28
  591. package/types/components/ui/buttons/google-cast-button.d.ts +0 -23
  592. package/types/components/ui/buttons/live-button.d.ts +0 -30
  593. package/types/components/ui/buttons/mute-button.d.ts +0 -21
  594. package/types/components/ui/buttons/pip-button.d.ts +0 -22
  595. package/types/components/ui/buttons/play-button.d.ts +0 -21
  596. package/types/components/ui/buttons/seek-button.d.ts +0 -32
  597. package/types/components/ui/buttons/toggle-button-controller.d.ts +0 -20
  598. package/types/components/ui/buttons/toggle-button.d.ts +0 -29
  599. package/types/components/ui/captions/captions-renderer.d.ts +0 -12
  600. package/types/components/ui/captions/captions.d.ts +0 -22
  601. package/types/components/ui/controls-group.d.ts +0 -9
  602. package/types/components/ui/controls.d.ts +0 -38
  603. package/types/components/ui/gesture.d.ts +0 -64
  604. package/types/components/ui/menu/menu-button.d.ts +0 -37
  605. package/types/components/ui/menu/menu-context.d.ts +0 -23
  606. package/types/components/ui/menu/menu-focus-controller.d.ts +0 -14
  607. package/types/components/ui/menu/menu-item.d.ts +0 -9
  608. package/types/components/ui/menu/menu-items.d.ts +0 -44
  609. package/types/components/ui/menu/menu-portal.d.ts +0 -31
  610. package/types/components/ui/menu/menu.d.ts +0 -66
  611. package/types/components/ui/menu/radio/radio-controller.d.ts +0 -14
  612. package/types/components/ui/menu/radio/radio-group-controller.d.ts +0 -11
  613. package/types/components/ui/menu/radio/radio-group.d.ts +0 -40
  614. package/types/components/ui/menu/radio/radio.d.ts +0 -50
  615. package/types/components/ui/menu/radio-groups/audio-gain-radio-group.d.ts +0 -36
  616. package/types/components/ui/menu/radio-groups/audio-radio-group.d.ts +0 -37
  617. package/types/components/ui/menu/radio-groups/captions-radio-group.d.ts +0 -38
  618. package/types/components/ui/menu/radio-groups/chapters-radio-group.d.ts +0 -46
  619. package/types/components/ui/menu/radio-groups/quality-radio-group.d.ts +0 -48
  620. package/types/components/ui/menu/radio-groups/speed-radio-group.d.ts +0 -36
  621. package/types/components/ui/popper/popper.d.ts +0 -15
  622. package/types/components/ui/poster.d.ts +0 -47
  623. package/types/components/ui/sliders/audio-gain-slider.d.ts +0 -43
  624. package/types/components/ui/sliders/quality-slider.d.ts +0 -34
  625. package/types/components/ui/sliders/slider/api/cssvars.d.ts +0 -10
  626. package/types/components/ui/sliders/slider/api/events.d.ts +0 -57
  627. package/types/components/ui/sliders/slider/api/state.d.ts +0 -68
  628. package/types/components/ui/sliders/slider/events-controller.d.ts +0 -23
  629. package/types/components/ui/sliders/slider/format.d.ts +0 -8
  630. package/types/components/ui/sliders/slider/slider-context.d.ts +0 -13
  631. package/types/components/ui/sliders/slider/slider-controller.d.ts +0 -59
  632. package/types/components/ui/sliders/slider/slider.d.ts +0 -39
  633. package/types/components/ui/sliders/slider/types.d.ts +0 -1
  634. package/types/components/ui/sliders/slider/utils.d.ts +0 -2
  635. package/types/components/ui/sliders/slider-preview.d.ts +0 -34
  636. package/types/components/ui/sliders/slider-thumbnail.d.ts +0 -16
  637. package/types/components/ui/sliders/slider-value.d.ts +0 -59
  638. package/types/components/ui/sliders/slider-video.d.ts +0 -73
  639. package/types/components/ui/sliders/speed-slider.d.ts +0 -42
  640. package/types/components/ui/sliders/time-slider/slider-chapters.d.ts +0 -36
  641. package/types/components/ui/sliders/time-slider/time-slider.d.ts +0 -56
  642. package/types/components/ui/sliders/volume-slider.d.ts +0 -35
  643. package/types/components/ui/thumbnails/thumbnail-loader.d.ts +0 -47
  644. package/types/components/ui/thumbnails/thumbnail.d.ts +0 -50
  645. package/types/components/ui/time.d.ts +0 -62
  646. package/types/components/ui/tooltip/tooltip-content.d.ts +0 -39
  647. package/types/components/ui/tooltip/tooltip-context.d.ts +0 -11
  648. package/types/components/ui/tooltip/tooltip-trigger.d.ts +0 -14
  649. package/types/components/ui/tooltip/tooltip.d.ts +0 -23
  650. package/types/core/api/media-attrs.d.ts +0 -3
  651. package/types/core/api/media-context.d.ts +0 -37
  652. package/types/core/api/media-events.d.ts +0 -581
  653. package/types/core/api/media-request-events.d.ts +0 -319
  654. package/types/core/api/player-controller.d.ts +0 -6
  655. package/types/core/api/player-events.d.ts +0 -38
  656. package/types/core/api/player-props.d.ts +0 -163
  657. package/types/core/api/player-state.d.ts +0 -656
  658. package/types/core/api/src-types.d.ts +0 -50
  659. package/types/core/api/types.d.ts +0 -54
  660. package/types/core/controls.d.ts +0 -43
  661. package/types/core/font/font-options.d.ts +0 -42
  662. package/types/core/font/font-vars.d.ts +0 -1
  663. package/types/core/keyboard/aria-shortcuts.d.ts +0 -6
  664. package/types/core/keyboard/controller.d.ts +0 -9
  665. package/types/core/keyboard/types.d.ts +0 -33
  666. package/types/core/quality/events.d.ts +0 -43
  667. package/types/core/quality/symbols.d.ts +0 -6
  668. package/types/core/quality/utils.d.ts +0 -2
  669. package/types/core/quality/video-quality.d.ts +0 -52
  670. package/types/core/state/media-events-logger.d.ts +0 -7
  671. package/types/core/state/media-load-controller.d.ts +0 -6
  672. package/types/core/state/media-player-delegate.d.ts +0 -13
  673. package/types/core/state/media-request-manager.d.ts +0 -71
  674. package/types/core/state/media-state-manager.d.ts +0 -59
  675. package/types/core/state/media-state-sync.d.ts +0 -8
  676. package/types/core/state/media-storage.d.ts +0 -74
  677. package/types/core/state/navigator-media-session.d.ts +0 -5
  678. package/types/core/state/remote-control.d.ts +0 -288
  679. package/types/core/state/tracked-media-events.d.ts +0 -2
  680. package/types/core/time-ranges.d.ts +0 -12
  681. package/types/core/tracks/audio/audio-tracks.d.ts +0 -32
  682. package/types/core/tracks/audio/events.d.ts +0 -37
  683. package/types/core/tracks/text/events.d.ts +0 -49
  684. package/types/core/tracks/text/render/libass-text-renderer.d.ts +0 -181
  685. package/types/core/tracks/text/render/native-text-renderer.d.ts +0 -13
  686. package/types/core/tracks/text/render/text-renderer.d.ts +0 -17
  687. package/types/core/tracks/text/symbols.d.ts +0 -11
  688. package/types/core/tracks/text/text-track.d.ts +0 -137
  689. package/types/core/tracks/text/text-tracks.d.ts +0 -55
  690. package/types/core/tracks/text/utils.d.ts +0 -8
  691. package/types/elements/bundles/cdn/player.core.d.ts +0 -5
  692. package/types/elements/bundles/cdn/player.d.ts +0 -7
  693. package/types/elements/bundles/cdn/plyr.d.ts +0 -5
  694. package/types/elements/bundles/cdn-legacy/player-with-default.d.ts +0 -4
  695. package/types/elements/bundles/cdn-legacy/player-with-layouts.d.ts +0 -4
  696. package/types/elements/bundles/cdn-legacy/player-with-plyr.d.ts +0 -3
  697. package/types/elements/bundles/cdn-legacy/player.d.ts +0 -3
  698. package/types/elements/bundles/icons.d.ts +0 -2
  699. package/types/elements/bundles/player-layouts/default.d.ts +0 -1
  700. package/types/elements/bundles/player-layouts/index.d.ts +0 -1
  701. package/types/elements/bundles/player-layouts/plyr.d.ts +0 -1
  702. package/types/elements/bundles/player-ui.d.ts +0 -1
  703. package/types/elements/bundles/player.d.ts +0 -1
  704. package/types/elements/define/announcer-element.d.ts +0 -18
  705. package/types/elements/define/buttons/airplay-button-element.d.ts +0 -19
  706. package/types/elements/define/buttons/caption-button-element.d.ts +0 -20
  707. package/types/elements/define/buttons/fullscreen-button-element.d.ts +0 -20
  708. package/types/elements/define/buttons/google-cast-button-element.d.ts +0 -19
  709. package/types/elements/define/buttons/live-button-element.d.ts +0 -20
  710. package/types/elements/define/buttons/mute-button-element.d.ts +0 -21
  711. package/types/elements/define/buttons/pip-button-element.d.ts +0 -20
  712. package/types/elements/define/buttons/play-button-element.d.ts +0 -21
  713. package/types/elements/define/buttons/seek-button-element.d.ts +0 -24
  714. package/types/elements/define/buttons/toggle-button-element.d.ts +0 -19
  715. package/types/elements/define/captions-element.d.ts +0 -18
  716. package/types/elements/define/chapter-title-element.d.ts +0 -30
  717. package/types/elements/define/controls-element.d.ts +0 -24
  718. package/types/elements/define/controls-group-element.d.ts +0 -24
  719. package/types/elements/define/gesture-element.d.ts +0 -22
  720. package/types/elements/define/layouts/default/audio-layout-element.d.ts +0 -29
  721. package/types/elements/define/layouts/default/audio-layout.d.ts +0 -1
  722. package/types/elements/define/layouts/default/icons-loader.d.ts +0 -5
  723. package/types/elements/define/layouts/default/icons.d.ts +0 -52
  724. package/types/elements/define/layouts/default/slots.d.ts +0 -2
  725. package/types/elements/define/layouts/default/ui/announcer.d.ts +0 -1
  726. package/types/elements/define/layouts/default/ui/buttons.d.ts +0 -31
  727. package/types/elements/define/layouts/default/ui/captions.d.ts +0 -1
  728. package/types/elements/define/layouts/default/ui/controls.d.ts +0 -1
  729. package/types/elements/define/layouts/default/ui/keyboard-display.d.ts +0 -1
  730. package/types/elements/define/layouts/default/ui/menu/accessibility-menu.d.ts +0 -1
  731. package/types/elements/define/layouts/default/ui/menu/audio-menu.d.ts +0 -1
  732. package/types/elements/define/layouts/default/ui/menu/captions-menu.d.ts +0 -1
  733. package/types/elements/define/layouts/default/ui/menu/chapters-menu.d.ts +0 -8
  734. package/types/elements/define/layouts/default/ui/menu/episodes-menu.d.ts +0 -8
  735. package/types/elements/define/layouts/default/ui/menu/font-menu.d.ts +0 -1
  736. package/types/elements/define/layouts/default/ui/menu/items/menu-checkbox.d.ts +0 -8
  737. package/types/elements/define/layouts/default/ui/menu/items/menu-items.d.ts +0 -26
  738. package/types/elements/define/layouts/default/ui/menu/items/menu-slider.d.ts +0 -3
  739. package/types/elements/define/layouts/default/ui/menu/menu-portal.d.ts +0 -4
  740. package/types/elements/define/layouts/default/ui/menu/playback-menu.d.ts +0 -1
  741. package/types/elements/define/layouts/default/ui/menu/settings-menu.d.ts +0 -8
  742. package/types/elements/define/layouts/default/ui/slider.d.ts +0 -10
  743. package/types/elements/define/layouts/default/ui/time.d.ts +0 -3
  744. package/types/elements/define/layouts/default/ui/title.d.ts +0 -2
  745. package/types/elements/define/layouts/default/ui/utils.d.ts +0 -3
  746. package/types/elements/define/layouts/default/video-layout-element.d.ts +0 -29
  747. package/types/elements/define/layouts/default/video-layout.d.ts +0 -5
  748. package/types/elements/define/layouts/icons/icons-loader.d.ts +0 -11
  749. package/types/elements/define/layouts/icons/layout-icons-loader.d.ts +0 -4
  750. package/types/elements/define/layouts/layout-element.d.ts +0 -38
  751. package/types/elements/define/layouts/layout-name.d.ts +0 -2
  752. package/types/elements/define/layouts/plyr/icons/plyr-airplay.d.ts +0 -2
  753. package/types/elements/define/layouts/plyr/icons/plyr-captions-off.d.ts +0 -2
  754. package/types/elements/define/layouts/plyr/icons/plyr-captions-on.d.ts +0 -2
  755. package/types/elements/define/layouts/plyr/icons/plyr-download.d.ts +0 -2
  756. package/types/elements/define/layouts/plyr/icons/plyr-enter-fullscreen.d.ts +0 -2
  757. package/types/elements/define/layouts/plyr/icons/plyr-exit-fullscreen.d.ts +0 -2
  758. package/types/elements/define/layouts/plyr/icons/plyr-fast-forward.d.ts +0 -2
  759. package/types/elements/define/layouts/plyr/icons/plyr-muted.d.ts +0 -2
  760. package/types/elements/define/layouts/plyr/icons/plyr-pause.d.ts +0 -2
  761. package/types/elements/define/layouts/plyr/icons/plyr-pip.d.ts +0 -2
  762. package/types/elements/define/layouts/plyr/icons/plyr-play.d.ts +0 -2
  763. package/types/elements/define/layouts/plyr/icons/plyr-restart.d.ts +0 -2
  764. package/types/elements/define/layouts/plyr/icons/plyr-rewind.d.ts +0 -2
  765. package/types/elements/define/layouts/plyr/icons/plyr-settings.d.ts +0 -2
  766. package/types/elements/define/layouts/plyr/icons/plyr-volume.d.ts +0 -2
  767. package/types/elements/define/layouts/plyr/icons-loader.d.ts +0 -5
  768. package/types/elements/define/layouts/plyr/icons.d.ts +0 -18
  769. package/types/elements/define/layouts/plyr/plyr-layout-element.d.ts +0 -26
  770. package/types/elements/define/layouts/plyr/ui.d.ts +0 -3
  771. package/types/elements/define/layouts/slot-manager.d.ts +0 -7
  772. package/types/elements/define/layouts/slot-observer.d.ts +0 -12
  773. package/types/elements/define/menus/_template.d.ts +0 -7
  774. package/types/elements/define/menus/audio-gain-group-element.d.ts +0 -31
  775. package/types/elements/define/menus/audio-radio-group-element.d.ts +0 -31
  776. package/types/elements/define/menus/captions-radio-group-element.d.ts +0 -31
  777. package/types/elements/define/menus/chapters-radio-group-element.d.ts +0 -36
  778. package/types/elements/define/menus/menu-button-element.d.ts +0 -25
  779. package/types/elements/define/menus/menu-element.d.ts +0 -26
  780. package/types/elements/define/menus/menu-item-element.d.ts +0 -22
  781. package/types/elements/define/menus/menu-items-element.d.ts +0 -25
  782. package/types/elements/define/menus/menu-portal-element.d.ts +0 -25
  783. package/types/elements/define/menus/quality-radio-group-element.d.ts +0 -33
  784. package/types/elements/define/menus/radio-element.d.ts +0 -22
  785. package/types/elements/define/menus/radio-group-element.d.ts +0 -22
  786. package/types/elements/define/menus/speed-radio-group-element.d.ts +0 -31
  787. package/types/elements/define/player-element.d.ts +0 -24
  788. package/types/elements/define/poster-element.d.ts +0 -25
  789. package/types/elements/define/provider-cast-display.d.ts +0 -2
  790. package/types/elements/define/provider-element.d.ts +0 -25
  791. package/types/elements/define/sliders/audio-gain-slider-element.d.ts +0 -32
  792. package/types/elements/define/sliders/quality-slider-element.d.ts +0 -32
  793. package/types/elements/define/sliders/slider-chapters-element.d.ts +0 -31
  794. package/types/elements/define/sliders/slider-element.d.ts +0 -23
  795. package/types/elements/define/sliders/slider-preview-element.d.ts +0 -14
  796. package/types/elements/define/sliders/slider-steps-element.d.ts +0 -28
  797. package/types/elements/define/sliders/slider-thumbnail-element.d.ts +0 -26
  798. package/types/elements/define/sliders/slider-value-element.d.ts +0 -37
  799. package/types/elements/define/sliders/slider-video-element.d.ts +0 -25
  800. package/types/elements/define/sliders/speed-slider-element.d.ts +0 -32
  801. package/types/elements/define/sliders/time-slider-element.d.ts +0 -32
  802. package/types/elements/define/sliders/volume-slider-element.d.ts +0 -32
  803. package/types/elements/define/spinner-element.d.ts +0 -50
  804. package/types/elements/define/thumbnail-element.d.ts +0 -29
  805. package/types/elements/define/time-element.d.ts +0 -24
  806. package/types/elements/define/title-element.d.ts +0 -23
  807. package/types/elements/define/tooltips/tooltip-content-element.d.ts +0 -26
  808. package/types/elements/define/tooltips/tooltip-element.d.ts +0 -26
  809. package/types/elements/define/tooltips/tooltip-trigger-element.d.ts +0 -27
  810. package/types/elements/icon.d.ts +0 -10
  811. package/types/elements/index.d.ts +0 -56
  812. package/types/elements/lit/directives/signal.d.ts +0 -1
  813. package/types/elements/lit/html.d.ts +0 -4
  814. package/types/elements/lit/lit-element.d.ts +0 -8
  815. package/types/elements/state-controller.d.ts +0 -5
  816. package/types/exports/components.d.ts +0 -59
  817. package/types/exports/core.d.ts +0 -26
  818. package/types/exports/events.d.ts +0 -32
  819. package/types/exports/font.d.ts +0 -2
  820. package/types/exports/foundation.d.ts +0 -8
  821. package/types/exports/maverick.d.ts +0 -1
  822. package/types/exports/providers.d.ts +0 -22
  823. package/types/exports/utils.d.ts +0 -4
  824. package/types/foundation/fullscreen/controller.d.ts +0 -39
  825. package/types/foundation/fullscreen/events.d.ts +0 -25
  826. package/types/foundation/list/list.d.ts +0 -64
  827. package/types/foundation/list/select-list.d.ts +0 -30
  828. package/types/foundation/list/symbols.d.ts +0 -14
  829. package/types/foundation/logger/colors.d.ts +0 -5
  830. package/types/foundation/logger/controller.d.ts +0 -20
  831. package/types/foundation/logger/events.d.ts +0 -26
  832. package/types/foundation/logger/grouped-log.d.ts +0 -22
  833. package/types/foundation/logger/log-level.d.ts +0 -15
  834. package/types/foundation/logger/log-printer.d.ts +0 -11
  835. package/types/foundation/logger/ms.d.ts +0 -4
  836. package/types/foundation/observers/focus-visible.d.ts +0 -7
  837. package/types/foundation/observers/intersection-observer.d.ts +0 -36
  838. package/types/foundation/observers/page-visibility.d.ts +0 -37
  839. package/types/foundation/observers/raf-loop.d.ts +0 -6
  840. package/types/foundation/orientation/controller.d.ts +0 -62
  841. package/types/foundation/orientation/events.d.ts +0 -16
  842. package/types/foundation/orientation/types.d.ts +0 -85
  843. package/types/foundation/queue/queue.d.ts +0 -24
  844. package/types/foundation/queue/request-queue.d.ts +0 -42
  845. package/types/global/layouts/default.d.ts +0 -9
  846. package/types/global/layouts/loader.d.ts +0 -5
  847. package/types/global/layouts/plyr.d.ts +0 -9
  848. package/types/global/player.d.ts +0 -26
  849. package/types/index.d.ts +0 -6
  850. package/types/plugins.d.ts +0 -11
  851. package/types/providers/audio/loader.d.ts +0 -12
  852. package/types/providers/audio/provider.d.ts +0 -29
  853. package/types/providers/dash/dash.d.ts +0 -15
  854. package/types/providers/dash/events.d.ts +0 -570
  855. package/types/providers/dash/lib-loader.d.ts +0 -6
  856. package/types/providers/dash/loader.d.ts +0 -10
  857. package/types/providers/dash/provider.d.ts +0 -62
  858. package/types/providers/dash/types.d.ts +0 -13
  859. package/types/providers/embed/EmbedProvider.d.ts +0 -18
  860. package/types/providers/google-cast/events.d.ts +0 -36
  861. package/types/providers/google-cast/loader.d.ts +0 -18
  862. package/types/providers/google-cast/media-info.d.ts +0 -11
  863. package/types/providers/google-cast/provider.d.ts +0 -48
  864. package/types/providers/google-cast/tracks.d.ts +0 -10
  865. package/types/providers/google-cast/types.d.ts +0 -3
  866. package/types/providers/google-cast/utils.d.ts +0 -34
  867. package/types/providers/hls/events.d.ts +0 -463
  868. package/types/providers/hls/hls.d.ts +0 -14
  869. package/types/providers/hls/lib-loader.d.ts +0 -6
  870. package/types/providers/hls/loader.d.ts +0 -10
  871. package/types/providers/hls/provider.d.ts +0 -64
  872. package/types/providers/hls/types.d.ts +0 -9
  873. package/types/providers/html/audio/audio-context.d.ts +0 -6
  874. package/types/providers/html/audio/audio-gain.d.ts +0 -10
  875. package/types/providers/html/html/342/200/223media-events.d.ts +0 -6
  876. package/types/providers/html/native-audio-tracks.d.ts +0 -6
  877. package/types/providers/html/provider.d.ts +0 -34
  878. package/types/providers/html/remote-playback.d.ts +0 -18
  879. package/types/providers/type-check.d.ts +0 -28
  880. package/types/providers/types.d.ts +0 -95
  881. package/types/providers/video/loader.d.ts +0 -12
  882. package/types/providers/video/native-hls-text-tracks.d.ts +0 -9
  883. package/types/providers/video/picture-in-picture.d.ts +0 -16
  884. package/types/providers/video/presentation/events.d.ts +0 -11
  885. package/types/providers/video/presentation/video-presentation.d.ts +0 -30
  886. package/types/providers/video/provider.d.ts +0 -34
  887. package/types/providers/vimeo/embed/command.d.ts +0 -81
  888. package/types/providers/vimeo/embed/event.d.ts +0 -58
  889. package/types/providers/vimeo/embed/message.d.ts +0 -8
  890. package/types/providers/vimeo/embed/misc.d.ts +0 -52
  891. package/types/providers/vimeo/embed/params.d.ts +0 -148
  892. package/types/providers/vimeo/loader.d.ts +0 -14
  893. package/types/providers/vimeo/provider.d.ts +0 -61
  894. package/types/providers/vimeo/utils.d.ts +0 -6
  895. package/types/providers/youtube/embed/command.d.ts +0 -13
  896. package/types/providers/youtube/embed/event.d.ts +0 -1
  897. package/types/providers/youtube/embed/message.d.ts +0 -50
  898. package/types/providers/youtube/embed/params.d.ts +0 -218
  899. package/types/providers/youtube/embed/quality.d.ts +0 -2
  900. package/types/providers/youtube/embed/state.d.ts +0 -12
  901. package/types/providers/youtube/loader.d.ts +0 -14
  902. package/types/providers/youtube/provider.d.ts +0 -61
  903. package/types/providers/youtube/utils.d.ts +0 -2
  904. package/types/utils/aria.d.ts +0 -4
  905. package/types/utils/array.d.ts +0 -1
  906. package/types/utils/color.d.ts +0 -1
  907. package/types/utils/dom.d.ts +0 -41
  908. package/types/utils/error.d.ts +0 -2
  909. package/types/utils/language.d.ts +0 -8
  910. package/types/utils/manifest.d.ts +0 -3
  911. package/types/utils/mime.d.ts +0 -15
  912. package/types/utils/network.d.ts +0 -17
  913. package/types/utils/number.d.ts +0 -17
  914. package/types/utils/promise.d.ts +0 -1
  915. package/types/utils/scroll.d.ts +0 -5
  916. package/types/utils/support.d.ts +0 -72
  917. package/types/utils/time.d.ts +0 -57
  918. package/vite.config.ts +0 -61
  919. /package/{npm/analyze.json.d.ts → analyze.json.d.ts} +0 -0
  920. /package/{npm/bundle.d.ts → bundle.d.ts} +0 -0
  921. /package/{npm/dom.d.ts → dom.d.ts} +0 -0
  922. /package/{npm/empty.vtt → empty.vtt} +0 -0
  923. /package/{npm/google-cast.d.ts → google-cast.d.ts} +0 -0
  924. /package/{npm/player → player}/index.d.ts +0 -0
  925. /package/{npm/player → player}/layouts/default.d.ts +0 -0
  926. /package/{npm/player → player}/layouts/index.d.ts +0 -0
  927. /package/{npm/player → player}/layouts/plyr.d.ts +0 -0
  928. /package/{styles/player → player/styles}/base.css +0 -0
  929. /package/{styles/player → player/styles}/default/buffering.css +0 -0
  930. /package/{styles/player → player/styles}/default/buttons.css +0 -0
  931. /package/{styles/player → player/styles}/default/captions.css +0 -0
  932. /package/{styles/player → player/styles}/default/chapter-title.css +0 -0
  933. /package/{styles/player → player/styles}/default/controls.css +0 -0
  934. /package/{styles/player → player/styles}/default/gestures.css +0 -0
  935. /package/{styles/player → player/styles}/default/icons.css +0 -0
  936. /package/{styles/player → player/styles}/default/keyboard.css +0 -0
  937. /package/{styles/player → player/styles}/default/layouts/audio.css +0 -0
  938. /package/{styles/player → player/styles}/default/layouts/video.css +0 -0
  939. /package/{styles/player → player/styles}/default/menus.css +0 -0
  940. /package/{styles/player → player/styles}/default/poster.css +0 -0
  941. /package/{styles/player → player/styles}/default/sliders.css +0 -0
  942. /package/{styles/player → player/styles}/default/theme.css +0 -0
  943. /package/{styles/player → player/styles}/default/thumbnail.css +0 -0
  944. /package/{styles/player → player/styles}/default/time.css +0 -0
  945. /package/{styles/player → player/styles}/default/tooltips.css +0 -0
  946. /package/{styles/player → player/styles}/plyr/theme.css +0 -0
  947. /package/{npm/player → player}/ui.d.ts +0 -0
  948. /package/{npm/tailwind.cjs → tailwind.cjs} +0 -0
  949. /package/{npm/tailwind.d.cts → tailwind.d.cts} +0 -0
@@ -0,0 +1,1269 @@
1
+ declare const SCOPE: unique symbol;
2
+
3
+ interface Computation<T = any> extends Scope {
4
+ id?: string | undefined;
5
+ /** @internal */
6
+ _effect: boolean;
7
+ /** @internal */
8
+ _init: boolean;
9
+ /** @internal */
10
+ _value: T;
11
+ /** @internal */
12
+ _sources: Computation[] | null;
13
+ /** @internal */
14
+ _observers: Computation[] | null;
15
+ /** @internal */
16
+ _compute: (() => T) | null;
17
+ /** @internal */
18
+ _changed: (prev: T, next: T) => boolean;
19
+ /** read */
20
+ call(this: Computation<T>): T;
21
+ }
22
+ interface ReadSignal<T> {
23
+ (): T;
24
+ /** only available during dev. */
25
+ node?: Computation;
26
+ }
27
+ interface SignalOptions<T> {
28
+ id?: string;
29
+ dirty?: (prev: T, next: T) => boolean;
30
+ }
31
+ interface WriteSignal<T> extends ReadSignal<T> {
32
+ /** only available during dev. */
33
+ node?: Computation;
34
+ set: (value: T | NextValue<T>) => T;
35
+ }
36
+ interface NextValue<T> {
37
+ (prevValue: T): T;
38
+ }
39
+ interface Scope {
40
+ [SCOPE]: Scope | null;
41
+ /** @internal */
42
+ _state: number;
43
+ /** @internal */
44
+ _compute: unknown;
45
+ /** @internal */
46
+ _children: Scope | Scope[] | null;
47
+ /** @internal */
48
+ _context: ContextRecord | null;
49
+ /** @internal */
50
+ _handlers: ErrorHandler<any>[] | null;
51
+ /** @internal */
52
+ _disposal: Disposable | Disposable[] | null;
53
+ append(scope: Scope): void;
54
+ dispose(): void;
55
+ }
56
+ interface Dispose {
57
+ (): void;
58
+ }
59
+ interface Disposable extends Callable {
60
+ }
61
+ interface StopEffect {
62
+ (): void;
63
+ }
64
+ interface Callable<This = unknown, Return = void> {
65
+ call($this: This): Return;
66
+ }
67
+ type Maybe<T> = T | void | null | undefined | false;
68
+ type MaybeStopEffect = Maybe<StopEffect>;
69
+ type ContextRecord = Record<string | symbol, unknown>;
70
+ interface ErrorHandler<T = Error> {
71
+ (error: T): void;
72
+ }
73
+
74
+ type Equals<X, Y, A = X, B = never> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? A : B;
75
+ type WritableKeys<T> = NonNullable<{
76
+ [P in keyof T]-?: Equals<{
77
+ [Q in P]: T[P];
78
+ }, {
79
+ -readonly [Q in P]: T[P];
80
+ }, P>;
81
+ }>[keyof T];
82
+ type PickWritable<T> = Pick<T, WritableKeys<T>>;
83
+ type PickReadonly<T> = Omit<T, WritableKeys<T>>;
84
+
85
+ /**
86
+ Matches a [`class` constructor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes).
87
+
88
+ @category Class
89
+ */
90
+ type Constructor<T, Arguments extends unknown[] = any[]> = new(...arguments_: Arguments) => T;
91
+
92
+ declare global {
93
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
94
+ interface SymbolConstructor {
95
+ readonly observable: symbol;
96
+ }
97
+ }
98
+
99
+ type UpperCaseCharacters = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
100
+
101
+ type Whitespace =
102
+ | '\u{9}' // '\t'
103
+ | '\u{A}' // '\n'
104
+ | '\u{B}' // '\v'
105
+ | '\u{C}' // '\f'
106
+ | '\u{D}' // '\r'
107
+ | '\u{20}' // ' '
108
+ | '\u{85}'
109
+ | '\u{A0}'
110
+ | '\u{1680}'
111
+ | '\u{2000}'
112
+ | '\u{2001}'
113
+ | '\u{2002}'
114
+ | '\u{2003}'
115
+ | '\u{2004}'
116
+ | '\u{2005}'
117
+ | '\u{2006}'
118
+ | '\u{2007}'
119
+ | '\u{2008}'
120
+ | '\u{2009}'
121
+ | '\u{200A}'
122
+ | '\u{2028}'
123
+ | '\u{2029}'
124
+ | '\u{202F}'
125
+ | '\u{205F}'
126
+ | '\u{3000}'
127
+ | '\u{FEFF}';
128
+
129
+ type WordSeparators = '-' | '_' | Whitespace;
130
+
131
+ /**
132
+ Extract the keys from a type where the value type of the key extends the given `Condition`.
133
+
134
+ Internally this is used for the `ConditionalPick` and `ConditionalExcept` types.
135
+
136
+ @example
137
+ ```
138
+ import type {ConditionalKeys} from 'type-fest';
139
+
140
+ interface Example {
141
+ a: string;
142
+ b: string | number;
143
+ c?: string;
144
+ d: {};
145
+ }
146
+
147
+ type StringKeysOnly = ConditionalKeys<Example, string>;
148
+ //=> 'a'
149
+ ```
150
+
151
+ To support partial types, make sure your `Condition` is a union of undefined (for example, `string | undefined`) as demonstrated below.
152
+
153
+ @example
154
+ ```
155
+ import type {ConditionalKeys} from 'type-fest';
156
+
157
+ type StringKeysAndUndefined = ConditionalKeys<Example, string | undefined>;
158
+ //=> 'a' | 'c'
159
+ ```
160
+
161
+ @category Object
162
+ */
163
+ type ConditionalKeys<Base, Condition> = NonNullable<
164
+ // Wrap in `NonNullable` to strip away the `undefined` type from the produced union.
165
+ {
166
+ // Map through all the keys of the given base type.
167
+ [Key in keyof Base]:
168
+ // Pick only keys with types extending the given `Condition` type.
169
+ Base[Key] extends Condition
170
+ // Retain this key since the condition passes.
171
+ ? Key
172
+ // Discard this key since the condition fails.
173
+ : never;
174
+
175
+ // Convert the produced object into a union type of the keys which passed the conditional test.
176
+ }[keyof Base]
177
+ >;
178
+
179
+ /**
180
+ Pick keys from the shape that matches the given `Condition`.
181
+
182
+ This is useful when you want to create a new type from a specific subset of an existing type. For example, you might want to pick all the primitive properties from a class and form a new automatically derived type.
183
+
184
+ @example
185
+ ```
186
+ import type {Primitive, ConditionalPick} from 'type-fest';
187
+
188
+ class Awesome {
189
+ name: string;
190
+ successes: number;
191
+ failures: bigint;
192
+
193
+ run() {}
194
+ }
195
+
196
+ type PickPrimitivesFromAwesome = ConditionalPick<Awesome, Primitive>;
197
+ //=> {name: string; successes: number; failures: bigint}
198
+ ```
199
+
200
+ @example
201
+ ```
202
+ import type {ConditionalPick} from 'type-fest';
203
+
204
+ interface Example {
205
+ a: string;
206
+ b: string | number;
207
+ c: () => void;
208
+ d: {};
209
+ }
210
+
211
+ type StringKeysOnly = ConditionalPick<Example, string>;
212
+ //=> {a: string}
213
+ ```
214
+
215
+ @category Object
216
+ */
217
+ type ConditionalPick<Base, Condition> = Pick<
218
+ Base,
219
+ ConditionalKeys<Base, Condition>
220
+ >;
221
+
222
+ // Transforms a string that is fully uppercase into a fully lowercase version. Needed to add support for SCREAMING_SNAKE_CASE, see https://github.com/sindresorhus/type-fest/issues/385
223
+ type UpperCaseToLowerCase<T extends string> = T extends Uppercase<T> ? Lowercase<T> : T;
224
+
225
+ // This implementation does not support SCREAMING_SNAKE_CASE, it is used internally by `SplitIncludingDelimiters`.
226
+ type SplitIncludingDelimiters_<Source extends string, Delimiter extends string> =
227
+ Source extends '' ? [] :
228
+ Source extends `${infer FirstPart}${Delimiter}${infer SecondPart}` ?
229
+ (
230
+ Source extends `${FirstPart}${infer UsedDelimiter}${SecondPart}`
231
+ ? UsedDelimiter extends Delimiter
232
+ ? Source extends `${infer FirstPart}${UsedDelimiter}${infer SecondPart}`
233
+ ? [...SplitIncludingDelimiters<FirstPart, Delimiter>, UsedDelimiter, ...SplitIncludingDelimiters<SecondPart, Delimiter>]
234
+ : never
235
+ : never
236
+ : never
237
+ ) :
238
+ [Source];
239
+
240
+ /**
241
+ Unlike a simpler split, this one includes the delimiter splitted on in the resulting array literal. This is to enable splitting on, for example, upper-case characters.
242
+
243
+ @category Template literal
244
+ */
245
+ type SplitIncludingDelimiters<Source extends string, Delimiter extends string> = SplitIncludingDelimiters_<UpperCaseToLowerCase<Source>, Delimiter>;
246
+
247
+ /**
248
+ Format a specific part of the splitted string literal that `StringArrayToDelimiterCase<>` fuses together, ensuring desired casing.
249
+
250
+ @see StringArrayToDelimiterCase
251
+ */
252
+ type StringPartToDelimiterCase<StringPart extends string, Start extends boolean, UsedWordSeparators extends string, UsedUpperCaseCharacters extends string, Delimiter extends string> =
253
+ StringPart extends UsedWordSeparators ? Delimiter :
254
+ Start extends true ? Lowercase<StringPart> :
255
+ StringPart extends UsedUpperCaseCharacters ? `${Delimiter}${Lowercase<StringPart>}` :
256
+ StringPart;
257
+
258
+ /**
259
+ Takes the result of a splitted string literal and recursively concatenates it together into the desired casing.
260
+
261
+ It receives `UsedWordSeparators` and `UsedUpperCaseCharacters` as input to ensure it's fully encapsulated.
262
+
263
+ @see SplitIncludingDelimiters
264
+ */
265
+ type StringArrayToDelimiterCase<Parts extends readonly any[], Start extends boolean, UsedWordSeparators extends string, UsedUpperCaseCharacters extends string, Delimiter extends string> =
266
+ Parts extends [`${infer FirstPart}`, ...infer RemainingParts]
267
+ ? `${StringPartToDelimiterCase<FirstPart, Start, UsedWordSeparators, UsedUpperCaseCharacters, Delimiter>}${StringArrayToDelimiterCase<RemainingParts, false, UsedWordSeparators, UsedUpperCaseCharacters, Delimiter>}`
268
+ : Parts extends [string]
269
+ ? string
270
+ : '';
271
+
272
+ /**
273
+ Convert a string literal to a custom string delimiter casing.
274
+
275
+ This can be useful when, for example, converting a camel-cased object property to an oddly cased one.
276
+
277
+ @see KebabCase
278
+ @see SnakeCase
279
+
280
+ @example
281
+ ```
282
+ import type {DelimiterCase} from 'type-fest';
283
+
284
+ // Simple
285
+
286
+ const someVariable: DelimiterCase<'fooBar', '#'> = 'foo#bar';
287
+
288
+ // Advanced
289
+
290
+ type OddlyCasedProperties<T> = {
291
+ [K in keyof T as DelimiterCase<K, '#'>]: T[K]
292
+ };
293
+
294
+ interface SomeOptions {
295
+ dryRun: boolean;
296
+ includeFile: string;
297
+ foo: number;
298
+ }
299
+
300
+ const rawCliOptions: OddlyCasedProperties<SomeOptions> = {
301
+ 'dry#run': true,
302
+ 'include#file': 'bar.js',
303
+ foo: 123
304
+ };
305
+ ```
306
+
307
+ @category Change case
308
+ @category Template literal
309
+ */
310
+ type DelimiterCase<Value, Delimiter extends string> = string extends Value ? Value : Value extends string
311
+ ? StringArrayToDelimiterCase<
312
+ SplitIncludingDelimiters<Value, WordSeparators | UpperCaseCharacters>,
313
+ true,
314
+ WordSeparators,
315
+ UpperCaseCharacters,
316
+ Delimiter
317
+ >
318
+ : Value;
319
+
320
+ /**
321
+ Convert a string literal to kebab-case.
322
+
323
+ This can be useful when, for example, converting a camel-cased object property to a kebab-cased CSS class name or a command-line flag.
324
+
325
+ @example
326
+ ```
327
+ import type {KebabCase} from 'type-fest';
328
+
329
+ // Simple
330
+
331
+ const someVariable: KebabCase<'fooBar'> = 'foo-bar';
332
+
333
+ // Advanced
334
+
335
+ type KebabCasedProperties<T> = {
336
+ [K in keyof T as KebabCase<K>]: T[K]
337
+ };
338
+
339
+ interface CliOptions {
340
+ dryRun: boolean;
341
+ includeFile: string;
342
+ foo: number;
343
+ }
344
+
345
+ const rawCliOptions: KebabCasedProperties<CliOptions> = {
346
+ 'dry-run': true,
347
+ 'include-file': 'bar.js',
348
+ foo: 123
349
+ };
350
+ ```
351
+
352
+ @category Change case
353
+ @category Template literal
354
+ */
355
+ type KebabCase<Value> = DelimiterCase<Value, '-'>;
356
+
357
+ type Observable<T> = T | ReadSignal<T>;
358
+ type ObservableRecord<T> = {
359
+ [P in keyof T]: Observable<T[P] | null>;
360
+ };
361
+ type Stringify<P> = P extends string ? P : never;
362
+ type LowercaseRecord<T> = {
363
+ [P in keyof T as Lowercase<Stringify<P>>]?: T[P] | null;
364
+ };
365
+ type KebabCaseRecord<T> = {
366
+ [P in keyof T as KebabCase<P>]: T[P] | null;
367
+ };
368
+ type ReadSignalRecord<Props = Record<string | symbol, any>> = {
369
+ [Prop in keyof Props]: ReadSignal<Props[Prop]>;
370
+ };
371
+ type WriteSignalRecord<Props = Record<string | symbol, any>> = {
372
+ [Prop in keyof Props]: WriteSignal<Props[Prop]>;
373
+ };
374
+ type AnyRecord = {
375
+ [name: string]: any;
376
+ };
377
+ interface EventHandler<E> {
378
+ (this: never, event: E): void;
379
+ }
380
+ type TargetedEventHandler<T extends EventTarget, E extends Event> = EventHandler<TargetedEvent<T, E>>;
381
+ type TargetedEvent<T extends EventTarget = EventTarget, E = Event> = Omit<E, 'currentTarget'> & {
382
+ readonly currentTarget: T;
383
+ };
384
+
385
+ type AttrValue = string | number | boolean | null | undefined;
386
+ interface AttrsRecord {
387
+ [attrName: string]: AttrValue;
388
+ }
389
+ interface HTMLAttrs extends HTMLAttrsRecord<HTMLProperties> {
390
+ }
391
+ type HTMLAttrsRecord<Props> = LowercaseRecord<ConditionalPick<Props, AttrValue>>;
392
+ interface HTMLProperties {
393
+ accept?: string;
394
+ acceptCharset?: string;
395
+ accessKey?: string;
396
+ action?: string;
397
+ allow?: string;
398
+ allowFullScreen?: boolean;
399
+ allowTransparency?: boolean;
400
+ alt?: string;
401
+ as?: string;
402
+ async?: boolean;
403
+ autocomplete?: string;
404
+ autoComplete?: string;
405
+ autocorrect?: string;
406
+ autoCorrect?: string;
407
+ autofocus?: boolean;
408
+ autoFocus?: boolean;
409
+ autoPlay?: boolean;
410
+ capture?: boolean | string;
411
+ cellPadding?: number | string;
412
+ cellSpacing?: number | string;
413
+ charSet?: string;
414
+ challenge?: string;
415
+ checked?: boolean;
416
+ cite?: string;
417
+ class?: string;
418
+ className?: string;
419
+ cols?: number;
420
+ colSpan?: number;
421
+ content?: string;
422
+ contentEditable?: boolean;
423
+ contextMenu?: string;
424
+ controls?: boolean;
425
+ controlsList?: string;
426
+ coords?: string;
427
+ crossOrigin?: string;
428
+ data?: string;
429
+ dateTime?: string;
430
+ default?: boolean;
431
+ defaultChecked?: boolean;
432
+ defaultValue?: string;
433
+ defer?: boolean;
434
+ dir?: 'auto' | 'rtl' | 'ltr';
435
+ disabled?: boolean;
436
+ disableRemotePlayback?: boolean;
437
+ download?: any;
438
+ decoding?: 'sync' | 'async' | 'auto';
439
+ draggable?: boolean;
440
+ encType?: string;
441
+ enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';
442
+ form?: string;
443
+ formAction?: string;
444
+ formEncType?: string;
445
+ formMethod?: string;
446
+ formNoValidate?: boolean;
447
+ formTarget?: string;
448
+ frameBorder?: number | string;
449
+ headers?: string;
450
+ height?: number | string;
451
+ hidden?: boolean;
452
+ high?: number;
453
+ href?: string;
454
+ hrefLang?: string;
455
+ for?: string;
456
+ htmlFor?: string;
457
+ httpEquiv?: string;
458
+ icon?: string;
459
+ id?: string;
460
+ inputMode?: string;
461
+ integrity?: string;
462
+ is?: string;
463
+ keyParams?: string;
464
+ keyType?: string;
465
+ kind?: string;
466
+ label?: string;
467
+ lang?: string;
468
+ list?: string;
469
+ loading?: 'eager' | 'lazy';
470
+ loop?: boolean;
471
+ low?: number;
472
+ manifest?: string;
473
+ marginHeight?: number;
474
+ marginWidth?: number;
475
+ max?: number | string;
476
+ maxLength?: number;
477
+ media?: string;
478
+ mediaGroup?: string;
479
+ method?: string;
480
+ min?: number | string;
481
+ minLength?: number;
482
+ multiple?: boolean;
483
+ muted?: boolean;
484
+ name?: string;
485
+ nomodule?: boolean;
486
+ nonce?: string;
487
+ noValidate?: boolean;
488
+ open?: boolean;
489
+ optimum?: number;
490
+ part?: string;
491
+ pattern?: string;
492
+ ping?: string;
493
+ placeholder?: string;
494
+ playsInline?: boolean;
495
+ poster?: string;
496
+ preload?: string;
497
+ radioGroup?: string;
498
+ readonly?: boolean;
499
+ readOnly?: boolean;
500
+ referrerpolicy?: 'no-referrer' | 'no-referrer-when-downgrade' | 'origin' | 'origin-when-cross-origin' | 'same-origin' | 'strict-origin' | 'strict-origin-when-cross-origin' | 'unsafe-url';
501
+ rel?: string;
502
+ required?: boolean;
503
+ reversed?: boolean;
504
+ role?: string;
505
+ rows?: number;
506
+ rowSpan?: number;
507
+ sandbox?: string;
508
+ scope?: string;
509
+ scoped?: boolean;
510
+ scrolling?: string;
511
+ seamless?: boolean;
512
+ selected?: boolean;
513
+ shape?: string;
514
+ size?: number;
515
+ sizes?: string;
516
+ slot?: string;
517
+ span?: number;
518
+ spellcheck?: boolean;
519
+ spellCheck?: boolean;
520
+ src?: string;
521
+ srcset?: string;
522
+ srcDoc?: string;
523
+ srcLang?: string;
524
+ srcSet?: string;
525
+ start?: number;
526
+ step?: number | string;
527
+ style?: string;
528
+ summary?: string;
529
+ tabIndex?: number;
530
+ target?: string;
531
+ title?: string;
532
+ type?: string;
533
+ useMap?: string;
534
+ value?: string | string[] | number;
535
+ volume?: string | number;
536
+ width?: number | string;
537
+ wmode?: string;
538
+ wrap?: string;
539
+ autocapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';
540
+ autoCapitalize?: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters';
541
+ disablePictureInPicture?: boolean;
542
+ results?: number;
543
+ translate?: 'yes' | 'no';
544
+ about?: string;
545
+ datatype?: string;
546
+ inlist?: any;
547
+ prefix?: string;
548
+ property?: string;
549
+ resource?: string;
550
+ typeof?: string;
551
+ vocab?: string;
552
+ itemProp?: string;
553
+ itemScope?: boolean;
554
+ itemType?: string;
555
+ itemID?: string;
556
+ itemRef?: string;
557
+ }
558
+ interface ARIAAttributes {
559
+ 'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both';
560
+ 'aria-checked'?: 'true' | 'false' | 'mixed';
561
+ 'aria-disabled'?: 'true' | 'false';
562
+ 'aria-errormessage'?: string;
563
+ 'aria-expanded'?: 'true' | 'false';
564
+ 'aria-haspopup'?: 'true' | 'false' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
565
+ 'aria-hidden'?: 'true' | 'false';
566
+ 'aria-invalid'?: 'grammar' | 'false' | 'spelling' | 'true';
567
+ 'aria-label'?: string;
568
+ 'aria-level'?: number;
569
+ 'aria-modal'?: 'true' | 'false';
570
+ 'aria-multiline'?: 'true' | 'false';
571
+ 'aria-multiselectable'?: 'true' | 'false';
572
+ 'aria-orientation'?: 'horizontal' | 'vertical';
573
+ 'aria-placeholder'?: string;
574
+ 'aria-pressed'?: 'true' | 'false' | 'mixed';
575
+ 'aria-readonly'?: 'true' | 'false';
576
+ 'aria-required'?: 'true' | 'false';
577
+ 'aria-selected'?: 'true' | 'false';
578
+ 'aria-sort'?: 'ascending' | 'descending' | 'none' | 'other';
579
+ 'aria-valuemin'?: number;
580
+ 'aria-valuemax'?: number;
581
+ 'aria-valuenow'?: number;
582
+ 'aria-valuetext'?: string;
583
+ 'aria-busy'?: 'true' | 'false';
584
+ 'aria-live'?: 'assertive' | 'polite' | 'off';
585
+ 'aria-relevant'?: 'all' | 'additions' | 'removals' | 'text' | 'additions text';
586
+ 'aria-atomic'?: 'true' | 'false';
587
+ 'aria-dropeffect'?: 'copy' | 'execute' | 'link' | 'move' | 'none' | 'popup';
588
+ 'aria-grabbed'?: 'true' | 'false';
589
+ 'aria-activedescendant'?: string;
590
+ 'aria-colcount'?: number;
591
+ 'aria-colindex'?: number;
592
+ 'aria-colspan'?: number;
593
+ 'aria-controls'?: string;
594
+ 'aria-describedby'?: string;
595
+ 'aria-description'?: string;
596
+ 'aria-details'?: string;
597
+ 'aria-flowto'?: string;
598
+ 'aria-labelledby'?: string;
599
+ 'aria-owns'?: string;
600
+ 'aria-posinet'?: number;
601
+ 'aria-rowcount'?: number;
602
+ 'aria-rowindex'?: number;
603
+ 'aria-rowspan'?: number;
604
+ 'aria-setsize'?: number;
605
+ 'aria-current'?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
606
+ 'aria-keyshortcuts'?: string;
607
+ 'aria-roledescription'?: string;
608
+ }
609
+ type CSSValue = string | number | false | null | undefined;
610
+ type AnyCSSProperty = {
611
+ [key: string]: CSSValue;
612
+ };
613
+ type CSSProperties = AnyCSSProperty & {
614
+ [P in keyof Omit<CSSStyleDeclaration, 'item' | 'setProperty' | 'removeProperty' | 'getPropertyValue' | 'getPropertyPriority'>]?: CSSValue;
615
+ } & {
616
+ cssText?: string | null;
617
+ };
618
+ interface CSSStyles extends KebabCaseRecord<CSSProperties> {
619
+ }
620
+ interface ElementAttributesRecord extends ObservableRecord<HTMLAttrs>, ObservableRecord<ARIAAttributes>, ObservableRecord<AttrsRecord> {
621
+ }
622
+ interface ElementStylesRecord extends ObservableRecord<CSSStyles> {
623
+ }
624
+ type ElementCSSVarsRecord<CSSVars> = {
625
+ [Var in keyof CSSVars as `--${Var & string}`]: Observable<CSSVars[Var]>;
626
+ };
627
+
628
+ /**
629
+ * Converts objects into signals. The factory stores the initial object and enables producing new
630
+ * objects where each value in the provided object becomes a signal.
631
+ *
632
+ * @example
633
+ * ```ts
634
+ * const factory = new State({
635
+ * foo: 0,
636
+ * bar: '...',
637
+ * get baz() {
638
+ * return this.foo + 1;
639
+ * }
640
+ * });
641
+ *
642
+ * console.log(factory.record); // logs `{ foo: 0, bar: '...' }`
643
+ *
644
+ * const $state = factory.create();
645
+ *
646
+ * effect(() => console.log($state.foo()));
647
+ * // Run effect ^
648
+ * $state.foo.set(1);
649
+ *
650
+ * // Reset all values
651
+ * factory.reset($state);
652
+ * ```
653
+ */
654
+ declare class State<Record extends AnyRecord> {
655
+ #private;
656
+ readonly id: symbol;
657
+ readonly record: Record;
658
+ constructor(record: Record);
659
+ create(): Store<Record>;
660
+ reset(record: Store<Record>, filter?: (key: keyof Record) => boolean): void;
661
+ }
662
+ type Store<T> = {
663
+ readonly [P in keyof PickReadonly<T>]: ReadSignal<T[P]>;
664
+ } & {
665
+ readonly [P in keyof PickWritable<T>]: WriteSignal<T[P]>;
666
+ };
667
+
668
+ type AttributeValue = string | null;
669
+ type Attributes<Props> = {
670
+ [P in keyof Props]?: string | false | Attribute<Props[P]>;
671
+ };
672
+ interface AttributeConverter<Value = unknown> {
673
+ (value: AttributeValue): Value;
674
+ }
675
+ interface Attribute<Value = unknown> extends SignalOptions<Value> {
676
+ /**
677
+ * Whether the property is associated with an attribute, or a custom name for the associated
678
+ * attribute. By default this is `true` and the attribute name is inferred by kebab-casing the
679
+ * property name.
680
+ */
681
+ attr?: string | false;
682
+ /**
683
+ * Convert between an attribute value and property value. If not specified it will be inferred
684
+ * from the initial value.
685
+ */
686
+ converter?: AttributeConverter<Value>;
687
+ }
688
+ interface MaverickElementConstructor<T extends HTMLElement = HTMLElement, R extends Component = AnyComponent> {
689
+ readonly observedAttributes: string[];
690
+ readonly attrs?: Attributes<InferComponentProps<R>>;
691
+ new (): MaverickElement<T, R>;
692
+ }
693
+ type MaverickElement<T extends HTMLElement = HTMLElement, R extends Component = AnyComponent, E = InferComponentEvents<R>> = Omit<T, 'addEventListener' | 'removeEventListener'> & InferComponentMembers<R> & HostElement<R> & {
694
+ addEventListener<K extends keyof E>(type: K, listener: (this: T, ev: E[K]) => any, options?: boolean | AddEventListenerOptions): void;
695
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: T, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
696
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
697
+ removeEventListener<K extends keyof E>(type: K, listener: (this: T, ev: E[K]) => any, options?: boolean | EventListenerOptions): void;
698
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: T, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
699
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
700
+ };
701
+ interface HostElement<T extends Component = AnyComponent> {
702
+ /**
703
+ * Whether this component should be kept-alive on DOM disconnection. If `true`, all child
704
+ * host elements will also be kept alive and the instance will need to be manually destroyed. Do
705
+ * note, this can be prevented by setting `forwardKeepAlive` to ``false`.
706
+ *
707
+ * Important to note that if a parent element is kept alive, calling destroy will also destroy
708
+ * all child element instances.
709
+ *
710
+ * ```ts
711
+ * // Destroy this component and all children.
712
+ * element.destroy();
713
+ * ```
714
+ */
715
+ keepAlive: boolean;
716
+ /**
717
+ * If this is `false`, children will _not_ adopt the `keepAlive` state of this element.
718
+ *
719
+ * @defaultValue true
720
+ */
721
+ forwardKeepAlive: boolean;
722
+ /** Component instance. */
723
+ readonly $: T;
724
+ readonly scope: Scope;
725
+ readonly attachScope: Scope | null;
726
+ readonly connectScope: Scope | null;
727
+ /** @internal */
728
+ readonly $props: ReadSignalRecord<InferComponentProps<T>>;
729
+ /** @internal */
730
+ readonly $state: Store<InferComponentState<T>>;
731
+ /**
732
+ * This object contains the state of the component.
733
+ *
734
+ * ```ts
735
+ * const el = document.querySelector('foo-el');
736
+ * el.state.foo;
737
+ * ```
738
+ */
739
+ readonly state: InferComponentState<T> extends Record<string, never> ? never : Readonly<InferComponentState<T>>;
740
+ /**
741
+ * Enables subscribing to live updates of component state.
742
+ *
743
+ * @example
744
+ * ```ts
745
+ * const el = document.querySelector('foo-el');
746
+ * el.subscribe(({ foo, bar }) => {
747
+ * // Re-run when the value of foo or bar changes.
748
+ * });
749
+ * ```
750
+ */
751
+ subscribe: InferComponentState<T> extends Record<string, never> ? never : (callback: (state: Readonly<InferComponentState<T>>) => Maybe<Dispose>) => Dispose;
752
+ /**
753
+ * Destroys the underlying component instance.
754
+ */
755
+ destroy(): void;
756
+ }
757
+
758
+ declare const EVENT: Constructor<Event>;
759
+ declare const DOM_EVENT: unique symbol;
760
+ interface DOMEventInit<Detail = unknown> extends EventInit {
761
+ readonly detail: Detail;
762
+ readonly trigger?: Event;
763
+ }
764
+ declare class DOMEvent<Detail = unknown> extends EVENT {
765
+ [DOM_EVENT]: boolean;
766
+ /**
767
+ * The event detail.
768
+ */
769
+ readonly detail: Detail;
770
+ /**
771
+ * The event trigger chain.
772
+ */
773
+ readonly triggers: EventTriggers;
774
+ /**
775
+ * The preceding event that was responsible for this event being fired.
776
+ */
777
+ get trigger(): Event | undefined;
778
+ /**
779
+ * The origin event that lead to this event being fired.
780
+ */
781
+ get originEvent(): Event | undefined;
782
+ /**
783
+ * Whether the origin event was triggered by the user.
784
+ *
785
+ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Event/isTrusted}
786
+ */
787
+ get isOriginTrusted(): boolean;
788
+ constructor(type: string, ...init: Detail extends void | undefined | never ? [init?: Partial<DOMEventInit<Detail>>] : [init: DOMEventInit<Detail>]);
789
+ }
790
+ declare class EventTriggers implements Iterable<Event> {
791
+ readonly chain: Event[];
792
+ get source(): Event | undefined;
793
+ get origin(): Event | undefined;
794
+ /**
795
+ * Appends the event to the end of the chain.
796
+ */
797
+ add(event: Event): void;
798
+ /**
799
+ * Removes the event from the chain and returns it (if found).
800
+ */
801
+ remove(event: Event): Event | undefined;
802
+ /**
803
+ * Returns whether the chain contains the given `event`.
804
+ */
805
+ has(event: Event): boolean;
806
+ /**
807
+ * Returns whether the chain contains the given event type.
808
+ */
809
+ hasType(type: string): boolean;
810
+ /**
811
+ * Returns the first event with the given `type` found in the chain.
812
+ */
813
+ findType(type: string): Event | undefined;
814
+ /**
815
+ * Walks an event chain on a given `event`, and invokes the given `callback` for each trigger event.
816
+ */
817
+ walk<T>(callback: (event: Event) => NonNullable<T> | void): [event: Event, value: NonNullable<T>] | undefined;
818
+ [Symbol.iterator](): Iterator<Event>;
819
+ }
820
+ /**
821
+ * Walks an event chain on a given `event`, and invokes the given `callback` for each trigger event.
822
+ * @deprecated - Use `event.triggers.walk(callback)`
823
+ */
824
+ declare function walkTriggerEventChain<T>(event: Event, callback: (event: Event) => NonNullable<T> | void): [event: Event, value: NonNullable<T>] | undefined;
825
+ /**
826
+ * Attempts to find a trigger event with a given `eventType` on the event chain.
827
+ * @deprecated - Use `event.triggers.findType('')`
828
+ */
829
+ declare function findTriggerEvent(event: Event, type: string): Event | undefined;
830
+ /**
831
+ * Whether a trigger event with the given `eventType` exists can be found in the event chain.
832
+ * @deprecated - Use `event.triggers.hasType('')`
833
+ */
834
+ declare function hasTriggerEvent(event: Event, type: string): boolean;
835
+ /**
836
+ * Appends the given `trigger` to the event chain.
837
+ * @deprecated - Use `event.triggers.add(event)`
838
+ */
839
+ declare function appendTriggerEvent(event: DOMEvent, trigger?: Event): void;
840
+ type InferEventDetail<T> = T extends {
841
+ detail: infer Detail;
842
+ } ? Detail : T extends DOMEvent<infer Detail> ? Detail : T extends DOMEventInit<infer Detail> ? Detail : unknown;
843
+ type EventCallback<T extends Event> = ((event: T) => void) | {
844
+ handleEvent(event: T): void;
845
+ } | null;
846
+ declare class EventsTarget<Events> extends EventTarget {
847
+ /** @internal type only */
848
+ $ts__events?: Events;
849
+ addEventListener<Type extends keyof Events>(type: Type & string, callback: EventCallback<Events[Type] & Event>, options?: boolean | AddEventListenerOptions | undefined): void;
850
+ removeEventListener<Type extends keyof Events>(type: Type & string, callback: EventCallback<Events[Type] & Event>, options?: boolean | AddEventListenerOptions | undefined): void;
851
+ }
852
+ declare function isPointerEvent(event: Event | undefined): event is PointerEvent;
853
+ declare function isKeyboardEvent(event: Event | undefined): event is KeyboardEvent;
854
+ declare function isKeyboardClick(event: Event | undefined): boolean;
855
+
856
+ interface ServerElement extends Pick<HTMLElement, 'getAttribute' | 'setAttribute' | 'hasAttribute' | 'removeAttribute' | 'dispatchEvent' | 'addEventListener' | 'removeEventListener'> {
857
+ readonly classList: Pick<HTMLElement['classList'], 'length' | 'add' | 'contains' | 'remove' | 'replace' | 'toggle' | 'toString'>;
858
+ readonly style: Pick<HTMLElement['style'], 'length' | 'getPropertyValue' | 'removeProperty' | 'setProperty'> & {
859
+ toString(): string;
860
+ };
861
+ }
862
+
863
+ declare const ON_DISPATCH: unique symbol;
864
+ interface LifecycleHooks {
865
+ onSetup?(): void;
866
+ onAttach?(el: HTMLElement): void;
867
+ onConnect?(el: HTMLElement): void;
868
+ onDestroy?(el: HTMLElement): void;
869
+ }
870
+ interface InstanceInit<Props = {}> {
871
+ scope?: Scope | null;
872
+ props?: Readonly<Partial<Props>> | null;
873
+ }
874
+ declare class Instance<Props = {}, State = {}, Events = {}, CSSVars = {}> {
875
+ #private;
876
+ /** @internal type only */
877
+ $ts__events?: Events;
878
+ /** @internal type only */
879
+ $ts__vars?: CSSVars;
880
+ [ON_DISPATCH]?: ((event: Event) => void) | null;
881
+ readonly $el: WriteSignal<HTMLElement | null>;
882
+ el: HTMLElement | null;
883
+ scope: Scope | null;
884
+ attachScope: Scope | null;
885
+ connectScope: Scope | null;
886
+ component: Component | null;
887
+ destroyed: boolean;
888
+ props: WriteSignalRecord<Props>;
889
+ attrs: ElementAttributesRecord | null;
890
+ styles: ElementStylesRecord | null;
891
+ state: Readonly<State>;
892
+ $state: any;
893
+ constructor(Component: ComponentConstructor<Component<Props, State, any, any>>, scope: Scope, init?: InstanceInit<Props>);
894
+ setup(): void;
895
+ attach(el: HTMLElement | ServerElement): void;
896
+ detach(): void;
897
+ connect(): void;
898
+ disconnect(): void;
899
+ destroy(): void;
900
+ addHooks(target: LifecycleHooks): void;
901
+ }
902
+ declare class ViewController<Props = {}, State = {}, Events = {}, CSSVars = {}> extends EventTarget {
903
+ /** @internal */
904
+ $$: Instance<Props, State, Events, CSSVars>;
905
+ get el(): HTMLElement | null;
906
+ get $el(): HTMLElement | null;
907
+ get scope(): Scope;
908
+ get attachScope(): Scope | null;
909
+ get connectScope(): Scope | null;
910
+ /** @internal */
911
+ get $props(): ReadSignalRecord<Props>;
912
+ /** @internal */
913
+ get $state(): WriteSignalRecord<State>;
914
+ get state(): Readonly<State>;
915
+ constructor();
916
+ attach({ $$ }: {
917
+ $$: Instance<Props, State, Events, CSSVars>;
918
+ }): this;
919
+ addEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions | undefined): void;
920
+ removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: boolean | EventListenerOptions | undefined): void;
921
+ /**
922
+ * The given callback is invoked when the component is ready to be set up.
923
+ *
924
+ * - This hook will run once.
925
+ * - This hook is called both client-side and server-side.
926
+ * - It's safe to use context inside this hook.
927
+ * - The host element has not attached yet - wait for `onAttach`.
928
+ */
929
+ protected onSetup?(): void;
930
+ /**
931
+ * The given callback is invoked when the component instance has attached to a host element.
932
+ *
933
+ * - This hook can run more than once as the component attaches/detaches from a host element.
934
+ * - This hook may be called while the host element is not connected to the DOM yet.
935
+ * - This hook is called both client-side and server-side.
936
+ */
937
+ protected onAttach?(el: HTMLElement): void;
938
+ /**
939
+ * The given callback is invoked when the host element has connected to the DOM.
940
+ *
941
+ * - This hook can run more than once as the host disconnects and re-connects to the DOM.
942
+ * - If a function is returned it will be invoked when the host disconnects from the DOM.
943
+ */
944
+ protected onConnect?(el: HTMLElement): void;
945
+ /**
946
+ * The given callback is invoked when the component is destroyed.
947
+ *
948
+ * - This hook will only run once when the component is finally destroyed.
949
+ * - This hook may be called before being attached to a host element.
950
+ * - This hook is called both client-side and server-side.
951
+ */
952
+ protected onDestroy?(): void;
953
+ /**
954
+ * This method can be used to specify attributes that should be set on the host element. Any
955
+ * attributes that are assigned to a function will be considered a signal and updated accordingly.
956
+ */
957
+ protected setAttributes(attributes: ElementAttributesRecord): void;
958
+ /**
959
+ * This method can be used to specify styles that should set be set on the host element. Any
960
+ * styles that are assigned to a function will be considered a signal and updated accordingly.
961
+ */
962
+ protected setStyles(styles: ElementStylesRecord): void;
963
+ /**
964
+ * This method is used to satisfy the CSS variables contract specified on the current
965
+ * component. Other CSS variables can be set via the `setStyles` method.
966
+ */
967
+ protected setCSSVars(vars: ElementCSSVarsRecord<CSSVars>): void;
968
+ /**
969
+ * Type-safe utility for creating component DOM events.
970
+ */
971
+ createEvent<Type extends keyof Events = keyof Events>(type: Type & string, ...init: Events[Type] extends DOMEvent ? Events[Type]['detail'] extends void | undefined | never ? [init?: Partial<DOMEventInit<Events[Type]>['detail']>] : [init: DOMEventInit<Events[Type]['detail']>] : never): Events[Type];
972
+ /**
973
+ * Creates a `DOMEvent` and dispatches it from the host element. This method is typed to
974
+ * match all component events.
975
+ */
976
+ dispatch<Type extends Event | keyof Events>(type: Type, ...init: Type extends Event ? [init?: never] : Type extends keyof Events ? Events[Type] extends DOMEvent ? Events[Type]['detail'] extends void | undefined | never ? [init?: Partial<DOMEventInit<Events[Type]['detail']>>] : [init: DOMEventInit<Events[Type]['detail']>] : [init?: never] : [init?: never]): boolean;
977
+ dispatchEvent(event: Event): boolean;
978
+ /**
979
+ * Adds an event listener for the given `type` and returns a function which can be invoked to
980
+ * remove the event listener.
981
+ *
982
+ * - The listener is removed if the current scope is disposed.
983
+ * - This method is safe to use on the server (noop).
984
+ */
985
+ listen<E = Events & HTMLElementEventMap, Type extends keyof E = keyof E>(type: Type & string, handler: TargetedEventHandler<HTMLElement, E[Type] & Event>, options?: AddEventListenerOptions | boolean): Dispose;
986
+ }
987
+
988
+ declare class Component<Props = {}, State = {}, Events = {}, CSSVars = {}> extends ViewController<Props, State, Events, CSSVars> {
989
+ subscribe(callback: (state: Readonly<State>) => Maybe<Dispose>): StopEffect;
990
+ destroy(): void;
991
+ }
992
+ interface AnyComponent extends Component<any, any, any, any> {
993
+ }
994
+ interface ComponentConstructor<T extends Component = AnyComponent> {
995
+ readonly props?: InferComponentProps<T>;
996
+ readonly state?: State<InferComponentState<T>>;
997
+ new (): T;
998
+ }
999
+ type InferComponentProps<T> = T extends Component<infer Props> ? Props : {};
1000
+ type InferComponentState<T> = T extends Component<any, infer State> ? State : {};
1001
+ type InferComponentEvents<T> = T extends Component<any, any, infer Events> ? Events : {};
1002
+ type InferComponentMembers<T> = T extends Component<infer Props> ? Omit<Props, keyof T> & Omit<T, keyof Component> : {};
1003
+
1004
+ interface Context<T> {
1005
+ id: symbol;
1006
+ provide?: () => T;
1007
+ }
1008
+
1009
+ declare global {
1010
+ // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
1011
+ interface SymbolConstructor {
1012
+ readonly observable: symbol;
1013
+ }
1014
+ }
1015
+
1016
+ /**
1017
+ Returns a boolean for whether the two given types are equal.
1018
+
1019
+ @link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
1020
+ @link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
1021
+
1022
+ Use-cases:
1023
+ - If you want to make a conditional branch based on the result of a comparison of two types.
1024
+
1025
+ @example
1026
+ ```
1027
+ import type {IsEqual} from 'type-fest';
1028
+
1029
+ // This type returns a boolean for whether the given array includes the given item.
1030
+ // `IsEqual` is used to compare the given array at position 0 and the given item and then return true if they are equal.
1031
+ type Includes<Value extends readonly any[], Item> =
1032
+ Value extends readonly [Value[0], ...infer rest]
1033
+ ? IsEqual<Value[0], Item> extends true
1034
+ ? true
1035
+ : Includes<rest, Item>
1036
+ : false;
1037
+ ```
1038
+
1039
+ @category Type Guard
1040
+ @category Utilities
1041
+ */
1042
+ type IsEqual<A, B> =
1043
+ (<G>() => G extends A ? 1 : 2) extends
1044
+ (<G>() => G extends B ? 1 : 2)
1045
+ ? true
1046
+ : false;
1047
+
1048
+ /**
1049
+ Filter out keys from an object.
1050
+
1051
+ Returns `never` if `Exclude` is strictly equal to `Key`.
1052
+ Returns `never` if `Key` extends `Exclude`.
1053
+ Returns `Key` otherwise.
1054
+
1055
+ @example
1056
+ ```
1057
+ type Filtered = Filter<'foo', 'foo'>;
1058
+ //=> never
1059
+ ```
1060
+
1061
+ @example
1062
+ ```
1063
+ type Filtered = Filter<'bar', string>;
1064
+ //=> never
1065
+ ```
1066
+
1067
+ @example
1068
+ ```
1069
+ type Filtered = Filter<'bar', 'foo'>;
1070
+ //=> 'bar'
1071
+ ```
1072
+
1073
+ @see {Except}
1074
+ */
1075
+ type Filter<KeyType, ExcludeType> = IsEqual<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
1076
+
1077
+ type ExceptOptions = {
1078
+ /**
1079
+ Disallow assigning non-specified properties.
1080
+
1081
+ Note that any omitted properties in the resulting type will be present in autocomplete as `undefined`.
1082
+
1083
+ @default false
1084
+ */
1085
+ requireExactProps?: boolean;
1086
+ };
1087
+
1088
+ /**
1089
+ Create a type from an object type without certain keys.
1090
+
1091
+ We recommend setting the `requireExactProps` option to `true`.
1092
+
1093
+ This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.
1094
+
1095
+ This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)).
1096
+
1097
+ @example
1098
+ ```
1099
+ import type {Except} from 'type-fest';
1100
+
1101
+ type Foo = {
1102
+ a: number;
1103
+ b: string;
1104
+ };
1105
+
1106
+ type FooWithoutA = Except<Foo, 'a'>;
1107
+ //=> {b: string}
1108
+
1109
+ const fooWithoutA: FooWithoutA = {a: 1, b: '2'};
1110
+ //=> errors: 'a' does not exist in type '{ b: string; }'
1111
+
1112
+ type FooWithoutB = Except<Foo, 'b', {requireExactProps: true}>;
1113
+ //=> {a: number} & Partial<Record<"b", never>>
1114
+
1115
+ const fooWithoutB: FooWithoutB = {a: 1, b: '2'};
1116
+ //=> errors at 'b': Type 'string' is not assignable to type 'undefined'.
1117
+ ```
1118
+
1119
+ @category Object
1120
+ */
1121
+ type Except<ObjectType, KeysType extends keyof ObjectType, Options extends ExceptOptions = {requireExactProps: false}> = {
1122
+ [KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType];
1123
+ } & (Options['requireExactProps'] extends true
1124
+ ? Partial<Record<KeysType, never>>
1125
+ : {});
1126
+
1127
+ /**
1128
+ Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability.
1129
+
1130
+ @example
1131
+ ```
1132
+ import type {Simplify} from 'type-fest';
1133
+
1134
+ type PositionProps = {
1135
+ top: number;
1136
+ left: number;
1137
+ };
1138
+
1139
+ type SizeProps = {
1140
+ width: number;
1141
+ height: number;
1142
+ };
1143
+
1144
+ // In your editor, hovering over `Props` will show a flattened object with all the properties.
1145
+ type Props = Simplify<PositionProps & SizeProps>;
1146
+ ```
1147
+
1148
+ Sometimes it is desired to pass a value as a function argument that has a different type. At first inspection it may seem assignable, and then you discover it is not because the `value`'s type definition was defined as an interface. In the following example, `fn` requires an argument of type `Record<string, unknown>`. If the value is defined as a literal, then it is assignable. And if the `value` is defined as type using the `Simplify` utility the value is assignable. But if the `value` is defined as an interface, it is not assignable because the interface is not sealed and elsewhere a non-string property could be added to the interface.
1149
+
1150
+ If the type definition must be an interface (perhaps it was defined in a third-party npm package), then the `value` can be defined as `const value: Simplify<SomeInterface> = ...`. Then `value` will be assignable to the `fn` argument. Or the `value` can be cast as `Simplify<SomeInterface>` if you can't re-declare the `value`.
1151
+
1152
+ @example
1153
+ ```
1154
+ import type {Simplify} from 'type-fest';
1155
+
1156
+ interface SomeInterface {
1157
+ foo: number;
1158
+ bar?: string;
1159
+ baz: number | undefined;
1160
+ }
1161
+
1162
+ type SomeType = {
1163
+ foo: number;
1164
+ bar?: string;
1165
+ baz: number | undefined;
1166
+ };
1167
+
1168
+ const literal = {foo: 123, bar: 'hello', baz: 456};
1169
+ const someType: SomeType = literal;
1170
+ const someInterface: SomeInterface = literal;
1171
+
1172
+ function fn(object: Record<string, unknown>): void {}
1173
+
1174
+ fn(literal); // Good: literal object type is sealed
1175
+ fn(someType); // Good: type is sealed
1176
+ fn(someInterface); // Error: Index signature for type 'string' is missing in type 'someInterface'. Because `interface` can be re-opened
1177
+ fn(someInterface as Simplify<SomeInterface>); // Good: transform an `interface` into a `type`
1178
+ ```
1179
+
1180
+ @link https://github.com/microsoft/TypeScript/issues/15300
1181
+
1182
+ @category Object
1183
+ */
1184
+ type Simplify<T> = {[KeyType in keyof T]: T[KeyType]} & {};
1185
+
1186
+ /**
1187
+ Create a type that strips `readonly` from all or some of an object's keys. Inverse of `Readonly<T>`.
1188
+
1189
+ This can be used to [store and mutate options within a class](https://github.com/sindresorhus/pageres/blob/4a5d05fca19a5fbd2f53842cbf3eb7b1b63bddd2/source/index.ts#L72), [edit `readonly` objects within tests](https://stackoverflow.com/questions/50703834), [construct a `readonly` object within a function](https://github.com/Microsoft/TypeScript/issues/24509), or to define a single model where the only thing that changes is whether or not some of the keys are writable.
1190
+
1191
+ @example
1192
+ ```
1193
+ import type {Writable} from 'type-fest';
1194
+
1195
+ type Foo = {
1196
+ readonly a: number;
1197
+ readonly b: readonly string[]; // To show that only the mutability status of the properties, not their values, are affected.
1198
+ readonly c: boolean;
1199
+ };
1200
+
1201
+ const writableFoo: Writable<Foo> = {a: 1, b: ['2'], c: true};
1202
+ writableFoo.a = 3;
1203
+ writableFoo.b[0] = 'new value'; // Will still fail as the value of property "b" is still a readonly type.
1204
+ writableFoo.b = ['something']; // Will work as the "b" property itself is no longer readonly.
1205
+
1206
+ type SomeWritable = Writable<Foo, 'b' | 'c'>;
1207
+ // type SomeWritable = {
1208
+ // readonly a: number;
1209
+ // b: readonly string[]; // It's now writable. The type of the property remains unaffected.
1210
+ // c: boolean; // It's now writable.
1211
+ // }
1212
+ ```
1213
+
1214
+ @category Object
1215
+ */
1216
+ type Writable<BaseType, Keys extends keyof BaseType = keyof BaseType> =
1217
+ Simplify<
1218
+ // Pick just the keys that are not writable from the base type.
1219
+ Except<BaseType, Keys> &
1220
+ // Pick the keys that should be writable from the base type and make them writable by removing the `readonly` modifier from the key.
1221
+ {-readonly [KeyType in keyof Pick<BaseType, Keys>]: Pick<BaseType, Keys>[KeyType]}
1222
+ >;
1223
+
1224
+ /**
1225
+ Create a type that makes the given keys required. The remaining keys are kept as is. The sister of the `SetOptional` type.
1226
+
1227
+ Use-case: You want to define a single model where the only thing that changes is whether or not some of the keys are required.
1228
+
1229
+ @example
1230
+ ```
1231
+ import type {SetRequired} from 'type-fest';
1232
+
1233
+ type Foo = {
1234
+ a?: number;
1235
+ b: string;
1236
+ c?: boolean;
1237
+ }
1238
+
1239
+ type SomeRequired = SetRequired<Foo, 'b' | 'c'>;
1240
+ // type SomeRequired = {
1241
+ // a?: number;
1242
+ // b: string; // Was already required and still is.
1243
+ // c: boolean; // Is now required.
1244
+ // }
1245
+ ```
1246
+
1247
+ @category Object
1248
+ */
1249
+ type SetRequired<BaseType, Keys extends keyof BaseType> =
1250
+ // `extends unknown` is always going to be the case and is used to convert any
1251
+ // union into a [distributive conditional
1252
+ // type](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html#distributive-conditional-types).
1253
+ BaseType extends unknown
1254
+ ? Simplify<
1255
+ // Pick just the keys that are optional from the base type.
1256
+ Except<BaseType, Keys> &
1257
+ // Pick the keys that should be required from the base type and make them required.
1258
+ Required<Pick<BaseType, Keys>>
1259
+ >
1260
+ : never;
1261
+
1262
+ declare function defineCustomElement(element: CustomElementConstructor, throws?: boolean): void;
1263
+ interface CustomElementConstructor {
1264
+ readonly tagName: string;
1265
+ new (): HTMLElement;
1266
+ }
1267
+
1268
+ export { Component, DOMEvent, EventsTarget, State, ViewController, appendTriggerEvent, defineCustomElement, findTriggerEvent, hasTriggerEvent, isKeyboardClick, isKeyboardEvent, isPointerEvent, walkTriggerEventChain };
1269
+ export type { Attributes, Context, Dispose, InferEventDetail, MaverickElementConstructor, MaybeStopEffect, ReadSignal, ReadSignalRecord, Scope, SetRequired, Store, Writable, WriteSignal };