@helpwave/hightide 0.1.6 → 0.1.7-alpha.1

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 (495) hide show
  1. package/dist/coloring/{shading.d.cts → shading.d.mts} +1 -1
  2. package/dist/coloring/shading.js +14 -3329
  3. package/dist/coloring/shading.js.map +1 -1
  4. package/dist/coloring/shading.mjs +47 -0
  5. package/dist/coloring/shading.mjs.map +1 -0
  6. package/dist/coloring/types.js +26 -2
  7. package/dist/coloring/types.js.map +1 -1
  8. package/dist/coloring/types.mjs +6 -0
  9. package/dist/coloring/{types.cjs.map → types.mjs.map} +1 -1
  10. package/dist/components/branding/HelpwaveBadge.js +59 -25
  11. package/dist/components/branding/HelpwaveBadge.js.map +1 -1
  12. package/dist/components/branding/HelpwaveBadge.mjs +122 -0
  13. package/dist/components/branding/HelpwaveBadge.mjs.map +1 -0
  14. package/dist/components/date/{DatePicker.d.cts → DatePicker.d.mts} +5 -5
  15. package/dist/components/date/DatePicker.js +117 -82
  16. package/dist/components/date/DatePicker.js.map +1 -1
  17. package/dist/components/date/{DatePicker.cjs → DatePicker.mjs} +83 -119
  18. package/dist/components/date/DatePicker.mjs.map +1 -0
  19. package/dist/components/date/{DayPicker.d.cts → DayPicker.d.mts} +1 -1
  20. package/dist/components/date/DayPicker.js +55 -18
  21. package/dist/components/date/DayPicker.js.map +1 -1
  22. package/dist/components/date/{DayPicker.cjs → DayPicker.mjs} +19 -57
  23. package/dist/components/date/DayPicker.mjs.map +1 -0
  24. package/dist/components/date/{TimeDisplay.d.cts → TimeDisplay.d.mts} +2 -2
  25. package/dist/components/date/TimeDisplay.js +35 -9
  26. package/dist/components/date/TimeDisplay.js.map +1 -1
  27. package/dist/components/date/{TimeDisplay.cjs → TimeDisplay.mjs} +10 -37
  28. package/dist/components/date/TimeDisplay.mjs.map +1 -0
  29. package/dist/components/date/TimePicker.js +57 -22
  30. package/dist/components/date/TimePicker.js.map +1 -1
  31. package/dist/components/date/{TimePicker.cjs → TimePicker.mjs} +23 -59
  32. package/dist/components/date/TimePicker.mjs.map +1 -0
  33. package/dist/components/date/{YearMonthPicker.d.cts → YearMonthPicker.d.mts} +1 -1
  34. package/dist/components/date/YearMonthPicker.d.ts +1 -1
  35. package/dist/components/date/YearMonthPicker.js +72 -37
  36. package/dist/components/date/YearMonthPicker.js.map +1 -1
  37. package/dist/components/date/{YearMonthPicker.cjs → YearMonthPicker.mjs} +38 -74
  38. package/dist/components/date/YearMonthPicker.mjs.map +1 -0
  39. package/dist/components/dialogs/{ConfirmDialog.d.cts → ConfirmDialog.d.mts} +4 -4
  40. package/dist/components/dialogs/ConfirmDialog.js +98 -62
  41. package/dist/components/dialogs/ConfirmDialog.js.map +1 -1
  42. package/dist/components/dialogs/{ConfirmDialog.cjs → ConfirmDialog.mjs} +63 -100
  43. package/dist/components/dialogs/ConfirmDialog.mjs.map +1 -0
  44. package/dist/components/icons-and-geometry/Avatar.js +47 -10
  45. package/dist/components/icons-and-geometry/Avatar.js.map +1 -1
  46. package/dist/components/icons-and-geometry/Avatar.mjs +81 -0
  47. package/dist/components/icons-and-geometry/{Avatar.cjs.map → Avatar.mjs.map} +1 -1
  48. package/dist/components/icons-and-geometry/Circle.js +40 -6
  49. package/dist/components/icons-and-geometry/Circle.js.map +1 -1
  50. package/dist/components/icons-and-geometry/Circle.mjs +27 -0
  51. package/dist/components/icons-and-geometry/{Circle.cjs.map → Circle.mjs.map} +1 -1
  52. package/dist/components/icons-and-geometry/Helpwave.js +38 -14
  53. package/dist/components/icons-and-geometry/Helpwave.js.map +1 -1
  54. package/dist/components/icons-and-geometry/Helpwave.mjs +75 -0
  55. package/dist/components/icons-and-geometry/{Helpwave.cjs.map → Helpwave.mjs.map} +1 -1
  56. package/dist/components/icons-and-geometry/Ring.js +74 -37
  57. package/dist/components/icons-and-geometry/Ring.js.map +1 -1
  58. package/dist/components/icons-and-geometry/{Ring.cjs → Ring.mjs} +38 -76
  59. package/dist/components/icons-and-geometry/{Ring.cjs.map → Ring.mjs.map} +1 -1
  60. package/dist/components/icons-and-geometry/Tag.js +28 -4
  61. package/dist/components/icons-and-geometry/Tag.js.map +1 -1
  62. package/dist/components/icons-and-geometry/Tag.mjs +22 -0
  63. package/dist/components/icons-and-geometry/{Tag.cjs.map → Tag.mjs.map} +1 -1
  64. package/dist/components/layout-and-navigation/BreadCrumb.js +195 -191
  65. package/dist/components/layout-and-navigation/BreadCrumb.js.map +1 -1
  66. package/dist/components/layout-and-navigation/{BreadCrumb.cjs → BreadCrumb.mjs} +191 -198
  67. package/dist/components/layout-and-navigation/{BreadCrumb.cjs.map → BreadCrumb.mjs.map} +1 -1
  68. package/dist/components/layout-and-navigation/Carousel.js +68 -34
  69. package/dist/components/layout-and-navigation/Carousel.js.map +1 -1
  70. package/dist/components/layout-and-navigation/{Carousel.cjs → Carousel.mjs} +35 -70
  71. package/dist/components/layout-and-navigation/{Carousel.cjs.map → Carousel.mjs.map} +1 -1
  72. package/dist/components/layout-and-navigation/Chip.js +43 -8
  73. package/dist/components/layout-and-navigation/Chip.js.map +1 -1
  74. package/dist/components/layout-and-navigation/Chip.mjs +69 -0
  75. package/dist/components/layout-and-navigation/{Chip.cjs.map → Chip.mjs.map} +1 -1
  76. package/dist/components/layout-and-navigation/DividerInserter.js +39 -5
  77. package/dist/components/layout-and-navigation/DividerInserter.js.map +1 -1
  78. package/dist/components/layout-and-navigation/DividerInserter.mjs +25 -0
  79. package/dist/components/layout-and-navigation/{DividerInserter.cjs.map → DividerInserter.mjs.map} +1 -1
  80. package/dist/components/layout-and-navigation/Expandable.js +52 -17
  81. package/dist/components/layout-and-navigation/Expandable.js.map +1 -1
  82. package/dist/components/layout-and-navigation/Expandable.mjs +81 -0
  83. package/dist/components/layout-and-navigation/Expandable.mjs.map +1 -0
  84. package/dist/components/layout-and-navigation/{FAQSection.d.cts → FAQSection.d.mts} +1 -1
  85. package/dist/components/layout-and-navigation/FAQSection.js +75 -41
  86. package/dist/components/layout-and-navigation/FAQSection.js.map +1 -1
  87. package/dist/components/layout-and-navigation/{FAQSection.cjs → FAQSection.mjs} +42 -77
  88. package/dist/components/layout-and-navigation/FAQSection.mjs.map +1 -0
  89. package/dist/components/layout-and-navigation/{MarkdownInterpreter.d.cts → MarkdownInterpreter.d.mts} +1 -1
  90. package/dist/components/layout-and-navigation/MarkdownInterpreter.d.ts +1 -1
  91. package/dist/components/layout-and-navigation/MarkdownInterpreter.js +43 -18
  92. package/dist/components/layout-and-navigation/MarkdownInterpreter.js.map +1 -1
  93. package/dist/components/layout-and-navigation/{MarkdownInterpreter.cjs → MarkdownInterpreter.mjs} +19 -45
  94. package/dist/components/layout-and-navigation/{MarkdownInterpreter.cjs.map → MarkdownInterpreter.mjs.map} +1 -1
  95. package/dist/components/layout-and-navigation/{Overlay.d.cts → Overlay.d.mts} +3 -3
  96. package/dist/components/layout-and-navigation/Overlay.d.ts +1 -1
  97. package/dist/components/layout-and-navigation/Overlay.js +91 -54
  98. package/dist/components/layout-and-navigation/Overlay.js.map +1 -1
  99. package/dist/components/layout-and-navigation/{Overlay.cjs → Overlay.mjs} +55 -93
  100. package/dist/components/layout-and-navigation/Overlay.mjs.map +1 -0
  101. package/dist/components/layout-and-navigation/{Pagination.d.cts → Pagination.d.mts} +2 -2
  102. package/dist/components/layout-and-navigation/Pagination.js +53 -19
  103. package/dist/components/layout-and-navigation/Pagination.js.map +1 -1
  104. package/dist/components/layout-and-navigation/Pagination.mjs +82 -0
  105. package/dist/components/layout-and-navigation/Pagination.mjs.map +1 -0
  106. package/dist/components/layout-and-navigation/{SearchableList.d.cts → SearchableList.d.mts} +2 -2
  107. package/dist/components/layout-and-navigation/SearchableList.js +76 -42
  108. package/dist/components/layout-and-navigation/SearchableList.js.map +1 -1
  109. package/dist/components/layout-and-navigation/SearchableList.mjs +252 -0
  110. package/dist/components/layout-and-navigation/SearchableList.mjs.map +1 -0
  111. package/dist/components/layout-and-navigation/{StepperBar.d.cts → StepperBar.d.mts} +2 -2
  112. package/dist/components/layout-and-navigation/StepperBar.js +69 -34
  113. package/dist/components/layout-and-navigation/StepperBar.js.map +1 -1
  114. package/dist/components/layout-and-navigation/{StepperBar.cjs → StepperBar.mjs} +35 -71
  115. package/dist/components/layout-and-navigation/StepperBar.mjs.map +1 -0
  116. package/dist/components/layout-and-navigation/{Table.d.cts → Table.d.mts} +4 -4
  117. package/dist/components/layout-and-navigation/Table.d.ts +3 -3
  118. package/dist/components/layout-and-navigation/Table.js +108 -65
  119. package/dist/components/layout-and-navigation/Table.js.map +1 -1
  120. package/dist/components/layout-and-navigation/{Table.cjs → Table.mjs} +66 -110
  121. package/dist/components/layout-and-navigation/Table.mjs.map +1 -0
  122. package/dist/components/layout-and-navigation/{TextImage.d.cts → TextImage.d.mts} +2 -2
  123. package/dist/components/layout-and-navigation/TextImage.js +54 -18
  124. package/dist/components/layout-and-navigation/TextImage.js.map +1 -1
  125. package/dist/components/layout-and-navigation/TextImage.mjs +101 -0
  126. package/dist/components/layout-and-navigation/TextImage.mjs.map +1 -0
  127. package/dist/components/layout-and-navigation/Tile.js +42 -8
  128. package/dist/components/layout-and-navigation/Tile.js.map +1 -1
  129. package/dist/components/layout-and-navigation/Tile.mjs +23 -0
  130. package/dist/components/layout-and-navigation/{Tile.cjs.map → Tile.mjs.map} +1 -1
  131. package/dist/components/layout-and-navigation/VerticalDivider.js +33 -9
  132. package/dist/components/layout-and-navigation/VerticalDivider.js.map +1 -1
  133. package/dist/components/layout-and-navigation/VerticalDivider.mjs +56 -0
  134. package/dist/components/layout-and-navigation/{VerticalDivider.cjs.map → VerticalDivider.mjs.map} +1 -1
  135. package/dist/components/loading-states/{ErrorComponent.d.cts → ErrorComponent.d.mts} +2 -2
  136. package/dist/components/loading-states/ErrorComponent.js +46 -12
  137. package/dist/components/loading-states/ErrorComponent.js.map +1 -1
  138. package/dist/components/loading-states/ErrorComponent.mjs +68 -0
  139. package/dist/components/loading-states/ErrorComponent.mjs.map +1 -0
  140. package/dist/components/loading-states/{LoadingAndErrorComponent.d.cts → LoadingAndErrorComponent.d.mts} +5 -5
  141. package/dist/components/loading-states/LoadingAndErrorComponent.d.ts +1 -1
  142. package/dist/components/loading-states/LoadingAndErrorComponent.js +68 -34
  143. package/dist/components/loading-states/LoadingAndErrorComponent.js.map +1 -1
  144. package/dist/components/loading-states/LoadingAndErrorComponent.mjs +194 -0
  145. package/dist/components/loading-states/LoadingAndErrorComponent.mjs.map +1 -0
  146. package/dist/components/loading-states/{LoadingAnimation.d.cts → LoadingAnimation.d.mts} +2 -2
  147. package/dist/components/loading-states/LoadingAnimation.js +59 -23
  148. package/dist/components/loading-states/LoadingAnimation.js.map +1 -1
  149. package/dist/components/loading-states/LoadingAnimation.mjs +139 -0
  150. package/dist/components/loading-states/LoadingAnimation.mjs.map +1 -0
  151. package/dist/components/loading-states/{LoadingButton.d.cts → LoadingButton.d.mts} +1 -1
  152. package/dist/components/loading-states/LoadingButton.js +62 -28
  153. package/dist/components/loading-states/LoadingButton.js.map +1 -1
  154. package/dist/components/loading-states/{LoadingButton.cjs → LoadingButton.mjs} +29 -64
  155. package/dist/components/loading-states/LoadingButton.mjs.map +1 -0
  156. package/dist/components/loading-states/ProgressIndicator.js +30 -6
  157. package/dist/components/loading-states/ProgressIndicator.js.map +1 -1
  158. package/dist/components/loading-states/ProgressIndicator.mjs +59 -0
  159. package/dist/components/loading-states/{ProgressIndicator.cjs.map → ProgressIndicator.mjs.map} +1 -1
  160. package/dist/components/modals/{ConfirmModal.d.cts → ConfirmModal.d.mts} +4 -4
  161. package/dist/components/modals/ConfirmModal.js +99 -63
  162. package/dist/components/modals/ConfirmModal.js.map +1 -1
  163. package/dist/components/modals/{ConfirmModal.cjs → ConfirmModal.mjs} +64 -101
  164. package/dist/components/modals/ConfirmModal.mjs.map +1 -0
  165. package/dist/components/modals/{DiscardChangesModal.d.cts → DiscardChangesModal.d.mts} +5 -5
  166. package/dist/components/modals/DiscardChangesModal.js +101 -65
  167. package/dist/components/modals/DiscardChangesModal.js.map +1 -1
  168. package/dist/components/modals/{DiscardChangesModal.cjs → DiscardChangesModal.mjs} +66 -103
  169. package/dist/components/modals/DiscardChangesModal.mjs.map +1 -0
  170. package/dist/components/modals/{InputModal.d.cts → InputModal.d.mts} +7 -7
  171. package/dist/components/modals/InputModal.js +124 -88
  172. package/dist/components/modals/InputModal.js.map +1 -1
  173. package/dist/components/modals/{InputModal.cjs → InputModal.mjs} +89 -126
  174. package/dist/components/modals/InputModal.mjs.map +1 -0
  175. package/dist/components/modals/{LanguageModal.d.cts → LanguageModal.d.mts} +3 -3
  176. package/dist/components/modals/LanguageModal.js +129 -93
  177. package/dist/components/modals/LanguageModal.js.map +1 -1
  178. package/dist/components/modals/{LanguageModal.cjs → LanguageModal.mjs} +94 -131
  179. package/dist/components/modals/LanguageModal.mjs.map +1 -0
  180. package/dist/components/modals/{ThemeModal.d.cts → ThemeModal.d.mts} +4 -4
  181. package/dist/components/modals/ThemeModal.js +133 -97
  182. package/dist/components/modals/ThemeModal.js.map +1 -1
  183. package/dist/components/modals/{ThemeModal.cjs → ThemeModal.mjs} +98 -135
  184. package/dist/components/modals/ThemeModal.mjs.map +1 -0
  185. package/dist/components/properties/{CheckboxProperty.d.cts → CheckboxProperty.d.mts} +3 -3
  186. package/dist/components/properties/CheckboxProperty.js +82 -48
  187. package/dist/components/properties/CheckboxProperty.js.map +1 -1
  188. package/dist/components/properties/{CheckboxProperty.cjs → CheckboxProperty.mjs} +49 -84
  189. package/dist/components/properties/CheckboxProperty.mjs.map +1 -0
  190. package/dist/components/properties/{DateProperty.d.cts → DateProperty.d.mts} +3 -3
  191. package/dist/components/properties/DateProperty.js +92 -58
  192. package/dist/components/properties/DateProperty.js.map +1 -1
  193. package/dist/components/properties/{DateProperty.cjs → DateProperty.mjs} +59 -94
  194. package/dist/components/properties/DateProperty.mjs.map +1 -0
  195. package/dist/components/properties/{MultiSelectProperty.d.cts → MultiSelectProperty.d.mts} +5 -5
  196. package/dist/components/properties/MultiSelectProperty.js +151 -117
  197. package/dist/components/properties/MultiSelectProperty.js.map +1 -1
  198. package/dist/components/properties/{MultiSelectProperty.cjs → MultiSelectProperty.mjs} +118 -153
  199. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -0
  200. package/dist/components/properties/{NumberProperty.d.cts → NumberProperty.d.mts} +3 -3
  201. package/dist/components/properties/NumberProperty.js +93 -59
  202. package/dist/components/properties/NumberProperty.js.map +1 -1
  203. package/dist/components/properties/{NumberProperty.cjs → NumberProperty.mjs} +60 -95
  204. package/dist/components/properties/NumberProperty.mjs.map +1 -0
  205. package/dist/components/properties/{PropertyBase.d.cts → PropertyBase.d.mts} +2 -2
  206. package/dist/components/properties/PropertyBase.js +61 -27
  207. package/dist/components/properties/PropertyBase.js.map +1 -1
  208. package/dist/components/properties/{PropertyBase.cjs → PropertyBase.mjs} +28 -63
  209. package/dist/components/properties/{PropertyBase.cjs.map → PropertyBase.mjs.map} +1 -1
  210. package/dist/components/properties/{SelectProperty.d.cts → SelectProperty.d.mts} +5 -5
  211. package/dist/components/properties/SelectProperty.js +116 -82
  212. package/dist/components/properties/SelectProperty.js.map +1 -1
  213. package/dist/components/properties/{SelectProperty.cjs → SelectProperty.mjs} +83 -118
  214. package/dist/components/properties/SelectProperty.mjs.map +1 -0
  215. package/dist/components/properties/{TextProperty.d.cts → TextProperty.d.mts} +3 -3
  216. package/dist/components/properties/TextProperty.js +90 -56
  217. package/dist/components/properties/TextProperty.js.map +1 -1
  218. package/dist/components/properties/{TextProperty.cjs → TextProperty.mjs} +57 -92
  219. package/dist/components/properties/TextProperty.mjs.map +1 -0
  220. package/dist/components/user-action/Button.js +67 -28
  221. package/dist/components/user-action/Button.js.map +1 -1
  222. package/dist/components/user-action/{Button.cjs → Button.mjs} +29 -69
  223. package/dist/components/user-action/{Button.cjs.map → Button.mjs.map} +1 -1
  224. package/dist/components/user-action/{Checkbox.d.cts → Checkbox.d.mts} +1 -1
  225. package/dist/components/user-action/Checkbox.js +55 -20
  226. package/dist/components/user-action/Checkbox.js.map +1 -1
  227. package/dist/components/user-action/Checkbox.mjs +122 -0
  228. package/dist/components/user-action/{Checkbox.cjs.map → Checkbox.mjs.map} +1 -1
  229. package/dist/components/user-action/{DateAndTimePicker.d.cts → DateAndTimePicker.d.mts} +7 -7
  230. package/dist/components/user-action/DateAndTimePicker.js +140 -106
  231. package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
  232. package/dist/components/user-action/{DateAndTimePicker.cjs → DateAndTimePicker.mjs} +107 -142
  233. package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -0
  234. package/dist/components/user-action/{Input.d.cts → Input.d.mts} +1 -1
  235. package/dist/components/user-action/Input.js +62 -26
  236. package/dist/components/user-action/Input.js.map +1 -1
  237. package/dist/components/user-action/Input.mjs +186 -0
  238. package/dist/components/user-action/Input.mjs.map +1 -0
  239. package/dist/components/user-action/Label.js +39 -5
  240. package/dist/components/user-action/Label.js.map +1 -1
  241. package/dist/components/user-action/Label.mjs +21 -0
  242. package/dist/components/user-action/{Label.cjs.map → Label.mjs.map} +1 -1
  243. package/dist/components/user-action/Menu.js +54 -19
  244. package/dist/components/user-action/Menu.js.map +1 -1
  245. package/dist/components/user-action/Menu.mjs +127 -0
  246. package/dist/components/user-action/Menu.mjs.map +1 -0
  247. package/dist/components/user-action/{MultiSelect.d.cts → MultiSelect.d.mts} +3 -3
  248. package/dist/components/user-action/MultiSelect.js +114 -80
  249. package/dist/components/user-action/MultiSelect.js.map +1 -1
  250. package/dist/components/user-action/{MultiSelect.cjs → MultiSelect.mjs} +81 -116
  251. package/dist/components/user-action/MultiSelect.mjs.map +1 -0
  252. package/dist/components/user-action/ScrollPicker.js +49 -15
  253. package/dist/components/user-action/ScrollPicker.js.map +1 -1
  254. package/dist/components/user-action/{ScrollPicker.cjs → ScrollPicker.mjs} +16 -51
  255. package/dist/components/user-action/ScrollPicker.mjs.map +1 -0
  256. package/dist/components/user-action/{Select.d.cts → Select.d.mts} +1 -1
  257. package/dist/components/user-action/Select.js +87 -51
  258. package/dist/components/user-action/Select.js.map +1 -1
  259. package/dist/components/user-action/{Select.cjs → Select.mjs} +52 -89
  260. package/dist/components/user-action/Select.mjs.map +1 -0
  261. package/dist/components/user-action/{Textarea.d.cts → Textarea.d.mts} +1 -1
  262. package/dist/components/user-action/Textarea.js +60 -25
  263. package/dist/components/user-action/Textarea.js.map +1 -1
  264. package/dist/components/user-action/Textarea.mjs +163 -0
  265. package/dist/components/user-action/Textarea.mjs.map +1 -0
  266. package/dist/components/user-action/ToggleableInput.js +61 -26
  267. package/dist/components/user-action/ToggleableInput.js.map +1 -1
  268. package/dist/components/user-action/ToggleableInput.mjs +156 -0
  269. package/dist/components/user-action/ToggleableInput.mjs.map +1 -0
  270. package/dist/components/user-action/Tooltip.js +41 -15
  271. package/dist/components/user-action/Tooltip.js.map +1 -1
  272. package/dist/components/user-action/{Tooltip.cjs → Tooltip.mjs} +16 -43
  273. package/dist/components/user-action/Tooltip.mjs.map +1 -0
  274. package/dist/hooks/useHoverState.js +31 -7
  275. package/dist/hooks/useHoverState.js.map +1 -1
  276. package/dist/hooks/useHoverState.mjs +47 -0
  277. package/dist/hooks/{useHoverState.cjs.map → useHoverState.mjs.map} +1 -1
  278. package/dist/hooks/useLocalStorage.js +31 -7
  279. package/dist/hooks/useLocalStorage.js.map +1 -1
  280. package/dist/hooks/useLocalStorage.mjs +58 -0
  281. package/dist/hooks/{useLocalStorage.cjs.map → useLocalStorage.mjs.map} +1 -1
  282. package/dist/hooks/useOutsideClick.js +28 -4
  283. package/dist/hooks/useOutsideClick.js.map +1 -1
  284. package/dist/hooks/useOutsideClick.mjs +23 -0
  285. package/dist/hooks/{useOutsideClick.cjs.map → useOutsideClick.mjs.map} +1 -1
  286. package/dist/hooks/useSaveDelay.js +30 -6
  287. package/dist/hooks/useSaveDelay.js.map +1 -1
  288. package/dist/hooks/useSaveDelay.mjs +43 -0
  289. package/dist/hooks/{useSaveDelay.cjs.map → useSaveDelay.mjs.map} +1 -1
  290. package/dist/{index.d.cts → index.d.mts} +78 -78
  291. package/dist/index.js +1028 -875
  292. package/dist/index.js.map +1 -1
  293. package/dist/{index.cjs → index.mjs} +876 -1028
  294. package/dist/index.mjs.map +1 -0
  295. package/dist/localization/{LanguageProvider.d.cts → LanguageProvider.d.mts} +1 -1
  296. package/dist/localization/LanguageProvider.js +43 -16
  297. package/dist/localization/LanguageProvider.js.map +1 -1
  298. package/dist/localization/{LanguageProvider.cjs → LanguageProvider.mjs} +17 -45
  299. package/dist/localization/LanguageProvider.mjs.map +1 -0
  300. package/dist/localization/{useTranslation.d.cts → useTranslation.d.mts} +1 -1
  301. package/dist/localization/useTranslation.js +33 -7
  302. package/dist/localization/useTranslation.js.map +1 -1
  303. package/dist/localization/useTranslation.mjs +42 -0
  304. package/dist/localization/useTranslation.mjs.map +1 -0
  305. package/dist/localization/util.js +26 -2
  306. package/dist/localization/util.js.map +1 -1
  307. package/dist/localization/util.mjs +16 -0
  308. package/dist/localization/{util.cjs.map → util.mjs.map} +1 -1
  309. package/dist/theming/{useTheme.d.cts → useTheme.d.mts} +2 -2
  310. package/dist/theming/useTheme.js +37 -10
  311. package/dist/theming/useTheme.js.map +1 -1
  312. package/dist/theming/useTheme.mjs +48 -0
  313. package/dist/theming/useTheme.mjs.map +1 -0
  314. package/dist/util/array.js +32 -2
  315. package/dist/util/array.js.map +1 -1
  316. package/dist/util/{array.cjs → array.mjs} +3 -34
  317. package/dist/util/{array.cjs.map → array.mjs.map} +1 -1
  318. package/dist/util/builder.js +26 -2
  319. package/dist/util/builder.js.map +1 -1
  320. package/dist/util/builder.mjs +9 -0
  321. package/dist/util/{builder.cjs.map → builder.mjs.map} +1 -1
  322. package/dist/util/date.js +39 -2
  323. package/dist/util/date.js.map +1 -1
  324. package/dist/util/{date.cjs → date.mjs} +3 -41
  325. package/dist/util/date.mjs.map +1 -0
  326. package/dist/util/easeFunctions.js +28 -2
  327. package/dist/util/easeFunctions.js.map +1 -1
  328. package/dist/util/easeFunctions.mjs +36 -0
  329. package/dist/util/easeFunctions.mjs.map +1 -0
  330. package/dist/util/emailValidation.js +26 -2
  331. package/dist/util/emailValidation.js.map +1 -1
  332. package/dist/util/emailValidation.mjs +8 -0
  333. package/dist/util/{emailValidation.cjs.map → emailValidation.mjs.map} +1 -1
  334. package/dist/util/loopingArray.js +26 -2
  335. package/dist/util/loopingArray.js.map +1 -1
  336. package/dist/util/{loopingArray.cjs → loopingArray.mjs} +3 -28
  337. package/dist/util/{loopingArray.cjs.map → loopingArray.mjs.map} +1 -1
  338. package/dist/util/math.js +26 -2
  339. package/dist/util/math.js.map +1 -1
  340. package/dist/util/math.mjs +8 -0
  341. package/dist/util/{math.cjs.map → math.mjs.map} +1 -1
  342. package/dist/util/news.d.mts +101 -0
  343. package/dist/util/news.d.ts +54 -54
  344. package/dist/util/news.js +39 -12
  345. package/dist/util/news.js.map +1 -1
  346. package/dist/util/news.mjs +49 -0
  347. package/dist/util/news.mjs.map +1 -0
  348. package/dist/util/noop.d.mts +3 -0
  349. package/dist/util/noop.d.ts +1 -1
  350. package/dist/util/noop.js +26 -2
  351. package/dist/util/noop.js.map +1 -1
  352. package/dist/util/noop.mjs +6 -0
  353. package/dist/util/noop.mjs.map +1 -0
  354. package/dist/util/simpleSearch.js +29 -2
  355. package/dist/util/simpleSearch.js.map +1 -1
  356. package/dist/util/simpleSearch.mjs +26 -0
  357. package/dist/util/{simpleSearch.cjs.map → simpleSearch.mjs.map} +1 -1
  358. package/dist/util/storage.js +27 -2
  359. package/dist/util/storage.js.map +1 -1
  360. package/dist/util/storage.mjs +38 -0
  361. package/dist/util/{storage.cjs.map → storage.mjs.map} +1 -1
  362. package/dist/util/types.js +17 -0
  363. package/dist/util/types.js.map +1 -1
  364. package/dist/util/types.mjs +1 -0
  365. package/dist/util/types.mjs.map +1 -0
  366. package/package.json +5 -7
  367. package/dist/coloring/shading.cjs +0 -3402
  368. package/dist/coloring/shading.cjs.map +0 -1
  369. package/dist/coloring/types.cjs +0 -31
  370. package/dist/components/branding/HelpwaveBadge.cjs +0 -157
  371. package/dist/components/branding/HelpwaveBadge.cjs.map +0 -1
  372. package/dist/components/date/DatePicker.cjs.map +0 -1
  373. package/dist/components/date/DayPicker.cjs.map +0 -1
  374. package/dist/components/date/TimeDisplay.cjs.map +0 -1
  375. package/dist/components/date/TimePicker.cjs.map +0 -1
  376. package/dist/components/date/YearMonthPicker.cjs.map +0 -1
  377. package/dist/components/dialogs/ConfirmDialog.cjs.map +0 -1
  378. package/dist/components/icons-and-geometry/Avatar.cjs +0 -119
  379. package/dist/components/icons-and-geometry/Circle.cjs +0 -62
  380. package/dist/components/icons-and-geometry/Helpwave.cjs +0 -100
  381. package/dist/components/icons-and-geometry/Tag.cjs +0 -47
  382. package/dist/components/layout-and-navigation/Chip.cjs +0 -105
  383. package/dist/components/layout-and-navigation/DividerInserter.cjs +0 -60
  384. package/dist/components/layout-and-navigation/Expandable.cjs +0 -117
  385. package/dist/components/layout-and-navigation/Expandable.cjs.map +0 -1
  386. package/dist/components/layout-and-navigation/FAQSection.cjs.map +0 -1
  387. package/dist/components/layout-and-navigation/Overlay.cjs.map +0 -1
  388. package/dist/components/layout-and-navigation/Pagination.cjs +0 -117
  389. package/dist/components/layout-and-navigation/Pagination.cjs.map +0 -1
  390. package/dist/components/layout-and-navigation/SearchableList.cjs +0 -287
  391. package/dist/components/layout-and-navigation/SearchableList.cjs.map +0 -1
  392. package/dist/components/layout-and-navigation/StepperBar.cjs.map +0 -1
  393. package/dist/components/layout-and-navigation/Table.cjs.map +0 -1
  394. package/dist/components/layout-and-navigation/TextImage.cjs +0 -138
  395. package/dist/components/layout-and-navigation/TextImage.cjs.map +0 -1
  396. package/dist/components/layout-and-navigation/Tile.cjs +0 -58
  397. package/dist/components/layout-and-navigation/VerticalDivider.cjs +0 -81
  398. package/dist/components/loading-states/ErrorComponent.cjs +0 -103
  399. package/dist/components/loading-states/ErrorComponent.cjs.map +0 -1
  400. package/dist/components/loading-states/LoadingAndErrorComponent.cjs +0 -229
  401. package/dist/components/loading-states/LoadingAndErrorComponent.cjs.map +0 -1
  402. package/dist/components/loading-states/LoadingAnimation.cjs +0 -176
  403. package/dist/components/loading-states/LoadingAnimation.cjs.map +0 -1
  404. package/dist/components/loading-states/LoadingButton.cjs.map +0 -1
  405. package/dist/components/loading-states/ProgressIndicator.cjs +0 -84
  406. package/dist/components/modals/ConfirmModal.cjs.map +0 -1
  407. package/dist/components/modals/DiscardChangesModal.cjs.map +0 -1
  408. package/dist/components/modals/InputModal.cjs.map +0 -1
  409. package/dist/components/modals/LanguageModal.cjs.map +0 -1
  410. package/dist/components/modals/ThemeModal.cjs.map +0 -1
  411. package/dist/components/properties/CheckboxProperty.cjs.map +0 -1
  412. package/dist/components/properties/DateProperty.cjs.map +0 -1
  413. package/dist/components/properties/MultiSelectProperty.cjs.map +0 -1
  414. package/dist/components/properties/NumberProperty.cjs.map +0 -1
  415. package/dist/components/properties/SelectProperty.cjs.map +0 -1
  416. package/dist/components/properties/TextProperty.cjs.map +0 -1
  417. package/dist/components/user-action/Checkbox.cjs +0 -158
  418. package/dist/components/user-action/DateAndTimePicker.cjs.map +0 -1
  419. package/dist/components/user-action/Input.cjs +0 -223
  420. package/dist/components/user-action/Input.cjs.map +0 -1
  421. package/dist/components/user-action/Label.cjs +0 -56
  422. package/dist/components/user-action/Menu.cjs +0 -163
  423. package/dist/components/user-action/Menu.cjs.map +0 -1
  424. package/dist/components/user-action/MultiSelect.cjs.map +0 -1
  425. package/dist/components/user-action/ScrollPicker.cjs.map +0 -1
  426. package/dist/components/user-action/Select.cjs.map +0 -1
  427. package/dist/components/user-action/Textarea.cjs +0 -199
  428. package/dist/components/user-action/Textarea.cjs.map +0 -1
  429. package/dist/components/user-action/ToggleableInput.cjs +0 -192
  430. package/dist/components/user-action/ToggleableInput.cjs.map +0 -1
  431. package/dist/components/user-action/Tooltip.cjs.map +0 -1
  432. package/dist/hooks/useHoverState.cjs +0 -72
  433. package/dist/hooks/useLocalStorage.cjs +0 -83
  434. package/dist/hooks/useOutsideClick.cjs +0 -48
  435. package/dist/hooks/useSaveDelay.cjs +0 -68
  436. package/dist/index.cjs.map +0 -1
  437. package/dist/localization/LanguageProvider.cjs.map +0 -1
  438. package/dist/localization/useTranslation.cjs +0 -69
  439. package/dist/localization/useTranslation.cjs.map +0 -1
  440. package/dist/localization/util.cjs +0 -41
  441. package/dist/theming/useTheme.cjs +0 -76
  442. package/dist/theming/useTheme.cjs.map +0 -1
  443. package/dist/util/builder.cjs +0 -34
  444. package/dist/util/date.cjs.map +0 -1
  445. package/dist/util/easeFunctions.cjs +0 -63
  446. package/dist/util/easeFunctions.cjs.map +0 -1
  447. package/dist/util/emailValidation.cjs +0 -33
  448. package/dist/util/math.cjs +0 -33
  449. package/dist/util/news.cjs +0 -77
  450. package/dist/util/news.cjs.map +0 -1
  451. package/dist/util/news.d.cts +0 -101
  452. package/dist/util/noop.cjs +0 -31
  453. package/dist/util/noop.cjs.map +0 -1
  454. package/dist/util/noop.d.cts +0 -3
  455. package/dist/util/simpleSearch.cjs +0 -54
  456. package/dist/util/storage.cjs +0 -64
  457. package/dist/util/types.cjs +0 -19
  458. package/dist/util/types.cjs.map +0 -1
  459. /package/dist/coloring/{types.d.cts → types.d.mts} +0 -0
  460. /package/dist/components/branding/{HelpwaveBadge.d.cts → HelpwaveBadge.d.mts} +0 -0
  461. /package/dist/components/date/{TimePicker.d.cts → TimePicker.d.mts} +0 -0
  462. /package/dist/components/icons-and-geometry/{Avatar.d.cts → Avatar.d.mts} +0 -0
  463. /package/dist/components/icons-and-geometry/{Circle.d.cts → Circle.d.mts} +0 -0
  464. /package/dist/components/icons-and-geometry/{Helpwave.d.cts → Helpwave.d.mts} +0 -0
  465. /package/dist/components/icons-and-geometry/{Ring.d.cts → Ring.d.mts} +0 -0
  466. /package/dist/components/icons-and-geometry/{Tag.d.cts → Tag.d.mts} +0 -0
  467. /package/dist/components/layout-and-navigation/{BreadCrumb.d.cts → BreadCrumb.d.mts} +0 -0
  468. /package/dist/components/layout-and-navigation/{Carousel.d.cts → Carousel.d.mts} +0 -0
  469. /package/dist/components/layout-and-navigation/{Chip.d.cts → Chip.d.mts} +0 -0
  470. /package/dist/components/layout-and-navigation/{DividerInserter.d.cts → DividerInserter.d.mts} +0 -0
  471. /package/dist/components/layout-and-navigation/{Expandable.d.cts → Expandable.d.mts} +0 -0
  472. /package/dist/components/layout-and-navigation/{Tile.d.cts → Tile.d.mts} +0 -0
  473. /package/dist/components/layout-and-navigation/{VerticalDivider.d.cts → VerticalDivider.d.mts} +0 -0
  474. /package/dist/components/loading-states/{ProgressIndicator.d.cts → ProgressIndicator.d.mts} +0 -0
  475. /package/dist/components/user-action/{Button.d.cts → Button.d.mts} +0 -0
  476. /package/dist/components/user-action/{Label.d.cts → Label.d.mts} +0 -0
  477. /package/dist/components/user-action/{Menu.d.cts → Menu.d.mts} +0 -0
  478. /package/dist/components/user-action/{ScrollPicker.d.cts → ScrollPicker.d.mts} +0 -0
  479. /package/dist/components/user-action/{ToggleableInput.d.cts → ToggleableInput.d.mts} +0 -0
  480. /package/dist/components/user-action/{Tooltip.d.cts → Tooltip.d.mts} +0 -0
  481. /package/dist/hooks/{useHoverState.d.cts → useHoverState.d.mts} +0 -0
  482. /package/dist/hooks/{useLocalStorage.d.cts → useLocalStorage.d.mts} +0 -0
  483. /package/dist/hooks/{useOutsideClick.d.cts → useOutsideClick.d.mts} +0 -0
  484. /package/dist/hooks/{useSaveDelay.d.cts → useSaveDelay.d.mts} +0 -0
  485. /package/dist/localization/{util.d.cts → util.d.mts} +0 -0
  486. /package/dist/util/{array.d.cts → array.d.mts} +0 -0
  487. /package/dist/util/{builder.d.cts → builder.d.mts} +0 -0
  488. /package/dist/util/{date.d.cts → date.d.mts} +0 -0
  489. /package/dist/util/{easeFunctions.d.cts → easeFunctions.d.mts} +0 -0
  490. /package/dist/util/{emailValidation.d.cts → emailValidation.d.mts} +0 -0
  491. /package/dist/util/{loopingArray.d.cts → loopingArray.d.mts} +0 -0
  492. /package/dist/util/{math.d.cts → math.d.mts} +0 -0
  493. /package/dist/util/{simpleSearch.d.cts → simpleSearch.d.mts} +0 -0
  494. /package/dist/util/{storage.d.cts → storage.d.mts} +0 -0
  495. /package/dist/util/{types.d.cts → types.d.mts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/properties/PropertyBase.tsx","../../../src/components/user-action/Button.tsx","../../../src/localization/LanguageProvider.tsx","../../../src/hooks/useLocalStorage.ts","../../../src/localization/util.ts","../../../src/localization/useTranslation.ts"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { AlertTriangle } from 'lucide-react'\nimport clsx from 'clsx'\nimport type { Language } from '../../localization/util'\nimport { TextButton } from '../user-action/Button'\nimport type { PropsForTranslation } from '../../localization/useTranslation'\nimport { useTranslation } from '../../localization/useTranslation'\n\ntype PropertyBaseTranslation = {\n remove: string,\n}\n\nconst defaultPropertyBaseTranslation: Record<Language, PropertyBaseTranslation> = {\n en: {\n remove: 'Remove'\n },\n de: {\n remove: 'Entfernen'\n }\n}\n\nexport type PropertyBaseProps = {\n name: string,\n input: (props: { softRequired: boolean, hasValue: boolean }) => ReactNode,\n onRemove?: () => void,\n hasValue: boolean,\n softRequired?: boolean,\n readOnly?: boolean,\n icon?: ReactNode,\n className?: string,\n}\n\n/**\n * A component for showing a properties with uniform styling\n */\nexport const PropertyBase = ({\n overwriteTranslation,\n name,\n input,\n softRequired = false,\n hasValue,\n icon,\n readOnly,\n onRemove,\n className = '',\n }: PropsForTranslation<PropertyBaseTranslation, PropertyBaseProps>) => {\n const translation = useTranslation(defaultPropertyBaseTranslation, overwriteTranslation)\n const requiredAndNoValue = softRequired && !hasValue\n return (\n <div className={clsx('row gap-x-0 group', className)}>\n <div\n className={\n clsx('row gap-x-2 !w-[200px] px-4 py-2 items-center rounded-l-xl border-2 border-r-0', {\n 'bg-gray-100 text-black group-hover:border-primary border-gray-400': !requiredAndNoValue,\n 'bg-warning text-surface-warning group-hover:border-warning border-warning/90': requiredAndNoValue,\n }, className)}\n >\n {icon}\n {name}\n </div>\n <div className={\n clsx('row grow justify-between items-center rounded-r-xl border-2 border-l-0', {\n 'bg-white group-hover:border-primary border-gray-400': !requiredAndNoValue,\n 'bg-surface-warning group-hover:border-warning border-warning/90': requiredAndNoValue,\n }, className)}\n >\n {input({ softRequired, hasValue })}\n {requiredAndNoValue && (\n <div className=\"text-warning pr-4\"><AlertTriangle size={24}/></div>\n )}\n {onRemove && (\n <TextButton\n onClick={onRemove}\n color=\"negative\"\n className={clsx('pr-4 items-center', { '!text-transparent': !hasValue || readOnly })}\n disabled={!hasValue || readOnly}\n >\n {translation.remove}\n </TextButton>\n )}\n </div>\n </div>\n )\n}\n","import type { ButtonHTMLAttributes, PropsWithChildren, ReactNode } from 'react'\nimport clsx from 'clsx'\n\n\nexport const ButtonColorUtil = {\n solid: ['primary', 'secondary', 'tertiary', 'positive', 'warning', 'negative', 'neutral'] as const,\n text: ['primary', 'negative', 'neutral'] as const,\n outline: ['primary'] as const,\n}\n\n\n/**\n * The allowed colors for the SolidButton and IconButton\n */\nexport type SolidButtonColor = typeof ButtonColorUtil.solid[number]\n/**\n * The allowed colors for the OutlineButton\n */\nexport type OutlineButtonColor = typeof ButtonColorUtil.outline[number]\n/**\n * The allowed colors for the TextButton\n */\nexport type TextButtonColor = typeof ButtonColorUtil.text[number]\n\n/**\n * The different sizes for a button\n */\ntype ButtonSizes = 'small' | 'medium' | 'large'\n\n/**\n * The shard properties between all button types\n */\nexport type ButtonProps = PropsWithChildren<{\n /**\n * @default 'medium'\n */\n size?: ButtonSizes,\n}> & ButtonHTMLAttributes<Element>\n\nconst paddingMapping: Record<ButtonSizes, string> = {\n small: 'btn-sm',\n medium: 'btn-md',\n large: 'btn-lg'\n}\n\nconst iconPaddingMapping: Record<ButtonSizes, string> = {\n small: 'icon-btn-sm',\n medium: 'icon-btn-md',\n large: 'icon-btn-lg'\n}\n\nexport const ButtonUtil = {\n paddingMapping,\n iconPaddingMapping\n}\n\ntype ButtonWithIconsProps = ButtonProps & {\n startIcon?: ReactNode,\n endIcon?: ReactNode,\n}\n\nexport type SolidButtonProps = ButtonWithIconsProps & {\n color?: SolidButtonColor,\n}\n\nexport type OutlineButtonProps = ButtonWithIconsProps & {\n color?: OutlineButtonColor,\n}\n\nexport type TextButtonProps = ButtonWithIconsProps & {\n color?: TextButtonColor,\n}\n\nexport type IconButtonProps = ButtonProps & {\n color?: SolidButtonColor,\n}\n\n/**\n * A button with a solid background and different sizes\n */\nconst SolidButton = ({\n children,\n disabled = false,\n color = 'primary',\n size = 'medium',\n startIcon,\n endIcon,\n onClick,\n className,\n ...restProps\n }: SolidButtonProps) => {\n const colorClasses = {\n primary: 'bg-button-solid-primary-background text-button-solid-primary-text',\n secondary: 'bg-button-solid-secondary-background text-button-solid-secondary-text',\n tertiary: 'bg-button-solid-tertiary-background text-button-solid-tertiary-text',\n positive: 'bg-button-solid-positive-background text-button-solid-positive-text',\n warning: 'bg-button-solid-warning-background text-button-solid-warning-text',\n negative: 'bg-button-solid-negative-background text-button-solid-negative-text',\n neutral: 'bg-button-solid-neutral-background text-button-solid-neutral-text',\n }[color]\n\n const iconColorClasses = {\n primary: 'text-button-solid-primary-icon',\n secondary: 'text-button-solid-secondary-icon',\n tertiary: 'text-button-solid-tertiary-icon',\n positive: 'text-button-solid-positive-icon',\n warning: 'text-button-solid-warning-icon',\n negative: 'text-button-solid-negative-icon',\n neutral: 'text-button-solid-neutral-icon',\n }[color]\n\n return (\n <button\n onClick={disabled ? undefined : onClick}\n disabled={disabled || onClick === undefined}\n className={clsx(\n {\n 'text-disabled-text bg-disabled-background cursor-not-allowed': disabled,\n [clsx(colorClasses, 'hover:brightness-90')]: !disabled\n },\n ButtonUtil.paddingMapping[size],\n className\n )}\n {...restProps}\n >\n {startIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {startIcon}\n </span>\n )}\n {children}\n {endIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {endIcon}\n </span>\n )}\n </button>\n )\n}\n\n/**\n * A button with an outline border and different sizes\n */\nconst OutlineButton = ({\n children,\n disabled = false,\n color = 'primary',\n size = 'medium',\n startIcon,\n endIcon,\n onClick,\n className,\n ...restProps\n }: OutlineButtonProps) => {\n const colorClasses = {\n primary: 'bg-transparent border-2 border-button-outline-primary-text text-button-outline-primary-text',\n }[color]\n\n const iconColorClasses = {\n primary: 'text-button-outline-primary-icon',\n }[color]\n return (\n <button\n onClick={disabled ? undefined : onClick}\n disabled={disabled || onClick === undefined}\n className={clsx(\n {\n 'text-disabled-text border-disabled-outline cursor-not-allowed': disabled,\n [clsx(colorClasses, 'hover:brightness-80')]: !disabled,\n },\n ButtonUtil.paddingMapping[size],\n className\n )}\n {...restProps}\n >\n {startIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {startIcon}\n </span>\n )}\n {children}\n {endIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {endIcon}\n </span>\n )}\n </button>\n )\n}\n\n/**\n * A text that is a button that can have different sizes\n */\nconst TextButton = ({\n children,\n disabled = false,\n color = 'neutral',\n size = 'medium',\n startIcon,\n endIcon,\n onClick,\n className,\n ...restProps\n }: TextButtonProps) => {\n const colorClasses = {\n primary: 'bg-transparent text-button-text-primary-text',\n negative: 'bg-transparent text-button-text-negative-text',\n neutral: 'bg-transparent text-button-text-neutral-text',\n }[color]\n\n const iconColorClasses = {\n primary: 'text-button-text-primary-icon',\n negative: 'text-button-text-negative-icon',\n neutral: 'text-button-text-neutral-icon',\n }[color]\n return (\n <button\n onClick={disabled ? undefined : onClick}\n disabled={disabled || onClick === undefined}\n className={clsx(\n {\n 'text-disabled-text cursor-not-allowed': disabled,\n [clsx(colorClasses, 'hover:bg-button-text-hover-background rounded-full')]: !disabled,\n },\n ButtonUtil.paddingMapping[size],\n className\n )}\n {...restProps}\n >\n {startIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {startIcon}\n </span>\n )}\n {children}\n {endIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {endIcon}\n </span>\n )}\n </button>\n )\n}\n\n\n/**\n * A button for icons with a solid background and different sizes\n */\nconst IconButton = ({\n children,\n disabled = false,\n color = 'primary',\n size = 'medium',\n onClick,\n className,\n ...restProps\n }: IconButtonProps) => {\n const colorClasses = {\n primary: 'bg-button-solid-primary-background text-button-solid-primary-text',\n secondary: 'bg-button-solid-secondary-background text-button-solid-secondary-text',\n tertiary: 'bg-button-solid-tertiary-background text-button-solid-tertiary-text',\n positive: 'bg-button-solid-positive-background text-button-solid-positive-text',\n warning: 'bg-button-solid-warning-background text-button-solid-warning-text',\n negative: 'bg-button-solid-negative-background text-button-solid-negative-text',\n neutral: 'bg-button-solid-neutral-background text-button-solid-neutral-text',\n }[color]\n\n return (\n <button\n onClick={disabled ? undefined : onClick}\n disabled={disabled || onClick === undefined}\n className={clsx(\n {\n 'text-disabled-text bg-disabled-background cursor-not-allowed': disabled,\n [clsx(colorClasses, 'hover:brightness-90')]: !disabled\n },\n ButtonUtil.iconPaddingMapping[size],\n className\n )}\n {...restProps}\n >\n {children}\n </button>\n )\n}\n\nexport { SolidButton, OutlineButton, TextButton, IconButton }\n","import type { Dispatch, PropsWithChildren, SetStateAction } from 'react'\nimport { createContext, useContext, useEffect, useState } from 'react'\nimport { useLocalStorage } from '@/hooks/useLocalStorage'\nimport type { Language } from './util'\nimport { LanguageUtil } from './util'\n\nexport type LanguageContextValue = {\n language: Language,\n setLanguage: Dispatch<SetStateAction<Language>>,\n}\n\nexport const LanguageContext = createContext<LanguageContextValue>({\n language: LanguageUtil.DEFAULT_LANGUAGE,\n setLanguage: (v) => v\n})\n\nexport const useLanguage = () => useContext(LanguageContext)\n\nexport const useLocale = (overWriteLanguage?: Language) => {\n const { language } = useLanguage()\n const mapping: Record<Language, string> = {\n en: 'en-US',\n de: 'de-DE'\n }\n return mapping[overWriteLanguage ?? language]\n}\n\ntype LanguageProviderProps = {\n initialLanguage?: Language,\n}\n\nexport const LanguageProvider = ({ initialLanguage, children }: PropsWithChildren<LanguageProviderProps>) => {\n const [language, setLanguage] = useState<Language>(initialLanguage ?? LanguageUtil.DEFAULT_LANGUAGE)\n const [storedLanguage, setStoredLanguage] = useLocalStorage<Language>('language', initialLanguage ?? LanguageUtil.DEFAULT_LANGUAGE)\n\n useEffect(() => {\n if (language !== initialLanguage && initialLanguage) {\n console.warn('LanguageProvider initial state changed: Prefer using languageProvider\\'s setLanguage instead')\n setLanguage(initialLanguage)\n }\n }, [initialLanguage]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n // TODO set locale of html tag here as well\n setStoredLanguage(language)\n }, [language, setStoredLanguage])\n\n useEffect(() => {\n if (storedLanguage !== null) {\n setLanguage(storedLanguage)\n return\n }\n\n const LanguageToTestAgainst = Object.values(LanguageUtil.languages)\n\n const matchingBrowserLanguage = window.navigator.languages\n .map(language => LanguageToTestAgainst.find((test) => language === test || language.split('-')[0] === test))\n .filter(entry => entry !== undefined)\n\n if (matchingBrowserLanguage.length === 0) return\n\n const firstMatch = matchingBrowserLanguage[0] as Language\n setLanguage(firstMatch)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <LanguageContext.Provider value={{\n language,\n setLanguage\n }}>\n {children}\n </LanguageContext.Provider>\n )\n}","import type { Dispatch, SetStateAction } from 'react'\nimport { useCallback, useEffect, useState } from 'react'\nimport { LocalStorageService } from '../util/storage'\n\ntype SetValue<T> = Dispatch<SetStateAction<T>>\nexport const useLocalStorage = <T>(key: string, initValue: T): [T, SetValue<T>] => {\n const get = useCallback((): T => {\n if (typeof window === 'undefined') {\n return initValue\n }\n const storageService = new LocalStorageService()\n const value = storageService.get<T>(key)\n return value || initValue\n }, [initValue, key])\n\n const [storedValue, setStoredValue] = useState<T>(get)\n\n const setValue: SetValue<T> = useCallback(value => {\n const newValue = value instanceof Function ? value(storedValue) : value\n const storageService = new LocalStorageService()\n storageService.set(key, value)\n\n setStoredValue(newValue)\n }, [storedValue, setStoredValue, key])\n\n useEffect(() => {\n setStoredValue(get())\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return [storedValue, setValue]\n}","/**\n * The supported languages\n */\nconst languages = ['en', 'de'] as const\n\n/**\n * The supported languages\n */\nexport type Language = typeof languages[number]\n\n/**\n * The supported languages' names in their respective language\n */\nconst languagesLocalNames: Record<Language, string> = {\n en: 'English',\n de: 'Deutsch',\n}\n\n/**\n * The default language\n */\nconst DEFAULT_LANGUAGE: Language = 'en'\n\n/**\n * A constant definition for holding data regarding languages\n */\nexport const LanguageUtil = {\n languages,\n DEFAULT_LANGUAGE,\n languagesLocalNames,\n}","import { useLanguage } from './LanguageProvider'\nimport type { Language } from './util'\n\nexport type Translation<T> = Record<Language, T>\n\ntype OverwriteTranslationType<Translation extends Record<string, unknown>> = {\n language?: Language,\n translation?: Partial<Record<Language, Partial<Translation>>>,\n}\n\n/**\n * Adds the `language` prop to the component props.\n *\n * @param Translation the type of the translation object\n *\n * @param Props the type of the component props, defaults to `Record<string, never>`,\n * if you don't expect any other props other than `language` and get an\n * error when using your component (because it uses `forwardRef` etc.)\n * you can try out `Record<string, unknown>`, this might resolve your\n * problem as `SomeType & never` is still `never` but `SomeType & unknown`\n * is `SomeType` which means that adding back props (like `ref` etc.)\n * works properly\n */\nexport type PropsForTranslation<\n Translation extends Record<string, unknown>,\n Props = Record<string, never>\n> = Props & {\n overwriteTranslation?: OverwriteTranslationType<Translation>,\n};\n\nexport const useTranslation = <Translation extends Record<string, unknown>>(\n defaults: Record<Language, Translation>,\n translationOverwrite: OverwriteTranslationType<Translation> = {}\n): Translation => {\n const { language: languageProp, translation: overwrite } = translationOverwrite\n const { language: inferredLanguage } = useLanguage()\n const usedLanguage = languageProp ?? inferredLanguage\n let defaultValues: Translation = defaults[usedLanguage]\n if (overwrite && overwrite[usedLanguage]) {\n defaultValues = { ...defaultValues, ...overwrite[usedLanguage] }\n }\n return defaultValues\n}\n"],"mappings":"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","names":["import_clsx","clsx","import_react","import_jsx_runtime","import_jsx_runtime","clsx"]}
1
+ {"version":3,"sources":["../../../src/components/properties/PropertyBase.tsx","../../../src/components/user-action/Button.tsx","../../../src/localization/LanguageProvider.tsx","../../../src/hooks/useLocalStorage.ts","../../../src/localization/util.ts","../../../src/localization/useTranslation.ts"],"sourcesContent":["import type { ReactNode } from 'react'\nimport { AlertTriangle } from 'lucide-react'\nimport clsx from 'clsx'\nimport type { Language } from '../../localization/util'\nimport { TextButton } from '../user-action/Button'\nimport type { PropsForTranslation } from '../../localization/useTranslation'\nimport { useTranslation } from '../../localization/useTranslation'\n\ntype PropertyBaseTranslation = {\n remove: string,\n}\n\nconst defaultPropertyBaseTranslation: Record<Language, PropertyBaseTranslation> = {\n en: {\n remove: 'Remove'\n },\n de: {\n remove: 'Entfernen'\n }\n}\n\nexport type PropertyBaseProps = {\n name: string,\n input: (props: { softRequired: boolean, hasValue: boolean }) => ReactNode,\n onRemove?: () => void,\n hasValue: boolean,\n softRequired?: boolean,\n readOnly?: boolean,\n icon?: ReactNode,\n className?: string,\n}\n\n/**\n * A component for showing a properties with uniform styling\n */\nexport const PropertyBase = ({\n overwriteTranslation,\n name,\n input,\n softRequired = false,\n hasValue,\n icon,\n readOnly,\n onRemove,\n className = '',\n }: PropsForTranslation<PropertyBaseTranslation, PropertyBaseProps>) => {\n const translation = useTranslation(defaultPropertyBaseTranslation, overwriteTranslation)\n const requiredAndNoValue = softRequired && !hasValue\n return (\n <div className={clsx('row gap-x-0 group', className)}>\n <div\n className={\n clsx('row gap-x-2 !w-[200px] px-4 py-2 items-center rounded-l-xl border-2 border-r-0', {\n 'bg-gray-100 text-black group-hover:border-primary border-gray-400': !requiredAndNoValue,\n 'bg-warning text-surface-warning group-hover:border-warning border-warning/90': requiredAndNoValue,\n }, className)}\n >\n {icon}\n {name}\n </div>\n <div className={\n clsx('row grow justify-between items-center rounded-r-xl border-2 border-l-0', {\n 'bg-white group-hover:border-primary border-gray-400': !requiredAndNoValue,\n 'bg-surface-warning group-hover:border-warning border-warning/90': requiredAndNoValue,\n }, className)}\n >\n {input({ softRequired, hasValue })}\n {requiredAndNoValue && (\n <div className=\"text-warning pr-4\"><AlertTriangle size={24}/></div>\n )}\n {onRemove && (\n <TextButton\n onClick={onRemove}\n color=\"negative\"\n className={clsx('pr-4 items-center', { '!text-transparent': !hasValue || readOnly })}\n disabled={!hasValue || readOnly}\n >\n {translation.remove}\n </TextButton>\n )}\n </div>\n </div>\n )\n}\n","import type { ButtonHTMLAttributes, PropsWithChildren, ReactNode } from 'react'\nimport clsx from 'clsx'\n\n\nexport const ButtonColorUtil = {\n solid: ['primary', 'secondary', 'tertiary', 'positive', 'warning', 'negative', 'neutral'] as const,\n text: ['primary', 'negative', 'neutral'] as const,\n outline: ['primary'] as const,\n}\n\n\n/**\n * The allowed colors for the SolidButton and IconButton\n */\nexport type SolidButtonColor = typeof ButtonColorUtil.solid[number]\n/**\n * The allowed colors for the OutlineButton\n */\nexport type OutlineButtonColor = typeof ButtonColorUtil.outline[number]\n/**\n * The allowed colors for the TextButton\n */\nexport type TextButtonColor = typeof ButtonColorUtil.text[number]\n\n/**\n * The different sizes for a button\n */\ntype ButtonSizes = 'small' | 'medium' | 'large'\n\n/**\n * The shard properties between all button types\n */\nexport type ButtonProps = PropsWithChildren<{\n /**\n * @default 'medium'\n */\n size?: ButtonSizes,\n}> & ButtonHTMLAttributes<Element>\n\nconst paddingMapping: Record<ButtonSizes, string> = {\n small: 'btn-sm',\n medium: 'btn-md',\n large: 'btn-lg'\n}\n\nconst iconPaddingMapping: Record<ButtonSizes, string> = {\n small: 'icon-btn-sm',\n medium: 'icon-btn-md',\n large: 'icon-btn-lg'\n}\n\nexport const ButtonUtil = {\n paddingMapping,\n iconPaddingMapping\n}\n\ntype ButtonWithIconsProps = ButtonProps & {\n startIcon?: ReactNode,\n endIcon?: ReactNode,\n}\n\nexport type SolidButtonProps = ButtonWithIconsProps & {\n color?: SolidButtonColor,\n}\n\nexport type OutlineButtonProps = ButtonWithIconsProps & {\n color?: OutlineButtonColor,\n}\n\nexport type TextButtonProps = ButtonWithIconsProps & {\n color?: TextButtonColor,\n}\n\nexport type IconButtonProps = ButtonProps & {\n color?: SolidButtonColor,\n}\n\n/**\n * A button with a solid background and different sizes\n */\nconst SolidButton = ({\n children,\n disabled = false,\n color = 'primary',\n size = 'medium',\n startIcon,\n endIcon,\n onClick,\n className,\n ...restProps\n }: SolidButtonProps) => {\n const colorClasses = {\n primary: 'bg-button-solid-primary-background text-button-solid-primary-text',\n secondary: 'bg-button-solid-secondary-background text-button-solid-secondary-text',\n tertiary: 'bg-button-solid-tertiary-background text-button-solid-tertiary-text',\n positive: 'bg-button-solid-positive-background text-button-solid-positive-text',\n warning: 'bg-button-solid-warning-background text-button-solid-warning-text',\n negative: 'bg-button-solid-negative-background text-button-solid-negative-text',\n neutral: 'bg-button-solid-neutral-background text-button-solid-neutral-text',\n }[color]\n\n const iconColorClasses = {\n primary: 'text-button-solid-primary-icon',\n secondary: 'text-button-solid-secondary-icon',\n tertiary: 'text-button-solid-tertiary-icon',\n positive: 'text-button-solid-positive-icon',\n warning: 'text-button-solid-warning-icon',\n negative: 'text-button-solid-negative-icon',\n neutral: 'text-button-solid-neutral-icon',\n }[color]\n\n return (\n <button\n onClick={disabled ? undefined : onClick}\n disabled={disabled || onClick === undefined}\n className={clsx(\n {\n 'text-disabled-text bg-disabled-background cursor-not-allowed': disabled,\n [clsx(colorClasses, 'hover:brightness-90')]: !disabled\n },\n ButtonUtil.paddingMapping[size],\n className\n )}\n {...restProps}\n >\n {startIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {startIcon}\n </span>\n )}\n {children}\n {endIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {endIcon}\n </span>\n )}\n </button>\n )\n}\n\n/**\n * A button with an outline border and different sizes\n */\nconst OutlineButton = ({\n children,\n disabled = false,\n color = 'primary',\n size = 'medium',\n startIcon,\n endIcon,\n onClick,\n className,\n ...restProps\n }: OutlineButtonProps) => {\n const colorClasses = {\n primary: 'bg-transparent border-2 border-button-outline-primary-text text-button-outline-primary-text',\n }[color]\n\n const iconColorClasses = {\n primary: 'text-button-outline-primary-icon',\n }[color]\n return (\n <button\n onClick={disabled ? undefined : onClick}\n disabled={disabled || onClick === undefined}\n className={clsx(\n {\n 'text-disabled-text border-disabled-outline cursor-not-allowed': disabled,\n [clsx(colorClasses, 'hover:brightness-80')]: !disabled,\n },\n ButtonUtil.paddingMapping[size],\n className\n )}\n {...restProps}\n >\n {startIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {startIcon}\n </span>\n )}\n {children}\n {endIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {endIcon}\n </span>\n )}\n </button>\n )\n}\n\n/**\n * A text that is a button that can have different sizes\n */\nconst TextButton = ({\n children,\n disabled = false,\n color = 'neutral',\n size = 'medium',\n startIcon,\n endIcon,\n onClick,\n className,\n ...restProps\n }: TextButtonProps) => {\n const colorClasses = {\n primary: 'bg-transparent text-button-text-primary-text',\n negative: 'bg-transparent text-button-text-negative-text',\n neutral: 'bg-transparent text-button-text-neutral-text',\n }[color]\n\n const iconColorClasses = {\n primary: 'text-button-text-primary-icon',\n negative: 'text-button-text-negative-icon',\n neutral: 'text-button-text-neutral-icon',\n }[color]\n return (\n <button\n onClick={disabled ? undefined : onClick}\n disabled={disabled || onClick === undefined}\n className={clsx(\n {\n 'text-disabled-text cursor-not-allowed': disabled,\n [clsx(colorClasses, 'hover:bg-button-text-hover-background rounded-full')]: !disabled,\n },\n ButtonUtil.paddingMapping[size],\n className\n )}\n {...restProps}\n >\n {startIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {startIcon}\n </span>\n )}\n {children}\n {endIcon && (\n <span\n className={clsx({\n [iconColorClasses]: !disabled,\n [`text-disabled-icon`]: disabled\n })}\n >\n {endIcon}\n </span>\n )}\n </button>\n )\n}\n\n\n/**\n * A button for icons with a solid background and different sizes\n */\nconst IconButton = ({\n children,\n disabled = false,\n color = 'primary',\n size = 'medium',\n onClick,\n className,\n ...restProps\n }: IconButtonProps) => {\n const colorClasses = {\n primary: 'bg-button-solid-primary-background text-button-solid-primary-text',\n secondary: 'bg-button-solid-secondary-background text-button-solid-secondary-text',\n tertiary: 'bg-button-solid-tertiary-background text-button-solid-tertiary-text',\n positive: 'bg-button-solid-positive-background text-button-solid-positive-text',\n warning: 'bg-button-solid-warning-background text-button-solid-warning-text',\n negative: 'bg-button-solid-negative-background text-button-solid-negative-text',\n neutral: 'bg-button-solid-neutral-background text-button-solid-neutral-text',\n }[color]\n\n return (\n <button\n onClick={disabled ? undefined : onClick}\n disabled={disabled || onClick === undefined}\n className={clsx(\n {\n 'text-disabled-text bg-disabled-background cursor-not-allowed': disabled,\n [clsx(colorClasses, 'hover:brightness-90')]: !disabled\n },\n ButtonUtil.iconPaddingMapping[size],\n className\n )}\n {...restProps}\n >\n {children}\n </button>\n )\n}\n\nexport { SolidButton, OutlineButton, TextButton, IconButton }\n","import type { Dispatch, PropsWithChildren, SetStateAction } from 'react'\nimport { createContext, useContext, useEffect, useState } from 'react'\nimport { useLocalStorage } from '../hooks/useLocalStorage'\nimport type { Language } from './util'\nimport { LanguageUtil } from './util'\n\nexport type LanguageContextValue = {\n language: Language,\n setLanguage: Dispatch<SetStateAction<Language>>,\n}\n\nexport const LanguageContext = createContext<LanguageContextValue>({\n language: LanguageUtil.DEFAULT_LANGUAGE,\n setLanguage: (v) => v\n})\n\nexport const useLanguage = () => useContext(LanguageContext)\n\nexport const useLocale = (overWriteLanguage?: Language) => {\n const { language } = useLanguage()\n const mapping: Record<Language, string> = {\n en: 'en-US',\n de: 'de-DE'\n }\n return mapping[overWriteLanguage ?? language]\n}\n\ntype LanguageProviderProps = {\n initialLanguage?: Language,\n}\n\nexport const LanguageProvider = ({ initialLanguage, children }: PropsWithChildren<LanguageProviderProps>) => {\n const [language, setLanguage] = useState<Language>(initialLanguage ?? LanguageUtil.DEFAULT_LANGUAGE)\n const [storedLanguage, setStoredLanguage] = useLocalStorage<Language>('language', initialLanguage ?? LanguageUtil.DEFAULT_LANGUAGE)\n\n useEffect(() => {\n if (language !== initialLanguage && initialLanguage) {\n console.warn('LanguageProvider initial state changed: Prefer using languageProvider\\'s setLanguage instead')\n setLanguage(initialLanguage)\n }\n }, [initialLanguage]) // eslint-disable-line react-hooks/exhaustive-deps\n\n useEffect(() => {\n // TODO set locale of html tag here as well\n setStoredLanguage(language)\n }, [language, setStoredLanguage])\n\n useEffect(() => {\n if (storedLanguage !== null) {\n setLanguage(storedLanguage)\n return\n }\n\n const LanguageToTestAgainst = Object.values(LanguageUtil.languages)\n\n const matchingBrowserLanguage = window.navigator.languages\n .map(language => LanguageToTestAgainst.find((test) => language === test || language.split('-')[0] === test))\n .filter(entry => entry !== undefined)\n\n if (matchingBrowserLanguage.length === 0) return\n\n const firstMatch = matchingBrowserLanguage[0] as Language\n setLanguage(firstMatch)\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return (\n <LanguageContext.Provider value={{\n language,\n setLanguage\n }}>\n {children}\n </LanguageContext.Provider>\n )\n}","import type { Dispatch, SetStateAction } from 'react'\nimport { useCallback, useEffect, useState } from 'react'\nimport { LocalStorageService } from '../util/storage'\n\ntype SetValue<T> = Dispatch<SetStateAction<T>>\nexport const useLocalStorage = <T>(key: string, initValue: T): [T, SetValue<T>] => {\n const get = useCallback((): T => {\n if (typeof window === 'undefined') {\n return initValue\n }\n const storageService = new LocalStorageService()\n const value = storageService.get<T>(key)\n return value || initValue\n }, [initValue, key])\n\n const [storedValue, setStoredValue] = useState<T>(get)\n\n const setValue: SetValue<T> = useCallback(value => {\n const newValue = value instanceof Function ? value(storedValue) : value\n const storageService = new LocalStorageService()\n storageService.set(key, value)\n\n setStoredValue(newValue)\n }, [storedValue, setStoredValue, key])\n\n useEffect(() => {\n setStoredValue(get())\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n return [storedValue, setValue]\n}","/**\n * The supported languages\n */\nconst languages = ['en', 'de'] as const\n\n/**\n * The supported languages\n */\nexport type Language = typeof languages[number]\n\n/**\n * The supported languages' names in their respective language\n */\nconst languagesLocalNames: Record<Language, string> = {\n en: 'English',\n de: 'Deutsch',\n}\n\n/**\n * The default language\n */\nconst DEFAULT_LANGUAGE: Language = 'en'\n\n/**\n * A constant definition for holding data regarding languages\n */\nexport const LanguageUtil = {\n languages,\n DEFAULT_LANGUAGE,\n languagesLocalNames,\n}","import { useLanguage } from './LanguageProvider'\nimport type { Language } from './util'\n\nexport type Translation<T> = Record<Language, T>\n\ntype OverwriteTranslationType<Translation extends Record<string, unknown>> = {\n language?: Language,\n translation?: Partial<Record<Language, Partial<Translation>>>,\n}\n\n/**\n * Adds the `language` prop to the component props.\n *\n * @param Translation the type of the translation object\n *\n * @param Props the type of the component props, defaults to `Record<string, never>`,\n * if you don't expect any other props other than `language` and get an\n * error when using your component (because it uses `forwardRef` etc.)\n * you can try out `Record<string, unknown>`, this might resolve your\n * problem as `SomeType & never` is still `never` but `SomeType & unknown`\n * is `SomeType` which means that adding back props (like `ref` etc.)\n * works properly\n */\nexport type PropsForTranslation<\n Translation extends Record<string, unknown>,\n Props = Record<string, never>\n> = Props & {\n overwriteTranslation?: OverwriteTranslationType<Translation>,\n};\n\nexport const useTranslation = <Translation extends Record<string, unknown>>(\n defaults: Record<Language, Translation>,\n translationOverwrite: OverwriteTranslationType<Translation> = {}\n): Translation => {\n const { language: languageProp, translation: overwrite } = translationOverwrite\n const { language: inferredLanguage } = useLanguage()\n const usedLanguage = languageProp ?? inferredLanguage\n let defaultValues: Translation = defaults[usedLanguage]\n if (overwrite && overwrite[usedLanguage]) {\n defaultValues = { ...defaultValues, ...overwrite[usedLanguage] }\n }\n return defaultValues\n}\n"],"mappings":"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","names":["clsx","useEffect","useState","jsx","jsx","jsxs","clsx"]}
@@ -1,10 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { PropsForTranslation } from '../../localization/useTranslation.cjs';
3
- import { SearchableSelectProps } from '../user-action/Select.cjs';
4
- import { PropertyBaseProps } from './PropertyBase.cjs';
5
- import '../../localization/util.cjs';
2
+ import { PropsForTranslation } from '../../localization/useTranslation.mjs';
3
+ import { SearchableSelectProps } from '../user-action/Select.mjs';
4
+ import { PropertyBaseProps } from './PropertyBase.mjs';
5
+ import '../../localization/util.mjs';
6
6
  import 'react';
7
- import '../user-action/Label.cjs';
7
+ import '../user-action/Label.mjs';
8
8
 
9
9
  type SingleSelectPropertyTranslation = {
10
10
  select: string;
@@ -1,12 +1,45 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
1
29
  // src/components/properties/SelectProperty.tsx
2
- import { List } from "lucide-react";
3
- import clsx6 from "clsx";
30
+ var SelectProperty_exports = {};
31
+ __export(SelectProperty_exports, {
32
+ SingleSelectProperty: () => SingleSelectProperty
33
+ });
34
+ module.exports = __toCommonJS(SelectProperty_exports);
35
+ var import_lucide_react3 = require("lucide-react");
36
+ var import_clsx6 = __toESM(require("clsx"));
4
37
 
5
38
  // src/localization/LanguageProvider.tsx
6
- import { createContext, useContext, useEffect as useEffect2, useState as useState2 } from "react";
39
+ var import_react2 = require("react");
7
40
 
8
41
  // src/hooks/useLocalStorage.ts
9
- import { useCallback, useEffect, useState } from "react";
42
+ var import_react = require("react");
10
43
 
11
44
  // src/localization/util.ts
12
45
  var languages = ["en", "de"];
@@ -22,12 +55,12 @@ var LanguageUtil = {
22
55
  };
23
56
 
24
57
  // src/localization/LanguageProvider.tsx
25
- import { jsx } from "react/jsx-runtime";
26
- var LanguageContext = createContext({
58
+ var import_jsx_runtime = require("react/jsx-runtime");
59
+ var LanguageContext = (0, import_react2.createContext)({
27
60
  language: LanguageUtil.DEFAULT_LANGUAGE,
28
61
  setLanguage: (v) => v
29
62
  });
30
- var useLanguage = () => useContext(LanguageContext);
63
+ var useLanguage = () => (0, import_react2.useContext)(LanguageContext);
31
64
 
32
65
  // src/localization/useTranslation.ts
33
66
  var useTranslation = (defaults, translationOverwrite = {}) => {
@@ -42,14 +75,14 @@ var useTranslation = (defaults, translationOverwrite = {}) => {
42
75
  };
43
76
 
44
77
  // src/components/user-action/Select.tsx
45
- import { Menu } from "@headlessui/react";
46
- import { ChevronDown, ChevronUp, Search } from "lucide-react";
47
- import { useEffect as useEffect5, useState as useState5 } from "react";
48
- import clsx3 from "clsx";
78
+ var import_react5 = require("@headlessui/react");
79
+ var import_lucide_react = require("lucide-react");
80
+ var import_react6 = require("react");
81
+ var import_clsx3 = __toESM(require("clsx"));
49
82
 
50
83
  // src/components/user-action/Label.tsx
51
- import clsx from "clsx";
52
- import { jsx as jsx2 } from "react/jsx-runtime";
84
+ var import_clsx = __toESM(require("clsx"));
85
+ var import_jsx_runtime2 = require("react/jsx-runtime");
53
86
  var styleMapping = {
54
87
  labelSmall: "textstyle-label-sm",
55
88
  labelMedium: "textstyle-label-md",
@@ -62,7 +95,7 @@ var Label = ({
62
95
  className,
63
96
  ...props
64
97
  }) => {
65
- return /* @__PURE__ */ jsx2("label", { ...props, className: clsx(styleMapping[labelType], className), children: children ? children : name });
98
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("label", { ...props, className: (0, import_clsx.default)(styleMapping[labelType], className), children: children ? children : name });
66
99
  };
67
100
 
68
101
  // src/util/simpleSearch.ts
@@ -74,14 +107,14 @@ var MultiSearchWithMapping = (search, objects, mapping) => {
74
107
  };
75
108
 
76
109
  // src/components/user-action/Input.tsx
77
- import { forwardRef, useEffect as useEffect4, useRef, useState as useState4 } from "react";
78
- import clsx2 from "clsx";
110
+ var import_react4 = require("react");
111
+ var import_clsx2 = __toESM(require("clsx"));
79
112
 
80
113
  // src/hooks/useSaveDelay.ts
81
- import { useEffect as useEffect3, useState as useState3 } from "react";
114
+ var import_react3 = require("react");
82
115
  function useSaveDelay(setNotificationStatus, delay) {
83
- const [updateTimer, setUpdateTimer] = useState3(void 0);
84
- const [notificationTimer, setNotificationTimer] = useState3(void 0);
116
+ const [updateTimer, setUpdateTimer] = (0, import_react3.useState)(void 0);
117
+ const [notificationTimer, setNotificationTimer] = (0, import_react3.useState)(void 0);
85
118
  const restartTimer = (onSave) => {
86
119
  clearTimeout(updateTimer);
87
120
  setUpdateTimer(setTimeout(() => {
@@ -108,7 +141,7 @@ function useSaveDelay(setNotificationStatus, delay) {
108
141
  setNotificationStatus(false);
109
142
  }
110
143
  };
111
- useEffect3(() => {
144
+ (0, import_react3.useEffect)(() => {
112
145
  return () => {
113
146
  clearTimeout(updateTimer);
114
147
  clearTimeout(notificationTimer);
@@ -121,7 +154,7 @@ function useSaveDelay(setNotificationStatus, delay) {
121
154
  var noop = () => void 0;
122
155
 
123
156
  // src/components/user-action/Input.tsx
124
- import { jsx as jsx3, jsxs } from "react/jsx-runtime";
157
+ var import_jsx_runtime3 = require("react/jsx-runtime");
125
158
  var Input = ({
126
159
  id,
127
160
  type = "text",
@@ -141,15 +174,15 @@ var Input = ({
141
174
  restartTimer,
142
175
  clearUpdateTimer
143
176
  } = useSaveDelay(() => void 0, 3e3);
144
- const ref = useRef(null);
145
- useEffect4(() => {
177
+ const ref = (0, import_react4.useRef)(null);
178
+ (0, import_react4.useEffect)(() => {
146
179
  if (autoFocus) {
147
180
  ref.current?.focus();
148
181
  }
149
182
  }, [autoFocus]);
150
- return /* @__PURE__ */ jsxs("div", { className: clsx2({ "w-full": expanded }, containerClassName), children: [
151
- label && /* @__PURE__ */ jsx3(Label, { ...label, htmlFor: id, className: clsx2("mb-1", label.className) }),
152
- /* @__PURE__ */ jsx3(
183
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: (0, import_clsx2.default)({ "w-full": expanded }, containerClassName), children: [
184
+ label && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Label, { ...label, htmlFor: id, className: (0, import_clsx2.default)("mb-1", label.className) }),
185
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
153
186
  "input",
154
187
  {
155
188
  ref,
@@ -182,7 +215,7 @@ var Input = ({
182
215
  )
183
216
  ] });
184
217
  };
185
- var FormInput = forwardRef(function FormInput2({
218
+ var FormInput = (0, import_react4.forwardRef)(function FormInput2({
186
219
  id,
187
220
  labelText,
188
221
  errorText,
@@ -193,13 +226,13 @@ var FormInput = forwardRef(function FormInput2({
193
226
  required,
194
227
  ...restProps
195
228
  }, ref) {
196
- const input = /* @__PURE__ */ jsx3(
229
+ const input = /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
197
230
  "input",
198
231
  {
199
232
  ref,
200
233
  id,
201
234
  ...restProps,
202
- className: clsx2(
235
+ className: (0, import_clsx2.default)(
203
236
  {
204
237
  "focus:border-primary focus:ring-primary": !errorText,
205
238
  "focus:border-negative focus:ring-negative text-negative": !!errorText
@@ -208,18 +241,18 @@ var FormInput = forwardRef(function FormInput2({
208
241
  )
209
242
  }
210
243
  );
211
- return /* @__PURE__ */ jsxs("div", { className: clsx2("flex flex-col gap-y-1", containerClassName), children: [
212
- labelText && /* @__PURE__ */ jsxs("label", { htmlFor: id, className: clsx2("textstyle-label-md", labelClassName), children: [
244
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: (0, import_clsx2.default)("flex flex-col gap-y-1", containerClassName), children: [
245
+ labelText && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("label", { htmlFor: id, className: (0, import_clsx2.default)("textstyle-label-md", labelClassName), children: [
213
246
  labelText,
214
- required && /* @__PURE__ */ jsx3("span", { className: "text-primary font-bold", children: "*" })
247
+ required && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "text-primary font-bold", children: "*" })
215
248
  ] }),
216
249
  input,
217
- errorText && /* @__PURE__ */ jsx3("label", { htmlFor: id, className: clsx2("text-negative", errorClassName), children: errorText })
250
+ errorText && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("label", { htmlFor: id, className: (0, import_clsx2.default)("text-negative", errorClassName), children: errorText })
218
251
  ] });
219
252
  });
220
253
 
221
254
  // src/components/user-action/Select.tsx
222
- import { Fragment, jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
255
+ var import_jsx_runtime4 = require("react/jsx-runtime");
223
256
  var Select = ({
224
257
  value,
225
258
  label,
@@ -244,13 +277,13 @@ var Select = ({
244
277
  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");
245
278
  }
246
279
  const borderColor = "border-menu-border";
247
- return /* @__PURE__ */ jsxs2("div", { className: clsx3(className), children: [
248
- label && /* @__PURE__ */ jsx4(Label, { ...label, labelType: label.labelType ?? "labelBig", className: clsx3("mb-1", label.className) }),
249
- /* @__PURE__ */ jsx4(Menu, { as: "div", className: "relative text-menu-text", children: ({ open }) => /* @__PURE__ */ jsxs2(Fragment, { children: [
250
- /* @__PURE__ */ jsxs2(
251
- Menu.Button,
280
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: (0, import_clsx3.default)(className), children: [
281
+ label && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Label, { ...label, labelType: label.labelType ?? "labelBig", className: (0, import_clsx3.default)("mb-1", label.className) }),
282
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react5.Menu, { as: "div", className: "relative text-menu-text", children: ({ open }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
283
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
284
+ import_react5.Menu.Button,
252
285
  {
253
- className: clsx3(
286
+ className: (0, import_clsx3.default)(
254
287
  "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",
255
288
  textColor,
256
289
  borderColor,
@@ -262,30 +295,30 @@ var Select = ({
262
295
  ),
263
296
  disabled: isDisabled,
264
297
  children: [
265
- /* @__PURE__ */ jsx4("span", { children: selectedDisplayOverwrite ?? selectedOption?.label ?? hintText }),
266
- open ? /* @__PURE__ */ jsx4(ChevronUp, {}) : /* @__PURE__ */ jsx4(ChevronDown, {})
298
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { children: selectedDisplayOverwrite ?? selectedOption?.label ?? hintText }),
299
+ open ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react.ChevronUp, {}) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react.ChevronDown, {})
267
300
  ]
268
301
  }
269
302
  ),
270
- /* @__PURE__ */ jsxs2(
271
- Menu.Items,
303
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
304
+ import_react5.Menu.Items,
272
305
  {
273
306
  className: "absolute w-full z-10 rounded-b-lg bg-menu-background text-menu-text shadow-lg max-h-[500px] overflow-y-auto",
274
307
  children: [
275
- (additionalItems ?? []).map((item, index) => /* @__PURE__ */ jsx4(
308
+ (additionalItems ?? []).map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
276
309
  "div",
277
310
  {
278
- className: clsx3(borderColor, "px-4 py-2 overflow-hidden whitespace-nowrap text-ellipsis border-2 border-t-0", {
311
+ className: (0, import_clsx3.default)(borderColor, "px-4 py-2 overflow-hidden whitespace-nowrap text-ellipsis border-2 border-t-0", {
279
312
  "border-b-0 rounded-b-lg": filteredOptions.length === 0 && index === (additionalItems?.length ?? 1) - 1
280
313
  }),
281
314
  children: item
282
315
  },
283
316
  `additionalItems${index}`
284
317
  )),
285
- filteredOptions.map((option, index) => /* @__PURE__ */ jsx4(Menu.Item, { children: /* @__PURE__ */ jsx4(
318
+ filteredOptions.map((option, index) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react5.Menu.Item, { children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
286
319
  "div",
287
320
  {
288
- className: clsx3(
321
+ className: (0, import_clsx3.default)(
289
322
  "px-4 py-2 overflow-hidden whitespace-nowrap text-ellipsis border-2 border-t-0 cursor-pointer",
290
323
  option.className,
291
324
  borderColor,
@@ -317,16 +350,16 @@ var SearchableSelect = ({
317
350
  searchMapping,
318
351
  ...selectProps
319
352
  }) => {
320
- const [search, setSearch] = useState5("");
353
+ const [search, setSearch] = (0, import_react6.useState)("");
321
354
  const filteredOptions = MultiSearchWithMapping(search, options, searchMapping);
322
- return /* @__PURE__ */ jsx4(
355
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
323
356
  Select,
324
357
  {
325
358
  value,
326
359
  options: filteredOptions,
327
- additionalItems: [/* @__PURE__ */ jsxs2("div", { className: "row gap-x-2 items-center", children: [
328
- /* @__PURE__ */ jsx4(Input, { autoFocus: true, value: search, onChangeText: setSearch }),
329
- /* @__PURE__ */ jsx4(Search, {})
360
+ additionalItems: [/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "row gap-x-2 items-center", children: [
361
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Input, { autoFocus: true, value: search, onChangeText: setSearch }),
362
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react.Search, {})
330
363
  ] }, "selectSearch")],
331
364
  ...selectProps
332
365
  }
@@ -334,12 +367,12 @@ var SearchableSelect = ({
334
367
  };
335
368
 
336
369
  // src/components/properties/PropertyBase.tsx
337
- import { AlertTriangle } from "lucide-react";
338
- import clsx5 from "clsx";
370
+ var import_lucide_react2 = require("lucide-react");
371
+ var import_clsx5 = __toESM(require("clsx"));
339
372
 
340
373
  // src/components/user-action/Button.tsx
341
- import clsx4 from "clsx";
342
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
374
+ var import_clsx4 = __toESM(require("clsx"));
375
+ var import_jsx_runtime5 = require("react/jsx-runtime");
343
376
  var paddingMapping = {
344
377
  small: "btn-sm",
345
378
  medium: "btn-md",
@@ -375,25 +408,25 @@ var TextButton = ({
375
408
  negative: "text-button-text-negative-icon",
376
409
  neutral: "text-button-text-neutral-icon"
377
410
  }[color];
378
- return /* @__PURE__ */ jsxs3(
411
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
379
412
  "button",
380
413
  {
381
414
  onClick: disabled ? void 0 : onClick,
382
415
  disabled: disabled || onClick === void 0,
383
- className: clsx4(
416
+ className: (0, import_clsx4.default)(
384
417
  {
385
418
  "text-disabled-text cursor-not-allowed": disabled,
386
- [clsx4(colorClasses, "hover:bg-button-text-hover-background rounded-full")]: !disabled
419
+ [(0, import_clsx4.default)(colorClasses, "hover:bg-button-text-hover-background rounded-full")]: !disabled
387
420
  },
388
421
  ButtonUtil.paddingMapping[size],
389
422
  className
390
423
  ),
391
424
  ...restProps,
392
425
  children: [
393
- startIcon && /* @__PURE__ */ jsx5(
426
+ startIcon && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
394
427
  "span",
395
428
  {
396
- className: clsx4({
429
+ className: (0, import_clsx4.default)({
397
430
  [iconColorClasses]: !disabled,
398
431
  [`text-disabled-icon`]: disabled
399
432
  }),
@@ -401,10 +434,10 @@ var TextButton = ({
401
434
  }
402
435
  ),
403
436
  children,
404
- endIcon && /* @__PURE__ */ jsx5(
437
+ endIcon && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
405
438
  "span",
406
439
  {
407
- className: clsx4({
440
+ className: (0, import_clsx4.default)({
408
441
  [iconColorClasses]: !disabled,
409
442
  [`text-disabled-icon`]: disabled
410
443
  }),
@@ -417,7 +450,7 @@ var TextButton = ({
417
450
  };
418
451
 
419
452
  // src/components/properties/PropertyBase.tsx
420
- import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
453
+ var import_jsx_runtime6 = require("react/jsx-runtime");
421
454
  var defaultPropertyBaseTranslation = {
422
455
  en: {
423
456
  remove: "Remove"
@@ -439,11 +472,11 @@ var PropertyBase = ({
439
472
  }) => {
440
473
  const translation = useTranslation(defaultPropertyBaseTranslation, overwriteTranslation);
441
474
  const requiredAndNoValue = softRequired && !hasValue;
442
- return /* @__PURE__ */ jsxs4("div", { className: clsx5("row gap-x-0 group", className), children: [
443
- /* @__PURE__ */ jsxs4(
475
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: (0, import_clsx5.default)("row gap-x-0 group", className), children: [
476
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
444
477
  "div",
445
478
  {
446
- className: clsx5("row gap-x-2 !w-[200px] px-4 py-2 items-center rounded-l-xl border-2 border-r-0", {
479
+ className: (0, import_clsx5.default)("row gap-x-2 !w-[200px] px-4 py-2 items-center rounded-l-xl border-2 border-r-0", {
447
480
  "bg-gray-100 text-black group-hover:border-primary border-gray-400": !requiredAndNoValue,
448
481
  "bg-warning text-surface-warning group-hover:border-warning border-warning/90": requiredAndNoValue
449
482
  }, className),
@@ -453,22 +486,22 @@ var PropertyBase = ({
453
486
  ]
454
487
  }
455
488
  ),
456
- /* @__PURE__ */ jsxs4(
489
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
457
490
  "div",
458
491
  {
459
- className: clsx5("row grow justify-between items-center rounded-r-xl border-2 border-l-0", {
492
+ className: (0, import_clsx5.default)("row grow justify-between items-center rounded-r-xl border-2 border-l-0", {
460
493
  "bg-white group-hover:border-primary border-gray-400": !requiredAndNoValue,
461
494
  "bg-surface-warning group-hover:border-warning border-warning/90": requiredAndNoValue
462
495
  }, className),
463
496
  children: [
464
497
  input({ softRequired, hasValue }),
465
- requiredAndNoValue && /* @__PURE__ */ jsx6("div", { className: "text-warning pr-4", children: /* @__PURE__ */ jsx6(AlertTriangle, { size: 24 }) }),
466
- onRemove && /* @__PURE__ */ jsx6(
498
+ requiredAndNoValue && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "text-warning pr-4", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_lucide_react2.AlertTriangle, { size: 24 }) }),
499
+ onRemove && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
467
500
  TextButton,
468
501
  {
469
502
  onClick: onRemove,
470
503
  color: "negative",
471
- className: clsx5("pr-4 items-center", { "!text-transparent": !hasValue || readOnly }),
504
+ className: (0, import_clsx5.default)("pr-4 items-center", { "!text-transparent": !hasValue || readOnly }),
472
505
  disabled: !hasValue || readOnly,
473
506
  children: translation.remove
474
507
  }
@@ -480,7 +513,7 @@ var PropertyBase = ({
480
513
  };
481
514
 
482
515
  // src/components/properties/SelectProperty.tsx
483
- import { jsx as jsx7 } from "react/jsx-runtime";
516
+ var import_jsx_runtime7 = require("react/jsx-runtime");
484
517
  var defaultSingleSelectPropertyTranslation = {
485
518
  en: {
486
519
  select: "Select"
@@ -501,7 +534,7 @@ var SingleSelectProperty = ({
501
534
  }) => {
502
535
  const translation = useTranslation(defaultSingleSelectPropertyTranslation, overwriteTranslation);
503
536
  const hasValue = value !== void 0;
504
- return /* @__PURE__ */ jsx7(
537
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
505
538
  PropertyBase,
506
539
  {
507
540
  name,
@@ -509,19 +542,19 @@ var SingleSelectProperty = ({
509
542
  readOnly,
510
543
  softRequired,
511
544
  hasValue,
512
- icon: /* @__PURE__ */ jsx7(List, { size: 16 }),
513
- input: ({ softRequired: softRequired2 }) => /* @__PURE__ */ jsx7(
545
+ icon: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_lucide_react3.List, { size: 16 }),
546
+ input: ({ softRequired: softRequired2 }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
514
547
  "div",
515
548
  {
516
- className: clsx6("row grow py-2 px-4 cursor-pointer", { "text-warning": softRequired2 && !hasValue }),
517
- children: /* @__PURE__ */ jsx7(
549
+ className: (0, import_clsx6.default)("row grow py-2 px-4 cursor-pointer", { "text-warning": softRequired2 && !hasValue }),
550
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
518
551
  SearchableSelect,
519
552
  {
520
553
  ...multiSelectProps,
521
554
  value,
522
555
  options,
523
556
  isDisabled: readOnly,
524
- className: clsx6("w-full", { "bg-surface-warning": softRequired2 && !hasValue }),
557
+ className: (0, import_clsx6.default)("w-full", { "bg-surface-warning": softRequired2 && !hasValue }),
525
558
  hintText: `${translation.select}...`
526
559
  }
527
560
  )
@@ -530,7 +563,8 @@ var SingleSelectProperty = ({
530
563
  }
531
564
  );
532
565
  };
533
- export {
566
+ // Annotate the CommonJS export names for ESM import in node:
567
+ 0 && (module.exports = {
534
568
  SingleSelectProperty
535
- };
569
+ });
536
570
  //# sourceMappingURL=SelectProperty.js.map