@helpwave/hightide 0.1.25 → 0.1.26

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 (602) hide show
  1. package/README.md +1 -1
  2. package/dist/components/branding/HelpwaveBadge.d.mts +4 -5
  3. package/dist/components/branding/HelpwaveBadge.d.ts +4 -5
  4. package/dist/components/branding/HelpwaveBadge.js +46 -87
  5. package/dist/components/branding/HelpwaveBadge.js.map +1 -1
  6. package/dist/components/branding/HelpwaveBadge.mjs +46 -89
  7. package/dist/components/branding/HelpwaveBadge.mjs.map +1 -1
  8. package/dist/components/date/DatePicker.d.mts +1 -1
  9. package/dist/components/date/DatePicker.d.ts +1 -1
  10. package/dist/components/date/DatePicker.js +64 -13
  11. package/dist/components/date/DatePicker.js.map +1 -1
  12. package/dist/components/date/DatePicker.mjs +65 -14
  13. package/dist/components/date/DatePicker.mjs.map +1 -1
  14. package/dist/components/date/DayPicker.d.mts +1 -1
  15. package/dist/components/date/DayPicker.d.ts +1 -1
  16. package/dist/components/date/DayPicker.js +3 -3
  17. package/dist/components/date/DayPicker.js.map +1 -1
  18. package/dist/components/date/DayPicker.mjs +3 -3
  19. package/dist/components/date/DayPicker.mjs.map +1 -1
  20. package/dist/components/date/TimeDisplay.js.map +1 -1
  21. package/dist/components/date/TimeDisplay.mjs.map +1 -1
  22. package/dist/components/date/TimePicker.js +2 -2
  23. package/dist/components/date/TimePicker.js.map +1 -1
  24. package/dist/components/date/TimePicker.mjs +2 -2
  25. package/dist/components/date/TimePicker.mjs.map +1 -1
  26. package/dist/components/date/YearMonthPicker.js +58 -7
  27. package/dist/components/date/YearMonthPicker.js.map +1 -1
  28. package/dist/components/date/YearMonthPicker.mjs +59 -8
  29. package/dist/components/date/YearMonthPicker.mjs.map +1 -1
  30. package/dist/components/{dialogs → dialog}/ConfirmDialog.d.mts +9 -8
  31. package/dist/components/{dialogs → dialog}/ConfirmDialog.d.ts +9 -8
  32. package/dist/components/dialog/ConfirmDialog.js +938 -0
  33. package/dist/components/dialog/ConfirmDialog.js.map +1 -0
  34. package/dist/components/dialog/ConfirmDialog.mjs +902 -0
  35. package/dist/components/dialog/ConfirmDialog.mjs.map +1 -0
  36. package/dist/components/dialog/Dialog.d.mts +27 -0
  37. package/dist/components/dialog/Dialog.d.ts +27 -0
  38. package/dist/components/dialog/Dialog.js +879 -0
  39. package/dist/components/dialog/Dialog.js.map +1 -0
  40. package/dist/components/dialog/Dialog.mjs +845 -0
  41. package/dist/components/dialog/Dialog.mjs.map +1 -0
  42. package/dist/components/dialog/DiscardChangesDialog.d.mts +24 -0
  43. package/dist/components/dialog/DiscardChangesDialog.d.ts +24 -0
  44. package/dist/components/dialog/DiscardChangesDialog.js +966 -0
  45. package/dist/components/dialog/DiscardChangesDialog.js.map +1 -0
  46. package/dist/components/dialog/DiscardChangesDialog.mjs +930 -0
  47. package/dist/components/dialog/DiscardChangesDialog.mjs.map +1 -0
  48. package/dist/components/dialog/InputDialog.d.mts +22 -0
  49. package/dist/components/dialog/InputDialog.d.ts +22 -0
  50. package/dist/components/dialog/InputDialog.js +1139 -0
  51. package/dist/components/dialog/InputDialog.js.map +1 -0
  52. package/dist/components/dialog/InputDialog.mjs +1103 -0
  53. package/dist/components/dialog/InputDialog.mjs.map +1 -0
  54. package/dist/components/dialog/LanguageDialog.d.mts +25 -0
  55. package/dist/components/dialog/LanguageDialog.d.ts +25 -0
  56. package/dist/components/dialog/LanguageDialog.js +1684 -0
  57. package/dist/components/dialog/LanguageDialog.js.map +1 -0
  58. package/dist/components/dialog/LanguageDialog.mjs +1658 -0
  59. package/dist/components/dialog/LanguageDialog.mjs.map +1 -0
  60. package/dist/components/dialog/ThemeDialog.d.mts +26 -0
  61. package/dist/components/dialog/ThemeDialog.d.ts +26 -0
  62. package/dist/components/dialog/ThemeDialog.js +1715 -0
  63. package/dist/components/dialog/ThemeDialog.js.map +1 -0
  64. package/dist/components/dialog/ThemeDialog.mjs +1689 -0
  65. package/dist/components/dialog/ThemeDialog.mjs.map +1 -0
  66. package/dist/components/dialog/index.d.mts +17 -0
  67. package/dist/components/dialog/index.d.ts +17 -0
  68. package/dist/components/dialog/index.js +2062 -0
  69. package/dist/components/dialog/index.js.map +1 -0
  70. package/dist/components/dialog/index.mjs +2031 -0
  71. package/dist/components/dialog/index.mjs.map +1 -0
  72. package/dist/components/form/FormElementWrapper.d.mts +29 -0
  73. package/dist/components/form/FormElementWrapper.d.ts +29 -0
  74. package/dist/components/form/FormElementWrapper.js +98 -0
  75. package/dist/components/form/FormElementWrapper.js.map +1 -0
  76. package/dist/components/form/FormElementWrapper.mjs +64 -0
  77. package/dist/components/form/FormElementWrapper.mjs.map +1 -0
  78. package/dist/components/icons-and-geometry/Avatar.js +498 -2886
  79. package/dist/components/icons-and-geometry/Avatar.js.map +1 -1
  80. package/dist/components/icons-and-geometry/Avatar.mjs +490 -2878
  81. package/dist/components/icons-and-geometry/Avatar.mjs.map +1 -1
  82. package/dist/components/icons-and-geometry/{Helpwave.d.mts → HelpwaveLogo.d.mts} +3 -3
  83. package/dist/components/icons-and-geometry/{Helpwave.d.ts → HelpwaveLogo.d.ts} +3 -3
  84. package/dist/components/icons-and-geometry/{Helpwave.js → HelpwaveLogo.js} +21 -22
  85. package/dist/components/icons-and-geometry/HelpwaveLogo.js.map +1 -0
  86. package/dist/components/icons-and-geometry/{Helpwave.mjs → HelpwaveLogo.mjs} +17 -18
  87. package/dist/components/icons-and-geometry/HelpwaveLogo.mjs.map +1 -0
  88. package/dist/components/icons-and-geometry/Ring.js +1 -1
  89. package/dist/components/icons-and-geometry/Ring.js.map +1 -1
  90. package/dist/components/icons-and-geometry/Ring.mjs +1 -1
  91. package/dist/components/icons-and-geometry/Ring.mjs.map +1 -1
  92. package/dist/components/icons-and-geometry/Tag.js +8 -20
  93. package/dist/components/icons-and-geometry/Tag.js.map +1 -1
  94. package/dist/components/icons-and-geometry/Tag.mjs +8 -20
  95. package/dist/components/icons-and-geometry/Tag.mjs.map +1 -1
  96. package/dist/components/layout-and-navigation/BreadCrumb.js +667 -22
  97. package/dist/components/layout-and-navigation/BreadCrumb.js.map +1 -1
  98. package/dist/components/layout-and-navigation/BreadCrumb.mjs +667 -22
  99. package/dist/components/layout-and-navigation/BreadCrumb.mjs.map +1 -1
  100. package/dist/components/layout-and-navigation/Carousel.js +12 -10
  101. package/dist/components/layout-and-navigation/Carousel.js.map +1 -1
  102. package/dist/components/layout-and-navigation/Carousel.mjs +12 -10
  103. package/dist/components/layout-and-navigation/Carousel.mjs.map +1 -1
  104. package/dist/components/layout-and-navigation/Chip.d.mts +8 -5
  105. package/dist/components/layout-and-navigation/Chip.d.ts +8 -5
  106. package/dist/components/layout-and-navigation/Chip.js +17 -4
  107. package/dist/components/layout-and-navigation/Chip.js.map +1 -1
  108. package/dist/components/layout-and-navigation/Chip.mjs +17 -4
  109. package/dist/components/layout-and-navigation/Chip.mjs.map +1 -1
  110. package/dist/components/layout-and-navigation/Expandable.d.mts +13 -10
  111. package/dist/components/layout-and-navigation/Expandable.d.ts +13 -10
  112. package/dist/components/layout-and-navigation/Expandable.js +18 -5
  113. package/dist/components/layout-and-navigation/Expandable.js.map +1 -1
  114. package/dist/components/layout-and-navigation/Expandable.mjs +19 -6
  115. package/dist/components/layout-and-navigation/Expandable.mjs.map +1 -1
  116. package/dist/components/layout-and-navigation/FAQSection.js +21 -8
  117. package/dist/components/layout-and-navigation/FAQSection.js.map +1 -1
  118. package/dist/components/layout-and-navigation/FAQSection.mjs +22 -9
  119. package/dist/components/layout-and-navigation/FAQSection.mjs.map +1 -1
  120. package/dist/components/layout-and-navigation/FloatingContainer.d.mts +38 -0
  121. package/dist/components/layout-and-navigation/FloatingContainer.d.ts +38 -0
  122. package/dist/components/layout-and-navigation/FloatingContainer.js +219 -0
  123. package/dist/components/layout-and-navigation/FloatingContainer.js.map +1 -0
  124. package/dist/components/layout-and-navigation/FloatingContainer.mjs +195 -0
  125. package/dist/components/layout-and-navigation/FloatingContainer.mjs.map +1 -0
  126. package/dist/components/layout-and-navigation/ListBox.d.mts +44 -0
  127. package/dist/components/layout-and-navigation/ListBox.d.ts +44 -0
  128. package/dist/components/layout-and-navigation/ListBox.js +329 -0
  129. package/dist/components/layout-and-navigation/ListBox.js.map +1 -0
  130. package/dist/components/layout-and-navigation/ListBox.mjs +290 -0
  131. package/dist/components/layout-and-navigation/ListBox.mjs.map +1 -0
  132. package/dist/components/layout-and-navigation/Pagination.js +104 -189
  133. package/dist/components/layout-and-navigation/Pagination.js.map +1 -1
  134. package/dist/components/layout-and-navigation/Pagination.mjs +99 -184
  135. package/dist/components/layout-and-navigation/Pagination.mjs.map +1 -1
  136. package/dist/components/layout-and-navigation/ScrollArea.d.mts +15 -0
  137. package/dist/components/layout-and-navigation/ScrollArea.d.ts +15 -0
  138. package/dist/components/layout-and-navigation/ScrollArea.js +1252 -0
  139. package/dist/components/layout-and-navigation/ScrollArea.js.map +1 -0
  140. package/dist/components/layout-and-navigation/ScrollArea.mjs +1216 -0
  141. package/dist/components/layout-and-navigation/ScrollArea.mjs.map +1 -0
  142. package/dist/components/layout-and-navigation/StepperBar.js +41 -1
  143. package/dist/components/layout-and-navigation/StepperBar.js.map +1 -1
  144. package/dist/components/layout-and-navigation/StepperBar.mjs +41 -1
  145. package/dist/components/layout-and-navigation/StepperBar.mjs.map +1 -1
  146. package/dist/components/layout-and-navigation/TextImage.js +3 -1
  147. package/dist/components/layout-and-navigation/TextImage.js.map +1 -1
  148. package/dist/components/layout-and-navigation/TextImage.mjs +3 -1
  149. package/dist/components/layout-and-navigation/TextImage.mjs.map +1 -1
  150. package/dist/components/loading-states/ErrorComponent.js.map +1 -1
  151. package/dist/components/loading-states/ErrorComponent.mjs.map +1 -1
  152. package/dist/components/loading-states/LoadingAndErrorComponent.d.mts +1 -1
  153. package/dist/components/loading-states/LoadingAndErrorComponent.d.ts +1 -1
  154. package/dist/components/loading-states/LoadingAnimation.js +18 -17
  155. package/dist/components/loading-states/LoadingAnimation.js.map +1 -1
  156. package/dist/components/loading-states/LoadingAnimation.mjs +18 -17
  157. package/dist/components/loading-states/LoadingAnimation.mjs.map +1 -1
  158. package/dist/components/loading-states/LoadingButton.js +55 -18
  159. package/dist/components/loading-states/LoadingButton.js.map +1 -1
  160. package/dist/components/loading-states/LoadingButton.mjs +55 -18
  161. package/dist/components/loading-states/LoadingButton.mjs.map +1 -1
  162. package/dist/components/properties/CheckboxProperty.js +890 -135
  163. package/dist/components/properties/CheckboxProperty.js.map +1 -1
  164. package/dist/components/properties/CheckboxProperty.mjs +897 -142
  165. package/dist/components/properties/CheckboxProperty.mjs.map +1 -1
  166. package/dist/components/properties/DateProperty.js +153 -198
  167. package/dist/components/properties/DateProperty.js.map +1 -1
  168. package/dist/components/properties/DateProperty.mjs +146 -191
  169. package/dist/components/properties/DateProperty.mjs.map +1 -1
  170. package/dist/components/properties/MultiSelectProperty.d.mts +5 -10
  171. package/dist/components/properties/MultiSelectProperty.d.ts +5 -10
  172. package/dist/components/properties/MultiSelectProperty.js +1143 -1160
  173. package/dist/components/properties/MultiSelectProperty.js.map +1 -1
  174. package/dist/components/properties/MultiSelectProperty.mjs +1156 -1163
  175. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -1
  176. package/dist/components/properties/NumberProperty.js +155 -201
  177. package/dist/components/properties/NumberProperty.js.map +1 -1
  178. package/dist/components/properties/NumberProperty.mjs +148 -194
  179. package/dist/components/properties/NumberProperty.mjs.map +1 -1
  180. package/dist/components/properties/PropertyBase.js +49 -9
  181. package/dist/components/properties/PropertyBase.js.map +1 -1
  182. package/dist/components/properties/PropertyBase.mjs +49 -9
  183. package/dist/components/properties/PropertyBase.mjs.map +1 -1
  184. package/dist/components/properties/SelectProperty.d.mts +5 -8
  185. package/dist/components/properties/SelectProperty.d.ts +5 -8
  186. package/dist/components/properties/SelectProperty.js +1047 -834
  187. package/dist/components/properties/SelectProperty.js.map +1 -1
  188. package/dist/components/properties/SelectProperty.mjs +1063 -840
  189. package/dist/components/properties/SelectProperty.mjs.map +1 -1
  190. package/dist/components/properties/TextProperty.js +97 -100
  191. package/dist/components/properties/TextProperty.js.map +1 -1
  192. package/dist/components/properties/TextProperty.mjs +100 -103
  193. package/dist/components/properties/TextProperty.mjs.map +1 -1
  194. package/dist/components/table/Table.js +1618 -993
  195. package/dist/components/table/Table.js.map +1 -1
  196. package/dist/components/table/Table.mjs +1625 -1000
  197. package/dist/components/table/Table.mjs.map +1 -1
  198. package/dist/components/table/TableFilterButton.js +116 -201
  199. package/dist/components/table/TableFilterButton.js.map +1 -1
  200. package/dist/components/table/TableFilterButton.mjs +105 -190
  201. package/dist/components/table/TableFilterButton.mjs.map +1 -1
  202. package/dist/components/table/TableSortButton.js +4 -3
  203. package/dist/components/table/TableSortButton.js.map +1 -1
  204. package/dist/components/table/TableSortButton.mjs +4 -3
  205. package/dist/components/table/TableSortButton.mjs.map +1 -1
  206. package/dist/components/user-action/Button.d.mts +15 -11
  207. package/dist/components/user-action/Button.d.ts +15 -11
  208. package/dist/components/user-action/Button.js +10 -9
  209. package/dist/components/user-action/Button.js.map +1 -1
  210. package/dist/components/user-action/Button.mjs +10 -9
  211. package/dist/components/user-action/Button.mjs.map +1 -1
  212. package/dist/components/user-action/Checkbox.d.mts +9 -25
  213. package/dist/components/user-action/Checkbox.d.ts +9 -25
  214. package/dist/components/user-action/Checkbox.js +793 -103
  215. package/dist/components/user-action/Checkbox.js.map +1 -1
  216. package/dist/components/user-action/Checkbox.mjs +794 -104
  217. package/dist/components/user-action/Checkbox.mjs.map +1 -1
  218. package/dist/components/user-action/CopyToClipboardWrapper.js +3 -1
  219. package/dist/components/user-action/CopyToClipboardWrapper.js.map +1 -1
  220. package/dist/components/user-action/CopyToClipboardWrapper.mjs +3 -1
  221. package/dist/components/user-action/CopyToClipboardWrapper.mjs.map +1 -1
  222. package/dist/components/user-action/DateAndTimePicker.d.mts +1 -1
  223. package/dist/components/user-action/DateAndTimePicker.d.ts +1 -1
  224. package/dist/components/user-action/DateAndTimePicker.js +66 -13
  225. package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
  226. package/dist/components/user-action/DateAndTimePicker.mjs +67 -14
  227. package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -1
  228. package/dist/components/user-action/Label.d.mts +6 -8
  229. package/dist/components/user-action/Label.d.ts +6 -8
  230. package/dist/components/user-action/Label.js +4 -6
  231. package/dist/components/user-action/Label.js.map +1 -1
  232. package/dist/components/user-action/Label.mjs +4 -6
  233. package/dist/components/user-action/Label.mjs.map +1 -1
  234. package/dist/components/user-action/Menu.d.mts +2 -2
  235. package/dist/components/user-action/Menu.d.ts +2 -2
  236. package/dist/components/user-action/Menu.js +1 -1
  237. package/dist/components/user-action/Menu.js.map +1 -1
  238. package/dist/components/user-action/Menu.mjs +1 -1
  239. package/dist/components/user-action/Menu.mjs.map +1 -1
  240. package/dist/components/user-action/ScrollPicker.js +8 -6
  241. package/dist/components/user-action/ScrollPicker.js.map +1 -1
  242. package/dist/components/user-action/ScrollPicker.mjs +8 -6
  243. package/dist/components/user-action/ScrollPicker.mjs.map +1 -1
  244. package/dist/components/user-action/SearchBar.d.mts +1 -2
  245. package/dist/components/user-action/SearchBar.d.ts +1 -2
  246. package/dist/components/user-action/SearchBar.js +93 -178
  247. package/dist/components/user-action/SearchBar.js.map +1 -1
  248. package/dist/components/user-action/SearchBar.mjs +86 -171
  249. package/dist/components/user-action/SearchBar.mjs.map +1 -1
  250. package/dist/components/user-action/Textarea.d.mts +22 -11
  251. package/dist/components/user-action/Textarea.d.ts +22 -11
  252. package/dist/components/user-action/Textarea.js +101 -92
  253. package/dist/components/user-action/Textarea.js.map +1 -1
  254. package/dist/components/user-action/Textarea.mjs +100 -92
  255. package/dist/components/user-action/Textarea.mjs.map +1 -1
  256. package/dist/components/user-action/input/Input.d.mts +37 -0
  257. package/dist/components/user-action/input/Input.d.ts +37 -0
  258. package/dist/components/user-action/input/Input.js +244 -0
  259. package/dist/components/user-action/input/Input.js.map +1 -0
  260. package/dist/components/user-action/input/Input.mjs +209 -0
  261. package/dist/components/user-action/input/Input.mjs.map +1 -0
  262. package/dist/components/user-action/input/InsideLabelInput.d.mts +20 -0
  263. package/dist/components/user-action/input/InsideLabelInput.d.ts +20 -0
  264. package/dist/components/user-action/input/InsideLabelInput.js +295 -0
  265. package/dist/components/user-action/input/InsideLabelInput.js.map +1 -0
  266. package/dist/components/user-action/input/InsideLabelInput.mjs +260 -0
  267. package/dist/components/user-action/input/InsideLabelInput.mjs.map +1 -0
  268. package/dist/components/user-action/input/ToggleableInput.d.mts +22 -0
  269. package/dist/components/user-action/input/ToggleableInput.d.ts +22 -0
  270. package/dist/components/user-action/{Input.js → input/ToggleableInput.js} +136 -171
  271. package/dist/components/user-action/input/ToggleableInput.js.map +1 -0
  272. package/dist/components/user-action/input/ToggleableInput.mjs +264 -0
  273. package/dist/components/user-action/input/ToggleableInput.mjs.map +1 -0
  274. package/dist/components/user-action/select/Select.d.mts +98 -0
  275. package/dist/components/user-action/select/Select.d.ts +98 -0
  276. package/dist/components/user-action/select/Select.js +1354 -0
  277. package/dist/components/user-action/select/Select.js.map +1 -0
  278. package/dist/components/user-action/select/Select.mjs +1320 -0
  279. package/dist/components/user-action/select/Select.mjs.map +1 -0
  280. package/dist/components/utils/FocusTrap.d.mts +28 -0
  281. package/dist/components/utils/FocusTrap.d.ts +28 -0
  282. package/dist/components/utils/FocusTrap.js +252 -0
  283. package/dist/components/utils/FocusTrap.js.map +1 -0
  284. package/dist/components/utils/FocusTrap.mjs +229 -0
  285. package/dist/components/utils/FocusTrap.mjs.map +1 -0
  286. package/dist/components/utils/Transition.d.mts +26 -0
  287. package/dist/components/utils/Transition.d.ts +26 -0
  288. package/dist/components/utils/Transition.js +74 -0
  289. package/dist/components/utils/Transition.js.map +1 -0
  290. package/dist/components/utils/Transition.mjs +50 -0
  291. package/dist/components/utils/Transition.mjs.map +1 -0
  292. package/dist/hooks/focus/useFocusGuards.d.mts +3 -0
  293. package/dist/hooks/focus/useFocusGuards.d.ts +3 -0
  294. package/dist/hooks/focus/useFocusGuards.js +74 -0
  295. package/dist/hooks/focus/useFocusGuards.js.map +1 -0
  296. package/dist/hooks/focus/useFocusGuards.mjs +50 -0
  297. package/dist/hooks/focus/useFocusGuards.mjs.map +1 -0
  298. package/dist/hooks/{useFocusManagement.js → focus/useFocusManagement.js} +1 -1
  299. package/dist/hooks/focus/useFocusManagement.js.map +1 -0
  300. package/dist/hooks/{useFocusManagement.mjs → focus/useFocusManagement.mjs} +1 -1
  301. package/dist/hooks/focus/useFocusManagement.mjs.map +1 -0
  302. package/dist/hooks/{useFocusOnceVisible.js → focus/useFocusOnceVisible.js} +1 -1
  303. package/dist/hooks/focus/useFocusOnceVisible.js.map +1 -0
  304. package/dist/hooks/{useFocusOnceVisible.mjs → focus/useFocusOnceVisible.mjs} +1 -1
  305. package/dist/hooks/focus/useFocusOnceVisible.mjs.map +1 -0
  306. package/dist/hooks/focus/useFocusTrap.d.mts +16 -0
  307. package/dist/hooks/focus/useFocusTrap.d.ts +16 -0
  308. package/dist/hooks/focus/useFocusTrap.js +233 -0
  309. package/dist/hooks/focus/useFocusTrap.js.map +1 -0
  310. package/dist/hooks/focus/useFocusTrap.mjs +210 -0
  311. package/dist/hooks/focus/useFocusTrap.mjs.map +1 -0
  312. package/dist/hooks/focus/useIsMounted.d.mts +3 -0
  313. package/dist/hooks/focus/useIsMounted.d.ts +3 -0
  314. package/dist/hooks/focus/useIsMounted.js +43 -0
  315. package/dist/hooks/focus/useIsMounted.js.map +1 -0
  316. package/dist/hooks/focus/useIsMounted.mjs +20 -0
  317. package/dist/hooks/focus/useIsMounted.mjs.map +1 -0
  318. package/dist/hooks/useFloatingElement.d.mts +22 -0
  319. package/dist/hooks/useFloatingElement.d.ts +22 -0
  320. package/dist/hooks/useFloatingElement.js +162 -0
  321. package/dist/hooks/useFloatingElement.js.map +1 -0
  322. package/dist/hooks/useFloatingElement.mjs +139 -0
  323. package/dist/hooks/useFloatingElement.mjs.map +1 -0
  324. package/dist/hooks/useLocalStorage.js +2 -2
  325. package/dist/hooks/useLocalStorage.js.map +1 -1
  326. package/dist/hooks/useLocalStorage.mjs +2 -2
  327. package/dist/hooks/useLocalStorage.mjs.map +1 -1
  328. package/dist/hooks/useLogOnce.d.mts +3 -4
  329. package/dist/hooks/useLogOnce.d.ts +3 -4
  330. package/dist/hooks/useLogOnce.js +5 -5
  331. package/dist/hooks/useLogOnce.js.map +1 -1
  332. package/dist/hooks/useLogOnce.mjs +5 -5
  333. package/dist/hooks/useLogOnce.mjs.map +1 -1
  334. package/dist/hooks/useRerender.d.mts +2 -2
  335. package/dist/hooks/useRerender.d.ts +2 -2
  336. package/dist/hooks/useSearch.d.mts +2 -2
  337. package/dist/hooks/useSearch.d.ts +2 -2
  338. package/dist/hooks/useSearch.js +1 -1
  339. package/dist/hooks/useSearch.js.map +1 -1
  340. package/dist/hooks/useSearch.mjs +1 -1
  341. package/dist/hooks/useSearch.mjs.map +1 -1
  342. package/dist/localization/LanguageProvider.d.mts +2 -2
  343. package/dist/localization/LanguageProvider.d.ts +2 -2
  344. package/dist/localization/LanguageProvider.js +2 -2
  345. package/dist/localization/LanguageProvider.js.map +1 -1
  346. package/dist/localization/LanguageProvider.mjs +2 -2
  347. package/dist/localization/LanguageProvider.mjs.map +1 -1
  348. package/dist/localization/defaults/form.d.mts +1 -0
  349. package/dist/localization/defaults/form.d.ts +1 -0
  350. package/dist/localization/defaults/form.js +2 -0
  351. package/dist/localization/defaults/form.js.map +1 -1
  352. package/dist/localization/defaults/form.mjs +2 -0
  353. package/dist/localization/defaults/form.mjs.map +1 -1
  354. package/dist/localization/useTranslation.js.map +1 -1
  355. package/dist/localization/useTranslation.mjs.map +1 -1
  356. package/dist/storybook/helper.d.mts +17 -0
  357. package/dist/storybook/helper.d.ts +17 -0
  358. package/dist/storybook/helper.js +61 -0
  359. package/dist/storybook/helper.js.map +1 -0
  360. package/dist/storybook/helper.mjs +37 -0
  361. package/dist/storybook/helper.mjs.map +1 -0
  362. package/dist/{css → style}/globals.css +779 -374
  363. package/dist/{css → style}/uncompiled/globals.css +75 -13
  364. package/dist/{css → style}/uncompiled/theme/colors-component.css +18 -4
  365. package/dist/{css → style}/uncompiled/theme/colors-semantic.css +2 -9
  366. package/dist/style/uncompiled/typography.css +171 -0
  367. package/dist/{css → style}/uncompiled/utitlity/animation.css +54 -42
  368. package/dist/{css → style}/uncompiled/utitlity/index.css +2 -1
  369. package/dist/{css → style}/uncompiled/utitlity/shadow.css +5 -1
  370. package/dist/style/uncompiled/utitlity/sizing.css +29 -0
  371. package/dist/theming/useTheme.d.mts +2 -2
  372. package/dist/theming/useTheme.d.ts +2 -2
  373. package/dist/theming/useTheme.js +3 -3
  374. package/dist/theming/useTheme.js.map +1 -1
  375. package/dist/theming/useTheme.mjs +3 -3
  376. package/dist/theming/useTheme.mjs.map +1 -1
  377. package/dist/{util → utils}/array.d.mts +1 -0
  378. package/dist/{util → utils}/array.d.ts +1 -0
  379. package/dist/{util → utils}/array.js +15 -2
  380. package/dist/utils/array.js.map +1 -0
  381. package/dist/{util → utils}/array.mjs +15 -2
  382. package/dist/utils/array.mjs.map +1 -0
  383. package/dist/utils/bagFunctions.d.mts +15 -0
  384. package/dist/utils/bagFunctions.d.ts +15 -0
  385. package/dist/{util/PropsWithFunctionChildren.js → utils/bagFunctions.js} +5 -5
  386. package/dist/utils/bagFunctions.js.map +1 -0
  387. package/dist/{util/PropsWithFunctionChildren.mjs → utils/bagFunctions.mjs} +2 -2
  388. package/dist/utils/bagFunctions.mjs.map +1 -0
  389. package/dist/{util → utils}/builder.js +1 -1
  390. package/dist/utils/builder.js.map +1 -0
  391. package/dist/{util → utils}/builder.mjs +1 -1
  392. package/dist/utils/builder.mjs.map +1 -0
  393. package/dist/{util → utils}/date.js +3 -3
  394. package/dist/utils/date.js.map +1 -0
  395. package/dist/{util → utils}/date.mjs +2 -2
  396. package/dist/utils/date.mjs.map +1 -0
  397. package/dist/{util → utils}/easeFunctions.js +5 -4
  398. package/dist/utils/easeFunctions.js.map +1 -0
  399. package/dist/{util → utils}/easeFunctions.mjs +4 -3
  400. package/dist/utils/easeFunctions.mjs.map +1 -0
  401. package/dist/{util → utils}/emailValidation.js +1 -1
  402. package/dist/utils/emailValidation.js.map +1 -0
  403. package/dist/{util → utils}/emailValidation.mjs +1 -1
  404. package/dist/utils/emailValidation.mjs.map +1 -0
  405. package/dist/{util → utils}/loopingArray.js +1 -1
  406. package/dist/utils/loopingArray.js.map +1 -0
  407. package/dist/{util → utils}/loopingArray.mjs +1 -1
  408. package/dist/utils/loopingArray.mjs.map +1 -0
  409. package/dist/utils/match.d.mts +3 -0
  410. package/dist/utils/match.d.ts +3 -0
  411. package/dist/utils/match.js +32 -0
  412. package/dist/utils/match.js.map +1 -0
  413. package/dist/utils/match.mjs +8 -0
  414. package/dist/utils/match.mjs.map +1 -0
  415. package/dist/utils/math.d.mts +3 -0
  416. package/dist/utils/math.d.ts +3 -0
  417. package/dist/{util → utils}/math.js +3 -2
  418. package/dist/utils/math.js.map +1 -0
  419. package/dist/utils/math.mjs +9 -0
  420. package/dist/utils/math.mjs.map +1 -0
  421. package/dist/{util → utils}/noop.js +1 -1
  422. package/dist/utils/noop.js.map +1 -0
  423. package/dist/utils/noop.mjs +6 -0
  424. package/dist/utils/noop.mjs.map +1 -0
  425. package/dist/{util → utils}/resolveSetState.js +1 -1
  426. package/dist/utils/resolveSetState.js.map +1 -0
  427. package/dist/{util → utils}/resolveSetState.mjs +1 -1
  428. package/dist/utils/resolveSetState.mjs.map +1 -0
  429. package/dist/{util → utils}/simpleSearch.js +1 -1
  430. package/dist/utils/simpleSearch.js.map +1 -0
  431. package/dist/{util → utils}/simpleSearch.mjs +1 -1
  432. package/dist/utils/simpleSearch.mjs.map +1 -0
  433. package/dist/{util → utils}/storage.js +1 -1
  434. package/dist/utils/storage.js.map +1 -0
  435. package/dist/{util → utils}/storage.mjs +1 -1
  436. package/dist/utils/storage.mjs.map +1 -0
  437. package/dist/{util → utils}/writeToClipboard.js +2 -1
  438. package/dist/utils/writeToClipboard.js.map +1 -0
  439. package/dist/{util → utils}/writeToClipboard.mjs +3 -1
  440. package/dist/utils/writeToClipboard.mjs.map +1 -0
  441. package/package.json +8 -8
  442. package/dist/components/dialogs/ConfirmDialog.js +0 -674
  443. package/dist/components/dialogs/ConfirmDialog.js.map +0 -1
  444. package/dist/components/dialogs/ConfirmDialog.mjs +0 -638
  445. package/dist/components/dialogs/ConfirmDialog.mjs.map +0 -1
  446. package/dist/components/icons-and-geometry/Helpwave.js.map +0 -1
  447. package/dist/components/icons-and-geometry/Helpwave.mjs.map +0 -1
  448. package/dist/components/layout-and-navigation/Overlay.d.mts +0 -67
  449. package/dist/components/layout-and-navigation/Overlay.d.ts +0 -67
  450. package/dist/components/layout-and-navigation/Overlay.js +0 -702
  451. package/dist/components/layout-and-navigation/Overlay.js.map +0 -1
  452. package/dist/components/layout-and-navigation/Overlay.mjs +0 -665
  453. package/dist/components/layout-and-navigation/Overlay.mjs.map +0 -1
  454. package/dist/components/layout-and-navigation/SearchableList.d.mts +0 -24
  455. package/dist/components/layout-and-navigation/SearchableList.d.ts +0 -24
  456. package/dist/components/layout-and-navigation/SearchableList.js +0 -758
  457. package/dist/components/layout-and-navigation/SearchableList.js.map +0 -1
  458. package/dist/components/layout-and-navigation/SearchableList.mjs +0 -724
  459. package/dist/components/layout-and-navigation/SearchableList.mjs.map +0 -1
  460. package/dist/components/layout-and-navigation/Tile.d.mts +0 -27
  461. package/dist/components/layout-and-navigation/Tile.d.ts +0 -27
  462. package/dist/components/layout-and-navigation/Tile.js +0 -96
  463. package/dist/components/layout-and-navigation/Tile.js.map +0 -1
  464. package/dist/components/layout-and-navigation/Tile.mjs +0 -61
  465. package/dist/components/layout-and-navigation/Tile.mjs.map +0 -1
  466. package/dist/components/modals/ConfirmModal.d.mts +0 -33
  467. package/dist/components/modals/ConfirmModal.d.ts +0 -33
  468. package/dist/components/modals/ConfirmModal.js +0 -687
  469. package/dist/components/modals/ConfirmModal.js.map +0 -1
  470. package/dist/components/modals/ConfirmModal.mjs +0 -651
  471. package/dist/components/modals/ConfirmModal.mjs.map +0 -1
  472. package/dist/components/modals/DiscardChangesModal.d.mts +0 -20
  473. package/dist/components/modals/DiscardChangesModal.d.ts +0 -20
  474. package/dist/components/modals/DiscardChangesModal.js +0 -717
  475. package/dist/components/modals/DiscardChangesModal.js.map +0 -1
  476. package/dist/components/modals/DiscardChangesModal.mjs +0 -681
  477. package/dist/components/modals/DiscardChangesModal.mjs.map +0 -1
  478. package/dist/components/modals/InputModal.d.mts +0 -21
  479. package/dist/components/modals/InputModal.d.ts +0 -21
  480. package/dist/components/modals/InputModal.js +0 -976
  481. package/dist/components/modals/InputModal.js.map +0 -1
  482. package/dist/components/modals/InputModal.mjs +0 -940
  483. package/dist/components/modals/InputModal.mjs.map +0 -1
  484. package/dist/components/modals/LanguageModal.d.mts +0 -21
  485. package/dist/components/modals/LanguageModal.d.ts +0 -21
  486. package/dist/components/modals/LanguageModal.js +0 -1468
  487. package/dist/components/modals/LanguageModal.js.map +0 -1
  488. package/dist/components/modals/LanguageModal.mjs +0 -1432
  489. package/dist/components/modals/LanguageModal.mjs.map +0 -1
  490. package/dist/components/modals/ThemeModal.d.mts +0 -21
  491. package/dist/components/modals/ThemeModal.d.ts +0 -21
  492. package/dist/components/modals/ThemeModal.js +0 -1497
  493. package/dist/components/modals/ThemeModal.js.map +0 -1
  494. package/dist/components/modals/ThemeModal.mjs +0 -1461
  495. package/dist/components/modals/ThemeModal.mjs.map +0 -1
  496. package/dist/components/user-action/Input.d.mts +0 -77
  497. package/dist/components/user-action/Input.d.ts +0 -77
  498. package/dist/components/user-action/Input.js.map +0 -1
  499. package/dist/components/user-action/Input.mjs +0 -298
  500. package/dist/components/user-action/Input.mjs.map +0 -1
  501. package/dist/components/user-action/MultiSelect.d.mts +0 -42
  502. package/dist/components/user-action/MultiSelect.d.ts +0 -42
  503. package/dist/components/user-action/MultiSelect.js +0 -1468
  504. package/dist/components/user-action/MultiSelect.js.map +0 -1
  505. package/dist/components/user-action/MultiSelect.mjs +0 -1433
  506. package/dist/components/user-action/MultiSelect.mjs.map +0 -1
  507. package/dist/components/user-action/Select.d.mts +0 -41
  508. package/dist/components/user-action/Select.d.ts +0 -41
  509. package/dist/components/user-action/Select.js +0 -1236
  510. package/dist/components/user-action/Select.js.map +0 -1
  511. package/dist/components/user-action/Select.mjs +0 -1201
  512. package/dist/components/user-action/Select.mjs.map +0 -1
  513. package/dist/components/user-action/ToggleableInput.d.mts +0 -37
  514. package/dist/components/user-action/ToggleableInput.d.ts +0 -37
  515. package/dist/components/user-action/ToggleableInput.js +0 -192
  516. package/dist/components/user-action/ToggleableInput.js.map +0 -1
  517. package/dist/components/user-action/ToggleableInput.mjs +0 -157
  518. package/dist/components/user-action/ToggleableInput.mjs.map +0 -1
  519. package/dist/css/uncompiled/textstyles.css +0 -69
  520. package/dist/hooks/useFocusManagement.js.map +0 -1
  521. package/dist/hooks/useFocusManagement.mjs.map +0 -1
  522. package/dist/hooks/useFocusOnceVisible.js.map +0 -1
  523. package/dist/hooks/useFocusOnceVisible.mjs.map +0 -1
  524. package/dist/index.d.mts +0 -103
  525. package/dist/index.d.ts +0 -103
  526. package/dist/index.js +0 -12610
  527. package/dist/index.js.map +0 -1
  528. package/dist/index.mjs +0 -12447
  529. package/dist/index.mjs.map +0 -1
  530. package/dist/util/PropsWithFunctionChildren.d.mts +0 -14
  531. package/dist/util/PropsWithFunctionChildren.d.ts +0 -14
  532. package/dist/util/PropsWithFunctionChildren.js.map +0 -1
  533. package/dist/util/PropsWithFunctionChildren.mjs.map +0 -1
  534. package/dist/util/array.js.map +0 -1
  535. package/dist/util/array.mjs.map +0 -1
  536. package/dist/util/builder.js.map +0 -1
  537. package/dist/util/builder.mjs.map +0 -1
  538. package/dist/util/date.js.map +0 -1
  539. package/dist/util/date.mjs.map +0 -1
  540. package/dist/util/easeFunctions.js.map +0 -1
  541. package/dist/util/easeFunctions.mjs.map +0 -1
  542. package/dist/util/emailValidation.js.map +0 -1
  543. package/dist/util/emailValidation.mjs.map +0 -1
  544. package/dist/util/loopingArray.js.map +0 -1
  545. package/dist/util/loopingArray.mjs.map +0 -1
  546. package/dist/util/math.d.mts +0 -3
  547. package/dist/util/math.d.ts +0 -3
  548. package/dist/util/math.js.map +0 -1
  549. package/dist/util/math.mjs +0 -8
  550. package/dist/util/math.mjs.map +0 -1
  551. package/dist/util/news.d.mts +0 -101
  552. package/dist/util/news.d.ts +0 -101
  553. package/dist/util/news.js +0 -76
  554. package/dist/util/news.js.map +0 -1
  555. package/dist/util/news.mjs +0 -49
  556. package/dist/util/news.mjs.map +0 -1
  557. package/dist/util/noop.js.map +0 -1
  558. package/dist/util/noop.mjs +0 -6
  559. package/dist/util/noop.mjs.map +0 -1
  560. package/dist/util/resolveSetState.js.map +0 -1
  561. package/dist/util/resolveSetState.mjs.map +0 -1
  562. package/dist/util/simpleSearch.js.map +0 -1
  563. package/dist/util/simpleSearch.mjs.map +0 -1
  564. package/dist/util/storage.js.map +0 -1
  565. package/dist/util/storage.mjs.map +0 -1
  566. package/dist/util/types.d.mts +0 -3
  567. package/dist/util/types.d.ts +0 -3
  568. package/dist/util/types.js +0 -18
  569. package/dist/util/types.js.map +0 -1
  570. package/dist/util/types.mjs +0 -1
  571. package/dist/util/types.mjs.map +0 -1
  572. package/dist/util/writeToClipboard.js.map +0 -1
  573. package/dist/util/writeToClipboard.mjs.map +0 -1
  574. /package/dist/hooks/{useFocusManagement.d.mts → focus/useFocusManagement.d.mts} +0 -0
  575. /package/dist/hooks/{useFocusManagement.d.ts → focus/useFocusManagement.d.ts} +0 -0
  576. /package/dist/hooks/{useFocusOnceVisible.d.mts → focus/useFocusOnceVisible.d.mts} +0 -0
  577. /package/dist/hooks/{useFocusOnceVisible.d.ts → focus/useFocusOnceVisible.d.ts} +0 -0
  578. /package/dist/{css → style}/uncompiled/theme/colors-basic.css +0 -0
  579. /package/dist/{css → style}/uncompiled/theme/index.css +0 -0
  580. /package/dist/{css → style}/uncompiled/theme/variants.css +0 -0
  581. /package/dist/{css → style}/uncompiled/utitlity/borderradius.css +0 -0
  582. /package/dist/{css → style}/uncompiled/utitlity/general.css +0 -0
  583. /package/dist/{util → utils}/builder.d.mts +0 -0
  584. /package/dist/{util → utils}/builder.d.ts +0 -0
  585. /package/dist/{util → utils}/date.d.mts +0 -0
  586. /package/dist/{util → utils}/date.d.ts +0 -0
  587. /package/dist/{util → utils}/easeFunctions.d.mts +0 -0
  588. /package/dist/{util → utils}/easeFunctions.d.ts +0 -0
  589. /package/dist/{util → utils}/emailValidation.d.mts +0 -0
  590. /package/dist/{util → utils}/emailValidation.d.ts +0 -0
  591. /package/dist/{util → utils}/loopingArray.d.mts +0 -0
  592. /package/dist/{util → utils}/loopingArray.d.ts +0 -0
  593. /package/dist/{util → utils}/noop.d.mts +0 -0
  594. /package/dist/{util → utils}/noop.d.ts +0 -0
  595. /package/dist/{util → utils}/resolveSetState.d.mts +0 -0
  596. /package/dist/{util → utils}/resolveSetState.d.ts +0 -0
  597. /package/dist/{util → utils}/simpleSearch.d.mts +0 -0
  598. /package/dist/{util → utils}/simpleSearch.d.ts +0 -0
  599. /package/dist/{util → utils}/storage.d.mts +0 -0
  600. /package/dist/{util → utils}/storage.d.ts +0 -0
  601. /package/dist/{util → utils}/writeToClipboard.d.mts +0 -0
  602. /package/dist/{util → utils}/writeToClipboard.d.ts +0 -0
@@ -1,1433 +0,0 @@
1
- // src/components/user-action/MultiSelect.tsx
2
- import { useCallback as useCallback5 } from "react";
3
- import { useEffect as useEffect10, useState as useState10 } from "react";
4
-
5
- // src/localization/LanguageProvider.tsx
6
- import { createContext, useContext, useEffect, useState as useState2 } from "react";
7
-
8
- // src/hooks/useLocalStorage.ts
9
- import { useCallback, useState } from "react";
10
-
11
- // src/localization/util.ts
12
- var languages = ["en", "de"];
13
- var languagesLocalNames = {
14
- en: "English",
15
- de: "Deutsch"
16
- };
17
- var DEFAULT_LANGUAGE = "en";
18
- var LanguageUtil = {
19
- languages,
20
- DEFAULT_LANGUAGE,
21
- languagesLocalNames
22
- };
23
-
24
- // src/localization/LanguageProvider.tsx
25
- import { jsx } from "react/jsx-runtime";
26
- var LanguageContext = createContext({
27
- language: LanguageUtil.DEFAULT_LANGUAGE,
28
- setLanguage: (v) => v
29
- });
30
- var useLanguage = () => useContext(LanguageContext);
31
-
32
- // src/localization/useTranslation.ts
33
- var TranslationPluralCount = {
34
- zero: 0,
35
- one: 1,
36
- two: 2,
37
- few: 3,
38
- many: 11,
39
- other: -1
40
- };
41
- var useTranslation = (translations, overwriteTranslation = {}) => {
42
- const { language: languageProp, translation: overwrite } = overwriteTranslation;
43
- const { language: inferredLanguage } = useLanguage();
44
- const usedLanguage = languageProp ?? inferredLanguage;
45
- const usedTranslations = [...translations];
46
- if (overwrite) {
47
- usedTranslations.push(overwrite);
48
- }
49
- return (key, options) => {
50
- const { count, replacements } = { ...{ count: 0, replacements: {} }, ...options };
51
- try {
52
- for (let i = translations.length - 1; i >= 0; i--) {
53
- const translation = translations[i];
54
- const localizedTranslation = translation[usedLanguage];
55
- if (!localizedTranslation) {
56
- continue;
57
- }
58
- const value = localizedTranslation[key];
59
- if (!value) {
60
- continue;
61
- }
62
- let forProcessing;
63
- if (typeof value !== "string") {
64
- if (count === TranslationPluralCount.zero && value?.zero) {
65
- forProcessing = value.zero;
66
- } else if (count === TranslationPluralCount.one && value?.one) {
67
- forProcessing = value.one;
68
- } else if (count === TranslationPluralCount.two && value?.two) {
69
- forProcessing = value.two;
70
- } else if (TranslationPluralCount.few <= count && count < TranslationPluralCount.many && value?.few) {
71
- forProcessing = value.few;
72
- } else if (count > TranslationPluralCount.many && value?.many) {
73
- forProcessing = value.many;
74
- } else {
75
- forProcessing = value.other;
76
- }
77
- } else {
78
- forProcessing = value;
79
- }
80
- forProcessing = forProcessing.replace(/\{\{(\w+)}}/g, (_, placeholder) => {
81
- return replacements[placeholder] ?? `{{key:${placeholder}}}`;
82
- });
83
- return forProcessing;
84
- }
85
- } catch (e) {
86
- console.error(e);
87
- }
88
- return `{{${usedLanguage}:${key}}}`;
89
- };
90
- };
91
-
92
- // src/components/user-action/MultiSelect.tsx
93
- import clsx10 from "clsx";
94
-
95
- // src/components/user-action/Label.tsx
96
- import clsx from "clsx";
97
- import { jsx as jsx2 } from "react/jsx-runtime";
98
- var styleMapping = {
99
- labelSmall: "textstyle-label-sm",
100
- labelMedium: "textstyle-label-md",
101
- labelBig: "textstyle-label-lg"
102
- };
103
- var Label = ({
104
- children,
105
- name,
106
- labelType = "labelSmall",
107
- className,
108
- ...props
109
- }) => {
110
- return /* @__PURE__ */ jsx2("label", { ...props, className: clsx(styleMapping[labelType], className), children: children ? children : name });
111
- };
112
-
113
- // src/components/user-action/Button.tsx
114
- import { forwardRef } from "react";
115
- import clsx2 from "clsx";
116
- import { jsx as jsx3, jsxs } from "react/jsx-runtime";
117
- var ButtonColorUtil = {
118
- solid: ["primary", "secondary", "tertiary", "positive", "warning", "negative", "neutral"],
119
- text: ["primary", "negative", "neutral"],
120
- outline: ["primary"]
121
- };
122
- var IconButtonUtil = {
123
- icon: [...ButtonColorUtil.solid, "transparent"]
124
- };
125
- var paddingMapping = {
126
- small: "btn-sm",
127
- medium: "btn-md",
128
- large: "btn-lg"
129
- };
130
- var iconPaddingMapping = {
131
- tiny: "icon-btn-xs",
132
- small: "icon-btn-sm",
133
- medium: "icon-btn-md",
134
- large: "icon-btn-lg"
135
- };
136
- var ButtonUtil = {
137
- paddingMapping,
138
- iconPaddingMapping
139
- };
140
- var SolidButton = forwardRef(function SolidButton2({
141
- children,
142
- color = "primary",
143
- size = "medium",
144
- startIcon,
145
- endIcon,
146
- onClick,
147
- className,
148
- ...restProps
149
- }, ref) {
150
- const colorClasses = {
151
- primary: "not-disabled:bg-button-solid-primary-background not-disabled:text-button-solid-primary-text",
152
- secondary: "not-disabled:bg-button-solid-secondary-background not-disabled:text-button-solid-secondary-text",
153
- tertiary: "not-disabled:bg-button-solid-tertiary-background not-disabled:text-button-solid-tertiary-text",
154
- positive: "not-disabled:bg-button-solid-positive-background not-disabled:text-button-solid-positive-text",
155
- warning: "not-disabled:bg-button-solid-warning-background not-disabled:text-button-solid-warning-text",
156
- negative: "not-disabled:bg-button-solid-negative-background not-disabled:text-button-solid-negative-text",
157
- neutral: "not-disabled:bg-button-solid-neutral-background not-disabled:text-button-solid-neutral-text"
158
- }[color];
159
- const iconColorClasses = {
160
- primary: "not-group-disabled:text-button-solid-primary-icon",
161
- secondary: "not-group-disabled:text-button-solid-secondary-icon",
162
- tertiary: "not-group-disabled:text-button-solid-tertiary-icon",
163
- positive: "not-group-disabled:text-button-solid-positive-icon",
164
- warning: "not-group-disabled:text-button-solid-warning-icon",
165
- negative: "not-group-disabled:text-button-solid-negative-icon",
166
- neutral: "not-group-disabled:text-button-solid-neutral-icon"
167
- }[color];
168
- return /* @__PURE__ */ jsxs(
169
- "button",
170
- {
171
- ref,
172
- onClick,
173
- className: clsx2(
174
- "group font-semibold",
175
- colorClasses,
176
- "not-disabled:hover:brightness-90",
177
- "disabled:text-disabled-text disabled:bg-disabled-background",
178
- ButtonUtil.paddingMapping[size],
179
- className
180
- ),
181
- ...restProps,
182
- children: [
183
- startIcon && /* @__PURE__ */ jsx3(
184
- "span",
185
- {
186
- className: clsx2(
187
- iconColorClasses,
188
- "group-disabled:text-disabled-icon"
189
- ),
190
- children: startIcon
191
- }
192
- ),
193
- children,
194
- endIcon && /* @__PURE__ */ jsx3(
195
- "span",
196
- {
197
- className: clsx2(
198
- iconColorClasses,
199
- "group-disabled:text-disabled-icon"
200
- ),
201
- children: endIcon
202
- }
203
- )
204
- ]
205
- }
206
- );
207
- });
208
- var IconButton = ({
209
- children,
210
- color = "primary",
211
- size = "medium",
212
- className,
213
- ...restProps
214
- }) => {
215
- const colorClasses = {
216
- primary: "not-disabled:bg-button-solid-primary-background not-disabled:text-button-solid-primary-text",
217
- secondary: "not-disabled:bg-button-solid-secondary-background not-disabled:text-button-solid-secondary-text",
218
- tertiary: "not-disabled:bg-button-solid-tertiary-background not-disabled:text-button-solid-tertiary-text",
219
- positive: "not-disabled:bg-button-solid-positive-background not-disabled:text-button-solid-positive-text",
220
- warning: "not-disabled:bg-button-solid-warning-background not-disabled:text-button-solid-warning-text",
221
- negative: "not-disabled:bg-button-solid-negative-background not-disabled:text-button-solid-negative-text",
222
- neutral: "not-disabled:bg-button-solid-neutral-background not-disabled:text-button-solid-neutral-text",
223
- transparent: "not-disabled:bg-transparent"
224
- }[color];
225
- return /* @__PURE__ */ jsx3(
226
- "button",
227
- {
228
- className: clsx2(
229
- colorClasses,
230
- "not-disabled:hover:brightness-90",
231
- "disabled:text-disabled-text",
232
- {
233
- "disabled:bg-disabled-background": color !== "transparent",
234
- "disabled:opacity-70": color === "transparent",
235
- "not-disabled:hover:bg-button-text-hover-background": color === "transparent"
236
- },
237
- ButtonUtil.iconPaddingMapping[size],
238
- className
239
- ),
240
- ...restProps,
241
- children
242
- }
243
- );
244
- };
245
-
246
- // src/components/layout-and-navigation/Chip.tsx
247
- import clsx3 from "clsx";
248
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
249
- var Chip = ({
250
- children,
251
- trailingIcon,
252
- color = "default",
253
- variant = "normal",
254
- className = "",
255
- ...restProps
256
- }) => {
257
- const colorMapping = {
258
- default: "text-tag-default-text bg-tag-default-background",
259
- dark: "text-tag-dark-text bg-tag-dark-background",
260
- red: "text-tag-red-text bg-tag-red-background",
261
- yellow: "text-tag-yellow-text bg-tag-yellow-background",
262
- green: "text-tag-green-text bg-tag-green-background",
263
- blue: "text-tag-blue-text bg-tag-blue-background",
264
- pink: "text-tag-pink-text bg-tag-pink-background"
265
- }[color];
266
- const colorMappingIcon = {
267
- default: "text-tag-default-icon",
268
- dark: "text-tag-dark-icon",
269
- red: "text-tag-red-icon",
270
- yellow: "text-tag-yellow-icon",
271
- green: "text-tag-green-icon",
272
- blue: "text-tag-blue-icon",
273
- pink: "text-tag-pink-icon"
274
- }[color];
275
- return /* @__PURE__ */ jsxs2(
276
- "div",
277
- {
278
- ...restProps,
279
- className: clsx3(
280
- `row w-fit px-2 py-1 font-semibold`,
281
- colorMapping,
282
- {
283
- "rounded-md": variant === "normal",
284
- "rounded-full": variant === "fullyRounded"
285
- },
286
- className
287
- ),
288
- children: [
289
- children,
290
- trailingIcon && /* @__PURE__ */ jsx4("span", { className: colorMappingIcon, children: trailingIcon })
291
- ]
292
- }
293
- );
294
- };
295
- var ChipList = ({
296
- list,
297
- className = ""
298
- }) => {
299
- return /* @__PURE__ */ jsx4("div", { className: clsx3("flex flex-wrap gap-x-2 gap-y-2", className), children: list.map((value, index) => /* @__PURE__ */ jsx4(
300
- Chip,
301
- {
302
- ...value,
303
- color: value.color ?? "default",
304
- variant: value.variant ?? "normal",
305
- children: value.children
306
- },
307
- index
308
- )) });
309
- };
310
-
311
- // src/localization/defaults/form.ts
312
- var formTranslation = {
313
- en: {
314
- add: "Add",
315
- all: "All",
316
- apply: "Apply",
317
- back: "Back",
318
- cancel: "Cancel",
319
- change: "Change",
320
- clear: "Clear",
321
- click: "Click",
322
- clickToCopy: "Click to Copy",
323
- close: "Close",
324
- confirm: "Confirm",
325
- copy: "Copy",
326
- copied: "Copied",
327
- create: "Create",
328
- decline: "Decline",
329
- delete: "Delete",
330
- discard: "Discard",
331
- discardChanges: "Discard Changes",
332
- done: "Done",
333
- edit: "Edit",
334
- enterText: "Enter text here",
335
- error: "Error",
336
- exit: "Exit",
337
- fieldRequiredError: "This field is required.",
338
- invalidEmailError: "Please enter a valid email address.",
339
- less: "Less",
340
- loading: "Loading",
341
- maxLengthError: "Maximum length exceeded.",
342
- minLengthError: "Minimum length not met.",
343
- more: "More",
344
- next: "Next",
345
- no: "No",
346
- none: "None",
347
- of: "of",
348
- optional: "Optional",
349
- pleaseWait: "Please wait...",
350
- previous: "Previous",
351
- remove: "Remove",
352
- required: "Required",
353
- reset: "Reset",
354
- save: "Save",
355
- saved: "Saved",
356
- search: "Search",
357
- select: "Select",
358
- selectOption: "Select an option",
359
- show: "Show",
360
- showMore: "Show more",
361
- showLess: "Show less",
362
- submit: "Submit",
363
- success: "Success",
364
- update: "Update",
365
- unsavedChanges: "Unsaved Changes",
366
- unsavedChangesSaveQuestion: "Do you want to save your changes?",
367
- yes: "Yes"
368
- },
369
- de: {
370
- add: "Hinzuf\xFCgen",
371
- all: "Alle",
372
- apply: "Anwenden",
373
- back: "Zur\xFCck",
374
- cancel: "Abbrechen",
375
- change: "\xC4ndern",
376
- clear: "L\xF6schen",
377
- click: "Klicken",
378
- clickToCopy: "Zum kopieren klicken",
379
- close: "Schlie\xDFen",
380
- confirm: "Best\xE4tigen",
381
- copy: "Kopieren",
382
- copied: "Kopiert",
383
- create: "Erstellen",
384
- decline: "Ablehnen",
385
- delete: "L\xF6schen",
386
- discard: "Verwerfen",
387
- discardChanges: "\xC4nderungen Verwerfen",
388
- done: "Fertig",
389
- edit: "Bearbeiten",
390
- enterText: "Text hier eingeben",
391
- error: "Fehler",
392
- exit: "Beenden",
393
- fieldRequiredError: "Dieses Feld ist erforderlich.",
394
- invalidEmailError: "Bitte geben Sie eine g\xFCltige E-Mail-Adresse ein.",
395
- less: "Weniger",
396
- loading: "L\xE4dt",
397
- maxLengthError: "Maximale L\xE4nge \xFCberschritten.",
398
- minLengthError: "Mindestl\xE4nge nicht erreicht.",
399
- more: "Mehr",
400
- next: "Weiter",
401
- no: "Nein",
402
- none: "Nichts",
403
- of: "von",
404
- optional: "Optional",
405
- pleaseWait: "Bitte warten...",
406
- previous: "Vorherige",
407
- remove: "Entfernen",
408
- required: "Erforderlich",
409
- reset: "Zur\xFCcksetzen",
410
- save: "Speichern",
411
- saved: "Gespeichert",
412
- search: "Suche",
413
- select: "Select",
414
- selectOption: "Option ausw\xE4hlen",
415
- show: "Anzeigen",
416
- showMore: "Mehr anzeigen",
417
- showLess: "Weniger anzeigen",
418
- submit: "Abschicken",
419
- success: "Erfolg",
420
- update: "Update",
421
- unsavedChanges: "Ungespeicherte \xC4nderungen",
422
- unsavedChangesSaveQuestion: "M\xF6chtest du die \xC4nderungen speichern?",
423
- yes: "Ja"
424
- }
425
- };
426
-
427
- // src/components/user-action/Menu.tsx
428
- import { useEffect as useEffect4, useRef, useState as useState4 } from "react";
429
- import clsx4 from "clsx";
430
-
431
- // src/hooks/useOutsideClick.ts
432
- import { useEffect as useEffect2 } from "react";
433
- var useOutsideClick = (refs, handler) => {
434
- useEffect2(() => {
435
- const listener = (event) => {
436
- if (event.target === null) return;
437
- if (refs.some((ref) => !ref.current || ref.current.contains(event.target))) {
438
- return;
439
- }
440
- handler();
441
- };
442
- document.addEventListener("mousedown", listener);
443
- document.addEventListener("touchstart", listener);
444
- return () => {
445
- document.removeEventListener("mousedown", listener);
446
- document.removeEventListener("touchstart", listener);
447
- };
448
- }, [refs, handler]);
449
- };
450
-
451
- // src/hooks/useHoverState.ts
452
- import { useEffect as useEffect3, useState as useState3 } from "react";
453
- var defaultUseHoverStateProps = {
454
- closingDelay: 200,
455
- isDisabled: false
456
- };
457
- var useHoverState = (props = void 0) => {
458
- const { closingDelay, isDisabled } = { ...defaultUseHoverStateProps, ...props };
459
- const [isHovered, setIsHovered] = useState3(false);
460
- const [timer, setTimer] = useState3();
461
- const onMouseEnter = () => {
462
- if (isDisabled) {
463
- return;
464
- }
465
- clearTimeout(timer);
466
- setIsHovered(true);
467
- };
468
- const onMouseLeave = () => {
469
- if (isDisabled) {
470
- return;
471
- }
472
- setTimer(setTimeout(() => {
473
- setIsHovered(false);
474
- }, closingDelay));
475
- };
476
- useEffect3(() => {
477
- if (timer) {
478
- return () => {
479
- clearTimeout(timer);
480
- };
481
- }
482
- });
483
- useEffect3(() => {
484
- if (timer) {
485
- clearTimeout(timer);
486
- }
487
- }, [isDisabled]);
488
- return {
489
- isHovered,
490
- setIsHovered,
491
- handlers: { onMouseEnter, onMouseLeave }
492
- };
493
- };
494
-
495
- // src/util/PropsWithFunctionChildren.ts
496
- var resolve = (children, bag) => {
497
- if (typeof children === "function") {
498
- return children(bag);
499
- }
500
- return children ?? void 0;
501
- };
502
- var BagFunctionUtil = {
503
- resolve
504
- };
505
-
506
- // src/hooks/usePopoverPosition.ts
507
- var defaultPopoverPositionOptions = {
508
- edgePadding: 16,
509
- outerGap: 4,
510
- horizontalAlignment: "leftInside",
511
- verticalAlignment: "bottomOutside",
512
- disabled: false
513
- };
514
- var usePopoverPosition = (trigger, options) => {
515
- const {
516
- edgePadding,
517
- outerGap,
518
- verticalAlignment,
519
- horizontalAlignment,
520
- disabled
521
- } = { ...defaultPopoverPositionOptions, ...options };
522
- if (disabled || !trigger) {
523
- return {};
524
- }
525
- const left = {
526
- leftOutside: trigger.left - outerGap,
527
- leftInside: trigger.left,
528
- rightOutside: trigger.right + outerGap,
529
- rightInside: trigger.right,
530
- center: trigger.left + trigger.width / 2
531
- }[horizontalAlignment];
532
- const top = {
533
- topOutside: trigger.top - outerGap,
534
- topInside: trigger.top,
535
- bottomOutside: trigger.bottom + outerGap,
536
- bottomInside: trigger.bottom,
537
- center: trigger.top + trigger.height / 2
538
- }[verticalAlignment];
539
- const translateX = {
540
- leftOutside: "-100%",
541
- leftInside: void 0,
542
- rightOutside: void 0,
543
- rightInside: "-100%",
544
- center: "-50%"
545
- }[horizontalAlignment];
546
- const translateY = {
547
- topOutside: "-100%",
548
- topInside: void 0,
549
- bottomOutside: void 0,
550
- bottomInside: "-100%",
551
- center: "-50%"
552
- }[verticalAlignment];
553
- return {
554
- left: Math.max(left, edgePadding),
555
- top: Math.max(top, edgePadding),
556
- translate: [translateX ?? "0", translateY ?? "0"].join(" ")
557
- };
558
- };
559
-
560
- // src/components/user-action/Menu.tsx
561
- import { createPortal } from "react-dom";
562
- import { Fragment, jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
563
- function getScrollableParents(element) {
564
- const scrollables = [];
565
- let parent = element.parentElement;
566
- while (parent) {
567
- scrollables.push(parent);
568
- parent = parent.parentElement;
569
- }
570
- return scrollables;
571
- }
572
- var Menu = ({
573
- trigger,
574
- children,
575
- alignmentHorizontal = "leftInside",
576
- alignmentVertical = "bottomOutside",
577
- showOnHover = false,
578
- disabled = false,
579
- menuClassName = ""
580
- }) => {
581
- const { isHovered: isOpen, setIsHovered: setIsOpen } = useHoverState({ isDisabled: !showOnHover || disabled });
582
- const triggerRef = useRef(null);
583
- const menuRef = useRef(null);
584
- useOutsideClick([triggerRef, menuRef], () => setIsOpen(false));
585
- const [isHidden, setIsHidden] = useState4(true);
586
- const bag = {
587
- isOpen,
588
- close: () => setIsOpen(false),
589
- toggleOpen: () => setIsOpen((prevState) => !prevState),
590
- disabled
591
- };
592
- const menuPosition = usePopoverPosition(
593
- triggerRef.current?.getBoundingClientRect(),
594
- { verticalAlignment: alignmentVertical, horizontalAlignment: alignmentHorizontal, disabled }
595
- );
596
- useEffect4(() => {
597
- if (!isOpen) return;
598
- const triggerEl = triggerRef.current;
599
- if (!triggerEl) return;
600
- const scrollableParents = getScrollableParents(triggerEl);
601
- const close = () => setIsOpen(false);
602
- scrollableParents.forEach((parent) => {
603
- parent.addEventListener("scroll", close);
604
- });
605
- window.addEventListener("resize", close);
606
- return () => {
607
- scrollableParents.forEach((parent) => {
608
- parent.removeEventListener("scroll", close);
609
- });
610
- window.removeEventListener("resize", close);
611
- };
612
- }, [isOpen, setIsOpen]);
613
- useEffect4(() => {
614
- if (isOpen) {
615
- setIsHidden(false);
616
- }
617
- }, [isOpen]);
618
- return /* @__PURE__ */ jsxs3(Fragment, { children: [
619
- trigger(bag, triggerRef),
620
- createPortal(/* @__PURE__ */ jsx5(
621
- "div",
622
- {
623
- ref: menuRef,
624
- onClick: (e) => e.stopPropagation(),
625
- className: clsx4(
626
- "absolute rounded-md bg-menu-background text-menu-text shadow-around-lg shadow-strong z-[300]",
627
- {
628
- "animate-pop-in": isOpen,
629
- "animate-pop-out": !isOpen,
630
- "hidden": isHidden
631
- },
632
- menuClassName
633
- ),
634
- onAnimationEnd: () => {
635
- if (!isOpen) {
636
- setIsHidden(true);
637
- }
638
- },
639
- style: {
640
- ...menuPosition
641
- },
642
- children: BagFunctionUtil.resolve(children, bag)
643
- }
644
- ), document.body)
645
- ] });
646
- };
647
-
648
- // src/components/layout-and-navigation/Expandable.tsx
649
- import { forwardRef as forwardRef2, useCallback as useCallback2, useEffect as useEffect5, useState as useState5 } from "react";
650
- import { ChevronDown } from "lucide-react";
651
- import clsx5 from "clsx";
652
-
653
- // src/util/noop.ts
654
- var noop = () => void 0;
655
-
656
- // src/components/layout-and-navigation/Expandable.tsx
657
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
658
- var ExpansionIcon = ({ isExpanded, className }) => {
659
- return /* @__PURE__ */ jsx6(
660
- ChevronDown,
661
- {
662
- className: clsx5(
663
- "min-w-6 w-6 min-h-6 h-6 transition-transform duration-200 ease-in-out",
664
- { "rotate-180": isExpanded },
665
- className
666
- )
667
- }
668
- );
669
- };
670
- var Expandable = forwardRef2(function Expandable2({
671
- children,
672
- label,
673
- icon,
674
- isExpanded = false,
675
- onChange = noop,
676
- clickOnlyOnHeader = true,
677
- disabled = false,
678
- className,
679
- headerClassName,
680
- contentClassName,
681
- contentExpandedClassName
682
- }, ref) {
683
- const defaultIcon = useCallback2((expanded) => /* @__PURE__ */ jsx6(ExpansionIcon, { isExpanded: expanded }), []);
684
- icon ??= defaultIcon;
685
- return /* @__PURE__ */ jsxs4(
686
- "div",
687
- {
688
- ref,
689
- className: clsx5("flex-col-0 bg-surface text-on-surface group rounded-lg shadow-sm", { "cursor-pointer": !clickOnlyOnHeader && !disabled }, className),
690
- onClick: () => !clickOnlyOnHeader && !disabled && onChange(!isExpanded),
691
- children: [
692
- /* @__PURE__ */ jsxs4(
693
- "div",
694
- {
695
- className: clsx5(
696
- "flex-row-2 py-2 px-4 rounded-lg justify-between items-center bg-surface text-on-surface select-none",
697
- {
698
- "group-hover:brightness-97": !isExpanded,
699
- "hover:brightness-97": isExpanded && !disabled,
700
- "cursor-pointer": clickOnlyOnHeader && !disabled
701
- },
702
- headerClassName
703
- ),
704
- onClick: () => clickOnlyOnHeader && !disabled && onChange(!isExpanded),
705
- children: [
706
- label,
707
- icon(isExpanded)
708
- ]
709
- }
710
- ),
711
- /* @__PURE__ */ jsx6(
712
- "div",
713
- {
714
- className: clsx5(
715
- "flex-col-2 px-4 transition-all duration-300 ease-in-out",
716
- {
717
- [clsx5("max-h-96 opacity-100 pb-2 overflow-y-auto", contentExpandedClassName)]: isExpanded,
718
- "max-h-0 opacity-0 overflow-hidden": !isExpanded
719
- },
720
- contentClassName
721
- ),
722
- children
723
- }
724
- )
725
- ]
726
- }
727
- );
728
- });
729
- var ExpandableUncontrolled = forwardRef2(function ExpandableUncontrolled2({
730
- isExpanded,
731
- onChange = noop,
732
- ...props
733
- }, ref) {
734
- const [usedIsExpanded, setUsedIsExpanded] = useState5(isExpanded);
735
- useEffect5(() => {
736
- setUsedIsExpanded(isExpanded);
737
- }, [isExpanded]);
738
- return /* @__PURE__ */ jsx6(
739
- Expandable,
740
- {
741
- ...props,
742
- ref,
743
- isExpanded: usedIsExpanded,
744
- onChange: (value) => {
745
- onChange(value);
746
- setUsedIsExpanded(value);
747
- }
748
- }
749
- );
750
- });
751
-
752
- // src/components/user-action/Input.tsx
753
- import { forwardRef as forwardRef3, useEffect as useEffect8, useImperativeHandle, useRef as useRef2, useState as useState7 } from "react";
754
- import clsx6 from "clsx";
755
-
756
- // src/hooks/useDelay.ts
757
- import { useEffect as useEffect6, useState as useState6 } from "react";
758
- var defaultOptions = {
759
- delay: 3e3,
760
- disabled: false
761
- };
762
- function useDelay(options) {
763
- const [timer, setTimer] = useState6(void 0);
764
- const { delay, disabled } = {
765
- ...defaultOptions,
766
- ...options
767
- };
768
- const clearTimer = () => {
769
- clearTimeout(timer);
770
- setTimer(void 0);
771
- };
772
- const restartTimer = (onDelayFinish) => {
773
- if (disabled) {
774
- return;
775
- }
776
- clearTimeout(timer);
777
- setTimer(setTimeout(() => {
778
- onDelayFinish();
779
- setTimer(void 0);
780
- }, delay));
781
- };
782
- useEffect6(() => {
783
- return () => {
784
- clearTimeout(timer);
785
- };
786
- }, [timer]);
787
- useEffect6(() => {
788
- if (disabled) {
789
- clearTimeout(timer);
790
- setTimer(void 0);
791
- }
792
- }, [disabled, timer]);
793
- return { restartTimer, clearTimer, hasActiveTimer: !!timer };
794
- }
795
-
796
- // src/hooks/useFocusManagement.ts
797
- import { useCallback as useCallback3 } from "react";
798
- function useFocusManagement() {
799
- const getFocusableElements = useCallback3(() => {
800
- return Array.from(
801
- document.querySelectorAll(
802
- 'input, button, select, textarea, a[href], [tabindex]:not([tabindex="-1"])'
803
- )
804
- ).filter(
805
- (el) => el instanceof HTMLElement && !el.hasAttribute("disabled") && !el.hasAttribute("hidden") && el.tabIndex !== -1
806
- );
807
- }, []);
808
- const getNextFocusElement = useCallback3(() => {
809
- const elements = getFocusableElements();
810
- if (elements.length === 0) {
811
- return void 0;
812
- }
813
- let nextElement = elements[0];
814
- if (document.activeElement instanceof HTMLElement) {
815
- const currentIndex = elements.indexOf(document.activeElement);
816
- nextElement = elements[(currentIndex + 1) % elements.length];
817
- }
818
- return nextElement;
819
- }, [getFocusableElements]);
820
- const focusNext = useCallback3(() => {
821
- const nextElement = getNextFocusElement();
822
- nextElement?.focus();
823
- }, [getNextFocusElement]);
824
- const getPreviousFocusElement = useCallback3(() => {
825
- const elements = getFocusableElements();
826
- if (elements.length === 0) {
827
- return void 0;
828
- }
829
- let previousElement = elements[0];
830
- if (document.activeElement instanceof HTMLElement) {
831
- const currentIndex = elements.indexOf(document.activeElement);
832
- if (currentIndex === 0) {
833
- previousElement = elements[elements.length - 1];
834
- } else {
835
- previousElement = elements[currentIndex - 1];
836
- }
837
- }
838
- return previousElement;
839
- }, [getFocusableElements]);
840
- const focusPrevious = useCallback3(() => {
841
- const previousElement = getPreviousFocusElement();
842
- if (previousElement) previousElement.focus();
843
- }, [getPreviousFocusElement]);
844
- return {
845
- getFocusableElements,
846
- getNextFocusElement,
847
- getPreviousFocusElement,
848
- focusNext,
849
- focusPrevious
850
- };
851
- }
852
-
853
- // src/hooks/useFocusOnceVisible.ts
854
- import React, { useEffect as useEffect7 } from "react";
855
- var useFocusOnceVisible = (ref, disable = false) => {
856
- const [hasUsedFocus, setHasUsedFocus] = React.useState(false);
857
- useEffect7(() => {
858
- if (disable || hasUsedFocus) {
859
- return;
860
- }
861
- const observer = new IntersectionObserver(([entry]) => {
862
- if (entry.isIntersecting && !hasUsedFocus) {
863
- ref.current?.focus();
864
- setHasUsedFocus(hasUsedFocus);
865
- }
866
- }, {
867
- threshold: 0.1
868
- });
869
- if (ref.current) {
870
- observer.observe(ref.current);
871
- }
872
- return () => observer.disconnect();
873
- }, [disable, hasUsedFocus, ref]);
874
- };
875
-
876
- // src/components/user-action/Input.tsx
877
- import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
878
- var getInputClassName = ({ disabled = false, hasError = false }) => {
879
- return clsx6(
880
- "px-2 py-1.5 rounded-md border-2",
881
- {
882
- "bg-input-background text-input-text hover:border-primary focus:border-primary": !disabled && !hasError,
883
- "bg-on-negative text-negative border-negative-border hover:border-negative-border-hover": !disabled && hasError,
884
- "bg-disabled-background text-disabled-text border-disabled-border": disabled
885
- }
886
- );
887
- };
888
- var defaultEditCompleteOptions = {
889
- onBlur: true,
890
- afterDelay: true,
891
- delay: 2500
892
- };
893
- var Input = forwardRef3(function Input2({
894
- id,
895
- type = "text",
896
- value,
897
- label,
898
- onChange = noop,
899
- onChangeText = noop,
900
- onEditCompleted,
901
- className = "",
902
- allowEnterComplete = true,
903
- expanded = true,
904
- autoFocus = false,
905
- onBlur,
906
- editCompleteOptions,
907
- containerClassName,
908
- disabled,
909
- ...restProps
910
- }, forwardedRef) {
911
- const { onBlur: allowEditCompleteOnBlur, afterDelay, delay } = { ...defaultEditCompleteOptions, ...editCompleteOptions };
912
- const {
913
- restartTimer,
914
- clearTimer
915
- } = useDelay({ delay, disabled: !afterDelay });
916
- const innerRef = useRef2(null);
917
- const { focusNext } = useFocusManagement();
918
- useFocusOnceVisible(innerRef, !autoFocus);
919
- useImperativeHandle(forwardedRef, () => innerRef.current);
920
- const handleKeyDown = (e) => {
921
- if (e.key === "Enter" && !e.shiftKey) {
922
- e.preventDefault();
923
- innerRef.current?.blur();
924
- focusNext();
925
- }
926
- };
927
- return /* @__PURE__ */ jsxs5("div", { className: clsx6({ "w-full": expanded }, containerClassName), children: [
928
- label && /* @__PURE__ */ jsx7(Label, { ...label, htmlFor: id, className: clsx6("mb-1", label.className) }),
929
- /* @__PURE__ */ jsx7(
930
- "input",
931
- {
932
- ...restProps,
933
- ref: innerRef,
934
- value,
935
- id,
936
- type,
937
- disabled,
938
- className: clsx6(getInputClassName({ disabled }), className),
939
- onKeyDown: allowEnterComplete ? handleKeyDown : void 0,
940
- onBlur: (event) => {
941
- onBlur?.(event);
942
- if (onEditCompleted && allowEditCompleteOnBlur) {
943
- onEditCompleted(event.target.value);
944
- clearTimer();
945
- }
946
- },
947
- onChange: (e) => {
948
- const value2 = e.target.value;
949
- if (onEditCompleted) {
950
- restartTimer(() => {
951
- if (innerRef.current) {
952
- innerRef.current.blur();
953
- if (!allowEditCompleteOnBlur) {
954
- onEditCompleted(value2);
955
- }
956
- } else {
957
- onEditCompleted(value2);
958
- }
959
- });
960
- }
961
- onChange(e);
962
- onChangeText(value2);
963
- }
964
- }
965
- )
966
- ] });
967
- });
968
- var FormInput = forwardRef3(function FormInput2({
969
- id,
970
- labelText,
971
- errorText,
972
- className,
973
- labelClassName,
974
- errorClassName,
975
- containerClassName,
976
- required,
977
- disabled,
978
- ...restProps
979
- }, ref) {
980
- const input = /* @__PURE__ */ jsx7(
981
- "input",
982
- {
983
- ...restProps,
984
- ref,
985
- id,
986
- disabled,
987
- className: clsx6(
988
- getInputClassName({ disabled, hasError: !!errorText }),
989
- className
990
- )
991
- }
992
- );
993
- return /* @__PURE__ */ jsxs5("div", { className: clsx6("flex flex-col gap-y-1", containerClassName), children: [
994
- labelText && /* @__PURE__ */ jsxs5("label", { htmlFor: id, className: clsx6("textstyle-label-md", labelClassName), children: [
995
- labelText,
996
- required && /* @__PURE__ */ jsx7("span", { className: "text-primary font-bold", children: "*" })
997
- ] }),
998
- input,
999
- errorText && /* @__PURE__ */ jsx7("label", { htmlFor: id, className: clsx6("text-negative", errorClassName), children: errorText })
1000
- ] });
1001
- });
1002
-
1003
- // src/components/user-action/SearchBar.tsx
1004
- import { Search } from "lucide-react";
1005
- import { clsx as clsx7 } from "clsx";
1006
- import { jsx as jsx8, jsxs as jsxs6 } from "react/jsx-runtime";
1007
- var SearchBar = ({
1008
- placeholder,
1009
- onSearch,
1010
- disableOnSearch,
1011
- containerClassName,
1012
- ...inputProps
1013
- }) => {
1014
- const translation = useTranslation([formTranslation]);
1015
- return /* @__PURE__ */ jsxs6("div", { className: clsx7("flex-row-2 justify-between items-center", containerClassName), children: [
1016
- /* @__PURE__ */ jsx8(
1017
- Input,
1018
- {
1019
- ...inputProps,
1020
- placeholder: placeholder ?? translation("search")
1021
- }
1022
- ),
1023
- onSearch && /* @__PURE__ */ jsx8(IconButton, { color: "neutral", disabled: disableOnSearch, onClick: onSearch, children: /* @__PURE__ */ jsx8(Search, { className: "w-full h-full" }) })
1024
- ] });
1025
- };
1026
-
1027
- // src/hooks/useSearch.ts
1028
- import { useCallback as useCallback4, useEffect as useEffect9, useMemo, useState as useState8 } from "react";
1029
-
1030
- // src/util/simpleSearch.ts
1031
- var MultiSubjectSearchWithMapping = (search, objects, mapping) => {
1032
- return objects.filter((object) => {
1033
- const mappedSearchKeywords = mapping(object)?.map((value) => value.toLowerCase().trim());
1034
- if (!mappedSearchKeywords) {
1035
- return true;
1036
- }
1037
- return search.every((searchValue) => !!mappedSearchKeywords.find((value) => !!value && value.includes(searchValue.toLowerCase().trim())));
1038
- });
1039
- };
1040
-
1041
- // src/hooks/useSearch.ts
1042
- var useSearch = ({
1043
- list,
1044
- initialSearch,
1045
- searchMapping,
1046
- additionalSearchTags,
1047
- isSearchInstant = true,
1048
- sortingFunction,
1049
- filter,
1050
- disabled = false
1051
- }) => {
1052
- const [search, setSearch] = useState8(initialSearch ?? "");
1053
- const [result, setResult] = useState8(list);
1054
- const searchTags = useMemo(() => additionalSearchTags ?? [], [additionalSearchTags]);
1055
- const updateSearch = useCallback4((newSearch) => {
1056
- const usedSearch = newSearch ?? search;
1057
- if (newSearch) {
1058
- setSearch(search);
1059
- }
1060
- setResult(MultiSubjectSearchWithMapping([usedSearch, ...searchTags], list, searchMapping));
1061
- }, [searchTags, list, search, searchMapping]);
1062
- useEffect9(() => {
1063
- if (isSearchInstant) {
1064
- setResult(MultiSubjectSearchWithMapping([search, ...searchTags], list, searchMapping));
1065
- }
1066
- }, [searchTags, isSearchInstant, list, search, searchMapping, additionalSearchTags]);
1067
- const filteredResult = useMemo(() => {
1068
- if (!filter) {
1069
- return result;
1070
- }
1071
- return result.filter(filter);
1072
- }, [result, filter]);
1073
- const sortedAndFilteredResult = useMemo(() => {
1074
- if (!sortingFunction) {
1075
- return filteredResult;
1076
- }
1077
- return filteredResult.sort(sortingFunction);
1078
- }, [filteredResult, sortingFunction]);
1079
- const usedResult = useMemo(() => {
1080
- if (!disabled) {
1081
- return sortedAndFilteredResult;
1082
- }
1083
- return list;
1084
- }, [disabled, list, sortedAndFilteredResult]);
1085
- return {
1086
- result: usedResult,
1087
- hasResult: usedResult.length > 0,
1088
- allItems: list,
1089
- updateSearch,
1090
- search,
1091
- setSearch
1092
- };
1093
- };
1094
-
1095
- // src/components/user-action/Checkbox.tsx
1096
- import { useState as useState9 } from "react";
1097
- import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
1098
- import { Check, Minus } from "lucide-react";
1099
- import clsx8 from "clsx";
1100
- import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
1101
- var checkboxSizeMapping = {
1102
- small: "size-5",
1103
- medium: "size-6",
1104
- large: "size-8"
1105
- };
1106
- var checkboxIconSizeMapping = {
1107
- small: "size-4",
1108
- medium: "size-5",
1109
- large: "size-7"
1110
- };
1111
- var Checkbox = ({
1112
- id,
1113
- label,
1114
- checked,
1115
- disabled,
1116
- onChange,
1117
- onChangeTristate,
1118
- size = "medium",
1119
- className = "",
1120
- containerClassName
1121
- }) => {
1122
- const usedSizeClass = checkboxSizeMapping[size];
1123
- const innerIconSize = checkboxIconSizeMapping[size];
1124
- const propagateChange = (checked2) => {
1125
- if (onChangeTristate) {
1126
- onChangeTristate(checked2);
1127
- }
1128
- if (onChange) {
1129
- onChange(checked2 === "indeterminate" ? false : checked2);
1130
- }
1131
- };
1132
- const changeValue = () => {
1133
- if (disabled) {
1134
- return;
1135
- }
1136
- const newValue = checked === "indeterminate" ? false : !checked;
1137
- propagateChange(newValue);
1138
- };
1139
- return /* @__PURE__ */ jsxs7(
1140
- "div",
1141
- {
1142
- className: clsx8("group flex-row-2 items-center", {
1143
- "cursor-pointer": !disabled,
1144
- "cursor-not-allowed": disabled
1145
- }, containerClassName),
1146
- onClick: changeValue,
1147
- children: [
1148
- /* @__PURE__ */ jsx9(
1149
- CheckboxPrimitive.Root,
1150
- {
1151
- onCheckedChange: propagateChange,
1152
- checked,
1153
- disabled,
1154
- id,
1155
- className: clsx8(usedSizeClass, `items-center border-2 rounded outline-none `, {
1156
- "text-disabled-text border-disabled-outline bg-disabled-background cursor-not-allowed": disabled,
1157
- "focus:border-primary group-hover:border-primary ": !disabled,
1158
- "bg-input-background": !disabled && !checked,
1159
- "bg-primary/30 border-primary text-primary": !disabled && checked === true || checked === "indeterminate"
1160
- }, className),
1161
- children: /* @__PURE__ */ jsxs7(CheckboxPrimitive.Indicator, { children: [
1162
- checked === true && /* @__PURE__ */ jsx9(Check, { className: innerIconSize }),
1163
- checked === "indeterminate" && /* @__PURE__ */ jsx9(Minus, { className: innerIconSize })
1164
- ] })
1165
- }
1166
- ),
1167
- label && /* @__PURE__ */ jsx9(
1168
- Label,
1169
- {
1170
- ...label,
1171
- className: clsx8(
1172
- label.className,
1173
- {
1174
- "cursor-pointer": !disabled,
1175
- "cursor-not-allowed": disabled
1176
- }
1177
- ),
1178
- htmlFor: id
1179
- }
1180
- )
1181
- ]
1182
- }
1183
- );
1184
- };
1185
-
1186
- // src/components/user-action/MultiSelect.tsx
1187
- import { Plus } from "lucide-react";
1188
-
1189
- // src/components/layout-and-navigation/Tile.tsx
1190
- import clsx9 from "clsx";
1191
- import { Check as Check2 } from "lucide-react";
1192
- import { jsx as jsx10, jsxs as jsxs8 } from "react/jsx-runtime";
1193
- var Tile = ({
1194
- title,
1195
- titleClassName,
1196
- description,
1197
- descriptionClassName,
1198
- onClick,
1199
- isSelected = false,
1200
- disabled = false,
1201
- prefix,
1202
- suffix,
1203
- normalClassName = "hover:bg-primary/40 cursor-pointer",
1204
- selectedClassName = "bg-primary/20",
1205
- disabledClassName = "text-disabled-text bg-disabled-background cursor-not-allowed",
1206
- className
1207
- }) => {
1208
- return /* @__PURE__ */ jsxs8(
1209
- "div",
1210
- {
1211
- className: clsx9(
1212
- "flex-row-2 w-full items-center",
1213
- {
1214
- [normalClassName]: onClick && !disabled,
1215
- [selectedClassName]: isSelected && !disabled,
1216
- [disabledClassName]: disabled
1217
- },
1218
- className
1219
- ),
1220
- onClick: disabled ? void 0 : onClick,
1221
- children: [
1222
- prefix,
1223
- /* @__PURE__ */ jsxs8("div", { className: "flex-col-0 w-full", children: [
1224
- /* @__PURE__ */ jsx10("span", { className: clsx9(titleClassName ?? "textstyle-title-normal"), children: title }),
1225
- !!description && /* @__PURE__ */ jsx10("span", { className: clsx9(descriptionClassName ?? "textstyle-description"), children: description })
1226
- ] }),
1227
- suffix ?? (isSelected ? /* @__PURE__ */ jsx10(Check2, { size: 24 }) : void 0)
1228
- ]
1229
- }
1230
- );
1231
- };
1232
- var ListTile = ({
1233
- ...props
1234
- }) => {
1235
- return /* @__PURE__ */ jsx10(
1236
- Tile,
1237
- {
1238
- ...props,
1239
- titleClassName: props.titleClassName ?? "font-semibold",
1240
- className: clsx9("px-2 py-1 rounded-md", props.className),
1241
- disabledClassName: props.disabledClassName ?? "text-disabled-text cursor-not-allowed"
1242
- }
1243
- );
1244
- };
1245
-
1246
- // src/components/user-action/MultiSelect.tsx
1247
- import { Fragment as Fragment2, jsx as jsx11, jsxs as jsxs9 } from "react/jsx-runtime";
1248
- var defaultMultiSelectTranslation = {
1249
- en: {
1250
- selected: `{{amount}} selected`
1251
- },
1252
- de: {
1253
- selected: `{{amount}} ausgew\xE4hlt`
1254
- }
1255
- };
1256
- var MultiSelect = ({
1257
- overwriteTranslation,
1258
- label,
1259
- options,
1260
- onChange,
1261
- hintText,
1262
- selectedDisplayOverwrite,
1263
- searchOptions,
1264
- additionalItems,
1265
- useChipDisplay = false,
1266
- className,
1267
- triggerClassName,
1268
- hintTextClassName,
1269
- ...menuProps
1270
- }) => {
1271
- const translation = useTranslation([formTranslation, defaultMultiSelectTranslation], overwriteTranslation);
1272
- const { result, search, setSearch } = useSearch({
1273
- list: options,
1274
- searchMapping: useCallback5((item) => item.searchTags, []),
1275
- ...searchOptions
1276
- });
1277
- const selectedItems = options.filter((value) => value.selected);
1278
- const isShowingHint = !selectedDisplayOverwrite && selectedItems.length === 0;
1279
- return /* @__PURE__ */ jsxs9("div", { className: clsx10(className), children: [
1280
- label && /* @__PURE__ */ jsx11(
1281
- Label,
1282
- {
1283
- ...label,
1284
- htmlFor: label.name,
1285
- className: clsx10(" mb-1", label.className),
1286
- labelType: label.labelType ?? "labelSmall"
1287
- }
1288
- ),
1289
- /* @__PURE__ */ jsx11(
1290
- Menu,
1291
- {
1292
- ...menuProps,
1293
- trigger: ({ toggleOpen, isOpen, disabled }, ref) => /* @__PURE__ */ jsx11(
1294
- "button",
1295
- {
1296
- ref,
1297
- className: clsx10(
1298
- "group btn-md justify-between w-full border-2 h-auto",
1299
- "not-disabled:bg-input-background not-disabled:text-input-text not-disabled:hover:border-primary",
1300
- "disabled:bg-disabled-background disabled:text-disabled-text disabled:border-disabled-border",
1301
- {
1302
- "min-h-14": useChipDisplay
1303
- },
1304
- triggerClassName
1305
- ),
1306
- onClick: toggleOpen,
1307
- disabled,
1308
- children: useChipDisplay ? /* @__PURE__ */ jsx11(Fragment2, { children: isShowingHint ? /* @__PURE__ */ jsx11(
1309
- "div",
1310
- {
1311
- className: clsx10(
1312
- "icon-btn-sm ",
1313
- {
1314
- "bg-button-solid-neutral-background text-button-solid-neutral-text hover:brightness-90 group-hover:brightness-90": !disabled,
1315
- "bg-disabled-background text-disabled-text": disabled
1316
- }
1317
- ),
1318
- children: /* @__PURE__ */ jsx11(Plus, {})
1319
- }
1320
- ) : /* @__PURE__ */ jsx11(ChipList, { list: selectedItems.map((value) => ({ children: value.label })) }) }) : /* @__PURE__ */ jsxs9(Fragment2, { children: [
1321
- !isShowingHint && /* @__PURE__ */ jsx11("span", { className: "font-semibold", children: selectedDisplayOverwrite ?? translation("selected", { replacements: { amount: selectedItems.length.toString() } }) }),
1322
- isShowingHint && /* @__PURE__ */ jsx11("span", { className: clsx10("textstyle-description", hintTextClassName), children: hintText ?? translation("select") }),
1323
- /* @__PURE__ */ jsx11(ExpansionIcon, { isExpanded: isOpen })
1324
- ] })
1325
- }
1326
- ),
1327
- menuClassName: clsx10("flex-col-2 p-2 max-h-96 overflow-hidden", menuProps.menuClassName),
1328
- children: (bag) => {
1329
- const { close } = bag;
1330
- return /* @__PURE__ */ jsxs9(Fragment2, { children: [
1331
- !searchOptions?.disabled && /* @__PURE__ */ jsx11(
1332
- SearchBar,
1333
- {
1334
- value: search,
1335
- onChangeText: setSearch,
1336
- autoFocus: true
1337
- }
1338
- ),
1339
- /* @__PURE__ */ jsxs9("div", { className: "flex-col-2 overflow-y-auto", children: [
1340
- result.map((option, index) => {
1341
- const update = () => {
1342
- onChange(options.map((value) => value.value === option.value ? {
1343
- ...option,
1344
- selected: !value.selected
1345
- } : value));
1346
- };
1347
- return /* @__PURE__ */ jsx11(
1348
- ListTile,
1349
- {
1350
- prefix: /* @__PURE__ */ jsx11(
1351
- Checkbox,
1352
- {
1353
- checked: option.selected,
1354
- onChange: update,
1355
- size: "small",
1356
- disabled: option.disabled
1357
- }
1358
- ),
1359
- title: option.label,
1360
- onClick: update,
1361
- disabled: option.disabled
1362
- },
1363
- index
1364
- );
1365
- }),
1366
- additionalItems && additionalItems({ ...bag, search })
1367
- ] }),
1368
- /* @__PURE__ */ jsxs9("div", { className: "flex-row-2 justify-between", children: [
1369
- /* @__PURE__ */ jsxs9("div", { className: "flex-row-2", children: [
1370
- /* @__PURE__ */ jsx11(
1371
- SolidButton,
1372
- {
1373
- color: "neutral",
1374
- size: "small",
1375
- onClick: () => {
1376
- onChange(options.map((option) => ({
1377
- ...option,
1378
- selected: !option.disabled
1379
- })));
1380
- },
1381
- disabled: options.every((value) => value.selected || value.disabled),
1382
- children: translation("all")
1383
- }
1384
- ),
1385
- /* @__PURE__ */ jsx11(
1386
- SolidButton,
1387
- {
1388
- color: "neutral",
1389
- size: "small",
1390
- onClick: () => {
1391
- onChange(options.map((option) => ({
1392
- ...option,
1393
- selected: false
1394
- })));
1395
- },
1396
- children: translation("none")
1397
- }
1398
- )
1399
- ] }),
1400
- /* @__PURE__ */ jsx11(SolidButton, { size: "small", onClick: close, children: "Done" })
1401
- ] })
1402
- ] });
1403
- }
1404
- }
1405
- )
1406
- ] });
1407
- };
1408
- var MultiSelectUncontrolled = ({
1409
- options,
1410
- onChange,
1411
- ...props
1412
- }) => {
1413
- const [usedOptions, setUsedOptions] = useState10(options);
1414
- useEffect10(() => {
1415
- setUsedOptions(options);
1416
- }, [options]);
1417
- return /* @__PURE__ */ jsx11(
1418
- MultiSelect,
1419
- {
1420
- ...props,
1421
- options: usedOptions,
1422
- onChange: (options2) => {
1423
- setUsedOptions(options2);
1424
- onChange(options2);
1425
- }
1426
- }
1427
- );
1428
- };
1429
- export {
1430
- MultiSelect,
1431
- MultiSelectUncontrolled
1432
- };
1433
- //# sourceMappingURL=MultiSelect.mjs.map