@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,99 @@
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
+ var range = (start, end, allowEmptyRange = false) => {
14
+ if (end < start) {
15
+ if (!allowEmptyRange) {
16
+ console.warn(`range: end (${end}) < start (${start}) should be allowed explicitly, set allowEmptyRange to true`);
17
+ }
18
+ return [];
19
+ }
20
+ return Array.from({ length: end - start + 1 }, (_, index) => index + start);
21
+ };
22
+ var closestMatch = (list, firstCloser) => {
23
+ return list.reduce((item1, item2) => {
24
+ return firstCloser(item1, item2) ? item1 : item2;
25
+ });
26
+ };
27
+ var getNeighbours = (list, item, neighbourDistance = 2) => {
28
+ const index = list.indexOf(item);
29
+ const totalItems = neighbourDistance * 2 + 1;
30
+ if (list.length < totalItems) {
31
+ console.warn("List is to short");
32
+ return list;
33
+ }
34
+ if (index === -1) {
35
+ console.error("item not found in list");
36
+ return list.splice(0, totalItems);
37
+ }
38
+ let start = index - neighbourDistance;
39
+ if (start < 0) {
40
+ start += list.length;
41
+ }
42
+ const end = (index + neighbourDistance + 1) % list.length;
43
+ const result = [];
44
+ let ignoreOnce = list.length === totalItems;
45
+ for (let i = start; i !== end || ignoreOnce; i = (i + 1) % list.length) {
46
+ result.push(list[i]);
47
+ if (end === i && ignoreOnce) {
48
+ ignoreOnce = false;
49
+ }
50
+ }
51
+ return result;
52
+ };
53
+ var createLoopingListWithIndex = (list, startIndex = 0, length = 0, forwards = true) => {
54
+ if (length < 0) {
55
+ console.warn(`createLoopingList: length must be >= 0, given ${length}`);
56
+ } else if (length === 0) {
57
+ length = list.length;
58
+ }
59
+ const returnList = [];
60
+ if (forwards) {
61
+ for (let i = startIndex; returnList.length < length; i = (i + 1) % list.length) {
62
+ returnList.push([i, list[i]]);
63
+ }
64
+ } else {
65
+ for (let i = startIndex; returnList.length < length; i = i === 0 ? i = list.length - 1 : i - 1) {
66
+ returnList.push([i, list[i]]);
67
+ }
68
+ }
69
+ return returnList;
70
+ };
71
+ var createLoopingList = (list, startIndex = 0, length = 0, forwards = true) => {
72
+ return createLoopingListWithIndex(list, startIndex, length, forwards).map(([_, item]) => item);
73
+ };
74
+ var ArrayUtil = {
75
+ unique: (list) => {
76
+ const seen = /* @__PURE__ */ new Set();
77
+ return list.filter((item) => {
78
+ if (seen.has(item)) {
79
+ return false;
80
+ }
81
+ seen.add(item);
82
+ return true;
83
+ });
84
+ },
85
+ difference: (list, removeList) => {
86
+ const remove = new Set(removeList);
87
+ return list.filter((item) => !remove.has(item));
88
+ }
89
+ };
90
+ export {
91
+ ArrayUtil,
92
+ closestMatch,
93
+ createLoopingList,
94
+ createLoopingListWithIndex,
95
+ equalSizeGroups,
96
+ getNeighbours,
97
+ range
98
+ };
99
+ //# sourceMappingURL=array.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/array.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"],"mappings":"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","names":[]}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A simple function that implements the builder pattern
3
+ * @param value The value to update which gets return with the same reference
4
+ * @param update The updates to apply on the object
5
+ */
6
+ declare const builder: <T>(value: T, update: (value: T) => void) => T;
7
+
8
+ export { builder };
@@ -3,4 +3,6 @@
3
3
  * @param value The value to update which gets return with the same reference
4
4
  * @param update The updates to apply on the object
5
5
  */
6
- export declare const builder: <T>(value: T, update: (value: T) => void) => T;
6
+ declare const builder: <T>(value: T, update: (value: T) => void) => T;
7
+
8
+ export { builder };
@@ -1,9 +1,34 @@
1
- /**
2
- * A simple function that implements the builder pattern
3
- * @param value The value to update which gets return with the same reference
4
- * @param update The updates to apply on the object
5
- */
6
- export const builder = (value, update) => {
7
- update(value);
8
- return value;
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
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/builder.ts
21
+ var builder_exports = {};
22
+ __export(builder_exports, {
23
+ builder: () => builder
24
+ });
25
+ module.exports = __toCommonJS(builder_exports);
26
+ var builder = (value, update) => {
27
+ update(value);
28
+ return value;
29
+ };
30
+ // Annotate the CommonJS export names for ESM import in node:
31
+ 0 && (module.exports = {
32
+ builder
33
+ });
34
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/builder.ts"],"sourcesContent":["/**\n * A simple function that implements the builder pattern\n * @param value The value to update which gets return with the same reference\n * @param update The updates to apply on the object\n */\nexport const builder = <T>(value: T, update: (value: T) => void): T => {\n update(value)\n return value\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,IAAM,UAAU,CAAI,OAAU,WAAkC;AACrE,SAAO,KAAK;AACZ,SAAO;AACT;","names":[]}
@@ -0,0 +1,9 @@
1
+ // src/util/builder.ts
2
+ var builder = (value, update) => {
3
+ update(value);
4
+ return value;
5
+ };
6
+ export {
7
+ builder
8
+ };
9
+ //# sourceMappingURL=builder.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/builder.ts"],"sourcesContent":["/**\n * A simple function that implements the builder pattern\n * @param value The value to update which gets return with the same reference\n * @param update The updates to apply on the object\n */\nexport const builder = <T>(value: T, update: (value: T) => void): T => {\n update(value)\n return value\n}\n"],"mappings":";AAKO,IAAM,UAAU,CAAI,OAAU,WAAkC;AACrE,SAAO,KAAK;AACZ,SAAO;AACT;","names":[]}
@@ -0,0 +1,30 @@
1
+ declare const monthsList: readonly ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
2
+ type Month = typeof monthsList[number];
3
+ declare const weekDayList: readonly ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
4
+ type WeekDay = typeof weekDayList[number];
5
+ declare const formatDate: (date: Date) => string;
6
+ declare const formatDateTime: (date: Date) => string;
7
+ declare const getDaysInMonth: (year: number, month: number) => number;
8
+ type Duration = {
9
+ years?: number;
10
+ months?: number;
11
+ days?: number;
12
+ hours?: number;
13
+ minutes?: number;
14
+ seconds?: number;
15
+ milliseconds?: number;
16
+ };
17
+ declare const changeDuration: (date: Date, duration: Duration, isAdding?: boolean) => Date;
18
+ declare const addDuration: (date: Date, duration: Duration) => Date;
19
+ declare const subtractDuration: (date: Date, duration: Duration) => Date;
20
+ declare const getBetweenDuration: (startDate: Date, endDate: Date) => Duration;
21
+ /** Checks if a given date is in the range of two dates
22
+ *
23
+ * An undefined value for startDate or endDate means no bound for the start or end respectively
24
+ */
25
+ declare const isInTimeSpan: (value: Date, startDate?: Date, endDate?: Date) => boolean;
26
+ /** Compare two dates on the year, month, day */
27
+ declare const equalDate: (date1: Date, date2: Date) => boolean;
28
+ declare const getWeeksForCalenderMonth: (date: Date, weekStart: WeekDay, weeks?: number) => Date[][];
29
+
30
+ export { type Duration, type Month, type WeekDay, addDuration, changeDuration, equalDate, formatDate, formatDateTime, getBetweenDuration, getDaysInMonth, getWeeksForCalenderMonth, isInTimeSpan, monthsList, subtractDuration, weekDayList };
@@ -1,11 +1,11 @@
1
- export declare const monthsList: readonly ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
2
- export type Month = typeof monthsList[number];
3
- export declare const weekDayList: readonly ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
4
- export type WeekDay = typeof weekDayList[number];
5
- export declare const formatDate: (date: Date) => string;
6
- export declare const formatDateTime: (date: Date) => string;
7
- export declare const getDaysInMonth: (year: number, month: number) => number;
8
- export type Duration = {
1
+ declare const monthsList: readonly ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
2
+ type Month = typeof monthsList[number];
3
+ declare const weekDayList: readonly ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
4
+ type WeekDay = typeof weekDayList[number];
5
+ declare const formatDate: (date: Date) => string;
6
+ declare const formatDateTime: (date: Date) => string;
7
+ declare const getDaysInMonth: (year: number, month: number) => number;
8
+ type Duration = {
9
9
  years?: number;
10
10
  months?: number;
11
11
  days?: number;
@@ -14,15 +14,17 @@ export type Duration = {
14
14
  seconds?: number;
15
15
  milliseconds?: number;
16
16
  };
17
- export declare const changeDuration: (date: Date, duration: Duration, isAdding?: boolean) => Date;
18
- export declare const addDuration: (date: Date, duration: Duration) => Date;
19
- export declare const subtractDuration: (date: Date, duration: Duration) => Date;
20
- export declare const getBetweenDuration: (startDate: Date, endDate: Date) => Duration;
17
+ declare const changeDuration: (date: Date, duration: Duration, isAdding?: boolean) => Date;
18
+ declare const addDuration: (date: Date, duration: Duration) => Date;
19
+ declare const subtractDuration: (date: Date, duration: Duration) => Date;
20
+ declare const getBetweenDuration: (startDate: Date, endDate: Date) => Duration;
21
21
  /** Checks if a given date is in the range of two dates
22
22
  *
23
23
  * An undefined value for startDate or endDate means no bound for the start or end respectively
24
24
  */
25
- export declare const isInTimeSpan: (value: Date, startDate?: Date, endDate?: Date) => boolean;
25
+ declare const isInTimeSpan: (value: Date, startDate?: Date, endDate?: Date) => boolean;
26
26
  /** Compare two dates on the year, month, day */
27
- export declare const equalDate: (date1: Date, date2: Date) => boolean;
28
- export declare const getWeeksForCalenderMonth: (date: Date, weekStart: WeekDay, weeks?: number) => Date[][];
27
+ declare const equalDate: (date1: Date, date2: Date) => boolean;
28
+ declare const getWeeksForCalenderMonth: (date: Date, weekStart: WeekDay, weeks?: number) => Date[][];
29
+
30
+ export { type Duration, type Month, type WeekDay, addDuration, changeDuration, equalDate, formatDate, formatDateTime, getBetweenDuration, getDaysInMonth, getWeeksForCalenderMonth, isInTimeSpan, monthsList, subtractDuration, weekDayList };
package/dist/util/date.js CHANGED
@@ -1,133 +1,194 @@
1
- import { equalSizeGroups } from './array';
2
- export const monthsList = ['january', 'february', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december'];
3
- export const weekDayList = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
4
- export const formatDate = (date) => {
5
- const year = date.getFullYear().toString().padStart(4, '0');
6
- const month = (date.getMonth() + 1).toString().padStart(2, '0');
7
- const day = (date.getDate()).toString().padStart(2, '0');
8
- return `${year}-${month}-${day}`;
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
9
  };
10
- export const formatDateTime = (date) => {
11
- const dateString = formatDate(date);
12
- const hours = date.getHours().toString().padStart(2, '0');
13
- const minutes = date.getMinutes().toString().padStart(2, '0');
14
- return `${dateString}T${hours}:${minutes}`;
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;
15
17
  };
16
- export const getDaysInMonth = (year, month) => {
17
- const lastDayOfMonth = new Date(year, month + 1, 0);
18
- return lastDayOfMonth.getDate();
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/util/date.ts
21
+ var date_exports = {};
22
+ __export(date_exports, {
23
+ addDuration: () => addDuration,
24
+ changeDuration: () => changeDuration,
25
+ equalDate: () => equalDate,
26
+ formatDate: () => formatDate,
27
+ formatDateTime: () => formatDateTime,
28
+ getBetweenDuration: () => getBetweenDuration,
29
+ getDaysInMonth: () => getDaysInMonth,
30
+ getWeeksForCalenderMonth: () => getWeeksForCalenderMonth,
31
+ isInTimeSpan: () => isInTimeSpan,
32
+ monthsList: () => monthsList,
33
+ subtractDuration: () => subtractDuration,
34
+ weekDayList: () => weekDayList
35
+ });
36
+ module.exports = __toCommonJS(date_exports);
37
+
38
+ // src/util/array.ts
39
+ var equalSizeGroups = (array, groupSize) => {
40
+ if (groupSize <= 0) {
41
+ console.warn(`group size should be greater than 0: groupSize = ${groupSize}`);
42
+ return [[...array]];
43
+ }
44
+ const groups = [];
45
+ for (let i = 0; i < array.length; i += groupSize) {
46
+ groups.push(array.slice(i, Math.min(i + groupSize, array.length)));
47
+ }
48
+ return groups;
19
49
  };
20
- export const changeDuration = (date, duration, isAdding) => {
21
- const { years = 0, months = 0, days = 0, hours = 0, minutes = 0, seconds = 0, milliseconds = 0, } = duration;
22
- // Check ranges
23
- if (years < 0) {
24
- console.error(`Range error years must be greater than 0: received ${years}`);
25
- return new Date(date);
26
- }
27
- if (months < 0 || months > 11) {
28
- console.error(`Range error month must be 0 <= month <= 11: received ${months}`);
29
- return new Date(date);
30
- }
31
- if (days < 0) {
32
- console.error(`Range error days must be greater than 0: received ${days}`);
33
- return new Date(date);
34
- }
35
- if (hours < 0 || hours > 23) {
36
- console.error(`Range error hours must be 0 <= hours <= 23: received ${hours}`);
37
- return new Date(date);
38
- }
39
- if (minutes < 0 || minutes > 59) {
40
- console.error(`Range error minutes must be 0 <= minutes <= 59: received ${minutes}`);
41
- return new Date(date);
42
- }
43
- if (seconds < 0 || seconds > 59) {
44
- console.error(`Range error seconds must be 0 <= seconds <= 59: received ${seconds}`);
45
- return new Date(date);
46
- }
47
- if (milliseconds < 0) {
48
- console.error(`Range error seconds must be greater than 0: received ${milliseconds}`);
49
- return new Date(date);
50
- }
51
- const multiplier = isAdding ? 1 : -1;
52
- const newDate = new Date(date);
53
- newDate.setFullYear(newDate.getFullYear() + multiplier * years);
54
- newDate.setMonth(newDate.getMonth() + multiplier * months);
55
- newDate.setDate(newDate.getDate() + multiplier * days);
56
- newDate.setHours(newDate.getHours() + multiplier * hours);
57
- newDate.setMinutes(newDate.getMinutes() + multiplier * minutes);
58
- newDate.setSeconds(newDate.getSeconds() + multiplier * seconds);
59
- newDate.setMilliseconds(newDate.getMilliseconds() + multiplier * milliseconds);
60
- return newDate;
50
+
51
+ // src/util/date.ts
52
+ var monthsList = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
53
+ var weekDayList = ["sunday", "monday", "tuesday", "wednesday", "thursday", "friday", "saturday"];
54
+ var formatDate = (date) => {
55
+ const year = date.getFullYear().toString().padStart(4, "0");
56
+ const month = (date.getMonth() + 1).toString().padStart(2, "0");
57
+ const day = date.getDate().toString().padStart(2, "0");
58
+ return `${year}-${month}-${day}`;
61
59
  };
62
- export const addDuration = (date, duration) => {
63
- return changeDuration(date, duration, true);
60
+ var formatDateTime = (date) => {
61
+ const dateString = formatDate(date);
62
+ const hours = date.getHours().toString().padStart(2, "0");
63
+ const minutes = date.getMinutes().toString().padStart(2, "0");
64
+ return `${dateString}T${hours}:${minutes}`;
64
65
  };
65
- export const subtractDuration = (date, duration) => {
66
- return changeDuration(date, duration, false);
66
+ var getDaysInMonth = (year, month) => {
67
+ const lastDayOfMonth = new Date(year, month + 1, 0);
68
+ return lastDayOfMonth.getDate();
67
69
  };
68
- export const getBetweenDuration = (startDate, endDate) => {
69
- const durationInMilliseconds = endDate.getTime() - startDate.getTime();
70
- const millisecondsInSecond = 1000;
71
- const millisecondsInMinute = 60 * millisecondsInSecond;
72
- const millisecondsInHour = 60 * millisecondsInMinute;
73
- const millisecondsInDay = 24 * millisecondsInHour;
74
- const millisecondsInMonth = 30 * millisecondsInDay; // Rough estimation, can be adjusted
75
- const years = Math.floor(durationInMilliseconds / (365.25 * millisecondsInDay));
76
- const months = Math.floor(durationInMilliseconds / millisecondsInMonth);
77
- const days = Math.floor(durationInMilliseconds / millisecondsInDay);
78
- const hours = Math.floor((durationInMilliseconds % millisecondsInDay) / millisecondsInHour);
79
- const seconds = Math.floor((durationInMilliseconds % millisecondsInHour) / millisecondsInSecond);
80
- const milliseconds = durationInMilliseconds % millisecondsInSecond;
81
- return {
82
- years,
83
- months,
84
- days,
85
- hours,
86
- seconds,
87
- milliseconds,
88
- };
70
+ var changeDuration = (date, duration, isAdding) => {
71
+ const {
72
+ years = 0,
73
+ months = 0,
74
+ days = 0,
75
+ hours = 0,
76
+ minutes = 0,
77
+ seconds = 0,
78
+ milliseconds = 0
79
+ } = duration;
80
+ if (years < 0) {
81
+ console.error(`Range error years must be greater than 0: received ${years}`);
82
+ return new Date(date);
83
+ }
84
+ if (months < 0 || months > 11) {
85
+ console.error(`Range error month must be 0 <= month <= 11: received ${months}`);
86
+ return new Date(date);
87
+ }
88
+ if (days < 0) {
89
+ console.error(`Range error days must be greater than 0: received ${days}`);
90
+ return new Date(date);
91
+ }
92
+ if (hours < 0 || hours > 23) {
93
+ console.error(`Range error hours must be 0 <= hours <= 23: received ${hours}`);
94
+ return new Date(date);
95
+ }
96
+ if (minutes < 0 || minutes > 59) {
97
+ console.error(`Range error minutes must be 0 <= minutes <= 59: received ${minutes}`);
98
+ return new Date(date);
99
+ }
100
+ if (seconds < 0 || seconds > 59) {
101
+ console.error(`Range error seconds must be 0 <= seconds <= 59: received ${seconds}`);
102
+ return new Date(date);
103
+ }
104
+ if (milliseconds < 0) {
105
+ console.error(`Range error seconds must be greater than 0: received ${milliseconds}`);
106
+ return new Date(date);
107
+ }
108
+ const multiplier = isAdding ? 1 : -1;
109
+ const newDate = new Date(date);
110
+ newDate.setFullYear(newDate.getFullYear() + multiplier * years);
111
+ newDate.setMonth(newDate.getMonth() + multiplier * months);
112
+ newDate.setDate(newDate.getDate() + multiplier * days);
113
+ newDate.setHours(newDate.getHours() + multiplier * hours);
114
+ newDate.setMinutes(newDate.getMinutes() + multiplier * minutes);
115
+ newDate.setSeconds(newDate.getSeconds() + multiplier * seconds);
116
+ newDate.setMilliseconds(newDate.getMilliseconds() + multiplier * milliseconds);
117
+ return newDate;
89
118
  };
90
- /** Checks if a given date is in the range of two dates
91
- *
92
- * An undefined value for startDate or endDate means no bound for the start or end respectively
93
- */
94
- export const isInTimeSpan = (value, startDate, endDate) => {
95
- if (startDate && endDate) {
96
- console.assert(startDate <= endDate);
97
- return startDate <= value && value <= endDate;
98
- }
99
- else if (startDate) {
100
- return startDate <= value;
101
- }
102
- else if (endDate) {
103
- return endDate >= value;
104
- }
105
- else {
106
- return true;
107
- }
119
+ var addDuration = (date, duration) => {
120
+ return changeDuration(date, duration, true);
108
121
  };
109
- /** Compare two dates on the year, month, day */
110
- export const equalDate = (date1, date2) => {
111
- return date1.getFullYear() === date2.getFullYear()
112
- && date1.getMonth() === date2.getMonth()
113
- && date1.getDate() === date2.getDate();
122
+ var subtractDuration = (date, duration) => {
123
+ return changeDuration(date, duration, false);
114
124
  };
115
- export const getWeeksForCalenderMonth = (date, weekStart, weeks = 6) => {
116
- const month = date.getMonth();
117
- const year = date.getFullYear();
118
- const dayList = [];
119
- let currentDate = new Date(year, month, 1); // Start of month
120
- const weekStartIndex = weekDayList.indexOf(weekStart);
121
- // Move the current day to the week before
122
- while (currentDate.getDay() !== weekStartIndex) {
123
- currentDate = subtractDuration(currentDate, { days: 1 });
124
- }
125
- while (dayList.length < 7 * weeks) {
126
- const date = new Date(currentDate);
127
- date.setHours(date.getHours(), date.getMinutes()); // To make sure we are not overwriting the time
128
- dayList.push(date);
129
- currentDate = addDuration(currentDate, { days: 1 });
130
- }
131
- // weeks
132
- return equalSizeGroups(dayList, 7);
125
+ var getBetweenDuration = (startDate, endDate) => {
126
+ const durationInMilliseconds = endDate.getTime() - startDate.getTime();
127
+ const millisecondsInSecond = 1e3;
128
+ const millisecondsInMinute = 60 * millisecondsInSecond;
129
+ const millisecondsInHour = 60 * millisecondsInMinute;
130
+ const millisecondsInDay = 24 * millisecondsInHour;
131
+ const millisecondsInMonth = 30 * millisecondsInDay;
132
+ const years = Math.floor(durationInMilliseconds / (365.25 * millisecondsInDay));
133
+ const months = Math.floor(durationInMilliseconds / millisecondsInMonth);
134
+ const days = Math.floor(durationInMilliseconds / millisecondsInDay);
135
+ const hours = Math.floor(durationInMilliseconds % millisecondsInDay / millisecondsInHour);
136
+ const seconds = Math.floor(durationInMilliseconds % millisecondsInHour / millisecondsInSecond);
137
+ const milliseconds = durationInMilliseconds % millisecondsInSecond;
138
+ return {
139
+ years,
140
+ months,
141
+ days,
142
+ hours,
143
+ seconds,
144
+ milliseconds
145
+ };
133
146
  };
147
+ var isInTimeSpan = (value, startDate, endDate) => {
148
+ if (startDate && endDate) {
149
+ console.assert(startDate <= endDate);
150
+ return startDate <= value && value <= endDate;
151
+ } else if (startDate) {
152
+ return startDate <= value;
153
+ } else if (endDate) {
154
+ return endDate >= value;
155
+ } else {
156
+ return true;
157
+ }
158
+ };
159
+ var equalDate = (date1, date2) => {
160
+ return date1.getFullYear() === date2.getFullYear() && date1.getMonth() === date2.getMonth() && date1.getDate() === date2.getDate();
161
+ };
162
+ var getWeeksForCalenderMonth = (date, weekStart, weeks = 6) => {
163
+ const month = date.getMonth();
164
+ const year = date.getFullYear();
165
+ const dayList = [];
166
+ let currentDate = new Date(year, month, 1);
167
+ const weekStartIndex = weekDayList.indexOf(weekStart);
168
+ while (currentDate.getDay() !== weekStartIndex) {
169
+ currentDate = subtractDuration(currentDate, { days: 1 });
170
+ }
171
+ while (dayList.length < 7 * weeks) {
172
+ const date2 = new Date(currentDate);
173
+ date2.setHours(date2.getHours(), date2.getMinutes());
174
+ dayList.push(date2);
175
+ currentDate = addDuration(currentDate, { days: 1 });
176
+ }
177
+ return equalSizeGroups(dayList, 7);
178
+ };
179
+ // Annotate the CommonJS export names for ESM import in node:
180
+ 0 && (module.exports = {
181
+ addDuration,
182
+ changeDuration,
183
+ equalDate,
184
+ formatDate,
185
+ formatDateTime,
186
+ getBetweenDuration,
187
+ getDaysInMonth,
188
+ getWeeksForCalenderMonth,
189
+ isInTimeSpan,
190
+ monthsList,
191
+ subtractDuration,
192
+ weekDayList
193
+ });
194
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/date.ts","../../src/util/array.ts"],"sourcesContent":["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","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"],"mappings":"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","names":["date"]}