@bikdotai/bik-component-library 0.0.840-tools-beta.4 → 0.0.840

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.
Files changed (88) hide show
  1. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  2. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  3. package/dist/cjs/components/SearchFilter/index.js +1 -1
  4. package/dist/cjs/components/SearchFilter/index.js.map +1 -1
  5. package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
  6. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js +1 -1
  7. package/dist/cjs/components/analytics-chips-and-dropdowns/AnalyticsChip.js.map +1 -1
  8. package/dist/cjs/components/button/themes.js +11 -11
  9. package/dist/cjs/components/button/themes.js.map +1 -1
  10. package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js +1 -1
  11. package/dist/cjs/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
  12. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  13. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  14. package/dist/cjs/components/input/Input.js +1 -1
  15. package/dist/cjs/components/input/Input.js.map +1 -1
  16. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  17. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  18. package/dist/cjs/components/radioButton/RadioButton.js +1 -1
  19. package/dist/cjs/components/radioButton/RadioButton.js.map +1 -1
  20. package/dist/cjs/components/radioList/RadioList.js +1 -1
  21. package/dist/cjs/components/radioList/RadioList.js.map +1 -1
  22. package/dist/cjs/components/searchBar/searchBar.js +1 -1
  23. package/dist/cjs/components/searchBar/searchBar.js.map +1 -1
  24. package/dist/cjs/components/side-modal/SideModal.js +1 -1
  25. package/dist/cjs/components/side-modal/SideModal.js.map +1 -1
  26. package/dist/cjs/components/star-rating/Star.js +1 -1
  27. package/dist/cjs/components/star-rating/Star.js.map +1 -1
  28. package/dist/cjs/components/star-rating/StarRating.js +2 -2
  29. package/dist/cjs/components/star-rating/StarRating.js.map +1 -1
  30. package/dist/cjs/components/template-preview/TemplatePreview.js +1 -1
  31. package/dist/cjs/components/template-preview/TemplatePreview.js.map +1 -1
  32. package/dist/cjs/components/thumbnail/Thumbnail.js +1 -1
  33. package/dist/cjs/components/thumbnail/Thumbnail.js.map +1 -1
  34. package/dist/cjs/components/zeroState/ZeroState.js +3 -3
  35. package/dist/cjs/components/zeroState/ZeroState.js.map +1 -1
  36. package/dist/cjs/icons/Media/Visual/FormkitNeutral.js +2 -0
  37. package/dist/cjs/icons/Media/Visual/FormkitNeutral.js.map +1 -0
  38. package/dist/cjs/icons/Media/Visual/FormkitSad.js +2 -0
  39. package/dist/cjs/icons/Media/Visual/FormkitSad.js.map +1 -0
  40. package/dist/cjs/icons/index.js +1 -1
  41. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +66 -61
  42. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  43. package/dist/esm/components/SearchFilter/index.js +11 -10
  44. package/dist/esm/components/SearchFilter/index.js.map +1 -1
  45. package/dist/esm/components/agent-builder/constants/tools.d.ts +7 -0
  46. package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
  47. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js +11 -10
  48. package/dist/esm/components/analytics-chips-and-dropdowns/AnalyticsChip.js.map +1 -1
  49. package/dist/esm/components/button/themes.d.ts +1 -0
  50. package/dist/esm/components/button/themes.js +61 -51
  51. package/dist/esm/components/button/themes.js.map +1 -1
  52. package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js +28 -21
  53. package/dist/esm/components/dashboard-review-popup/DashboardReviewPopUp.js.map +1 -1
  54. package/dist/esm/components/dropdown-button/DropdownButton.js +13 -13
  55. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  56. package/dist/esm/components/input/Input.js +35 -34
  57. package/dist/esm/components/input/Input.js.map +1 -1
  58. package/dist/esm/components/input/Input.model.d.ts +1 -0
  59. package/dist/esm/components/multi-level-dropdown/MenuItem.js +28 -27
  60. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  61. package/dist/esm/components/radioButton/RadioButton.js +10 -9
  62. package/dist/esm/components/radioButton/RadioButton.js.map +1 -1
  63. package/dist/esm/components/radioList/RadioList.js +28 -19
  64. package/dist/esm/components/radioList/RadioList.js.map +1 -1
  65. package/dist/esm/components/searchBar/searchBar.js +11 -10
  66. package/dist/esm/components/searchBar/searchBar.js.map +1 -1
  67. package/dist/esm/components/side-modal/SideModal.js +13 -5
  68. package/dist/esm/components/side-modal/SideModal.js.map +1 -1
  69. package/dist/esm/components/star-rating/Star.d.ts +1 -0
  70. package/dist/esm/components/star-rating/Star.js +32 -27
  71. package/dist/esm/components/star-rating/Star.js.map +1 -1
  72. package/dist/esm/components/star-rating/StarRating.js +17 -16
  73. package/dist/esm/components/star-rating/StarRating.js.map +1 -1
  74. package/dist/esm/components/template-preview/TemplatePreview.js +41 -40
  75. package/dist/esm/components/template-preview/TemplatePreview.js.map +1 -1
  76. package/dist/esm/components/thumbnail/Thumbnail.js +3 -3
  77. package/dist/esm/components/thumbnail/Thumbnail.js.map +1 -1
  78. package/dist/esm/components/zeroState/ZeroState.js +20 -13
  79. package/dist/esm/components/zeroState/ZeroState.js.map +1 -1
  80. package/dist/esm/icons/Media/Visual/FormkitNeutral.js +58 -0
  81. package/dist/esm/icons/Media/Visual/FormkitNeutral.js.map +1 -0
  82. package/dist/esm/icons/Media/Visual/FormkitSad.js +61 -0
  83. package/dist/esm/icons/Media/Visual/FormkitSad.js.map +1 -0
  84. package/dist/esm/icons/Media/Visual/index.d.ts +2 -0
  85. package/dist/esm/icons/index.d.ts +25 -25
  86. package/dist/esm/icons/index.js +420 -416
  87. package/dist/esm/icons/index.js.map +1 -1
  88. package/package.json +3 -3
@@ -1,10 +1,10 @@
1
1
  import { jsx as t, jsxs as s } from "react/jsx-runtime";
2
- import { DropdownPopover as u } from "../dropdown/DropdownPopover/index.js";
2
+ import { DropdownPopover as a } from "../dropdown/DropdownPopover/index.js";
3
3
  import { SpinnerColorMap as p } from "../button/themes.js";
4
- import { DropdownButtonStyle as a, LoaderContainer as m } from "./DropdownButton.style.js";
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 y } from "../tooltips/Tooltip.js";
7
- import { Spinner as x } from "../spinner/Spinner.js";
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
- a,
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
- y,
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(u, { ...o.dropdownProps, isChildLoading: !1, 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: g,
66
+ TrailingIcon: h,
67
67
  ...c
68
68
  } = o.buttonProps;
69
69
  return /* @__PURE__ */ s(
70
- a,
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
- x,
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
- u,
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":"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"}
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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"}
@@ -12,15 +12,15 @@ import { Tooltip as qe } from "../tooltips/Tooltip.js";
12
12
  const Ge = Ee(
13
13
  (e, ae) => {
14
14
  const {
15
- placeholder: E,
16
- leftIcon: H,
17
- rightIcon: _,
18
- labelText: y,
15
+ placeholder: H,
16
+ leftIcon: _,
17
+ rightIcon: y,
18
+ labelText: T,
19
19
  maxCharLimit: l,
20
20
  isRequired: k,
21
21
  hintText: A,
22
22
  type: c,
23
- state: T,
23
+ state: b,
24
24
  validate: oe,
25
25
  variant: o,
26
26
  button: h,
@@ -35,8 +35,8 @@ const Ge = Ee(
35
35
  version: ue,
36
36
  noMaxCharCheck: O,
37
37
  labelElement: P,
38
- autoGrow: b,
39
- minHeight: M,
38
+ autoGrow: M,
39
+ minHeight: S,
40
40
  maxHeight: de,
41
41
  labelTextBold: fe,
42
42
  truncateText: me,
@@ -60,9 +60,9 @@ const Ge = Ee(
60
60
  minCharsToTrigger: 0,
61
61
  maxCharAlignment: !1,
62
62
  ...e
63
- }, X = H?.icon, U = _?.icon, [S, I] = v(!1), [be, p] = v(!1), [u, j] = v(), q = o === "x-small" ? "12px" : o === "small" ? "18px" : "22px", C = He(Oe), [G, w] = v(""), Me = _e(null), r = ae ?? Me;
63
+ }, X = _?.icon, U = y?.icon, [p, I] = v(!1), [be, w] = v(!1), [u, j] = v(), q = o === "x-small" ? "12px" : o === "small" ? "18px" : "22px", C = He(Oe), [G, L] = v(""), Me = _e(null), r = ae ?? Me;
64
64
  d(() => {
65
- w(m || ""), !m && b && (r.current.style.height = M || "48px");
65
+ L(m || ""), !m && M && (r.current.style.height = S || "48px");
66
66
  }, [m]), d(() => {
67
67
  r.current && e.onReferenceInit?.(r.current);
68
68
  }, [r]), d(() => {
@@ -72,9 +72,9 @@ const Ge = Ee(
72
72
  t.removeEventListener("wheel", J);
73
73
  };
74
74
  }, []), d(() => {
75
- D && w("");
75
+ D && L("");
76
76
  }, [D]), d(() => {
77
- p(!!e.isActive), e.isActive && r.current?.focus();
77
+ w(!!e.isActive), e.isActive && r.current?.focus();
78
78
  }, [e.isActive]), d(() => {
79
79
  j(e.errorMessage);
80
80
  }, [e.errorMessage]), d(() => {
@@ -92,9 +92,9 @@ const Ge = Ee(
92
92
  }, Q = (t) => {
93
93
  let i = t.target.value;
94
94
  const g = l !== 0 ? l + 1 : Y(), x = V;
95
- if (!ye && ke(c) && (i = Ae(i)), !O && g > 0 && i.length >= g && (i = i.substring(0, g - 1)), e.textControl || w(i || ""), x && i && i.length < x)
95
+ if (!ye && ke(c) && (i = Ae(i)), !O && g > 0 && i.length >= g && (i = i.substring(0, g - 1)), e.textControl || L(i || ""), x && i && i.length < x)
96
96
  return;
97
- B(i, t), b && (r.current.style.height = `${r.current.scrollHeight}px`, i || (r.current.style.height = M || "48px"));
97
+ B(i, t), M && (r.current.style.height = `${r.current.scrollHeight}px`, i || (r.current.style.height = S || "48px"));
98
98
  const s = oe || Re;
99
99
  if (!s || !te(s))
100
100
  return;
@@ -105,10 +105,10 @@ const Ge = Ee(
105
105
  );
106
106
  I(!Se), j(e.errorMessage ? e.errorMessage : pe);
107
107
  }, Z = (t) => {
108
- e.skipFocus || p(!0), f(e.onFocus?.(t));
108
+ e.skipFocus || w(!0), f(e.onFocus?.(t));
109
109
  }, ee = (t) => {
110
- e.skipFocus || p(!1), f(e.onBlur?.(t));
111
- }, L = () => /* @__PURE__ */ a(we, { children: [
110
+ e.skipFocus || w(!1), f(e.onBlur?.(t));
111
+ }, E = () => /* @__PURE__ */ a(we, { children: [
112
112
  c !== "multiline" && /* @__PURE__ */ n(
113
113
  "input",
114
114
  {
@@ -122,7 +122,7 @@ const Ge = Ee(
122
122
  value: G,
123
123
  onFocus: (t) => Z(t),
124
124
  onBlur: (t) => ee(t),
125
- placeholder: E || "Enter here",
125
+ placeholder: H || "Enter here",
126
126
  onChange: Q,
127
127
  onClick: (t) => f(e.onClick),
128
128
  onKeyDown: (t) => $(t)
@@ -138,7 +138,7 @@ const Ge = Ee(
138
138
  onBlur: (t) => ee(t),
139
139
  onClick: (t) => f(e.onClick),
140
140
  disabled: W,
141
- placeholder: E || "Enter here",
141
+ placeholder: H || "Enter here",
142
142
  onChange: Q,
143
143
  onKeyDown: (t) => $(t),
144
144
  maxLength: l > 0 ? l : void 0
@@ -150,7 +150,7 @@ const Ge = Ee(
150
150
  {
151
151
  width: e.width,
152
152
  height: e.height,
153
- state: T,
153
+ state: b,
154
154
  type: c,
155
155
  style: C?.RootContainer ?? {},
156
156
  children: [
@@ -169,10 +169,10 @@ const Ge = Ee(
169
169
  Ke,
170
170
  {
171
171
  variant: o,
172
- state: T,
172
+ state: b,
173
173
  width: e.width,
174
- isActive: T === "active" || be,
175
- isInvalid: S,
174
+ isActive: b === "active" || be,
175
+ isInvalid: p,
176
176
  style: C?.InputWrapper ?? Ce ?? {},
177
177
  version: ue,
178
178
  height: e.height,
@@ -184,7 +184,7 @@ const Ge = Ee(
184
184
  {
185
185
  variant: o,
186
186
  iconSize: q,
187
- onClick: () => f(H?.callback),
187
+ onClick: () => f(_?.callback),
188
188
  isLeft: !0,
189
189
  style: {
190
190
  ...C?.IconHolder ?? {},
@@ -199,21 +199,22 @@ const Ge = Ee(
199
199
  {
200
200
  height: e.height,
201
201
  type: e.type,
202
- minHeight: M,
202
+ minHeight: S,
203
203
  maxHeight: de,
204
- autoGrow: b,
205
- children: L()
204
+ autoGrow: M,
205
+ children: E()
206
206
  }
207
207
  ),
208
- o === "small" && /* @__PURE__ */ n(We, { height: e.height, type: e.type, children: L() }),
209
- o === "x-small" && /* @__PURE__ */ n(Xe, { height: e.height, type: e.type, children: L() }),
208
+ o === "small" && /* @__PURE__ */ n(We, { height: e.height, type: e.type, children: E() }),
209
+ o === "x-small" && /* @__PURE__ */ n(Xe, { height: e.height, type: e.type, children: E() }),
210
210
  !!U && /* @__PURE__ */ n(
211
211
  re,
212
212
  {
213
213
  variant: o,
214
214
  iconSize: q,
215
- onClick: () => f(_?.callback),
215
+ onClick: () => f(y?.callback),
216
216
  isLeft: !1,
217
+ "data-test": y?.["data-test"],
217
218
  children: /* @__PURE__ */ n(U, {})
218
219
  }
219
220
  ),
@@ -230,19 +231,19 @@ const Ge = Ee(
230
231
  ]
231
232
  }
232
233
  ),
233
- !xe && (!!y || !!l) && /* @__PURE__ */ a(
234
+ !xe && (!!T || !!l) && /* @__PURE__ */ a(
234
235
  je,
235
236
  {
236
- invalid: S,
237
+ invalid: p,
237
238
  maxCharAlignment: ve,
238
239
  children: [
239
240
  P && P,
240
241
  /* @__PURE__ */ a("div", { className: "label__container", children: [
241
242
  fe ? /* @__PURE__ */ a(Fe, { children: [
242
- y,
243
+ T,
243
244
  k ? /* @__PURE__ */ n("span", { children: "*" }) : ""
244
245
  ] }) : /* @__PURE__ */ a(Be, { children: [
245
- y,
246
+ T,
246
247
  k ? /* @__PURE__ */ n("span", { children: "*" }) : ""
247
248
  ] }),
248
249
  e.tooltipText && /* @__PURE__ */ n(qe, { body: e.tooltipText, placement: "top", children: /* @__PURE__ */ n("span", { children: /* @__PURE__ */ n(
@@ -251,7 +252,7 @@ const Ge = Ee(
251
252
  style: { marginTop: -3 },
252
253
  width: 18,
253
254
  height: 18,
254
- color: S ? ne.content.negative : ne.content.primary
255
+ color: p ? ne.content.negative : ne.content.primary
255
256
  }
256
257
  ) }) })
257
258
  ] }),
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../../../src/components/input/Input.tsx"],"sourcesContent":["import InfoIcon from '@src/assets/icons/info.svg';\nimport React, {\n\tforwardRef,\n\tMutableRefObject,\n\tRef,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { Button } from '@src/components/button';\nimport {\n\tisFunction,\n\tsanitizeUnsafeInput,\n\tshouldSanitizeForType,\n\tvalidateInput,\n} from '@src/components/input/Input-helper';\nimport { Tooltip } from '@src/components/tooltips';\nimport { BodySecondary, TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport ErrorIcon from '../../assets/icons/errorInfo.svg';\nimport { InputStyleContext } from './context/InputStyleProvider';\nimport { InputProps, InputTypeI, InputVariant } from './Input.model';\nimport * as SC from './Input.styled';\nimport { PrefixHolder, SuffixHolder } from './Input.styled';\n\nexport const Input = forwardRef(\n\t(\n\t\tprops: InputProps,\n\t\tfRef: React.ForwardedRef<HTMLInputElement | HTMLTextAreaElement | null>,\n\t) => {\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\tleftIcon,\n\t\t\trightIcon,\n\t\t\tlabelText,\n\t\t\tmaxCharLimit,\n\t\t\tisRequired,\n\t\t\thintText,\n\t\t\ttype,\n\t\t\tstate,\n\t\t\tvalidate,\n\t\t\tvariant,\n\t\t\tbutton,\n\t\t\tsuffixText,\n\t\t\tprefixText,\n\t\t\tonChangeText,\n\t\t\tvalue,\n\t\t\tnoErrorHint,\n\t\t\treset,\n\t\t\trangeValidation,\n\t\t\tnoKeyDownChange,\n\t\t\tversion,\n\t\t\tnoMaxCharCheck,\n\t\t\tlabelElement,\n\t\t\tautoGrow,\n\t\t\tminHeight,\n\t\t\tmaxHeight,\n\t\t\tlabelTextBold,\n\t\t\ttruncateText,\n\t\t\tmaxCharLimitPosition,\n\t\t\tmaxCharStyle,\n\t\t\thightlightInputColor,\n\t\t\tonKeyDownEvent,\n\t\t\thideInputHeader,\n\t\t\thideBorder,\n\t\t\tinputWrapperStyles,\n\t\t\tminCharsToTrigger,\n\t\t\tmaxCharAlignment,\n\t\t\tisDisabled = false,\n\t\t\tallowUnsafeInput,\n\t\t\tleftIconStyle,\n\t\t} = {\n\t\t\tmaxCharLimit: 0,\n\t\t\ttype: 'text' as InputTypeI,\n\t\t\tvariant: 'default' as InputVariant,\n\t\t\tmaxCharLimitPosition: 'TOP',\n\t\t\tminCharsToTrigger: 0,\n\t\t\tmaxCharAlignment: false,\n\t\t\t...props,\n\t\t};\n\t\tconst LeftIcon = leftIcon?.icon;\n\t\tconst RightIcon = rightIcon?.icon;\n\t\tconst [isInvalid, setIsInvalid] = useState<boolean>(false);\n\t\tconst [isActive, setIsActive] = useState<boolean>(false);\n\t\tconst [errorMessage, setErrorMessage] = useState<string>();\n\t\tconst iconSize =\n\t\t\tvariant === 'x-small' ? '12px' : variant === 'small' ? '18px' : '22px';\n\t\tconst stylesFromOutside = useContext(InputStyleContext);\n\t\tconst [inputValue, setInputValue] = useState<string>('');\n\t\tconst _ref = useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\t\tconst inputRef: MutableRefObject<HTMLInputElement | HTMLTextAreaElement> =\n\t\t\t(fRef ?? _ref) as MutableRefObject<\n\t\t\t\tHTMLInputElement | HTMLTextAreaElement\n\t\t\t>;\n\n\t\tuseEffect(() => {\n\t\t\tsetInputValue(value || '');\n\t\t\tif (!value && autoGrow) {\n\t\t\t\tinputRef.current.style.height = minHeight || '48px';\n\t\t\t}\n\t\t}, [value]);\n\n\t\tuseEffect(() => {\n\t\t\tif (!inputRef.current) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tprops.onReferenceInit?.(inputRef.current);\n\t\t}, [inputRef]);\n\n\t\tuseEffect(() => {\n\t\t\tconst numberInput = inputRef.current;\n\t\t\tif (numberInput && ['phonenumber', 'zip', 'number'].includes(type)) {\n\t\t\t\tnumberInput.addEventListener('wheel', onWheel, { passive: false });\n\n\t\t\t\treturn () => {\n\t\t\t\t\tnumberInput.removeEventListener('wheel', onWheel);\n\t\t\t\t};\n\t\t\t}\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tif (!reset) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetInputValue('');\n\t\t}, [reset]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsActive(!!props.isActive);\n\t\t\tif (props.isActive) {\n\t\t\t\tinputRef.current?.focus();\n\t\t\t}\n\t\t}, [props.isActive]);\n\n\t\tuseEffect(() => {\n\t\t\tsetErrorMessage(props.errorMessage);\n\t\t}, [props.errorMessage]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsInvalid(false);\n\t\t\tif (\n\t\t\t\tprops.state === 'invalid' ||\n\t\t\t\terrorMessage ||\n\t\t\t\tprops.state === 'disabled-invalid'\n\t\t\t) {\n\t\t\t\tsetIsInvalid(true);\n\t\t\t}\n\t\t\tif (props.state === 'active') {\n\t\t\t\tinputRef.current?.focus();\n\t\t\t}\n\t\t}, [props.state, errorMessage]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsInvalid(!!errorMessage || props.state === 'invalid');\n\t\t}, [errorMessage, props.state]);\n\n\t\tconst executeCallback = (cb: any, ...params: any[]): void => {\n\t\t\tif (!isFunction(cb)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcb(...params);\n\t\t};\n\n\t\tconst getMaxChar = () => {\n\t\t\tif (type === 'zip') {\n\t\t\t\treturn 6;\n\t\t\t}\n\t\t\treturn 2000;\n\t\t};\n\n\t\tconst onKeyDown = (e) => {\n\t\t\tconst MAX_CHAR_LIMIT = maxCharLimit !== 0 ? maxCharLimit : getMaxChar();\n\t\t\tconst KEY_CODES_TO_BE_EXCLUDED = [8];\n\t\t\tconst MIN_CHAR_LIMIT = minCharsToTrigger;\n\t\t\tconst inputText = e.target.value;\n\t\t\tif (\n\t\t\t\tonKeyDownEvent &&\n\t\t\t\t(!inputText.length || inputText.length >= MIN_CHAR_LIMIT)\n\t\t\t) {\n\t\t\t\tonKeyDownEvent(e);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!noKeyDownChange &&\n\t\t\t\t(!inputText.length || inputText.length >= MIN_CHAR_LIMIT)\n\t\t\t) {\n\t\t\t\tonChangeText(value || '', e);\n\t\t\t}\n\t\t\tif (noMaxCharCheck) return;\n\n\t\t\tif (\n\t\t\t\t!KEY_CODES_TO_BE_EXCLUDED.includes(e.which) &&\n\t\t\t\tMAX_CHAR_LIMIT > 0 &&\n\t\t\t\tinputText.length >= MAX_CHAR_LIMIT\n\t\t\t) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t};\n\n\t\tconst onWheel = (event) => {\n\t\t\tevent.preventDefault(); // Prevent the default scroll behavior\n\t\t};\n\n\t\tconst onChange = (e) => {\n\t\t\tlet inputText = e.target.value;\n\t\t\tconst MAX_CHAR_LIMIT =\n\t\t\t\tmaxCharLimit !== 0 ? maxCharLimit + 1 : getMaxChar();\n\t\t\tconst MIN_CHAR_LIMIT = minCharsToTrigger;\n\n\t\t\tif (!allowUnsafeInput && shouldSanitizeForType(type)) {\n\t\t\t\tinputText = sanitizeUnsafeInput(inputText);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!noMaxCharCheck &&\n\t\t\t\tMAX_CHAR_LIMIT > 0 &&\n\t\t\t\tinputText.length >= MAX_CHAR_LIMIT\n\t\t\t) {\n\t\t\t\t// letting user to copy paste text upto max limit instead of blank action\n\t\t\t\tinputText = inputText.substring(0, MAX_CHAR_LIMIT - 1);\n\t\t\t}\n\n\t\t\tif (!props.textControl) {\n\t\t\t\tsetInputValue(inputText || '');\n\t\t\t}\n\t\t\tif (MIN_CHAR_LIMIT && inputText && inputText.length < MIN_CHAR_LIMIT) {\n\t\t\t\t// if minCharsToTrigger exists and is not reached, do nothing\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonChangeText(inputText, e);\n\t\t\tif (autoGrow) {\n\t\t\t\tinputRef.current.style.height = `${inputRef.current.scrollHeight}px`;\n\t\t\t\tif (!inputText) {\n\t\t\t\t\tinputRef.current.style.height = minHeight || '48px';\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst validateFunction = validate || validateInput;\n\t\t\tif (!validateFunction || !isFunction(validateFunction)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [isValid, error] = validateFunction(\n\t\t\t\tinputText,\n\t\t\t\ttype,\n\t\t\t\trangeValidation,\n\t\t\t);\n\n\t\t\tsetIsInvalid(!isValid);\n\t\t\tsetErrorMessage(props.errorMessage ? props.errorMessage : error);\n\t\t};\n\n\t\tconst onFocus = (e) => {\n\t\t\tif (!props.skipFocus) {\n\t\t\t\tsetIsActive(true);\n\t\t\t}\n\t\t\texecuteCallback(props.onFocus?.(e));\n\t\t};\n\n\t\tconst onBlur = (e) => {\n\t\t\tif (!props.skipFocus) {\n\t\t\t\tsetIsActive(false);\n\t\t\t}\n\t\t\texecuteCallback(props.onBlur?.(e));\n\t\t};\n\n\t\tconst getInputHTML = () => {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{type !== 'multiline' && (\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclassName={truncateText ? 'truncate-class' : ''}\n\t\t\t\t\t\t\tdata-test={props['data-test']}\n\t\t\t\t\t\t\tid={props.id}\n\t\t\t\t\t\t\tstyle={stylesFromOutside?.input ?? {}}\n\t\t\t\t\t\t\tref={inputRef as Ref<HTMLInputElement>}\n\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\ttype={\n\t\t\t\t\t\t\t\t['phonenumber', 'zip', 'number'].includes(type)\n\t\t\t\t\t\t\t\t\t? 'number'\n\t\t\t\t\t\t\t\t\t: type\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\tonFocus={(e) => onFocus(e)}\n\t\t\t\t\t\t\tonBlur={(e) => onBlur(e)}\n\t\t\t\t\t\t\tplaceholder={placeholder || 'Enter here'}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\tonClick={(e) => executeCallback(props.onClick)}\n\t\t\t\t\t\t\tonKeyDown={(e) => onKeyDown(e)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{type === 'multiline' && (\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tdata-test={props['data-test']}\n\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\tref={inputRef as Ref<HTMLTextAreaElement>}\n\t\t\t\t\t\t\tonFocus={(e) => onFocus(e)}\n\t\t\t\t\t\t\tonBlur={(e) => onBlur(e)}\n\t\t\t\t\t\t\tonClick={(e) => executeCallback(props.onClick)}\n\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\tplaceholder={placeholder || 'Enter here'}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\tonKeyDown={(e) => onKeyDown(e)}\n\t\t\t\t\t\t\tmaxLength={maxCharLimit > 0 ? maxCharLimit : undefined}\n\t\t\t\t\t\t/>\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<SC.RootContainer\n\t\t\t\twidth={props.width}\n\t\t\t\theight={props.height}\n\t\t\t\tstate={state}\n\t\t\t\ttype={type}\n\t\t\t\tstyle={stylesFromOutside?.RootContainer ?? {}}\n\t\t\t>\n\t\t\t\t<div className=\"flex-align-center\">\n\t\t\t\t\t{!noErrorHint && (!!hintText || !!errorMessage) && (\n\t\t\t\t\t\t<SC.InputFooter invalid={!!errorMessage}>\n\t\t\t\t\t\t\t{!!errorMessage && <ErrorIcon width={16} height={16} />}\n\t\t\t\t\t\t\t{errorMessage || hintText}\n\t\t\t\t\t\t</SC.InputFooter>\n\t\t\t\t\t)}\n\t\t\t\t\t{maxCharLimit > 0 && maxCharLimitPosition === 'BOTTOM' && (\n\t\t\t\t\t\t<SC.MaxCharStyle position={'BOTTOM'} style={maxCharStyle}>\n\t\t\t\t\t\t\t{(value ?? '').toString()?.length ?? 0}/{maxCharLimit}\n\t\t\t\t\t\t</SC.MaxCharStyle>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<SC.InputWrapper\n\t\t\t\t\tvariant={variant}\n\t\t\t\t\tstate={state}\n\t\t\t\t\twidth={props.width}\n\t\t\t\t\tisActive={state === 'active' || isActive}\n\t\t\t\t\tisInvalid={isInvalid}\n\t\t\t\t\tstyle={stylesFromOutside?.InputWrapper ?? inputWrapperStyles ?? {}}\n\t\t\t\t\tversion={version}\n\t\t\t\t\theight={props.height}\n\t\t\t\t\thightlightInputColor={hightlightInputColor}\n\t\t\t\t\thideBorder={hideBorder}\n\t\t\t\t>\n\t\t\t\t\t{!!LeftIcon && (\n\t\t\t\t\t\t<SC.IconHolder\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\ticonSize={iconSize}\n\t\t\t\t\t\t\tonClick={() => executeCallback(leftIcon?.callback)}\n\t\t\t\t\t\t\tisLeft={true}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...(stylesFromOutside?.IconHolder ?? {}),\n\t\t\t\t\t\t\t\t...leftIconStyle,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LeftIcon />\n\t\t\t\t\t\t</SC.IconHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!prefixText && (\n\t\t\t\t\t\t<PrefixHolder variant={variant}>{prefixText}</PrefixHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'default' && (\n\t\t\t\t\t\t<SC.InputContainer\n\t\t\t\t\t\t\theight={props.height}\n\t\t\t\t\t\t\ttype={props.type}\n\t\t\t\t\t\t\tminHeight={minHeight}\n\t\t\t\t\t\t\tmaxHeight={maxHeight}\n\t\t\t\t\t\t\tautoGrow={autoGrow}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainer>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'small' && (\n\t\t\t\t\t\t<SC.InputContainerSmall height={props.height} type={props.type}>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainerSmall>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'x-small' && (\n\t\t\t\t\t\t<SC.InputContainerXSmall height={props.height} type={props.type}>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainerXSmall>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!RightIcon && (\n\t\t\t\t\t\t<SC.IconHolder\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\ticonSize={iconSize}\n\t\t\t\t\t\t\tonClick={() => executeCallback(rightIcon?.callback)}\n\t\t\t\t\t\t\tisLeft={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RightIcon />\n\t\t\t\t\t\t</SC.IconHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!suffixText && (\n\t\t\t\t\t\t<SuffixHolder variant={variant}>{suffixText}</SuffixHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{button && button.text && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonText={button.text}\n\t\t\t\t\t\t\tbuttonType={button.buttonType}\n\t\t\t\t\t\t\tonClick={() => executeCallback(button?.onClick)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{button && button.buttonProps && <Button {...button.buttonProps} />}\n\t\t\t\t</SC.InputWrapper>\n\t\t\t\t{!hideInputHeader && (!!labelText || !!maxCharLimit) && (\n\t\t\t\t\t<SC.InputHeader\n\t\t\t\t\t\tinvalid={isInvalid}\n\t\t\t\t\t\tmaxCharAlignment={maxCharAlignment}\n\t\t\t\t\t>\n\t\t\t\t\t\t{labelElement && labelElement}\n\t\t\t\t\t\t<div className=\"label__container\">\n\t\t\t\t\t\t\t{labelTextBold ? (\n\t\t\t\t\t\t\t\t<TitleSmall>\n\t\t\t\t\t\t\t\t\t{labelText}\n\t\t\t\t\t\t\t\t\t{isRequired ? <span>*</span> : ''}\n\t\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<BodySecondary>\n\t\t\t\t\t\t\t\t\t{labelText}\n\t\t\t\t\t\t\t\t\t{isRequired ? <span>*</span> : ''}\n\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.tooltipText && (\n\t\t\t\t\t\t\t\t<Tooltip body={props.tooltipText} placement={'top'}>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t<InfoIcon\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ marginTop: -3 }}\n\t\t\t\t\t\t\t\t\t\t\twidth={18}\n\t\t\t\t\t\t\t\t\t\t\theight={18}\n\t\t\t\t\t\t\t\t\t\t\tcolor={\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid\n\t\t\t\t\t\t\t\t\t\t\t\t\t? COLORS.content.negative\n\t\t\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.primary\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{maxCharLimit > 0 && maxCharLimitPosition === 'TOP' && (\n\t\t\t\t\t\t\t<SC.MaxCharStyle style={maxCharStyle}>\n\t\t\t\t\t\t\t\t{(value ?? '').toString()?.length ?? 0}/{maxCharLimit}\n\t\t\t\t\t\t\t</SC.MaxCharStyle>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SC.InputHeader>\n\t\t\t\t)}\n\t\t\t</SC.RootContainer>\n\t\t);\n\t},\n);\n\nInput.displayName = 'Input';\n"],"names":["Input","forwardRef","props","fRef","placeholder","leftIcon","rightIcon","labelText","maxCharLimit","isRequired","hintText","type","state","validate","variant","button","suffixText","prefixText","onChangeText","value","noErrorHint","reset","rangeValidation","noKeyDownChange","version","noMaxCharCheck","labelElement","autoGrow","minHeight","maxHeight","labelTextBold","truncateText","maxCharLimitPosition","maxCharStyle","hightlightInputColor","onKeyDownEvent","hideInputHeader","hideBorder","inputWrapperStyles","minCharsToTrigger","maxCharAlignment","isDisabled","allowUnsafeInput","leftIconStyle","LeftIcon","RightIcon","isInvalid","setIsInvalid","useState","isActive","setIsActive","errorMessage","setErrorMessage","iconSize","stylesFromOutside","useContext","InputStyleContext","inputValue","setInputValue","_ref","useRef","inputRef","useEffect","numberInput","onWheel","executeCallback","cb","params","isFunction","getMaxChar","onKeyDown","e","MAX_CHAR_LIMIT","KEY_CODES_TO_BE_EXCLUDED","MIN_CHAR_LIMIT","inputText","event","onChange","shouldSanitizeForType","sanitizeUnsafeInput","validateFunction","validateInput","isValid","error","onFocus","onBlur","getInputHTML","jsxs","Fragment","jsx","SC.RootContainer","SC.InputFooter","ErrorIcon","SC.MaxCharStyle","SC.InputWrapper","SC.IconHolder","PrefixHolder","SC.InputContainer","SC.InputContainerSmall","SC.InputContainerXSmall","SuffixHolder","Button","SC.InputHeader","TitleSmall","BodySecondary","Tooltip","InfoIcon","COLORS"],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sources":["../../../../src/components/input/Input.tsx"],"sourcesContent":["import InfoIcon from '@src/assets/icons/info.svg';\nimport React, {\n\tforwardRef,\n\tMutableRefObject,\n\tRef,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { Button } from '@src/components/button';\nimport {\n\tisFunction,\n\tsanitizeUnsafeInput,\n\tshouldSanitizeForType,\n\tvalidateInput,\n} from '@src/components/input/Input-helper';\nimport { Tooltip } from '@src/components/tooltips';\nimport { BodySecondary, TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport ErrorIcon from '../../assets/icons/errorInfo.svg';\nimport { InputStyleContext } from './context/InputStyleProvider';\nimport { InputProps, InputTypeI, InputVariant } from './Input.model';\nimport * as SC from './Input.styled';\nimport { PrefixHolder, SuffixHolder } from './Input.styled';\n\nexport const Input = forwardRef(\n\t(\n\t\tprops: InputProps,\n\t\tfRef: React.ForwardedRef<HTMLInputElement | HTMLTextAreaElement | null>,\n\t) => {\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\tleftIcon,\n\t\t\trightIcon,\n\t\t\tlabelText,\n\t\t\tmaxCharLimit,\n\t\t\tisRequired,\n\t\t\thintText,\n\t\t\ttype,\n\t\t\tstate,\n\t\t\tvalidate,\n\t\t\tvariant,\n\t\t\tbutton,\n\t\t\tsuffixText,\n\t\t\tprefixText,\n\t\t\tonChangeText,\n\t\t\tvalue,\n\t\t\tnoErrorHint,\n\t\t\treset,\n\t\t\trangeValidation,\n\t\t\tnoKeyDownChange,\n\t\t\tversion,\n\t\t\tnoMaxCharCheck,\n\t\t\tlabelElement,\n\t\t\tautoGrow,\n\t\t\tminHeight,\n\t\t\tmaxHeight,\n\t\t\tlabelTextBold,\n\t\t\ttruncateText,\n\t\t\tmaxCharLimitPosition,\n\t\t\tmaxCharStyle,\n\t\t\thightlightInputColor,\n\t\t\tonKeyDownEvent,\n\t\t\thideInputHeader,\n\t\t\thideBorder,\n\t\t\tinputWrapperStyles,\n\t\t\tminCharsToTrigger,\n\t\t\tmaxCharAlignment,\n\t\t\tisDisabled = false,\n\t\t\tallowUnsafeInput,\n\t\t\tleftIconStyle,\n\t\t} = {\n\t\t\tmaxCharLimit: 0,\n\t\t\ttype: 'text' as InputTypeI,\n\t\t\tvariant: 'default' as InputVariant,\n\t\t\tmaxCharLimitPosition: 'TOP',\n\t\t\tminCharsToTrigger: 0,\n\t\t\tmaxCharAlignment: false,\n\t\t\t...props,\n\t\t};\n\t\tconst LeftIcon = leftIcon?.icon;\n\t\tconst RightIcon = rightIcon?.icon;\n\t\tconst [isInvalid, setIsInvalid] = useState<boolean>(false);\n\t\tconst [isActive, setIsActive] = useState<boolean>(false);\n\t\tconst [errorMessage, setErrorMessage] = useState<string>();\n\t\tconst iconSize =\n\t\t\tvariant === 'x-small' ? '12px' : variant === 'small' ? '18px' : '22px';\n\t\tconst stylesFromOutside = useContext(InputStyleContext);\n\t\tconst [inputValue, setInputValue] = useState<string>('');\n\t\tconst _ref = useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\t\tconst inputRef: MutableRefObject<HTMLInputElement | HTMLTextAreaElement> =\n\t\t\t(fRef ?? _ref) as MutableRefObject<\n\t\t\t\tHTMLInputElement | HTMLTextAreaElement\n\t\t\t>;\n\n\t\tuseEffect(() => {\n\t\t\tsetInputValue(value || '');\n\t\t\tif (!value && autoGrow) {\n\t\t\t\tinputRef.current.style.height = minHeight || '48px';\n\t\t\t}\n\t\t}, [value]);\n\n\t\tuseEffect(() => {\n\t\t\tif (!inputRef.current) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tprops.onReferenceInit?.(inputRef.current);\n\t\t}, [inputRef]);\n\n\t\tuseEffect(() => {\n\t\t\tconst numberInput = inputRef.current;\n\t\t\tif (numberInput && ['phonenumber', 'zip', 'number'].includes(type)) {\n\t\t\t\tnumberInput.addEventListener('wheel', onWheel, { passive: false });\n\n\t\t\t\treturn () => {\n\t\t\t\t\tnumberInput.removeEventListener('wheel', onWheel);\n\t\t\t\t};\n\t\t\t}\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tif (!reset) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetInputValue('');\n\t\t}, [reset]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsActive(!!props.isActive);\n\t\t\tif (props.isActive) {\n\t\t\t\tinputRef.current?.focus();\n\t\t\t}\n\t\t}, [props.isActive]);\n\n\t\tuseEffect(() => {\n\t\t\tsetErrorMessage(props.errorMessage);\n\t\t}, [props.errorMessage]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsInvalid(false);\n\t\t\tif (\n\t\t\t\tprops.state === 'invalid' ||\n\t\t\t\terrorMessage ||\n\t\t\t\tprops.state === 'disabled-invalid'\n\t\t\t) {\n\t\t\t\tsetIsInvalid(true);\n\t\t\t}\n\t\t\tif (props.state === 'active') {\n\t\t\t\tinputRef.current?.focus();\n\t\t\t}\n\t\t}, [props.state, errorMessage]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsInvalid(!!errorMessage || props.state === 'invalid');\n\t\t}, [errorMessage, props.state]);\n\n\t\tconst executeCallback = (cb: any, ...params: any[]): void => {\n\t\t\tif (!isFunction(cb)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcb(...params);\n\t\t};\n\n\t\tconst getMaxChar = () => {\n\t\t\tif (type === 'zip') {\n\t\t\t\treturn 6;\n\t\t\t}\n\t\t\treturn 2000;\n\t\t};\n\n\t\tconst onKeyDown = (e) => {\n\t\t\tconst MAX_CHAR_LIMIT = maxCharLimit !== 0 ? maxCharLimit : getMaxChar();\n\t\t\tconst KEY_CODES_TO_BE_EXCLUDED = [8];\n\t\t\tconst MIN_CHAR_LIMIT = minCharsToTrigger;\n\t\t\tconst inputText = e.target.value;\n\t\t\tif (\n\t\t\t\tonKeyDownEvent &&\n\t\t\t\t(!inputText.length || inputText.length >= MIN_CHAR_LIMIT)\n\t\t\t) {\n\t\t\t\tonKeyDownEvent(e);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!noKeyDownChange &&\n\t\t\t\t(!inputText.length || inputText.length >= MIN_CHAR_LIMIT)\n\t\t\t) {\n\t\t\t\tonChangeText(value || '', e);\n\t\t\t}\n\t\t\tif (noMaxCharCheck) return;\n\n\t\t\tif (\n\t\t\t\t!KEY_CODES_TO_BE_EXCLUDED.includes(e.which) &&\n\t\t\t\tMAX_CHAR_LIMIT > 0 &&\n\t\t\t\tinputText.length >= MAX_CHAR_LIMIT\n\t\t\t) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t};\n\n\t\tconst onWheel = (event) => {\n\t\t\tevent.preventDefault(); // Prevent the default scroll behavior\n\t\t};\n\n\t\tconst onChange = (e) => {\n\t\t\tlet inputText = e.target.value;\n\t\t\tconst MAX_CHAR_LIMIT =\n\t\t\t\tmaxCharLimit !== 0 ? maxCharLimit + 1 : getMaxChar();\n\t\t\tconst MIN_CHAR_LIMIT = minCharsToTrigger;\n\n\t\t\tif (!allowUnsafeInput && shouldSanitizeForType(type)) {\n\t\t\t\tinputText = sanitizeUnsafeInput(inputText);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!noMaxCharCheck &&\n\t\t\t\tMAX_CHAR_LIMIT > 0 &&\n\t\t\t\tinputText.length >= MAX_CHAR_LIMIT\n\t\t\t) {\n\t\t\t\t// letting user to copy paste text upto max limit instead of blank action\n\t\t\t\tinputText = inputText.substring(0, MAX_CHAR_LIMIT - 1);\n\t\t\t}\n\n\t\t\tif (!props.textControl) {\n\t\t\t\tsetInputValue(inputText || '');\n\t\t\t}\n\t\t\tif (MIN_CHAR_LIMIT && inputText && inputText.length < MIN_CHAR_LIMIT) {\n\t\t\t\t// if minCharsToTrigger exists and is not reached, do nothing\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonChangeText(inputText, e);\n\t\t\tif (autoGrow) {\n\t\t\t\tinputRef.current.style.height = `${inputRef.current.scrollHeight}px`;\n\t\t\t\tif (!inputText) {\n\t\t\t\t\tinputRef.current.style.height = minHeight || '48px';\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst validateFunction = validate || validateInput;\n\t\t\tif (!validateFunction || !isFunction(validateFunction)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [isValid, error] = validateFunction(\n\t\t\t\tinputText,\n\t\t\t\ttype,\n\t\t\t\trangeValidation,\n\t\t\t);\n\n\t\t\tsetIsInvalid(!isValid);\n\t\t\tsetErrorMessage(props.errorMessage ? props.errorMessage : error);\n\t\t};\n\n\t\tconst onFocus = (e) => {\n\t\t\tif (!props.skipFocus) {\n\t\t\t\tsetIsActive(true);\n\t\t\t}\n\t\t\texecuteCallback(props.onFocus?.(e));\n\t\t};\n\n\t\tconst onBlur = (e) => {\n\t\t\tif (!props.skipFocus) {\n\t\t\t\tsetIsActive(false);\n\t\t\t}\n\t\t\texecuteCallback(props.onBlur?.(e));\n\t\t};\n\n\t\tconst getInputHTML = () => {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{type !== 'multiline' && (\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclassName={truncateText ? 'truncate-class' : ''}\n\t\t\t\t\t\t\tdata-test={props['data-test']}\n\t\t\t\t\t\t\tid={props.id}\n\t\t\t\t\t\t\tstyle={stylesFromOutside?.input ?? {}}\n\t\t\t\t\t\t\tref={inputRef as Ref<HTMLInputElement>}\n\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\ttype={\n\t\t\t\t\t\t\t\t['phonenumber', 'zip', 'number'].includes(type)\n\t\t\t\t\t\t\t\t\t? 'number'\n\t\t\t\t\t\t\t\t\t: type\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\tonFocus={(e) => onFocus(e)}\n\t\t\t\t\t\t\tonBlur={(e) => onBlur(e)}\n\t\t\t\t\t\t\tplaceholder={placeholder || 'Enter here'}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\tonClick={(e) => executeCallback(props.onClick)}\n\t\t\t\t\t\t\tonKeyDown={(e) => onKeyDown(e)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{type === 'multiline' && (\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tdata-test={props['data-test']}\n\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\tref={inputRef as Ref<HTMLTextAreaElement>}\n\t\t\t\t\t\t\tonFocus={(e) => onFocus(e)}\n\t\t\t\t\t\t\tonBlur={(e) => onBlur(e)}\n\t\t\t\t\t\t\tonClick={(e) => executeCallback(props.onClick)}\n\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\tplaceholder={placeholder || 'Enter here'}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\tonKeyDown={(e) => onKeyDown(e)}\n\t\t\t\t\t\t\tmaxLength={maxCharLimit > 0 ? maxCharLimit : undefined}\n\t\t\t\t\t\t/>\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<SC.RootContainer\n\t\t\t\twidth={props.width}\n\t\t\t\theight={props.height}\n\t\t\t\tstate={state}\n\t\t\t\ttype={type}\n\t\t\t\tstyle={stylesFromOutside?.RootContainer ?? {}}\n\t\t\t>\n\t\t\t\t<div className=\"flex-align-center\">\n\t\t\t\t\t{!noErrorHint && (!!hintText || !!errorMessage) && (\n\t\t\t\t\t\t<SC.InputFooter invalid={!!errorMessage}>\n\t\t\t\t\t\t\t{!!errorMessage && <ErrorIcon width={16} height={16} />}\n\t\t\t\t\t\t\t{errorMessage || hintText}\n\t\t\t\t\t\t</SC.InputFooter>\n\t\t\t\t\t)}\n\t\t\t\t\t{maxCharLimit > 0 && maxCharLimitPosition === 'BOTTOM' && (\n\t\t\t\t\t\t<SC.MaxCharStyle position={'BOTTOM'} style={maxCharStyle}>\n\t\t\t\t\t\t\t{(value ?? '').toString()?.length ?? 0}/{maxCharLimit}\n\t\t\t\t\t\t</SC.MaxCharStyle>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<SC.InputWrapper\n\t\t\t\t\tvariant={variant}\n\t\t\t\t\tstate={state}\n\t\t\t\t\twidth={props.width}\n\t\t\t\t\tisActive={state === 'active' || isActive}\n\t\t\t\t\tisInvalid={isInvalid}\n\t\t\t\t\tstyle={stylesFromOutside?.InputWrapper ?? inputWrapperStyles ?? {}}\n\t\t\t\t\tversion={version}\n\t\t\t\t\theight={props.height}\n\t\t\t\t\thightlightInputColor={hightlightInputColor}\n\t\t\t\t\thideBorder={hideBorder}\n\t\t\t\t>\n\t\t\t\t\t{!!LeftIcon && (\n\t\t\t\t\t\t<SC.IconHolder\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\ticonSize={iconSize}\n\t\t\t\t\t\t\tonClick={() => executeCallback(leftIcon?.callback)}\n\t\t\t\t\t\t\tisLeft={true}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...(stylesFromOutside?.IconHolder ?? {}),\n\t\t\t\t\t\t\t\t...leftIconStyle,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LeftIcon />\n\t\t\t\t\t\t</SC.IconHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!prefixText && (\n\t\t\t\t\t\t<PrefixHolder variant={variant}>{prefixText}</PrefixHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'default' && (\n\t\t\t\t\t\t<SC.InputContainer\n\t\t\t\t\t\t\theight={props.height}\n\t\t\t\t\t\t\ttype={props.type}\n\t\t\t\t\t\t\tminHeight={minHeight}\n\t\t\t\t\t\t\tmaxHeight={maxHeight}\n\t\t\t\t\t\t\tautoGrow={autoGrow}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainer>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'small' && (\n\t\t\t\t\t\t<SC.InputContainerSmall height={props.height} type={props.type}>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainerSmall>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'x-small' && (\n\t\t\t\t\t\t<SC.InputContainerXSmall height={props.height} type={props.type}>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainerXSmall>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!RightIcon && (\n\t\t\t\t\t\t<SC.IconHolder\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\ticonSize={iconSize}\n\t\t\t\t\t\t\tonClick={() => executeCallback(rightIcon?.callback)}\n\t\t\t\t\t\t\tisLeft={false}\n\t\t\t\t\t\t\tdata-test={rightIcon?.['data-test']}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RightIcon />\n\t\t\t\t\t\t</SC.IconHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!suffixText && (\n\t\t\t\t\t\t<SuffixHolder variant={variant}>{suffixText}</SuffixHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{button && button.text && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonText={button.text}\n\t\t\t\t\t\t\tbuttonType={button.buttonType}\n\t\t\t\t\t\t\tonClick={() => executeCallback(button?.onClick)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{button && button.buttonProps && <Button {...button.buttonProps} />}\n\t\t\t\t</SC.InputWrapper>\n\t\t\t\t{!hideInputHeader && (!!labelText || !!maxCharLimit) && (\n\t\t\t\t\t<SC.InputHeader\n\t\t\t\t\t\tinvalid={isInvalid}\n\t\t\t\t\t\tmaxCharAlignment={maxCharAlignment}\n\t\t\t\t\t>\n\t\t\t\t\t\t{labelElement && labelElement}\n\t\t\t\t\t\t<div className=\"label__container\">\n\t\t\t\t\t\t\t{labelTextBold ? (\n\t\t\t\t\t\t\t\t<TitleSmall>\n\t\t\t\t\t\t\t\t\t{labelText}\n\t\t\t\t\t\t\t\t\t{isRequired ? <span>*</span> : ''}\n\t\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<BodySecondary>\n\t\t\t\t\t\t\t\t\t{labelText}\n\t\t\t\t\t\t\t\t\t{isRequired ? <span>*</span> : ''}\n\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.tooltipText && (\n\t\t\t\t\t\t\t\t<Tooltip body={props.tooltipText} placement={'top'}>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t<InfoIcon\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ marginTop: -3 }}\n\t\t\t\t\t\t\t\t\t\t\twidth={18}\n\t\t\t\t\t\t\t\t\t\t\theight={18}\n\t\t\t\t\t\t\t\t\t\t\tcolor={\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid\n\t\t\t\t\t\t\t\t\t\t\t\t\t? COLORS.content.negative\n\t\t\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.primary\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{maxCharLimit > 0 && maxCharLimitPosition === 'TOP' && (\n\t\t\t\t\t\t\t<SC.MaxCharStyle style={maxCharStyle}>\n\t\t\t\t\t\t\t\t{(value ?? '').toString()?.length ?? 0}/{maxCharLimit}\n\t\t\t\t\t\t\t</SC.MaxCharStyle>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SC.InputHeader>\n\t\t\t\t)}\n\t\t\t</SC.RootContainer>\n\t\t);\n\t},\n);\n\nInput.displayName = 'Input';\n"],"names":["Input","forwardRef","props","fRef","placeholder","leftIcon","rightIcon","labelText","maxCharLimit","isRequired","hintText","type","state","validate","variant","button","suffixText","prefixText","onChangeText","value","noErrorHint","reset","rangeValidation","noKeyDownChange","version","noMaxCharCheck","labelElement","autoGrow","minHeight","maxHeight","labelTextBold","truncateText","maxCharLimitPosition","maxCharStyle","hightlightInputColor","onKeyDownEvent","hideInputHeader","hideBorder","inputWrapperStyles","minCharsToTrigger","maxCharAlignment","isDisabled","allowUnsafeInput","leftIconStyle","LeftIcon","RightIcon","isInvalid","setIsInvalid","useState","isActive","setIsActive","errorMessage","setErrorMessage","iconSize","stylesFromOutside","useContext","InputStyleContext","inputValue","setInputValue","_ref","useRef","inputRef","useEffect","numberInput","onWheel","executeCallback","cb","params","isFunction","getMaxChar","onKeyDown","e","MAX_CHAR_LIMIT","KEY_CODES_TO_BE_EXCLUDED","MIN_CHAR_LIMIT","inputText","event","onChange","shouldSanitizeForType","sanitizeUnsafeInput","validateFunction","validateInput","isValid","error","onFocus","onBlur","getInputHTML","jsxs","Fragment","jsx","SC.RootContainer","SC.InputFooter","ErrorIcon","SC.MaxCharStyle","SC.InputWrapper","SC.IconHolder","PrefixHolder","SC.InputContainer","SC.InputContainerSmall","SC.InputContainerXSmall","SuffixHolder","Button","SC.InputHeader","TitleSmall","BodySecondary","Tooltip","InfoIcon","COLORS"],"mappings":"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"}
@@ -17,6 +17,7 @@ export interface InputProps {
17
17
  rightIcon?: {
18
18
  icon: React.FC;
19
19
  callback?: () => void;
20
+ 'data-test'?: string;
20
21
  };
21
22
  labelElement?: React.ReactNode;
22
23
  labelText?: string;
@@ -1,37 +1,37 @@
1
1
  import { jsxs as c, jsx as n, Fragment as T } from "react/jsx-runtime";
2
2
  import P from "../../assets/icons/chevronRight2.svg.js";
3
- import u, { useRef as B } from "react";
3
+ import u, { useRef as W } from "react";
4
4
  import { COLORS as t } from "../../constants/Theme.js";
5
- import { BodyCaption as H, BodyTiny as L } from "../TypographyStyle.js";
6
- import { MenuItemWrapper as W, MenuItemContainer as j, ContentContainer as k, LeadingIconContainer as E, TrailingIconContainer as p, SubMenuContainer as _, StyledSubMenuWrapper as w, SubMenuListContainer as D } from "./MultiLevelDropdown.styled.js";
5
+ import { BodyCaption as B, BodyTiny as H } from "../TypographyStyle.js";
6
+ import { MenuItemWrapper as L, MenuItemContainer as j, ContentContainer as k, LeadingIconContainer as E, TrailingIconContainer as C, SubMenuContainer as _, StyledSubMenuWrapper as w, SubMenuListContainer as D } from "./MultiLevelDropdown.styled.js";
7
7
  const J = ({
8
8
  width: o,
9
9
  onDropdownItemClick: f,
10
10
  option: e,
11
- parents: h,
11
+ parents: m,
12
12
  allowParentSelection: y,
13
- maxLevels: m,
13
+ maxLevels: h,
14
14
  currentLevel: b,
15
15
  renderNestedMenu: I,
16
16
  version: r
17
17
  }) => {
18
- const [g, M] = u.useState(!1), [l, S] = u.useState(!1), [C, v] = u.useState({
18
+ const [g, M] = u.useState(!1), [a, p] = u.useState(!1), [S, v] = u.useState({
19
19
  top: 0,
20
20
  left: 0
21
- }), x = B({ top: 0, left: 0 }), i = !!e.children && e.children.length > 0, d = i && (m === void 0 || b < m), O = () => {
22
- !f || (e.disabled ?? !1) || (!i || y) && f(e, h);
21
+ }), x = W({ top: 0, left: 0 }), i = !!e.children && e.children.length > 0, d = i && (h === void 0 || b < h), O = () => {
22
+ !f || (e.disabled ?? !1) || (!i || y) && f(e, m);
23
23
  }, R = (s) => {
24
- const a = s.currentTarget.getBoundingClientRect();
24
+ const l = s.currentTarget.getBoundingClientRect();
25
25
  v({
26
- top: a.top,
27
- left: a.right
26
+ top: l.top,
27
+ left: l.right
28
28
  }), x.current = {
29
- top: a.top,
30
- left: a.right
29
+ top: l.top,
30
+ left: l.right
31
31
  };
32
32
  };
33
33
  return /* @__PURE__ */ c(
34
- W,
34
+ L,
35
35
  {
36
36
  version: r,
37
37
  onMouseEnter: (s) => {
@@ -44,6 +44,7 @@ const J = ({
44
44
  s.stopPropagation(), O();
45
45
  },
46
46
  id: "menuItemWrapper",
47
+ "data-testid": "menuItemWrapper",
47
48
  style: {
48
49
  cursor: e.disabled ?? !1 ? "not-allowed" : "pointer",
49
50
  backgroundColor: e.disabled ?? !1 ? t.surface.standard : "transparent"
@@ -54,7 +55,7 @@ const J = ({
54
55
  {
55
56
  isSelected: e.selected,
56
57
  isSubMenuOpen: g,
57
- isHovered: l,
58
+ isHovered: a,
58
59
  isDisabled: e.disabled ?? !1,
59
60
  version: r,
60
61
  children: [
@@ -62,19 +63,19 @@ const J = ({
62
63
  e.leadingIcon && /* @__PURE__ */ n(E, { children: e.leadingIcon }),
63
64
  /* @__PURE__ */ c("div", { children: [
64
65
  /* @__PURE__ */ n(
65
- H,
66
+ B,
66
67
  {
67
68
  style: {
68
- color: e.disabled ?? !1 ? t.content.inactive : e.selected || l ? r === "3.0" ? t.text.primary : t.content.positive : t.content.primary
69
+ color: e.disabled ?? !1 ? t.content.inactive : e.selected || a ? r === "3.0" ? t.text.primary : t.content.positive : t.content.primary
69
70
  },
70
71
  children: e.label
71
72
  }
72
73
  ),
73
74
  e.subText && /* @__PURE__ */ n(
74
- L,
75
+ H,
75
76
  {
76
77
  style: {
77
- color: e.disabled ?? !1 ? t.content.inactive : e.selected || l ? r === "3.0" ? t.text.primary : t.content.positive : t.content.secondary,
78
+ color: e.disabled ?? !1 ? t.content.inactive : e.selected || a ? r === "3.0" ? t.text.primary : t.content.positive : t.content.secondary,
78
79
  marginTop: "2px"
79
80
  },
80
81
  children: e.subText
@@ -82,14 +83,14 @@ const J = ({
82
83
  )
83
84
  ] })
84
85
  ] }),
85
- i ? /* @__PURE__ */ n(p, { children: /* @__PURE__ */ n(
86
+ i ? /* @__PURE__ */ n(C, { children: /* @__PURE__ */ n(
86
87
  P,
87
88
  {
88
89
  width: 16,
89
90
  height: 16,
90
- color: !d || (e.disabled ?? !1) ? t.content.inactive : e.selected || l ? r === "3.0" ? t.text.primary : t.content.positive : t.content.primary
91
+ color: !d || (e.disabled ?? !1) ? t.content.inactive : e.selected || a ? r === "3.0" ? t.text.primary : t.content.positive : t.content.primary
91
92
  }
92
- ) }) : e.trailingIcon ? /* @__PURE__ */ n(p, { children: e.trailingIcon }) : /* @__PURE__ */ n(T, {})
93
+ ) }) : e.trailingIcon ? /* @__PURE__ */ n(C, { children: e.trailingIcon }) : /* @__PURE__ */ n(T, {})
93
94
  ]
94
95
  }
95
96
  ),
@@ -98,17 +99,17 @@ const J = ({
98
99
  {
99
100
  width: o,
100
101
  className: "submenu",
101
- onMouseEnter: () => S(!0),
102
- onMouseLeave: () => S(!1),
102
+ onMouseEnter: () => p(!0),
103
+ onMouseLeave: () => p(!1),
103
104
  children: /* @__PURE__ */ n(
104
105
  w,
105
106
  {
106
107
  width: o,
107
- top: C.top,
108
- left: C.left,
108
+ top: S.top,
109
+ left: S.left,
109
110
  children: /* @__PURE__ */ n(D, { version: r, children: I(
110
111
  e.children,
111
- [...h, e],
112
+ [...m, e],
112
113
  b + 1
113
114
  ) })
114
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItem.js","sources":["../../../../src/components/multi-level-dropdown/MenuItem.tsx"],"sourcesContent":["import ChevronRightIcon from '@src/assets/icons/chevronRight2.svg';\nimport React, { useRef } from 'react';\nimport { COLORS } from '@src/constants/Theme';\nimport { BodyCaption, BodyTiny } from '../TypographyStyle';\nimport {\n\tContentContainer,\n\tLeadingIconContainer,\n\tMenuItemContainer,\n\tMenuItemWrapper,\n\tStyledSubMenuWrapper,\n\tSubMenuContainer,\n\tSubMenuListContainer,\n\tTrailingIconContainer,\n} from './MultiLevelDropdown.styled';\nimport {\n\tMultiLevelDropdownOption,\n\tRenderNestedMenu,\n\tSingleOption,\n} from './type';\n\nexport const MenuItem: React.FC<{\n\twidth: string;\n\tonDropdownItemClick?: (\n\t\toption: MultiLevelDropdownOption,\n\t\tparents: MultiLevelDropdownOption[],\n\t) => void;\n\toption: SingleOption;\n\tparents: MultiLevelDropdownOption[];\n\tallowParentSelection?: boolean;\n\tmaxLevels?: number;\n\tcurrentLevel: number;\n\trenderNestedMenu: RenderNestedMenu;\n\tversion?: '1.0' | '2.0' | '3.0';\n}> = ({\n\twidth,\n\tonDropdownItemClick,\n\toption,\n\tparents,\n\tallowParentSelection,\n\tmaxLevels,\n\tcurrentLevel,\n\trenderNestedMenu,\n\tversion,\n}) => {\n\tconst [isSubMenuOpen, setIsSubMenuOpen] = React.useState(false);\n\tconst [isSubMenuHovered, setIsSubMenuHovered] = React.useState(false);\n\tconst [subMenuPosition, setSubMenuPosition] = React.useState({\n\t\ttop: 0,\n\t\tleft: 0,\n\t});\n\tconst positionRef = useRef<any>({ top: 0, left: 0 });\n\tconst hasChildren = !!option.children && option.children.length > 0;\n\tconst canOpenSubMenu =\n\t\thasChildren && (maxLevels === undefined || currentLevel < maxLevels);\n\n\tconst handleDropdownOptionClick = () => {\n\t\tif (!onDropdownItemClick || (option.disabled ?? false)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!hasChildren || allowParentSelection) {\n\t\t\tonDropdownItemClick(option, parents);\n\t\t}\n\t};\n\n\tconst calculateSubMenuPosition = (event: React.MouseEvent) => {\n\t\tconst rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n\t\tsetSubMenuPosition({\n\t\t\ttop: rect.top,\n\t\t\tleft: rect.right,\n\t\t});\n\t\tpositionRef.current = {\n\t\t\ttop: rect.top,\n\t\t\tleft: rect.right,\n\t\t};\n\t};\n\n\treturn (\n\t\t<MenuItemWrapper\n\t\t\tversion={version}\n\t\t\tonMouseEnter={(event) => {\n\t\t\t\tif (canOpenSubMenu) {\n\t\t\t\t\tsetIsSubMenuOpen(true);\n\t\t\t\t\tcalculateSubMenuPosition(event);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonMouseLeave={() => {\n\t\t\t\tsetIsSubMenuOpen(false);\n\t\t\t}}\n\t\t\tonClick={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\thandleDropdownOptionClick();\n\t\t\t}}\n\t\t\tid=\"menuItemWrapper\"\n\t\t\tstyle={{\n\t\t\t\tcursor: option.disabled ?? false ? 'not-allowed' : 'pointer',\n\t\t\t\tbackgroundColor:\n\t\t\t\t\toption.disabled ?? false ? COLORS.surface.standard : 'transparent',\n\t\t\t}}\n\t\t>\n\t\t\t{option.customComponent ? (\n\t\t\t\toption.customComponent\n\t\t\t) : (\n\t\t\t\t<MenuItemContainer\n\t\t\t\t\tisSelected={option.selected}\n\t\t\t\t\tisSubMenuOpen={isSubMenuOpen}\n\t\t\t\t\tisHovered={isSubMenuHovered}\n\t\t\t\t\tisDisabled={option.disabled ?? false}\n\t\t\t\t\tversion={version}\n\t\t\t\t>\n\t\t\t\t\t<ContentContainer>\n\t\t\t\t\t\t{option.leadingIcon && (\n\t\t\t\t\t\t\t<LeadingIconContainer>{option.leadingIcon}</LeadingIconContainer>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<BodyCaption\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\toption.disabled ?? false\n\t\t\t\t\t\t\t\t\t\t\t? COLORS.content.inactive\n\t\t\t\t\t\t\t\t\t\t\t: option.selected || isSubMenuHovered\n\t\t\t\t\t\t\t\t\t\t\t? version === '3.0'\n\t\t\t\t\t\t\t\t\t\t\t\t? COLORS.text.primary\n\t\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.positive\n\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.primary,\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{option.label}\n\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t{option.subText && (\n\t\t\t\t\t\t\t\t<BodyTiny\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\t\toption.disabled ?? false\n\t\t\t\t\t\t\t\t\t\t\t\t? COLORS.content.inactive\n\t\t\t\t\t\t\t\t\t\t\t\t: option.selected || isSubMenuHovered\n\t\t\t\t\t\t\t\t\t\t\t\t? version === '3.0'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? COLORS.text.primary\n\t\t\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.positive\n\t\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.secondary,\n\t\t\t\t\t\t\t\t\t\tmarginTop: '2px',\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\t\t{option.subText}\n\t\t\t\t\t\t\t\t</BodyTiny>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ContentContainer>\n\t\t\t\t\t{hasChildren ? (\n\t\t\t\t\t\t<TrailingIconContainer>\n\t\t\t\t\t\t\t<ChevronRightIcon\n\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\tcolor={\n\t\t\t\t\t\t\t\t\t!canOpenSubMenu || (option.disabled ?? false)\n\t\t\t\t\t\t\t\t\t\t? COLORS.content.inactive\n\t\t\t\t\t\t\t\t\t\t: option.selected || isSubMenuHovered\n\t\t\t\t\t\t\t\t\t\t? version === '3.0'\n\t\t\t\t\t\t\t\t\t\t\t? COLORS.text.primary\n\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.positive\n\t\t\t\t\t\t\t\t\t\t: COLORS.content.primary\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TrailingIconContainer>\n\t\t\t\t\t) : option.trailingIcon ? (\n\t\t\t\t\t\t<TrailingIconContainer>{option.trailingIcon}</TrailingIconContainer>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<></>\n\t\t\t\t\t)}\n\t\t\t\t</MenuItemContainer>\n\t\t\t)}\n\n\t\t\t{!(option.disabled ?? false) &&\n\t\t\t\toption.children &&\n\t\t\t\toption.children.length > 0 &&\n\t\t\t\tcanOpenSubMenu &&\n\t\t\t\tisSubMenuOpen && (\n\t\t\t\t\t<SubMenuContainer\n\t\t\t\t\t\twidth={width}\n\t\t\t\t\t\tclassName=\"submenu\"\n\t\t\t\t\t\tonMouseEnter={() => setIsSubMenuHovered(true)}\n\t\t\t\t\t\tonMouseLeave={() => setIsSubMenuHovered(false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<StyledSubMenuWrapper\n\t\t\t\t\t\t\twidth={width}\n\t\t\t\t\t\t\ttop={subMenuPosition.top}\n\t\t\t\t\t\t\tleft={subMenuPosition.left}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SubMenuListContainer version={version}>\n\t\t\t\t\t\t\t\t{renderNestedMenu(\n\t\t\t\t\t\t\t\t\toption.children,\n\t\t\t\t\t\t\t\t\t[...parents, option],\n\t\t\t\t\t\t\t\t\tcurrentLevel + 1,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</SubMenuListContainer>\n\t\t\t\t\t\t</StyledSubMenuWrapper>\n\t\t\t\t\t</SubMenuContainer>\n\t\t\t\t)}\n\t\t</MenuItemWrapper>\n\t);\n};\n"],"names":["MenuItem","width","onDropdownItemClick","option","parents","allowParentSelection","maxLevels","currentLevel","renderNestedMenu","version","isSubMenuOpen","setIsSubMenuOpen","React","isSubMenuHovered","setIsSubMenuHovered","subMenuPosition","setSubMenuPosition","positionRef","useRef","hasChildren","canOpenSubMenu","handleDropdownOptionClick","calculateSubMenuPosition","event","rect","jsxs","MenuItemWrapper","e","COLORS","MenuItemContainer","ContentContainer","jsx","LeadingIconContainer","BodyCaption","BodyTiny","TrailingIconContainer","ChevronRightIcon","Fragment","SubMenuContainer","StyledSubMenuWrapper","SubMenuListContainer"],"mappings":"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"}
1
+ {"version":3,"file":"MenuItem.js","sources":["../../../../src/components/multi-level-dropdown/MenuItem.tsx"],"sourcesContent":["import ChevronRightIcon from '@src/assets/icons/chevronRight2.svg';\nimport React, { useRef } from 'react';\nimport { COLORS } from '@src/constants/Theme';\nimport { BodyCaption, BodyTiny } from '../TypographyStyle';\nimport {\n\tContentContainer,\n\tLeadingIconContainer,\n\tMenuItemContainer,\n\tMenuItemWrapper,\n\tStyledSubMenuWrapper,\n\tSubMenuContainer,\n\tSubMenuListContainer,\n\tTrailingIconContainer,\n} from './MultiLevelDropdown.styled';\nimport {\n\tMultiLevelDropdownOption,\n\tRenderNestedMenu,\n\tSingleOption,\n} from './type';\n\nexport const MenuItem: React.FC<{\n\twidth: string;\n\tonDropdownItemClick?: (\n\t\toption: MultiLevelDropdownOption,\n\t\tparents: MultiLevelDropdownOption[],\n\t) => void;\n\toption: SingleOption;\n\tparents: MultiLevelDropdownOption[];\n\tallowParentSelection?: boolean;\n\tmaxLevels?: number;\n\tcurrentLevel: number;\n\trenderNestedMenu: RenderNestedMenu;\n\tversion?: '1.0' | '2.0' | '3.0';\n}> = ({\n\twidth,\n\tonDropdownItemClick,\n\toption,\n\tparents,\n\tallowParentSelection,\n\tmaxLevels,\n\tcurrentLevel,\n\trenderNestedMenu,\n\tversion,\n}) => {\n\tconst [isSubMenuOpen, setIsSubMenuOpen] = React.useState(false);\n\tconst [isSubMenuHovered, setIsSubMenuHovered] = React.useState(false);\n\tconst [subMenuPosition, setSubMenuPosition] = React.useState({\n\t\ttop: 0,\n\t\tleft: 0,\n\t});\n\tconst positionRef = useRef<any>({ top: 0, left: 0 });\n\tconst hasChildren = !!option.children && option.children.length > 0;\n\tconst canOpenSubMenu =\n\t\thasChildren && (maxLevels === undefined || currentLevel < maxLevels);\n\n\tconst handleDropdownOptionClick = () => {\n\t\tif (!onDropdownItemClick || (option.disabled ?? false)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!hasChildren || allowParentSelection) {\n\t\t\tonDropdownItemClick(option, parents);\n\t\t}\n\t};\n\n\tconst calculateSubMenuPosition = (event: React.MouseEvent) => {\n\t\tconst rect = (event.currentTarget as HTMLElement).getBoundingClientRect();\n\t\tsetSubMenuPosition({\n\t\t\ttop: rect.top,\n\t\t\tleft: rect.right,\n\t\t});\n\t\tpositionRef.current = {\n\t\t\ttop: rect.top,\n\t\t\tleft: rect.right,\n\t\t};\n\t};\n\n\treturn (\n\t\t<MenuItemWrapper\n\t\t\tversion={version}\n\t\t\tonMouseEnter={(event) => {\n\t\t\t\tif (canOpenSubMenu) {\n\t\t\t\t\tsetIsSubMenuOpen(true);\n\t\t\t\t\tcalculateSubMenuPosition(event);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonMouseLeave={() => {\n\t\t\t\tsetIsSubMenuOpen(false);\n\t\t\t}}\n\t\t\tonClick={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\thandleDropdownOptionClick();\n\t\t\t}}\n\t\t\tid=\"menuItemWrapper\"\n\t\t\tdata-testid=\"menuItemWrapper\"\n\t\t\tstyle={{\n\t\t\t\tcursor: option.disabled ?? false ? 'not-allowed' : 'pointer',\n\t\t\t\tbackgroundColor:\n\t\t\t\t\toption.disabled ?? false ? COLORS.surface.standard : 'transparent',\n\t\t\t}}\n\t\t>\n\t\t\t{option.customComponent ? (\n\t\t\t\toption.customComponent\n\t\t\t) : (\n\t\t\t\t<MenuItemContainer\n\t\t\t\t\tisSelected={option.selected}\n\t\t\t\t\tisSubMenuOpen={isSubMenuOpen}\n\t\t\t\t\tisHovered={isSubMenuHovered}\n\t\t\t\t\tisDisabled={option.disabled ?? false}\n\t\t\t\t\tversion={version}\n\t\t\t\t>\n\t\t\t\t\t<ContentContainer>\n\t\t\t\t\t\t{option.leadingIcon && (\n\t\t\t\t\t\t\t<LeadingIconContainer>{option.leadingIcon}</LeadingIconContainer>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<BodyCaption\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\toption.disabled ?? false\n\t\t\t\t\t\t\t\t\t\t\t? COLORS.content.inactive\n\t\t\t\t\t\t\t\t\t\t\t: option.selected || isSubMenuHovered\n\t\t\t\t\t\t\t\t\t\t\t? version === '3.0'\n\t\t\t\t\t\t\t\t\t\t\t\t? COLORS.text.primary\n\t\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.positive\n\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.primary,\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{option.label}\n\t\t\t\t\t\t\t</BodyCaption>\n\t\t\t\t\t\t\t{option.subText && (\n\t\t\t\t\t\t\t\t<BodyTiny\n\t\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\t\tcolor:\n\t\t\t\t\t\t\t\t\t\t\toption.disabled ?? false\n\t\t\t\t\t\t\t\t\t\t\t\t? COLORS.content.inactive\n\t\t\t\t\t\t\t\t\t\t\t\t: option.selected || isSubMenuHovered\n\t\t\t\t\t\t\t\t\t\t\t\t? version === '3.0'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? COLORS.text.primary\n\t\t\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.positive\n\t\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.secondary,\n\t\t\t\t\t\t\t\t\t\tmarginTop: '2px',\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\t\t{option.subText}\n\t\t\t\t\t\t\t\t</BodyTiny>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ContentContainer>\n\t\t\t\t\t{hasChildren ? (\n\t\t\t\t\t\t<TrailingIconContainer>\n\t\t\t\t\t\t\t<ChevronRightIcon\n\t\t\t\t\t\t\t\twidth={16}\n\t\t\t\t\t\t\t\theight={16}\n\t\t\t\t\t\t\t\tcolor={\n\t\t\t\t\t\t\t\t\t!canOpenSubMenu || (option.disabled ?? false)\n\t\t\t\t\t\t\t\t\t\t? COLORS.content.inactive\n\t\t\t\t\t\t\t\t\t\t: option.selected || isSubMenuHovered\n\t\t\t\t\t\t\t\t\t\t? version === '3.0'\n\t\t\t\t\t\t\t\t\t\t\t? COLORS.text.primary\n\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.positive\n\t\t\t\t\t\t\t\t\t\t: COLORS.content.primary\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TrailingIconContainer>\n\t\t\t\t\t) : option.trailingIcon ? (\n\t\t\t\t\t\t<TrailingIconContainer>{option.trailingIcon}</TrailingIconContainer>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<></>\n\t\t\t\t\t)}\n\t\t\t\t</MenuItemContainer>\n\t\t\t)}\n\n\t\t\t{!(option.disabled ?? false) &&\n\t\t\t\toption.children &&\n\t\t\t\toption.children.length > 0 &&\n\t\t\t\tcanOpenSubMenu &&\n\t\t\t\tisSubMenuOpen && (\n\t\t\t\t\t<SubMenuContainer\n\t\t\t\t\t\twidth={width}\n\t\t\t\t\t\tclassName=\"submenu\"\n\t\t\t\t\t\tonMouseEnter={() => setIsSubMenuHovered(true)}\n\t\t\t\t\t\tonMouseLeave={() => setIsSubMenuHovered(false)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<StyledSubMenuWrapper\n\t\t\t\t\t\t\twidth={width}\n\t\t\t\t\t\t\ttop={subMenuPosition.top}\n\t\t\t\t\t\t\tleft={subMenuPosition.left}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SubMenuListContainer version={version}>\n\t\t\t\t\t\t\t\t{renderNestedMenu(\n\t\t\t\t\t\t\t\t\toption.children,\n\t\t\t\t\t\t\t\t\t[...parents, option],\n\t\t\t\t\t\t\t\t\tcurrentLevel + 1,\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</SubMenuListContainer>\n\t\t\t\t\t\t</StyledSubMenuWrapper>\n\t\t\t\t\t</SubMenuContainer>\n\t\t\t\t)}\n\t\t</MenuItemWrapper>\n\t);\n};\n"],"names":["MenuItem","width","onDropdownItemClick","option","parents","allowParentSelection","maxLevels","currentLevel","renderNestedMenu","version","isSubMenuOpen","setIsSubMenuOpen","React","isSubMenuHovered","setIsSubMenuHovered","subMenuPosition","setSubMenuPosition","positionRef","useRef","hasChildren","canOpenSubMenu","handleDropdownOptionClick","calculateSubMenuPosition","event","rect","jsxs","MenuItemWrapper","e","COLORS","MenuItemContainer","ContentContainer","jsx","LeadingIconContainer","BodyCaption","BodyTiny","TrailingIconContainer","ChevronRightIcon","Fragment","SubMenuContainer","StyledSubMenuWrapper","SubMenuListContainer"],"mappings":"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"}