@prokodo/ui 0.1.14 → 1.0.0

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 (351) hide show
  1. package/LICENSE +187 -26
  2. package/NOTICE +24 -0
  3. package/README.md +32 -302
  4. package/dist/components/RTE/RTE.client.js +0 -1
  5. package/dist/components/RTE/RTE.css +180 -68
  6. package/dist/components/RTE/RTE.js +4 -1
  7. package/dist/components/RTE/RTE.module.css +180 -68
  8. package/dist/components/RTE/RTE.module.scss.js +10 -0
  9. package/dist/components/RTE/RTE.view.js +5 -1
  10. package/dist/components/accordion/Accordion.css +120 -67
  11. package/dist/components/accordion/Accordion.js +8 -2
  12. package/dist/components/accordion/Accordion.module.css +120 -67
  13. package/dist/components/accordion/Accordion.module.scss.js +12 -5
  14. package/dist/components/accordion/Accordion.view.js +4 -4
  15. package/dist/components/animated/Animated.client.js +13 -5
  16. package/dist/components/animated/Animated.js +8 -2
  17. package/dist/components/animatedText/AnimatedText.client.js +10 -2
  18. package/dist/components/animatedText/AnimatedText.js +8 -2
  19. package/dist/components/autocomplete/Autocomplete.client.js +5 -1
  20. package/dist/components/autocomplete/Autocomplete.css +111 -95
  21. package/dist/components/autocomplete/Autocomplete.js +4 -1
  22. package/dist/components/autocomplete/Autocomplete.module.css +111 -95
  23. package/dist/components/autocomplete/Autocomplete.module.scss.js +11 -4
  24. package/dist/components/autocomplete/Autocomplete.view.js +16 -5
  25. package/dist/components/avatar/Avatar.css +11 -8
  26. package/dist/components/avatar/Avatar.js +4 -1
  27. package/dist/components/avatar/Avatar.module.css +11 -8
  28. package/dist/components/avatar/Avatar.module.scss.js +1 -0
  29. package/dist/components/avatar/Avatar.view.js +22 -15
  30. package/dist/components/base-link/BaseLink.js +4 -1
  31. package/dist/components/base-link/BaseLink.view.js +3 -0
  32. package/dist/components/button/Button.client.js +12 -16
  33. package/dist/components/button/Button.css +85 -137
  34. package/dist/components/button/Button.js +4 -1
  35. package/dist/components/button/Button.module.css +85 -137
  36. package/dist/components/button/Button.module.scss.js +15 -19
  37. package/dist/components/button/Button.view.js +8 -2
  38. package/dist/components/calendly/Calendly.css +132 -0
  39. package/dist/components/calendly/Calendly.js +8 -2
  40. package/dist/components/calendly/Calendly.module.css +132 -0
  41. package/dist/components/calendly/Calendly.module.scss.js +6 -0
  42. package/dist/components/calendly/Calendly.view.js +12 -6
  43. package/dist/components/card/Card.client.js +6 -1
  44. package/dist/components/card/Card.css +67 -32
  45. package/dist/components/card/Card.js +11 -5
  46. package/dist/components/card/Card.module.css +67 -32
  47. package/dist/components/card/Card.module.scss.js +8 -2
  48. package/dist/components/card/Card.view.js +25 -8
  49. package/dist/components/carousel/Carousel.client.js +138 -129
  50. package/dist/components/carousel/Carousel.css +8 -4
  51. package/dist/components/carousel/Carousel.js +8 -2
  52. package/dist/components/carousel/Carousel.module.css +8 -4
  53. package/dist/components/carousel/Carousel.view.js +10 -0
  54. package/dist/components/checkbox/Checkbox.css +100 -79
  55. package/dist/components/checkbox/Checkbox.js +4 -1
  56. package/dist/components/checkbox/Checkbox.module.css +100 -79
  57. package/dist/components/checkbox/Checkbox.module.scss.js +11 -4
  58. package/dist/components/checkbox/Checkbox.view.js +7 -2
  59. package/dist/components/checkbox-group/CheckboxGroup.css +39 -6
  60. package/dist/components/checkbox-group/CheckboxGroup.js +4 -1
  61. package/dist/components/checkbox-group/CheckboxGroup.module.css +39 -6
  62. package/dist/components/checkbox-group/CheckboxGroup.module.scss.js +8 -0
  63. package/dist/components/checkbox-group/CheckboxGroup.view.js +7 -2
  64. package/dist/components/chip/Chip.css +185 -61
  65. package/dist/components/chip/Chip.js +4 -1
  66. package/dist/components/chip/Chip.module.css +185 -61
  67. package/dist/components/chip/Chip.module.scss.js +13 -17
  68. package/dist/components/chip/Chip.view.js +7 -4
  69. package/dist/components/datePicker/DatePicker.client.js +211 -66
  70. package/dist/components/datePicker/DatePicker.css +940 -0
  71. package/dist/components/datePicker/DatePicker.js +4 -1
  72. package/dist/components/datePicker/DatePicker.module.css +940 -0
  73. package/dist/components/datePicker/DatePicker.module.scss.js +62 -0
  74. package/dist/components/datePicker/DatePicker.server.js +31 -1
  75. package/dist/components/datePicker/DatePicker.utils.js +103 -0
  76. package/dist/components/datePicker/DatePicker.view.js +113 -41
  77. package/dist/components/datePicker/DatePickerDialog.view.js +291 -0
  78. package/dist/components/dialog/Dialog.css +107 -132
  79. package/dist/components/dialog/Dialog.js +8 -2
  80. package/dist/components/dialog/Dialog.module.css +107 -132
  81. package/dist/components/dialog/Dialog.module.scss.js +13 -8
  82. package/dist/components/dialog/Dialog.view.js +23 -5
  83. package/dist/components/drawer/Drawer.client.js +0 -1
  84. package/dist/components/drawer/Drawer.css +8 -8
  85. package/dist/components/drawer/Drawer.js +4 -1
  86. package/dist/components/drawer/Drawer.module.css +8 -8
  87. package/dist/components/drawer/Drawer.view.js +14 -3
  88. package/dist/components/dynamic-list/DynamicList.client.js +1 -0
  89. package/dist/components/dynamic-list/DynamicList.css +20 -12
  90. package/dist/components/dynamic-list/DynamicList.js +4 -1
  91. package/dist/components/dynamic-list/DynamicList.module.css +20 -12
  92. package/dist/components/dynamic-list/DynamicList.module.scss.js +1 -0
  93. package/dist/components/dynamic-list/DynamicList.view.js +89 -44
  94. package/dist/components/form/Form.client.js +4 -1
  95. package/dist/components/form/Form.js +4 -1
  96. package/dist/components/form/Form.view.js +6 -4
  97. package/dist/components/form/FormField.client.js +59 -4
  98. package/dist/components/form/FormField.js +4 -1
  99. package/dist/components/form/FormField.server.js +10 -4
  100. package/dist/components/form/FormResponse.js +6 -3
  101. package/dist/components/grid/Grid.css +1 -1
  102. package/dist/components/grid/Grid.module.css +1 -1
  103. package/dist/components/headline/Headline.css +16 -16
  104. package/dist/components/headline/Headline.js +13 -8
  105. package/dist/components/headline/Headline.module.css +16 -16
  106. package/dist/components/headline/Headline.module.scss.js +1 -1
  107. package/dist/components/headline/Headline.variants.js +4 -1
  108. package/dist/components/icon/Icon.css +14 -14
  109. package/dist/components/icon/Icon.js +8 -2
  110. package/dist/components/icon/Icon.module.css +14 -14
  111. package/dist/components/image/Image.client.js +9 -5
  112. package/dist/components/image/Image.css +4 -3
  113. package/dist/components/image/Image.js +8 -2
  114. package/dist/components/image/Image.module.css +4 -3
  115. package/dist/components/image/Image.server.js +2 -1
  116. package/dist/components/image-text/ImageText.css +43 -14
  117. package/dist/components/image-text/ImageText.js +68 -50
  118. package/dist/components/image-text/ImageText.module.css +43 -14
  119. package/dist/components/image-text/ImageText.module.scss.js +11 -2
  120. package/dist/components/input/Input.client.js +15 -2
  121. package/dist/components/input/Input.css +197 -115
  122. package/dist/components/input/Input.js +4 -1
  123. package/dist/components/input/Input.module.css +197 -115
  124. package/dist/components/input/Input.module.scss.js +19 -3
  125. package/dist/components/input/Input.view.js +102 -63
  126. package/dist/components/input/InputValidation.js +6 -2
  127. package/dist/components/inputOTP/InputOTP.client.js +165 -0
  128. package/dist/components/inputOTP/InputOTP.css +155 -7
  129. package/dist/components/inputOTP/InputOTP.js +10 -194
  130. package/dist/components/inputOTP/InputOTP.lazy.js +12 -0
  131. package/dist/components/inputOTP/InputOTP.module.css +155 -7
  132. package/dist/components/inputOTP/InputOTP.module.scss.js +14 -0
  133. package/dist/components/inputOTP/InputOTP.server.js +32 -0
  134. package/dist/components/inputOTP/InputOTP.view.js +117 -0
  135. package/dist/components/label/Label.css +33 -14
  136. package/dist/components/label/Label.js +37 -35
  137. package/dist/components/label/Label.module.css +33 -14
  138. package/dist/components/label/Label.module.scss.js +9 -2
  139. package/dist/components/link/Link.css +13 -13
  140. package/dist/components/link/Link.js +5 -3
  141. package/dist/components/link/Link.module.css +13 -13
  142. package/dist/components/link/Link.view.js +16 -13
  143. package/dist/components/list/List.css +71 -32
  144. package/dist/components/list/List.js +74 -28
  145. package/dist/components/list/List.module.css +71 -32
  146. package/dist/components/list/List.module.scss.js +1 -1
  147. package/dist/components/loading/Loading.js +4 -1
  148. package/dist/components/loading/Loading.view.js +47 -7
  149. package/dist/components/lottie/Lottie.css +16 -0
  150. package/dist/components/lottie/Lottie.js +9 -5
  151. package/dist/components/lottie/Lottie.module.css +16 -0
  152. package/dist/components/lottie/Lottie.module.scss.js +6 -2
  153. package/dist/components/map/Map.css +130 -0
  154. package/dist/components/map/Map.js +67 -46
  155. package/dist/components/map/Map.module.css +130 -0
  156. package/dist/components/map/Map.module.scss.js +6 -0
  157. package/dist/components/pagination/Pagination.css +127 -11
  158. package/dist/components/pagination/Pagination.js +4 -1
  159. package/dist/components/pagination/Pagination.module.css +127 -11
  160. package/dist/components/pagination/Pagination.module.scss.js +12 -4
  161. package/dist/components/pagination/Pagination.view.js +16 -2
  162. package/dist/components/post-item/PostItem.css +16 -16
  163. package/dist/components/post-item/PostItem.js +4 -1
  164. package/dist/components/post-item/PostItem.module.css +16 -16
  165. package/dist/components/post-item/PostItem.view.js +14 -5
  166. package/dist/components/post-item/PostItemAuthor.js +4 -1
  167. package/dist/components/post-teaser/PostTeaser.css +13 -13
  168. package/dist/components/post-teaser/PostTeaser.js +4 -1
  169. package/dist/components/post-teaser/PostTeaser.module.css +13 -13
  170. package/dist/components/post-teaser/PostTeaser.view.js +14 -5
  171. package/dist/components/post-widget/PostWidget.css +6 -8
  172. package/dist/components/post-widget/PostWidget.js +5 -3
  173. package/dist/components/post-widget/PostWidget.module.css +6 -8
  174. package/dist/components/post-widget/PostWidget.view.js +21 -8
  175. package/dist/components/post-widget-carousel/PostWidgetCarousel.css +7 -7
  176. package/dist/components/post-widget-carousel/PostWidgetCarousel.js +8 -2
  177. package/dist/components/post-widget-carousel/PostWidgetCarousel.module.css +7 -7
  178. package/dist/components/post-widget-carousel/PostWidgetCarousel.view.js +32 -14
  179. package/dist/components/progressBar/ProgressBar.css +4 -4
  180. package/dist/components/progressBar/ProgressBar.js +8 -2
  181. package/dist/components/progressBar/ProgressBar.module.css +4 -4
  182. package/dist/components/progressBar/ProgressBar.view.js +6 -3
  183. package/dist/components/quote/Quote.css +21 -6
  184. package/dist/components/quote/Quote.js +5 -5
  185. package/dist/components/quote/Quote.module.css +21 -6
  186. package/dist/components/quote/Quote.module.scss.js +5 -0
  187. package/dist/components/rating/Rating.client.js +6 -1
  188. package/dist/components/rating/Rating.css +34 -21
  189. package/dist/components/rating/Rating.js +4 -1
  190. package/dist/components/rating/Rating.module.css +34 -21
  191. package/dist/components/rating/Rating.module.scss.js +8 -0
  192. package/dist/components/rating/Rating.view.js +4 -2
  193. package/dist/components/rich-text/RichText.client.js +55 -20
  194. package/dist/components/rich-text/RichText.css +47 -31
  195. package/dist/components/rich-text/RichText.js +8 -2
  196. package/dist/components/rich-text/RichText.module.css +47 -31
  197. package/dist/components/rich-text/RichText.server.js +3 -0
  198. package/dist/components/select/Select.client.js +303 -102
  199. package/dist/components/select/Select.css +542 -221
  200. package/dist/components/select/Select.js +8 -2
  201. package/dist/components/select/Select.module.css +542 -221
  202. package/dist/components/select/Select.module.scss.js +57 -14
  203. package/dist/components/select/Select.view.js +75 -25
  204. package/dist/components/sidenav/SideNav.client.js +24 -1
  205. package/dist/components/sidenav/SideNav.css +89 -21
  206. package/dist/components/sidenav/SideNav.js +8 -2
  207. package/dist/components/sidenav/SideNav.module.css +89 -21
  208. package/dist/components/sidenav/SideNav.module.scss.js +6 -1
  209. package/dist/components/sidenav/SideNav.view.js +69 -14
  210. package/dist/components/skeleton/Skeleton.css +7 -7
  211. package/dist/components/skeleton/Skeleton.module.css +7 -7
  212. package/dist/components/slider/Slider.client.js +11 -2
  213. package/dist/components/slider/Slider.css +177 -112
  214. package/dist/components/slider/Slider.js +4 -1
  215. package/dist/components/slider/Slider.module.css +177 -112
  216. package/dist/components/slider/Slider.module.scss.js +11 -2
  217. package/dist/components/slider/Slider.view.js +140 -90
  218. package/dist/components/snackbar/Snackbar.client.js +5 -1
  219. package/dist/components/snackbar/Snackbar.css +125 -64
  220. package/dist/components/snackbar/Snackbar.js +4 -1
  221. package/dist/components/snackbar/Snackbar.module.css +125 -64
  222. package/dist/components/snackbar/Snackbar.module.scss.js +11 -13
  223. package/dist/components/snackbar/Snackbar.view.js +2 -2
  224. package/dist/components/snackbar/SnackbarProvider.js +8 -2
  225. package/dist/components/stepper/Stepper.client.js +27 -9
  226. package/dist/components/stepper/Stepper.css +46 -11
  227. package/dist/components/stepper/Stepper.js +4 -1
  228. package/dist/components/stepper/Stepper.module.css +46 -11
  229. package/dist/components/stepper/Stepper.module.scss.js +7 -0
  230. package/dist/components/stepper/Stepper.server.js +2 -0
  231. package/dist/components/stepper/Stepper.view.js +6 -1
  232. package/dist/components/switch/Switch.css +108 -84
  233. package/dist/components/switch/Switch.js +4 -1
  234. package/dist/components/switch/Switch.module.css +108 -84
  235. package/dist/components/switch/Switch.module.scss.js +14 -12
  236. package/dist/components/switch/Switch.view.js +10 -8
  237. package/dist/components/table/Table.css +19 -14
  238. package/dist/components/table/Table.js +1 -0
  239. package/dist/components/table/Table.module.css +19 -14
  240. package/dist/components/tabs/Tabs.client.js +1 -0
  241. package/dist/components/tabs/Tabs.css +53 -27
  242. package/dist/components/tabs/Tabs.js +8 -2
  243. package/dist/components/tabs/Tabs.module.css +53 -27
  244. package/dist/components/tabs/Tabs.module.scss.js +7 -2
  245. package/dist/components/tabs/Tabs.view.js +12 -4
  246. package/dist/components/teaser/Teaser.css +5 -5
  247. package/dist/components/teaser/Teaser.js +4 -4
  248. package/dist/components/teaser/Teaser.module.css +5 -5
  249. package/dist/components/tooltip/Tooltip.client.js +140 -95
  250. package/dist/components/tooltip/Tooltip.css +46 -9
  251. package/dist/components/tooltip/Tooltip.js +10 -4
  252. package/dist/components/tooltip/Tooltip.module.css +46 -9
  253. package/dist/components/tooltip/Tooltip.module.scss.js +5 -1
  254. package/dist/components/tooltip/Tooltip.view.js +7 -1
  255. package/dist/constants/project.js +1 -1
  256. package/dist/helpers/createIsland.js +1 -0
  257. package/dist/helpers/createLazyWrapper.js +1 -0
  258. package/dist/hooks/useGoogleMaps.js +0 -1
  259. package/dist/theme.css +3269 -1588
  260. package/dist/tsconfig.build.tsbuildinfo +1 -1
  261. package/dist/types/components/RTE/RTE.d.ts +6 -1
  262. package/dist/types/components/RTE/RTE.lazy.d.ts +6 -1
  263. package/dist/types/components/RTE/RTE.view.d.ts +1 -1
  264. package/dist/types/components/accordion/Accordion.d.ts +1 -1
  265. package/dist/types/components/accordion/Accordion.lazy.d.ts +1 -1
  266. package/dist/types/components/accordion/Accordion.model.d.ts +1 -1
  267. package/dist/types/components/accordion/Accordion.view.d.ts +1 -1
  268. package/dist/types/components/autocomplete/Autocomplete.model.d.ts +2 -0
  269. package/dist/types/components/autocomplete/Autocomplete.view.d.ts +1 -1
  270. package/dist/types/components/avatar/Avatar.d.ts +1 -1
  271. package/dist/types/components/avatar/Avatar.lazy.d.ts +1 -1
  272. package/dist/types/components/avatar/Avatar.model.d.ts +1 -1
  273. package/dist/types/components/avatar/Avatar.view.d.ts +1 -1
  274. package/dist/types/components/calendly/Calendly.view.d.ts +1 -1
  275. package/dist/types/components/card/Card.model.d.ts +1 -1
  276. package/dist/types/components/card/Card.view.d.ts +1 -1
  277. package/dist/types/components/carousel/Carousel.view.d.ts +1 -1
  278. package/dist/types/components/checkbox/Checkbox.d.ts +1 -0
  279. package/dist/types/components/checkbox/Checkbox.lazy.d.ts +1 -0
  280. package/dist/types/components/checkbox/Checkbox.model.d.ts +2 -0
  281. package/dist/types/components/checkbox/Checkbox.view.d.ts +1 -1
  282. package/dist/types/components/checkbox-group/CheckboxGroup.model.d.ts +2 -0
  283. package/dist/types/components/checkbox-group/CheckboxGroup.view.d.ts +1 -1
  284. package/dist/types/components/datePicker/DatePicker.model.d.ts +70 -1
  285. package/dist/types/components/datePicker/DatePicker.utils.d.ts +10 -0
  286. package/dist/types/components/datePicker/DatePicker.view.d.ts +7 -4
  287. package/dist/types/components/datePicker/DatePickerDialog.view.d.ts +4 -0
  288. package/dist/types/components/dynamic-list/DynamicList.model.d.ts +3 -1
  289. package/dist/types/components/dynamic-list/DynamicList.view.d.ts +1 -1
  290. package/dist/types/components/form/Form.d.ts +1 -1
  291. package/dist/types/components/form/Form.lazy.d.ts +1 -1
  292. package/dist/types/components/form/Form.model.d.ts +19 -4
  293. package/dist/types/components/form/FormField.client.d.ts +2 -2
  294. package/dist/types/components/form/FormField.d.ts +1 -1
  295. package/dist/types/components/form/FormField.lazy.d.ts +1 -1
  296. package/dist/types/components/form/FormField.server.d.ts +2 -2
  297. package/dist/types/components/headline/Headline.model.d.ts +2 -2
  298. package/dist/types/components/input/Input.model.d.ts +8 -1
  299. package/dist/types/components/input/Input.view.d.ts +1 -1
  300. package/dist/types/components/inputOTP/InputOTP.client.d.ts +4 -0
  301. package/dist/types/components/inputOTP/InputOTP.d.ts +10 -3
  302. package/dist/types/components/inputOTP/InputOTP.lazy.d.ts +11 -0
  303. package/dist/types/components/inputOTP/InputOTP.model.d.ts +10 -0
  304. package/dist/types/components/inputOTP/InputOTP.server.d.ts +3 -0
  305. package/dist/types/components/inputOTP/InputOTP.view.d.ts +3 -0
  306. package/dist/types/components/inputOTP/index.d.ts +1 -1
  307. package/dist/types/components/label/Label.model.d.ts +2 -0
  308. package/dist/types/components/link/Link.model.d.ts +1 -1
  309. package/dist/types/components/link/Link.view.d.ts +1 -1
  310. package/dist/types/components/list/List.d.ts +1 -1
  311. package/dist/types/components/list/List.model.d.ts +14 -5
  312. package/dist/types/components/list/index.d.ts +1 -1
  313. package/dist/types/components/loading/Loading.model.d.ts +2 -0
  314. package/dist/types/components/loading/index.d.ts +1 -1
  315. package/dist/types/components/pagination/Pagination.model.d.ts +2 -0
  316. package/dist/types/components/pagination/Pagination.view.d.ts +1 -1
  317. package/dist/types/components/post-item/PostItem.model.d.ts +2 -1
  318. package/dist/types/components/post-teaser/PostTeaser.model.d.ts +2 -1
  319. package/dist/types/components/post-widget/PostWidget.view.d.ts +1 -1
  320. package/dist/types/components/progressBar/ProgressBar.d.ts +1 -1
  321. package/dist/types/components/progressBar/ProgressBar.lazy.d.ts +1 -1
  322. package/dist/types/components/progressBar/ProgressBar.model.d.ts +3 -2
  323. package/dist/types/components/progressBar/ProgressBar.view.d.ts +1 -1
  324. package/dist/types/components/progressBar/index.d.ts +1 -1
  325. package/dist/types/components/quote/Quote.model.d.ts +1 -1
  326. package/dist/types/components/rating/Rating.model.d.ts +2 -0
  327. package/dist/types/components/rich-text/RichText.client.d.ts +1 -1
  328. package/dist/types/components/rich-text/RichText.d.ts +1 -1
  329. package/dist/types/components/rich-text/RichText.lazy.d.ts +1 -1
  330. package/dist/types/components/rich-text/RichText.model.d.ts +1 -1
  331. package/dist/types/components/select/Select.model.d.ts +2 -0
  332. package/dist/types/components/select/Select.view.d.ts +1 -1
  333. package/dist/types/components/sidenav/SideNav.client.d.ts +1 -1
  334. package/dist/types/components/sidenav/SideNav.model.d.ts +16 -2
  335. package/dist/types/components/sidenav/SideNav.view.d.ts +1 -1
  336. package/dist/types/components/slider/Slider.model.d.ts +2 -0
  337. package/dist/types/components/snackbar/Snackbar.model.d.ts +3 -2
  338. package/dist/types/components/snackbar/Snackbar.view.d.ts +3 -2
  339. package/dist/types/components/snackbar/index.d.ts +1 -1
  340. package/dist/types/components/stepper/Stepper.d.ts +1 -0
  341. package/dist/types/components/stepper/Stepper.lazy.d.ts +1 -0
  342. package/dist/types/components/stepper/Stepper.model.d.ts +3 -0
  343. package/dist/types/components/stepper/Stepper.server.d.ts +1 -1
  344. package/dist/types/components/switch/Switch.d.ts +2 -2
  345. package/dist/types/components/switch/Switch.lazy.d.ts +2 -2
  346. package/dist/types/components/switch/Switch.model.d.ts +3 -4
  347. package/dist/types/components/tabs/Tabs.model.d.ts +2 -0
  348. package/dist/types/components/tabs/Tabs.view.d.ts +1 -1
  349. package/dist/types/components/teaser/Teaser.model.d.ts +1 -1
  350. package/dist/types/components/tooltip/Tooltip.model.d.ts +2 -0
  351. package/package.json +53 -24
@@ -31,7 +31,8 @@ function RatingView(props) {
31
31
  onClick,
32
32
  onMouseEnter,
33
33
  onMouseLeave,
34
- inputRef
34
+ inputRef,
35
+ color
35
36
  } = props;
36
37
  const isError = typeof errorText === "string";
37
38
  const hasHelperText = isString(helperText);
@@ -46,7 +47,7 @@ function RatingView(props) {
46
47
  {
47
48
  className: bem(
48
49
  void 0,
49
- { "full-width": Boolean(fullWidth) },
50
+ { "full-width": Boolean(fullWidth), ...color && { [color]: true } },
50
51
  className
51
52
  ),
52
53
  children: [
@@ -55,6 +56,7 @@ function RatingView(props) {
55
56
  Label,
56
57
  {
57
58
  ...labelProps,
59
+ color,
58
60
  error: isError,
59
61
  htmlFor: name,
60
62
  label,
@@ -3,7 +3,7 @@ var __defProp = Object.defineProperty;
3
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import { Marked as B } from "../../node_modules/.pnpm/marked@17.0.1/node_modules/marked/lib/marked.esm.js";
6
- import { useRef, useMemo, useState, useEffect, Fragment, Children, isValidElement, createElement } from "react";
6
+ import { useRef, useMemo, useState, useEffect, Fragment, Children, cloneElement, isValidElement, createElement } from "react";
7
7
  import { l as libExports } from "../../_virtual/index.js";
8
8
  import { create } from "../../helpers/bem.js";
9
9
  import { isString } from "../../helpers/validations.js";
@@ -15,9 +15,15 @@ import { Headline } from "../headline/Headline.js";
15
15
  import { AnimatedText } from "../animatedText/AnimatedText.js";
16
16
  const bem = create(styles, "RichText");
17
17
  const xssOptions = (() => {
18
- const wl = typeof libExports.getDefaultWhiteList === "function" ? libExports.getDefaultWhiteList() : {};
18
+ const wl = typeof libExports.getDefaultWhiteList === "function" ? libExports.getDefaultWhiteList() : (
19
+ /* istanbul ignore next */
20
+ {}
21
+ );
19
22
  const add = /* @__PURE__ */ __name((tag) => {
20
- wl[tag] = Array.from(/* @__PURE__ */ new Set([...wl[tag] ?? [], "class"]));
23
+ wl[tag] = Array.from(
24
+ /* @__PURE__ */ new Set([.../* istanbul ignore next */
25
+ wl[tag] ?? [], "class"])
26
+ );
21
27
  }, "add");
22
28
  add("pre");
23
29
  add("code");
@@ -28,7 +34,10 @@ const xssOptions = (() => {
28
34
  };
29
35
  })();
30
36
  const normalize = /* @__PURE__ */ __name((nodes) => Children.toArray(nodes), "normalize");
31
- const withKey = /* @__PURE__ */ __name((el, key) => isValidElement(el) ? el.key == null ? { ...el, key } : el : el, "withKey");
37
+ const withKey = /* @__PURE__ */ __name((el, key) => isValidElement(el) ? el.key == null ? cloneElement(el, { key }) : el : (
38
+ /* istanbul ignore next */
39
+ el
40
+ ), "withKey");
32
41
  const hasCodeBlocks = /* @__PURE__ */ __name((src) => /(^|\n)```/.test(src) || /<pre|<code/i.test(src), "hasCodeBlocks");
33
42
  const extractFenceLangs = /* @__PURE__ */ __name((src) => {
34
43
  const langs = /* @__PURE__ */ new Set();
@@ -80,7 +89,7 @@ function RichTextClient({
80
89
  children,
81
90
  animated,
82
91
  animationProps = {},
83
- variant = "primary",
92
+ color = "primary",
84
93
  schema = {},
85
94
  itemProp,
86
95
  linkComponent,
@@ -97,16 +106,22 @@ function RichTextClient({
97
106
  ...schema
98
107
  };
99
108
  const headlineProps = { animationProps };
100
- const renderAnimation = /* @__PURE__ */ __name((content) => {
109
+ const renderAnimation = /* @__PURE__ */ __name((content, idx) => {
101
110
  if (!Boolean(animated)) return content;
102
- return typeof content === "string" ? /* @__PURE__ */ jsx(AnimatedText, { ...animationProps, children: content }) : content;
111
+ return typeof content === "string" ? /* @__PURE__ */ jsx(AnimatedText, { ...animationProps, children: content }, `anim-${idx}`) : (
112
+ /* istanbul ignore next */
113
+ content
114
+ );
103
115
  }, "renderAnimation");
104
- const src = String(children ?? "");
116
+ const src = String(
117
+ /* istanbul ignore next */
118
+ children ?? ""
119
+ );
105
120
  const fastHtml = useMemo(() => {
106
121
  const parser2 = new B({ gfm: true, breaks: true });
107
122
  return libExports.filterXSS(parser2.parse(src), xssOptions);
108
123
  }, [src]);
109
- const [html, setHtml] = useState("");
124
+ const [html, setHtml] = useState(fastHtml);
110
125
  useEffect(() => {
111
126
  let cancelled = false;
112
127
  void (async () => {
@@ -120,6 +135,7 @@ function RichTextClient({
120
135
  ]);
121
136
  const markedHighlight = (
122
137
  // support both module shapes
138
+ /* istanbul ignore next */
123
139
  mhMod.markedHighlight ?? mhMod.default
124
140
  );
125
141
  if (typeof markedHighlight !== "function") {
@@ -249,7 +265,11 @@ function RichTextClient({
249
265
  }
250
266
  case "a": {
251
267
  const cls = bem("a");
252
- const href = elem.getAttribute("href") ?? "#";
268
+ const href = (
269
+ /* istanbul ignore next */
270
+ elem.getAttribute("href") ?? /* istanbul ignore next */
271
+ "#"
272
+ );
253
273
  const title = elem.getAttribute("title") ?? void 0;
254
274
  const linkText = normalize(keyedChildren.map(renderAnimation));
255
275
  const isHttp = /^https?:\/\//i.test(href);
@@ -263,7 +283,8 @@ function RichTextClient({
263
283
  const htmlTarget = elem.getAttribute("target") ?? void 0;
264
284
  const wantsBlank = htmlTarget === "_blank";
265
285
  target = wantsBlank ? "_blank" : void 0;
266
- rel = wantsBlank ? "noopener" : void 0;
286
+ rel = /* istanbul ignore next */
287
+ wantsBlank ? "noopener" : void 0;
267
288
  }
268
289
  return /* @__PURE__ */ jsx(
269
290
  Link,
@@ -271,12 +292,12 @@ function RichTextClient({
271
292
  ...baseProps,
272
293
  "aria-label": childReactNodes.map(extractText).join(""),
273
294
  className: cls,
295
+ color: "primary",
274
296
  href,
275
297
  linkComponent,
276
298
  rel,
277
299
  target,
278
300
  title,
279
- variant: "primary",
280
301
  children: linkText
281
302
  }
282
303
  );
@@ -303,13 +324,21 @@ function RichTextClient({
303
324
  const existing = elem.getAttribute("class");
304
325
  const src2 = elem.getAttribute("src");
305
326
  const alt = elem.getAttribute("alt");
306
- return /* @__PURE__ */ jsx("span", { className: bem("image__wrapper"), children: /* @__PURE__ */ jsx(
327
+ const altStr = alt ?? "";
328
+ const srcStr = src2 ?? "";
329
+ return /* @__PURE__ */ jsx("span", { className: bem("image__wrapper"), children: srcStr ? /* @__PURE__ */ jsx(
307
330
  Image,
308
331
  {
309
332
  fill: true,
310
- alt: alt ?? "",
333
+ alt: altStr,
311
334
  className: [bem("image"), existing].filter(Boolean).join(" "),
312
- src: src2 ?? ""
335
+ src: srcStr
336
+ }
337
+ ) : /* @__PURE__ */ jsx(
338
+ "img",
339
+ {
340
+ alt: altStr,
341
+ className: [bem("image"), existing].filter(Boolean).join(" ")
313
342
  }
314
343
  ) });
315
344
  }
@@ -320,7 +349,10 @@ function RichTextClient({
320
349
  case "ol": {
321
350
  const cls = bem("ol");
322
351
  const startAttr = elem.getAttribute("start");
323
- const start = isString(startAttr) ? parseInt(startAttr, 10) || 1 : 1;
352
+ const start = isString(startAttr) ? (
353
+ /* istanbul ignore next */
354
+ parseInt(startAttr, 10) || 1
355
+ ) : 1;
324
356
  const liElems = Array.from(elem.children).filter(
325
357
  (e) => e.tagName.toLowerCase() === "li"
326
358
  );
@@ -344,7 +376,7 @@ function RichTextClient({
344
376
  Icon,
345
377
  {
346
378
  className: bem("li__icon"),
347
- color: variant,
379
+ color,
348
380
  name: "ArrowRight01Icon",
349
381
  size: 18
350
382
  },
@@ -359,8 +391,10 @@ function RichTextClient({
359
391
  className: [bem(tagName), existing].filter(Boolean).join(" ")
360
392
  };
361
393
  if (tagName === "img") {
362
- props2.src = elem.getAttribute("src") ?? "";
363
- props2.alt = elem.getAttribute("alt") ?? "";
394
+ props2.src = /* istanbul ignore next */
395
+ elem.getAttribute("src") ?? "";
396
+ props2.alt = /* istanbul ignore next */
397
+ elem.getAttribute("alt") ?? "";
364
398
  props2.loading = "lazy";
365
399
  }
366
400
  if (VOID_TAGS.has(tagName)) {
@@ -407,7 +441,8 @@ function RichTextClient({
407
441
  __name(RichTextClient, "RichTextClient");
408
442
  RichTextClient.displayName = "RichTextClient";
409
443
  function extractText(node) {
410
- if (typeof node === "string" || typeof node === "number") {
444
+ if (typeof node === "string" || /* istanbul ignore next */
445
+ typeof node === "number") {
411
446
  return String(node);
412
447
  }
413
448
  if (Array.isArray(node)) {
@@ -125,10 +125,10 @@
125
125
  * content.
126
126
  */
127
127
  .prokodo-RichText__a {
128
- color: var(--color-primary-500);
128
+ color: var(--pk-color-brand);
129
129
  }
130
130
  .prokodo-RichText__p {
131
- color: var(--color-grey-500);
131
+ color: var(--pk-color-muted);
132
132
  font-weight: 400;
133
133
  font-size: 1.125rem;
134
134
  font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
@@ -152,15 +152,12 @@
152
152
  .prokodo-RichText__p {
153
153
  text-align: inherit;
154
154
  }
155
- html[data-theme=dark] .prokodo-RichText__p {
156
- color: var(--color-grey-700);
157
- }
158
155
  .prokodo-RichText__pre {
159
- color: var(--color-grey-500);
156
+ color: var(--pk-color-muted);
160
157
  padding: 0;
161
- border: 1px solid var(--color-grey-200);
162
- border-radius: 5px;
163
- background-color: var(--color-grey-50);
158
+ border: 1px solid var(--pk-color-border);
159
+ border-radius: var(--pk-radius-sm);
160
+ background-color: var(--pk-color-surface-raised);
164
161
  overflow-x: auto;
165
162
  overflow-wrap: break-word;
166
163
  font-weight: 400;
@@ -188,19 +185,16 @@ html[data-theme=dark] .prokodo-RichText__p {
188
185
  .prokodo-RichText__pre {
189
186
  text-align: inherit;
190
187
  }
191
- html[data-theme=dark] .prokodo-RichText__pre {
192
- background-color: var(--color-grey-50);
193
- }
194
188
  .prokodo-RichText__blockquote {
195
- background-color: var(--color-grey-50);
196
- border-left: 3px solid var(--color-grey-100);
197
- padding: 1px 1rem;
189
+ background-color: var(--pk-color-surface-raised);
190
+ border-left: 3px solid var(--pk-color-border);
191
+ padding: 1px var(--pk-space-lg);
198
192
  margin: 0;
199
193
  }
200
194
  .prokodo-RichText__image {
201
195
  -o-object-fit: cover;
202
196
  object-fit: cover;
203
- border-radius: 13px;
197
+ border-radius: var(--pk-radius-md);
204
198
  }
205
199
  .prokodo-RichText__image__wrapper {
206
200
  position: relative;
@@ -208,7 +202,7 @@ html[data-theme=dark] .prokodo-RichText__pre {
208
202
  width: 100%;
209
203
  height: 300px;
210
204
  overflow: hidden;
211
- border-radius: 13px;
205
+ border-radius: var(--pk-radius-md);
212
206
  }
213
207
  .prokodo-RichText__ul, .prokodo-RichText__ol {
214
208
  padding: 0;
@@ -217,14 +211,14 @@ html[data-theme=dark] .prokodo-RichText__pre {
217
211
  .prokodo-RichText__li {
218
212
  display: flex;
219
213
  align-items: flex-start;
220
- padding-bottom: 0.25rem;
214
+ padding-bottom: var(--pk-space-xs);
221
215
  margin-top: 2px;
222
216
  }
223
217
  .prokodo-RichText__li__icon {
224
218
  flex: 0 0 20px;
225
219
  width: 20px;
226
220
  height: 20px;
227
- margin-right: 0.5rem;
221
+ margin-right: var(--pk-space-sm);
228
222
  padding-top: 2px;
229
223
  line-height: 1;
230
224
  }
@@ -233,6 +227,28 @@ html[data-theme=dark] .prokodo-RichText__pre {
233
227
  min-width: 0;
234
228
  overflow-wrap: anywhere;
235
229
  display: inline;
230
+ font-weight: 400;
231
+ font-size: 1.125rem;
232
+ font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
233
+ font-style: normal;
234
+ line-height: 1.55;
235
+ letter-spacing: 0.03em;
236
+ text-transform: none;
237
+ text-align: left;
238
+ text-decoration: none;
239
+ }
240
+ @media screen and (min-width: 480px) {
241
+ .prokodo-RichText__li__content {
242
+ font-size: 1rem;
243
+ }
244
+ }
245
+ @media screen and (min-width: 960px) {
246
+ .prokodo-RichText__li__content {
247
+ font-size: 1rem;
248
+ }
249
+ }
250
+ .prokodo-RichText__li__content {
251
+ color: var(--pk-color-fg);
236
252
  }
237
253
  .prokodo-RichText__ol__decimal {
238
254
  display: flex;
@@ -240,11 +256,11 @@ html[data-theme=dark] .prokodo-RichText__pre {
240
256
  align-items: center;
241
257
  width: 19px;
242
258
  height: 19px;
243
- background-color: var(--color-primary-500);
244
- color: var(--color-white);
245
- border: 1px solid var(--color-primary-500);
259
+ background-color: var(--pk-color-brand);
260
+ color: var(--pk-palette-white);
261
+ border: 1px solid var(--pk-color-brand);
246
262
  border-radius: 200px;
247
- margin-right: 0.5rem;
263
+ margin-right: var(--pk-space-sm);
248
264
  font-weight: 400;
249
265
  font-size: 1rem;
250
266
  font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
@@ -274,26 +290,26 @@ html[data-theme=dark] .prokodo-RichText__pre {
274
290
  display: -webkit-box;
275
291
  }
276
292
  .prokodo-RichText__ol > li icon--inherit {
277
- color: var(--color-grey-900);
293
+ color: var(--pk-color-fg);
278
294
  }
279
295
  .prokodo-RichText__ol > li icon--primary {
280
- color: var(--color-primary-500);
296
+ color: var(--pk-color-brand);
281
297
  }
282
298
  .prokodo-RichText__ol > li icon--secondary {
283
- color: var(--color-secondary-500);
299
+ color: var(--pk-color-accent);
284
300
  }
285
301
  .prokodo-RichText__ol > li icon--info {
286
- color: var(--color-grey-500);
302
+ color: var(--pk-color-muted);
287
303
  }
288
304
  .prokodo-RichText__ol > li icon--success {
289
- color: var(--color-success);
305
+ color: var(--pk-color-success);
290
306
  }
291
307
  .prokodo-RichText__ol > li icon--error {
292
- color: var(--color-error);
308
+ color: var(--pk-color-error);
293
309
  }
294
310
  .prokodo-RichText__ol > li icon--warning {
295
- color: var(--color-warning);
311
+ color: var(--pk-color-warning);
296
312
  }
297
313
  .prokodo-RichText__ol > li icon--white {
298
- color: var(--color-white);
314
+ color: var(--pk-palette-white);
299
315
  }
@@ -5,8 +5,14 @@ import { RichTextServer } from "./RichText.server.js";
5
5
  const RichText = createIsland({
6
6
  name: "RichText",
7
7
  Server: RichTextServer,
8
- loadLazy: /* @__PURE__ */ __name(() => import("./RichText.lazy.js"), "loadLazy"),
9
- isInteractive: /* @__PURE__ */ __name(() => true, "isInteractive")
8
+ loadLazy: (
9
+ /* istanbul ignore next */
10
+ /* @__PURE__ */ __name(() => import("./RichText.lazy.js"), "loadLazy")
11
+ ),
12
+ isInteractive: (
13
+ /* istanbul ignore next */
14
+ /* @__PURE__ */ __name(() => true, "isInteractive")
15
+ )
10
16
  });
11
17
  export {
12
18
  RichText
@@ -125,10 +125,10 @@
125
125
  * content.
126
126
  */
127
127
  .prokodo-RichText__a {
128
- color: var(--color-primary-500);
128
+ color: var(--pk-color-brand);
129
129
  }
130
130
  .prokodo-RichText__p {
131
- color: var(--color-grey-500);
131
+ color: var(--pk-color-muted);
132
132
  font-weight: 400;
133
133
  font-size: 1.125rem;
134
134
  font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
@@ -152,15 +152,12 @@
152
152
  .prokodo-RichText__p {
153
153
  text-align: inherit;
154
154
  }
155
- html[data-theme=dark] .prokodo-RichText__p {
156
- color: var(--color-grey-700);
157
- }
158
155
  .prokodo-RichText__pre {
159
- color: var(--color-grey-500);
156
+ color: var(--pk-color-muted);
160
157
  padding: 0;
161
- border: 1px solid var(--color-grey-200);
162
- border-radius: 5px;
163
- background-color: var(--color-grey-50);
158
+ border: 1px solid var(--pk-color-border);
159
+ border-radius: var(--pk-radius-sm);
160
+ background-color: var(--pk-color-surface-raised);
164
161
  overflow-x: auto;
165
162
  overflow-wrap: break-word;
166
163
  font-weight: 400;
@@ -188,19 +185,16 @@ html[data-theme=dark] .prokodo-RichText__p {
188
185
  .prokodo-RichText__pre {
189
186
  text-align: inherit;
190
187
  }
191
- html[data-theme=dark] .prokodo-RichText__pre {
192
- background-color: var(--color-grey-50);
193
- }
194
188
  .prokodo-RichText__blockquote {
195
- background-color: var(--color-grey-50);
196
- border-left: 3px solid var(--color-grey-100);
197
- padding: 1px 1rem;
189
+ background-color: var(--pk-color-surface-raised);
190
+ border-left: 3px solid var(--pk-color-border);
191
+ padding: 1px var(--pk-space-lg);
198
192
  margin: 0;
199
193
  }
200
194
  .prokodo-RichText__image {
201
195
  -o-object-fit: cover;
202
196
  object-fit: cover;
203
- border-radius: 13px;
197
+ border-radius: var(--pk-radius-md);
204
198
  }
205
199
  .prokodo-RichText__image__wrapper {
206
200
  position: relative;
@@ -208,7 +202,7 @@ html[data-theme=dark] .prokodo-RichText__pre {
208
202
  width: 100%;
209
203
  height: 300px;
210
204
  overflow: hidden;
211
- border-radius: 13px;
205
+ border-radius: var(--pk-radius-md);
212
206
  }
213
207
  .prokodo-RichText__ul, .prokodo-RichText__ol {
214
208
  padding: 0;
@@ -217,14 +211,14 @@ html[data-theme=dark] .prokodo-RichText__pre {
217
211
  .prokodo-RichText__li {
218
212
  display: flex;
219
213
  align-items: flex-start;
220
- padding-bottom: 0.25rem;
214
+ padding-bottom: var(--pk-space-xs);
221
215
  margin-top: 2px;
222
216
  }
223
217
  .prokodo-RichText__li__icon {
224
218
  flex: 0 0 20px;
225
219
  width: 20px;
226
220
  height: 20px;
227
- margin-right: 0.5rem;
221
+ margin-right: var(--pk-space-sm);
228
222
  padding-top: 2px;
229
223
  line-height: 1;
230
224
  }
@@ -233,6 +227,28 @@ html[data-theme=dark] .prokodo-RichText__pre {
233
227
  min-width: 0;
234
228
  overflow-wrap: anywhere;
235
229
  display: inline;
230
+ font-weight: 400;
231
+ font-size: 1.125rem;
232
+ font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
233
+ font-style: normal;
234
+ line-height: 1.55;
235
+ letter-spacing: 0.03em;
236
+ text-transform: none;
237
+ text-align: left;
238
+ text-decoration: none;
239
+ }
240
+ @media screen and (min-width: 480px) {
241
+ .prokodo-RichText__li__content {
242
+ font-size: 1rem;
243
+ }
244
+ }
245
+ @media screen and (min-width: 960px) {
246
+ .prokodo-RichText__li__content {
247
+ font-size: 1rem;
248
+ }
249
+ }
250
+ .prokodo-RichText__li__content {
251
+ color: var(--pk-color-fg);
236
252
  }
237
253
  .prokodo-RichText__ol__decimal {
238
254
  display: flex;
@@ -240,11 +256,11 @@ html[data-theme=dark] .prokodo-RichText__pre {
240
256
  align-items: center;
241
257
  width: 19px;
242
258
  height: 19px;
243
- background-color: var(--color-primary-500);
244
- color: var(--color-white);
245
- border: 1px solid var(--color-primary-500);
259
+ background-color: var(--pk-color-brand);
260
+ color: var(--pk-palette-white);
261
+ border: 1px solid var(--pk-color-brand);
246
262
  border-radius: 200px;
247
- margin-right: 0.5rem;
263
+ margin-right: var(--pk-space-sm);
248
264
  font-weight: 400;
249
265
  font-size: 1rem;
250
266
  font-family: var(--font-secondary), -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
@@ -274,26 +290,26 @@ html[data-theme=dark] .prokodo-RichText__pre {
274
290
  display: -webkit-box;
275
291
  }
276
292
  .prokodo-RichText__ol > li icon--inherit {
277
- color: var(--color-grey-900);
293
+ color: var(--pk-color-fg);
278
294
  }
279
295
  .prokodo-RichText__ol > li icon--primary {
280
- color: var(--color-primary-500);
296
+ color: var(--pk-color-brand);
281
297
  }
282
298
  .prokodo-RichText__ol > li icon--secondary {
283
- color: var(--color-secondary-500);
299
+ color: var(--pk-color-accent);
284
300
  }
285
301
  .prokodo-RichText__ol > li icon--info {
286
- color: var(--color-grey-500);
302
+ color: var(--pk-color-muted);
287
303
  }
288
304
  .prokodo-RichText__ol > li icon--success {
289
- color: var(--color-success);
305
+ color: var(--pk-color-success);
290
306
  }
291
307
  .prokodo-RichText__ol > li icon--error {
292
- color: var(--color-error);
308
+ color: var(--pk-color-error);
293
309
  }
294
310
  .prokodo-RichText__ol > li icon--warning {
295
- color: var(--color-warning);
311
+ color: var(--pk-color-warning);
296
312
  }
297
313
  .prokodo-RichText__ol > li icon--white {
298
- color: var(--color-white);
314
+ color: var(--pk-palette-white);
299
315
  }
@@ -12,6 +12,9 @@ function RichTextServer(props) {
12
12
  children,
13
13
  className,
14
14
  schema = {},
15
+ animated: _animated,
16
+ animationProps: _animationProps,
17
+ color: _color,
15
18
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
19
  itemProp,
17
20
  // eslint-disable-next-line @typescript-eslint/no-unused-vars