@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,823 @@
1
+ // src/components/examples/TableExample.tsx
2
+ import { useEffect as useEffect6, useState as useState7 } from "react";
3
+
4
+ // src/components/Table.tsx
5
+ import { Scrollbars } from "react-custom-scrollbars-2";
6
+ import { useEffect as useEffect3, useRef, useState as useState4 } from "react";
7
+
8
+ // src/util/noop.ts
9
+ var noop = () => void 0;
10
+
11
+ // src/components/user-input/Checkbox.tsx
12
+ import { useState } from "react";
13
+ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
14
+ import { Check, Minus } from "lucide-react";
15
+ import clsx from "clsx";
16
+
17
+ // src/components/user-input/Label.tsx
18
+ import { jsx } from "react/jsx-runtime";
19
+ var styleMapping = {
20
+ labelSmall: "textstyle-label-sm",
21
+ labelMedium: "textstyle-label-md",
22
+ labelBig: "textstyle-label-lg"
23
+ };
24
+ var Label = ({
25
+ children,
26
+ name,
27
+ labelType = "labelSmall",
28
+ ...props
29
+ }) => {
30
+ return /* @__PURE__ */ jsx("label", { ...props, children: children ? children : /* @__PURE__ */ jsx("span", { className: styleMapping[labelType], children: name }) });
31
+ };
32
+
33
+ // src/components/user-input/Checkbox.tsx
34
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
35
+ var checkboxSizeMapping = {
36
+ small: "size-4",
37
+ medium: "size-6",
38
+ large: "size-8"
39
+ };
40
+ var checkboxIconSizeMapping = {
41
+ small: "size-3",
42
+ medium: "size-5",
43
+ large: "size-7"
44
+ };
45
+ var ControlledCheckbox = ({
46
+ id,
47
+ label,
48
+ checked,
49
+ disabled,
50
+ onChange,
51
+ onChangeTristate,
52
+ size = "medium",
53
+ className = "",
54
+ containerClassName
55
+ }) => {
56
+ const usedSizeClass = checkboxSizeMapping[size];
57
+ const innerIconSize = checkboxIconSizeMapping[size];
58
+ const propagateChange = (checked2) => {
59
+ if (onChangeTristate) {
60
+ onChangeTristate(checked2);
61
+ }
62
+ if (onChange) {
63
+ onChange(checked2 === "indeterminate" ? false : checked2);
64
+ }
65
+ };
66
+ const changeValue = () => {
67
+ const newValue = checked === "indeterminate" ? false : !checked;
68
+ propagateChange(newValue);
69
+ };
70
+ return /* @__PURE__ */ jsxs("div", { className: clsx("row justify-center items-center", containerClassName), children: [
71
+ /* @__PURE__ */ jsx2(
72
+ CheckboxPrimitive.Root,
73
+ {
74
+ onCheckedChange: propagateChange,
75
+ checked,
76
+ disabled,
77
+ id,
78
+ className: clsx(usedSizeClass, `items-center border-2 rounded outline-none focus:border-primary`, {
79
+ "text-disabled-text border-disabled-text": disabled,
80
+ "border-on-background": !disabled,
81
+ "bg-primary/30 border-primary text-primary": checked === true || checked === "indeterminate",
82
+ "hover:border-gray-400 focus:hover:border-primary": !checked
83
+ }, className),
84
+ children: /* @__PURE__ */ jsxs(CheckboxPrimitive.Indicator, { children: [
85
+ checked === true && /* @__PURE__ */ jsx2(Check, { className: innerIconSize }),
86
+ checked === "indeterminate" && /* @__PURE__ */ jsx2(Minus, { className: innerIconSize })
87
+ ] })
88
+ }
89
+ ),
90
+ label && /* @__PURE__ */ jsx2(Label, { ...label, className: clsx("cursor-pointer", label.className), htmlFor: id, onClick: changeValue })
91
+ ] });
92
+ };
93
+
94
+ // src/components/Pagination.tsx
95
+ import { ChevronLast, ChevronLeft, ChevronFirst, ChevronRight } from "lucide-react";
96
+ import clsx2 from "clsx";
97
+
98
+ // src/hooks/useLanguage.tsx
99
+ import { createContext, useContext, useEffect as useEffect2, useState as useState3 } from "react";
100
+
101
+ // src/hooks/useLocalStorage.tsx
102
+ import { useCallback, useEffect, useState as useState2 } from "react";
103
+
104
+ // src/hooks/useLanguage.tsx
105
+ import { jsx as jsx3 } from "react/jsx-runtime";
106
+ var DEFAULT_LANGUAGE = "en";
107
+ var LanguageContext = createContext({ language: DEFAULT_LANGUAGE, setLanguage: (v) => v });
108
+ var useLanguage = () => useContext(LanguageContext);
109
+
110
+ // src/hooks/useTranslation.ts
111
+ var useTranslation = (defaults, translationOverwrite = {}) => {
112
+ const { language: languageProp, translation: overwrite } = translationOverwrite;
113
+ const { language: inferredLanguage } = useLanguage();
114
+ const usedLanguage = languageProp ?? inferredLanguage;
115
+ let defaultValues = defaults[usedLanguage];
116
+ if (overwrite && overwrite[usedLanguage]) {
117
+ defaultValues = { ...defaultValues, ...overwrite[usedLanguage] };
118
+ }
119
+ return defaultValues;
120
+ };
121
+
122
+ // src/components/Pagination.tsx
123
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
124
+ var defaultPaginationTranslations = {
125
+ en: {
126
+ of: "of"
127
+ },
128
+ de: {
129
+ of: "von"
130
+ }
131
+ };
132
+ var Pagination = ({
133
+ overwriteTranslation,
134
+ page,
135
+ numberOfPages,
136
+ onPageChanged
137
+ }) => {
138
+ const translation = useTranslation(defaultPaginationTranslations, overwriteTranslation);
139
+ const changePage = (page2) => {
140
+ onPageChanged(page2);
141
+ };
142
+ const noPages = numberOfPages === 0;
143
+ const onFirstPage = page === 0 && !noPages;
144
+ const onLastPage = page === numberOfPages - 1;
145
+ return /* @__PURE__ */ jsxs2("div", { className: clsx2("row", { "opacity-30": noPages }), children: [
146
+ /* @__PURE__ */ jsx4("button", { onClick: () => changePage(0), disabled: onFirstPage, children: /* @__PURE__ */ jsx4(ChevronFirst, { className: clsx2({ "opacity-30": onFirstPage }) }) }),
147
+ /* @__PURE__ */ jsx4("button", { onClick: () => changePage(page - 1), disabled: onFirstPage, children: /* @__PURE__ */ jsx4(ChevronLeft, { className: clsx2({ "opacity-30": onFirstPage }) }) }),
148
+ /* @__PURE__ */ jsxs2("div", { className: "min-w-[80px] justify-center mx-2", children: [
149
+ /* @__PURE__ */ jsx4("span", { className: "select-none text-right flex-1", children: noPages ? 0 : page + 1 }),
150
+ /* @__PURE__ */ jsx4("span", { className: "select-none mx-2", children: translation.of }),
151
+ /* @__PURE__ */ jsx4("span", { className: "select-none text-left flex-1", children: numberOfPages })
152
+ ] }),
153
+ /* @__PURE__ */ jsx4("button", { onClick: () => changePage(page + 1), disabled: onLastPage || noPages, children: /* @__PURE__ */ jsx4(ChevronRight, { className: clsx2({ "opacity-30": onLastPage }) }) }),
154
+ /* @__PURE__ */ jsx4("button", { onClick: () => changePage(numberOfPages - 1), disabled: onLastPage || noPages, children: /* @__PURE__ */ jsx4(ChevronLast, { className: clsx2({ "opacity-30": onLastPage }) }) })
155
+ ] });
156
+ };
157
+
158
+ // src/components/Table.tsx
159
+ import clsx3 from "clsx";
160
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
161
+ var defaultTableStatePagination = {
162
+ currentPage: 0,
163
+ entriesPerPage: 5
164
+ };
165
+ var defaultTableStateSelection = {
166
+ currentSelection: [],
167
+ hasSelectedAll: false,
168
+ hasSelectedSome: false,
169
+ hasSelectedNone: true
170
+ };
171
+ var isDataObjectSelected = (tableState, dataObject, identifierMapping) => {
172
+ if (!tableState.selection) {
173
+ return false;
174
+ }
175
+ return !!tableState.selection.currentSelection.find((value) => value.localeCompare(identifierMapping(dataObject)) === 0);
176
+ };
177
+ var pageForItem = (data, item, entriesPerPage, identifierMapping) => {
178
+ const index = data.findIndex((value) => identifierMapping(value) === identifierMapping(item));
179
+ if (index !== -1) {
180
+ return Math.floor(index / entriesPerPage);
181
+ }
182
+ console.warn("item doesn't exist on data", item, data);
183
+ return 0;
184
+ };
185
+ var updatePagination = (pagination, dataLength) => ({
186
+ ...pagination,
187
+ currentPage: Math.min(Math.max(Math.ceil(dataLength / pagination.entriesPerPage) - 1, 0), pagination.currentPage)
188
+ });
189
+ var addElementToTable = (tableState, data, dataObject, identifierMapping) => {
190
+ return {
191
+ ...tableState,
192
+ pagination: tableState.pagination ? {
193
+ ...tableState.pagination,
194
+ currentPage: pageForItem(data, dataObject, tableState.pagination.entriesPerPage, identifierMapping)
195
+ } : void 0,
196
+ selection: tableState.selection ? {
197
+ ...tableState.selection,
198
+ hasSelectedAll: false,
199
+ hasSelectedSome: tableState.selection.hasSelectedAll || tableState.selection.hasSelectedSome
200
+ } : void 0
201
+ };
202
+ };
203
+ var removeFromTableSelection = (tableState, deletedObjects, dataLength, identifierMapping) => {
204
+ if (!tableState.selection) {
205
+ return tableState;
206
+ }
207
+ const deletedObjectIds = deletedObjects.map(identifierMapping);
208
+ const elementsBefore = tableState.selection.currentSelection.length;
209
+ const currentSelection = tableState.selection.currentSelection.filter((value) => !deletedObjectIds.includes(value));
210
+ dataLength -= elementsBefore - currentSelection.length;
211
+ return {
212
+ ...tableState,
213
+ selection: {
214
+ currentSelection,
215
+ hasSelectedAll: currentSelection.length === dataLength && dataLength !== 0,
216
+ hasSelectedSome: currentSelection.length > 0 && currentSelection.length !== dataLength,
217
+ hasSelectedNone: currentSelection.length === 0
218
+ },
219
+ pagination: tableState.pagination ? updatePagination(tableState.pagination, dataLength) : void 0
220
+ };
221
+ };
222
+ var changeTableSelectionSingle = (tableState, dataObject, dataLength, identifierMapping) => {
223
+ if (!tableState.selection) {
224
+ return tableState;
225
+ }
226
+ const hasSelectedObject = isDataObjectSelected(tableState, dataObject, identifierMapping);
227
+ let currentSelection = [...tableState.selection.currentSelection, identifierMapping(dataObject)];
228
+ if (hasSelectedObject) {
229
+ currentSelection = tableState.selection.currentSelection.filter((value) => value.localeCompare(identifierMapping(dataObject)) !== 0);
230
+ }
231
+ return {
232
+ ...tableState,
233
+ selection: {
234
+ currentSelection,
235
+ hasSelectedAll: currentSelection.length === dataLength,
236
+ hasSelectedSome: currentSelection.length > 0 && currentSelection.length !== dataLength,
237
+ hasSelectedNone: currentSelection.length === 0
238
+ }
239
+ };
240
+ };
241
+ var changeTableSelectionAll = (tableState, data, identifierMapping) => {
242
+ if (!tableState.selection) {
243
+ return tableState;
244
+ }
245
+ if (data.length === 0) {
246
+ return {
247
+ ...tableState,
248
+ selection: {
249
+ currentSelection: [],
250
+ hasSelectedAll: false,
251
+ hasSelectedSome: false,
252
+ hasSelectedNone: true
253
+ }
254
+ };
255
+ }
256
+ const hasSelectedAll = !(tableState.selection.hasSelectedSome || tableState.selection.hasSelectedAll);
257
+ return {
258
+ ...tableState,
259
+ selection: {
260
+ currentSelection: hasSelectedAll ? data.map(identifierMapping) : [],
261
+ hasSelectedAll,
262
+ hasSelectedSome: false,
263
+ hasSelectedNone: !hasSelectedAll
264
+ }
265
+ };
266
+ };
267
+ var Table = ({
268
+ data,
269
+ stateManagement = [{}, noop],
270
+ identifierMapping,
271
+ header,
272
+ rowMappingToCells,
273
+ sorting,
274
+ focusElement,
275
+ className
276
+ }) => {
277
+ const sortedData = [...data];
278
+ if (sorting) {
279
+ const [sortingFunction, sortingType] = sorting;
280
+ sortedData.sort((a, b) => sortingFunction(a, b) * (sortingType === "ascending" ? 1 : -1));
281
+ }
282
+ let currentPage = 0;
283
+ let pageCount = 1;
284
+ let entriesPerPage = 5;
285
+ const [tableState, updateTableState] = stateManagement;
286
+ let shownElements = sortedData;
287
+ if (tableState?.pagination) {
288
+ if (tableState.pagination.entriesPerPage < 1) {
289
+ console.error("tableState.pagination.entriesPerPage must be >= 1", tableState.pagination.entriesPerPage);
290
+ }
291
+ entriesPerPage = Math.max(1, tableState.pagination.entriesPerPage);
292
+ pageCount = Math.ceil(sortedData.length / entriesPerPage);
293
+ if (tableState.pagination.currentPage < 0 || tableState.pagination.currentPage >= pageCount && pageCount !== 0) {
294
+ console.error(
295
+ "tableState.pagination.currentPage < 0 || (tableState.pagination.currentPage >= pageCount && pageCount !== 0) must be fullfilled",
296
+ [`pageCount: ${pageCount}`, `tableState.pagination.currentPage: ${tableState.pagination.currentPage}`]
297
+ );
298
+ } else {
299
+ currentPage = tableState.pagination.currentPage;
300
+ }
301
+ if (focusElement) {
302
+ currentPage = pageForItem(sortedData, focusElement, entriesPerPage, identifierMapping);
303
+ }
304
+ shownElements = sortedData.slice(currentPage * entriesPerPage, Math.min(sortedData.length, (currentPage + 1) * entriesPerPage));
305
+ } else {
306
+ currentPage = 0;
307
+ }
308
+ const headerRow = "border-b-2 border-gray-300";
309
+ const headerPaddingHead = "pb-2";
310
+ const headerPaddingBody = "pt-2";
311
+ const cellPadding = "py-1 px-2";
312
+ const [scrollbarsAutoHeightMin, setScrollbarsAutoHeightMin] = useState4(0);
313
+ const tableRef = useRef(null);
314
+ const calculateHeight = () => {
315
+ if (tableRef.current) {
316
+ const tableHeight = tableRef.current.offsetHeight;
317
+ const offset = 25;
318
+ setScrollbarsAutoHeightMin(tableHeight + offset);
319
+ }
320
+ };
321
+ useEffect3(() => {
322
+ calculateHeight();
323
+ const handleResize = () => {
324
+ calculateHeight();
325
+ };
326
+ window.addEventListener("resize", handleResize);
327
+ return () => {
328
+ window.removeEventListener("resize", handleResize);
329
+ };
330
+ }, [data, currentPage]);
331
+ return /* @__PURE__ */ jsxs3("div", { className: clsx3("col gap-y-4 overflow-hidden", className), children: [
332
+ /* @__PURE__ */ jsx5("div", { children: /* @__PURE__ */ jsx5(Scrollbars, { autoHeight: true, autoHeightMin: scrollbarsAutoHeightMin, children: /* @__PURE__ */ jsxs3("table", { ref: tableRef, className: "w-full mb-[12px]", children: [
333
+ /* @__PURE__ */ jsx5("thead", { children: /* @__PURE__ */ jsxs3("tr", { className: headerRow, children: [
334
+ header && tableState.selection && /* @__PURE__ */ jsx5("th", { className: headerPaddingHead, children: /* @__PURE__ */ jsx5(
335
+ ControlledCheckbox,
336
+ {
337
+ checked: tableState.selection.hasSelectedSome ? "indeterminate" : tableState.selection.hasSelectedAll,
338
+ onChange: () => updateTableState(changeTableSelectionAll(tableState, data, identifierMapping))
339
+ }
340
+ ) }),
341
+ header && header.map((value, index) => /* @__PURE__ */ jsx5("th", { className: headerPaddingHead, children: /* @__PURE__ */ jsx5("div", { className: "row justify-start px-2", children: value }) }, `tableHeader${index}`))
342
+ ] }) }),
343
+ /* @__PURE__ */ jsx5("tbody", { children: shownElements.map((value, rowIndex) => /* @__PURE__ */ jsxs3("tr", { children: [
344
+ tableState.selection && /* @__PURE__ */ jsx5("td", { className: clsx3(cellPadding, { [headerPaddingBody]: rowIndex === 0 }), children: /* @__PURE__ */ jsx5(
345
+ ControlledCheckbox,
346
+ {
347
+ checked: isDataObjectSelected(tableState, value, identifierMapping),
348
+ onChange: () => {
349
+ updateTableState(changeTableSelectionSingle(tableState, value, data.length, identifierMapping));
350
+ }
351
+ }
352
+ ) }),
353
+ rowMappingToCells(value).map((value1, index) => /* @__PURE__ */ jsx5("td", { className: clsx3(cellPadding, { [headerPaddingBody]: rowIndex === 0 }), children: value1 }, index))
354
+ ] }, identifierMapping(value))) })
355
+ ] }) }) }),
356
+ /* @__PURE__ */ jsx5("div", { className: "row justify-center", children: tableState.pagination && /* @__PURE__ */ jsx5(Pagination, { page: currentPage, numberOfPages: pageCount, onPageChanged: (page) => updateTableState({
357
+ ...tableState,
358
+ pagination: { entriesPerPage, currentPage: page }
359
+ }) }) })
360
+ ] });
361
+ };
362
+
363
+ // src/components/user-input/Input.tsx
364
+ import {
365
+ useEffect as useEffect5,
366
+ useRef as useRef2,
367
+ useState as useState6,
368
+ forwardRef
369
+ } from "react";
370
+ import clsx4 from "clsx";
371
+
372
+ // src/hooks/useSaveDelay.ts
373
+ import { useEffect as useEffect4, useState as useState5 } from "react";
374
+ function useSaveDelay(setNotificationStatus, delay) {
375
+ const [updateTimer, setUpdateTimer] = useState5(void 0);
376
+ const [notificationTimer, setNotificationTimer] = useState5(void 0);
377
+ const restartTimer = (onSave) => {
378
+ clearTimeout(updateTimer);
379
+ setUpdateTimer(setTimeout(() => {
380
+ onSave();
381
+ setNotificationStatus(true);
382
+ clearTimeout(notificationTimer);
383
+ setNotificationTimer(setTimeout(() => {
384
+ setNotificationStatus(false);
385
+ clearTimeout(notificationTimer);
386
+ }, delay));
387
+ clearTimeout(updateTimer);
388
+ }, delay));
389
+ };
390
+ const clearUpdateTimer = (hasSaved = true) => {
391
+ clearTimeout(updateTimer);
392
+ if (hasSaved) {
393
+ setNotificationStatus(true);
394
+ clearTimeout(notificationTimer);
395
+ setNotificationTimer(setTimeout(() => {
396
+ setNotificationStatus(false);
397
+ clearTimeout(notificationTimer);
398
+ }, delay));
399
+ } else {
400
+ setNotificationStatus(false);
401
+ }
402
+ };
403
+ useEffect4(() => {
404
+ return () => {
405
+ clearTimeout(updateTimer);
406
+ clearTimeout(notificationTimer);
407
+ };
408
+ }, []);
409
+ return { restartTimer, clearUpdateTimer };
410
+ }
411
+ var useSaveDelay_default = useSaveDelay;
412
+
413
+ // src/components/user-input/Input.tsx
414
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
415
+ var ControlledInput = ({
416
+ id,
417
+ type = "text",
418
+ value,
419
+ label,
420
+ onChange = noop,
421
+ onChangeEvent = noop,
422
+ className = "",
423
+ onEditCompleted,
424
+ expanded = true,
425
+ onBlur,
426
+ containerClassName,
427
+ ...restProps
428
+ }) => {
429
+ const {
430
+ restartTimer,
431
+ clearUpdateTimer
432
+ } = useSaveDelay_default(() => void 0, 3e3);
433
+ const ref = useRef2(null);
434
+ useEffect5(() => {
435
+ if (restProps.autoFocus) {
436
+ ref.current?.focus();
437
+ }
438
+ }, [restProps.autoFocus]);
439
+ return /* @__PURE__ */ jsxs4("div", { className: clsx4({ "w-full": expanded }, containerClassName), children: [
440
+ label && /* @__PURE__ */ jsx6(Label, { ...label, htmlFor: id, className: clsx4("mb-1", label.className) }),
441
+ /* @__PURE__ */ jsx6(
442
+ "input",
443
+ {
444
+ ref,
445
+ value,
446
+ id,
447
+ type,
448
+ className: clsx4("block bg-surface text-on-surface px-3 py-2 rounded-md w-full border-2 border-gray-200 hover:border-primary focus:outline-none focus:border-primary focus:ring-primary", className),
449
+ onBlur: (event) => {
450
+ if (onBlur) {
451
+ onBlur(event);
452
+ }
453
+ if (onEditCompleted) {
454
+ onEditCompleted(event.target.value, event);
455
+ clearUpdateTimer();
456
+ }
457
+ },
458
+ onChange: (e) => {
459
+ const value2 = e.target.value;
460
+ if (onEditCompleted) {
461
+ restartTimer(() => {
462
+ onEditCompleted(value2, e);
463
+ clearUpdateTimer();
464
+ });
465
+ }
466
+ onChange(value2, e);
467
+ onChangeEvent(e);
468
+ },
469
+ ...restProps
470
+ }
471
+ )
472
+ ] });
473
+ };
474
+ var FormInput = forwardRef(function FormInput2({
475
+ id,
476
+ labelText,
477
+ errorText,
478
+ className,
479
+ labelClassName,
480
+ errorClassName,
481
+ containerClassName,
482
+ required,
483
+ ...restProps
484
+ }, ref) {
485
+ const input = /* @__PURE__ */ jsx6(
486
+ "input",
487
+ {
488
+ ref,
489
+ id,
490
+ ...restProps,
491
+ className: clsx4(
492
+ "block bg-surface text-on-surface px-3 py-2 rounded-md w-full border-2 border-gray-200 hover:border-primary focus:outline-none focus:border-primary focus:ring-primary",
493
+ {
494
+ "focus:border-primary focus:ring-primary": !errorText,
495
+ "focus:border-negative focus:ring-negative text-negative": !!errorText
496
+ },
497
+ className
498
+ )
499
+ }
500
+ );
501
+ return /* @__PURE__ */ jsxs4("div", { className: clsx4("flex flex-col gap-y-1", containerClassName), children: [
502
+ labelText && /* @__PURE__ */ jsxs4("label", { htmlFor: id, className: clsx4("textstyle-label-md", labelClassName), children: [
503
+ labelText,
504
+ required && /* @__PURE__ */ jsx6("span", { className: "text-primary font-bold", children: "*" })
505
+ ] }),
506
+ input,
507
+ errorText && /* @__PURE__ */ jsx6("label", { htmlFor: id, className: clsx4("text-negative", errorClassName), children: errorText })
508
+ ] });
509
+ });
510
+
511
+ // src/components/Button.tsx
512
+ import clsx5 from "clsx";
513
+ import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
514
+ var ButtonSizePaddings = {
515
+ small: "btn-sm",
516
+ medium: "btn-md",
517
+ large: "btn-lg"
518
+ };
519
+ var SolidButton = ({
520
+ children,
521
+ disabled = false,
522
+ color = "primary",
523
+ size = "medium",
524
+ startIcon,
525
+ endIcon,
526
+ onClick,
527
+ className,
528
+ ...restProps
529
+ }) => {
530
+ const colorClasses = {
531
+ primary: "bg-button-solid-primary-background text-button-solid-primary-text",
532
+ secondary: "bg-button-solid-secondary-background text-button-solid-secondary-text",
533
+ tertiary: "bg-button-solid-tertiary-background text-button-solid-tertiary-text",
534
+ positive: "bg-button-solid-positive-background text-button-solid-positive-text",
535
+ warning: "bg-button-solid-warning-background text-button-solid-warning-text",
536
+ negative: "bg-button-solid-negative-background text-button-solid-negative-text"
537
+ }[color];
538
+ const iconColorClasses = {
539
+ primary: "text-button-solid-primary-icon",
540
+ secondary: "text-button-solid-secondary-icon",
541
+ tertiary: "text-button-solid-tertiary-icon",
542
+ positive: "text-button-solid-positive-icon",
543
+ warning: "text-button-solid-warning-icon",
544
+ negative: "text-button-solid-negative-icon"
545
+ }[color];
546
+ return /* @__PURE__ */ jsxs5(
547
+ "button",
548
+ {
549
+ onClick: disabled ? void 0 : onClick,
550
+ disabled: disabled || onClick === void 0,
551
+ className: clsx5(
552
+ className,
553
+ {
554
+ "text-disabled-text bg-disabled-background": disabled,
555
+ [clsx5(colorClasses, "hover:brightness-90")]: !disabled
556
+ },
557
+ ButtonSizePaddings[size]
558
+ ),
559
+ ...restProps,
560
+ children: [
561
+ startIcon && /* @__PURE__ */ jsx7(
562
+ "span",
563
+ {
564
+ className: clsx5({
565
+ [iconColorClasses]: !disabled,
566
+ [`text-disabled-icon`]: disabled
567
+ }),
568
+ children: startIcon
569
+ }
570
+ ),
571
+ children,
572
+ endIcon && /* @__PURE__ */ jsx7(
573
+ "span",
574
+ {
575
+ className: clsx5({
576
+ [iconColorClasses]: !disabled,
577
+ [`text-disabled-icon`]: disabled
578
+ }),
579
+ children: endIcon
580
+ }
581
+ )
582
+ ]
583
+ }
584
+ );
585
+ };
586
+ var TextButton = ({
587
+ children,
588
+ disabled = false,
589
+ color = "neutral",
590
+ size = "medium",
591
+ startIcon,
592
+ endIcon,
593
+ onClick,
594
+ className,
595
+ ...restProps
596
+ }) => {
597
+ const colorClasses = {
598
+ negative: "bg-transparent text-button-text-negative-text",
599
+ neutral: "bg-transparent text-button-text-neutral-text"
600
+ }[color];
601
+ const iconColorClasses = {
602
+ negative: "text-button-text-negative-icon",
603
+ neutral: "text-button-text-neutral-icon"
604
+ }[color];
605
+ return /* @__PURE__ */ jsxs5(
606
+ "button",
607
+ {
608
+ onClick: disabled ? void 0 : onClick,
609
+ disabled: disabled || onClick === void 0,
610
+ className: clsx5(
611
+ className,
612
+ {
613
+ "text-disabled-text": disabled,
614
+ [clsx5(colorClasses, "hover:bg-button-text-hover-background rounded-full")]: !disabled
615
+ },
616
+ ButtonSizePaddings[size]
617
+ ),
618
+ ...restProps,
619
+ children: [
620
+ startIcon && /* @__PURE__ */ jsx7(
621
+ "span",
622
+ {
623
+ className: clsx5({
624
+ [iconColorClasses]: !disabled,
625
+ [`text-disabled-icon`]: disabled
626
+ }),
627
+ children: startIcon
628
+ }
629
+ ),
630
+ children,
631
+ endIcon && /* @__PURE__ */ jsx7(
632
+ "span",
633
+ {
634
+ className: clsx5({
635
+ [iconColorClasses]: !disabled,
636
+ [`text-disabled-icon`]: disabled
637
+ }),
638
+ children: endIcon
639
+ }
640
+ )
641
+ ]
642
+ }
643
+ );
644
+ };
645
+
646
+ // src/components/SortButton.tsx
647
+ import { ChevronDown, ChevronsUpDown, ChevronUp } from "lucide-react";
648
+ import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
649
+ var SortButton = ({
650
+ children,
651
+ ascending,
652
+ color,
653
+ onClick,
654
+ ...buttonProps
655
+ }) => {
656
+ return /* @__PURE__ */ jsx8(
657
+ TextButton,
658
+ {
659
+ color,
660
+ onClick: () => onClick(ascending === "descending" ? "ascending" : "descending"),
661
+ ...buttonProps,
662
+ children: /* @__PURE__ */ jsxs6("div", { className: "row gap-x-2", children: [
663
+ children,
664
+ ascending === "ascending" ? /* @__PURE__ */ jsx8(ChevronUp, {}) : !ascending ? /* @__PURE__ */ jsx8(ChevronsUpDown, {}) : /* @__PURE__ */ jsx8(ChevronDown, {})
665
+ ] })
666
+ }
667
+ );
668
+ };
669
+
670
+ // src/components/examples/TableExample.tsx
671
+ import { Fragment, jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
672
+ var exampleData = [
673
+ { id: "data1", name: "Name 1", age: 23 },
674
+ { id: "data2", name: "Name 2", age: 21 },
675
+ { id: "data3", name: "Name 3", age: 32 },
676
+ { id: "data4", name: "Name 4", age: 42 },
677
+ { id: "data5", name: "Name 5", age: 17 },
678
+ { id: "data6", name: "Name 6", age: 26 },
679
+ { id: "data7", name: "Name 7", age: 19 },
680
+ { id: "data8", name: "Name 8", age: 31 }
681
+ ];
682
+ var TableExample = ({ data: initialData }) => {
683
+ const [data, setData] = useState7(initialData);
684
+ const [tableState, setTableState] = useState7({
685
+ pagination: defaultTableStatePagination,
686
+ selection: defaultTableStateSelection
687
+ });
688
+ useEffect6(() => {
689
+ setData(initialData);
690
+ }, [initialData]);
691
+ const [sorting, setSorting] = useState7();
692
+ const [sortingKey, ascending] = sorting ?? ["", "ascending"];
693
+ const idMapping = (data2) => data2.id;
694
+ const sortingFunctions = {
695
+ id: {
696
+ ascending: (t1, t2) => t1.id.localeCompare(t2.id),
697
+ descending: (t1, t2) => t1.id.localeCompare(t2.id) * -1
698
+ },
699
+ name: {
700
+ ascending: (t1, t2) => t1.name.localeCompare(t2.name),
701
+ descending: (t1, t2) => t1.name.localeCompare(t2.name) * -1
702
+ },
703
+ age: {
704
+ ascending: (t1, t2) => t1.age - t2.age,
705
+ descending: (t1, t2) => (t1.age - t2.age) * -1
706
+ }
707
+ };
708
+ return /* @__PURE__ */ jsxs7("div", { className: "col gap-y-12 items-center", children: [
709
+ /* @__PURE__ */ jsx9(
710
+ Table,
711
+ {
712
+ stateManagement: [tableState, (newTableState) => {
713
+ setTableState(newTableState);
714
+ setData(data);
715
+ }],
716
+ data,
717
+ identifierMapping: idMapping,
718
+ rowMappingToCells: (dataObject) => [
719
+ /* @__PURE__ */ jsx9("span", { className: "textstyle-title-md w-[100px] text-ellipsis overflow-hidden block", children: dataObject.id }, "id"),
720
+ /* @__PURE__ */ jsx9(ControlledInput, { value: dataObject.name, onChange: (text) => {
721
+ setData(data.map((value) => value.id === dataObject.id ? { ...dataObject, name: text } : value));
722
+ setSorting(void 0);
723
+ } }, "name"),
724
+ /* @__PURE__ */ jsx9(ControlledInput, { type: "number", value: dataObject.age.toString(), onChange: (text) => {
725
+ setData(data.map((value) => value.id === dataObject.id ? { ...dataObject, age: parseInt(text) } : value));
726
+ setSorting(void 0);
727
+ } }, "age"),
728
+ /* @__PURE__ */ jsx9(
729
+ TextButton,
730
+ {
731
+ color: "negative",
732
+ onClick: () => {
733
+ const newData = data.filter((value) => value.id !== dataObject.id);
734
+ setData(newData);
735
+ setTableState(removeFromTableSelection(tableState, [dataObject], data.length, idMapping));
736
+ },
737
+ children: "Delete"
738
+ },
739
+ "delete"
740
+ )
741
+ ],
742
+ header: [
743
+ /* @__PURE__ */ jsx9(
744
+ SortButton,
745
+ {
746
+ ascending: sortingKey === "id" ? ascending : void 0,
747
+ onClick: (newTableSorting) => {
748
+ setSorting(["id", newTableSorting]);
749
+ setData(data.sort(sortingFunctions.id[newTableSorting]));
750
+ },
751
+ children: /* @__PURE__ */ jsx9("span", { className: "textstyle-table-header", children: "Id" })
752
+ },
753
+ "headerId"
754
+ ),
755
+ /* @__PURE__ */ jsx9(
756
+ SortButton,
757
+ {
758
+ ascending: sortingKey === "name" ? ascending : void 0,
759
+ onClick: (newTableSorting) => {
760
+ setSorting(["name", newTableSorting]);
761
+ setData(data.sort(sortingFunctions.name[newTableSorting]));
762
+ },
763
+ children: /* @__PURE__ */ jsx9("span", { className: "textstyle-table-header", children: "Name" })
764
+ },
765
+ "name"
766
+ ),
767
+ /* @__PURE__ */ jsx9(
768
+ SortButton,
769
+ {
770
+ ascending: sortingKey === "age" ? ascending : void 0,
771
+ onClick: (newTableSorting) => {
772
+ setSorting(["age", newTableSorting]);
773
+ setData(data.sort(sortingFunctions.age[newTableSorting]));
774
+ },
775
+ children: /* @__PURE__ */ jsx9("span", { className: "textstyle-table-header", children: "age" }, "age")
776
+ },
777
+ "name"
778
+ ),
779
+ /* @__PURE__ */ jsx9(Fragment, {})
780
+ ]
781
+ }
782
+ ),
783
+ /* @__PURE__ */ jsxs7("div", { className: "row gap-x-2", children: [
784
+ /* @__PURE__ */ jsx9(
785
+ SolidButton,
786
+ {
787
+ className: "w-auto",
788
+ onClick: () => {
789
+ const newData = {
790
+ id: Math.random().toString(),
791
+ name: "Name " + data.length,
792
+ age: Math.ceil(Math.random() * 100)
793
+ };
794
+ const withNewData = [...data, newData];
795
+ const sorted = sortingKey ? withNewData.sort(sortingFunctions[sortingKey][ascending]) : withNewData;
796
+ setData(sorted);
797
+ setTableState(addElementToTable(tableState, sorted, newData, idMapping));
798
+ },
799
+ children: "Add Data"
800
+ }
801
+ ),
802
+ /* @__PURE__ */ jsx9(
803
+ TextButton,
804
+ {
805
+ className: "w-auto",
806
+ onClick: () => {
807
+ const selectedData = data.filter((d) => tableState.selection?.currentSelection.includes(idMapping(d)));
808
+ const unselectedData = data.filter((d) => !tableState.selection?.currentSelection.includes(idMapping(d)));
809
+ setData(unselectedData);
810
+ setTableState(removeFromTableSelection(tableState, selectedData, data.length, idMapping));
811
+ },
812
+ children: "Remove all selected"
813
+ }
814
+ )
815
+ ] })
816
+ ] });
817
+ };
818
+ var TableExample_default = TableExample;
819
+ export {
820
+ TableExample_default as default,
821
+ exampleData
822
+ };
823
+ //# sourceMappingURL=TableExample.mjs.map