classicy 0.5.4 → 0.5.6

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 +2 -2
  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,535 +0,0 @@
1
- 'use client'
2
-
3
- import {ClassicyStoreSystemAppWindow} from "@/SystemFolder/ControlPanels/AppManager/ClassicyAppManager";
4
- import {useAppManager, useAppManagerDispatch} from '@/SystemFolder/ControlPanels/AppManager/ClassicyAppManagerContext'
5
- import {useSoundDispatch} from '@/SystemFolder/ControlPanels/SoundManager/ClassicySoundManagerContext'
6
- import {ClassicyContextualMenu} from '@/SystemFolder/SystemResources/ContextualMenu/ClassicyContextualMenu'
7
- import {ClassicyMenuItem} from '@/SystemFolder/SystemResources/Menu/ClassicyMenu'
8
- import './ClassicyWindow.scss'
9
- import classNames from 'classnames'
10
- import fileIcon from 'img/icons/system/files/file.png'
11
- import React, {ReactNode, useEffect, useMemo, useRef, useState} from 'react'
12
- import {useAnalytics} from 'use-analytics'
13
-
14
- interface ClassicyWindowProps {
15
- title?: string
16
- id: string
17
- appId: string
18
- icon?: string
19
- hidden?: boolean
20
- closable?: boolean
21
- zoomable?: boolean
22
- collapsable?: boolean
23
- resizable?: boolean
24
- scrollable?: boolean
25
- modal?: boolean
26
- growable?: boolean
27
- defaultWindow?: boolean
28
- initialSize?: [number, number]
29
- initialPosition?: [number, number]
30
- minimumSize?: [number, number]
31
- header?: ReactNode
32
- appMenu?: ClassicyMenuItem[]
33
- contextMenu?: ClassicyMenuItem[]
34
- onCloseFunc?: any
35
- children?: ReactNode
36
- type?: string
37
- }
38
-
39
- export const ClassicyWindow: React.FC<ClassicyWindowProps> = ({
40
- id,
41
- title = '',
42
- appId,
43
- icon,
44
- hidden = false,
45
- closable = true,
46
- zoomable = true,
47
- collapsable = true,
48
- resizable = true,
49
- scrollable = true,
50
- modal = false,
51
- type = 'default',
52
- growable,
53
- defaultWindow = false,
54
- initialSize = [350, 0],
55
- initialPosition = [110, 110],
56
- minimumSize = [300, 0],
57
- header,
58
- appMenu,
59
- contextMenu,
60
- onCloseFunc,
61
- children,
62
- }) => {
63
- if (!icon || icon === '') {
64
- icon = fileIcon
65
- }
66
-
67
- const [size, setSize] = useState<[number, number]>(initialSize)
68
- const [clickPosition, setClickPosition] = useState<[number, number]>([0, 0])
69
-
70
- const clickOffset = [10, 10]
71
-
72
- const desktopContext = useAppManager()
73
- const desktopEventDispatch = useAppManagerDispatch()
74
- let player = useSoundDispatch()
75
-
76
- const {track} = useAnalytics()
77
- const analyticsArgs = {
78
- appId,
79
- id,
80
- icon,
81
- hidden,
82
- closable,
83
- zoomable,
84
- collapsable,
85
- resizable,
86
- scrollable,
87
- modal,
88
- windowType: type,
89
- growable,
90
- defaultWindow,
91
- initialSize,
92
- initialPosition,
93
- minimumSize
94
- }
95
-
96
- const windowRef = useRef<HTMLDivElement | null>(null)
97
-
98
- const ws = useMemo(() => {
99
- const initialWindowState: ClassicyStoreSystemAppWindow = {
100
- collapsed: false,
101
- focused: false,
102
- contextMenu: contextMenu,
103
- dragging: false,
104
- moving: false,
105
- resizing: false,
106
- zoomed: false,
107
- size: initialSize,
108
- position: initialPosition,
109
- closed: hidden,
110
- menuBar: appMenu || [],
111
- showContextMenu: false,
112
- default: defaultWindow,
113
- id: id,
114
- appId: appId,
115
- minimumSize: [0, 0],
116
- }
117
-
118
- const window = desktopContext.System.Manager.App.apps[appId]?.windows.find((w) => w.id === id)
119
- if (window) {
120
- return window
121
- }
122
-
123
- return {
124
- ...initialWindowState,
125
- appId,
126
- minimumSize,
127
- position: [
128
- windowRef.current?.getBoundingClientRect().left || 0,
129
- windowRef.current?.getBoundingClientRect().top || 0,
130
- ],
131
- } as ClassicyStoreSystemAppWindow
132
- }, [
133
- appId,
134
- appId,
135
- appMenu,
136
- contextMenu,
137
- desktopContext.System.Manager.App.apps[appId],
138
- hidden,
139
- id,
140
- initialPosition,
141
- initialSize,
142
- minimumSize,
143
- ])
144
-
145
- useEffect(() => {
146
- desktopEventDispatch({
147
- type: 'ClassicyWindowOpen',
148
- window: ws,
149
- app: {
150
- id: appId,
151
- },
152
- })
153
- }, [appId, desktopContext.System.Manager.App.apps[appId], ws])
154
-
155
- const startResizeWindow = (e: React.MouseEvent<HTMLDivElement>) => {
156
- e.preventDefault()
157
- track('resize', {type: "ClassicyWindow", ...analyticsArgs})
158
- desktopEventDispatch({
159
- type: 'ClassicyWindowPosition',
160
- app: {
161
- id: appId,
162
- },
163
- window: ws,
164
- position: [windowRef?.current?.getBoundingClientRect().left, windowRef?.current?.getBoundingClientRect().top],
165
- })
166
- setResize(true)
167
- setZoom(false)
168
- setSize([windowRef?.current?.clientWidth || initialSize[0], windowRef?.current?.clientHeight || initialSize[1]])
169
- }
170
-
171
- const startMoveWindow = (e: React.MouseEvent<HTMLDivElement>) => {
172
- e.preventDefault()
173
- if (modal && type == 'error') {
174
- // Don't allow modal error dialogs to move
175
- return
176
- }
177
- track('move', {type: "ClassicyWindow", ...analyticsArgs})
178
- setClickPosition([
179
- e.clientX - (windowRef?.current?.getBoundingClientRect().left || 0),
180
- e.clientY - (windowRef?.current?.getBoundingClientRect().top || 0),
181
- ])
182
- desktopEventDispatch({
183
- type: 'ClassicyWindowMove',
184
- app: {
185
- id: appId,
186
- },
187
- window: ws,
188
- moving: true,
189
- position: [windowRef?.current?.getBoundingClientRect().left, windowRef?.current?.getBoundingClientRect().top],
190
- })
191
- player({type: 'ClassicySoundPlay', sound: 'ClassicyWindowMoveIdle'})
192
- setDragging(true)
193
- }
194
-
195
- const changeWindow = (e: React.MouseEvent<HTMLDivElement>) => {
196
- e.preventDefault()
197
- if (ws.resizing || ws.dragging) {
198
- setActive(e)
199
- }
200
-
201
- if (ws.resizing) {
202
- setSize([Math.abs(ws.position[0] - e.clientX) + 5, Math.abs(ws.position[1] - e.clientY) + 5])
203
- }
204
-
205
- if (ws.dragging) {
206
- player({type: 'ClassicySoundPlay', sound: 'ClassicyWindowMoveMoving'})
207
- setMoving(true, [e.clientX - clickPosition[0], e.clientY - clickPosition[1]])
208
- }
209
- }
210
-
211
- const stopChangeWindow = (e: React.MouseEvent<HTMLDivElement>) => {
212
- track('halt', {type: "ClassicyWindow", ...analyticsArgs})
213
- e.preventDefault()
214
- setActive()
215
- if (ws.resizing || ws.dragging || ws.moving) {
216
- player({type: 'ClassicySoundPlayInterrupt', sound: 'ClassicyWindowMoveStop'})
217
- }
218
- setResize(false)
219
- setDragging(false)
220
- setMoving(false, [ws.position[0], ws.position[1]])
221
- }
222
-
223
- const setDragging = (toDrag: boolean) => {
224
- desktopEventDispatch({
225
- type: 'ClassicyWindowDrag',
226
- dragging: toDrag,
227
- app: {
228
- id: appId,
229
- },
230
- window: ws,
231
- })
232
- }
233
-
234
- const setMoving = (toMove: boolean, toPosition: [number, number] = [0, 0]) => {
235
- desktopEventDispatch({
236
- type: 'ClassicyWindowMove',
237
- moving: toMove,
238
- position: toPosition,
239
- app: {
240
- id: appId,
241
- },
242
- window: ws,
243
- })
244
- }
245
-
246
- const isActive = () => {
247
- return ws.focused
248
- }
249
-
250
- const setActive = (e?: React.MouseEvent<HTMLDivElement>) => {
251
- e?.preventDefault()
252
- track('focus', {type: "ClassicyWindow", ...analyticsArgs})
253
- if (!isActive()) {
254
- player({type: 'ClassicySoundPlay', sound: 'ClassicyWindowFocus'})
255
-
256
- desktopEventDispatch({
257
- type: 'ClassicyWindowFocus',
258
- app: {
259
- id: appId,
260
- appMenu: appMenu,
261
- },
262
- window: ws,
263
- })
264
- // desktopEventDispatch({
265
- // type: 'ClassicyWindowContextMenu',
266
- // contextMenu: contextMenu || [],
267
- // })
268
- }
269
- }
270
-
271
- useEffect(() => {
272
- // This ensures that once a window has opened it becomes the focus.
273
- setActive()
274
- if (modal && type == 'error') {
275
- player({type: 'ClassicySoundPlayError'})
276
- }
277
- }, [])
278
-
279
- const toggleCollapse = () => {
280
- if (collapsable) {
281
- setCollapse(!ws.collapsed)
282
- }
283
- }
284
-
285
- const setCollapse = (toCollapse: boolean) => {
286
- if (toCollapse) {
287
- track('collapse', {type: "ClassicyWindow", ...analyticsArgs})
288
- setZoom(false)
289
- player({type: 'ClassicySoundPlay', sound: 'ClassicyWindowCollapse'})
290
- desktopEventDispatch({
291
- type: 'ClassicyWindowCollapse',
292
- window: ws,
293
- app: {
294
- id: appId,
295
- },
296
- })
297
- } else {
298
- track('expand', {type: "ClassicyWindow", ...analyticsArgs})
299
- player({type: 'ClassicySoundPlay', sound: 'ClassicyWindowExpand'})
300
- desktopEventDispatch({
301
- type: 'ClassicyWindowExpand',
302
- window: ws,
303
- app: {
304
- id: appId,
305
- },
306
- })
307
- }
308
- }
309
-
310
- const toggleZoom = () => {
311
- setActive()
312
- if (zoomable) {
313
- setZoom(!ws.zoomed, false)
314
- }
315
- }
316
-
317
- const setZoom = (toZoom: boolean, playSound: boolean = true) => {
318
- if (ws.collapsed) {
319
- setCollapse(false)
320
- }
321
- if (!playSound) {
322
- player({
323
- type: 'ClassicySoundPlay',
324
- sound: toZoom ? 'ClassicyWindowZoomMaximize' : 'ClassicyWindowZoomMinimize',
325
- })
326
- }
327
- track(toZoom ? 'zoom' : "minimize", {type: "ClassicyWindow", ...analyticsArgs})
328
- desktopEventDispatch({
329
- type: 'ClassicyWindowZoom',
330
- zoomed: toZoom,
331
- window: ws,
332
- app: {
333
- id: appId,
334
- },
335
- })
336
- }
337
-
338
- const setContextMenu = (toShow: boolean, atPosition: [number, number]) => {
339
- // desktopEventDispatch({
340
- // type: 'ClassicyWindowContextMenu',
341
- // contextMenu: toShow,
342
- // position: atPosition,
343
- // window: ws,
344
- // app: {
345
- // id: appId,
346
- // },
347
- // })
348
- }
349
-
350
- const onMouseOutHandler = (e: React.MouseEvent<HTMLDivElement>) => {
351
- e.preventDefault()
352
- setContextMenu(false, [0, 0])
353
- }
354
-
355
- const showContextMenu = (e: React.MouseEvent<HTMLDivElement>) => {
356
- e.preventDefault()
357
- setActive()
358
- track("contextMenu", {type: "ClassicyWindow", show: true, ...analyticsArgs})
359
- setContextMenu(true, [e.clientX - clickOffset[0], e.clientY - clickOffset[1]])
360
- }
361
-
362
- const setResize = (toResize: boolean) => {
363
- if (resizable) {
364
- desktopEventDispatch({
365
- type: 'ClassicyWindowResize',
366
- resizing: toResize,
367
- window: ws,
368
- size: [
369
- windowRef.current?.getBoundingClientRect().width,
370
- windowRef.current?.getBoundingClientRect().height,
371
- ],
372
- app: {
373
- id: appId,
374
- },
375
- })
376
- }
377
- }
378
-
379
- const close = () => {
380
- setActive()
381
- track("close", {type: "ClassicyWindow", show: true, ...analyticsArgs})
382
- player({type: 'ClassicySoundPlay', sound: 'ClassicyWindowClose'})
383
- desktopEventDispatch({
384
- type: 'ClassicyWindowClose',
385
- app: {
386
- id: appId,
387
- },
388
- window: ws,
389
- })
390
- if (typeof onCloseFunc === 'function') {
391
- onCloseFunc(id)
392
- }
393
- }
394
-
395
- return (
396
- <>
397
- {!ws.closed && (
398
- <div
399
- id={[appId, id].join('_')}
400
- ref={windowRef}
401
- style={{
402
- width: size[0] === 0 ? 'auto' : size[0],
403
- height: ws.collapsed ? 'auto' : size[1] === 0 ? 'auto' : size[1],
404
- left: ws.position[0],
405
- top: ws.position[1],
406
- minWidth: minimumSize[0],
407
- minHeight: ws.collapsed ? 0 : minimumSize[1],
408
- }}
409
- className={classNames(
410
- "classicyWindow",
411
- ws.collapsed ? "classicyWindowCollapsed" : '',
412
- ws.zoomed ? "classicyWindowZoomed" : '',
413
- isActive()
414
- ? "classicyWindowActive"
415
- : "classicyWindowInactive",
416
- !ws.closed ? '' : "classicyWindowInvisible",
417
- ws.moving ? "classicyWindowDragging" : '',
418
- ws.resizing ? "classicyWindowResizing" : '',
419
- modal ? "classicyWindowModal" : '',
420
- modal && type == 'error' ? "classicyWindowRed" : '',
421
- scrollable ? '' : "classicyWindowNoScroll"
422
- )}
423
- onMouseMove={changeWindow}
424
- onMouseUp={stopChangeWindow}
425
- onClick={setActive}
426
- onContextMenu={showContextMenu}
427
- onMouseOut={onMouseOutHandler}
428
- >
429
- <>
430
- {contextMenu && ws.contextMenu && (
431
- <ClassicyContextualMenu
432
- name={[appId, id, 'contextMenu'].join('_')}
433
- menuItems={contextMenu}
434
- position={clickPosition}
435
- ></ClassicyContextualMenu>
436
- )}
437
-
438
- <div
439
- className={classNames(
440
- "classicyWindowTitleBar",
441
- modal === true ? "classicyWindowTitleBarModal" : ''
442
- )}
443
- >
444
- {closable && (
445
- <div className={"classicyWindowControlBox"}>
446
- <div className={"classicyWindowCloseBox"} onClick={close}></div>
447
- </div>
448
- )}
449
- <div
450
- className={"classicyWindowTitle"}
451
- onMouseDown={startMoveWindow}
452
- onMouseUp={stopChangeWindow}
453
- >
454
- {title !== '' ? (
455
- <>
456
- <div className={"classicyWindowTitleLeft"}></div>
457
- <div className={"classicyWindowIcon"}>
458
- <img src={icon} alt={title}/>
459
- </div>
460
- <div className={"classicyWindowTitleText"}>
461
- <p>{title}</p>
462
- </div>
463
- <div className={"classicyWindowTitleRight"}></div>
464
- </>
465
- )
466
- : (<div className={"classicyWindowTitleCenter"}></div>)
467
- }
468
- </div>
469
- {zoomable && (
470
- <div className={"classicyWindowControlBox"}>
471
- <div
472
- className={"classicyWindowZoomBox"}
473
- onClick={toggleZoom}
474
- ></div>
475
- </div>
476
- )}
477
- {collapsable && (
478
- <div className={"classicyWindowControlBox"}>
479
- <div
480
- className={"classicyWindowCollapseBox"}
481
- onClick={toggleCollapse}
482
- ></div>
483
- </div>
484
- )}
485
- </div>
486
- {header && !ws.collapsed && (
487
- <div
488
- className={classNames(
489
- "classicyWindowHeader",
490
- isActive() ? '' : "classicyWindowHeaderDimmed"
491
- )}
492
- >
493
- {header}
494
- </div>
495
- )}
496
- <div
497
- className={classNames(
498
- !isActive() ? "classicyWindowContentsDimmed" : '',
499
- scrollable === true ? '' : "classicyWindowNoScroll",
500
- modal === true
501
- ? "classicyWindowContentsModal"
502
- : "classicyWindowContents",
503
- header ? "classicyWindowContentsWithHeader" : ''
504
- )}
505
- style={{
506
- display: ws.collapsed == true ? 'none' : 'block',
507
- }}
508
- >
509
- <div
510
- className={classNames(
511
- "classicyWindowContentsInner",
512
- modal === true ? "classicyWindowContentsModalInner" : '',
513
- growable ? "classicyWindowContentsInnerGrow" : ''
514
- )}
515
- >
516
- {' '}
517
- {children}
518
- </div>
519
- </div>
520
- {resizable && !ws.collapsed && (
521
- <div
522
- className={classNames(
523
- "classicyWindowResizer",
524
- isActive() ? '' : "classicyWindowResizerDimmed"
525
- )}
526
- onMouseDown={startResizeWindow}
527
- onMouseUp={stopChangeWindow}
528
- ></div>
529
- )}
530
- </>
531
- </div>
532
- )}
533
- </>
534
- )
535
- }
@@ -1,19 +0,0 @@
1
- import { ClassicyMenuItem } from '@/SystemFolder/SystemResources/Menu/ClassicyMenu'
2
-
3
- export type ClassicyWindowState = {
4
- size: [number, number]
5
- position: [number, number]
6
- clickPosition?: [number, number]
7
- closed: boolean
8
- focused: boolean
9
- menuBar: ClassicyMenuItem[]
10
- collapsed: boolean
11
- zoomed: boolean
12
- dragging: boolean
13
- resizing: boolean
14
- sounding: boolean
15
- moving: boolean
16
- contextMenu?: ClassicyMenuItem[]
17
- contextMenuShown: boolean
18
- contextMenuLocation?: [number, number]
19
- }
package/src/custom.d.ts DELETED
@@ -1,90 +0,0 @@
1
- declare module "*.svg" {
2
- const content: React.FunctionComponent<React.SVGAttributes<SVGElement>>;
3
- export default content;
4
- }
5
-
6
- declare module "*.png" {
7
- const value: any;
8
- export default value;
9
- }
10
-
11
-
12
- declare module '@analytics/google-tag-manager' {
13
- type AnalyticsPlugin = import('analytics').AnalyticsPlugin;
14
-
15
- type GoogleTagManagerConfig = {
16
- auth?: string;
17
- containerId: string;
18
- customScriptSrc?: string;
19
- dataLayerName?: string;
20
- debug?: boolean;
21
- execution?: string;
22
- preview?: string;
23
- };
24
-
25
- function googleTagManager(config: GoogleTagManagerConfig): AnalyticsPlugin;
26
-
27
- export default googleTagManager;
28
- }
29
-
30
- declare module '@analytics/google-analytics' {
31
- type GoogleAnalyticsOptions = {
32
- /** Google Analytics MEASUREMENT IDs */
33
- measurementIds: string[];
34
-
35
- /** Enable Google Analytics debug mode */
36
- debug?: boolean;
37
-
38
- /** The optional name for dataLayer object. Defaults to 'ga4DataLayer'. */
39
- dataLayerName?: string;
40
-
41
- /** The optional name for the global gtag function. Defaults to 'gtag'. */
42
- gtagName?: string;
43
-
44
- /** Configuration for gtag, including anonymizing IP and cookie settings */
45
- gtagConfig?: {
46
- anonymize_ip?: boolean;
47
- cookie_domain?: string;
48
- cookie_expires?: number;
49
- cookie_prefix?: string;
50
- cookie_update?: boolean;
51
- cookie_flags?: string;
52
- };
53
-
54
- /** Custom URL for google analytics script, if proxying calls */
55
- customScriptSrc?: string;
56
- };
57
-
58
- type AnalyticsPlugin = {
59
- /** Name of plugin */
60
- name: string;
61
-
62
- /** Exposed events of the plugin */
63
- EVENTS?: any;
64
-
65
- /** Configuration of the plugin */
66
- config?: any;
67
-
68
- /** Method to load analytics scripts */
69
- initialize?: (...params: any[]) => any;
70
-
71
- /** Page visit tracking method */
72
- page?: (...params: any[]) => any;
73
-
74
- /** Custom event tracking method */
75
- track?: (...params: any[]) => any;
76
-
77
- /** User identify method */
78
- identify?: (...params: any[]) => any;
79
-
80
- /** Function to determine if analytics script is loaded */
81
- loaded?: (...params: any[]) => any;
82
-
83
- /** Fire function when the plugin is ready */
84
- ready?: (...params: any[]) => any;
85
- };
86
-
87
- function GoogleAnalytics(options: GoogleAnalyticsOptions): AnalyticsPlugin;
88
-
89
- export default GoogleAnalytics;
90
- }