@bikdotai/bik-component-library 0.0.840-tools-beta.5 → 0.0.841-beta.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/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
- package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
- package/dist/cjs/components/SearchFilter/index.js +1 -1
- package/dist/cjs/components/SearchFilter/index.js.map +1 -1
- package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js +1 -1
- package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js.map +1 -1
- package/dist/cjs/components/avatar/Avatar.js +1 -1
- package/dist/cjs/components/avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/avatar/Avatar.styled.js +12 -4
- package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
- package/dist/cjs/components/button/themes.js +11 -11
- package/dist/cjs/components/button/themes.js.map +1 -1
- package/dist/cjs/components/card-selector/CardSelector.js +1 -1
- package/dist/cjs/components/card-selector/CardSelector.js.map +1 -1
- package/dist/cjs/components/card-selector/CardSelectorGroup.js +1 -1
- package/dist/cjs/components/card-selector/CardSelectorGroup.js.map +1 -1
- package/dist/cjs/components/carousel/carousel.js +2 -2
- package/dist/cjs/components/carousel/carousel.js.map +1 -1
- package/dist/cjs/components/checkBox/CheckBox.js +1 -1
- package/dist/cjs/components/checkBox/CheckBox.js.map +1 -1
- package/dist/cjs/components/code-block/CodeBlock.js +2 -2
- package/dist/cjs/components/code-block/CodeBlock.js.map +1 -1
- package/dist/cjs/components/colourInput/ColourInput.js +1 -1
- package/dist/cjs/components/colourInput/ColourInput.js.map +1 -1
- package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js +1 -1
- package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
- package/dist/cjs/components/dot-pulse/DotPulse.js +3 -3
- package/dist/cjs/components/dot-pulse/DotPulse.js.map +1 -1
- package/dist/cjs/components/dropShadow/DropShadow.js +1 -1
- package/dist/cjs/components/dropShadow/DropShadow.js.map +1 -1
- package/dist/cjs/components/dropdown/ChipInput.js +1 -1
- package/dist/cjs/components/dropdown/ChipInput.js.map +1 -1
- package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
- package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
- package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
- package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
- package/dist/cjs/components/floater/floater.js +1 -1
- package/dist/cjs/components/floater/floater.js.map +1 -1
- package/dist/cjs/components/input/Input.js +1 -1
- package/dist/cjs/components/input/Input.js.map +1 -1
- package/dist/cjs/components/modals/styledModal.js +2 -2
- package/dist/cjs/components/modals/styledModal.js.map +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
- package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
- package/dist/cjs/components/pagination/Pagination.js +1 -1
- package/dist/cjs/components/pagination/Pagination.js.map +1 -1
- package/dist/cjs/components/progress-bar/CircularProgressBar.js +1 -1
- package/dist/cjs/components/progress-bar/CircularProgressBar.js.map +1 -1
- package/dist/cjs/components/progress-bar/ProgressBarComponent.js +2 -2
- package/dist/cjs/components/progress-bar/ProgressBarComponent.js.map +1 -1
- package/dist/cjs/components/progress-bar-v2/ProgressBarV2.js +17 -17
- package/dist/cjs/components/progress-bar-v2/ProgressBarV2.js.map +1 -1
- package/dist/cjs/components/radioButton/RadioButton.js +1 -1
- package/dist/cjs/components/radioButton/RadioButton.js.map +1 -1
- package/dist/cjs/components/radioList/RadioList.js +1 -1
- package/dist/cjs/components/radioList/RadioList.js.map +1 -1
- package/dist/cjs/components/searchBar/searchBar.js +1 -1
- package/dist/cjs/components/searchBar/searchBar.js.map +1 -1
- package/dist/cjs/components/shimmer-image/ShimmerImage.js +1 -1
- package/dist/cjs/components/shimmer-image/ShimmerImage.js.map +1 -1
- package/dist/cjs/components/side-modal/SideModal.js +1 -1
- package/dist/cjs/components/side-modal/SideModal.js.map +1 -1
- package/dist/cjs/components/spinner/Spinner.js +3 -3
- package/dist/cjs/components/spinner/Spinner.js.map +1 -1
- package/dist/cjs/components/star-rating/Star.js +1 -1
- package/dist/cjs/components/star-rating/Star.js.map +1 -1
- package/dist/cjs/components/star-rating/StarRating.js +2 -2
- package/dist/cjs/components/star-rating/StarRating.js.map +1 -1
- package/dist/cjs/components/states/StateComponent.js +1 -1
- package/dist/cjs/components/states/StateComponent.js.map +1 -1
- package/dist/cjs/components/stepper/Stepper.js +1 -1
- package/dist/cjs/components/stepper/Stepper.js.map +1 -1
- package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
- package/dist/cjs/components/template-preview/TemplatePreview.js.map +1 -1
- package/dist/cjs/components/testimonial-card/TestimonialCard.js +1 -1
- package/dist/cjs/components/testimonial-card/TestimonialCard.js.map +1 -1
- package/dist/cjs/components/thumbnail/Thumbnail.js +1 -1
- package/dist/cjs/components/thumbnail/Thumbnail.js.map +1 -1
- package/dist/cjs/components/unsatisfactory-response-list/UnsatisfactoryResponseList.js +1 -1
- package/dist/cjs/components/unsatisfactory-response-list/UnsatisfactoryResponseList.js.map +1 -1
- package/dist/cjs/components/zeroState/ZeroState.js +3 -3
- package/dist/cjs/components/zeroState/ZeroState.js.map +1 -1
- package/dist/cjs/icons/Media/Visual/FormkitNeutral.js +2 -0
- package/dist/cjs/icons/Media/Visual/FormkitNeutral.js.map +1 -0
- package/dist/cjs/icons/Media/Visual/FormkitSad.js +2 -0
- package/dist/cjs/icons/Media/Visual/FormkitSad.js.map +1 -0
- package/dist/cjs/icons/index.js +1 -1
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +66 -61
- package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
- package/dist/esm/components/SearchFilter/index.js +11 -10
- package/dist/esm/components/SearchFilter/index.js.map +1 -1
- package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
- package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js +11 -10
- package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js.map +1 -1
- package/dist/esm/components/avatar/Avatar.d.ts +2 -1
- package/dist/esm/components/avatar/Avatar.js +34 -24
- package/dist/esm/components/avatar/Avatar.js.map +1 -1
- package/dist/esm/components/avatar/Avatar.styled.d.ts +1 -0
- package/dist/esm/components/avatar/Avatar.styled.js +17 -8
- package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
- package/dist/esm/components/button/themes.d.ts +1 -0
- package/dist/esm/components/button/themes.js +61 -51
- package/dist/esm/components/button/themes.js.map +1 -1
- package/dist/esm/components/card-selector/CardSelector.js +11 -9
- package/dist/esm/components/card-selector/CardSelector.js.map +1 -1
- package/dist/esm/components/card-selector/CardSelectorGroup.js +1 -0
- package/dist/esm/components/card-selector/CardSelectorGroup.js.map +1 -1
- package/dist/esm/components/carousel/carousel.js +8 -8
- package/dist/esm/components/carousel/carousel.js.map +1 -1
- package/dist/esm/components/checkBox/CheckBox.js +8 -5
- package/dist/esm/components/checkBox/CheckBox.js.map +1 -1
- package/dist/esm/components/code-block/CodeBlock.js +14 -14
- package/dist/esm/components/code-block/CodeBlock.js.map +1 -1
- package/dist/esm/components/colourInput/ColourInput.js +11 -10
- package/dist/esm/components/colourInput/ColourInput.js.map +1 -1
- package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js +28 -21
- package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
- package/dist/esm/components/dot-pulse/DotPulse.js +15 -15
- package/dist/esm/components/dot-pulse/DotPulse.js.map +1 -1
- package/dist/esm/components/dropShadow/DropShadow.js +6 -6
- package/dist/esm/components/dropShadow/DropShadow.js.map +1 -1
- package/dist/esm/components/dropdown/ChipInput.js +10 -9
- package/dist/esm/components/dropdown/ChipInput.js.map +1 -1
- package/dist/esm/components/dropdown/DropdownPopover/index.js +26 -25
- package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
- package/dist/esm/components/dropdown-button/DropdownButton.js +13 -13
- package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
- package/dist/esm/components/floater/floater.js +14 -13
- package/dist/esm/components/floater/floater.js.map +1 -1
- package/dist/esm/components/input/Input.js +35 -34
- package/dist/esm/components/input/Input.js.map +1 -1
- package/dist/esm/components/input/Input.model.d.ts +1 -0
- package/dist/esm/components/modals/styledModal.js +6 -5
- package/dist/esm/components/modals/styledModal.js.map +1 -1
- package/dist/esm/components/multi-level-dropdown/MenuItem.js +28 -27
- package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
- package/dist/esm/components/pagination/Pagination.js +7 -7
- package/dist/esm/components/pagination/Pagination.js.map +1 -1
- package/dist/esm/components/progress-bar/CircularProgressBar.js +61 -50
- package/dist/esm/components/progress-bar/CircularProgressBar.js.map +1 -1
- package/dist/esm/components/progress-bar/ProgressBarComponent.js +14 -13
- package/dist/esm/components/progress-bar/ProgressBarComponent.js.map +1 -1
- package/dist/esm/components/progress-bar-v2/ProgressBarV2.js +57 -39
- package/dist/esm/components/progress-bar-v2/ProgressBarV2.js.map +1 -1
- package/dist/esm/components/radioButton/RadioButton.js +10 -9
- package/dist/esm/components/radioButton/RadioButton.js.map +1 -1
- package/dist/esm/components/radioList/RadioList.js +28 -19
- package/dist/esm/components/radioList/RadioList.js.map +1 -1
- package/dist/esm/components/searchBar/searchBar.js +11 -10
- package/dist/esm/components/searchBar/searchBar.js.map +1 -1
- package/dist/esm/components/shimmer-image/ShimmerImage.js +19 -18
- package/dist/esm/components/shimmer-image/ShimmerImage.js.map +1 -1
- package/dist/esm/components/side-modal/SideModal.js +13 -5
- package/dist/esm/components/side-modal/SideModal.js.map +1 -1
- package/dist/esm/components/spinner/Spinner.js +19 -11
- package/dist/esm/components/spinner/Spinner.js.map +1 -1
- package/dist/esm/components/star-rating/Star.d.ts +1 -0
- package/dist/esm/components/star-rating/Star.js +32 -27
- package/dist/esm/components/star-rating/Star.js.map +1 -1
- package/dist/esm/components/star-rating/StarRating.js +17 -16
- package/dist/esm/components/star-rating/StarRating.js.map +1 -1
- package/dist/esm/components/states/StateComponent.js +47 -30
- package/dist/esm/components/states/StateComponent.js.map +1 -1
- package/dist/esm/components/stepper/Stepper.js +24 -16
- package/dist/esm/components/stepper/Stepper.js.map +1 -1
- package/dist/esm/components/template-preview/TemplatePreview.js +41 -40
- package/dist/esm/components/template-preview/TemplatePreview.js.map +1 -1
- package/dist/esm/components/testimonial-card/TestimonialCard.js +5 -4
- package/dist/esm/components/testimonial-card/TestimonialCard.js.map +1 -1
- package/dist/esm/components/thumbnail/Thumbnail.js +3 -3
- package/dist/esm/components/thumbnail/Thumbnail.js.map +1 -1
- package/dist/esm/components/unsatisfactory-response-list/UnsatisfactoryResponseList.js +19 -18
- package/dist/esm/components/unsatisfactory-response-list/UnsatisfactoryResponseList.js.map +1 -1
- package/dist/esm/components/zeroState/ZeroState.js +20 -13
- package/dist/esm/components/zeroState/ZeroState.js.map +1 -1
- package/dist/esm/icons/Media/Visual/FormkitNeutral.js +58 -0
- package/dist/esm/icons/Media/Visual/FormkitNeutral.js.map +1 -0
- package/dist/esm/icons/Media/Visual/FormkitSad.js +61 -0
- package/dist/esm/icons/Media/Visual/FormkitSad.js.map +1 -0
- package/dist/esm/icons/Media/Visual/index.d.ts +2 -0
- package/dist/esm/icons/index.d.ts +25 -25
- package/dist/esm/icons/index.js +420 -416
- package/dist/esm/icons/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,36 +1,43 @@
|
|
|
1
1
|
import { jsx as o, jsxs as S } from "react/jsx-runtime";
|
|
2
2
|
import { useState as f } from "react";
|
|
3
|
-
import
|
|
4
|
-
import { FiveStar as
|
|
5
|
-
import { Form as
|
|
6
|
-
import { ZeroState as
|
|
7
|
-
import { Container as
|
|
8
|
-
import { DropShadow as
|
|
3
|
+
import u from "../../assets/icons/cross.svg.js";
|
|
4
|
+
import { FiveStar as v } from "./components/FiveStar.js";
|
|
5
|
+
import { Form as w } from "./components/Form.js";
|
|
6
|
+
import { ZeroState as x } from "./components/ZeroState.js";
|
|
7
|
+
import { Container as C, CrossIconHolder as b } from "./DashboardReviewPopUp.styled.js";
|
|
8
|
+
import { DropShadow as g } from "../dropShadow/DropShadow.js";
|
|
9
9
|
const R = ({
|
|
10
10
|
onClose: s,
|
|
11
11
|
onSubmit: e,
|
|
12
|
-
quickAnswerOptions:
|
|
13
|
-
titleMap:
|
|
14
|
-
feedbackMap:
|
|
12
|
+
quickAnswerOptions: a,
|
|
13
|
+
titleMap: n,
|
|
14
|
+
feedbackMap: m,
|
|
15
15
|
fullStarSubmitText: p,
|
|
16
|
-
onRatingChange:
|
|
17
|
-
initialText:
|
|
16
|
+
onRatingChange: d,
|
|
17
|
+
initialText: c,
|
|
18
18
|
fiveStar: l
|
|
19
19
|
}) => {
|
|
20
20
|
const [r, h] = f(0);
|
|
21
21
|
function t(i) {
|
|
22
|
-
h(i),
|
|
22
|
+
h(i), d?.(i);
|
|
23
23
|
}
|
|
24
|
-
return /* @__PURE__ */ o(
|
|
25
|
-
/* @__PURE__ */ o(
|
|
24
|
+
return /* @__PURE__ */ o(g, { level: "z2", position: "down", children: /* @__PURE__ */ S(C, { children: [
|
|
25
|
+
/* @__PURE__ */ o(b, { onClick: s, children: /* @__PURE__ */ o(
|
|
26
|
+
u,
|
|
27
|
+
{
|
|
28
|
+
"data-testid": "dashboard-review-popup-close",
|
|
29
|
+
width: 24,
|
|
30
|
+
height: 24
|
|
31
|
+
}
|
|
32
|
+
) }),
|
|
26
33
|
r === 0 ? /* @__PURE__ */ o(
|
|
27
|
-
|
|
34
|
+
x,
|
|
28
35
|
{
|
|
29
36
|
handleStarSelection: t,
|
|
30
|
-
initialText:
|
|
37
|
+
initialText: c
|
|
31
38
|
}
|
|
32
39
|
) : r === 5 ? /* @__PURE__ */ o(
|
|
33
|
-
|
|
40
|
+
v,
|
|
34
41
|
{
|
|
35
42
|
fullStarSubmitText: p,
|
|
36
43
|
onSubmit: e,
|
|
@@ -38,14 +45,14 @@ const R = ({
|
|
|
38
45
|
subtext: l?.subText
|
|
39
46
|
}
|
|
40
47
|
) : /* @__PURE__ */ o(
|
|
41
|
-
|
|
48
|
+
w,
|
|
42
49
|
{
|
|
43
|
-
titleMap:
|
|
44
|
-
feedbackMap:
|
|
50
|
+
titleMap: n,
|
|
51
|
+
feedbackMap: m,
|
|
45
52
|
stars: r,
|
|
46
53
|
onStarChange: t,
|
|
47
54
|
onSubmit: e,
|
|
48
|
-
quickAnswerOptions:
|
|
55
|
+
quickAnswerOptions: a
|
|
49
56
|
}
|
|
50
57
|
)
|
|
51
58
|
] }) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardReviewPopUp.js","sources":["../../../../src/components/dashboard-review-popup/DashboardReviewPopUp.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport CrossIcon from '../../assets/icons/cross.svg';\nimport { DropShadow } from '../dropShadow';\nimport { FiveStar } from './components/FiveStar';\nimport { Form } from './components/Form';\nimport { ZeroState } from './components/ZeroState';\nimport { Container, CrossIconHolder } from './DashboardReviewPopUp.styled';\n\nexport const DashboardReviewPopUp: React.FC<{\n\tonSubmit: (\n\t\tstars: number,\n\t\tquickAnswers?: string[],\n\t\treviewText?: string,\n\t) => void;\n\tonClose: () => void;\n\tquickAnswerOptions?: string[];\n\ttitleMap?: { [key: number]: string };\n\tfeedbackMap?: { [key: number]: string };\n\tfullStarSubmitText: string;\n\tonRatingChange?: (stars: number) => void;\n\tinitialText?: string;\n\tfiveStar?: { subText: string };\n}> = ({\n\tonClose,\n\tonSubmit,\n\tquickAnswerOptions,\n\ttitleMap,\n\tfeedbackMap,\n\tfullStarSubmitText,\n\tonRatingChange,\n\tinitialText,\n\tfiveStar,\n}) => {\n\tconst [starsSelected, setStartsSelected] = useState<number>(0);\n\n\tfunction handleStarSelection(stars: number) {\n\t\tsetStartsSelected(stars);\n\t\tonRatingChange?.(stars);\n\t}\n\n\treturn (\n\t\t<DropShadow level={'z2'} position={'down'}>\n\t\t\t<Container>\n\t\t\t\t<CrossIconHolder onClick={onClose}>\n\t\t\t\t\t<CrossIcon
|
|
1
|
+
{"version":3,"file":"DashboardReviewPopUp.js","sources":["../../../../src/components/dashboard-review-popup/DashboardReviewPopUp.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport CrossIcon from '../../assets/icons/cross.svg';\nimport { DropShadow } from '../dropShadow';\nimport { FiveStar } from './components/FiveStar';\nimport { Form } from './components/Form';\nimport { ZeroState } from './components/ZeroState';\nimport { Container, CrossIconHolder } from './DashboardReviewPopUp.styled';\n\nexport const DashboardReviewPopUp: React.FC<{\n\tonSubmit: (\n\t\tstars: number,\n\t\tquickAnswers?: string[],\n\t\treviewText?: string,\n\t) => void;\n\tonClose: () => void;\n\tquickAnswerOptions?: string[];\n\ttitleMap?: { [key: number]: string };\n\tfeedbackMap?: { [key: number]: string };\n\tfullStarSubmitText: string;\n\tonRatingChange?: (stars: number) => void;\n\tinitialText?: string;\n\tfiveStar?: { subText: string };\n}> = ({\n\tonClose,\n\tonSubmit,\n\tquickAnswerOptions,\n\ttitleMap,\n\tfeedbackMap,\n\tfullStarSubmitText,\n\tonRatingChange,\n\tinitialText,\n\tfiveStar,\n}) => {\n\tconst [starsSelected, setStartsSelected] = useState<number>(0);\n\n\tfunction handleStarSelection(stars: number) {\n\t\tsetStartsSelected(stars);\n\t\tonRatingChange?.(stars);\n\t}\n\n\treturn (\n\t\t<DropShadow level={'z2'} position={'down'}>\n\t\t\t<Container>\n\t\t\t\t<CrossIconHolder onClick={onClose}>\n\t\t\t\t\t<CrossIcon\n\t\t\t\t\t\tdata-testid=\"dashboard-review-popup-close\"\n\t\t\t\t\t\twidth={24}\n\t\t\t\t\t\theight={24}\n\t\t\t\t\t/>\n\t\t\t\t</CrossIconHolder>\n\t\t\t\t{starsSelected === 0 ? (\n\t\t\t\t\t<ZeroState\n\t\t\t\t\t\thandleStarSelection={handleStarSelection}\n\t\t\t\t\t\tinitialText={initialText}\n\t\t\t\t\t/>\n\t\t\t\t) : starsSelected === 5 ? (\n\t\t\t\t\t<FiveStar\n\t\t\t\t\t\tfullStarSubmitText={fullStarSubmitText}\n\t\t\t\t\t\tonSubmit={onSubmit}\n\t\t\t\t\t\thandleStarSelection={handleStarSelection}\n\t\t\t\t\t\tsubtext={fiveStar?.subText}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<Form\n\t\t\t\t\t\ttitleMap={titleMap}\n\t\t\t\t\t\tfeedbackMap={feedbackMap}\n\t\t\t\t\t\tstars={starsSelected}\n\t\t\t\t\t\tonStarChange={handleStarSelection}\n\t\t\t\t\t\tonSubmit={onSubmit}\n\t\t\t\t\t\tquickAnswerOptions={quickAnswerOptions}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Container>\n\t\t</DropShadow>\n\t);\n};\n"],"names":["DashboardReviewPopUp","onClose","onSubmit","quickAnswerOptions","titleMap","feedbackMap","fullStarSubmitText","onRatingChange","initialText","fiveStar","starsSelected","setStartsSelected","useState","handleStarSelection","stars","DropShadow","Container","jsx","CrossIconHolder","CrossIcon","ZeroState","FiveStar","Form"],"mappings":";;;;;;;;AAQO,MAAMA,IAcR,CAAC;AAAA,EACL,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AACD,MAAM;AACL,QAAM,CAACC,GAAeC,CAAiB,IAAIC,EAAiB,CAAC;AAE7D,WAASC,EAAoBC,GAAe;AAC3C,IAAAH,EAAkBG,CAAK,GACvBP,IAAiBO,CAAK;AAAA,EACvB;AAEA,2BACEC,GAAA,EAAW,OAAO,MAAM,UAAU,QAClC,4BAACC,GAAA,EACA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EAAgB,SAASjB,GACzB,UAAA,gBAAAgB;AAAA,MAACE;AAAAA,MAAA;AAAA,QACA,eAAY;AAAA,QACZ,OAAO;AAAA,QACP,QAAQ;AAAA,MAAA;AAAA,IAAA,GAEV;AAAA,IACCT,MAAkB,IAClB,gBAAAO;AAAA,MAACG;AAAA,MAAA;AAAA,QACA,qBAAAP;AAAA,QACA,aAAAL;AAAA,MAAA;AAAA,IAAA,IAEEE,MAAkB,IACrB,gBAAAO;AAAA,MAACI;AAAA,MAAA;AAAA,QACA,oBAAAf;AAAA,QACA,UAAAJ;AAAA,QACA,qBAAAW;AAAA,QACA,SAASJ,GAAU;AAAA,MAAA;AAAA,IAAA,IAGpB,gBAAAQ;AAAA,MAACK;AAAA,MAAA;AAAA,QACA,UAAAlB;AAAA,QACA,aAAAC;AAAA,QACA,OAAOK;AAAA,QACP,cAAcG;AAAA,QACd,UAAAX;AAAA,QACA,oBAAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EACD,EAAA,CAEF,EAAA,CACD;AAEF;"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
const
|
|
4
|
-
color:
|
|
5
|
-
size:
|
|
6
|
-
}) => /* @__PURE__ */
|
|
7
|
-
/* @__PURE__ */ a(
|
|
8
|
-
/* @__PURE__ */ a(
|
|
9
|
-
/* @__PURE__ */ a(
|
|
10
|
-
] }),
|
|
1
|
+
import { jsxs as s, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import e from "styled-components";
|
|
3
|
+
const r = ({
|
|
4
|
+
color: t = "linear-gradient(90deg, #ff166a 0%, #ff317dff 100%)",
|
|
5
|
+
size: i = 4
|
|
6
|
+
}) => /* @__PURE__ */ s(n, { children: [
|
|
7
|
+
/* @__PURE__ */ a(o, { "data-testid": "dot-pulse-dot", $color: t, $size: i }),
|
|
8
|
+
/* @__PURE__ */ a(o, { "data-testid": "dot-pulse-dot", $color: t, $size: i }),
|
|
9
|
+
/* @__PURE__ */ a(o, { "data-testid": "dot-pulse-dot", $color: t, $size: i })
|
|
10
|
+
] }), n = e.span`
|
|
11
11
|
display: inline-flex;
|
|
12
12
|
align-items: center;
|
|
13
|
-
`,
|
|
13
|
+
`, o = e.span`
|
|
14
14
|
display: block;
|
|
15
|
-
width: ${(
|
|
16
|
-
height: ${(
|
|
15
|
+
width: ${(t) => t.$size}px;
|
|
16
|
+
height: ${(t) => t.$size}px;
|
|
17
17
|
border-radius: 50%;
|
|
18
|
-
background: ${(
|
|
18
|
+
background: ${(t) => t.$color};
|
|
19
19
|
margin: 0 1.5px;
|
|
20
20
|
opacity: 0.6;
|
|
21
21
|
animation: dotPulse 1.2s infinite;
|
|
@@ -43,6 +43,6 @@ const c = ({
|
|
|
43
43
|
}
|
|
44
44
|
`;
|
|
45
45
|
export {
|
|
46
|
-
|
|
46
|
+
r as DotPulse
|
|
47
47
|
};
|
|
48
48
|
//# sourceMappingURL=DotPulse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DotPulse.js","sources":["../../../../src/components/dot-pulse/DotPulse.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nexport interface DotPulseProps {\n\tcolor?: string;\n\tsize?: number;\n}\n\nconst DotPulse: React.FC<DotPulseProps> = ({\n\tcolor = 'linear-gradient(90deg, #ff166a 0%, #ff317dff 100%)',\n\tsize = 4,\n}) => {\n\treturn (\n\t\t<DotPulseContainer>\n\t\t\t<Dot $color={color} $size={size} />\n\t\t\t<Dot $color={color} $size={size} />\n\t\t\t<Dot $color={color} $size={size} />\n\t\t</DotPulseContainer>\n\t);\n};\n\nconst DotPulseContainer = styled.span`\n\tdisplay: inline-flex;\n\talign-items: center;\n`;\n\ninterface DotProps {\n\t$color: string;\n\t$size: number;\n}\n\nconst Dot = styled.span<DotProps>`\n\tdisplay: block;\n\twidth: ${(props) => props.$size}px;\n\theight: ${(props) => props.$size}px;\n\tborder-radius: 50%;\n\tbackground: ${(props) => props.$color};\n\tmargin: 0 1.5px;\n\topacity: 0.6;\n\tanimation: dotPulse 1.2s infinite;\n\twill-change: opacity, transform;\n\n\t&:nth-child(2) {\n\t\tanimation-delay: 0.2s;\n\t}\n\n\t&:nth-child(3) {\n\t\tanimation-delay: 0.4s;\n\t}\n\n\t@keyframes dotPulse {\n\t\t0%,\n\t\t80%,\n\t\t100% {\n\t\t\topacity: 0.6;\n\t\t\ttransform: scale(1);\n\t\t}\n\t\t40% {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1.4);\n\t\t}\n\t}\n`;\n\nexport { DotPulse };\n"],"names":["DotPulse","color","size","DotPulseContainer","jsx","Dot","styled","props"],"mappings":";;AAQA,MAAMA,IAAoC,CAAC;AAAA,EAC1C,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AACR,wBAEGC,GAAA,EACA,UAAA;AAAA,EAAA,gBAAAC,EAACC,
|
|
1
|
+
{"version":3,"file":"DotPulse.js","sources":["../../../../src/components/dot-pulse/DotPulse.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\n\nexport interface DotPulseProps {\n\tcolor?: string;\n\tsize?: number;\n}\n\nconst DotPulse: React.FC<DotPulseProps> = ({\n\tcolor = 'linear-gradient(90deg, #ff166a 0%, #ff317dff 100%)',\n\tsize = 4,\n}) => {\n\treturn (\n\t\t<DotPulseContainer>\n\t\t\t<Dot data-testid=\"dot-pulse-dot\" $color={color} $size={size} />\n\t\t\t<Dot data-testid=\"dot-pulse-dot\" $color={color} $size={size} />\n\t\t\t<Dot data-testid=\"dot-pulse-dot\" $color={color} $size={size} />\n\t\t</DotPulseContainer>\n\t);\n};\n\nconst DotPulseContainer = styled.span`\n\tdisplay: inline-flex;\n\talign-items: center;\n`;\n\ninterface DotProps {\n\t$color: string;\n\t$size: number;\n}\n\nconst Dot = styled.span<DotProps>`\n\tdisplay: block;\n\twidth: ${(props) => props.$size}px;\n\theight: ${(props) => props.$size}px;\n\tborder-radius: 50%;\n\tbackground: ${(props) => props.$color};\n\tmargin: 0 1.5px;\n\topacity: 0.6;\n\tanimation: dotPulse 1.2s infinite;\n\twill-change: opacity, transform;\n\n\t&:nth-child(2) {\n\t\tanimation-delay: 0.2s;\n\t}\n\n\t&:nth-child(3) {\n\t\tanimation-delay: 0.4s;\n\t}\n\n\t@keyframes dotPulse {\n\t\t0%,\n\t\t80%,\n\t\t100% {\n\t\t\topacity: 0.6;\n\t\t\ttransform: scale(1);\n\t\t}\n\t\t40% {\n\t\t\topacity: 1;\n\t\t\ttransform: scale(1.4);\n\t\t}\n\t}\n`;\n\nexport { DotPulse };\n"],"names":["DotPulse","color","size","DotPulseContainer","jsx","Dot","styled","props"],"mappings":";;AAQA,MAAMA,IAAoC,CAAC;AAAA,EAC1C,OAAAC,IAAQ;AAAA,EACR,MAAAC,IAAO;AACR,wBAEGC,GAAA,EACA,UAAA;AAAA,EAAA,gBAAAC,EAACC,KAAI,eAAY,iBAAgB,QAAQJ,GAAO,OAAOC,GAAM;AAAA,oBAC5DG,GAAA,EAAI,eAAY,iBAAgB,QAAQJ,GAAO,OAAOC,GAAM;AAAA,oBAC5DG,GAAA,EAAI,eAAY,iBAAgB,QAAQJ,GAAO,OAAOC,EAAA,CAAM;AAAA,GAC9D,GAIIC,IAAoBG,EAAO;AAAA;AAAA;AAAA,GAU3BD,IAAMC,EAAO;AAAA;AAAA,UAET,CAACC,MAAUA,EAAM,KAAK;AAAA,WACrB,CAACA,MAAUA,EAAM,KAAK;AAAA;AAAA,eAElB,CAACA,MAAUA,EAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
const
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
const t = {
|
|
3
3
|
z1: {
|
|
4
4
|
up: "0px -2px 8px rgba(0, 0, 0, 0.12)",
|
|
5
5
|
down: "0px 2px 8px rgba(0, 0, 0, 0.12)"
|
|
@@ -8,11 +8,11 @@ const n = {
|
|
|
8
8
|
up: "0px -4px 12px rgba(0, 0, 0, 0.12)",
|
|
9
9
|
down: "0px 4px 12px rgba(0, 0, 0, 0.12)"
|
|
10
10
|
}
|
|
11
|
-
},
|
|
12
|
-
const
|
|
13
|
-
return /* @__PURE__ */
|
|
11
|
+
}, s = ({ level: p = "z1", position: o = "down", children: x, style: a }) => {
|
|
12
|
+
const d = t[p][o];
|
|
13
|
+
return /* @__PURE__ */ r("div", { "data-testid": "drop-shadow", style: { boxShadow: d, ...a ?? {} }, children: x });
|
|
14
14
|
};
|
|
15
15
|
export {
|
|
16
|
-
|
|
16
|
+
s as DropShadow
|
|
17
17
|
};
|
|
18
18
|
//# sourceMappingURL=DropShadow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropShadow.js","sources":["../../../../src/components/dropShadow/DropShadow.tsx"],"sourcesContent":["import React from 'react';\n\nconst BoxShadowMap = {\n\tz1: {\n\t\tup: '0px -2px 8px rgba(0, 0, 0, 0.12)',\n\t\tdown: '0px 2px 8px rgba(0, 0, 0, 0.12)',\n\t},\n\tz2: {\n\t\tup: '0px -4px 12px rgba(0, 0, 0, 0.12)',\n\t\tdown: '0px 4px 12px rgba(0, 0, 0, 0.12)',\n\t},\n};\n\nexport const DropShadow: React.FC<{\n\tlevel: 'z1' | 'z2';\n\tposition: 'up' | 'down';\n\tchildren: React.ReactNode;\n\tstyle?: React.CSSProperties;\n}> = ({ level = 'z1', position = 'down', children, style }) => {\n\tconst boxShadow = BoxShadowMap[level][position];\n\n\treturn <div style={{ boxShadow, ...(style ?? {}) }}
|
|
1
|
+
{"version":3,"file":"DropShadow.js","sources":["../../../../src/components/dropShadow/DropShadow.tsx"],"sourcesContent":["import React from 'react';\n\nconst BoxShadowMap = {\n\tz1: {\n\t\tup: '0px -2px 8px rgba(0, 0, 0, 0.12)',\n\t\tdown: '0px 2px 8px rgba(0, 0, 0, 0.12)',\n\t},\n\tz2: {\n\t\tup: '0px -4px 12px rgba(0, 0, 0, 0.12)',\n\t\tdown: '0px 4px 12px rgba(0, 0, 0, 0.12)',\n\t},\n};\n\nexport const DropShadow: React.FC<{\n\tlevel: 'z1' | 'z2';\n\tposition: 'up' | 'down';\n\tchildren: React.ReactNode;\n\tstyle?: React.CSSProperties;\n}> = ({ level = 'z1', position = 'down', children, style }) => {\n\tconst boxShadow = BoxShadowMap[level][position];\n\n\treturn (\n\t\t<div data-testid=\"drop-shadow\" style={{ boxShadow, ...(style ?? {}) }}>\n\t\t\t{children}\n\t\t</div>\n\t);\n};\n"],"names":["BoxShadowMap","DropShadow","level","position","children","style","boxShadow","jsx"],"mappings":";AAEA,MAAMA,IAAe;AAAA,EACpB,IAAI;AAAA,IACH,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAAA,EAEP,IAAI;AAAA,IACH,IAAI;AAAA,IACJ,MAAM;AAAA,EAAA;AAER,GAEaC,IAKR,CAAC,EAAE,OAAAC,IAAQ,MAAM,UAAAC,IAAW,QAAQ,UAAAC,GAAU,OAAAC,QAAY;AAC9D,QAAMC,IAAYN,EAAaE,CAAK,EAAEC,CAAQ;AAE9C,SACC,gBAAAI,EAAC,OAAA,EAAI,eAAY,eAAc,OAAO,EAAE,WAAAD,GAAW,GAAID,KAAS,GAAC,GAC/D,UAAAD,EAAA,CACF;AAEF;"}
|
|
@@ -24,15 +24,15 @@ const B = (t) => t.length === 1 ? 100 : t.length === 2 ? 40 : 34, V = ({
|
|
|
24
24
|
return w(() => {
|
|
25
25
|
if (!t) return;
|
|
26
26
|
let n = 0;
|
|
27
|
-
const
|
|
28
|
-
let
|
|
29
|
-
|
|
30
|
-
const O = t.filter((l) => !
|
|
31
|
-
I(O), y(t.length -
|
|
27
|
+
const o = B(t);
|
|
28
|
+
let r = t.filter((l) => (n += l.label.length, n <= o));
|
|
29
|
+
r.length === 0 && t.length > 0 && (r = [t[0]]), x(r);
|
|
30
|
+
const O = t.filter((l) => !r.includes(l)).map((l) => l.label);
|
|
31
|
+
I(O), y(t.length - r.length);
|
|
32
32
|
}, [t]), /* @__PURE__ */ m(S, { children: [
|
|
33
33
|
/* @__PURE__ */ m(F, { style: { ...f }, error: !!a, children: [
|
|
34
34
|
/* @__PURE__ */ m("div", { className: "chips-container", children: [
|
|
35
|
-
b?.map((n,
|
|
35
|
+
b?.map((n, o) => /* @__PURE__ */ e("div", { style: { zIndex: 2 }, children: /* @__PURE__ */ e(
|
|
36
36
|
T,
|
|
37
37
|
{
|
|
38
38
|
tagText: L.truncateText(
|
|
@@ -42,6 +42,7 @@ const B = (t) => t.length === 1 ? 100 : t.length === 2 ? 40 : 34, V = ({
|
|
|
42
42
|
TrailingIcon: () => /* @__PURE__ */ e(
|
|
43
43
|
E,
|
|
44
44
|
{
|
|
45
|
+
"data-testid": "chip-remove-icon",
|
|
45
46
|
width: 12,
|
|
46
47
|
height: 12,
|
|
47
48
|
style: { cursor: "pointer" },
|
|
@@ -52,7 +53,7 @@ const B = (t) => t.length === 1 ? 100 : t.length === 2 ? 40 : 34, V = ({
|
|
|
52
53
|
),
|
|
53
54
|
children: n.selectedLabel || n.label
|
|
54
55
|
}
|
|
55
|
-
) },
|
|
56
|
+
) }, o)),
|
|
56
57
|
!!p && /* @__PURE__ */ e(
|
|
57
58
|
"div",
|
|
58
59
|
{
|
|
@@ -66,13 +67,13 @@ const B = (t) => t.length === 1 ? 100 : t.length === 2 ? 40 : 34, V = ({
|
|
|
66
67
|
{
|
|
67
68
|
body: "",
|
|
68
69
|
placement: "bottom",
|
|
69
|
-
tooltipContent: v && c.length > 0 ? /* @__PURE__ */ e("div", { style: { padding: "4px" }, children: c.map((n,
|
|
70
|
+
tooltipContent: v && c.length > 0 ? /* @__PURE__ */ e("div", { style: { padding: "4px" }, children: c.map((n, o) => /* @__PURE__ */ e(
|
|
70
71
|
h,
|
|
71
72
|
{
|
|
72
73
|
style: { color: d.text.white },
|
|
73
74
|
children: n
|
|
74
75
|
},
|
|
75
|
-
|
|
76
|
+
o
|
|
76
77
|
)) }) : void 0,
|
|
77
78
|
children: /* @__PURE__ */ e(h, { color: d.content.placeholder, children: `+${p} more` })
|
|
78
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChipInput.js","sources":["../../../../src/components/dropdown/ChipInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport StringUtils from '@src/utils/StringUtils';\nimport { COLORS } from '@src/constants/Theme';\nimport DownIcon from '../../assets/icons/chevronDown.svg';\nimport CrossIcon from '../../assets/icons/cross.svg';\nimport ErrorIcon from '../../assets/icons/errorInfo.svg';\nimport { InputFooter } from '../input/Input.styled';\nimport { Tag } from '../tag';\nimport { Tooltip } from '../tooltips';\nimport { BodyCaption } from '../TypographyStyle';\nimport { ChipInputWrapper } from './Common.styled';\nimport { SingleOption } from './type';\n\ninterface ChipInputProps {\n\tplaceholder?: string;\n\tchips: SingleOption[];\n\tonDeleteChip: (chip: SingleOption) => void;\n\tcontainerStyle?: React.CSSProperties;\n\tisDropdownOpened?: boolean;\n\tsizeToUse?: 'default' | 'small' | 'x-small';\n\terrorMessage?: string;\n\tshowLabelsOnMoreHover?: boolean;\n}\n\nconst getMaxChipsCharCount = (chips: SingleOption[]) => {\n\tif (chips.length === 1) return 100;\n\tif (chips.length === 2) return 40;\n\treturn 34;\n};\n\nconst ChipInput: React.FC<ChipInputProps> = ({\n\tchips,\n\tonDeleteChip,\n\tcontainerStyle = {},\n\tsizeToUse = 'default',\n\tisDropdownOpened,\n\tplaceholder = 'Select..',\n\terrorMessage = '',\n\tshowLabelsOnMoreHover = false,\n}) => {\n\tconst [options, setOptions] = useState<SingleOption[]>();\n\tconst [remainingOptionsCnt, setRemainingOptionsCnt] = useState(0);\n\tconst [remainingOptionsLabels, setRemainingOptionsLabels] = useState<\n\t\tstring[]\n\t>([]);\n\n\tuseEffect(() => {\n\t\tif (!chips) return;\n\t\tlet combineCharCnt = 0;\n\t\tconst MAX_CHAR = getMaxChipsCharCount(chips);\n\t\tlet options = chips.filter((option) => {\n\t\t\tcombineCharCnt += option.label.length;\n\t\t\treturn combineCharCnt <= MAX_CHAR;\n\t\t});\n\t\tif (options.length === 0 && chips.length > 0) {\n\t\t\toptions = [chips[0]];\n\t\t}\n\t\tsetOptions(options);\n\t\tconst remainingChips = chips.filter((option) => !options.includes(option));\n\t\tconst labels = remainingChips.map((option) => option.label);\n\t\tsetRemainingOptionsLabels(labels);\n\t\tsetRemainingOptionsCnt(chips.length - options.length);\n\t}, [chips]);\n\n\treturn (\n\t\t<>\n\t\t\t<ChipInputWrapper style={{ ...containerStyle }} error={!!errorMessage}>\n\t\t\t\t<div className=\"chips-container\">\n\t\t\t\t\t{options?.map((chip, index) => (\n\t\t\t\t\t\t<div key={index} style={{ zIndex: 2 }}>\n\t\t\t\t\t\t\t<Tag\n\t\t\t\t\t\t\t\ttagText={StringUtils.truncateText(\n\t\t\t\t\t\t\t\t\tchip.selectedLabel || chip.label,\n\t\t\t\t\t\t\t\t\t40,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tTrailingIcon={() => (\n\t\t\t\t\t\t\t\t\t<CrossIcon\n\t\t\t\t\t\t\t\t\t\twidth={12}\n\t\t\t\t\t\t\t\t\t\theight={12}\n\t\t\t\t\t\t\t\t\t\tstyle={{ cursor: 'pointer' }}\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tonDeleteChip(chip);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{chip.selectedLabel || chip.label}\n\t\t\t\t\t\t\t</Tag>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t\t{!!remainingOptionsCnt && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\tzIndex: 2,\n\t\t\t\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tbody={''}\n\t\t\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\t\t\ttooltipContent={\n\t\t\t\t\t\t\t\t\tshowLabelsOnMoreHover && remainingOptionsLabels.length > 0 ? (\n\t\t\t\t\t\t\t\t\t\t<div style={{ padding: '4px' }}>\n\t\t\t\t\t\t\t\t\t\t\t{remainingOptionsLabels.map((label, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<BodyCaption\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ color: COLORS.text.white }}\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.placeholder}>\n\t\t\t\t\t\t\t\t\t{`+${remainingOptionsCnt} more`}\n\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{chips.length === 0 && (\n\t\t\t\t\t\t<div style={{ color: COLORS.content.placeholder }}>\n\t\t\t\t\t\t\t{placeholder}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<DownIcon\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\ttransform: isDropdownOpened ? 'rotate(180deg)' : 'rotate(0deg)',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\twidth={\n\t\t\t\t\t\t\tsizeToUse === 'x-small' ? 16 : sizeToUse === 'small' ? 20 : 24\n\t\t\t\t\t\t}\n\t\t\t\t\t\theight={\n\t\t\t\t\t\t\tsizeToUse === 'x-small' ? 16 : sizeToUse === 'small' ? 20 : 24\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcolor={COLORS.content.primary}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</ChipInputWrapper>\n\t\t\t{!!errorMessage && (\n\t\t\t\t<InputFooter invalid={true}>\n\t\t\t\t\t{!!errorMessage && <ErrorIcon width={16} height={16} />}\n\t\t\t\t\t{errorMessage}\n\t\t\t\t</InputFooter>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nexport default ChipInput;\n"],"names":["getMaxChipsCharCount","chips","ChipInput","onDeleteChip","containerStyle","sizeToUse","isDropdownOpened","placeholder","errorMessage","showLabelsOnMoreHover","options","setOptions","useState","remainingOptionsCnt","setRemainingOptionsCnt","remainingOptionsLabels","setRemainingOptionsLabels","useEffect","combineCharCnt","MAX_CHAR","option","labels","jsxs","Fragment","ChipInputWrapper","chip","index","jsx","Tag","StringUtils","CrossIcon","Tooltip","label","BodyCaption","COLORS","DownIcon","InputFooter","ErrorIcon"],"mappings":";;;;;;;;;;;;AAwBA,MAAMA,IAAuB,CAACC,MACzBA,EAAM,WAAW,IAAU,MAC3BA,EAAM,WAAW,IAAU,KACxB,IAGFC,IAAsC,CAAC;AAAA,EAC5C,OAAAD;AAAA,EACA,cAAAE;AAAA,EACA,gBAAAC,IAAiB,CAAA;AAAA,EACjB,WAAAC,IAAY;AAAA,EACZ,kBAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,cAAAC,IAAe;AAAA,EACf,uBAAAC,IAAwB;AACzB,MAAM;AACL,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAA,GACxB,CAACC,GAAqBC,CAAsB,IAAIF,EAAS,CAAC,GAC1D,CAACG,GAAwBC,CAAyB,IAAIJ,EAE1D,CAAA,CAAE;AAEJ,SAAAK,EAAU,MAAM;AACf,QAAI,CAAChB,EAAO;AACZ,QAAIiB,IAAiB;AACrB,UAAMC,IAAWnB,EAAqBC,CAAK;AAC3C,QAAIS,IAAUT,EAAM,OAAO,CAACmB,OAC3BF,KAAkBE,EAAO,MAAM,QACxBF,KAAkBC,EACzB;AACD,IAAIT,EAAQ,WAAW,KAAKT,EAAM,SAAS,MAC1CS,IAAU,CAACT,EAAM,CAAC,CAAC,IAEpBU,EAAWD,CAAO;AAElB,UAAMW,IADiBpB,EAAM,OAAO,CAACmB,MAAW,CAACV,EAAQ,SAASU,CAAM,CAAC,EAC3C,IAAI,CAACA,MAAWA,EAAO,KAAK;AAC1D,IAAAJ,EAA0BK,CAAM,GAChCP,EAAuBb,EAAM,SAASS,EAAQ,MAAM;AAAA,EACrD,GAAG,CAACT,CAAK,CAAC,GAGT,gBAAAqB,EAAAC,GAAA,EACC,UAAA;AAAA,IAAA,gBAAAD,EAACE,GAAA,EAAiB,OAAO,EAAE,GAAGpB,KAAkB,OAAO,CAAC,CAACI,GACxD,UAAA;AAAA,MAAA,gBAAAc,EAAC,OAAA,EAAI,WAAU,mBACb,UAAA;AAAA,QAAAZ,GAAS,IAAI,CAACe,GAAMC,MACpB,gBAAAC,EAAC,SAAgB,OAAO,EAAE,QAAQ,EAAA,GACjC,UAAA,gBAAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACA,SAASC,EAAY;AAAA,cACpBJ,EAAK,iBAAiBA,EAAK;AAAA,cAC3B;AAAA,YAAA;AAAA,YAED,cAAc,MACb,gBAAAE;AAAA,cAACG;AAAAA,cAAA;AAAA,gBACA,OAAO;AAAA,gBACP,QAAQ;AAAA,gBACR,OAAO,EAAE,QAAQ,UAAA;AAAA,gBACjB,SAAS,MAAM;AACd,kBAAA3B,EAAasB,CAAI;AAAA,gBAClB;AAAA,cAAA;AAAA,YAAA;AAAA,YAID,UAAAA,EAAK,iBAAiBA,EAAK;AAAA,UAAA;AAAA,QAAA,EAC7B,
|
|
1
|
+
{"version":3,"file":"ChipInput.js","sources":["../../../../src/components/dropdown/ChipInput.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport StringUtils from '@src/utils/StringUtils';\nimport { COLORS } from '@src/constants/Theme';\nimport DownIcon from '../../assets/icons/chevronDown.svg';\nimport CrossIcon from '../../assets/icons/cross.svg';\nimport ErrorIcon from '../../assets/icons/errorInfo.svg';\nimport { InputFooter } from '../input/Input.styled';\nimport { Tag } from '../tag';\nimport { Tooltip } from '../tooltips';\nimport { BodyCaption } from '../TypographyStyle';\nimport { ChipInputWrapper } from './Common.styled';\nimport { SingleOption } from './type';\n\ninterface ChipInputProps {\n\tplaceholder?: string;\n\tchips: SingleOption[];\n\tonDeleteChip: (chip: SingleOption) => void;\n\tcontainerStyle?: React.CSSProperties;\n\tisDropdownOpened?: boolean;\n\tsizeToUse?: 'default' | 'small' | 'x-small';\n\terrorMessage?: string;\n\tshowLabelsOnMoreHover?: boolean;\n}\n\nconst getMaxChipsCharCount = (chips: SingleOption[]) => {\n\tif (chips.length === 1) return 100;\n\tif (chips.length === 2) return 40;\n\treturn 34;\n};\n\nconst ChipInput: React.FC<ChipInputProps> = ({\n\tchips,\n\tonDeleteChip,\n\tcontainerStyle = {},\n\tsizeToUse = 'default',\n\tisDropdownOpened,\n\tplaceholder = 'Select..',\n\terrorMessage = '',\n\tshowLabelsOnMoreHover = false,\n}) => {\n\tconst [options, setOptions] = useState<SingleOption[]>();\n\tconst [remainingOptionsCnt, setRemainingOptionsCnt] = useState(0);\n\tconst [remainingOptionsLabels, setRemainingOptionsLabels] = useState<\n\t\tstring[]\n\t>([]);\n\n\tuseEffect(() => {\n\t\tif (!chips) return;\n\t\tlet combineCharCnt = 0;\n\t\tconst MAX_CHAR = getMaxChipsCharCount(chips);\n\t\tlet options = chips.filter((option) => {\n\t\t\tcombineCharCnt += option.label.length;\n\t\t\treturn combineCharCnt <= MAX_CHAR;\n\t\t});\n\t\tif (options.length === 0 && chips.length > 0) {\n\t\t\toptions = [chips[0]];\n\t\t}\n\t\tsetOptions(options);\n\t\tconst remainingChips = chips.filter((option) => !options.includes(option));\n\t\tconst labels = remainingChips.map((option) => option.label);\n\t\tsetRemainingOptionsLabels(labels);\n\t\tsetRemainingOptionsCnt(chips.length - options.length);\n\t}, [chips]);\n\n\treturn (\n\t\t<>\n\t\t\t<ChipInputWrapper style={{ ...containerStyle }} error={!!errorMessage}>\n\t\t\t\t<div className=\"chips-container\">\n\t\t\t\t\t{options?.map((chip, index) => (\n\t\t\t\t\t\t<div key={index} style={{ zIndex: 2 }}>\n\t\t\t\t\t\t\t<Tag\n\t\t\t\t\t\t\t\ttagText={StringUtils.truncateText(\n\t\t\t\t\t\t\t\t\tchip.selectedLabel || chip.label,\n\t\t\t\t\t\t\t\t\t40,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\tTrailingIcon={() => (\n\t\t\t\t\t\t\t\t\t<CrossIcon\n\t\t\t\t\t\t\t\t\t\tdata-testid=\"chip-remove-icon\"\n\t\t\t\t\t\t\t\t\t\twidth={12}\n\t\t\t\t\t\t\t\t\t\theight={12}\n\t\t\t\t\t\t\t\t\t\tstyle={{ cursor: 'pointer' }}\n\t\t\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\t\t\tonDeleteChip(chip);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{chip.selectedLabel || chip.label}\n\t\t\t\t\t\t\t</Tag>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t\t{!!remainingOptionsCnt && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t\tzIndex: 2,\n\t\t\t\t\t\t\t\tpointerEvents: 'auto',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\tbody={''}\n\t\t\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\t\t\ttooltipContent={\n\t\t\t\t\t\t\t\t\tshowLabelsOnMoreHover && remainingOptionsLabels.length > 0 ? (\n\t\t\t\t\t\t\t\t\t\t<div style={{ padding: '4px' }}>\n\t\t\t\t\t\t\t\t\t\t\t{remainingOptionsLabels.map((label, index) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<BodyCaption\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ color: COLORS.text.white }}\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BodyCaption color={COLORS.content.placeholder}>\n\t\t\t\t\t\t\t\t\t{`+${remainingOptionsCnt} more`}\n\t\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{chips.length === 0 && (\n\t\t\t\t\t\t<div style={{ color: COLORS.content.placeholder }}>\n\t\t\t\t\t\t\t{placeholder}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t<div>\n\t\t\t\t\t<DownIcon\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\ttransform: isDropdownOpened ? 'rotate(180deg)' : 'rotate(0deg)',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\twidth={\n\t\t\t\t\t\t\tsizeToUse === 'x-small' ? 16 : sizeToUse === 'small' ? 20 : 24\n\t\t\t\t\t\t}\n\t\t\t\t\t\theight={\n\t\t\t\t\t\t\tsizeToUse === 'x-small' ? 16 : sizeToUse === 'small' ? 20 : 24\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcolor={COLORS.content.primary}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</ChipInputWrapper>\n\t\t\t{!!errorMessage && (\n\t\t\t\t<InputFooter invalid={true}>\n\t\t\t\t\t{!!errorMessage && <ErrorIcon width={16} height={16} />}\n\t\t\t\t\t{errorMessage}\n\t\t\t\t</InputFooter>\n\t\t\t)}\n\t\t</>\n\t);\n};\n\nexport default ChipInput;\n"],"names":["getMaxChipsCharCount","chips","ChipInput","onDeleteChip","containerStyle","sizeToUse","isDropdownOpened","placeholder","errorMessage","showLabelsOnMoreHover","options","setOptions","useState","remainingOptionsCnt","setRemainingOptionsCnt","remainingOptionsLabels","setRemainingOptionsLabels","useEffect","combineCharCnt","MAX_CHAR","option","labels","jsxs","Fragment","ChipInputWrapper","chip","index","jsx","Tag","StringUtils","CrossIcon","Tooltip","label","BodyCaption","COLORS","DownIcon","InputFooter","ErrorIcon"],"mappings":"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"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { jsx as a, Fragment as b, jsxs as v } from "react/jsx-runtime";
|
|
2
2
|
import L, { useState as s, useRef as j, useImperativeHandle as A, useEffect as g } from "react";
|
|
3
3
|
import { usePopper as _ } from "react-popper";
|
|
4
|
-
import { COLORS as
|
|
5
|
-
import { OverLapAbs as
|
|
6
|
-
import { Tooltip as
|
|
7
|
-
import { DropShadow as
|
|
8
|
-
import { OpenedDropdown as
|
|
9
|
-
const
|
|
4
|
+
import { COLORS as w } from "../../../constants/Theme.js";
|
|
5
|
+
import { OverLapAbs as F, OpenDropdownContainer as N } from "../Common.styled.js";
|
|
6
|
+
import { Tooltip as T } from "../../tooltips/Tooltip.js";
|
|
7
|
+
import { DropShadow as V } from "../../dropShadow/DropShadow.js";
|
|
8
|
+
import { OpenedDropdown as Z } from "../OpenedDropdown/components/OpennedDropdown.js";
|
|
9
|
+
const q = L.forwardRef(
|
|
10
10
|
({
|
|
11
11
|
children: d,
|
|
12
12
|
onDropdownVisbilityChange: h,
|
|
13
13
|
version: l = "1.0",
|
|
14
14
|
tooltipContent: c,
|
|
15
15
|
tooltipDirection: S,
|
|
16
|
-
showTooltipArrow:
|
|
17
|
-
isChildLoading:
|
|
18
|
-
forceOpen:
|
|
16
|
+
showTooltipArrow: y,
|
|
17
|
+
isChildLoading: E,
|
|
18
|
+
forceOpen: o,
|
|
19
19
|
...e
|
|
20
|
-
},
|
|
21
|
-
const n =
|
|
20
|
+
}, R) => {
|
|
21
|
+
const n = R, [t, i] = s(!1), [x, f] = s(!1), [C, O] = s(null), [z, H] = s(null), u = j(null), { styles: I, attributes: M } = _(C, z, {
|
|
22
22
|
placement: e.placement,
|
|
23
23
|
strategy: e.strategy
|
|
24
24
|
}), k = (r) => {
|
|
@@ -42,25 +42,26 @@ const w = L.forwardRef(
|
|
|
42
42
|
style: {
|
|
43
43
|
position: "relative",
|
|
44
44
|
...l === "3.0" && {
|
|
45
|
-
backgroundColor: t || x ?
|
|
45
|
+
backgroundColor: t || x ? w.surface.hovered : "transparent",
|
|
46
46
|
transition: "background-color 0.3s ease",
|
|
47
47
|
borderRadius: 4
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
50
|
ref: O,
|
|
51
|
-
onMouseEnter: l === "3.0" ? () =>
|
|
52
|
-
onMouseLeave: l === "3.0" ? () =>
|
|
51
|
+
onMouseEnter: l === "3.0" ? () => f(!0) : void 0,
|
|
52
|
+
onMouseLeave: l === "3.0" ? () => f(!1) : void 0,
|
|
53
53
|
children: [
|
|
54
54
|
/* @__PURE__ */ a(
|
|
55
|
-
|
|
55
|
+
F,
|
|
56
56
|
{
|
|
57
57
|
ref: u,
|
|
58
|
+
"data-testid": "dropdown-overlay",
|
|
58
59
|
allowEvents: e.allowEvents,
|
|
59
60
|
disabled: e.disabled,
|
|
60
61
|
onClick: (r) => {
|
|
61
62
|
e.onDropdownOpen?.(), t ? (i(!1), r.preventDefault()) : e.disabled || i(!0);
|
|
62
63
|
},
|
|
63
|
-
isChildLoading:
|
|
64
|
+
isChildLoading: E,
|
|
64
65
|
children: e.allowEvents ? d : null
|
|
65
66
|
}
|
|
66
67
|
),
|
|
@@ -68,8 +69,8 @@ const w = L.forwardRef(
|
|
|
68
69
|
]
|
|
69
70
|
}
|
|
70
71
|
),
|
|
71
|
-
(t ||
|
|
72
|
-
|
|
72
|
+
(t || o) && /* @__PURE__ */ a(
|
|
73
|
+
N,
|
|
73
74
|
{
|
|
74
75
|
ref: H,
|
|
75
76
|
style: {
|
|
@@ -79,7 +80,7 @@ const w = L.forwardRef(
|
|
|
79
80
|
...M.popper,
|
|
80
81
|
"data-test": e["data-test"],
|
|
81
82
|
children: /* @__PURE__ */ a(
|
|
82
|
-
|
|
83
|
+
V,
|
|
83
84
|
{
|
|
84
85
|
level: "z2",
|
|
85
86
|
position: "down",
|
|
@@ -88,7 +89,7 @@ const w = L.forwardRef(
|
|
|
88
89
|
boxShadow: "0 2px 8px 0 rgba(0, 0, 0, 0.12)"
|
|
89
90
|
},
|
|
90
91
|
children: /* @__PURE__ */ a(
|
|
91
|
-
|
|
92
|
+
Z,
|
|
92
93
|
{
|
|
93
94
|
...e,
|
|
94
95
|
onSelect: (r) => {
|
|
@@ -107,19 +108,19 @@ const w = L.forwardRef(
|
|
|
107
108
|
}
|
|
108
109
|
)
|
|
109
110
|
] });
|
|
110
|
-
return /* @__PURE__ */ a(b, { children: !t && !
|
|
111
|
-
|
|
111
|
+
return /* @__PURE__ */ a(b, { children: !t && !o && c !== void 0 ? /* @__PURE__ */ a(
|
|
112
|
+
T,
|
|
112
113
|
{
|
|
113
114
|
body: c,
|
|
114
115
|
placement: S,
|
|
115
|
-
hideArrow: !
|
|
116
|
+
hideArrow: !y,
|
|
116
117
|
children: /* @__PURE__ */ a("div", { "data-test": e["data-test"], children: m() })
|
|
117
118
|
}
|
|
118
119
|
) : m() });
|
|
119
120
|
}
|
|
120
121
|
);
|
|
121
|
-
|
|
122
|
+
q.displayName = "DropdownPopover";
|
|
122
123
|
export {
|
|
123
|
-
|
|
124
|
+
q as DropdownPopover
|
|
124
125
|
};
|
|
125
126
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/components/dropdown/DropdownPopover/index.tsx"],"sourcesContent":["import React, {\n\tLegacyRef,\n\tRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { usePopper } from 'react-popper';\nimport { DropShadow } from '@src/components/dropShadow';\nimport { Placement, Tooltip } from '@src/components/tooltips';\nimport { COLORS } from '@src/constants/Theme';\nimport { OpenDropdownContainer, OverLapAbs } from '../Common.styled';\nimport { OpenedDropdown } from '../OpenedDropdown';\nimport { OpenDropdownProps } from '../type';\n\ntype DropdownProps = OpenDropdownProps & {\n\tisLoading?: boolean;\n\tchildren?: React.ReactNode;\n\tdisabled?: boolean;\n\tonDropdownOpen?: () => void;\n\tonDropdownVisbilityChange?: (isOpen: boolean) => void;\n\ttooltipContent?: string;\n\ttooltipDirection?: Placement;\n\tshowTooltipArrow?: boolean;\n\tallowEvents?: boolean;\n\t'data-test'?: string;\n\tisChildLoading?: boolean;\n\t/**\n\t * If true, forces the dropdown to remain open regardless of user interaction or internal state.\n\t * This prop overrides the internal openDropdown state, ensuring the dropdown stays open.\n\t * Use this prop when you need to programmatically control the dropdown's visibility from a parent component.\n\t */\n\tforceOpen?: boolean;\n};\n\nexport const DropdownPopover = React.forwardRef<\n\t{\n\t\topenDropdown: boolean;\n\t},\n\tDropdownProps\n>(\n\t(\n\t\t{\n\t\t\tchildren,\n\t\t\tonDropdownVisbilityChange,\n\t\t\tversion = '1.0',\n\t\t\ttooltipContent,\n\t\t\ttooltipDirection,\n\t\t\tshowTooltipArrow,\n\t\t\tisChildLoading,\n\t\t\tforceOpen,\n\t\t\t...openDropdownProps\n\t\t},\n\t\tunTypedRef,\n\t) => {\n\t\tconst ref = unTypedRef as React.RefObject<{ openDropdown: boolean }>;\n\t\tconst [openDropdown, setDropdownVisibility] = useState(false);\n\t\tconst [isHovering, setIsHovering] = useState(false);\n\t\tconst [referenceElement, setReferenceElement] = useState(null);\n\t\tconst [popperElement, setPopperElement] = useState(null);\n\t\tconst headerRef = useRef(null);\n\n\t\tconst { styles, attributes } = usePopper(referenceElement, popperElement, {\n\t\t\tplacement: openDropdownProps.placement,\n\t\t\tstrategy: openDropdownProps.strategy,\n\t\t});\n\n\t\tconst onCloseHandle = (data) => {\n\t\t\tif (version === '2.0' && openDropdownProps.isMultiSelect && data) {\n\t\t\t\topenDropdownProps.onSelect?.([...data]);\n\t\t\t}\n\t\t\tsetDropdownVisibility(false);\n\t\t\topenDropdownProps?.onClose?.();\n\t\t};\n\n\t\tuseImperativeHandle(\n\t\t\tref,\n\t\t\t() => {\n\t\t\t\treturn {\n\t\t\t\t\topenDropdown: openDropdown,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\tuseEffect(() => {\n\t\t\tif (ref?.current) ref.current.openDropdown = openDropdown;\n\t\t}, [openDropdown]);\n\n\t\tuseEffect(() => {\n\t\t\tonDropdownVisbilityChange?.(openDropdown);\n\t\t}, [openDropdown]);\n\n\t\tconst dropDownComponent = () => {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t...(version === '3.0' && {\n\t\t\t\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\t\t\t\topenDropdown || isHovering\n\t\t\t\t\t\t\t\t\t\t? COLORS.surface.hovered\n\t\t\t\t\t\t\t\t\t\t: 'transparent',\n\t\t\t\t\t\t\t\ttransition: 'background-color 0.3s ease',\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t/** This assigment is mentioned as per react-popper's docs, so typecasting */\n\t\t\t\t\t\tref={setReferenceElement as LegacyRef<HTMLDivElement>}\n\t\t\t\t\t\tonMouseEnter={\n\t\t\t\t\t\t\tversion === '3.0' ? () => setIsHovering(true) : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMouseLeave={\n\t\t\t\t\t\t\tversion === '3.0' ? () => setIsHovering(false) : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<OverLapAbs\n\t\t\t\t\t\t\tref={headerRef}\n\t\t\t\t\t\t\tallowEvents={openDropdownProps.allowEvents}\n\t\t\t\t\t\t\tdisabled={openDropdownProps.disabled}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\topenDropdownProps.onDropdownOpen?.();\n\t\t\t\t\t\t\t\tif (!openDropdown) {\n\t\t\t\t\t\t\t\t\tif (!openDropdownProps.disabled) setDropdownVisibility(true);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetDropdownVisibility(false);\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tisChildLoading={isChildLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{openDropdownProps.allowEvents ? children : null}\n\t\t\t\t\t\t</OverLapAbs>\n\t\t\t\t\t\t{openDropdownProps.allowEvents ? null : children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{(openDropdown || forceOpen) && (\n\t\t\t\t\t\t<OpenDropdownContainer\n\t\t\t\t\t\t\t/** This assigment is mentioned as per react-popper's docs, so typecasting */\n\t\t\t\t\t\t\tref={setPopperElement as Ref<HTMLDivElement>}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...styles['popper'],\n\t\t\t\t\t\t\t\tzIndex: openDropdownProps.dropdownZIndex ?? 3,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t{...attributes['popper']}\n\t\t\t\t\t\t\tdata-test={openDropdownProps['data-test']}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DropShadow\n\t\t\t\t\t\t\t\tlevel={'z2'}\n\t\t\t\t\t\t\t\tposition={'down'}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tborderRadius: version === '3.0' ? 4 : 8,\n\t\t\t\t\t\t\t\t\tboxShadow: '0 2px 8px 0 rgba(0, 0, 0, 0.12)',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<OpenedDropdown\n\t\t\t\t\t\t\t\t\t{...openDropdownProps}\n\t\t\t\t\t\t\t\t\tonSelect={(options) => {\n\t\t\t\t\t\t\t\t\t\tif (version === '2.0' && openDropdownProps.isMultiSelect) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\topenDropdownProps.onSelect?.(options);\n\t\t\t\t\t\t\t\t\t\t\tsetDropdownVisibility(false);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonClose={onCloseHandle}\n\t\t\t\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\t\t\t\theaderRef={headerRef}\n\t\t\t\t\t\t\t\t\tzeroState={openDropdownProps?.zeroState}\n\t\t\t\t\t\t\t\t\tisDraggable={openDropdownProps.isDraggable}\n\t\t\t\t\t\t\t\t\tonOptionsReorder={openDropdownProps.onOptionsReorder}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropShadow>\n\t\t\t\t\t\t</OpenDropdownContainer>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{!openDropdown && !forceOpen && tooltipContent !== undefined ? (\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tbody={tooltipContent}\n\t\t\t\t\t\tplacement={tooltipDirection}\n\t\t\t\t\t\thideArrow={!showTooltipArrow}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div data-test={openDropdownProps['data-test']}>\n\t\t\t\t\t\t\t{dropDownComponent()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t) : (\n\t\t\t\t\tdropDownComponent()\n\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t},\n);\n\nDropdownPopover.displayName = 'DropdownPopover';\n"],"names":["DropdownPopover","React","children","onDropdownVisbilityChange","version","tooltipContent","tooltipDirection","showTooltipArrow","isChildLoading","forceOpen","openDropdownProps","unTypedRef","ref","openDropdown","setDropdownVisibility","useState","isHovering","setIsHovering","referenceElement","setReferenceElement","popperElement","setPopperElement","headerRef","useRef","styles","attributes","usePopper","onCloseHandle","data","useImperativeHandle","useEffect","dropDownComponent","jsxs","Fragment","COLORS","jsx","OverLapAbs","e","OpenDropdownContainer","DropShadow","OpenedDropdown","options","Tooltip"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/dropdown/DropdownPopover/index.tsx"],"sourcesContent":["import React, {\n\tLegacyRef,\n\tRef,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { usePopper } from 'react-popper';\nimport { DropShadow } from '@src/components/dropShadow';\nimport { Placement, Tooltip } from '@src/components/tooltips';\nimport { COLORS } from '@src/constants/Theme';\nimport { OpenDropdownContainer, OverLapAbs } from '../Common.styled';\nimport { OpenedDropdown } from '../OpenedDropdown';\nimport { OpenDropdownProps } from '../type';\n\ntype DropdownProps = OpenDropdownProps & {\n\tisLoading?: boolean;\n\tchildren?: React.ReactNode;\n\tdisabled?: boolean;\n\tonDropdownOpen?: () => void;\n\tonDropdownVisbilityChange?: (isOpen: boolean) => void;\n\ttooltipContent?: string;\n\ttooltipDirection?: Placement;\n\tshowTooltipArrow?: boolean;\n\tallowEvents?: boolean;\n\t'data-test'?: string;\n\tisChildLoading?: boolean;\n\t/**\n\t * If true, forces the dropdown to remain open regardless of user interaction or internal state.\n\t * This prop overrides the internal openDropdown state, ensuring the dropdown stays open.\n\t * Use this prop when you need to programmatically control the dropdown's visibility from a parent component.\n\t */\n\tforceOpen?: boolean;\n};\n\nexport const DropdownPopover = React.forwardRef<\n\t{\n\t\topenDropdown: boolean;\n\t},\n\tDropdownProps\n>(\n\t(\n\t\t{\n\t\t\tchildren,\n\t\t\tonDropdownVisbilityChange,\n\t\t\tversion = '1.0',\n\t\t\ttooltipContent,\n\t\t\ttooltipDirection,\n\t\t\tshowTooltipArrow,\n\t\t\tisChildLoading,\n\t\t\tforceOpen,\n\t\t\t...openDropdownProps\n\t\t},\n\t\tunTypedRef,\n\t) => {\n\t\tconst ref = unTypedRef as React.RefObject<{ openDropdown: boolean }>;\n\t\tconst [openDropdown, setDropdownVisibility] = useState(false);\n\t\tconst [isHovering, setIsHovering] = useState(false);\n\t\tconst [referenceElement, setReferenceElement] = useState(null);\n\t\tconst [popperElement, setPopperElement] = useState(null);\n\t\tconst headerRef = useRef(null);\n\n\t\tconst { styles, attributes } = usePopper(referenceElement, popperElement, {\n\t\t\tplacement: openDropdownProps.placement,\n\t\t\tstrategy: openDropdownProps.strategy,\n\t\t});\n\n\t\tconst onCloseHandle = (data) => {\n\t\t\tif (version === '2.0' && openDropdownProps.isMultiSelect && data) {\n\t\t\t\topenDropdownProps.onSelect?.([...data]);\n\t\t\t}\n\t\t\tsetDropdownVisibility(false);\n\t\t\topenDropdownProps?.onClose?.();\n\t\t};\n\n\t\tuseImperativeHandle(\n\t\t\tref,\n\t\t\t() => {\n\t\t\t\treturn {\n\t\t\t\t\topenDropdown: openDropdown,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[],\n\t\t);\n\n\t\tuseEffect(() => {\n\t\t\tif (ref?.current) ref.current.openDropdown = openDropdown;\n\t\t}, [openDropdown]);\n\n\t\tuseEffect(() => {\n\t\t\tonDropdownVisbilityChange?.(openDropdown);\n\t\t}, [openDropdown]);\n\n\t\tconst dropDownComponent = () => {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tposition: 'relative',\n\t\t\t\t\t\t\t...(version === '3.0' && {\n\t\t\t\t\t\t\t\tbackgroundColor:\n\t\t\t\t\t\t\t\t\topenDropdown || isHovering\n\t\t\t\t\t\t\t\t\t\t? COLORS.surface.hovered\n\t\t\t\t\t\t\t\t\t\t: 'transparent',\n\t\t\t\t\t\t\t\ttransition: 'background-color 0.3s ease',\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t}}\n\t\t\t\t\t\t/** This assigment is mentioned as per react-popper's docs, so typecasting */\n\t\t\t\t\t\tref={setReferenceElement as LegacyRef<HTMLDivElement>}\n\t\t\t\t\t\tonMouseEnter={\n\t\t\t\t\t\t\tversion === '3.0' ? () => setIsHovering(true) : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMouseLeave={\n\t\t\t\t\t\t\tversion === '3.0' ? () => setIsHovering(false) : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<OverLapAbs\n\t\t\t\t\t\t\tref={headerRef}\n\t\t\t\t\t\t\tdata-testid=\"dropdown-overlay\"\n\t\t\t\t\t\t\tallowEvents={openDropdownProps.allowEvents}\n\t\t\t\t\t\t\tdisabled={openDropdownProps.disabled}\n\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\topenDropdownProps.onDropdownOpen?.();\n\t\t\t\t\t\t\t\tif (!openDropdown) {\n\t\t\t\t\t\t\t\t\tif (!openDropdownProps.disabled) setDropdownVisibility(true);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tsetDropdownVisibility(false);\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tisChildLoading={isChildLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{openDropdownProps.allowEvents ? children : null}\n\t\t\t\t\t\t</OverLapAbs>\n\t\t\t\t\t\t{openDropdownProps.allowEvents ? null : children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{(openDropdown || forceOpen) && (\n\t\t\t\t\t\t<OpenDropdownContainer\n\t\t\t\t\t\t\t/** This assigment is mentioned as per react-popper's docs, so typecasting */\n\t\t\t\t\t\t\tref={setPopperElement as Ref<HTMLDivElement>}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...styles['popper'],\n\t\t\t\t\t\t\t\tzIndex: openDropdownProps.dropdownZIndex ?? 3,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t{...attributes['popper']}\n\t\t\t\t\t\t\tdata-test={openDropdownProps['data-test']}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<DropShadow\n\t\t\t\t\t\t\t\tlevel={'z2'}\n\t\t\t\t\t\t\t\tposition={'down'}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tborderRadius: version === '3.0' ? 4 : 8,\n\t\t\t\t\t\t\t\t\tboxShadow: '0 2px 8px 0 rgba(0, 0, 0, 0.12)',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<OpenedDropdown\n\t\t\t\t\t\t\t\t\t{...openDropdownProps}\n\t\t\t\t\t\t\t\t\tonSelect={(options) => {\n\t\t\t\t\t\t\t\t\t\tif (version === '2.0' && openDropdownProps.isMultiSelect) {\n\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\topenDropdownProps.onSelect?.(options);\n\t\t\t\t\t\t\t\t\t\t\tsetDropdownVisibility(false);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonClose={onCloseHandle}\n\t\t\t\t\t\t\t\t\tversion={version}\n\t\t\t\t\t\t\t\t\theaderRef={headerRef}\n\t\t\t\t\t\t\t\t\tzeroState={openDropdownProps?.zeroState}\n\t\t\t\t\t\t\t\t\tisDraggable={openDropdownProps.isDraggable}\n\t\t\t\t\t\t\t\t\tonOptionsReorder={openDropdownProps.onOptionsReorder}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</DropShadow>\n\t\t\t\t\t\t</OpenDropdownContainer>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{!openDropdown && !forceOpen && tooltipContent !== undefined ? (\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tbody={tooltipContent}\n\t\t\t\t\t\tplacement={tooltipDirection}\n\t\t\t\t\t\thideArrow={!showTooltipArrow}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div data-test={openDropdownProps['data-test']}>\n\t\t\t\t\t\t\t{dropDownComponent()}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t) : (\n\t\t\t\t\tdropDownComponent()\n\t\t\t\t)}\n\t\t\t</>\n\t\t);\n\t},\n);\n\nDropdownPopover.displayName = 'DropdownPopover';\n"],"names":["DropdownPopover","React","children","onDropdownVisbilityChange","version","tooltipContent","tooltipDirection","showTooltipArrow","isChildLoading","forceOpen","openDropdownProps","unTypedRef","ref","openDropdown","setDropdownVisibility","useState","isHovering","setIsHovering","referenceElement","setReferenceElement","popperElement","setPopperElement","headerRef","useRef","styles","attributes","usePopper","onCloseHandle","data","useImperativeHandle","useEffect","dropDownComponent","jsxs","Fragment","COLORS","jsx","OverLapAbs","e","OpenDropdownContainer","DropShadow","OpenedDropdown","options","Tooltip"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as t, jsxs as s } from "react/jsx-runtime";
|
|
2
|
-
import { DropdownPopover as
|
|
2
|
+
import { DropdownPopover as a } from "../dropdown/DropdownPopover/index.js";
|
|
3
3
|
import { SpinnerColorMap as p } from "../button/themes.js";
|
|
4
|
-
import { DropdownButtonStyle as
|
|
4
|
+
import { DropdownButtonStyle as u, LoaderContainer as m } from "./DropdownButton.style.js";
|
|
5
5
|
import { IconButton as l } from "../icon-button/IconButton.js";
|
|
6
|
-
import { Tooltip as
|
|
7
|
-
import { Spinner as
|
|
6
|
+
import { Tooltip as x } from "../tooltips/Tooltip.js";
|
|
7
|
+
import { Spinner as y } from "../spinner/Spinner.js";
|
|
8
8
|
import { Button as b } from "../button/Button.js";
|
|
9
9
|
const S = (o) => {
|
|
10
10
|
const e = !!o.iconButtonProps, r = e ? o.iconButtonProps?.disabled : o.buttonProps?.disabled;
|
|
@@ -21,7 +21,7 @@ const S = (o) => {
|
|
|
21
21
|
}
|
|
22
22
|
);
|
|
23
23
|
return /* @__PURE__ */ s(
|
|
24
|
-
|
|
24
|
+
u,
|
|
25
25
|
{
|
|
26
26
|
type: void 0,
|
|
27
27
|
disabled: r,
|
|
@@ -30,7 +30,7 @@ const S = (o) => {
|
|
|
30
30
|
iconButtonSize: n?.size ?? "default",
|
|
31
31
|
children: [
|
|
32
32
|
i ? /* @__PURE__ */ t(
|
|
33
|
-
|
|
33
|
+
x,
|
|
34
34
|
{
|
|
35
35
|
body: i.body,
|
|
36
36
|
tooltipContent: i.tooltipContent,
|
|
@@ -39,7 +39,7 @@ const S = (o) => {
|
|
|
39
39
|
}
|
|
40
40
|
) : d,
|
|
41
41
|
/* @__PURE__ */ t("div", { className: "dd-button-divider" }),
|
|
42
|
-
/* @__PURE__ */ t("div", { style: { display: "flex", alignItems: "center" }, children: /* @__PURE__ */ t(
|
|
42
|
+
/* @__PURE__ */ t("div", { style: { display: "flex", alignItems: "center" }, children: /* @__PURE__ */ t(a, { ...o.dropdownProps, isChildLoading: !1, children: /* @__PURE__ */ t(
|
|
43
43
|
l,
|
|
44
44
|
{
|
|
45
45
|
Icon: o.iconProps,
|
|
@@ -63,18 +63,18 @@ const S = (o) => {
|
|
|
63
63
|
LeadingIcon: B,
|
|
64
64
|
LeadingIconStyles: f,
|
|
65
65
|
IconComponent: R,
|
|
66
|
-
TrailingIcon:
|
|
66
|
+
TrailingIcon: h,
|
|
67
67
|
...c
|
|
68
68
|
} = o.buttonProps;
|
|
69
69
|
return /* @__PURE__ */ s(
|
|
70
|
-
|
|
70
|
+
u,
|
|
71
71
|
{
|
|
72
72
|
type: o.buttonProps.buttonType,
|
|
73
73
|
disabled: o.buttonProps.disabled,
|
|
74
74
|
size: o.buttonProps.size,
|
|
75
75
|
children: [
|
|
76
76
|
o.buttonProps?.isLoading && /* @__PURE__ */ t(m, { type: o.buttonProps.buttonType, children: /* @__PURE__ */ t(
|
|
77
|
-
|
|
77
|
+
y,
|
|
78
78
|
{
|
|
79
79
|
className: "spinner",
|
|
80
80
|
size: "small",
|
|
@@ -94,13 +94,13 @@ const S = (o) => {
|
|
|
94
94
|
borderTopLeftRadius: "4px",
|
|
95
95
|
borderBottomLeftRadius: "4px",
|
|
96
96
|
borderRight: "0px",
|
|
97
|
-
...o.buttonProps?.size === "xs" ? { border: "none", borderRadius: "0px" } : {}
|
|
97
|
+
...o.buttonProps?.size === "xs" ? { border: "none", boxShadow: "none", borderRadius: "0px" } : {}
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
),
|
|
101
101
|
/* @__PURE__ */ t("div", { className: "dd-button-divider" }),
|
|
102
102
|
/* @__PURE__ */ t(
|
|
103
|
-
|
|
103
|
+
a,
|
|
104
104
|
{
|
|
105
105
|
...o.dropdownProps,
|
|
106
106
|
isChildLoading: o.buttonProps?.isLoading,
|
|
@@ -115,7 +115,7 @@ const S = (o) => {
|
|
|
115
115
|
borderRadius: "0px",
|
|
116
116
|
borderTopRightRadius: "4px",
|
|
117
117
|
borderBottomRightRadius: "4px",
|
|
118
|
-
...o.buttonProps?.size === "xs" ? { border: "none", borderRadius: "0px" } : {}
|
|
118
|
+
...o.buttonProps?.size === "xs" ? { border: "none", boxShadow: "none", borderRadius: "0px" } : {}
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropdownButton.js","sources":["../../../../src/components/dropdown-button/DropdownButton.tsx"],"sourcesContent":["import React from 'react';\nimport { DropdownPopover, DropdownProps } from '@src/components/dropdown';\nimport { Button } from '../button';\nimport { ButtonProps } from '../button/model';\nimport { SpinnerColorMap } from '../button/themes';\nimport { IconButton } from '../icon-button';\nimport { IconButtonProps } from '../icon-button/model';\nimport { Spinner } from '../spinner';\nimport { Placement, Tooltip } from '../tooltips';\nimport { DropdownButtonStyle, LoaderContainer } from './DropdownButton.style';\n\nexport interface DropdownButtonProps {\n\tdropdownProps: DropdownProps;\n\ticonProps: React.FunctionComponent<React.SVGAttributes<SVGElement>>;\n\tbuttonProps?: ButtonProps;\n\ticonButtonProps?: IconButtonProps;\n\t/**\n\t * Optional tooltip shown only on the main icon button (icon mode),\n\t * not on the dropdown/chevron trigger.\n\t */\n\ticonButtonTooltip?: {\n\t\tbody?: string;\n\t\ttooltipContent?: JSX.Element;\n\t\tplacement?: Placement;\n\t};\n}\n\nexport const DropdownButton: React.FC<DropdownButtonProps> = (props) => {\n\tconst isIconMode = !!props.iconButtonProps;\n\tconst disabled = isIconMode\n\t\t? props.iconButtonProps?.disabled\n\t\t: props.buttonProps?.disabled;\n\n\tif (isIconMode) {\n\t\tconst { iconButtonProps, iconButtonTooltip } = props;\n\t\tconst iconButton = (\n\t\t\t<IconButton\n\t\t\t\t{...iconButtonProps!}\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '0px',\n\t\t\t\t\tborderTopLeftRadius: '4px',\n\t\t\t\t\tborderBottomLeftRadius: '4px',\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t\treturn (\n\t\t\t<DropdownButtonStyle\n\t\t\t\ttype={undefined}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tisIconButton\n\t\t\t\ticonButtonType={iconButtonProps?.iconButtonType ?? 'primary'}\n\t\t\t\ticonButtonSize={iconButtonProps?.size ?? 'default'}\n\t\t\t>\n\t\t\t\t{iconButtonTooltip ? (\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tbody={iconButtonTooltip.body}\n\t\t\t\t\t\ttooltipContent={iconButtonTooltip.tooltipContent}\n\t\t\t\t\t\tplacement={iconButtonTooltip.placement}\n\t\t\t\t\t>\n\t\t\t\t\t\t{iconButton}\n\t\t\t\t\t</Tooltip>\n\t\t\t\t) : (\n\t\t\t\t\ticonButton\n\t\t\t\t)}\n\t\t\t\t<div className=\"dd-button-divider\"></div>\n\t\t\t\t<div style={{ display: 'flex', alignItems: 'center' }}>\n\t\t\t\t\t<DropdownPopover {...props.dropdownProps} isChildLoading={false}>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tIcon={props.iconProps}\n\t\t\t\t\t\t\ticonButtonType={iconButtonProps?.iconButtonType ?? 'primary'}\n\t\t\t\t\t\t\tsize={iconButtonProps?.size}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tborderRadius: '0px',\n\t\t\t\t\t\t\t\tborderTopRightRadius: '4px',\n\t\t\t\t\t\t\t\tborderBottomRightRadius: '4px',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</DropdownPopover>\n\t\t\t\t</div>\n\t\t\t</DropdownButtonStyle>\n\t\t);\n\t}\n\n\tconst {\n\t\tonClick,\n\t\tLeadingIcon,\n\t\tLeadingIconStyles,\n\t\tIconComponent,\n\t\tTrailingIcon,\n\t\t...childButtonProps\n\t} = props.buttonProps!;\n\n\treturn (\n\t\t<DropdownButtonStyle\n\t\t\ttype={props.buttonProps!.buttonType}\n\t\t\tdisabled={props.buttonProps!.disabled}\n\t\t\tsize={props.buttonProps!.size}\n\t\t>\n\t\t\t{props.buttonProps?.isLoading && (\n\t\t\t\t<LoaderContainer type={props.buttonProps.buttonType}>\n\t\t\t\t\t<Spinner\n\t\t\t\t\t\tclassName=\"spinner\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tcolor={SpinnerColorMap(\n\t\t\t\t\t\t\tprops.buttonProps.buttonType || 'primary',\n\t\t\t\t\t\t\tprops.buttonProps.inverse,\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</LoaderContainer>\n\t\t\t)}\n\n\t\t\t<Button\n\t\t\t\t{...props.buttonProps!}\n\t\t\t\tisLoading={false}\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '0px',\n\t\t\t\t\tborderTopLeftRadius: '4px',\n\t\t\t\t\tborderBottomLeftRadius: '4px',\n\t\t\t\t\tborderRight: '0px',\n\t\t\t\t\t...(props.buttonProps?.size === 'xs'\n\t\t\t\t\t\t? { border: 'none', borderRadius: '0px' }\n\t\t\t\t\t\t: {}),\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div className=\"dd-button-divider\"></div>\n\t\t\t<DropdownPopover\n\t\t\t\t{...props.dropdownProps}\n\t\t\t\tisChildLoading={props.buttonProps?.isLoading}\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\t{...childButtonProps}\n\t\t\t\t\tisLoading={false}\n\t\t\t\t\tbuttonText={''}\n\t\t\t\t\tTrailingIcon={props.iconProps}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tborderRadius: '0px',\n\t\t\t\t\t\tborderTopRightRadius: '4px',\n\t\t\t\t\t\tborderBottomRightRadius: '4px',\n\t\t\t\t\t\t...(props.buttonProps?.size === 'xs'\n\t\t\t\t\t\t\t? { border: 'none', borderRadius: '0px' }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</DropdownPopover>\n\t\t</DropdownButtonStyle>\n\t);\n};\n"],"names":["DropdownButton","props","isIconMode","disabled","iconButtonProps","iconButtonTooltip","iconButton","jsx","IconButton","jsxs","DropdownButtonStyle","Tooltip","DropdownPopover","onClick","LeadingIcon","LeadingIconStyles","IconComponent","TrailingIcon","childButtonProps","LoaderContainer","Spinner","SpinnerColorMap","Button"],"mappings":";;;;;;;;AA2BO,MAAMA,IAAgD,CAACC,MAAU;AACvE,QAAMC,IAAa,CAAC,CAACD,EAAM,iBACrBE,IAAWD,IACdD,EAAM,iBAAiB,WACvBA,EAAM,aAAa;AAEtB,MAAIC,GAAY;AACf,UAAM,EAAE,iBAAAE,GAAiB,mBAAAC,EAAA,IAAsBJ,GACzCK,IACL,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,GAAGJ;AAAA,QACJ,OAAO;AAAA,UACN,cAAc;AAAA,UACd,qBAAqB;AAAA,UACrB,wBAAwB;AAAA,QAAA;AAAA,MACzB;AAAA,IAAA;AAGF,WACC,gBAAAK;AAAA,MAACC;AAAA,MAAA;AAAA,QACA,MAAM;AAAA,QACN,UAAAP;AAAA,QACA,cAAY;AAAA,QACZ,gBAAgBC,GAAiB,kBAAkB;AAAA,QACnD,gBAAgBA,GAAiB,QAAQ;AAAA,QAExC,UAAA;AAAA,UAAAC,IACA,gBAAAE;AAAA,YAACI;AAAA,YAAA;AAAA,cACA,MAAMN,EAAkB;AAAA,cACxB,gBAAgBA,EAAkB;AAAA,cAClC,WAAWA,EAAkB;AAAA,cAE5B,UAAAC;AAAA,YAAA;AAAA,UAAA,IAGFA;AAAA,UAED,gBAAAC,EAAC,OAAA,EAAI,WAAU,oBAAA,CAAoB;AAAA,UACnC,gBAAAA,EAAC,OAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,YAAY,SAAA,GAC1C,4BAACK,GAAA,EAAiB,GAAGX,EAAM,eAAe,gBAAgB,IACzD,UAAA,gBAAAM;AAAA,YAACC;AAAA,YAAA;AAAA,cACA,MAAMP,EAAM;AAAA,cACZ,gBAAgBG,GAAiB,kBAAkB;AAAA,cACnD,MAAMA,GAAiB;AAAA,cACvB,UAAAD;AAAA,cACA,OAAO;AAAA,gBACN,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,sBAAsB;AAAA,gBACtB,yBAAyB;AAAA,cAAA;AAAA,YAC1B;AAAA,UAAA,GAEF,EAAA,CACD;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGH;AAEA,QAAM;AAAA,IACL,SAAAU;AAAA,IACA,aAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACAjB,EAAM;AAEV,SACC,gBAAAQ;AAAA,IAACC;AAAA,IAAA;AAAA,MACA,MAAMT,EAAM,YAAa;AAAA,MACzB,UAAUA,EAAM,YAAa;AAAA,MAC7B,MAAMA,EAAM,YAAa;AAAA,MAExB,UAAA;AAAA,QAAAA,EAAM,aAAa,aACnB,gBAAAM,EAACY,KAAgB,MAAMlB,EAAM,YAAY,YACxC,UAAA,gBAAAM;AAAA,UAACa;AAAA,UAAA;AAAA,YACA,WAAU;AAAA,YACV,MAAK;AAAA,YACL,OAAOC;AAAA,cACNpB,EAAM,YAAY,cAAc;AAAA,cAChCA,EAAM,YAAY;AAAA,YAAA;AAAA,UACnB;AAAA,QAAA,GAEF;AAAA,QAGD,gBAAAM;AAAA,UAACe;AAAA,UAAA;AAAA,YACC,GAAGrB,EAAM;AAAA,YACV,WAAW;AAAA,YACX,OAAO;AAAA,cACN,cAAc;AAAA,cACd,qBAAqB;AAAA,cACrB,wBAAwB;AAAA,cACxB,aAAa;AAAA,cACb,GAAIA,EAAM,aAAa,SAAS,OAC7B,EAAE,QAAQ,QAAQ,cAAc,
|
|
1
|
+
{"version":3,"file":"DropdownButton.js","sources":["../../../../src/components/dropdown-button/DropdownButton.tsx"],"sourcesContent":["import React from 'react';\nimport { DropdownPopover, DropdownProps } from '@src/components/dropdown';\nimport { Button } from '../button';\nimport { ButtonProps } from '../button/model';\nimport { SpinnerColorMap } from '../button/themes';\nimport { IconButton } from '../icon-button';\nimport { IconButtonProps } from '../icon-button/model';\nimport { Spinner } from '../spinner';\nimport { Placement, Tooltip } from '../tooltips';\nimport { DropdownButtonStyle, LoaderContainer } from './DropdownButton.style';\n\nexport interface DropdownButtonProps {\n\tdropdownProps: DropdownProps;\n\ticonProps: React.FunctionComponent<React.SVGAttributes<SVGElement>>;\n\tbuttonProps?: ButtonProps;\n\ticonButtonProps?: IconButtonProps;\n\t/**\n\t * Optional tooltip shown only on the main icon button (icon mode),\n\t * not on the dropdown/chevron trigger.\n\t */\n\ticonButtonTooltip?: {\n\t\tbody?: string;\n\t\ttooltipContent?: JSX.Element;\n\t\tplacement?: Placement;\n\t};\n}\n\nexport const DropdownButton: React.FC<DropdownButtonProps> = (props) => {\n\tconst isIconMode = !!props.iconButtonProps;\n\tconst disabled = isIconMode\n\t\t? props.iconButtonProps?.disabled\n\t\t: props.buttonProps?.disabled;\n\n\tif (isIconMode) {\n\t\tconst { iconButtonProps, iconButtonTooltip } = props;\n\t\tconst iconButton = (\n\t\t\t<IconButton\n\t\t\t\t{...iconButtonProps!}\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '0px',\n\t\t\t\t\tborderTopLeftRadius: '4px',\n\t\t\t\t\tborderBottomLeftRadius: '4px',\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t\treturn (\n\t\t\t<DropdownButtonStyle\n\t\t\t\ttype={undefined}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tisIconButton\n\t\t\t\ticonButtonType={iconButtonProps?.iconButtonType ?? 'primary'}\n\t\t\t\ticonButtonSize={iconButtonProps?.size ?? 'default'}\n\t\t\t>\n\t\t\t\t{iconButtonTooltip ? (\n\t\t\t\t\t<Tooltip\n\t\t\t\t\t\tbody={iconButtonTooltip.body}\n\t\t\t\t\t\ttooltipContent={iconButtonTooltip.tooltipContent}\n\t\t\t\t\t\tplacement={iconButtonTooltip.placement}\n\t\t\t\t\t>\n\t\t\t\t\t\t{iconButton}\n\t\t\t\t\t</Tooltip>\n\t\t\t\t) : (\n\t\t\t\t\ticonButton\n\t\t\t\t)}\n\t\t\t\t<div className=\"dd-button-divider\"></div>\n\t\t\t\t<div style={{ display: 'flex', alignItems: 'center' }}>\n\t\t\t\t\t<DropdownPopover {...props.dropdownProps} isChildLoading={false}>\n\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\tIcon={props.iconProps}\n\t\t\t\t\t\t\ticonButtonType={iconButtonProps?.iconButtonType ?? 'primary'}\n\t\t\t\t\t\t\tsize={iconButtonProps?.size}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tborderRadius: '0px',\n\t\t\t\t\t\t\t\tborderTopRightRadius: '4px',\n\t\t\t\t\t\t\t\tborderBottomRightRadius: '4px',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</DropdownPopover>\n\t\t\t\t</div>\n\t\t\t</DropdownButtonStyle>\n\t\t);\n\t}\n\n\tconst {\n\t\tonClick,\n\t\tLeadingIcon,\n\t\tLeadingIconStyles,\n\t\tIconComponent,\n\t\tTrailingIcon,\n\t\t...childButtonProps\n\t} = props.buttonProps!;\n\n\treturn (\n\t\t<DropdownButtonStyle\n\t\t\ttype={props.buttonProps!.buttonType}\n\t\t\tdisabled={props.buttonProps!.disabled}\n\t\t\tsize={props.buttonProps!.size}\n\t\t>\n\t\t\t{props.buttonProps?.isLoading && (\n\t\t\t\t<LoaderContainer type={props.buttonProps.buttonType}>\n\t\t\t\t\t<Spinner\n\t\t\t\t\t\tclassName=\"spinner\"\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\tcolor={SpinnerColorMap(\n\t\t\t\t\t\t\tprops.buttonProps.buttonType || 'primary',\n\t\t\t\t\t\t\tprops.buttonProps.inverse,\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</LoaderContainer>\n\t\t\t)}\n\n\t\t\t<Button\n\t\t\t\t{...props.buttonProps!}\n\t\t\t\tisLoading={false}\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '0px',\n\t\t\t\t\tborderTopLeftRadius: '4px',\n\t\t\t\t\tborderBottomLeftRadius: '4px',\n\t\t\t\t\tborderRight: '0px',\n\t\t\t\t\t...(props.buttonProps?.size === 'xs'\n\t\t\t\t\t\t? { border: 'none', boxShadow: 'none', borderRadius: '0px' }\n\t\t\t\t\t\t: {}),\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div className=\"dd-button-divider\"></div>\n\t\t\t<DropdownPopover\n\t\t\t\t{...props.dropdownProps}\n\t\t\t\tisChildLoading={props.buttonProps?.isLoading}\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\t{...childButtonProps}\n\t\t\t\t\tisLoading={false}\n\t\t\t\t\tbuttonText={''}\n\t\t\t\t\tTrailingIcon={props.iconProps}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tborderRadius: '0px',\n\t\t\t\t\t\tborderTopRightRadius: '4px',\n\t\t\t\t\t\tborderBottomRightRadius: '4px',\n\t\t\t\t\t\t...(props.buttonProps?.size === 'xs'\n\t\t\t\t\t\t\t? { border: 'none', boxShadow: 'none', borderRadius: '0px' }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t</DropdownPopover>\n\t\t</DropdownButtonStyle>\n\t);\n};\n"],"names":["DropdownButton","props","isIconMode","disabled","iconButtonProps","iconButtonTooltip","iconButton","jsx","IconButton","jsxs","DropdownButtonStyle","Tooltip","DropdownPopover","onClick","LeadingIcon","LeadingIconStyles","IconComponent","TrailingIcon","childButtonProps","LoaderContainer","Spinner","SpinnerColorMap","Button"],"mappings":"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"}
|