@hkdigital/lib-core 0.3.11 → 0.3.12

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 (292) 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.js +4 -4
  173. package/dist/ui/components/button-group/ButtonGroup.svelte +82 -82
  174. package/dist/ui/components/button-group/typedef.js +10 -10
  175. package/dist/ui/components/compare-left-right/CompareLeftRight.svelte +179 -179
  176. package/dist/ui/components/compare-left-right/index.js +1 -1
  177. package/dist/ui/components/game-box/GameBox.svelte +577 -577
  178. package/dist/ui/components/game-box/gamebox.util.js +83 -83
  179. package/dist/ui/components/hk-app-layout/HkAppLayout.state.svelte.js +25 -25
  180. package/dist/ui/components/hk-app-layout/HkAppLayout.svelte +251 -251
  181. package/dist/ui/components/image-box/ImageBox.svelte +210 -210
  182. package/dist/ui/components/image-box/index.js +5 -5
  183. package/dist/ui/components/image-box/typedef.js +32 -32
  184. package/dist/ui/components/index.js +23 -23
  185. package/dist/ui/components/presenter/ImageSlide.svelte +64 -64
  186. package/dist/ui/components/presenter/Presenter.state.svelte.js +638 -638
  187. package/dist/ui/components/presenter/Presenter.svelte +142 -142
  188. package/dist/ui/components/presenter/constants.js +7 -7
  189. package/dist/ui/components/presenter/index.js +10 -10
  190. package/dist/ui/components/presenter/typedef.js +106 -106
  191. package/dist/ui/components/presenter/util.js +210 -210
  192. package/dist/ui/components/virtual-viewport/VirtualViewport.svelte +196 -196
  193. package/dist/ui/primitives/area/HkArea.svelte +49 -49
  194. package/dist/ui/primitives/area/HkGridArea.svelte +77 -77
  195. package/dist/ui/primitives/area/index.js +2 -2
  196. package/dist/ui/primitives/buttons/button/Button.svelte +82 -82
  197. package/dist/ui/primitives/buttons/button-icon-steeze/SteezeIconButton.svelte +30 -30
  198. package/dist/ui/primitives/buttons/button-text/TextButton.svelte +21 -21
  199. package/dist/ui/primitives/buttons/index.js +3 -3
  200. package/dist/ui/primitives/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +146 -146
  201. package/dist/ui/primitives/debug/index.js +1 -1
  202. package/dist/ui/primitives/drag-drop/DragController.js +44 -44
  203. package/dist/ui/primitives/drag-drop/DragDropContext.svelte +111 -111
  204. package/dist/ui/primitives/drag-drop/Draggable.svelte +519 -519
  205. package/dist/ui/primitives/drag-drop/DropZone.svelte +258 -258
  206. package/dist/ui/primitives/drag-drop/DropZoneArea.svelte +119 -119
  207. package/dist/ui/primitives/drag-drop/DropZoneList.svelte +125 -125
  208. package/dist/ui/primitives/drag-drop/actions.js +26 -26
  209. package/dist/ui/primitives/drag-drop/drag-state.svelte.js +322 -322
  210. package/dist/ui/primitives/drag-drop/index.js +7 -7
  211. package/dist/ui/primitives/drag-drop/util.js +85 -85
  212. package/dist/ui/primitives/hkdev/blocks/TextBlock.svelte +46 -46
  213. package/dist/ui/primitives/hkdev/buttons/CheckButton.svelte +62 -62
  214. package/dist/ui/primitives/icons/HkIcon.svelte +86 -86
  215. package/dist/ui/primitives/icons/HkTabIcon.svelte +116 -116
  216. package/dist/ui/primitives/icons/SteezeIcon.svelte +97 -97
  217. package/dist/ui/primitives/icons/index.js +6 -6
  218. package/dist/ui/primitives/icons/typedef.js +16 -16
  219. package/dist/ui/primitives/index.js +2 -2
  220. package/dist/ui/primitives/inputs/index.js +1 -1
  221. package/dist/ui/primitives/inputs/text-input/TestTextInput.svelte__ +102 -0
  222. package/dist/ui/primitives/inputs/text-input/TextInput.svelte +223 -223
  223. package/dist/ui/primitives/inputs/text-input/TextInput.svelte___ +83 -0
  224. package/dist/ui/primitives/inputs/text-input/assets/IconInvalid.svelte +14 -14
  225. package/dist/ui/primitives/inputs/text-input/assets/IconValid.svelte +12 -12
  226. package/dist/ui/primitives/layout/grid-layers/GridLayers.svelte +63 -63
  227. package/dist/ui/primitives/layout/grid-layers/GridLayers.svelte__heightFrom__ +372 -0
  228. package/dist/ui/primitives/layout/grid-layers/util.js +74 -74
  229. package/dist/ui/primitives/layout/index.js +1 -1
  230. package/dist/ui/primitives/panels/index.js +1 -1
  231. package/dist/ui/primitives/panels/panel/Panel.svelte +43 -43
  232. package/dist/ui/primitives/rows/index.js +3 -3
  233. package/dist/ui/primitives/rows/panel-grid-row/PanelGridRow.svelte +104 -104
  234. package/dist/ui/primitives/rows/panel-row-2/PanelRow2.svelte +40 -40
  235. package/dist/ui/primitives/tab-bar/HkTabBar.state.svelte.js +149 -149
  236. package/dist/ui/primitives/tab-bar/HkTabBar.svelte +74 -74
  237. package/dist/ui/primitives/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
  238. package/dist/ui/primitives/tab-bar/HkTabBarSelector.svelte +49 -49
  239. package/dist/ui/primitives/tab-bar/index.js +17 -17
  240. package/dist/ui/primitives/tab-bar/typedef.js +11 -11
  241. package/dist/util/array/index.js +436 -436
  242. package/dist/util/bases/base58.js +262 -262
  243. package/dist/util/bases/index.js +1 -1
  244. package/dist/util/compare/index.js +247 -247
  245. package/dist/util/css/css-vars.js +83 -83
  246. package/dist/util/css/index.js +1 -1
  247. package/dist/util/env/index.js +9 -9
  248. package/dist/util/exceptions/index.d.ts +4 -3
  249. package/dist/util/exceptions/index.js +26 -23
  250. package/dist/util/expect/arrays.js +47 -47
  251. package/dist/util/expect/index.js +259 -259
  252. package/dist/util/expect/primitives.js +55 -55
  253. package/dist/util/expect/url.js +60 -60
  254. package/dist/util/function/index.js +218 -218
  255. package/dist/util/geo/index.js +26 -26
  256. package/dist/util/index.js +7 -7
  257. package/dist/util/is/index.js +147 -147
  258. package/dist/util/iterate/index.js +204 -204
  259. package/dist/util/object/index.js +1345 -1345
  260. package/dist/util/singleton/index.js +97 -97
  261. package/dist/util/string/array-path.js +75 -75
  262. package/dist/util/string/convert.js +54 -54
  263. package/dist/util/string/fs.js +226 -226
  264. package/dist/util/string/index.js +5 -5
  265. package/dist/util/string/interpolate.js +61 -61
  266. package/dist/util/string/pad.js +10 -10
  267. package/dist/util/svelte/index.js +4 -4
  268. package/dist/util/svelte/loading/loading-tracker.svelte.js +108 -108
  269. package/dist/util/svelte/observe/index.js +49 -49
  270. package/dist/util/svelte/state-context/index.js +117 -117
  271. package/dist/util/svelte/wait/index.js +38 -38
  272. package/dist/util/sveltekit/index.js +1 -1
  273. package/dist/util/sveltekit/route-folders/index.js +101 -101
  274. package/dist/util/time/index.js +328 -328
  275. package/dist/util/unique/index.js +231 -231
  276. package/dist/valibot/README.md +61 -50
  277. package/dist/valibot/index.js +8 -8
  278. package/dist/valibot/parsers/date.js__ +10 -0
  279. package/dist/valibot/parsers/email.d.ts +12 -0
  280. package/dist/valibot/parsers/email.js +34 -0
  281. package/dist/valibot/parsers/url.js +110 -110
  282. package/dist/valibot/parsers/user.js +23 -23
  283. package/dist/valibot/parsers.js +3 -3
  284. package/package.json +131 -131
  285. package/dist/logging/internal/unified-logger/index.d.ts +0 -3
  286. package/dist/logging/internal/unified-logger/index.js +0 -6
  287. package/dist/services/internal/index.d.ts +0 -6
  288. package/dist/services/internal/index.js +0 -8
  289. /package/dist/logging/internal/{unified-logger/constants.d.ts → constants.d.ts} +0 -0
  290. /package/dist/services/{internal/service-base → service-base}/index.d.ts +0 -0
  291. /package/dist/services/{internal/service-manager → service-manager}/constants.d.ts +0 -0
  292. /package/dist/services/{internal/service-manager → service-manager}/typedef.d.ts +0 -0
package/README.md CHANGED
@@ -1,149 +1,173 @@
1
- # HKdigital's lib-core
2
-
3
- Core library that we use to power up our SvelteKit projects
4
-
5
- This is a library for [SvelteKit](https://svelte.dev/) projects.
6
- It contains common code and components that we use to create our projects.
7
-
8
- ## Status
9
-
10
- **EARLY DEVELOPMENT RELEASE**
11
- This package is incomplete and not fully tested.
12
- Do not use in production environments yet.
13
-
14
- ### TODO
15
-
16
- ## Using the library
17
-
18
- ### Install
19
-
20
- The library can be installed as a normal NPM library.
21
-
22
- ```bash
23
- pnpm add @hkdigital/lib-sveltekit
24
- ```
25
-
26
- #### Tailwind
27
-
28
- Components in this package use [tailwindcss](https://tailwindcss.com/).
29
-
30
- To compile tailwind classes inside this package, you must add the package location to your tailwindcss plugin configuration.
31
-
32
- ```
33
- // tailwind.config.js
34
- export default {
35
- content: [
36
- './node_modules/@hkdigital/**/*.{html,js,svelte,ts}',
37
- './src/**/*.{html,js,svelte,ts}',
38
- ```
39
-
40
- ### Update
41
-
42
- Make sure your project has a script called `upgrade:hk` to upgrade all packages
43
- in the '@hkdigital' namespace.
44
-
45
- ```bash
46
- pnpm upgrade:hk
47
- ```
48
-
49
- ### The package.json scripts:
50
-
51
- ```bash
52
- pnpm add -D npm-check-updates
53
- pnpm add -D npm-check-updates
54
- ```
55
-
56
- ```js
57
- "scripts": {
58
- "upgrade:hk": "run-s upgrade:hk:update pnpm:install",
59
- "upgrade:hk:update": "ncu --dep dev,optional,peer,prod '@hkdigital/*' -u",
60
- "pnpm:install": "pnpm install"
61
- }
62
- ```
63
-
64
-
65
- ### Import JS, Svelte files and Typedefs
66
-
67
- Most subfolders have an index.js that export all functionality and typedefs.
68
-
69
- ```svelte
70
- import { CHAR } from '@hkdigital/lib-sveltekit/constants/regexp/index.js';
71
- ```
72
-
73
- ### Import CSS
74
-
75
- Vite should include postcss-import, but the only solution to get it working for now is to use a relative path to the node_modules folder.
76
-
77
- For example:
78
-
79
- ```css
80
- /* src/app.css */
81
- @import '../node_modules/@hkdigital/lib-sveltekit/dist/css/utilities.css';
82
- ```
83
-
84
- ### Enable tailwind processing
85
-
86
- Allow the tailwind CSS processor to work on the library inside node_modules
87
-
88
- ```js
89
- // tailwind.config.js
90
- export default {
91
- content: [
92
- './node_modules/@hkdigital/**/*.{html,js,svelte,ts}',
93
- './src/**/*.{html,js,svelte,ts}',
94
- ```
95
-
96
- ## Building the library
97
-
98
- To build your library:
99
-
100
- ```bash
101
- npm run package
102
- ```
103
-
104
- ## Building the showcase app
105
-
106
- To create a production version of your showcase app:
107
-
108
- ```bash
109
- npm run build
110
- ```
111
-
112
- You can preview the production build with `npm run preview`.
113
-
114
- > To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
115
-
116
- ## Developing
117
-
118
- To develop this library, clone the repository and install the dependencies, then start the development server of the test runners. Checkout the [package.json](./package.json) file for more details.
119
-
120
- Everything inside `src/lib` is part of the library, everything inside `src/routes` is the showcase app of this library.
121
-
122
- ## Publishing
123
-
124
- The name of this library is `@hkdigital/lib-sveltekit` and it is published on [NPM](https://npmjs.com). You need NPM credentials to publish in the scope `@hkdigital`.
125
-
126
- ```bash
127
- # Manually
128
- npm login
129
- npm version patch
130
- npm publish --access public
131
- ```
132
-
133
- ```bash
134
- # Run `npm version patch && npm publish --access public && git push`
135
- # as specified in package.json
136
- pnpm run publish:npm
137
- ```
138
-
139
- ### Troubleshooting
140
-
141
- #### Running scripts from package.json in Windows
142
-
143
- The CMD terminal in Windows is quite limited. Use the PowerShell instead of some scripts from package.json do not run correctly.
144
-
145
-
146
- ## Contribute
147
-
148
- If your wish to contribute to this library, please contact us [HKdigital](https://hkdigital.nl/contact). Alternatively, the license permits you to fork the library and publish under an alternative name. Don't forget to change the package name in [package.json](./package.json) if you do so.
149
-
1
+ # HKdigital's lib-core
2
+
3
+ Core library that we use to power up our SvelteKit projects
4
+
5
+ This is a library for [SvelteKit](https://svelte.dev/) projects.
6
+ It contains common code and components that we use to create our projects.
7
+
8
+ ## Using the library
9
+
10
+ ### Install
11
+
12
+ The library can be installed as a normal NPM library.
13
+
14
+ ```bash
15
+ pnpm add @hkdigital/lib-core
16
+ ```
17
+
18
+ ### Peer Dependencies
19
+
20
+ This library requires certain peer dependencies depending on which features you use:
21
+
22
+ **For development logging:**
23
+ ```bash
24
+ pnpm add -D pino-pretty
25
+ ```
26
+
27
+ **For Vite config generators with imagetools:**
28
+ ```bash
29
+ pnpm add -D vite-imagetools
30
+ ```
31
+
32
+ #### Tailwind
33
+
34
+ Components in this package use [tailwindcss](https://tailwindcss.com/).
35
+
36
+ To compile tailwind classes inside this package, you must add the package location to your tailwindcss plugin configuration.
37
+
38
+ ```
39
+ // tailwind.config.js
40
+ export default {
41
+ content: [
42
+ './node_modules/@hkdigital/**/*.{html,js,svelte,ts}',
43
+ './src/**/*.{html,js,svelte,ts}',
44
+ ```
45
+
46
+ ### Update
47
+
48
+ Make sure your project has a script called `upgrade:hk` to upgrade all packages
49
+ in the '@hkdigital' namespace.
50
+
51
+ ```bash
52
+ pnpm upgrade:hk
53
+ ```
54
+
55
+ ### The package.json scripts:
56
+
57
+ ```bash
58
+ pnpm add -D npm-check-updates
59
+ pnpm add -D npm-check-updates
60
+ ```
61
+
62
+ ```js
63
+ "scripts": {
64
+ "upgrade:hk": "run-s upgrade:hk:update pnpm:install",
65
+ "upgrade:hk:update": "ncu --dep dev,optional,peer,prod '@hkdigital/*' -u",
66
+ "pnpm:install": "pnpm install"
67
+ }
68
+ ```
69
+
70
+ ### Vite Configuration
71
+
72
+ The library provides configuration generators for Vite that include common HKdigital project settings:
73
+
74
+ ```javascript
75
+ // vite.config.js
76
+ import { defineConfig } from 'vitest/config';
77
+ import { generateViteConfig } from '@hkdigital/lib-core/config/vite.js';
78
+
79
+ export default defineConfig(
80
+ await generateViteConfig({
81
+ enableImagetools: true,
82
+ enableVitest: true
83
+ })
84
+ );
85
+ ```
86
+
87
+ For detailed configuration options, see the [config documentation](./src/lib/config/README.md).
88
+
89
+ ### Import JS, Svelte files and Typedefs
90
+
91
+ Most subfolders have an index.js that export all functionality and typedefs.
92
+
93
+ ```svelte
94
+ import { CHAR } from '@hkdigital/lib-core/constants/regexp/index.js';
95
+ ```
96
+
97
+ ### Import CSS
98
+
99
+ Vite should include postcss-import, but the only solution to get it working for now is to use a relative path to the node_modules folder.
100
+
101
+ For example:
102
+
103
+ ```css
104
+ /* src/app.css */
105
+ @import '../node_modules/@hkdigital/lib-core/dist/css/utilities.css';
106
+ ```
107
+
108
+ ### Enable tailwind processing
109
+
110
+ Allow the tailwind CSS processor to work on the library inside node_modules
111
+
112
+ ```js
113
+ // tailwind.config.js
114
+ export default {
115
+ content: [
116
+ './node_modules/@hkdigital/**/*.{html,js,svelte,ts}',
117
+ './src/**/*.{html,js,svelte,ts}',
118
+ ```
119
+
120
+ ## Building the library
121
+
122
+ To build your library:
123
+
124
+ ```bash
125
+ npm run package
126
+ ```
127
+
128
+ ## Building the showcase app
129
+
130
+ To create a production version of your showcase app:
131
+
132
+ ```bash
133
+ npm run build
134
+ ```
135
+
136
+ You can preview the production build with `npm run preview`.
137
+
138
+ > To deploy your app, you may need to install an [adapter](https://svelte.dev/docs/kit/adapters) for your target environment.
139
+
140
+ ## Developing
141
+
142
+ To develop this library, clone the repository and install the dependencies, then start the development server of the test runners. Checkout the [package.json](./package.json) file for more details.
143
+
144
+ Everything inside `src/lib` is part of the library, everything inside `src/routes` is the showcase app of this library.
145
+
146
+ ## Publishing
147
+
148
+ The name of this library is `@hkdigital/lib-core` and it is published on [NPM](https://npmjs.com). You need NPM credentials to publish in the scope `@hkdigital`.
149
+
150
+ ```bash
151
+ # Manually
152
+ npm login
153
+ npm version patch
154
+ npm publish --access public
155
+ ```
156
+
157
+ ```bash
158
+ # Run `npm version patch && npm publish --access public && git push`
159
+ # as specified in package.json
160
+ pnpm run publish:npm
161
+ ```
162
+
163
+ ### Troubleshooting
164
+
165
+ #### Running scripts from package.json in Windows
166
+
167
+ The CMD terminal in Windows is quite limited. Use the PowerShell instead of some scripts from package.json do not run correctly.
168
+
169
+
170
+ ## Contribute
171
+
172
+ If your wish to contribute to this library, please contact us [HKdigital](https://hkdigital.nl/contact). Alternatively, the license permits you to fork the library and publish under an alternative name. Don't forget to change the package name in [package.json](./package.json) if you do so.
173
+
@@ -1,41 +1,41 @@
1
- import {
2
- LABEL_RUSTY,
3
- LABEL_ARMY_GREEN,
4
- LABEL_ELECTRIC_BLUE,
5
- LABEL_LEMON_YELLOW,
6
- LABEL_OPAQUE_PURPLE,
7
- LABEL_SUNSET_ORANGE,
8
- LABEL_TOMATO_RED
9
- } from './labels.js';
10
-
11
- import Rusty from './car-paint-picker/rusty.jpg?preset=render&responsive';
12
-
13
- import ArmyGreen from './car-paint-picker/army-green.jpg?preset=render&responsive';
14
- import ElectricBlue from './car-paint-picker/electric-blue.jpg?preset=render&responsive';
15
- import LemonYellow from './car-paint-picker/lemon-yellow.jpg?preset=render&responsive';
16
- import OpaquePurple from './car-paint-picker/opaque-purple.jpg?preset=render&responsive';
17
- import SunsetOrange from './car-paint-picker/sunset-orange.jpg?preset=render&responsive';
18
- import TomatoRed from './car-paint-picker/tomato-red.jpg?preset=render&responsive';
19
-
20
- // console.log('ArmyGreen', ArmyGreen);
21
-
22
- export const carPaintImages = {
23
- [LABEL_RUSTY]: Rusty,
24
- [LABEL_ARMY_GREEN]: ArmyGreen,
25
- [LABEL_ELECTRIC_BLUE]: ElectricBlue,
26
- [LABEL_LEMON_YELLOW]: LemonYellow,
27
- [LABEL_OPAQUE_PURPLE]: OpaquePurple,
28
- [LABEL_SUNSET_ORANGE]: SunsetOrange,
29
- [LABEL_TOMATO_RED]: TomatoRed
30
- };
31
-
32
- /* Also export as individual images */
33
- export {
34
- Rusty,
35
- ArmyGreen,
36
- ElectricBlue,
37
- LemonYellow,
38
- OpaquePurple,
39
- SunsetOrange,
40
- TomatoRed
41
- };
1
+ import {
2
+ LABEL_RUSTY,
3
+ LABEL_ARMY_GREEN,
4
+ LABEL_ELECTRIC_BLUE,
5
+ LABEL_LEMON_YELLOW,
6
+ LABEL_OPAQUE_PURPLE,
7
+ LABEL_SUNSET_ORANGE,
8
+ LABEL_TOMATO_RED
9
+ } from './labels.js';
10
+
11
+ import Rusty from './car-paint-picker/rusty.jpg?preset=render&responsive';
12
+
13
+ import ArmyGreen from './car-paint-picker/army-green.jpg?preset=render&responsive';
14
+ import ElectricBlue from './car-paint-picker/electric-blue.jpg?preset=render&responsive';
15
+ import LemonYellow from './car-paint-picker/lemon-yellow.jpg?preset=render&responsive';
16
+ import OpaquePurple from './car-paint-picker/opaque-purple.jpg?preset=render&responsive';
17
+ import SunsetOrange from './car-paint-picker/sunset-orange.jpg?preset=render&responsive';
18
+ import TomatoRed from './car-paint-picker/tomato-red.jpg?preset=render&responsive';
19
+
20
+ // console.log('ArmyGreen', ArmyGreen);
21
+
22
+ export const carPaintImages = {
23
+ [LABEL_RUSTY]: Rusty,
24
+ [LABEL_ARMY_GREEN]: ArmyGreen,
25
+ [LABEL_ELECTRIC_BLUE]: ElectricBlue,
26
+ [LABEL_LEMON_YELLOW]: LemonYellow,
27
+ [LABEL_OPAQUE_PURPLE]: OpaquePurple,
28
+ [LABEL_SUNSET_ORANGE]: SunsetOrange,
29
+ [LABEL_TOMATO_RED]: TomatoRed
30
+ };
31
+
32
+ /* Also export as individual images */
33
+ export {
34
+ Rusty,
35
+ ArmyGreen,
36
+ ElectricBlue,
37
+ LemonYellow,
38
+ OpaquePurple,
39
+ SunsetOrange,
40
+ TomatoRed
41
+ };
@@ -1,7 +1,7 @@
1
- export const LABEL_RUSTY = 'rusty';
2
- export const LABEL_ARMY_GREEN = 'army-green';
3
- export const LABEL_ELECTRIC_BLUE = 'electric-blue';
4
- export const LABEL_LEMON_YELLOW = 'lemon-yellow';
5
- export const LABEL_OPAQUE_PURPLE = 'opaque-purple';
6
- export const LABEL_SUNSET_ORANGE = 'sunset-orange';
7
- export const LABEL_TOMATO_RED = 'tomato-red';
1
+ export const LABEL_RUSTY = 'rusty';
2
+ export const LABEL_ARMY_GREEN = 'army-green';
3
+ export const LABEL_ELECTRIC_BLUE = 'electric-blue';
4
+ export const LABEL_LEMON_YELLOW = 'lemon-yellow';
5
+ export const LABEL_OPAQUE_PURPLE = 'opaque-purple';
6
+ export const LABEL_SUNSET_ORANGE = 'sunset-orange';
7
+ export const LABEL_TOMATO_RED = 'tomato-red';