@hhgtech/hhg-components
Version:
Hello Health Group common components
166 lines (152 loc) • 8.43 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var index = require('./index-ae1a5588.js');
var index$1 = require('./index-7cc3b1ef.js');
var index$2 = require('./index-25f2e7a5.js');
var index$3 = require('./index-86fd931c.js');
var index$4 = require('./index-41ffd2b1.js');
var React = require('react');
var index$5 = require('./index-2b93ac79.js');
var tslib_es6 = require('./tslib.es6-92cccef3.js');
var core = require('@mantine/core');
var miscTheme = require('./miscTheme.js');
var index$6 = require('./index-28799789.js');
var hooks = require('@mantine/hooks');
var index$7 = require('./index-14671f4c.js');
var useMantineLocale = require('./useMantineLocale-e946ce4a.js');
var other = require('./other-eb0ff2f6.js');
var index$8 = require('./index-9012f1d1.js');
require('@hhgtech/icons/other');
require('./index-db44e8cb.js');
require('./constantsDomainLocales.js');
require('./Locale-59ccf941.js');
require('./constantsIsProduction.js');
require('./useScreenSize-30f50b76.js');
require('@emotion/styled');
require('./utils-7ba0038a.js');
require('@mantine/carousel');
require('./index-ad7155cf.js');
require('./index-1ee4ebb8.js');
require('date-fns/locale');
require('./constantsSite.js');
require('./constantsRiskScreener.js');
require('classnames');
require('./useUniqueId-6e2f8c19.js');
require('@hhgtech/icons/core');
require('@mantine/dates');
require('./index.styles-6dd86c20.js');
require('./index-c2c283f8.js');
require('./translationsContext-d63b6d32.js');
require('@mantine/notifications');
require('dayjs');
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefault(React);
const MantineProvider = (_a) => {
var { children, locale, template = 'hb' } = _a, props = tslib_es6.__rest(_a, ["children", "locale", "template"]);
useMantineLocale.useMantineLocale(locale);
return (React__default["default"].createElement(core.MantineProvider, Object.assign({ theme: index.getMantineThemeOverride(locale, template) }, props),
children,
React__default["default"].createElement(useMantineLocale.NotificationsHandler, null)));
};
const TextArea = (props) => {
return React__default["default"].createElement(index.StyledTextArea, Object.assign({ minRows: 2, maxRows: 4 }, props));
};
const Badge = (_a) => {
var { color = miscTheme.theme.colors.primaryBase, styles } = _a, rest = tslib_es6.__rest(_a, ["color", "styles"]);
return (React__default["default"].createElement(core.Badge, Object.assign({ variant: "filled", color: color, styles: Object.assign({ root: {
borderRadius: '2px',
background: color,
textTransform: 'unset',
} }, styles) }, rest)));
};
function useLockBodyScroll(visible = false) {
React__default["default"].useEffect(() => {
if (visible) {
const originalStyle = window.getComputedStyle(document.body).overflow;
document.body.style.overflow = 'hidden';
return () => {
document.body.style.overflow = originalStyle;
};
}
}, [visible]);
}
const LoadingOverlay = (props) => {
useLockBodyScroll(props.visible);
return (React__default["default"].createElement(core.LoadingOverlay, Object.assign({ loaderProps: {
color: miscTheme.theme.colors.primaryBase,
} }, props)));
};
const Slider = (_a) => {
var { color, withControl, onChange, value, min, max, isStatic, containerClassName, containerStyle } = _a, props = tslib_es6.__rest(_a, ["color", "withControl", "onChange", "value", "min", "max", "isStatic", "containerClassName", "containerStyle"]);
const [currentValue, setCurrentValue] = React.useState(value || min || 0);
const [debounced] = hooks.useDebouncedValue(currentValue, index.DEBOUNCED_TIME);
const increase = () => {
setCurrentValue((p) => (max && p === max ? p : p + 1));
};
const decrease = () => {
setCurrentValue((p) => (min && p === min ? p : p - 1));
};
React.useEffect(() => {
onChange === null || onChange === void 0 ? void 0 : onChange(debounced);
}, [debounced]);
React.useEffect(() => {
setCurrentValue(value);
}, [value]);
return (React__default["default"].createElement(index.StyledSliderWrapper, { className: containerClassName, style: containerStyle },
withControl && (React__default["default"].createElement(index$3.Button, { type: "button", size: "sm", variant: "ghost", onClick: decrease },
React__default["default"].createElement("svg", { width: "10", height: "10", fill: "none", viewBox: "0 0 12 3" },
React__default["default"].createElement("path", { d: "M1 1.004h8", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" })))),
React__default["default"].createElement(index.StyledSlider, Object.assign({ thumbSize: 21, labelAlwaysOn: true, radius: "xl", color: color, value: currentValue, onChange: !isStatic ? setCurrentValue : () => null, min: min, max: max }, props, { className: 'hhg-mantine-slider ' + (props.className || '') })),
withControl && (React__default["default"].createElement(index$3.Button, { type: "button", size: "sm", variant: "ghost", onClick: increase },
React__default["default"].createElement("svg", { width: "16", height: "20", fill: "none", viewBox: "0 0 16 16" },
React__default["default"].createElement("path", { d: "M8 4v8M4 8h8", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }))))));
};
var styles = {"container":"MON6sfi","iconContainer":"pS-tJD7","icon":"s3tJ9-5","title":"fNsZr1b","description":"uuxV74v","button":"YohjTDU"};
function Result(props) {
const { icon, title, description, button, buttonProps, style, className } = props;
const _a = buttonProps || {}, { size = 'lg', variant = 'outline' } = _a, restButtonProps = tslib_es6.__rest(_a, ["size", "variant"]);
const Icon = icon;
return (React__default["default"].createElement("div", { className: core.clsx('result', styles.container, className), style: style },
Icon && (React__default["default"].createElement("div", { className: core.clsx('resultIconContainer', styles.iconContainer) },
React__default["default"].createElement(Icon, { className: core.clsx('resultIcon', styles.icon) }))),
React__default["default"].createElement(core.Title, { order: 3, size: "h3", className: core.clsx('resultTitle', styles.title) }, title),
React__default["default"].createElement(core.Text, { className: core.clsx('resultDescription', styles.description) }, description),
button && (React__default["default"].createElement(core.Button, Object.assign({}, restButtonProps, { size: size, variant: variant, className: core.clsx('resultButton', styles.button, restButtonProps.className) }), button))));
}
exports.Accordion = index.Accordion;
exports.Anchor = index.Anchor;
exports.AspectRatio = index.AspectRatio;
exports.Avatar = index.Avatar;
exports.Breadcrumbs = index.Breadcrumbs;
exports.Carousel = index.Carousel;
exports.CentralCarousel = index.CentralCarousel;
exports.Checkbox = index.Checkbox;
exports.ChipButton = index.ChipButton;
exports.Input = index.Input;
exports.OTP = index.OTP;
exports.Phone = index.Phone;
exports.Popover = index.Popover;
exports.Radio = index.Radio;
exports.Select = index.Select;
exports.emotionCache = index.emotionCache;
exports.getMantineThemeOverride = index.getMantineThemeOverride;
exports.themeColors = index.themeColors;
exports.DatePicker = index$1.DatePicker;
exports.Text = index$2.Text;
exports.Button = index$3.Button;
exports.Indicator = index$4.Indicator;
exports.Modal = index$5.Modal;
exports.Spoiler = index$6.Spoiler;
exports.Switch = index$7.Switch;
exports.MAPPED_LOCALE = useMantineLocale.MAPPED_LOCALE;
exports.getHeadingStyles = useMantineLocale.getHeadingStyles;
exports.showNotification = useMantineLocale.showNotification;
exports.useMantineLocale = useMantineLocale.useMantineLocale;
exports.OTHER_THEME_CONFIG = other.OTHER_THEME_CONFIG;
exports.Tabs = index$8.Tabs;
exports.Badge = Badge;
exports.LoadingOverlay = LoadingOverlay;
exports.MantineProvider = MantineProvider;
exports.Result = Result;
exports.Slider = Slider;
exports.TextArea = TextArea;