@hkdigital/lib-core 0.3.11 → 0.3.13

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 (293) hide show
  1. package/README.md +173 -149
  2. package/dist/assets/autospuiten/car-paint-picker.js +41 -41
  3. package/dist/assets/autospuiten/labels.js +7 -7
  4. package/dist/classes/data/IterableTree.js +242 -242
  5. package/dist/classes/data/Selector.js +190 -190
  6. package/dist/classes/data/index.js +2 -2
  7. package/dist/classes/data/typedef.js +9 -9
  8. package/dist/classes/event-emitter/EventEmitter.js +273 -273
  9. package/dist/classes/event-emitter/index.js +2 -2
  10. package/dist/classes/index.js +4 -4
  11. package/dist/classes/promise/HkPromise.js +384 -384
  12. package/dist/classes/promise/index.js +1 -1
  13. package/dist/classes/stores/SubscribersCount.js +107 -107
  14. package/dist/classes/stores/index.js +1 -1
  15. package/dist/classes/streams/LogTransformStream.js +19 -19
  16. package/dist/classes/streams/ServerEventsStore.js +111 -111
  17. package/dist/classes/streams/TimeStampSource.js +26 -26
  18. package/dist/classes/streams/index.js +3 -3
  19. package/dist/classes/svelte/finite-state-machine/FiniteStateMachine.svelte.js +133 -133
  20. package/dist/classes/svelte/finite-state-machine/index.js +1 -1
  21. package/dist/classes/svelte/index.js +1 -11
  22. package/dist/classes/svelte/loading-state-machine/LoadingStateMachine.svelte.js +109 -109
  23. package/dist/classes/svelte/loading-state-machine/constants.js +16 -16
  24. package/dist/classes/svelte/loading-state-machine/index.js +3 -3
  25. package/dist/config/README.md +197 -196
  26. package/dist/config/generators/imagetools.js +189 -189
  27. package/dist/config/generators/vite.js +148 -142
  28. package/dist/config/imagetools.d.ts +72 -72
  29. package/dist/config/vite.js +4 -4
  30. package/dist/constants/bases/index.js +13 -13
  31. package/dist/constants/http/headers.js +6 -6
  32. package/dist/constants/http/index.js +2 -2
  33. package/dist/constants/http/methods.js +14 -14
  34. package/dist/constants/index.js +6 -6
  35. package/dist/constants/mime/application.js +5 -5
  36. package/dist/constants/mime/audio.js +13 -13
  37. package/dist/constants/mime/image.js +3 -3
  38. package/dist/constants/mime/index.js +4 -4
  39. package/dist/constants/mime/text.js +2 -2
  40. package/dist/constants/regexp/README.md +96 -95
  41. package/dist/constants/regexp/index.js +31 -31
  42. package/dist/constants/regexp/inspiratie.js__ +95 -95
  43. package/dist/constants/regexp/text.d.ts +4 -4
  44. package/dist/constants/regexp/text.js +49 -49
  45. package/dist/constants/regexp/url.js +3 -3
  46. package/dist/constants/regexp/user.js +29 -29
  47. package/dist/constants/states/drag.js +6 -6
  48. package/dist/constants/states/drop.js +6 -6
  49. package/dist/constants/states/index.js +4 -4
  50. package/dist/constants/states/input.js +11 -11
  51. package/dist/constants/states/submit.js +4 -4
  52. package/dist/constants/time/index.js +28 -28
  53. package/dist/css/utilities.css +43 -43
  54. package/dist/design/README.md +405 -405
  55. package/dist/design/config/design-config.js +73 -73
  56. package/dist/design/generators/index.js +288 -288
  57. package/dist/design/index.js +96 -96
  58. package/dist/design/plugins/skeleton.js +208 -208
  59. package/dist/design/tailwind-theme-extend.js +158 -158
  60. package/dist/design/themes/README.md +102 -102
  61. package/dist/design/themes/hkdev/components/blocks/text-block.css +34 -34
  62. package/dist/design/themes/hkdev/components/boxes/game-box.css +11 -11
  63. package/dist/design/themes/hkdev/components/buttons/button-icon-steeze.css +22 -22
  64. package/dist/design/themes/hkdev/components/buttons/button-text.css +32 -32
  65. package/dist/design/themes/hkdev/components/buttons/button.css +146 -146
  66. package/dist/design/themes/hkdev/components/buttons/skip-button.css +5 -5
  67. package/dist/design/themes/hkdev/components/drag-drop/draggable.css +73 -73
  68. package/dist/design/themes/hkdev/components/drag-drop/drop-zone.css +58 -58
  69. package/dist/design/themes/hkdev/components/icons/icon-steeze.css +15 -15
  70. package/dist/design/themes/hkdev/components/inputs/text-input.css +102 -102
  71. package/dist/design/themes/hkdev/components/panels/panel.css +25 -25
  72. package/dist/design/themes/hkdev/components/rows/panel-grid-row.css +4 -4
  73. package/dist/design/themes/hkdev/components/rows/panel-row-2.css +5 -5
  74. package/dist/design/themes/hkdev/components.css +29 -29
  75. package/dist/design/themes/hkdev/debug.css +1 -1
  76. package/dist/design/themes/hkdev/global/layout.css +32 -32
  77. package/dist/design/themes/hkdev/global/on-colors.css +32 -32
  78. package/dist/design/themes/hkdev/globals.css +3 -3
  79. package/dist/design/themes/hkdev/responsive.css +12 -12
  80. package/dist/design/themes/hkdev/theme-ext.js +12 -12
  81. package/dist/design/themes/hkdev/theme.css +218 -218
  82. package/dist/design/utils/clamp.js +66 -66
  83. package/dist/design/utils/root-vars.js +102 -102
  84. package/dist/design/utils/scaling.js +228 -228
  85. package/dist/design/utils/states.js +22 -22
  86. package/dist/errors/api.js +9 -9
  87. package/dist/errors/generic.js +20 -20
  88. package/dist/errors/http.js +16 -16
  89. package/dist/errors/index.js +5 -5
  90. package/dist/errors/jwt.js +5 -5
  91. package/dist/errors/promise.js +25 -25
  92. package/dist/logging/README.md +158 -0
  93. package/dist/logging/index.d.ts +3 -1
  94. package/dist/logging/index.js +11 -7
  95. package/dist/logging/internal/adapters/console.js +114 -114
  96. package/dist/logging/internal/adapters/index.js +2 -2
  97. package/dist/logging/internal/adapters/pino.js +160 -142
  98. package/dist/logging/internal/adapters/typedef.js +10 -10
  99. package/dist/logging/internal/{unified-logger/constants.js → constants.js} +22 -22
  100. package/dist/logging/internal/factories/client.d.ts +1 -1
  101. package/dist/logging/internal/factories/client.js +21 -21
  102. package/dist/logging/internal/factories/server.d.ts +1 -1
  103. package/dist/logging/internal/factories/server.js +22 -22
  104. package/dist/logging/internal/factories/universal.d.ts +2 -2
  105. package/dist/logging/internal/factories/universal.js +22 -22
  106. package/dist/logging/internal/{unified-logger → logger}/Logger.d.ts +2 -2
  107. package/dist/logging/internal/{unified-logger → logger}/Logger.js +217 -217
  108. package/dist/logging/internal/logger/index.d.ts +1 -0
  109. package/dist/logging/internal/logger/index.js +1 -0
  110. package/dist/logging/internal/{unified-logger/typedef.d.ts → typedef.d.ts} +2 -1
  111. package/dist/logging/internal/{unified-logger/typedef.js → typedef.js} +21 -17
  112. package/dist/network/README.md +172 -172
  113. package/dist/network/cache/IndexedDbCache.js +1407 -1407
  114. package/dist/network/cache/MemoryResponseCache.js +138 -138
  115. package/dist/network/cache/index.js +5 -5
  116. package/dist/network/cache/typedef.js +41 -41
  117. package/dist/network/cache.js +3 -3
  118. package/dist/network/http/caching.js +261 -261
  119. package/dist/network/http/errors.js +97 -97
  120. package/dist/network/http/headers.js +75 -75
  121. package/dist/network/http/http-request.js +578 -578
  122. package/dist/network/http/index.js +22 -22
  123. package/dist/network/http/json-request.js +224 -224
  124. package/dist/network/http/mocks.js +65 -65
  125. package/dist/network/http/response.js +318 -318
  126. package/dist/network/http/test-data__/content-length-test-hkdigital-small.V4HfZyBQ.avif +0 -0
  127. package/dist/network/http/typedef.js +93 -93
  128. package/dist/network/http/url.js +52 -52
  129. package/dist/network/http.js +5 -5
  130. package/dist/network/loaders/README.md +254 -254
  131. package/dist/network/loaders/audio/AudioLoader.svelte.js +58 -58
  132. package/dist/network/loaders/audio/AudioScene.svelte.js +324 -324
  133. package/dist/network/loaders/audio/mocks.js +35 -35
  134. package/dist/network/loaders/audio.js +1 -1
  135. package/dist/network/loaders/image/ImageLoader.svelte.js +44 -44
  136. package/dist/network/loaders/image/ImageScene.svelte.js +248 -248
  137. package/dist/network/loaders/image/ImageVariantsLoader.svelte.js +150 -150
  138. package/dist/network/loaders/image/index.js +4 -4
  139. package/dist/network/loaders/image/mocks.js +35 -35
  140. package/dist/network/loaders/image/typedef.js +8 -8
  141. package/dist/network/loaders/image/utils/index.js +86 -86
  142. package/dist/network/loaders/image.js +7 -7
  143. package/dist/network/loaders/typedef.js +38 -38
  144. package/dist/network/loaders.js +2 -2
  145. package/dist/network/states/NetworkLoader.svelte.js +338 -338
  146. package/dist/network/states/constants.js +3 -3
  147. package/dist/network/states/index.js +3 -3
  148. package/dist/network/states/mocks.js +30 -30
  149. package/dist/network/states/typedef.js +8 -8
  150. package/dist/network/typedef.js +9 -9
  151. package/dist/services/README.md +200 -0
  152. package/dist/services/index.d.ts +6 -1
  153. package/dist/services/index.js +8 -1
  154. package/dist/services/{internal/service-base → service-base}/ServiceBase.d.ts +2 -2
  155. package/dist/services/{internal/service-base → service-base}/ServiceBase.js +462 -462
  156. package/dist/services/{internal/service-base → service-base}/constants.d.ts +0 -12
  157. package/dist/services/{internal/service-base → service-base}/constants.js +98 -110
  158. package/dist/services/{internal/service-base → service-base}/index.js +3 -3
  159. package/dist/services/{internal/service-base → service-base}/typedef.d.ts +1 -1
  160. package/dist/services/{internal/service-base → service-base}/typedef.js +101 -101
  161. package/dist/services/{internal/service-manager → service-manager}/ServiceManager.d.ts +2 -2
  162. package/dist/services/{internal/service-manager → service-manager}/ServiceManager.js +608 -608
  163. package/dist/services/{internal/service-manager → service-manager}/constants.js +6 -6
  164. package/dist/services/{internal/service-manager → service-manager}/typedef.js +90 -90
  165. package/dist/states/index.js +1 -1
  166. package/dist/states/navigation.svelte.js +55 -55
  167. package/dist/stores/index.js +1 -1
  168. package/dist/stores/theme.js +80 -80
  169. package/dist/typedef/context.js +6 -6
  170. package/dist/typedef/drag.js +25 -25
  171. package/dist/typedef/drop.js +12 -12
  172. package/dist/typedef/index.d.ts +1 -0
  173. package/dist/typedef/index.js +4 -4
  174. package/dist/ui/components/button-group/ButtonGroup.svelte +82 -82
  175. package/dist/ui/components/button-group/typedef.js +10 -10
  176. package/dist/ui/components/compare-left-right/CompareLeftRight.svelte +179 -179
  177. package/dist/ui/components/compare-left-right/index.js +1 -1
  178. package/dist/ui/components/game-box/GameBox.svelte +577 -577
  179. package/dist/ui/components/game-box/gamebox.util.js +83 -83
  180. package/dist/ui/components/hk-app-layout/HkAppLayout.state.svelte.js +25 -25
  181. package/dist/ui/components/hk-app-layout/HkAppLayout.svelte +251 -251
  182. package/dist/ui/components/image-box/ImageBox.svelte +210 -210
  183. package/dist/ui/components/image-box/index.js +5 -5
  184. package/dist/ui/components/image-box/typedef.js +32 -32
  185. package/dist/ui/components/index.js +23 -23
  186. package/dist/ui/components/presenter/ImageSlide.svelte +64 -64
  187. package/dist/ui/components/presenter/Presenter.state.svelte.js +638 -638
  188. package/dist/ui/components/presenter/Presenter.svelte +142 -142
  189. package/dist/ui/components/presenter/constants.js +7 -7
  190. package/dist/ui/components/presenter/index.js +10 -10
  191. package/dist/ui/components/presenter/typedef.js +106 -106
  192. package/dist/ui/components/presenter/util.js +210 -210
  193. package/dist/ui/components/virtual-viewport/VirtualViewport.svelte +196 -196
  194. package/dist/ui/primitives/area/HkArea.svelte +49 -49
  195. package/dist/ui/primitives/area/HkGridArea.svelte +77 -77
  196. package/dist/ui/primitives/area/index.js +2 -2
  197. package/dist/ui/primitives/buttons/button/Button.svelte +82 -82
  198. package/dist/ui/primitives/buttons/button-icon-steeze/SteezeIconButton.svelte +30 -30
  199. package/dist/ui/primitives/buttons/button-text/TextButton.svelte +21 -21
  200. package/dist/ui/primitives/buttons/index.js +3 -3
  201. package/dist/ui/primitives/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +146 -146
  202. package/dist/ui/primitives/debug/index.js +1 -1
  203. package/dist/ui/primitives/drag-drop/DragController.js +44 -44
  204. package/dist/ui/primitives/drag-drop/DragDropContext.svelte +111 -111
  205. package/dist/ui/primitives/drag-drop/Draggable.svelte +519 -519
  206. package/dist/ui/primitives/drag-drop/DropZone.svelte +258 -258
  207. package/dist/ui/primitives/drag-drop/DropZoneArea.svelte +119 -119
  208. package/dist/ui/primitives/drag-drop/DropZoneList.svelte +125 -125
  209. package/dist/ui/primitives/drag-drop/actions.js +26 -26
  210. package/dist/ui/primitives/drag-drop/drag-state.svelte.js +322 -322
  211. package/dist/ui/primitives/drag-drop/index.js +7 -7
  212. package/dist/ui/primitives/drag-drop/util.js +85 -85
  213. package/dist/ui/primitives/hkdev/blocks/TextBlock.svelte +46 -46
  214. package/dist/ui/primitives/hkdev/buttons/CheckButton.svelte +62 -62
  215. package/dist/ui/primitives/icons/HkIcon.svelte +86 -86
  216. package/dist/ui/primitives/icons/HkTabIcon.svelte +116 -116
  217. package/dist/ui/primitives/icons/SteezeIcon.svelte +97 -97
  218. package/dist/ui/primitives/icons/index.js +6 -6
  219. package/dist/ui/primitives/icons/typedef.js +16 -16
  220. package/dist/ui/primitives/index.js +2 -2
  221. package/dist/ui/primitives/inputs/index.js +1 -1
  222. package/dist/ui/primitives/inputs/text-input/TestTextInput.svelte__ +102 -0
  223. package/dist/ui/primitives/inputs/text-input/TextInput.svelte +223 -223
  224. package/dist/ui/primitives/inputs/text-input/TextInput.svelte___ +83 -0
  225. package/dist/ui/primitives/inputs/text-input/assets/IconInvalid.svelte +14 -14
  226. package/dist/ui/primitives/inputs/text-input/assets/IconValid.svelte +12 -12
  227. package/dist/ui/primitives/layout/grid-layers/GridLayers.svelte +63 -63
  228. package/dist/ui/primitives/layout/grid-layers/GridLayers.svelte__heightFrom__ +372 -0
  229. package/dist/ui/primitives/layout/grid-layers/util.js +74 -74
  230. package/dist/ui/primitives/layout/index.js +1 -1
  231. package/dist/ui/primitives/panels/index.js +1 -1
  232. package/dist/ui/primitives/panels/panel/Panel.svelte +43 -43
  233. package/dist/ui/primitives/rows/index.js +3 -3
  234. package/dist/ui/primitives/rows/panel-grid-row/PanelGridRow.svelte +104 -104
  235. package/dist/ui/primitives/rows/panel-row-2/PanelRow2.svelte +40 -40
  236. package/dist/ui/primitives/tab-bar/HkTabBar.state.svelte.js +149 -149
  237. package/dist/ui/primitives/tab-bar/HkTabBar.svelte +74 -74
  238. package/dist/ui/primitives/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
  239. package/dist/ui/primitives/tab-bar/HkTabBarSelector.svelte +49 -49
  240. package/dist/ui/primitives/tab-bar/index.js +17 -17
  241. package/dist/ui/primitives/tab-bar/typedef.js +11 -11
  242. package/dist/util/array/index.js +436 -436
  243. package/dist/util/bases/base58.js +262 -262
  244. package/dist/util/bases/index.js +1 -1
  245. package/dist/util/compare/index.js +247 -247
  246. package/dist/util/css/css-vars.js +83 -83
  247. package/dist/util/css/index.js +1 -1
  248. package/dist/util/env/index.js +9 -9
  249. package/dist/util/exceptions/index.d.ts +4 -3
  250. package/dist/util/exceptions/index.js +26 -23
  251. package/dist/util/expect/arrays.js +47 -47
  252. package/dist/util/expect/index.js +259 -259
  253. package/dist/util/expect/primitives.js +55 -55
  254. package/dist/util/expect/url.js +60 -60
  255. package/dist/util/function/index.js +218 -218
  256. package/dist/util/geo/index.js +26 -26
  257. package/dist/util/index.js +7 -7
  258. package/dist/util/is/index.js +147 -147
  259. package/dist/util/iterate/index.js +204 -204
  260. package/dist/util/object/index.js +1345 -1345
  261. package/dist/util/singleton/index.js +97 -97
  262. package/dist/util/string/array-path.js +75 -75
  263. package/dist/util/string/convert.js +54 -54
  264. package/dist/util/string/fs.js +226 -226
  265. package/dist/util/string/index.js +5 -5
  266. package/dist/util/string/interpolate.js +61 -61
  267. package/dist/util/string/pad.js +10 -10
  268. package/dist/util/svelte/index.js +4 -4
  269. package/dist/util/svelte/loading/loading-tracker.svelte.js +108 -108
  270. package/dist/util/svelte/observe/index.js +49 -49
  271. package/dist/util/svelte/state-context/index.js +117 -117
  272. package/dist/util/svelte/wait/index.js +38 -38
  273. package/dist/util/sveltekit/index.js +1 -1
  274. package/dist/util/sveltekit/route-folders/index.js +101 -101
  275. package/dist/util/time/index.js +328 -328
  276. package/dist/util/unique/index.js +231 -231
  277. package/dist/valibot/README.md +61 -50
  278. package/dist/valibot/index.js +8 -8
  279. package/dist/valibot/parsers/date.js__ +10 -0
  280. package/dist/valibot/parsers/email.d.ts +12 -0
  281. package/dist/valibot/parsers/email.js +34 -0
  282. package/dist/valibot/parsers/url.js +110 -110
  283. package/dist/valibot/parsers/user.js +23 -23
  284. package/dist/valibot/parsers.js +3 -3
  285. package/package.json +131 -131
  286. package/dist/logging/internal/unified-logger/index.d.ts +0 -3
  287. package/dist/logging/internal/unified-logger/index.js +0 -6
  288. package/dist/services/internal/index.d.ts +0 -6
  289. package/dist/services/internal/index.js +0 -8
  290. /package/dist/logging/internal/{unified-logger/constants.d.ts → constants.d.ts} +0 -0
  291. /package/dist/services/{internal/service-base → service-base}/index.d.ts +0 -0
  292. /package/dist/services/{internal/service-manager → service-manager}/constants.d.ts +0 -0
  293. /package/dist/services/{internal/service-manager → service-manager}/typedef.d.ts +0 -0
@@ -1,6 +1,6 @@
1
-
2
- // Log event names
3
- export const SERVICE_STATE_CHANGED = 'service:state-changed';
4
- export const SERVICE_HEALTH_CHANGED = 'service:health-changed';
5
- export const SERVICE_ERROR = 'service:error';
6
- export const SERVICE_LOG = 'service:log';
1
+
2
+ // Log event names
3
+ export const SERVICE_STATE_CHANGED = 'service:state-changed';
4
+ export const SERVICE_HEALTH_CHANGED = 'service:health-changed';
5
+ export const SERVICE_ERROR = 'service:error';
6
+ export const SERVICE_LOG = 'service:log';
@@ -1,90 +1,90 @@
1
- /**
2
- * @fileoverview Type definitions for ServiceManager class.
3
- *
4
- * This file contains all TypeScript/JSDoc type definitions used by
5
- * the ServiceManager class and service registration.
6
- *
7
- * @example
8
- * // When using ServiceManager
9
- * import { ServiceManager } from './ServiceManager.js';
10
- *
11
- * // @ typedef {import('./typedef-service-manager.js').ServiceManagerConfig} ServiceManagerConfig
12
- * // @ typedef {import('./typedef-service-manager.js').ServiceRegistrationOptions} ServiceRegistrationOptions
13
- *
14
- * const config = {
15
- * environment: 'development',
16
- * stopTimeout: 5000
17
- * };
18
- *
19
- * const manager = new ServiceManager(config);
20
- *
21
- * const options = {
22
- * dependencies: ['database'],
23
- * tags: ['critical']
24
- * };
25
- *
26
- * manager.register('auth', AuthService, {}, options);
27
- */
28
-
29
- // ============================================================================
30
- // PUBLIC TYPES
31
- // ============================================================================
32
-
33
- /**
34
- * Options for registering a service
35
- *
36
- * @typedef {Object} ServiceRegistrationOptions
37
- * @property {string[]} [dependencies=[]] - Services this service depends on
38
- * @property {string[]} [tags=[]] - Tags for grouping services
39
- * @property {number} [priority=0] - Startup priority (higher starts first)
40
- */
41
-
42
- /**
43
- * Configuration for ServiceManager
44
- *
45
- * @typedef {Object} ServiceManagerConfig
46
- * @property {boolean} [debug=false] - Debug mode switch
47
- * @property {boolean} [autoStart=false] - Auto-start services on registration
48
- * @property {number} [stopTimeout=10000] - Default timeout for stopping services
49
- * @property {string} [logLevel] - Initial log level for ServiceManager
50
- * @property {LogConfig} [logConfig={}] - Logging configuration
51
- */
52
-
53
- /**
54
- * Logging configuration
55
- *
56
- * @typedef {Object} LogConfig
57
- * @property {string} [defaultLevel] - Default log level for services
58
- * @property {string} [globalLevel] - Override level for all services
59
- * @property {Object<string, string>} [serviceLevels] - Per-service log levels
60
- */
61
-
62
- /**
63
- * Result of health check for all services
64
- * @typedef {Object<string, HealthStatus>} HealthCheckResult
65
- */
66
-
67
- /**
68
- * Service class constructor type
69
- *
70
- * @typedef {new (name: string, options?: ServiceOptions) => ServiceInstance} ServiceConstructor
71
- */
72
-
73
- // ============================================================================
74
- // INTERNAL TYPES
75
- // ============================================================================
76
-
77
- /**
78
- * Internal service registry entry
79
- *
80
- * @typedef {Object} ServiceEntry
81
- * @property {ServiceConstructor} ServiceClass - Service class constructor
82
- * @property {ServiceInstance|null} instance - Service instance (lazy-created)
83
- * @property {*} config - Service configuration
84
- * @property {string[]} dependencies - Service dependencies
85
- * @property {Set<string>} dependents - Services that depend on this one
86
- * @property {string[]} tags - Service tags
87
- * @property {number} priority - Startup priority
88
- */
89
-
90
- export {};
1
+ /**
2
+ * @fileoverview Type definitions for ServiceManager class.
3
+ *
4
+ * This file contains all TypeScript/JSDoc type definitions used by
5
+ * the ServiceManager class and service registration.
6
+ *
7
+ * @example
8
+ * // When using ServiceManager
9
+ * import { ServiceManager } from './ServiceManager.js';
10
+ *
11
+ * // @ typedef {import('./typedef-service-manager.js').ServiceManagerConfig} ServiceManagerConfig
12
+ * // @ typedef {import('./typedef-service-manager.js').ServiceRegistrationOptions} ServiceRegistrationOptions
13
+ *
14
+ * const config = {
15
+ * environment: 'development',
16
+ * stopTimeout: 5000
17
+ * };
18
+ *
19
+ * const manager = new ServiceManager(config);
20
+ *
21
+ * const options = {
22
+ * dependencies: ['database'],
23
+ * tags: ['critical']
24
+ * };
25
+ *
26
+ * manager.register('auth', AuthService, {}, options);
27
+ */
28
+
29
+ // ============================================================================
30
+ // PUBLIC TYPES
31
+ // ============================================================================
32
+
33
+ /**
34
+ * Options for registering a service
35
+ *
36
+ * @typedef {Object} ServiceRegistrationOptions
37
+ * @property {string[]} [dependencies=[]] - Services this service depends on
38
+ * @property {string[]} [tags=[]] - Tags for grouping services
39
+ * @property {number} [priority=0] - Startup priority (higher starts first)
40
+ */
41
+
42
+ /**
43
+ * Configuration for ServiceManager
44
+ *
45
+ * @typedef {Object} ServiceManagerConfig
46
+ * @property {boolean} [debug=false] - Debug mode switch
47
+ * @property {boolean} [autoStart=false] - Auto-start services on registration
48
+ * @property {number} [stopTimeout=10000] - Default timeout for stopping services
49
+ * @property {string} [logLevel] - Initial log level for ServiceManager
50
+ * @property {LogConfig} [logConfig={}] - Logging configuration
51
+ */
52
+
53
+ /**
54
+ * Logging configuration
55
+ *
56
+ * @typedef {Object} LogConfig
57
+ * @property {string} [defaultLevel] - Default log level for services
58
+ * @property {string} [globalLevel] - Override level for all services
59
+ * @property {Object<string, string>} [serviceLevels] - Per-service log levels
60
+ */
61
+
62
+ /**
63
+ * Result of health check for all services
64
+ * @typedef {Object<string, HealthStatus>} HealthCheckResult
65
+ */
66
+
67
+ /**
68
+ * Service class constructor type
69
+ *
70
+ * @typedef {new (name: string, options?: ServiceOptions) => ServiceInstance} ServiceConstructor
71
+ */
72
+
73
+ // ============================================================================
74
+ // INTERNAL TYPES
75
+ // ============================================================================
76
+
77
+ /**
78
+ * Internal service registry entry
79
+ *
80
+ * @typedef {Object} ServiceEntry
81
+ * @property {ServiceConstructor} ServiceClass - Service class constructor
82
+ * @property {ServiceInstance|null} instance - Service instance (lazy-created)
83
+ * @property {*} config - Service configuration
84
+ * @property {string[]} dependencies - Service dependencies
85
+ * @property {Set<string>} dependents - Services that depend on this one
86
+ * @property {string[]} tags - Service tags
87
+ * @property {number} priority - Startup priority
88
+ */
89
+
90
+ export {};
@@ -1 +1 @@
1
- export * from './navigation.svelte.js';
1
+ export * from './navigation.svelte.js';
@@ -1,55 +1,55 @@
1
- import { onMount } from 'svelte';
2
-
3
- import { lazySingleton } from '../util/singleton/index.js';
4
-
5
- import { beforeNavigate, onNavigate, afterNavigate } from '$app/navigation';
6
-
7
- import { page } from '$app/stores';
8
- import { get } from 'svelte/store';
9
-
10
- class Navigation {
11
- // TODO: complete page type
12
-
13
- /** @type {{ url: { pathname: string } }} */
14
- page = $state(get(page));
15
-
16
- /** @type {string} */
17
- pathname = $derived(this.page.url.pathname);
18
-
19
- stage = $state.raw({ before: false, navigating: true, after: false });
20
-
21
- constructor() {
22
- beforeNavigate(() => {
23
- this.stage = { before: true, navigating: false, after: false };
24
- });
25
-
26
- onNavigate(() => {
27
- this.stage = { before: false, navigating: true, after: false };
28
- });
29
-
30
- // onNavigate(async () => {
31
- // console.log('onNavigate can be used to perform async page transitions');
32
- // return new Promise((resolve) => {
33
- // setTimeout(resolve, 1000);
34
- // });
35
- // });
36
-
37
- afterNavigate(() => {
38
- this.stage = { before: false, navigating: false, after: true };
39
- });
40
-
41
- onMount(() => {
42
- return page.subscribe((value) => {
43
- // console.log('***update page url');
44
- this.page = value;
45
- });
46
- });
47
- } // end constructor
48
-
49
- init() {}
50
- } // end class
51
-
52
- /**
53
- * @note call nav.init() during component initialization phase
54
- */
55
- export const nav = lazySingleton({ class: Navigation });
1
+ import { onMount } from 'svelte';
2
+
3
+ import { lazySingleton } from '../util/singleton/index.js';
4
+
5
+ import { beforeNavigate, onNavigate, afterNavigate } from '$app/navigation';
6
+
7
+ import { page } from '$app/stores';
8
+ import { get } from 'svelte/store';
9
+
10
+ class Navigation {
11
+ // TODO: complete page type
12
+
13
+ /** @type {{ url: { pathname: string } }} */
14
+ page = $state(get(page));
15
+
16
+ /** @type {string} */
17
+ pathname = $derived(this.page.url.pathname);
18
+
19
+ stage = $state.raw({ before: false, navigating: true, after: false });
20
+
21
+ constructor() {
22
+ beforeNavigate(() => {
23
+ this.stage = { before: true, navigating: false, after: false };
24
+ });
25
+
26
+ onNavigate(() => {
27
+ this.stage = { before: false, navigating: true, after: false };
28
+ });
29
+
30
+ // onNavigate(async () => {
31
+ // console.log('onNavigate can be used to perform async page transitions');
32
+ // return new Promise((resolve) => {
33
+ // setTimeout(resolve, 1000);
34
+ // });
35
+ // });
36
+
37
+ afterNavigate(() => {
38
+ this.stage = { before: false, navigating: false, after: true };
39
+ });
40
+
41
+ onMount(() => {
42
+ return page.subscribe((value) => {
43
+ // console.log('***update page url');
44
+ this.page = value;
45
+ });
46
+ });
47
+ } // end constructor
48
+
49
+ init() {}
50
+ } // end class
51
+
52
+ /**
53
+ * @note call nav.init() during component initialization phase
54
+ */
55
+ export const nav = lazySingleton({ class: Navigation });
@@ -1 +1 @@
1
- export * as theme from './theme.js';
1
+ export * as theme from './theme.js';
@@ -1,80 +1,80 @@
1
- /**
2
- * @example Set theme color in a layout file
3
- *
4
- * // +layout.svelte
5
- * <script>
6
- * import { theme as themeStore } from './theme.js';
7
- *
8
- * const { metaThemeColorBase, metaThemeColorDark } = themeStore;
9
- * </script>
10
- *
11
- * <svelte:head>
12
- * <meta
13
- * name="theme-color"
14
- * media="(prefers-color-scheme: light)"
15
- * content={$metaThemeColorBase}
16
- * />
17
- * <meta
18
- * name="theme-color"
19
- * media="(prefers-color-scheme: dark)"
20
- * content={$metaThemeColorDark}
21
- * />
22
- * </svelte:head>
23
- */
24
-
25
- import { writable, get } from 'svelte/store';
26
-
27
- // > Internals
28
-
29
- const DEFAULT_THEME_COLOR_BASE = '#fffffe';
30
- const DEFAULT_THEME_COLOR_DARK = '#000001';
31
-
32
- /** @type {import('svelte/store').Writable<string>} */
33
- const themeColorBase = writable(DEFAULT_THEME_COLOR_BASE);
34
-
35
- /** @type {import('svelte/store').Writable<string|null>} */
36
- const themeColorDark = writable(DEFAULT_THEME_COLOR_DARK);
37
-
38
- // > Exports
39
-
40
- /**
41
- * Set meta theme color for both light and dark mode
42
- *
43
- * @param {string} value - HTML Color
44
- */
45
- export function setMetaThemeColor(value) {
46
- themeColorBase.set(value);
47
- themeColorDark.set(value);
48
- }
49
-
50
- /**
51
- * Set meta theme color for light mode
52
- *
53
- * @param {string} value - HTML Color
54
- */
55
- export function setMetaThemeColorBase(value) {
56
- themeColorBase.set(value);
57
- }
58
-
59
- /**
60
- * Set meta theme color for dark mode only
61
- *
62
- * @param {string} value - HTML Color
63
- */
64
- export function setMetaThemeColorDark(value) {
65
- themeColorDark.set(value);
66
- }
67
-
68
- export const metaThemeColorBase = {
69
- subscribe: themeColorBase.subscribe,
70
- get: () => {
71
- get(themeColorBase);
72
- }
73
- };
74
-
75
- export const metaThemeColorDark = {
76
- subscribe: themeColorDark.subscribe,
77
- get: () => {
78
- get(themeColorDark);
79
- }
80
- };
1
+ /**
2
+ * @example Set theme color in a layout file
3
+ *
4
+ * // +layout.svelte
5
+ * <script>
6
+ * import { theme as themeStore } from './theme.js';
7
+ *
8
+ * const { metaThemeColorBase, metaThemeColorDark } = themeStore;
9
+ * </script>
10
+ *
11
+ * <svelte:head>
12
+ * <meta
13
+ * name="theme-color"
14
+ * media="(prefers-color-scheme: light)"
15
+ * content={$metaThemeColorBase}
16
+ * />
17
+ * <meta
18
+ * name="theme-color"
19
+ * media="(prefers-color-scheme: dark)"
20
+ * content={$metaThemeColorDark}
21
+ * />
22
+ * </svelte:head>
23
+ */
24
+
25
+ import { writable, get } from 'svelte/store';
26
+
27
+ // > Internals
28
+
29
+ const DEFAULT_THEME_COLOR_BASE = '#fffffe';
30
+ const DEFAULT_THEME_COLOR_DARK = '#000001';
31
+
32
+ /** @type {import('svelte/store').Writable<string>} */
33
+ const themeColorBase = writable(DEFAULT_THEME_COLOR_BASE);
34
+
35
+ /** @type {import('svelte/store').Writable<string|null>} */
36
+ const themeColorDark = writable(DEFAULT_THEME_COLOR_DARK);
37
+
38
+ // > Exports
39
+
40
+ /**
41
+ * Set meta theme color for both light and dark mode
42
+ *
43
+ * @param {string} value - HTML Color
44
+ */
45
+ export function setMetaThemeColor(value) {
46
+ themeColorBase.set(value);
47
+ themeColorDark.set(value);
48
+ }
49
+
50
+ /**
51
+ * Set meta theme color for light mode
52
+ *
53
+ * @param {string} value - HTML Color
54
+ */
55
+ export function setMetaThemeColorBase(value) {
56
+ themeColorBase.set(value);
57
+ }
58
+
59
+ /**
60
+ * Set meta theme color for dark mode only
61
+ *
62
+ * @param {string} value - HTML Color
63
+ */
64
+ export function setMetaThemeColorDark(value) {
65
+ themeColorDark.set(value);
66
+ }
67
+
68
+ export const metaThemeColorBase = {
69
+ subscribe: themeColorBase.subscribe,
70
+ get: () => {
71
+ get(themeColorBase);
72
+ }
73
+ };
74
+
75
+ export const metaThemeColorDark = {
76
+ subscribe: themeColorDark.subscribe,
77
+ get: () => {
78
+ get(themeColorDark);
79
+ }
80
+ };
@@ -1,6 +1,6 @@
1
-
2
- /**
3
- * @typedef {Symbol|'default'} ContextKey
4
- */
5
-
6
- export default {};
1
+
2
+ /**
3
+ * @typedef {Symbol|'default'} ContextKey
4
+ */
5
+
6
+ export default {};
@@ -1,25 +1,25 @@
1
- /**
2
- * @typedef {Object} DragData
3
- * @property {string} draggableId
4
- * @property {number} offsetX
5
- * @property {number} offsetY
6
- * @property {any} item - The item being dragged
7
- * @property {string} [source] - Source identifier
8
- */
9
-
10
- /**
11
- * @typedef {Object} SimulatedDragEvent
12
- * @property {'dragstart'|'dragover'|'dragleave'|'drop'|'dragend'} type
13
- * @property {number} clientX
14
- * @property {number} clientY
15
- * @property {Object} dataTransfer
16
- * @property {Array<string>} dataTransfer.types
17
- * @property {Function} dataTransfer.getData
18
- * @property {'none'|'copy'|'link'|'move'} dataTransfer.dropEffect
19
- * @property {'none'|'copy'|'copyLink'|'copyMove'|'link'|'linkMove'|'move'|'all'|'uninitialized'} dataTransfer.effectAllowed
20
- * @property {FileList|Array} dataTransfer.files
21
- * @property {Function} preventDefault
22
- * @property {Function} stopPropagation
23
- */
24
-
25
- export default {}
1
+ /**
2
+ * @typedef {Object} DragData
3
+ * @property {string} draggableId
4
+ * @property {number} offsetX
5
+ * @property {number} offsetY
6
+ * @property {any} item - The item being dragged
7
+ * @property {string} [source] - Source identifier
8
+ */
9
+
10
+ /**
11
+ * @typedef {Object} SimulatedDragEvent
12
+ * @property {'dragstart'|'dragover'|'dragleave'|'drop'|'dragend'} type
13
+ * @property {number} clientX
14
+ * @property {number} clientY
15
+ * @property {Object} dataTransfer
16
+ * @property {Array<string>} dataTransfer.types
17
+ * @property {Function} dataTransfer.getData
18
+ * @property {'none'|'copy'|'link'|'move'} dataTransfer.dropEffect
19
+ * @property {'none'|'copy'|'copyLink'|'copyMove'|'link'|'linkMove'|'move'|'all'|'uninitialized'} dataTransfer.effectAllowed
20
+ * @property {FileList|Array} dataTransfer.files
21
+ * @property {Function} preventDefault
22
+ * @property {Function} stopPropagation
23
+ */
24
+
25
+ export default {}
@@ -1,12 +1,12 @@
1
- /**
2
- * @typedef {Object} DropData
3
- * @property {number} x
4
- * @property {number} y
5
- * @property {string} zone
6
- * @property {string} source
7
- * @property {any} item
8
- * @property {import('./drag').DragData} drag
9
- * @property {{offsetX: number, offsetY: number, target: Element}} drop
10
- */
11
-
12
- export default {};
1
+ /**
2
+ * @typedef {Object} DropData
3
+ * @property {number} x
4
+ * @property {number} y
5
+ * @property {string} zone
6
+ * @property {string} source
7
+ * @property {any} item
8
+ * @property {import('./drag').DragData} drag
9
+ * @property {{offsetX: number, offsetY: number, target: Element}} drop
10
+ */
11
+
12
+ export default {};
@@ -1,3 +1,4 @@
1
1
  export * from "./context.js";
2
2
  export * from "./drag.js";
3
3
  export * from "./drop.js";
4
+ export * from "../network/typedef.js";
@@ -1,4 +1,4 @@
1
- export * from './context.js';
2
- export * from './drag.js';
3
- export * from './drop.js';
4
- export * from '../media/typedef.js';
1
+ export * from './context.js';
2
+ export * from './drag.js';
3
+ export * from './drop.js';
4
+ export * from '../network/typedef.js';