@helpwave/hightide 0.1.6 → 0.1.7

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 (502) 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 +119 -83
  16. package/dist/components/date/DatePicker.js.map +1 -1
  17. package/dist/components/date/{DatePicker.cjs → DatePicker.mjs} +85 -120
  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 +73 -38
  36. package/dist/components/date/YearMonthPicker.js.map +1 -1
  37. package/dist/components/date/{YearMonthPicker.cjs → YearMonthPicker.mjs} +39 -75
  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} +3 -3
  112. package/dist/components/layout-and-navigation/StepperBar.d.ts +1 -1
  113. package/dist/components/layout-and-navigation/StepperBar.js +69 -34
  114. package/dist/components/layout-and-navigation/StepperBar.js.map +1 -1
  115. package/dist/components/layout-and-navigation/{StepperBar.cjs → StepperBar.mjs} +35 -71
  116. package/dist/components/layout-and-navigation/StepperBar.mjs.map +1 -0
  117. package/dist/components/layout-and-navigation/{Table.d.cts → Table.d.mts} +4 -4
  118. package/dist/components/layout-and-navigation/Table.d.ts +3 -3
  119. package/dist/components/layout-and-navigation/Table.js +111 -68
  120. package/dist/components/layout-and-navigation/Table.js.map +1 -1
  121. package/dist/components/layout-and-navigation/{Table.cjs → Table.mjs} +69 -113
  122. package/dist/components/layout-and-navigation/Table.mjs.map +1 -0
  123. package/dist/components/layout-and-navigation/{TextImage.d.cts → TextImage.d.mts} +2 -2
  124. package/dist/components/layout-and-navigation/TextImage.js +54 -18
  125. package/dist/components/layout-and-navigation/TextImage.js.map +1 -1
  126. package/dist/components/layout-and-navigation/TextImage.mjs +101 -0
  127. package/dist/components/layout-and-navigation/TextImage.mjs.map +1 -0
  128. package/dist/components/layout-and-navigation/Tile.js +42 -8
  129. package/dist/components/layout-and-navigation/Tile.js.map +1 -1
  130. package/dist/components/layout-and-navigation/Tile.mjs +23 -0
  131. package/dist/components/layout-and-navigation/{Tile.cjs.map → Tile.mjs.map} +1 -1
  132. package/dist/components/layout-and-navigation/VerticalDivider.js +33 -9
  133. package/dist/components/layout-and-navigation/VerticalDivider.js.map +1 -1
  134. package/dist/components/layout-and-navigation/VerticalDivider.mjs +56 -0
  135. package/dist/components/layout-and-navigation/{VerticalDivider.cjs.map → VerticalDivider.mjs.map} +1 -1
  136. package/dist/components/loading-states/{ErrorComponent.d.cts → ErrorComponent.d.mts} +2 -2
  137. package/dist/components/loading-states/ErrorComponent.js +46 -12
  138. package/dist/components/loading-states/ErrorComponent.js.map +1 -1
  139. package/dist/components/loading-states/ErrorComponent.mjs +68 -0
  140. package/dist/components/loading-states/ErrorComponent.mjs.map +1 -0
  141. package/dist/components/loading-states/{LoadingAndErrorComponent.d.cts → LoadingAndErrorComponent.d.mts} +5 -5
  142. package/dist/components/loading-states/LoadingAndErrorComponent.d.ts +1 -1
  143. package/dist/components/loading-states/LoadingAndErrorComponent.js +68 -34
  144. package/dist/components/loading-states/LoadingAndErrorComponent.js.map +1 -1
  145. package/dist/components/loading-states/LoadingAndErrorComponent.mjs +194 -0
  146. package/dist/components/loading-states/LoadingAndErrorComponent.mjs.map +1 -0
  147. package/dist/components/loading-states/{LoadingAnimation.d.cts → LoadingAnimation.d.mts} +2 -2
  148. package/dist/components/loading-states/LoadingAnimation.js +59 -23
  149. package/dist/components/loading-states/LoadingAnimation.js.map +1 -1
  150. package/dist/components/loading-states/LoadingAnimation.mjs +139 -0
  151. package/dist/components/loading-states/LoadingAnimation.mjs.map +1 -0
  152. package/dist/components/loading-states/{LoadingButton.d.cts → LoadingButton.d.mts} +1 -1
  153. package/dist/components/loading-states/LoadingButton.js +62 -28
  154. package/dist/components/loading-states/LoadingButton.js.map +1 -1
  155. package/dist/components/loading-states/{LoadingButton.cjs → LoadingButton.mjs} +29 -64
  156. package/dist/components/loading-states/LoadingButton.mjs.map +1 -0
  157. package/dist/components/loading-states/ProgressIndicator.js +30 -6
  158. package/dist/components/loading-states/ProgressIndicator.js.map +1 -1
  159. package/dist/components/loading-states/ProgressIndicator.mjs +59 -0
  160. package/dist/components/loading-states/{ProgressIndicator.cjs.map → ProgressIndicator.mjs.map} +1 -1
  161. package/dist/components/modals/{ConfirmModal.d.cts → ConfirmModal.d.mts} +4 -4
  162. package/dist/components/modals/ConfirmModal.js +99 -63
  163. package/dist/components/modals/ConfirmModal.js.map +1 -1
  164. package/dist/components/modals/{ConfirmModal.cjs → ConfirmModal.mjs} +64 -101
  165. package/dist/components/modals/ConfirmModal.mjs.map +1 -0
  166. package/dist/components/modals/{DiscardChangesModal.d.cts → DiscardChangesModal.d.mts} +5 -5
  167. package/dist/components/modals/DiscardChangesModal.js +101 -65
  168. package/dist/components/modals/DiscardChangesModal.js.map +1 -1
  169. package/dist/components/modals/{DiscardChangesModal.cjs → DiscardChangesModal.mjs} +66 -103
  170. package/dist/components/modals/DiscardChangesModal.mjs.map +1 -0
  171. package/dist/components/modals/{InputModal.d.cts → InputModal.d.mts} +7 -7
  172. package/dist/components/modals/InputModal.js +124 -88
  173. package/dist/components/modals/InputModal.js.map +1 -1
  174. package/dist/components/modals/{InputModal.cjs → InputModal.mjs} +89 -126
  175. package/dist/components/modals/InputModal.mjs.map +1 -0
  176. package/dist/components/modals/{LanguageModal.d.cts → LanguageModal.d.mts} +3 -3
  177. package/dist/components/modals/LanguageModal.js +130 -95
  178. package/dist/components/modals/LanguageModal.js.map +1 -1
  179. package/dist/components/modals/{LanguageModal.cjs → LanguageModal.mjs} +95 -133
  180. package/dist/components/modals/LanguageModal.mjs.map +1 -0
  181. package/dist/components/modals/{ThemeModal.d.cts → ThemeModal.d.mts} +4 -4
  182. package/dist/components/modals/ThemeModal.js +134 -99
  183. package/dist/components/modals/ThemeModal.js.map +1 -1
  184. package/dist/components/modals/{ThemeModal.cjs → ThemeModal.mjs} +99 -137
  185. package/dist/components/modals/ThemeModal.mjs.map +1 -0
  186. package/dist/components/properties/{CheckboxProperty.d.cts → CheckboxProperty.d.mts} +3 -3
  187. package/dist/components/properties/CheckboxProperty.js +87 -53
  188. package/dist/components/properties/CheckboxProperty.js.map +1 -1
  189. package/dist/components/properties/{CheckboxProperty.cjs → CheckboxProperty.mjs} +54 -89
  190. package/dist/components/properties/CheckboxProperty.mjs.map +1 -0
  191. package/dist/components/properties/{DateProperty.d.cts → DateProperty.d.mts} +3 -3
  192. package/dist/components/properties/DateProperty.js +94 -60
  193. package/dist/components/properties/DateProperty.js.map +1 -1
  194. package/dist/components/properties/{DateProperty.cjs → DateProperty.mjs} +61 -96
  195. package/dist/components/properties/DateProperty.mjs.map +1 -0
  196. package/dist/components/properties/{MultiSelectProperty.d.cts → MultiSelectProperty.d.mts} +5 -5
  197. package/dist/components/properties/MultiSelectProperty.js +157 -123
  198. package/dist/components/properties/MultiSelectProperty.js.map +1 -1
  199. package/dist/components/properties/{MultiSelectProperty.cjs → MultiSelectProperty.mjs} +124 -159
  200. package/dist/components/properties/MultiSelectProperty.mjs.map +1 -0
  201. package/dist/components/properties/{NumberProperty.d.cts → NumberProperty.d.mts} +3 -3
  202. package/dist/components/properties/NumberProperty.js +95 -61
  203. package/dist/components/properties/NumberProperty.js.map +1 -1
  204. package/dist/components/properties/{NumberProperty.cjs → NumberProperty.mjs} +62 -97
  205. package/dist/components/properties/NumberProperty.mjs.map +1 -0
  206. package/dist/components/properties/{PropertyBase.d.cts → PropertyBase.d.mts} +2 -2
  207. package/dist/components/properties/PropertyBase.js +63 -29
  208. package/dist/components/properties/PropertyBase.js.map +1 -1
  209. package/dist/components/properties/PropertyBase.mjs +188 -0
  210. package/dist/components/properties/PropertyBase.mjs.map +1 -0
  211. package/dist/components/properties/{SelectProperty.d.cts → SelectProperty.d.mts} +5 -5
  212. package/dist/components/properties/SelectProperty.js +119 -86
  213. package/dist/components/properties/SelectProperty.js.map +1 -1
  214. package/dist/components/properties/{SelectProperty.cjs → SelectProperty.mjs} +86 -122
  215. package/dist/components/properties/SelectProperty.mjs.map +1 -0
  216. package/dist/components/properties/{TextProperty.d.cts → TextProperty.d.mts} +3 -3
  217. package/dist/components/properties/TextProperty.js +92 -58
  218. package/dist/components/properties/TextProperty.js.map +1 -1
  219. package/dist/components/properties/{TextProperty.cjs → TextProperty.mjs} +59 -94
  220. package/dist/components/properties/TextProperty.mjs.map +1 -0
  221. package/dist/components/user-action/Button.js +67 -28
  222. package/dist/components/user-action/Button.js.map +1 -1
  223. package/dist/components/user-action/{Button.cjs → Button.mjs} +29 -69
  224. package/dist/components/user-action/{Button.cjs.map → Button.mjs.map} +1 -1
  225. package/dist/components/user-action/{Checkbox.d.cts → Checkbox.d.mts} +1 -1
  226. package/dist/components/user-action/Checkbox.js +58 -23
  227. package/dist/components/user-action/Checkbox.js.map +1 -1
  228. package/dist/components/user-action/Checkbox.mjs +122 -0
  229. package/dist/components/user-action/Checkbox.mjs.map +1 -0
  230. package/dist/components/user-action/{DateAndTimePicker.d.cts → DateAndTimePicker.d.mts} +7 -7
  231. package/dist/components/user-action/DateAndTimePicker.js +142 -107
  232. package/dist/components/user-action/DateAndTimePicker.js.map +1 -1
  233. package/dist/components/user-action/{DateAndTimePicker.cjs → DateAndTimePicker.mjs} +109 -143
  234. package/dist/components/user-action/DateAndTimePicker.mjs.map +1 -0
  235. package/dist/components/user-action/{Input.d.cts → Input.d.mts} +1 -1
  236. package/dist/components/user-action/Input.js +62 -26
  237. package/dist/components/user-action/Input.js.map +1 -1
  238. package/dist/components/user-action/Input.mjs +186 -0
  239. package/dist/components/user-action/Input.mjs.map +1 -0
  240. package/dist/components/user-action/Label.js +39 -5
  241. package/dist/components/user-action/Label.js.map +1 -1
  242. package/dist/components/user-action/Label.mjs +21 -0
  243. package/dist/components/user-action/{Label.cjs.map → Label.mjs.map} +1 -1
  244. package/dist/components/user-action/Menu.js +54 -19
  245. package/dist/components/user-action/Menu.js.map +1 -1
  246. package/dist/components/user-action/Menu.mjs +127 -0
  247. package/dist/components/user-action/Menu.mjs.map +1 -0
  248. package/dist/components/user-action/{MultiSelect.d.cts → MultiSelect.d.mts} +3 -3
  249. package/dist/components/user-action/MultiSelect.js +118 -84
  250. package/dist/components/user-action/MultiSelect.js.map +1 -1
  251. package/dist/components/user-action/{MultiSelect.cjs → MultiSelect.mjs} +85 -120
  252. package/dist/components/user-action/MultiSelect.mjs.map +1 -0
  253. package/dist/components/user-action/ScrollPicker.js +50 -16
  254. package/dist/components/user-action/ScrollPicker.js.map +1 -1
  255. package/dist/components/user-action/{ScrollPicker.cjs → ScrollPicker.mjs} +17 -52
  256. package/dist/components/user-action/ScrollPicker.mjs.map +1 -0
  257. package/dist/components/user-action/{Select.d.cts → Select.d.mts} +2 -2
  258. package/dist/components/user-action/Select.d.ts +1 -1
  259. package/dist/components/user-action/Select.js +88 -53
  260. package/dist/components/user-action/Select.js.map +1 -1
  261. package/dist/components/user-action/{Select.cjs → Select.mjs} +53 -91
  262. package/dist/components/user-action/Select.mjs.map +1 -0
  263. package/dist/components/user-action/{Textarea.d.cts → Textarea.d.mts} +1 -1
  264. package/dist/components/user-action/Textarea.js +60 -25
  265. package/dist/components/user-action/Textarea.js.map +1 -1
  266. package/dist/components/user-action/Textarea.mjs +163 -0
  267. package/dist/components/user-action/Textarea.mjs.map +1 -0
  268. package/dist/components/user-action/ToggleableInput.js +61 -26
  269. package/dist/components/user-action/ToggleableInput.js.map +1 -1
  270. package/dist/components/user-action/ToggleableInput.mjs +156 -0
  271. package/dist/components/user-action/ToggleableInput.mjs.map +1 -0
  272. package/dist/components/user-action/Tooltip.js +41 -15
  273. package/dist/components/user-action/Tooltip.js.map +1 -1
  274. package/dist/components/user-action/{Tooltip.cjs → Tooltip.mjs} +16 -43
  275. package/dist/components/user-action/Tooltip.mjs.map +1 -0
  276. package/dist/css/globals.css +33 -24
  277. package/dist/css/uncompiled/globals.css +19 -7
  278. package/dist/hooks/useHoverState.js +31 -7
  279. package/dist/hooks/useHoverState.js.map +1 -1
  280. package/dist/hooks/useHoverState.mjs +47 -0
  281. package/dist/hooks/{useHoverState.cjs.map → useHoverState.mjs.map} +1 -1
  282. package/dist/hooks/useLocalStorage.js +31 -7
  283. package/dist/hooks/useLocalStorage.js.map +1 -1
  284. package/dist/hooks/useLocalStorage.mjs +58 -0
  285. package/dist/hooks/{useLocalStorage.cjs.map → useLocalStorage.mjs.map} +1 -1
  286. package/dist/hooks/useOutsideClick.js +28 -4
  287. package/dist/hooks/useOutsideClick.js.map +1 -1
  288. package/dist/hooks/useOutsideClick.mjs +23 -0
  289. package/dist/hooks/{useOutsideClick.cjs.map → useOutsideClick.mjs.map} +1 -1
  290. package/dist/hooks/useSaveDelay.js +30 -6
  291. package/dist/hooks/useSaveDelay.js.map +1 -1
  292. package/dist/hooks/useSaveDelay.mjs +43 -0
  293. package/dist/hooks/{useSaveDelay.cjs.map → useSaveDelay.mjs.map} +1 -1
  294. package/dist/{index.d.cts → index.d.mts} +78 -78
  295. package/dist/index.js +1038 -885
  296. package/dist/index.js.map +1 -1
  297. package/dist/{index.cjs → index.mjs} +886 -1038
  298. package/dist/index.mjs.map +1 -0
  299. package/dist/localization/{LanguageProvider.d.cts → LanguageProvider.d.mts} +1 -1
  300. package/dist/localization/LanguageProvider.js +43 -16
  301. package/dist/localization/LanguageProvider.js.map +1 -1
  302. package/dist/localization/{LanguageProvider.cjs → LanguageProvider.mjs} +17 -45
  303. package/dist/localization/LanguageProvider.mjs.map +1 -0
  304. package/dist/localization/{useTranslation.d.cts → useTranslation.d.mts} +1 -1
  305. package/dist/localization/useTranslation.js +33 -7
  306. package/dist/localization/useTranslation.js.map +1 -1
  307. package/dist/localization/useTranslation.mjs +42 -0
  308. package/dist/localization/useTranslation.mjs.map +1 -0
  309. package/dist/localization/util.js +26 -2
  310. package/dist/localization/util.js.map +1 -1
  311. package/dist/localization/util.mjs +16 -0
  312. package/dist/localization/{util.cjs.map → util.mjs.map} +1 -1
  313. package/dist/theming/{useTheme.d.cts → useTheme.d.mts} +2 -2
  314. package/dist/theming/useTheme.js +37 -10
  315. package/dist/theming/useTheme.js.map +1 -1
  316. package/dist/theming/useTheme.mjs +48 -0
  317. package/dist/theming/useTheme.mjs.map +1 -0
  318. package/dist/util/array.js +32 -2
  319. package/dist/util/array.js.map +1 -1
  320. package/dist/util/{array.cjs → array.mjs} +3 -34
  321. package/dist/util/{array.cjs.map → array.mjs.map} +1 -1
  322. package/dist/util/builder.js +26 -2
  323. package/dist/util/builder.js.map +1 -1
  324. package/dist/util/builder.mjs +9 -0
  325. package/dist/util/{builder.cjs.map → builder.mjs.map} +1 -1
  326. package/dist/util/date.js +39 -2
  327. package/dist/util/date.js.map +1 -1
  328. package/dist/util/{date.cjs → date.mjs} +3 -41
  329. package/dist/util/date.mjs.map +1 -0
  330. package/dist/util/easeFunctions.js +28 -2
  331. package/dist/util/easeFunctions.js.map +1 -1
  332. package/dist/util/easeFunctions.mjs +36 -0
  333. package/dist/util/easeFunctions.mjs.map +1 -0
  334. package/dist/util/emailValidation.js +26 -2
  335. package/dist/util/emailValidation.js.map +1 -1
  336. package/dist/util/emailValidation.mjs +8 -0
  337. package/dist/util/{emailValidation.cjs.map → emailValidation.mjs.map} +1 -1
  338. package/dist/util/loopingArray.js +26 -2
  339. package/dist/util/loopingArray.js.map +1 -1
  340. package/dist/util/{loopingArray.cjs → loopingArray.mjs} +3 -28
  341. package/dist/util/{loopingArray.cjs.map → loopingArray.mjs.map} +1 -1
  342. package/dist/util/math.js +26 -2
  343. package/dist/util/math.js.map +1 -1
  344. package/dist/util/math.mjs +8 -0
  345. package/dist/util/{math.cjs.map → math.mjs.map} +1 -1
  346. package/dist/util/news.d.mts +101 -0
  347. package/dist/util/news.d.ts +54 -54
  348. package/dist/util/news.js +39 -12
  349. package/dist/util/news.js.map +1 -1
  350. package/dist/util/news.mjs +49 -0
  351. package/dist/util/news.mjs.map +1 -0
  352. package/dist/util/noop.d.mts +3 -0
  353. package/dist/util/noop.d.ts +1 -1
  354. package/dist/util/noop.js +26 -2
  355. package/dist/util/noop.js.map +1 -1
  356. package/dist/util/noop.mjs +6 -0
  357. package/dist/util/noop.mjs.map +1 -0
  358. package/dist/util/simpleSearch.js +29 -2
  359. package/dist/util/simpleSearch.js.map +1 -1
  360. package/dist/util/simpleSearch.mjs +26 -0
  361. package/dist/util/{simpleSearch.cjs.map → simpleSearch.mjs.map} +1 -1
  362. package/dist/util/storage.js +27 -2
  363. package/dist/util/storage.js.map +1 -1
  364. package/dist/util/storage.mjs +38 -0
  365. package/dist/util/{storage.cjs.map → storage.mjs.map} +1 -1
  366. package/dist/util/types.js +17 -0
  367. package/dist/util/types.js.map +1 -1
  368. package/dist/util/types.mjs +1 -0
  369. package/dist/util/types.mjs.map +1 -0
  370. package/package.json +5 -7
  371. package/dist/coloring/shading.cjs +0 -3402
  372. package/dist/coloring/shading.cjs.map +0 -1
  373. package/dist/coloring/types.cjs +0 -31
  374. package/dist/components/branding/HelpwaveBadge.cjs +0 -157
  375. package/dist/components/branding/HelpwaveBadge.cjs.map +0 -1
  376. package/dist/components/date/DatePicker.cjs.map +0 -1
  377. package/dist/components/date/DayPicker.cjs.map +0 -1
  378. package/dist/components/date/TimeDisplay.cjs.map +0 -1
  379. package/dist/components/date/TimePicker.cjs.map +0 -1
  380. package/dist/components/date/YearMonthPicker.cjs.map +0 -1
  381. package/dist/components/dialogs/ConfirmDialog.cjs.map +0 -1
  382. package/dist/components/icons-and-geometry/Avatar.cjs +0 -119
  383. package/dist/components/icons-and-geometry/Circle.cjs +0 -62
  384. package/dist/components/icons-and-geometry/Helpwave.cjs +0 -100
  385. package/dist/components/icons-and-geometry/Tag.cjs +0 -47
  386. package/dist/components/layout-and-navigation/Chip.cjs +0 -105
  387. package/dist/components/layout-and-navigation/DividerInserter.cjs +0 -60
  388. package/dist/components/layout-and-navigation/Expandable.cjs +0 -117
  389. package/dist/components/layout-and-navigation/Expandable.cjs.map +0 -1
  390. package/dist/components/layout-and-navigation/FAQSection.cjs.map +0 -1
  391. package/dist/components/layout-and-navigation/Overlay.cjs.map +0 -1
  392. package/dist/components/layout-and-navigation/Pagination.cjs +0 -117
  393. package/dist/components/layout-and-navigation/Pagination.cjs.map +0 -1
  394. package/dist/components/layout-and-navigation/SearchableList.cjs +0 -287
  395. package/dist/components/layout-and-navigation/SearchableList.cjs.map +0 -1
  396. package/dist/components/layout-and-navigation/StepperBar.cjs.map +0 -1
  397. package/dist/components/layout-and-navigation/Table.cjs.map +0 -1
  398. package/dist/components/layout-and-navigation/TextImage.cjs +0 -138
  399. package/dist/components/layout-and-navigation/TextImage.cjs.map +0 -1
  400. package/dist/components/layout-and-navigation/Tile.cjs +0 -58
  401. package/dist/components/layout-and-navigation/VerticalDivider.cjs +0 -81
  402. package/dist/components/loading-states/ErrorComponent.cjs +0 -103
  403. package/dist/components/loading-states/ErrorComponent.cjs.map +0 -1
  404. package/dist/components/loading-states/LoadingAndErrorComponent.cjs +0 -229
  405. package/dist/components/loading-states/LoadingAndErrorComponent.cjs.map +0 -1
  406. package/dist/components/loading-states/LoadingAnimation.cjs +0 -176
  407. package/dist/components/loading-states/LoadingAnimation.cjs.map +0 -1
  408. package/dist/components/loading-states/LoadingButton.cjs.map +0 -1
  409. package/dist/components/loading-states/ProgressIndicator.cjs +0 -84
  410. package/dist/components/modals/ConfirmModal.cjs.map +0 -1
  411. package/dist/components/modals/DiscardChangesModal.cjs.map +0 -1
  412. package/dist/components/modals/InputModal.cjs.map +0 -1
  413. package/dist/components/modals/LanguageModal.cjs.map +0 -1
  414. package/dist/components/modals/ThemeModal.cjs.map +0 -1
  415. package/dist/components/properties/CheckboxProperty.cjs.map +0 -1
  416. package/dist/components/properties/DateProperty.cjs.map +0 -1
  417. package/dist/components/properties/MultiSelectProperty.cjs.map +0 -1
  418. package/dist/components/properties/NumberProperty.cjs.map +0 -1
  419. package/dist/components/properties/PropertyBase.cjs +0 -223
  420. package/dist/components/properties/PropertyBase.cjs.map +0 -1
  421. package/dist/components/properties/SelectProperty.cjs.map +0 -1
  422. package/dist/components/properties/TextProperty.cjs.map +0 -1
  423. package/dist/components/user-action/Checkbox.cjs +0 -158
  424. package/dist/components/user-action/Checkbox.cjs.map +0 -1
  425. package/dist/components/user-action/DateAndTimePicker.cjs.map +0 -1
  426. package/dist/components/user-action/Input.cjs +0 -223
  427. package/dist/components/user-action/Input.cjs.map +0 -1
  428. package/dist/components/user-action/Label.cjs +0 -56
  429. package/dist/components/user-action/Menu.cjs +0 -163
  430. package/dist/components/user-action/Menu.cjs.map +0 -1
  431. package/dist/components/user-action/MultiSelect.cjs.map +0 -1
  432. package/dist/components/user-action/ScrollPicker.cjs.map +0 -1
  433. package/dist/components/user-action/Select.cjs.map +0 -1
  434. package/dist/components/user-action/Textarea.cjs +0 -199
  435. package/dist/components/user-action/Textarea.cjs.map +0 -1
  436. package/dist/components/user-action/ToggleableInput.cjs +0 -192
  437. package/dist/components/user-action/ToggleableInput.cjs.map +0 -1
  438. package/dist/components/user-action/Tooltip.cjs.map +0 -1
  439. package/dist/hooks/useHoverState.cjs +0 -72
  440. package/dist/hooks/useLocalStorage.cjs +0 -83
  441. package/dist/hooks/useOutsideClick.cjs +0 -48
  442. package/dist/hooks/useSaveDelay.cjs +0 -68
  443. package/dist/index.cjs.map +0 -1
  444. package/dist/localization/LanguageProvider.cjs.map +0 -1
  445. package/dist/localization/useTranslation.cjs +0 -69
  446. package/dist/localization/useTranslation.cjs.map +0 -1
  447. package/dist/localization/util.cjs +0 -41
  448. package/dist/theming/useTheme.cjs +0 -76
  449. package/dist/theming/useTheme.cjs.map +0 -1
  450. package/dist/util/builder.cjs +0 -34
  451. package/dist/util/date.cjs.map +0 -1
  452. package/dist/util/easeFunctions.cjs +0 -63
  453. package/dist/util/easeFunctions.cjs.map +0 -1
  454. package/dist/util/emailValidation.cjs +0 -33
  455. package/dist/util/math.cjs +0 -33
  456. package/dist/util/news.cjs +0 -77
  457. package/dist/util/news.cjs.map +0 -1
  458. package/dist/util/news.d.cts +0 -101
  459. package/dist/util/noop.cjs +0 -31
  460. package/dist/util/noop.cjs.map +0 -1
  461. package/dist/util/noop.d.cts +0 -3
  462. package/dist/util/simpleSearch.cjs +0 -54
  463. package/dist/util/storage.cjs +0 -64
  464. package/dist/util/types.cjs +0 -19
  465. package/dist/util/types.cjs.map +0 -1
  466. /package/dist/coloring/{types.d.cts → types.d.mts} +0 -0
  467. /package/dist/components/branding/{HelpwaveBadge.d.cts → HelpwaveBadge.d.mts} +0 -0
  468. /package/dist/components/date/{TimePicker.d.cts → TimePicker.d.mts} +0 -0
  469. /package/dist/components/icons-and-geometry/{Avatar.d.cts → Avatar.d.mts} +0 -0
  470. /package/dist/components/icons-and-geometry/{Circle.d.cts → Circle.d.mts} +0 -0
  471. /package/dist/components/icons-and-geometry/{Helpwave.d.cts → Helpwave.d.mts} +0 -0
  472. /package/dist/components/icons-and-geometry/{Ring.d.cts → Ring.d.mts} +0 -0
  473. /package/dist/components/icons-and-geometry/{Tag.d.cts → Tag.d.mts} +0 -0
  474. /package/dist/components/layout-and-navigation/{BreadCrumb.d.cts → BreadCrumb.d.mts} +0 -0
  475. /package/dist/components/layout-and-navigation/{Carousel.d.cts → Carousel.d.mts} +0 -0
  476. /package/dist/components/layout-and-navigation/{Chip.d.cts → Chip.d.mts} +0 -0
  477. /package/dist/components/layout-and-navigation/{DividerInserter.d.cts → DividerInserter.d.mts} +0 -0
  478. /package/dist/components/layout-and-navigation/{Expandable.d.cts → Expandable.d.mts} +0 -0
  479. /package/dist/components/layout-and-navigation/{Tile.d.cts → Tile.d.mts} +0 -0
  480. /package/dist/components/layout-and-navigation/{VerticalDivider.d.cts → VerticalDivider.d.mts} +0 -0
  481. /package/dist/components/loading-states/{ProgressIndicator.d.cts → ProgressIndicator.d.mts} +0 -0
  482. /package/dist/components/user-action/{Button.d.cts → Button.d.mts} +0 -0
  483. /package/dist/components/user-action/{Label.d.cts → Label.d.mts} +0 -0
  484. /package/dist/components/user-action/{Menu.d.cts → Menu.d.mts} +0 -0
  485. /package/dist/components/user-action/{ScrollPicker.d.cts → ScrollPicker.d.mts} +0 -0
  486. /package/dist/components/user-action/{ToggleableInput.d.cts → ToggleableInput.d.mts} +0 -0
  487. /package/dist/components/user-action/{Tooltip.d.cts → Tooltip.d.mts} +0 -0
  488. /package/dist/hooks/{useHoverState.d.cts → useHoverState.d.mts} +0 -0
  489. /package/dist/hooks/{useLocalStorage.d.cts → useLocalStorage.d.mts} +0 -0
  490. /package/dist/hooks/{useOutsideClick.d.cts → useOutsideClick.d.mts} +0 -0
  491. /package/dist/hooks/{useSaveDelay.d.cts → useSaveDelay.d.mts} +0 -0
  492. /package/dist/localization/{util.d.cts → util.d.mts} +0 -0
  493. /package/dist/util/{array.d.cts → array.d.mts} +0 -0
  494. /package/dist/util/{builder.d.cts → builder.d.mts} +0 -0
  495. /package/dist/util/{date.d.cts → date.d.mts} +0 -0
  496. /package/dist/util/{easeFunctions.d.cts → easeFunctions.d.mts} +0 -0
  497. /package/dist/util/{emailValidation.d.cts → emailValidation.d.mts} +0 -0
  498. /package/dist/util/{loopingArray.d.cts → loopingArray.d.mts} +0 -0
  499. /package/dist/util/{math.d.cts → math.d.mts} +0 -0
  500. /package/dist/util/{simpleSearch.d.cts → simpleSearch.d.mts} +0 -0
  501. /package/dist/util/{storage.d.cts → storage.d.mts} +0 -0
  502. /package/dist/util/{types.d.cts → types.d.mts} +0 -0
@@ -1,53 +1,19 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
1
  // src/components/layout-and-navigation/FAQSection.tsx
31
- var FAQSection_exports = {};
32
- __export(FAQSection_exports, {
33
- FAQSection: () => FAQSection
34
- });
35
- module.exports = __toCommonJS(FAQSection_exports);
36
- var import_clsx2 = __toESM(require("clsx"), 1);
37
- var import_lucide_react2 = require("lucide-react");
2
+ import clsx2 from "clsx";
3
+ import { ChevronDown as ChevronDown2, ChevronUp as ChevronUp2 } from "lucide-react";
38
4
 
39
5
  // src/components/layout-and-navigation/Expandable.tsx
40
- var import_react = require("react");
41
- var import_lucide_react = require("lucide-react");
42
- var import_clsx = __toESM(require("clsx"), 1);
6
+ import { forwardRef, useEffect, useState } from "react";
7
+ import { ChevronDown, ChevronUp } from "lucide-react";
8
+ import clsx from "clsx";
43
9
 
44
10
  // src/util/noop.ts
45
11
  var noop = () => void 0;
46
12
 
47
13
  // src/components/layout-and-navigation/Expandable.tsx
48
- var import_jsx_runtime = require("react/jsx-runtime");
49
- var DefaultIcon = (expanded) => expanded ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronUp, { size: 16, className: "min-w-[16px]" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.ChevronDown, { size: 16, className: "min-w-[16px]" });
50
- var Expandable = (0, import_react.forwardRef)(function Expandable2({
14
+ import { jsx, jsxs } from "react/jsx-runtime";
15
+ var DefaultIcon = (expanded) => expanded ? /* @__PURE__ */ jsx(ChevronUp, { size: 16, className: "min-w-[16px]" }) : /* @__PURE__ */ jsx(ChevronDown, { size: 16, className: "min-w-[16px]" });
16
+ var Expandable = forwardRef(function Expandable2({
51
17
  children,
52
18
  label,
53
19
  icon,
@@ -59,17 +25,17 @@ var Expandable = (0, import_react.forwardRef)(function Expandable2({
59
25
  headerClassName = ""
60
26
  }, ref) {
61
27
  icon ??= DefaultIcon;
62
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
28
+ return /* @__PURE__ */ jsxs(
63
29
  "div",
64
30
  {
65
31
  ref,
66
- className: (0, import_clsx.default)("col gap-y-0 bg-surface text-on-surface group rounded-lg shadow-sm", { "cursor-pointer": !clickOnlyOnHeader && !disabled }, className),
32
+ className: clsx("col gap-y-0 bg-surface text-on-surface group rounded-lg shadow-sm", { "cursor-pointer": !clickOnlyOnHeader && !disabled }, className),
67
33
  onClick: () => !clickOnlyOnHeader && !disabled && onChange(!isExpanded),
68
34
  children: [
69
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
35
+ /* @__PURE__ */ jsxs(
70
36
  "div",
71
37
  {
72
- className: (0, import_clsx.default)(
38
+ className: clsx(
73
39
  "row py-2 px-4 rounded-lg justify-between items-center bg-surface text-on-surface select-none",
74
40
  {
75
41
  "group-hover:brightness-95": !isExpanded,
@@ -85,21 +51,21 @@ var Expandable = (0, import_react.forwardRef)(function Expandable2({
85
51
  ]
86
52
  }
87
53
  ),
88
- isExpanded && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "col px-4 pb-2", children })
54
+ isExpanded && /* @__PURE__ */ jsx("div", { className: "col px-4 pb-2", children })
89
55
  ]
90
56
  }
91
57
  );
92
58
  });
93
- var ExpandableUncontrolled = (0, import_react.forwardRef)(function ExpandableUncontrolled2({
59
+ var ExpandableUncontrolled = forwardRef(function ExpandableUncontrolled2({
94
60
  isExpanded,
95
61
  onChange = noop,
96
62
  ...props
97
63
  }, ref) {
98
- const [usedIsExpanded, setUsedIsExpanded] = (0, import_react.useState)(isExpanded);
99
- (0, import_react.useEffect)(() => {
64
+ const [usedIsExpanded, setUsedIsExpanded] = useState(isExpanded);
65
+ useEffect(() => {
100
66
  setUsedIsExpanded(isExpanded);
101
67
  }, [isExpanded]);
102
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
68
+ return /* @__PURE__ */ jsx(
103
69
  Expandable,
104
70
  {
105
71
  ...props,
@@ -114,7 +80,7 @@ var ExpandableUncontrolled = (0, import_react.forwardRef)(function ExpandableUnc
114
80
  });
115
81
 
116
82
  // src/components/layout-and-navigation/MarkdownInterpreter.tsx
117
- var import_jsx_runtime2 = require("react/jsx-runtime");
83
+ import { Fragment, jsx as jsx2 } from "react/jsx-runtime";
118
84
  var astNodeInserterType = ["helpwave", "newline"];
119
85
  var ASTNodeInterpreter = ({
120
86
  node,
@@ -123,27 +89,27 @@ var ASTNodeInterpreter = ({
123
89
  }) => {
124
90
  switch (node.type) {
125
91
  case "newline":
126
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("br", {});
92
+ return /* @__PURE__ */ jsx2("br", {});
127
93
  case "text":
128
- return isRoot ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className, children: node.text }) : node.text;
94
+ return isRoot ? /* @__PURE__ */ jsx2("span", { className, children: node.text }) : node.text;
129
95
  case "helpwave":
130
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "font-bold font-space no-underline", children: "helpwave" });
96
+ return /* @__PURE__ */ jsx2("span", { className: "font-bold font-space no-underline", children: "helpwave" });
131
97
  case "none":
132
- return isRoot ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className, children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
98
+ return isRoot ? /* @__PURE__ */ jsx2("span", { className, children: node.children.map((value, index) => /* @__PURE__ */ jsx2(
133
99
  ASTNodeInterpreter,
134
100
  {
135
101
  node: value
136
102
  },
137
103
  index
138
- )) }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_jsx_runtime2.Fragment, { children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ASTNodeInterpreter, { node: value }, index)) });
104
+ )) }) : /* @__PURE__ */ jsx2(Fragment, { children: node.children.map((value, index) => /* @__PURE__ */ jsx2(ASTNodeInterpreter, { node: value }, index)) });
139
105
  case "bold":
140
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("b", { children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ASTNodeInterpreter, { node: value }, index)) });
106
+ return /* @__PURE__ */ jsx2("b", { children: node.children.map((value, index) => /* @__PURE__ */ jsx2(ASTNodeInterpreter, { node: value }, index)) });
141
107
  case "italic":
142
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("i", { children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ASTNodeInterpreter, { node: value }, index)) });
108
+ return /* @__PURE__ */ jsx2("i", { children: node.children.map((value, index) => /* @__PURE__ */ jsx2(ASTNodeInterpreter, { node: value }, index)) });
143
109
  case "underline":
144
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("u", { children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ASTNodeInterpreter, { node: value }, index)) });
110
+ return /* @__PURE__ */ jsx2("u", { children: node.children.map((value, index) => /* @__PURE__ */ jsx2(ASTNodeInterpreter, { node: value }, index)) });
145
111
  case "font-space":
146
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "font-space", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
112
+ return /* @__PURE__ */ jsx2("span", { className: "font-space", children: node.children.map((value, index) => /* @__PURE__ */ jsx2(
147
113
  ASTNodeInterpreter,
148
114
  {
149
115
  node: value
@@ -151,7 +117,7 @@ var ASTNodeInterpreter = ({
151
117
  index
152
118
  )) });
153
119
  case "primary":
154
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "text-primary", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
120
+ return /* @__PURE__ */ jsx2("span", { className: "text-primary", children: node.children.map((value, index) => /* @__PURE__ */ jsx2(
155
121
  ASTNodeInterpreter,
156
122
  {
157
123
  node: value
@@ -159,7 +125,7 @@ var ASTNodeInterpreter = ({
159
125
  index
160
126
  )) });
161
127
  case "secondary":
162
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "text-secondary", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
128
+ return /* @__PURE__ */ jsx2("span", { className: "text-secondary", children: node.children.map((value, index) => /* @__PURE__ */ jsx2(
163
129
  ASTNodeInterpreter,
164
130
  {
165
131
  node: value
@@ -167,7 +133,7 @@ var ASTNodeInterpreter = ({
167
133
  index
168
134
  )) });
169
135
  case "warn":
170
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "text-warning", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
136
+ return /* @__PURE__ */ jsx2("span", { className: "text-warning", children: node.children.map((value, index) => /* @__PURE__ */ jsx2(
171
137
  ASTNodeInterpreter,
172
138
  {
173
139
  node: value
@@ -175,7 +141,7 @@ var ASTNodeInterpreter = ({
175
141
  index
176
142
  )) });
177
143
  case "positive":
178
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "text-positive", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
144
+ return /* @__PURE__ */ jsx2("span", { className: "text-positive", children: node.children.map((value, index) => /* @__PURE__ */ jsx2(
179
145
  ASTNodeInterpreter,
180
146
  {
181
147
  node: value
@@ -183,7 +149,7 @@ var ASTNodeInterpreter = ({
183
149
  index
184
150
  )) });
185
151
  case "negative":
186
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { className: "text-negative", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
152
+ return /* @__PURE__ */ jsx2("span", { className: "text-negative", children: node.children.map((value, index) => /* @__PURE__ */ jsx2(
187
153
  ASTNodeInterpreter,
188
154
  {
189
155
  node: value
@@ -341,31 +307,30 @@ var optimizeTree = (node) => {
341
307
  var MarkdownInterpreter = ({ text, className }) => {
342
308
  const tree = parseMarkdown(text);
343
309
  const optimizedTree = optimizeTree(tree);
344
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ASTNodeInterpreter, { node: optimizedTree, isRoot: true, className });
310
+ return /* @__PURE__ */ jsx2(ASTNodeInterpreter, { node: optimizedTree, isRoot: true, className });
345
311
  };
346
312
 
347
313
  // src/components/layout-and-navigation/FAQSection.tsx
348
- var import_jsx_runtime3 = require("react/jsx-runtime");
314
+ import { jsx as jsx3 } from "react/jsx-runtime";
349
315
  var FAQSection = ({
350
316
  entries,
351
317
  expandableClassName
352
318
  }) => {
353
319
  const chevronSize = 28;
354
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "col gap-y-4", children: entries.map(({ id, title, content, ...restProps }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
320
+ return /* @__PURE__ */ jsx3("div", { className: "col gap-y-4", children: entries.map(({ id, title, content, ...restProps }) => /* @__PURE__ */ jsx3(
355
321
  ExpandableUncontrolled,
356
322
  {
357
323
  ...restProps,
358
- label: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h3", { id, className: "textstyle-title-md", children: title }),
324
+ label: /* @__PURE__ */ jsx3("h3", { id, className: "textstyle-title-md", children: title }),
359
325
  clickOnlyOnHeader: false,
360
- icon: (expanded) => expanded ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react2.ChevronUp, { size: chevronSize, className: "text-primary", style: { minWidth: `${chevronSize}px` } }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_lucide_react2.ChevronDown, { size: chevronSize, className: "text-primary" }),
361
- className: (0, import_clsx2.default)("rounded-xl", expandableClassName),
362
- children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "mt-2", children: content.type === "markdown" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(MarkdownInterpreter, { text: content.value }) : content.value })
326
+ icon: (expanded) => expanded ? /* @__PURE__ */ jsx3(ChevronUp2, { size: chevronSize, className: "text-primary", style: { minWidth: `${chevronSize}px` } }) : /* @__PURE__ */ jsx3(ChevronDown2, { size: chevronSize, className: "text-primary" }),
327
+ className: clsx2("rounded-xl", expandableClassName),
328
+ children: /* @__PURE__ */ jsx3("div", { className: "mt-2", children: content.type === "markdown" ? /* @__PURE__ */ jsx3(MarkdownInterpreter, { text: content.value }) : content.value })
363
329
  },
364
330
  id
365
331
  )) });
366
332
  };
367
- // Annotate the CommonJS export names for ESM import in node:
368
- 0 && (module.exports = {
333
+ export {
369
334
  FAQSection
370
- });
371
- //# sourceMappingURL=FAQSection.cjs.map
335
+ };
336
+ //# sourceMappingURL=FAQSection.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/layout-and-navigation/FAQSection.tsx","../../../src/components/layout-and-navigation/Expandable.tsx","../../../src/util/noop.ts","../../../src/components/layout-and-navigation/MarkdownInterpreter.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport clsx from 'clsx'\nimport { ChevronDown, ChevronUp } from 'lucide-react'\nimport type { ExpandableProps } from './Expandable'\nimport { ExpandableUncontrolled } from './Expandable'\nimport { MarkdownInterpreter } from './MarkdownInterpreter'\n\ntype ContentType = {\n type: 'markdown',\n value: string,\n} | {\n type: 'custom',\n value: ReactNode,\n}\n\nexport type FAQItem = Pick<ExpandableProps, 'isExpanded' | 'className'> & {\n id: string,\n title: string,\n content: ContentType,\n}\n\nexport type FAQSectionProps = {\n entries: FAQItem[],\n expandableClassName?: string,\n}\n\n/**\n * Description\n */\nexport const FAQSection = ({\n entries,\n expandableClassName\n }: FAQSectionProps) => {\n const chevronSize = 28\n return (\n <div className=\"col gap-y-4\">\n {entries.map(({ id, title, content, ...restProps }) => (\n <ExpandableUncontrolled\n key={id}\n {...restProps}\n label={(<h3 id={id} className=\"textstyle-title-md\">{title}</h3>)}\n clickOnlyOnHeader={false}\n icon={(expanded) => expanded ?\n (<ChevronUp size={chevronSize} className=\"text-primary\" style={{ minWidth: `${chevronSize}px` }}/>) :\n (<ChevronDown size={chevronSize} className=\"text-primary\"/>)\n }\n className={clsx('rounded-xl', expandableClassName)}\n >\n <div className=\"mt-2\">\n {content.type === 'markdown' ? (<MarkdownInterpreter text={content.value}/>) : content.value}\n </div>\n </ExpandableUncontrolled>\n ))}\n </div>\n )\n}\n","import type { PropsWithChildren, ReactNode } from 'react'\nimport { forwardRef, useEffect, useState } from 'react'\nimport { ChevronDown, ChevronUp } from 'lucide-react'\nimport clsx from 'clsx'\nimport { noop } from '../../util/noop'\n\ntype IconBuilder = (expanded: boolean) => ReactNode\n\nexport type ExpandableProps = PropsWithChildren<{\n label: ReactNode,\n icon?: IconBuilder,\n isExpanded?: boolean,\n onChange?: (isExpanded: boolean) => void,\n /**\n * Whether the expansion should only happen when the header is clicked or on the entire component\n */\n clickOnlyOnHeader?: boolean,\n disabled?: boolean,\n className?: string,\n headerClassName?: string,\n}>\n\nconst DefaultIcon: IconBuilder = (expanded) => expanded ?\n (<ChevronUp size={16} className=\"min-w-[16px]\"/>)\n : (<ChevronDown size={16} className=\"min-w-[16px]\"/>)\n\n\n/**\n * A Component for showing and hiding content\n */\nexport const Expandable = forwardRef<HTMLDivElement, ExpandableProps>(function Expandable({\n children,\n label,\n icon,\n isExpanded = false,\n onChange = noop,\n clickOnlyOnHeader = true,\n disabled = false,\n className = '',\n headerClassName = ''\n }, ref) {\n icon ??= DefaultIcon\n\n return (\n <div\n ref={ref}\n className={clsx('col gap-y-0 bg-surface text-on-surface group rounded-lg shadow-sm', { 'cursor-pointer': !clickOnlyOnHeader && !disabled }, className)}\n onClick={() => !clickOnlyOnHeader && !disabled && onChange(!isExpanded)}\n >\n <div\n className={clsx(\n 'row py-2 px-4 rounded-lg justify-between items-center bg-surface text-on-surface select-none',\n {\n 'group-hover:brightness-95': !isExpanded,\n 'hover:brightness-95': isExpanded && !disabled,\n 'cursor-pointer': clickOnlyOnHeader && !disabled,\n },\n headerClassName\n )}\n onClick={() => clickOnlyOnHeader && !disabled && onChange(!isExpanded)}\n >\n {label}\n {icon(isExpanded)}\n </div>\n {isExpanded && (\n <div className=\"col px-4 pb-2\">\n {children}\n </div>\n )}\n </div>\n )\n})\n\nexport const ExpandableUncontrolled = forwardRef<HTMLDivElement, ExpandableProps>(function ExpandableUncontrolled({\n isExpanded,\n onChange = noop,\n ...props\n },\n ref) {\n const [usedIsExpanded, setUsedIsExpanded] = useState(isExpanded)\n\n useEffect(() => {\n setUsedIsExpanded(isExpanded)\n }, [isExpanded])\n\n return (\n <Expandable\n {...props}\n ref={ref}\n isExpanded={usedIsExpanded}\n onChange={value => {\n onChange(value)\n setUsedIsExpanded(value)\n }}\n />\n )\n})\n","export const noop = () => undefined\n","type ASTNodeModifierType =\n 'none'\n | 'italic'\n | 'bold'\n | 'underline'\n | 'font-space'\n | 'primary'\n | 'secondary'\n | 'warn'\n | 'positive'\n | 'negative'\n\nconst astNodeInserterType = ['helpwave', 'newline'] as const\ntype ASTNodeInserterType = typeof astNodeInserterType[number]\ntype ASTNodeDefaultType = 'text'\n\ntype ASTNode = {\n type: ASTNodeModifierType,\n children: ASTNode[],\n} | {\n type: ASTNodeInserterType,\n} | {\n type: ASTNodeDefaultType,\n text: string,\n}\n\nexport type ASTNodeInterpreterProps = {\n node: ASTNode,\n isRoot?: boolean,\n className?: string,\n}\nexport const ASTNodeInterpreter = ({\n node,\n isRoot = false,\n className = '',\n }: ASTNodeInterpreterProps) => {\n switch (node.type) {\n case 'newline':\n return <br/>\n case 'text':\n return isRoot ? <span className={className}>{node.text}</span> : node.text\n case 'helpwave':\n return (<span className=\"font-bold font-space no-underline\">helpwave</span>)\n case 'none':\n return isRoot ? (\n <span className={className}>{node.children.map((value, index) => (\n <ASTNodeInterpreter key={index}\n node={value}/>\n ))}</span>\n ) :\n <>{node.children.map((value, index) => <ASTNodeInterpreter key={index} node={value}/>)}</>\n case 'bold':\n return <b>{node.children.map((value, index) => <ASTNodeInterpreter key={index} node={value}/>)}</b>\n case 'italic':\n return <i>{node.children.map((value, index) => <ASTNodeInterpreter key={index} node={value}/>)}</i>\n case 'underline':\n return (<u>{node.children.map((value, index) => (<ASTNodeInterpreter key={index} node={value}/>))}</u>)\n case 'font-space':\n return (\n <span className=\"font-space\">{node.children.map((value, index) => (\n <ASTNodeInterpreter key={index}\n node={value}/>\n ))}</span>\n )\n case 'primary':\n return (\n <span className=\"text-primary\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'secondary':\n return (\n <span className=\"text-secondary\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'warn':\n return (\n <span className=\"text-warning\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'positive':\n return (\n <span className=\"text-positive\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'negative':\n return (\n <span className=\"text-negative\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n default:\n return null\n }\n}\n\nconst modifierIdentifierMapping = [\n { id: 'i', name: 'italic' },\n { id: 'b', name: 'bold' },\n { id: 'u', name: 'underline' },\n { id: 'space', name: 'font-space' },\n { id: 'primary', name: 'primary' },\n { id: 'secondary', name: 'secondary' },\n { id: 'warn', name: 'warn' },\n { id: 'positive', name: 'positive' },\n { id: 'negative', name: 'negative' },\n] as const\n\nconst inserterIdentifierMapping = [\n { id: 'helpwave', name: 'helpwave' },\n { id: 'newline', name: 'newline' }\n] as const\nconst parseMarkdown = (\n text: string,\n commandStart: string = '\\\\',\n open: string = '{',\n close: string = '}'\n): ASTNode => {\n let start = text.indexOf(commandStart)\n const children: ASTNode[] = []\n\n // parse the text step by step\n while (text !== '') {\n if (start === -1) {\n children.push({\n type: 'text',\n text\n })\n break\n }\n children.push(parseMarkdown(text.substring(0, start)))\n text = text.substring(start)\n if (text.length <= 1) {\n children.push({\n type: 'text',\n text\n })\n text = ''\n continue\n }\n const simpleReplace = [commandStart, open, close]\n if (simpleReplace.some(value => text[1] === value)) {\n children.push({\n type: 'text',\n text: simpleReplace.find(value => text[1] === value)!\n })\n text = text.substring(2)\n start = text.indexOf(commandStart)\n continue\n }\n const inserter = inserterIdentifierMapping.find(value => text.substring(1).startsWith(value.id))\n if (inserter) {\n children.push({\n type: inserter.name,\n })\n text = text.substring(inserter.id.length + 1)\n start = text.indexOf(commandStart)\n continue\n }\n const modifier = modifierIdentifierMapping.find(value => text.substring(1).startsWith(value.id))\n if (modifier) {\n // check brackets\n if (text[modifier.id.length + 1] !== open) {\n children.push({\n type: 'text',\n text: text.substring(0, modifier.id.length + 1)\n })\n text = text.substring(modifier.id.length + 2)\n start = text.indexOf(commandStart)\n continue\n }\n let closing = -1\n let index = modifier.id.length + 2\n let counter = 1\n let escaping = false\n while (index < text.length) {\n if (text[index] === open && !escaping) {\n counter++\n }\n if (text[index] === close && !escaping) {\n counter--\n if (counter === 0) {\n closing = index\n break\n }\n }\n escaping = text[index] === commandStart\n index++\n }\n\n if (closing !== -1) {\n children.push({\n type: modifier.name,\n children: [parseMarkdown(text.substring(modifier.id.length + 2, closing))]\n })\n text = text.substring(closing + 1)\n start = text.indexOf(commandStart)\n continue\n }\n }\n // nothing could be applied to command start\n children.push({\n type: 'text',\n text: text[0]!\n })\n text = text.substring(1)\n start = text.indexOf(commandStart)\n }\n\n return {\n type: 'none',\n children\n }\n}\n\nconst optimizeTree = (node: ASTNode) => {\n if (node.type === 'text') {\n return !node.text ? undefined : node\n }\n if (astNodeInserterType.some(value => value === node.type)) {\n return node\n }\n\n const currentNode = node as\n { type: ASTNodeModifierType, children: ASTNode[] }\n\n if (currentNode.children.length === 0) {\n return undefined\n }\n\n let children: ASTNode[] = []\n for (let i = 0; i < currentNode.children.length; i++) {\n const child = optimizeTree(currentNode.children[i]!)\n if (!child) {\n continue\n }\n if (child.type === 'none') {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n currentNode.children = children\n children = []\n\n for (let i = 0; i < currentNode.children.length; i++) {\n const child = currentNode.children[i]!\n if (child) {\n if (child.type === 'text' && children[children.length - 1]?.type === 'text') {\n (children[children.length - 1]! as { type: ASTNodeDefaultType, text: string }).text += child.text\n } else {\n children.push(child)\n }\n }\n }\n currentNode.children = children\n return currentNode\n}\n\nexport type MarkdownInterpreterProps = {\n text: string,\n className?: string,\n}\n\nexport const MarkdownInterpreter = ({ text, className }: MarkdownInterpreterProps) => {\n const tree = parseMarkdown(text)\n const optimizedTree = optimizeTree(tree)!\n return <ASTNodeInterpreter node={optimizedTree} isRoot={true} className={className}/>\n}\n"],"mappings":"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","names":["clsx","ChevronDown","ChevronUp","Expandable","ExpandableUncontrolled","jsx","jsx","ChevronUp","ChevronDown","clsx"]}
@@ -18,7 +18,7 @@ type ASTNodeInterpreterProps = {
18
18
  isRoot?: boolean;
19
19
  className?: string;
20
20
  };
21
- declare const ASTNodeInterpreter: ({ node, isRoot, className, }: ASTNodeInterpreterProps) => string | react_jsx_runtime.JSX.Element | null;
21
+ declare const ASTNodeInterpreter: ({ node, isRoot, className, }: ASTNodeInterpreterProps) => string | react_jsx_runtime.JSX.Element;
22
22
  type MarkdownInterpreterProps = {
23
23
  text: string;
24
24
  className?: string;
@@ -18,7 +18,7 @@ type ASTNodeInterpreterProps = {
18
18
  isRoot?: boolean;
19
19
  className?: string;
20
20
  };
21
- declare const ASTNodeInterpreter: ({ node, isRoot, className, }: ASTNodeInterpreterProps) => string | react_jsx_runtime.JSX.Element | null;
21
+ declare const ASTNodeInterpreter: ({ node, isRoot, className, }: ASTNodeInterpreterProps) => string | react_jsx_runtime.JSX.Element;
22
22
  type MarkdownInterpreterProps = {
23
23
  text: string;
24
24
  className?: string;
@@ -1,5 +1,29 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
1
19
  // src/components/layout-and-navigation/MarkdownInterpreter.tsx
2
- import { Fragment, jsx } from "react/jsx-runtime";
20
+ var MarkdownInterpreter_exports = {};
21
+ __export(MarkdownInterpreter_exports, {
22
+ ASTNodeInterpreter: () => ASTNodeInterpreter,
23
+ MarkdownInterpreter: () => MarkdownInterpreter
24
+ });
25
+ module.exports = __toCommonJS(MarkdownInterpreter_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
3
27
  var astNodeInserterType = ["helpwave", "newline"];
4
28
  var ASTNodeInterpreter = ({
5
29
  node,
@@ -8,27 +32,27 @@ var ASTNodeInterpreter = ({
8
32
  }) => {
9
33
  switch (node.type) {
10
34
  case "newline":
11
- return /* @__PURE__ */ jsx("br", {});
35
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("br", {});
12
36
  case "text":
13
- return isRoot ? /* @__PURE__ */ jsx("span", { className, children: node.text }) : node.text;
37
+ return isRoot ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className, children: node.text }) : node.text;
14
38
  case "helpwave":
15
- return /* @__PURE__ */ jsx("span", { className: "font-bold font-space no-underline", children: "helpwave" });
39
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "font-bold font-space no-underline", children: "helpwave" });
16
40
  case "none":
17
- return isRoot ? /* @__PURE__ */ jsx("span", { className, children: node.children.map((value, index) => /* @__PURE__ */ jsx(
41
+ return isRoot ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className, children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
18
42
  ASTNodeInterpreter,
19
43
  {
20
44
  node: value
21
45
  },
22
46
  index
23
- )) }) : /* @__PURE__ */ jsx(Fragment, { children: node.children.map((value, index) => /* @__PURE__ */ jsx(ASTNodeInterpreter, { node: value }, index)) });
47
+ )) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ASTNodeInterpreter, { node: value }, index)) });
24
48
  case "bold":
25
- return /* @__PURE__ */ jsx("b", { children: node.children.map((value, index) => /* @__PURE__ */ jsx(ASTNodeInterpreter, { node: value }, index)) });
49
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("b", { children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ASTNodeInterpreter, { node: value }, index)) });
26
50
  case "italic":
27
- return /* @__PURE__ */ jsx("i", { children: node.children.map((value, index) => /* @__PURE__ */ jsx(ASTNodeInterpreter, { node: value }, index)) });
51
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("i", { children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ASTNodeInterpreter, { node: value }, index)) });
28
52
  case "underline":
29
- return /* @__PURE__ */ jsx("u", { children: node.children.map((value, index) => /* @__PURE__ */ jsx(ASTNodeInterpreter, { node: value }, index)) });
53
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("u", { children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ASTNodeInterpreter, { node: value }, index)) });
30
54
  case "font-space":
31
- return /* @__PURE__ */ jsx("span", { className: "font-space", children: node.children.map((value, index) => /* @__PURE__ */ jsx(
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "font-space", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
32
56
  ASTNodeInterpreter,
33
57
  {
34
58
  node: value
@@ -36,7 +60,7 @@ var ASTNodeInterpreter = ({
36
60
  index
37
61
  )) });
38
62
  case "primary":
39
- return /* @__PURE__ */ jsx("span", { className: "text-primary", children: node.children.map((value, index) => /* @__PURE__ */ jsx(
63
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-primary", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
40
64
  ASTNodeInterpreter,
41
65
  {
42
66
  node: value
@@ -44,7 +68,7 @@ var ASTNodeInterpreter = ({
44
68
  index
45
69
  )) });
46
70
  case "secondary":
47
- return /* @__PURE__ */ jsx("span", { className: "text-secondary", children: node.children.map((value, index) => /* @__PURE__ */ jsx(
71
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-secondary", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
48
72
  ASTNodeInterpreter,
49
73
  {
50
74
  node: value
@@ -52,7 +76,7 @@ var ASTNodeInterpreter = ({
52
76
  index
53
77
  )) });
54
78
  case "warn":
55
- return /* @__PURE__ */ jsx("span", { className: "text-warning", children: node.children.map((value, index) => /* @__PURE__ */ jsx(
79
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-warning", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
56
80
  ASTNodeInterpreter,
57
81
  {
58
82
  node: value
@@ -60,7 +84,7 @@ var ASTNodeInterpreter = ({
60
84
  index
61
85
  )) });
62
86
  case "positive":
63
- return /* @__PURE__ */ jsx("span", { className: "text-positive", children: node.children.map((value, index) => /* @__PURE__ */ jsx(
87
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-positive", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
64
88
  ASTNodeInterpreter,
65
89
  {
66
90
  node: value
@@ -68,7 +92,7 @@ var ASTNodeInterpreter = ({
68
92
  index
69
93
  )) });
70
94
  case "negative":
71
- return /* @__PURE__ */ jsx("span", { className: "text-negative", children: node.children.map((value, index) => /* @__PURE__ */ jsx(
95
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-negative", children: node.children.map((value, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
72
96
  ASTNodeInterpreter,
73
97
  {
74
98
  node: value
@@ -226,10 +250,11 @@ var optimizeTree = (node) => {
226
250
  var MarkdownInterpreter = ({ text, className }) => {
227
251
  const tree = parseMarkdown(text);
228
252
  const optimizedTree = optimizeTree(tree);
229
- return /* @__PURE__ */ jsx(ASTNodeInterpreter, { node: optimizedTree, isRoot: true, className });
253
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ASTNodeInterpreter, { node: optimizedTree, isRoot: true, className });
230
254
  };
231
- export {
255
+ // Annotate the CommonJS export names for ESM import in node:
256
+ 0 && (module.exports = {
232
257
  ASTNodeInterpreter,
233
258
  MarkdownInterpreter
234
- };
259
+ });
235
260
  //# sourceMappingURL=MarkdownInterpreter.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/layout-and-navigation/MarkdownInterpreter.tsx"],"sourcesContent":["type ASTNodeModifierType =\n 'none'\n | 'italic'\n | 'bold'\n | 'underline'\n | 'font-space'\n | 'primary'\n | 'secondary'\n | 'warn'\n | 'positive'\n | 'negative'\n\nconst astNodeInserterType = ['helpwave', 'newline'] as const\ntype ASTNodeInserterType = typeof astNodeInserterType[number]\ntype ASTNodeDefaultType = 'text'\n\ntype ASTNode = {\n type: ASTNodeModifierType,\n children: ASTNode[],\n} | {\n type: ASTNodeInserterType,\n} | {\n type: ASTNodeDefaultType,\n text: string,\n}\n\nexport type ASTNodeInterpreterProps = {\n node: ASTNode,\n isRoot?: boolean,\n className?: string,\n}\nexport const ASTNodeInterpreter = ({\n node,\n isRoot = false,\n className = '',\n }: ASTNodeInterpreterProps) => {\n switch (node.type) {\n case 'newline':\n return <br/>\n case 'text':\n return isRoot ? <span className={className}>{node.text}</span> : node.text\n case 'helpwave':\n return (<span className=\"font-bold font-space no-underline\">helpwave</span>)\n case 'none':\n return isRoot ? (\n <span className={className}>{node.children.map((value, index) => (\n <ASTNodeInterpreter key={index}\n node={value}/>\n ))}</span>\n ) :\n <>{node.children.map((value, index) => <ASTNodeInterpreter key={index} node={value}/>)}</>\n case 'bold':\n return <b>{node.children.map((value, index) => <ASTNodeInterpreter key={index} node={value}/>)}</b>\n case 'italic':\n return <i>{node.children.map((value, index) => <ASTNodeInterpreter key={index} node={value}/>)}</i>\n case 'underline':\n return (<u>{node.children.map((value, index) => (<ASTNodeInterpreter key={index} node={value}/>))}</u>)\n case 'font-space':\n return (\n <span className=\"font-space\">{node.children.map((value, index) => (\n <ASTNodeInterpreter key={index}\n node={value}/>\n ))}</span>\n )\n case 'primary':\n return (\n <span className=\"text-primary\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'secondary':\n return (\n <span className=\"text-secondary\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'warn':\n return (\n <span className=\"text-warning\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'positive':\n return (\n <span className=\"text-positive\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'negative':\n return (\n <span className=\"text-negative\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n default:\n return null\n }\n}\n\nconst modifierIdentifierMapping = [\n { id: 'i', name: 'italic' },\n { id: 'b', name: 'bold' },\n { id: 'u', name: 'underline' },\n { id: 'space', name: 'font-space' },\n { id: 'primary', name: 'primary' },\n { id: 'secondary', name: 'secondary' },\n { id: 'warn', name: 'warn' },\n { id: 'positive', name: 'positive' },\n { id: 'negative', name: 'negative' },\n] as const\n\nconst inserterIdentifierMapping = [\n { id: 'helpwave', name: 'helpwave' },\n { id: 'newline', name: 'newline' }\n] as const\nconst parseMarkdown = (\n text: string,\n commandStart: string = '\\\\',\n open: string = '{',\n close: string = '}'\n): ASTNode => {\n let start = text.indexOf(commandStart)\n const children: ASTNode[] = []\n\n // parse the text step by step\n while (text !== '') {\n if (start === -1) {\n children.push({\n type: 'text',\n text\n })\n break\n }\n children.push(parseMarkdown(text.substring(0, start)))\n text = text.substring(start)\n if (text.length <= 1) {\n children.push({\n type: 'text',\n text\n })\n text = ''\n continue\n }\n const simpleReplace = [commandStart, open, close]\n if (simpleReplace.some(value => text[1] === value)) {\n children.push({\n type: 'text',\n text: simpleReplace.find(value => text[1] === value)!\n })\n text = text.substring(2)\n start = text.indexOf(commandStart)\n continue\n }\n const inserter = inserterIdentifierMapping.find(value => text.substring(1).startsWith(value.id))\n if (inserter) {\n children.push({\n type: inserter.name,\n })\n text = text.substring(inserter.id.length + 1)\n start = text.indexOf(commandStart)\n continue\n }\n const modifier = modifierIdentifierMapping.find(value => text.substring(1).startsWith(value.id))\n if (modifier) {\n // check brackets\n if (text[modifier.id.length + 1] !== open) {\n children.push({\n type: 'text',\n text: text.substring(0, modifier.id.length + 1)\n })\n text = text.substring(modifier.id.length + 2)\n start = text.indexOf(commandStart)\n continue\n }\n let closing = -1\n let index = modifier.id.length + 2\n let counter = 1\n let escaping = false\n while (index < text.length) {\n if (text[index] === open && !escaping) {\n counter++\n }\n if (text[index] === close && !escaping) {\n counter--\n if (counter === 0) {\n closing = index\n break\n }\n }\n escaping = text[index] === commandStart\n index++\n }\n\n if (closing !== -1) {\n children.push({\n type: modifier.name,\n children: [parseMarkdown(text.substring(modifier.id.length + 2, closing))]\n })\n text = text.substring(closing + 1)\n start = text.indexOf(commandStart)\n continue\n }\n }\n // nothing could be applied to command start\n children.push({\n type: 'text',\n text: text[0]!\n })\n text = text.substring(1)\n start = text.indexOf(commandStart)\n }\n\n return {\n type: 'none',\n children\n }\n}\n\nconst optimizeTree = (node: ASTNode) => {\n if (node.type === 'text') {\n return !node.text ? undefined : node\n }\n if (astNodeInserterType.some(value => value === node.type)) {\n return node\n }\n\n const currentNode = node as\n { type: ASTNodeModifierType, children: ASTNode[] }\n\n if (currentNode.children.length === 0) {\n return undefined\n }\n\n let children: ASTNode[] = []\n for (let i = 0; i < currentNode.children.length; i++) {\n const child = optimizeTree(currentNode.children[i]!)\n if (!child) {\n continue\n }\n if (child.type === 'none') {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n currentNode.children = children\n children = []\n\n for (let i = 0; i < currentNode.children.length; i++) {\n const child = currentNode.children[i]!\n if (child) {\n if (child.type === 'text' && children[children.length - 1]?.type === 'text') {\n (children[children.length - 1]! as { type: ASTNodeDefaultType, text: string }).text += child.text\n } else {\n children.push(child)\n }\n }\n }\n currentNode.children = children\n return currentNode\n}\n\nexport type MarkdownInterpreterProps = {\n text: string,\n className?: string,\n}\n\nexport const MarkdownInterpreter = ({ text, className }: MarkdownInterpreterProps) => {\n const tree = parseMarkdown(text)\n const optimizedTree = optimizeTree(tree)!\n return <ASTNodeInterpreter node={optimizedTree} isRoot={true} className={className}/>\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/layout-and-navigation/MarkdownInterpreter.tsx"],"sourcesContent":["type ASTNodeModifierType =\n 'none'\n | 'italic'\n | 'bold'\n | 'underline'\n | 'font-space'\n | 'primary'\n | 'secondary'\n | 'warn'\n | 'positive'\n | 'negative'\n\nconst astNodeInserterType = ['helpwave', 'newline'] as const\ntype ASTNodeInserterType = typeof astNodeInserterType[number]\ntype ASTNodeDefaultType = 'text'\n\ntype ASTNode = {\n type: ASTNodeModifierType,\n children: ASTNode[],\n} | {\n type: ASTNodeInserterType,\n} | {\n type: ASTNodeDefaultType,\n text: string,\n}\n\nexport type ASTNodeInterpreterProps = {\n node: ASTNode,\n isRoot?: boolean,\n className?: string,\n}\nexport const ASTNodeInterpreter = ({\n node,\n isRoot = false,\n className = '',\n }: ASTNodeInterpreterProps) => {\n switch (node.type) {\n case 'newline':\n return <br/>\n case 'text':\n return isRoot ? <span className={className}>{node.text}</span> : node.text\n case 'helpwave':\n return (<span className=\"font-bold font-space no-underline\">helpwave</span>)\n case 'none':\n return isRoot ? (\n <span className={className}>{node.children.map((value, index) => (\n <ASTNodeInterpreter key={index}\n node={value}/>\n ))}</span>\n ) :\n <>{node.children.map((value, index) => <ASTNodeInterpreter key={index} node={value}/>)}</>\n case 'bold':\n return <b>{node.children.map((value, index) => <ASTNodeInterpreter key={index} node={value}/>)}</b>\n case 'italic':\n return <i>{node.children.map((value, index) => <ASTNodeInterpreter key={index} node={value}/>)}</i>\n case 'underline':\n return (<u>{node.children.map((value, index) => (<ASTNodeInterpreter key={index} node={value}/>))}</u>)\n case 'font-space':\n return (\n <span className=\"font-space\">{node.children.map((value, index) => (\n <ASTNodeInterpreter key={index}\n node={value}/>\n ))}</span>\n )\n case 'primary':\n return (\n <span className=\"text-primary\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'secondary':\n return (\n <span className=\"text-secondary\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'warn':\n return (\n <span className=\"text-warning\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'positive':\n return (\n <span className=\"text-positive\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n case 'negative':\n return (\n <span className=\"text-negative\">{node.children.map((value, index) => (\n <ASTNodeInterpreter\n key={index} node={value}/>\n ))}</span>\n )\n default:\n return null\n }\n}\n\nconst modifierIdentifierMapping = [\n { id: 'i', name: 'italic' },\n { id: 'b', name: 'bold' },\n { id: 'u', name: 'underline' },\n { id: 'space', name: 'font-space' },\n { id: 'primary', name: 'primary' },\n { id: 'secondary', name: 'secondary' },\n { id: 'warn', name: 'warn' },\n { id: 'positive', name: 'positive' },\n { id: 'negative', name: 'negative' },\n] as const\n\nconst inserterIdentifierMapping = [\n { id: 'helpwave', name: 'helpwave' },\n { id: 'newline', name: 'newline' }\n] as const\nconst parseMarkdown = (\n text: string,\n commandStart: string = '\\\\',\n open: string = '{',\n close: string = '}'\n): ASTNode => {\n let start = text.indexOf(commandStart)\n const children: ASTNode[] = []\n\n // parse the text step by step\n while (text !== '') {\n if (start === -1) {\n children.push({\n type: 'text',\n text\n })\n break\n }\n children.push(parseMarkdown(text.substring(0, start)))\n text = text.substring(start)\n if (text.length <= 1) {\n children.push({\n type: 'text',\n text\n })\n text = ''\n continue\n }\n const simpleReplace = [commandStart, open, close]\n if (simpleReplace.some(value => text[1] === value)) {\n children.push({\n type: 'text',\n text: simpleReplace.find(value => text[1] === value)!\n })\n text = text.substring(2)\n start = text.indexOf(commandStart)\n continue\n }\n const inserter = inserterIdentifierMapping.find(value => text.substring(1).startsWith(value.id))\n if (inserter) {\n children.push({\n type: inserter.name,\n })\n text = text.substring(inserter.id.length + 1)\n start = text.indexOf(commandStart)\n continue\n }\n const modifier = modifierIdentifierMapping.find(value => text.substring(1).startsWith(value.id))\n if (modifier) {\n // check brackets\n if (text[modifier.id.length + 1] !== open) {\n children.push({\n type: 'text',\n text: text.substring(0, modifier.id.length + 1)\n })\n text = text.substring(modifier.id.length + 2)\n start = text.indexOf(commandStart)\n continue\n }\n let closing = -1\n let index = modifier.id.length + 2\n let counter = 1\n let escaping = false\n while (index < text.length) {\n if (text[index] === open && !escaping) {\n counter++\n }\n if (text[index] === close && !escaping) {\n counter--\n if (counter === 0) {\n closing = index\n break\n }\n }\n escaping = text[index] === commandStart\n index++\n }\n\n if (closing !== -1) {\n children.push({\n type: modifier.name,\n children: [parseMarkdown(text.substring(modifier.id.length + 2, closing))]\n })\n text = text.substring(closing + 1)\n start = text.indexOf(commandStart)\n continue\n }\n }\n // nothing could be applied to command start\n children.push({\n type: 'text',\n text: text[0]!\n })\n text = text.substring(1)\n start = text.indexOf(commandStart)\n }\n\n return {\n type: 'none',\n children\n }\n}\n\nconst optimizeTree = (node: ASTNode) => {\n if (node.type === 'text') {\n return !node.text ? undefined : node\n }\n if (astNodeInserterType.some(value => value === node.type)) {\n return node\n }\n\n const currentNode = node as\n { type: ASTNodeModifierType, children: ASTNode[] }\n\n if (currentNode.children.length === 0) {\n return undefined\n }\n\n let children: ASTNode[] = []\n for (let i = 0; i < currentNode.children.length; i++) {\n const child = optimizeTree(currentNode.children[i]!)\n if (!child) {\n continue\n }\n if (child.type === 'none') {\n children.push(...child.children)\n } else {\n children.push(child)\n }\n }\n\n currentNode.children = children\n children = []\n\n for (let i = 0; i < currentNode.children.length; i++) {\n const child = currentNode.children[i]!\n if (child) {\n if (child.type === 'text' && children[children.length - 1]?.type === 'text') {\n (children[children.length - 1]! as { type: ASTNodeDefaultType, text: string }).text += child.text\n } else {\n children.push(child)\n }\n }\n }\n currentNode.children = children\n return currentNode\n}\n\nexport type MarkdownInterpreterProps = {\n text: string,\n className?: string,\n}\n\nexport const MarkdownInterpreter = ({ text, className }: MarkdownInterpreterProps) => {\n const tree = parseMarkdown(text)\n const optimizedTree = optimizeTree(tree)!\n return <ASTNodeInterpreter node={optimizedTree} isRoot={true} className={className}/>\n}\n"],"mappings":"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","names":[]}