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

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 (161) hide show
  1. package/cjs/Actions-6dd616e0.js +2 -0
  2. package/cjs/Actions-6dd616e0.js.map +1 -0
  3. package/cjs/Bdot-d898ba3b.js +2 -0
  4. package/cjs/Bdot-d898ba3b.js.map +1 -0
  5. package/cjs/Button-72747f63.js +2 -0
  6. package/cjs/Button-72747f63.js.map +1 -0
  7. package/cjs/ButtonGhost-046437c5.js +2 -0
  8. package/cjs/ButtonGhost-046437c5.js.map +1 -0
  9. package/cjs/Control-eead1a4c.js +2 -0
  10. package/cjs/Control-eead1a4c.js.map +1 -0
  11. package/cjs/FilterField-497e998f.js +2 -0
  12. package/cjs/{FilterField-569d60e5.js.map → FilterField-497e998f.js.map} +1 -1
  13. package/cjs/Image-d9681be0.js +2 -0
  14. package/cjs/Image-d9681be0.js.map +1 -0
  15. package/cjs/LanguageSwitcher-47e25e95.js +2 -0
  16. package/cjs/LanguageSwitcher-47e25e95.js.map +1 -0
  17. package/cjs/Navigation-3f5d6088.js +2 -0
  18. package/cjs/{Navigation-ebb27a9b.js.map → Navigation-3f5d6088.js.map} +1 -1
  19. package/cjs/POICard-9911980e.js +2 -0
  20. package/cjs/POICard-9911980e.js.map +1 -0
  21. package/cjs/Pointer-3588eadf.js +2 -0
  22. package/cjs/Pointer-3588eadf.js.map +1 -0
  23. package/cjs/SocialList-da77e994.js +2 -0
  24. package/cjs/SocialList-da77e994.js.map +1 -0
  25. package/cjs/TableBlock-080c9c2e.js +2 -0
  26. package/cjs/TableBlock-080c9c2e.js.map +1 -0
  27. package/cjs/VideoCard-1fa209fc.js +2 -0
  28. package/cjs/VideoCard-1fa209fc.js.map +1 -0
  29. package/cjs/blocks.js +1 -1
  30. package/cjs/buttons.js +1 -1
  31. package/cjs/cookies.js +1 -1
  32. package/cjs/cookies.js.map +1 -1
  33. package/cjs/fields.js +1 -1
  34. package/cjs/fields.js.map +1 -1
  35. package/cjs/footer.js +2 -0
  36. package/cjs/footer.js.map +1 -0
  37. package/cjs/hooks.js +1 -1
  38. package/cjs/hooks.js.map +1 -1
  39. package/cjs/navigation.js +1 -1
  40. package/cjs/navigation.js.map +1 -1
  41. package/cjs/sections.js +1 -1
  42. package/cjs/sections.js.map +1 -1
  43. package/cjs/sections_news.js +2 -0
  44. package/cjs/sections_news.js.map +1 -0
  45. package/cjs/statusFormatter-0393122b.js +2 -0
  46. package/cjs/statusFormatter-0393122b.js.map +1 -0
  47. package/cjs/{urlParams-51ce7168.js → urlParams-1d03b5a6.js} +2 -2
  48. package/cjs/urlParams-1d03b5a6.js.map +1 -0
  49. package/cjs/useIE-aef9decc.js +2 -0
  50. package/cjs/useIE-aef9decc.js.map +1 -0
  51. package/esm/Actions-73e13c48.js +57 -0
  52. package/esm/Actions-73e13c48.js.map +1 -0
  53. package/esm/Bdot-30b047cc.js +24 -0
  54. package/esm/Bdot-30b047cc.js.map +1 -0
  55. package/esm/Button-678be396.js +115 -0
  56. package/esm/Button-678be396.js.map +1 -0
  57. package/esm/ButtonGhost-6673a07e.js +112 -0
  58. package/esm/ButtonGhost-6673a07e.js.map +1 -0
  59. package/esm/{Callout-03ad4c6e.js → Callout-439308f6.js} +4 -4
  60. package/esm/{Callout-03ad4c6e.js.map → Callout-439308f6.js.map} +1 -1
  61. package/esm/{Checkbox-76c2576b.js → Checkbox-a365d733.js} +5 -5
  62. package/esm/{Checkbox-76c2576b.js.map → Checkbox-a365d733.js.map} +1 -1
  63. package/esm/{ClockFilled-cff5900e.js → ClockFilled-8784ddac.js} +2 -2
  64. package/esm/{ClockFilled-cff5900e.js.map → ClockFilled-8784ddac.js.map} +1 -1
  65. package/esm/Control-e61c9395.js +52 -0
  66. package/esm/Control-e61c9395.js.map +1 -0
  67. package/esm/{Copy-d2be4fb7.js → Copy-3444d005.js} +4 -4
  68. package/esm/{Copy-d2be4fb7.js.map → Copy-3444d005.js.map} +1 -1
  69. package/esm/{FilterField-b1a28df7.js → FilterField-f423b4d1.js} +8 -7
  70. package/esm/{FilterField-b1a28df7.js.map → FilterField-f423b4d1.js.map} +1 -1
  71. package/esm/Image-82417953.js +193 -0
  72. package/esm/Image-82417953.js.map +1 -0
  73. package/esm/LanguageSwitcher-a53094d3.js +70 -0
  74. package/esm/LanguageSwitcher-a53094d3.js.map +1 -0
  75. package/esm/{LibThemeProvider-17012395.js → LibThemeProvider-90a5375f.js} +3 -3
  76. package/esm/{LibThemeProvider-17012395.js.map → LibThemeProvider-90a5375f.js.map} +1 -1
  77. package/esm/{Link-42f0b80f.js → Link-ee8a48ed.js} +3 -3
  78. package/esm/{Link-42f0b80f.js.map → Link-ee8a48ed.js.map} +1 -1
  79. package/esm/{Navigation-fae92776.js → Navigation-ece0ff0d.js} +10 -9
  80. package/esm/{Navigation-fae92776.js.map → Navigation-ece0ff0d.js.map} +1 -1
  81. package/esm/{Bdot-a103eeef.js → POICard-d8832988.js} +56 -280
  82. package/esm/POICard-d8832988.js.map +1 -0
  83. package/esm/Pointer-da4d0977.js +111 -0
  84. package/esm/Pointer-da4d0977.js.map +1 -0
  85. package/esm/SocialList-7c00c70e.js +61 -0
  86. package/esm/SocialList-7c00c70e.js.map +1 -0
  87. package/esm/TableBlock-0bbde956.js +218 -0
  88. package/esm/TableBlock-0bbde956.js.map +1 -0
  89. package/esm/VideoCard-2557407b.js +187 -0
  90. package/esm/VideoCard-2557407b.js.map +1 -0
  91. package/esm/{Wrapper-38c912a6.js → Wrapper-f4a70e30.js} +3 -3
  92. package/esm/{Wrapper-38c912a6.js.map → Wrapper-f4a70e30.js.map} +1 -1
  93. package/esm/base.js +3 -3
  94. package/esm/blocks.js +15 -10
  95. package/esm/blocks.js.map +1 -1
  96. package/esm/buttons.js +6 -4
  97. package/esm/buttons.js.map +1 -1
  98. package/esm/cookies.js +9 -8
  99. package/esm/cookies.js.map +1 -1
  100. package/esm/fields.js +9 -8
  101. package/esm/fields.js.map +1 -1
  102. package/esm/footer.js +300 -0
  103. package/esm/footer.js.map +1 -0
  104. package/esm/hooks.js +10 -9
  105. package/esm/hooks.js.map +1 -1
  106. package/esm/icons.js +1 -1
  107. package/esm/index.js +3 -3
  108. package/esm/{navigation-e135836f.js → navigation-49280321.js} +2 -2
  109. package/esm/{navigation-e135836f.js.map → navigation-49280321.js.map} +1 -1
  110. package/esm/navigation.js +12 -10
  111. package/esm/navigation.js.map +1 -1
  112. package/esm/sections.js +493 -1933
  113. package/esm/sections.js.map +1 -1
  114. package/esm/sections_news.js +1018 -0
  115. package/esm/sections_news.js.map +1 -0
  116. package/esm/{Actions-59bdbbf7.js → statusFormatter-9be0fbff.js} +2 -57
  117. package/esm/statusFormatter-9be0fbff.js.map +1 -0
  118. package/esm/{styles-eca3acc8.js → styles-5f78e59d.js} +2 -2
  119. package/esm/{styles-eca3acc8.js.map → styles-5f78e59d.js.map} +1 -1
  120. package/esm/typography.js +6 -6
  121. package/esm/{urlParams-c16d7370.js → urlParams-882563ce.js} +4 -15
  122. package/esm/urlParams-882563ce.js.map +1 -0
  123. package/esm/{useCookieConsent-cd262961.js → useCookieConsent-db86e5cb.js} +2 -2
  124. package/esm/{useCookieConsent-cd262961.js.map → useCookieConsent-db86e5cb.js.map} +1 -1
  125. package/esm/{useGeolocation-c99d76bd.js → useGeolocation-c81e3efc.js} +2 -2
  126. package/esm/{useGeolocation-c99d76bd.js.map → useGeolocation-c81e3efc.js.map} +1 -1
  127. package/esm/useIE-a9c56989.js +15 -0
  128. package/esm/useIE-a9c56989.js.map +1 -0
  129. package/esm/{useMediaQuery-07eee3f4.js → useMediaQuery-43629cbb.js} +2 -2
  130. package/esm/{useMediaQuery-07eee3f4.js.map → useMediaQuery-43629cbb.js.map} +1 -1
  131. package/footer/package.json +7 -0
  132. package/package.json +2 -1
  133. package/sections/news/package.json +7 -0
  134. package/types/footer.d.ts +4 -0
  135. package/types/footer.d.ts.map +1 -0
  136. package/types/sections.d.ts +0 -13
  137. package/types/sections.d.ts.map +1 -1
  138. package/types/sections_news.d.ts +10 -0
  139. package/types/sections_news.d.ts.map +1 -0
  140. package/cjs/Actions-487104b2.js +0 -2
  141. package/cjs/Actions-487104b2.js.map +0 -1
  142. package/cjs/Bdot-760e0e3a.js +0 -2
  143. package/cjs/Bdot-760e0e3a.js.map +0 -1
  144. package/cjs/ButtonGhost-e9644acd.js +0 -2
  145. package/cjs/ButtonGhost-e9644acd.js.map +0 -1
  146. package/cjs/Control-23259241.js +0 -2
  147. package/cjs/Control-23259241.js.map +0 -1
  148. package/cjs/FilterField-569d60e5.js +0 -2
  149. package/cjs/Navigation-ebb27a9b.js +0 -2
  150. package/cjs/SocialList-79ddf9d6.js +0 -2
  151. package/cjs/SocialList-79ddf9d6.js.map +0 -1
  152. package/cjs/urlParams-51ce7168.js.map +0 -1
  153. package/esm/Actions-59bdbbf7.js.map +0 -1
  154. package/esm/Bdot-a103eeef.js.map +0 -1
  155. package/esm/ButtonGhost-422fd723.js +0 -220
  156. package/esm/ButtonGhost-422fd723.js.map +0 -1
  157. package/esm/Control-52ff8784.js +0 -157
  158. package/esm/Control-52ff8784.js.map +0 -1
  159. package/esm/SocialList-385cde53.js +0 -307
  160. package/esm/SocialList-385cde53.js.map +0 -1
  161. package/esm/urlParams-c16d7370.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Bdot-760e0e3a.js","sources":["../src/components/blocks/Title.tsx","../src/components/blocks/IntroBlock.tsx","../src/components/blocks/Tag.tsx","../src/components/blocks/EventBlock.tsx","../src/components/blocks/InfoList.tsx","../src/components/sections/header/HeaderKenBurns.tsx","../src/components/sections/header/HeaderPoster.tsx","../src/components/sections/header/HeaderVideo.tsx","../src/components/blocks/TableBlock.tsx","../src/components/blocks/VideoBlock.tsx","../src/components/blocks/POIFacts.tsx","../src/components/blocks/POICard.tsx","../src/components/blocks/Bdot.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport Heading, { HeadlineTag } from 'components/typography/Heading';\nimport { FontType, spacings } from 'utils/styles';\nimport { useLibTheme } from 'utils/LibThemeProvider';\n\nconst View = styled.div<{ isCentered?: boolean }>`\n display: block;\n text-align: ${({ isCentered }) => (isCentered ? 'center' : 'left')};\n margin: ${({ isCentered }) => isCentered && '0 auto'};\n\n & > * + * {\n margin-top: ${spacings.nudge * 2}px;\n }\n`;\n\nconst SuperTitle = styled(Heading)`\n display: block;\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n`;\n\nconst MainTitle = styled(Heading)<{ maxLines?: number }>`\n display: block;\n\n ${({ maxLines }) =>\n maxLines &&\n maxLines > 0 &&\n css`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: ${maxLines}; /* number of lines to show */\n line-clamp: ${maxLines};\n -webkit-box-orient: vertical;\n `}\n`;\n\nexport type TitleSize = Extract<FontType, 'heading-1' | 'heading-2'>;\n\nconst Title: FC<{\n /**\n * Text color mode mostly background dependent.\n * The value onImage is used if the title is placed on an underlying image\n * */\n colorMode?: 'default' | 'inverted' | 'onImage';\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Style type of main title */\n titleSize?: TitleSize;\n\n /** Clamp lines of text to specific number */\n maxLines?: number;\n\n /** Center texts */\n isCentered?: boolean;\n\n /** Enable titel text hypens */\n titleHyphens?: boolean;\n\n className?: string;\n}> = ({\n colorMode = 'default',\n superTitle,\n superTitleAs,\n title,\n titleAs,\n titleSize = 'heading-2',\n maxLines,\n isCentered = false,\n titleHyphens,\n className,\n}) => {\n const { colors } = useLibTheme();\n\n return (\n <View isCentered={isCentered} className={className}>\n {superTitle && (\n <SuperTitle\n renderAs={superTitleAs || 'div'}\n size=\"super\"\n textColor={\n colorMode === 'onImage'\n ? colors.text.inverted\n : undefined\n }\n isInverted={colorMode === 'inverted'}\n innerHTML={superTitle}\n />\n )}\n {title && (\n <MainTitle\n renderAs={titleAs || 'h2'}\n size={titleSize === 'heading-1' ? 'heading-1' : 'heading-2'}\n hyphens={titleHyphens}\n textColor={\n colorMode === 'onImage'\n ? colors.text.inverted\n : undefined\n }\n isInverted={colorMode === 'inverted'}\n innerHTML={title}\n maxLines={maxLines}\n />\n )}\n </View>\n );\n};\n\nexport default Title;\n","import React from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { spacings, mq, FontOptions } from 'utils/styles';\n\nimport Title, { TitleSize } from 'components/blocks/Title';\nimport Copy, { CopyType } from 'components/typography/Copy';\nimport Actions from 'components/blocks/Actions';\nimport { HeadlineTag } from 'components/typography/Heading';\nimport Image, { ImageProps } from './Image';\n\nconst View = styled.div<{ isCentered?: boolean }>`\n display: block;\n margin: 0;\n padding: 0;\n width: 100%;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n\n @media ${mq.semilarge} {\n display: flex;\n flex-direction: row;\n\n & > * + * {\n margin-left: ${spacings.spacer}px;\n }\n }\n`;\n\nconst Content = styled.div`\n & > * + * {\n margin-top: ${spacings.spacer}px;\n }\n\n max-width: 100%;\n\n @media ${mq.semilarge} {\n flex: 1 0 66.66%;\n }\n`;\n\nconst StyledTitle = styled(Title)<{ clamp?: boolean }>`\n max-width: ${({ clamp }) => clamp && '880px'};\n`;\n\nconst ContentBlock = styled(Copy)<{\n isCentered?: boolean;\n clamp?: boolean;\n maxLines?: number;\n}>`\n display: block;\n max-width: ${({ clamp }) => clamp && '880px'};\n margin-left: ${({ isCentered }) => isCentered && 'auto'};\n margin-right: ${({ isCentered }) => isCentered && 'auto'};\n\n ${({ maxLines }) =>\n maxLines &&\n maxLines > 0 &&\n css`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: ${maxLines}; /* number of lines to show */\n line-clamp: ${maxLines};\n -webkit-box-orient: vertical;\n `}\n\n & + & {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst StyledActions = styled(Actions)<{ isCentered?: boolean }>`\n @media ${mq.medium} {\n display: block;\n text-align: ${({ isCentered }) => isCentered && 'center'};\n }\n`;\n\nconst MobileImageContainer = styled.div<{ isCentered?: boolean }>`\n width: 100%;\n height: 100%;\n max-width: 400px;\n max-height: 400px;\n text-align: center;\n\n margin: 0 auto;\n margin-top: ${spacings.spacer}px;\n\n @media ${mq.semilarge} {\n display: ${({ isCentered }) => (isCentered ? 'block' : 'none')};\n }\n`;\n\nconst DesktopImageContainer = styled.div`\n display: none;\n width: 100%;\n\n @media ${mq.semilarge} {\n display: block;\n /* flex: 1 0 33.33%; */\n\n max-width: 400px;\n }\n`;\n\nconst IntroBlock: React.FC<{\n /** Define rendered HTML DOM tag of intro container */\n renderAs?: 'div' | 'figcaption';\n\n /** Color presets for text and blocks. onImage has always a white text color */\n colorMode?: 'default' | 'inverted' | 'onImage';\n\n /** Main title text */\n title?: string;\n\n /** Main title HTML tag type (h2, h3, h4...) */\n titleAs?: HeadlineTag;\n\n /** Main title size */\n titleSize?: TitleSize;\n\n /** Superior title that stands above main title */\n superTitle?: string;\n\n /** Superior title HTML tag type (h3, h4 ...) */\n superTitleAs?: HeadlineTag;\n\n /** Intro text underneath the title (richtext) */\n abstract?: string;\n\n /** Main intro text (richtext) */\n text?: string;\n\n /** Intro image. coverSpace defaults to true */\n image?: ImageProps;\n\n /** Copy type of intro text (limits richtext capabilites on textType == copy-b or copy-i) */\n textType?: CopyType;\n\n /** Copy size of intro text */\n textSize?: keyof FontOptions;\n\n /** Function to inject custom primary button */\n primaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Function to inject custom secondary button */\n secondaryAction?: (isInverted?: boolean) => React.ReactNode;\n\n /** Center text and actions */\n isCentered?: boolean;\n\n /** Clamp title to max width of 880px */\n clampTitle?: boolean;\n\n /** Limit lines of title. Cut of with elipsis */\n maxTitleLines?: number;\n\n /** Clamp text to max width of 880px */\n clampText?: boolean;\n\n /** Clamp abstract to max width of 880px */\n clampAbstract?: boolean;\n\n /** Limit lines of text. Cut of with elipsis */\n maxTextLines?: number;\n\n /** Limit lines of abstract text. Cut of with elipsis */\n maxAbstractLines?: number;\n\n /** Main title hyphens */\n titleHyphens?: boolean;\n\n className?: string;\n}> = ({\n renderAs = 'div',\n colorMode = 'default',\n title,\n titleAs,\n titleSize = 'heading-2',\n superTitle,\n superTitleAs,\n abstract,\n text,\n textType = 'copy',\n textSize = 'medium',\n primaryAction,\n secondaryAction,\n isCentered = false,\n clampTitle = false,\n clampAbstract = false,\n maxTitleLines,\n maxAbstractLines,\n clampText = false,\n maxTextLines,\n className,\n titleHyphens,\n image,\n}) => {\n const isInverted = colorMode === 'inverted' || colorMode === 'onImage';\n const coverSpace = image?.coverSpace === false ? false : true;\n\n return (\n <View as={renderAs} isCentered={isCentered} className={className}>\n <Content>\n {(title || superTitle) && (\n <StyledTitle\n colorMode={colorMode}\n title={title}\n titleAs={titleAs}\n titleSize={titleSize}\n superTitle={superTitle}\n superTitleAs={superTitleAs}\n isCentered={isCentered}\n clamp={clampTitle}\n maxLines={maxTitleLines}\n titleHyphens={titleHyphens}\n />\n )}\n {image?.small && (\n <MobileImageContainer isCentered={isCentered}>\n <Image\n {...image}\n coverSpace={coverSpace}\n allowEdgeRadius\n isInverted={isInverted}\n />\n </MobileImageContainer>\n )}\n {abstract && (\n <ContentBlock\n type=\"copy\"\n size=\"big\"\n textColor={colorMode === 'onImage' ? '#fff' : undefined}\n isInverted={isInverted}\n isCentered={isCentered}\n innerHTML={abstract}\n clamp={clampAbstract}\n maxLines={maxAbstractLines}\n />\n )}\n {text && (\n <ContentBlock\n type={textType}\n size={textSize}\n textColor={colorMode === 'onImage' ? '#fff' : undefined}\n isInverted={isInverted}\n isCentered={isCentered}\n innerHTML={text}\n clamp={clampText}\n maxLines={maxTextLines}\n />\n )}\n {(primaryAction || secondaryAction) && (\n <StyledActions\n primary={primaryAction && primaryAction(isInverted)}\n secondary={\n secondaryAction && secondaryAction(isInverted)\n }\n />\n )}\n </Content>\n\n {image?.small && !isCentered && (\n <DesktopImageContainer>\n <Image\n {...image}\n coverSpace={coverSpace}\n allowEdgeRadius\n isInverted={isInverted}\n />\n </DesktopImageContainer>\n )}\n </View>\n );\n};\n\nexport default IntroBlock;\n","import React, { FC } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { copyStyle } from 'components/typography/Copy';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { getColors, spacings } from 'utils/styles';\n\nconst View = styled(Link)<{\n isInverted?: boolean;\n isActive?: boolean;\n isClickable?: boolean;\n}>`\n display: inline-block;\n border: 1px solid\n ${({ isInverted }) => (isInverted ? '#dddddd' : '#444444')};\n border-radius: 8px;\n\n padding: 1px ${spacings.nudge}px;\n max-height: 28px;\n min-width: 60px;\n user-select: none;\n\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n text-align: center;\n\n text-decoration: none;\n\n ${copyStyle('copy', 'small')}\n\n background: none;\n\n && {\n background-color: ${({ isActive, isInverted }) =>\n isActive && (isInverted ? '#dddddd' : '#444444')};\n color: ${({ isActive, isInverted }) => {\n if (isActive) {\n return isInverted ? '#444444' : '#ffff';\n } else {\n return isInverted ? '#dddddd' : '#444444';\n }\n }};\n\n transition: background-color 0.2s ease-in-out, color 0.1s ease-in-out;\n }\n\n cursor: ${({ isClickable }) => (isClickable ? 'pointer' : 'default')};\n\n ${({ isClickable, isInverted }) =>\n isClickable &&\n css`\n @media (hover: hover) and (pointer: fine) {\n &&:hover {\n background-color: ${isInverted ? '#dddddd' : '#444444'};\n color: ${isInverted ? '#444444' : '#ffff'};\n }\n }\n `}\n\n &:focus {\n /* background-color: ${({ isInverted }) =>\n isInverted ? '#dddddd' : '#444444'};\n color: ${({ isInverted }) => (isInverted ? '#444444' : '#ffff')}; */\n outline: 2px solid\n ${({ isInverted, theme }) =>\n isInverted\n ? getColors(theme).primary.inverted\n : getColors(theme).primary.default};\n outline-offset: -1px;\n text-decoration: underline;\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n text-decoration: none;\n }\n`;\n\nexport interface TagProps {\n name?: string;\n link?: LinkProps;\n}\n\nconst Tag: FC<\n TagProps & {\n /** Invert colors to use on dark background */\n isInverted?: boolean;\n\n /** Highlight tag if active */\n isActive?: boolean;\n\n /** Click callback */\n onClick?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\n className?: string;\n children?: React.ReactNode;\n }\n> = ({ name, link, isInverted, isActive, onClick, className, children }) => {\n const tag = link?.href ? 'a' : onClick ? 'button' : 'span';\n\n return (\n <View\n as={tag}\n isInverted={isInverted}\n isActive={isActive}\n onClick={onClick}\n isClickable={!!onClick || !!(link && link.href)}\n className={className}\n {...link}\n >\n {name || children}\n </View>\n );\n};\n\nexport default Tag;\n","import React, { useMemo } from 'react';\nimport styled from 'styled-components';\n\nimport Tag, { TagProps } from './Tag';\nimport Copy, { copyStyle } from 'components/typography/Copy';\nimport { spacings, mq, getFonts as font } from 'utils/styles';\nimport StatusFormatter from 'utils/statusFormatter';\nimport { useLibTheme } from 'utils/LibThemeProvider';\nimport Image, { ImageProps } from './Image';\nimport Link, { LinkProps } from 'components/typography/Link';\nimport { isValidArray } from 'utils/arrays';\n\nconst View = styled.div`\n text-decoration: none;\n color: inherit;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.large} {\n display: flex;\n justify-content: flex-end;\n flex-direction: row-reverse;\n\n & > * + * {\n margin-top: 0;\n padding-right: ${spacings.spacer}px;\n }\n }\n`;\n\nconst ImageContainer = styled.div`\n flex: 0 1 30%;\n margin-left: auto;\n`;\n\nconst MainContent = styled.div`\n flex: 0 1 70%;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.large} {\n max-width: 830px;\n }\n`;\n\nconst TagContainer = styled.div`\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge}px;\n\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n`;\n\nconst TitleWrapper = styled.div`\n & > * + * {\n margin-top: ${spacings.nudge}px;\n }\n`;\n\nconst TagWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge}px;\n`;\n\nconst TitleLink = styled(Link)`\n display: inline-block;\n ${copyStyle('copy-b', 'big')}\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? font(theme)['copy-b'].big.colorInverted\n : font(theme)['copy-b'].big.color};\n text-decoration: none;\n`;\n\nconst Text = styled(Copy)`\n display: -webkit-box;\n -webkit-line-clamp: 4;\n -webkit-box-orient: vertical;\n overflow: hidden;\n`;\n\nexport interface EventProps {\n /** Array of tag item settings */\n tags?: TagProps[];\n\n /** Active tags that are highlighted in this event */\n activeTags?: string[];\n\n /** Event image */\n image?: Omit<ImageProps, 'coverSpace' | 'ratios'>;\n\n /** Event title */\n title?: string;\n\n /** Event publish date */\n date?: Date;\n\n /** Event duration in seconds */\n duration?: number;\n\n /** Event text (richtext) */\n text?: string;\n\n /** Invert color and background for darker themes */\n isInverted?: boolean;\n\n /** Event link settings */\n link?: LinkProps;\n\n /** Function to inject action elements */\n action?: (props: { isInverted?: boolean }) => React.ReactNode;\n\n /** Function to inject custom tag node */\n customTag?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n isActive?: boolean;\n link: LinkProps;\n clickHandler?: (ev?: React.SyntheticEvent<HTMLElement>) => void;\n }) => React.ReactNode;\n\n /** Callback function if tag in news iten has been clicked */\n onTagClick?: (tag: TagProps) => void;\n}\n\nconst EventBlock: React.FC<EventProps> = ({\n customTag,\n onTagClick,\n title,\n image,\n date,\n text,\n link,\n tags,\n isInverted,\n action,\n}) => {\n const { globals } = useLibTheme();\n\n let publishedAt = '';\n if (date) {\n const formatter = new StatusFormatter(\n date.getTime(),\n '',\n globals.sections.eventDateFormat(date),\n globals.sections.eventTimeFormat(date),\n globals.sections.eventLocaleKey\n );\n publishedAt = formatter.getFormattedDate();\n }\n\n const handleTagClick = (tag: TagProps) =>\n onTagClick\n ? (ev?: React.SyntheticEvent<HTMLElement>) => {\n ev?.preventDefault();\n onTagClick(tag);\n }\n : undefined;\n\n const filteredTags = useMemo(() => {\n return tags?.filter((tag) => tag.name);\n }, [tags]);\n\n return (\n <View>\n {image?.small && (\n <ImageContainer>\n <Image\n {...image}\n coverSpace\n allowEdgeRadius\n isInverted={isInverted}\n ratios={{\n small: { w: 640, h: 320 },\n medium: { w: 752, h: 276 },\n large: { w: 375, h: 250 },\n }}\n />\n </ImageContainer>\n )}\n <MainContent>\n {isValidArray(filteredTags, false) && (\n <TagContainer>\n {filteredTags.map(\n (tag, i) =>\n tag && (\n <TagWrapper key={'tag_' + i}>\n {customTag ? (\n customTag({\n key: 'tag_' + i,\n name: tag.name || '',\n isInverted: isInverted,\n isActive: false,\n link: tag.link || {},\n clickHandler:\n handleTagClick(tag),\n })\n ) : (\n <Tag\n isInverted={isInverted}\n name={tag.name}\n link={tag.link}\n onClick={handleTagClick(tag)}\n />\n )}\n </TagWrapper>\n )\n )}\n </TagContainer>\n )}\n <TitleWrapper>\n {date && (\n <Copy isInverted={isInverted} size=\"medium\" type=\"copy\">\n {publishedAt}\n </Copy>\n )}\n {title && (\n <TitleLink {...link} isInverted={isInverted}>\n {title}\n </TitleLink>\n )}\n </TitleWrapper>\n {text && (\n <Text\n size=\"small\"\n isInverted={isInverted}\n innerHTML={text}\n />\n )}\n {action && <div> {action({ isInverted })} </div>}\n </MainContent>\n </View>\n );\n};\n\nexport default EventBlock;\n","import Copy from 'components/typography/Copy';\nimport React, { FC } from 'react';\nimport styled from 'styled-components';\nimport { isValidArray } from 'utils/arrays';\n\nimport { mq, spacings } from 'utils/styles';\n\nconst View = styled.div``;\n\nconst Container = styled.ul`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin: 0;\n padding: 0;\n margin-left: -${spacings.spacer}px;\n margin-top: -${spacings.nudge * 5}px;\n list-style: none;\n`;\n\nconst Item = styled.li`\n flex: 1 1 100%;\n padding-left: ${spacings.spacer}px;\n padding-top: ${spacings.nudge * 5}px;\n\n @media ${mq.medium} {\n flex: 1 1 300px;\n }\n`;\n\nconst Title = styled(Copy)`\n display: block;\n margin-bottom: ${spacings.nudge * 3}px;\n`;\n\nconst Infos = styled.ul`\n list-style: none;\n margin: 0;\n padding: 0;\n`;\n\nconst Content = styled.li`\n display: -ms-grid;\n display: grid;\n margin: 0;\n\n -ms-grid-columns: min-content 1fr;\n grid-template-columns: min-content 1fr;\n -ms-grid-rows: min-content 1fr;\n grid-auto-rows: min-content 1fr;\n\n & + & {\n margin-top: ${spacings.nudge * 2}px;\n }\n\n & > * + * {\n margin-left: ${spacings.nudge * 2}px;\n }\n`;\n\nconst Icon = styled(Copy)`\n height: 20px;\n width: 20px;\n\n & > * {\n height: 20px;\n width: 20px;\n }\n`;\n\nexport interface InfoGroup {\n title?: string;\n items: Info[];\n}\n\nexport interface Info {\n /** icon injection function */\n icon?: (isInverted?: boolean) => React.ReactNode;\n /** info text (richtText) */\n text?: string;\n}\n\nconst InfoList: FC<{\n /** Invert text and icon color for dark backgrounds */\n isInverted?: boolean;\n\n /** Array of info groups */\n items?: InfoGroup[];\n\n className?: string;\n}> = ({ isInverted, items, className }) => {\n return (\n <View className={className}>\n <Container>\n {items?.map((group, i) => {\n const groupItems =\n group?.items?.filter((item) => item.text) || [];\n const hasItems = isValidArray(groupItems, false);\n\n return (\n <Item key={i}>\n {group.title && (\n <Title\n size=\"small\"\n type=\"copy-b\"\n renderAs=\"span\"\n isInverted={isInverted}\n >\n {group.title}\n </Title>\n )}\n {hasItems && (\n <Infos>\n {groupItems.map((info, ii) => (\n <Content key={ii}>\n <Icon isInverted={isInverted}>\n {info.icon &&\n info.icon(isInverted)}\n </Icon>\n {info.text && (\n <Copy\n size=\"small\"\n isInverted={isInverted}\n innerHTML={info.text}\n allowLinkIcons={false}\n />\n )}\n </Content>\n ))}\n </Infos>\n )}\n </Item>\n );\n })}\n </Container>\n </View>\n );\n};\n\nexport default InfoList;\n","import React, { FC, useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\n\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport Image from 'components/blocks/Image';\nimport { clampValue } from 'utils/clamp';\nimport { HeaderImage } from './Header';\n\nconst AnimationContainer = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n overflow: hidden;\n`;\n\nconst PosterImage = styled(Image)`\n position: absolute;\n top: 0;\n left: 0;\n\n height: 100%;\n width: 100%;\n\n img {\n height: 100%;\n }\n`;\n\nconst AnimationImage = styled.img<{\n scale?: number;\n opacity?: number;\n zoomPoint?: [number, number];\n}>`\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n\n object-fit: cover;\n object-position: center;\n\n transition-property: opacity, transform;\n transition-duration: ${({ scale }) => `2s, ${scale === 1 ? '0s' : '13s'}`};\n transition-delay: ${({ scale }) =>\n `${scale === 1 ? '1s' : '0s'}, ${scale === 1 ? '3s' : '0s'}`};\n\n opacity: ${({ opacity }) => opacity && opacity};\n transform: scale(${({ scale }) => scale || 1})\n rotate(${({ scale }) => (scale !== 1 ? 0.04 : 0)}deg);\n transform-origin: ${({ zoomPoint }) =>\n zoomPoint ? `${zoomPoint[0] * 100}% ${zoomPoint[1] * 100}%` : 'center'};\n\n will-change: transform, opacity;\n`;\n\nconst AnimationImages: FC<{\n zoom?: number;\n zoomPoint?: [number, number];\n images: KenBurnsImage[];\n interval?: number;\n onChange?: (imgId: number) => void;\n}> = ({\n zoom = 1.08,\n zoomPoint = [0.5, 0.5],\n interval = 10000,\n images,\n onChange,\n}) => {\n const intervalRef = useRef<number | null>();\n const initialTimeoutRef = useRef<number | null>();\n const [activeImg, setActiveImg] = useState<number>(-1);\n\n useEffect(() => {\n const changeImage = () => {\n setActiveImg((prev) => {\n return (prev + 1) % images.length;\n });\n };\n\n // changeImage();\n initialTimeoutRef.current = window.setTimeout(changeImage, 200);\n if (intervalRef.current) window.clearInterval(intervalRef.current);\n intervalRef.current = window.setInterval(changeImage, interval);\n\n return () => {\n if (initialTimeoutRef.current)\n window.clearTimeout(initialTimeoutRef.current);\n if (intervalRef.current) window.clearInterval(intervalRef.current);\n };\n }, [images, interval]);\n\n useEffect(() => {\n if (activeImg !== -1) onChange && onChange(activeImg);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeImg]);\n\n return (\n <React.Fragment>\n {images.map((img, i) => {\n let imgZoom = 1;\n let imgZoomPoint = zoomPoint;\n\n if (i === activeImg) {\n imgZoom = img.zoom !== undefined ? img.zoom : zoom;\n }\n\n if (img.zoomPoint) {\n imgZoomPoint = getValidZoomPoint(img.zoomPoint);\n }\n\n return (\n <AnimationImage\n key={i}\n style={{\n zIndex: i === activeImg ? 1 : 0,\n }}\n src={img.image}\n scale={imgZoom}\n opacity={i === activeImg ? 1 : 0}\n zoomPoint={imgZoomPoint}\n alt={img.alt || ''}\n />\n );\n })}\n </React.Fragment>\n );\n};\n\nconst preloadImages = (images: KenBurnsImage[]): Promise<KenBurnsImage>[] => {\n const loadedImages: Promise<KenBurnsImage>[] = images.map((req) => {\n return new Promise((resolve) => {\n const img = new window.Image();\n img.src = req.image;\n img.onload = () => resolve(req);\n });\n });\n\n return loadedImages;\n};\n\ntype KenBurnsMq = 'small' | 'medium' | 'large' | 'xlarge';\n\ninterface KenBurnsImage {\n id: number | string;\n image: string;\n alt?: string;\n zoom?: number;\n zoomPoint?: [number, number];\n}\n\nconst getValidZoomPoint = (point: [number, number]) => {\n return [clampValue(point[0], 0, 1), clampValue(point[1], 0, 1)] as [\n number,\n number\n ];\n};\n\nconst HeaderKenBurns: React.FC<{\n images: HeaderImage[];\n zoom?: number;\n zoomPoint?: [number, number];\n interval?: number;\n onImageChange?: (currentImg: HeaderImage) => void;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n images,\n zoom = 1.08,\n zoomPoint = [0.5, 0.5],\n interval = 10000,\n onImageChange,\n className,\n children,\n}) => {\n const mqs: KenBurnsMq[] = ['small', 'medium', 'large', 'xlarge'];\n const currentMq = useMediaQuery(mqs) as KenBurnsMq | undefined;\n\n const [loadedImages, setLoadedImages] = useState<{\n [key: string]: KenBurnsImage[];\n }>({\n small: [],\n medium: [],\n large: [],\n xlarge: [],\n });\n\n useEffect(() => {\n if (currentMq) {\n const loadedForMq = loadedImages[currentMq];\n\n if (loadedForMq.length < images.length && images.length >= 2) {\n const requestedImages: KenBurnsImage[] = images.map(\n (img, i) => ({\n id: i,\n image: img[currentMq] as string,\n zoom: img.zoom || zoom,\n zoomPoint: img.zoomPoint || zoomPoint,\n alt: img.alt,\n })\n );\n\n const resolve = async (\n imagePromises: Promise<KenBurnsImage>[]\n ) => {\n for (const promise of imagePromises) {\n const loadedImg = await promise;\n\n setLoadedImages((prev) => {\n // check if image id already exists in array\n if (\n !prev[currentMq].find(\n (e) => e.id === loadedImg.id\n )\n ) {\n return {\n ...prev,\n [currentMq]: [\n ...prev[currentMq],\n loadedImg,\n ],\n };\n } else return prev;\n });\n }\n };\n\n resolve(preloadImages(requestedImages));\n }\n }\n }, [currentMq, images, loadedImages, zoom, zoomPoint]);\n\n return (\n <AnimationContainer className={className}>\n <PosterImage {...images[0]} coverSpace ratios={undefined} />\n {currentMq && loadedImages[currentMq].length >= images.length && (\n <AnimationImages\n zoom={zoom}\n zoomPoint={getValidZoomPoint(zoomPoint)}\n interval={interval}\n images={loadedImages[currentMq]}\n onChange={(id) =>\n images[id] && onImageChange && onImageChange(images[id])\n }\n />\n )}\n {children}\n </AnimationContainer>\n );\n};\n\nexport default HeaderKenBurns;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport Image, { ImageProps } from 'components/blocks/Image';\nimport { HeaderFocus } from './Header';\n\nconst PosterView = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\nconst BgImage = styled(Image)<{ focus?: HeaderFocus }>`\n height: 100%;\n\n img {\n height: 100%;\n object-position: ${({ focus }) =>\n `${focus?.[0] || 'center'} ${focus?.[1] || 'center'}`};\n }\n`;\n\nconst HeaderPoster: React.FC<{\n isInverted?: boolean;\n bgImage?: Omit<ImageProps, 'ratios' | 'coverSpace'>;\n focus?: HeaderFocus;\n className?: string;\n children?: React.ReactNode;\n}> = ({ isInverted, bgImage, focus, className, children }) => {\n return (\n <PosterView className={className}>\n {bgImage && (\n <BgImage\n {...bgImage}\n coverSpace\n ratios={undefined}\n isInverted={isInverted}\n focus={focus}\n />\n )}\n {children}\n </PosterView>\n );\n};\n\nexport default HeaderPoster;\n","import React, { useRef } from 'react';\nimport styled from 'styled-components';\n\nimport { useState, useEffect } from 'react';\nimport Image from 'components/blocks/Image';\nimport { useMediaQuery } from 'utils/useMediaQuery';\nimport { HeaderFocus, HeaderImage } from './Header';\nimport { mq, spacings } from 'utils/styles';\nimport { useObserverSupport } from 'utils/useObserverSupport';\nimport useUpdateEffect from 'utils/useUpdateEffect';\n\nconst PosterView = styled.div`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\nconst PlaceholderImg = styled(Image)<{ focus?: HeaderFocus }>`\n position: relative;\n height: 100%;\n\n img {\n object-position: ${({ focus }) =>\n `${focus?.[0] || 'center'} ${focus?.[1] || 'center'}`};\n\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n z-index: 0;\n }\n\n margin: 0 auto;\n\n @media ${mq.medium} {\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: ${spacings.spacer * 2}px;\n z-index: 2;\n\n & > * {\n margin-top: ${spacings.spacer}px;\n max-width: 880px;\n }\n }\n`;\n\nconst AutoplayVideo = styled.video<{\n isVisible?: boolean;\n focus?: HeaderFocus;\n}>`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n height: 100%;\n width: 100%;\n object-fit: cover;\n object-position: ${({ focus }) =>\n `${focus?.[0] || 'center'} ${focus?.[1] || 'center'}`};\n opacity: ${({ isVisible }) => (isVisible ? 1 : 0)};\n pointer-events: none;\n z-index: 1;\n\n transition: opacity 0.3s ease-in-out;\n`;\n\ntype HeaderVideoMq = 'small' | 'medium' | 'semilarge' | 'large' | 'xlarge';\n\nconst HeaderVideo: React.FC<{\n isInverted?: boolean;\n loadOnMobile?: boolean;\n placeholderImg?: HeaderImage;\n focus?: HeaderFocus;\n videoUrl?: string;\n className?: string;\n children?: React.ReactNode;\n}> = ({\n isInverted,\n loadOnMobile = true,\n placeholderImg,\n focus,\n videoUrl,\n className,\n children,\n}) => {\n const videoRef = useRef<HTMLVideoElement | null>(null);\n const viewRef = useRef<HTMLDivElement | null>(null);\n const [isLoaded, setLoaded] = useState<boolean>(\n !placeholderImg?.small || false\n );\n const isObserverSupported = useObserverSupport();\n const currentMq = useMediaQuery([\n 'small',\n 'medium',\n 'semilarge',\n 'large',\n 'xlarge',\n ]) as HeaderVideoMq | undefined;\n\n const isMobile = currentMq === undefined || currentMq === 'small';\n const isVideoAllowed = loadOnMobile || !isMobile;\n\n const [isVideoActive, setVideoActive] = useState<boolean>(false);\n\n useEffect(() => {\n if (!isVideoAllowed) setLoaded(false);\n }, [isMobile, isVideoAllowed, loadOnMobile]);\n\n useEffect(() => {\n if (!videoRef.current) return;\n\n if (videoRef.current.readyState > 3) {\n setLoaded(true);\n }\n }, []);\n\n useUpdateEffect(() => {\n if (!isVideoAllowed || !videoUrl || !viewRef.current) return;\n if (!isObserverSupported) {\n setVideoActive(true);\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries, observer) => {\n const [entry] = entries;\n\n if (entry.isIntersecting) {\n observer.unobserve(entry.target);\n setVideoActive(true);\n }\n },\n {\n rootMargin: '200px 0px 200px 0px',\n }\n );\n\n const viewEl = viewRef.current;\n observer.observe(viewEl);\n\n return () => {\n if (viewEl) observer.unobserve(viewEl);\n };\n }, [isObserverSupported, isVideoAllowed]);\n\n return (\n <PosterView ref={viewRef} className={className}>\n {placeholderImg?.small && !isLoaded && (\n <PlaceholderImg\n {...placeholderImg}\n coverSpace\n ratios={undefined}\n isInverted={isInverted}\n focus={focus}\n />\n )}\n {videoUrl && isVideoAllowed && (\n <AutoplayVideo\n ref={videoRef}\n isVisible={isLoaded}\n src={isVideoActive ? videoUrl : undefined}\n muted\n autoPlay\n loop\n playsInline\n onCanPlayThrough={() => {\n setLoaded(true);\n }}\n focus={focus}\n />\n )}\n {children}\n </PosterView>\n );\n};\n\nexport default HeaderVideo;\n","import Copy from 'components/typography/Copy';\nimport React, { forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport { getColors as color, spacings } from 'utils/styles';\n\nconst View = styled.div`\n &:focus {\n outline: 1px dashed ${({ theme }) => color(theme).primary.default};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Caption = styled(Copy)`\n margin-bottom: ${spacings.nudge}px;\n padding: 0 ${spacings.nudge * 2}px;\n text-align: left;\n`;\n\nconst TableContainer = styled.div`\n overflow-x: scroll;\n overflow-y: hidden;\n white-space: nowrap;\n\n &:focus {\n outline: none;\n border: 1px solid ${({ theme }) => color(theme).primary.default};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n border: none;\n }\n\n &::-webkit-scrollbar {\n display: none;\n scrollbar-width: none;\n }\n`;\n\nconst TableBody = styled.table`\n width: 100%;\n max-width: 100%;\n\n border-collapse: separate;\n border-spacing: 0 ${spacings.nudge * 0.5}px;\n\n padding: 0 ${spacings.nudge * 2}px;\n`;\n\nconst TableHead = styled(Copy)<{\n isInverted?: boolean;\n alignRight?: boolean;\n}>`\n text-align: left;\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n background-color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.dark\n : color(theme).elementBg.medium};\n\n padding: 0 ${spacings.nudge * 3}px;\n height: 56px;\n box-sizing: content-box;\n\n :last-child {\n padding-right: ${spacings.spacer * 2.5}px;\n text-align: ${({ alignRight }) => (alignRight ? 'right' : 'left')};\n }\n`;\n\nconst TableData = styled(Copy)<{\n hasBack?: boolean;\n alignRight?: boolean;\n}>`\n padding: 0 ${spacings.nudge * 3}px;\n height: 56px;\n box-sizing: content-box;\n\n background-color: ${({ hasBack, theme }) =>\n hasBack ? color(theme).elementBg.light : color(theme).elementBg.medium};\n\n :last-child {\n text-align: ${({ alignRight }) => (alignRight ? 'right' : 'left')};\n padding-right: ${spacings.spacer * 2.5}px;\n }\n`;\n\nexport interface TableProps {\n tableTitle?: string;\n rowTitle?: string[];\n row: Array<{\n cols: string[];\n }>;\n isInverted?: boolean;\n hasBack?: boolean;\n lastCol?: 'left' | 'right';\n}\n\nconst TableBlock = forwardRef<HTMLDivElement, TableProps>(\n (\n {\n row,\n tableTitle,\n rowTitle,\n isInverted = false,\n hasBack = false,\n lastCol = 'left',\n },\n ref\n ) => {\n return (\n <View ref={ref}>\n <TableContainer tabIndex={1}>\n <TableBody>\n {tableTitle && (\n <Caption\n renderAs=\"caption\"\n type=\"copy-b\"\n isInverted={isInverted}\n >\n {tableTitle}\n </Caption>\n )}\n {rowTitle && (\n <thead>\n <tr>\n {rowTitle.map((item, ii) => (\n <TableHead\n key={ii}\n type=\"copy-b\"\n renderAs=\"th\"\n isInverted={!isInverted}\n alignRight={lastCol === 'right'}\n >\n {item}\n </TableHead>\n ))}\n </tr>\n </thead>\n )}\n <tbody>\n {row.map(({ cols }, i) => (\n <tr key={i}>\n {cols.map((itemText, ii) => {\n return (\n <TableData\n key={ii}\n renderAs=\"td\"\n hasBack={hasBack}\n alignRight={lastCol === 'right'}\n innerHTML={itemText}\n />\n );\n })}\n </tr>\n ))}\n </tbody>\n </TableBody>\n </TableContainer>\n </View>\n );\n }\n);\n\nTableBlock.displayName = 'TableBlock';\n\nexport default TableBlock;\n","import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useRef,\n} from 'react';\nimport styled, { css } from 'styled-components';\nimport { getGlobals as global, mq } from 'utils/styles';\n\nconst AspectContainer = styled.div<{\n ratios?: VideoAspectRatios;\n isInverted?: boolean;\n}>`\n position: relative;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n overflow: hidden;\n\n aspect-ratio: ${({ ratios }) => ratios?.small};\n width: ${({ ratios }) => ratios?.small && '100%'};\n max-width: 100%;\n\n background: ${({ theme, isInverted }) =>\n isInverted\n ? global(theme).sections.imagePlaceholderBg.inverted\n : global(theme).sections.imagePlaceholderBg.default};\n object-position: center;\n\n @supports not (aspect-ratio: auto) {\n height: ${({ ratios }) => ratios?.small && 0};\n padding-top: ${({ ratios }) =>\n ratios?.small && `calc(100% / ${ratios?.small})`};\n }\n\n @media ${mq.medium} {\n aspect-ratio: ${({ ratios }) => ratios?.medium};\n\n @supports not (aspect-ratio: auto) {\n padding-top: ${({ ratios }) =>\n ratios?.medium && `calc(100% / ${ratios?.medium})`};\n }\n }\n\n @media ${mq.semilarge} {\n aspect-ratio: ${({ ratios }) => ratios?.semilarge};\n\n @supports not (aspect-ratio: auto) {\n padding-top: ${({ ratios }) =>\n ratios?.semilarge && `calc(100% / ${ratios?.semilarge})`};\n }\n }\n\n @media ${mq.large} {\n aspect-ratio: ${({ ratios }) => ratios?.large};\n\n @supports not (aspect-ratio: auto) {\n padding-top: ${({ ratios }) =>\n ratios?.large && `calc(100% / ${ratios?.large})`};\n }\n }\n\n @media ${mq.xlarge} {\n aspect-ratio: ${({ ratios }) => ratios?.xlarge};\n\n @supports not (aspect-ratio: auto) {\n padding-top: ${({ ratios }) =>\n ratios?.xlarge && `calc(100% / ${ratios?.xlarge})`};\n }\n }\n\n ${({ ratios }) =>\n ratios &&\n css`\n video {\n height: 100%;\n width: 100%;\n object-fit: cover;\n\n @supports not (aspect-ratio: auto) {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n }\n }\n `}\n`;\n\nconst Video = styled.video`\n display: block;\n`;\n\nexport interface VideoAspectRatios {\n small: number;\n medium?: number;\n semilarge?: number;\n large?: number;\n xlarge?: number;\n}\n\nexport interface VideoProps {\n urls?: string[];\n ratios?: VideoAspectRatios;\n isInverted?: boolean;\n\n muted?: boolean;\n autoPlay?: boolean;\n loop?: boolean;\n controls?: boolean;\n playsInline?: boolean;\n onCanPlayThrough?: () => void;\n}\n\nconst VideoBlock = forwardRef<\n HTMLVideoElement,\n VideoProps & { className?: string }\n>(\n (\n {\n urls,\n ratios,\n isInverted,\n muted = false,\n autoPlay = false,\n loop = false,\n controls = false,\n playsInline = true,\n onCanPlayThrough,\n className,\n },\n ref\n ) => {\n const videoRef = useRef<HTMLVideoElement | null>(null);\n\n useImperativeHandle<HTMLVideoElement | null, HTMLVideoElement | null>(\n ref,\n () => videoRef.current\n );\n\n useEffect(() => {\n if (videoRef.current && videoRef.current.readyState > 3) {\n onCanPlayThrough?.();\n }\n }, [onCanPlayThrough]);\n\n return (\n <AspectContainer\n ratios={ratios}\n isInverted={isInverted}\n className={className}\n >\n <Video\n ref={videoRef}\n muted={muted}\n autoPlay={autoPlay}\n loop={loop}\n controls={controls}\n onCanPlayThrough={onCanPlayThrough}\n playsInline={playsInline}\n >\n {urls?.map((url, i) => (\n <source src={url} key={i} />\n ))}\n </Video>\n </AspectContainer>\n );\n }\n);\n\nVideoBlock.displayName = 'VideoBlock';\n\nexport default VideoBlock;\n","import Check from 'components/base/icons/Check';\nimport { copyStyle } from 'components/typography/Copy';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getColors as color, spacings } from 'utils/styles';\n\nconst View = styled.div`\n display: inline-flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n margin-top: -${spacings.nudge}px;\n margin-left: -${spacings.nudge * 2}px;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst FactsWrapper = styled.div`\n padding-top: ${spacings.nudge}px;\n padding-left: ${spacings.nudge * 2}px;\n`;\n\nconst Fact = styled.span<{ isInverted?: boolean }>`\n display: inline-flex;\n align-items: center;\n ${copyStyle('copy', 'medium')}\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.copyInverted : color(theme).text.copy};\n\n & > * + * {\n margin-left: ${spacings.nudge * 0.5}px;\n }\n`;\n\nconst POIFacts: React.FC<{\n facts: string[];\n customFact?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n }) => React.ReactNode;\n isInverted?: boolean;\n}> = ({ facts, customFact, isInverted }) => {\n return (\n <View>\n {facts.map((fact, i) => (\n <FactsWrapper key={'tag_' + i}>\n {customFact ? (\n customFact({\n key: `headtag-${i}`,\n name: fact || '',\n isInverted: isInverted,\n })\n ) : (\n <Fact isInverted={isInverted}>\n <Check />\n <span>{fact}</span>\n </Fact>\n )}\n </FactsWrapper>\n ))}\n </View>\n );\n};\n\nexport default POIFacts;\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport POIFacts from 'components/blocks/POIFacts';\nimport Copy from 'components/typography/Copy';\nimport { isValidArray } from 'utils/arrays';\nimport { getColors as color, mq, spacings } from 'utils/styles';\nimport InfoList, { Info } from './InfoList';\n\nconst View = styled.div<{ isInverted?: boolean }>`\n border: 1px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n padding: ${spacings.nudge * 2}px;\n border-radius: ${spacings.nudge}px;\n overflow: hidden;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Title = styled(Copy)`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2; /* number of lines to show */\n line-clamp: 2;\n -webkit-box-orient: vertical;\n\n &:not(:first-child) {\n margin-top: ${spacings.nudge * 3}px;\n }\n`;\n\nconst Description = styled(Copy)`\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 4; /* number of lines to show */\n line-clamp: 4;\n -webkit-box-orient: vertical;\n`;\n\nconst Body = styled.div<{ isInverted?: boolean }>`\n display: flex;\n flex-direction: row;\n /* align-items: flex-start; */\n\n @media ${mq.semilarge} {\n margin-left: -${spacings.spacer}px;\n margin-right: -${spacings.spacer}px;\n\n & > * + * {\n border-left: 1px solid\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n }\n }\n`;\n\nconst Col = styled.div`\n flex: 1 0 100%;\n\n & > * + * {\n margin-top: ${spacings.nudge * 3}px;\n }\n\n @media ${mq.semilarge} {\n flex: 1 0 60%;\n padding: 0 ${spacings.spacer}px;\n }\n\n @media ${mq.large} {\n flex: 1 0 ${(2 / 3) * 100}%;\n }\n`;\n\nconst InfoCol = styled(Col)`\n display: none;\n margin-bottom: ${spacings.nudge * 2}px;\n\n @media ${mq.semilarge} {\n display: block;\n flex: 1 0 40%;\n }\n\n @media ${mq.large} {\n display: block;\n flex: 1 0 ${(1 / 3) * 100}%;\n }\n`;\n\nconst Action = styled.div``;\n\nexport type POILocation = {\n address: string;\n street: string;\n postalCode: string;\n city: string;\n coordinates?: { lat: number; long: number };\n mail: string;\n phone: string;\n web: string;\n};\n\nexport type POIContact = {\n name: string;\n position: string;\n street: string;\n postalCode: string;\n city: string;\n mail: string;\n phone: string;\n};\n\nexport interface POICardProps {\n /** Invert text and background for use on dark sections */\n isInverted?: boolean;\n\n /** POI name */\n name: string;\n\n /** Short POI description text (RichText) */\n shortDescription?: string;\n\n /** Array of additional POI informations */\n infos?: Info[];\n\n /** Array of POI facts */\n facts?: string[];\n\n /** Function to inject custom fact node */\n customFact?: (props: {\n key: React.Key;\n name: string;\n isInverted?: boolean;\n }) => React.ReactNode;\n\n /** Function to inject custom action node */\n action?: (isInverted?: boolean) => React.ReactNode;\n}\n\nconst POICard: React.FC<POICardProps> = ({\n isInverted,\n name,\n shortDescription,\n facts,\n infos,\n customFact,\n action,\n}) => {\n const hasFacts = isValidArray(facts, false);\n const hasInfos = isValidArray(infos, false);\n\n return (\n <View isInverted={isInverted}>\n {name && (\n <Title type=\"copy-b\" size=\"big\" isInverted={isInverted}>\n {name}\n </Title>\n )}\n {(hasFacts || shortDescription || hasInfos || action) && (\n <Body isInverted={isInverted}>\n <Col>\n {isValidArray(facts, false) && (\n <POIFacts\n facts={facts}\n isInverted={isInverted}\n customFact={customFact}\n />\n )}\n {shortDescription && (\n <Description\n isInverted={isInverted}\n innerHTML={shortDescription}\n />\n )}\n {action && <Action>{action(isInverted)}</Action>}\n </Col>\n {isValidArray(infos, false) && (\n <InfoCol>\n <InfoList\n isInverted={isInverted}\n items={[\n {\n items: infos,\n },\n ]}\n />\n </InfoCol>\n )}\n </Body>\n )}\n </View>\n );\n};\n\nexport default POICard;\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport Link from 'components/typography/Link';\n\nconst bdotColor = '#1fc2f4';\n\nconst Dot = styled(Link)`\n width: 14px;\n height: 14px;\n\n display: inline-block;\n vertical-align: middle;\n border-radius: 50%;\n\n background: ${bdotColor};\n color: ${bdotColor};\n text-decoration: none;\n\n span {\n visibility: hidden;\n font-size: 0;\n color: transparent;\n }\n`;\n\nconst Bdot: React.FC<{ className?: string }> = ({ className }) => {\n return (\n <Dot\n ariaLabel=\"b.lateral - creative agency\"\n className={className}\n href=\"https://blateral.com\"\n isExternal\n >\n <span>b.lateral - creative agency</span>\n </Dot>\n );\n};\n\nexport default Bdot;\n"],"names":["View","styled","div","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","_a","isCentered","spacings","nudge","SuperTitle","Heading","templateObject_2","MainTitle","templateObject_4","maxLines","css","Title","_b","colorMode","superTitle","superTitleAs","title","titleAs","_c","titleSize","_d","titleHyphens","className","colors","useLibTheme","React","createElement","renderAs","size","textColor","text","inverted","undefined","isInverted","innerHTML","hyphens","mq","semilarge","spacer","Content","StyledTitle","templateObject_3","clamp","ContentBlock","Copy","templateObject_5","StyledActions","Actions","medium","MobileImageContainer","templateObject_7","DesktopImageContainer","templateObject_8","Link","copyStyle","isActive","isClickable","theme","getColors","primary","default","Tag","name","link","onClick","children","tag","href","__assign","as","large","ImageContainer","MainContent","TagContainer","TitleWrapper","TagWrapper","templateObject_6","TitleLink","font","getFonts","big","colorInverted","color","Text","Container","ul","Item","li","Infos","Icon","InfoList","items","map","group","i","groupItems","filter","item","hasItems","isValidArray","key","type","info","ii","icon","allowLinkIcons","AnimationContainer","PosterImage","Image","AnimationImage","img","scale","concat","opacity","zoomPoint","AnimationImages","zoom","interval","images","onChange","intervalRef","useRef","initialTimeoutRef","_e","useState","activeImg","setActiveImg","useEffect","changeImage","prev","length","current","window","setTimeout","clearInterval","setInterval","clearTimeout","Fragment","imgZoom","imgZoomPoint","getValidZoomPoint","style","zIndex","src","image","alt","point","clampValue","PosterView","BgImage","focus","PlaceholderImg","AutoplayVideo","video","isVisible","Caption","TableContainer","TableBody","table","TableHead","elementBg","dark","alignRight","TableData","hasBack","light","TableBlock","forwardRef","ref","row","tableTitle","rowTitle","lastCol","tabIndex","cols","itemText","AspectContainer","global","sections","edgeRadius","ratios","small","getGlobals","imagePlaceholderBg","xlarge","Video","VideoBlock","urls","muted","autoPlay","loop","controls","_f","playsInline","onCanPlayThrough","videoRef","useImperativeHandle","readyState","url","FactsWrapper","Fact","span","copyInverted","copy","POIFacts","facts","customFact","fact","Check","Description","Body","Col","InfoCol","Action","Dot","ariaLabel","isExternal","customTag","onTagClick","date","tags","action","globals","publishedAt","StatusFormatter","getTime","eventDateFormat","eventTimeFormat","eventLocaleKey","getFormattedDate","handleTagClick","ev","preventDefault","filteredTags","useMemo","coverSpace","allowEdgeRadius","w","h","clickHandler","onImageChange","currentMq","useMediaQuery","loadedImages","setLoadedImages","imagePromises","requestedImages","id","req","Promise","resolve","onload","preloadImages","__awaiter","promise","loadedImg","sent","find","e","_i","imagePromises_1","bgImage","loadOnMobile","placeholderImg","videoUrl","viewRef","isLoaded","setLoaded","isObserverSupported","useObserverSupport","isMobile","isVideoAllowed","isVideoActive","setVideoActive","useUpdateEffect","observer","IntersectionObserver","entries","entry","isIntersecting","unobserve","target","rootMargin","viewEl","observe","abstract","textType","textSize","primaryAction","secondaryAction","_g","_h","clampTitle","_j","clampAbstract","maxTitleLines","maxAbstractLines","_k","clampText","maxTextLines","secondary","shortDescription","infos","hasFacts","hasInfos"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var n=require("./ClockFilled-2483aa4a.js"),e=require("react"),t=require("styled-components"),i=require("./hexRgbConverter-91b28aea.js"),o=require("./styles-0f1a0aea.js");function r(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}function a(n){if(n&&n.__esModule)return n;var e=Object.create(null);return n&&Object.keys(n).forEach((function(t){if("default"!==t){var i=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:function(){return n[t]}})}})),e.default=n,Object.freeze(e)}var l=r(e),s=a(e),d=r(t),c=d.default.a.withConfig({displayName:"Button__View",componentId:"sc-2gssup-0"})(m||(m=n.__makeTemplateObject(["\n min-height: 3em;\n height: ",";\n min-width: ",";\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ","px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ",";\n ","\n font-weight: ",";\n line-height: 1;\n letter-spacing: ",";\n text-decoration: none;\n\n outline: none;\n border: 1px solid transparent;\n border-radius: ",";\n user-select: none;\n cursor: pointer;\n\n pointer-events: ",";\n\n background-color: ",";\n color: ",";\n text-align: left;\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ",";\n }\n\n & > * + * {\n margin-left: ","px;\n }\n & > *[data-btn-desktop] + *[data-btn-mobile] {\n margin-left: 0;\n }\n & > *[data-btn-mobile] + *[data-btn-desktop] {\n margin-left: 0;\n }\n & > *[data-btn-desktop] {\n display: none;\n }\n & > *:not([data-btn-desktop]) + * {\n margin-left: 0;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ","\n }\n\n ","\n\n @media "," {\n & > *[data-btn-desktop='true'] {\n display: inherit;\n }\n & > *[data-btn-mobile='true'] {\n display: none;\n }\n & > *:not([data-btn-mobile='true']) + * {\n margin-left: 0;\n }\n }\n"],["\n min-height: 3em;\n height: ",";\n min-width: ",";\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ","px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ",";\n ","\n font-weight: ",";\n line-height: 1;\n letter-spacing: ",";\n text-decoration: none;\n\n outline: none;\n border: 1px solid transparent;\n border-radius: ",";\n user-select: none;\n cursor: pointer;\n\n pointer-events: ",";\n\n background-color: ",";\n color: ",";\n text-align: left;\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ",";\n }\n\n & > * + * {\n margin-left: ","px;\n }\n & > *[data-btn-desktop] + *[data-btn-mobile] {\n margin-left: 0;\n }\n & > *[data-btn-mobile] + *[data-btn-desktop] {\n margin-left: 0;\n }\n & > *[data-btn-desktop] {\n display: none;\n }\n & > *:not([data-btn-desktop]) + * {\n margin-left: 0;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ","\n }\n\n ","\n\n @media "," {\n & > *[data-btn-desktop='true'] {\n display: inherit;\n }\n & > *[data-btn-mobile='true'] {\n display: none;\n }\n & > *:not([data-btn-mobile='true']) + * {\n margin-left: 0;\n }\n }\n"])),(function(n){return"default"===n.size?"3.5em":"3em"}),(function(n){return"default"===n.size?"200px":"120px"}),o.spacings.spacer,(function(n){var e=n.theme;return o.getFonts(e).copy.medium.family}),(function(n){var e=n.theme;return o.withRange(o.getFonts(e).copy.medium.size,"font-size")}),(function(n){var e=n.theme;return o.getFonts(e).copy.medium.weight}),(function(n){var e=n.theme;return o.getFonts(e).copy.medium.letterSpacing}),(function(n){var e=n.theme;return o.getGlobals(e).sections.edgeRadius}),(function(n){return n.disable?"none":"all"}),(function(n){var e=n.theme,t=n.inverted;return n.disable?o.getColors(e).elementBg.medium:t?o.getColors(e).primary.inverted:o.getColors(e).primary.default}),(function(n){var e=n.theme,t=n.inverted;return n.disable?i.hexToRgba(o.getColors(e).text.default,.4):t?o.getColors(e).text.default:o.getColors(e).text.inverted}),(function(n){var e=n.theme,t=n.inverted;return n.disable?i.hexToRgba(o.getColors(e).text.default,.4):t?o.getColors(e).text.default:o.getColors(e).text.inverted}),o.spacings.nudge,(function(e){var i=e.disable,o=e.inverted;return!i&&t.css(u||(u=n.__makeTemplateObject(["\n &:hover {\n box-shadow: 0px 8px 16px\n ",";\n }\n "],["\n &:hover {\n box-shadow: 0px 8px 16px\n ",";\n }\n "])),o?"rgba(255, 255, 255, 0.25)":"rgba(0, 0, 0, 0.25)")}),(function(e){var i=e.disable,o=e.inverted;return!i&&t.css(f||(f=n.__makeTemplateObject(["\n &:focus {\n text-decoration: underline;\n box-shadow: 0px 8px 16px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ",";\n }\n "],["\n &:focus {\n text-decoration: underline;\n box-shadow: 0px 8px 16px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ",";\n }\n "])),o?"rgba(255, 255, 255, 0.25)":"rgba(0, 0, 0, 0.25)",o?"rgba(255, 255, 255, 0.25)":"rgba(0, 0, 0, 0.3)")}),o.mq.semilarge),p=l.default.forwardRef((function(e,t){var i=e.as,o=e.size,r=void 0===o?"default":o,a=e.isInverted,s=e.isDisabled,d=e.onClick,p=e.className,u=e.children,f=n.__rest(e,["as","size","isInverted","isDisabled","onClick","className","children"]);return"button"===i?l.default.createElement(c,n.__assign({ref:t,as:i,size:r,inverted:a,disable:s,onClick:d,className:p},f),u):l.default.createElement(c,n.__assign({ref:t,as:i,"aria-disabled":s,size:r,href:f.href,target:f.isExternal?"_blank":void 0,rel:f.isExternal?"noopener noreferrer":void 0,inverted:a,disable:s,onClick:d,className:p},f),u)}));p.displayName="Button";var u,f,m,x,h,g=d.default.div.withConfig({displayName:"Button__Icon",componentId:"sc-2gssup-1"})(x||(x=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ",";\n\n transition: transform 0.2s ease-in-out;\n\n ",":hover > & {\n transform: translateX(3px);\n }\n"],["\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ",";\n\n transition: transform 0.2s ease-in-out;\n\n ",":hover > & {\n transform: translateX(3px);\n }\n"])),(function(n){return n.iconColor||"inherit"}),c),b={View:p,Label:d.default.span.withConfig({displayName:"Button__Label",componentId:"sc-2gssup-2"})(h||(h=n.__makeTemplateObject(["\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n"],["\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n"]))),Icon:g},v=d.default.a.withConfig({displayName:"ButtonGhost__View",componentId:"sc-y4lhy8-0"})(_||(_=n.__makeTemplateObject(["\n min-height: 3em;\n height: ",";\n min-width: ",";\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ","px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ",";\n ","\n font-weight: ",";\n line-height: 1;\n letter-spacing: ",";\n\n text-align: center;\n text-decoration: none;\n\n outline: none;\n box-shadow: none;\n border: solid 1px\n ",";\n border-radius: ",";\n user-select: none;\n cursor: pointer;\n\n pointer-events: ",";\n\n background-color: transparent;\n color: ",";\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ",";\n }\n\n & > :not(:last-child) {\n padding-right: ","px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ","\n }\n"],["\n min-height: 3em;\n height: ",";\n min-width: ",";\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ","px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ",";\n ","\n font-weight: ",";\n line-height: 1;\n letter-spacing: ",";\n\n text-align: center;\n text-decoration: none;\n\n outline: none;\n box-shadow: none;\n border: solid 1px\n ",";\n border-radius: ",";\n user-select: none;\n cursor: pointer;\n\n pointer-events: ",";\n\n background-color: transparent;\n color: ",";\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ",";\n }\n\n & > :not(:last-child) {\n padding-right: ","px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ","\n }\n"])),(function(n){return"default"===n.size?"3.5em":"3em"}),(function(n){return"default"===n.size?"200px":"120px"}),o.spacings.spacer,(function(n){var e=n.theme;return o.getFonts(e).copy.medium.family}),(function(n){var e=n.theme;return o.withRange(o.getFonts(e).copy.medium.size,"font-size")}),(function(n){var e=n.theme;return o.getFonts(e).copy.medium.weight}),(function(n){var e=n.theme;return o.getFonts(e).copy.medium.letterSpacing}),(function(n){var e=n.inverted,t=n.disable,i=n.theme;return t?o.getColors(i).elementBg.medium:e?o.getColors(i).elementBg.light:o.getColors(i).elementBg.dark}),(function(n){var e=n.theme;return o.getGlobals(e).sections.edgeRadius}),(function(n){return n.disable?"none":"all"}),(function(n){var e=n.theme,t=n.inverted;return n.disable?t?i.hexToRgba(o.getColors(e).text.inverted,.6):i.hexToRgba(o.getColors(e).text.default,.6):t?o.getColors(e).text.inverted:o.getColors(e).text.default}),(function(n){var e=n.theme,t=n.inverted;return n.disable?t?i.hexToRgba(o.getColors(e).text.inverted,.6):i.hexToRgba(o.getColors(e).text.default,.6):t?o.getColors(e).text.inverted:o.getColors(e).text.default}),o.spacings.nudge,(function(e){var i=e.disable,r=e.inverted,a=e.theme;return!i&&t.css(y||(y=n.__makeTemplateObject(["\n &:hover {\n box-shadow: 0px 8px 16px\n ",";\n }\n\n &:focus {\n outline: 1px solid\n ",";\n outline-offset: 0;\n box-shadow: 0px 2px 6px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ",";\n }\n "],["\n &:hover {\n box-shadow: 0px 8px 16px\n ",";\n }\n\n &:focus {\n outline: 1px solid\n ",";\n outline-offset: 0;\n box-shadow: 0px 2px 6px\n ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ",";\n }\n "])),r?"rgba(255, 255, 255, 0.25)":"rgba(0, 0, 0, 0.25)",r?o.getColors(a).primary.inverted:o.getColors(a).primary.default,r?"rgba(255, 255, 255, 0.25)":"rgba(0, 0, 0, 0.3)",r?"rgba(255, 255, 255, 0.25)":"rgba(0, 0, 0, 0.3)")})),w=s.forwardRef((function(e,t){var i=e.as,o=e.size,r=void 0===o?"default":o,a=e.isInverted,l=e.isDisabled,d=e.onClick,c=e.className,p=e.children,u=n.__rest(e,["as","size","isInverted","isDisabled","onClick","className","children"]);return"button"===i?s.createElement(v,n.__assign({ref:t,as:i,size:r,inverted:a,disable:l,onClick:d,className:c},u),p):s.createElement(v,n.__assign({ref:t,as:i,"aria-disabled":l,size:r,href:u.href,target:u.isExternal?"_blank":void 0,rel:u.isExternal?"noopener noreferrer":void 0,inverted:a,disable:l,onClick:d,className:c},u),p)}));w.displayName="Button Ghost";var y,_,k,C,j=d.default.div.withConfig({displayName:"ButtonGhost__Icon",componentId:"sc-y4lhy8-1"})(k||(k=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ",";\n\n transition: transform 0.2s ease-in-out;\n\n ",":hover > & {\n transform: translateX(3px);\n }\n"],["\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ",";\n\n transition: transform 0.2s ease-in-out;\n\n ",":hover > & {\n transform: translateX(3px);\n }\n"])),(function(n){return n.iconColor||"inherit"}),v),z={View:w,Label:d.default.span.withConfig({displayName:"ButtonGhost__Label",componentId:"sc-y4lhy8-2"})(C||(C=n.__makeTemplateObject(["\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n"],["\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n"]))),Icon:j};exports.Button=b,exports.ButtonGhost=z;
2
- //# sourceMappingURL=ButtonGhost-e9644acd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonGhost-e9644acd.js","sources":["../src/components/buttons/Button.tsx","../src/components/buttons/ButtonGhost.tsx"],"sourcesContent":["import React from 'react';\nimport styled, { css } from 'styled-components';\nimport { hexToRgba } from 'utils/hexRgbConverter';\n\nimport {\n getColors as color,\n getFonts as font,\n getGlobals as global,\n mq,\n spacings,\n withRange,\n} from 'utils/styles';\n\nconst View = styled.a<{\n inverted?: boolean;\n disable?: boolean;\n size?: 'default' | 'small';\n}>`\n min-height: 3em;\n height: ${({ size }) => (size === 'default' ? '3.5em' : '3em')};\n min-width: ${({ size }) => (size === 'default' ? '200px' : '120px')};\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ${spacings.spacer}px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ${({ theme }) => font(theme).copy.medium.family};\n ${({ theme }) => withRange(font(theme).copy.medium.size, 'font-size')}\n font-weight: ${({ theme }) => font(theme).copy.medium.weight};\n line-height: 1;\n letter-spacing: ${({ theme }) => font(theme).copy.medium.letterSpacing};\n text-decoration: none;\n\n outline: none;\n border: 1px solid transparent;\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n user-select: none;\n cursor: pointer;\n\n pointer-events: ${({ disable }) => (disable ? 'none' : 'all')};\n\n background-color: ${({ theme, inverted, disable }) =>\n disable\n ? color(theme).elementBg.medium\n : inverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n color: ${({ theme, inverted, disable }) =>\n disable\n ? hexToRgba(color(theme).text.default, 0.4)\n : !inverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n text-align: left;\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ${({ theme, inverted, disable }) =>\n disable\n ? hexToRgba(color(theme).text.default, 0.4)\n : !inverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n & > *[data-btn-desktop] + *[data-btn-mobile] {\n margin-left: 0;\n }\n & > *[data-btn-mobile] + *[data-btn-desktop] {\n margin-left: 0;\n }\n & > *[data-btn-desktop] {\n display: none;\n }\n & > *:not([data-btn-desktop]) + * {\n margin-left: 0;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ${({ disable, inverted }) =>\n !disable &&\n css`\n &:hover {\n box-shadow: 0px 8px 16px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.25)'};\n }\n `}\n }\n\n ${({ disable, inverted }) =>\n !disable &&\n css`\n &:focus {\n text-decoration: underline;\n box-shadow: 0px 8px 16px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.25)'};\n }\n\n &:focus:not(:focus-visible) {\n text-decoration: none;\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n `}\n\n @media ${mq.semilarge} {\n & > *[data-btn-desktop='true'] {\n display: inherit;\n }\n & > *[data-btn-mobile='true'] {\n display: none;\n }\n & > *:not([data-btn-mobile='true']) + * {\n margin-left: 0;\n }\n }\n`;\n\ninterface Props {\n size?: 'default' | 'small';\n isInverted?: boolean;\n isDisabled?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\nexport type BtnProps = Props & {\n as?: 'button';\n onClick?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n};\n\nexport type LinkProps = Props & {\n as?: 'a';\n href?: string;\n onClick?: (ev: React.SyntheticEvent<HTMLAnchorElement>) => void;\n isExternal?: boolean;\n};\n\nconst Button: React.FC<BtnProps | LinkProps> = React.forwardRef(\n (\n {\n as,\n size = 'default',\n isInverted,\n isDisabled,\n onClick,\n className,\n children,\n ...rest\n },\n ref\n ) => {\n if (as === 'button') {\n return (\n <View\n ref={ref}\n as={as as any}\n size={size}\n inverted={isInverted}\n disable={isDisabled}\n onClick={onClick}\n className={className}\n {...rest}\n >\n {children}\n </View>\n );\n } else {\n return (\n <View\n ref={ref}\n as={as as any}\n aria-disabled={isDisabled}\n size={size}\n href={(rest as LinkProps).href}\n target={\n (rest as LinkProps).isExternal ? '_blank' : undefined\n }\n rel={\n (rest as LinkProps).isExternal\n ? 'noopener noreferrer'\n : undefined\n }\n inverted={isInverted}\n disable={isDisabled}\n onClick={onClick}\n className={className}\n {...rest}\n >\n {children}\n </View>\n );\n }\n }\n);\n\nButton.displayName = 'Button';\n\nconst Icon = styled.div<{ iconColor?: string }>`\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ${({ iconColor }) => iconColor || 'inherit'};\n\n transition: transform 0.2s ease-in-out;\n\n ${View}:hover > & {\n transform: translateX(3px);\n }\n`;\n\nconst Label = styled.span`\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`;\n\nexport default { View: Button, Label: Label, Icon: Icon };\n","import * as React from 'react';\nimport styled, { css } from 'styled-components';\nimport { hexToRgba } from 'utils/hexRgbConverter';\n\nimport {\n getColors as color,\n getFonts as font,\n getGlobals as global,\n spacings,\n withRange,\n} from 'utils/styles';\n\nconst View = styled.a<{\n inverted?: boolean;\n disable?: boolean;\n size?: 'default' | 'small';\n}>`\n min-height: 3em;\n height: ${({ size }) => (size === 'default' ? '3.5em' : '3em')};\n min-width: ${({ size }) => (size === 'default' ? '200px' : '120px')};\n padding: 0.1em 1.2em;\n\n max-width: calc(100% - ${spacings.spacer}px);\n\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n\n vertical-align: middle;\n\n font-family: ${({ theme }) => font(theme).copy.medium.family};\n ${({ theme }) => withRange(font(theme).copy.medium.size, 'font-size')}\n font-weight: ${({ theme }) => font(theme).copy.medium.weight};\n line-height: 1;\n letter-spacing: ${({ theme }) => font(theme).copy.medium.letterSpacing};\n\n text-align: center;\n text-decoration: none;\n\n outline: none;\n box-shadow: none;\n border: solid 1px\n ${({ inverted, disable, theme }) =>\n disable\n ? color(theme).elementBg.medium\n : inverted\n ? color(theme).elementBg.light\n : color(theme).elementBg.dark};\n border-radius: ${({ theme }) => global(theme).sections.edgeRadius};\n user-select: none;\n cursor: pointer;\n\n pointer-events: ${({ disable }) => (disable ? 'none' : 'all')};\n\n background-color: transparent;\n color: ${({ theme, inverted, disable }) =>\n disable\n ? inverted\n ? hexToRgba(color(theme).text.inverted, 0.6)\n : hexToRgba(color(theme).text.default, 0.6)\n : inverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n\n transition: all ease-in-out 0.2s;\n\n & > * {\n color: ${({ theme, inverted, disable }) =>\n disable\n ? inverted\n ? hexToRgba(color(theme).text.inverted, 0.6)\n : hexToRgba(color(theme).text.default, 0.6)\n : inverted\n ? color(theme).text.inverted\n : color(theme).text.default};\n }\n\n & > :not(:last-child) {\n padding-right: ${spacings.nudge}px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n ${({ disable, inverted, theme }) =>\n !disable &&\n css`\n &:hover {\n box-shadow: 0px 8px 16px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.25)'};\n }\n\n &:focus {\n outline: 1px solid\n ${inverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 0;\n box-shadow: 0px 2px 6px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n box-shadow: none;\n }\n\n &:active {\n box-shadow: 0px 2px 6px\n ${inverted\n ? 'rgba(255, 255, 255, 0.25)'\n : 'rgba(0, 0, 0, 0.3)'};\n }\n `}\n }\n`;\n\ninterface Props {\n size?: 'default' | 'small';\n isInverted?: boolean;\n isDisabled?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\nexport type BtnProps = Props & {\n as?: 'button';\n onClick?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n};\n\nexport type LinkProps = Props & {\n as?: 'a';\n href?: string;\n onClick?: (ev: React.SyntheticEvent<HTMLAnchorElement>) => void;\n isExternal?: boolean;\n};\n\nconst ButtonGhost: React.FC<BtnProps | LinkProps> = React.forwardRef(\n (\n {\n as,\n size = 'default',\n isInverted,\n isDisabled,\n onClick,\n className,\n children,\n ...rest\n },\n ref\n ) => {\n if (as === 'button') {\n return (\n <View\n ref={ref}\n as={as as any}\n size={size}\n inverted={isInverted}\n disable={isDisabled}\n onClick={onClick}\n className={className}\n {...rest}\n >\n {children}\n </View>\n );\n } else {\n return (\n <View\n ref={ref}\n as={as as any}\n aria-disabled={isDisabled}\n size={size}\n href={(rest as LinkProps).href}\n target={\n (rest as LinkProps).isExternal ? '_blank' : undefined\n }\n rel={\n (rest as LinkProps).isExternal\n ? 'noopener noreferrer'\n : undefined\n }\n inverted={isInverted}\n disable={isDisabled}\n onClick={onClick}\n className={className}\n {...rest}\n >\n {children}\n </View>\n );\n }\n }\n);\n\nButtonGhost.displayName = 'Button Ghost';\n\nconst Icon = styled.div<{ iconColor?: string }>`\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n width: 35px;\n height: 35px;\n\n color: ${({ iconColor }) => iconColor || 'inherit'};\n\n transition: transform 0.2s ease-in-out;\n\n ${View}:hover > & {\n transform: translateX(3px);\n }\n`;\n\nconst Label = styled.span`\n display: inline-block;\n\n max-width: 100%;\n\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n`;\n\nexport default { View: ButtonGhost, Label: Label, Icon: Icon };\n"],"names":["View","styled","a","withConfig","displayName","componentId","templateObject_3","__makeTemplateObject","_a","size","spacings","spacer","theme","font","getFonts","copy","medium","family","withRange","weight","letterSpacing","global","sections","edgeRadius","disable","inverted","color","elementBg","primary","default","hexToRgba","text","nudge","css","templateObject_2","mq","semilarge","Button","React","forwardRef","ref","as","_b","isInverted","isDisabled","onClick","className","children","rest","__rest","createElement","__assign","href","target","isExternal","undefined","rel","Icon","div","templateObject_4","iconColor","Button$1","Label","span","templateObject_5","light","dark","getColors","ButtonGhost","ButtonGhost$1"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- "use strict";var n=require("./ClockFilled-2483aa4a.js"),e=require("react"),t=require("styled-components"),o=require("./styles-0f1a0aea.js");function r(n){return n&&"object"==typeof n&&"default"in n?n:{default:n}}function i(n){if(n&&n.__esModule)return n;var e=Object.create(null);return n&&Object.keys(n).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,o.get?o:{enumerable:!0,get:function(){return n[t]}})}})),e.default=n,Object.freeze(e)}var a=i(e),l=r(e),s=r(t),c=s.default.a.withConfig({displayName:"Pointer__View",componentId:"sc-1jne5k6-0"})(u||(u=n.__makeTemplateObject(["\n padding: 0.2em 0;\n\n display: inline-block;\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n vertical-align: middle;\n\n font-family: ",";\n ","\n font-weight: ",";\n text-align: center;\n text-decoration: ",";\n line-height: 1;\n letter-spacing: ",";\n\n perspective: 1000;\n -webkit-font-smoothing: subpixel-antialiased;\n -webkit-perspective: 1000;\n -moz-osx-font-smoothing: grayscale;\n will-change: auto;\n\n outline-color: ",";\n border: none;\n cursor: pointer;\n\n pointer-events: ",";\n\n background: none;\n color: ",";\n\n & > * {\n color: ",";\n }\n\n & > * + * {\n margin-left: ","px;\n }\n\n & > :not(:last-child) {\n padding-right: ","px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n opacity: 0.6;\n }\n"],["\n padding: 0.2em 0;\n\n display: inline-block;\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n vertical-align: middle;\n\n font-family: ",";\n ","\n font-weight: ",";\n text-align: center;\n text-decoration: ",";\n line-height: 1;\n letter-spacing: ",";\n\n perspective: 1000;\n -webkit-font-smoothing: subpixel-antialiased;\n -webkit-perspective: 1000;\n -moz-osx-font-smoothing: grayscale;\n will-change: auto;\n\n outline-color: ",";\n border: none;\n cursor: pointer;\n\n pointer-events: ",";\n\n background: none;\n color: ",";\n\n & > * {\n color: ",";\n }\n\n & > * + * {\n margin-left: ","px;\n }\n\n & > :not(:last-child) {\n padding-right: ","px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n opacity: 0.6;\n }\n"])),(function(n){var e=n.theme;return o.getFonts(e).copy.medium.family}),(function(n){var e=n.theme;return o.withRange(o.getFonts(e).copy.medium.size,"font-size")}),(function(n){var e=n.theme;return o.getFonts(e).copy.medium.weight}),(function(n){var e=n.textDecoration;return e||"underline"}),(function(n){var e=n.theme;return o.getFonts(e).copy.medium.letterSpacing}),(function(n){var e=n.theme;return n.inverted?o.getColors(e).primary.inverted:o.getColors(e).primary.default}),(function(n){return n.disable?"none":"all"}),(function(n){var e=n.theme,t=n.inverted;return n.disable?o.getColors(e).elementBg.medium:t?o.getColors(e).text.copyInverted:o.getColors(e).text.copy}),(function(n){var e=n.theme,t=n.inverted;return n.disable?o.getColors(e).elementBg.medium:t?o.getColors(e).text.copyInverted:o.getColors(e).text.copy}),o.spacings.nudge,o.spacings.nudge,(function(n){var e=n.theme;return o.getColors(e).primary.default})),d=a.forwardRef((function(e,t){var o=e.as,r=e.isInverted,i=e.isDisabled,l=e.onClick,s=e.className,d=e.textDecoration,u=e.children,f=n.__rest(e,["as","isInverted","isDisabled","onClick","className","textDecoration","children"]);return"button"===o?a.createElement(c,n.__assign({textDecoration:d,ref:t,as:o,inverted:r,disable:i,onClick:l,className:s},f),u):a.createElement(c,n.__assign({textDecoration:d,ref:t,as:o,href:f.href,"data-disabled":i,"data-inverted":r,target:f.isExternal?"_blank":void 0,rel:f.isExternal?"noopener noreferrer":void 0,inverted:r,disable:i,onClick:l,className:s},f),u)}));d.displayName="Button";var u,f,p,m,g=s.default.div.withConfig({displayName:"Pointer__Icon",componentId:"sc-1jne5k6-1"})(f||(f=n.__makeTemplateObject(["\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n color: ",";\n\n transition: transform 0.2s ease-in-out;\n\n ","[data-inverted='true'] > & {\n color: ",";\n }\n\n ","[data-disabled='true'] > & {\n color: ",";\n }\n\n ",":hover > & {\n transform: translateX(3px);\n }\n"],["\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n color: ",";\n\n transition: transform 0.2s ease-in-out;\n\n ","[data-inverted='true'] > & {\n color: ",";\n }\n\n ","[data-disabled='true'] > & {\n color: ",";\n }\n\n ",":hover > & {\n transform: translateX(3px);\n }\n"])),(function(n){var e=n.theme;return n.iconColor||o.getColors(e).text.copy}),c,(function(n){var e=n.theme;return n.iconColor||o.getColors(e).text.copyInverted}),c,(function(n){var e=n.theme;return n.iconColor||o.getColors(e).elementBg.medium}),c),v={View:d,Label:s.default.span.withConfig({displayName:"Pointer__Label",componentId:"sc-1jne5k6-2"})(p||(p=n.__makeTemplateObject(["\n display: inline-block;\n"],["\n display: inline-block;\n"]))),Icon:g},h=s.default.button.withConfig({displayName:"Control__View",componentId:"sc-mj9u2f-0"})(m||(m=n.__makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n background: none;\n outline: none;\n padding: 0;\n margin: 0;\n border: none;\n\n color: ",";\n opacity: ",";\n cursor: ",";\n\n transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n }\n }\n\n &:focus {\n outline: dotted 2px\n ",";\n outline-offset: 4px;\n\n color: ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"],["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n background: none;\n outline: none;\n padding: 0;\n margin: 0;\n border: none;\n\n color: ",";\n opacity: ",";\n cursor: ",";\n\n transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ",";\n }\n }\n\n &:focus {\n outline: dotted 2px\n ",";\n outline-offset: 4px;\n\n color: ",";\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n"])),(function(n){var e=n.theme;return n.isInverted?o.getColors(e).text.inverted:o.getColors(e).text.default}),(function(n){return n.disabled?.4:1}),(function(n){return n.disabled?"default":"pointer"}),(function(n){var e=n.theme;return n.isInverted?o.getColors(e).primary.invertedHover:o.getColors(e).primary.hover}),(function(n){var e=n.theme;return n.isInverted?o.getColors(e).primary.inverted:o.getColors(e).primary.default}),(function(n){var e=n.theme;return n.isInverted?o.getColors(e).primary.invertedHover:o.getColors(e).primary.hover}));exports.Control=function(n){var e=n.isInverted,t=n.isDisabled,o=n.ariaLabel,r=void 0===o?"control":o,i=n.onClick,a=n.className,s=n.children;return l.default.createElement(h,{isInverted:e,disabled:t,"aria-label":r,onClick:i,className:a},s)},exports.Pointer=v;
2
- //# sourceMappingURL=Control-23259241.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Control-23259241.js","sources":["../src/components/buttons/Pointer.tsx","../src/components/buttons/Control.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport {\n getColors as color,\n getFonts as font,\n spacings,\n withRange,\n} from 'utils/styles';\n\nconst View = styled.a<{\n inverted?: boolean;\n disable?: boolean;\n textDecoration?: 'none' | 'underline';\n}>`\n padding: 0.2em 0;\n\n display: inline-block;\n display: inline-flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center;\n vertical-align: middle;\n\n font-family: ${({ theme }) => font(theme).copy.medium.family};\n ${({ theme }) => withRange(font(theme).copy.medium.size, 'font-size')}\n font-weight: ${({ theme }) => font(theme).copy.medium.weight};\n text-align: center;\n text-decoration: ${({ textDecoration }) =>\n textDecoration ? textDecoration : 'underline'};\n line-height: 1;\n letter-spacing: ${({ theme }) => font(theme).copy.medium.letterSpacing};\n\n perspective: 1000;\n -webkit-font-smoothing: subpixel-antialiased;\n -webkit-perspective: 1000;\n -moz-osx-font-smoothing: grayscale;\n will-change: auto;\n\n outline-color: ${({ theme, inverted }) =>\n inverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n border: none;\n cursor: pointer;\n\n pointer-events: ${({ disable }) => (disable ? 'none' : 'all')};\n\n background: none;\n color: ${({ theme, inverted, disable }) =>\n disable\n ? color(theme).elementBg.medium\n : inverted\n ? color(theme).text.copyInverted\n : color(theme).text.copy};\n\n & > * {\n color: ${({ theme, inverted, disable }) =>\n disable\n ? color(theme).elementBg.medium\n : inverted\n ? color(theme).text.copyInverted\n : color(theme).text.copy};\n }\n\n & > * + * {\n margin-left: ${spacings.nudge}px;\n }\n\n & > :not(:last-child) {\n padding-right: ${spacings.nudge}px;\n }\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n opacity: 0.6;\n }\n }\n\n &:focus {\n outline: 2px solid ${({ theme }) => color(theme).primary.default};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n\n &:active {\n opacity: 0.6;\n }\n`;\n\ninterface Props {\n isInverted?: boolean;\n isDisabled?: boolean;\n onClick?: () => void;\n textDecoration?: 'none' | 'underline';\n className?: string;\n children?: React.ReactNode;\n}\n\nexport type BtnProps = Props & {\n as?: 'button';\n};\n\nexport type LinkProps = Props & {\n as?: 'a';\n href?: string;\n isExternal?: boolean;\n};\n\nconst Pointer: React.FC<BtnProps | LinkProps> = React.forwardRef(\n (\n {\n as,\n isInverted,\n isDisabled,\n onClick,\n className,\n textDecoration,\n children,\n ...rest\n },\n ref\n ) => {\n if (as === 'button') {\n return (\n <View\n textDecoration={textDecoration}\n ref={ref}\n as={as as any}\n inverted={isInverted}\n disable={isDisabled}\n onClick={onClick}\n className={className}\n {...rest}\n >\n {children}\n </View>\n );\n } else {\n return (\n <View\n textDecoration={textDecoration}\n ref={ref}\n as={as as any}\n href={(rest as LinkProps).href}\n data-disabled={isDisabled}\n data-inverted={isInverted}\n target={\n (rest as LinkProps).isExternal ? '_blank' : undefined\n }\n rel={\n (rest as LinkProps).isExternal\n ? 'noopener noreferrer'\n : undefined\n }\n inverted={isInverted}\n disable={isDisabled}\n onClick={onClick}\n className={className}\n {...rest}\n >\n {children}\n </View>\n );\n }\n }\n);\n\nPointer.displayName = 'Button';\n\nconst Icon = styled.div<{ iconColor?: string }>`\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n align-items: center;\n\n color: ${({ theme, iconColor }) => iconColor || color(theme).text.copy};\n\n transition: transform 0.2s ease-in-out;\n\n ${View}[data-inverted='true'] > & {\n color: ${({ theme, iconColor }) =>\n iconColor || color(theme).text.copyInverted};\n }\n\n ${View}[data-disabled='true'] > & {\n color: ${({ theme, iconColor }) =>\n iconColor || color(theme).elementBg.medium};\n }\n\n ${View}:hover > & {\n transform: translateX(3px);\n }\n`;\n\nconst Label = styled.span`\n display: inline-block;\n`;\n\nexport default { View: Pointer, Label: Label, Icon: Icon };\n","import React, { FC } from 'react';\nimport styled from 'styled-components';\n\nimport { getColors as color } from 'utils/styles';\n\nconst View = styled.button<{ isInverted?: boolean; disabled?: boolean }>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n\n background: none;\n outline: none;\n padding: 0;\n margin: 0;\n border: none;\n\n color: ${({ theme, isInverted }) =>\n isInverted ? color(theme).text.inverted : color(theme).text.default};\n opacity: ${({ disabled }) => (disabled ? 0.4 : 1)};\n cursor: ${({ disabled }) => (disabled ? 'default' : 'pointer')};\n\n transition: color 0.2s ease-in-out, opacity 0.2s ease-in-out;\n\n @media (hover: hover) and (pointer: fine) {\n &:hover {\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n }\n\n &:focus {\n outline: dotted 2px\n ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.inverted\n : color(theme).primary.default};\n outline-offset: 4px;\n\n color: ${({ theme, isInverted }) =>\n isInverted\n ? color(theme).primary.invertedHover\n : color(theme).primary.hover};\n }\n\n &:focus:not(:focus-visible) {\n outline: none;\n }\n`;\n\nconst Control: FC<{\n isInverted?: boolean;\n isDisabled?: boolean;\n ariaLabel?: string;\n className?: string;\n children?: React.ReactNode;\n onClick?: (ev: React.SyntheticEvent<HTMLButtonElement>) => void;\n}> = ({\n isInverted,\n isDisabled,\n ariaLabel = 'control',\n onClick,\n className,\n children,\n}) => {\n return (\n <View\n isInverted={isInverted}\n disabled={isDisabled}\n aria-label={ariaLabel}\n onClick={onClick}\n className={className}\n >\n {children}\n </View>\n );\n};\n\nexport default Control;\n"],"names":["View","styled","a","withConfig","displayName","componentId","templateObject_1","__makeTemplateObject","_a","theme","font","getFonts","copy","medium","family","withRange","size","weight","textDecoration","letterSpacing","inverted","color","primary","default","disable","elementBg","text","copyInverted","spacings","nudge","Pointer","React","forwardRef","ref","as","isInverted","isDisabled","onClick","className","children","rest","__rest","createElement","__assign","href","target","isExternal","undefined","rel","Icon","div","templateObject_2","iconColor","getColors","Pointer$1","Label","span","templateObject_3","button","disabled","invertedHover","hover","_b","ariaLabel"],"mappings":"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"}