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