@regardio/react 0.3.2 → 0.4.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 (335) hide show
  1. package/dist/components/background-slideshow.d.ts +7 -5
  2. package/dist/components/background-slideshow.js +172 -74
  3. package/dist/components/blurry-gradient.d.ts +11 -4
  4. package/dist/components/blurry-gradient.js +121 -5
  5. package/dist/components/box.d.ts +12 -9
  6. package/dist/components/box.js +48 -23
  7. package/dist/components/carousel.d.ts +12 -10
  8. package/dist/components/carousel.js +146 -66
  9. package/dist/components/countdown.d.ts +5 -2
  10. package/dist/components/countdown.js +55 -21
  11. package/dist/components/definition-list.d.ts +19 -16
  12. package/dist/components/definition-list.js +83 -51
  13. package/dist/components/generic-error.d.ts +25 -5
  14. package/dist/components/generic-error.js +42 -34
  15. package/dist/components/heading.d.ts +13 -10
  16. package/dist/components/heading.js +114 -25
  17. package/dist/components/highlight.d.ts +11 -8
  18. package/dist/components/highlight.js +65 -17
  19. package/dist/components/icon-button.d.ts +7 -4
  20. package/dist/components/icon-button.js +16 -5
  21. package/dist/components/if.d.ts +6 -4
  22. package/dist/components/if.js +22 -14
  23. package/dist/components/iframe.d.ts +6 -4
  24. package/dist/components/iframe.js +26 -3
  25. package/dist/components/item.d.ts +17 -14
  26. package/dist/components/item.js +504 -301
  27. package/dist/components/leaflet-map.d.ts +5 -4
  28. package/dist/components/leaflet-map.js +192 -186
  29. package/dist/components/link.d.ts +24 -16
  30. package/dist/components/link.js +191 -102
  31. package/dist/components/list-item.d.ts +11 -8
  32. package/dist/components/list-item.js +35 -17
  33. package/dist/components/maptiler-map.d.ts +5 -4
  34. package/dist/components/maptiler-map.js +125 -112
  35. package/dist/components/markdown-container.d.ts +10 -8
  36. package/dist/components/markdown-container.js +181 -82
  37. package/dist/components/password-input.d.ts +7 -5
  38. package/dist/components/password-input.js +50 -8
  39. package/dist/components/picture.d.ts +19 -7
  40. package/dist/components/picture.js +75 -34
  41. package/dist/components/protected-email.d.ts +14 -3
  42. package/dist/components/protected-email.js +29 -15
  43. package/dist/components/text.d.ts +12 -9
  44. package/dist/components/text.js +42 -24
  45. package/dist/components/unordered-list.d.ts +11 -8
  46. package/dist/components/unordered-list.js +37 -19
  47. package/dist/hooks/use-current-route-data.d.ts +7 -2
  48. package/dist/hooks/use-current-route-data.js +13 -9
  49. package/dist/hooks/use-focus-search.d.ts +6 -3
  50. package/dist/hooks/use-focus-search.js +17 -13
  51. package/dist/hooks/use-matches-data.d.ts +9 -2
  52. package/dist/hooks/use-matches-data.js +12 -8
  53. package/dist/hooks/use-media-query.d.ts +8 -2
  54. package/dist/hooks/use-media-query.js +19 -15
  55. package/dist/hooks/use-mobile.d.ts +3 -2
  56. package/dist/hooks/use-mobile.js +18 -14
  57. package/dist/hooks/use-nonce.d.ts +12 -5
  58. package/dist/hooks/use-nonce.js +11 -7
  59. package/dist/hooks/use-orientation.d.ts +11 -3
  60. package/dist/hooks/use-orientation.js +28 -24
  61. package/dist/hooks/use-user.d.ts +43 -8
  62. package/dist/hooks/use-user.js +21 -13
  63. package/dist/utils/author.d.ts +4 -4
  64. package/dist/utils/author.js +49 -31
  65. package/dist/utils/cn.d.ts +8 -4
  66. package/dist/utils/cn.js +12 -8
  67. package/dist/utils/is-route-active.d.ts +19 -3
  68. package/dist/utils/is-route-active.js +45 -43
  69. package/dist/utils/locale.d.ts +66 -4
  70. package/dist/utils/locale.js +33 -22
  71. package/dist/utils/text.d.ts +24 -7
  72. package/dist/utils/text.js +114 -89
  73. package/package.json +4 -3
  74. package/src/stories/ListItem.stories.tsx +3 -2
  75. package/dist/components/background-slideshow.d.ts.map +0 -1
  76. package/dist/components/blurry-gradient.d.ts.map +0 -1
  77. package/dist/components/box.d.ts.map +0 -1
  78. package/dist/components/carousel.d.ts.map +0 -1
  79. package/dist/components/countdown.d.ts.map +0 -1
  80. package/dist/components/definition-list.d.ts.map +0 -1
  81. package/dist/components/generic-error.d.ts.map +0 -1
  82. package/dist/components/heading.d.ts.map +0 -1
  83. package/dist/components/highlight.d.ts.map +0 -1
  84. package/dist/components/icon-button.d.ts.map +0 -1
  85. package/dist/components/if.d.ts.map +0 -1
  86. package/dist/components/iframe.d.ts.map +0 -1
  87. package/dist/components/item.d.ts.map +0 -1
  88. package/dist/components/leaflet-map.d.ts.map +0 -1
  89. package/dist/components/link.d.ts.map +0 -1
  90. package/dist/components/link.test.d.ts +0 -2
  91. package/dist/components/link.test.d.ts.map +0 -1
  92. package/dist/components/link.test.js +0 -204
  93. package/dist/components/list-item.d.ts.map +0 -1
  94. package/dist/components/maptiler-map.d.ts.map +0 -1
  95. package/dist/components/markdown-container.d.ts.map +0 -1
  96. package/dist/components/password-input.d.ts.map +0 -1
  97. package/dist/components/picture.d.ts.map +0 -1
  98. package/dist/components/protected-email.d.ts.map +0 -1
  99. package/dist/components/text.d.ts.map +0 -1
  100. package/dist/components/unordered-list.d.ts.map +0 -1
  101. package/dist/hooks/use-current-route-data.d.ts.map +0 -1
  102. package/dist/hooks/use-focus-search.d.ts.map +0 -1
  103. package/dist/hooks/use-matches-data.d.ts.map +0 -1
  104. package/dist/hooks/use-media-query.d.ts.map +0 -1
  105. package/dist/hooks/use-mobile.d.ts.map +0 -1
  106. package/dist/hooks/use-nonce.d.ts.map +0 -1
  107. package/dist/hooks/use-nonce.test.d.ts +0 -2
  108. package/dist/hooks/use-nonce.test.d.ts.map +0 -1
  109. package/dist/hooks/use-nonce.test.js +0 -27
  110. package/dist/hooks/use-orientation.d.ts.map +0 -1
  111. package/dist/hooks/use-user.d.ts.map +0 -1
  112. package/dist/shadcn/accordion.d.ts +0 -25
  113. package/dist/shadcn/accordion.d.ts.map +0 -1
  114. package/dist/shadcn/accordion.js +0 -45
  115. package/dist/shadcn/alert-dialog.d.ts +0 -73
  116. package/dist/shadcn/alert-dialog.d.ts.map +0 -1
  117. package/dist/shadcn/alert-dialog.js +0 -93
  118. package/dist/shadcn/alert.d.ts +0 -34
  119. package/dist/shadcn/alert.d.ts.map +0 -1
  120. package/dist/shadcn/alert.js +0 -42
  121. package/dist/shadcn/aspect-ratio.d.ts +0 -6
  122. package/dist/shadcn/aspect-ratio.d.ts.map +0 -1
  123. package/dist/shadcn/aspect-ratio.js +0 -7
  124. package/dist/shadcn/avatar.d.ts +0 -16
  125. package/dist/shadcn/avatar.d.ts.map +0 -1
  126. package/dist/shadcn/avatar.js +0 -27
  127. package/dist/shadcn/badge.d.ts +0 -29
  128. package/dist/shadcn/badge.d.ts.map +0 -1
  129. package/dist/shadcn/badge.js +0 -29
  130. package/dist/shadcn/breadcrumb.d.ts +0 -42
  131. package/dist/shadcn/breadcrumb.d.ts.map +0 -1
  132. package/dist/shadcn/breadcrumb.js +0 -74
  133. package/dist/shadcn/button.d.ts +0 -38
  134. package/dist/shadcn/button.d.ts.map +0 -1
  135. package/dist/shadcn/button.js +0 -38
  136. package/dist/shadcn/calendar.d.ts +0 -23
  137. package/dist/shadcn/calendar.d.ts.map +0 -1
  138. package/dist/shadcn/calendar.js +0 -163
  139. package/dist/shadcn/card.d.ts +0 -31
  140. package/dist/shadcn/card.d.ts.map +0 -1
  141. package/dist/shadcn/card.js +0 -55
  142. package/dist/shadcn/carousel.d.ts +0 -51
  143. package/dist/shadcn/carousel.d.ts.map +0 -1
  144. package/dist/shadcn/carousel.js +0 -161
  145. package/dist/shadcn/chart.d.ts +0 -103
  146. package/dist/shadcn/chart.d.ts.map +0 -1
  147. package/dist/shadcn/chart.js +0 -248
  148. package/dist/shadcn/checkbox.d.ts +0 -8
  149. package/dist/shadcn/checkbox.d.ts.map +0 -1
  150. package/dist/shadcn/checkbox.js +0 -22
  151. package/dist/shadcn/collapsible.d.ts +0 -16
  152. package/dist/shadcn/collapsible.d.ts.map +0 -1
  153. package/dist/shadcn/collapsible.js +0 -19
  154. package/dist/shadcn/command.d.ts +0 -61
  155. package/dist/shadcn/command.d.ts.map +0 -1
  156. package/dist/shadcn/command.js +0 -123
  157. package/dist/shadcn/context-menu.d.ts +0 -107
  158. package/dist/shadcn/context-menu.d.ts.map +0 -1
  159. package/dist/shadcn/context-menu.js +0 -151
  160. package/dist/shadcn/dialog.d.ts +0 -57
  161. package/dist/shadcn/dialog.d.ts.map +0 -1
  162. package/dist/shadcn/dialog.js +0 -96
  163. package/dist/shadcn/drawer.d.ts +0 -54
  164. package/dist/shadcn/drawer.d.ts.map +0 -1
  165. package/dist/shadcn/drawer.js +0 -96
  166. package/dist/shadcn/dropdown-menu.d.ts +0 -110
  167. package/dist/shadcn/dropdown-menu.d.ts.map +0 -1
  168. package/dist/shadcn/dropdown-menu.js +0 -152
  169. package/dist/shadcn/form.d.ts +0 -59
  170. package/dist/shadcn/form.d.ts.map +0 -1
  171. package/dist/shadcn/form.js +0 -99
  172. package/dist/shadcn/hover-card.d.ts +0 -20
  173. package/dist/shadcn/hover-card.d.ts.map +0 -1
  174. package/dist/shadcn/hover-card.js +0 -26
  175. package/dist/shadcn/input-otp.d.ts +0 -25
  176. package/dist/shadcn/input-otp.d.ts.map +0 -1
  177. package/dist/shadcn/input-otp.js +0 -54
  178. package/dist/shadcn/input.d.ts +0 -14
  179. package/dist/shadcn/input.d.ts.map +0 -1
  180. package/dist/shadcn/input.js +0 -48
  181. package/dist/shadcn/label.d.ts +0 -8
  182. package/dist/shadcn/label.d.ts.map +0 -1
  183. package/dist/shadcn/label.js +0 -16
  184. package/dist/shadcn/menubar.d.ts +0 -108
  185. package/dist/shadcn/menubar.d.ts.map +0 -1
  186. package/dist/shadcn/menubar.js +0 -174
  187. package/dist/shadcn/navigation-menu.d.ts +0 -79
  188. package/dist/shadcn/navigation-menu.d.ts.map +0 -1
  189. package/dist/shadcn/navigation-menu.js +0 -108
  190. package/dist/shadcn/pagination.d.ts +0 -45
  191. package/dist/shadcn/pagination.d.ts.map +0 -1
  192. package/dist/shadcn/pagination.js +0 -83
  193. package/dist/shadcn/popover.d.ts +0 -19
  194. package/dist/shadcn/popover.d.ts.map +0 -1
  195. package/dist/shadcn/popover.js +0 -29
  196. package/dist/shadcn/progress.d.ts +0 -9
  197. package/dist/shadcn/progress.d.ts.map +0 -1
  198. package/dist/shadcn/progress.js +0 -17
  199. package/dist/shadcn/radio-group.d.ts +0 -12
  200. package/dist/shadcn/radio-group.d.ts.map +0 -1
  201. package/dist/shadcn/radio-group.js +0 -32
  202. package/dist/shadcn/resizable.d.ts +0 -20
  203. package/dist/shadcn/resizable.d.ts.map +0 -1
  204. package/dist/shadcn/resizable.js +0 -32
  205. package/dist/shadcn/scroll-area.d.ts +0 -16
  206. package/dist/shadcn/scroll-area.d.ts.map +0 -1
  207. package/dist/shadcn/scroll-area.js +0 -40
  208. package/dist/shadcn/select.d.ts +0 -63
  209. package/dist/shadcn/select.d.ts.map +0 -1
  210. package/dist/shadcn/select.js +0 -120
  211. package/dist/shadcn/separator.d.ts +0 -10
  212. package/dist/shadcn/separator.d.ts.map +0 -1
  213. package/dist/shadcn/separator.js +0 -18
  214. package/dist/shadcn/sheet.d.ts +0 -48
  215. package/dist/shadcn/sheet.d.ts.map +0 -1
  216. package/dist/shadcn/sheet.js +0 -99
  217. package/dist/shadcn/sidebar.d.ts +0 -200
  218. package/dist/shadcn/sidebar.d.ts.map +0 -1
  219. package/dist/shadcn/sidebar.js +0 -528
  220. package/dist/shadcn/skeleton.d.ts +0 -6
  221. package/dist/shadcn/skeleton.d.ts.map +0 -1
  222. package/dist/shadcn/skeleton.js +0 -11
  223. package/dist/shadcn/slider.d.ts +0 -12
  224. package/dist/shadcn/slider.d.ts.map +0 -1
  225. package/dist/shadcn/slider.js +0 -50
  226. package/dist/shadcn/sonner.d.ts +0 -7
  227. package/dist/shadcn/sonner.d.ts.map +0 -1
  228. package/dist/shadcn/sonner.js +0 -20
  229. package/dist/shadcn/switch.d.ts +0 -8
  230. package/dist/shadcn/switch.d.ts.map +0 -1
  231. package/dist/shadcn/switch.js +0 -22
  232. package/dist/shadcn/table.d.ts +0 -35
  233. package/dist/shadcn/table.d.ts.map +0 -1
  234. package/dist/shadcn/table.js +0 -73
  235. package/dist/shadcn/tabs.d.ts +0 -20
  236. package/dist/shadcn/tabs.d.ts.map +0 -1
  237. package/dist/shadcn/tabs.js +0 -40
  238. package/dist/shadcn/textarea.d.ts +0 -7
  239. package/dist/shadcn/textarea.d.ts.map +0 -1
  240. package/dist/shadcn/textarea.js +0 -14
  241. package/dist/shadcn/toggle-group.d.ts +0 -22
  242. package/dist/shadcn/toggle-group.d.ts.map +0 -1
  243. package/dist/shadcn/toggle-group.js +0 -43
  244. package/dist/shadcn/toggle.d.ts +0 -29
  245. package/dist/shadcn/toggle.d.ts.map +0 -1
  246. package/dist/shadcn/toggle.js +0 -31
  247. package/dist/shadcn/tooltip.d.ts +0 -20
  248. package/dist/shadcn/tooltip.d.ts.map +0 -1
  249. package/dist/shadcn/tooltip.js +0 -40
  250. package/dist/stories/BackgroundSlideshow.stories.d.ts +0 -9
  251. package/dist/stories/BackgroundSlideshow.stories.d.ts.map +0 -1
  252. package/dist/stories/BackgroundSlideshow.stories.js +0 -60
  253. package/dist/stories/BlurryGradient.stories.d.ts +0 -11
  254. package/dist/stories/BlurryGradient.stories.d.ts.map +0 -1
  255. package/dist/stories/BlurryGradient.stories.js +0 -53
  256. package/dist/stories/Box.stories.d.ts +0 -13
  257. package/dist/stories/Box.stories.d.ts.map +0 -1
  258. package/dist/stories/Box.stories.js +0 -50
  259. package/dist/stories/Carousel.stories.d.ts +0 -9
  260. package/dist/stories/Carousel.stories.d.ts.map +0 -1
  261. package/dist/stories/Carousel.stories.js +0 -30
  262. package/dist/stories/Countdown.stories.d.ts +0 -7
  263. package/dist/stories/Countdown.stories.d.ts.map +0 -1
  264. package/dist/stories/Countdown.stories.js +0 -11
  265. package/dist/stories/DefinitionList.stories.d.ts +0 -9
  266. package/dist/stories/DefinitionList.stories.d.ts.map +0 -1
  267. package/dist/stories/DefinitionList.stories.js +0 -20
  268. package/dist/stories/GenericError.stories.d.ts +0 -9
  269. package/dist/stories/GenericError.stories.d.ts.map +0 -1
  270. package/dist/stories/GenericError.stories.js +0 -39
  271. package/dist/stories/Heading.stories.d.ts +0 -15
  272. package/dist/stories/Heading.stories.d.ts.map +0 -1
  273. package/dist/stories/Heading.stories.js +0 -61
  274. package/dist/stories/Highlight.stories.d.ts +0 -8
  275. package/dist/stories/Highlight.stories.d.ts.map +0 -1
  276. package/dist/stories/Highlight.stories.js +0 -19
  277. package/dist/stories/IconButton.stories.d.ts +0 -10
  278. package/dist/stories/IconButton.stories.d.ts.map +0 -1
  279. package/dist/stories/IconButton.stories.js +0 -32
  280. package/dist/stories/If.stories.d.ts +0 -13
  281. package/dist/stories/If.stories.d.ts.map +0 -1
  282. package/dist/stories/If.stories.js +0 -54
  283. package/dist/stories/Iframe.stories.d.ts +0 -8
  284. package/dist/stories/Iframe.stories.d.ts.map +0 -1
  285. package/dist/stories/Iframe.stories.js +0 -23
  286. package/dist/stories/Item.stories.d.ts +0 -10
  287. package/dist/stories/Item.stories.d.ts.map +0 -1
  288. package/dist/stories/Item.stories.js +0 -32
  289. package/dist/stories/Link.stories.d.ts +0 -10
  290. package/dist/stories/Link.stories.d.ts.map +0 -1
  291. package/dist/stories/Link.stories.js +0 -36
  292. package/dist/stories/ListItem.stories.d.ts +0 -9
  293. package/dist/stories/ListItem.stories.d.ts.map +0 -1
  294. package/dist/stories/ListItem.stories.js +0 -25
  295. package/dist/stories/MarkdownContainer.stories.d.ts +0 -11
  296. package/dist/stories/MarkdownContainer.stories.d.ts.map +0 -1
  297. package/dist/stories/MarkdownContainer.stories.js +0 -66
  298. package/dist/stories/PasswordInput.stories.d.ts +0 -9
  299. package/dist/stories/PasswordInput.stories.d.ts.map +0 -1
  300. package/dist/stories/PasswordInput.stories.js +0 -27
  301. package/dist/stories/Picture.stories.d.ts +0 -10
  302. package/dist/stories/Picture.stories.d.ts.map +0 -1
  303. package/dist/stories/Picture.stories.js +0 -46
  304. package/dist/stories/ProtectedEmail.stories.d.ts +0 -10
  305. package/dist/stories/ProtectedEmail.stories.d.ts.map +0 -1
  306. package/dist/stories/ProtectedEmail.stories.js +0 -34
  307. package/dist/stories/Text.stories.d.ts +0 -10
  308. package/dist/stories/Text.stories.d.ts.map +0 -1
  309. package/dist/stories/Text.stories.js +0 -31
  310. package/dist/stories/UnorderedList.stories.d.ts +0 -10
  311. package/dist/stories/UnorderedList.stories.d.ts.map +0 -1
  312. package/dist/stories/UnorderedList.stories.js +0 -24
  313. package/dist/test-setup.d.ts +0 -2
  314. package/dist/test-setup.d.ts.map +0 -1
  315. package/dist/test-setup.js +0 -1
  316. package/dist/utils/author.d.ts.map +0 -1
  317. package/dist/utils/author.test.d.ts +0 -2
  318. package/dist/utils/author.test.d.ts.map +0 -1
  319. package/dist/utils/author.test.js +0 -46
  320. package/dist/utils/cn.d.ts.map +0 -1
  321. package/dist/utils/cn.test.d.ts +0 -2
  322. package/dist/utils/cn.test.d.ts.map +0 -1
  323. package/dist/utils/cn.test.js +0 -33
  324. package/dist/utils/is-route-active.d.ts.map +0 -1
  325. package/dist/utils/is-route-active.test.d.ts +0 -2
  326. package/dist/utils/is-route-active.test.d.ts.map +0 -1
  327. package/dist/utils/is-route-active.test.js +0 -61
  328. package/dist/utils/locale.d.ts.map +0 -1
  329. package/dist/utils/locale.test.d.ts +0 -2
  330. package/dist/utils/locale.test.d.ts.map +0 -1
  331. package/dist/utils/locale.test.js +0 -99
  332. package/dist/utils/text.d.ts.map +0 -1
  333. package/dist/utils/text.test.d.ts +0 -2
  334. package/dist/utils/text.test.d.ts.map +0 -1
  335. package/dist/utils/text.test.js +0 -122
@@ -1,111 +1,200 @@
1
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
- import { createContext, useCallback, useContext } from 'react';
1
+ import React, { createContext, useContext, useCallback, isValidElement, cloneElement } from 'react';
3
2
  import { NavLink } from 'react-router';
4
- import { cva } from '../utils/cn';
5
- import { lowerCaseSzett } from '../utils/text';
6
- const PathResolverContext = createContext(null);
7
- export const PathResolverProvider = PathResolverContext.Provider;
8
- export function usePathResolver() {
9
- return useContext(PathResolverContext);
10
- }
11
- export const LinkBase = ({ className, to, routeKey, children, onClick, viewTransition = true, ...props }) => {
12
- const pathResolver = usePathResolver();
13
- let path;
14
- if (routeKey && pathResolver) {
15
- path = pathResolver(routeKey);
16
- }
17
- else if (typeof to === 'string') {
18
- path = to;
19
- }
20
- else {
21
- path = to?.pathname ?? '';
22
- if (to?.search)
23
- path += to.search;
24
- if (to?.hash)
25
- path += to.hash;
3
+ import { defineConfig } from 'cva';
4
+ import { twMerge } from 'fluid-tailwindcss/tailwind-merge';
5
+ import { jsx, Fragment } from 'react/jsx-runtime';
6
+
7
+ // src/components/link.tsx
8
+ var { cva, compose } = defineConfig({
9
+ hooks: {
10
+ onComplete: (className) => {
11
+ return twMerge(className);
26
12
  }
27
- const isExternal = path.startsWith('tel:') ||
28
- path.startsWith('mailto:') ||
29
- path.startsWith('#') ||
30
- path.startsWith('http');
31
- const handleClick = useCallback((event) => {
32
- onClick?.(event);
33
- if (event.defaultPrevented)
34
- return;
35
- if (path.startsWith('tel:') || path.startsWith('mailto:')) {
36
- return;
37
- }
38
- if (path.startsWith('#')) {
39
- event.preventDefault();
40
- const element = document.getElementById(path.substring(1));
41
- if (element) {
42
- element.scrollIntoView({ behavior: 'smooth' });
43
- }
44
- return;
45
- }
46
- if (path.startsWith('http')) {
47
- event.preventDefault();
48
- window.open(path, '_blank', 'noopener,noreferrer');
49
- return;
13
+ }
14
+ });
15
+ var lowerCaseSzett = (text, _returnType) => {
16
+ const processString = (str) => {
17
+ const parts = str.split(/(ß)/g);
18
+ return parts.map(
19
+ (part, index) => part === "\xDF" ? /* @__PURE__ */ jsx(
20
+ "span",
21
+ {
22
+ className: "lowercase",
23
+ children: part
24
+ },
25
+ index.toString()
26
+ ) : part
27
+ );
28
+ };
29
+ if (typeof text === "string") {
30
+ return processString(text);
31
+ }
32
+ if (isValidElement(text)) {
33
+ const element = text;
34
+ const { children, ...props } = element.props;
35
+ return cloneElement(element, {
36
+ ...props,
37
+ children: lowerCaseSzett(children)
38
+ });
39
+ }
40
+ if (Array.isArray(text)) {
41
+ return text.map((child, index) => /* @__PURE__ */ jsx(React.Fragment, { children: lowerCaseSzett(child) }, index.toString()));
42
+ }
43
+ return text;
44
+ };
45
+ var PathResolverContext = createContext(null);
46
+ var PathResolverProvider = PathResolverContext.Provider;
47
+ function usePathResolver() {
48
+ return useContext(PathResolverContext);
49
+ }
50
+ var LinkBase = ({
51
+ className,
52
+ to,
53
+ routeKey,
54
+ children,
55
+ onClick,
56
+ viewTransition = true,
57
+ ...props
58
+ }) => {
59
+ const pathResolver = usePathResolver();
60
+ let path;
61
+ if (routeKey && pathResolver) {
62
+ path = pathResolver(routeKey);
63
+ } else if (typeof to === "string") {
64
+ path = to;
65
+ } else {
66
+ path = to?.pathname ?? "";
67
+ if (to?.search) path += to.search;
68
+ if (to?.hash) path += to.hash;
69
+ }
70
+ const isExternal = path.startsWith("tel:") || path.startsWith("mailto:") || path.startsWith("#") || path.startsWith("http");
71
+ const handleClick = useCallback(
72
+ (event) => {
73
+ onClick?.(event);
74
+ if (event.defaultPrevented) return;
75
+ if (path.startsWith("tel:") || path.startsWith("mailto:")) {
76
+ return;
77
+ }
78
+ if (path.startsWith("#")) {
79
+ event.preventDefault();
80
+ const element = document.getElementById(path.substring(1));
81
+ if (element) {
82
+ element.scrollIntoView({ behavior: "smooth" });
50
83
  }
51
- }, [onClick, path]);
52
- if (!path) {
53
- return _jsx(_Fragment, { children: typeof children === 'function' ? null : children });
54
- }
55
- if (isExternal) {
56
- const externalState = {
57
- isActive: false,
58
- isPending: false,
59
- isTransitioning: false,
60
- };
61
- const resolvedClassName = typeof className === 'function' ? className(externalState) : className;
62
- const resolvedStyle = typeof props.style === 'function' ? props.style(externalState) : props.style;
63
- return (_jsx("a", { className: resolvedClassName, href: path, onClick: handleClick, style: resolvedStyle, children: typeof children === 'function' ? children(externalState) : children }));
84
+ return;
85
+ }
86
+ if (path.startsWith("http")) {
87
+ event.preventDefault();
88
+ window.open(path, "_blank", "noopener,noreferrer");
89
+ return;
90
+ }
91
+ },
92
+ [onClick, path]
93
+ );
94
+ if (!path) {
95
+ return /* @__PURE__ */ jsx(Fragment, { children: typeof children === "function" ? null : children });
96
+ }
97
+ if (isExternal) {
98
+ const externalState = {
99
+ isActive: false,
100
+ isPending: false,
101
+ isTransitioning: false
102
+ };
103
+ const resolvedClassName = typeof className === "function" ? className(externalState) : className;
104
+ const resolvedStyle = typeof props.style === "function" ? props.style(externalState) : props.style;
105
+ return /* @__PURE__ */ jsx(
106
+ "a",
107
+ {
108
+ className: resolvedClassName,
109
+ href: path,
110
+ onClick: handleClick,
111
+ style: resolvedStyle,
112
+ children: typeof children === "function" ? children(externalState) : children
113
+ }
114
+ );
115
+ }
116
+ return /* @__PURE__ */ jsx(
117
+ NavLink,
118
+ {
119
+ ...props,
120
+ className,
121
+ onClick: handleClick,
122
+ to: path,
123
+ viewTransition,
124
+ children
64
125
  }
65
- return (_jsx(NavLink, { ...props, className: className, onClick: handleClick, to: path, viewTransition: viewTransition, children: children }));
126
+ );
66
127
  };
67
- const link = cva({
68
- base: [],
69
- defaultVariants: {
70
- variant: 'primary',
71
- },
72
- variants: {
73
- arrow: {
74
- darr: 'darr',
75
- larr: 'larr',
76
- rarr: 'rarr',
77
- uarr: 'uarr',
78
- },
79
- variant: {
80
- button: [
81
- 'block',
82
- 'button',
83
- 'mt-s',
84
- 'relative',
85
- 'rarr',
86
- 'text-right',
87
- 'text-sm',
88
- 'tracking-wider',
89
- 'uppercase',
90
- ],
91
- code: ['font-monospace'],
92
- link: ['rarr', '!bg-transparent', 'uppercase', '!tracking-wider'],
93
- navtitle: ['block', 'uppercase', 'tracking-wider'],
94
- primary: [],
95
- subtitle: ['text-lg'],
96
- },
128
+ var link = cva({
129
+ base: [],
130
+ defaultVariants: {
131
+ variant: "primary"
132
+ },
133
+ variants: {
134
+ arrow: {
135
+ darr: "darr",
136
+ larr: "larr",
137
+ rarr: "rarr",
138
+ uarr: "uarr"
97
139
  },
140
+ variant: {
141
+ button: [
142
+ "block",
143
+ "button",
144
+ "mt-s",
145
+ "relative",
146
+ "rarr",
147
+ "text-right",
148
+ "text-sm",
149
+ "tracking-wider",
150
+ "uppercase"
151
+ ],
152
+ code: ["font-monospace"],
153
+ link: ["rarr", "!bg-transparent", "uppercase", "!tracking-wider"],
154
+ navtitle: ["block", "uppercase", "tracking-wider"],
155
+ primary: [],
156
+ subtitle: ["text-lg"]
157
+ }
158
+ }
98
159
  });
99
- export const Link = ({ arrow, children, className, routeKey, to, variant, viewTransition, ...props }) => {
100
- return (_jsx(LinkBase, { ...props, className: link({
101
- arrow,
102
- className,
103
- variant,
104
- }), routeKey: routeKey, to: to, viewTransition: viewTransition, children: lowerCaseSzett(children) }));
105
- };
106
- export const MarkdownLink = ({ children, href, ...props }) => {
107
- if (href) {
108
- return (_jsx(Link, { to: href, ...props, children: children }));
160
+ var Link = ({
161
+ arrow,
162
+ children,
163
+ className,
164
+ routeKey,
165
+ to,
166
+ variant,
167
+ viewTransition,
168
+ ...props
169
+ }) => {
170
+ return /* @__PURE__ */ jsx(
171
+ LinkBase,
172
+ {
173
+ ...props,
174
+ className: link({
175
+ arrow,
176
+ className,
177
+ variant
178
+ }),
179
+ routeKey,
180
+ to,
181
+ viewTransition,
182
+ children: lowerCaseSzett(children)
109
183
  }
110
- return null;
184
+ );
185
+ };
186
+ var MarkdownLink = ({ children, href, ...props }) => {
187
+ if (href) {
188
+ return /* @__PURE__ */ jsx(
189
+ Link,
190
+ {
191
+ to: href,
192
+ ...props,
193
+ children
194
+ }
195
+ );
196
+ }
197
+ return null;
111
198
  };
199
+
200
+ export { Link, LinkBase, MarkdownLink, PathResolverProvider, usePathResolver };
@@ -1,16 +1,19 @@
1
- import type { ComponentProps } from 'react';
2
- import { type VariantProps } from '../utils/cn';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as cva from 'cva';
3
+ import { VariantProps } from 'cva';
4
+ import { ComponentProps } from 'react';
5
+
3
6
  declare const li: (props?: ({
4
7
  variant?: "primary" | undefined;
5
8
  } & ({
6
- class?: import("cva").ClassValue;
9
+ class?: cva.ClassValue;
7
10
  className?: never;
8
11
  } | {
9
12
  class?: never;
10
- className?: import("cva").ClassValue;
13
+ className?: cva.ClassValue;
11
14
  })) | undefined) => string;
12
- export interface ListItemProps extends ComponentProps<'li'>, VariantProps<typeof li> {
15
+ interface ListItemProps extends ComponentProps<'li'>, VariantProps<typeof li> {
13
16
  }
14
- export declare const ListItem: (props: ListItemProps) => import("react/jsx-runtime").JSX.Element;
15
- export {};
16
- //# sourceMappingURL=list-item.d.ts.map
17
+ declare const ListItem: (props: ListItemProps) => react_jsx_runtime.JSX.Element;
18
+
19
+ export { ListItem, type ListItemProps };
@@ -1,19 +1,37 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cva } from '../utils/cn';
3
- const li = cva({
4
- defaultVariants: {
5
- variant: 'primary',
6
- },
7
- variants: {
8
- variant: {
9
- primary: [],
10
- },
11
- },
1
+ import { defineConfig } from 'cva';
2
+ import { twMerge } from 'fluid-tailwindcss/tailwind-merge';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ // src/utils/cn.ts
6
+ var { cva, compose } = defineConfig({
7
+ hooks: {
8
+ onComplete: (className) => {
9
+ return twMerge(className);
10
+ }
11
+ }
12
12
  });
13
- export const ListItem = (props) => {
14
- const { children, className, variant } = props;
15
- return (_jsx("li", { className: li({
16
- className,
17
- variant,
18
- }), children: children }));
13
+ var li = cva({
14
+ defaultVariants: {
15
+ variant: "primary"
16
+ },
17
+ variants: {
18
+ variant: {
19
+ primary: []
20
+ }
21
+ }
22
+ });
23
+ var ListItem = (props) => {
24
+ const { children, className, variant } = props;
25
+ return /* @__PURE__ */ jsx(
26
+ "li",
27
+ {
28
+ className: li({
29
+ className,
30
+ variant
31
+ }),
32
+ children
33
+ }
34
+ );
19
35
  };
36
+
37
+ export { ListItem };
@@ -1,4 +1,5 @@
1
- import '@maptiler/sdk/dist/maptiler-sdk.css';
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
2
3
  interface MapTilerMarker {
3
4
  lat: number;
4
5
  lng: number;
@@ -21,6 +22,6 @@ interface MapTilerMapProps {
21
22
  apiKey: string;
22
23
  showPopupsImmediately?: boolean;
23
24
  }
24
- export declare const MapTilerMap: ({ markers, center, zoom, mapStyle, apiKey, showPopupsImmediately, }: MapTilerMapProps) => import("react/jsx-runtime").JSX.Element;
25
- export {};
26
- //# sourceMappingURL=maptiler-map.d.ts.map
25
+ declare const MapTilerMap: ({ markers, center, zoom, mapStyle, apiKey, showPopupsImmediately, }: MapTilerMapProps) => react_jsx_runtime.JSX.Element;
26
+
27
+ export { MapTilerMap };
@@ -1,116 +1,129 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { config, Map as MapTiler, Marker, Popup } from '@maptiler/sdk';
3
- import { useEffect, useRef } from 'react';
1
+ import { config, Map, Marker, Popup } from '@maptiler/sdk';
2
+ import { useRef, useEffect } from 'react';
4
3
  import '@maptiler/sdk/dist/maptiler-sdk.css';
5
- export const MapTilerMap = ({ markers, center, zoom = 12, mapStyle = 'streets', apiKey, showPopupsImmediately = false, }) => {
6
- const mapContainerRef = useRef(null);
7
- const mapRef = useRef(null);
8
- const markersRef = useRef([]);
9
- useEffect(() => {
10
- if (!mapContainerRef.current || typeof window === 'undefined')
11
- return;
12
- config.apiKey = apiKey;
13
- let calculatedCenter;
14
- if (center) {
15
- calculatedCenter = [center.lng, center.lat];
4
+ import { jsx } from 'react/jsx-runtime';
5
+
6
+ // src/components/maptiler-map.tsx
7
+ var MapTilerMap = ({
8
+ markers,
9
+ center,
10
+ zoom = 12,
11
+ mapStyle = "streets",
12
+ apiKey,
13
+ showPopupsImmediately = false
14
+ }) => {
15
+ const mapContainerRef = useRef(null);
16
+ const mapRef = useRef(null);
17
+ const markersRef = useRef([]);
18
+ useEffect(() => {
19
+ if (!mapContainerRef.current || typeof window === "undefined") return;
20
+ config.apiKey = apiKey;
21
+ let calculatedCenter;
22
+ if (center) {
23
+ calculatedCenter = [center.lng, center.lat];
24
+ } else if (markers.length > 0) {
25
+ const firstMarker = markers[0];
26
+ if (firstMarker) {
27
+ calculatedCenter = [firstMarker.lng, firstMarker.lat];
28
+ } else {
29
+ calculatedCenter = [13.404954, 52.520008];
30
+ }
31
+ } else {
32
+ calculatedCenter = [13.404954, 52.520008];
33
+ }
34
+ const map = new Map({
35
+ center: calculatedCenter,
36
+ container: mapContainerRef.current,
37
+ style: `https://api.maptiler.com/maps/${mapStyle}/style.json?key=${apiKey}`,
38
+ zoom
39
+ });
40
+ map.on("styleimagemissing", (e) => {
41
+ const id = e.id;
42
+ console.warn(`Missing sprite image: ${id}`);
43
+ });
44
+ mapRef.current = map;
45
+ const newMarkers = [];
46
+ markers.forEach((marker) => {
47
+ const markerInstance = new Marker().setLngLat([marker.lng, marker.lat]).addTo(map);
48
+ let popupContent = "";
49
+ if (marker.htmlContent) {
50
+ popupContent = marker.htmlContent;
51
+ } else if (marker.content) {
52
+ popupContent = marker.content;
53
+ }
54
+ if (popupContent) {
55
+ const popup = new Popup({
56
+ closeButton: false,
57
+ offset: marker.offset ? [marker.offset.x, marker.offset.y] : [0, 0]
58
+ }).setHTML(popupContent);
59
+ markerInstance.setPopup(popup);
60
+ if (showPopupsImmediately) {
61
+ markerInstance.togglePopup();
16
62
  }
17
- else if (markers.length > 0) {
18
- const firstMarker = markers[0];
19
- if (firstMarker) {
20
- calculatedCenter = [firstMarker.lng, firstMarker.lat];
21
- }
22
- else {
23
- calculatedCenter = [13.404954, 52.520008];
24
- }
63
+ }
64
+ newMarkers.push(markerInstance);
65
+ });
66
+ markersRef.current = newMarkers;
67
+ return () => {
68
+ if (mapRef.current) {
69
+ mapRef.current.remove();
70
+ mapRef.current = null;
71
+ }
72
+ markersRef.current = [];
73
+ };
74
+ }, [markers, apiKey, mapStyle, zoom, center, showPopupsImmediately]);
75
+ useEffect(() => {
76
+ const map = mapRef.current;
77
+ if (!map) return;
78
+ markersRef.current.forEach((marker) => {
79
+ marker.remove();
80
+ });
81
+ markersRef.current = [];
82
+ const newMarkers = [];
83
+ markers.forEach((marker) => {
84
+ const markerInstance = new Marker().setLngLat([marker.lng, marker.lat]).addTo(map);
85
+ let popupContent = "";
86
+ if (marker.htmlContent) {
87
+ popupContent = marker.htmlContent;
88
+ } else if (marker.content) {
89
+ popupContent = marker.content;
90
+ }
91
+ if (popupContent) {
92
+ const popup = new Popup({
93
+ closeButton: false,
94
+ offset: marker.offset ? [marker.offset.x, marker.offset.y] : [0, 0]
95
+ }).setHTML(popupContent);
96
+ markerInstance.setPopup(popup);
97
+ if (showPopupsImmediately) {
98
+ markerInstance.togglePopup();
25
99
  }
26
- else {
27
- calculatedCenter = [13.404954, 52.520008];
28
- }
29
- const map = new MapTiler({
30
- center: calculatedCenter,
31
- container: mapContainerRef.current,
32
- style: `https://api.maptiler.com/maps/${mapStyle}/style.json?key=${apiKey}`,
33
- zoom: zoom,
34
- });
35
- map.on('styleimagemissing', (e) => {
36
- const id = e.id;
37
- console.warn(`Missing sprite image: ${id}`);
38
- });
39
- mapRef.current = map;
40
- const newMarkers = [];
41
- markers.forEach((marker) => {
42
- const markerInstance = new Marker().setLngLat([marker.lng, marker.lat]).addTo(map);
43
- let popupContent = '';
44
- if (marker.htmlContent) {
45
- popupContent = marker.htmlContent;
46
- }
47
- else if (marker.content) {
48
- popupContent = marker.content;
49
- }
50
- if (popupContent) {
51
- const popup = new Popup({
52
- closeButton: false,
53
- offset: marker.offset ? [marker.offset.x, marker.offset.y] : [0, 0],
54
- }).setHTML(popupContent);
55
- markerInstance.setPopup(popup);
56
- if (showPopupsImmediately) {
57
- markerInstance.togglePopup();
58
- }
59
- }
60
- newMarkers.push(markerInstance);
61
- });
62
- markersRef.current = newMarkers;
63
- return () => {
64
- if (mapRef.current) {
65
- mapRef.current.remove();
66
- mapRef.current = null;
67
- }
68
- markersRef.current = [];
69
- };
70
- }, [markers, apiKey, mapStyle, zoom, center, showPopupsImmediately]);
71
- useEffect(() => {
72
- const map = mapRef.current;
73
- if (!map)
74
- return;
75
- markersRef.current.forEach((marker) => {
76
- marker.remove();
77
- });
78
- markersRef.current = [];
79
- const newMarkers = [];
80
- markers.forEach((marker) => {
81
- const markerInstance = new Marker().setLngLat([marker.lng, marker.lat]).addTo(map);
82
- let popupContent = '';
83
- if (marker.htmlContent) {
84
- popupContent = marker.htmlContent;
85
- }
86
- else if (marker.content) {
87
- popupContent = marker.content;
88
- }
89
- if (popupContent) {
90
- const popup = new Popup({
91
- closeButton: false,
92
- offset: marker.offset ? [marker.offset.x, marker.offset.y] : [0, 0],
93
- }).setHTML(popupContent);
94
- markerInstance.setPopup(popup);
95
- if (showPopupsImmediately) {
96
- markerInstance.togglePopup();
97
- }
98
- }
99
- newMarkers.push(markerInstance);
100
- });
101
- markersRef.current = newMarkers;
102
- if (markers.length > 1) {
103
- const lngs = markers.map((m) => m.lng);
104
- const lats = markers.map((m) => m.lat);
105
- const minLng = Math.min(...lngs);
106
- const maxLng = Math.max(...lngs);
107
- const minLat = Math.min(...lats);
108
- const maxLat = Math.max(...lats);
109
- map.fitBounds([
110
- [minLng, minLat],
111
- [maxLng, maxLat],
112
- ], { padding: 20 });
113
- }
114
- }, [markers, showPopupsImmediately]);
115
- return (_jsx("div", { className: "h-full w-full", ref: mapContainerRef }));
100
+ }
101
+ newMarkers.push(markerInstance);
102
+ });
103
+ markersRef.current = newMarkers;
104
+ if (markers.length > 1) {
105
+ const lngs = markers.map((m) => m.lng);
106
+ const lats = markers.map((m) => m.lat);
107
+ const minLng = Math.min(...lngs);
108
+ const maxLng = Math.max(...lngs);
109
+ const minLat = Math.min(...lats);
110
+ const maxLat = Math.max(...lats);
111
+ map.fitBounds(
112
+ [
113
+ [minLng, minLat],
114
+ [maxLng, maxLat]
115
+ ],
116
+ { padding: 20 }
117
+ );
118
+ }
119
+ }, [markers, showPopupsImmediately]);
120
+ return /* @__PURE__ */ jsx(
121
+ "div",
122
+ {
123
+ className: "h-full w-full",
124
+ ref: mapContainerRef
125
+ }
126
+ );
116
127
  };
128
+
129
+ export { MapTilerMap };
@@ -1,13 +1,14 @@
1
- import { type MarkdownToJSX } from 'markdown-to-jsx';
2
- import type React from 'react';
3
- export declare function transformLink(to: string | Partial<{
1
+ import { MarkdownToJSX } from 'markdown-to-jsx';
2
+ import react__default from 'react';
3
+
4
+ declare function transformLink(to: string | Partial<{
4
5
  pathname?: string;
5
6
  search?: string;
6
7
  hash?: string;
7
8
  }> | undefined): string;
8
- export type MDXComponent<P = object> = React.ComponentType<P>;
9
- export type MarkdownOverrides = MarkdownToJSX.Options['overrides'];
10
- export type MarkdownContainerProps = React.PropsWithChildren<{
9
+ type MDXComponent<P = object> = react__default.ComponentType<P>;
10
+ type MarkdownOverrides = MarkdownToJSX.Options['overrides'];
11
+ type MarkdownContainerProps = react__default.PropsWithChildren<{
11
12
  characters?: number;
12
13
  className?: string;
13
14
  locale: string;
@@ -16,5 +17,6 @@ export type MarkdownContainerProps = React.PropsWithChildren<{
16
17
  mdxComponents?: Record<string, MDXComponent>;
17
18
  markdownOverrides?: MarkdownOverrides;
18
19
  }>;
19
- export declare const MarkdownContainer: React.FC<MarkdownContainerProps>;
20
- //# sourceMappingURL=markdown-container.d.ts.map
20
+ declare const MarkdownContainer: react__default.FC<MarkdownContainerProps>;
21
+
22
+ export { type MDXComponent, MarkdownContainer, type MarkdownContainerProps, type MarkdownOverrides, transformLink };