@ultraviolet/ui 2.0.0-beta.8 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Alert/index.cjs +5 -5
- package/dist/components/Avatar/index.cjs +117 -37
- package/dist/components/Avatar/index.d.ts +3 -43
- package/dist/components/Avatar/index.js +119 -39
- package/dist/components/{AvatarV2 → Avatar}/types.d.ts +1 -1
- package/dist/components/Badge/index.cjs +3 -3
- package/dist/components/Banner/index.cjs +3 -3
- package/dist/components/BarChart/index.cjs +2 -2
- package/dist/components/BarStack/index.cjs +2 -2
- package/dist/components/Bullet/index.cjs +2 -6
- package/dist/components/Bullet/index.d.ts +1 -3
- package/dist/components/Bullet/index.js +3 -7
- package/dist/components/Button/index.cjs +16 -10
- package/dist/components/Button/index.d.ts +6 -0
- package/dist/components/Button/index.js +11 -5
- package/dist/components/Card/index.cjs +6 -7
- package/dist/components/Card/index.d.ts +0 -4
- package/dist/components/Card/index.js +4 -5
- package/dist/components/Carousel/index.cjs +5 -5
- package/dist/components/Checkbox/index.cjs +41 -59
- package/dist/components/Checkbox/index.d.ts +0 -8
- package/dist/components/Checkbox/index.js +27 -45
- package/dist/components/CheckboxGroup/index.cjs +9 -8
- package/dist/components/CheckboxGroup/index.d.ts +3 -3
- package/dist/components/CheckboxGroup/index.js +5 -4
- package/dist/components/Chip/ChipContext.cjs +2 -2
- package/dist/components/Chip/ChipIcon.cjs +2 -2
- package/dist/components/Chip/index.cjs +10 -10
- package/dist/components/Chip/index.d.ts +2 -2
- package/dist/components/Chip/index.js +1 -1
- package/dist/components/CopyButton/index.cjs +1 -2
- package/dist/components/CopyButton/index.d.ts +1 -5
- package/dist/components/CopyButton/index.js +1 -2
- package/dist/components/DateInput/Context.cjs +2 -2
- package/dist/components/DateInput/components/CalendarContent.cjs +2 -2
- package/dist/components/DateInput/components/CalendarDaily.cjs +5 -5
- package/dist/components/DateInput/components/CalendarDaily.js +2 -2
- package/dist/components/DateInput/components/CalendarMonthly.cjs +3 -3
- package/dist/components/DateInput/components/Popup.cjs +3 -3
- package/dist/components/DateInput/helpers.cjs +20 -0
- package/dist/components/DateInput/helpers.d.ts +2 -0
- package/dist/components/DateInput/helpers.js +20 -0
- package/dist/components/DateInput/index.cjs +42 -31
- package/dist/components/DateInput/index.js +30 -19
- package/dist/components/Dialog/Context.cjs +3 -3
- package/dist/components/Dialog/index.cjs +4 -4
- package/dist/components/Dialog/index.d.ts +9 -4
- package/dist/components/Dialog/index.js +2 -2
- package/dist/components/Drawer/index.cjs +44 -22
- package/dist/components/Drawer/index.d.ts +14 -2
- package/dist/components/Drawer/index.js +44 -22
- package/dist/components/Expandable/index.cjs +18 -9
- package/dist/components/Expandable/index.js +12 -3
- package/dist/components/ExpandableCard/index.cjs +14 -14
- package/dist/components/GlobalAlert/index.cjs +2 -2
- package/dist/components/InfiniteScroll/index.cjs +7 -7
- package/dist/components/LineChart/CustomLegend.cjs +9 -9
- package/dist/components/LineChart/CustomLegend.js +9 -9
- package/dist/components/LineChart/index.cjs +3 -3
- package/dist/components/Link/index.cjs +20 -36
- package/dist/components/Link/index.d.ts +2 -11
- package/dist/components/Link/index.js +14 -30
- package/dist/components/List/Cell.cjs +4 -17
- package/dist/components/List/Cell.d.ts +0 -6
- package/dist/components/List/Cell.js +2 -15
- package/dist/components/List/HeaderCell.cjs +3 -3
- package/dist/components/List/HeaderCell.js +4 -4
- package/dist/components/List/HeaderRow.cjs +2 -4
- package/dist/components/List/HeaderRow.js +2 -4
- package/dist/components/List/ListContext.cjs +23 -23
- package/dist/components/List/Row.cjs +55 -34
- package/dist/components/List/Row.d.ts +8 -1
- package/dist/components/List/Row.js +43 -22
- package/dist/components/List/SelectBar.cjs +2 -2
- package/dist/components/List/index.cjs +12 -11
- package/dist/components/List/index.d.ts +3 -1
- package/dist/components/List/index.js +6 -5
- package/dist/components/Menu/MenuContent.cjs +222 -0
- package/dist/components/{MenuV2 → Menu}/MenuContent.d.ts +3 -4
- package/dist/components/Menu/MenuContent.js +220 -0
- package/dist/components/Menu/MenuProvider.cjs +42 -0
- package/dist/components/Menu/MenuProvider.d.ts +24 -0
- package/dist/components/Menu/MenuProvider.js +42 -0
- package/dist/components/Menu/components/Group.cjs +34 -0
- package/dist/components/{MenuV2 → Menu}/components/Group.d.ts +1 -1
- package/dist/components/Menu/components/Group.js +32 -0
- package/dist/components/Menu/components/Item.cjs +172 -0
- package/dist/components/{MenuV2 → Menu}/components/Item.d.ts +4 -0
- package/dist/components/Menu/components/Item.js +171 -0
- package/dist/components/{MenuV2 → Menu}/constants.cjs +0 -1
- package/dist/components/{MenuV2 → Menu}/constants.js +0 -1
- package/dist/components/Menu/helpers.cjs +48 -0
- package/dist/components/{MenuV2 → Menu}/helpers.d.ts +2 -1
- package/dist/components/Menu/helpers.js +48 -0
- package/dist/components/Menu/index.cjs +13 -109
- package/dist/components/Menu/index.d.ts +62 -35
- package/dist/components/Menu/index.js +14 -108
- package/dist/components/{MenuV2 → Menu}/types.d.ts +3 -11
- package/dist/components/Modal/ModalContent.cjs +2 -8
- package/dist/components/Modal/ModalContent.d.ts +1 -2
- package/dist/components/Modal/ModalContent.js +2 -8
- package/dist/components/Modal/ModalProvider.cjs +8 -8
- package/dist/components/Modal/components/Dialog.cjs +21 -23
- package/dist/components/Modal/components/Dialog.d.ts +1 -1
- package/dist/components/Modal/components/Dialog.js +6 -8
- package/dist/components/Modal/components/Disclosure.cjs +10 -13
- package/dist/components/Modal/components/Disclosure.d.ts +1 -1
- package/dist/components/Modal/components/Disclosure.js +6 -9
- package/dist/components/Modal/index.cjs +13 -15
- package/dist/components/Modal/index.d.ts +1 -18
- package/dist/components/Modal/index.js +7 -9
- package/dist/components/Modal/types.d.ts +2 -16
- package/dist/components/NumberInput/index.cjs +194 -194
- package/dist/components/NumberInput/index.d.ts +30 -33
- package/dist/components/NumberInput/index.js +190 -190
- package/dist/components/Pagination/PaginationButtons.cjs +5 -5
- package/dist/components/Pagination/PerPage.cjs +3 -3
- package/dist/components/Pagination/PerPage.js +3 -3
- package/dist/components/Pagination/index.cjs +4 -4
- package/dist/components/PieChart/index.cjs +5 -5
- package/dist/components/Popover/index.cjs +10 -10
- package/dist/components/Popover/index.d.ts +4 -2
- package/dist/components/Popover/index.js +2 -2
- package/dist/components/Popup/helpers.cjs +41 -1
- package/dist/components/Popup/helpers.d.ts +1 -1
- package/dist/components/Popup/helpers.js +41 -1
- package/dist/components/Popup/index.cjs +34 -38
- package/dist/components/Popup/index.js +8 -12
- package/dist/components/Radio/index.cjs +3 -3
- package/dist/components/Radio/index.d.ts +9 -9
- package/dist/components/RadioGroup/index.cjs +6 -7
- package/dist/components/RadioGroup/index.d.ts +3 -8
- package/dist/components/RadioGroup/index.js +2 -3
- package/dist/components/Row/index.cjs +18 -6
- package/dist/components/Row/index.d.ts +5 -5
- package/dist/components/Row/index.js +18 -6
- package/dist/components/SearchInput/Key.cjs +2 -2
- package/dist/components/SearchInput/index.cjs +26 -26
- package/dist/components/SearchInput/index.d.ts +1 -1
- package/dist/components/SearchInput/index.js +7 -7
- package/dist/components/SearchInput/types.d.ts +3 -3
- package/dist/components/SelectInput/Dropdown.cjs +477 -0
- package/dist/components/SelectInput/Dropdown.js +475 -0
- package/dist/components/SelectInput/DropdownOption.cjs +91 -0
- package/dist/components/SelectInput/DropdownOption.js +89 -0
- package/dist/components/SelectInput/SearchBarDropdown.cjs +129 -0
- package/dist/components/SelectInput/SearchBarDropdown.js +127 -0
- package/dist/components/SelectInput/SelectBar.cjs +364 -0
- package/dist/components/SelectInput/SelectBar.js +362 -0
- package/dist/components/{SelectInputV2 → SelectInput}/SelectInputProvider.cjs +22 -22
- package/dist/components/{SelectInputV2 → SelectInput}/SelectInputProvider.d.ts +2 -1
- package/dist/components/{SelectInputV2 → SelectInput}/SelectInputProvider.js +8 -8
- package/dist/components/SelectInput/index.cjs +68 -496
- package/dist/components/SelectInput/index.d.ts +119 -63
- package/dist/components/SelectInput/index.js +68 -494
- package/dist/components/SelectableCard/index.cjs +13 -13
- package/dist/components/SelectableCardGroup/index.cjs +5 -5
- package/dist/components/SelectableCardGroup/index.d.ts +1 -1
- package/dist/components/SelectableCardGroup/index.js +1 -1
- package/dist/components/SelectableCardOptionGroup/Provider.cjs +3 -3
- package/dist/components/SelectableCardOptionGroup/Provider.d.ts +2 -2
- package/dist/components/SelectableCardOptionGroup/components/Option.cjs +11 -11
- package/dist/components/SelectableCardOptionGroup/components/Option.d.ts +5 -5
- package/dist/components/SelectableCardOptionGroup/components/Option.js +9 -9
- package/dist/components/SelectableCardOptionGroup/index.cjs +2 -2
- package/dist/components/SelectableCardOptionGroup/index.d.ts +3 -3
- package/dist/components/Separator/index.cjs +8 -9
- package/dist/components/Separator/index.d.ts +1 -5
- package/dist/components/Separator/index.js +8 -9
- package/dist/components/Skeleton/Block.cjs +2 -2
- package/dist/components/Skeleton/Slider.cjs +3 -3
- package/dist/components/Skeleton/Slider.js +3 -3
- package/dist/components/Slider/components/DoubleSlider.cjs +20 -20
- package/dist/components/Slider/components/DoubleSlider.js +7 -7
- package/dist/components/Slider/components/SingleSlider.cjs +24 -24
- package/dist/components/Slider/components/SingleSlider.js +7 -7
- package/dist/components/Slider/index.cjs +2 -2
- package/dist/components/Slider/styles.d.ts +35 -24
- package/dist/components/Snippet/index.cjs +3 -3
- package/dist/components/Stack/index.cjs +31 -11
- package/dist/components/Stack/index.d.ts +9 -9
- package/dist/components/Stack/index.js +31 -11
- package/dist/components/StepList/index.cjs +3 -3
- package/dist/components/StepList/index.js +3 -3
- package/dist/components/Stepper/Step.cjs +10 -14
- package/dist/components/Stepper/Step.js +6 -10
- package/dist/components/Stepper/StepperProvider.cjs +7 -7
- package/dist/components/Stepper/index.cjs +11 -14
- package/dist/components/Stepper/index.js +4 -7
- package/dist/components/SwitchButton/FocusOverlay.cjs +12 -20
- package/dist/components/SwitchButton/FocusOverlay.d.ts +5 -5
- package/dist/components/SwitchButton/FocusOverlay.js +12 -20
- package/dist/components/SwitchButton/Option.cjs +82 -0
- package/dist/components/SwitchButton/Option.d.ts +10 -0
- package/dist/components/SwitchButton/Option.js +80 -0
- package/dist/components/SwitchButton/SwitchButtonContext.cjs +13 -0
- package/dist/components/SwitchButton/SwitchButtonContext.d.ts +19 -0
- package/dist/components/SwitchButton/SwitchButtonContext.js +13 -0
- package/dist/components/SwitchButton/constant.cjs +4 -0
- package/dist/components/SwitchButton/constant.d.ts +1 -0
- package/dist/components/SwitchButton/constant.js +4 -0
- package/dist/components/SwitchButton/index.cjs +82 -48
- package/dist/components/SwitchButton/index.d.ts +14 -13
- package/dist/components/SwitchButton/index.js +81 -47
- package/dist/components/Table/HeaderCell.cjs +5 -5
- package/dist/components/Table/HeaderCell.js +6 -6
- package/dist/components/Table/Row.cjs +10 -10
- package/dist/components/Table/SelectBar.cjs +2 -2
- package/dist/components/Table/TableContext.cjs +5 -5
- package/dist/components/Table/index.cjs +10 -10
- package/dist/components/Table/index.js +2 -2
- package/dist/components/Tabs/Tab.cjs +3 -3
- package/dist/components/Tabs/TabMenu.cjs +7 -7
- package/dist/components/Tabs/TabMenu.d.ts +3 -3
- package/dist/components/Tabs/TabMenu.js +5 -5
- package/dist/components/Tabs/TabMenuItem.cjs +5 -5
- package/dist/components/Tabs/TabMenuItem.d.ts +1 -0
- package/dist/components/Tabs/TabMenuItem.js +3 -3
- package/dist/components/Tabs/TabsContext.cjs +3 -3
- package/dist/components/Tabs/index.cjs +14 -14
- package/dist/components/Tabs/index.d.ts +4 -3
- package/dist/components/Tabs/index.js +3 -3
- package/dist/components/Tag/index.cjs +2 -2
- package/dist/components/TagInput/index.cjs +14 -16
- package/dist/components/TagInput/index.d.ts +1 -17
- package/dist/components/TagInput/index.js +7 -9
- package/dist/components/TagList/index.cjs +13 -13
- package/dist/components/Text/index.cjs +4 -6
- package/dist/components/Text/index.d.ts +2 -6
- package/dist/components/Text/index.js +2 -4
- package/dist/components/TextArea/index.cjs +13 -13
- package/dist/components/TextArea/index.js +4 -4
- package/dist/components/TextInput/index.cjs +179 -343
- package/dist/components/TextInput/index.d.ts +74 -68
- package/dist/components/TextInput/index.js +177 -340
- package/dist/components/TimeInput/index.cjs +320 -23
- package/dist/components/TimeInput/index.d.ts +44 -20
- package/dist/components/TimeInput/index.js +320 -25
- package/dist/components/Toaster/index.cjs +2 -10
- package/dist/components/Toaster/index.d.ts +0 -4
- package/dist/components/Toaster/index.js +2 -10
- package/dist/components/Toggle/index.cjs +6 -6
- package/dist/components/ToggleGroup/index.cjs +5 -5
- package/dist/components/ToggleGroup/index.d.ts +1 -1
- package/dist/components/ToggleGroup/index.js +1 -1
- package/dist/components/Tooltip/index.cjs +3 -3
- package/dist/components/Tooltip/index.d.ts +36 -4
- package/dist/components/Tooltip/index.js +1 -1
- package/dist/components/UnitInput/index.cjs +33 -50
- package/dist/components/UnitInput/index.d.ts +8 -7
- package/dist/components/UnitInput/index.js +28 -45
- package/dist/components/VerificationCode/index.cjs +5 -5
- package/dist/components/index.d.ts +2 -9
- package/dist/hooks/useIsOverflowing.cjs +3 -3
- package/dist/index.cjs +143 -159
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -20
- package/dist/theme/index.d.ts +2 -7
- package/package.json +9 -13
- package/dist/components/AvatarV2/index.cjs +0 -139
- package/dist/components/AvatarV2/index.d.ts +0 -5
- package/dist/components/AvatarV2/index.js +0 -137
- package/dist/components/Menu/Item.cjs +0 -93
- package/dist/components/Menu/Item.d.ts +0 -15
- package/dist/components/Menu/Item.js +0 -92
- package/dist/components/MenuV2/MenuContent.cjs +0 -163
- package/dist/components/MenuV2/MenuContent.js +0 -161
- package/dist/components/MenuV2/MenuProvider.cjs +0 -31
- package/dist/components/MenuV2/MenuProvider.d.ts +0 -14
- package/dist/components/MenuV2/MenuProvider.js +0 -31
- package/dist/components/MenuV2/components/Group.cjs +0 -34
- package/dist/components/MenuV2/components/Group.js +0 -32
- package/dist/components/MenuV2/components/Item.cjs +0 -134
- package/dist/components/MenuV2/components/Item.js +0 -133
- package/dist/components/MenuV2/helpers.cjs +0 -26
- package/dist/components/MenuV2/helpers.js +0 -26
- package/dist/components/MenuV2/index.cjs +0 -20
- package/dist/components/MenuV2/index.d.ts +0 -76
- package/dist/components/MenuV2/index.js +0 -20
- package/dist/components/NumberInput/helpers.cjs +0 -10
- package/dist/components/NumberInput/helpers.d.ts +0 -4
- package/dist/components/NumberInput/helpers.js +0 -10
- package/dist/components/NumberInputV2/index.cjs +0 -262
- package/dist/components/NumberInputV2/index.d.ts +0 -38
- package/dist/components/NumberInputV2/index.js +0 -260
- package/dist/components/PasswordStrengthMeter/index.cjs +0 -98
- package/dist/components/PasswordStrengthMeter/index.d.ts +0 -39
- package/dist/components/PasswordStrengthMeter/index.js +0 -96
- package/dist/components/SelectInputV2/Dropdown.cjs +0 -477
- package/dist/components/SelectInputV2/Dropdown.js +0 -475
- package/dist/components/SelectInputV2/DropdownOption.cjs +0 -91
- package/dist/components/SelectInputV2/DropdownOption.js +0 -89
- package/dist/components/SelectInputV2/SearchBarDropdown.cjs +0 -129
- package/dist/components/SelectInputV2/SearchBarDropdown.js +0 -127
- package/dist/components/SelectInputV2/SelectBar.cjs +0 -364
- package/dist/components/SelectInputV2/SelectBar.js +0 -362
- package/dist/components/SelectInputV2/index.cjs +0 -91
- package/dist/components/SelectInputV2/index.d.ts +0 -126
- package/dist/components/SelectInputV2/index.js +0 -89
- package/dist/components/TextInputV2/index.cjs +0 -223
- package/dist/components/TextInputV2/index.d.ts +0 -81
- package/dist/components/TextInputV2/index.js +0 -221
- package/dist/components/TimeInputV2/index.cjs +0 -326
- package/dist/components/TimeInputV2/index.d.ts +0 -49
- package/dist/components/TimeInputV2/index.js +0 -324
- package/dist/helpers/isJSON.cjs +0 -10
- package/dist/helpers/isJSON.js +0 -11
- package/dist/theme/ThemeRegistry.cjs +0 -56
- package/dist/theme/ThemeRegistry.d.ts +0 -12
- package/dist/theme/ThemeRegistry.js +0 -55
- /package/dist/components/{AvatarV2 → Avatar}/constants.cjs +0 -0
- /package/dist/components/{AvatarV2 → Avatar}/constants.d.ts +0 -0
- /package/dist/components/{AvatarV2 → Avatar}/constants.js +0 -0
- /package/dist/components/{MenuV2 → Menu}/constants.d.ts +0 -0
- /package/dist/components/{SelectInputV2 → SelectInput}/Dropdown.d.ts +0 -0
- /package/dist/components/{SelectInputV2 → SelectInput}/DropdownOption.d.ts +0 -0
- /package/dist/components/{SelectInputV2 → SelectInput}/SearchBarDropdown.d.ts +0 -0
- /package/dist/components/{SelectInputV2 → SelectInput}/SelectBar.d.ts +0 -0
- /package/dist/components/{SelectInputV2 → SelectInput}/findOptionInOptions.cjs +0 -0
- /package/dist/components/{SelectInputV2 → SelectInput}/findOptionInOptions.d.ts +0 -0
- /package/dist/components/{SelectInputV2 → SelectInput}/findOptionInOptions.js +0 -0
- /package/dist/components/{SelectInputV2 → SelectInput}/types.cjs +0 -0
- /package/dist/components/{SelectInputV2 → SelectInput}/types.d.ts +0 -0
- /package/dist/components/{SelectInputV2 → SelectInput}/types.js +0 -0
- /package/dist/components/{TimeInputV2 → TimeInput}/constants.cjs +0 -0
- /package/dist/components/{TimeInputV2 → TimeInput}/constants.d.ts +0 -0
- /package/dist/components/{TimeInputV2 → TimeInput}/constants.js +0 -0
- /package/dist/components/{TimeInputV2 → TimeInput}/helpers.cjs +0 -0
- /package/dist/components/{TimeInputV2 → TimeInput}/helpers.d.ts +0 -0
- /package/dist/components/{TimeInputV2 → TimeInput}/helpers.js +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ChangeEvent, Dispatch, FocusEventHandler, SetStateAction } from 'react';
|
|
2
|
+
export type RefOptionType = {
|
|
3
|
+
value: string;
|
|
4
|
+
current: HTMLInputElement;
|
|
5
|
+
};
|
|
6
|
+
type SwitchButtonContextValue = {
|
|
7
|
+
localValue?: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
onBlur?: FocusEventHandler<HTMLInputElement>;
|
|
10
|
+
onFocus?: FocusEventHandler<HTMLInputElement>;
|
|
11
|
+
size: 'small' | 'medium';
|
|
12
|
+
handleOnChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
13
|
+
refOptions: RefOptionType[];
|
|
14
|
+
setRefOptions: Dispatch<SetStateAction<RefOptionType[]>>;
|
|
15
|
+
sentiment: 'neutral' | 'primary';
|
|
16
|
+
};
|
|
17
|
+
export declare const SwitchButtonContext: import("react").Context<SwitchButtonContextValue | undefined>;
|
|
18
|
+
export declare const useSwitchButton: () => SwitchButtonContextValue;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
const SwitchButtonContext = createContext(void 0);
|
|
3
|
+
const useSwitchButton = () => {
|
|
4
|
+
const context = useContext(SwitchButtonContext);
|
|
5
|
+
if (context === void 0) {
|
|
6
|
+
throw new Error("SwitchButton.Option should be used inside a SwitchButton");
|
|
7
|
+
}
|
|
8
|
+
return context;
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
SwitchButtonContext,
|
|
12
|
+
useSwitchButton
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FOCUS_OVERLAY_SCALE_RATIO = 6;
|
|
@@ -3,10 +3,13 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
4
|
const jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
5
5
|
const _styled = require("@emotion/styled/base");
|
|
6
|
-
const
|
|
7
|
-
const index$1 = require("../
|
|
6
|
+
const react = require("react");
|
|
7
|
+
const index$1 = require("../Stack/index.cjs");
|
|
8
8
|
const index = require("../Tooltip/index.cjs");
|
|
9
9
|
const FocusOverlay = require("./FocusOverlay.cjs");
|
|
10
|
+
const Option = require("./Option.cjs");
|
|
11
|
+
const SwitchButtonContext = require("./SwitchButtonContext.cjs");
|
|
12
|
+
const constant = require("./constant.cjs");
|
|
10
13
|
const _interopDefaultCompat = (e) => e && typeof e === "object" && "default" in e ? e : { default: e };
|
|
11
14
|
const _styled__default = /* @__PURE__ */ _interopDefaultCompat(_styled);
|
|
12
15
|
const SIZES = {
|
|
@@ -14,22 +17,6 @@ const SIZES = {
|
|
|
14
17
|
// sizing token from theme
|
|
15
18
|
medium: "600"
|
|
16
19
|
};
|
|
17
|
-
const StyledSelectableCard = /* @__PURE__ */ _styled__default.default(index$1.SelectableCard, process.env.NODE_ENV === "production" ? {
|
|
18
|
-
target: "e4ryteh1"
|
|
19
|
-
} : {
|
|
20
|
-
target: "e4ryteh1",
|
|
21
|
-
label: "StyledSelectableCard"
|
|
22
|
-
})("border:none;padding:", ({
|
|
23
|
-
theme
|
|
24
|
-
}) => theme.space["1"], " ", ({
|
|
25
|
-
theme
|
|
26
|
-
}) => theme.space["2"], ";font-weight:", ({
|
|
27
|
-
theme
|
|
28
|
-
}) => theme.typography.bodyStrong.weight, ";justify-content:center;align-items:center;transition:all 200ms ease-in-out;white-space:nowrap;background:transparent;&:hover,&:active{box-shadow:none;border:none;&:not([data-error='true'][data-disabled='true']){border:none;}}&[data-checked='true']{border:none;}&[data-checked='true'] label{color:", ({
|
|
29
|
-
theme
|
|
30
|
-
}) => theme.colors.primary.textStrong, ";}&:not([data-checked='true']) label{&:hover{color:", ({
|
|
31
|
-
theme
|
|
32
|
-
}) => theme.colors.primary.text, ";}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1N3aXRjaEJ1dHRvbi9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY21EIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1N3aXRjaEJ1dHRvbi9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IENoYW5nZUV2ZW50LCBDaGFuZ2VFdmVudEhhbmRsZXIsIEZvY3VzRXZlbnRIYW5kbGVyIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBTZWxlY3RhYmxlQ2FyZCB9IGZyb20gJy4uL1NlbGVjdGFibGVDYXJkJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4uL1Rvb2x0aXAnXG5pbXBvcnQgeyBGb2N1c092ZXJsYXkgfSBmcm9tICcuL0ZvY3VzT3ZlcmxheSdcblxuY29uc3QgU0laRVMgPSB7XG4gIHNtYWxsOiAnNTAwJywgLy8gc2l6aW5nIHRva2VuIGZyb20gdGhlbWVcbiAgbWVkaXVtOiAnNjAwJyxcbn0gYXMgY29uc3RcblxuY29uc3QgU3R5bGVkU2VsZWN0YWJsZUNhcmQgPSBzdHlsZWQoU2VsZWN0YWJsZUNhcmQpYFxuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX0gJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMiddfTtcbiAgZm9udC13ZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5U3Ryb25nLndlaWdodH07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAmOm5vdChbZGF0YS1lcnJvcj0ndHJ1ZSddW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSkge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1jaGVja2VkPSd0cnVlJ10ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1jaGVja2VkPSd0cnVlJ10gbGFiZWwge1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmd9O1xuICB9XG5cbiAgJjpub3QoW2RhdGEtY2hlY2tlZD0ndHJ1ZSddKSBsYWJlbCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0fTtcbiAgICB9XG4gIH1cbmBcbmNvbnN0IFN0eWxlZEJvcmRlcmVkQm94ID0gc3R5bGVkLmRpdjx7ICdkYXRhLXNpemUnOiAnc21hbGwnIHwgJ21lZGl1bScgfT5gXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC41J119O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmW2RhdGEtc2l6ZT0nc21hbGwnXSB7XG4gICAgJiA+ICR7U3R5bGVkU2VsZWN0YWJsZUNhcmR9IHtcbiAgICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbU0laRVMuc21hbGxdfTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtc2l6ZT0nbWVkaXVtJ10ge1xuICAgICYgPiAke1N0eWxlZFNlbGVjdGFibGVDYXJkfSB7XG4gICAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW1NJWkVTLm1lZGl1bV19O1xuICAgIH1cbiAgfVxuYFxudHlwZSBTd2l0Y2hCdXR0b25Qcm9wcyA9IHtcbiAgbmFtZT86IHN0cmluZ1xuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PlxuICBvbkNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+XG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PlxuICB0b29sdGlwPzogc3RyaW5nXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyXG4gIGxlZnRCdXR0b246IHtcbiAgICBsYWJlbDogc3RyaW5nXG4gICAgdmFsdWU6IHN0cmluZ1xuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICB9XG4gIHJpZ2h0QnV0dG9uOiB7XG4gICAgbGFiZWw6IHN0cmluZ1xuICAgIHZhbHVlOiBzdHJpbmdcbiAgICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgfVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nXG59XG5cbi8qKlxuICogU3dpdGNoQnV0dG9uIGlzIGEgY29tcG9uZW50IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCBiZXR3ZWVuIHR3byBvcHRpb25zLlxuICovXG5leHBvcnQgY29uc3QgU3dpdGNoQnV0dG9uID0gKHtcbiAgdmFsdWUsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvbkJsdXIsXG4gIG5hbWUsXG4gIGxlZnRCdXR0b24sXG4gIHJpZ2h0QnV0dG9uLFxuICBzaXplID0gJ3NtYWxsJyxcbiAgdG9vbHRpcCxcbiAgY2xhc3NOYW1lLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxufTogU3dpdGNoQnV0dG9uUHJvcHMpID0+IHtcbiAgY29uc3QgbGVmdEJ1dHRvblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmlnaHRCdXR0b25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtsZWZ0Q2FyZFdpZHRoLCBzZXRMZWZ0Q2FyZFdpZHRoXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBbcmlnaHRDYXJkV2lkdGgsIHNldFJpZ2h0Q2FyZFdpZHRoXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBbaGFzTW91c2VEb3duLCBzZXRIYXNNb3VzZURvd25dID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgZ2V0VmFsdWVUb1VzZSA9IHVzZUNhbGxiYWNrKFxuICAgICgpID0+ICh2YWx1ZSA9PT0gbGVmdEJ1dHRvbi52YWx1ZSA/IGxlZnRCdXR0b24udmFsdWUgOiByaWdodEJ1dHRvbi52YWx1ZSksXG4gICAgW2xlZnRCdXR0b24udmFsdWUsIHJpZ2h0QnV0dG9uLnZhbHVlLCB2YWx1ZV0sXG4gIClcblxuICBjb25zdCBbbG9jYWxWYWx1ZSwgc2V0TG9jYWxWYWx1ZV0gPSB1c2VTdGF0ZShnZXRWYWx1ZVRvVXNlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TG9jYWxWYWx1ZShnZXRWYWx1ZVRvVXNlKCkpXG4gIH0sIFtnZXRWYWx1ZVRvVXNlLCB2YWx1ZV0pXG5cbiAgY29uc3QgaGFuZGxlT25DaGFuZ2UgPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgb25DaGFuZ2U/LihldmVudClcbiAgICBzZXRMb2NhbFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFsZWZ0QnV0dG9uUmVmLmN1cnJlbnQgfHwgIXJpZ2h0QnV0dG9uUmVmLmN1cnJlbnQpIHJldHVyblxuICAgIHNldExlZnRDYXJkV2lkdGgobGVmdEJ1dHRvblJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKVxuICAgIHNldFJpZ2h0Q2FyZFdpZHRoKHJpZ2h0QnV0dG9uUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpXG4gIH0sIFtsZWZ0QnV0dG9uLnZhbHVlLCBsZWZ0QnV0dG9uUmVmLCBsb2NhbFZhbHVlLCByaWdodEJ1dHRvblJlZl0pXG5cbiAgY29uc3Qgc2V0TW91c2VEb3duID0gKGlzTW91c2VEb3duOiBib29sZWFuKSA9PiAoKSA9PlxuICAgIHNldEhhc01vdXNlRG93bihpc01vdXNlRG93bilcblxuICByZXR1cm4gKFxuICAgIDxUb29sdGlwIHRleHQ9e3Rvb2x0aXB9PlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiAnaW5saW5lLWZsZXgnIH19XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZEJvcmRlcmVkQm94XG4gICAgICAgICAgb25Nb3VzZURvd249e3NldE1vdXNlRG93bih0cnVlKX1cbiAgICAgICAgICBvbk1vdXNlVXA9e3NldE1vdXNlRG93bihmYWxzZSl9XG4gICAgICAgICAgb25Nb3VzZUxlYXZlPXtzZXRNb3VzZURvd24oZmFsc2UpfVxuICAgICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtyaWdodENhcmRXaWR0aCAmJiBsZWZ0Q2FyZFdpZHRoID8gKFxuICAgICAgICAgICAgPEZvY3VzT3ZlcmxheVxuICAgICAgICAgICAgICBmb2N1c1Bvc2l0aW9uPXtsb2NhbFZhbHVlID09PSBsZWZ0QnV0dG9uLnZhbHVlID8gJ2xlZnQnIDogJ3JpZ2h0J31cbiAgICAgICAgICAgICAgcmlnaHRDYXJkV2lkdGg9e3JpZ2h0Q2FyZFdpZHRofVxuICAgICAgICAgICAgICBsZWZ0Q2FyZFdpZHRoPXtsZWZ0Q2FyZFdpZHRofVxuICAgICAgICAgICAgICBoYXNNb3VzZURvd249e2hhc01vdXNlRG93bn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPFN0eWxlZFNlbGVjdGFibGVDYXJkXG4gICAgICAgICAgICByZWY9e2xlZnRCdXR0b25SZWZ9XG4gICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgdmFsdWU9e2xlZnRCdXR0b24udmFsdWV9XG4gICAgICAgICAgICBjaGVja2VkPXtsb2NhbFZhbHVlID09PSBsZWZ0QnV0dG9uLnZhbHVlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZU9uQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICAgICAgZGF0YS1jaGVja2VkPXtsb2NhbFZhbHVlID09PSBsZWZ0QnV0dG9uLnZhbHVlfVxuICAgICAgICAgICAgbGFiZWw9e2xlZnRCdXR0b24ubGFiZWx9XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LWxlZnRgIDogdW5kZWZpbmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZFNlbGVjdGFibGVDYXJkXG4gICAgICAgICAgICByZWY9e3JpZ2h0QnV0dG9uUmVmfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIHZhbHVlPXtyaWdodEJ1dHRvbi52YWx1ZX1cbiAgICAgICAgICAgIGNoZWNrZWQ9e2xvY2FsVmFsdWUgPT09IHJpZ2h0QnV0dG9uLnZhbHVlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZU9uQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICAgICAgZGF0YS1jaGVja2VkPXtsb2NhbFZhbHVlID09PSByaWdodEJ1dHRvbi52YWx1ZX1cbiAgICAgICAgICAgIGxhYmVsPXtyaWdodEJ1dHRvbi5sYWJlbH1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkID8gYCR7ZGF0YVRlc3RJZH0tcmlnaHRgIDogdW5kZWZpbmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkQm9yZGVyZWRCb3g+XG4gICAgICA8L2Rpdj5cbiAgICA8L1Rvb2x0aXA+XG4gIClcbn1cbiJdfQ== */"));
|
|
33
20
|
const StyledBorderedBox = /* @__PURE__ */ _styled__default.default("div", process.env.NODE_ENV === "production" ? {
|
|
34
21
|
target: "e4ryteh0"
|
|
35
22
|
} : {
|
|
@@ -43,50 +30,97 @@ const StyledBorderedBox = /* @__PURE__ */ _styled__default.default("div", proces
|
|
|
43
30
|
theme
|
|
44
31
|
}) => theme.space["0.5"], ";display:flex;gap:", ({
|
|
45
32
|
theme
|
|
46
|
-
}) => theme.space["1"], ";position:relative;&[data-size='small']{
|
|
33
|
+
}) => theme.space["1"], ";position:relative;&[data-size='small']{height:", ({
|
|
47
34
|
theme
|
|
48
|
-
}) => theme.sizing[SIZES.small], ";}
|
|
35
|
+
}) => theme.sizing[SIZES.small], ";}&[data-size='medium']{height:", ({
|
|
49
36
|
theme
|
|
50
|
-
}) => theme.sizing[SIZES.medium], ";}
|
|
37
|
+
}) => theme.sizing[SIZES.medium], ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1N3aXRjaEJ1dHRvbi9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJ5RSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9Td2l0Y2hCdXR0b24vaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHR5cGUge1xuICBDaGFuZ2VFdmVudCxcbiAgQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnLi4vVG9vbHRpcCdcbmltcG9ydCB7IEZvY3VzT3ZlcmxheSB9IGZyb20gJy4vRm9jdXNPdmVybGF5J1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnLi9PcHRpb24nXG5pbXBvcnQgdHlwZSB7IFJlZk9wdGlvblR5cGUgfSBmcm9tICcuL1N3aXRjaEJ1dHRvbkNvbnRleHQnXG5pbXBvcnQgeyBTd2l0Y2hCdXR0b25Db250ZXh0IH0gZnJvbSAnLi9Td2l0Y2hCdXR0b25Db250ZXh0J1xuaW1wb3J0IHsgRk9DVVNfT1ZFUkxBWV9TQ0FMRV9SQVRJTyB9IGZyb20gJy4vY29uc3RhbnQnXG5cbmNvbnN0IFNJWkVTID0ge1xuICBzbWFsbDogJzUwMCcsIC8vIHNpemluZyB0b2tlbiBmcm9tIHRoZW1lXG4gIG1lZGl1bTogJzYwMCcsXG59IGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZEJvcmRlcmVkQm94ID0gc3R5bGVkLmRpdjx7ICdkYXRhLXNpemUnOiAnc21hbGwnIHwgJ21lZGl1bScgfT5gXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC41J119O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmW2RhdGEtc2l6ZT0nc21hbGwnXSB7XG4gICAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW1NJWkVTLnNtYWxsXX07XG4gIH1cblxuICAmW2RhdGEtc2l6ZT0nbWVkaXVtJ10ge1xuICAgICAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1tTSVpFUy5tZWRpdW1dfTtcbiAgfVxuYFxudHlwZSBTd2l0Y2hCdXR0b25Qcm9wcyA9IHtcbiAgbmFtZT86IHN0cmluZ1xuICBjaGlsZHJlbjogUmVhY3ROb2RlXG4gIG9uQmx1cj86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+XG4gIG9uQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD5cbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+XG4gIHRvb2x0aXA/OiBzdHJpbmdcbiAgdmFsdWU6IHN0cmluZ1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nXG4gIHNlbnRpbWVudD86ICdwcmltYXJ5JyB8ICduZXV0cmFsJ1xufVxuXG4vKipcbiAqIFN3aXRjaEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgYmV0d2VlbiB0d28gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IFN3aXRjaEJ1dHRvbiA9ICh7XG4gIHZhbHVlLFxuICBvbkNoYW5nZSxcbiAgb25Gb2N1cyxcbiAgb25CbHVyLFxuICBuYW1lLFxuICBzaXplID0gJ3NtYWxsJyxcbiAgc2VudGltZW50ID0gJ3ByaW1hcnknLFxuICB0b29sdGlwLFxuICBjbGFzc05hbWUsXG4gIGNoaWxkcmVuLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxufTogU3dpdGNoQnV0dG9uUHJvcHMpID0+IHtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IFtsb2NhbFZhbHVlLCBzZXRMb2NhbFZhbHVlXSA9IHVzZVN0YXRlPHN0cmluZz4odmFsdWUpXG4gIGNvbnN0IFtyZWZPcHRpb25zLCBzZXRSZWZPcHRpb25zXSA9IHVzZVN0YXRlPFJlZk9wdGlvblR5cGVbXT4oW10pXG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGUoMClcbiAgY29uc3QgW3dpZHRoLCBzZXRXaWR0aF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBbbW91c2VEb3duU2lkZSwgc2V0TW91c2VEb3duU2lkZV0gPSB1c2VTdGF0ZTwnbGVmdCcgfCAncmlnaHQnIHwgbnVsbD4oXG4gICAgbnVsbCxcbiAgKVxuXG4gIGNvbnN0IGdldEVsZW1lbnQgPSB1c2VDYWxsYmFjayhcbiAgICAocmVmZXJlbmNlVmFsdWU6IHN0cmluZykgPT5cbiAgICAgIHJlZk9wdGlvbnMuZmluZChcbiAgICAgICAgZWxlbWVudCA9PiBlbGVtZW50LmN1cnJlbnQgJiYgZWxlbWVudC52YWx1ZSA9PT0gcmVmZXJlbmNlVmFsdWUsXG4gICAgICApPy5jdXJyZW50LFxuICAgIFtyZWZPcHRpb25zXSxcbiAgKVxuXG4gIGNvbnN0IGdldFBvc2l0aW9uID0gKGN1cmVudEVsZW1lbnQ/OiBIVE1MSW5wdXRFbGVtZW50KSA9PiB7XG4gICAgaWYgKCFjdXJlbnRFbGVtZW50KSByZXR1cm4gMFxuICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IGN1cmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdFxuICAgIGNvbnN0IGNvbnRhaW5lclBvc2l0aW9uID1cbiAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0ID8/IDBcblxuICAgIHJldHVybiBjdXJyZW50UG9zaXRpb24gLSBjb250YWluZXJQb3NpdGlvblxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRMb2NhbFZhbHVlKHZhbHVlKVxuICAgIHNldFdpZHRoKGdldEVsZW1lbnQodmFsdWUpPy5vZmZzZXRXaWR0aCA/PyAwKVxuICAgIHNldFBvc2l0aW9uKGdldFBvc2l0aW9uKGdldEVsZW1lbnQodmFsdWUpKSlcbiAgfSwgW3JlZk9wdGlvbnMsIHZhbHVlLCBnZXRFbGVtZW50XSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBnZXRFbGVtZW50KGxvY2FsVmFsdWUpXG4gICAgaWYgKCFlbGVtZW50KSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGVsZW1lbnQub2Zmc2V0V2lkdGggJiZcbiAgICAgICAgKCFbXG4gICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgd2lkdGggKyBGT0NVU19PVkVSTEFZX1NDQUxFX1JBVElPLFxuICAgICAgICAgIHdpZHRoIC0gRk9DVVNfT1ZFUkxBWV9TQ0FMRV9SQVRJTyxcbiAgICAgICAgXS5pbmNsdWRlcyhlbGVtZW50Lm9mZnNldFdpZHRoKSB8fFxuICAgICAgICAgIGdldFBvc2l0aW9uKGVsZW1lbnQpICE9PSBwb3NpdGlvbilcbiAgICAgICkge1xuICAgICAgICBzZXRXaWR0aChlbGVtZW50Lm9mZnNldFdpZHRoID8/IDApXG4gICAgICAgIHNldFBvc2l0aW9uKGdldFBvc2l0aW9uKGVsZW1lbnQpKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpXG4gICAgfVxuICB9LCBbZ2V0RWxlbWVudCwgd2lkdGgsIHBvc2l0aW9uLCBsb2NhbFZhbHVlLCBjaGlsZHJlbl0pXG5cbiAgY29uc3QgaGFuZGxlT25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICBvbkNoYW5nZT8uKGV2ZW50KVxuICAgICAgc2V0TG9jYWxWYWx1ZShldmVudC50YXJnZXQudmFsdWUpXG5cbiAgICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gZ2V0RWxlbWVudChldmVudC50YXJnZXQudmFsdWUpXG5cbiAgICAgIGlmIChjdXJyZW50RWxlbWVudCAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgICBjb25zdCBjdXJyZW50V2lkdGggPSBjdXJyZW50RWxlbWVudC5vZmZzZXRXaWR0aCA/PyAwXG4gICAgICAgIHNldFdpZHRoKGN1cnJlbnRXaWR0aClcbiAgICAgICAgc2V0UG9zaXRpb24oZ2V0UG9zaXRpb24oY3VycmVudEVsZW1lbnQpKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2dldEVsZW1lbnQsIG9uQ2hhbmdlXSxcbiAgKVxuXG4gIGNvbnN0IHZhbHVlQ29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGxvY2FsVmFsdWUsXG4gICAgICBuYW1lLFxuICAgICAgb25CbHVyLFxuICAgICAgb25Gb2N1cyxcbiAgICAgIHNpemUsXG4gICAgICBoYW5kbGVPbkNoYW5nZSxcbiAgICAgIHJlZk9wdGlvbnMsXG4gICAgICBzZXRSZWZPcHRpb25zLFxuICAgICAgc2VudGltZW50LFxuICAgIH0pLFxuICAgIFtcbiAgICAgIGhhbmRsZU9uQ2hhbmdlLFxuICAgICAgbG9jYWxWYWx1ZSxcbiAgICAgIG5hbWUsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkZvY3VzLFxuICAgICAgcmVmT3B0aW9ucyxcbiAgICAgIHNpemUsXG4gICAgICBzZW50aW1lbnQsXG4gICAgXSxcbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPFN3aXRjaEJ1dHRvbkNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlQ29udGV4dH0+XG4gICAgICA8VG9vbHRpcCB0ZXh0PXt0b29sdGlwfT5cbiAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH0+XG4gICAgICAgICAgPFN0eWxlZEJvcmRlcmVkQm94XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBjb25zdCByZWN0ID0gZXZlbnQuY3VycmVudFRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICAgICAgICBjb25zdCBjbGlja1ggPSBldmVudC5jbGllbnRYIC0gcmVjdC5sZWZ0XG4gICAgICAgICAgICAgIGNvbnN0IGNsaWNrSW5DdXJyZW50RWxlbWVudCA9XG4gICAgICAgICAgICAgICAgY2xpY2tYID4gcG9zaXRpb24gJiYgY2xpY2tYIDwgcG9zaXRpb24gKyB3aWR0aFxuICAgICAgICAgICAgICBpZiAoIWNsaWNrSW5DdXJyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHNldE1vdXNlRG93blNpZGUoXG4gICAgICAgICAgICAgICAgICBjbGlja1ggPCBnZXRQb3NpdGlvbihnZXRFbGVtZW50KGxvY2FsVmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICA/ICdsZWZ0J1xuICAgICAgICAgICAgICAgICAgICA6ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIHNldFdpZHRoKHdpZHRoICsgRk9DVVNfT1ZFUkxBWV9TQ0FMRV9SQVRJTylcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRNb3VzZURvd25TaWRlKG51bGwpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlVXA9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0TW91c2VEb3duU2lkZShudWxsKVxuICAgICAgICAgICAgICBpZiAobW91c2VEb3duU2lkZSkgc2V0V2lkdGgod2lkdGggLSBGT0NVU19PVkVSTEFZX1NDQUxFX1JBVElPKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRNb3VzZURvd25TaWRlKG51bGwpXG4gICAgICAgICAgICAgIGlmIChtb3VzZURvd25TaWRlKSBzZXRXaWR0aCh3aWR0aCAtIEZPQ1VTX09WRVJMQVlfU0NBTEVfUkFUSU8pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3dpZHRoID8gKFxuICAgICAgICAgICAgICA8Rm9jdXNPdmVybGF5XG4gICAgICAgICAgICAgICAgY2FyZFdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICBwb3NpdGlvbj17cG9zaXRpb259XG4gICAgICAgICAgICAgICAgbW91c2VEb3duU2lkZT17bW91c2VEb3duU2lkZX1cbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e3NlbnRpbWVudH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIDwvU3R5bGVkQm9yZGVyZWRCb3g+XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgPC9Td2l0Y2hCdXR0b25Db250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cblN3aXRjaEJ1dHRvbi5PcHRpb24gPSBPcHRpb25cbiJdfQ== */"));
|
|
51
38
|
const SwitchButton = ({
|
|
52
39
|
value,
|
|
53
40
|
onChange,
|
|
54
41
|
onFocus,
|
|
55
42
|
onBlur,
|
|
56
43
|
name,
|
|
57
|
-
leftButton,
|
|
58
|
-
rightButton,
|
|
59
44
|
size = "small",
|
|
45
|
+
sentiment = "primary",
|
|
60
46
|
tooltip,
|
|
61
47
|
className,
|
|
48
|
+
children,
|
|
62
49
|
"data-testid": dataTestId
|
|
63
50
|
}) => {
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
const [
|
|
67
|
-
const [
|
|
68
|
-
const [
|
|
69
|
-
const
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
51
|
+
const containerRef = react.useRef(null);
|
|
52
|
+
const [localValue, setLocalValue] = react.useState(value);
|
|
53
|
+
const [refOptions, setRefOptions] = react.useState([]);
|
|
54
|
+
const [position, setPosition] = react.useState(0);
|
|
55
|
+
const [width, setWidth] = react.useState(0);
|
|
56
|
+
const [mouseDownSide, setMouseDownSide] = react.useState(null);
|
|
57
|
+
const getElement = react.useCallback((referenceValue) => refOptions.find((element) => element.current && element.value === referenceValue)?.current, [refOptions]);
|
|
58
|
+
const getPosition = (curentElement) => {
|
|
59
|
+
if (!curentElement) return 0;
|
|
60
|
+
const currentPosition = curentElement.getBoundingClientRect().left;
|
|
61
|
+
const containerPosition = containerRef.current?.getBoundingClientRect().left ?? 0;
|
|
62
|
+
return currentPosition - containerPosition;
|
|
63
|
+
};
|
|
64
|
+
react.useEffect(() => {
|
|
65
|
+
setLocalValue(value);
|
|
66
|
+
setWidth(getElement(value)?.offsetWidth ?? 0);
|
|
67
|
+
setPosition(getPosition(getElement(value)));
|
|
68
|
+
}, [refOptions, value, getElement]);
|
|
69
|
+
react.useEffect(() => {
|
|
70
|
+
const element = getElement(localValue);
|
|
71
|
+
if (!element) return void 0;
|
|
72
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
73
|
+
if (element.offsetWidth && (![width, width + constant.FOCUS_OVERLAY_SCALE_RATIO, width - constant.FOCUS_OVERLAY_SCALE_RATIO].includes(element.offsetWidth) || getPosition(element) !== position)) {
|
|
74
|
+
setWidth(element.offsetWidth ?? 0);
|
|
75
|
+
setPosition(getPosition(element));
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
resizeObserver.observe(element);
|
|
79
|
+
return () => {
|
|
80
|
+
resizeObserver.disconnect();
|
|
81
|
+
};
|
|
82
|
+
}, [getElement, width, position, localValue, children]);
|
|
83
|
+
const handleOnChange = react.useCallback((event) => {
|
|
75
84
|
onChange?.(event);
|
|
76
85
|
setLocalValue(event.target.value);
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
86
|
+
const currentElement = getElement(event.target.value);
|
|
87
|
+
if (currentElement && containerRef.current) {
|
|
88
|
+
const currentWidth = currentElement.offsetWidth ?? 0;
|
|
89
|
+
setWidth(currentWidth);
|
|
90
|
+
setPosition(getPosition(currentElement));
|
|
91
|
+
}
|
|
92
|
+
}, [getElement, onChange]);
|
|
93
|
+
const valueContext = react.useMemo(() => ({
|
|
94
|
+
localValue,
|
|
95
|
+
name,
|
|
96
|
+
onBlur,
|
|
97
|
+
onFocus,
|
|
98
|
+
size,
|
|
99
|
+
handleOnChange,
|
|
100
|
+
refOptions,
|
|
101
|
+
setRefOptions,
|
|
102
|
+
sentiment
|
|
103
|
+
}), [handleOnChange, localValue, name, onBlur, onFocus, refOptions, size, sentiment]);
|
|
104
|
+
return /* @__PURE__ */ jsxRuntime.jsx(SwitchButtonContext.SwitchButtonContext.Provider, { value: valueContext, children: /* @__PURE__ */ jsxRuntime.jsx(index.Tooltip, { text: tooltip, children: /* @__PURE__ */ jsxRuntime.jsx(index$1.Stack, { direction: "row", className, "data-testid": dataTestId, children: /* @__PURE__ */ jsxRuntime.jsxs(StyledBorderedBox, { onMouseDown: (event) => {
|
|
105
|
+
const rect = event.currentTarget.getBoundingClientRect();
|
|
106
|
+
const clickX = event.clientX - rect.left;
|
|
107
|
+
const clickInCurrentElement = clickX > position && clickX < position + width;
|
|
108
|
+
if (!clickInCurrentElement) {
|
|
109
|
+
setMouseDownSide(clickX < getPosition(getElement(localValue)) ? "left" : "right");
|
|
110
|
+
setWidth(width + constant.FOCUS_OVERLAY_SCALE_RATIO);
|
|
111
|
+
} else {
|
|
112
|
+
setMouseDownSide(null);
|
|
113
|
+
}
|
|
114
|
+
}, onMouseUp: () => {
|
|
115
|
+
setMouseDownSide(null);
|
|
116
|
+
if (mouseDownSide) setWidth(width - constant.FOCUS_OVERLAY_SCALE_RATIO);
|
|
117
|
+
}, onMouseLeave: () => {
|
|
118
|
+
setMouseDownSide(null);
|
|
119
|
+
if (mouseDownSide) setWidth(width - constant.FOCUS_OVERLAY_SCALE_RATIO);
|
|
120
|
+
}, "data-size": size, ref: containerRef, children: [
|
|
121
|
+
width ? /* @__PURE__ */ jsxRuntime.jsx(FocusOverlay.FocusOverlay, { cardWidth: width, position, mouseDownSide, sentiment }) : null,
|
|
122
|
+
children
|
|
123
|
+
] }) }) }) });
|
|
91
124
|
};
|
|
125
|
+
SwitchButton.Option = Option.Option;
|
|
92
126
|
exports.SwitchButton = SwitchButton;
|
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
import type { ChangeEventHandler, FocusEventHandler } from 'react';
|
|
1
|
+
import type { ChangeEventHandler, FocusEventHandler, ReactNode } from 'react';
|
|
2
2
|
type SwitchButtonProps = {
|
|
3
3
|
name?: string;
|
|
4
|
+
children: ReactNode;
|
|
4
5
|
onBlur?: FocusEventHandler<HTMLInputElement>;
|
|
5
6
|
onChange: ChangeEventHandler<HTMLInputElement>;
|
|
6
7
|
onFocus?: FocusEventHandler<HTMLInputElement>;
|
|
7
8
|
tooltip?: string;
|
|
8
|
-
value
|
|
9
|
-
leftButton: {
|
|
10
|
-
label: string;
|
|
11
|
-
value: string;
|
|
12
|
-
disabled?: boolean;
|
|
13
|
-
};
|
|
14
|
-
rightButton: {
|
|
15
|
-
label: string;
|
|
16
|
-
value: string;
|
|
17
|
-
disabled?: boolean;
|
|
18
|
-
};
|
|
9
|
+
value: string;
|
|
19
10
|
className?: string;
|
|
20
11
|
'data-testid'?: string;
|
|
21
12
|
size?: 'small' | 'medium';
|
|
13
|
+
sentiment?: 'primary' | 'neutral';
|
|
22
14
|
};
|
|
23
15
|
/**
|
|
24
16
|
* SwitchButton is a component that allows the user to select between two options.
|
|
25
17
|
*/
|
|
26
|
-
export declare const SwitchButton:
|
|
18
|
+
export declare const SwitchButton: {
|
|
19
|
+
({ value, onChange, onFocus, onBlur, name, size, sentiment, tooltip, className, children, "data-testid": dataTestId, }: SwitchButtonProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
20
|
+
Option: ({ value, children, "data-testid": dataTestId, disabled, tooltip, }: {
|
|
21
|
+
value: string;
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
'data-testid'?: string;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
tooltip?: string;
|
|
26
|
+
}) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
27
|
+
};
|
|
27
28
|
export {};
|
|
@@ -1,31 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "@emotion/react/jsx-runtime";
|
|
3
3
|
import _styled from "@emotion/styled/base";
|
|
4
|
-
import { useRef, useState, useCallback, useEffect } from "react";
|
|
5
|
-
import {
|
|
4
|
+
import { useRef, useState, useCallback, useEffect, useMemo } from "react";
|
|
5
|
+
import { Stack } from "../Stack/index.js";
|
|
6
6
|
import { Tooltip } from "../Tooltip/index.js";
|
|
7
7
|
import { FocusOverlay } from "./FocusOverlay.js";
|
|
8
|
+
import { Option } from "./Option.js";
|
|
9
|
+
import { SwitchButtonContext } from "./SwitchButtonContext.js";
|
|
10
|
+
import { FOCUS_OVERLAY_SCALE_RATIO } from "./constant.js";
|
|
8
11
|
const SIZES = {
|
|
9
12
|
small: "500",
|
|
10
13
|
// sizing token from theme
|
|
11
14
|
medium: "600"
|
|
12
15
|
};
|
|
13
|
-
const StyledSelectableCard = /* @__PURE__ */ _styled(SelectableCard, process.env.NODE_ENV === "production" ? {
|
|
14
|
-
target: "e4ryteh1"
|
|
15
|
-
} : {
|
|
16
|
-
target: "e4ryteh1",
|
|
17
|
-
label: "StyledSelectableCard"
|
|
18
|
-
})("border:none;padding:", ({
|
|
19
|
-
theme
|
|
20
|
-
}) => theme.space["1"], " ", ({
|
|
21
|
-
theme
|
|
22
|
-
}) => theme.space["2"], ";font-weight:", ({
|
|
23
|
-
theme
|
|
24
|
-
}) => theme.typography.bodyStrong.weight, ";justify-content:center;align-items:center;transition:all 200ms ease-in-out;white-space:nowrap;background:transparent;&:hover,&:active{box-shadow:none;border:none;&:not([data-error='true'][data-disabled='true']){border:none;}}&[data-checked='true']{border:none;}&[data-checked='true'] label{color:", ({
|
|
25
|
-
theme
|
|
26
|
-
}) => theme.colors.primary.textStrong, ";}&:not([data-checked='true']) label{&:hover{color:", ({
|
|
27
|
-
theme
|
|
28
|
-
}) => theme.colors.primary.text, ";}}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1N3aXRjaEJ1dHRvbi9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBY21EIiwiZmlsZSI6Ii9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1N3aXRjaEJ1dHRvbi9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnXG5pbXBvcnQgdHlwZSB7IENoYW5nZUV2ZW50LCBDaGFuZ2VFdmVudEhhbmRsZXIsIEZvY3VzRXZlbnRIYW5kbGVyIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBTZWxlY3RhYmxlQ2FyZCB9IGZyb20gJy4uL1NlbGVjdGFibGVDYXJkJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJy4uL1Rvb2x0aXAnXG5pbXBvcnQgeyBGb2N1c092ZXJsYXkgfSBmcm9tICcuL0ZvY3VzT3ZlcmxheSdcblxuY29uc3QgU0laRVMgPSB7XG4gIHNtYWxsOiAnNTAwJywgLy8gc2l6aW5nIHRva2VuIGZyb20gdGhlbWVcbiAgbWVkaXVtOiAnNjAwJyxcbn0gYXMgY29uc3RcblxuY29uc3QgU3R5bGVkU2VsZWN0YWJsZUNhcmQgPSBzdHlsZWQoU2VsZWN0YWJsZUNhcmQpYFxuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX0gJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMiddfTtcbiAgZm9udC13ZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUudHlwb2dyYXBoeS5ib2R5U3Ryb25nLndlaWdodH07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbi1vdXQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAmOm5vdChbZGF0YS1lcnJvcj0ndHJ1ZSddW2RhdGEtZGlzYWJsZWQ9J3RydWUnXSkge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1jaGVja2VkPSd0cnVlJ10ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gICZbZGF0YS1jaGVja2VkPSd0cnVlJ10gbGFiZWwge1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9ycy5wcmltYXJ5LnRleHRTdHJvbmd9O1xuICB9XG5cbiAgJjpub3QoW2RhdGEtY2hlY2tlZD0ndHJ1ZSddKSBsYWJlbCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvcnMucHJpbWFyeS50ZXh0fTtcbiAgICB9XG4gIH1cbmBcbmNvbnN0IFN0eWxlZEJvcmRlcmVkQm94ID0gc3R5bGVkLmRpdjx7ICdkYXRhLXNpemUnOiAnc21hbGwnIHwgJ21lZGl1bScgfT5gXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC41J119O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmW2RhdGEtc2l6ZT0nc21hbGwnXSB7XG4gICAgJiA+ICR7U3R5bGVkU2VsZWN0YWJsZUNhcmR9IHtcbiAgICAgIGhlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zaXppbmdbU0laRVMuc21hbGxdfTtcbiAgICB9XG4gIH1cblxuICAmW2RhdGEtc2l6ZT0nbWVkaXVtJ10ge1xuICAgICYgPiAke1N0eWxlZFNlbGVjdGFibGVDYXJkfSB7XG4gICAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW1NJWkVTLm1lZGl1bV19O1xuICAgIH1cbiAgfVxuYFxudHlwZSBTd2l0Y2hCdXR0b25Qcm9wcyA9IHtcbiAgbmFtZT86IHN0cmluZ1xuICBvbkJsdXI/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PlxuICBvbkNoYW5nZTogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+XG4gIG9uRm9jdXM/OiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PlxuICB0b29sdGlwPzogc3RyaW5nXG4gIHZhbHVlPzogc3RyaW5nIHwgbnVtYmVyXG4gIGxlZnRCdXR0b246IHtcbiAgICBsYWJlbDogc3RyaW5nXG4gICAgdmFsdWU6IHN0cmluZ1xuICAgIGRpc2FibGVkPzogYm9vbGVhblxuICB9XG4gIHJpZ2h0QnV0dG9uOiB7XG4gICAgbGFiZWw6IHN0cmluZ1xuICAgIHZhbHVlOiBzdHJpbmdcbiAgICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgfVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nXG59XG5cbi8qKlxuICogU3dpdGNoQnV0dG9uIGlzIGEgY29tcG9uZW50IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIHNlbGVjdCBiZXR3ZWVuIHR3byBvcHRpb25zLlxuICovXG5leHBvcnQgY29uc3QgU3dpdGNoQnV0dG9uID0gKHtcbiAgdmFsdWUsXG4gIG9uQ2hhbmdlLFxuICBvbkZvY3VzLFxuICBvbkJsdXIsXG4gIG5hbWUsXG4gIGxlZnRCdXR0b24sXG4gIHJpZ2h0QnV0dG9uLFxuICBzaXplID0gJ3NtYWxsJyxcbiAgdG9vbHRpcCxcbiAgY2xhc3NOYW1lLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxufTogU3dpdGNoQnV0dG9uUHJvcHMpID0+IHtcbiAgY29uc3QgbGVmdEJ1dHRvblJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgcmlnaHRCdXR0b25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtsZWZ0Q2FyZFdpZHRoLCBzZXRMZWZ0Q2FyZFdpZHRoXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBbcmlnaHRDYXJkV2lkdGgsIHNldFJpZ2h0Q2FyZFdpZHRoXSA9IHVzZVN0YXRlPG51bWJlcj4oKVxuICBjb25zdCBbaGFzTW91c2VEb3duLCBzZXRIYXNNb3VzZURvd25dID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgZ2V0VmFsdWVUb1VzZSA9IHVzZUNhbGxiYWNrKFxuICAgICgpID0+ICh2YWx1ZSA9PT0gbGVmdEJ1dHRvbi52YWx1ZSA/IGxlZnRCdXR0b24udmFsdWUgOiByaWdodEJ1dHRvbi52YWx1ZSksXG4gICAgW2xlZnRCdXR0b24udmFsdWUsIHJpZ2h0QnV0dG9uLnZhbHVlLCB2YWx1ZV0sXG4gIClcblxuICBjb25zdCBbbG9jYWxWYWx1ZSwgc2V0TG9jYWxWYWx1ZV0gPSB1c2VTdGF0ZShnZXRWYWx1ZVRvVXNlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TG9jYWxWYWx1ZShnZXRWYWx1ZVRvVXNlKCkpXG4gIH0sIFtnZXRWYWx1ZVRvVXNlLCB2YWx1ZV0pXG5cbiAgY29uc3QgaGFuZGxlT25DaGFuZ2UgPSAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgb25DaGFuZ2U/LihldmVudClcbiAgICBzZXRMb2NhbFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFsZWZ0QnV0dG9uUmVmLmN1cnJlbnQgfHwgIXJpZ2h0QnV0dG9uUmVmLmN1cnJlbnQpIHJldHVyblxuICAgIHNldExlZnRDYXJkV2lkdGgobGVmdEJ1dHRvblJlZi5jdXJyZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKVxuICAgIHNldFJpZ2h0Q2FyZFdpZHRoKHJpZ2h0QnV0dG9uUmVmLmN1cnJlbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgpXG4gIH0sIFtsZWZ0QnV0dG9uLnZhbHVlLCBsZWZ0QnV0dG9uUmVmLCBsb2NhbFZhbHVlLCByaWdodEJ1dHRvblJlZl0pXG5cbiAgY29uc3Qgc2V0TW91c2VEb3duID0gKGlzTW91c2VEb3duOiBib29sZWFuKSA9PiAoKSA9PlxuICAgIHNldEhhc01vdXNlRG93bihpc01vdXNlRG93bilcblxuICByZXR1cm4gKFxuICAgIDxUb29sdGlwIHRleHQ9e3Rvb2x0aXB9PlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiAnaW5saW5lLWZsZXgnIH19XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH1cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZEJvcmRlcmVkQm94XG4gICAgICAgICAgb25Nb3VzZURvd249e3NldE1vdXNlRG93bih0cnVlKX1cbiAgICAgICAgICBvbk1vdXNlVXA9e3NldE1vdXNlRG93bihmYWxzZSl9XG4gICAgICAgICAgb25Nb3VzZUxlYXZlPXtzZXRNb3VzZURvd24oZmFsc2UpfVxuICAgICAgICAgIGRhdGEtc2l6ZT17c2l6ZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtyaWdodENhcmRXaWR0aCAmJiBsZWZ0Q2FyZFdpZHRoID8gKFxuICAgICAgICAgICAgPEZvY3VzT3ZlcmxheVxuICAgICAgICAgICAgICBmb2N1c1Bvc2l0aW9uPXtsb2NhbFZhbHVlID09PSBsZWZ0QnV0dG9uLnZhbHVlID8gJ2xlZnQnIDogJ3JpZ2h0J31cbiAgICAgICAgICAgICAgcmlnaHRDYXJkV2lkdGg9e3JpZ2h0Q2FyZFdpZHRofVxuICAgICAgICAgICAgICBsZWZ0Q2FyZFdpZHRoPXtsZWZ0Q2FyZFdpZHRofVxuICAgICAgICAgICAgICBoYXNNb3VzZURvd249e2hhc01vdXNlRG93bn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgPFN0eWxlZFNlbGVjdGFibGVDYXJkXG4gICAgICAgICAgICByZWY9e2xlZnRCdXR0b25SZWZ9XG4gICAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgICAgdmFsdWU9e2xlZnRCdXR0b24udmFsdWV9XG4gICAgICAgICAgICBjaGVja2VkPXtsb2NhbFZhbHVlID09PSBsZWZ0QnV0dG9uLnZhbHVlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZU9uQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICAgICAgZGF0YS1jaGVja2VkPXtsb2NhbFZhbHVlID09PSBsZWZ0QnV0dG9uLnZhbHVlfVxuICAgICAgICAgICAgbGFiZWw9e2xlZnRCdXR0b24ubGFiZWx9XG4gICAgICAgICAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZCA/IGAke2RhdGFUZXN0SWR9LWxlZnRgIDogdW5kZWZpbmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZFNlbGVjdGFibGVDYXJkXG4gICAgICAgICAgICByZWY9e3JpZ2h0QnV0dG9uUmVmfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIHZhbHVlPXtyaWdodEJ1dHRvbi52YWx1ZX1cbiAgICAgICAgICAgIGNoZWNrZWQ9e2xvY2FsVmFsdWUgPT09IHJpZ2h0QnV0dG9uLnZhbHVlfVxuICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZU9uQ2hhbmdlfVxuICAgICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgICAgICAgICAgZGF0YS1jaGVja2VkPXtsb2NhbFZhbHVlID09PSByaWdodEJ1dHRvbi52YWx1ZX1cbiAgICAgICAgICAgIGxhYmVsPXtyaWdodEJ1dHRvbi5sYWJlbH1cbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPXtkYXRhVGVzdElkID8gYCR7ZGF0YVRlc3RJZH0tcmlnaHRgIDogdW5kZWZpbmVkfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkQm9yZGVyZWRCb3g+XG4gICAgICA8L2Rpdj5cbiAgICA8L1Rvb2x0aXA+XG4gIClcbn1cbiJdfQ== */"));
|
|
29
16
|
const StyledBorderedBox = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
|
|
30
17
|
target: "e4ryteh0"
|
|
31
18
|
} : {
|
|
@@ -39,52 +26,99 @@ const StyledBorderedBox = /* @__PURE__ */ _styled("div", process.env.NODE_ENV ==
|
|
|
39
26
|
theme
|
|
40
27
|
}) => theme.space["0.5"], ";display:flex;gap:", ({
|
|
41
28
|
theme
|
|
42
|
-
}) => theme.space["1"], ";position:relative;&[data-size='small']{
|
|
29
|
+
}) => theme.space["1"], ";position:relative;&[data-size='small']{height:", ({
|
|
43
30
|
theme
|
|
44
|
-
}) => theme.sizing[SIZES.small], ";}
|
|
31
|
+
}) => theme.sizing[SIZES.small], ";}&[data-size='medium']{height:", ({
|
|
45
32
|
theme
|
|
46
|
-
}) => theme.sizing[SIZES.medium], ";}
|
|
33
|
+
}) => theme.sizing[SIZES.medium], ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL3VsdHJhdmlvbGV0L3VsdHJhdmlvbGV0L3BhY2thZ2VzL3VpL3NyYy9jb21wb25lbnRzL1N3aXRjaEJ1dHRvbi9pbmRleC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJ5RSIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay91bHRyYXZpb2xldC91bHRyYXZpb2xldC9wYWNrYWdlcy91aS9zcmMvY29tcG9uZW50cy9Td2l0Y2hCdXR0b24vaW5kZXgudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJ1xuaW1wb3J0IHR5cGUge1xuICBDaGFuZ2VFdmVudCxcbiAgQ2hhbmdlRXZlbnRIYW5kbGVyLFxuICBGb2N1c0V2ZW50SGFuZGxlcixcbiAgUmVhY3ROb2RlLFxufSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSAnLi4vU3RhY2snXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnLi4vVG9vbHRpcCdcbmltcG9ydCB7IEZvY3VzT3ZlcmxheSB9IGZyb20gJy4vRm9jdXNPdmVybGF5J1xuaW1wb3J0IHsgT3B0aW9uIH0gZnJvbSAnLi9PcHRpb24nXG5pbXBvcnQgdHlwZSB7IFJlZk9wdGlvblR5cGUgfSBmcm9tICcuL1N3aXRjaEJ1dHRvbkNvbnRleHQnXG5pbXBvcnQgeyBTd2l0Y2hCdXR0b25Db250ZXh0IH0gZnJvbSAnLi9Td2l0Y2hCdXR0b25Db250ZXh0J1xuaW1wb3J0IHsgRk9DVVNfT1ZFUkxBWV9TQ0FMRV9SQVRJTyB9IGZyb20gJy4vY29uc3RhbnQnXG5cbmNvbnN0IFNJWkVTID0ge1xuICBzbWFsbDogJzUwMCcsIC8vIHNpemluZyB0b2tlbiBmcm9tIHRoZW1lXG4gIG1lZGl1bTogJzYwMCcsXG59IGFzIGNvbnN0XG5cbmNvbnN0IFN0eWxlZEJvcmRlcmVkQm94ID0gc3R5bGVkLmRpdjx7ICdkYXRhLXNpemUnOiAnc21hbGwnIHwgJ21lZGl1bScgfT5gXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JzLm5ldXRyYWwuYm9yZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5yYWRpaS5kZWZhdWx0fTtcbiAgcGFkZGluZzogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zcGFjZVsnMC41J119O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc3BhY2VbJzEnXX07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmW2RhdGEtc2l6ZT0nc21hbGwnXSB7XG4gICAgICBoZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2l6aW5nW1NJWkVTLnNtYWxsXX07XG4gIH1cblxuICAmW2RhdGEtc2l6ZT0nbWVkaXVtJ10ge1xuICAgICAgaGVpZ2h0OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnNpemluZ1tTSVpFUy5tZWRpdW1dfTtcbiAgfVxuYFxudHlwZSBTd2l0Y2hCdXR0b25Qcm9wcyA9IHtcbiAgbmFtZT86IHN0cmluZ1xuICBjaGlsZHJlbjogUmVhY3ROb2RlXG4gIG9uQmx1cj86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+XG4gIG9uQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD5cbiAgb25Gb2N1cz86IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+XG4gIHRvb2x0aXA/OiBzdHJpbmdcbiAgdmFsdWU6IHN0cmluZ1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgJ2RhdGEtdGVzdGlkJz86IHN0cmluZ1xuICBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nXG4gIHNlbnRpbWVudD86ICdwcmltYXJ5JyB8ICduZXV0cmFsJ1xufVxuXG4vKipcbiAqIFN3aXRjaEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgYmV0d2VlbiB0d28gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IFN3aXRjaEJ1dHRvbiA9ICh7XG4gIHZhbHVlLFxuICBvbkNoYW5nZSxcbiAgb25Gb2N1cyxcbiAgb25CbHVyLFxuICBuYW1lLFxuICBzaXplID0gJ3NtYWxsJyxcbiAgc2VudGltZW50ID0gJ3ByaW1hcnknLFxuICB0b29sdGlwLFxuICBjbGFzc05hbWUsXG4gIGNoaWxkcmVuLFxuICAnZGF0YS10ZXN0aWQnOiBkYXRhVGVzdElkLFxufTogU3dpdGNoQnV0dG9uUHJvcHMpID0+IHtcbiAgY29uc3QgY29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IFtsb2NhbFZhbHVlLCBzZXRMb2NhbFZhbHVlXSA9IHVzZVN0YXRlPHN0cmluZz4odmFsdWUpXG4gIGNvbnN0IFtyZWZPcHRpb25zLCBzZXRSZWZPcHRpb25zXSA9IHVzZVN0YXRlPFJlZk9wdGlvblR5cGVbXT4oW10pXG4gIGNvbnN0IFtwb3NpdGlvbiwgc2V0UG9zaXRpb25dID0gdXNlU3RhdGUoMClcbiAgY29uc3QgW3dpZHRoLCBzZXRXaWR0aF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCBbbW91c2VEb3duU2lkZSwgc2V0TW91c2VEb3duU2lkZV0gPSB1c2VTdGF0ZTwnbGVmdCcgfCAncmlnaHQnIHwgbnVsbD4oXG4gICAgbnVsbCxcbiAgKVxuXG4gIGNvbnN0IGdldEVsZW1lbnQgPSB1c2VDYWxsYmFjayhcbiAgICAocmVmZXJlbmNlVmFsdWU6IHN0cmluZykgPT5cbiAgICAgIHJlZk9wdGlvbnMuZmluZChcbiAgICAgICAgZWxlbWVudCA9PiBlbGVtZW50LmN1cnJlbnQgJiYgZWxlbWVudC52YWx1ZSA9PT0gcmVmZXJlbmNlVmFsdWUsXG4gICAgICApPy5jdXJyZW50LFxuICAgIFtyZWZPcHRpb25zXSxcbiAgKVxuXG4gIGNvbnN0IGdldFBvc2l0aW9uID0gKGN1cmVudEVsZW1lbnQ/OiBIVE1MSW5wdXRFbGVtZW50KSA9PiB7XG4gICAgaWYgKCFjdXJlbnRFbGVtZW50KSByZXR1cm4gMFxuICAgIGNvbnN0IGN1cnJlbnRQb3NpdGlvbiA9IGN1cmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdFxuICAgIGNvbnN0IGNvbnRhaW5lclBvc2l0aW9uID1cbiAgICAgIGNvbnRhaW5lclJlZi5jdXJyZW50Py5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0ID8/IDBcblxuICAgIHJldHVybiBjdXJyZW50UG9zaXRpb24gLSBjb250YWluZXJQb3NpdGlvblxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRMb2NhbFZhbHVlKHZhbHVlKVxuICAgIHNldFdpZHRoKGdldEVsZW1lbnQodmFsdWUpPy5vZmZzZXRXaWR0aCA/PyAwKVxuICAgIHNldFBvc2l0aW9uKGdldFBvc2l0aW9uKGdldEVsZW1lbnQodmFsdWUpKSlcbiAgfSwgW3JlZk9wdGlvbnMsIHZhbHVlLCBnZXRFbGVtZW50XSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBnZXRFbGVtZW50KGxvY2FsVmFsdWUpXG4gICAgaWYgKCFlbGVtZW50KSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGVsZW1lbnQub2Zmc2V0V2lkdGggJiZcbiAgICAgICAgKCFbXG4gICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgd2lkdGggKyBGT0NVU19PVkVSTEFZX1NDQUxFX1JBVElPLFxuICAgICAgICAgIHdpZHRoIC0gRk9DVVNfT1ZFUkxBWV9TQ0FMRV9SQVRJTyxcbiAgICAgICAgXS5pbmNsdWRlcyhlbGVtZW50Lm9mZnNldFdpZHRoKSB8fFxuICAgICAgICAgIGdldFBvc2l0aW9uKGVsZW1lbnQpICE9PSBwb3NpdGlvbilcbiAgICAgICkge1xuICAgICAgICBzZXRXaWR0aChlbGVtZW50Lm9mZnNldFdpZHRoID8/IDApXG4gICAgICAgIHNldFBvc2l0aW9uKGdldFBvc2l0aW9uKGVsZW1lbnQpKVxuICAgICAgfVxuICAgIH0pXG5cbiAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgcmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpXG4gICAgfVxuICB9LCBbZ2V0RWxlbWVudCwgd2lkdGgsIHBvc2l0aW9uLCBsb2NhbFZhbHVlLCBjaGlsZHJlbl0pXG5cbiAgY29uc3QgaGFuZGxlT25DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IENoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICBvbkNoYW5nZT8uKGV2ZW50KVxuICAgICAgc2V0TG9jYWxWYWx1ZShldmVudC50YXJnZXQudmFsdWUpXG5cbiAgICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gZ2V0RWxlbWVudChldmVudC50YXJnZXQudmFsdWUpXG5cbiAgICAgIGlmIChjdXJyZW50RWxlbWVudCAmJiBjb250YWluZXJSZWYuY3VycmVudCkge1xuICAgICAgICBjb25zdCBjdXJyZW50V2lkdGggPSBjdXJyZW50RWxlbWVudC5vZmZzZXRXaWR0aCA/PyAwXG4gICAgICAgIHNldFdpZHRoKGN1cnJlbnRXaWR0aClcbiAgICAgICAgc2V0UG9zaXRpb24oZ2V0UG9zaXRpb24oY3VycmVudEVsZW1lbnQpKVxuICAgICAgfVxuICAgIH0sXG4gICAgW2dldEVsZW1lbnQsIG9uQ2hhbmdlXSxcbiAgKVxuXG4gIGNvbnN0IHZhbHVlQ29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGxvY2FsVmFsdWUsXG4gICAgICBuYW1lLFxuICAgICAgb25CbHVyLFxuICAgICAgb25Gb2N1cyxcbiAgICAgIHNpemUsXG4gICAgICBoYW5kbGVPbkNoYW5nZSxcbiAgICAgIHJlZk9wdGlvbnMsXG4gICAgICBzZXRSZWZPcHRpb25zLFxuICAgICAgc2VudGltZW50LFxuICAgIH0pLFxuICAgIFtcbiAgICAgIGhhbmRsZU9uQ2hhbmdlLFxuICAgICAgbG9jYWxWYWx1ZSxcbiAgICAgIG5hbWUsXG4gICAgICBvbkJsdXIsXG4gICAgICBvbkZvY3VzLFxuICAgICAgcmVmT3B0aW9ucyxcbiAgICAgIHNpemUsXG4gICAgICBzZW50aW1lbnQsXG4gICAgXSxcbiAgKVxuXG4gIHJldHVybiAoXG4gICAgPFN3aXRjaEJ1dHRvbkNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlQ29udGV4dH0+XG4gICAgICA8VG9vbHRpcCB0ZXh0PXt0b29sdGlwfT5cbiAgICAgICAgPFN0YWNrIGRpcmVjdGlvbj1cInJvd1wiIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZH0+XG4gICAgICAgICAgPFN0eWxlZEJvcmRlcmVkQm94XG4gICAgICAgICAgICBvbk1vdXNlRG93bj17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBjb25zdCByZWN0ID0gZXZlbnQuY3VycmVudFRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgICAgICAgICBjb25zdCBjbGlja1ggPSBldmVudC5jbGllbnRYIC0gcmVjdC5sZWZ0XG4gICAgICAgICAgICAgIGNvbnN0IGNsaWNrSW5DdXJyZW50RWxlbWVudCA9XG4gICAgICAgICAgICAgICAgY2xpY2tYID4gcG9zaXRpb24gJiYgY2xpY2tYIDwgcG9zaXRpb24gKyB3aWR0aFxuICAgICAgICAgICAgICBpZiAoIWNsaWNrSW5DdXJyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHNldE1vdXNlRG93blNpZGUoXG4gICAgICAgICAgICAgICAgICBjbGlja1ggPCBnZXRQb3NpdGlvbihnZXRFbGVtZW50KGxvY2FsVmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICA/ICdsZWZ0J1xuICAgICAgICAgICAgICAgICAgICA6ICdyaWdodCcsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIHNldFdpZHRoKHdpZHRoICsgRk9DVVNfT1ZFUkxBWV9TQ0FMRV9SQVRJTylcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRNb3VzZURvd25TaWRlKG51bGwpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbk1vdXNlVXA9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0TW91c2VEb3duU2lkZShudWxsKVxuICAgICAgICAgICAgICBpZiAobW91c2VEb3duU2lkZSkgc2V0V2lkdGgod2lkdGggLSBGT0NVU19PVkVSTEFZX1NDQUxFX1JBVElPKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTW91c2VMZWF2ZT17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRNb3VzZURvd25TaWRlKG51bGwpXG4gICAgICAgICAgICAgIGlmIChtb3VzZURvd25TaWRlKSBzZXRXaWR0aCh3aWR0aCAtIEZPQ1VTX09WRVJMQVlfU0NBTEVfUkFUSU8pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZGF0YS1zaXplPXtzaXplfVxuICAgICAgICAgICAgcmVmPXtjb250YWluZXJSZWZ9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3dpZHRoID8gKFxuICAgICAgICAgICAgICA8Rm9jdXNPdmVybGF5XG4gICAgICAgICAgICAgICAgY2FyZFdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgICAgICBwb3NpdGlvbj17cG9zaXRpb259XG4gICAgICAgICAgICAgICAgbW91c2VEb3duU2lkZT17bW91c2VEb3duU2lkZX1cbiAgICAgICAgICAgICAgICBzZW50aW1lbnQ9e3NlbnRpbWVudH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIDwvU3R5bGVkQm9yZGVyZWRCb3g+XG4gICAgICAgIDwvU3RhY2s+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgPC9Td2l0Y2hCdXR0b25Db250ZXh0LlByb3ZpZGVyPlxuICApXG59XG5cblN3aXRjaEJ1dHRvbi5PcHRpb24gPSBPcHRpb25cbiJdfQ== */"));
|
|
47
34
|
const SwitchButton = ({
|
|
48
35
|
value,
|
|
49
36
|
onChange,
|
|
50
37
|
onFocus,
|
|
51
38
|
onBlur,
|
|
52
39
|
name,
|
|
53
|
-
leftButton,
|
|
54
|
-
rightButton,
|
|
55
40
|
size = "small",
|
|
41
|
+
sentiment = "primary",
|
|
56
42
|
tooltip,
|
|
57
43
|
className,
|
|
44
|
+
children,
|
|
58
45
|
"data-testid": dataTestId
|
|
59
46
|
}) => {
|
|
60
|
-
const
|
|
61
|
-
const
|
|
62
|
-
const [
|
|
63
|
-
const [
|
|
64
|
-
const [
|
|
65
|
-
const
|
|
66
|
-
const
|
|
47
|
+
const containerRef = useRef(null);
|
|
48
|
+
const [localValue, setLocalValue] = useState(value);
|
|
49
|
+
const [refOptions, setRefOptions] = useState([]);
|
|
50
|
+
const [position, setPosition] = useState(0);
|
|
51
|
+
const [width, setWidth] = useState(0);
|
|
52
|
+
const [mouseDownSide, setMouseDownSide] = useState(null);
|
|
53
|
+
const getElement = useCallback((referenceValue) => refOptions.find((element) => element.current && element.value === referenceValue)?.current, [refOptions]);
|
|
54
|
+
const getPosition = (curentElement) => {
|
|
55
|
+
if (!curentElement) return 0;
|
|
56
|
+
const currentPosition = curentElement.getBoundingClientRect().left;
|
|
57
|
+
const containerPosition = containerRef.current?.getBoundingClientRect().left ?? 0;
|
|
58
|
+
return currentPosition - containerPosition;
|
|
59
|
+
};
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
setLocalValue(value);
|
|
62
|
+
setWidth(getElement(value)?.offsetWidth ?? 0);
|
|
63
|
+
setPosition(getPosition(getElement(value)));
|
|
64
|
+
}, [refOptions, value, getElement]);
|
|
67
65
|
useEffect(() => {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
const element = getElement(localValue);
|
|
67
|
+
if (!element) return void 0;
|
|
68
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
69
|
+
if (element.offsetWidth && (![width, width + FOCUS_OVERLAY_SCALE_RATIO, width - FOCUS_OVERLAY_SCALE_RATIO].includes(element.offsetWidth) || getPosition(element) !== position)) {
|
|
70
|
+
setWidth(element.offsetWidth ?? 0);
|
|
71
|
+
setPosition(getPosition(element));
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
resizeObserver.observe(element);
|
|
75
|
+
return () => {
|
|
76
|
+
resizeObserver.disconnect();
|
|
77
|
+
};
|
|
78
|
+
}, [getElement, width, position, localValue, children]);
|
|
79
|
+
const handleOnChange = useCallback((event) => {
|
|
71
80
|
onChange?.(event);
|
|
72
81
|
setLocalValue(event.target.value);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
const currentElement = getElement(event.target.value);
|
|
83
|
+
if (currentElement && containerRef.current) {
|
|
84
|
+
const currentWidth = currentElement.offsetWidth ?? 0;
|
|
85
|
+
setWidth(currentWidth);
|
|
86
|
+
setPosition(getPosition(currentElement));
|
|
87
|
+
}
|
|
88
|
+
}, [getElement, onChange]);
|
|
89
|
+
const valueContext = useMemo(() => ({
|
|
90
|
+
localValue,
|
|
91
|
+
name,
|
|
92
|
+
onBlur,
|
|
93
|
+
onFocus,
|
|
94
|
+
size,
|
|
95
|
+
handleOnChange,
|
|
96
|
+
refOptions,
|
|
97
|
+
setRefOptions,
|
|
98
|
+
sentiment
|
|
99
|
+
}), [handleOnChange, localValue, name, onBlur, onFocus, refOptions, size, sentiment]);
|
|
100
|
+
return /* @__PURE__ */ jsx(SwitchButtonContext.Provider, { value: valueContext, children: /* @__PURE__ */ jsx(Tooltip, { text: tooltip, children: /* @__PURE__ */ jsx(Stack, { direction: "row", className, "data-testid": dataTestId, children: /* @__PURE__ */ jsxs(StyledBorderedBox, { onMouseDown: (event) => {
|
|
101
|
+
const rect = event.currentTarget.getBoundingClientRect();
|
|
102
|
+
const clickX = event.clientX - rect.left;
|
|
103
|
+
const clickInCurrentElement = clickX > position && clickX < position + width;
|
|
104
|
+
if (!clickInCurrentElement) {
|
|
105
|
+
setMouseDownSide(clickX < getPosition(getElement(localValue)) ? "left" : "right");
|
|
106
|
+
setWidth(width + FOCUS_OVERLAY_SCALE_RATIO);
|
|
107
|
+
} else {
|
|
108
|
+
setMouseDownSide(null);
|
|
109
|
+
}
|
|
110
|
+
}, onMouseUp: () => {
|
|
111
|
+
setMouseDownSide(null);
|
|
112
|
+
if (mouseDownSide) setWidth(width - FOCUS_OVERLAY_SCALE_RATIO);
|
|
113
|
+
}, onMouseLeave: () => {
|
|
114
|
+
setMouseDownSide(null);
|
|
115
|
+
if (mouseDownSide) setWidth(width - FOCUS_OVERLAY_SCALE_RATIO);
|
|
116
|
+
}, "data-size": size, ref: containerRef, children: [
|
|
117
|
+
width ? /* @__PURE__ */ jsx(FocusOverlay, { cardWidth: width, position, mouseDownSide, sentiment }) : null,
|
|
118
|
+
children
|
|
119
|
+
] }) }) }) });
|
|
87
120
|
};
|
|
121
|
+
SwitchButton.Option = Option;
|
|
88
122
|
export {
|
|
89
123
|
SwitchButton
|
|
90
124
|
};
|