@helpwave/hightide 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/dist/coloring/shading.d.mts +5 -0
  2. package/dist/coloring/shading.d.ts +5 -2
  3. package/dist/coloring/shading.js +80 -38
  4. package/dist/coloring/shading.js.map +1 -0
  5. package/dist/coloring/shading.mjs +47 -0
  6. package/dist/coloring/shading.mjs.map +1 -0
  7. package/dist/coloring/types.d.mts +13 -0
  8. package/dist/coloring/types.d.ts +8 -6
  9. package/dist/coloring/types.js +31 -1
  10. package/dist/coloring/types.js.map +1 -0
  11. package/dist/coloring/types.mjs +6 -0
  12. package/dist/coloring/types.mjs.map +1 -0
  13. package/dist/components/Avatar.d.mts +17 -0
  14. package/dist/components/Avatar.d.ts +9 -6
  15. package/dist/components/Avatar.js +79 -29
  16. package/dist/components/Avatar.js.map +1 -0
  17. package/dist/components/Avatar.mjs +48 -0
  18. package/dist/components/Avatar.mjs.map +1 -0
  19. package/dist/components/AvatarGroup.d.mts +14 -0
  20. package/dist/components/AvatarGroup.d.ts +7 -3
  21. package/dist/components/AvatarGroup.js +117 -12
  22. package/dist/components/AvatarGroup.js.map +1 -0
  23. package/dist/components/AvatarGroup.mjs +81 -0
  24. package/dist/components/AvatarGroup.mjs.map +1 -0
  25. package/dist/components/BreadCrumb.d.mts +19 -0
  26. package/dist/components/BreadCrumb.d.ts +6 -3
  27. package/dist/components/BreadCrumb.js +49 -11
  28. package/dist/components/BreadCrumb.js.map +1 -0
  29. package/dist/components/BreadCrumb.mjs +15 -0
  30. package/dist/components/BreadCrumb.mjs.map +1 -0
  31. package/dist/components/Button.d.mts +44 -0
  32. package/dist/components/Button.d.ts +16 -13
  33. package/dist/components/Button.js +232 -80
  34. package/dist/components/Button.js.map +1 -0
  35. package/dist/components/Button.mjs +198 -0
  36. package/dist/components/Button.mjs.map +1 -0
  37. package/dist/components/ChipList.d.mts +24 -0
  38. package/dist/components/ChipList.d.ts +10 -7
  39. package/dist/components/ChipList.js +103 -36
  40. package/dist/components/ChipList.js.map +1 -0
  41. package/dist/components/ChipList.mjs +69 -0
  42. package/dist/components/ChipList.mjs.map +1 -0
  43. package/dist/components/Circle.d.mts +10 -0
  44. package/dist/components/Circle.d.ts +7 -3
  45. package/dist/components/Circle.js +61 -9
  46. package/dist/components/Circle.js.map +1 -0
  47. package/dist/components/Circle.mjs +27 -0
  48. package/dist/components/Circle.mjs.map +1 -0
  49. package/dist/components/ErrorComponent.d.mts +18 -0
  50. package/dist/components/ErrorComponent.d.ts +9 -4
  51. package/dist/components/ErrorComponent.js +86 -17
  52. package/dist/components/ErrorComponent.js.map +1 -0
  53. package/dist/components/ErrorComponent.mjs +53 -0
  54. package/dist/components/ErrorComponent.mjs.map +1 -0
  55. package/dist/components/Expandable.d.mts +33 -0
  56. package/dist/components/Expandable.d.ts +8 -5
  57. package/dist/components/Expandable.js +79 -15
  58. package/dist/components/Expandable.js.map +1 -0
  59. package/dist/components/Expandable.mjs +45 -0
  60. package/dist/components/Expandable.mjs.map +1 -0
  61. package/dist/components/HelpwaveBadge.d.mts +14 -0
  62. package/dist/components/HelpwaveBadge.d.ts +6 -3
  63. package/dist/components/HelpwaveBadge.js +125 -13
  64. package/dist/components/HelpwaveBadge.js.map +1 -0
  65. package/dist/components/HelpwaveBadge.mjs +91 -0
  66. package/dist/components/HelpwaveBadge.mjs.map +1 -0
  67. package/dist/components/HideableContentSection.d.mts +14 -0
  68. package/dist/components/HideableContentSection.d.ts +7 -3
  69. package/dist/components/HideableContentSection.js +69 -14
  70. package/dist/components/HideableContentSection.js.map +1 -0
  71. package/dist/components/HideableContentSection.mjs +35 -0
  72. package/dist/components/HideableContentSection.mjs.map +1 -0
  73. package/dist/components/InputGroup.d.mts +17 -0
  74. package/dist/components/InputGroup.d.ts +7 -3
  75. package/dist/components/InputGroup.js +96 -32
  76. package/dist/components/InputGroup.js.map +1 -0
  77. package/dist/components/InputGroup.mjs +62 -0
  78. package/dist/components/InputGroup.mjs.map +1 -0
  79. package/dist/components/LoadingAndErrorComponent.d.mts +24 -0
  80. package/dist/components/LoadingAndErrorComponent.d.ts +12 -5
  81. package/dist/components/LoadingAndErrorComponent.js +178 -23
  82. package/dist/components/LoadingAndErrorComponent.js.map +1 -0
  83. package/dist/components/LoadingAndErrorComponent.mjs +145 -0
  84. package/dist/components/LoadingAndErrorComponent.mjs.map +1 -0
  85. package/dist/components/LoadingAnimation.d.mts +18 -0
  86. package/dist/components/LoadingAnimation.d.ts +9 -4
  87. package/dist/components/LoadingAnimation.js +124 -16
  88. package/dist/components/LoadingAnimation.js.map +1 -0
  89. package/dist/components/LoadingAnimation.mjs +90 -0
  90. package/dist/components/LoadingAnimation.mjs.map +1 -0
  91. package/dist/components/LoadingButton.d.mts +10 -0
  92. package/dist/components/LoadingButton.d.ts +7 -3
  93. package/dist/components/LoadingButton.js +169 -9
  94. package/dist/components/LoadingButton.js.map +1 -0
  95. package/dist/components/LoadingButton.mjs +135 -0
  96. package/dist/components/LoadingButton.mjs.map +1 -0
  97. package/dist/components/MarkdownInterpreter.d.mts +28 -0
  98. package/dist/components/MarkdownInterpreter.d.ts +8 -5
  99. package/dist/components/MarkdownInterpreter.js +246 -175
  100. package/dist/components/MarkdownInterpreter.js.map +1 -0
  101. package/dist/components/MarkdownInterpreter.mjs +235 -0
  102. package/dist/components/MarkdownInterpreter.mjs.map +1 -0
  103. package/dist/components/Pagination.d.mts +19 -0
  104. package/dist/components/Pagination.d.ts +9 -4
  105. package/dist/components/Pagination.js +100 -23
  106. package/dist/components/Pagination.js.map +1 -0
  107. package/dist/components/Pagination.mjs +67 -0
  108. package/dist/components/Pagination.mjs.map +1 -0
  109. package/dist/components/Profile.d.mts +31 -0
  110. package/dist/components/Profile.d.ts +8 -5
  111. package/dist/components/Profile.js +194 -42
  112. package/dist/components/Profile.js.map +1 -0
  113. package/dist/components/Profile.mjs +162 -0
  114. package/dist/components/Profile.mjs.map +1 -0
  115. package/dist/components/ProgressIndicator.d.mts +24 -0
  116. package/dist/components/ProgressIndicator.d.ts +6 -3
  117. package/dist/components/ProgressIndicator.js +82 -22
  118. package/dist/components/ProgressIndicator.js.map +1 -0
  119. package/dist/components/ProgressIndicator.mjs +59 -0
  120. package/dist/components/ProgressIndicator.mjs.map +1 -0
  121. package/dist/components/Ring.d.mts +35 -0
  122. package/dist/components/Ring.d.ts +13 -9
  123. package/dist/components/Ring.js +331 -107
  124. package/dist/components/Ring.js.map +1 -0
  125. package/dist/components/Ring.mjs +299 -0
  126. package/dist/components/Ring.mjs.map +1 -0
  127. package/dist/components/SearchableList.d.mts +22 -0
  128. package/dist/components/SearchableList.d.ts +9 -5
  129. package/dist/components/SearchableList.js +268 -24
  130. package/dist/components/SearchableList.js.map +1 -0
  131. package/dist/components/SearchableList.mjs +241 -0
  132. package/dist/components/SearchableList.mjs.map +1 -0
  133. package/dist/components/SortButton.d.mts +15 -0
  134. package/dist/components/SortButton.d.ts +9 -4
  135. package/dist/components/SortButton.js +131 -8
  136. package/dist/components/SortButton.js.map +1 -0
  137. package/dist/components/SortButton.mjs +97 -0
  138. package/dist/components/SortButton.mjs.map +1 -0
  139. package/dist/components/Span.d.mts +2 -0
  140. package/dist/components/Span.d.ts +2 -0
  141. package/dist/components/Span.js +1 -0
  142. package/dist/components/Span.js.map +1 -0
  143. package/dist/components/Span.mjs +1 -0
  144. package/dist/components/Span.mjs.map +1 -0
  145. package/dist/components/StepperBar.d.mts +28 -0
  146. package/dist/components/StepperBar.d.ts +10 -5
  147. package/dist/components/StepperBar.js +248 -44
  148. package/dist/components/StepperBar.js.map +1 -0
  149. package/dist/components/StepperBar.mjs +216 -0
  150. package/dist/components/StepperBar.mjs.map +1 -0
  151. package/dist/components/Table.d.mts +90 -0
  152. package/dist/components/Table.d.ts +20 -17
  153. package/dist/components/Table.js +396 -170
  154. package/dist/components/Table.js.map +1 -0
  155. package/dist/components/Table.mjs +370 -0
  156. package/dist/components/Table.mjs.map +1 -0
  157. package/dist/components/TechRadar.d.mts +39 -0
  158. package/dist/components/TechRadar.d.ts +5 -2
  159. package/dist/components/TechRadar.js +241 -189
  160. package/dist/components/TechRadar.js.map +1 -0
  161. package/dist/components/TechRadar.mjs +208 -0
  162. package/dist/components/TechRadar.mjs.map +1 -0
  163. package/dist/components/TextImage.d.mts +25 -0
  164. package/dist/components/TextImage.d.ts +9 -4
  165. package/dist/components/TextImage.js +121 -29
  166. package/dist/components/TextImage.js.map +1 -0
  167. package/dist/components/TextImage.mjs +86 -0
  168. package/dist/components/TextImage.mjs.map +1 -0
  169. package/dist/components/TimeDisplay.d.mts +35 -0
  170. package/dist/components/TimeDisplay.d.ts +8 -3
  171. package/dist/components/TimeDisplay.js +134 -81
  172. package/dist/components/TimeDisplay.js.map +1 -0
  173. package/dist/components/TimeDisplay.mjs +109 -0
  174. package/dist/components/TimeDisplay.mjs.map +1 -0
  175. package/dist/components/Tooltip.d.mts +37 -0
  176. package/dist/components/Tooltip.d.ts +7 -4
  177. package/dist/components/Tooltip.js +135 -37
  178. package/dist/components/Tooltip.js.map +1 -0
  179. package/dist/components/Tooltip.mjs +109 -0
  180. package/dist/components/Tooltip.mjs.map +1 -0
  181. package/dist/components/VerticalDivider.d.mts +15 -0
  182. package/dist/components/VerticalDivider.d.ts +6 -2
  183. package/dist/components/VerticalDivider.js +80 -6
  184. package/dist/components/VerticalDivider.js.map +1 -0
  185. package/dist/components/VerticalDivider.mjs +56 -0
  186. package/dist/components/VerticalDivider.mjs.map +1 -0
  187. package/dist/components/date/DatePicker.d.mts +32 -0
  188. package/dist/components/date/DatePicker.d.ts +13 -7
  189. package/dist/components/date/DatePicker.js +624 -55
  190. package/dist/components/date/DatePicker.js.map +1 -0
  191. package/dist/components/date/DatePicker.mjs +591 -0
  192. package/dist/components/date/DatePicker.mjs.map +1 -0
  193. package/dist/components/date/DayPicker.d.mts +20 -0
  194. package/dist/components/date/DayPicker.d.ts +8 -4
  195. package/dist/components/date/DayPicker.js +232 -36
  196. package/dist/components/date/DayPicker.js.map +1 -0
  197. package/dist/components/date/DayPicker.mjs +195 -0
  198. package/dist/components/date/DayPicker.mjs.map +1 -0
  199. package/dist/components/date/TimePicker.d.mts +15 -0
  200. package/dist/components/date/TimePicker.d.ts +7 -4
  201. package/dist/components/date/TimePicker.js +196 -75
  202. package/dist/components/date/TimePicker.js.map +1 -0
  203. package/dist/components/date/TimePicker.mjs +164 -0
  204. package/dist/components/date/TimePicker.mjs.map +1 -0
  205. package/dist/components/date/YearMonthPicker.d.mts +15 -0
  206. package/dist/components/date/YearMonthPicker.d.ts +7 -3
  207. package/dist/components/date/YearMonthPicker.js +281 -57
  208. package/dist/components/date/YearMonthPicker.js.map +1 -0
  209. package/dist/components/date/YearMonthPicker.mjs +247 -0
  210. package/dist/components/date/YearMonthPicker.mjs.map +1 -0
  211. package/dist/components/examples/InputGroupExample.d.mts +11 -0
  212. package/dist/components/examples/InputGroupExample.d.ts +8 -3
  213. package/dist/components/examples/InputGroupExample.js +465 -20
  214. package/dist/components/examples/InputGroupExample.js.map +1 -0
  215. package/dist/components/examples/InputGroupExample.mjs +436 -0
  216. package/dist/components/examples/InputGroupExample.mjs.map +1 -0
  217. package/dist/components/examples/MultiSelectExample.d.mts +14 -0
  218. package/dist/components/examples/MultiSelectExample.d.ts +10 -3
  219. package/dist/components/examples/MultiSelectExample.js +659 -25
  220. package/dist/components/examples/MultiSelectExample.js.map +1 -0
  221. package/dist/components/examples/MultiSelectExample.mjs +631 -0
  222. package/dist/components/examples/MultiSelectExample.mjs.map +1 -0
  223. package/dist/components/examples/SearchableSelectExample.d.mts +13 -0
  224. package/dist/components/examples/SearchableSelectExample.d.ts +10 -3
  225. package/dist/components/examples/SearchableSelectExample.js +364 -16
  226. package/dist/components/examples/SearchableSelectExample.js.map +1 -0
  227. package/dist/components/examples/SearchableSelectExample.mjs +335 -0
  228. package/dist/components/examples/SearchableSelectExample.mjs.map +1 -0
  229. package/dist/components/examples/SelectExample.d.mts +9 -0
  230. package/dist/components/examples/SelectExample.d.ts +8 -3
  231. package/dist/components/examples/SelectExample.js +178 -13
  232. package/dist/components/examples/SelectExample.js.map +1 -0
  233. package/dist/components/examples/SelectExample.mjs +145 -0
  234. package/dist/components/examples/SelectExample.mjs.map +1 -0
  235. package/dist/components/examples/StackingModals.d.mts +8 -0
  236. package/dist/components/examples/StackingModals.d.ts +5 -1
  237. package/dist/components/examples/StackingModals.js +497 -14
  238. package/dist/components/examples/StackingModals.js.map +1 -0
  239. package/dist/components/examples/StackingModals.mjs +463 -0
  240. package/dist/components/examples/StackingModals.mjs.map +1 -0
  241. package/dist/components/examples/TableExample.d.mts +13 -0
  242. package/dist/components/examples/TableExample.d.ts +9 -5
  243. package/dist/components/examples/TableExample.js +850 -89
  244. package/dist/components/examples/TableExample.js.map +1 -0
  245. package/dist/components/examples/TableExample.mjs +823 -0
  246. package/dist/components/examples/TableExample.mjs.map +1 -0
  247. package/dist/components/examples/TextareaExample.d.mts +12 -0
  248. package/dist/components/examples/TextareaExample.d.ts +9 -3
  249. package/dist/components/examples/TextareaExample.js +175 -9
  250. package/dist/components/examples/TextareaExample.js.map +1 -0
  251. package/dist/components/examples/TextareaExample.mjs +141 -0
  252. package/dist/components/examples/TextareaExample.mjs.map +1 -0
  253. package/dist/components/examples/TileExample.d.mts +14 -0
  254. package/dist/components/examples/TileExample.d.ts +8 -3
  255. package/dist/components/examples/TileExample.js +78 -8
  256. package/dist/components/examples/TileExample.js.map +1 -0
  257. package/dist/components/examples/TileExample.mjs +44 -0
  258. package/dist/components/examples/TileExample.mjs.map +1 -0
  259. package/dist/components/examples/Title.d.mts +2 -0
  260. package/dist/components/examples/Title.d.ts +2 -0
  261. package/dist/components/examples/Title.js +1 -0
  262. package/dist/components/examples/Title.js.map +1 -0
  263. package/dist/components/examples/Title.mjs +1 -0
  264. package/dist/components/examples/Title.mjs.map +1 -0
  265. package/dist/components/examples/date/DateTimePickerExample.d.mts +18 -0
  266. package/dist/components/examples/date/DateTimePickerExample.d.ts +15 -7
  267. package/dist/components/examples/date/DateTimePickerExample.js +877 -19
  268. package/dist/components/examples/date/DateTimePickerExample.js.map +1 -0
  269. package/dist/components/examples/date/DateTimePickerExample.mjs +844 -0
  270. package/dist/components/examples/date/DateTimePickerExample.mjs.map +1 -0
  271. package/dist/components/examples/properties/CheckboxPropertyExample.d.mts +16 -0
  272. package/dist/components/examples/properties/CheckboxPropertyExample.d.ts +11 -3
  273. package/dist/components/examples/properties/CheckboxPropertyExample.js +348 -12
  274. package/dist/components/examples/properties/CheckboxPropertyExample.js.map +1 -0
  275. package/dist/components/examples/properties/CheckboxPropertyExample.mjs +314 -0
  276. package/dist/components/examples/properties/CheckboxPropertyExample.mjs.map +1 -0
  277. package/dist/components/examples/properties/DatePropertyExample.d.mts +16 -0
  278. package/dist/components/examples/properties/DatePropertyExample.d.ts +11 -3
  279. package/dist/components/examples/properties/DatePropertyExample.js +459 -22
  280. package/dist/components/examples/properties/DatePropertyExample.js.map +1 -0
  281. package/dist/components/examples/properties/DatePropertyExample.mjs +430 -0
  282. package/dist/components/examples/properties/DatePropertyExample.mjs.map +1 -0
  283. package/dist/components/examples/properties/MultiSelectPropertyExample.d.mts +18 -0
  284. package/dist/components/examples/properties/MultiSelectPropertyExample.d.ts +13 -3
  285. package/dist/components/examples/properties/MultiSelectPropertyExample.js +847 -15
  286. package/dist/components/examples/properties/MultiSelectPropertyExample.js.map +1 -0
  287. package/dist/components/examples/properties/MultiSelectPropertyExample.mjs +818 -0
  288. package/dist/components/examples/properties/MultiSelectPropertyExample.mjs.map +1 -0
  289. package/dist/components/examples/properties/NumberPropertyExample.d.mts +14 -0
  290. package/dist/components/examples/properties/NumberPropertyExample.d.ts +11 -3
  291. package/dist/components/examples/properties/NumberPropertyExample.js +455 -12
  292. package/dist/components/examples/properties/NumberPropertyExample.js.map +1 -0
  293. package/dist/components/examples/properties/NumberPropertyExample.mjs +426 -0
  294. package/dist/components/examples/properties/NumberPropertyExample.mjs.map +1 -0
  295. package/dist/components/examples/properties/SelectPropertyExample.d.mts +17 -0
  296. package/dist/components/examples/properties/SelectPropertyExample.d.ts +14 -3
  297. package/dist/components/examples/properties/SelectPropertyExample.js +582 -16
  298. package/dist/components/examples/properties/SelectPropertyExample.js.map +1 -0
  299. package/dist/components/examples/properties/SelectPropertyExample.mjs +554 -0
  300. package/dist/components/examples/properties/SelectPropertyExample.mjs.map +1 -0
  301. package/dist/components/examples/properties/TextPropertyExample.d.mts +16 -0
  302. package/dist/components/examples/properties/TextPropertyExample.d.ts +11 -3
  303. package/dist/components/examples/properties/TextPropertyExample.js +404 -12
  304. package/dist/components/examples/properties/TextPropertyExample.js.map +1 -0
  305. package/dist/components/examples/properties/TextPropertyExample.mjs +370 -0
  306. package/dist/components/examples/properties/TextPropertyExample.mjs.map +1 -0
  307. package/dist/components/icons/Helpwave.d.mts +14 -0
  308. package/dist/components/icons/Helpwave.d.ts +7 -3
  309. package/dist/components/icons/Helpwave.js +66 -18
  310. package/dist/components/icons/Helpwave.js.map +1 -0
  311. package/dist/components/icons/Helpwave.mjs +43 -0
  312. package/dist/components/icons/Helpwave.mjs.map +1 -0
  313. package/dist/components/icons/Tag.d.mts +14 -0
  314. package/dist/components/icons/Tag.d.ts +7 -3
  315. package/dist/components/icons/Tag.js +59 -11
  316. package/dist/components/icons/Tag.js.map +1 -0
  317. package/dist/components/icons/Tag.mjs +25 -0
  318. package/dist/components/icons/Tag.mjs.map +1 -0
  319. package/dist/components/layout/Carousel.d.mts +25 -0
  320. package/dist/components/layout/Carousel.d.ts +6 -3
  321. package/dist/components/layout/Carousel.js +477 -226
  322. package/dist/components/layout/Carousel.js.map +1 -0
  323. package/dist/components/layout/Carousel.mjs +449 -0
  324. package/dist/components/layout/Carousel.mjs.map +1 -0
  325. package/dist/components/layout/DividerInserter.d.mts +15 -0
  326. package/dist/components/layout/DividerInserter.d.ts +7 -3
  327. package/dist/components/layout/DividerInserter.js +58 -18
  328. package/dist/components/layout/DividerInserter.js.map +1 -0
  329. package/dist/components/layout/DividerInserter.mjs +25 -0
  330. package/dist/components/layout/DividerInserter.mjs.map +1 -0
  331. package/dist/components/layout/FAQSection.d.mts +26 -0
  332. package/dist/components/layout/FAQSection.d.ts +9 -6
  333. package/dist/components/layout/FAQSection.js +336 -13
  334. package/dist/components/layout/FAQSection.js.map +1 -0
  335. package/dist/components/layout/FAQSection.mjs +302 -0
  336. package/dist/components/layout/FAQSection.mjs.map +1 -0
  337. package/dist/components/layout/Tile.d.mts +37 -0
  338. package/dist/components/layout/Tile.d.ts +9 -6
  339. package/dist/components/layout/Tile.js +76 -16
  340. package/dist/components/layout/Tile.js.map +1 -0
  341. package/dist/components/layout/Tile.mjs +42 -0
  342. package/dist/components/layout/Tile.mjs.map +1 -0
  343. package/dist/components/modals/ConfirmDialog.d.mts +38 -0
  344. package/dist/components/modals/ConfirmDialog.d.ts +13 -9
  345. package/dist/components/modals/ConfirmDialog.js +422 -28
  346. package/dist/components/modals/ConfirmDialog.js.map +1 -0
  347. package/dist/components/modals/ConfirmDialog.mjs +388 -0
  348. package/dist/components/modals/ConfirmDialog.mjs.map +1 -0
  349. package/dist/components/modals/DiscardChangesDialog.d.mts +23 -0
  350. package/dist/components/modals/DiscardChangesDialog.d.ts +9 -5
  351. package/dist/components/modals/DiscardChangesDialog.js +406 -23
  352. package/dist/components/modals/DiscardChangesDialog.js.map +1 -0
  353. package/dist/components/modals/DiscardChangesDialog.mjs +370 -0
  354. package/dist/components/modals/DiscardChangesDialog.mjs.map +1 -0
  355. package/dist/components/modals/InputModal.d.mts +19 -0
  356. package/dist/components/modals/InputModal.d.ts +14 -4
  357. package/dist/components/modals/InputModal.js +598 -8
  358. package/dist/components/modals/InputModal.js.map +1 -0
  359. package/dist/components/modals/InputModal.mjs +567 -0
  360. package/dist/components/modals/InputModal.mjs.map +1 -0
  361. package/dist/components/modals/LanguageModal.d.mts +21 -0
  362. package/dist/components/modals/LanguageModal.d.ts +9 -5
  363. package/dist/components/modals/LanguageModal.js +524 -33
  364. package/dist/components/modals/LanguageModal.js.map +1 -0
  365. package/dist/components/modals/LanguageModal.mjs +489 -0
  366. package/dist/components/modals/LanguageModal.mjs.map +1 -0
  367. package/dist/components/modals/Modal.d.mts +43 -0
  368. package/dist/components/modals/Modal.d.ts +13 -8
  369. package/dist/components/modals/Modal.js +280 -51
  370. package/dist/components/modals/Modal.js.map +1 -0
  371. package/dist/components/modals/Modal.mjs +249 -0
  372. package/dist/components/modals/Modal.mjs.map +1 -0
  373. package/dist/components/modals/ModalRegister.d.mts +16 -0
  374. package/dist/components/modals/ModalRegister.d.ts +9 -4
  375. package/dist/components/modals/ModalRegister.js +61 -26
  376. package/dist/components/modals/ModalRegister.js.map +1 -0
  377. package/dist/components/modals/ModalRegister.mjs +37 -0
  378. package/dist/components/modals/ModalRegister.mjs.map +1 -0
  379. package/dist/components/properties/CheckboxProperty.d.mts +20 -0
  380. package/dist/components/properties/CheckboxProperty.d.ts +10 -5
  381. package/dist/components/properties/CheckboxProperty.js +323 -24
  382. package/dist/components/properties/CheckboxProperty.js.map +1 -0
  383. package/dist/components/properties/CheckboxProperty.mjs +291 -0
  384. package/dist/components/properties/CheckboxProperty.mjs.map +1 -0
  385. package/dist/components/properties/DateProperty.d.mts +18 -0
  386. package/dist/components/properties/DateProperty.d.ts +10 -3
  387. package/dist/components/properties/DateProperty.js +422 -21
  388. package/dist/components/properties/DateProperty.js.map +1 -0
  389. package/dist/components/properties/DateProperty.mjs +393 -0
  390. package/dist/components/properties/DateProperty.mjs.map +1 -0
  391. package/dist/components/properties/MultiSelectProperty.d.mts +18 -0
  392. package/dist/components/properties/MultiSelectProperty.d.ts +12 -6
  393. package/dist/components/properties/MultiSelectProperty.js +815 -31
  394. package/dist/components/properties/MultiSelectProperty.js.map +1 -0
  395. package/dist/components/properties/MultiSelectProperty.mjs +787 -0
  396. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -0
  397. package/dist/components/properties/NumberProperty.d.mts +21 -0
  398. package/dist/components/properties/NumberProperty.d.ts +10 -5
  399. package/dist/components/properties/NumberProperty.js +429 -39
  400. package/dist/components/properties/NumberProperty.js.map +1 -0
  401. package/dist/components/properties/NumberProperty.mjs +402 -0
  402. package/dist/components/properties/NumberProperty.mjs.map +1 -0
  403. package/dist/components/properties/PropertyBase.d.mts +27 -0
  404. package/dist/components/properties/PropertyBase.d.ts +9 -5
  405. package/dist/components/properties/PropertyBase.js +194 -24
  406. package/dist/components/properties/PropertyBase.js.map +1 -0
  407. package/dist/components/properties/PropertyBase.mjs +162 -0
  408. package/dist/components/properties/PropertyBase.mjs.map +1 -0
  409. package/dist/components/properties/SelectProperty.d.mts +19 -0
  410. package/dist/components/properties/SelectProperty.d.ts +13 -6
  411. package/dist/components/properties/SelectProperty.js +547 -19
  412. package/dist/components/properties/SelectProperty.js.map +1 -0
  413. package/dist/components/properties/SelectProperty.mjs +520 -0
  414. package/dist/components/properties/SelectProperty.mjs.map +1 -0
  415. package/dist/components/properties/TextProperty.d.mts +20 -0
  416. package/dist/components/properties/TextProperty.d.ts +10 -5
  417. package/dist/components/properties/TextProperty.js +378 -34
  418. package/dist/components/properties/TextProperty.js.map +1 -0
  419. package/dist/components/properties/TextProperty.mjs +346 -0
  420. package/dist/components/properties/TextProperty.mjs.map +1 -0
  421. package/dist/components/user-input/Checkbox.d.mts +41 -0
  422. package/dist/components/user-input/Checkbox.d.ts +9 -5
  423. package/dist/components/user-input/Checkbox.js +148 -63
  424. package/dist/components/user-input/Checkbox.js.map +1 -0
  425. package/dist/components/user-input/Checkbox.mjs +112 -0
  426. package/dist/components/user-input/Checkbox.mjs.map +1 -0
  427. package/dist/components/user-input/DateAndTimePicker.d.mts +47 -0
  428. package/dist/components/user-input/DateAndTimePicker.d.ts +15 -7
  429. package/dist/components/user-input/DateAndTimePicker.js +831 -60
  430. package/dist/components/user-input/DateAndTimePicker.js.map +1 -0
  431. package/dist/components/user-input/DateAndTimePicker.mjs +801 -0
  432. package/dist/components/user-input/DateAndTimePicker.mjs.map +1 -0
  433. package/dist/components/user-input/Input.d.mts +64 -0
  434. package/dist/components/user-input/Input.d.ts +12 -9
  435. package/dist/components/user-input/Input.js +219 -57
  436. package/dist/components/user-input/Input.js.map +1 -0
  437. package/dist/components/user-input/Input.mjs +191 -0
  438. package/dist/components/user-input/Input.mjs.map +1 -0
  439. package/dist/components/user-input/Label.d.mts +16 -0
  440. package/dist/components/user-input/Label.d.ts +8 -4
  441. package/dist/components/user-input/Label.js +43 -11
  442. package/dist/components/user-input/Label.js.map +1 -0
  443. package/dist/components/user-input/Label.mjs +19 -0
  444. package/dist/components/user-input/Label.mjs.map +1 -0
  445. package/dist/components/user-input/Menu.d.mts +24 -0
  446. package/dist/components/user-input/Menu.d.ts +8 -5
  447. package/dist/components/user-input/Menu.js +162 -25
  448. package/dist/components/user-input/Menu.js.map +1 -0
  449. package/dist/components/user-input/Menu.mjs +127 -0
  450. package/dist/components/user-input/Menu.mjs.map +1 -0
  451. package/dist/components/user-input/MultiSelect.d.mts +43 -0
  452. package/dist/components/user-input/MultiSelect.d.ts +12 -8
  453. package/dist/components/user-input/MultiSelect.js +545 -56
  454. package/dist/components/user-input/MultiSelect.js.map +1 -0
  455. package/dist/components/user-input/MultiSelect.mjs +516 -0
  456. package/dist/components/user-input/MultiSelect.mjs.map +1 -0
  457. package/dist/components/user-input/ScrollPicker.d.mts +15 -0
  458. package/dist/components/user-input/ScrollPicker.d.ts +6 -2
  459. package/dist/components/user-input/ScrollPicker.js +276 -145
  460. package/dist/components/user-input/ScrollPicker.js.map +1 -0
  461. package/dist/components/user-input/ScrollPicker.mjs +247 -0
  462. package/dist/components/user-input/ScrollPicker.mjs.map +1 -0
  463. package/dist/components/user-input/SearchableSelect.d.mts +14 -0
  464. package/dist/components/user-input/SearchableSelect.d.ts +9 -3
  465. package/dist/components/user-input/SearchableSelect.js +334 -13
  466. package/dist/components/user-input/SearchableSelect.js.map +1 -0
  467. package/dist/components/user-input/SearchableSelect.mjs +305 -0
  468. package/dist/components/user-input/SearchableSelect.mjs.map +1 -0
  469. package/dist/components/user-input/Select.d.mts +36 -0
  470. package/dist/components/user-input/Select.d.ts +9 -5
  471. package/dist/components/user-input/Select.js +152 -47
  472. package/dist/components/user-input/Select.js.map +1 -0
  473. package/dist/components/user-input/Select.mjs +118 -0
  474. package/dist/components/user-input/Select.mjs.map +1 -0
  475. package/dist/components/user-input/Textarea.d.mts +24 -0
  476. package/dist/components/user-input/Textarea.d.ts +8 -4
  477. package/dist/components/user-input/Textarea.js +153 -31
  478. package/dist/components/user-input/Textarea.js.map +1 -0
  479. package/dist/components/user-input/Textarea.mjs +120 -0
  480. package/dist/components/user-input/Textarea.mjs.map +1 -0
  481. package/dist/components/user-input/ToggleableInput.d.mts +35 -0
  482. package/dist/components/user-input/ToggleableInput.d.ts +6 -3
  483. package/dist/components/user-input/ToggleableInput.js +161 -38
  484. package/dist/components/user-input/ToggleableInput.js.map +1 -0
  485. package/dist/components/user-input/ToggleableInput.mjs +128 -0
  486. package/dist/components/user-input/ToggleableInput.mjs.map +1 -0
  487. package/dist/hooks/useHoverState.d.mts +42 -0
  488. package/dist/hooks/useHoverState.d.ts +5 -3
  489. package/dist/hooks/useHoverState.js +69 -43
  490. package/dist/hooks/useHoverState.js.map +1 -0
  491. package/dist/hooks/useHoverState.mjs +47 -0
  492. package/dist/hooks/useHoverState.mjs.map +1 -0
  493. package/dist/hooks/useLanguage.d.mts +21 -0
  494. package/dist/hooks/useLanguage.d.ts +15 -11
  495. package/dist/hooks/useLanguage.js +145 -50
  496. package/dist/hooks/useLanguage.js.map +1 -0
  497. package/dist/hooks/useLanguage.mjs +115 -0
  498. package/dist/hooks/useLanguage.mjs.map +1 -0
  499. package/dist/hooks/useLocalStorage.d.mts +6 -0
  500. package/dist/hooks/useLocalStorage.d.ts +4 -2
  501. package/dist/hooks/useLocalStorage.js +79 -23
  502. package/dist/hooks/useLocalStorage.js.map +1 -0
  503. package/dist/hooks/useLocalStorage.mjs +59 -0
  504. package/dist/hooks/useLocalStorage.mjs.map +1 -0
  505. package/dist/hooks/useOutsideClick.d.mts +5 -0
  506. package/dist/hooks/useOutsideClick.d.ts +5 -2
  507. package/dist/hooks/useOutsideClick.js +47 -21
  508. package/dist/hooks/useOutsideClick.js.map +1 -0
  509. package/dist/hooks/useOutsideClick.mjs +23 -0
  510. package/dist/hooks/useOutsideClick.mjs.map +1 -0
  511. package/dist/hooks/useSaveDelay.d.mts +6 -0
  512. package/dist/hooks/useSaveDelay.d.ts +2 -1
  513. package/dist/hooks/useSaveDelay.js +62 -38
  514. package/dist/hooks/useSaveDelay.js.map +1 -0
  515. package/dist/hooks/useSaveDelay.mjs +44 -0
  516. package/dist/hooks/useSaveDelay.mjs.map +1 -0
  517. package/dist/hooks/useTheme.d.mts +21 -0
  518. package/dist/hooks/useTheme.d.ts +14 -9
  519. package/dist/hooks/useTheme.js +65 -29
  520. package/dist/hooks/useTheme.js.map +1 -0
  521. package/dist/hooks/useTheme.mjs +40 -0
  522. package/dist/hooks/useTheme.mjs.map +1 -0
  523. package/dist/hooks/useTranslation.d.mts +28 -0
  524. package/dist/hooks/useTranslation.d.ts +9 -5
  525. package/dist/hooks/useTranslation.js +53 -10
  526. package/dist/hooks/useTranslation.js.map +1 -0
  527. package/dist/hooks/useTranslation.mjs +27 -0
  528. package/dist/hooks/useTranslation.mjs.map +1 -0
  529. package/dist/index.d.mts +2 -0
  530. package/dist/index.d.ts +2 -0
  531. package/dist/index.js +2 -0
  532. package/dist/index.js.map +1 -0
  533. package/dist/index.mjs +1 -0
  534. package/dist/index.mjs.map +1 -0
  535. package/dist/util/array.d.mts +25 -0
  536. package/dist/util/array.d.ts +9 -7
  537. package/dist/util/array.js +119 -92
  538. package/dist/util/array.js.map +1 -0
  539. package/dist/util/array.mjs +99 -0
  540. package/dist/util/array.mjs.map +1 -0
  541. package/dist/util/builder.d.mts +8 -0
  542. package/dist/util/builder.d.ts +3 -1
  543. package/dist/util/builder.js +33 -8
  544. package/dist/util/builder.js.map +1 -0
  545. package/dist/util/builder.mjs +9 -0
  546. package/dist/util/builder.mjs.map +1 -0
  547. package/dist/util/date.d.mts +30 -0
  548. package/dist/util/date.d.ts +17 -15
  549. package/dist/util/date.js +184 -123
  550. package/dist/util/date.js.map +1 -0
  551. package/dist/util/date.mjs +156 -0
  552. package/dist/util/date.mjs.map +1 -0
  553. package/dist/util/easeFunctions.d.mts +11 -0
  554. package/dist/util/easeFunctions.d.ts +4 -2
  555. package/dist/util/easeFunctions.js +63 -30
  556. package/dist/util/easeFunctions.js.map +1 -0
  557. package/dist/util/easeFunctions.mjs +36 -0
  558. package/dist/util/easeFunctions.mjs.map +1 -0
  559. package/dist/util/emailValidation.d.mts +3 -0
  560. package/dist/util/emailValidation.d.ts +3 -1
  561. package/dist/util/emailValidation.js +32 -2
  562. package/dist/util/emailValidation.js.map +1 -0
  563. package/dist/util/emailValidation.mjs +8 -0
  564. package/dist/util/emailValidation.mjs.map +1 -0
  565. package/dist/util/loopingArray.d.mts +25 -0
  566. package/dist/util/loopingArray.d.ts +4 -2
  567. package/dist/util/loopingArray.js +89 -59
  568. package/dist/util/loopingArray.js.map +1 -0
  569. package/dist/util/loopingArray.mjs +72 -0
  570. package/dist/util/loopingArray.mjs.map +1 -0
  571. package/dist/util/math.d.mts +3 -0
  572. package/dist/util/math.d.ts +3 -1
  573. package/dist/util/math.js +32 -2
  574. package/dist/util/math.js.map +1 -0
  575. package/dist/util/math.mjs +8 -0
  576. package/dist/util/math.mjs.map +1 -0
  577. package/dist/util/news.d.mts +103 -0
  578. package/dist/util/news.d.ts +21 -16
  579. package/dist/util/news.js +73 -24
  580. package/dist/util/news.js.map +1 -0
  581. package/dist/util/news.mjs +48 -0
  582. package/dist/util/news.mjs.map +1 -0
  583. package/dist/util/noop.d.mts +3 -0
  584. package/dist/util/noop.d.ts +3 -1
  585. package/dist/util/noop.js +31 -1
  586. package/dist/util/noop.js.map +1 -0
  587. package/dist/util/noop.mjs +6 -0
  588. package/dist/util/noop.mjs.map +1 -0
  589. package/dist/util/simpleSearch.d.mts +50 -0
  590. package/dist/util/simpleSearch.d.ts +6 -4
  591. package/dist/util/simpleSearch.js +50 -58
  592. package/dist/util/simpleSearch.js.map +1 -0
  593. package/dist/util/simpleSearch.mjs +26 -0
  594. package/dist/util/simpleSearch.mjs.map +1 -0
  595. package/dist/util/storage.d.mts +16 -0
  596. package/dist/util/storage.d.ts +4 -3
  597. package/dist/util/storage.js +63 -31
  598. package/dist/util/storage.js.map +1 -0
  599. package/dist/util/storage.mjs +38 -0
  600. package/dist/util/storage.mjs.map +1 -0
  601. package/dist/util/types.d.mts +3 -0
  602. package/dist/util/types.d.ts +3 -1
  603. package/dist/util/types.js +19 -1
  604. package/dist/util/types.js.map +1 -0
  605. package/dist/util/types.mjs +1 -0
  606. package/dist/util/types.mjs.map +1 -0
  607. package/package.json +13 -6
@@ -0,0 +1,436 @@
1
+ // src/components/examples/InputGroupExample.tsx
2
+ import { useState as useState5 } from "react";
3
+
4
+ // src/components/InputGroup.tsx
5
+ import { useEffect, useState } from "react";
6
+ import { ChevronDown, ChevronUp } from "lucide-react";
7
+ import clsx from "clsx";
8
+
9
+ // src/util/noop.ts
10
+ var noop = () => void 0;
11
+
12
+ // src/components/InputGroup.tsx
13
+ import { jsx, jsxs } from "react/jsx-runtime";
14
+ var InputGroup = ({
15
+ children,
16
+ title,
17
+ expanded = true,
18
+ isExpandable = true,
19
+ disabled = false,
20
+ onChange = noop,
21
+ className = ""
22
+ }) => {
23
+ const [isExpanded, setIsExpanded] = useState(expanded);
24
+ useEffect(() => {
25
+ setIsExpanded(expanded);
26
+ }, [expanded]);
27
+ return /* @__PURE__ */ jsxs("div", { className: clsx("col gap-y-4 p-4 bg-white rounded-xl", className), children: [
28
+ /* @__PURE__ */ jsxs(
29
+ "div",
30
+ {
31
+ className: clsx(
32
+ "row justify-between items-center",
33
+ {
34
+ "cursor-pointer": isExpandable && !disabled,
35
+ "cursor-not-allowed": disabled
36
+ },
37
+ {
38
+ "text-primary": !disabled,
39
+ "text-primary/40": disabled
40
+ }
41
+ ),
42
+ onClick: () => {
43
+ if (!isExpandable) {
44
+ return;
45
+ }
46
+ const updatedIsExpanded = !isExpanded;
47
+ onChange(updatedIsExpanded);
48
+ setIsExpanded(updatedIsExpanded);
49
+ },
50
+ children: [
51
+ /* @__PURE__ */ jsx("span", { className: "textstyle-title-md", children: title }),
52
+ /* @__PURE__ */ jsx("div", { className: clsx("rounded-full text-white w-6 h-6", {
53
+ "bg-primary": isExpandable && !disabled || expanded,
54
+ "bg-primary/40": disabled
55
+ }), children: isExpanded ? /* @__PURE__ */ jsx(ChevronUp, { className: "-translate-y-[1px]", size: 24 }) : /* @__PURE__ */ jsx(ChevronDown, { className: "translate-y-[1px]", size: 24 }) })
56
+ ]
57
+ }
58
+ ),
59
+ isExpanded && /* @__PURE__ */ jsx("div", { className: "col gap-y-2 h-full", children })
60
+ ] });
61
+ };
62
+
63
+ // src/components/user-input/Select.tsx
64
+ import { Menu } from "@headlessui/react";
65
+ import { ChevronDown as ChevronDown2, ChevronUp as ChevronUp2 } from "lucide-react";
66
+ import clsx2 from "clsx";
67
+
68
+ // src/components/user-input/Label.tsx
69
+ import { jsx as jsx2 } from "react/jsx-runtime";
70
+ var styleMapping = {
71
+ labelSmall: "textstyle-label-sm",
72
+ labelMedium: "textstyle-label-md",
73
+ labelBig: "textstyle-label-lg"
74
+ };
75
+ var Label = ({
76
+ children,
77
+ name,
78
+ labelType = "labelSmall",
79
+ ...props
80
+ }) => {
81
+ return /* @__PURE__ */ jsx2("label", { ...props, children: children ? children : /* @__PURE__ */ jsx2("span", { className: styleMapping[labelType], children: name }) });
82
+ };
83
+
84
+ // src/components/user-input/Select.tsx
85
+ import { Fragment, jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
86
+ var Select = ({
87
+ value,
88
+ label,
89
+ options,
90
+ onChange,
91
+ isHidingCurrentValue = true,
92
+ hintText = "",
93
+ showDisabledOptions = true,
94
+ isDisabled,
95
+ className,
96
+ textColor = "text-menu-text",
97
+ hoverColor = "hover:brightness-90",
98
+ additionalItems,
99
+ selectedDisplayOverwrite
100
+ }) => {
101
+ let filteredOptions = isHidingCurrentValue ? options.filter((option) => option.value !== value) : options;
102
+ if (!showDisabledOptions) {
103
+ filteredOptions = filteredOptions.filter((value2) => !value2.disabled);
104
+ }
105
+ const selectedOption = options.find((option) => option.value === value);
106
+ if (value !== void 0 && selectedOption === void 0 && selectedDisplayOverwrite === void 0) {
107
+ console.warn("The selected value is not found in the options list. This might be an error on your part or default behavior if it is complex data type on which === does not work. In case of the latter use selectedDisplayOverwrite to set your selected text or component");
108
+ }
109
+ const borderColor = "border-menu-border";
110
+ return /* @__PURE__ */ jsxs2("div", { className: clsx2(className), children: [
111
+ label && /* @__PURE__ */ jsx3(Label, { ...label, labelType: label.labelType ?? "labelBig", className: clsx2("mb-1", label.className) }),
112
+ /* @__PURE__ */ jsx3(Menu, { as: "div", className: "relative text-menu-text", children: ({ open }) => /* @__PURE__ */ jsxs2(Fragment, { children: [
113
+ /* @__PURE__ */ jsxs2(
114
+ Menu.Button,
115
+ {
116
+ className: clsx2(
117
+ "inline-flex w-full justify-between items-center rounded-t-lg border-2 px-4 py-2 font-medium bg-menu-background text-menu-text",
118
+ textColor,
119
+ borderColor,
120
+ {
121
+ "rounded-b-lg": !open,
122
+ [hoverColor]: !isDisabled,
123
+ "bg-disabled-background cursor-not-allowed text-disabled": isDisabled
124
+ }
125
+ ),
126
+ disabled: isDisabled,
127
+ children: [
128
+ /* @__PURE__ */ jsx3("span", { children: selectedDisplayOverwrite ?? selectedOption?.label ?? hintText }),
129
+ open ? /* @__PURE__ */ jsx3(ChevronUp2, {}) : /* @__PURE__ */ jsx3(ChevronDown2, {})
130
+ ]
131
+ }
132
+ ),
133
+ /* @__PURE__ */ jsxs2(
134
+ Menu.Items,
135
+ {
136
+ className: "absolute w-full z-10 rounded-b-lg bg-menu-background text-menu-text shadow-lg max-h-[500px] overflow-y-auto",
137
+ children: [
138
+ (additionalItems ?? []).map((item, index) => /* @__PURE__ */ jsx3(
139
+ "div",
140
+ {
141
+ className: clsx2(borderColor, "px-4 py-2 overflow-hidden whitespace-nowrap text-ellipsis border-2 border-t-0", {
142
+ "border-b-0 rounded-b-lg": filteredOptions.length === 0 && index === (additionalItems?.length ?? 1) - 1
143
+ }),
144
+ children: item
145
+ },
146
+ `additionalItems${index}`
147
+ )),
148
+ filteredOptions.map((option, index) => /* @__PURE__ */ jsx3(Menu.Item, { children: /* @__PURE__ */ jsx3(
149
+ "div",
150
+ {
151
+ className: clsx2(
152
+ "px-4 py-2 overflow-hidden whitespace-nowrap text-ellipsis border-2 border-t-0 cursor-pointer",
153
+ option.className,
154
+ borderColor,
155
+ {
156
+ "brightness-90": option.value === value,
157
+ "brightness-95": index % 2 === 1,
158
+ "text-disabled bg-disabled-background cursor-not-allowed": !!option.disabled,
159
+ "bg-menu-background text-menu-text hover:brightness-90 cursor-pointer": !option.disabled,
160
+ "rounded-b-lg": index === filteredOptions.length - 1
161
+ }
162
+ ),
163
+ onClick: () => {
164
+ if (!option.disabled) {
165
+ onChange(option.value);
166
+ }
167
+ },
168
+ children: option.label
169
+ }
170
+ ) }, `item${index}`))
171
+ ]
172
+ }
173
+ )
174
+ ] }) })
175
+ ] });
176
+ };
177
+
178
+ // src/components/user-input/Input.tsx
179
+ import {
180
+ useEffect as useEffect3,
181
+ useRef,
182
+ useState as useState3,
183
+ forwardRef
184
+ } from "react";
185
+ import clsx3 from "clsx";
186
+
187
+ // src/hooks/useSaveDelay.ts
188
+ import { useEffect as useEffect2, useState as useState2 } from "react";
189
+ function useSaveDelay(setNotificationStatus, delay) {
190
+ const [updateTimer, setUpdateTimer] = useState2(void 0);
191
+ const [notificationTimer, setNotificationTimer] = useState2(void 0);
192
+ const restartTimer = (onSave) => {
193
+ clearTimeout(updateTimer);
194
+ setUpdateTimer(setTimeout(() => {
195
+ onSave();
196
+ setNotificationStatus(true);
197
+ clearTimeout(notificationTimer);
198
+ setNotificationTimer(setTimeout(() => {
199
+ setNotificationStatus(false);
200
+ clearTimeout(notificationTimer);
201
+ }, delay));
202
+ clearTimeout(updateTimer);
203
+ }, delay));
204
+ };
205
+ const clearUpdateTimer = (hasSaved = true) => {
206
+ clearTimeout(updateTimer);
207
+ if (hasSaved) {
208
+ setNotificationStatus(true);
209
+ clearTimeout(notificationTimer);
210
+ setNotificationTimer(setTimeout(() => {
211
+ setNotificationStatus(false);
212
+ clearTimeout(notificationTimer);
213
+ }, delay));
214
+ } else {
215
+ setNotificationStatus(false);
216
+ }
217
+ };
218
+ useEffect2(() => {
219
+ return () => {
220
+ clearTimeout(updateTimer);
221
+ clearTimeout(notificationTimer);
222
+ };
223
+ }, []);
224
+ return { restartTimer, clearUpdateTimer };
225
+ }
226
+ var useSaveDelay_default = useSaveDelay;
227
+
228
+ // src/components/user-input/Input.tsx
229
+ import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
230
+ var ControlledInput = ({
231
+ id,
232
+ type = "text",
233
+ value,
234
+ label,
235
+ onChange = noop,
236
+ onChangeEvent = noop,
237
+ className = "",
238
+ onEditCompleted,
239
+ expanded = true,
240
+ onBlur,
241
+ containerClassName,
242
+ ...restProps
243
+ }) => {
244
+ const {
245
+ restartTimer,
246
+ clearUpdateTimer
247
+ } = useSaveDelay_default(() => void 0, 3e3);
248
+ const ref = useRef(null);
249
+ useEffect3(() => {
250
+ if (restProps.autoFocus) {
251
+ ref.current?.focus();
252
+ }
253
+ }, [restProps.autoFocus]);
254
+ return /* @__PURE__ */ jsxs3("div", { className: clsx3({ "w-full": expanded }, containerClassName), children: [
255
+ label && /* @__PURE__ */ jsx4(Label, { ...label, htmlFor: id, className: clsx3("mb-1", label.className) }),
256
+ /* @__PURE__ */ jsx4(
257
+ "input",
258
+ {
259
+ ref,
260
+ value,
261
+ id,
262
+ type,
263
+ className: clsx3("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),
264
+ onBlur: (event) => {
265
+ if (onBlur) {
266
+ onBlur(event);
267
+ }
268
+ if (onEditCompleted) {
269
+ onEditCompleted(event.target.value, event);
270
+ clearUpdateTimer();
271
+ }
272
+ },
273
+ onChange: (e) => {
274
+ const value2 = e.target.value;
275
+ if (onEditCompleted) {
276
+ restartTimer(() => {
277
+ onEditCompleted(value2, e);
278
+ clearUpdateTimer();
279
+ });
280
+ }
281
+ onChange(value2, e);
282
+ onChangeEvent(e);
283
+ },
284
+ ...restProps
285
+ }
286
+ )
287
+ ] });
288
+ };
289
+ var FormInput = forwardRef(function FormInput2({
290
+ id,
291
+ labelText,
292
+ errorText,
293
+ className,
294
+ labelClassName,
295
+ errorClassName,
296
+ containerClassName,
297
+ required,
298
+ ...restProps
299
+ }, ref) {
300
+ const input = /* @__PURE__ */ jsx4(
301
+ "input",
302
+ {
303
+ ref,
304
+ id,
305
+ ...restProps,
306
+ className: clsx3(
307
+ "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",
308
+ {
309
+ "focus:border-primary focus:ring-primary": !errorText,
310
+ "focus:border-negative focus:ring-negative text-negative": !!errorText
311
+ },
312
+ className
313
+ )
314
+ }
315
+ );
316
+ return /* @__PURE__ */ jsxs3("div", { className: clsx3("flex flex-col gap-y-1", containerClassName), children: [
317
+ labelText && /* @__PURE__ */ jsxs3("label", { htmlFor: id, className: clsx3("textstyle-label-md", labelClassName), children: [
318
+ labelText,
319
+ required && /* @__PURE__ */ jsx4("span", { className: "text-primary font-bold", children: "*" })
320
+ ] }),
321
+ input,
322
+ errorText && /* @__PURE__ */ jsx4("label", { htmlFor: id, className: clsx3("text-negative", errorClassName), children: errorText })
323
+ ] });
324
+ });
325
+
326
+ // src/components/user-input/Textarea.tsx
327
+ import { useState as useState4 } from "react";
328
+ import clsx4 from "clsx";
329
+ import { jsx as jsx5, jsxs as jsxs4 } from "react/jsx-runtime";
330
+ var Textarea = ({
331
+ label,
332
+ headline,
333
+ id,
334
+ resizable = false,
335
+ onChange = noop,
336
+ disclaimer,
337
+ onBlur = noop,
338
+ onEditCompleted = noop,
339
+ defaultStyle = true,
340
+ className,
341
+ ...props
342
+ }) => {
343
+ const [hasFocus, setHasFocus] = useState4(false);
344
+ const { restartTimer, clearUpdateTimer } = useSaveDelay_default(() => void 0, 3e3);
345
+ const onEditCompletedWrapper = (text) => {
346
+ onEditCompleted(text);
347
+ clearUpdateTimer();
348
+ };
349
+ return /* @__PURE__ */ jsxs4("div", { className: "w-full", children: [
350
+ label && /* @__PURE__ */ jsx5(Label, { ...label, htmlFor: id, className: clsx4("mb-1", label.className), labelType: label.labelType ?? "labelSmall" }),
351
+ /* @__PURE__ */ jsxs4("div", { className: `${clsx4(" bg-surface text-on-surface focus-within:border-primary relative", { "shadow border-2 border-gray-300 hover:border-primary rounded-lg": defaultStyle })}`, children: [
352
+ headline && /* @__PURE__ */ jsx5("span", { className: "mx-3 mt-3 block text-gray-700 font-bold", children: headline }),
353
+ /* @__PURE__ */ jsx5(
354
+ "textarea",
355
+ {
356
+ id,
357
+ className: clsx4("pt-0 px-3 border-transparent focus:border-transparent focus:ring-0 appearance-none border w-full leading-tight focus:outline-none", { "resize-none": !resizable, "h-32": defaultStyle, "mt-3": !headline }, className),
358
+ onChange: (event) => {
359
+ const value = event.target.value;
360
+ restartTimer(() => {
361
+ onEditCompletedWrapper(value);
362
+ });
363
+ onChange(value);
364
+ },
365
+ onFocus: () => {
366
+ setHasFocus(true);
367
+ },
368
+ onBlur: (event) => {
369
+ onBlur(event);
370
+ onEditCompletedWrapper(event.target.value);
371
+ setHasFocus(false);
372
+ },
373
+ ...props
374
+ }
375
+ )
376
+ ] }),
377
+ hasFocus && disclaimer && /* @__PURE__ */ jsx5("label", { className: "text-negative", children: disclaimer })
378
+ ] });
379
+ };
380
+
381
+ // src/components/examples/InputGroupExample.tsx
382
+ import { jsx as jsx6, jsxs as jsxs5 } from "react/jsx-runtime";
383
+ var InputGroupExample = ({
384
+ ...props
385
+ }) => {
386
+ const [state, setState] = useState5({
387
+ propertyName: "",
388
+ description: ""
389
+ });
390
+ return /* @__PURE__ */ jsxs5(
391
+ InputGroup,
392
+ {
393
+ ...props,
394
+ onChange: console.log,
395
+ children: [
396
+ /* @__PURE__ */ jsx6(
397
+ Select,
398
+ {
399
+ label: { name: "Subject Type", labelType: "labelSmall" },
400
+ value: state.subject,
401
+ options: [
402
+ { value: "organization", label: "Organization" },
403
+ { value: "ward", label: "Ward" },
404
+ { value: "bed", label: "Bed" },
405
+ { value: "patient", label: "Patient" }
406
+ ],
407
+ onChange: (subject) => setState({ ...state, subject })
408
+ },
409
+ "item1"
410
+ ),
411
+ /* @__PURE__ */ jsx6(
412
+ ControlledInput,
413
+ {
414
+ label: { name: "Property Name" },
415
+ value: state.propertyName,
416
+ onChange: (propertyName) => setState({ ...state, propertyName })
417
+ },
418
+ "item2"
419
+ ),
420
+ /* @__PURE__ */ jsx6(
421
+ Textarea,
422
+ {
423
+ label: { name: "Description" },
424
+ value: state.description,
425
+ onChange: (description) => setState({ ...state, description })
426
+ },
427
+ "item3"
428
+ )
429
+ ]
430
+ }
431
+ );
432
+ };
433
+ export {
434
+ InputGroupExample
435
+ };
436
+ //# sourceMappingURL=InputGroupExample.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/examples/InputGroupExample.tsx","../../../src/components/InputGroup.tsx","../../../src/util/noop.ts","../../../src/components/user-input/Select.tsx","../../../src/components/user-input/Label.tsx","../../../src/components/user-input/Input.tsx","../../../src/hooks/useSaveDelay.ts","../../../src/components/user-input/Textarea.tsx"],"sourcesContent":["import { useState } from 'react'\nimport type { InputGroupProps } from '../InputGroup'\nimport { InputGroup } from '../InputGroup'\nimport { Select } from '../user-input/Select'\nimport { Input } from '../user-input/Input'\nimport { Textarea } from '../user-input/Textarea'\n\nexport type InputGroupExampleProps = Omit<InputGroupProps, 'inputs' | 'onChange'>\n\ntype InputType = {\n subject?: string,\n propertyName: string,\n description: string,\n}\n\n/**\n * Example for an Input Group\n */\nexport const InputGroupExample = ({\n ...props\n}: InputGroupExampleProps) => {\n const [state, setState] = useState<InputType>({\n propertyName: '',\n description: ''\n })\n\n return (\n <InputGroup\n {...props}\n onChange={console.log}\n >\n <Select\n key=\"item1\"\n label={{ name: 'Subject Type', labelType: 'labelSmall' }}\n value={state.subject}\n options={[\n { value: 'organization', label: 'Organization' },\n { value: 'ward', label: 'Ward' },\n { value: 'bed', label: 'Bed' },\n { value: 'patient', label: 'Patient' },\n ]}\n onChange={subject => setState({ ...state, subject })}\n />\n <Input\n key=\"item2\"\n label={{ name: 'Property Name' }}\n value={state.propertyName}\n onChange={propertyName => setState({ ...state, propertyName })}\n />\n <Textarea\n key=\"item3\"\n label={{ name: 'Description' }}\n value={state.description}\n onChange={description => setState({ ...state, description })}\n />\n </InputGroup>\n )\n}\n","import type { PropsWithChildren } from 'react'\nimport { useEffect, useState } from 'react'\nimport { ChevronDown, ChevronUp } from 'lucide-react'\nimport clsx from 'clsx'\nimport { noop } from '../util/noop'\n\nexport type InputGroupProps = PropsWithChildren<{\n title: string,\n expanded?: boolean,\n isExpandable?: boolean,\n disabled?: boolean,\n onChange?: (value: boolean) => void,\n className?: string,\n}>\n\n/**\n * A Component for layouting inputs in an expandable group\n */\nexport const InputGroup = ({\n children,\n title,\n expanded = true,\n isExpandable = true,\n disabled = false,\n onChange = noop,\n className = '',\n}: InputGroupProps) => {\n const [isExpanded, setIsExpanded] = useState<boolean>(expanded)\n\n useEffect(() => {\n setIsExpanded(expanded)\n }, [expanded])\n\n return (\n <div className={clsx('col gap-y-4 p-4 bg-white rounded-xl', className)}>\n <div\n className={clsx('row justify-between items-center', {\n 'cursor-pointer': isExpandable && !disabled,\n 'cursor-not-allowed': disabled,\n },\n {\n 'text-primary': !disabled,\n 'text-primary/40': disabled\n })}\n onClick={() => {\n if (!isExpandable) {\n return\n }\n const updatedIsExpanded = !isExpanded\n onChange(updatedIsExpanded)\n setIsExpanded(updatedIsExpanded)\n }}\n >\n <span className=\"textstyle-title-md\">{title}</span>\n <div className={clsx('rounded-full text-white w-6 h-6', {\n 'bg-primary': (isExpandable && !disabled) || expanded,\n 'bg-primary/40': disabled,\n })}>\n {isExpanded\n ? <ChevronUp className=\"-translate-y-[1px]\" size={24}/>\n : <ChevronDown className=\"translate-y-[1px]\" size={24}/>\n }\n </div>\n </div>\n {isExpanded && (\n <div className=\"col gap-y-2 h-full\">\n {children}\n </div>\n )}\n </div>\n )\n}\n","export const noop = () => undefined\n","import { Menu } from '@headlessui/react'\nimport { ChevronDown, ChevronUp } from 'lucide-react'\nimport type { ReactNode } from 'react'\nimport clsx from 'clsx'\nimport type { LabelProps } from './Label'\nimport { Label } from './Label'\n\nexport type SelectOption<T> = {\n label: ReactNode,\n value: T,\n disabled?: boolean,\n className?: string,\n}\n\nexport type SelectProps<T> = {\n value?: T,\n label?: LabelProps,\n options: SelectOption<T>[],\n onChange: (value: T) => void,\n isHidingCurrentValue?: boolean,\n hintText?: string,\n showDisabledOptions?: boolean,\n className?: string,\n isDisabled?: boolean,\n textColor?: string,\n hoverColor?: string,\n /**\n * The items will be at the start of the select and aren't selectable\n */\n additionalItems?: ReactNode[],\n selectedDisplayOverwrite?: ReactNode,\n};\n\n/**\n * A Select Component for selecting form a list of options\n *\n * The State is managed by the parent\n */\nexport const Select = <T, >({\n value,\n label,\n options,\n onChange,\n isHidingCurrentValue = true,\n hintText = '',\n showDisabledOptions = true,\n isDisabled,\n className,\n textColor = 'text-menu-text',\n hoverColor = 'hover:brightness-90',\n additionalItems,\n selectedDisplayOverwrite,\n }: SelectProps<T>) => {\n // Notice: for more complex types this check here might need an additional compare method\n let filteredOptions = isHidingCurrentValue ? options.filter(option => option.value !== value) : options\n if (!showDisabledOptions) {\n filteredOptions = filteredOptions.filter(value => !value.disabled)\n }\n const selectedOption = options.find(option => option.value === value)\n if (value !== undefined && selectedOption === undefined && selectedDisplayOverwrite === undefined) {\n console.warn('The selected value is not found in the options list. This might be an error on your part or' +\n ' default behavior if it is complex data type on which === does not work. In case of the latter' +\n ' use selectedDisplayOverwrite to set your selected text or component')\n }\n\n const borderColor = 'border-menu-border'\n\n return (\n <div className={clsx(className)}>\n {label && (\n <Label {...label} labelType={label.labelType ?? 'labelBig'} className={clsx('mb-1', label.className)}/>\n )}\n <Menu as=\"div\" className=\"relative text-menu-text\">\n {({ open }) => (\n <>\n <Menu.Button\n className={clsx(\n 'inline-flex w-full justify-between items-center rounded-t-lg border-2 px-4 py-2 font-medium bg-menu-background text-menu-text',\n textColor, borderColor,\n {\n 'rounded-b-lg': !open,\n [hoverColor]: !isDisabled,\n 'bg-disabled-background cursor-not-allowed text-disabled': isDisabled\n }\n )}\n disabled={isDisabled}\n >\n <span>{selectedDisplayOverwrite ?? selectedOption?.label ?? hintText}</span>\n {open ? <ChevronUp/> : <ChevronDown/>}\n </Menu.Button>\n <Menu.Items\n className=\"absolute w-full z-10 rounded-b-lg bg-menu-background text-menu-text shadow-lg max-h-[500px] overflow-y-auto\"\n >\n {(additionalItems ?? []).map((item, index) => (\n <div key={`additionalItems${index}`}\n className={clsx(borderColor, 'px-4 py-2 overflow-hidden whitespace-nowrap text-ellipsis border-2 border-t-0', {\n 'border-b-0 rounded-b-lg': filteredOptions.length === 0 && index === (additionalItems?.length ?? 1) - 1,\n })}\n >\n {item}\n </div>\n ))}\n {filteredOptions.map((option, index) => (\n <Menu.Item key={`item${index}`}>\n {\n <div\n className={clsx('px-4 py-2 overflow-hidden whitespace-nowrap text-ellipsis border-2 border-t-0 cursor-pointer',\n option.className, borderColor, {\n 'brightness-90': option.value === value,\n 'brightness-95': index % 2 === 1,\n 'text-disabled bg-disabled-background cursor-not-allowed': !!option.disabled,\n 'bg-menu-background text-menu-text hover:brightness-90 cursor-pointer': !option.disabled,\n 'rounded-b-lg': index === filteredOptions.length - 1,\n })}\n onClick={() => {\n if (!option.disabled) {\n onChange(option.value)\n }\n }}\n >\n {option.label}\n </div>\n }\n </Menu.Item>\n ))}\n </Menu.Items>\n </>\n )}\n </Menu>\n </div>\n )\n}\n","import type { LabelHTMLAttributes } from 'react'\n\nexport type LabelType = 'labelSmall' | 'labelMedium' | 'labelBig'\nconst styleMapping: Record<LabelType, string> = {\n labelSmall: 'textstyle-label-sm',\n labelMedium: 'textstyle-label-md',\n labelBig: 'textstyle-label-lg',\n}\n\n\nexport type LabelProps = {\n /** The text for the label */\n name?: string,\n /** The styling for the label */\n labelType?: LabelType,\n} & LabelHTMLAttributes<HTMLLabelElement>\n\n/**\n * A Label component\n */\nexport const Label = ({\n children,\n name,\n labelType = 'labelSmall',\n ...props\n}: LabelProps) => {\n return (\n <label {...props}>\n {children ? children : (<span className={styleMapping[labelType]}>{name}</span>)}\n </label>\n )\n}\n","import React, {\n useEffect,\n useRef,\n useState,\n type ChangeEvent,\n type HTMLInputTypeAttribute,\n type InputHTMLAttributes, forwardRef\n} from 'react'\nimport clsx from 'clsx'\nimport useSaveDelay from '../../hooks/useSaveDelay'\nimport { noop } from '../../util/noop'\nimport type { LabelProps } from './Label'\nimport { Label } from './Label'\n\nexport type InputProps = {\n /**\n * used for the label's `for` attribute\n */\n id?: string,\n value: string,\n label?: Omit<LabelProps, 'id'>,\n /**\n * @default 'text'\n */\n type?: HTMLInputTypeAttribute,\n /**\n * Callback for when the input's value changes\n * This is pretty much required but made optional for the rare cases where it actually isn't need such as when used with disabled\n * That could be enforced through a union type but that seems a bit overkill\n * @default noop\n */\n onChange?: (text: string, event: ChangeEvent<HTMLInputElement>) => void,\n onChangeEvent?: (event: ChangeEvent<HTMLInputElement>) => void,\n className?: string,\n onEditCompleted?: (text: string, event: ChangeEvent<HTMLInputElement>) => void,\n expanded?: boolean,\n containerClassName?: string,\n} & Omit<InputHTMLAttributes<HTMLInputElement>, 'id' | 'value' | 'label' | 'type' | 'onChange' | 'crossOrigin'>\n\n/**\n * A Component for inputting text or other information\n *\n * Its state is managed must be managed by the parent\n */\nconst ControlledInput = ({\n id,\n type = 'text',\n value,\n label,\n onChange = noop,\n onChangeEvent = noop,\n className = '',\n onEditCompleted,\n expanded = true,\n onBlur,\n containerClassName,\n ...restProps\n }: InputProps) => {\n const {\n restartTimer,\n clearUpdateTimer\n } = useSaveDelay(() => undefined, 3000)\n const ref = useRef<HTMLInputElement>(null)\n\n useEffect(() => {\n if (restProps.autoFocus) {\n ref.current?.focus()\n }\n }, [restProps.autoFocus])\n return (\n <div className={clsx({ 'w-full': expanded }, containerClassName)}>\n {label && <Label {...label} htmlFor={id} className={clsx('mb-1', label.className)}/>}\n <input\n ref={ref}\n value={value}\n id={id}\n type={type}\n className={clsx('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)}\n onBlur={event => {\n if (onBlur) {\n onBlur(event)\n }\n if (onEditCompleted) {\n onEditCompleted(event.target.value, event)\n clearUpdateTimer()\n }\n }}\n onChange={e => {\n const value = e.target.value\n if (onEditCompleted) {\n restartTimer(() => {\n onEditCompleted(value, e)\n clearUpdateTimer()\n })\n }\n onChange(value, e)\n onChangeEvent(e)\n }}\n {...restProps}\n />\n </div>\n )\n}\n\ntype UncontrolledInputProps = Omit<InputProps, 'value'> & {\n /**\n * @default ''\n */\n defaultValue?: string,\n}\n\n/**\n * A Component for inputting text or other information\n *\n * Its state is managed by the component itself\n */\nconst UncontrolledInput = ({\n defaultValue = '',\n onChange = noop,\n ...props\n }: UncontrolledInputProps) => {\n const [value, setValue] = useState(defaultValue)\n\n const handleChange = (text: string, event: ChangeEvent<HTMLInputElement>) => {\n setValue(text)\n onChange(text, event)\n }\n\n return (\n <ControlledInput\n {...props}\n value={value}\n onChange={handleChange}\n />\n )\n}\n\nexport type FormInputProps = InputHTMLAttributes<HTMLInputElement> & {\n id: string,\n labelText?: string,\n errorText?: string,\n labelClassName?: string,\n errorClassName?: string,\n containerClassName?: string,\n}\n\nconst FormInput = forwardRef<HTMLInputElement, FormInputProps>(function FormInput({\n id,\n labelText,\n errorText,\n className,\n labelClassName,\n errorClassName,\n containerClassName,\n required,\n ...restProps\n }, ref) {\n const input = (\n <input\n ref={ref}\n id={id}\n {...restProps}\n className={clsx(\n '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',\n {\n 'focus:border-primary focus:ring-primary': !errorText,\n 'focus:border-negative focus:ring-negative text-negative': !!errorText,\n },\n className\n )}\n />\n )\n\n return (\n <div className={clsx('flex flex-col gap-y-1', containerClassName)}>\n {labelText && (\n <label htmlFor={id} className={clsx('textstyle-label-md', labelClassName)}>\n {labelText}\n {required && <span className=\"text-primary font-bold\">*</span>}\n </label>\n )}\n {input}\n {errorText && <label htmlFor={id} className={clsx('text-negative', errorClassName)}>{errorText}</label>}\n </div>\n )\n})\n\nexport {\n UncontrolledInput,\n ControlledInput as Input,\n FormInput\n}\n","import { useEffect, useState } from 'react'\n\nfunction useSaveDelay(setNotificationStatus: (isShowing: boolean) => void, delay: number) {\n const [updateTimer, setUpdateTimer] = useState<NodeJS.Timeout | undefined>(undefined)\n const [notificationTimer, setNotificationTimer] = useState<NodeJS.Timeout | undefined>(undefined)\n\n const restartTimer = (onSave: () => void) => {\n clearTimeout(updateTimer)\n setUpdateTimer(setTimeout(() => {\n onSave()\n setNotificationStatus(true)\n // Show Saved Notification for fade animation duration\n clearTimeout(notificationTimer)\n setNotificationTimer(setTimeout(() => {\n setNotificationStatus(false)\n clearTimeout(notificationTimer)\n }, delay))\n clearTimeout(updateTimer)\n }, delay))\n }\n\n const clearUpdateTimer = (hasSaved = true) => {\n clearTimeout(updateTimer)\n if (hasSaved) {\n setNotificationStatus(true)\n clearTimeout(notificationTimer)\n setNotificationTimer(setTimeout(() => {\n setNotificationStatus(false)\n clearTimeout(notificationTimer)\n }, delay))\n } else {\n setNotificationStatus(false)\n }\n }\n\n useEffect(() => {\n return () => {\n clearTimeout(updateTimer)\n clearTimeout(notificationTimer)\n }\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return { restartTimer, clearUpdateTimer }\n}\n\nexport default useSaveDelay\n","import type { TextareaHTMLAttributes } from 'react'\nimport { useState } from 'react'\nimport clsx from 'clsx'\nimport useSaveDelay from '../../hooks/useSaveDelay'\nimport { noop } from '../../util/noop'\nimport type { LabelProps } from './Label'\nimport { Label } from './Label'\n\nexport type TextareaProps = {\n /** Outside the area */\n label?: Omit<LabelProps, 'id'>,\n /** Inside the area */\n headline?: string,\n id?: string,\n resizable?: boolean,\n onChange?: (text: string) => void,\n disclaimer?: string,\n onEditCompleted?: (text: string) => void,\n defaultStyle?: boolean,\n} & Omit<TextareaHTMLAttributes<Element>, 'id' | 'onChange'>\n\n/**\n * A Textarea component for inputting longer texts\n *\n * The State is managed by the parent\n */\nexport const Textarea = ({\n label,\n headline,\n id,\n resizable = false,\n onChange = noop,\n disclaimer,\n onBlur = noop,\n onEditCompleted = noop,\n defaultStyle = true,\n className,\n ...props\n}: TextareaProps) => {\n const [hasFocus, setHasFocus] = useState(false)\n const { restartTimer, clearUpdateTimer } = useSaveDelay(() => undefined, 3000)\n\n const onEditCompletedWrapper = (text: string) => {\n onEditCompleted(text)\n clearUpdateTimer()\n }\n\n return (\n <div className=\"w-full\">\n {label && (<Label {...label} htmlFor={id} className={clsx('mb-1', label.className)} labelType={label.labelType ?? 'labelSmall'}/>)}\n <div className={`${clsx(' bg-surface text-on-surface focus-within:border-primary relative', { 'shadow border-2 border-gray-300 hover:border-primary rounded-lg': defaultStyle })}`}>\n {headline && (\n <span className=\"mx-3 mt-3 block text-gray-700 font-bold\">\n {headline}\n </span>\n )}\n <textarea\n id={id}\n className={clsx('pt-0 px-3 border-transparent focus:border-transparent focus:ring-0 appearance-none border w-full leading-tight focus:outline-none', { 'resize-none': !resizable, 'h-32': defaultStyle, 'mt-3': !headline }, className)}\n onChange={(event) => {\n const value = event.target.value\n restartTimer(() => {\n onEditCompletedWrapper(value)\n })\n onChange(value)\n }}\n onFocus={() => {\n setHasFocus(true)\n }}\n onBlur={(event) => {\n onBlur(event)\n onEditCompletedWrapper(event.target.value)\n setHasFocus(false)\n }}\n {...props}\n >\n </textarea>\n </div>\n {(hasFocus && disclaimer) && (\n <label className=\"text-negative\">\n {disclaimer}\n </label>\n )}\n </div>\n )\n}\n"],"mappings":"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","names":["useState","ChevronDown","ChevronUp","clsx","jsx","jsx","jsxs","value","clsx","ChevronUp","ChevronDown","useEffect","useState","clsx","useEffect","useState","jsx","jsxs","useEffect","clsx","value","FormInput","jsx","clsx","jsxs","useState","clsx","jsx","jsxs","useState","clsx","jsx","jsxs","useState"]}
@@ -0,0 +1,14 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { MultiSelectProps } from '../user-input/MultiSelect.mjs';
3
+ import 'react';
4
+ import '../../hooks/useTranslation.mjs';
5
+ import '../../hooks/useLanguage.mjs';
6
+ import '../user-input/Label.mjs';
7
+
8
+ type MultiSelectExampleProps = Omit<MultiSelectProps<string>, 'search' | 'selectedDisplay'> & {
9
+ enableSearch: boolean;
10
+ useChipDisplay: boolean;
11
+ };
12
+ declare const MultiSelectExample: ({ options, hintText, enableSearch, onChange, useChipDisplay, ...props }: MultiSelectExampleProps) => react_jsx_runtime.JSX.Element;
13
+
14
+ export { MultiSelectExample };
@@ -1,7 +1,14 @@
1
- import type { MultiSelectProps } from '../user-input/MultiSelect';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { MultiSelectProps } from '../user-input/MultiSelect.js';
3
+ import 'react';
4
+ import '../../hooks/useTranslation.js';
5
+ import '../../hooks/useLanguage.js';
6
+ import '../user-input/Label.js';
7
+
2
8
  type MultiSelectExampleProps = Omit<MultiSelectProps<string>, 'search' | 'selectedDisplay'> & {
3
9
  enableSearch: boolean;
4
10
  useChipDisplay: boolean;
5
11
  };
6
- export declare const MultiSelectExample: ({ options, hintText, enableSearch, onChange, useChipDisplay, ...props }: MultiSelectExampleProps) => import("react/jsx-runtime").JSX.Element;
7
- export {};
12
+ declare const MultiSelectExample: ({ options, hintText, enableSearch, onChange, useChipDisplay, ...props }: MultiSelectExampleProps) => react_jsx_runtime.JSX.Element;
13
+
14
+ export { MultiSelectExample };