@wix/editor-react-components 1.2153.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1135) hide show
  1. package/README.md +160 -0
  2. package/dist/site/components/AccordionComponent/AccordionContainer.d.ts +4 -0
  3. package/dist/site/components/AccordionComponent/AccordionItem.d.ts +12 -0
  4. package/dist/site/components/AccordionComponent/component.d.ts +3 -0
  5. package/dist/site/components/AccordionComponent/component.js +2530 -0
  6. package/dist/site/components/AccordionComponent/component.preview.d.ts +4 -0
  7. package/dist/site/components/AccordionComponent/constants.d.ts +72 -0
  8. package/dist/site/components/AccordionComponent/css.css +47 -0
  9. package/dist/site/components/AccordionComponent/hooks.d.ts +5 -0
  10. package/dist/site/components/AccordionComponent/index.d.ts +2 -0
  11. package/dist/site/components/AccordionComponent/index.js +6 -0
  12. package/dist/site/components/AccordionComponent/manifest.d.ts +5 -0
  13. package/dist/site/components/AccordionComponent/manifest.js +361 -0
  14. package/dist/site/components/AccordionComponent/manifestConfigs/iconPositionConfig.d.ts +16 -0
  15. package/dist/site/components/AccordionComponent/types.d.ts +49 -0
  16. package/dist/site/components/AccordionComponent/utils.d.ts +4 -0
  17. package/dist/site/components/AnimatedIcon/AnimatedIcon.d.ts +5 -0
  18. package/dist/site/components/AnimatedIcon/AnimatedIcon.semanticClassNames.d.ts +4 -0
  19. package/dist/site/components/AnimatedIcon/component.d.ts +4 -0
  20. package/dist/site/components/AnimatedIcon/component.js +13 -0
  21. package/dist/site/components/AnimatedIcon/components/AnimatedSvg.d.ts +4 -0
  22. package/dist/site/components/AnimatedIcon/constants.d.ts +84 -0
  23. package/dist/site/components/AnimatedIcon/css.css +19 -0
  24. package/dist/site/components/AnimatedIcon/index.d.ts +2 -0
  25. package/dist/site/components/AnimatedIcon/index.js +6 -0
  26. package/dist/site/components/AnimatedIcon/manifest.d.ts +5 -0
  27. package/dist/site/components/AnimatedIcon/manifest.js +157 -0
  28. package/dist/site/components/AnimatedIcon/panels/AnimatedIconPanelWrapper.d.ts +4 -0
  29. package/dist/site/components/AnimatedIcon/panels/IconCreationPanel/BackButton.d.ts +7 -0
  30. package/dist/site/components/AnimatedIcon/panels/IconCreationPanel/Footer.d.ts +7 -0
  31. package/dist/site/components/AnimatedIcon/panels/IconCreationPanel/IconCreationPanel.d.ts +8 -0
  32. package/dist/site/components/AnimatedIcon/panels/IconCreationPanel/IconSelector.d.ts +11 -0
  33. package/dist/site/components/AnimatedIcon/panels/IconCreationPanel/PreviewSection.d.ts +13 -0
  34. package/dist/site/components/AnimatedIcon/panels/IconCreationPanel/Title.d.ts +7 -0
  35. package/dist/site/components/AnimatedIcon/panels/components/AnimatedIconCreationSection.d.ts +10 -0
  36. package/dist/site/components/AnimatedIcon/panels/components/DurationSection.d.ts +11 -0
  37. package/dist/site/components/AnimatedIcon/panels/components/IconTypeSection.d.ts +10 -0
  38. package/dist/site/components/AnimatedIcon/panels/components/SvgDisplaySection.d.ts +12 -0
  39. package/dist/site/components/AnimatedIcon/panels/constants.d.ts +15 -0
  40. package/dist/site/components/AnimatedIcon/panels/dataHooks.d.ts +16 -0
  41. package/dist/site/components/AnimatedIcon/panels/extension.d.ts +4 -0
  42. package/dist/site/components/AnimatedIcon/panels/panel.d.ts +3 -0
  43. package/dist/site/components/AnimatedIcon/panels/translations/consts.d.ts +20 -0
  44. package/dist/site/components/AnimatedIcon/panels/utils.d.ts +32 -0
  45. package/dist/site/components/AnimatedIcon/types.d.ts +27 -0
  46. package/dist/site/components/AnimatedIcon/useDefaultHoverBehavior.d.ts +7 -0
  47. package/dist/site/components/AnimatedIcon/utils.d.ts +1 -0
  48. package/dist/site/components/AudioPlayer/AudioPlayer.d.ts +4 -0
  49. package/dist/site/components/AudioPlayer/component.d.ts +4 -0
  50. package/dist/site/components/AudioPlayer/component.js +4757 -0
  51. package/dist/site/components/AudioPlayer/component.preview.d.ts +3 -0
  52. package/dist/site/components/AudioPlayer/components/PlayButton.d.ts +3 -0
  53. package/dist/site/components/AudioPlayer/components/ProgressSlider.d.ts +3 -0
  54. package/dist/site/components/AudioPlayer/components/VolumeControls.d.ts +3 -0
  55. package/dist/site/components/AudioPlayer/constants.d.ts +87 -0
  56. package/dist/site/components/AudioPlayer/css.css +217 -0
  57. package/dist/site/components/AudioPlayer/hooks/useAudioPlayer.d.ts +13 -0
  58. package/dist/site/components/AudioPlayer/icons/SoundOff.d.ts +2 -0
  59. package/dist/site/components/AudioPlayer/icons/SoundOn.d.ts +2 -0
  60. package/dist/site/components/AudioPlayer/index.d.ts +2 -0
  61. package/dist/site/components/AudioPlayer/index.js +6 -0
  62. package/dist/site/components/AudioPlayer/manifest.d.ts +5 -0
  63. package/dist/site/components/AudioPlayer/manifest.js +314 -0
  64. package/dist/site/components/AudioPlayer/manifestConfigs/controlsConfig.d.ts +63 -0
  65. package/dist/site/components/AudioPlayer/manifestConfigs/coverMediaConfig.d.ts +25 -0
  66. package/dist/site/components/AudioPlayer/types.d.ts +46 -0
  67. package/dist/site/components/AudioPlayer/utils/getAudioLoadUrlForPlayerInstance.d.ts +1 -0
  68. package/dist/site/components/AudioPlayer/utils.d.ts +1 -0
  69. package/dist/site/components/BoxContainer/component.d.ts +3 -0
  70. package/dist/site/components/BoxContainer/component.js +44 -0
  71. package/dist/site/components/BoxContainer/constants.d.ts +13 -0
  72. package/dist/site/components/BoxContainer/css.css +3 -0
  73. package/dist/site/components/BoxContainer/index.d.ts +2 -0
  74. package/dist/site/components/BoxContainer/index.js +6 -0
  75. package/dist/site/components/BoxContainer/manifest.d.ts +5 -0
  76. package/dist/site/components/BoxContainer/manifest.js +121 -0
  77. package/dist/site/components/BoxContainer/types.d.ts +34 -0
  78. package/dist/site/components/Breadcrumbs/BreadcrumbItem.d.ts +3 -0
  79. package/dist/site/components/Breadcrumbs/EllipsisItem.d.ts +3 -0
  80. package/dist/site/components/Breadcrumbs/Separator.d.ts +2 -0
  81. package/dist/site/components/Breadcrumbs/component.d.ts +5 -0
  82. package/dist/site/components/Breadcrumbs/component.js +1672 -0
  83. package/dist/site/components/Breadcrumbs/component.preview.d.ts +3 -0
  84. package/dist/site/components/Breadcrumbs/constants.d.ts +95 -0
  85. package/dist/site/components/Breadcrumbs/css.css +170 -0
  86. package/dist/site/components/Breadcrumbs/index.d.ts +2 -0
  87. package/dist/site/components/Breadcrumbs/index.js +6 -0
  88. package/dist/site/components/Breadcrumbs/manifest.d.ts +5 -0
  89. package/dist/site/components/Breadcrumbs/manifest.js +380 -0
  90. package/dist/site/components/Breadcrumbs/types.d.ts +40 -0
  91. package/dist/site/components/Breadcrumbs/useBreadcrumbItems.d.ts +4 -0
  92. package/dist/site/components/Breadcrumbs/useCollapsedRange.d.ts +3 -0
  93. package/dist/site/components/Breadcrumbs/useSeoService.d.ts +2 -0
  94. package/dist/site/components/Breadcrumbs/utils.d.ts +3 -0
  95. package/dist/site/components/Button/Button.corvid.types.d.ts +34 -0
  96. package/dist/site/components/Button/Button.d.ts +5 -0
  97. package/dist/site/components/Button/Button.types.d.ts +76 -0
  98. package/dist/site/components/Button/component.d.ts +4 -0
  99. package/dist/site/components/Button/component.js +5 -0
  100. package/dist/site/components/Button/component.preview.d.ts +3 -0
  101. package/dist/site/components/Button/components/AnimatedButtonIcon.d.ts +4 -0
  102. package/dist/site/components/Button/constants.d.ts +66 -0
  103. package/dist/site/components/Button/css.css +150 -0
  104. package/dist/site/components/Button/hooks/index.d.ts +4 -0
  105. package/dist/site/components/Button/hooks/useButtonA11y.d.ts +71 -0
  106. package/dist/site/components/Button/hooks/useButtonEventHandlers.d.ts +27 -0
  107. package/dist/site/components/Button/hooks/useHoverState.d.ts +7 -0
  108. package/dist/site/components/Button/hooks/useIconAnimation.d.ts +6 -0
  109. package/dist/site/components/Button/index.d.ts +2 -0
  110. package/dist/site/components/Button/index.js +6 -0
  111. package/dist/site/components/Button/manifest.d.ts +5 -0
  112. package/dist/site/components/Button/manifest.js +340 -0
  113. package/dist/site/components/Button/sdk.d.ts +10 -0
  114. package/dist/site/components/Button/sdk.js +417 -0
  115. package/dist/site/components/CollapsibleText/CollapsibleText.d.ts +3 -0
  116. package/dist/site/components/CollapsibleText/ExpandControl.d.ts +13 -0
  117. package/dist/site/components/CollapsibleText/component.d.ts +2 -0
  118. package/dist/site/components/CollapsibleText/component.js +227 -0
  119. package/dist/site/components/CollapsibleText/component.preview.d.ts +4 -0
  120. package/dist/site/components/CollapsibleText/constants.d.ts +65 -0
  121. package/dist/site/components/CollapsibleText/css.css +273 -0
  122. package/dist/site/components/CollapsibleText/index.d.ts +2 -0
  123. package/dist/site/components/CollapsibleText/index.js +6 -0
  124. package/dist/site/components/CollapsibleText/manifest/manifestClasses.d.ts +5 -0
  125. package/dist/site/components/CollapsibleText/manifest.d.ts +5 -0
  126. package/dist/site/components/CollapsibleText/manifest.js +243 -0
  127. package/dist/site/components/CollapsibleText/sdk.d.ts +14 -0
  128. package/dist/site/components/CollapsibleText/sdk.js +80 -0
  129. package/dist/site/components/CollapsibleText/types.d.ts +37 -0
  130. package/dist/site/components/CollapsibleText/useReinitializeState.d.ts +2 -0
  131. package/dist/site/components/CollapsibleText/utils.d.ts +5 -0
  132. package/dist/site/components/GoogleMap/GoogleMap.d.ts +8 -0
  133. package/dist/site/components/GoogleMap/GoogleMap.types.d.ts +131 -0
  134. package/dist/site/components/GoogleMap/component.d.ts +2 -0
  135. package/dist/site/components/GoogleMap/component.js +1925 -0
  136. package/dist/site/components/GoogleMap/components/GoogleMapMarker.d.ts +4 -0
  137. package/dist/site/components/GoogleMap/components/GoogleMapReact.d.ts +66 -0
  138. package/dist/site/components/GoogleMap/components/GoogleMapReactInteractiveMap.d.ts +34 -0
  139. package/dist/site/components/GoogleMap/consts.d.ts +171 -0
  140. package/dist/site/components/GoogleMap/css.css +372 -0
  141. package/dist/site/components/GoogleMap/hooks/useGoogleMapProps.d.ts +13 -0
  142. package/dist/site/components/GoogleMap/index.d.ts +2 -0
  143. package/dist/site/components/GoogleMap/index.js +6 -0
  144. package/dist/site/components/GoogleMap/manifest.d.ts +5 -0
  145. package/dist/site/components/GoogleMap/manifest.js +240 -0
  146. package/dist/site/components/GoogleMap/panels/ManageLocations/components/LocationForm.d.ts +2 -0
  147. package/dist/site/components/GoogleMap/panels/ManageLocations/components/LocationsList.d.ts +2 -0
  148. package/dist/site/components/GoogleMap/panels/ManageLocations/context/ManageLocationsContext.d.ts +8 -0
  149. package/dist/site/components/GoogleMap/panels/ManageLocations/extension.d.ts +4 -0
  150. package/dist/site/components/GoogleMap/panels/ManageLocations/hooks/useLocationForm.d.ts +25 -0
  151. package/dist/site/components/GoogleMap/panels/ManageLocations/hooks/useSuccessAnimation.d.ts +6 -0
  152. package/dist/site/components/GoogleMap/panels/ManageLocations/panel.d.ts +3 -0
  153. package/dist/site/components/GoogleMap/panels/ManageLocations/translations/consts.d.ts +18 -0
  154. package/dist/site/components/GoogleMap/panels/ManageLocations/types.d.ts +22 -0
  155. package/dist/site/components/GoogleMap/panels/ManageLocations/utils/address-utils.d.ts +7 -0
  156. package/dist/site/components/GoogleMap/panels/ManageLocations/utils/component-props-utils.d.ts +26 -0
  157. package/dist/site/components/GoogleMap/panels/ManageLocations/utils/form-utils.d.ts +21 -0
  158. package/dist/site/components/GoogleMap/utils/imperativeMethods.d.ts +2 -0
  159. package/dist/site/components/GoogleMap/utils/mapUtils.d.ts +11 -0
  160. package/dist/site/components/GoogleMap/utils/sdkMethods.d.ts +27 -0
  161. package/dist/site/components/HTMLComponent/HTMLComponent.types.d.ts +52 -0
  162. package/dist/site/components/HTMLComponent/component.d.ts +6 -0
  163. package/dist/site/components/HTMLComponent/component.js +295 -0
  164. package/dist/site/components/HTMLComponent/component.preview.d.ts +5 -0
  165. package/dist/site/components/HTMLComponent/components/EmptyState.d.ts +3 -0
  166. package/dist/site/components/HTMLComponent/components/HTMLComponent.d.ts +17 -0
  167. package/dist/site/components/HTMLComponent/constants.d.ts +6 -0
  168. package/dist/site/components/HTMLComponent/css.css +348 -0
  169. package/dist/site/components/HTMLComponent/hooks/index.d.ts +2 -0
  170. package/dist/site/components/HTMLComponent/hooks/useHTMLComponentProps.d.ts +20 -0
  171. package/dist/site/components/HTMLComponent/index.d.ts +2 -0
  172. package/dist/site/components/HTMLComponent/index.js +6 -0
  173. package/dist/site/components/HTMLComponent/manifest.d.ts +5 -0
  174. package/dist/site/components/HTMLComponent/manifest.js +217 -0
  175. package/dist/site/components/HTMLComponent/panels/components/CookieConsentField.d.ts +14 -0
  176. package/dist/site/components/HTMLComponent/panels/components/ExternalUrlContent.d.ts +14 -0
  177. package/dist/site/components/HTMLComponent/panels/components/HtmlCodeContent.d.ts +13 -0
  178. package/dist/site/components/HTMLComponent/panels/components/SourceTypeContent.d.ts +18 -0
  179. package/dist/site/components/HTMLComponent/panels/components/SourceTypeSelector.d.ts +14 -0
  180. package/dist/site/components/HTMLComponent/panels/components/TitleField.d.ts +15 -0
  181. package/dist/site/components/HTMLComponent/panels/components/index.d.ts +6 -0
  182. package/dist/site/components/HTMLComponent/panels/constants.d.ts +91 -0
  183. package/dist/site/components/HTMLComponent/panels/extension.d.ts +4 -0
  184. package/dist/site/components/HTMLComponent/panels/hooks.d.ts +24 -0
  185. package/dist/site/components/HTMLComponent/panels/panel.d.ts +3 -0
  186. package/dist/site/components/HTMLComponent/panels/test-utils.d.ts +18 -0
  187. package/dist/site/components/HTMLComponent/panels/translations/consts.d.ts +21 -0
  188. package/dist/site/components/HTMLComponent/panels/utils.d.ts +7 -0
  189. package/dist/site/components/HTMLComponent/sdk.d.ts +5 -0
  190. package/dist/site/components/HTMLComponent/sdk.js +69 -0
  191. package/dist/site/components/HTMLComponent/utils.d.ts +1 -0
  192. package/dist/site/components/HipaaIcon/HipaaBadgeSvg.d.ts +3 -0
  193. package/dist/site/components/HipaaIcon/HipaaIcon.types.d.ts +9 -0
  194. package/dist/site/components/HipaaIcon/component.d.ts +4 -0
  195. package/dist/site/components/HipaaIcon/component.js +165 -0
  196. package/dist/site/components/HipaaIcon/component.preview.d.ts +5 -0
  197. package/dist/site/components/HipaaIcon/constants.d.ts +26 -0
  198. package/dist/site/components/HipaaIcon/css.css +44 -0
  199. package/dist/site/components/HipaaIcon/index.d.ts +2 -0
  200. package/dist/site/components/HipaaIcon/index.js +6 -0
  201. package/dist/site/components/HipaaIcon/manifest.d.ts +5 -0
  202. package/dist/site/components/HipaaIcon/manifest.js +89 -0
  203. package/dist/site/components/HipaaIcon/panels/hipaaSettings/extension.d.ts +4 -0
  204. package/dist/site/components/HipaaIcon/panels/hipaaSettings/panel.d.ts +3 -0
  205. package/dist/site/components/HipaaIcon/panels/hipaaSettings/translations/consts.d.ts +6 -0
  206. package/dist/site/components/HipaaIcon/sdk.d.ts +3 -0
  207. package/dist/site/components/HipaaIcon/sdk.js +12 -0
  208. package/dist/site/components/HipaaIcon/utils.d.ts +2 -0
  209. package/dist/site/components/Image3/Image3.types.d.ts +29 -0
  210. package/dist/site/components/Image3/component.d.ts +5 -0
  211. package/dist/site/components/Image3/component.js +197 -0
  212. package/dist/site/components/Image3/component.preview.d.ts +5 -0
  213. package/dist/site/components/Image3/css.css +63 -0
  214. package/dist/site/components/Image3/index.d.ts +2 -0
  215. package/dist/site/components/Image3/index.js +6 -0
  216. package/dist/site/components/Image3/manifest.d.ts +5 -0
  217. package/dist/site/components/Image3/manifest.js +197 -0
  218. package/dist/site/components/Image3/previewManifestOverrides.d.ts +4 -0
  219. package/dist/site/components/Image3/sdk.d.ts +5 -0
  220. package/dist/site/components/Image3/sdk.js +105 -0
  221. package/dist/site/components/LegacyAppWidget/component.d.ts +10 -0
  222. package/dist/site/components/LegacyAppWidget/component.js +46 -0
  223. package/dist/site/components/LegacyAppWidget/components/AppWidget.types.d.ts +11 -0
  224. package/dist/site/components/LegacyAppWidget/components/ResponsiveAppWidget.d.ts +4 -0
  225. package/dist/site/components/LegacyAppWidget/css.css +3 -0
  226. package/dist/site/components/LegacyAppWidget/index.d.ts +2 -0
  227. package/dist/site/components/LegacyAppWidget/index.js +6 -0
  228. package/dist/site/components/LegacyAppWidget/manifest.d.ts +5 -0
  229. package/dist/site/components/LegacyAppWidget/manifest.js +42 -0
  230. package/dist/site/components/LegacyContainer/Container.corvid.d.ts +5 -0
  231. package/dist/site/components/LegacyContainer/component.d.ts +13 -0
  232. package/dist/site/components/LegacyContainer/component.js +40 -0
  233. package/dist/site/components/LegacyContainer/components/Container.semanticClassNames.d.ts +4 -0
  234. package/dist/site/components/LegacyContainer/components/Container.shared.constants.d.ts +6 -0
  235. package/dist/site/components/LegacyContainer/components/Container.types.d.ts +77 -0
  236. package/dist/site/components/LegacyContainer/components/Repeater.semanticClassNames.d.ts +5 -0
  237. package/dist/site/components/LegacyContainer/components/ResponsiveBox.d.ts +4 -0
  238. package/dist/site/components/LegacyContainer/components/ResponsiveBoxSkin.d.ts +4 -0
  239. package/dist/site/components/LegacyContainer/css.css +53 -0
  240. package/dist/site/components/LegacyContainer/index.d.ts +2 -0
  241. package/dist/site/components/LegacyContainer/index.js +6 -0
  242. package/dist/site/components/LegacyContainer/manifest.d.ts +5 -0
  243. package/dist/site/components/LegacyContainer/manifest.js +45 -0
  244. package/dist/site/components/LegacyContainer/sdk.d.ts +3 -0
  245. package/dist/site/components/LegacyContainer/sdk.js +85 -0
  246. package/dist/site/components/LegacyMultiStateBox/LegacyMultiStateBox.types.d.ts +15 -0
  247. package/dist/site/components/LegacyMultiStateBox/component.d.ts +4 -0
  248. package/dist/site/components/LegacyMultiStateBox/component.js +131 -0
  249. package/dist/site/components/LegacyMultiStateBox/components/MultiStateBox.d.ts +4 -0
  250. package/dist/site/components/LegacyMultiStateBox/css.css +53 -0
  251. package/dist/site/components/LegacyMultiStateBox/hooks/index.d.ts +2 -0
  252. package/dist/site/components/LegacyMultiStateBox/hooks/useDidUpdate.d.ts +1 -0
  253. package/dist/site/components/LegacyMultiStateBox/hooks/useMSBStates.d.ts +10 -0
  254. package/dist/site/components/LegacyMultiStateBox/index.d.ts +2 -0
  255. package/dist/site/components/LegacyMultiStateBox/index.js +6 -0
  256. package/dist/site/components/LegacyMultiStateBox/manifest.d.ts +5 -0
  257. package/dist/site/components/LegacyMultiStateBox/manifest.js +48 -0
  258. package/dist/site/components/LegacyMultiStateBox/sdk.d.ts +6 -0
  259. package/dist/site/components/LegacyMultiStateBox/sdk.js +164 -0
  260. package/dist/site/components/Line/Line.semanticClassNames.d.ts +4 -0
  261. package/dist/site/components/Line/component.d.ts +24 -0
  262. package/dist/site/components/Line/component.js +60 -0
  263. package/dist/site/components/Line/component.preview.d.ts +3 -0
  264. package/dist/site/components/Line/constants.d.ts +102 -0
  265. package/dist/site/components/Line/css.css +60 -0
  266. package/dist/site/components/Line/index.d.ts +2 -0
  267. package/dist/site/components/Line/index.js +6 -0
  268. package/dist/site/components/Line/manifest.d.ts +5 -0
  269. package/dist/site/components/Line/manifest.js +799 -0
  270. package/dist/site/components/Line/manifestConfigs/shapeConfig.d.ts +17 -0
  271. package/dist/site/components/Line/manifestConfigs/typeConfig.d.ts +16 -0
  272. package/dist/site/components/Line/panels/format/extension.d.ts +4 -0
  273. package/dist/site/components/Line/panels/format/panel.d.ts +3 -0
  274. package/dist/site/components/Line/panels/format/translations/consts.d.ts +7 -0
  275. package/dist/site/components/LinkBar/LinkBar.d.ts +5 -0
  276. package/dist/site/components/LinkBar/component.d.ts +2 -0
  277. package/dist/site/components/LinkBar/component.js +93 -0
  278. package/dist/site/components/LinkBar/constants.d.ts +57 -0
  279. package/dist/site/components/LinkBar/css.css +46 -0
  280. package/dist/site/components/LinkBar/index.d.ts +2 -0
  281. package/dist/site/components/LinkBar/index.js +6 -0
  282. package/dist/site/components/LinkBar/manifest.d.ts +5 -0
  283. package/dist/site/components/LinkBar/manifest.js +230 -0
  284. package/dist/site/components/LinkBar/panels/orientation/constants.d.ts +5 -0
  285. package/dist/site/components/LinkBar/panels/orientation/extension.d.ts +4 -0
  286. package/dist/site/components/LinkBar/panels/orientation/panel.d.ts +3 -0
  287. package/dist/site/components/LinkBar/panels/orientation/test-utils.d.ts +5 -0
  288. package/dist/site/components/LinkBar/panels/orientation/translations/consts.d.ts +7 -0
  289. package/dist/site/components/LinkBar/types.d.ts +23 -0
  290. package/dist/site/components/Logo/Logo.d.ts +5 -0
  291. package/dist/site/components/Logo/Logo.semanticClassNames.d.ts +3 -0
  292. package/dist/site/components/Logo/Logo.types.d.ts +12 -0
  293. package/dist/site/components/Logo/component.d.ts +2 -0
  294. package/dist/site/components/Logo/component.js +155 -0
  295. package/dist/site/components/Logo/constants.d.ts +38 -0
  296. package/dist/site/components/Logo/css.css +46 -0
  297. package/dist/site/components/Logo/hooks/index.d.ts +1 -0
  298. package/dist/site/components/Logo/hooks/useSiteColors.d.ts +5 -0
  299. package/dist/site/components/Logo/index.d.ts +2 -0
  300. package/dist/site/components/Logo/index.js +6 -0
  301. package/dist/site/components/Logo/manifest.d.ts +5 -0
  302. package/dist/site/components/Logo/manifest.js +103 -0
  303. package/dist/site/components/Logo/panels/customizeLogo/components/EmptyPanelState.d.ts +15 -0
  304. package/dist/site/components/Logo/panels/customizeLogo/components/LogoActions.d.ts +18 -0
  305. package/dist/site/components/Logo/panels/customizeLogo/components/LogoBackgroundRemovalActions.d.ts +17 -0
  306. package/dist/site/components/Logo/panels/customizeLogo/components/LogoBackgroundRemovalButton.d.ts +8 -0
  307. package/dist/site/components/Logo/panels/customizeLogo/components/LogoPreview.d.ts +12 -0
  308. package/dist/site/components/Logo/panels/customizeLogo/components/StatusComponents.d.ts +27 -0
  309. package/dist/site/components/Logo/panels/customizeLogo/components/index.d.ts +5 -0
  310. package/dist/site/components/Logo/panels/customizeLogo/extension.d.ts +4 -0
  311. package/dist/site/components/Logo/panels/customizeLogo/handlers.d.ts +12 -0
  312. package/dist/site/components/Logo/panels/customizeLogo/hooks.d.ts +2 -0
  313. package/dist/site/components/Logo/panels/customizeLogo/panel.d.ts +3 -0
  314. package/dist/site/components/Logo/panels/customizeLogo/translations/consts.d.ts +39 -0
  315. package/dist/site/components/Logo/panels/customizeLogo/types.d.ts +32 -0
  316. package/dist/site/components/Logo/panels/customizeLogo/utils.d.ts +105 -0
  317. package/dist/site/components/Logo/sdk.d.ts +5 -0
  318. package/dist/site/components/Logo/sdk.js +122 -0
  319. package/dist/site/components/Lottie/component.d.ts +4 -0
  320. package/dist/site/components/Lottie/component.js +17219 -0
  321. package/dist/site/components/Lottie/component.preview.d.ts +5 -0
  322. package/dist/site/components/Lottie/components/LottieAnimation.d.ts +5 -0
  323. package/dist/site/components/Lottie/constants.d.ts +78 -0
  324. package/dist/site/components/Lottie/css.css +187 -0
  325. package/dist/site/components/Lottie/hooks/useLottie.d.ts +19 -0
  326. package/dist/site/components/Lottie/index.d.ts +2 -0
  327. package/dist/site/components/Lottie/index.js +6 -0
  328. package/dist/site/components/Lottie/manifest.d.ts +5 -0
  329. package/dist/site/components/Lottie/manifest.js +192 -0
  330. package/dist/site/components/Lottie/types.d.ts +37 -0
  331. package/dist/site/components/Menu/Menu.types.d.ts +141 -0
  332. package/dist/site/components/Menu/animations.d.ts +132 -0
  333. package/dist/site/components/Menu/component.d.ts +5 -0
  334. package/dist/site/components/Menu/component.js +2285 -0
  335. package/dist/site/components/Menu/component.preview.d.ts +11 -0
  336. package/dist/site/components/Menu/components/Dropdown/Dropdown.d.ts +3 -0
  337. package/dist/site/components/Menu/components/Dropdown/DropdownWrapper.d.ts +11 -0
  338. package/dist/site/components/Menu/components/Dropdown/index.d.ts +1 -0
  339. package/dist/site/components/Menu/components/Hamburger/Hamburger.d.ts +3 -0
  340. package/dist/site/components/Menu/components/Hamburger/index.d.ts +1 -0
  341. package/dist/site/components/Menu/components/MenuContent/MenuContent.d.ts +4 -0
  342. package/dist/site/components/Menu/components/MenuContent/MenuItem/MenuItem.d.ts +3 -0
  343. package/dist/site/components/Menu/components/MenuContent/MenuItem/MenuItemDropdownIcon.d.ts +15 -0
  344. package/dist/site/components/Menu/components/MenuContent/MenuItem/MenuItemLabel.d.ts +14 -0
  345. package/dist/site/components/Menu/components/MenuContent/MenuItem/updateDropdownDomStyles.d.ts +4 -0
  346. package/dist/site/components/Menu/components/MenuContent/MenuItem/useAnimationState.d.ts +24 -0
  347. package/dist/site/components/Menu/components/MenuContent/MenuItem/useDropdown.d.ts +16 -0
  348. package/dist/site/components/Menu/components/MenuContent/MenuItem/utils.d.ts +26 -0
  349. package/dist/site/components/Menu/components/MenuContent/Scroll/scrollTo.d.ts +1 -0
  350. package/dist/site/components/Menu/components/MenuContent/Scroll/useScroll.d.ts +9 -0
  351. package/dist/site/components/Menu/components/MenuContent/Scroll/utils.d.ts +7 -0
  352. package/dist/site/components/Menu/components/MenuContent/ScrollButton/ScrollButton.d.ts +4 -0
  353. package/dist/site/components/Menu/components/MenuContent/ScrollControls/ScrollControls.d.ts +3 -0
  354. package/dist/site/components/Menu/components/MenuContent/assets/DropdownIcon.d.ts +2 -0
  355. package/dist/site/components/Menu/components/Navbar/Navbar.d.ts +3 -0
  356. package/dist/site/components/Menu/components/Navbar/index.d.ts +1 -0
  357. package/dist/site/components/Menu/components/Submenu/Submenu.d.ts +4 -0
  358. package/dist/site/components/Menu/components/Submenu/constants.d.ts +9 -0
  359. package/dist/site/components/Menu/components/Submenu/types.d.ts +22 -0
  360. package/dist/site/components/Menu/constants.d.ts +330 -0
  361. package/dist/site/components/Menu/contexts/DropdownContext.d.ts +7 -0
  362. package/dist/site/components/Menu/contexts/MenuContext.d.ts +24 -0
  363. package/dist/site/components/Menu/contexts/MenuItemContext.d.ts +16 -0
  364. package/dist/site/components/Menu/css.css +1077 -0
  365. package/dist/site/components/Menu/index.d.ts +2 -0
  366. package/dist/site/components/Menu/index.js +6 -0
  367. package/dist/site/components/Menu/manifest.d.ts +5 -0
  368. package/dist/site/components/Menu/manifest.js +1395 -0
  369. package/dist/site/components/Menu/manifestConfigs/dropdownConfig.d.ts +250 -0
  370. package/dist/site/components/Menu/manifestConfigs/dropdownItemConfig.d.ts +2 -0
  371. package/dist/site/components/Menu/manifestConfigs/dropdownSubItemConfig.d.ts +2 -0
  372. package/dist/site/components/Menu/manifestConfigs/hamburgerButtonConfig.d.ts +3 -0
  373. package/dist/site/components/Menu/manifestConfigs/hamburgerMenuConfig.d.ts +2 -0
  374. package/dist/site/components/Menu/manifestConfigs/index.d.ts +5 -0
  375. package/dist/site/components/Menu/manifestConfigs/itemConfig.d.ts +2 -0
  376. package/dist/site/components/Menu/manifestConfigs/navbarConfig.d.ts +2 -0
  377. package/dist/site/components/Menu/manifestConfigs/overrides/hamburgerMenuConfig.d.ts +7 -0
  378. package/dist/site/components/Menu/manifestConfigs/overrides/horizontalHugNavbarConfig.d.ts +13 -0
  379. package/dist/site/components/Menu/manifestConfigs/overrides/horizontalScrollNavbarConfig.d.ts +14 -0
  380. package/dist/site/components/Menu/manifestConfigs/overrides/verticalNavbarConfig.d.ts +12 -0
  381. package/dist/site/components/Menu/manifestConfigs/scrollButtonConfig.d.ts +2 -0
  382. package/dist/site/components/Menu/menuItems.d.ts +4 -0
  383. package/dist/site/components/Menu/panels/format/constants.d.ts +20 -0
  384. package/dist/site/components/Menu/panels/format/extension.d.ts +4 -0
  385. package/dist/site/components/Menu/panels/format/formatPanelTypes.d.ts +11 -0
  386. package/dist/site/components/Menu/panels/format/options.d.ts +50 -0
  387. package/dist/site/components/Menu/panels/format/panel.d.ts +3 -0
  388. package/dist/site/components/Menu/panels/format/presets.d.ts +2 -0
  389. package/dist/site/components/Menu/panels/format/test-utils.d.ts +5 -0
  390. package/dist/site/components/Menu/panels/format/translations/consts.d.ts +15 -0
  391. package/dist/site/components/Menu/sdk.d.ts +3 -0
  392. package/dist/site/components/Menu/sdk.js +886 -0
  393. package/dist/site/components/Menu/sdkUtils/errors.d.ts +36 -0
  394. package/dist/site/components/Menu/sdkUtils/menuUtils.d.ts +17 -0
  395. package/dist/site/components/Menu/sdkUtils/transformers.d.ts +3 -0
  396. package/dist/site/components/Menu/sdkUtils/validators/validateMenuItemsDepth.d.ts +2 -0
  397. package/dist/site/components/Menu/sdkUtils/validators/validateMenuItemsId.d.ts +2 -0
  398. package/dist/site/components/Menu/sdkUtils/validators/validateMenuItemsTarget.d.ts +2 -0
  399. package/dist/site/components/Menu/semanticClassNames.d.ts +20 -0
  400. package/dist/site/components/Menu/utils.d.ts +21 -0
  401. package/dist/site/components/MultiStateBox/component.d.ts +4 -0
  402. package/dist/site/components/MultiStateBox/component.js +103 -0
  403. package/dist/site/components/MultiStateBox/component.preview.d.ts +3 -0
  404. package/dist/site/components/MultiStateBox/constants.d.ts +17 -0
  405. package/dist/site/components/MultiStateBox/css.css +13 -0
  406. package/dist/site/components/MultiStateBox/index.d.ts +2 -0
  407. package/dist/site/components/MultiStateBox/index.js +6 -0
  408. package/dist/site/components/MultiStateBox/manifest.d.ts +5 -0
  409. package/dist/site/components/MultiStateBox/manifest.js +123 -0
  410. package/dist/site/components/MultiStateBox/types.d.ts +13 -0
  411. package/dist/site/components/MultiStateBox/utils.d.ts +3 -0
  412. package/dist/site/components/ProgressBar/ProgressBar.d.ts +20 -0
  413. package/dist/site/components/ProgressBar/component.d.ts +2 -0
  414. package/dist/site/components/ProgressBar/component.js +103 -0
  415. package/dist/site/components/ProgressBar/constants.d.ts +30 -0
  416. package/dist/site/components/ProgressBar/css.css +43 -0
  417. package/dist/site/components/ProgressBar/index.d.ts +2 -0
  418. package/dist/site/components/ProgressBar/index.js +6 -0
  419. package/dist/site/components/ProgressBar/manifest.d.ts +5 -0
  420. package/dist/site/components/ProgressBar/manifest.js +149 -0
  421. package/dist/site/components/ProgressBar/sdk.d.ts +5 -0
  422. package/dist/site/components/ProgressBar/sdk.js +54 -0
  423. package/dist/site/components/ProgressBar/utils.d.ts +1 -0
  424. package/dist/site/components/Repeater/ItemSkeleton.d.ts +2 -0
  425. package/dist/site/components/Repeater/LiveAnnouncer.d.ts +11 -0
  426. package/dist/site/components/Repeater/LoadMoreButton.d.ts +8 -0
  427. package/dist/site/components/Repeater/component.d.ts +5 -0
  428. package/dist/site/components/Repeater/component.js +498 -0
  429. package/dist/site/components/Repeater/component.preview.d.ts +5 -0
  430. package/dist/site/components/Repeater/constants.d.ts +83 -0
  431. package/dist/site/components/Repeater/css.css +166 -0
  432. package/dist/site/components/Repeater/hooks/useItemsPerRow.d.ts +2 -0
  433. package/dist/site/components/Repeater/hooks/useLoadMoreObserver.d.ts +7 -0
  434. package/dist/site/components/Repeater/index.d.ts +2 -0
  435. package/dist/site/components/Repeater/index.js +6 -0
  436. package/dist/site/components/Repeater/manifest.d.ts +5 -0
  437. package/dist/site/components/Repeater/manifest.js +522 -0
  438. package/dist/site/components/Repeater/panels/format/extension.d.ts +4 -0
  439. package/dist/site/components/Repeater/panels/format/panel.d.ts +3 -0
  440. package/dist/site/components/Repeater/panels/format/translations/consts.d.ts +13 -0
  441. package/dist/site/components/Repeater/types.d.ts +20 -0
  442. package/dist/site/components/ShareButtons/Checkmark.d.ts +3 -0
  443. package/dist/site/components/ShareButtons/CopyButtonIcon.d.ts +4 -0
  444. package/dist/site/components/ShareButtons/CopyButtonWrapper.d.ts +4 -0
  445. package/dist/site/components/ShareButtons/ShareButton.d.ts +4 -0
  446. package/dist/site/components/ShareButtons/ShareButtonIcon.d.ts +4 -0
  447. package/dist/site/components/ShareButtons/ShareButtons.d.ts +5 -0
  448. package/dist/site/components/ShareButtons/ShareButtons.types.d.ts +42 -0
  449. package/dist/site/components/ShareButtons/component.d.ts +4 -0
  450. package/dist/site/components/ShareButtons/component.js +485 -0
  451. package/dist/site/components/ShareButtons/component.preview.d.ts +4 -0
  452. package/dist/site/components/ShareButtons/constants.d.ts +156 -0
  453. package/dist/site/components/ShareButtons/css.css +150 -0
  454. package/dist/site/components/ShareButtons/index.d.ts +2 -0
  455. package/dist/site/components/ShareButtons/index.js +6 -0
  456. package/dist/site/components/ShareButtons/manifest.d.ts +5 -0
  457. package/dist/site/components/ShareButtons/manifest.js +356 -0
  458. package/dist/site/components/ShareButtons/panels/format/constants.d.ts +12 -0
  459. package/dist/site/components/ShareButtons/panels/format/extension.d.ts +4 -0
  460. package/dist/site/components/ShareButtons/panels/format/panel.d.ts +3 -0
  461. package/dist/site/components/ShareButtons/panels/manage/ButtonActions.d.ts +9 -0
  462. package/dist/site/components/ShareButtons/panels/manage/ButtonItem.d.ts +8 -0
  463. package/dist/site/components/ShareButtons/panels/manage/ButtonManagementContext.d.ts +27 -0
  464. package/dist/site/components/ShareButtons/panels/manage/EditModeControls.d.ts +9 -0
  465. package/dist/site/components/ShareButtons/panels/manage/constants.d.ts +61 -0
  466. package/dist/site/components/ShareButtons/panels/manage/extension.d.ts +4 -0
  467. package/dist/site/components/ShareButtons/panels/manage/hooks/useNavigationMode.d.ts +5 -0
  468. package/dist/site/components/ShareButtons/panels/manage/panel.d.ts +3 -0
  469. package/dist/site/components/ShareButtons/panels/manage/test-utils.d.ts +7 -0
  470. package/dist/site/components/ShareButtons/panels/manage/types.d.ts +10 -0
  471. package/dist/site/components/ShareButtons/panels/translations/consts.d.ts +26 -0
  472. package/dist/site/components/ShareButtons/utils.d.ts +106 -0
  473. package/dist/site/components/SiteLogo/SiteLogo.semanticClassNames.d.ts +3 -0
  474. package/dist/site/components/SiteLogo/SiteLogo.types.d.ts +24 -0
  475. package/dist/site/components/SiteLogo/component.d.ts +3 -0
  476. package/dist/site/components/SiteLogo/component.js +68 -0
  477. package/dist/site/components/SiteLogo/component.preview.d.ts +10 -0
  478. package/dist/site/components/SiteLogo/css.css +137 -0
  479. package/dist/site/components/SiteLogo/index.d.ts +2 -0
  480. package/dist/site/components/SiteLogo/index.js +6 -0
  481. package/dist/site/components/SiteLogo/manifest.d.ts +5 -0
  482. package/dist/site/components/SiteLogo/manifest.js +199 -0
  483. package/dist/site/components/SiteLogo/panels/customizeLogo/LogoColorPanel.d.ts +9 -0
  484. package/dist/site/components/SiteLogo/panels/customizeLogo/ResetLogoColorsButton.d.ts +10 -0
  485. package/dist/site/components/SiteLogo/panels/customizeLogo/bi.d.ts +13 -0
  486. package/dist/site/components/SiteLogo/panels/customizeLogo/extension.d.ts +4 -0
  487. package/dist/site/components/SiteLogo/panels/customizeLogo/panel.d.ts +3 -0
  488. package/dist/site/components/SiteLogo/panels/customizeLogo/translations.d.ts +11 -0
  489. package/dist/site/components/SiteLogo/panels/customizeLogo/utils.d.ts +6 -0
  490. package/dist/site/components/Slideshow/NavigationButtons.d.ts +14 -0
  491. package/dist/site/components/Slideshow/PauseButton.d.ts +14 -0
  492. package/dist/site/components/Slideshow/SlideIndicators.d.ts +16 -0
  493. package/dist/site/components/Slideshow/Slideshow.d.ts +46 -0
  494. package/dist/site/components/Slideshow/Slideshow.semanticClassNames.d.ts +8 -0
  495. package/dist/site/components/Slideshow/assets/PauseIcon.d.ts +2 -0
  496. package/dist/site/components/Slideshow/assets/PlayIcon.d.ts +2 -0
  497. package/dist/site/components/Slideshow/component.d.ts +2 -0
  498. package/dist/site/components/Slideshow/component.js +740 -0
  499. package/dist/site/components/Slideshow/component.preview.d.ts +5 -0
  500. package/dist/site/components/Slideshow/constants.d.ts +136 -0
  501. package/dist/site/components/Slideshow/css.css +587 -0
  502. package/dist/site/components/Slideshow/index.d.ts +2 -0
  503. package/dist/site/components/Slideshow/index.js +6 -0
  504. package/dist/site/components/Slideshow/manifest.d.ts +5 -0
  505. package/dist/site/components/Slideshow/manifest.js +898 -0
  506. package/dist/site/components/Slideshow/manifestConfigs/navigationButtons.d.ts +2 -0
  507. package/dist/site/components/Slideshow/manifestConfigs/slideIndicators.d.ts +2 -0
  508. package/dist/site/components/Slideshow/sdk.d.ts +2 -0
  509. package/dist/site/components/Slideshow/sdk.js +5 -0
  510. package/dist/site/components/Slideshow/types.d.ts +4 -0
  511. package/dist/site/components/Slideshow/useActiveSlideTracker.d.ts +17 -0
  512. package/dist/site/components/Slideshow/useSlideIndicators.d.ts +17 -0
  513. package/dist/site/components/SlotsPlaceholder/SlotsPlaceholder.types.d.ts +7 -0
  514. package/dist/site/components/SlotsPlaceholder/component.d.ts +4 -0
  515. package/dist/site/components/SlotsPlaceholder/component.js +32 -0
  516. package/dist/site/components/SlotsPlaceholder/css.css +9 -0
  517. package/dist/site/components/SlotsPlaceholder/index.d.ts +2 -0
  518. package/dist/site/components/SlotsPlaceholder/index.js +6 -0
  519. package/dist/site/components/SlotsPlaceholder/manifest.d.ts +5 -0
  520. package/dist/site/components/SlotsPlaceholder/manifest.js +69 -0
  521. package/dist/site/components/SlotsPlaceholder/sdk.d.ts +2 -0
  522. package/dist/site/components/SlotsPlaceholder/sdk.js +87 -0
  523. package/dist/site/components/SlotsPlaceholder/slotsPlaceholderCompFactory.d.ts +2 -0
  524. package/dist/site/components/SocialPlayerFacebook/SocialPlayerFacebook.semanticClassNames.d.ts +5 -0
  525. package/dist/site/components/SocialPlayerFacebook/SocialPlayerFacebook.types.d.ts +3 -0
  526. package/dist/site/components/SocialPlayerFacebook/component.d.ts +3 -0
  527. package/dist/site/components/SocialPlayerFacebook/component.js +83 -0
  528. package/dist/site/components/SocialPlayerFacebook/component.preview.d.ts +5 -0
  529. package/dist/site/components/SocialPlayerFacebook/components/SocialPlayerFacebook.d.ts +4 -0
  530. package/dist/site/components/SocialPlayerFacebook/components/SocialPlayerFacebook.utils.d.ts +6 -0
  531. package/dist/site/components/SocialPlayerFacebook/constants.d.ts +1 -0
  532. package/dist/site/components/SocialPlayerFacebook/css.css +40 -0
  533. package/dist/site/components/SocialPlayerFacebook/index.d.ts +2 -0
  534. package/dist/site/components/SocialPlayerFacebook/index.js +6 -0
  535. package/dist/site/components/SocialPlayerFacebook/manifest.d.ts +5 -0
  536. package/dist/site/components/SocialPlayerFacebook/manifest.js +147 -0
  537. package/dist/site/components/SocialPlayerFacebook/panels/settings/extension.d.ts +4 -0
  538. package/dist/site/components/SocialPlayerFacebook/panels/settings/panel.d.ts +3 -0
  539. package/dist/site/components/SocialPlayerFacebook/sdk.d.ts +5 -0
  540. package/dist/site/components/SocialPlayerFacebook/sdk.js +45 -0
  541. package/dist/site/components/SocialPlayerInstagram/SocialPlayerInstagram.semanticClassNames.d.ts +5 -0
  542. package/dist/site/components/SocialPlayerInstagram/SocialPlayerInstagram.types.d.ts +3 -0
  543. package/dist/site/components/SocialPlayerInstagram/component.d.ts +3 -0
  544. package/dist/site/components/SocialPlayerInstagram/component.js +80 -0
  545. package/dist/site/components/SocialPlayerInstagram/component.preview.d.ts +5 -0
  546. package/dist/site/components/SocialPlayerInstagram/components/SocialPlayerInstagram.d.ts +4 -0
  547. package/dist/site/components/SocialPlayerInstagram/components/SocialPlayerInstagram.utils.d.ts +1 -0
  548. package/dist/site/components/SocialPlayerInstagram/constants.d.ts +6 -0
  549. package/dist/site/components/SocialPlayerInstagram/css.css +33 -0
  550. package/dist/site/components/SocialPlayerInstagram/index.d.ts +2 -0
  551. package/dist/site/components/SocialPlayerInstagram/index.js +6 -0
  552. package/dist/site/components/SocialPlayerInstagram/manifest.d.ts +5 -0
  553. package/dist/site/components/SocialPlayerInstagram/manifest.js +149 -0
  554. package/dist/site/components/SocialPlayerInstagram/panels/settings/extension.d.ts +4 -0
  555. package/dist/site/components/SocialPlayerInstagram/panels/settings/panel.d.ts +3 -0
  556. package/dist/site/components/SocialPlayerInstagram/sdk.d.ts +5 -0
  557. package/dist/site/components/SocialPlayerInstagram/sdk.js +33 -0
  558. package/dist/site/components/SocialPlayerShared/SocialPlayersShared.types.d.ts +22 -0
  559. package/dist/site/components/SocialPlayerShared/panels/settings/SocialPlayerSettingsPanel.d.ts +9 -0
  560. package/dist/site/components/SocialPlayerShared/panels/settings/translations.d.ts +5 -0
  561. package/dist/site/components/SocialPlayerShared/previewManifestOverrides.d.ts +4 -0
  562. package/dist/site/components/SocialPlayerShared/utils.d.ts +2 -0
  563. package/dist/site/components/SocialPlayerSnapchat/SocialPlayerSnapchat.semanticClassNames.d.ts +4 -0
  564. package/dist/site/components/SocialPlayerSnapchat/SocialPlayerSnapchat.types.d.ts +3 -0
  565. package/dist/site/components/SocialPlayerSnapchat/component.d.ts +3 -0
  566. package/dist/site/components/SocialPlayerSnapchat/component.js +115 -0
  567. package/dist/site/components/SocialPlayerSnapchat/component.preview.d.ts +5 -0
  568. package/dist/site/components/SocialPlayerSnapchat/components/SocialPlayerSnapchat.d.ts +4 -0
  569. package/dist/site/components/SocialPlayerSnapchat/components/getEmbedUrl.d.ts +1 -0
  570. package/dist/site/components/SocialPlayerSnapchat/constants.d.ts +7 -0
  571. package/dist/site/components/SocialPlayerSnapchat/css.css +33 -0
  572. package/dist/site/components/SocialPlayerSnapchat/index.d.ts +2 -0
  573. package/dist/site/components/SocialPlayerSnapchat/index.js +6 -0
  574. package/dist/site/components/SocialPlayerSnapchat/manifest.d.ts +5 -0
  575. package/dist/site/components/SocialPlayerSnapchat/manifest.js +149 -0
  576. package/dist/site/components/SocialPlayerSnapchat/panels/settings/extension.d.ts +4 -0
  577. package/dist/site/components/SocialPlayerSnapchat/panels/settings/panel.d.ts +3 -0
  578. package/dist/site/components/SocialPlayerSnapchat/sdk.d.ts +5 -0
  579. package/dist/site/components/SocialPlayerSnapchat/sdk.js +39 -0
  580. package/dist/site/components/SocialPlayerTikTok/SocialPlayerTikTok.semanticClassNames.d.ts +4 -0
  581. package/dist/site/components/SocialPlayerTikTok/SocialPlayerTikTok.types.d.ts +3 -0
  582. package/dist/site/components/SocialPlayerTikTok/component.d.ts +3 -0
  583. package/dist/site/components/SocialPlayerTikTok/component.js +214 -0
  584. package/dist/site/components/SocialPlayerTikTok/component.preview.d.ts +9 -0
  585. package/dist/site/components/SocialPlayerTikTok/components/SocialPlayerTikTok.d.ts +4 -0
  586. package/dist/site/components/SocialPlayerTikTok/components/SocialPlayerTikTok.utils.d.ts +12 -0
  587. package/dist/site/components/SocialPlayerTikTok/components/hooks/useTikTokPlayerApi.d.ts +11 -0
  588. package/dist/site/components/SocialPlayerTikTok/components/hooks/useTikTokPlayerApi.types.d.ts +17 -0
  589. package/dist/site/components/SocialPlayerTikTok/components/hooks/useTikTokPlayerApi.utils.d.ts +2 -0
  590. package/dist/site/components/SocialPlayerTikTok/constants.d.ts +6 -0
  591. package/dist/site/components/SocialPlayerTikTok/css.css +32 -0
  592. package/dist/site/components/SocialPlayerTikTok/index.d.ts +2 -0
  593. package/dist/site/components/SocialPlayerTikTok/index.js +6 -0
  594. package/dist/site/components/SocialPlayerTikTok/manifest.d.ts +5 -0
  595. package/dist/site/components/SocialPlayerTikTok/manifest.js +181 -0
  596. package/dist/site/components/SocialPlayerTikTok/panels/settings/extension.d.ts +4 -0
  597. package/dist/site/components/SocialPlayerTikTok/panels/settings/panel.d.ts +3 -0
  598. package/dist/site/components/SocialPlayerTikTok/sdk.d.ts +5 -0
  599. package/dist/site/components/SocialPlayerTikTok/sdk.js +75 -0
  600. package/dist/site/components/SocialPlayerVimeo/SocialPlayerVimeo.semanticClassNames.d.ts +4 -0
  601. package/dist/site/components/SocialPlayerVimeo/SocialPlayerVimeo.types.d.ts +3 -0
  602. package/dist/site/components/SocialPlayerVimeo/component.d.ts +3 -0
  603. package/dist/site/components/SocialPlayerVimeo/component.js +3224 -0
  604. package/dist/site/components/SocialPlayerVimeo/component.preview.d.ts +9 -0
  605. package/dist/site/components/SocialPlayerVimeo/components/SocialPlayerVimeo.d.ts +4 -0
  606. package/dist/site/components/SocialPlayerVimeo/components/hooks/useVimeoPlayer.d.ts +11 -0
  607. package/dist/site/components/SocialPlayerVimeo/constants.d.ts +2 -0
  608. package/dist/site/components/SocialPlayerVimeo/css.css +43 -0
  609. package/dist/site/components/SocialPlayerVimeo/index.d.ts +2 -0
  610. package/dist/site/components/SocialPlayerVimeo/index.js +6 -0
  611. package/dist/site/components/SocialPlayerVimeo/manifest.d.ts +5 -0
  612. package/dist/site/components/SocialPlayerVimeo/manifest.js +184 -0
  613. package/dist/site/components/SocialPlayerVimeo/panels/settings/extension.d.ts +4 -0
  614. package/dist/site/components/SocialPlayerVimeo/panels/settings/panel.d.ts +3 -0
  615. package/dist/site/components/SocialPlayerVimeo/sdk.d.ts +5 -0
  616. package/dist/site/components/SocialPlayerVimeo/sdk.js +69 -0
  617. package/dist/site/components/SocialPlayerYoutube/SocialPlayerYoutube.semanticClassNames.d.ts +4 -0
  618. package/dist/site/components/SocialPlayerYoutube/component.d.ts +3 -0
  619. package/dist/site/components/SocialPlayerYoutube/component.js +211 -0
  620. package/dist/site/components/SocialPlayerYoutube/component.preview.d.ts +9 -0
  621. package/dist/site/components/SocialPlayerYoutube/components/SocialPlayerYoutube.d.ts +5 -0
  622. package/dist/site/components/SocialPlayerYoutube/components/hooks/useYoutubeIframe.d.ts +14 -0
  623. package/dist/site/components/SocialPlayerYoutube/components/utils/getIframeUrl.d.ts +2 -0
  624. package/dist/site/components/SocialPlayerYoutube/components/utils/parseYoutubeUrl.d.ts +5 -0
  625. package/dist/site/components/SocialPlayerYoutube/constants.d.ts +23 -0
  626. package/dist/site/components/SocialPlayerYoutube/css.css +39 -0
  627. package/dist/site/components/SocialPlayerYoutube/index.d.ts +2 -0
  628. package/dist/site/components/SocialPlayerYoutube/index.js +6 -0
  629. package/dist/site/components/SocialPlayerYoutube/manifest.d.ts +5 -0
  630. package/dist/site/components/SocialPlayerYoutube/manifest.js +180 -0
  631. package/dist/site/components/SocialPlayerYoutube/panels/settings/extension.d.ts +4 -0
  632. package/dist/site/components/SocialPlayerYoutube/panels/settings/panel.d.ts +3 -0
  633. package/dist/site/components/SocialPlayerYoutube/sdk.d.ts +5 -0
  634. package/dist/site/components/SocialPlayerYoutube/sdk.js +75 -0
  635. package/dist/site/components/SvgImage/SvgImage.types.d.ts +50 -0
  636. package/dist/site/components/SvgImage/component.d.ts +3 -0
  637. package/dist/site/components/SvgImage/component.js +43 -0
  638. package/dist/site/components/SvgImage/component.preview.d.ts +10 -0
  639. package/dist/site/components/SvgImage/components/SvgImageBase.d.ts +4 -0
  640. package/dist/site/components/SvgImage/components/SvgImageTint.d.ts +6 -0
  641. package/dist/site/components/SvgImage/components/semanticClassNames.d.ts +4 -0
  642. package/dist/site/components/SvgImage/css.css +74 -0
  643. package/dist/site/components/SvgImage/index.d.ts +2 -0
  644. package/dist/site/components/SvgImage/index.js +6 -0
  645. package/dist/site/components/SvgImage/manifest.d.ts +5 -0
  646. package/dist/site/components/SvgImage/manifest.js +219 -0
  647. package/dist/site/components/SvgImage/panels/svgColors/Shape/index.d.ts +8 -0
  648. package/dist/site/components/SvgImage/panels/svgColors/Ugc/index.d.ts +7 -0
  649. package/dist/site/components/SvgImage/panels/svgColors/VectorArt/index.d.ts +9 -0
  650. package/dist/site/components/SvgImage/panels/svgColors/common/OpacitySlider.d.ts +7 -0
  651. package/dist/site/components/SvgImage/panels/svgColors/common/ResetColorsButton.d.ts +7 -0
  652. package/dist/site/components/SvgImage/panels/svgColors/extension.d.ts +4 -0
  653. package/dist/site/components/SvgImage/panels/svgColors/panel.d.ts +3 -0
  654. package/dist/site/components/SvgImage/panels/svgColors/translations/consts.d.ts +8 -0
  655. package/dist/site/components/SvgImage/panels/svgColors/utils.d.ts +9 -0
  656. package/dist/site/components/SvgImage/sdk.d.ts +6 -0
  657. package/dist/site/components/SvgImage/sdk.js +47 -0
  658. package/dist/site/components/SvgImage/utils.d.ts +13 -0
  659. package/dist/site/components/Tabs/Tabs.d.ts +34 -0
  660. package/dist/site/components/Tabs/component.d.ts +1 -0
  661. package/dist/site/components/Tabs/component.js +532 -0
  662. package/dist/site/components/Tabs/component.preview.d.ts +5 -0
  663. package/dist/site/components/Tabs/components/ScrollControls/ScrollControls.d.ts +11 -0
  664. package/dist/site/components/Tabs/constants.d.ts +28 -0
  665. package/dist/site/components/Tabs/css.css +286 -0
  666. package/dist/site/components/Tabs/hooks/useOverflowBehavior.d.ts +1 -0
  667. package/dist/site/components/Tabs/hooks/useResolvedDirection.d.ts +2 -0
  668. package/dist/site/components/Tabs/hooks/useTabsKeyboardNavigation.d.ts +16 -0
  669. package/dist/site/components/Tabs/hooks/useTabsScroll.d.ts +16 -0
  670. package/dist/site/components/Tabs/hooks/useTabsTransition.d.ts +10 -0
  671. package/dist/site/components/Tabs/index.d.ts +2 -0
  672. package/dist/site/components/Tabs/index.js +6 -0
  673. package/dist/site/components/Tabs/manifest.d.ts +5 -0
  674. package/dist/site/components/Tabs/manifest.js +668 -0
  675. package/dist/site/components/Tabs/utils/createTabsA11yIds.d.ts +8 -0
  676. package/dist/site/components/Tabs/utils/scrollTabs.d.ts +4 -0
  677. package/dist/site/components/TestComp/TestComp.d.ts +59 -0
  678. package/dist/site/components/TestComp/TestComp.semanticClassNames.d.ts +7 -0
  679. package/dist/site/components/TestComp/component.d.ts +3 -0
  680. package/dist/site/components/TestComp/component.js +205 -0
  681. package/dist/site/components/TestComp/constants.d.ts +20 -0
  682. package/dist/site/components/TestComp/css.css +208 -0
  683. package/dist/site/components/TestComp/index.d.ts +2 -0
  684. package/dist/site/components/TestComp/index.js +6 -0
  685. package/dist/site/components/TestComp/manifest.d.ts +5 -0
  686. package/dist/site/components/TestComp/manifest.js +606 -0
  687. package/dist/site/components/TextEffects3d/component.d.ts +5 -0
  688. package/dist/site/components/TextEffects3d/component.js +76 -0
  689. package/dist/site/components/TextEffects3d/components/TextEffects3d.d.ts +5 -0
  690. package/dist/site/components/TextEffects3d/constants.d.ts +56 -0
  691. package/dist/site/components/TextEffects3d/css.css +2393 -0
  692. package/dist/site/components/TextEffects3d/index.d.ts +2 -0
  693. package/dist/site/components/TextEffects3d/index.js +6 -0
  694. package/dist/site/components/TextEffects3d/manifest.d.ts +5 -0
  695. package/dist/site/components/TextEffects3d/manifest.js +115 -0
  696. package/dist/site/components/TextEffects3d/panels/patterns/extension.d.ts +4 -0
  697. package/dist/site/components/TextEffects3d/panels/patterns/panel.d.ts +2 -0
  698. package/dist/site/components/TextEffectsBauhaus/component.d.ts +5 -0
  699. package/dist/site/components/TextEffectsBauhaus/component.js +78 -0
  700. package/dist/site/components/TextEffectsBauhaus/components/TextEffectsBauhaus.d.ts +5 -0
  701. package/dist/site/components/TextEffectsBauhaus/constants.d.ts +52 -0
  702. package/dist/site/components/TextEffectsBauhaus/css.css +2416 -0
  703. package/dist/site/components/TextEffectsBauhaus/index.d.ts +2 -0
  704. package/dist/site/components/TextEffectsBauhaus/index.js +6 -0
  705. package/dist/site/components/TextEffectsBauhaus/manifest.d.ts +5 -0
  706. package/dist/site/components/TextEffectsBauhaus/manifest.js +114 -0
  707. package/dist/site/components/TextEffectsBauhaus/panels/patterns/extension.d.ts +4 -0
  708. package/dist/site/components/TextEffectsBauhaus/panels/patterns/panel.d.ts +2 -0
  709. package/dist/site/components/TextEffectsGlass/TextEffectsGlass.types.d.ts +1 -0
  710. package/dist/site/components/TextEffectsGlass/component.d.ts +5 -0
  711. package/dist/site/components/TextEffectsGlass/component.js +119 -0
  712. package/dist/site/components/TextEffectsGlass/components/TextEffectsGlass.d.ts +5 -0
  713. package/dist/site/components/TextEffectsGlass/constants.d.ts +58 -0
  714. package/dist/site/components/TextEffectsGlass/css.css +2414 -0
  715. package/dist/site/components/TextEffectsGlass/index.d.ts +2 -0
  716. package/dist/site/components/TextEffectsGlass/index.js +6 -0
  717. package/dist/site/components/TextEffectsGlass/manifest.d.ts +5 -0
  718. package/dist/site/components/TextEffectsGlass/manifest.js +117 -0
  719. package/dist/site/components/TextEffectsGlass/panels/patterns/extension.d.ts +4 -0
  720. package/dist/site/components/TextEffectsGlass/panels/patterns/panel.d.ts +2 -0
  721. package/dist/site/components/TextEffectsGlitch/component.d.ts +5 -0
  722. package/dist/site/components/TextEffectsGlitch/component.js +72 -0
  723. package/dist/site/components/TextEffectsGlitch/components/TextEffectsGlitch.d.ts +5 -0
  724. package/dist/site/components/TextEffectsGlitch/constants.d.ts +54 -0
  725. package/dist/site/components/TextEffectsGlitch/css.css +2476 -0
  726. package/dist/site/components/TextEffectsGlitch/index.d.ts +2 -0
  727. package/dist/site/components/TextEffectsGlitch/index.js +6 -0
  728. package/dist/site/components/TextEffectsGlitch/manifest.d.ts +5 -0
  729. package/dist/site/components/TextEffectsGlitch/manifest.js +149 -0
  730. package/dist/site/components/TextEffectsGlitch/panels/patterns/extension.d.ts +4 -0
  731. package/dist/site/components/TextEffectsGlitch/panels/patterns/panel.d.ts +2 -0
  732. package/dist/site/components/TextEffectsLetterPress/component.d.ts +5 -0
  733. package/dist/site/components/TextEffectsLetterPress/component.js +86 -0
  734. package/dist/site/components/TextEffectsLetterPress/components/TextEffectsLetterPress.d.ts +5 -0
  735. package/dist/site/components/TextEffectsLetterPress/constants.d.ts +50 -0
  736. package/dist/site/components/TextEffectsLetterPress/css.css +2415 -0
  737. package/dist/site/components/TextEffectsLetterPress/index.d.ts +2 -0
  738. package/dist/site/components/TextEffectsLetterPress/index.js +6 -0
  739. package/dist/site/components/TextEffectsLetterPress/manifest.d.ts +5 -0
  740. package/dist/site/components/TextEffectsLetterPress/manifest.js +104 -0
  741. package/dist/site/components/TextEffectsLetterPress/panels/patterns/extension.d.ts +4 -0
  742. package/dist/site/components/TextEffectsLetterPress/panels/patterns/panel.d.ts +2 -0
  743. package/dist/site/components/TextEffectsMatrix/component.d.ts +5 -0
  744. package/dist/site/components/TextEffectsMatrix/component.js +83 -0
  745. package/dist/site/components/TextEffectsMatrix/components/TextEffectsMatrix.d.ts +5 -0
  746. package/dist/site/components/TextEffectsMatrix/constants.d.ts +52 -0
  747. package/dist/site/components/TextEffectsMatrix/css.css +2428 -0
  748. package/dist/site/components/TextEffectsMatrix/index.d.ts +2 -0
  749. package/dist/site/components/TextEffectsMatrix/index.js +6 -0
  750. package/dist/site/components/TextEffectsMatrix/manifest.d.ts +5 -0
  751. package/dist/site/components/TextEffectsMatrix/manifest.js +140 -0
  752. package/dist/site/components/TextEffectsMatrix/panels/patterns/extension.d.ts +4 -0
  753. package/dist/site/components/TextEffectsMatrix/panels/patterns/panel.d.ts +2 -0
  754. package/dist/site/components/TextEffectsNeonSign/component.d.ts +5 -0
  755. package/dist/site/components/TextEffectsNeonSign/component.js +69 -0
  756. package/dist/site/components/TextEffectsNeonSign/components/TextEffectsNeonSign.d.ts +5 -0
  757. package/dist/site/components/TextEffectsNeonSign/constants.d.ts +52 -0
  758. package/dist/site/components/TextEffectsNeonSign/css.css +2453 -0
  759. package/dist/site/components/TextEffectsNeonSign/index.d.ts +2 -0
  760. package/dist/site/components/TextEffectsNeonSign/index.js +6 -0
  761. package/dist/site/components/TextEffectsNeonSign/manifest.d.ts +5 -0
  762. package/dist/site/components/TextEffectsNeonSign/manifest.js +133 -0
  763. package/dist/site/components/TextEffectsNeonSign/panels/patterns/extension.d.ts +4 -0
  764. package/dist/site/components/TextEffectsNeonSign/panels/patterns/panel.d.ts +2 -0
  765. package/dist/site/components/TextEffectsNoisy/component.d.ts +5 -0
  766. package/dist/site/components/TextEffectsNoisy/component.js +92 -0
  767. package/dist/site/components/TextEffectsNoisy/components/TextEffectsNoisy.d.ts +5 -0
  768. package/dist/site/components/TextEffectsNoisy/constants.d.ts +53 -0
  769. package/dist/site/components/TextEffectsNoisy/css.css +2381 -0
  770. package/dist/site/components/TextEffectsNoisy/index.d.ts +2 -0
  771. package/dist/site/components/TextEffectsNoisy/index.js +6 -0
  772. package/dist/site/components/TextEffectsNoisy/manifest.d.ts +5 -0
  773. package/dist/site/components/TextEffectsNoisy/manifest.js +90 -0
  774. package/dist/site/components/TextEffectsNoisy/panels/patterns/extension.d.ts +4 -0
  775. package/dist/site/components/TextEffectsNoisy/panels/patterns/panel.d.ts +2 -0
  776. package/dist/site/components/TextEffectsOutlineOut/component.d.ts +5 -0
  777. package/dist/site/components/TextEffectsOutlineOut/component.js +141 -0
  778. package/dist/site/components/TextEffectsOutlineOut/components/TextEffectsOutlineOut.d.ts +5 -0
  779. package/dist/site/components/TextEffectsOutlineOut/constants.d.ts +55 -0
  780. package/dist/site/components/TextEffectsOutlineOut/css.css +2409 -0
  781. package/dist/site/components/TextEffectsOutlineOut/index.d.ts +2 -0
  782. package/dist/site/components/TextEffectsOutlineOut/index.js +6 -0
  783. package/dist/site/components/TextEffectsOutlineOut/manifest.d.ts +5 -0
  784. package/dist/site/components/TextEffectsOutlineOut/manifest.js +195 -0
  785. package/dist/site/components/TextEffectsOutlineOut/panels/patterns/extension.d.ts +4 -0
  786. package/dist/site/components/TextEffectsOutlineOut/panels/patterns/panel.d.ts +2 -0
  787. package/dist/site/components/TextEffectsRetro/component.d.ts +5 -0
  788. package/dist/site/components/TextEffectsRetro/component.js +107 -0
  789. package/dist/site/components/TextEffectsRetro/components/TextEffectsRetro.d.ts +5 -0
  790. package/dist/site/components/TextEffectsRetro/constants.d.ts +56 -0
  791. package/dist/site/components/TextEffectsRetro/css.css +2514 -0
  792. package/dist/site/components/TextEffectsRetro/index.d.ts +2 -0
  793. package/dist/site/components/TextEffectsRetro/index.js +6 -0
  794. package/dist/site/components/TextEffectsRetro/manifest.d.ts +5 -0
  795. package/dist/site/components/TextEffectsRetro/manifest.js +156 -0
  796. package/dist/site/components/TextEffectsRetro/panels/patterns/extension.d.ts +4 -0
  797. package/dist/site/components/TextEffectsRetro/panels/patterns/panel.d.ts +2 -0
  798. package/dist/site/components/TextEffectsShared/Link.d.ts +1 -0
  799. package/dist/site/components/TextEffectsShared/TextEffectsShared.semanticClassNames.d.ts +4 -0
  800. package/dist/site/components/TextEffectsShared/TextEffectsShared.types.d.ts +52 -0
  801. package/dist/site/components/TextEffectsShared/components/TextEffectsShared.d.ts +4 -0
  802. package/dist/site/components/TextEffectsShared/components/patterns/PatternLine.d.ts +7 -0
  803. package/dist/site/components/TextEffectsShared/components/patterns/PatternUnit.d.ts +11 -0
  804. package/dist/site/components/TextEffectsShared/components/patterns/Patterns.d.ts +14 -0
  805. package/dist/site/components/TextEffectsShared/components/patterns/index.d.ts +4 -0
  806. package/dist/site/components/TextEffectsShared/components/patterns/usePatterns.d.ts +14 -0
  807. package/dist/site/components/TextEffectsShared/components/stringParser/index.d.ts +2 -0
  808. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/index.d.ts +2 -0
  809. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/parseGrapheme.d.ts +58 -0
  810. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/parseWord.d.ts +77 -0
  811. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/types.d.ts +22 -0
  812. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/utils/constants.d.ts +8 -0
  813. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/utils/isVisibleSegment.d.ts +1 -0
  814. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/utils/level-utils.d.ts +2 -0
  815. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/utils/text-splitting.d.ts +1 -0
  816. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/word-parsing-phases/character-analysis.d.ts +11 -0
  817. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/word-parsing-phases/character-mirroring.d.ts +8 -0
  818. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/word-parsing-phases/flattening.d.ts +8 -0
  819. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/word-parsing-phases/neutral-resolution.d.ts +8 -0
  820. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/word-parsing-phases/run-grouping.d.ts +8 -0
  821. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/word-parsing-phases/run-reordering.d.ts +8 -0
  822. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/word-parsing-phases/word-directionality.d.ts +8 -0
  823. package/dist/site/components/TextEffectsShared/components/stringParser/parsers/word-parsing-phases/word-segmentation.d.ts +12 -0
  824. package/dist/site/components/TextEffectsShared/components/stringParser/stringParser.d.ts +7 -0
  825. package/dist/site/components/TextEffectsShared/components/stringParser/types.d.ts +18 -0
  826. package/dist/site/components/TextEffectsShared/components/useUniqueSvg.d.ts +5 -0
  827. package/dist/site/components/TextEffectsShared/constants.d.ts +211 -0
  828. package/dist/site/components/TextEffectsShared/manifestBase.d.ts +107 -0
  829. package/dist/site/components/TextEffectsShared/patterns/PatternsPanel.d.ts +3 -0
  830. package/dist/site/components/TextEffectsShared/patterns/PatternsSection.d.ts +4 -0
  831. package/dist/site/components/TextEffectsShared/patterns/patterns.config.d.ts +17 -0
  832. package/dist/site/components/TextEffectsShared/patterns/patterns.constants.d.ts +58 -0
  833. package/dist/site/components/TextEffectsShared/patterns/patterns.types.d.ts +96 -0
  834. package/dist/site/components/TextEffectsShared/patterns/translations/consts.d.ts +25 -0
  835. package/dist/site/components/TextEffectsShared/patterns/usePatternsDataService.d.ts +33 -0
  836. package/dist/site/components/TextEffectsShared/utils.d.ts +4 -0
  837. package/dist/site/components/TextEffectsShook/component.d.ts +5 -0
  838. package/dist/site/components/TextEffectsShook/component.js +135 -0
  839. package/dist/site/components/TextEffectsShook/components/TextEffectsShook.d.ts +5 -0
  840. package/dist/site/components/TextEffectsShook/constants.d.ts +68 -0
  841. package/dist/site/components/TextEffectsShook/css.css +2489 -0
  842. package/dist/site/components/TextEffectsShook/index.d.ts +2 -0
  843. package/dist/site/components/TextEffectsShook/index.js +6 -0
  844. package/dist/site/components/TextEffectsShook/manifest.d.ts +5 -0
  845. package/dist/site/components/TextEffectsShook/manifest.js +140 -0
  846. package/dist/site/components/TextEffectsShook/panels/patterns/extension.d.ts +4 -0
  847. package/dist/site/components/TextEffectsShook/panels/patterns/panel.d.ts +2 -0
  848. package/dist/site/components/TextEffectsSticker/component.d.ts +5 -0
  849. package/dist/site/components/TextEffectsSticker/component.js +86 -0
  850. package/dist/site/components/TextEffectsSticker/components/TextEffectsSticker.d.ts +5 -0
  851. package/dist/site/components/TextEffectsSticker/constants.d.ts +57 -0
  852. package/dist/site/components/TextEffectsSticker/css.css +2429 -0
  853. package/dist/site/components/TextEffectsSticker/index.d.ts +2 -0
  854. package/dist/site/components/TextEffectsSticker/index.js +6 -0
  855. package/dist/site/components/TextEffectsSticker/manifest.d.ts +5 -0
  856. package/dist/site/components/TextEffectsSticker/manifest.js +169 -0
  857. package/dist/site/components/TextEffectsSticker/panels/patterns/extension.d.ts +4 -0
  858. package/dist/site/components/TextEffectsSticker/panels/patterns/panel.d.ts +2 -0
  859. package/dist/site/components/TextEffectsStriped/component.d.ts +5 -0
  860. package/dist/site/components/TextEffectsStriped/component.js +58 -0
  861. package/dist/site/components/TextEffectsStriped/components/TextEffectsStriped.d.ts +5 -0
  862. package/dist/site/components/TextEffectsStriped/constants.d.ts +55 -0
  863. package/dist/site/components/TextEffectsStriped/css.css +117 -0
  864. package/dist/site/components/TextEffectsStriped/index.d.ts +2 -0
  865. package/dist/site/components/TextEffectsStriped/index.js +6 -0
  866. package/dist/site/components/TextEffectsStriped/manifest.d.ts +5 -0
  867. package/dist/site/components/TextEffectsStriped/manifest.js +125 -0
  868. package/dist/site/components/TextInput/TextInput.d.ts +8 -0
  869. package/dist/site/components/TextInput/TextInput.types.d.ts +108 -0
  870. package/dist/site/components/TextInput/TextInput.viewer.constants.d.ts +24 -0
  871. package/dist/site/components/TextInput/component.d.ts +1 -0
  872. package/dist/site/components/TextInput/component.js +1164 -0
  873. package/dist/site/components/TextInput/constants.d.ts +52 -0
  874. package/dist/site/components/TextInput/css.css +168 -0
  875. package/dist/site/components/TextInput/index.d.ts +2 -0
  876. package/dist/site/components/TextInput/index.js +6 -0
  877. package/dist/site/components/TextInput/manifest.d.ts +5 -0
  878. package/dist/site/components/TextInput/manifest.js +503 -0
  879. package/dist/site/components/TextInput/sdk.d.ts +4 -0
  880. package/dist/site/components/TextInput/sdk.js +92 -0
  881. package/dist/site/components/TextInput/utils.d.ts +9 -0
  882. package/dist/site/components/TextMarquee/TextMarquee.semanticClassNames.d.ts +5 -0
  883. package/dist/site/components/TextMarquee/TextMarquee.types.d.ts +53 -0
  884. package/dist/site/components/TextMarquee/component.d.ts +5 -0
  885. package/dist/site/components/TextMarquee/component.js +410 -0
  886. package/dist/site/components/TextMarquee/component.preview.d.ts +5 -0
  887. package/dist/site/components/TextMarquee/components/DomStoreSvg.d.ts +5 -0
  888. package/dist/site/components/TextMarquee/components/PlayPauseButton.d.ts +11 -0
  889. package/dist/site/components/TextMarquee/components/TextMarquee.d.ts +4 -0
  890. package/dist/site/components/TextMarquee/components/constants.d.ts +6 -0
  891. package/dist/site/components/TextMarquee/consts.d.ts +24 -0
  892. package/dist/site/components/TextMarquee/css.css +171 -0
  893. package/dist/site/components/TextMarquee/index.d.ts +2 -0
  894. package/dist/site/components/TextMarquee/index.js +6 -0
  895. package/dist/site/components/TextMarquee/manifest.d.ts +5 -0
  896. package/dist/site/components/TextMarquee/manifest.js +181 -0
  897. package/dist/site/components/TextMarquee/panels/SeparatorPanel/index.d.ts +11 -0
  898. package/dist/site/components/TextMarquee/panels/SeparatorPanel/translations/consts.d.ts +12 -0
  899. package/dist/site/components/TextMarquee/panels/bi/events.d.ts +4 -0
  900. package/dist/site/components/TextMarquee/panels/bi/utils.d.ts +7 -0
  901. package/dist/site/components/TextMarquee/panels/common/ColorAndOpacityPicker.d.ts +11 -0
  902. package/dist/site/components/TextMarquee/panels/common/ShapeSizeSlider.d.ts +10 -0
  903. package/dist/site/components/TextMarquee/panels/common/SvgMediaPicker.d.ts +12 -0
  904. package/dist/site/components/TextMarquee/panels/common/types.d.ts +23 -0
  905. package/dist/site/components/TextMarquee/panels/extension.d.ts +4 -0
  906. package/dist/site/components/TextMarquee/panels/panel.d.ts +3 -0
  907. package/dist/site/components/TextMarquee/sdk.d.ts +30 -0
  908. package/dist/site/components/TextMarquee/sdk.js +87 -0
  909. package/dist/site/components/TextMarquee/utils.d.ts +1 -0
  910. package/dist/site/components/TransparentVideo/TransparentVideo.types.d.ts +49 -0
  911. package/dist/site/components/TransparentVideo/assets/MutedIcon.d.ts +2 -0
  912. package/dist/site/components/TransparentVideo/assets/NoneThumbnailIcon.d.ts +2 -0
  913. package/dist/site/components/TransparentVideo/assets/PauseIcon.d.ts +2 -0
  914. package/dist/site/components/TransparentVideo/assets/PlayIcon.d.ts +2 -0
  915. package/dist/site/components/TransparentVideo/assets/UnMutedIcon.d.ts +2 -0
  916. package/dist/site/components/TransparentVideo/component.d.ts +4 -0
  917. package/dist/site/components/TransparentVideo/component.js +3613 -0
  918. package/dist/site/components/TransparentVideo/component.preview.d.ts +5 -0
  919. package/dist/site/components/TransparentVideo/css.css +112 -0
  920. package/dist/site/components/TransparentVideo/index.d.ts +2 -0
  921. package/dist/site/components/TransparentVideo/index.js +6 -0
  922. package/dist/site/components/TransparentVideo/kampos/transparent-video.d.ts +29 -0
  923. package/dist/site/components/TransparentVideo/kampos/transparentVideoUtils.d.ts +29 -0
  924. package/dist/site/components/TransparentVideo/manifest.d.ts +5 -0
  925. package/dist/site/components/TransparentVideo/manifest.js +204 -0
  926. package/dist/site/components/TransparentVideo/panels/PanelViewCustom.d.ts +12 -0
  927. package/dist/site/components/TransparentVideo/panels/PanelViewPresets.d.ts +17 -0
  928. package/dist/site/components/TransparentVideo/panels/RangeInput.d.ts +13 -0
  929. package/dist/site/components/TransparentVideo/panels/bi/utils.d.ts +2 -0
  930. package/dist/site/components/TransparentVideo/panels/extension.d.ts +4 -0
  931. package/dist/site/components/TransparentVideo/panels/panel.d.ts +3 -0
  932. package/dist/site/components/TransparentVideo/panels/presets.d.ts +3 -0
  933. package/dist/site/components/TransparentVideo/panels/translation.d.ts +22 -0
  934. package/dist/site/components/TransparentVideo/svgFilters/svgFilters.d.ts +8 -0
  935. package/dist/site/components/TransparentVideo/svgFilters/svgFiltersParts.d.ts +16 -0
  936. package/dist/site/components/TransparentVideo/svgFilters/svgFiltersTemplates.d.ts +6 -0
  937. package/dist/site/components/TransparentVideo/svgFilters/svgPresets.d.ts +6 -0
  938. package/dist/site/components/TransparentVideo/svgFilters/typing.d.ts +67 -0
  939. package/dist/site/components/TransparentVideo/transparentVideoPoster.d.ts +9 -0
  940. package/dist/site/components/TransparentVideo/useTransparentVideo.d.ts +25 -0
  941. package/dist/site/components/TransparentVideo/utils.d.ts +8 -0
  942. package/dist/site/components/VideoUpload/VideoUpload.semanticClassNames.d.ts +5 -0
  943. package/dist/site/components/VideoUpload/VideoUpload.types.d.ts +38 -0
  944. package/dist/site/components/VideoUpload/VideoUpload.utils.d.ts +17 -0
  945. package/dist/site/components/VideoUpload/component.d.ts +3 -0
  946. package/dist/site/components/VideoUpload/component.js +2274 -0
  947. package/dist/site/components/VideoUpload/component.preview.d.ts +9 -0
  948. package/dist/site/components/VideoUpload/components/VideoUpload.d.ts +4 -0
  949. package/dist/site/components/VideoUpload/components/assets/CheckmarkIcon.d.ts +4 -0
  950. package/dist/site/components/VideoUpload/components/assets/FullscreenIcon.d.ts +4 -0
  951. package/dist/site/components/VideoUpload/components/assets/PauseIcon.d.ts +4 -0
  952. package/dist/site/components/VideoUpload/components/assets/PictureInPictureIcon.d.ts +4 -0
  953. package/dist/site/components/VideoUpload/components/assets/PlayButtonIcon.d.ts +4 -0
  954. package/dist/site/components/VideoUpload/components/assets/PlayIcon.d.ts +4 -0
  955. package/dist/site/components/VideoUpload/components/assets/PlaybackIcon.d.ts +4 -0
  956. package/dist/site/components/VideoUpload/components/assets/VolumeLoudIcon.d.ts +4 -0
  957. package/dist/site/components/VideoUpload/components/assets/VolumeMutedIcon.d.ts +4 -0
  958. package/dist/site/components/VideoUpload/components/assets/VolumeQuiteIcon.d.ts +4 -0
  959. package/dist/site/components/VideoUpload/components/components/FullscreenToggle/FullscreenToggle.d.ts +9 -0
  960. package/dist/site/components/VideoUpload/components/components/PictureInPictureToggle/PictureInPictureToggle.d.ts +8 -0
  961. package/dist/site/components/VideoUpload/components/components/PlayToggle/PlayToggle.d.ts +9 -0
  962. package/dist/site/components/VideoUpload/components/components/PlaybackControls/PlaybackControls.d.ts +27 -0
  963. package/dist/site/components/VideoUpload/components/components/PlaybackRate/PlaybackRate.d.ts +8 -0
  964. package/dist/site/components/VideoUpload/components/components/Popover/Popover.d.ts +13 -0
  965. package/dist/site/components/VideoUpload/components/components/ProgressBar/ProgressBar.d.ts +11 -0
  966. package/dist/site/components/VideoUpload/components/components/ProgressBar/ProgressBar.utils.d.ts +13 -0
  967. package/dist/site/components/VideoUpload/components/components/ProgressBar/index.d.ts +1 -0
  968. package/dist/site/components/VideoUpload/components/components/Slider/Slider.d.ts +24 -0
  969. package/dist/site/components/VideoUpload/components/components/Spinner/Spinner.d.ts +4 -0
  970. package/dist/site/components/VideoUpload/components/components/TimeDisplay/TimeDisplay.d.ts +7 -0
  971. package/dist/site/components/VideoUpload/components/components/Tooltip/Tooltip.d.ts +7 -0
  972. package/dist/site/components/VideoUpload/components/components/VolumeControl/VolumeControl.d.ts +10 -0
  973. package/dist/site/components/VideoUpload/components/components/VolumeSlider/VolumeSlider.d.ts +7 -0
  974. package/dist/site/components/VideoUpload/components/hooks/index.d.ts +1 -0
  975. package/dist/site/components/VideoUpload/components/hooks/useBuffer.d.ts +10 -0
  976. package/dist/site/components/VideoUpload/components/hooks/useElementsVisibility.d.ts +14 -0
  977. package/dist/site/components/VideoUpload/components/hooks/useFullscreen.d.ts +8 -0
  978. package/dist/site/components/VideoUpload/components/hooks/useKeyboardShortcuts.d.ts +17 -0
  979. package/dist/site/components/VideoUpload/components/hooks/usePictureInPicture.d.ts +8 -0
  980. package/dist/site/components/VideoUpload/components/hooks/usePlayback.d.ts +12 -0
  981. package/dist/site/components/VideoUpload/components/hooks/usePlaybackSettings.d.ts +5 -0
  982. package/dist/site/components/VideoUpload/components/hooks/useTimingTrap.d.ts +11 -0
  983. package/dist/site/components/VideoUpload/components/hooks/useVideoPlayer.d.ts +78 -0
  984. package/dist/site/components/VideoUpload/components/hooks/useVolume.d.ts +11 -0
  985. package/dist/site/components/VideoUpload/constants.d.ts +9 -0
  986. package/dist/site/components/VideoUpload/css.css +492 -0
  987. package/dist/site/components/VideoUpload/index.d.ts +2 -0
  988. package/dist/site/components/VideoUpload/index.js +6 -0
  989. package/dist/site/components/VideoUpload/manifest.d.ts +5 -0
  990. package/dist/site/components/VideoUpload/manifest.js +204 -0
  991. package/dist/site/components/VideoUpload/panels/CoverImagePanel/index.d.ts +3 -0
  992. package/dist/site/components/VideoUpload/panels/CoverImagePanel/translations/consts.d.ts +6 -0
  993. package/dist/site/components/VideoUpload/panels/common/PosterGrid.d.ts +12 -0
  994. package/dist/site/components/VideoUpload/panels/common/PosterSlot.d.ts +11 -0
  995. package/dist/site/components/VideoUpload/panels/common/posterHandlers.d.ts +9 -0
  996. package/dist/site/components/VideoUpload/panels/common/test-utils.d.ts +15 -0
  997. package/dist/site/components/VideoUpload/panels/common/types.d.ts +30 -0
  998. package/dist/site/components/VideoUpload/panels/common/usePosterData.d.ts +5 -0
  999. package/dist/site/components/VideoUpload/panels/common/utils.d.ts +46 -0
  1000. package/dist/site/components/VideoUpload/panels/extension.d.ts +4 -0
  1001. package/dist/site/components/VideoUpload/panels/panel.d.ts +2 -0
  1002. package/dist/site/components/VideoUpload/sdk.d.ts +4 -0
  1003. package/dist/site/components/VideoUpload/sdk.js +761 -0
  1004. package/dist/site/components/WRichText/WRichText.semanticClassNames.d.ts +5 -0
  1005. package/dist/site/components/WRichText/WRichText.types.d.ts +48 -0
  1006. package/dist/site/components/WRichText/component.d.ts +4 -0
  1007. package/dist/site/components/WRichText/component.js +224 -0
  1008. package/dist/site/components/WRichText/components/WRichText.d.ts +4 -0
  1009. package/dist/site/components/WRichText/components/providers/usePopupLinkEvents/index.d.ts +6 -0
  1010. package/dist/site/components/WRichText/constants.d.ts +11 -0
  1011. package/dist/site/components/WRichText/css.css +407 -0
  1012. package/dist/site/components/WRichText/index.d.ts +2 -0
  1013. package/dist/site/components/WRichText/index.js +6 -0
  1014. package/dist/site/components/WRichText/manifest.d.ts +5 -0
  1015. package/dist/site/components/WRichText/manifest.js +165 -0
  1016. package/dist/site/components/WRichText/sdk.d.ts +5 -0
  1017. package/dist/site/components/WRichText/sdk.js +581 -0
  1018. package/dist/site/components/WRichText/utils/applyTransformationForGetHtml.d.ts +8 -0
  1019. package/dist/site/components/WRichText/utils/convertLinkProperties.d.ts +2 -0
  1020. package/dist/site/components/WRichText/utils/decodeHtmlEntities.d.ts +2 -0
  1021. package/dist/site/components/WRichText/utils/escape.d.ts +28 -0
  1022. package/dist/site/components/WRichText/utils/flow.d.ts +1 -0
  1023. package/dist/site/components/WRichText/utils/htmlEntitiesMap.d.ts +29 -0
  1024. package/dist/site/components/WRichText/utils/htmlParser.d.ts +15 -0
  1025. package/dist/site/components/WRichText/utils/index.d.ts +9 -0
  1026. package/dist/site/components/WRichText/utils/insertIntoDOMNode.d.ts +11 -0
  1027. package/dist/site/components/WRichText/utils/namedReferenceRegex.d.ts +2 -0
  1028. package/dist/site/components/WRichText/utils/numericEntitiesMap.d.ts +31 -0
  1029. package/dist/site/components/WRichText/utils/removeWixGuard.d.ts +1 -0
  1030. package/dist/site/components/WRichText/utils/stripImpliedLinks.d.ts +1 -0
  1031. package/dist/site/components/WRichText/utils/unescape.d.ts +19 -0
  1032. package/dist/site/components/chunks/AnimatedIcon.js +155 -0
  1033. package/dist/site/components/chunks/Button.js +328 -0
  1034. package/dist/site/components/chunks/Button.types.js +7 -0
  1035. package/dist/site/components/chunks/Group.js +1317 -0
  1036. package/dist/site/components/chunks/I18nProvider.js +95 -0
  1037. package/dist/site/components/chunks/Image.js +159 -0
  1038. package/dist/site/components/chunks/Link.js +127 -0
  1039. package/dist/site/components/chunks/LinkSdk.js +31 -0
  1040. package/dist/site/components/chunks/Patterns.js +1243 -0
  1041. package/dist/site/components/chunks/ResponsiveBox.js +150 -0
  1042. package/dist/site/components/chunks/ResponsiveContainer.js +77 -0
  1043. package/dist/site/components/chunks/Slideshow.semanticClassNames.js +144 -0
  1044. package/dist/site/components/chunks/SvgImageTint.js +201 -0
  1045. package/dist/site/components/chunks/TextEffectsShared.js +112 -0
  1046. package/dist/site/components/chunks/TransparentVideo.types.js +32 -0
  1047. package/dist/site/components/chunks/Video.js +477 -0
  1048. package/dist/site/components/chunks/_commonjsHelpers.js +8 -0
  1049. package/dist/site/components/chunks/a11y.js +120 -0
  1050. package/dist/site/components/chunks/a11ySdk.js +18 -0
  1051. package/dist/site/components/chunks/assert.js +73 -0
  1052. package/dist/site/components/chunks/basePropsSDKFactory.js +41 -0
  1053. package/dist/site/components/chunks/childrenPropsSDKFactory.js +10 -0
  1054. package/dist/site/components/chunks/chunk-JPMZBG44.js +5592 -0
  1055. package/dist/site/components/chunks/classNames.js +17 -0
  1056. package/dist/site/components/chunks/clsx.js +14 -0
  1057. package/dist/site/components/chunks/composeSDKFactories.js +29 -0
  1058. package/dist/site/components/chunks/constants.js +19 -0
  1059. package/dist/site/components/chunks/constants10.js +26 -0
  1060. package/dist/site/components/chunks/constants11.js +24 -0
  1061. package/dist/site/components/chunks/constants12.js +28 -0
  1062. package/dist/site/components/chunks/constants13.js +31 -0
  1063. package/dist/site/components/chunks/constants14.js +26 -0
  1064. package/dist/site/components/chunks/constants15.js +28 -0
  1065. package/dist/site/components/chunks/constants16.js +24 -0
  1066. package/dist/site/components/chunks/constants17.js +59 -0
  1067. package/dist/site/components/chunks/constants18.js +61 -0
  1068. package/dist/site/components/chunks/constants19.js +310 -0
  1069. package/dist/site/components/chunks/constants2.js +22 -0
  1070. package/dist/site/components/chunks/constants20.js +48 -0
  1071. package/dist/site/components/chunks/constants21.js +37 -0
  1072. package/dist/site/components/chunks/constants22.js +22 -0
  1073. package/dist/site/components/chunks/constants23.js +408 -0
  1074. package/dist/site/components/chunks/constants24.js +88 -0
  1075. package/dist/site/components/chunks/constants25.js +23 -0
  1076. package/dist/site/components/chunks/constants26.js +54 -0
  1077. package/dist/site/components/chunks/constants27.js +33 -0
  1078. package/dist/site/components/chunks/constants28.js +15 -0
  1079. package/dist/site/components/chunks/constants29.js +69 -0
  1080. package/dist/site/components/chunks/constants3.js +31 -0
  1081. package/dist/site/components/chunks/constants30.js +87 -0
  1082. package/dist/site/components/chunks/constants31.js +91 -0
  1083. package/dist/site/components/chunks/constants32.js +72 -0
  1084. package/dist/site/components/chunks/constants4.js +31 -0
  1085. package/dist/site/components/chunks/constants5.js +30 -0
  1086. package/dist/site/components/chunks/constants6.js +30 -0
  1087. package/dist/site/components/chunks/constants7.js +73 -0
  1088. package/dist/site/components/chunks/constants8.js +28 -0
  1089. package/dist/site/components/chunks/constants9.js +26 -0
  1090. package/dist/site/components/chunks/consts.js +98 -0
  1091. package/dist/site/components/chunks/corvidEvents.js +666 -0
  1092. package/dist/site/components/chunks/createCorvidModel.js +767 -0
  1093. package/dist/site/components/chunks/customElementInit.js +644 -0
  1094. package/dist/site/components/chunks/dataUtils.js +39 -0
  1095. package/dist/site/components/chunks/direction.module.js +7 -0
  1096. package/dist/site/components/chunks/elementPropsSDKFactory.js +984 -0
  1097. package/dist/site/components/chunks/elementSdk.js +29 -0
  1098. package/dist/site/components/chunks/filterDOMProps.js +479 -0
  1099. package/dist/site/components/chunks/hls.js +31861 -0
  1100. package/dist/site/components/chunks/index.js +54 -0
  1101. package/dist/site/components/chunks/index10.js +54 -0
  1102. package/dist/site/components/chunks/index11.js +16 -0
  1103. package/dist/site/components/chunks/index12.js +6 -0
  1104. package/dist/site/components/chunks/index2.js +5 -0
  1105. package/dist/site/components/chunks/index3.js +1465 -0
  1106. package/dist/site/components/chunks/index4.js +2372 -0
  1107. package/dist/site/components/chunks/index5.js +16 -0
  1108. package/dist/site/components/chunks/index6.js +15 -0
  1109. package/dist/site/components/chunks/index7.js +24 -0
  1110. package/dist/site/components/chunks/index8.js +69 -0
  1111. package/dist/site/components/chunks/index9.js +2023 -0
  1112. package/dist/site/components/chunks/isObjectLike.js +119 -0
  1113. package/dist/site/components/chunks/manifest.js +8 -0
  1114. package/dist/site/components/chunks/manifestBase.js +152 -0
  1115. package/dist/site/components/chunks/manifestSdkMixins.js +80 -0
  1116. package/dist/site/components/chunks/mediaSrcHandler.js +324 -0
  1117. package/dist/site/components/chunks/messages.js +419 -0
  1118. package/dist/site/components/chunks/parseHtml.js +11 -0
  1119. package/dist/site/components/chunks/parseSvg.js +12 -0
  1120. package/dist/site/components/chunks/performanceUtils.js +33 -0
  1121. package/dist/site/components/chunks/presetWrapper.module.js +7 -0
  1122. package/dist/site/components/chunks/reporters.js +12 -0
  1123. package/dist/site/components/chunks/sanitizeHTML.js +1381 -0
  1124. package/dist/site/components/chunks/specs.js +4 -0
  1125. package/dist/site/components/chunks/stylePropsSDKFactory.js +828 -0
  1126. package/dist/site/components/chunks/svg.js +98 -0
  1127. package/dist/site/components/chunks/types.impl.js +2934 -0
  1128. package/dist/site/components/chunks/useConsentPolicyProps.js +2356 -0
  1129. package/dist/site/components/chunks/useResizeObserver.js +22 -0
  1130. package/dist/site/components/chunks/useUniqueSvg.js +48 -0
  1131. package/dist/site/components/chunks/utils.js +11 -0
  1132. package/dist/site/components/chunks/utils2.js +302 -0
  1133. package/dist/site/components/extensions.d.ts +6 -0
  1134. package/dist/site/components/extensions.js +587 -0
  1135. package/package.json +187 -0
@@ -0,0 +1,4757 @@
1
+ var __typeError = (msg) => {
2
+ throw TypeError(msg);
3
+ };
4
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
5
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
6
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
7
+ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
8
+ var _shouldStopPropagation;
9
+ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
10
+ import * as React from "react";
11
+ import React__default, { useState, useRef, useCallback, useMemo, useEffect, useContext, createContext, forwardRef, useSyncExternalStore } from "react";
12
+ import { c as clsx } from "../chunks/clsx.js";
13
+ import { useService } from "@wix/services-manager-react";
14
+ import { d as definitionExports } from "../chunks/index2.js";
15
+ import { f as convertA11yKeysToHtmlFormat } from "../chunks/a11y.js";
16
+ import { d as directionStyles } from "../chunks/direction.module.js";
17
+ import Image3 from "../Image3/component.js";
18
+ import { A as ARIA_LABELS, s as selectors, d as dataDefaults } from "../chunks/constants31.js";
19
+ import { c as commonjsGlobal } from "../chunks/_commonjsHelpers.js";
20
+ import { $ as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f, a as $f39a9eba43920ace$export$86427a43e3e48ebb, b as $64fa3d84918910a7$export$29f1550f4b0d4415, c as $64fa3d84918910a7$export$4d86445c2cf5e3, g as $65484d02dcb7eb3e$export$457c3d6518dd4c6f, e as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, h as $64fa3d84918910a7$export$2881499e37b75b9a, d as $64fa3d84918910a7$export$fabf2dc03a41866e } from "../chunks/filterDOMProps.js";
21
+ import { o as $2add3ce32c6007eb$export$fedb369cb70207f1, p as $d447af545b77c9f1$export$b204af158042fbac, q as $081cb5757e08788e$export$24490316f764c430, r as $d447af545b77c9f1$export$f21a1ffae260145a, s as $48a7d519b337145d$export$4eaf04e54aa8eed6, a as $fe16bffc7a557bf0$export$7f54fc3180508a52, t as $a92dc41f639950be$export$c2b7abe5d61ec696, u as $a92dc41f639950be$export$525bc4921d56d4a, v as $23f2114a1b82827e$export$4282f70798064fe0, c as $23f2114a1b82827e$export$e58f029f0fbfdb29, w as $b5c62b033c25b96d$export$29bf1b5f2c56cf63, x as $a92dc41f639950be$export$cabe61c495ee3649, y as $1969ac565cfec8d0$export$de79e2c695e052f3, z as $b5c62b033c25b96d$export$60278871457622de, f as $bbaa08b3cd72f041$export$9d1611c77c2fe928, A as $b7115c395c64f7b5$export$4debdb1a3f0fa79e, B as $caaf0dd3060ed57c$export$95185d699e05d4d7, C as $a4e76a5424781910$export$e08e3b67e392101e, D as $2add3ce32c6007eb$export$9ac100e40613ea10, h as $d1116acdf220c2da$export$4c014de7c8940b4c, E as $2c9edc598a03d523$export$420e68273165f4ec, d as $0beb20c9744a2065$export$8467354a121f1b9f, b as $8f5a2122b0992be3$export$8397ddfc504fdb9a, F as $8296dad1a4c5e0dc$export$8f71654801c2f7cd, i as $3274bf1495747a7b$export$5add1d006293d136, k as $0c4a58759813079a$export$4e328f61c538687f, j as $e969f22b6713ca4a$export$ae780daf29e6d456, G as $390e54f620492c70$export$f680877a34711e37, g as $3e6197669829fe11$export$40bfa8c7b0832715, l as $01b77f81d0f07f68$export$75b6ee27786ba447, H as $a049562f99e7db0e$export$eb2fcfdbd7ba97d4 } from "../chunks/Group.js";
22
+ import { flushSync } from "react-dom";
23
+ import { $ as $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7 } from "../chunks/I18nProvider.js";
24
+ const PauseFilled = ({ size, ...props }) => /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 24 24", fill: "currentColor", width: size || "24", height: size || "24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M9.5,7 C10.3284271,7 11,7.67157288 11,8.5 L11,15.5 C11,16.3284271 10.3284271,17 9.5,17 C8.67157288,17 8,16.3284271 8,15.5 L8,8.5 C8,7.67157288 8.67157288,7 9.5,7 Z M14.5,7 C15.3284271,7 16,7.67157288 16,8.5 L16,15.5 C16,16.3284271 15.3284271,17 14.5,17 C13.6715729,17 13,16.3284271 13,15.5 L13,8.5 C13,7.67157288 13.6715729,7 14.5,7 Z" }));
25
+ PauseFilled.displayName = "PauseFilled";
26
+ var PauseFilled_default = PauseFilled;
27
+ const PlayFilled = ({ size, ...props }) => /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 24 24", fill: "currentColor", width: size || "24", height: size || "24", ...props }, /* @__PURE__ */ React.createElement("path", { d: "M8.26582096,6.80664662 L16.1774936,11.1221044 C16.6623419,11.3865672 16.8409998,11.9940038 16.5765371,12.4788521 C16.4845917,12.6474186 16.3460601,12.7859502 16.1774936,12.8778956 L8.26582096,17.1933534 C7.78097262,17.4578161 7.17353598,17.2791583 6.90907325,16.7943099 C6.8289522,16.6474213 6.78696883,16.4827768 6.78696883,16.3154578 L6.78696883,7.68454219 C6.78696883,7.13225744 7.23468408,6.68454219 7.78696883,6.68454219 C7.95428782,6.68454219 8.11893236,6.72652556 8.26582096,6.80664662 Z" }));
28
+ PlayFilled.displayName = "PlayFilled";
29
+ var PlayFilled_default = PlayFilled;
30
+ const $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY = 7e3;
31
+ let $319e236875307eab$var$liveAnnouncer = null;
32
+ function $319e236875307eab$export$a9b970dcc4ae71a9(message, assertiveness = "assertive", timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {
33
+ if (!$319e236875307eab$var$liveAnnouncer) {
34
+ $319e236875307eab$var$liveAnnouncer = new $319e236875307eab$var$LiveAnnouncer();
35
+ if (!(typeof IS_REACT_ACT_ENVIRONMENT === "boolean" ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== "undefined")) setTimeout(() => {
36
+ if ($319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.isAttached()) $319e236875307eab$var$liveAnnouncer === null || $319e236875307eab$var$liveAnnouncer === void 0 ? void 0 : $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
37
+ }, 100);
38
+ else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
39
+ } else $319e236875307eab$var$liveAnnouncer.announce(message, assertiveness, timeout);
40
+ }
41
+ class $319e236875307eab$var$LiveAnnouncer {
42
+ isAttached() {
43
+ var _this_node;
44
+ return (_this_node = this.node) === null || _this_node === void 0 ? void 0 : _this_node.isConnected;
45
+ }
46
+ createLog(ariaLive) {
47
+ let node = document.createElement("div");
48
+ node.setAttribute("role", "log");
49
+ node.setAttribute("aria-live", ariaLive);
50
+ node.setAttribute("aria-relevant", "additions");
51
+ return node;
52
+ }
53
+ destroy() {
54
+ if (!this.node) return;
55
+ document.body.removeChild(this.node);
56
+ this.node = null;
57
+ }
58
+ announce(message, assertiveness = "assertive", timeout = $319e236875307eab$var$LIVEREGION_TIMEOUT_DELAY) {
59
+ var _this_assertiveLog, _this_politeLog;
60
+ if (!this.node) return;
61
+ let node = document.createElement("div");
62
+ if (typeof message === "object") {
63
+ node.setAttribute("role", "img");
64
+ node.setAttribute("aria-labelledby", message["aria-labelledby"]);
65
+ } else node.textContent = message;
66
+ if (assertiveness === "assertive") (_this_assertiveLog = this.assertiveLog) === null || _this_assertiveLog === void 0 ? void 0 : _this_assertiveLog.appendChild(node);
67
+ else (_this_politeLog = this.politeLog) === null || _this_politeLog === void 0 ? void 0 : _this_politeLog.appendChild(node);
68
+ if (message !== "") setTimeout(() => {
69
+ node.remove();
70
+ }, timeout);
71
+ }
72
+ clear(assertiveness) {
73
+ if (!this.node) return;
74
+ if ((!assertiveness || assertiveness === "assertive") && this.assertiveLog) this.assertiveLog.innerHTML = "";
75
+ if ((!assertiveness || assertiveness === "polite") && this.politeLog) this.politeLog.innerHTML = "";
76
+ }
77
+ constructor() {
78
+ this.node = null;
79
+ this.assertiveLog = null;
80
+ this.politeLog = null;
81
+ if (typeof document !== "undefined") {
82
+ this.node = document.createElement("div");
83
+ this.node.dataset.liveAnnouncer = "true";
84
+ Object.assign(this.node.style, {
85
+ border: 0,
86
+ clip: "rect(0 0 0 0)",
87
+ clipPath: "inset(50%)",
88
+ height: "1px",
89
+ margin: "-1px",
90
+ overflow: "hidden",
91
+ padding: 0,
92
+ position: "absolute",
93
+ width: "1px",
94
+ whiteSpace: "nowrap"
95
+ });
96
+ this.assertiveLog = this.createLog("assertive");
97
+ this.node.appendChild(this.assertiveLog);
98
+ this.politeLog = this.createLog("polite");
99
+ this.node.appendChild(this.politeLog);
100
+ document.body.prepend(this.node);
101
+ }
102
+ }
103
+ }
104
+ let $1dfb119a85e764e5$var$formatterCache = /* @__PURE__ */ new Map();
105
+ let $1dfb119a85e764e5$var$supportsSignDisplay = false;
106
+ try {
107
+ $1dfb119a85e764e5$var$supportsSignDisplay = new Intl.NumberFormat("de-DE", {
108
+ signDisplay: "exceptZero"
109
+ }).resolvedOptions().signDisplay === "exceptZero";
110
+ } catch {
111
+ }
112
+ let $1dfb119a85e764e5$var$supportsUnit = false;
113
+ try {
114
+ $1dfb119a85e764e5$var$supportsUnit = new Intl.NumberFormat("de-DE", {
115
+ style: "unit",
116
+ unit: "degree"
117
+ }).resolvedOptions().style === "unit";
118
+ } catch {
119
+ }
120
+ const $1dfb119a85e764e5$var$UNITS = {
121
+ degree: {
122
+ narrow: {
123
+ default: "°",
124
+ "ja-JP": " 度",
125
+ "zh-TW": "度",
126
+ "sl-SI": " °"
127
+ }
128
+ }
129
+ };
130
+ class $1dfb119a85e764e5$export$cc77c4ff7e8673c5 {
131
+ constructor(locale, options = {}) {
132
+ this.numberFormatter = $1dfb119a85e764e5$var$getCachedNumberFormatter(locale, options);
133
+ this.options = options;
134
+ }
135
+ /** Formats a number value as a string, according to the locale and options provided to the constructor. */
136
+ format(value) {
137
+ var _a;
138
+ let res = "";
139
+ if (!$1dfb119a85e764e5$var$supportsSignDisplay && this.options.signDisplay != null) res = $1dfb119a85e764e5$export$711b50b3c525e0f2(this.numberFormatter, this.options.signDisplay, value);
140
+ else res = this.numberFormatter.format(value);
141
+ if (this.options.style === "unit" && !$1dfb119a85e764e5$var$supportsUnit) {
142
+ let { unit, unitDisplay = "short", locale } = this.resolvedOptions();
143
+ if (!unit) return res;
144
+ let values = (_a = $1dfb119a85e764e5$var$UNITS[unit]) == null ? void 0 : _a[unitDisplay];
145
+ res += values[locale] || values.default;
146
+ }
147
+ return res;
148
+ }
149
+ /** Formats a number to an array of parts such as separators, digits, punctuation, and more. */
150
+ formatToParts(value) {
151
+ return this.numberFormatter.formatToParts(value);
152
+ }
153
+ /** Formats a number range as a string. */
154
+ formatRange(start, end) {
155
+ if (typeof this.numberFormatter.formatRange === "function") return this.numberFormatter.formatRange(start, end);
156
+ if (end < start) throw new RangeError("End date must be >= start date");
157
+ return `${this.format(start)} – ${this.format(end)}`;
158
+ }
159
+ /** Formats a number range as an array of parts. */
160
+ formatRangeToParts(start, end) {
161
+ if (typeof this.numberFormatter.formatRangeToParts === "function") return this.numberFormatter.formatRangeToParts(start, end);
162
+ if (end < start) throw new RangeError("End date must be >= start date");
163
+ let startParts = this.numberFormatter.formatToParts(start);
164
+ let endParts = this.numberFormatter.formatToParts(end);
165
+ return [
166
+ ...startParts.map((p2) => ({
167
+ ...p2,
168
+ source: "startRange"
169
+ })),
170
+ {
171
+ type: "literal",
172
+ value: " – ",
173
+ source: "shared"
174
+ },
175
+ ...endParts.map((p2) => ({
176
+ ...p2,
177
+ source: "endRange"
178
+ }))
179
+ ];
180
+ }
181
+ /** Returns the resolved formatting options based on the values passed to the constructor. */
182
+ resolvedOptions() {
183
+ let options = this.numberFormatter.resolvedOptions();
184
+ if (!$1dfb119a85e764e5$var$supportsSignDisplay && this.options.signDisplay != null) options = {
185
+ ...options,
186
+ signDisplay: this.options.signDisplay
187
+ };
188
+ if (!$1dfb119a85e764e5$var$supportsUnit && this.options.style === "unit") options = {
189
+ ...options,
190
+ style: "unit",
191
+ unit: this.options.unit,
192
+ unitDisplay: this.options.unitDisplay
193
+ };
194
+ return options;
195
+ }
196
+ }
197
+ function $1dfb119a85e764e5$var$getCachedNumberFormatter(locale, options = {}) {
198
+ var _a;
199
+ let { numberingSystem } = options;
200
+ if (numberingSystem && locale.includes("-nu-")) {
201
+ if (!locale.includes("-u-")) locale += "-u-";
202
+ locale += `-nu-${numberingSystem}`;
203
+ }
204
+ if (options.style === "unit" && !$1dfb119a85e764e5$var$supportsUnit) {
205
+ let { unit, unitDisplay = "short" } = options;
206
+ if (!unit) throw new Error('unit option must be provided with style: "unit"');
207
+ if (!((_a = $1dfb119a85e764e5$var$UNITS[unit]) == null ? void 0 : _a[unitDisplay])) throw new Error(`Unsupported unit ${unit} with unitDisplay = ${unitDisplay}`);
208
+ options = {
209
+ ...options,
210
+ style: "decimal"
211
+ };
212
+ }
213
+ let cacheKey = locale + (options ? Object.entries(options).sort((a, b2) => a[0] < b2[0] ? -1 : 1).join() : "");
214
+ if ($1dfb119a85e764e5$var$formatterCache.has(cacheKey)) return $1dfb119a85e764e5$var$formatterCache.get(cacheKey);
215
+ let numberFormatter = new Intl.NumberFormat(locale, options);
216
+ $1dfb119a85e764e5$var$formatterCache.set(cacheKey, numberFormatter);
217
+ return numberFormatter;
218
+ }
219
+ function $1dfb119a85e764e5$export$711b50b3c525e0f2(numberFormat, signDisplay, num) {
220
+ if (signDisplay === "auto") return numberFormat.format(num);
221
+ else if (signDisplay === "never") return numberFormat.format(Math.abs(num));
222
+ else {
223
+ let needsPositiveSign = false;
224
+ if (signDisplay === "always") needsPositiveSign = num > 0 || Object.is(num, 0);
225
+ else if (signDisplay === "exceptZero") {
226
+ if (Object.is(num, -0) || Object.is(num, 0)) num = Math.abs(num);
227
+ else needsPositiveSign = num > 0;
228
+ }
229
+ if (needsPositiveSign) {
230
+ let negative = numberFormat.format(-num);
231
+ let noSign = numberFormat.format(num);
232
+ let minus = negative.replace(noSign, "").replace(/\u200e|\u061C/, "");
233
+ if ([
234
+ ...minus
235
+ ].length !== 1) console.warn("@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case");
236
+ let positive = negative.replace(noSign, "!!!").replace(minus, "+").replace("!!!", noSign);
237
+ return positive;
238
+ } else return numberFormat.format(num);
239
+ }
240
+ }
241
+ let $cbf007e418543821$var$state = "default";
242
+ let $cbf007e418543821$var$savedUserSelect = "";
243
+ let $cbf007e418543821$var$modifiedElementMap = /* @__PURE__ */ new WeakMap();
244
+ function $cbf007e418543821$export$16a4697467175487(target) {
245
+ if ($2add3ce32c6007eb$export$fedb369cb70207f1()) {
246
+ if ($cbf007e418543821$var$state === "default") {
247
+ const documentObject = $d447af545b77c9f1$export$b204af158042fbac(target);
248
+ $cbf007e418543821$var$savedUserSelect = documentObject.documentElement.style.webkitUserSelect;
249
+ documentObject.documentElement.style.webkitUserSelect = "none";
250
+ }
251
+ $cbf007e418543821$var$state = "disabled";
252
+ } else if (target instanceof HTMLElement || target instanceof SVGElement) {
253
+ let property = "userSelect" in target.style ? "userSelect" : "webkitUserSelect";
254
+ $cbf007e418543821$var$modifiedElementMap.set(target, target.style[property]);
255
+ target.style[property] = "none";
256
+ }
257
+ }
258
+ function $cbf007e418543821$export$b0d6fa1ab32e3295(target) {
259
+ if ($2add3ce32c6007eb$export$fedb369cb70207f1()) {
260
+ if ($cbf007e418543821$var$state !== "disabled") return;
261
+ $cbf007e418543821$var$state = "restoring";
262
+ setTimeout(() => {
263
+ $081cb5757e08788e$export$24490316f764c430(() => {
264
+ if ($cbf007e418543821$var$state === "restoring") {
265
+ const documentObject = $d447af545b77c9f1$export$b204af158042fbac(target);
266
+ if (documentObject.documentElement.style.webkitUserSelect === "none") documentObject.documentElement.style.webkitUserSelect = $cbf007e418543821$var$savedUserSelect || "";
267
+ $cbf007e418543821$var$savedUserSelect = "";
268
+ $cbf007e418543821$var$state = "default";
269
+ }
270
+ });
271
+ }, 300);
272
+ } else if (target instanceof HTMLElement || target instanceof SVGElement) {
273
+ if (target && $cbf007e418543821$var$modifiedElementMap.has(target)) {
274
+ let targetOldUserSelect = $cbf007e418543821$var$modifiedElementMap.get(target);
275
+ let property = "userSelect" in target.style ? "userSelect" : "webkitUserSelect";
276
+ if (target.style[property] === "none") target.style[property] = targetOldUserSelect;
277
+ if (target.getAttribute("style") === "") target.removeAttribute("style");
278
+ $cbf007e418543821$var$modifiedElementMap.delete(target);
279
+ }
280
+ }
281
+ }
282
+ function $2b2d34ff061957fb$var$getWebpackNonce(doc) {
283
+ let ownerWindow = doc == null ? void 0 : doc.defaultView;
284
+ return (ownerWindow == null ? void 0 : ownerWindow.__webpack_nonce__) || globalThis["__webpack_nonce__"] || void 0;
285
+ }
286
+ let $2b2d34ff061957fb$var$nonceCache = /* @__PURE__ */ new WeakMap();
287
+ function $2b2d34ff061957fb$export$2b85b721e524d74b(doc) {
288
+ let d2 = doc ?? (typeof document !== "undefined" ? document : void 0);
289
+ if (!d2) return $2b2d34ff061957fb$var$getWebpackNonce(d2);
290
+ if ($2b2d34ff061957fb$var$nonceCache.has(d2)) return $2b2d34ff061957fb$var$nonceCache.get(d2);
291
+ let meta = d2.querySelector('meta[property="csp-nonce"]');
292
+ let nonce = meta && meta instanceof $d447af545b77c9f1$export$f21a1ffae260145a(meta).HTMLMetaElement && (meta.nonce || meta.content) || $2b2d34ff061957fb$var$getWebpackNonce(d2) || void 0;
293
+ if (nonce !== void 0) $2b2d34ff061957fb$var$nonceCache.set(d2, nonce);
294
+ return nonce;
295
+ }
296
+ const $24f9a20f226ad820$export$5165eccb35aaadb5 = React__default.createContext({
297
+ register: () => {
298
+ }
299
+ });
300
+ $24f9a20f226ad820$export$5165eccb35aaadb5.displayName = "PressResponderContext";
301
+ function $d27d541f9569d26d$var$usePressResponderContext(props) {
302
+ let context = useContext($24f9a20f226ad820$export$5165eccb35aaadb5);
303
+ if (context) {
304
+ let { register, ref, ...contextProps } = context;
305
+ props = $bbaa08b3cd72f041$export$9d1611c77c2fe928(contextProps, props);
306
+ register();
307
+ }
308
+ $b7115c395c64f7b5$export$4debdb1a3f0fa79e(context, props.ref);
309
+ return props;
310
+ }
311
+ class $d27d541f9569d26d$var$PressEvent {
312
+ constructor(type, pointerType, originalEvent, state) {
313
+ __privateAdd(this, _shouldStopPropagation);
314
+ __privateSet(this, _shouldStopPropagation, true);
315
+ let currentTarget = (state == null ? void 0 : state.target) ?? originalEvent.currentTarget;
316
+ const rect = currentTarget == null ? void 0 : currentTarget.getBoundingClientRect();
317
+ let x, y2 = 0;
318
+ let clientX, clientY = null;
319
+ if (originalEvent.clientX != null && originalEvent.clientY != null) {
320
+ clientX = originalEvent.clientX;
321
+ clientY = originalEvent.clientY;
322
+ }
323
+ if (rect) {
324
+ if (clientX != null && clientY != null) {
325
+ x = clientX - rect.left;
326
+ y2 = clientY - rect.top;
327
+ } else {
328
+ x = rect.width / 2;
329
+ y2 = rect.height / 2;
330
+ }
331
+ }
332
+ this.type = type;
333
+ this.pointerType = pointerType;
334
+ this.target = originalEvent.currentTarget;
335
+ this.shiftKey = originalEvent.shiftKey;
336
+ this.metaKey = originalEvent.metaKey;
337
+ this.ctrlKey = originalEvent.ctrlKey;
338
+ this.altKey = originalEvent.altKey;
339
+ this.x = x;
340
+ this.y = y2;
341
+ this.key = originalEvent.key;
342
+ }
343
+ continuePropagation() {
344
+ __privateSet(this, _shouldStopPropagation, false);
345
+ }
346
+ get shouldStopPropagation() {
347
+ return __privateGet(this, _shouldStopPropagation);
348
+ }
349
+ }
350
+ _shouldStopPropagation = new WeakMap();
351
+ const $d27d541f9569d26d$var$LINK_CLICKED = Symbol("linkClicked");
352
+ const $d27d541f9569d26d$var$STYLE_ID = "react-aria-pressable-style";
353
+ const $d27d541f9569d26d$var$PRESSABLE_ATTRIBUTE = "data-react-aria-pressable";
354
+ function $d27d541f9569d26d$export$45712eceda6fad21(props) {
355
+ let { onPress, onPressChange, onPressStart, onPressEnd, onPressUp, onClick, isDisabled, isPressed: isPressedProp, preventFocusOnPress, shouldCancelOnPointerExit, allowTextSelectionOnPress, ref: domRef, ...domProps } = $d27d541f9569d26d$var$usePressResponderContext(props);
356
+ let [isPressed, setPressed] = useState(false);
357
+ let ref = useRef({
358
+ isPressed: false,
359
+ ignoreEmulatedMouseEvents: false,
360
+ didFirePressStart: false,
361
+ isTriggeringEvent: false,
362
+ activePointerId: null,
363
+ target: null,
364
+ isOverTarget: false,
365
+ pointerType: null,
366
+ disposables: []
367
+ });
368
+ let { addGlobalListener, removeAllGlobalListeners } = $48a7d519b337145d$export$4eaf04e54aa8eed6();
369
+ let triggerPressStart = useCallback((originalEvent, pointerType) => {
370
+ let state = ref.current;
371
+ if (isDisabled || state.didFirePressStart) return false;
372
+ let shouldStopPropagation = true;
373
+ state.isTriggeringEvent = true;
374
+ if (onPressStart) {
375
+ let event = new $d27d541f9569d26d$var$PressEvent("pressstart", pointerType, originalEvent);
376
+ onPressStart(event);
377
+ shouldStopPropagation = event.shouldStopPropagation;
378
+ }
379
+ if (onPressChange) onPressChange(true);
380
+ state.isTriggeringEvent = false;
381
+ state.didFirePressStart = true;
382
+ setPressed(true);
383
+ return shouldStopPropagation;
384
+ }, [
385
+ isDisabled,
386
+ onPressStart,
387
+ onPressChange
388
+ ]);
389
+ let triggerPressEnd = useCallback((originalEvent, pointerType, wasPressed = true) => {
390
+ let state = ref.current;
391
+ if (!state.didFirePressStart) return false;
392
+ state.didFirePressStart = false;
393
+ state.isTriggeringEvent = true;
394
+ let shouldStopPropagation = true;
395
+ if (onPressEnd) {
396
+ let event = new $d27d541f9569d26d$var$PressEvent("pressend", pointerType, originalEvent);
397
+ onPressEnd(event);
398
+ shouldStopPropagation = event.shouldStopPropagation;
399
+ }
400
+ if (onPressChange) onPressChange(false);
401
+ setPressed(false);
402
+ if (onPress && wasPressed && !isDisabled) {
403
+ let event = new $d27d541f9569d26d$var$PressEvent("press", pointerType, originalEvent);
404
+ onPress(event);
405
+ shouldStopPropagation && (shouldStopPropagation = event.shouldStopPropagation);
406
+ }
407
+ state.isTriggeringEvent = false;
408
+ return shouldStopPropagation;
409
+ }, [
410
+ isDisabled,
411
+ onPressEnd,
412
+ onPressChange,
413
+ onPress
414
+ ]);
415
+ let triggerPressEndEvent = $fe16bffc7a557bf0$export$7f54fc3180508a52(triggerPressEnd);
416
+ let triggerPressUp = useCallback((originalEvent, pointerType) => {
417
+ let state = ref.current;
418
+ if (isDisabled) return false;
419
+ if (onPressUp) {
420
+ state.isTriggeringEvent = true;
421
+ let event = new $d27d541f9569d26d$var$PressEvent("pressup", pointerType, originalEvent);
422
+ onPressUp(event);
423
+ state.isTriggeringEvent = false;
424
+ return event.shouldStopPropagation;
425
+ }
426
+ return true;
427
+ }, [
428
+ isDisabled,
429
+ onPressUp
430
+ ]);
431
+ let triggerPressUpEvent = $fe16bffc7a557bf0$export$7f54fc3180508a52(triggerPressUp);
432
+ let cancel = useCallback((e) => {
433
+ let state = ref.current;
434
+ if (state.isPressed && state.target) {
435
+ if (state.didFirePressStart && state.pointerType != null) triggerPressEnd($d27d541f9569d26d$var$createEvent(state.target, e), state.pointerType, false);
436
+ state.isPressed = false;
437
+ state.isOverTarget = false;
438
+ state.activePointerId = null;
439
+ state.pointerType = null;
440
+ removeAllGlobalListeners();
441
+ if (!allowTextSelectionOnPress) $cbf007e418543821$export$b0d6fa1ab32e3295(state.target);
442
+ for (let dispose of state.disposables) dispose();
443
+ state.disposables = [];
444
+ }
445
+ }, [
446
+ allowTextSelectionOnPress,
447
+ removeAllGlobalListeners,
448
+ triggerPressEnd
449
+ ]);
450
+ let cancelEvent = $fe16bffc7a557bf0$export$7f54fc3180508a52(cancel);
451
+ let cancelOnPointerExit = useCallback((e) => {
452
+ if (shouldCancelOnPointerExit) cancel(e);
453
+ }, [
454
+ shouldCancelOnPointerExit,
455
+ cancel
456
+ ]);
457
+ let triggerClick = useCallback((e) => {
458
+ if (isDisabled) return;
459
+ onClick == null ? void 0 : onClick(e);
460
+ }, [
461
+ isDisabled,
462
+ onClick
463
+ ]);
464
+ let triggerSyntheticClick = useCallback((e, target) => {
465
+ if (isDisabled) return;
466
+ if (onClick) {
467
+ let event = new MouseEvent("click", e);
468
+ $a92dc41f639950be$export$c2b7abe5d61ec696(event, target);
469
+ onClick($a92dc41f639950be$export$525bc4921d56d4a(event));
470
+ }
471
+ }, [
472
+ isDisabled,
473
+ onClick
474
+ ]);
475
+ let pressProps = useMemo(() => {
476
+ let state = ref.current;
477
+ let pressProps2 = {
478
+ onKeyDown(e) {
479
+ var _a;
480
+ if ($d27d541f9569d26d$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && $23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) {
481
+ if ($d27d541f9569d26d$var$shouldPreventDefaultKeyboard($23f2114a1b82827e$export$e58f029f0fbfdb29(e), e.key)) e.preventDefault();
482
+ let shouldStopPropagation = true;
483
+ if (!state.isPressed && !e.repeat) {
484
+ state.target = e.currentTarget;
485
+ state.isPressed = true;
486
+ state.pointerType = "keyboard";
487
+ shouldStopPropagation = triggerPressStart(e, "keyboard");
488
+ }
489
+ let originalTarget = e.currentTarget;
490
+ let pressUp = (e2) => {
491
+ if ($d27d541f9569d26d$var$isValidKeyboardEvent(e2, originalTarget) && !e2.repeat && $23f2114a1b82827e$export$4282f70798064fe0(originalTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e2)) && state.target)
492
+ triggerPressUpEvent($d27d541f9569d26d$var$createEvent(state.target, e2), "keyboard");
493
+ };
494
+ addGlobalListener($d447af545b77c9f1$export$b204af158042fbac(e.currentTarget), "keyup", $a4e76a5424781910$export$e08e3b67e392101e(pressUp, onKeyUp), true);
495
+ if (shouldStopPropagation) e.stopPropagation();
496
+ if (e.metaKey && $2add3ce32c6007eb$export$9ac100e40613ea10()) (_a = state.metaKeyEvents) == null ? void 0 : _a.set(e.key, e.nativeEvent);
497
+ } else if (e.key === "Meta") state.metaKeyEvents = /* @__PURE__ */ new Map();
498
+ },
499
+ onClick(e) {
500
+ if (e && !$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
501
+ if (e && e.button === 0 && !state.isTriggeringEvent && !$caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening) {
502
+ let shouldStopPropagation = true;
503
+ if (isDisabled) e.preventDefault();
504
+ if (!state.ignoreEmulatedMouseEvents && !state.isPressed && (state.pointerType === "virtual" || $b5c62b033c25b96d$export$60278871457622de(e.nativeEvent))) {
505
+ let stopPressStart = triggerPressStart(e, "virtual");
506
+ let stopPressUp = triggerPressUpEvent(e, "virtual");
507
+ let stopPressEnd = triggerPressEndEvent(e, "virtual");
508
+ triggerClick(e);
509
+ shouldStopPropagation = stopPressStart && stopPressUp && stopPressEnd;
510
+ } else if (state.isPressed && state.pointerType !== "keyboard") {
511
+ let pointerType = state.pointerType || e.nativeEvent.pointerType || "virtual";
512
+ let stopPressUp = triggerPressUpEvent($d27d541f9569d26d$var$createEvent(e.currentTarget, e), pointerType);
513
+ let stopPressEnd = triggerPressEndEvent($d27d541f9569d26d$var$createEvent(e.currentTarget, e), pointerType, true);
514
+ shouldStopPropagation = stopPressUp && stopPressEnd;
515
+ state.isOverTarget = false;
516
+ triggerClick(e);
517
+ cancelEvent(e);
518
+ }
519
+ state.ignoreEmulatedMouseEvents = false;
520
+ if (shouldStopPropagation) e.stopPropagation();
521
+ }
522
+ }
523
+ };
524
+ let onKeyUp = (e) => {
525
+ var _a, _b, _c;
526
+ if (state.isPressed && state.target && $d27d541f9569d26d$var$isValidKeyboardEvent(e, state.target)) {
527
+ if ($d27d541f9569d26d$var$shouldPreventDefaultKeyboard($23f2114a1b82827e$export$e58f029f0fbfdb29(e), e.key)) e.preventDefault();
528
+ let target = $23f2114a1b82827e$export$e58f029f0fbfdb29(e);
529
+ let wasPressed = $23f2114a1b82827e$export$4282f70798064fe0(state.target, target);
530
+ triggerPressEndEvent($d27d541f9569d26d$var$createEvent(state.target, e), "keyboard", wasPressed);
531
+ if (wasPressed) triggerSyntheticClick(e, state.target);
532
+ removeAllGlobalListeners();
533
+ if (e.key !== "Enter" && $d27d541f9569d26d$var$isHTMLAnchorLink(state.target) && $23f2114a1b82827e$export$4282f70798064fe0(state.target, target) && !e[$d27d541f9569d26d$var$LINK_CLICKED]) {
534
+ e[$d27d541f9569d26d$var$LINK_CLICKED] = true;
535
+ $caaf0dd3060ed57c$export$95185d699e05d4d7(state.target, e, false);
536
+ }
537
+ state.isPressed = false;
538
+ (_a = state.metaKeyEvents) == null ? void 0 : _a.delete(e.key);
539
+ } else if (e.key === "Meta" && ((_b = state.metaKeyEvents) == null ? void 0 : _b.size)) {
540
+ let events = state.metaKeyEvents;
541
+ state.metaKeyEvents = void 0;
542
+ for (let event of events.values()) (_c = state.target) == null ? void 0 : _c.dispatchEvent(new KeyboardEvent("keyup", event));
543
+ }
544
+ };
545
+ if (typeof PointerEvent !== "undefined") {
546
+ pressProps2.onPointerDown = (e) => {
547
+ if (e.button !== 0 || !$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
548
+ if ($b5c62b033c25b96d$export$29bf1b5f2c56cf63(e.nativeEvent)) {
549
+ state.pointerType = "virtual";
550
+ return;
551
+ }
552
+ state.pointerType = e.pointerType;
553
+ let shouldStopPropagation = true;
554
+ if (!state.isPressed) {
555
+ state.isPressed = true;
556
+ state.isOverTarget = true;
557
+ state.activePointerId = e.pointerId;
558
+ state.target = e.currentTarget;
559
+ if (!allowTextSelectionOnPress) $cbf007e418543821$export$16a4697467175487(state.target);
560
+ shouldStopPropagation = triggerPressStart(e, state.pointerType);
561
+ let target = $23f2114a1b82827e$export$e58f029f0fbfdb29(e);
562
+ if ("releasePointerCapture" in target) {
563
+ if ("hasPointerCapture" in target) {
564
+ if (target.hasPointerCapture(e.pointerId)) target.releasePointerCapture(e.pointerId);
565
+ } else target.releasePointerCapture(e.pointerId);
566
+ }
567
+ addGlobalListener($d447af545b77c9f1$export$b204af158042fbac(e.currentTarget), "pointerup", onPointerUp, false);
568
+ addGlobalListener($d447af545b77c9f1$export$b204af158042fbac(e.currentTarget), "pointercancel", onPointerCancel, false);
569
+ }
570
+ if (shouldStopPropagation) e.stopPropagation();
571
+ };
572
+ pressProps2.onMouseDown = (e) => {
573
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
574
+ if (e.button === 0) {
575
+ if (preventFocusOnPress) {
576
+ let dispose = $a92dc41f639950be$export$cabe61c495ee3649(e.target);
577
+ if (dispose) state.disposables.push(dispose);
578
+ }
579
+ e.stopPropagation();
580
+ }
581
+ };
582
+ pressProps2.onPointerUp = (e) => {
583
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e)) || state.pointerType === "virtual") return;
584
+ if (e.button === 0 && !state.isPressed)
585
+ triggerPressUpEvent(e, state.pointerType || e.pointerType);
586
+ };
587
+ pressProps2.onPointerEnter = (e) => {
588
+ if (e.pointerId === state.activePointerId && state.target && !state.isOverTarget && state.pointerType != null) {
589
+ state.isOverTarget = true;
590
+ triggerPressStart($d27d541f9569d26d$var$createEvent(state.target, e), state.pointerType);
591
+ }
592
+ };
593
+ pressProps2.onPointerLeave = (e) => {
594
+ if (e.pointerId === state.activePointerId && state.target && state.isOverTarget && state.pointerType != null) {
595
+ state.isOverTarget = false;
596
+ triggerPressEndEvent($d27d541f9569d26d$var$createEvent(state.target, e), state.pointerType, false);
597
+ cancelOnPointerExit(e);
598
+ }
599
+ };
600
+ let onPointerUp = (e) => {
601
+ if (e.pointerId === state.activePointerId && state.isPressed && e.button === 0 && state.target) {
602
+ if ($23f2114a1b82827e$export$4282f70798064fe0(state.target, $23f2114a1b82827e$export$e58f029f0fbfdb29(e)) && state.pointerType != null) {
603
+ let clicked = false;
604
+ let timeout = setTimeout(() => {
605
+ if (state.isPressed && state.target instanceof HTMLElement) {
606
+ if (clicked)
607
+ cancelEvent(e);
608
+ else {
609
+ $1969ac565cfec8d0$export$de79e2c695e052f3(state.target);
610
+ state.target.click();
611
+ }
612
+ }
613
+ }, 80);
614
+ addGlobalListener(e.currentTarget, "click", () => clicked = true, true);
615
+ state.disposables.push(() => clearTimeout(timeout));
616
+ } else
617
+ cancelEvent(e);
618
+ state.isOverTarget = false;
619
+ }
620
+ };
621
+ let onPointerCancel = (e) => {
622
+ cancelEvent(e);
623
+ };
624
+ pressProps2.onDragStart = (e) => {
625
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
626
+ cancelEvent(e);
627
+ };
628
+ } else if (process.env.NODE_ENV === "test") {
629
+ pressProps2.onMouseDown = (e) => {
630
+ if (e.button !== 0 || !$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
631
+ if (state.ignoreEmulatedMouseEvents) {
632
+ e.stopPropagation();
633
+ return;
634
+ }
635
+ state.isPressed = true;
636
+ state.isOverTarget = true;
637
+ state.target = e.currentTarget;
638
+ state.pointerType = $b5c62b033c25b96d$export$60278871457622de(e.nativeEvent) ? "virtual" : "mouse";
639
+ let shouldStopPropagation = flushSync(() => triggerPressStart(e, state.pointerType));
640
+ if (shouldStopPropagation) e.stopPropagation();
641
+ if (preventFocusOnPress) {
642
+ let dispose = $a92dc41f639950be$export$cabe61c495ee3649(e.target);
643
+ if (dispose) state.disposables.push(dispose);
644
+ }
645
+ addGlobalListener($d447af545b77c9f1$export$b204af158042fbac(e.currentTarget), "mouseup", onMouseUp, false);
646
+ };
647
+ pressProps2.onMouseEnter = (e) => {
648
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
649
+ let shouldStopPropagation = true;
650
+ if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {
651
+ state.isOverTarget = true;
652
+ shouldStopPropagation = triggerPressStart(e, state.pointerType);
653
+ }
654
+ if (shouldStopPropagation) e.stopPropagation();
655
+ };
656
+ pressProps2.onMouseLeave = (e) => {
657
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
658
+ let shouldStopPropagation = true;
659
+ if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {
660
+ state.isOverTarget = false;
661
+ shouldStopPropagation = triggerPressEndEvent(e, state.pointerType, false);
662
+ cancelOnPointerExit(e);
663
+ }
664
+ if (shouldStopPropagation) e.stopPropagation();
665
+ };
666
+ pressProps2.onMouseUp = (e) => {
667
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
668
+ if (!state.ignoreEmulatedMouseEvents && e.button === 0 && !state.isPressed)
669
+ triggerPressUpEvent(e, state.pointerType || "mouse");
670
+ };
671
+ let onMouseUp = (e) => {
672
+ if (e.button !== 0) return;
673
+ if (state.ignoreEmulatedMouseEvents) {
674
+ state.ignoreEmulatedMouseEvents = false;
675
+ return;
676
+ }
677
+ if (state.target && $23f2114a1b82827e$export$4282f70798064fe0(state.target, $23f2114a1b82827e$export$e58f029f0fbfdb29(e)) && state.pointerType != null) ;
678
+ else
679
+ cancelEvent(e);
680
+ state.isOverTarget = false;
681
+ };
682
+ pressProps2.onTouchStart = (e) => {
683
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
684
+ let touch = $d27d541f9569d26d$var$getTouchFromEvent(e.nativeEvent);
685
+ if (!touch) return;
686
+ state.activePointerId = touch.identifier;
687
+ state.ignoreEmulatedMouseEvents = true;
688
+ state.isOverTarget = true;
689
+ state.isPressed = true;
690
+ state.target = e.currentTarget;
691
+ state.pointerType = "touch";
692
+ if (!allowTextSelectionOnPress) $cbf007e418543821$export$16a4697467175487(state.target);
693
+ let shouldStopPropagation = triggerPressStart($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);
694
+ if (shouldStopPropagation) e.stopPropagation();
695
+ addGlobalListener($d447af545b77c9f1$export$f21a1ffae260145a(e.currentTarget), "scroll", onScroll, true);
696
+ };
697
+ pressProps2.onTouchMove = (e) => {
698
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
699
+ if (!state.isPressed) {
700
+ e.stopPropagation();
701
+ return;
702
+ }
703
+ let touch = $d27d541f9569d26d$var$getTouchById(e.nativeEvent, state.activePointerId);
704
+ let shouldStopPropagation = true;
705
+ if (touch && $d27d541f9569d26d$var$isOverTarget(touch, e.currentTarget)) {
706
+ if (!state.isOverTarget && state.pointerType != null) {
707
+ state.isOverTarget = true;
708
+ shouldStopPropagation = triggerPressStart($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);
709
+ }
710
+ } else if (state.isOverTarget && state.pointerType != null) {
711
+ state.isOverTarget = false;
712
+ shouldStopPropagation = triggerPressEndEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType, false);
713
+ cancelOnPointerExit($d27d541f9569d26d$var$createTouchEvent(state.target, e));
714
+ }
715
+ if (shouldStopPropagation) e.stopPropagation();
716
+ };
717
+ pressProps2.onTouchEnd = (e) => {
718
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
719
+ if (!state.isPressed) {
720
+ e.stopPropagation();
721
+ return;
722
+ }
723
+ let touch = $d27d541f9569d26d$var$getTouchById(e.nativeEvent, state.activePointerId);
724
+ let shouldStopPropagation = true;
725
+ if (touch && $d27d541f9569d26d$var$isOverTarget(touch, e.currentTarget) && state.pointerType != null) {
726
+ triggerPressUpEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);
727
+ shouldStopPropagation = triggerPressEndEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);
728
+ triggerSyntheticClick(e.nativeEvent, state.target);
729
+ } else if (state.isOverTarget && state.pointerType != null)
730
+ shouldStopPropagation = triggerPressEndEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType, false);
731
+ if (shouldStopPropagation) e.stopPropagation();
732
+ state.isPressed = false;
733
+ state.activePointerId = null;
734
+ state.isOverTarget = false;
735
+ state.ignoreEmulatedMouseEvents = true;
736
+ if (state.target && !allowTextSelectionOnPress) $cbf007e418543821$export$b0d6fa1ab32e3295(state.target);
737
+ removeAllGlobalListeners();
738
+ };
739
+ pressProps2.onTouchCancel = (e) => {
740
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
741
+ e.stopPropagation();
742
+ if (state.isPressed)
743
+ cancelEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e));
744
+ };
745
+ let onScroll = (e) => {
746
+ if (state.isPressed && $23f2114a1b82827e$export$4282f70798064fe0($23f2114a1b82827e$export$e58f029f0fbfdb29(e), state.target))
747
+ cancelEvent({
748
+ currentTarget: state.target,
749
+ shiftKey: false,
750
+ ctrlKey: false,
751
+ metaKey: false,
752
+ altKey: false
753
+ });
754
+ };
755
+ pressProps2.onDragStart = (e) => {
756
+ if (!$23f2114a1b82827e$export$4282f70798064fe0(e.currentTarget, $23f2114a1b82827e$export$e58f029f0fbfdb29(e))) return;
757
+ cancelEvent(e);
758
+ };
759
+ }
760
+ return pressProps2;
761
+ }, [
762
+ addGlobalListener,
763
+ isDisabled,
764
+ preventFocusOnPress,
765
+ removeAllGlobalListeners,
766
+ allowTextSelectionOnPress,
767
+ cancelOnPointerExit,
768
+ triggerPressStart,
769
+ triggerClick,
770
+ triggerSyntheticClick
771
+ ]);
772
+ useEffect(() => {
773
+ if (!domRef || process.env.NODE_ENV === "test") return;
774
+ const ownerDocument = $d447af545b77c9f1$export$b204af158042fbac(domRef.current);
775
+ if (!ownerDocument || !ownerDocument.head || ownerDocument.getElementById($d27d541f9569d26d$var$STYLE_ID)) return;
776
+ const style = ownerDocument.createElement("style");
777
+ style.id = $d27d541f9569d26d$var$STYLE_ID;
778
+ let nonce = $2b2d34ff061957fb$export$2b85b721e524d74b(ownerDocument);
779
+ if (nonce) style.nonce = nonce;
780
+ style.textContent = `
781
+ @layer {
782
+ [${$d27d541f9569d26d$var$PRESSABLE_ATTRIBUTE}] {
783
+ touch-action: pan-x pan-y pinch-zoom;
784
+ }
785
+ }
786
+ `.trim();
787
+ ownerDocument.head.prepend(style);
788
+ }, [
789
+ domRef
790
+ ]);
791
+ useEffect(() => {
792
+ let state = ref.current;
793
+ return () => {
794
+ if (!allowTextSelectionOnPress) $cbf007e418543821$export$b0d6fa1ab32e3295(state.target ?? void 0);
795
+ for (let dispose of state.disposables) dispose();
796
+ state.disposables = [];
797
+ };
798
+ }, [
799
+ allowTextSelectionOnPress
800
+ ]);
801
+ return {
802
+ isPressed: isPressedProp || isPressed,
803
+ pressProps: $bbaa08b3cd72f041$export$9d1611c77c2fe928(domProps, pressProps, {
804
+ [$d27d541f9569d26d$var$PRESSABLE_ATTRIBUTE]: true
805
+ })
806
+ };
807
+ }
808
+ function $d27d541f9569d26d$var$isHTMLAnchorLink(target) {
809
+ return target.tagName === "A" && target.hasAttribute("href");
810
+ }
811
+ function $d27d541f9569d26d$var$isValidKeyboardEvent(event, currentTarget) {
812
+ const { key, code } = event;
813
+ const element = currentTarget;
814
+ const role = element.getAttribute("role");
815
+ return (key === "Enter" || key === " " || key === "Spacebar" || code === "Space") && !(element instanceof $d447af545b77c9f1$export$f21a1ffae260145a(element).HTMLInputElement && !$d27d541f9569d26d$var$isValidInputKey(element, key) || element instanceof $d447af545b77c9f1$export$f21a1ffae260145a(element).HTMLTextAreaElement || element.isContentEditable) && // Links should only trigger with Enter key
816
+ !((role === "link" || !role && $d27d541f9569d26d$var$isHTMLAnchorLink(element)) && key !== "Enter");
817
+ }
818
+ function $d27d541f9569d26d$var$getTouchFromEvent(event) {
819
+ const { targetTouches } = event;
820
+ if (targetTouches.length > 0) return targetTouches[0];
821
+ return null;
822
+ }
823
+ function $d27d541f9569d26d$var$getTouchById(event, pointerId) {
824
+ const changedTouches = event.changedTouches;
825
+ for (let i = 0; i < changedTouches.length; i++) {
826
+ const touch = changedTouches[i];
827
+ if (touch.identifier === pointerId) return touch;
828
+ }
829
+ return null;
830
+ }
831
+ function $d27d541f9569d26d$var$createTouchEvent(target, e) {
832
+ let clientX = 0;
833
+ let clientY = 0;
834
+ if (e.targetTouches && e.targetTouches.length === 1) {
835
+ clientX = e.targetTouches[0].clientX;
836
+ clientY = e.targetTouches[0].clientY;
837
+ }
838
+ return {
839
+ currentTarget: target,
840
+ shiftKey: e.shiftKey,
841
+ ctrlKey: e.ctrlKey,
842
+ metaKey: e.metaKey,
843
+ altKey: e.altKey,
844
+ clientX,
845
+ clientY
846
+ };
847
+ }
848
+ function $d27d541f9569d26d$var$createEvent(target, e) {
849
+ let clientX = e.clientX;
850
+ let clientY = e.clientY;
851
+ return {
852
+ currentTarget: target,
853
+ shiftKey: e.shiftKey,
854
+ ctrlKey: e.ctrlKey,
855
+ metaKey: e.metaKey,
856
+ altKey: e.altKey,
857
+ clientX,
858
+ clientY,
859
+ key: e.key
860
+ };
861
+ }
862
+ function $d27d541f9569d26d$var$getPointClientRect(point) {
863
+ let offsetX = 0;
864
+ let offsetY = 0;
865
+ if (point.width !== void 0) offsetX = point.width / 2;
866
+ else if (point.radiusX !== void 0) offsetX = point.radiusX;
867
+ if (point.height !== void 0) offsetY = point.height / 2;
868
+ else if (point.radiusY !== void 0) offsetY = point.radiusY;
869
+ return {
870
+ top: point.clientY - offsetY,
871
+ right: point.clientX + offsetX,
872
+ bottom: point.clientY + offsetY,
873
+ left: point.clientX - offsetX
874
+ };
875
+ }
876
+ function $d27d541f9569d26d$var$areRectanglesOverlapping(a, b2) {
877
+ if (a.left > b2.right || b2.left > a.right) return false;
878
+ if (a.top > b2.bottom || b2.top > a.bottom) return false;
879
+ return true;
880
+ }
881
+ function $d27d541f9569d26d$var$isOverTarget(point, target) {
882
+ let rect = target.getBoundingClientRect();
883
+ let pointRect = $d27d541f9569d26d$var$getPointClientRect(point);
884
+ return $d27d541f9569d26d$var$areRectanglesOverlapping(rect, pointRect);
885
+ }
886
+ function $d27d541f9569d26d$var$shouldPreventDefaultUp(target) {
887
+ if (target instanceof HTMLInputElement) return false;
888
+ if (target instanceof HTMLButtonElement) return target.type !== "submit" && target.type !== "reset";
889
+ if ($d27d541f9569d26d$var$isHTMLAnchorLink(target)) return false;
890
+ return true;
891
+ }
892
+ function $d27d541f9569d26d$var$shouldPreventDefaultKeyboard(target, key) {
893
+ if (target instanceof HTMLInputElement) return !$d27d541f9569d26d$var$isValidInputKey(target, key);
894
+ return $d27d541f9569d26d$var$shouldPreventDefaultUp(target);
895
+ }
896
+ const $d27d541f9569d26d$var$nonTextInputTypes = /* @__PURE__ */ new Set([
897
+ "checkbox",
898
+ "radio",
899
+ "range",
900
+ "color",
901
+ "file",
902
+ "image",
903
+ "button",
904
+ "submit",
905
+ "reset"
906
+ ]);
907
+ function $d27d541f9569d26d$var$isValidInputKey(target, key) {
908
+ return target.type === "checkbox" || target.type === "radio" ? key === " " : $d27d541f9569d26d$var$nonTextInputTypes.has(target.type);
909
+ }
910
+ function $ac4318a9c075bb9f$export$ea18c227d4417cc3(props, ref) {
911
+ let { elementType = "button", isDisabled, onPress, onPressStart, onPressEnd, onPressUp, onPressChange, preventFocusOnPress, allowFocusWhenDisabled, onClick, href, target, rel, type = "button" } = props;
912
+ let additionalProps;
913
+ if (elementType === "button") additionalProps = {
914
+ type,
915
+ disabled: isDisabled,
916
+ form: props.form,
917
+ formAction: props.formAction,
918
+ formEncType: props.formEncType,
919
+ formMethod: props.formMethod,
920
+ formNoValidate: props.formNoValidate,
921
+ formTarget: props.formTarget,
922
+ name: props.name,
923
+ value: props.value
924
+ };
925
+ else additionalProps = {
926
+ role: "button",
927
+ href: elementType === "a" && !isDisabled ? href : void 0,
928
+ target: elementType === "a" ? target : void 0,
929
+ type: elementType === "input" ? type : void 0,
930
+ disabled: elementType === "input" ? isDisabled : void 0,
931
+ "aria-disabled": !isDisabled || elementType === "input" ? void 0 : isDisabled,
932
+ rel: elementType === "a" ? rel : void 0
933
+ };
934
+ let { pressProps, isPressed } = $d27d541f9569d26d$export$45712eceda6fad21({
935
+ onPressStart,
936
+ onPressEnd,
937
+ onPressChange,
938
+ onPress,
939
+ onPressUp,
940
+ onClick,
941
+ isDisabled,
942
+ preventFocusOnPress,
943
+ ref
944
+ });
945
+ let { focusableProps } = $d1116acdf220c2da$export$4c014de7c8940b4c(props, ref);
946
+ if (allowFocusWhenDisabled) focusableProps.tabIndex = isDisabled ? -1 : focusableProps.tabIndex;
947
+ let buttonProps = $bbaa08b3cd72f041$export$9d1611c77c2fe928(focusableProps, pressProps, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f(props, {
948
+ labelable: true
949
+ }));
950
+ return {
951
+ isPressed,
952
+ buttonProps: $bbaa08b3cd72f041$export$9d1611c77c2fe928(additionalProps, buttonProps, {
953
+ "aria-haspopup": props["aria-haspopup"],
954
+ "aria-expanded": props["aria-expanded"],
955
+ "aria-controls": props["aria-controls"],
956
+ "aria-pressed": props["aria-pressed"],
957
+ "aria-current": props["aria-current"],
958
+ "aria-disabled": props["aria-disabled"]
959
+ })
960
+ };
961
+ }
962
+ function $240e9101ba2842f5$export$7d15b64cf5a3a4c4(value, min = -Infinity, max = Infinity) {
963
+ let newValue = Math.min(Math.max(value, min), max);
964
+ return newValue;
965
+ }
966
+ function $240e9101ba2842f5$export$e1a7b8e69ef6c52f(value, step) {
967
+ let roundedValue = value;
968
+ let precision = 0;
969
+ let stepString = step.toString();
970
+ let eIndex = stepString.toLowerCase().indexOf("e-");
971
+ if (eIndex > 0) precision = Math.abs(Math.floor(Math.log10(Math.abs(step)))) + eIndex;
972
+ else {
973
+ let pointIndex = stepString.indexOf(".");
974
+ if (pointIndex >= 0) precision = stepString.length - pointIndex;
975
+ }
976
+ if (precision > 0) {
977
+ let pow = Math.pow(10, precision);
978
+ roundedValue = Math.round(roundedValue * pow) / pow;
979
+ }
980
+ return roundedValue;
981
+ }
982
+ function $240e9101ba2842f5$export$cb6e0bb50bc19463(value, min, max, step) {
983
+ min = Number(min);
984
+ max = Number(max);
985
+ let remainder = (value - (isNaN(min) ? 0 : min)) % step;
986
+ let snappedValue = $240e9101ba2842f5$export$e1a7b8e69ef6c52f(Math.abs(remainder) * 2 >= step ? value + Math.sign(remainder) * (step - Math.abs(remainder)) : value - remainder, step);
987
+ if (!isNaN(min)) {
988
+ if (snappedValue < min) snappedValue = min;
989
+ else if (!isNaN(max) && snappedValue > max) snappedValue = min + Math.floor($240e9101ba2842f5$export$e1a7b8e69ef6c52f((max - min) / step, step)) * step;
990
+ } else if (!isNaN(max) && snappedValue > max) snappedValue = Math.floor($240e9101ba2842f5$export$e1a7b8e69ef6c52f(max / step, step)) * step;
991
+ snappedValue = $240e9101ba2842f5$export$e1a7b8e69ef6c52f(snappedValue, step);
992
+ return snappedValue;
993
+ }
994
+ function $1dfdc54e7eb53ba0$export$36da96379f79f245(props) {
995
+ let { onMoveStart, onMove, onMoveEnd } = props;
996
+ let state = useRef({
997
+ didMove: false,
998
+ lastPosition: null,
999
+ id: null
1000
+ });
1001
+ let { addGlobalListener, removeGlobalListener } = $48a7d519b337145d$export$4eaf04e54aa8eed6();
1002
+ let move = useCallback((originalEvent, pointerType, deltaX, deltaY) => {
1003
+ if (deltaX === 0 && deltaY === 0) return;
1004
+ if (!state.current.didMove) {
1005
+ state.current.didMove = true;
1006
+ onMoveStart == null ? void 0 : onMoveStart({
1007
+ type: "movestart",
1008
+ pointerType,
1009
+ shiftKey: originalEvent.shiftKey,
1010
+ metaKey: originalEvent.metaKey,
1011
+ ctrlKey: originalEvent.ctrlKey,
1012
+ altKey: originalEvent.altKey
1013
+ });
1014
+ }
1015
+ onMove == null ? void 0 : onMove({
1016
+ type: "move",
1017
+ pointerType,
1018
+ deltaX,
1019
+ deltaY,
1020
+ shiftKey: originalEvent.shiftKey,
1021
+ metaKey: originalEvent.metaKey,
1022
+ ctrlKey: originalEvent.ctrlKey,
1023
+ altKey: originalEvent.altKey
1024
+ });
1025
+ }, [
1026
+ onMoveStart,
1027
+ onMove,
1028
+ state
1029
+ ]);
1030
+ let moveEvent = $fe16bffc7a557bf0$export$7f54fc3180508a52(move);
1031
+ let end = useCallback((originalEvent, pointerType) => {
1032
+ $cbf007e418543821$export$b0d6fa1ab32e3295();
1033
+ if (state.current.didMove) onMoveEnd == null ? void 0 : onMoveEnd({
1034
+ type: "moveend",
1035
+ pointerType,
1036
+ shiftKey: originalEvent.shiftKey,
1037
+ metaKey: originalEvent.metaKey,
1038
+ ctrlKey: originalEvent.ctrlKey,
1039
+ altKey: originalEvent.altKey
1040
+ });
1041
+ }, [
1042
+ onMoveEnd,
1043
+ state
1044
+ ]);
1045
+ let endEvent = $fe16bffc7a557bf0$export$7f54fc3180508a52(end);
1046
+ let moveProps = useMemo(() => {
1047
+ let moveProps2 = {};
1048
+ let start = () => {
1049
+ $cbf007e418543821$export$16a4697467175487();
1050
+ state.current.didMove = false;
1051
+ };
1052
+ if (typeof PointerEvent === "undefined" && process.env.NODE_ENV === "test") {
1053
+ let onMouseMove = (e) => {
1054
+ var _a, _b;
1055
+ if (e.button === 0) {
1056
+ moveEvent(e, "mouse", e.pageX - (((_a = state.current.lastPosition) == null ? void 0 : _a.pageX) ?? 0), e.pageY - (((_b = state.current.lastPosition) == null ? void 0 : _b.pageY) ?? 0));
1057
+ state.current.lastPosition = {
1058
+ pageX: e.pageX,
1059
+ pageY: e.pageY
1060
+ };
1061
+ }
1062
+ };
1063
+ let onMouseUp = (e) => {
1064
+ if (e.button === 0) {
1065
+ endEvent(e, "mouse");
1066
+ let ownerWindow = $d447af545b77c9f1$export$f21a1ffae260145a($23f2114a1b82827e$export$e58f029f0fbfdb29(e));
1067
+ removeGlobalListener(ownerWindow, "mousemove", onMouseMove, false);
1068
+ removeGlobalListener(ownerWindow, "mouseup", onMouseUp, false);
1069
+ }
1070
+ };
1071
+ moveProps2.onMouseDown = (e) => {
1072
+ if (e.button === 0) {
1073
+ start();
1074
+ e.stopPropagation();
1075
+ e.preventDefault();
1076
+ state.current.lastPosition = {
1077
+ pageX: e.pageX,
1078
+ pageY: e.pageY
1079
+ };
1080
+ let ownerWindow = $d447af545b77c9f1$export$f21a1ffae260145a($23f2114a1b82827e$export$e58f029f0fbfdb29(e));
1081
+ addGlobalListener(ownerWindow, "mousemove", onMouseMove, false);
1082
+ addGlobalListener(ownerWindow, "mouseup", onMouseUp, false);
1083
+ }
1084
+ };
1085
+ let onTouchMove = (e) => {
1086
+ var _a, _b;
1087
+ let touch = [
1088
+ ...e.changedTouches
1089
+ ].findIndex(({ identifier }) => identifier === state.current.id);
1090
+ if (touch >= 0) {
1091
+ let { pageX, pageY } = e.changedTouches[touch];
1092
+ moveEvent(e, "touch", pageX - (((_a = state.current.lastPosition) == null ? void 0 : _a.pageX) ?? 0), pageY - (((_b = state.current.lastPosition) == null ? void 0 : _b.pageY) ?? 0));
1093
+ state.current.lastPosition = {
1094
+ pageX,
1095
+ pageY
1096
+ };
1097
+ }
1098
+ };
1099
+ let onTouchEnd = (e) => {
1100
+ let touch = [
1101
+ ...e.changedTouches
1102
+ ].findIndex(({ identifier }) => identifier === state.current.id);
1103
+ if (touch >= 0) {
1104
+ endEvent(e, "touch");
1105
+ state.current.id = null;
1106
+ let ownerWindow = $d447af545b77c9f1$export$f21a1ffae260145a($23f2114a1b82827e$export$e58f029f0fbfdb29(e));
1107
+ removeGlobalListener(ownerWindow, "touchmove", onTouchMove);
1108
+ removeGlobalListener(ownerWindow, "touchend", onTouchEnd);
1109
+ removeGlobalListener(ownerWindow, "touchcancel", onTouchEnd);
1110
+ }
1111
+ };
1112
+ moveProps2.onTouchStart = (e) => {
1113
+ if (e.changedTouches.length === 0 || state.current.id != null) return;
1114
+ let { pageX, pageY, identifier } = e.changedTouches[0];
1115
+ start();
1116
+ e.stopPropagation();
1117
+ e.preventDefault();
1118
+ state.current.lastPosition = {
1119
+ pageX,
1120
+ pageY
1121
+ };
1122
+ state.current.id = identifier;
1123
+ let ownerWindow = $d447af545b77c9f1$export$f21a1ffae260145a($23f2114a1b82827e$export$e58f029f0fbfdb29(e));
1124
+ addGlobalListener(ownerWindow, "touchmove", onTouchMove, false);
1125
+ addGlobalListener(ownerWindow, "touchend", onTouchEnd, false);
1126
+ addGlobalListener(ownerWindow, "touchcancel", onTouchEnd, false);
1127
+ };
1128
+ } else {
1129
+ let onPointerMove = (e) => {
1130
+ var _a, _b;
1131
+ if (e.pointerId === state.current.id) {
1132
+ let pointerType = e.pointerType || "mouse";
1133
+ moveEvent(e, pointerType, e.pageX - (((_a = state.current.lastPosition) == null ? void 0 : _a.pageX) ?? 0), e.pageY - (((_b = state.current.lastPosition) == null ? void 0 : _b.pageY) ?? 0));
1134
+ state.current.lastPosition = {
1135
+ pageX: e.pageX,
1136
+ pageY: e.pageY
1137
+ };
1138
+ }
1139
+ };
1140
+ let onPointerUp = (e) => {
1141
+ if (e.pointerId === state.current.id) {
1142
+ let pointerType = e.pointerType || "mouse";
1143
+ endEvent(e, pointerType);
1144
+ state.current.id = null;
1145
+ let ownerWindow = $d447af545b77c9f1$export$f21a1ffae260145a($23f2114a1b82827e$export$e58f029f0fbfdb29(e));
1146
+ removeGlobalListener(ownerWindow, "pointermove", onPointerMove, false);
1147
+ removeGlobalListener(ownerWindow, "pointerup", onPointerUp, false);
1148
+ removeGlobalListener(ownerWindow, "pointercancel", onPointerUp, false);
1149
+ }
1150
+ };
1151
+ moveProps2.onPointerDown = (e) => {
1152
+ if (e.button === 0 && state.current.id == null) {
1153
+ start();
1154
+ e.stopPropagation();
1155
+ e.preventDefault();
1156
+ state.current.lastPosition = {
1157
+ pageX: e.pageX,
1158
+ pageY: e.pageY
1159
+ };
1160
+ state.current.id = e.pointerId;
1161
+ let ownerWindow = $d447af545b77c9f1$export$f21a1ffae260145a($23f2114a1b82827e$export$e58f029f0fbfdb29(e));
1162
+ addGlobalListener(ownerWindow, "pointermove", onPointerMove, false);
1163
+ addGlobalListener(ownerWindow, "pointerup", onPointerUp, false);
1164
+ addGlobalListener(ownerWindow, "pointercancel", onPointerUp, false);
1165
+ }
1166
+ };
1167
+ }
1168
+ let triggerKeyboardMove = (e, deltaX, deltaY) => {
1169
+ start();
1170
+ moveEvent(e, "keyboard", deltaX, deltaY);
1171
+ endEvent(e, "keyboard");
1172
+ };
1173
+ moveProps2.onKeyDown = (e) => {
1174
+ switch (e.key) {
1175
+ case "Left":
1176
+ case "ArrowLeft":
1177
+ e.preventDefault();
1178
+ e.stopPropagation();
1179
+ triggerKeyboardMove(e, -1, 0);
1180
+ break;
1181
+ case "Right":
1182
+ case "ArrowRight":
1183
+ e.preventDefault();
1184
+ e.stopPropagation();
1185
+ triggerKeyboardMove(e, 1, 0);
1186
+ break;
1187
+ case "Up":
1188
+ case "ArrowUp":
1189
+ e.preventDefault();
1190
+ e.stopPropagation();
1191
+ triggerKeyboardMove(e, 0, -1);
1192
+ break;
1193
+ case "Down":
1194
+ case "ArrowDown":
1195
+ e.preventDefault();
1196
+ e.stopPropagation();
1197
+ triggerKeyboardMove(e, 0, 1);
1198
+ break;
1199
+ }
1200
+ };
1201
+ return moveProps2;
1202
+ }, [
1203
+ addGlobalListener,
1204
+ removeGlobalListener,
1205
+ state
1206
+ ]);
1207
+ return {
1208
+ moveProps
1209
+ };
1210
+ }
1211
+ const $ea3928288112382f$var$styles = {
1212
+ border: 0,
1213
+ clip: "rect(0 0 0 0)",
1214
+ clipPath: "inset(50%)",
1215
+ height: "1px",
1216
+ margin: "-1px",
1217
+ overflow: "hidden",
1218
+ padding: 0,
1219
+ position: "absolute",
1220
+ width: "1px",
1221
+ whiteSpace: "nowrap"
1222
+ };
1223
+ function $ea3928288112382f$export$a966af930f325cab(props = {}) {
1224
+ let { style, isFocusable } = props;
1225
+ let [isFocused, setFocused] = useState(false);
1226
+ let { focusWithinProps } = $2c9edc598a03d523$export$420e68273165f4ec({
1227
+ isDisabled: !isFocusable,
1228
+ onFocusWithinChange: (val) => setFocused(val)
1229
+ });
1230
+ let combinedStyles = useMemo(() => {
1231
+ if (isFocused) return style;
1232
+ else if (style) return {
1233
+ ...$ea3928288112382f$var$styles,
1234
+ ...style
1235
+ };
1236
+ else return $ea3928288112382f$var$styles;
1237
+ }, [
1238
+ isFocused
1239
+ ]);
1240
+ return {
1241
+ visuallyHiddenProps: {
1242
+ ...focusWithinProps,
1243
+ style: combinedStyles
1244
+ }
1245
+ };
1246
+ }
1247
+ function $ea3928288112382f$export$439d29a4e110a164(props) {
1248
+ let { children, elementType: Element = "div", isFocusable, style, ...otherProps } = props;
1249
+ let { visuallyHiddenProps } = $ea3928288112382f$export$a966af930f325cab(props);
1250
+ return /* @__PURE__ */ React__default.createElement(Element, $bbaa08b3cd72f041$export$9d1611c77c2fe928(otherProps, visuallyHiddenProps), children);
1251
+ }
1252
+ function $bd90acf18e792be6$export$b7a616150fdb9f44(options = {}) {
1253
+ let { locale } = $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7();
1254
+ return useMemo(() => new $1dfb119a85e764e5$export$cc77c4ff7e8673c5(locale, options), [
1255
+ locale,
1256
+ options
1257
+ ]);
1258
+ }
1259
+ const $b2a66ce670b3f60f$export$d6c8d9636a3dc49c = /* @__PURE__ */ new WeakMap();
1260
+ function $b2a66ce670b3f60f$export$68e648cbec363a18(state, index) {
1261
+ let data = $b2a66ce670b3f60f$export$d6c8d9636a3dc49c.get(state);
1262
+ if (!data) throw new Error("Unknown slider state");
1263
+ return `${data.id}-${index}`;
1264
+ }
1265
+ function $4b964a467b2bc7ea$export$56b2c08e277f365(props, state, trackRef) {
1266
+ let { labelProps, fieldProps } = $0beb20c9744a2065$export$8467354a121f1b9f(props);
1267
+ let isVertical = props.orientation === "vertical";
1268
+ $b2a66ce670b3f60f$export$d6c8d9636a3dc49c.set(state, {
1269
+ id: labelProps.id ?? fieldProps.id,
1270
+ "aria-describedby": props["aria-describedby"],
1271
+ "aria-details": props["aria-details"]
1272
+ });
1273
+ let { direction } = $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7();
1274
+ let { addGlobalListener, removeGlobalListener } = $48a7d519b337145d$export$4eaf04e54aa8eed6();
1275
+ const realTimeTrackDraggingIndex = useRef(null);
1276
+ const reverseX = direction === "rtl";
1277
+ const currentPosition = useRef(null);
1278
+ const { moveProps } = $1dfdc54e7eb53ba0$export$36da96379f79f245({
1279
+ onMoveStart() {
1280
+ currentPosition.current = null;
1281
+ },
1282
+ onMove({ deltaX, deltaY }) {
1283
+ if (!trackRef.current) return;
1284
+ let { height, width } = trackRef.current.getBoundingClientRect();
1285
+ let size = isVertical ? height : width;
1286
+ if (currentPosition.current == null && realTimeTrackDraggingIndex.current != null) currentPosition.current = state.getThumbPercent(realTimeTrackDraggingIndex.current) * size;
1287
+ let delta = isVertical ? deltaY : deltaX;
1288
+ if (isVertical || reverseX) delta = -delta;
1289
+ currentPosition.current += delta;
1290
+ if (realTimeTrackDraggingIndex.current != null && trackRef.current) {
1291
+ const percent = $240e9101ba2842f5$export$7d15b64cf5a3a4c4(currentPosition.current / size, 0, 1);
1292
+ state.setThumbPercent(realTimeTrackDraggingIndex.current, percent);
1293
+ }
1294
+ },
1295
+ onMoveEnd() {
1296
+ if (realTimeTrackDraggingIndex.current != null) {
1297
+ state.setThumbDragging(realTimeTrackDraggingIndex.current, false);
1298
+ realTimeTrackDraggingIndex.current = null;
1299
+ }
1300
+ }
1301
+ });
1302
+ let currentPointer = useRef(void 0);
1303
+ let onDownTrack = (e, id, clientX, clientY) => {
1304
+ if (trackRef.current && !props.isDisabled && state.values.every((_, i) => !state.isThumbDragging(i))) {
1305
+ let { height, width, top, left } = trackRef.current.getBoundingClientRect();
1306
+ let size = isVertical ? height : width;
1307
+ const trackPosition = isVertical ? top : left;
1308
+ const clickPosition = isVertical ? clientY : clientX;
1309
+ const offset = clickPosition - trackPosition;
1310
+ let percent = offset / size;
1311
+ if (direction === "rtl" || isVertical) percent = 1 - percent;
1312
+ let value = state.getPercentValue(percent);
1313
+ let closestThumb;
1314
+ let split = state.values.findIndex((v2) => value - v2 < 0);
1315
+ if (split === 0) closestThumb = split;
1316
+ else if (split === -1) closestThumb = state.values.length - 1;
1317
+ else {
1318
+ let lastLeft = state.values[split - 1];
1319
+ let firstRight = state.values[split];
1320
+ if (Math.abs(lastLeft - value) < Math.abs(firstRight - value)) closestThumb = split - 1;
1321
+ else closestThumb = split;
1322
+ }
1323
+ if (closestThumb >= 0 && state.isThumbEditable(closestThumb)) {
1324
+ e.preventDefault();
1325
+ realTimeTrackDraggingIndex.current = closestThumb;
1326
+ state.setFocusedThumb(closestThumb);
1327
+ currentPointer.current = id;
1328
+ state.setThumbDragging(realTimeTrackDraggingIndex.current, true);
1329
+ state.setThumbValue(closestThumb, value);
1330
+ addGlobalListener(window, "mouseup", onUpTrack, false);
1331
+ addGlobalListener(window, "touchend", onUpTrack, false);
1332
+ addGlobalListener(window, "pointerup", onUpTrack, false);
1333
+ } else realTimeTrackDraggingIndex.current = null;
1334
+ }
1335
+ };
1336
+ let onUpTrack = (e) => {
1337
+ var _a;
1338
+ let id = e.pointerId ?? ((_a = e.changedTouches) == null ? void 0 : _a[0].identifier);
1339
+ if (id === currentPointer.current) {
1340
+ if (realTimeTrackDraggingIndex.current != null) {
1341
+ state.setThumbDragging(realTimeTrackDraggingIndex.current, false);
1342
+ realTimeTrackDraggingIndex.current = null;
1343
+ }
1344
+ removeGlobalListener(window, "mouseup", onUpTrack, false);
1345
+ removeGlobalListener(window, "touchend", onUpTrack, false);
1346
+ removeGlobalListener(window, "pointerup", onUpTrack, false);
1347
+ }
1348
+ };
1349
+ if ("htmlFor" in labelProps && labelProps.htmlFor) {
1350
+ delete labelProps.htmlFor;
1351
+ labelProps.onClick = () => {
1352
+ var _a;
1353
+ (_a = document.getElementById($b2a66ce670b3f60f$export$68e648cbec363a18(state, 0))) == null ? void 0 : _a.focus();
1354
+ $8f5a2122b0992be3$export$8397ddfc504fdb9a("keyboard");
1355
+ };
1356
+ }
1357
+ return {
1358
+ labelProps,
1359
+ // The root element of the Slider will have role="group" to group together
1360
+ // all the thumb inputs in the Slider. The label of the Slider will
1361
+ // be used to label the group.
1362
+ groupProps: {
1363
+ role: "group",
1364
+ ...fieldProps
1365
+ },
1366
+ trackProps: $bbaa08b3cd72f041$export$9d1611c77c2fe928({
1367
+ onMouseDown(e) {
1368
+ if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) return;
1369
+ onDownTrack(e, void 0, e.clientX, e.clientY);
1370
+ },
1371
+ onPointerDown(e) {
1372
+ if (e.pointerType === "mouse" && (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey)) return;
1373
+ onDownTrack(e, e.pointerId, e.clientX, e.clientY);
1374
+ },
1375
+ onTouchStart(e) {
1376
+ onDownTrack(e, e.changedTouches[0].identifier, e.changedTouches[0].clientX, e.changedTouches[0].clientY);
1377
+ },
1378
+ style: {
1379
+ position: "relative",
1380
+ touchAction: "none"
1381
+ }
1382
+ }, moveProps),
1383
+ outputProps: {
1384
+ htmlFor: state.values.map((_, index) => $b2a66ce670b3f60f$export$68e648cbec363a18(state, index)).join(" "),
1385
+ "aria-live": "off"
1386
+ }
1387
+ };
1388
+ }
1389
+ function $4a5dd96ecb58ab11$export$8d15029008292ae(opts, state) {
1390
+ let { index = 0, isRequired, validationState, isInvalid, trackRef, inputRef, orientation = state.orientation, name, form } = opts;
1391
+ let isDisabled = opts.isDisabled || state.isDisabled;
1392
+ let isVertical = orientation === "vertical";
1393
+ let { direction } = $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7();
1394
+ let { addGlobalListener, removeGlobalListener } = $48a7d519b337145d$export$4eaf04e54aa8eed6();
1395
+ let data = $b2a66ce670b3f60f$export$d6c8d9636a3dc49c.get(state);
1396
+ const { labelProps, fieldProps } = $0beb20c9744a2065$export$8467354a121f1b9f({
1397
+ ...opts,
1398
+ id: $b2a66ce670b3f60f$export$68e648cbec363a18(state, index),
1399
+ "aria-labelledby": `${data.id} ${opts["aria-labelledby"] ?? ""}`.trim()
1400
+ });
1401
+ const value = state.values[index];
1402
+ const focusInput = useCallback(() => {
1403
+ if (inputRef.current) $1969ac565cfec8d0$export$de79e2c695e052f3(inputRef.current);
1404
+ }, [
1405
+ inputRef
1406
+ ]);
1407
+ const isFocused = state.focusedThumb === index;
1408
+ useEffect(() => {
1409
+ if (isFocused) focusInput();
1410
+ }, [
1411
+ isFocused,
1412
+ focusInput
1413
+ ]);
1414
+ let reverseX = direction === "rtl";
1415
+ let currentPosition = useRef(null);
1416
+ let { keyboardProps } = $8296dad1a4c5e0dc$export$8f71654801c2f7cd({
1417
+ onKeyDown(e) {
1418
+ let { getThumbMaxValue, getThumbMinValue, decrementThumb, incrementThumb, setThumbValue, setThumbDragging, pageSize } = state;
1419
+ if (!/^(PageUp|PageDown|Home|End)$/.test(e.key)) {
1420
+ e.continuePropagation();
1421
+ return;
1422
+ }
1423
+ e.preventDefault();
1424
+ setThumbDragging(index, true);
1425
+ switch (e.key) {
1426
+ case "PageUp":
1427
+ incrementThumb(index, pageSize);
1428
+ break;
1429
+ case "PageDown":
1430
+ decrementThumb(index, pageSize);
1431
+ break;
1432
+ case "Home":
1433
+ setThumbValue(index, getThumbMinValue(index));
1434
+ break;
1435
+ case "End":
1436
+ setThumbValue(index, getThumbMaxValue(index));
1437
+ break;
1438
+ }
1439
+ setThumbDragging(index, false);
1440
+ }
1441
+ });
1442
+ let { moveProps } = $1dfdc54e7eb53ba0$export$36da96379f79f245({
1443
+ onMoveStart() {
1444
+ currentPosition.current = null;
1445
+ state.setThumbDragging(index, true);
1446
+ },
1447
+ onMove({ deltaX, deltaY, pointerType, shiftKey }) {
1448
+ const { getThumbPercent, setThumbPercent, decrementThumb, incrementThumb, step, pageSize } = state;
1449
+ if (!trackRef.current) return;
1450
+ let { width, height } = trackRef.current.getBoundingClientRect();
1451
+ let size = isVertical ? height : width;
1452
+ if (currentPosition.current == null) currentPosition.current = getThumbPercent(index) * size;
1453
+ if (pointerType === "keyboard") {
1454
+ if (deltaX > 0 && reverseX || deltaX < 0 && !reverseX || deltaY > 0) decrementThumb(index, shiftKey ? pageSize : step);
1455
+ else incrementThumb(index, shiftKey ? pageSize : step);
1456
+ } else {
1457
+ let delta = isVertical ? deltaY : deltaX;
1458
+ if (isVertical || reverseX) delta = -delta;
1459
+ currentPosition.current += delta;
1460
+ setThumbPercent(index, $240e9101ba2842f5$export$7d15b64cf5a3a4c4(currentPosition.current / size, 0, 1));
1461
+ }
1462
+ },
1463
+ onMoveEnd() {
1464
+ state.setThumbDragging(index, false);
1465
+ }
1466
+ });
1467
+ state.setThumbEditable(index, !isDisabled);
1468
+ const { focusableProps } = $d1116acdf220c2da$export$4c014de7c8940b4c($bbaa08b3cd72f041$export$9d1611c77c2fe928(opts, {
1469
+ onFocus: () => state.setFocusedThumb(index),
1470
+ onBlur: () => state.setFocusedThumb(void 0)
1471
+ }), inputRef);
1472
+ let currentPointer = useRef(void 0);
1473
+ let onDown = (id) => {
1474
+ focusInput();
1475
+ currentPointer.current = id;
1476
+ state.setThumbDragging(index, true);
1477
+ addGlobalListener(window, "mouseup", onUp, false);
1478
+ addGlobalListener(window, "touchend", onUp, false);
1479
+ addGlobalListener(window, "pointerup", onUp, false);
1480
+ };
1481
+ let onUp = (e) => {
1482
+ var _a;
1483
+ let id = e.pointerId ?? ((_a = e.changedTouches) == null ? void 0 : _a[0].identifier);
1484
+ if (id === currentPointer.current) {
1485
+ focusInput();
1486
+ state.setThumbDragging(index, false);
1487
+ removeGlobalListener(window, "mouseup", onUp, false);
1488
+ removeGlobalListener(window, "touchend", onUp, false);
1489
+ removeGlobalListener(window, "pointerup", onUp, false);
1490
+ }
1491
+ };
1492
+ let thumbPosition = state.getThumbPercent(index);
1493
+ if (isVertical || direction === "rtl") thumbPosition = 1 - thumbPosition;
1494
+ let interactions = !isDisabled ? $bbaa08b3cd72f041$export$9d1611c77c2fe928(keyboardProps, moveProps, {
1495
+ onMouseDown: (e) => {
1496
+ if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) return;
1497
+ onDown();
1498
+ },
1499
+ onPointerDown: (e) => {
1500
+ if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) return;
1501
+ onDown(e.pointerId);
1502
+ },
1503
+ onTouchStart: (e) => {
1504
+ onDown(e.changedTouches[0].identifier);
1505
+ }
1506
+ }) : {};
1507
+ $3274bf1495747a7b$export$5add1d006293d136(inputRef, state.defaultValues[index], (v2) => {
1508
+ state.setThumbValue(index, v2);
1509
+ });
1510
+ return {
1511
+ inputProps: $bbaa08b3cd72f041$export$9d1611c77c2fe928(focusableProps, fieldProps, {
1512
+ type: "range",
1513
+ tabIndex: !isDisabled ? 0 : void 0,
1514
+ min: state.getThumbMinValue(index),
1515
+ max: state.getThumbMaxValue(index),
1516
+ step: state.step,
1517
+ value,
1518
+ name,
1519
+ form,
1520
+ disabled: isDisabled,
1521
+ "aria-orientation": orientation,
1522
+ "aria-valuetext": state.getThumbValueLabel(index),
1523
+ "aria-required": isRequired || void 0,
1524
+ "aria-invalid": isInvalid || validationState === "invalid" || void 0,
1525
+ "aria-errormessage": opts["aria-errormessage"],
1526
+ "aria-describedby": [
1527
+ data["aria-describedby"],
1528
+ opts["aria-describedby"]
1529
+ ].filter(Boolean).join(" "),
1530
+ "aria-details": [
1531
+ data["aria-details"],
1532
+ opts["aria-details"]
1533
+ ].filter(Boolean).join(" "),
1534
+ onChange: (e) => {
1535
+ state.setThumbValue(index, parseFloat($23f2114a1b82827e$export$e58f029f0fbfdb29(e).value));
1536
+ }
1537
+ }),
1538
+ thumbProps: {
1539
+ ...interactions,
1540
+ style: {
1541
+ position: "absolute",
1542
+ [isVertical ? "top" : "left"]: `${thumbPosition * 100}%`,
1543
+ transform: "translate(-50%, -50%)",
1544
+ touchAction: "none"
1545
+ }
1546
+ },
1547
+ labelProps,
1548
+ isDragging: state.isThumbDragging(index),
1549
+ isDisabled,
1550
+ isFocused
1551
+ };
1552
+ }
1553
+ const $0393f8ab869a0f1a$export$e9f3bf65a26ce129 = /* @__PURE__ */ createContext(null);
1554
+ const $d2b4bc8c273e7be6$export$24d547caef80ccd1 = /* @__PURE__ */ createContext({});
1555
+ const $d2b4bc8c273e7be6$export$353f5b6fc5456de1 = /* @__PURE__ */ $f39a9eba43920ace$export$86427a43e3e48ebb(function Button(props, ref) {
1556
+ [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $d2b4bc8c273e7be6$export$24d547caef80ccd1);
1557
+ props = $d2b4bc8c273e7be6$var$disablePendingProps(props);
1558
+ let ctx = props;
1559
+ let { isPending } = ctx;
1560
+ let { buttonProps, isPressed } = $ac4318a9c075bb9f$export$ea18c227d4417cc3(props, ref);
1561
+ let { focusProps, isFocused, isFocusVisible } = $0c4a58759813079a$export$4e328f61c538687f(props);
1562
+ let { hoverProps, isHovered } = $e969f22b6713ca4a$export$ae780daf29e6d456({
1563
+ ...props,
1564
+ isDisabled: props.isDisabled || isPending
1565
+ });
1566
+ let renderValues = {
1567
+ isHovered,
1568
+ isPressed: (ctx.isPressed || isPressed) && !isPending,
1569
+ isFocused,
1570
+ isFocusVisible,
1571
+ isDisabled: props.isDisabled || false,
1572
+ isPending: isPending !== null && isPending !== void 0 ? isPending : false
1573
+ };
1574
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
1575
+ ...props,
1576
+ values: renderValues,
1577
+ defaultClassName: "react-aria-Button"
1578
+ });
1579
+ let buttonId = $390e54f620492c70$export$f680877a34711e37(buttonProps.id);
1580
+ let progressId = $390e54f620492c70$export$f680877a34711e37();
1581
+ let ariaLabelledby = buttonProps["aria-labelledby"];
1582
+ if (isPending) {
1583
+ if (ariaLabelledby) ariaLabelledby = `${ariaLabelledby} ${progressId}`;
1584
+ else if (buttonProps["aria-label"]) ariaLabelledby = `${buttonId} ${progressId}`;
1585
+ }
1586
+ let wasPending = useRef(isPending);
1587
+ useEffect(() => {
1588
+ let message = {
1589
+ "aria-labelledby": ariaLabelledby || buttonId
1590
+ };
1591
+ if (!wasPending.current && isFocused && isPending) $319e236875307eab$export$a9b970dcc4ae71a9(message, "assertive");
1592
+ else if (wasPending.current && isFocused && !isPending) $319e236875307eab$export$a9b970dcc4ae71a9(message, "assertive");
1593
+ wasPending.current = isPending;
1594
+ }, [
1595
+ isPending,
1596
+ isFocused,
1597
+ ariaLabelledby,
1598
+ buttonId
1599
+ ]);
1600
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
1601
+ global: true
1602
+ });
1603
+ delete DOMProps.onClick;
1604
+ return /* @__PURE__ */ React__default.createElement("button", {
1605
+ ...$bbaa08b3cd72f041$export$9d1611c77c2fe928(DOMProps, renderProps, buttonProps, focusProps, hoverProps),
1606
+ // When the button is in a pending state, we want to stop implicit form submission (ie. when the user presses enter on a text input).
1607
+ // We do this by changing the button's type to button.
1608
+ type: buttonProps.type === "submit" && isPending ? "button" : buttonProps.type,
1609
+ id: buttonId,
1610
+ ref,
1611
+ "aria-labelledby": ariaLabelledby,
1612
+ slot: props.slot || void 0,
1613
+ "aria-disabled": isPending ? "true" : buttonProps["aria-disabled"],
1614
+ "data-disabled": props.isDisabled || void 0,
1615
+ "data-pressed": renderValues.isPressed || void 0,
1616
+ "data-hovered": isHovered || void 0,
1617
+ "data-focused": isFocused || void 0,
1618
+ "data-pending": isPending || void 0,
1619
+ "data-focus-visible": isFocusVisible || void 0
1620
+ }, /* @__PURE__ */ React__default.createElement($0393f8ab869a0f1a$export$e9f3bf65a26ce129.Provider, {
1621
+ value: {
1622
+ id: progressId
1623
+ }
1624
+ }, renderProps.children));
1625
+ });
1626
+ function $d2b4bc8c273e7be6$var$disablePendingProps(props) {
1627
+ if (props.isPending) {
1628
+ props.onPress = void 0;
1629
+ props.onPressStart = void 0;
1630
+ props.onPressEnd = void 0;
1631
+ props.onPressChange = void 0;
1632
+ props.onPressUp = void 0;
1633
+ props.onKeyDown = void 0;
1634
+ props.onKeyUp = void 0;
1635
+ props.onClick = void 0;
1636
+ props.href = void 0;
1637
+ }
1638
+ return props;
1639
+ }
1640
+ const $d806310b82f07e9d$var$DEFAULT_MIN_VALUE = 0;
1641
+ const $d806310b82f07e9d$var$DEFAULT_MAX_VALUE = 100;
1642
+ const $d806310b82f07e9d$var$DEFAULT_STEP_VALUE = 1;
1643
+ function $d806310b82f07e9d$export$e5fda3247f5d67f9(props) {
1644
+ const { isDisabled = false, minValue = $d806310b82f07e9d$var$DEFAULT_MIN_VALUE, maxValue = $d806310b82f07e9d$var$DEFAULT_MAX_VALUE, numberFormatter: formatter, step = $d806310b82f07e9d$var$DEFAULT_STEP_VALUE, orientation = "horizontal" } = props;
1645
+ let pageSize = useMemo(() => {
1646
+ let calcPageSize = (maxValue - minValue) / 10;
1647
+ calcPageSize = $240e9101ba2842f5$export$cb6e0bb50bc19463(calcPageSize, 0, calcPageSize + step, step);
1648
+ return Math.max(calcPageSize, step);
1649
+ }, [
1650
+ step,
1651
+ maxValue,
1652
+ minValue
1653
+ ]);
1654
+ let restrictValues = useCallback((values2) => values2 == null ? void 0 : values2.map((val, idx) => {
1655
+ let min = idx === 0 ? minValue : values2[idx - 1];
1656
+ let max = idx === values2.length - 1 ? maxValue : values2[idx + 1];
1657
+ return $240e9101ba2842f5$export$cb6e0bb50bc19463(val, min, max, step);
1658
+ }), [
1659
+ minValue,
1660
+ maxValue,
1661
+ step
1662
+ ]);
1663
+ let value = useMemo(() => restrictValues($d806310b82f07e9d$var$convertValue(props.value)), [
1664
+ props.value,
1665
+ restrictValues
1666
+ ]);
1667
+ let defaultValue = useMemo(() => restrictValues($d806310b82f07e9d$var$convertValue(props.defaultValue) ?? [
1668
+ minValue
1669
+ ]), [
1670
+ props.defaultValue,
1671
+ minValue,
1672
+ restrictValues
1673
+ ]);
1674
+ let onChange = $d806310b82f07e9d$var$createOnChange(props.value, props.defaultValue, props.onChange);
1675
+ let onChangeEnd = $d806310b82f07e9d$var$createOnChange(props.value, props.defaultValue, props.onChangeEnd);
1676
+ const [values, setValuesState] = $3e6197669829fe11$export$40bfa8c7b0832715(value, defaultValue, onChange);
1677
+ let [initialValues] = useState(values);
1678
+ const [isDraggings, setDraggingsState] = useState(new Array(values.length).fill(false));
1679
+ const isEditablesRef = useRef(new Array(values.length).fill(true));
1680
+ const [focusedIndex, setFocusedIndex] = useState(void 0);
1681
+ const valuesRef = useRef(values);
1682
+ const isDraggingsRef = useRef(isDraggings);
1683
+ let setValues = (values2) => {
1684
+ valuesRef.current = values2;
1685
+ setValuesState(values2);
1686
+ };
1687
+ let setDraggings = (draggings) => {
1688
+ isDraggingsRef.current = draggings;
1689
+ setDraggingsState(draggings);
1690
+ };
1691
+ function getValuePercent(value2) {
1692
+ return (value2 - minValue) / (maxValue - minValue);
1693
+ }
1694
+ function getThumbMinValue(index) {
1695
+ return index === 0 ? minValue : values[index - 1];
1696
+ }
1697
+ function getThumbMaxValue(index) {
1698
+ return index === values.length - 1 ? maxValue : values[index + 1];
1699
+ }
1700
+ function isThumbEditable(index) {
1701
+ return isEditablesRef.current[index];
1702
+ }
1703
+ function setThumbEditable(index, editable) {
1704
+ isEditablesRef.current[index] = editable;
1705
+ }
1706
+ function updateValue(index, value2) {
1707
+ if (isDisabled || !isThumbEditable(index)) return;
1708
+ const thisMin = getThumbMinValue(index);
1709
+ const thisMax = getThumbMaxValue(index);
1710
+ value2 = $240e9101ba2842f5$export$cb6e0bb50bc19463(value2, thisMin, thisMax, step);
1711
+ let newValues = $d806310b82f07e9d$var$replaceIndex(valuesRef.current, index, value2);
1712
+ setValues(newValues);
1713
+ }
1714
+ function updateDragging(index, dragging) {
1715
+ if (isDisabled || !isThumbEditable(index)) return;
1716
+ if (dragging) valuesRef.current = values;
1717
+ const wasDragging = isDraggingsRef.current[index];
1718
+ isDraggingsRef.current = $d806310b82f07e9d$var$replaceIndex(isDraggingsRef.current, index, dragging);
1719
+ setDraggings(isDraggingsRef.current);
1720
+ if (onChangeEnd && wasDragging && !isDraggingsRef.current.some(Boolean)) onChangeEnd(valuesRef.current);
1721
+ }
1722
+ function getFormattedValue(value2) {
1723
+ return formatter.format(value2);
1724
+ }
1725
+ function setThumbPercent(index, percent) {
1726
+ updateValue(index, getPercentValue(percent));
1727
+ }
1728
+ function getRoundedValue(value2) {
1729
+ return Math.round((value2 - minValue) / step) * step + minValue;
1730
+ }
1731
+ function getPercentValue(percent) {
1732
+ const val = percent * (maxValue - minValue) + minValue;
1733
+ return $240e9101ba2842f5$export$7d15b64cf5a3a4c4(getRoundedValue(val), minValue, maxValue);
1734
+ }
1735
+ function incrementThumb(index, stepSize = 1) {
1736
+ let s2 = Math.max(stepSize, step);
1737
+ updateValue(index, $240e9101ba2842f5$export$cb6e0bb50bc19463(values[index] + s2, minValue, maxValue, step));
1738
+ }
1739
+ function decrementThumb(index, stepSize = 1) {
1740
+ let s2 = Math.max(stepSize, step);
1741
+ updateValue(index, $240e9101ba2842f5$export$cb6e0bb50bc19463(values[index] - s2, minValue, maxValue, step));
1742
+ }
1743
+ return {
1744
+ values,
1745
+ defaultValues: props.defaultValue !== void 0 ? defaultValue : initialValues,
1746
+ getThumbValue: (index) => values[index],
1747
+ setThumbValue: updateValue,
1748
+ setThumbPercent,
1749
+ isThumbDragging: (index) => isDraggings[index],
1750
+ setThumbDragging: updateDragging,
1751
+ focusedThumb: focusedIndex,
1752
+ setFocusedThumb: setFocusedIndex,
1753
+ getThumbPercent: (index) => getValuePercent(values[index]),
1754
+ getValuePercent,
1755
+ getThumbValueLabel: (index) => getFormattedValue(values[index]),
1756
+ getFormattedValue,
1757
+ getThumbMinValue,
1758
+ getThumbMaxValue,
1759
+ getPercentValue,
1760
+ isThumbEditable,
1761
+ setThumbEditable,
1762
+ incrementThumb,
1763
+ decrementThumb,
1764
+ step,
1765
+ pageSize,
1766
+ orientation,
1767
+ isDisabled
1768
+ };
1769
+ }
1770
+ function $d806310b82f07e9d$var$replaceIndex(array, index, value) {
1771
+ if (array[index] === value) return array;
1772
+ return [
1773
+ ...array.slice(0, index),
1774
+ value,
1775
+ ...array.slice(index + 1)
1776
+ ];
1777
+ }
1778
+ function $d806310b82f07e9d$var$convertValue(value) {
1779
+ if (value == null) return void 0;
1780
+ return Array.isArray(value) ? value : [
1781
+ value
1782
+ ];
1783
+ }
1784
+ function $d806310b82f07e9d$var$createOnChange(value, defaultValue, onChange) {
1785
+ return (newValue) => {
1786
+ if (typeof value === "number" || typeof defaultValue === "number") onChange == null ? void 0 : onChange(newValue[0]);
1787
+ else onChange == null ? void 0 : onChange(newValue);
1788
+ };
1789
+ }
1790
+ const $6f909507e6374d18$export$e99164f0030f3bff = /* @__PURE__ */ createContext(null);
1791
+ const $6f909507e6374d18$export$1e7083018727fa60 = /* @__PURE__ */ createContext(null);
1792
+ const $6f909507e6374d18$export$f1fce0420cc6d8ee = /* @__PURE__ */ createContext(null);
1793
+ const $6f909507e6374d18$export$6189c2744041d8f8 = /* @__PURE__ */ createContext(null);
1794
+ const $6f909507e6374d18$export$472062a354075cee = /* @__PURE__ */ forwardRef(function Slider(props, ref) {
1795
+ [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $6f909507e6374d18$export$e99164f0030f3bff);
1796
+ let trackRef = useRef(null);
1797
+ let numberFormatter = $bd90acf18e792be6$export$b7a616150fdb9f44(props.formatOptions);
1798
+ let state = $d806310b82f07e9d$export$e5fda3247f5d67f9({
1799
+ ...props,
1800
+ numberFormatter
1801
+ });
1802
+ let [labelRef, label] = $64fa3d84918910a7$export$9d4c57ee4c6ffdd8(!props["aria-label"] && !props["aria-labelledby"]);
1803
+ let { groupProps, trackProps, labelProps, outputProps } = $4b964a467b2bc7ea$export$56b2c08e277f365({
1804
+ ...props,
1805
+ label
1806
+ }, state, trackRef);
1807
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
1808
+ ...props,
1809
+ values: {
1810
+ orientation: state.orientation,
1811
+ isDisabled: state.isDisabled,
1812
+ state
1813
+ },
1814
+ defaultClassName: "react-aria-Slider"
1815
+ });
1816
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
1817
+ global: true
1818
+ });
1819
+ delete DOMProps.id;
1820
+ return /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
1821
+ values: [
1822
+ [
1823
+ $6f909507e6374d18$export$1e7083018727fa60,
1824
+ state
1825
+ ],
1826
+ [
1827
+ $6f909507e6374d18$export$f1fce0420cc6d8ee,
1828
+ {
1829
+ ...trackProps,
1830
+ ref: trackRef
1831
+ }
1832
+ ],
1833
+ [
1834
+ $6f909507e6374d18$export$6189c2744041d8f8,
1835
+ outputProps
1836
+ ],
1837
+ [
1838
+ $01b77f81d0f07f68$export$75b6ee27786ba447,
1839
+ {
1840
+ ...labelProps,
1841
+ ref: labelRef
1842
+ }
1843
+ ]
1844
+ ]
1845
+ }, /* @__PURE__ */ React__default.createElement("div", {
1846
+ ...$bbaa08b3cd72f041$export$9d1611c77c2fe928(DOMProps, renderProps, groupProps),
1847
+ ref,
1848
+ slot: props.slot || void 0,
1849
+ "data-orientation": state.orientation,
1850
+ "data-disabled": state.isDisabled || void 0
1851
+ }));
1852
+ });
1853
+ const $6f909507e6374d18$export$105594979f116971 = /* @__PURE__ */ forwardRef(function SliderTrack(props, ref) {
1854
+ [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $6f909507e6374d18$export$f1fce0420cc6d8ee);
1855
+ let state = useContext($6f909507e6374d18$export$1e7083018727fa60);
1856
+ let { onHoverStart, onHoverEnd, onHoverChange, ...otherProps } = props;
1857
+ let { hoverProps, isHovered } = $e969f22b6713ca4a$export$ae780daf29e6d456({
1858
+ onHoverStart,
1859
+ onHoverEnd,
1860
+ onHoverChange
1861
+ });
1862
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
1863
+ ...props,
1864
+ defaultClassName: "react-aria-SliderTrack",
1865
+ values: {
1866
+ orientation: state.orientation,
1867
+ isDisabled: state.isDisabled,
1868
+ isHovered,
1869
+ state
1870
+ }
1871
+ });
1872
+ return /* @__PURE__ */ React__default.createElement("div", {
1873
+ ...$bbaa08b3cd72f041$export$9d1611c77c2fe928(otherProps, hoverProps),
1874
+ ...renderProps,
1875
+ ref,
1876
+ "data-hovered": isHovered || void 0,
1877
+ "data-orientation": state.orientation || void 0,
1878
+ "data-disabled": state.isDisabled || void 0
1879
+ });
1880
+ });
1881
+ const $6f909507e6374d18$export$2c1b491743890dec = /* @__PURE__ */ forwardRef(function SliderThumb(props, ref) {
1882
+ let { inputRef: userInputRef = null } = props;
1883
+ let state = useContext($6f909507e6374d18$export$1e7083018727fa60);
1884
+ let { ref: trackRef } = $64fa3d84918910a7$export$fabf2dc03a41866e($6f909507e6374d18$export$f1fce0420cc6d8ee);
1885
+ let { index = 0 } = props;
1886
+ let defaultInputRef = useRef(null);
1887
+ let inputRef = userInputRef || defaultInputRef;
1888
+ let [labelRef, label] = $64fa3d84918910a7$export$9d4c57ee4c6ffdd8(!props["aria-label"] && !props["aria-labelledby"]);
1889
+ let { thumbProps, inputProps, labelProps, isDragging, isFocused, isDisabled } = $4a5dd96ecb58ab11$export$8d15029008292ae({
1890
+ ...props,
1891
+ index,
1892
+ trackRef,
1893
+ inputRef,
1894
+ label
1895
+ }, state);
1896
+ let { focusProps, isFocusVisible } = $0c4a58759813079a$export$4e328f61c538687f();
1897
+ let { hoverProps, isHovered } = $e969f22b6713ca4a$export$ae780daf29e6d456(props);
1898
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
1899
+ ...props,
1900
+ defaultClassName: "react-aria-SliderThumb",
1901
+ values: {
1902
+ state,
1903
+ isHovered,
1904
+ isDragging,
1905
+ isFocused,
1906
+ isFocusVisible,
1907
+ isDisabled
1908
+ }
1909
+ });
1910
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
1911
+ global: true
1912
+ });
1913
+ delete DOMProps.id;
1914
+ return /* @__PURE__ */ React__default.createElement("div", {
1915
+ ...$bbaa08b3cd72f041$export$9d1611c77c2fe928(DOMProps, thumbProps, hoverProps),
1916
+ ...renderProps,
1917
+ ref,
1918
+ style: {
1919
+ ...thumbProps.style,
1920
+ ...renderProps.style
1921
+ },
1922
+ "data-hovered": isHovered || void 0,
1923
+ "data-dragging": isDragging || void 0,
1924
+ "data-focused": isFocused || void 0,
1925
+ "data-focus-visible": isFocusVisible || void 0,
1926
+ "data-disabled": isDisabled || void 0
1927
+ }, /* @__PURE__ */ React__default.createElement($ea3928288112382f$export$439d29a4e110a164, null, /* @__PURE__ */ React__default.createElement("input", {
1928
+ ref: inputRef,
1929
+ ...$bbaa08b3cd72f041$export$9d1611c77c2fe928(inputProps, focusProps)
1930
+ })), /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
1931
+ values: [
1932
+ [
1933
+ $01b77f81d0f07f68$export$75b6ee27786ba447,
1934
+ {
1935
+ ...labelProps,
1936
+ ref: labelRef
1937
+ }
1938
+ ]
1939
+ ]
1940
+ }, renderProps.children));
1941
+ });
1942
+ var howler = {};
1943
+ /*!
1944
+ * howler.js v2.2.4
1945
+ * howlerjs.com
1946
+ *
1947
+ * (c) 2013-2020, James Simpson of GoldFire Studios
1948
+ * goldfirestudios.com
1949
+ *
1950
+ * MIT License
1951
+ */
1952
+ var hasRequiredHowler;
1953
+ function requireHowler() {
1954
+ if (hasRequiredHowler) return howler;
1955
+ hasRequiredHowler = 1;
1956
+ (function(exports$1) {
1957
+ (function() {
1958
+ var HowlerGlobal2 = function() {
1959
+ this.init();
1960
+ };
1961
+ HowlerGlobal2.prototype = {
1962
+ /**
1963
+ * Initialize the global Howler object.
1964
+ * @return {Howler}
1965
+ */
1966
+ init: function() {
1967
+ var self = this || Howler2;
1968
+ self._counter = 1e3;
1969
+ self._html5AudioPool = [];
1970
+ self.html5PoolSize = 10;
1971
+ self._codecs = {};
1972
+ self._howls = [];
1973
+ self._muted = false;
1974
+ self._volume = 1;
1975
+ self._canPlayEvent = "canplaythrough";
1976
+ self._navigator = typeof window !== "undefined" && window.navigator ? window.navigator : null;
1977
+ self.masterGain = null;
1978
+ self.noAudio = false;
1979
+ self.usingWebAudio = true;
1980
+ self.autoSuspend = true;
1981
+ self.ctx = null;
1982
+ self.autoUnlock = true;
1983
+ self._setup();
1984
+ return self;
1985
+ },
1986
+ /**
1987
+ * Get/set the global volume for all sounds.
1988
+ * @param {Float} vol Volume from 0.0 to 1.0.
1989
+ * @return {Howler/Float} Returns self or current volume.
1990
+ */
1991
+ volume: function(vol) {
1992
+ var self = this || Howler2;
1993
+ vol = parseFloat(vol);
1994
+ if (!self.ctx) {
1995
+ setupAudioContext();
1996
+ }
1997
+ if (typeof vol !== "undefined" && vol >= 0 && vol <= 1) {
1998
+ self._volume = vol;
1999
+ if (self._muted) {
2000
+ return self;
2001
+ }
2002
+ if (self.usingWebAudio) {
2003
+ self.masterGain.gain.setValueAtTime(vol, Howler2.ctx.currentTime);
2004
+ }
2005
+ for (var i = 0; i < self._howls.length; i++) {
2006
+ if (!self._howls[i]._webAudio) {
2007
+ var ids = self._howls[i]._getSoundIds();
2008
+ for (var j = 0; j < ids.length; j++) {
2009
+ var sound = self._howls[i]._soundById(ids[j]);
2010
+ if (sound && sound._node) {
2011
+ sound._node.volume = sound._volume * vol;
2012
+ }
2013
+ }
2014
+ }
2015
+ }
2016
+ return self;
2017
+ }
2018
+ return self._volume;
2019
+ },
2020
+ /**
2021
+ * Handle muting and unmuting globally.
2022
+ * @param {Boolean} muted Is muted or not.
2023
+ */
2024
+ mute: function(muted) {
2025
+ var self = this || Howler2;
2026
+ if (!self.ctx) {
2027
+ setupAudioContext();
2028
+ }
2029
+ self._muted = muted;
2030
+ if (self.usingWebAudio) {
2031
+ self.masterGain.gain.setValueAtTime(muted ? 0 : self._volume, Howler2.ctx.currentTime);
2032
+ }
2033
+ for (var i = 0; i < self._howls.length; i++) {
2034
+ if (!self._howls[i]._webAudio) {
2035
+ var ids = self._howls[i]._getSoundIds();
2036
+ for (var j = 0; j < ids.length; j++) {
2037
+ var sound = self._howls[i]._soundById(ids[j]);
2038
+ if (sound && sound._node) {
2039
+ sound._node.muted = muted ? true : sound._muted;
2040
+ }
2041
+ }
2042
+ }
2043
+ }
2044
+ return self;
2045
+ },
2046
+ /**
2047
+ * Handle stopping all sounds globally.
2048
+ */
2049
+ stop: function() {
2050
+ var self = this || Howler2;
2051
+ for (var i = 0; i < self._howls.length; i++) {
2052
+ self._howls[i].stop();
2053
+ }
2054
+ return self;
2055
+ },
2056
+ /**
2057
+ * Unload and destroy all currently loaded Howl objects.
2058
+ * @return {Howler}
2059
+ */
2060
+ unload: function() {
2061
+ var self = this || Howler2;
2062
+ for (var i = self._howls.length - 1; i >= 0; i--) {
2063
+ self._howls[i].unload();
2064
+ }
2065
+ if (self.usingWebAudio && self.ctx && typeof self.ctx.close !== "undefined") {
2066
+ self.ctx.close();
2067
+ self.ctx = null;
2068
+ setupAudioContext();
2069
+ }
2070
+ return self;
2071
+ },
2072
+ /**
2073
+ * Check for codec support of specific extension.
2074
+ * @param {String} ext Audio file extention.
2075
+ * @return {Boolean}
2076
+ */
2077
+ codecs: function(ext) {
2078
+ return (this || Howler2)._codecs[ext.replace(/^x-/, "")];
2079
+ },
2080
+ /**
2081
+ * Setup various state values for global tracking.
2082
+ * @return {Howler}
2083
+ */
2084
+ _setup: function() {
2085
+ var self = this || Howler2;
2086
+ self.state = self.ctx ? self.ctx.state || "suspended" : "suspended";
2087
+ self._autoSuspend();
2088
+ if (!self.usingWebAudio) {
2089
+ if (typeof Audio !== "undefined") {
2090
+ try {
2091
+ var test = new Audio();
2092
+ if (typeof test.oncanplaythrough === "undefined") {
2093
+ self._canPlayEvent = "canplay";
2094
+ }
2095
+ } catch (e) {
2096
+ self.noAudio = true;
2097
+ }
2098
+ } else {
2099
+ self.noAudio = true;
2100
+ }
2101
+ }
2102
+ try {
2103
+ var test = new Audio();
2104
+ if (test.muted) {
2105
+ self.noAudio = true;
2106
+ }
2107
+ } catch (e) {
2108
+ }
2109
+ if (!self.noAudio) {
2110
+ self._setupCodecs();
2111
+ }
2112
+ return self;
2113
+ },
2114
+ /**
2115
+ * Check for browser support for various codecs and cache the results.
2116
+ * @return {Howler}
2117
+ */
2118
+ _setupCodecs: function() {
2119
+ var self = this || Howler2;
2120
+ var audioTest = null;
2121
+ try {
2122
+ audioTest = typeof Audio !== "undefined" ? new Audio() : null;
2123
+ } catch (err) {
2124
+ return self;
2125
+ }
2126
+ if (!audioTest || typeof audioTest.canPlayType !== "function") {
2127
+ return self;
2128
+ }
2129
+ var mpegTest = audioTest.canPlayType("audio/mpeg;").replace(/^no$/, "");
2130
+ var ua = self._navigator ? self._navigator.userAgent : "";
2131
+ var checkOpera = ua.match(/OPR\/(\d+)/g);
2132
+ var isOldOpera = checkOpera && parseInt(checkOpera[0].split("/")[1], 10) < 33;
2133
+ var checkSafari = ua.indexOf("Safari") !== -1 && ua.indexOf("Chrome") === -1;
2134
+ var safariVersion = ua.match(/Version\/(.*?) /);
2135
+ var isOldSafari = checkSafari && safariVersion && parseInt(safariVersion[1], 10) < 15;
2136
+ self._codecs = {
2137
+ mp3: !!(!isOldOpera && (mpegTest || audioTest.canPlayType("audio/mp3;").replace(/^no$/, ""))),
2138
+ mpeg: !!mpegTest,
2139
+ opus: !!audioTest.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/, ""),
2140
+ ogg: !!audioTest.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""),
2141
+ oga: !!audioTest.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, ""),
2142
+ wav: !!(audioTest.canPlayType('audio/wav; codecs="1"') || audioTest.canPlayType("audio/wav")).replace(/^no$/, ""),
2143
+ aac: !!audioTest.canPlayType("audio/aac;").replace(/^no$/, ""),
2144
+ caf: !!audioTest.canPlayType("audio/x-caf;").replace(/^no$/, ""),
2145
+ m4a: !!(audioTest.canPlayType("audio/x-m4a;") || audioTest.canPlayType("audio/m4a;") || audioTest.canPlayType("audio/aac;")).replace(/^no$/, ""),
2146
+ m4b: !!(audioTest.canPlayType("audio/x-m4b;") || audioTest.canPlayType("audio/m4b;") || audioTest.canPlayType("audio/aac;")).replace(/^no$/, ""),
2147
+ mp4: !!(audioTest.canPlayType("audio/x-mp4;") || audioTest.canPlayType("audio/mp4;") || audioTest.canPlayType("audio/aac;")).replace(/^no$/, ""),
2148
+ weba: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")),
2149
+ webm: !!(!isOldSafari && audioTest.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/, "")),
2150
+ dolby: !!audioTest.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/, ""),
2151
+ flac: !!(audioTest.canPlayType("audio/x-flac;") || audioTest.canPlayType("audio/flac;")).replace(/^no$/, "")
2152
+ };
2153
+ return self;
2154
+ },
2155
+ /**
2156
+ * Some browsers/devices will only allow audio to be played after a user interaction.
2157
+ * Attempt to automatically unlock audio on the first user interaction.
2158
+ * Concept from: http://paulbakaus.com/tutorials/html5/web-audio-on-ios/
2159
+ * @return {Howler}
2160
+ */
2161
+ _unlockAudio: function() {
2162
+ var self = this || Howler2;
2163
+ if (self._audioUnlocked || !self.ctx) {
2164
+ return;
2165
+ }
2166
+ self._audioUnlocked = false;
2167
+ self.autoUnlock = false;
2168
+ if (!self._mobileUnloaded && self.ctx.sampleRate !== 44100) {
2169
+ self._mobileUnloaded = true;
2170
+ self.unload();
2171
+ }
2172
+ self._scratchBuffer = self.ctx.createBuffer(1, 1, 22050);
2173
+ var unlock = function(e) {
2174
+ while (self._html5AudioPool.length < self.html5PoolSize) {
2175
+ try {
2176
+ var audioNode = new Audio();
2177
+ audioNode._unlocked = true;
2178
+ self._releaseHtml5Audio(audioNode);
2179
+ } catch (e2) {
2180
+ self.noAudio = true;
2181
+ break;
2182
+ }
2183
+ }
2184
+ for (var i = 0; i < self._howls.length; i++) {
2185
+ if (!self._howls[i]._webAudio) {
2186
+ var ids = self._howls[i]._getSoundIds();
2187
+ for (var j = 0; j < ids.length; j++) {
2188
+ var sound = self._howls[i]._soundById(ids[j]);
2189
+ if (sound && sound._node && !sound._node._unlocked) {
2190
+ sound._node._unlocked = true;
2191
+ sound._node.load();
2192
+ }
2193
+ }
2194
+ }
2195
+ }
2196
+ self._autoResume();
2197
+ var source = self.ctx.createBufferSource();
2198
+ source.buffer = self._scratchBuffer;
2199
+ source.connect(self.ctx.destination);
2200
+ if (typeof source.start === "undefined") {
2201
+ source.noteOn(0);
2202
+ } else {
2203
+ source.start(0);
2204
+ }
2205
+ if (typeof self.ctx.resume === "function") {
2206
+ self.ctx.resume();
2207
+ }
2208
+ source.onended = function() {
2209
+ source.disconnect(0);
2210
+ self._audioUnlocked = true;
2211
+ document.removeEventListener("touchstart", unlock, true);
2212
+ document.removeEventListener("touchend", unlock, true);
2213
+ document.removeEventListener("click", unlock, true);
2214
+ document.removeEventListener("keydown", unlock, true);
2215
+ for (var i2 = 0; i2 < self._howls.length; i2++) {
2216
+ self._howls[i2]._emit("unlock");
2217
+ }
2218
+ };
2219
+ };
2220
+ document.addEventListener("touchstart", unlock, true);
2221
+ document.addEventListener("touchend", unlock, true);
2222
+ document.addEventListener("click", unlock, true);
2223
+ document.addEventListener("keydown", unlock, true);
2224
+ return self;
2225
+ },
2226
+ /**
2227
+ * Get an unlocked HTML5 Audio object from the pool. If none are left,
2228
+ * return a new Audio object and throw a warning.
2229
+ * @return {Audio} HTML5 Audio object.
2230
+ */
2231
+ _obtainHtml5Audio: function() {
2232
+ var self = this || Howler2;
2233
+ if (self._html5AudioPool.length) {
2234
+ return self._html5AudioPool.pop();
2235
+ }
2236
+ var testPlay = new Audio().play();
2237
+ if (testPlay && typeof Promise !== "undefined" && (testPlay instanceof Promise || typeof testPlay.then === "function")) {
2238
+ testPlay.catch(function() {
2239
+ console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.");
2240
+ });
2241
+ }
2242
+ return new Audio();
2243
+ },
2244
+ /**
2245
+ * Return an activated HTML5 Audio object to the pool.
2246
+ * @return {Howler}
2247
+ */
2248
+ _releaseHtml5Audio: function(audio) {
2249
+ var self = this || Howler2;
2250
+ if (audio._unlocked) {
2251
+ self._html5AudioPool.push(audio);
2252
+ }
2253
+ return self;
2254
+ },
2255
+ /**
2256
+ * Automatically suspend the Web Audio AudioContext after no sound has played for 30 seconds.
2257
+ * This saves processing/energy and fixes various browser-specific bugs with audio getting stuck.
2258
+ * @return {Howler}
2259
+ */
2260
+ _autoSuspend: function() {
2261
+ var self = this;
2262
+ if (!self.autoSuspend || !self.ctx || typeof self.ctx.suspend === "undefined" || !Howler2.usingWebAudio) {
2263
+ return;
2264
+ }
2265
+ for (var i = 0; i < self._howls.length; i++) {
2266
+ if (self._howls[i]._webAudio) {
2267
+ for (var j = 0; j < self._howls[i]._sounds.length; j++) {
2268
+ if (!self._howls[i]._sounds[j]._paused) {
2269
+ return self;
2270
+ }
2271
+ }
2272
+ }
2273
+ }
2274
+ if (self._suspendTimer) {
2275
+ clearTimeout(self._suspendTimer);
2276
+ }
2277
+ self._suspendTimer = setTimeout(function() {
2278
+ if (!self.autoSuspend) {
2279
+ return;
2280
+ }
2281
+ self._suspendTimer = null;
2282
+ self.state = "suspending";
2283
+ var handleSuspension = function() {
2284
+ self.state = "suspended";
2285
+ if (self._resumeAfterSuspend) {
2286
+ delete self._resumeAfterSuspend;
2287
+ self._autoResume();
2288
+ }
2289
+ };
2290
+ self.ctx.suspend().then(handleSuspension, handleSuspension);
2291
+ }, 3e4);
2292
+ return self;
2293
+ },
2294
+ /**
2295
+ * Automatically resume the Web Audio AudioContext when a new sound is played.
2296
+ * @return {Howler}
2297
+ */
2298
+ _autoResume: function() {
2299
+ var self = this;
2300
+ if (!self.ctx || typeof self.ctx.resume === "undefined" || !Howler2.usingWebAudio) {
2301
+ return;
2302
+ }
2303
+ if (self.state === "running" && self.ctx.state !== "interrupted" && self._suspendTimer) {
2304
+ clearTimeout(self._suspendTimer);
2305
+ self._suspendTimer = null;
2306
+ } else if (self.state === "suspended" || self.state === "running" && self.ctx.state === "interrupted") {
2307
+ self.ctx.resume().then(function() {
2308
+ self.state = "running";
2309
+ for (var i = 0; i < self._howls.length; i++) {
2310
+ self._howls[i]._emit("resume");
2311
+ }
2312
+ });
2313
+ if (self._suspendTimer) {
2314
+ clearTimeout(self._suspendTimer);
2315
+ self._suspendTimer = null;
2316
+ }
2317
+ } else if (self.state === "suspending") {
2318
+ self._resumeAfterSuspend = true;
2319
+ }
2320
+ return self;
2321
+ }
2322
+ };
2323
+ var Howler2 = new HowlerGlobal2();
2324
+ var Howl2 = function(o2) {
2325
+ var self = this;
2326
+ if (!o2.src || o2.src.length === 0) {
2327
+ console.error("An array of source files must be passed with any new Howl.");
2328
+ return;
2329
+ }
2330
+ self.init(o2);
2331
+ };
2332
+ Howl2.prototype = {
2333
+ /**
2334
+ * Initialize a new Howl group object.
2335
+ * @param {Object} o Passed in properties for this group.
2336
+ * @return {Howl}
2337
+ */
2338
+ init: function(o2) {
2339
+ var self = this;
2340
+ if (!Howler2.ctx) {
2341
+ setupAudioContext();
2342
+ }
2343
+ self._autoplay = o2.autoplay || false;
2344
+ self._format = typeof o2.format !== "string" ? o2.format : [o2.format];
2345
+ self._html5 = o2.html5 || false;
2346
+ self._muted = o2.mute || false;
2347
+ self._loop = o2.loop || false;
2348
+ self._pool = o2.pool || 5;
2349
+ self._preload = typeof o2.preload === "boolean" || o2.preload === "metadata" ? o2.preload : true;
2350
+ self._rate = o2.rate || 1;
2351
+ self._sprite = o2.sprite || {};
2352
+ self._src = typeof o2.src !== "string" ? o2.src : [o2.src];
2353
+ self._volume = o2.volume !== void 0 ? o2.volume : 1;
2354
+ self._xhr = {
2355
+ method: o2.xhr && o2.xhr.method ? o2.xhr.method : "GET",
2356
+ headers: o2.xhr && o2.xhr.headers ? o2.xhr.headers : null,
2357
+ withCredentials: o2.xhr && o2.xhr.withCredentials ? o2.xhr.withCredentials : false
2358
+ };
2359
+ self._duration = 0;
2360
+ self._state = "unloaded";
2361
+ self._sounds = [];
2362
+ self._endTimers = {};
2363
+ self._queue = [];
2364
+ self._playLock = false;
2365
+ self._onend = o2.onend ? [{ fn: o2.onend }] : [];
2366
+ self._onfade = o2.onfade ? [{ fn: o2.onfade }] : [];
2367
+ self._onload = o2.onload ? [{ fn: o2.onload }] : [];
2368
+ self._onloaderror = o2.onloaderror ? [{ fn: o2.onloaderror }] : [];
2369
+ self._onplayerror = o2.onplayerror ? [{ fn: o2.onplayerror }] : [];
2370
+ self._onpause = o2.onpause ? [{ fn: o2.onpause }] : [];
2371
+ self._onplay = o2.onplay ? [{ fn: o2.onplay }] : [];
2372
+ self._onstop = o2.onstop ? [{ fn: o2.onstop }] : [];
2373
+ self._onmute = o2.onmute ? [{ fn: o2.onmute }] : [];
2374
+ self._onvolume = o2.onvolume ? [{ fn: o2.onvolume }] : [];
2375
+ self._onrate = o2.onrate ? [{ fn: o2.onrate }] : [];
2376
+ self._onseek = o2.onseek ? [{ fn: o2.onseek }] : [];
2377
+ self._onunlock = o2.onunlock ? [{ fn: o2.onunlock }] : [];
2378
+ self._onresume = [];
2379
+ self._webAudio = Howler2.usingWebAudio && !self._html5;
2380
+ if (typeof Howler2.ctx !== "undefined" && Howler2.ctx && Howler2.autoUnlock) {
2381
+ Howler2._unlockAudio();
2382
+ }
2383
+ Howler2._howls.push(self);
2384
+ if (self._autoplay) {
2385
+ self._queue.push({
2386
+ event: "play",
2387
+ action: function() {
2388
+ self.play();
2389
+ }
2390
+ });
2391
+ }
2392
+ if (self._preload && self._preload !== "none") {
2393
+ self.load();
2394
+ }
2395
+ return self;
2396
+ },
2397
+ /**
2398
+ * Load the audio file.
2399
+ * @return {Howler}
2400
+ */
2401
+ load: function() {
2402
+ var self = this;
2403
+ var url = null;
2404
+ if (Howler2.noAudio) {
2405
+ self._emit("loaderror", null, "No audio support.");
2406
+ return;
2407
+ }
2408
+ if (typeof self._src === "string") {
2409
+ self._src = [self._src];
2410
+ }
2411
+ for (var i = 0; i < self._src.length; i++) {
2412
+ var ext, str;
2413
+ if (self._format && self._format[i]) {
2414
+ ext = self._format[i];
2415
+ } else {
2416
+ str = self._src[i];
2417
+ if (typeof str !== "string") {
2418
+ self._emit("loaderror", null, "Non-string found in selected audio sources - ignoring.");
2419
+ continue;
2420
+ }
2421
+ ext = /^data:audio\/([^;,]+);/i.exec(str);
2422
+ if (!ext) {
2423
+ ext = /\.([^.]+)$/.exec(str.split("?", 1)[0]);
2424
+ }
2425
+ if (ext) {
2426
+ ext = ext[1].toLowerCase();
2427
+ }
2428
+ }
2429
+ if (!ext) {
2430
+ console.warn('No file extension was found. Consider using the "format" property or specify an extension.');
2431
+ }
2432
+ if (ext && Howler2.codecs(ext)) {
2433
+ url = self._src[i];
2434
+ break;
2435
+ }
2436
+ }
2437
+ if (!url) {
2438
+ self._emit("loaderror", null, "No codec support for selected audio sources.");
2439
+ return;
2440
+ }
2441
+ self._src = url;
2442
+ self._state = "loading";
2443
+ if (window.location.protocol === "https:" && url.slice(0, 5) === "http:") {
2444
+ self._html5 = true;
2445
+ self._webAudio = false;
2446
+ }
2447
+ new Sound2(self);
2448
+ if (self._webAudio) {
2449
+ loadBuffer(self);
2450
+ }
2451
+ return self;
2452
+ },
2453
+ /**
2454
+ * Play a sound or resume previous playback.
2455
+ * @param {String/Number} sprite Sprite name for sprite playback or sound id to continue previous.
2456
+ * @param {Boolean} internal Internal Use: true prevents event firing.
2457
+ * @return {Number} Sound ID.
2458
+ */
2459
+ play: function(sprite, internal) {
2460
+ var self = this;
2461
+ var id = null;
2462
+ if (typeof sprite === "number") {
2463
+ id = sprite;
2464
+ sprite = null;
2465
+ } else if (typeof sprite === "string" && self._state === "loaded" && !self._sprite[sprite]) {
2466
+ return null;
2467
+ } else if (typeof sprite === "undefined") {
2468
+ sprite = "__default";
2469
+ if (!self._playLock) {
2470
+ var num = 0;
2471
+ for (var i = 0; i < self._sounds.length; i++) {
2472
+ if (self._sounds[i]._paused && !self._sounds[i]._ended) {
2473
+ num++;
2474
+ id = self._sounds[i]._id;
2475
+ }
2476
+ }
2477
+ if (num === 1) {
2478
+ sprite = null;
2479
+ } else {
2480
+ id = null;
2481
+ }
2482
+ }
2483
+ }
2484
+ var sound = id ? self._soundById(id) : self._inactiveSound();
2485
+ if (!sound) {
2486
+ return null;
2487
+ }
2488
+ if (id && !sprite) {
2489
+ sprite = sound._sprite || "__default";
2490
+ }
2491
+ if (self._state !== "loaded") {
2492
+ sound._sprite = sprite;
2493
+ sound._ended = false;
2494
+ var soundId = sound._id;
2495
+ self._queue.push({
2496
+ event: "play",
2497
+ action: function() {
2498
+ self.play(soundId);
2499
+ }
2500
+ });
2501
+ return soundId;
2502
+ }
2503
+ if (id && !sound._paused) {
2504
+ if (!internal) {
2505
+ self._loadQueue("play");
2506
+ }
2507
+ return sound._id;
2508
+ }
2509
+ if (self._webAudio) {
2510
+ Howler2._autoResume();
2511
+ }
2512
+ var seek = Math.max(0, sound._seek > 0 ? sound._seek : self._sprite[sprite][0] / 1e3);
2513
+ var duration = Math.max(0, (self._sprite[sprite][0] + self._sprite[sprite][1]) / 1e3 - seek);
2514
+ var timeout = duration * 1e3 / Math.abs(sound._rate);
2515
+ var start = self._sprite[sprite][0] / 1e3;
2516
+ var stop = (self._sprite[sprite][0] + self._sprite[sprite][1]) / 1e3;
2517
+ sound._sprite = sprite;
2518
+ sound._ended = false;
2519
+ var setParams = function() {
2520
+ sound._paused = false;
2521
+ sound._seek = seek;
2522
+ sound._start = start;
2523
+ sound._stop = stop;
2524
+ sound._loop = !!(sound._loop || self._sprite[sprite][2]);
2525
+ };
2526
+ if (seek >= stop) {
2527
+ self._ended(sound);
2528
+ return;
2529
+ }
2530
+ var node = sound._node;
2531
+ if (self._webAudio) {
2532
+ var playWebAudio = function() {
2533
+ self._playLock = false;
2534
+ setParams();
2535
+ self._refreshBuffer(sound);
2536
+ var vol = sound._muted || self._muted ? 0 : sound._volume;
2537
+ node.gain.setValueAtTime(vol, Howler2.ctx.currentTime);
2538
+ sound._playStart = Howler2.ctx.currentTime;
2539
+ if (typeof node.bufferSource.start === "undefined") {
2540
+ sound._loop ? node.bufferSource.noteGrainOn(0, seek, 86400) : node.bufferSource.noteGrainOn(0, seek, duration);
2541
+ } else {
2542
+ sound._loop ? node.bufferSource.start(0, seek, 86400) : node.bufferSource.start(0, seek, duration);
2543
+ }
2544
+ if (timeout !== Infinity) {
2545
+ self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);
2546
+ }
2547
+ if (!internal) {
2548
+ setTimeout(function() {
2549
+ self._emit("play", sound._id);
2550
+ self._loadQueue();
2551
+ }, 0);
2552
+ }
2553
+ };
2554
+ if (Howler2.state === "running" && Howler2.ctx.state !== "interrupted") {
2555
+ playWebAudio();
2556
+ } else {
2557
+ self._playLock = true;
2558
+ self.once("resume", playWebAudio);
2559
+ self._clearTimer(sound._id);
2560
+ }
2561
+ } else {
2562
+ var playHtml5 = function() {
2563
+ node.currentTime = seek;
2564
+ node.muted = sound._muted || self._muted || Howler2._muted || node.muted;
2565
+ node.volume = sound._volume * Howler2.volume();
2566
+ node.playbackRate = sound._rate;
2567
+ try {
2568
+ var play = node.play();
2569
+ if (play && typeof Promise !== "undefined" && (play instanceof Promise || typeof play.then === "function")) {
2570
+ self._playLock = true;
2571
+ setParams();
2572
+ play.then(function() {
2573
+ self._playLock = false;
2574
+ node._unlocked = true;
2575
+ if (!internal) {
2576
+ self._emit("play", sound._id);
2577
+ } else {
2578
+ self._loadQueue();
2579
+ }
2580
+ }).catch(function() {
2581
+ self._playLock = false;
2582
+ self._emit("playerror", sound._id, "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");
2583
+ sound._ended = true;
2584
+ sound._paused = true;
2585
+ });
2586
+ } else if (!internal) {
2587
+ self._playLock = false;
2588
+ setParams();
2589
+ self._emit("play", sound._id);
2590
+ }
2591
+ node.playbackRate = sound._rate;
2592
+ if (node.paused) {
2593
+ self._emit("playerror", sound._id, "Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");
2594
+ return;
2595
+ }
2596
+ if (sprite !== "__default" || sound._loop) {
2597
+ self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);
2598
+ } else {
2599
+ self._endTimers[sound._id] = function() {
2600
+ self._ended(sound);
2601
+ node.removeEventListener("ended", self._endTimers[sound._id], false);
2602
+ };
2603
+ node.addEventListener("ended", self._endTimers[sound._id], false);
2604
+ }
2605
+ } catch (err) {
2606
+ self._emit("playerror", sound._id, err);
2607
+ }
2608
+ };
2609
+ if (node.src === "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA") {
2610
+ node.src = self._src;
2611
+ node.load();
2612
+ }
2613
+ var loadedNoReadyState = window && window.ejecta || !node.readyState && Howler2._navigator.isCocoonJS;
2614
+ if (node.readyState >= 3 || loadedNoReadyState) {
2615
+ playHtml5();
2616
+ } else {
2617
+ self._playLock = true;
2618
+ self._state = "loading";
2619
+ var listener = function() {
2620
+ self._state = "loaded";
2621
+ playHtml5();
2622
+ node.removeEventListener(Howler2._canPlayEvent, listener, false);
2623
+ };
2624
+ node.addEventListener(Howler2._canPlayEvent, listener, false);
2625
+ self._clearTimer(sound._id);
2626
+ }
2627
+ }
2628
+ return sound._id;
2629
+ },
2630
+ /**
2631
+ * Pause playback and save current position.
2632
+ * @param {Number} id The sound ID (empty to pause all in group).
2633
+ * @return {Howl}
2634
+ */
2635
+ pause: function(id) {
2636
+ var self = this;
2637
+ if (self._state !== "loaded" || self._playLock) {
2638
+ self._queue.push({
2639
+ event: "pause",
2640
+ action: function() {
2641
+ self.pause(id);
2642
+ }
2643
+ });
2644
+ return self;
2645
+ }
2646
+ var ids = self._getSoundIds(id);
2647
+ for (var i = 0; i < ids.length; i++) {
2648
+ self._clearTimer(ids[i]);
2649
+ var sound = self._soundById(ids[i]);
2650
+ if (sound && !sound._paused) {
2651
+ sound._seek = self.seek(ids[i]);
2652
+ sound._rateSeek = 0;
2653
+ sound._paused = true;
2654
+ self._stopFade(ids[i]);
2655
+ if (sound._node) {
2656
+ if (self._webAudio) {
2657
+ if (!sound._node.bufferSource) {
2658
+ continue;
2659
+ }
2660
+ if (typeof sound._node.bufferSource.stop === "undefined") {
2661
+ sound._node.bufferSource.noteOff(0);
2662
+ } else {
2663
+ sound._node.bufferSource.stop(0);
2664
+ }
2665
+ self._cleanBuffer(sound._node);
2666
+ } else if (!isNaN(sound._node.duration) || sound._node.duration === Infinity) {
2667
+ sound._node.pause();
2668
+ }
2669
+ }
2670
+ }
2671
+ if (!arguments[1]) {
2672
+ self._emit("pause", sound ? sound._id : null);
2673
+ }
2674
+ }
2675
+ return self;
2676
+ },
2677
+ /**
2678
+ * Stop playback and reset to start.
2679
+ * @param {Number} id The sound ID (empty to stop all in group).
2680
+ * @param {Boolean} internal Internal Use: true prevents event firing.
2681
+ * @return {Howl}
2682
+ */
2683
+ stop: function(id, internal) {
2684
+ var self = this;
2685
+ if (self._state !== "loaded" || self._playLock) {
2686
+ self._queue.push({
2687
+ event: "stop",
2688
+ action: function() {
2689
+ self.stop(id);
2690
+ }
2691
+ });
2692
+ return self;
2693
+ }
2694
+ var ids = self._getSoundIds(id);
2695
+ for (var i = 0; i < ids.length; i++) {
2696
+ self._clearTimer(ids[i]);
2697
+ var sound = self._soundById(ids[i]);
2698
+ if (sound) {
2699
+ sound._seek = sound._start || 0;
2700
+ sound._rateSeek = 0;
2701
+ sound._paused = true;
2702
+ sound._ended = true;
2703
+ self._stopFade(ids[i]);
2704
+ if (sound._node) {
2705
+ if (self._webAudio) {
2706
+ if (sound._node.bufferSource) {
2707
+ if (typeof sound._node.bufferSource.stop === "undefined") {
2708
+ sound._node.bufferSource.noteOff(0);
2709
+ } else {
2710
+ sound._node.bufferSource.stop(0);
2711
+ }
2712
+ self._cleanBuffer(sound._node);
2713
+ }
2714
+ } else if (!isNaN(sound._node.duration) || sound._node.duration === Infinity) {
2715
+ sound._node.currentTime = sound._start || 0;
2716
+ sound._node.pause();
2717
+ if (sound._node.duration === Infinity) {
2718
+ self._clearSound(sound._node);
2719
+ }
2720
+ }
2721
+ }
2722
+ if (!internal) {
2723
+ self._emit("stop", sound._id);
2724
+ }
2725
+ }
2726
+ }
2727
+ return self;
2728
+ },
2729
+ /**
2730
+ * Mute/unmute a single sound or all sounds in this Howl group.
2731
+ * @param {Boolean} muted Set to true to mute and false to unmute.
2732
+ * @param {Number} id The sound ID to update (omit to mute/unmute all).
2733
+ * @return {Howl}
2734
+ */
2735
+ mute: function(muted, id) {
2736
+ var self = this;
2737
+ if (self._state !== "loaded" || self._playLock) {
2738
+ self._queue.push({
2739
+ event: "mute",
2740
+ action: function() {
2741
+ self.mute(muted, id);
2742
+ }
2743
+ });
2744
+ return self;
2745
+ }
2746
+ if (typeof id === "undefined") {
2747
+ if (typeof muted === "boolean") {
2748
+ self._muted = muted;
2749
+ } else {
2750
+ return self._muted;
2751
+ }
2752
+ }
2753
+ var ids = self._getSoundIds(id);
2754
+ for (var i = 0; i < ids.length; i++) {
2755
+ var sound = self._soundById(ids[i]);
2756
+ if (sound) {
2757
+ sound._muted = muted;
2758
+ if (sound._interval) {
2759
+ self._stopFade(sound._id);
2760
+ }
2761
+ if (self._webAudio && sound._node) {
2762
+ sound._node.gain.setValueAtTime(muted ? 0 : sound._volume, Howler2.ctx.currentTime);
2763
+ } else if (sound._node) {
2764
+ sound._node.muted = Howler2._muted ? true : muted;
2765
+ }
2766
+ self._emit("mute", sound._id);
2767
+ }
2768
+ }
2769
+ return self;
2770
+ },
2771
+ /**
2772
+ * Get/set the volume of this sound or of the Howl group. This method can optionally take 0, 1 or 2 arguments.
2773
+ * volume() -> Returns the group's volume value.
2774
+ * volume(id) -> Returns the sound id's current volume.
2775
+ * volume(vol) -> Sets the volume of all sounds in this Howl group.
2776
+ * volume(vol, id) -> Sets the volume of passed sound id.
2777
+ * @return {Howl/Number} Returns self or current volume.
2778
+ */
2779
+ volume: function() {
2780
+ var self = this;
2781
+ var args = arguments;
2782
+ var vol, id;
2783
+ if (args.length === 0) {
2784
+ return self._volume;
2785
+ } else if (args.length === 1 || args.length === 2 && typeof args[1] === "undefined") {
2786
+ var ids = self._getSoundIds();
2787
+ var index = ids.indexOf(args[0]);
2788
+ if (index >= 0) {
2789
+ id = parseInt(args[0], 10);
2790
+ } else {
2791
+ vol = parseFloat(args[0]);
2792
+ }
2793
+ } else if (args.length >= 2) {
2794
+ vol = parseFloat(args[0]);
2795
+ id = parseInt(args[1], 10);
2796
+ }
2797
+ var sound;
2798
+ if (typeof vol !== "undefined" && vol >= 0 && vol <= 1) {
2799
+ if (self._state !== "loaded" || self._playLock) {
2800
+ self._queue.push({
2801
+ event: "volume",
2802
+ action: function() {
2803
+ self.volume.apply(self, args);
2804
+ }
2805
+ });
2806
+ return self;
2807
+ }
2808
+ if (typeof id === "undefined") {
2809
+ self._volume = vol;
2810
+ }
2811
+ id = self._getSoundIds(id);
2812
+ for (var i = 0; i < id.length; i++) {
2813
+ sound = self._soundById(id[i]);
2814
+ if (sound) {
2815
+ sound._volume = vol;
2816
+ if (!args[2]) {
2817
+ self._stopFade(id[i]);
2818
+ }
2819
+ if (self._webAudio && sound._node && !sound._muted) {
2820
+ sound._node.gain.setValueAtTime(vol, Howler2.ctx.currentTime);
2821
+ } else if (sound._node && !sound._muted) {
2822
+ sound._node.volume = vol * Howler2.volume();
2823
+ }
2824
+ self._emit("volume", sound._id);
2825
+ }
2826
+ }
2827
+ } else {
2828
+ sound = id ? self._soundById(id) : self._sounds[0];
2829
+ return sound ? sound._volume : 0;
2830
+ }
2831
+ return self;
2832
+ },
2833
+ /**
2834
+ * Fade a currently playing sound between two volumes (if no id is passed, all sounds will fade).
2835
+ * @param {Number} from The value to fade from (0.0 to 1.0).
2836
+ * @param {Number} to The volume to fade to (0.0 to 1.0).
2837
+ * @param {Number} len Time in milliseconds to fade.
2838
+ * @param {Number} id The sound id (omit to fade all sounds).
2839
+ * @return {Howl}
2840
+ */
2841
+ fade: function(from, to, len, id) {
2842
+ var self = this;
2843
+ if (self._state !== "loaded" || self._playLock) {
2844
+ self._queue.push({
2845
+ event: "fade",
2846
+ action: function() {
2847
+ self.fade(from, to, len, id);
2848
+ }
2849
+ });
2850
+ return self;
2851
+ }
2852
+ from = Math.min(Math.max(0, parseFloat(from)), 1);
2853
+ to = Math.min(Math.max(0, parseFloat(to)), 1);
2854
+ len = parseFloat(len);
2855
+ self.volume(from, id);
2856
+ var ids = self._getSoundIds(id);
2857
+ for (var i = 0; i < ids.length; i++) {
2858
+ var sound = self._soundById(ids[i]);
2859
+ if (sound) {
2860
+ if (!id) {
2861
+ self._stopFade(ids[i]);
2862
+ }
2863
+ if (self._webAudio && !sound._muted) {
2864
+ var currentTime = Howler2.ctx.currentTime;
2865
+ var end = currentTime + len / 1e3;
2866
+ sound._volume = from;
2867
+ sound._node.gain.setValueAtTime(from, currentTime);
2868
+ sound._node.gain.linearRampToValueAtTime(to, end);
2869
+ }
2870
+ self._startFadeInterval(sound, from, to, len, ids[i], typeof id === "undefined");
2871
+ }
2872
+ }
2873
+ return self;
2874
+ },
2875
+ /**
2876
+ * Starts the internal interval to fade a sound.
2877
+ * @param {Object} sound Reference to sound to fade.
2878
+ * @param {Number} from The value to fade from (0.0 to 1.0).
2879
+ * @param {Number} to The volume to fade to (0.0 to 1.0).
2880
+ * @param {Number} len Time in milliseconds to fade.
2881
+ * @param {Number} id The sound id to fade.
2882
+ * @param {Boolean} isGroup If true, set the volume on the group.
2883
+ */
2884
+ _startFadeInterval: function(sound, from, to, len, id, isGroup) {
2885
+ var self = this;
2886
+ var vol = from;
2887
+ var diff = to - from;
2888
+ var steps = Math.abs(diff / 0.01);
2889
+ var stepLen = Math.max(4, steps > 0 ? len / steps : len);
2890
+ var lastTick = Date.now();
2891
+ sound._fadeTo = to;
2892
+ sound._interval = setInterval(function() {
2893
+ var tick = (Date.now() - lastTick) / len;
2894
+ lastTick = Date.now();
2895
+ vol += diff * tick;
2896
+ vol = Math.round(vol * 100) / 100;
2897
+ if (diff < 0) {
2898
+ vol = Math.max(to, vol);
2899
+ } else {
2900
+ vol = Math.min(to, vol);
2901
+ }
2902
+ if (self._webAudio) {
2903
+ sound._volume = vol;
2904
+ } else {
2905
+ self.volume(vol, sound._id, true);
2906
+ }
2907
+ if (isGroup) {
2908
+ self._volume = vol;
2909
+ }
2910
+ if (to < from && vol <= to || to > from && vol >= to) {
2911
+ clearInterval(sound._interval);
2912
+ sound._interval = null;
2913
+ sound._fadeTo = null;
2914
+ self.volume(to, sound._id);
2915
+ self._emit("fade", sound._id);
2916
+ }
2917
+ }, stepLen);
2918
+ },
2919
+ /**
2920
+ * Internal method that stops the currently playing fade when
2921
+ * a new fade starts, volume is changed or the sound is stopped.
2922
+ * @param {Number} id The sound id.
2923
+ * @return {Howl}
2924
+ */
2925
+ _stopFade: function(id) {
2926
+ var self = this;
2927
+ var sound = self._soundById(id);
2928
+ if (sound && sound._interval) {
2929
+ if (self._webAudio) {
2930
+ sound._node.gain.cancelScheduledValues(Howler2.ctx.currentTime);
2931
+ }
2932
+ clearInterval(sound._interval);
2933
+ sound._interval = null;
2934
+ self.volume(sound._fadeTo, id);
2935
+ sound._fadeTo = null;
2936
+ self._emit("fade", id);
2937
+ }
2938
+ return self;
2939
+ },
2940
+ /**
2941
+ * Get/set the loop parameter on a sound. This method can optionally take 0, 1 or 2 arguments.
2942
+ * loop() -> Returns the group's loop value.
2943
+ * loop(id) -> Returns the sound id's loop value.
2944
+ * loop(loop) -> Sets the loop value for all sounds in this Howl group.
2945
+ * loop(loop, id) -> Sets the loop value of passed sound id.
2946
+ * @return {Howl/Boolean} Returns self or current loop value.
2947
+ */
2948
+ loop: function() {
2949
+ var self = this;
2950
+ var args = arguments;
2951
+ var loop, id, sound;
2952
+ if (args.length === 0) {
2953
+ return self._loop;
2954
+ } else if (args.length === 1) {
2955
+ if (typeof args[0] === "boolean") {
2956
+ loop = args[0];
2957
+ self._loop = loop;
2958
+ } else {
2959
+ sound = self._soundById(parseInt(args[0], 10));
2960
+ return sound ? sound._loop : false;
2961
+ }
2962
+ } else if (args.length === 2) {
2963
+ loop = args[0];
2964
+ id = parseInt(args[1], 10);
2965
+ }
2966
+ var ids = self._getSoundIds(id);
2967
+ for (var i = 0; i < ids.length; i++) {
2968
+ sound = self._soundById(ids[i]);
2969
+ if (sound) {
2970
+ sound._loop = loop;
2971
+ if (self._webAudio && sound._node && sound._node.bufferSource) {
2972
+ sound._node.bufferSource.loop = loop;
2973
+ if (loop) {
2974
+ sound._node.bufferSource.loopStart = sound._start || 0;
2975
+ sound._node.bufferSource.loopEnd = sound._stop;
2976
+ if (self.playing(ids[i])) {
2977
+ self.pause(ids[i], true);
2978
+ self.play(ids[i], true);
2979
+ }
2980
+ }
2981
+ }
2982
+ }
2983
+ }
2984
+ return self;
2985
+ },
2986
+ /**
2987
+ * Get/set the playback rate of a sound. This method can optionally take 0, 1 or 2 arguments.
2988
+ * rate() -> Returns the first sound node's current playback rate.
2989
+ * rate(id) -> Returns the sound id's current playback rate.
2990
+ * rate(rate) -> Sets the playback rate of all sounds in this Howl group.
2991
+ * rate(rate, id) -> Sets the playback rate of passed sound id.
2992
+ * @return {Howl/Number} Returns self or the current playback rate.
2993
+ */
2994
+ rate: function() {
2995
+ var self = this;
2996
+ var args = arguments;
2997
+ var rate, id;
2998
+ if (args.length === 0) {
2999
+ id = self._sounds[0]._id;
3000
+ } else if (args.length === 1) {
3001
+ var ids = self._getSoundIds();
3002
+ var index = ids.indexOf(args[0]);
3003
+ if (index >= 0) {
3004
+ id = parseInt(args[0], 10);
3005
+ } else {
3006
+ rate = parseFloat(args[0]);
3007
+ }
3008
+ } else if (args.length === 2) {
3009
+ rate = parseFloat(args[0]);
3010
+ id = parseInt(args[1], 10);
3011
+ }
3012
+ var sound;
3013
+ if (typeof rate === "number") {
3014
+ if (self._state !== "loaded" || self._playLock) {
3015
+ self._queue.push({
3016
+ event: "rate",
3017
+ action: function() {
3018
+ self.rate.apply(self, args);
3019
+ }
3020
+ });
3021
+ return self;
3022
+ }
3023
+ if (typeof id === "undefined") {
3024
+ self._rate = rate;
3025
+ }
3026
+ id = self._getSoundIds(id);
3027
+ for (var i = 0; i < id.length; i++) {
3028
+ sound = self._soundById(id[i]);
3029
+ if (sound) {
3030
+ if (self.playing(id[i])) {
3031
+ sound._rateSeek = self.seek(id[i]);
3032
+ sound._playStart = self._webAudio ? Howler2.ctx.currentTime : sound._playStart;
3033
+ }
3034
+ sound._rate = rate;
3035
+ if (self._webAudio && sound._node && sound._node.bufferSource) {
3036
+ sound._node.bufferSource.playbackRate.setValueAtTime(rate, Howler2.ctx.currentTime);
3037
+ } else if (sound._node) {
3038
+ sound._node.playbackRate = rate;
3039
+ }
3040
+ var seek = self.seek(id[i]);
3041
+ var duration = (self._sprite[sound._sprite][0] + self._sprite[sound._sprite][1]) / 1e3 - seek;
3042
+ var timeout = duration * 1e3 / Math.abs(sound._rate);
3043
+ if (self._endTimers[id[i]] || !sound._paused) {
3044
+ self._clearTimer(id[i]);
3045
+ self._endTimers[id[i]] = setTimeout(self._ended.bind(self, sound), timeout);
3046
+ }
3047
+ self._emit("rate", sound._id);
3048
+ }
3049
+ }
3050
+ } else {
3051
+ sound = self._soundById(id);
3052
+ return sound ? sound._rate : self._rate;
3053
+ }
3054
+ return self;
3055
+ },
3056
+ /**
3057
+ * Get/set the seek position of a sound. This method can optionally take 0, 1 or 2 arguments.
3058
+ * seek() -> Returns the first sound node's current seek position.
3059
+ * seek(id) -> Returns the sound id's current seek position.
3060
+ * seek(seek) -> Sets the seek position of the first sound node.
3061
+ * seek(seek, id) -> Sets the seek position of passed sound id.
3062
+ * @return {Howl/Number} Returns self or the current seek position.
3063
+ */
3064
+ seek: function() {
3065
+ var self = this;
3066
+ var args = arguments;
3067
+ var seek, id;
3068
+ if (args.length === 0) {
3069
+ if (self._sounds.length) {
3070
+ id = self._sounds[0]._id;
3071
+ }
3072
+ } else if (args.length === 1) {
3073
+ var ids = self._getSoundIds();
3074
+ var index = ids.indexOf(args[0]);
3075
+ if (index >= 0) {
3076
+ id = parseInt(args[0], 10);
3077
+ } else if (self._sounds.length) {
3078
+ id = self._sounds[0]._id;
3079
+ seek = parseFloat(args[0]);
3080
+ }
3081
+ } else if (args.length === 2) {
3082
+ seek = parseFloat(args[0]);
3083
+ id = parseInt(args[1], 10);
3084
+ }
3085
+ if (typeof id === "undefined") {
3086
+ return 0;
3087
+ }
3088
+ if (typeof seek === "number" && (self._state !== "loaded" || self._playLock)) {
3089
+ self._queue.push({
3090
+ event: "seek",
3091
+ action: function() {
3092
+ self.seek.apply(self, args);
3093
+ }
3094
+ });
3095
+ return self;
3096
+ }
3097
+ var sound = self._soundById(id);
3098
+ if (sound) {
3099
+ if (typeof seek === "number" && seek >= 0) {
3100
+ var playing = self.playing(id);
3101
+ if (playing) {
3102
+ self.pause(id, true);
3103
+ }
3104
+ sound._seek = seek;
3105
+ sound._ended = false;
3106
+ self._clearTimer(id);
3107
+ if (!self._webAudio && sound._node && !isNaN(sound._node.duration)) {
3108
+ sound._node.currentTime = seek;
3109
+ }
3110
+ var seekAndEmit = function() {
3111
+ if (playing) {
3112
+ self.play(id, true);
3113
+ }
3114
+ self._emit("seek", id);
3115
+ };
3116
+ if (playing && !self._webAudio) {
3117
+ var emitSeek = function() {
3118
+ if (!self._playLock) {
3119
+ seekAndEmit();
3120
+ } else {
3121
+ setTimeout(emitSeek, 0);
3122
+ }
3123
+ };
3124
+ setTimeout(emitSeek, 0);
3125
+ } else {
3126
+ seekAndEmit();
3127
+ }
3128
+ } else {
3129
+ if (self._webAudio) {
3130
+ var realTime = self.playing(id) ? Howler2.ctx.currentTime - sound._playStart : 0;
3131
+ var rateSeek = sound._rateSeek ? sound._rateSeek - sound._seek : 0;
3132
+ return sound._seek + (rateSeek + realTime * Math.abs(sound._rate));
3133
+ } else {
3134
+ return sound._node.currentTime;
3135
+ }
3136
+ }
3137
+ }
3138
+ return self;
3139
+ },
3140
+ /**
3141
+ * Check if a specific sound is currently playing or not (if id is provided), or check if at least one of the sounds in the group is playing or not.
3142
+ * @param {Number} id The sound id to check. If none is passed, the whole sound group is checked.
3143
+ * @return {Boolean} True if playing and false if not.
3144
+ */
3145
+ playing: function(id) {
3146
+ var self = this;
3147
+ if (typeof id === "number") {
3148
+ var sound = self._soundById(id);
3149
+ return sound ? !sound._paused : false;
3150
+ }
3151
+ for (var i = 0; i < self._sounds.length; i++) {
3152
+ if (!self._sounds[i]._paused) {
3153
+ return true;
3154
+ }
3155
+ }
3156
+ return false;
3157
+ },
3158
+ /**
3159
+ * Get the duration of this sound. Passing a sound id will return the sprite duration.
3160
+ * @param {Number} id The sound id to check. If none is passed, return full source duration.
3161
+ * @return {Number} Audio duration in seconds.
3162
+ */
3163
+ duration: function(id) {
3164
+ var self = this;
3165
+ var duration = self._duration;
3166
+ var sound = self._soundById(id);
3167
+ if (sound) {
3168
+ duration = self._sprite[sound._sprite][1] / 1e3;
3169
+ }
3170
+ return duration;
3171
+ },
3172
+ /**
3173
+ * Returns the current loaded state of this Howl.
3174
+ * @return {String} 'unloaded', 'loading', 'loaded'
3175
+ */
3176
+ state: function() {
3177
+ return this._state;
3178
+ },
3179
+ /**
3180
+ * Unload and destroy the current Howl object.
3181
+ * This will immediately stop all sound instances attached to this group.
3182
+ */
3183
+ unload: function() {
3184
+ var self = this;
3185
+ var sounds = self._sounds;
3186
+ for (var i = 0; i < sounds.length; i++) {
3187
+ if (!sounds[i]._paused) {
3188
+ self.stop(sounds[i]._id);
3189
+ }
3190
+ if (!self._webAudio) {
3191
+ self._clearSound(sounds[i]._node);
3192
+ sounds[i]._node.removeEventListener("error", sounds[i]._errorFn, false);
3193
+ sounds[i]._node.removeEventListener(Howler2._canPlayEvent, sounds[i]._loadFn, false);
3194
+ sounds[i]._node.removeEventListener("ended", sounds[i]._endFn, false);
3195
+ Howler2._releaseHtml5Audio(sounds[i]._node);
3196
+ }
3197
+ delete sounds[i]._node;
3198
+ self._clearTimer(sounds[i]._id);
3199
+ }
3200
+ var index = Howler2._howls.indexOf(self);
3201
+ if (index >= 0) {
3202
+ Howler2._howls.splice(index, 1);
3203
+ }
3204
+ var remCache = true;
3205
+ for (i = 0; i < Howler2._howls.length; i++) {
3206
+ if (Howler2._howls[i]._src === self._src || self._src.indexOf(Howler2._howls[i]._src) >= 0) {
3207
+ remCache = false;
3208
+ break;
3209
+ }
3210
+ }
3211
+ if (cache && remCache) {
3212
+ delete cache[self._src];
3213
+ }
3214
+ Howler2.noAudio = false;
3215
+ self._state = "unloaded";
3216
+ self._sounds = [];
3217
+ self = null;
3218
+ return null;
3219
+ },
3220
+ /**
3221
+ * Listen to a custom event.
3222
+ * @param {String} event Event name.
3223
+ * @param {Function} fn Listener to call.
3224
+ * @param {Number} id (optional) Only listen to events for this sound.
3225
+ * @param {Number} once (INTERNAL) Marks event to fire only once.
3226
+ * @return {Howl}
3227
+ */
3228
+ on: function(event, fn, id, once) {
3229
+ var self = this;
3230
+ var events = self["_on" + event];
3231
+ if (typeof fn === "function") {
3232
+ events.push(once ? { id, fn, once } : { id, fn });
3233
+ }
3234
+ return self;
3235
+ },
3236
+ /**
3237
+ * Remove a custom event. Call without parameters to remove all events.
3238
+ * @param {String} event Event name.
3239
+ * @param {Function} fn Listener to remove. Leave empty to remove all.
3240
+ * @param {Number} id (optional) Only remove events for this sound.
3241
+ * @return {Howl}
3242
+ */
3243
+ off: function(event, fn, id) {
3244
+ var self = this;
3245
+ var events = self["_on" + event];
3246
+ var i = 0;
3247
+ if (typeof fn === "number") {
3248
+ id = fn;
3249
+ fn = null;
3250
+ }
3251
+ if (fn || id) {
3252
+ for (i = 0; i < events.length; i++) {
3253
+ var isId = id === events[i].id;
3254
+ if (fn === events[i].fn && isId || !fn && isId) {
3255
+ events.splice(i, 1);
3256
+ break;
3257
+ }
3258
+ }
3259
+ } else if (event) {
3260
+ self["_on" + event] = [];
3261
+ } else {
3262
+ var keys = Object.keys(self);
3263
+ for (i = 0; i < keys.length; i++) {
3264
+ if (keys[i].indexOf("_on") === 0 && Array.isArray(self[keys[i]])) {
3265
+ self[keys[i]] = [];
3266
+ }
3267
+ }
3268
+ }
3269
+ return self;
3270
+ },
3271
+ /**
3272
+ * Listen to a custom event and remove it once fired.
3273
+ * @param {String} event Event name.
3274
+ * @param {Function} fn Listener to call.
3275
+ * @param {Number} id (optional) Only listen to events for this sound.
3276
+ * @return {Howl}
3277
+ */
3278
+ once: function(event, fn, id) {
3279
+ var self = this;
3280
+ self.on(event, fn, id, 1);
3281
+ return self;
3282
+ },
3283
+ /**
3284
+ * Emit all events of a specific type and pass the sound id.
3285
+ * @param {String} event Event name.
3286
+ * @param {Number} id Sound ID.
3287
+ * @param {Number} msg Message to go with event.
3288
+ * @return {Howl}
3289
+ */
3290
+ _emit: function(event, id, msg) {
3291
+ var self = this;
3292
+ var events = self["_on" + event];
3293
+ for (var i = events.length - 1; i >= 0; i--) {
3294
+ if (!events[i].id || events[i].id === id || event === "load") {
3295
+ setTimeout((function(fn) {
3296
+ fn.call(this, id, msg);
3297
+ }).bind(self, events[i].fn), 0);
3298
+ if (events[i].once) {
3299
+ self.off(event, events[i].fn, events[i].id);
3300
+ }
3301
+ }
3302
+ }
3303
+ self._loadQueue(event);
3304
+ return self;
3305
+ },
3306
+ /**
3307
+ * Queue of actions initiated before the sound has loaded.
3308
+ * These will be called in sequence, with the next only firing
3309
+ * after the previous has finished executing (even if async like play).
3310
+ * @return {Howl}
3311
+ */
3312
+ _loadQueue: function(event) {
3313
+ var self = this;
3314
+ if (self._queue.length > 0) {
3315
+ var task = self._queue[0];
3316
+ if (task.event === event) {
3317
+ self._queue.shift();
3318
+ self._loadQueue();
3319
+ }
3320
+ if (!event) {
3321
+ task.action();
3322
+ }
3323
+ }
3324
+ return self;
3325
+ },
3326
+ /**
3327
+ * Fired when playback ends at the end of the duration.
3328
+ * @param {Sound} sound The sound object to work with.
3329
+ * @return {Howl}
3330
+ */
3331
+ _ended: function(sound) {
3332
+ var self = this;
3333
+ var sprite = sound._sprite;
3334
+ if (!self._webAudio && sound._node && !sound._node.paused && !sound._node.ended && sound._node.currentTime < sound._stop) {
3335
+ setTimeout(self._ended.bind(self, sound), 100);
3336
+ return self;
3337
+ }
3338
+ var loop = !!(sound._loop || self._sprite[sprite][2]);
3339
+ self._emit("end", sound._id);
3340
+ if (!self._webAudio && loop) {
3341
+ self.stop(sound._id, true).play(sound._id);
3342
+ }
3343
+ if (self._webAudio && loop) {
3344
+ self._emit("play", sound._id);
3345
+ sound._seek = sound._start || 0;
3346
+ sound._rateSeek = 0;
3347
+ sound._playStart = Howler2.ctx.currentTime;
3348
+ var timeout = (sound._stop - sound._start) * 1e3 / Math.abs(sound._rate);
3349
+ self._endTimers[sound._id] = setTimeout(self._ended.bind(self, sound), timeout);
3350
+ }
3351
+ if (self._webAudio && !loop) {
3352
+ sound._paused = true;
3353
+ sound._ended = true;
3354
+ sound._seek = sound._start || 0;
3355
+ sound._rateSeek = 0;
3356
+ self._clearTimer(sound._id);
3357
+ self._cleanBuffer(sound._node);
3358
+ Howler2._autoSuspend();
3359
+ }
3360
+ if (!self._webAudio && !loop) {
3361
+ self.stop(sound._id, true);
3362
+ }
3363
+ return self;
3364
+ },
3365
+ /**
3366
+ * Clear the end timer for a sound playback.
3367
+ * @param {Number} id The sound ID.
3368
+ * @return {Howl}
3369
+ */
3370
+ _clearTimer: function(id) {
3371
+ var self = this;
3372
+ if (self._endTimers[id]) {
3373
+ if (typeof self._endTimers[id] !== "function") {
3374
+ clearTimeout(self._endTimers[id]);
3375
+ } else {
3376
+ var sound = self._soundById(id);
3377
+ if (sound && sound._node) {
3378
+ sound._node.removeEventListener("ended", self._endTimers[id], false);
3379
+ }
3380
+ }
3381
+ delete self._endTimers[id];
3382
+ }
3383
+ return self;
3384
+ },
3385
+ /**
3386
+ * Return the sound identified by this ID, or return null.
3387
+ * @param {Number} id Sound ID
3388
+ * @return {Object} Sound object or null.
3389
+ */
3390
+ _soundById: function(id) {
3391
+ var self = this;
3392
+ for (var i = 0; i < self._sounds.length; i++) {
3393
+ if (id === self._sounds[i]._id) {
3394
+ return self._sounds[i];
3395
+ }
3396
+ }
3397
+ return null;
3398
+ },
3399
+ /**
3400
+ * Return an inactive sound from the pool or create a new one.
3401
+ * @return {Sound} Sound playback object.
3402
+ */
3403
+ _inactiveSound: function() {
3404
+ var self = this;
3405
+ self._drain();
3406
+ for (var i = 0; i < self._sounds.length; i++) {
3407
+ if (self._sounds[i]._ended) {
3408
+ return self._sounds[i].reset();
3409
+ }
3410
+ }
3411
+ return new Sound2(self);
3412
+ },
3413
+ /**
3414
+ * Drain excess inactive sounds from the pool.
3415
+ */
3416
+ _drain: function() {
3417
+ var self = this;
3418
+ var limit = self._pool;
3419
+ var cnt = 0;
3420
+ var i = 0;
3421
+ if (self._sounds.length < limit) {
3422
+ return;
3423
+ }
3424
+ for (i = 0; i < self._sounds.length; i++) {
3425
+ if (self._sounds[i]._ended) {
3426
+ cnt++;
3427
+ }
3428
+ }
3429
+ for (i = self._sounds.length - 1; i >= 0; i--) {
3430
+ if (cnt <= limit) {
3431
+ return;
3432
+ }
3433
+ if (self._sounds[i]._ended) {
3434
+ if (self._webAudio && self._sounds[i]._node) {
3435
+ self._sounds[i]._node.disconnect(0);
3436
+ }
3437
+ self._sounds.splice(i, 1);
3438
+ cnt--;
3439
+ }
3440
+ }
3441
+ },
3442
+ /**
3443
+ * Get all ID's from the sounds pool.
3444
+ * @param {Number} id Only return one ID if one is passed.
3445
+ * @return {Array} Array of IDs.
3446
+ */
3447
+ _getSoundIds: function(id) {
3448
+ var self = this;
3449
+ if (typeof id === "undefined") {
3450
+ var ids = [];
3451
+ for (var i = 0; i < self._sounds.length; i++) {
3452
+ ids.push(self._sounds[i]._id);
3453
+ }
3454
+ return ids;
3455
+ } else {
3456
+ return [id];
3457
+ }
3458
+ },
3459
+ /**
3460
+ * Load the sound back into the buffer source.
3461
+ * @param {Sound} sound The sound object to work with.
3462
+ * @return {Howl}
3463
+ */
3464
+ _refreshBuffer: function(sound) {
3465
+ var self = this;
3466
+ sound._node.bufferSource = Howler2.ctx.createBufferSource();
3467
+ sound._node.bufferSource.buffer = cache[self._src];
3468
+ if (sound._panner) {
3469
+ sound._node.bufferSource.connect(sound._panner);
3470
+ } else {
3471
+ sound._node.bufferSource.connect(sound._node);
3472
+ }
3473
+ sound._node.bufferSource.loop = sound._loop;
3474
+ if (sound._loop) {
3475
+ sound._node.bufferSource.loopStart = sound._start || 0;
3476
+ sound._node.bufferSource.loopEnd = sound._stop || 0;
3477
+ }
3478
+ sound._node.bufferSource.playbackRate.setValueAtTime(sound._rate, Howler2.ctx.currentTime);
3479
+ return self;
3480
+ },
3481
+ /**
3482
+ * Prevent memory leaks by cleaning up the buffer source after playback.
3483
+ * @param {Object} node Sound's audio node containing the buffer source.
3484
+ * @return {Howl}
3485
+ */
3486
+ _cleanBuffer: function(node) {
3487
+ var self = this;
3488
+ var isIOS = Howler2._navigator && Howler2._navigator.vendor.indexOf("Apple") >= 0;
3489
+ if (!node.bufferSource) {
3490
+ return self;
3491
+ }
3492
+ if (Howler2._scratchBuffer && node.bufferSource) {
3493
+ node.bufferSource.onended = null;
3494
+ node.bufferSource.disconnect(0);
3495
+ if (isIOS) {
3496
+ try {
3497
+ node.bufferSource.buffer = Howler2._scratchBuffer;
3498
+ } catch (e) {
3499
+ }
3500
+ }
3501
+ }
3502
+ node.bufferSource = null;
3503
+ return self;
3504
+ },
3505
+ /**
3506
+ * Set the source to a 0-second silence to stop any downloading (except in IE).
3507
+ * @param {Object} node Audio node to clear.
3508
+ */
3509
+ _clearSound: function(node) {
3510
+ var checkIE = /MSIE |Trident\//.test(Howler2._navigator && Howler2._navigator.userAgent);
3511
+ if (!checkIE) {
3512
+ node.src = "data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA";
3513
+ }
3514
+ }
3515
+ };
3516
+ var Sound2 = function(howl) {
3517
+ this._parent = howl;
3518
+ this.init();
3519
+ };
3520
+ Sound2.prototype = {
3521
+ /**
3522
+ * Initialize a new Sound object.
3523
+ * @return {Sound}
3524
+ */
3525
+ init: function() {
3526
+ var self = this;
3527
+ var parent = self._parent;
3528
+ self._muted = parent._muted;
3529
+ self._loop = parent._loop;
3530
+ self._volume = parent._volume;
3531
+ self._rate = parent._rate;
3532
+ self._seek = 0;
3533
+ self._paused = true;
3534
+ self._ended = true;
3535
+ self._sprite = "__default";
3536
+ self._id = ++Howler2._counter;
3537
+ parent._sounds.push(self);
3538
+ self.create();
3539
+ return self;
3540
+ },
3541
+ /**
3542
+ * Create and setup a new sound object, whether HTML5 Audio or Web Audio.
3543
+ * @return {Sound}
3544
+ */
3545
+ create: function() {
3546
+ var self = this;
3547
+ var parent = self._parent;
3548
+ var volume = Howler2._muted || self._muted || self._parent._muted ? 0 : self._volume;
3549
+ if (parent._webAudio) {
3550
+ self._node = typeof Howler2.ctx.createGain === "undefined" ? Howler2.ctx.createGainNode() : Howler2.ctx.createGain();
3551
+ self._node.gain.setValueAtTime(volume, Howler2.ctx.currentTime);
3552
+ self._node.paused = true;
3553
+ self._node.connect(Howler2.masterGain);
3554
+ } else if (!Howler2.noAudio) {
3555
+ self._node = Howler2._obtainHtml5Audio();
3556
+ self._errorFn = self._errorListener.bind(self);
3557
+ self._node.addEventListener("error", self._errorFn, false);
3558
+ self._loadFn = self._loadListener.bind(self);
3559
+ self._node.addEventListener(Howler2._canPlayEvent, self._loadFn, false);
3560
+ self._endFn = self._endListener.bind(self);
3561
+ self._node.addEventListener("ended", self._endFn, false);
3562
+ self._node.src = parent._src;
3563
+ self._node.preload = parent._preload === true ? "auto" : parent._preload;
3564
+ self._node.volume = volume * Howler2.volume();
3565
+ self._node.load();
3566
+ }
3567
+ return self;
3568
+ },
3569
+ /**
3570
+ * Reset the parameters of this sound to the original state (for recycle).
3571
+ * @return {Sound}
3572
+ */
3573
+ reset: function() {
3574
+ var self = this;
3575
+ var parent = self._parent;
3576
+ self._muted = parent._muted;
3577
+ self._loop = parent._loop;
3578
+ self._volume = parent._volume;
3579
+ self._rate = parent._rate;
3580
+ self._seek = 0;
3581
+ self._rateSeek = 0;
3582
+ self._paused = true;
3583
+ self._ended = true;
3584
+ self._sprite = "__default";
3585
+ self._id = ++Howler2._counter;
3586
+ return self;
3587
+ },
3588
+ /**
3589
+ * HTML5 Audio error listener callback.
3590
+ */
3591
+ _errorListener: function() {
3592
+ var self = this;
3593
+ self._parent._emit("loaderror", self._id, self._node.error ? self._node.error.code : 0);
3594
+ self._node.removeEventListener("error", self._errorFn, false);
3595
+ },
3596
+ /**
3597
+ * HTML5 Audio canplaythrough listener callback.
3598
+ */
3599
+ _loadListener: function() {
3600
+ var self = this;
3601
+ var parent = self._parent;
3602
+ parent._duration = Math.ceil(self._node.duration * 10) / 10;
3603
+ if (Object.keys(parent._sprite).length === 0) {
3604
+ parent._sprite = { __default: [0, parent._duration * 1e3] };
3605
+ }
3606
+ if (parent._state !== "loaded") {
3607
+ parent._state = "loaded";
3608
+ parent._emit("load");
3609
+ parent._loadQueue();
3610
+ }
3611
+ self._node.removeEventListener(Howler2._canPlayEvent, self._loadFn, false);
3612
+ },
3613
+ /**
3614
+ * HTML5 Audio ended listener callback.
3615
+ */
3616
+ _endListener: function() {
3617
+ var self = this;
3618
+ var parent = self._parent;
3619
+ if (parent._duration === Infinity) {
3620
+ parent._duration = Math.ceil(self._node.duration * 10) / 10;
3621
+ if (parent._sprite.__default[1] === Infinity) {
3622
+ parent._sprite.__default[1] = parent._duration * 1e3;
3623
+ }
3624
+ parent._ended(self);
3625
+ }
3626
+ self._node.removeEventListener("ended", self._endFn, false);
3627
+ }
3628
+ };
3629
+ var cache = {};
3630
+ var loadBuffer = function(self) {
3631
+ var url = self._src;
3632
+ if (cache[url]) {
3633
+ self._duration = cache[url].duration;
3634
+ loadSound(self);
3635
+ return;
3636
+ }
3637
+ if (/^data:[^;]+;base64,/.test(url)) {
3638
+ var data = atob(url.split(",")[1]);
3639
+ var dataView = new Uint8Array(data.length);
3640
+ for (var i = 0; i < data.length; ++i) {
3641
+ dataView[i] = data.charCodeAt(i);
3642
+ }
3643
+ decodeAudioData(dataView.buffer, self);
3644
+ } else {
3645
+ var xhr = new XMLHttpRequest();
3646
+ xhr.open(self._xhr.method, url, true);
3647
+ xhr.withCredentials = self._xhr.withCredentials;
3648
+ xhr.responseType = "arraybuffer";
3649
+ if (self._xhr.headers) {
3650
+ Object.keys(self._xhr.headers).forEach(function(key) {
3651
+ xhr.setRequestHeader(key, self._xhr.headers[key]);
3652
+ });
3653
+ }
3654
+ xhr.onload = function() {
3655
+ var code = (xhr.status + "")[0];
3656
+ if (code !== "0" && code !== "2" && code !== "3") {
3657
+ self._emit("loaderror", null, "Failed loading audio file with status: " + xhr.status + ".");
3658
+ return;
3659
+ }
3660
+ decodeAudioData(xhr.response, self);
3661
+ };
3662
+ xhr.onerror = function() {
3663
+ if (self._webAudio) {
3664
+ self._html5 = true;
3665
+ self._webAudio = false;
3666
+ self._sounds = [];
3667
+ delete cache[url];
3668
+ self.load();
3669
+ }
3670
+ };
3671
+ safeXhrSend(xhr);
3672
+ }
3673
+ };
3674
+ var safeXhrSend = function(xhr) {
3675
+ try {
3676
+ xhr.send();
3677
+ } catch (e) {
3678
+ xhr.onerror();
3679
+ }
3680
+ };
3681
+ var decodeAudioData = function(arraybuffer, self) {
3682
+ var error = function() {
3683
+ self._emit("loaderror", null, "Decoding audio data failed.");
3684
+ };
3685
+ var success = function(buffer) {
3686
+ if (buffer && self._sounds.length > 0) {
3687
+ cache[self._src] = buffer;
3688
+ loadSound(self, buffer);
3689
+ } else {
3690
+ error();
3691
+ }
3692
+ };
3693
+ if (typeof Promise !== "undefined" && Howler2.ctx.decodeAudioData.length === 1) {
3694
+ Howler2.ctx.decodeAudioData(arraybuffer).then(success).catch(error);
3695
+ } else {
3696
+ Howler2.ctx.decodeAudioData(arraybuffer, success, error);
3697
+ }
3698
+ };
3699
+ var loadSound = function(self, buffer) {
3700
+ if (buffer && !self._duration) {
3701
+ self._duration = buffer.duration;
3702
+ }
3703
+ if (Object.keys(self._sprite).length === 0) {
3704
+ self._sprite = { __default: [0, self._duration * 1e3] };
3705
+ }
3706
+ if (self._state !== "loaded") {
3707
+ self._state = "loaded";
3708
+ self._emit("load");
3709
+ self._loadQueue();
3710
+ }
3711
+ };
3712
+ var setupAudioContext = function() {
3713
+ if (!Howler2.usingWebAudio) {
3714
+ return;
3715
+ }
3716
+ try {
3717
+ if (typeof AudioContext !== "undefined") {
3718
+ Howler2.ctx = new AudioContext();
3719
+ } else if (typeof webkitAudioContext !== "undefined") {
3720
+ Howler2.ctx = new webkitAudioContext();
3721
+ } else {
3722
+ Howler2.usingWebAudio = false;
3723
+ }
3724
+ } catch (e) {
3725
+ Howler2.usingWebAudio = false;
3726
+ }
3727
+ if (!Howler2.ctx) {
3728
+ Howler2.usingWebAudio = false;
3729
+ }
3730
+ var iOS = /iP(hone|od|ad)/.test(Howler2._navigator && Howler2._navigator.platform);
3731
+ var appVersion = Howler2._navigator && Howler2._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);
3732
+ var version = appVersion ? parseInt(appVersion[1], 10) : null;
3733
+ if (iOS && version && version < 9) {
3734
+ var safari = /safari/.test(Howler2._navigator && Howler2._navigator.userAgent.toLowerCase());
3735
+ if (Howler2._navigator && !safari) {
3736
+ Howler2.usingWebAudio = false;
3737
+ }
3738
+ }
3739
+ if (Howler2.usingWebAudio) {
3740
+ Howler2.masterGain = typeof Howler2.ctx.createGain === "undefined" ? Howler2.ctx.createGainNode() : Howler2.ctx.createGain();
3741
+ Howler2.masterGain.gain.setValueAtTime(Howler2._muted ? 0 : Howler2._volume, Howler2.ctx.currentTime);
3742
+ Howler2.masterGain.connect(Howler2.ctx.destination);
3743
+ }
3744
+ Howler2._setup();
3745
+ };
3746
+ {
3747
+ exports$1.Howler = Howler2;
3748
+ exports$1.Howl = Howl2;
3749
+ }
3750
+ if (typeof commonjsGlobal !== "undefined") {
3751
+ commonjsGlobal.HowlerGlobal = HowlerGlobal2;
3752
+ commonjsGlobal.Howler = Howler2;
3753
+ commonjsGlobal.Howl = Howl2;
3754
+ commonjsGlobal.Sound = Sound2;
3755
+ } else if (typeof window !== "undefined") {
3756
+ window.HowlerGlobal = HowlerGlobal2;
3757
+ window.Howler = Howler2;
3758
+ window.Howl = Howl2;
3759
+ window.Sound = Sound2;
3760
+ }
3761
+ })();
3762
+ /*!
3763
+ * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.
3764
+ *
3765
+ * howler.js v2.2.4
3766
+ * howlerjs.com
3767
+ *
3768
+ * (c) 2013-2020, James Simpson of GoldFire Studios
3769
+ * goldfirestudios.com
3770
+ *
3771
+ * MIT License
3772
+ */
3773
+ (function() {
3774
+ HowlerGlobal.prototype._pos = [0, 0, 0];
3775
+ HowlerGlobal.prototype._orientation = [0, 0, -1, 0, 1, 0];
3776
+ HowlerGlobal.prototype.stereo = function(pan) {
3777
+ var self = this;
3778
+ if (!self.ctx || !self.ctx.listener) {
3779
+ return self;
3780
+ }
3781
+ for (var i = self._howls.length - 1; i >= 0; i--) {
3782
+ self._howls[i].stereo(pan);
3783
+ }
3784
+ return self;
3785
+ };
3786
+ HowlerGlobal.prototype.pos = function(x, y2, z) {
3787
+ var self = this;
3788
+ if (!self.ctx || !self.ctx.listener) {
3789
+ return self;
3790
+ }
3791
+ y2 = typeof y2 !== "number" ? self._pos[1] : y2;
3792
+ z = typeof z !== "number" ? self._pos[2] : z;
3793
+ if (typeof x === "number") {
3794
+ self._pos = [x, y2, z];
3795
+ if (typeof self.ctx.listener.positionX !== "undefined") {
3796
+ self.ctx.listener.positionX.setTargetAtTime(self._pos[0], Howler.ctx.currentTime, 0.1);
3797
+ self.ctx.listener.positionY.setTargetAtTime(self._pos[1], Howler.ctx.currentTime, 0.1);
3798
+ self.ctx.listener.positionZ.setTargetAtTime(self._pos[2], Howler.ctx.currentTime, 0.1);
3799
+ } else {
3800
+ self.ctx.listener.setPosition(self._pos[0], self._pos[1], self._pos[2]);
3801
+ }
3802
+ } else {
3803
+ return self._pos;
3804
+ }
3805
+ return self;
3806
+ };
3807
+ HowlerGlobal.prototype.orientation = function(x, y2, z, xUp, yUp, zUp) {
3808
+ var self = this;
3809
+ if (!self.ctx || !self.ctx.listener) {
3810
+ return self;
3811
+ }
3812
+ var or = self._orientation;
3813
+ y2 = typeof y2 !== "number" ? or[1] : y2;
3814
+ z = typeof z !== "number" ? or[2] : z;
3815
+ xUp = typeof xUp !== "number" ? or[3] : xUp;
3816
+ yUp = typeof yUp !== "number" ? or[4] : yUp;
3817
+ zUp = typeof zUp !== "number" ? or[5] : zUp;
3818
+ if (typeof x === "number") {
3819
+ self._orientation = [x, y2, z, xUp, yUp, zUp];
3820
+ if (typeof self.ctx.listener.forwardX !== "undefined") {
3821
+ self.ctx.listener.forwardX.setTargetAtTime(x, Howler.ctx.currentTime, 0.1);
3822
+ self.ctx.listener.forwardY.setTargetAtTime(y2, Howler.ctx.currentTime, 0.1);
3823
+ self.ctx.listener.forwardZ.setTargetAtTime(z, Howler.ctx.currentTime, 0.1);
3824
+ self.ctx.listener.upX.setTargetAtTime(xUp, Howler.ctx.currentTime, 0.1);
3825
+ self.ctx.listener.upY.setTargetAtTime(yUp, Howler.ctx.currentTime, 0.1);
3826
+ self.ctx.listener.upZ.setTargetAtTime(zUp, Howler.ctx.currentTime, 0.1);
3827
+ } else {
3828
+ self.ctx.listener.setOrientation(x, y2, z, xUp, yUp, zUp);
3829
+ }
3830
+ } else {
3831
+ return or;
3832
+ }
3833
+ return self;
3834
+ };
3835
+ Howl.prototype.init = /* @__PURE__ */ (function(_super) {
3836
+ return function(o2) {
3837
+ var self = this;
3838
+ self._orientation = o2.orientation || [1, 0, 0];
3839
+ self._stereo = o2.stereo || null;
3840
+ self._pos = o2.pos || null;
3841
+ self._pannerAttr = {
3842
+ coneInnerAngle: typeof o2.coneInnerAngle !== "undefined" ? o2.coneInnerAngle : 360,
3843
+ coneOuterAngle: typeof o2.coneOuterAngle !== "undefined" ? o2.coneOuterAngle : 360,
3844
+ coneOuterGain: typeof o2.coneOuterGain !== "undefined" ? o2.coneOuterGain : 0,
3845
+ distanceModel: typeof o2.distanceModel !== "undefined" ? o2.distanceModel : "inverse",
3846
+ maxDistance: typeof o2.maxDistance !== "undefined" ? o2.maxDistance : 1e4,
3847
+ panningModel: typeof o2.panningModel !== "undefined" ? o2.panningModel : "HRTF",
3848
+ refDistance: typeof o2.refDistance !== "undefined" ? o2.refDistance : 1,
3849
+ rolloffFactor: typeof o2.rolloffFactor !== "undefined" ? o2.rolloffFactor : 1
3850
+ };
3851
+ self._onstereo = o2.onstereo ? [{ fn: o2.onstereo }] : [];
3852
+ self._onpos = o2.onpos ? [{ fn: o2.onpos }] : [];
3853
+ self._onorientation = o2.onorientation ? [{ fn: o2.onorientation }] : [];
3854
+ return _super.call(this, o2);
3855
+ };
3856
+ })(Howl.prototype.init);
3857
+ Howl.prototype.stereo = function(pan, id) {
3858
+ var self = this;
3859
+ if (!self._webAudio) {
3860
+ return self;
3861
+ }
3862
+ if (self._state !== "loaded") {
3863
+ self._queue.push({
3864
+ event: "stereo",
3865
+ action: function() {
3866
+ self.stereo(pan, id);
3867
+ }
3868
+ });
3869
+ return self;
3870
+ }
3871
+ var pannerType = typeof Howler.ctx.createStereoPanner === "undefined" ? "spatial" : "stereo";
3872
+ if (typeof id === "undefined") {
3873
+ if (typeof pan === "number") {
3874
+ self._stereo = pan;
3875
+ self._pos = [pan, 0, 0];
3876
+ } else {
3877
+ return self._stereo;
3878
+ }
3879
+ }
3880
+ var ids = self._getSoundIds(id);
3881
+ for (var i = 0; i < ids.length; i++) {
3882
+ var sound = self._soundById(ids[i]);
3883
+ if (sound) {
3884
+ if (typeof pan === "number") {
3885
+ sound._stereo = pan;
3886
+ sound._pos = [pan, 0, 0];
3887
+ if (sound._node) {
3888
+ sound._pannerAttr.panningModel = "equalpower";
3889
+ if (!sound._panner || !sound._panner.pan) {
3890
+ setupPanner(sound, pannerType);
3891
+ }
3892
+ if (pannerType === "spatial") {
3893
+ if (typeof sound._panner.positionX !== "undefined") {
3894
+ sound._panner.positionX.setValueAtTime(pan, Howler.ctx.currentTime);
3895
+ sound._panner.positionY.setValueAtTime(0, Howler.ctx.currentTime);
3896
+ sound._panner.positionZ.setValueAtTime(0, Howler.ctx.currentTime);
3897
+ } else {
3898
+ sound._panner.setPosition(pan, 0, 0);
3899
+ }
3900
+ } else {
3901
+ sound._panner.pan.setValueAtTime(pan, Howler.ctx.currentTime);
3902
+ }
3903
+ }
3904
+ self._emit("stereo", sound._id);
3905
+ } else {
3906
+ return sound._stereo;
3907
+ }
3908
+ }
3909
+ }
3910
+ return self;
3911
+ };
3912
+ Howl.prototype.pos = function(x, y2, z, id) {
3913
+ var self = this;
3914
+ if (!self._webAudio) {
3915
+ return self;
3916
+ }
3917
+ if (self._state !== "loaded") {
3918
+ self._queue.push({
3919
+ event: "pos",
3920
+ action: function() {
3921
+ self.pos(x, y2, z, id);
3922
+ }
3923
+ });
3924
+ return self;
3925
+ }
3926
+ y2 = typeof y2 !== "number" ? 0 : y2;
3927
+ z = typeof z !== "number" ? -0.5 : z;
3928
+ if (typeof id === "undefined") {
3929
+ if (typeof x === "number") {
3930
+ self._pos = [x, y2, z];
3931
+ } else {
3932
+ return self._pos;
3933
+ }
3934
+ }
3935
+ var ids = self._getSoundIds(id);
3936
+ for (var i = 0; i < ids.length; i++) {
3937
+ var sound = self._soundById(ids[i]);
3938
+ if (sound) {
3939
+ if (typeof x === "number") {
3940
+ sound._pos = [x, y2, z];
3941
+ if (sound._node) {
3942
+ if (!sound._panner || sound._panner.pan) {
3943
+ setupPanner(sound, "spatial");
3944
+ }
3945
+ if (typeof sound._panner.positionX !== "undefined") {
3946
+ sound._panner.positionX.setValueAtTime(x, Howler.ctx.currentTime);
3947
+ sound._panner.positionY.setValueAtTime(y2, Howler.ctx.currentTime);
3948
+ sound._panner.positionZ.setValueAtTime(z, Howler.ctx.currentTime);
3949
+ } else {
3950
+ sound._panner.setPosition(x, y2, z);
3951
+ }
3952
+ }
3953
+ self._emit("pos", sound._id);
3954
+ } else {
3955
+ return sound._pos;
3956
+ }
3957
+ }
3958
+ }
3959
+ return self;
3960
+ };
3961
+ Howl.prototype.orientation = function(x, y2, z, id) {
3962
+ var self = this;
3963
+ if (!self._webAudio) {
3964
+ return self;
3965
+ }
3966
+ if (self._state !== "loaded") {
3967
+ self._queue.push({
3968
+ event: "orientation",
3969
+ action: function() {
3970
+ self.orientation(x, y2, z, id);
3971
+ }
3972
+ });
3973
+ return self;
3974
+ }
3975
+ y2 = typeof y2 !== "number" ? self._orientation[1] : y2;
3976
+ z = typeof z !== "number" ? self._orientation[2] : z;
3977
+ if (typeof id === "undefined") {
3978
+ if (typeof x === "number") {
3979
+ self._orientation = [x, y2, z];
3980
+ } else {
3981
+ return self._orientation;
3982
+ }
3983
+ }
3984
+ var ids = self._getSoundIds(id);
3985
+ for (var i = 0; i < ids.length; i++) {
3986
+ var sound = self._soundById(ids[i]);
3987
+ if (sound) {
3988
+ if (typeof x === "number") {
3989
+ sound._orientation = [x, y2, z];
3990
+ if (sound._node) {
3991
+ if (!sound._panner) {
3992
+ if (!sound._pos) {
3993
+ sound._pos = self._pos || [0, 0, -0.5];
3994
+ }
3995
+ setupPanner(sound, "spatial");
3996
+ }
3997
+ if (typeof sound._panner.orientationX !== "undefined") {
3998
+ sound._panner.orientationX.setValueAtTime(x, Howler.ctx.currentTime);
3999
+ sound._panner.orientationY.setValueAtTime(y2, Howler.ctx.currentTime);
4000
+ sound._panner.orientationZ.setValueAtTime(z, Howler.ctx.currentTime);
4001
+ } else {
4002
+ sound._panner.setOrientation(x, y2, z);
4003
+ }
4004
+ }
4005
+ self._emit("orientation", sound._id);
4006
+ } else {
4007
+ return sound._orientation;
4008
+ }
4009
+ }
4010
+ }
4011
+ return self;
4012
+ };
4013
+ Howl.prototype.pannerAttr = function() {
4014
+ var self = this;
4015
+ var args = arguments;
4016
+ var o2, id, sound;
4017
+ if (!self._webAudio) {
4018
+ return self;
4019
+ }
4020
+ if (args.length === 0) {
4021
+ return self._pannerAttr;
4022
+ } else if (args.length === 1) {
4023
+ if (typeof args[0] === "object") {
4024
+ o2 = args[0];
4025
+ if (typeof id === "undefined") {
4026
+ if (!o2.pannerAttr) {
4027
+ o2.pannerAttr = {
4028
+ coneInnerAngle: o2.coneInnerAngle,
4029
+ coneOuterAngle: o2.coneOuterAngle,
4030
+ coneOuterGain: o2.coneOuterGain,
4031
+ distanceModel: o2.distanceModel,
4032
+ maxDistance: o2.maxDistance,
4033
+ refDistance: o2.refDistance,
4034
+ rolloffFactor: o2.rolloffFactor,
4035
+ panningModel: o2.panningModel
4036
+ };
4037
+ }
4038
+ self._pannerAttr = {
4039
+ coneInnerAngle: typeof o2.pannerAttr.coneInnerAngle !== "undefined" ? o2.pannerAttr.coneInnerAngle : self._coneInnerAngle,
4040
+ coneOuterAngle: typeof o2.pannerAttr.coneOuterAngle !== "undefined" ? o2.pannerAttr.coneOuterAngle : self._coneOuterAngle,
4041
+ coneOuterGain: typeof o2.pannerAttr.coneOuterGain !== "undefined" ? o2.pannerAttr.coneOuterGain : self._coneOuterGain,
4042
+ distanceModel: typeof o2.pannerAttr.distanceModel !== "undefined" ? o2.pannerAttr.distanceModel : self._distanceModel,
4043
+ maxDistance: typeof o2.pannerAttr.maxDistance !== "undefined" ? o2.pannerAttr.maxDistance : self._maxDistance,
4044
+ refDistance: typeof o2.pannerAttr.refDistance !== "undefined" ? o2.pannerAttr.refDistance : self._refDistance,
4045
+ rolloffFactor: typeof o2.pannerAttr.rolloffFactor !== "undefined" ? o2.pannerAttr.rolloffFactor : self._rolloffFactor,
4046
+ panningModel: typeof o2.pannerAttr.panningModel !== "undefined" ? o2.pannerAttr.panningModel : self._panningModel
4047
+ };
4048
+ }
4049
+ } else {
4050
+ sound = self._soundById(parseInt(args[0], 10));
4051
+ return sound ? sound._pannerAttr : self._pannerAttr;
4052
+ }
4053
+ } else if (args.length === 2) {
4054
+ o2 = args[0];
4055
+ id = parseInt(args[1], 10);
4056
+ }
4057
+ var ids = self._getSoundIds(id);
4058
+ for (var i = 0; i < ids.length; i++) {
4059
+ sound = self._soundById(ids[i]);
4060
+ if (sound) {
4061
+ var pa = sound._pannerAttr;
4062
+ pa = {
4063
+ coneInnerAngle: typeof o2.coneInnerAngle !== "undefined" ? o2.coneInnerAngle : pa.coneInnerAngle,
4064
+ coneOuterAngle: typeof o2.coneOuterAngle !== "undefined" ? o2.coneOuterAngle : pa.coneOuterAngle,
4065
+ coneOuterGain: typeof o2.coneOuterGain !== "undefined" ? o2.coneOuterGain : pa.coneOuterGain,
4066
+ distanceModel: typeof o2.distanceModel !== "undefined" ? o2.distanceModel : pa.distanceModel,
4067
+ maxDistance: typeof o2.maxDistance !== "undefined" ? o2.maxDistance : pa.maxDistance,
4068
+ refDistance: typeof o2.refDistance !== "undefined" ? o2.refDistance : pa.refDistance,
4069
+ rolloffFactor: typeof o2.rolloffFactor !== "undefined" ? o2.rolloffFactor : pa.rolloffFactor,
4070
+ panningModel: typeof o2.panningModel !== "undefined" ? o2.panningModel : pa.panningModel
4071
+ };
4072
+ var panner = sound._panner;
4073
+ if (!panner) {
4074
+ if (!sound._pos) {
4075
+ sound._pos = self._pos || [0, 0, -0.5];
4076
+ }
4077
+ setupPanner(sound, "spatial");
4078
+ panner = sound._panner;
4079
+ }
4080
+ panner.coneInnerAngle = pa.coneInnerAngle;
4081
+ panner.coneOuterAngle = pa.coneOuterAngle;
4082
+ panner.coneOuterGain = pa.coneOuterGain;
4083
+ panner.distanceModel = pa.distanceModel;
4084
+ panner.maxDistance = pa.maxDistance;
4085
+ panner.refDistance = pa.refDistance;
4086
+ panner.rolloffFactor = pa.rolloffFactor;
4087
+ panner.panningModel = pa.panningModel;
4088
+ }
4089
+ }
4090
+ return self;
4091
+ };
4092
+ Sound.prototype.init = /* @__PURE__ */ (function(_super) {
4093
+ return function() {
4094
+ var self = this;
4095
+ var parent = self._parent;
4096
+ self._orientation = parent._orientation;
4097
+ self._stereo = parent._stereo;
4098
+ self._pos = parent._pos;
4099
+ self._pannerAttr = parent._pannerAttr;
4100
+ _super.call(this);
4101
+ if (self._stereo) {
4102
+ parent.stereo(self._stereo);
4103
+ } else if (self._pos) {
4104
+ parent.pos(self._pos[0], self._pos[1], self._pos[2], self._id);
4105
+ }
4106
+ };
4107
+ })(Sound.prototype.init);
4108
+ Sound.prototype.reset = /* @__PURE__ */ (function(_super) {
4109
+ return function() {
4110
+ var self = this;
4111
+ var parent = self._parent;
4112
+ self._orientation = parent._orientation;
4113
+ self._stereo = parent._stereo;
4114
+ self._pos = parent._pos;
4115
+ self._pannerAttr = parent._pannerAttr;
4116
+ if (self._stereo) {
4117
+ parent.stereo(self._stereo);
4118
+ } else if (self._pos) {
4119
+ parent.pos(self._pos[0], self._pos[1], self._pos[2], self._id);
4120
+ } else if (self._panner) {
4121
+ self._panner.disconnect(0);
4122
+ self._panner = void 0;
4123
+ parent._refreshBuffer(self);
4124
+ }
4125
+ return _super.call(this);
4126
+ };
4127
+ })(Sound.prototype.reset);
4128
+ var setupPanner = function(sound, type) {
4129
+ type = type || "spatial";
4130
+ if (type === "spatial") {
4131
+ sound._panner = Howler.ctx.createPanner();
4132
+ sound._panner.coneInnerAngle = sound._pannerAttr.coneInnerAngle;
4133
+ sound._panner.coneOuterAngle = sound._pannerAttr.coneOuterAngle;
4134
+ sound._panner.coneOuterGain = sound._pannerAttr.coneOuterGain;
4135
+ sound._panner.distanceModel = sound._pannerAttr.distanceModel;
4136
+ sound._panner.maxDistance = sound._pannerAttr.maxDistance;
4137
+ sound._panner.refDistance = sound._pannerAttr.refDistance;
4138
+ sound._panner.rolloffFactor = sound._pannerAttr.rolloffFactor;
4139
+ sound._panner.panningModel = sound._pannerAttr.panningModel;
4140
+ if (typeof sound._panner.positionX !== "undefined") {
4141
+ sound._panner.positionX.setValueAtTime(sound._pos[0], Howler.ctx.currentTime);
4142
+ sound._panner.positionY.setValueAtTime(sound._pos[1], Howler.ctx.currentTime);
4143
+ sound._panner.positionZ.setValueAtTime(sound._pos[2], Howler.ctx.currentTime);
4144
+ } else {
4145
+ sound._panner.setPosition(sound._pos[0], sound._pos[1], sound._pos[2]);
4146
+ }
4147
+ if (typeof sound._panner.orientationX !== "undefined") {
4148
+ sound._panner.orientationX.setValueAtTime(sound._orientation[0], Howler.ctx.currentTime);
4149
+ sound._panner.orientationY.setValueAtTime(sound._orientation[1], Howler.ctx.currentTime);
4150
+ sound._panner.orientationZ.setValueAtTime(sound._orientation[2], Howler.ctx.currentTime);
4151
+ } else {
4152
+ sound._panner.setOrientation(sound._orientation[0], sound._orientation[1], sound._orientation[2]);
4153
+ }
4154
+ } else {
4155
+ sound._panner = Howler.ctx.createStereoPanner();
4156
+ sound._panner.pan.setValueAtTime(sound._stereo, Howler.ctx.currentTime);
4157
+ }
4158
+ sound._panner.connect(sound._node);
4159
+ if (!sound._paused) {
4160
+ sound._parent.pause(sound._id, true).play(sound._id, true);
4161
+ }
4162
+ };
4163
+ })();
4164
+ })(howler);
4165
+ return howler;
4166
+ }
4167
+ var howlerExports = requireHowler();
4168
+ var y = Object.defineProperty, b = Object.defineProperties;
4169
+ var S = Object.getOwnPropertyDescriptors;
4170
+ var p = Object.getOwnPropertySymbols;
4171
+ var g = Object.prototype.hasOwnProperty, P = Object.prototype.propertyIsEnumerable;
4172
+ var f = (l, e, t) => e in l ? y(l, e, { enumerable: true, configurable: true, writable: true, value: t }) : l[e] = t, o = (l, e) => {
4173
+ for (var t in e || (e = {})) g.call(e, t) && f(l, t, e[t]);
4174
+ if (p) for (var t of p(e)) P.call(e, t) && f(l, t, e[t]);
4175
+ return l;
4176
+ }, s = (l, e) => b(l, S(e));
4177
+ var d = class {
4178
+ constructor() {
4179
+ this._cache = /* @__PURE__ */ new Map();
4180
+ }
4181
+ create(e) {
4182
+ let t = e.src;
4183
+ if (this._cache.has(t)) return this._cache.get(t);
4184
+ let a = new howlerExports.Howl(e);
4185
+ return this._cache.set(t, a), a;
4186
+ }
4187
+ set(e, t) {
4188
+ this._cache.set(e, t);
4189
+ }
4190
+ get(e) {
4191
+ return this._cache.get(e);
4192
+ }
4193
+ clear(e) {
4194
+ this._cache.delete(e);
4195
+ }
4196
+ destroy(e) {
4197
+ let t = this.get(e);
4198
+ t && (t.unload(), this.clear(e));
4199
+ }
4200
+ reset() {
4201
+ this._cache.values().forEach((e) => e.unload()), this._cache.clear();
4202
+ }
4203
+ }, v = new d(), c = v;
4204
+ var n = { isUnloaded: true, isLoading: false, isReady: false, isLooping: false, isPlaying: false, isStopped: false, isPaused: false, duration: 0, rate: 1, volume: 1, isMuted: false, error: void 0 }, h = class {
4205
+ updateSnapshot(e) {
4206
+ this.snapshot = o(o({}, this.snapshot), e), this.subscriptions.forEach((t) => t());
4207
+ }
4208
+ updateSnapshotFromHowlState(e) {
4209
+ this.updateSnapshot(o({}, this.getSnapshotFromHowl(e)));
4210
+ }
4211
+ initHowl(e) {
4212
+ var a, u;
4213
+ let t = c.create(e);
4214
+ this.src = e.src, this.howl = t, this.updateSnapshot(s(o({}, this.getSnapshotFromHowl(t)), { error: void 0 })), t._html5 && ((a = t._sounds[0]) != null && a._node) && ((u = t._sounds[0]) == null ? void 0 : u._node).addEventListener("canplaythrough", () => {
4215
+ this.updateSnapshotFromHowlState(t);
4216
+ }), t.on("load", () => this.updateSnapshotFromHowlState(t)), t.on("play", () => this.updateSnapshotFromHowlState(t)), t.on("end", () => this.updateSnapshotFromHowlState(t)), t.on("pause", () => this.updateSnapshotFromHowlState(t)), t.on("stop", () => this.updateSnapshotFromHowlState(t)), t.on("mute", () => this.updateSnapshotFromHowlState(t)), t.on("volume", () => this.updateSnapshotFromHowlState(t)), t.on("rate", () => this.updateSnapshotFromHowlState(t)), t.on("seek", () => this.updateSnapshotFromHowlState(t)), t.on("fade", () => this.updateSnapshotFromHowlState(t)), t.on("loaderror", (i, r) => {
4217
+ console.error(`Howl load error: ${r}`), this.updateSnapshotFromHowlState(t), this.updateSnapshot({ error: "Failed to load audio source" });
4218
+ }), t.on("playerror", (i, r) => {
4219
+ console.error(`Howl playback error: ${r}`), this.updateSnapshotFromHowlState(t), this.updateSnapshot({ error: "Failed to play audio source" });
4220
+ });
4221
+ }
4222
+ getSnapshotFromHowl(e) {
4223
+ if (e.state() === "unloaded") return n;
4224
+ let t = e.state(), a = e.playing(), u = e.mute();
4225
+ return { isUnloaded: t === "unloaded", isLoading: t === "loading", isReady: t === "loaded", isLooping: e.loop(), isPlaying: a, isStopped: !a && e.seek() === 0, isPaused: !a && e.seek() > 0, duration: e.duration(), rate: e.rate(), volume: e.volume(), isMuted: typeof u == "object" ? false : u };
4226
+ }
4227
+ constructor(e) {
4228
+ this.howl = null, this.src = null, this.subscriptions = /* @__PURE__ */ new Set(), this.snapshot = n, e !== void 0 && this.initHowl(e);
4229
+ }
4230
+ load(e) {
4231
+ this.howl !== null && this.destroy(), this.initHowl(e);
4232
+ }
4233
+ destroy() {
4234
+ this.src && this.howl && (this.howl.off("load"), this.howl.off("play"), this.howl.off("end"), this.howl.off("pause"), this.howl.off("stop"), this.howl.off("mute"), this.howl.off("volume"), this.howl.off("rate"), this.howl.off("seek"), this.howl.off("fade"), this.howl.off("loaderror"), this.howl.off("playerror"), c.destroy(this.src), this.src = null, this.howl = null);
4235
+ }
4236
+ subscribe(e) {
4237
+ return this.subscriptions.add(e), () => this.subscriptions.delete(e);
4238
+ }
4239
+ getSnapshot() {
4240
+ return this.snapshot;
4241
+ }
4242
+ play() {
4243
+ if (this.howl) {
4244
+ if (this.howl.playing()) return;
4245
+ this.howl.play();
4246
+ }
4247
+ }
4248
+ pause() {
4249
+ this.howl && this.howl.pause();
4250
+ }
4251
+ togglePlayPause() {
4252
+ this.snapshot.isPlaying ? this.pause() : this.play();
4253
+ }
4254
+ stop() {
4255
+ this.howl && this.howl.stop();
4256
+ }
4257
+ setVolume(e) {
4258
+ this.howl && this.howl.volume(e);
4259
+ }
4260
+ setRate(e) {
4261
+ this.howl && this.howl.rate(e);
4262
+ }
4263
+ loopOn() {
4264
+ this.howl && (this.howl.loop(true), this.updateSnapshotFromHowlState(this.howl));
4265
+ }
4266
+ loopOff() {
4267
+ this.howl && (this.howl.loop(false), this.updateSnapshotFromHowlState(this.howl));
4268
+ }
4269
+ toggleLoop() {
4270
+ this.snapshot.isLooping ? this.loopOff() : this.loopOn();
4271
+ }
4272
+ mute() {
4273
+ this.howl && this.howl.mute(true);
4274
+ }
4275
+ unmute() {
4276
+ this.howl && this.howl.mute(false);
4277
+ }
4278
+ toggleMute() {
4279
+ this.snapshot.isMuted ? this.unmute() : this.mute();
4280
+ }
4281
+ seek(e) {
4282
+ this.howl && this.snapshot.duration !== 1 / 0 && this.howl.seek(e);
4283
+ }
4284
+ getPosition() {
4285
+ return this.howl ? this.howl.seek() : 0;
4286
+ }
4287
+ fade(e, t, a) {
4288
+ this.howl && this.howl.fade(e, t, a);
4289
+ }
4290
+ };
4291
+ function m(l, e) {
4292
+ let t = useRef(new h());
4293
+ let a = useSyncExternalStore(t.current.subscribe.bind(t.current), t.current.getSnapshot.bind(t.current), () => n);
4294
+ useEffect(() => (() => {
4295
+ t.current && t.current.destroy();
4296
+ }), []);
4297
+ let u = useCallback((i, r) => {
4298
+ t.current.load(o({ src: i, format: r == null ? void 0 : r.format, html5: r == null ? void 0 : r.html5, autoplay: r == null ? void 0 : r.autoplay, loop: r == null ? void 0 : r.loop, volume: r == null ? void 0 : r.initialVolume, mute: r == null ? void 0 : r.initialMute, rate: r == null ? void 0 : r.initialRate }, r));
4299
+ }, []);
4300
+ return s(o({}, a), { player: t.current.howl, src: t.current.src, load: u, play: t.current.play.bind(t.current), pause: t.current.pause.bind(t.current), togglePlayPause: t.current.togglePlayPause.bind(t.current), stop: t.current.stop.bind(t.current), setVolume: t.current.setVolume.bind(t.current), fade: t.current.fade.bind(t.current), mute: t.current.mute.bind(t.current), unmute: t.current.unmute.bind(t.current), toggleMute: t.current.toggleMute.bind(t.current), setRate: t.current.setRate.bind(t.current), seek: t.current.seek.bind(t.current), loopOn: t.current.loopOn.bind(t.current), loopOff: t.current.loopOff.bind(t.current), toggleLoop: t.current.toggleLoop.bind(t.current), getPosition: t.current.getPosition.bind(t.current), cleanup: t.current.destroy.bind(t.current) });
4301
+ }
4302
+ createContext(null);
4303
+ const PLAYER_INSTANCE_QUERY_PARAM = "wixAudioPlayerInstanceId";
4304
+ function getAudioLoadUrlForPlayerInstance(audioUrl, instanceId) {
4305
+ if (!audioUrl || !instanceId) {
4306
+ return audioUrl;
4307
+ }
4308
+ if (audioUrl.startsWith("data:") || audioUrl.startsWith("blob:")) {
4309
+ return audioUrl;
4310
+ }
4311
+ try {
4312
+ const resolved = new URL(audioUrl);
4313
+ resolved.searchParams.set(PLAYER_INSTANCE_QUERY_PARAM, instanceId);
4314
+ return resolved.toString();
4315
+ } catch {
4316
+ return audioUrl;
4317
+ }
4318
+ }
4319
+ const useAudioPlayer = ({
4320
+ instanceId,
4321
+ audioUrl,
4322
+ loop,
4323
+ volume,
4324
+ onPlay,
4325
+ onPause,
4326
+ onEnded,
4327
+ onTimeupdate
4328
+ }) => {
4329
+ const player = m();
4330
+ const playerRef = useRef(player);
4331
+ playerRef.current = player;
4332
+ const loadUrl = useMemo(
4333
+ () => getAudioLoadUrlForPlayerInstance(audioUrl, instanceId),
4334
+ [audioUrl, instanceId]
4335
+ );
4336
+ const onEndedRef = useRef(onEnded);
4337
+ onEndedRef.current = onEnded;
4338
+ useEffect(() => {
4339
+ if (loadUrl) {
4340
+ playerRef.current.load(loadUrl, {
4341
+ loop,
4342
+ initialVolume: volume / 100,
4343
+ onend: () => {
4344
+ var _a;
4345
+ return (_a = onEndedRef.current) == null ? void 0 : _a.call(onEndedRef);
4346
+ }
4347
+ });
4348
+ } else {
4349
+ playerRef.current.cleanup();
4350
+ setCurrentTime(0);
4351
+ }
4352
+ }, [loadUrl]);
4353
+ useEffect(() => {
4354
+ if (loop) {
4355
+ playerRef.current.loopOn();
4356
+ } else {
4357
+ playerRef.current.loopOff();
4358
+ }
4359
+ }, [loop]);
4360
+ const prevIsPlayingRef = useRef(player.isPlaying);
4361
+ useEffect(() => {
4362
+ const wasPlaying = prevIsPlayingRef.current;
4363
+ const nowPlaying = player.isPlaying;
4364
+ prevIsPlayingRef.current = nowPlaying;
4365
+ if (!wasPlaying && nowPlaying) {
4366
+ onPlay == null ? void 0 : onPlay();
4367
+ } else if (wasPlaying && !nowPlaying) {
4368
+ onPause == null ? void 0 : onPause();
4369
+ }
4370
+ }, [player.isPlaying, onPlay, onPause]);
4371
+ const [currentTime, setCurrentTime] = useState(0);
4372
+ const frameRef = useRef();
4373
+ const onTimeupdateRef = useRef(onTimeupdate);
4374
+ onTimeupdateRef.current = onTimeupdate;
4375
+ useEffect(() => {
4376
+ let lastTime = 0;
4377
+ const animate = () => {
4378
+ var _a;
4379
+ const pos = playerRef.current.getPosition();
4380
+ setCurrentTime(pos);
4381
+ if (pos !== lastTime) {
4382
+ (_a = onTimeupdateRef.current) == null ? void 0 : _a.call(onTimeupdateRef);
4383
+ lastTime = pos;
4384
+ }
4385
+ frameRef.current = requestAnimationFrame(animate);
4386
+ };
4387
+ frameRef.current = requestAnimationFrame(animate);
4388
+ return () => {
4389
+ if (frameRef.current) {
4390
+ cancelAnimationFrame(frameRef.current);
4391
+ }
4392
+ };
4393
+ }, []);
4394
+ const [currentVolume, setCurrentVolume] = useState(volume);
4395
+ useEffect(() => {
4396
+ setCurrentVolume(volume);
4397
+ playerRef.current.setVolume(volume / 100);
4398
+ }, [volume]);
4399
+ const setVolume = useCallback((value) => {
4400
+ setCurrentVolume(value);
4401
+ playerRef.current.setVolume(value / 100);
4402
+ if (value > 0 && playerRef.current.isMuted) {
4403
+ playerRef.current.unmute();
4404
+ }
4405
+ }, []);
4406
+ const seekTo = useCallback((value) => {
4407
+ playerRef.current.seek(value);
4408
+ setCurrentTime(value);
4409
+ }, []);
4410
+ const togglePlay = useCallback(() => {
4411
+ if (playerRef.current.error) {
4412
+ return;
4413
+ }
4414
+ playerRef.current.togglePlayPause();
4415
+ }, []);
4416
+ const toggleMute = useCallback(() => {
4417
+ playerRef.current.toggleMute();
4418
+ }, []);
4419
+ const duration = loadUrl ? player.duration : 0;
4420
+ return {
4421
+ isPlaying: player.isPlaying,
4422
+ currentTime,
4423
+ duration,
4424
+ currentVolume,
4425
+ isMuted: player.isMuted,
4426
+ hasError: !!player.error,
4427
+ togglePlay,
4428
+ toggleMute,
4429
+ seekTo,
4430
+ setVolume
4431
+ };
4432
+ };
4433
+ const root = "root__hYTL-";
4434
+ const coverMediaWrapper = "coverMediaWrapper__4WJv-";
4435
+ const audioTitle = "audioTitle__sraj4";
4436
+ const artistName = "artistName__m1VFK";
4437
+ const controls = "controls__CVIRI";
4438
+ const playIcon = "playIcon__ix-Gs";
4439
+ const progressBar = "progressBar__JKVlY";
4440
+ const progressTrack = "progressTrack__bm5K-";
4441
+ const progressFill = "progressFill__hUBX1";
4442
+ const progressThumb = "progressThumb__aGPAS";
4443
+ const timeDisplay = "timeDisplay__Pw7f0";
4444
+ const volumeControls = "volumeControls__-atKQ";
4445
+ const muteIcon = "muteIcon__n7APk";
4446
+ const volumeSliderWrapper = "volumeSliderWrapper__JyspH";
4447
+ const volumeSlider = "volumeSlider__e8CHL";
4448
+ const volumeTrack = "volumeTrack__hQIXf";
4449
+ const volumeFill = "volumeFill__BxwCt";
4450
+ const volumeThumb = "volumeThumb__3tTpu";
4451
+ const seoLink = "seoLink__azehx";
4452
+ const styles = {
4453
+ root,
4454
+ coverMediaWrapper,
4455
+ audioTitle,
4456
+ artistName,
4457
+ controls,
4458
+ playIcon,
4459
+ progressBar,
4460
+ progressTrack,
4461
+ progressFill,
4462
+ progressThumb,
4463
+ timeDisplay,
4464
+ volumeControls,
4465
+ muteIcon,
4466
+ volumeSliderWrapper,
4467
+ volumeSlider,
4468
+ volumeTrack,
4469
+ volumeFill,
4470
+ volumeThumb,
4471
+ seoLink
4472
+ };
4473
+ const PlayButton = ({
4474
+ isPlaying,
4475
+ hasError,
4476
+ onTogglePlay
4477
+ }) => {
4478
+ const PlaybackIcon = isPlaying ? PauseFilled_default : PlayFilled_default;
4479
+ return /* @__PURE__ */ jsx(
4480
+ $d2b4bc8c273e7be6$export$353f5b6fc5456de1,
4481
+ {
4482
+ className: selectors.playButton,
4483
+ onPress: onTogglePlay,
4484
+ isDisabled: hasError,
4485
+ "aria-label": isPlaying ? ARIA_LABELS.pauseButton : ARIA_LABELS.playButton,
4486
+ children: /* @__PURE__ */ jsx(
4487
+ PlaybackIcon,
4488
+ {
4489
+ className: clsx(selectors.playIcon, styles.playIcon)
4490
+ }
4491
+ )
4492
+ }
4493
+ );
4494
+ };
4495
+ const formatTime = (seconds) => {
4496
+ if (isNaN(seconds)) {
4497
+ return "0:00";
4498
+ }
4499
+ const mins = Math.floor(seconds / 60);
4500
+ const secs = Math.floor(seconds % 60);
4501
+ return `${mins}:${secs.toString().padStart(2, "0")}`;
4502
+ };
4503
+ const ProgressSlider = ({
4504
+ currentTime,
4505
+ duration,
4506
+ hasError,
4507
+ onSeek
4508
+ }) => {
4509
+ const timeText = `${formatTime(currentTime)} / ${formatTime(duration)}`;
4510
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
4511
+ /* @__PURE__ */ jsx(
4512
+ $6f909507e6374d18$export$472062a354075cee,
4513
+ {
4514
+ className: clsx(selectors.progressBar, styles.progressBar),
4515
+ minValue: 0,
4516
+ maxValue: duration || 1,
4517
+ value: currentTime,
4518
+ onChange: onSeek,
4519
+ isDisabled: hasError || duration === 0,
4520
+ "aria-label": ARIA_LABELS.progressBar,
4521
+ children: /* @__PURE__ */ jsx(
4522
+ $6f909507e6374d18$export$105594979f116971,
4523
+ {
4524
+ className: clsx(selectors.progressTrack, styles.progressTrack),
4525
+ children: ({ state }) => /* @__PURE__ */ jsxs(Fragment, { children: [
4526
+ /* @__PURE__ */ jsx(
4527
+ "span",
4528
+ {
4529
+ style: {
4530
+ "--progress-percent": `${state.getThumbPercent(0) * 100}%`
4531
+ },
4532
+ className: styles.progressFill
4533
+ }
4534
+ ),
4535
+ /* @__PURE__ */ jsx($6f909507e6374d18$export$2c1b491743890dec, { className: styles.progressThumb })
4536
+ ] })
4537
+ }
4538
+ )
4539
+ }
4540
+ ),
4541
+ /* @__PURE__ */ jsx("span", { className: clsx(selectors.timeDisplay, styles.timeDisplay), children: timeText })
4542
+ ] });
4543
+ };
4544
+ const SoundOn = (props) => /* @__PURE__ */ jsx(
4545
+ "svg",
4546
+ {
4547
+ width: "24",
4548
+ height: "24",
4549
+ viewBox: "0 0 24 24",
4550
+ fill: "none",
4551
+ xmlns: "http://www.w3.org/2000/svg",
4552
+ ...props,
4553
+ children: /* @__PURE__ */ jsx(
4554
+ "path",
4555
+ {
4556
+ fillRule: "evenodd",
4557
+ clipRule: "evenodd",
4558
+ d: "M13.5193 5.11294C13.648 4.99656 13.8343 4.96769 13.9901 5.03769C14.1485 5.10769 14.25 5.26519 14.25 5.43756V18.5625C14.25 18.7349 14.1485 18.8924 13.9901 18.9624C13.9332 18.9878 13.8728 19 13.8125 19C13.7066 19 13.6016 18.9615 13.5193 18.8871L9.27211 15.0608L6.81249 15.0625C6.08887 15.0625 5.5 14.4736 5.5 13.75V10.25C5.5 9.52642 6.08887 8.93755 6.81249 8.93755H9.27561L13.5193 5.11294ZM17.7439 7.76094C18.8762 8.89318 19.5 10.3991 19.5 12.0003C19.5 13.6015 18.8762 15.1074 17.7439 16.2388L17.1253 15.6202C18.0922 14.6533 18.625 13.367 18.625 12.0003C18.625 10.6327 18.0922 9.34643 17.1253 8.37956L17.7439 7.76094ZM16.2383 9.28361C16.9313 10.023 17.3128 10.9872 17.3128 11.9996C17.3128 13.0128 16.9313 13.9771 16.2392 14.7165L15.6004 14.118C16.1403 13.5422 16.4378 12.7897 16.4378 11.9996C16.4378 11.2103 16.1403 10.4587 15.6004 9.8821L16.2383 9.28361Z",
4559
+ fill: "currentColor"
4560
+ }
4561
+ )
4562
+ }
4563
+ );
4564
+ const SoundOff = (props) => /* @__PURE__ */ jsx(
4565
+ "svg",
4566
+ {
4567
+ width: "24",
4568
+ height: "24",
4569
+ viewBox: "0 0 24 24",
4570
+ fill: "none",
4571
+ xmlns: "http://www.w3.org/2000/svg",
4572
+ ...props,
4573
+ children: /* @__PURE__ */ jsx(
4574
+ "path",
4575
+ {
4576
+ fillRule: "evenodd",
4577
+ clipRule: "evenodd",
4578
+ d: "M13.0875 5.11294C13.2172 4.99656 13.4043 4.96769 13.5623 5.03769C13.722 5.10769 13.8244 5.26519 13.8244 5.43756V18.5625C13.8244 18.7349 13.722 18.8924 13.5623 18.9624C13.5049 18.9878 13.444 19 13.3831 19C13.2764 19 13.1705 18.9615 13.0875 18.8871L8.80418 15.0608L6.32365 15.0625C5.59388 15.0625 5 14.4736 5 13.75V10.25C5 9.52642 5.59388 8.93755 6.32365 8.93755H8.80771L13.0875 5.11294ZM19.3761 9.81429L20 10.4329L18.4187 12L20 13.5671L19.3761 14.1858L17.7948 12.6187L16.2143 14.1858L15.5905 13.5671L17.1709 12L15.5905 10.4329L16.2143 9.81429L17.7948 11.3814L19.3761 9.81429Z",
4579
+ fill: "currentColor"
4580
+ }
4581
+ )
4582
+ }
4583
+ );
4584
+ const VolumeFill = ({ percent }) => /* @__PURE__ */ jsx(
4585
+ "span",
4586
+ {
4587
+ style: { "--volume-percent": `${percent}%` },
4588
+ className: styles.volumeFill
4589
+ }
4590
+ );
4591
+ const VolumeControls = ({
4592
+ currentVolume,
4593
+ isMuted,
4594
+ onToggleMute,
4595
+ onVolumeChange
4596
+ }) => /* @__PURE__ */ jsxs(
4597
+ $a049562f99e7db0e$export$eb2fcfdbd7ba97d4,
4598
+ {
4599
+ className: clsx(selectors.volumeControls, styles.volumeControls),
4600
+ "aria-label": ARIA_LABELS.volumeControls,
4601
+ children: [
4602
+ /* @__PURE__ */ jsx(
4603
+ $d2b4bc8c273e7be6$export$353f5b6fc5456de1,
4604
+ {
4605
+ className: selectors.muteButton,
4606
+ onPress: onToggleMute,
4607
+ "aria-label": isMuted ? ARIA_LABELS.unmuteButton : ARIA_LABELS.muteButton,
4608
+ children: isMuted ? /* @__PURE__ */ jsx(SoundOff, { className: styles.muteIcon }) : /* @__PURE__ */ jsx(SoundOn, { className: styles.muteIcon })
4609
+ }
4610
+ ),
4611
+ /* @__PURE__ */ jsx("div", { className: styles.volumeSliderWrapper, children: /* @__PURE__ */ jsx(
4612
+ $6f909507e6374d18$export$472062a354075cee,
4613
+ {
4614
+ className: clsx(selectors.volumeSlider, styles.volumeSlider),
4615
+ minValue: 0,
4616
+ maxValue: 100,
4617
+ value: isMuted ? 0 : currentVolume,
4618
+ onChange: onVolumeChange,
4619
+ "aria-label": ARIA_LABELS.volumeSlider,
4620
+ orientation: "vertical",
4621
+ children: /* @__PURE__ */ jsx(
4622
+ $6f909507e6374d18$export$105594979f116971,
4623
+ {
4624
+ className: clsx(selectors.volumeTrack, styles.volumeTrack),
4625
+ children: ({ state }) => /* @__PURE__ */ jsxs(Fragment, { children: [
4626
+ /* @__PURE__ */ jsx(VolumeFill, { percent: state.getThumbPercent(0) * 100 }),
4627
+ /* @__PURE__ */ jsx($6f909507e6374d18$export$2c1b491743890dec, { className: styles.volumeThumb })
4628
+ ] })
4629
+ }
4630
+ )
4631
+ }
4632
+ ) })
4633
+ ]
4634
+ }
4635
+ );
4636
+ const AudioPlayer = (props) => {
4637
+ var _a;
4638
+ const {
4639
+ id,
4640
+ className,
4641
+ direction,
4642
+ a11y,
4643
+ audio,
4644
+ coverImage,
4645
+ displayMode,
4646
+ loop = dataDefaults.loop,
4647
+ volume = dataDefaults.volume,
4648
+ onPlay: onPlayCallback,
4649
+ onPause: onPauseCallback,
4650
+ onEnded,
4651
+ onTimeupdate,
4652
+ onMouseIn,
4653
+ onMouseOut
4654
+ } = props;
4655
+ const audioUrl = audio == null ? void 0 : audio.url;
4656
+ const title = audio == null ? void 0 : audio.title;
4657
+ const artist = audio == null ? void 0 : audio.artist;
4658
+ const environment = useService(definitionExports.EnvironmentDefinition);
4659
+ const isSSR = ((_a = environment == null ? void 0 : environment.isSSR) == null ? void 0 : _a.call(environment)) ?? false;
4660
+ const fallbackInstanceId = useRef(
4661
+ `audio-player-${Math.random().toString(36).slice(2)}`
4662
+ );
4663
+ const audioInstanceId = id ?? fallbackInstanceId.current;
4664
+ const {
4665
+ isPlaying,
4666
+ currentTime,
4667
+ duration,
4668
+ currentVolume,
4669
+ isMuted,
4670
+ hasError,
4671
+ togglePlay,
4672
+ toggleMute,
4673
+ seekTo,
4674
+ setVolume
4675
+ } = useAudioPlayer({
4676
+ instanceId: audioInstanceId,
4677
+ audioUrl,
4678
+ loop,
4679
+ volume,
4680
+ onPlay: onPlayCallback,
4681
+ onPause: onPauseCallback,
4682
+ onEnded,
4683
+ onTimeupdate
4684
+ });
4685
+ return /* @__PURE__ */ jsxs(
4686
+ "div",
4687
+ {
4688
+ id,
4689
+ ...direction && { dir: direction },
4690
+ ...a11y && convertA11yKeysToHtmlFormat(a11y),
4691
+ onMouseEnter: onMouseIn,
4692
+ onMouseLeave: onMouseOut,
4693
+ className: clsx(
4694
+ selectors.root,
4695
+ styles.root,
4696
+ className,
4697
+ directionStyles.fallbackDirection
4698
+ ),
4699
+ children: [
4700
+ /* @__PURE__ */ jsx(
4701
+ Image3,
4702
+ {
4703
+ id: `${id}-cover`,
4704
+ className: clsx(selectors.coverMedia, styles.coverMediaWrapper),
4705
+ image: coverImage,
4706
+ displayMode
4707
+ }
4708
+ ),
4709
+ /* @__PURE__ */ jsxs("div", { className: clsx(selectors.audioTitle, styles.audioTitle), children: [
4710
+ /* @__PURE__ */ jsx("span", { className: selectors.title, children: title }),
4711
+ isSSR && /* @__PURE__ */ jsx(
4712
+ "a",
4713
+ {
4714
+ href: audioUrl,
4715
+ className: styles.seoLink,
4716
+ "aria-hidden": "true",
4717
+ tabIndex: -1,
4718
+ children: title
4719
+ }
4720
+ ),
4721
+ /* @__PURE__ */ jsx("span", { className: clsx(selectors.artistName, styles.artistName), children: artist })
4722
+ ] }),
4723
+ /* @__PURE__ */ jsxs("div", { className: clsx(selectors.controls, styles.controls), children: [
4724
+ /* @__PURE__ */ jsx(
4725
+ PlayButton,
4726
+ {
4727
+ isPlaying,
4728
+ hasError,
4729
+ onTogglePlay: togglePlay
4730
+ }
4731
+ ),
4732
+ /* @__PURE__ */ jsx(
4733
+ ProgressSlider,
4734
+ {
4735
+ currentTime,
4736
+ duration,
4737
+ hasError,
4738
+ onSeek: seekTo
4739
+ }
4740
+ ),
4741
+ /* @__PURE__ */ jsx(
4742
+ VolumeControls,
4743
+ {
4744
+ currentVolume,
4745
+ isMuted,
4746
+ onToggleMute: toggleMute,
4747
+ onVolumeChange: setVolume
4748
+ }
4749
+ )
4750
+ ] })
4751
+ ]
4752
+ }
4753
+ );
4754
+ };
4755
+ export {
4756
+ AudioPlayer as default
4757
+ };