@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,40 @@
1
+ // src/hooks/useTheme.tsx
2
+ import { useContext } from "react";
3
+ import { createContext, useState, useEffect } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ var defaultThemeTypeTranslation = {
6
+ en: {
7
+ dark: "Dark",
8
+ light: "Light"
9
+ },
10
+ de: {
11
+ dark: "Dunkel",
12
+ light: "Hell"
13
+ }
14
+ };
15
+ var ThemeContext = createContext({
16
+ theme: "light",
17
+ setTheme: (_) => {
18
+ }
19
+ });
20
+ var ThemeProvider = ({ children, initialTheme = "light" }) => {
21
+ const [theme, setTheme] = useState(initialTheme);
22
+ useEffect(() => {
23
+ if (theme !== initialTheme) {
24
+ console.warn("ThemeProvider initial state changed: Prefer using useTheme's setTheme instead");
25
+ setTheme(initialTheme);
26
+ }
27
+ }, [initialTheme]);
28
+ useEffect(() => {
29
+ document.documentElement.setAttribute("data-theme", theme);
30
+ }, [theme]);
31
+ return /* @__PURE__ */ jsx(ThemeContext.Provider, { value: { theme, setTheme }, children });
32
+ };
33
+ var useTheme = () => useContext(ThemeContext);
34
+ export {
35
+ ThemeContext,
36
+ ThemeProvider,
37
+ defaultThemeTypeTranslation,
38
+ useTheme
39
+ };
40
+ //# sourceMappingURL=useTheme.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/useTheme.tsx"],"sourcesContent":["import { useContext } from 'react'\nimport type { Dispatch, SetStateAction, PropsWithChildren } from 'react'\nimport { createContext, useState, useEffect } from 'react'\nimport type { Translation } from './useTranslation'\n\nexport type ThemeType = 'light' | 'dark'\n\nexport type ThemeTypeTranslation = Record<ThemeType, string>\nexport const defaultThemeTypeTranslation: Translation<ThemeTypeTranslation> = {\n en: {\n dark: 'Dark',\n light: 'Light'\n },\n de: {\n dark: 'Dunkel',\n light: 'Hell'\n }\n}\n\ntype ThemeContextType = {\n theme: ThemeType,\n setTheme: Dispatch<SetStateAction<ThemeType>>,\n}\n\nexport const ThemeContext = createContext<ThemeContextType>({\n theme: 'light',\n setTheme: (_: SetStateAction<ThemeType>) => {\n },\n})\n\ntype ThemeProviderProps = {\n initialTheme?: ThemeType,\n}\n\nexport const ThemeProvider = ({ children, initialTheme = 'light' }: PropsWithChildren<ThemeProviderProps>) => {\n const [theme, setTheme] = useState<ThemeType>(initialTheme)\n\n useEffect(() => {\n if (theme !== initialTheme) {\n console.warn('ThemeProvider initial state changed: Prefer using useTheme\\'s setTheme instead')\n setTheme(initialTheme)\n }\n }, [initialTheme]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n document.documentElement.setAttribute('data-theme', theme)\n }, [theme])\n\n return (\n <ThemeContext.Provider value={{ theme, setTheme }}>\n {children}\n </ThemeContext.Provider>\n )\n}\n\n\nexport const useTheme = () => useContext(ThemeContext)\n"],"mappings":";AAAA,SAAS,kBAAkB;AAE3B,SAAS,eAAe,UAAU,iBAAiB;AA+C/C;AAzCG,IAAM,8BAAiE;AAAA,EAC5E,IAAI;AAAA,IACF,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA,IAAI;AAAA,IACF,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AACF;AAOO,IAAM,eAAe,cAAgC;AAAA,EAC1D,OAAO;AAAA,EACP,UAAU,CAAC,MAAiC;AAAA,EAC5C;AACF,CAAC;AAMM,IAAM,gBAAgB,CAAC,EAAE,UAAU,eAAe,QAAQ,MAA6C;AAC5G,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAoB,YAAY;AAE1D,YAAU,MAAM;AACd,QAAI,UAAU,cAAc;AAC1B,cAAQ,KAAK,+EAAgF;AAC7F,eAAS,YAAY;AAAA,IACvB;AAAA,EACF,GAAG,CAAC,YAAY,CAAC;AAEjB,YAAU,MAAM;AACd,aAAS,gBAAgB,aAAa,cAAc,KAAK;AAAA,EAC3D,GAAG,CAAC,KAAK,CAAC;AAEV,SACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,EAAE,OAAO,SAAS,GAC7C,UACH;AAEJ;AAGO,IAAM,WAAW,MAAM,WAAW,YAAY;","names":[]}
@@ -0,0 +1,28 @@
1
+ import { Languages } from './useLanguage.mjs';
2
+ import 'react/jsx-runtime';
3
+ import 'react';
4
+
5
+ type Translation<T> = Record<Languages, T>;
6
+ type OverwriteTranslationType<Translation extends Record<string, unknown>> = {
7
+ language?: Languages;
8
+ translation?: Partial<Record<Languages, Partial<Translation>>>;
9
+ };
10
+ /**
11
+ * Adds the `language` prop to the component props.
12
+ *
13
+ * @param Translation the type of the translation object
14
+ *
15
+ * @param Props the type of the component props, defaults to `Record<string, never>`,
16
+ * if you don't expect any other props other than `language` and get an
17
+ * error when using your component (because it uses `forwardRef` etc.)
18
+ * you can try out `Record<string, unknown>`, this might resolve your
19
+ * problem as `SomeType & never` is still `never` but `SomeType & unknown`
20
+ * is `SomeType` which means that adding back props (like `ref` etc.)
21
+ * works properly
22
+ */
23
+ type PropsForTranslation<Translation extends Record<string, unknown>, Props = Record<string, never>> = Props & {
24
+ overwriteTranslation?: OverwriteTranslationType<Translation>;
25
+ };
26
+ declare const useTranslation: <Translation extends Record<string, unknown>>(defaults: Record<Languages, Translation>, translationOverwrite?: OverwriteTranslationType<Translation>) => Translation;
27
+
28
+ export { type PropsForTranslation, type Translation, useTranslation };
@@ -1,5 +1,8 @@
1
- import type { Languages } from './useLanguage';
2
- export type Translation<T> = Record<Languages, T>;
1
+ import { Languages } from './useLanguage.js';
2
+ import 'react/jsx-runtime';
3
+ import 'react';
4
+
5
+ type Translation<T> = Record<Languages, T>;
3
6
  type OverwriteTranslationType<Translation extends Record<string, unknown>> = {
4
7
  language?: Languages;
5
8
  translation?: Partial<Record<Languages, Partial<Translation>>>;
@@ -17,8 +20,9 @@ type OverwriteTranslationType<Translation extends Record<string, unknown>> = {
17
20
  * is `SomeType` which means that adding back props (like `ref` etc.)
18
21
  * works properly
19
22
  */
20
- export type PropsForTranslation<Translation extends Record<string, unknown>, Props = Record<string, never>> = Props & {
23
+ type PropsForTranslation<Translation extends Record<string, unknown>, Props = Record<string, never>> = Props & {
21
24
  overwriteTranslation?: OverwriteTranslationType<Translation>;
22
25
  };
23
- export declare const useTranslation: <Translation extends Record<string, unknown>>(defaults: Record<Languages, Translation>, translationOverwrite?: OverwriteTranslationType<Translation>) => Translation;
24
- export {};
26
+ declare const useTranslation: <Translation extends Record<string, unknown>>(defaults: Record<Languages, Translation>, translationOverwrite?: OverwriteTranslationType<Translation>) => Translation;
27
+
28
+ export { type PropsForTranslation, type Translation, useTranslation };
@@ -1,11 +1,54 @@
1
- import { useLanguage } from './useLanguage';
2
- export const useTranslation = (defaults, translationOverwrite = {}) => {
3
- const { language: languageProp, translation: overwrite } = translationOverwrite;
4
- const { language: inferredLanguage } = useLanguage();
5
- const usedLanguage = languageProp !== null && languageProp !== void 0 ? languageProp : inferredLanguage;
6
- let defaultValues = defaults[usedLanguage];
7
- if (overwrite && overwrite[usedLanguage]) {
8
- defaultValues = { ...defaultValues, ...overwrite[usedLanguage] };
9
- }
10
- return defaultValues;
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 });
11
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/hooks/useTranslation.ts
21
+ var useTranslation_exports = {};
22
+ __export(useTranslation_exports, {
23
+ useTranslation: () => useTranslation
24
+ });
25
+ module.exports = __toCommonJS(useTranslation_exports);
26
+
27
+ // src/hooks/useLanguage.tsx
28
+ var import_react2 = require("react");
29
+
30
+ // src/hooks/useLocalStorage.tsx
31
+ var import_react = require("react");
32
+
33
+ // src/hooks/useLanguage.tsx
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var DEFAULT_LANGUAGE = "en";
36
+ var LanguageContext = (0, import_react2.createContext)({ language: DEFAULT_LANGUAGE, setLanguage: (v) => v });
37
+ var useLanguage = () => (0, import_react2.useContext)(LanguageContext);
38
+
39
+ // src/hooks/useTranslation.ts
40
+ var useTranslation = (defaults, translationOverwrite = {}) => {
41
+ const { language: languageProp, translation: overwrite } = translationOverwrite;
42
+ const { language: inferredLanguage } = useLanguage();
43
+ const usedLanguage = languageProp ?? inferredLanguage;
44
+ let defaultValues = defaults[usedLanguage];
45
+ if (overwrite && overwrite[usedLanguage]) {
46
+ defaultValues = { ...defaultValues, ...overwrite[usedLanguage] };
47
+ }
48
+ return defaultValues;
49
+ };
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ useTranslation
53
+ });
54
+ //# sourceMappingURL=useTranslation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/useTranslation.ts","../../src/hooks/useLanguage.tsx","../../src/hooks/useLocalStorage.tsx"],"sourcesContent":["import type { Languages } from './useLanguage'\nimport { useLanguage } from './useLanguage'\n\nexport type Translation<T> = Record<Languages, T>\n\ntype OverwriteTranslationType<Translation extends Record<string, unknown>> = {\n language?: Languages,\n translation?: Partial<Record<Languages, Partial<Translation>>>,\n}\n\n/**\n * Adds the `language` prop to the component props.\n *\n * @param Translation the type of the translation object\n *\n * @param Props the type of the component props, defaults to `Record<string, never>`,\n * if you don't expect any other props other than `language` and get an\n * error when using your component (because it uses `forwardRef` etc.)\n * you can try out `Record<string, unknown>`, this might resolve your\n * problem as `SomeType & never` is still `never` but `SomeType & unknown`\n * is `SomeType` which means that adding back props (like `ref` etc.)\n * works properly\n */\nexport type PropsForTranslation<\n Translation extends Record<string, unknown>,\n Props = Record<string, never>\n> = Props & {\n overwriteTranslation?: OverwriteTranslationType<Translation>,\n};\n\nexport const useTranslation = <Translation extends Record<string, unknown>>(\n defaults: Record<Languages, Translation>,\n translationOverwrite: OverwriteTranslationType<Translation> = {}\n) : Translation => {\n const { language: languageProp, translation: overwrite } = translationOverwrite\n const { language: inferredLanguage } = useLanguage()\n const usedLanguage = languageProp ?? inferredLanguage\n let defaultValues: Translation = defaults[usedLanguage]\n if (overwrite && overwrite[usedLanguage]) {\n defaultValues = { ...defaultValues, ...overwrite[usedLanguage] }\n }\n return defaultValues\n}\n","import type { Dispatch, PropsWithChildren, SetStateAction } from 'react'\nimport { createContext, useContext, useEffect, useState } from 'react'\nimport useLocalStorage from './useLocalStorage'\n\nexport const languages = ['en', 'de'] as const\nexport type Languages = typeof languages[number]\nexport const languagesLocalNames: Record<Languages, string> = {\n en: 'English',\n de: 'Deutsch',\n}\n\nexport const DEFAULT_LANGUAGE = 'en'\n\nexport type LanguageContextValue = {\n language: Languages,\n setLanguage: Dispatch<SetStateAction<Languages>>,\n}\n\nexport const LanguageContext = createContext<LanguageContextValue>({ language: DEFAULT_LANGUAGE, setLanguage: (v) => v })\n\nexport const useLanguage = () => useContext(LanguageContext)\n\nexport const useLocale = (overWriteLanguage?: Languages) => {\n const { language } = useLanguage()\n const mapping: Record<Languages, string> = {\n en: 'en-US',\n de: 'de-DE'\n }\n return mapping[overWriteLanguage ?? language]\n}\n\ntype ProvideLanguageProps = {\n initialLanguage?: Languages,\n}\n\nexport const ProvideLanguage = ({ initialLanguage, children }: PropsWithChildren<ProvideLanguageProps>) => {\n const [language, setLanguage] = useState<Languages>(initialLanguage ?? DEFAULT_LANGUAGE)\n const [storedLanguage, setStoredLanguage] = useLocalStorage<Languages>('language', initialLanguage ?? DEFAULT_LANGUAGE)\n\n useEffect(() => {\n if(language !== initialLanguage && initialLanguage){\n console.warn('LanguageProvider initial state changed: Prefer using useLanguages\\'s setLanguage instead')\n setLanguage(initialLanguage)\n }\n }, [initialLanguage]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n // TODO set locale of html tag here as well\n setStoredLanguage(language)\n }, [language, setStoredLanguage])\n\n useEffect(() => {\n if (storedLanguage !== null) {\n setLanguage(storedLanguage)\n return\n }\n\n const languagesToTestAgainst = Object.values(languages)\n\n const matchingBrowserLanguages = window.navigator.languages\n .map(language => languagesToTestAgainst.find((test) => language === test || language.split('-')[0] === test))\n .filter(entry => entry !== undefined)\n\n if (matchingBrowserLanguages.length === 0) return\n\n const firstMatch = matchingBrowserLanguages[0] as Languages\n setLanguage(firstMatch)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <LanguageContext.Provider value={{\n language,\n setLanguage\n }}>\n {children}\n </LanguageContext.Provider>\n )\n}\n","import type { Dispatch, SetStateAction } from 'react'\nimport { useCallback, useEffect, useState } from 'react'\nimport { LocalStorageService } from '../util/storage'\n\ntype SetValue<T> = Dispatch<SetStateAction<T>>\nconst useLocalStorage = <T, >(key: string, initValue: T): [T, SetValue<T>] => {\n const get = useCallback((): T => {\n if (typeof window === 'undefined') {\n return initValue\n }\n const storageService = new LocalStorageService()\n const value = storageService.get<T>(key)\n return value || initValue\n }, [initValue, key])\n\n const [storedValue, setStoredValue] = useState<T>(get)\n\n const setValue: SetValue<T> = useCallback(value => {\n const newValue = value instanceof Function ? value(storedValue) : value\n const storageService = new LocalStorageService()\n storageService.set(key, value)\n\n setStoredValue(newValue)\n }, [storedValue, setStoredValue, key])\n\n useEffect(() => {\n setStoredValue(get())\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return [storedValue, setValue]\n}\n\nexport default useLocalStorage\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,IAAAA,gBAA+D;;;ACA/D,mBAAiD;;;ADqE7C;AA3DG,IAAM,mBAAmB;AAOzB,IAAM,sBAAkB,6BAAoC,EAAE,UAAU,kBAAkB,aAAa,CAAC,MAAM,EAAE,CAAC;AAEjH,IAAM,cAAc,UAAM,0BAAW,eAAe;;;ADUpD,IAAM,iBAAiB,CAC5B,UACA,uBAA8D,CAAC,MAC9C;AACjB,QAAM,EAAE,UAAU,cAAc,aAAa,UAAU,IAAI;AAC3D,QAAM,EAAE,UAAU,iBAAiB,IAAI,YAAY;AACnD,QAAM,eAAe,gBAAgB;AACrC,MAAI,gBAA6B,SAAS,YAAY;AACtD,MAAI,aAAa,UAAU,YAAY,GAAG;AACxC,oBAAgB,EAAE,GAAG,eAAe,GAAG,UAAU,YAAY,EAAE;AAAA,EACjE;AACA,SAAO;AACT;","names":["import_react"]}
@@ -0,0 +1,27 @@
1
+ // src/hooks/useLanguage.tsx
2
+ import { createContext, useContext, useEffect as useEffect2, useState as useState2 } from "react";
3
+
4
+ // src/hooks/useLocalStorage.tsx
5
+ import { useCallback, useEffect, useState } from "react";
6
+
7
+ // src/hooks/useLanguage.tsx
8
+ import { jsx } from "react/jsx-runtime";
9
+ var DEFAULT_LANGUAGE = "en";
10
+ var LanguageContext = createContext({ language: DEFAULT_LANGUAGE, setLanguage: (v) => v });
11
+ var useLanguage = () => useContext(LanguageContext);
12
+
13
+ // src/hooks/useTranslation.ts
14
+ var useTranslation = (defaults, translationOverwrite = {}) => {
15
+ const { language: languageProp, translation: overwrite } = translationOverwrite;
16
+ const { language: inferredLanguage } = useLanguage();
17
+ const usedLanguage = languageProp ?? inferredLanguage;
18
+ let defaultValues = defaults[usedLanguage];
19
+ if (overwrite && overwrite[usedLanguage]) {
20
+ defaultValues = { ...defaultValues, ...overwrite[usedLanguage] };
21
+ }
22
+ return defaultValues;
23
+ };
24
+ export {
25
+ useTranslation
26
+ };
27
+ //# sourceMappingURL=useTranslation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/useLanguage.tsx","../../src/hooks/useLocalStorage.tsx","../../src/hooks/useTranslation.ts"],"sourcesContent":["import type { Dispatch, PropsWithChildren, SetStateAction } from 'react'\nimport { createContext, useContext, useEffect, useState } from 'react'\nimport useLocalStorage from './useLocalStorage'\n\nexport const languages = ['en', 'de'] as const\nexport type Languages = typeof languages[number]\nexport const languagesLocalNames: Record<Languages, string> = {\n en: 'English',\n de: 'Deutsch',\n}\n\nexport const DEFAULT_LANGUAGE = 'en'\n\nexport type LanguageContextValue = {\n language: Languages,\n setLanguage: Dispatch<SetStateAction<Languages>>,\n}\n\nexport const LanguageContext = createContext<LanguageContextValue>({ language: DEFAULT_LANGUAGE, setLanguage: (v) => v })\n\nexport const useLanguage = () => useContext(LanguageContext)\n\nexport const useLocale = (overWriteLanguage?: Languages) => {\n const { language } = useLanguage()\n const mapping: Record<Languages, string> = {\n en: 'en-US',\n de: 'de-DE'\n }\n return mapping[overWriteLanguage ?? language]\n}\n\ntype ProvideLanguageProps = {\n initialLanguage?: Languages,\n}\n\nexport const ProvideLanguage = ({ initialLanguage, children }: PropsWithChildren<ProvideLanguageProps>) => {\n const [language, setLanguage] = useState<Languages>(initialLanguage ?? DEFAULT_LANGUAGE)\n const [storedLanguage, setStoredLanguage] = useLocalStorage<Languages>('language', initialLanguage ?? DEFAULT_LANGUAGE)\n\n useEffect(() => {\n if(language !== initialLanguage && initialLanguage){\n console.warn('LanguageProvider initial state changed: Prefer using useLanguages\\'s setLanguage instead')\n setLanguage(initialLanguage)\n }\n }, [initialLanguage]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n // TODO set locale of html tag here as well\n setStoredLanguage(language)\n }, [language, setStoredLanguage])\n\n useEffect(() => {\n if (storedLanguage !== null) {\n setLanguage(storedLanguage)\n return\n }\n\n const languagesToTestAgainst = Object.values(languages)\n\n const matchingBrowserLanguages = window.navigator.languages\n .map(language => languagesToTestAgainst.find((test) => language === test || language.split('-')[0] === test))\n .filter(entry => entry !== undefined)\n\n if (matchingBrowserLanguages.length === 0) return\n\n const firstMatch = matchingBrowserLanguages[0] as Languages\n setLanguage(firstMatch)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <LanguageContext.Provider value={{\n language,\n setLanguage\n }}>\n {children}\n </LanguageContext.Provider>\n )\n}\n","import type { Dispatch, SetStateAction } from 'react'\nimport { useCallback, useEffect, useState } from 'react'\nimport { LocalStorageService } from '../util/storage'\n\ntype SetValue<T> = Dispatch<SetStateAction<T>>\nconst useLocalStorage = <T, >(key: string, initValue: T): [T, SetValue<T>] => {\n const get = useCallback((): T => {\n if (typeof window === 'undefined') {\n return initValue\n }\n const storageService = new LocalStorageService()\n const value = storageService.get<T>(key)\n return value || initValue\n }, [initValue, key])\n\n const [storedValue, setStoredValue] = useState<T>(get)\n\n const setValue: SetValue<T> = useCallback(value => {\n const newValue = value instanceof Function ? value(storedValue) : value\n const storageService = new LocalStorageService()\n storageService.set(key, value)\n\n setStoredValue(newValue)\n }, [storedValue, setStoredValue, key])\n\n useEffect(() => {\n setStoredValue(get())\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return [storedValue, setValue]\n}\n\nexport default useLocalStorage\n","import type { Languages } from './useLanguage'\nimport { useLanguage } from './useLanguage'\n\nexport type Translation<T> = Record<Languages, T>\n\ntype OverwriteTranslationType<Translation extends Record<string, unknown>> = {\n language?: Languages,\n translation?: Partial<Record<Languages, Partial<Translation>>>,\n}\n\n/**\n * Adds the `language` prop to the component props.\n *\n * @param Translation the type of the translation object\n *\n * @param Props the type of the component props, defaults to `Record<string, never>`,\n * if you don't expect any other props other than `language` and get an\n * error when using your component (because it uses `forwardRef` etc.)\n * you can try out `Record<string, unknown>`, this might resolve your\n * problem as `SomeType & never` is still `never` but `SomeType & unknown`\n * is `SomeType` which means that adding back props (like `ref` etc.)\n * works properly\n */\nexport type PropsForTranslation<\n Translation extends Record<string, unknown>,\n Props = Record<string, never>\n> = Props & {\n overwriteTranslation?: OverwriteTranslationType<Translation>,\n};\n\nexport const useTranslation = <Translation extends Record<string, unknown>>(\n defaults: Record<Languages, Translation>,\n translationOverwrite: OverwriteTranslationType<Translation> = {}\n) : Translation => {\n const { language: languageProp, translation: overwrite } = translationOverwrite\n const { language: inferredLanguage } = useLanguage()\n const usedLanguage = languageProp ?? inferredLanguage\n let defaultValues: Translation = defaults[usedLanguage]\n if (overwrite && overwrite[usedLanguage]) {\n defaultValues = { ...defaultValues, ...overwrite[usedLanguage] }\n }\n return defaultValues\n}\n"],"mappings":";AACA,SAAS,eAAe,YAAY,aAAAA,YAAW,YAAAC,iBAAgB;;;ACA/D,SAAS,aAAa,WAAW,gBAAgB;;;ADqE7C;AA3DG,IAAM,mBAAmB;AAOzB,IAAM,kBAAkB,cAAoC,EAAE,UAAU,kBAAkB,aAAa,CAAC,MAAM,EAAE,CAAC;AAEjH,IAAM,cAAc,MAAM,WAAW,eAAe;;;AEUpD,IAAM,iBAAiB,CAC5B,UACA,uBAA8D,CAAC,MAC9C;AACjB,QAAM,EAAE,UAAU,cAAc,aAAa,UAAU,IAAI;AAC3D,QAAM,EAAE,UAAU,iBAAiB,IAAI,YAAY;AACnD,QAAM,eAAe,gBAAgB;AACrC,MAAI,gBAA6B,SAAS,YAAY;AACtD,MAAI,aAAa,UAAU,YAAY,GAAG;AACxC,oBAAgB,EAAE,GAAG,eAAe,GAAG,UAAU,YAAY,EAAE;AAAA,EACjE;AACA,SAAO;AACT;","names":["useEffect","useState"]}
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -0,0 +1,2 @@
1
+
2
+ export { }
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/index.mjs ADDED
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,25 @@
1
+ declare const equalSizeGroups: <T>(array: T[], groupSize: number) => T[][];
2
+ /**
3
+ * @param start
4
+ * @param end inclusive
5
+ * @param allowEmptyRange Whether the range can be defined empty via end < start
6
+ */
7
+ declare const range: (start: number, end: number, allowEmptyRange?: boolean) => number[];
8
+ /** Finds the closest match
9
+ * @param list The list of all possible matches
10
+ * @param firstCloser Return whether item1 is closer than item2
11
+ */
12
+ declare const closestMatch: <T>(list: T[], firstCloser: (item1: T, item2: T) => boolean) => T;
13
+ /**
14
+ * returns the item in middle of a list and its neighbours before and after
15
+ * e.g. [1,2,3,4,5,6] for item = 1 would return [5,6,1,2,3]
16
+ */
17
+ declare const getNeighbours: <T>(list: T[], item: T, neighbourDistance?: number) => T[];
18
+ declare const createLoopingListWithIndex: <T>(list: T[], startIndex?: number, length?: number, forwards?: boolean) => [number, T][];
19
+ declare const createLoopingList: <T>(list: T[], startIndex?: number, length?: number, forwards?: boolean) => T[];
20
+ declare const ArrayUtil: {
21
+ unique: <T>(list: T[]) => T[];
22
+ difference: <T>(list: T[], removeList: T[]) => T[];
23
+ };
24
+
25
+ export { ArrayUtil, closestMatch, createLoopingList, createLoopingListWithIndex, equalSizeGroups, getNeighbours, range };
@@ -1,23 +1,25 @@
1
- export declare const equalSizeGroups: <T>(array: T[], groupSize: number) => T[][];
1
+ declare const equalSizeGroups: <T>(array: T[], groupSize: number) => T[][];
2
2
  /**
3
3
  * @param start
4
4
  * @param end inclusive
5
5
  * @param allowEmptyRange Whether the range can be defined empty via end < start
6
6
  */
7
- export declare const range: (start: number, end: number, allowEmptyRange?: boolean) => number[];
7
+ declare const range: (start: number, end: number, allowEmptyRange?: boolean) => number[];
8
8
  /** Finds the closest match
9
9
  * @param list The list of all possible matches
10
10
  * @param firstCloser Return whether item1 is closer than item2
11
11
  */
12
- export declare const closestMatch: <T>(list: T[], firstCloser: (item1: T, item2: T) => boolean) => T;
12
+ declare const closestMatch: <T>(list: T[], firstCloser: (item1: T, item2: T) => boolean) => T;
13
13
  /**
14
14
  * returns the item in middle of a list and its neighbours before and after
15
15
  * e.g. [1,2,3,4,5,6] for item = 1 would return [5,6,1,2,3]
16
16
  */
17
- export declare const getNeighbours: <T>(list: T[], item: T, neighbourDistance?: number) => T[];
18
- export declare const createLoopingListWithIndex: <T>(list: T[], startIndex?: number, length?: number, forwards?: boolean) => [number, T][];
19
- export declare const createLoopingList: <T>(list: T[], startIndex?: number, length?: number, forwards?: boolean) => T[];
20
- export declare const ArrayUtil: {
17
+ declare const getNeighbours: <T>(list: T[], item: T, neighbourDistance?: number) => T[];
18
+ declare const createLoopingListWithIndex: <T>(list: T[], startIndex?: number, length?: number, forwards?: boolean) => [number, T][];
19
+ declare const createLoopingList: <T>(list: T[], startIndex?: number, length?: number, forwards?: boolean) => T[];
20
+ declare const ArrayUtil: {
21
21
  unique: <T>(list: T[]) => T[];
22
22
  difference: <T>(list: T[], removeList: T[]) => T[];
23
23
  };
24
+
25
+ export { ArrayUtil, closestMatch, createLoopingList, createLoopingListWithIndex, equalSizeGroups, getNeighbours, range };
@@ -1,103 +1,130 @@
1
- export const equalSizeGroups = (array, groupSize) => {
2
- if (groupSize <= 0) {
3
- console.warn(`group size should be greater than 0: groupSize = ${groupSize}`);
4
- return [[...array]];
5
- }
6
- const groups = [];
7
- for (let i = 0; i < array.length; i += groupSize) {
8
- groups.push(array.slice(i, Math.min(i + groupSize, array.length)));
9
- }
10
- return groups;
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 });
11
9
  };
12
- /**
13
- * @param start
14
- * @param end inclusive
15
- * @param allowEmptyRange Whether the range can be defined empty via end < start
16
- */
17
- export const range = (start, end, allowEmptyRange = false) => {
18
- if (end < start) {
19
- if (!allowEmptyRange) {
20
- console.warn(`range: end (${end}) < start (${start}) should be allowed explicitly, set allowEmptyRange to true`);
21
- }
22
- return [];
23
- }
24
- return Array.from({ length: end - start + 1 }, (_, index) => index + start);
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;
25
17
  };
26
- /** Finds the closest match
27
- * @param list The list of all possible matches
28
- * @param firstCloser Return whether item1 is closer than item2
29
- */
30
- export const closestMatch = (list, firstCloser) => {
31
- return list.reduce((item1, item2) => {
32
- return firstCloser(item1, item2) ? item1 : item2;
33
- });
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/util/array.ts
21
+ var array_exports = {};
22
+ __export(array_exports, {
23
+ ArrayUtil: () => ArrayUtil,
24
+ closestMatch: () => closestMatch,
25
+ createLoopingList: () => createLoopingList,
26
+ createLoopingListWithIndex: () => createLoopingListWithIndex,
27
+ equalSizeGroups: () => equalSizeGroups,
28
+ getNeighbours: () => getNeighbours,
29
+ range: () => range
30
+ });
31
+ module.exports = __toCommonJS(array_exports);
32
+ var equalSizeGroups = (array, groupSize) => {
33
+ if (groupSize <= 0) {
34
+ console.warn(`group size should be greater than 0: groupSize = ${groupSize}`);
35
+ return [[...array]];
36
+ }
37
+ const groups = [];
38
+ for (let i = 0; i < array.length; i += groupSize) {
39
+ groups.push(array.slice(i, Math.min(i + groupSize, array.length)));
40
+ }
41
+ return groups;
34
42
  };
35
- /**
36
- * returns the item in middle of a list and its neighbours before and after
37
- * e.g. [1,2,3,4,5,6] for item = 1 would return [5,6,1,2,3]
38
- */
39
- export const getNeighbours = (list, item, neighbourDistance = 2) => {
40
- const index = list.indexOf(item);
41
- const totalItems = neighbourDistance * 2 + 1;
42
- if (list.length < totalItems) {
43
- console.warn('List is to short');
44
- return list;
45
- }
46
- if (index === -1) {
47
- console.error('item not found in list');
48
- return list.splice(0, totalItems);
49
- }
50
- let start = index - neighbourDistance;
51
- if (start < 0) {
52
- start += list.length;
43
+ var range = (start, end, allowEmptyRange = false) => {
44
+ if (end < start) {
45
+ if (!allowEmptyRange) {
46
+ console.warn(`range: end (${end}) < start (${start}) should be allowed explicitly, set allowEmptyRange to true`);
53
47
  }
54
- const end = (index + neighbourDistance + 1) % list.length;
55
- const result = [];
56
- let ignoreOnce = list.length === totalItems;
57
- for (let i = start; i !== end || ignoreOnce; i = (i + 1) % list.length) {
58
- result.push(list[i]);
59
- if (end === i && ignoreOnce) {
60
- ignoreOnce = false;
61
- }
62
- }
63
- return result;
48
+ return [];
49
+ }
50
+ return Array.from({ length: end - start + 1 }, (_, index) => index + start);
64
51
  };
65
- export const createLoopingListWithIndex = (list, startIndex = 0, length = 0, forwards = true) => {
66
- if (length < 0) {
67
- console.warn(`createLoopingList: length must be >= 0, given ${length}`);
68
- }
69
- else if (length === 0) {
70
- length = list.length;
52
+ var closestMatch = (list, firstCloser) => {
53
+ return list.reduce((item1, item2) => {
54
+ return firstCloser(item1, item2) ? item1 : item2;
55
+ });
56
+ };
57
+ var getNeighbours = (list, item, neighbourDistance = 2) => {
58
+ const index = list.indexOf(item);
59
+ const totalItems = neighbourDistance * 2 + 1;
60
+ if (list.length < totalItems) {
61
+ console.warn("List is to short");
62
+ return list;
63
+ }
64
+ if (index === -1) {
65
+ console.error("item not found in list");
66
+ return list.splice(0, totalItems);
67
+ }
68
+ let start = index - neighbourDistance;
69
+ if (start < 0) {
70
+ start += list.length;
71
+ }
72
+ const end = (index + neighbourDistance + 1) % list.length;
73
+ const result = [];
74
+ let ignoreOnce = list.length === totalItems;
75
+ for (let i = start; i !== end || ignoreOnce; i = (i + 1) % list.length) {
76
+ result.push(list[i]);
77
+ if (end === i && ignoreOnce) {
78
+ ignoreOnce = false;
71
79
  }
72
- const returnList = [];
73
- if (forwards) {
74
- for (let i = startIndex; returnList.length < length; i = (i + 1) % list.length) {
75
- returnList.push([i, list[i]]);
76
- }
80
+ }
81
+ return result;
82
+ };
83
+ var createLoopingListWithIndex = (list, startIndex = 0, length = 0, forwards = true) => {
84
+ if (length < 0) {
85
+ console.warn(`createLoopingList: length must be >= 0, given ${length}`);
86
+ } else if (length === 0) {
87
+ length = list.length;
88
+ }
89
+ const returnList = [];
90
+ if (forwards) {
91
+ for (let i = startIndex; returnList.length < length; i = (i + 1) % list.length) {
92
+ returnList.push([i, list[i]]);
77
93
  }
78
- else {
79
- for (let i = startIndex; returnList.length < length; i = i === 0 ? i = list.length - 1 : i - 1) {
80
- returnList.push([i, list[i]]);
81
- }
94
+ } else {
95
+ for (let i = startIndex; returnList.length < length; i = i === 0 ? i = list.length - 1 : i - 1) {
96
+ returnList.push([i, list[i]]);
82
97
  }
83
- return returnList;
98
+ }
99
+ return returnList;
84
100
  };
85
- export const createLoopingList = (list, startIndex = 0, length = 0, forwards = true) => {
86
- return createLoopingListWithIndex(list, startIndex, length, forwards).map(([_, item]) => item);
101
+ var createLoopingList = (list, startIndex = 0, length = 0, forwards = true) => {
102
+ return createLoopingListWithIndex(list, startIndex, length, forwards).map(([_, item]) => item);
87
103
  };
88
- export const ArrayUtil = {
89
- unique: (list) => {
90
- const seen = new Set();
91
- return list.filter((item) => {
92
- if (seen.has(item)) {
93
- return false;
94
- }
95
- seen.add(item);
96
- return true;
97
- });
98
- },
99
- difference: (list, removeList) => {
100
- const remove = new Set(removeList);
101
- return list.filter((item) => !remove.has(item));
102
- }
104
+ var ArrayUtil = {
105
+ unique: (list) => {
106
+ const seen = /* @__PURE__ */ new Set();
107
+ return list.filter((item) => {
108
+ if (seen.has(item)) {
109
+ return false;
110
+ }
111
+ seen.add(item);
112
+ return true;
113
+ });
114
+ },
115
+ difference: (list, removeList) => {
116
+ const remove = new Set(removeList);
117
+ return list.filter((item) => !remove.has(item));
118
+ }
103
119
  };
120
+ // Annotate the CommonJS export names for ESM import in node:
121
+ 0 && (module.exports = {
122
+ ArrayUtil,
123
+ closestMatch,
124
+ createLoopingList,
125
+ createLoopingListWithIndex,
126
+ equalSizeGroups,
127
+ getNeighbours,
128
+ range
129
+ });
130
+ //# sourceMappingURL=array.js.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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,kBAAkB,CAAK,OAAY,cAA6B;AAC3E,MAAI,aAAa,GAAG;AAClB,YAAQ,KAAK,oDAAoD,SAAS,EAAE;AAC5E,WAAO,CAAC,CAAC,GAAG,KAAK,CAAC;AAAA,EACpB;AAEA,QAAM,SAAS,CAAC;AAChB,WAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK,WAAW;AAChD,WAAO,KAAK,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI,WAAW,MAAM,MAAM,CAAC,CAAC;AAAA,EACnE;AACA,SAAO;AACT;AAOO,IAAM,QAAQ,CAAC,OAAe,KAAa,kBAA2B,UAAoB;AAC/F,MAAI,MAAM,OAAO;AACf,QAAI,CAAC,iBAAiB;AACpB,cAAQ,KAAK,eAAe,GAAG,cAAc,KAAK,6DAA6D;AAAA,IACjH;AACA,WAAO,CAAC;AAAA,EACV;AACA,SAAO,MAAM,KAAK,EAAE,QAAQ,MAAM,QAAQ,EAAE,GAAG,CAAC,GAAG,UAAU,QAAQ,KAAK;AAC5E;AAMO,IAAM,eAAe,CAAK,MAAW,gBAAiD;AAC3F,SAAO,KAAK,OAAO,CAAC,OAAO,UAAU;AACnC,WAAO,YAAY,OAAO,KAAK,IAAI,QAAQ;AAAA,EAC7C,CAAC;AACH;AAMO,IAAM,gBAAgB,CAAK,MAAW,MAAS,oBAA4B,MAAM;AACtF,QAAM,QAAQ,KAAK,QAAQ,IAAI;AAC/B,QAAM,aAAa,oBAAoB,IAAI;AAC3C,MAAI,KAAK,SAAS,YAAY;AAC5B,YAAQ,KAAK,kBAAkB;AAC/B,WAAO;AAAA,EACT;AAEA,MAAI,UAAU,IAAI;AAChB,YAAQ,MAAM,wBAAwB;AACtC,WAAO,KAAK,OAAO,GAAG,UAAU;AAAA,EAClC;AAEA,MAAI,QAAQ,QAAQ;AACpB,MAAI,QAAQ,GAAG;AACb,aAAS,KAAK;AAAA,EAChB;AACA,QAAM,OAAO,QAAQ,oBAAoB,KAAK,KAAK;AAEnD,QAAM,SAAc,CAAC;AACrB,MAAI,aAAa,KAAK,WAAW;AACjC,WAAS,IAAI,OAAO,MAAM,OAAO,YAAY,KAAK,IAAI,KAAK,KAAK,QAAQ;AACtE,WAAO,KAAK,KAAK,CAAC,CAAE;AACpB,QAAI,QAAQ,KAAK,YAAY;AAC3B,mBAAa;AAAA,IACf;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,6BAA6B,CAAK,MAAW,aAAqB,GAAG,SAAiB,GAAG,WAAoB,SAAS;AACjI,MAAI,SAAS,GAAG;AACd,YAAQ,KAAK,iDAAiD,MAAM,EAAE;AAAA,EACxE,WAAW,WAAW,GAAG;AACvB,aAAS,KAAK;AAAA,EAChB;AAEA,QAAM,aAA4B,CAAC;AAEnC,MAAI,UAAU;AACZ,aAAS,IAAI,YAAY,WAAW,SAAS,QAAQ,KAAK,IAAI,KAAK,KAAK,QAAQ;AAC9E,iBAAW,KAAK,CAAC,GAAG,KAAK,CAAC,CAAE,CAAC;AAAA,IAC/B;AAAA,EACF,OAAO;AACL,aAAS,IAAI,YAAY,WAAW,SAAS,QAAQ,IAAI,MAAM,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,GAAG;AAC9F,iBAAW,KAAK,CAAC,GAAG,KAAK,CAAC,CAAE,CAAC;AAAA,IAC/B;AAAA,EACF;AAEA,SAAO;AACT;AAEO,IAAM,oBAAoB,CAAK,MAAW,aAAqB,GAAG,SAAiB,GAAG,WAAoB,SAAS;AACxH,SAAO,2BAA2B,MAAM,YAAY,QAAQ,QAAQ,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI;AAC/F;AAEO,IAAM,YAAY;AAAA,EACvB,QAAQ,CAAI,SAAmB;AAC7B,UAAM,OAAO,oBAAI,IAAO;AACxB,WAAO,KAAK,OAAO,CAAC,SAAS;AAC3B,UAAI,KAAK,IAAI,IAAI,GAAG;AAClB,eAAO;AAAA,MACT;AACA,WAAK,IAAI,IAAI;AACb,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AAAA,EAEA,YAAY,CAAI,MAAW,eAAyB;AAClD,UAAM,SAAS,IAAI,IAAO,UAAU;AACpC,WAAO,KAAK,OAAO,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC;AAAA,EAChD;AACF;","names":[]}