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

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 (274) hide show
  1. package/package.json +4 -2
  2. package/.editorconfig +0 -10
  3. package/.eslintrc.js +0 -62
  4. package/.github/workflows/release-to-production.yaml +0 -40
  5. package/.github/workflows/release-to-test.yaml +0 -40
  6. package/.prettierrc +0 -12
  7. package/assets/ajax-loader.gif +0 -0
  8. package/assets/default.css +0 -1
  9. package/assets/fonts/slick.eot +0 -0
  10. package/assets/fonts/slick.svg +0 -14
  11. package/assets/fonts/slick.ttf +0 -0
  12. package/assets/fonts/slick.woff +0 -0
  13. package/codegen.yml +0 -19
  14. package/esbuild/build.js +0 -39
  15. package/esbuild/common.js +0 -15
  16. package/esbuild/start.js +0 -21
  17. package/esbuild/www/index.html +0 -32
  18. package/example/src/@types/global.d.ts +0 -7
  19. package/example/src/@types/react-panellum.d.ts +0 -1
  20. package/example/src/App.tsx +0 -77
  21. package/example/src/assets/style/ecom.css +0 -63
  22. package/example/src/assets/style/theme.css +0 -83
  23. package/example/src/index.html +0 -26
  24. package/example/src/index.tsx +0 -11
  25. package/example/src/routes/HashRoute/index.tsx +0 -30
  26. package/example/src/routes/Home/index.tsx +0 -33
  27. package/example/src/routes/NotFound/index.tsx +0 -5
  28. package/example/src/routes/PathRoute/index.tsx +0 -35
  29. package/example/src/routes/Search/index.tsx +0 -28
  30. package/example/src/routes/SearchItem/index.tsx +0 -28
  31. package/example/src/routes/index.tsx +0 -25
  32. package/src/@types/action.ts +0 -3
  33. package/src/@types/codegen/types.ts +0 -366
  34. package/src/@types/filter.ts +0 -18
  35. package/src/@types/queryFilter.ts +0 -5
  36. package/src/@types/react-panellum.d.ts +0 -1
  37. package/src/@types/search.ts +0 -118
  38. package/src/@types/theme.d.ts +0 -5
  39. package/src/@types/vehicle-properties.ts +0 -33
  40. package/src/State/CentralStorage/CentralStorageContext.ts +0 -10
  41. package/src/State/CentralStorage/CentralStorageProvider.tsx +0 -21
  42. package/src/State/CentralStorage/useCentralStorage.ts +0 -37
  43. package/src/State/Path/PathContext.ts +0 -11
  44. package/src/State/Path/PathProvider.tsx +0 -66
  45. package/src/State/Path/reducer.ts +0 -30
  46. package/src/State/Path/usePath.ts +0 -13
  47. package/src/State/RelatedSearch/RelatedSearchContext.ts +0 -18
  48. package/src/State/RelatedSearch/RelatedSearchProvider.tsx +0 -55
  49. package/src/State/RelatedSearch/useRelatedSearch.ts +0 -20
  50. package/src/State/Search/SearchContext.ts +0 -27
  51. package/src/State/Search/SearchProvider.tsx +0 -243
  52. package/src/State/Search/useSearch.ts +0 -6
  53. package/src/State/Settings/SettingsContext.ts +0 -15
  54. package/src/State/Settings/SettingsProvider.tsx +0 -23
  55. package/src/State/Settings/useSettings.ts +0 -7
  56. package/src/components/Accordion/index.tsx +0 -57
  57. package/src/components/Accordion/wrapper.tsx +0 -107
  58. package/src/components/ActionList/index.tsx +0 -48
  59. package/src/components/ActionList/toggle-item.tsx +0 -59
  60. package/src/components/Avatar/index.tsx +0 -12
  61. package/src/components/Avatar/wrapper.tsx +0 -21
  62. package/src/components/Badge/index.tsx +0 -12
  63. package/src/components/Badge/wrapper.tsx +0 -32
  64. package/src/components/Blockquote/index.tsx +0 -32
  65. package/src/components/Blockquote/wrapper.tsx +0 -52
  66. package/src/components/Button/index.tsx +0 -226
  67. package/src/components/CheckMarkList/index.tsx +0 -21
  68. package/src/components/CheckMarkList/wrapper.tsx +0 -31
  69. package/src/components/Checklist/index.tsx +0 -51
  70. package/src/components/Checklist/wrapper.tsx +0 -65
  71. package/src/components/ColorSelect/index.tsx +0 -63
  72. package/src/components/ColorSelect/wrapper.tsx +0 -82
  73. package/src/components/ColumnRow/index.tsx +0 -20
  74. package/src/components/Container/index.tsx +0 -11
  75. package/src/components/Container/wrapper.tsx +0 -14
  76. package/src/components/Content/index.tsx +0 -15
  77. package/src/components/Content/wrapper.tsx +0 -61
  78. package/src/components/ContentLogo/index.tsx +0 -27
  79. package/src/components/DataList/index.tsx +0 -25
  80. package/src/components/DataList/wrapper.tsx +0 -29
  81. package/src/components/DetailBox/index.tsx +0 -34
  82. package/src/components/DetailBox/wrapper.tsx +0 -34
  83. package/src/components/ExtendContent/index.tsx +0 -43
  84. package/src/components/ExtendContent/wrapper.tsx +0 -41
  85. package/src/components/ExtendInfo/index.tsx +0 -32
  86. package/src/components/ExtendInfo/wrapper.tsx +0 -63
  87. package/src/components/Filter/index.tsx +0 -108
  88. package/src/components/Filter/wrapper.tsx +0 -79
  89. package/src/components/FilterPanel/checkListFacet.tsx +0 -46
  90. package/src/components/FilterPanel/colorFacet.tsx +0 -47
  91. package/src/components/FilterPanel/faceSelector.tsx +0 -53
  92. package/src/components/FilterPanel/index.tsx +0 -79
  93. package/src/components/FilterPanel/rangeFacet.tsx +0 -128
  94. package/src/components/FinancialOptions/LoanModal.tsx +0 -223
  95. package/src/components/FinancialOptions/index.tsx +0 -29
  96. package/src/components/FinancialOptions/leasing.tsx +0 -77
  97. package/src/components/FinancialOptions/loan.tsx +0 -87
  98. package/src/components/Gallery/MediaButton.tsx +0 -19
  99. package/src/components/Gallery/index.tsx +0 -227
  100. package/src/components/Gallery/wrapper.tsx +0 -323
  101. package/src/components/Grid/index.tsx +0 -87
  102. package/src/components/Grid/wrapper.tsx +0 -30
  103. package/src/components/Heading/index.tsx +0 -72
  104. package/src/components/Icon/index.tsx +0 -87
  105. package/src/components/InputCheckbox/index.tsx +0 -30
  106. package/src/components/InputCheckbox/wrapper.tsx +0 -87
  107. package/src/components/InputGroup/index.tsx +0 -24
  108. package/src/components/InputLabel/index.tsx +0 -14
  109. package/src/components/InputLabel/wrapper.tsx +0 -10
  110. package/src/components/InputSearch/index.tsx +0 -51
  111. package/src/components/InputSearch/wrapper.tsx +0 -97
  112. package/src/components/InputSelect/index.tsx +0 -35
  113. package/src/components/InputSelect/wrapper.tsx +0 -59
  114. package/src/components/InputText/index.tsx +0 -27
  115. package/src/components/InputText/wrapper.tsx +0 -57
  116. package/src/components/InsuranceOptions/Insurance.tsx +0 -60
  117. package/src/components/InsuranceOptions/InsuranceFree.tsx +0 -59
  118. package/src/components/InsuranceOptions/InsuranceFreeModal.tsx +0 -49
  119. package/src/components/InsuranceOptions/InsuranceModal.tsx +0 -253
  120. package/src/components/InsuranceOptions/index.tsx +0 -27
  121. package/src/components/Lightbox/index.tsx +0 -51
  122. package/src/components/Lightbox/wrapper.tsx +0 -97
  123. package/src/components/Loader/index.tsx +0 -18
  124. package/src/components/Loader/wrapper.tsx +0 -50
  125. package/src/components/LogoBox/index.tsx +0 -22
  126. package/src/components/LogoBox/wrapper.tsx +0 -19
  127. package/src/components/Map/index.tsx +0 -62
  128. package/src/components/Map/wrapper.tsx +0 -29
  129. package/src/components/Modal/index.tsx +0 -51
  130. package/src/components/Modal/wrapper.tsx +0 -127
  131. package/src/components/OpeningHours/index.tsx +0 -145
  132. package/src/components/OptionBox/index.tsx +0 -23
  133. package/src/components/OptionBox/wrapper.tsx +0 -56
  134. package/src/components/OverflowBox/index.tsx +0 -11
  135. package/src/components/OverflowBox/wrapper.tsx +0 -7
  136. package/src/components/OverflowGrid/index.tsx +0 -70
  137. package/src/components/Page/index.tsx +0 -46
  138. package/src/components/Panel/index.tsx +0 -50
  139. package/src/components/Panel/wrapper.tsx +0 -155
  140. package/src/components/Pdf/index.tsx +0 -46
  141. package/src/components/Pdf/wrapper.tsx +0 -61
  142. package/src/components/PhoneNumber/index.tsx +0 -33
  143. package/src/components/Portal/index.ts +0 -5
  144. package/src/components/Portal/portal-element.tsx +0 -9
  145. package/src/components/Portal/portal-namespace.ts +0 -1
  146. package/src/components/Portal/portal.tsx +0 -36
  147. package/src/components/Price/index.tsx +0 -12
  148. package/src/components/PriceTable/index.tsx +0 -34
  149. package/src/components/PriceTable/wrapper.tsx +0 -27
  150. package/src/components/ProductCard/index.tsx +0 -133
  151. package/src/components/ProductCard/wrapper.tsx +0 -147
  152. package/src/components/ProductPage/index.tsx +0 -99
  153. package/src/components/ProgressBar/index.tsx +0 -31
  154. package/src/components/ProgressBar/wrapper.tsx +0 -29
  155. package/src/components/RangeSlider/RangeSliderSimple.tsx +0 -90
  156. package/src/components/RangeSlider/SliderWithLabel.tsx +0 -62
  157. package/src/components/RangeSlider/handle.tsx +0 -26
  158. package/src/components/RangeSlider/index.tsx +0 -132
  159. package/src/components/RangeSlider/track.tsx +0 -19
  160. package/src/components/RangeSlider/wrapper.tsx +0 -93
  161. package/src/components/RangeSliderLabel/index.tsx +0 -18
  162. package/src/components/RangeSliderLabel/wrapper.tsx +0 -33
  163. package/src/components/Repeat/index.tsx +0 -21
  164. package/src/components/Result/index.tsx +0 -91
  165. package/src/components/Result/wrapper.tsx +0 -39
  166. package/src/components/Root/index.tsx +0 -24
  167. package/src/components/SearchBar/index.tsx +0 -48
  168. package/src/components/SearchFilter/index.tsx +0 -31
  169. package/src/components/SearchTerm/index.tsx +0 -23
  170. package/src/components/SearchTerm/wrapper.tsx +0 -71
  171. package/src/components/SectionHeader/index.tsx +0 -25
  172. package/src/components/SectionHeader/wrapper.tsx +0 -17
  173. package/src/components/Snackbar/index.tsx +0 -35
  174. package/src/components/Snackbar/wrapper.tsx +0 -65
  175. package/src/components/SortSelect/index.tsx +0 -35
  176. package/src/components/SortSelect/wrapper.tsx +0 -54
  177. package/src/components/Sphere/Sphere.tsx +0 -49
  178. package/src/components/Sphere/SphereLightbox.tsx +0 -10
  179. package/src/components/Sphere/SphereViewer.tsx +0 -81
  180. package/src/components/Sphere/wrapper.tsx +0 -253
  181. package/src/components/SrOnly/index.tsx +0 -14
  182. package/src/components/SwitchBar/index.tsx +0 -55
  183. package/src/components/SwitchBar/wrapper.tsx +0 -80
  184. package/src/components/TableColumn/index.tsx +0 -18
  185. package/src/components/TableList/index.tsx +0 -39
  186. package/src/components/Tabs/index.tsx +0 -34
  187. package/src/components/Tabs/wrapper.tsx +0 -82
  188. package/src/components/ThreeSixty/Rotation.tsx +0 -136
  189. package/src/components/ThreeSixty/ThreeSixtLightbox.tsx +0 -34
  190. package/src/components/ThreeSixty/ThreeSixty.tsx +0 -53
  191. package/src/components/UspList/index.tsx +0 -47
  192. package/src/components/UspList/wrapper.tsx +0 -92
  193. package/src/components/Utility/index.tsx +0 -17
  194. package/src/components/Video/CustomPlayer.tsx +0 -28
  195. package/src/components/Video/EmbeddedVideoLightbox.tsx +0 -31
  196. package/src/components/Video/EmbededVideo.tsx +0 -72
  197. package/src/components/Video/QuickNavEmbeded.tsx +0 -35
  198. package/src/components/Video/QuickNavVideo.tsx +0 -14
  199. package/src/components/Video/Video.tsx +0 -18
  200. package/src/components/Video/VimeoPlayer.tsx +0 -21
  201. package/src/components/Video/YoutubePlayer.tsx +0 -21
  202. package/src/components/Video/useThumbnail.ts +0 -28
  203. package/src/components/Video/utils.ts +0 -47
  204. package/src/components/Video/wrapper.tsx +0 -29
  205. package/src/hooks/useFetch.ts +0 -88
  206. package/src/hooks/useHasBeenVisible.ts +0 -17
  207. package/src/hooks/useHashGuid.ts +0 -33
  208. package/src/hooks/useInsurance.ts +0 -22
  209. package/src/hooks/useLoan.ts +0 -21
  210. package/src/hooks/useOnScreen.ts +0 -20
  211. package/src/hooks/useOutsideClick.ts +0 -19
  212. package/src/hooks/usePrevious.ts +0 -11
  213. package/src/hooks/useSearchItem.ts +0 -11
  214. package/src/hooks/useSearchItemBranch.ts +0 -14
  215. package/src/hooks/useSessionStorage.ts +0 -32
  216. package/src/hooks/useVimeoThumbnail.ts +0 -31
  217. package/src/images/map/marker.png +0 -0
  218. package/src/images/placeholders/staticmap.jpg +0 -0
  219. package/src/index-dev.tsx +0 -42
  220. package/src/index-esbuild.ts +0 -74
  221. package/src/index.ts +0 -72
  222. package/src/layout/helpers.tsx +0 -6
  223. package/src/layout/keyframes.tsx +0 -23
  224. package/src/layout/theme.ts +0 -60
  225. package/src/layouts/WaykeComposite.tsx +0 -64
  226. package/src/layouts/WaykeCompositeWithProvider.tsx +0 -17
  227. package/src/layouts/search/index.tsx +0 -124
  228. package/src/layouts/searchItem/Branch.tsx +0 -97
  229. package/src/layouts/searchItem/BranchModal.tsx +0 -67
  230. package/src/layouts/searchItem/CheckList.tsx +0 -146
  231. package/src/layouts/searchItem/ManufacturerPackagesOption.tsx +0 -54
  232. package/src/layouts/searchItem/MetadataItem.tsx +0 -74
  233. package/src/layouts/searchItem/PackageOptionModal.tsx +0 -54
  234. package/src/layouts/searchItem/PackageOptions.tsx +0 -58
  235. package/src/layouts/searchItem/Page404.tsx +0 -17
  236. package/src/layouts/searchItem/PageLoading.tsx +0 -17
  237. package/src/layouts/searchItem/Property.tsx +0 -134
  238. package/src/layouts/searchItem/Related.tsx +0 -120
  239. package/src/layouts/searchItem/index.tsx +0 -342
  240. package/src/providers/WaykeItemProvidet.tsx +0 -63
  241. package/src/providers/WaykeProvider.tsx +0 -75
  242. package/src/providers/graphqlProvider.tsx +0 -9
  243. package/src/providers/themeProvider.tsx +0 -15
  244. package/src/queries/INSURANCE_CALCULATION.ts +0 -43
  245. package/src/queries/LOAN_CALCULATION.ts +0 -39
  246. package/src/queries/SEARCH_ITEM_BRANCH_QUERY.ts +0 -120
  247. package/src/queries/SEARCH_ITEM_QUERY.ts +0 -237
  248. package/src/utils/constants.ts +0 -34
  249. package/src/utils/converters.ts +0 -45
  250. package/src/utils/deep-copy.ts +0 -6
  251. package/src/utils/formats.ts +0 -83
  252. package/src/utils/metadata.min.ts +0 -87
  253. package/src/utils/phonenumbers.ts +0 -17
  254. package/src/utils/pubsub/Actions.ts +0 -20
  255. package/src/utils/pubsub/Events.ts +0 -79
  256. package/src/utils/pubsub/pubsub.ts +0 -151
  257. package/src/utils/regex.ts +0 -13
  258. package/src/utils/sortOptions.ts +0 -36
  259. package/src/utils/specification.ts +0 -581
  260. package/src/utils/ssn.ts +0 -1
  261. package/src/utils/url.ts +0 -1
  262. package/src/utils/vehicle-properties/compare-basic-properties.ts +0 -63
  263. package/src/utils/vehicle-properties/compare-categories.ts +0 -45
  264. package/src/utils/vehicle-properties/compare-properties.ts +0 -5
  265. package/src/utils/vehicle-properties/custom-property-adder.ts +0 -163
  266. package/src/utils/vehicle-properties/property-hint-enricher.ts +0 -230
  267. package/src/utils/vehicle-properties/property-remover.ts +0 -28
  268. package/src/utils/vehicle-properties/property-tree-creator.ts +0 -171
  269. package/src/utils/vehicle-properties/property-tree-sorter.ts +0 -20
  270. package/tsconfig.build.json +0 -10
  271. package/tsconfig.eslint.json +0 -11
  272. package/tsconfig.json +0 -18
  273. package/webpack.analyze.js +0 -10
  274. package/webpack.config.js +0 -95
@@ -1,17 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- import useOnScreen from './useOnScreen';
3
-
4
- const useHasBeenVisible = (ref: React.MutableRefObject<HTMLElement | null>) => {
5
- const isVisible = useOnScreen(ref);
6
- const [hasBeenVisible, setHasBeenVisible] = useState(false);
7
-
8
- useEffect(() => {
9
- if (isVisible && !hasBeenVisible) {
10
- setHasBeenVisible(true);
11
- }
12
- }, [isVisible]);
13
-
14
- return hasBeenVisible;
15
- };
16
-
17
- export default useHasBeenVisible;
@@ -1,33 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
-
3
- const regexGuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
4
- const HASH_CHANGE = 'hashchange';
5
-
6
- const getGuid = () => {
7
- const guid = window.location.hash.substr(1, window.location.hash.length);
8
- return regexGuid.test(guid) || !guid ? guid : undefined;
9
- };
10
-
11
- const useHashGuid = () => {
12
- const [id, setId] = useState<string | undefined>(() => getGuid());
13
- const onHashChange = () => {
14
- const guid = window.location.hash.substr(1, window.location.hash.length);
15
- if (regexGuid.test(guid) || !guid) {
16
- setId(window.location.hash.substr(1, window.location.hash.length));
17
- } else {
18
- throw 'Invalid Guid';
19
- }
20
- };
21
-
22
- useEffect(() => {
23
- onHashChange();
24
- window.addEventListener(HASH_CHANGE, onHashChange);
25
- return () => {
26
- window.removeEventListener(HASH_CHANGE, onHashChange);
27
- };
28
- }, []);
29
-
30
- return id;
31
- };
32
-
33
- export default useHashGuid;
@@ -1,22 +0,0 @@
1
- import { useQuery, QueryResult } from '@apollo/client';
2
- import INSURANCE_CALCULATION from '../queries/INSURANCE_CALCULATION';
3
-
4
- import { DrivingDistance, QueryInsurancesArgs, Query } from '../@types/codegen/types';
5
-
6
- const useInsuranceCalculation = (
7
- id: string,
8
- branchId?: string,
9
- personalNumber?: string,
10
- drivingDistance?: DrivingDistance
11
- ): QueryResult<Query, QueryInsurancesArgs> =>
12
- useQuery<Query, QueryInsurancesArgs>(INSURANCE_CALCULATION, {
13
- variables: {
14
- id,
15
- branch: branchId as string,
16
- personalNumber: personalNumber as string,
17
- drivingDistance: drivingDistance as DrivingDistance,
18
- },
19
- skip: personalNumber === undefined || drivingDistance === undefined || branchId === undefined,
20
- });
21
-
22
- export default useInsuranceCalculation;
@@ -1,21 +0,0 @@
1
- import { useQuery, QueryResult } from '@apollo/client';
2
- import LOAN_CALCULATION from '../queries/LOAN_CALCULATION';
3
- import { QueryLoanArgs, Query } from '../@types/codegen/types';
4
-
5
- const useLoanCalculation = (
6
- id: string,
7
- duration?: number,
8
- downPayment?: number,
9
- residual?: number
10
- ): QueryResult<Query, QueryLoanArgs> =>
11
- useQuery<Query, QueryLoanArgs>(LOAN_CALCULATION, {
12
- variables: {
13
- id,
14
- duration: duration as number,
15
- downPayment: downPayment as number,
16
- residual: (residual as number) || 0,
17
- },
18
- skip: duration === undefined || downPayment === undefined,
19
- });
20
-
21
- export default useLoanCalculation;
@@ -1,20 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
-
3
- const useOnScreen = (ref: React.MutableRefObject<HTMLElement | null>) => {
4
- const [isIntersecting, setIntersecting] = useState(false);
5
-
6
- const observer = new IntersectionObserver(([entry]) => setIntersecting(entry.isIntersecting));
7
-
8
- useEffect(() => {
9
- if (ref.current) {
10
- observer.observe(ref.current);
11
- }
12
- return () => {
13
- observer.disconnect();
14
- };
15
- }, []);
16
-
17
- return isIntersecting;
18
- };
19
-
20
- export default useOnScreen;
@@ -1,19 +0,0 @@
1
- import { useEffect } from 'react';
2
-
3
- const useOutsideClick = (ref: React.RefObject<HTMLElement>, callback: () => void) => {
4
- const handleClick = (e: MouseEvent) => {
5
- if (ref.current && e.target && !ref.current.contains(e.target as Node)) {
6
- callback();
7
- }
8
- };
9
-
10
- useEffect(() => {
11
- document.addEventListener('click', handleClick);
12
-
13
- return () => {
14
- document.removeEventListener('click', handleClick);
15
- };
16
- });
17
- };
18
-
19
- export default useOutsideClick;
@@ -1,11 +0,0 @@
1
- import { useRef, useEffect } from 'react';
2
-
3
- const usePrevious = <T>(value: T) => {
4
- const ref = useRef<T>();
5
- useEffect(() => {
6
- ref.current = value;
7
- });
8
- return ref.current;
9
- };
10
-
11
- export default usePrevious;
@@ -1,11 +0,0 @@
1
- import { useQuery, QueryResult } from '@apollo/client';
2
- import SEARCH_ITEM_QUERY from '../queries/SEARCH_ITEM_QUERY';
3
- import { QueryVehicleArgs, Query } from '../@types/codegen/types';
4
-
5
- const useSearchItem = (id?: string): QueryResult<Query, QueryVehicleArgs> =>
6
- useQuery<Query, QueryVehicleArgs>(SEARCH_ITEM_QUERY, {
7
- variables: { id: id as string },
8
- skip: !id,
9
- });
10
-
11
- export default useSearchItem;
@@ -1,14 +0,0 @@
1
- import { useQuery, QueryResult } from '@apollo/client';
2
- import SEARCH_ITEM_BRANCH_QUERY from '../queries/SEARCH_ITEM_BRANCH_QUERY';
3
- import { QueryVehicleArgs, Query } from '../@types/codegen/types';
4
-
5
- const useSearchItemBranch = (
6
- id?: string | null,
7
- branch?: string | null
8
- ): QueryResult<Query, QueryVehicleArgs> =>
9
- useQuery<Query, QueryVehicleArgs>(SEARCH_ITEM_BRANCH_QUERY, {
10
- variables: { id: id as string, branch: branch as string },
11
- skip: !id || !branch,
12
- });
13
-
14
- export default useSearchItemBranch;
@@ -1,32 +0,0 @@
1
- import { useState, useCallback } from 'react';
2
-
3
- const useSessionStorage = (key: string) => {
4
- const [value, setValue] = useState(sessionStorage.getItem(key));
5
-
6
- const set = useCallback(
7
- (v: string) => {
8
- sessionStorage.setItem(key, v);
9
- setValue(v);
10
- },
11
- [key]
12
- );
13
-
14
- const remove = useCallback(() => {
15
- sessionStorage.removeItem(key);
16
- setValue(null);
17
- }, [key]);
18
-
19
- const clear = useCallback(() => {
20
- sessionStorage.clear();
21
- setValue(null);
22
- }, [key]);
23
-
24
- return {
25
- value,
26
- set,
27
- remove,
28
- clear,
29
- };
30
- };
31
-
32
- export default useSessionStorage;
@@ -1,31 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- import useFetch from './useFetch';
3
-
4
- interface VimeoItem {
5
- thumbnail_large: string;
6
- thumbnail_small: string;
7
- }
8
-
9
- const useVimeoThumbnail = (id?: string, small?: boolean) => {
10
- const [thumbnail, setThumbnail] = useState<string>();
11
- const { data } = useFetch<VimeoItem[]>(
12
- `http://vimeo.com/api/v2/video/${id}.json`,
13
- {},
14
- !id || !!thumbnail,
15
- true
16
- );
17
-
18
- useEffect(() => {
19
- if (data?.[0]) {
20
- if (small && data[0].thumbnail_small) {
21
- setThumbnail(data[0].thumbnail_small);
22
- } else if (data[0].thumbnail_large) {
23
- setThumbnail(data[0].thumbnail_large);
24
- }
25
- }
26
- }, [data]);
27
-
28
- return thumbnail;
29
- };
30
-
31
- export default useVimeoThumbnail;
Binary file
package/src/index-dev.tsx DELETED
@@ -1,42 +0,0 @@
1
- import React from 'react';
2
- import { createRoot } from 'react-dom/client';
3
-
4
- import '../example/src/assets/style/theme.css';
5
- import '../example/src/assets/style/ecom.css';
6
- import '../assets/default.css';
7
-
8
- import WaykeComposite, { WaykePubSub } from '.';
9
-
10
- WaykePubSub.subscribe({
11
- eventName: 'All',
12
- // eslint-disable-next-line
13
- callback: (eventName, data) => console.log('subscribed All:', eventName, data),
14
- });
15
-
16
- window.addEventListener('DOMContentLoaded', (_) => {
17
- const container = document.getElementById('root');
18
- const root = createRoot(container!);
19
- root.render(
20
- <WaykeComposite
21
- composite={{
22
- removeSearchBar: false,
23
- removeFilterOptions: false,
24
- modifyDocumentTitleItem: true,
25
- modifyDocumentTitleSearch: 'Wayke',
26
- }}
27
- provider={{
28
- graphQlUrl: process.env.WAYKE_GRAPH_QL_URL as string,
29
- url: process.env.WAYKE_SEARCH_URL as string,
30
- urlMlt: process.env.WAYKE_SEARCH_MLT_URL as string,
31
- ecomSettings: {
32
- url: process.env.WAYKE_ECOM_URL as string,
33
- useBankId: true,
34
- serviceLogotypeUrl: 'https://cdn.wayke.se/wui/images/ecom/wayke-logo.svg',
35
- },
36
- googleMapsApiKey: process.env.GOOGLE_MAPS_API_KEY as string,
37
- googleMapsMarker: 'https://www.wayke.se/images/map/marker.png',
38
- useQueryParamsFromUrl: true,
39
- }}
40
- />
41
- );
42
- });
@@ -1,74 +0,0 @@
1
- import '../assets/default.css';
2
-
3
- import WaykeSearch, { WaykeSearchProps } from './layouts/search/index';
4
- import WaykeSearchItem, { WaykeSearchItemProps } from './layouts/searchItem/index';
5
- import WaykeProvider, { WaykeProviderSettings } from './providers/WaykeProvider';
6
- import WaykeComposite, {
7
- WaykeCompositeWithProviderProps,
8
- } from './layouts/WaykeCompositeWithProvider';
9
- import SearchBar from './components/SearchBar/index';
10
- import WaykeThemeProvider from './providers/themeProvider';
11
- import WaykeItemProvider, { WaykeItemProviderSettings } from './providers/WaykeItemProvidet';
12
- import WaykePubSub, { EventSubscriptions } from './utils/pubsub/pubsub';
13
- import type { SearchFilterTypes, SearchFilterNameTypes } from './@types/filter';
14
-
15
- import type {
16
- EventHashRouteChange,
17
- EventItemClicked,
18
- EventEcomOnInit,
19
- EventEcomOnUser,
20
- EventEcomOnExit,
21
- EventImagesClick,
22
- EventOptionsClick,
23
- EventPhonenumberVisible,
24
- EventPhonenumberCall,
25
- EventMailVisible,
26
- EventInsuranceInterest,
27
- EventFinanceInterest,
28
- EventAll,
29
- EventType,
30
- EventNames,
31
- CallbackHashRouteChange,
32
- CallbackEventItemClicked,
33
- CallbackEcomOnUserEvent,
34
- CallbackEmpty,
35
- } from './utils/pubsub/Events';
36
-
37
- export {
38
- WaykeProvider,
39
- WaykeItemProvider,
40
- WaykeSearch,
41
- WaykeSearchItem,
42
- SearchBar,
43
- WaykeThemeProvider,
44
- WaykeItemProviderSettings,
45
- WaykePubSub,
46
- WaykeCompositeWithProviderProps,
47
- WaykeProviderSettings,
48
- WaykeSearchProps,
49
- WaykeSearchItemProps,
50
- SearchFilterTypes,
51
- SearchFilterNameTypes,
52
- EventSubscriptions,
53
- EventHashRouteChange,
54
- EventItemClicked,
55
- EventEcomOnInit,
56
- EventEcomOnUser,
57
- EventEcomOnExit,
58
- EventImagesClick,
59
- EventOptionsClick,
60
- EventPhonenumberVisible,
61
- EventPhonenumberCall,
62
- EventMailVisible,
63
- EventInsuranceInterest,
64
- EventFinanceInterest,
65
- EventAll,
66
- EventType,
67
- EventNames,
68
- CallbackHashRouteChange,
69
- CallbackEventItemClicked,
70
- CallbackEcomOnUserEvent,
71
- CallbackEmpty,
72
- };
73
-
74
- export default WaykeComposite;
package/src/index.ts DELETED
@@ -1,72 +0,0 @@
1
- import WaykeSearch, { WaykeSearchProps } from './layouts/search/index';
2
- import WaykeSearchItem, { WaykeSearchItemProps } from './layouts/searchItem/index';
3
- import WaykeProvider, { WaykeProviderSettings } from './providers/WaykeProvider';
4
- import WaykeComposite, {
5
- WaykeCompositeWithProviderProps,
6
- } from './layouts/WaykeCompositeWithProvider';
7
- import SearchBar from './components/SearchBar/index';
8
- import WaykeThemeProvider from './providers/themeProvider';
9
- import WaykeItemProvider, { WaykeItemProviderSettings } from './providers/WaykeItemProvidet';
10
- import WaykePubSub, { EventSubscriptions } from './utils/pubsub/pubsub';
11
- import type { SearchFilterTypes, SearchFilterNameTypes } from './@types/filter';
12
-
13
- import type {
14
- EventHashRouteChange,
15
- EventItemClicked,
16
- EventEcomOnInit,
17
- EventEcomOnUser,
18
- EventEcomOnExit,
19
- EventImagesClick,
20
- EventOptionsClick,
21
- EventPhonenumberVisible,
22
- EventPhonenumberCall,
23
- EventMailVisible,
24
- EventInsuranceInterest,
25
- EventFinanceInterest,
26
- EventAll,
27
- EventType,
28
- EventNames,
29
- CallbackHashRouteChange,
30
- CallbackEventItemClicked,
31
- CallbackEcomOnUserEvent,
32
- CallbackEmpty,
33
- } from './utils/pubsub/Events';
34
-
35
- export {
36
- WaykeProvider,
37
- WaykeItemProvider,
38
- WaykeSearch,
39
- WaykeSearchItem,
40
- SearchBar,
41
- WaykeThemeProvider,
42
- WaykeItemProviderSettings,
43
- WaykePubSub,
44
- WaykeCompositeWithProviderProps,
45
- WaykeProviderSettings,
46
- WaykeSearchProps,
47
- WaykeSearchItemProps,
48
- SearchFilterTypes,
49
- SearchFilterNameTypes,
50
- EventSubscriptions,
51
- EventHashRouteChange,
52
- EventItemClicked,
53
- EventEcomOnInit,
54
- EventEcomOnUser,
55
- EventEcomOnExit,
56
- EventImagesClick,
57
- EventOptionsClick,
58
- EventPhonenumberVisible,
59
- EventPhonenumberCall,
60
- EventMailVisible,
61
- EventInsuranceInterest,
62
- EventFinanceInterest,
63
- EventAll,
64
- EventType,
65
- EventNames,
66
- CallbackHashRouteChange,
67
- CallbackEventItemClicked,
68
- CallbackEcomOnUserEvent,
69
- CallbackEmpty,
70
- };
71
-
72
- export default WaykeComposite;
@@ -1,6 +0,0 @@
1
- import theme from './theme';
2
-
3
- export const size = (multiplier = 1) => {
4
- const baseUnit = parseFloat(theme.distances.baseUnit);
5
- return `${multiplier * baseUnit}px`;
6
- };
@@ -1,23 +0,0 @@
1
- import { keyframes } from 'styled-components';
2
-
3
- export const noTransform = keyframes`
4
- to {
5
- transform: none;
6
- }
7
- `;
8
-
9
- export const fadeIn = keyframes`
10
- from {
11
- opacity: 0;
12
- }
13
-
14
- to {
15
- opacity: 1;
16
- }
17
- `;
18
-
19
- export const rotate = keyframes`
20
- to {
21
- transform: rotate(360deg);
22
- }
23
- `;
@@ -1,60 +0,0 @@
1
- const _colors = {
2
- black: '#000',
3
- white: '#fff',
4
- gray: '#ddd',
5
- grayLight: '#f8f8f8',
6
- grayLightTransparent: 'rgba(248, 248, 248, 0)',
7
- grayLightDarker: '#ebebeb',
8
- grayDark: '#717171',
9
- blue: '#1d61ca',
10
- ui: {
11
- greenLight: '#cdf5c8',
12
- green: '#2b8747',
13
- redLight: '#ffd0d0',
14
- red: '#c71f1f',
15
- yellowLight: '#fff4c7',
16
- blueLight: '#daf7fc',
17
- },
18
- };
19
-
20
- const theme = {
21
- color: {
22
- bg: _colors.white,
23
- link: _colors.blue,
24
- accent: _colors.grayLight,
25
- accentTransparent: _colors.grayLightTransparent,
26
- accentDark: _colors.grayLightDarker,
27
- border: _colors.gray,
28
- textDark: _colors.black,
29
- textDarkLighten: _colors.grayDark,
30
- textLight: _colors.white,
31
- hoverOverlay: 'rgba(0, 0, 0, 0.04)',
32
- disabledBg: _colors.gray,
33
- disabledText: _colors.grayDark,
34
- placeholder: _colors.grayDark,
35
- ui: {
36
- positiveLight: _colors.ui.greenLight,
37
- positive: _colors.ui.green,
38
- neutralLight: _colors.ui.yellowLight,
39
- negativeLight: _colors.ui.redLight,
40
- negative: _colors.ui.red,
41
- infoLight: _colors.ui.blueLight,
42
- },
43
- },
44
- breakpoint: {
45
- Sm: '@media (min-width: 600px)',
46
- LtSm: '@media (max-width: 599px)',
47
- Md: '@media (min-width: 900px)',
48
- LtMd: '@media (max-width: 899px)',
49
- Lg: '@media (min-width: 1200px)',
50
- LtLg: '@media (max-width: 1199px)',
51
- },
52
- distances: {
53
- baseUnit: '8px',
54
- inputHeight: '48px',
55
- containerMaxWidth: '1312px',
56
- },
57
- };
58
-
59
- export type Theme = typeof theme;
60
- export default theme;
@@ -1,64 +0,0 @@
1
- import React, { useEffect } from 'react';
2
- import useHashGuid from '../hooks/useHashGuid';
3
- import PubSub from '../utils/pubsub/pubsub';
4
-
5
- import WaykeSearch, { WaykeSearchProps } from './search/index';
6
- import WaykeSearchItem, { WaykeSearchItemProps } from './searchItem/index';
7
- import usePath from '../State/Path/usePath';
8
-
9
- export type WaykeCompositeProps = Omit<WaykeSearchProps & WaykeSearchItemProps, 'id'>;
10
-
11
- const WaykeComposite = ({
12
- filterList,
13
- initialQueryParams,
14
- removeSearchBar,
15
- removeFilterOptions,
16
- disableResetScrollOnInit,
17
- placeholderImage,
18
- pathRoute,
19
- modifyDocumentTitleItem,
20
- modifyDocumentTitleSearch,
21
- }: WaykeCompositeProps) => {
22
- const hashId = useHashGuid();
23
- const { id: pathId } = usePath();
24
-
25
- useEffect(() => {
26
- if (!pathRoute) {
27
- if (hashId) {
28
- PubSub.publish('HashRouteChange', hashId);
29
- } else {
30
- PubSub.publish('HashRouteChange');
31
- }
32
- }
33
- }, [hashId]);
34
-
35
- const id = pathId || hashId;
36
-
37
- return (
38
- <>
39
- {id ? (
40
- <WaykeSearchItem
41
- id={id}
42
- hashRoute={!pathRoute}
43
- disableResetScrollOnInit={disableResetScrollOnInit}
44
- placeholderImage={placeholderImage}
45
- pathRoute={pathRoute}
46
- modifyDocumentTitleItem={modifyDocumentTitleItem}
47
- />
48
- ) : (
49
- <WaykeSearch
50
- filterList={filterList}
51
- initialQueryParams={initialQueryParams}
52
- removeSearchBar={removeSearchBar}
53
- hashRoute={!pathRoute}
54
- placeholderImage={placeholderImage}
55
- pathRoute={pathRoute}
56
- removeFilterOptions={removeFilterOptions}
57
- modifyDocumentTitleSearch={modifyDocumentTitleSearch}
58
- />
59
- )}
60
- </>
61
- );
62
- };
63
-
64
- export default WaykeComposite;
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
-
3
- import WaykeProvider, { WaykeProviderProps } from '../providers/WaykeProvider';
4
- import WaykeComposite, { WaykeCompositeProps } from './WaykeComposite';
5
-
6
- export interface WaykeCompositeWithProviderProps {
7
- provider: WaykeProviderProps;
8
- composite?: WaykeCompositeProps;
9
- }
10
-
11
- const WaykeCompositeWithProvider = ({ provider, composite }: WaykeCompositeWithProviderProps) => (
12
- <WaykeProvider {...provider}>
13
- <WaykeComposite {...composite} />
14
- </WaykeProvider>
15
- );
16
-
17
- export default WaykeCompositeWithProvider;