@wayke-se/components-react 3.0.0-beta.11 → 3.0.0-beta.13

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 (278) hide show
  1. package/dist/index.js +5529 -5460
  2. package/dist/index.js.map +4 -4
  3. package/dist/index.mjs +320 -257
  4. package/dist/index.mjs.map +2 -2
  5. package/package.json +4 -2
  6. package/.editorconfig +0 -10
  7. package/.eslintrc.js +0 -62
  8. package/.github/workflows/release-to-production.yaml +0 -40
  9. package/.github/workflows/release-to-test.yaml +0 -40
  10. package/.prettierrc +0 -12
  11. package/assets/ajax-loader.gif +0 -0
  12. package/assets/default.css +0 -1
  13. package/assets/fonts/slick.eot +0 -0
  14. package/assets/fonts/slick.svg +0 -14
  15. package/assets/fonts/slick.ttf +0 -0
  16. package/assets/fonts/slick.woff +0 -0
  17. package/codegen.yml +0 -19
  18. package/esbuild/build.js +0 -39
  19. package/esbuild/common.js +0 -15
  20. package/esbuild/start.js +0 -21
  21. package/esbuild/www/index.html +0 -32
  22. package/example/src/@types/global.d.ts +0 -7
  23. package/example/src/@types/react-panellum.d.ts +0 -1
  24. package/example/src/App.tsx +0 -77
  25. package/example/src/assets/style/ecom.css +0 -63
  26. package/example/src/assets/style/theme.css +0 -83
  27. package/example/src/index.html +0 -26
  28. package/example/src/index.tsx +0 -11
  29. package/example/src/routes/HashRoute/index.tsx +0 -30
  30. package/example/src/routes/Home/index.tsx +0 -33
  31. package/example/src/routes/NotFound/index.tsx +0 -5
  32. package/example/src/routes/PathRoute/index.tsx +0 -35
  33. package/example/src/routes/Search/index.tsx +0 -28
  34. package/example/src/routes/SearchItem/index.tsx +0 -28
  35. package/example/src/routes/index.tsx +0 -25
  36. package/src/@types/action.ts +0 -3
  37. package/src/@types/codegen/types.ts +0 -366
  38. package/src/@types/filter.ts +0 -18
  39. package/src/@types/queryFilter.ts +0 -5
  40. package/src/@types/react-panellum.d.ts +0 -1
  41. package/src/@types/search.ts +0 -118
  42. package/src/@types/theme.d.ts +0 -5
  43. package/src/@types/vehicle-properties.ts +0 -33
  44. package/src/State/CentralStorage/CentralStorageContext.ts +0 -10
  45. package/src/State/CentralStorage/CentralStorageProvider.tsx +0 -21
  46. package/src/State/CentralStorage/useCentralStorage.ts +0 -37
  47. package/src/State/Path/PathContext.ts +0 -11
  48. package/src/State/Path/PathProvider.tsx +0 -66
  49. package/src/State/Path/reducer.ts +0 -30
  50. package/src/State/Path/usePath.ts +0 -13
  51. package/src/State/RelatedSearch/RelatedSearchContext.ts +0 -18
  52. package/src/State/RelatedSearch/RelatedSearchProvider.tsx +0 -55
  53. package/src/State/RelatedSearch/useRelatedSearch.ts +0 -20
  54. package/src/State/Search/SearchContext.ts +0 -27
  55. package/src/State/Search/SearchProvider.tsx +0 -243
  56. package/src/State/Search/useSearch.ts +0 -6
  57. package/src/State/Settings/SettingsContext.ts +0 -15
  58. package/src/State/Settings/SettingsProvider.tsx +0 -23
  59. package/src/State/Settings/useSettings.ts +0 -7
  60. package/src/components/Accordion/index.tsx +0 -57
  61. package/src/components/Accordion/wrapper.tsx +0 -107
  62. package/src/components/ActionList/index.tsx +0 -48
  63. package/src/components/ActionList/toggle-item.tsx +0 -59
  64. package/src/components/Avatar/index.tsx +0 -12
  65. package/src/components/Avatar/wrapper.tsx +0 -21
  66. package/src/components/Badge/index.tsx +0 -12
  67. package/src/components/Badge/wrapper.tsx +0 -32
  68. package/src/components/Blockquote/index.tsx +0 -32
  69. package/src/components/Blockquote/wrapper.tsx +0 -52
  70. package/src/components/Button/index.tsx +0 -226
  71. package/src/components/CheckMarkList/index.tsx +0 -21
  72. package/src/components/CheckMarkList/wrapper.tsx +0 -31
  73. package/src/components/Checklist/index.tsx +0 -51
  74. package/src/components/Checklist/wrapper.tsx +0 -65
  75. package/src/components/ColorSelect/index.tsx +0 -63
  76. package/src/components/ColorSelect/wrapper.tsx +0 -82
  77. package/src/components/ColumnRow/index.tsx +0 -20
  78. package/src/components/Container/index.tsx +0 -11
  79. package/src/components/Container/wrapper.tsx +0 -14
  80. package/src/components/Content/index.tsx +0 -15
  81. package/src/components/Content/wrapper.tsx +0 -61
  82. package/src/components/ContentLogo/index.tsx +0 -27
  83. package/src/components/DataList/index.tsx +0 -25
  84. package/src/components/DataList/wrapper.tsx +0 -29
  85. package/src/components/DetailBox/index.tsx +0 -34
  86. package/src/components/DetailBox/wrapper.tsx +0 -34
  87. package/src/components/ExtendContent/index.tsx +0 -43
  88. package/src/components/ExtendContent/wrapper.tsx +0 -41
  89. package/src/components/ExtendInfo/index.tsx +0 -32
  90. package/src/components/ExtendInfo/wrapper.tsx +0 -63
  91. package/src/components/Filter/index.tsx +0 -108
  92. package/src/components/Filter/wrapper.tsx +0 -79
  93. package/src/components/FilterPanel/checkListFacet.tsx +0 -46
  94. package/src/components/FilterPanel/colorFacet.tsx +0 -47
  95. package/src/components/FilterPanel/faceSelector.tsx +0 -53
  96. package/src/components/FilterPanel/index.tsx +0 -79
  97. package/src/components/FilterPanel/rangeFacet.tsx +0 -128
  98. package/src/components/FinancialOptions/LoanModal.tsx +0 -223
  99. package/src/components/FinancialOptions/index.tsx +0 -29
  100. package/src/components/FinancialOptions/leasing.tsx +0 -77
  101. package/src/components/FinancialOptions/loan.tsx +0 -87
  102. package/src/components/Gallery/MediaButton.tsx +0 -19
  103. package/src/components/Gallery/index.tsx +0 -227
  104. package/src/components/Gallery/wrapper.tsx +0 -323
  105. package/src/components/Grid/index.tsx +0 -87
  106. package/src/components/Grid/wrapper.tsx +0 -30
  107. package/src/components/Heading/index.tsx +0 -72
  108. package/src/components/Icon/index.tsx +0 -87
  109. package/src/components/InputCheckbox/index.tsx +0 -30
  110. package/src/components/InputCheckbox/wrapper.tsx +0 -87
  111. package/src/components/InputGroup/index.tsx +0 -24
  112. package/src/components/InputLabel/index.tsx +0 -14
  113. package/src/components/InputLabel/wrapper.tsx +0 -10
  114. package/src/components/InputSearch/index.tsx +0 -51
  115. package/src/components/InputSearch/wrapper.tsx +0 -97
  116. package/src/components/InputSelect/index.tsx +0 -35
  117. package/src/components/InputSelect/wrapper.tsx +0 -59
  118. package/src/components/InputText/index.tsx +0 -27
  119. package/src/components/InputText/wrapper.tsx +0 -57
  120. package/src/components/InsuranceOptions/Insurance.tsx +0 -60
  121. package/src/components/InsuranceOptions/InsuranceFree.tsx +0 -59
  122. package/src/components/InsuranceOptions/InsuranceFreeModal.tsx +0 -49
  123. package/src/components/InsuranceOptions/InsuranceModal.tsx +0 -253
  124. package/src/components/InsuranceOptions/index.tsx +0 -27
  125. package/src/components/Lightbox/index.tsx +0 -51
  126. package/src/components/Lightbox/wrapper.tsx +0 -97
  127. package/src/components/Loader/index.tsx +0 -18
  128. package/src/components/Loader/wrapper.tsx +0 -50
  129. package/src/components/LogoBox/index.tsx +0 -22
  130. package/src/components/LogoBox/wrapper.tsx +0 -19
  131. package/src/components/Map/index.tsx +0 -62
  132. package/src/components/Map/wrapper.tsx +0 -29
  133. package/src/components/Modal/index.tsx +0 -51
  134. package/src/components/Modal/wrapper.tsx +0 -127
  135. package/src/components/OpeningHours/index.tsx +0 -145
  136. package/src/components/OptionBox/index.tsx +0 -23
  137. package/src/components/OptionBox/wrapper.tsx +0 -56
  138. package/src/components/OverflowBox/index.tsx +0 -11
  139. package/src/components/OverflowBox/wrapper.tsx +0 -7
  140. package/src/components/OverflowGrid/index.tsx +0 -70
  141. package/src/components/Page/index.tsx +0 -46
  142. package/src/components/Panel/index.tsx +0 -50
  143. package/src/components/Panel/wrapper.tsx +0 -155
  144. package/src/components/Pdf/index.tsx +0 -46
  145. package/src/components/Pdf/wrapper.tsx +0 -61
  146. package/src/components/PhoneNumber/index.tsx +0 -33
  147. package/src/components/Portal/index.ts +0 -5
  148. package/src/components/Portal/portal-element.tsx +0 -9
  149. package/src/components/Portal/portal-namespace.ts +0 -1
  150. package/src/components/Portal/portal.tsx +0 -36
  151. package/src/components/Price/index.tsx +0 -12
  152. package/src/components/PriceTable/index.tsx +0 -34
  153. package/src/components/PriceTable/wrapper.tsx +0 -27
  154. package/src/components/ProductCard/index.tsx +0 -133
  155. package/src/components/ProductCard/wrapper.tsx +0 -147
  156. package/src/components/ProductPage/index.tsx +0 -99
  157. package/src/components/ProgressBar/index.tsx +0 -31
  158. package/src/components/ProgressBar/wrapper.tsx +0 -29
  159. package/src/components/RangeSlider/RangeSliderSimple.tsx +0 -90
  160. package/src/components/RangeSlider/SliderWithLabel.tsx +0 -62
  161. package/src/components/RangeSlider/handle.tsx +0 -26
  162. package/src/components/RangeSlider/index.tsx +0 -132
  163. package/src/components/RangeSlider/track.tsx +0 -19
  164. package/src/components/RangeSlider/wrapper.tsx +0 -93
  165. package/src/components/RangeSliderLabel/index.tsx +0 -18
  166. package/src/components/RangeSliderLabel/wrapper.tsx +0 -33
  167. package/src/components/Repeat/index.tsx +0 -21
  168. package/src/components/Result/index.tsx +0 -91
  169. package/src/components/Result/wrapper.tsx +0 -39
  170. package/src/components/Root/index.tsx +0 -24
  171. package/src/components/SearchBar/index.tsx +0 -48
  172. package/src/components/SearchFilter/index.tsx +0 -31
  173. package/src/components/SearchTerm/index.tsx +0 -23
  174. package/src/components/SearchTerm/wrapper.tsx +0 -71
  175. package/src/components/SectionHeader/index.tsx +0 -25
  176. package/src/components/SectionHeader/wrapper.tsx +0 -17
  177. package/src/components/Snackbar/index.tsx +0 -35
  178. package/src/components/Snackbar/wrapper.tsx +0 -65
  179. package/src/components/SortSelect/index.tsx +0 -35
  180. package/src/components/SortSelect/wrapper.tsx +0 -54
  181. package/src/components/Sphere/Sphere.tsx +0 -49
  182. package/src/components/Sphere/SphereLightbox.tsx +0 -10
  183. package/src/components/Sphere/SphereViewer.tsx +0 -81
  184. package/src/components/Sphere/wrapper.tsx +0 -253
  185. package/src/components/SrOnly/index.tsx +0 -14
  186. package/src/components/SwitchBar/index.tsx +0 -55
  187. package/src/components/SwitchBar/wrapper.tsx +0 -80
  188. package/src/components/TableColumn/index.tsx +0 -18
  189. package/src/components/TableList/index.tsx +0 -39
  190. package/src/components/Tabs/index.tsx +0 -34
  191. package/src/components/Tabs/wrapper.tsx +0 -82
  192. package/src/components/ThreeSixty/Rotation.tsx +0 -136
  193. package/src/components/ThreeSixty/ThreeSixtLightbox.tsx +0 -34
  194. package/src/components/ThreeSixty/ThreeSixty.tsx +0 -53
  195. package/src/components/UspList/index.tsx +0 -47
  196. package/src/components/UspList/wrapper.tsx +0 -92
  197. package/src/components/Utility/index.tsx +0 -17
  198. package/src/components/Video/CustomPlayer.tsx +0 -28
  199. package/src/components/Video/EmbeddedVideoLightbox.tsx +0 -31
  200. package/src/components/Video/EmbededVideo.tsx +0 -72
  201. package/src/components/Video/QuickNavEmbeded.tsx +0 -35
  202. package/src/components/Video/QuickNavVideo.tsx +0 -14
  203. package/src/components/Video/Video.tsx +0 -18
  204. package/src/components/Video/VimeoPlayer.tsx +0 -21
  205. package/src/components/Video/YoutubePlayer.tsx +0 -21
  206. package/src/components/Video/useThumbnail.ts +0 -28
  207. package/src/components/Video/utils.ts +0 -47
  208. package/src/components/Video/wrapper.tsx +0 -29
  209. package/src/hooks/useFetch.ts +0 -88
  210. package/src/hooks/useHasBeenVisible.ts +0 -17
  211. package/src/hooks/useHashGuid.ts +0 -33
  212. package/src/hooks/useInsurance.ts +0 -22
  213. package/src/hooks/useLoan.ts +0 -21
  214. package/src/hooks/useOnScreen.ts +0 -20
  215. package/src/hooks/useOutsideClick.ts +0 -19
  216. package/src/hooks/usePrevious.ts +0 -11
  217. package/src/hooks/useSearchItem.ts +0 -11
  218. package/src/hooks/useSearchItemBranch.ts +0 -14
  219. package/src/hooks/useSessionStorage.ts +0 -32
  220. package/src/hooks/useVimeoThumbnail.ts +0 -31
  221. package/src/images/map/marker.png +0 -0
  222. package/src/images/placeholders/staticmap.jpg +0 -0
  223. package/src/index-dev.tsx +0 -42
  224. package/src/index-esbuild.ts +0 -74
  225. package/src/index.ts +0 -72
  226. package/src/layout/helpers.tsx +0 -6
  227. package/src/layout/keyframes.tsx +0 -23
  228. package/src/layout/theme.ts +0 -60
  229. package/src/layouts/WaykeComposite.tsx +0 -64
  230. package/src/layouts/WaykeCompositeWithProvider.tsx +0 -17
  231. package/src/layouts/search/index.tsx +0 -124
  232. package/src/layouts/searchItem/Branch.tsx +0 -97
  233. package/src/layouts/searchItem/BranchModal.tsx +0 -67
  234. package/src/layouts/searchItem/CheckList.tsx +0 -146
  235. package/src/layouts/searchItem/ManufacturerPackagesOption.tsx +0 -54
  236. package/src/layouts/searchItem/MetadataItem.tsx +0 -74
  237. package/src/layouts/searchItem/PackageOptionModal.tsx +0 -54
  238. package/src/layouts/searchItem/PackageOptions.tsx +0 -58
  239. package/src/layouts/searchItem/Page404.tsx +0 -17
  240. package/src/layouts/searchItem/PageLoading.tsx +0 -17
  241. package/src/layouts/searchItem/Property.tsx +0 -134
  242. package/src/layouts/searchItem/Related.tsx +0 -120
  243. package/src/layouts/searchItem/index.tsx +0 -342
  244. package/src/providers/WaykeItemProvidet.tsx +0 -63
  245. package/src/providers/WaykeProvider.tsx +0 -75
  246. package/src/providers/graphqlProvider.tsx +0 -9
  247. package/src/providers/themeProvider.tsx +0 -15
  248. package/src/queries/INSURANCE_CALCULATION.ts +0 -43
  249. package/src/queries/LOAN_CALCULATION.ts +0 -39
  250. package/src/queries/SEARCH_ITEM_BRANCH_QUERY.ts +0 -120
  251. package/src/queries/SEARCH_ITEM_QUERY.ts +0 -237
  252. package/src/utils/constants.ts +0 -34
  253. package/src/utils/converters.ts +0 -45
  254. package/src/utils/deep-copy.ts +0 -6
  255. package/src/utils/formats.ts +0 -83
  256. package/src/utils/metadata.min.ts +0 -87
  257. package/src/utils/phonenumbers.ts +0 -17
  258. package/src/utils/pubsub/Actions.ts +0 -20
  259. package/src/utils/pubsub/Events.ts +0 -79
  260. package/src/utils/pubsub/pubsub.ts +0 -151
  261. package/src/utils/regex.ts +0 -13
  262. package/src/utils/sortOptions.ts +0 -36
  263. package/src/utils/specification.ts +0 -581
  264. package/src/utils/ssn.ts +0 -1
  265. package/src/utils/url.ts +0 -1
  266. package/src/utils/vehicle-properties/compare-basic-properties.ts +0 -63
  267. package/src/utils/vehicle-properties/compare-categories.ts +0 -45
  268. package/src/utils/vehicle-properties/compare-properties.ts +0 -5
  269. package/src/utils/vehicle-properties/custom-property-adder.ts +0 -163
  270. package/src/utils/vehicle-properties/property-hint-enricher.ts +0 -230
  271. package/src/utils/vehicle-properties/property-remover.ts +0 -28
  272. package/src/utils/vehicle-properties/property-tree-creator.ts +0 -171
  273. package/src/utils/vehicle-properties/property-tree-sorter.ts +0 -20
  274. package/tsconfig.build.json +0 -10
  275. package/tsconfig.eslint.json +0 -11
  276. package/tsconfig.json +0 -18
  277. package/webpack.analyze.js +0 -10
  278. package/webpack.config.js +0 -95
@@ -1,31 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- import { size } from '../../layout/helpers';
4
-
5
- export const List = styled.ul`
6
- list-style: none;
7
- padding: 0;
8
- margin: 0;
9
- `;
10
-
11
- export const Item = styled.li`
12
- position: relative;
13
- font-size: 0.875rem;
14
-
15
- & + & {
16
- margin-top: ${size(0.5)};
17
- }
18
- `;
19
-
20
- export const Icon = styled.div.attrs(() => ({
21
- className: 'wayke__theme wayke__color--primary-text',
22
- }))`
23
- position: absolute;
24
- left: 0;
25
- top: 4px; // Magic number
26
- font-size: 0.875em;
27
- `;
28
-
29
- export const Label = styled.div`
30
- padding-left: calc(1em + ${size(1)});
31
- `;
@@ -1,51 +0,0 @@
1
- import React from 'react';
2
-
3
- import { List, Item, Action, ActionIcon, ActionLabel } from './wrapper';
4
- import { IconCheck, IconRadio } from '../Icon/index';
5
-
6
- export interface IChecklistItem {
7
- label: string;
8
- onClick: () => void;
9
- active?: boolean;
10
- radio?: boolean;
11
- }
12
-
13
- export interface IChecklist {
14
- items: IChecklistItem[];
15
- radio?: boolean;
16
- }
17
-
18
- const ChecklistItem = ({ label, onClick, active, radio }: IChecklistItem) => (
19
- <Item>
20
- <Action onClick={onClick}>
21
- {active && <ActionIcon>{radio ? <IconRadio block /> : <IconCheck block />}</ActionIcon>}
22
- <ActionLabel
23
- className={active ? 'wayke__theme wayke__font--bold wayke__color--primary-text' : ''}
24
- >
25
- {label}
26
- </ActionLabel>
27
- </Action>
28
- </Item>
29
- );
30
-
31
- const Checklist = ({ items, radio }: IChecklist) => {
32
- if (!items?.length) {
33
- return null;
34
- }
35
-
36
- return (
37
- <List>
38
- {items.map((item) => (
39
- <ChecklistItem
40
- key={item.label}
41
- label={item.label}
42
- onClick={item.onClick}
43
- active={item.active}
44
- radio={radio}
45
- />
46
- ))}
47
- </List>
48
- );
49
- };
50
-
51
- export default Checklist;
@@ -1,65 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- import { size } from '../../layout/helpers';
4
- import { ButtonReset } from '../Button/index';
5
-
6
- export const List = styled.ul.attrs(() => ({
7
- className: 'wayke__theme wayke__font--regular',
8
- }))`
9
- list-style: none;
10
- padding: 0;
11
- margin: ${size(-1)} 0;
12
- font-size: 0.875rem;
13
- overflow: hidden;
14
- `;
15
-
16
- export const Item = styled.li`
17
- ${List} {
18
- padding-left: ${size(5)};
19
- margin: 0;
20
- }
21
- `;
22
-
23
- export const Action = styled(ButtonReset)`
24
- position: relative;
25
- display: block;
26
- width: 100%;
27
- text-align: left;
28
- font: inherit;
29
- padding: ${size(1)} 0;
30
-
31
- :before {
32
- content: '';
33
- position: absolute;
34
- left: 0;
35
- width: ${size(2)};
36
- height: ${size(2)};
37
- border-radius: 3px;
38
- background-color: ${(props) => props.theme.color.accentDark};
39
- margin-top: 2px; // Magic number
40
- }
41
- `;
42
-
43
- export const ActionIcon = styled.div.attrs(() => ({
44
- className: 'wayke__theme wayke__color--primary-text',
45
- }))`
46
- position: absolute;
47
- top: ${size(1)};
48
- left: 0;
49
- display: flex;
50
- align-items: center;
51
- justify-content: center;
52
- width: ${size(2)};
53
- height: ${size(2)};
54
- margin-top: 2px; // Magic number
55
- font-size: ${size(1.5)};
56
- `;
57
-
58
- export const ActionLabel = styled.div`
59
- padding-left: ${size(3)};
60
- transition: transform 150ms ease;
61
-
62
- ${Action}:hover & {
63
- transform: translateX(${size(0.5)});
64
- }
65
- `;
@@ -1,63 +0,0 @@
1
- import React from 'react';
2
-
3
- import { List, Item, Action, Color, Label } from './wrapper';
4
-
5
- export interface ItemProps {
6
- label: string;
7
- hex: string[];
8
- onClick?: () => void;
9
- active?: boolean;
10
- disabled?: boolean;
11
- boxShadow?: boolean;
12
- }
13
-
14
- export interface Props {
15
- items?: ItemProps[];
16
- }
17
-
18
- const ColorSelectItem = ({ label, hex, onClick, active, disabled, boxShadow }: ItemProps) => {
19
- return (
20
- <Item>
21
- <Action onClick={onClick} disabled={disabled} title={label} aria-label={label}>
22
- <Color
23
- style={{
24
- backgroundColor: hex.length === 1 ? hex[0] : '',
25
- backgroundImage: hex.length > 1 ? `linear-gradient(${hex.join()})` : '',
26
- }}
27
- active={active}
28
- boxShadow={boxShadow}
29
- className={active ? 'wayke__theme wayke__color--primary-text' : ''}
30
- />
31
- <Label
32
- className={active ? 'wayke__theme wayke__color--primary-text wayke__font--bold' : ''}
33
- >
34
- {label}
35
- </Label>
36
- </Action>
37
- </Item>
38
- );
39
- };
40
-
41
- const ColorSelect = ({ items }: Props) => {
42
- if (!items) {
43
- return null;
44
- }
45
-
46
- return (
47
- <List>
48
- {items.map((item) => (
49
- <ColorSelectItem
50
- key={item.label}
51
- label={item.label}
52
- hex={item.hex}
53
- onClick={item.onClick}
54
- active={item.active}
55
- disabled={item.disabled}
56
- boxShadow={item.boxShadow}
57
- />
58
- ))}
59
- </List>
60
- );
61
- };
62
-
63
- export default ColorSelect;
@@ -1,82 +0,0 @@
1
- import styled, { css } from 'styled-components';
2
-
3
- import { size } from '../../layout/helpers';
4
- import { ButtonReset } from '../Button/index';
5
-
6
- export const List = styled.ul`
7
- display: flex;
8
- flex-wrap: wrap;
9
- list-style: none;
10
- padding: 0;
11
- margin: ${size(-1.5)};
12
- `;
13
-
14
- export const Item = styled.li`
15
- flex: 1 1 auto;
16
- width: 33.333%;
17
- max-width: 33.333%;
18
- padding: ${size(1.5)};
19
- `;
20
-
21
- export const Action = styled(ButtonReset)`
22
- display: flex;
23
- flex-direction: column;
24
- align-items: center;
25
- width: 100%;
26
- font: inherit;
27
-
28
- &[disabled] {
29
- opacity: 0.4;
30
- cursor: default;
31
- }
32
- `;
33
-
34
- type ColorProps = React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
35
- active?: boolean;
36
- boxShadow?: boolean;
37
- };
38
-
39
- export const Color = styled.div<ColorProps>`
40
- position: relative;
41
- width: ${size(3.75)};
42
- height: ${size(3.75)};
43
- border-radius: 50%;
44
- color: ${(props) => props.theme.color.border};
45
-
46
- :before {
47
- content: '';
48
- position: absolute;
49
- top: -5px;
50
- bottom: -5px;
51
- left: -5px;
52
- right: -5px;
53
- border: 2px solid;
54
- border-radius: 50%;
55
- display: none;
56
- }
57
-
58
- ${Action}:not([disabled]):hover & {
59
- :before {
60
- display: block;
61
- }
62
- }
63
-
64
- ${({ active }) =>
65
- active &&
66
- css`
67
- :before {
68
- display: block;
69
- }
70
- `}
71
-
72
- ${({ boxShadow }) =>
73
- boxShadow &&
74
- css`
75
- box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
76
- `}
77
- `;
78
-
79
- export const Label = styled.div`
80
- margin-top: ${size(1.25)};
81
- font-size: 0.875rem;
82
- `;
@@ -1,20 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- import { size } from '../../layout/helpers';
4
-
5
- export const ColumnRow = styled.div`
6
- display: flex;
7
- align-items: flex-start;
8
- `;
9
-
10
- export const ColumnRowItem = styled.div`
11
- flex: 1 1 auto;
12
-
13
- :last-child:not(:only-child) {
14
- flex: 0 0 auto;
15
- }
16
-
17
- & + & {
18
- padding-left: ${size(2)};
19
- }
20
- `;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
-
3
- import { Wrapper } from './wrapper';
4
-
5
- interface Props {
6
- children: React.ReactNode;
7
- }
8
-
9
- const Container = ({ children }: Props) => <Wrapper>{children}</Wrapper>;
10
-
11
- export default Container;
@@ -1,14 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- import { size } from '../../layout/helpers';
4
-
5
- export const Wrapper = styled.div`
6
- width: 100%;
7
- max-width: ${(props) => props.theme.distances.containerMaxWidth};
8
- margin: 0 auto;
9
- padding: 0 ${size(3)};
10
-
11
- ${(props) => props.theme.breakpoint.LtSm} {
12
- padding: 0 ${size(2)};
13
- }
14
- `;
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
-
3
- import { Wrapper } from './wrapper';
4
-
5
- type Props = React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
6
- small?: boolean;
7
- };
8
-
9
- const Content = ({ children, small, dangerouslySetInnerHTML }: Props) => (
10
- <Wrapper small={small} dangerouslySetInnerHTML={dangerouslySetInnerHTML}>
11
- {children}
12
- </Wrapper>
13
- );
14
-
15
- export default Content;
@@ -1,61 +0,0 @@
1
- import styled, { css } from 'styled-components';
2
-
3
- import { size } from '../../layout/helpers';
4
-
5
- type WrapperProps = React.DetailedHTMLProps<
6
- React.HTMLAttributes<HTMLDivElement>,
7
- HTMLDivElement
8
- > & {
9
- small?: boolean;
10
- };
11
-
12
- export const Wrapper = styled.div<WrapperProps>`
13
- font-size: 1rem;
14
- line-height: 1.5;
15
-
16
- h1,
17
- h2,
18
- h3,
19
- h4,
20
- h5,
21
- h6 {
22
- margin-top: ${size(4)};
23
- margin-bottom: ${size(1)};
24
-
25
- :first-child {
26
- margin-top: 0;
27
- }
28
-
29
- :last-child {
30
- margin-bottom: 0;
31
- }
32
-
33
- & + p,
34
- & + table {
35
- margin-top: ${size(1)};
36
- }
37
- }
38
-
39
- p {
40
- margin: ${size(2)} 0;
41
-
42
- :first-child {
43
- margin-top: 0;
44
- }
45
-
46
- :last-child {
47
- margin-bottom: 0;
48
- }
49
- }
50
-
51
- img {
52
- display: block;
53
- width: 100%;
54
- }
55
-
56
- ${({ small }) =>
57
- small &&
58
- css`
59
- font-size: 0.875rem;
60
- `}
61
- `;
@@ -1,27 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- import { size } from '../../layout/helpers';
4
-
5
- export const ContentLogo = styled.div`
6
- ${(props) => props.theme.breakpoint.Sm} {
7
- display: flex;
8
- align-items: flex-start;
9
- }
10
- `;
11
-
12
- export const ContentLogoText = styled.div`
13
- ${(props) => props.theme.breakpoint.Sm} {
14
- flex: 1 1 auto;
15
- }
16
- `;
17
-
18
- export const ContentLogoMedia = styled.div`
19
- ${(props) => props.theme.breakpoint.LtSm} {
20
- margin-top: ${size(2)};
21
- }
22
-
23
- ${(props) => props.theme.breakpoint.Sm} {
24
- flex-shrink: 0;
25
- padding-left: ${size(4)};
26
- }
27
- `;
@@ -1,25 +0,0 @@
1
- import React from 'react';
2
-
3
- import { List, Item, Label, Value } from './wrapper';
4
-
5
- interface ItemProps {
6
- label: string;
7
- value: string;
8
- }
9
-
10
- interface Props {
11
- items: ItemProps[];
12
- }
13
-
14
- const DataList = ({ items }: Props) => (
15
- <List>
16
- {items.map((item) => (
17
- <Item key={item.label}>
18
- <Label>{item.label}</Label>
19
- <Value>{item.value}</Value>
20
- </Item>
21
- ))}
22
- </List>
23
- );
24
-
25
- export default DataList;
@@ -1,29 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- import { size } from '../../layout/helpers';
4
-
5
- export const List = styled.ul`
6
- list-style: none;
7
- padding: 0;
8
- margin: 0;
9
- `;
10
-
11
- export const Item = styled.li`
12
- display: flex;
13
- align-items: flex-start;
14
-
15
- & + & {
16
- margin-top: ${size(1)};
17
- }
18
- `;
19
-
20
- export const Label = styled.div`
21
- flex: 1 1 auto;
22
- `;
23
-
24
- export const Value = styled.div.attrs(() => ({
25
- className: 'wayke__theme wayke__font--bold',
26
- }))`
27
- flex-shrink: 0;
28
- padding-left: ${size(2)};
29
- `;
@@ -1,34 +0,0 @@
1
- import React from 'react';
2
-
3
- import { Wrapper, Main, Heading, Description, Footer, Foldout } from './wrapper';
4
- import { ButtonClear, ButtonContent } from '../Button/index';
5
-
6
- interface Props {
7
- heading: string;
8
- description?: string;
9
- children: React.ReactNode;
10
- }
11
-
12
- const DetailBox = ({ heading, description, children }: Props) => {
13
- const [extend, setExtend] = React.useState(false);
14
- const onToggleExtend = React.useCallback(() => setExtend(!extend), [extend]);
15
-
16
- const extendBtnText = extend ? 'Mindre information' : 'Mer information';
17
-
18
- return (
19
- <Wrapper>
20
- <Main>
21
- <Heading>{heading}</Heading>
22
- {description && <Description>{description}</Description>}
23
- <Footer>
24
- <ButtonClear onClick={onToggleExtend}>
25
- <ButtonContent>{extendBtnText}</ButtonContent>
26
- </ButtonClear>
27
- </Footer>
28
- </Main>
29
- {extend && <Foldout>{children}</Foldout>}
30
- </Wrapper>
31
- );
32
- };
33
-
34
- export default DetailBox;
@@ -1,34 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- import { size } from '../../layout/helpers';
4
- import { H2 } from '../Heading/index';
5
-
6
- export const Wrapper = styled.article`
7
- box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.1);
8
- border-radius: 3px;
9
- overflow: hidden;
10
- `;
11
-
12
- export const Main = styled.div`
13
- padding: ${size(2.5)};
14
- `;
15
-
16
- export const Heading = styled(H2).attrs(() => ({
17
- as: 'h1',
18
- }))`
19
- margin-bottom: 0;
20
- `;
21
-
22
- export const Description = styled.div`
23
- margin-top: ${size(1)};
24
- `;
25
-
26
- export const Footer = styled.div`
27
- margin-top: ${size(1)};
28
- color: red;
29
- `;
30
-
31
- export const Foldout = styled.div`
32
- background-color: ${(props) => props.theme.color.accent};
33
- padding: ${size(2.5)};
34
- `;
@@ -1,43 +0,0 @@
1
- import React, { useState, useCallback } from 'react';
2
-
3
- import { Wrapper, Extend, Action } from './wrapper';
4
- import { ButtonClear, ButtonContent } from '../Button/index';
5
-
6
- interface Props {
7
- children: React.ReactNode;
8
- actionTitle: string;
9
- onClick?: () => void;
10
- }
11
-
12
- const ExtendContent = ({ children, actionTitle, onClick }: Props) => {
13
- const [extend, setExtend] = useState(false);
14
- const onExtend = useCallback(() => {
15
- setExtend(true);
16
- if (onClick) {
17
- onClick();
18
- }
19
- }, []);
20
-
21
- const onRef = (ref: HTMLDivElement | null) => {
22
- const refHeight = ref?.clientHeight || 0;
23
-
24
- if (refHeight < 207) {
25
- setExtend(true);
26
- }
27
- };
28
-
29
- return (
30
- <Wrapper ref={onRef}>
31
- <Extend extended={extend}>{children}</Extend>
32
- {!extend && (
33
- <Action>
34
- <ButtonClear onClick={onExtend} title={actionTitle}>
35
- <ButtonContent>{actionTitle}</ButtonContent>
36
- </ButtonClear>
37
- </Action>
38
- )}
39
- </Wrapper>
40
- );
41
- };
42
-
43
- export default ExtendContent;
@@ -1,41 +0,0 @@
1
- import styled, { css } from 'styled-components';
2
-
3
- import { size } from '../../layout/helpers';
4
-
5
- export const Wrapper = styled.div``;
6
-
7
- type ExtendProps = React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
8
- extended?: boolean;
9
- };
10
-
11
- export const Extend = styled.div<ExtendProps>`
12
- position: relative;
13
- max-height: 175px;
14
- overflow: hidden;
15
-
16
- :after {
17
- content: '';
18
- position: absolute;
19
- bottom: 0;
20
- left: 0;
21
- right: 0;
22
- height: ${size(6)};
23
- background-image: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
24
- }
25
-
26
- ${({ extended }) =>
27
- extended &&
28
- css`
29
- max-height: none;
30
-
31
- :after {
32
- content: none;
33
- }
34
- `}
35
- `;
36
-
37
- export const Action = styled.div`
38
- display: flex;
39
- justify-content: flex-end;
40
- margin-top: ${size(2)};
41
- `;
@@ -1,32 +0,0 @@
1
- import React, { useState, useCallback } from 'react';
2
-
3
- import { Wrapper, Header, Title, Info, InfoBtn, Extend } from './wrapper';
4
- import { IconInfo } from '../Icon/index';
5
-
6
- interface Props {
7
- title: string;
8
- children?: React.ReactNode;
9
- }
10
-
11
- const ExtendInfo = ({ title, children }: Props) => {
12
- const [extend, setExtend] = useState(false);
13
- const onToggleExtend = useCallback(() => setExtend(!extend), [extend]);
14
-
15
- return (
16
- <Wrapper>
17
- <Header>
18
- <Title>{title}</Title>
19
- {children && (
20
- <Info>
21
- <InfoBtn onClick={onToggleExtend} title="Mer information">
22
- <IconInfo block />
23
- </InfoBtn>
24
- </Info>
25
- )}
26
- </Header>
27
- {extend && <Extend>{children}</Extend>}
28
- </Wrapper>
29
- );
30
- };
31
-
32
- export default ExtendInfo;