@helpwave/hightide 0.0.13 → 0.0.15

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 (607) hide show
  1. package/dist/coloring/shading.d.mts +5 -0
  2. package/dist/coloring/shading.d.ts +5 -2
  3. package/dist/coloring/shading.js +80 -38
  4. package/dist/coloring/shading.js.map +1 -0
  5. package/dist/coloring/shading.mjs +47 -0
  6. package/dist/coloring/shading.mjs.map +1 -0
  7. package/dist/coloring/types.d.mts +13 -0
  8. package/dist/coloring/types.d.ts +8 -6
  9. package/dist/coloring/types.js +31 -1
  10. package/dist/coloring/types.js.map +1 -0
  11. package/dist/coloring/types.mjs +6 -0
  12. package/dist/coloring/types.mjs.map +1 -0
  13. package/dist/components/Avatar.d.mts +17 -0
  14. package/dist/components/Avatar.d.ts +9 -6
  15. package/dist/components/Avatar.js +79 -29
  16. package/dist/components/Avatar.js.map +1 -0
  17. package/dist/components/Avatar.mjs +48 -0
  18. package/dist/components/Avatar.mjs.map +1 -0
  19. package/dist/components/AvatarGroup.d.mts +14 -0
  20. package/dist/components/AvatarGroup.d.ts +7 -3
  21. package/dist/components/AvatarGroup.js +117 -12
  22. package/dist/components/AvatarGroup.js.map +1 -0
  23. package/dist/components/AvatarGroup.mjs +81 -0
  24. package/dist/components/AvatarGroup.mjs.map +1 -0
  25. package/dist/components/BreadCrumb.d.mts +19 -0
  26. package/dist/components/BreadCrumb.d.ts +6 -3
  27. package/dist/components/BreadCrumb.js +49 -11
  28. package/dist/components/BreadCrumb.js.map +1 -0
  29. package/dist/components/BreadCrumb.mjs +15 -0
  30. package/dist/components/BreadCrumb.mjs.map +1 -0
  31. package/dist/components/Button.d.mts +44 -0
  32. package/dist/components/Button.d.ts +16 -13
  33. package/dist/components/Button.js +232 -80
  34. package/dist/components/Button.js.map +1 -0
  35. package/dist/components/Button.mjs +198 -0
  36. package/dist/components/Button.mjs.map +1 -0
  37. package/dist/components/ChipList.d.mts +24 -0
  38. package/dist/components/ChipList.d.ts +10 -7
  39. package/dist/components/ChipList.js +103 -36
  40. package/dist/components/ChipList.js.map +1 -0
  41. package/dist/components/ChipList.mjs +69 -0
  42. package/dist/components/ChipList.mjs.map +1 -0
  43. package/dist/components/Circle.d.mts +10 -0
  44. package/dist/components/Circle.d.ts +7 -3
  45. package/dist/components/Circle.js +61 -9
  46. package/dist/components/Circle.js.map +1 -0
  47. package/dist/components/Circle.mjs +27 -0
  48. package/dist/components/Circle.mjs.map +1 -0
  49. package/dist/components/ErrorComponent.d.mts +18 -0
  50. package/dist/components/ErrorComponent.d.ts +9 -4
  51. package/dist/components/ErrorComponent.js +86 -17
  52. package/dist/components/ErrorComponent.js.map +1 -0
  53. package/dist/components/ErrorComponent.mjs +53 -0
  54. package/dist/components/ErrorComponent.mjs.map +1 -0
  55. package/dist/components/Expandable.d.mts +33 -0
  56. package/dist/components/Expandable.d.ts +8 -5
  57. package/dist/components/Expandable.js +79 -15
  58. package/dist/components/Expandable.js.map +1 -0
  59. package/dist/components/Expandable.mjs +45 -0
  60. package/dist/components/Expandable.mjs.map +1 -0
  61. package/dist/components/HelpwaveBadge.d.mts +14 -0
  62. package/dist/components/HelpwaveBadge.d.ts +6 -3
  63. package/dist/components/HelpwaveBadge.js +125 -13
  64. package/dist/components/HelpwaveBadge.js.map +1 -0
  65. package/dist/components/HelpwaveBadge.mjs +91 -0
  66. package/dist/components/HelpwaveBadge.mjs.map +1 -0
  67. package/dist/components/HideableContentSection.d.mts +14 -0
  68. package/dist/components/HideableContentSection.d.ts +7 -3
  69. package/dist/components/HideableContentSection.js +69 -14
  70. package/dist/components/HideableContentSection.js.map +1 -0
  71. package/dist/components/HideableContentSection.mjs +35 -0
  72. package/dist/components/HideableContentSection.mjs.map +1 -0
  73. package/dist/components/InputGroup.d.mts +17 -0
  74. package/dist/components/InputGroup.d.ts +7 -3
  75. package/dist/components/InputGroup.js +96 -32
  76. package/dist/components/InputGroup.js.map +1 -0
  77. package/dist/components/InputGroup.mjs +62 -0
  78. package/dist/components/InputGroup.mjs.map +1 -0
  79. package/dist/components/LoadingAndErrorComponent.d.mts +24 -0
  80. package/dist/components/LoadingAndErrorComponent.d.ts +12 -5
  81. package/dist/components/LoadingAndErrorComponent.js +178 -23
  82. package/dist/components/LoadingAndErrorComponent.js.map +1 -0
  83. package/dist/components/LoadingAndErrorComponent.mjs +145 -0
  84. package/dist/components/LoadingAndErrorComponent.mjs.map +1 -0
  85. package/dist/components/LoadingAnimation.d.mts +18 -0
  86. package/dist/components/LoadingAnimation.d.ts +9 -4
  87. package/dist/components/LoadingAnimation.js +124 -16
  88. package/dist/components/LoadingAnimation.js.map +1 -0
  89. package/dist/components/LoadingAnimation.mjs +90 -0
  90. package/dist/components/LoadingAnimation.mjs.map +1 -0
  91. package/dist/components/LoadingButton.d.mts +10 -0
  92. package/dist/components/LoadingButton.d.ts +7 -3
  93. package/dist/components/LoadingButton.js +169 -9
  94. package/dist/components/LoadingButton.js.map +1 -0
  95. package/dist/components/LoadingButton.mjs +135 -0
  96. package/dist/components/LoadingButton.mjs.map +1 -0
  97. package/dist/components/MarkdownInterpreter.d.mts +28 -0
  98. package/dist/components/MarkdownInterpreter.d.ts +8 -5
  99. package/dist/components/MarkdownInterpreter.js +246 -175
  100. package/dist/components/MarkdownInterpreter.js.map +1 -0
  101. package/dist/components/MarkdownInterpreter.mjs +235 -0
  102. package/dist/components/MarkdownInterpreter.mjs.map +1 -0
  103. package/dist/components/Pagination.d.mts +19 -0
  104. package/dist/components/Pagination.d.ts +9 -4
  105. package/dist/components/Pagination.js +100 -23
  106. package/dist/components/Pagination.js.map +1 -0
  107. package/dist/components/Pagination.mjs +67 -0
  108. package/dist/components/Pagination.mjs.map +1 -0
  109. package/dist/components/Profile.d.mts +31 -0
  110. package/dist/components/Profile.d.ts +8 -5
  111. package/dist/components/Profile.js +194 -42
  112. package/dist/components/Profile.js.map +1 -0
  113. package/dist/components/Profile.mjs +162 -0
  114. package/dist/components/Profile.mjs.map +1 -0
  115. package/dist/components/ProgressIndicator.d.mts +24 -0
  116. package/dist/components/ProgressIndicator.d.ts +6 -3
  117. package/dist/components/ProgressIndicator.js +82 -22
  118. package/dist/components/ProgressIndicator.js.map +1 -0
  119. package/dist/components/ProgressIndicator.mjs +59 -0
  120. package/dist/components/ProgressIndicator.mjs.map +1 -0
  121. package/dist/components/Ring.d.mts +35 -0
  122. package/dist/components/Ring.d.ts +13 -9
  123. package/dist/components/Ring.js +331 -107
  124. package/dist/components/Ring.js.map +1 -0
  125. package/dist/components/Ring.mjs +299 -0
  126. package/dist/components/Ring.mjs.map +1 -0
  127. package/dist/components/SearchableList.d.mts +22 -0
  128. package/dist/components/SearchableList.d.ts +9 -5
  129. package/dist/components/SearchableList.js +268 -24
  130. package/dist/components/SearchableList.js.map +1 -0
  131. package/dist/components/SearchableList.mjs +241 -0
  132. package/dist/components/SearchableList.mjs.map +1 -0
  133. package/dist/components/SortButton.d.mts +15 -0
  134. package/dist/components/SortButton.d.ts +9 -4
  135. package/dist/components/SortButton.js +131 -8
  136. package/dist/components/SortButton.js.map +1 -0
  137. package/dist/components/SortButton.mjs +97 -0
  138. package/dist/components/SortButton.mjs.map +1 -0
  139. package/dist/components/Span.d.mts +2 -0
  140. package/dist/components/Span.d.ts +2 -0
  141. package/dist/components/Span.js +1 -0
  142. package/dist/components/Span.js.map +1 -0
  143. package/dist/components/Span.mjs +1 -0
  144. package/dist/components/Span.mjs.map +1 -0
  145. package/dist/components/StepperBar.d.mts +28 -0
  146. package/dist/components/StepperBar.d.ts +10 -5
  147. package/dist/components/StepperBar.js +248 -44
  148. package/dist/components/StepperBar.js.map +1 -0
  149. package/dist/components/StepperBar.mjs +216 -0
  150. package/dist/components/StepperBar.mjs.map +1 -0
  151. package/dist/components/Table.d.mts +90 -0
  152. package/dist/components/Table.d.ts +20 -17
  153. package/dist/components/Table.js +396 -170
  154. package/dist/components/Table.js.map +1 -0
  155. package/dist/components/Table.mjs +370 -0
  156. package/dist/components/Table.mjs.map +1 -0
  157. package/dist/components/TechRadar.d.mts +39 -0
  158. package/dist/components/TechRadar.d.ts +5 -2
  159. package/dist/components/TechRadar.js +241 -189
  160. package/dist/components/TechRadar.js.map +1 -0
  161. package/dist/components/TechRadar.mjs +208 -0
  162. package/dist/components/TechRadar.mjs.map +1 -0
  163. package/dist/components/TextImage.d.mts +25 -0
  164. package/dist/components/TextImage.d.ts +9 -4
  165. package/dist/components/TextImage.js +121 -29
  166. package/dist/components/TextImage.js.map +1 -0
  167. package/dist/components/TextImage.mjs +86 -0
  168. package/dist/components/TextImage.mjs.map +1 -0
  169. package/dist/components/TimeDisplay.d.mts +35 -0
  170. package/dist/components/TimeDisplay.d.ts +8 -3
  171. package/dist/components/TimeDisplay.js +134 -81
  172. package/dist/components/TimeDisplay.js.map +1 -0
  173. package/dist/components/TimeDisplay.mjs +109 -0
  174. package/dist/components/TimeDisplay.mjs.map +1 -0
  175. package/dist/components/Tooltip.d.mts +37 -0
  176. package/dist/components/Tooltip.d.ts +7 -4
  177. package/dist/components/Tooltip.js +135 -37
  178. package/dist/components/Tooltip.js.map +1 -0
  179. package/dist/components/Tooltip.mjs +109 -0
  180. package/dist/components/Tooltip.mjs.map +1 -0
  181. package/dist/components/VerticalDivider.d.mts +15 -0
  182. package/dist/components/VerticalDivider.d.ts +6 -2
  183. package/dist/components/VerticalDivider.js +80 -6
  184. package/dist/components/VerticalDivider.js.map +1 -0
  185. package/dist/components/VerticalDivider.mjs +56 -0
  186. package/dist/components/VerticalDivider.mjs.map +1 -0
  187. package/dist/components/date/DatePicker.d.mts +32 -0
  188. package/dist/components/date/DatePicker.d.ts +13 -7
  189. package/dist/components/date/DatePicker.js +624 -55
  190. package/dist/components/date/DatePicker.js.map +1 -0
  191. package/dist/components/date/DatePicker.mjs +591 -0
  192. package/dist/components/date/DatePicker.mjs.map +1 -0
  193. package/dist/components/date/DayPicker.d.mts +20 -0
  194. package/dist/components/date/DayPicker.d.ts +8 -4
  195. package/dist/components/date/DayPicker.js +232 -36
  196. package/dist/components/date/DayPicker.js.map +1 -0
  197. package/dist/components/date/DayPicker.mjs +195 -0
  198. package/dist/components/date/DayPicker.mjs.map +1 -0
  199. package/dist/components/date/TimePicker.d.mts +15 -0
  200. package/dist/components/date/TimePicker.d.ts +7 -4
  201. package/dist/components/date/TimePicker.js +196 -75
  202. package/dist/components/date/TimePicker.js.map +1 -0
  203. package/dist/components/date/TimePicker.mjs +164 -0
  204. package/dist/components/date/TimePicker.mjs.map +1 -0
  205. package/dist/components/date/YearMonthPicker.d.mts +15 -0
  206. package/dist/components/date/YearMonthPicker.d.ts +7 -3
  207. package/dist/components/date/YearMonthPicker.js +281 -57
  208. package/dist/components/date/YearMonthPicker.js.map +1 -0
  209. package/dist/components/date/YearMonthPicker.mjs +247 -0
  210. package/dist/components/date/YearMonthPicker.mjs.map +1 -0
  211. package/dist/components/examples/InputGroupExample.d.mts +11 -0
  212. package/dist/components/examples/InputGroupExample.d.ts +8 -3
  213. package/dist/components/examples/InputGroupExample.js +465 -20
  214. package/dist/components/examples/InputGroupExample.js.map +1 -0
  215. package/dist/components/examples/InputGroupExample.mjs +436 -0
  216. package/dist/components/examples/InputGroupExample.mjs.map +1 -0
  217. package/dist/components/examples/MultiSelectExample.d.mts +14 -0
  218. package/dist/components/examples/MultiSelectExample.d.ts +10 -3
  219. package/dist/components/examples/MultiSelectExample.js +659 -25
  220. package/dist/components/examples/MultiSelectExample.js.map +1 -0
  221. package/dist/components/examples/MultiSelectExample.mjs +631 -0
  222. package/dist/components/examples/MultiSelectExample.mjs.map +1 -0
  223. package/dist/components/examples/SearchableSelectExample.d.mts +13 -0
  224. package/dist/components/examples/SearchableSelectExample.d.ts +10 -3
  225. package/dist/components/examples/SearchableSelectExample.js +364 -16
  226. package/dist/components/examples/SearchableSelectExample.js.map +1 -0
  227. package/dist/components/examples/SearchableSelectExample.mjs +335 -0
  228. package/dist/components/examples/SearchableSelectExample.mjs.map +1 -0
  229. package/dist/components/examples/SelectExample.d.mts +9 -0
  230. package/dist/components/examples/SelectExample.d.ts +8 -3
  231. package/dist/components/examples/SelectExample.js +178 -13
  232. package/dist/components/examples/SelectExample.js.map +1 -0
  233. package/dist/components/examples/SelectExample.mjs +145 -0
  234. package/dist/components/examples/SelectExample.mjs.map +1 -0
  235. package/dist/components/examples/StackingModals.d.mts +8 -0
  236. package/dist/components/examples/StackingModals.d.ts +5 -1
  237. package/dist/components/examples/StackingModals.js +497 -14
  238. package/dist/components/examples/StackingModals.js.map +1 -0
  239. package/dist/components/examples/StackingModals.mjs +463 -0
  240. package/dist/components/examples/StackingModals.mjs.map +1 -0
  241. package/dist/components/examples/TableExample.d.mts +13 -0
  242. package/dist/components/examples/TableExample.d.ts +9 -5
  243. package/dist/components/examples/TableExample.js +850 -89
  244. package/dist/components/examples/TableExample.js.map +1 -0
  245. package/dist/components/examples/TableExample.mjs +823 -0
  246. package/dist/components/examples/TableExample.mjs.map +1 -0
  247. package/dist/components/examples/TextareaExample.d.mts +12 -0
  248. package/dist/components/examples/TextareaExample.d.ts +9 -3
  249. package/dist/components/examples/TextareaExample.js +175 -9
  250. package/dist/components/examples/TextareaExample.js.map +1 -0
  251. package/dist/components/examples/TextareaExample.mjs +141 -0
  252. package/dist/components/examples/TextareaExample.mjs.map +1 -0
  253. package/dist/components/examples/TileExample.d.mts +14 -0
  254. package/dist/components/examples/TileExample.d.ts +8 -3
  255. package/dist/components/examples/TileExample.js +78 -8
  256. package/dist/components/examples/TileExample.js.map +1 -0
  257. package/dist/components/examples/TileExample.mjs +44 -0
  258. package/dist/components/examples/TileExample.mjs.map +1 -0
  259. package/dist/components/examples/Title.d.mts +2 -0
  260. package/dist/components/examples/Title.d.ts +2 -0
  261. package/dist/components/examples/Title.js +1 -0
  262. package/dist/components/examples/Title.js.map +1 -0
  263. package/dist/components/examples/Title.mjs +1 -0
  264. package/dist/components/examples/Title.mjs.map +1 -0
  265. package/dist/components/examples/date/DateTimePickerExample.d.mts +18 -0
  266. package/dist/components/examples/date/DateTimePickerExample.d.ts +15 -7
  267. package/dist/components/examples/date/DateTimePickerExample.js +877 -19
  268. package/dist/components/examples/date/DateTimePickerExample.js.map +1 -0
  269. package/dist/components/examples/date/DateTimePickerExample.mjs +844 -0
  270. package/dist/components/examples/date/DateTimePickerExample.mjs.map +1 -0
  271. package/dist/components/examples/properties/CheckboxPropertyExample.d.mts +16 -0
  272. package/dist/components/examples/properties/CheckboxPropertyExample.d.ts +11 -3
  273. package/dist/components/examples/properties/CheckboxPropertyExample.js +348 -12
  274. package/dist/components/examples/properties/CheckboxPropertyExample.js.map +1 -0
  275. package/dist/components/examples/properties/CheckboxPropertyExample.mjs +314 -0
  276. package/dist/components/examples/properties/CheckboxPropertyExample.mjs.map +1 -0
  277. package/dist/components/examples/properties/DatePropertyExample.d.mts +16 -0
  278. package/dist/components/examples/properties/DatePropertyExample.d.ts +11 -3
  279. package/dist/components/examples/properties/DatePropertyExample.js +459 -22
  280. package/dist/components/examples/properties/DatePropertyExample.js.map +1 -0
  281. package/dist/components/examples/properties/DatePropertyExample.mjs +430 -0
  282. package/dist/components/examples/properties/DatePropertyExample.mjs.map +1 -0
  283. package/dist/components/examples/properties/MultiSelectPropertyExample.d.mts +18 -0
  284. package/dist/components/examples/properties/MultiSelectPropertyExample.d.ts +13 -3
  285. package/dist/components/examples/properties/MultiSelectPropertyExample.js +847 -15
  286. package/dist/components/examples/properties/MultiSelectPropertyExample.js.map +1 -0
  287. package/dist/components/examples/properties/MultiSelectPropertyExample.mjs +818 -0
  288. package/dist/components/examples/properties/MultiSelectPropertyExample.mjs.map +1 -0
  289. package/dist/components/examples/properties/NumberPropertyExample.d.mts +14 -0
  290. package/dist/components/examples/properties/NumberPropertyExample.d.ts +11 -3
  291. package/dist/components/examples/properties/NumberPropertyExample.js +455 -12
  292. package/dist/components/examples/properties/NumberPropertyExample.js.map +1 -0
  293. package/dist/components/examples/properties/NumberPropertyExample.mjs +426 -0
  294. package/dist/components/examples/properties/NumberPropertyExample.mjs.map +1 -0
  295. package/dist/components/examples/properties/SelectPropertyExample.d.mts +17 -0
  296. package/dist/components/examples/properties/SelectPropertyExample.d.ts +14 -3
  297. package/dist/components/examples/properties/SelectPropertyExample.js +582 -16
  298. package/dist/components/examples/properties/SelectPropertyExample.js.map +1 -0
  299. package/dist/components/examples/properties/SelectPropertyExample.mjs +554 -0
  300. package/dist/components/examples/properties/SelectPropertyExample.mjs.map +1 -0
  301. package/dist/components/examples/properties/TextPropertyExample.d.mts +16 -0
  302. package/dist/components/examples/properties/TextPropertyExample.d.ts +11 -3
  303. package/dist/components/examples/properties/TextPropertyExample.js +404 -12
  304. package/dist/components/examples/properties/TextPropertyExample.js.map +1 -0
  305. package/dist/components/examples/properties/TextPropertyExample.mjs +370 -0
  306. package/dist/components/examples/properties/TextPropertyExample.mjs.map +1 -0
  307. package/dist/components/icons/Helpwave.d.mts +14 -0
  308. package/dist/components/icons/Helpwave.d.ts +7 -3
  309. package/dist/components/icons/Helpwave.js +66 -18
  310. package/dist/components/icons/Helpwave.js.map +1 -0
  311. package/dist/components/icons/Helpwave.mjs +43 -0
  312. package/dist/components/icons/Helpwave.mjs.map +1 -0
  313. package/dist/components/icons/Tag.d.mts +14 -0
  314. package/dist/components/icons/Tag.d.ts +7 -3
  315. package/dist/components/icons/Tag.js +59 -11
  316. package/dist/components/icons/Tag.js.map +1 -0
  317. package/dist/components/icons/Tag.mjs +25 -0
  318. package/dist/components/icons/Tag.mjs.map +1 -0
  319. package/dist/components/layout/Carousel.d.mts +25 -0
  320. package/dist/components/layout/Carousel.d.ts +6 -3
  321. package/dist/components/layout/Carousel.js +477 -226
  322. package/dist/components/layout/Carousel.js.map +1 -0
  323. package/dist/components/layout/Carousel.mjs +449 -0
  324. package/dist/components/layout/Carousel.mjs.map +1 -0
  325. package/dist/components/layout/DividerInserter.d.mts +15 -0
  326. package/dist/components/layout/DividerInserter.d.ts +7 -3
  327. package/dist/components/layout/DividerInserter.js +58 -18
  328. package/dist/components/layout/DividerInserter.js.map +1 -0
  329. package/dist/components/layout/DividerInserter.mjs +25 -0
  330. package/dist/components/layout/DividerInserter.mjs.map +1 -0
  331. package/dist/components/layout/FAQSection.d.mts +26 -0
  332. package/dist/components/layout/FAQSection.d.ts +9 -6
  333. package/dist/components/layout/FAQSection.js +336 -13
  334. package/dist/components/layout/FAQSection.js.map +1 -0
  335. package/dist/components/layout/FAQSection.mjs +302 -0
  336. package/dist/components/layout/FAQSection.mjs.map +1 -0
  337. package/dist/components/layout/Tile.d.mts +37 -0
  338. package/dist/components/layout/Tile.d.ts +9 -6
  339. package/dist/components/layout/Tile.js +76 -16
  340. package/dist/components/layout/Tile.js.map +1 -0
  341. package/dist/components/layout/Tile.mjs +42 -0
  342. package/dist/components/layout/Tile.mjs.map +1 -0
  343. package/dist/components/modals/ConfirmDialog.d.mts +38 -0
  344. package/dist/components/modals/ConfirmDialog.d.ts +13 -9
  345. package/dist/components/modals/ConfirmDialog.js +422 -28
  346. package/dist/components/modals/ConfirmDialog.js.map +1 -0
  347. package/dist/components/modals/ConfirmDialog.mjs +388 -0
  348. package/dist/components/modals/ConfirmDialog.mjs.map +1 -0
  349. package/dist/components/modals/DiscardChangesDialog.d.mts +23 -0
  350. package/dist/components/modals/DiscardChangesDialog.d.ts +9 -5
  351. package/dist/components/modals/DiscardChangesDialog.js +406 -23
  352. package/dist/components/modals/DiscardChangesDialog.js.map +1 -0
  353. package/dist/components/modals/DiscardChangesDialog.mjs +370 -0
  354. package/dist/components/modals/DiscardChangesDialog.mjs.map +1 -0
  355. package/dist/components/modals/InputModal.d.mts +19 -0
  356. package/dist/components/modals/InputModal.d.ts +14 -4
  357. package/dist/components/modals/InputModal.js +598 -8
  358. package/dist/components/modals/InputModal.js.map +1 -0
  359. package/dist/components/modals/InputModal.mjs +567 -0
  360. package/dist/components/modals/InputModal.mjs.map +1 -0
  361. package/dist/components/modals/LanguageModal.d.mts +21 -0
  362. package/dist/components/modals/LanguageModal.d.ts +9 -5
  363. package/dist/components/modals/LanguageModal.js +524 -33
  364. package/dist/components/modals/LanguageModal.js.map +1 -0
  365. package/dist/components/modals/LanguageModal.mjs +489 -0
  366. package/dist/components/modals/LanguageModal.mjs.map +1 -0
  367. package/dist/components/modals/Modal.d.mts +43 -0
  368. package/dist/components/modals/Modal.d.ts +13 -8
  369. package/dist/components/modals/Modal.js +280 -51
  370. package/dist/components/modals/Modal.js.map +1 -0
  371. package/dist/components/modals/Modal.mjs +249 -0
  372. package/dist/components/modals/Modal.mjs.map +1 -0
  373. package/dist/components/modals/ModalRegister.d.mts +16 -0
  374. package/dist/components/modals/ModalRegister.d.ts +9 -4
  375. package/dist/components/modals/ModalRegister.js +61 -26
  376. package/dist/components/modals/ModalRegister.js.map +1 -0
  377. package/dist/components/modals/ModalRegister.mjs +37 -0
  378. package/dist/components/modals/ModalRegister.mjs.map +1 -0
  379. package/dist/components/properties/CheckboxProperty.d.mts +20 -0
  380. package/dist/components/properties/CheckboxProperty.d.ts +10 -5
  381. package/dist/components/properties/CheckboxProperty.js +323 -24
  382. package/dist/components/properties/CheckboxProperty.js.map +1 -0
  383. package/dist/components/properties/CheckboxProperty.mjs +291 -0
  384. package/dist/components/properties/CheckboxProperty.mjs.map +1 -0
  385. package/dist/components/properties/DateProperty.d.mts +18 -0
  386. package/dist/components/properties/DateProperty.d.ts +10 -3
  387. package/dist/components/properties/DateProperty.js +422 -21
  388. package/dist/components/properties/DateProperty.js.map +1 -0
  389. package/dist/components/properties/DateProperty.mjs +393 -0
  390. package/dist/components/properties/DateProperty.mjs.map +1 -0
  391. package/dist/components/properties/MultiSelectProperty.d.mts +18 -0
  392. package/dist/components/properties/MultiSelectProperty.d.ts +12 -6
  393. package/dist/components/properties/MultiSelectProperty.js +815 -31
  394. package/dist/components/properties/MultiSelectProperty.js.map +1 -0
  395. package/dist/components/properties/MultiSelectProperty.mjs +787 -0
  396. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -0
  397. package/dist/components/properties/NumberProperty.d.mts +21 -0
  398. package/dist/components/properties/NumberProperty.d.ts +10 -5
  399. package/dist/components/properties/NumberProperty.js +429 -39
  400. package/dist/components/properties/NumberProperty.js.map +1 -0
  401. package/dist/components/properties/NumberProperty.mjs +402 -0
  402. package/dist/components/properties/NumberProperty.mjs.map +1 -0
  403. package/dist/components/properties/PropertyBase.d.mts +27 -0
  404. package/dist/components/properties/PropertyBase.d.ts +9 -5
  405. package/dist/components/properties/PropertyBase.js +194 -24
  406. package/dist/components/properties/PropertyBase.js.map +1 -0
  407. package/dist/components/properties/PropertyBase.mjs +162 -0
  408. package/dist/components/properties/PropertyBase.mjs.map +1 -0
  409. package/dist/components/properties/SelectProperty.d.mts +19 -0
  410. package/dist/components/properties/SelectProperty.d.ts +13 -6
  411. package/dist/components/properties/SelectProperty.js +547 -19
  412. package/dist/components/properties/SelectProperty.js.map +1 -0
  413. package/dist/components/properties/SelectProperty.mjs +520 -0
  414. package/dist/components/properties/SelectProperty.mjs.map +1 -0
  415. package/dist/components/properties/TextProperty.d.mts +20 -0
  416. package/dist/components/properties/TextProperty.d.ts +10 -5
  417. package/dist/components/properties/TextProperty.js +378 -34
  418. package/dist/components/properties/TextProperty.js.map +1 -0
  419. package/dist/components/properties/TextProperty.mjs +346 -0
  420. package/dist/components/properties/TextProperty.mjs.map +1 -0
  421. package/dist/components/user-input/Checkbox.d.mts +41 -0
  422. package/dist/components/user-input/Checkbox.d.ts +9 -5
  423. package/dist/components/user-input/Checkbox.js +148 -63
  424. package/dist/components/user-input/Checkbox.js.map +1 -0
  425. package/dist/components/user-input/Checkbox.mjs +112 -0
  426. package/dist/components/user-input/Checkbox.mjs.map +1 -0
  427. package/dist/components/user-input/DateAndTimePicker.d.mts +47 -0
  428. package/dist/components/user-input/DateAndTimePicker.d.ts +15 -7
  429. package/dist/components/user-input/DateAndTimePicker.js +831 -60
  430. package/dist/components/user-input/DateAndTimePicker.js.map +1 -0
  431. package/dist/components/user-input/DateAndTimePicker.mjs +801 -0
  432. package/dist/components/user-input/DateAndTimePicker.mjs.map +1 -0
  433. package/dist/components/user-input/Input.d.mts +64 -0
  434. package/dist/components/user-input/Input.d.ts +12 -9
  435. package/dist/components/user-input/Input.js +219 -57
  436. package/dist/components/user-input/Input.js.map +1 -0
  437. package/dist/components/user-input/Input.mjs +191 -0
  438. package/dist/components/user-input/Input.mjs.map +1 -0
  439. package/dist/components/user-input/Label.d.mts +16 -0
  440. package/dist/components/user-input/Label.d.ts +8 -4
  441. package/dist/components/user-input/Label.js +43 -11
  442. package/dist/components/user-input/Label.js.map +1 -0
  443. package/dist/components/user-input/Label.mjs +19 -0
  444. package/dist/components/user-input/Label.mjs.map +1 -0
  445. package/dist/components/user-input/Menu.d.mts +24 -0
  446. package/dist/components/user-input/Menu.d.ts +8 -5
  447. package/dist/components/user-input/Menu.js +162 -25
  448. package/dist/components/user-input/Menu.js.map +1 -0
  449. package/dist/components/user-input/Menu.mjs +127 -0
  450. package/dist/components/user-input/Menu.mjs.map +1 -0
  451. package/dist/components/user-input/MultiSelect.d.mts +43 -0
  452. package/dist/components/user-input/MultiSelect.d.ts +12 -8
  453. package/dist/components/user-input/MultiSelect.js +545 -56
  454. package/dist/components/user-input/MultiSelect.js.map +1 -0
  455. package/dist/components/user-input/MultiSelect.mjs +516 -0
  456. package/dist/components/user-input/MultiSelect.mjs.map +1 -0
  457. package/dist/components/user-input/ScrollPicker.d.mts +15 -0
  458. package/dist/components/user-input/ScrollPicker.d.ts +6 -2
  459. package/dist/components/user-input/ScrollPicker.js +276 -145
  460. package/dist/components/user-input/ScrollPicker.js.map +1 -0
  461. package/dist/components/user-input/ScrollPicker.mjs +247 -0
  462. package/dist/components/user-input/ScrollPicker.mjs.map +1 -0
  463. package/dist/components/user-input/SearchableSelect.d.mts +14 -0
  464. package/dist/components/user-input/SearchableSelect.d.ts +9 -3
  465. package/dist/components/user-input/SearchableSelect.js +334 -13
  466. package/dist/components/user-input/SearchableSelect.js.map +1 -0
  467. package/dist/components/user-input/SearchableSelect.mjs +305 -0
  468. package/dist/components/user-input/SearchableSelect.mjs.map +1 -0
  469. package/dist/components/user-input/Select.d.mts +36 -0
  470. package/dist/components/user-input/Select.d.ts +9 -5
  471. package/dist/components/user-input/Select.js +152 -47
  472. package/dist/components/user-input/Select.js.map +1 -0
  473. package/dist/components/user-input/Select.mjs +118 -0
  474. package/dist/components/user-input/Select.mjs.map +1 -0
  475. package/dist/components/user-input/Textarea.d.mts +24 -0
  476. package/dist/components/user-input/Textarea.d.ts +8 -4
  477. package/dist/components/user-input/Textarea.js +153 -31
  478. package/dist/components/user-input/Textarea.js.map +1 -0
  479. package/dist/components/user-input/Textarea.mjs +120 -0
  480. package/dist/components/user-input/Textarea.mjs.map +1 -0
  481. package/dist/components/user-input/ToggleableInput.d.mts +35 -0
  482. package/dist/components/user-input/ToggleableInput.d.ts +6 -3
  483. package/dist/components/user-input/ToggleableInput.js +161 -38
  484. package/dist/components/user-input/ToggleableInput.js.map +1 -0
  485. package/dist/components/user-input/ToggleableInput.mjs +128 -0
  486. package/dist/components/user-input/ToggleableInput.mjs.map +1 -0
  487. package/dist/hooks/useHoverState.d.mts +42 -0
  488. package/dist/hooks/useHoverState.d.ts +5 -3
  489. package/dist/hooks/useHoverState.js +69 -43
  490. package/dist/hooks/useHoverState.js.map +1 -0
  491. package/dist/hooks/useHoverState.mjs +47 -0
  492. package/dist/hooks/useHoverState.mjs.map +1 -0
  493. package/dist/hooks/useLanguage.d.mts +21 -0
  494. package/dist/hooks/useLanguage.d.ts +15 -11
  495. package/dist/hooks/useLanguage.js +145 -50
  496. package/dist/hooks/useLanguage.js.map +1 -0
  497. package/dist/hooks/useLanguage.mjs +115 -0
  498. package/dist/hooks/useLanguage.mjs.map +1 -0
  499. package/dist/hooks/useLocalStorage.d.mts +6 -0
  500. package/dist/hooks/useLocalStorage.d.ts +4 -2
  501. package/dist/hooks/useLocalStorage.js +79 -23
  502. package/dist/hooks/useLocalStorage.js.map +1 -0
  503. package/dist/hooks/useLocalStorage.mjs +59 -0
  504. package/dist/hooks/useLocalStorage.mjs.map +1 -0
  505. package/dist/hooks/useOutsideClick.d.mts +5 -0
  506. package/dist/hooks/useOutsideClick.d.ts +5 -2
  507. package/dist/hooks/useOutsideClick.js +47 -21
  508. package/dist/hooks/useOutsideClick.js.map +1 -0
  509. package/dist/hooks/useOutsideClick.mjs +23 -0
  510. package/dist/hooks/useOutsideClick.mjs.map +1 -0
  511. package/dist/hooks/useSaveDelay.d.mts +6 -0
  512. package/dist/hooks/useSaveDelay.d.ts +2 -1
  513. package/dist/hooks/useSaveDelay.js +62 -38
  514. package/dist/hooks/useSaveDelay.js.map +1 -0
  515. package/dist/hooks/useSaveDelay.mjs +44 -0
  516. package/dist/hooks/useSaveDelay.mjs.map +1 -0
  517. package/dist/hooks/useTheme.d.mts +21 -0
  518. package/dist/hooks/useTheme.d.ts +14 -9
  519. package/dist/hooks/useTheme.js +65 -29
  520. package/dist/hooks/useTheme.js.map +1 -0
  521. package/dist/hooks/useTheme.mjs +40 -0
  522. package/dist/hooks/useTheme.mjs.map +1 -0
  523. package/dist/hooks/useTranslation.d.mts +28 -0
  524. package/dist/hooks/useTranslation.d.ts +9 -5
  525. package/dist/hooks/useTranslation.js +53 -10
  526. package/dist/hooks/useTranslation.js.map +1 -0
  527. package/dist/hooks/useTranslation.mjs +27 -0
  528. package/dist/hooks/useTranslation.mjs.map +1 -0
  529. package/dist/index.d.mts +2 -0
  530. package/dist/index.d.ts +2 -0
  531. package/dist/index.js +2 -0
  532. package/dist/index.js.map +1 -0
  533. package/dist/index.mjs +1 -0
  534. package/dist/index.mjs.map +1 -0
  535. package/dist/util/array.d.mts +25 -0
  536. package/dist/util/array.d.ts +9 -7
  537. package/dist/util/array.js +119 -92
  538. package/dist/util/array.js.map +1 -0
  539. package/dist/util/array.mjs +99 -0
  540. package/dist/util/array.mjs.map +1 -0
  541. package/dist/util/builder.d.mts +8 -0
  542. package/dist/util/builder.d.ts +3 -1
  543. package/dist/util/builder.js +33 -8
  544. package/dist/util/builder.js.map +1 -0
  545. package/dist/util/builder.mjs +9 -0
  546. package/dist/util/builder.mjs.map +1 -0
  547. package/dist/util/date.d.mts +30 -0
  548. package/dist/util/date.d.ts +17 -15
  549. package/dist/util/date.js +184 -123
  550. package/dist/util/date.js.map +1 -0
  551. package/dist/util/date.mjs +156 -0
  552. package/dist/util/date.mjs.map +1 -0
  553. package/dist/util/easeFunctions.d.mts +11 -0
  554. package/dist/util/easeFunctions.d.ts +4 -2
  555. package/dist/util/easeFunctions.js +63 -30
  556. package/dist/util/easeFunctions.js.map +1 -0
  557. package/dist/util/easeFunctions.mjs +36 -0
  558. package/dist/util/easeFunctions.mjs.map +1 -0
  559. package/dist/util/emailValidation.d.mts +3 -0
  560. package/dist/util/emailValidation.d.ts +3 -1
  561. package/dist/util/emailValidation.js +32 -2
  562. package/dist/util/emailValidation.js.map +1 -0
  563. package/dist/util/emailValidation.mjs +8 -0
  564. package/dist/util/emailValidation.mjs.map +1 -0
  565. package/dist/util/loopingArray.d.mts +25 -0
  566. package/dist/util/loopingArray.d.ts +4 -2
  567. package/dist/util/loopingArray.js +89 -59
  568. package/dist/util/loopingArray.js.map +1 -0
  569. package/dist/util/loopingArray.mjs +72 -0
  570. package/dist/util/loopingArray.mjs.map +1 -0
  571. package/dist/util/math.d.mts +3 -0
  572. package/dist/util/math.d.ts +3 -1
  573. package/dist/util/math.js +32 -2
  574. package/dist/util/math.js.map +1 -0
  575. package/dist/util/math.mjs +8 -0
  576. package/dist/util/math.mjs.map +1 -0
  577. package/dist/util/news.d.mts +103 -0
  578. package/dist/util/news.d.ts +21 -16
  579. package/dist/util/news.js +73 -24
  580. package/dist/util/news.js.map +1 -0
  581. package/dist/util/news.mjs +48 -0
  582. package/dist/util/news.mjs.map +1 -0
  583. package/dist/util/noop.d.mts +3 -0
  584. package/dist/util/noop.d.ts +3 -1
  585. package/dist/util/noop.js +31 -1
  586. package/dist/util/noop.js.map +1 -0
  587. package/dist/util/noop.mjs +6 -0
  588. package/dist/util/noop.mjs.map +1 -0
  589. package/dist/util/simpleSearch.d.mts +50 -0
  590. package/dist/util/simpleSearch.d.ts +6 -4
  591. package/dist/util/simpleSearch.js +50 -58
  592. package/dist/util/simpleSearch.js.map +1 -0
  593. package/dist/util/simpleSearch.mjs +26 -0
  594. package/dist/util/simpleSearch.mjs.map +1 -0
  595. package/dist/util/storage.d.mts +16 -0
  596. package/dist/util/storage.d.ts +4 -3
  597. package/dist/util/storage.js +63 -31
  598. package/dist/util/storage.js.map +1 -0
  599. package/dist/util/storage.mjs +38 -0
  600. package/dist/util/storage.mjs.map +1 -0
  601. package/dist/util/types.d.mts +3 -0
  602. package/dist/util/types.d.ts +3 -1
  603. package/dist/util/types.js +19 -1
  604. package/dist/util/types.js.map +1 -0
  605. package/dist/util/types.mjs +1 -0
  606. package/dist/util/types.mjs.map +1 -0
  607. package/package.json +13 -6
@@ -0,0 +1,156 @@
1
+ // src/util/array.ts
2
+ var equalSizeGroups = (array, groupSize) => {
3
+ if (groupSize <= 0) {
4
+ console.warn(`group size should be greater than 0: groupSize = ${groupSize}`);
5
+ return [[...array]];
6
+ }
7
+ const groups = [];
8
+ for (let i = 0; i < array.length; i += groupSize) {
9
+ groups.push(array.slice(i, Math.min(i + groupSize, array.length)));
10
+ }
11
+ return groups;
12
+ };
13
+
14
+ // src/util/date.ts
15
+ var monthsList = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
16
+ var weekDayList = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
17
+ var formatDate = (date) => {
18
+ const year = date.getFullYear().toString().padStart(4, "0");
19
+ const month = (date.getMonth() + 1).toString().padStart(2, "0");
20
+ const day = date.getDate().toString().padStart(2, "0");
21
+ return `${year}-${month}-${day}`;
22
+ };
23
+ var formatDateTime = (date) => {
24
+ const dateString = formatDate(date);
25
+ const hours = date.getHours().toString().padStart(2, "0");
26
+ const minutes = date.getMinutes().toString().padStart(2, "0");
27
+ return `${dateString}T${hours}:${minutes}`;
28
+ };
29
+ var getDaysInMonth = (year, month) => {
30
+ const lastDayOfMonth = new Date(year, month + 1, 0);
31
+ return lastDayOfMonth.getDate();
32
+ };
33
+ var changeDuration = (date, duration, isAdding) => {
34
+ const {
35
+ years = 0,
36
+ months = 0,
37
+ days = 0,
38
+ hours = 0,
39
+ minutes = 0,
40
+ seconds = 0,
41
+ milliseconds = 0
42
+ } = duration;
43
+ if (years < 0) {
44
+ console.error(`Range error years must be greater than 0: received ${years}`);
45
+ return new Date(date);
46
+ }
47
+ if (months < 0 || months > 11) {
48
+ console.error(`Range error month must be 0 <= month <= 11: received ${months}`);
49
+ return new Date(date);
50
+ }
51
+ if (days < 0) {
52
+ console.error(`Range error days must be greater than 0: received ${days}`);
53
+ return new Date(date);
54
+ }
55
+ if (hours < 0 || hours > 23) {
56
+ console.error(`Range error hours must be 0 <= hours <= 23: received ${hours}`);
57
+ return new Date(date);
58
+ }
59
+ if (minutes < 0 || minutes > 59) {
60
+ console.error(`Range error minutes must be 0 <= minutes <= 59: received ${minutes}`);
61
+ return new Date(date);
62
+ }
63
+ if (seconds < 0 || seconds > 59) {
64
+ console.error(`Range error seconds must be 0 <= seconds <= 59: received ${seconds}`);
65
+ return new Date(date);
66
+ }
67
+ if (milliseconds < 0) {
68
+ console.error(`Range error seconds must be greater than 0: received ${milliseconds}`);
69
+ return new Date(date);
70
+ }
71
+ const multiplier = isAdding ? 1 : -1;
72
+ const newDate = new Date(date);
73
+ newDate.setFullYear(newDate.getFullYear() + multiplier * years);
74
+ newDate.setMonth(newDate.getMonth() + multiplier * months);
75
+ newDate.setDate(newDate.getDate() + multiplier * days);
76
+ newDate.setHours(newDate.getHours() + multiplier * hours);
77
+ newDate.setMinutes(newDate.getMinutes() + multiplier * minutes);
78
+ newDate.setSeconds(newDate.getSeconds() + multiplier * seconds);
79
+ newDate.setMilliseconds(newDate.getMilliseconds() + multiplier * milliseconds);
80
+ return newDate;
81
+ };
82
+ var addDuration = (date, duration) => {
83
+ return changeDuration(date, duration, true);
84
+ };
85
+ var subtractDuration = (date, duration) => {
86
+ return changeDuration(date, duration, false);
87
+ };
88
+ var getBetweenDuration = (startDate, endDate) => {
89
+ const durationInMilliseconds = endDate.getTime() - startDate.getTime();
90
+ const millisecondsInSecond = 1e3;
91
+ const millisecondsInMinute = 60 * millisecondsInSecond;
92
+ const millisecondsInHour = 60 * millisecondsInMinute;
93
+ const millisecondsInDay = 24 * millisecondsInHour;
94
+ const millisecondsInMonth = 30 * millisecondsInDay;
95
+ const years = Math.floor(durationInMilliseconds / (365.25 * millisecondsInDay));
96
+ const months = Math.floor(durationInMilliseconds / millisecondsInMonth);
97
+ const days = Math.floor(durationInMilliseconds / millisecondsInDay);
98
+ const hours = Math.floor(durationInMilliseconds % millisecondsInDay / millisecondsInHour);
99
+ const seconds = Math.floor(durationInMilliseconds % millisecondsInHour / millisecondsInSecond);
100
+ const milliseconds = durationInMilliseconds % millisecondsInSecond;
101
+ return {
102
+ years,
103
+ months,
104
+ days,
105
+ hours,
106
+ seconds,
107
+ milliseconds
108
+ };
109
+ };
110
+ var isInTimeSpan = (value, startDate, endDate) => {
111
+ if (startDate && endDate) {
112
+ console.assert(startDate <= endDate);
113
+ return startDate <= value && value <= endDate;
114
+ } else if (startDate) {
115
+ return startDate <= value;
116
+ } else if (endDate) {
117
+ return endDate >= value;
118
+ } else {
119
+ return true;
120
+ }
121
+ };
122
+ var equalDate = (date1, date2) => {
123
+ return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
124
+ };
125
+ var getWeeksForCalenderMonth = (date, weekStart, weeks = 6) => {
126
+ const month = date.getMonth();
127
+ const year = date.getFullYear();
128
+ const dayList = [];
129
+ let currentDate = new Date(year, month, 1);
130
+ const weekStartIndex = weekDayList.indexOf(weekStart);
131
+ while (currentDate.getDay() !== weekStartIndex) {
132
+ currentDate = subtractDuration(currentDate, { days: 1 });
133
+ }
134
+ while (dayList.length < 7 * weeks) {
135
+ const date2 = new Date(currentDate);
136
+ date2.setHours(date2.getHours(), date2.getMinutes());
137
+ dayList.push(date2);
138
+ currentDate = addDuration(currentDate, { days: 1 });
139
+ }
140
+ return equalSizeGroups(dayList, 7);
141
+ };
142
+ export {
143
+ addDuration,
144
+ changeDuration,
145
+ equalDate,
146
+ formatDate,
147
+ formatDateTime,
148
+ getBetweenDuration,
149
+ getDaysInMonth,
150
+ getWeeksForCalenderMonth,
151
+ isInTimeSpan,
152
+ monthsList,
153
+ subtractDuration,
154
+ weekDayList
155
+ };
156
+ //# sourceMappingURL=date.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/array.ts","../../src/util/date.ts"],"sourcesContent":["export const equalSizeGroups = <T >(array: T[], groupSize: number): T[][] => {\n if (groupSize <= 0) {\n console.warn(`group size should be greater than 0: groupSize = ${groupSize}`)\n return [[...array]]\n }\n\n const groups = []\n for (let i = 0; i < array.length; i += groupSize) {\n groups.push(array.slice(i, Math.min(i + groupSize, array.length)))\n }\n return groups\n}\n\n/**\n * @param start\n * @param end inclusive\n * @param allowEmptyRange Whether the range can be defined empty via end < start\n */\nexport const range = (start: number, end: number, allowEmptyRange: boolean = false): number[] => {\n if (end < start) {\n if (!allowEmptyRange) {\n console.warn(`range: end (${end}) < start (${start}) should be allowed explicitly, set allowEmptyRange to true`)\n }\n return []\n }\n return Array.from({ length: end - start + 1 }, (_, index) => index + start)\n}\n\n/** Finds the closest match\n * @param list The list of all possible matches\n * @param firstCloser Return whether item1 is closer than item2\n */\nexport const closestMatch = <T >(list: T[], firstCloser: (item1: T, item2: T) => boolean) => {\n return list.reduce((item1, item2) => {\n return firstCloser(item1, item2) ? item1 : item2\n })\n}\n\n/**\n * returns the item in middle of a list and its neighbours before and after\n * e.g. [1,2,3,4,5,6] for item = 1 would return [5,6,1,2,3]\n */\nexport const getNeighbours = <T >(list: T[], item: T, neighbourDistance: number = 2) => {\n const index = list.indexOf(item)\n const totalItems = neighbourDistance * 2 + 1\n if (list.length < totalItems) {\n console.warn('List is to short')\n return list\n }\n\n if (index === -1) {\n console.error('item not found in list')\n return list.splice(0, totalItems)\n }\n\n let start = index - neighbourDistance\n if (start < 0) {\n start += list.length\n }\n const end = (index + neighbourDistance + 1) % list.length\n\n const result: T[] = []\n let ignoreOnce = list.length === totalItems\n for (let i = start; i !== end || ignoreOnce; i = (i + 1) % list.length) {\n result.push(list[i]!)\n if (end === i && ignoreOnce) {\n ignoreOnce = false\n }\n }\n return result\n}\n\nexport const createLoopingListWithIndex = <T >(list: T[], startIndex: number = 0, length: number = 0, forwards: boolean = true) => {\n if (length < 0) {\n console.warn(`createLoopingList: length must be >= 0, given ${length}`)\n } else if (length === 0) {\n length = list.length\n }\n\n const returnList: [number, T][] = []\n\n if (forwards) {\n for (let i = startIndex; returnList.length < length; i = (i + 1) % list.length) {\n returnList.push([i, list[i]!])\n }\n } else {\n for (let i = startIndex; returnList.length < length; i = i === 0 ? i = list.length - 1 : i - 1) {\n returnList.push([i, list[i]!])\n }\n }\n\n return returnList\n}\n\nexport const createLoopingList = <T >(list: T[], startIndex: number = 0, length: number = 0, forwards: boolean = true) => {\n return createLoopingListWithIndex(list, startIndex, length, forwards).map(([_, item]) => item)\n}\n\nexport const ArrayUtil = {\n unique: <T>(list: T[]): T[] => {\n const seen = new Set<T>()\n return list.filter((item) => {\n if (seen.has(item)) {\n return false\n }\n seen.add(item)\n return true\n })\n },\n\n difference: <T>(list: T[], removeList: T[]): T[] => {\n const remove = new Set<T>(removeList)\n return list.filter((item) => !remove.has(item))\n }\n}\n","import { equalSizeGroups } from './array'\n\nexport const monthsList = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'] as const\nexport type Month = typeof monthsList[number]\n\nexport const weekDayList = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'] as const\nexport type WeekDay = typeof weekDayList[number]\n\nexport const formatDate = (date: Date) => {\n const year = date.getFullYear().toString().padStart(4, '0')\n const month = (date.getMonth() + 1).toString().padStart(2, '0')\n const day = (date.getDate()).toString().padStart(2, '0')\n return `${year}-${month}-${day}`\n}\n\nexport const formatDateTime = (date: Date) => {\n const dateString = formatDate(date)\n const hours = date.getHours().toString().padStart(2, '0')\n const minutes = date.getMinutes().toString().padStart(2, '0')\n return `${dateString}T${hours}:${minutes}`\n}\n\nexport const getDaysInMonth = (year: number, month: number): number => {\n const lastDayOfMonth = new Date(year, month + 1, 0)\n return lastDayOfMonth.getDate()\n}\n\nexport type Duration = {\n years?: number,\n months?: number,\n days?: number,\n hours?: number,\n minutes?: number,\n seconds?: number,\n milliseconds?: number,\n}\n\nexport const changeDuration = (date: Date, duration: Duration, isAdding?: boolean): Date => {\n const {\n years = 0,\n months = 0,\n days = 0,\n hours = 0,\n minutes = 0,\n seconds = 0,\n milliseconds = 0,\n } = duration\n\n // Check ranges\n if (years < 0) {\n console.error(`Range error years must be greater than 0: received ${years}`)\n return new Date(date)\n }\n if (months < 0 || months > 11) {\n console.error(`Range error month must be 0 <= month <= 11: received ${months}`)\n return new Date(date)\n }\n if (days < 0) {\n console.error(`Range error days must be greater than 0: received ${days}`)\n return new Date(date)\n }\n if (hours < 0 || hours > 23) {\n console.error(`Range error hours must be 0 <= hours <= 23: received ${hours}`)\n return new Date(date)\n }\n if (minutes < 0 || minutes > 59) {\n console.error(`Range error minutes must be 0 <= minutes <= 59: received ${minutes}`)\n return new Date(date)\n }\n if (seconds < 0 || seconds > 59) {\n console.error(`Range error seconds must be 0 <= seconds <= 59: received ${seconds}`)\n return new Date(date)\n }\n if (milliseconds < 0) {\n console.error(`Range error seconds must be greater than 0: received ${milliseconds}`)\n return new Date(date)\n }\n\n const multiplier = isAdding ? 1 : -1\n\n const newDate = new Date(date)\n\n newDate.setFullYear(newDate.getFullYear() + multiplier * years)\n\n newDate.setMonth(newDate.getMonth() + multiplier * months)\n\n newDate.setDate(newDate.getDate() + multiplier * days)\n\n newDate.setHours(newDate.getHours() + multiplier * hours)\n\n newDate.setMinutes(newDate.getMinutes() + multiplier * minutes)\n\n newDate.setSeconds(newDate.getSeconds() + multiplier * seconds)\n\n newDate.setMilliseconds(newDate.getMilliseconds() + multiplier * milliseconds)\n\n return newDate\n}\n\nexport const addDuration = (date: Date, duration: Duration): Date => {\n return changeDuration(date, duration, true)\n}\n\nexport const subtractDuration = (date: Date, duration: Duration): Date => {\n return changeDuration(date, duration, false)\n}\n\nexport const getBetweenDuration = (startDate: Date, endDate: Date): Duration => {\n const durationInMilliseconds = endDate.getTime() - startDate.getTime()\n\n const millisecondsInSecond = 1000\n const millisecondsInMinute = 60 * millisecondsInSecond\n const millisecondsInHour = 60 * millisecondsInMinute\n const millisecondsInDay = 24 * millisecondsInHour\n const millisecondsInMonth = 30 * millisecondsInDay // Rough estimation, can be adjusted\n\n const years = Math.floor(durationInMilliseconds / (365.25 * millisecondsInDay))\n const months = Math.floor(durationInMilliseconds / millisecondsInMonth)\n const days = Math.floor(durationInMilliseconds / millisecondsInDay)\n const hours = Math.floor((durationInMilliseconds % millisecondsInDay) / millisecondsInHour)\n const seconds = Math.floor((durationInMilliseconds % millisecondsInHour) / millisecondsInSecond)\n const milliseconds = durationInMilliseconds % millisecondsInSecond\n\n return {\n years,\n months,\n days,\n hours,\n seconds,\n milliseconds,\n }\n}\n\n/** Checks if a given date is in the range of two dates\n *\n * An undefined value for startDate or endDate means no bound for the start or end respectively\n */\nexport const isInTimeSpan = (value: Date, startDate?: Date, endDate?: Date): boolean => {\n if(startDate && endDate) {\n console.assert(startDate <= endDate)\n return startDate <= value && value <= endDate\n } else if (startDate) {\n return startDate <= value\n } else if(endDate) {\n return endDate >= value\n } else {\n return true\n }\n}\n\n/** Compare two dates on the year, month, day */\nexport const equalDate = (date1: Date, date2: Date) => {\n return date1.getFullYear() === date2.getFullYear()\n && date1.getMonth() === date2.getMonth()\n && date1.getDate() === date2.getDate()\n}\n\nexport const getWeeksForCalenderMonth = (date: Date, weekStart: WeekDay, weeks: number = 6) => {\n const month = date.getMonth()\n const year = date.getFullYear()\n\n const dayList: Date[] = []\n let currentDate = new Date(year, month, 1) // Start of month\n const weekStartIndex = weekDayList.indexOf(weekStart)\n\n // Move the current day to the week before\n while (currentDate.getDay() !== weekStartIndex) {\n currentDate = subtractDuration(currentDate, { days: 1 })\n }\n\n while (dayList.length < 7 * weeks) {\n const date = new Date(currentDate)\n date.setHours(date.getHours(), date.getMinutes()) // To make sure we are not overwriting the time\n dayList.push(date)\n currentDate = addDuration(currentDate, { days: 1 })\n }\n\n // weeks\n return equalSizeGroups(dayList, 7)\n}\n"],"mappings":"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","names":["date"]}
@@ -0,0 +1,11 @@
1
+ type EaseFunction = (t: number) => number;
2
+ declare class EaseFunctions {
3
+ static cubicBezierGeneric(x1: number, y1: number, x2: number, y2: number): {
4
+ x: EaseFunction;
5
+ y: EaseFunction;
6
+ };
7
+ static cubicBezier(x1: number, y1: number, x2: number, y2: number): EaseFunction;
8
+ static easeInEaseOut(t: number): number;
9
+ }
10
+
11
+ export { type EaseFunction, EaseFunctions };
@@ -1,5 +1,5 @@
1
- export type EaseFunction = (t: number) => number;
2
- export declare class EaseFunctions {
1
+ type EaseFunction = (t: number) => number;
2
+ declare class EaseFunctions {
3
3
  static cubicBezierGeneric(x1: number, y1: number, x2: number, y2: number): {
4
4
  x: EaseFunction;
5
5
  y: EaseFunction;
@@ -7,3 +7,5 @@ export declare class EaseFunctions {
7
7
  static cubicBezier(x1: number, y1: number, x2: number, y2: number): EaseFunction;
8
8
  static easeInEaseOut(t: number): number;
9
9
  }
10
+
11
+ export { type EaseFunction, EaseFunctions };
@@ -1,30 +1,63 @@
1
- import { clamp } from './math';
2
- export class EaseFunctions {
3
- static cubicBezierGeneric(x1, y1, x2, y2) {
4
- // Calculate the x and y coordinates using the cubic Bézier formula
5
- const cx = 3 * x1;
6
- const bx = 3 * (x2 - x1) - cx;
7
- const ax = 1 - cx - bx;
8
- const cy = 3 * y1;
9
- const by = 3 * (y2 - y1) - cy;
10
- const ay = 1 - cy - by;
11
- // Compute x and y values at parameter t
12
- const x = (t) => ((ax * t + bx) * t + cx) * t;
13
- const y = (t) => ((ay * t + by) * t + cy) * t;
14
- return {
15
- x,
16
- y
17
- };
18
- }
19
- static cubicBezier(x1, y1, x2, y2) {
20
- const { y } = EaseFunctions.cubicBezierGeneric(x1, y1, x2, y2);
21
- return (t) => {
22
- t = clamp(t);
23
- return y(t); // <= equal to x(t) * 0 + y(t) * 1
24
- };
25
- }
26
- static easeInEaseOut(t) {
27
- return EaseFunctions.cubicBezier(0.65, 0, 0.35, 1)(t);
28
- }
29
- ;
30
- }
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/util/easeFunctions.ts
21
+ var easeFunctions_exports = {};
22
+ __export(easeFunctions_exports, {
23
+ EaseFunctions: () => EaseFunctions
24
+ });
25
+ module.exports = __toCommonJS(easeFunctions_exports);
26
+
27
+ // src/util/math.ts
28
+ var clamp = (value, min = 0, max = 1) => {
29
+ return Math.min(Math.max(value, min), max);
30
+ };
31
+
32
+ // src/util/easeFunctions.ts
33
+ var EaseFunctions = class _EaseFunctions {
34
+ static cubicBezierGeneric(x1, y1, x2, y2) {
35
+ const cx = 3 * x1;
36
+ const bx = 3 * (x2 - x1) - cx;
37
+ const ax = 1 - cx - bx;
38
+ const cy = 3 * y1;
39
+ const by = 3 * (y2 - y1) - cy;
40
+ const ay = 1 - cy - by;
41
+ const x = (t) => ((ax * t + bx) * t + cx) * t;
42
+ const y = (t) => ((ay * t + by) * t + cy) * t;
43
+ return {
44
+ x,
45
+ y
46
+ };
47
+ }
48
+ static cubicBezier(x1, y1, x2, y2) {
49
+ const { y } = _EaseFunctions.cubicBezierGeneric(x1, y1, x2, y2);
50
+ return (t) => {
51
+ t = clamp(t);
52
+ return y(t);
53
+ };
54
+ }
55
+ static easeInEaseOut(t) {
56
+ return _EaseFunctions.cubicBezier(0.65, 0, 0.35, 1)(t);
57
+ }
58
+ };
59
+ // Annotate the CommonJS export names for ESM import in node:
60
+ 0 && (module.exports = {
61
+ EaseFunctions
62
+ });
63
+ //# sourceMappingURL=easeFunctions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/easeFunctions.ts","../../src/util/math.ts"],"sourcesContent":["import { clamp } from './math'\n\nexport type EaseFunction = (t: number) => number\n\nexport class EaseFunctions {\n static cubicBezierGeneric(x1: number, y1: number, x2: number, y2: number): { x: EaseFunction, y: EaseFunction } {\n // Calculate the x and y coordinates using the cubic Bézier formula\n const cx = 3 * x1\n const bx = 3 * (x2 - x1) - cx\n const ax = 1 - cx - bx\n\n const cy = 3 * y1\n const by = 3 * (y2 - y1) - cy\n const ay = 1 - cy - by\n\n // Compute x and y values at parameter t\n const x = (t: number) => ((ax * t + bx) * t + cx) * t\n const y = (t: number) => ((ay * t + by) * t + cy) * t\n\n return {\n x,\n y\n }\n }\n\n static cubicBezier(x1: number, y1: number, x2: number, y2: number): EaseFunction {\n const { y } = EaseFunctions.cubicBezierGeneric(x1, y1, x2, y2)\n return (t: number) => {\n t = clamp(t)\n return y(t) // <= equal to x(t) * 0 + y(t) * 1\n }\n }\n\n static easeInEaseOut(t: number): number {\n return EaseFunctions.cubicBezier(0.65, 0, 0.35, 1)(t)\n };\n}\n","export const clamp = (value: number, min: number = 0, max: number = 1): number => {\n return Math.min(Math.max(value, min), max)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,QAAQ,CAAC,OAAe,MAAc,GAAG,MAAc,MAAc;AAChF,SAAO,KAAK,IAAI,KAAK,IAAI,OAAO,GAAG,GAAG,GAAG;AAC3C;;;ADEO,IAAM,gBAAN,MAAM,eAAc;AAAA,EACzB,OAAO,mBAAmB,IAAY,IAAY,IAAY,IAAkD;AAE9G,UAAM,KAAK,IAAI;AACf,UAAM,KAAK,KAAK,KAAK,MAAM;AAC3B,UAAM,KAAK,IAAI,KAAK;AAEpB,UAAM,KAAK,IAAI;AACf,UAAM,KAAK,KAAK,KAAK,MAAM;AAC3B,UAAM,KAAK,IAAI,KAAK;AAGpB,UAAM,IAAI,CAAC,QAAgB,KAAK,IAAI,MAAM,IAAI,MAAM;AACpD,UAAM,IAAI,CAAC,QAAgB,KAAK,IAAI,MAAM,IAAI,MAAM;AAEpD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,YAAY,IAAY,IAAY,IAAY,IAA0B;AAC/E,UAAM,EAAE,EAAE,IAAI,eAAc,mBAAmB,IAAI,IAAI,IAAI,EAAE;AAC7D,WAAO,CAAC,MAAc;AACpB,UAAI,MAAM,CAAC;AACX,aAAO,EAAE,CAAC;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,OAAO,cAAc,GAAmB;AACtC,WAAO,eAAc,YAAY,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AAAA,EACtD;AACF;","names":[]}
@@ -0,0 +1,36 @@
1
+ // src/util/math.ts
2
+ var clamp = (value, min = 0, max = 1) => {
3
+ return Math.min(Math.max(value, min), max);
4
+ };
5
+
6
+ // src/util/easeFunctions.ts
7
+ var EaseFunctions = class _EaseFunctions {
8
+ static cubicBezierGeneric(x1, y1, x2, y2) {
9
+ const cx = 3 * x1;
10
+ const bx = 3 * (x2 - x1) - cx;
11
+ const ax = 1 - cx - bx;
12
+ const cy = 3 * y1;
13
+ const by = 3 * (y2 - y1) - cy;
14
+ const ay = 1 - cy - by;
15
+ const x = (t) => ((ax * t + bx) * t + cx) * t;
16
+ const y = (t) => ((ay * t + by) * t + cy) * t;
17
+ return {
18
+ x,
19
+ y
20
+ };
21
+ }
22
+ static cubicBezier(x1, y1, x2, y2) {
23
+ const { y } = _EaseFunctions.cubicBezierGeneric(x1, y1, x2, y2);
24
+ return (t) => {
25
+ t = clamp(t);
26
+ return y(t);
27
+ };
28
+ }
29
+ static easeInEaseOut(t) {
30
+ return _EaseFunctions.cubicBezier(0.65, 0, 0.35, 1)(t);
31
+ }
32
+ };
33
+ export {
34
+ EaseFunctions
35
+ };
36
+ //# sourceMappingURL=easeFunctions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/math.ts","../../src/util/easeFunctions.ts"],"sourcesContent":["export const clamp = (value: number, min: number = 0, max: number = 1): number => {\n return Math.min(Math.max(value, min), max)\n}\n","import { clamp } from './math'\n\nexport type EaseFunction = (t: number) => number\n\nexport class EaseFunctions {\n static cubicBezierGeneric(x1: number, y1: number, x2: number, y2: number): { x: EaseFunction, y: EaseFunction } {\n // Calculate the x and y coordinates using the cubic Bézier formula\n const cx = 3 * x1\n const bx = 3 * (x2 - x1) - cx\n const ax = 1 - cx - bx\n\n const cy = 3 * y1\n const by = 3 * (y2 - y1) - cy\n const ay = 1 - cy - by\n\n // Compute x and y values at parameter t\n const x = (t: number) => ((ax * t + bx) * t + cx) * t\n const y = (t: number) => ((ay * t + by) * t + cy) * t\n\n return {\n x,\n y\n }\n }\n\n static cubicBezier(x1: number, y1: number, x2: number, y2: number): EaseFunction {\n const { y } = EaseFunctions.cubicBezierGeneric(x1, y1, x2, y2)\n return (t: number) => {\n t = clamp(t)\n return y(t) // <= equal to x(t) * 0 + y(t) * 1\n }\n }\n\n static easeInEaseOut(t: number): number {\n return EaseFunctions.cubicBezier(0.65, 0, 0.35, 1)(t)\n };\n}\n"],"mappings":";AAAO,IAAM,QAAQ,CAAC,OAAe,MAAc,GAAG,MAAc,MAAc;AAChF,SAAO,KAAK,IAAI,KAAK,IAAI,OAAO,GAAG,GAAG,GAAG;AAC3C;;;ACEO,IAAM,gBAAN,MAAM,eAAc;AAAA,EACzB,OAAO,mBAAmB,IAAY,IAAY,IAAY,IAAkD;AAE9G,UAAM,KAAK,IAAI;AACf,UAAM,KAAK,KAAK,KAAK,MAAM;AAC3B,UAAM,KAAK,IAAI,KAAK;AAEpB,UAAM,KAAK,IAAI;AACf,UAAM,KAAK,KAAK,KAAK,MAAM;AAC3B,UAAM,KAAK,IAAI,KAAK;AAGpB,UAAM,IAAI,CAAC,QAAgB,KAAK,IAAI,MAAM,IAAI,MAAM;AACpD,UAAM,IAAI,CAAC,QAAgB,KAAK,IAAI,MAAM,IAAI,MAAM;AAEpD,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,YAAY,IAAY,IAAY,IAAY,IAA0B;AAC/E,UAAM,EAAE,EAAE,IAAI,eAAc,mBAAmB,IAAI,IAAI,IAAI,EAAE;AAC7D,WAAO,CAAC,MAAc;AACpB,UAAI,MAAM,CAAC;AACX,aAAO,EAAE,CAAC;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,OAAO,cAAc,GAAmB;AACtC,WAAO,eAAc,YAAY,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;AAAA,EACtD;AACF;","names":[]}
@@ -0,0 +1,3 @@
1
+ declare const validateEmail: (email: string) => boolean;
2
+
3
+ export { validateEmail };
@@ -1 +1,3 @@
1
- export declare const validateEmail: (email: string) => boolean;
1
+ declare const validateEmail: (email: string) => boolean;
2
+
3
+ export { validateEmail };
@@ -1,3 +1,33 @@
1
- export const validateEmail = (email) => {
2
- return /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i.test(email);
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
3
9
  };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/util/emailValidation.ts
21
+ var emailValidation_exports = {};
22
+ __export(emailValidation_exports, {
23
+ validateEmail: () => validateEmail
24
+ });
25
+ module.exports = __toCommonJS(emailValidation_exports);
26
+ var validateEmail = (email) => {
27
+ return /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i.test(email);
28
+ };
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ validateEmail
32
+ });
33
+ //# sourceMappingURL=emailValidation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/emailValidation.ts"],"sourcesContent":["export const validateEmail = (email: string): boolean => {\n return /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(email)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,gBAAgB,CAAC,UAA2B;AACvD,SAAO,2CAA2C,KAAK,KAAK;AAC9D;","names":[]}
@@ -0,0 +1,8 @@
1
+ // src/util/emailValidation.ts
2
+ var validateEmail = (email) => {
3
+ return /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i.test(email);
4
+ };
5
+ export {
6
+ validateEmail
7
+ };
8
+ //# sourceMappingURL=emailValidation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/emailValidation.ts"],"sourcesContent":["export const validateEmail = (email: string): boolean => {\n return /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i.test(email)\n}\n"],"mappings":";AAAO,IAAM,gBAAgB,CAAC,UAA2B;AACvD,SAAO,2CAA2C,KAAK,KAAK;AAC9D;","names":[]}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * 1 is forwards
3
+ *
4
+ * -1 is backwards
5
+ */
6
+ type Direction = 1 | -1;
7
+ declare class LoopingArrayCalculator {
8
+ length: number;
9
+ isLooping: boolean;
10
+ allowedOverScroll: number;
11
+ constructor(length: number, isLooping?: boolean, allowedOverScroll?: number);
12
+ getCorrectedPosition(position: number): number;
13
+ static withoutOffset(position: number): number;
14
+ static getOffset(position: number): number;
15
+ /**
16
+ * @return absolute distance forwards or Infinity when the target cannot be reached (only possible when not isLooping)
17
+ */
18
+ getDistanceDirectional(position: number, target: number, direction: Direction): number;
19
+ getDistanceForward(position: number, target: number): number;
20
+ getDistanceBackward(position: number, target: number): number;
21
+ getDistance(position: number, target: number): number;
22
+ getBestDirection(position: number, target: number): Direction;
23
+ }
24
+
25
+ export { type Direction, LoopingArrayCalculator };
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * -1 is backwards
5
5
  */
6
- export type Direction = 1 | -1;
7
- export declare class LoopingArrayCalculator {
6
+ type Direction = 1 | -1;
7
+ declare class LoopingArrayCalculator {
8
8
  length: number;
9
9
  isLooping: boolean;
10
10
  allowedOverScroll: number;
@@ -21,3 +21,5 @@ export declare class LoopingArrayCalculator {
21
21
  getDistance(position: number, target: number): number;
22
22
  getBestDirection(position: number, target: number): Direction;
23
23
  }
24
+
25
+ export { type Direction, LoopingArrayCalculator };
@@ -1,67 +1,97 @@
1
- export class LoopingArrayCalculator {
2
- constructor(length, isLooping = true, allowedOverScroll = 0.1) {
3
- if (allowedOverScroll < 0 || length < 1) {
4
- throw new Error('Invalid parameters: allowedOverScroll >= 0 and length >= 1 must be true');
5
- }
6
- this.length = length;
7
- this.isLooping = isLooping;
8
- this.allowedOverScroll = allowedOverScroll;
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/util/loopingArray.ts
21
+ var loopingArray_exports = {};
22
+ __export(loopingArray_exports, {
23
+ LoopingArrayCalculator: () => LoopingArrayCalculator
24
+ });
25
+ module.exports = __toCommonJS(loopingArray_exports);
26
+ var LoopingArrayCalculator = class _LoopingArrayCalculator {
27
+ constructor(length, isLooping = true, allowedOverScroll = 0.1) {
28
+ if (allowedOverScroll < 0 || length < 1) {
29
+ throw new Error("Invalid parameters: allowedOverScroll >= 0 and length >= 1 must be true");
9
30
  }
10
- getCorrectedPosition(position) {
11
- if (!this.isLooping) {
12
- return Math.max(-this.allowedOverScroll, Math.min(this.allowedOverScroll + this.length - 1, position));
13
- }
14
- if (position >= this.length) {
15
- return position % this.length;
16
- }
17
- if (position < 0) {
18
- return this.length - (Math.abs(position) % this.length);
19
- }
20
- return position;
31
+ this.length = length;
32
+ this.isLooping = isLooping;
33
+ this.allowedOverScroll = allowedOverScroll;
34
+ }
35
+ getCorrectedPosition(position) {
36
+ if (!this.isLooping) {
37
+ return Math.max(-this.allowedOverScroll, Math.min(this.allowedOverScroll + this.length - 1, position));
21
38
  }
22
- static withoutOffset(position) {
23
- return position + LoopingArrayCalculator.getOffset(position);
39
+ if (position >= this.length) {
40
+ return position % this.length;
24
41
  }
25
- static getOffset(position) {
26
- return Math.round(position) - position; // For example: 45.5 => 46 - 45.5 = 0.5
42
+ if (position < 0) {
43
+ return this.length - Math.abs(position) % this.length;
27
44
  }
28
- /**
29
- * @return absolute distance forwards or Infinity when the target cannot be reached (only possible when not isLooping)
30
- */
31
- getDistanceDirectional(position, target, direction) {
32
- if (!this.isLooping && (position < -this.allowedOverScroll || position > this.allowedOverScroll + this.length - 1)) {
33
- throw new Error('Invalid parameters: position is out of bounds.');
34
- }
35
- const isForwardInvalid = (direction === 1 && position > target);
36
- const isBackwardInvalid = (direction === -1 && target < position);
37
- if (!this.isLooping && (isForwardInvalid || isBackwardInvalid)) {
38
- return Infinity;
39
- }
40
- if (direction === -1) {
41
- return this.getDistanceDirectional(target, position, 1);
42
- }
43
- position = this.getCorrectedPosition(position);
44
- target = this.getCorrectedPosition(target);
45
- let distance = (target - position) * direction;
46
- if (distance < 0) {
47
- distance = this.length - (Math.abs(position) % this.length) + target;
48
- }
49
- return distance;
45
+ return position;
46
+ }
47
+ static withoutOffset(position) {
48
+ return position + _LoopingArrayCalculator.getOffset(position);
49
+ }
50
+ static getOffset(position) {
51
+ return Math.round(position) - position;
52
+ }
53
+ /**
54
+ * @return absolute distance forwards or Infinity when the target cannot be reached (only possible when not isLooping)
55
+ */
56
+ getDistanceDirectional(position, target, direction) {
57
+ if (!this.isLooping && (position < -this.allowedOverScroll || position > this.allowedOverScroll + this.length - 1)) {
58
+ throw new Error("Invalid parameters: position is out of bounds.");
50
59
  }
51
- getDistanceForward(position, target) {
52
- return this.getDistanceDirectional(position, target, 1);
60
+ const isForwardInvalid = direction === 1 && position > target;
61
+ const isBackwardInvalid = direction === -1 && target < position;
62
+ if (!this.isLooping && (isForwardInvalid || isBackwardInvalid)) {
63
+ return Infinity;
53
64
  }
54
- getDistanceBackward(position, target) {
55
- return this.getDistanceDirectional(position, target, -1);
65
+ if (direction === -1) {
66
+ return this.getDistanceDirectional(target, position, 1);
56
67
  }
57
- getDistance(position, target) {
58
- const forwardDistance = this.getDistanceForward(position, target);
59
- const backwardDistance = this.getDistanceBackward(position, target);
60
- return Math.min(forwardDistance, backwardDistance);
68
+ position = this.getCorrectedPosition(position);
69
+ target = this.getCorrectedPosition(target);
70
+ let distance = (target - position) * direction;
71
+ if (distance < 0) {
72
+ distance = this.length - Math.abs(position) % this.length + target;
61
73
  }
62
- getBestDirection(position, target) {
63
- const forwardDistance = this.getDistanceForward(position, target);
64
- const backwardDistance = this.getDistanceBackward(position, target);
65
- return forwardDistance < backwardDistance ? 1 : -1;
66
- }
67
- }
74
+ return distance;
75
+ }
76
+ getDistanceForward(position, target) {
77
+ return this.getDistanceDirectional(position, target, 1);
78
+ }
79
+ getDistanceBackward(position, target) {
80
+ return this.getDistanceDirectional(position, target, -1);
81
+ }
82
+ getDistance(position, target) {
83
+ const forwardDistance = this.getDistanceForward(position, target);
84
+ const backwardDistance = this.getDistanceBackward(position, target);
85
+ return Math.min(forwardDistance, backwardDistance);
86
+ }
87
+ getBestDirection(position, target) {
88
+ const forwardDistance = this.getDistanceForward(position, target);
89
+ const backwardDistance = this.getDistanceBackward(position, target);
90
+ return forwardDistance < backwardDistance ? 1 : -1;
91
+ }
92
+ };
93
+ // Annotate the CommonJS export names for ESM import in node:
94
+ 0 && (module.exports = {
95
+ LoopingArrayCalculator
96
+ });
97
+ //# sourceMappingURL=loopingArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/loopingArray.ts"],"sourcesContent":["/**\n * 1 is forwards\n *\n * -1 is backwards\n */\nexport type Direction = 1 | -1\n\nexport class LoopingArrayCalculator {\n length: number\n isLooping: boolean\n allowedOverScroll: number\n\n constructor(length: number, isLooping: boolean = true, allowedOverScroll: number = 0.1) {\n if (allowedOverScroll < 0 || length < 1) {\n throw new Error('Invalid parameters: allowedOverScroll >= 0 and length >= 1 must be true')\n }\n\n this.length = length\n this.isLooping = isLooping\n this.allowedOverScroll = allowedOverScroll\n }\n\n getCorrectedPosition(position: number): number {\n if (!this.isLooping) {\n return Math.max(-this.allowedOverScroll, Math.min(this.allowedOverScroll + this.length - 1, position))\n }\n if (position >= this.length) {\n return position % this.length\n }\n if (position < 0) {\n return this.length - (Math.abs(position) % this.length)\n }\n return position\n }\n\n static withoutOffset(position: number): number {\n return position + LoopingArrayCalculator.getOffset(position)\n }\n\n static getOffset(position: number): number {\n return Math.round(position) - position // For example: 45.5 => 46 - 45.5 = 0.5\n }\n\n /**\n * @return absolute distance forwards or Infinity when the target cannot be reached (only possible when not isLooping)\n */\n getDistanceDirectional(position: number, target: number, direction: Direction): number {\n if (!this.isLooping && (position < -this.allowedOverScroll || position > this.allowedOverScroll + this.length - 1)) {\n throw new Error('Invalid parameters: position is out of bounds.')\n }\n\n const isForwardInvalid = (direction === 1 && position > target)\n const isBackwardInvalid = (direction === -1 && target < position)\n\n if (!this.isLooping && (isForwardInvalid || isBackwardInvalid)) {\n return Infinity\n }\n\n if (direction === -1) {\n return this.getDistanceDirectional(target, position, 1)\n }\n\n position = this.getCorrectedPosition(position)\n target = this.getCorrectedPosition(target)\n\n let distance = (target - position) * direction\n if (distance < 0) {\n distance = this.length - (Math.abs(position) % this.length) + target\n }\n\n return distance\n }\n\n getDistanceForward(position: number, target: number): number {\n return this.getDistanceDirectional(position, target, 1)\n }\n\n getDistanceBackward(position: number, target: number): number {\n return this.getDistanceDirectional(position, target, -1)\n }\n\n getDistance(position: number, target: number): number {\n const forwardDistance = this.getDistanceForward(position, target)\n const backwardDistance = this.getDistanceBackward(position, target)\n\n return Math.min(forwardDistance, backwardDistance)\n }\n\n getBestDirection(position: number, target: number): Direction {\n const forwardDistance = this.getDistanceForward(position, target)\n const backwardDistance = this.getDistanceBackward(position, target)\n return forwardDistance < backwardDistance ? 1 : -1\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,IAAM,yBAAN,MAAM,wBAAuB;AAAA,EAKlC,YAAY,QAAgB,YAAqB,MAAM,oBAA4B,KAAK;AACtF,QAAI,oBAAoB,KAAK,SAAS,GAAG;AACvC,YAAM,IAAI,MAAM,yEAAyE;AAAA,IAC3F;AAEA,SAAK,SAAS;AACd,SAAK,YAAY;AACjB,SAAK,oBAAoB;AAAA,EAC3B;AAAA,EAEA,qBAAqB,UAA0B;AAC7C,QAAI,CAAC,KAAK,WAAW;AACnB,aAAO,KAAK,IAAI,CAAC,KAAK,mBAAmB,KAAK,IAAI,KAAK,oBAAoB,KAAK,SAAS,GAAG,QAAQ,CAAC;AAAA,IACvG;AACA,QAAI,YAAY,KAAK,QAAQ;AAC3B,aAAO,WAAW,KAAK;AAAA,IACzB;AACA,QAAI,WAAW,GAAG;AAChB,aAAO,KAAK,SAAU,KAAK,IAAI,QAAQ,IAAI,KAAK;AAAA,IAClD;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,cAAc,UAA0B;AAC7C,WAAO,WAAW,wBAAuB,UAAU,QAAQ;AAAA,EAC7D;AAAA,EAEA,OAAO,UAAU,UAA0B;AACzC,WAAO,KAAK,MAAM,QAAQ,IAAI;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB,UAAkB,QAAgB,WAA8B;AACrF,QAAI,CAAC,KAAK,cAAc,WAAW,CAAC,KAAK,qBAAqB,WAAW,KAAK,oBAAoB,KAAK,SAAS,IAAI;AAClH,YAAM,IAAI,MAAM,gDAAgD;AAAA,IAClE;AAEA,UAAM,mBAAoB,cAAc,KAAK,WAAW;AACxD,UAAM,oBAAqB,cAAc,MAAM,SAAS;AAExD,QAAI,CAAC,KAAK,cAAc,oBAAoB,oBAAoB;AAC9D,aAAO;AAAA,IACT;AAEA,QAAI,cAAc,IAAI;AACpB,aAAO,KAAK,uBAAuB,QAAQ,UAAU,CAAC;AAAA,IACxD;AAEA,eAAW,KAAK,qBAAqB,QAAQ;AAC7C,aAAS,KAAK,qBAAqB,MAAM;AAEzC,QAAI,YAAY,SAAS,YAAY;AACrC,QAAI,WAAW,GAAG;AAChB,iBAAW,KAAK,SAAU,KAAK,IAAI,QAAQ,IAAI,KAAK,SAAU;AAAA,IAChE;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,mBAAmB,UAAkB,QAAwB;AAC3D,WAAO,KAAK,uBAAuB,UAAU,QAAQ,CAAC;AAAA,EACxD;AAAA,EAEA,oBAAoB,UAAkB,QAAwB;AAC5D,WAAO,KAAK,uBAAuB,UAAU,QAAQ,EAAE;AAAA,EACzD;AAAA,EAEA,YAAY,UAAkB,QAAwB;AACpD,UAAM,kBAAkB,KAAK,mBAAmB,UAAU,MAAM;AAChE,UAAM,mBAAmB,KAAK,oBAAoB,UAAU,MAAM;AAElE,WAAO,KAAK,IAAI,iBAAiB,gBAAgB;AAAA,EACnD;AAAA,EAEA,iBAAiB,UAAkB,QAA2B;AAC5D,UAAM,kBAAkB,KAAK,mBAAmB,UAAU,MAAM;AAChE,UAAM,mBAAmB,KAAK,oBAAoB,UAAU,MAAM;AAClE,WAAO,kBAAkB,mBAAmB,IAAI;AAAA,EAClD;AACF;","names":[]}