@laerdal/life-react-components 2.1.0 → 2.1.1-dev.3

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 (103) hide show
  1. package/dist/AuthPage/AuthPage.d.ts +1 -1
  2. package/dist/Banners/Banner.d.ts +1 -1
  3. package/dist/Banners/OverviewBanner.d.ts +1 -1
  4. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
  5. package/dist/Button/Iconbutton.cjs +6 -4
  6. package/dist/Button/Iconbutton.cjs.map +1 -1
  7. package/dist/Button/Iconbutton.d.ts +1 -0
  8. package/dist/Button/Iconbutton.js +6 -4
  9. package/dist/Button/Iconbutton.js.map +1 -1
  10. package/dist/Card/HorizontalCard/HorizontalCardActions.d.ts +1 -1
  11. package/dist/Card/HorizontalCard/HorizontalCardBody.d.ts +1 -1
  12. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.d.ts +1 -1
  13. package/dist/Card/HorizontalCard/types.d.ts +4 -4
  14. package/dist/Chips/ChipTypes.d.ts +2 -2
  15. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  16. package/dist/ChipsInput/ChipDropdownInput.d.ts +1 -1
  17. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  18. package/dist/ChipsInput/ChipInput.cjs +13 -2
  19. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  20. package/dist/ChipsInput/ChipInput.js +14 -3
  21. package/dist/ChipsInput/ChipInput.js.map +1 -1
  22. package/dist/ChipsInput/ChipInputField.cjs +1 -0
  23. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  24. package/dist/ChipsInput/ChipInputField.js +1 -0
  25. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  26. package/dist/ChipsInput/ChipInputTypes.cjs.map +1 -1
  27. package/dist/ChipsInput/ChipInputTypes.d.ts +2 -1
  28. package/dist/ChipsInput/ChipInputTypes.js.map +1 -1
  29. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  30. package/dist/Dropdown/BasicDropdown.d.ts +3 -3
  31. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  32. package/dist/Dropdown/CommonStyling.cjs +1 -1
  33. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  34. package/dist/Dropdown/CommonStyling.js +1 -1
  35. package/dist/Dropdown/CommonStyling.js.map +1 -1
  36. package/dist/Dropdown/DropdownButtonTypes.d.ts +3 -3
  37. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +13 -7
  38. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  39. package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +3 -2
  40. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +13 -7
  41. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  42. package/dist/GlobalNavigationBar/Logo.d.ts +1 -1
  43. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +3 -1
  44. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  45. package/dist/GlobalNavigationBar/desktop/DesktopActions.d.ts +1 -0
  46. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +3 -1
  47. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  48. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +1 -1
  49. package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +1 -1
  50. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +1 -1
  51. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  52. package/dist/GlobalNavigationBar/desktop/RightSideNav.d.ts +1 -1
  53. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +1 -1
  54. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  55. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -2
  56. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  57. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -2
  58. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  59. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +3 -0
  60. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  61. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +1 -1
  62. package/dist/GlobalNavigationBar/mobile/MobileMenu.js +3 -0
  63. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  64. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs +2 -2
  65. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
  66. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js +3 -2
  67. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
  68. package/dist/GlobalNavigationBar/types.d.ts +7 -7
  69. package/dist/Image/ImageWithFallbacks.d.ts +1 -1
  70. package/dist/InputFields/Label.d.ts +1 -1
  71. package/dist/InputFields/QuickSearch.d.ts +1 -1
  72. package/dist/InputFields/ResponsiveComponentWrapper.d.ts +1 -1
  73. package/dist/InputFields/SearchBar.d.ts +1 -1
  74. package/dist/InputFields/components/SearchBarInput.d.ts +1 -1
  75. package/dist/InputFields/types.d.ts +3 -3
  76. package/dist/List/ListRow.d.ts +1 -1
  77. package/dist/LoadingIndicator/LoadingIndicator.d.ts +1 -1
  78. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -1
  79. package/dist/Modals/Modal.d.ts +1 -1
  80. package/dist/Modals/ModalContainer.d.ts +2 -2
  81. package/dist/Modals/ModalTypes.d.ts +1 -1
  82. package/dist/NavItem/NavItem.d.ts +1 -1
  83. package/dist/Paginator/Paginator.d.ts +1 -1
  84. package/dist/Popover/Popover.d.ts +4 -4
  85. package/dist/ProfileButton/ProfileButton.d.ts +1 -1
  86. package/dist/QuizButton/QuizButton.d.ts +1 -1
  87. package/dist/SideMenu/types.d.ts +3 -3
  88. package/dist/SkipToContent/SkipToContent.d.ts +1 -1
  89. package/dist/Table/TableTypes.d.ts +4 -4
  90. package/dist/Tabs/TabLink.d.ts +1 -1
  91. package/dist/Tabs/Tabs.d.ts +1 -1
  92. package/dist/Tag/Tag.cjs +1 -1
  93. package/dist/Tag/Tag.cjs.map +1 -1
  94. package/dist/Tag/Tag.d.ts +2 -2
  95. package/dist/Tag/Tag.js +1 -1
  96. package/dist/Tag/Tag.js.map +1 -1
  97. package/dist/Tile/TileTypes.d.ts +8 -8
  98. package/dist/Toasters/Toast.d.ts +2 -2
  99. package/dist/Toasters/ToastContext.d.ts +2 -2
  100. package/dist/assets/index.d.ts +1 -1
  101. package/dist/icons/index.d.ts +2 -2
  102. package/dist/styles/typography.d.ts +2 -2
  103. package/package.json +10 -13
@@ -1,4 +1,4 @@
1
- declare type AuthPageProps = {
1
+ type AuthPageProps = {
2
2
  /** set this to 'false' to hide the left side illustration/information section */
3
3
  showInformationSection: boolean;
4
4
  /** true if 'sign-up' screen-set is showing, otherwise false.
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { Size } from '../types';
3
- declare type BannerProps = React.HTMLAttributes<HTMLDivElement> & {
3
+ type BannerProps = React.HTMLAttributes<HTMLDivElement> & {
4
4
  size?: Size.Small | Size.Medium | Size.Large;
5
5
  type?: 'warning' | 'critical' | 'positive' | 'neutral';
6
6
  link?: string;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- declare type Props = {
2
+ type Props = {
3
3
  children: any;
4
4
  testId?: string;
5
5
  } & React.HTMLAttributes<HTMLDivElement>;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Size } from '..';
3
3
  import { BreadcrumbItem } from './BreadcrumbItem';
4
- declare type BreadcrumbProps = React.HTMLAttributes<HTMLDivElement> & {
4
+ type BreadcrumbProps = React.HTMLAttributes<HTMLDivElement> & {
5
5
  homeIcon?: boolean;
6
6
  homeLabel?: string;
7
7
  homeUrl?: string;
@@ -14,7 +14,7 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
14
  var _styles = require("../styles");
15
15
  var _common = require("../common");
16
16
  var _jsxRuntime = require("react/jsx-runtime");
17
- var _excluded = ["id", "variant", "shape", "action", "hideOnLowWidth", "isInMobileMenu", "children", "useTransparentBackground", "shouldNotInteract", "disabled", "iconColor", "unsetIconSize", "tabIndex", "flatEdge", "borderRadius", "focusBackgroundColor", "type", "hidden", "invertFocus"];
17
+ var _excluded = ["id", "variant", "shape", "action", "hideOnLowWidth", "isInMobileMenu", "children", "useTransparentBackground", "shouldNotInteract", "disabled", "iconColor", "unsetIconSize", "tabIndex", "flatEdge", "borderRadius", "focusBackgroundColor", "type", "hidden", "invertFocus", "focusOnClick"];
18
18
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
19
19
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
20
20
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -87,6 +87,7 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
87
87
  type = _ref.type,
88
88
  hidden = _ref.hidden,
89
89
  invertFocus = _ref.invertFocus,
90
+ focusOnClick = _ref.focusOnClick,
90
91
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
91
92
  // Let's render button
92
93
  switch (variant) {
@@ -109,7 +110,7 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
109
110
  unsetIconSize: unsetIconSize,
110
111
  tabIndex: tabIndex,
111
112
  borderRadius: borderRadius || shape === 'circular' ? 18 : 0,
112
- onMouseDown: _common.defaultOnMouseDownHandler,
113
+ onMouseDown: !focusOnClick ? _common.defaultOnMouseDownHandler : undefined,
113
114
  hidden: hidden,
114
115
  invertFocus: invertFocus,
115
116
  focusBackgroundColor: focusBackgroundColor
@@ -138,7 +139,7 @@ var IconButton = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
138
139
  unsetIconSize: unsetIconSize,
139
140
  tabIndex: tabIndex,
140
141
  borderRadius: borderRadius || shape === 'circular' ? 18 : 0,
141
- onMouseDown: _common.defaultOnMouseDownHandler,
142
+ onMouseDown: !focusOnClick ? _common.defaultOnMouseDownHandler : undefined,
142
143
  hidden: hidden,
143
144
  invertFocus: invertFocus,
144
145
  focusBackgroundColor: focusBackgroundColor
@@ -162,7 +163,8 @@ IconButton.propTypes = {
162
163
  borderRadius: _propTypes.default.number,
163
164
  focusBackgroundColor: _propTypes.default.string,
164
165
  children: _propTypes.default.node,
165
- invertFocus: _propTypes.default.bool
166
+ invertFocus: _propTypes.default.bool,
167
+ focusOnClick: _propTypes.default.bool
166
168
  };
167
169
  var _default = IconButton;
168
170
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"Iconbutton.cjs","names":["getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","IconButtonContent","styled","div","StyledIconButton","button","hideOnLowWidth","BREAKPOINTS","MEDIUM","unsetIconSize","invertFocus","invertedFocusStyles","focusStyles","StyledPrimaryIconButton","useTransparentBackground","COLORS","primary_500","iconColor","white","primary_700","primary_800","neutral_200","StyledSecondaryIconButton","neutral_600","shouldNotInteract","primary_20","primary_100","neutral_300","IconButton","React","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","focusBackgroundColor","type","hidden","rest","event","stopPropagation","defaultOnMouseDownHandler"],"sources":["../../src/Button/Iconbutton.tsx"],"sourcesContent":["import React from 'react';\nimport styled, { css, CSSProperties } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles } from '../styles';\nimport { defaultOnMouseDownHandler } from '../common';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n focusBackgroundColor?: string;\n invertFocus?: boolean;\n shouldNotInteract?: boolean;\n}\n\nconst getBorderRadius = (props: HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px');\n\nconst getBorderRadiusStyle = (props: HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch (props.flatEdge) {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n\n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nexport const IconButtonContent = styled.div``;\n\nexport const StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n position: relative;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n ${IconButtonContent} {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n\n &:focus {\n ${(props) => (props.invertFocus ? invertedFocusStyles : focusStyles)}\n }\n`;\n\nexport const StyledPrimaryIconButton = styled(StyledIconButton)`\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled),\n &.hover-state {\n ${IconButtonContent} {\n background-color: ${COLORS.primary_700};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled),\n &.active-state {\n ${IconButtonContent} {\n background: ${COLORS.primary_800};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n ${IconButtonContent} {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n`;\n\nexport const StyledSecondaryIconButton = styled(StyledIconButton)`\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n\n pointer-events: ${(props) => (props.shouldNotInteract ? 'none' : 'auto')};\n\n &:hover:not(:disabled) {\n ${IconButtonContent} {\n background-color: ${COLORS.primary_20};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled),\n &.active-state {\n ${IconButtonContent} {\n background: ${COLORS.primary_100};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n`;\n\nexport interface IconButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onMouseDown'> {\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n shouldNotInteract?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n focusBackgroundColor?: string;\n children?: React.ReactNode;\n invertFocus?: boolean;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n (\n {\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n shouldNotInteract,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n focusBackgroundColor,\n type,\n hidden,\n invertFocus,\n ...rest\n }: IconButtonProps,\n ref,\n ) => {\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n action(event);\n }}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n shouldNotInteract={shouldNotInteract}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n hidden={hidden}\n invertFocus={invertFocus}\n focusBackgroundColor={focusBackgroundColor}\n {...rest}>\n <IconButtonContent>{children}</IconButtonContent>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n action(event);\n }}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n hidden={hidden}\n invertFocus={invertFocus}\n focusBackgroundColor={focusBackgroundColor}\n {...rest}>\n <IconButtonContent>{children}</IconButtonContent>\n </StyledPrimaryIconButton>\n );\n }\n },\n);\n\nexport default IconButton;\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAEA;AACA;AAAsD;AAAA;AAAA;AAAA;AAAA;AAgBtD,IAAMA,eAAe,GAAG,SAAlBA,eAAe,CAAIC,KAAsB;EAAA,OAAMA,KAAK,CAACC,YAAY,aAAMD,KAAK,CAACC,YAAY,UAAO,KAAK;AAAA,CAAC;AAE5G,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIF,KAAsB,EAAK;EACvD,IAAMG,MAAM,GAAGJ,eAAe,CAACC,KAAK,CAAC;EACrC,QAAQA,KAAK,CAACI,QAAQ;IACpB,KAAK,MAAM;MACT,qBAAcD,MAAM,cAAIA,MAAM;IAEhC,KAAK,OAAO;MACV,iBAAUA,MAAM,sBAAYA,MAAM;IAEpC,KAAK,MAAM;IACX;MACE,iBAAUA,MAAM;EAAG;AAEzB,CAAC;AAEM,IAAME,iBAAiB,GAAGC,yBAAM,CAACC,GAAG,mFAAE;AAAC;AAEvC,IAAMC,gBAAgB,GAAGF,yBAAM,CAACG,MAAM,koBAQhC,UAACT,KAAK;EAAA,OAAMA,KAAK,CAACU,cAAc,GAAG,MAAM,GAAG,OAAO;AAAA,CAAC,EAC7DC,mBAAW,CAACC,MAAM,EAIH,UAACZ,KAAK;EAAA,OAAMA,KAAK,CAACC,YAAY,aAAMD,KAAK,CAACC,YAAY,UAAO,KAAK;AAAA,CAAC,EAClFI,iBAAiB,EAGAH,oBAAoB,EAKzB,UAACF,KAAK;EAAA,OAAMA,KAAK,CAACa,aAAa,GAAG,OAAO,GAAG,MAAM;AAAA,CAAC,EACpD,UAACb,KAAK;EAAA,OAAMA,KAAK,CAACa,aAAa,GAAG,OAAO,GAAG,MAAM;AAAA,CAAC,EAY5D,UAACb,KAAK;EAAA,OAAMA,KAAK,CAACc,WAAW,GAAGC,2BAAmB,GAAGC,mBAAW;AAAA,CAAC,CAEvE;AAAC;AAEK,IAAMC,uBAAuB,GAAG,IAAAX,yBAAM,EAACE,gBAAgB,CAAC,irBAC3DH,iBAAiB,EACG,UAACL,KAAK;EAAA,OAAMA,KAAK,CAACkB,wBAAwB,GAAG,aAAa,GAAGC,cAAM,CAACC,WAAW;AAAA,CAAC,EAG1F,UAACpB,KAAK;EAAA,OAAKA,KAAK,CAACqB,SAAS,IAAIF,cAAM,CAACG,KAAK;AAAA,GAExC,UAACtB,KAAK;EAAA,OAAKA,KAAK,CAACqB,SAAS,IAAIF,cAAM,CAACG,KAAK;AAAA,GAMpDjB,iBAAiB,EACGc,cAAM,CAACI,WAAW,EAEtClB,iBAAiB,EACjBA,iBAAiB,EACTc,cAAM,CAACG,KAAK,EAKpBjB,iBAAiB,EACHc,cAAM,CAACK,WAAW,EAEhCnB,iBAAiB,EACjBA,iBAAiB,EACTc,cAAM,CAACG,KAAK,EAIpBjB,iBAAiB,EACGc,cAAM,CAACM,WAAW,EAI5BN,cAAM,CAACG,KAAK,EAEdH,cAAM,CAACG,KAAK,CAGzB;AAAC;AAEK,IAAMI,yBAAyB,GAAG,IAAApB,yBAAM,EAACE,gBAAgB,CAAC,8rBAC7DH,iBAAiB,EACG,UAACL,KAAK;EAAA,OAAMA,KAAK,CAACkB,wBAAwB,GAAG,aAAa,GAAGC,cAAM,CAACG,KAAK;AAAA,CAAC,EAGpF,UAACtB,KAAK;EAAA,OAAKA,KAAK,CAACqB,SAAS,IAAIF,cAAM,CAACQ,WAAW;AAAA,GAE9C,UAAC3B,KAAK;EAAA,OAAKA,KAAK,CAACqB,SAAS,IAAIF,cAAM,CAACQ,WAAW;AAAA,GAK5C,UAAC3B,KAAK;EAAA,OAAMA,KAAK,CAAC4B,iBAAiB,GAAG,MAAM,GAAG,MAAM;AAAA,CAAC,EAGpEvB,iBAAiB,EACGc,cAAM,CAACU,UAAU,EAErCxB,iBAAiB,EACjBA,iBAAiB,EACTc,cAAM,CAACI,WAAW,EAK1BlB,iBAAiB,EACHc,cAAM,CAACW,WAAW,EAEhCzB,iBAAiB,EACjBA,iBAAiB,EACTc,cAAM,CAACK,WAAW,EAK1BnB,iBAAiB,EACG,UAACL,KAAK;EAAA,OAAMA,KAAK,CAACkB,wBAAwB,GAAG,aAAa,GAAGC,cAAM,CAACG,KAAK;AAAA,CAAC,EAIpFH,cAAM,CAACY,WAAW,EAEpBZ,cAAM,CAACY,WAAW,CAG/B;AAAC;AAmBF,IAAMC,UAAU,gBAAGC,cAAK,CAACC,UAAU,CACjC,gBAuBEC,GAAG,EACA;EAAA,IAtBDC,EAAE,QAAFA,EAAE;IACFC,OAAO,QAAPA,OAAO;IACPC,KAAK,QAALA,KAAK;IACLC,MAAM,QAANA,MAAM;IACN7B,cAAc,QAAdA,cAAc;IACd8B,cAAc,QAAdA,cAAc;IACdC,QAAQ,QAARA,QAAQ;IACRvB,wBAAwB,QAAxBA,wBAAwB;IACxBU,iBAAiB,QAAjBA,iBAAiB;IACjBc,QAAQ,QAARA,QAAQ;IACRrB,SAAS,QAATA,SAAS;IACTR,aAAa,QAAbA,aAAa;IACb8B,QAAQ,QAARA,QAAQ;IACRvC,QAAQ,QAARA,QAAQ;IACRH,YAAY,QAAZA,YAAY;IACZ2C,oBAAoB,QAApBA,oBAAoB;IACpBC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IACNhC,WAAW,QAAXA,WAAW;IACRiC,IAAI;EAIT;EACA,QAAQV,OAAO;IACb,KAAK,WAAW;MACd,oBACE,qBAAC,yBAAyB;QACxB,EAAE,EAAED,EAAG;QACP,IAAI,EAAES,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,QAAS;QACvB,eAAaT,EAAG;QAChB,GAAG,EAAED,GAAI;QACT,OAAO,EAAE,iBAACa,KAA0C,EAAK;UACvDA,KAAK,CAACC,eAAe,EAAE;UACvBV,MAAM,CAACS,KAAK,CAAC;QACf,CAAE;QACF,QAAQ,EAAEN,QAAS;QACnB,cAAc,EAAEhC,cAAc,IAAI,KAAM;QACxC,YAAY,EAAE8B,cAAe;QAC7B,wBAAwB,EAAEtB,wBAAyB;QACnD,iBAAiB,EAAEU,iBAAkB;QACrC,SAAS,EAAEP,SAAU;QACrB,aAAa,EAAER,aAAc;QAC7B,QAAQ,EAAE8B,QAAS;QACnB,YAAY,EAAE1C,YAAY,IAAIqC,KAAK,KAAK,UAAU,GAAG,EAAE,GAAG,CAAE;QAC5D,WAAW,EAAEY,iCAA0B;QACvC,MAAM,EAAEJ,MAAO;QACf,WAAW,EAAEhC,WAAY;QACzB,oBAAoB,EAAE8B;MAAqB,GACvCG,IAAI;QAAA,uBACR,qBAAC,iBAAiB;UAAA,UAAEN;QAAQ;MAAqB,GACvB;IAEhC,KAAK,SAAS;IACd;MACE,oBACE,qBAAC,uBAAuB;QACtB,EAAE,EAAEL,EAAG;QACP,IAAI,EAAES,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,QAAS;QACvB,eAAaT,EAAG;QAChB,QAAQ,EAAEhC,QAAS;QACnB,GAAG,EAAE+B,GAAI;QACT,OAAO,EAAE,iBAACa,KAA0C,EAAK;UACvDA,KAAK,CAACC,eAAe,EAAE;UACvBV,MAAM,CAACS,KAAK,CAAC;QACf,CAAE;QACF,QAAQ,EAAEN,QAAS;QACnB,cAAc,EAAEhC,cAAc,IAAI,KAAM;QACxC,YAAY,EAAE8B,cAAe;QAC7B,wBAAwB,EAAEtB,wBAAyB;QACnD,SAAS,EAAEG,SAAU;QACrB,aAAa,EAAER,aAAc;QAC7B,QAAQ,EAAE8B,QAAS;QACnB,YAAY,EAAE1C,YAAY,IAAIqC,KAAK,KAAK,UAAU,GAAG,EAAE,GAAG,CAAE;QAC5D,WAAW,EAAEY,iCAA0B;QACvC,MAAM,EAAEJ,MAAO;QACf,WAAW,EAAEhC,WAAY;QACzB,oBAAoB,EAAE8B;MAAqB,GACvCG,IAAI;QAAA,uBACR,qBAAC,iBAAiB;UAAA,UAAEN;QAAQ;MAAqB,GACzB;EAC1B;AAER,CAAC,CACF;AAAC;EAvGAJ,OAAO,4BAAG,SAAS,EAAG,WAAW;EACjCC,KAAK,4BAAG,QAAQ,EAAG,UAAU;EAC7BC,MAAM;EACN7B,cAAc;EAEd8B,cAAc;EACdtB,wBAAwB;EACxBU,iBAAiB;EACjBP,SAAS;EACTR,aAAa;EACbZ,YAAY;EACZ2C,oBAAoB;EACpBH,QAAQ;EACR3B,WAAW;AAAA;AAAA,eA4FEkB,UAAU;AAAA"}
1
+ {"version":3,"file":"Iconbutton.cjs","names":["getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","IconButtonContent","styled","div","StyledIconButton","button","hideOnLowWidth","BREAKPOINTS","MEDIUM","unsetIconSize","invertFocus","invertedFocusStyles","focusStyles","StyledPrimaryIconButton","useTransparentBackground","COLORS","primary_500","iconColor","white","primary_700","primary_800","neutral_200","StyledSecondaryIconButton","neutral_600","shouldNotInteract","primary_20","primary_100","neutral_300","IconButton","React","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","focusBackgroundColor","type","hidden","focusOnClick","rest","event","stopPropagation","defaultOnMouseDownHandler","undefined"],"sources":["../../src/Button/Iconbutton.tsx"],"sourcesContent":["import React from 'react';\nimport styled, { css, CSSProperties } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles } from '../styles';\nimport { defaultOnMouseDownHandler } from '../common';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n focusBackgroundColor?: string;\n invertFocus?: boolean;\n shouldNotInteract?: boolean;\n}\n\nconst getBorderRadius = (props: HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px');\n\nconst getBorderRadiusStyle = (props: HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch (props.flatEdge) {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n\n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nexport const IconButtonContent = styled.div``;\n\nexport const StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n position: relative;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n ${IconButtonContent} {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n\n &:focus {\n ${(props) => (props.invertFocus ? invertedFocusStyles : focusStyles)}\n }\n`;\n\nexport const StyledPrimaryIconButton = styled(StyledIconButton)`\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled),\n &.hover-state {\n ${IconButtonContent} {\n background-color: ${COLORS.primary_700};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled),\n &.active-state {\n ${IconButtonContent} {\n background: ${COLORS.primary_800};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n ${IconButtonContent} {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n`;\n\nexport const StyledSecondaryIconButton = styled(StyledIconButton)`\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n\n pointer-events: ${(props) => (props.shouldNotInteract ? 'none' : 'auto')};\n\n &:hover:not(:disabled) {\n ${IconButtonContent} {\n background-color: ${COLORS.primary_20};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled),\n &.active-state {\n ${IconButtonContent} {\n background: ${COLORS.primary_100};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n`;\n\nexport interface IconButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onMouseDown'> {\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n shouldNotInteract?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n focusBackgroundColor?: string;\n children?: React.ReactNode;\n invertFocus?: boolean;\n focusOnClick?: boolean;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n (\n {\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n shouldNotInteract,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n focusBackgroundColor,\n type,\n hidden,\n invertFocus,\n focusOnClick,\n ...rest\n }: IconButtonProps,\n ref,\n ) => {\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n action(event);\n }}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n shouldNotInteract={shouldNotInteract}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={!focusOnClick ? defaultOnMouseDownHandler : undefined}\n hidden={hidden}\n invertFocus={invertFocus}\n focusBackgroundColor={focusBackgroundColor}\n {...rest}>\n <IconButtonContent>{children}</IconButtonContent>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n action(event);\n }}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={!focusOnClick ? defaultOnMouseDownHandler : undefined}\n hidden={hidden}\n invertFocus={invertFocus}\n focusBackgroundColor={focusBackgroundColor}\n {...rest}>\n <IconButtonContent>{children}</IconButtonContent>\n </StyledPrimaryIconButton>\n );\n }\n },\n);\n\nexport default IconButton;\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AAEA;AACA;AAAsD;AAAA;AAAA;AAAA;AAAA;AAgBtD,IAAMA,eAAe,GAAG,SAAlBA,eAAe,CAAIC,KAAsB;EAAA,OAAMA,KAAK,CAACC,YAAY,aAAMD,KAAK,CAACC,YAAY,UAAO,KAAK;AAAA,CAAC;AAE5G,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIF,KAAsB,EAAK;EACvD,IAAMG,MAAM,GAAGJ,eAAe,CAACC,KAAK,CAAC;EACrC,QAAQA,KAAK,CAACI,QAAQ;IACpB,KAAK,MAAM;MACT,qBAAcD,MAAM,cAAIA,MAAM;IAEhC,KAAK,OAAO;MACV,iBAAUA,MAAM,sBAAYA,MAAM;IAEpC,KAAK,MAAM;IACX;MACE,iBAAUA,MAAM;EAAG;AAEzB,CAAC;AAEM,IAAME,iBAAiB,GAAGC,yBAAM,CAACC,GAAG,mFAAE;AAAC;AAEvC,IAAMC,gBAAgB,GAAGF,yBAAM,CAACG,MAAM,koBAQhC,UAACT,KAAK;EAAA,OAAMA,KAAK,CAACU,cAAc,GAAG,MAAM,GAAG,OAAO;AAAA,CAAC,EAC7DC,mBAAW,CAACC,MAAM,EAIH,UAACZ,KAAK;EAAA,OAAMA,KAAK,CAACC,YAAY,aAAMD,KAAK,CAACC,YAAY,UAAO,KAAK;AAAA,CAAC,EAClFI,iBAAiB,EAGAH,oBAAoB,EAKzB,UAACF,KAAK;EAAA,OAAMA,KAAK,CAACa,aAAa,GAAG,OAAO,GAAG,MAAM;AAAA,CAAC,EACpD,UAACb,KAAK;EAAA,OAAMA,KAAK,CAACa,aAAa,GAAG,OAAO,GAAG,MAAM;AAAA,CAAC,EAY5D,UAACb,KAAK;EAAA,OAAMA,KAAK,CAACc,WAAW,GAAGC,2BAAmB,GAAGC,mBAAW;AAAA,CAAC,CAEvE;AAAC;AAEK,IAAMC,uBAAuB,GAAG,IAAAX,yBAAM,EAACE,gBAAgB,CAAC,irBAC3DH,iBAAiB,EACG,UAACL,KAAK;EAAA,OAAMA,KAAK,CAACkB,wBAAwB,GAAG,aAAa,GAAGC,cAAM,CAACC,WAAW;AAAA,CAAC,EAG1F,UAACpB,KAAK;EAAA,OAAKA,KAAK,CAACqB,SAAS,IAAIF,cAAM,CAACG,KAAK;AAAA,GAExC,UAACtB,KAAK;EAAA,OAAKA,KAAK,CAACqB,SAAS,IAAIF,cAAM,CAACG,KAAK;AAAA,GAMpDjB,iBAAiB,EACGc,cAAM,CAACI,WAAW,EAEtClB,iBAAiB,EACjBA,iBAAiB,EACTc,cAAM,CAACG,KAAK,EAKpBjB,iBAAiB,EACHc,cAAM,CAACK,WAAW,EAEhCnB,iBAAiB,EACjBA,iBAAiB,EACTc,cAAM,CAACG,KAAK,EAIpBjB,iBAAiB,EACGc,cAAM,CAACM,WAAW,EAI5BN,cAAM,CAACG,KAAK,EAEdH,cAAM,CAACG,KAAK,CAGzB;AAAC;AAEK,IAAMI,yBAAyB,GAAG,IAAApB,yBAAM,EAACE,gBAAgB,CAAC,8rBAC7DH,iBAAiB,EACG,UAACL,KAAK;EAAA,OAAMA,KAAK,CAACkB,wBAAwB,GAAG,aAAa,GAAGC,cAAM,CAACG,KAAK;AAAA,CAAC,EAGpF,UAACtB,KAAK;EAAA,OAAKA,KAAK,CAACqB,SAAS,IAAIF,cAAM,CAACQ,WAAW;AAAA,GAE9C,UAAC3B,KAAK;EAAA,OAAKA,KAAK,CAACqB,SAAS,IAAIF,cAAM,CAACQ,WAAW;AAAA,GAK5C,UAAC3B,KAAK;EAAA,OAAMA,KAAK,CAAC4B,iBAAiB,GAAG,MAAM,GAAG,MAAM;AAAA,CAAC,EAGpEvB,iBAAiB,EACGc,cAAM,CAACU,UAAU,EAErCxB,iBAAiB,EACjBA,iBAAiB,EACTc,cAAM,CAACI,WAAW,EAK1BlB,iBAAiB,EACHc,cAAM,CAACW,WAAW,EAEhCzB,iBAAiB,EACjBA,iBAAiB,EACTc,cAAM,CAACK,WAAW,EAK1BnB,iBAAiB,EACG,UAACL,KAAK;EAAA,OAAMA,KAAK,CAACkB,wBAAwB,GAAG,aAAa,GAAGC,cAAM,CAACG,KAAK;AAAA,CAAC,EAIpFH,cAAM,CAACY,WAAW,EAEpBZ,cAAM,CAACY,WAAW,CAG/B;AAAC;AAoBF,IAAMC,UAAU,gBAAGC,cAAK,CAACC,UAAU,CACjC,gBAwBEC,GAAG,EACA;EAAA,IAvBDC,EAAE,QAAFA,EAAE;IACFC,OAAO,QAAPA,OAAO;IACPC,KAAK,QAALA,KAAK;IACLC,MAAM,QAANA,MAAM;IACN7B,cAAc,QAAdA,cAAc;IACd8B,cAAc,QAAdA,cAAc;IACdC,QAAQ,QAARA,QAAQ;IACRvB,wBAAwB,QAAxBA,wBAAwB;IACxBU,iBAAiB,QAAjBA,iBAAiB;IACjBc,QAAQ,QAARA,QAAQ;IACRrB,SAAS,QAATA,SAAS;IACTR,aAAa,QAAbA,aAAa;IACb8B,QAAQ,QAARA,QAAQ;IACRvC,QAAQ,QAARA,QAAQ;IACRH,YAAY,QAAZA,YAAY;IACZ2C,oBAAoB,QAApBA,oBAAoB;IACpBC,IAAI,QAAJA,IAAI;IACJC,MAAM,QAANA,MAAM;IACNhC,WAAW,QAAXA,WAAW;IACXiC,YAAY,QAAZA,YAAY;IACTC,IAAI;EAIT;EACA,QAAQX,OAAO;IACb,KAAK,WAAW;MACd,oBACE,qBAAC,yBAAyB;QACxB,EAAE,EAAED,EAAG;QACP,IAAI,EAAES,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,QAAS;QACvB,eAAaT,EAAG;QAChB,GAAG,EAAED,GAAI;QACT,OAAO,EAAE,iBAACc,KAA0C,EAAK;UACvDA,KAAK,CAACC,eAAe,EAAE;UACvBX,MAAM,CAACU,KAAK,CAAC;QACf,CAAE;QACF,QAAQ,EAAEP,QAAS;QACnB,cAAc,EAAEhC,cAAc,IAAI,KAAM;QACxC,YAAY,EAAE8B,cAAe;QAC7B,wBAAwB,EAAEtB,wBAAyB;QACnD,iBAAiB,EAAEU,iBAAkB;QACrC,SAAS,EAAEP,SAAU;QACrB,aAAa,EAAER,aAAc;QAC7B,QAAQ,EAAE8B,QAAS;QACnB,YAAY,EAAE1C,YAAY,IAAIqC,KAAK,KAAK,UAAU,GAAG,EAAE,GAAG,CAAE;QAC5D,WAAW,EAAE,CAACS,YAAY,GAAGI,iCAAyB,GAAGC,SAAU;QACnE,MAAM,EAAEN,MAAO;QACf,WAAW,EAAEhC,WAAY;QACzB,oBAAoB,EAAE8B;MAAqB,GACvCI,IAAI;QAAA,uBACR,qBAAC,iBAAiB;UAAA,UAAEP;QAAQ;MAAqB,GACvB;IAEhC,KAAK,SAAS;IACd;MACE,oBACE,qBAAC,uBAAuB;QACtB,EAAE,EAAEL,EAAG;QACP,IAAI,EAAES,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,QAAS;QACvB,eAAaT,EAAG;QAChB,QAAQ,EAAEhC,QAAS;QACnB,GAAG,EAAE+B,GAAI;QACT,OAAO,EAAE,iBAACc,KAA0C,EAAK;UACvDA,KAAK,CAACC,eAAe,EAAE;UACvBX,MAAM,CAACU,KAAK,CAAC;QACf,CAAE;QACF,QAAQ,EAAEP,QAAS;QACnB,cAAc,EAAEhC,cAAc,IAAI,KAAM;QACxC,YAAY,EAAE8B,cAAe;QAC7B,wBAAwB,EAAEtB,wBAAyB;QACnD,SAAS,EAAEG,SAAU;QACrB,aAAa,EAAER,aAAc;QAC7B,QAAQ,EAAE8B,QAAS;QACnB,YAAY,EAAE1C,YAAY,IAAIqC,KAAK,KAAK,UAAU,GAAG,EAAE,GAAG,CAAE;QAC5D,WAAW,EAAE,CAACS,YAAY,GAAGI,iCAAyB,GAAGC,SAAU;QACnE,MAAM,EAAEN,MAAO;QACf,WAAW,EAAEhC,WAAY;QACzB,oBAAoB,EAAE8B;MAAqB,GACvCI,IAAI;QAAA,uBACR,qBAAC,iBAAiB;UAAA,UAAEP;QAAQ;MAAqB,GACzB;EAC1B;AAER,CAAC,CACF;AAAC;EAzGAJ,OAAO,4BAAG,SAAS,EAAG,WAAW;EACjCC,KAAK,4BAAG,QAAQ,EAAG,UAAU;EAC7BC,MAAM;EACN7B,cAAc;EAEd8B,cAAc;EACdtB,wBAAwB;EACxBU,iBAAiB;EACjBP,SAAS;EACTR,aAAa;EACbZ,YAAY;EACZ2C,oBAAoB;EACpBH,QAAQ;EACR3B,WAAW;EACXiC,YAAY;AAAA;AAAA,eA6FCf,UAAU;AAAA"}
@@ -31,6 +31,7 @@ export interface IconButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLBut
31
31
  focusBackgroundColor?: string;
32
32
  children?: React.ReactNode;
33
33
  invertFocus?: boolean;
34
+ focusOnClick?: boolean;
34
35
  }
35
36
  declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
36
37
  export default IconButton;
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
4
4
  import _pt from "prop-types";
5
- var _excluded = ["id", "variant", "shape", "action", "hideOnLowWidth", "isInMobileMenu", "children", "useTransparentBackground", "shouldNotInteract", "disabled", "iconColor", "unsetIconSize", "tabIndex", "flatEdge", "borderRadius", "focusBackgroundColor", "type", "hidden", "invertFocus"];
5
+ var _excluded = ["id", "variant", "shape", "action", "hideOnLowWidth", "isInMobileMenu", "children", "useTransparentBackground", "shouldNotInteract", "disabled", "iconColor", "unsetIconSize", "tabIndex", "flatEdge", "borderRadius", "focusBackgroundColor", "type", "hidden", "invertFocus", "focusOnClick"];
6
6
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
7
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -76,6 +76,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
76
76
  type = _ref.type,
77
77
  hidden = _ref.hidden,
78
78
  invertFocus = _ref.invertFocus,
79
+ focusOnClick = _ref.focusOnClick,
79
80
  rest = _objectWithoutProperties(_ref, _excluded);
80
81
  // Let's render button
81
82
  switch (variant) {
@@ -98,7 +99,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
98
99
  unsetIconSize: unsetIconSize,
99
100
  tabIndex: tabIndex,
100
101
  borderRadius: borderRadius || shape === 'circular' ? 18 : 0,
101
- onMouseDown: defaultOnMouseDownHandler,
102
+ onMouseDown: !focusOnClick ? defaultOnMouseDownHandler : undefined,
102
103
  hidden: hidden,
103
104
  invertFocus: invertFocus,
104
105
  focusBackgroundColor: focusBackgroundColor
@@ -127,7 +128,7 @@ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
127
128
  unsetIconSize: unsetIconSize,
128
129
  tabIndex: tabIndex,
129
130
  borderRadius: borderRadius || shape === 'circular' ? 18 : 0,
130
- onMouseDown: defaultOnMouseDownHandler,
131
+ onMouseDown: !focusOnClick ? defaultOnMouseDownHandler : undefined,
131
132
  hidden: hidden,
132
133
  invertFocus: invertFocus,
133
134
  focusBackgroundColor: focusBackgroundColor
@@ -151,7 +152,8 @@ IconButton.propTypes = {
151
152
  borderRadius: _pt.number,
152
153
  focusBackgroundColor: _pt.string,
153
154
  children: _pt.node,
154
- invertFocus: _pt.bool
155
+ invertFocus: _pt.bool,
156
+ focusOnClick: _pt.bool
155
157
  };
156
158
  export default IconButton;
157
159
  //# sourceMappingURL=Iconbutton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Iconbutton.js","names":["React","styled","BREAKPOINTS","COLORS","focusStyles","invertedFocusStyles","defaultOnMouseDownHandler","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","IconButtonContent","div","StyledIconButton","button","hideOnLowWidth","MEDIUM","unsetIconSize","invertFocus","StyledPrimaryIconButton","useTransparentBackground","primary_500","iconColor","white","primary_700","primary_800","neutral_200","StyledSecondaryIconButton","neutral_600","shouldNotInteract","primary_20","primary_100","neutral_300","IconButton","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","focusBackgroundColor","type","hidden","rest","event","stopPropagation"],"sources":["../../src/Button/Iconbutton.tsx"],"sourcesContent":["import React from 'react';\nimport styled, { css, CSSProperties } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles } from '../styles';\nimport { defaultOnMouseDownHandler } from '../common';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n focusBackgroundColor?: string;\n invertFocus?: boolean;\n shouldNotInteract?: boolean;\n}\n\nconst getBorderRadius = (props: HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px');\n\nconst getBorderRadiusStyle = (props: HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch (props.flatEdge) {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n\n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nexport const IconButtonContent = styled.div``;\n\nexport const StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n position: relative;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n ${IconButtonContent} {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n\n &:focus {\n ${(props) => (props.invertFocus ? invertedFocusStyles : focusStyles)}\n }\n`;\n\nexport const StyledPrimaryIconButton = styled(StyledIconButton)`\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled),\n &.hover-state {\n ${IconButtonContent} {\n background-color: ${COLORS.primary_700};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled),\n &.active-state {\n ${IconButtonContent} {\n background: ${COLORS.primary_800};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n ${IconButtonContent} {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n`;\n\nexport const StyledSecondaryIconButton = styled(StyledIconButton)`\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n\n pointer-events: ${(props) => (props.shouldNotInteract ? 'none' : 'auto')};\n\n &:hover:not(:disabled) {\n ${IconButtonContent} {\n background-color: ${COLORS.primary_20};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled),\n &.active-state {\n ${IconButtonContent} {\n background: ${COLORS.primary_100};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n`;\n\nexport interface IconButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onMouseDown'> {\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n shouldNotInteract?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n focusBackgroundColor?: string;\n children?: React.ReactNode;\n invertFocus?: boolean;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n (\n {\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n shouldNotInteract,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n focusBackgroundColor,\n type,\n hidden,\n invertFocus,\n ...rest\n }: IconButtonProps,\n ref,\n ) => {\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n action(event);\n }}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n shouldNotInteract={shouldNotInteract}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n hidden={hidden}\n invertFocus={invertFocus}\n focusBackgroundColor={focusBackgroundColor}\n {...rest}>\n <IconButtonContent>{children}</IconButtonContent>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n action(event);\n }}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n hidden={hidden}\n invertFocus={invertFocus}\n focusBackgroundColor={focusBackgroundColor}\n {...rest}>\n <IconButtonContent>{children}</IconButtonContent>\n </StyledPrimaryIconButton>\n );\n }\n },\n);\n\nexport default IconButton;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Iconbutton.js","names":["React","styled","BREAKPOINTS","COLORS","focusStyles","invertedFocusStyles","defaultOnMouseDownHandler","getBorderRadius","props","borderRadius","getBorderRadiusStyle","radius","flatEdge","IconButtonContent","div","StyledIconButton","button","hideOnLowWidth","MEDIUM","unsetIconSize","invertFocus","StyledPrimaryIconButton","useTransparentBackground","primary_500","iconColor","white","primary_700","primary_800","neutral_200","StyledSecondaryIconButton","neutral_600","shouldNotInteract","primary_20","primary_100","neutral_300","IconButton","forwardRef","ref","id","variant","shape","action","isInMobileMenu","children","disabled","tabIndex","focusBackgroundColor","type","hidden","focusOnClick","rest","event","stopPropagation","undefined"],"sources":["../../src/Button/Iconbutton.tsx"],"sourcesContent":["import React from 'react';\nimport styled, { css, CSSProperties } from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, focusStyles, invertedFocusStyles } from '../styles';\nimport { defaultOnMouseDownHandler } from '../common';\n\ninterface HeaderItemProps {\n hideOnLowWidth: boolean;\n inMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n shape?: string;\n flatEdge?: string;\n focusBackgroundColor?: string;\n invertFocus?: boolean;\n shouldNotInteract?: boolean;\n}\n\nconst getBorderRadius = (props: HeaderItemProps) => (props.borderRadius ? `${props.borderRadius}px` : '4px');\n\nconst getBorderRadiusStyle = (props: HeaderItemProps) => {\n const radius = getBorderRadius(props);\n switch (props.flatEdge) {\n case 'left':\n return `0px ${radius} ${radius} 0px`;\n\n case 'right':\n return `${radius} 0px 0px ${radius}`;\n\n case 'none':\n default:\n return `${radius}`;\n }\n};\n\nexport const IconButtonContent = styled.div``;\n\nexport const StyledIconButton = styled.button<HeaderItemProps>`\n border-width: 0;\n cursor: pointer;\n height: 48px;\n width: 48px;\n background: transparent;\n position: relative;\n\n display: ${(props) => (props.hideOnLowWidth ? 'none' : 'block')};\n ${BREAKPOINTS.MEDIUM} {\n display: block;\n }\n\n border-radius: ${(props) => (props.borderRadius ? `${props.borderRadius}px` : '4px')};\n ${IconButtonContent} {\n height: 36px;\n width: 36px;\n border-radius: ${getBorderRadiusStyle};\n display: flex;\n justify-content: center;\n align-items: center;\n svg {\n height: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n width: ${(props) => (props.unsetIconSize ? 'unset' : '24px')};\n padding: 0;\n }\n }\n &:only-child {\n margin: 0;\n }\n &:disabled {\n cursor: not-allowed;\n }\n\n &:focus {\n ${(props) => (props.invertFocus ? invertedFocusStyles : focusStyles)}\n }\n`;\n\nexport const StyledPrimaryIconButton = styled(StyledIconButton)`\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.primary_500)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.white};\n path {\n fill: ${(props) => props.iconColor || COLORS.white};\n }\n }\n }\n &:hover:not(:disabled),\n &.hover-state {\n ${IconButtonContent} {\n background-color: ${COLORS.primary_700};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.white};\n }\n }\n &:active:not(:disabled),\n &.active-state {\n ${IconButtonContent} {\n background: ${COLORS.primary_800};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.white};\n }\n }\n &:disabled {\n ${IconButtonContent} {\n background-color: ${COLORS.neutral_200};\n }\n svg {\n path {\n fill: ${COLORS.white};\n }\n fill: ${COLORS.white};\n }\n }\n`;\n\nexport const StyledSecondaryIconButton = styled(StyledIconButton)`\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n\n svg {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n path {\n fill: ${(props) => props.iconColor || COLORS.neutral_600};\n }\n }\n }\n\n pointer-events: ${(props) => (props.shouldNotInteract ? 'none' : 'auto')};\n\n &:hover:not(:disabled) {\n ${IconButtonContent} {\n background-color: ${COLORS.primary_20};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.primary_700};\n }\n }\n &:active:not(:disabled),\n &.active-state {\n ${IconButtonContent} {\n background: ${COLORS.primary_100};\n }\n ${IconButtonContent} svg path,\n ${IconButtonContent} svg {\n fill: ${COLORS.primary_800};\n }\n }\n\n &:disabled {\n ${IconButtonContent} {\n background-color: ${(props) => (props.useTransparentBackground ? 'transparent' : COLORS.white)};\n }\n svg {\n path {\n fill: ${COLORS.neutral_300};\n }\n fill: ${COLORS.neutral_300};\n }\n }\n`;\n\nexport interface IconButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'onMouseDown'> {\n variant?: 'primary' | 'secondary';\n shape?: 'square' | 'circular';\n action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n hideOnLowWidth?: boolean;\n flatEdge?: 'right' | 'left' | 'none' | undefined;\n isInMobileMenu?: boolean;\n useTransparentBackground?: boolean;\n shouldNotInteract?: boolean;\n iconColor?: string;\n unsetIconSize?: boolean;\n borderRadius?: number;\n focusBackgroundColor?: string;\n children?: React.ReactNode;\n invertFocus?: boolean;\n focusOnClick?: boolean;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n (\n {\n id,\n variant,\n shape,\n action,\n hideOnLowWidth,\n isInMobileMenu,\n children,\n useTransparentBackground,\n shouldNotInteract,\n disabled,\n iconColor,\n unsetIconSize,\n tabIndex,\n flatEdge,\n borderRadius,\n focusBackgroundColor,\n type,\n hidden,\n invertFocus,\n focusOnClick,\n ...rest\n }: IconButtonProps,\n ref,\n ) => {\n // Let's render button\n switch (variant) {\n case 'secondary':\n return (\n <StyledSecondaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n action(event);\n }}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n shouldNotInteract={shouldNotInteract}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={!focusOnClick ? defaultOnMouseDownHandler : undefined}\n hidden={hidden}\n invertFocus={invertFocus}\n focusBackgroundColor={focusBackgroundColor}\n {...rest}>\n <IconButtonContent>{children}</IconButtonContent>\n </StyledSecondaryIconButton>\n );\n case 'primary':\n default:\n return (\n <StyledPrimaryIconButton\n id={id}\n type={type ?? 'button'}\n data-testid={id}\n flatEdge={flatEdge}\n ref={ref}\n onClick={(event: React.MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n action(event);\n }}\n disabled={disabled}\n hideOnLowWidth={hideOnLowWidth || false}\n inMobileMenu={isInMobileMenu}\n useTransparentBackground={useTransparentBackground}\n iconColor={iconColor}\n unsetIconSize={unsetIconSize}\n tabIndex={tabIndex}\n borderRadius={borderRadius || shape === 'circular' ? 18 : 0}\n onMouseDown={!focusOnClick ? defaultOnMouseDownHandler : undefined}\n hidden={hidden}\n invertFocus={invertFocus}\n focusBackgroundColor={focusBackgroundColor}\n {...rest}>\n <IconButtonContent>{children}</IconButtonContent>\n </StyledPrimaryIconButton>\n );\n }\n },\n);\n\nexport default IconButton;\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { HorizontalCardProps } from './types';
3
- declare type Props = Pick<HorizontalCardProps, 'actions' | 'disabled'>;
3
+ type Props = Pick<HorizontalCardProps, 'actions' | 'disabled'>;
4
4
  export declare const HorizontalCardActions: React.ForwardRefExoticComponent<Props & React.RefAttributes<React.RefObject<HTMLButtonElement>[]>>;
5
5
  export {};
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { HorizontalCardProps } from './types';
3
- declare type Props = Pick<HorizontalCardProps, 'title' | 'description' | 'progress' | 'tags'>;
3
+ type Props = Pick<HorizontalCardProps, 'title' | 'description' | 'progress' | 'tags'>;
4
4
  export declare const HorizontalCardBody: React.FunctionComponent<Props>;
5
5
  export {};
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
2
  import { HorizontalCardProps } from './types';
3
- declare type Props = Pick<HorizontalCardProps, 'image' | 'icon'>;
3
+ type Props = Pick<HorizontalCardProps, 'image' | 'icon'>;
4
4
  export declare const HorizontalCardThumbnail: React.FunctionComponent<Props>;
5
5
  export {};
@@ -4,14 +4,14 @@ import { ToggleButtonProps } from '../../Toggles/ToggleButton';
4
4
  import { DropdownButtonProps } from '../../Dropdown/DropdownButtonTypes';
5
5
  import { TagVariants } from '../../Tag';
6
6
  import { LinearProgressProps } from '../../LinearProgress/LinearProgress';
7
- export declare type HorizontalCardIconButton = Pick<IconButtonProps, 'action' | 'disabled'> & {
7
+ export type HorizontalCardIconButton = Pick<IconButtonProps, 'action' | 'disabled'> & {
8
8
  componentType: 'icon';
9
9
  icon: React.ReactNode;
10
10
  };
11
- export declare type HorizontalCardToggleButton = Pick<ToggleButtonProps, 'active' | 'onChange' | 'disabled' | 'defaultState' | 'activeState'> & {
11
+ export type HorizontalCardToggleButton = Pick<ToggleButtonProps, 'active' | 'onChange' | 'disabled' | 'defaultState' | 'activeState'> & {
12
12
  componentType: 'toggle';
13
13
  };
14
- export declare type HorizontalCardDropdownButton = Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'itemsType' | 'action' | 'actionIcon' | 'actionLabel' | 'actionLoading' | 'actionVariant' | 'multiSelect' | 'scrollable' | 'pinTopItem' | 'maxHeight'> & {
14
+ export type HorizontalCardDropdownButton = Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'itemsType' | 'action' | 'actionIcon' | 'actionLabel' | 'actionLoading' | 'actionVariant' | 'multiSelect' | 'scrollable' | 'pinTopItem' | 'maxHeight'> & {
15
15
  componentType: 'dropdown';
16
16
  icon: React.ReactNode;
17
17
  };
@@ -20,7 +20,7 @@ export interface HorizontalCardTag {
20
20
  icon?: React.ReactNode;
21
21
  variant?: TagVariants;
22
22
  }
23
- export declare type HorizontalCardLinearProgression = Pick<LinearProgressProps, 'max' | 'value'>;
23
+ export type HorizontalCardLinearProgression = Pick<LinearProgressProps, 'max' | 'value'>;
24
24
  export interface HorizontalCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onClick' | 'onKeyDown' | 'onMouseDown'> {
25
25
  variant?: 'outline' | 'elevated';
26
26
  action?: () => void;
@@ -36,5 +36,5 @@ export interface ChipValue extends Omit<React.HTMLAttributes<HTMLDivElement>, 't
36
36
  label: string;
37
37
  size?: Size;
38
38
  }
39
- export declare type ChipIcons = 'Add' | 'ArrowDropDown' | 'ArrowDropUp' | 'ArrowLineDown' | 'ArrowLineLeft' | 'ArrowLineRight' | 'ArrowLineUp' | 'ArrowStopLeft' | 'ArrowStopRight' | 'Attachment' | 'Attention' | 'BackwardsFiveSec' | 'Book' | 'BookmarkOff' | 'BookmarkOn' | 'Bullet' | 'Calendar' | 'CheckboxOff' | 'CheckboxOn' | 'CheckboxSemi' | 'CheckMark' | 'ChevronDown' | 'ChevronLeft' | 'ChevronRight' | 'ChevronUp' | 'Clear' | 'Close' | 'ClosedCaptionOn' | 'CloudAttention' | 'CloudCheck' | 'CloudDownload' | 'CloudLocked' | 'CloudNoConnection' | 'CloudSyncing' | 'CloudUpload' | 'Cloud' | 'Dashboard' | 'Delete' | 'Download' | 'DragHandle' | 'DragIndicator' | 'Edit' | 'Educator' | 'Equals' | 'EventLog' | 'ExtendTextArea' | 'Filter' | 'Forward' | 'ForwardSlash' | 'ForwardFiveSec' | 'FullscreenExit' | 'Fullscreen' | 'GearSettings' | 'GridView' | 'Group' | 'GuidedTour' | 'Help' | 'Hierarchy' | 'History' | 'Home' | 'Information' | 'Institute' | 'Language' | 'ListView' | 'LoadingMedium' | 'LoadingSmall' | 'LockedOff' | 'LockedOn' | 'Login' | 'Logout' | 'Loop' | 'Mail' | 'Manikin' | 'MapPoint' | 'Menu' | 'Minus' | 'MoreHorizontal' | 'MoreVertical' | 'NotificationNew' | 'Notification' | 'OpenFolder' | 'OpenNewWindow' | 'Pause' | 'PlayOutline' | 'Play' | 'Plus' | 'PointDown' | 'PointLeft' | 'PointRight' | 'PointUp' | 'RadioButtonOff' | 'RadioButtonOn' | 'Record' | 'Refresh' | 'Replay' | 'Rewind' | 'Save' | 'Search' | 'Share' | 'ShoppingCart' | 'StarFilled' | 'StarOutlined' | 'Stop' | 'Support' | 'Team' | 'ThumbsDown' | 'ThumbsUp' | 'TimeLimited' | 'Time' | 'Tip' | 'Upload' | 'Usb' | 'User' | 'Video' | 'VisibleOff' | 'VisibleOn' | 'VolumeDown' | 'VolumeOff' | 'VolumeUp';
40
- export declare type ChipVariant = States.Default | States.Invalid;
39
+ export type ChipIcons = 'Add' | 'ArrowDropDown' | 'ArrowDropUp' | 'ArrowLineDown' | 'ArrowLineLeft' | 'ArrowLineRight' | 'ArrowLineUp' | 'ArrowStopLeft' | 'ArrowStopRight' | 'Attachment' | 'Attention' | 'BackwardsFiveSec' | 'Book' | 'BookmarkOff' | 'BookmarkOn' | 'Bullet' | 'Calendar' | 'CheckboxOff' | 'CheckboxOn' | 'CheckboxSemi' | 'CheckMark' | 'ChevronDown' | 'ChevronLeft' | 'ChevronRight' | 'ChevronUp' | 'Clear' | 'Close' | 'ClosedCaptionOn' | 'CloudAttention' | 'CloudCheck' | 'CloudDownload' | 'CloudLocked' | 'CloudNoConnection' | 'CloudSyncing' | 'CloudUpload' | 'Cloud' | 'Dashboard' | 'Delete' | 'Download' | 'DragHandle' | 'DragIndicator' | 'Edit' | 'Educator' | 'Equals' | 'EventLog' | 'ExtendTextArea' | 'Filter' | 'Forward' | 'ForwardSlash' | 'ForwardFiveSec' | 'FullscreenExit' | 'Fullscreen' | 'GearSettings' | 'GridView' | 'Group' | 'GuidedTour' | 'Help' | 'Hierarchy' | 'History' | 'Home' | 'Information' | 'Institute' | 'Language' | 'ListView' | 'LoadingMedium' | 'LoadingSmall' | 'LockedOff' | 'LockedOn' | 'Login' | 'Logout' | 'Loop' | 'Mail' | 'Manikin' | 'MapPoint' | 'Menu' | 'Minus' | 'MoreHorizontal' | 'MoreVertical' | 'NotificationNew' | 'Notification' | 'OpenFolder' | 'OpenNewWindow' | 'Pause' | 'PlayOutline' | 'Play' | 'Plus' | 'PointDown' | 'PointLeft' | 'PointRight' | 'PointUp' | 'RadioButtonOff' | 'RadioButtonOn' | 'Record' | 'Refresh' | 'Replay' | 'Rewind' | 'Save' | 'Search' | 'Share' | 'ShoppingCart' | 'StarFilled' | 'StarOutlined' | 'Stop' | 'Support' | 'Team' | 'ThumbsDown' | 'ThumbsUp' | 'TimeLimited' | 'Time' | 'Tip' | 'Upload' | 'Usb' | 'User' | 'Video' | 'VisibleOff' | 'VisibleOn' | 'VolumeDown' | 'VolumeOff' | 'VolumeUp';
40
+ export type ChipVariant = States.Default | States.Invalid;
@@ -1 +1 @@
1
- {"version":3,"file":"ChipDropdownInput.cjs","names":["Wrapper","styled","div","ChipInputContainer","Z_INDEXES","dropdown","ChipDropdownInput","React","forwardRef","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","useState","givenList","setGivenList","chips","setChips","activeDescendant","setActiveDescendant","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","useClickOutsideRef","useFocusOutsideRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","a","find","b","label","index","variant","States","Default","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","SystemIcons","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size, States} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends ChipInputProps {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required,\n ...rest\n }: ChipDropdownInputProps, ref) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<any>();\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n role=\"combobox\"\n aria-activedescendant={activeDescendant}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}\n {...rest}/>\n <DropdownContent\n containerRef={containerRef}\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChipDropdownInput.cjs","names":["Wrapper","styled","div","ChipInputContainer","Z_INDEXES","dropdown","ChipDropdownInput","React","forwardRef","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","useState","givenList","setGivenList","chips","setChips","activeDescendant","setActiveDescendant","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","useClickOutsideRef","useFocusOutsideRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","a","find","b","label","index","variant","States","Default","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","SystemIcons","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size, States} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends Omit<ChipInputProps, 'autoSave'> {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required,\n ...rest\n }: ChipDropdownInputProps, ref) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<any>();\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n role=\"combobox\"\n aria-activedescendant={activeDescendant}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}\n {...rest}/>\n <DropdownContent\n containerRef={containerRef}\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n});\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ interface ListItem extends ChipItem {
7
7
  secondaryLabel?: string;
8
8
  value: string;
9
9
  }
10
- interface ChipDropdownInputProps extends ChipInputProps {
10
+ interface ChipDropdownInputProps extends Omit<ChipInputProps, 'autoSave'> {
11
11
  list: ListItem[] | string[];
12
12
  onInputChange?: (input: string) => void;
13
13
  messageOnNoResults?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ChipDropdownInput.js","names":["React","styled","ChipInputContainer","ChipInputField","Size","States","DropdownContent","SystemIcons","useClickOutsideRef","useFocusOutsideRef","Z_INDEXES","Wrapper","div","dropdown","ChipDropdownInput","forwardRef","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","useState","givenList","setGivenList","chips","setChips","activeDescendant","setActiveDescendant","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","a","find","b","label","index","variant","Default","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size, States} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends ChipInputProps {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required,\n ...rest\n }: ChipDropdownInputProps, ref) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<any>();\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n role=\"combobox\"\n aria-activedescendant={activeDescendant}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}\n {...rest}/>\n <DropdownContent\n containerRef={containerRef}\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChipDropdownInput.js","names":["React","styled","ChipInputContainer","ChipInputField","Size","States","DropdownContent","SystemIcons","useClickOutsideRef","useFocusOutsideRef","Z_INDEXES","Wrapper","div","dropdown","ChipDropdownInput","forwardRef","ref","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","rest","useState","givenList","setGivenList","chips","setChips","activeDescendant","setActiveDescendant","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","inputRef","useRef","useImperativeHandle","current","useEffect","map","a","find","b","label","index","variant","Default","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size, States} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends Omit<ChipInputProps, 'autoSave'> {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput = React.forwardRef<HTMLInputElement | undefined, ChipDropdownInputProps>(({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required,\n ...rest\n }: ChipDropdownInputProps, ref) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [activeDescendant, setActiveDescendant] = React.useState<string>();\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<any>();\n\n React.useImperativeHandle(ref, () => inputRef.current, [inputRef]);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n role=\"combobox\"\n aria-activedescendant={activeDescendant}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}\n {...rest}/>\n <DropdownContent\n containerRef={containerRef}\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList,\n }}\n ariaRolesType=\"input\"\n focused={focused}\n setFocused={setFocused}\n onActiveDescendantChanged={(e) => setActiveDescendant(e)}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n});\n"],"mappings":"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"}