@trafilea/afrodita-components 5.0.0-beta.20 → 5.0.0-beta.23

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.
package/build/index.d.ts CHANGED
@@ -115,6 +115,7 @@ interface SearchBarOptionItem {
115
115
  src: string;
116
116
  price: string;
117
117
  title: string;
118
+ optionUrl: string;
118
119
  }
119
120
 
120
121
  declare const SixtyDaysGuarantee: ({ height, width, fill, title }: IconProps) => JSX.Element;
@@ -1588,8 +1589,9 @@ interface SearchBarProps {
1588
1589
  onSearch: (term: string) => void;
1589
1590
  resultsPanelDataTestId?: string;
1590
1591
  allResults?: number;
1592
+ initialTerm?: string;
1591
1593
  }
1592
- declare const SearchBar: ({ suggestions, resultOptions, onChange, onSearch, resultsPanelDataTestId, allResults, }: SearchBarProps) => JSX.Element;
1594
+ declare const SearchBar: ({ suggestions, resultOptions, onChange, onSearch, resultsPanelDataTestId, allResults, initialTerm, }: SearchBarProps) => JSX.Element;
1593
1595
 
1594
1596
  interface ProductGalleryMobileProps {
1595
1597
  images: ImageType[];
@@ -3607,9 +3607,9 @@ var BaseCTA = function (_a) {
3607
3607
  };
3608
3608
 
3609
3609
  var ButtonPrimary = function (_a) {
3610
- _a.testId; var props = __rest(_a, ["testId"]);
3610
+ var _b = _a.testId, testId = _b === void 0 ? 'button-primary' : _b, props = __rest(_a, ["testId"]);
3611
3611
  var theme = useTheme();
3612
- return (jsx(BaseCTA, __assign$1({}, props, { css: {
3612
+ return (jsx(BaseCTA, __assign$1({}, props, { testId: testId, css: {
3613
3613
  backgroundColor: theme.component.button.primary.active.backgroundColor,
3614
3614
  color: theme.component.button.primary.active.color,
3615
3615
  border: theme.component.button.border,
@@ -4537,11 +4537,11 @@ var ImageSmallPreview = function (_a) {
4537
4537
  var templateObject_1$Y;
4538
4538
 
4539
4539
  var Container$B = newStyled.div(templateObject_1$X || (templateObject_1$X = __makeTemplateObject(["\n grid-row-gap: 20px;\n display: grid;\n max-height: 45rem;\n height: min-content;\n overflow: auto;\n align-items: flex-start;\n"], ["\n grid-row-gap: 20px;\n display: grid;\n max-height: 45rem;\n height: min-content;\n overflow: auto;\n align-items: flex-start;\n"])));
4540
- var Button$5 = newStyled.button(templateObject_2$B || (templateObject_2$B = __makeTemplateObject(["\n padding: 0;\n border: none;\n text-decoration: none;\n background: transparent;\n"], ["\n padding: 0;\n border: none;\n text-decoration: none;\n background: transparent;\n"])));
4540
+ var Button$4 = newStyled.button(templateObject_2$B || (templateObject_2$B = __makeTemplateObject(["\n padding: 0;\n border: none;\n text-decoration: none;\n background: transparent;\n"], ["\n padding: 0;\n border: none;\n text-decoration: none;\n background: transparent;\n"])));
4541
4541
  var ImagePreviewList = function (_a) {
4542
4542
  var images = _a.images, selectedImage = _a.selectedImage, onClick = _a.onClick, testId = _a.testId;
4543
4543
  return (jsx$1(Container$B, __assign$1({ "data-testid": testId }, { children: images.map(function (item) {
4544
- return (jsx$1(Button$5, __assign$1({ onClick: function () { return onClick(item); } }, { children: jsx$1(ImageSmallPreview, { imageUrl: item.imageUrl, alt: item.alt, selected: item.key === selectedImage.key }, void 0) }), item.key));
4544
+ return (jsx$1(Button$4, __assign$1({ onClick: function () { return onClick(item); } }, { children: jsx$1(ImageSmallPreview, { imageUrl: item.imageUrl, alt: item.alt, selected: item.key === selectedImage.key }, void 0) }), item.key));
4545
4545
  }) }), void 0));
4546
4546
  };
4547
4547
  var templateObject_1$X, templateObject_2$B;
@@ -5461,7 +5461,7 @@ var BaseInput = function (_a) {
5461
5461
  : '' }, { children: [label && (jsx$1(InputLabel, { label: label, isDisabled: rest.disabled, isRequired: Boolean(required) }, void 0)), jsxs$1(InputWrapper, __assign$1({ className: "inputWrapper", size: size }, { children: [jsx$1(StyledInput, __assign$1({ "data-testid": "base-input", type: "text", onChange: handleChange, onBlur: validate, required: Boolean(required), value: internalValue }, rest, styling), void 0), children] }), void 0), required && status === InputValidationType.Error && jsx$1(Error$1, { error: required }, void 0)] }), void 0));
5462
5462
  };
5463
5463
 
5464
- var Button$4 = function (_a) {
5464
+ var Button$3 = function (_a) {
5465
5465
  var variant = _a.variant, props = __rest(_a, ["variant"]);
5466
5466
  if (variant === 'primary') {
5467
5467
  return jsx$1(ButtonPrimary, __assign$1({}, props), void 0);
@@ -5492,7 +5492,7 @@ var Custom = function (_a) {
5492
5492
  text: text,
5493
5493
  disabled: rest.disabled,
5494
5494
  }); }, [variant, onClick, text, rest.disabled]);
5495
- return (jsx$1(Container$o, __assign$1({ theme: theme }, { children: jsx$1(BaseInput, __assign$1({}, rest, { children: jsx$1(ButtonContainer$1, __assign$1({ theme: theme }, { children: jsx$1(Button$4, __assign$1({}, props), void 0) }), void 0) }), void 0) }), void 0));
5495
+ return (jsx$1(Container$o, __assign$1({ theme: theme }, { children: jsx$1(BaseInput, __assign$1({}, rest, { children: jsx$1(ButtonContainer$1, __assign$1({ theme: theme }, { children: jsx$1(Button$3, __assign$1({}, props), void 0) }), void 0) }), void 0) }), void 0));
5496
5496
  };
5497
5497
  var templateObject_1$G, templateObject_2$r;
5498
5498
 
@@ -5849,7 +5849,7 @@ var Review = function (_a) {
5849
5849
  };
5850
5850
  var templateObject_1$s, templateObject_2$g, templateObject_3$d, templateObject_4$8, templateObject_5$6, templateObject_6$5, templateObject_7$2;
5851
5851
 
5852
- var Button$3 = newStyled.button(function () { return ({
5852
+ var Button$2 = newStyled.button(function () { return ({
5853
5853
  background: 'transparent',
5854
5854
  border: 'none',
5855
5855
  cursor: 'pointer',
@@ -5861,7 +5861,7 @@ var Direction;
5861
5861
  })(Direction || (Direction = {}));
5862
5862
  var ArrowButton$1 = function (_a) {
5863
5863
  var direction = _a.direction, onClick = _a.onClick, width = _a.width, height = _a.height, className = _a.className;
5864
- return (jsx$1(Button$3, __assign$1({ className: className, type: "button", onClick: onClick, "data-testid": "arrow-button-".concat(direction) }, { children: direction === 'left' ? (jsx$1(Icon.Arrows.ChevronLeft, { width: width, height: height, opacity: 0.5 }, void 0)) : (jsx$1(Icon.Arrows.ChevronRight, { width: width, height: height, opacity: 0.5 }, void 0)) }), void 0));
5864
+ return (jsx$1(Button$2, __assign$1({ className: className, type: "button", onClick: onClick, "data-testid": "arrow-button-".concat(direction) }, { children: direction === 'left' ? (jsx$1(Icon.Arrows.ChevronLeft, { width: width, height: height, opacity: 0.5 }, void 0)) : (jsx$1(Icon.Arrows.ChevronRight, { width: width, height: height, opacity: 0.5 }, void 0)) }), void 0));
5865
5865
  };
5866
5866
 
5867
5867
  function _defineProperty(obj, key, value) {
@@ -10462,12 +10462,13 @@ var Li = newStyled.li(templateObject_1$g || (templateObject_1$g = __makeTemplate
10462
10462
  padding: [0, '0rem 1rem'],
10463
10463
  borderRadius: [0, '0.5rem'],
10464
10464
  }));
10465
- var Button$2 = newStyled.button({
10465
+ var Anchor = newStyled.a({
10466
10466
  width: '100%',
10467
10467
  border: 'none',
10468
10468
  background: 'transparent',
10469
10469
  cursor: 'pointer',
10470
10470
  padding: 0,
10471
+ textDecoration: 'none',
10471
10472
  });
10472
10473
  var Container$9 = newStyled.div(templateObject_2$8 || (templateObject_2$8 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n margin: 0rem;\n padding: 0rem;\n position: absolute;\n width: 100%;\n background-color: white;\n box-sizing: border-box;\n z-index: 2;\n ", ",\n"], ["\n display: flex;\n flex-direction: column;\n margin: 0rem;\n padding: 0rem;\n position: absolute;\n width: 100%;\n background-color: white;\n box-sizing: border-box;\n z-index: 2;\n ", ",\n"])), mediaQueries({
10473
10474
  border: ['none', '0.063rem solid var(--colors-pallete-secondary-color)'],
@@ -10478,9 +10479,9 @@ var Header$1 = newStyled.div(templateObject_3$8 || (templateObject_3$8 = __makeT
10478
10479
  margin: ['0rem 0rem 1rem 0rem', '1rem'],
10479
10480
  }));
10480
10481
  var ResultsPanel = function (_a) {
10481
- var options = _a.options, header = _a.header, footer = _a.footer, onClick = _a.onClick, onViewAll = _a.onViewAll, testId = _a.testId;
10482
+ var options = _a.options, header = _a.header, footer = _a.footer, onViewAll = _a.onViewAll, testId = _a.testId;
10482
10483
  var theme = useTheme();
10483
- return (jsxs$1(Container$9, __assign$1({ "data-testid": testId, theme: theme }, { children: [header && (jsx$1(Header$1, __assign$1({ theme: theme }, { children: jsx$1(Text$5, __assign$1({ variant: "heading6", weight: "demi" }, { children: header }), void 0) }), void 0)), jsx$1(Ul, { children: options.map(function (item, index) { return (jsx$1(Li, __assign$1({ theme: theme }, { children: jsx$1(Button$2, __assign$1({ onClick: function () { return onClick(item); } }, { children: jsx$1(ProductItem, { src: item.src, title: item.title, price: item.price }, void 0) }), void 0) }), index)); }) }, void 0), footer && jsx$1(Footer, { text: footer, onClick: onViewAll }, void 0)] }), void 0));
10484
+ return (jsxs$1(Container$9, __assign$1({ "data-testid": testId, theme: theme }, { children: [header && (jsx$1(Header$1, __assign$1({ theme: theme }, { children: jsx$1(Text$5, __assign$1({ variant: "heading6", weight: "demi" }, { children: header }), void 0) }), void 0)), jsx$1(Ul, { children: options.map(function (item, index) { return (jsx$1(Li, __assign$1({ theme: theme }, { children: jsx$1(Anchor, __assign$1({ href: item.optionUrl }, { children: jsx$1(ProductItem, { src: item.src, title: item.title, price: item.price }, void 0) }), void 0) }), index)); }) }, void 0), footer && jsx$1(Footer, { text: footer, onClick: onViewAll }, void 0)] }), void 0));
10484
10485
  };
10485
10486
  var templateObject_1$g, templateObject_2$8, templateObject_3$8;
10486
10487
 
@@ -10600,9 +10601,6 @@ var reducer = function (state, action) {
10600
10601
  case 'UPDATE_TERM': {
10601
10602
  return __assign$1(__assign$1({}, state), { term: action.payload.term });
10602
10603
  }
10603
- case 'UPDATE_OPTION': {
10604
- return __assign$1(__assign$1({}, state), { selectedOption: action.payload.selectedOption, term: action.payload.selectedOption.title.replaceAll(/(<([^>]+)>)/gi, ''), open: false });
10605
- }
10606
10604
  case 'TOGGLE_PANEL': {
10607
10605
  return __assign$1(__assign$1({}, state), { open: action.payload.open });
10608
10606
  }
@@ -10616,8 +10614,11 @@ var Container$8 = newStyled.div({
10616
10614
  display: 'flex',
10617
10615
  });
10618
10616
  var SearchBar = function (_a) {
10619
- var suggestions = _a.suggestions, resultOptions = _a.resultOptions, onChange = _a.onChange, onSearch = _a.onSearch, resultsPanelDataTestId = _a.resultsPanelDataTestId, allResults = _a.allResults;
10617
+ var suggestions = _a.suggestions, resultOptions = _a.resultOptions, onChange = _a.onChange, onSearch = _a.onSearch, resultsPanelDataTestId = _a.resultsPanelDataTestId, allResults = _a.allResults, initialTerm = _a.initialTerm;
10620
10618
  var theme = useTheme();
10619
+ if (initialTerm) {
10620
+ initialState$1.term = initialTerm;
10621
+ }
10621
10622
  var _b = useReducer(reducer, initialState$1), state = _b[0], dispatch = _b[1];
10622
10623
  var ref = useRef(null);
10623
10624
  var shouldDisplaySuggestion = function () {
@@ -10636,10 +10637,7 @@ var SearchBar = function (_a) {
10636
10637
  : shouldDisplaySuggestion()
10637
10638
  ? suggestions
10638
10639
  : [];
10639
- return (jsxs$1("form", __assign$1({ role: "search", onSubmit: function (e) { return e.preventDefault(); }, ref: ref, style: { position: 'relative' } }, { children: [jsxs$1(Container$8, __assign$1({ theme: theme }, { children: [jsx$1(Input, { value: state.term, placeholder: "Search for products", onChange: function (e) { return dispatch({ type: 'UPDATE_TERM', payload: { term: e.target.value } }); }, onFocus: function () { return dispatch({ type: 'TOGGLE_PANEL', payload: { open: true } }); }, id: "search", autoComplete: "off", theme: theme, "aria-label": "Search for products" }, void 0), jsx$1(SearchControl, { open: state.open, onClear: function () { return dispatch({ type: 'CLEAR', payload: {} }); }, onSearch: function () { return onSearch(state.term); } }, void 0)] }), void 0), state.open && !!options.length && (jsx$1(ResultsPanel, { testId: resultsPanelDataTestId, options: options, header: shouldDisplaySuggestion() ? 'Most popular products' : undefined, footer: allResults ? "View all results (".concat(allResults, ")") : undefined, onClick: function (value) {
10640
- onSearch(value.title);
10641
- dispatch({ type: 'UPDATE_OPTION', payload: { selectedOption: value } });
10642
- }, onViewAll: function () { return onSearch(state.term); } }, void 0))] }), void 0));
10640
+ return (jsxs$1("form", __assign$1({ role: "search", onSubmit: function (e) { return e.preventDefault(); }, ref: ref, style: { position: 'relative' } }, { children: [jsxs$1(Container$8, __assign$1({ theme: theme }, { children: [jsx$1(Input, { value: state.term, placeholder: "Search for products", onChange: function (e) { return dispatch({ type: 'UPDATE_TERM', payload: { term: e.target.value } }); }, onFocus: function () { return dispatch({ type: 'TOGGLE_PANEL', payload: { open: true } }); }, id: "search", autoComplete: "off", theme: theme, "aria-label": "Search for products" }, void 0), jsx$1(SearchControl, { open: state.open, onClear: function () { return dispatch({ type: 'CLEAR', payload: {} }); }, onSearch: function () { return onSearch(state.term); } }, void 0)] }), void 0), state.open && !!options.length && (jsx$1(ResultsPanel, { testId: resultsPanelDataTestId, options: options, header: shouldDisplaySuggestion() ? 'Most popular products' : undefined, footer: allResults ? "View all results (".concat(allResults, ")") : undefined, onViewAll: function () { return onSearch(state.term); } }, void 0))] }), void 0));
10643
10641
  };
10644
10642
 
10645
10643
  function _extends() {