@hkdigital/lib-core 0.3.9 → 0.3.11

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 (428) hide show
  1. package/README.md +149 -149
  2. package/dist/assets/autospuiten/car-paint-picker.d.ts +7 -7
  3. package/dist/assets/autospuiten/car-paint-picker.js +41 -41
  4. package/dist/assets/autospuiten/labels.js +7 -7
  5. package/dist/classes/data/IterableTree.d.ts +15 -24
  6. package/dist/classes/data/IterableTree.js +242 -243
  7. package/dist/classes/data/Selector.js +190 -190
  8. package/dist/classes/data/index.js +2 -2
  9. package/dist/classes/data/typedef.d.ts +8 -0
  10. package/dist/classes/data/typedef.js +9 -0
  11. package/dist/classes/event-emitter/EventEmitter.js +273 -275
  12. package/dist/classes/event-emitter/index.js +2 -2
  13. package/dist/classes/index.js +4 -4
  14. package/dist/classes/promise/HkPromise.d.ts +18 -17
  15. package/dist/classes/promise/HkPromise.js +384 -377
  16. package/dist/classes/promise/index.js +1 -1
  17. package/dist/classes/stores/SubscribersCount.js +107 -107
  18. package/dist/classes/stores/index.js +1 -1
  19. package/dist/classes/streams/LogTransformStream.js +19 -19
  20. package/dist/classes/streams/ServerEventsStore.d.ts +2 -3
  21. package/dist/classes/streams/ServerEventsStore.js +111 -110
  22. package/dist/classes/streams/TimeStampSource.js +26 -26
  23. package/dist/classes/streams/index.js +3 -3
  24. package/dist/classes/svelte/finite-state-machine/FiniteStateMachine.svelte.js +133 -133
  25. package/dist/classes/svelte/finite-state-machine/index.js +1 -1
  26. package/dist/classes/svelte/index.d.ts +0 -8
  27. package/dist/classes/svelte/index.js +11 -14
  28. package/dist/classes/svelte/loading-state-machine/LoadingStateMachine.svelte.js +109 -109
  29. package/dist/classes/svelte/loading-state-machine/constants.js +16 -16
  30. package/dist/classes/svelte/loading-state-machine/index.js +3 -3
  31. package/dist/config/README.md +196 -0
  32. package/dist/config/{imagetools-config.js → generators/imagetools.js} +189 -189
  33. package/dist/config/generators/vite.d.ts +47 -0
  34. package/dist/config/generators/vite.js +142 -0
  35. package/dist/config/imagetools.d.ts +72 -72
  36. package/dist/config/vite.d.ts +1 -0
  37. package/dist/config/vite.js +5 -0
  38. package/dist/constants/bases/index.js +13 -13
  39. package/dist/constants/http/headers.js +6 -6
  40. package/dist/constants/http/index.js +2 -2
  41. package/dist/constants/http/methods.js +14 -14
  42. package/dist/constants/index.js +6 -6
  43. package/dist/constants/mime/application.js +5 -5
  44. package/dist/constants/mime/audio.js +13 -13
  45. package/dist/constants/mime/image.js +3 -3
  46. package/dist/constants/mime/index.js +4 -4
  47. package/dist/constants/mime/text.js +2 -2
  48. package/dist/constants/regexp/README.md +95 -0
  49. package/dist/constants/regexp/index.d.ts +1 -1
  50. package/dist/constants/regexp/index.js +31 -31
  51. package/dist/constants/regexp/inspiratie.js__ +95 -95
  52. package/dist/constants/regexp/text.d.ts +3 -3
  53. package/dist/constants/regexp/text.js +49 -49
  54. package/dist/constants/regexp/url.d.ts +1 -0
  55. package/dist/constants/regexp/url.js +3 -0
  56. package/dist/constants/regexp/user.d.ts +0 -1
  57. package/dist/constants/regexp/user.js +29 -33
  58. package/dist/constants/states/drag.js +6 -6
  59. package/dist/constants/states/drop.js +6 -6
  60. package/dist/constants/states/index.js +4 -4
  61. package/dist/constants/states/input.js +11 -11
  62. package/dist/constants/states/submit.js +4 -4
  63. package/dist/constants/time/index.js +28 -28
  64. package/dist/css/utilities.css +43 -43
  65. package/dist/design/README.md +405 -0
  66. package/dist/design/{design-config.js → config/design-config.js} +73 -73
  67. package/dist/{util/design-system/tailwind.js → design/generators/index.js} +288 -288
  68. package/dist/design/index.d.ts +8 -0
  69. package/dist/design/index.js +97 -0
  70. package/dist/{util/design-system → design/plugins}/skeleton.js +208 -208
  71. package/dist/design/tailwind-theme-extend.js +158 -158
  72. package/dist/design/themes/README.md +103 -0
  73. package/dist/{themes → design/themes}/hkdev/components/blocks/text-block.css +34 -34
  74. package/dist/{themes → design/themes}/hkdev/components/boxes/game-box.css +11 -11
  75. package/dist/{themes → design/themes}/hkdev/components/buttons/button-icon-steeze.css +22 -22
  76. package/dist/{themes → design/themes}/hkdev/components/buttons/button-text.css +32 -32
  77. package/dist/{themes → design/themes}/hkdev/components/buttons/button.css +146 -146
  78. package/dist/{themes → design/themes}/hkdev/components/buttons/skip-button.css +5 -5
  79. package/dist/{themes → design/themes}/hkdev/components/drag-drop/draggable.css +73 -73
  80. package/dist/{themes → design/themes}/hkdev/components/drag-drop/drop-zone.css +58 -58
  81. package/dist/{themes → design/themes}/hkdev/components/icons/icon-steeze.css +15 -15
  82. package/dist/{themes → design/themes}/hkdev/components/inputs/text-input.css +102 -102
  83. package/dist/{themes → design/themes}/hkdev/components/panels/panel.css +25 -25
  84. package/dist/{themes → design/themes}/hkdev/components/rows/panel-grid-row.css +4 -4
  85. package/dist/{themes → design/themes}/hkdev/components/rows/panel-row-2.css +5 -5
  86. package/dist/{themes → design/themes}/hkdev/components.css +29 -29
  87. package/dist/design/themes/hkdev/debug.css +2 -0
  88. package/dist/{themes → design/themes}/hkdev/global/layout.css +32 -32
  89. package/dist/{themes → design/themes}/hkdev/global/on-colors.css +32 -32
  90. package/dist/{themes → design/themes}/hkdev/globals.css +3 -3
  91. package/dist/{themes → design/themes}/hkdev/responsive.css +12 -12
  92. package/dist/{themes → design/themes}/hkdev/theme-ext.js +12 -12
  93. package/dist/{themes → design/themes}/hkdev/theme.css +218 -218
  94. package/dist/{util/design-system/css → design/utils}/clamp.js +66 -66
  95. package/dist/{util/design-system/css/root-design-vars.d.ts → design/utils/root-vars.d.ts} +2 -2
  96. package/dist/{util/design-system/css/root-design-vars.js → design/utils/root-vars.js} +102 -102
  97. package/dist/{util/design-system/layout → design/utils}/scaling.js +228 -228
  98. package/dist/{util/design-system/components → design/utils}/states.js +22 -22
  99. package/dist/errors/api.js +9 -9
  100. package/dist/errors/generic.js +20 -20
  101. package/dist/errors/http.js +16 -16
  102. package/dist/errors/index.d.ts +1 -0
  103. package/dist/errors/index.js +5 -4
  104. package/dist/errors/jwt.js +5 -5
  105. package/dist/errors/promise.d.ts +27 -0
  106. package/dist/errors/promise.js +26 -0
  107. package/dist/logging/index.js +7 -7
  108. package/dist/logging/internal/adapters/console.js +114 -114
  109. package/dist/logging/internal/adapters/index.js +2 -2
  110. package/dist/logging/internal/adapters/pino.d.ts +1 -0
  111. package/dist/logging/internal/adapters/pino.js +142 -115
  112. package/dist/logging/internal/adapters/typedef.d.ts +24 -0
  113. package/dist/logging/internal/adapters/typedef.js +10 -0
  114. package/dist/logging/internal/factories/client.js +21 -21
  115. package/dist/logging/internal/factories/server.js +22 -22
  116. package/dist/logging/internal/factories/universal.js +22 -22
  117. package/dist/logging/internal/unified-logger/Logger.js +217 -217
  118. package/dist/logging/internal/unified-logger/constants.js +22 -22
  119. package/dist/logging/internal/unified-logger/index.js +6 -6
  120. package/dist/logging/internal/unified-logger/typedef.js +17 -17
  121. package/dist/network/README.md +173 -0
  122. package/dist/{classes → network}/cache/IndexedDbCache.js +1407 -1407
  123. package/dist/{classes → network}/cache/MemoryResponseCache.js +138 -138
  124. package/dist/{classes → network}/cache/index.js +5 -5
  125. package/dist/{classes → network}/cache/typedef.js +41 -41
  126. package/dist/network/cache.d.ts +3 -0
  127. package/dist/network/cache.js +4 -0
  128. package/dist/{util → network}/http/caching.js +261 -263
  129. package/dist/{util → network}/http/errors.js +97 -97
  130. package/dist/{util → network}/http/headers.js +75 -75
  131. package/dist/{util → network}/http/http-request.js +578 -578
  132. package/dist/{util → network}/http/index.js +22 -22
  133. package/dist/{util → network}/http/json-request.js +224 -224
  134. package/dist/{util → network}/http/mocks.js +65 -65
  135. package/dist/{util → network}/http/response.js +318 -318
  136. package/dist/{util → network}/http/typedef.js +93 -93
  137. package/dist/{util → network}/http/url.js +52 -52
  138. package/dist/network/http.d.ts +6 -0
  139. package/dist/network/http.js +6 -0
  140. package/dist/network/loaders/README.md +255 -0
  141. package/dist/{classes/svelte → network/loaders}/audio/AudioLoader.svelte.d.ts +1 -1
  142. package/dist/{classes/svelte → network/loaders}/audio/AudioLoader.svelte.js +58 -58
  143. package/dist/{classes/svelte → network/loaders}/audio/AudioScene.svelte.js +324 -324
  144. package/dist/{classes/svelte → network/loaders}/audio/mocks.js +35 -35
  145. package/dist/network/loaders/audio.d.ts +2 -0
  146. package/dist/network/loaders/audio.js +2 -0
  147. package/dist/{classes/svelte → network/loaders}/image/ImageLoader.svelte.d.ts +3 -6
  148. package/dist/{classes/svelte → network/loaders}/image/ImageLoader.svelte.js +44 -45
  149. package/dist/{classes/svelte → network/loaders}/image/ImageScene.svelte.d.ts +5 -7
  150. package/dist/{classes/svelte → network/loaders}/image/ImageScene.svelte.js +248 -249
  151. package/dist/{classes/svelte → network/loaders}/image/ImageVariantsLoader.svelte.d.ts +4 -4
  152. package/dist/{classes/svelte → network/loaders}/image/ImageVariantsLoader.svelte.js +150 -152
  153. package/dist/{classes/svelte → network/loaders}/image/index.js +4 -4
  154. package/dist/{classes/svelte → network/loaders}/image/mocks.js +35 -35
  155. package/dist/{classes/svelte → network/loaders}/image/typedef.js +8 -8
  156. package/dist/{util/image → network/loaders/image/utils}/index.d.ts +2 -2
  157. package/dist/{util/image → network/loaders/image/utils}/index.js +86 -86
  158. package/dist/network/loaders/image.d.ts +5 -0
  159. package/dist/network/loaders/image.js +8 -0
  160. package/dist/{typedef/image.js → network/loaders/typedef.js} +38 -38
  161. package/dist/network/loaders.d.ts +2 -0
  162. package/dist/network/loaders.js +2 -0
  163. package/dist/{classes/svelte/network-loader → network/states}/NetworkLoader.svelte.d.ts +1 -1
  164. package/dist/{classes/svelte/network-loader → network/states}/NetworkLoader.svelte.js +338 -338
  165. package/dist/{classes/svelte/network-loader → network/states}/constants.js +3 -3
  166. package/dist/{classes/svelte/network-loader → network/states}/index.js +3 -3
  167. package/dist/{classes/svelte/network-loader → network/states}/mocks.js +30 -30
  168. package/dist/{classes/svelte/network-loader → network/states}/typedef.js +8 -8
  169. package/dist/network/typedef.d.ts +4 -0
  170. package/dist/network/typedef.js +10 -0
  171. package/dist/services/index.js +1 -1
  172. package/dist/services/internal/index.js +8 -8
  173. package/dist/services/internal/service-base/ServiceBase.js +462 -462
  174. package/dist/services/internal/service-base/constants.js +110 -110
  175. package/dist/services/internal/service-base/index.js +3 -3
  176. package/dist/services/internal/service-base/typedef.js +101 -101
  177. package/dist/services/internal/service-manager/ServiceManager.d.ts +2 -35
  178. package/dist/services/internal/service-manager/ServiceManager.js +608 -614
  179. package/dist/services/internal/service-manager/constants.js +6 -6
  180. package/dist/services/internal/service-manager/typedef.js +90 -90
  181. package/dist/states/index.js +1 -1
  182. package/dist/states/navigation.svelte.js +55 -55
  183. package/dist/stores/index.js +1 -1
  184. package/dist/stores/theme.js +80 -80
  185. package/dist/typedef/context.js +6 -6
  186. package/dist/typedef/drag.js +25 -25
  187. package/dist/typedef/drop.js +12 -12
  188. package/dist/typedef/index.d.ts +0 -1
  189. package/dist/typedef/index.js +4 -4
  190. package/dist/{components → ui/components}/button-group/ButtonGroup.svelte +82 -82
  191. package/dist/{components → ui/components}/button-group/typedef.js +10 -10
  192. package/dist/{components → ui/components}/compare-left-right/CompareLeftRight.svelte +179 -179
  193. package/dist/{components → ui/components}/compare-left-right/index.js +1 -1
  194. package/dist/{components → ui/components}/game-box/GameBox.svelte +577 -577
  195. package/dist/{components → ui/components}/game-box/gamebox.util.js +83 -83
  196. package/dist/ui/components/hk-app-layout/HkAppLayout.state.svelte.d.ts +6 -0
  197. package/dist/{components → ui/components}/hk-app-layout/HkAppLayout.state.svelte.js +25 -25
  198. package/dist/{components → ui/components}/hk-app-layout/HkAppLayout.svelte +251 -251
  199. package/dist/{components → ui/components}/image-box/ImageBox.svelte +210 -210
  200. package/dist/{components → ui/components}/image-box/ImageBox.svelte.d.ts +6 -6
  201. package/dist/ui/components/image-box/index.js +5 -0
  202. package/dist/{components → ui/components}/image-box/typedef.js +32 -32
  203. package/dist/{components → ui/components}/index.js +23 -23
  204. package/dist/{components → ui/components}/presenter/ImageSlide.svelte +64 -64
  205. package/dist/{components → ui/components}/presenter/ImageSlide.svelte.d.ts +2 -2
  206. package/dist/{components → ui/components}/presenter/Presenter.state.svelte.d.ts +1 -1
  207. package/dist/{components → ui/components}/presenter/Presenter.state.svelte.js +638 -638
  208. package/dist/{components → ui/components}/presenter/Presenter.svelte +142 -142
  209. package/dist/{components → ui/components}/presenter/constants.js +7 -7
  210. package/dist/{components → ui/components}/presenter/index.js +10 -10
  211. package/dist/{components → ui/components}/presenter/typedef.js +106 -106
  212. package/dist/{components → ui/components}/presenter/util.js +210 -210
  213. package/dist/{components → ui/components}/virtual-viewport/VirtualViewport.svelte +196 -196
  214. package/dist/{primitives → ui/primitives}/area/HkArea.svelte +49 -49
  215. package/dist/{primitives → ui/primitives}/area/HkGridArea.svelte +77 -77
  216. package/dist/{primitives → ui/primitives}/area/index.js +2 -2
  217. package/dist/{primitives → ui/primitives}/buttons/button/Button.svelte +82 -82
  218. package/dist/{primitives → ui/primitives}/buttons/button/Button.svelte.d.ts +1 -1
  219. package/dist/{primitives → ui/primitives}/buttons/button-icon-steeze/SteezeIconButton.svelte +30 -30
  220. package/dist/{primitives → ui/primitives}/buttons/button-text/TextButton.svelte +21 -21
  221. package/dist/{primitives → ui/primitives}/buttons/index.js +3 -3
  222. package/dist/{primitives → ui/primitives}/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +146 -146
  223. package/dist/{primitives → ui/primitives}/debug/index.js +1 -1
  224. package/dist/{primitives → ui/primitives}/drag-drop/DragController.js +44 -44
  225. package/dist/{primitives → ui/primitives}/drag-drop/DragDropContext.svelte +111 -111
  226. package/dist/{primitives → ui/primitives}/drag-drop/DragDropContext.svelte.d.ts +1 -1
  227. package/dist/{primitives → ui/primitives}/drag-drop/Draggable.svelte +519 -519
  228. package/dist/{primitives → ui/primitives}/drag-drop/Draggable.svelte.d.ts +1 -1
  229. package/dist/{primitives → ui/primitives}/drag-drop/DropZone.svelte +258 -258
  230. package/dist/{primitives → ui/primitives}/drag-drop/DropZone.svelte.d.ts +3 -3
  231. package/dist/{primitives → ui/primitives}/drag-drop/DropZoneArea.svelte +119 -119
  232. package/dist/{primitives → ui/primitives}/drag-drop/DropZoneArea.svelte.d.ts +3 -3
  233. package/dist/{primitives → ui/primitives}/drag-drop/DropZoneList.svelte +125 -125
  234. package/dist/{primitives → ui/primitives}/drag-drop/DropZoneList.svelte.d.ts +3 -3
  235. package/dist/{primitives → ui/primitives}/drag-drop/actions.js +26 -26
  236. package/dist/{primitives → ui/primitives}/drag-drop/drag-state.svelte.d.ts +11 -11
  237. package/dist/{primitives → ui/primitives}/drag-drop/drag-state.svelte.js +322 -322
  238. package/dist/{primitives → ui/primitives}/drag-drop/index.js +7 -7
  239. package/dist/{primitives → ui/primitives}/drag-drop/util.js +85 -85
  240. package/dist/{primitives → ui/primitives}/hkdev/blocks/TextBlock.svelte +46 -46
  241. package/dist/{primitives → ui/primitives}/hkdev/buttons/CheckButton.svelte +62 -62
  242. package/dist/{primitives → ui/primitives}/icons/HkIcon.svelte +86 -86
  243. package/dist/{primitives → ui/primitives}/icons/HkTabIcon.svelte +116 -116
  244. package/dist/{primitives → ui/primitives}/icons/SteezeIcon.svelte +97 -97
  245. package/dist/{primitives → ui/primitives}/icons/index.js +6 -6
  246. package/dist/{primitives → ui/primitives}/icons/typedef.js +16 -16
  247. package/dist/{primitives → ui/primitives}/index.js +2 -2
  248. package/dist/{primitives → ui/primitives}/inputs/index.js +1 -1
  249. package/dist/{primitives → ui/primitives}/inputs/text-input/TextInput.svelte +223 -223
  250. package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconInvalid.svelte +14 -14
  251. package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconValid.svelte +12 -12
  252. package/dist/{primitives → ui/primitives}/layout/grid-layers/GridLayers.svelte +63 -63
  253. package/dist/{primitives → ui/primitives}/layout/grid-layers/util.js +74 -74
  254. package/dist/{primitives → ui/primitives}/layout/index.js +1 -1
  255. package/dist/{primitives → ui/primitives}/panels/index.js +1 -1
  256. package/dist/{primitives → ui/primitives}/panels/panel/Panel.svelte +43 -43
  257. package/dist/{primitives → ui/primitives}/rows/index.js +3 -3
  258. package/dist/{primitives → ui/primitives}/rows/panel-grid-row/PanelGridRow.svelte +104 -104
  259. package/dist/{primitives → ui/primitives}/rows/panel-row-2/PanelRow2.svelte +40 -40
  260. package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.state.svelte.d.ts +3 -3
  261. package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.state.svelte.js +149 -149
  262. package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.svelte +74 -74
  263. package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.state.svelte.d.ts +3 -3
  264. package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
  265. package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.svelte +49 -49
  266. package/dist/{primitives → ui/primitives}/tab-bar/index.js +17 -17
  267. package/dist/{primitives → ui/primitives}/tab-bar/typedef.js +11 -11
  268. package/dist/util/array/index.js +436 -436
  269. package/dist/util/bases/base58.js +262 -262
  270. package/dist/util/bases/index.js +1 -1
  271. package/dist/util/compare/index.js +247 -247
  272. package/dist/util/css/css-vars.js +83 -83
  273. package/dist/util/css/index.js +1 -1
  274. package/dist/util/env/index.js +9 -9
  275. package/dist/util/exceptions/index.js +23 -23
  276. package/dist/util/expect/arrays.js +47 -47
  277. package/dist/util/expect/index.js +259 -259
  278. package/dist/util/expect/primitives.js +55 -55
  279. package/dist/util/expect/url.d.ts +6 -6
  280. package/dist/util/expect/url.js +60 -60
  281. package/dist/util/function/index.js +218 -218
  282. package/dist/util/geo/index.js +26 -26
  283. package/dist/util/index.d.ts +3 -1
  284. package/dist/util/index.js +7 -3
  285. package/dist/util/is/index.d.ts +15 -14
  286. package/dist/util/is/index.js +147 -140
  287. package/dist/util/iterate/index.d.ts +37 -69
  288. package/dist/util/iterate/index.js +204 -234
  289. package/dist/util/object/index.d.ts +38 -57
  290. package/dist/util/object/index.js +1345 -1361
  291. package/dist/util/singleton/index.js +97 -97
  292. package/dist/util/string/array-path.js +75 -75
  293. package/dist/util/string/convert.js +54 -54
  294. package/dist/util/string/fs.js +226 -226
  295. package/dist/util/string/index.js +5 -5
  296. package/dist/util/string/interpolate.js +61 -61
  297. package/dist/util/string/pad.js +10 -10
  298. package/dist/util/svelte/index.js +4 -4
  299. package/dist/util/svelte/loading/loading-tracker.svelte.js +108 -108
  300. package/dist/util/svelte/observe/index.js +49 -49
  301. package/dist/util/svelte/state-context/index.js +117 -117
  302. package/dist/util/svelte/wait/index.js +38 -38
  303. package/dist/util/sveltekit/index.js +1 -1
  304. package/dist/util/sveltekit/route-folders/index.js +101 -101
  305. package/dist/util/time/index.js +328 -323
  306. package/dist/util/unique/index.js +231 -249
  307. package/dist/valibot/README.md +50 -0
  308. package/dist/valibot/index.d.ts +4 -4
  309. package/dist/valibot/index.js +8 -9
  310. package/dist/valibot/{url.d.ts → parsers/url.d.ts} +13 -5
  311. package/dist/valibot/{url.js → parsers/url.js} +111 -95
  312. package/dist/valibot/{user.js → parsers/user.js} +23 -23
  313. package/dist/valibot/parsers.d.ts +2 -0
  314. package/dist/valibot/parsers.js +4 -0
  315. package/package.json +131 -133
  316. package/dist/components/hk-app-layout/HkAppLayout.state.svelte.d.ts +0 -6
  317. package/dist/components/image-box/index.js +0 -5
  318. package/dist/constants/regexp/web.d.ts +0 -1
  319. package/dist/constants/regexp/web.js +0 -3
  320. package/dist/primitives/inputs/text-input/TestTextInput.svelte__ +0 -102
  321. package/dist/primitives/inputs/text-input/TextInput.svelte___ +0 -83
  322. package/dist/primitives/layout/grid-layers/GridLayers.svelte__heightFrom__ +0 -372
  323. package/dist/schemas/index.d.ts +0 -1
  324. package/dist/schemas/index.js +0 -1
  325. package/dist/schemas/validate-url.d.ts +0 -30
  326. package/dist/schemas/validate-url.js +0 -180
  327. package/dist/themes/hkdev/debug.css +0 -2
  328. package/dist/themes/index.d.ts +0 -1
  329. package/dist/themes/index.js +0 -1
  330. package/dist/util/design-system/index.d.ts +0 -5
  331. package/dist/util/design-system/index.js +0 -5
  332. package/dist/util/http/test-data__/content-length-test-hkdigital-small.V4HfZyBQ.avif +0 -0
  333. package/dist/valibot/date.js__ +0 -10
  334. package/dist/zod/all.d.ts +0 -6
  335. package/dist/zod/all.js +0 -33
  336. package/dist/zod/generic.d.ts +0 -6
  337. package/dist/zod/generic.js +0 -11
  338. package/dist/zod/javascript.d.ts +0 -8
  339. package/dist/zod/javascript.js +0 -32
  340. package/dist/zod/user.d.ts +0 -9
  341. package/dist/zod/user.js +0 -16
  342. package/dist/zod/web.d.ts +0 -21
  343. package/dist/zod/web.js +0 -52
  344. /package/dist/config/{imagetools-config.d.ts → generators/imagetools.d.ts} +0 -0
  345. /package/dist/design/{design-config.d.ts → config/design-config.d.ts} +0 -0
  346. /package/dist/{util/design-system/tailwind.d.ts → design/generators/index.d.ts} +0 -0
  347. /package/dist/{util/design-system → design/plugins}/skeleton.d.ts +0 -0
  348. /package/dist/{themes → design/themes}/hkdev/theme-ext.d.ts +0 -0
  349. /package/dist/{util/design-system/css → design/utils}/clamp.d.ts +0 -0
  350. /package/dist/{util/design-system/layout → design/utils}/scaling.d.ts +0 -0
  351. /package/dist/{util/design-system/components → design/utils}/states.d.ts +0 -0
  352. /package/dist/{classes → network}/cache/IndexedDbCache.d.ts +0 -0
  353. /package/dist/{classes → network}/cache/MemoryResponseCache.d.ts +0 -0
  354. /package/dist/{classes → network}/cache/index.d.ts +0 -0
  355. /package/dist/{classes → network}/cache/typedef.d.ts +0 -0
  356. /package/dist/{util → network}/http/caching.d.ts +0 -0
  357. /package/dist/{util → network}/http/errors.d.ts +0 -0
  358. /package/dist/{util → network}/http/headers.d.ts +0 -0
  359. /package/dist/{util → network}/http/http-request.d.ts +0 -0
  360. /package/dist/{util → network}/http/index.d.ts +0 -0
  361. /package/dist/{util → network}/http/json-request.d.ts +0 -0
  362. /package/dist/{util → network}/http/mocks.d.ts +0 -0
  363. /package/dist/{util → network}/http/response.d.ts +0 -0
  364. /package/dist/{util → network}/http/typedef.d.ts +0 -0
  365. /package/dist/{util → network}/http/url.d.ts +0 -0
  366. /package/dist/{classes/svelte → network/loaders}/audio/AudioScene.svelte.d.ts +0 -0
  367. /package/dist/{classes/svelte → network/loaders}/audio/mocks.d.ts +0 -0
  368. /package/dist/{classes/svelte → network/loaders}/image/index.d.ts +0 -0
  369. /package/dist/{classes/svelte → network/loaders}/image/mocks.d.ts +0 -0
  370. /package/dist/{classes/svelte → network/loaders}/image/typedef.d.ts +0 -0
  371. /package/dist/{typedef/image.d.ts → network/loaders/typedef.d.ts} +0 -0
  372. /package/dist/{classes/svelte/network-loader → network/states}/constants.d.ts +0 -0
  373. /package/dist/{classes/svelte/network-loader → network/states}/index.d.ts +0 -0
  374. /package/dist/{classes/svelte/network-loader → network/states}/mocks.d.ts +0 -0
  375. /package/dist/{classes/svelte/network-loader → network/states}/typedef.d.ts +0 -0
  376. /package/dist/{components → ui/components}/button-group/ButtonGroup.svelte.d.ts +0 -0
  377. /package/dist/{components → ui/components}/button-group/typedef.d.ts +0 -0
  378. /package/dist/{components → ui/components}/compare-left-right/CompareLeftRight.svelte.d.ts +0 -0
  379. /package/dist/{components → ui/components}/compare-left-right/index.d.ts +0 -0
  380. /package/dist/{components → ui/components}/game-box/GameBox.svelte.d.ts +0 -0
  381. /package/dist/{components → ui/components}/game-box/gamebox.util.d.ts +0 -0
  382. /package/dist/{components → ui/components}/hk-app-layout/HkAppLayout.svelte.d.ts +0 -0
  383. /package/dist/{components → ui/components}/image-box/index.d.ts +0 -0
  384. /package/dist/{components → ui/components}/image-box/typedef.d.ts +0 -0
  385. /package/dist/{components → ui/components}/index.d.ts +0 -0
  386. /package/dist/{components → ui/components}/presenter/Presenter.svelte.d.ts +0 -0
  387. /package/dist/{components → ui/components}/presenter/constants.d.ts +0 -0
  388. /package/dist/{components → ui/components}/presenter/index.d.ts +0 -0
  389. /package/dist/{components → ui/components}/presenter/typedef.d.ts +0 -0
  390. /package/dist/{components → ui/components}/presenter/util.d.ts +0 -0
  391. /package/dist/{components → ui/components}/virtual-viewport/VirtualViewport.svelte.d.ts +0 -0
  392. /package/dist/{primitives → ui/primitives}/area/HkArea.svelte.d.ts +0 -0
  393. /package/dist/{primitives → ui/primitives}/area/HkGridArea.svelte.d.ts +0 -0
  394. /package/dist/{primitives → ui/primitives}/area/index.d.ts +0 -0
  395. /package/dist/{primitives → ui/primitives}/buttons/button-icon-steeze/SteezeIconButton.svelte.d.ts +0 -0
  396. /package/dist/{primitives → ui/primitives}/buttons/button-text/TextButton.svelte.d.ts +0 -0
  397. /package/dist/{primitives → ui/primitives}/buttons/index.d.ts +0 -0
  398. /package/dist/{primitives → ui/primitives}/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte.d.ts +0 -0
  399. /package/dist/{primitives → ui/primitives}/debug/index.d.ts +0 -0
  400. /package/dist/{primitives → ui/primitives}/drag-drop/DragController.d.ts +0 -0
  401. /package/dist/{primitives → ui/primitives}/drag-drop/actions.d.ts +0 -0
  402. /package/dist/{primitives → ui/primitives}/drag-drop/index.d.ts +0 -0
  403. /package/dist/{primitives → ui/primitives}/drag-drop/util.d.ts +0 -0
  404. /package/dist/{primitives → ui/primitives}/hkdev/blocks/TextBlock.svelte.d.ts +0 -0
  405. /package/dist/{primitives → ui/primitives}/hkdev/buttons/CheckButton.svelte.d.ts +0 -0
  406. /package/dist/{primitives → ui/primitives}/icons/HkIcon.svelte.d.ts +0 -0
  407. /package/dist/{primitives → ui/primitives}/icons/HkTabIcon.svelte.d.ts +0 -0
  408. /package/dist/{primitives → ui/primitives}/icons/SteezeIcon.svelte.d.ts +0 -0
  409. /package/dist/{primitives → ui/primitives}/icons/index.d.ts +0 -0
  410. /package/dist/{primitives → ui/primitives}/icons/typedef.d.ts +0 -0
  411. /package/dist/{primitives → ui/primitives}/index.d.ts +0 -0
  412. /package/dist/{primitives → ui/primitives}/inputs/index.d.ts +0 -0
  413. /package/dist/{primitives → ui/primitives}/inputs/text-input/TextInput.svelte.d.ts +0 -0
  414. /package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconInvalid.svelte.d.ts +0 -0
  415. /package/dist/{primitives → ui/primitives}/inputs/text-input/assets/IconValid.svelte.d.ts +0 -0
  416. /package/dist/{primitives → ui/primitives}/layout/grid-layers/GridLayers.svelte.d.ts +0 -0
  417. /package/dist/{primitives → ui/primitives}/layout/grid-layers/util.d.ts +0 -0
  418. /package/dist/{primitives → ui/primitives}/layout/index.d.ts +0 -0
  419. /package/dist/{primitives → ui/primitives}/panels/index.d.ts +0 -0
  420. /package/dist/{primitives → ui/primitives}/panels/panel/Panel.svelte.d.ts +0 -0
  421. /package/dist/{primitives → ui/primitives}/rows/index.d.ts +0 -0
  422. /package/dist/{primitives → ui/primitives}/rows/panel-grid-row/PanelGridRow.svelte.d.ts +0 -0
  423. /package/dist/{primitives → ui/primitives}/rows/panel-row-2/PanelRow2.svelte.d.ts +0 -0
  424. /package/dist/{primitives → ui/primitives}/tab-bar/HkTabBar.svelte.d.ts +0 -0
  425. /package/dist/{primitives → ui/primitives}/tab-bar/HkTabBarSelector.svelte.d.ts +0 -0
  426. /package/dist/{primitives → ui/primitives}/tab-bar/index.d.ts +0 -0
  427. /package/dist/{primitives → ui/primitives}/tab-bar/typedef.d.ts +0 -0
  428. /package/dist/valibot/{user.d.ts → parsers/user.d.ts} +0 -0
@@ -1,108 +1,108 @@
1
- /**
2
- * Simple utility for tracking combined loading progress across multiple components
3
- *
4
- * @typedef {Object} LoadingProgress
5
- * @property {number} bytesLoaded - Number of bytes loaded
6
- * @property {number} size - Total size in bytes
7
- * @property {boolean} loaded - Whether loading is complete
8
- */
9
-
10
- /**
11
- * Creates a loading tracker that combines progress from multiple sources
12
- *
13
- * @returns {Object} Loading tracker instance
14
- */
15
- export function createTracker() {
16
- // Store progress for each item by ID
17
- const items = new Map();
18
-
19
- // Computed values
20
- let totalBytesLoaded = 0;
21
- let totalSize = 0;
22
- let allLoaded = false;
23
- let progressPercent = 0;
24
-
25
- /**
26
- * Update the totals based on current items
27
- */
28
- function updateTotals() {
29
- let bytesLoaded = 0;
30
- let size = 0;
31
- let loaded = items.size > 0;
32
-
33
- // Loop through all items and sum values
34
- for (const progress of items.values()) {
35
- bytesLoaded += progress.bytesLoaded || 0;
36
- size += progress.size || 0;
37
-
38
- if (!progress.loaded) {
39
- loaded = false;
40
- }
41
- }
42
-
43
- // Update state
44
- totalBytesLoaded = bytesLoaded;
45
- totalSize = size;
46
- allLoaded = items.size > 0 ? loaded : false;
47
- progressPercent = size > 0 ? Math.round((bytesLoaded / size) * 100) : 0;
48
- }
49
-
50
- /**
51
- * Track progress for a component
52
- *
53
- * @param {LoadingProgress} progress - The progress update
54
- * @param {string|Symbol} id - The component identifier
55
- */
56
- function track(progress, id) {
57
- if (progress && id) {
58
- items.set(id, progress);
59
- updateTotals();
60
- }
61
- }
62
-
63
- /**
64
- * Remove an item from tracking
65
- *
66
- * @param {string|Symbol} id - Item identifier to remove
67
- */
68
- function remove(id) {
69
- if (items.has(id)) {
70
- items.delete(id);
71
- updateTotals();
72
- }
73
- }
74
-
75
- /**
76
- * Reset the tracker, clearing all items
77
- */
78
- function reset() {
79
- items.clear();
80
- updateTotals();
81
- }
82
-
83
- // Return the public API
84
- return {
85
- track,
86
- remove,
87
- reset,
88
-
89
- // Read-only properties
90
- get state() {
91
- return {
92
- bytesLoaded: totalBytesLoaded,
93
- size: totalSize,
94
- loaded: allLoaded,
95
- percent: progressPercent,
96
- itemCount: items.size
97
- };
98
- },
99
-
100
- get loaded() {
101
- return allLoaded;
102
- },
103
-
104
- get percent() {
105
- return progressPercent;
106
- }
107
- };
108
- }
1
+ /**
2
+ * Simple utility for tracking combined loading progress across multiple components
3
+ *
4
+ * @typedef {Object} LoadingProgress
5
+ * @property {number} bytesLoaded - Number of bytes loaded
6
+ * @property {number} size - Total size in bytes
7
+ * @property {boolean} loaded - Whether loading is complete
8
+ */
9
+
10
+ /**
11
+ * Creates a loading tracker that combines progress from multiple sources
12
+ *
13
+ * @returns {Object} Loading tracker instance
14
+ */
15
+ export function createTracker() {
16
+ // Store progress for each item by ID
17
+ const items = new Map();
18
+
19
+ // Computed values
20
+ let totalBytesLoaded = 0;
21
+ let totalSize = 0;
22
+ let allLoaded = false;
23
+ let progressPercent = 0;
24
+
25
+ /**
26
+ * Update the totals based on current items
27
+ */
28
+ function updateTotals() {
29
+ let bytesLoaded = 0;
30
+ let size = 0;
31
+ let loaded = items.size > 0;
32
+
33
+ // Loop through all items and sum values
34
+ for (const progress of items.values()) {
35
+ bytesLoaded += progress.bytesLoaded || 0;
36
+ size += progress.size || 0;
37
+
38
+ if (!progress.loaded) {
39
+ loaded = false;
40
+ }
41
+ }
42
+
43
+ // Update state
44
+ totalBytesLoaded = bytesLoaded;
45
+ totalSize = size;
46
+ allLoaded = items.size > 0 ? loaded : false;
47
+ progressPercent = size > 0 ? Math.round((bytesLoaded / size) * 100) : 0;
48
+ }
49
+
50
+ /**
51
+ * Track progress for a component
52
+ *
53
+ * @param {LoadingProgress} progress - The progress update
54
+ * @param {string|Symbol} id - The component identifier
55
+ */
56
+ function track(progress, id) {
57
+ if (progress && id) {
58
+ items.set(id, progress);
59
+ updateTotals();
60
+ }
61
+ }
62
+
63
+ /**
64
+ * Remove an item from tracking
65
+ *
66
+ * @param {string|Symbol} id - Item identifier to remove
67
+ */
68
+ function remove(id) {
69
+ if (items.has(id)) {
70
+ items.delete(id);
71
+ updateTotals();
72
+ }
73
+ }
74
+
75
+ /**
76
+ * Reset the tracker, clearing all items
77
+ */
78
+ function reset() {
79
+ items.clear();
80
+ updateTotals();
81
+ }
82
+
83
+ // Return the public API
84
+ return {
85
+ track,
86
+ remove,
87
+ reset,
88
+
89
+ // Read-only properties
90
+ get state() {
91
+ return {
92
+ bytesLoaded: totalBytesLoaded,
93
+ size: totalSize,
94
+ loaded: allLoaded,
95
+ percent: progressPercent,
96
+ itemCount: items.size
97
+ };
98
+ },
99
+
100
+ get loaded() {
101
+ return allLoaded;
102
+ },
103
+
104
+ get percent() {
105
+ return progressPercent;
106
+ }
107
+ };
108
+ }
@@ -1,49 +1,49 @@
1
- import { onMount, onDestroy } from 'svelte';
2
-
3
- /**
4
- * @param {function} target
5
- * @param {(entries:ResizeObserverEntry[]) => void} callback
6
- * @param {object} [options]
7
- *
8
- * @returns {{ stop: () => void }}
9
- */
10
- export function useResizeObserver(target, callback, options) {
11
- /** @type {HTMLInputElement} */
12
- let elem;
13
-
14
- /** @type {ResizeObserver|undefined} */
15
- let resizeObserver;
16
-
17
- onMount(() => {
18
- // console.log('useResizeObserver:onMount');
19
-
20
- if (target instanceof HTMLInputElement) {
21
- elem = target;
22
- } else if (typeof target === 'function') {
23
- let output = target();
24
-
25
- // console.log({ output });
26
-
27
- elem = output;
28
- } else {
29
- throw new Error('Invalid value for parameter [target]');
30
- }
31
-
32
- resizeObserver = new ResizeObserver(callback);
33
-
34
- resizeObserver.observe(elem);
35
- });
36
-
37
- onDestroy(() => {
38
- // console.log('useResizeObserver:onDestroy');
39
-
40
- if (resizeObserver) {
41
- resizeObserver.unobserve(elem);
42
- resizeObserver = undefined;
43
- }
44
- });
45
-
46
- return {
47
- stop: () => {}
48
- };
49
- }
1
+ import { onMount, onDestroy } from 'svelte';
2
+
3
+ /**
4
+ * @param {function} target
5
+ * @param {(entries:ResizeObserverEntry[]) => void} callback
6
+ * @param {object} [options]
7
+ *
8
+ * @returns {{ stop: () => void }}
9
+ */
10
+ export function useResizeObserver(target, callback, options) {
11
+ /** @type {HTMLInputElement} */
12
+ let elem;
13
+
14
+ /** @type {ResizeObserver|undefined} */
15
+ let resizeObserver;
16
+
17
+ onMount(() => {
18
+ // console.log('useResizeObserver:onMount');
19
+
20
+ if (target instanceof HTMLInputElement) {
21
+ elem = target;
22
+ } else if (typeof target === 'function') {
23
+ let output = target();
24
+
25
+ // console.log({ output });
26
+
27
+ elem = output;
28
+ } else {
29
+ throw new Error('Invalid value for parameter [target]');
30
+ }
31
+
32
+ resizeObserver = new ResizeObserver(callback);
33
+
34
+ resizeObserver.observe(elem);
35
+ });
36
+
37
+ onDestroy(() => {
38
+ // console.log('useResizeObserver:onDestroy');
39
+
40
+ if (resizeObserver) {
41
+ resizeObserver.unobserve(elem);
42
+ resizeObserver = undefined;
43
+ }
44
+ });
45
+
46
+ return {
47
+ stop: () => {}
48
+ };
49
+ }
@@ -1,117 +1,117 @@
1
- import { setContext, getContext, hasContext } from 'svelte';
2
-
3
- export const DEFAULT_CONTEXT_KEY = 'default';
4
-
5
- /* ----------------------------------------------------------- Create and Get */
6
-
7
- /**
8
- * Define a state context:
9
- * - Returns a function 'createOrGetState' that can be used to create a new state
10
- * or get an existing one
11
- * - Returns a function 'createState' that can be used to create a new state
12
- *
13
- * @template T
14
- *
15
- * @param {new() => T} State - Class that can be used to construct the state
16
- *
17
- * @returns {[
18
- * createOrGetState,
19
- * createState,
20
- * getState
21
- * ]}
22
- */
23
- export function defineStateContext(State) {
24
- const stateName = State.name;
25
-
26
- const sharedKey = Symbol(stateName);
27
-
28
- // console.debug(`Creating state context for ${stateName}`, { sharedKey });
29
-
30
- /**
31
- * Internal function to get the supplied key or the shared key
32
- *
33
- * @param {import('../../../typedef').ContextKey} [contextKey]
34
- *
35
- * @returns {Symbol} key
36
- */
37
- function getKey(contextKey) {
38
- if (typeof contextKey === 'symbol') {
39
- return contextKey;
40
- }
41
-
42
- if (
43
- contextKey === undefined ||
44
- contextKey === null ||
45
- contextKey === DEFAULT_CONTEXT_KEY
46
- ) {
47
- return sharedKey;
48
- }
49
-
50
- throw new Error(
51
- `Invalid contextKey (use a Symbol or DEFAULT_CONTEXT_KEY)`
52
- );
53
- }
54
-
55
- /**
56
- * Create component state
57
- *
58
- * @param {import('../../../typedef').ContextKey} [contextKey]
59
- *
60
- * @returns {T} state
61
- */
62
- function createState(contextKey) {
63
- const key = getKey(contextKey);
64
-
65
- // console.log('Create state', key);
66
- // console.debug(`Creating new state for ${stateName}`, {
67
- // key,
68
- // contextKey,
69
- // isDefaultKey: key === sharedKey
70
- // });
71
-
72
- const state = new State();
73
-
74
- // @ts-ignore
75
- state._contextKey = contextKey;
76
-
77
- return setContext(key, state);
78
- }
79
-
80
- /**
81
- * Get component state or create a new state if it does not yet exist
82
- *
83
- * @param {import('../../../typedef').ContextKey} [contextKey]
84
- *
85
- * @returns {T} state
86
- */
87
- function createOrGetState(contextKey) {
88
- let key = getKey(contextKey);
89
-
90
- if (!hasContext(key)) {
91
- return createState(key);
92
- }
93
-
94
- return getContext(key);
95
- }
96
-
97
- /**
98
- * Get component state
99
- *
100
- * @throws Will throw an error if the state-context does not exist
101
- *
102
- * @param {import('../../../typedef').ContextKey} [contextKey]
103
- *
104
- * @returns {T} state
105
- */
106
- function getState(contextKey) {
107
- let key = getKey(contextKey);
108
-
109
- if (!hasContext(key)) {
110
- throw new Error(`No state context found. Create one first`);
111
- }
112
-
113
- return getContext(key);
114
- }
115
-
116
- return [createOrGetState, createState, getState];
117
- }
1
+ import { setContext, getContext, hasContext } from 'svelte';
2
+
3
+ export const DEFAULT_CONTEXT_KEY = 'default';
4
+
5
+ /* ----------------------------------------------------------- Create and Get */
6
+
7
+ /**
8
+ * Define a state context:
9
+ * - Returns a function 'createOrGetState' that can be used to create a new state
10
+ * or get an existing one
11
+ * - Returns a function 'createState' that can be used to create a new state
12
+ *
13
+ * @template T
14
+ *
15
+ * @param {new() => T} State - Class that can be used to construct the state
16
+ *
17
+ * @returns {[
18
+ * createOrGetState,
19
+ * createState,
20
+ * getState
21
+ * ]}
22
+ */
23
+ export function defineStateContext(State) {
24
+ const stateName = State.name;
25
+
26
+ const sharedKey = Symbol(stateName);
27
+
28
+ // console.debug(`Creating state context for ${stateName}`, { sharedKey });
29
+
30
+ /**
31
+ * Internal function to get the supplied key or the shared key
32
+ *
33
+ * @param {import('../../../typedef').ContextKey} [contextKey]
34
+ *
35
+ * @returns {Symbol} key
36
+ */
37
+ function getKey(contextKey) {
38
+ if (typeof contextKey === 'symbol') {
39
+ return contextKey;
40
+ }
41
+
42
+ if (
43
+ contextKey === undefined ||
44
+ contextKey === null ||
45
+ contextKey === DEFAULT_CONTEXT_KEY
46
+ ) {
47
+ return sharedKey;
48
+ }
49
+
50
+ throw new Error(
51
+ `Invalid contextKey (use a Symbol or DEFAULT_CONTEXT_KEY)`
52
+ );
53
+ }
54
+
55
+ /**
56
+ * Create component state
57
+ *
58
+ * @param {import('../../../typedef').ContextKey} [contextKey]
59
+ *
60
+ * @returns {T} state
61
+ */
62
+ function createState(contextKey) {
63
+ const key = getKey(contextKey);
64
+
65
+ // console.log('Create state', key);
66
+ // console.debug(`Creating new state for ${stateName}`, {
67
+ // key,
68
+ // contextKey,
69
+ // isDefaultKey: key === sharedKey
70
+ // });
71
+
72
+ const state = new State();
73
+
74
+ // @ts-ignore
75
+ state._contextKey = contextKey;
76
+
77
+ return setContext(key, state);
78
+ }
79
+
80
+ /**
81
+ * Get component state or create a new state if it does not yet exist
82
+ *
83
+ * @param {import('../../../typedef').ContextKey} [contextKey]
84
+ *
85
+ * @returns {T} state
86
+ */
87
+ function createOrGetState(contextKey) {
88
+ let key = getKey(contextKey);
89
+
90
+ if (!hasContext(key)) {
91
+ return createState(key);
92
+ }
93
+
94
+ return getContext(key);
95
+ }
96
+
97
+ /**
98
+ * Get component state
99
+ *
100
+ * @throws Will throw an error if the state-context does not exist
101
+ *
102
+ * @param {import('../../../typedef').ContextKey} [contextKey]
103
+ *
104
+ * @returns {T} state
105
+ */
106
+ function getState(contextKey) {
107
+ let key = getKey(contextKey);
108
+
109
+ if (!hasContext(key)) {
110
+ throw new Error(`No state context found. Create one first`);
111
+ }
112
+
113
+ return getContext(key);
114
+ }
115
+
116
+ return [createOrGetState, createState, getState];
117
+ }
@@ -1,38 +1,38 @@
1
- import { tick } from 'svelte';
2
-
3
- /**
4
- * Waits for a state condition to be met by running the checkFn
5
- * function after each Svelte tick
6
- *
7
- * @param {() => boolean} checkFn -
8
- * Should return true when desired state is reached
9
- *
10
- * @param {number} [maxWaitMs=1000]
11
- *
12
- * @returns {Promise<void>} Promise that resolves when the check
13
- * function returns true
14
- * @throws {Error} if maxAttempts is reached before
15
- * predicate returns true
16
- */
17
- export function waitForState(checkFn, maxWaitMs = 1000) {
18
- let startedAt = Date.now();
19
-
20
- return new Promise((resolve, reject) => {
21
- async function checkLoop() {
22
- if (checkFn()) {
23
- resolve();
24
- return;
25
- }
26
-
27
- if (Date.now() - startedAt >= maxWaitMs) {
28
- reject(new Error(`State change timeout`));
29
- return;
30
- }
31
-
32
- await tick();
33
- checkLoop();
34
- }
35
-
36
- checkLoop();
37
- });
38
- }
1
+ import { tick } from 'svelte';
2
+
3
+ /**
4
+ * Waits for a state condition to be met by running the checkFn
5
+ * function after each Svelte tick
6
+ *
7
+ * @param {() => boolean} checkFn -
8
+ * Should return true when desired state is reached
9
+ *
10
+ * @param {number} [maxWaitMs=1000]
11
+ *
12
+ * @returns {Promise<void>} Promise that resolves when the check
13
+ * function returns true
14
+ * @throws {Error} if maxAttempts is reached before
15
+ * predicate returns true
16
+ */
17
+ export function waitForState(checkFn, maxWaitMs = 1000) {
18
+ let startedAt = Date.now();
19
+
20
+ return new Promise((resolve, reject) => {
21
+ async function checkLoop() {
22
+ if (checkFn()) {
23
+ resolve();
24
+ return;
25
+ }
26
+
27
+ if (Date.now() - startedAt >= maxWaitMs) {
28
+ reject(new Error(`State change timeout`));
29
+ return;
30
+ }
31
+
32
+ await tick();
33
+ checkLoop();
34
+ }
35
+
36
+ checkLoop();
37
+ });
38
+ }
@@ -1 +1 @@
1
- export * from './route-folders/index.js';
1
+ export * from './route-folders/index.js';