@faststore/components 2.0.110-alpha.0 → 2.0.113-alpha.0

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 (76) hide show
  1. package/dist/hooks/index.d.ts +1 -0
  2. package/dist/hooks/index.js +1 -0
  3. package/dist/hooks/index.js.map +1 -1
  4. package/dist/hooks/useScrollDirection.d.ts +1 -0
  5. package/dist/hooks/useScrollDirection.js +22 -0
  6. package/dist/hooks/useScrollDirection.js.map +1 -0
  7. package/dist/hooks/useSearch.js +2 -2
  8. package/dist/hooks/useSearch.js.map +1 -1
  9. package/dist/index.d.ts +10 -2
  10. package/dist/index.js +5 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/molecules/NavbarLinks/NavbarLinks.d.ts +10 -0
  13. package/dist/molecules/NavbarLinks/NavbarLinks.js +6 -0
  14. package/dist/molecules/NavbarLinks/NavbarLinks.js.map +1 -0
  15. package/dist/molecules/NavbarLinks/index.d.ts +2 -0
  16. package/dist/molecules/NavbarLinks/index.js +2 -0
  17. package/dist/molecules/NavbarLinks/index.js.map +1 -0
  18. package/dist/molecules/NavbarSlider/NavbarSlider.d.ts +19 -0
  19. package/dist/molecules/NavbarSlider/NavbarSlider.js +7 -0
  20. package/dist/molecules/NavbarSlider/NavbarSlider.js.map +1 -0
  21. package/dist/molecules/NavbarSlider/NavbarSliderContent.d.ts +10 -0
  22. package/dist/molecules/NavbarSlider/NavbarSliderContent.js +6 -0
  23. package/dist/molecules/NavbarSlider/NavbarSliderContent.js.map +1 -0
  24. package/dist/molecules/NavbarSlider/NavbarSliderFooter.d.ts +10 -0
  25. package/dist/molecules/NavbarSlider/NavbarSliderFooter.js +6 -0
  26. package/dist/molecules/NavbarSlider/NavbarSliderFooter.js.map +1 -0
  27. package/dist/molecules/NavbarSlider/NavbarSliderHeader.d.ts +10 -0
  28. package/dist/molecules/NavbarSlider/NavbarSliderHeader.js +7 -0
  29. package/dist/molecules/NavbarSlider/NavbarSliderHeader.js.map +1 -0
  30. package/dist/molecules/NavbarSlider/index.d.ts +8 -0
  31. package/dist/molecules/NavbarSlider/index.js +5 -0
  32. package/dist/molecules/NavbarSlider/index.js.map +1 -0
  33. package/dist/organisms/Navbar/Navbar.d.ts +14 -0
  34. package/dist/organisms/Navbar/Navbar.js +6 -0
  35. package/dist/organisms/Navbar/Navbar.js.map +1 -0
  36. package/dist/organisms/Navbar/NavbarButtons.d.ts +14 -0
  37. package/dist/organisms/Navbar/NavbarButtons.js +6 -0
  38. package/dist/organisms/Navbar/NavbarButtons.js.map +1 -0
  39. package/dist/organisms/Navbar/NavbarHeader.d.ts +10 -0
  40. package/dist/organisms/Navbar/NavbarHeader.js +6 -0
  41. package/dist/organisms/Navbar/NavbarHeader.js.map +1 -0
  42. package/dist/organisms/Navbar/NavbarRow.d.ts +10 -0
  43. package/dist/organisms/Navbar/NavbarRow.js +6 -0
  44. package/dist/organisms/Navbar/NavbarRow.js.map +1 -0
  45. package/dist/organisms/Navbar/index.d.ts +8 -0
  46. package/dist/organisms/Navbar/index.js +5 -0
  47. package/dist/organisms/Navbar/index.js.map +1 -0
  48. package/dist/organisms/ProductGrid/ProductGrid.d.ts +10 -0
  49. package/dist/organisms/ProductGrid/ProductGrid.js +6 -0
  50. package/dist/organisms/ProductGrid/ProductGrid.js.map +1 -0
  51. package/dist/organisms/ProductGrid/ProductGridItem.d.ts +10 -0
  52. package/dist/organisms/ProductGrid/ProductGridItem.js +6 -0
  53. package/dist/organisms/ProductGrid/ProductGridItem.js.map +1 -0
  54. package/dist/organisms/ProductGrid/index.d.ts +4 -0
  55. package/dist/organisms/ProductGrid/index.js +3 -0
  56. package/dist/organisms/ProductGrid/index.js.map +1 -0
  57. package/package.json +2 -2
  58. package/src/hooks/index.ts +1 -0
  59. package/src/hooks/useScrollDirection.ts +31 -0
  60. package/src/hooks/useSearch.ts +9 -8
  61. package/src/index.ts +46 -2
  62. package/src/molecules/NavbarLinks/NavbarLinks.tsx +24 -0
  63. package/src/molecules/NavbarLinks/index.ts +2 -0
  64. package/src/molecules/NavbarSlider/NavbarSlider.tsx +46 -0
  65. package/src/molecules/NavbarSlider/NavbarSliderContent.tsx +31 -0
  66. package/src/molecules/NavbarSlider/NavbarSliderFooter.tsx +30 -0
  67. package/src/molecules/NavbarSlider/NavbarSliderHeader.tsx +29 -0
  68. package/src/molecules/NavbarSlider/index.ts +11 -0
  69. package/src/organisms/Navbar/Navbar.tsx +32 -0
  70. package/src/organisms/Navbar/NavbarButtons.tsx +34 -0
  71. package/src/organisms/Navbar/NavbarHeader.tsx +29 -0
  72. package/src/organisms/Navbar/NavbarRow.tsx +22 -0
  73. package/src/organisms/Navbar/index.ts +11 -0
  74. package/src/organisms/ProductGrid/ProductGrid.tsx +24 -0
  75. package/src/organisms/ProductGrid/ProductGridItem.tsx +24 -0
  76. package/src/organisms/ProductGrid/index.ts +5 -0
@@ -2,3 +2,4 @@ export { default as UIProvider, Toast as ToastProps, useUI } from './UIProvider'
2
2
  export { useFadeEffect } from './useFadeEffect';
3
3
  export { useTrapFocus } from './useTrapFocus';
4
4
  export { useSearch } from './useSearch';
5
+ export { useScrollDirection } from './useScrollDirection';
@@ -2,4 +2,5 @@ export { default as UIProvider, useUI } from './UIProvider';
2
2
  export { useFadeEffect } from './useFadeEffect';
3
3
  export { useTrapFocus } from './useTrapFocus';
4
4
  export { useSearch } from './useSearch';
5
+ export { useScrollDirection } from './useScrollDirection';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAuB,KAAK,EAAE,MAAM,cAAc,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAuB,KAAK,EAAE,MAAM,cAAc,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const useScrollDirection: () => string;
@@ -0,0 +1,22 @@
1
+ import { useEffect, useState, useTransition } from 'react';
2
+ export const useScrollDirection = () => {
3
+ const [scrollDirection, setScrollDirection] = useState('');
4
+ const [isPending, startTransition] = useTransition();
5
+ useEffect(() => {
6
+ let lastScrollY = window.scrollY;
7
+ const updateScrollDirection = () => {
8
+ const { scrollY } = window;
9
+ const direction = scrollY > lastScrollY ? 'down' : 'up';
10
+ if (!isPending &&
11
+ direction !== scrollDirection &&
12
+ (scrollY - lastScrollY > 10 || scrollY - lastScrollY < -10)) {
13
+ startTransition(() => setScrollDirection(direction));
14
+ }
15
+ lastScrollY = scrollY > 0 ? scrollY : 0;
16
+ };
17
+ window.addEventListener('scroll', updateScrollDirection);
18
+ return () => window.removeEventListener('scroll', updateScrollDirection);
19
+ }, [isPending, scrollDirection]);
20
+ return scrollDirection;
21
+ };
22
+ //# sourceMappingURL=useScrollDirection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useScrollDirection.js","sourceRoot":"","sources":["../../src/hooks/useScrollDirection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAA;IAClE,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,GAAG,aAAa,EAAE,CAAA;IAEpD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,CAAA;QAEhC,MAAM,qBAAqB,GAAG,GAAG,EAAE;YACjC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;YAC1B,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;YAEvD,IACE,CAAC,SAAS;gBACV,SAAS,KAAK,eAAe;gBAC7B,CAAC,OAAO,GAAG,WAAW,GAAG,EAAE,IAAI,OAAO,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,EAC3D;gBACA,eAAe,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAA;aACrD;YAED,WAAW,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QACzC,CAAC,CAAA;QAED,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAA;QAExD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IAC1E,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAA;IAEhC,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA"}
@@ -1,5 +1,5 @@
1
- import { SearchContext } from "../molecules/SearchProvider/SearchProvider";
2
- import { useContext } from "react";
1
+ import { useContext } from 'react';
2
+ import { SearchContext } from '../molecules/SearchProvider/SearchProvider';
3
3
  export const useSearch = () => {
4
4
  const context = useContext(SearchContext);
5
5
  if (!context) {
@@ -1 +1 @@
1
- {"version":3,"file":"useSearch.js","sourceRoot":"","sources":["../../src/hooks/useSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IAEzC,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,EAAE,SAAS,EAAE,KAAc,EAAE,CAAA;KACvC;IAED,OAAO,EAAE,SAAS,EAAE,IAAa,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AACxD,CAAC,CAAA"}
1
+ {"version":3,"file":"useSearch.js","sourceRoot":"","sources":["../../src/hooks/useSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAE1E,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE;IAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IAEzC,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,SAAS,EAAE,KAAc,EAAE,CAAA;KACrC;IAED,OAAO,EAAE,SAAS,EAAE,IAAa,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;AACtD,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -55,6 +55,10 @@ export { default as LinkButton } from './molecules/LinkButton';
55
55
  export type { LinkButtonProps } from './molecules/LinkButton';
56
56
  export { default as Modal, ModalHeader, ModalBody } from './molecules/Modal';
57
57
  export type { ModalProps, ModalHeaderProps } from './molecules/Modal';
58
+ export { default as NavbarLinks } from './molecules/NavbarLinks';
59
+ export type { NavbarLinksProps } from './molecules/NavbarLinks';
60
+ export { default as NavbarSlider, NavbarSliderHeader, NavbarSliderContent, NavbarSliderFooter, } from './molecules/NavbarSlider';
61
+ export type { NavbarSliderProps, NavbarSliderHeaderProps, NavbarSliderContentProps, NavbarSliderFooterProps, } from './molecules/NavbarSlider';
58
62
  export { default as OrderSummary } from './molecules/OrderSummary';
59
63
  export type { OrderSummaryProps } from './molecules/OrderSummary';
60
64
  export { default as ProductCard, ProductCardImage, ProductCardContent, } from './molecules/ProductCard';
@@ -107,14 +111,18 @@ export { default as Hero, HeroImage, HeroHeader } from './organisms/Hero';
107
111
  export type { HeroProps, HeroImageProps, HeroHeaderProps, } from './organisms/Hero';
108
112
  export { default as ImageGallery, ImageGallerySelector, ImageZoom, } from './organisms/ImageGallery';
109
113
  export type { ImageElementData, ImageGalleryProps, ImageGallerySelectorProps, ImageZoomProps, } from './organisms/ImageGallery';
114
+ export { default as Navbar, NavbarHeader, NavbarRow, NavbarButtons, } from './organisms/Navbar';
115
+ export type { NavbarProps, NavbarHeaderProps, NavbarRowProps, NavbarButtonsProps, } from './organisms/Navbar';
110
116
  export { default as OutOfStock } from './organisms/OutOfStock';
111
117
  export type { OutOfStockProps } from './organisms/OutOfStock';
112
118
  export { default as PaymentMethods } from './organisms/PaymentMethods';
113
119
  export type { PaymentMethodsProps } from './organisms/PaymentMethods';
114
120
  export { default as PriceRange } from './organisms/PriceRange';
115
121
  export type { PriceRangeProps } from './organisms/PriceRange';
116
- export { default as ProductShelf, ProductShelfItems, ProductShelfItem } from './organisms/ProductShelf';
117
- export type { ProductShelfProps, ProductShelfItemsProps, ProductShelfItemProps } from './organisms/ProductShelf';
122
+ export { default as ProductGrid, ProductGridItem, } from './organisms/ProductGrid';
123
+ export type { ProductGridProps, ProductGridItemProps, } from './organisms/ProductGrid';
124
+ export { default as ProductShelf, ProductShelfItems, ProductShelfItem, } from './organisms/ProductShelf';
125
+ export type { ProductShelfProps, ProductShelfItemsProps, ProductShelfItemProps, } from './organisms/ProductShelf';
118
126
  export { default as RegionModal } from './organisms/RegionModal';
119
127
  export type { RegionModalProps } from './organisms/RegionModal';
120
128
  export { default as SearchInput } from './organisms/SearchInput';
package/dist/index.js CHANGED
@@ -31,6 +31,8 @@ export { default as Gift, GiftContent, GiftImage } from './molecules/Gift';
31
31
  export { default as InputField } from './molecules/InputField';
32
32
  export { default as LinkButton } from './molecules/LinkButton';
33
33
  export { default as Modal, ModalHeader, ModalBody } from './molecules/Modal';
34
+ export { default as NavbarLinks } from './molecules/NavbarLinks';
35
+ export { default as NavbarSlider, NavbarSliderHeader, NavbarSliderContent, NavbarSliderFooter, } from './molecules/NavbarSlider';
34
36
  export { default as OrderSummary } from './molecules/OrderSummary';
35
37
  export { default as ProductCard, ProductCardImage, ProductCardContent, } from './molecules/ProductCard';
36
38
  export { default as ProductTitle } from './molecules/ProductTitle';
@@ -59,10 +61,12 @@ export { default as EmptyState } from './organisms/EmptyState';
59
61
  export { default as Filter, FilterFacetBoolean, FilterFacetBooleanItem, FilterFacetRange, FilterFacets, FilterSlider, } from './organisms/Filter';
60
62
  export { default as Hero, HeroImage, HeroHeader } from './organisms/Hero';
61
63
  export { default as ImageGallery, ImageGallerySelector, ImageZoom, } from './organisms/ImageGallery';
64
+ export { default as Navbar, NavbarHeader, NavbarRow, NavbarButtons, } from './organisms/Navbar';
62
65
  export { default as OutOfStock } from './organisms/OutOfStock';
63
66
  export { default as PaymentMethods } from './organisms/PaymentMethods';
64
67
  export { default as PriceRange } from './organisms/PriceRange';
65
- export { default as ProductShelf, ProductShelfItems, ProductShelfItem } from './organisms/ProductShelf';
68
+ export { default as ProductGrid, ProductGridItem, } from './organisms/ProductGrid';
69
+ export { default as ProductShelf, ProductShelfItems, ProductShelfItem, } from './organisms/ProductShelf';
66
70
  export { default as RegionModal } from './organisms/RegionModal';
67
71
  export { default as SearchInput } from './organisms/SearchInput';
68
72
  export { default as ShippingSimulation } from './organisms/ShippingSimulation';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { HTMLAttributes } from 'react';
3
+ export interface NavbarLinksProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
6
+ */
7
+ testId?: string;
8
+ }
9
+ declare const NavbarLinks: React.ForwardRefExoticComponent<NavbarLinksProps & React.RefAttributes<HTMLDivElement>>;
10
+ export default NavbarLinks;
@@ -0,0 +1,6 @@
1
+ import React, { forwardRef } from 'react';
2
+ const NavbarLinks = forwardRef(function NavbarLinks({ children, testId = 'fs-navbar-links', ...otherProps }, ref) {
3
+ return (React.createElement("nav", { "data-fs-navbar-links": true, ref: ref, "data-testid": testId, ...otherProps }, children));
4
+ });
5
+ export default NavbarLinks;
6
+ //# sourceMappingURL=NavbarLinks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavbarLinks.js","sourceRoot":"","sources":["../../../src/molecules/NavbarLinks/NavbarLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAUzC,MAAM,WAAW,GAAG,UAAU,CAC5B,SAAS,WAAW,CAClB,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,UAAU,EAAE,EACvD,GAAG;IAEH,OAAO,CACL,2DAA0B,GAAG,EAAE,GAAG,iBAAe,MAAM,KAAM,UAAU,IACpE,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './NavbarLinks';
2
+ export type { NavbarLinksProps } from './NavbarLinks';
@@ -0,0 +1,2 @@
1
+ export { default } from './NavbarLinks';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/molecules/NavbarLinks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,19 @@
1
+ /// <reference types="react" />
2
+ import type { SlideOverProps } from '../..';
3
+ type RequiredSliderOverProps = 'isOpen' | 'direction' | 'size';
4
+ export interface NavbarSliderProps extends Omit<SlideOverProps, RequiredSliderOverProps> {
5
+ /**
6
+ * A boolean value that represents the state of the slider.
7
+ */
8
+ isOpen?: SlideOverProps['isOpen'];
9
+ /**
10
+ * Represents the side that the slider comes from.
11
+ */
12
+ direction?: SlideOverProps['direction'];
13
+ /**
14
+ * Represents the size of the slider.
15
+ */
16
+ size?: SlideOverProps['size'];
17
+ }
18
+ declare function NavbarSlider({ children, size, isOpen, direction, testId, ...otherProps }: NavbarSliderProps): JSX.Element;
19
+ export default NavbarSlider;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { SlideOver } from '../..';
3
+ function NavbarSlider({ children, size = 'full', isOpen = true, direction = 'leftSide', testId = 'fs-navbar-slider', ...otherProps }) {
4
+ return (React.createElement(SlideOver, { size: "full", isOpen: isOpen, direction: "leftSide", "data-fs-navbar-slider": true, "data-testid": testId, ...otherProps }, children));
5
+ }
6
+ export default NavbarSlider;
7
+ //# sourceMappingURL=NavbarSlider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavbarSlider.js","sourceRoot":"","sources":["../../../src/molecules/NavbarSlider/NavbarSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAqBjC,SAAS,YAAY,CAAC,EACpB,QAAQ,EACR,IAAI,GAAG,MAAM,EACb,MAAM,GAAG,IAAI,EACb,SAAS,GAAG,UAAU,EACtB,MAAM,GAAG,kBAAkB,EAC3B,GAAG,UAAU,EACK;IAClB,OAAO,CACL,oBAAC,SAAS,IACR,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,MAAM,EACd,SAAS,EAAC,UAAU,gDAEP,MAAM,KACf,UAAU,IAEb,QAAQ,CACC,CACb,CAAA;AACH,CAAC;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { HTMLAttributes } from 'react';
3
+ export interface NavbarSliderContentProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
6
+ */
7
+ testId?: string;
8
+ }
9
+ declare const NavbarSliderContent: React.ForwardRefExoticComponent<NavbarSliderContentProps & React.RefAttributes<HTMLDivElement>>;
10
+ export default NavbarSliderContent;
@@ -0,0 +1,6 @@
1
+ import React, { forwardRef } from 'react';
2
+ const NavbarSliderContent = forwardRef(function NavbarSliderContent({ children, testId = 'fs-navbar-slider-content', ...otherProps }, ref) {
3
+ return (React.createElement("div", { "data-fs-navbar-slider-content": true, ref: ref, "data-testid": testId, ...otherProps }, children));
4
+ });
5
+ export default NavbarSliderContent;
6
+ //# sourceMappingURL=NavbarSliderContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavbarSliderContent.js","sourceRoot":"","sources":["../../../src/molecules/NavbarSlider/NavbarSliderContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAWzC,MAAM,mBAAmB,GAAG,UAAU,CAGpC,SAAS,mBAAmB,CAC5B,EAAE,QAAQ,EAAE,MAAM,GAAG,0BAA0B,EAAE,GAAG,UAAU,EAAE,EAChE,GAAG;IAEH,OAAO,CACL,oEAEE,GAAG,EAAE,GAAG,iBACK,MAAM,KACf,UAAU,IAEb,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { HTMLAttributes } from 'react';
3
+ export interface NavbarSliderFooterProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
6
+ */
7
+ testId?: string;
8
+ }
9
+ declare const NavbarSliderFooter: React.ForwardRefExoticComponent<NavbarSliderFooterProps & React.RefAttributes<HTMLDivElement>>;
10
+ export default NavbarSliderFooter;
@@ -0,0 +1,6 @@
1
+ import React, { forwardRef } from 'react';
2
+ const NavbarSliderFooter = forwardRef(function NavbarSliderFooter({ children, testId = 'fs-navbar-slider-footer', ...otherProps }, ref) {
3
+ return (React.createElement("footer", { "data-fs-navbar-slider-footer": true, ref: ref, "data-testid": testId, ...otherProps }, children));
4
+ });
5
+ export default NavbarSliderFooter;
6
+ //# sourceMappingURL=NavbarSliderFooter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavbarSliderFooter.js","sourceRoot":"","sources":["../../../src/molecules/NavbarSlider/NavbarSliderFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAWzC,MAAM,kBAAkB,GAAG,UAAU,CACnC,SAAS,kBAAkB,CACzB,EAAE,QAAQ,EAAE,MAAM,GAAG,yBAAyB,EAAE,GAAG,UAAU,EAAE,EAC/D,GAAG;IAEH,OAAO,CACL,sEAEE,GAAG,EAAE,GAAG,iBACK,MAAM,KACf,UAAU,IAEb,QAAQ,CACF,CACV,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import type { SlideOverHeaderProps } from '../..';
3
+ export interface NavbarSliderHeaderProps extends SlideOverHeaderProps {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
6
+ */
7
+ testId?: string;
8
+ }
9
+ declare function NavbarSliderHeader({ children, testId, ...otherProps }: NavbarSliderHeaderProps): JSX.Element;
10
+ export default NavbarSliderHeader;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { SlideOverHeader } from '../..';
3
+ function NavbarSliderHeader({ children, testId = 'fs-navbar-slider-header', ...otherProps }) {
4
+ return (React.createElement(SlideOverHeader, { "data-fs-navbar-slider-header": true, "data-testid": testId, ...otherProps }, children));
5
+ }
6
+ export default NavbarSliderHeader;
7
+ //# sourceMappingURL=NavbarSliderHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavbarSliderHeader.js","sourceRoot":"","sources":["../../../src/molecules/NavbarSlider/NavbarSliderHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAUvC,SAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,MAAM,GAAG,yBAAyB,EAClC,GAAG,UAAU,EACW;IACxB,OAAO,CACL,oBAAC,eAAe,yDAED,MAAM,KACf,UAAU,IAEb,QAAQ,CACO,CACnB,CAAA;AACH,CAAC;AAED,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,8 @@
1
+ export { default } from './NavbarSlider';
2
+ export type { NavbarSliderProps } from './NavbarSlider';
3
+ export { default as NavbarSliderHeader } from './NavbarSliderHeader';
4
+ export type { NavbarSliderHeaderProps } from './NavbarSliderHeader';
5
+ export { default as NavbarSliderContent } from './NavbarSliderContent';
6
+ export type { NavbarSliderContentProps } from './NavbarSliderContent';
7
+ export { default as NavbarSliderFooter } from './NavbarSliderFooter';
8
+ export type { NavbarSliderFooterProps } from './NavbarSliderFooter';
@@ -0,0 +1,5 @@
1
+ export { default } from './NavbarSlider';
2
+ export { default as NavbarSliderHeader } from './NavbarSliderHeader';
3
+ export { default as NavbarSliderContent } from './NavbarSliderContent';
4
+ export { default as NavbarSliderFooter } from './NavbarSliderFooter';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/molecules/NavbarSlider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAGxC,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAGpE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAGtE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { HTMLAttributes } from 'react';
3
+ export interface NavbarProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
6
+ */
7
+ testId?: string;
8
+ /**
9
+ * Specifies the scroll direction. This value can be achieved using the `useScrollDirection` hook.
10
+ */
11
+ scrollDirection: string;
12
+ }
13
+ declare const Navbar: React.ForwardRefExoticComponent<NavbarProps & React.RefAttributes<HTMLDivElement>>;
14
+ export default Navbar;
@@ -0,0 +1,6 @@
1
+ import React, { forwardRef } from 'react';
2
+ const Navbar = forwardRef(function Navbar({ children, scrollDirection, testId = 'fs-navbar', ...otherProps }, ref) {
3
+ return (React.createElement("header", { "data-fs-navbar": true, ref: ref, "data-testid": testId, "data-fs-navbar-scroll": scrollDirection, ...otherProps }, children));
4
+ });
5
+ export default Navbar;
6
+ //# sourceMappingURL=Navbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Navbar.js","sourceRoot":"","sources":["../../../src/organisms/Navbar/Navbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAczC,MAAM,MAAM,GAAG,UAAU,CAA8B,SAAS,MAAM,CACpE,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,UAAU,EAAE,EAClE,GAAG;IAEH,OAAO,CACL,wDAEE,GAAG,EAAE,GAAG,iBACK,MAAM,2BACI,eAAe,KAClC,UAAU,IAEb,QAAQ,CACF,CACV,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,MAAM,CAAA"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { HTMLAttributes } from 'react';
3
+ export interface NavbarButtonsProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
6
+ */
7
+ testId?: string;
8
+ /**
9
+ * Specifies whether the Search Input is expanded or not.
10
+ */
11
+ searchExpanded: boolean;
12
+ }
13
+ declare const NavbarButtons: React.ForwardRefExoticComponent<NavbarButtonsProps & React.RefAttributes<HTMLDivElement>>;
14
+ export default NavbarButtons;
@@ -0,0 +1,6 @@
1
+ import React, { forwardRef } from 'react';
2
+ const NavbarButtons = forwardRef(function NavbarButtons({ children, searchExpanded, testId = 'fs-navbar-buttons', ...otherProps }, ref) {
3
+ return (React.createElement("div", { "data-fs-navbar-buttons": true, ref: ref, "data-testid": testId, "data-fs-navbar-search-expanded": searchExpanded, ...otherProps }, children));
4
+ });
5
+ export default NavbarButtons;
6
+ //# sourceMappingURL=NavbarButtons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavbarButtons.js","sourceRoot":"","sources":["../../../src/organisms/Navbar/NavbarButtons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAczC,MAAM,aAAa,GAAG,UAAU,CAC9B,SAAS,aAAa,CACpB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,mBAAmB,EAAE,GAAG,UAAU,EAAE,EACzE,GAAG;IAEH,OAAO,CACL,6DAEE,GAAG,EAAE,GAAG,iBACK,MAAM,oCACa,cAAc,KAC1C,UAAU,IAEb,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { HTMLAttributes } from 'react';
3
+ export interface NavbarHeaderProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
6
+ */
7
+ testId?: string;
8
+ }
9
+ declare const NavbarHeader: React.ForwardRefExoticComponent<NavbarHeaderProps & React.RefAttributes<HTMLDivElement>>;
10
+ export default NavbarHeader;
@@ -0,0 +1,6 @@
1
+ import React, { forwardRef } from 'react';
2
+ const NavbarHeader = forwardRef(function NavbarHeader({ children, testId = 'fs-navbar-header', ...otherProps }, ref) {
3
+ return (React.createElement("section", { "data-fs-navbar-header": true, ref: ref, "data-testid": testId, ...otherProps }, children));
4
+ });
5
+ export default NavbarHeader;
6
+ //# sourceMappingURL=NavbarHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavbarHeader.js","sourceRoot":"","sources":["../../../src/organisms/Navbar/NavbarHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAUzC,MAAM,YAAY,GAAG,UAAU,CAC7B,SAAS,YAAY,CACnB,EAAE,QAAQ,EAAE,MAAM,GAAG,kBAAkB,EAAE,GAAG,UAAU,EAAE,EACxD,GAAG;IAEH,OAAO,CACL,gEAEE,GAAG,EAAE,GAAG,iBACK,MAAM,KACf,UAAU,IAEb,QAAQ,CACD,CACX,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { HTMLAttributes } from 'react';
3
+ export interface NavbarRowProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
6
+ */
7
+ testId?: string;
8
+ }
9
+ declare const NavbarRow: React.ForwardRefExoticComponent<NavbarRowProps & React.RefAttributes<HTMLDivElement>>;
10
+ export default NavbarRow;
@@ -0,0 +1,6 @@
1
+ import React, { forwardRef } from 'react';
2
+ const NavbarRow = forwardRef(function NavbarRow({ children, testId = 'fs-navbar-row', ...otherProps }, ref) {
3
+ return (React.createElement("div", { "data-fs-navbar-row": true, ref: ref, "data-testid": testId, ...otherProps }, children));
4
+ });
5
+ export default NavbarRow;
6
+ //# sourceMappingURL=NavbarRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavbarRow.js","sourceRoot":"","sources":["../../../src/organisms/Navbar/NavbarRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAUzC,MAAM,SAAS,GAAG,UAAU,CAAiC,SAAS,SAAS,CAC7E,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,UAAU,EAAE,EACrD,GAAG;IAEH,OAAO,CACL,yDAAwB,GAAG,EAAE,GAAG,iBAAe,MAAM,KAAM,UAAU,IAClE,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,SAAS,CAAA"}
@@ -0,0 +1,8 @@
1
+ export { default } from './Navbar';
2
+ export type { NavbarProps } from './Navbar';
3
+ export { default as NavbarHeader } from './NavbarHeader';
4
+ export type { NavbarHeaderProps } from './NavbarHeader';
5
+ export { default as NavbarRow } from './NavbarRow';
6
+ export type { NavbarRowProps } from './NavbarRow';
7
+ export { default as NavbarButtons } from './NavbarButtons';
8
+ export type { NavbarButtonsProps } from './NavbarButtons';
@@ -0,0 +1,5 @@
1
+ export { default } from './Navbar';
2
+ export { default as NavbarHeader } from './NavbarHeader';
3
+ export { default as NavbarRow } from './NavbarRow';
4
+ export { default as NavbarButtons } from './NavbarButtons';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/organisms/Navbar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAGlC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAGxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAGlD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { HTMLAttributes } from 'react';
3
+ export interface ProductGridProps extends HTMLAttributes<HTMLUListElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
6
+ */
7
+ testId?: string;
8
+ }
9
+ declare const ProductGrid: React.ForwardRefExoticComponent<ProductGridProps & React.RefAttributes<HTMLUListElement>>;
10
+ export default ProductGrid;
@@ -0,0 +1,6 @@
1
+ import React, { forwardRef } from 'react';
2
+ const ProductGrid = forwardRef(function ProductGridItem({ testId = 'fs-product-grid', children, ...otherProps }, ref) {
3
+ return (React.createElement("ul", { ref: ref, "data-fs-product-grid": true, ...otherProps }, children));
4
+ });
5
+ export default ProductGrid;
6
+ //# sourceMappingURL=ProductGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductGrid.js","sourceRoot":"","sources":["../../../src/organisms/ProductGrid/ProductGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAUzC,MAAM,WAAW,GAAG,UAAU,CAC5B,SAAS,eAAe,CACtB,EAAE,MAAM,GAAG,iBAAiB,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,EACvD,GAAG;IAEH,OAAO,CACL,4BAAI,GAAG,EAAE,GAAG,mCAA2B,UAAU,IAC9C,QAAQ,CACN,CACN,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { HTMLAttributes } from 'react';
3
+ export interface ProductGridItemProps extends HTMLAttributes<HTMLLIElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
6
+ */
7
+ testId?: string;
8
+ }
9
+ declare const ProductGridItem: React.ForwardRefExoticComponent<ProductGridItemProps & React.RefAttributes<HTMLLIElement>>;
10
+ export default ProductGridItem;
@@ -0,0 +1,6 @@
1
+ import React, { forwardRef } from 'react';
2
+ const ProductGridItem = forwardRef(function ProductGridItem({ testId = 'fs-product-grid-item', children, ...otherProps }, ref) {
3
+ return (React.createElement("li", { ref: ref, "data-fs-product-grid-item": true, ...otherProps }, children));
4
+ });
5
+ export default ProductGridItem;
6
+ //# sourceMappingURL=ProductGridItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProductGridItem.js","sourceRoot":"","sources":["../../../src/organisms/ProductGrid/ProductGridItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAUzC,MAAM,eAAe,GAAG,UAAU,CAChC,SAAS,eAAe,CACtB,EAAE,MAAM,GAAG,sBAAsB,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,EAC5D,GAAG;IAEH,OAAO,CACL,4BAAI,GAAG,EAAE,GAAG,wCAAgC,UAAU,IACnD,QAAQ,CACN,CACN,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -0,0 +1,4 @@
1
+ export { default } from './ProductGrid';
2
+ export type { ProductGridProps } from './ProductGrid';
3
+ export { default as ProductGridItem } from './ProductGridItem';
4
+ export type { ProductGridItemProps } from './ProductGridItem';
@@ -0,0 +1,3 @@
1
+ export { default } from './ProductGrid';
2
+ export { default as ProductGridItem } from './ProductGridItem';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/organisms/ProductGrid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAGvC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/components",
3
- "version": "2.0.110-alpha.0",
3
+ "version": "2.0.113-alpha.0",
4
4
  "module": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
6
6
  "author": "Emerson Laurentino @emersonlaurentino",
@@ -30,5 +30,5 @@
30
30
  "node": "16.18.0",
31
31
  "yarn": "1.19.1"
32
32
  },
33
- "gitHead": "4d3127188c79beaa7f286bc8791f902742110c9b"
33
+ "gitHead": "d98da992d055d403b4beb5b15f74829a017bb763"
34
34
  }
@@ -2,3 +2,4 @@ export { default as UIProvider, Toast as ToastProps, useUI } from './UIProvider'
2
2
  export { useFadeEffect } from './useFadeEffect'
3
3
  export { useTrapFocus } from './useTrapFocus'
4
4
  export { useSearch } from './useSearch'
5
+ export { useScrollDirection } from './useScrollDirection'
@@ -0,0 +1,31 @@
1
+ import { useEffect, useState, useTransition } from 'react'
2
+
3
+ export const useScrollDirection = () => {
4
+ const [scrollDirection, setScrollDirection] = useState<string>('')
5
+ const [isPending, startTransition] = useTransition()
6
+
7
+ useEffect(() => {
8
+ let lastScrollY = window.scrollY
9
+
10
+ const updateScrollDirection = () => {
11
+ const { scrollY } = window
12
+ const direction = scrollY > lastScrollY ? 'down' : 'up'
13
+
14
+ if (
15
+ !isPending &&
16
+ direction !== scrollDirection &&
17
+ (scrollY - lastScrollY > 10 || scrollY - lastScrollY < -10)
18
+ ) {
19
+ startTransition(() => setScrollDirection(direction))
20
+ }
21
+
22
+ lastScrollY = scrollY > 0 ? scrollY : 0
23
+ }
24
+
25
+ window.addEventListener('scroll', updateScrollDirection)
26
+
27
+ return () => window.removeEventListener('scroll', updateScrollDirection)
28
+ }, [isPending, scrollDirection])
29
+
30
+ return scrollDirection
31
+ }
@@ -1,12 +1,13 @@
1
- import { SearchContext } from "../molecules/SearchProvider/SearchProvider"
2
- import { useContext } from "react"
1
+ import { useContext } from 'react'
2
+
3
+ import { SearchContext } from '../molecules/SearchProvider/SearchProvider'
3
4
 
4
5
  export const useSearch = () => {
5
- const context = useContext(SearchContext)
6
+ const context = useContext(SearchContext)
6
7
 
7
- if (!context) {
8
- return { inContext: false as const }
9
- }
8
+ if (!context) {
9
+ return { inContext: false as const }
10
+ }
10
11
 
11
- return { inContext: true as const, values: context }
12
- }
12
+ return { inContext: true as const, values: context }
13
+ }
package/src/index.ts CHANGED
@@ -95,6 +95,20 @@ export { default as LinkButton } from './molecules/LinkButton'
95
95
  export type { LinkButtonProps } from './molecules/LinkButton'
96
96
  export { default as Modal, ModalHeader, ModalBody } from './molecules/Modal'
97
97
  export type { ModalProps, ModalHeaderProps } from './molecules/Modal'
98
+ export { default as NavbarLinks } from './molecules/NavbarLinks'
99
+ export type { NavbarLinksProps } from './molecules/NavbarLinks'
100
+ export {
101
+ default as NavbarSlider,
102
+ NavbarSliderHeader,
103
+ NavbarSliderContent,
104
+ NavbarSliderFooter,
105
+ } from './molecules/NavbarSlider'
106
+ export type {
107
+ NavbarSliderProps,
108
+ NavbarSliderHeaderProps,
109
+ NavbarSliderContentProps,
110
+ NavbarSliderFooterProps,
111
+ } from './molecules/NavbarSlider'
98
112
  export { default as OrderSummary } from './molecules/OrderSummary'
99
113
  export type { OrderSummaryProps } from './molecules/OrderSummary'
100
114
  export {
@@ -236,6 +250,19 @@ export type {
236
250
  ImageZoomProps,
237
251
  } from './organisms/ImageGallery'
238
252
 
253
+ export {
254
+ default as Navbar,
255
+ NavbarHeader,
256
+ NavbarRow,
257
+ NavbarButtons,
258
+ } from './organisms/Navbar'
259
+ export type {
260
+ NavbarProps,
261
+ NavbarHeaderProps,
262
+ NavbarRowProps,
263
+ NavbarButtonsProps,
264
+ } from './organisms/Navbar'
265
+
239
266
  export { default as OutOfStock } from './organisms/OutOfStock'
240
267
  export type { OutOfStockProps } from './organisms/OutOfStock'
241
268
 
@@ -245,8 +272,25 @@ export type { PaymentMethodsProps } from './organisms/PaymentMethods'
245
272
  export { default as PriceRange } from './organisms/PriceRange'
246
273
  export type { PriceRangeProps } from './organisms/PriceRange'
247
274
 
248
- export { default as ProductShelf, ProductShelfItems, ProductShelfItem } from './organisms/ProductShelf'
249
- export type { ProductShelfProps, ProductShelfItemsProps, ProductShelfItemProps } from './organisms/ProductShelf'
275
+ export {
276
+ default as ProductGrid,
277
+ ProductGridItem,
278
+ } from './organisms/ProductGrid'
279
+ export type {
280
+ ProductGridProps,
281
+ ProductGridItemProps,
282
+ } from './organisms/ProductGrid'
283
+
284
+ export {
285
+ default as ProductShelf,
286
+ ProductShelfItems,
287
+ ProductShelfItem,
288
+ } from './organisms/ProductShelf'
289
+ export type {
290
+ ProductShelfProps,
291
+ ProductShelfItemsProps,
292
+ ProductShelfItemProps,
293
+ } from './organisms/ProductShelf'
250
294
 
251
295
  export { default as RegionModal } from './organisms/RegionModal'
252
296
  export type { RegionModalProps } from './organisms/RegionModal'
@@ -0,0 +1,24 @@
1
+ import React, { forwardRef } from 'react'
2
+ import type { HTMLAttributes } from 'react'
3
+
4
+ export interface NavbarLinksProps extends HTMLAttributes<HTMLDivElement> {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
7
+ */
8
+ testId?: string
9
+ }
10
+
11
+ const NavbarLinks = forwardRef<HTMLDivElement, NavbarLinksProps>(
12
+ function NavbarLinks(
13
+ { children, testId = 'fs-navbar-links', ...otherProps },
14
+ ref
15
+ ) {
16
+ return (
17
+ <nav data-fs-navbar-links ref={ref} data-testid={testId} {...otherProps}>
18
+ {children}
19
+ </nav>
20
+ )
21
+ }
22
+ )
23
+
24
+ export default NavbarLinks
@@ -0,0 +1,2 @@
1
+ export { default } from './NavbarLinks'
2
+ export type { NavbarLinksProps } from './NavbarLinks'
@@ -0,0 +1,46 @@
1
+ import React from 'react'
2
+
3
+ import { SlideOver } from '../..'
4
+ import type { SlideOverProps } from '../..'
5
+
6
+ type RequiredSliderOverProps = 'isOpen' | 'direction' | 'size'
7
+
8
+ export interface NavbarSliderProps
9
+ extends Omit<SlideOverProps, RequiredSliderOverProps> {
10
+ /**
11
+ * A boolean value that represents the state of the slider.
12
+ */
13
+ isOpen?: SlideOverProps['isOpen']
14
+ /**
15
+ * Represents the side that the slider comes from.
16
+ */
17
+ direction?: SlideOverProps['direction']
18
+ /**
19
+ * Represents the size of the slider.
20
+ */
21
+ size?: SlideOverProps['size']
22
+ }
23
+
24
+ function NavbarSlider({
25
+ children,
26
+ size = 'full',
27
+ isOpen = true,
28
+ direction = 'leftSide',
29
+ testId = 'fs-navbar-slider',
30
+ ...otherProps
31
+ }: NavbarSliderProps) {
32
+ return (
33
+ <SlideOver
34
+ size="full"
35
+ isOpen={isOpen}
36
+ direction="leftSide"
37
+ data-fs-navbar-slider
38
+ data-testid={testId}
39
+ {...otherProps}
40
+ >
41
+ {children}
42
+ </SlideOver>
43
+ )
44
+ }
45
+
46
+ export default NavbarSlider
@@ -0,0 +1,31 @@
1
+ import React, { forwardRef } from 'react'
2
+ import type { HTMLAttributes } from 'react'
3
+
4
+ export interface NavbarSliderContentProps
5
+ extends HTMLAttributes<HTMLDivElement> {
6
+ /**
7
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
8
+ */
9
+ testId?: string
10
+ }
11
+
12
+ const NavbarSliderContent = forwardRef<
13
+ HTMLDivElement,
14
+ NavbarSliderContentProps
15
+ >(function NavbarSliderContent(
16
+ { children, testId = 'fs-navbar-slider-content', ...otherProps },
17
+ ref
18
+ ) {
19
+ return (
20
+ <div
21
+ data-fs-navbar-slider-content
22
+ ref={ref}
23
+ data-testid={testId}
24
+ {...otherProps}
25
+ >
26
+ {children}
27
+ </div>
28
+ )
29
+ })
30
+
31
+ export default NavbarSliderContent
@@ -0,0 +1,30 @@
1
+ import React, { forwardRef } from 'react'
2
+ import type { HTMLAttributes } from 'react'
3
+
4
+ export interface NavbarSliderFooterProps
5
+ extends HTMLAttributes<HTMLDivElement> {
6
+ /**
7
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
8
+ */
9
+ testId?: string
10
+ }
11
+
12
+ const NavbarSliderFooter = forwardRef<HTMLDivElement, NavbarSliderFooterProps>(
13
+ function NavbarSliderFooter(
14
+ { children, testId = 'fs-navbar-slider-footer', ...otherProps },
15
+ ref
16
+ ) {
17
+ return (
18
+ <footer
19
+ data-fs-navbar-slider-footer
20
+ ref={ref}
21
+ data-testid={testId}
22
+ {...otherProps}
23
+ >
24
+ {children}
25
+ </footer>
26
+ )
27
+ }
28
+ )
29
+
30
+ export default NavbarSliderFooter
@@ -0,0 +1,29 @@
1
+ import React from 'react'
2
+
3
+ import { SlideOverHeader } from '../..'
4
+ import type { SlideOverHeaderProps } from '../..'
5
+
6
+ export interface NavbarSliderHeaderProps extends SlideOverHeaderProps {
7
+ /**
8
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
9
+ */
10
+ testId?: string
11
+ }
12
+
13
+ function NavbarSliderHeader({
14
+ children,
15
+ testId = 'fs-navbar-slider-header',
16
+ ...otherProps
17
+ }: NavbarSliderHeaderProps) {
18
+ return (
19
+ <SlideOverHeader
20
+ data-fs-navbar-slider-header
21
+ data-testid={testId}
22
+ {...otherProps}
23
+ >
24
+ {children}
25
+ </SlideOverHeader>
26
+ )
27
+ }
28
+
29
+ export default NavbarSliderHeader
@@ -0,0 +1,11 @@
1
+ export { default } from './NavbarSlider'
2
+ export type { NavbarSliderProps } from './NavbarSlider'
3
+
4
+ export { default as NavbarSliderHeader } from './NavbarSliderHeader'
5
+ export type { NavbarSliderHeaderProps } from './NavbarSliderHeader'
6
+
7
+ export { default as NavbarSliderContent } from './NavbarSliderContent'
8
+ export type { NavbarSliderContentProps } from './NavbarSliderContent'
9
+
10
+ export { default as NavbarSliderFooter } from './NavbarSliderFooter'
11
+ export type { NavbarSliderFooterProps } from './NavbarSliderFooter'
@@ -0,0 +1,32 @@
1
+ import React, { forwardRef } from 'react'
2
+ import type { HTMLAttributes } from 'react'
3
+
4
+ export interface NavbarProps extends HTMLAttributes<HTMLDivElement> {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
7
+ */
8
+ testId?: string
9
+ /**
10
+ * Specifies the scroll direction. This value can be achieved using the `useScrollDirection` hook.
11
+ */
12
+ scrollDirection: string
13
+ }
14
+
15
+ const Navbar = forwardRef<HTMLDivElement, NavbarProps>(function Navbar(
16
+ { children, scrollDirection, testId = 'fs-navbar', ...otherProps },
17
+ ref
18
+ ) {
19
+ return (
20
+ <header
21
+ data-fs-navbar
22
+ ref={ref}
23
+ data-testid={testId}
24
+ data-fs-navbar-scroll={scrollDirection}
25
+ {...otherProps}
26
+ >
27
+ {children}
28
+ </header>
29
+ )
30
+ })
31
+
32
+ export default Navbar
@@ -0,0 +1,34 @@
1
+ import React, { forwardRef } from 'react'
2
+ import type { HTMLAttributes } from 'react'
3
+
4
+ export interface NavbarButtonsProps extends HTMLAttributes<HTMLDivElement> {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
7
+ */
8
+ testId?: string
9
+ /**
10
+ * Specifies whether the Search Input is expanded or not.
11
+ */
12
+ searchExpanded: boolean
13
+ }
14
+
15
+ const NavbarButtons = forwardRef<HTMLDivElement, NavbarButtonsProps>(
16
+ function NavbarButtons(
17
+ { children, searchExpanded, testId = 'fs-navbar-buttons', ...otherProps },
18
+ ref
19
+ ) {
20
+ return (
21
+ <div
22
+ data-fs-navbar-buttons
23
+ ref={ref}
24
+ data-testid={testId}
25
+ data-fs-navbar-search-expanded={searchExpanded}
26
+ {...otherProps}
27
+ >
28
+ {children}
29
+ </div>
30
+ )
31
+ }
32
+ )
33
+
34
+ export default NavbarButtons
@@ -0,0 +1,29 @@
1
+ import React, { forwardRef } from 'react'
2
+ import type { HTMLAttributes } from 'react'
3
+
4
+ export interface NavbarHeaderProps extends HTMLAttributes<HTMLDivElement> {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
7
+ */
8
+ testId?: string
9
+ }
10
+
11
+ const NavbarHeader = forwardRef<HTMLDivElement, NavbarHeaderProps>(
12
+ function NavbarHeader(
13
+ { children, testId = 'fs-navbar-header', ...otherProps },
14
+ ref
15
+ ) {
16
+ return (
17
+ <section
18
+ data-fs-navbar-header
19
+ ref={ref}
20
+ data-testid={testId}
21
+ {...otherProps}
22
+ >
23
+ {children}
24
+ </section>
25
+ )
26
+ }
27
+ )
28
+
29
+ export default NavbarHeader
@@ -0,0 +1,22 @@
1
+ import React, { forwardRef } from 'react'
2
+ import type { HTMLAttributes } from 'react'
3
+
4
+ export interface NavbarRowProps extends HTMLAttributes<HTMLDivElement> {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
7
+ */
8
+ testId?: string
9
+ }
10
+
11
+ const NavbarRow = forwardRef<HTMLDivElement, NavbarRowProps>(function NavbarRow(
12
+ { children, testId = 'fs-navbar-row', ...otherProps },
13
+ ref
14
+ ) {
15
+ return (
16
+ <div data-fs-navbar-row ref={ref} data-testid={testId} {...otherProps}>
17
+ {children}
18
+ </div>
19
+ )
20
+ })
21
+
22
+ export default NavbarRow
@@ -0,0 +1,11 @@
1
+ export { default } from './Navbar'
2
+ export type { NavbarProps } from './Navbar'
3
+
4
+ export { default as NavbarHeader } from './NavbarHeader'
5
+ export type { NavbarHeaderProps } from './NavbarHeader'
6
+
7
+ export { default as NavbarRow } from './NavbarRow'
8
+ export type { NavbarRowProps } from './NavbarRow'
9
+
10
+ export { default as NavbarButtons } from './NavbarButtons'
11
+ export type { NavbarButtonsProps } from './NavbarButtons'
@@ -0,0 +1,24 @@
1
+ import React, { forwardRef } from 'react'
2
+ import type { HTMLAttributes } from 'react'
3
+
4
+ export interface ProductGridProps extends HTMLAttributes<HTMLUListElement> {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
7
+ */
8
+ testId?: string
9
+ }
10
+
11
+ const ProductGrid = forwardRef<HTMLUListElement, ProductGridProps>(
12
+ function ProductGridItem(
13
+ { testId = 'fs-product-grid', children, ...otherProps },
14
+ ref
15
+ ) {
16
+ return (
17
+ <ul ref={ref} data-fs-product-grid {...otherProps}>
18
+ {children}
19
+ </ul>
20
+ )
21
+ }
22
+ )
23
+
24
+ export default ProductGrid
@@ -0,0 +1,24 @@
1
+ import React, { forwardRef } from 'react'
2
+ import type { HTMLAttributes } from 'react'
3
+
4
+ export interface ProductGridItemProps extends HTMLAttributes<HTMLLIElement> {
5
+ /**
6
+ * ID to find this component in testing tools (e.g.: Cypress, Testing Library, and Jest).
7
+ */
8
+ testId?: string
9
+ }
10
+
11
+ const ProductGridItem = forwardRef<HTMLLIElement, ProductGridItemProps>(
12
+ function ProductGridItem(
13
+ { testId = 'fs-product-grid-item', children, ...otherProps },
14
+ ref
15
+ ) {
16
+ return (
17
+ <li ref={ref} data-fs-product-grid-item {...otherProps}>
18
+ {children}
19
+ </li>
20
+ )
21
+ }
22
+ )
23
+
24
+ export default ProductGridItem
@@ -0,0 +1,5 @@
1
+ export { default } from './ProductGrid'
2
+ export type { ProductGridProps } from './ProductGrid'
3
+
4
+ export { default as ProductGridItem } from './ProductGridItem'
5
+ export type { ProductGridItemProps } from './ProductGridItem'