@chayns-components/core 5.5.1 → 5.5.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.
package/AGENTS.md CHANGED
@@ -4682,6 +4682,18 @@ import { TagInput } from '@chayns-components/core';
4682
4682
  />
4683
4683
  ```
4684
4684
 
4685
+ #### Small
4686
+
4687
+ ```tsx
4688
+ <TagInput
4689
+ tags={[
4690
+ { id: 'pizza', text: 'Pizza' },
4691
+ { id: 'nudeln', text: 'Nudeln' },
4692
+ ]}
4693
+ size={InputSize.Small}
4694
+ />
4695
+ ```
4696
+
4685
4697
  ### Props
4686
4698
 
4687
4699
  No prop documentation available.
@@ -51,9 +51,9 @@ const StyledMotionAccordion = exports.StyledMotionAccordion = (0, _styledCompone
51
51
  theme,
52
52
  $bottomBorderColor
53
53
  }) => {
54
- if ($bottomBorderColor && $shouldForceBottomLine) {
54
+ if ($shouldForceBottomLine) {
55
55
  return (0, _styledComponents.css)`
56
- border-bottom-color: ${$bottomBorderColor};
56
+ border-bottom-color: ${$bottomBorderColor ?? `rgba(${theme['headline-rgb'] ?? '0 0 0'}, 1)`};
57
57
  `;
58
58
  }
59
59
  if ($shouldForceBackground || $shouldHideBottomLine) return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.styles.js","names":["_react","require","_styledComponents","_interopRequireWildcard","_keyboardFocusHighlighting","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledMotionAccordion","exports","styled","motion","div","$isOpen","$isWrapped","$shouldForceBackground","$shouldHideBackground","theme","css","cardBackgroundOpacity","cardBorderRadius","cardShadow","accordionLines","$shouldForceBottomLine","$shouldShowLines","$shouldHideBottomLine","$bottomBorderColor","undefined","shouldShowBottomBorder","$isParentWrapped","$shouldEnableKeyboardHighlighting","$shouldShowKeyboardHighlighting","keyboardFocusHighlightingRingCss"],"sources":["../../../../src/components/accordion/Accordion.styles.ts"],"sourcesContent":["import { motion } from 'motion/react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { keyboardFocusHighlightingRingCss } from '../../utils/keyboardFocusHighlighting.styles';\n\ntype StyledMotionAccordionProps = WithTheme<{\n $isOpen: boolean;\n $isParentWrapped?: boolean;\n $isWrapped?: boolean;\n $shouldForceBackground?: boolean;\n $shouldForceBottomLine?: boolean;\n $shouldHideBackground?: boolean;\n $shouldShowLines?: boolean;\n $shouldHideBottomLine: boolean;\n $bottomBorderColor?: string;\n $shouldEnableKeyboardHighlighting?: boolean;\n $shouldShowKeyboardHighlighting?: boolean;\n}>;\n\nexport const StyledMotionAccordion = styled(motion.div)<StyledMotionAccordionProps>`\n ${({\n $isOpen,\n $isWrapped,\n $shouldForceBackground,\n $shouldHideBackground,\n theme,\n }: StyledMotionAccordionProps) =>\n ($isOpen || $shouldForceBackground) &&\n !$isWrapped &&\n !$shouldHideBackground &&\n css`\n background-color: rgba(${theme['100-rgb']}, ${theme.cardBackgroundOpacity});\n border-radius: ${theme.cardBorderRadius}px;\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, ${theme.cardShadow});\n `}\n\n ${({ theme }: StyledMotionAccordionProps) =>\n theme.accordionLines &&\n css`\n border-bottom: 1px solid transparent;\n `}\n\n margin-bottom: ${({ $isOpen, $isWrapped }: StyledMotionAccordionProps) =>\n $isOpen && !$isWrapped ? '30px' : '0px'};\n transition:\n background-color 0.3s ease,\n border-bottom-color 0.3s ease,\n border-radius 0.3s ease,\n box-shadow 0.3s ease,\n margin-bottom 0.3s ease;\n will-change: unset !important;\n\n margin-top: 10px;\n\n ${({\n $isOpen,\n $isWrapped,\n $shouldForceBackground,\n $shouldForceBottomLine,\n $shouldShowLines,\n $shouldHideBottomLine,\n theme,\n $bottomBorderColor,\n }: StyledMotionAccordionProps) => {\n if ($bottomBorderColor && $shouldForceBottomLine) {\n return css`\n border-bottom-color: ${$bottomBorderColor};\n `;\n }\n\n if ($shouldForceBackground || $shouldHideBottomLine) return undefined;\n const shouldShowBottomBorder =\n theme.accordionLines && $shouldShowLines && ($isWrapped || !$isOpen);\n\n if ($bottomBorderColor && shouldShowBottomBorder)\n return css`\n border-bottom-color: ${$bottomBorderColor};\n `;\n\n if (shouldShowBottomBorder) {\n return css`\n border-bottom-color: rgba(${theme['headline-rgb']}, 1);\n `;\n }\n\n return undefined;\n }}\n ${({ $isParentWrapped }: StyledMotionAccordionProps) =>\n $isParentWrapped &&\n css`\n padding-left: 17px;\n `}\n ${({ $isWrapped }: StyledMotionAccordionProps) =>\n !$isWrapped\n ? css`\n margin-top: 5px;\n `\n : css`\n margin: 0;\n `}\n ${({\n $isWrapped,\n $shouldHideBackground,\n theme,\n $shouldEnableKeyboardHighlighting,\n }: StyledMotionAccordionProps) =>\n !$isWrapped &&\n !$shouldHideBackground &&\n css`\n &:hover {\n background-color: rgba(${theme['100-rgb']}, ${theme.cardBackgroundOpacity});\n }\n ${!$shouldEnableKeyboardHighlighting\n ? css`\n &:focus-visible {\n background-color: rgba(\n ${theme['100-rgb']},\n ${theme.cardBackgroundOpacity}\n );\n }\n `\n : null}\n `};\n\n ${({\n $shouldEnableKeyboardHighlighting,\n $shouldShowKeyboardHighlighting,\n $shouldHideBackground,\n }: StyledMotionAccordionProps) =>\n $shouldEnableKeyboardHighlighting &&\n $shouldShowKeyboardHighlighting &&\n !$shouldHideBackground &&\n css`\n &:focus-visible {\n transition: none;\n ${keyboardFocusHighlightingRingCss};\n }\n `};\n`;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Accordion.styles.js","names":["_react","require","_styledComponents","_interopRequireWildcard","_keyboardFocusHighlighting","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledMotionAccordion","exports","styled","motion","div","$isOpen","$isWrapped","$shouldForceBackground","$shouldHideBackground","theme","css","cardBackgroundOpacity","cardBorderRadius","cardShadow","accordionLines","$shouldForceBottomLine","$shouldShowLines","$shouldHideBottomLine","$bottomBorderColor","undefined","shouldShowBottomBorder","$isParentWrapped","$shouldEnableKeyboardHighlighting","$shouldShowKeyboardHighlighting","keyboardFocusHighlightingRingCss"],"sources":["../../../../src/components/accordion/Accordion.styles.ts"],"sourcesContent":["import { motion } from 'motion/react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { keyboardFocusHighlightingRingCss } from '../../utils/keyboardFocusHighlighting.styles';\n\ntype StyledMotionAccordionProps = WithTheme<{\n $isOpen: boolean;\n $isParentWrapped?: boolean;\n $isWrapped?: boolean;\n $shouldForceBackground?: boolean;\n $shouldForceBottomLine?: boolean;\n $shouldHideBackground?: boolean;\n $shouldShowLines?: boolean;\n $shouldHideBottomLine: boolean;\n $bottomBorderColor?: string;\n $shouldEnableKeyboardHighlighting?: boolean;\n $shouldShowKeyboardHighlighting?: boolean;\n}>;\n\nexport const StyledMotionAccordion = styled(motion.div)<StyledMotionAccordionProps>`\n ${({\n $isOpen,\n $isWrapped,\n $shouldForceBackground,\n $shouldHideBackground,\n theme,\n }: StyledMotionAccordionProps) =>\n ($isOpen || $shouldForceBackground) &&\n !$isWrapped &&\n !$shouldHideBackground &&\n css`\n background-color: rgba(${theme['100-rgb']}, ${theme.cardBackgroundOpacity});\n border-radius: ${theme.cardBorderRadius}px;\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, ${theme.cardShadow});\n `}\n\n ${({ theme }: StyledMotionAccordionProps) =>\n theme.accordionLines &&\n css`\n border-bottom: 1px solid transparent;\n `}\n\n margin-bottom: ${({ $isOpen, $isWrapped }: StyledMotionAccordionProps) =>\n $isOpen && !$isWrapped ? '30px' : '0px'};\n transition:\n background-color 0.3s ease,\n border-bottom-color 0.3s ease,\n border-radius 0.3s ease,\n box-shadow 0.3s ease,\n margin-bottom 0.3s ease;\n will-change: unset !important;\n\n margin-top: 10px;\n\n ${({\n $isOpen,\n $isWrapped,\n $shouldForceBackground,\n $shouldForceBottomLine,\n $shouldShowLines,\n $shouldHideBottomLine,\n theme,\n $bottomBorderColor,\n }: StyledMotionAccordionProps) => {\n if ($shouldForceBottomLine) {\n return css`\n border-bottom-color: ${$bottomBorderColor ??\n `rgba(${theme['headline-rgb'] ?? '0 0 0'}, 1)`};\n `;\n }\n\n if ($shouldForceBackground || $shouldHideBottomLine) return undefined;\n const shouldShowBottomBorder =\n theme.accordionLines && $shouldShowLines && ($isWrapped || !$isOpen);\n\n if ($bottomBorderColor && shouldShowBottomBorder)\n return css`\n border-bottom-color: ${$bottomBorderColor};\n `;\n\n if (shouldShowBottomBorder) {\n return css`\n border-bottom-color: rgba(${theme['headline-rgb']}, 1);\n `;\n }\n\n return undefined;\n }}\n ${({ $isParentWrapped }: StyledMotionAccordionProps) =>\n $isParentWrapped &&\n css`\n padding-left: 17px;\n `}\n ${({ $isWrapped }: StyledMotionAccordionProps) =>\n !$isWrapped\n ? css`\n margin-top: 5px;\n `\n : css`\n margin: 0;\n `}\n ${({\n $isWrapped,\n $shouldHideBackground,\n theme,\n $shouldEnableKeyboardHighlighting,\n }: StyledMotionAccordionProps) =>\n !$isWrapped &&\n !$shouldHideBackground &&\n css`\n &:hover {\n background-color: rgba(${theme['100-rgb']}, ${theme.cardBackgroundOpacity});\n }\n ${!$shouldEnableKeyboardHighlighting\n ? css`\n &:focus-visible {\n background-color: rgba(\n ${theme['100-rgb']},\n ${theme.cardBackgroundOpacity}\n );\n }\n `\n : null}\n `};\n\n ${({\n $shouldEnableKeyboardHighlighting,\n $shouldShowKeyboardHighlighting,\n $shouldHideBackground,\n }: StyledMotionAccordionProps) =>\n $shouldEnableKeyboardHighlighting &&\n $shouldShowKeyboardHighlighting &&\n !$shouldHideBackground &&\n css`\n &:focus-visible {\n transition: none;\n ${keyboardFocusHighlightingRingCss};\n }\n `};\n`;\n"],"mappings":"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","ignoreList":[]}
@@ -36,9 +36,9 @@ const StyledBadge = exports.StyledBadge = _styledComponents.default.div`
36
36
  border-radius: ${$borderRadius};
37
37
  color: ${$fontColor ?? theme.text};
38
38
  display: inline-block;
39
- font-size: 0.8rem;
39
+ font-size: ${($size === null || $size === void 0 ? void 0 : $size.font) ?? '80%'};
40
40
  min-width: ${$minWidth};
41
- padding: 2px 6px;
41
+ padding: ${($size === null || $size === void 0 ? void 0 : $size.padding) ?? '2px 6px'};
42
42
  line-height: 20px;
43
43
  text-align: center;
44
44
  cursor: ${$cursor};
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_Badge","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledBadge","exports","styled","div","$backgroundColor","theme","$fontColor","$design","$cursor","$borderRadius","$size","$minWidth","BadgeDesign","BORDER","css","primary","font","padding","DEFAULT","text"],"sources":["../../../../src/components/badge/Badge.styles.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { BadgeDesign } from './Badge.types';\n\ntype StyledBadgeProps = WithTheme<{\n $cursor: CSSProperties['cursor'];\n $backgroundColor?: CSSProperties['backgroundColor'];\n $borderRadius: CSSProperties['borderRadius'];\n $fontColor?: CSSProperties['color'];\n $minWidth: CSSProperties['minWidth'];\n $size?: { font: CSSProperties['fontSize']; padding: CSSProperties['padding'] };\n $design: BadgeDesign;\n}>;\n\nexport const StyledBadge = styled.div<StyledBadgeProps>`\n ${({\n $backgroundColor,\n theme,\n $fontColor,\n $design,\n $cursor,\n $borderRadius,\n $size,\n $minWidth,\n }: StyledBadgeProps) => {\n switch ($design) {\n case BadgeDesign.BORDER:\n return css`\n border-radius: 50px;\n border: 1px solid ${theme.primary};\n color: ${theme.primary};\n font-size: ${$size?.font};\n padding: ${$size?.padding};\n user-select: none;\n width: fit-content;\n `;\n case BadgeDesign.DEFAULT:\n default:\n return css`\n background-color: ${$backgroundColor ?? theme['secondary-202']};\n border-radius: ${$borderRadius};\n color: ${$fontColor ?? theme.text};\n display: inline-block;\n font-size: 0.8rem;\n min-width: ${$minWidth};\n padding: 2px 6px;\n line-height: 20px;\n text-align: center;\n cursor: ${$cursor};\n `;\n }\n }}\n`;\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAA4C,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAYrC,MAAMkB,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,yBAAM,CAACC,GAAqB;AACvD,MAAM,CAAC;EACCC,gBAAgB;EAChBC,KAAK;EACLC,UAAU;EACVC,OAAO;EACPC,OAAO;EACPC,aAAa;EACbC,KAAK;EACLC;AACc,CAAC,KAAK;EACpB,QAAQJ,OAAO;IACX,KAAKK,kBAAW,CAACC,MAAM;MACnB,OAAO,IAAAC,qBAAG;AAC1B;AACA,wCAAwCT,KAAK,CAACU,OAAO;AACrD,6BAA6BV,KAAK,CAACU,OAAO;AAC1C,iCAAiCL,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEM,IAAI;AAC5C,+BAA+BN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,OAAO;AAC7C;AACA;AACA,iBAAiB;IACL,KAAKL,kBAAW,CAACM,OAAO;IACxB;MACI,OAAO,IAAAJ,qBAAG;AAC1B,wCAAwCV,gBAAgB,IAAIC,KAAK,CAAC,eAAe,CAAC;AAClF,qCAAqCI,aAAa;AAClD,6BAA6BH,UAAU,IAAID,KAAK,CAACc,IAAI;AACrD;AACA;AACA,iCAAiCR,SAAS;AAC1C;AACA;AACA;AACA,8BAA8BH,OAAO;AACrC,iBAAiB;EACT;AACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Badge.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_Badge","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledBadge","exports","styled","div","$backgroundColor","theme","$fontColor","$design","$cursor","$borderRadius","$size","$minWidth","BadgeDesign","BORDER","css","primary","font","padding","DEFAULT","text"],"sources":["../../../../src/components/badge/Badge.styles.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\nimport { BadgeDesign } from './Badge.types';\n\ntype StyledBadgeProps = WithTheme<{\n $cursor: CSSProperties['cursor'];\n $backgroundColor?: CSSProperties['backgroundColor'];\n $borderRadius: CSSProperties['borderRadius'];\n $fontColor?: CSSProperties['color'];\n $minWidth: CSSProperties['minWidth'];\n $size?: { font: CSSProperties['fontSize']; padding: CSSProperties['padding'] };\n $design: BadgeDesign;\n}>;\n\nexport const StyledBadge = styled.div<StyledBadgeProps>`\n ${({\n $backgroundColor,\n theme,\n $fontColor,\n $design,\n $cursor,\n $borderRadius,\n $size,\n $minWidth,\n }: StyledBadgeProps) => {\n switch ($design) {\n case BadgeDesign.BORDER:\n return css`\n border-radius: 50px;\n border: 1px solid ${theme.primary};\n color: ${theme.primary};\n font-size: ${$size?.font};\n padding: ${$size?.padding};\n user-select: none;\n width: fit-content;\n `;\n case BadgeDesign.DEFAULT:\n default:\n return css`\n background-color: ${$backgroundColor ?? theme['secondary-202']};\n border-radius: ${$borderRadius};\n color: ${$fontColor ?? theme.text};\n display: inline-block;\n font-size: ${$size?.font ?? '80%'};\n min-width: ${$minWidth};\n padding: ${$size?.padding ?? '2px 6px'};\n line-height: 20px;\n text-align: center;\n cursor: ${$cursor};\n `;\n }\n }}\n`;\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAA4C,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAYrC,MAAMkB,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,yBAAM,CAACC,GAAqB;AACvD,MAAM,CAAC;EACCC,gBAAgB;EAChBC,KAAK;EACLC,UAAU;EACVC,OAAO;EACPC,OAAO;EACPC,aAAa;EACbC,KAAK;EACLC;AACc,CAAC,KAAK;EACpB,QAAQJ,OAAO;IACX,KAAKK,kBAAW,CAACC,MAAM;MACnB,OAAO,IAAAC,qBAAG;AAC1B;AACA,wCAAwCT,KAAK,CAACU,OAAO;AACrD,6BAA6BV,KAAK,CAACU,OAAO;AAC1C,iCAAiCL,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEM,IAAI;AAC5C,+BAA+BN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,OAAO;AAC7C;AACA;AACA,iBAAiB;IACL,KAAKL,kBAAW,CAACM,OAAO;IACxB;MACI,OAAO,IAAAJ,qBAAG;AAC1B,wCAAwCV,gBAAgB,IAAIC,KAAK,CAAC,eAAe,CAAC;AAClF,qCAAqCI,aAAa;AAClD,6BAA6BH,UAAU,IAAID,KAAK,CAACc,IAAI;AACrD;AACA,iCAAiC,CAAAT,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEM,IAAI,KAAI,KAAK;AACrD,iCAAiCL,SAAS;AAC1C,+BAA+B,CAAAD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,OAAO,KAAI,SAAS;AAC1D;AACA;AACA,8BAA8BT,OAAO;AACrC,iBAAiB;EACT;AACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -647,6 +647,7 @@ const SearchBox = /*#__PURE__*/(0, _react.forwardRef)(({
647
647
  onRemove: tagInputSettings.onRemove,
648
648
  placeholder: placeholder,
649
649
  ref: tagInputRef,
650
+ size: tagInputSettings.size,
650
651
  shouldAllowMultiple: tagInputSettings.shouldAllowMultiple,
651
652
  shouldEnableKeyboardHighlighting: shouldEnableKeyboardHighlighting,
652
653
  shouldPreventEnter: true,
@@ -1 +1 @@
1
- {"version":3,"file":"SearchBox.js","names":["_chaynsApi","require","_react","_interopRequireWildcard","_styledComponents","_calculate","_searchBox","_Icon","_interopRequireDefault","_Input","_GroupName","_SearchBoxBody","_SearchBoxItem","_SearchBoxItem2","_SearchBox","_uuid","_DropdownBodyWrapper","_TagInput","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","filterSearchBoxItems","customFilter","items","searchString","shouldUseCustomFilterOnly","searchList","filteredItems","filter","sortSearchBoxItems","getDropdownSearchString","selectedId","shouldKeepSelectedItemPosition","value","SearchBox","forwardRef","container","dropdownDirection","inputProps","isInvalid","leftIcons","lists","maxHeight","onBlur","onChange","onKeyDown","onSelect","placeholder","presetValue","hintText","shouldAddInputToList","shouldHideFilterButtons","shouldShowContentOnEmptyInput","shouldShowSmallItems","shouldShowRoundImage","shouldShowToggleIcon","tagInputSettings","shouldEnableKeyboardHighlighting","ref","matchingListsItems","setMatchingListsItems","useState","selectedImage","setSelectedImage","internalValue","setInternalValue","inputValue","setValue","useCallback","nextValue","height","setHeight","focusedIndex","setFocusedIndex","hasMultipleGroups","setHasMultipleGroups","filteredChildrenArray","setFilteredChildrenArray","inputToListValue","setInputToListValue","groups","setGroups","shouldShowBody","setShouldShowBody","uuid","useUuid","boxRef","useRef","contentRef","inputRef","tagInputRef","hasFocusRef","isAnimatingRef","shouldShowPresetValue","theme","useTheme","dropdownSearchString","isTouch","useDevice","useEffect","filterButtons","useMemo","forEach","groupName","push","id","text","activeList","newLists","list","includes","newMatchingItems","newList","undefined","filteredMatchingListItems","map","item","handleOpen","handleClose","handleFilterButtonsGroupSelect","keys","textArray","calculateContentHeight","selectedItem","find","imageUrl","createElement","StyledSearchBoxItemImage","src","$shouldShowRoundImage","current","handleFocus","event","onFocus","handleKeyDown","toLowerCase","handleClick","rightElement","StyledSearchBoxIcon","onClick","icons","color","leftElement","StyledSearchBoxLeftWrapper","handleChange","filteredLists","target","handleBlur","handleDropdownOutsideClick","_tagInputRef$current","blur","handleContainerBlur","_contentRef$current","nextFocusedElement","relatedTarget","currentContainer","currentTarget","contains","handleSelect","newItem","replace","_tagInputRef$current2","resetValue","content","StyledSearchBoxHintText","index","key","name","listIndex","tabIndex","_contentRef$current2","_childrenArray$find","children","childrenArray","Array","from","newChildren","child","startsWith","filteredChildren","dataset","isgroupname","preventDefault","newIndex","prevElement","newElement","stopPropagation","_element$children$","element","textContent","attributes","_element$children$2","nodeValue","newId","document","addEventListener","removeEventListener","handleKeyPress","keyCode","useImperativeHandle","clear","shouldShowDropdown","trim","StyledSearchBox","onAdd","onRemove","shouldAllowMultiple","shouldPreventEnter","tags","anchorElement","direction","onClose","onOutsideClick","shouldShow","onGroupSelect","selectedGroups","displayName","_default","exports"],"sources":["../../../../src/components/search-box/SearchBox.tsx"],"sourcesContent":["import { useDevice } from 'chayns-api';\nimport React, {\n ChangeEvent,\n ChangeEventHandler,\n FC,\n FocusEvent,\n FocusEventHandler,\n forwardRef,\n KeyboardEventHandler,\n ReactElement,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useTheme } from 'styled-components';\nimport type { IFilterButtonItem } from '../../types/filterButtons';\nimport type { ISearchBoxItem, ISearchBoxItems } from '../../types/searchBox';\nimport { calculateContentHeight } from '../../utils/calculate';\nimport { searchList, sortSearchBoxItems } from '../../utils/searchBox';\nimport type { Theme } from '../color-scheme-provider/ColorSchemeProvider';\nimport Icon from '../icon/Icon';\nimport Input, { type InputProps } from '../input/Input';\nimport GroupName from './group-name/GroupName';\nimport SearchBoxBody from './search-box-body/SearchBoxBody';\nimport SearchBoxItem from './search-box-item/SearchBoxItem';\nimport { StyledSearchBoxItemImage } from './search-box-item/SearchBoxItem.styles';\nimport {\n StyledSearchBox,\n StyledSearchBoxHintText,\n StyledSearchBoxIcon,\n StyledSearchBoxLeftWrapper,\n} from './SearchBox.styles';\nimport { useUuid } from '../../hooks/uuid';\nimport DropdownBodyWrapper from '../dropdown-body-wrapper/DropdownBodyWrapper';\nimport TagInput, { TagInputProps, TagInputRef } from '../tag-input/TagInput';\nimport type { DropdownDirection } from '../../types/dropdown';\n\nexport interface SearchBoxRef {\n clear: VoidFunction;\n}\n\nexport interface TagInputSettings {\n onAdd?: TagInputProps['onAdd'];\n onRemove?: TagInputProps['onRemove'];\n shouldAllowMultiple?: TagInputProps['shouldAllowMultiple'];\n tags?: TagInputProps['tags'];\n}\n\nconst filterSearchBoxItems = ({\n customFilter,\n items,\n searchString,\n shouldUseCustomFilterOnly,\n}: {\n customFilter?: (item: ISearchBoxItem) => boolean;\n items: ISearchBoxItem[];\n searchString: string;\n shouldUseCustomFilterOnly?: boolean;\n}) => {\n if (typeof customFilter !== 'function') {\n return searchList({ items, searchString });\n }\n\n if (shouldUseCustomFilterOnly) {\n const filteredItems = items.filter(customFilter);\n\n return sortSearchBoxItems({ items: filteredItems, searchString });\n }\n\n return searchList({ items, searchString }).filter(customFilter);\n};\n\nconst getDropdownSearchString = ({\n selectedId,\n shouldKeepSelectedItemPosition,\n value,\n}: {\n selectedId?: string;\n shouldKeepSelectedItemPosition?: boolean;\n value: string;\n}) => (shouldKeepSelectedItemPosition && selectedId ? '' : value);\n\nexport type SearchBoxProps = {\n /**\n * The element where the content of the `ComboBox` should be rendered via React Portal.\n */\n container?: Element;\n /**\n * An optional callback function to filter the elements to be displayed\n */\n customFilter?: (item: ISearchBoxItem) => boolean;\n /**\n * If true, the custom filter replaces the built-in text search instead of narrowing its results.\n */\n shouldUseCustomFilterOnly?: boolean;\n /**\n * The direction in which the dropdown should be displayed. By default, it is displayed below the input.\n */\n dropdownDirection?: DropdownDirection;\n /**\n * If true, the input field is marked as invalid\n */\n isInvalid?: boolean;\n /**\n * An optional icon that is displayed inside the left side of the input.\n */\n leftIcons?: string[];\n /**\n * Props that are passed to the underlying Input component.\n */\n inputProps?: InputProps;\n /**\n * List of groups with items that can be searched. It is possible to give only one list; if multiple lists are provided, the 'group name' parameter becomes mandatory.\n */\n lists: ISearchBoxItems[];\n /**\n * The maximum height of the dropdown body in pixels.\n */\n maxHeight?: number;\n /**\n * Function to be executed when the input lost focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Function to be executed when the input is changed.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Function that is executed when a letter is pressed\n */\n onKeyDown?: KeyboardEventHandler<HTMLInputElement>;\n /**\n * Function to be executed when an item is selected.\n */\n onSelect?: (item: ISearchBoxItem) => void;\n /**\n * The placeholder that should be displayed.\n */\n placeholder?: string;\n /**\n * Set an input for the search box - it is not an item of a list, just a string.\n */\n presetValue?: string;\n /**\n * Control the selected item. If you use this prop, make sure to update it when the user selects an item.\n */\n selectedId?: string;\n /**\n * If true, the selected item keeps its original position in the dropdown list.\n */\n shouldKeepSelectedItemPosition?: boolean;\n /**\n * If true, the value in the Input is displayed in the list.\n */\n shouldAddInputToList: boolean;\n /**\n * If true, the filter buttons are hidden.\n */\n shouldHideFilterButtons?: boolean;\n /**\n * Whether the full list of items should be displayed if the input is empty.\n */\n shouldShowContentOnEmptyInput?: boolean;\n /**\n * If true, the dropdown items are displayed more compactly.\n */\n shouldShowSmallItems?: boolean;\n /**\n * If true, the images of the items are displayed in a round shape.\n */\n shouldShowRoundImage?: boolean;\n /**\n * Whether the icon to open and close the list should be displayed.\n */\n shouldShowToggleIcon?: boolean;\n /**\n * Settings for the TagInput.\n */\n tagInputSettings?: TagInputSettings;\n /**\n * Enables keyboard-only focus highlighting.\n */\n shouldEnableKeyboardHighlighting?: boolean;\n /**\n * A text that should be displayed if no results are found.\n */\n hintText?: string;\n};\n\nconst SearchBox: FC<SearchBoxProps> = forwardRef<SearchBoxRef, SearchBoxProps>(\n (\n {\n container,\n customFilter,\n dropdownDirection,\n inputProps,\n isInvalid = false,\n leftIcons,\n lists,\n maxHeight = 300,\n onBlur,\n onChange,\n onKeyDown,\n onSelect,\n placeholder,\n presetValue,\n hintText,\n selectedId,\n shouldAddInputToList = true,\n shouldKeepSelectedItemPosition = false,\n shouldUseCustomFilterOnly = false,\n shouldHideFilterButtons = false,\n shouldShowContentOnEmptyInput = true,\n shouldShowSmallItems = false,\n shouldShowRoundImage,\n shouldShowToggleIcon = false,\n tagInputSettings,\n shouldEnableKeyboardHighlighting,\n },\n ref,\n ) => {\n const [matchingListsItems, setMatchingListsItems] = useState<ISearchBoxItems[]>(lists);\n const [selectedImage, setSelectedImage] = useState<ReactElement>();\n const [internalValue, setInternalValue] = useState(\n typeof presetValue === 'string' && presetValue !== '' ? presetValue : '',\n );\n const inputValue = inputProps?.value;\n const value = inputValue ?? internalValue;\n const setValue = useCallback(\n (nextValue: string) => {\n if (typeof inputValue !== 'string') {\n setInternalValue(nextValue);\n }\n },\n [inputValue],\n );\n const [height, setHeight] = useState<number>(0);\n const [focusedIndex, setFocusedIndex] = useState<number | null>(null);\n const [hasMultipleGroups, setHasMultipleGroups] = useState<boolean>(lists.length > 1);\n const [filteredChildrenArray, setFilteredChildrenArray] = useState<Element[]>();\n const [inputToListValue, setInputToListValue] = useState<string>('');\n const [groups, setGroups] = useState<string[]>(['all']);\n const [shouldShowBody, setShouldShowBody] = useState(false);\n\n const uuid = useUuid();\n\n const boxRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const tagInputRef = useRef<TagInputRef>(null);\n\n const hasFocusRef = useRef<boolean>(false);\n const isAnimatingRef = useRef<boolean>(false);\n const shouldShowPresetValue = useRef<boolean>(\n typeof presetValue === 'string' && presetValue !== '',\n );\n\n const theme = useTheme() as Theme;\n const dropdownSearchString = getDropdownSearchString({\n selectedId,\n shouldKeepSelectedItemPosition,\n value,\n });\n\n const { isTouch } = useDevice();\n\n /**\n * Checks if there are multiple groups in the lists\n */\n useEffect(() => {\n setHasMultipleGroups(lists.length > 1);\n }, [lists]);\n\n const filterButtons = useMemo(() => {\n const items: IFilterButtonItem[] = [];\n\n if (lists.length <= 1) {\n return items;\n }\n\n lists.forEach(({ groupName }) => {\n if (groupName) {\n items.push({\n id: groupName,\n text: groupName,\n });\n }\n });\n\n return items;\n }, [lists]);\n\n /**\n * Filters the lists by the FilterButtons\n */\n const activeList = useMemo(() => {\n let newLists: ISearchBoxItems[] = [];\n\n if (groups[0] === 'all') {\n newLists = lists;\n } else {\n lists.forEach((list) => {\n if (list.groupName && groups.includes(list.groupName)) {\n newLists.push(list);\n }\n });\n }\n\n const newMatchingItems: ISearchBoxItems[] = [];\n\n newLists.forEach(({ list, groupName }) => {\n const newList = filterSearchBoxItems({\n customFilter,\n items: list,\n searchString: dropdownSearchString,\n shouldUseCustomFilterOnly,\n });\n\n if (newList.length > 0) {\n newMatchingItems.push({\n groupName,\n list: newList,\n });\n }\n });\n\n if (newMatchingItems.length === 0 && shouldAddInputToList) {\n newMatchingItems.push({\n groupName: undefined,\n list: [],\n });\n }\n\n const filteredMatchingListItems = newMatchingItems.map(({ list, groupName }) => ({\n groupName,\n list: list.filter((item) => {\n if (typeof customFilter === 'function' && shouldUseCustomFilterOnly) {\n return true;\n }\n\n return !(newMatchingItems.length === 1 && item.text === dropdownSearchString);\n }),\n }));\n\n setMatchingListsItems(filteredMatchingListItems);\n\n return newLists;\n }, [\n groups,\n lists,\n customFilter,\n dropdownSearchString,\n shouldAddInputToList,\n shouldUseCustomFilterOnly,\n ]);\n\n const handleOpen = useCallback(() => {\n setShouldShowBody(true);\n }, []);\n\n const handleClose = useCallback(() => {\n setShouldShowBody(false);\n }, []);\n\n const handleFilterButtonsGroupSelect = (keys: string[]) => {\n setGroups(keys.length === 0 ? ['all'] : keys);\n };\n\n /**\n * This hook calculates the height\n */\n useEffect(() => {\n const textArray: string[] = [];\n\n activeList.forEach(({ list, groupName }) => {\n list.forEach(({ text }) => textArray.push(text));\n if (!groupName) {\n return;\n }\n textArray.push(groupName);\n });\n\n if (shouldAddInputToList && inputToListValue !== '') {\n textArray.push(inputToListValue);\n }\n\n setHeight(calculateContentHeight(textArray));\n }, [inputToListValue, activeList, placeholder, shouldAddInputToList]);\n\n useEffect(() => {\n if (selectedId) {\n activeList.forEach(({ list }) => {\n const selectedItem = list.find(({ id }) => id === selectedId);\n if (selectedItem) {\n setValue(selectedItem.text);\n\n if (selectedItem.imageUrl) {\n setSelectedImage(\n <StyledSearchBoxItemImage\n src={selectedItem.imageUrl}\n $shouldShowRoundImage={shouldShowRoundImage}\n />,\n );\n }\n }\n });\n }\n }, [activeList, selectedId, shouldShowRoundImage]);\n\n /**\n * This hook resets the value if the selectedId changes to undefined. This is an own useEffect because the value\n * should not be reset if the list changes and the selectedId is still undefined.\n */\n useEffect(() => {\n if (!selectedId && !shouldShowPresetValue.current) {\n setValue('');\n }\n }, [selectedId]);\n\n useEffect(() => {\n isAnimatingRef.current = shouldShowBody;\n }, [shouldShowBody]);\n\n useEffect(() => {\n if (\n (matchingListsItems.length !== 0 || hintText) &&\n !isAnimatingRef.current &&\n hasFocusRef.current\n ) {\n handleOpen();\n }\n }, [handleOpen, hintText, matchingListsItems.length]);\n\n /**\n * This function handles the focus event of the input and opens the dropdown if the input\n * should show content on an empty input\n */\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n hasFocusRef.current = true;\n\n if (typeof inputProps?.onFocus === 'function') {\n inputProps.onFocus(event);\n }\n\n if (shouldShowContentOnEmptyInput) {\n const newMatchingItems: ISearchBoxItems[] = [];\n\n activeList.forEach(({ list, groupName }) => {\n const newList = filterSearchBoxItems({\n customFilter,\n items: list,\n searchString: dropdownSearchString,\n shouldUseCustomFilterOnly,\n });\n\n if (newList.length > 0) {\n newMatchingItems.push({\n groupName,\n list: newList,\n });\n }\n });\n\n if (newMatchingItems.length === 0 && shouldAddInputToList) {\n newMatchingItems.push({\n groupName: undefined,\n list: [],\n });\n }\n\n const filteredMatchingListItems = newMatchingItems.map(\n ({ list, groupName }) => ({\n groupName,\n list: list.filter((item) => {\n if (\n typeof customFilter === 'function' &&\n shouldUseCustomFilterOnly\n ) {\n return true;\n }\n\n return !(\n newMatchingItems.length === 1 &&\n item.text === dropdownSearchString\n );\n }),\n }),\n );\n\n setMatchingListsItems(filteredMatchingListItems);\n\n if (filteredMatchingListItems.length !== 0 || hintText) {\n handleOpen();\n }\n }\n },\n [\n shouldShowContentOnEmptyInput,\n activeList,\n shouldAddInputToList,\n hintText,\n dropdownSearchString,\n customFilter,\n shouldUseCustomFilterOnly,\n handleOpen,\n inputProps,\n ],\n );\n\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLInputElement>>(\n (event) => {\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n }\n\n if (typeof inputProps?.onKeyDown === 'function') {\n inputProps.onKeyDown(event);\n }\n },\n [inputProps, onKeyDown],\n );\n\n /**\n * This function filters the lists by input\n */\n\n useEffect(() => {\n const newMatchingItems: ISearchBoxItems[] = [];\n\n activeList.forEach(({ list, groupName }) => {\n const newList = filterSearchBoxItems({\n customFilter,\n items: list,\n searchString: dropdownSearchString,\n shouldUseCustomFilterOnly,\n });\n\n if (newList.length > 0) {\n newMatchingItems.push({\n groupName,\n list: newList,\n });\n }\n });\n\n if (newMatchingItems.length === 0 && shouldAddInputToList) {\n newMatchingItems.push({\n groupName: undefined,\n list: [],\n });\n }\n\n if (shouldAddInputToList && inputToListValue !== '') {\n newMatchingItems.forEach(({ list }) => {\n list.forEach(({ text }) => {\n if (text.toLowerCase() === inputToListValue.toLowerCase()) {\n setInputToListValue('');\n }\n });\n });\n }\n }, [\n inputToListValue,\n activeList,\n shouldAddInputToList,\n shouldShowContentOnEmptyInput,\n dropdownSearchString,\n customFilter,\n shouldUseCustomFilterOnly,\n ]);\n\n const handleClick = useCallback(() => {\n if (shouldShowBody) {\n handleClose();\n } else {\n handleOpen();\n }\n }, [handleClose, handleOpen, shouldShowBody]);\n\n const rightElement = useMemo(() => {\n if (!shouldShowToggleIcon) {\n return undefined;\n }\n\n return (\n <StyledSearchBoxIcon onClick={handleClick}>\n <Icon icons={['fa fa-chevron-down']} color={theme['006'] as string} />\n </StyledSearchBoxIcon>\n );\n }, [handleClick, shouldShowToggleIcon, theme]);\n\n const leftElement = useMemo(\n () =>\n (leftIcons || selectedImage) && (\n <StyledSearchBoxLeftWrapper>\n {leftIcons && <Icon icons={leftIcons} />}\n {selectedImage && selectedImage}\n </StyledSearchBoxLeftWrapper>\n ),\n [leftIcons, selectedImage],\n );\n\n /**\n * This function handles changes of the input\n */\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const filteredLists: ISearchBoxItems[] = [];\n shouldShowPresetValue.current = false;\n\n activeList.forEach(({ list, groupName }) => {\n const newList = filterSearchBoxItems({\n customFilter,\n items: list,\n searchString: event.target.value,\n shouldUseCustomFilterOnly,\n });\n\n if (newList.length > 0) {\n filteredLists.push({\n groupName,\n list: newList,\n });\n }\n });\n\n if (filteredLists.length === 0 && shouldAddInputToList) {\n filteredLists.push({\n groupName: undefined,\n list: [],\n });\n }\n\n setSelectedImage(undefined);\n\n if (!shouldShowContentOnEmptyInput && !event.target.value) {\n setMatchingListsItems([]);\n } else {\n setMatchingListsItems(filteredLists);\n }\n\n if (filteredLists.length !== 0) {\n handleOpen();\n }\n\n setValue(event.target.value);\n setInputToListValue(event.target.value);\n\n if (typeof onChange === 'function') {\n onChange(event);\n }\n\n if (typeof inputProps?.onChange === 'function') {\n inputProps.onChange(event);\n }\n },\n [\n activeList,\n customFilter,\n handleOpen,\n inputProps,\n onChange,\n shouldAddInputToList,\n shouldShowContentOnEmptyInput,\n shouldUseCustomFilterOnly,\n ],\n );\n\n /**\n * This function handles the blur event of the input\n */\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n hasFocusRef.current = false;\n\n if (typeof onBlur === 'function') {\n onBlur(event);\n }\n\n if (typeof inputProps?.onBlur === 'function') {\n inputProps.onBlur(event);\n }\n },\n [inputProps, onBlur],\n );\n\n const handleDropdownOutsideClick = useCallback(() => {\n tagInputRef.current?.blur();\n\n return hasFocusRef.current && isTouch;\n }, [isTouch]);\n\n const handleContainerBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n const nextFocusedElement = event.relatedTarget as Node | null;\n const currentContainer = event.currentTarget as HTMLElement;\n\n // Check if focus is moving outside the SearchBox container\n // Also check the dropdown content (contentRef) since it's rendered in a portal\n if (\n !nextFocusedElement ||\n (!currentContainer.contains(nextFocusedElement) &&\n !contentRef.current?.contains(nextFocusedElement))\n ) {\n handleClose();\n }\n },\n [handleClose],\n );\n\n /**\n * This function handles the item selection\n */\n const handleSelect = useCallback(\n (item: ISearchBoxItem) => {\n const newItem = {\n ...item,\n text: item.text.replace('<b>', '').replace('</b>', '').replace('</b', ''),\n };\n\n if (tagInputSettings) {\n setValue('');\n setInputToListValue('');\n tagInputRef.current?.resetValue();\n } else {\n setValue(newItem.text);\n }\n\n handleClose();\n\n setSelectedImage(\n newItem.imageUrl ? (\n <StyledSearchBoxItemImage\n src={newItem.imageUrl}\n $shouldShowRoundImage={shouldShowRoundImage}\n />\n ) : undefined,\n );\n\n setMatchingListsItems([]);\n\n if (typeof onSelect === 'function') {\n onSelect(newItem);\n }\n },\n [handleClose, onSelect, shouldShowRoundImage, tagInputSettings],\n );\n\n const content = useMemo(() => {\n if (hintText && matchingListsItems.length === 0) {\n return (\n <StyledSearchBoxHintText>\n {hintText.replace('##value##', value)}\n </StyledSearchBoxHintText>\n );\n }\n\n const items: ReactElement[] = [];\n\n matchingListsItems.forEach(({ groupName, list }, index) => {\n if (hasMultipleGroups) {\n if (list.length <= 0) {\n return;\n }\n\n if (index !== 0) {\n items.push(<GroupName key={groupName} name={groupName ?? ''} />);\n }\n }\n\n list.forEach(({ id, text, imageUrl }, listIndex) => {\n items.push(\n <SearchBoxItem\n key={`${id}_${groupName ?? ''}`}\n id={id}\n text={text}\n imageUrl={imageUrl}\n shouldShowSmallItems={shouldShowSmallItems}\n shouldShowRoundImage={shouldShowRoundImage}\n onSelect={handleSelect}\n groupName={groupName}\n tabIndex={index === 0 && listIndex === 0 ? 0 : -1}\n />,\n );\n });\n });\n\n if (shouldAddInputToList && inputToListValue !== '') {\n items.push(\n <SearchBoxItem\n id=\"input-value\"\n onSelect={handleSelect}\n shouldShowSmallItems={shouldShowSmallItems}\n text={`<b>${inputToListValue}</b`}\n tabIndex={items.length === 0 ? 0 : -1}\n />,\n );\n }\n\n return items;\n }, [\n hintText,\n matchingListsItems,\n shouldAddInputToList,\n inputToListValue,\n value,\n hasMultipleGroups,\n shouldShowSmallItems,\n shouldShowRoundImage,\n handleSelect,\n ]);\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (!shouldShowBody || matchingListsItems.length === 0) {\n return;\n }\n\n const children = contentRef.current?.children;\n\n if (!children) {\n return;\n }\n\n const childrenArray = Array.from(children);\n\n const newChildren = childrenArray.find((child) =>\n child.id.startsWith('searchBoxContent__'),\n )?.children;\n\n if (!(newChildren && newChildren.length > 0)) {\n return;\n }\n\n const filteredChildren = Array.from(newChildren).filter(\n (child) => (child as HTMLElement).dataset.isgroupname !== 'true',\n );\n\n setFilteredChildrenArray(filteredChildren);\n\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n e.preventDefault();\n\n if (newChildren && newChildren.length > 0) {\n const newIndex =\n focusedIndex !== null\n ? (focusedIndex +\n (e.key === 'ArrowUp' ? -1 : 1) +\n filteredChildren.length) %\n filteredChildren.length\n : 0;\n\n if (focusedIndex !== null) {\n const prevElement = filteredChildren[focusedIndex] as HTMLDivElement;\n prevElement.tabIndex = -1;\n }\n\n setFocusedIndex(newIndex);\n\n const newElement = filteredChildren[newIndex] as HTMLDivElement;\n\n newElement.tabIndex = 0;\n }\n } else if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n\n if (filteredChildren) {\n const element = filteredChildren[focusedIndex ?? 0];\n\n if (!element) {\n return;\n }\n\n const { id, textContent } = element;\n\n let imageUrl: string | undefined;\n\n // Just Ignore, it works\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (element.children[0]?.attributes.src) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n imageUrl = element.children[0]?.attributes.src.nodeValue as string;\n }\n\n const newId = id.replace('search-box-item__', '');\n\n handleSelect({\n id: newId === 'input-value' ? textContent : newId,\n text: textContent ?? '',\n imageUrl,\n });\n }\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [\n filteredChildrenArray,\n focusedIndex,\n handleSelect,\n matchingListsItems.length,\n shouldShowBody,\n ]);\n\n const handleKeyPress = useCallback((event: KeyboardEvent) => {\n if (event.keyCode === 27) {\n setMatchingListsItems([]);\n }\n }, []);\n\n useImperativeHandle(\n ref,\n () => ({\n clear: () => setValue(''),\n }),\n [setValue],\n );\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyPress);\n\n return () => {\n document.addEventListener('keydown', handleKeyPress);\n };\n }, [handleKeyPress]);\n\n /**\n * Update the value if preset value changes\n */\n useEffect(() => {\n if (presetValue) {\n setValue(presetValue);\n }\n }, [presetValue, setValue]);\n\n const shouldShowDropdown =\n shouldShowBody &&\n (matchingListsItems.length !== 0 || !!hintText) &&\n (value.trim() !== '' || shouldShowContentOnEmptyInput);\n\n return useMemo(\n () => (\n <StyledSearchBox\n ref={boxRef}\n key={`search-box-${uuid}`}\n onBlur={handleContainerBlur}\n >\n <div id={`search_box_input${uuid}`}>\n {tagInputSettings ? (\n <TagInput\n leftElement={leftElement}\n onAdd={tagInputSettings.onAdd}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n onRemove={tagInputSettings.onRemove}\n placeholder={placeholder}\n ref={tagInputRef}\n shouldAllowMultiple={tagInputSettings.shouldAllowMultiple}\n shouldEnableKeyboardHighlighting={shouldEnableKeyboardHighlighting}\n shouldPreventEnter\n tags={tagInputSettings.tags}\n />\n ) : (\n <Input\n /* eslint-disable-next-line react/jsx-props-no-spreading */\n {...inputProps}\n isInvalid={isInvalid}\n leftElement={leftElement}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={inputRef}\n rightElement={rightElement}\n shouldEnableKeyboardHighlighting={\n inputProps?.shouldEnableKeyboardHighlighting ??\n shouldEnableKeyboardHighlighting\n }\n value={value}\n />\n )}\n </div>\n {boxRef.current && (\n <DropdownBodyWrapper\n anchorElement={boxRef.current}\n container={container}\n direction={dropdownDirection}\n onClose={handleClose}\n onOutsideClick={handleDropdownOutsideClick}\n shouldShowDropdown={shouldShowDropdown}\n >\n <SearchBoxBody\n filterButtons={filterButtons}\n height={height}\n maxHeight={maxHeight}\n shouldShow={shouldShowDropdown}\n key={`search-box-body-${uuid}`}\n onGroupSelect={handleFilterButtonsGroupSelect}\n ref={contentRef}\n selectedGroups={groups}\n shouldHideFilterButtons={shouldHideFilterButtons}\n >\n {content}\n </SearchBoxBody>\n </DropdownBodyWrapper>\n )}\n </StyledSearchBox>\n ),\n [\n container,\n content,\n dropdownDirection,\n filterButtons,\n groups,\n handleBlur,\n handleChange,\n handleClose,\n handleDropdownOutsideClick,\n handleFocus,\n handleKeyDown,\n height,\n inputProps,\n isInvalid,\n leftElement,\n maxHeight,\n onKeyDown,\n placeholder,\n rightElement,\n shouldHideFilterButtons,\n shouldShowDropdown,\n shouldEnableKeyboardHighlighting,\n tagInputSettings,\n uuid,\n value,\n ],\n );\n },\n);\n\nSearchBox.displayName = 'SearchBox';\n\nexport default SearchBox;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SearchBox.js","names":["_chaynsApi","require","_react","_interopRequireWildcard","_styledComponents","_calculate","_searchBox","_Icon","_interopRequireDefault","_Input","_GroupName","_SearchBoxBody","_SearchBoxItem","_SearchBoxItem2","_SearchBox","_uuid","_DropdownBodyWrapper","_TagInput","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_extends","assign","bind","arguments","length","apply","filterSearchBoxItems","customFilter","items","searchString","shouldUseCustomFilterOnly","searchList","filteredItems","filter","sortSearchBoxItems","getDropdownSearchString","selectedId","shouldKeepSelectedItemPosition","value","SearchBox","forwardRef","container","dropdownDirection","inputProps","isInvalid","leftIcons","lists","maxHeight","onBlur","onChange","onKeyDown","onSelect","placeholder","presetValue","hintText","shouldAddInputToList","shouldHideFilterButtons","shouldShowContentOnEmptyInput","shouldShowSmallItems","shouldShowRoundImage","shouldShowToggleIcon","tagInputSettings","shouldEnableKeyboardHighlighting","ref","matchingListsItems","setMatchingListsItems","useState","selectedImage","setSelectedImage","internalValue","setInternalValue","inputValue","setValue","useCallback","nextValue","height","setHeight","focusedIndex","setFocusedIndex","hasMultipleGroups","setHasMultipleGroups","filteredChildrenArray","setFilteredChildrenArray","inputToListValue","setInputToListValue","groups","setGroups","shouldShowBody","setShouldShowBody","uuid","useUuid","boxRef","useRef","contentRef","inputRef","tagInputRef","hasFocusRef","isAnimatingRef","shouldShowPresetValue","theme","useTheme","dropdownSearchString","isTouch","useDevice","useEffect","filterButtons","useMemo","forEach","groupName","push","id","text","activeList","newLists","list","includes","newMatchingItems","newList","undefined","filteredMatchingListItems","map","item","handleOpen","handleClose","handleFilterButtonsGroupSelect","keys","textArray","calculateContentHeight","selectedItem","find","imageUrl","createElement","StyledSearchBoxItemImage","src","$shouldShowRoundImage","current","handleFocus","event","onFocus","handleKeyDown","toLowerCase","handleClick","rightElement","StyledSearchBoxIcon","onClick","icons","color","leftElement","StyledSearchBoxLeftWrapper","handleChange","filteredLists","target","handleBlur","handleDropdownOutsideClick","_tagInputRef$current","blur","handleContainerBlur","_contentRef$current","nextFocusedElement","relatedTarget","currentContainer","currentTarget","contains","handleSelect","newItem","replace","_tagInputRef$current2","resetValue","content","StyledSearchBoxHintText","index","key","name","listIndex","tabIndex","_contentRef$current2","_childrenArray$find","children","childrenArray","Array","from","newChildren","child","startsWith","filteredChildren","dataset","isgroupname","preventDefault","newIndex","prevElement","newElement","stopPropagation","_element$children$","element","textContent","attributes","_element$children$2","nodeValue","newId","document","addEventListener","removeEventListener","handleKeyPress","keyCode","useImperativeHandle","clear","shouldShowDropdown","trim","StyledSearchBox","onAdd","onRemove","size","shouldAllowMultiple","shouldPreventEnter","tags","anchorElement","direction","onClose","onOutsideClick","shouldShow","onGroupSelect","selectedGroups","displayName","_default","exports"],"sources":["../../../../src/components/search-box/SearchBox.tsx"],"sourcesContent":["import { useDevice } from 'chayns-api';\nimport React, {\n ChangeEvent,\n ChangeEventHandler,\n FC,\n FocusEvent,\n FocusEventHandler,\n forwardRef,\n KeyboardEventHandler,\n ReactElement,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useTheme } from 'styled-components';\nimport type { IFilterButtonItem } from '../../types/filterButtons';\nimport type { ISearchBoxItem, ISearchBoxItems } from '../../types/searchBox';\nimport { calculateContentHeight } from '../../utils/calculate';\nimport { searchList, sortSearchBoxItems } from '../../utils/searchBox';\nimport type { Theme } from '../color-scheme-provider/ColorSchemeProvider';\nimport Icon from '../icon/Icon';\nimport Input, { type InputProps } from '../input/Input';\nimport GroupName from './group-name/GroupName';\nimport SearchBoxBody from './search-box-body/SearchBoxBody';\nimport SearchBoxItem from './search-box-item/SearchBoxItem';\nimport { StyledSearchBoxItemImage } from './search-box-item/SearchBoxItem.styles';\nimport {\n StyledSearchBox,\n StyledSearchBoxHintText,\n StyledSearchBoxIcon,\n StyledSearchBoxLeftWrapper,\n} from './SearchBox.styles';\nimport { useUuid } from '../../hooks/uuid';\nimport DropdownBodyWrapper from '../dropdown-body-wrapper/DropdownBodyWrapper';\nimport TagInput, { TagInputProps, TagInputRef } from '../tag-input/TagInput';\nimport type { DropdownDirection } from '../../types/dropdown';\n\nexport interface SearchBoxRef {\n clear: VoidFunction;\n}\n\nexport interface TagInputSettings {\n onAdd?: TagInputProps['onAdd'];\n onRemove?: TagInputProps['onRemove'];\n size?: TagInputProps['size'];\n shouldAllowMultiple?: TagInputProps['shouldAllowMultiple'];\n tags?: TagInputProps['tags'];\n}\n\nconst filterSearchBoxItems = ({\n customFilter,\n items,\n searchString,\n shouldUseCustomFilterOnly,\n}: {\n customFilter?: (item: ISearchBoxItem) => boolean;\n items: ISearchBoxItem[];\n searchString: string;\n shouldUseCustomFilterOnly?: boolean;\n}) => {\n if (typeof customFilter !== 'function') {\n return searchList({ items, searchString });\n }\n\n if (shouldUseCustomFilterOnly) {\n const filteredItems = items.filter(customFilter);\n\n return sortSearchBoxItems({ items: filteredItems, searchString });\n }\n\n return searchList({ items, searchString }).filter(customFilter);\n};\n\nconst getDropdownSearchString = ({\n selectedId,\n shouldKeepSelectedItemPosition,\n value,\n}: {\n selectedId?: string;\n shouldKeepSelectedItemPosition?: boolean;\n value: string;\n}) => (shouldKeepSelectedItemPosition && selectedId ? '' : value);\n\nexport type SearchBoxProps = {\n /**\n * The element where the content of the `ComboBox` should be rendered via React Portal.\n */\n container?: Element;\n /**\n * An optional callback function to filter the elements to be displayed\n */\n customFilter?: (item: ISearchBoxItem) => boolean;\n /**\n * If true, the custom filter replaces the built-in text search instead of narrowing its results.\n */\n shouldUseCustomFilterOnly?: boolean;\n /**\n * The direction in which the dropdown should be displayed. By default, it is displayed below the input.\n */\n dropdownDirection?: DropdownDirection;\n /**\n * If true, the input field is marked as invalid\n */\n isInvalid?: boolean;\n /**\n * An optional icon that is displayed inside the left side of the input.\n */\n leftIcons?: string[];\n /**\n * Props that are passed to the underlying Input component.\n */\n inputProps?: InputProps;\n /**\n * List of groups with items that can be searched. It is possible to give only one list; if multiple lists are provided, the 'group name' parameter becomes mandatory.\n */\n lists: ISearchBoxItems[];\n /**\n * The maximum height of the dropdown body in pixels.\n */\n maxHeight?: number;\n /**\n * Function to be executed when the input lost focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Function to be executed when the input is changed.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /**\n * Function that is executed when a letter is pressed\n */\n onKeyDown?: KeyboardEventHandler<HTMLInputElement>;\n /**\n * Function to be executed when an item is selected.\n */\n onSelect?: (item: ISearchBoxItem) => void;\n /**\n * The placeholder that should be displayed.\n */\n placeholder?: string;\n /**\n * Set an input for the search box - it is not an item of a list, just a string.\n */\n presetValue?: string;\n /**\n * Control the selected item. If you use this prop, make sure to update it when the user selects an item.\n */\n selectedId?: string;\n /**\n * If true, the selected item keeps its original position in the dropdown list.\n */\n shouldKeepSelectedItemPosition?: boolean;\n /**\n * If true, the value in the Input is displayed in the list.\n */\n shouldAddInputToList: boolean;\n /**\n * If true, the filter buttons are hidden.\n */\n shouldHideFilterButtons?: boolean;\n /**\n * Whether the full list of items should be displayed if the input is empty.\n */\n shouldShowContentOnEmptyInput?: boolean;\n /**\n * If true, the dropdown items are displayed more compactly.\n */\n shouldShowSmallItems?: boolean;\n /**\n * If true, the images of the items are displayed in a round shape.\n */\n shouldShowRoundImage?: boolean;\n /**\n * Whether the icon to open and close the list should be displayed.\n */\n shouldShowToggleIcon?: boolean;\n /**\n * Settings for the TagInput.\n */\n tagInputSettings?: TagInputSettings;\n /**\n * Enables keyboard-only focus highlighting.\n */\n shouldEnableKeyboardHighlighting?: boolean;\n /**\n * A text that should be displayed if no results are found.\n */\n hintText?: string;\n};\n\nconst SearchBox: FC<SearchBoxProps> = forwardRef<SearchBoxRef, SearchBoxProps>(\n (\n {\n container,\n customFilter,\n dropdownDirection,\n inputProps,\n isInvalid = false,\n leftIcons,\n lists,\n maxHeight = 300,\n onBlur,\n onChange,\n onKeyDown,\n onSelect,\n placeholder,\n presetValue,\n hintText,\n selectedId,\n shouldAddInputToList = true,\n shouldKeepSelectedItemPosition = false,\n shouldUseCustomFilterOnly = false,\n shouldHideFilterButtons = false,\n shouldShowContentOnEmptyInput = true,\n shouldShowSmallItems = false,\n shouldShowRoundImage,\n shouldShowToggleIcon = false,\n tagInputSettings,\n shouldEnableKeyboardHighlighting,\n },\n ref,\n ) => {\n const [matchingListsItems, setMatchingListsItems] = useState<ISearchBoxItems[]>(lists);\n const [selectedImage, setSelectedImage] = useState<ReactElement>();\n const [internalValue, setInternalValue] = useState(\n typeof presetValue === 'string' && presetValue !== '' ? presetValue : '',\n );\n const inputValue = inputProps?.value;\n const value = inputValue ?? internalValue;\n const setValue = useCallback(\n (nextValue: string) => {\n if (typeof inputValue !== 'string') {\n setInternalValue(nextValue);\n }\n },\n [inputValue],\n );\n const [height, setHeight] = useState<number>(0);\n const [focusedIndex, setFocusedIndex] = useState<number | null>(null);\n const [hasMultipleGroups, setHasMultipleGroups] = useState<boolean>(lists.length > 1);\n const [filteredChildrenArray, setFilteredChildrenArray] = useState<Element[]>();\n const [inputToListValue, setInputToListValue] = useState<string>('');\n const [groups, setGroups] = useState<string[]>(['all']);\n const [shouldShowBody, setShouldShowBody] = useState(false);\n\n const uuid = useUuid();\n\n const boxRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const tagInputRef = useRef<TagInputRef>(null);\n\n const hasFocusRef = useRef<boolean>(false);\n const isAnimatingRef = useRef<boolean>(false);\n const shouldShowPresetValue = useRef<boolean>(\n typeof presetValue === 'string' && presetValue !== '',\n );\n\n const theme = useTheme() as Theme;\n const dropdownSearchString = getDropdownSearchString({\n selectedId,\n shouldKeepSelectedItemPosition,\n value,\n });\n\n const { isTouch } = useDevice();\n\n /**\n * Checks if there are multiple groups in the lists\n */\n useEffect(() => {\n setHasMultipleGroups(lists.length > 1);\n }, [lists]);\n\n const filterButtons = useMemo(() => {\n const items: IFilterButtonItem[] = [];\n\n if (lists.length <= 1) {\n return items;\n }\n\n lists.forEach(({ groupName }) => {\n if (groupName) {\n items.push({\n id: groupName,\n text: groupName,\n });\n }\n });\n\n return items;\n }, [lists]);\n\n /**\n * Filters the lists by the FilterButtons\n */\n const activeList = useMemo(() => {\n let newLists: ISearchBoxItems[] = [];\n\n if (groups[0] === 'all') {\n newLists = lists;\n } else {\n lists.forEach((list) => {\n if (list.groupName && groups.includes(list.groupName)) {\n newLists.push(list);\n }\n });\n }\n\n const newMatchingItems: ISearchBoxItems[] = [];\n\n newLists.forEach(({ list, groupName }) => {\n const newList = filterSearchBoxItems({\n customFilter,\n items: list,\n searchString: dropdownSearchString,\n shouldUseCustomFilterOnly,\n });\n\n if (newList.length > 0) {\n newMatchingItems.push({\n groupName,\n list: newList,\n });\n }\n });\n\n if (newMatchingItems.length === 0 && shouldAddInputToList) {\n newMatchingItems.push({\n groupName: undefined,\n list: [],\n });\n }\n\n const filteredMatchingListItems = newMatchingItems.map(({ list, groupName }) => ({\n groupName,\n list: list.filter((item) => {\n if (typeof customFilter === 'function' && shouldUseCustomFilterOnly) {\n return true;\n }\n\n return !(newMatchingItems.length === 1 && item.text === dropdownSearchString);\n }),\n }));\n\n setMatchingListsItems(filteredMatchingListItems);\n\n return newLists;\n }, [\n groups,\n lists,\n customFilter,\n dropdownSearchString,\n shouldAddInputToList,\n shouldUseCustomFilterOnly,\n ]);\n\n const handleOpen = useCallback(() => {\n setShouldShowBody(true);\n }, []);\n\n const handleClose = useCallback(() => {\n setShouldShowBody(false);\n }, []);\n\n const handleFilterButtonsGroupSelect = (keys: string[]) => {\n setGroups(keys.length === 0 ? ['all'] : keys);\n };\n\n /**\n * This hook calculates the height\n */\n useEffect(() => {\n const textArray: string[] = [];\n\n activeList.forEach(({ list, groupName }) => {\n list.forEach(({ text }) => textArray.push(text));\n if (!groupName) {\n return;\n }\n textArray.push(groupName);\n });\n\n if (shouldAddInputToList && inputToListValue !== '') {\n textArray.push(inputToListValue);\n }\n\n setHeight(calculateContentHeight(textArray));\n }, [inputToListValue, activeList, placeholder, shouldAddInputToList]);\n\n useEffect(() => {\n if (selectedId) {\n activeList.forEach(({ list }) => {\n const selectedItem = list.find(({ id }) => id === selectedId);\n if (selectedItem) {\n setValue(selectedItem.text);\n\n if (selectedItem.imageUrl) {\n setSelectedImage(\n <StyledSearchBoxItemImage\n src={selectedItem.imageUrl}\n $shouldShowRoundImage={shouldShowRoundImage}\n />,\n );\n }\n }\n });\n }\n }, [activeList, selectedId, shouldShowRoundImage]);\n\n /**\n * This hook resets the value if the selectedId changes to undefined. This is an own useEffect because the value\n * should not be reset if the list changes and the selectedId is still undefined.\n */\n useEffect(() => {\n if (!selectedId && !shouldShowPresetValue.current) {\n setValue('');\n }\n }, [selectedId]);\n\n useEffect(() => {\n isAnimatingRef.current = shouldShowBody;\n }, [shouldShowBody]);\n\n useEffect(() => {\n if (\n (matchingListsItems.length !== 0 || hintText) &&\n !isAnimatingRef.current &&\n hasFocusRef.current\n ) {\n handleOpen();\n }\n }, [handleOpen, hintText, matchingListsItems.length]);\n\n /**\n * This function handles the focus event of the input and opens the dropdown if the input\n * should show content on an empty input\n */\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n hasFocusRef.current = true;\n\n if (typeof inputProps?.onFocus === 'function') {\n inputProps.onFocus(event);\n }\n\n if (shouldShowContentOnEmptyInput) {\n const newMatchingItems: ISearchBoxItems[] = [];\n\n activeList.forEach(({ list, groupName }) => {\n const newList = filterSearchBoxItems({\n customFilter,\n items: list,\n searchString: dropdownSearchString,\n shouldUseCustomFilterOnly,\n });\n\n if (newList.length > 0) {\n newMatchingItems.push({\n groupName,\n list: newList,\n });\n }\n });\n\n if (newMatchingItems.length === 0 && shouldAddInputToList) {\n newMatchingItems.push({\n groupName: undefined,\n list: [],\n });\n }\n\n const filteredMatchingListItems = newMatchingItems.map(\n ({ list, groupName }) => ({\n groupName,\n list: list.filter((item) => {\n if (\n typeof customFilter === 'function' &&\n shouldUseCustomFilterOnly\n ) {\n return true;\n }\n\n return !(\n newMatchingItems.length === 1 &&\n item.text === dropdownSearchString\n );\n }),\n }),\n );\n\n setMatchingListsItems(filteredMatchingListItems);\n\n if (filteredMatchingListItems.length !== 0 || hintText) {\n handleOpen();\n }\n }\n },\n [\n shouldShowContentOnEmptyInput,\n activeList,\n shouldAddInputToList,\n hintText,\n dropdownSearchString,\n customFilter,\n shouldUseCustomFilterOnly,\n handleOpen,\n inputProps,\n ],\n );\n\n const handleKeyDown = useCallback<KeyboardEventHandler<HTMLInputElement>>(\n (event) => {\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n }\n\n if (typeof inputProps?.onKeyDown === 'function') {\n inputProps.onKeyDown(event);\n }\n },\n [inputProps, onKeyDown],\n );\n\n /**\n * This function filters the lists by input\n */\n\n useEffect(() => {\n const newMatchingItems: ISearchBoxItems[] = [];\n\n activeList.forEach(({ list, groupName }) => {\n const newList = filterSearchBoxItems({\n customFilter,\n items: list,\n searchString: dropdownSearchString,\n shouldUseCustomFilterOnly,\n });\n\n if (newList.length > 0) {\n newMatchingItems.push({\n groupName,\n list: newList,\n });\n }\n });\n\n if (newMatchingItems.length === 0 && shouldAddInputToList) {\n newMatchingItems.push({\n groupName: undefined,\n list: [],\n });\n }\n\n if (shouldAddInputToList && inputToListValue !== '') {\n newMatchingItems.forEach(({ list }) => {\n list.forEach(({ text }) => {\n if (text.toLowerCase() === inputToListValue.toLowerCase()) {\n setInputToListValue('');\n }\n });\n });\n }\n }, [\n inputToListValue,\n activeList,\n shouldAddInputToList,\n shouldShowContentOnEmptyInput,\n dropdownSearchString,\n customFilter,\n shouldUseCustomFilterOnly,\n ]);\n\n const handleClick = useCallback(() => {\n if (shouldShowBody) {\n handleClose();\n } else {\n handleOpen();\n }\n }, [handleClose, handleOpen, shouldShowBody]);\n\n const rightElement = useMemo(() => {\n if (!shouldShowToggleIcon) {\n return undefined;\n }\n\n return (\n <StyledSearchBoxIcon onClick={handleClick}>\n <Icon icons={['fa fa-chevron-down']} color={theme['006'] as string} />\n </StyledSearchBoxIcon>\n );\n }, [handleClick, shouldShowToggleIcon, theme]);\n\n const leftElement = useMemo(\n () =>\n (leftIcons || selectedImage) && (\n <StyledSearchBoxLeftWrapper>\n {leftIcons && <Icon icons={leftIcons} />}\n {selectedImage && selectedImage}\n </StyledSearchBoxLeftWrapper>\n ),\n [leftIcons, selectedImage],\n );\n\n /**\n * This function handles changes of the input\n */\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const filteredLists: ISearchBoxItems[] = [];\n shouldShowPresetValue.current = false;\n\n activeList.forEach(({ list, groupName }) => {\n const newList = filterSearchBoxItems({\n customFilter,\n items: list,\n searchString: event.target.value,\n shouldUseCustomFilterOnly,\n });\n\n if (newList.length > 0) {\n filteredLists.push({\n groupName,\n list: newList,\n });\n }\n });\n\n if (filteredLists.length === 0 && shouldAddInputToList) {\n filteredLists.push({\n groupName: undefined,\n list: [],\n });\n }\n\n setSelectedImage(undefined);\n\n if (!shouldShowContentOnEmptyInput && !event.target.value) {\n setMatchingListsItems([]);\n } else {\n setMatchingListsItems(filteredLists);\n }\n\n if (filteredLists.length !== 0) {\n handleOpen();\n }\n\n setValue(event.target.value);\n setInputToListValue(event.target.value);\n\n if (typeof onChange === 'function') {\n onChange(event);\n }\n\n if (typeof inputProps?.onChange === 'function') {\n inputProps.onChange(event);\n }\n },\n [\n activeList,\n customFilter,\n handleOpen,\n inputProps,\n onChange,\n shouldAddInputToList,\n shouldShowContentOnEmptyInput,\n shouldUseCustomFilterOnly,\n ],\n );\n\n /**\n * This function handles the blur event of the input\n */\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n hasFocusRef.current = false;\n\n if (typeof onBlur === 'function') {\n onBlur(event);\n }\n\n if (typeof inputProps?.onBlur === 'function') {\n inputProps.onBlur(event);\n }\n },\n [inputProps, onBlur],\n );\n\n const handleDropdownOutsideClick = useCallback(() => {\n tagInputRef.current?.blur();\n\n return hasFocusRef.current && isTouch;\n }, [isTouch]);\n\n const handleContainerBlur = useCallback(\n (event: React.FocusEvent<HTMLDivElement>) => {\n const nextFocusedElement = event.relatedTarget as Node | null;\n const currentContainer = event.currentTarget as HTMLElement;\n\n // Check if focus is moving outside the SearchBox container\n // Also check the dropdown content (contentRef) since it's rendered in a portal\n if (\n !nextFocusedElement ||\n (!currentContainer.contains(nextFocusedElement) &&\n !contentRef.current?.contains(nextFocusedElement))\n ) {\n handleClose();\n }\n },\n [handleClose],\n );\n\n /**\n * This function handles the item selection\n */\n const handleSelect = useCallback(\n (item: ISearchBoxItem) => {\n const newItem = {\n ...item,\n text: item.text.replace('<b>', '').replace('</b>', '').replace('</b', ''),\n };\n\n if (tagInputSettings) {\n setValue('');\n setInputToListValue('');\n tagInputRef.current?.resetValue();\n } else {\n setValue(newItem.text);\n }\n\n handleClose();\n\n setSelectedImage(\n newItem.imageUrl ? (\n <StyledSearchBoxItemImage\n src={newItem.imageUrl}\n $shouldShowRoundImage={shouldShowRoundImage}\n />\n ) : undefined,\n );\n\n setMatchingListsItems([]);\n\n if (typeof onSelect === 'function') {\n onSelect(newItem);\n }\n },\n [handleClose, onSelect, shouldShowRoundImage, tagInputSettings],\n );\n\n const content = useMemo(() => {\n if (hintText && matchingListsItems.length === 0) {\n return (\n <StyledSearchBoxHintText>\n {hintText.replace('##value##', value)}\n </StyledSearchBoxHintText>\n );\n }\n\n const items: ReactElement[] = [];\n\n matchingListsItems.forEach(({ groupName, list }, index) => {\n if (hasMultipleGroups) {\n if (list.length <= 0) {\n return;\n }\n\n if (index !== 0) {\n items.push(<GroupName key={groupName} name={groupName ?? ''} />);\n }\n }\n\n list.forEach(({ id, text, imageUrl }, listIndex) => {\n items.push(\n <SearchBoxItem\n key={`${id}_${groupName ?? ''}`}\n id={id}\n text={text}\n imageUrl={imageUrl}\n shouldShowSmallItems={shouldShowSmallItems}\n shouldShowRoundImage={shouldShowRoundImage}\n onSelect={handleSelect}\n groupName={groupName}\n tabIndex={index === 0 && listIndex === 0 ? 0 : -1}\n />,\n );\n });\n });\n\n if (shouldAddInputToList && inputToListValue !== '') {\n items.push(\n <SearchBoxItem\n id=\"input-value\"\n onSelect={handleSelect}\n shouldShowSmallItems={shouldShowSmallItems}\n text={`<b>${inputToListValue}</b`}\n tabIndex={items.length === 0 ? 0 : -1}\n />,\n );\n }\n\n return items;\n }, [\n hintText,\n matchingListsItems,\n shouldAddInputToList,\n inputToListValue,\n value,\n hasMultipleGroups,\n shouldShowSmallItems,\n shouldShowRoundImage,\n handleSelect,\n ]);\n\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (!shouldShowBody || matchingListsItems.length === 0) {\n return;\n }\n\n const children = contentRef.current?.children;\n\n if (!children) {\n return;\n }\n\n const childrenArray = Array.from(children);\n\n const newChildren = childrenArray.find((child) =>\n child.id.startsWith('searchBoxContent__'),\n )?.children;\n\n if (!(newChildren && newChildren.length > 0)) {\n return;\n }\n\n const filteredChildren = Array.from(newChildren).filter(\n (child) => (child as HTMLElement).dataset.isgroupname !== 'true',\n );\n\n setFilteredChildrenArray(filteredChildren);\n\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n e.preventDefault();\n\n if (newChildren && newChildren.length > 0) {\n const newIndex =\n focusedIndex !== null\n ? (focusedIndex +\n (e.key === 'ArrowUp' ? -1 : 1) +\n filteredChildren.length) %\n filteredChildren.length\n : 0;\n\n if (focusedIndex !== null) {\n const prevElement = filteredChildren[focusedIndex] as HTMLDivElement;\n prevElement.tabIndex = -1;\n }\n\n setFocusedIndex(newIndex);\n\n const newElement = filteredChildren[newIndex] as HTMLDivElement;\n\n newElement.tabIndex = 0;\n }\n } else if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n e.stopPropagation();\n\n if (filteredChildren) {\n const element = filteredChildren[focusedIndex ?? 0];\n\n if (!element) {\n return;\n }\n\n const { id, textContent } = element;\n\n let imageUrl: string | undefined;\n\n // Just Ignore, it works\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n if (element.children[0]?.attributes.src) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n imageUrl = element.children[0]?.attributes.src.nodeValue as string;\n }\n\n const newId = id.replace('search-box-item__', '');\n\n handleSelect({\n id: newId === 'input-value' ? textContent : newId,\n text: textContent ?? '',\n imageUrl,\n });\n }\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [\n filteredChildrenArray,\n focusedIndex,\n handleSelect,\n matchingListsItems.length,\n shouldShowBody,\n ]);\n\n const handleKeyPress = useCallback((event: KeyboardEvent) => {\n if (event.keyCode === 27) {\n setMatchingListsItems([]);\n }\n }, []);\n\n useImperativeHandle(\n ref,\n () => ({\n clear: () => setValue(''),\n }),\n [setValue],\n );\n\n useEffect(() => {\n document.addEventListener('keydown', handleKeyPress);\n\n return () => {\n document.addEventListener('keydown', handleKeyPress);\n };\n }, [handleKeyPress]);\n\n /**\n * Update the value if preset value changes\n */\n useEffect(() => {\n if (presetValue) {\n setValue(presetValue);\n }\n }, [presetValue, setValue]);\n\n const shouldShowDropdown =\n shouldShowBody &&\n (matchingListsItems.length !== 0 || !!hintText) &&\n (value.trim() !== '' || shouldShowContentOnEmptyInput);\n\n return useMemo(\n () => (\n <StyledSearchBox\n ref={boxRef}\n key={`search-box-${uuid}`}\n onBlur={handleContainerBlur}\n >\n <div id={`search_box_input${uuid}`}>\n {tagInputSettings ? (\n <TagInput\n leftElement={leftElement}\n onAdd={tagInputSettings.onAdd}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n onRemove={tagInputSettings.onRemove}\n placeholder={placeholder}\n ref={tagInputRef}\n size={tagInputSettings.size}\n shouldAllowMultiple={tagInputSettings.shouldAllowMultiple}\n shouldEnableKeyboardHighlighting={shouldEnableKeyboardHighlighting}\n shouldPreventEnter\n tags={tagInputSettings.tags}\n />\n ) : (\n <Input\n /* eslint-disable-next-line react/jsx-props-no-spreading */\n {...inputProps}\n isInvalid={isInvalid}\n leftElement={leftElement}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={inputRef}\n rightElement={rightElement}\n shouldEnableKeyboardHighlighting={\n inputProps?.shouldEnableKeyboardHighlighting ??\n shouldEnableKeyboardHighlighting\n }\n value={value}\n />\n )}\n </div>\n {boxRef.current && (\n <DropdownBodyWrapper\n anchorElement={boxRef.current}\n container={container}\n direction={dropdownDirection}\n onClose={handleClose}\n onOutsideClick={handleDropdownOutsideClick}\n shouldShowDropdown={shouldShowDropdown}\n >\n <SearchBoxBody\n filterButtons={filterButtons}\n height={height}\n maxHeight={maxHeight}\n shouldShow={shouldShowDropdown}\n key={`search-box-body-${uuid}`}\n onGroupSelect={handleFilterButtonsGroupSelect}\n ref={contentRef}\n selectedGroups={groups}\n shouldHideFilterButtons={shouldHideFilterButtons}\n >\n {content}\n </SearchBoxBody>\n </DropdownBodyWrapper>\n )}\n </StyledSearchBox>\n ),\n [\n container,\n content,\n dropdownDirection,\n filterButtons,\n groups,\n handleBlur,\n handleChange,\n handleClose,\n handleDropdownOutsideClick,\n handleFocus,\n handleKeyDown,\n height,\n inputProps,\n isInvalid,\n leftElement,\n maxHeight,\n onKeyDown,\n placeholder,\n rightElement,\n shouldHideFilterButtons,\n shouldShowDropdown,\n shouldEnableKeyboardHighlighting,\n tagInputSettings,\n uuid,\n value,\n ],\n );\n },\n);\n\nSearchBox.displayName = 'SearchBox';\n\nexport default SearchBox;\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,8 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _styledComponents = require("styled-components");
9
9
  var _uuid = require("uuid");
10
10
  var _Badge = _interopRequireDefault(require("../badge/Badge"));
11
+ var _Badge2 = require("../badge/Badge.types");
12
+ var _Input = require("../input/Input");
11
13
  var _Icon = _interopRequireDefault(require("../icon/Icon"));
12
14
  var _TagInput = require("./TagInput.styles");
13
15
  var _AreaContextProvider = require("../area-provider/AreaContextProvider");
@@ -26,6 +28,7 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
26
28
  shouldAllowMultiple = true,
27
29
  shouldEnableKeyboardHighlighting,
28
30
  shouldPreventEnter,
31
+ size = _Input.InputSize.Medium,
29
32
  tags
30
33
  }, ref) => {
31
34
  const [currentValue, setCurrentValue] = (0, _react.useState)('');
@@ -175,9 +178,15 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
175
178
  $shouldShowKeyboardHighlighting: shouldShowKeyboardHighlighting,
176
179
  key: `tag-input-${id}`
177
180
  }, /*#__PURE__*/_react.default.createElement(_Badge.default, {
178
- backgroundColor: isSelected ? theme['206'] ?? undefined : undefined
179
- }, /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputTagWrapper, null, /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputTagWrapperText, null, text), rightElement, /*#__PURE__*/_react.default.createElement(_Icon.default, {
181
+ backgroundColor: isSelected ? theme['206'] ?? undefined : undefined,
182
+ size: size === _Input.InputSize.Small ? _Badge2.BadgeSize.SMALL : _Badge2.BadgeSize.DEFAULT
183
+ }, /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputTagWrapper, {
184
+ $size: size
185
+ }, /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputTagWrapperText, {
186
+ $size: size
187
+ }, text), rightElement, /*#__PURE__*/_react.default.createElement(_Icon.default, {
180
188
  icons: ['ts-wrong'],
189
+ size: size === _Input.InputSize.Small ? 14 : 16,
181
190
  shouldEnableKeyboardHighlighting: false,
182
191
  onClick: event => {
183
192
  event.preventDefault();
@@ -187,21 +196,25 @@ const TagInput = /*#__PURE__*/(0, _react.forwardRef)(({
187
196
  })))));
188
197
  });
189
198
  return items;
190
- }, [tags, shouldAllowMultiple, selectedId, shouldShowKeyboardHighlighting, theme, handleIconClick]);
199
+ }, [tags, shouldAllowMultiple, selectedId, shouldShowKeyboardHighlighting, theme, handleIconClick, size]);
191
200
  const shouldShowInput = (0, _react.useMemo)(() => shouldAllowMultiple || ((tags === null || tags === void 0 ? void 0 : tags.length) ?? 0) < 1, [tags === null || tags === void 0 ? void 0 : tags.length, shouldAllowMultiple]);
192
201
  return (0, _react.useMemo)(() => /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInput, {
193
202
  $shouldChangeColor: shouldChangeColor,
194
203
  $shouldShowKeyboardHighlighting: shouldShowKeyboardHighlighting,
195
- $shouldShowTagHighlighting: shouldShowTagHighlighting
196
- }, leftElement && /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputIconWrapper, null, leftElement), content, shouldShowInput && /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputTagInput, {
204
+ $shouldShowTagHighlighting: shouldShowTagHighlighting,
205
+ $size: size
206
+ }, leftElement && /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputIconWrapper, {
207
+ $size: size
208
+ }, leftElement), content, shouldShowInput && /*#__PURE__*/_react.default.createElement(_TagInput.StyledTagInputTagInput, {
197
209
  onBlur: onBlur,
198
210
  onChange: handleChange,
199
211
  onFocus: onFocus,
200
212
  onKeyDown: handleKeyDown,
201
213
  placeholder: tags && tags.length > 0 ? undefined : placeholder,
202
214
  ref: inputRef,
215
+ $size: size,
203
216
  value: currentValue
204
- })), [content, currentValue, handleChange, handleKeyDown, leftElement, onBlur, onFocus, placeholder, shouldChangeColor, shouldShowInput, shouldShowKeyboardHighlighting, shouldShowTagHighlighting, tags]);
217
+ })), [content, currentValue, handleChange, handleKeyDown, leftElement, onBlur, onFocus, placeholder, shouldChangeColor, shouldShowInput, shouldShowKeyboardHighlighting, shouldShowTagHighlighting, size, tags]);
205
218
  });
206
219
  var _default = exports.default = TagInput;
207
220
  //# sourceMappingURL=TagInput.js.map