@hkdigital/lib-sveltekit 0.2.7 → 0.2.8

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 (242) 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 +158 -158
  15. package/dist/classes/logging/constants.js +18 -18
  16. package/dist/classes/logging/index.js +4 -4
  17. package/dist/classes/promise/HkPromise.js +377 -377
  18. package/dist/classes/promise/index.js +1 -1
  19. package/dist/classes/services/ServiceBase.js +409 -409
  20. package/dist/classes/services/ServiceManager.js +1114 -1114
  21. package/dist/classes/services/constants.js +12 -12
  22. package/dist/classes/services/index.js +5 -5
  23. package/dist/classes/stores/SubscribersCount.js +107 -107
  24. package/dist/classes/stores/index.js +1 -1
  25. package/dist/classes/streams/LogTransformStream.js +19 -19
  26. package/dist/classes/streams/ServerEventsStore.js +110 -110
  27. package/dist/classes/streams/TimeStampSource.js +26 -26
  28. package/dist/classes/streams/index.js +3 -3
  29. package/dist/classes/svelte/audio/AudioLoader.svelte.js +58 -58
  30. package/dist/classes/svelte/audio/AudioScene.svelte.js +324 -324
  31. package/dist/classes/svelte/audio/mocks.js +35 -35
  32. package/dist/classes/svelte/finite-state-machine/FiniteStateMachine.svelte.js +133 -133
  33. package/dist/classes/svelte/finite-state-machine/index.js +1 -1
  34. package/dist/classes/svelte/image/ImageLoader.svelte.js +45 -45
  35. package/dist/classes/svelte/image/ImageScene.svelte.js +249 -249
  36. package/dist/classes/svelte/image/ImageVariantsLoader.svelte.js +152 -152
  37. package/dist/classes/svelte/image/index.js +4 -4
  38. package/dist/classes/svelte/image/mocks.js +35 -35
  39. package/dist/classes/svelte/image/typedef.js +8 -8
  40. package/dist/classes/svelte/index.js +14 -14
  41. package/dist/classes/svelte/loading-state-machine/LoadingStateMachine.svelte.js +109 -109
  42. package/dist/classes/svelte/loading-state-machine/constants.js +16 -16
  43. package/dist/classes/svelte/loading-state-machine/index.js +3 -3
  44. package/dist/classes/svelte/network-loader/NetworkLoader.svelte.js +338 -338
  45. package/dist/classes/svelte/network-loader/constants.js +3 -3
  46. package/dist/classes/svelte/network-loader/index.js +3 -3
  47. package/dist/classes/svelte/network-loader/mocks.js +30 -30
  48. package/dist/classes/svelte/network-loader/typedef.js +8 -8
  49. package/dist/components/area/HkArea.svelte +49 -49
  50. package/dist/components/area/HkGridArea.svelte +77 -77
  51. package/dist/components/area/index.js +2 -2
  52. package/dist/components/buttons/button/Button.svelte +82 -82
  53. package/dist/components/buttons/button-icon-steeze/SteezeIconButton.svelte +30 -30
  54. package/dist/components/buttons/button-text/TextButton.svelte +21 -21
  55. package/dist/components/buttons/index.js +3 -3
  56. package/dist/components/debug/debug-panel-design-scaling/DebugPanelDesignScaling.svelte +146 -146
  57. package/dist/components/debug/index.js +1 -1
  58. package/dist/components/drag-drop/DragController.js +44 -44
  59. package/dist/components/drag-drop/DragDropContext.svelte +110 -110
  60. package/dist/components/drag-drop/Draggable.svelte +512 -512
  61. package/dist/components/drag-drop/DropZoneArea.svelte +119 -119
  62. package/dist/components/drag-drop/DropZoneList.svelte +125 -125
  63. package/dist/components/drag-drop/{DropZone.svelte → Dropzone.svelte} +258 -258
  64. package/dist/components/drag-drop/drag-state.svelte.js +319 -319
  65. package/dist/components/drag-drop/index.js +7 -7
  66. package/dist/components/drag-drop/util.js +85 -85
  67. package/dist/components/hkdev/blocks/TextBlock.svelte +46 -46
  68. package/dist/components/hkdev/buttons/CheckButton.svelte +62 -62
  69. package/dist/components/icons/HkIcon.svelte +86 -86
  70. package/dist/components/icons/HkTabIcon.svelte +116 -116
  71. package/dist/components/icons/SteezeIcon.svelte +97 -97
  72. package/dist/components/icons/index.js +6 -6
  73. package/dist/components/icons/typedef.js +16 -16
  74. package/dist/components/index.js +2 -2
  75. package/dist/components/inputs/index.js +1 -1
  76. package/dist/components/inputs/text-input/TestTextInput.svelte__ +102 -102
  77. package/dist/components/inputs/text-input/TextInput.svelte +223 -223
  78. package/dist/components/inputs/text-input/TextInput.svelte___ +83 -83
  79. package/dist/components/inputs/text-input/assets/IconInvalid.svelte +14 -14
  80. package/dist/components/inputs/text-input/assets/IconValid.svelte +12 -12
  81. package/dist/components/layout/grid-layers/GridLayers.svelte +63 -63
  82. package/dist/components/layout/grid-layers/util.js +74 -74
  83. package/dist/components/layout/index.js +1 -1
  84. package/dist/components/panels/index.js +1 -1
  85. package/dist/components/panels/panel/Panel.svelte +43 -43
  86. package/dist/components/rows/index.js +3 -3
  87. package/dist/components/rows/panel-grid-row/PanelGridRow.svelte +104 -104
  88. package/dist/components/rows/panel-row-2/PanelRow2.svelte +40 -40
  89. package/dist/components/tab-bar/HkTabBar.state.svelte.js +149 -149
  90. package/dist/components/tab-bar/HkTabBar.svelte +74 -74
  91. package/dist/components/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
  92. package/dist/components/tab-bar/HkTabBarSelector.svelte +49 -49
  93. package/dist/components/tab-bar/index.js +17 -17
  94. package/dist/components/tab-bar/typedef.js +11 -11
  95. package/dist/config/imagetools-config.js +189 -189
  96. package/dist/config/imagetools.d.ts +72 -72
  97. package/dist/constants/bases.js +13 -13
  98. package/dist/constants/errors/api.js +9 -9
  99. package/dist/constants/errors/generic.js +5 -5
  100. package/dist/constants/errors/index.js +3 -3
  101. package/dist/constants/errors/jwt.js +5 -5
  102. package/dist/constants/http/headers.js +6 -6
  103. package/dist/constants/http/index.js +2 -2
  104. package/dist/constants/http/methods.js +2 -2
  105. package/dist/constants/index.js +3 -3
  106. package/dist/constants/mime/application.js +5 -5
  107. package/dist/constants/mime/audio.js +13 -13
  108. package/dist/constants/mime/image.js +3 -3
  109. package/dist/constants/mime/index.js +4 -4
  110. package/dist/constants/mime/text.js +2 -2
  111. package/dist/constants/regexp/index.js +31 -31
  112. package/dist/constants/regexp/inspiratie.js__ +95 -95
  113. package/dist/constants/regexp/text.js +49 -49
  114. package/dist/constants/regexp/user.js +32 -32
  115. package/dist/constants/regexp/web.js +3 -3
  116. package/dist/constants/state-labels/drag-states.js +6 -6
  117. package/dist/constants/state-labels/drop-states.js +6 -6
  118. package/dist/constants/state-labels/input-states.js +11 -11
  119. package/dist/constants/state-labels/submit-states.js +4 -4
  120. package/dist/constants/time.js +28 -28
  121. package/dist/css/utilities.css +43 -43
  122. package/dist/design/design-config.js +73 -73
  123. package/dist/design/tailwind-theme-extend.js +158 -158
  124. package/dist/features/button-group/ButtonGroup.svelte +82 -82
  125. package/dist/features/button-group/typedef.js +10 -10
  126. package/dist/features/compare-left-right/CompareLeftRight.svelte +179 -179
  127. package/dist/features/compare-left-right/index.js +1 -1
  128. package/dist/features/game-box/GameBox.svelte +577 -577
  129. package/dist/features/game-box/gamebox.util.js +83 -83
  130. package/dist/features/hk-app-layout/HkAppLayout.state.svelte.js +25 -25
  131. package/dist/features/hk-app-layout/HkAppLayout.svelte +251 -251
  132. package/dist/features/image-box/ImageBox.svelte +210 -210
  133. package/dist/features/image-box/index.js +5 -5
  134. package/dist/features/image-box/typedef.js +32 -32
  135. package/dist/features/index.js +23 -23
  136. package/dist/features/presenter/ImageSlide.svelte +64 -64
  137. package/dist/features/presenter/Presenter.state.svelte.js +638 -638
  138. package/dist/features/presenter/Presenter.svelte +142 -142
  139. package/dist/features/presenter/constants.js +7 -7
  140. package/dist/features/presenter/index.js +10 -10
  141. package/dist/features/presenter/typedef.js +106 -106
  142. package/dist/features/presenter/util.js +210 -210
  143. package/dist/features/virtual-viewport/VirtualViewport.svelte +196 -196
  144. package/dist/schemas/index.js +1 -1
  145. package/dist/schemas/validate-url.js +180 -180
  146. package/dist/server/index.js +1 -1
  147. package/dist/server/logger.js +94 -94
  148. package/dist/states/index.js +1 -1
  149. package/dist/states/navigation.svelte.js +55 -55
  150. package/dist/stores/index.js +1 -1
  151. package/dist/stores/theme.js +80 -80
  152. package/dist/themes/hkdev/components/blocks/text-block.css +41 -41
  153. package/dist/themes/hkdev/components/boxes/game-box.css +12 -12
  154. package/dist/themes/hkdev/components/buttons/button-icon-steeze.css +22 -22
  155. package/dist/themes/hkdev/components/buttons/button-text.css +32 -32
  156. package/dist/themes/hkdev/components/buttons/button.css +146 -146
  157. package/dist/themes/hkdev/components/buttons/skip-button.css +6 -6
  158. package/dist/themes/hkdev/components/drag-drop/draggable.css +73 -73
  159. package/dist/themes/hkdev/components/drag-drop/drop-zone.css +48 -48
  160. package/dist/themes/hkdev/components/icons/icon-steeze.css +22 -22
  161. package/dist/themes/hkdev/components/inputs/text-input.css +104 -104
  162. package/dist/themes/hkdev/components/panels/panel.css +27 -27
  163. package/dist/themes/hkdev/components/rows/panel-grid-row.css +6 -6
  164. package/dist/themes/hkdev/components/rows/panel-row-2.css +7 -7
  165. package/dist/themes/hkdev/components.css +53 -53
  166. package/dist/themes/hkdev/debug.css +1 -1
  167. package/dist/themes/hkdev/global/layout.css +39 -39
  168. package/dist/themes/hkdev/global/on-colors.css +53 -53
  169. package/dist/themes/hkdev/globals.css +11 -11
  170. package/dist/themes/hkdev/responsive.css +12 -12
  171. package/dist/themes/hkdev/theme-ext.js +15 -15
  172. package/dist/themes/hkdev/theme.js +235 -235
  173. package/dist/themes/index.js +1 -1
  174. package/dist/typedef/context.js +6 -6
  175. package/dist/typedef/drag.js +25 -25
  176. package/dist/typedef/drop.js +12 -12
  177. package/dist/typedef/image.js +38 -38
  178. package/dist/typedef/index.js +4 -4
  179. package/dist/util/array/index.js +436 -436
  180. package/dist/util/bases/base58.js +262 -262
  181. package/dist/util/bases/index.js +1 -1
  182. package/dist/util/compare/index.js +247 -247
  183. package/dist/util/css/css-vars.js +83 -83
  184. package/dist/util/css/index.js +1 -1
  185. package/dist/util/design-system/components/states.js +22 -22
  186. package/dist/util/design-system/css/clamp.js +66 -66
  187. package/dist/util/design-system/css/root-design-vars.js +102 -102
  188. package/dist/util/design-system/index.js +5 -5
  189. package/dist/util/design-system/layout/scaling.js +228 -228
  190. package/dist/util/design-system/skeleton.js +208 -208
  191. package/dist/util/design-system/tailwind.js +288 -288
  192. package/dist/util/env/index.js +9 -9
  193. package/dist/util/expect/arrays.js +47 -47
  194. package/dist/util/expect/index.js +259 -259
  195. package/dist/util/expect/primitives.js +55 -55
  196. package/dist/util/expect/url.js +60 -60
  197. package/dist/util/function/index.js +218 -218
  198. package/dist/util/geo/index.js +26 -26
  199. package/dist/util/http/caching.js +263 -263
  200. package/dist/util/http/errors.js +97 -97
  201. package/dist/util/http/headers.js +75 -75
  202. package/dist/util/http/http-request.js +379 -379
  203. package/dist/util/http/index.js +22 -22
  204. package/dist/util/http/json-request.js +224 -224
  205. package/dist/util/http/mocks.js +65 -65
  206. package/dist/util/http/response.js +294 -294
  207. package/dist/util/http/typedef.js +93 -93
  208. package/dist/util/http/url.js +52 -52
  209. package/dist/util/image/index.js +86 -86
  210. package/dist/util/index.js +2 -2
  211. package/dist/util/is/index.js +140 -140
  212. package/dist/util/iterate/index.js +234 -234
  213. package/dist/util/object/index.js +1361 -1361
  214. package/dist/util/singleton/index.js +97 -97
  215. package/dist/util/string/array-path.js +75 -75
  216. package/dist/util/string/convert.js +54 -54
  217. package/dist/util/string/fs.js +226 -226
  218. package/dist/util/string/index.js +5 -5
  219. package/dist/util/string/interpolate.js +61 -61
  220. package/dist/util/string/pad.js +10 -10
  221. package/dist/util/svelte/index.js +4 -4
  222. package/dist/util/svelte/loading/loading-tracker.svelte.js +108 -108
  223. package/dist/util/svelte/observe/index.js +49 -49
  224. package/dist/util/svelte/state-context/index.js +117 -117
  225. package/dist/util/svelte/wait/index.js +38 -38
  226. package/dist/util/sveltekit/index.js +1 -1
  227. package/dist/util/sveltekit/route-folders/index.js +101 -101
  228. package/dist/util/time/index.js +323 -323
  229. package/dist/util/unique/index.js +249 -249
  230. package/dist/valibot/date.js__ +10 -10
  231. package/dist/valibot/index.js +9 -9
  232. package/dist/valibot/url.js +95 -95
  233. package/dist/valibot/user.js +23 -23
  234. package/dist/zod/all.js +33 -33
  235. package/dist/zod/generic.js +11 -11
  236. package/dist/zod/javascript.js +32 -32
  237. package/dist/zod/user.js +16 -16
  238. package/dist/zod/web.js +52 -52
  239. package/package.json +112 -112
  240. package/dist/components/drag-drop/drag-state.svelte.js__ +0 -323
  241. package/dist/components/layout/grid-layers/GridLayers.svelte__heightFrom__ +0 -372
  242. 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