@hkdigital/lib-sveltekit 0.2.19 → 0.2.21

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 (256) hide show
  1. package/README.md +135 -135
  2. package/dist/assets/autospuiten/car-paint-picker.js +41 -41
  3. package/dist/assets/autospuiten/labels.js +7 -7
  4. package/dist/classes/cache/IndexedDbCache.js +1407 -1407
  5. package/dist/classes/cache/MemoryResponseCache.js +138 -138
  6. package/dist/classes/cache/index.js +5 -5
  7. package/dist/classes/cache/typedef.js +41 -41
  8. package/dist/classes/data/IterableTree.js +243 -243
  9. package/dist/classes/data/Selector.js +190 -190
  10. package/dist/classes/data/index.js +2 -2
  11. package/dist/classes/events/EventEmitter.js +275 -275
  12. package/dist/classes/events/index.js +2 -2
  13. package/dist/classes/index.js +4 -4
  14. package/dist/classes/logging/Logger.js +210 -210
  15. package/dist/classes/logging/constants.js +16 -16
  16. package/dist/classes/logging/index.js +4 -4
  17. package/dist/classes/logging/typedef.js +17 -17
  18. package/dist/classes/promise/HkPromise.js +377 -377
  19. package/dist/classes/promise/index.js +1 -1
  20. package/dist/classes/services/ServiceBase.js +463 -463
  21. package/dist/classes/services/ServiceManager.js +614 -614
  22. package/dist/classes/services/index.js +5 -5
  23. package/dist/classes/services/service-states.js +205 -205
  24. package/dist/classes/services/typedef.js +179 -179
  25. package/dist/classes/stores/SubscribersCount.js +107 -107
  26. package/dist/classes/stores/index.js +1 -1
  27. package/dist/classes/streams/LogTransformStream.js +19 -19
  28. package/dist/classes/streams/ServerEventsStore.js +110 -110
  29. package/dist/classes/streams/TimeStampSource.js +26 -26
  30. package/dist/classes/streams/index.js +3 -3
  31. package/dist/classes/svelte/audio/AudioLoader.svelte.js +58 -58
  32. package/dist/classes/svelte/audio/AudioScene.svelte.js +324 -324
  33. package/dist/classes/svelte/audio/mocks.js +35 -35
  34. package/dist/classes/svelte/finite-state-machine/FiniteStateMachine.svelte.js +133 -133
  35. package/dist/classes/svelte/finite-state-machine/index.js +1 -1
  36. package/dist/classes/svelte/image/ImageLoader.svelte.js +45 -45
  37. package/dist/classes/svelte/image/ImageScene.svelte.js +249 -249
  38. package/dist/classes/svelte/image/ImageVariantsLoader.svelte.js +152 -152
  39. package/dist/classes/svelte/image/index.js +4 -4
  40. package/dist/classes/svelte/image/mocks.js +35 -35
  41. package/dist/classes/svelte/image/typedef.js +8 -8
  42. package/dist/classes/svelte/index.js +14 -14
  43. package/dist/classes/svelte/loading-state-machine/LoadingStateMachine.svelte.js +109 -109
  44. package/dist/classes/svelte/loading-state-machine/constants.js +16 -16
  45. package/dist/classes/svelte/loading-state-machine/index.js +3 -3
  46. package/dist/classes/svelte/network-loader/NetworkLoader.svelte.js +338 -338
  47. package/dist/classes/svelte/network-loader/constants.js +3 -3
  48. package/dist/classes/svelte/network-loader/index.js +3 -3
  49. package/dist/classes/svelte/network-loader/mocks.js +30 -30
  50. package/dist/classes/svelte/network-loader/typedef.js +8 -8
  51. package/dist/components/area/HkArea.svelte +49 -49
  52. package/dist/components/area/HkGridArea.svelte +77 -77
  53. package/dist/components/area/index.js +2 -2
  54. package/dist/components/buttons/button/Button.svelte +82 -82
  55. package/dist/components/buttons/button-icon-steeze/SteezeIconButton.svelte +30 -30
  56. package/dist/components/buttons/button-text/TextButton.svelte +21 -21
  57. package/dist/components/buttons/index.js +3 -3
  58. package/dist/components/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +146 -146
  59. package/dist/components/debug/index.js +1 -1
  60. package/dist/components/drag-drop/DragController.js +44 -44
  61. package/dist/components/drag-drop/DragDropContext.svelte +111 -111
  62. package/dist/components/drag-drop/Draggable.svelte +519 -519
  63. package/dist/components/drag-drop/DropZoneArea.svelte +119 -119
  64. package/dist/components/drag-drop/DropZoneList.svelte +125 -125
  65. package/dist/components/drag-drop/{DropZone.svelte → Dropzone.svelte} +258 -258
  66. package/dist/components/drag-drop/actions.js +26 -26
  67. package/dist/components/drag-drop/drag-state.svelte.js +322 -322
  68. package/dist/components/drag-drop/index.js +7 -7
  69. package/dist/components/drag-drop/util.js +85 -85
  70. package/dist/components/hkdev/blocks/TextBlock.svelte +46 -46
  71. package/dist/components/hkdev/buttons/CheckButton.svelte +62 -62
  72. package/dist/components/icons/HkIcon.svelte +86 -86
  73. package/dist/components/icons/HkTabIcon.svelte +116 -116
  74. package/dist/components/icons/SteezeIcon.svelte +97 -97
  75. package/dist/components/icons/index.js +6 -6
  76. package/dist/components/icons/typedef.js +16 -16
  77. package/dist/components/index.js +2 -2
  78. package/dist/components/inputs/index.js +1 -1
  79. package/dist/components/inputs/text-input/TestTextInput.svelte__ +102 -102
  80. package/dist/components/inputs/text-input/TextInput.svelte +223 -223
  81. package/dist/components/inputs/text-input/TextInput.svelte___ +83 -83
  82. package/dist/components/inputs/text-input/assets/IconInvalid.svelte +14 -14
  83. package/dist/components/inputs/text-input/assets/IconValid.svelte +12 -12
  84. package/dist/components/layout/grid-layers/GridLayers.svelte +63 -63
  85. package/dist/components/layout/grid-layers/util.js +74 -74
  86. package/dist/components/layout/index.js +1 -1
  87. package/dist/components/panels/index.js +1 -1
  88. package/dist/components/panels/panel/Panel.svelte +43 -43
  89. package/dist/components/rows/index.js +3 -3
  90. package/dist/components/rows/panel-grid-row/PanelGridRow.svelte +104 -104
  91. package/dist/components/rows/panel-row-2/PanelRow2.svelte +40 -40
  92. package/dist/components/tab-bar/HkTabBar.state.svelte.js +149 -149
  93. package/dist/components/tab-bar/HkTabBar.svelte +74 -74
  94. package/dist/components/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
  95. package/dist/components/tab-bar/HkTabBarSelector.svelte +49 -49
  96. package/dist/components/tab-bar/index.js +17 -17
  97. package/dist/components/tab-bar/typedef.js +11 -11
  98. package/dist/config/imagetools-config.js +189 -189
  99. package/dist/config/imagetools.d.ts +72 -72
  100. package/dist/constants/bases.js +13 -13
  101. package/dist/constants/errors/api.js +9 -9
  102. package/dist/constants/errors/generic.js +5 -5
  103. package/dist/constants/errors/index.js +3 -3
  104. package/dist/constants/errors/jwt.js +5 -5
  105. package/dist/constants/http/headers.js +6 -6
  106. package/dist/constants/http/index.js +2 -2
  107. package/dist/constants/http/methods.d.ts +5 -0
  108. package/dist/constants/http/methods.js +14 -2
  109. package/dist/constants/index.js +3 -3
  110. package/dist/constants/mime/application.js +5 -5
  111. package/dist/constants/mime/audio.js +13 -13
  112. package/dist/constants/mime/image.js +3 -3
  113. package/dist/constants/mime/index.js +4 -4
  114. package/dist/constants/mime/text.js +2 -2
  115. package/dist/constants/regexp/index.js +31 -31
  116. package/dist/constants/regexp/inspiratie.js__ +95 -95
  117. package/dist/constants/regexp/text.js +49 -49
  118. package/dist/constants/regexp/user.js +32 -32
  119. package/dist/constants/regexp/web.js +3 -3
  120. package/dist/constants/state-labels/drag-states.js +6 -6
  121. package/dist/constants/state-labels/drop-states.js +6 -6
  122. package/dist/constants/state-labels/input-states.js +11 -11
  123. package/dist/constants/state-labels/submit-states.js +4 -4
  124. package/dist/constants/time.js +28 -28
  125. package/dist/css/utilities.css +43 -43
  126. package/dist/design/design-config.js +73 -73
  127. package/dist/design/tailwind-theme-extend.js +158 -158
  128. package/dist/features/button-group/ButtonGroup.svelte +82 -82
  129. package/dist/features/button-group/typedef.js +10 -10
  130. package/dist/features/compare-left-right/CompareLeftRight.svelte +179 -179
  131. package/dist/features/compare-left-right/index.js +1 -1
  132. package/dist/features/game-box/GameBox.svelte +577 -577
  133. package/dist/features/game-box/gamebox.util.js +83 -83
  134. package/dist/features/hk-app-layout/HkAppLayout.state.svelte.js +25 -25
  135. package/dist/features/hk-app-layout/HkAppLayout.svelte +251 -251
  136. package/dist/features/image-box/ImageBox.svelte +210 -210
  137. package/dist/features/image-box/index.js +5 -5
  138. package/dist/features/image-box/typedef.js +32 -32
  139. package/dist/features/index.js +23 -23
  140. package/dist/features/presenter/ImageSlide.svelte +64 -64
  141. package/dist/features/presenter/Presenter.state.svelte.js +638 -638
  142. package/dist/features/presenter/Presenter.svelte +142 -142
  143. package/dist/features/presenter/constants.js +7 -7
  144. package/dist/features/presenter/index.js +10 -10
  145. package/dist/features/presenter/typedef.js +106 -106
  146. package/dist/features/presenter/util.js +210 -210
  147. package/dist/features/virtual-viewport/VirtualViewport.svelte +196 -196
  148. package/dist/logging/adapters/console.js +114 -114
  149. package/dist/logging/adapters/pino.js +60 -60
  150. package/dist/logging/constants.js +1 -1
  151. package/dist/logging/factories/client.js +21 -21
  152. package/dist/logging/factories/server.js +22 -22
  153. package/dist/logging/factories/universal.js +23 -23
  154. package/dist/logging/index.js +8 -8
  155. package/dist/schemas/index.js +1 -1
  156. package/dist/schemas/validate-url.js +180 -180
  157. package/dist/server/index.js +1 -1
  158. package/dist/server/logger.js +94 -94
  159. package/dist/states/index.js +1 -1
  160. package/dist/states/navigation.svelte.js +55 -55
  161. package/dist/stores/index.js +1 -1
  162. package/dist/stores/theme.js +80 -80
  163. package/dist/themes/hkdev/components/blocks/text-block.css +34 -41
  164. package/dist/themes/hkdev/components/boxes/game-box.css +11 -12
  165. package/dist/themes/hkdev/components/buttons/button-icon-steeze.css +22 -22
  166. package/dist/themes/hkdev/components/buttons/button-text.css +32 -32
  167. package/dist/themes/hkdev/components/buttons/button.css +146 -146
  168. package/dist/themes/hkdev/components/buttons/skip-button.css +5 -6
  169. package/dist/themes/hkdev/components/drag-drop/draggable.css +73 -73
  170. package/dist/themes/hkdev/components/drag-drop/drop-zone.css +58 -48
  171. package/dist/themes/hkdev/components/icons/icon-steeze.css +16 -22
  172. package/dist/themes/hkdev/components/inputs/text-input.css +102 -104
  173. package/dist/themes/hkdev/components/panels/panel.css +25 -27
  174. package/dist/themes/hkdev/components/rows/panel-grid-row.css +4 -6
  175. package/dist/themes/hkdev/components/rows/panel-row-2.css +5 -7
  176. package/dist/themes/hkdev/components.css +29 -53
  177. package/dist/themes/hkdev/debug.css +1 -1
  178. package/dist/themes/hkdev/global/layout.css +32 -39
  179. package/dist/themes/hkdev/global/on-colors.css +32 -53
  180. package/dist/themes/hkdev/globals.css +4 -11
  181. package/dist/themes/hkdev/responsive.css +12 -12
  182. package/dist/themes/hkdev/theme-ext.js +12 -15
  183. package/dist/themes/hkdev/theme.css +219 -0
  184. package/dist/themes/index.d.ts +1 -1
  185. package/dist/themes/index.js +1 -1
  186. package/dist/typedef/context.js +6 -6
  187. package/dist/typedef/drag.js +25 -25
  188. package/dist/typedef/drop.js +12 -12
  189. package/dist/typedef/image.js +38 -38
  190. package/dist/typedef/index.js +4 -4
  191. package/dist/util/array/index.js +436 -436
  192. package/dist/util/bases/base58.js +262 -262
  193. package/dist/util/bases/index.js +1 -1
  194. package/dist/util/compare/index.js +247 -247
  195. package/dist/util/css/css-vars.js +83 -83
  196. package/dist/util/css/index.js +1 -1
  197. package/dist/util/design-system/components/states.js +22 -22
  198. package/dist/util/design-system/css/clamp.js +66 -66
  199. package/dist/util/design-system/css/root-design-vars.js +102 -102
  200. package/dist/util/design-system/index.js +5 -5
  201. package/dist/util/design-system/layout/scaling.js +228 -228
  202. package/dist/util/design-system/skeleton.js +208 -208
  203. package/dist/util/design-system/tailwind.js +288 -288
  204. package/dist/util/env/index.js +9 -9
  205. package/dist/util/expect/arrays.js +47 -47
  206. package/dist/util/expect/index.js +259 -259
  207. package/dist/util/expect/primitives.js +55 -55
  208. package/dist/util/expect/url.js +60 -60
  209. package/dist/util/function/index.js +218 -218
  210. package/dist/util/geo/index.js +26 -26
  211. package/dist/util/http/caching.js +263 -263
  212. package/dist/util/http/errors.js +97 -97
  213. package/dist/util/http/headers.js +75 -75
  214. package/dist/util/http/http-request.d.ts +164 -0
  215. package/dist/util/http/http-request.js +578 -379
  216. package/dist/util/http/index.js +22 -22
  217. package/dist/util/http/json-request.js +224 -224
  218. package/dist/util/http/mocks.js +65 -65
  219. package/dist/util/http/response.js +294 -294
  220. package/dist/util/http/typedef.js +93 -93
  221. package/dist/util/http/url.js +52 -52
  222. package/dist/util/image/index.js +86 -86
  223. package/dist/util/index.js +2 -2
  224. package/dist/util/is/index.js +140 -140
  225. package/dist/util/iterate/index.js +234 -234
  226. package/dist/util/object/index.js +1361 -1361
  227. package/dist/util/singleton/index.js +97 -97
  228. package/dist/util/string/array-path.js +75 -75
  229. package/dist/util/string/convert.js +54 -54
  230. package/dist/util/string/fs.js +226 -226
  231. package/dist/util/string/index.js +5 -5
  232. package/dist/util/string/interpolate.js +61 -61
  233. package/dist/util/string/pad.js +10 -10
  234. package/dist/util/svelte/index.js +4 -4
  235. package/dist/util/svelte/loading/loading-tracker.svelte.js +108 -108
  236. package/dist/util/svelte/observe/index.js +49 -49
  237. package/dist/util/svelte/state-context/index.js +117 -117
  238. package/dist/util/svelte/wait/index.js +38 -38
  239. package/dist/util/sveltekit/index.js +1 -1
  240. package/dist/util/sveltekit/route-folders/index.js +101 -101
  241. package/dist/util/time/index.js +323 -323
  242. package/dist/util/unique/index.js +249 -249
  243. package/dist/valibot/date.js__ +10 -10
  244. package/dist/valibot/index.js +9 -9
  245. package/dist/valibot/url.js +95 -95
  246. package/dist/valibot/user.js +23 -23
  247. package/dist/zod/all.js +33 -33
  248. package/dist/zod/generic.js +11 -11
  249. package/dist/zod/javascript.js +32 -32
  250. package/dist/zod/user.js +16 -16
  251. package/dist/zod/web.js +52 -52
  252. package/package.json +132 -112
  253. package/dist/components/layout/grid-layers/GridLayers.svelte__heightFrom__ +0 -372
  254. package/dist/themes/hkdev/theme.d.ts +0 -234
  255. package/dist/themes/hkdev/theme.js +0 -235
  256. package/dist/util/http/test-data__/content-length-test-hkdigital-small.V4HfZyBQ.avif +0 -0
@@ -1,13 +1,13 @@
1
- export const AUDIO_BASIC = 'audio/basic';
2
- export const AUDIO_MIDI = 'audio/mid';
3
- export const AUDIO_WAV = 'audio/vnd.wav';
4
-
5
- export const AUDIO_MP3 = 'audio/mpeg';
6
- export const AUDIO_MP4 = 'audio/mp4';
7
-
8
- export const AUDIO_AIF = 'audio/x-aiff';
9
- export const AUDIO_AIFC = 'audio/x-aiff';
10
- export const AUDIO_AIFF = 'audio/x-aiff';
11
-
12
- export const AUDIO_M3U = 'audio/x-mpegurl';
13
- export const AUDIO_OGG = 'audio/ogg';
1
+ export const AUDIO_BASIC = 'audio/basic';
2
+ export const AUDIO_MIDI = 'audio/mid';
3
+ export const AUDIO_WAV = 'audio/vnd.wav';
4
+
5
+ export const AUDIO_MP3 = 'audio/mpeg';
6
+ export const AUDIO_MP4 = 'audio/mp4';
7
+
8
+ export const AUDIO_AIF = 'audio/x-aiff';
9
+ export const AUDIO_AIFC = 'audio/x-aiff';
10
+ export const AUDIO_AIFF = 'audio/x-aiff';
11
+
12
+ export const AUDIO_M3U = 'audio/x-mpegurl';
13
+ export const AUDIO_OGG = 'audio/ogg';
@@ -1,3 +1,3 @@
1
- export const IMAGE_PNG = 'image/png';
2
- export const IMAGE_JPEG = 'image/jpeg';
3
- export const IMAGE_WEBP = 'image/webp';
1
+ export const IMAGE_PNG = 'image/png';
2
+ export const IMAGE_JPEG = 'image/jpeg';
3
+ export const IMAGE_WEBP = 'image/webp';
@@ -1,4 +1,4 @@
1
- export * from './application.js';
2
- export * from './audio.js';
3
- export * from './text.js';
4
- export * from './image.js';
1
+ export * from './application.js';
2
+ export * from './audio.js';
3
+ export * from './text.js';
4
+ export * from './image.js';
@@ -1,2 +1,2 @@
1
- export const TEXT_PLAIN = 'text/plain';
2
- export const TEXT_HTML = 'text/html';
1
+ export const TEXT_PLAIN = 'text/plain';
2
+ export const TEXT_HTML = 'text/html';
@@ -1,31 +1,31 @@
1
- /**
2
- * Index file for various regexp categories
3
- *
4
- * @note
5
- * To enable unicode search, use the unicode flag 'u'.
6
- *
7
- * \p and \P are only supported in Unicode-aware mode. In Unicode-unaware mode,
8
- * they are identity escapes for the p or P character.
9
- *
10
- * @note
11
- * To enable unicode symbols that consist of multiple 'code points'(characters),
12
- * such a some emoji, you must use the flag 'v'.
13
- *
14
- * @eg
15
- * const re = new RegExp('^[${Latin_Number}]', 'u');
16
- *
17
- * @eg
18
- * const re = new RegExp('^[${Symbols_Emoji}]', 'v');
19
- *
20
- * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/
21
- * Reference/Regular_expressions/Unicode_character_class_escape
22
- *
23
- * @see https://javascript.info/regexp-unicode
24
- *
25
- * @see https://v8.dev/features/regexp-v-flag
26
- *
27
- * @see https://www.regular-expressions.info/unicode.html
28
- */
29
- export * from './text.js';
30
- export * from './user.js';
31
- export * from './web.js';
1
+ /**
2
+ * Index file for various regexp categories
3
+ *
4
+ * @note
5
+ * To enable unicode search, use the unicode flag 'u'.
6
+ *
7
+ * \p and \P are only supported in Unicode-aware mode. In Unicode-unaware mode,
8
+ * they are identity escapes for the p or P character.
9
+ *
10
+ * @note
11
+ * To enable unicode symbols that consist of multiple 'code points'(characters),
12
+ * such a some emoji, you must use the flag 'v'.
13
+ *
14
+ * @eg
15
+ * const re = new RegExp('^[${Latin_Number}]', 'u');
16
+ *
17
+ * @eg
18
+ * const re = new RegExp('^[${Symbols_Emoji}]', 'v');
19
+ *
20
+ * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/
21
+ * Reference/Regular_expressions/Unicode_character_class_escape
22
+ *
23
+ * @see https://javascript.info/regexp-unicode
24
+ *
25
+ * @see https://v8.dev/features/regexp-v-flag
26
+ *
27
+ * @see https://www.regular-expressions.info/unicode.html
28
+ */
29
+ export * from './text.js';
30
+ export * from './user.js';
31
+ export * from './web.js';
@@ -1,95 +1,95 @@
1
- //
2
- // EXT_LATIN_TOKENS_LC
3
- // - Extended list of latin tokens, works for most latin languages
4
- //
5
- // @note
6
- // Both upper- and lower case extended latin tokens are:
7
- // "ŠŒŽšœžŸñÑÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðòóôõöøùúûüýþÿ"
8
- //
9
- // TODO:
10
- // Replace with unicode property escapes when supported ES2018
11
- // (not yet supported by MS Edge 12)
12
- // https://github.com/tc39/proposal-regexp-unicode-property-escapes
13
- // http://unicode.org/Public/UNIDATA/PropertyValueAliases.txt
14
- // https://www.fileformat.info/info/unicode/category/index.htm
15
- // https://github.com/danielberndt/babel-plugin-utf-8-regex/
16
- // blob/master/src/transformer.js
17
- //
18
- export const EXT_LATIN_TOKENS_LC = 'šœžÿñàáâãäåæçèéêëìíîïðòóôõöøùúûüýþß';
19
-
20
- // RegExp and RegExp part constants
21
-
22
- // TODO:
23
- // regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
24
- // "-~.,`'\"‘’“”„±€$@%&¡¿©®"
25
- // REP_PUNCTUATION = ",.¡!¿?;:-";
26
-
27
- export const C = {
28
- EXT_LATIN_TOKENS_LC,
29
- REP_NUMBER: '0-9',
30
- REP_LETTER_LC: `a-z${EXT_LATIN_TOKENS_LC}`,
31
- REP_LETTER_NUMBER_LC: `0-9a-z${EXT_LATIN_TOKENS_LC}`
32
- };
33
-
34
- export const RE_EMAIL = new RegExp(
35
- '^(([^<>()[\\]\\.,;:\\s@"]+(.[^<>()[\\]\\.,;:\\s@"]+)*)|(".+"))@((([' +
36
- '\\-' +
37
- C.REP_LETTER_NUMBER_LC +
38
- ']+\\.)+[' +
39
- C.REP_LETTER_LC +
40
- ']{2,}))$',
41
- 'i'
42
- );
43
-
44
- // export const RE_URL = << TODO
45
-
46
- export const RE_PHONE =
47
- /(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)/;
48
-
49
- export const RE_POSTCODE_DUTCH = /^[1-9]{1}[0-9]{3} ?[A-Za-z]{2}$/;
50
-
51
- export const RE_PLACE_DUTCH = new RegExp(
52
- "^['`]{0,1}" +
53
- `[${C.REP_LETTER_LC}]{0,}` +
54
- '[-\\s]{0,1}' +
55
- `[${C.REP_LETTER_LC}]{2,}$`,
56
- 'i'
57
- );
58
-
59
- // export const RE_NAME =
60
- // new RegExp( `^[${C.REP_LETTER_LC}\\s-\`']{2,}$`, "i" );
61
-
62
- export const RE_NAME = new RegExp(
63
- `^[${C.REP_LETTER_LC}]{1}` + `[${C.REP_LETTER_LC}\\s-\`'\\.]{0,}$`,
64
- 'i'
65
- );
66
-
67
- export const RE_FANTASY_NAME = new RegExp(
68
- '^[' +
69
- C.REP_LETTER_NUMBER_LC +
70
- "\\x20!@#\\$%\\^&\\*\\(\\)-_+=\\|:;'\"'`~<,>.?/\\\\]{2,}$",
71
- 'i'
72
- );
73
-
74
- export const RE_ADDRESS = new RegExp(
75
- '^[' + C.REP_LETTER_NUMBER_LC + '.,°\\s-]{2,}$',
76
- 'i'
77
- );
78
-
79
- export const RE_HAS_A_LETTER_OR_NUMBER = new RegExp('[a-z0-9]+', 'i');
80
-
81
- export const RE_MULTIPLE_SPACES = new RegExp('[\\s]{2,}', 'g');
82
- // export const RE_MULTIPLE_SPACES = / +/g
83
-
84
- export const RE_LABEL = new RegExp('^[a-z0-9_-]{2,}$');
85
-
86
- export const RE_COLLECTION_NAME = new RegExp('^[a-z0-9\\s-_]{1,}$', 'i');
87
-
88
- export const RE_URI_COMPONENT = new RegExp(
89
- '^[' + C.REP_LETTER_LC + '\\s-_]{1,}$',
90
- 'i'
91
- );
92
-
93
- //
94
- // @see https://usefulshortcuts.com/alt-codes/accents-alt-codes.php
95
- //
1
+ //
2
+ // EXT_LATIN_TOKENS_LC
3
+ // - Extended list of latin tokens, works for most latin languages
4
+ //
5
+ // @note
6
+ // Both upper- and lower case extended latin tokens are:
7
+ // "ŠŒŽšœžŸñÑÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðòóôõöøùúûüýþÿ"
8
+ //
9
+ // TODO:
10
+ // Replace with unicode property escapes when supported ES2018
11
+ // (not yet supported by MS Edge 12)
12
+ // https://github.com/tc39/proposal-regexp-unicode-property-escapes
13
+ // http://unicode.org/Public/UNIDATA/PropertyValueAliases.txt
14
+ // https://www.fileformat.info/info/unicode/category/index.htm
15
+ // https://github.com/danielberndt/babel-plugin-utf-8-regex/
16
+ // blob/master/src/transformer.js
17
+ //
18
+ export const EXT_LATIN_TOKENS_LC = 'šœžÿñàáâãäåæçèéêëìíîïðòóôõöøùúûüýþß';
19
+
20
+ // RegExp and RegExp part constants
21
+
22
+ // TODO:
23
+ // regexAstralSymbols = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
24
+ // "-~.,`'\"‘’“”„±€$@%&¡¿©®"
25
+ // REP_PUNCTUATION = ",.¡!¿?;:-";
26
+
27
+ export const C = {
28
+ EXT_LATIN_TOKENS_LC,
29
+ REP_NUMBER: '0-9',
30
+ REP_LETTER_LC: `a-z${EXT_LATIN_TOKENS_LC}`,
31
+ REP_LETTER_NUMBER_LC: `0-9a-z${EXT_LATIN_TOKENS_LC}`
32
+ };
33
+
34
+ export const RE_EMAIL = new RegExp(
35
+ '^(([^<>()[\\]\\.,;:\\s@"]+(.[^<>()[\\]\\.,;:\\s@"]+)*)|(".+"))@((([' +
36
+ '\\-' +
37
+ C.REP_LETTER_NUMBER_LC +
38
+ ']+\\.)+[' +
39
+ C.REP_LETTER_LC +
40
+ ']{2,}))$',
41
+ 'i'
42
+ );
43
+
44
+ // export const RE_URL = << TODO
45
+
46
+ export const RE_PHONE =
47
+ /(^\+[0-9]{2}|^\+[0-9]{2}\(0\)|^\(\+[0-9]{2}\)\(0\)|^00[0-9]{2}|^0)([0-9]{9}$|[0-9\-\s]{10}$)/;
48
+
49
+ export const RE_POSTCODE_DUTCH = /^[1-9]{1}[0-9]{3} ?[A-Za-z]{2}$/;
50
+
51
+ export const RE_PLACE_DUTCH = new RegExp(
52
+ "^['`]{0,1}" +
53
+ `[${C.REP_LETTER_LC}]{0,}` +
54
+ '[-\\s]{0,1}' +
55
+ `[${C.REP_LETTER_LC}]{2,}$`,
56
+ 'i'
57
+ );
58
+
59
+ // export const RE_NAME =
60
+ // new RegExp( `^[${C.REP_LETTER_LC}\\s-\`']{2,}$`, "i" );
61
+
62
+ export const RE_NAME = new RegExp(
63
+ `^[${C.REP_LETTER_LC}]{1}` + `[${C.REP_LETTER_LC}\\s-\`'\\.]{0,}$`,
64
+ 'i'
65
+ );
66
+
67
+ export const RE_FANTASY_NAME = new RegExp(
68
+ '^[' +
69
+ C.REP_LETTER_NUMBER_LC +
70
+ "\\x20!@#\\$%\\^&\\*\\(\\)-_+=\\|:;'\"'`~<,>.?/\\\\]{2,}$",
71
+ 'i'
72
+ );
73
+
74
+ export const RE_ADDRESS = new RegExp(
75
+ '^[' + C.REP_LETTER_NUMBER_LC + '.,°\\s-]{2,}$',
76
+ 'i'
77
+ );
78
+
79
+ export const RE_HAS_A_LETTER_OR_NUMBER = new RegExp('[a-z0-9]+', 'i');
80
+
81
+ export const RE_MULTIPLE_SPACES = new RegExp('[\\s]{2,}', 'g');
82
+ // export const RE_MULTIPLE_SPACES = / +/g
83
+
84
+ export const RE_LABEL = new RegExp('^[a-z0-9_-]{2,}$');
85
+
86
+ export const RE_COLLECTION_NAME = new RegExp('^[a-z0-9\\s-_]{1,}$', 'i');
87
+
88
+ export const RE_URI_COMPONENT = new RegExp(
89
+ '^[' + C.REP_LETTER_LC + '\\s-_]{1,}$',
90
+ 'i'
91
+ );
92
+
93
+ //
94
+ // @see https://usefulshortcuts.com/alt-codes/accents-alt-codes.php
95
+ //
@@ -1,49 +1,49 @@
1
- /**
2
- * Text related regexp's
3
- *
4
- * Letter (any language): \p{L}
5
- * Letter latin: \p{Script=Latin}
6
- *
7
- * Number (any language): \p{N}
8
- * Number (exclude letter numbers, e.g. roman): \p{Nd}
9
- *
10
- * @example
11
- * import { Latin_Char_Number as lcn } from './latin.js';
12
- * export const User_Username = `^[${lcn}]+${lcn}_-]{1,38}[${lcn}]$`;
13
- *
14
- * const re = new RegExp('^[${Latin_Number}]', 'u');
15
- *
16
- * Emoji:
17
- *
18
- * The v flag enables support
19
- *
20
- * RGI_Emoji in Unicode is defined as “the subset of all valid emoji
21
- * (characters and sequences) recommended for general interchange”.
22
- * With this, we can now match emoji regardless of how many code points
23
- * they consist of under the hood!
24
- *
25
- * @see https://v8.dev/features/regexp-v-flag
26
- *
27
- * Punctuation:
28
- * Puntuation marks are periods, commas, exclamation marks, question marks etc.
29
- * Astral symbols are emoji
30
- *
31
- * @note
32
- * \p{Punctuation} matches a small subset: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
33
- * \p{IsPunctuation} matches a wide subset, including e.g. «, », ¿, ¡, §,
34
- * ¶, ‘, ’, “, ”, and ‽.
35
- *
36
- * @see https://stackoverflow.com/questions/4328500/
37
- * how-can-i-strip-all-punctuation-from-a-string-in-javascript-using-regex
38
- *
39
- * @see https://en.wikipedia.org/
40
- * wiki/Unicode_character_property#General_Category
41
- */
42
-
43
- export const CHAR = '\\p{Script=Latin}';
44
- export const NUMBER = '\\p{Nd}';
45
- export const CHAR_NUMBER = `${CHAR}${NUMBER}`;
46
-
47
- export const EMOJI = '\\p{RGI_Emoji}';
48
- export const PUNCTUATION = '\\p{Punctuation}$+<=>\\^`\\|~';
49
- export const PUNCT = PUNCTUATION;
1
+ /**
2
+ * Text related regexp's
3
+ *
4
+ * Letter (any language): \p{L}
5
+ * Letter latin: \p{Script=Latin}
6
+ *
7
+ * Number (any language): \p{N}
8
+ * Number (exclude letter numbers, e.g. roman): \p{Nd}
9
+ *
10
+ * @example
11
+ * import { Latin_Char_Number as lcn } from './latin.js';
12
+ * export const User_Username = `^[${lcn}]+${lcn}_-]{1,38}[${lcn}]$`;
13
+ *
14
+ * const re = new RegExp('^[${Latin_Number}]', 'u');
15
+ *
16
+ * Emoji:
17
+ *
18
+ * The v flag enables support
19
+ *
20
+ * RGI_Emoji in Unicode is defined as “the subset of all valid emoji
21
+ * (characters and sequences) recommended for general interchange”.
22
+ * With this, we can now match emoji regardless of how many code points
23
+ * they consist of under the hood!
24
+ *
25
+ * @see https://v8.dev/features/regexp-v-flag
26
+ *
27
+ * Punctuation:
28
+ * Puntuation marks are periods, commas, exclamation marks, question marks etc.
29
+ * Astral symbols are emoji
30
+ *
31
+ * @note
32
+ * \p{Punctuation} matches a small subset: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
33
+ * \p{IsPunctuation} matches a wide subset, including e.g. «, », ¿, ¡, §,
34
+ * ¶, ‘, ’, “, ”, and ‽.
35
+ *
36
+ * @see https://stackoverflow.com/questions/4328500/
37
+ * how-can-i-strip-all-punctuation-from-a-string-in-javascript-using-regex
38
+ *
39
+ * @see https://en.wikipedia.org/
40
+ * wiki/Unicode_character_property#General_Category
41
+ */
42
+
43
+ export const CHAR = '\\p{Script=Latin}';
44
+ export const NUMBER = '\\p{Nd}';
45
+ export const CHAR_NUMBER = `${CHAR}${NUMBER}`;
46
+
47
+ export const EMOJI = '\\p{RGI_Emoji}';
48
+ export const PUNCTUATION = '\\p{Punctuation}$+<=>\\^`\\|~';
49
+ export const PUNCT = PUNCTUATION;
@@ -1,33 +1,33 @@
1
- /**
2
- * User related regexps
3
- *
4
- * Inspired by
5
- * @see https://ihateregex.io/expr/username/
6
- * @see https://ihateregex.io/expr/discord-username/
7
- */
8
-
9
- import { NUMBER as N, CHAR, CHAR_NUMBER as CN } from './text.js';
10
-
11
- export const RE_NAME = new RegExp(
12
- `^[${CHAR}]+(([\\s'\\-\\.]{1}|[\\s]{1}[']{0,1})[${CHAR}]+){0,8}$`, 'v'
13
- );
14
-
15
- export const RE_FULLNAME = new RegExp(
16
- `^[${CHAR}]{2,}[\\s][']?[${CHAR}]{1,}([\\s]?['\\-]?[${CHAR}]{1,})*$`, 'v'
17
- );
18
-
19
- export const RE_SURNAME = new RegExp(
20
- `^[']?[${CHAR}]{1,}([\\s]?['\\-]?[${CHAR}]{1,})*$`, 'v'
21
- )
22
-
23
- export const RE_USERNAME = new RegExp(
24
- `^[${CN}]{2,40}([\\-_\\.][${CN}]{1,40}){0,3}([#][${N}]{1,10}){0,1}$`, 'v'
25
- );
26
-
27
- export const RE_EMAIL = new RegExp(
28
- `[^@ \t\r\n]+@[^@ \t\r\n]+\.[^@ \t\r\n]+`, 'v'
29
- );
30
-
31
- export const RE_PHONENUMBER = new RegExp(
32
- `^[\\+]?[\\(]?[0-9]{3}[\\)]?[\\-\\s\\.]?[0-9]{3}[\\-\\s\\.]?[0-9]{4,6}$`, 'v'
1
+ /**
2
+ * User related regexps
3
+ *
4
+ * Inspired by
5
+ * @see https://ihateregex.io/expr/username/
6
+ * @see https://ihateregex.io/expr/discord-username/
7
+ */
8
+
9
+ import { NUMBER as N, CHAR, CHAR_NUMBER as CN } from './text.js';
10
+
11
+ export const RE_NAME = new RegExp(
12
+ `^[${CHAR}]+(([\\s'\\-\\.]{1}|[\\s]{1}[']{0,1})[${CHAR}]+){0,8}$`, 'v'
13
+ );
14
+
15
+ export const RE_FULLNAME = new RegExp(
16
+ `^[${CHAR}]{2,}[\\s][']?[${CHAR}]{1,}([\\s]?['\\-]?[${CHAR}]{1,})*$`, 'v'
17
+ );
18
+
19
+ export const RE_SURNAME = new RegExp(
20
+ `^[']?[${CHAR}]{1,}([\\s]?['\\-]?[${CHAR}]{1,})*$`, 'v'
21
+ )
22
+
23
+ export const RE_USERNAME = new RegExp(
24
+ `^[${CN}]{2,40}([\\-_\\.][${CN}]{1,40}){0,3}([#][${N}]{1,10}){0,1}$`, 'v'
25
+ );
26
+
27
+ export const RE_EMAIL = new RegExp(
28
+ `[^@ \t\r\n]+@[^@ \t\r\n]+\.[^@ \t\r\n]+`, 'v'
29
+ );
30
+
31
+ export const RE_PHONENUMBER = new RegExp(
32
+ `^[\\+]?[\\(]?[0-9]{3}[\\)]?[\\-\\s\\.]?[0-9]{3}[\\-\\s\\.]?[0-9]{4,6}$`, 'v'
33
33
  )
@@ -1,3 +1,3 @@
1
- import { CHAR_NUMBER as CN } from './text.js';
2
-
3
- export const URL_SLUG = `^[${CN}]+([-]{0,1}[${CN}]+)*$`;
1
+ import { CHAR_NUMBER as CN } from './text.js';
2
+
3
+ export const URL_SLUG = `^[${CN}]+([-]{0,1}[${CN}]+)*$`;
@@ -1,6 +1,6 @@
1
- // Draggable states
2
- export const IDLE = 'idle'; // Not being dragged
3
- export const DRAGGING = 'dragging'; // Currently being dragged
4
- export const DRAG_PREVIEW = 'drag-preview'; // Mouse down, before drag
5
- export const DROPPING = 'dropping'; // Just dropped, animating
6
- export const DRAG_DISABLED = 'drag-disabled'; // Dragging not allowed
1
+ // Draggable states
2
+ export const IDLE = 'idle'; // Not being dragged
3
+ export const DRAGGING = 'dragging'; // Currently being dragged
4
+ export const DRAG_PREVIEW = 'drag-preview'; // Mouse down, before drag
5
+ export const DROPPING = 'dropping'; // Just dropped, animating
6
+ export const DRAG_DISABLED = 'drag-disabled'; // Dragging not allowed
@@ -1,6 +1,6 @@
1
- export const READY = 'ready'; // Waiting for drag
2
- export const DRAG_OVER = 'drag-over'; // Item dragged over zone
3
- export const CAN_DROP = 'can-drop'; // Valid drop target
4
- export const CANNOT_DROP = 'cannot-drop'; // Invalid drop target
5
- // export const DROP_DISABLED = 'drop-disabled'; // Dropping not allowed
6
- // export const ACTIVE_DROP = 'active-drop'; // Currently processing drop
1
+ export const READY = 'ready'; // Waiting for drag
2
+ export const DRAG_OVER = 'drag-over'; // Item dragged over zone
3
+ export const CAN_DROP = 'can-drop'; // Valid drop target
4
+ export const CANNOT_DROP = 'cannot-drop'; // Invalid drop target
5
+ // export const DROP_DISABLED = 'drop-disabled'; // Dropping not allowed
6
+ // export const ACTIVE_DROP = 'active-drop'; // Currently processing drop
@@ -1,11 +1,11 @@
1
- export const PRISTINE = 'pristine';
2
- export const DIRTY = 'dirty';
3
-
4
- export const FOCUSED = 'focused';
5
- export const UNFOCUSED = 'unfocused';
6
-
7
- export const VALID = 'valid';
8
- export const INVALID = 'invalid';
9
-
10
- export const REQUIRED = 'required';
11
- export const DISABLED = 'disabled';
1
+ export const PRISTINE = 'pristine';
2
+ export const DIRTY = 'dirty';
3
+
4
+ export const FOCUSED = 'focused';
5
+ export const UNFOCUSED = 'unfocused';
6
+
7
+ export const VALID = 'valid';
8
+ export const INVALID = 'invalid';
9
+
10
+ export const REQUIRED = 'required';
11
+ export const DISABLED = 'disabled';
@@ -1,4 +1,4 @@
1
- export const IDLE = 'idle';
2
- export const SUBMITTING = 'submitting';
3
- export const SUBMIT_OK = 'submit-ok';
4
- export const SUBMIT_FAILED = 'submit-failed';
1
+ export const IDLE = 'idle';
2
+ export const SUBMITTING = 'submitting';
3
+ export const SUBMIT_OK = 'submit-ok';
4
+ export const SUBMIT_FAILED = 'submit-failed';
@@ -1,28 +1,28 @@
1
- // > Units
2
-
3
- export const SECOND_MS = 1000;
4
- export const MINUTE_MS = 60 * SECOND_MS;
5
- export const HOUR_MS = 60 * MINUTE_MS;
6
- export const DAY_MS = 24 * HOUR_MS;
7
- export const WEEK_MS = 7 * DAY_MS;
8
-
9
- // > Fixed length intervals
10
-
11
- export const HOURLY = 'hourly';
12
- export const DAILY = 'daily';
13
- export const WEEKLY = 'weekly';
14
- export const TWO_WEEKLY = 'two-weekly';
15
- export const FOUR_WEEKLY = 'four-weekly';
16
-
17
- export const INTERVALS_MS = {
18
- [HOURLY]: HOUR_MS,
19
- [DAILY]: DAY_MS,
20
- [WEEKLY]: WEEK_MS,
21
- [TWO_WEEKLY]: WEEK_MS * 2,
22
- [FOUR_WEEKLY]: WEEK_MS * 4
23
- };
24
-
25
- // > Offsets
26
-
27
- export const TIME_2025_01_01 = 1577836800000; // 2020-01-01T00:00:00.000Z
28
- // export const TIME_2100_01_01 = 4102444800000; // 2100-01-01T00:00:00.000Z
1
+ // > Units
2
+
3
+ export const SECOND_MS = 1000;
4
+ export const MINUTE_MS = 60 * SECOND_MS;
5
+ export const HOUR_MS = 60 * MINUTE_MS;
6
+ export const DAY_MS = 24 * HOUR_MS;
7
+ export const WEEK_MS = 7 * DAY_MS;
8
+
9
+ // > Fixed length intervals
10
+
11
+ export const HOURLY = 'hourly';
12
+ export const DAILY = 'daily';
13
+ export const WEEKLY = 'weekly';
14
+ export const TWO_WEEKLY = 'two-weekly';
15
+ export const FOUR_WEEKLY = 'four-weekly';
16
+
17
+ export const INTERVALS_MS = {
18
+ [HOURLY]: HOUR_MS,
19
+ [DAILY]: DAY_MS,
20
+ [WEEKLY]: WEEK_MS,
21
+ [TWO_WEEKLY]: WEEK_MS * 2,
22
+ [FOUR_WEEKLY]: WEEK_MS * 4
23
+ };
24
+
25
+ // > Offsets
26
+
27
+ export const TIME_2025_01_01 = 1577836800000; // 2020-01-01T00:00:00.000Z
28
+ // export const TIME_2100_01_01 = 4102444800000; // 2100-01-01T00:00:00.000Z