classicy 0.5.4 → 0.5.5

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 (229) hide show
  1. package/package.json +1 -1
  2. package/dist/3c6dd90084fa516904c8.svg +0 -35
  3. package/dist/README.md +0 -211
  4. package/dist/SystemFolder/ControlPanels/AppManager/ClassicyAppManager.d.ts +0 -91
  5. package/dist/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerContext.d.ts +0 -11
  6. package/dist/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearance.d.ts +0 -111
  7. package/dist/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearanceManager.d.ts +0 -2
  8. package/dist/SystemFolder/ControlPanels/AppearanceManager/ClassicyColors.d.ts +0 -2
  9. package/dist/SystemFolder/ControlPanels/AppearanceManager/ClassicySize.d.ts +0 -4
  10. package/dist/SystemFolder/ControlPanels/ClassicyControlPanels.d.ts +0 -2
  11. package/dist/SystemFolder/ControlPanels/DateAndTimeManager/ClassicyDateAndTimeManager.d.ts +0 -4
  12. package/dist/SystemFolder/ControlPanels/SoundManager/ClassicySoundManager.d.ts +0 -3
  13. package/dist/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerContext.d.ts +0 -78
  14. package/dist/SystemFolder/Finder/Finder.d.ts +0 -2
  15. package/dist/SystemFolder/Finder/FinderContext.d.ts +0 -2
  16. package/dist/SystemFolder/QuickTime/MoviePlayer/MoviePlayer.d.ts +0 -15
  17. package/dist/SystemFolder/QuickTime/MoviePlayer/MoviePlayerContext.d.ts +0 -15
  18. package/dist/SystemFolder/QuickTime/PictureViewer/PictureViewer.d.ts +0 -12
  19. package/dist/SystemFolder/QuickTime/PictureViewer/PictureViewerContext.d.ts +0 -9
  20. package/dist/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindow.d.ts +0 -12
  21. package/dist/SystemFolder/SystemResources/App/ClassicyApp.d.ts +0 -13
  22. package/dist/SystemFolder/SystemResources/App/ClassicyAppUtils.d.ts +0 -20
  23. package/dist/SystemFolder/SystemResources/Boot/ClassicyBoot.d.ts +0 -3
  24. package/dist/SystemFolder/SystemResources/Button/ClassicyButton.d.ts +0 -12
  25. package/dist/SystemFolder/SystemResources/Checkbox/ClassicyCheckbox.d.ts +0 -12
  26. package/dist/SystemFolder/SystemResources/ContextualMenu/ClassicyContextualMenu.d.ts +0 -11
  27. package/dist/SystemFolder/SystemResources/ControlGroup/ClassicyControlGroup.d.ts +0 -9
  28. package/dist/SystemFolder/SystemResources/ControlLabel/ClassicyControlLabel.d.ts +0 -17
  29. package/dist/SystemFolder/SystemResources/DatePicker/ClassicyDatePicker.d.ts +0 -14
  30. package/dist/SystemFolder/SystemResources/DatePicker/ClassicyDatePickerUtils.d.ts +0 -2
  31. package/dist/SystemFolder/SystemResources/Desktop/ClassicyDesktop.d.ts +0 -8
  32. package/dist/SystemFolder/SystemResources/Desktop/ClassicyDesktopIcon.d.ts +0 -14
  33. package/dist/SystemFolder/SystemResources/Desktop/ClassicyDesktopIconContext.d.ts +0 -4
  34. package/dist/SystemFolder/SystemResources/Desktop/ClassicyDesktopManager.d.ts +0 -29
  35. package/dist/SystemFolder/SystemResources/Desktop/ClassicyDesktopWindowManagerContext.d.ts +0 -3
  36. package/dist/SystemFolder/SystemResources/Desktop/MenuBar/ClassicyDesktopMenuBar.d.ts +0 -4
  37. package/dist/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Sound/ClassicyDesktopMenuWidgetSound.d.ts +0 -8
  38. package/dist/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Time/ClassicyDesktopMenuWidgetTime.d.ts +0 -4
  39. package/dist/SystemFolder/SystemResources/Disclosure/ClassicyDisclosure.d.ts +0 -10
  40. package/dist/SystemFolder/SystemResources/File/ClassicyFileBrowser.d.ts +0 -12
  41. package/dist/SystemFolder/SystemResources/File/ClassicyFileBrowserUtils.d.ts +0 -6
  42. package/dist/SystemFolder/SystemResources/File/ClassicyFileBrowserViewIcons.d.ts +0 -11
  43. package/dist/SystemFolder/SystemResources/File/ClassicyFileBrowserViewTable.d.ts +0 -14
  44. package/dist/SystemFolder/SystemResources/File/ClassicyFileSystem.d.ts +0 -28
  45. package/dist/SystemFolder/SystemResources/File/ClassicyFileSystemModel.d.ts +0 -36
  46. package/dist/SystemFolder/SystemResources/File/DefaultClassicyFileSystem.d.ts +0 -93
  47. package/dist/SystemFolder/SystemResources/Icon/ClassicyIcon.d.ts +0 -14
  48. package/dist/SystemFolder/SystemResources/Input/ClassicyInput.d.ts +0 -15
  49. package/dist/SystemFolder/SystemResources/Menu/ClassicyMenu.d.ts +0 -29
  50. package/dist/SystemFolder/SystemResources/PopUpMenu/ClassicyPopUpMenu.d.ts +0 -18
  51. package/dist/SystemFolder/SystemResources/ProgressBar/ClassicyProgressBar.d.ts +0 -1
  52. package/dist/SystemFolder/SystemResources/QuickTime/QuickTimeMovieEmbed.d.ts +0 -16
  53. package/dist/SystemFolder/SystemResources/QuickTime/QuickTimeUtils.d.ts +0 -2
  54. package/dist/SystemFolder/SystemResources/RadioInput/ClassicyRadioInput.d.ts +0 -20
  55. package/dist/SystemFolder/SystemResources/RichTextEditor/ClassicyRichTextEditor.d.ts +0 -9
  56. package/dist/SystemFolder/SystemResources/Tabs/ClassicyTabs.d.ts +0 -11
  57. package/dist/SystemFolder/SystemResources/TextEditor/ClassicyTextEditor.d.ts +0 -1
  58. package/dist/SystemFolder/SystemResources/TimePicker/ClassicyTimePicker.d.ts +0 -15
  59. package/dist/SystemFolder/SystemResources/Window/ClassicyWindow.d.ts +0 -29
  60. package/dist/SystemFolder/SystemResources/Window/ClassicyWindowContext.d.ts +0 -18
  61. package/dist/assets/img/icons/control-panels/appearance-manager/app.png +0 -0
  62. package/dist/assets/img/icons/control-panels/appearance-manager/platinum.png +0 -0
  63. package/dist/assets/img/icons/control-panels/date-time-manager/date-time-manager.png +0 -0
  64. package/dist/assets/img/icons/control-panels/sound-manager/app.png +0 -0
  65. package/dist/assets/img/icons/control-panels/sound-manager/sound-33.png +0 -0
  66. package/dist/assets/img/icons/control-panels/sound-manager/sound-66.png +0 -0
  67. package/dist/assets/img/icons/control-panels/sound-manager/sound-off.png +0 -0
  68. package/dist/assets/img/icons/control-panels/sound-manager/sound-on.png +0 -0
  69. package/dist/assets/img/icons/system/apple.png +0 -0
  70. package/dist/assets/img/icons/system/drives/disk.png +0 -0
  71. package/dist/assets/img/icons/system/files/file.png +0 -0
  72. package/dist/assets/img/icons/system/folders/directory.png +0 -0
  73. package/dist/assets/img/icons/system/mac.png +0 -0
  74. package/dist/assets/img/icons/system/macos.png +0 -0
  75. package/dist/assets/img/icons/system/quicktime/cc.png +0 -0
  76. package/dist/assets/img/icons/system/quicktime/movie.png +0 -0
  77. package/dist/assets/img/icons/system/quicktime/player.png +0 -0
  78. package/dist/assets/img/wallpapers/azul_dark.png +0 -0
  79. package/dist/assets/img/wallpapers/azul_extra_light.png +0 -0
  80. package/dist/assets/img/wallpapers/azul_light.png +0 -0
  81. package/dist/assets/img/wallpapers/bondi.png +0 -0
  82. package/dist/assets/img/wallpapers/bondi_dark.png +0 -0
  83. package/dist/assets/img/wallpapers/bondi_extra_dark.png +0 -0
  84. package/dist/assets/img/wallpapers/bondi_light.png +0 -0
  85. package/dist/assets/img/wallpapers/bondi_medium.png +0 -0
  86. package/dist/assets/img/wallpapers/bossanova_bondi.png +0 -0
  87. package/dist/assets/img/wallpapers/bossanova_poppy.png +0 -0
  88. package/dist/assets/img/wallpapers/bossanova_poppy_2.png +0 -0
  89. package/dist/assets/img/wallpapers/bubbles_bondi.png +0 -0
  90. package/dist/assets/img/wallpapers/bubbles_poppy.png +0 -0
  91. package/dist/assets/img/wallpapers/candy_bar.png +0 -0
  92. package/dist/assets/img/wallpapers/candy_bar_azul.png +0 -0
  93. package/dist/assets/img/wallpapers/candy_bar_pistachio.png +0 -0
  94. package/dist/assets/img/wallpapers/candy_bar_sunny.png +0 -0
  95. package/dist/assets/img/wallpapers/default.png +0 -0
  96. package/dist/assets/img/wallpapers/diagonals_bondi.png +0 -0
  97. package/dist/assets/img/wallpapers/diagonals_bondi_dark.png +0 -0
  98. package/dist/assets/img/wallpapers/diagonals_poppy.png +0 -0
  99. package/dist/assets/img/wallpapers/flat_peanuts.png +0 -0
  100. package/dist/assets/img/wallpapers/flat_peanuts_poppy.png +0 -0
  101. package/dist/assets/img/wallpapers/french_blue_dark.png +0 -0
  102. package/dist/assets/img/wallpapers/french_blue_light.png +0 -0
  103. package/dist/assets/img/wallpapers/macos.png +0 -0
  104. package/dist/assets/img/wallpapers/peanuts_azul.png +0 -0
  105. package/dist/assets/img/wallpapers/peanuts_pistachio.png +0 -0
  106. package/dist/assets/img/wallpapers/pistachio_dark.png +0 -0
  107. package/dist/assets/img/wallpapers/pistachio_light.png +0 -0
  108. package/dist/assets/img/wallpapers/pistachio_medium.png +0 -0
  109. package/dist/assets/img/wallpapers/poppy.png +0 -0
  110. package/dist/assets/img/wallpapers/poppy_dark.png +0 -0
  111. package/dist/assets/img/wallpapers/poppy_light.png +0 -0
  112. package/dist/assets/img/wallpapers/poppy_medium.png +0 -0
  113. package/dist/assets/img/wallpapers/rio_azul.png +0 -0
  114. package/dist/assets/img/wallpapers/rio_pistachio.png +0 -0
  115. package/dist/assets/img/wallpapers/ripple_azul.png +0 -0
  116. package/dist/assets/img/wallpapers/ripple_bondi.png +0 -0
  117. package/dist/assets/img/wallpapers/ripple_poppy.png +0 -0
  118. package/dist/assets/img/wallpapers/sunny.png +0 -0
  119. package/dist/assets/img/wallpapers/sunny_dark.png +0 -0
  120. package/dist/assets/img/wallpapers/sunny_light.png +0 -0
  121. package/dist/assets/img/wallpapers/waves_azul.png +0 -0
  122. package/dist/assets/img/wallpapers/waves_bondi.png +0 -0
  123. package/dist/assets/img/wallpapers/waves_sunny.png +0 -0
  124. package/dist/assets/sounds/platinum/platinum.ac3 +0 -0
  125. package/dist/assets/sounds/platinum/platinum.json +0 -174
  126. package/dist/assets/sounds/platinum/platinum.m4a +0 -0
  127. package/dist/assets/sounds/platinum/platinum.mp3 +0 -0
  128. package/dist/assets/sounds/platinum/platinum.ogg +0 -0
  129. package/dist/e7dead02eb942a2c597f.svg +0 -49
  130. package/dist/index.d.ts +0 -57
  131. package/dist/index.js.LICENSE.txt +0 -75
  132. package/dist/package.json +0 -93
  133. package/src/SystemFolder/ControlPanels/AppManager/ClassicyAppManager.ts +0 -327
  134. package/src/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerContext.tsx +0 -73
  135. package/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearance.ts +0 -165
  136. package/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyAppearanceManager.tsx +0 -420
  137. package/src/SystemFolder/ControlPanels/AppearanceManager/ClassicyColors.ts +0 -10
  138. package/src/SystemFolder/ControlPanels/AppearanceManager/ClassicySize.ts +0 -24
  139. package/src/SystemFolder/ControlPanels/AppearanceManager/styles/appearance.scss +0 -182
  140. package/src/SystemFolder/ControlPanels/AppearanceManager/styles/assets.scss +0 -13
  141. package/src/SystemFolder/ControlPanels/AppearanceManager/styles/fonts.scss +0 -90
  142. package/src/SystemFolder/ControlPanels/AppearanceManager/styles/scrollbars.scss +0 -296
  143. package/src/SystemFolder/ControlPanels/AppearanceManager/styles/themes.json +0 -1430
  144. package/src/SystemFolder/ControlPanels/ClassicyControlPanels.tsx +0 -16
  145. package/src/SystemFolder/ControlPanels/DateAndTimeManager/ClassicyDateAndTimeManager.tsx +0 -304
  146. package/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManager.scss +0 -18
  147. package/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManager.tsx +0 -159
  148. package/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerContext.tsx +0 -196
  149. package/src/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerLabels.json +0 -182
  150. package/src/SystemFolder/Finder/Finder.tsx +0 -232
  151. package/src/SystemFolder/Finder/FinderContext.tsx +0 -47
  152. package/src/SystemFolder/QuickTime/MoviePlayer/MoviePlayer.tsx +0 -141
  153. package/src/SystemFolder/QuickTime/MoviePlayer/MoviePlayerContext.tsx +0 -69
  154. package/src/SystemFolder/QuickTime/PictureViewer/PictureViewer.tsx +0 -130
  155. package/src/SystemFolder/QuickTime/PictureViewer/PictureViewerContext.tsx +0 -67
  156. package/src/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindow.scss +0 -10
  157. package/src/SystemFolder/SystemResources/AboutWindow/ClassicyAboutWindow.tsx +0 -56
  158. package/src/SystemFolder/SystemResources/App/ClassicyApp.tsx +0 -131
  159. package/src/SystemFolder/SystemResources/App/ClassicyAppUtils.tsx +0 -25
  160. package/src/SystemFolder/SystemResources/Boot/ClassicyBoot.scss +0 -9
  161. package/src/SystemFolder/SystemResources/Boot/ClassicyBoot.tsx +0 -11
  162. package/src/SystemFolder/SystemResources/Button/ClassicyButton.scss +0 -57
  163. package/src/SystemFolder/SystemResources/Button/ClassicyButton.tsx +0 -58
  164. package/src/SystemFolder/SystemResources/Checkbox/ClassicyCheckbox.scss +0 -90
  165. package/src/SystemFolder/SystemResources/Checkbox/ClassicyCheckbox.tsx +0 -58
  166. package/src/SystemFolder/SystemResources/ContextualMenu/ClassicyContextualMenu.scss +0 -11
  167. package/src/SystemFolder/SystemResources/ContextualMenu/ClassicyContextualMenu.tsx +0 -25
  168. package/src/SystemFolder/SystemResources/ControlGroup/ClassicyControlGroup.scss +0 -22
  169. package/src/SystemFolder/SystemResources/ControlGroup/ClassicyControlGroup.tsx +0 -28
  170. package/src/SystemFolder/SystemResources/ControlLabel/ClassicyControlLabel.scss +0 -28
  171. package/src/SystemFolder/SystemResources/ControlLabel/ClassicyControlLabel.tsx +0 -99
  172. package/src/SystemFolder/SystemResources/DatePicker/ClassicyDatePicker.scss +0 -50
  173. package/src/SystemFolder/SystemResources/DatePicker/ClassicyDatePicker.tsx +0 -191
  174. package/src/SystemFolder/SystemResources/DatePicker/ClassicyDatePickerUtils.tsx +0 -22
  175. package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktop.scss +0 -52
  176. package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktop.tsx +0 -209
  177. package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopIcon.scss +0 -115
  178. package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopIcon.tsx +0 -185
  179. package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopIconContext.tsx +0 -178
  180. package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopManager.tsx +0 -161
  181. package/src/SystemFolder/SystemResources/Desktop/ClassicyDesktopWindowManagerContext.tsx +0 -211
  182. package/src/SystemFolder/SystemResources/Desktop/MenuBar/ClassicyDesktopMenuBar.scss +0 -76
  183. package/src/SystemFolder/SystemResources/Desktop/MenuBar/ClassicyDesktopMenuBar.tsx +0 -74
  184. package/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Sound/ClassicyDesktopMenuWidgetSound.scss +0 -16
  185. package/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Sound/ClassicyDesktopMenuWidgetSound.tsx +0 -60
  186. package/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Time/ClassicyDesktopMenuWidgetTime.scss +0 -27
  187. package/src/SystemFolder/SystemResources/Desktop/MenuBar/Widgets/Time/ClassicyDesktopMenuWidgetTime.tsx +0 -141
  188. package/src/SystemFolder/SystemResources/Disclosure/ClassicyDisclosure.scss +0 -88
  189. package/src/SystemFolder/SystemResources/Disclosure/ClassicyDisclosure.tsx +0 -88
  190. package/src/SystemFolder/SystemResources/File/ClassicyFileBrowser.tsx +0 -56
  191. package/src/SystemFolder/SystemResources/File/ClassicyFileBrowserUtils.ts +0 -47
  192. package/src/SystemFolder/SystemResources/File/ClassicyFileBrowserViewIcons.tsx +0 -90
  193. package/src/SystemFolder/SystemResources/File/ClassicyFileBrowserViewTable.scss +0 -92
  194. package/src/SystemFolder/SystemResources/File/ClassicyFileBrowserViewTable.tsx +0 -235
  195. package/src/SystemFolder/SystemResources/File/ClassicyFileSystem.ts +0 -338
  196. package/src/SystemFolder/SystemResources/File/ClassicyFileSystemModel.ts +0 -62
  197. package/src/SystemFolder/SystemResources/File/DefaultClassicyFileSystem.ts +0 -111
  198. package/src/SystemFolder/SystemResources/Icon/ClassicyIcon.scss +0 -119
  199. package/src/SystemFolder/SystemResources/Icon/ClassicyIcon.tsx +0 -115
  200. package/src/SystemFolder/SystemResources/Input/ClassicyInput.scss +0 -38
  201. package/src/SystemFolder/SystemResources/Input/ClassicyInput.tsx +0 -60
  202. package/src/SystemFolder/SystemResources/Menu/ClassicyMenu.scss +0 -187
  203. package/src/SystemFolder/SystemResources/Menu/ClassicyMenu.tsx +0 -127
  204. package/src/SystemFolder/SystemResources/PopUpMenu/ClassicyPopUpMenu.scss +0 -122
  205. package/src/SystemFolder/SystemResources/PopUpMenu/ClassicyPopUpMenu.tsx +0 -63
  206. package/src/SystemFolder/SystemResources/ProgressBar/ClassicyProgressBar.scss +0 -70
  207. package/src/SystemFolder/SystemResources/ProgressBar/ClassicyProgressBar.tsx +0 -29
  208. package/src/SystemFolder/SystemResources/QuickTime/QuickTimeMovieEmbed.scss +0 -217
  209. package/src/SystemFolder/SystemResources/QuickTime/QuickTimeMovieEmbed.tsx +0 -310
  210. package/src/SystemFolder/SystemResources/QuickTime/QuickTimeUtils.ts +0 -27
  211. package/src/SystemFolder/SystemResources/QuickTime/thumb-slider.svg +0 -1
  212. package/src/SystemFolder/SystemResources/QuickTime/volume-slider.svg +0 -8
  213. package/src/SystemFolder/SystemResources/RadioInput/ClassicyRadioInput.scss +0 -125
  214. package/src/SystemFolder/SystemResources/RadioInput/ClassicyRadioInput.tsx +0 -103
  215. package/src/SystemFolder/SystemResources/RichTextEditor/ClassicyRichTextEditor.scss +0 -52
  216. package/src/SystemFolder/SystemResources/RichTextEditor/ClassicyRichTextEditor.tsx +0 -52
  217. package/src/SystemFolder/SystemResources/Tabs/ClassicyTabs.scss +0 -59
  218. package/src/SystemFolder/SystemResources/Tabs/ClassicyTabs.tsx +0 -77
  219. package/src/SystemFolder/SystemResources/Tabs/tab.svg +0 -4
  220. package/src/SystemFolder/SystemResources/TextEditor/ClassicyTextEditor.scss +0 -18
  221. package/src/SystemFolder/SystemResources/TextEditor/ClassicyTextEditor.tsx +0 -14
  222. package/src/SystemFolder/SystemResources/TimePicker/ClassicyTimePicker.scss +0 -53
  223. package/src/SystemFolder/SystemResources/TimePicker/ClassicyTimePicker.tsx +0 -221
  224. package/src/SystemFolder/SystemResources/Window/ClassicyWindow.scss +0 -377
  225. package/src/SystemFolder/SystemResources/Window/ClassicyWindow.tsx +0 -535
  226. package/src/SystemFolder/SystemResources/Window/ClassicyWindowContext.ts +0 -19
  227. package/src/custom.d.ts +0 -90
  228. package/src/index.tsx +0 -57
  229. /package/{dist/index.js → index.js} +0 -0
@@ -1,310 +0,0 @@
1
- import ccIcon from 'img/icons/system/quicktime/cc.png'
2
- import {useAppManager} from '@/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerContext'
3
- import './QuickTimeMovieEmbed.scss'
4
- import {parse} from '@plussub/srt-vtt-parser'
5
- import {ParsedResult} from "@plussub/srt-vtt-parser/dist/types";
6
- import React, {Suspense, useCallback, useEffect, useRef, useState} from 'react'
7
- import ReactPlayer from 'react-player'
8
- import screenfull from 'screenfull'
9
- import {getVolumeIcon, timeFriendly} from './QuickTimeUtils'
10
- import playButton from 'img/icons/system/quicktime/play-button.svg'
11
- import pauseButton from 'img/icons/system/quicktime/pause-button.svg'
12
- import backwardButton from 'img/icons/system/quicktime/backward-button.svg'
13
- import forwardButton from 'img/icons/system/quicktime/forward-button.svg'
14
- import fullscreenButton from 'img/icons/system/quicktime/forward-button.svg'
15
-
16
- type QuickTimeVideoEmbed = {
17
- appId: string
18
- name: string
19
- url: string
20
- type: 'audio' | 'video'
21
- options?: {}
22
- subtitlesUrl?: string
23
- autoPlay?: boolean
24
- hideControls?: boolean
25
- controlsDocked?: boolean
26
- muted?: boolean
27
- }
28
-
29
- export const QuickTimeVideoEmbed: React.FC<QuickTimeVideoEmbed> = ({
30
- appId,
31
- name,
32
- url,
33
- options,
34
- type,
35
- subtitlesUrl,
36
- autoPlay,
37
- hideControls,
38
- controlsDocked,
39
- muted,
40
- }) => {
41
- const desktop = useAppManager()
42
-
43
- const [playing, setPlaying] = useState(autoPlay)
44
- const [volume, setVolume] = useState(0.5)
45
- const [loop, setLoop] = useState(false)
46
- const [isFullscreen, setIsFullscreen] = useState(false)
47
- const [showVolume, setShowVolume] = useState<boolean>(false)
48
- const [subtitlesData, setSubtitlesData] = useState<ParsedResult | null>(null)
49
- const [showSubtitles, setShowSubtitles] = useState(false)
50
-
51
- const playerRef = useRef<HTMLVideoElement | null>(null)
52
-
53
- useEffect(() => {
54
- if (screenfull.isEnabled) {
55
- screenfull.on('change', () => {
56
- setIsFullscreen(isFullscreen)
57
- })
58
- }
59
- })
60
-
61
- const toggleCC = useCallback(() => {
62
- setShowSubtitles((prev) => !prev)
63
- }, [])
64
-
65
- const handlePlayPause = useCallback(() => {
66
- setPlaying((prev) => !prev)
67
- }, [])
68
-
69
- const seekForward = useCallback(() => {
70
- seekTo((playerRef.current?.currentTime || 0) + 10)
71
- }, [playerRef])
72
-
73
- const seekBackward = useCallback(() => {
74
- seekTo((playerRef.current?.currentTime || 0) - 10)
75
- }, [playerRef])
76
-
77
- const toggleFullscreen = useCallback(() => {
78
- if (screenfull.isEnabled && playerRef.current) {
79
- screenfull.toggle(playerRef.current, {navigationUI: 'hide'})
80
- }
81
- return
82
- }, [playerRef])
83
-
84
- const seekTo = (seconds: number) => {
85
- playerRef.current?.fastSeek(seconds)
86
- }
87
-
88
- const seekToPct = (pct: number) => {
89
- playerRef.current?.fastSeek(pct * playerRef.current?.duration)
90
- }
91
-
92
- const escapeFullscreen = () => {
93
- if (!screenfull.isEnabled) {
94
- return
95
- }
96
- screenfull.exit()
97
- }
98
-
99
- useEffect(() => {
100
- const handleKeyDown = (event: KeyboardEvent) => {
101
- const {windows} = desktop.System.Manager.App.apps[appId]
102
- const a = windows.find((w) => (w.id = appId + '_VideoPlayer_' + url))
103
- if (!a || !a.focused) {
104
- return
105
- }
106
- switch (event.key) {
107
- case ' ':
108
- handlePlayPause()
109
- event.preventDefault()
110
- break
111
- case 'Escape':
112
- escapeFullscreen()
113
- break
114
- case 'ArrowRight':
115
- seekForward()
116
- break
117
- case 'ArrowLeft':
118
- seekBackward()
119
- break
120
- case 'f':
121
- case 'F':
122
- if (type != 'audio') {
123
- toggleFullscreen()
124
- }
125
- break
126
- case 'l':
127
- case 'L':
128
- setLoop(!loop)
129
- break
130
- default:
131
- break
132
- }
133
- }
134
-
135
- window.addEventListener('keydown', handleKeyDown)
136
- return () => window.removeEventListener('keydown', handleKeyDown)
137
- }, [handlePlayPause, seekForward, seekBackward, toggleFullscreen, type, loop, appId, url])
138
-
139
- const volumeButtonRef = useRef<HTMLButtonElement>(null)
140
-
141
- useEffect(() => {
142
- if (!subtitlesUrl) {
143
- return
144
- }
145
-
146
- fetch(subtitlesUrl)
147
- .then((res) => res.text())
148
- .then((text) => parse(text))
149
- .then((text) => setSubtitlesData(text))
150
- .catch(() => setSubtitlesData(null))
151
- }, [subtitlesUrl])
152
-
153
- return (
154
- <div
155
- className={"quickTimePlayerWrapper"}
156
- style={{height: controlsDocked ? 'calc(100% - var(--window-control-size) * 1)' : '100%'}}
157
- >
158
- <div
159
- className={"quickTimePlayerVideoHolder"}
160
- style={{
161
- height: controlsDocked
162
- ? 'calc(100% - var(--window-control-size) * 1)'
163
- : 'calc(100% - var(--window-border-size) * 4)',
164
- }}
165
- >
166
- <ReactPlayer
167
- ref={playerRef}
168
- src={url}
169
- playing={playing}
170
- loop={loop}
171
- controls={false}
172
- width="100%"
173
- height="100%"
174
- volume={muted ? 0 : volume}
175
- config={options}
176
- />
177
- <Suspense>
178
- {showSubtitles && subtitlesData?.entries &&
179
- subtitlesData?.entries?.length > 0 &&
180
- subtitlesData.entries.find((i) => {
181
- const time = (playerRef.current?.currentTime || 0) * 1000
182
- return i.from < time && i.to > time
183
- }) && (
184
- <div
185
- className={
186
- "quickTimePlayerCaptionsHolder" +
187
- ' ' +
188
- "quickTimePlayerCaptionsHolderBottom" +
189
- ' ' +
190
- "quickTimePlayerCaptionsHolderCenter"
191
- }
192
- >
193
- <div className={"quickTimePlayerCaptions"}>
194
- {
195
- subtitlesData.entries.find((i) => {
196
- const time = (playerRef.current?.currentTime || 0) * 1000
197
- return i.from < time && i.to > time
198
- })?.text
199
- }
200
- </div>
201
- </div>
202
- )}
203
- </Suspense>
204
- </div>
205
- {!hideControls && (
206
- <div
207
- className={"quickTimePlayerVideoControlsHolder"}
208
- style={{position: controlsDocked ? 'absolute' : 'relative'}}
209
- >
210
- <button onClick={handlePlayPause} className={"quickTimePlayerVideoControlsButton"}>
211
- <img
212
- className={"quickTimePlayerVideoControlsIcon"}
213
- src={`url('${playing ? playButton : pauseButton})`}
214
- />
215
- </button>
216
- <div className={"quickTimePlayerVideoControlsProgressBarHolder"}>
217
- <input
218
- id={appId + '_' + name + '_progressBar'}
219
- className={"quickTimePlayerVideoControlsProgressBar"}
220
- key={appId + '_' + name + '_progressBar'}
221
- type="range"
222
- min="0" // Zero percent
223
- max="1" // 100 percent
224
- step="0.001" // 1 percent
225
- value={(playerRef.current?.currentTime || 0) / (playerRef.current?.duration || 1)}
226
- readOnly={false}
227
- onChange={(e) => {
228
- seekToPct(parseFloat(e.target.value))
229
- }}
230
- />
231
- </div>
232
- <p className={"quickTimePlayerVideoControlsTime"}>
233
- {timeFriendly(playerRef.current?.currentTime || 0)}
234
- </p>
235
- <button onClick={seekBackward} className={"quickTimePlayerVideoControlsButton"}>
236
- <img
237
- className={"quickTimePlayerVideoControlsIcon"}
238
- src={`url('${backwardButton}')`}
239
- />
240
- </button>
241
- <button onClick={seekForward} className={"quickTimePlayerVideoControlsButton"}>
242
- <img
243
- className={"quickTimePlayerVideoControlsIcon"}
244
- src={`url('${forwardButton}')`}
245
- />
246
- </button>
247
- {subtitlesUrl && (
248
- <button onClick={toggleCC} className={"quickTimePlayerVideoControlsButton"}>
249
- <img
250
- className={"quickTimePlayerVideoControlsIcon"}
251
- src={ccIcon}
252
- />
253
- </button>
254
- )}
255
-
256
- {showVolume && (
257
- <div
258
- style={{
259
- zIndex: 999999,
260
- display: 'flex',
261
- justifyContent: 'center',
262
- alignItems: 'center',
263
- }}
264
- >
265
- <input
266
- className={"quickTimePlayerVideoControlsVolumeBar"}
267
- id={url + '_volume'}
268
- type="range"
269
- min="0"
270
- max="1"
271
- step="0.1"
272
- style={{
273
- left: volumeButtonRef.current?.offsetLeft,
274
- }}
275
- value={1 - volume}
276
- onClick={() => {
277
- setShowVolume(false)
278
- }}
279
- onChange={(e) => {
280
- setVolume(1 - parseFloat(e.target.value))
281
- }}
282
- />
283
- </div>
284
- )}
285
- <button
286
- className={"quickTimePlayerVideoControlsButton"}
287
- onClick={() => setShowVolume(!showVolume)}
288
- ref={volumeButtonRef}
289
- >
290
- <img
291
- src={`/assets/img/icons/control-panels/sound-manager/${getVolumeIcon(volume)}`}
292
- className={"quickTimePlayerVideoControlsIcon"}
293
- />
294
- </button>
295
- {type != 'audio' && (
296
- <button
297
- onClick={toggleFullscreen}
298
- className={"quickTimePlayerVideoControlsButton"}
299
- >
300
- <img
301
- className={"quickTimePlayerVideoControlsIcon"}
302
- src={`url(${fullscreenButton})`}
303
- />
304
- </button>
305
- )}
306
- </div>
307
- )}
308
- </div>
309
- )
310
- }
@@ -1,27 +0,0 @@
1
- import soundOnImg from 'img/icons/control-panels/sound-manager/sound-on.png'
2
- import soundOffImg from 'img/icons/control-panels/sound-manager/sound-off.png'
3
- import sound66Img from 'img/icons/control-panels/sound-manager/sound-66.png'
4
- import sound33Img from 'img/icons/control-panels/sound-manager/sound-33.png'
5
-
6
- export function timeFriendly(seconds: number): string {
7
- if (!Number.isFinite(seconds)) {
8
- return '0:00:00'
9
- }
10
- const hours = Math.floor(seconds / 3600)
11
- const minutes = Math.floor((seconds % 3600) / 60)
12
- const secs = Math.floor(seconds % 60)
13
- return `${hours}:${String(minutes).padStart(2, '0')}:${String(secs).padStart(2, '0')}`
14
- }
15
-
16
- export function getVolumeIcon(volume: number): string {
17
- if (volume === 0) {
18
- return soundOffImg
19
- }
20
- if (volume > 0 && volume < 0.3) {
21
- return sound33Img
22
- }
23
- if (volume >= 0.3 && volume < 0.7) {
24
- return sound66Img
25
- }
26
- return soundOnImg
27
- }
@@ -1 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6.44 8.73"><path d="M.9.57v7.77h4.72V.57H.9ZM5.17,7.8H1.35V1.11h3.82v6.69Z" style="fill:#339;"/><path d="M.33.05v8.62h5.61V.05H.33ZM5.4,8.06H.86V.65h4.54v7.42Z" style="fill:#339;"/><path d="M.33.25v8.42h5.36V.25H.33ZM5.18,8.08H.84V.83h4.34v7.25Z" style="fill:#393939;"/><path d="M.66.34v7.84h4.68V.34H.66ZM4.9,7.63H1.11V.88h3.79v6.75Z" style="fill:#393939;"/><path d="M.58.27v8.18h5.11V.27H.58ZM5.2,7.88H1.06V.84h4.14v7.04Z" style="fill:#ddd;"/></svg>
@@ -1,8 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8.7 5.3">
2
- <rect width="7.4" height="2.5" x=".6" y=".2" rx=".6" ry=".6"
3
- style="stroke-width:.2px;fill:#c8c8c8;stroke:#000;stroke-miterlimit:10"/>
4
- <rect width="7.4" height="2.5" x=".6" y="2.6" rx=".6" ry=".6"
5
- style="fill:gray;stroke-width:.2px;stroke:#000;stroke-miterlimit:10"/>
6
- <rect width="8.3" height="3" x=".2" y="1.2" rx=".5" ry=".5"
7
- style="stroke:#000;stroke-miterlimit:10;fill:#ccc;stroke-width:.3px"/>
8
- </svg>
@@ -1,125 +0,0 @@
1
- @use '../../ControlPanels/AppearanceManager/styles/appearance';
2
- @use '../../ControlPanels/AppearanceManager/styles/assets';
3
-
4
- .classicyRadioInputGroupColumns {
5
- flex-direction: column;
6
- }
7
-
8
- .classicyRadioInputGroup {
9
- display: flex;
10
- align-items: stretch;
11
- flex-direction: row;
12
- justify-content: stretch;
13
- padding: calc(var(--window-border-size) * 4);
14
-
15
- div {
16
- display: flex;
17
- align-items: stretch;
18
- flex-direction: row;
19
- }
20
- }
21
-
22
- .classicyRadioInputMargin {
23
- margin: 0 var(--window-control-size) 0 0;
24
- }
25
-
26
- .classicyRadioInputWrapper {
27
- width: calc(var(--window-control-size) / 1);
28
- height: calc(var(--window-control-size) / 1);
29
- margin-top: calc(var(--window-control-size) / 4);
30
- border: calc(var(--window-border-size)) solid var(--color-system-07);
31
- border-radius: 50%;
32
-
33
- background: radial-gradient(
34
- at left top,
35
- var(--color-system-02),
36
- var(--color-system-01) 40%,
37
- var(--color-system-05) 100%
38
- );
39
- box-shadow: 0 0 2px var(--color-system-07);
40
- }
41
-
42
- .classicyRadioInputWrapperChecked {
43
- background: radial-gradient(
44
- at left top,
45
- var(--color-system-07) 10%,
46
- var(--color-system-05) 20%,
47
- var(--color-system-02) 85%,
48
- var(--color-system-01) 100%
49
- );
50
-
51
- &:active {
52
- background: radial-gradient(
53
- at left top,
54
- var(--color-system-05) 20%,
55
- var(--color-system-01) 85%,
56
- var(--color-system-02) 100%
57
- );
58
- }
59
- }
60
-
61
- .classicyRadioInputWrapperDisabled {
62
- border: calc(var(--window-border-size)) solid var(--color-system-05) !important;
63
- background: var(--color-system-02) !important;
64
- }
65
-
66
- .classicyRadioInput {
67
- position: relative;
68
- margin: 2px;
69
- opacity: 0;
70
- border-width: calc(var(--window-control-size) / 3);
71
- border-style: solid;
72
- border-radius: 50%;
73
- appearance: none;
74
-
75
- &:focus {
76
- outline: 1px solid var(--color-system-05);
77
- }
78
-
79
- &:checked {
80
- opacity: 1;
81
- border-color: var(--color-window-border);
82
- }
83
-
84
- &:disabled:checked {
85
- opacity: 1;
86
- border-style: solid;
87
- border-color: var(--color-system-05);
88
- }
89
- }
90
-
91
- .classicyRadioInputMixed {
92
- margin-top:calc(var(--window-control-size) / 2.5);
93
- width: calc(var(--window-control-size) / 1);
94
- height: calc(var(--window-control-size) / 4);
95
- border-width: calc(var(--window-control-size) / 8);
96
- border-style: solid;
97
- border-radius: 0 !important;
98
- background: var(--color-window-border);
99
-
100
- &:disabled:checked {
101
- border-color: var(--color-system-05);
102
- background: var(--color-system-05);
103
- }
104
- }
105
-
106
- .classicyRadioInputLabel {
107
- font-family: var(--ui-font), sans-serif;
108
- font-size: var(--ui-font-size);
109
- height: var(--window-control-size);
110
- margin-left: calc(var(--window-control-size) / 2);
111
- }
112
-
113
- .classicyRadioInputLabelDisabled {
114
- color: var(--color-system-05);
115
- }
116
-
117
- .classicyRadioInputDefault {
118
- //width: var(--window-control-size);
119
- //margin: 0;
120
- //
121
- &:checked,
122
- &:active {
123
- border-color: var(--color-theme-06) !important;
124
- }
125
- }
@@ -1,103 +0,0 @@
1
- import { useSoundDispatch } from '@/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerContext'
2
- import {ClassicyControlLabel} from '@/SystemFolder/SystemResources/ControlLabel/ClassicyControlLabel'
3
- import './ClassicyRadioInput.scss'
4
- import classNames from 'classnames'
5
- import React, { useState } from 'react'
6
- import {useAnalytics} from 'use-analytics'
7
-
8
- type ClassicyRadioInputProps = {
9
- name: string
10
- label?: string
11
- align?: 'rows' | 'columns'
12
- disabled?: boolean
13
- onClickFunc?: (id: string) => void
14
- inputs: ClassicyRadioInputValueProps[]
15
- }
16
-
17
- type ClassicyRadioInputValueProps = {
18
- id: string
19
- checked?: boolean
20
- mixed?: boolean
21
- isDefault?: boolean
22
- disabled?: boolean
23
- label?: string
24
- }
25
-
26
- export const ClassicyRadioInput: React.FC<ClassicyRadioInputProps> = ({
27
- name,
28
- label,
29
- align = 'columns',
30
- disabled = false,
31
- onClickFunc,
32
- inputs,
33
- }) => {
34
- const [check, setCheck] = useState<string>(inputs.findLast((input) => input.checked === true)?.id || '')
35
- const player = useSoundDispatch()
36
-
37
- const {track} = useAnalytics()
38
- const analyticsArgs = {name, label, disabled, inputs}
39
-
40
- const handleOnChange = (id: string) => {
41
- setCheck(id)
42
- track("selected", {type: 'ClassicyRadioInput', itemId: id, ...analyticsArgs })
43
- if (onClickFunc) {
44
- onClickFunc(id)
45
- }
46
- }
47
-
48
- return (
49
- <>
50
- {label && <ClassicyControlLabel labelFor={name} disabled={disabled} label={label} direction={'left'} />}
51
- <div
52
- className={classNames(
53
- "classicyRadioInputGroup",
54
- align === 'columns' ? "classicyRadioInputGroupColumns" : ''
55
- )}
56
- >
57
- {inputs &&
58
- inputs.map((item) => (
59
- <div key={name + item.id} className={"classicyRadioInputMargin"}>
60
- <div
61
- className={classNames(
62
- "classicyRadioInputWrapper",
63
- check === item.id ? "classicyRadioInputWrapperChecked" : '',
64
- item.disabled ? "classicyRadioInputWrapperDisabled" : ''
65
- )}
66
- >
67
- <input
68
- id={item.id}
69
- name={name}
70
- disabled={item.disabled}
71
- className={classNames(
72
- "classicyRadioInput",
73
- item.isDefault ? "classicyRadioInputDefault" : '',
74
- item.mixed ? "classicyRadioInputMixed" : ''
75
- )}
76
- type={'radio'}
77
- value={item.id}
78
- defaultChecked={item.checked}
79
- tabIndex={0}
80
- onChange={() => !item.disabled && handleOnChange(item.id)}
81
- onMouseDown={() => {
82
- track("click", {type: 'ClassicyRadioInput', itemId: item.id, ...analyticsArgs})
83
- player({ type: 'ClassicySoundPlay', sound: 'ClassicyInputRadioClickDown' })
84
- }}
85
- onMouseUp={() => {
86
- player({ type: 'ClassicySoundPlay', sound: 'ClassicyInputRadioClickUp' })
87
- }}
88
- />
89
- </div>
90
- <ClassicyControlLabel
91
- labelFor={item.id}
92
- disabled={item.disabled}
93
- label={item.label}
94
- onClickFunc={() => {
95
- !item.disabled && handleOnChange(item.id)
96
- }}
97
- />
98
- </div>
99
- ))}
100
- </div>
101
- </>
102
- )
103
- }
@@ -1,52 +0,0 @@
1
- .classicyRichTextEditor {
2
- border: var(--window-border-size) solid black;
3
- box-shadow: calc(var(--window-border-size) * -1) calc(var(--window-border-size) * -1) 0 0 var(--color-system-05),
4
- calc(var(--window-border-size) * 1) calc(var(--window-border-size) * 1) 0 0 var(--color-system-04);
5
-
6
- &:focus-visible {
7
- margin: 2em;
8
- padding: 2em;
9
- border-radius: 2pt;
10
- outline: 0 0 0 calc(var(--window-border-size) * 2) var(--color-outline) !important;
11
- box-shadow: 0 0 0 calc(var(--window-border-size) * 2) var(--color-theme-04),
12
- 0 0 var(--window-border-size) calc(var(--window-border-size) * 2) var(--color-theme-04);
13
- }
14
-
15
- div {
16
- height: auto;
17
- outline: none;
18
- }
19
-
20
- div[role='textbox'] {
21
- padding: 0 var(--window-padding-size);
22
- }
23
-
24
- div[role='toolbar'] {
25
- position: sticky;
26
- top: 0;
27
- display: flex;
28
- flex-direction: row;
29
- justify-content: center;
30
- width: 100%;
31
- background: var(--color-system-02);
32
-
33
- div, button {
34
- display: flex;
35
- flex-direction: row;
36
- flex-grow: 1;
37
- justify-content: center;
38
- border-radius: 0 !important;
39
- background: var(--color-system-02);
40
-
41
- button {
42
- display: flex;
43
- justify-content: center;
44
- text-align: center;
45
- }
46
- }
47
- }
48
-
49
- .prose {
50
- font-family: 'AppleGaramond', serif;
51
- }
52
- }
@@ -1,52 +0,0 @@
1
- import './ClassicyRichTextEditor.scss'
2
- import {
3
- BoldItalicUnderlineToggles,
4
- CodeToggle,
5
- headingsPlugin,
6
- InsertThematicBreak,
7
- markdownShortcutPlugin,
8
- MDXEditor,
9
- MDXEditorMethods,
10
- quotePlugin,
11
- thematicBreakPlugin,
12
- toolbarPlugin,
13
- UndoRedo,
14
- } from '@mdxeditor/editor'
15
- import React, {RefObject} from 'react'
16
-
17
- interface ClassicyRichTextEditorProps {
18
- content: string
19
- editorRef?: RefObject<MDXEditorMethods | null>
20
- }
21
-
22
- export let ClassicyRichTextEditor: React.FC<ClassicyRichTextEditorProps>;
23
- ClassicyRichTextEditor = ({content, editorRef}) => {
24
- return (
25
- <div className={"classicyRichTextEditor"}>
26
- <MDXEditor
27
- ref={editorRef}
28
- markdown={content}
29
- contentEditableClassName="prose"
30
- plugins={[
31
- headingsPlugin(),
32
- headingsPlugin(),
33
- quotePlugin(),
34
- thematicBreakPlugin(),
35
- markdownShortcutPlugin(),
36
- toolbarPlugin({
37
- toolbarContents: () => (
38
- <>
39
- <UndoRedo/>
40
- <BoldItalicUnderlineToggles options={['Bold']}/>
41
- <BoldItalicUnderlineToggles options={['Italic']}/>
42
- <BoldItalicUnderlineToggles options={['Underline']}/>
43
- <CodeToggle></CodeToggle>
44
- <InsertThematicBreak></InsertThematicBreak>
45
- </>
46
- ),
47
- }),
48
- ]}
49
- />
50
- </div>
51
- )
52
- };