@laerdal/life-react-components 3.0.1-dev.2 → 3.0.1-dev.20
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/Accordion/AccordionItem.cjs +2 -2
- package/dist/Accordion/AccordionItem.cjs.map +1 -1
- package/dist/Accordion/AccordionItem.js +3 -3
- package/dist/Accordion/AccordionItem.js.map +1 -1
- package/dist/Accordion/index.cjs +46 -4
- package/dist/Accordion/index.cjs.map +1 -1
- package/dist/Accordion/index.d.ts +4 -1
- package/dist/Accordion/index.js +4 -1
- package/dist/Accordion/index.js.map +1 -1
- package/dist/Accordion/styles.cjs +6 -6
- package/dist/Accordion/styles.cjs.map +1 -1
- package/dist/Accordion/styles.d.ts +2 -2
- package/dist/Accordion/styles.js +3 -3
- package/dist/Accordion/styles.js.map +1 -1
- package/dist/AuthPage/AuthPage.cjs +4 -3
- package/dist/AuthPage/AuthPage.cjs.map +1 -1
- package/dist/AuthPage/AuthPage.d.ts +2 -1
- package/dist/AuthPage/AuthPage.js +2 -2
- package/dist/AuthPage/AuthPage.js.map +1 -1
- package/dist/AuthPage/index.cjs +31 -3
- package/dist/AuthPage/index.cjs.map +1 -1
- package/dist/AuthPage/index.d.ts +4 -3
- package/dist/AuthPage/index.js +4 -3
- package/dist/AuthPage/index.js.map +1 -1
- package/dist/Banners/Banner.cjs +16 -11
- package/dist/Banners/Banner.cjs.map +1 -1
- package/dist/Banners/Banner.d.ts +33 -1
- package/dist/Banners/Banner.js +10 -10
- package/dist/Banners/Banner.js.map +1 -1
- package/dist/Banners/OverviewBanner.cjs +7 -5
- package/dist/Banners/OverviewBanner.cjs.map +1 -1
- package/dist/Banners/OverviewBanner.d.ts +8 -2
- package/dist/Banners/OverviewBanner.js +4 -4
- package/dist/Banners/OverviewBanner.js.map +1 -1
- package/dist/Banners/index.cjs +31 -3
- package/dist/Banners/index.cjs.map +1 -1
- package/dist/Banners/index.d.ts +4 -3
- package/dist/Banners/index.js +4 -5
- package/dist/Banners/index.js.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.cjs +2 -2
- package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/Breadcrumb/Breadcrumb.js +3 -3
- package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/Breadcrumb/index.cjs +42 -2
- package/dist/Breadcrumb/index.cjs.map +1 -1
- package/dist/Breadcrumb/index.d.ts +3 -0
- package/dist/Breadcrumb/index.js +3 -0
- package/dist/Breadcrumb/index.js.map +1 -1
- package/dist/Breadcrumb/styles.cjs +5 -5
- package/dist/Breadcrumb/styles.cjs.map +1 -1
- package/dist/Breadcrumb/styles.d.ts +2 -2
- package/dist/Breadcrumb/styles.js +2 -2
- package/dist/Breadcrumb/styles.js.map +1 -1
- package/dist/Button/BackButton.cjs +2 -2
- package/dist/Button/BackButton.cjs.map +1 -1
- package/dist/Button/BackButton.d.ts +1 -1
- package/dist/Button/BackButton.js +2 -2
- package/dist/Button/BackButton.js.map +1 -1
- package/dist/Button/DualFunctionButton.cjs +3 -3
- package/dist/Button/DualFunctionButton.cjs.map +1 -1
- package/dist/Button/DualFunctionButton.js +4 -4
- package/dist/Button/DualFunctionButton.js.map +1 -1
- package/dist/Button/Iconbutton.cjs +10 -10
- package/dist/Button/Iconbutton.cjs.map +1 -1
- package/dist/Button/Iconbutton.d.ts +1 -1
- package/dist/Button/Iconbutton.js +8 -8
- package/dist/Button/Iconbutton.js.map +1 -1
- package/dist/Button/index.cjs +57 -5
- package/dist/Button/index.cjs.map +1 -1
- package/dist/Button/index.d.ts +4 -0
- package/dist/Button/index.js +4 -0
- package/dist/Button/index.js.map +1 -1
- package/dist/Card/VerticalCard/Card.cjs +7 -7
- package/dist/Card/VerticalCard/Card.cjs.map +1 -1
- package/dist/Card/VerticalCard/Card.d.ts +2 -2
- package/dist/Card/VerticalCard/Card.js +4 -4
- package/dist/Card/VerticalCard/Card.js.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.cjs +21 -21
- package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardBottomSection.d.ts +7 -7
- package/dist/Card/VerticalCard/CardBottomSection.js +13 -13
- package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.cjs +11 -11
- package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardMiddleSection.d.ts +3 -3
- package/dist/Card/VerticalCard/CardMiddleSection.js +7 -7
- package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.cjs +13 -13
- package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
- package/dist/Card/VerticalCard/CardTopSection.d.ts +4 -4
- package/dist/Card/VerticalCard/CardTopSection.js +8 -8
- package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
- package/dist/Chips/index.cjs +19 -0
- package/dist/Chips/index.cjs.map +1 -1
- package/dist/Chips/index.d.ts +1 -0
- package/dist/Chips/index.js +1 -0
- package/dist/Chips/index.js.map +1 -1
- package/dist/Dropdown/BasicDropdown.cjs +3 -3
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.d.ts +5 -5
- package/dist/Dropdown/BasicDropdown.js +4 -4
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +19 -19
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.d.ts +9 -9
- package/dist/Dropdown/CommonStyling.js +9 -9
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownButton.cjs +9 -8
- package/dist/Dropdown/DropdownButton.cjs.map +1 -1
- package/dist/Dropdown/DropdownButton.d.ts +1 -0
- package/dist/Dropdown/DropdownButton.js +8 -8
- package/dist/Dropdown/DropdownButton.js.map +1 -1
- package/dist/Dropdown/DropdownContent.cjs +18 -16
- package/dist/Dropdown/DropdownContent.cjs.map +1 -1
- package/dist/Dropdown/DropdownContent.d.ts +10 -1
- package/dist/Dropdown/DropdownContent.js +15 -15
- package/dist/Dropdown/DropdownContent.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +3 -3
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.d.ts +1 -1
- package/dist/Dropdown/DropdownFilter.js +4 -4
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/Dropdown/index.cjs +57 -5
- package/dist/Dropdown/index.cjs.map +1 -1
- package/dist/Dropdown/index.d.ts +4 -0
- package/dist/Dropdown/index.js +4 -0
- package/dist/Dropdown/index.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +80 -4
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.d.ts +2 -0
- package/dist/InputFields/DatepickerField.js +80 -4
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +1 -1
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.js +1 -1
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/ProfileButton/ProfileButton.cjs +1 -1
- package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
- package/dist/ProfileButton/ProfileButton.js +2 -2
- package/dist/ProfileButton/ProfileButton.js.map +1 -1
- package/dist/Table/Table.cjs +18 -6
- package/dist/Table/Table.cjs.map +1 -1
- package/dist/Table/Table.js +18 -6
- package/dist/Table/Table.js.map +1 -1
- package/dist/Table/TableBody.cjs +6 -4
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.js +6 -4
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/Table/TableStyles.cjs +4 -1
- package/dist/Table/TableStyles.cjs.map +1 -1
- package/dist/Table/TableStyles.d.ts +3 -1
- package/dist/Table/TableStyles.js +4 -1
- package/dist/Table/TableStyles.js.map +1 -1
- package/dist/Table/TableTypes.cjs.map +1 -1
- package/dist/Table/TableTypes.d.ts +2 -0
- package/dist/Table/TableTypes.js.map +1 -1
- package/dist/Toggles/ToggleButton.cjs +3 -2
- package/dist/Toggles/ToggleButton.cjs.map +1 -1
- package/dist/Toggles/ToggleButton.js +4 -3
- package/dist/Toggles/ToggleButton.js.map +1 -1
- package/dist/Toggles/ToggleSwitch.cjs +3 -0
- package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
- package/dist/Toggles/ToggleSwitch.js +3 -0
- package/dist/Toggles/ToggleSwitch.js.map +1 -1
- package/dist/Toggles/TogglerStyles.cjs +5 -10
- package/dist/Toggles/TogglerStyles.cjs.map +1 -1
- package/dist/Toggles/TogglerStyles.js +5 -7
- package/dist/Toggles/TogglerStyles.js.map +1 -1
- package/dist/Tooltips/TooltipStyles.cjs +1 -1
- package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
- package/dist/Tooltips/TooltipStyles.js +1 -1
- package/dist/Tooltips/TooltipStyles.js.map +1 -1
- package/dist/styles/z-indexes.cjs +1 -0
- package/dist/styles/z-indexes.cjs.map +1 -1
- package/dist/styles/z-indexes.d.ts +1 -0
- package/dist/styles/z-indexes.js +1 -0
- package/dist/styles/z-indexes.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardTopSection.cjs","names":["
|
|
1
|
+
{"version":3,"file":"CardTopSection.cjs","names":["CardTopSectionImageContainer","styled","div","CardTopSectionTagContainer","CardTopSectionContainer","props","disabled","CardTopSectionRibbonContainer","$backgroundColor","$color","CardTopSectionCheckboxContainer","COLORS","white","CardTopSection","React","forwardRef","ref","selected","setSelected","image","tagLabel","tagIcon","tagVariant","highlightRibbonIcon","highlightRibbonText","highlightRibbonContentColor","highlightRibbonBgColor","height","fallbackSrc","src","alt","loader","width","neutral_300","ComponentTextStyle","Regular"],"sources":["../../../src/Card/VerticalCard/CardTopSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {ComponentS, ComponentTextStyle} from '../../styles/typography';\nimport Checkbox from '../../InputFields/Checkbox';\nimport {Tag, TagVariants} from '../../Tag';\n\nimport {COLORS} from '../../index';\nimport {ImageWithFallbacks} from \"../../Image\";\n\nexport interface CardTopSectionProps {\n selected?: boolean;\n setSelected?: (arg0: boolean) => void;\n tagLabel?: string;\n tagIcon?: React.ReactNode;\n tagVariant?: TagVariants;\n highlightRibbonText?: string;\n highlightRibbonIcon?: React.ReactNode;\n highlightRibbonContentColor?: string;\n highlightRibbonBgColor?: string;\n image?: { src: string; fallbackSrc?: string; alt: string, height?: string; width?: string; loader?: boolean };\n disabled?: boolean;\n}\n\nexport const CardTopSectionImageContainer = styled.div`\n border-top-right-radius: 8px;\n border-top-left-radius: 8px;\n height: 100%;\n width: 100%;\n img{\n object-fit: cover;\n width: 100%;\n height: 100%;\n border-top-right-radius: 8px;\n border-top-left-radius: 8px;\n }\n`;\n\nexport const CardTopSectionTagContainer = styled.div`\n position: absolute;\n\n top: 16px;\n left: 16px;\n width: calc(100% - 32px);\n`;\n\nexport const CardTopSectionContainer = styled.div<{ disabled?: boolean }>`\n position: relative;\n width: 100%;\n overflow: visible;\n\n ${props => props.disabled ? `\n img, svg {\n filter: grayscale(100%);\n }` : ''}\n`;\n\nexport const CardTopSectionRibbonContainer = styled.div<{ $color: string; $backgroundColor: string }>`\n min-height: calc(40px - 16px);\n background-color: ${props => props.$backgroundColor};\n width: calc(100% - 32px);\n position: absolute;\n bottom: 0px;\n left: 0px;\n padding: 8px 16px 8px 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n\n svg {\n color: ${props => props.$color};\n width: 24px;\n height: 24px;\n flex-grow: 0;\n flex-shrink: 0;\n }\n`;\n\nexport const CardTopSectionCheckboxContainer = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n\n .checkbox-icon {\n background-color: ${COLORS.white};\n }\n`;\n\nconst CardTopSection = React.forwardRef(({\n selected,\n setSelected,\n image,\n tagLabel,\n tagIcon,\n tagVariant = 'positive',\n highlightRibbonIcon,\n highlightRibbonText,\n highlightRibbonContentColor,\n highlightRibbonBgColor,\n disabled\n }: CardTopSectionProps, ref: React.Ref<HTMLDivElement>) => {\n\n return (\n <CardTopSectionContainer disabled={disabled} data-testid={'card-topSection'} style={{height: image?.height ?? 200}}>\n {\n image &&\n <CardTopSectionImageContainer>\n <ImageWithFallbacks fallbacks={image.fallbackSrc ?? ''} src={image.src} alt={image.alt} loader={image.loader ?? false} width={image.width} height={image.height}/>\n </CardTopSectionImageContainer>\n }\n {(!!selected || !!setSelected) && (\n <CardTopSectionCheckboxContainer data-testid={'card-topSection-checkbox'}>\n <Checkbox ref={ref}\n disabled={disabled}\n select={(selected: boolean) => setSelected && setSelected(selected)}\n selected={selected || false}/>\n </CardTopSectionCheckboxContainer>\n )}\n {(tagLabel || tagIcon) && (\n <CardTopSectionTagContainer>\n <Tag label={tagLabel} variant={tagVariant} icon={tagIcon}/>\n </CardTopSectionTagContainer>\n )}\n {(highlightRibbonIcon || highlightRibbonText) && (\n <CardTopSectionRibbonContainer data-testid={'card-topSection-ribbon'} $color={highlightRibbonContentColor ?? ''}\n $backgroundColor={disabled ? COLORS.neutral_300 : highlightRibbonBgColor ?? ''}>\n {highlightRibbonIcon}\n {highlightRibbonText && (\n <ComponentS color={highlightRibbonContentColor ?? ''} textStyle={ComponentTextStyle.Regular}>\n {highlightRibbonText}\n </ComponentS>\n )}\n </CardTopSectionRibbonContainer>\n )}\n </CardTopSectionContainer>\n );\n});\n\nexport default CardTopSection;\n"],"mappings":"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"}
|
|
@@ -20,15 +20,15 @@ export interface CardTopSectionProps {
|
|
|
20
20
|
};
|
|
21
21
|
disabled?: boolean;
|
|
22
22
|
}
|
|
23
|
-
export declare const
|
|
24
|
-
export declare const
|
|
23
|
+
export declare const CardTopSectionImageContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
24
|
+
export declare const CardTopSectionTagContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
25
25
|
export declare const CardTopSectionContainer: import("styled-components").StyledComponent<"div", any, {
|
|
26
26
|
disabled?: boolean | undefined;
|
|
27
27
|
}, never>;
|
|
28
|
-
export declare const
|
|
28
|
+
export declare const CardTopSectionRibbonContainer: import("styled-components").StyledComponent<"div", any, {
|
|
29
29
|
$color: string;
|
|
30
30
|
$backgroundColor: string;
|
|
31
31
|
}, never>;
|
|
32
|
-
export declare const
|
|
32
|
+
export declare const CardTopSectionCheckboxContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
33
33
|
declare const CardTopSection: React.ForwardRefExoticComponent<CardTopSectionProps & React.RefAttributes<HTMLDivElement>>;
|
|
34
34
|
export default CardTopSection;
|
|
@@ -10,17 +10,17 @@ import { COLORS } from '../../index';
|
|
|
10
10
|
import { ImageWithFallbacks } from "../../Image";
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
12
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
export var
|
|
14
|
-
export var
|
|
13
|
+
export var CardTopSectionImageContainer = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-top-right-radius: 8px;\n border-top-left-radius: 8px;\n height: 100%;\n width: 100%;\n img{\n object-fit: cover;\n width: 100%;\n height: 100%;\n border-top-right-radius: 8px;\n border-top-left-radius: 8px;\n }\n"])));
|
|
14
|
+
export var CardTopSectionTagContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n position: absolute;\n\n top: 16px;\n left: 16px;\n width: calc(100% - 32px);\n"])));
|
|
15
15
|
export var CardTopSectionContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n position: relative;\n width: 100%;\n overflow: visible;\n\n ", "\n"])), function (props) {
|
|
16
16
|
return props.disabled ? "\n img, svg {\n filter: grayscale(100%);\n }" : '';
|
|
17
17
|
});
|
|
18
|
-
export var
|
|
18
|
+
export var CardTopSectionRibbonContainer = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n min-height: calc(40px - 16px);\n background-color: ", ";\n width: calc(100% - 32px);\n position: absolute;\n bottom: 0px;\n left: 0px;\n padding: 8px 16px 8px 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n\n svg {\n color: ", ";\n width: 24px;\n height: 24px;\n flex-grow: 0;\n flex-shrink: 0;\n }\n"])), function (props) {
|
|
19
19
|
return props.$backgroundColor;
|
|
20
20
|
}, function (props) {
|
|
21
21
|
return props.$color;
|
|
22
22
|
});
|
|
23
|
-
export var
|
|
23
|
+
export var CardTopSectionCheckboxContainer = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n\n .checkbox-icon {\n background-color: ", ";\n }\n"])), COLORS.white);
|
|
24
24
|
var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
25
25
|
var _image$height, _image$fallbackSrc, _image$loader;
|
|
26
26
|
var selected = _ref.selected,
|
|
@@ -41,7 +41,7 @@ var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
41
41
|
style: {
|
|
42
42
|
height: (_image$height = image === null || image === void 0 ? void 0 : image.height) !== null && _image$height !== void 0 ? _image$height : 200
|
|
43
43
|
},
|
|
44
|
-
children: [image && /*#__PURE__*/_jsx(
|
|
44
|
+
children: [image && /*#__PURE__*/_jsx(CardTopSectionImageContainer, {
|
|
45
45
|
children: /*#__PURE__*/_jsx(ImageWithFallbacks, {
|
|
46
46
|
fallbacks: (_image$fallbackSrc = image.fallbackSrc) !== null && _image$fallbackSrc !== void 0 ? _image$fallbackSrc : '',
|
|
47
47
|
src: image.src,
|
|
@@ -50,7 +50,7 @@ var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
50
50
|
width: image.width,
|
|
51
51
|
height: image.height
|
|
52
52
|
})
|
|
53
|
-
}), (!!selected || !!setSelected) && /*#__PURE__*/_jsx(
|
|
53
|
+
}), (!!selected || !!setSelected) && /*#__PURE__*/_jsx(CardTopSectionCheckboxContainer, {
|
|
54
54
|
"data-testid": 'card-topSection-checkbox',
|
|
55
55
|
children: /*#__PURE__*/_jsx(Checkbox, {
|
|
56
56
|
ref: ref,
|
|
@@ -60,13 +60,13 @@ var CardTopSection = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
60
60
|
},
|
|
61
61
|
selected: selected || false
|
|
62
62
|
})
|
|
63
|
-
}), (tagLabel || tagIcon) && /*#__PURE__*/_jsx(
|
|
63
|
+
}), (tagLabel || tagIcon) && /*#__PURE__*/_jsx(CardTopSectionTagContainer, {
|
|
64
64
|
children: /*#__PURE__*/_jsx(Tag, {
|
|
65
65
|
label: tagLabel,
|
|
66
66
|
variant: tagVariant,
|
|
67
67
|
icon: tagIcon
|
|
68
68
|
})
|
|
69
|
-
}), (highlightRibbonIcon || highlightRibbonText) && /*#__PURE__*/_jsxs(
|
|
69
|
+
}), (highlightRibbonIcon || highlightRibbonText) && /*#__PURE__*/_jsxs(CardTopSectionRibbonContainer, {
|
|
70
70
|
"data-testid": 'card-topSection-ribbon',
|
|
71
71
|
$color: highlightRibbonContentColor !== null && highlightRibbonContentColor !== void 0 ? highlightRibbonContentColor : '',
|
|
72
72
|
$backgroundColor: disabled ? COLORS.neutral_300 : highlightRibbonBgColor !== null && highlightRibbonBgColor !== void 0 ? highlightRibbonBgColor : '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardTopSection.js","names":["React","styled","ComponentS","ComponentTextStyle","Checkbox","Tag","COLORS","ImageWithFallbacks","
|
|
1
|
+
{"version":3,"file":"CardTopSection.js","names":["React","styled","ComponentS","ComponentTextStyle","Checkbox","Tag","COLORS","ImageWithFallbacks","CardTopSectionImageContainer","div","CardTopSectionTagContainer","CardTopSectionContainer","props","disabled","CardTopSectionRibbonContainer","$backgroundColor","$color","CardTopSectionCheckboxContainer","white","CardTopSection","forwardRef","ref","selected","setSelected","image","tagLabel","tagIcon","tagVariant","highlightRibbonIcon","highlightRibbonText","highlightRibbonContentColor","highlightRibbonBgColor","height","fallbackSrc","src","alt","loader","width","neutral_300","Regular"],"sources":["../../../src/Card/VerticalCard/CardTopSection.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {ComponentS, ComponentTextStyle} from '../../styles/typography';\nimport Checkbox from '../../InputFields/Checkbox';\nimport {Tag, TagVariants} from '../../Tag';\n\nimport {COLORS} from '../../index';\nimport {ImageWithFallbacks} from \"../../Image\";\n\nexport interface CardTopSectionProps {\n selected?: boolean;\n setSelected?: (arg0: boolean) => void;\n tagLabel?: string;\n tagIcon?: React.ReactNode;\n tagVariant?: TagVariants;\n highlightRibbonText?: string;\n highlightRibbonIcon?: React.ReactNode;\n highlightRibbonContentColor?: string;\n highlightRibbonBgColor?: string;\n image?: { src: string; fallbackSrc?: string; alt: string, height?: string; width?: string; loader?: boolean };\n disabled?: boolean;\n}\n\nexport const CardTopSectionImageContainer = styled.div`\n border-top-right-radius: 8px;\n border-top-left-radius: 8px;\n height: 100%;\n width: 100%;\n img{\n object-fit: cover;\n width: 100%;\n height: 100%;\n border-top-right-radius: 8px;\n border-top-left-radius: 8px;\n }\n`;\n\nexport const CardTopSectionTagContainer = styled.div`\n position: absolute;\n\n top: 16px;\n left: 16px;\n width: calc(100% - 32px);\n`;\n\nexport const CardTopSectionContainer = styled.div<{ disabled?: boolean }>`\n position: relative;\n width: 100%;\n overflow: visible;\n\n ${props => props.disabled ? `\n img, svg {\n filter: grayscale(100%);\n }` : ''}\n`;\n\nexport const CardTopSectionRibbonContainer = styled.div<{ $color: string; $backgroundColor: string }>`\n min-height: calc(40px - 16px);\n background-color: ${props => props.$backgroundColor};\n width: calc(100% - 32px);\n position: absolute;\n bottom: 0px;\n left: 0px;\n padding: 8px 16px 8px 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n\n svg {\n color: ${props => props.$color};\n width: 24px;\n height: 24px;\n flex-grow: 0;\n flex-shrink: 0;\n }\n`;\n\nexport const CardTopSectionCheckboxContainer = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n z-index: 1;\n\n .checkbox-icon {\n background-color: ${COLORS.white};\n }\n`;\n\nconst CardTopSection = React.forwardRef(({\n selected,\n setSelected,\n image,\n tagLabel,\n tagIcon,\n tagVariant = 'positive',\n highlightRibbonIcon,\n highlightRibbonText,\n highlightRibbonContentColor,\n highlightRibbonBgColor,\n disabled\n }: CardTopSectionProps, ref: React.Ref<HTMLDivElement>) => {\n\n return (\n <CardTopSectionContainer disabled={disabled} data-testid={'card-topSection'} style={{height: image?.height ?? 200}}>\n {\n image &&\n <CardTopSectionImageContainer>\n <ImageWithFallbacks fallbacks={image.fallbackSrc ?? ''} src={image.src} alt={image.alt} loader={image.loader ?? false} width={image.width} height={image.height}/>\n </CardTopSectionImageContainer>\n }\n {(!!selected || !!setSelected) && (\n <CardTopSectionCheckboxContainer data-testid={'card-topSection-checkbox'}>\n <Checkbox ref={ref}\n disabled={disabled}\n select={(selected: boolean) => setSelected && setSelected(selected)}\n selected={selected || false}/>\n </CardTopSectionCheckboxContainer>\n )}\n {(tagLabel || tagIcon) && (\n <CardTopSectionTagContainer>\n <Tag label={tagLabel} variant={tagVariant} icon={tagIcon}/>\n </CardTopSectionTagContainer>\n )}\n {(highlightRibbonIcon || highlightRibbonText) && (\n <CardTopSectionRibbonContainer data-testid={'card-topSection-ribbon'} $color={highlightRibbonContentColor ?? ''}\n $backgroundColor={disabled ? COLORS.neutral_300 : highlightRibbonBgColor ?? ''}>\n {highlightRibbonIcon}\n {highlightRibbonText && (\n <ComponentS color={highlightRibbonContentColor ?? ''} textStyle={ComponentTextStyle.Regular}>\n {highlightRibbonText}\n </ComponentS>\n )}\n </CardTopSectionRibbonContainer>\n )}\n </CardTopSectionContainer>\n );\n});\n\nexport default CardTopSection;\n"],"mappings":"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"}
|
package/dist/Chips/index.cjs
CHANGED
|
@@ -4,6 +4,13 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
+
var _exportNames = {
|
|
8
|
+
InputChip: true,
|
|
9
|
+
FilterChip: true,
|
|
10
|
+
ActionChip: true,
|
|
11
|
+
ChipInput: true,
|
|
12
|
+
ChoiceChips: true
|
|
13
|
+
};
|
|
7
14
|
Object.defineProperty(exports, "ActionChip", {
|
|
8
15
|
enumerable: true,
|
|
9
16
|
get: function get() {
|
|
@@ -39,4 +46,16 @@ var _FilterChip = _interopRequireDefault(require("./FilterChip"));
|
|
|
39
46
|
var _ActionChip = _interopRequireDefault(require("./ActionChip"));
|
|
40
47
|
var _ChipInput = _interopRequireDefault(require("../ChipsInput/ChipInput"));
|
|
41
48
|
var _ChoiceChips = _interopRequireDefault(require("./ChoiceChips"));
|
|
49
|
+
var _ChipStyles = require("./ChipStyles");
|
|
50
|
+
Object.keys(_ChipStyles).forEach(function (key) {
|
|
51
|
+
if (key === "default" || key === "__esModule") return;
|
|
52
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
53
|
+
if (key in exports && exports[key] === _ChipStyles[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function get() {
|
|
57
|
+
return _ChipStyles[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
42
61
|
//# sourceMappingURL=index.cjs.map
|
package/dist/Chips/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/Chips/index.ts"],"sourcesContent":["export { default as InputChip } from './InputChip';\nexport { default as FilterChip } from './FilterChip';\nexport { default as ActionChip } from './ActionChip';\nexport { default as ChipInput } from '../ChipsInput/ChipInput';\nexport { default as ChoiceChips } from './ChoiceChips';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../src/Chips/index.ts"],"sourcesContent":["export { default as InputChip } from './InputChip';\nexport { default as FilterChip } from './FilterChip';\nexport { default as ActionChip } from './ActionChip';\nexport { default as ChipInput } from '../ChipsInput/ChipInput';\nexport { default as ChoiceChips } from './ChoiceChips';\nexport * from './ChipStyles';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
|
package/dist/Chips/index.d.ts
CHANGED
package/dist/Chips/index.js
CHANGED
|
@@ -3,4 +3,5 @@ export { default as FilterChip } from './FilterChip';
|
|
|
3
3
|
export { default as ActionChip } from './ActionChip';
|
|
4
4
|
export { default as ChipInput } from '../ChipsInput/ChipInput';
|
|
5
5
|
export { default as ChoiceChips } from './ChoiceChips';
|
|
6
|
+
export * from './ChipStyles';
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/Chips/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["default","InputChip","FilterChip","ActionChip","ChipInput","ChoiceChips"],"sources":["../../src/Chips/index.ts"],"sourcesContent":["export { default as InputChip } from './InputChip';\nexport { default as FilterChip } from './FilterChip';\nexport { default as ActionChip } from './ActionChip';\nexport { default as ChipInput } from '../ChipsInput/ChipInput';\nexport { default as ChoiceChips } from './ChoiceChips';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,aAAa;AAClD,SAASD,OAAO,IAAIE,UAAU,QAAQ,cAAc;AACpD,SAASF,OAAO,IAAIG,UAAU,QAAQ,cAAc;AACpD,SAASH,OAAO,IAAII,SAAS,QAAQ,yBAAyB;AAC9D,SAASJ,OAAO,IAAIK,WAAW,QAAQ,eAAe"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","InputChip","FilterChip","ActionChip","ChipInput","ChoiceChips"],"sources":["../../src/Chips/index.ts"],"sourcesContent":["export { default as InputChip } from './InputChip';\nexport { default as FilterChip } from './FilterChip';\nexport { default as ActionChip } from './ActionChip';\nexport { default as ChipInput } from '../ChipsInput/ChipInput';\nexport { default as ChoiceChips } from './ChoiceChips';\nexport * from './ChipStyles';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,SAAS,QAAQ,aAAa;AAClD,SAASD,OAAO,IAAIE,UAAU,QAAQ,cAAc;AACpD,SAASF,OAAO,IAAIG,UAAU,QAAQ,cAAc;AACpD,SAASH,OAAO,IAAII,SAAS,QAAQ,yBAAyB;AAC9D,SAASJ,OAAO,IAAIK,WAAW,QAAQ,eAAe;AACtD,cAAc,cAAc"}
|
|
@@ -158,7 +158,7 @@ var BasicDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
158
158
|
};
|
|
159
159
|
var cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? " ".concat(className) : '');
|
|
160
160
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
161
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_CommonStyling.
|
|
161
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_CommonStyling.DropdownContainer, {
|
|
162
162
|
ref: containerRef,
|
|
163
163
|
"aria-expanded": isOpen ? true : false,
|
|
164
164
|
"aria-activedescendant": activeDescendant,
|
|
@@ -172,7 +172,7 @@ var BasicDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
172
172
|
margin: margin,
|
|
173
173
|
onBlur: handleBlur,
|
|
174
174
|
minWidth: minWidth,
|
|
175
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_CommonStyling.
|
|
175
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_CommonStyling.DropdownInputFieldStyles, _objectSpread(_objectSpread({
|
|
176
176
|
ref: styledFieldRef,
|
|
177
177
|
className: cls,
|
|
178
178
|
onMouseDown: _common.defaultOnMouseDownHandler,
|
|
@@ -198,7 +198,7 @@ var BasicDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
198
198
|
onKeyDown: handleKeyDown,
|
|
199
199
|
minWidth: minWidth
|
|
200
200
|
}, rest), {}, {
|
|
201
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CommonStyling.
|
|
201
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_CommonStyling.DropdownInputField, {
|
|
202
202
|
ref: inputRef,
|
|
203
203
|
type: "search",
|
|
204
204
|
ellipsis: textOverflow == 'ellipsis',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicDropdown.cjs","names":["BasicDropdown","React","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","onBlur","dataTestId","onSelect","textOverflow","rest","useState","isOpen","setIsOpen","activeDescendant","setActiveDescendant","isLoading","setIsLoading","input","setInput","focused","setFocused","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","useFocusVisibleRef","dropdownRef","resetDropdown","containerRef","useFocusOutsideRef","useClickOutsideRef","handleKeyDown","e","key","handleValueSelect","values","join","multiSelect","undefined","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","filter","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","defaultOnMouseDownHandler","stopPropagation","blur","Size","Small","COLORS","neutral_600","onValueUpdate","items","critical_400","disableSorting"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\nimport {COLORS} from '../styles';\nimport {SystemIcons} from '../icons';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport {Dropdown, StyledField, InputField} from './CommonStyling';\nimport DropdownContent, {DropdownItem} from './DropdownContent';\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\nimport {Size, Testable} from '../types';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\nimport {useFocusOutsideRef} from '../common';\n\ninterface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\n list: DropdownItem[];\n itemsType?: 'normal' | 'checkbox' | 'radio';\n action?: () => void;\n actionLabel?: string;\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\n actionIcon?: React.ReactNode;\n actionLoading?: boolean;\n actionDisabled?: boolean;\n pinTopItem?: boolean;\n scrollable?: boolean;\n maxHeight?: string;\n placeholder?: string;\n disableSorting?: boolean;\n messageOnNoResults?: string;\n disabled?: boolean;\n readOnly?: boolean;\n isButton?: boolean;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: Size.Small | Size.Medium;\n margin?: string;\n minWidth?: string;\n textOverflow?: 'ellipsis' | 'default';\n}\n\ntype DropdownFilterMultiSelectProps = BasicDropdownCommonProps & {\n multiSelect: true;\n value?: string[];\n onSelect: (value: string[]) => void;\n}\n\ntype DropdownFilterSingleSelectProps = BasicDropdownCommonProps & {\n multiSelect?: false;\n value?: string;\n onSelect: (value: string) => void;\n}\n\ntype DropdownFilterProps = DropdownFilterSingleSelectProps | DropdownFilterMultiSelectProps;\n\nconst BasicDropdown = React.forwardRef((props: DropdownFilterProps, ref) => {\n const {\n id,\n list,\n placeholder,\n messageOnNoResults,\n itemsType = 'normal',\n action,\n actionLabel,\n actionVariant,\n actionIcon,\n actionLoading,\n actionDisabled,\n pinTopItem,\n scrollable = true,\n maxHeight,\n disabled,\n readOnly,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n margin,\n minWidth,\n className,\n onBlur,\n dataTestId,\n onSelect,\n textOverflow = 'ellipsis',\n ...rest\n } = props;\n\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>('');\n const [focused, setFocused] = React.useState<number | null>(null);\n \n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const inputRef = React.useRef<HTMLInputElement>(null);\n const styledFieldRef = useFocusVisibleRef([inputRef]);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const resetDropdown = () => {\n setIsOpen(false);\n setFocused(null);\n };\n\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\n\n useClickOutsideRef(resetDropdown, [], containerRef);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n setIsOpen(!isOpen);\n setKeyboardNavigated(true);\n }\n };\n\n const handleValueSelect = (values: string[]) => {\n setInput(values.join(', '));\n\n if (props.multiSelect === true) {\n props.onSelect(values);\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n props.onSelect(values[0]);\n }\n\n //don't close dropdown on item select if have custom action or multiselect\n if (actionLabel || props.multiSelect) return;\n\n if (keyboardNavigated) {\n styledFieldRef.current?.focus({focusVisible: true} as any);\n }\n setIsOpen(false);\n setFocused(null);\n };\n\n React.useEffect(() => {\n if (props.value) {\n if (props.multiSelect) {\n setInput(props.value.join(', '));\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n setInput(props.value);\n }\n } else {\n setInput('');\n }\n }, [props.value, props.multiSelect]);\n\n React.useEffect(() => {\n setIsLoading(false);\n }, [input]);\n\n React.useEffect(() => {\n !isOpen && setKeyboardNavigated(false);\n }, [isOpen]);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const customSetIsOpen = (isOpen: boolean) => {\n setIsOpen(isOpen);\n };\n\n const getDisplayItems = () => {\n const values = input.split(',').map((val) => val.trim());\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\n return listDisplayLabels.join(', ');\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n // @ts-ignore\n if (!e.currentTarget.contains(e.relatedTarget)) {\n onBlur && onBlur(e);\n }\n };\n\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\n \n return (\n <>\n <Dropdown ref={containerRef}\n aria-expanded={isOpen ? true : false}\n aria-activedescendant={activeDescendant}\n aria-controls={`${id}_dropdowncontent`}\n role=\"listbox\"\n aria-multiselectable={props.multiSelect}\n isButton={isButton || false}\n className={size ? size : ''}\n readOnly={readOnly}\n disabled={disabled}\n margin={margin}\n onBlur={handleBlur}\n minWidth={minWidth}>\n <StyledField\n ref={styledFieldRef}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={(e) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n tabIndex={disabled || readOnly ? -1 : 0}\n disabled={disabled || false}\n readOnly={readOnly || false}\n isPlaceholder={!input}\n placeholder={placeholder}\n showValidationMessage={!!activeValidationMessage}\n onKeyDown={handleKeyDown}\n minWidth={minWidth}\n {...rest}>\n <InputField\n ref={inputRef}\n type=\"search\"\n ellipsis={textOverflow == 'ellipsis'}\n id={id}\n data-testid={dataTestId}\n readOnly\n placeholder={placeholder}\n value={getDisplayItems()}\n className={size ? `${size} value` : 'value'}\n tabIndex={-1}\n disabled={disabled || false}\n />\n {!isOpen ? <TooltipOverflow input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end' position='bottom'>\n {getDisplayItems()}\n </TooltipOverflow> : null}\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.neutral_600}/> : null}\n <div className={'icon dropdown-arrow'}>\n {isOpen ? <SystemIcons.ArrowDropUp size=\"24px\" className={size ? size : ''}/> :\n <SystemIcons.ArrowDropDown size=\"24px\" className={size ? size : ''}/>}\n </div>\n </StyledField>\n {!readOnly && !disabled && (\n <DropdownContent\n ref={dropdownRef}\n containerRef={containerRef}\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n actionDisabled: actionDisabled,\n scrollable: scrollable,\n onValueUpdate: handleValueSelect,\n items: list,\n multiSelect: props.multiSelect,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n size={size ?? Size.Small}\n filter={''}\n isOpen={isOpen}\n setIsOpen={customSetIsOpen}\n messageOnNoResults={messageOnNoResults ?? ''}\n outline={keyboardNavigated}\n isButton={isButton || false}\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\n setSelectedValues={handleValueSelect}\n id={`${id}_dropdowncontent`}\n />\n )}\n </Dropdown>\n {activeValidationMessage && (\n <ErrorMessage>\n <SystemIcons.TechnicalWarning color={COLORS.critical_400}/>\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage>\n <SystemIcons.Information color={COLORS.neutral_600}/>\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n});\n\nexport default BasicDropdown;\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAA4F;AAAA;AAAA;AAAA;AAAA;AAAA;AA2C5F,IAAMA,aAAa,gBAAGC,KAAK,CAACC,UAAU,CAAC,UAACC,KAA0B,EAAEC,GAAG,EAAK;EAC1E,IACEC,EAAE,GA4BAF,KAAK,CA5BPE,EAAE;IACFC,IAAI,GA2BFH,KAAK,CA3BPG,IAAI;IACJC,WAAW,GA0BTJ,KAAK,CA1BPI,WAAW;IACXC,kBAAkB,GAyBhBL,KAAK,CAzBPK,kBAAkB;IAAA,mBAyBhBL,KAAK,CAxBPM,SAAS;IAATA,SAAS,iCAAG,QAAQ;IACpBC,MAAM,GAuBJP,KAAK,CAvBPO,MAAM;IACNC,WAAW,GAsBTR,KAAK,CAtBPQ,WAAW;IACXC,aAAa,GAqBXT,KAAK,CArBPS,aAAa;IACbC,UAAU,GAoBRV,KAAK,CApBPU,UAAU;IACVC,aAAa,GAmBXX,KAAK,CAnBPW,aAAa;IACbC,cAAc,GAkBZZ,KAAK,CAlBPY,cAAc;IACdC,UAAU,GAiBRb,KAAK,CAjBPa,UAAU;IAAA,oBAiBRb,KAAK,CAhBPc,UAAU;IAAVA,UAAU,kCAAG,IAAI;IACjBC,SAAS,GAePf,KAAK,CAfPe,SAAS;IACTC,QAAQ,GAcNhB,KAAK,CAdPgB,QAAQ;IACRC,QAAQ,GAaNjB,KAAK,CAbPiB,QAAQ;IACRC,QAAQ,GAYNlB,KAAK,CAZPkB,QAAQ;IACRC,uBAAuB,GAWrBnB,KAAK,CAXPmB,uBAAuB;IACvBC,iBAAiB,GAUfpB,KAAK,CAVPoB,iBAAiB;IACjBC,IAAI,GASFrB,KAAK,CATPqB,IAAI;IACJC,MAAM,GAQJtB,KAAK,CARPsB,MAAM;IACNC,QAAQ,GAONvB,KAAK,CAPPuB,QAAQ;IACRC,SAAS,GAMPxB,KAAK,CANPwB,SAAS;IACTC,MAAM,GAKJzB,KAAK,CALPyB,MAAM;IACNC,UAAU,GAIR1B,KAAK,CAJP0B,UAAU;IACVC,QAAQ,GAGN3B,KAAK,CAHP2B,QAAQ;IAAA,sBAGN3B,KAAK,CAFP4B,YAAY;IAAZA,YAAY,oCAAG,UAAU;IACtBC,IAAI,0CACL7B,KAAK;EAET,sBAA4BF,KAAK,CAACgC,QAAQ,CAAU,KAAK,CAAC;IAAA;IAAnDC,MAAM;IAAEC,SAAS;EACxB,uBAAgDlC,KAAK,CAACgC,QAAQ,EAAU;IAAA;IAAjEG,gBAAgB;IAAEC,mBAAmB;EAC5C,uBAAkCpC,KAAK,CAACgC,QAAQ,CAAU,KAAK,CAAC;IAAA;IAAzDK,SAAS;IAAEC,YAAY;EAC9B,uBAA0BtC,KAAK,CAACgC,QAAQ,CAAS,EAAE,CAAC;IAAA;IAA7CO,KAAK;IAAEC,QAAQ;EACtB,uBAA8BxC,KAAK,CAACgC,QAAQ,CAAgB,IAAI,CAAC;IAAA;IAA1DS,OAAO;IAAEC,UAAU;EAE1B,wBAAkD1C,KAAK,CAACgC,QAAQ,CAAU,KAAK,CAAC;IAAA;IAAzEW,iBAAiB;IAAEC,oBAAoB;EAE9C,IAAMC,QAAQ,GAAG7C,KAAK,CAAC8C,MAAM,CAAmB,IAAI,CAAC;EACrD,IAAMC,cAAc,GAAG,IAAAC,0BAAkB,EAAC,CAACH,QAAQ,CAAC,CAAC;EACrD,IAAMI,WAAW,GAAGjD,KAAK,CAAC8C,MAAM,CAAiB,IAAI,CAAC;EAEtD,IAAMI,aAAa,GAAG,SAAhBA,aAAa,GAAS;IAC1BhB,SAAS,CAAC,KAAK,CAAC;IAChBQ,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC;EAED,IAAMS,YAAY,GAAG,IAAAC,0BAAkB,EAACF,aAAa,EAAE,CAACD,WAAW,CAAC,CAAC;EAErE,IAAAI,0BAAkB,EAACH,aAAa,EAAE,EAAE,EAAEC,YAAY,CAAC;EAEnD,IAAMG,aAAa,GAAG,SAAhBA,aAAa,CAAIC,CAAsC,EAAK;IAChE,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,IAAID,CAAC,CAACC,GAAG,KAAK,GAAG,EAAE;MACtCtB,SAAS,CAAC,CAACD,MAAM,CAAC;MAClBW,oBAAoB,CAAC,IAAI,CAAC;IAC5B;EACF,CAAC;EAED,IAAMa,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,MAAgB,EAAK;IAC9ClB,QAAQ,CAACkB,MAAM,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3B,IAAIzD,KAAK,CAAC0D,WAAW,KAAK,IAAI,EAAE;MAC9B1D,KAAK,CAAC2B,QAAQ,CAAC6B,MAAM,CAAC;IACxB,CAAC,MAAM,IAAIxD,KAAK,CAAC0D,WAAW,KAAK,KAAK,IAAI1D,KAAK,CAAC0D,WAAW,KAAKC,SAAS,EAAE;MACzE3D,KAAK,CAAC2B,QAAQ,CAAC6B,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B;;IAEA;IACA,IAAIhD,WAAW,IAAIR,KAAK,CAAC0D,WAAW,EAAE;IAEtC,IAAIjB,iBAAiB,EAAE;MAAA;MACrB,yBAAAI,cAAc,CAACe,OAAO,0DAAtB,sBAAwBC,KAAK,CAAC;QAACC,YAAY,EAAE;MAAI,CAAC,CAAQ;IAC5D;IACA9B,SAAS,CAAC,KAAK,CAAC;IAChBQ,UAAU,CAAC,IAAI,CAAC;EAClB,CAAC;EAED1C,KAAK,CAACiE,SAAS,CAAC,YAAM;IACpB,IAAI/D,KAAK,CAACgE,KAAK,EAAE;MACf,IAAIhE,KAAK,CAAC0D,WAAW,EAAE;QACrBpB,QAAQ,CAACtC,KAAK,CAACgE,KAAK,CAACP,IAAI,CAAC,IAAI,CAAC,CAAC;MAClC,CAAC,MAAM,IAAIzD,KAAK,CAAC0D,WAAW,KAAK,KAAK,IAAI1D,KAAK,CAAC0D,WAAW,KAAKC,SAAS,EAAE;QACzErB,QAAQ,CAACtC,KAAK,CAACgE,KAAK,CAAC;MACvB;IACF,CAAC,MAAM;MACL1B,QAAQ,CAAC,EAAE,CAAC;IACd;EACF,CAAC,EAAE,CAACtC,KAAK,CAACgE,KAAK,EAAEhE,KAAK,CAAC0D,WAAW,CAAC,CAAC;EAEpC5D,KAAK,CAACiE,SAAS,CAAC,YAAM;IACpB3B,YAAY,CAAC,KAAK,CAAC;EACrB,CAAC,EAAE,CAACC,KAAK,CAAC,CAAC;EAEXvC,KAAK,CAACiE,SAAS,CAAC,YAAM;IACpB,CAAChC,MAAM,IAAIW,oBAAoB,CAAC,KAAK,CAAC;EACxC,CAAC,EAAE,CAACX,MAAM,CAAC,CAAC;EAEZjC,KAAK,CAACmE,mBAAmB,CAAChE,GAAG,EAAE;IAAA,OAAM0C,QAAQ,CAACiB,OAAO;EAAA,GAAE,CAACjB,QAAQ,CAAC,CAAC;EAElE,IAAMuB,eAAe,GAAG,SAAlBA,eAAe,CAAInC,MAAe,EAAK;IAC3CC,SAAS,CAACD,MAAM,CAAC;EACnB,CAAC;EAED,IAAMoC,eAAe,GAAG,SAAlBA,eAAe,GAAS;IAC5B,IAAMX,MAAM,GAAGnB,KAAK,CAAC+B,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,UAACC,GAAG;MAAA,OAAKA,GAAG,CAACC,IAAI,EAAE;IAAA,EAAC;IACxD,IAAMC,iBAAiB,GAAGrE,IAAI,CAACsE,MAAM,CAAC,UAACC,IAAI;MAAA,OAAKlB,MAAM,CAACmB,QAAQ,CAACD,IAAI,CAACV,KAAK,CAAC;IAAA,EAAC,CAACK,GAAG,CAAC,UAACO,CAAC;MAAA,OAAKA,CAAC,CAACC,YAAY;IAAA,EAAC;IACvG,OAAOL,iBAAiB,CAACf,IAAI,CAAC,IAAI,CAAC;EACrC,CAAC;EAED,IAAMqB,UAAU,GAAG,SAAbA,UAAU,CAAIzB,CAAmC,EAAK;IAC1D;IACA,IAAI,CAACA,CAAC,CAAC0B,aAAa,CAACC,QAAQ,CAAC3B,CAAC,CAAC4B,aAAa,CAAC,EAAE;MAC9CxD,MAAM,IAAIA,MAAM,CAAC4B,CAAC,CAAC;IACrB;EACF,CAAC;EAED,IAAM6B,GAAG,GAAG,CAACnD,MAAM,GAAG,WAAW,GAAG,EAAE,EAAEoD,MAAM,CAAC9D,IAAI,GAAGA,IAAI,GAAG,EAAE,CAAC,CAAC8D,MAAM,CAACjE,QAAQ,GAAG,UAAU,GAAG,EAAE,CAAC,CAACiE,MAAM,CAAC3D,SAAS,cAAOA,SAAS,IAAK,EAAE,CAAC;EAE5I,oBACE;IAAA,wBACE,sBAAC,uBAAQ;MAAC,GAAG,EAAEyB,YAAa;MAClB,iBAAelB,MAAM,GAAG,IAAI,GAAG,KAAM;MACrC,yBAAuBE,gBAAiB;MACxC,2BAAkB/B,EAAE,qBAAmB;MACvC,IAAI,EAAC,SAAS;MACd,wBAAsBF,KAAK,CAAC0D,WAAY;MACxC,QAAQ,EAAExC,QAAQ,IAAI,KAAM;MAC5B,SAAS,EAAEG,IAAI,GAAGA,IAAI,GAAG,EAAG;MAC5B,QAAQ,EAAEJ,QAAS;MACnB,QAAQ,EAAED,QAAS;MACnB,MAAM,EAAEM,MAAO;MACf,MAAM,EAAEwD,UAAW;MACnB,QAAQ,EAAEvD,QAAS;MAAA,wBAC3B,sBAAC,0BAAW;QACV,GAAG,EAAEsB,cAAe;QACpB,SAAS,EAAEqC,GAAI;QACf,WAAW,EAAEE,iCAA0B;QACvC,OAAO,EAAE,iBAAC/B,CAAC,EAAK;UACd,IAAI,CAACpC,QAAQ,IAAI,CAACD,QAAQ,EAAE;YAC1BqC,CAAC,CAACgC,eAAe,EAAE;YACnBrD,SAAS,CAAC,CAACD,MAAM,CAAC;YAClB,IAAIA,MAAM,EAAE;cAAA;cACV,qBAAAY,QAAQ,CAACiB,OAAO,sDAAhB,kBAAkB0B,IAAI,EAAE;YAC1B,CAAC,MAAM;cAAA;cACL,sBAAA3C,QAAQ,CAACiB,OAAO,uDAAhB,mBAAkBC,KAAK,EAAE;YAC3B;UACF;QACF,CAAE;QACF,QAAQ,EAAE7C,QAAQ,IAAIC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAE;QACxC,QAAQ,EAAED,QAAQ,IAAI,KAAM;QAC5B,QAAQ,EAAEC,QAAQ,IAAI,KAAM;QAC5B,aAAa,EAAE,CAACoB,KAAM;QACtB,WAAW,EAAEjC,WAAY;QACzB,qBAAqB,EAAE,CAAC,CAACe,uBAAwB;QACjD,SAAS,EAAEiC,aAAc;QACzB,QAAQ,EAAE7B;MAAS,GACfM,IAAI;QAAA,wBACR,qBAAC,yBAAU;UACT,GAAG,EAAEc,QAAS;UACd,IAAI,EAAC,QAAQ;UACb,QAAQ,EAAEf,YAAY,IAAI,UAAW;UACrC,EAAE,EAAE1B,EAAG;UACP,eAAawB,UAAW;UACxB,QAAQ;UACR,WAAW,EAAEtB,WAAY;UACzB,KAAK,EAAE+D,eAAe,EAAG;UACzB,SAAS,EAAE9C,IAAI,aAAMA,IAAI,cAAW,OAAQ;UAC5C,QAAQ,EAAE,CAAC,CAAE;UACb,QAAQ,EAAEL,QAAQ,IAAI;QAAM,EAC5B,EACD,CAACe,MAAM,gBAAG,qBAAC,wBAAe;UAAC,KAAK,EAAEY,QAAS;UAAC,SAAS,EAAE,IAAK;UAAC,QAAQ,EAAC,MAAM;UAAC,IAAI,EAAEtB,IAAK;UAAC,KAAK,EAAC,KAAK;UAAC,QAAQ,EAAC,QAAQ;UAAA,UACpH8C,eAAe;QAAE,EACJ,GAAG,IAAI,EACtBhC,SAAS,gBAAG,qBAAC,kCAAgB;UAAC,IAAI,EAAEoD,WAAI,CAACC,KAAM;UAAC,KAAK,EAAEC,cAAM,CAACC;QAAY,EAAE,GAAG,IAAI,eACpF;UAAK,SAAS,EAAE,qBAAsB;UAAA,UACnC3D,MAAM,gBAAG,qBAAC,kBAAW,CAAC,WAAW;YAAC,IAAI,EAAC,MAAM;YAAC,SAAS,EAAEV,IAAI,GAAGA,IAAI,GAAG;UAAG,EAAE,gBAC3E,qBAAC,kBAAW,CAAC,aAAa;YAAC,IAAI,EAAC,MAAM;YAAC,SAAS,EAAEA,IAAI,GAAGA,IAAI,GAAG;UAAG;QAAE,EACnE;MAAA,GACM,EACb,CAACJ,QAAQ,IAAI,CAACD,QAAQ,iBACrB,qBAAC,wBAAe;QACd,GAAG,EAAE+B,WAAY;QACjB,YAAY,EAAEE,YAAa;QAC3B,yBAAyB,EAAE,mCAAC/C,EAAE;UAAA,OAAKgC,mBAAmB,CAAChC,EAAE,CAAC;QAAA,CAAC;QAC3D,kBAAkB,EAAE;UAClBI,SAAS,EAAEA,SAAS;UACpBC,MAAM,EAAEA,MAAM,aAANA,MAAM,cAANA,MAAM,GAAK,YAAM,CACzB,CAAE;UACFC,WAAW,EAAEA,WAAW;UACxBC,aAAa,EAAEA,aAAa;UAC5BG,cAAc,EAAEA,cAAc;UAC9BE,UAAU,EAAEA,UAAU;UACtB6E,aAAa,EAAEpC,iBAAiB;UAChCqC,KAAK,EAAEzF,IAAI;UACXuD,WAAW,EAAE1D,KAAK,CAAC0D,WAAW;UAC9B7C,UAAU,EAAEA,UAAU;UACtBE,SAAS,EAAEA,SAAS;UACpBL,UAAU,EAAEA,UAAU;UACtBC,aAAa,EAAEA;QACjB,CAAE;QACF,aAAa,EAAC,OAAO;QACrB,OAAO,EAAE4B,OAAQ;QACjB,UAAU,EAAEC,UAAW;QACvB,IAAI,EAAEnB,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAIkE,WAAI,CAACC,KAAM;QACzB,MAAM,EAAE,EAAG;QACX,MAAM,EAAEzD,MAAO;QACf,SAAS,EAAEmC,eAAgB;QAC3B,kBAAkB,EAAE7D,kBAAkB,aAAlBA,kBAAkB,cAAlBA,kBAAkB,GAAI,EAAG;QAC7C,OAAO,EAAEoC,iBAAkB;QAC3B,QAAQ,EAAEvB,QAAQ,IAAI,KAAM;QAC5B,cAAc,EAAElB,KAAK,CAAC0D,WAAW,GAAG1D,KAAK,CAACgE,KAAK,IAAI,EAAE,GAAG,CAAChE,KAAK,CAACgE,KAAK,IAAI,EAAE,CAAE;QAC5E,iBAAiB,EAAET,iBAAkB;QACrC,EAAE,YAAKrD,EAAE;MAAmB,EAE/B;IAAA,EACQ,EACViB,uBAAuB,iBACtB,sBAAC,yBAAY;MAAA,wBACX,qBAAC,kBAAW,CAAC,gBAAgB;QAAC,KAAK,EAAEsE,cAAM,CAACI;MAAa,EAAE,eAC3D;QAAA,UAAO1E;MAAuB,EAAQ;IAAA,EAEzC,EACAC,iBAAiB,iBAChB,sBAAC,8BAAiB;MAAA,wBAChB,qBAAC,kBAAW,CAAC,WAAW;QAAC,KAAK,EAAEqE,cAAM,CAACC;MAAY,EAAE,eACrD;QAAA,UAAOtE;MAAiB,EAAQ;IAAA,EAEnC;EAAA,EACA;AAEP,CAAC,CAAC;AAAC;EA/QDjB,IAAI;EACJG,SAAS,4BAAG,QAAQ,EAAG,UAAU,EAAG,OAAO;EAC3CC,MAAM;EACNC,WAAW;EAEXE,UAAU;EACVC,aAAa;EACbC,cAAc;EACdC,UAAU;EACVC,UAAU;EACVC,SAAS;EACTX,WAAW;EACX0F,cAAc;EACdzF,kBAAkB;EAClBW,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,uBAAuB;EACvBC,iBAAiB;EAEjBE,MAAM;EACNC,QAAQ;EACRK,YAAY,4BAAG,UAAU,EAAG,SAAS;EAUrC8B,WAAW,4BAAG,KAAK;EACnBM,KAAK;EACLrC,QAAQ;AAAA;AAAA,eA+OK9B,aAAa;AAAA"}
|
|
1
|
+
{"version":3,"file":"BasicDropdown.cjs","names":["BasicDropdown","React","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","onBlur","dataTestId","onSelect","textOverflow","rest","useState","isOpen","setIsOpen","activeDescendant","setActiveDescendant","isLoading","setIsLoading","input","setInput","focused","setFocused","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","useFocusVisibleRef","dropdownRef","resetDropdown","containerRef","useFocusOutsideRef","useClickOutsideRef","handleKeyDown","e","key","handleValueSelect","values","join","multiSelect","undefined","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","filter","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","defaultOnMouseDownHandler","stopPropagation","blur","Size","Small","COLORS","neutral_600","onValueUpdate","items","critical_400","disableSorting"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\nimport {COLORS} from '../styles';\nimport {SystemIcons} from '../icons';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport {DropdownContainer, DropdownInputFieldStyles, DropdownInputField} from './CommonStyling';\nimport DropdownContent, {DropdownItem} from './DropdownContent';\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\nimport {Size, Testable} from '../types';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\nimport {useFocusOutsideRef} from '../common';\n\nexport interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\n list: DropdownItem[];\n itemsType?: 'normal' | 'checkbox' | 'radio';\n action?: () => void;\n actionLabel?: string;\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\n actionIcon?: React.ReactNode;\n actionLoading?: boolean;\n actionDisabled?: boolean;\n pinTopItem?: boolean;\n scrollable?: boolean;\n maxHeight?: string;\n placeholder?: string;\n disableSorting?: boolean;\n messageOnNoResults?: string;\n disabled?: boolean;\n readOnly?: boolean;\n isButton?: boolean;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: Size.Small | Size.Medium;\n margin?: string;\n minWidth?: string;\n textOverflow?: 'ellipsis' | 'default';\n}\n\nexport type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {\n multiSelect: true;\n value?: string[];\n onSelect: (value: string[]) => void;\n}\n\nexport type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {\n multiSelect?: false;\n value?: string;\n onSelect: (value: string) => void;\n}\n\nexport type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;\n\nconst BasicDropdown = React.forwardRef((props: BasicDropdownProps, ref) => {\n const {\n id,\n list,\n placeholder,\n messageOnNoResults,\n itemsType = 'normal',\n action,\n actionLabel,\n actionVariant,\n actionIcon,\n actionLoading,\n actionDisabled,\n pinTopItem,\n scrollable = true,\n maxHeight,\n disabled,\n readOnly,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n margin,\n minWidth,\n className,\n onBlur,\n dataTestId,\n onSelect,\n textOverflow = 'ellipsis',\n ...rest\n } = props;\n\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>('');\n const [focused, setFocused] = React.useState<number | null>(null);\n \n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const inputRef = React.useRef<HTMLInputElement>(null);\n const styledFieldRef = useFocusVisibleRef([inputRef]);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const resetDropdown = () => {\n setIsOpen(false);\n setFocused(null);\n };\n\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\n\n useClickOutsideRef(resetDropdown, [], containerRef);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n setIsOpen(!isOpen);\n setKeyboardNavigated(true);\n }\n };\n\n const handleValueSelect = (values: string[]) => {\n setInput(values.join(', '));\n\n if (props.multiSelect === true) {\n props.onSelect(values);\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n props.onSelect(values[0]);\n }\n\n //don't close dropdown on item select if have custom action or multiselect\n if (actionLabel || props.multiSelect) return;\n\n if (keyboardNavigated) {\n styledFieldRef.current?.focus({focusVisible: true} as any);\n }\n setIsOpen(false);\n setFocused(null);\n };\n\n React.useEffect(() => {\n if (props.value) {\n if (props.multiSelect) {\n setInput(props.value.join(', '));\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n setInput(props.value);\n }\n } else {\n setInput('');\n }\n }, [props.value, props.multiSelect]);\n\n React.useEffect(() => {\n setIsLoading(false);\n }, [input]);\n\n React.useEffect(() => {\n !isOpen && setKeyboardNavigated(false);\n }, [isOpen]);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const customSetIsOpen = (isOpen: boolean) => {\n setIsOpen(isOpen);\n };\n\n const getDisplayItems = () => {\n const values = input.split(',').map((val) => val.trim());\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\n return listDisplayLabels.join(', ');\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n // @ts-ignore\n if (!e.currentTarget.contains(e.relatedTarget)) {\n onBlur && onBlur(e);\n }\n };\n\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\n \n return (\n <>\n <DropdownContainer ref={containerRef}\n aria-expanded={isOpen ? true : false}\n aria-activedescendant={activeDescendant}\n aria-controls={`${id}_dropdowncontent`}\n role=\"listbox\"\n aria-multiselectable={props.multiSelect}\n isButton={isButton || false}\n className={size ? size : ''}\n readOnly={readOnly}\n disabled={disabled}\n margin={margin}\n onBlur={handleBlur}\n minWidth={minWidth}>\n <DropdownInputFieldStyles\n ref={styledFieldRef}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={(e) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n tabIndex={disabled || readOnly ? -1 : 0}\n disabled={disabled || false}\n readOnly={readOnly || false}\n isPlaceholder={!input}\n placeholder={placeholder}\n showValidationMessage={!!activeValidationMessage}\n onKeyDown={handleKeyDown}\n minWidth={minWidth}\n {...rest}>\n <DropdownInputField\n ref={inputRef}\n type=\"search\"\n ellipsis={textOverflow == 'ellipsis'}\n id={id}\n data-testid={dataTestId}\n readOnly\n placeholder={placeholder}\n value={getDisplayItems()}\n className={size ? `${size} value` : 'value'}\n tabIndex={-1}\n disabled={disabled || false}\n />\n {!isOpen ? <TooltipOverflow input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end' position='bottom'>\n {getDisplayItems()}\n </TooltipOverflow> : null}\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.neutral_600}/> : null}\n <div className={'icon dropdown-arrow'}>\n {isOpen ? <SystemIcons.ArrowDropUp size=\"24px\" className={size ? size : ''}/> :\n <SystemIcons.ArrowDropDown size=\"24px\" className={size ? size : ''}/>}\n </div>\n </DropdownInputFieldStyles>\n {!readOnly && !disabled && (\n <DropdownContent\n ref={dropdownRef}\n containerRef={containerRef}\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n actionDisabled: actionDisabled,\n scrollable: scrollable,\n onValueUpdate: handleValueSelect,\n items: list,\n multiSelect: props.multiSelect,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n size={size ?? Size.Small}\n filter={''}\n isOpen={isOpen}\n setIsOpen={customSetIsOpen}\n messageOnNoResults={messageOnNoResults ?? ''}\n outline={keyboardNavigated}\n isButton={isButton || false}\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\n setSelectedValues={handleValueSelect}\n id={`${id}_dropdowncontent`}\n />\n )}\n </DropdownContainer>\n {activeValidationMessage && (\n <ErrorMessage>\n <SystemIcons.TechnicalWarning color={COLORS.critical_400}/>\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage>\n <SystemIcons.Information color={COLORS.neutral_600}/>\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n});\n\nexport default BasicDropdown;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { DropdownItem } from './DropdownContent';
|
|
3
3
|
import { Size, Testable } from '../types';
|
|
4
|
-
interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'> {
|
|
4
|
+
export interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'> {
|
|
5
5
|
list: DropdownItem[];
|
|
6
6
|
itemsType?: 'normal' | 'checkbox' | 'radio';
|
|
7
7
|
action?: () => void;
|
|
@@ -26,16 +26,16 @@ interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<H
|
|
|
26
26
|
minWidth?: string;
|
|
27
27
|
textOverflow?: 'ellipsis' | 'default';
|
|
28
28
|
}
|
|
29
|
-
type
|
|
29
|
+
export type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {
|
|
30
30
|
multiSelect: true;
|
|
31
31
|
value?: string[];
|
|
32
32
|
onSelect: (value: string[]) => void;
|
|
33
33
|
};
|
|
34
|
-
type
|
|
34
|
+
export type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {
|
|
35
35
|
multiSelect?: false;
|
|
36
36
|
value?: string;
|
|
37
37
|
onSelect: (value: string) => void;
|
|
38
38
|
};
|
|
39
|
-
type
|
|
40
|
-
declare const BasicDropdown: React.ForwardRefExoticComponent<
|
|
39
|
+
export type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;
|
|
40
|
+
declare const BasicDropdown: React.ForwardRefExoticComponent<BasicDropdownProps & React.RefAttributes<unknown>>;
|
|
41
41
|
export default BasicDropdown;
|
|
@@ -9,7 +9,7 @@ import * as React from 'react';
|
|
|
9
9
|
import { COLORS } from '../styles';
|
|
10
10
|
import { SystemIcons } from '../icons';
|
|
11
11
|
import { LoadingIndicator } from '../LoadingIndicator';
|
|
12
|
-
import {
|
|
12
|
+
import { DropdownContainer, DropdownInputFieldStyles, DropdownInputField } from './CommonStyling';
|
|
13
13
|
import DropdownContent from './DropdownContent';
|
|
14
14
|
import { AutofilledMessage, ErrorMessage } from '../InputFields';
|
|
15
15
|
import TooltipOverflow from '../Tooltips/TooltipOverflow';
|
|
@@ -151,7 +151,7 @@ var BasicDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
151
151
|
};
|
|
152
152
|
var cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? " ".concat(className) : '');
|
|
153
153
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
154
|
-
children: [/*#__PURE__*/_jsxs(
|
|
154
|
+
children: [/*#__PURE__*/_jsxs(DropdownContainer, {
|
|
155
155
|
ref: containerRef,
|
|
156
156
|
"aria-expanded": isOpen ? true : false,
|
|
157
157
|
"aria-activedescendant": activeDescendant,
|
|
@@ -165,7 +165,7 @@ var BasicDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
165
165
|
margin: margin,
|
|
166
166
|
onBlur: handleBlur,
|
|
167
167
|
minWidth: minWidth,
|
|
168
|
-
children: [/*#__PURE__*/_jsxs(
|
|
168
|
+
children: [/*#__PURE__*/_jsxs(DropdownInputFieldStyles, _objectSpread(_objectSpread({
|
|
169
169
|
ref: styledFieldRef,
|
|
170
170
|
className: cls,
|
|
171
171
|
onMouseDown: defaultOnMouseDownHandler,
|
|
@@ -191,7 +191,7 @@ var BasicDropdown = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
191
191
|
onKeyDown: handleKeyDown,
|
|
192
192
|
minWidth: minWidth
|
|
193
193
|
}, rest), {}, {
|
|
194
|
-
children: [/*#__PURE__*/_jsx(
|
|
194
|
+
children: [/*#__PURE__*/_jsx(DropdownInputField, {
|
|
195
195
|
ref: inputRef,
|
|
196
196
|
type: "search",
|
|
197
197
|
ellipsis: textOverflow == 'ellipsis',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BasicDropdown.js","names":["React","COLORS","SystemIcons","LoadingIndicator","Dropdown","StyledField","InputField","DropdownContent","AutofilledMessage","ErrorMessage","TooltipOverflow","Size","defaultOnMouseDownHandler","useClickOutsideRef","useFocusVisibleRef","useFocusOutsideRef","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","onBlur","dataTestId","onSelect","textOverflow","rest","useState","isOpen","setIsOpen","activeDescendant","setActiveDescendant","isLoading","setIsLoading","input","setInput","focused","setFocused","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","dropdownRef","resetDropdown","containerRef","handleKeyDown","e","key","handleValueSelect","values","join","multiSelect","undefined","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","filter","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","stopPropagation","blur","Small","neutral_600","onValueUpdate","items","critical_400","disableSorting"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\nimport {COLORS} from '../styles';\nimport {SystemIcons} from '../icons';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport {Dropdown, StyledField, InputField} from './CommonStyling';\nimport DropdownContent, {DropdownItem} from './DropdownContent';\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\nimport {Size, Testable} from '../types';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\nimport {useFocusOutsideRef} from '../common';\n\ninterface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\n list: DropdownItem[];\n itemsType?: 'normal' | 'checkbox' | 'radio';\n action?: () => void;\n actionLabel?: string;\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\n actionIcon?: React.ReactNode;\n actionLoading?: boolean;\n actionDisabled?: boolean;\n pinTopItem?: boolean;\n scrollable?: boolean;\n maxHeight?: string;\n placeholder?: string;\n disableSorting?: boolean;\n messageOnNoResults?: string;\n disabled?: boolean;\n readOnly?: boolean;\n isButton?: boolean;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: Size.Small | Size.Medium;\n margin?: string;\n minWidth?: string;\n textOverflow?: 'ellipsis' | 'default';\n}\n\ntype DropdownFilterMultiSelectProps = BasicDropdownCommonProps & {\n multiSelect: true;\n value?: string[];\n onSelect: (value: string[]) => void;\n}\n\ntype DropdownFilterSingleSelectProps = BasicDropdownCommonProps & {\n multiSelect?: false;\n value?: string;\n onSelect: (value: string) => void;\n}\n\ntype DropdownFilterProps = DropdownFilterSingleSelectProps | DropdownFilterMultiSelectProps;\n\nconst BasicDropdown = React.forwardRef((props: DropdownFilterProps, ref) => {\n const {\n id,\n list,\n placeholder,\n messageOnNoResults,\n itemsType = 'normal',\n action,\n actionLabel,\n actionVariant,\n actionIcon,\n actionLoading,\n actionDisabled,\n pinTopItem,\n scrollable = true,\n maxHeight,\n disabled,\n readOnly,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n margin,\n minWidth,\n className,\n onBlur,\n dataTestId,\n onSelect,\n textOverflow = 'ellipsis',\n ...rest\n } = props;\n\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>('');\n const [focused, setFocused] = React.useState<number | null>(null);\n \n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const inputRef = React.useRef<HTMLInputElement>(null);\n const styledFieldRef = useFocusVisibleRef([inputRef]);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const resetDropdown = () => {\n setIsOpen(false);\n setFocused(null);\n };\n\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\n\n useClickOutsideRef(resetDropdown, [], containerRef);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n setIsOpen(!isOpen);\n setKeyboardNavigated(true);\n }\n };\n\n const handleValueSelect = (values: string[]) => {\n setInput(values.join(', '));\n\n if (props.multiSelect === true) {\n props.onSelect(values);\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n props.onSelect(values[0]);\n }\n\n //don't close dropdown on item select if have custom action or multiselect\n if (actionLabel || props.multiSelect) return;\n\n if (keyboardNavigated) {\n styledFieldRef.current?.focus({focusVisible: true} as any);\n }\n setIsOpen(false);\n setFocused(null);\n };\n\n React.useEffect(() => {\n if (props.value) {\n if (props.multiSelect) {\n setInput(props.value.join(', '));\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n setInput(props.value);\n }\n } else {\n setInput('');\n }\n }, [props.value, props.multiSelect]);\n\n React.useEffect(() => {\n setIsLoading(false);\n }, [input]);\n\n React.useEffect(() => {\n !isOpen && setKeyboardNavigated(false);\n }, [isOpen]);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const customSetIsOpen = (isOpen: boolean) => {\n setIsOpen(isOpen);\n };\n\n const getDisplayItems = () => {\n const values = input.split(',').map((val) => val.trim());\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\n return listDisplayLabels.join(', ');\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n // @ts-ignore\n if (!e.currentTarget.contains(e.relatedTarget)) {\n onBlur && onBlur(e);\n }\n };\n\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\n \n return (\n <>\n <Dropdown ref={containerRef}\n aria-expanded={isOpen ? true : false}\n aria-activedescendant={activeDescendant}\n aria-controls={`${id}_dropdowncontent`}\n role=\"listbox\"\n aria-multiselectable={props.multiSelect}\n isButton={isButton || false}\n className={size ? size : ''}\n readOnly={readOnly}\n disabled={disabled}\n margin={margin}\n onBlur={handleBlur}\n minWidth={minWidth}>\n <StyledField\n ref={styledFieldRef}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={(e) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n tabIndex={disabled || readOnly ? -1 : 0}\n disabled={disabled || false}\n readOnly={readOnly || false}\n isPlaceholder={!input}\n placeholder={placeholder}\n showValidationMessage={!!activeValidationMessage}\n onKeyDown={handleKeyDown}\n minWidth={minWidth}\n {...rest}>\n <InputField\n ref={inputRef}\n type=\"search\"\n ellipsis={textOverflow == 'ellipsis'}\n id={id}\n data-testid={dataTestId}\n readOnly\n placeholder={placeholder}\n value={getDisplayItems()}\n className={size ? `${size} value` : 'value'}\n tabIndex={-1}\n disabled={disabled || false}\n />\n {!isOpen ? <TooltipOverflow input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end' position='bottom'>\n {getDisplayItems()}\n </TooltipOverflow> : null}\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.neutral_600}/> : null}\n <div className={'icon dropdown-arrow'}>\n {isOpen ? <SystemIcons.ArrowDropUp size=\"24px\" className={size ? size : ''}/> :\n <SystemIcons.ArrowDropDown size=\"24px\" className={size ? size : ''}/>}\n </div>\n </StyledField>\n {!readOnly && !disabled && (\n <DropdownContent\n ref={dropdownRef}\n containerRef={containerRef}\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n actionDisabled: actionDisabled,\n scrollable: scrollable,\n onValueUpdate: handleValueSelect,\n items: list,\n multiSelect: props.multiSelect,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n size={size ?? Size.Small}\n filter={''}\n isOpen={isOpen}\n setIsOpen={customSetIsOpen}\n messageOnNoResults={messageOnNoResults ?? ''}\n outline={keyboardNavigated}\n isButton={isButton || false}\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\n setSelectedValues={handleValueSelect}\n id={`${id}_dropdowncontent`}\n />\n )}\n </Dropdown>\n {activeValidationMessage && (\n <ErrorMessage>\n <SystemIcons.TechnicalWarning color={COLORS.critical_400}/>\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage>\n <SystemIcons.Information color={COLORS.neutral_600}/>\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n});\n\nexport default BasicDropdown;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BasicDropdown.js","names":["React","COLORS","SystemIcons","LoadingIndicator","DropdownContainer","DropdownInputFieldStyles","DropdownInputField","DropdownContent","AutofilledMessage","ErrorMessage","TooltipOverflow","Size","defaultOnMouseDownHandler","useClickOutsideRef","useFocusVisibleRef","useFocusOutsideRef","BasicDropdown","forwardRef","props","ref","id","list","placeholder","messageOnNoResults","itemsType","action","actionLabel","actionVariant","actionIcon","actionLoading","actionDisabled","pinTopItem","scrollable","maxHeight","disabled","readOnly","isButton","activeValidationMessage","autofilledMessage","size","margin","minWidth","className","onBlur","dataTestId","onSelect","textOverflow","rest","useState","isOpen","setIsOpen","activeDescendant","setActiveDescendant","isLoading","setIsLoading","input","setInput","focused","setFocused","keyboardNavigated","setKeyboardNavigated","inputRef","useRef","styledFieldRef","dropdownRef","resetDropdown","containerRef","handleKeyDown","e","key","handleValueSelect","values","join","multiSelect","undefined","current","focus","focusVisible","useEffect","value","useImperativeHandle","customSetIsOpen","getDisplayItems","split","map","val","trim","listDisplayLabels","filter","item","includes","l","displayLabel","handleBlur","currentTarget","contains","relatedTarget","cls","concat","stopPropagation","blur","Small","neutral_600","onValueUpdate","items","critical_400","disableSorting"],"sources":["../../src/Dropdown/BasicDropdown.tsx"],"sourcesContent":["import * as React from 'react';\nimport {COLORS} from '../styles';\nimport {SystemIcons} from '../icons';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport {DropdownContainer, DropdownInputFieldStyles, DropdownInputField} from './CommonStyling';\nimport DropdownContent, {DropdownItem} from './DropdownContent';\nimport {AutofilledMessage, ErrorMessage} from '../InputFields';\nimport TooltipOverflow from '../Tooltips/TooltipOverflow';\nimport {Size, Testable} from '../types';\nimport {defaultOnMouseDownHandler, useClickOutsideRef, useFocusVisibleRef} from '../common';\nimport {useFocusOutsideRef} from '../common';\n\nexport interface BasicDropdownCommonProps extends Testable, Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'placeholder' | 'tabIndex' | 'onMouseDown' | 'onClick' | 'onKeyDown'>{\n list: DropdownItem[];\n itemsType?: 'normal' | 'checkbox' | 'radio';\n action?: () => void;\n actionLabel?: string;\n actionVariant?: 'primary' | 'secondary' | 'tertiary' | undefined;\n actionIcon?: React.ReactNode;\n actionLoading?: boolean;\n actionDisabled?: boolean;\n pinTopItem?: boolean;\n scrollable?: boolean;\n maxHeight?: string;\n placeholder?: string;\n disableSorting?: boolean;\n messageOnNoResults?: string;\n disabled?: boolean;\n readOnly?: boolean;\n isButton?: boolean;\n activeValidationMessage?: string;\n autofilledMessage?: string;\n size?: Size.Small | Size.Medium;\n margin?: string;\n minWidth?: string;\n textOverflow?: 'ellipsis' | 'default';\n}\n\nexport type BasicDropdownMultiSelectProps = BasicDropdownCommonProps & {\n multiSelect: true;\n value?: string[];\n onSelect: (value: string[]) => void;\n}\n\nexport type BasucDropdownSingleSelectProps = BasicDropdownCommonProps & {\n multiSelect?: false;\n value?: string;\n onSelect: (value: string) => void;\n}\n\nexport type BasicDropdownProps = BasucDropdownSingleSelectProps | BasicDropdownMultiSelectProps;\n\nconst BasicDropdown = React.forwardRef((props: BasicDropdownProps, ref) => {\n const {\n id,\n list,\n placeholder,\n messageOnNoResults,\n itemsType = 'normal',\n action,\n actionLabel,\n actionVariant,\n actionIcon,\n actionLoading,\n actionDisabled,\n pinTopItem,\n scrollable = true,\n maxHeight,\n disabled,\n readOnly,\n isButton,\n activeValidationMessage,\n autofilledMessage,\n size,\n margin,\n minWidth,\n className,\n onBlur,\n dataTestId,\n onSelect,\n textOverflow = 'ellipsis',\n ...rest\n } = props;\n\n const [isOpen, setIsOpen] = React.useState<boolean>(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [isLoading, setIsLoading] = React.useState<boolean>(false);\n const [input, setInput] = React.useState<string>('');\n const [focused, setFocused] = React.useState<number | null>(null);\n \n const [keyboardNavigated, setKeyboardNavigated] = React.useState<boolean>(false);\n\n const inputRef = React.useRef<HTMLInputElement>(null);\n const styledFieldRef = useFocusVisibleRef([inputRef]);\n const dropdownRef = React.useRef<HTMLDivElement>(null);\n\n const resetDropdown = () => {\n setIsOpen(false);\n setFocused(null);\n };\n\n const containerRef = useFocusOutsideRef(resetDropdown, [dropdownRef]);\n\n useClickOutsideRef(resetDropdown, [], containerRef);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter' || e.key === ' ') {\n setIsOpen(!isOpen);\n setKeyboardNavigated(true);\n }\n };\n\n const handleValueSelect = (values: string[]) => {\n setInput(values.join(', '));\n\n if (props.multiSelect === true) {\n props.onSelect(values);\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n props.onSelect(values[0]);\n }\n\n //don't close dropdown on item select if have custom action or multiselect\n if (actionLabel || props.multiSelect) return;\n\n if (keyboardNavigated) {\n styledFieldRef.current?.focus({focusVisible: true} as any);\n }\n setIsOpen(false);\n setFocused(null);\n };\n\n React.useEffect(() => {\n if (props.value) {\n if (props.multiSelect) {\n setInput(props.value.join(', '));\n } else if (props.multiSelect === false || props.multiSelect === undefined) {\n setInput(props.value);\n }\n } else {\n setInput('');\n }\n }, [props.value, props.multiSelect]);\n\n React.useEffect(() => {\n setIsLoading(false);\n }, [input]);\n\n React.useEffect(() => {\n !isOpen && setKeyboardNavigated(false);\n }, [isOpen]);\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n const customSetIsOpen = (isOpen: boolean) => {\n setIsOpen(isOpen);\n };\n\n const getDisplayItems = () => {\n const values = input.split(',').map((val) => val.trim());\n const listDisplayLabels = list.filter((item) => values.includes(item.value)).map((l) => l.displayLabel);\n return listDisplayLabels.join(', ');\n };\n\n const handleBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n // @ts-ignore\n if (!e.currentTarget.contains(e.relatedTarget)) {\n onBlur && onBlur(e);\n }\n };\n\n const cls = (isOpen ? 'expanded ' : '').concat(size ? size : '').concat(isButton ? ' button ' : '').concat(className ? ` ${className}` : '');\n \n return (\n <>\n <DropdownContainer ref={containerRef}\n aria-expanded={isOpen ? true : false}\n aria-activedescendant={activeDescendant}\n aria-controls={`${id}_dropdowncontent`}\n role=\"listbox\"\n aria-multiselectable={props.multiSelect}\n isButton={isButton || false}\n className={size ? size : ''}\n readOnly={readOnly}\n disabled={disabled}\n margin={margin}\n onBlur={handleBlur}\n minWidth={minWidth}>\n <DropdownInputFieldStyles\n ref={styledFieldRef}\n className={cls}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={(e) => {\n if (!readOnly && !disabled) {\n e.stopPropagation();\n setIsOpen(!isOpen);\n if (isOpen) {\n inputRef.current?.blur();\n } else {\n inputRef.current?.focus();\n }\n }\n }}\n tabIndex={disabled || readOnly ? -1 : 0}\n disabled={disabled || false}\n readOnly={readOnly || false}\n isPlaceholder={!input}\n placeholder={placeholder}\n showValidationMessage={!!activeValidationMessage}\n onKeyDown={handleKeyDown}\n minWidth={minWidth}\n {...rest}>\n <DropdownInputField\n ref={inputRef}\n type=\"search\"\n ellipsis={textOverflow == 'ellipsis'}\n id={id}\n data-testid={dataTestId}\n readOnly\n placeholder={placeholder}\n value={getDisplayItems()}\n className={size ? `${size} value` : 'value'}\n tabIndex={-1}\n disabled={disabled || false}\n />\n {!isOpen ? <TooltipOverflow input={inputRef} withArrow={true} maxWidth=\"100%\" size={size} align='end' position='bottom'>\n {getDisplayItems()}\n </TooltipOverflow> : null}\n {isLoading ? <LoadingIndicator size={Size.Small} color={COLORS.neutral_600}/> : null}\n <div className={'icon dropdown-arrow'}>\n {isOpen ? <SystemIcons.ArrowDropUp size=\"24px\" className={size ? size : ''}/> :\n <SystemIcons.ArrowDropDown size=\"24px\" className={size ? size : ''}/>}\n </div>\n </DropdownInputFieldStyles>\n {!readOnly && !disabled && (\n <DropdownContent\n ref={dropdownRef}\n containerRef={containerRef}\n onActiveDescendantChanged={(id) => setActiveDescendant(id)}\n customizationProps={{\n itemsType: itemsType,\n action: action ?? (() => {\n }),\n actionLabel: actionLabel,\n actionVariant: actionVariant,\n actionDisabled: actionDisabled,\n scrollable: scrollable,\n onValueUpdate: handleValueSelect,\n items: list,\n multiSelect: props.multiSelect,\n pinTopItem: pinTopItem,\n maxHeight: maxHeight,\n actionIcon: actionIcon,\n actionLoading: actionLoading,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n size={size ?? Size.Small}\n filter={''}\n isOpen={isOpen}\n setIsOpen={customSetIsOpen}\n messageOnNoResults={messageOnNoResults ?? ''}\n outline={keyboardNavigated}\n isButton={isButton || false}\n selectedValues={props.multiSelect ? props.value || [] : [props.value || '']}\n setSelectedValues={handleValueSelect}\n id={`${id}_dropdowncontent`}\n />\n )}\n </DropdownContainer>\n {activeValidationMessage && (\n <ErrorMessage>\n <SystemIcons.TechnicalWarning color={COLORS.critical_400}/>\n <span>{activeValidationMessage}</span>\n </ErrorMessage>\n )}\n {autofilledMessage && (\n <AutofilledMessage>\n <SystemIcons.Information color={COLORS.neutral_600}/>\n <span>{autofilledMessage}</span>\n </AutofilledMessage>\n )}\n </>\n );\n});\n\nexport default BasicDropdown;\n"],"mappings":"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"}
|