@0xsquid/ui 0.21.0 → 0.21.1
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/index.js +46 -25
- package/dist/cjs/types/components/badges/BadgeImage.d.ts +6 -1
- package/dist/cjs/types/components/buttons/Button.d.ts +3 -1
- package/dist/cjs/types/components/buttons/Chip.d.ts +1 -2
- package/dist/cjs/types/components/controls/Input.d.ts +2 -1
- package/dist/cjs/types/components/controls/RangeInput.d.ts +2 -1
- package/dist/cjs/types/components/layout/NavigationBar.d.ts +3 -1
- package/dist/cjs/types/components/lists/ListItem.d.ts +2 -1
- package/dist/cjs/types/stories/badges/BadgeImage.stories.d.ts +4 -0
- package/dist/cjs/types/stories/buttons/Button.stories.d.ts +2 -0
- package/dist/cjs/types/stories/controls/Input.stories.d.ts +1 -0
- package/dist/cjs/types/stories/controls/RangeInput.stories.d.ts +1 -0
- package/dist/esm/index.js +46 -25
- package/dist/esm/types/components/badges/BadgeImage.d.ts +6 -1
- package/dist/esm/types/components/buttons/Button.d.ts +3 -1
- package/dist/esm/types/components/buttons/Chip.d.ts +1 -2
- package/dist/esm/types/components/controls/Input.d.ts +2 -1
- package/dist/esm/types/components/controls/RangeInput.d.ts +2 -1
- package/dist/esm/types/components/layout/NavigationBar.d.ts +3 -1
- package/dist/esm/types/components/lists/ListItem.d.ts +2 -1
- package/dist/esm/types/stories/badges/BadgeImage.stories.d.ts +4 -0
- package/dist/esm/types/stories/buttons/Button.stories.d.ts +2 -0
- package/dist/esm/types/stories/controls/Input.stories.d.ts +1 -0
- package/dist/esm/types/stories/controls/RangeInput.stories.d.ts +1 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +22 -12
- package/package.json +2 -2
package/dist/cjs/index.js
CHANGED
|
@@ -2637,24 +2637,41 @@ const mainImageSizeClassMap = {
|
|
|
2637
2637
|
md: 'tw-w-10 tw-h-10',
|
|
2638
2638
|
};
|
|
2639
2639
|
const loadingSkeletonClassName = 'tw-bg-grey-500';
|
|
2640
|
-
|
|
2640
|
+
var ImageState;
|
|
2641
|
+
(function (ImageState) {
|
|
2642
|
+
ImageState[ImageState["LOADING"] = 0] = "LOADING";
|
|
2643
|
+
ImageState[ImageState["LOADED"] = 1] = "LOADED";
|
|
2644
|
+
ImageState[ImageState["ERROR"] = 2] = "ERROR";
|
|
2645
|
+
})(ImageState || (ImageState = {}));
|
|
2646
|
+
function BadgeImage({ imageUrl: _imageUrl, badgeUrl, size = 'sm', extraMarginForBadge, rounded = false, placeholderImageUrl, }) {
|
|
2647
|
+
const imageUrl = (_imageUrl === null || _imageUrl === void 0 ? void 0 : _imageUrl.trim()) || placeholderImageUrl;
|
|
2641
2648
|
const [imagesLoadState, setImageLoadState] = React.useState({
|
|
2642
|
-
|
|
2643
|
-
|
|
2649
|
+
badge: ImageState.LOADING,
|
|
2650
|
+
mainImage: ImageState.LOADING,
|
|
2644
2651
|
});
|
|
2645
2652
|
const badgeImageClassName = cn('tw-absolute -tw-right-1/3 tw-bottom-0 tw-z-10 tw-m-0 -tw-translate-x-1/3 tw-rounded-md tw-border-[1px] tw-border-grey-800', badgeSizeClassMap[size]);
|
|
2646
2653
|
const mainImageClassName = cn('tw-h-full tw-w-full tw-absolute', rounded ? ' tw-rounded-full' : 'tw-rounded-squid-xs');
|
|
2647
|
-
return imageUrl ? (jsxRuntime.jsxs("div", { className: cn('tw-relative', extraMarginForBadge && badgeUrl ? 'tw-mr-1.5' : null, mainImageSizeClassMap[size]), children: [
|
|
2654
|
+
return imageUrl ? (jsxRuntime.jsxs("div", { className: cn('tw-relative', extraMarginForBadge && badgeUrl ? 'tw-mr-1.5' : null, mainImageSizeClassMap[size]), children: [imagesLoadState.mainImage !== ImageState.LOADED &&
|
|
2655
|
+
(placeholderImageUrl ? (jsxRuntime.jsx("img", { src: placeholderImageUrl, alt: "", className: mainImageClassName })) : (jsxRuntime.jsx("div", { className: cn(mainImageClassName, loadingSkeletonClassName) }))), jsxRuntime.jsx("img", { src: imageUrl, alt: "", onError: () => {
|
|
2656
|
+
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), { mainImage: ImageState.ERROR })));
|
|
2657
|
+
}, onLoad: () => {
|
|
2648
2658
|
// update state when image is fully loaded
|
|
2649
|
-
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), {
|
|
2659
|
+
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), { mainImage: ImageState.LOADED })));
|
|
2650
2660
|
}, className: cn(mainImageClassName,
|
|
2651
2661
|
// hide main image while it is loading, and display it when it is loaded
|
|
2652
|
-
imagesLoadState.
|
|
2662
|
+
imagesLoadState.mainImage === ImageState.LOADED
|
|
2663
|
+
? 'tw-block'
|
|
2664
|
+
: 'tw-hidden') }), badgeUrl ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [imagesLoadState.badge !== ImageState.LOADED &&
|
|
2665
|
+
(placeholderImageUrl ? (jsxRuntime.jsx("img", { src: placeholderImageUrl, alt: "", className: badgeImageClassName })) : (jsxRuntime.jsx("div", { className: cn(badgeImageClassName, loadingSkeletonClassName) }))), jsxRuntime.jsx("img", { src: badgeUrl, alt: "", onError: () => {
|
|
2666
|
+
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), { badge: ImageState.ERROR })));
|
|
2667
|
+
}, onLoad: () => {
|
|
2653
2668
|
// update state when badge image is fully loaded
|
|
2654
|
-
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), {
|
|
2669
|
+
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), { badge: ImageState.LOADED })));
|
|
2655
2670
|
}, className: cn(badgeImageClassName,
|
|
2656
2671
|
// hide badge image while it is loading, and display it when it is loaded
|
|
2657
|
-
imagesLoadState.
|
|
2672
|
+
imagesLoadState.badge === ImageState.LOADED
|
|
2673
|
+
? 'tw-block'
|
|
2674
|
+
: 'tw-hidden') })] })) : null] })) : null;
|
|
2658
2675
|
}
|
|
2659
2676
|
|
|
2660
2677
|
/******************************************************************************
|
|
@@ -2961,6 +2978,11 @@ function WalletLink({ imageURI, address }) {
|
|
|
2961
2978
|
return (jsxRuntime.jsx(IconLabel, { src: imageURI, variant: "round", children: jsxRuntime.jsx(HashLink, { hash: address, showCopyButton: true, children: jsxRuntime.jsx(BodyText, { size: "small", children: truncateHash(address) }) }) }));
|
|
2962
2979
|
}
|
|
2963
2980
|
|
|
2981
|
+
function Chip(_a) {
|
|
2982
|
+
var { label, icon } = _a, props = __rest$1(_a, ["label", "icon"]);
|
|
2983
|
+
return (jsxRuntime.jsx("div", Object.assign({}, props, { className: cn('tw-flex tw-h-squid-m tw-items-center tw-justify-center tw-rounded-squid-m tw-bg-grey-500 tw-text-grey-900', icon && 'tw-w-squid-m', props.className), children: label ? (jsxRuntime.jsx(CaptionText, { className: "tw-min-w-squid-xl tw-text-nowrap tw-px-squid-xxs tw-text-center", children: label })) : (icon) })));
|
|
2984
|
+
}
|
|
2985
|
+
|
|
2964
2986
|
const baseButtonClassName = 'tw-border tw-relative tw-overflow-hidden tw-group/base-button tw-flex tw-items-center tw-justify-center';
|
|
2965
2987
|
const buttonSizeClassMap = {
|
|
2966
2988
|
md: 'tw-px-squid-xs tw-py-squid-xxs tw-min-w-[60px] tw-h-squid-xl',
|
|
@@ -2980,7 +3002,8 @@ const buttonVariantClassMap = {
|
|
|
2980
3002
|
const buttonDisabledClass = '!tw-bg-grey-800 !tw-text-grey-600 tw-cursor-not-allowed';
|
|
2981
3003
|
const loadingClassname = 'tw-invisible tw-opacity-0';
|
|
2982
3004
|
function Button$1(_a) {
|
|
2983
|
-
var { label, disabled, size, variant, icon, link, isLoading = false } = _a, props = __rest$1(_a, ["label", "disabled", "size", "variant", "icon", "link", "isLoading"]);
|
|
3005
|
+
var { label, disabled, size, variant, icon, link, isLoading = false, chip } = _a, props = __rest$1(_a, ["label", "disabled", "size", "variant", "icon", "link", "isLoading", "chip"]);
|
|
3006
|
+
const chipElement = chip ? (jsxRuntime.jsx(Chip, Object.assign({}, chip, { className: cn('tw-absolute -tw-right-squid-xxs -tw-top-squid-xxs tw-z-10', chip.className) }))) : null;
|
|
2984
3007
|
const children = (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [!disabled && !isLoading && (jsxRuntime.jsx(ButtonHoverOverlay, { className: roundedClassMap[size] })), jsxRuntime.jsx("div", { className: "tw-relative tw-z-[5] tw-flex tw-items-center tw-justify-center tw-gap-squid-xxs", children: !label && !icon ? (props.children) : size === 'lg' ? (jsxRuntime.jsx("span", { className: "tw-px-squid-m", children: jsxRuntime.jsx(BodyText, { className: isLoading ? loadingClassname : '', size: "medium", children: label }) })) : size === 'md' ? (label && !icon ? (
|
|
2985
3008
|
// label only
|
|
2986
3009
|
jsxRuntime.jsx(BodyText, { className: isLoading ? loadingClassname : '', size: "small", children: label })) : !label && icon ? (
|
|
@@ -2994,9 +3017,9 @@ function Button$1(_a) {
|
|
|
2994
3017
|
// custom classes from props
|
|
2995
3018
|
props.className);
|
|
2996
3019
|
if (link) {
|
|
2997
|
-
return (jsxRuntime.jsx("a", { "aria-disabled": disabled, href: disabled ? undefined : link, target: "_blank", className: className, children: children }));
|
|
3020
|
+
return (jsxRuntime.jsxs("div", { className: "tw-relative tw-w-full", children: [jsxRuntime.jsx("a", { "aria-disabled": disabled, href: disabled ? undefined : link, target: "_blank", className: className, children: children }), chipElement] }));
|
|
2998
3021
|
}
|
|
2999
|
-
return (jsxRuntime.jsx("button", Object.assign({}, props, { "aria-disabled": disabled || isLoading, className: className, disabled: disabled || isLoading, children: children })));
|
|
3022
|
+
return (jsxRuntime.jsxs("div", { className: "tw-relative tw-w-full", children: [jsxRuntime.jsx("button", Object.assign({}, props, { "aria-disabled": disabled || isLoading, className: className, disabled: disabled || isLoading, children: children })), chipElement] }));
|
|
3000
3023
|
}
|
|
3001
3024
|
const ButtonHoverOverlay = ({ className }) => {
|
|
3002
3025
|
return (jsxRuntime.jsx("span", { className: cn('tw-absolute tw-inset-0 tw-z-0 tw-hidden tw-h-full tw-w-full tw-bg-material-light-thin group-hover/base-button:tw-block', className) }));
|
|
@@ -3092,7 +3115,7 @@ function SearchIcon() {
|
|
|
3092
3115
|
}
|
|
3093
3116
|
|
|
3094
3117
|
function Input(_a) {
|
|
3095
|
-
var { placeholder = 'Search', showIcon = true, className, icon, isError = false, containerClassName, actionButtonProps, autoFocusTimeout, inputRef: inputRefProp } = _a, props = __rest$1(_a, ["placeholder", "showIcon", "className", "icon", "isError", "containerClassName", "actionButtonProps", "autoFocusTimeout", "inputRef"]);
|
|
3118
|
+
var { placeholder = 'Search', showIcon = true, className, icon, isError = false, isWarning = false, containerClassName, actionButtonProps, autoFocusTimeout, inputRef: inputRefProp } = _a, props = __rest$1(_a, ["placeholder", "showIcon", "className", "icon", "isError", "isWarning", "containerClassName", "actionButtonProps", "autoFocusTimeout", "inputRef"]);
|
|
3096
3119
|
const showActionButton = !!actionButtonProps;
|
|
3097
3120
|
const localInputRef = React.useRef(null);
|
|
3098
3121
|
const inputRef = inputRefProp !== null && inputRefProp !== void 0 ? inputRefProp : localInputRef;
|
|
@@ -3105,7 +3128,7 @@ function Input(_a) {
|
|
|
3105
3128
|
}, autoFocusTimeout);
|
|
3106
3129
|
return () => clearTimeout(timeoutId);
|
|
3107
3130
|
}, [autoFocusTimeout]);
|
|
3108
|
-
return (jsxRuntime.jsxs("div", { className: cn('tw-relative tw-w-full tw-text-grey-600', containerClassName), children: [jsxRuntime.jsx("input", Object.assign({}, props, { ref: inputRef, "aria-invalid": isError, className: cn('tw-relative tw-h-10 tw-w-full tw-rounded-full tw-border tw-border-material-light-thin tw-bg-grey-900 tw-text-body-small tw-font-typography-regular tw-text-grey-300 placeholder:tw-text-grey-600 invalid:tw-outline-status-negative', showIcon ? 'tw-pl-[40px]' : 'tw-px-squid-s', showActionButton ? 'tw-pr-[70px]' : 'tw-pr-2.5', isError && '!tw-outline-status-negative', className), placeholder: placeholder })), showIcon ? (jsxRuntime.jsx("div", { className: "tw-absolute tw-inset-y-0 tw-left-0 tw-flex tw-h-full tw-w-[44px] tw-items-center tw-justify-center tw-px-squid-xs", children: icon || jsxRuntime.jsx(SearchIcon, {}) })) : null, showActionButton ? (jsxRuntime.jsx("div", { className: "tw-absolute tw-inset-y-0 tw-right-1.5 tw-flex tw-items-center tw-justify-center", children: jsxRuntime.jsx(InputActionButton, Object.assign({}, actionButtonProps)) })) : null] }));
|
|
3131
|
+
return (jsxRuntime.jsxs("div", { className: cn('tw-relative tw-w-full tw-text-grey-600', containerClassName), children: [jsxRuntime.jsx("input", Object.assign({}, props, { ref: inputRef, "aria-invalid": isError, className: cn('tw-relative tw-h-10 tw-w-full tw-rounded-full tw-border tw-border-material-light-thin tw-bg-grey-900 tw-text-body-small tw-font-typography-regular tw-text-grey-300 placeholder:tw-text-grey-600 invalid:tw-outline-status-negative', showIcon ? 'tw-pl-[40px]' : 'tw-px-squid-s', showActionButton ? 'tw-pr-[70px]' : 'tw-pr-2.5', isError && '!tw-outline-status-negative', className, isWarning && 'focus-visible:tw-outline-status-partial'), placeholder: placeholder })), showIcon ? (jsxRuntime.jsx("div", { className: "tw-absolute tw-inset-y-0 tw-left-0 tw-flex tw-h-full tw-w-[44px] tw-items-center tw-justify-center tw-px-squid-xs", children: icon || jsxRuntime.jsx(SearchIcon, {}) })) : null, showActionButton ? (jsxRuntime.jsx("div", { className: "tw-absolute tw-inset-y-0 tw-right-1.5 tw-flex tw-items-center tw-justify-center", children: jsxRuntime.jsx(InputActionButton, Object.assign({}, actionButtonProps)) })) : null] }));
|
|
3109
3132
|
}
|
|
3110
3133
|
const InputActionButton = ({ onClick, variant = 'tertiary', label = 'Paste', }) => {
|
|
3111
3134
|
return (jsxRuntime.jsx(Button$1, { size: "md", variant: variant, onClick: onClick, className: "!tw-h-[30px] !tw-w-fit !tw-min-w-0", children: jsxRuntime.jsx(CaptionText, { children: label }) }));
|
|
@@ -16709,11 +16732,6 @@ function generateMarkerLines(count) {
|
|
|
16709
16732
|
return allShadows.join(', ');
|
|
16710
16733
|
}
|
|
16711
16734
|
|
|
16712
|
-
function Chip(_a) {
|
|
16713
|
-
var { label, icon } = _a, props = __rest$1(_a, ["label", "icon"]);
|
|
16714
|
-
return (jsxRuntime.jsx("div", Object.assign({}, props, { className: cn('tw-flex tw-h-squid-m tw-items-center tw-justify-center tw-rounded-squid-m tw-bg-grey-500 tw-text-grey-900', icon && 'tw-w-squid-m', props.className), children: label ? (jsxRuntime.jsx(CaptionText, { className: "tw-min-w-squid-xl tw-text-nowrap tw-px-squid-xxs tw-text-center", children: label })) : (icon) })));
|
|
16715
|
-
}
|
|
16716
|
-
|
|
16717
16735
|
function Boost({ boostMode, onToggleBoostMode, estimatedTime, canToggleBoostMode = true, tooltip, }) {
|
|
16718
16736
|
const boostIndicatorRef = React.useRef(null);
|
|
16719
16737
|
function handleToggleBoostMode() {
|
|
@@ -17081,7 +17099,7 @@ const collapsedListItemClassMap = {
|
|
|
17081
17099
|
large: 'tw-w-[80px]',
|
|
17082
17100
|
};
|
|
17083
17101
|
function ListItem(_a) {
|
|
17084
|
-
var { itemTitle, mainImageUrl, subtitle, subtitleOnHover, detail, icon, secondaryImageUrl, size = 'large', mainIcon, className, isSelected, onDetailClick, showDetailOnHoverOnly, rounded = false, detailButtonClassName, loading, containerProps, compactOnMobile } = _a, props = __rest$1(_a, ["itemTitle", "mainImageUrl", "subtitle", "subtitleOnHover", "detail", "icon", "secondaryImageUrl", "size", "mainIcon", "className", "isSelected", "onDetailClick", "showDetailOnHoverOnly", "rounded", "detailButtonClassName", "loading", "containerProps", "compactOnMobile"]);
|
|
17102
|
+
var { itemTitle, mainImageUrl, subtitle, subtitleOnHover, detail, icon, secondaryImageUrl, placeholderImageUrl, size = 'large', mainIcon, className, isSelected, onDetailClick, showDetailOnHoverOnly, rounded = false, detailButtonClassName, loading, containerProps, compactOnMobile } = _a, props = __rest$1(_a, ["itemTitle", "mainImageUrl", "subtitle", "subtitleOnHover", "detail", "icon", "secondaryImageUrl", "placeholderImageUrl", "size", "mainIcon", "className", "isSelected", "onDetailClick", "showDetailOnHoverOnly", "rounded", "detailButtonClassName", "loading", "containerProps", "compactOnMobile"]);
|
|
17085
17103
|
const subtitleClassName = cn('tw-h-[14px] tw-max-w-full tw-truncate !tw-leading-[16px] tw-text-grey-500', compactOnMobile ? 'tw-hidden mobile-lg:tw-block' : 'tw-block');
|
|
17086
17104
|
// 'small' variant does not have detail
|
|
17087
17105
|
const showDetail = size === 'large' && (!!detail || !!icon || showDetailOnHoverOnly);
|
|
@@ -17114,7 +17132,7 @@ function ListItem(_a) {
|
|
|
17114
17132
|
const itemProps = isInteractive ? props : {};
|
|
17115
17133
|
return (jsxRuntime.jsx("li", Object.assign({}, containerProps, { className: cn('tw-flex tw-max-w-full tw-bg-grey-900 tw-text-grey-300', listItemSizeMap[size], compactOnMobile
|
|
17116
17134
|
? `${collapsedListItemClassMap[size]} mobile-lg:tw-w-full`
|
|
17117
|
-
: 'tw-w-full', className), children: jsxRuntime.jsxs(ItemTag, Object.assign({}, itemProps, { className: cn('tw-group/list-item tw-flex tw-w-full tw-max-w-full tw-items-center tw-justify-start tw-gap-squid-xs tw-rounded-squid-s tw-px-squid-xs tw-py-squid-xxs', isSelected && 'tw-bg-material-light-thin', isInteractive && 'hover:tw-bg-material-light-thin'), children: [size === 'large' ? (jsxRuntime.jsx("div", { className: "tw-h-10 tw-w-10", children: mainIcon ? (mainIcon) : (jsxRuntime.jsx(BadgeImage, { extraMarginForBadge: false, imageUrl: mainImageUrl, badgeUrl: secondaryImageUrl, size: "md", rounded: rounded })) })) : (jsxRuntime.jsx("div", { className: "tw-flex tw-min-h-[30px] tw-min-w-[30px] tw-items-center tw-justify-center", children: mainIcon ? (mainIcon) : (jsxRuntime.jsx("img", { src: mainImageUrl, className: "tw-h-[30px] tw-w-[30px] tw-rounded-squid-xs" })) })), jsxRuntime.jsxs("div", { className: cn('tw-flex tw-h-[40px] tw-flex-1 tw-flex-col tw-items-start tw-justify-center tw-gap-squid-xxs',
|
|
17135
|
+
: 'tw-w-full', className), children: jsxRuntime.jsxs(ItemTag, Object.assign({}, itemProps, { className: cn('tw-group/list-item tw-flex tw-w-full tw-max-w-full tw-items-center tw-justify-start tw-gap-squid-xs tw-rounded-squid-s tw-px-squid-xs tw-py-squid-xxs', isSelected && 'tw-bg-material-light-thin', isInteractive && 'hover:tw-bg-material-light-thin'), children: [size === 'large' ? (jsxRuntime.jsx("div", { className: "tw-h-10 tw-w-10", children: mainIcon ? (mainIcon) : (jsxRuntime.jsx(BadgeImage, { extraMarginForBadge: false, imageUrl: mainImageUrl, badgeUrl: secondaryImageUrl, placeholderImageUrl: placeholderImageUrl, size: "md", rounded: rounded })) })) : (jsxRuntime.jsx("div", { className: "tw-flex tw-min-h-[30px] tw-min-w-[30px] tw-items-center tw-justify-center", children: mainIcon ? (mainIcon) : (jsxRuntime.jsx("img", { src: mainImageUrl, className: "tw-h-[30px] tw-w-[30px] tw-rounded-squid-xs" })) })), jsxRuntime.jsxs("div", { className: cn('tw-flex tw-h-[40px] tw-flex-1 tw-flex-col tw-items-start tw-justify-center tw-gap-squid-xxs',
|
|
17118
17136
|
// 'large' variant has extra padding
|
|
17119
17137
|
size === 'large' ? 'tw-w-[56%] tw-pl-squid-xxs' : 'tw-w-[67%]'), children: [typeof itemTitle === 'string' ? (jsxRuntime.jsx(BodyText, { size: "small", className: cn('tw-max-w-full tw-truncate', subtitle && 'tw-h-[17px] !tw-leading-[17px]', compactOnMobile ? 'tw-hidden mobile-lg:tw-block' : 'tw-block'), children: itemTitle })) : (itemTitle), size === 'large' &&
|
|
17120
17138
|
((loading === null || loading === void 0 ? void 0 : loading.subtitle) ? (loadingComponent()) : subtitle ? (jsxRuntime.jsxs(CaptionText, { className: subtitleClassName, children: [subtitleOnHover && (jsxRuntime.jsx(CaptionText, { className: cn(subtitleClassName, 'tw-hidden group-hover/list-item:tw-block'), children: subtitleOnHover })), subtitle] })) : null)] }), showDetail && (jsxRuntime.jsxs(DetailTag, Object.assign({}, detailProps, { className: cn('tw-flex tw-w-fit tw-items-center tw-justify-center tw-rounded-squid-xs', size === 'large' ? 'tw-h-squid-xl' : 'tw-h-squid-l', showDetailOnHoverOnly
|
|
@@ -17508,7 +17526,7 @@ function NavigationBar({ title, displayBackButton = false, logoUrl, transparent
|
|
|
17508
17526
|
? action.labelOrIcon
|
|
17509
17527
|
: undefined, className: "tw-text-grey-300", icon: typeof action.labelOrIcon === 'string'
|
|
17510
17528
|
? null
|
|
17511
|
-
: action.labelOrIcon, onClick: action.onClick }) }), action.id))) })] }), title ? (jsxRuntime.jsx("div", { className: "tw-flex tw-h-squid-xxl tw-items-center tw-px-squid-m tw-py-squid-xxs mobile-lg:tw-px-squid-l", children: jsxRuntime.jsx(HeadingText, { size: "small", children: title }) })) : null] }));
|
|
17529
|
+
: action.labelOrIcon, onClick: action.onClick, chip: action.chip }) }), action.id))) })] }), title ? (jsxRuntime.jsx("div", { className: "tw-flex tw-h-squid-xxl tw-items-center tw-px-squid-m tw-py-squid-xxs mobile-lg:tw-px-squid-l", children: jsxRuntime.jsx(HeadingText, { size: "small", children: title }) })) : null] }));
|
|
17512
17530
|
}
|
|
17513
17531
|
|
|
17514
17532
|
const createStoreImpl = (createState) => {
|
|
@@ -24434,6 +24452,7 @@ function NumericInput({ priceImpactPercentage, balance = '0', error, criticalPri
|
|
|
24434
24452
|
}
|
|
24435
24453
|
};
|
|
24436
24454
|
const handleSwitchInputMode = () => {
|
|
24455
|
+
var _a;
|
|
24437
24456
|
if (inputValue !== '') {
|
|
24438
24457
|
const convertedAmount = inputMode === InputMode.TOKEN
|
|
24439
24458
|
? convertTokenAmountToUSD(inputValue, token.price, maxUsdDecimals)
|
|
@@ -24441,6 +24460,7 @@ function NumericInput({ priceImpactPercentage, balance = '0', error, criticalPri
|
|
|
24441
24460
|
setInputValue(convertedAmount);
|
|
24442
24461
|
}
|
|
24443
24462
|
setInputMode((prevMode) => prevMode === InputMode.TOKEN ? InputMode.USD : InputMode.TOKEN);
|
|
24463
|
+
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
24444
24464
|
};
|
|
24445
24465
|
const getRawAmounts = (amount) => {
|
|
24446
24466
|
if (amount === '')
|
|
@@ -24488,7 +24508,7 @@ function NumericInput({ priceImpactPercentage, balance = '0', error, criticalPri
|
|
|
24488
24508
|
const { isTokenAmountVerySmall, isUsdAmountVerySmall } = getRawAmounts(inputValue);
|
|
24489
24509
|
const amountFormatted = React.useMemo(() => {
|
|
24490
24510
|
var _a;
|
|
24491
|
-
if (inputValue === '')
|
|
24511
|
+
if (isNaN(Number(inputValue)) || inputValue === '')
|
|
24492
24512
|
return '0';
|
|
24493
24513
|
if (inputMode === InputMode.TOKEN) {
|
|
24494
24514
|
if (direction === 'from') {
|
|
@@ -24516,9 +24536,10 @@ function NumericInput({ priceImpactPercentage, balance = '0', error, criticalPri
|
|
|
24516
24536
|
const balanceFormatted = React.useMemo(() => {
|
|
24517
24537
|
return formatAmount(balance !== null && balance !== void 0 ? balance : '0');
|
|
24518
24538
|
}, [balance]);
|
|
24539
|
+
const inputRef = React.useRef(null);
|
|
24519
24540
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [isInteractive && !isLoading ? (jsxRuntime.jsxs("form", { className: "tw-relative tw-h-[80.6px] tw-px-squid-xs tw-pb-[15px] tw-pt-[5px] tw-text-heading-small tw-font-heading-regular mobile-lg:tw-h-[75px] mobile-lg:tw-px-squid-m", onSubmit: (e) => {
|
|
24520
24541
|
e.preventDefault();
|
|
24521
|
-
}, children: [inputMode === InputMode.USD && (jsxRuntime.jsx("span", { className: "tw-absolute tw-left-5 tw-top-[11px] tw-leading-[43px] tw-text-grey-600 mobile-lg:tw-left-[30px]", children: "$" })), jsxRuntime.jsx("input", { type: "text", value: inputValue, onChange: handleInputChange, placeholder: "0", className: cn('tw-h-[55px] tw-w-full tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-grey-300 placeholder:tw-text-grey-600 hover:tw-bg-material-light-thin focus:tw-bg-material-light-thin focus:tw-text-royal-400 focus:tw-outline-none', inputMode === InputMode.USD && 'tw-pl-[33px]') })] })) : (jsxRuntime.jsx("div", { className: cn('tw-w-full tw-px-squid-xs tw-pb-[15px] tw-pt-[5px] mobile-lg:tw-px-squid-m', isLoading && loadingClassName), children: jsxRuntime.jsx("div", { className: "tw-flex tw-h-[55px] tw-w-full tw-items-center tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-heading-small tw-font-heading-regular tw-text-grey-300", children: jsxRuntime.jsx("span", { children: inputValue || 0 }) }) })), !showDetails ? null : (jsxRuntime.jsxs("footer", { className: cn('tw-flex tw-h-squid-m tw-max-h-squid-m tw-items-center tw-justify-between tw-gap-2 tw-px-squid-xs tw-text-grey-500 mobile-lg:tw-px-squid-m', isLoading && loadingClassName), children: [error ? (jsxRuntime.jsx("div", { className: "tw-px-squid-xs", children: jsxRuntime.jsx(ErrorMessage, { message: error.message }) })) : (jsxRuntime.jsx(Tooltip, Object.assign({}, (isLoading
|
|
24542
|
+
}, children: [inputMode === InputMode.USD && (jsxRuntime.jsx("span", { className: "tw-absolute tw-left-5 tw-top-[11px] tw-leading-[43px] tw-text-grey-600 mobile-lg:tw-left-[30px]", children: "$" })), jsxRuntime.jsx("input", { ref: inputRef, type: "text", value: inputValue, onChange: handleInputChange, placeholder: "0", className: cn('tw-h-[55px] tw-w-full tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-grey-300 placeholder:tw-text-grey-600 hover:tw-bg-material-light-thin focus:tw-bg-material-light-thin focus:tw-text-royal-400 focus:tw-outline-none', inputMode === InputMode.USD && 'tw-pl-[33px]') })] })) : (jsxRuntime.jsx("div", { className: cn('tw-w-full tw-px-squid-xs tw-pb-[15px] tw-pt-[5px] mobile-lg:tw-px-squid-m', isLoading && loadingClassName), children: jsxRuntime.jsx("div", { className: "tw-flex tw-h-[55px] tw-w-full tw-items-center tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-heading-small tw-font-heading-regular tw-text-grey-300", children: jsxRuntime.jsx("span", { children: inputValue || 0 }) }) })), !showDetails ? null : (jsxRuntime.jsxs("footer", { className: cn('tw-flex tw-h-squid-m tw-max-h-squid-m tw-items-center tw-justify-between tw-gap-2 tw-px-squid-xs tw-text-grey-500 mobile-lg:tw-px-squid-m', isLoading && loadingClassName), children: [error ? (jsxRuntime.jsx("div", { className: "tw-px-squid-xs", children: jsxRuntime.jsx(ErrorMessage, { message: error.message }) })) : (jsxRuntime.jsx(Tooltip, Object.assign({}, (isLoading
|
|
24522
24543
|
? undefined
|
|
24523
24544
|
: inputMode === InputMode.TOKEN
|
|
24524
24545
|
? inputModeButton === null || inputModeButton === void 0 ? void 0 : inputModeButton.tokenModeTooltip
|
|
@@ -24647,7 +24668,7 @@ function CirclePlusIcon({ size = '24', className, }) {
|
|
|
24647
24668
|
return (jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsxRuntime.jsx("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM16 12.9999C16.5523 12.9999 17 12.5522 17 11.9999C17 11.4476 16.5523 10.9999 16 10.9999L13 11V8.00012C13 7.44784 12.5523 7.00012 12 7.00012C11.4477 7.00012 11 7.44784 11 8.00012V11L7.99997 11.0001C7.44769 11.0001 6.99998 11.4479 7 12.0001C7.00002 12.5524 7.44774 13.0001 8.00003 13.0001L11 13V16C11 16.5523 11.4477 17 12 17C12.5523 17 13 16.5523 13 16V13L16 12.9999Z", fill: "currentColor" }) }));
|
|
24648
24669
|
}
|
|
24649
24670
|
|
|
24650
|
-
function RangeInput({ label, initialValue, onChange, min = 0, max = 99, }) {
|
|
24671
|
+
function RangeInput({ label, initialValue, onChange, min = 0, max = 99, isWarning = false, }) {
|
|
24651
24672
|
const [pressedButton, setPressedButton] = React.useState(null);
|
|
24652
24673
|
const inputRef = React.useRef(null);
|
|
24653
24674
|
const mousePressedTimeoutRef = React.useRef(null);
|
|
@@ -24730,7 +24751,7 @@ function RangeInput({ label, initialValue, onChange, min = 0, max = 99, }) {
|
|
|
24730
24751
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
24731
24752
|
handleUpdateValue();
|
|
24732
24753
|
}
|
|
24733
|
-
}, onMouseLeave: handleUpdateValue, className: cn('tw-flex tw-h-full tw-items-center tw-justify-center tw-self-stretch tw-rounded-squid-xs tw-p-squid-xxs tw-text-left tw-text-caption !tw-font-medium tw-leading-[10px] placeholder-shown:tw-text-grey-600 hover:tw-bg-material-light-thin'), children: jsxRuntime.jsx(CircleMinusIcon, {}) }), jsxRuntime.jsxs("div", { className: "tw-relative", children: [jsxRuntime.jsx(Input, { step: 0.1, min: min, max: max, defaultValue: initialValue || '0', placeholder: "0", showIcon: false, type: "number", inputRef: inputRef, onChange: (event) => {
|
|
24754
|
+
}, onMouseLeave: handleUpdateValue, className: cn('tw-flex tw-h-full tw-items-center tw-justify-center tw-self-stretch tw-rounded-squid-xs tw-p-squid-xxs tw-text-left tw-text-caption !tw-font-medium tw-leading-[10px] placeholder-shown:tw-text-grey-600 hover:tw-bg-material-light-thin'), children: jsxRuntime.jsx(CircleMinusIcon, {}) }), jsxRuntime.jsxs("div", { className: "tw-relative", children: [jsxRuntime.jsx(Input, { step: 0.1, min: min, max: max, isWarning: isWarning, defaultValue: initialValue || '0', placeholder: "0", showIcon: false, type: "number", inputRef: inputRef, onChange: (event) => {
|
|
24734
24755
|
var _a;
|
|
24735
24756
|
if (!inputDecoratorRef.current || !inputRef.current)
|
|
24736
24757
|
return;
|
|
@@ -4,7 +4,12 @@ interface BadgeImageProps {
|
|
|
4
4
|
size?: BadgeSize;
|
|
5
5
|
extraMarginForBadge?: boolean;
|
|
6
6
|
rounded?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* The URL of the placeholder image. Will be displayed while the images are loading
|
|
9
|
+
* or if there's an error loading them.
|
|
10
|
+
*/
|
|
11
|
+
placeholderImageUrl?: string;
|
|
7
12
|
}
|
|
8
13
|
type BadgeSize = 'sm' | 'md';
|
|
9
|
-
export declare function BadgeImage({ imageUrl, badgeUrl, size, extraMarginForBadge, rounded, }: BadgeImageProps): import("react/jsx-runtime").JSX.Element | null;
|
|
14
|
+
export declare function BadgeImage({ imageUrl: _imageUrl, badgeUrl, size, extraMarginForBadge, rounded, placeholderImageUrl, }: BadgeImageProps): import("react/jsx-runtime").JSX.Element | null;
|
|
10
15
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ButtonSize, ButtonVariant } from '../../types/components';
|
|
3
|
+
import { ChipProps } from './Chip';
|
|
3
4
|
interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
4
5
|
label?: string;
|
|
5
6
|
icon?: React.ReactNode;
|
|
@@ -8,6 +9,7 @@ interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
8
9
|
disabled?: boolean;
|
|
9
10
|
link?: string;
|
|
10
11
|
isLoading?: boolean;
|
|
12
|
+
chip?: ChipProps;
|
|
11
13
|
}
|
|
12
|
-
export declare function Button({ label, disabled, size, variant, icon, link, isLoading, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function Button({ label, disabled, size, variant, icon, link, isLoading, chip, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
13
15
|
export {};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
+
export interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
3
|
label?: string;
|
|
4
4
|
icon?: React.ReactNode;
|
|
5
5
|
}
|
|
6
6
|
export declare function Chip({ label, icon, ...props }: ChipProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export {};
|
|
@@ -5,12 +5,13 @@ interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
|
5
5
|
showIcon?: boolean;
|
|
6
6
|
icon?: React.ReactNode;
|
|
7
7
|
isError?: boolean;
|
|
8
|
+
isWarning?: boolean;
|
|
8
9
|
containerClassName?: string;
|
|
9
10
|
actionButtonProps?: InputActionButtonProps;
|
|
10
11
|
autoFocusTimeout?: number;
|
|
11
12
|
inputRef?: React.RefObject<HTMLInputElement>;
|
|
12
13
|
}
|
|
13
|
-
export declare function Input({ placeholder, showIcon, className, icon, isError, containerClassName, actionButtonProps, autoFocusTimeout, inputRef: inputRefProp, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function Input({ placeholder, showIcon, className, icon, isError, isWarning, containerClassName, actionButtonProps, autoFocusTimeout, inputRef: inputRefProp, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
14
15
|
type InputActionButtonProps = {
|
|
15
16
|
onClick?: () => void;
|
|
16
17
|
variant?: ButtonVariant;
|
|
@@ -4,6 +4,7 @@ interface RangeInputProps {
|
|
|
4
4
|
onChange?: (value: string) => void;
|
|
5
5
|
min?: number;
|
|
6
6
|
max?: number;
|
|
7
|
+
isWarning?: boolean;
|
|
7
8
|
}
|
|
8
|
-
export declare function RangeInput({ label, initialValue, onChange, min, max, }: RangeInputProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function RangeInput({ label, initialValue, onChange, min, max, isWarning, }: RangeInputProps): import("react/jsx-runtime").JSX.Element;
|
|
9
10
|
export {};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { ChipProps } from '../buttons';
|
|
2
3
|
import { TooltipProps } from '../controls';
|
|
3
|
-
type ActionButton = {
|
|
4
|
+
export type ActionButton = {
|
|
4
5
|
labelOrIcon: string | React.ReactNode;
|
|
5
6
|
onClick?: () => void;
|
|
6
7
|
id: React.Key;
|
|
7
8
|
tooltip?: Omit<TooltipProps, 'children'>;
|
|
9
|
+
chip?: ChipProps;
|
|
8
10
|
};
|
|
9
11
|
interface NavigationBarProps {
|
|
10
12
|
title?: string;
|
|
@@ -3,6 +3,7 @@ interface ListItemProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
3
3
|
itemTitle: string | React.ReactNode;
|
|
4
4
|
mainImageUrl?: string;
|
|
5
5
|
secondaryImageUrl?: string;
|
|
6
|
+
placeholderImageUrl?: string;
|
|
6
7
|
subtitle?: string;
|
|
7
8
|
subtitleOnHover?: React.ReactNode;
|
|
8
9
|
detail?: string;
|
|
@@ -22,5 +23,5 @@ interface ListItemProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
22
23
|
compactOnMobile?: boolean;
|
|
23
24
|
}
|
|
24
25
|
type ListItemSize = 'small' | 'large';
|
|
25
|
-
export declare function ListItem({ itemTitle, mainImageUrl, subtitle, subtitleOnHover, detail, icon, secondaryImageUrl, size, mainIcon, className, isSelected, onDetailClick, showDetailOnHoverOnly, rounded, detailButtonClassName, loading, containerProps, compactOnMobile, ...props }: ListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare function ListItem({ itemTitle, mainImageUrl, subtitle, subtitleOnHover, detail, icon, secondaryImageUrl, placeholderImageUrl, size, mainIcon, className, isSelected, onDetailClick, showDetailOnHoverOnly, rounded, detailButtonClassName, loading, containerProps, compactOnMobile, ...props }: ListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
26
27
|
export {};
|
|
@@ -9,3 +9,7 @@ export declare const ExtraMarginForBadge: Story;
|
|
|
9
9
|
export declare const Rounded: Story;
|
|
10
10
|
export declare const SizeMedium: Story;
|
|
11
11
|
export declare const SizeSmall: Story;
|
|
12
|
+
export declare const CustomPlaceholderForBrokenImage: Story;
|
|
13
|
+
export declare const CustomPlaceholderForLoadingImage: Story;
|
|
14
|
+
export declare const CustomPlaceholderForBrokenBadgeImage: Story;
|
|
15
|
+
export declare const CustomPlaceholderForLoadingBadgeImage: Story;
|
|
@@ -28,3 +28,5 @@ export declare const MediumWithLabelLoading: Story;
|
|
|
28
28
|
export declare const MediumWithLongLabelLoading: Story;
|
|
29
29
|
export declare const LargeWithLabelLoading: Story;
|
|
30
30
|
export declare const LargeWithLongLabelLoading: Story;
|
|
31
|
+
export declare const MediumWithChip: Story;
|
|
32
|
+
export declare const LargeWithChip: Story;
|
package/dist/esm/index.js
CHANGED
|
@@ -2617,24 +2617,41 @@ const mainImageSizeClassMap = {
|
|
|
2617
2617
|
md: 'tw-w-10 tw-h-10',
|
|
2618
2618
|
};
|
|
2619
2619
|
const loadingSkeletonClassName = 'tw-bg-grey-500';
|
|
2620
|
-
|
|
2620
|
+
var ImageState;
|
|
2621
|
+
(function (ImageState) {
|
|
2622
|
+
ImageState[ImageState["LOADING"] = 0] = "LOADING";
|
|
2623
|
+
ImageState[ImageState["LOADED"] = 1] = "LOADED";
|
|
2624
|
+
ImageState[ImageState["ERROR"] = 2] = "ERROR";
|
|
2625
|
+
})(ImageState || (ImageState = {}));
|
|
2626
|
+
function BadgeImage({ imageUrl: _imageUrl, badgeUrl, size = 'sm', extraMarginForBadge, rounded = false, placeholderImageUrl, }) {
|
|
2627
|
+
const imageUrl = (_imageUrl === null || _imageUrl === void 0 ? void 0 : _imageUrl.trim()) || placeholderImageUrl;
|
|
2621
2628
|
const [imagesLoadState, setImageLoadState] = useState({
|
|
2622
|
-
|
|
2623
|
-
|
|
2629
|
+
badge: ImageState.LOADING,
|
|
2630
|
+
mainImage: ImageState.LOADING,
|
|
2624
2631
|
});
|
|
2625
2632
|
const badgeImageClassName = cn('tw-absolute -tw-right-1/3 tw-bottom-0 tw-z-10 tw-m-0 -tw-translate-x-1/3 tw-rounded-md tw-border-[1px] tw-border-grey-800', badgeSizeClassMap[size]);
|
|
2626
2633
|
const mainImageClassName = cn('tw-h-full tw-w-full tw-absolute', rounded ? ' tw-rounded-full' : 'tw-rounded-squid-xs');
|
|
2627
|
-
return imageUrl ? (jsxs("div", { className: cn('tw-relative', extraMarginForBadge && badgeUrl ? 'tw-mr-1.5' : null, mainImageSizeClassMap[size]), children: [
|
|
2634
|
+
return imageUrl ? (jsxs("div", { className: cn('tw-relative', extraMarginForBadge && badgeUrl ? 'tw-mr-1.5' : null, mainImageSizeClassMap[size]), children: [imagesLoadState.mainImage !== ImageState.LOADED &&
|
|
2635
|
+
(placeholderImageUrl ? (jsx("img", { src: placeholderImageUrl, alt: "", className: mainImageClassName })) : (jsx("div", { className: cn(mainImageClassName, loadingSkeletonClassName) }))), jsx("img", { src: imageUrl, alt: "", onError: () => {
|
|
2636
|
+
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), { mainImage: ImageState.ERROR })));
|
|
2637
|
+
}, onLoad: () => {
|
|
2628
2638
|
// update state when image is fully loaded
|
|
2629
|
-
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), {
|
|
2639
|
+
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), { mainImage: ImageState.LOADED })));
|
|
2630
2640
|
}, className: cn(mainImageClassName,
|
|
2631
2641
|
// hide main image while it is loading, and display it when it is loaded
|
|
2632
|
-
imagesLoadState.
|
|
2642
|
+
imagesLoadState.mainImage === ImageState.LOADED
|
|
2643
|
+
? 'tw-block'
|
|
2644
|
+
: 'tw-hidden') }), badgeUrl ? (jsxs(Fragment, { children: [imagesLoadState.badge !== ImageState.LOADED &&
|
|
2645
|
+
(placeholderImageUrl ? (jsx("img", { src: placeholderImageUrl, alt: "", className: badgeImageClassName })) : (jsx("div", { className: cn(badgeImageClassName, loadingSkeletonClassName) }))), jsx("img", { src: badgeUrl, alt: "", onError: () => {
|
|
2646
|
+
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), { badge: ImageState.ERROR })));
|
|
2647
|
+
}, onLoad: () => {
|
|
2633
2648
|
// update state when badge image is fully loaded
|
|
2634
|
-
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), {
|
|
2649
|
+
setImageLoadState((prevState) => (Object.assign(Object.assign({}, prevState), { badge: ImageState.LOADED })));
|
|
2635
2650
|
}, className: cn(badgeImageClassName,
|
|
2636
2651
|
// hide badge image while it is loading, and display it when it is loaded
|
|
2637
|
-
imagesLoadState.
|
|
2652
|
+
imagesLoadState.badge === ImageState.LOADED
|
|
2653
|
+
? 'tw-block'
|
|
2654
|
+
: 'tw-hidden') })] })) : null] })) : null;
|
|
2638
2655
|
}
|
|
2639
2656
|
|
|
2640
2657
|
/******************************************************************************
|
|
@@ -2941,6 +2958,11 @@ function WalletLink({ imageURI, address }) {
|
|
|
2941
2958
|
return (jsx(IconLabel, { src: imageURI, variant: "round", children: jsx(HashLink, { hash: address, showCopyButton: true, children: jsx(BodyText, { size: "small", children: truncateHash(address) }) }) }));
|
|
2942
2959
|
}
|
|
2943
2960
|
|
|
2961
|
+
function Chip(_a) {
|
|
2962
|
+
var { label, icon } = _a, props = __rest$1(_a, ["label", "icon"]);
|
|
2963
|
+
return (jsx("div", Object.assign({}, props, { className: cn('tw-flex tw-h-squid-m tw-items-center tw-justify-center tw-rounded-squid-m tw-bg-grey-500 tw-text-grey-900', icon && 'tw-w-squid-m', props.className), children: label ? (jsx(CaptionText, { className: "tw-min-w-squid-xl tw-text-nowrap tw-px-squid-xxs tw-text-center", children: label })) : (icon) })));
|
|
2964
|
+
}
|
|
2965
|
+
|
|
2944
2966
|
const baseButtonClassName = 'tw-border tw-relative tw-overflow-hidden tw-group/base-button tw-flex tw-items-center tw-justify-center';
|
|
2945
2967
|
const buttonSizeClassMap = {
|
|
2946
2968
|
md: 'tw-px-squid-xs tw-py-squid-xxs tw-min-w-[60px] tw-h-squid-xl',
|
|
@@ -2960,7 +2982,8 @@ const buttonVariantClassMap = {
|
|
|
2960
2982
|
const buttonDisabledClass = '!tw-bg-grey-800 !tw-text-grey-600 tw-cursor-not-allowed';
|
|
2961
2983
|
const loadingClassname = 'tw-invisible tw-opacity-0';
|
|
2962
2984
|
function Button$1(_a) {
|
|
2963
|
-
var { label, disabled, size, variant, icon, link, isLoading = false } = _a, props = __rest$1(_a, ["label", "disabled", "size", "variant", "icon", "link", "isLoading"]);
|
|
2985
|
+
var { label, disabled, size, variant, icon, link, isLoading = false, chip } = _a, props = __rest$1(_a, ["label", "disabled", "size", "variant", "icon", "link", "isLoading", "chip"]);
|
|
2986
|
+
const chipElement = chip ? (jsx(Chip, Object.assign({}, chip, { className: cn('tw-absolute -tw-right-squid-xxs -tw-top-squid-xxs tw-z-10', chip.className) }))) : null;
|
|
2964
2987
|
const children = (jsxs(Fragment, { children: [!disabled && !isLoading && (jsx(ButtonHoverOverlay, { className: roundedClassMap[size] })), jsx("div", { className: "tw-relative tw-z-[5] tw-flex tw-items-center tw-justify-center tw-gap-squid-xxs", children: !label && !icon ? (props.children) : size === 'lg' ? (jsx("span", { className: "tw-px-squid-m", children: jsx(BodyText, { className: isLoading ? loadingClassname : '', size: "medium", children: label }) })) : size === 'md' ? (label && !icon ? (
|
|
2965
2988
|
// label only
|
|
2966
2989
|
jsx(BodyText, { className: isLoading ? loadingClassname : '', size: "small", children: label })) : !label && icon ? (
|
|
@@ -2974,9 +2997,9 @@ function Button$1(_a) {
|
|
|
2974
2997
|
// custom classes from props
|
|
2975
2998
|
props.className);
|
|
2976
2999
|
if (link) {
|
|
2977
|
-
return (jsx("a", { "aria-disabled": disabled, href: disabled ? undefined : link, target: "_blank", className: className, children: children }));
|
|
3000
|
+
return (jsxs("div", { className: "tw-relative tw-w-full", children: [jsx("a", { "aria-disabled": disabled, href: disabled ? undefined : link, target: "_blank", className: className, children: children }), chipElement] }));
|
|
2978
3001
|
}
|
|
2979
|
-
return (jsx("button", Object.assign({}, props, { "aria-disabled": disabled || isLoading, className: className, disabled: disabled || isLoading, children: children })));
|
|
3002
|
+
return (jsxs("div", { className: "tw-relative tw-w-full", children: [jsx("button", Object.assign({}, props, { "aria-disabled": disabled || isLoading, className: className, disabled: disabled || isLoading, children: children })), chipElement] }));
|
|
2980
3003
|
}
|
|
2981
3004
|
const ButtonHoverOverlay = ({ className }) => {
|
|
2982
3005
|
return (jsx("span", { className: cn('tw-absolute tw-inset-0 tw-z-0 tw-hidden tw-h-full tw-w-full tw-bg-material-light-thin group-hover/base-button:tw-block', className) }));
|
|
@@ -3072,7 +3095,7 @@ function SearchIcon() {
|
|
|
3072
3095
|
}
|
|
3073
3096
|
|
|
3074
3097
|
function Input(_a) {
|
|
3075
|
-
var { placeholder = 'Search', showIcon = true, className, icon, isError = false, containerClassName, actionButtonProps, autoFocusTimeout, inputRef: inputRefProp } = _a, props = __rest$1(_a, ["placeholder", "showIcon", "className", "icon", "isError", "containerClassName", "actionButtonProps", "autoFocusTimeout", "inputRef"]);
|
|
3098
|
+
var { placeholder = 'Search', showIcon = true, className, icon, isError = false, isWarning = false, containerClassName, actionButtonProps, autoFocusTimeout, inputRef: inputRefProp } = _a, props = __rest$1(_a, ["placeholder", "showIcon", "className", "icon", "isError", "isWarning", "containerClassName", "actionButtonProps", "autoFocusTimeout", "inputRef"]);
|
|
3076
3099
|
const showActionButton = !!actionButtonProps;
|
|
3077
3100
|
const localInputRef = useRef(null);
|
|
3078
3101
|
const inputRef = inputRefProp !== null && inputRefProp !== void 0 ? inputRefProp : localInputRef;
|
|
@@ -3085,7 +3108,7 @@ function Input(_a) {
|
|
|
3085
3108
|
}, autoFocusTimeout);
|
|
3086
3109
|
return () => clearTimeout(timeoutId);
|
|
3087
3110
|
}, [autoFocusTimeout]);
|
|
3088
|
-
return (jsxs("div", { className: cn('tw-relative tw-w-full tw-text-grey-600', containerClassName), children: [jsx("input", Object.assign({}, props, { ref: inputRef, "aria-invalid": isError, className: cn('tw-relative tw-h-10 tw-w-full tw-rounded-full tw-border tw-border-material-light-thin tw-bg-grey-900 tw-text-body-small tw-font-typography-regular tw-text-grey-300 placeholder:tw-text-grey-600 invalid:tw-outline-status-negative', showIcon ? 'tw-pl-[40px]' : 'tw-px-squid-s', showActionButton ? 'tw-pr-[70px]' : 'tw-pr-2.5', isError && '!tw-outline-status-negative', className), placeholder: placeholder })), showIcon ? (jsx("div", { className: "tw-absolute tw-inset-y-0 tw-left-0 tw-flex tw-h-full tw-w-[44px] tw-items-center tw-justify-center tw-px-squid-xs", children: icon || jsx(SearchIcon, {}) })) : null, showActionButton ? (jsx("div", { className: "tw-absolute tw-inset-y-0 tw-right-1.5 tw-flex tw-items-center tw-justify-center", children: jsx(InputActionButton, Object.assign({}, actionButtonProps)) })) : null] }));
|
|
3111
|
+
return (jsxs("div", { className: cn('tw-relative tw-w-full tw-text-grey-600', containerClassName), children: [jsx("input", Object.assign({}, props, { ref: inputRef, "aria-invalid": isError, className: cn('tw-relative tw-h-10 tw-w-full tw-rounded-full tw-border tw-border-material-light-thin tw-bg-grey-900 tw-text-body-small tw-font-typography-regular tw-text-grey-300 placeholder:tw-text-grey-600 invalid:tw-outline-status-negative', showIcon ? 'tw-pl-[40px]' : 'tw-px-squid-s', showActionButton ? 'tw-pr-[70px]' : 'tw-pr-2.5', isError && '!tw-outline-status-negative', className, isWarning && 'focus-visible:tw-outline-status-partial'), placeholder: placeholder })), showIcon ? (jsx("div", { className: "tw-absolute tw-inset-y-0 tw-left-0 tw-flex tw-h-full tw-w-[44px] tw-items-center tw-justify-center tw-px-squid-xs", children: icon || jsx(SearchIcon, {}) })) : null, showActionButton ? (jsx("div", { className: "tw-absolute tw-inset-y-0 tw-right-1.5 tw-flex tw-items-center tw-justify-center", children: jsx(InputActionButton, Object.assign({}, actionButtonProps)) })) : null] }));
|
|
3089
3112
|
}
|
|
3090
3113
|
const InputActionButton = ({ onClick, variant = 'tertiary', label = 'Paste', }) => {
|
|
3091
3114
|
return (jsx(Button$1, { size: "md", variant: variant, onClick: onClick, className: "!tw-h-[30px] !tw-w-fit !tw-min-w-0", children: jsx(CaptionText, { children: label }) }));
|
|
@@ -16689,11 +16712,6 @@ function generateMarkerLines(count) {
|
|
|
16689
16712
|
return allShadows.join(', ');
|
|
16690
16713
|
}
|
|
16691
16714
|
|
|
16692
|
-
function Chip(_a) {
|
|
16693
|
-
var { label, icon } = _a, props = __rest$1(_a, ["label", "icon"]);
|
|
16694
|
-
return (jsx("div", Object.assign({}, props, { className: cn('tw-flex tw-h-squid-m tw-items-center tw-justify-center tw-rounded-squid-m tw-bg-grey-500 tw-text-grey-900', icon && 'tw-w-squid-m', props.className), children: label ? (jsx(CaptionText, { className: "tw-min-w-squid-xl tw-text-nowrap tw-px-squid-xxs tw-text-center", children: label })) : (icon) })));
|
|
16695
|
-
}
|
|
16696
|
-
|
|
16697
16715
|
function Boost({ boostMode, onToggleBoostMode, estimatedTime, canToggleBoostMode = true, tooltip, }) {
|
|
16698
16716
|
const boostIndicatorRef = useRef(null);
|
|
16699
16717
|
function handleToggleBoostMode() {
|
|
@@ -17061,7 +17079,7 @@ const collapsedListItemClassMap = {
|
|
|
17061
17079
|
large: 'tw-w-[80px]',
|
|
17062
17080
|
};
|
|
17063
17081
|
function ListItem(_a) {
|
|
17064
|
-
var { itemTitle, mainImageUrl, subtitle, subtitleOnHover, detail, icon, secondaryImageUrl, size = 'large', mainIcon, className, isSelected, onDetailClick, showDetailOnHoverOnly, rounded = false, detailButtonClassName, loading, containerProps, compactOnMobile } = _a, props = __rest$1(_a, ["itemTitle", "mainImageUrl", "subtitle", "subtitleOnHover", "detail", "icon", "secondaryImageUrl", "size", "mainIcon", "className", "isSelected", "onDetailClick", "showDetailOnHoverOnly", "rounded", "detailButtonClassName", "loading", "containerProps", "compactOnMobile"]);
|
|
17082
|
+
var { itemTitle, mainImageUrl, subtitle, subtitleOnHover, detail, icon, secondaryImageUrl, placeholderImageUrl, size = 'large', mainIcon, className, isSelected, onDetailClick, showDetailOnHoverOnly, rounded = false, detailButtonClassName, loading, containerProps, compactOnMobile } = _a, props = __rest$1(_a, ["itemTitle", "mainImageUrl", "subtitle", "subtitleOnHover", "detail", "icon", "secondaryImageUrl", "placeholderImageUrl", "size", "mainIcon", "className", "isSelected", "onDetailClick", "showDetailOnHoverOnly", "rounded", "detailButtonClassName", "loading", "containerProps", "compactOnMobile"]);
|
|
17065
17083
|
const subtitleClassName = cn('tw-h-[14px] tw-max-w-full tw-truncate !tw-leading-[16px] tw-text-grey-500', compactOnMobile ? 'tw-hidden mobile-lg:tw-block' : 'tw-block');
|
|
17066
17084
|
// 'small' variant does not have detail
|
|
17067
17085
|
const showDetail = size === 'large' && (!!detail || !!icon || showDetailOnHoverOnly);
|
|
@@ -17094,7 +17112,7 @@ function ListItem(_a) {
|
|
|
17094
17112
|
const itemProps = isInteractive ? props : {};
|
|
17095
17113
|
return (jsx("li", Object.assign({}, containerProps, { className: cn('tw-flex tw-max-w-full tw-bg-grey-900 tw-text-grey-300', listItemSizeMap[size], compactOnMobile
|
|
17096
17114
|
? `${collapsedListItemClassMap[size]} mobile-lg:tw-w-full`
|
|
17097
|
-
: 'tw-w-full', className), children: jsxs(ItemTag, Object.assign({}, itemProps, { className: cn('tw-group/list-item tw-flex tw-w-full tw-max-w-full tw-items-center tw-justify-start tw-gap-squid-xs tw-rounded-squid-s tw-px-squid-xs tw-py-squid-xxs', isSelected && 'tw-bg-material-light-thin', isInteractive && 'hover:tw-bg-material-light-thin'), children: [size === 'large' ? (jsx("div", { className: "tw-h-10 tw-w-10", children: mainIcon ? (mainIcon) : (jsx(BadgeImage, { extraMarginForBadge: false, imageUrl: mainImageUrl, badgeUrl: secondaryImageUrl, size: "md", rounded: rounded })) })) : (jsx("div", { className: "tw-flex tw-min-h-[30px] tw-min-w-[30px] tw-items-center tw-justify-center", children: mainIcon ? (mainIcon) : (jsx("img", { src: mainImageUrl, className: "tw-h-[30px] tw-w-[30px] tw-rounded-squid-xs" })) })), jsxs("div", { className: cn('tw-flex tw-h-[40px] tw-flex-1 tw-flex-col tw-items-start tw-justify-center tw-gap-squid-xxs',
|
|
17115
|
+
: 'tw-w-full', className), children: jsxs(ItemTag, Object.assign({}, itemProps, { className: cn('tw-group/list-item tw-flex tw-w-full tw-max-w-full tw-items-center tw-justify-start tw-gap-squid-xs tw-rounded-squid-s tw-px-squid-xs tw-py-squid-xxs', isSelected && 'tw-bg-material-light-thin', isInteractive && 'hover:tw-bg-material-light-thin'), children: [size === 'large' ? (jsx("div", { className: "tw-h-10 tw-w-10", children: mainIcon ? (mainIcon) : (jsx(BadgeImage, { extraMarginForBadge: false, imageUrl: mainImageUrl, badgeUrl: secondaryImageUrl, placeholderImageUrl: placeholderImageUrl, size: "md", rounded: rounded })) })) : (jsx("div", { className: "tw-flex tw-min-h-[30px] tw-min-w-[30px] tw-items-center tw-justify-center", children: mainIcon ? (mainIcon) : (jsx("img", { src: mainImageUrl, className: "tw-h-[30px] tw-w-[30px] tw-rounded-squid-xs" })) })), jsxs("div", { className: cn('tw-flex tw-h-[40px] tw-flex-1 tw-flex-col tw-items-start tw-justify-center tw-gap-squid-xxs',
|
|
17098
17116
|
// 'large' variant has extra padding
|
|
17099
17117
|
size === 'large' ? 'tw-w-[56%] tw-pl-squid-xxs' : 'tw-w-[67%]'), children: [typeof itemTitle === 'string' ? (jsx(BodyText, { size: "small", className: cn('tw-max-w-full tw-truncate', subtitle && 'tw-h-[17px] !tw-leading-[17px]', compactOnMobile ? 'tw-hidden mobile-lg:tw-block' : 'tw-block'), children: itemTitle })) : (itemTitle), size === 'large' &&
|
|
17100
17118
|
((loading === null || loading === void 0 ? void 0 : loading.subtitle) ? (loadingComponent()) : subtitle ? (jsxs(CaptionText, { className: subtitleClassName, children: [subtitleOnHover && (jsx(CaptionText, { className: cn(subtitleClassName, 'tw-hidden group-hover/list-item:tw-block'), children: subtitleOnHover })), subtitle] })) : null)] }), showDetail && (jsxs(DetailTag, Object.assign({}, detailProps, { className: cn('tw-flex tw-w-fit tw-items-center tw-justify-center tw-rounded-squid-xs', size === 'large' ? 'tw-h-squid-xl' : 'tw-h-squid-l', showDetailOnHoverOnly
|
|
@@ -17488,7 +17506,7 @@ function NavigationBar({ title, displayBackButton = false, logoUrl, transparent
|
|
|
17488
17506
|
? action.labelOrIcon
|
|
17489
17507
|
: undefined, className: "tw-text-grey-300", icon: typeof action.labelOrIcon === 'string'
|
|
17490
17508
|
? null
|
|
17491
|
-
: action.labelOrIcon, onClick: action.onClick }) }), action.id))) })] }), title ? (jsx("div", { className: "tw-flex tw-h-squid-xxl tw-items-center tw-px-squid-m tw-py-squid-xxs mobile-lg:tw-px-squid-l", children: jsx(HeadingText, { size: "small", children: title }) })) : null] }));
|
|
17509
|
+
: action.labelOrIcon, onClick: action.onClick, chip: action.chip }) }), action.id))) })] }), title ? (jsx("div", { className: "tw-flex tw-h-squid-xxl tw-items-center tw-px-squid-m tw-py-squid-xxs mobile-lg:tw-px-squid-l", children: jsx(HeadingText, { size: "small", children: title }) })) : null] }));
|
|
17492
17510
|
}
|
|
17493
17511
|
|
|
17494
17512
|
const createStoreImpl = (createState) => {
|
|
@@ -24414,6 +24432,7 @@ function NumericInput({ priceImpactPercentage, balance = '0', error, criticalPri
|
|
|
24414
24432
|
}
|
|
24415
24433
|
};
|
|
24416
24434
|
const handleSwitchInputMode = () => {
|
|
24435
|
+
var _a;
|
|
24417
24436
|
if (inputValue !== '') {
|
|
24418
24437
|
const convertedAmount = inputMode === InputMode.TOKEN
|
|
24419
24438
|
? convertTokenAmountToUSD(inputValue, token.price, maxUsdDecimals)
|
|
@@ -24421,6 +24440,7 @@ function NumericInput({ priceImpactPercentage, balance = '0', error, criticalPri
|
|
|
24421
24440
|
setInputValue(convertedAmount);
|
|
24422
24441
|
}
|
|
24423
24442
|
setInputMode((prevMode) => prevMode === InputMode.TOKEN ? InputMode.USD : InputMode.TOKEN);
|
|
24443
|
+
(_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
24424
24444
|
};
|
|
24425
24445
|
const getRawAmounts = (amount) => {
|
|
24426
24446
|
if (amount === '')
|
|
@@ -24468,7 +24488,7 @@ function NumericInput({ priceImpactPercentage, balance = '0', error, criticalPri
|
|
|
24468
24488
|
const { isTokenAmountVerySmall, isUsdAmountVerySmall } = getRawAmounts(inputValue);
|
|
24469
24489
|
const amountFormatted = useMemo(() => {
|
|
24470
24490
|
var _a;
|
|
24471
|
-
if (inputValue === '')
|
|
24491
|
+
if (isNaN(Number(inputValue)) || inputValue === '')
|
|
24472
24492
|
return '0';
|
|
24473
24493
|
if (inputMode === InputMode.TOKEN) {
|
|
24474
24494
|
if (direction === 'from') {
|
|
@@ -24496,9 +24516,10 @@ function NumericInput({ priceImpactPercentage, balance = '0', error, criticalPri
|
|
|
24496
24516
|
const balanceFormatted = useMemo(() => {
|
|
24497
24517
|
return formatAmount(balance !== null && balance !== void 0 ? balance : '0');
|
|
24498
24518
|
}, [balance]);
|
|
24519
|
+
const inputRef = useRef(null);
|
|
24499
24520
|
return (jsxs(Fragment, { children: [isInteractive && !isLoading ? (jsxs("form", { className: "tw-relative tw-h-[80.6px] tw-px-squid-xs tw-pb-[15px] tw-pt-[5px] tw-text-heading-small tw-font-heading-regular mobile-lg:tw-h-[75px] mobile-lg:tw-px-squid-m", onSubmit: (e) => {
|
|
24500
24521
|
e.preventDefault();
|
|
24501
|
-
}, children: [inputMode === InputMode.USD && (jsx("span", { className: "tw-absolute tw-left-5 tw-top-[11px] tw-leading-[43px] tw-text-grey-600 mobile-lg:tw-left-[30px]", children: "$" })), jsx("input", { type: "text", value: inputValue, onChange: handleInputChange, placeholder: "0", className: cn('tw-h-[55px] tw-w-full tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-grey-300 placeholder:tw-text-grey-600 hover:tw-bg-material-light-thin focus:tw-bg-material-light-thin focus:tw-text-royal-400 focus:tw-outline-none', inputMode === InputMode.USD && 'tw-pl-[33px]') })] })) : (jsx("div", { className: cn('tw-w-full tw-px-squid-xs tw-pb-[15px] tw-pt-[5px] mobile-lg:tw-px-squid-m', isLoading && loadingClassName), children: jsx("div", { className: "tw-flex tw-h-[55px] tw-w-full tw-items-center tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-heading-small tw-font-heading-regular tw-text-grey-300", children: jsx("span", { children: inputValue || 0 }) }) })), !showDetails ? null : (jsxs("footer", { className: cn('tw-flex tw-h-squid-m tw-max-h-squid-m tw-items-center tw-justify-between tw-gap-2 tw-px-squid-xs tw-text-grey-500 mobile-lg:tw-px-squid-m', isLoading && loadingClassName), children: [error ? (jsx("div", { className: "tw-px-squid-xs", children: jsx(ErrorMessage, { message: error.message }) })) : (jsx(Tooltip, Object.assign({}, (isLoading
|
|
24522
|
+
}, children: [inputMode === InputMode.USD && (jsx("span", { className: "tw-absolute tw-left-5 tw-top-[11px] tw-leading-[43px] tw-text-grey-600 mobile-lg:tw-left-[30px]", children: "$" })), jsx("input", { ref: inputRef, type: "text", value: inputValue, onChange: handleInputChange, placeholder: "0", className: cn('tw-h-[55px] tw-w-full tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-grey-300 placeholder:tw-text-grey-600 hover:tw-bg-material-light-thin focus:tw-bg-material-light-thin focus:tw-text-royal-400 focus:tw-outline-none', inputMode === InputMode.USD && 'tw-pl-[33px]') })] })) : (jsx("div", { className: cn('tw-w-full tw-px-squid-xs tw-pb-[15px] tw-pt-[5px] mobile-lg:tw-px-squid-m', isLoading && loadingClassName), children: jsx("div", { className: "tw-flex tw-h-[55px] tw-w-full tw-items-center tw-rounded-squid-s tw-bg-transparent tw-px-squid-xs tw-py-squid-s tw-text-heading-small tw-font-heading-regular tw-text-grey-300", children: jsx("span", { children: inputValue || 0 }) }) })), !showDetails ? null : (jsxs("footer", { className: cn('tw-flex tw-h-squid-m tw-max-h-squid-m tw-items-center tw-justify-between tw-gap-2 tw-px-squid-xs tw-text-grey-500 mobile-lg:tw-px-squid-m', isLoading && loadingClassName), children: [error ? (jsx("div", { className: "tw-px-squid-xs", children: jsx(ErrorMessage, { message: error.message }) })) : (jsx(Tooltip, Object.assign({}, (isLoading
|
|
24502
24523
|
? undefined
|
|
24503
24524
|
: inputMode === InputMode.TOKEN
|
|
24504
24525
|
? inputModeButton === null || inputModeButton === void 0 ? void 0 : inputModeButton.tokenModeTooltip
|
|
@@ -24627,7 +24648,7 @@ function CirclePlusIcon({ size = '24', className, }) {
|
|
|
24627
24648
|
return (jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: size, height: size, viewBox: "0 0 24 24", fill: "none", className: className, children: jsx("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM16 12.9999C16.5523 12.9999 17 12.5522 17 11.9999C17 11.4476 16.5523 10.9999 16 10.9999L13 11V8.00012C13 7.44784 12.5523 7.00012 12 7.00012C11.4477 7.00012 11 7.44784 11 8.00012V11L7.99997 11.0001C7.44769 11.0001 6.99998 11.4479 7 12.0001C7.00002 12.5524 7.44774 13.0001 8.00003 13.0001L11 13V16C11 16.5523 11.4477 17 12 17C12.5523 17 13 16.5523 13 16V13L16 12.9999Z", fill: "currentColor" }) }));
|
|
24628
24649
|
}
|
|
24629
24650
|
|
|
24630
|
-
function RangeInput({ label, initialValue, onChange, min = 0, max = 99, }) {
|
|
24651
|
+
function RangeInput({ label, initialValue, onChange, min = 0, max = 99, isWarning = false, }) {
|
|
24631
24652
|
const [pressedButton, setPressedButton] = useState(null);
|
|
24632
24653
|
const inputRef = useRef(null);
|
|
24633
24654
|
const mousePressedTimeoutRef = useRef(null);
|
|
@@ -24710,7 +24731,7 @@ function RangeInput({ label, initialValue, onChange, min = 0, max = 99, }) {
|
|
|
24710
24731
|
if (event.key === 'Enter' || event.key === ' ') {
|
|
24711
24732
|
handleUpdateValue();
|
|
24712
24733
|
}
|
|
24713
|
-
}, onMouseLeave: handleUpdateValue, className: cn('tw-flex tw-h-full tw-items-center tw-justify-center tw-self-stretch tw-rounded-squid-xs tw-p-squid-xxs tw-text-left tw-text-caption !tw-font-medium tw-leading-[10px] placeholder-shown:tw-text-grey-600 hover:tw-bg-material-light-thin'), children: jsx(CircleMinusIcon, {}) }), jsxs("div", { className: "tw-relative", children: [jsx(Input, { step: 0.1, min: min, max: max, defaultValue: initialValue || '0', placeholder: "0", showIcon: false, type: "number", inputRef: inputRef, onChange: (event) => {
|
|
24734
|
+
}, onMouseLeave: handleUpdateValue, className: cn('tw-flex tw-h-full tw-items-center tw-justify-center tw-self-stretch tw-rounded-squid-xs tw-p-squid-xxs tw-text-left tw-text-caption !tw-font-medium tw-leading-[10px] placeholder-shown:tw-text-grey-600 hover:tw-bg-material-light-thin'), children: jsx(CircleMinusIcon, {}) }), jsxs("div", { className: "tw-relative", children: [jsx(Input, { step: 0.1, min: min, max: max, isWarning: isWarning, defaultValue: initialValue || '0', placeholder: "0", showIcon: false, type: "number", inputRef: inputRef, onChange: (event) => {
|
|
24714
24735
|
var _a;
|
|
24715
24736
|
if (!inputDecoratorRef.current || !inputRef.current)
|
|
24716
24737
|
return;
|
|
@@ -4,7 +4,12 @@ interface BadgeImageProps {
|
|
|
4
4
|
size?: BadgeSize;
|
|
5
5
|
extraMarginForBadge?: boolean;
|
|
6
6
|
rounded?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* The URL of the placeholder image. Will be displayed while the images are loading
|
|
9
|
+
* or if there's an error loading them.
|
|
10
|
+
*/
|
|
11
|
+
placeholderImageUrl?: string;
|
|
7
12
|
}
|
|
8
13
|
type BadgeSize = 'sm' | 'md';
|
|
9
|
-
export declare function BadgeImage({ imageUrl, badgeUrl, size, extraMarginForBadge, rounded, }: BadgeImageProps): import("react/jsx-runtime").JSX.Element | null;
|
|
14
|
+
export declare function BadgeImage({ imageUrl: _imageUrl, badgeUrl, size, extraMarginForBadge, rounded, placeholderImageUrl, }: BadgeImageProps): import("react/jsx-runtime").JSX.Element | null;
|
|
10
15
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { ButtonSize, ButtonVariant } from '../../types/components';
|
|
3
|
+
import { ChipProps } from './Chip';
|
|
3
4
|
interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
4
5
|
label?: string;
|
|
5
6
|
icon?: React.ReactNode;
|
|
@@ -8,6 +9,7 @@ interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
8
9
|
disabled?: boolean;
|
|
9
10
|
link?: string;
|
|
10
11
|
isLoading?: boolean;
|
|
12
|
+
chip?: ChipProps;
|
|
11
13
|
}
|
|
12
|
-
export declare function Button({ label, disabled, size, variant, icon, link, isLoading, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function Button({ label, disabled, size, variant, icon, link, isLoading, chip, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
13
15
|
export {};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
2
|
+
export interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
3
|
label?: string;
|
|
4
4
|
icon?: React.ReactNode;
|
|
5
5
|
}
|
|
6
6
|
export declare function Chip({ label, icon, ...props }: ChipProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export {};
|
|
@@ -5,12 +5,13 @@ interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
|
5
5
|
showIcon?: boolean;
|
|
6
6
|
icon?: React.ReactNode;
|
|
7
7
|
isError?: boolean;
|
|
8
|
+
isWarning?: boolean;
|
|
8
9
|
containerClassName?: string;
|
|
9
10
|
actionButtonProps?: InputActionButtonProps;
|
|
10
11
|
autoFocusTimeout?: number;
|
|
11
12
|
inputRef?: React.RefObject<HTMLInputElement>;
|
|
12
13
|
}
|
|
13
|
-
export declare function Input({ placeholder, showIcon, className, icon, isError, containerClassName, actionButtonProps, autoFocusTimeout, inputRef: inputRefProp, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function Input({ placeholder, showIcon, className, icon, isError, isWarning, containerClassName, actionButtonProps, autoFocusTimeout, inputRef: inputRefProp, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
14
15
|
type InputActionButtonProps = {
|
|
15
16
|
onClick?: () => void;
|
|
16
17
|
variant?: ButtonVariant;
|
|
@@ -4,6 +4,7 @@ interface RangeInputProps {
|
|
|
4
4
|
onChange?: (value: string) => void;
|
|
5
5
|
min?: number;
|
|
6
6
|
max?: number;
|
|
7
|
+
isWarning?: boolean;
|
|
7
8
|
}
|
|
8
|
-
export declare function RangeInput({ label, initialValue, onChange, min, max, }: RangeInputProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function RangeInput({ label, initialValue, onChange, min, max, isWarning, }: RangeInputProps): import("react/jsx-runtime").JSX.Element;
|
|
9
10
|
export {};
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { ChipProps } from '../buttons';
|
|
2
3
|
import { TooltipProps } from '../controls';
|
|
3
|
-
type ActionButton = {
|
|
4
|
+
export type ActionButton = {
|
|
4
5
|
labelOrIcon: string | React.ReactNode;
|
|
5
6
|
onClick?: () => void;
|
|
6
7
|
id: React.Key;
|
|
7
8
|
tooltip?: Omit<TooltipProps, 'children'>;
|
|
9
|
+
chip?: ChipProps;
|
|
8
10
|
};
|
|
9
11
|
interface NavigationBarProps {
|
|
10
12
|
title?: string;
|
|
@@ -3,6 +3,7 @@ interface ListItemProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
3
3
|
itemTitle: string | React.ReactNode;
|
|
4
4
|
mainImageUrl?: string;
|
|
5
5
|
secondaryImageUrl?: string;
|
|
6
|
+
placeholderImageUrl?: string;
|
|
6
7
|
subtitle?: string;
|
|
7
8
|
subtitleOnHover?: React.ReactNode;
|
|
8
9
|
detail?: string;
|
|
@@ -22,5 +23,5 @@ interface ListItemProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
22
23
|
compactOnMobile?: boolean;
|
|
23
24
|
}
|
|
24
25
|
type ListItemSize = 'small' | 'large';
|
|
25
|
-
export declare function ListItem({ itemTitle, mainImageUrl, subtitle, subtitleOnHover, detail, icon, secondaryImageUrl, size, mainIcon, className, isSelected, onDetailClick, showDetailOnHoverOnly, rounded, detailButtonClassName, loading, containerProps, compactOnMobile, ...props }: ListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare function ListItem({ itemTitle, mainImageUrl, subtitle, subtitleOnHover, detail, icon, secondaryImageUrl, placeholderImageUrl, size, mainIcon, className, isSelected, onDetailClick, showDetailOnHoverOnly, rounded, detailButtonClassName, loading, containerProps, compactOnMobile, ...props }: ListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
26
27
|
export {};
|
|
@@ -9,3 +9,7 @@ export declare const ExtraMarginForBadge: Story;
|
|
|
9
9
|
export declare const Rounded: Story;
|
|
10
10
|
export declare const SizeMedium: Story;
|
|
11
11
|
export declare const SizeSmall: Story;
|
|
12
|
+
export declare const CustomPlaceholderForBrokenImage: Story;
|
|
13
|
+
export declare const CustomPlaceholderForLoadingImage: Story;
|
|
14
|
+
export declare const CustomPlaceholderForBrokenBadgeImage: Story;
|
|
15
|
+
export declare const CustomPlaceholderForLoadingBadgeImage: Story;
|
|
@@ -28,3 +28,5 @@ export declare const MediumWithLabelLoading: Story;
|
|
|
28
28
|
export declare const MediumWithLongLabelLoading: Story;
|
|
29
29
|
export declare const LargeWithLabelLoading: Story;
|
|
30
30
|
export declare const LargeWithLongLabelLoading: Story;
|
|
31
|
+
export declare const MediumWithChip: Story;
|
|
32
|
+
export declare const LargeWithChip: Story;
|
package/dist/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
.rdp{--rdp-cell-size:40px;--rdp-caption-font-size:18px;--rdp-accent-color:#00f;--rdp-background-color:#e7edff;--rdp-accent-color-dark:#3003e1;--rdp-background-color-dark:#180270;--rdp-outline:2px solid var(--rdp-accent-color);--rdp-outline-selected:3px solid var(--rdp-accent-color);--rdp-selected-color:#fff;margin:1em}.rdp-vhidden{clip:rect(1px,1px,1px,1px)!important;-moz-appearance:none;-webkit-appearance:none;appearance:none;background:transparent;border:0!important;box-sizing:border-box;height:1px!important;margin:0;overflow:hidden!important;padding:0!important;position:absolute!important;top:0;width:1px!important}.rdp-button_reset{appearance:none;-moz-appearance:none;-webkit-appearance:none;background:none;color:inherit;cursor:default;font:inherit;margin:0;padding:0;position:relative}.rdp-button_reset:focus-visible{outline:none}.rdp-button{border:2px solid transparent}.rdp-button[disabled]:not(.rdp-day_selected){opacity:.25}.rdp-button:not([disabled]){cursor:pointer}.rdp-button:focus-visible:not([disabled]){background-color:var(--rdp-background-color);border:var(--rdp-outline);color:inherit}.rdp-button:hover:not([disabled]):not(.rdp-day_selected){background-color:var(--rdp-background-color)}.rdp-months{display:flex}.rdp-month{margin:0 1em}.rdp-month:first-child{margin-left:0}.rdp-month:last-child{margin-right:0}.rdp-table{border-collapse:collapse;margin:0;max-width:calc(var(--rdp-cell-size)*7)}.rdp-with_weeknumber .rdp-table{border-collapse:collapse;max-width:calc(var(--rdp-cell-size)*8)}.rdp-caption{align-items:center;display:flex;justify-content:space-between;padding:0;text-align:left}.rdp-multiple_months .rdp-caption{display:block;position:relative;text-align:center}.rdp-caption_dropdowns,.rdp-caption_label{display:inline-flex;position:relative}.rdp-caption_label{align-items:center;border:2px solid transparent;color:currentColor;font-family:inherit;font-size:var(--rdp-caption-font-size);font-weight:700;margin:0;padding:0 .25em;white-space:nowrap;z-index:1}.rdp-nav{white-space:nowrap}.rdp-multiple_months .rdp-caption_start .rdp-nav{left:0;position:absolute;top:50%;transform:translateY(-50%)}.rdp-multiple_months .rdp-caption_end .rdp-nav{position:absolute;right:0;top:50%;transform:translateY(-50%)}.rdp-nav_button{align-items:center;border-radius:100%;display:inline-flex;height:var(--rdp-cell-size);justify-content:center;padding:.25em;width:var(--rdp-cell-size)}.rdp-dropdown_month,.rdp-dropdown_year{align-items:center;display:inline-flex;position:relative}.rdp-dropdown{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;bottom:0;cursor:inherit;font-family:inherit;font-size:inherit;left:0;line-height:inherit;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%;z-index:2}.rdp-dropdown[disabled]{color:unset;opacity:unset}.rdp-dropdown:focus-visible:not([disabled])+.rdp-caption_label{background-color:var(--rdp-background-color);border:var(--rdp-outline);border-radius:6px}.rdp-dropdown_icon{margin:0 0 0 5px}.rdp-head{border:0}.rdp-head_row,.rdp-row{height:100%}.rdp-head_cell{font-size:.75em;font-weight:700;height:100%;height:var(--rdp-cell-size);padding:0;text-align:center;text-transform:uppercase;vertical-align:middle}.rdp-tbody{border:0}.rdp-tfoot{margin:.5em}.rdp-cell{height:100%;height:var(--rdp-cell-size);padding:0;text-align:center;width:var(--rdp-cell-size)}.rdp-weeknumber{font-size:.75em}.rdp-day,.rdp-weeknumber{align-items:center;border:2px solid transparent;border-radius:100%;box-sizing:border-box;display:flex;height:var(--rdp-cell-size);justify-content:center;margin:0;max-width:var(--rdp-cell-size);overflow:hidden;width:var(--rdp-cell-size)}.rdp-day_today:not(.rdp-day_outside){font-weight:700}.rdp-day_selected,.rdp-day_selected:focus-visible,.rdp-day_selected:hover{background-color:var(--rdp-accent-color);color:var(--rdp-selected-color);opacity:1}.rdp-day_outside{opacity:.5}.rdp-day_selected:focus-visible{outline:var(--rdp-outline);outline-offset:2px;z-index:1}.rdp:not([dir=rtl]) .rdp-day_range_start:not(.rdp-day_range_end){border-bottom-right-radius:0;border-top-right-radius:0}.rdp:not([dir=rtl]) .rdp-day_range_end:not(.rdp-day_range_start),.rdp[dir=rtl] .rdp-day_range_start:not(.rdp-day_range_end){border-bottom-left-radius:0;border-top-left-radius:0}.rdp[dir=rtl] .rdp-day_range_end:not(.rdp-day_range_start){border-bottom-right-radius:0;border-top-right-radius:0}.rdp-day_range_end.rdp-day_range_start{border-radius:100%}.rdp-day_range_middle{border-radius:0}
|
|
2
2
|
/*
|
|
3
3
|
! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com
|
|
4
|
-
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.tw-sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.tw-pointer-events-none{pointer-events:none}.tw-visible{visibility:visible}.tw-invisible{visibility:hidden}.tw-fixed{position:fixed}.tw-absolute{position:absolute}.tw-relative{position:relative}.tw-inset-0{inset:0}.tw-inset-squid-xxs{inset:.3125rem}.tw-inset-y-0{bottom:0;top:0}.-tw-bottom-20{bottom:-5rem}.-tw-left-\[20px\]{left:-20px}.-tw-left-\[2px\]{left:-2px}.-tw-left-\[4px\]{left:-4px}.-tw-left-\[5px\]{left:-5px}.-tw-right-1\/3{right:-33.333333%}.-tw-right-squid-xxs{right:-.3125rem}.-tw-top-8{top:-2rem}.-tw-top-\[2px\]{top:-2px}.-tw-top-\[4px\]{top:-4px}.-tw-top-\[55px\]{top:-55px}.tw-bottom-0{bottom:0}.tw-bottom-0\.5{bottom:.125rem}.tw-bottom-1\/2{bottom:50%}.tw-bottom-2{bottom:.5rem}.tw-bottom-4{bottom:1rem}.tw-bottom-7{bottom:1.75rem}.tw-bottom-full{bottom:100%}.tw-bottom-squid-xxs{bottom:.3125rem}.tw-left-0{left:0}.tw-left-1\/2{left:50%}.tw-left-5{left:1.25rem}.tw-left-\[-14px\]{left:-14px}.tw-left-\[15px\]{left:15px}.tw-left-\[17px\]{left:17px}.tw-left-\[1px\]{left:1px}.tw-left-\[26px\]{left:26px}.tw-left-\[2px\]{left:2px}.tw-left-\[54px\]{left:54px}.tw-left-\[calc\(50\%-2px\)\]{left:calc(50% - 2px)}.tw-left-squid-m{left:1.25rem}.tw-left-squid-s{left:.9375rem}.tw-left-squid-xs{left:.625rem}.tw-right-0{right:0}.tw-right-1{right:.25rem}.tw-right-1\.5{right:.375rem}.tw-right-4{right:1rem}.tw-right-\[40px\]{right:40px}.tw-right-\[calc\(100\%-10px\)\]{right:calc(100% - 10px)}.tw-right-full{right:100%}.tw-right-squid-xs{right:.625rem}.tw-right-squid-xxs{right:.3125rem}.tw-top-0{top:0}.tw-top-7{top:1.75rem}.tw-top-\[11px\]{top:11px}.tw-top-\[2px\]{top:2px}.tw-top-full{top:100%}.tw-top-squid-xs{top:.625rem}.tw-top-squid-xxs{top:.3125rem}.-tw-z-40{z-index:-40}.tw-z-0{z-index:0}.tw-z-10{z-index:10}.tw-z-20{z-index:20}.tw-z-40{z-index:40}.tw-z-50{z-index:50}.tw-z-\[5\]{z-index:5}.tw-m-0{margin:0}.tw-mx-auto{margin-left:auto;margin-right:auto}.tw-mx-squid-xxs{margin-left:.3125rem;margin-right:.3125rem}.tw-my-4{margin-bottom:1rem;margin-top:1rem}.-tw-mb-1{margin-bottom:-.25rem}.-tw-ml-1{margin-left:-.25rem}.-tw-ml-squid-xs{margin-left:-.625rem}.tw-ml-2{margin-left:.5rem}.tw-mr-1{margin-right:.25rem}.tw-mr-1\.5{margin-right:.375rem}.tw-mr-squid-xs{margin-right:.625rem}.tw-mt-0{margin-top:0}.tw-mt-0\.5{margin-top:.125rem}.tw-mt-1{margin-top:.25rem}.tw-block{display:block}.tw-inline-block{display:inline-block}.tw-flex{display:flex}.tw-inline-flex{display:inline-flex}.tw-grid{display:grid}.tw-hidden{display:none}.tw-aspect-square{aspect-ratio:1/1}.\!tw-h-\[30px\]{height:30px!important}.tw-h-1{height:.25rem}.tw-h-1\.5{height:.375rem}.tw-h-10{height:2.5rem}.tw-h-2{height:.5rem}.tw-h-2\.5{height:.625rem}.tw-h-4{height:1rem}.tw-h-5{height:1.25rem}.tw-h-52{height:13rem}.tw-h-6{height:1.5rem}.tw-h-8{height:2rem}.tw-h-\[0\.8em\]{height:.8em}.tw-h-\[1\.2em\]{height:1.2em}.tw-h-\[1000px\]{height:1000px}.tw-h-\[100vh\]{height:100vh}.tw-h-\[10px\]{height:10px}.tw-h-\[110px\]{height:110px}.tw-h-\[14px\]{height:14px}.tw-h-\[160px\]{height:160px}.tw-h-\[16px\]{height:16px}.tw-h-\[17px\]{height:17px}.tw-h-\[195px\]{height:195px}.tw-h-\[211px\]{height:211px}.tw-h-\[21px\]{height:21px}.tw-h-\[240px\]{height:240px}.tw-h-\[26px\]{height:26px}.tw-h-\[30px\]{height:30px}.tw-h-\[40px\]{height:40px}.tw-h-\[42px\]{height:42px}.tw-h-\[46px\]{height:46px}.tw-h-\[50px\]{height:50px}.tw-h-\[52px\]{height:52px}.tw-h-\[535px\]{height:535px}.tw-h-\[536px\]{height:536px}.tw-h-\[540px\]{height:540px}.tw-h-\[55px\]{height:55px}.tw-h-\[60px\]{height:60px}.tw-h-\[69px\]{height:69px}.tw-h-\[80\.6px\]{height:80.6px}.tw-h-\[80px\]{height:80px}.tw-h-\[94px\]{height:94px}.tw-h-\[95px\]{height:95px}.tw-h-button{height:3.75rem}.tw-h-card-compact{height:671px}.tw-h-full{height:100%}.tw-h-list-item-large{height:3.125rem}.tw-h-list-item-small{height:2.5rem}.tw-h-screen{height:100vh}.tw-h-squid-l{height:1.875rem}.tw-h-squid-m{height:1.25rem}.tw-h-squid-xl{height:2.5rem}.tw-h-squid-xs{height:.625rem}.tw-h-squid-xxl{height:3.75rem}.\!tw-max-h-\[470px\]{max-height:470px!important}.tw-max-h-\[120px\]{max-height:120px}.tw-max-h-\[211px\]{max-height:211px}.tw-max-h-\[535px\]{max-height:535px}.tw-max-h-\[540px\]{max-height:540px}.tw-max-h-\[55px\]{max-height:55px}.tw-max-h-\[60px\]{max-height:60px}.tw-max-h-\[80px\]{max-height:80px}.tw-max-h-\[80vh\]{max-height:80vh}.tw-max-h-list-item-small{max-height:2.5rem}.tw-max-h-modal-compact{max-height:631px}.tw-max-h-squid-m{max-height:1.25rem}.tw-max-h-squid-xl{max-height:2.5rem}.tw-min-h-\[195px\]{min-height:195px}.tw-min-h-\[30px\]{min-height:30px}.tw-min-h-\[55px\]{min-height:55px}.tw-min-h-button{min-height:3.75rem}.tw-min-h-card-compact{min-height:671px}.tw-min-h-squid-l{min-height:1.875rem}.tw-min-h-squid-m{min-height:1.25rem}.tw-min-h-squid-xl{min-height:2.5rem}.\!tw-w-fit{width:-moz-fit-content!important;width:fit-content!important}.tw-w-10{width:2.5rem}.tw-w-12{width:3rem}.tw-w-36{width:9rem}.tw-w-4{width:1rem}.tw-w-5{width:1.25rem}.tw-w-52{width:13rem}.tw-w-6{width:1.5rem}.tw-w-8{width:2rem}.tw-w-96{width:24rem}.tw-w-\[1\.2em\]{width:1.2em}.tw-w-\[1\.5px\]{width:1.5px}.tw-w-\[1000px\]{width:1000px}.tw-w-\[100px\]{width:100px}.tw-w-\[100vw\]{width:100vw}.tw-w-\[106\.5px\]{width:106.5px}.tw-w-\[110px\]{width:110px}.tw-w-\[1260px\]{width:1260px}.tw-w-\[135px\]{width:135px}.tw-w-\[140px\]{width:140px}.tw-w-\[150px\]{width:150px}.tw-w-\[157px\]{width:157px}.tw-w-\[160px\]{width:160px}.tw-w-\[16px\]{width:16px}.tw-w-\[180px\]{width:180px}.tw-w-\[22px\]{width:22px}.tw-w-\[26px\]{width:26px}.tw-w-\[299px\]{width:299px}.tw-w-\[2px\]{width:2px}.tw-w-\[30px\]{width:30px}.tw-w-\[36px\]{width:36px}.tw-w-\[3px\]{width:3px}.tw-w-\[40px\]{width:40px}.tw-w-\[42px\]{width:42px}.tw-w-\[44px\]{width:44px}.tw-w-\[470px\]{width:470px}.tw-w-\[500px\]{width:500px}.tw-w-\[50px\]{width:50px}.tw-w-\[52px\]{width:52px}.tw-w-\[54px\]{width:54px}.tw-w-\[56\%\]{width:56%}.tw-w-\[600px\]{width:600px}.tw-w-\[60px\]{width:60px}.tw-w-\[67\%\]{width:67%}.tw-w-\[69px\]{width:69px}.tw-w-\[70px\]{width:70px}.tw-w-\[720px\]{width:720px}.tw-w-\[72px\]{width:72px}.tw-w-\[80px\]{width:80px}.tw-w-\[90px\]{width:90px}.tw-w-\[92px\]{width:92px}.tw-w-\[94px\]{width:94px}.tw-w-fit{width:-moz-fit-content;width:fit-content}.tw-w-full{width:100%}.tw-w-list-item-compact{width:22.0625rem}.tw-w-list-item-large{width:23.75rem}.tw-w-max{width:-moz-max-content;width:max-content}.tw-w-modal-compact{width:373px}.tw-w-squid-l{width:1.875rem}.tw-w-squid-m{width:1.25rem}.tw-w-squid-s{width:.9375rem}.tw-w-squid-xl{width:2.5rem}.tw-w-squid-xxl{width:3.75rem}.\!tw-min-w-0{min-width:0!important}.tw-min-w-96{min-width:24rem}.tw-min-w-\[30px\]{min-width:30px}.tw-min-w-\[60px\]{min-width:60px}.tw-min-w-list-item-small{min-width:21.25rem}.tw-min-w-modal-compact{min-width:373px}.tw-min-w-squid-xl{min-width:2.5rem}.tw-min-w-squid-xxl{min-width:3.75rem}.tw-max-w-96{max-width:24rem}.tw-max-w-\[100vw\]{max-width:100vw}.tw-max-w-\[180px\]{max-width:180px}.tw-max-w-\[200px\]{max-width:200px}.tw-max-w-\[299px\]{max-width:299px}.tw-max-w-\[320px\]{max-width:320px}.tw-max-w-\[70px\]{max-width:70px}.tw-max-w-\[72px\]{max-width:72px}.tw-max-w-\[80px\]{max-width:80px}.tw-max-w-full{max-width:100%}.tw-max-w-modal-compact{max-width:373px}.tw-max-w-none{max-width:none}.tw-max-w-xl{max-width:36rem}.tw-flex-1{flex:1 1 0%}.tw-flex-shrink-0{flex-shrink:0}.tw-flex-grow{flex-grow:1}.tw-grow-0{flex-grow:0}.tw-origin-center{transform-origin:center}.-tw-translate-x-1\/2{--tw-translate-x:-50%}.-tw-translate-x-1\/2,.-tw-translate-x-1\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-tw-translate-x-1\/3{--tw-translate-x:-33.333333%}.-tw-translate-y-1\/2{--tw-translate-y:-50%}.-tw-translate-y-1\/2,.tw-translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-translate-x-1\/2{--tw-translate-x:50%}.tw-translate-y-1\/2{--tw-translate-y:50%}.-tw-rotate-90,.tw-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-tw-rotate-90{--tw-rotate:-90deg}.tw-rotate-180{--tw-rotate:180deg}.tw-rotate-180,.tw-rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-rotate-90{--tw-rotate:90deg}@keyframes tw-blur-in{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);background-color:var(--squid-theme-material-dark-average)}}.tw-animate-blur-in{animation:tw-blur-in var(--squid-animation-blur-in-duration,0s) cubic-bezier(.165,.84,.44,1) both}@keyframes tw-blur-out{0%{-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);background-color:var(--squid-theme-material-dark-average)}to{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}.tw-animate-blur-out{animation:tw-blur-out var(--squid-animation-blur-out-duration,0s) cubic-bezier(.165,.84,.44,1) both}@keyframes tw-collapse-route{0%{height:100%}to{height:60px}}.tw-animate-collapse-route{animation:tw-collapse-route var(--squid-animation-collapse-to-bottom-duration,0s) linear both}@keyframes tw-expand-route{0%{height:60px}to{height:100%}}.tw-animate-expand-route{animation:tw-expand-route var(--squid-animation-expand-to-top-duration,0s) linear both}@keyframes tw-fade-in{0%{opacity:0}to{opacity:1}}.tw-animate-fade-in{animation:tw-fade-in var(--squid-animation-fade-in-duration,0s) ease-out both}@keyframes tw-fade-out{0%{opacity:1}to{opacity:0}}.tw-animate-fade-out{animation:tw-fade-out var(--squid-animation-fade-out-duration,0s) ease-out both}@keyframes tw-loading-gradient{0%{opacity:0;transform:translateX(-70%)}50%{opacity:1}to{opacity:0;transform:translateX(70%)}}.tw-animate-loading-gradient{animation:tw-loading-gradient 1s ease-in-out infinite both}@keyframes tw-move-loading-cover-to-right{0%{transform:translateX(-64%)}to{transform:translateX(0)}}.tw-animate-move-loading-cover-to-right{animation:tw-move-loading-cover-to-right 1.4s linear infinite}@keyframes tw-scale-and-fade-down{0%{opacity:1;transform:scale(1)}to{opacity:.5;transform:scale(.9)}}.tw-animate-scale-and-fade-down{animation:tw-scale-and-fade-down var(--squid-animation-scale-and-fade-down-duration,0s) linear both}@keyframes tw-scale-and-fade-up{0%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tw-animate-scale-and-fade-up{animation:tw-scale-and-fade-up var(--squid-animation-scale-and-fade-up-duration,0s) linear both}@keyframes tw-slide-to-bottom{0%{transform:translateZ(0)}to{transform:translate3d(0,650px,0)}}.tw-animate-slide-to-bottom{animation:tw-slide-to-bottom var(--squid-animation-slide-to-bottom-duration,0s) cubic-bezier(.165,.84,.44,1) both}@keyframes tw-slide-to-top{0%{transform:translate3d(0,650px,0)}to{transform:translateZ(0)}}.tw-animate-slide-to-top{animation:tw-slide-to-top var(--squid-animation-slide-to-top-duration,0s) cubic-bezier(.165,.84,.44,1) both}.tw-cursor-help{cursor:help}.tw-cursor-not-allowed{cursor:not-allowed}.tw-cursor-pointer{cursor:pointer}.tw-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.tw-grid-cols-\[100px\,1fr\,100px\]{grid-template-columns:100px 1fr 100px}.tw-grid-cols-\[180px_299px\]{grid-template-columns:180px 299px}.tw-grid-cols-\[40px\,1fr\,60px\]{grid-template-columns:40px 1fr 60px}.tw-grid-cols-\[70px_1fr\]{grid-template-columns:70px 1fr}.tw-flex-col{flex-direction:column}.tw-flex-col-reverse{flex-direction:column-reverse}.tw-flex-wrap{flex-wrap:wrap}.tw-items-start{align-items:flex-start}.tw-items-end{align-items:flex-end}.tw-items-center{align-items:center}.tw-items-stretch{align-items:stretch}.tw-justify-start{justify-content:flex-start}.tw-justify-end{justify-content:flex-end}.tw-justify-center{justify-content:center}.tw-justify-between{justify-content:space-between}.tw-gap-0{gap:0}.tw-gap-0\.5{gap:.125rem}.tw-gap-1{gap:.25rem}.tw-gap-1\.5{gap:.375rem}.tw-gap-2{gap:.5rem}.tw-gap-\[2px\]{gap:2px}.tw-gap-squid-m{gap:1.25rem}.tw-gap-squid-s{gap:.9375rem}.tw-gap-squid-xs{gap:.625rem}.tw-gap-squid-xxs{gap:.3125rem}.tw-gap-x-squid-xs{-moz-column-gap:.625rem;column-gap:.625rem}.tw-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.tw-divide-material-light-thin>:not([hidden])~:not([hidden]){border-color:var(--squid-theme-material-light-thin)}.tw-self-end{align-self:flex-end}.tw-self-stretch{align-self:stretch}.tw-overflow-auto{overflow:auto}.tw-overflow-hidden{overflow:hidden}.tw-overflow-y-auto{overflow-y:auto}.tw-overflow-x-hidden{overflow-x:hidden}.tw-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-text-nowrap{text-wrap:nowrap}.tw-rounded-2xl{border-radius:1rem}.tw-rounded-\[20px\]{border-radius:20px}.tw-rounded-\[25px\]{border-radius:25px}.tw-rounded-full{border-radius:9999px}.tw-rounded-md{border-radius:.375rem}.tw-rounded-sm{border-radius:.125rem}.tw-rounded-squid-l{border-radius:1.875rem}.tw-rounded-squid-m{border-radius:1.25rem}.tw-rounded-squid-s{border-radius:.9375rem}.tw-rounded-squid-xs{border-radius:.625rem}.tw-rounded-squid-xxl{border-radius:3.75rem}.tw-rounded-squid-xxs{border-radius:.3125rem}.tw-rounded-xl{border-radius:.75rem}.tw-rounded-bl-squid-l{border-bottom-left-radius:1.875rem}.tw-rounded-br-full{border-bottom-right-radius:9999px}.tw-rounded-br-squid-l{border-bottom-right-radius:1.875rem}.tw-rounded-tl-\[25px\]{border-top-left-radius:25px}.tw-rounded-tl-squid-l{border-top-left-radius:1.875rem}.tw-rounded-tl-xl{border-top-left-radius:.75rem}.tw-rounded-tr-\[25px\]{border-top-right-radius:25px}.tw-rounded-tr-full{border-top-right-radius:9999px}.tw-rounded-tr-squid-l{border-top-right-radius:1.875rem}.tw-rounded-tr-xl{border-top-right-radius:.75rem}.tw-border{border-width:1px}.tw-border-2{border-width:2px}.tw-border-\[1px\]{border-width:1px}.tw-border-y-\[4px\]{border-bottom-width:4px;border-top-width:4px}.tw-border-b{border-bottom-width:1px}.tw-border-r{border-right-width:1px}.tw-border-t{border-top-width:1px}.tw-border-solid{border-style:solid}.\!tw-border-transparent{border-color:transparent!important}.tw-border-grey-500{border-color:var(--squid-theme-grey-500)}.tw-border-grey-800{border-color:var(--squid-theme-grey-800)}.tw-border-grey-900{border-color:var(--squid-theme-grey-900)}.tw-border-material-light-thin{border-color:var(--squid-theme-material-light-thin)}.tw-border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.tw-border-transparent{border-color:transparent}.tw-border-b-material-dark-thin{border-bottom-color:var(--squid-theme-material-dark-thin)}.tw-border-t-material-light-thin{border-top-color:var(--squid-theme-material-light-thin)}.\!tw-bg-grey-100{background-color:var(--squid-theme-grey-100)!important}.\!tw-bg-grey-300{background-color:var(--squid-theme-grey-300)!important}.\!tw-bg-grey-500{background-color:var(--squid-theme-grey-500)!important}.\!tw-bg-grey-600{background-color:var(--squid-theme-grey-600)!important}.\!tw-bg-grey-800{background-color:var(--squid-theme-grey-800)!important}.\!tw-bg-material-light-thin{background-color:var(--squid-theme-material-light-thin)!important}.\!tw-bg-status-negative{background-color:var(--squid-theme-status-negative)!important}.\!tw-bg-status-partial{background-color:var(--squid-theme-status-partial)!important}.\!tw-bg-status-positive{background-color:var(--squid-theme-status-positive)!important}.\!tw-bg-transparent{background-color:transparent!important}.tw-bg-\[\#E4FE53\]{--tw-bg-opacity:1;background-color:rgb(228 254 83/var(--tw-bg-opacity))}.tw-bg-\[currentColor\]{background-color:currentColor}.tw-bg-grey-100{background-color:var(--squid-theme-grey-100)}.tw-bg-grey-300{background-color:var(--squid-theme-grey-300)}.tw-bg-grey-500{background-color:var(--squid-theme-grey-500)}.tw-bg-grey-700{background-color:var(--squid-theme-grey-700)}.tw-bg-grey-800{background-color:var(--squid-theme-grey-800)}.tw-bg-grey-900{background-color:var(--squid-theme-grey-900)}.tw-bg-inherit{background-color:inherit}.tw-bg-material-dark-thick{background-color:var(--squid-theme-material-dark-thick)}.tw-bg-material-dark-thin{background-color:var(--squid-theme-material-dark-thin)}.tw-bg-material-light-thin{background-color:var(--squid-theme-material-light-thin)}.tw-bg-royal-400{background-color:var(--squid-theme-royal-400)}.tw-bg-royal-500{background-color:var(--squid-theme-royal-500)}.tw-bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.tw-bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity))}.tw-bg-status-negative{background-color:var(--squid-theme-status-negative)}.tw-bg-status-partial{background-color:var(--squid-theme-status-partial)}.tw-bg-status-positive{background-color:var(--squid-theme-status-positive)}.tw-bg-transparent{background-color:transparent}.tw-bg-dark-cover{background-image:linear-gradient(90deg,var(--squid-theme-material-dark-thick) 45.4%,transparent 50.85%,var(--squid-theme-material-dark-thick) 55.61%)}.tw-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.tw-bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.tw-bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.tw-bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.tw-bg-royal-dark{background-image:linear-gradient(180deg,#bf91f2,#a577d8)}.tw-bg-royal-light{background-image:linear-gradient(180deg,#a577d8,#bf91f2)}.tw-from-grey-800{--tw-gradient-from:var(--squid-theme-grey-800) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tw-from-grey-900{--tw-gradient-from:var(--squid-theme-grey-900) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tw-to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.tw-object-cover{-o-object-fit:cover;object-fit:cover}.\!tw-p-0{padding:0!important}.tw-p-0{padding:0}.tw-p-0\.5{padding:.125rem}.tw-p-1{padding:.25rem}.tw-p-2{padding:.5rem}.tw-p-4{padding:1rem}.tw-p-8{padding:2rem}.tw-p-\[3px\]{padding:3px}.tw-p-squid-l{padding:1.875rem}.tw-p-squid-xs{padding:.625rem}.tw-p-squid-xxl{padding:3.75rem}.tw-p-squid-xxs{padding:.3125rem}.\!tw-px-0{padding-left:0!important;padding-right:0!important}.\!tw-px-4{padding-left:1rem!important;padding-right:1rem!important}.tw-px-0{padding-left:0;padding-right:0}.tw-px-4{padding-left:1rem;padding-right:1rem}.tw-px-\[3px\]{padding-left:3px;padding-right:3px}.tw-px-squid-l{padding-left:1.875rem;padding-right:1.875rem}.tw-px-squid-m{padding-left:1.25rem;padding-right:1.25rem}.tw-px-squid-s{padding-left:.9375rem;padding-right:.9375rem}.tw-px-squid-xs{padding-left:.625rem;padding-right:.625rem}.tw-px-squid-xxl{padding-left:3.75rem;padding-right:3.75rem}.tw-px-squid-xxs{padding-left:.3125rem;padding-right:.3125rem}.tw-py-0{padding-bottom:0;padding-top:0}.tw-py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.tw-py-2{padding-bottom:.5rem;padding-top:.5rem}.tw-py-\[1px\]{padding-bottom:1px;padding-top:1px}.tw-py-squid-l{padding-bottom:1.875rem;padding-top:1.875rem}.tw-py-squid-m{padding-bottom:1.25rem;padding-top:1.25rem}.tw-py-squid-s{padding-bottom:.9375rem;padding-top:.9375rem}.tw-py-squid-xl{padding-bottom:2.5rem;padding-top:2.5rem}.tw-py-squid-xs{padding-bottom:.625rem;padding-top:.625rem}.tw-py-squid-xxs{padding-bottom:.3125rem;padding-top:.3125rem}.tw-pb-\[15px\]{padding-bottom:15px}.tw-pb-squid-l{padding-bottom:1.875rem}.tw-pb-squid-m{padding-bottom:1.25rem}.tw-pb-squid-s{padding-bottom:.9375rem}.tw-pb-squid-xs{padding-bottom:.625rem}.tw-pb-squid-xxs{padding-bottom:.3125rem}.tw-pl-1{padding-left:.25rem}.tw-pl-\[33px\]{padding-left:33px}.tw-pl-\[40px\]{padding-left:40px}.tw-pl-\[75px\]{padding-left:75px}.tw-pl-\[7px\]{padding-left:7px}.tw-pl-squid-m{padding-left:1.25rem}.tw-pl-squid-xxs{padding-left:.3125rem}.tw-pr-1{padding-right:.25rem}.tw-pr-2{padding-right:.5rem}.tw-pr-2\.5{padding-right:.625rem}.tw-pr-4{padding-right:1rem}.tw-pr-\[40px\]{padding-right:40px}.tw-pr-\[70px\]{padding-right:70px}.tw-pr-squid-l{padding-right:1.875rem}.tw-pr-squid-m{padding-right:1.25rem}.tw-pr-squid-xl{padding-right:2.5rem}.tw-pr-squid-xs{padding-right:.625rem}.tw-pr-squid-xxs{padding-right:.3125rem}.tw-pt-0{padding-top:0}.tw-pt-\[5px\]{padding-top:5px}.tw-pt-squid-m{padding-top:1.25rem}.tw-pt-squid-xs{padding-top:.625rem}.tw-pt-squid-xxs{padding-top:.3125rem}.tw-text-left{text-align:left}.tw-text-center{text-align:center}.tw-text-right{text-align:right}.tw-font-geist{font-family:Geist,sans-serif}.tw-text-body-large{font-size:1.75625rem}.tw-text-body-medium{font-size:1.40625rem}.tw-text-body-small{font-size:1.14375rem}.tw-text-caption{font-size:.875rem}.tw-text-heading-large{font-size:4.40625rem}.tw-text-heading-medium{font-size:3.08125rem}.tw-text-heading-small{font-size:2.1875rem}.tw-text-lg{font-size:1.125rem;line-height:1.75rem}.tw-text-sm{font-size:.875rem;line-height:1.25rem}.tw-text-xs{font-size:.75rem;line-height:1rem}.\!tw-font-medium{font-weight:500!important}.tw-font-heading-bold{font-weight:600}.tw-font-heading-regular{font-weight:400}.tw-font-semibold,.tw-font-typography-bold{font-weight:600}.tw-font-typography-regular{font-weight:400}.\!tw-leading-\[10px\]{line-height:10px!important}.\!tw-leading-\[13px\]{line-height:13px!important}.\!tw-leading-\[16px\]{line-height:16px!important}.\!tw-leading-\[17px\]{line-height:17px!important}.\!tw-leading-\[18px\]{line-height:18px!important}.\!tw-leading-\[1\]{line-height:1!important}.\!tw-leading-\[20px\]{line-height:20px!important}.\!tw-leading-\[9px\]{line-height:9px!important}.tw-leading-5{line-height:1.25rem}.tw-leading-\[0\]{line-height:0}.tw-leading-\[10px\]{line-height:10px}.tw-leading-\[13px\]{line-height:13px}.tw-leading-\[1\]{line-height:1}.tw-leading-\[43px\]{line-height:43px}.tw-leading-body-large{line-height:39.34px}.tw-leading-body-medium{line-height:31.5px}.tw-leading-body-small{line-height:25.62px}.tw-leading-caption{line-height:19.6px}.tw-leading-heading-large{line-height:66.97px}.tw-leading-heading-medium{line-height:49.3px}.tw-leading-heading-small{line-height:38.5px}.tw-tracking-body-large{letter-spacing:-.843px}.tw-tracking-body-medium{letter-spacing:-.675px}.tw-tracking-body-small{letter-spacing:-.366px}.tw-tracking-heading-large{letter-spacing:-3.525px}.tw-tracking-heading-medium{letter-spacing:-2.465px}.tw-tracking-heading-small{letter-spacing:-1.05px}.\!tw-text-\[transparent\]{color:transparent!important}.\!tw-text-grey-300{color:var(--squid-theme-grey-300)!important}.\!tw-text-grey-500{color:var(--squid-theme-grey-500)!important}.\!tw-text-grey-600{color:var(--squid-theme-grey-600)!important}.\!tw-text-grey-800{color:var(--squid-theme-grey-800)!important}.tw-text-\[\#FBFBFD\]{--tw-text-opacity:1;color:rgb(251 251 253/var(--tw-text-opacity))}.tw-text-grey-100{color:var(--squid-theme-grey-100)}.tw-text-grey-200{color:var(--squid-theme-grey-200)}.tw-text-grey-300{color:var(--squid-theme-grey-300)}.tw-text-grey-400{color:var(--squid-theme-grey-400)}.tw-text-grey-500{color:var(--squid-theme-grey-500)}.tw-text-grey-600{color:var(--squid-theme-grey-600)}.tw-text-grey-700{color:var(--squid-theme-grey-700)}.tw-text-grey-800{color:var(--squid-theme-grey-800)}.tw-text-grey-900{color:var(--squid-theme-grey-900)}.tw-text-material-light-average{color:var(--squid-theme-material-light-average)}.tw-text-material-light-thick{color:var(--squid-theme-material-light-thick)}.tw-text-material-light-thin{color:var(--squid-theme-material-light-thin)}.tw-text-royal-400{color:var(--squid-theme-royal-400)}.tw-text-royal-500{color:var(--squid-theme-royal-500)}.tw-text-status-negative{color:var(--squid-theme-status-negative)}.tw-text-status-partial{color:var(--squid-theme-status-partial)}.tw-text-status-positive{color:var(--squid-theme-status-positive)}.tw-text-transparent{color:transparent}.tw-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.\!tw-opacity-100{opacity:1!important}.tw-opacity-0{opacity:0}.tw-opacity-100{opacity:1}.tw-opacity-33{opacity:.33}.tw-opacity-50{opacity:.5}.tw-opacity-66{opacity:.66}.tw-shadow-elevation-light-1{--tw-shadow:0px 1px 2px 0px #0000001a;--tw-shadow-colored:0px 1px 2px 0px var(--tw-shadow-color)}.tw-shadow-elevation-light-1,.tw-shadow-elevation-light-2{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-shadow-elevation-light-2{--tw-shadow:0px 2px 5px 1px rgba(0,0,0,.1),0px 5px 20px -1px rgba(0,0,0,.1);--tw-shadow-colored:0px 2px 5px 1px var(--tw-shadow-color),0px 5px 20px -1px var(--tw-shadow-color)}.tw-shadow-elevation-light-3{--tw-shadow:0px 2px 4px 0px rgba(0,0,0,.1),0px 5px 50px -1px rgba(0,0,0,.2);--tw-shadow-colored:0px 2px 4px 0px var(--tw-shadow-color),0px 5px 50px -1px var(--tw-shadow-color)}.tw-shadow-elevation-light-3,.tw-shadow-inset-royal{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-shadow-inset-royal{--tw-shadow:0px 0px 50px 0px #876fe2 inset;--tw-shadow-colored:inset 0px 0px 50px 0px var(--tw-shadow-color)}.tw-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-outline{outline-style:solid}.tw-outline-1{outline-width:1px}.tw-outline-2{outline-width:2px}.-tw-outline-offset-2{outline-offset:-2px}.-tw-outline-offset-\[1px\]{outline-offset:-1px}.\!tw-outline-status-negative{outline-color:var(--squid-theme-status-negative)!important}.tw-outline-material-light-thin{outline-color:var(--squid-theme-material-light-thin)}.tw-outline-royal-500{outline-color:var(--squid-theme-royal-500)}.tw-backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.tw-backdrop-blur-2xl,.tw-backdrop-blur-lg{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.tw-backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.tw-backdrop-blur\/10{--tw-backdrop-blur:blur(10px)}.tw-backdrop-blur\/10,.tw-backdrop-blur\/20{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.tw-backdrop-blur\/20{--tw-backdrop-blur:blur(20px)}.tw-backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.tw-transition-\[border-width\]{transition-duration:.15s;transition-property:border-width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-transition-\[width\,height\]{transition-duration:.15s;transition-property:width,height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-delay-300{transition-delay:.3s}.tw-duration-1000{transition-duration:1s}.tw-duration-150{transition-duration:.15s}.tw-duration-200{transition-duration:.2s}.tw-duration-300{transition-duration:.3s}.tw-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:Geist;src:local("Geist"),url(fonts/Geist-Variable.woff2) format("woff2")}*,:after,:before{box-sizing:border-box}:disabled{cursor:not-allowed}.tw-assets-button-mask{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIiIGhlaWdodD0iNDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTAgMjBBMTkuOTM4IDE5LjkzOCAwIDAgMSA1Ljg1OCA1Ljg1OCAxOS45MzcgMTkuOTM3IDAgMCAxIDIwIDBhMTkuOTM3IDE5LjkzNyAwIDAgMSAxNC4xNDIgNS44NThjLjUyOC41MjcgMS4wNDYgMS4wNiAxLjU2IDEuNTg5QzM4Ljk4OCAxMC44MyA0Mi4wNjcgMTQgNDYgMTRjMy45MzIgMCA3LjAxMS0zLjE3IDEwLjI5OS02LjU1My41MTMtLjUyOCAxLjAzMS0xLjA2MiAxLjU1OS0xLjU5QTE5LjkzNyAxOS45MzcgMCAwIDEgNzIgMHY0MGExOS45MzcgMTkuOTM3IDAgMCAxLTE0LjE0Mi01Ljg1OGMtLjUyNS0uNTI1LTEuMDQtMS4wNTYtMS41NTEtMS41ODJDNTMuMDE3IDI5LjE3NCA0OS45MzQgMjYgNDYgMjZzLTcuMDE3IDMuMTc0LTEwLjMwNiA2LjU2Yy0uNTExLjUyNi0xLjAyNyAxLjA1Ny0xLjU1MiAxLjU4MkExOS45MzcgMTkuOTM3IDAgMCAxIDIwIDQwYTE5LjkzNyAxOS45MzcgMCAwIDEtMTQuMTQyLTUuODU4QTE5LjkzNyAxOS45MzcgMCAwIDEgMCAyMFoiIGZpbGw9IiNGQkZCRkQiIHN0eWxlPSJmaWxsOmNvbG9yKGRpc3BsYXktcDMgLjk4NCAuOTg2MSAuOTkwNCk7ZmlsbC1vcGFjaXR5OjEiLz48L3N2Zz4=");mask-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIiIGhlaWdodD0iNDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTAgMjBBMTkuOTM4IDE5LjkzOCAwIDAgMSA1Ljg1OCA1Ljg1OCAxOS45MzcgMTkuOTM3IDAgMCAxIDIwIDBhMTkuOTM3IDE5LjkzNyAwIDAgMSAxNC4xNDIgNS44NThjLjUyOC41MjcgMS4wNDYgMS4wNiAxLjU2IDEuNTg5QzM4Ljk4OCAxMC44MyA0Mi4wNjcgMTQgNDYgMTRjMy45MzIgMCA3LjAxMS0zLjE3IDEwLjI5OS02LjU1My41MTMtLjUyOCAxLjAzMS0xLjA2MiAxLjU1OS0xLjU5QTE5LjkzNyAxOS45MzcgMCAwIDEgNzIgMHY0MGExOS45MzcgMTkuOTM3IDAgMCAxLTE0LjE0Mi01Ljg1OGMtLjUyNS0uNTI1LTEuMDQtMS4wNTYtMS41NTEtMS41ODJDNTMuMDE3IDI5LjE3NCA0OS45MzQgMjYgNDYgMjZzLTcuMDE3IDMuMTc0LTEwLjMwNiA2LjU2Yy0uNTExLjUyNi0xLjAyNyAxLjA1Ny0xLjU1MiAxLjU4MkExOS45MzcgMTkuOTM3IDAgMCAxIDIwIDQwYTE5LjkzNyAxOS45MzcgMCAwIDEtMTQuMTQyLTUuODU4QTE5LjkzNyAxOS45MzcgMCAwIDEgMCAyMFoiIGZpbGw9IiNGQkZCRkQiIHN0eWxlPSJmaWxsOmNvbG9yKGRpc3BsYXktcDMgLjk4NCAuOTg2MSAuOTkwNCk7ZmlsbC1vcGFjaXR5OjEiLz48L3N2Zz4=");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.tw-font-geist{font-feature-settings:"ss01" on,"ss03" on}li{list-style-type:none}.squid-property-row-bg:nth-child(odd)>div{background:linear-gradient(91deg,var(--squid-theme-grey-100-005) 0,transparent 100%)}:focus-visible{outline-color:var(--squid-theme-royal-500);outline-style:solid;outline-width:2px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:invalid{outline-color:var(--squid-theme-status-negative)}.tw-group[data-squid-theme-type=dark] #squid-lottie-animation #keystroke{stroke:var(--squid-theme-grey-100)!important}.tw-group[data-squid-theme-type=light] #squid-lottie-animation #keystroke{stroke:var(--squid-theme-grey-900)!important}#squid-lottie-animation #keyfill{fill:var(--squid-theme-royal-500)!important}.tw-timeline-gradient-mask{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 calc(50% - 15px),#000 calc(50% + 15px),transparent);mask-image:linear-gradient(180deg,transparent 0,#000 calc(50% - 15px),#000 calc(50% + 15px),transparent)}input.date-input-no-icon::-webkit-calendar-picker-indicator,input.date-input-no-icon::-webkit-inner-spin-button{-webkit-appearance:none;display:none}@keyframes loading-gradient-scroll{0%{transform:translateX(-56%)}to{transform:translateX(0)}}.loading-gradient{--mid-color:transparent;overflow:hidden;position:relative;[data-squid-theme-type=dark] &{--mid-color:var(--squid-theme-material-light-average)}&:after{animation:loading-gradient-scroll 1s ease-in-out infinite both;background-image:linear-gradient(to right,var(--squid-theme-material-light-thin) 43%,var(--mid-color) 52%,var(--squid-theme-material-light-thin) 56%);content:"";display:block;height:100%;left:0;position:absolute;top:0;width:230%}}.boost-badge{--boost-badge-badge-color:var(--squid-theme-royal-400);--boost-badge-text-color:var(--squid-theme-grey-900);--boost-badge-shadow-color:#e4fe53;[data-squid-theme-type=dark] &{--boost-badge-badge-color:#e4fe53;--boost-badge-shadow-color:var(--squid-theme-royal-400)}}:root{.rdp{--rdp-accent-color:var(--squid-theme-material-light-thin);--rdp-background-color:transparent;margin:0!important}.rdp-month,.rdp-table{width:100%}.rdp-table{border-spacing:2px}.rdp-nav{width:28.5%;button{width:50%}}.rdp-cell,.rdp-head_cell{flex-grow:1;font-size:.875rem;height:auto;width:auto}.rdp-head_cell{height:2.5rem}.rdp-day{width:100%}.rdp-caption_label{font-weight:400}.rdp-day,.rdp-day_range_end.rdp-day_range_start{border-radius:.3125rem!important}.day-picker-from .rdp-day_range_start,.day-picker-to .rdp-day_range_end{--tw-text-opacity:1;background-color:var(--squid-theme-royal-500);color:rgb(255 255 255/var(--tw-text-opacity))}.rdp-button:hover:not([disabled]):not(.rdp-nav_button){border:2px solid var(--squid-theme-royal-500)}}.sb-show-main.sb-main-centered #storybook-root{margin:0;padding:0;width:100%}@media (min-width:480px){.sb-show-main.sb-main-centered #storybook-root{margin:auto;width:auto}}.squid-animated-loader-dash{stroke-dasharray:20.942,62.827;stroke-dashoffset:0;animation:squid-animated-loader-dash-grow var(--squid-loader-rotate-duration) infinite alternate ease-in-out}@keyframes squid-animated-loader-dash-grow{0%{stroke-dasharray:62.827;stroke-dashoffset:0}to{stroke-dasharray:4141.884;stroke-dashoffset:-20.942}}.squid-animated-loader{animation:rotate-360 var(--squid-loader-rotate-duration) linear infinite}@keyframes rotate-360{to{transform:rotate(1turn)}}.placeholder\:tw-text-grey-600::-moz-placeholder{color:var(--squid-theme-grey-600)}.placeholder\:tw-text-grey-600::placeholder{color:var(--squid-theme-grey-600)}.placeholder-shown\:tw-text-grey-600:-moz-placeholder-shown{color:var(--squid-theme-grey-600)}.placeholder-shown\:tw-text-grey-600:placeholder-shown{color:var(--squid-theme-grey-600)}.invalid\:tw-outline-status-negative:invalid{outline-color:var(--squid-theme-status-negative)}.hover\:tw-border-material-light-average:hover{border-color:var(--squid-theme-material-light-average)}.hover\:tw-bg-material-light-thin:hover{background-color:var(--squid-theme-material-light-thin)}.hover\:tw-text-grey-400:hover{color:var(--squid-theme-grey-400)}.hover\:tw-opacity-100:hover{opacity:1}.focus\:tw-bg-material-light-thin:focus{background-color:var(--squid-theme-material-light-thin)}.focus\:tw-text-royal-400:focus{color:var(--squid-theme-royal-400)}.focus\:tw-opacity-100:focus{opacity:1}.focus\:tw-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.disabled\:tw-cursor-not-allowed:disabled{cursor:not-allowed}.tw-group\/base-button:hover .group-hover\/base-button\:tw-block,.tw-group\/list-item:hover .group-hover\/list-item\:tw-block{display:block}.tw-group\/history-item:hover .group-hover\/history-item\:tw-hidden{display:none}.tw-group\/flip-button:hover .group-hover\/flip-button\:tw-rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-group\/boost-toggle:hover .group-hover\/boost-toggle\:tw-from-material-light-blend-grey-900{--tw-gradient-from:var(--squid-theme-material-light-blend-grey-900) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tw-group\/swap-step-item-button:hover .group-hover\/swap-step-item-button\:tw-from-grey-700{--tw-gradient-from:var(--squid-theme-grey-700) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tw-group\/collapsing-section:hover .group-hover\/collapsing-section\:tw-opacity-100{opacity:1}.tw-group\/history-item:hover .group-hover\/history-item\:tw-opacity-0{opacity:0}.tw-group\/history-item:hover .group-hover\/history-item\:tw-opacity-100,.tw-group\/list-item:focus .group-focus\/list-item\:tw-opacity-100,.tw-group\/list-item:hover .group-hover\/list-item\:tw-opacity-100{opacity:1}.tw-group\/boost-toggle:disabled .group-disabled\/boost-toggle\:tw-grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tw-peer:focus~.peer-focus\:tw-hidden{display:none}.tw-peer:focus~.peer-focus\:tw-opacity-0{opacity:0}.aria-disabled\:tw-bg-grey-600[aria-disabled=true]{background-color:var(--squid-theme-grey-600)}.aria-disabled\:tw-text-grey-800[aria-disabled=true]{color:var(--squid-theme-grey-800)}@keyframes tw-move-to-left-with-spring-bounce{0%{transform:translateX(25%)}50%{transform:translateX(-27%)}80%{transform:translateX(-24%)}to{transform:translateX(-25%)}}.data-\[boost-mode\=boost\]\:tw-animate-move-to-left-with-spring-bounce[data-boost-mode=boost]{animation:tw-move-to-left-with-spring-bounce var(--squid-animation-move-with-spring-bounce-duration,0s) ease-out both}@keyframes tw-move-to-right-with-spring-bounce{0%{transform:translateX(-25%)}50%{transform:translateX(27%)}80%{transform:translateX(24%)}to{transform:translateX(25%)}}.data-\[boost-mode\=normal\]\:tw-animate-move-to-right-with-spring-bounce[data-boost-mode=normal]{animation:tw-move-to-right-with-spring-bounce var(--squid-animation-move-with-spring-bounce-duration,0s) ease-out both}.tw-group[data-boost-mode=boost] .group-data-\[boost-mode\=boost\]\:tw-left-\[calc\(50\%-2px\)\]{left:calc(50% - 2px)}.tw-group[data-boost-mode=normal] .group-data-\[boost-mode\=normal\]\:tw-left-\[calc\(50\%-6px\)\]{left:calc(50% - 6px)}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=dark\]\:tw-bg-grey-100{background-color:var(--squid-theme-grey-100)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=light\]\:tw-bg-grey-900{background-color:var(--squid-theme-grey-900)}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=\'dark\'\]\:tw-bg-royal-dark{background-image:linear-gradient(180deg,#bf91f2,#a577d8)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=\'light\'\]\:tw-bg-royal-light{background-image:linear-gradient(180deg,#a577d8,#bf91f2)}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=dark\]\:tw-text-grey-100{color:var(--squid-theme-grey-100)}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=dark\]\:tw-text-material-light-average{color:var(--squid-theme-material-light-average)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=light\]\:tw-text-grey-900{color:var(--squid-theme-grey-900)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=light\]\:tw-text-transparent{color:transparent}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=dark\]\:tw-shadow-elevation-dark-2{--tw-shadow:0px 2px 5px 1px rgba(0,0,0,.2),0px 5px 20px -1px rgba(0,0,0,.33);--tw-shadow-colored:0px 2px 5px 1px var(--tw-shadow-color),0px 5px 20px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=dark\]\:tw-shadow-elevation-dark-3{--tw-shadow:0px 2px 4px 0px rgba(0,0,0,.2),0px 5px 50px -1px rgba(0,0,0,.33);--tw-shadow-colored:0px 2px 4px 0px var(--tw-shadow-color),0px 5px 50px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=light\]\:tw-shadow-elevation-light-2{--tw-shadow:0px 2px 5px 1px rgba(0,0,0,.1),0px 5px 20px -1px rgba(0,0,0,.1);--tw-shadow-colored:0px 2px 5px 1px var(--tw-shadow-color),0px 5px 20px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=light\]\:tw-shadow-elevation-light-3{--tw-shadow:0px 2px 4px 0px rgba(0,0,0,.1),0px 5px 50px -1px rgba(0,0,0,.2);--tw-shadow-colored:0px 2px 4px 0px var(--tw-shadow-color),0px 5px 50px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-peer[data-boost-mode=boost]~.peer-data-\[boost-mode\=boost\]\:tw-bg-status-positive{background-color:var(--squid-theme-status-positive)}.tw-peer[data-boost-mode=normal]~.peer-data-\[boost-mode\=normal\]\:tw-bg-current{background-color:currentColor}@media (min-width:480px){.mobile-lg\:-tw-left-\[3px\]{left:-3px}.mobile-lg\:tw-left-\[30px\]{left:30px}.mobile-lg\:tw-left-squid-l{left:1.875rem}.mobile-lg\:tw-block{display:block}.mobile-lg\:tw-h-\[205px\]{height:205px}.mobile-lg\:tw-h-\[75px\]{height:75px}.mobile-lg\:tw-h-auto{height:auto}.mobile-lg\:tw-h-card-large{height:660px}.mobile-lg\:tw-max-h-\[205px\]{max-height:205px}.mobile-lg\:tw-max-h-modal-large{max-height:600px}.mobile-lg\:tw-min-h-card-large{min-height:660px}.mobile-lg\:tw-w-\[140px\]{width:140px}.mobile-lg\:tw-w-\[190px\]{width:190px}.mobile-lg\:tw-w-card-large{width:480px}.mobile-lg\:tw-w-full{width:100%}.mobile-lg\:tw-w-list-item-large{width:23.75rem}.mobile-lg\:tw-w-modal-extra-large{width:440px}.mobile-lg\:tw-w-modal-large{width:400px}.mobile-lg\:tw-w-squid-xl{width:2.5rem}.mobile-lg\:tw-min-w-modal-large{min-width:400px}.mobile-lg\:tw-max-w-card-large{max-width:480px}.mobile-lg\:tw-max-w-modal-large{max-width:400px}.mobile-lg\:tw-rounded-squid-l{border-radius:1.875rem}.mobile-lg\:tw-px-squid-l{padding-left:1.875rem;padding-right:1.875rem}.mobile-lg\:tw-px-squid-m{padding-left:1.25rem;padding-right:1.25rem}.mobile-lg\:tw-px-squid-xs{padding-left:.625rem;padding-right:.625rem}.mobile-lg\:tw-px-squid-xxs{padding-left:.3125rem;padding-right:.3125rem}.mobile-lg\:tw-pl-squid-l{padding-left:1.875rem}}@media (prefers-color-scheme:dark){.dark\:tw-border-b-material-light-thin{border-bottom-color:var(--squid-theme-material-light-thin)}.dark\:tw-bg-material-dark-thick{background-color:var(--squid-theme-material-dark-thick)}.dark\:tw-text-grey-900{color:var(--squid-theme-grey-900)}}
|
|
4
|
+
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.tw-sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.tw-pointer-events-none{pointer-events:none}.tw-visible{visibility:visible}.tw-invisible{visibility:hidden}.tw-fixed{position:fixed}.tw-absolute{position:absolute}.tw-relative{position:relative}.tw-inset-0{inset:0}.tw-inset-squid-xxs{inset:.3125rem}.tw-inset-y-0{bottom:0;top:0}.-tw-bottom-20{bottom:-5rem}.-tw-left-\[20px\]{left:-20px}.-tw-left-\[2px\]{left:-2px}.-tw-left-\[4px\]{left:-4px}.-tw-left-\[5px\]{left:-5px}.-tw-right-1\/3{right:-33.333333%}.-tw-right-squid-xxs{right:-.3125rem}.-tw-top-8{top:-2rem}.-tw-top-\[2px\]{top:-2px}.-tw-top-\[4px\]{top:-4px}.-tw-top-\[55px\]{top:-55px}.-tw-top-squid-xxs{top:-.3125rem}.tw-bottom-0{bottom:0}.tw-bottom-0\.5{bottom:.125rem}.tw-bottom-1\/2{bottom:50%}.tw-bottom-2{bottom:.5rem}.tw-bottom-4{bottom:1rem}.tw-bottom-7{bottom:1.75rem}.tw-bottom-full{bottom:100%}.tw-bottom-squid-xxs{bottom:.3125rem}.tw-left-0{left:0}.tw-left-1\/2{left:50%}.tw-left-5{left:1.25rem}.tw-left-\[-14px\]{left:-14px}.tw-left-\[15px\]{left:15px}.tw-left-\[17px\]{left:17px}.tw-left-\[1px\]{left:1px}.tw-left-\[26px\]{left:26px}.tw-left-\[2px\]{left:2px}.tw-left-\[54px\]{left:54px}.tw-left-\[calc\(50\%-2px\)\]{left:calc(50% - 2px)}.tw-left-squid-m{left:1.25rem}.tw-left-squid-s{left:.9375rem}.tw-left-squid-xs{left:.625rem}.tw-right-0{right:0}.tw-right-1{right:.25rem}.tw-right-1\.5{right:.375rem}.tw-right-4{right:1rem}.tw-right-\[40px\]{right:40px}.tw-right-\[calc\(100\%-10px\)\]{right:calc(100% - 10px)}.tw-right-full{right:100%}.tw-right-squid-xs{right:.625rem}.tw-right-squid-xxs{right:.3125rem}.tw-top-0{top:0}.tw-top-7{top:1.75rem}.tw-top-\[11px\]{top:11px}.tw-top-\[2px\]{top:2px}.tw-top-full{top:100%}.tw-top-squid-xs{top:.625rem}.tw-top-squid-xxs{top:.3125rem}.-tw-z-40{z-index:-40}.tw-z-0{z-index:0}.tw-z-10{z-index:10}.tw-z-20{z-index:20}.tw-z-40{z-index:40}.tw-z-50{z-index:50}.tw-z-\[5\]{z-index:5}.tw-m-0{margin:0}.tw-mx-auto{margin-left:auto;margin-right:auto}.tw-mx-squid-xxs{margin-left:.3125rem;margin-right:.3125rem}.tw-my-4{margin-bottom:1rem;margin-top:1rem}.-tw-mb-1{margin-bottom:-.25rem}.-tw-ml-1{margin-left:-.25rem}.-tw-ml-squid-xs{margin-left:-.625rem}.tw-ml-2{margin-left:.5rem}.tw-mr-1{margin-right:.25rem}.tw-mr-1\.5{margin-right:.375rem}.tw-mr-squid-xs{margin-right:.625rem}.tw-mt-0{margin-top:0}.tw-mt-0\.5{margin-top:.125rem}.tw-mt-1{margin-top:.25rem}.tw-block{display:block}.tw-inline-block{display:inline-block}.tw-flex{display:flex}.tw-inline-flex{display:inline-flex}.tw-grid{display:grid}.tw-hidden{display:none}.tw-aspect-square{aspect-ratio:1/1}.\!tw-h-\[30px\]{height:30px!important}.tw-h-1{height:.25rem}.tw-h-1\.5{height:.375rem}.tw-h-10{height:2.5rem}.tw-h-2{height:.5rem}.tw-h-2\.5{height:.625rem}.tw-h-4{height:1rem}.tw-h-5{height:1.25rem}.tw-h-52{height:13rem}.tw-h-6{height:1.5rem}.tw-h-8{height:2rem}.tw-h-\[0\.8em\]{height:.8em}.tw-h-\[1\.2em\]{height:1.2em}.tw-h-\[1000px\]{height:1000px}.tw-h-\[100vh\]{height:100vh}.tw-h-\[10px\]{height:10px}.tw-h-\[110px\]{height:110px}.tw-h-\[14px\]{height:14px}.tw-h-\[160px\]{height:160px}.tw-h-\[16px\]{height:16px}.tw-h-\[17px\]{height:17px}.tw-h-\[195px\]{height:195px}.tw-h-\[211px\]{height:211px}.tw-h-\[21px\]{height:21px}.tw-h-\[240px\]{height:240px}.tw-h-\[26px\]{height:26px}.tw-h-\[30px\]{height:30px}.tw-h-\[40px\]{height:40px}.tw-h-\[42px\]{height:42px}.tw-h-\[46px\]{height:46px}.tw-h-\[50px\]{height:50px}.tw-h-\[52px\]{height:52px}.tw-h-\[535px\]{height:535px}.tw-h-\[536px\]{height:536px}.tw-h-\[540px\]{height:540px}.tw-h-\[55px\]{height:55px}.tw-h-\[60px\]{height:60px}.tw-h-\[69px\]{height:69px}.tw-h-\[80\.6px\]{height:80.6px}.tw-h-\[80px\]{height:80px}.tw-h-\[94px\]{height:94px}.tw-h-\[95px\]{height:95px}.tw-h-button{height:3.75rem}.tw-h-card-compact{height:671px}.tw-h-full{height:100%}.tw-h-list-item-large{height:3.125rem}.tw-h-list-item-small{height:2.5rem}.tw-h-screen{height:100vh}.tw-h-squid-l{height:1.875rem}.tw-h-squid-m{height:1.25rem}.tw-h-squid-xl{height:2.5rem}.tw-h-squid-xs{height:.625rem}.tw-h-squid-xxl{height:3.75rem}.\!tw-max-h-\[470px\]{max-height:470px!important}.tw-max-h-\[120px\]{max-height:120px}.tw-max-h-\[211px\]{max-height:211px}.tw-max-h-\[535px\]{max-height:535px}.tw-max-h-\[540px\]{max-height:540px}.tw-max-h-\[55px\]{max-height:55px}.tw-max-h-\[60px\]{max-height:60px}.tw-max-h-\[80px\]{max-height:80px}.tw-max-h-\[80vh\]{max-height:80vh}.tw-max-h-list-item-small{max-height:2.5rem}.tw-max-h-modal-compact{max-height:631px}.tw-max-h-squid-m{max-height:1.25rem}.tw-max-h-squid-xl{max-height:2.5rem}.tw-min-h-\[195px\]{min-height:195px}.tw-min-h-\[30px\]{min-height:30px}.tw-min-h-\[55px\]{min-height:55px}.tw-min-h-button{min-height:3.75rem}.tw-min-h-card-compact{min-height:671px}.tw-min-h-squid-l{min-height:1.875rem}.tw-min-h-squid-m{min-height:1.25rem}.tw-min-h-squid-xl{min-height:2.5rem}.\!tw-w-fit{width:-moz-fit-content!important;width:fit-content!important}.tw-w-10{width:2.5rem}.tw-w-12{width:3rem}.tw-w-36{width:9rem}.tw-w-4{width:1rem}.tw-w-5{width:1.25rem}.tw-w-52{width:13rem}.tw-w-6{width:1.5rem}.tw-w-8{width:2rem}.tw-w-96{width:24rem}.tw-w-\[1\.2em\]{width:1.2em}.tw-w-\[1\.5px\]{width:1.5px}.tw-w-\[1000px\]{width:1000px}.tw-w-\[100px\]{width:100px}.tw-w-\[100vw\]{width:100vw}.tw-w-\[106\.5px\]{width:106.5px}.tw-w-\[110px\]{width:110px}.tw-w-\[1260px\]{width:1260px}.tw-w-\[135px\]{width:135px}.tw-w-\[140px\]{width:140px}.tw-w-\[150px\]{width:150px}.tw-w-\[157px\]{width:157px}.tw-w-\[160px\]{width:160px}.tw-w-\[16px\]{width:16px}.tw-w-\[180px\]{width:180px}.tw-w-\[22px\]{width:22px}.tw-w-\[26px\]{width:26px}.tw-w-\[299px\]{width:299px}.tw-w-\[2px\]{width:2px}.tw-w-\[30px\]{width:30px}.tw-w-\[36px\]{width:36px}.tw-w-\[3px\]{width:3px}.tw-w-\[40px\]{width:40px}.tw-w-\[42px\]{width:42px}.tw-w-\[44px\]{width:44px}.tw-w-\[470px\]{width:470px}.tw-w-\[500px\]{width:500px}.tw-w-\[50px\]{width:50px}.tw-w-\[52px\]{width:52px}.tw-w-\[54px\]{width:54px}.tw-w-\[56\%\]{width:56%}.tw-w-\[600px\]{width:600px}.tw-w-\[60px\]{width:60px}.tw-w-\[67\%\]{width:67%}.tw-w-\[69px\]{width:69px}.tw-w-\[70px\]{width:70px}.tw-w-\[720px\]{width:720px}.tw-w-\[72px\]{width:72px}.tw-w-\[80px\]{width:80px}.tw-w-\[90px\]{width:90px}.tw-w-\[92px\]{width:92px}.tw-w-\[94px\]{width:94px}.tw-w-fit{width:-moz-fit-content;width:fit-content}.tw-w-full{width:100%}.tw-w-list-item-compact{width:22.0625rem}.tw-w-list-item-large{width:23.75rem}.tw-w-max{width:-moz-max-content;width:max-content}.tw-w-modal-compact{width:373px}.tw-w-squid-l{width:1.875rem}.tw-w-squid-m{width:1.25rem}.tw-w-squid-s{width:.9375rem}.tw-w-squid-xl{width:2.5rem}.tw-w-squid-xxl{width:3.75rem}.\!tw-min-w-0{min-width:0!important}.tw-min-w-96{min-width:24rem}.tw-min-w-\[30px\]{min-width:30px}.tw-min-w-\[60px\]{min-width:60px}.tw-min-w-list-item-small{min-width:21.25rem}.tw-min-w-modal-compact{min-width:373px}.tw-min-w-squid-xl{min-width:2.5rem}.tw-min-w-squid-xxl{min-width:3.75rem}.tw-max-w-96{max-width:24rem}.tw-max-w-\[100vw\]{max-width:100vw}.tw-max-w-\[180px\]{max-width:180px}.tw-max-w-\[200px\]{max-width:200px}.tw-max-w-\[299px\]{max-width:299px}.tw-max-w-\[320px\]{max-width:320px}.tw-max-w-\[70px\]{max-width:70px}.tw-max-w-\[72px\]{max-width:72px}.tw-max-w-\[80px\]{max-width:80px}.tw-max-w-full{max-width:100%}.tw-max-w-modal-compact{max-width:373px}.tw-max-w-none{max-width:none}.tw-max-w-xl{max-width:36rem}.tw-flex-1{flex:1 1 0%}.tw-flex-shrink-0{flex-shrink:0}.tw-flex-grow{flex-grow:1}.tw-grow-0{flex-grow:0}.tw-origin-center{transform-origin:center}.-tw-translate-x-1\/2{--tw-translate-x:-50%}.-tw-translate-x-1\/2,.-tw-translate-x-1\/3{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-tw-translate-x-1\/3{--tw-translate-x:-33.333333%}.-tw-translate-y-1\/2{--tw-translate-y:-50%}.-tw-translate-y-1\/2,.tw-translate-x-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-translate-x-1\/2{--tw-translate-x:50%}.tw-translate-y-1\/2{--tw-translate-y:50%}.-tw-rotate-90,.tw-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-tw-rotate-90{--tw-rotate:-90deg}.tw-rotate-180{--tw-rotate:180deg}.tw-rotate-180,.tw-rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-rotate-90{--tw-rotate:90deg}@keyframes tw-blur-in{0%{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);background-color:var(--squid-theme-material-dark-average)}}.tw-animate-blur-in{animation:tw-blur-in var(--squid-animation-blur-in-duration,0s) cubic-bezier(.165,.84,.44,1) both}@keyframes tw-blur-out{0%{-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);background-color:var(--squid-theme-material-dark-average)}to{-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}}.tw-animate-blur-out{animation:tw-blur-out var(--squid-animation-blur-out-duration,0s) cubic-bezier(.165,.84,.44,1) both}@keyframes tw-collapse-route{0%{height:100%}to{height:60px}}.tw-animate-collapse-route{animation:tw-collapse-route var(--squid-animation-collapse-to-bottom-duration,0s) linear both}@keyframes tw-expand-route{0%{height:60px}to{height:100%}}.tw-animate-expand-route{animation:tw-expand-route var(--squid-animation-expand-to-top-duration,0s) linear both}@keyframes tw-fade-in{0%{opacity:0}to{opacity:1}}.tw-animate-fade-in{animation:tw-fade-in var(--squid-animation-fade-in-duration,0s) ease-out both}@keyframes tw-fade-out{0%{opacity:1}to{opacity:0}}.tw-animate-fade-out{animation:tw-fade-out var(--squid-animation-fade-out-duration,0s) ease-out both}@keyframes tw-loading-gradient{0%{opacity:0;transform:translateX(-70%)}50%{opacity:1}to{opacity:0;transform:translateX(70%)}}.tw-animate-loading-gradient{animation:tw-loading-gradient 1s ease-in-out infinite both}@keyframes tw-move-loading-cover-to-right{0%{transform:translateX(-64%)}to{transform:translateX(0)}}.tw-animate-move-loading-cover-to-right{animation:tw-move-loading-cover-to-right 1.4s linear infinite}@keyframes tw-scale-and-fade-down{0%{opacity:1;transform:scale(1)}to{opacity:.5;transform:scale(.9)}}.tw-animate-scale-and-fade-down{animation:tw-scale-and-fade-down var(--squid-animation-scale-and-fade-down-duration,0s) linear both}@keyframes tw-scale-and-fade-up{0%{opacity:.5;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tw-animate-scale-and-fade-up{animation:tw-scale-and-fade-up var(--squid-animation-scale-and-fade-up-duration,0s) linear both}@keyframes tw-slide-to-bottom{0%{transform:translateZ(0)}to{transform:translate3d(0,650px,0)}}.tw-animate-slide-to-bottom{animation:tw-slide-to-bottom var(--squid-animation-slide-to-bottom-duration,0s) cubic-bezier(.165,.84,.44,1) both}@keyframes tw-slide-to-top{0%{transform:translate3d(0,650px,0)}to{transform:translateZ(0)}}.tw-animate-slide-to-top{animation:tw-slide-to-top var(--squid-animation-slide-to-top-duration,0s) cubic-bezier(.165,.84,.44,1) both}.tw-cursor-help{cursor:help}.tw-cursor-not-allowed{cursor:not-allowed}.tw-cursor-pointer{cursor:pointer}.tw-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.tw-grid-cols-\[100px\,1fr\,100px\]{grid-template-columns:100px 1fr 100px}.tw-grid-cols-\[180px_299px\]{grid-template-columns:180px 299px}.tw-grid-cols-\[40px\,1fr\,60px\]{grid-template-columns:40px 1fr 60px}.tw-grid-cols-\[70px_1fr\]{grid-template-columns:70px 1fr}.tw-flex-col{flex-direction:column}.tw-flex-col-reverse{flex-direction:column-reverse}.tw-flex-wrap{flex-wrap:wrap}.tw-items-start{align-items:flex-start}.tw-items-end{align-items:flex-end}.tw-items-center{align-items:center}.tw-items-stretch{align-items:stretch}.tw-justify-start{justify-content:flex-start}.tw-justify-end{justify-content:flex-end}.tw-justify-center{justify-content:center}.tw-justify-between{justify-content:space-between}.tw-gap-0{gap:0}.tw-gap-0\.5{gap:.125rem}.tw-gap-1{gap:.25rem}.tw-gap-1\.5{gap:.375rem}.tw-gap-2{gap:.5rem}.tw-gap-\[2px\]{gap:2px}.tw-gap-squid-m{gap:1.25rem}.tw-gap-squid-s{gap:.9375rem}.tw-gap-squid-xs{gap:.625rem}.tw-gap-squid-xxs{gap:.3125rem}.tw-gap-x-squid-xs{-moz-column-gap:.625rem;column-gap:.625rem}.tw-divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.tw-divide-material-light-thin>:not([hidden])~:not([hidden]){border-color:var(--squid-theme-material-light-thin)}.tw-self-end{align-self:flex-end}.tw-self-stretch{align-self:stretch}.tw-overflow-auto{overflow:auto}.tw-overflow-hidden{overflow:hidden}.tw-overflow-y-auto{overflow-y:auto}.tw-overflow-x-hidden{overflow-x:hidden}.tw-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tw-text-nowrap{text-wrap:nowrap}.tw-rounded-2xl{border-radius:1rem}.tw-rounded-\[20px\]{border-radius:20px}.tw-rounded-\[25px\]{border-radius:25px}.tw-rounded-full{border-radius:9999px}.tw-rounded-md{border-radius:.375rem}.tw-rounded-sm{border-radius:.125rem}.tw-rounded-squid-l{border-radius:1.875rem}.tw-rounded-squid-m{border-radius:1.25rem}.tw-rounded-squid-s{border-radius:.9375rem}.tw-rounded-squid-xs{border-radius:.625rem}.tw-rounded-squid-xxl{border-radius:3.75rem}.tw-rounded-squid-xxs{border-radius:.3125rem}.tw-rounded-xl{border-radius:.75rem}.tw-rounded-bl-squid-l{border-bottom-left-radius:1.875rem}.tw-rounded-br-full{border-bottom-right-radius:9999px}.tw-rounded-br-squid-l{border-bottom-right-radius:1.875rem}.tw-rounded-tl-\[25px\]{border-top-left-radius:25px}.tw-rounded-tl-squid-l{border-top-left-radius:1.875rem}.tw-rounded-tl-xl{border-top-left-radius:.75rem}.tw-rounded-tr-\[25px\]{border-top-right-radius:25px}.tw-rounded-tr-full{border-top-right-radius:9999px}.tw-rounded-tr-squid-l{border-top-right-radius:1.875rem}.tw-rounded-tr-xl{border-top-right-radius:.75rem}.tw-border{border-width:1px}.tw-border-2{border-width:2px}.tw-border-\[1px\]{border-width:1px}.tw-border-y-\[4px\]{border-bottom-width:4px;border-top-width:4px}.tw-border-b{border-bottom-width:1px}.tw-border-r{border-right-width:1px}.tw-border-t{border-top-width:1px}.tw-border-solid{border-style:solid}.\!tw-border-transparent{border-color:transparent!important}.tw-border-grey-500{border-color:var(--squid-theme-grey-500)}.tw-border-grey-800{border-color:var(--squid-theme-grey-800)}.tw-border-grey-900{border-color:var(--squid-theme-grey-900)}.tw-border-material-light-thin{border-color:var(--squid-theme-material-light-thin)}.tw-border-slate-800{--tw-border-opacity:1;border-color:rgb(30 41 59/var(--tw-border-opacity))}.tw-border-transparent{border-color:transparent}.tw-border-b-material-dark-thin{border-bottom-color:var(--squid-theme-material-dark-thin)}.tw-border-t-material-light-thin{border-top-color:var(--squid-theme-material-light-thin)}.\!tw-bg-grey-100{background-color:var(--squid-theme-grey-100)!important}.\!tw-bg-grey-300{background-color:var(--squid-theme-grey-300)!important}.\!tw-bg-grey-500{background-color:var(--squid-theme-grey-500)!important}.\!tw-bg-grey-600{background-color:var(--squid-theme-grey-600)!important}.\!tw-bg-grey-800{background-color:var(--squid-theme-grey-800)!important}.\!tw-bg-material-light-thin{background-color:var(--squid-theme-material-light-thin)!important}.\!tw-bg-status-negative{background-color:var(--squid-theme-status-negative)!important}.\!tw-bg-status-partial{background-color:var(--squid-theme-status-partial)!important}.\!tw-bg-status-positive{background-color:var(--squid-theme-status-positive)!important}.\!tw-bg-transparent{background-color:transparent!important}.tw-bg-\[\#E4FE53\]{--tw-bg-opacity:1;background-color:rgb(228 254 83/var(--tw-bg-opacity))}.tw-bg-\[currentColor\]{background-color:currentColor}.tw-bg-grey-100{background-color:var(--squid-theme-grey-100)}.tw-bg-grey-300{background-color:var(--squid-theme-grey-300)}.tw-bg-grey-500{background-color:var(--squid-theme-grey-500)}.tw-bg-grey-700{background-color:var(--squid-theme-grey-700)}.tw-bg-grey-800{background-color:var(--squid-theme-grey-800)}.tw-bg-grey-900{background-color:var(--squid-theme-grey-900)}.tw-bg-inherit{background-color:inherit}.tw-bg-material-dark-thick{background-color:var(--squid-theme-material-dark-thick)}.tw-bg-material-dark-thin{background-color:var(--squid-theme-material-dark-thin)}.tw-bg-material-light-thin{background-color:var(--squid-theme-material-light-thin)}.tw-bg-royal-400{background-color:var(--squid-theme-royal-400)}.tw-bg-royal-500{background-color:var(--squid-theme-royal-500)}.tw-bg-slate-900{--tw-bg-opacity:1;background-color:rgb(15 23 42/var(--tw-bg-opacity))}.tw-bg-slate-950{--tw-bg-opacity:1;background-color:rgb(2 6 23/var(--tw-bg-opacity))}.tw-bg-status-negative{background-color:var(--squid-theme-status-negative)}.tw-bg-status-partial{background-color:var(--squid-theme-status-partial)}.tw-bg-status-positive{background-color:var(--squid-theme-status-positive)}.tw-bg-transparent{background-color:transparent}.tw-bg-dark-cover{background-image:linear-gradient(90deg,var(--squid-theme-material-dark-thick) 45.4%,transparent 50.85%,var(--squid-theme-material-dark-thick) 55.61%)}.tw-bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.tw-bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.tw-bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.tw-bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.tw-bg-royal-dark{background-image:linear-gradient(180deg,#bf91f2,#a577d8)}.tw-bg-royal-light{background-image:linear-gradient(180deg,#a577d8,#bf91f2)}.tw-from-grey-800{--tw-gradient-from:var(--squid-theme-grey-800) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tw-from-grey-900{--tw-gradient-from:var(--squid-theme-grey-900) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tw-to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.tw-object-cover{-o-object-fit:cover;object-fit:cover}.\!tw-p-0{padding:0!important}.tw-p-0{padding:0}.tw-p-0\.5{padding:.125rem}.tw-p-1{padding:.25rem}.tw-p-2{padding:.5rem}.tw-p-4{padding:1rem}.tw-p-8{padding:2rem}.tw-p-\[3px\]{padding:3px}.tw-p-squid-l{padding:1.875rem}.tw-p-squid-xs{padding:.625rem}.tw-p-squid-xxl{padding:3.75rem}.tw-p-squid-xxs{padding:.3125rem}.\!tw-px-0{padding-left:0!important;padding-right:0!important}.\!tw-px-4{padding-left:1rem!important;padding-right:1rem!important}.tw-px-0{padding-left:0;padding-right:0}.tw-px-4{padding-left:1rem;padding-right:1rem}.tw-px-\[3px\]{padding-left:3px;padding-right:3px}.tw-px-squid-l{padding-left:1.875rem;padding-right:1.875rem}.tw-px-squid-m{padding-left:1.25rem;padding-right:1.25rem}.tw-px-squid-s{padding-left:.9375rem;padding-right:.9375rem}.tw-px-squid-xs{padding-left:.625rem;padding-right:.625rem}.tw-px-squid-xxl{padding-left:3.75rem;padding-right:3.75rem}.tw-px-squid-xxs{padding-left:.3125rem;padding-right:.3125rem}.tw-py-0{padding-bottom:0;padding-top:0}.tw-py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.tw-py-2{padding-bottom:.5rem;padding-top:.5rem}.tw-py-\[1px\]{padding-bottom:1px;padding-top:1px}.tw-py-squid-l{padding-bottom:1.875rem;padding-top:1.875rem}.tw-py-squid-m{padding-bottom:1.25rem;padding-top:1.25rem}.tw-py-squid-s{padding-bottom:.9375rem;padding-top:.9375rem}.tw-py-squid-xl{padding-bottom:2.5rem;padding-top:2.5rem}.tw-py-squid-xs{padding-bottom:.625rem;padding-top:.625rem}.tw-py-squid-xxs{padding-bottom:.3125rem;padding-top:.3125rem}.tw-pb-\[15px\]{padding-bottom:15px}.tw-pb-squid-l{padding-bottom:1.875rem}.tw-pb-squid-m{padding-bottom:1.25rem}.tw-pb-squid-s{padding-bottom:.9375rem}.tw-pb-squid-xs{padding-bottom:.625rem}.tw-pb-squid-xxs{padding-bottom:.3125rem}.tw-pl-1{padding-left:.25rem}.tw-pl-\[33px\]{padding-left:33px}.tw-pl-\[40px\]{padding-left:40px}.tw-pl-\[75px\]{padding-left:75px}.tw-pl-\[7px\]{padding-left:7px}.tw-pl-squid-m{padding-left:1.25rem}.tw-pl-squid-xxs{padding-left:.3125rem}.tw-pr-1{padding-right:.25rem}.tw-pr-2{padding-right:.5rem}.tw-pr-2\.5{padding-right:.625rem}.tw-pr-4{padding-right:1rem}.tw-pr-\[40px\]{padding-right:40px}.tw-pr-\[70px\]{padding-right:70px}.tw-pr-squid-l{padding-right:1.875rem}.tw-pr-squid-m{padding-right:1.25rem}.tw-pr-squid-xl{padding-right:2.5rem}.tw-pr-squid-xs{padding-right:.625rem}.tw-pr-squid-xxs{padding-right:.3125rem}.tw-pt-0{padding-top:0}.tw-pt-\[5px\]{padding-top:5px}.tw-pt-squid-m{padding-top:1.25rem}.tw-pt-squid-xs{padding-top:.625rem}.tw-pt-squid-xxs{padding-top:.3125rem}.tw-text-left{text-align:left}.tw-text-center{text-align:center}.tw-text-right{text-align:right}.tw-font-geist{font-family:Geist,sans-serif}.tw-text-body-large{font-size:1.75625rem}.tw-text-body-medium{font-size:1.40625rem}.tw-text-body-small{font-size:1.14375rem}.tw-text-caption{font-size:.875rem}.tw-text-heading-large{font-size:4.40625rem}.tw-text-heading-medium{font-size:3.08125rem}.tw-text-heading-small{font-size:2.1875rem}.tw-text-lg{font-size:1.125rem;line-height:1.75rem}.tw-text-sm{font-size:.875rem;line-height:1.25rem}.tw-text-xs{font-size:.75rem;line-height:1rem}.\!tw-font-medium{font-weight:500!important}.tw-font-heading-bold{font-weight:600}.tw-font-heading-regular{font-weight:400}.tw-font-semibold,.tw-font-typography-bold{font-weight:600}.tw-font-typography-regular{font-weight:400}.\!tw-leading-\[10px\]{line-height:10px!important}.\!tw-leading-\[13px\]{line-height:13px!important}.\!tw-leading-\[16px\]{line-height:16px!important}.\!tw-leading-\[17px\]{line-height:17px!important}.\!tw-leading-\[18px\]{line-height:18px!important}.\!tw-leading-\[1\]{line-height:1!important}.\!tw-leading-\[20px\]{line-height:20px!important}.\!tw-leading-\[9px\]{line-height:9px!important}.tw-leading-5{line-height:1.25rem}.tw-leading-\[0\]{line-height:0}.tw-leading-\[10px\]{line-height:10px}.tw-leading-\[13px\]{line-height:13px}.tw-leading-\[1\]{line-height:1}.tw-leading-\[43px\]{line-height:43px}.tw-leading-body-large{line-height:39.34px}.tw-leading-body-medium{line-height:31.5px}.tw-leading-body-small{line-height:25.62px}.tw-leading-caption{line-height:19.6px}.tw-leading-heading-large{line-height:66.97px}.tw-leading-heading-medium{line-height:49.3px}.tw-leading-heading-small{line-height:38.5px}.tw-tracking-body-large{letter-spacing:-.843px}.tw-tracking-body-medium{letter-spacing:-.675px}.tw-tracking-body-small{letter-spacing:-.366px}.tw-tracking-heading-large{letter-spacing:-3.525px}.tw-tracking-heading-medium{letter-spacing:-2.465px}.tw-tracking-heading-small{letter-spacing:-1.05px}.\!tw-text-\[transparent\]{color:transparent!important}.\!tw-text-grey-300{color:var(--squid-theme-grey-300)!important}.\!tw-text-grey-500{color:var(--squid-theme-grey-500)!important}.\!tw-text-grey-600{color:var(--squid-theme-grey-600)!important}.\!tw-text-grey-800{color:var(--squid-theme-grey-800)!important}.tw-text-\[\#FBFBFD\]{--tw-text-opacity:1;color:rgb(251 251 253/var(--tw-text-opacity))}.tw-text-grey-100{color:var(--squid-theme-grey-100)}.tw-text-grey-200{color:var(--squid-theme-grey-200)}.tw-text-grey-300{color:var(--squid-theme-grey-300)}.tw-text-grey-400{color:var(--squid-theme-grey-400)}.tw-text-grey-500{color:var(--squid-theme-grey-500)}.tw-text-grey-600{color:var(--squid-theme-grey-600)}.tw-text-grey-700{color:var(--squid-theme-grey-700)}.tw-text-grey-800{color:var(--squid-theme-grey-800)}.tw-text-grey-900{color:var(--squid-theme-grey-900)}.tw-text-material-light-average{color:var(--squid-theme-material-light-average)}.tw-text-material-light-thick{color:var(--squid-theme-material-light-thick)}.tw-text-material-light-thin{color:var(--squid-theme-material-light-thin)}.tw-text-royal-400{color:var(--squid-theme-royal-400)}.tw-text-royal-500{color:var(--squid-theme-royal-500)}.tw-text-status-negative{color:var(--squid-theme-status-negative)}.tw-text-status-partial{color:var(--squid-theme-status-partial)}.tw-text-status-positive{color:var(--squid-theme-status-positive)}.tw-text-transparent{color:transparent}.tw-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.\!tw-opacity-100{opacity:1!important}.tw-opacity-0{opacity:0}.tw-opacity-100{opacity:1}.tw-opacity-33{opacity:.33}.tw-opacity-50{opacity:.5}.tw-opacity-66{opacity:.66}.tw-shadow-elevation-light-1{--tw-shadow:0px 1px 2px 0px #0000001a;--tw-shadow-colored:0px 1px 2px 0px var(--tw-shadow-color)}.tw-shadow-elevation-light-1,.tw-shadow-elevation-light-2{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-shadow-elevation-light-2{--tw-shadow:0px 2px 5px 1px rgba(0,0,0,.1),0px 5px 20px -1px rgba(0,0,0,.1);--tw-shadow-colored:0px 2px 5px 1px var(--tw-shadow-color),0px 5px 20px -1px var(--tw-shadow-color)}.tw-shadow-elevation-light-3{--tw-shadow:0px 2px 4px 0px rgba(0,0,0,.1),0px 5px 50px -1px rgba(0,0,0,.2);--tw-shadow-colored:0px 2px 4px 0px var(--tw-shadow-color),0px 5px 50px -1px var(--tw-shadow-color)}.tw-shadow-elevation-light-3,.tw-shadow-inset-royal{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-shadow-inset-royal{--tw-shadow:0px 0px 50px 0px #876fe2 inset;--tw-shadow-colored:inset 0px 0px 50px 0px var(--tw-shadow-color)}.tw-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-outline{outline-style:solid}.tw-outline-1{outline-width:1px}.tw-outline-2{outline-width:2px}.-tw-outline-offset-2{outline-offset:-2px}.-tw-outline-offset-\[1px\]{outline-offset:-1px}.\!tw-outline-status-negative{outline-color:var(--squid-theme-status-negative)!important}.tw-outline-material-light-thin{outline-color:var(--squid-theme-material-light-thin)}.tw-outline-royal-500{outline-color:var(--squid-theme-royal-500)}.tw-backdrop-blur-2xl{--tw-backdrop-blur:blur(40px)}.tw-backdrop-blur-2xl,.tw-backdrop-blur-lg{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.tw-backdrop-blur-lg{--tw-backdrop-blur:blur(16px)}.tw-backdrop-blur\/10{--tw-backdrop-blur:blur(10px)}.tw-backdrop-blur\/10,.tw-backdrop-blur\/20{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.tw-backdrop-blur\/20{--tw-backdrop-blur:blur(20px)}.tw-backdrop-saturate-150{--tw-backdrop-saturate:saturate(1.5);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.tw-transition-\[border-width\]{transition-duration:.15s;transition-property:border-width;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-transition-\[width\,height\]{transition-duration:.15s;transition-property:width,height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.tw-delay-300{transition-delay:.3s}.tw-duration-1000{transition-duration:1s}.tw-duration-150{transition-duration:.15s}.tw-duration-200{transition-duration:.2s}.tw-duration-300{transition-duration:.3s}.tw-ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@font-face{font-family:Geist;src:local("Geist"),url(fonts/Geist-Variable.woff2) format("woff2")}*,:after,:before{box-sizing:border-box}:disabled{cursor:not-allowed}.tw-assets-button-mask{-webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIiIGhlaWdodD0iNDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTAgMjBBMTkuOTM4IDE5LjkzOCAwIDAgMSA1Ljg1OCA1Ljg1OCAxOS45MzcgMTkuOTM3IDAgMCAxIDIwIDBhMTkuOTM3IDE5LjkzNyAwIDAgMSAxNC4xNDIgNS44NThjLjUyOC41MjcgMS4wNDYgMS4wNiAxLjU2IDEuNTg5QzM4Ljk4OCAxMC44MyA0Mi4wNjcgMTQgNDYgMTRjMy45MzIgMCA3LjAxMS0zLjE3IDEwLjI5OS02LjU1My41MTMtLjUyOCAxLjAzMS0xLjA2MiAxLjU1OS0xLjU5QTE5LjkzNyAxOS45MzcgMCAwIDEgNzIgMHY0MGExOS45MzcgMTkuOTM3IDAgMCAxLTE0LjE0Mi01Ljg1OGMtLjUyNS0uNTI1LTEuMDQtMS4wNTYtMS41NTEtMS41ODJDNTMuMDE3IDI5LjE3NCA0OS45MzQgMjYgNDYgMjZzLTcuMDE3IDMuMTc0LTEwLjMwNiA2LjU2Yy0uNTExLjUyNi0xLjAyNyAxLjA1Ny0xLjU1MiAxLjU4MkExOS45MzcgMTkuOTM3IDAgMCAxIDIwIDQwYTE5LjkzNyAxOS45MzcgMCAwIDEtMTQuMTQyLTUuODU4QTE5LjkzNyAxOS45MzcgMCAwIDEgMCAyMFoiIGZpbGw9IiNGQkZCRkQiIHN0eWxlPSJmaWxsOmNvbG9yKGRpc3BsYXktcDMgLjk4NCAuOTg2MSAuOTkwNCk7ZmlsbC1vcGFjaXR5OjEiLz48L3N2Zz4=");mask-image:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzIiIGhlaWdodD0iNDAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTAgMjBBMTkuOTM4IDE5LjkzOCAwIDAgMSA1Ljg1OCA1Ljg1OCAxOS45MzcgMTkuOTM3IDAgMCAxIDIwIDBhMTkuOTM3IDE5LjkzNyAwIDAgMSAxNC4xNDIgNS44NThjLjUyOC41MjcgMS4wNDYgMS4wNiAxLjU2IDEuNTg5QzM4Ljk4OCAxMC44MyA0Mi4wNjcgMTQgNDYgMTRjMy45MzIgMCA3LjAxMS0zLjE3IDEwLjI5OS02LjU1My41MTMtLjUyOCAxLjAzMS0xLjA2MiAxLjU1OS0xLjU5QTE5LjkzNyAxOS45MzcgMCAwIDEgNzIgMHY0MGExOS45MzcgMTkuOTM3IDAgMCAxLTE0LjE0Mi01Ljg1OGMtLjUyNS0uNTI1LTEuMDQtMS4wNTYtMS41NTEtMS41ODJDNTMuMDE3IDI5LjE3NCA0OS45MzQgMjYgNDYgMjZzLTcuMDE3IDMuMTc0LTEwLjMwNiA2LjU2Yy0uNTExLjUyNi0xLjAyNyAxLjA1Ny0xLjU1MiAxLjU4MkExOS45MzcgMTkuOTM3IDAgMCAxIDIwIDQwYTE5LjkzNyAxOS45MzcgMCAwIDEtMTQuMTQyLTUuODU4QTE5LjkzNyAxOS45MzcgMCAwIDEgMCAyMFoiIGZpbGw9IiNGQkZCRkQiIHN0eWxlPSJmaWxsOmNvbG9yKGRpc3BsYXktcDMgLjk4NCAuOTg2MSAuOTkwNCk7ZmlsbC1vcGFjaXR5OjEiLz48L3N2Zz4=");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.tw-font-geist{font-feature-settings:"ss01" on,"ss03" on}li{list-style-type:none}.squid-property-row-bg:nth-child(odd)>div{background:linear-gradient(91deg,var(--squid-theme-grey-100-005) 0,transparent 100%)}:focus-visible{outline-color:var(--squid-theme-royal-500);outline-style:solid;outline-width:2px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}:invalid{outline-color:var(--squid-theme-status-negative)}.tw-group[data-squid-theme-type=dark] #squid-lottie-animation #keystroke{stroke:var(--squid-theme-grey-100)!important}.tw-group[data-squid-theme-type=light] #squid-lottie-animation #keystroke{stroke:var(--squid-theme-grey-900)!important}#squid-lottie-animation #keyfill{fill:var(--squid-theme-royal-500)!important}.tw-timeline-gradient-mask{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 calc(50% - 15px),#000 calc(50% + 15px),transparent);mask-image:linear-gradient(180deg,transparent 0,#000 calc(50% - 15px),#000 calc(50% + 15px),transparent)}input.date-input-no-icon::-webkit-calendar-picker-indicator,input.date-input-no-icon::-webkit-inner-spin-button{-webkit-appearance:none;display:none}@keyframes loading-gradient-scroll{0%{transform:translateX(-56%)}to{transform:translateX(0)}}.loading-gradient{--mid-color:transparent;overflow:hidden;position:relative;[data-squid-theme-type=dark] &{--mid-color:var(--squid-theme-material-light-average)}&:after{animation:loading-gradient-scroll 1s ease-in-out infinite both;background-image:linear-gradient(to right,var(--squid-theme-material-light-thin) 43%,var(--mid-color) 52%,var(--squid-theme-material-light-thin) 56%);content:"";display:block;height:100%;left:0;position:absolute;top:0;width:230%}}.boost-badge{--boost-badge-badge-color:var(--squid-theme-royal-400);--boost-badge-text-color:var(--squid-theme-grey-900);--boost-badge-shadow-color:#e4fe53;[data-squid-theme-type=dark] &{--boost-badge-badge-color:#e4fe53;--boost-badge-shadow-color:var(--squid-theme-royal-400)}}:root{.rdp{--rdp-accent-color:var(--squid-theme-material-light-thin);--rdp-background-color:transparent;margin:0!important}.rdp-month,.rdp-table{width:100%}.rdp-table{border-spacing:2px}.rdp-nav{width:28.5%;button{width:50%}}.rdp-cell,.rdp-head_cell{flex-grow:1;font-size:.875rem;height:auto;width:auto}.rdp-head_cell{height:2.5rem}.rdp-day{width:100%}.rdp-caption_label{font-weight:400}.rdp-day,.rdp-day_range_end.rdp-day_range_start{border-radius:.3125rem!important}.day-picker-from .rdp-day_range_start,.day-picker-to .rdp-day_range_end{--tw-text-opacity:1;background-color:var(--squid-theme-royal-500);color:rgb(255 255 255/var(--tw-text-opacity))}.rdp-button:hover:not([disabled]):not(.rdp-nav_button){border:2px solid var(--squid-theme-royal-500)}}.sb-show-main.sb-main-centered #storybook-root{margin:0;padding:0;width:100%}@media (min-width:480px){.sb-show-main.sb-main-centered #storybook-root{margin:auto;width:auto}}.squid-animated-loader-dash{stroke-dasharray:20.942,62.827;stroke-dashoffset:0;animation:squid-animated-loader-dash-grow var(--squid-loader-rotate-duration) infinite alternate ease-in-out}@keyframes squid-animated-loader-dash-grow{0%{stroke-dasharray:62.827;stroke-dashoffset:0}to{stroke-dasharray:4141.884;stroke-dashoffset:-20.942}}.squid-animated-loader{animation:rotate-360 var(--squid-loader-rotate-duration) linear infinite}@keyframes rotate-360{to{transform:rotate(1turn)}}.placeholder\:tw-text-grey-600::-moz-placeholder{color:var(--squid-theme-grey-600)}.placeholder\:tw-text-grey-600::placeholder{color:var(--squid-theme-grey-600)}.placeholder-shown\:tw-text-grey-600:-moz-placeholder-shown{color:var(--squid-theme-grey-600)}.placeholder-shown\:tw-text-grey-600:placeholder-shown{color:var(--squid-theme-grey-600)}.invalid\:tw-outline-status-negative:invalid{outline-color:var(--squid-theme-status-negative)}.hover\:tw-border-material-light-average:hover{border-color:var(--squid-theme-material-light-average)}.hover\:tw-bg-material-light-thin:hover{background-color:var(--squid-theme-material-light-thin)}.hover\:tw-text-grey-400:hover{color:var(--squid-theme-grey-400)}.hover\:tw-opacity-100:hover{opacity:1}.focus\:tw-bg-material-light-thin:focus{background-color:var(--squid-theme-material-light-thin)}.focus\:tw-text-royal-400:focus{color:var(--squid-theme-royal-400)}.focus\:tw-opacity-100:focus{opacity:1}.focus\:tw-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:tw-outline-status-partial:focus-visible{outline-color:var(--squid-theme-status-partial)}.disabled\:tw-cursor-not-allowed:disabled{cursor:not-allowed}.tw-group\/base-button:hover .group-hover\/base-button\:tw-block,.tw-group\/list-item:hover .group-hover\/list-item\:tw-block{display:block}.tw-group\/history-item:hover .group-hover\/history-item\:tw-hidden{display:none}.tw-group\/flip-button:hover .group-hover\/flip-button\:tw-rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-group\/boost-toggle:hover .group-hover\/boost-toggle\:tw-from-material-light-blend-grey-900{--tw-gradient-from:var(--squid-theme-material-light-blend-grey-900) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tw-group\/swap-step-item-button:hover .group-hover\/swap-step-item-button\:tw-from-grey-700{--tw-gradient-from:var(--squid-theme-grey-700) var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.tw-group\/collapsing-section:hover .group-hover\/collapsing-section\:tw-opacity-100{opacity:1}.tw-group\/history-item:hover .group-hover\/history-item\:tw-opacity-0{opacity:0}.tw-group\/history-item:hover .group-hover\/history-item\:tw-opacity-100,.tw-group\/list-item:focus .group-focus\/list-item\:tw-opacity-100,.tw-group\/list-item:hover .group-hover\/list-item\:tw-opacity-100{opacity:1}.tw-group\/boost-toggle:disabled .group-disabled\/boost-toggle\:tw-grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.tw-peer:focus~.peer-focus\:tw-hidden{display:none}.tw-peer:focus~.peer-focus\:tw-opacity-0{opacity:0}.aria-disabled\:tw-bg-grey-600[aria-disabled=true]{background-color:var(--squid-theme-grey-600)}.aria-disabled\:tw-text-grey-800[aria-disabled=true]{color:var(--squid-theme-grey-800)}@keyframes tw-move-to-left-with-spring-bounce{0%{transform:translateX(25%)}50%{transform:translateX(-27%)}80%{transform:translateX(-24%)}to{transform:translateX(-25%)}}.data-\[boost-mode\=boost\]\:tw-animate-move-to-left-with-spring-bounce[data-boost-mode=boost]{animation:tw-move-to-left-with-spring-bounce var(--squid-animation-move-with-spring-bounce-duration,0s) ease-out both}@keyframes tw-move-to-right-with-spring-bounce{0%{transform:translateX(-25%)}50%{transform:translateX(27%)}80%{transform:translateX(24%)}to{transform:translateX(25%)}}.data-\[boost-mode\=normal\]\:tw-animate-move-to-right-with-spring-bounce[data-boost-mode=normal]{animation:tw-move-to-right-with-spring-bounce var(--squid-animation-move-with-spring-bounce-duration,0s) ease-out both}.tw-group[data-boost-mode=boost] .group-data-\[boost-mode\=boost\]\:tw-left-\[calc\(50\%-2px\)\]{left:calc(50% - 2px)}.tw-group[data-boost-mode=normal] .group-data-\[boost-mode\=normal\]\:tw-left-\[calc\(50\%-6px\)\]{left:calc(50% - 6px)}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=dark\]\:tw-bg-grey-100{background-color:var(--squid-theme-grey-100)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=light\]\:tw-bg-grey-900{background-color:var(--squid-theme-grey-900)}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=\'dark\'\]\:tw-bg-royal-dark{background-image:linear-gradient(180deg,#bf91f2,#a577d8)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=\'light\'\]\:tw-bg-royal-light{background-image:linear-gradient(180deg,#a577d8,#bf91f2)}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=dark\]\:tw-text-grey-100{color:var(--squid-theme-grey-100)}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=dark\]\:tw-text-material-light-average{color:var(--squid-theme-material-light-average)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=light\]\:tw-text-grey-900{color:var(--squid-theme-grey-900)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=light\]\:tw-text-transparent{color:transparent}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=dark\]\:tw-shadow-elevation-dark-2{--tw-shadow:0px 2px 5px 1px rgba(0,0,0,.2),0px 5px 20px -1px rgba(0,0,0,.33);--tw-shadow-colored:0px 2px 5px 1px var(--tw-shadow-color),0px 5px 20px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-group[data-squid-theme-type=dark] .group-data-\[squid-theme-type\=dark\]\:tw-shadow-elevation-dark-3{--tw-shadow:0px 2px 4px 0px rgba(0,0,0,.2),0px 5px 50px -1px rgba(0,0,0,.33);--tw-shadow-colored:0px 2px 4px 0px var(--tw-shadow-color),0px 5px 50px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=light\]\:tw-shadow-elevation-light-2{--tw-shadow:0px 2px 5px 1px rgba(0,0,0,.1),0px 5px 20px -1px rgba(0,0,0,.1);--tw-shadow-colored:0px 2px 5px 1px var(--tw-shadow-color),0px 5px 20px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-group[data-squid-theme-type=light] .group-data-\[squid-theme-type\=light\]\:tw-shadow-elevation-light-3{--tw-shadow:0px 2px 4px 0px rgba(0,0,0,.1),0px 5px 50px -1px rgba(0,0,0,.2);--tw-shadow-colored:0px 2px 4px 0px var(--tw-shadow-color),0px 5px 50px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.tw-peer[data-boost-mode=boost]~.peer-data-\[boost-mode\=boost\]\:tw-bg-status-positive{background-color:var(--squid-theme-status-positive)}.tw-peer[data-boost-mode=normal]~.peer-data-\[boost-mode\=normal\]\:tw-bg-current{background-color:currentColor}@media (min-width:480px){.mobile-lg\:-tw-left-\[3px\]{left:-3px}.mobile-lg\:tw-left-\[30px\]{left:30px}.mobile-lg\:tw-left-squid-l{left:1.875rem}.mobile-lg\:tw-block{display:block}.mobile-lg\:tw-h-\[205px\]{height:205px}.mobile-lg\:tw-h-\[75px\]{height:75px}.mobile-lg\:tw-h-auto{height:auto}.mobile-lg\:tw-h-card-large{height:660px}.mobile-lg\:tw-max-h-\[205px\]{max-height:205px}.mobile-lg\:tw-max-h-modal-large{max-height:600px}.mobile-lg\:tw-min-h-card-large{min-height:660px}.mobile-lg\:tw-w-\[140px\]{width:140px}.mobile-lg\:tw-w-\[190px\]{width:190px}.mobile-lg\:tw-w-card-large{width:480px}.mobile-lg\:tw-w-full{width:100%}.mobile-lg\:tw-w-list-item-large{width:23.75rem}.mobile-lg\:tw-w-modal-extra-large{width:440px}.mobile-lg\:tw-w-modal-large{width:400px}.mobile-lg\:tw-w-squid-xl{width:2.5rem}.mobile-lg\:tw-min-w-modal-large{min-width:400px}.mobile-lg\:tw-max-w-card-large{max-width:480px}.mobile-lg\:tw-max-w-modal-large{max-width:400px}.mobile-lg\:tw-rounded-squid-l{border-radius:1.875rem}.mobile-lg\:tw-px-squid-l{padding-left:1.875rem;padding-right:1.875rem}.mobile-lg\:tw-px-squid-m{padding-left:1.25rem;padding-right:1.25rem}.mobile-lg\:tw-px-squid-xs{padding-left:.625rem;padding-right:.625rem}.mobile-lg\:tw-px-squid-xxs{padding-left:.3125rem;padding-right:.3125rem}.mobile-lg\:tw-pl-squid-l{padding-left:1.875rem}}@media (prefers-color-scheme:dark){.dark\:tw-border-b-material-light-thin{border-bottom-color:var(--squid-theme-material-light-thin)}.dark\:tw-bg-material-dark-thick{background-color:var(--squid-theme-material-dark-thick)}.dark\:tw-text-grey-900{color:var(--squid-theme-grey-900)}}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,9 +11,14 @@ interface BadgeImageProps {
|
|
|
11
11
|
size?: BadgeSize;
|
|
12
12
|
extraMarginForBadge?: boolean;
|
|
13
13
|
rounded?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* The URL of the placeholder image. Will be displayed while the images are loading
|
|
16
|
+
* or if there's an error loading them.
|
|
17
|
+
*/
|
|
18
|
+
placeholderImageUrl?: string;
|
|
14
19
|
}
|
|
15
20
|
type BadgeSize = 'sm' | 'md';
|
|
16
|
-
declare function BadgeImage({ imageUrl, badgeUrl, size, extraMarginForBadge, rounded, }: BadgeImageProps): react_jsx_runtime.JSX.Element | null;
|
|
21
|
+
declare function BadgeImage({ imageUrl: _imageUrl, badgeUrl, size, extraMarginForBadge, rounded, placeholderImageUrl, }: BadgeImageProps): react_jsx_runtime.JSX.Element | null;
|
|
17
22
|
|
|
18
23
|
type TextSize = 'small' | 'medium' | 'large';
|
|
19
24
|
type SwitchSize = 'small' | 'large';
|
|
@@ -135,12 +140,13 @@ interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
|
|
|
135
140
|
showIcon?: boolean;
|
|
136
141
|
icon?: React.ReactNode;
|
|
137
142
|
isError?: boolean;
|
|
143
|
+
isWarning?: boolean;
|
|
138
144
|
containerClassName?: string;
|
|
139
145
|
actionButtonProps?: InputActionButtonProps;
|
|
140
146
|
autoFocusTimeout?: number;
|
|
141
147
|
inputRef?: React.RefObject<HTMLInputElement>;
|
|
142
148
|
}
|
|
143
|
-
declare function Input({ placeholder, showIcon, className, icon, isError, containerClassName, actionButtonProps, autoFocusTimeout, inputRef: inputRefProp, ...props }: InputProps): react_jsx_runtime.JSX.Element;
|
|
149
|
+
declare function Input({ placeholder, showIcon, className, icon, isError, isWarning, containerClassName, actionButtonProps, autoFocusTimeout, inputRef: inputRefProp, ...props }: InputProps): react_jsx_runtime.JSX.Element;
|
|
144
150
|
type InputActionButtonProps = {
|
|
145
151
|
onClick?: () => void;
|
|
146
152
|
variant?: ButtonVariant;
|
|
@@ -222,8 +228,9 @@ interface RangeInputProps {
|
|
|
222
228
|
onChange?: (value: string) => void;
|
|
223
229
|
min?: number;
|
|
224
230
|
max?: number;
|
|
231
|
+
isWarning?: boolean;
|
|
225
232
|
}
|
|
226
|
-
declare function RangeInput({ label, initialValue, onChange, min, max, }: RangeInputProps): react_jsx_runtime.JSX.Element;
|
|
233
|
+
declare function RangeInput({ label, initialValue, onChange, min, max, isWarning, }: RangeInputProps): react_jsx_runtime.JSX.Element;
|
|
227
234
|
|
|
228
235
|
interface AssetsButtonProps {
|
|
229
236
|
token?: {
|
|
@@ -250,6 +257,12 @@ interface BoostButtonProps {
|
|
|
250
257
|
}
|
|
251
258
|
declare function BoostButton({ boostMode, canToggleBoostMode, boostIndicatorRef, }: BoostButtonProps): react_jsx_runtime.JSX.Element;
|
|
252
259
|
|
|
260
|
+
interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
261
|
+
label?: string;
|
|
262
|
+
icon?: React.ReactNode;
|
|
263
|
+
}
|
|
264
|
+
declare function Chip({ label, icon, ...props }: ChipProps): react_jsx_runtime.JSX.Element;
|
|
265
|
+
|
|
253
266
|
interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
254
267
|
label?: string;
|
|
255
268
|
icon?: React.ReactNode;
|
|
@@ -258,14 +271,9 @@ interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
258
271
|
disabled?: boolean;
|
|
259
272
|
link?: string;
|
|
260
273
|
isLoading?: boolean;
|
|
274
|
+
chip?: ChipProps;
|
|
261
275
|
}
|
|
262
|
-
declare function Button({ label, disabled, size, variant, icon, link, isLoading, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
263
|
-
|
|
264
|
-
interface ChipProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
265
|
-
label?: string;
|
|
266
|
-
icon?: React.ReactNode;
|
|
267
|
-
}
|
|
268
|
-
declare function Chip({ label, icon, ...props }: ChipProps): react_jsx_runtime.JSX.Element;
|
|
276
|
+
declare function Button({ label, disabled, size, variant, icon, link, isLoading, chip, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
269
277
|
|
|
270
278
|
interface FeeButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
271
279
|
feeInUsd?: string;
|
|
@@ -1221,6 +1229,7 @@ interface ListItemProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
1221
1229
|
itemTitle: string | React.ReactNode;
|
|
1222
1230
|
mainImageUrl?: string;
|
|
1223
1231
|
secondaryImageUrl?: string;
|
|
1232
|
+
placeholderImageUrl?: string;
|
|
1224
1233
|
subtitle?: string;
|
|
1225
1234
|
subtitleOnHover?: React.ReactNode;
|
|
1226
1235
|
detail?: string;
|
|
@@ -1240,7 +1249,7 @@ interface ListItemProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
1240
1249
|
compactOnMobile?: boolean;
|
|
1241
1250
|
}
|
|
1242
1251
|
type ListItemSize = 'small' | 'large';
|
|
1243
|
-
declare function ListItem({ itemTitle, mainImageUrl, subtitle, subtitleOnHover, detail, icon, secondaryImageUrl, size, mainIcon, className, isSelected, onDetailClick, showDetailOnHoverOnly, rounded, detailButtonClassName, loading, containerProps, compactOnMobile, ...props }: ListItemProps): react_jsx_runtime.JSX.Element;
|
|
1252
|
+
declare function ListItem({ itemTitle, mainImageUrl, subtitle, subtitleOnHover, detail, icon, secondaryImageUrl, placeholderImageUrl, size, mainIcon, className, isSelected, onDetailClick, showDetailOnHoverOnly, rounded, detailButtonClassName, loading, containerProps, compactOnMobile, ...props }: ListItemProps): react_jsx_runtime.JSX.Element;
|
|
1244
1253
|
|
|
1245
1254
|
interface MenuItemProps {
|
|
1246
1255
|
label: string;
|
|
@@ -1699,6 +1708,7 @@ type ActionButton = {
|
|
|
1699
1708
|
onClick?: () => void;
|
|
1700
1709
|
id: React.Key;
|
|
1701
1710
|
tooltip?: Omit<TooltipProps, 'children'>;
|
|
1711
|
+
chip?: ChipProps;
|
|
1702
1712
|
};
|
|
1703
1713
|
interface NavigationBarProps {
|
|
1704
1714
|
title?: string;
|
|
@@ -2341,4 +2351,4 @@ declare const MEDIA_QUERIES: Record<MediaQuery, {
|
|
|
2341
2351
|
value: string;
|
|
2342
2352
|
}>;
|
|
2343
2353
|
|
|
2344
|
-
export { ActionLayout, ActionLineOutRow, ActionProperties, ActionRow, type ActionStatus, ActionStatusRow, ActionWrapper, AddressButton, AnimationWrapper, AppContainer, Approve, ApproveAction, ArrowBottomTopIcon, ArrowButton, ArrowCornerDownRightIcon, ArrowLeftIcon, ArrowOutOfBoxIcon, ArrowRightDownCircleIcon, ArrowRightDownIcon, ArrowRightIcon, ArrowRightUpCircleIcon, ArrowRightUpIcon, ArrowRotate, ArrowTriangle, ArrowUpIcon, ArrowWallDownIcon, ArrowsSwapIcon, AssetsButton, type AssetsButtonVariant, AssetsView, BadgeImage, BagIcon, BankIcon, type BaseActionProps, type BaseTransactionViewProps, BlockSkeleton, BodyText, Boost, BoostBadge, BoostButton, BorderedContainer, Breadcrumb, BridgeAction, BridgeHeader, BridgeProperties, BridgeTransactionView, BrokenHeartIcon, Button, BuyNFTHeader, BuyNFTProperties, BuyNFTTransactionView, Calendar, CaptionText, ChainLink, Checkmark1Icon, Checkmark2Icon, ChevronArrowIcon, ChevronGrabberVerticalIcon, ChevronLargeDownIcon, ChevronLargeRightIcon, ChevronRightSmallIcon, ChevronTopIcon, ChevronTopSmallIcon, Chip, CircleMinusIcon, CirclePlusIcon, CircleX, ClockIcon, ClockOutlineIcon, CoinsAddIcon, CoinsIcon, Collapse, CollectionIcon, CompassRound, Copy, DashboardFast, DescriptionBlocks, DetailsToolbar, DockSwapIcon, Dollar, DotGrid1x3HorizontalIcon, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, EmojiMeh, EmojiSadIcon, EmptyHeartIcon, ErrorMessage, EthereumIcon, ExplosionIcon, FeeButton, FeesAction, type FeesActionProps, FeesLines, FeesTotal, FilledHeartIcon, FilterButton, FilterIcon, GasIcon, HashLink, HeadingText, HeartSmallIcon, HelpIcon, HistoryItem, type HistoryItemStatus, HomeIcon, IconLabel, ImageIcon, ImageSparkle, IncompleteAction, InfinityIcon, InfoBox, Inline, Input, InteractionHeader, InteractionProperties, InteractionTransactionView, Join, LightningIcon, LinkIcon, List, ListItem, Loader, LoadingProvider, LoadingSkeleton, MEDIA_QUERIES, MainView, MaxIcon, Menu, MenuItem, Modal, ModalContent, ModalContentDivider, NavigationBar, NotAllowedIcon, NumericInput, PathSquareIcon, PercentIcon, PieChartIcon, PipeSeparator, PlusIcon, ProductCard, ProfileHeader, ProfileHeaderBackground, PropertiesLayout, PropertyListItem, type PropertyListItemProps, PunkIcon, RangeInput, ReceiptBillIcon, ReceiveNFTAction, ReceiveTokensAction, RecipientView, RefreshIcon, ReorderIcon, STEP_ITEM_HEIGHT, SearchIcon, SectionTitle, SendTokensAction, SettingsButton, type SettingsButtonProps, type SettingsControl, SettingsGearIcon, SettingsItem, type SettingsItemProps, SettingsSlider, type SettingsSliderProps, SizeTransition, SnapIcon, SortIcon, SparkleIcon, SparklesIcon, SquareArrowCenter, SquareArrowTopLeftIcon, SquareArrowTopRight2Icon, SquidConfigProvider, SquidLogo, type SquidTheme, StakeAction, StartAction, SuccessAction, SwapAction, SwapConfiguration, SwapDetailsView, SwapErrorIcon, SwapHeader, type SwapHeaderProps, SwapInputsIcon, SwapProgressView, SwapProgressViewHeader, SwapProperties, type SwapPropertiesProps, SwapState, type SwapStep, SwapStepItem, SwapStepSeparator, SwapStepsCollapsed, type SwapStepsCollapsedFooterButton, SwapSuccessIcon, SwapTransactionView, SwapWarningIcon, Switch, TagIcon, TagIconFilled, TextSkeleton, type ThemeType, ThumbsUp, Tick, TimeFliesIcon, Timeline, Timestamp, Toast, TokenPair, Tooltip, type TooltipProps, type TooltipThreshold, type TooltipWidth, TradingViewStepsIcon, TransactionAction, type TransactionActionProps, type TransactionActionType, TransactionFilters, TransactionHeader, TransactionHeaderLayout, type TransactionHeaderProps, type TransactionHeaderType, TransactionItem, TransactionProperties, type TransactionPropertiesProps, type TransactionPropertiesType, TransactionSearch, TransactionState, TransactionView, TransactionViewLayout, type TransactionViewProps, type TransactionViewType, Transfer, TriangleExclamation, UsdAmount, WalletFilledIcon, WalletIcon, WalletLink, WalletsView, WrapAction, XSocial, linkActionTimelineProps, statusBgClassMap, statusColorClassMap, statusTextClassMap, useDropdownMenu, useMediaQuery };
|
|
2354
|
+
export { type ActionButton, ActionLayout, ActionLineOutRow, ActionProperties, ActionRow, type ActionStatus, ActionStatusRow, ActionWrapper, AddressButton, AnimationWrapper, AppContainer, Approve, ApproveAction, ArrowBottomTopIcon, ArrowButton, ArrowCornerDownRightIcon, ArrowLeftIcon, ArrowOutOfBoxIcon, ArrowRightDownCircleIcon, ArrowRightDownIcon, ArrowRightIcon, ArrowRightUpCircleIcon, ArrowRightUpIcon, ArrowRotate, ArrowTriangle, ArrowUpIcon, ArrowWallDownIcon, ArrowsSwapIcon, AssetsButton, type AssetsButtonVariant, AssetsView, BadgeImage, BagIcon, BankIcon, type BaseActionProps, type BaseTransactionViewProps, BlockSkeleton, BodyText, Boost, BoostBadge, BoostButton, BorderedContainer, Breadcrumb, BridgeAction, BridgeHeader, BridgeProperties, BridgeTransactionView, BrokenHeartIcon, Button, BuyNFTHeader, BuyNFTProperties, BuyNFTTransactionView, Calendar, CaptionText, ChainLink, Checkmark1Icon, Checkmark2Icon, ChevronArrowIcon, ChevronGrabberVerticalIcon, ChevronLargeDownIcon, ChevronLargeRightIcon, ChevronRightSmallIcon, ChevronTopIcon, ChevronTopSmallIcon, Chip, type ChipProps, CircleMinusIcon, CirclePlusIcon, CircleX, ClockIcon, ClockOutlineIcon, CoinsAddIcon, CoinsIcon, Collapse, CollectionIcon, CompassRound, Copy, DashboardFast, DescriptionBlocks, DetailsToolbar, DockSwapIcon, Dollar, DotGrid1x3HorizontalIcon, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, EmojiMeh, EmojiSadIcon, EmptyHeartIcon, ErrorMessage, EthereumIcon, ExplosionIcon, FeeButton, FeesAction, type FeesActionProps, FeesLines, FeesTotal, FilledHeartIcon, FilterButton, FilterIcon, GasIcon, HashLink, HeadingText, HeartSmallIcon, HelpIcon, HistoryItem, type HistoryItemStatus, HomeIcon, IconLabel, ImageIcon, ImageSparkle, IncompleteAction, InfinityIcon, InfoBox, Inline, Input, InteractionHeader, InteractionProperties, InteractionTransactionView, Join, LightningIcon, LinkIcon, List, ListItem, Loader, LoadingProvider, LoadingSkeleton, MEDIA_QUERIES, MainView, MaxIcon, Menu, MenuItem, Modal, ModalContent, ModalContentDivider, NavigationBar, NotAllowedIcon, NumericInput, PathSquareIcon, PercentIcon, PieChartIcon, PipeSeparator, PlusIcon, ProductCard, ProfileHeader, ProfileHeaderBackground, PropertiesLayout, PropertyListItem, type PropertyListItemProps, PunkIcon, RangeInput, ReceiptBillIcon, ReceiveNFTAction, ReceiveTokensAction, RecipientView, RefreshIcon, ReorderIcon, STEP_ITEM_HEIGHT, SearchIcon, SectionTitle, SendTokensAction, SettingsButton, type SettingsButtonProps, type SettingsControl, SettingsGearIcon, SettingsItem, type SettingsItemProps, SettingsSlider, type SettingsSliderProps, SizeTransition, SnapIcon, SortIcon, SparkleIcon, SparklesIcon, SquareArrowCenter, SquareArrowTopLeftIcon, SquareArrowTopRight2Icon, SquidConfigProvider, SquidLogo, type SquidTheme, StakeAction, StartAction, SuccessAction, SwapAction, SwapConfiguration, SwapDetailsView, SwapErrorIcon, SwapHeader, type SwapHeaderProps, SwapInputsIcon, SwapProgressView, SwapProgressViewHeader, SwapProperties, type SwapPropertiesProps, SwapState, type SwapStep, SwapStepItem, SwapStepSeparator, SwapStepsCollapsed, type SwapStepsCollapsedFooterButton, SwapSuccessIcon, SwapTransactionView, SwapWarningIcon, Switch, TagIcon, TagIconFilled, TextSkeleton, type ThemeType, ThumbsUp, Tick, TimeFliesIcon, Timeline, Timestamp, Toast, TokenPair, Tooltip, type TooltipProps, type TooltipThreshold, type TooltipWidth, TradingViewStepsIcon, TransactionAction, type TransactionActionProps, type TransactionActionType, TransactionFilters, TransactionHeader, TransactionHeaderLayout, type TransactionHeaderProps, type TransactionHeaderType, TransactionItem, TransactionProperties, type TransactionPropertiesProps, type TransactionPropertiesType, TransactionSearch, TransactionState, TransactionView, TransactionViewLayout, type TransactionViewProps, type TransactionViewType, Transfer, TriangleExclamation, UsdAmount, WalletFilledIcon, WalletIcon, WalletLink, WalletsView, WrapAction, XSocial, linkActionTimelineProps, statusBgClassMap, statusColorClassMap, statusTextClassMap, useDropdownMenu, useMediaQuery };
|
package/package.json
CHANGED
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
"url": "git+https://github.com/0xsquid/squid-ui.git"
|
|
6
6
|
},
|
|
7
7
|
"description": "Squid's UI components",
|
|
8
|
-
"version": "0.21.
|
|
8
|
+
"version": "0.21.1",
|
|
9
9
|
"author": "",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"resolutions": {
|
|
12
12
|
"string-width": "4.2.3"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
|
-
"
|
|
15
|
+
"dev": "concurrently 'yarn:watch:*'",
|
|
16
16
|
"watch:storybook": "storybook dev -p 6006",
|
|
17
17
|
"build-storybook": "storybook build",
|
|
18
18
|
"watch:build-tailwind": "yarn build-tailwind --watch",
|