@faststore/components 2.0.87-alpha.0 → 2.0.89-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 (86) hide show
  1. package/dist/assets/BellRinging.d.ts +4 -0
  2. package/dist/assets/BellRinging.js +6 -0
  3. package/dist/assets/BellRinging.js.map +1 -0
  4. package/dist/assets/MagnifyingGlass.d.ts +3 -2
  5. package/dist/assets/MagnifyingGlass.js +3 -4
  6. package/dist/assets/MagnifyingGlass.js.map +1 -1
  7. package/dist/assets/index.d.ts +1 -0
  8. package/dist/assets/index.js +1 -0
  9. package/dist/assets/index.js.map +1 -1
  10. package/dist/atoms/Loader/Loader.js +1 -1
  11. package/dist/atoms/Loader/Loader.js.map +1 -1
  12. package/dist/hooks/index.d.ts +1 -0
  13. package/dist/hooks/index.js +1 -0
  14. package/dist/hooks/index.js.map +1 -1
  15. package/dist/hooks/useSearch.d.ts +7 -0
  16. package/dist/hooks/useSearch.js +10 -0
  17. package/dist/hooks/useSearch.js.map +1 -0
  18. package/dist/index.d.ts +9 -0
  19. package/dist/index.js +5 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/molecules/SearchAutoComplete/SearchAutoComplete.d.ts +1 -1
  22. package/dist/molecules/SearchAutoComplete/SearchAutoComplete.js +5 -1
  23. package/dist/molecules/SearchAutoComplete/SearchAutoComplete.js.map +1 -1
  24. package/dist/molecules/SearchDropdown/SearchDropdown.d.ts +14 -0
  25. package/dist/molecules/SearchDropdown/SearchDropdown.js +14 -0
  26. package/dist/molecules/SearchDropdown/SearchDropdown.js.map +1 -0
  27. package/dist/molecules/SearchDropdown/index.d.ts +2 -0
  28. package/dist/molecules/SearchDropdown/index.js +2 -0
  29. package/dist/molecules/SearchDropdown/index.js.map +1 -0
  30. package/dist/molecules/SearchHistory/SearchHistory.d.ts +1 -1
  31. package/dist/molecules/SearchHistory/SearchHistory.js +5 -1
  32. package/dist/molecules/SearchHistory/SearchHistory.js.map +1 -1
  33. package/dist/molecules/SearchInputField/SearchInputField.d.ts +36 -0
  34. package/dist/molecules/SearchInputField/SearchInputField.js +21 -0
  35. package/dist/molecules/SearchInputField/SearchInputField.js.map +1 -0
  36. package/dist/molecules/SearchInputField/index.d.ts +2 -0
  37. package/dist/molecules/SearchInputField/index.js +2 -0
  38. package/dist/molecules/SearchInputField/index.js.map +1 -0
  39. package/dist/molecules/SearchProducts/SearchProductItemContent.d.ts +2 -2
  40. package/dist/molecules/SearchProducts/SearchProducts.d.ts +1 -1
  41. package/dist/molecules/SearchProducts/SearchProducts.js +5 -1
  42. package/dist/molecules/SearchProducts/SearchProducts.js.map +1 -1
  43. package/dist/molecules/SearchProvider/SearchProvider.d.ts +29 -0
  44. package/dist/molecules/SearchProvider/SearchProvider.js +8 -0
  45. package/dist/molecules/SearchProvider/SearchProvider.js.map +1 -0
  46. package/dist/molecules/SearchProvider/index.d.ts +2 -0
  47. package/dist/molecules/SearchProvider/index.js +2 -0
  48. package/dist/molecules/SearchProvider/index.js.map +1 -0
  49. package/dist/molecules/SearchTop/SearchTop.d.ts +0 -8
  50. package/dist/molecules/SearchTop/SearchTop.js +8 -4
  51. package/dist/molecules/SearchTop/SearchTop.js.map +1 -1
  52. package/dist/organisms/OutOfStock/OutOfStock.d.ts +43 -0
  53. package/dist/organisms/OutOfStock/OutOfStock.js +14 -0
  54. package/dist/organisms/OutOfStock/OutOfStock.js.map +1 -0
  55. package/dist/organisms/OutOfStock/index.d.ts +2 -0
  56. package/dist/organisms/OutOfStock/index.js +2 -0
  57. package/dist/organisms/OutOfStock/index.js.map +1 -0
  58. package/dist/organisms/SearchInput/SearchInput.d.ts +26 -0
  59. package/dist/organisms/SearchInput/SearchInput.js +8 -0
  60. package/dist/organisms/SearchInput/SearchInput.js.map +1 -0
  61. package/dist/organisms/SearchInput/index.d.ts +2 -0
  62. package/dist/organisms/SearchInput/index.js +2 -0
  63. package/dist/organisms/SearchInput/index.js.map +1 -0
  64. package/package.json +2 -2
  65. package/src/assets/BellRinging.tsx +18 -0
  66. package/src/assets/MagnifyingGlass.tsx +12 -29
  67. package/src/assets/index.ts +1 -0
  68. package/src/atoms/Loader/Loader.tsx +2 -2
  69. package/src/hooks/index.ts +1 -0
  70. package/src/hooks/useSearch.ts +12 -0
  71. package/src/index.ts +21 -0
  72. package/src/molecules/SearchAutoComplete/SearchAutoComplete.tsx +8 -1
  73. package/src/molecules/SearchDropdown/SearchDropdown.tsx +45 -0
  74. package/src/molecules/SearchDropdown/index.ts +2 -0
  75. package/src/molecules/SearchHistory/SearchHistory.tsx +8 -1
  76. package/src/molecules/SearchInputField/SearchInputField.tsx +100 -0
  77. package/src/molecules/SearchInputField/index.ts +5 -0
  78. package/src/molecules/SearchProducts/SearchProductItemContent.tsx +1 -1
  79. package/src/molecules/SearchProducts/SearchProducts.tsx +6 -1
  80. package/src/molecules/SearchProvider/SearchProvider.tsx +49 -0
  81. package/src/molecules/SearchProvider/index.ts +2 -0
  82. package/src/molecules/SearchTop/SearchTop.tsx +12 -21
  83. package/src/organisms/OutOfStock/OutOfStock.tsx +102 -0
  84. package/src/organisms/OutOfStock/index.tsx +2 -0
  85. package/src/organisms/SearchInput/SearchInput.tsx +55 -0
  86. package/src/organisms/SearchInput/index.ts +2 -0
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { IconProps } from './IconProps';
3
+ declare const BellRinging: ({ size }: IconProps) => JSX.Element;
4
+ export default BellRinging;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ // Icon from Phosphor Icons
3
+ const BellRinging = ({ size = 24 }) => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 256 256", strokeWidth: "16", width: size, height: size },
4
+ React.createElement("path", { d: "M224,71.1a8,8,0,0,1-10.78-3.42,94.13,94.13,0,0,0-33.46-36.91,8,8,0,1,1,8.54-13.54,111.46,111.46,0,0,1,39.12,43.09A8,8,0,0,1,224,71.1ZM35.71,72a8,8,0,0,0,7.1-4.32A94.13,94.13,0,0,1,76.27,30.77a8,8,0,1,0-8.54-13.54A111.46,111.46,0,0,0,28.61,60.32,8,8,0,0,0,35.71,72Zm186.1,103.94A16,16,0,0,1,208,200H167.2a40,40,0,0,1-78.4,0H48a16,16,0,0,1-13.79-24.06C43.22,160.39,48,138.28,48,112a80,80,0,0,1,160,0C208,138.27,212.78,160.38,221.81,175.94ZM150.62,200H105.38a24,24,0,0,0,45.24,0ZM208,184c-10.64-18.27-16-42.49-16-72a64,64,0,0,0-128,0c0,29.52-5.38,53.74-16,72Z" })));
5
+ export default BellRinging;
6
+ //# sourceMappingURL=BellRinging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BellRinging.js","sourceRoot":"","sources":["../../src/assets/BellRinging.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,2BAA2B;AAC3B,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAa,EAAE,EAAE,CAAC,CAChD,6BACE,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,cAAc,EACnB,OAAO,EAAC,aAAa,EACrB,WAAW,EAAC,IAAI,EAChB,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI;IAEZ,8BAAM,CAAC,EAAC,8iBAA8iB,GAAQ,CAC1jB,CACP,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -1,3 +1,4 @@
1
- import type { FC } from 'react';
2
- declare const MagnifyingGlass: FC;
1
+ /// <reference types="react" />
2
+ import { IconProps } from './IconProps';
3
+ declare const MagnifyingGlass: ({ size }: IconProps) => JSX.Element;
3
4
  export default MagnifyingGlass;
@@ -1,8 +1,7 @@
1
1
  import React from 'react';
2
2
  // Icon from Phosphor Icons
3
- const MagnifyingGlass = () => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 256 256", strokeWidth: "16", width: 24, height: 24 },
4
- React.createElement("rect", { width: "256", height: "256", fill: "none" }),
5
- React.createElement("circle", { cx: "116", cy: "116", r: "84", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "16" }),
6
- React.createElement("line", { x1: "175.4", y1: "175.4", x2: "224", y2: "224", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "16" })));
3
+ const MagnifyingGlass = ({ size = 24 }) => (React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" },
4
+ React.createElement("circle", { cx: "11", cy: "11", r: "8" }),
5
+ React.createElement("line", { x1: "21", y1: "21", x2: "16.65", y2: "16.65" })));
7
6
  export default MagnifyingGlass;
8
7
  //# sourceMappingURL=MagnifyingGlass.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MagnifyingGlass.js","sourceRoot":"","sources":["../../src/assets/MagnifyingGlass.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,2BAA2B;AAC3B,MAAM,eAAe,GAAO,GAAG,EAAE,CAAC,CAChC,6BACE,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,cAAc,EACnB,OAAO,EAAC,aAAa,EACrB,WAAW,EAAC,IAAI,EAChB,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE;IAEV,8BAAM,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,GAAQ;IAClD,gCACE,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,KAAK,EACR,CAAC,EAAC,IAAI,EACN,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAC,IAAI,GACR;IACV,8BACE,EAAE,EAAC,OAAO,EACV,EAAE,EAAC,OAAO,EACV,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,KAAK,EACR,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAC,IAAI,GACV,CACJ,CACP,CAAA;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"MagnifyingGlass.js","sourceRoot":"","sources":["../../src/assets/MagnifyingGlass.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,2BAA2B;AAC3B,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAa,EAAE,EAAE,CAAC,CACpD,6BACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO;IAEtB,gCAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG;IAChC,8BAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,OAAO,EAAC,EAAE,EAAC,OAAO,GAAG,CAC1C,CACP,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -1,6 +1,7 @@
1
1
  export * from './PaymentFlags';
2
2
  export { default as ArrowElbowDownRight } from './ArrowElbowDownRight';
3
3
  export { default as ArrowRight } from './ArrowRight';
4
+ export { default as BellRinging } from './BellRinging';
4
5
  export { default as CaretDown } from './CaretDown';
5
6
  export { default as Checked } from './Checked';
6
7
  export { default as ClockClockwise } from './ClockClockwise';
@@ -2,6 +2,7 @@
2
2
  export * from './PaymentFlags';
3
3
  export { default as ArrowElbowDownRight } from './ArrowElbowDownRight';
4
4
  export { default as ArrowRight } from './ArrowRight';
5
+ export { default as BellRinging } from './BellRinging';
5
6
  export { default as CaretDown } from './CaretDown';
6
7
  export { default as Checked } from './Checked';
7
8
  export { default as ClockClockwise } from './ClockClockwise';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,cAAc,gBAAgB,CAAA;AAE9B,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,OAAO,IAAI,CAAC,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/assets/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,cAAc,gBAAgB,CAAA;AAE9B,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,OAAO,IAAI,CAAC,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  const Loader = forwardRef(function Loader({ variant = 'dark', testId = 'fs-loader', ...otherProps }, ref) {
3
- return (React.createElement("div", { ref: ref, "data-fs-loader": true, "data-fs-loader-variant": variant, "data-testid": testId, ...otherProps },
3
+ return (React.createElement("span", { ref: ref, "data-fs-loader": true, "data-fs-loader-variant": variant, "data-testid": testId, ...otherProps },
4
4
  React.createElement("span", { "data-fs-loader-item": true }),
5
5
  React.createElement("span", { "data-fs-loader-item": true }),
6
6
  React.createElement("span", { "data-fs-loader-item": true })));
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../../../src/atoms/Loader/Loader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAazC,MAAM,MAAM,GAAG,UAAU,CAA8B,SAAS,MAAM,CACpE,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,UAAU,EAAe,EACtE,GAAG;IAEH,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,oDAEgB,OAAO,iBAClB,MAAM,KACf,UAAU;QAEd,4DAAiC;QACjC,4DAAiC;QACjC,4DAAiC,CAC7B,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../../../src/atoms/Loader/Loader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAazC,MAAM,MAAM,GAAG,UAAU,CAA8B,SAAS,MAAM,CACpE,EAAE,OAAO,GAAG,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,UAAU,EAAe,EACtE,GAAG;IAEH,OAAO,CACL,8BACE,GAAG,EAAE,GAAG,oDAEgB,OAAO,iBAClB,MAAM,KACf,UAAU;QAEd,4DAAiC;QACjC,4DAAiC;QACjC,4DAAiC,CAC5B,CACR,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,MAAM,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export { default as UIProvider, Toast as ToastProps, useUI } from './UIProvider';
2
2
  export { useFadeEffect } from './useFadeEffect';
3
3
  export { useTrapFocus } from './useTrapFocus';
4
+ export { useSearch } from './useSearch';
@@ -1,4 +1,5 @@
1
1
  export { default as UIProvider, useUI } from './UIProvider';
2
2
  export { useFadeEffect } from './useFadeEffect';
3
3
  export { useTrapFocus } from './useTrapFocus';
4
+ export { useSearch } from './useSearch';
4
5
  //# 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"}
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"}
@@ -0,0 +1,7 @@
1
+ export declare const useSearch: () => {
2
+ inContext: false;
3
+ values?: undefined;
4
+ } | {
5
+ inContext: true;
6
+ values: import("../molecules/SearchProvider/SearchProvider").SearchProviderContextValue;
7
+ };
@@ -0,0 +1,10 @@
1
+ import { SearchContext } from "../molecules/SearchProvider/SearchProvider";
2
+ import { useContext } from "react";
3
+ export const useSearch = () => {
4
+ const context = useContext(SearchContext);
5
+ if (!context) {
6
+ return { inContext: false };
7
+ }
8
+ return { inContext: true, values: context };
9
+ };
10
+ //# sourceMappingURL=useSearch.js.map
@@ -0,0 +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"}
package/dist/index.d.ts CHANGED
@@ -66,8 +66,13 @@ export { default as RadioGroup, RadioOption } from './molecules/RadioGroup';
66
66
  export type { RadioGroupProps, RadioOptionProps } from './molecules/RadioGroup';
67
67
  export { default as Rating } from './molecules/Rating';
68
68
  export type { RatingProps } from './molecules/Rating';
69
+ export { default as SearchProvider } from './molecules/SearchProvider';
70
+ export type { SearchProviderContextValue, } from './molecules/SearchProvider';
71
+ export { default as SearchInputField } from './molecules/SearchInputField';
72
+ export type { SearchInputFieldProps, SearchInputFieldRef, } from './molecules/SearchInputField';
69
73
  export { default as SearchAutoComplete, SearchAutoCompleteTerm, } from './molecules/SearchAutoComplete';
70
74
  export type { SearchAutoCompleteProps, SearchAutoCompleteTermProps, } from './molecules/SearchAutoComplete';
75
+ export { default as SearchDropdown, SearchDropdownProps, } from './molecules/SearchDropdown';
71
76
  export { default as SearchHistory, SearchHistoryTerm, } from './molecules/SearchHistory';
72
77
  export type { SearchHistoryProps, SearchHistoryTermProps, } from './molecules/SearchHistory';
73
78
  export { default as SearchProducts, SearchProductItem, SearchProductItemImage, SearchProductItemContent, } from './molecules/SearchProducts';
@@ -91,9 +96,13 @@ export { default as QuantitySelector } from './molecules/QuantitySelector';
91
96
  export type { QuantitySelectorProps } from './molecules/QuantitySelector';
92
97
  export { default as Hero, HeroImage, HeroHeader } from './organisms/Hero';
93
98
  export type { HeroProps, HeroImageProps, HeroHeaderProps, } from './organisms/Hero';
99
+ export { default as OutOfStock } from './organisms/OutOfStock';
100
+ export type { OutOfStockProps } from './organisms/OutOfStock';
94
101
  export { default as PaymentMethods } from './organisms/PaymentMethods';
95
102
  export type { PaymentMethodsProps } from './organisms/PaymentMethods';
96
103
  export { default as PriceRange } from './organisms/PriceRange';
97
104
  export type { PriceRangeProps } from './organisms/PriceRange';
105
+ export { default as SearchInput } from './organisms/SearchInput';
106
+ export type { SearchInputProps } from './organisms/SearchInput';
98
107
  export { default as SlideOver, SlideOverHeader } from './organisms/SlideOver';
99
108
  export type { SlideOverProps, SlideOverHeaderProps, } from './organisms/SlideOver';
package/dist/index.js CHANGED
@@ -38,7 +38,10 @@ export { default as ProductTitle } from './molecules/ProductTitle';
38
38
  export { default as RadioField } from './molecules/RadioField';
39
39
  export { default as RadioGroup, RadioOption } from './molecules/RadioGroup';
40
40
  export { default as Rating } from './molecules/Rating';
41
+ export { default as SearchProvider } from './molecules/SearchProvider';
42
+ export { default as SearchInputField } from './molecules/SearchInputField';
41
43
  export { default as SearchAutoComplete, SearchAutoCompleteTerm, } from './molecules/SearchAutoComplete';
44
+ export { default as SearchDropdown, } from './molecules/SearchDropdown';
42
45
  export { default as SearchHistory, SearchHistoryTerm, } from './molecules/SearchHistory';
43
46
  export { default as SearchProducts, SearchProductItem, SearchProductItemImage, SearchProductItemContent, } from './molecules/SearchProducts';
44
47
  export { default as SearchTop, SearchTopTerm } from './molecules/SearchTop';
@@ -52,7 +55,9 @@ export { default as ToggleField } from './molecules/ToggleField';
52
55
  export { default as QuantitySelector } from './molecules/QuantitySelector';
53
56
  // Organisms
54
57
  export { default as Hero, HeroImage, HeroHeader } from './organisms/Hero';
58
+ export { default as OutOfStock } from './organisms/OutOfStock';
55
59
  export { default as PaymentMethods } from './organisms/PaymentMethods';
56
60
  export { default as PriceRange } from './organisms/PriceRange';
61
+ export { default as SearchInput } from './organisms/SearchInput';
57
62
  export { default as SlideOver, SlideOverHeader } from './organisms/SlideOver';
58
63
  //# sourceMappingURL=index.js.map
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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"}
@@ -5,5 +5,5 @@ export interface SearchAutoCompleteProps extends HTMLAttributes<HTMLDivElement>
5
5
  */
6
6
  testId?: string;
7
7
  }
8
- declare const SearchAutoComplete: ({ testId, children, ...otherProps }: SearchAutoCompleteProps) => JSX.Element;
8
+ declare const SearchAutoComplete: ({ testId, children, ...otherProps }: SearchAutoCompleteProps) => JSX.Element | null;
9
9
  export default SearchAutoComplete;
@@ -1,6 +1,10 @@
1
1
  import React from 'react';
2
- import { List } from '../..';
2
+ import { List, useSearch } from '../..';
3
3
  const SearchAutoComplete = ({ testId = 'fs-search-auto-complete', children, ...otherProps }) => {
4
+ const { inContext, values } = useSearch();
5
+ if (inContext && (values.terms.length <= 0 || values.term.length <= 0)) {
6
+ return null;
7
+ }
4
8
  return (React.createElement("section", { "data-testid": testId, "data-fs-search-auto-complete": true, ...otherProps },
5
9
  React.createElement(List, { as: "ol" }, children)));
6
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SearchAutoComplete.js","sourceRoot":"","sources":["../../../src/molecules/SearchAutoComplete/SearchAutoComplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAU5B,MAAM,kBAAkB,GAAG,CAAC,EAC1B,MAAM,GAAG,yBAAyB,EAClC,QAAQ,EACR,GAAG,UAAU,EACW,EAAE,EAAE;IAC5B,OAAO,CACL,gDAAsB,MAAM,2CAAmC,UAAU;QACvE,oBAAC,IAAI,IAAC,EAAE,EAAC,IAAI,IAAE,QAAQ,CAAQ,CACvB,CACX,CAAA;AACH,CAAC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
1
+ {"version":3,"file":"SearchAutoComplete.js","sourceRoot":"","sources":["../../../src/molecules/SearchAutoComplete/SearchAutoComplete.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAUvC,MAAM,kBAAkB,GAAG,CAAC,EAC1B,MAAM,GAAG,yBAAyB,EAClC,QAAQ,EACR,GAAG,UAAU,EACW,EAAE,EAAE;IAE5B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAEzC,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;QACtE,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,CACL,gDAAsB,MAAM,2CAAmC,UAAU;QACvE,oBAAC,IAAI,IAAC,EAAE,EAAC,IAAI,IAAE,QAAQ,CAAQ,CACvB,CACX,CAAA;AACH,CAAC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { HTMLAttributes, ReactNode } from 'react';
2
+ import React from 'react';
3
+ export interface SearchDropdownProps extends HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: cypress,
6
+ * testing-library, and jest).
7
+ */
8
+ testId?: string;
9
+ children?: ReactNode;
10
+ }
11
+ declare const SearchDropdown: React.ForwardRefExoticComponent<SearchDropdownProps & {
12
+ children?: ReactNode;
13
+ } & React.RefAttributes<HTMLDivElement>>;
14
+ export default SearchDropdown;
@@ -0,0 +1,14 @@
1
+ import React, { forwardRef } from 'react';
2
+ import { useSearch } from '../../hooks';
3
+ const SearchLoading = () => {
4
+ const { inContext, values } = useSearch();
5
+ return (React.createElement(React.Fragment, null, (inContext && values.isLoading) && React.createElement("p", { "data-fs-search-dropdown-loading-text": true }, "Loading...")));
6
+ };
7
+ const SearchDropdown = forwardRef(function SearchDropdown({ testId = 'fs-search-dropdown', children, ...otherProps }, ref) {
8
+ return (React.createElement("div", { ref: ref, "data-fs-search-dropdown": true, "data-testid": testId, ...otherProps },
9
+ React.createElement("section", null,
10
+ React.createElement(SearchLoading, null),
11
+ children)));
12
+ });
13
+ export default SearchDropdown;
14
+ //# sourceMappingURL=SearchDropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchDropdown.js","sourceRoot":"","sources":["../../../src/molecules/SearchDropdown/SearchDropdown.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAWvC,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAEzC,OAAO,CACL,0CACI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,wFAAsD,CAC1F,CACJ,CAAA;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,UAAU,CAG/B,SAAS,cAAc,CACvB,EACE,MAAM,GAAG,oBAAoB,EAC7B,QAAQ,EACR,GAAG,UAAU,EACd,EACD,GAAG;IAEH,OAAO,CACL,6BAAK,GAAG,EAAE,GAAG,kDAAuC,MAAM,KAAM,UAAU;QACxE;YACE,oBAAC,aAAa,OAAE;YACf,QAAQ,CACD,CACN,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './SearchDropdown';
2
+ export type { SearchDropdownProps } from './SearchDropdown';
@@ -0,0 +1,2 @@
1
+ export { default } from './SearchDropdown';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/molecules/SearchDropdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA"}
@@ -17,5 +17,5 @@ export interface SearchHistoryProps extends HTMLAttributes<HTMLDivElement> {
17
17
  */
18
18
  onClear?: () => void;
19
19
  }
20
- declare const SearchHistory: ({ testId, title, clearLabel, onClear, children, ...otherProps }: SearchHistoryProps) => JSX.Element;
20
+ declare const SearchHistory: ({ testId, title, clearLabel, onClear, children, ...otherProps }: SearchHistoryProps) => JSX.Element | null;
21
21
  export default SearchHistory;
@@ -1,6 +1,10 @@
1
1
  import React from 'react';
2
- import { List, Button } from '../..';
2
+ import { List, Button, useSearch } from '../..';
3
3
  const SearchHistory = ({ testId = 'fs-search-history', title = 'History', clearLabel = 'Clear History', onClear, children, ...otherProps }) => {
4
+ const { inContext, values } = useSearch();
5
+ if (inContext && (values.term.length !== 0 || values.isLoading)) {
6
+ return null;
7
+ }
4
8
  return (React.createElement("section", { "data-testid": testId, "data-fs-search-history": true, ...otherProps },
5
9
  React.createElement("header", { "data-fs-search-history-header": true },
6
10
  React.createElement("p", { "data-fs-search-history-title": true }, title),
@@ -1 +1 @@
1
- {"version":3,"file":"SearchHistory.js","sourceRoot":"","sources":["../../../src/molecules/SearchHistory/SearchHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAqBpC,MAAM,aAAa,GAAG,CAAC,EACrB,MAAM,GAAG,mBAAmB,EAC5B,KAAK,GAAG,SAAS,EACjB,UAAU,GAAG,eAAe,EAC5B,OAAO,EACP,QAAQ,EACR,GAAG,UAAU,EACM,EAAE,EAAE;IACvB,OAAO,CACL,gDAAsB,MAAM,qCAA6B,UAAU;QACjE;YACE,mEAAiC,KAAK,CAAK;YAC3C,oBAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,OAAO,IACtD,UAAU,CACJ,CACF;QACT,oBAAC,IAAI,IAAC,EAAE,EAAC,IAAI,IAAE,QAAQ,CAAQ,CACvB,CACX,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"SearchHistory.js","sourceRoot":"","sources":["../../../src/molecules/SearchHistory/SearchHistory.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAqB/C,MAAM,aAAa,GAAG,CAAC,EACrB,MAAM,GAAG,mBAAmB,EAC5B,KAAK,GAAG,SAAS,EACjB,UAAU,GAAG,eAAe,EAC5B,OAAO,EACP,QAAQ,EACR,GAAG,UAAU,EACM,EAAE,EAAE;IAEvB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAEzC,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;QAC/D,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,CACL,gDAAsB,MAAM,qCAA6B,UAAU;QACjE;YACE,mEAAiC,KAAK,CAAK;YAC3C,oBAAC,MAAM,IAAC,OAAO,EAAC,UAAU,EAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,OAAO,IACtD,UAAU,CACJ,CACF;QACT,oBAAC,IAAI,IAAC,EAAE,EAAC,IAAI,IAAE,QAAQ,CAAQ,CACvB,CACX,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -0,0 +1,36 @@
1
+ import type { AriaAttributes, InputHTMLAttributes, ReactNode } from 'react';
2
+ import React from 'react';
3
+ type InputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'onSubmit'>;
4
+ type ButtonProps = {
5
+ onClick?: () => void;
6
+ testId?: string;
7
+ };
8
+ export interface SearchInputFieldProps extends InputProps {
9
+ /**
10
+ * ID to find this component in testing tools (e.g.: cypress, testing library, and jest).
11
+ */
12
+ testId?: string;
13
+ /**
14
+ * Props for the submit button inside the input.
15
+ */
16
+ buttonProps?: ButtonProps;
17
+ /**
18
+ * A React component that will be rendered as an icon (submit button).
19
+ * @default <MagnifyingGlass />
20
+ */
21
+ buttonIcon?: ReactNode;
22
+ /**
23
+ * Custom aria-label for input and button.
24
+ */
25
+ 'aria-label'?: AriaAttributes['aria-label'];
26
+ /**
27
+ * Callback function when submitted.
28
+ */
29
+ onSubmit: (value: string) => void;
30
+ }
31
+ export interface SearchInputFieldRef {
32
+ inputRef?: HTMLInputElement | null;
33
+ formRef?: HTMLFormElement | null;
34
+ }
35
+ declare const SearchInputField: React.ForwardRefExoticComponent<SearchInputFieldProps & React.RefAttributes<SearchInputFieldRef | null>>;
36
+ export default SearchInputField;
@@ -0,0 +1,21 @@
1
+ import React, { forwardRef, useImperativeHandle, useRef } from 'react';
2
+ import { IconButton, Input, MagnifyingGlass } from '../..';
3
+ const SearchInputField = forwardRef(function SearchInputField({ onSubmit, buttonIcon, 'aria-label': ariaLabel = 'search', testId = 'fs-search-input', buttonProps, ...otherProps }, ref) {
4
+ const inputRef = useRef(null);
5
+ const formRef = useRef(null);
6
+ const handleSubmit = (event) => {
7
+ event.preventDefault();
8
+ if (inputRef.current?.value !== '') {
9
+ onSubmit(inputRef.current.value);
10
+ }
11
+ };
12
+ useImperativeHandle(ref, () => ({
13
+ inputRef: inputRef.current,
14
+ formRef: formRef.current,
15
+ }));
16
+ return (React.createElement("form", { ref: formRef, "data-fs-search-input-field": true, "data-testid": testId, onSubmit: handleSubmit, role: "search" },
17
+ React.createElement(Input, { ref: inputRef, "aria-label": ariaLabel, "data-fs-search-input-field-input": true, ...otherProps }),
18
+ React.createElement(IconButton, { type: "submit", "aria-label": "Submit Search", icon: buttonIcon ?? React.createElement(MagnifyingGlass, null), ...buttonProps })));
19
+ });
20
+ export default SearchInputField;
21
+ //# sourceMappingURL=SearchInputField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInputField.js","sourceRoot":"","sources":["../../../src/molecules/SearchInputField/SearchInputField.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAEtE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AAqC1D,MAAM,gBAAgB,GAAG,UAAU,CAGjC,SAAS,gBAAgB,CACzB,EACE,QAAQ,EACR,UAAU,EACV,YAAY,EAAE,SAAS,GAAG,QAAQ,EAClC,MAAM,GAAG,iBAAiB,EAC1B,WAAW,EACX,GAAG,UAAU,EACd,EACD,GAAG;IAEH,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAA;IAE7C,MAAM,YAAY,GAAG,CAAC,KAAgB,EAAE,EAAE;QACxC,KAAK,CAAC,cAAc,EAAE,CAAA;QAEtB,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,KAAK,EAAE,EAAE;YAClC,QAAQ,CAAC,QAAQ,CAAC,OAAQ,CAAC,KAAK,CAAC,CAAA;SAClC;IACH,CAAC,CAAA;IAED,mBAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC9B,QAAQ,EAAE,QAAQ,CAAC,OAAO;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC,CAAA;IAEH,OAAO,CACL,8BACE,GAAG,EAAE,OAAO,qDAEC,MAAM,EACnB,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAC,QAAQ;QAEb,oBAAC,KAAK,IACJ,GAAG,EAAE,QAAQ,gBACD,SAAS,+CAEjB,UAAU,GACd;QACF,oBAAC,UAAU,IACT,IAAI,EAAC,QAAQ,gBACF,eAAe,EAC1B,IAAI,EAAE,UAAU,IAAI,oBAAC,eAAe,OAAG,KACnC,WAAW,GACf,CACG,CACR,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './SearchInputField';
2
+ export type { SearchInputFieldProps, SearchInputFieldRef, } from './SearchInputField';
@@ -0,0 +1,2 @@
1
+ export { default } from './SearchInputField';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/molecules/SearchInputField/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA"}
@@ -6,7 +6,7 @@ interface Price {
6
6
  listPrice: number;
7
7
  formatter: PriceFormatter;
8
8
  }
9
- export type SearchProductItemContentProps = {
9
+ export interface SearchProductItemContentProps {
10
10
  /**
11
11
  * Specifies the product's title.
12
12
  */
@@ -15,6 +15,6 @@ export type SearchProductItemContentProps = {
15
15
  * Specifies product's prices.
16
16
  */
17
17
  price: Price;
18
- };
18
+ }
19
19
  declare const SearchProductItemContent: React.ForwardRefExoticComponent<SearchProductItemContentProps & React.RefAttributes<HTMLElement>>;
20
20
  export default SearchProductItemContent;
@@ -9,5 +9,5 @@ export interface SearchProductsProps extends HTMLAttributes<HTMLDivElement> {
9
9
  */
10
10
  title?: string;
11
11
  }
12
- declare const SearchProductsProps: ({ testId, title, children, ...otherProps }: SearchProductsProps) => JSX.Element;
12
+ declare const SearchProductsProps: ({ testId, title, children, ...otherProps }: SearchProductsProps) => JSX.Element | null;
13
13
  export default SearchProductsProps;
@@ -1,6 +1,10 @@
1
1
  import React from 'react';
2
- import { List } from '../..';
2
+ import { List, useSearch } from '../..';
3
3
  const SearchProductsProps = ({ testId = 'fs-search-products', title = 'Suggested Products', children, ...otherProps }) => {
4
+ const { inContext, values } = useSearch();
5
+ if (inContext && (values.products.length <= 0)) {
6
+ return null;
7
+ }
4
8
  return (React.createElement("section", { "data-testid": testId, "data-fs-search-products": true, ...otherProps },
5
9
  React.createElement("header", { "data-fs-search-products-header": true },
6
10
  React.createElement("p", { "data-fs-search-products-title": true }, title)),
@@ -1 +1 @@
1
- {"version":3,"file":"SearchProducts.js","sourceRoot":"","sources":["../../../src/molecules/SearchProducts/SearchProducts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAa5B,MAAM,mBAAmB,GAAG,CAAC,EAC3B,MAAM,GAAG,oBAAoB,EAC7B,KAAK,GAAG,oBAAoB,EAC5B,QAAQ,EACR,GAAG,UAAU,EACO,EAAE,EAAE;IACxB,OAAO,CACL,gDAAsB,MAAM,sCAA8B,UAAU;QAClE;YACE,oEAAkC,KAAK,CAAK,CACrC;QACT,oBAAC,IAAI,IAAC,EAAE,EAAC,IAAI,IAAE,QAAQ,CAAQ,CACvB,CACX,CAAA;AACH,CAAC,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"SearchProducts.js","sourceRoot":"","sources":["../../../src/molecules/SearchProducts/SearchProducts.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyB,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAavC,MAAM,mBAAmB,GAAG,CAAC,EAC3B,MAAM,GAAG,oBAAoB,EAC7B,KAAK,GAAG,oBAAoB,EAC5B,QAAQ,EACR,GAAG,UAAU,EACO,EAAE,EAAE;IACxB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAEzC,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;QAC9C,OAAO,IAAI,CAAA;KACZ;IACD,OAAO,CACL,gDAAsB,MAAM,sCAA8B,UAAU;QAClE;YACE,oEAAkC,KAAK,CAAK,CACrC;QACT,oBAAC,IAAI,IAAC,EAAE,EAAC,IAAI,IAAE,QAAQ,CAAQ,CACvB,CACX,CAAA;AACH,CAAC,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import type { PropsWithChildren } from 'react';
3
+ export interface SearchProviderContextValue {
4
+ /**
5
+ * Term to be researched.
6
+ */
7
+ term: string;
8
+ /**
9
+ * Enables a loading state.
10
+ */
11
+ isLoading: boolean;
12
+ /**
13
+ * List of Suggestion terms.
14
+ */
15
+ terms: Array<{
16
+ value: string;
17
+ }>;
18
+ /**
19
+ * List of Suggested products.
20
+ */
21
+ products: {}[];
22
+ /**
23
+ * Callback function when a search term is selected.
24
+ */
25
+ onSearchSelection?: (term: string, path: string) => void;
26
+ }
27
+ export declare const SearchContext: React.Context<SearchProviderContextValue | null>;
28
+ declare function SearchProvider({ onSearchSelection, children, term, terms, products, isLoading, }: PropsWithChildren<SearchProviderContextValue>): JSX.Element;
29
+ export default SearchProvider;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { createContext } from 'react';
3
+ export const SearchContext = createContext(null);
4
+ function SearchProvider({ onSearchSelection, children, term, terms, products, isLoading, }) {
5
+ return (React.createElement(SearchContext.Provider, { value: { onSearchSelection, term, terms, products, isLoading } }, children));
6
+ }
7
+ export default SearchProvider;
8
+ //# sourceMappingURL=SearchProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchProvider.js","sourceRoot":"","sources":["../../../src/molecules/SearchProvider/SearchProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAyBrC,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CACxC,IAAI,CACL,CAAA;AAED,SAAS,cAAc,CAAC,EACtB,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,GACqC;IAC9C,OAAO,CACL,oBAAC,aAAa,CAAC,QAAQ,IACrB,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAE7D,QAAQ,CACc,CAC1B,CAAA;AACH,CAAC;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,2 @@
1
+ export { default } from './SearchProvider';
2
+ export type { SearchProviderContextValue } from './SearchProvider';
@@ -0,0 +1,2 @@
1
+ export { default } from './SearchProvider';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/molecules/SearchProvider/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA"}
@@ -9,14 +9,6 @@ export interface SearchTopProps extends HTMLAttributes<HTMLDivElement> {
9
9
  * Title attribute for the <section> tag rendered by this component.
10
10
  */
11
11
  title: string;
12
- /**
13
- * Defines the the message displayed while loading.
14
- */
15
- loadingMessage?: string;
16
- /**
17
- * Enables a loading state.
18
- */
19
- isLoading?: boolean;
20
12
  }
21
13
  declare const SearchTop: React.ForwardRefExoticComponent<SearchTopProps & React.RefAttributes<HTMLDivElement>>;
22
14
  export default SearchTop;
@@ -1,11 +1,15 @@
1
1
  import React from 'react';
2
2
  import { forwardRef } from 'react';
3
- import { List } from '../../';
4
- const SearchTop = forwardRef(function SearchTop({ testId = 'fs-top-search', title = 'Top Search', loadingMessage = 'Loading...', isLoading, children, ...otherProps }, ref) {
5
- return (React.createElement("section", { ref: ref, "data-testid": testId, "data-fs-search-top": true, ...otherProps }, isLoading ? (React.createElement("p", { "data-fs-search-top-input-loading-text": true }, loadingMessage)) : (React.createElement(React.Fragment, null,
3
+ import { List, useSearch } from '../../';
4
+ const SearchTop = forwardRef(function SearchTop({ testId = 'fs-top-search', title = 'Top Search', children, ...otherProps }, ref) {
5
+ const { inContext, values } = useSearch();
6
+ if (inContext && (values.term.length !== 0 || values.isLoading)) {
7
+ return null;
8
+ }
9
+ return (React.createElement("section", { ref: ref, "data-testid": testId, "data-fs-search-top": true, ...otherProps },
6
10
  React.createElement("header", { "data-fs-search-top-header": true },
7
11
  React.createElement("p", { "data-fs-search-top-title": true }, title)),
8
- React.createElement(List, { as: "ol" }, children)))));
12
+ React.createElement(List, { as: "ol" }, children)));
9
13
  });
10
14
  export default SearchTop;
11
15
  //# sourceMappingURL=SearchTop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SearchTop.js","sourceRoot":"","sources":["../../../src/molecules/SearchTop/SearchTop.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGlC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAqB7B,MAAM,SAAS,GAAG,UAAU,CAAiC,SAAS,SAAS,CAC7E,EACE,MAAM,GAAG,eAAe,EACxB,KAAK,GAAG,YAAY,EACpB,cAAc,GAAG,YAAY,EAC7B,SAAS,EACT,QAAQ,EACR,GAAG,UAAU,EACd,EACD,GAAG;IAEH,OAAO,CACL,iCAAS,GAAG,EAAE,GAAG,iBAAe,MAAM,iCAAyB,UAAU,IACtE,SAAS,CAAC,CAAC,CAAC,CACX,4EAA0C,cAAc,CAAK,CAC9D,CAAC,CAAC,CAAC,CACF;QACE;YACE,+DAA6B,KAAK,CAAK,CAChC;QACT,oBAAC,IAAI,IAAC,EAAE,EAAC,IAAI,IAAE,QAAQ,CAAQ,CAC9B,CACJ,CACO,CACX,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"SearchTop.js","sourceRoot":"","sources":["../../../src/molecules/SearchTop/SearchTop.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGlC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAaxC,MAAM,SAAS,GAAG,UAAU,CAAiC,SAAS,SAAS,CAC7E,EACE,MAAM,GAAG,eAAe,EACxB,KAAK,GAAG,YAAY,EACpB,QAAQ,EACR,GAAG,UAAU,EACd,EACD,GAAG;IAGH,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAEzC,IAAI,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;QAC/D,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,CACL,iCAAS,GAAG,EAAE,GAAG,iBAAe,MAAM,iCAAyB,UAAU;QACrE;YACE,+DAA6B,KAAK,CAAK,CAChC;QACT,oBAAC,IAAI,IAAC,EAAE,EAAC,IAAI,IAAE,QAAQ,CAAQ,CACzB,CACX,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,SAAS,CAAA"}
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+ import type { FormHTMLAttributes } from 'react';
3
+ export interface OutOfStockProps extends FormHTMLAttributes<HTMLFormElement> {
4
+ /**
5
+ * ID to find this component in testing tools (e.g.: cypress,
6
+ * testing-library, and jest).
7
+ */
8
+ testId?: string;
9
+ /**
10
+ * The Out of Stock Section's title.
11
+ */
12
+ title?: string;
13
+ /**
14
+ * Additional message displayed with the title.
15
+ */
16
+ subtitle?: string;
17
+ /**
18
+ * The email input label.
19
+ */
20
+ inputLabel: string;
21
+ /**
22
+ * The button label.
23
+ */
24
+ buttonLabel?: string;
25
+ /**
26
+ * Specifies a label for loading state.
27
+ */
28
+ loadingLabel?: string;
29
+ /**
30
+ * Error message displayed when error.
31
+ */
32
+ errorMessage?: string;
33
+ /**
34
+ * Specifies that the submit button should be disabled.
35
+ */
36
+ disabled: boolean;
37
+ /**
38
+ * Event emitted when form is submitted.
39
+ */
40
+ onSubmit: (event: React.FormEvent<HTMLFormElement>) => void;
41
+ }
42
+ declare const OutOfStock: React.ForwardRefExoticComponent<OutOfStockProps & React.RefAttributes<HTMLFormElement>>;
43
+ export default OutOfStock;
@@ -0,0 +1,14 @@
1
+ import React, { forwardRef } from 'react';
2
+ import { BellRinging } from '../../assets';
3
+ import { Button, Icon, InputField } from '../..';
4
+ const OutOfStock = forwardRef(function OutOfStock({ testId = 'fs-out-of-stock', title, buttonLabel = 'Notify Me', loadingLabel = 'Loading', inputLabel, subtitle, disabled, errorMessage, onSubmit, ...otherProps }, ref) {
5
+ return (React.createElement("form", { "data-fs-out-of-stock": true, ref: ref, "data-testid": testId, onSubmit: onSubmit, ...otherProps },
6
+ React.createElement("h2", { "data-fs-out-of-stock-title": true }, title),
7
+ subtitle && (React.createElement("p", { "data-fs-out-of-stock-message": true },
8
+ React.createElement(Icon, { component: React.createElement(BellRinging, { size: 16 }) }),
9
+ subtitle)),
10
+ React.createElement(InputField, { id: "out-of-stock-email", name: "out-of-stock-email", label: inputLabel, "aria-label": inputLabel, error: errorMessage, required: true }),
11
+ React.createElement(Button, { "data-fs-out-of-stock-button": true, type: "submit", loading: disabled, loadingLabel: loadingLabel, disabled: disabled, variant: "primary", icon: React.createElement(BellRinging, null), iconPosition: "left" }, buttonLabel)));
12
+ });
13
+ export default OutOfStock;
14
+ //# sourceMappingURL=OutOfStock.js.map