@riosst100/pwa-marketplace 1.3.3 → 1.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. package/.github/workflows/dependabot.yml +28 -28
  2. package/package.json +18 -18
  3. package/src/componentOverrideMapping.js +14 -0
  4. package/src/components/BecomeSellerLink/becomeSellerLink.js +1 -1
  5. package/src/components/BecomeSellerLink/becomeSellerLink.module.css +0 -4
  6. package/src/components/CurrencySwitcher/currencySwitcher.himmer.js +6 -0
  7. package/src/components/CurrencySwitcher/currencySwitcher.module.css +102 -0
  8. package/src/components/CurrencySwitcher/index.js +107 -0
  9. package/src/components/CurrencySwitcher/switcherItem.js +47 -0
  10. package/src/components/CurrencySwitcher/switcherItem.module.css +20 -0
  11. package/src/components/FilterOption/FilterOptionModal.module.css +90 -0
  12. package/src/components/FilterOption/filterOptionModal.js +48 -0
  13. package/src/components/FilterOptionModal/filterOptionModal.js +66 -0
  14. package/src/components/Header/becomeSellerLink.module.css +0 -4
  15. package/src/components/Header/websiteSwitcher.js +0 -1
  16. package/src/components/Header/websiteSwitcher.module.css +107 -111
  17. package/src/components/WebsiteSwitcher/websiteSwitcher.js +18 -6
  18. package/src/components/WebsiteSwitcher/websiteSwitcher.module.css +107 -111
  19. package/src/overwrites/peregrine/lib/talons/FilterModal/useFilterList.js +62 -0
  20. package/src/overwrites/peregrine/lib/talons/MegaMenu/useMegaMenuItem.js +66 -0
  21. package/src/overwrites/peregrine/lib/talons/MegaMenu/useSubMenu.js +20 -0
  22. package/src/overwrites/peregrine/lib/talons/RootComponents/Category/useCategoryContent.js +0 -2
  23. package/src/overwrites/venia-ui/lib/RootComponents/Category/NoProductsFound/index.js +1 -0
  24. package/src/overwrites/venia-ui/lib/RootComponents/Category/NoProductsFound/noProductsFound.js +77 -0
  25. package/src/overwrites/venia-ui/lib/RootComponents/Category/NoProductsFound/noProductsFound.module.css +39 -0
  26. package/src/overwrites/venia-ui/lib/RootComponents/Category/NoProductsFound/noProductsFound.png +0 -0
  27. package/src/overwrites/venia-ui/lib/RootComponents/Category/category.gql.js +17 -0
  28. package/src/overwrites/venia-ui/lib/RootComponents/Category/category.js +91 -0
  29. package/src/overwrites/venia-ui/lib/RootComponents/Category/category.module.css +77 -0
  30. package/src/overwrites/venia-ui/lib/RootComponents/Category/categoryContent.js +12 -14
  31. package/src/overwrites/venia-ui/lib/RootComponents/Category/categoryContent.shimmer.js +74 -0
  32. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/001.jpg +0 -0
  33. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/002.jpg +0 -0
  34. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/003.jpg +0 -0
  35. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/004.jpg +0 -0
  36. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/005.jpg +0 -0
  37. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/006.jpg +0 -0
  38. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/007.jpg +0 -0
  39. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/008.jpg +0 -0
  40. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/009.jpg +0 -0
  41. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/010.jpg +0 -0
  42. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/011.jpg +0 -0
  43. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/012.jpg +0 -0
  44. package/src/overwrites/venia-ui/lib/RootComponents/Category/images/index.js +12 -0
  45. package/src/overwrites/venia-ui/lib/RootComponents/Category/index.js +6 -0
  46. package/src/overwrites/venia-ui/lib/components/Breadcrumbs/breadcrumbs.js +112 -0
  47. package/src/overwrites/venia-ui/lib/components/Breadcrumbs/breadcrumbs.module.css +32 -0
  48. package/src/overwrites/venia-ui/lib/components/Breadcrumbs/breadcrumbs.shimmer.js +24 -0
  49. package/src/overwrites/venia-ui/lib/components/Breadcrumbs/index.js +2 -0
  50. package/src/overwrites/venia-ui/lib/components/Checkbox/checkbox.js +78 -0
  51. package/src/overwrites/venia-ui/lib/components/Checkbox/checkbox.module.css +73 -0
  52. package/src/overwrites/venia-ui/lib/components/Checkbox/index.js +1 -0
  53. package/src/overwrites/venia-ui/lib/components/FilterModal/CurrentFilters/currentFilter.js +60 -0
  54. package/src/overwrites/venia-ui/lib/components/FilterModal/CurrentFilters/currentFilter.module.css +21 -0
  55. package/src/overwrites/venia-ui/lib/components/FilterModal/CurrentFilters/currentFilters.js +65 -0
  56. package/src/overwrites/venia-ui/lib/components/FilterModal/CurrentFilters/currentFilters.module.css +17 -0
  57. package/src/overwrites/venia-ui/lib/components/FilterModal/CurrentFilters/index.js +1 -0
  58. package/src/overwrites/venia-ui/lib/components/FilterModal/FilterList/filterDefault.js +18 -18
  59. package/src/overwrites/venia-ui/lib/components/FilterModal/FilterList/filterDefault.module.css +0 -0
  60. package/src/overwrites/venia-ui/lib/components/FilterModal/FilterList/filterItem.js +79 -0
  61. package/src/overwrites/venia-ui/lib/components/FilterModal/FilterList/filterItemRadio.js +76 -0
  62. package/src/overwrites/venia-ui/lib/components/FilterModal/FilterList/filterItemRadio.module.css +0 -0
  63. package/src/overwrites/venia-ui/lib/components/FilterModal/FilterList/filterItemRadioGroup.js +86 -0
  64. package/src/overwrites/venia-ui/lib/components/FilterModal/FilterList/filterList.js +265 -0
  65. package/src/overwrites/venia-ui/lib/components/FilterModal/FilterList/filterList.module.css +20 -0
  66. package/src/overwrites/venia-ui/lib/components/FilterModal/FilterList/index.js +1 -0
  67. package/src/overwrites/venia-ui/lib/components/FilterModal/filterBlock.js +135 -0
  68. package/src/overwrites/venia-ui/lib/components/FilterModal/filterBlock.module.css +25 -0
  69. package/src/overwrites/venia-ui/lib/components/FilterModal/filterFooter.js +49 -0
  70. package/src/overwrites/venia-ui/lib/components/FilterModal/filterFooter.module.css +10 -0
  71. package/src/overwrites/venia-ui/lib/components/FilterModal/filterModal.js +166 -0
  72. package/src/overwrites/venia-ui/lib/components/FilterModal/filterModal.module.css +87 -0
  73. package/src/overwrites/venia-ui/lib/components/FilterModal/filterSearch.module.css +3 -0
  74. package/src/overwrites/venia-ui/lib/components/FilterModal/index.js +1 -0
  75. package/src/overwrites/venia-ui/lib/components/FilterSidebar/__tests__/filterSidebar.spec.js +246 -0
  76. package/src/overwrites/venia-ui/lib/components/FilterSidebar/filterSidebar.js +8 -8
  77. package/src/overwrites/venia-ui/lib/components/FilterSidebar/filterSidebar.module.css +57 -58
  78. package/src/overwrites/venia-ui/lib/components/FilterSidebar/filterSidebar.shimmer.js +24 -0
  79. package/src/overwrites/venia-ui/lib/components/FilterSidebar/index.js +2 -0
  80. package/src/overwrites/venia-ui/lib/components/Gallery/addToCartButton.js +116 -0
  81. package/src/overwrites/venia-ui/lib/components/Gallery/addToCartButton.module.css +38 -0
  82. package/src/overwrites/venia-ui/lib/components/Gallery/gallery.js +56 -0
  83. package/src/overwrites/venia-ui/lib/components/Gallery/gallery.module.css +28 -0
  84. package/src/overwrites/venia-ui/lib/components/Gallery/gallery.shimmer.js +39 -0
  85. package/src/overwrites/venia-ui/lib/components/Gallery/index.js +3 -0
  86. package/src/overwrites/venia-ui/lib/components/Gallery/item.js +204 -0
  87. package/src/overwrites/venia-ui/lib/components/Gallery/item.module.css +109 -0
  88. package/src/overwrites/venia-ui/lib/components/Gallery/item.shimmer.js +38 -0
  89. package/src/overwrites/venia-ui/lib/components/Gallery/star.js +12 -0
  90. package/src/overwrites/venia-ui/lib/components/Header/accountTrigger.js +98 -0
  91. package/src/overwrites/venia-ui/lib/components/Header/cartTrigger.js +116 -0
  92. package/src/overwrites/venia-ui/lib/components/Header/header.js +12 -9
  93. package/src/overwrites/venia-ui/lib/components/Header/storeSwitcher.js +22 -8
  94. package/src/overwrites/venia-ui/lib/components/Header/storeSwitcher.module.css +107 -0
  95. package/src/overwrites/venia-ui/lib/components/Header/wishlistTrigger.js +23 -0
  96. package/src/overwrites/venia-ui/lib/components/MegaMenu/megaMenuItem.js +1 -1
  97. package/src/overwrites/venia-ui/lib/components/MegaMenu/submenu.module.css +0 -1
  98. package/src/overwrites/venia-ui/lib/components/Pagination/index.js +1 -0
  99. package/src/overwrites/venia-ui/lib/components/Pagination/navButton.js +65 -0
  100. package/src/overwrites/venia-ui/lib/components/Pagination/pagination.js +107 -0
  101. package/src/overwrites/venia-ui/lib/components/Pagination/tile.js +41 -0
  102. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Boolean/boolean.js +74 -0
  103. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Boolean/boolean.module.css +9 -0
  104. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Boolean/index.js +1 -0
  105. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Date/date.js +82 -0
  106. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Date/date.module.css +9 -0
  107. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Date/index.js +1 -0
  108. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/DateTime/dateTime.js +85 -0
  109. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/DateTime/dateTime.module.css +9 -0
  110. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/DateTime/index.js +1 -0
  111. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Multiselect/index.js +1 -0
  112. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Multiselect/multiselect.js +104 -0
  113. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Multiselect/multiselect.module.css +22 -0
  114. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Price/index.js +1 -0
  115. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Price/price.js +74 -0
  116. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Price/price.module.css +9 -0
  117. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Select/index.js +1 -0
  118. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Select/select.js +99 -0
  119. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Select/select.module.css +13 -0
  120. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Text/index.js +1 -0
  121. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Text/text.js +88 -0
  122. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Text/text.module.css +13 -0
  123. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Textarea/index.js +1 -0
  124. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Textarea/textarea.js +94 -0
  125. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/Textarea/textarea.module.css +13 -0
  126. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/attributeType.js +67 -0
  127. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/AttributeType/index.js +1 -0
  128. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/customAttributes.js +64 -0
  129. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/customAttributes.module.css +9 -0
  130. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/CustomAttributes/index.js +1 -0
  131. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/index.js +1 -0
  132. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.gql.js +7 -0
  133. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.js +413 -0
  134. package/src/overwrites/venia-ui/lib/components/ProductFullDetail/productFullDetail.module.css +203 -0
  135. package/src/overwrites/venia-ui/lib/components/ProductImageCarousel/carousel.js +180 -0
  136. package/src/overwrites/venia-ui/lib/components/ProductImageCarousel/carousel.module.css +102 -0
  137. package/src/overwrites/venia-ui/lib/components/ProductImageCarousel/carousel.shimmer.js +51 -0
  138. package/src/overwrites/venia-ui/lib/components/ProductImageCarousel/carousel.shimmer.module.css +7 -0
  139. package/src/overwrites/venia-ui/lib/components/ProductImageCarousel/index.js +1 -0
  140. package/src/overwrites/venia-ui/lib/components/ProductImageCarousel/thumbnail.js +108 -0
  141. package/src/overwrites/venia-ui/lib/components/ProductImageCarousel/thumbnail.module.css +47 -0
  142. package/src/overwrites/venia-ui/lib/components/ProductSort/index.js +2 -0
  143. package/src/overwrites/venia-ui/lib/components/ProductSort/productSort.js +233 -0
  144. package/src/overwrites/venia-ui/lib/components/ProductSort/productSort.module.css +65 -0
  145. package/src/overwrites/venia-ui/lib/components/ProductSort/productSort.shimmer.js +28 -0
  146. package/src/overwrites/venia-ui/lib/components/ProductSort/productSort.shimmer.module.css +10 -0
  147. package/src/overwrites/venia-ui/lib/components/ProductSort/sortItem.js +57 -0
  148. package/src/overwrites/venia-ui/lib/components/ProductSort/sortItem.module.css +23 -0
  149. package/src/overwrites/venia-ui/lib/components/QuantityStepper/index.js +1 -0
  150. package/src/overwrites/venia-ui/lib/components/QuantityStepper/quantityStepper.js +94 -0
  151. package/src/overwrites/venia-ui/lib/components/QuantityStepper/quantityStepper.module.css +78 -0
  152. package/src/overwrites/venia-ui/lib/components/RichContent/index.js +1 -0
  153. package/src/overwrites/venia-ui/lib/components/RichContent/plainHtmlRenderer.js +17 -0
  154. package/src/overwrites/venia-ui/lib/components/RichContent/richContent.js +59 -0
  155. package/src/overwrites/venia-ui/lib/components/RichContent/richContent.module.css +146 -0
  156. package/src/overwrites/venia-ui/lib/components/RichContent/richContentRenderers.js +7 -0
  157. package/src/overwrites/venia-ui/lib/components/SearchBar/searchBar.module.css +1 -2
  158. package/src/overwrites/venia-ui/lib/components/SearchBar/searchField.js +3 -2
  159. package/src/overwrites/venia-ui/lib/components/TextInput/field.module.css +50 -0
  160. package/src/overwrites/venia-ui/lib/components/TextInput/index.js +1 -0
  161. package/src/overwrites/venia-ui/lib/components/TextInput/textInput.js +48 -0
  162. package/src/overwrites/venia-ui/lib/components/TextInput/textInput.module.css +21 -0
  163. package/src/talons/FilterOption/useFilterOptionModal.js +11 -0
  164. package/src/talons/FilterOptionModal/useFilterOptionModal.js +11 -0
  165. package/src/theme/vars.js +12 -0
@@ -1,111 +1,107 @@
1
- .root {
2
- composes: grid from global;
3
- composes: items-center from global;
4
- composes: justify-items-start from global;
5
- composes: max-w-site from global;
6
- composes: mx-auto from global;
7
- composes: my-0 from global;
8
- composes: px-xs from global;
9
- composes: py-2xs from global;
10
- composes: relative from global;
11
-
12
- composes: sm_justify-items-end from global;
13
- }
14
-
15
- .trigger {
16
- composes: max-w-[15rem] from global;
17
- composes: overflow-ellipsis from global;
18
- composes: overflow-hidden from global;
19
- composes: whitespace-nowrap from global;
20
-
21
- composes: sm_max-w-full from global;
22
- }
23
-
24
- .menu {
25
- composes: absolute from global;
26
- composes: bg-white from global;
27
- composes: border from global;
28
- composes: border-solid from global;
29
- composes: border-subtle from global;
30
- composes: bottom-md from global;
31
- composes: left-xs from global;
32
- composes: max-w-[90vw] from global;
33
- composes: opacity-0 from global;
34
- composes: pb-2xs from global;
35
- composes: pt-2xs from global;
36
- composes: right-auto from global;
37
- composes: rounded from global;
38
- composes: shadow-menu from global;
39
- composes: top-auto from global;
40
- composes: w-max from global;
41
- composes: z-menu from global;
42
- transform: translate3d(0, -8px, 0);
43
- transition-duration: 192ms;
44
- transition-timing-function: var(--venia-global-anim-out);
45
- transition-property: opacity, transform, visibility;
46
-
47
- /* TODO @TW: review (B6) */
48
- /* composes: invisible from global; */
49
- visibility: hidden;
50
-
51
- composes: sm_bottom-auto from global;
52
- composes: sm_left-auto from global;
53
- composes: sm_right-xs from global;
54
- composes: sm_top-md from global;
55
- }
56
-
57
- .menu_open {
58
- composes: menu;
59
-
60
- composes: opacity-100 from global;
61
- transform: translate3d(0, 4px, 0);
62
- transition-duration: 224ms;
63
- transition-timing-function: var(--venia-global-anim-in);
64
-
65
- /* TODO @TW: review (B6) */
66
- /* composes: visible from global; */
67
- visibility: visible;
68
- }
69
-
70
- .menuItem {
71
- composes: hover_bg-subtle from global;
72
- }
73
-
74
- .groups {
75
- composes: max-h-[24rem] from global;
76
- composes: overflow-auto from global;
77
- }
78
-
79
- .groupList {
80
- composes: border-b from global;
81
- composes: border-solid from global;
82
- composes: border-subtle from global;
83
- composes: pb-2xs from global;
84
- composes: pt-2xs from global;
85
-
86
- composes: last_border-none from global;
87
- }
88
-
89
- /*
90
- * Mobile-specific styles.
91
- */
92
-
93
- @media (max-width: 639px) {
94
- .root:only-child {
95
- grid-column: 2;
96
- }
97
-
98
- /* TODO @TW: cannot compose */
99
- .root:last-child .menu {
100
- right: 1rem;
101
- left: auto;
102
- }
103
-
104
- .menu {
105
- transform: translate3d(0, 8px, 0);
106
- }
107
-
108
- .menu_open {
109
- transform: translate3d(0, -4px, 0);
110
- }
111
- }
1
+ .root {
2
+ composes: grid from global;
3
+ composes: items-center from global;
4
+ composes: justify-items-start from global;
5
+ composes: mx-auto from global;
6
+ composes: my-0 from global;
7
+ composes: relative from global;
8
+ composes: sm_justify-items-end from global;
9
+ }
10
+
11
+ .trigger {
12
+ composes: max-w-[15rem] from global;
13
+ composes: overflow-ellipsis from global;
14
+ composes: overflow-hidden from global;
15
+ composes: whitespace-nowrap from global;
16
+
17
+ composes: sm_max-w-full from global;
18
+ }
19
+
20
+ .menu {
21
+ composes: absolute from global;
22
+ composes: bg-white from global;
23
+ composes: border from global;
24
+ composes: border-solid from global;
25
+ composes: border-subtle from global;
26
+ composes: bottom-md from global;
27
+ composes: left-xs from global;
28
+ composes: max-w-[90vw] from global;
29
+ composes: opacity-0 from global;
30
+ composes: pb-2xs from global;
31
+ composes: pt-2xs from global;
32
+ composes: right-auto from global;
33
+ composes: rounded from global;
34
+ composes: shadow-menu from global;
35
+ composes: top-auto from global;
36
+ composes: w-max from global;
37
+ composes: z-menu from global;
38
+ transform: translate3d(0, -8px, 0);
39
+ transition-duration: 192ms;
40
+ transition-timing-function: var(--venia-global-anim-out);
41
+ transition-property: opacity, transform, visibility;
42
+
43
+ /* TODO @TW: review (B6) */
44
+ /* composes: invisible from global; */
45
+ visibility: hidden;
46
+
47
+ composes: sm_bottom-auto from global;
48
+ composes: sm_left-auto from global;
49
+ composes: sm_right-xs from global;
50
+ composes: sm_top-md from global;
51
+ }
52
+
53
+ .menu_open {
54
+ composes: menu;
55
+
56
+ composes: opacity-100 from global;
57
+ transform: translate3d(0, 4px, 0);
58
+ transition-duration: 224ms;
59
+ transition-timing-function: var(--venia-global-anim-in);
60
+
61
+ /* TODO @TW: review (B6) */
62
+ /* composes: visible from global; */
63
+ visibility: visible;
64
+ }
65
+
66
+ .menuItem {
67
+ composes: hover_bg-subtle from global;
68
+ }
69
+
70
+ .groups {
71
+ composes: max-h-[24rem] from global;
72
+ composes: overflow-auto from global;
73
+ }
74
+
75
+ .groupList {
76
+ composes: border-b from global;
77
+ composes: border-solid from global;
78
+ composes: border-subtle from global;
79
+ composes: pb-2xs from global;
80
+ composes: pt-2xs from global;
81
+
82
+ composes: last_border-none from global;
83
+ }
84
+
85
+ /*
86
+ * Mobile-specific styles.
87
+ */
88
+
89
+ @media (max-width: 639px) {
90
+ .root:only-child {
91
+ grid-column: 2;
92
+ }
93
+
94
+ /* TODO @TW: cannot compose */
95
+ .root:last-child .menu {
96
+ right: 1rem;
97
+ left: auto;
98
+ }
99
+
100
+ .menu {
101
+ transform: translate3d(0, 8px, 0);
102
+ }
103
+
104
+ .menu_open {
105
+ transform: translate3d(0, -4px, 0);
106
+ }
107
+ }
@@ -8,6 +8,9 @@ import { useStyle } from '@magento/venia-ui/lib/classify';
8
8
  import defaultClasses from './websiteSwitcher.module.css';
9
9
  import WebsiteSwitcherItem from './websiteSwitcherItem';
10
10
  import Shimmer from './websiteSwitcher.shimmer';
11
+ import cn from 'classnames';
12
+ import { ArrowUp2 } from 'iconsax-react';
13
+ import { darkBlue } from '@riosst100/pwa-marketplace/src/theme/vars';
11
14
 
12
15
  const WebsiteSwitcher = props => {
13
16
  const {
@@ -59,7 +62,7 @@ const WebsiteSwitcher = props => {
59
62
  groups.push(
60
63
  <ul
61
64
  role="listbox"
62
- className={classes.groupList}
65
+ className={'text-[13px]'}
63
66
  key={key}
64
67
  data-cy="WebsiteSwitcher-group"
65
68
  >
@@ -71,24 +74,33 @@ const WebsiteSwitcher = props => {
71
74
  let triggerLabel = currentWebsiteName ? `${currentWebsiteName}` : '';
72
75
 
73
76
  return (
74
- <div className={classes.root} data-cy="WebsiteSwitcher-root">
77
+ <div className={cn(classes.root, 'leading-[16px]')} data-cy="WebsiteSwitcher-root">
75
78
  <button
76
79
  data-cy="WebsiteSwitcher-triggerButton"
77
- className={classes.trigger}
80
+ className={cn(classes.trigger, 'text-[13px]')}
78
81
  aria-label={currentWebsiteName || ''}
79
82
  onClick={handleTriggerClick}
80
83
  ref={storeMenuTriggerRef}
81
- data-cy="WebsiteSwitcher-trigger"
82
84
  aria-expanded={storeMenuIsOpen}
83
85
  >
84
- {triggerLabel || ''}
86
+ <span className='flex flex-row gap-[5px] items-center leading-[16px] text-darkblue-900'>
87
+ {triggerLabel || ''}
88
+ {!hasOnlyOneGroup ? (
89
+ <ArrowUp2 size="12" color={darkBlue} className={cn(storeMenuIsOpen ? 'rotate-0 ' : 'rotate-180', 'transition-all stroke-current')} variant="Outline" />
90
+ ) : null}
91
+ </span>
85
92
  </button>
86
93
  <div
87
94
  ref={storeMenuRef}
88
95
  className={menuClassName}
89
96
  data-cy="WebsiteSwitcher-menu"
90
97
  >
91
- <div className={classes.groups}>{groups}</div>
98
+ <div className={cn(classes.groups, 'text-darkblue-900')}>
99
+ <span className='flex font-medium px-4 py-1 w-full text-[14px] mb-2'>
100
+ Country
101
+ </span>
102
+ {groups}
103
+ </div>
92
104
  </div>
93
105
  </div>
94
106
  );
@@ -1,111 +1,107 @@
1
- .root {
2
- composes: grid from global;
3
- composes: items-center from global;
4
- composes: justify-items-start from global;
5
- composes: max-w-site from global;
6
- composes: mx-auto from global;
7
- composes: my-0 from global;
8
- composes: px-xs from global;
9
- composes: py-2xs from global;
10
- composes: relative from global;
11
-
12
- composes: sm_justify-items-end from global;
13
- }
14
-
15
- .trigger {
16
- composes: max-w-[15rem] from global;
17
- composes: overflow-ellipsis from global;
18
- composes: overflow-hidden from global;
19
- composes: whitespace-nowrap from global;
20
-
21
- composes: sm_max-w-full from global;
22
- }
23
-
24
- .menu {
25
- composes: absolute from global;
26
- composes: bg-white from global;
27
- composes: border from global;
28
- composes: border-solid from global;
29
- composes: border-subtle from global;
30
- composes: bottom-md from global;
31
- composes: left-xs from global;
32
- composes: max-w-[90vw] from global;
33
- composes: opacity-0 from global;
34
- composes: pb-2xs from global;
35
- composes: pt-2xs from global;
36
- composes: right-auto from global;
37
- composes: rounded from global;
38
- composes: shadow-menu from global;
39
- composes: top-auto from global;
40
- composes: w-max from global;
41
- composes: z-menu from global;
42
- transform: translate3d(0, -8px, 0);
43
- transition-duration: 192ms;
44
- transition-timing-function: var(--venia-global-anim-out);
45
- transition-property: opacity, transform, visibility;
46
-
47
- /* TODO @TW: review (B6) */
48
- /* composes: invisible from global; */
49
- visibility: hidden;
50
-
51
- composes: sm_bottom-auto from global;
52
- composes: sm_left-auto from global;
53
- composes: sm_right-xs from global;
54
- composes: sm_top-md from global;
55
- }
56
-
57
- .menu_open {
58
- composes: menu;
59
-
60
- composes: opacity-100 from global;
61
- transform: translate3d(0, 4px, 0);
62
- transition-duration: 224ms;
63
- transition-timing-function: var(--venia-global-anim-in);
64
-
65
- /* TODO @TW: review (B6) */
66
- /* composes: visible from global; */
67
- visibility: visible;
68
- }
69
-
70
- .menuItem {
71
- composes: hover_bg-subtle from global;
72
- }
73
-
74
- .groups {
75
- composes: max-h-[24rem] from global;
76
- composes: overflow-auto from global;
77
- }
78
-
79
- .groupList {
80
- composes: border-b from global;
81
- composes: border-solid from global;
82
- composes: border-subtle from global;
83
- composes: pb-2xs from global;
84
- composes: pt-2xs from global;
85
-
86
- composes: last_border-none from global;
87
- }
88
-
89
- /*
90
- * Mobile-specific styles.
91
- */
92
-
93
- @media (max-width: 639px) {
94
- .root:only-child {
95
- grid-column: 2;
96
- }
97
-
98
- /* TODO @TW: cannot compose */
99
- .root:last-child .menu {
100
- right: 1rem;
101
- left: auto;
102
- }
103
-
104
- .menu {
105
- transform: translate3d(0, 8px, 0);
106
- }
107
-
108
- .menu_open {
109
- transform: translate3d(0, -4px, 0);
110
- }
111
- }
1
+ .root {
2
+ composes: grid from global;
3
+ composes: items-center from global;
4
+ composes: justify-items-start from global;
5
+ composes: mx-auto from global;
6
+ composes: my-0 from global;
7
+ composes: relative from global;
8
+ composes: sm_justify-items-end from global;
9
+ }
10
+
11
+ .trigger {
12
+ composes: max-w-[15rem] from global;
13
+ composes: overflow-ellipsis from global;
14
+ composes: overflow-hidden from global;
15
+ composes: whitespace-nowrap from global;
16
+
17
+ composes: sm_max-w-full from global;
18
+ }
19
+
20
+ .menu {
21
+ composes: absolute from global;
22
+ composes: bg-white from global;
23
+ composes: border from global;
24
+ composes: border-solid from global;
25
+ composes: border-subtle from global;
26
+ composes: bottom-md from global;
27
+ composes: left-xs from global;
28
+ composes: max-w-[90vw] from global;
29
+ composes: opacity-0 from global;
30
+ composes: pb-2xs from global;
31
+ composes: pt-2xs from global;
32
+ composes: right-auto from global;
33
+ composes: rounded from global;
34
+ composes: shadow-menu from global;
35
+ composes: top-auto from global;
36
+ composes: w-max from global;
37
+ composes: z-menu from global;
38
+ transform: translate3d(0, -8px, 0);
39
+ transition-duration: 192ms;
40
+ transition-timing-function: var(--venia-global-anim-out);
41
+ transition-property: opacity, transform, visibility;
42
+
43
+ /* TODO @TW: review (B6) */
44
+ /* composes: invisible from global; */
45
+ visibility: hidden;
46
+
47
+ composes: sm_bottom-auto from global;
48
+ composes: sm_left-auto from global;
49
+ composes: sm_right-xs from global;
50
+ composes: sm_top-md from global;
51
+ }
52
+
53
+ .menu_open {
54
+ composes: menu;
55
+
56
+ composes: opacity-100 from global;
57
+ transform: translate3d(0, 4px, 0);
58
+ transition-duration: 224ms;
59
+ transition-timing-function: var(--venia-global-anim-in);
60
+
61
+ /* TODO @TW: review (B6) */
62
+ /* composes: visible from global; */
63
+ visibility: visible;
64
+ }
65
+
66
+ .menuItem {
67
+ composes: hover_bg-subtle from global;
68
+ }
69
+
70
+ .groups {
71
+ composes: max-h-[24rem] from global;
72
+ composes: overflow-auto from global;
73
+ }
74
+
75
+ .groupList {
76
+ composes: border-b from global;
77
+ composes: border-solid from global;
78
+ composes: border-subtle from global;
79
+ composes: pb-2xs from global;
80
+ composes: pt-2xs from global;
81
+
82
+ composes: last_border-none from global;
83
+ }
84
+
85
+ /*
86
+ * Mobile-specific styles.
87
+ */
88
+
89
+ @media (max-width: 639px) {
90
+ .root:only-child {
91
+ grid-column: 2;
92
+ }
93
+
94
+ /* TODO @TW: cannot compose */
95
+ .root:last-child .menu {
96
+ right: 1rem;
97
+ left: auto;
98
+ }
99
+
100
+ .menu {
101
+ transform: translate3d(0, 8px, 0);
102
+ }
103
+
104
+ .menu_open {
105
+ transform: translate3d(0, -4px, 0);
106
+ }
107
+ }
@@ -0,0 +1,62 @@
1
+ import { useCallback, useEffect, useMemo, useState } from 'react';
2
+ import { useAppContext } from '@magento/peregrine/lib/context/app';
3
+
4
+ export const useFilterList = props => {
5
+ const { filterState, items, itemCountToShow } = props;
6
+
7
+ const [{ overlay }, { toggleDrawer }] = useAppContext();
8
+
9
+ const hasSelected = useMemo(
10
+ () =>
11
+ items.some((item, index) => {
12
+ return (
13
+ filterState &&
14
+ filterState.has(item) &&
15
+ index >= itemCountToShow
16
+ );
17
+ }),
18
+ [filterState, itemCountToShow, items]
19
+ );
20
+
21
+ // const hasSelected2 = useMemo(
22
+ // () =>
23
+ // items.some((item, index) => {
24
+ // return (
25
+ // filterState &&
26
+ // filterState.has(item)
27
+ // );
28
+ // }),
29
+ // [filterState, items]
30
+ // );
31
+
32
+ const [isListExpanded, setExpanded] = useState(hasSelected);
33
+ const [activeFilter, setActiveFilter] = useState(false);
34
+ // const [isShowAllOptions, setShowAllOptions] = useState(hasSelected);
35
+
36
+ const handleListToggle = useCallback(() => {
37
+ setExpanded(value => !value);
38
+ }, [setExpanded]);
39
+
40
+ const handleShowMore = useCallback(() => {
41
+ setActiveFilter(true);
42
+ toggleDrawer('filterOptionModal.show');
43
+ }, [setActiveFilter, toggleDrawer]);
44
+
45
+ useEffect(() => {
46
+ if (!overlay) {
47
+ setActiveFilter(false)
48
+ }
49
+ }, [overlay])
50
+
51
+ // const handleShowMore = useCallback(() => {
52
+ // handleShowAllOptions();
53
+ // }, [handleShowAllOptions]);
54
+
55
+ return {
56
+ setActiveFilter,
57
+ activeFilter,
58
+ handleShowMore,
59
+ handleListToggle,
60
+ isListExpanded
61
+ };
62
+ };
@@ -0,0 +1,66 @@
1
+ import { useCallback, useMemo, useState } from 'react';
2
+
3
+ export const useMegaMenuItem = props => {
4
+ const { category, activeCategoryId, subMenuState, disableFocus } = props;
5
+
6
+ const [isFocused, setIsFocused] = useState(false);
7
+ const isActive = category.id === activeCategoryId;
8
+
9
+ const handleMenuItemFocus = useCallback(() => {
10
+ setIsFocused(true);
11
+ }, [setIsFocused]);
12
+
13
+ const handleCloseSubMenu = useCallback(() => {
14
+ setIsFocused(false);
15
+ }, [setIsFocused]);
16
+
17
+ const isMenuActive = useMemo(() => {
18
+ if (!isFocused) {
19
+ return false;
20
+ }
21
+ if (subMenuState) {
22
+ return true;
23
+ } else if (disableFocus) {
24
+ setIsFocused(false);
25
+ }
26
+ return false;
27
+ }, [isFocused, subMenuState, disableFocus]);
28
+
29
+ const handleKeyDown = useCallback(
30
+ event => {
31
+ const { key: pressedKey, shiftKey } = event;
32
+
33
+ // checking down arrow and spacebar
34
+ if (pressedKey === 'ArrowDown' || pressedKey === ' ') {
35
+ event.preventDefault();
36
+ if (category.children.length) {
37
+ setIsFocused(true);
38
+ } else {
39
+ setIsFocused(false);
40
+ }
41
+
42
+ return;
43
+ }
44
+
45
+ //checking up arrow or escape
46
+ if (pressedKey === 'ArrowUp' || pressedKey === 'Escape') {
47
+ setIsFocused(false);
48
+ }
49
+
50
+ //checking Tab with Shift
51
+ if (shiftKey && pressedKey === 'Tab') {
52
+ setIsFocused(false);
53
+ }
54
+ },
55
+ [category.children.length]
56
+ );
57
+
58
+ return {
59
+ isFocused,
60
+ isActive,
61
+ handleMenuItemFocus,
62
+ handleCloseSubMenu,
63
+ isMenuActive,
64
+ handleKeyDown
65
+ };
66
+ };
@@ -0,0 +1,20 @@
1
+ import { useKeyboard } from 'react-aria';
2
+
3
+ export const useSubMenu = props => {
4
+ const { isFocused, subMenuState, handleCloseSubMenu } = props;
5
+
6
+ const { keyboardProps } = useKeyboard({
7
+ onKeyDown: e => {
8
+ //checking for Tab without Shift
9
+ if (!e.shiftKey && e.key === 'Tab') {
10
+ e.target.addEventListener('blur', handleCloseSubMenu);
11
+ } else {
12
+ e.target.removeEventListener('blur', handleCloseSubMenu);
13
+ }
14
+ }
15
+ });
16
+
17
+ const isSubMenuActive = isFocused && subMenuState;
18
+
19
+ return { keyboardProps, isSubMenuActive };
20
+ };
@@ -59,8 +59,6 @@ export const useCategoryContent = props => {
59
59
  }
60
60
  );
61
61
 
62
- console.log(categoryData)
63
-
64
62
  const [, { dispatch }] = useEventingContext();
65
63
 
66
64
  useEffect(() => {
@@ -0,0 +1 @@
1
+ export { default } from './noProductsFound';