@riosst100/pwa-marketplace 1.2.6 → 1.2.7

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 (129) hide show
  1. package/.github/workflows/dependabot.yml +28 -28
  2. package/package.json +18 -18
  3. package/src/Utilities/graphQL.js +76 -76
  4. package/src/componentOverrideMapping.js +17 -16
  5. package/src/components/BecomeSeller/becomeSeller.js +335 -335
  6. package/src/components/BecomeSeller/becomeSeller.module.css +46 -46
  7. package/src/components/BecomeSellerLink/becomeSellerLink.js +52 -52
  8. package/src/components/BecomeSellerLink/becomeSellerLink.module.css +12 -12
  9. package/src/components/BecomeSellerPage/becomeSellerPage.js +45 -45
  10. package/src/components/BecomeSellerPage/becomeSellerPage.module.css +21 -21
  11. package/src/components/Filter/index.js +53 -53
  12. package/src/components/Header/becomeSellerLink.js +28 -28
  13. package/src/components/Header/becomeSellerLink.module.css +12 -12
  14. package/src/components/Header/websiteSwitcher.js +109 -109
  15. package/src/components/Pagination/index.js +49 -40
  16. package/src/components/PhoneTextInput/phoneTextInput.module.css +21 -21
  17. package/src/components/ProductItem/index.js +50 -50
  18. package/src/components/Search/index.js +16 -16
  19. package/src/components/Seller/index.js +1 -1
  20. package/src/components/Seller/seller.js +249 -42
  21. package/src/components/SellerAccountPage/sellerAccountPage.js +110 -110
  22. package/src/components/SellerAccountPage/sellerAccountPage.module.css +55 -55
  23. package/src/components/SellerCountry/sellerCountry.gql.js +11 -11
  24. package/src/components/SellerInformation/index.js +1 -1
  25. package/src/components/SellerInformation/sellerInformation.js +90 -84
  26. package/src/components/SellerLocation/index.js +1 -1
  27. package/src/components/SellerLocation/sellerLocation.js +19 -18
  28. package/src/components/SellerLocation/sellerLocationItem.js +27 -25
  29. package/src/components/SellerPage/sellerPage.js +9 -9
  30. package/src/components/SellerProducts/sellerProducts.js +47 -218
  31. package/src/components/SellerReview/index.js +1 -1
  32. package/src/components/SellerReview/sellerReview.js +143 -143
  33. package/src/components/SellerReviewItem/sellerReviewItem.js +60 -60
  34. package/src/components/SellerVerification/sellerVerification.js +198 -198
  35. package/src/components/SellerVerification/sellerVerification.module.css +47 -47
  36. package/src/components/SellerVerificationPage/sellerVerificationPage.js +43 -43
  37. package/src/components/SellerVerificationPage/sellerVerificationPage.module.css +21 -21
  38. package/src/components/SortBy/index.js +24 -16
  39. package/src/components/WebsiteSwitcher/websiteSwitcher.js +109 -109
  40. package/src/components/commons/Slider/index.js +13 -13
  41. package/src/components/commons/Tabs/index.js +64 -62
  42. package/src/index.js +6 -6
  43. package/src/intercept.js +113 -113
  44. package/src/moduleOverrideWebpackPlugin.js +70 -70
  45. package/src/overwrites/peregrine/lib/store/actions/user/asyncActions.js +96 -96
  46. package/src/overwrites/peregrine/lib/talons/AccountMenu/useAccountMenuItems.js +74 -74
  47. package/src/overwrites/peregrine/lib/talons/Adapter/useAdapter.js +208 -208
  48. package/src/overwrites/peregrine/lib/talons/Header/storeSwitcher.gql.js +45 -45
  49. package/src/overwrites/peregrine/lib/talons/Header/useStoreSwitcher.js +204 -204
  50. package/src/overwrites/peregrine/lib/talons/Region/useRegion.js +102 -102
  51. package/src/overwrites/peregrine/lib/talons/SignIn/signIn.gql.js +56 -56
  52. package/src/overwrites/peregrine/lib/talons/SignIn/useSignIn.js +226 -226
  53. package/src/overwrites/peregrine/lib/util/deriveErrorMessage.js +34 -34
  54. package/src/overwrites/pwa-buildpack/lib/queries/getAvailableStoresConfigData.graphql +11 -11
  55. package/src/overwrites/venia-ui/lib/components/Adapter/adapter.js +112 -112
  56. package/src/overwrites/venia-ui/lib/components/Header/header.js +130 -118
  57. package/src/overwrites/venia-ui/lib/components/Header/storeSwitcher.js +105 -105
  58. package/src/overwrites/venia-ui/lib/components/Header/switcherItem.js +47 -47
  59. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/MegaMenu.spec.js +91 -91
  60. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/MegaMenuItem.spec.js +123 -123
  61. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/Submenu.spec.js +61 -61
  62. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/SubmenuColumn.spec.js +50 -50
  63. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/MegaMenu.spec.js.snap +114 -114
  64. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/MegaMenuItem.spec.js.snap +71 -71
  65. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/Submenu.spec.js.snap +59 -59
  66. package/src/overwrites/venia-ui/lib/components/MegaMenu/__tests__/__snapshots__/SubmenuColumn.spec.js.snap +34 -34
  67. package/src/overwrites/venia-ui/lib/components/MegaMenu/index.js +1 -1
  68. package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenu.js +90 -90
  69. package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenu.module.css +12 -12
  70. package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenuItem.js +156 -156
  71. package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenuItem.module.css +30 -30
  72. package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.js +89 -89
  73. package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.module.css +42 -42
  74. package/src/overwrites/venia-ui/lib/components/MegaMenu/submenuColumn.js +99 -99
  75. package/src/overwrites/venia-ui/lib/components/MegaMenu/submenuColumn.module.css +28 -28
  76. package/src/overwrites/venia-ui/lib/components/SearchBar/__stories__/searchBar.js +11 -11
  77. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/searchField.spec.js.snap +72 -72
  78. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestedCategories.spec.js.snap +30 -30
  79. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestedProduct.spec.js.snap +69 -69
  80. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestedProducts.spec.js.snap +7 -7
  81. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/__snapshots__/suggestions.spec.js.snap +12 -12
  82. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/autocomplete.spec.js +52 -52
  83. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/searchBar.spec.js +82 -82
  84. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/searchField.spec.js +87 -87
  85. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestedCategories.spec.js +45 -45
  86. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestedProduct.spec.js +43 -43
  87. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestedProducts.spec.js +45 -45
  88. package/src/overwrites/venia-ui/lib/components/SearchBar/__tests__/suggestions.spec.js +110 -110
  89. package/src/overwrites/venia-ui/lib/components/SearchBar/autocomplete.js +172 -172
  90. package/src/overwrites/venia-ui/lib/components/SearchBar/autocomplete.module.css +62 -62
  91. package/src/overwrites/venia-ui/lib/components/SearchBar/index.js +1 -1
  92. package/src/overwrites/venia-ui/lib/components/SearchBar/searchBar.js +74 -74
  93. package/src/overwrites/venia-ui/lib/components/SearchBar/searchBar.module.css +49 -49
  94. package/src/overwrites/venia-ui/lib/components/SearchBar/searchField.js +40 -40
  95. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedCategories.js +48 -48
  96. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedCategories.module.css +13 -13
  97. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedCategory.js +49 -49
  98. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProduct.js +97 -97
  99. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProduct.module.css +24 -24
  100. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProducts.js +43 -43
  101. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestedProducts.module.css +13 -13
  102. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestions.js +75 -75
  103. package/src/overwrites/venia-ui/lib/components/SearchBar/suggestions.module.css +6 -6
  104. package/src/overwrites/venia-ui/lib/components/StoreCodeRoute/storeCodeRoute.js +75 -75
  105. package/src/overwrites/venia-ui/lib/targets/venia-ui-intercept.js +70 -70
  106. package/src/queries/getAvailableWebsitesConfigData.graphql +14 -14
  107. package/src/queries/index.js +30 -30
  108. package/src/talons/BecomeSeller/becomeSeller.gql.js +45 -45
  109. package/src/talons/BecomeSeller/useBecomeSeller.js +145 -145
  110. package/src/talons/BecomeSellerLink/useBecomeSellerLink.js +11 -11
  111. package/src/talons/BecomeSellerPage/useBecomeSellerPage.js +76 -76
  112. package/src/talons/Header/useBecomeSellerLink.js +13 -13
  113. package/src/talons/Header/useWebsiteSwitcher.js +218 -218
  114. package/src/talons/Seller/seller.gql.js +139 -204
  115. package/src/talons/Seller/useSeller.js +66 -71
  116. package/src/talons/SellerAccountPage/useSellerAccountPage.js +174 -174
  117. package/src/talons/SellerCountry/useSellerCountry.js +25 -25
  118. package/src/talons/WebsiteByIp/getWebsiteByIp.gql.js +13 -13
  119. package/src/talons/WebsiteByIp/useWebsiteByIp.js +34 -34
  120. package/src/talons/WebsiteSwitcher/useWebsiteSwitcher.js +218 -218
  121. package/src/theme/vars.js +6 -6
  122. package/src/util/mapSeller.js +7 -7
  123. package/src/components/OperatingHours/index.js +0 -1
  124. package/src/components/OperatingHours/operatingHours.js +0 -32
  125. package/src/components/Seller/sellerAddressCard.js +0 -48
  126. package/src/components/SellerDetail/index.js +0 -1
  127. package/src/components/SellerDetail/sellerDetail.js +0 -158
  128. package/src/components/SellerPage/core.js +0 -10
  129. package/src/talons/SellerProducts/useSellerProducts.js +0 -129
@@ -1,109 +1,109 @@
1
- import React from 'react';
2
- import { shape, string } from 'prop-types';
3
-
4
- import { useWebsiteSwitcher } from '@riosst100/pwa-marketplace/src/talons/WebsiteSwitcher/useWebsiteSwitcher';
5
- import { availableRoutes } from '@magento/venia-ui/lib/components/Routes/routes';
6
-
7
- import { useStyle } from '@magento/venia-ui/lib/classify';
8
- import defaultClasses from './websiteSwitcher.module.css';
9
- import WebsiteSwitcherItem from './websiteSwitcherItem';
10
- import Shimmer from './websiteSwitcher.shimmer';
11
-
12
- const WebsiteSwitcher = props => {
13
- const {
14
- availableStores,
15
- currentGroupName,
16
- currentWebsiteName,
17
- handleSwitchWebsite,
18
- storeGroups,
19
- storeMenuRef,
20
- storeMenuTriggerRef,
21
- storeMenuIsOpen,
22
- handleTriggerClick
23
- } = useWebsiteSwitcher({ availableRoutes });
24
-
25
- const classes = useStyle(defaultClasses, props.classes);
26
- const menuClassName = storeMenuIsOpen ? classes.menu_open : classes.menu;
27
-
28
- if (!availableStores) return <Shimmer />;
29
-
30
- if (availableStores.size <= 1) return null;
31
-
32
- const groups = [];
33
- const hasOnlyOneGroup = storeGroups.size === 1;
34
-
35
- storeGroups.forEach((group, key) => {
36
- const stores = [];
37
- group.forEach(({ websiteCode, websiteName, isCurrent, storeCode }) => {
38
- let label = `${websiteName}`;
39
- stores.push(
40
- <li
41
- aria-selected={currentWebsiteName}
42
- role="option"
43
- key={storeCode}
44
- className={classes.menuItem}
45
- data-cy="WebsiteSwitcher-view"
46
- >
47
- <WebsiteSwitcherItem
48
- active={isCurrent}
49
- onClick={handleSwitchWebsite}
50
- option={storeCode}
51
- option2={websiteCode}
52
- >
53
- {label}
54
- </WebsiteSwitcherItem>
55
- </li>
56
- );
57
- });
58
-
59
- groups.push(
60
- <ul
61
- role="listbox"
62
- className={classes.groupList}
63
- key={key}
64
- data-cy="WebsiteSwitcher-group"
65
- >
66
- {stores}
67
- </ul>
68
- );
69
- });
70
-
71
- let triggerLabel = currentWebsiteName ? `${currentWebsiteName}` : '';
72
-
73
- return (
74
- <div className={classes.root} data-cy="WebsiteSwitcher-root">
75
- <button
76
- data-cy="WebsiteSwitcher-triggerButton"
77
- className={classes.trigger}
78
- aria-label={currentWebsiteName || ''}
79
- onClick={handleTriggerClick}
80
- ref={storeMenuTriggerRef}
81
- data-cy="WebsiteSwitcher-trigger"
82
- aria-expanded={storeMenuIsOpen}
83
- >
84
- {triggerLabel || ''}
85
- </button>
86
- <div
87
- ref={storeMenuRef}
88
- className={menuClassName}
89
- data-cy="WebsiteSwitcher-menu"
90
- >
91
- <div className={classes.groups}>{groups}</div>
92
- </div>
93
- </div>
94
- );
95
- };
96
-
97
- export default WebsiteSwitcher;
98
-
99
- WebsiteSwitcher.propTypes = {
100
- classes: shape({
101
- groupList: string,
102
- groups: string,
103
- menu: string,
104
- menu_open: string,
105
- menuItem: string,
106
- root: string,
107
- trigger: string
108
- })
109
- };
1
+ import React from 'react';
2
+ import { shape, string } from 'prop-types';
3
+
4
+ import { useWebsiteSwitcher } from '@riosst100/pwa-marketplace/src/talons/WebsiteSwitcher/useWebsiteSwitcher';
5
+ import { availableRoutes } from '@magento/venia-ui/lib/components/Routes/routes';
6
+
7
+ import { useStyle } from '@magento/venia-ui/lib/classify';
8
+ import defaultClasses from './websiteSwitcher.module.css';
9
+ import WebsiteSwitcherItem from './websiteSwitcherItem';
10
+ import Shimmer from './websiteSwitcher.shimmer';
11
+
12
+ const WebsiteSwitcher = props => {
13
+ const {
14
+ availableStores,
15
+ currentGroupName,
16
+ currentWebsiteName,
17
+ handleSwitchWebsite,
18
+ storeGroups,
19
+ storeMenuRef,
20
+ storeMenuTriggerRef,
21
+ storeMenuIsOpen,
22
+ handleTriggerClick
23
+ } = useWebsiteSwitcher({ availableRoutes });
24
+
25
+ const classes = useStyle(defaultClasses, props.classes);
26
+ const menuClassName = storeMenuIsOpen ? classes.menu_open : classes.menu;
27
+
28
+ if (!availableStores) return <Shimmer />;
29
+
30
+ if (availableStores.size <= 1) return null;
31
+
32
+ const groups = [];
33
+ const hasOnlyOneGroup = storeGroups.size === 1;
34
+
35
+ storeGroups.forEach((group, key) => {
36
+ const stores = [];
37
+ group.forEach(({ websiteCode, websiteName, isCurrent, storeCode }) => {
38
+ let label = `${websiteName}`;
39
+ stores.push(
40
+ <li
41
+ aria-selected={currentWebsiteName}
42
+ role="option"
43
+ key={storeCode}
44
+ className={classes.menuItem}
45
+ data-cy="WebsiteSwitcher-view"
46
+ >
47
+ <WebsiteSwitcherItem
48
+ active={isCurrent}
49
+ onClick={handleSwitchWebsite}
50
+ option={storeCode}
51
+ option2={websiteCode}
52
+ >
53
+ {label}
54
+ </WebsiteSwitcherItem>
55
+ </li>
56
+ );
57
+ });
58
+
59
+ groups.push(
60
+ <ul
61
+ role="listbox"
62
+ className={classes.groupList}
63
+ key={key}
64
+ data-cy="WebsiteSwitcher-group"
65
+ >
66
+ {stores}
67
+ </ul>
68
+ );
69
+ });
70
+
71
+ let triggerLabel = currentWebsiteName ? `${currentWebsiteName}` : '';
72
+
73
+ return (
74
+ <div className={classes.root} data-cy="WebsiteSwitcher-root">
75
+ <button
76
+ data-cy="WebsiteSwitcher-triggerButton"
77
+ className={classes.trigger}
78
+ aria-label={currentWebsiteName || ''}
79
+ onClick={handleTriggerClick}
80
+ ref={storeMenuTriggerRef}
81
+ data-cy="WebsiteSwitcher-trigger"
82
+ aria-expanded={storeMenuIsOpen}
83
+ >
84
+ {triggerLabel || ''}
85
+ </button>
86
+ <div
87
+ ref={storeMenuRef}
88
+ className={menuClassName}
89
+ data-cy="WebsiteSwitcher-menu"
90
+ >
91
+ <div className={classes.groups}>{groups}</div>
92
+ </div>
93
+ </div>
94
+ );
95
+ };
96
+
97
+ export default WebsiteSwitcher;
98
+
99
+ WebsiteSwitcher.propTypes = {
100
+ classes: shape({
101
+ groupList: string,
102
+ groups: string,
103
+ menu: string,
104
+ menu_open: string,
105
+ menuItem: string,
106
+ root: string,
107
+ trigger: string
108
+ })
109
+ };
@@ -1,14 +1,14 @@
1
- import React from 'react';
2
- import cx from 'classnames';
3
-
4
- const Slider = (props) => {
5
- const { rootClassname = '', seller } = props
6
- const rootClass = cx('slider-container', rootClassname)
7
- return (
8
- <div className={rootClass}>
9
- <img src={seller ? seller.image : ''} />
10
- </div>
11
- )
12
- }
13
-
1
+ import React from 'react';
2
+ import cx from 'classnames';
3
+
4
+ const Slider = (props) => {
5
+ const { rootClassname = '', seller } = props
6
+ const rootClass = cx('slider-container', rootClassname)
7
+ return (
8
+ <div className={rootClass}>
9
+ <img src={seller ? seller.image : ''} />
10
+ </div>
11
+ )
12
+ }
13
+
14
14
  export default Slider
@@ -1,63 +1,65 @@
1
- import React from 'react';
2
- import cx from 'classnames';
3
-
4
- const Tabs = (props) => {
5
- const {
6
- data = [],
7
- onChange = () => { },
8
- hasContent = false,
9
- rootClassName = '',
10
- tabTitleClassName = '',
11
- tabContentContainerClassName = '',
12
- tabContentWrapperClassName = '',
13
- tabActiveClassName = '',
14
- } = props
15
-
16
- const [activeTabs, setActiveTabs] = React.useState(0);
17
- const rootClass = cx('mb-4 border-b border-gray-200 dark:border-gray-700', rootClassName);
18
- const tabTitleClass = cx('inline-block p-4 rounded-t-lg', tabTitleClassName);
19
- const tabContainerClass = cx('tab-content-container', tabContentContainerClassName);
20
- const tabContentWrapperClass = cx('tab-content-wrapper', tabContentWrapperClassName);
21
- const tabActiveClass = cx('border-solid border-b-2', tabActiveClassName)
22
-
23
- const handleSwicthTab = (index) => {
24
- setActiveTabs(index);
25
- }
26
-
27
- return (
28
- <>
29
- <div className={rootClass}>
30
- <ul className='flex flex-wrap -mb-px text-sm font-medium text-center' role='tablist'>
31
- {data.map((item, index) => (
32
- <li className='me-2' role='presentation'>
33
- <button
34
- className={cx(tabTitleClass, index === activeTabs ? tabActiveClass : '')}
35
- id={item.id}
36
- role='tab'
37
- aria-controls={`${item.id}-tab`}
38
- aria-selected='false'
39
- onClick={(e) => {
40
- hasContent ? handleSwicthTab(index) : onChange(index, e);
41
- e.preventDefault();
42
- }}
43
- >
44
- {item.title}
45
- </button>
46
- </li>
47
- ))}
48
- </ul>
49
- </div>
50
- {hasContent ? (
51
- <div className={tabContainerClass}>
52
- {data.map((item, index) => (
53
- <div className={cx(index !== activeTabs ? 'hidden' : '', tabContentWrapperClass)} role='tabpanel' aria-labelledby={`${item.id}-tab`}>
54
- {item.content}
55
- </div>
56
- ))}
57
- </div>
58
- ) : null}
59
- </>
60
- )
61
- }
62
-
1
+ import React from 'react';
2
+ import cn from 'classnames';
3
+
4
+ const Tabs = (props) => {
5
+ const {
6
+ data = [],
7
+ onChange = () => { },
8
+ hasContent = false,
9
+ rootClassName = '',
10
+ tabTitleClassName = '',
11
+ tabContentContainerClassName = '',
12
+ tabContentWrapperClassName = '',
13
+ tabActiveClassName = '',
14
+ tabWrapperClassName = '',
15
+ } = props
16
+
17
+ const [activeTabs, setActiveTabs] = React.useState(0);
18
+ const rootClass = cn('mb-4 border-b border-gray-100', rootClassName);
19
+ const tabTitleClass = cn('inline-block p-[10px] rounded-t-lg text-[16px] font-semibold', tabTitleClassName);
20
+ const tabContainerClass = cn('tab-content-container', tabContentContainerClassName);
21
+ const tabContentWrapperClass = cn('tab-content-wrapper', tabContentWrapperClassName);
22
+ const tabActiveClass = cn('border-solid border-b-2', tabActiveClassName);
23
+ const tabWrapperClass = cn('flex flex-wrap -mb-px text-sm font-medium text-center gap-4', tabWrapperClassName);
24
+
25
+ const handleSwicthTab = (index) => {
26
+ setActiveTabs(index);
27
+ }
28
+
29
+ return (
30
+ <>
31
+ <div className={rootClass}>
32
+ <ul className={tabWrapperClass} role='tablist'>
33
+ {data.map((item, index) => (
34
+ <li className='me-2' role='presentation'>
35
+ <button
36
+ className={cn(tabTitleClass, index === activeTabs ? tabActiveClass : '')}
37
+ id={item.id}
38
+ role='tab'
39
+ aria-controls={`${item.id}-tab`}
40
+ aria-selected='false'
41
+ onClick={(e) => {
42
+ hasContent ? handleSwicthTab(index) : onChange(index, e);
43
+ e.preventDefault();
44
+ }}
45
+ >
46
+ {item.title}
47
+ </button>
48
+ </li>
49
+ ))}
50
+ </ul>
51
+ </div>
52
+ {hasContent ? (
53
+ <div className={tabContainerClass}>
54
+ {data.map((item, index) => (
55
+ <div className={cn(index !== activeTabs ? 'hidden' : '', tabContentWrapperClass)} role='tabpanel' aria-labelledby={`${item.id}-tab`}>
56
+ {item.content}
57
+ </div>
58
+ ))}
59
+ </div>
60
+ ) : null}
61
+ </>
62
+ )
63
+ }
64
+
63
65
  export default Tabs
package/src/index.js CHANGED
@@ -1,7 +1,7 @@
1
- /**
2
- * Custom index for the extension attention this file should be not delete!
3
- * It is use as main file but this can be empty by default only need to exits.
4
- *
5
- * A project index.js should contain default exports like:
6
- * export { default } from './components/main';
1
+ /**
2
+ * Custom index for the extension attention this file should be not delete!
3
+ * It is use as main file but this can be empty by default only need to exits.
4
+ *
5
+ * A project index.js should contain default exports like:
6
+ * export { default } from './components/main';
7
7
  */
package/src/intercept.js CHANGED
@@ -1,114 +1,114 @@
1
- const componentOverrideMapping = require('./componentOverrideMapping');
2
- const moduleOverridePlugin = require('./moduleOverrideWebpackPlugin');
3
- const { DefinePlugin } = require('webpack');
4
- const { getAvailableWebsitesConfigData } = require('./Utilities/graphQL');
5
- const LocalizationPlugin = require('@magento/pwa-buildpack/lib/WebpackTools/plugins/LocalizationPlugin');
6
-
7
- module.exports = targets => {
8
- // Perform the asynchronous operation outside the tap
9
- let availableWebsites;
10
-
11
- // Use an IIFE (Immediately Invoked Function Expression) to enable async/await
12
- (async () => {
13
- availableWebsites = await getAvailableWebsitesConfigData();
14
- })();
15
-
16
- targets.of('@magento/pwa-buildpack').specialFeatures.tap(features => {
17
- features[targets.name] = { i18n: true, esModules: true, cssModules: true, graphqlQueries: true };
18
- });
19
-
20
- targets.of('@magento/pwa-buildpack').webpackCompiler.tap(compiler => {
21
- new moduleOverridePlugin(componentOverrideMapping).apply(compiler);
22
- });
23
-
24
- // Tap into webpackCompiler
25
- targets.of('@magento/pwa-buildpack').webpackCompiler.tap(compiler => {
26
- // Check if the LocalizationPlugin is present
27
- if (compiler.options.plugins) {
28
- const localizationPlugin = compiler.options.plugins.find(
29
- plugin => plugin instanceof LocalizationPlugin
30
- );
31
-
32
- // Check if LocalizationPlugin is found
33
- if (localizationPlugin) {
34
- // Store the original mergeLocales function
35
- const originalMergeLocales = localizationPlugin.mergeLocales;
36
-
37
- // Define your custom hook
38
- function myCustomMergeLocalesHook(current, update) {
39
- // Modify the mergedLocales data here
40
- Object.keys(update).forEach(key => {
41
- if (typeof current[key] === 'undefined') {
42
- current[key] = [];
43
- }
44
- if (Array.isArray(current[key]) && Array.isArray(update[key])) {
45
- if (update[key].toString().includes("venia-ui")) {
46
- delete update[key];
47
- }
48
- }
49
- });
50
-
51
- // Return the modified mergedLocales
52
- return originalMergeLocales.call(localizationPlugin, current, update);
53
- }
54
-
55
- // Override mergeLocales with your custom hook
56
- localizationPlugin.mergeLocales = myCustomMergeLocalesHook;
57
- }
58
- }
59
- });
60
-
61
- targets.of('@magento/pwa-buildpack').envVarDefinitions.tap(defs => {
62
- defs.sections.push({
63
- name: "Default Website Code",
64
- variables: [
65
- {
66
- name: "WEBSITE_CODE",
67
- type: "str",
68
- desc: "Default Website Code for Multi Website Extension",
69
- },
70
- ],
71
- });
72
- });
73
-
74
- // Define the routes using the results of the asynchronous operation
75
- const routes = [
76
- {
77
- exact: true,
78
- name: "BecomeSellerRoute",
79
- pattern: "/become-seller",
80
- path: require.resolve("./components/BecomeSellerPage/index.js"),
81
- authed: true,
82
- redirectTo: "/sign-in"
83
- },
84
- {
85
- exact: true,
86
- name: "SellerAccountRoute",
87
- pattern: "/seller-account",
88
- path: require.resolve("./components/SellerAccountPage/index.js"),
89
- authed: true,
90
- redirectTo: "/become-seller"
91
- },
92
- {
93
- exact: true,
94
- name: "SellerPage",
95
- pattern: "/seller/:urlKey",
96
- path: require.resolve("./components/SellerPage/index.js"),
97
- authed: false,
98
- },
99
- ];
100
-
101
- // Apply DefinePlugin using the results of the asynchronous operation
102
- targets.of('@magento/pwa-buildpack').webpackCompiler.tap(compiler => {
103
- new DefinePlugin({
104
- AVAILABLE_WEBSITES: JSON.stringify(availableWebsites.availableStoresByUserIp),
105
- WEBSITE_CODE: process.env.WEBSITE_CODE
106
- }).apply(compiler);
107
- });
108
-
109
- // Handle the routes directly within the routes tap
110
- targets.of("@magento/venia-ui").routes.tap(routesArray => {
111
- routesArray.push(...routes);
112
- return routesArray;
113
- });
1
+ const componentOverrideMapping = require('./componentOverrideMapping');
2
+ const moduleOverridePlugin = require('./moduleOverrideWebpackPlugin');
3
+ const { DefinePlugin } = require('webpack');
4
+ const { getAvailableWebsitesConfigData } = require('./Utilities/graphQL');
5
+ const LocalizationPlugin = require('@magento/pwa-buildpack/lib/WebpackTools/plugins/LocalizationPlugin');
6
+
7
+ module.exports = targets => {
8
+ // Perform the asynchronous operation outside the tap
9
+ let availableWebsites;
10
+
11
+ // Use an IIFE (Immediately Invoked Function Expression) to enable async/await
12
+ (async () => {
13
+ availableWebsites = await getAvailableWebsitesConfigData();
14
+ })();
15
+
16
+ targets.of('@magento/pwa-buildpack').specialFeatures.tap(features => {
17
+ features[targets.name] = { i18n: true, esModules: true, cssModules: true, graphqlQueries: true };
18
+ });
19
+
20
+ targets.of('@magento/pwa-buildpack').webpackCompiler.tap(compiler => {
21
+ new moduleOverridePlugin(componentOverrideMapping).apply(compiler);
22
+ });
23
+
24
+ // Tap into webpackCompiler
25
+ targets.of('@magento/pwa-buildpack').webpackCompiler.tap(compiler => {
26
+ // Check if the LocalizationPlugin is present
27
+ if (compiler.options.plugins) {
28
+ const localizationPlugin = compiler.options.plugins.find(
29
+ plugin => plugin instanceof LocalizationPlugin
30
+ );
31
+
32
+ // Check if LocalizationPlugin is found
33
+ if (localizationPlugin) {
34
+ // Store the original mergeLocales function
35
+ const originalMergeLocales = localizationPlugin.mergeLocales;
36
+
37
+ // Define your custom hook
38
+ function myCustomMergeLocalesHook(current, update) {
39
+ // Modify the mergedLocales data here
40
+ Object.keys(update).forEach(key => {
41
+ if (typeof current[key] === 'undefined') {
42
+ current[key] = [];
43
+ }
44
+ if (Array.isArray(current[key]) && Array.isArray(update[key])) {
45
+ if (update[key].toString().includes("venia-ui")) {
46
+ delete update[key];
47
+ }
48
+ }
49
+ });
50
+
51
+ // Return the modified mergedLocales
52
+ return originalMergeLocales.call(localizationPlugin, current, update);
53
+ }
54
+
55
+ // Override mergeLocales with your custom hook
56
+ localizationPlugin.mergeLocales = myCustomMergeLocalesHook;
57
+ }
58
+ }
59
+ });
60
+
61
+ targets.of('@magento/pwa-buildpack').envVarDefinitions.tap(defs => {
62
+ defs.sections.push({
63
+ name: "Default Website Code",
64
+ variables: [
65
+ {
66
+ name: "WEBSITE_CODE",
67
+ type: "str",
68
+ desc: "Default Website Code for Multi Website Extension",
69
+ },
70
+ ],
71
+ });
72
+ });
73
+
74
+ // Define the routes using the results of the asynchronous operation
75
+ const routes = [
76
+ {
77
+ exact: true,
78
+ name: "BecomeSellerRoute",
79
+ pattern: "/become-seller",
80
+ path: require.resolve("./components/BecomeSellerPage/index.js"),
81
+ authed: true,
82
+ redirectTo: "/sign-in"
83
+ },
84
+ {
85
+ exact: true,
86
+ name: "SellerAccountRoute",
87
+ pattern: "/seller-account",
88
+ path: require.resolve("./components/SellerAccountPage/index.js"),
89
+ authed: true,
90
+ redirectTo: "/become-seller"
91
+ },
92
+ {
93
+ exact: true,
94
+ name: "SellerPage",
95
+ pattern: "/seller/:urlKey",
96
+ path: require.resolve("./components/SellerPage/index.js"),
97
+ authed: false,
98
+ },
99
+ ];
100
+
101
+ // Apply DefinePlugin using the results of the asynchronous operation
102
+ targets.of('@magento/pwa-buildpack').webpackCompiler.tap(compiler => {
103
+ new DefinePlugin({
104
+ AVAILABLE_WEBSITES: JSON.stringify(availableWebsites.availableStoresByUserIp),
105
+ WEBSITE_CODE: process.env.WEBSITE_CODE
106
+ }).apply(compiler);
107
+ });
108
+
109
+ // Handle the routes directly within the routes tap
110
+ targets.of("@magento/venia-ui").routes.tap(routesArray => {
111
+ routesArray.push(...routes);
112
+ return routesArray;
113
+ });
114
114
  };