@blateral/b.kit 2.3.0-beta.1.3 → 2.3.0-beta.1.4

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 (206) hide show
  1. package/cjs/EventBlock-10b9d78d.js +2 -0
  2. package/cjs/EventBlock-10b9d78d.js.map +1 -0
  3. package/cjs/FileUpload-ece8bb07.js +2 -0
  4. package/cjs/FileUpload-ece8bb07.js.map +1 -0
  5. package/cjs/Filter-d6d90b8b.js +2 -0
  6. package/cjs/Filter-d6d90b8b.js.map +1 -0
  7. package/cjs/FilterField-cf9e2f16.js +2 -0
  8. package/cjs/FilterField-cf9e2f16.js.map +1 -0
  9. package/cjs/Grid-39b12e21.js +2 -0
  10. package/cjs/Grid-39b12e21.js.map +1 -0
  11. package/cjs/InfoList-577f3c57.js +2 -0
  12. package/cjs/InfoList-577f3c57.js.map +1 -0
  13. package/cjs/POICard-492bf8d0.js +2 -0
  14. package/cjs/POICard-492bf8d0.js.map +1 -0
  15. package/cjs/TableBlock-a5b16e8f.js +2 -0
  16. package/cjs/TableBlock-a5b16e8f.js.map +1 -0
  17. package/cjs/Tag-5c72cc0d.js +2 -0
  18. package/cjs/Tag-5c72cc0d.js.map +1 -0
  19. package/cjs/VideoBlock-301997a9.js +2 -0
  20. package/cjs/VideoBlock-301997a9.js.map +1 -0
  21. package/cjs/VideoCard-405b518a.js +2 -0
  22. package/cjs/VideoCard-405b518a.js.map +1 -0
  23. package/cjs/Wrapper-91748bdb.js +2 -0
  24. package/cjs/Wrapper-91748bdb.js.map +1 -0
  25. package/cjs/base.js +1 -1
  26. package/cjs/blocks.js +1 -1
  27. package/cjs/escape-1ef8dd83.js +2 -0
  28. package/cjs/escape-1ef8dd83.js.map +1 -0
  29. package/cjs/fields.js +1 -1
  30. package/cjs/fields.js.map +1 -1
  31. package/cjs/footer.js +1 -1
  32. package/cjs/footer.js.map +1 -1
  33. package/cjs/hooks.js +1 -1
  34. package/cjs/hooks.js.map +1 -1
  35. package/cjs/sections.js +1 -1
  36. package/cjs/sections.js.map +1 -1
  37. package/cjs/sections_events.js +2 -0
  38. package/cjs/sections_events.js.map +1 -0
  39. package/cjs/sections_forms.js +2 -0
  40. package/cjs/sections_forms.js.map +1 -0
  41. package/cjs/sections_jobs.js +2 -0
  42. package/cjs/sections_jobs.js.map +1 -0
  43. package/cjs/sections_news.js +1 -1
  44. package/cjs/sections_news.js.map +1 -1
  45. package/cjs/sections_pois.js +2 -0
  46. package/cjs/sections_pois.js.map +1 -0
  47. package/cjs/structuredData-0b1278a9.js +2 -0
  48. package/cjs/structuredData-0b1278a9.js.map +1 -0
  49. package/cjs/urlParams-7525f638.js +2 -0
  50. package/cjs/urlParams-7525f638.js.map +1 -0
  51. package/cjs/useEqualSheetHeight-cfd4176e.js +2 -0
  52. package/cjs/useEqualSheetHeight-cfd4176e.js.map +1 -0
  53. package/cjs/useGeolocation-d8946470.js +2 -0
  54. package/cjs/useGeolocation-d8946470.js.map +1 -0
  55. package/cjs/useLazyInput-f71c221b.js +2 -0
  56. package/cjs/useLazyInput-f71c221b.js.map +1 -0
  57. package/cjs/useLeafletMap-2e608b01.js +2 -0
  58. package/cjs/useLeafletMap-2e608b01.js.map +1 -0
  59. package/cjs/useScrollTo-fdd665da.js +2 -0
  60. package/cjs/useScrollTo-fdd665da.js.map +1 -0
  61. package/esm/{Actions-73e13c48.js → Actions-3f06c2e9.js} +3 -3
  62. package/esm/{Actions-73e13c48.js.map → Actions-3f06c2e9.js.map} +1 -1
  63. package/esm/{Bdot-30b047cc.js → Bdot-fae262fc.js} +3 -3
  64. package/esm/{Bdot-30b047cc.js.map → Bdot-fae262fc.js.map} +1 -1
  65. package/esm/{Button-678be396.js → Button-ab1a4e79.js} +3 -3
  66. package/esm/{Button-678be396.js.map → Button-ab1a4e79.js.map} +1 -1
  67. package/esm/{ButtonGhost-6673a07e.js → ButtonGhost-5b498dba.js} +3 -3
  68. package/esm/{ButtonGhost-6673a07e.js.map → ButtonGhost-5b498dba.js.map} +1 -1
  69. package/esm/{Callout-439308f6.js → Callout-389fed95.js} +4 -4
  70. package/esm/{Callout-439308f6.js.map → Callout-389fed95.js.map} +1 -1
  71. package/esm/{Checkbox-a365d733.js → Checkbox-957d8f33.js} +5 -5
  72. package/esm/{Checkbox-a365d733.js.map → Checkbox-957d8f33.js.map} +1 -1
  73. package/esm/{ClockFilled-8784ddac.js → ClockFilled-6bae80dc.js} +2 -2
  74. package/esm/{ClockFilled-8784ddac.js.map → ClockFilled-6bae80dc.js.map} +1 -1
  75. package/esm/{Control-e61c9395.js → Control-57a287dc.js} +3 -3
  76. package/esm/{Control-e61c9395.js.map → Control-57a287dc.js.map} +1 -1
  77. package/esm/{Copy-3444d005.js → Copy-fb124972.js} +4 -4
  78. package/esm/{Copy-3444d005.js.map → Copy-fb124972.js.map} +1 -1
  79. package/esm/EventBlock-0109da13.js +132 -0
  80. package/esm/EventBlock-0109da13.js.map +1 -0
  81. package/esm/{FilterField-f423b4d1.js → FileUpload-4ba0a672.js} +48 -165
  82. package/esm/FileUpload-4ba0a672.js.map +1 -0
  83. package/esm/Filter-fec6dc5c.js +32 -0
  84. package/esm/Filter-fec6dc5c.js.map +1 -0
  85. package/esm/FilterField-03097694.js +129 -0
  86. package/esm/FilterField-03097694.js.map +1 -0
  87. package/esm/{Wrapper-f4a70e30.js → Grid-151498da.js} +7 -224
  88. package/esm/Grid-151498da.js.map +1 -0
  89. package/esm/{Image-82417953.js → Image-b538f659.js} +5 -5
  90. package/esm/{Image-82417953.js.map → Image-b538f659.js.map} +1 -1
  91. package/esm/InfoList-616d17fd.js +74 -0
  92. package/esm/InfoList-616d17fd.js.map +1 -0
  93. package/esm/{LanguageSwitcher-a53094d3.js → LanguageSwitcher-058e0145.js} +5 -5
  94. package/esm/{LanguageSwitcher-a53094d3.js.map → LanguageSwitcher-058e0145.js.map} +1 -1
  95. package/esm/{LibThemeProvider-90a5375f.js → LibThemeProvider-a38c5bf1.js} +3 -3
  96. package/esm/{LibThemeProvider-90a5375f.js.map → LibThemeProvider-a38c5bf1.js.map} +1 -1
  97. package/esm/{Link-ee8a48ed.js → Link-0a1e35d6.js} +3 -3
  98. package/esm/{Link-ee8a48ed.js.map → Link-0a1e35d6.js.map} +1 -1
  99. package/esm/{Navigation-ece0ff0d.js → Navigation-13dce48c.js} +10 -10
  100. package/esm/{Navigation-ece0ff0d.js.map → Navigation-13dce48c.js.map} +1 -1
  101. package/esm/POICard-392a2c3a.js +116 -0
  102. package/esm/POICard-392a2c3a.js.map +1 -0
  103. package/esm/{Pointer-da4d0977.js → Pointer-bc68154f.js} +3 -3
  104. package/esm/{Pointer-da4d0977.js.map → Pointer-bc68154f.js.map} +1 -1
  105. package/esm/{SocialList-7c00c70e.js → SocialList-4396cad9.js} +5 -5
  106. package/esm/{SocialList-7c00c70e.js.map → SocialList-4396cad9.js.map} +1 -1
  107. package/esm/{TableBlock-0bbde956.js → TableBlock-26530c71.js} +11 -70
  108. package/esm/TableBlock-26530c71.js.map +1 -0
  109. package/esm/Tag-72424779.js +67 -0
  110. package/esm/Tag-72424779.js.map +1 -0
  111. package/esm/{POICard-d8832988.js → VideoBlock-b3f4ae27.js} +39 -332
  112. package/esm/VideoBlock-b3f4ae27.js.map +1 -0
  113. package/esm/{VideoCard-2557407b.js → VideoCard-3fd368ef.js} +8 -35
  114. package/esm/VideoCard-3fd368ef.js.map +1 -0
  115. package/esm/Wrapper-29347885.js +224 -0
  116. package/esm/Wrapper-29347885.js.map +1 -0
  117. package/esm/base.js +4 -3
  118. package/esm/base.js.map +1 -1
  119. package/esm/blocks.js +19 -15
  120. package/esm/blocks.js.map +1 -1
  121. package/esm/buttons.js +6 -6
  122. package/esm/cookies.js +8 -8
  123. package/esm/escape-cbff9c25.js +6 -0
  124. package/esm/escape-cbff9c25.js.map +1 -0
  125. package/esm/fields.js +12 -9
  126. package/esm/fields.js.map +1 -1
  127. package/esm/footer.js +10 -9
  128. package/esm/footer.js.map +1 -1
  129. package/esm/hooks.js +13 -9
  130. package/esm/hooks.js.map +1 -1
  131. package/esm/icons.js +1 -1
  132. package/esm/index.js +3 -3
  133. package/esm/{navigation-49280321.js → navigation-a2998143.js} +2 -2
  134. package/esm/{navigation-49280321.js.map → navigation-a2998143.js.map} +1 -1
  135. package/esm/navigation.js +12 -12
  136. package/esm/sections.js +2595 -5807
  137. package/esm/sections.js.map +1 -1
  138. package/esm/sections_events.js +573 -0
  139. package/esm/sections_events.js.map +1 -0
  140. package/esm/sections_forms.js +1405 -0
  141. package/esm/sections_forms.js.map +1 -0
  142. package/esm/sections_jobs.js +508 -0
  143. package/esm/sections_jobs.js.map +1 -0
  144. package/esm/sections_news.js +102 -97
  145. package/esm/sections_news.js.map +1 -1
  146. package/esm/sections_pois.js +719 -0
  147. package/esm/sections_pois.js.map +1 -0
  148. package/esm/structuredData-87423414.js +117 -0
  149. package/esm/structuredData-87423414.js.map +1 -0
  150. package/esm/{styles-5f78e59d.js → styles-f6c54818.js} +2 -2
  151. package/esm/{styles-5f78e59d.js.map → styles-f6c54818.js.map} +1 -1
  152. package/esm/typography.js +6 -6
  153. package/esm/urlParams-9cfdaf71.js +51 -0
  154. package/esm/urlParams-9cfdaf71.js.map +1 -0
  155. package/esm/{useCookieConsent-db86e5cb.js → useCookieConsent-8caef116.js} +2 -2
  156. package/esm/{useCookieConsent-db86e5cb.js.map → useCookieConsent-8caef116.js.map} +1 -1
  157. package/esm/{urlParams-882563ce.js → useEqualSheetHeight-c18cebd3.js} +4 -105
  158. package/esm/useEqualSheetHeight-c18cebd3.js.map +1 -0
  159. package/esm/useGeolocation-f9f073cc.js +95 -0
  160. package/esm/useGeolocation-f9f073cc.js.map +1 -0
  161. package/esm/useLazyInput-e66fc5be.js +85 -0
  162. package/esm/useLazyInput-e66fc5be.js.map +1 -0
  163. package/esm/{useGeolocation-c81e3efc.js → useLeafletMap-6dea7a8e.js} +4 -175
  164. package/esm/useLeafletMap-6dea7a8e.js.map +1 -0
  165. package/esm/{useMediaQuery-43629cbb.js → useMediaQuery-0d473a9c.js} +2 -2
  166. package/esm/{useMediaQuery-43629cbb.js.map → useMediaQuery-0d473a9c.js.map} +1 -1
  167. package/esm/useScrollTo-70af34bf.js +57 -0
  168. package/esm/useScrollTo-70af34bf.js.map +1 -0
  169. package/package.json +1 -1
  170. package/sections/events/package.json +7 -0
  171. package/sections/forms/package.json +7 -0
  172. package/sections/jobs/package.json +7 -0
  173. package/sections/pois/package.json +7 -0
  174. package/types/sections.d.ts +0 -10
  175. package/types/sections.d.ts.map +1 -1
  176. package/types/sections_events.d.ts +4 -0
  177. package/types/sections_events.d.ts.map +1 -0
  178. package/types/sections_forms.d.ts +3 -0
  179. package/types/sections_forms.d.ts.map +1 -0
  180. package/types/sections_jobs.d.ts +3 -0
  181. package/types/sections_jobs.d.ts.map +1 -0
  182. package/types/sections_news.d.ts +2 -2
  183. package/types/sections_news.d.ts.map +1 -1
  184. package/types/sections_pois.d.ts +4 -0
  185. package/types/sections_pois.d.ts.map +1 -0
  186. package/cjs/FilterField-497e998f.js +0 -2
  187. package/cjs/FilterField-497e998f.js.map +0 -1
  188. package/cjs/POICard-9911980e.js +0 -2
  189. package/cjs/POICard-9911980e.js.map +0 -1
  190. package/cjs/TableBlock-080c9c2e.js +0 -2
  191. package/cjs/TableBlock-080c9c2e.js.map +0 -1
  192. package/cjs/VideoCard-1fa209fc.js +0 -2
  193. package/cjs/VideoCard-1fa209fc.js.map +0 -1
  194. package/cjs/Wrapper-3b9c9e89.js +0 -2
  195. package/cjs/Wrapper-3b9c9e89.js.map +0 -1
  196. package/cjs/urlParams-1d03b5a6.js +0 -2
  197. package/cjs/urlParams-1d03b5a6.js.map +0 -1
  198. package/cjs/useGeolocation-4d38150b.js +0 -2
  199. package/cjs/useGeolocation-4d38150b.js.map +0 -1
  200. package/esm/FilterField-f423b4d1.js.map +0 -1
  201. package/esm/POICard-d8832988.js.map +0 -1
  202. package/esm/TableBlock-0bbde956.js.map +0 -1
  203. package/esm/VideoCard-2557407b.js.map +0 -1
  204. package/esm/Wrapper-f4a70e30.js.map +0 -1
  205. package/esm/urlParams-882563ce.js.map +0 -1
  206. package/esm/useGeolocation-c81e3efc.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Wrapper-3b9c9e89.js","sources":["../src/components/base/Grid.tsx","../src/components/base/Section.tsx","../src/components/base/Wrapper.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { clampValue } from 'utils/clamp';\nimport { spacings, mq } from 'utils/styles';\n\nexport interface ColPropsSettings {\n /** Normalisierte Werte zwischen 0 und 1: z.B. 12 von 28 Spalten (12 / 28) */\n span?: number;\n /** Normalisierte Werte zwischen -1 und 1: z.B. -12 von 28 Spalten (-12 / 28) */\n move?: number;\n /** Vertical alignment of column content */\n valign?: VerticalAlign;\n /** Text alignment of column content */\n textAlign?: TextAlign;\n}\n\ntype VerticalAlign = 'top' | 'center' | 'bottom';\ntype HorizontalAlign = 'left' | 'center' | 'right';\ntype TextAlign = 'left' | 'center' | 'right';\n\ninterface ColProps extends ColPropsSettings {\n medium?: ColPropsSettings;\n semilarge?: ColPropsSettings;\n large?: ColPropsSettings;\n xlarge?: ColPropsSettings;\n /** force column to the right */\n toRight?: boolean;\n /** force column to the left */\n toLeft?: boolean;\n}\n\nexport const gridSettings = {\n cols: 12,\n gutter: spacings.spacer,\n};\n\n/** Get width of grid cols incl. gutter (relative to container element) */\nexport const getGridWidth = (props?: {\n cols?: number;\n gutter?: number;\n gridWidth?: string;\n}) => {\n const columns = props?.cols || gridSettings.cols;\n\n const width = props?.gridWidth || '100%';\n const gridGutter =\n props?.gutter !== undefined ? props.gutter : gridSettings.gutter;\n const gridCols = gridSettings.cols;\n\n return css`\n calc(((${width} - ${\n (gridCols - 1) * gridGutter\n }px) / ${gridCols}) * ${columns} + ${(columns - 1) * gridGutter}px)\n `;\n};\n\nconst validateValue = (\n value: number | undefined,\n min: number,\n max?: number\n) => {\n if (value === undefined || value === null) return value;\n return value !== clampValue(value, min, max) ? undefined : value;\n};\n\nconst getWidth = (props: ColProps) => {\n const span = validateValue(props.span, 0, 1);\n const mediumSpan = validateValue(props.medium?.span, 0, 1);\n const semilargeSpan = validateValue(props.semilarge?.span, 0, 1);\n const largeSpan = validateValue(props.large?.span, 0, 1);\n const xlargeSpan = validateValue(props.xlarge?.span, 0, 1);\n\n return css`\n width: ${(span || 1) * 100}%;\n\n ${mediumSpan &&\n css`\n @media ${mq.medium} {\n width: ${(mediumSpan || 1) * 100}%;\n }\n `}\n\n ${semilargeSpan &&\n css`\n @media ${mq.semilarge} {\n width: ${(semilargeSpan || 1) * 100}%;\n }\n `}\n\n ${largeSpan &&\n css`\n @media ${mq.large} {\n width: ${(largeSpan || 1) * 100}%;\n }\n `}\n\n ${xlargeSpan &&\n css`\n @media ${mq.xlarge} {\n width: ${(xlargeSpan || 1) * 100}%;\n }\n `}\n `;\n};\n\nconst getLeftRight = (props: ColProps) => {\n const mediumMove = props?.medium?.move;\n const semilargeMove = props?.semilarge?.move;\n const largeMove = props?.large?.move;\n const xlargeMove = props?.xlarge?.move;\n\n return css`\n left: ${props?.move && props?.move > 0\n ? props?.move * 100 + '%'\n : 'auto'};\n right: ${props?.move && props?.move < 0\n ? props?.move * -100 + '%'\n : 'auto'};\n\n ${mediumMove !== undefined &&\n css`\n @media ${mq.medium} {\n left: ${mediumMove && mediumMove > 0\n ? mediumMove * 100 + '%'\n : 'auto'};\n right: ${mediumMove && mediumMove < 0\n ? mediumMove * -100 + '%'\n : 'auto'};\n }\n `}\n\n ${semilargeMove !== undefined &&\n css`\n @media ${mq.semilarge} {\n left: ${semilargeMove && semilargeMove > 0\n ? semilargeMove * 100 + '%'\n : 'auto'};\n right: ${semilargeMove && semilargeMove < 0\n ? semilargeMove * -100 + '%'\n : 'auto'};\n }\n `}\n\n ${largeMove !== undefined &&\n css`\n @media ${mq.large} {\n left: ${largeMove && largeMove > 0\n ? largeMove * 100 + '%'\n : 'auto'};\n right: ${largeMove && largeMove < 0\n ? largeMove * -100 + '%'\n : 'auto'};\n }\n `}\n\n ${xlargeMove !== undefined &&\n css`\n @media ${mq.xlarge} {\n left: ${xlargeMove && xlargeMove > 0\n ? xlargeMove * 100 + '%'\n : 'auto'};\n right: ${xlargeMove && xlargeMove < 0\n ? xlargeMove * -100 + '%'\n : 'auto'};\n }\n `}\n `;\n};\n\nconst getGutter = (mode: 'grid' | 'col') => (props: GridProps) => {\n const gutter = validateValue(props.gutter, 0) || 0;\n const mediumGutter = validateValue(props?.medium?.gutter, 0);\n const semilargeGutter = validateValue(props?.semilarge?.gutter, 0);\n const largeGutter = validateValue(props?.large?.gutter, 0);\n const xlargeGutter = validateValue(props?.xlarge?.gutter, 0);\n\n const propertyTop = mode === 'grid' ? 'margin-top: -' : 'padding-top: ';\n const propertyLeft = mode === 'grid' ? 'margin-left: -' : 'padding-left: ';\n\n return css`\n ${propertyTop}${gutter}px;\n ${propertyLeft}${gutter}px;\n\n ${mediumGutter !== undefined &&\n css`\n @media ${mq.medium} {\n ${propertyTop}${mediumGutter}px;\n ${propertyLeft}${mediumGutter}px;\n }\n `}\n\n ${semilargeGutter !== undefined &&\n css`\n @media ${mq.semilarge} {\n ${propertyTop}${semilargeGutter}px;\n ${propertyLeft}${semilargeGutter}px;\n }\n `}\n \n ${largeGutter !== undefined &&\n css`\n @media ${mq.large} {\n ${propertyTop}${largeGutter}px;\n ${propertyLeft}${largeGutter}px;\n }\n `}\n\n ${xlargeGutter !== undefined &&\n css`\n @media ${mq.xlarge} {\n ${propertyTop}${xlargeGutter}px;\n ${propertyLeft}${xlargeGutter}px;\n }\n `}\n `;\n};\n\nconst getTextAlign = (props: ColProps) => {\n const mediumTextAlign = props?.medium?.textAlign;\n const semilargeTextAlign = props?.semilarge?.textAlign;\n const largeTextAlign = props?.large?.textAlign;\n const xlargeTextAlign = props?.xlarge?.textAlign;\n\n return css`\n text-align: ${props?.textAlign || undefined};\n\n ${mediumTextAlign !== undefined &&\n css`\n @media ${mq.medium} {\n text-align: ${mediumTextAlign};\n }\n `}\n\n ${semilargeTextAlign !== undefined &&\n css`\n @media ${mq.semilarge} {\n text-align: ${semilargeTextAlign};\n }\n `}\n\n ${largeTextAlign !== undefined &&\n css`\n @media ${mq.large} {\n text-align: ${largeTextAlign};\n }\n `}\n\n ${xlargeTextAlign !== undefined &&\n css`\n @media ${mq.xlarge} {\n text-align: ${xlargeTextAlign};\n }\n `}\n `;\n};\n\nconst mapVerticalAlign = (alignMode?: VerticalAlign) => {\n switch (alignMode) {\n case 'top':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'bottom':\n return 'flex-end';\n default:\n return undefined;\n }\n};\n\nconst getVerticalAlign =\n (selfAlign?: boolean) => (props: ColProps & GridProps) => {\n const vAlign = mapVerticalAlign(props.valign);\n const mediumAlign = mapVerticalAlign(props?.medium?.valign);\n const semilargelAlign = mapVerticalAlign(props?.semilarge?.valign);\n const largeAlign = mapVerticalAlign(props?.large?.valign);\n const xlargeAlign = mapVerticalAlign(props?.xlarge?.valign);\n\n const property = selfAlign ? 'align-self: ' : 'align-items: ';\n\n return css`\n ${property}${vAlign || undefined};\n\n ${mediumAlign !== undefined &&\n css`\n @media ${mq.medium} {\n ${property}${mediumAlign};\n }\n `}\n\n ${semilargelAlign !== undefined &&\n css`\n @media ${mq.semilarge} {\n ${property}${semilargelAlign};\n }\n `}\n\n ${largeAlign !== undefined &&\n css`\n @media ${mq.large} {\n ${property}${largeAlign};\n }\n `}\n\n ${xlargeAlign !== undefined &&\n css`\n @media ${mq.xlarge} {\n ${property}${xlargeAlign};\n }\n `}\n `;\n };\n\nconst mapHorizontalAlign = (alignMode?: HorizontalAlign) => {\n switch (alignMode) {\n case 'left':\n return 'flex-start';\n case 'center':\n return 'center';\n case 'right':\n return 'flex-end';\n default:\n return undefined;\n }\n};\n\nconst getHorinzontalAlign = (props: GridProps) => {\n const hAlign = mapHorizontalAlign(props.halign);\n const mediumAlign = mapHorizontalAlign(props?.medium?.halign);\n const semilargelAlign = mapHorizontalAlign(props?.semilarge?.halign);\n const largeAlign = mapHorizontalAlign(props?.large?.halign);\n const xlargeAlign = mapHorizontalAlign(props?.xlarge?.halign);\n\n return css`\n justify-content: ${hAlign || undefined};\n\n ${mediumAlign !== undefined &&\n css`\n @media ${mq.medium} {\n justify-content: ${mediumAlign};\n }\n `}\n\n ${semilargelAlign !== undefined &&\n css`\n @media ${mq.semilarge} {\n justify-content: ${semilargelAlign};\n }\n `}\n\n ${largeAlign !== undefined &&\n css`\n @media ${mq.large} {\n justify-content: ${largeAlign};\n }\n `}\n\n ${xlargeAlign !== undefined &&\n css`\n @media ${mq.xlarge} {\n justify-content: ${xlargeAlign};\n }\n `}\n `;\n};\n\nconst StyledCol = styled.div<GridProps & ColProps>`\n ${getWidth};\n ${getLeftRight};\n ${getGutter('col')}\n display: inline-grid;\n grid-template-columns: 100%;\n position: relative;\n\n ${getTextAlign}\n ${getVerticalAlign(true)}\n ${({ toRight }) =>\n toRight &&\n css`\n margin-left: auto;\n `}\n ${({ toLeft }) =>\n toLeft &&\n css`\n margin-right: auto;\n `}\n`;\n\nconst Col: React.FC<ColProps & { children?: React.ReactNode }> = (props) => {\n return <React.Fragment>{props?.children}</React.Fragment>;\n};\n\ninterface GridPropsSettings {\n gutter?: number;\n valign?: VerticalAlign;\n halign?: HorizontalAlign;\n}\n\ninterface GridProps extends GridPropsSettings {\n medium?: GridPropsSettings;\n semilarge?: GridPropsSettings;\n large?: GridPropsSettings;\n xlarge?: GridPropsSettings;\n}\n\nconst StyledGrid = styled.div<GridProps>`\n ${getGutter('grid')}\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n ${getVerticalAlign()}\n ${getHorinzontalAlign}\n`;\n\nconst mapGutterToCol = (gutter?: number, colSettings?: any) => {\n if (gutter === undefined) return colSettings;\n if (colSettings) {\n return {\n ...colSettings,\n gutter,\n };\n } else {\n return {\n gutter,\n };\n }\n};\n\nconst Grid: React.FC<GridProps & { children?: React.ReactNode }> = ({\n gutter,\n valign,\n children,\n halign,\n medium,\n semilarge,\n large,\n xlarge,\n}) => {\n return (\n <StyledGrid\n gutter={gutter}\n valign={valign}\n halign={halign}\n medium={medium}\n semilarge={semilarge}\n large={large}\n xlarge={xlarge}\n >\n {React.Children.map(children, (comp: any) => {\n return comp ? (\n <StyledCol\n {...comp?.props}\n gutter={gutter}\n medium={mapGutterToCol(\n medium?.gutter,\n comp?.props?.medium\n )}\n semilarge={mapGutterToCol(\n semilarge?.gutter,\n comp?.props?.semilarge\n )}\n large={mapGutterToCol(\n large?.gutter,\n comp?.props?.large\n )}\n xlarge={mapGutterToCol(\n xlarge?.gutter,\n comp?.props?.xlarge\n )}\n />\n ) : undefined;\n })}\n </StyledGrid>\n );\n};\n\nGrid.defaultProps = {\n gutter: gridSettings.gutter,\n};\n\nexport default {\n Row: Grid,\n Col,\n};\n","import React, { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport { concat } from 'utils/concat';\nimport { mq, spacings, withRange, getGlobals as global } from 'utils/styles';\n\nexport type BgMode = 'full' | 'larger-left' | 'larger-right' | 'inverted';\n\nconst getBackground = (bgColor: string, mode?: BgMode) => {\n let bgValue = undefined;\n\n switch (mode) {\n case 'full':\n bgValue = bgColor;\n break;\n\n case 'inverted':\n bgValue = bgColor;\n break;\n\n case 'larger-left':\n bgValue = `linear-gradient(to left, transparent 40%, ${bgColor} 40%)`;\n break;\n\n case 'larger-right':\n bgValue = `linear-gradient(to right, transparent 40%, ${bgColor} 40%)`;\n break;\n\n default:\n bgValue = bgColor;\n break;\n }\n return bgValue;\n};\n\nconst View = styled.section<{\n as?: SectionType;\n bgIdent: string;\n bgColor: string;\n isStackable?: boolean;\n addSeperation?: boolean;\n}>`\n position: relative;\n overflow: ${({ as }) => (as === 'div' ? 'visible' : 'hidden')};\n\n // section paddings\n ${({ addSeperation, isStackable, bgIdent, theme }) => {\n const padding = global(theme).sections.seperation.padding.default;\n const paddingStacked =\n global(theme).sections.seperation.padding.stackable;\n const forcePadding = global(theme).sections.seperation.forcePadding;\n\n if (addSeperation) {\n return css`\n ${withRange(padding, 'padding-top')}\n ${withRange(\n isStackable ? paddingStacked : padding,\n 'padding-bottom'\n )}\n\n section[data-stack-ident='true'] + & {\n ${withRange(paddingStacked, 'padding-top')};\n }\n\n section[data-bg-ident='${bgIdent}']\n + &[data-bg-ident='${bgIdent}'] {\n padding-top: ${forcePadding ? undefined : '0 !important'};\n\n @media ${mq.xxlarge} {\n padding-top: ${forcePadding\n ? undefined\n : '0 !important'};\n }\n }\n `;\n } else return '';\n }}\n\n // section margins\n ${({ addSeperation, isStackable, bgIdent, bgColor, theme }) => {\n const margin = global(theme).sections.seperation.margin.default;\n const marginStacked =\n global(theme).sections.seperation.margin.stackable;\n\n const bgColorPart = bgColor ? `__${bgColor}` : '';\n\n if (addSeperation) {\n return css`\n *:not([data-bg-ident='light'])\n + &[data-bg-ident='larger-left${bgColorPart}'] {\n ${withRange(margin, 'margin-top')};\n }\n\n *:not([data-bg-ident='light'])\n + &[data-bg-ident='larger-right${bgColorPart}'] {\n ${withRange(margin, 'margin-top')};\n }\n\n section[data-bg-ident='larger-left${bgColorPart}']\n + &:not([data-bg-ident='light']) {\n ${withRange(\n isStackable ? marginStacked : margin,\n 'margin-top'\n )};\n }\n\n section[data-bg-ident='larger-right${bgColorPart}']\n + &:not([data-bg-ident='light']) {\n ${withRange(\n isStackable ? marginStacked : margin,\n 'margin-top'\n )};\n }\n\n section[data-bg-ident='${bgIdent}']\n + &[data-bg-ident='${bgIdent}'] {\n margin-top: 0 !important;\n\n @media ${mq.xxlarge} {\n margin-top: 0 !important;\n }\n }\n `;\n } else return '';\n }}\n`;\n\nconst Back = styled.div<{\n bgColor?: string;\n bgMode?: BgMode;\n clampSolidBg?: boolean;\n}>`\n display: ${({ bgColor }) => (bgColor ? 'block' : 'none')};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n max-width: ${({ bgMode, clampSolidBg }) => {\n if (bgMode !== 'larger-left' && bgMode !== 'larger-right') {\n return clampSolidBg ? `${spacings.wrapperLarge}px` : undefined;\n } else {\n return `${spacings.wrapper}px`;\n }\n }};\n background: ${({ bgColor }) => bgColor || undefined};\n margin: 0 auto;\n z-index: -1;\n\n @media ${mq.semilarge} {\n background: ${({ bgColor, bgMode }) =>\n bgColor && bgMode ? getBackground(bgColor, bgMode) : undefined};\n }\n\n @media ${mq.xlarge} {\n :before {\n content: ${({ bgMode }) =>\n bgMode === 'larger-left' ? `\"\"` : undefined};\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: ${(spacings.wrapperLarge - spacings.wrapper) / 2}px;\n background-color: ${({ bgColor }) => bgColor && bgColor};\n transform: translateX(-100%);\n }\n :after {\n content: ${({ bgMode }) =>\n bgMode === 'larger-right' ? `\"\"` : undefined};\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: ${(spacings.wrapperLarge - spacings.wrapper) / 2}px;\n background-color: ${({ bgColor }) => bgColor && bgColor};\n transform: translateX(100%);\n }\n }\n`;\n\nexport type SectionType = 'header' | 'footer' | 'div';\n\nexport interface SectionProps {\n /** ID value for targeting section with anchor hashes */\n anchorId?: string;\n\n /** Render as specific HTML tag type */\n renderAs?: SectionType;\n\n /** Background color */\n bgColor?: string;\n\n /** Background mode */\n bgMode?: BgMode;\n\n /** Clamp solid backgrounds (full, inverted) to large wrapper width */\n clampSolidBg?: boolean;\n\n /** Enable section seperation spacing */\n addSeperation?: boolean;\n\n /** Allow stack feature for reduced section spacing to following section */\n isStackable?: boolean;\n}\n\nconst Section = forwardRef<\n HTMLElement,\n SectionProps & {\n className?: string;\n children?: React.ReactNode;\n }\n>(\n (\n {\n anchorId,\n renderAs,\n bgColor,\n bgMode,\n clampSolidBg = true,\n addSeperation = false,\n isStackable = false,\n className,\n children,\n },\n ref\n ) => {\n switch (bgMode) {\n case 'larger-left':\n bgMode = 'larger-left';\n break;\n case 'larger-right':\n bgMode = 'larger-right';\n break;\n case 'inverted':\n bgMode = 'inverted';\n break;\n case 'full':\n bgMode = 'full';\n break;\n default:\n bgMode = undefined;\n }\n\n const noPadIdent = addSeperation ? '' : 'nopad';\n const ident =\n bgColor && bgMode\n ? concat([`${bgMode}__${bgColor}`, noPadIdent], '--')\n : 'light';\n\n return (\n <View\n ref={ref}\n id={anchorId || undefined}\n as={renderAs}\n data-bg-ident={ident}\n bgIdent={ident}\n bgColor={bgColor || ''}\n addSeperation={\n !renderAs || (renderAs && renderAs !== 'div')\n ? addSeperation\n : false\n }\n isStackable={isStackable}\n data-stack-ident={isStackable ? 'true' : 'false'}\n className={className}\n >\n {bgColor && (\n <Back\n bgColor={bgColor}\n bgMode={bgMode}\n clampSolidBg={clampSolidBg}\n />\n )}\n {children}\n </View>\n );\n }\n);\n\nSection.displayName = 'Section';\n\nexport default Section;\n\nexport const mapToBgMode = (\n mode?: 'full' | 'splitted' | 'inverted',\n preventSplit = false,\n isMirrored = false\n): BgMode | undefined => {\n switch (mode) {\n case 'full':\n return 'full';\n case 'inverted':\n return 'inverted';\n case 'splitted': {\n if (!preventSplit)\n return isMirrored ? 'larger-left' : 'larger-right';\n else return undefined;\n }\n\n default:\n return undefined;\n }\n};\n","import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { spacings } from 'utils/styles';\n\nexport type ClampWidthType = 'small' | 'normal' | 'large';\n\nexport const wrapperWhitespace = spacings.nudge * 2;\n\nconst View = styled.div<{\n clampWidth?: ClampWidthType;\n addWhitespace?: boolean;\n}>`\n position: relative;\n width: 100%;\n max-width: ${({ clampWidth }) => {\n switch (clampWidth) {\n case 'large':\n return `${spacings.wrapperLarge}px`;\n\n case 'small':\n return `${spacings.wrapperSmall}px`;\n\n default:\n case 'normal':\n return `${spacings.wrapper}px`;\n }\n }};\n margin-left: auto;\n margin-right: auto;\n padding: 0\n ${({ addWhitespace }) => (addWhitespace ? wrapperWhitespace : 0)}px;\n`;\n\nconst Wrapper: React.FC<{\n addWhitespace?: boolean;\n clampWidth?: ClampWidthType;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n addWhitespace = false,\n clampWidth = 'normal',\n className,\n children,\n}) => {\n return (\n <View\n className={className}\n addWhitespace={addWhitespace}\n clampWidth={clampWidth}\n >\n {children}\n </View>\n );\n};\n\nexport default Wrapper;\n"],"names":["gridSettings","cols","gutter","spacings","spacer","validateValue","value","min","max","clampValue","undefined","getGutter","mode","props","mediumGutter","_a","medium","semilargeGutter","_b","semilarge","largeGutter","_c","large","xlargeGutter","_d","xlarge","propertyTop","propertyLeft","css","templateObject_16","__makeTemplateObject","mq","templateObject_13","templateObject_14","templateObject_15","mapVerticalAlign","alignMode","getVerticalAlign","selfAlign","vAlign","valign","mediumAlign","semilargelAlign","largeAlign","xlargeAlign","property","templateObject_26","templateObject_23","templateObject_24","templateObject_25","mapHorizontalAlign","StyledCol","styled","div","withConfig","displayName","componentId","span","mediumSpan","semilargeSpan","largeSpan","xlargeSpan","templateObject_6","templateObject_2","templateObject_3","templateObject_4","templateObject_5","mediumMove","move","semilargeMove","largeMove","xlargeMove","templateObject_11","templateObject_7","templateObject_8","templateObject_9","templateObject_10","mediumTextAlign","textAlign","semilargeTextAlign","largeTextAlign","xlargeTextAlign","templateObject_18","templateObject_19","templateObject_20","toRight","templateObject_32","toLeft","templateObject_33","StyledGrid","hAlign","halign","templateObject_27","templateObject_28","templateObject_30","mapGutterToCol","colSettings","__assign","Grid","children","React","createElement","Children","map","comp","defaultProps","Grid$1","Row","Col","Fragment","View","section","as","addSeperation","isStackable","bgIdent","theme","padding","global","sections","seperation","default","paddingStacked","stackable","forcePadding","templateObject_1","withRange","xxlarge","bgColor","margin","marginStacked","bgColorPart","concat","Back","bgMode","clampSolidBg","wrapperLarge","wrapper","bgValue","getBackground","Section","forwardRef","ref","anchorId","renderAs","className","noPadIdent","ident","id","wrapperWhitespace","nudge","clampWidth","wrapperSmall","addWhitespace","columns","width","gridWidth","gridGutter","gridCols","preventSplit","isMirrored"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("./ClockFilled-2483aa4a.js"),n=require("react"),t=require("./useMediaQuery-d4f81f88.js"),r=require("./concat-f387d848.js"),i=function(){var e=n.useState(!1),t=e[0],r=e[1];return n.useEffect((function(){void 0===document.fonts?r(void 0):function(){var e,n;null===(n=null===(e=null===document||void 0===document?void 0:document.fonts)||void 0===e?void 0:e.ready)||void 0===n||n.then((function(){r(!0)}))}()}),[]),t},o=function(e,t){void 0===e&&(e=0);var r=n.useState(null),i=r[0],o=r[1],u=n.useRef(-1),c=n.useRef({clientWidth:0,clientHeight:0,innerHeight:0,innerWidth:0}),a=function(){"undefined"!=typeof window&&"undefined"!=typeof document&&(c.current={clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight,innerHeight:window.innerHeight,innerWidth:window.innerWidth})};return n.useEffect((function(){if("undefined"!=typeof window){var n=function(){a(),-1===u.current&&(u.current=window.setTimeout((function(){null==t||t(c.current),o(c.current),u.current=-1}),e))};return a(),null==t||t(c.current),o(c.current),window.addEventListener("resize",n),function(){window.removeEventListener("resize",n)}}}),[t,e]),i},u="undefined"!=typeof window&&"URLSearchParams"in window,c=function(){var e={};if(!u)return e;var n=Object.fromEntries(new URLSearchParams(window.location.search));for(var t in n){var r=n[t];"string"==typeof r&&(r=decodeURIComponent(r)),e[t]=r}return e},a=function(e){if(e){var n=e.toString(),t=n?r.concat([location.pathname,n+location.hash],"?"):location.pathname+location.hash;window.history.replaceState({},"",t)}};exports.deleteUrlParam=function(e){if(u){var n=new URLSearchParams(window.location.search);n.delete(e),a(n)}},exports.getUrlParams=c,exports.setUrlParam=function(e,n){if(u&&("string"==typeof n||"number"==typeof n)){var t=c();t[e]=n.toString();var r=new URLSearchParams(window.location.search);for(var i in t)r.set(i,encodeURIComponent(t[i]));a(r)}},exports.useEqualSheetHeight=function(r){var u=e.__assign({small:1,medium:1,semilarge:2,large:3,xlarge:3},r.responsive),c=t.useMediaQuery(["small","medium","semilarge","large","xlarge"]),a=c?u[c]:u.small,l=n.useState([]),s=l[0],f=l[1],d=i(),m=n.useCallback((function(e,n,t){e.reduce((function(e,n,t,r){return t%a==0&&e.push(r.slice(t,t+a)),e}),[]).forEach((function(e,r){var i=e.filter((function(e){return null!==e})).slice().sort((function(e,n){return e&&n?e>n?-1:1:0}))[0];if(e.length>1&&i)for(var o=0;o<e.length;o++){var u=t[o+r*a].current.querySelector(n);null==u||u.setAttribute("style","height: ".concat(i,"px"))}}))}),[a]),h=o(void 0!==r.resizeThrottleTimeout?r.resizeThrottleTimeout:400);n.useEffect((function(){var n,t=(n=s,function(){for(var t=new Map,i=0;i<r.identifiers.length;i++)t.set(r.identifiers[i],[]);n.filter((function(e){return e.current})).forEach((function(n){var i=n.current;r.identifiers.forEach((function(n){var r=i.querySelector(n),o=t.get(n),u=null;r&&(r.removeAttribute("style"),u=r.getBoundingClientRect().height),o&&t.set(n,e.__spreadArray(e.__spreadArray([],o,!0),[u],!1))}))})),t.forEach((function(e,t){m(e,t,n)}))});t()}),[r.identifiers,h,m,s,d]);var v=n.useCallback((function(){f((function(e){return Array(r.listLength).fill(null).map((function(t,r){return e[r]||n.createRef()}))}))}),[r.listLength]);return n.useEffect((function(){f((function(e){return Array(r.listLength).fill(null).map((function(t,r){return e[r]||n.createRef()}))}))}),[r.listLength]),{sheetRefs:s,triggerCalculation:v}},exports.useFontsLoaded=i,exports.useResizeThrottle=o,exports.useScrollTo=function(e){var t=n.useRef(-1),r=n.useRef(0),i=n.useState(void 0),o=i[0],u=i[1];return n.useEffect((function(){if(void 0!==o)if("scrollBehavior"in document.documentElement.style)window.scroll({top:o,left:0,behavior:"smooth"}),u(void 0);else{var n=function(i){-1===t.current&&(t.current=i||(new Date).getTime());var c,a=i-t.current,l=+(c=a/e,c*(2-c)).toFixed(2),s=0===o?r.current-r.current*l:r.current+o*l;window.scrollTo(0,s),o>0&&s>=r.current+o||o<0&&s<=r.current+o||0===o&&s<=0?(cancelAnimationFrame(t.current),t.current=-1,u(void 0)):window.requestAnimationFrame(n)};cancelAnimationFrame(t.current),t.current=-1,r.current=window.pageYOffset||document.documentElement.scrollTop,window.requestAnimationFrame(n)}}),[o,e]),u};
2
- //# sourceMappingURL=urlParams-1d03b5a6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"urlParams-1d03b5a6.js","sources":["../src/utils/useFontsLoaded.ts","../src/utils/useResizeThrottle.ts","../src/utils/urlParams.ts","../src/utils/useEqualSheetHeight.ts","../src/utils/useScrollTo.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const useFontsLoaded = () => {\n const [allFontsLoaded, setFontLoaded] = useState<boolean | undefined>(\n false\n );\n\n useEffect(() => {\n const waitForFonts = () => {\n (document as any)?.fonts?.ready?.then(() => {\n setFontLoaded(true);\n });\n };\n\n if ((document as any).fonts === undefined) setFontLoaded(undefined);\n else waitForFonts();\n }, []);\n\n return allFontsLoaded;\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport interface ResizeState {\n clientWidth: number;\n clientHeight: number;\n innerHeight: number;\n innerWidth: number;\n}\n\nconst useResizeThrottle = (\n timeout = 0,\n callback?: (state: ResizeState) => void\n) => {\n const [throttledState, setThrottledState] =\n useState<ResizeState | null>(null);\n\n const timeoutRef = useRef<number>(-1);\n const lastState = useRef<ResizeState>({\n clientWidth: 0,\n clientHeight: 0,\n innerHeight: 0,\n innerWidth: 0,\n });\n\n const updateResizeState = () => {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n\n lastState.current = {\n clientWidth: document.documentElement.clientWidth,\n clientHeight: document.documentElement.clientHeight,\n innerHeight: window.innerHeight,\n innerWidth: window.innerWidth,\n };\n };\n\n useEffect(() => {\n if (typeof window === 'undefined') return;\n\n const handleResize = () => {\n updateResizeState();\n\n if (timeoutRef.current === -1) {\n timeoutRef.current = window.setTimeout(() => {\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n timeoutRef.current = -1;\n }, timeout);\n }\n };\n\n updateResizeState();\n callback?.(lastState.current);\n setThrottledState(lastState.current);\n\n window.addEventListener('resize', handleResize);\n\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [callback, timeout]);\n\n return throttledState;\n};\n\nexport default useResizeThrottle;\n","import { concat } from './concat';\n\nconst isSupported =\n typeof window !== 'undefined' && 'URLSearchParams' in window;\n\nexport const getUrlParams = () => {\n const obj: Record<string, string> = {};\n if (!isSupported) return obj;\n\n const paramsObj = Object.fromEntries(\n new URLSearchParams(window.location.search)\n );\n\n for (const param in paramsObj) {\n let value = paramsObj[param];\n if (typeof value === 'string') {\n value = decodeURIComponent(value);\n }\n obj[param] = value;\n }\n\n return obj;\n};\n\nexport const setUrlParam = (key: string, value: string | number) => {\n if (\n !isSupported ||\n (typeof value !== 'string' && typeof value !== 'number')\n ) {\n return;\n }\n\n const params = getUrlParams();\n params[key] = value.toString();\n\n const currentParams = new URLSearchParams(window.location.search);\n for (const param in params) {\n currentParams.set(param, encodeURIComponent(params[param]));\n }\n\n updateUrl(currentParams);\n};\n\nexport const deleteUrlParam = (key: string) => {\n if (!isSupported) return;\n const currentParams = new URLSearchParams(window.location.search);\n currentParams.delete(key);\n\n updateUrl(currentParams);\n};\n\nconst updateUrl = (params: URLSearchParams) => {\n if (!params) return;\n\n const queries = params.toString();\n const url = queries\n ? concat([location.pathname, queries + location.hash], '?')\n : location.pathname + location.hash;\n\n window.history.replaceState({}, '', url);\n};\n","import {\n useEffect,\n useState,\n MutableRefObject,\n createRef,\n useCallback,\n} from 'react';\nimport { useMediaQuery } from './useMediaQuery';\nimport { useFontsLoaded } from 'utils/useFontsLoaded';\nimport useResizeThrottle from './useResizeThrottle';\n\ninterface ItemsPerRow {\n small?: number;\n medium?: number;\n semilarge?: number;\n large?: number;\n xlarge?: number;\n}\n\ntype Mq = keyof ItemsPerRow;\n\n// ********************\n// useEqualSheetHeight\n// ********************\n\nexport const useEqualSheetHeight = <T extends HTMLElement>(props: {\n listLength: number;\n identifiers: string[];\n responsive?: ItemsPerRow;\n /** Throttle timeout for resize events. Default: 400ms */\n resizeThrottleTimeout?: number;\n}) => {\n const defaultResponsive = {\n small: 1,\n medium: 1,\n semilarge: 2,\n large: 3,\n xlarge: 3,\n ...props.responsive,\n };\n const mqs: Mq[] = ['small', 'medium', 'semilarge', 'large', 'xlarge'];\n const currentMq = useMediaQuery(mqs) as Mq | undefined;\n const itemsPerRow = currentMq\n ? defaultResponsive[currentMq]\n : defaultResponsive.small;\n\n const [sheetRefs, setSheetRefs] = useState<MutableRefObject<T>[]>([]);\n const fontsLoaded = useFontsLoaded();\n\n const setHeights = useCallback(\n (\n heights: (number | null)[],\n selector: string,\n refs: MutableRefObject<T>[]\n ) => {\n const makeRows = (\n result: Array<number | null>[],\n _: number,\n index: number,\n arr: Array<number | null>\n ) => {\n // make new row after 3 items\n if (index % itemsPerRow === 0) {\n result.push(\n arr.slice(index, index + itemsPerRow) as Array<number>\n );\n }\n return result;\n };\n\n // put item heights in 2-dimensional array to sort them in rows\n const heightsInRows = heights.reduce(makeRows, []);\n\n heightsInRows.forEach((rowHeights, y) => {\n const validHeights = rowHeights.filter(\n (height) => height !== null\n ) as number[];\n\n const highest = validHeights.slice().sort((vA, vB) => {\n if (vA && vB) {\n if (vA > vB) return -1;\n return 1;\n } else return 0;\n })[0];\n\n // set height of all items in row to the highest value\n if (rowHeights.length > 1 && highest) {\n for (let x = 0; x < rowHeights.length; x++) {\n const index = x + y * itemsPerRow;\n const el = refs[index].current.querySelector(selector);\n\n el?.setAttribute('style', `height: ${highest}px`);\n }\n }\n });\n },\n [itemsPerRow]\n );\n\n // Throttle viewport resize event for performance\n const resizeState = useResizeThrottle(\n props.resizeThrottleTimeout !== undefined\n ? props.resizeThrottleTimeout\n : 400\n );\n\n useEffect(() => {\n const resize = (refs: MutableRefObject<T>[]) => () => {\n const identifierSizes = new Map<string, Array<number | null>>();\n\n // create identifier map\n for (let i = 0; i < props.identifiers.length; i++) {\n identifierSizes.set(props.identifiers[i], []);\n }\n\n // set height values\n refs.filter((ref) => ref.current).forEach(({ current }) => {\n // get height for each element\n props.identifiers.forEach((id) => {\n const element = current.querySelector(id);\n const prevHeights = identifierSizes.get(id);\n let height: number | null = null;\n\n if (element) {\n element.removeAttribute('style');\n height = element.getBoundingClientRect().height;\n }\n\n if (prevHeights) {\n identifierSizes.set(id, [...prevHeights, height]);\n }\n });\n });\n\n // set heights for each identifier\n identifierSizes.forEach((value, key) => {\n setHeights(value, key, refs);\n });\n };\n\n const resizeHandler = resize(sheetRefs);\n resizeHandler();\n }, [props.identifiers, resizeState, setHeights, sheetRefs, fontsLoaded]);\n\n const triggerCalculation = useCallback(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n useEffect(() => {\n setSheetRefs((prev) =>\n Array(props.listLength)\n .fill(null)\n .map((_, i) => prev[i] || createRef())\n );\n }, [props.listLength]);\n\n return {\n sheetRefs,\n triggerCalculation,\n };\n};\n","import { useEffect, useRef, useState } from 'react';\n\nexport const useScrollTo = (fallbackScrollDuration: number) => {\n const startTime = useRef<number>(-1);\n const firstPos = useRef<number>(0);\n const [targetPos, setTargetPos] = useState<number | undefined>(undefined);\n\n const outQuad = (n: number) => {\n return n * (2 - n);\n };\n\n useEffect(() => {\n if (targetPos === undefined) return;\n if ('scrollBehavior' in document.documentElement.style) {\n window.scroll({\n top: targetPos,\n left: 0,\n behavior: 'smooth',\n });\n setTargetPos(undefined);\n } else {\n const animate = (timestamp: number) => {\n if (startTime.current === -1) {\n startTime.current = timestamp || new Date().getTime();\n }\n\n const elapsed = timestamp - startTime.current;\n const progress = elapsed / fallbackScrollDuration;\n const easeProgress = +outQuad(progress).toFixed(2);\n\n const newPos =\n targetPos === 0\n ? firstPos.current - firstPos.current * easeProgress\n : firstPos.current + targetPos * easeProgress;\n\n // scroll to new position\n window.scrollTo(0, newPos);\n\n if (\n (targetPos > 0 && newPos >= firstPos.current + targetPos) ||\n (targetPos < 0 && newPos <= firstPos.current + targetPos) ||\n (targetPos === 0 && newPos <= 0)\n ) {\n cancelAnimationFrame(startTime.current);\n startTime.current = -1;\n setTargetPos(undefined);\n } else {\n window.requestAnimationFrame(animate);\n }\n };\n\n cancelAnimationFrame(startTime.current);\n startTime.current = -1;\n firstPos.current =\n window.pageYOffset || document.documentElement.scrollTop;\n window.requestAnimationFrame(animate);\n }\n }, [targetPos, fallbackScrollDuration]);\n\n return setTargetPos;\n};\n"],"names":["useFontsLoaded","_a","useState","allFontsLoaded","setFontLoaded","useEffect","undefined","document","fonts","_b","ready","then","waitForFonts","useResizeThrottle","timeout","callback","throttledState","setThrottledState","timeoutRef","useRef","lastState","clientWidth","clientHeight","innerHeight","innerWidth","updateResizeState","window","current","documentElement","handleResize","setTimeout","addEventListener","removeEventListener","isSupported","getUrlParams","obj","paramsObj","Object","fromEntries","URLSearchParams","location","search","param","value","decodeURIComponent","updateUrl","params","queries","toString","url","concat","pathname","hash","history","replaceState","key","currentParams","delete","set","encodeURIComponent","props","defaultResponsive","__assign","small","medium","semilarge","large","xlarge","responsive","currentMq","useMediaQuery","itemsPerRow","sheetRefs","setSheetRefs","fontsLoaded","setHeights","useCallback","heights","selector","refs","reduce","result","_","index","arr","push","slice","forEach","rowHeights","y","validHeights","highest","filter","height","sort","vA","vB","length","x","el","querySelector","setAttribute","resizeState","resizeThrottleTimeout","resizeHandler","identifierSizes","Map","i","identifiers","ref","id","element","prevHeights","get","removeAttribute","getBoundingClientRect","triggerCalculation","prev","Array","listLength","fill","map","createRef","fallbackScrollDuration","startTime","firstPos","targetPos","setTargetPos","style","scroll","top","left","behavior","animate_1","timestamp","Date","getTime","n","elapsed","easeProgress","toFixed","newPos","scrollTo","cancelAnimationFrame","requestAnimationFrame","pageYOffset","scrollTop"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react"),o=require("./ClockFilled-2483aa4a.js");function n(e){if(e&&e.__esModule)return e;var o=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var t=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(o,n,t.get?t:{enumerable:!0,get:function(){return e[n]}})}})),o.default=e,Object.freeze(o)}var t=function(o,n){var t=e.useRef(o),r=e.useRef();e.useEffect((function(){t.current=o}),[o]);var a=e.useCallback((function(){r.current=window.setTimeout((function(){var e;return null===(e=t.current)||void 0===e?void 0:e.call(t)}),n)}),[n]),l=e.useCallback((function(){r.current&&window.clearTimeout(r.current)}),[]);e.useEffect((function(){return a(),l}),[n,a,l]);var u=e.useCallback((function(){l(),a()}),[l,a]);return{clear:l,reset:u}},r=function(n,r,a){var l=t(n,r),u=l.clear,i=l.reset;return e.useEffect(i,o.__spreadArray(o.__spreadArray([],a,!0),[i],!1)),e.useEffect(u,[]),{clear:u,reset:i}};exports.useDebounce=r,exports.useGeolocation=function(o,n){void 0===o&&(o=!0),void 0===n&&(n=!0);var t=e.useState(),r=t[0],a=t[1],l=e.useState(),u=l[0],i=l[1],c=e.useState(),s=c[0],f=c[1],d=e.useState(),v=d[0],m=d[1],g=e.useRef();e.useEffect((function(){a("geolocation"in navigator)}),[]);var k=e.useCallback((function(){i(!1),g.current&&navigator.geolocation.clearWatch(g.current)}),[]);e.useEffect((function(){if(n&&"geolocation"in navigator){k(),navigator.geolocation.watchPosition(h,b,{enableHighAccuracy:o}),i(!0);var e=g.current;return function(){e&&(i(!1),navigator.geolocation.clearWatch(e))}}}),[n,k,o]);var p=e.useCallback((function(){return new Promise((function(e,n){k(),i(!1),navigator.geolocation.watchPosition((function(o){h(o),e(o)}),(function(e){b(e),n(e)}),{enableHighAccuracy:o}),i(!0)}))}),[k,o]),h=function(e){f(e)},b=function(e){i(!1),console.log(e),m(e)};return{isSupported:r,isEnabled:u,location:s,error:v,reset:p,cancel:k}},exports.useLazyInput=function(o,n,t){void 0===t&&(t=600);var a=e.useState(n),l=a[0],u=a[1],i=r((function(){return null==o?void 0:o(l)}),t,[l]).clear,c=e.useCallback((function(e,n){void 0===n&&(n=!1),u(e),n&&(i(),null==o||o(e))}),[]),s=e.useCallback((function(){i(),null==o||o(l)}),[o,i,l]);return{update:c,value:l,forceUpdate:s}},exports.useLeafletMap=function(t){var r=e.useState(null),a=r[0],l=r[1],u=e.useState(null),i=u[0],c=u[1],s=e.useState(null),f=s[0],d=s[1],v=e.useState(null),m=v[0],g=v[1],k=e.useRef(null),p=e.useState(!1),h=p[0],b=p[1],C=e.useRef(!1),y=e.useRef(null),z=e.useMemo((function(){return Object.keys(t).forEach((function(e){void 0===t[e]&&delete t[e]})),o.__assign({center:[0,0],zoom:2.5,touchZoom:!0,scrollWheelZoom:!1,showZoomControls:!0,zoomControlPosition:"topleft",onlyScrollOnFocus:!0,url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",attribution:'&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',markers:[],fitBoundsPadding:[20,20]},t)}),[t]);e.useEffect((function(){if(a){o.__awaiter(void 0,void 0,void 0,(function(){var e,t,r;return o.__generator(this,(function(o){switch(o.label){case 0:return i||!a||C.current?[2]:(C.current=!0,[4,Promise.resolve().then((function(){return n(require("leaflet"))}))]);case 1:return(e=o.sent())?(c(e),t=e.map(a,{center:z.center,zoom:z.zoom,touchZoom:z.touchZoom,scrollWheelZoom:z.scrollWheelZoom,zoomControl:!1,minZoom:z.minZoom,maxZoom:z.maxZoom}),z.showZoomControls&&e.control.zoom({position:z.zoomControlPosition}).addTo(t),t.once("focus",(function(){z.onlyScrollOnFocus&&t.scrollWheelZoom.enable()})),t.once("blur",(function(){z.onlyScrollOnFocus&&t.scrollWheelZoom.disable()})),t.on("click",(function(e){var o;null===(o=z.onClick)||void 0===o||o.call(z,e,t.getZoom())})),d(t),e.tileLayer(z.url,{attribution:z.attribution}).addTo(t),(r=new e.FeatureGroup).addTo(t),g(r),[2]):[2]}}))}))}}),[i,a,z,z.attribution,z.center,z.onlyScrollOnFocus,z.scrollWheelZoom,z.touchZoom,z.url,z.zoom]),e.useEffect((function(){var e;if(f&&m){m.clearLayers(),null===(e=z.markers)||void 0===e||e.forEach((function(e){var o,n,t=e.position,r=e.icon,a=e.id,l=e.isInteractive;if((null==r?void 0:r.url)&&(null==r?void 0:r.size)&&t){var u=a===z.activeMarkerId,c=i.icon({iconUrl:r.url,iconSize:u?r.sizeActive:r.size,iconAnchor:u?r.anchorActive:null==r?void 0:r.anchor}),s=i.marker(i.latLng(t[0],t[1]),{icon:c,riseOnHover:!0,interactive:l}).addTo(f);l&&s.on("click",(function(){var e;null===(e=z.onMarkerClick)||void 0===e||e.call(z,a)})),m.addLayer(s),i&&f&&m&&(h?z.activeMarkerId&&z.activeMarkerId!==(null==k?void 0:k.current)&&(k.current=z.activeMarkerId,null===(n=z.onActiveMarkerChanged)||void 0===n||n.call(z,{markerId:z.activeMarkerId})):(null===(o=z.onReady)||void 0===o||o.call(z),b(!0),z.activeMarkerId&&(k.current=z.activeMarkerId)))}}));var o=function(){var e,o,n;if(f&&z.restrictToMarkersArea){var t=null===(e=null==m?void 0:m.getBounds())||void 0===e?void 0:e.pad(.3);if(t&&t.isValid()){var r=t.getNorth(),a=t.getEast(),l=t.getSouth(),u=t.getWest(),i=f.getCenter(),c=null,s=null;(i.lat<l||i.lat>r)&&y.current&&(c=null===(o=y.current)||void 0===o?void 0:o.lat),(i.lng<u||i.lng>a)&&y.current&&(s=null===(n=y.current)||void 0===n?void 0:n.lng),null===s&&null===c||(null!==s&&(i.lng=s),null!==c&&(i.lat=c),f.panTo(i,{animate:!1})),y.current=i}}};if(z.restrictToMarkersArea)(null==m?void 0:m.getBounds()).isValid()&&f.on("drag",o);return function(){y.current=null,null==f||f.off("drag",o)}}}),[i,h,f,z,z.markers,m]);var S=e.useCallback((function(){f&&m&&f.fitBounds(m.getBounds(),{padding:i.point(z.fitBoundsPadding)})}),[i,f,z.fitBoundsPadding,m]),M=e.useCallback((function(e){var o,n=e||z.zoom,t=null===(o=z.markers)||void 0===o?void 0:o.find((function(e){return e.id===z.activeMarkerId}));t&&(null==f||f.flyTo(t.position,n))}),[f,z.activeMarkerId,z.markers,z.zoom]),Z=e.useCallback((function(e,o){var n=o||z.zoom;e?null==f||f.flyTo(e,n):M(n)}),[M,f,z.zoom]),T=e.useCallback((function(e){e&&(null==f||f.panTo(e))}),[f]),w=e.useCallback((function(){null==f||f.invalidateSize()}),[f]),E=e.useCallback((function(){return(null==f?void 0:f.getZoom())||z.zoom}),[f,z.zoom]);return{setContainer:l,flyToActive:M,flyToPosition:Z,panToPosition:T,showAllMarkers:S,recalculateMapSize:w,getCurrentZoom:E,isLoaded:h}},exports.useTimeout=t;
2
- //# sourceMappingURL=useGeolocation-4d38150b.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGeolocation-4d38150b.js","sources":["../src/utils/useTimeout.ts","../src/utils/useDebounce.ts","../src/utils/useGeolocation.ts","../src/utils/useLazyInput.ts","../src/utils/useLeafletMap.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from 'react';\n\nconst useTimeout = (callback: () => void, delay: number) => {\n const callbackRef = useRef(callback);\n const timeoutRef = useRef<number>();\n\n useEffect(() => {\n callbackRef.current = callback;\n }, [callback]);\n\n const set = useCallback(() => {\n timeoutRef.current = window.setTimeout(\n () => callbackRef.current?.(),\n delay\n );\n }, [delay]);\n\n const clear = useCallback(() => {\n timeoutRef.current && window.clearTimeout(timeoutRef.current);\n }, []);\n\n useEffect(() => {\n set();\n return clear;\n }, [delay, set, clear]);\n\n const reset = useCallback(() => {\n clear();\n set();\n }, [clear, set]);\n\n return { clear, reset };\n};\n\nexport default useTimeout;\n","import { DependencyList, useEffect } from 'react';\nimport useTimeout from './useTimeout';\n\nconst useDebounce = (\n callback: () => void,\n delay: number,\n deps: DependencyList\n) => {\n const { clear, reset } = useTimeout(callback, delay);\n\n useEffect(reset, [...deps, reset]);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(clear, []);\n\n return {\n clear,\n reset,\n };\n};\n\nexport default useDebounce;\n","import { useCallback, useEffect, useRef, useState } from 'react';\n\nconst useGeolocation = (enableHighAccuracy = true, autostart = true) => {\n const [isSupported, setIsSupported] = useState<boolean>();\n const [isEnabled, setIsEnabled] = useState<boolean>();\n const [location, setLocation] = useState<GeolocationPosition>();\n const [error, setError] = useState<GeolocationPositionError>();\n const watchRef = useRef<number | null>();\n\n useEffect(() => {\n setIsSupported('geolocation' in navigator);\n }, []);\n\n const cancel = useCallback(() => {\n setIsEnabled(false);\n if (watchRef.current) {\n navigator.geolocation.clearWatch(watchRef.current);\n }\n }, []);\n\n useEffect(() => {\n if (!autostart || !('geolocation' in navigator)) {\n return;\n }\n\n cancel();\n navigator.geolocation.watchPosition(handleSuccess, handleError, {\n enableHighAccuracy,\n });\n setIsEnabled(true);\n const watch = watchRef.current;\n\n return () => {\n if (watch) {\n setIsEnabled(false);\n navigator.geolocation.clearWatch(watch);\n }\n };\n }, [autostart, cancel, enableHighAccuracy]);\n\n const reset = useCallback(() => {\n return new Promise<GeolocationPosition>((resolve, reject) => {\n cancel();\n setIsEnabled(false);\n navigator.geolocation.watchPosition(\n (position) => {\n handleSuccess(position);\n resolve(position);\n },\n (err) => {\n handleError(err);\n reject(err);\n },\n {\n enableHighAccuracy,\n }\n );\n setIsEnabled(true);\n });\n }, [cancel, enableHighAccuracy]);\n\n const handleSuccess = (position: GeolocationPosition) => {\n setLocation(position);\n };\n\n const handleError = (error: GeolocationPositionError) => {\n setIsEnabled(false);\n console.log(error);\n\n setError(error);\n };\n\n return { isSupported, isEnabled, location, error, reset, cancel };\n};\n\nexport default useGeolocation;\n","import { useCallback, useState } from 'react';\nimport useDebounce from './useDebounce';\n\nconst useLazyInput = (\n callback: (value: string) => void,\n initial: string,\n delay = 600\n) => {\n const [value, setValue] = useState<string>(initial);\n const { clear } = useDebounce(() => callback?.(value), delay, [value]);\n\n const update = useCallback((value: string, withoutDelay = false) => {\n setValue(value);\n if (withoutDelay) {\n clear();\n callback?.(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const forceUpdate = useCallback(() => {\n clear();\n callback?.(value);\n }, [callback, clear, value]);\n\n return {\n update,\n value,\n forceUpdate,\n };\n};\n\nexport default useLazyInput;\n","import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n FeatureGroup,\n LatLng,\n LeafletMouseEvent,\n Map,\n Marker,\n MarkerOptions,\n} from 'leaflet';\n\nexport interface LeafletMapSettings {\n center: [number, number];\n zoom: number;\n minZoom?: number;\n maxZoom?: number;\n touchZoom: boolean;\n scrollWheelZoom: boolean;\n onlyScrollOnFocus: boolean;\n url: string;\n attribution: string;\n markers: Array<LeafletMapMarker>;\n activeMarkerId?: string;\n fitBoundsPadding: [number, number];\n restrictToMarkersArea?: boolean;\n showZoomControls?: boolean;\n zoomControlPosition?: 'bottomleft' | 'bottomright' | 'topleft' | 'topright';\n onMarkerClick?: (markerId: string) => void;\n onActiveMarkerChanged?: (props: { markerId: string }) => void;\n onReady?: () => void;\n onClick?: (ev: LeafletMouseEvent, currentZoom: number) => void;\n}\n\nexport interface LeafletMapMarker {\n id: string;\n position: [number, number];\n isInteractive?: boolean;\n icon?: {\n url: string;\n size: [number, number];\n anchor: [number, number];\n\n sizeActive: [number, number];\n anchorActive: [number, number];\n };\n popup?: {\n text: string;\n };\n}\n\nconst useLeafletMap = (settings: Partial<LeafletMapSettings>) => {\n const [container, setContainer] = useState<HTMLElement | null>(null);\n const [L, setLeaflet] = useState<any>(null);\n const [map, setMap] = useState<Map | null>(null);\n const [markersLayerGroup, setMarkersLayerGroup] =\n useState<FeatureGroup<any> | null>(null);\n const prevMarkerId = useRef<string | null>(null);\n const [isLoaded, setLoaded] = useState<boolean>(false);\n const isRenderedRef = useRef<boolean>(false);\n\n const lastValidCenter = useRef<LatLng | null>(null);\n\n const mapSettings: LeafletMapSettings = useMemo(() => {\n // removing undefined keys\n Object.keys(settings).forEach((key) => {\n if (settings[key] === undefined) {\n delete settings[key];\n }\n });\n\n return {\n center: [0, 0],\n zoom: 2.5,\n touchZoom: true,\n scrollWheelZoom: false,\n showZoomControls: true,\n zoomControlPosition: 'topleft',\n onlyScrollOnFocus: true,\n url: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',\n attribution:\n '&copy; <a href=\"http://osm.org/copyright\">OpenStreetMap</a> contributors',\n markers: [],\n fitBoundsPadding: [20, 20], // 0 = TopLeft, 1 = BottomRight\n ...settings,\n };\n }, [settings]);\n\n useEffect(() => {\n if (!container) return;\n\n const init = async () => {\n if (L || !container || isRenderedRef.current) return;\n isRenderedRef.current = true;\n\n // init leaflet\n const leaflet = await import('leaflet');\n if (!leaflet) return;\n\n // set leaflet state\n setLeaflet(leaflet);\n\n // setup map\n const map = leaflet.map(container, {\n center: mapSettings.center,\n zoom: mapSettings.zoom,\n touchZoom: mapSettings.touchZoom,\n scrollWheelZoom: mapSettings.scrollWheelZoom,\n zoomControl: false,\n minZoom: mapSettings.minZoom,\n maxZoom: mapSettings.maxZoom,\n });\n\n if (mapSettings.showZoomControls) {\n leaflet.control\n .zoom({\n position: mapSettings.zoomControlPosition,\n })\n .addTo(map);\n }\n\n // activate map scrolling on focus\n map.once('focus', () => {\n if (mapSettings.onlyScrollOnFocus) {\n map.scrollWheelZoom.enable();\n }\n });\n\n // deactivate map scrolling on focus is lost\n map.once('blur', () => {\n if (mapSettings.onlyScrollOnFocus) {\n map.scrollWheelZoom.disable();\n }\n });\n\n map.on('click', (ev) => {\n mapSettings.onClick?.(ev as LeafletMouseEvent, map.getZoom());\n });\n\n // set map state\n setMap(map);\n\n // add map layer from map provider\n leaflet\n .tileLayer(mapSettings.url, {\n attribution: mapSettings.attribution,\n })\n .addTo(map);\n\n // setup layer for markers\n const group = new leaflet.FeatureGroup();\n group.addTo(map);\n\n setMarkersLayerGroup(group);\n };\n\n init();\n }, [\n L,\n container,\n mapSettings,\n mapSettings.attribution,\n mapSettings.center,\n mapSettings.onlyScrollOnFocus,\n mapSettings.scrollWheelZoom,\n mapSettings.touchZoom,\n mapSettings.url,\n mapSettings.zoom,\n ]);\n\n useEffect(() => {\n if (!map || !markersLayerGroup) return;\n\n markersLayerGroup.clearLayers();\n mapSettings.markers?.forEach(\n ({ position, icon, id, isInteractive }) => {\n if (!icon?.url || !icon?.size || !position) return;\n const isActive = id === mapSettings.activeMarkerId;\n\n const markerIcon = L.icon({\n iconUrl: icon.url,\n\n iconSize: isActive ? icon.sizeActive : icon.size, // size of the icon\n // shadowSize: [50, 64], // size of the shadow\n iconAnchor: isActive ? icon.anchorActive : icon?.anchor, // point of the icon which will correspond to marker's location\n // shadowAnchor: [4, 62], // the same for the shadow\n // popupAnchor: [0, -16], // point from which the popup should open relative to the iconAnchor\n });\n\n const marker: Marker = L.marker(\n L.latLng(position[0], position[1]),\n {\n icon: markerIcon,\n riseOnHover: true,\n interactive: isInteractive,\n } as MarkerOptions\n ).addTo(map);\n\n if (isInteractive) {\n marker.on('click', () => {\n mapSettings.onMarkerClick?.(id);\n });\n }\n\n // add marker to markers layer\n markersLayerGroup.addLayer(marker);\n\n if (L && map && markersLayerGroup) {\n if (!isLoaded) {\n // on first load\n mapSettings.onReady?.();\n setLoaded(true);\n if (mapSettings.activeMarkerId) {\n prevMarkerId.current = mapSettings.activeMarkerId;\n }\n } else {\n // check if active marker changed\n if (\n mapSettings.activeMarkerId &&\n mapSettings.activeMarkerId !== prevMarkerId?.current\n ) {\n prevMarkerId.current = mapSettings.activeMarkerId;\n\n mapSettings.onActiveMarkerChanged?.({\n markerId: mapSettings.activeMarkerId,\n });\n }\n }\n }\n }\n );\n\n const handleMapMove = () => {\n if (!map) return;\n if (!mapSettings.restrictToMarkersArea) return;\n\n const markersBounds = markersLayerGroup?.getBounds()?.pad(0.3);\n if (!markersBounds || !markersBounds.isValid()) return;\n\n const northEdge = markersBounds.getNorth();\n const eastEdge = markersBounds.getEast();\n const southEdge = markersBounds.getSouth();\n const westEdge = markersBounds.getWest();\n\n const center = map.getCenter();\n let newLat: number | null = null;\n let newLng: number | null = null;\n\n // on latitude overshoot\n if (\n (center.lat < southEdge || center.lat > northEdge) &&\n lastValidCenter.current\n ) {\n newLat = lastValidCenter.current?.lat;\n }\n\n // on longitude overshoot\n if (\n (center.lng < westEdge || center.lng > eastEdge) &&\n lastValidCenter.current\n ) {\n newLng = lastValidCenter.current?.lng;\n }\n\n if (newLng !== null || newLat !== null) {\n if (newLng !== null) center.lng = newLng;\n if (newLat !== null) center.lat = newLat;\n\n map.panTo(center, { animate: false });\n }\n\n lastValidCenter.current = center;\n };\n\n // if set restrict map movement to markers\n if (mapSettings.restrictToMarkersArea) {\n const markersBounds = markersLayerGroup?.getBounds();\n\n if (markersBounds.isValid()) {\n map.on('drag', handleMapMove);\n }\n }\n\n return () => {\n lastValidCenter.current = null;\n map?.off('drag', handleMapMove);\n };\n }, [L, isLoaded, map, mapSettings, mapSettings.markers, markersLayerGroup]);\n\n /**\n * Adjust zoom to show all markers\n */\n const showAllMarkers = useCallback(() => {\n if (map && markersLayerGroup) {\n map.fitBounds(markersLayerGroup.getBounds(), {\n padding: L.point(mapSettings.fitBoundsPadding),\n });\n }\n }, [L, map, mapSettings.fitBoundsPadding, markersLayerGroup]);\n\n /**\n * Pan and zoom to active marker position on map\n * @param zoom\n */\n const flyToActive = useCallback(\n (zoom?: number) => {\n const mapZoom = zoom || mapSettings.zoom;\n const marker = mapSettings.markers?.find(\n (m) => m.id === mapSettings.activeMarkerId\n );\n if (marker) map?.flyTo(marker.position, mapZoom);\n },\n [map, mapSettings.activeMarkerId, mapSettings.markers, mapSettings.zoom]\n );\n\n /**\n * Pan and zoom to marker position on map\n * @param position\n * @param zoom\n */\n const flyToPosition = useCallback(\n (position?: [number, number], zoom?: number) => {\n const mapZoom = zoom || mapSettings.zoom;\n\n if (position) map?.flyTo(position, mapZoom);\n else flyToActive(mapZoom);\n },\n [flyToActive, map, mapSettings.zoom]\n );\n\n /**\n * Pan to marker position on map\n * @param position\n */\n const panToPosition = useCallback(\n (position?: [number, number]) => {\n if (position) map?.panTo(position);\n },\n [map]\n );\n\n /** Recalculate map size */\n const recalculateMapSize = useCallback(() => {\n map?.invalidateSize();\n }, [map]);\n\n const getCurrentZoom = useCallback(() => {\n return map?.getZoom() || mapSettings.zoom;\n }, [map, mapSettings.zoom]);\n\n return {\n setContainer,\n flyToActive,\n flyToPosition,\n panToPosition,\n showAllMarkers,\n recalculateMapSize,\n getCurrentZoom,\n isLoaded,\n };\n};\n\nexport default useLeafletMap;\n"],"names":["useTimeout","callback","delay","callbackRef","useRef","timeoutRef","useEffect","current","set","useCallback","window","setTimeout","_a","call","clear","clearTimeout","reset","useDebounce","deps","__spreadArray","enableHighAccuracy","autostart","useState","isSupported","setIsSupported","_b","isEnabled","setIsEnabled","_c","location","setLocation","_d","error","setError","watchRef","navigator","cancel","geolocation","clearWatch","watchPosition","handleSuccess","handleError","watch","Promise","resolve","reject","position","err","console","log","initial","value","setValue","update","withoutDelay","forceUpdate","settings","container","setContainer","L","setLeaflet","map","setMap","markersLayerGroup","setMarkersLayerGroup","prevMarkerId","_e","isLoaded","setLoaded","isRenderedRef","lastValidCenter","mapSettings","useMemo","Object","keys","forEach","key","undefined","__assign","center","zoom","touchZoom","scrollWheelZoom","showZoomControls","zoomControlPosition","onlyScrollOnFocus","url","attribution","markers","fitBoundsPadding","__awaiter","then","_interopNamespace","require","leaflet","sent","zoomControl","minZoom","maxZoom","control","addTo","once","enable","disable","on","ev","onClick","getZoom","tileLayer","group","FeatureGroup","clearLayers","icon","id","isInteractive","size","isActive","activeMarkerId","markerIcon","iconUrl","iconSize","sizeActive","iconAnchor","anchorActive","anchor","marker","latLng","riseOnHover","interactive","onMarkerClick","addLayer","onActiveMarkerChanged","markerId","onReady","handleMapMove","restrictToMarkersArea","markersBounds","getBounds","pad","isValid","northEdge","getNorth","eastEdge","getEast","southEdge","getSouth","westEdge","getWest","getCenter","newLat","newLng","lat","lng","panTo","animate","off","showAllMarkers","fitBounds","padding","point","flyToActive","mapZoom","find","m","flyTo","flyToPosition","panToPosition","recalculateMapSize","invalidateSize","getCurrentZoom"],"mappings":"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"}