@hkdigital/lib-sveltekit 0.2.21 → 0.2.22

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 (254) hide show
  1. package/README.md +149 -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/{Dropzone.svelte → DropZone.svelte} +258 -258
  64. package/dist/components/drag-drop/DropZoneArea.svelte +119 -119
  65. package/dist/components/drag-drop/DropZoneList.svelte +125 -125
  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/GridLayers.svelte__heightFrom__ +372 -0
  86. package/dist/components/layout/grid-layers/util.js +74 -74
  87. package/dist/components/layout/index.js +1 -1
  88. package/dist/components/panels/index.js +1 -1
  89. package/dist/components/panels/panel/Panel.svelte +43 -43
  90. package/dist/components/rows/index.js +3 -3
  91. package/dist/components/rows/panel-grid-row/PanelGridRow.svelte +104 -104
  92. package/dist/components/rows/panel-row-2/PanelRow2.svelte +40 -40
  93. package/dist/components/tab-bar/HkTabBar.state.svelte.js +149 -149
  94. package/dist/components/tab-bar/HkTabBar.svelte +74 -74
  95. package/dist/components/tab-bar/HkTabBarSelector.state.svelte.js +93 -93
  96. package/dist/components/tab-bar/HkTabBarSelector.svelte +49 -49
  97. package/dist/components/tab-bar/index.js +17 -17
  98. package/dist/components/tab-bar/typedef.js +11 -11
  99. package/dist/config/imagetools-config.js +189 -189
  100. package/dist/config/imagetools.d.ts +72 -72
  101. package/dist/constants/bases.js +13 -13
  102. package/dist/constants/errors/api.js +9 -9
  103. package/dist/constants/errors/generic.js +5 -5
  104. package/dist/constants/errors/index.js +3 -3
  105. package/dist/constants/errors/jwt.js +5 -5
  106. package/dist/constants/http/headers.js +6 -6
  107. package/dist/constants/http/index.js +2 -2
  108. package/dist/constants/http/methods.js +14 -14
  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 -34
  164. package/dist/themes/hkdev/components/boxes/game-box.css +11 -11
  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 -5
  169. package/dist/themes/hkdev/components/drag-drop/draggable.css +73 -73
  170. package/dist/themes/hkdev/components/drag-drop/drop-zone.css +58 -58
  171. package/dist/themes/hkdev/components/icons/icon-steeze.css +15 -15
  172. package/dist/themes/hkdev/components/inputs/text-input.css +102 -102
  173. package/dist/themes/hkdev/components/panels/panel.css +25 -25
  174. package/dist/themes/hkdev/components/rows/panel-grid-row.css +4 -4
  175. package/dist/themes/hkdev/components/rows/panel-row-2.css +5 -5
  176. package/dist/themes/hkdev/components.css +29 -29
  177. package/dist/themes/hkdev/debug.css +1 -1
  178. package/dist/themes/hkdev/global/layout.css +32 -32
  179. package/dist/themes/hkdev/global/on-colors.css +32 -32
  180. package/dist/themes/hkdev/globals.css +3 -3
  181. package/dist/themes/hkdev/responsive.css +12 -12
  182. package/dist/themes/hkdev/theme-ext.js +12 -12
  183. package/dist/themes/hkdev/theme.css +218 -218
  184. package/dist/themes/index.js +1 -1
  185. package/dist/typedef/context.js +6 -6
  186. package/dist/typedef/drag.js +25 -25
  187. package/dist/typedef/drop.js +12 -12
  188. package/dist/typedef/image.js +38 -38
  189. package/dist/typedef/index.js +4 -4
  190. package/dist/util/array/index.js +436 -436
  191. package/dist/util/bases/base58.js +262 -262
  192. package/dist/util/bases/index.js +1 -1
  193. package/dist/util/compare/index.js +247 -247
  194. package/dist/util/css/css-vars.js +83 -83
  195. package/dist/util/css/index.js +1 -1
  196. package/dist/util/design-system/components/states.js +22 -22
  197. package/dist/util/design-system/css/clamp.js +66 -66
  198. package/dist/util/design-system/css/root-design-vars.js +102 -102
  199. package/dist/util/design-system/index.js +5 -5
  200. package/dist/util/design-system/layout/scaling.js +228 -228
  201. package/dist/util/design-system/skeleton.js +208 -208
  202. package/dist/util/design-system/tailwind.js +288 -288
  203. package/dist/util/env/index.js +9 -9
  204. package/dist/util/exceptions/index.d.ts +11 -0
  205. package/dist/util/exceptions/index.js +17 -0
  206. package/dist/util/expect/arrays.js +47 -47
  207. package/dist/util/expect/index.js +259 -259
  208. package/dist/util/expect/primitives.js +55 -55
  209. package/dist/util/expect/url.js +60 -60
  210. package/dist/util/function/index.js +218 -218
  211. package/dist/util/geo/index.js +26 -26
  212. package/dist/util/http/caching.js +263 -263
  213. package/dist/util/http/errors.js +97 -97
  214. package/dist/util/http/headers.js +75 -75
  215. package/dist/util/http/http-request.js +578 -578
  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/test-data__/content-length-test-hkdigital-small.V4HfZyBQ.avif +0 -0
  221. package/dist/util/http/typedef.js +93 -93
  222. package/dist/util/http/url.js +52 -52
  223. package/dist/util/image/index.js +86 -86
  224. package/dist/util/index.d.ts +1 -0
  225. package/dist/util/index.js +3 -2
  226. package/dist/util/is/index.js +140 -140
  227. package/dist/util/iterate/index.js +234 -234
  228. package/dist/util/object/index.js +1361 -1361
  229. package/dist/util/singleton/index.js +97 -97
  230. package/dist/util/string/array-path.js +75 -75
  231. package/dist/util/string/convert.js +54 -54
  232. package/dist/util/string/fs.js +226 -226
  233. package/dist/util/string/index.js +5 -5
  234. package/dist/util/string/interpolate.js +61 -61
  235. package/dist/util/string/pad.js +10 -10
  236. package/dist/util/svelte/index.js +4 -4
  237. package/dist/util/svelte/loading/loading-tracker.svelte.js +108 -108
  238. package/dist/util/svelte/observe/index.js +49 -49
  239. package/dist/util/svelte/state-context/index.js +117 -117
  240. package/dist/util/svelte/wait/index.js +38 -38
  241. package/dist/util/sveltekit/index.js +1 -1
  242. package/dist/util/sveltekit/route-folders/index.js +101 -101
  243. package/dist/util/time/index.js +323 -323
  244. package/dist/util/unique/index.js +249 -249
  245. package/dist/valibot/date.js__ +10 -10
  246. package/dist/valibot/index.js +9 -9
  247. package/dist/valibot/url.js +95 -95
  248. package/dist/valibot/user.js +23 -23
  249. package/dist/zod/all.js +33 -33
  250. package/dist/zod/generic.js +11 -11
  251. package/dist/zod/javascript.js +32 -32
  252. package/dist/zod/user.js +16 -16
  253. package/dist/zod/web.js +52 -52
  254. package/package.json +133 -132
@@ -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