@smg-automotive/components 25.11.0-chakra-v3.8 → 25.11.0-chakra-v3.9
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/dist/cjs/components/errorPage/content/index.d.ts +10 -0
- package/dist/cjs/components/errorPage/content/index.d.ts.map +1 -0
- package/dist/cjs/components/errorPage/index.d.ts +2 -9
- package/dist/cjs/components/errorPage/index.d.ts.map +1 -1
- package/dist/cjs/components/filterPatterns/ActionButton.d.ts.map +1 -1
- package/dist/cjs/components/filterPatterns/Heading.d.ts +2 -9
- package/dist/cjs/components/filterPatterns/Heading.d.ts.map +1 -1
- package/dist/cjs/components/filterPatterns/HeadingContent.d.ts +10 -0
- package/dist/cjs/components/filterPatterns/HeadingContent.d.ts.map +1 -0
- package/dist/cjs/components/filterPatterns/dialog/Content.d.ts +4 -0
- package/dist/cjs/components/filterPatterns/dialog/Content.d.ts.map +1 -0
- package/dist/cjs/components/filterPatterns/dialog/index.d.ts +1 -2
- package/dist/cjs/components/filterPatterns/dialog/index.d.ts.map +1 -1
- package/dist/cjs/components/filterPatterns/popover/Content.d.ts +4 -0
- package/dist/cjs/components/filterPatterns/popover/Content.d.ts.map +1 -0
- package/dist/cjs/components/filterPatterns/popover/index.d.ts +1 -2
- package/dist/cjs/components/filterPatterns/popover/index.d.ts.map +1 -1
- package/dist/cjs/components/galleryHeader/Content.d.ts +10 -0
- package/dist/cjs/components/galleryHeader/Content.d.ts.map +1 -0
- package/dist/cjs/components/galleryHeader/index.d.ts +3 -9
- package/dist/cjs/components/galleryHeader/index.d.ts.map +1 -1
- package/dist/cjs/components/index.d.ts +9 -9
- package/dist/cjs/components/index.d.ts.map +1 -1
- package/dist/cjs/components/link/index.d.ts +3 -2
- package/dist/cjs/components/link/index.d.ts.map +1 -1
- package/dist/cjs/components/navigation/header/NavigationAvatar.d.ts.map +1 -1
- package/dist/cjs/components/navigation/header/drawer/DrawerLoginToggle.d.ts.map +1 -1
- package/dist/cjs/components/navigation/header/links/NavigationLink.d.ts.map +1 -1
- package/dist/cjs/components/navigation/header/navigationTenantMenu/index.d.ts.map +1 -1
- package/dist/cjs/components/skeleton/index.d.ts +1 -1
- package/dist/cjs/components/skeleton/index.d.ts.map +1 -1
- package/dist/cjs/components/tab/index.d.ts +4 -4
- package/dist/cjs/components/tab/index.d.ts.map +1 -1
- package/dist/cjs/components/tenantSelection/Overview.d.ts.map +1 -1
- package/dist/cjs/components/tenantSelection/select/index.d.ts.map +1 -1
- package/dist/cjs/components/text/index.d.ts +1 -1
- package/dist/cjs/components/text/index.d.ts.map +1 -1
- package/dist/cjs/components/translationProvider/index.d.ts.map +1 -1
- package/dist/cjs/components/translationProvider/withTranslationProvider.d.ts +8 -0
- package/dist/cjs/components/translationProvider/withTranslationProvider.d.ts.map +1 -0
- package/dist/cjs/index.js +1017 -1004
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utilities/i18nInit.d.ts +18 -0
- package/dist/cjs/utilities/i18nInit.d.ts.map +1 -0
- package/dist/esm/components/errorPage/content/EmailChangeVerification.js +1 -1
- package/dist/esm/components/errorPage/content/index.d.ts +10 -0
- package/dist/esm/components/errorPage/content/index.d.ts.map +1 -0
- package/dist/esm/components/errorPage/content/index.js +283 -0
- package/dist/esm/components/errorPage/content/index.js.map +1 -0
- package/dist/esm/components/errorPage/index.d.ts +2 -9
- package/dist/esm/components/errorPage/index.d.ts.map +1 -1
- package/dist/esm/components/errorPage/index.js +5 -283
- package/dist/esm/components/errorPage/index.js.map +1 -1
- package/dist/esm/components/filterPatterns/ActionButton.d.ts.map +1 -1
- package/dist/esm/components/filterPatterns/Heading.d.ts +2 -9
- package/dist/esm/components/filterPatterns/Heading.d.ts.map +1 -1
- package/dist/esm/components/filterPatterns/HeadingContent.d.ts +10 -0
- package/dist/esm/components/filterPatterns/HeadingContent.d.ts.map +1 -0
- package/dist/esm/components/filterPatterns/dialog/Content.d.ts +4 -0
- package/dist/esm/components/filterPatterns/dialog/Content.d.ts.map +1 -0
- package/dist/esm/components/filterPatterns/dialog/index.d.ts +1 -2
- package/dist/esm/components/filterPatterns/dialog/index.d.ts.map +1 -1
- package/dist/esm/components/filterPatterns/popover/Content.d.ts +4 -0
- package/dist/esm/components/filterPatterns/popover/Content.d.ts.map +1 -0
- package/dist/esm/components/filterPatterns/popover/index.d.ts +1 -2
- package/dist/esm/components/filterPatterns/popover/index.d.ts.map +1 -1
- package/dist/esm/components/galleryHeader/Content.d.ts +10 -0
- package/dist/esm/components/galleryHeader/Content.d.ts.map +1 -0
- package/dist/esm/components/galleryHeader/Content.js +196 -0
- package/dist/esm/components/galleryHeader/Content.js.map +1 -0
- package/dist/esm/components/galleryHeader/index.d.ts +3 -9
- package/dist/esm/components/galleryHeader/index.d.ts.map +1 -1
- package/dist/esm/components/galleryHeader/index.js +3 -196
- package/dist/esm/components/galleryHeader/index.js.map +1 -1
- package/dist/esm/components/index.d.ts +9 -9
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/link/index.d.ts +3 -2
- package/dist/esm/components/link/index.d.ts.map +1 -1
- package/dist/esm/components/link/index.js.map +1 -1
- package/dist/esm/components/navigation/footer/Apps.js +1 -1
- package/dist/esm/components/navigation/footer/Copyright.js +1 -1
- package/dist/esm/components/navigation/footer/Link.js +1 -1
- package/dist/esm/components/navigation/footer/Sections.js +1 -1
- package/dist/esm/components/navigation/header/ComparisonItem.js +1 -1
- package/dist/esm/components/navigation/header/FavoritesItem.js +1 -1
- package/dist/esm/components/navigation/header/NavigationAvatar.d.ts.map +1 -1
- package/dist/esm/components/navigation/header/NavigationAvatar.js +1 -1
- package/dist/esm/components/navigation/header/NavigationItem.js +1 -1
- package/dist/esm/components/navigation/header/drawer/DrawerLoginToggle.d.ts.map +1 -1
- package/dist/esm/components/navigation/header/drawer/DrawerLoginToggle.js +1 -1
- package/dist/esm/components/navigation/header/drawer/DrawerSections.js +1 -1
- package/dist/esm/components/navigation/header/drawer/index.js +1 -1
- package/dist/esm/components/navigation/header/drawer/index.js.map +1 -1
- package/dist/esm/components/navigation/header/links/NavigationLink.d.ts.map +1 -1
- package/dist/esm/components/navigation/header/links/NavigationLink.js +1 -1
- package/dist/esm/components/navigation/header/links/NavigationLink.js.map +1 -1
- package/dist/esm/components/navigation/header/navigationTenantMenu/index.d.ts.map +1 -1
- package/dist/esm/components/navigation/header/navigationTenantMenu/index.js +1 -1
- package/dist/esm/components/skeleton/index.d.ts +1 -1
- package/dist/esm/components/skeleton/index.d.ts.map +1 -1
- package/dist/esm/components/tab/index.d.ts +4 -4
- package/dist/esm/components/tab/index.d.ts.map +1 -1
- package/dist/esm/components/tenantSelection/Overview.d.ts.map +1 -1
- package/dist/esm/components/tenantSelection/Overview.js +1 -1
- package/dist/esm/components/tenantSelection/Overview.js.map +1 -1
- package/dist/esm/components/tenantSelection/select/index.d.ts.map +1 -1
- package/dist/esm/components/tenantSelection/select/index.js +1 -1
- package/dist/esm/components/tenantSelection/select/index.js.map +1 -1
- package/dist/esm/components/text/index.d.ts +1 -1
- package/dist/esm/components/text/index.d.ts.map +1 -1
- package/dist/esm/components/translationProvider/index.d.ts.map +1 -1
- package/dist/esm/components/translationProvider/index.js +2 -1
- package/dist/esm/components/translationProvider/index.js.map +1 -1
- package/dist/esm/components/translationProvider/withTranslationProvider.d.ts +8 -0
- package/dist/esm/components/translationProvider/withTranslationProvider.d.ts.map +1 -0
- package/dist/esm/components/translationProvider/withTranslationProvider.js +16 -0
- package/dist/esm/components/translationProvider/withTranslationProvider.js.map +1 -0
- package/dist/esm/index.js +9 -9
- package/dist/esm/utilities/i18nInit.d.ts +18 -0
- package/dist/esm/utilities/i18nInit.d.ts.map +1 -0
- package/dist/esm/utilities/i18nInit.js +7 -0
- package/dist/esm/utilities/i18nInit.js.map +1 -0
- package/dist/index.d.ts +250 -195
- package/package.json +12 -12
package/dist/cjs/index.js
CHANGED
|
@@ -4,10 +4,10 @@ var react$1 = require('@chakra-ui/react');
|
|
|
4
4
|
var react = require('@emotion/react');
|
|
5
5
|
var useDebounce = require('use-debounce');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var useEmblaCarousel = require('embla-carousel-react');
|
|
7
8
|
var i18nPkg = require('@smg-automotive/i18n-pkg');
|
|
8
9
|
var Fuse = require('fuse.js');
|
|
9
10
|
var auth$4 = require('@smg-automotive/auth');
|
|
10
|
-
var useEmblaCarousel = require('embla-carousel-react');
|
|
11
11
|
|
|
12
12
|
var zIndex = react$1.defineTokens.zIndex({
|
|
13
13
|
hide: { value: -1 },
|
|
@@ -5947,173 +5947,503 @@ var Card = {
|
|
|
5947
5947
|
Footer: Footer$2,
|
|
5948
5948
|
};
|
|
5949
5949
|
|
|
5950
|
-
var
|
|
5951
|
-
var children = _a.children,
|
|
5952
|
-
return (React.createElement(react$1.
|
|
5950
|
+
var Flex = function (_a) {
|
|
5951
|
+
var children = _a.children, rest = __rest(_a, ["children"]);
|
|
5952
|
+
return (React.createElement(react$1.Flex, __assign({}, rest), children));
|
|
5953
5953
|
};
|
|
5954
5954
|
|
|
5955
|
-
var
|
|
5956
|
-
|
|
5957
|
-
|
|
5958
|
-
var combinedProps = __assign(__assign({}, props), { variant: variant });
|
|
5959
|
-
var recipeProps = recipe.splitVariantProps(combinedProps)[0];
|
|
5960
|
-
var styles = recipe(recipeProps);
|
|
5961
|
-
return (React.createElement(react$1.Checkbox.Root, __assign({}, props, { disabled: disabled, checked: indeterminate ? 'indeterminate' : checked, readOnly: readOnly, width: fullWidth ? 'full' : undefined, onCheckedChange: onChange, css: styles.root }),
|
|
5962
|
-
React.createElement(react$1.Checkbox.HiddenInput, { ref: ref }),
|
|
5963
|
-
React.createElement(react$1.Checkbox.Control, { css: styles.control }),
|
|
5964
|
-
label && (React.createElement(react$1.Checkbox.Label, { css: __assign(__assign({}, styles.label), { fontWeight: fontWeight }) }, label))));
|
|
5965
|
-
});
|
|
5966
|
-
|
|
5967
|
-
var Separator = react$1.Separator;
|
|
5968
|
-
Separator.displayName = 'Separator';
|
|
5969
|
-
|
|
5970
|
-
var CheckboxGroup = function (_a) {
|
|
5971
|
-
var name = _a.name, label = _a.label, value = _a.value, onChange = _a.onChange, checked = _a.checked, disabled = _a.disabled, invalid = _a.invalid, indeterminate = _a.indeterminate, addDividerAfterIndex = _a.addDividerAfterIndex, _b = _a.variant, variant = _b === void 0 ? 'alignCenter' : _b, checkboxes = _a.checkboxes;
|
|
5972
|
-
return (React.createElement(Stack, { gap: "md" },
|
|
5973
|
-
React.createElement(Checkbox, { name: name, label: label, value: value, onChange: onChange, checked: checked, disabled: disabled, invalid: invalid, indeterminate: indeterminate, variant: variant, fontWeight: "bold" }), checkboxes === null || checkboxes === void 0 ? void 0 :
|
|
5974
|
-
checkboxes.map(function (item, index) { return (React.createElement(React.Fragment, { key: item.name },
|
|
5975
|
-
React.createElement(react$1.Box, { ps: "md", asChild: true },
|
|
5976
|
-
React.createElement(Checkbox, { name: item.name, label: item.label, value: item.value, onChange: item.onChange, checked: item.checked, variant: variant, disabled: disabled })),
|
|
5977
|
-
(addDividerAfterIndex === null || addDividerAfterIndex === void 0 ? void 0 : addDividerAfterIndex.includes(index)) ? (React.createElement(Separator, { orientation: "horizontal" })) : null)); })));
|
|
5955
|
+
var icons = {
|
|
5956
|
+
previous: React.createElement(ChevronLeftSmallIcon, null),
|
|
5957
|
+
next: React.createElement(ChevronRightSmallIcon, null),
|
|
5978
5958
|
};
|
|
5979
|
-
|
|
5980
|
-
|
|
5981
|
-
var
|
|
5982
|
-
var
|
|
5983
|
-
var
|
|
5984
|
-
|
|
5985
|
-
|
|
5986
|
-
return (React.createElement(react$1.chakra.span, { css: styles, "aria-label": ariaLabel }, count));
|
|
5959
|
+
var ThumbnailNavigationButton = function (_a) {
|
|
5960
|
+
var direction = _a.direction, onClick = _a.onClick;
|
|
5961
|
+
var recipe = react$1.useSlotRecipe({ key: 'carousel' });
|
|
5962
|
+
var styles = recipe({ variant: 'fullScreen' });
|
|
5963
|
+
var side = direction === 'previous' ? { left: '0' } : { right: '0' };
|
|
5964
|
+
return (React.createElement(react$1.chakra.button, { onClick: onClick, "aria-label": "scroll to ".concat(direction, " thumbnail group"), "aria-controls": "thumbnails-wrapper", css: __assign(__assign({}, styles.paginationButton), side) },
|
|
5965
|
+
React.createElement(Flex, { css: styles.paginationIconContainer }, icons[direction])));
|
|
5987
5966
|
};
|
|
5988
5967
|
|
|
5989
|
-
var
|
|
5990
|
-
var
|
|
5991
|
-
|
|
5992
|
-
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
5993
|
-
var styles = recipe(recipeProps);
|
|
5994
|
-
return (React.createElement(react$1.Field.Root, { invalid: props.invalid },
|
|
5995
|
-
React.createElement(react$1.Input, __assign({}, props, { css: __assign(__assign({}, styles.field), { display: 'block', textAlign: 'start' }), type: "date", min: min ? min.toISOString().split('T')[0] : undefined, ref: ref }))));
|
|
5996
|
-
});
|
|
5997
|
-
DatePicker.displayName = 'DatePicker';
|
|
5998
|
-
|
|
5999
|
-
var Brand;
|
|
6000
|
-
(function (Brand) {
|
|
6001
|
-
Brand["AutoScout24"] = "autoscout24";
|
|
6002
|
-
Brand["MotoScout24"] = "motoscout24";
|
|
6003
|
-
})(Brand || (Brand = {}));
|
|
6004
|
-
|
|
6005
|
-
var Switch = function (_a) {
|
|
6006
|
-
_a.id; var disabled = _a.disabled, onCheckedChange = _a.onCheckedChange, checked = _a.checked, label = _a.label, props = __rest(_a, ["id", "disabled", "onCheckedChange", "checked", "label"]);
|
|
6007
|
-
var recipe = react$1.useSlotRecipe({ key: 'switch' });
|
|
6008
|
-
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
6009
|
-
var styles = recipe(recipeProps);
|
|
6010
|
-
return (React.createElement(react$1.Switch.Root, { onCheckedChange: onCheckedChange, checked: checked, disabled: disabled, css: styles.root },
|
|
6011
|
-
React.createElement(react$1.Switch.HiddenInput, null),
|
|
6012
|
-
React.createElement(react$1.Switch.Control, { css: styles.control },
|
|
6013
|
-
React.createElement(react$1.Switch.Thumb, { css: styles.thumb })),
|
|
6014
|
-
label ? (React.createElement(react$1.Switch.Label, { css: styles.label }, label)) : null));
|
|
5968
|
+
var Thumbnail = function (_a) {
|
|
5969
|
+
var onClick = _a.onClick, isCurrent = _a.isCurrent, thumbnailIndex = _a.thumbnailIndex, totalThumbnails = _a.totalThumbnails, children = _a.children;
|
|
5970
|
+
return (React.createElement(AspectRatio, { ratio: 4 / 3, onClick: onClick, width: "3xl", flexShrink: "0", cursor: "pointer", mr: "xs", border: "4px", borderColor: isCurrent ? 'blue.400' : 'transparent', "aria-current": isCurrent, "aria-label": "thumbnail ".concat(thumbnailIndex + 1, " of ").concat(totalThumbnails) }, children));
|
|
6015
5971
|
};
|
|
6016
5972
|
|
|
6017
|
-
var
|
|
6018
|
-
var
|
|
6019
|
-
var
|
|
6020
|
-
|
|
6021
|
-
|
|
6022
|
-
|
|
6023
|
-
|
|
6024
|
-
|
|
6025
|
-
|
|
6026
|
-
|
|
6027
|
-
|
|
6028
|
-
|
|
6029
|
-
|
|
6030
|
-
|
|
6031
|
-
|
|
6032
|
-
|
|
6033
|
-
|
|
6034
|
-
|
|
6035
|
-
|
|
6036
|
-
|
|
6037
|
-
|
|
6038
|
-
|
|
6039
|
-
|
|
6040
|
-
|
|
6041
|
-
|
|
6042
|
-
|
|
5973
|
+
var ThumbnailPagination = function (_a) {
|
|
5974
|
+
var currentSlideIndex = _a.currentSlideIndex, thumbnails = _a.thumbnails, mainCarousel = _a.mainCarousel, paginationCarouselRef = _a.paginationCarouselRef, paginationCarousel = _a.paginationCarousel;
|
|
5975
|
+
var _b = React.useState({ previous: false, next: true }), paginationButtonVisibility = _b[0], setPaginationButtonVisibility = _b[1];
|
|
5976
|
+
var recipe = react$1.useSlotRecipe({ key: 'carousel' });
|
|
5977
|
+
var styles = recipe({ variant: 'fullScreen' });
|
|
5978
|
+
var scrollPrev = React.useCallback(function () { return paginationCarousel && paginationCarousel.scrollPrev(true); }, [paginationCarousel]);
|
|
5979
|
+
var scrollNext = React.useCallback(function () { return paginationCarousel && paginationCarousel.scrollNext(true); }, [paginationCarousel]);
|
|
5980
|
+
var onThumbnailClick = React.useCallback(function (index) {
|
|
5981
|
+
if (!mainCarousel || !paginationCarousel)
|
|
5982
|
+
return;
|
|
5983
|
+
mainCarousel.scrollTo(index, true);
|
|
5984
|
+
}, [mainCarousel, paginationCarousel]);
|
|
5985
|
+
var evalPaginationButtonVisibility = React.useCallback(function () {
|
|
5986
|
+
if (!paginationCarousel ||
|
|
5987
|
+
paginationCarousel.slidesNotInView().length === 0) {
|
|
5988
|
+
setPaginationButtonVisibility({ previous: false, next: false });
|
|
5989
|
+
return;
|
|
5990
|
+
}
|
|
5991
|
+
var progress = Math.max(0, Math.min(1, paginationCarousel.scrollProgress()));
|
|
5992
|
+
var slideWidth = 1 / thumbnails.length;
|
|
5993
|
+
setPaginationButtonVisibility({
|
|
5994
|
+
previous: progress > slideWidth,
|
|
5995
|
+
next: progress < 1 - slideWidth,
|
|
5996
|
+
});
|
|
5997
|
+
}, [paginationCarousel, thumbnails.length]);
|
|
5998
|
+
React.useEffect(function () {
|
|
5999
|
+
if (!paginationCarousel)
|
|
6000
|
+
return;
|
|
6001
|
+
evalPaginationButtonVisibility();
|
|
6002
|
+
paginationCarousel.on('scroll', evalPaginationButtonVisibility);
|
|
6003
|
+
paginationCarousel.on('slidesInView', evalPaginationButtonVisibility);
|
|
6004
|
+
}, [paginationCarousel, evalPaginationButtonVisibility]);
|
|
6005
|
+
return (React.createElement(react$1.Box, { ref: paginationCarouselRef, css: styles.pagination, "aria-label": "Pagination" },
|
|
6006
|
+
React.createElement(Flex, { alignItems: "center", height: "full", id: "thumbnail-wrapper" }, thumbnails.map(function (slide, index) { return (React.createElement(Thumbnail, { key: "slide-".concat(index), onClick: function () { return onThumbnailClick(index); }, isCurrent: index === currentSlideIndex, thumbnailIndex: index, totalThumbnails: thumbnails.length }, paginationCarouselRef ? (slide) : (React.createElement(react$1.Box, { h: "full", w: "full", backgroundColor: "gray.50" })))); })),
|
|
6007
|
+
paginationButtonVisibility.previous ? (React.createElement(ThumbnailNavigationButton, { onClick: scrollPrev, direction: "previous" })) : null,
|
|
6008
|
+
paginationButtonVisibility.next ? (React.createElement(ThumbnailNavigationButton, { onClick: scrollNext, direction: "next" })) : null));
|
|
6043
6009
|
};
|
|
6044
6010
|
|
|
6045
|
-
var
|
|
6046
|
-
var
|
|
6047
|
-
|
|
6048
|
-
};
|
|
6049
|
-
var
|
|
6050
|
-
var
|
|
6051
|
-
|
|
6052
|
-
|
|
6053
|
-
var
|
|
6054
|
-
|
|
6055
|
-
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
};
|
|
6061
|
-
|
|
6062
|
-
|
|
6063
|
-
return (React.createElement(react$1.
|
|
6064
|
-
}
|
|
6065
|
-
|
|
6066
|
-
var _b = _a.textStyle, textStyle = _b === void 0 ? 'heading6' : _b, children = _a.children, rest = __rest(_a, ["textStyle", "children"]);
|
|
6067
|
-
return (React.createElement(react$1.Heading, __assign({ as: "h6", textStyle: textStyle }, rest), children));
|
|
6011
|
+
var Slide = function (_a) {
|
|
6012
|
+
var onClick = _a.onClick, slideIndex = _a.slideIndex, totalSlides = _a.totalSlides, isCurrent = _a.isCurrent, children = _a.children, fullScreen = _a.fullScreen, slidesPerView = _a.slidesPerView;
|
|
6013
|
+
var recipe = react$1.useSlotRecipe({ key: 'carousel' });
|
|
6014
|
+
var styles = recipe(fullScreen ? { variant: 'fullScreen' } : {});
|
|
6015
|
+
var flexBasisTokenOrVar = slidesPerView === 1 ? 'full' : 'var(--carousel-slide-basis)';
|
|
6016
|
+
var basisVarResponsive = slidesPerView === 1
|
|
6017
|
+
? undefined
|
|
6018
|
+
: (function () {
|
|
6019
|
+
var map = slidesPerView;
|
|
6020
|
+
var result = {};
|
|
6021
|
+
Object.keys(map).forEach(function (bp) {
|
|
6022
|
+
var value = map[bp];
|
|
6023
|
+
if (typeof value === 'number') {
|
|
6024
|
+
result[bp] = "calc(100% / ".concat(value, ")");
|
|
6025
|
+
}
|
|
6026
|
+
});
|
|
6027
|
+
return result;
|
|
6028
|
+
})();
|
|
6029
|
+
return (React.createElement(react$1.Box, { css: __assign(__assign({}, styles.slide), (basisVarResponsive
|
|
6030
|
+
? { '--carousel-slide-basis': basisVarResponsive }
|
|
6031
|
+
: {})), flexBasis: flexBasisTokenOrVar, paddingLeft: slidesPerView === 1 ? '0' : { base: 'md', md: '2xl' }, onClick: onClick, "aria-roledescription": "slide", "aria-label": "".concat(slideIndex + 1, " of ").concat(totalSlides), "aria-current": isCurrent }, children));
|
|
6068
6032
|
};
|
|
6069
6033
|
|
|
6070
|
-
var
|
|
6071
|
-
|
|
6072
|
-
var
|
|
6073
|
-
var
|
|
6074
|
-
|
|
6075
|
-
var bothActionButtons = primaryActionButton && secondaryActionButton;
|
|
6076
|
-
var recipe = react$1.useSlotRecipe({ key: 'dialog' });
|
|
6077
|
-
var recipeProps = recipe.splitVariantProps({
|
|
6078
|
-
size: dialogSize,
|
|
6079
|
-
motionPreset: motionPreset,
|
|
6080
|
-
variant: variant,
|
|
6081
|
-
overlayColor: overlayColor,
|
|
6082
|
-
})[0];
|
|
6083
|
-
var styles = recipe(recipeProps);
|
|
6084
|
-
return (React.createElement(react$1.Dialog.Root, __assign({ open: open, onOpenChange: onOpenChange }, props),
|
|
6085
|
-
React.createElement(react$1.Portal, null,
|
|
6086
|
-
React.createElement(react$1.Dialog.Backdrop, { css: styles.backdrop }),
|
|
6087
|
-
React.createElement(react$1.Dialog.Positioner, { css: styles.positioner },
|
|
6088
|
-
React.createElement(react$1.Dialog.Content, { css: styles.content },
|
|
6089
|
-
title && (React.createElement(react$1.Box, { borderBottom: "1px", borderColor: "gray.100" },
|
|
6090
|
-
React.createElement(react$1.Dialog.Header, { css: styles.header },
|
|
6091
|
-
React.createElement(H3, null, title),
|
|
6092
|
-
React.createElement(react$1.Dialog.CloseTrigger, { asChild: true, css: styles.closeTrigger },
|
|
6093
|
-
React.createElement(DialogCloseButton, { fontSize: "base" }))))),
|
|
6094
|
-
React.createElement(react$1.Dialog.Body, { css: styles.body, p: disableBodyPadding ? '0' : undefined }, children),
|
|
6095
|
-
(primaryActionButton || secondaryActionButton) && (React.createElement(react$1.Box, { borderTop: "1px", borderColor: "gray.100" },
|
|
6096
|
-
React.createElement(react$1.Dialog.Footer, { display: "flex", justifyContent: bothActionButtons ? 'space-between' : 'flex-start', gap: bothActionButtons ? 'sm' : '0', css: styles.footer },
|
|
6097
|
-
secondaryActionButton ? (React.createElement(Button, { variant: "secondary", onClick: secondaryActionButton.action, width: { base: 'full', sm: 'fit' } }, secondaryActionButton.label)) : null,
|
|
6098
|
-
primaryActionButton ? (React.createElement(Button, { variant: "primary", onClick: primaryActionButton.action, width: { base: 'full', sm: 'fit' } }, primaryActionButton.label)) : null))))))));
|
|
6034
|
+
var NumbersPaginationButton = function (_a) {
|
|
6035
|
+
var onClick = _a.onClick, isCurrent = _a.isCurrent, currentPageNumber = _a.currentPageNumber, totalNumbers = _a.totalNumbers;
|
|
6036
|
+
var recipe = react$1.useSlotRecipe({ key: 'carousel' });
|
|
6037
|
+
var styles = recipe();
|
|
6038
|
+
return (React.createElement(react$1.chakra.button, { css: styles.numbersPaginationButton, onClick: onClick, "aria-current": isCurrent, "aria-label": "numbers pagination ".concat(currentPageNumber, " of ").concat(totalNumbers) }, currentPageNumber));
|
|
6099
6039
|
};
|
|
6100
6040
|
|
|
6101
|
-
var
|
|
6102
|
-
|
|
6041
|
+
var NumbersPagination = function (_a) {
|
|
6042
|
+
var currentSlideIndex = _a.currentSlideIndex, numberOfSlides = _a.numberOfSlides, mainCarousel = _a.mainCarousel;
|
|
6043
|
+
var onClick = React.useCallback(function (index) {
|
|
6044
|
+
if (mainCarousel) {
|
|
6045
|
+
mainCarousel.scrollTo(index);
|
|
6046
|
+
}
|
|
6047
|
+
}, [mainCarousel]);
|
|
6048
|
+
var pagination = Array.from({ length: numberOfSlides }, function (_, i) { return i; });
|
|
6049
|
+
return (React.createElement(react$1.Box, { "aria-label": "Numbers Pagination" },
|
|
6050
|
+
React.createElement(Flex, { flexDirection: "row", alignItems: "center", justifyContent: "center" }, pagination.map(function (index) { return (React.createElement(NumbersPaginationButton, { key: "slide-".concat(index), isCurrent: index === currentSlideIndex, currentPageNumber: index + 1, totalNumbers: numberOfSlides, onClick: function () { return onClick(index); } })); }))));
|
|
6103
6051
|
};
|
|
6104
6052
|
|
|
6105
|
-
var
|
|
6106
|
-
var
|
|
6107
|
-
|
|
6108
|
-
|
|
6109
|
-
|
|
6110
|
-
|
|
6111
|
-
|
|
6053
|
+
var NavigationButton = function (_a) {
|
|
6054
|
+
var direction = _a.direction, onClick = _a.onClick, fullScreen = _a.fullScreen, _b = _a.isHovered, isHovered = _b === void 0 ? false : _b;
|
|
6055
|
+
var recipe = react$1.useSlotRecipe({ key: 'carousel' });
|
|
6056
|
+
var styles = recipe(fullScreen ? { variant: 'fullScreen' } : {});
|
|
6057
|
+
var side = direction === 'previous' ? { left: '0' } : { right: '0' };
|
|
6058
|
+
var icons = {
|
|
6059
|
+
previous: React.createElement(ChevronLeftLargeIcon, { boxSize: undefined, css: styles.icon }),
|
|
6060
|
+
next: React.createElement(ChevronRightLargeIcon, { boxSize: undefined, css: styles.icon }),
|
|
6061
|
+
};
|
|
6062
|
+
return (React.createElement(react$1.chakra.button, { onClick: onClick, "aria-label": "".concat(direction, " slide"), css: __assign(__assign(__assign({}, styles.buttonContainer), (isHovered ? { visibility: 'visible', pointerEvents: 'auto' } : {})), side) },
|
|
6063
|
+
React.createElement(Flex, { css: styles.button }, icons[direction])));
|
|
6112
6064
|
};
|
|
6113
6065
|
|
|
6114
|
-
var
|
|
6115
|
-
var
|
|
6116
|
-
|
|
6066
|
+
var DotsPaginationIndicator = function (_a) {
|
|
6067
|
+
var isCurrent = _a.isCurrent;
|
|
6068
|
+
var recipe = react$1.useSlotRecipe({ key: 'carousel' });
|
|
6069
|
+
var styles = recipe();
|
|
6070
|
+
return (React.createElement(react$1.chakra.span, { "aria-current": isCurrent, css: styles.dotsPaginationIndicator }));
|
|
6071
|
+
};
|
|
6072
|
+
|
|
6073
|
+
var DotsPagination = function (_a) {
|
|
6074
|
+
var currentSlideIndex = _a.currentSlideIndex, numberOfSlides = _a.numberOfSlides;
|
|
6075
|
+
var pagination = Array.from({ length: numberOfSlides }, function (_, i) { return i; });
|
|
6076
|
+
var recipe = react$1.useSlotRecipe({ key: 'carousel' });
|
|
6077
|
+
var styles = recipe();
|
|
6078
|
+
return (React.createElement(react$1.Box, { "aria-label": "Dots Pagination", css: styles.dotsPaginationContainer },
|
|
6079
|
+
React.createElement(Flex, { flexDirection: "row", alignItems: "center", justifyContent: "center" }, pagination.map(function (index) { return (React.createElement(DotsPaginationIndicator, { key: "slide-".concat(index), isCurrent: index === currentSlideIndex })); }))));
|
|
6080
|
+
};
|
|
6081
|
+
|
|
6082
|
+
exports.PaginationType = void 0;
|
|
6083
|
+
(function (PaginationType) {
|
|
6084
|
+
PaginationType["Thumbnail"] = "thumbnail";
|
|
6085
|
+
PaginationType["Number"] = "number";
|
|
6086
|
+
PaginationType["None"] = "none";
|
|
6087
|
+
PaginationType["Dot"] = "dot";
|
|
6088
|
+
})(exports.PaginationType || (exports.PaginationType = {}));
|
|
6089
|
+
var isFullScreenSlide = function (value) {
|
|
6090
|
+
return typeof value === 'object' && value !== null && 'slide' in value;
|
|
6091
|
+
};
|
|
6092
|
+
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
6093
|
+
var Carousel = function (props) {
|
|
6094
|
+
var _a;
|
|
6095
|
+
var _b;
|
|
6096
|
+
var _c = props.startIndex, startIndex = _c === void 0 ? 0 : _c, onSlideClick = props.onSlideClick, onSlideSelect = props.onSlideSelect, fullScreen = props.fullScreen, _d = props.paginationType, paginationType = _d === void 0 ? exports.PaginationType.None : _d, _e = props.slidesPerView, slidesPerView = _e === void 0 ? 1 : _e, _f = props.loop, loop = _f === void 0 ? true : _f, _g = props.slidesToScroll, slidesToScroll = _g === void 0 ? 1 : _g;
|
|
6097
|
+
var _h = React.useState(loop), canScrollPrevious = _h[0], setCanScrollPrevious = _h[1];
|
|
6098
|
+
var _j = React.useState(loop), canScrollNext = _j[0], setCanScrollNext = _j[1];
|
|
6099
|
+
var _k = React.useState(startIndex), selectedIndex = _k[0], setSelectedIndex = _k[1];
|
|
6100
|
+
var isSmallLandscapeViewport = react$1.useMediaQuery(["(max-height: ".concat(breakpoints.sm.px, "px) and (orientation: landscape)")], {
|
|
6101
|
+
ssr: true,
|
|
6102
|
+
fallback: [false],
|
|
6103
|
+
})[0];
|
|
6104
|
+
var recipe = react$1.useSlotRecipe({ key: 'carousel' });
|
|
6105
|
+
var styles = recipe(fullScreen ? { variant: 'fullScreen' } : {});
|
|
6106
|
+
var _l = useEmblaCarousel({
|
|
6107
|
+
loop: loop,
|
|
6108
|
+
startIndex: startIndex,
|
|
6109
|
+
duration: 20,
|
|
6110
|
+
align: 'start',
|
|
6111
|
+
slidesToScroll: slidesToScroll,
|
|
6112
|
+
}), mainCarouselRef = _l[0], mainCarousel = _l[1];
|
|
6113
|
+
var _m = useEmblaCarousel({
|
|
6114
|
+
containScroll: 'keepSnaps',
|
|
6115
|
+
dragFree: true,
|
|
6116
|
+
slidesToScroll: 'auto',
|
|
6117
|
+
inViewThreshold: 1,
|
|
6118
|
+
duration: 20,
|
|
6119
|
+
}), paginationCarouselRef = _m[0], paginationCarousel = _m[1];
|
|
6120
|
+
var scrollPrev = React.useCallback(function () { return mainCarousel && mainCarousel.scrollPrev(true); }, [mainCarousel]);
|
|
6121
|
+
var scrollNext = React.useCallback(function () { return mainCarousel && mainCarousel.scrollNext(true); }, [mainCarousel]);
|
|
6122
|
+
var onClick = React.useCallback(function (index) {
|
|
6123
|
+
if (onSlideClick) {
|
|
6124
|
+
onSlideClick(index);
|
|
6125
|
+
}
|
|
6126
|
+
}, [onSlideClick]);
|
|
6127
|
+
var numberOfSlides = props.children.length;
|
|
6128
|
+
var hasThumbnailPagination = fullScreen && !isSmallLandscapeViewport;
|
|
6129
|
+
var onSelect = React.useCallback(function () {
|
|
6130
|
+
var _a, _b;
|
|
6131
|
+
if (!mainCarousel)
|
|
6132
|
+
return;
|
|
6133
|
+
var newIndex = mainCarousel.selectedScrollSnap();
|
|
6134
|
+
var previousIndex = mainCarousel.previousScrollSnap();
|
|
6135
|
+
setSelectedIndex(newIndex);
|
|
6136
|
+
setCanScrollPrevious(mainCarousel.canScrollPrev());
|
|
6137
|
+
setCanScrollNext(mainCarousel.canScrollNext());
|
|
6138
|
+
if (paginationCarousel && hasThumbnailPagination) {
|
|
6139
|
+
var slideRegistry = paginationCarousel.internalEngine().slideRegistry;
|
|
6140
|
+
var snapIndexThatSlideBelongsTo = slideRegistry.findIndex(function (group) {
|
|
6141
|
+
return group.includes(newIndex);
|
|
6142
|
+
});
|
|
6143
|
+
if (typeof snapIndexThatSlideBelongsTo !== 'undefined') {
|
|
6144
|
+
paginationCarousel.scrollTo(snapIndexThatSlideBelongsTo);
|
|
6145
|
+
}
|
|
6146
|
+
}
|
|
6147
|
+
if (onSlideSelect) {
|
|
6148
|
+
onSlideSelect(newIndex);
|
|
6149
|
+
}
|
|
6150
|
+
if (!props.fullScreen) {
|
|
6151
|
+
return;
|
|
6152
|
+
}
|
|
6153
|
+
var fullScreenChildren = props.children;
|
|
6154
|
+
if (newIndex !== undefined) {
|
|
6155
|
+
var currentSlide = fullScreenChildren[newIndex];
|
|
6156
|
+
(_a = currentSlide === null || currentSlide === void 0 ? void 0 : currentSlide.onSlideEnter) === null || _a === void 0 ? void 0 : _a.call(currentSlide);
|
|
6157
|
+
}
|
|
6158
|
+
if (previousIndex !== undefined && previousIndex !== newIndex) {
|
|
6159
|
+
var previousSlide = fullScreenChildren[previousIndex];
|
|
6160
|
+
(_b = previousSlide === null || previousSlide === void 0 ? void 0 : previousSlide.onSlideLeave) === null || _b === void 0 ? void 0 : _b.call(previousSlide);
|
|
6161
|
+
}
|
|
6162
|
+
}, [
|
|
6163
|
+
mainCarousel,
|
|
6164
|
+
paginationCarousel,
|
|
6165
|
+
onSlideSelect,
|
|
6166
|
+
hasThumbnailPagination,
|
|
6167
|
+
props.children,
|
|
6168
|
+
props.fullScreen,
|
|
6169
|
+
]);
|
|
6170
|
+
React.useEffect(function () {
|
|
6171
|
+
if (!mainCarousel)
|
|
6172
|
+
return;
|
|
6173
|
+
onSelect();
|
|
6174
|
+
mainCarousel.on('select', onSelect);
|
|
6175
|
+
}, [mainCarousel, onSelect]);
|
|
6176
|
+
React.useEffect(function () {
|
|
6177
|
+
var keydownListener = function (e) {
|
|
6178
|
+
if (fullScreen) {
|
|
6179
|
+
switch (e.code) {
|
|
6180
|
+
case 'ArrowRight':
|
|
6181
|
+
scrollNext();
|
|
6182
|
+
break;
|
|
6183
|
+
case 'ArrowLeft':
|
|
6184
|
+
scrollPrev();
|
|
6185
|
+
break;
|
|
6186
|
+
}
|
|
6187
|
+
}
|
|
6188
|
+
};
|
|
6189
|
+
document.addEventListener('keydown', keydownListener);
|
|
6190
|
+
return function () { return document.removeEventListener('keydown', keydownListener); };
|
|
6191
|
+
}, [fullScreen, scrollNext, scrollPrev]);
|
|
6192
|
+
var prerenderFallbackSlide = startIndex !== 0 && !mainCarouselRef;
|
|
6193
|
+
var carouselHeightByPaginationTypeMap = (_a = {},
|
|
6194
|
+
_a[exports.PaginationType.None] = '100%',
|
|
6195
|
+
_a[exports.PaginationType.Dot] = '100%',
|
|
6196
|
+
_a[exports.PaginationType.Thumbnail] = 'calc(100% - var(--carousel-pagination-height))',
|
|
6197
|
+
_a[exports.PaginationType.Number] = 'calc(100% - var(--carousel-numbers-pagination-height))',
|
|
6198
|
+
_a);
|
|
6199
|
+
var carouselHeightCssVarValue = hasThumbnailPagination
|
|
6200
|
+
? carouselHeightByPaginationTypeMap[exports.PaginationType.Thumbnail]
|
|
6201
|
+
: carouselHeightByPaginationTypeMap[paginationType];
|
|
6202
|
+
var _o = React.useState(false), isHovered = _o[0], setIsHovered = _o[1];
|
|
6203
|
+
return (React.createElement(react$1.Box, { css: styles.container, "data-group": true },
|
|
6204
|
+
prerenderFallbackSlide ? (React.createElement(Slide, { slideIndex: startIndex, onClick: function () { return onClick(startIndex); }, totalSlides: numberOfSlides, isCurrent: startIndex === selectedIndex, fullScreen: !!fullScreen, slidesPerView: slidesPerView }, props.fullScreen
|
|
6205
|
+
? (_b = props.children[startIndex]) === null || _b === void 0 ? void 0 : _b.slide
|
|
6206
|
+
: props.children[startIndex])) : (React.createElement(react$1.Box, { ref: mainCarouselRef, "aria-label": "Carousel", "aria-roledescription": "Carousel", role: "group", "data-group": true, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, height: 'var(--carousel-height)', css: __assign(__assign({}, styles.carousel), { '--carousel-height': carouselHeightCssVarValue }) },
|
|
6207
|
+
React.createElement(Flex, { css: styles.slideContainer, marginLeft: slidesPerView === 1 ? '0' : { base: '-md', md: '-2xl' } }, props.children.map(function (slide, index) { return (React.createElement(Slide, { key: "slide-".concat(index), slideIndex: index, onClick: function () { return onClick(index); }, totalSlides: numberOfSlides, isCurrent: index === selectedIndex, fullScreen: !!fullScreen, slidesPerView: slidesPerView }, isFullScreenSlide(slide) ? slide.slide : slide)); })),
|
|
6208
|
+
canScrollPrevious ? (React.createElement(NavigationButton, { onClick: scrollPrev, direction: "previous", fullScreen: !!fullScreen, isHovered: isHovered || (!!fullScreen && !isSmallLandscapeViewport) })) : null,
|
|
6209
|
+
canScrollNext ? (React.createElement(NavigationButton, { onClick: scrollNext, direction: "next", fullScreen: !!fullScreen, isHovered: isHovered || (!!fullScreen && !isSmallLandscapeViewport) })) : null,
|
|
6210
|
+
paginationType === exports.PaginationType.Dot ? (React.createElement(DotsPagination, { currentSlideIndex: selectedIndex, numberOfSlides: props.children.length })) : null)),
|
|
6211
|
+
hasThumbnailPagination ? (React.createElement(ThumbnailPagination, { currentSlideIndex: selectedIndex, thumbnails: props.children.map(function (slide) { return slide.thumbnail; }), mainCarousel: mainCarousel, paginationCarousel: paginationCarousel, paginationCarouselRef: paginationCarouselRef })) : null,
|
|
6212
|
+
paginationType === exports.PaginationType.Number ? (React.createElement(NumbersPagination, { mainCarousel: mainCarousel, currentSlideIndex: selectedIndex, numberOfSlides: props.children.length })) : null));
|
|
6213
|
+
};
|
|
6214
|
+
|
|
6215
|
+
var Center = function (_a) {
|
|
6216
|
+
var children = _a.children, padding = _a.padding;
|
|
6217
|
+
return (React.createElement(react$1.Center, { padding: padding }, children));
|
|
6218
|
+
};
|
|
6219
|
+
|
|
6220
|
+
var Checkbox = React.forwardRef(function (_a, ref) {
|
|
6221
|
+
var _b = _a.disabled, disabled = _b === void 0 ? false : _b, _c = _a.checked, checked = _c === void 0 ? false : _c, _d = _a.indeterminate, indeterminate = _d === void 0 ? false : _d, _e = _a.readOnly, readOnly = _e === void 0 ? false : _e, _f = _a.fullWidth, fullWidth = _f === void 0 ? false : _f, label = _a.label, _g = _a.fontWeight, fontWeight = _g === void 0 ? 'regular' : _g, _h = _a.variant, variant = _h === void 0 ? 'alignCenter' : _h, onChange = _a.onChange, props = __rest(_a, ["disabled", "checked", "indeterminate", "readOnly", "fullWidth", "label", "fontWeight", "variant", "onChange"]);
|
|
6222
|
+
var recipe = react$1.useSlotRecipe({ key: 'checkbox' });
|
|
6223
|
+
var combinedProps = __assign(__assign({}, props), { variant: variant });
|
|
6224
|
+
var recipeProps = recipe.splitVariantProps(combinedProps)[0];
|
|
6225
|
+
var styles = recipe(recipeProps);
|
|
6226
|
+
return (React.createElement(react$1.Checkbox.Root, __assign({}, props, { disabled: disabled, checked: indeterminate ? 'indeterminate' : checked, readOnly: readOnly, width: fullWidth ? 'full' : undefined, onCheckedChange: onChange, css: styles.root }),
|
|
6227
|
+
React.createElement(react$1.Checkbox.HiddenInput, { ref: ref }),
|
|
6228
|
+
React.createElement(react$1.Checkbox.Control, { css: styles.control }),
|
|
6229
|
+
label && (React.createElement(react$1.Checkbox.Label, { css: __assign(__assign({}, styles.label), { fontWeight: fontWeight }) }, label))));
|
|
6230
|
+
});
|
|
6231
|
+
|
|
6232
|
+
var Separator = react$1.Separator;
|
|
6233
|
+
Separator.displayName = 'Separator';
|
|
6234
|
+
|
|
6235
|
+
var CheckboxGroup = function (_a) {
|
|
6236
|
+
var name = _a.name, label = _a.label, value = _a.value, onChange = _a.onChange, checked = _a.checked, disabled = _a.disabled, invalid = _a.invalid, indeterminate = _a.indeterminate, addDividerAfterIndex = _a.addDividerAfterIndex, _b = _a.variant, variant = _b === void 0 ? 'alignCenter' : _b, checkboxes = _a.checkboxes;
|
|
6237
|
+
return (React.createElement(Stack, { gap: "md" },
|
|
6238
|
+
React.createElement(Checkbox, { name: name, label: label, value: value, onChange: onChange, checked: checked, disabled: disabled, invalid: invalid, indeterminate: indeterminate, variant: variant, fontWeight: "bold" }), checkboxes === null || checkboxes === void 0 ? void 0 :
|
|
6239
|
+
checkboxes.map(function (item, index) { return (React.createElement(React.Fragment, { key: item.name },
|
|
6240
|
+
React.createElement(react$1.Box, { ps: "md", asChild: true },
|
|
6241
|
+
React.createElement(Checkbox, { name: item.name, label: item.label, value: item.value, onChange: item.onChange, checked: item.checked, variant: variant, disabled: disabled })),
|
|
6242
|
+
(addDividerAfterIndex === null || addDividerAfterIndex === void 0 ? void 0 : addDividerAfterIndex.includes(index)) ? (React.createElement(Separator, { orientation: "horizontal" })) : null)); })));
|
|
6243
|
+
};
|
|
6244
|
+
CheckboxGroup.displayName = 'CheckboxGroup';
|
|
6245
|
+
|
|
6246
|
+
var Chip = function (_a) {
|
|
6247
|
+
var children = _a.children, onClick = _a.onClick, href = _a.href, ariaLabel = _a["aria-label"], rest = __rest(_a, ["children", "onClick", "href", 'aria-label']);
|
|
6248
|
+
var recipe = react$1.useRecipe({ recipe: chipRecipe });
|
|
6249
|
+
var recipeProps = recipe.splitVariantProps(rest)[0];
|
|
6250
|
+
var styles = recipe(recipeProps);
|
|
6251
|
+
var handleClick = function () {
|
|
6252
|
+
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
6253
|
+
};
|
|
6254
|
+
var handleKeyDown = function (event) {
|
|
6255
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
6256
|
+
event.preventDefault();
|
|
6257
|
+
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
6258
|
+
}
|
|
6259
|
+
};
|
|
6260
|
+
var commonProps = __assign({ css: styles, 'aria-label': ariaLabel }, rest);
|
|
6261
|
+
var isLink = Boolean(href);
|
|
6262
|
+
var asType = isLink ? 'a' : 'button';
|
|
6263
|
+
return (React.createElement(react$1.Flex, __assign({ as: asType }, (isLink && onClick ? { href: href } : {}), (!isLink ? { type: 'button' } : {}), { onClick: handleClick, onKeyDown: handleKeyDown }, commonProps),
|
|
6264
|
+
recipeProps.selected ? (React.createElement(react$1.Box, { mx: "xs", color: "currentColor", display: "flex", alignItems: "center", justifyContent: "center" },
|
|
6265
|
+
React.createElement(CheckmarkIcon, { height: "xs", width: "xs" }))) : null,
|
|
6266
|
+
React.createElement(react$1.Box, { as: "span", whiteSpace: "nowrap" },
|
|
6267
|
+
React.createElement(react$1.Text, { textStyle: "body-small" }, children))));
|
|
6268
|
+
};
|
|
6269
|
+
Chip.displayName = 'Chip';
|
|
6270
|
+
|
|
6271
|
+
var Count = function (_a) {
|
|
6272
|
+
var count = _a.count, ariaLabel = _a.ariaLabel, props = __rest(_a, ["count", "ariaLabel"]);
|
|
6273
|
+
var recipe = react$1.useRecipe({ key: 'count' });
|
|
6274
|
+
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
6275
|
+
var styles = recipe(recipeProps);
|
|
6276
|
+
return (React.createElement(react$1.chakra.span, { css: styles, "aria-label": ariaLabel }, count));
|
|
6277
|
+
};
|
|
6278
|
+
|
|
6279
|
+
var DatePicker = React.forwardRef(function (_a, ref) {
|
|
6280
|
+
var min = _a.min, props = __rest(_a, ["min"]);
|
|
6281
|
+
var recipe = react$1.useSlotRecipe({ key: 'input' });
|
|
6282
|
+
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
6283
|
+
var styles = recipe(recipeProps);
|
|
6284
|
+
return (React.createElement(react$1.Field.Root, { invalid: props.invalid },
|
|
6285
|
+
React.createElement(react$1.Input, __assign({}, props, { css: __assign(__assign({}, styles.field), { display: 'block', textAlign: 'start' }), type: "date", min: min ? min.toISOString().split('T')[0] : undefined, ref: ref }))));
|
|
6286
|
+
});
|
|
6287
|
+
DatePicker.displayName = 'DatePicker';
|
|
6288
|
+
|
|
6289
|
+
var Brand;
|
|
6290
|
+
(function (Brand) {
|
|
6291
|
+
Brand["AutoScout24"] = "autoscout24";
|
|
6292
|
+
Brand["MotoScout24"] = "motoscout24";
|
|
6293
|
+
})(Brand || (Brand = {}));
|
|
6294
|
+
|
|
6295
|
+
var Switch = function (_a) {
|
|
6296
|
+
_a.id; var disabled = _a.disabled, onCheckedChange = _a.onCheckedChange, checked = _a.checked, label = _a.label, props = __rest(_a, ["id", "disabled", "onCheckedChange", "checked", "label"]);
|
|
6297
|
+
var recipe = react$1.useSlotRecipe({ key: 'switch' });
|
|
6298
|
+
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
6299
|
+
var styles = recipe(recipeProps);
|
|
6300
|
+
return (React.createElement(react$1.Switch.Root, { onCheckedChange: onCheckedChange, checked: checked, disabled: disabled, css: styles.root },
|
|
6301
|
+
React.createElement(react$1.Switch.HiddenInput, null),
|
|
6302
|
+
React.createElement(react$1.Switch.Control, { css: styles.control },
|
|
6303
|
+
React.createElement(react$1.Switch.Thumb, { css: styles.thumb })),
|
|
6304
|
+
label ? (React.createElement(react$1.Switch.Label, { css: styles.label }, label)) : null));
|
|
6305
|
+
};
|
|
6306
|
+
|
|
6307
|
+
var DevOverlay = function (_a) {
|
|
6308
|
+
var variables = _a.variables, hideDevOverlay = _a.hideDevOverlay, toggleTheme = _a.toggleTheme, toggleTranslation = _a.toggleTranslation, activeTheme = _a.activeTheme, _b = _a.displayTranslationKeys, displayTranslationKeys = _b === void 0 ? false : _b;
|
|
6309
|
+
var isThemeSwitcherChecked = Brand.AutoScout24 !== activeTheme;
|
|
6310
|
+
return (React.createElement(react$1.Box, { position: "absolute", right: "md", bottom: "md", borderRadius: "sm", padding: "md", backgroundColor: "gray.200", display: "inline-block", boxShadow: "md", as: "aside", css: { maxWidth: 'min(94%, 320px)' } },
|
|
6311
|
+
React.createElement(react$1.Flex, null,
|
|
6312
|
+
React.createElement(react$1.Heading, { as: "h3", textStyle: "heading3" }, "Dev Overlay\u00A0"),
|
|
6313
|
+
React.createElement(react$1.Spacer, null),
|
|
6314
|
+
React.createElement(Button, { onClick: hideDevOverlay, "data-testid": "close-dev-overlay" },
|
|
6315
|
+
React.createElement(CloseIcon, null))),
|
|
6316
|
+
React.createElement(react$1.Heading, { as: "h4", textStyle: "heading4" }, "Variables"),
|
|
6317
|
+
!variables || variables.length === 0 ? null : (React.createElement(react$1.Table.Root, null,
|
|
6318
|
+
React.createElement(react$1.Table.Body, null,
|
|
6319
|
+
React.createElement(react$1.Table.Row, null,
|
|
6320
|
+
React.createElement(react$1.Table.ColumnHeader, { padding: "0" }, "Name"),
|
|
6321
|
+
React.createElement(react$1.Table.ColumnHeader, null, "Value"))),
|
|
6322
|
+
React.createElement(react$1.Table.Body, null, variables.map(function (_a) {
|
|
6323
|
+
var name = _a.name, value = _a.value;
|
|
6324
|
+
return (React.createElement(react$1.Table.Row, { key: name, wordBreak: "break-all" },
|
|
6325
|
+
React.createElement(react$1.Table.Cell, { padding: "0" }, name),
|
|
6326
|
+
React.createElement(react$1.Table.Cell, null, value)));
|
|
6327
|
+
})))),
|
|
6328
|
+
React.createElement("br", null),
|
|
6329
|
+
React.createElement(react$1.Heading, { as: "h4", textStyle: "heading4" }, "Switch Theme"),
|
|
6330
|
+
React.createElement(Switch, { id: "theme-toggle", onCheckedChange: toggleTheme, checked: isThemeSwitcherChecked, label: isThemeSwitcherChecked ? React.createElement("span", null, "\uD83C\uDFCD\uFE0F") : React.createElement("span", null, "\uD83D\uDE97"), disabled: false }),
|
|
6331
|
+
React.createElement(react$1.Heading, { as: "h4", textStyle: "heading4" }, "Switch Translation"),
|
|
6332
|
+
React.createElement(Switch, { id: "translation-toggle", onCheckedChange: toggleTranslation, checked: displayTranslationKeys, label: displayTranslationKeys ? React.createElement("span", null, "\uD83D\uDD11") : React.createElement("span", null, "\uD83C\uDF10"), disabled: false })));
|
|
6333
|
+
};
|
|
6334
|
+
|
|
6335
|
+
var H1 = function (_a) {
|
|
6336
|
+
var _b = _a.textStyle, textStyle = _b === void 0 ? 'heading1' : _b, children = _a.children, rest = __rest(_a, ["textStyle", "children"]);
|
|
6337
|
+
return (React.createElement(react$1.Heading, __assign({ as: "h1", textStyle: textStyle }, rest), children));
|
|
6338
|
+
};
|
|
6339
|
+
var H2 = function (_a) {
|
|
6340
|
+
var _b = _a.textStyle, textStyle = _b === void 0 ? 'heading2' : _b, children = _a.children, rest = __rest(_a, ["textStyle", "children"]);
|
|
6341
|
+
return (React.createElement(react$1.Heading, __assign({ as: "h2", textStyle: textStyle }, rest), children));
|
|
6342
|
+
};
|
|
6343
|
+
var H3 = function (_a) {
|
|
6344
|
+
var _b = _a.textStyle, textStyle = _b === void 0 ? 'heading3' : _b, children = _a.children, rest = __rest(_a, ["textStyle", "children"]);
|
|
6345
|
+
return (React.createElement(react$1.Heading, __assign({ as: "h3", textStyle: textStyle }, rest), children));
|
|
6346
|
+
};
|
|
6347
|
+
var H4 = function (_a) {
|
|
6348
|
+
var _b = _a.textStyle, textStyle = _b === void 0 ? 'heading4' : _b, children = _a.children, rest = __rest(_a, ["textStyle", "children"]);
|
|
6349
|
+
return (React.createElement(react$1.Heading, __assign({ as: "h4", textStyle: textStyle }, rest), children));
|
|
6350
|
+
};
|
|
6351
|
+
var H5 = function (_a) {
|
|
6352
|
+
var _b = _a.textStyle, textStyle = _b === void 0 ? 'heading5' : _b, children = _a.children, rest = __rest(_a, ["textStyle", "children"]);
|
|
6353
|
+
return (React.createElement(react$1.Heading, __assign({ as: "h5", textStyle: textStyle }, rest), children));
|
|
6354
|
+
};
|
|
6355
|
+
var H6 = function (_a) {
|
|
6356
|
+
var _b = _a.textStyle, textStyle = _b === void 0 ? 'heading6' : _b, children = _a.children, rest = __rest(_a, ["textStyle", "children"]);
|
|
6357
|
+
return (React.createElement(react$1.Heading, __assign({ as: "h6", textStyle: textStyle }, rest), children));
|
|
6358
|
+
};
|
|
6359
|
+
|
|
6360
|
+
var DialogCloseButton = React.forwardRef(function (props, ref) { return (React.createElement(react$1.CloseButton, __assign({ ref: ref, cursor: 'pointer' }, props))); });
|
|
6361
|
+
|
|
6362
|
+
var Dialog = function (_a) {
|
|
6363
|
+
var title = _a.title, open = _a.open, onOpenChange = _a.onOpenChange, primaryActionButton = _a.primaryActionButton, secondaryActionButton = _a.secondaryActionButton, children = _a.children, size = _a.size, _b = _a.motionPreset, motionPreset = _b === void 0 ? 'scale' : _b, variant = _a.variant, overlayColor = _a.overlayColor, _c = _a.disableBodyPadding, disableBodyPadding = _c === void 0 ? false : _c, props = __rest(_a, ["title", "open", "onOpenChange", "primaryActionButton", "secondaryActionButton", "children", "size", "motionPreset", "variant", "overlayColor", "disableBodyPadding"]);
|
|
6364
|
+
var dialogSize = size || variant !== 'fullScreen' ? { xs: 'full', sm: size } : 'full';
|
|
6365
|
+
var bothActionButtons = primaryActionButton && secondaryActionButton;
|
|
6366
|
+
var recipe = react$1.useSlotRecipe({ key: 'dialog' });
|
|
6367
|
+
var recipeProps = recipe.splitVariantProps({
|
|
6368
|
+
size: dialogSize,
|
|
6369
|
+
motionPreset: motionPreset,
|
|
6370
|
+
variant: variant,
|
|
6371
|
+
overlayColor: overlayColor,
|
|
6372
|
+
})[0];
|
|
6373
|
+
var styles = recipe(recipeProps);
|
|
6374
|
+
return (React.createElement(react$1.Dialog.Root, __assign({ open: open, onOpenChange: onOpenChange }, props),
|
|
6375
|
+
React.createElement(react$1.Portal, null,
|
|
6376
|
+
React.createElement(react$1.Dialog.Backdrop, { css: styles.backdrop }),
|
|
6377
|
+
React.createElement(react$1.Dialog.Positioner, { css: styles.positioner },
|
|
6378
|
+
React.createElement(react$1.Dialog.Content, { css: styles.content },
|
|
6379
|
+
title && (React.createElement(react$1.Box, { borderBottom: "1px", borderColor: "gray.100" },
|
|
6380
|
+
React.createElement(react$1.Dialog.Header, { css: styles.header },
|
|
6381
|
+
React.createElement(H3, null, title),
|
|
6382
|
+
React.createElement(react$1.Dialog.CloseTrigger, { asChild: true, css: styles.closeTrigger },
|
|
6383
|
+
React.createElement(DialogCloseButton, { fontSize: "base" }))))),
|
|
6384
|
+
React.createElement(react$1.Dialog.Body, { css: styles.body, p: disableBodyPadding ? '0' : undefined }, children),
|
|
6385
|
+
(primaryActionButton || secondaryActionButton) && (React.createElement(react$1.Box, { borderTop: "1px", borderColor: "gray.100" },
|
|
6386
|
+
React.createElement(react$1.Dialog.Footer, { display: "flex", justifyContent: bothActionButtons ? 'space-between' : 'flex-start', gap: bothActionButtons ? 'sm' : '0', css: styles.footer },
|
|
6387
|
+
secondaryActionButton ? (React.createElement(Button, { variant: "secondary", onClick: secondaryActionButton.action, width: { base: 'full', sm: 'fit' } }, secondaryActionButton.label)) : null,
|
|
6388
|
+
primaryActionButton ? (React.createElement(Button, { variant: "primary", onClick: primaryActionButton.action, width: { base: 'full', sm: 'fit' } }, primaryActionButton.label)) : null))))))));
|
|
6389
|
+
};
|
|
6390
|
+
|
|
6391
|
+
var emptyItemOffset = 0;
|
|
6392
|
+
var firstItemOffset = 1;
|
|
6393
|
+
var getItemOffset = function (applyIndentation) {
|
|
6394
|
+
return applyIndentation ? firstItemOffset : emptyItemOffset;
|
|
6395
|
+
};
|
|
6396
|
+
var getSliderStepValue = function (marks, applyIndentation, value) {
|
|
6397
|
+
var selectedMarkIndex = marks.findIndex(function (mark) { return mark.value === value; });
|
|
6398
|
+
if (selectedMarkIndex < emptyItemOffset) {
|
|
6399
|
+
return getItemOffset(applyIndentation);
|
|
6400
|
+
}
|
|
6401
|
+
return selectedMarkIndex + getItemOffset(applyIndentation);
|
|
6402
|
+
};
|
|
6403
|
+
var getSliderMarks = function (marks, applyIndentation) {
|
|
6404
|
+
return marks.map(function (mark, index) { return (__assign(__assign({}, mark), { stepValue: index + getItemOffset(applyIndentation) })); });
|
|
6405
|
+
};
|
|
6406
|
+
var DiscreteSlider = function (_a) {
|
|
6407
|
+
var marks = _a.marks, _b = _a.applyIndentation, applyIndentation = _b === void 0 ? true : _b, onValueChanged = _a.onValueChanged, value = _a.value;
|
|
6408
|
+
var sliderStepValue = getSliderStepValue(marks, applyIndentation, value);
|
|
6409
|
+
var sliderMarks = getSliderMarks(marks, applyIndentation);
|
|
6410
|
+
var handleOnChange = function (newStepValue) {
|
|
6411
|
+
var _a;
|
|
6412
|
+
if (applyIndentation && newStepValue < firstItemOffset)
|
|
6413
|
+
return;
|
|
6414
|
+
var newSliderMark = (_a = sliderMarks.find(function (mark) { return mark.stepValue === newStepValue; })) === null || _a === void 0 ? void 0 : _a.value;
|
|
6415
|
+
onValueChanged(newSliderMark);
|
|
6416
|
+
};
|
|
6417
|
+
return (React.createElement(react$1.Slider.Root, { step: 1, max: sliderMarks.length - 1 + getItemOffset(applyIndentation), value: [sliderStepValue], onValueChange: function (details) { var _a; return handleOnChange((_a = details.value[0]) !== null && _a !== void 0 ? _a : sliderStepValue); } },
|
|
6418
|
+
React.createElement(react$1.Slider.Control, null,
|
|
6419
|
+
React.createElement(react$1.Slider.Track, null,
|
|
6420
|
+
React.createElement(react$1.Slider.Range, null)),
|
|
6421
|
+
React.createElement(react$1.Slider.Thumbs, null),
|
|
6422
|
+
React.createElement(react$1.Slider.MarkerGroup, null, sliderMarks.map(function (_a, index) {
|
|
6423
|
+
var stepValue = _a.stepValue, label = _a.label;
|
|
6424
|
+
return (React.createElement(react$1.Slider.Marker, { key: index, value: stepValue, style: {
|
|
6425
|
+
pointerEvents: 'all',
|
|
6426
|
+
fontWeight: sliderStepValue === stepValue ? 'bold' : 'normal',
|
|
6427
|
+
} }, label));
|
|
6428
|
+
})))));
|
|
6429
|
+
};
|
|
6430
|
+
|
|
6431
|
+
var DrawerOverlay = function (props) {
|
|
6432
|
+
return React.createElement(react$1.Drawer.Backdrop, __assign({}, props));
|
|
6433
|
+
};
|
|
6434
|
+
|
|
6435
|
+
var DrawerContent = function (props) {
|
|
6436
|
+
var children = props.children, withCloseButton = props.withCloseButton, drawerContentProps = __rest(props, ["children", "withCloseButton"]);
|
|
6437
|
+
return (React.createElement(react$1.Drawer.Positioner, null,
|
|
6438
|
+
React.createElement(react$1.Drawer.Content, __assign({}, drawerContentProps),
|
|
6439
|
+
withCloseButton ? (React.createElement(react$1.Drawer.CloseTrigger, { asChild: true, fontSize: "base" },
|
|
6440
|
+
React.createElement(CloseIcon, null))) : null,
|
|
6441
|
+
children)));
|
|
6442
|
+
};
|
|
6443
|
+
|
|
6444
|
+
var DrawerBody = function (props) {
|
|
6445
|
+
var children = props.children, drawerBodyProps = __rest(props, ["children"]);
|
|
6446
|
+
return React.createElement(react$1.Drawer.Body, __assign({}, drawerBodyProps), children);
|
|
6117
6447
|
};
|
|
6118
6448
|
|
|
6119
6449
|
var Drawer = function (props) {
|
|
@@ -6125,11 +6455,6 @@ var Drawer = function (props) {
|
|
|
6125
6455
|
var Text = react$1.Text;
|
|
6126
6456
|
Text.displayName = 'Text';
|
|
6127
6457
|
|
|
6128
|
-
var Flex = function (_a) {
|
|
6129
|
-
var children = _a.children, rest = __rest(_a, ["children"]);
|
|
6130
|
-
return (React.createElement(react$1.Flex, __assign({}, rest), children));
|
|
6131
|
-
};
|
|
6132
|
-
|
|
6133
6458
|
var EnergyLabel = function (props) {
|
|
6134
6459
|
var efficiency = props.efficiency;
|
|
6135
6460
|
var recipe = react$1.useSlotRecipe({ key: 'energyLabel' });
|
|
@@ -6141,6 +6466,9 @@ var EnergyLabel = function (props) {
|
|
|
6141
6466
|
React.createElement(Text, { css: styles.text }, efficiency.toString()))));
|
|
6142
6467
|
};
|
|
6143
6468
|
|
|
6469
|
+
var _a$2;
|
|
6470
|
+
var useI18n = (_a$2 = i18nPkg.createI18nScope(), _a$2.useI18n), I18nProvider = _a$2.I18nProvider, Trans = _a$2.Trans;
|
|
6471
|
+
|
|
6144
6472
|
var auth$3 = {
|
|
6145
6473
|
tenantSelection: {
|
|
6146
6474
|
description: "Puoi passare a un altro garage più tardi nel tuo portale rivenditori.",
|
|
@@ -7002,13 +7330,23 @@ var logger = new Logger();
|
|
|
7002
7330
|
|
|
7003
7331
|
var TranslationProvider = function (_a) {
|
|
7004
7332
|
var language = _a.language, scopes = _a.scopes, children = _a.children;
|
|
7005
|
-
return (React.createElement(
|
|
7333
|
+
return (React.createElement(I18nProvider, { language: language, lngDict: i18nPkg.filterDictionaryScopes({
|
|
7006
7334
|
dictionaries: dictionaries,
|
|
7007
7335
|
language: language,
|
|
7008
7336
|
dictionaryScopes: scopes,
|
|
7009
7337
|
}), onMissingTranslation: logger.onMissingTranslation }, children));
|
|
7010
7338
|
};
|
|
7011
7339
|
|
|
7340
|
+
function withTranslationProvider(scopes) {
|
|
7341
|
+
return function (WrappedComponent) {
|
|
7342
|
+
return function (props) {
|
|
7343
|
+
var language = props.language;
|
|
7344
|
+
return (React.createElement(TranslationProvider, { language: language, scopes: scopes },
|
|
7345
|
+
React.createElement(WrappedComponent, __assign({}, props))));
|
|
7346
|
+
};
|
|
7347
|
+
};
|
|
7348
|
+
}
|
|
7349
|
+
|
|
7012
7350
|
var SimpleGrid = function (props) { return React.createElement(react$1.SimpleGrid, __assign({}, props)); };
|
|
7013
7351
|
|
|
7014
7352
|
var BaseLayout = function (_a) {
|
|
@@ -7038,19 +7376,6 @@ var img$6 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAEqBAMAAADJwBvsA
|
|
|
7038
7376
|
|
|
7039
7377
|
var img$5 = "data:image/png;base64,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";
|
|
7040
7378
|
|
|
7041
|
-
var EmailChangeVerificationErrorContent = function () {
|
|
7042
|
-
return (React.createElement(react$1.Box, { width: "full" },
|
|
7043
|
-
React.createElement("p", null,
|
|
7044
|
-
React.createElement(i18nPkg.Trans, { i18nKey: "errorPage.EMAIL_CHANGE_VERIFICATION_ERROR.content.email" },
|
|
7045
|
-
React.createElement("strong", null))),
|
|
7046
|
-
React.createElement("p", null,
|
|
7047
|
-
React.createElement(i18nPkg.Trans, { i18nKey: "errorPage.EMAIL_CHANGE_VERIFICATION_ERROR.content.workingHours" },
|
|
7048
|
-
React.createElement("strong", null))),
|
|
7049
|
-
React.createElement("p", null,
|
|
7050
|
-
React.createElement(i18nPkg.Trans, { i18nKey: "errorPage.EMAIL_CHANGE_VERIFICATION_ERROR.content.phone" },
|
|
7051
|
-
React.createElement("strong", null)))));
|
|
7052
|
-
};
|
|
7053
|
-
|
|
7054
7379
|
var ContactSupport = function (_a) {
|
|
7055
7380
|
var t = _a.t, _b = _a.language, language = _b === void 0 ? 'de' : _b;
|
|
7056
7381
|
var languageToUse = language === 'en' ? 'de' : language;
|
|
@@ -7093,6 +7418,19 @@ var BackToHomepagePrimary = function (props) {
|
|
|
7093
7418
|
return React.createElement(BackToHomepage, __assign({}, props, { variant: "primary" }));
|
|
7094
7419
|
};
|
|
7095
7420
|
|
|
7421
|
+
var EmailChangeVerificationErrorContent = function () {
|
|
7422
|
+
return (React.createElement(react$1.Box, { width: "full" },
|
|
7423
|
+
React.createElement("p", null,
|
|
7424
|
+
React.createElement(Trans, { i18nKey: "errorPage.EMAIL_CHANGE_VERIFICATION_ERROR.content.email" },
|
|
7425
|
+
React.createElement("strong", null))),
|
|
7426
|
+
React.createElement("p", null,
|
|
7427
|
+
React.createElement(Trans, { i18nKey: "errorPage.EMAIL_CHANGE_VERIFICATION_ERROR.content.workingHours" },
|
|
7428
|
+
React.createElement("strong", null))),
|
|
7429
|
+
React.createElement("p", null,
|
|
7430
|
+
React.createElement(Trans, { i18nKey: "errorPage.EMAIL_CHANGE_VERIFICATION_ERROR.content.phone" },
|
|
7431
|
+
React.createElement("strong", null)))));
|
|
7432
|
+
};
|
|
7433
|
+
|
|
7096
7434
|
var Nonce = function () {
|
|
7097
7435
|
return null;
|
|
7098
7436
|
};
|
|
@@ -7154,39 +7492,76 @@ var config = {
|
|
|
7154
7492
|
secondaryAction: Nonce,
|
|
7155
7493
|
},
|
|
7156
7494
|
};
|
|
7157
|
-
var
|
|
7495
|
+
var ErrorPageContent = function (_a) {
|
|
7158
7496
|
var statusCode = _a.statusCode, language = _a.language, onButtonClick = _a.onButtonClick;
|
|
7159
7497
|
var PrimaryAction = config[statusCode].primaryAction;
|
|
7160
7498
|
var SecondaryAction = config[statusCode].secondaryAction;
|
|
7161
7499
|
var Content = config[statusCode].content;
|
|
7162
|
-
|
|
7163
|
-
|
|
7164
|
-
|
|
7165
|
-
|
|
7166
|
-
|
|
7167
|
-
|
|
7168
|
-
|
|
7169
|
-
|
|
7170
|
-
React.createElement(
|
|
7171
|
-
React.createElement(
|
|
7172
|
-
|
|
7173
|
-
|
|
7174
|
-
|
|
7175
|
-
|
|
7176
|
-
React.createElement(
|
|
7177
|
-
|
|
7178
|
-
|
|
7179
|
-
|
|
7180
|
-
|
|
7181
|
-
|
|
7182
|
-
|
|
7183
|
-
|
|
7184
|
-
|
|
7185
|
-
|
|
7186
|
-
|
|
7187
|
-
|
|
7188
|
-
|
|
7189
|
-
|
|
7500
|
+
var t = useI18n().t;
|
|
7501
|
+
var actionButtonProps = {
|
|
7502
|
+
t: t,
|
|
7503
|
+
language: language,
|
|
7504
|
+
};
|
|
7505
|
+
return (React.createElement(PageLayout, { maxContentWidth: "md", header: null },
|
|
7506
|
+
React.createElement(Flex, { justifyContent: "center", pt: { base: '3xl', md: 'xl' } },
|
|
7507
|
+
React.createElement(Stack, { align: "center", gap: "4xl" },
|
|
7508
|
+
React.createElement(SimpleGrid, { columns: 2, gap: "4xl" },
|
|
7509
|
+
React.createElement(AutoScout24AppLogo, { width: "2xl", height: "xl" }),
|
|
7510
|
+
React.createElement(MotoScout24AppLogo, { width: "2xl", height: "xl" })),
|
|
7511
|
+
React.createElement(Separator, { orientation: "horizontal" }),
|
|
7512
|
+
React.createElement(Stack, { align: "center", gap: "2xl" },
|
|
7513
|
+
React.createElement(AspectRatio, { ratio: 4 / 3, css: { maxWidth: '400px', width: 'full' } },
|
|
7514
|
+
React.createElement(react$1.chakra.img, { src: config[statusCode].illustration, alt: "a ".concat(statusCode, " error occurred.") })),
|
|
7515
|
+
React.createElement(Stack, { align: "center", gap: "md" },
|
|
7516
|
+
React.createElement(H1, { textAlign: "center" }, t("errorPage.".concat(statusCode, ".title"))),
|
|
7517
|
+
React.createElement(Text, { textAlign: "center" }, t("errorPage.".concat(statusCode, ".description"))),
|
|
7518
|
+
React.createElement(Content, __assign({}, actionButtonProps))),
|
|
7519
|
+
React.createElement(SimpleGrid, { columns: {
|
|
7520
|
+
base: 1,
|
|
7521
|
+
sm: config[statusCode].buttonColumns,
|
|
7522
|
+
}, alignItems: "center", gap: "md" },
|
|
7523
|
+
React.createElement(PrimaryAction, __assign({}, actionButtonProps)),
|
|
7524
|
+
React.createElement(SecondaryAction, __assign({}, actionButtonProps, { onButtonClick: onButtonClick }))))))));
|
|
7525
|
+
};
|
|
7526
|
+
|
|
7527
|
+
var ErrorPage = withTranslationProvider([
|
|
7528
|
+
'errorPage',
|
|
7529
|
+
])(ErrorPageContent);
|
|
7530
|
+
|
|
7531
|
+
var Tooltip = function (_a) {
|
|
7532
|
+
var children = _a.children, _b = _a.placement, placement = _b === void 0 ? 'bottom' : _b, _c = _a.maxWidth, maxWidth = _c === void 0 ? '6xl' : _c, label = _a.label;
|
|
7533
|
+
var _d = React.useState(false), isOpen = _d[0], setIsOpen = _d[1];
|
|
7534
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7535
|
+
var childrenWithProps = React.cloneElement(children, {
|
|
7536
|
+
onMouseEnter: function () { return setIsOpen(true); },
|
|
7537
|
+
onMouseLeave: function () { return setIsOpen(false); },
|
|
7538
|
+
onClick: function () { return setIsOpen(true); },
|
|
7539
|
+
});
|
|
7540
|
+
return (React.createElement(react$1.TooltipRoot, { positioning: {
|
|
7541
|
+
placement: placement,
|
|
7542
|
+
}, open: isOpen },
|
|
7543
|
+
React.createElement(react$1.TooltipTrigger, { asChild: true }, childrenWithProps),
|
|
7544
|
+
React.createElement(react$1.TooltipPositioner, null,
|
|
7545
|
+
React.createElement(react$1.TooltipContent, { maxWidth: maxWidth },
|
|
7546
|
+
React.createElement(react$1.TooltipArrow, null,
|
|
7547
|
+
React.createElement(react$1.TooltipArrowTip, null)),
|
|
7548
|
+
label))));
|
|
7549
|
+
};
|
|
7550
|
+
|
|
7551
|
+
var FormControlSection = function (_a) {
|
|
7552
|
+
var children = _a.children, errorMessage = _a.errorMessage, id = _a.id, label = _a.label, hint = _a.hint, tooltip = _a.tooltip;
|
|
7553
|
+
var isInvalid = !!errorMessage;
|
|
7554
|
+
return (React.createElement(react$1.Field.Root, { id: id, invalid: isInvalid },
|
|
7555
|
+
React.createElement(react$1.Box, { border: "1px", borderRadius: "sm", borderColor: isInvalid ? 'red.500' : 'gray.400', padding: "2xl" },
|
|
7556
|
+
React.createElement(Flex, { flexDirection: "column" },
|
|
7557
|
+
React.createElement(react$1.Box, { mb: "lg" },
|
|
7558
|
+
React.createElement(Flex, { alignItems: "center" },
|
|
7559
|
+
label ? (React.createElement(Text, { color: "gray.900", textStyle: "heading4" }, label)) : null,
|
|
7560
|
+
tooltip ? (React.createElement(Tooltip, { label: tooltip },
|
|
7561
|
+
React.createElement(InformationIcon, { ml: "md" }))) : null),
|
|
7562
|
+
hint ? (React.createElement(Text, { color: "gray.900", textStyle: "body" }, hint)) : null),
|
|
7563
|
+
children)),
|
|
7564
|
+
React.createElement(react$1.Field.ErrorText, null, errorMessage)));
|
|
7190
7565
|
};
|
|
7191
7566
|
|
|
7192
7567
|
var FullHeight = function (_a) {
|
|
@@ -7199,30 +7574,29 @@ var Link$1 = function (_a) {
|
|
|
7199
7574
|
return (React.createElement(react$1.Link, __assign({ target: target || (isExternal ? '_blank' : undefined), rel: rel || (isExternal ? 'noopener noreferrer' : undefined) }, props)));
|
|
7200
7575
|
};
|
|
7201
7576
|
|
|
7202
|
-
var
|
|
7203
|
-
var currentSlide = _a.currentSlide, slidesCount = _a.slidesCount, onClose = _a.onClose,
|
|
7577
|
+
var GalleryHeaderContent = function (_a) {
|
|
7578
|
+
var currentSlide = _a.currentSlide, slidesCount = _a.slidesCount, onClose = _a.onClose, children = _a.children;
|
|
7579
|
+
var t = useI18n().t;
|
|
7204
7580
|
var recipe = react$1.useSlotRecipe({ key: 'galleryHeader' });
|
|
7205
7581
|
var styles = recipe();
|
|
7206
|
-
return (React.createElement(
|
|
7207
|
-
React.createElement(
|
|
7208
|
-
|
|
7209
|
-
|
|
7210
|
-
|
|
7211
|
-
|
|
7212
|
-
|
|
7213
|
-
|
|
7214
|
-
|
|
7215
|
-
|
|
7216
|
-
|
|
7217
|
-
|
|
7218
|
-
|
|
7219
|
-
|
|
7220
|
-
|
|
7221
|
-
|
|
7222
|
-
|
|
7223
|
-
|
|
7224
|
-
})));
|
|
7225
|
-
};
|
|
7582
|
+
return (React.createElement(react$1.Box, { css: styles.container },
|
|
7583
|
+
React.createElement(react$1.Box, { css: styles.grid },
|
|
7584
|
+
React.createElement(SimpleGrid, { columns: {
|
|
7585
|
+
base: 2,
|
|
7586
|
+
md: 3,
|
|
7587
|
+
}, alignItems: "center" },
|
|
7588
|
+
React.createElement(react$1.Box, { hideBelow: "md" }, children),
|
|
7589
|
+
React.createElement(react$1.Box, { css: styles.countContainer },
|
|
7590
|
+
React.createElement(react$1.Box, null, t('galleryHeader.imageCount', {
|
|
7591
|
+
x: currentSlide,
|
|
7592
|
+
of: slidesCount,
|
|
7593
|
+
}))),
|
|
7594
|
+
React.createElement(react$1.Box, { css: styles.closeContainer },
|
|
7595
|
+
React.createElement(Link$1, { "aria-label": "Close gallery", onClick: function () { return onClose(); } },
|
|
7596
|
+
React.createElement(CloseIcon, { color: "white" })))))));
|
|
7597
|
+
};
|
|
7598
|
+
|
|
7599
|
+
var GalleryHeader = withTranslationProvider(['galleryHeader'])(GalleryHeaderContent);
|
|
7226
7600
|
|
|
7227
7601
|
var Grid = react$1.Grid;
|
|
7228
7602
|
Grid.displayName = 'Grid';
|
|
@@ -7402,30 +7776,183 @@ var List = {
|
|
|
7402
7776
|
Item: Item,
|
|
7403
7777
|
};
|
|
7404
7778
|
|
|
7405
|
-
var
|
|
7406
|
-
var
|
|
7407
|
-
var
|
|
7408
|
-
var
|
|
7409
|
-
|
|
7410
|
-
|
|
7411
|
-
|
|
7412
|
-
|
|
7413
|
-
var handleKeyDown = function (event) {
|
|
7414
|
-
if (event.key === 'Enter' || event.key === ' ') {
|
|
7415
|
-
event.preventDefault();
|
|
7416
|
-
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
7779
|
+
var SearchField = function (_a) {
|
|
7780
|
+
var name = _a.name, _b = _a.placeholder, placeholder = _b === void 0 ? '' : _b, _c = _a.ariaControls, ariaControls = _c === void 0 ? '' : _c, searchQuery = _a.searchQuery, setSearchQuery = _a.setSearchQuery, _d = _a.onFocus, onFocus = _d === void 0 ? function () { return null; } : _d, _e = _a.onBlur, onBlur = _e === void 0 ? function () { return null; } : _e, _f = _a.autofocusOnDesktop, autofocusOnDesktop = _f === void 0 ? true : _f, autoComplete = _a.autoComplete;
|
|
7781
|
+
var isDesktopOnly = useMediaQuery({ above: 'md' });
|
|
7782
|
+
var inputRef = React.useRef(null);
|
|
7783
|
+
React.useEffect(function () {
|
|
7784
|
+
var _a;
|
|
7785
|
+
if (autofocusOnDesktop && isDesktopOnly) {
|
|
7786
|
+
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
7417
7787
|
}
|
|
7788
|
+
}, [isDesktopOnly, autofocusOnDesktop]);
|
|
7789
|
+
return (React.createElement(Input, { ref: inputRef, icon: MagnifierIcon, name: name, placeholder: placeholder, value: searchQuery, setInputValue: setSearchQuery, size: "lg", isClearable: true, debounce: true, onFocus: onFocus, onBlur: onBlur, "aria-controls": ariaControls, autoComplete: autoComplete }));
|
|
7790
|
+
};
|
|
7791
|
+
|
|
7792
|
+
var HighlightedText = function (_a) {
|
|
7793
|
+
var text = _a.text, _b = _a.highlightIndices, highlightIndices = _b === void 0 ? [] : _b, textProps = __rest(_a, ["text", "highlightIndices"]);
|
|
7794
|
+
if (highlightIndices.length === 0)
|
|
7795
|
+
return (React.createElement(Text, __assign({ as: "span" }, textProps), text));
|
|
7796
|
+
var result = [];
|
|
7797
|
+
var currentIndex = 0;
|
|
7798
|
+
for (var _i = 0, highlightIndices_1 = highlightIndices; _i < highlightIndices_1.length; _i++) {
|
|
7799
|
+
var _c = highlightIndices_1[_i], start = _c[0], end = _c[1];
|
|
7800
|
+
// Append the non-matching part
|
|
7801
|
+
result.push(React.createElement(Text, __assign({ key: "non-highlight-".concat(currentIndex, "-").concat(start, "-").concat(text), as: "span" }, textProps), text.substring(currentIndex, start)));
|
|
7802
|
+
// Append the matching part
|
|
7803
|
+
result.push(React.createElement(Text, __assign({ key: "highlight-".concat(start, "-").concat(end + 1, "-").concat(text), as: "u", fontWeight: "bold" }, textProps), text.substring(start, end + 1)));
|
|
7804
|
+
currentIndex = end + 1;
|
|
7805
|
+
}
|
|
7806
|
+
// Append the remaining non-matching part
|
|
7807
|
+
result.push(React.createElement(Text, __assign({ key: "non-highlight-end-".concat(text), as: "span" }, textProps), text.substring(currentIndex)));
|
|
7808
|
+
return (React.createElement(Text, __assign({ as: "span" }, textProps), result));
|
|
7809
|
+
};
|
|
7810
|
+
|
|
7811
|
+
var SearchableListItemLabel = function (_a) {
|
|
7812
|
+
var label = _a.label, isSelected = _a.isSelected, _b = _a.showChevron, showChevron = _b === void 0 ? true : _b, _c = _a.highlightIndices, highlightIndices = _c === void 0 ? [] : _c, _d = _a.isCheckbox, isCheckbox = _d === void 0 ? false : _d, facet = _a.facet;
|
|
7813
|
+
return (React.createElement(Flex, { width: "full", justifyContent: "space-between", whiteSpace: "pre-wrap", fontWeight: isSelected && !isCheckbox ? 'bold' : undefined, color: "gray.900", cursor: "pointer" },
|
|
7814
|
+
React.createElement(Flex, null,
|
|
7815
|
+
isSelected && !isCheckbox ? (React.createElement(CheckmarkIcon, { w: "xs", mr: "xs", color: "gray.900" })) : null,
|
|
7816
|
+
React.createElement(HighlightedText, { text: label, highlightIndices: highlightIndices, textAlign: "left" })),
|
|
7817
|
+
React.createElement(Flex, { as: "span" },
|
|
7818
|
+
facet ? (React.createElement(Text, { as: "span", color: "gray.400", mr: showChevron ? 'lg' : undefined, ml: "sm", minW: "lg", textAlign: "right", fontWeight: "regular" }, facet)) : null,
|
|
7819
|
+
showChevron ? (React.createElement(ChevronRightSmallIcon, { color: "gray.500", w: "sm", h: "sm" })) : null)));
|
|
7820
|
+
};
|
|
7821
|
+
|
|
7822
|
+
var isCheckboxType = function (listItem) {
|
|
7823
|
+
return !!listItem.isCheckbox;
|
|
7824
|
+
};
|
|
7825
|
+
var SearchableListItem = function (props) {
|
|
7826
|
+
var isCheckbox = isCheckboxType(props);
|
|
7827
|
+
var label = props.label, value = props.value, facet = props.facet, isSelected = props.isSelected, _a = props.showChevron, showChevron = _a === void 0 ? true : _a, _b = props.highlightIndices, highlightIndices = _b === void 0 ? [] : _b, children = props.children;
|
|
7828
|
+
var labelProps = {
|
|
7829
|
+
label: label,
|
|
7830
|
+
isSelected: isSelected,
|
|
7831
|
+
showChevron: showChevron,
|
|
7832
|
+
highlightIndices: highlightIndices,
|
|
7833
|
+
isCheckbox: isCheckbox,
|
|
7834
|
+
facet: facet,
|
|
7418
7835
|
};
|
|
7419
|
-
var commonProps =
|
|
7420
|
-
|
|
7421
|
-
|
|
7422
|
-
|
|
7423
|
-
|
|
7424
|
-
|
|
7425
|
-
|
|
7426
|
-
|
|
7836
|
+
var commonProps = {
|
|
7837
|
+
value: value,
|
|
7838
|
+
paddingY: 'sm',
|
|
7839
|
+
name: "searchable-list-item-".concat(value),
|
|
7840
|
+
'aria-current': isSelected,
|
|
7841
|
+
};
|
|
7842
|
+
var checkboxProps = __assign(__assign({}, commonProps), { label: React.createElement(SearchableListItemLabel, __assign({}, labelProps)), checked: isSelected, indeterminate: isCheckbox ? !!props.isIndeterminate : false, fullWidth: true, variant: 'alignTop', onChange: isCheckbox ? props.onClick : undefined });
|
|
7843
|
+
return (React.createElement(List.Item, { css: { breakInside: 'avoid' }, paddingLeft: props.paddingLeft },
|
|
7844
|
+
isCheckbox ? (React.createElement(Checkbox, __assign({}, checkboxProps))) : (React.createElement(react$1.Button, { value: value, paddingY: "sm", name: "searchable-list-item-".concat(value), "aria-current": isSelected, onClick: !isCheckbox ? props.onClick : undefined, width: "full", display: "flex", paddingX: "0" },
|
|
7845
|
+
React.createElement(SearchableListItemLabel, __assign({}, labelProps)))),
|
|
7846
|
+
children));
|
|
7847
|
+
};
|
|
7848
|
+
|
|
7849
|
+
var fuseOptions = {
|
|
7850
|
+
keys: ['label', 'children.label'],
|
|
7851
|
+
includeMatches: true,
|
|
7852
|
+
threshold: 0,
|
|
7853
|
+
ignoreLocation: true,
|
|
7854
|
+
minMatchCharLength: 1,
|
|
7855
|
+
shouldSort: false,
|
|
7856
|
+
};
|
|
7857
|
+
var mapItemsFromSearchResult = function (searchResults) {
|
|
7858
|
+
return searchResults.map(function (_a) {
|
|
7859
|
+
var _b = _a.matches, matches = _b === void 0 ? [] : _b, item = _a.item;
|
|
7860
|
+
var parentMatch = matches.find(function (match) { return match.key === 'label'; });
|
|
7861
|
+
var parentHighlightIndices = parentMatch ? parentMatch.indices : [];
|
|
7862
|
+
var childMatches = item.children
|
|
7863
|
+
? matches.filter(function (match) { return match.key === 'children.label'; })
|
|
7864
|
+
: [];
|
|
7865
|
+
if (!item.children ||
|
|
7866
|
+
item.children.length === 0 ||
|
|
7867
|
+
childMatches.length === 0) {
|
|
7868
|
+
return __assign(__assign({}, item), { highlightIndices: parentHighlightIndices });
|
|
7869
|
+
}
|
|
7870
|
+
var itemChildren = item.children || [];
|
|
7871
|
+
var children = childMatches.reduce(function (accumulator, childMatch) {
|
|
7872
|
+
if (childMatch.refIndex === undefined) {
|
|
7873
|
+
return accumulator;
|
|
7874
|
+
}
|
|
7875
|
+
var child = itemChildren[childMatch.refIndex];
|
|
7876
|
+
accumulator.push(__assign(__assign({}, child), { highlightIndices: childMatch.indices }));
|
|
7877
|
+
return accumulator;
|
|
7878
|
+
}, []);
|
|
7879
|
+
return __assign(__assign(__assign({}, item), (children ? { children: children } : {})), { highlightIndices: parentMatch ? parentMatch.indices : [] });
|
|
7880
|
+
});
|
|
7881
|
+
};
|
|
7882
|
+
var empty = function () { return null; };
|
|
7883
|
+
var search = function (_a) {
|
|
7884
|
+
var query = _a.query, fuse = _a.fuse;
|
|
7885
|
+
fuse.options.minMatchCharLength = query.length || 1;
|
|
7886
|
+
return fuse.search(query);
|
|
7887
|
+
};
|
|
7888
|
+
var getFuseInstance = function (listItems) {
|
|
7889
|
+
// Not casting the instance will result in the options not being typed
|
|
7890
|
+
return new Fuse(listItems, fuseOptions);
|
|
7891
|
+
};
|
|
7892
|
+
var SearchableList = function (_a) {
|
|
7893
|
+
var listItems = _a.listItems, _b = _a.NoResults, NoResults = _b === void 0 ? empty : _b, _c = _a.EmptyQueryPlaceholder, EmptyQueryPlaceholder = _c === void 0 ? empty : _c, _d = _a.listAriaLabel, listAriaLabel = _d === void 0 ? 'searchable list' : _d, _e = _a.searchFieldOptions, searchFieldOptions = _e === void 0 ? {} : _e, _f = _a.listOptions, listOptions = _f === void 0 ? { columns: 1, childrenSpacing: 'md' } : _f, listRef = _a.listRef;
|
|
7894
|
+
var gray200 = useToken('colors', ['gray.200'])[0];
|
|
7895
|
+
var _g = React.useState({
|
|
7896
|
+
query: '',
|
|
7897
|
+
listItems: listItems,
|
|
7898
|
+
fullListItems: __spreadArray([], listItems, true),
|
|
7899
|
+
fuse: getFuseInstance(listItems),
|
|
7900
|
+
}), searchState = _g[0], setSearchState = _g[1];
|
|
7901
|
+
var _h = searchFieldOptions.placeholder, placeholder = _h === void 0 ? '' : _h, _j = searchFieldOptions.autofocusOnDesktop, autofocusOnDesktop = _j === void 0 ? true : _j, autoComplete = searchFieldOptions.autoComplete;
|
|
7902
|
+
var _k = listOptions.columns, columns = _k === void 0 ? 1 : _k, _l = listOptions.childrenSpacing, childrenSpacing = _l === void 0 ? 'md' : _l;
|
|
7903
|
+
var areaId = 'searchableList';
|
|
7904
|
+
var query = searchState.query;
|
|
7905
|
+
React.useEffect(function () {
|
|
7906
|
+
setSearchState(function (currentState) {
|
|
7907
|
+
var fuse = getFuseInstance(listItems);
|
|
7908
|
+
if (currentState.query === '') {
|
|
7909
|
+
return {
|
|
7910
|
+
listItems: listItems,
|
|
7911
|
+
fullListItems: __spreadArray([], listItems, true),
|
|
7912
|
+
fuse: fuse,
|
|
7913
|
+
query: currentState.query,
|
|
7914
|
+
};
|
|
7915
|
+
}
|
|
7916
|
+
var searchResults = search({ fuse: fuse, query: currentState.query });
|
|
7917
|
+
var filteredListItems = mapItemsFromSearchResult(searchResults);
|
|
7918
|
+
return {
|
|
7919
|
+
listItems: filteredListItems,
|
|
7920
|
+
fuse: fuse,
|
|
7921
|
+
query: currentState.query,
|
|
7922
|
+
fullListItems: __spreadArray([], listItems, true),
|
|
7923
|
+
};
|
|
7924
|
+
});
|
|
7925
|
+
}, [listItems]);
|
|
7926
|
+
var setSearchQuery = React.useCallback(function (newQuery) {
|
|
7927
|
+
setSearchState(function (currentState) {
|
|
7928
|
+
var trimmedQuery = newQuery.trim();
|
|
7929
|
+
if (!trimmedQuery) {
|
|
7930
|
+
return __assign(__assign({}, currentState), { listItems: currentState.fullListItems, query: trimmedQuery });
|
|
7931
|
+
}
|
|
7932
|
+
var searchResults = search({
|
|
7933
|
+
fuse: currentState.fuse,
|
|
7934
|
+
query: trimmedQuery,
|
|
7935
|
+
});
|
|
7936
|
+
var filteredListItems = mapItemsFromSearchResult(searchResults);
|
|
7937
|
+
return __assign(__assign({}, currentState), { listItems: filteredListItems, query: trimmedQuery });
|
|
7938
|
+
});
|
|
7939
|
+
}, []);
|
|
7940
|
+
return (React.createElement(Flex, { gridGap: "md", direction: "column", width: "full" },
|
|
7941
|
+
React.createElement(SearchField, { name: "searchableListSearchFiled", searchQuery: query, setSearchQuery: setSearchQuery, ariaControls: areaId, placeholder: placeholder, autofocusOnDesktop: autofocusOnDesktop, autoComplete: autoComplete }),
|
|
7942
|
+
searchState.query.length === 0 ? React.createElement(EmptyQueryPlaceholder, null) : null,
|
|
7943
|
+
searchState.listItems.length > 0 ? (React.createElement(List.Root, { ref: listRef, width: "full", height: "full", id: areaId, "aria-live": "polite", css: {
|
|
7944
|
+
columns: { base: 1, md: columns },
|
|
7945
|
+
columnGap: '4xl',
|
|
7946
|
+
columnRule: "1px solid ".concat(gray200),
|
|
7947
|
+
}, "aria-label": listAriaLabel }, searchState.listItems.map(function (item, itemIndex) {
|
|
7948
|
+
var parentKey = "".concat(itemIndex, "-").concat(item.value);
|
|
7949
|
+
var children = item.children || [];
|
|
7950
|
+
return (React.createElement(SearchableListItem, __assign({}, item, { key: parentKey }), children.length > 0 ? (React.createElement(List.Root, { width: "full" }, children.map(function (child, childIndex) {
|
|
7951
|
+
var childKey = "".concat(childIndex, "-").concat(child.value);
|
|
7952
|
+
return (React.createElement(SearchableListItem, __assign({}, child, { key: childKey, paddingLeft: childrenSpacing })));
|
|
7953
|
+
}))) : null));
|
|
7954
|
+
}))) : (React.createElement(NoResults, null))));
|
|
7427
7955
|
};
|
|
7428
|
-
Chip.displayName = 'Chip';
|
|
7429
7956
|
|
|
7430
7957
|
var Menu = function (_a) {
|
|
7431
7958
|
var title = _a.title, items = _a.items, value = _a.value, _b = _a.fontWeightTitle, fontWeightTitle = _b === void 0 ? 'regular' : _b, _c = _a.offset, offset = _c === void 0 ? [8, 0] : _c, menuColor = _a.menuColor, menuOptionColor = _a.menuOptionColor, _d = _a.showChevron, showChevron = _d === void 0 ? true : _d, icon = _a.icon, _e = _a.iconSpacing, iconSpacing = _e === void 0 ? 'sm' : _e, placement = _a.placement, _f = _a.showOptionsCheckmark, showOptionsCheckmark = _f === void 0 ? false : _f;
|
|
@@ -7461,7 +7988,7 @@ var MobileOnlyAccordion = function (props) {
|
|
|
7461
7988
|
var FooterLink = function (_a) {
|
|
7462
7989
|
var _b, _c;
|
|
7463
7990
|
var linkInstance = _a.linkInstance, children = _a.children, _d = _a.bold, bold = _d === void 0 ? false : _d;
|
|
7464
|
-
var _e =
|
|
7991
|
+
var _e = useI18n(), t = _e.t, language = _e.language;
|
|
7465
7992
|
if (!linkInstance) {
|
|
7466
7993
|
return null;
|
|
7467
7994
|
}
|
|
@@ -7564,7 +8091,7 @@ var MobileOnlyAccordionButton = function (props) {
|
|
|
7564
8091
|
|
|
7565
8092
|
var FooterSections = function (_a) {
|
|
7566
8093
|
var config = _a.config;
|
|
7567
|
-
var t =
|
|
8094
|
+
var t = useI18n().t;
|
|
7568
8095
|
var sectionChunks = chunkArray({
|
|
7569
8096
|
array: config.sections,
|
|
7570
8097
|
chunkSize: 2,
|
|
@@ -7590,7 +8117,7 @@ var img$3 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAARAAAABQCAMAAADm+9r/A
|
|
|
7590
8117
|
|
|
7591
8118
|
var FooterApps = function (_a) {
|
|
7592
8119
|
var config = _a.config;
|
|
7593
|
-
var t =
|
|
8120
|
+
var t = useI18n().t;
|
|
7594
8121
|
return (React.createElement(GridItem, null,
|
|
7595
8122
|
React.createElement(Stack, { paddingY: { base: '2xl', md: 'md' }, paddingX: { base: 'md', md: '0' }, gap: "md" },
|
|
7596
8123
|
React.createElement(Text, { textStyle: "heading5" }, t('footer.apps.title')),
|
|
@@ -7625,7 +8152,7 @@ var FooterLanguageNavigation = function () {
|
|
|
7625
8152
|
};
|
|
7626
8153
|
|
|
7627
8154
|
var FooterCopyright = function () {
|
|
7628
|
-
var t =
|
|
8155
|
+
var t = useI18n().t;
|
|
7629
8156
|
return (React.createElement(react$1.Box, { textStyle: "body-small", textAlign: "center", opacity: "80" }, t('footer.copyright', { year: new Date().getFullYear() })));
|
|
7630
8157
|
};
|
|
7631
8158
|
|
|
@@ -8463,235 +8990,57 @@ var footerConfig = function () {
|
|
|
8463
8990
|
fr: 'https://www.motoscout24.ch/fr/',
|
|
8464
8991
|
it: 'https://www.motoscout24.ch/it/',
|
|
8465
8992
|
},
|
|
8466
|
-
target: '_blank',
|
|
8467
|
-
},
|
|
8468
|
-
{
|
|
8469
|
-
translationKey: 'footer.companies.anibis',
|
|
8470
|
-
visibilitySettings: {
|
|
8471
|
-
brand: (_24 = {}, _24[Brand.AutoScout24] = true, _24[Brand.MotoScout24] = true, _24),
|
|
8472
|
-
},
|
|
8473
|
-
link: {
|
|
8474
|
-
de: 'https://www.anibis.ch/de',
|
|
8475
|
-
en: 'https://www.anibis.ch/de',
|
|
8476
|
-
fr: 'https://www.anibis.ch/fr',
|
|
8477
|
-
it: 'https://www.anibis.ch/it',
|
|
8478
|
-
},
|
|
8479
|
-
target: '_blank',
|
|
8480
|
-
},
|
|
8481
|
-
],
|
|
8482
|
-
});
|
|
8483
|
-
};
|
|
8484
|
-
|
|
8485
|
-
var FooterCompanies = function (_a) {
|
|
8486
|
-
var config = _a.config;
|
|
8487
|
-
return (React.createElement(react$1.Box, { gap: { base: 'md', md: '2xl' }, marginBottom: "md", marginTop: "2xl", as: Stack, flexDirection: "row", justifyContent: "center", flexWrap: "wrap" }, config.companies.map(function (companyLink, index) {
|
|
8488
|
-
return (React.createElement(FooterLink, { key: "company-".concat(index), linkInstance: companyLink, bold: true }));
|
|
8489
|
-
})));
|
|
8490
|
-
};
|
|
8491
|
-
|
|
8492
|
-
var Footer$1 = function (_a) {
|
|
8493
|
-
var brand = _a.brand, language = _a.language, environment = _a.environment, useAbsoluteUrls = _a.useAbsoluteUrls, project = _a.project;
|
|
8494
|
-
var config = React.useMemo(function () {
|
|
8495
|
-
var footerConfigInstance = new FooterConfig({
|
|
8496
|
-
config: footerConfig(),
|
|
8497
|
-
brand: brand,
|
|
8498
|
-
environment: environment,
|
|
8499
|
-
useAbsoluteUrls: useAbsoluteUrls,
|
|
8500
|
-
project: project,
|
|
8501
|
-
});
|
|
8502
|
-
return footerConfigInstance.getMappedConfig();
|
|
8503
|
-
}, [brand, environment, useAbsoluteUrls, project]);
|
|
8504
|
-
return (React.createElement(TranslationProvider, { language: language, scopes: ['footer'] },
|
|
8505
|
-
React.createElement("footer", null,
|
|
8506
|
-
React.createElement(react$1.Box, { width: "full", background: "gray.900", color: "white", paddingTop: { md: 'md' }, paddingBottom: { base: 'lg', md: '2xl' } },
|
|
8507
|
-
React.createElement(Center, null,
|
|
8508
|
-
React.createElement(react$1.Container, { width: "full", maxWidth: "container.2xl", paddingX: { md: 'xs' } },
|
|
8509
|
-
React.createElement(FooterSectionGrid, { config: config }),
|
|
8510
|
-
React.createElement(FooterLanguageNavigation, null),
|
|
8511
|
-
React.createElement(SocialMedia, { config: config }))),
|
|
8512
|
-
React.createElement(Separator, { orientation: "horizontal", borderColor: "gray.700" }),
|
|
8513
|
-
React.createElement(Center, null,
|
|
8514
|
-
React.createElement(react$1.Container, { width: "full", maxWidth: "container.xl", paddingX: "lg" },
|
|
8515
|
-
React.createElement(FooterCompanies, { config: config }),
|
|
8516
|
-
React.createElement(FooterCopyright, null)))))));
|
|
8517
|
-
};
|
|
8518
|
-
|
|
8519
|
-
var SearchField = function (_a) {
|
|
8520
|
-
var name = _a.name, _b = _a.placeholder, placeholder = _b === void 0 ? '' : _b, _c = _a.ariaControls, ariaControls = _c === void 0 ? '' : _c, searchQuery = _a.searchQuery, setSearchQuery = _a.setSearchQuery, _d = _a.onFocus, onFocus = _d === void 0 ? function () { return null; } : _d, _e = _a.onBlur, onBlur = _e === void 0 ? function () { return null; } : _e, _f = _a.autofocusOnDesktop, autofocusOnDesktop = _f === void 0 ? true : _f, autoComplete = _a.autoComplete;
|
|
8521
|
-
var isDesktopOnly = useMediaQuery({ above: 'md' });
|
|
8522
|
-
var inputRef = React.useRef(null);
|
|
8523
|
-
React.useEffect(function () {
|
|
8524
|
-
var _a;
|
|
8525
|
-
if (autofocusOnDesktop && isDesktopOnly) {
|
|
8526
|
-
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
8527
|
-
}
|
|
8528
|
-
}, [isDesktopOnly, autofocusOnDesktop]);
|
|
8529
|
-
return (React.createElement(Input, { ref: inputRef, icon: MagnifierIcon, name: name, placeholder: placeholder, value: searchQuery, setInputValue: setSearchQuery, size: "lg", isClearable: true, debounce: true, onFocus: onFocus, onBlur: onBlur, "aria-controls": ariaControls, autoComplete: autoComplete }));
|
|
8530
|
-
};
|
|
8531
|
-
|
|
8532
|
-
var HighlightedText = function (_a) {
|
|
8533
|
-
var text = _a.text, _b = _a.highlightIndices, highlightIndices = _b === void 0 ? [] : _b, textProps = __rest(_a, ["text", "highlightIndices"]);
|
|
8534
|
-
if (highlightIndices.length === 0)
|
|
8535
|
-
return (React.createElement(Text, __assign({ as: "span" }, textProps), text));
|
|
8536
|
-
var result = [];
|
|
8537
|
-
var currentIndex = 0;
|
|
8538
|
-
for (var _i = 0, highlightIndices_1 = highlightIndices; _i < highlightIndices_1.length; _i++) {
|
|
8539
|
-
var _c = highlightIndices_1[_i], start = _c[0], end = _c[1];
|
|
8540
|
-
// Append the non-matching part
|
|
8541
|
-
result.push(React.createElement(Text, __assign({ key: "non-highlight-".concat(currentIndex, "-").concat(start, "-").concat(text), as: "span" }, textProps), text.substring(currentIndex, start)));
|
|
8542
|
-
// Append the matching part
|
|
8543
|
-
result.push(React.createElement(Text, __assign({ key: "highlight-".concat(start, "-").concat(end + 1, "-").concat(text), as: "u", fontWeight: "bold" }, textProps), text.substring(start, end + 1)));
|
|
8544
|
-
currentIndex = end + 1;
|
|
8545
|
-
}
|
|
8546
|
-
// Append the remaining non-matching part
|
|
8547
|
-
result.push(React.createElement(Text, __assign({ key: "non-highlight-end-".concat(text), as: "span" }, textProps), text.substring(currentIndex)));
|
|
8548
|
-
return (React.createElement(Text, __assign({ as: "span" }, textProps), result));
|
|
8549
|
-
};
|
|
8550
|
-
|
|
8551
|
-
var SearchableListItemLabel = function (_a) {
|
|
8552
|
-
var label = _a.label, isSelected = _a.isSelected, _b = _a.showChevron, showChevron = _b === void 0 ? true : _b, _c = _a.highlightIndices, highlightIndices = _c === void 0 ? [] : _c, _d = _a.isCheckbox, isCheckbox = _d === void 0 ? false : _d, facet = _a.facet;
|
|
8553
|
-
return (React.createElement(Flex, { width: "full", justifyContent: "space-between", whiteSpace: "pre-wrap", fontWeight: isSelected && !isCheckbox ? 'bold' : undefined, color: "gray.900", cursor: "pointer" },
|
|
8554
|
-
React.createElement(Flex, null,
|
|
8555
|
-
isSelected && !isCheckbox ? (React.createElement(CheckmarkIcon, { w: "xs", mr: "xs", color: "gray.900" })) : null,
|
|
8556
|
-
React.createElement(HighlightedText, { text: label, highlightIndices: highlightIndices, textAlign: "left" })),
|
|
8557
|
-
React.createElement(Flex, { as: "span" },
|
|
8558
|
-
facet ? (React.createElement(Text, { as: "span", color: "gray.400", mr: showChevron ? 'lg' : undefined, ml: "sm", minW: "lg", textAlign: "right", fontWeight: "regular" }, facet)) : null,
|
|
8559
|
-
showChevron ? (React.createElement(ChevronRightSmallIcon, { color: "gray.500", w: "sm", h: "sm" })) : null)));
|
|
8560
|
-
};
|
|
8561
|
-
|
|
8562
|
-
var isCheckboxType = function (listItem) {
|
|
8563
|
-
return !!listItem.isCheckbox;
|
|
8564
|
-
};
|
|
8565
|
-
var SearchableListItem = function (props) {
|
|
8566
|
-
var isCheckbox = isCheckboxType(props);
|
|
8567
|
-
var label = props.label, value = props.value, facet = props.facet, isSelected = props.isSelected, _a = props.showChevron, showChevron = _a === void 0 ? true : _a, _b = props.highlightIndices, highlightIndices = _b === void 0 ? [] : _b, children = props.children;
|
|
8568
|
-
var labelProps = {
|
|
8569
|
-
label: label,
|
|
8570
|
-
isSelected: isSelected,
|
|
8571
|
-
showChevron: showChevron,
|
|
8572
|
-
highlightIndices: highlightIndices,
|
|
8573
|
-
isCheckbox: isCheckbox,
|
|
8574
|
-
facet: facet,
|
|
8575
|
-
};
|
|
8576
|
-
var commonProps = {
|
|
8577
|
-
value: value,
|
|
8578
|
-
paddingY: 'sm',
|
|
8579
|
-
name: "searchable-list-item-".concat(value),
|
|
8580
|
-
'aria-current': isSelected,
|
|
8581
|
-
};
|
|
8582
|
-
var checkboxProps = __assign(__assign({}, commonProps), { label: React.createElement(SearchableListItemLabel, __assign({}, labelProps)), checked: isSelected, indeterminate: isCheckbox ? !!props.isIndeterminate : false, fullWidth: true, variant: 'alignTop', onChange: isCheckbox ? props.onClick : undefined });
|
|
8583
|
-
return (React.createElement(List.Item, { css: { breakInside: 'avoid' }, paddingLeft: props.paddingLeft },
|
|
8584
|
-
isCheckbox ? (React.createElement(Checkbox, __assign({}, checkboxProps))) : (React.createElement(react$1.Button, { value: value, paddingY: "sm", name: "searchable-list-item-".concat(value), "aria-current": isSelected, onClick: !isCheckbox ? props.onClick : undefined, width: "full", display: "flex", paddingX: "0" },
|
|
8585
|
-
React.createElement(SearchableListItemLabel, __assign({}, labelProps)))),
|
|
8586
|
-
children));
|
|
8587
|
-
};
|
|
8588
|
-
|
|
8589
|
-
var fuseOptions = {
|
|
8590
|
-
keys: ['label', 'children.label'],
|
|
8591
|
-
includeMatches: true,
|
|
8592
|
-
threshold: 0,
|
|
8593
|
-
ignoreLocation: true,
|
|
8594
|
-
minMatchCharLength: 1,
|
|
8595
|
-
shouldSort: false,
|
|
8596
|
-
};
|
|
8597
|
-
var mapItemsFromSearchResult = function (searchResults) {
|
|
8598
|
-
return searchResults.map(function (_a) {
|
|
8599
|
-
var _b = _a.matches, matches = _b === void 0 ? [] : _b, item = _a.item;
|
|
8600
|
-
var parentMatch = matches.find(function (match) { return match.key === 'label'; });
|
|
8601
|
-
var parentHighlightIndices = parentMatch ? parentMatch.indices : [];
|
|
8602
|
-
var childMatches = item.children
|
|
8603
|
-
? matches.filter(function (match) { return match.key === 'children.label'; })
|
|
8604
|
-
: [];
|
|
8605
|
-
if (!item.children ||
|
|
8606
|
-
item.children.length === 0 ||
|
|
8607
|
-
childMatches.length === 0) {
|
|
8608
|
-
return __assign(__assign({}, item), { highlightIndices: parentHighlightIndices });
|
|
8609
|
-
}
|
|
8610
|
-
var itemChildren = item.children || [];
|
|
8611
|
-
var children = childMatches.reduce(function (accumulator, childMatch) {
|
|
8612
|
-
if (childMatch.refIndex === undefined) {
|
|
8613
|
-
return accumulator;
|
|
8614
|
-
}
|
|
8615
|
-
var child = itemChildren[childMatch.refIndex];
|
|
8616
|
-
accumulator.push(__assign(__assign({}, child), { highlightIndices: childMatch.indices }));
|
|
8617
|
-
return accumulator;
|
|
8618
|
-
}, []);
|
|
8619
|
-
return __assign(__assign(__assign({}, item), (children ? { children: children } : {})), { highlightIndices: parentMatch ? parentMatch.indices : [] });
|
|
8620
|
-
});
|
|
8621
|
-
};
|
|
8622
|
-
var empty = function () { return null; };
|
|
8623
|
-
var search = function (_a) {
|
|
8624
|
-
var query = _a.query, fuse = _a.fuse;
|
|
8625
|
-
fuse.options.minMatchCharLength = query.length || 1;
|
|
8626
|
-
return fuse.search(query);
|
|
8627
|
-
};
|
|
8628
|
-
var getFuseInstance = function (listItems) {
|
|
8629
|
-
// Not casting the instance will result in the options not being typed
|
|
8630
|
-
return new Fuse(listItems, fuseOptions);
|
|
8631
|
-
};
|
|
8632
|
-
var SearchableList = function (_a) {
|
|
8633
|
-
var listItems = _a.listItems, _b = _a.NoResults, NoResults = _b === void 0 ? empty : _b, _c = _a.EmptyQueryPlaceholder, EmptyQueryPlaceholder = _c === void 0 ? empty : _c, _d = _a.listAriaLabel, listAriaLabel = _d === void 0 ? 'searchable list' : _d, _e = _a.searchFieldOptions, searchFieldOptions = _e === void 0 ? {} : _e, _f = _a.listOptions, listOptions = _f === void 0 ? { columns: 1, childrenSpacing: 'md' } : _f, listRef = _a.listRef;
|
|
8634
|
-
var gray200 = useToken('colors', ['gray.200'])[0];
|
|
8635
|
-
var _g = React.useState({
|
|
8636
|
-
query: '',
|
|
8637
|
-
listItems: listItems,
|
|
8638
|
-
fullListItems: __spreadArray([], listItems, true),
|
|
8639
|
-
fuse: getFuseInstance(listItems),
|
|
8640
|
-
}), searchState = _g[0], setSearchState = _g[1];
|
|
8641
|
-
var _h = searchFieldOptions.placeholder, placeholder = _h === void 0 ? '' : _h, _j = searchFieldOptions.autofocusOnDesktop, autofocusOnDesktop = _j === void 0 ? true : _j, autoComplete = searchFieldOptions.autoComplete;
|
|
8642
|
-
var _k = listOptions.columns, columns = _k === void 0 ? 1 : _k, _l = listOptions.childrenSpacing, childrenSpacing = _l === void 0 ? 'md' : _l;
|
|
8643
|
-
var areaId = 'searchableList';
|
|
8644
|
-
var query = searchState.query;
|
|
8645
|
-
React.useEffect(function () {
|
|
8646
|
-
setSearchState(function (currentState) {
|
|
8647
|
-
var fuse = getFuseInstance(listItems);
|
|
8648
|
-
if (currentState.query === '') {
|
|
8649
|
-
return {
|
|
8650
|
-
listItems: listItems,
|
|
8651
|
-
fullListItems: __spreadArray([], listItems, true),
|
|
8652
|
-
fuse: fuse,
|
|
8653
|
-
query: currentState.query,
|
|
8654
|
-
};
|
|
8655
|
-
}
|
|
8656
|
-
var searchResults = search({ fuse: fuse, query: currentState.query });
|
|
8657
|
-
var filteredListItems = mapItemsFromSearchResult(searchResults);
|
|
8658
|
-
return {
|
|
8659
|
-
listItems: filteredListItems,
|
|
8660
|
-
fuse: fuse,
|
|
8661
|
-
query: currentState.query,
|
|
8662
|
-
fullListItems: __spreadArray([], listItems, true),
|
|
8663
|
-
};
|
|
8664
|
-
});
|
|
8665
|
-
}, [listItems]);
|
|
8666
|
-
var setSearchQuery = React.useCallback(function (newQuery) {
|
|
8667
|
-
setSearchState(function (currentState) {
|
|
8668
|
-
var trimmedQuery = newQuery.trim();
|
|
8669
|
-
if (!trimmedQuery) {
|
|
8670
|
-
return __assign(__assign({}, currentState), { listItems: currentState.fullListItems, query: trimmedQuery });
|
|
8671
|
-
}
|
|
8672
|
-
var searchResults = search({
|
|
8673
|
-
fuse: currentState.fuse,
|
|
8674
|
-
query: trimmedQuery,
|
|
8675
|
-
});
|
|
8676
|
-
var filteredListItems = mapItemsFromSearchResult(searchResults);
|
|
8677
|
-
return __assign(__assign({}, currentState), { listItems: filteredListItems, query: trimmedQuery });
|
|
8993
|
+
target: '_blank',
|
|
8994
|
+
},
|
|
8995
|
+
{
|
|
8996
|
+
translationKey: 'footer.companies.anibis',
|
|
8997
|
+
visibilitySettings: {
|
|
8998
|
+
brand: (_24 = {}, _24[Brand.AutoScout24] = true, _24[Brand.MotoScout24] = true, _24),
|
|
8999
|
+
},
|
|
9000
|
+
link: {
|
|
9001
|
+
de: 'https://www.anibis.ch/de',
|
|
9002
|
+
en: 'https://www.anibis.ch/de',
|
|
9003
|
+
fr: 'https://www.anibis.ch/fr',
|
|
9004
|
+
it: 'https://www.anibis.ch/it',
|
|
9005
|
+
},
|
|
9006
|
+
target: '_blank',
|
|
9007
|
+
},
|
|
9008
|
+
],
|
|
9009
|
+
});
|
|
9010
|
+
};
|
|
9011
|
+
|
|
9012
|
+
var FooterCompanies = function (_a) {
|
|
9013
|
+
var config = _a.config;
|
|
9014
|
+
return (React.createElement(react$1.Box, { gap: { base: 'md', md: '2xl' }, marginBottom: "md", marginTop: "2xl", as: Stack, flexDirection: "row", justifyContent: "center", flexWrap: "wrap" }, config.companies.map(function (companyLink, index) {
|
|
9015
|
+
return (React.createElement(FooterLink, { key: "company-".concat(index), linkInstance: companyLink, bold: true }));
|
|
9016
|
+
})));
|
|
9017
|
+
};
|
|
9018
|
+
|
|
9019
|
+
var Footer$1 = function (_a) {
|
|
9020
|
+
var brand = _a.brand, language = _a.language, environment = _a.environment, useAbsoluteUrls = _a.useAbsoluteUrls, project = _a.project;
|
|
9021
|
+
var config = React.useMemo(function () {
|
|
9022
|
+
var footerConfigInstance = new FooterConfig({
|
|
9023
|
+
config: footerConfig(),
|
|
9024
|
+
brand: brand,
|
|
9025
|
+
environment: environment,
|
|
9026
|
+
useAbsoluteUrls: useAbsoluteUrls,
|
|
9027
|
+
project: project,
|
|
8678
9028
|
});
|
|
8679
|
-
|
|
8680
|
-
|
|
8681
|
-
|
|
8682
|
-
|
|
8683
|
-
|
|
8684
|
-
|
|
8685
|
-
|
|
8686
|
-
|
|
8687
|
-
|
|
8688
|
-
|
|
8689
|
-
|
|
8690
|
-
|
|
8691
|
-
|
|
8692
|
-
|
|
8693
|
-
|
|
8694
|
-
}))) : (React.createElement(NoResults, null))));
|
|
9029
|
+
return footerConfigInstance.getMappedConfig();
|
|
9030
|
+
}, [brand, environment, useAbsoluteUrls, project]);
|
|
9031
|
+
return (React.createElement(TranslationProvider, { language: language, scopes: ['footer'] },
|
|
9032
|
+
React.createElement("footer", null,
|
|
9033
|
+
React.createElement(react$1.Box, { width: "full", background: "gray.900", color: "white", paddingTop: { md: 'md' }, paddingBottom: { base: 'lg', md: '2xl' } },
|
|
9034
|
+
React.createElement(Center, null,
|
|
9035
|
+
React.createElement(react$1.Container, { width: "full", maxWidth: "container.2xl", paddingX: { md: 'xs' } },
|
|
9036
|
+
React.createElement(FooterSectionGrid, { config: config }),
|
|
9037
|
+
React.createElement(FooterLanguageNavigation, null),
|
|
9038
|
+
React.createElement(SocialMedia, { config: config }))),
|
|
9039
|
+
React.createElement(Separator, { orientation: "horizontal", borderColor: "gray.700" }),
|
|
9040
|
+
React.createElement(Center, null,
|
|
9041
|
+
React.createElement(react$1.Container, { width: "full", maxWidth: "container.xl", paddingX: "lg" },
|
|
9042
|
+
React.createElement(FooterCompanies, { config: config }),
|
|
9043
|
+
React.createElement(FooterCopyright, null)))))));
|
|
8695
9044
|
};
|
|
8696
9045
|
|
|
8697
9046
|
var createTenantLabel = function (managedSeller) {
|
|
@@ -8765,7 +9114,7 @@ var NavigationTenantMenuContent = function (_a) {
|
|
|
8765
9114
|
var NavigationTenantMenu = function (_a) {
|
|
8766
9115
|
var user = _a.user, selectTenant = _a.selectTenant;
|
|
8767
9116
|
var _b = react$1.useDisclosure(), onClose = _b.onClose, open = _b.open, onToggle = _b.onToggle;
|
|
8768
|
-
var t =
|
|
9117
|
+
var t = useI18n().t;
|
|
8769
9118
|
var selectedTenant = React.useMemo(function () {
|
|
8770
9119
|
var _a;
|
|
8771
9120
|
return (_a = user === null || user === void 0 ? void 0 : user.managedSellers) === null || _a === void 0 ? void 0 : _a.find(function (seller) { return seller.id === Number(user.sellerId); });
|
|
@@ -8845,7 +9194,7 @@ var DrawerIndicator = function (_a) {
|
|
|
8845
9194
|
|
|
8846
9195
|
var NavigationItem = function (_a) {
|
|
8847
9196
|
var translationKey = _a.translationKey, drawerHandler = _a.drawerHandler, isOpen = _a.isOpen;
|
|
8848
|
-
var t =
|
|
9197
|
+
var t = useI18n().t;
|
|
8849
9198
|
var recipe = react$1.useSlotRecipe({ key: 'link' });
|
|
8850
9199
|
var styles = recipe({ variant: 'navigationLink' });
|
|
8851
9200
|
return (React.createElement(react$1.Box, { onClick: drawerHandler, css: __assign({}, styles.root), fontWeight: "bold", color: isOpen ? 'blue.700' : 'gray.900', _hover: { color: 'blue.700' }, position: "relative", cursor: "pointer", display: "flex", alignItems: "center" },
|
|
@@ -8856,7 +9205,7 @@ var NavigationItem = function (_a) {
|
|
|
8856
9205
|
|
|
8857
9206
|
var NavigationLink = function (_a) {
|
|
8858
9207
|
var link = _a.link, title = _a.title, translationKey = _a.translationKey, _b = _a.translationParameters, translationParameters = _b === void 0 ? {} : _b, isNew = _a.isNew, _c = _a.fontWeight, fontWeight = _c === void 0 ? 'regular' : _c, _d = _a.variant, variant = _d === void 0 ? 'navigationLink' : _d, color = _a.color, leftIcon = _a.leftIcon, rightIcon = _a.rightIcon, hideTextBelow = _a.hideTextBelow, onClick = _a.onClick;
|
|
8859
|
-
var _e =
|
|
9208
|
+
var _e = useI18n(), t = _e.t, language = _e.language;
|
|
8860
9209
|
var linkColor = color || 'gray.900';
|
|
8861
9210
|
var hoverStyle = variant === 'navigationLink' ? { color: 'blue.700' } : undefined;
|
|
8862
9211
|
return (React.createElement(Link$1, { href: link && link[language], variant: variant, fontWeight: fontWeight, css: { color: linkColor }, _hover: hoverStyle, onClick: onClick, display: "flex", alignItems: "center", gap: "md" },
|
|
@@ -9903,7 +10252,7 @@ var getComparisonUrl = function (comparisonItemIds) {
|
|
|
9903
10252
|
var ComparisonItem = function (_a) {
|
|
9904
10253
|
var _b, _c;
|
|
9905
10254
|
var link = _a.link, count = _a.count;
|
|
9906
|
-
var _d =
|
|
10255
|
+
var _d = useI18n(), t = _d.t, language = _d.language;
|
|
9907
10256
|
return (React.createElement(react$1.chakra.a, { position: "relative", display: "block", href: (_b = link.link) === null || _b === void 0 ? void 0 : _b[language], onClick: link.onClick, "aria-label": t((_c = link.translationKey) !== null && _c !== void 0 ? _c : '', link.translationParameters), mr: "lg" },
|
|
9908
10257
|
React.createElement(CompareIcon, { color: "gray.900" }),
|
|
9909
10258
|
React.createElement(react$1.Box, { position: "absolute", css: { top: '-10px', right: '-15px' } }, count > 0 ? React.createElement(Count, { count: count }) : null)));
|
|
@@ -10314,7 +10663,7 @@ var NavigationAvatar = function (_a) {
|
|
|
10314
10663
|
var isDrawerOpened = isOpen && (drawer === null || drawer === void 0 ? void 0 : drawer.current) === DrawerNode.User;
|
|
10315
10664
|
var recipe = react$1.useSlotRecipe({ key: 'link' });
|
|
10316
10665
|
var styles = recipe({ variant: 'navigationLink' });
|
|
10317
|
-
var t =
|
|
10666
|
+
var t = useI18n().t;
|
|
10318
10667
|
if (user) {
|
|
10319
10668
|
return (React.createElement(react$1.Box, { hideBelow: "sm" },
|
|
10320
10669
|
React.createElement(react$1.Box, { display: "flex", flexDirection: "row", gap: "xs", cursor: "pointer", _hover: { color: 'blue.700' }, color: isDrawerOpened ? 'blue.700' : 'gray.900', onClick: createDrawerHandler({
|
|
@@ -10385,7 +10734,7 @@ var useNavigationDrawer = function (_a) {
|
|
|
10385
10734
|
var FavoritesItem = function (_a) {
|
|
10386
10735
|
var _b, _c;
|
|
10387
10736
|
var link = _a.link;
|
|
10388
|
-
var _d =
|
|
10737
|
+
var _d = useI18n(), t = _d.t, language = _d.language;
|
|
10389
10738
|
return (React.createElement(react$1.chakra.a, { position: "relative", href: (_b = link.link) === null || _b === void 0 ? void 0 : _b[language], onClick: link.onClick, "aria-label": t((_c = link.translationKey) !== null && _c !== void 0 ? _c : '') },
|
|
10390
10739
|
React.createElement(HeartIcon, { color: "gray.900" })));
|
|
10391
10740
|
};
|
|
@@ -10479,7 +10828,7 @@ var NonCollapsibleSection = function (_a) {
|
|
|
10479
10828
|
};
|
|
10480
10829
|
var CollapsibleSection = function (_a) {
|
|
10481
10830
|
var node = _a.node;
|
|
10482
|
-
var t =
|
|
10831
|
+
var t = useI18n().t;
|
|
10483
10832
|
if (!node.translationKey && !node.title) {
|
|
10484
10833
|
return null;
|
|
10485
10834
|
}
|
|
@@ -10503,7 +10852,7 @@ var DrawerMenu = function (_a) {
|
|
|
10503
10852
|
|
|
10504
10853
|
var DrawerLoginToggle = function (_a) {
|
|
10505
10854
|
var user = _a.user, onLogin = _a.onLogin, onLogout = _a.onLogout;
|
|
10506
|
-
var t =
|
|
10855
|
+
var t = useI18n().t;
|
|
10507
10856
|
return (React.createElement(Button, { as: "button", variant: "secondary", size: "md", marginTop: "md", marginX: "lg", onClick: user ? onLogout : onLogin },
|
|
10508
10857
|
user ? React.createElement(LogoutIcon, null) : React.createElement(AvatarIcon, null),
|
|
10509
10858
|
user ? t('header.userMenu.logout') : t('header.login')));
|
|
@@ -10529,7 +10878,7 @@ var NavigationDrawer = function (_a) {
|
|
|
10529
10878
|
maxWidth: '100vw',
|
|
10530
10879
|
width: '100%',
|
|
10531
10880
|
} },
|
|
10532
|
-
React.createElement(react$1.Box, {
|
|
10881
|
+
React.createElement(react$1.Box, { py: "lg", px: { md: 'xs' }, maxWidth: "container.2xl", width: "full", margin: "auto" }, isOpen ? (React.createElement(Grid, { "data-testid": "drawer-body", height: "full", width: "full", templateColumns: {
|
|
10533
10882
|
'2xs': 'minmax(0, 1fr)',
|
|
10534
10883
|
md: 'repeat(5, 1fr)',
|
|
10535
10884
|
}, gap: { md: '3xl' } },
|
|
@@ -10836,196 +11185,7 @@ var Pagination = function (_a) {
|
|
|
10836
11185
|
}),
|
|
10837
11186
|
React.createElement(react$1.Pagination.NextTrigger, { asChild: true, css: styles.paginationButton, display: { base: 'none', xs: 'inline-flex' } },
|
|
10838
11187
|
React.createElement(react$1.IconButton, null,
|
|
10839
|
-
React.createElement(ChevronRightSmallIcon, null))))));
|
|
10840
|
-
};
|
|
10841
|
-
|
|
10842
|
-
var Rating = function (_a) {
|
|
10843
|
-
var rating = _a.rating, props = __rest(_a, ["rating"]);
|
|
10844
|
-
var percent = "calc((".concat(rating.toString(), " - 0.16) / 5 * 100%)");
|
|
10845
|
-
var recipe = react$1.useRecipe({ key: 'rating' });
|
|
10846
|
-
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
10847
|
-
var styles = recipe(recipeProps);
|
|
10848
|
-
return (React.createElement(react$1.Box, { "aria-label": "Rating is ".concat(rating, " out of 5"), css: __assign(__assign({}, styles), { '--percent': percent, '--star-color': 'colors.orange.300', '&::before': {
|
|
10849
|
-
content: '"★★★★★"',
|
|
10850
|
-
letterSpacing: '0.5em',
|
|
10851
|
-
color: 'var(--star-color)',
|
|
10852
|
-
background: 'linear-gradient(90deg, var(--star-color) var(--percent), white var(--percent))',
|
|
10853
|
-
backgroundClip: 'text',
|
|
10854
|
-
WebkitTextFillColor: 'transparent',
|
|
10855
|
-
WebkitTextStroke: '0.1em var(--star-color)',
|
|
10856
|
-
} }) }));
|
|
10857
|
-
};
|
|
10858
|
-
|
|
10859
|
-
var Section = function (_a) {
|
|
10860
|
-
var _b = _a.maxImgW, maxImgW = _b === void 0 ? '2xl' : _b, props = __rest(_a, ["maxImgW"]);
|
|
10861
|
-
var recipe = react$1.useSlotRecipe({ key: 'section' });
|
|
10862
|
-
var _c = recipe.splitVariantProps(props), recipeProps = _c[0], componentProps = _c[1];
|
|
10863
|
-
var styles = recipe(recipeProps);
|
|
10864
|
-
var title = componentProps.title, text = componentProps.text, image = componentProps.image;
|
|
10865
|
-
return (React.createElement(react$1.Stack, { css: styles.root },
|
|
10866
|
-
image ? (React.createElement(react$1.Box, { css: styles.imageContainer, maxW: maxImgW }, image)) : null,
|
|
10867
|
-
React.createElement(react$1.Stack, { css: styles.textContainer },
|
|
10868
|
-
React.createElement(react$1.chakra.span, { css: styles.title }, title),
|
|
10869
|
-
text ? React.createElement(react$1.chakra.span, { css: styles.text }, text) : null)));
|
|
10870
|
-
};
|
|
10871
|
-
|
|
10872
|
-
var Select = React.forwardRef(function (_a, ref) {
|
|
10873
|
-
var options = _a.options, props = __rest(_a, ["options"]);
|
|
10874
|
-
var selectRecipe = react$1.useSlotRecipe({ key: 'select' });
|
|
10875
|
-
var _b = selectRecipe.splitVariantProps(props), selectRecipeProps = _b[0], restProps = _b[1];
|
|
10876
|
-
var selectStyles = selectRecipe(selectRecipeProps);
|
|
10877
|
-
var disabled = restProps.disabled, invalid = restProps.invalid, rest = __rest(restProps, ["disabled", "invalid"]);
|
|
10878
|
-
return (React.createElement(react$1.NativeSelect.Root, { disabled: disabled, invalid: invalid, css: selectStyles.root },
|
|
10879
|
-
React.createElement(react$1.NativeSelect.Field, __assign({ ref: ref }, rest, { css: selectStyles.field }), options.map(function (option) { return (React.createElement("option", { value: option.value, key: option.value }, option.label)); })),
|
|
10880
|
-
React.createElement(react$1.NativeSelect.Indicator, { css: [
|
|
10881
|
-
selectStyles.indicator,
|
|
10882
|
-
disabled && selectStyles.indicator._disabled,
|
|
10883
|
-
] })));
|
|
10884
|
-
});
|
|
10885
|
-
Select.displayName = 'Select';
|
|
10886
|
-
|
|
10887
|
-
var SimpleHeader = function (props) {
|
|
10888
|
-
var recipe = react$1.useSlotRecipe({ key: 'simpleHeader' });
|
|
10889
|
-
var _a = recipe.splitVariantProps(props), recipeProps = _a[0], componentProps = _a[1];
|
|
10890
|
-
var styles = recipe(recipeProps);
|
|
10891
|
-
var title = componentProps.title, url = componentProps.url;
|
|
10892
|
-
return (React.createElement(react$1.chakra.header, { css: styles.header },
|
|
10893
|
-
React.createElement(Center, null,
|
|
10894
|
-
React.createElement(Flex, { css: styles.mainContainer },
|
|
10895
|
-
React.createElement(Flex, { justify: "space-between", minWidth: "full" },
|
|
10896
|
-
React.createElement(react$1.chakra.h1, { css: styles.title }, title),
|
|
10897
|
-
React.createElement(Flex, { css: styles.iconWrapper },
|
|
10898
|
-
React.createElement("a", { href: url },
|
|
10899
|
-
React.createElement(CloseIcon, null))))))));
|
|
10900
|
-
};
|
|
10901
|
-
|
|
10902
|
-
var Tab = function (_a) {
|
|
10903
|
-
var variant = _a.variant, children = _a.children, rest = __rest(_a, ["variant", "children"]);
|
|
10904
|
-
var recipe = react$1.useSlotRecipe({ key: 'tabs' });
|
|
10905
|
-
var styles = recipe({ variant: variant });
|
|
10906
|
-
return (React.createElement(react$1.Tabs.Trigger, __assign({}, rest, { css: styles.trigger }), children));
|
|
10907
|
-
};
|
|
10908
|
-
|
|
10909
|
-
var TabList = function (_a) {
|
|
10910
|
-
var variant = _a.variant, children = _a.children, rest = __rest(_a, ["variant", "children"]);
|
|
10911
|
-
var recipe = react$1.useSlotRecipe({ key: 'tabs' });
|
|
10912
|
-
var styles = recipe({ variant: variant });
|
|
10913
|
-
return (React.createElement(react$1.Box, { overflowX: "auto" },
|
|
10914
|
-
React.createElement(react$1.Tabs.List, __assign({}, rest, { css: styles.list }), React.Children.map(children, function (child) {
|
|
10915
|
-
return React.isValidElement(child)
|
|
10916
|
-
? React.cloneElement(child, { variant: variant })
|
|
10917
|
-
: child;
|
|
10918
|
-
}))));
|
|
10919
|
-
};
|
|
10920
|
-
|
|
10921
|
-
var TabPanel = function (_a) {
|
|
10922
|
-
var variant = _a.variant, children = _a.children, rest = __rest(_a, ["variant", "children"]);
|
|
10923
|
-
var recipe = react$1.useSlotRecipe({ key: 'tabs' });
|
|
10924
|
-
var styles = recipe({ variant: variant });
|
|
10925
|
-
return (React.createElement(react$1.Tabs.Content, __assign({}, rest, { css: styles.content }), children));
|
|
10926
|
-
};
|
|
10927
|
-
|
|
10928
|
-
var TabPanels = function (_a) {
|
|
10929
|
-
var variant = _a.variant, children = _a.children;
|
|
10930
|
-
var recipe = react$1.useSlotRecipe({ key: 'tabs' });
|
|
10931
|
-
var styles = recipe({ variant: variant });
|
|
10932
|
-
return (React.createElement(react$1.Box, { css: styles.contentGroup }, React.Children.map(children, function (child) {
|
|
10933
|
-
return React.isValidElement(child)
|
|
10934
|
-
? React.cloneElement(child, { variant: variant })
|
|
10935
|
-
: child;
|
|
10936
|
-
})));
|
|
10937
|
-
};
|
|
10938
|
-
|
|
10939
|
-
var Tabs = function (_a) {
|
|
10940
|
-
var variant = _a.variant, children = _a.children, rest = __rest(_a, ["variant", "children"]);
|
|
10941
|
-
var recipe = react$1.useSlotRecipe({ key: 'tabs' });
|
|
10942
|
-
var styles = recipe({ variant: variant });
|
|
10943
|
-
return (React.createElement(react$1.Tabs.Root, __assign({}, rest, { css: styles.root }), React.Children.map(children, function (child) {
|
|
10944
|
-
return React.isValidElement(child)
|
|
10945
|
-
? React.cloneElement(child, { variant: variant })
|
|
10946
|
-
: child;
|
|
10947
|
-
})));
|
|
10948
|
-
};
|
|
10949
|
-
|
|
10950
|
-
var Body = react$1.Table.Body, Caption = react$1.Table.Caption, Cell = react$1.Table.Cell, Column = react$1.Table.Column, ColumnGroup = react$1.Table.ColumnGroup, ColumnHeader = react$1.Table.ColumnHeader, Footer = react$1.Table.Footer, Header = react$1.Table.Header, Root = react$1.Table.Root, Row = react$1.Table.Row, ScrollArea = react$1.Table.ScrollArea;
|
|
10951
|
-
Body.displayName = 'Table.Body';
|
|
10952
|
-
Caption.displayName = 'Table.Caption';
|
|
10953
|
-
Column.displayName = 'Table.Column';
|
|
10954
|
-
ColumnGroup.displayName = 'Table.ColumnGroup';
|
|
10955
|
-
Footer.displayName = 'Table.Footer';
|
|
10956
|
-
Header.displayName = 'Table.Header';
|
|
10957
|
-
Root.displayName = 'Table.Root';
|
|
10958
|
-
Row.displayName = 'Table.Row';
|
|
10959
|
-
ScrollArea.displayName = 'Table.ScrollArea';
|
|
10960
|
-
Cell.displayName = 'Table.Cell';
|
|
10961
|
-
ColumnHeader.displayName = 'Table.ColumnHeader';
|
|
10962
|
-
var Table = {
|
|
10963
|
-
Body: Body,
|
|
10964
|
-
Caption: Caption,
|
|
10965
|
-
Cell: Cell,
|
|
10966
|
-
Column: Column,
|
|
10967
|
-
ColumnGroup: ColumnGroup,
|
|
10968
|
-
ColumnHeader: ColumnHeader,
|
|
10969
|
-
Footer: Footer,
|
|
10970
|
-
Header: Header,
|
|
10971
|
-
Root: Root,
|
|
10972
|
-
Row: Row,
|
|
10973
|
-
ScrollArea: ScrollArea,
|
|
10974
|
-
};
|
|
10975
|
-
|
|
10976
|
-
var Underline = function (props) {
|
|
10977
|
-
var recipe = react$1.useSlotRecipe({ key: 'markedText' });
|
|
10978
|
-
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
10979
|
-
var styles = recipe(recipeProps);
|
|
10980
|
-
return (React.createElement(react$1.chakra.svg, { css: styles.mark, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 150 11", fill: "none", preserveAspectRatio: "none" },
|
|
10981
|
-
React.createElement(react$1.chakra.path, { fill: "brand.primary", d: "M147.274 5.414c-.221.13-.294.258-.218.427.151.21-.07.447-.291.661-.146.214-.516.43-.737.624-.222.151-.443.324-.665.496.523.185.374.166-.664.517.224.061.374.144.598.227-.892.073-1.71.146-2.678.157-2.381.026-4.762.116-7.144.184l-17.934.389c-2.158.045-4.243.025-6.401.049-.893.01-1.861 0-2.754.03-.446.005-.967.053-1.413.058a275.9 275.9 0 0 1-4.169.025c-.148.002-.372-.017-.521.006-2.306.089-4.689.009-6.996.055-1.116.034-2.232.046-3.349.058l-3.796.042c-3.2.035-6.4.07-9.6.085-2.83.01-5.658-.002-8.486.008-1.861 0-3.796.02-5.731.042-.968.01-1.936 0-2.903.01-.819.01-1.563.039-2.382.048-.595.007-1.191-.05-1.861-.043-.893.01-1.786.062-2.753.072l-9.974.046-11.462.127c-1.116.012-2.158.066-3.274.078-.447.005-.968-.032-1.415-.027-1.563.017-3.05.055-4.614.072-.297.003-.595.007-.743.115 0 .042-.371.046-.595.07l-9.6.169c-1.265.014-2.456.048-3.72.083-.67.029-1.265.1-1.935.107-1.34-.007-2.68-.013-4.02-.041a5.054 5.054 0 0 1-1.193-.2c-.821-.224-1.42-.493-1.498-.832-.077-.275-.23-.57-.307-.846-.001-.127.072-.256.145-.384.073-.086.072-.17.146-.256.144-.384.066-.787.36-1.172.145-.278.29-.555.139-.83 0-.063.222-.13.295-.215.294-.343.514-.707.807-1.05.147-.192.517-.409.366-.577-.226-.295.515-.579.065-.85-.15-.083.072-.213.22-.32 0-.043.222-.11.148-.109-.448-.122-.003-.255.145-.341.296-.173-.004-.361.664-.538a6.1 6.1 0 0 1 1.56-.208c1.638-.04 3.35-.08 4.987-.098 2.753-.051 5.433-.102 8.186-.132 3.052-.055 6.177-.09 9.229-.144l6.251-.07 7.964-.087a219.85 219.85 0 0 1 3.722-.02c1.563-.017 3.051-.033 4.614-.029 2.308-.025 4.54-.029 6.848-.033l6.997-.013c2.158-.003 4.242-.025 6.401-.007 2.903.01 5.806.021 8.71.01 2.009 0 4.018-.065 6.028-.066 2.158-.002 4.392.016 6.55-.008 2.53-.028 5.06-.077 7.666-.106 4.167-.045 8.336-.07 12.429-.115 2.977-.033 5.954-.087 9.005-.142l10.568-.18c3.051-.054 6.028-.15 9.004-.226 2.381-.069 4.837-.117 7.293-.165.521-.006.968.053 1.49.09-.221.257-.145.426.229.55-.594.112-.37.216.003.275-.222.13-.444.239-.517.346-.148.129-.072.255.598.248-.371.068-.669.113-1.115.182.075.042.15.083.225.104.596.078.972.392.527.546-.148.065-.595.07-.892.095v.063c.671.078.524.27.601.418.001.17-.146.3-.517.452-.148.065.003.191-.071.298.001.064.076.148.002.191-.666.283-.588.601-.659.92.001.085-.073.15-.147.214-.074.065-.593.198-.071.34Z" })));
|
|
10982
|
-
};
|
|
10983
|
-
|
|
10984
|
-
var Highlight = function (props) {
|
|
10985
|
-
var recipe = react$1.useSlotRecipe({ key: 'markedText' });
|
|
10986
|
-
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
10987
|
-
var styles = recipe(recipeProps);
|
|
10988
|
-
return (React.createElement(react$1.chakra.svg, { css: styles.mark, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 155 24", fill: "none", preserveAspectRatio: "none" },
|
|
10989
|
-
React.createElement(react$1.chakra.path, { fill: props.highlightColor, d: "M152.76 13.91c-.231.328-.309.657-.231 1.095.154.547-.078 1.15-.309 1.697-.155.548-.541 1.096-.773 1.588-.231.384-.463.822-.695 1.26.541.493.387.438-.695 1.314.232.165.386.384.618.603-.927.164-1.776.328-2.78.328-2.471 0-4.943.164-7.414.274l-18.613.493c-2.239.055-4.402-.055-6.641-.055-.927 0-1.931-.055-2.858 0-.463 0-1.004.11-1.467.11-1.468 0-2.858 0-4.325-.055-.154 0-.386-.055-.541 0-2.394.164-4.865-.11-7.26-.055-1.158.055-2.316.055-3.475.055h-3.938c-3.321 0-6.642 0-9.963-.055-2.935-.055-5.87-.164-8.804-.219-1.93-.055-3.939-.055-5.947-.055-1.004 0-2.008-.054-3.012-.054-.85 0-1.622.054-2.471.054-.618 0-1.236-.164-1.93-.164-.928 0-1.854.11-2.858.11l-10.35-.165H34.137c-1.159 0-2.24.11-3.399.11-.463 0-1.004-.11-1.467-.11-1.622 0-3.166.055-4.788.055-.31 0-.618 0-.773.274 0 .11-.386.11-.617.164l-9.963.164c-1.313 0-2.548.055-3.861.11-.696.055-1.313.219-2.008.219-1.39-.055-2.78-.11-4.17-.219-.464-.055-.85-.274-1.236-.548-.85-.602-1.468-1.314-1.545-2.19-.077-.712-.232-1.479-.309-2.19 0-.33.077-.658.154-.986.078-.22.078-.438.155-.658.154-.985.077-2.026.386-3.011.155-.712.309-1.424.155-2.136 0-.164.231-.329.308-.548.31-.876.541-1.807.85-2.683.154-.493.54-1.04.386-1.479-.232-.766.54-1.478.077-2.19-.154-.22.078-.548.232-.822 0-.109.232-.273.155-.273-.464-.329 0-.657.154-.877.309-.438 0-.93.695-1.369C4.247.493 4.711.33 5.329.33c1.699-.055 3.475-.11 5.174-.11C13.361.164 16.141.109 19 .109 22.165.056 25.409.056 28.575 0h14.751c1.313 0 2.548 0 3.861.055 1.622 0 3.167 0 4.789.055 2.394 0 4.71.054 7.105.109l7.26.164c2.239.055 4.401.055 6.641.165 3.012.11 6.024.219 9.036.273 2.085.055 4.17-.054 6.255 0 2.24.055 4.557.165 6.797.165 2.626 0 5.251-.055 7.954-.055 4.325 0 8.65.055 12.898.055 3.089 0 6.178-.055 9.345-.11l10.966-.164c3.167-.055 6.256-.22 9.345-.329 2.471-.11 5.02-.164 7.568-.219.541 0 1.004.165 1.545.274-.232.657-.154 1.095.232 1.424-.618.274-.386.548 0 .712-.232.328-.464.602-.541.876-.154.329-.077.657.618.657-.386.164-.695.274-1.158.438.077.11.154.22.231.274.618.22 1.004 1.04.541 1.424-.155.164-.618.164-.927.219v.164c.695.22.541.712.618 1.095 0 .439-.155.767-.541 1.15-.154.165 0 .493-.077.767 0 .164.077.383 0 .493-.695.712-.618 1.533-.695 2.355 0 .219-.077.383-.154.547-.078.165-.618.493-.078.877" })));
|
|
10990
|
-
};
|
|
10991
|
-
|
|
10992
|
-
var MarkedTextMark = function (props) {
|
|
10993
|
-
if (props.variant === 'highlight') {
|
|
10994
|
-
return React.createElement(Highlight, __assign({}, props));
|
|
10995
|
-
}
|
|
10996
|
-
if (props.variant === 'underline') {
|
|
10997
|
-
return React.createElement(Underline, __assign({}, props));
|
|
10998
|
-
}
|
|
10999
|
-
return null;
|
|
11000
|
-
};
|
|
11001
|
-
|
|
11002
|
-
var MarkedText = function (_a) {
|
|
11003
|
-
var children = _a.children, props = __rest(_a, ["children"]);
|
|
11004
|
-
var recipe = react$1.useSlotRecipe({ key: 'markedText' });
|
|
11005
|
-
var _b = recipe.splitVariantProps(props), recipeProps = _b[0], boxProps = _b[1];
|
|
11006
|
-
var styles = recipe(recipeProps);
|
|
11007
|
-
var variant = props.variant, highlightColor = props.highlightColor;
|
|
11008
|
-
return (React.createElement(react$1.Box, __assign({ css: styles.container }, boxProps),
|
|
11009
|
-
React.createElement(MarkedTextMark, { variant: variant, highlightColor: highlightColor }),
|
|
11010
|
-
React.createElement(react$1.Box, { css: styles.text }, children)));
|
|
11011
|
-
};
|
|
11012
|
-
|
|
11013
|
-
var _a$1;
|
|
11014
|
-
var themes = (_a$1 = {},
|
|
11015
|
-
_a$1[Brand.AutoScout24] = autoScout24System,
|
|
11016
|
-
_a$1[Brand.MotoScout24] = motoScout24System,
|
|
11017
|
-
_a$1);
|
|
11018
|
-
var ThemeProvider = function (_a) {
|
|
11019
|
-
var children = _a.children, theme = _a.theme;
|
|
11020
|
-
return React.createElement(react$1.ChakraProvider, { value: themes[theme] }, children);
|
|
11021
|
-
};
|
|
11022
|
-
|
|
11023
|
-
var TopListingBadge = function (_a) {
|
|
11024
|
-
var children = _a.children, aspectRatio = _a.aspectRatio;
|
|
11025
|
-
return (React.createElement(react$1.Grid, null,
|
|
11026
|
-
React.createElement(react$1.GridItem, { gridColumn: 1, gridRow: 1 }, aspectRatio ? (React.createElement(react$1.AspectRatio, { ratio: aspectRatio }, children)) : (children)),
|
|
11027
|
-
React.createElement(react$1.GridItem, { gridColumn: 1, gridRow: 1, zIndex: "docked", overflow: "hidden", position: "relative", pointerEvents: "none", css: { touchAction: 'none' } },
|
|
11028
|
-
React.createElement(react$1.Badge, { transform: "rotate(-45deg) translate(-50%) translateY(9px)", position: "absolute", transformOrigin: "top left", width: "4xl", textAlign: "center", paddingLeft: "sm", color: "gray.900" }, "Top"))));
|
|
11188
|
+
React.createElement(ChevronRightSmallIcon, null))))));
|
|
11029
11189
|
};
|
|
11030
11190
|
|
|
11031
11191
|
var InputLeftElement = function (_a) {
|
|
@@ -11103,94 +11263,6 @@ var RangeFilterInput = function (_a) {
|
|
|
11103
11263
|
React.createElement(InputGroup, __assign({ inputProps: to, variant: "inputRight", handleChange: handleChange, onBlur: onBlur, unit: unit }, rest))));
|
|
11104
11264
|
};
|
|
11105
11265
|
|
|
11106
|
-
var _a;
|
|
11107
|
-
var badgeText = (_a = {},
|
|
11108
|
-
_a[Brand.AutoScout24] = 'TopCar',
|
|
11109
|
-
_a[Brand.MotoScout24] = 'TopMoto',
|
|
11110
|
-
_a);
|
|
11111
|
-
var TopVehicleSharedBadge = function (_a) {
|
|
11112
|
-
var children = _a.children, aspectRatio = _a.aspectRatio, brand = _a.brand;
|
|
11113
|
-
return (React.createElement(react$1.Box, null,
|
|
11114
|
-
React.createElement(react$1.Box, { w: "full", textAlign: "center", textStyle: "heading4", p: "xs", color: "gray.900" }, badgeText[brand]),
|
|
11115
|
-
aspectRatio ? (React.createElement(AspectRatio, { ratio: aspectRatio }, children)) : (children)));
|
|
11116
|
-
};
|
|
11117
|
-
|
|
11118
|
-
var emptyItemOffset = 0;
|
|
11119
|
-
var firstItemOffset = 1;
|
|
11120
|
-
var getItemOffset = function (applyIndentation) {
|
|
11121
|
-
return applyIndentation ? firstItemOffset : emptyItemOffset;
|
|
11122
|
-
};
|
|
11123
|
-
var getSliderStepValue = function (marks, applyIndentation, value) {
|
|
11124
|
-
var selectedMarkIndex = marks.findIndex(function (mark) { return mark.value === value; });
|
|
11125
|
-
if (selectedMarkIndex < emptyItemOffset) {
|
|
11126
|
-
return getItemOffset(applyIndentation);
|
|
11127
|
-
}
|
|
11128
|
-
return selectedMarkIndex + getItemOffset(applyIndentation);
|
|
11129
|
-
};
|
|
11130
|
-
var getSliderMarks = function (marks, applyIndentation) {
|
|
11131
|
-
return marks.map(function (mark, index) { return (__assign(__assign({}, mark), { stepValue: index + getItemOffset(applyIndentation) })); });
|
|
11132
|
-
};
|
|
11133
|
-
var DiscreteSlider = function (_a) {
|
|
11134
|
-
var marks = _a.marks, _b = _a.applyIndentation, applyIndentation = _b === void 0 ? true : _b, onValueChanged = _a.onValueChanged, value = _a.value;
|
|
11135
|
-
var sliderStepValue = getSliderStepValue(marks, applyIndentation, value);
|
|
11136
|
-
var sliderMarks = getSliderMarks(marks, applyIndentation);
|
|
11137
|
-
var handleOnChange = function (newStepValue) {
|
|
11138
|
-
var _a;
|
|
11139
|
-
if (applyIndentation && newStepValue < firstItemOffset)
|
|
11140
|
-
return;
|
|
11141
|
-
var newSliderMark = (_a = sliderMarks.find(function (mark) { return mark.stepValue === newStepValue; })) === null || _a === void 0 ? void 0 : _a.value;
|
|
11142
|
-
onValueChanged(newSliderMark);
|
|
11143
|
-
};
|
|
11144
|
-
return (React.createElement(react$1.Slider.Root, { step: 1, max: sliderMarks.length - 1 + getItemOffset(applyIndentation), value: [sliderStepValue], onValueChange: function (details) { var _a; return handleOnChange((_a = details.value[0]) !== null && _a !== void 0 ? _a : sliderStepValue); } },
|
|
11145
|
-
React.createElement(react$1.Slider.Control, null,
|
|
11146
|
-
React.createElement(react$1.Slider.Track, null,
|
|
11147
|
-
React.createElement(react$1.Slider.Range, null)),
|
|
11148
|
-
React.createElement(react$1.Slider.Thumbs, null),
|
|
11149
|
-
React.createElement(react$1.Slider.MarkerGroup, null, sliderMarks.map(function (_a, index) {
|
|
11150
|
-
var stepValue = _a.stepValue, label = _a.label;
|
|
11151
|
-
return (React.createElement(react$1.Slider.Marker, { key: index, value: stepValue, style: {
|
|
11152
|
-
pointerEvents: 'all',
|
|
11153
|
-
fontWeight: sliderStepValue === stepValue ? 'bold' : 'normal',
|
|
11154
|
-
} }, label));
|
|
11155
|
-
})))));
|
|
11156
|
-
};
|
|
11157
|
-
|
|
11158
|
-
var Tooltip = function (_a) {
|
|
11159
|
-
var children = _a.children, _b = _a.placement, placement = _b === void 0 ? 'bottom' : _b, _c = _a.maxWidth, maxWidth = _c === void 0 ? '6xl' : _c, label = _a.label;
|
|
11160
|
-
var _d = React.useState(false), isOpen = _d[0], setIsOpen = _d[1];
|
|
11161
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11162
|
-
var childrenWithProps = React.cloneElement(children, {
|
|
11163
|
-
onMouseEnter: function () { return setIsOpen(true); },
|
|
11164
|
-
onMouseLeave: function () { return setIsOpen(false); },
|
|
11165
|
-
onClick: function () { return setIsOpen(true); },
|
|
11166
|
-
});
|
|
11167
|
-
return (React.createElement(react$1.TooltipRoot, { positioning: {
|
|
11168
|
-
placement: placement,
|
|
11169
|
-
}, open: isOpen },
|
|
11170
|
-
React.createElement(react$1.TooltipTrigger, { asChild: true }, childrenWithProps),
|
|
11171
|
-
React.createElement(react$1.TooltipPositioner, null,
|
|
11172
|
-
React.createElement(react$1.TooltipContent, { maxWidth: maxWidth },
|
|
11173
|
-
React.createElement(react$1.TooltipArrow, null,
|
|
11174
|
-
React.createElement(react$1.TooltipArrowTip, null)),
|
|
11175
|
-
label))));
|
|
11176
|
-
};
|
|
11177
|
-
|
|
11178
|
-
var FormControlSection = function (_a) {
|
|
11179
|
-
var children = _a.children, errorMessage = _a.errorMessage, id = _a.id, label = _a.label, hint = _a.hint, tooltip = _a.tooltip;
|
|
11180
|
-
var isInvalid = !!errorMessage;
|
|
11181
|
-
return (React.createElement(react$1.Field.Root, { id: id, invalid: isInvalid },
|
|
11182
|
-
React.createElement(react$1.Box, { border: "1px", borderRadius: "sm", borderColor: isInvalid ? 'red.500' : 'gray.400', padding: "2xl" },
|
|
11183
|
-
React.createElement(Flex, { flexDirection: "column" },
|
|
11184
|
-
React.createElement(react$1.Box, { mb: "lg" },
|
|
11185
|
-
React.createElement(Flex, { alignItems: "center" },
|
|
11186
|
-
label ? (React.createElement(Text, { color: "gray.900", textStyle: "heading4" }, label)) : null,
|
|
11187
|
-
tooltip ? (React.createElement(Tooltip, { label: tooltip },
|
|
11188
|
-
React.createElement(InformationIcon, { ml: "md" }))) : null),
|
|
11189
|
-
hint ? (React.createElement(Text, { color: "gray.900", textStyle: "body" }, hint)) : null),
|
|
11190
|
-
children)),
|
|
11191
|
-
React.createElement(react$1.Field.ErrorText, null, errorMessage)));
|
|
11192
|
-
};
|
|
11193
|
-
|
|
11194
11266
|
var RangeSlider = function (_a) {
|
|
11195
11267
|
var _b = _a.min, min = _b === void 0 ? 0 : _b, _c = _a.max, max = _c === void 0 ? 10 : _c, onChange = _a.onChange, onChangeEnd = _a.onChangeEnd, rest = __rest(_a, ["min", "max", "onChange", "onChangeEnd"]);
|
|
11196
11268
|
return (React.createElement(react$1.Slider.Root, __assign({ defaultValue: [min, max], min: min, max: max, onValueChange: function (details) { return onChange === null || onChange === void 0 ? void 0 : onChange(details.value); }, onValueChangeEnd: function (details) { return onChangeEnd === null || onChangeEnd === void 0 ? void 0 : onChangeEnd(details.value); } }, rest),
|
|
@@ -11201,264 +11273,138 @@ var RangeSlider = function (_a) {
|
|
|
11201
11273
|
React.createElement(react$1.Slider.Thumb, { index: 1, "aria-label": "Max", width: { base: 'md', sm: 'sm' }, height: { base: 'md', sm: 'sm' } }))));
|
|
11202
11274
|
};
|
|
11203
11275
|
|
|
11204
|
-
var
|
|
11205
|
-
|
|
11206
|
-
|
|
11207
|
-
};
|
|
11208
|
-
var
|
|
11209
|
-
var
|
|
11210
|
-
|
|
11211
|
-
|
|
11212
|
-
|
|
11213
|
-
|
|
11214
|
-
|
|
11276
|
+
var Rating = function (_a) {
|
|
11277
|
+
var rating = _a.rating, props = __rest(_a, ["rating"]);
|
|
11278
|
+
var percent = "calc((".concat(rating.toString(), " - 0.16) / 5 * 100%)");
|
|
11279
|
+
var recipe = react$1.useRecipe({ key: 'rating' });
|
|
11280
|
+
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
11281
|
+
var styles = recipe(recipeProps);
|
|
11282
|
+
return (React.createElement(react$1.Box, { "aria-label": "Rating is ".concat(rating, " out of 5"), css: __assign(__assign({}, styles), { '--percent': percent, '--star-color': 'colors.orange.300', '&::before': {
|
|
11283
|
+
content: '"★★★★★"',
|
|
11284
|
+
letterSpacing: '0.5em',
|
|
11285
|
+
color: 'var(--star-color)',
|
|
11286
|
+
background: 'linear-gradient(90deg, var(--star-color) var(--percent), white var(--percent))',
|
|
11287
|
+
backgroundClip: 'text',
|
|
11288
|
+
WebkitTextFillColor: 'transparent',
|
|
11289
|
+
WebkitTextStroke: '0.1em var(--star-color)',
|
|
11290
|
+
} }) }));
|
|
11215
11291
|
};
|
|
11216
11292
|
|
|
11217
|
-
var
|
|
11218
|
-
var
|
|
11219
|
-
|
|
11293
|
+
var Section = function (_a) {
|
|
11294
|
+
var _b = _a.maxImgW, maxImgW = _b === void 0 ? '2xl' : _b, props = __rest(_a, ["maxImgW"]);
|
|
11295
|
+
var recipe = react$1.useSlotRecipe({ key: 'section' });
|
|
11296
|
+
var _c = recipe.splitVariantProps(props), recipeProps = _c[0], componentProps = _c[1];
|
|
11297
|
+
var styles = recipe(recipeProps);
|
|
11298
|
+
var title = componentProps.title, text = componentProps.text, image = componentProps.image;
|
|
11299
|
+
return (React.createElement(react$1.Stack, { css: styles.root },
|
|
11300
|
+
image ? (React.createElement(react$1.Box, { css: styles.imageContainer, maxW: maxImgW }, image)) : null,
|
|
11301
|
+
React.createElement(react$1.Stack, { css: styles.textContainer },
|
|
11302
|
+
React.createElement(react$1.chakra.span, { css: styles.title }, title),
|
|
11303
|
+
text ? React.createElement(react$1.chakra.span, { css: styles.text }, text) : null)));
|
|
11220
11304
|
};
|
|
11221
11305
|
|
|
11222
|
-
var
|
|
11223
|
-
var
|
|
11224
|
-
var
|
|
11225
|
-
var
|
|
11226
|
-
var
|
|
11227
|
-
var
|
|
11228
|
-
|
|
11229
|
-
|
|
11230
|
-
|
|
11231
|
-
|
|
11232
|
-
|
|
11233
|
-
|
|
11234
|
-
|
|
11235
|
-
|
|
11236
|
-
paginationCarousel.slidesNotInView().length === 0) {
|
|
11237
|
-
setPaginationButtonVisibility({ previous: false, next: false });
|
|
11238
|
-
return;
|
|
11239
|
-
}
|
|
11240
|
-
var progress = Math.max(0, Math.min(1, paginationCarousel.scrollProgress()));
|
|
11241
|
-
var slideWidth = 1 / thumbnails.length;
|
|
11242
|
-
setPaginationButtonVisibility({
|
|
11243
|
-
previous: progress > slideWidth,
|
|
11244
|
-
next: progress < 1 - slideWidth,
|
|
11245
|
-
});
|
|
11246
|
-
}, [paginationCarousel, thumbnails.length]);
|
|
11247
|
-
React.useEffect(function () {
|
|
11248
|
-
if (!paginationCarousel)
|
|
11249
|
-
return;
|
|
11250
|
-
evalPaginationButtonVisibility();
|
|
11251
|
-
paginationCarousel.on('scroll', evalPaginationButtonVisibility);
|
|
11252
|
-
paginationCarousel.on('slidesInView', evalPaginationButtonVisibility);
|
|
11253
|
-
}, [paginationCarousel, evalPaginationButtonVisibility]);
|
|
11254
|
-
return (React.createElement(react$1.Box, { ref: paginationCarouselRef, css: styles.pagination, "aria-label": "Pagination" },
|
|
11255
|
-
React.createElement(Flex, { alignItems: "center", height: "full", id: "thumbnail-wrapper" }, thumbnails.map(function (slide, index) { return (React.createElement(Thumbnail, { key: "slide-".concat(index), onClick: function () { return onThumbnailClick(index); }, isCurrent: index === currentSlideIndex, thumbnailIndex: index, totalThumbnails: thumbnails.length }, paginationCarouselRef ? (slide) : (React.createElement(react$1.Box, { h: "full", w: "full", backgroundColor: "gray.50" })))); })),
|
|
11256
|
-
paginationButtonVisibility.previous ? (React.createElement(ThumbnailNavigationButton, { onClick: scrollPrev, direction: "previous" })) : null,
|
|
11257
|
-
paginationButtonVisibility.next ? (React.createElement(ThumbnailNavigationButton, { onClick: scrollNext, direction: "next" })) : null));
|
|
11258
|
-
};
|
|
11306
|
+
var Select = React.forwardRef(function (_a, ref) {
|
|
11307
|
+
var options = _a.options, props = __rest(_a, ["options"]);
|
|
11308
|
+
var selectRecipe = react$1.useSlotRecipe({ key: 'select' });
|
|
11309
|
+
var _b = selectRecipe.splitVariantProps(props), selectRecipeProps = _b[0], restProps = _b[1];
|
|
11310
|
+
var selectStyles = selectRecipe(selectRecipeProps);
|
|
11311
|
+
var disabled = restProps.disabled, invalid = restProps.invalid, rest = __rest(restProps, ["disabled", "invalid"]);
|
|
11312
|
+
return (React.createElement(react$1.NativeSelect.Root, { disabled: disabled, invalid: invalid, css: selectStyles.root },
|
|
11313
|
+
React.createElement(react$1.NativeSelect.Field, __assign({ ref: ref }, rest, { css: selectStyles.field }), options.map(function (option) { return (React.createElement("option", { value: option.value, key: option.value }, option.label)); })),
|
|
11314
|
+
React.createElement(react$1.NativeSelect.Indicator, { css: [
|
|
11315
|
+
selectStyles.indicator,
|
|
11316
|
+
disabled && selectStyles.indicator._disabled,
|
|
11317
|
+
] })));
|
|
11318
|
+
});
|
|
11319
|
+
Select.displayName = 'Select';
|
|
11259
11320
|
|
|
11260
|
-
var
|
|
11261
|
-
var
|
|
11262
|
-
var
|
|
11263
|
-
var styles = recipe(
|
|
11264
|
-
var
|
|
11265
|
-
|
|
11266
|
-
|
|
11267
|
-
|
|
11268
|
-
|
|
11269
|
-
|
|
11270
|
-
|
|
11271
|
-
|
|
11272
|
-
|
|
11273
|
-
result[bp] = "calc(100% / ".concat(value, ")");
|
|
11274
|
-
}
|
|
11275
|
-
});
|
|
11276
|
-
return result;
|
|
11277
|
-
})();
|
|
11278
|
-
return (React.createElement(react$1.Box, { css: __assign(__assign({}, styles.slide), (basisVarResponsive
|
|
11279
|
-
? { '--carousel-slide-basis': basisVarResponsive }
|
|
11280
|
-
: {})), flexBasis: flexBasisTokenOrVar, paddingLeft: slidesPerView === 1 ? '0' : { base: 'md', md: '2xl' }, onClick: onClick, "aria-roledescription": "slide", "aria-label": "".concat(slideIndex + 1, " of ").concat(totalSlides), "aria-current": isCurrent }, children));
|
|
11321
|
+
var SimpleHeader = function (props) {
|
|
11322
|
+
var recipe = react$1.useSlotRecipe({ key: 'simpleHeader' });
|
|
11323
|
+
var _a = recipe.splitVariantProps(props), recipeProps = _a[0], componentProps = _a[1];
|
|
11324
|
+
var styles = recipe(recipeProps);
|
|
11325
|
+
var title = componentProps.title, url = componentProps.url;
|
|
11326
|
+
return (React.createElement(react$1.chakra.header, { css: styles.header },
|
|
11327
|
+
React.createElement(Center, null,
|
|
11328
|
+
React.createElement(Flex, { css: styles.mainContainer },
|
|
11329
|
+
React.createElement(Flex, { justify: "space-between", minWidth: "full" },
|
|
11330
|
+
React.createElement(react$1.chakra.h1, { css: styles.title }, title),
|
|
11331
|
+
React.createElement(Flex, { css: styles.iconWrapper },
|
|
11332
|
+
React.createElement("a", { href: url },
|
|
11333
|
+
React.createElement(CloseIcon, null))))))));
|
|
11281
11334
|
};
|
|
11282
11335
|
|
|
11283
|
-
var
|
|
11284
|
-
var
|
|
11285
|
-
var recipe = react$1.useSlotRecipe({ key: '
|
|
11286
|
-
var styles = recipe();
|
|
11287
|
-
return (React.createElement(react$1.
|
|
11336
|
+
var Tab = function (_a) {
|
|
11337
|
+
var variant = _a.variant, children = _a.children, rest = __rest(_a, ["variant", "children"]);
|
|
11338
|
+
var recipe = react$1.useSlotRecipe({ key: 'tabs' });
|
|
11339
|
+
var styles = recipe({ variant: variant });
|
|
11340
|
+
return (React.createElement(react$1.Tabs.Trigger, __assign({}, rest, { css: styles.trigger }), children));
|
|
11288
11341
|
};
|
|
11289
11342
|
|
|
11290
|
-
var
|
|
11291
|
-
var
|
|
11292
|
-
var
|
|
11293
|
-
|
|
11294
|
-
|
|
11295
|
-
}
|
|
11296
|
-
|
|
11297
|
-
|
|
11298
|
-
|
|
11299
|
-
|
|
11343
|
+
var TabList = function (_a) {
|
|
11344
|
+
var variant = _a.variant, children = _a.children, rest = __rest(_a, ["variant", "children"]);
|
|
11345
|
+
var recipe = react$1.useSlotRecipe({ key: 'tabs' });
|
|
11346
|
+
var styles = recipe({ variant: variant });
|
|
11347
|
+
return (React.createElement(react$1.Box, { overflowX: "auto" },
|
|
11348
|
+
React.createElement(react$1.Tabs.List, __assign({}, rest, { css: styles.list }), React.Children.map(children, function (child) {
|
|
11349
|
+
return React.isValidElement(child)
|
|
11350
|
+
? React.cloneElement(child, { variant: variant })
|
|
11351
|
+
: child;
|
|
11352
|
+
}))));
|
|
11300
11353
|
};
|
|
11301
11354
|
|
|
11302
|
-
var
|
|
11303
|
-
var
|
|
11304
|
-
var recipe = react$1.useSlotRecipe({ key: '
|
|
11305
|
-
var styles = recipe(
|
|
11306
|
-
|
|
11307
|
-
var icons = {
|
|
11308
|
-
previous: React.createElement(ChevronLeftLargeIcon, { boxSize: undefined, css: styles.icon }),
|
|
11309
|
-
next: React.createElement(ChevronRightLargeIcon, { boxSize: undefined, css: styles.icon }),
|
|
11310
|
-
};
|
|
11311
|
-
return (React.createElement(react$1.chakra.button, { onClick: onClick, "aria-label": "".concat(direction, " slide"), css: __assign(__assign(__assign({}, styles.buttonContainer), (isHovered ? { visibility: 'visible', pointerEvents: 'auto' } : {})), side) },
|
|
11312
|
-
React.createElement(Flex, { css: styles.button }, icons[direction])));
|
|
11355
|
+
var TabPanel = function (_a) {
|
|
11356
|
+
var variant = _a.variant, children = _a.children, rest = __rest(_a, ["variant", "children"]);
|
|
11357
|
+
var recipe = react$1.useSlotRecipe({ key: 'tabs' });
|
|
11358
|
+
var styles = recipe({ variant: variant });
|
|
11359
|
+
return (React.createElement(react$1.Tabs.Content, __assign({}, rest, { css: styles.content }), children));
|
|
11313
11360
|
};
|
|
11314
11361
|
|
|
11315
|
-
var
|
|
11316
|
-
var
|
|
11317
|
-
var recipe = react$1.useSlotRecipe({ key: '
|
|
11318
|
-
var styles = recipe();
|
|
11319
|
-
return (React.createElement(react$1.
|
|
11362
|
+
var TabPanels = function (_a) {
|
|
11363
|
+
var variant = _a.variant, children = _a.children;
|
|
11364
|
+
var recipe = react$1.useSlotRecipe({ key: 'tabs' });
|
|
11365
|
+
var styles = recipe({ variant: variant });
|
|
11366
|
+
return (React.createElement(react$1.Box, { css: styles.contentGroup }, React.Children.map(children, function (child) {
|
|
11367
|
+
return React.isValidElement(child)
|
|
11368
|
+
? React.cloneElement(child, { variant: variant })
|
|
11369
|
+
: child;
|
|
11370
|
+
})));
|
|
11320
11371
|
};
|
|
11321
11372
|
|
|
11322
|
-
var
|
|
11323
|
-
var
|
|
11324
|
-
var
|
|
11325
|
-
var
|
|
11326
|
-
|
|
11327
|
-
|
|
11328
|
-
|
|
11373
|
+
var Tabs = function (_a) {
|
|
11374
|
+
var variant = _a.variant, children = _a.children, rest = __rest(_a, ["variant", "children"]);
|
|
11375
|
+
var recipe = react$1.useSlotRecipe({ key: 'tabs' });
|
|
11376
|
+
var styles = recipe({ variant: variant });
|
|
11377
|
+
return (React.createElement(react$1.Tabs.Root, __assign({}, rest, { css: styles.root }), React.Children.map(children, function (child) {
|
|
11378
|
+
return React.isValidElement(child)
|
|
11379
|
+
? React.cloneElement(child, { variant: variant })
|
|
11380
|
+
: child;
|
|
11381
|
+
})));
|
|
11329
11382
|
};
|
|
11330
11383
|
|
|
11331
|
-
|
|
11332
|
-
|
|
11333
|
-
|
|
11334
|
-
|
|
11335
|
-
|
|
11336
|
-
|
|
11337
|
-
|
|
11338
|
-
|
|
11339
|
-
|
|
11340
|
-
|
|
11341
|
-
|
|
11342
|
-
|
|
11343
|
-
|
|
11344
|
-
|
|
11345
|
-
|
|
11346
|
-
|
|
11347
|
-
|
|
11348
|
-
|
|
11349
|
-
|
|
11350
|
-
|
|
11351
|
-
|
|
11352
|
-
|
|
11353
|
-
|
|
11354
|
-
|
|
11355
|
-
var _l = useEmblaCarousel({
|
|
11356
|
-
loop: loop,
|
|
11357
|
-
startIndex: startIndex,
|
|
11358
|
-
duration: 20,
|
|
11359
|
-
align: 'start',
|
|
11360
|
-
slidesToScroll: slidesToScroll,
|
|
11361
|
-
}), mainCarouselRef = _l[0], mainCarousel = _l[1];
|
|
11362
|
-
var _m = useEmblaCarousel({
|
|
11363
|
-
containScroll: 'keepSnaps',
|
|
11364
|
-
dragFree: true,
|
|
11365
|
-
slidesToScroll: 'auto',
|
|
11366
|
-
inViewThreshold: 1,
|
|
11367
|
-
duration: 20,
|
|
11368
|
-
}), paginationCarouselRef = _m[0], paginationCarousel = _m[1];
|
|
11369
|
-
var scrollPrev = React.useCallback(function () { return mainCarousel && mainCarousel.scrollPrev(true); }, [mainCarousel]);
|
|
11370
|
-
var scrollNext = React.useCallback(function () { return mainCarousel && mainCarousel.scrollNext(true); }, [mainCarousel]);
|
|
11371
|
-
var onClick = React.useCallback(function (index) {
|
|
11372
|
-
if (onSlideClick) {
|
|
11373
|
-
onSlideClick(index);
|
|
11374
|
-
}
|
|
11375
|
-
}, [onSlideClick]);
|
|
11376
|
-
var numberOfSlides = props.children.length;
|
|
11377
|
-
var hasThumbnailPagination = fullScreen && !isSmallLandscapeViewport;
|
|
11378
|
-
var onSelect = React.useCallback(function () {
|
|
11379
|
-
var _a, _b;
|
|
11380
|
-
if (!mainCarousel)
|
|
11381
|
-
return;
|
|
11382
|
-
var newIndex = mainCarousel.selectedScrollSnap();
|
|
11383
|
-
var previousIndex = mainCarousel.previousScrollSnap();
|
|
11384
|
-
setSelectedIndex(newIndex);
|
|
11385
|
-
setCanScrollPrevious(mainCarousel.canScrollPrev());
|
|
11386
|
-
setCanScrollNext(mainCarousel.canScrollNext());
|
|
11387
|
-
if (paginationCarousel && hasThumbnailPagination) {
|
|
11388
|
-
var slideRegistry = paginationCarousel.internalEngine().slideRegistry;
|
|
11389
|
-
var snapIndexThatSlideBelongsTo = slideRegistry.findIndex(function (group) {
|
|
11390
|
-
return group.includes(newIndex);
|
|
11391
|
-
});
|
|
11392
|
-
if (typeof snapIndexThatSlideBelongsTo !== 'undefined') {
|
|
11393
|
-
paginationCarousel.scrollTo(snapIndexThatSlideBelongsTo);
|
|
11394
|
-
}
|
|
11395
|
-
}
|
|
11396
|
-
if (onSlideSelect) {
|
|
11397
|
-
onSlideSelect(newIndex);
|
|
11398
|
-
}
|
|
11399
|
-
if (!props.fullScreen) {
|
|
11400
|
-
return;
|
|
11401
|
-
}
|
|
11402
|
-
var fullScreenChildren = props.children;
|
|
11403
|
-
if (newIndex !== undefined) {
|
|
11404
|
-
var currentSlide = fullScreenChildren[newIndex];
|
|
11405
|
-
(_a = currentSlide === null || currentSlide === void 0 ? void 0 : currentSlide.onSlideEnter) === null || _a === void 0 ? void 0 : _a.call(currentSlide);
|
|
11406
|
-
}
|
|
11407
|
-
if (previousIndex !== undefined && previousIndex !== newIndex) {
|
|
11408
|
-
var previousSlide = fullScreenChildren[previousIndex];
|
|
11409
|
-
(_b = previousSlide === null || previousSlide === void 0 ? void 0 : previousSlide.onSlideLeave) === null || _b === void 0 ? void 0 : _b.call(previousSlide);
|
|
11410
|
-
}
|
|
11411
|
-
}, [
|
|
11412
|
-
mainCarousel,
|
|
11413
|
-
paginationCarousel,
|
|
11414
|
-
onSlideSelect,
|
|
11415
|
-
hasThumbnailPagination,
|
|
11416
|
-
props.children,
|
|
11417
|
-
props.fullScreen,
|
|
11418
|
-
]);
|
|
11419
|
-
React.useEffect(function () {
|
|
11420
|
-
if (!mainCarousel)
|
|
11421
|
-
return;
|
|
11422
|
-
onSelect();
|
|
11423
|
-
mainCarousel.on('select', onSelect);
|
|
11424
|
-
}, [mainCarousel, onSelect]);
|
|
11425
|
-
React.useEffect(function () {
|
|
11426
|
-
var keydownListener = function (e) {
|
|
11427
|
-
if (fullScreen) {
|
|
11428
|
-
switch (e.code) {
|
|
11429
|
-
case 'ArrowRight':
|
|
11430
|
-
scrollNext();
|
|
11431
|
-
break;
|
|
11432
|
-
case 'ArrowLeft':
|
|
11433
|
-
scrollPrev();
|
|
11434
|
-
break;
|
|
11435
|
-
}
|
|
11436
|
-
}
|
|
11437
|
-
};
|
|
11438
|
-
document.addEventListener('keydown', keydownListener);
|
|
11439
|
-
return function () { return document.removeEventListener('keydown', keydownListener); };
|
|
11440
|
-
}, [fullScreen, scrollNext, scrollPrev]);
|
|
11441
|
-
var prerenderFallbackSlide = startIndex !== 0 && !mainCarouselRef;
|
|
11442
|
-
var carouselHeightByPaginationTypeMap = (_a = {},
|
|
11443
|
-
_a[exports.PaginationType.None] = '100%',
|
|
11444
|
-
_a[exports.PaginationType.Dot] = '100%',
|
|
11445
|
-
_a[exports.PaginationType.Thumbnail] = 'calc(100% - var(--carousel-pagination-height))',
|
|
11446
|
-
_a[exports.PaginationType.Number] = 'calc(100% - var(--carousel-numbers-pagination-height))',
|
|
11447
|
-
_a);
|
|
11448
|
-
var carouselHeightCssVarValue = hasThumbnailPagination
|
|
11449
|
-
? carouselHeightByPaginationTypeMap[exports.PaginationType.Thumbnail]
|
|
11450
|
-
: carouselHeightByPaginationTypeMap[paginationType];
|
|
11451
|
-
var _o = React.useState(false), isHovered = _o[0], setIsHovered = _o[1];
|
|
11452
|
-
return (React.createElement(react$1.Box, { css: styles.container, "data-group": true },
|
|
11453
|
-
prerenderFallbackSlide ? (React.createElement(Slide, { slideIndex: startIndex, onClick: function () { return onClick(startIndex); }, totalSlides: numberOfSlides, isCurrent: startIndex === selectedIndex, fullScreen: !!fullScreen, slidesPerView: slidesPerView }, props.fullScreen
|
|
11454
|
-
? (_b = props.children[startIndex]) === null || _b === void 0 ? void 0 : _b.slide
|
|
11455
|
-
: props.children[startIndex])) : (React.createElement(react$1.Box, { ref: mainCarouselRef, "aria-label": "Carousel", "aria-roledescription": "Carousel", role: "group", "data-group": true, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, height: 'var(--carousel-height)', css: __assign(__assign({}, styles.carousel), { '--carousel-height': carouselHeightCssVarValue }) },
|
|
11456
|
-
React.createElement(Flex, { css: styles.slideContainer, marginLeft: slidesPerView === 1 ? '0' : { base: '-md', md: '-2xl' } }, props.children.map(function (slide, index) { return (React.createElement(Slide, { key: "slide-".concat(index), slideIndex: index, onClick: function () { return onClick(index); }, totalSlides: numberOfSlides, isCurrent: index === selectedIndex, fullScreen: !!fullScreen, slidesPerView: slidesPerView }, isFullScreenSlide(slide) ? slide.slide : slide)); })),
|
|
11457
|
-
canScrollPrevious ? (React.createElement(NavigationButton, { onClick: scrollPrev, direction: "previous", fullScreen: !!fullScreen, isHovered: isHovered || (!!fullScreen && !isSmallLandscapeViewport) })) : null,
|
|
11458
|
-
canScrollNext ? (React.createElement(NavigationButton, { onClick: scrollNext, direction: "next", fullScreen: !!fullScreen, isHovered: isHovered || (!!fullScreen && !isSmallLandscapeViewport) })) : null,
|
|
11459
|
-
paginationType === exports.PaginationType.Dot ? (React.createElement(DotsPagination, { currentSlideIndex: selectedIndex, numberOfSlides: props.children.length })) : null)),
|
|
11460
|
-
hasThumbnailPagination ? (React.createElement(ThumbnailPagination, { currentSlideIndex: selectedIndex, thumbnails: props.children.map(function (slide) { return slide.thumbnail; }), mainCarousel: mainCarousel, paginationCarousel: paginationCarousel, paginationCarouselRef: paginationCarouselRef })) : null,
|
|
11461
|
-
paginationType === exports.PaginationType.Number ? (React.createElement(NumbersPagination, { mainCarousel: mainCarousel, currentSlideIndex: selectedIndex, numberOfSlides: props.children.length })) : null));
|
|
11384
|
+
var Body = react$1.Table.Body, Caption = react$1.Table.Caption, Cell = react$1.Table.Cell, Column = react$1.Table.Column, ColumnGroup = react$1.Table.ColumnGroup, ColumnHeader = react$1.Table.ColumnHeader, Footer = react$1.Table.Footer, Header = react$1.Table.Header, Root = react$1.Table.Root, Row = react$1.Table.Row, ScrollArea = react$1.Table.ScrollArea;
|
|
11385
|
+
Body.displayName = 'Table.Body';
|
|
11386
|
+
Caption.displayName = 'Table.Caption';
|
|
11387
|
+
Column.displayName = 'Table.Column';
|
|
11388
|
+
ColumnGroup.displayName = 'Table.ColumnGroup';
|
|
11389
|
+
Footer.displayName = 'Table.Footer';
|
|
11390
|
+
Header.displayName = 'Table.Header';
|
|
11391
|
+
Root.displayName = 'Table.Root';
|
|
11392
|
+
Row.displayName = 'Table.Row';
|
|
11393
|
+
ScrollArea.displayName = 'Table.ScrollArea';
|
|
11394
|
+
Cell.displayName = 'Table.Cell';
|
|
11395
|
+
ColumnHeader.displayName = 'Table.ColumnHeader';
|
|
11396
|
+
var Table = {
|
|
11397
|
+
Body: Body,
|
|
11398
|
+
Caption: Caption,
|
|
11399
|
+
Cell: Cell,
|
|
11400
|
+
Column: Column,
|
|
11401
|
+
ColumnGroup: ColumnGroup,
|
|
11402
|
+
ColumnHeader: ColumnHeader,
|
|
11403
|
+
Footer: Footer,
|
|
11404
|
+
Header: Header,
|
|
11405
|
+
Root: Root,
|
|
11406
|
+
Row: Row,
|
|
11407
|
+
ScrollArea: ScrollArea,
|
|
11462
11408
|
};
|
|
11463
11409
|
|
|
11464
11410
|
var TenantSelectionModalLayout = function (_a) {
|
|
@@ -11469,7 +11415,7 @@ var TenantSelectionModalLayout = function (_a) {
|
|
|
11469
11415
|
|
|
11470
11416
|
var TenantSelectionSelect = function (_a) {
|
|
11471
11417
|
var tenantSelection = _a.tenantSelection, setTenantSelection = _a.setTenantSelection, user = _a.user;
|
|
11472
|
-
var t =
|
|
11418
|
+
var t = useI18n().t;
|
|
11473
11419
|
var onTenantSelect = React.useCallback(function (selectedTenantId) {
|
|
11474
11420
|
setTenantSelection(function (current) {
|
|
11475
11421
|
return __assign(__assign({}, current), { selectedTenant: selectedTenantId, showSelection: false });
|
|
@@ -11483,7 +11429,7 @@ var img = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEBCAMAAACg8IvxAAA
|
|
|
11483
11429
|
|
|
11484
11430
|
var TenantSelectionOverview = function (_a) {
|
|
11485
11431
|
var tenantSelection = _a.tenantSelection, setTenantSelection = _a.setTenantSelection, user = _a.user, selectTenant = _a.selectTenant;
|
|
11486
|
-
var t =
|
|
11432
|
+
var t = useI18n().t;
|
|
11487
11433
|
var getSelectButtonLabel = function () {
|
|
11488
11434
|
if (!tenantSelection.selectedTenant)
|
|
11489
11435
|
return t('auth.tenantSelection.selectButton');
|
|
@@ -11541,6 +11487,73 @@ var TenantSelection = function (_a) {
|
|
|
11541
11487
|
React.createElement(TenantSelectionOverview, { user: user, tenantSelection: tenantSelection, setTenantSelection: setTenantSelection, selectTenant: selectTenant })));
|
|
11542
11488
|
};
|
|
11543
11489
|
|
|
11490
|
+
var Underline = function (props) {
|
|
11491
|
+
var recipe = react$1.useSlotRecipe({ key: 'markedText' });
|
|
11492
|
+
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
11493
|
+
var styles = recipe(recipeProps);
|
|
11494
|
+
return (React.createElement(react$1.chakra.svg, { css: styles.mark, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 150 11", fill: "none", preserveAspectRatio: "none" },
|
|
11495
|
+
React.createElement(react$1.chakra.path, { fill: "brand.primary", d: "M147.274 5.414c-.221.13-.294.258-.218.427.151.21-.07.447-.291.661-.146.214-.516.43-.737.624-.222.151-.443.324-.665.496.523.185.374.166-.664.517.224.061.374.144.598.227-.892.073-1.71.146-2.678.157-2.381.026-4.762.116-7.144.184l-17.934.389c-2.158.045-4.243.025-6.401.049-.893.01-1.861 0-2.754.03-.446.005-.967.053-1.413.058a275.9 275.9 0 0 1-4.169.025c-.148.002-.372-.017-.521.006-2.306.089-4.689.009-6.996.055-1.116.034-2.232.046-3.349.058l-3.796.042c-3.2.035-6.4.07-9.6.085-2.83.01-5.658-.002-8.486.008-1.861 0-3.796.02-5.731.042-.968.01-1.936 0-2.903.01-.819.01-1.563.039-2.382.048-.595.007-1.191-.05-1.861-.043-.893.01-1.786.062-2.753.072l-9.974.046-11.462.127c-1.116.012-2.158.066-3.274.078-.447.005-.968-.032-1.415-.027-1.563.017-3.05.055-4.614.072-.297.003-.595.007-.743.115 0 .042-.371.046-.595.07l-9.6.169c-1.265.014-2.456.048-3.72.083-.67.029-1.265.1-1.935.107-1.34-.007-2.68-.013-4.02-.041a5.054 5.054 0 0 1-1.193-.2c-.821-.224-1.42-.493-1.498-.832-.077-.275-.23-.57-.307-.846-.001-.127.072-.256.145-.384.073-.086.072-.17.146-.256.144-.384.066-.787.36-1.172.145-.278.29-.555.139-.83 0-.063.222-.13.295-.215.294-.343.514-.707.807-1.05.147-.192.517-.409.366-.577-.226-.295.515-.579.065-.85-.15-.083.072-.213.22-.32 0-.043.222-.11.148-.109-.448-.122-.003-.255.145-.341.296-.173-.004-.361.664-.538a6.1 6.1 0 0 1 1.56-.208c1.638-.04 3.35-.08 4.987-.098 2.753-.051 5.433-.102 8.186-.132 3.052-.055 6.177-.09 9.229-.144l6.251-.07 7.964-.087a219.85 219.85 0 0 1 3.722-.02c1.563-.017 3.051-.033 4.614-.029 2.308-.025 4.54-.029 6.848-.033l6.997-.013c2.158-.003 4.242-.025 6.401-.007 2.903.01 5.806.021 8.71.01 2.009 0 4.018-.065 6.028-.066 2.158-.002 4.392.016 6.55-.008 2.53-.028 5.06-.077 7.666-.106 4.167-.045 8.336-.07 12.429-.115 2.977-.033 5.954-.087 9.005-.142l10.568-.18c3.051-.054 6.028-.15 9.004-.226 2.381-.069 4.837-.117 7.293-.165.521-.006.968.053 1.49.09-.221.257-.145.426.229.55-.594.112-.37.216.003.275-.222.13-.444.239-.517.346-.148.129-.072.255.598.248-.371.068-.669.113-1.115.182.075.042.15.083.225.104.596.078.972.392.527.546-.148.065-.595.07-.892.095v.063c.671.078.524.27.601.418.001.17-.146.3-.517.452-.148.065.003.191-.071.298.001.064.076.148.002.191-.666.283-.588.601-.659.92.001.085-.073.15-.147.214-.074.065-.593.198-.071.34Z" })));
|
|
11496
|
+
};
|
|
11497
|
+
|
|
11498
|
+
var Highlight = function (props) {
|
|
11499
|
+
var recipe = react$1.useSlotRecipe({ key: 'markedText' });
|
|
11500
|
+
var recipeProps = recipe.splitVariantProps(props)[0];
|
|
11501
|
+
var styles = recipe(recipeProps);
|
|
11502
|
+
return (React.createElement(react$1.chakra.svg, { css: styles.mark, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 155 24", fill: "none", preserveAspectRatio: "none" },
|
|
11503
|
+
React.createElement(react$1.chakra.path, { fill: props.highlightColor, d: "M152.76 13.91c-.231.328-.309.657-.231 1.095.154.547-.078 1.15-.309 1.697-.155.548-.541 1.096-.773 1.588-.231.384-.463.822-.695 1.26.541.493.387.438-.695 1.314.232.165.386.384.618.603-.927.164-1.776.328-2.78.328-2.471 0-4.943.164-7.414.274l-18.613.493c-2.239.055-4.402-.055-6.641-.055-.927 0-1.931-.055-2.858 0-.463 0-1.004.11-1.467.11-1.468 0-2.858 0-4.325-.055-.154 0-.386-.055-.541 0-2.394.164-4.865-.11-7.26-.055-1.158.055-2.316.055-3.475.055h-3.938c-3.321 0-6.642 0-9.963-.055-2.935-.055-5.87-.164-8.804-.219-1.93-.055-3.939-.055-5.947-.055-1.004 0-2.008-.054-3.012-.054-.85 0-1.622.054-2.471.054-.618 0-1.236-.164-1.93-.164-.928 0-1.854.11-2.858.11l-10.35-.165H34.137c-1.159 0-2.24.11-3.399.11-.463 0-1.004-.11-1.467-.11-1.622 0-3.166.055-4.788.055-.31 0-.618 0-.773.274 0 .11-.386.11-.617.164l-9.963.164c-1.313 0-2.548.055-3.861.11-.696.055-1.313.219-2.008.219-1.39-.055-2.78-.11-4.17-.219-.464-.055-.85-.274-1.236-.548-.85-.602-1.468-1.314-1.545-2.19-.077-.712-.232-1.479-.309-2.19 0-.33.077-.658.154-.986.078-.22.078-.438.155-.658.154-.985.077-2.026.386-3.011.155-.712.309-1.424.155-2.136 0-.164.231-.329.308-.548.31-.876.541-1.807.85-2.683.154-.493.54-1.04.386-1.479-.232-.766.54-1.478.077-2.19-.154-.22.078-.548.232-.822 0-.109.232-.273.155-.273-.464-.329 0-.657.154-.877.309-.438 0-.93.695-1.369C4.247.493 4.711.33 5.329.33c1.699-.055 3.475-.11 5.174-.11C13.361.164 16.141.109 19 .109 22.165.056 25.409.056 28.575 0h14.751c1.313 0 2.548 0 3.861.055 1.622 0 3.167 0 4.789.055 2.394 0 4.71.054 7.105.109l7.26.164c2.239.055 4.401.055 6.641.165 3.012.11 6.024.219 9.036.273 2.085.055 4.17-.054 6.255 0 2.24.055 4.557.165 6.797.165 2.626 0 5.251-.055 7.954-.055 4.325 0 8.65.055 12.898.055 3.089 0 6.178-.055 9.345-.11l10.966-.164c3.167-.055 6.256-.22 9.345-.329 2.471-.11 5.02-.164 7.568-.219.541 0 1.004.165 1.545.274-.232.657-.154 1.095.232 1.424-.618.274-.386.548 0 .712-.232.328-.464.602-.541.876-.154.329-.077.657.618.657-.386.164-.695.274-1.158.438.077.11.154.22.231.274.618.22 1.004 1.04.541 1.424-.155.164-.618.164-.927.219v.164c.695.22.541.712.618 1.095 0 .439-.155.767-.541 1.15-.154.165 0 .493-.077.767 0 .164.077.383 0 .493-.695.712-.618 1.533-.695 2.355 0 .219-.077.383-.154.547-.078.165-.618.493-.078.877" })));
|
|
11504
|
+
};
|
|
11505
|
+
|
|
11506
|
+
var MarkedTextMark = function (props) {
|
|
11507
|
+
if (props.variant === 'highlight') {
|
|
11508
|
+
return React.createElement(Highlight, __assign({}, props));
|
|
11509
|
+
}
|
|
11510
|
+
if (props.variant === 'underline') {
|
|
11511
|
+
return React.createElement(Underline, __assign({}, props));
|
|
11512
|
+
}
|
|
11513
|
+
return null;
|
|
11514
|
+
};
|
|
11515
|
+
|
|
11516
|
+
var MarkedText = function (_a) {
|
|
11517
|
+
var children = _a.children, props = __rest(_a, ["children"]);
|
|
11518
|
+
var recipe = react$1.useSlotRecipe({ key: 'markedText' });
|
|
11519
|
+
var _b = recipe.splitVariantProps(props), recipeProps = _b[0], boxProps = _b[1];
|
|
11520
|
+
var styles = recipe(recipeProps);
|
|
11521
|
+
var variant = props.variant, highlightColor = props.highlightColor;
|
|
11522
|
+
return (React.createElement(react$1.Box, __assign({ css: styles.container }, boxProps),
|
|
11523
|
+
React.createElement(MarkedTextMark, { variant: variant, highlightColor: highlightColor }),
|
|
11524
|
+
React.createElement(react$1.Box, { css: styles.text }, children)));
|
|
11525
|
+
};
|
|
11526
|
+
|
|
11527
|
+
var _a$1;
|
|
11528
|
+
var themes = (_a$1 = {},
|
|
11529
|
+
_a$1[Brand.AutoScout24] = autoScout24System,
|
|
11530
|
+
_a$1[Brand.MotoScout24] = motoScout24System,
|
|
11531
|
+
_a$1);
|
|
11532
|
+
var ThemeProvider = function (_a) {
|
|
11533
|
+
var children = _a.children, theme = _a.theme;
|
|
11534
|
+
return React.createElement(react$1.ChakraProvider, { value: themes[theme] }, children);
|
|
11535
|
+
};
|
|
11536
|
+
|
|
11537
|
+
var TopListingBadge = function (_a) {
|
|
11538
|
+
var children = _a.children, aspectRatio = _a.aspectRatio;
|
|
11539
|
+
return (React.createElement(react$1.Grid, null,
|
|
11540
|
+
React.createElement(react$1.GridItem, { gridColumn: 1, gridRow: 1 }, aspectRatio ? (React.createElement(react$1.AspectRatio, { ratio: aspectRatio }, children)) : (children)),
|
|
11541
|
+
React.createElement(react$1.GridItem, { gridColumn: 1, gridRow: 1, zIndex: "docked", overflow: "hidden", position: "relative", pointerEvents: "none", css: { touchAction: 'none' } },
|
|
11542
|
+
React.createElement(react$1.Badge, { transform: "rotate(-45deg) translate(-50%) translateY(9px)", position: "absolute", transformOrigin: "top left", width: "4xl", textAlign: "center", paddingLeft: "sm", color: "gray.900" }, "Top"))));
|
|
11543
|
+
};
|
|
11544
|
+
|
|
11545
|
+
var _a;
|
|
11546
|
+
var badgeText = (_a = {},
|
|
11547
|
+
_a[Brand.AutoScout24] = 'TopCar',
|
|
11548
|
+
_a[Brand.MotoScout24] = 'TopMoto',
|
|
11549
|
+
_a);
|
|
11550
|
+
var TopVehicleSharedBadge = function (_a) {
|
|
11551
|
+
var children = _a.children, aspectRatio = _a.aspectRatio, brand = _a.brand;
|
|
11552
|
+
return (React.createElement(react$1.Box, null,
|
|
11553
|
+
React.createElement(react$1.Box, { w: "full", textAlign: "center", textStyle: "heading4", p: "xs", color: "gray.900" }, badgeText[brand]),
|
|
11554
|
+
aspectRatio ? (React.createElement(AspectRatio, { ratio: aspectRatio }, children)) : (children)));
|
|
11555
|
+
};
|
|
11556
|
+
|
|
11544
11557
|
Object.defineProperty(exports, "Box", {
|
|
11545
11558
|
enumerable: true,
|
|
11546
11559
|
get: function () { return react$1.Box; }
|