@chayns-components/core 5.0.0-beta.1091 → 5.0.0-beta.1095

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.
@@ -49,6 +49,10 @@ const StyledContentCard = exports.StyledContentCard = _styledComponents.default.
49
49
 
50
50
  --chayns-color--text: #222;
51
51
  --chayns-color-rgb--text: rgb(34, 34, 34);
52
+
53
+ label {
54
+ color: #222 !important;
55
+ }
52
56
  `;
53
57
  case _contentCard.ContentCardType.Success:
54
58
  return (0, _styledComponents.css)`
@@ -58,6 +62,10 @@ const StyledContentCard = exports.StyledContentCard = _styledComponents.default.
58
62
 
59
63
  --chayns-color--text: #222;
60
64
  --chayns-color-rgb--text: rgb(34, 34, 34);
65
+
66
+ label {
67
+ color: #222 !important;
68
+ }
61
69
  `;
62
70
  case _contentCard.ContentCardType.Warning:
63
71
  return (0, _styledComponents.css)`
@@ -67,6 +75,10 @@ const StyledContentCard = exports.StyledContentCard = _styledComponents.default.
67
75
 
68
76
  --chayns-color--text: #222;
69
77
  --chayns-color-rgb--text: rgb(34, 34, 34);
78
+
79
+ label {
80
+ color: #222 !important;
81
+ }
70
82
  `;
71
83
  default:
72
84
  return (0, _styledComponents.css)`
@@ -1 +1 @@
1
- {"version":3,"file":"ContentCard.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_contentCard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StyledContentCard","exports","styled","div","theme","cardBorderRadius","$shouldChangeColor","css","cardShadow","text","$type","ContentCardType","Default","cardBackgroundOpacity","Error","Success","Warning"],"sources":["../../../../src/components/content-card/ContentCard.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { ContentCardType } from '../../types/contentCard';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledContentCardProps = WithTheme<{\n $type: ContentCardType;\n $shouldChangeColor: boolean;\n}>;\n\nexport const StyledContentCard = styled.div<StyledContentCardProps>`\n border-radius: ${({ theme }: StyledContentCardProps) => theme.cardBorderRadius}px;\n\n ${({ theme, $shouldChangeColor }: StyledContentCardProps) =>\n !$shouldChangeColor &&\n css`\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, ${theme.cardShadow});\n `};\n\n padding: 8px 12px;\n\n color: ${({ theme }: StyledContentCardProps) => theme.text};\n\n &:not(:last-child) {\n margin-bottom: 8px;\n }\n\n ${({ $type, theme, $shouldChangeColor }: StyledContentCardProps) => {\n if ($type === ContentCardType.Default && $shouldChangeColor) {\n return css`\n background-color: rgba(${theme['000-rgb']}, ${theme.cardBackgroundOpacity});\n `;\n }\n\n switch ($type) {\n case ContentCardType.Error:\n return css`\n background-color: ${theme['red-4']};\n border: 1px solid ${theme['red-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n `;\n case ContentCardType.Success:\n return css`\n background-color: ${theme['green-4']};\n border: 1px solid ${theme['green-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n `;\n case ContentCardType.Warning:\n return css`\n background-color: ${theme['yellow-4']};\n border: 1px solid ${theme['yellow-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n `;\n default:\n return css`\n background-color: rgba(\n ${theme['secondary-100-rgb']},\n ${theme.cardBackgroundOpacity}\n );\n `;\n }\n }}\n`;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ContentCard.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_contentCard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StyledContentCard","exports","styled","div","theme","cardBorderRadius","$shouldChangeColor","css","cardShadow","text","$type","ContentCardType","Default","cardBackgroundOpacity","Error","Success","Warning"],"sources":["../../../../src/components/content-card/ContentCard.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { ContentCardType } from '../../types/contentCard';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledContentCardProps = WithTheme<{\n $type: ContentCardType;\n $shouldChangeColor: boolean;\n}>;\n\nexport const StyledContentCard = styled.div<StyledContentCardProps>`\n border-radius: ${({ theme }: StyledContentCardProps) => theme.cardBorderRadius}px;\n\n ${({ theme, $shouldChangeColor }: StyledContentCardProps) =>\n !$shouldChangeColor &&\n css`\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, ${theme.cardShadow});\n `};\n\n padding: 8px 12px;\n\n color: ${({ theme }: StyledContentCardProps) => theme.text};\n\n &:not(:last-child) {\n margin-bottom: 8px;\n }\n\n ${({ $type, theme, $shouldChangeColor }: StyledContentCardProps) => {\n if ($type === ContentCardType.Default && $shouldChangeColor) {\n return css`\n background-color: rgba(${theme['000-rgb']}, ${theme.cardBackgroundOpacity});\n `;\n }\n\n switch ($type) {\n case ContentCardType.Error:\n return css`\n background-color: ${theme['red-4']};\n border: 1px solid ${theme['red-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n\n label {\n color: #222 !important;\n }\n `;\n case ContentCardType.Success:\n return css`\n background-color: ${theme['green-4']};\n border: 1px solid ${theme['green-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n\n label {\n color: #222 !important;\n }\n `;\n case ContentCardType.Warning:\n return css`\n background-color: ${theme['yellow-4']};\n border: 1px solid ${theme['yellow-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n\n label {\n color: #222 !important;\n }\n `;\n default:\n return css`\n background-color: rgba(\n ${theme['secondary-100-rgb']},\n ${theme.cardBackgroundOpacity}\n );\n `;\n }\n }}\n`;\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
+ var _accordion = require("../../../../utils/accordion");
8
9
  var _Icon = _interopRequireDefault(require("../../../icon/Icon"));
9
10
  var _ListItemIcon = _interopRequireDefault(require("./list-item-icon/ListItemIcon"));
10
11
  var _ListItemImage = _interopRequireDefault(require("./list-item-image/ListItemImage"));
@@ -108,6 +109,23 @@ const ListItemHead = ({
108
109
  const handleTouchEnd = (0, _react.useCallback)(() => {
109
110
  clearTimeout(longPressTimeoutRef.current);
110
111
  }, []);
112
+ const shouldPreventRightElementClick = (0, _react.useMemo)(() => {
113
+ if (!rightElements) return false;
114
+ if (typeof rightElements === 'object' && ('bottom' in rightElements || 'center' in rightElements || 'top' in rightElements)) {
115
+ if (rightElements.bottom && (0, _accordion.getElementClickEvent)(rightElements.bottom)) {
116
+ return true;
117
+ }
118
+ if (rightElements.center && (0, _accordion.getElementClickEvent)(rightElements.center)) {
119
+ return true;
120
+ }
121
+ if (rightElements.top && (0, _accordion.getElementClickEvent)(rightElements.top)) {
122
+ return true;
123
+ }
124
+ } else {
125
+ return (0, _accordion.getElementClickEvent)(rightElements);
126
+ }
127
+ return false;
128
+ }, [rightElements]);
111
129
  const iconOrImageElement = (0, _react.useMemo)(() => {
112
130
  if (icons) {
113
131
  return /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, {
@@ -178,7 +196,8 @@ const ListItemHead = ({
178
196
  }, subtitle)), /*#__PURE__*/_react.default.createElement(_ListItemHead.StyledListItemHeadSubtitleText, {
179
197
  $isOpen: isOpen
180
198
  }, subtitle))), rightElements && /*#__PURE__*/_react.default.createElement(_ListItemRightElements.default, {
181
- rightElements: rightElements
199
+ rightElements: rightElements,
200
+ shouldPreventRightElementClick: shouldPreventRightElementClick
182
201
  }), hoverItem && /*#__PURE__*/_react.default.createElement(_ListItemHead.StyledMotionListItemHeadHoverItemWrapper, {
183
202
  className: "beta-chayns-list-item-hover-item",
184
203
  animate: {
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemHead.js","names":["_react","_interopRequireWildcard","require","_Icon","_interopRequireDefault","_ListItemIcon","_ListItemImage","_ListItemRightElements","_ListItemHead","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ListItemHead","careOfLocationId","hoverItem","icons","imageBackground","images","isAnyItemExpandable","isExpandable","isOpen","isTitleGreyed","leftElements","onClick","onLongPress","rightElements","shouldHideImageOrIconBackground","shouldHideIndicator","shouldOpenImageOnClick","shouldShowRoundImageOrIcon","subtitle","shouldForceHover","title","titleElement","shouldRenderPseudoElements","setShouldRenderPseudoElements","useState","shouldShowHoverItem","setShouldShowHoverItem","openTitleWidth","setOpenTitleWidth","headHeight","setHeadHeight","closed","open","setIsFirstRender","longPressTimeoutRef","useRef","pseudoTitleOpenRef","pseudoTitleClosedRef","pseudoSubtitleOpenRef","pseudoSubtitleClosedRef","shouldShowSubtitleRow","useEffect","current","height","closedTitleHeight","getBoundingClientRect","openTitleHeight","width","openWidth","closedHeight","openHeight","closedSubtitleHeight","openSubtitleHeight","handleMouseEnter","useCallback","handleMouseLeave","marginTop","useMemo","handleTouchStart","event","window","setTimeout","handleTouchEnd","clearTimeout","iconOrImageElement","createElement","shouldHideBackground","shouldShowRoundIcon","shouldShowRoundImage","undefined","StyledListItemHead","animate","opacity","initial","transition","duration","type","className","$isClickable","$isAnyItemExpandable","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","StyledListItemHeadLeftWrapper","StyledMotionListItemHeadIndicator","rotate","StyledListItemHeadContent","$isIconOrImageGiven","$marginTop","$isOpen","StyledListItemHeadTitle","StyledListItemHeadTitleContent","Fragment","StyledListItemHeadTitleTextPseudo","ref","StyledListItemHeadTitleText","$width","StyledListItemHeadTitleElement","StyledListItemHeadSubtitle","StyledListItemHeadSubtitleTextPseudo","StyledListItemHeadSubtitleText","StyledMotionListItemHeadHoverItemWrapper","marginLeft","StyledMotionListItemHeadHoverItem","displayName","_default","exports"],"sources":["../../../../../../src/components/list/list-item/list-item-head/ListItemHead.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n FC,\n MouseEventHandler,\n ReactNode,\n TouchEventHandler,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { IListItemRightElements } from '../../../../types/list';\nimport Icon from '../../../icon/Icon';\nimport ListItemIcon from './list-item-icon/ListItemIcon';\nimport ListItemImage from './list-item-image/ListItemImage';\nimport ListItemRightElements from './list-item-right-elements/ListItemRightElements';\nimport {\n StyledListItemHead,\n StyledListItemHeadContent,\n StyledListItemHeadLeftWrapper,\n StyledListItemHeadSubtitle,\n StyledListItemHeadSubtitleText,\n StyledListItemHeadSubtitleTextPseudo,\n StyledListItemHeadTitle,\n StyledListItemHeadTitleContent,\n StyledListItemHeadTitleElement,\n StyledListItemHeadTitleText,\n StyledListItemHeadTitleTextPseudo,\n StyledMotionListItemHeadHoverItem,\n StyledMotionListItemHeadHoverItemWrapper,\n StyledMotionListItemHeadIndicator,\n} from './ListItemHead.styles';\n\ninterface HeadHeight {\n closed: number;\n open: number;\n}\n\ntype ListItemHeadProps = {\n careOfLocationId?: number;\n hoverItem?: ReactNode;\n icons?: string[];\n imageBackground?: CSSProperties['background'];\n images?: string[];\n isAnyItemExpandable: boolean;\n isExpandable: boolean;\n isOpen: boolean;\n isTitleGreyed?: boolean;\n leftElements?: ReactNode;\n onClick?: MouseEventHandler<HTMLDivElement>;\n onLongPress?: TouchEventHandler<HTMLDivElement>;\n rightElements?: IListItemRightElements;\n shouldHideImageOrIconBackground?: boolean;\n shouldHideIndicator?: boolean;\n shouldOpenImageOnClick: boolean;\n shouldShowRoundImageOrIcon?: boolean;\n subtitle?: ReactNode;\n title: ReactNode;\n titleElement?: ReactNode;\n shouldForceHover?: boolean;\n};\n\nconst ListItemHead: FC<ListItemHeadProps> = ({\n careOfLocationId,\n hoverItem,\n icons,\n imageBackground,\n images,\n isAnyItemExpandable,\n isExpandable,\n isOpen,\n isTitleGreyed,\n leftElements,\n onClick,\n onLongPress,\n rightElements,\n shouldHideImageOrIconBackground,\n shouldHideIndicator,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n subtitle,\n shouldForceHover,\n title,\n titleElement,\n}) => {\n const [shouldRenderPseudoElements, setShouldRenderPseudoElements] = useState(true);\n const [shouldShowHoverItem, setShouldShowHoverItem] = useState(false);\n const [openTitleWidth, setOpenTitleWidth] = useState(0);\n const [headHeight, setHeadHeight] = useState<HeadHeight>({ closed: 40, open: 40 });\n const [, setIsFirstRender] = useState(false);\n\n const longPressTimeoutRef = useRef<number>();\n\n const pseudoTitleOpenRef = useRef<HTMLDivElement>(null);\n const pseudoTitleClosedRef = useRef<HTMLDivElement>(null);\n const pseudoSubtitleOpenRef = useRef<HTMLDivElement>(null);\n const pseudoSubtitleClosedRef = useRef<HTMLDivElement>(null);\n\n const shouldShowSubtitleRow = subtitle || typeof subtitle === 'string';\n\n useEffect(() => {\n if (pseudoTitleOpenRef.current && pseudoTitleClosedRef.current) {\n const { height: closedTitleHeight } =\n pseudoTitleClosedRef.current.getBoundingClientRect();\n const { height: openTitleHeight, width: openWidth } =\n pseudoTitleOpenRef.current.getBoundingClientRect();\n\n setOpenTitleWidth(openWidth);\n\n let closedHeight = closedTitleHeight + 24;\n let openHeight = openTitleHeight + 24;\n\n if (shouldShowSubtitleRow) {\n if (pseudoSubtitleOpenRef.current && pseudoSubtitleClosedRef.current) {\n const { height: closedSubtitleHeight } =\n pseudoSubtitleClosedRef.current.getBoundingClientRect();\n const { height: openSubtitleHeight } =\n pseudoSubtitleOpenRef.current.getBoundingClientRect();\n\n closedHeight += closedSubtitleHeight + 4;\n openHeight += openSubtitleHeight + 4;\n }\n }\n\n setHeadHeight({ closed: closedHeight, open: openHeight });\n\n setShouldRenderPseudoElements(false);\n }\n }, [shouldShowSubtitleRow]);\n\n useEffect(() => {\n if (subtitle || title) setShouldRenderPseudoElements(true);\n }, [subtitle, title]);\n\n // This is used to trigger a rerender, so the head height can be calculated\n useEffect(() => {\n setIsFirstRender(true);\n }, []);\n\n const handleMouseEnter = useCallback(() => setShouldShowHoverItem(true), []);\n\n const handleMouseLeave = useCallback(() => setShouldShowHoverItem(false), []);\n\n const marginTop = useMemo(() => {\n const height = headHeight[isOpen ? 'open' : 'closed'];\n\n if (height < 64) {\n return (64 - height) / 2;\n }\n\n return 0;\n }, [headHeight, isOpen]);\n\n const handleTouchStart = useCallback<TouchEventHandler<HTMLDivElement>>(\n (event) => {\n longPressTimeoutRef.current = window.setTimeout(() => {\n if (typeof onLongPress === 'function') {\n onLongPress(event);\n }\n }, 400);\n },\n [onLongPress],\n );\n\n const handleTouchEnd = useCallback(() => {\n clearTimeout(longPressTimeoutRef.current);\n }, []);\n\n const iconOrImageElement = useMemo(() => {\n if (icons) {\n return (\n <ListItemIcon\n icons={icons}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundIcon={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n if (images) {\n return (\n <ListItemImage\n imageBackground={imageBackground}\n careOfLocationId={careOfLocationId}\n images={images}\n shouldOpenImageOnClick={shouldOpenImageOnClick}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundImage={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n return undefined;\n }, [\n careOfLocationId,\n icons,\n imageBackground,\n images,\n shouldHideImageOrIconBackground,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n ]);\n\n return (\n <StyledListItemHead\n animate={{\n height: isOpen ? headHeight.open : headHeight.closed,\n opacity: isTitleGreyed ? 0.5 : 1,\n }}\n initial={false}\n transition={{ duration: 0.2, type: 'tween' }}\n className=\"beta-chayns-list-item-head\"\n $isClickable={typeof onClick === 'function' || isExpandable}\n $isAnyItemExpandable={isAnyItemExpandable}\n onClick={onClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onTouchStart={typeof onLongPress === 'function' ? handleTouchStart : undefined}\n onTouchEnd={typeof onLongPress === 'function' ? handleTouchEnd : undefined}\n >\n <StyledListItemHeadLeftWrapper>\n {isAnyItemExpandable && (\n <StyledMotionListItemHeadIndicator\n animate={{ rotate: isOpen ? 90 : 0 }}\n initial={false}\n transition={{ type: 'tween' }}\n >\n {isExpandable && !shouldHideIndicator && (\n <Icon icons={['fa fa-chevron-right']} />\n )}\n </StyledMotionListItemHeadIndicator>\n )}\n {leftElements}\n {iconOrImageElement}\n </StyledListItemHeadLeftWrapper>\n <StyledListItemHeadContent\n $isIconOrImageGiven={iconOrImageElement !== undefined}\n $marginTop={marginTop}\n $isOpen={isOpen}\n >\n <StyledListItemHeadTitle>\n <StyledListItemHeadTitleContent>\n {shouldRenderPseudoElements && (\n <>\n <StyledListItemHeadTitleTextPseudo ref={pseudoTitleOpenRef} $isOpen>\n {title}\n </StyledListItemHeadTitleTextPseudo>\n <StyledListItemHeadTitleTextPseudo\n ref={pseudoTitleClosedRef}\n $isOpen={false}\n >\n {title}\n </StyledListItemHeadTitleTextPseudo>\n </>\n )}\n <StyledListItemHeadTitleText $isOpen={isOpen} $width={openTitleWidth}>\n {title}\n </StyledListItemHeadTitleText>\n <StyledListItemHeadTitleElement>\n {titleElement}\n </StyledListItemHeadTitleElement>\n </StyledListItemHeadTitleContent>\n </StyledListItemHeadTitle>\n {shouldShowSubtitleRow && (\n <StyledListItemHeadSubtitle>\n {shouldRenderPseudoElements && (\n <>\n <StyledListItemHeadSubtitleTextPseudo\n ref={pseudoSubtitleOpenRef}\n $isOpen\n >\n {subtitle}\n </StyledListItemHeadSubtitleTextPseudo>\n <StyledListItemHeadSubtitleTextPseudo\n ref={pseudoSubtitleClosedRef}\n $isOpen={false}\n >\n {subtitle}\n </StyledListItemHeadSubtitleTextPseudo>\n </>\n )}\n <StyledListItemHeadSubtitleText $isOpen={isOpen}>\n {subtitle}\n </StyledListItemHeadSubtitleText>\n </StyledListItemHeadSubtitle>\n )}\n </StyledListItemHeadContent>\n {rightElements && <ListItemRightElements rightElements={rightElements} />}\n {hoverItem && (\n <StyledMotionListItemHeadHoverItemWrapper\n className=\"beta-chayns-list-item-hover-item\"\n animate={{\n marginLeft: shouldForceHover || shouldShowHoverItem ? 8 : 0,\n opacity: shouldForceHover || shouldShowHoverItem ? 1 : 0,\n width: shouldForceHover || shouldShowHoverItem ? 'auto' : 0,\n }}\n initial={false}\n transition={{ duration: 0.15, type: 'tween' }}\n >\n <StyledMotionListItemHeadHoverItem>\n {hoverItem}\n </StyledMotionListItemHeadHoverItem>\n </StyledMotionListItemHeadHoverItemWrapper>\n )}\n </StyledListItemHead>\n );\n};\n\nListItemHead.displayName = 'ListItemHead';\n\nexport default ListItemHead;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAaA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,cAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,sBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AAe+B,SAAAE,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AA+B/B,MAAMW,YAAmC,GAAGA,CAAC;EACzCC,gBAAgB;EAChBC,SAAS;EACTC,KAAK;EACLC,eAAe;EACfC,MAAM;EACNC,mBAAmB;EACnBC,YAAY;EACZC,MAAM;EACNC,aAAa;EACbC,YAAY;EACZC,OAAO;EACPC,WAAW;EACXC,aAAa;EACbC,+BAA+B;EAC/BC,mBAAmB;EACnBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,QAAQ;EACRC,gBAAgB;EAChBC,KAAK;EACLC;AACJ,CAAC,KAAK;EACF,MAAM,CAACC,0BAA0B,EAAEC,6BAA6B,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAI,CAAC;EAClF,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EACrE,MAAM,CAACG,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAJ,eAAQ,EAAC,CAAC,CAAC;EACvD,MAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAN,eAAQ,EAAa;IAAEO,MAAM,EAAE,EAAE;IAAEC,IAAI,EAAE;EAAG,CAAC,CAAC;EAClF,MAAM,GAAGC,gBAAgB,CAAC,GAAG,IAAAT,eAAQ,EAAC,KAAK,CAAC;EAE5C,MAAMU,mBAAmB,GAAG,IAAAC,aAAM,EAAS,CAAC;EAE5C,MAAMC,kBAAkB,GAAG,IAAAD,aAAM,EAAiB,IAAI,CAAC;EACvD,MAAME,oBAAoB,GAAG,IAAAF,aAAM,EAAiB,IAAI,CAAC;EACzD,MAAMG,qBAAqB,GAAG,IAAAH,aAAM,EAAiB,IAAI,CAAC;EAC1D,MAAMI,uBAAuB,GAAG,IAAAJ,aAAM,EAAiB,IAAI,CAAC;EAE5D,MAAMK,qBAAqB,GAAGtB,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ;EAEtE,IAAAuB,gBAAS,EAAC,MAAM;IACZ,IAAIL,kBAAkB,CAACM,OAAO,IAAIL,oBAAoB,CAACK,OAAO,EAAE;MAC5D,MAAM;QAAEC,MAAM,EAAEC;MAAkB,CAAC,GAC/BP,oBAAoB,CAACK,OAAO,CAACG,qBAAqB,CAAC,CAAC;MACxD,MAAM;QAAEF,MAAM,EAAEG,eAAe;QAAEC,KAAK,EAAEC;MAAU,CAAC,GAC/CZ,kBAAkB,CAACM,OAAO,CAACG,qBAAqB,CAAC,CAAC;MAEtDjB,iBAAiB,CAACoB,SAAS,CAAC;MAE5B,IAAIC,YAAY,GAAGL,iBAAiB,GAAG,EAAE;MACzC,IAAIM,UAAU,GAAGJ,eAAe,GAAG,EAAE;MAErC,IAAIN,qBAAqB,EAAE;QACvB,IAAIF,qBAAqB,CAACI,OAAO,IAAIH,uBAAuB,CAACG,OAAO,EAAE;UAClE,MAAM;YAAEC,MAAM,EAAEQ;UAAqB,CAAC,GAClCZ,uBAAuB,CAACG,OAAO,CAACG,qBAAqB,CAAC,CAAC;UAC3D,MAAM;YAAEF,MAAM,EAAES;UAAmB,CAAC,GAChCd,qBAAqB,CAACI,OAAO,CAACG,qBAAqB,CAAC,CAAC;UAEzDI,YAAY,IAAIE,oBAAoB,GAAG,CAAC;UACxCD,UAAU,IAAIE,kBAAkB,GAAG,CAAC;QACxC;MACJ;MAEAtB,aAAa,CAAC;QAAEC,MAAM,EAAEkB,YAAY;QAAEjB,IAAI,EAAEkB;MAAW,CAAC,CAAC;MAEzD3B,6BAA6B,CAAC,KAAK,CAAC;IACxC;EACJ,CAAC,EAAE,CAACiB,qBAAqB,CAAC,CAAC;EAE3B,IAAAC,gBAAS,EAAC,MAAM;IACZ,IAAIvB,QAAQ,IAAIE,KAAK,EAAEG,6BAA6B,CAAC,IAAI,CAAC;EAC9D,CAAC,EAAE,CAACL,QAAQ,EAAEE,KAAK,CAAC,CAAC;;EAErB;EACA,IAAAqB,gBAAS,EAAC,MAAM;IACZR,gBAAgB,CAAC,IAAI,CAAC;EAC1B,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMoB,gBAAgB,GAAG,IAAAC,kBAAW,EAAC,MAAM5B,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;EAE5E,MAAM6B,gBAAgB,GAAG,IAAAD,kBAAW,EAAC,MAAM5B,sBAAsB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;EAE7E,MAAM8B,SAAS,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC5B,MAAMd,MAAM,GAAGd,UAAU,CAACrB,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAErD,IAAImC,MAAM,GAAG,EAAE,EAAE;MACb,OAAO,CAAC,EAAE,GAAGA,MAAM,IAAI,CAAC;IAC5B;IAEA,OAAO,CAAC;EACZ,CAAC,EAAE,CAACd,UAAU,EAAErB,MAAM,CAAC,CAAC;EAExB,MAAMkD,gBAAgB,GAAG,IAAAJ,kBAAW,EAC/BK,KAAK,IAAK;IACPzB,mBAAmB,CAACQ,OAAO,GAAGkB,MAAM,CAACC,UAAU,CAAC,MAAM;MAClD,IAAI,OAAOjD,WAAW,KAAK,UAAU,EAAE;QACnCA,WAAW,CAAC+C,KAAK,CAAC;MACtB;IACJ,CAAC,EAAE,GAAG,CAAC;EACX,CAAC,EACD,CAAC/C,WAAW,CAChB,CAAC;EAED,MAAMkD,cAAc,GAAG,IAAAR,kBAAW,EAAC,MAAM;IACrCS,YAAY,CAAC7B,mBAAmB,CAACQ,OAAO,CAAC;EAC7C,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMsB,kBAAkB,GAAG,IAAAP,cAAO,EAAC,MAAM;IACrC,IAAItD,KAAK,EAAE;MACP,oBACIhC,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACzF,aAAA,CAAAM,OAAY;QACTqB,KAAK,EAAEA,KAAM;QACb+D,oBAAoB,EAAE,CAAC,CAACpD,+BAAgC;QACxDqD,mBAAmB,EAAE,CAAC,CAAClD;MAA2B,CACrD,CAAC;IAEV;IAEA,IAAIZ,MAAM,EAAE;MACR,oBACIlC,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACxF,cAAA,CAAAK,OAAa;QACVsB,eAAe,EAAEA,eAAgB;QACjCH,gBAAgB,EAAEA,gBAAiB;QACnCI,MAAM,EAAEA,MAAO;QACfW,sBAAsB,EAAEA,sBAAuB;QAC/CkD,oBAAoB,EAAE,CAAC,CAACpD,+BAAgC;QACxDsD,oBAAoB,EAAE,CAAC,CAACnD;MAA2B,CACtD,CAAC;IAEV;IAEA,OAAOoD,SAAS;EACpB,CAAC,EAAE,CACCpE,gBAAgB,EAChBE,KAAK,EACLC,eAAe,EACfC,MAAM,EACNS,+BAA+B,EAC/BE,sBAAsB,EACtBC,0BAA0B,CAC7B,CAAC;EAEF,oBACI9C,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAA2F,kBAAkB;IACfC,OAAO,EAAE;MACL5B,MAAM,EAAEnC,MAAM,GAAGqB,UAAU,CAACG,IAAI,GAAGH,UAAU,CAACE,MAAM;MACpDyC,OAAO,EAAE/D,aAAa,GAAG,GAAG,GAAG;IACnC,CAAE;IACFgE,OAAO,EAAE,KAAM;IACfC,UAAU,EAAE;MAAEC,QAAQ,EAAE,GAAG;MAAEC,IAAI,EAAE;IAAQ,CAAE;IAC7CC,SAAS,EAAC,4BAA4B;IACtCC,YAAY,EAAE,OAAOnE,OAAO,KAAK,UAAU,IAAIJ,YAAa;IAC5DwE,oBAAoB,EAAEzE,mBAAoB;IAC1CK,OAAO,EAAEA,OAAQ;IACjBqE,YAAY,EAAE3B,gBAAiB;IAC/B4B,YAAY,EAAE1B,gBAAiB;IAC/B2B,YAAY,EAAE,OAAOtE,WAAW,KAAK,UAAU,GAAG8C,gBAAgB,GAAGW,SAAU;IAC/Ec,UAAU,EAAE,OAAOvE,WAAW,KAAK,UAAU,GAAGkD,cAAc,GAAGO;EAAU,gBAE3ElG,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAAyG,6BAA6B,QACzB9E,mBAAmB,iBAChBnC,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAA0G,iCAAiC;IAC9Bd,OAAO,EAAE;MAAEe,MAAM,EAAE9E,MAAM,GAAG,EAAE,GAAG;IAAE,CAAE;IACrCiE,OAAO,EAAE,KAAM;IACfC,UAAU,EAAE;MAAEE,IAAI,EAAE;IAAQ;EAAE,GAE7BrE,YAAY,IAAI,CAACQ,mBAAmB,iBACjC5C,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAAC3F,KAAA,CAAAQ,OAAI;IAACqB,KAAK,EAAE,CAAC,qBAAqB;EAAE,CAAE,CAEZ,CACtC,EACAO,YAAY,EACZsD,kBAC0B,CAAC,eAChC7F,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAA4G,yBAAyB;IACtBC,mBAAmB,EAAExB,kBAAkB,KAAKK,SAAU;IACtDoB,UAAU,EAAEjC,SAAU;IACtBkC,OAAO,EAAElF;EAAO,gBAEhBrC,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAAgH,uBAAuB,qBACpBxH,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAAiH,8BAA8B,QAC1BtE,0BAA0B,iBACvBnD,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAAA9F,MAAA,CAAAW,OAAA,CAAA+G,QAAA,qBACI1H,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAAmH,iCAAiC;IAACC,GAAG,EAAE3D,kBAAmB;IAACsD,OAAO;EAAA,GAC9DtE,KAC8B,CAAC,eACpCjD,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAAmH,iCAAiC;IAC9BC,GAAG,EAAE1D,oBAAqB;IAC1BqD,OAAO,EAAE;EAAM,GAEdtE,KAC8B,CACrC,CACL,eACDjD,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAAqH,2BAA2B;IAACN,OAAO,EAAElF,MAAO;IAACyF,MAAM,EAAEtE;EAAe,GAChEP,KACwB,CAAC,eAC9BjD,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAAuH,8BAA8B,QAC1B7E,YAC2B,CACJ,CACX,CAAC,EACzBmB,qBAAqB,iBAClBrE,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAAwH,0BAA0B,QACtB7E,0BAA0B,iBACvBnD,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAAA9F,MAAA,CAAAW,OAAA,CAAA+G,QAAA,qBACI1H,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAAyH,oCAAoC;IACjCL,GAAG,EAAEzD,qBAAsB;IAC3BoD,OAAO;EAAA,GAENxE,QACiC,CAAC,eACvC/C,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAAyH,oCAAoC;IACjCL,GAAG,EAAExD,uBAAwB;IAC7BmD,OAAO,EAAE;EAAM,GAEdxE,QACiC,CACxC,CACL,eACD/C,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAA0H,8BAA8B;IAACX,OAAO,EAAElF;EAAO,GAC3CU,QAC2B,CACR,CAET,CAAC,EAC3BL,aAAa,iBAAI1C,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACvF,sBAAA,CAAAI,OAAqB;IAAC+B,aAAa,EAAEA;EAAc,CAAE,CAAC,EACxEX,SAAS,iBACN/B,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAA2H,wCAAwC;IACrCzB,SAAS,EAAC,kCAAkC;IAC5CN,OAAO,EAAE;MACLgC,UAAU,EAAEpF,gBAAgB,IAAIM,mBAAmB,GAAG,CAAC,GAAG,CAAC;MAC3D+C,OAAO,EAAErD,gBAAgB,IAAIM,mBAAmB,GAAG,CAAC,GAAG,CAAC;MACxDsB,KAAK,EAAE5B,gBAAgB,IAAIM,mBAAmB,GAAG,MAAM,GAAG;IAC9D,CAAE;IACFgD,OAAO,EAAE,KAAM;IACfC,UAAU,EAAE;MAAEC,QAAQ,EAAE,IAAI;MAAEC,IAAI,EAAE;IAAQ;EAAE,gBAE9CzG,MAAA,CAAAW,OAAA,CAAAmF,aAAA,CAACtF,aAAA,CAAA6H,iCAAiC,QAC7BtG,SAC8B,CACG,CAE9B,CAAC;AAE7B,CAAC;AAEDF,YAAY,CAACyG,WAAW,GAAG,cAAc;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAA7H,OAAA,GAE3BkB,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"ListItemHead.js","names":["_react","_interopRequireWildcard","require","_accordion","_Icon","_interopRequireDefault","_ListItemIcon","_ListItemImage","_ListItemRightElements","_ListItemHead","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ListItemHead","careOfLocationId","hoverItem","icons","imageBackground","images","isAnyItemExpandable","isExpandable","isOpen","isTitleGreyed","leftElements","onClick","onLongPress","rightElements","shouldHideImageOrIconBackground","shouldHideIndicator","shouldOpenImageOnClick","shouldShowRoundImageOrIcon","subtitle","shouldForceHover","title","titleElement","shouldRenderPseudoElements","setShouldRenderPseudoElements","useState","shouldShowHoverItem","setShouldShowHoverItem","openTitleWidth","setOpenTitleWidth","headHeight","setHeadHeight","closed","open","setIsFirstRender","longPressTimeoutRef","useRef","pseudoTitleOpenRef","pseudoTitleClosedRef","pseudoSubtitleOpenRef","pseudoSubtitleClosedRef","shouldShowSubtitleRow","useEffect","current","height","closedTitleHeight","getBoundingClientRect","openTitleHeight","width","openWidth","closedHeight","openHeight","closedSubtitleHeight","openSubtitleHeight","handleMouseEnter","useCallback","handleMouseLeave","marginTop","useMemo","handleTouchStart","event","window","setTimeout","handleTouchEnd","clearTimeout","shouldPreventRightElementClick","bottom","getElementClickEvent","center","top","iconOrImageElement","createElement","shouldHideBackground","shouldShowRoundIcon","shouldShowRoundImage","undefined","StyledListItemHead","animate","opacity","initial","transition","duration","type","className","$isClickable","$isAnyItemExpandable","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","StyledListItemHeadLeftWrapper","StyledMotionListItemHeadIndicator","rotate","StyledListItemHeadContent","$isIconOrImageGiven","$marginTop","$isOpen","StyledListItemHeadTitle","StyledListItemHeadTitleContent","Fragment","StyledListItemHeadTitleTextPseudo","ref","StyledListItemHeadTitleText","$width","StyledListItemHeadTitleElement","StyledListItemHeadSubtitle","StyledListItemHeadSubtitleTextPseudo","StyledListItemHeadSubtitleText","StyledMotionListItemHeadHoverItemWrapper","marginLeft","StyledMotionListItemHeadHoverItem","displayName","_default","exports"],"sources":["../../../../../../src/components/list/list-item/list-item-head/ListItemHead.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n FC,\n MouseEventHandler,\n ReactNode,\n TouchEventHandler,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { IListItemRightElements } from '../../../../types/list';\nimport { getElementClickEvent } from '../../../../utils/accordion';\nimport Icon from '../../../icon/Icon';\nimport ListItemIcon from './list-item-icon/ListItemIcon';\nimport ListItemImage from './list-item-image/ListItemImage';\nimport ListItemRightElements from './list-item-right-elements/ListItemRightElements';\nimport {\n StyledListItemHead,\n StyledListItemHeadContent,\n StyledListItemHeadLeftWrapper,\n StyledListItemHeadSubtitle,\n StyledListItemHeadSubtitleText,\n StyledListItemHeadSubtitleTextPseudo,\n StyledListItemHeadTitle,\n StyledListItemHeadTitleContent,\n StyledListItemHeadTitleElement,\n StyledListItemHeadTitleText,\n StyledListItemHeadTitleTextPseudo,\n StyledMotionListItemHeadHoverItem,\n StyledMotionListItemHeadHoverItemWrapper,\n StyledMotionListItemHeadIndicator,\n} from './ListItemHead.styles';\n\ninterface HeadHeight {\n closed: number;\n open: number;\n}\n\ntype ListItemHeadProps = {\n careOfLocationId?: number;\n hoverItem?: ReactNode;\n icons?: string[];\n imageBackground?: CSSProperties['background'];\n images?: string[];\n isAnyItemExpandable: boolean;\n isExpandable: boolean;\n isOpen: boolean;\n isTitleGreyed?: boolean;\n leftElements?: ReactNode;\n onClick?: MouseEventHandler<HTMLDivElement>;\n onLongPress?: TouchEventHandler<HTMLDivElement>;\n rightElements?: IListItemRightElements;\n shouldHideImageOrIconBackground?: boolean;\n shouldHideIndicator?: boolean;\n shouldOpenImageOnClick: boolean;\n shouldShowRoundImageOrIcon?: boolean;\n subtitle?: ReactNode;\n title: ReactNode;\n titleElement?: ReactNode;\n shouldForceHover?: boolean;\n};\n\nconst ListItemHead: FC<ListItemHeadProps> = ({\n careOfLocationId,\n hoverItem,\n icons,\n imageBackground,\n images,\n isAnyItemExpandable,\n isExpandable,\n isOpen,\n isTitleGreyed,\n leftElements,\n onClick,\n onLongPress,\n rightElements,\n shouldHideImageOrIconBackground,\n shouldHideIndicator,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n subtitle,\n shouldForceHover,\n title,\n titleElement,\n}) => {\n const [shouldRenderPseudoElements, setShouldRenderPseudoElements] = useState(true);\n const [shouldShowHoverItem, setShouldShowHoverItem] = useState(false);\n const [openTitleWidth, setOpenTitleWidth] = useState(0);\n const [headHeight, setHeadHeight] = useState<HeadHeight>({ closed: 40, open: 40 });\n const [, setIsFirstRender] = useState(false);\n\n const longPressTimeoutRef = useRef<number>();\n\n const pseudoTitleOpenRef = useRef<HTMLDivElement>(null);\n const pseudoTitleClosedRef = useRef<HTMLDivElement>(null);\n const pseudoSubtitleOpenRef = useRef<HTMLDivElement>(null);\n const pseudoSubtitleClosedRef = useRef<HTMLDivElement>(null);\n\n const shouldShowSubtitleRow = subtitle || typeof subtitle === 'string';\n\n useEffect(() => {\n if (pseudoTitleOpenRef.current && pseudoTitleClosedRef.current) {\n const { height: closedTitleHeight } =\n pseudoTitleClosedRef.current.getBoundingClientRect();\n const { height: openTitleHeight, width: openWidth } =\n pseudoTitleOpenRef.current.getBoundingClientRect();\n\n setOpenTitleWidth(openWidth);\n\n let closedHeight = closedTitleHeight + 24;\n let openHeight = openTitleHeight + 24;\n\n if (shouldShowSubtitleRow) {\n if (pseudoSubtitleOpenRef.current && pseudoSubtitleClosedRef.current) {\n const { height: closedSubtitleHeight } =\n pseudoSubtitleClosedRef.current.getBoundingClientRect();\n const { height: openSubtitleHeight } =\n pseudoSubtitleOpenRef.current.getBoundingClientRect();\n\n closedHeight += closedSubtitleHeight + 4;\n openHeight += openSubtitleHeight + 4;\n }\n }\n\n setHeadHeight({ closed: closedHeight, open: openHeight });\n\n setShouldRenderPseudoElements(false);\n }\n }, [shouldShowSubtitleRow]);\n\n useEffect(() => {\n if (subtitle || title) setShouldRenderPseudoElements(true);\n }, [subtitle, title]);\n\n // This is used to trigger a rerender, so the head height can be calculated\n useEffect(() => {\n setIsFirstRender(true);\n }, []);\n\n const handleMouseEnter = useCallback(() => setShouldShowHoverItem(true), []);\n\n const handleMouseLeave = useCallback(() => setShouldShowHoverItem(false), []);\n\n const marginTop = useMemo(() => {\n const height = headHeight[isOpen ? 'open' : 'closed'];\n\n if (height < 64) {\n return (64 - height) / 2;\n }\n\n return 0;\n }, [headHeight, isOpen]);\n\n const handleTouchStart = useCallback<TouchEventHandler<HTMLDivElement>>(\n (event) => {\n longPressTimeoutRef.current = window.setTimeout(() => {\n if (typeof onLongPress === 'function') {\n onLongPress(event);\n }\n }, 400);\n },\n [onLongPress],\n );\n\n const handleTouchEnd = useCallback(() => {\n clearTimeout(longPressTimeoutRef.current);\n }, []);\n\n const shouldPreventRightElementClick = useMemo(() => {\n if (!rightElements) return false;\n\n if (\n typeof rightElements === 'object' &&\n ('bottom' in rightElements || 'center' in rightElements || 'top' in rightElements)\n ) {\n if (rightElements.bottom && getElementClickEvent(rightElements.bottom)) {\n return true;\n }\n\n if (rightElements.center && getElementClickEvent(rightElements.center)) {\n return true;\n }\n\n if (rightElements.top && getElementClickEvent(rightElements.top)) {\n return true;\n }\n } else {\n return getElementClickEvent(rightElements as ReactNode);\n }\n\n return false;\n }, [rightElements]);\n\n const iconOrImageElement = useMemo(() => {\n if (icons) {\n return (\n <ListItemIcon\n icons={icons}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundIcon={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n if (images) {\n return (\n <ListItemImage\n imageBackground={imageBackground}\n careOfLocationId={careOfLocationId}\n images={images}\n shouldOpenImageOnClick={shouldOpenImageOnClick}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundImage={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n return undefined;\n }, [\n careOfLocationId,\n icons,\n imageBackground,\n images,\n shouldHideImageOrIconBackground,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n ]);\n\n return (\n <StyledListItemHead\n animate={{\n height: isOpen ? headHeight.open : headHeight.closed,\n opacity: isTitleGreyed ? 0.5 : 1,\n }}\n initial={false}\n transition={{ duration: 0.2, type: 'tween' }}\n className=\"beta-chayns-list-item-head\"\n $isClickable={typeof onClick === 'function' || isExpandable}\n $isAnyItemExpandable={isAnyItemExpandable}\n onClick={onClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onTouchStart={typeof onLongPress === 'function' ? handleTouchStart : undefined}\n onTouchEnd={typeof onLongPress === 'function' ? handleTouchEnd : undefined}\n >\n <StyledListItemHeadLeftWrapper>\n {isAnyItemExpandable && (\n <StyledMotionListItemHeadIndicator\n animate={{ rotate: isOpen ? 90 : 0 }}\n initial={false}\n transition={{ type: 'tween' }}\n >\n {isExpandable && !shouldHideIndicator && (\n <Icon icons={['fa fa-chevron-right']} />\n )}\n </StyledMotionListItemHeadIndicator>\n )}\n {leftElements}\n {iconOrImageElement}\n </StyledListItemHeadLeftWrapper>\n <StyledListItemHeadContent\n $isIconOrImageGiven={iconOrImageElement !== undefined}\n $marginTop={marginTop}\n $isOpen={isOpen}\n >\n <StyledListItemHeadTitle>\n <StyledListItemHeadTitleContent>\n {shouldRenderPseudoElements && (\n <>\n <StyledListItemHeadTitleTextPseudo ref={pseudoTitleOpenRef} $isOpen>\n {title}\n </StyledListItemHeadTitleTextPseudo>\n <StyledListItemHeadTitleTextPseudo\n ref={pseudoTitleClosedRef}\n $isOpen={false}\n >\n {title}\n </StyledListItemHeadTitleTextPseudo>\n </>\n )}\n <StyledListItemHeadTitleText $isOpen={isOpen} $width={openTitleWidth}>\n {title}\n </StyledListItemHeadTitleText>\n <StyledListItemHeadTitleElement>\n {titleElement}\n </StyledListItemHeadTitleElement>\n </StyledListItemHeadTitleContent>\n </StyledListItemHeadTitle>\n {shouldShowSubtitleRow && (\n <StyledListItemHeadSubtitle>\n {shouldRenderPseudoElements && (\n <>\n <StyledListItemHeadSubtitleTextPseudo\n ref={pseudoSubtitleOpenRef}\n $isOpen\n >\n {subtitle}\n </StyledListItemHeadSubtitleTextPseudo>\n <StyledListItemHeadSubtitleTextPseudo\n ref={pseudoSubtitleClosedRef}\n $isOpen={false}\n >\n {subtitle}\n </StyledListItemHeadSubtitleTextPseudo>\n </>\n )}\n <StyledListItemHeadSubtitleText $isOpen={isOpen}>\n {subtitle}\n </StyledListItemHeadSubtitleText>\n </StyledListItemHeadSubtitle>\n )}\n </StyledListItemHeadContent>\n {rightElements && (\n <ListItemRightElements\n rightElements={rightElements}\n shouldPreventRightElementClick={shouldPreventRightElementClick}\n />\n )}\n {hoverItem && (\n <StyledMotionListItemHeadHoverItemWrapper\n className=\"beta-chayns-list-item-hover-item\"\n animate={{\n marginLeft: shouldForceHover || shouldShowHoverItem ? 8 : 0,\n opacity: shouldForceHover || shouldShowHoverItem ? 1 : 0,\n width: shouldForceHover || shouldShowHoverItem ? 'auto' : 0,\n }}\n initial={false}\n transition={{ duration: 0.15, type: 'tween' }}\n >\n <StyledMotionListItemHeadHoverItem>\n {hoverItem}\n </StyledMotionListItemHeadHoverItem>\n </StyledMotionListItemHeadHoverItemWrapper>\n )}\n </StyledListItemHead>\n );\n};\n\nListItemHead.displayName = 'ListItemHead';\n\nexport default ListItemHead;\n"],"mappings":"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","ignoreList":[]}
@@ -9,8 +9,13 @@ var _ListItemRightElements = require("./ListItemRightElements.styles");
9
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
10
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
11
  const ListItemRightElements = ({
12
- rightElements
12
+ rightElements,
13
+ shouldPreventRightElementClick
13
14
  }) => {
15
+ const handlePreventClick = event => {
16
+ event.stopPropagation();
17
+ event.preventDefault();
18
+ };
14
19
  const topElement = (0, _react.useMemo)(() => {
15
20
  if (typeof rightElements === 'object' && rightElements && 'top' in rightElements) {
16
21
  return rightElements.top;
@@ -47,7 +52,9 @@ const ListItemRightElements = ({
47
52
  bottomAlignment: undefined
48
53
  };
49
54
  }, [rightElements]);
50
- return /*#__PURE__*/_react.default.createElement(_ListItemRightElements.StyledListItemRightElements, null, (topElement || bottomElement) && /*#__PURE__*/_react.default.createElement(_ListItemRightElements.StyledListItemRightElementsLeft, null, topElement ? /*#__PURE__*/_react.default.createElement(_ListItemRightElements.StyledListItemRightElementsLeftTop, {
55
+ return /*#__PURE__*/_react.default.createElement(_ListItemRightElements.StyledListItemRightElements, {
56
+ onClick: shouldPreventRightElementClick ? handlePreventClick : undefined
57
+ }, (topElement || bottomElement) && /*#__PURE__*/_react.default.createElement(_ListItemRightElements.StyledListItemRightElementsLeft, null, topElement ? /*#__PURE__*/_react.default.createElement(_ListItemRightElements.StyledListItemRightElementsLeftTop, {
51
58
  $alignment: topAlignment
52
59
  }, topElement) : /*#__PURE__*/_react.default.createElement(_ListItemRightElements.StyledListItemRightElementsLeftPseudo, null, "."), bottomElement && /*#__PURE__*/_react.default.createElement(_ListItemRightElements.StyledListItemRightElementsLeftBottom, {
53
60
  $alignment: bottomAlignment
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemRightElements.js","names":["_react","_interopRequireWildcard","require","_ListItemRightElements","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ListItemRightElements","rightElements","topElement","useMemo","top","undefined","bottomElement","bottom","centerElement","isValidElement","center","topAlignment","bottomAlignment","createElement","StyledListItemRightElements","StyledListItemRightElementsLeft","StyledListItemRightElementsLeftTop","$alignment","StyledListItemRightElementsLeftPseudo","StyledListItemRightElementsLeftBottom","StyledListItemRightElementsRight","displayName","_default","exports"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.tsx"],"sourcesContent":["import React, { FC, isValidElement, useMemo } from 'react';\nimport type { IListItemRightElement, IListItemRightElements } from '../../../../../types/list';\nimport {\n StyledListItemRightElements,\n StyledListItemRightElementsLeft,\n StyledListItemRightElementsLeftBottom,\n StyledListItemRightElementsLeftPseudo,\n StyledListItemRightElementsLeftTop,\n StyledListItemRightElementsRight,\n} from './ListItemRightElements.styles';\n\ntype ListItemRightElementsProps = {\n rightElements?: IListItemRightElements;\n};\n\nconst ListItemRightElements: FC<ListItemRightElementsProps> = ({ rightElements }) => {\n const topElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'top' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).top;\n }\n\n return undefined;\n }, [rightElements]);\n\n const bottomElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'bottom' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).bottom;\n }\n\n return undefined;\n }, [rightElements]);\n\n const centerElement = useMemo(() => {\n if (typeof rightElements === 'string' || isValidElement(rightElements)) {\n return rightElements;\n }\n\n if (typeof rightElements === 'object' && rightElements && 'center' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).center;\n }\n\n return undefined;\n }, [rightElements]);\n\n const { topAlignment, bottomAlignment } = useMemo(() => {\n if (\n typeof rightElements === 'object' &&\n ((rightElements && 'topAlignment' in rightElements) ||\n (rightElements && 'bottomAlignment' in rightElements))\n ) {\n return {\n topAlignment: rightElements.topAlignment,\n bottomAlignment: rightElements.bottomAlignment,\n };\n }\n\n return { topAlignment: undefined, bottomAlignment: undefined };\n }, [rightElements]);\n\n return (\n <StyledListItemRightElements>\n {(topElement || bottomElement) && (\n <StyledListItemRightElementsLeft>\n {topElement ? (\n <StyledListItemRightElementsLeftTop $alignment={topAlignment}>\n {topElement}\n </StyledListItemRightElementsLeftTop>\n ) : (\n <StyledListItemRightElementsLeftPseudo>\n .\n </StyledListItemRightElementsLeftPseudo>\n )}\n {bottomElement && (\n <StyledListItemRightElementsLeftBottom $alignment={bottomAlignment}>\n {bottomElement}\n </StyledListItemRightElementsLeftBottom>\n )}\n </StyledListItemRightElementsLeft>\n )}\n {centerElement && (\n <StyledListItemRightElementsRight>{centerElement}</StyledListItemRightElementsRight>\n )}\n </StyledListItemRightElements>\n );\n};\n\nListItemRightElements.displayName = 'ListItemRightElements';\n\nexport default ListItemRightElements;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListItemRightElements.js","names":["_react","_interopRequireWildcard","require","_ListItemRightElements","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ListItemRightElements","rightElements","shouldPreventRightElementClick","handlePreventClick","event","stopPropagation","preventDefault","topElement","useMemo","top","undefined","bottomElement","bottom","centerElement","isValidElement","center","topAlignment","bottomAlignment","createElement","StyledListItemRightElements","onClick","StyledListItemRightElementsLeft","StyledListItemRightElementsLeftTop","$alignment","StyledListItemRightElementsLeftPseudo","StyledListItemRightElementsLeftBottom","StyledListItemRightElementsRight","displayName","_default","exports"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.tsx"],"sourcesContent":["import React, { FC, isValidElement, useMemo } from 'react';\nimport type { IListItemRightElement, IListItemRightElements } from '../../../../../types/list';\nimport {\n StyledListItemRightElements,\n StyledListItemRightElementsLeft,\n StyledListItemRightElementsLeftBottom,\n StyledListItemRightElementsLeftPseudo,\n StyledListItemRightElementsLeftTop,\n StyledListItemRightElementsRight,\n} from './ListItemRightElements.styles';\n\ntype ListItemRightElementsProps = {\n rightElements?: IListItemRightElements;\n shouldPreventRightElementClick?: boolean;\n};\n\nconst ListItemRightElements: FC<ListItemRightElementsProps> = ({\n rightElements,\n shouldPreventRightElementClick,\n}) => {\n const handlePreventClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n const topElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'top' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).top;\n }\n\n return undefined;\n }, [rightElements]);\n\n const bottomElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'bottom' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).bottom;\n }\n\n return undefined;\n }, [rightElements]);\n\n const centerElement = useMemo(() => {\n if (typeof rightElements === 'string' || isValidElement(rightElements)) {\n return rightElements;\n }\n\n if (typeof rightElements === 'object' && rightElements && 'center' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).center;\n }\n\n return undefined;\n }, [rightElements]);\n\n const { topAlignment, bottomAlignment } = useMemo(() => {\n if (\n typeof rightElements === 'object' &&\n ((rightElements && 'topAlignment' in rightElements) ||\n (rightElements && 'bottomAlignment' in rightElements))\n ) {\n return {\n topAlignment: rightElements.topAlignment,\n bottomAlignment: rightElements.bottomAlignment,\n };\n }\n\n return { topAlignment: undefined, bottomAlignment: undefined };\n }, [rightElements]);\n\n return (\n <StyledListItemRightElements\n onClick={shouldPreventRightElementClick ? handlePreventClick : undefined}\n >\n {(topElement || bottomElement) && (\n <StyledListItemRightElementsLeft>\n {topElement ? (\n <StyledListItemRightElementsLeftTop $alignment={topAlignment}>\n {topElement}\n </StyledListItemRightElementsLeftTop>\n ) : (\n <StyledListItemRightElementsLeftPseudo>\n .\n </StyledListItemRightElementsLeftPseudo>\n )}\n {bottomElement && (\n <StyledListItemRightElementsLeftBottom $alignment={bottomAlignment}>\n {bottomElement}\n </StyledListItemRightElementsLeftBottom>\n )}\n </StyledListItemRightElementsLeft>\n )}\n {centerElement && (\n <StyledListItemRightElementsRight>{centerElement}</StyledListItemRightElementsRight>\n )}\n </StyledListItemRightElements>\n );\n};\n\nListItemRightElements.displayName = 'ListItemRightElements';\n\nexport default ListItemRightElements;\n"],"mappings":"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","ignoreList":[]}
@@ -45,9 +45,15 @@ const getElementClickEvent = element => {
45
45
  hasClickHandler = true;
46
46
  return;
47
47
  }
48
-
48
+ if (
49
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
50
+ el.props.onClick ||
51
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
52
+ el.props.onPointerDown ||
53
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
54
+ el.props.onMouseDown ||
49
55
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
50
- if (el.props.onClick) {
56
+ el.props.onTouchStart) {
51
57
  hasClickHandler = true;
52
58
  return;
53
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","names":["_react","require","getAccordionHeadHeight","isWrapped","title","width","hasSearch","element","document","createElement","style","fontSize","opacity","pointerEvents","whiteSpace","innerHTML","body","appendChild","closedHeight","Math","max","clientHeight","fontWeight","openHeight","removeChild","closed","open","exports","getElementClickEvent","hasClickHandler","checkForClickHandler","el","isValidElement","type","displayName","props","onClick","children","Children","forEach"],"sources":["../../../src/utils/accordion.ts"],"sourcesContent":["import { Children, isValidElement, ReactNode } from 'react';\nimport type { AccordionHeadProps } from '../components/accordion/accordion-head/AccordionHead';\n\ntype GetAccordionHeadHeightOptions = Pick<AccordionHeadProps, 'isWrapped' | 'title'> & {\n width: number;\n hasSearch: boolean;\n};\n\ninterface GetAccordionHeadHeightResult {\n closed: number;\n open: number;\n}\n\nexport const getAccordionHeadHeight = ({\n isWrapped,\n title,\n width,\n hasSearch,\n}: GetAccordionHeadHeightOptions): GetAccordionHeadHeightResult => {\n const element = document.createElement('div');\n\n element.style.fontSize = '1rem';\n element.style.opacity = '0';\n element.style.pointerEvents = 'none';\n element.style.whiteSpace = 'nowrap';\n element.style.width = `${width}px`;\n\n element.innerHTML = title;\n\n document.body.appendChild(element);\n\n const closedHeight = Math.max(element.clientHeight + 8, isWrapped ? 40 : 33);\n\n if (isWrapped) {\n element.style.fontWeight = 'bold';\n element.style.whiteSpace = 'nowrap';\n } else {\n element.style.fontSize = '1.3rem';\n element.style.whiteSpace = hasSearch ? 'nowrap' : 'normal';\n }\n\n const openHeight = Math.max(element.clientHeight + 8, isWrapped ? 40 : 33);\n\n document.body.removeChild(element);\n\n return { closed: closedHeight, open: openHeight };\n};\n\nexport const getElementClickEvent = (element: ReactNode) => {\n let hasClickHandler = false;\n\n const checkForClickHandler = (el: ReactNode) => {\n if (!isValidElement(el)) return;\n\n // @ts-expect-error: Difficult to type\n if ('displayName' in el.type && el.type.displayName === 'Checkbox') {\n hasClickHandler = true;\n\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (el.props.onClick) {\n hasClickHandler = true;\n\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (el.props.children) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-member-access\n Children.forEach(el.props.children, checkForClickHandler);\n }\n };\n\n checkForClickHandler(element);\n\n return hasClickHandler;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAaO,MAAMC,sBAAsB,GAAGA,CAAC;EACnCC,SAAS;EACTC,KAAK;EACLC,KAAK;EACLC;AAC2B,CAAC,KAAmC;EAC/D,MAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAE7CF,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,MAAM;EAC/BJ,OAAO,CAACG,KAAK,CAACE,OAAO,GAAG,GAAG;EAC3BL,OAAO,CAACG,KAAK,CAACG,aAAa,GAAG,MAAM;EACpCN,OAAO,CAACG,KAAK,CAACI,UAAU,GAAG,QAAQ;EACnCP,OAAO,CAACG,KAAK,CAACL,KAAK,GAAG,GAAGA,KAAK,IAAI;EAElCE,OAAO,CAACQ,SAAS,GAAGX,KAAK;EAEzBI,QAAQ,CAACQ,IAAI,CAACC,WAAW,CAACV,OAAO,CAAC;EAElC,MAAMW,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACb,OAAO,CAACc,YAAY,GAAG,CAAC,EAAElB,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;EAE5E,IAAIA,SAAS,EAAE;IACXI,OAAO,CAACG,KAAK,CAACY,UAAU,GAAG,MAAM;IACjCf,OAAO,CAACG,KAAK,CAACI,UAAU,GAAG,QAAQ;EACvC,CAAC,MAAM;IACHP,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,QAAQ;IACjCJ,OAAO,CAACG,KAAK,CAACI,UAAU,GAAGR,SAAS,GAAG,QAAQ,GAAG,QAAQ;EAC9D;EAEA,MAAMiB,UAAU,GAAGJ,IAAI,CAACC,GAAG,CAACb,OAAO,CAACc,YAAY,GAAG,CAAC,EAAElB,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;EAE1EK,QAAQ,CAACQ,IAAI,CAACQ,WAAW,CAACjB,OAAO,CAAC;EAElC,OAAO;IAAEkB,MAAM,EAAEP,YAAY;IAAEQ,IAAI,EAAEH;EAAW,CAAC;AACrD,CAAC;AAACI,OAAA,CAAAzB,sBAAA,GAAAA,sBAAA;AAEK,MAAM0B,oBAAoB,GAAIrB,OAAkB,IAAK;EACxD,IAAIsB,eAAe,GAAG,KAAK;EAE3B,MAAMC,oBAAoB,GAAIC,EAAa,IAAK;IAC5C,IAAI,eAAC,IAAAC,qBAAc,EAACD,EAAE,CAAC,EAAE;;IAEzB;IACA,IAAI,aAAa,IAAIA,EAAE,CAACE,IAAI,IAAIF,EAAE,CAACE,IAAI,CAACC,WAAW,KAAK,UAAU,EAAE;MAChEL,eAAe,GAAG,IAAI;MAEtB;IACJ;;IAEA;IACA,IAAIE,EAAE,CAACI,KAAK,CAACC,OAAO,EAAE;MAClBP,eAAe,GAAG,IAAI;MAEtB;IACJ;;IAEA;IACA,IAAIE,EAAE,CAACI,KAAK,CAACE,QAAQ,EAAE;MACnB;MACAC,eAAQ,CAACC,OAAO,CAACR,EAAE,CAACI,KAAK,CAACE,QAAQ,EAAEP,oBAAoB,CAAC;IAC7D;EACJ,CAAC;EAEDA,oBAAoB,CAACvB,OAAO,CAAC;EAE7B,OAAOsB,eAAe;AAC1B,CAAC;AAACF,OAAA,CAAAC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"file":"accordion.js","names":["_react","require","getAccordionHeadHeight","isWrapped","title","width","hasSearch","element","document","createElement","style","fontSize","opacity","pointerEvents","whiteSpace","innerHTML","body","appendChild","closedHeight","Math","max","clientHeight","fontWeight","openHeight","removeChild","closed","open","exports","getElementClickEvent","hasClickHandler","checkForClickHandler","el","isValidElement","type","displayName","props","onClick","onPointerDown","onMouseDown","onTouchStart","children","Children","forEach"],"sources":["../../../src/utils/accordion.ts"],"sourcesContent":["import { Children, isValidElement, ReactNode } from 'react';\nimport type { AccordionHeadProps } from '../components/accordion/accordion-head/AccordionHead';\n\ntype GetAccordionHeadHeightOptions = Pick<AccordionHeadProps, 'isWrapped' | 'title'> & {\n width: number;\n hasSearch: boolean;\n};\n\ninterface GetAccordionHeadHeightResult {\n closed: number;\n open: number;\n}\n\nexport const getAccordionHeadHeight = ({\n isWrapped,\n title,\n width,\n hasSearch,\n}: GetAccordionHeadHeightOptions): GetAccordionHeadHeightResult => {\n const element = document.createElement('div');\n\n element.style.fontSize = '1rem';\n element.style.opacity = '0';\n element.style.pointerEvents = 'none';\n element.style.whiteSpace = 'nowrap';\n element.style.width = `${width}px`;\n\n element.innerHTML = title;\n\n document.body.appendChild(element);\n\n const closedHeight = Math.max(element.clientHeight + 8, isWrapped ? 40 : 33);\n\n if (isWrapped) {\n element.style.fontWeight = 'bold';\n element.style.whiteSpace = 'nowrap';\n } else {\n element.style.fontSize = '1.3rem';\n element.style.whiteSpace = hasSearch ? 'nowrap' : 'normal';\n }\n\n const openHeight = Math.max(element.clientHeight + 8, isWrapped ? 40 : 33);\n\n document.body.removeChild(element);\n\n return { closed: closedHeight, open: openHeight };\n};\n\nexport const getElementClickEvent = (element: ReactNode) => {\n let hasClickHandler = false;\n\n const checkForClickHandler = (el: ReactNode) => {\n if (!isValidElement(el)) return;\n\n // @ts-expect-error: Difficult to type\n if ('displayName' in el.type && el.type.displayName === 'Checkbox') {\n hasClickHandler = true;\n\n return;\n }\n\n if (\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n el.props.onClick ||\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n el.props.onPointerDown ||\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n el.props.onMouseDown ||\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n el.props.onTouchStart\n ) {\n hasClickHandler = true;\n\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (el.props.children) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-member-access\n Children.forEach(el.props.children, checkForClickHandler);\n }\n };\n\n checkForClickHandler(element);\n\n return hasClickHandler;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAaO,MAAMC,sBAAsB,GAAGA,CAAC;EACnCC,SAAS;EACTC,KAAK;EACLC,KAAK;EACLC;AAC2B,CAAC,KAAmC;EAC/D,MAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAE7CF,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,MAAM;EAC/BJ,OAAO,CAACG,KAAK,CAACE,OAAO,GAAG,GAAG;EAC3BL,OAAO,CAACG,KAAK,CAACG,aAAa,GAAG,MAAM;EACpCN,OAAO,CAACG,KAAK,CAACI,UAAU,GAAG,QAAQ;EACnCP,OAAO,CAACG,KAAK,CAACL,KAAK,GAAG,GAAGA,KAAK,IAAI;EAElCE,OAAO,CAACQ,SAAS,GAAGX,KAAK;EAEzBI,QAAQ,CAACQ,IAAI,CAACC,WAAW,CAACV,OAAO,CAAC;EAElC,MAAMW,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACb,OAAO,CAACc,YAAY,GAAG,CAAC,EAAElB,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;EAE5E,IAAIA,SAAS,EAAE;IACXI,OAAO,CAACG,KAAK,CAACY,UAAU,GAAG,MAAM;IACjCf,OAAO,CAACG,KAAK,CAACI,UAAU,GAAG,QAAQ;EACvC,CAAC,MAAM;IACHP,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,QAAQ;IACjCJ,OAAO,CAACG,KAAK,CAACI,UAAU,GAAGR,SAAS,GAAG,QAAQ,GAAG,QAAQ;EAC9D;EAEA,MAAMiB,UAAU,GAAGJ,IAAI,CAACC,GAAG,CAACb,OAAO,CAACc,YAAY,GAAG,CAAC,EAAElB,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;EAE1EK,QAAQ,CAACQ,IAAI,CAACQ,WAAW,CAACjB,OAAO,CAAC;EAElC,OAAO;IAAEkB,MAAM,EAAEP,YAAY;IAAEQ,IAAI,EAAEH;EAAW,CAAC;AACrD,CAAC;AAACI,OAAA,CAAAzB,sBAAA,GAAAA,sBAAA;AAEK,MAAM0B,oBAAoB,GAAIrB,OAAkB,IAAK;EACxD,IAAIsB,eAAe,GAAG,KAAK;EAE3B,MAAMC,oBAAoB,GAAIC,EAAa,IAAK;IAC5C,IAAI,eAAC,IAAAC,qBAAc,EAACD,EAAE,CAAC,EAAE;;IAEzB;IACA,IAAI,aAAa,IAAIA,EAAE,CAACE,IAAI,IAAIF,EAAE,CAACE,IAAI,CAACC,WAAW,KAAK,UAAU,EAAE;MAChEL,eAAe,GAAG,IAAI;MAEtB;IACJ;IAEA;IACI;IACAE,EAAE,CAACI,KAAK,CAACC,OAAO;IAChB;IACAL,EAAE,CAACI,KAAK,CAACE,aAAa;IACtB;IACAN,EAAE,CAACI,KAAK,CAACG,WAAW;IACpB;IACAP,EAAE,CAACI,KAAK,CAACI,YAAY,EACvB;MACEV,eAAe,GAAG,IAAI;MAEtB;IACJ;;IAEA;IACA,IAAIE,EAAE,CAACI,KAAK,CAACK,QAAQ,EAAE;MACnB;MACAC,eAAQ,CAACC,OAAO,CAACX,EAAE,CAACI,KAAK,CAACK,QAAQ,EAAEV,oBAAoB,CAAC;IAC7D;EACJ,CAAC;EAEDA,oBAAoB,CAACvB,OAAO,CAAC;EAE7B,OAAOsB,eAAe;AAC1B,CAAC;AAACF,OAAA,CAAAC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -51,6 +51,10 @@ export const StyledContentCard = styled.div`
51
51
 
52
52
  --chayns-color--text: #222;
53
53
  --chayns-color-rgb--text: rgb(34, 34, 34);
54
+
55
+ label {
56
+ color: #222 !important;
57
+ }
54
58
  `;
55
59
  case ContentCardType.Success:
56
60
  return css`
@@ -60,6 +64,10 @@ export const StyledContentCard = styled.div`
60
64
 
61
65
  --chayns-color--text: #222;
62
66
  --chayns-color-rgb--text: rgb(34, 34, 34);
67
+
68
+ label {
69
+ color: #222 !important;
70
+ }
63
71
  `;
64
72
  case ContentCardType.Warning:
65
73
  return css`
@@ -69,6 +77,10 @@ export const StyledContentCard = styled.div`
69
77
 
70
78
  --chayns-color--text: #222;
71
79
  --chayns-color-rgb--text: rgb(34, 34, 34);
80
+
81
+ label {
82
+ color: #222 !important;
83
+ }
72
84
  `;
73
85
  default:
74
86
  return css`
@@ -1 +1 @@
1
- {"version":3,"file":"ContentCard.styles.js","names":["styled","css","ContentCardType","StyledContentCard","div","_ref","theme","cardBorderRadius","_ref2","$shouldChangeColor","cardShadow","_ref3","text","_ref4","$type","Default","cardBackgroundOpacity","Error","Success","Warning"],"sources":["../../../../src/components/content-card/ContentCard.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { ContentCardType } from '../../types/contentCard';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledContentCardProps = WithTheme<{\n $type: ContentCardType;\n $shouldChangeColor: boolean;\n}>;\n\nexport const StyledContentCard = styled.div<StyledContentCardProps>`\n border-radius: ${({ theme }: StyledContentCardProps) => theme.cardBorderRadius}px;\n\n ${({ theme, $shouldChangeColor }: StyledContentCardProps) =>\n !$shouldChangeColor &&\n css`\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, ${theme.cardShadow});\n `};\n\n padding: 8px 12px;\n\n color: ${({ theme }: StyledContentCardProps) => theme.text};\n\n &:not(:last-child) {\n margin-bottom: 8px;\n }\n\n ${({ $type, theme, $shouldChangeColor }: StyledContentCardProps) => {\n if ($type === ContentCardType.Default && $shouldChangeColor) {\n return css`\n background-color: rgba(${theme['000-rgb']}, ${theme.cardBackgroundOpacity});\n `;\n }\n\n switch ($type) {\n case ContentCardType.Error:\n return css`\n background-color: ${theme['red-4']};\n border: 1px solid ${theme['red-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n `;\n case ContentCardType.Success:\n return css`\n background-color: ${theme['green-4']};\n border: 1px solid ${theme['green-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n `;\n case ContentCardType.Warning:\n return css`\n background-color: ${theme['yellow-4']};\n border: 1px solid ${theme['yellow-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n `;\n default:\n return css`\n background-color: rgba(\n ${theme['secondary-100-rgb']},\n ${theme.cardBackgroundOpacity}\n );\n `;\n }\n }}\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,eAAe,QAAQ,yBAAyB;AAQzD,OAAO,MAAMC,iBAAiB,GAAGH,MAAM,CAACI,GAA2B;AACnE,qBAAqBC,IAAA;EAAA,IAAC;IAAEC;EAA8B,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAACC,gBAAgB;AAAA;AAClF;AACA,MAAMC,KAAA;EAAA,IAAC;IAAEF,KAAK;IAAEG;EAA2C,CAAC,GAAAD,KAAA;EAAA,OACpD,CAACC,kBAAkB,IACnBR,GAAG;AACX,oDAAoDK,KAAK,CAACI,UAAU;AACpE,SAAS;AAAA;AACT;AACA;AACA;AACA,aAAaC,KAAA;EAAA,IAAC;IAAEL;EAA8B,CAAC,GAAAK,KAAA;EAAA,OAAKL,KAAK,CAACM,IAAI;AAAA;AAC9D;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAA,IAAkE;EAAA,IAAjE;IAAEC,KAAK;IAAER,KAAK;IAAEG;EAA2C,CAAC,GAAAI,KAAA;EAC3D,IAAIC,KAAK,KAAKZ,eAAe,CAACa,OAAO,IAAIN,kBAAkB,EAAE;IACzD,OAAOR,GAAG;AACtB,yCAAyCK,KAAK,CAAC,SAAS,CAAC,KAAKA,KAAK,CAACU,qBAAqB;AACzF,aAAa;EACL;EAEA,QAAQF,KAAK;IACT,KAAKZ,eAAe,CAACe,KAAK;MACtB,OAAOhB,GAAG;AAC1B,wCAAwCK,KAAK,CAAC,OAAO,CAAC;AACtD,wCAAwCA,KAAK,CAAC,OAAO,CAAC;AACtD;AACA;AACA;AACA;AACA,iBAAiB;IACL,KAAKJ,eAAe,CAACgB,OAAO;MACxB,OAAOjB,GAAG;AAC1B,wCAAwCK,KAAK,CAAC,SAAS,CAAC;AACxD,wCAAwCA,KAAK,CAAC,SAAS,CAAC;AACxD;AACA;AACA;AACA;AACA,iBAAiB;IACL,KAAKJ,eAAe,CAACiB,OAAO;MACxB,OAAOlB,GAAG;AAC1B,wCAAwCK,KAAK,CAAC,UAAU,CAAC;AACzD,wCAAwCA,KAAK,CAAC,UAAU,CAAC;AACzD;AACA;AACA;AACA;AACA,iBAAiB;IACL;MACI,OAAOL,GAAG;AAC1B;AACA,0BAA0BK,KAAK,CAAC,mBAAmB,CAAC;AACpD,0BAA0BA,KAAK,CAACU,qBAAqB;AACrD;AACA,iBAAiB;EACT;AACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"ContentCard.styles.js","names":["styled","css","ContentCardType","StyledContentCard","div","_ref","theme","cardBorderRadius","_ref2","$shouldChangeColor","cardShadow","_ref3","text","_ref4","$type","Default","cardBackgroundOpacity","Error","Success","Warning"],"sources":["../../../../src/components/content-card/ContentCard.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { ContentCardType } from '../../types/contentCard';\nimport type { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledContentCardProps = WithTheme<{\n $type: ContentCardType;\n $shouldChangeColor: boolean;\n}>;\n\nexport const StyledContentCard = styled.div<StyledContentCardProps>`\n border-radius: ${({ theme }: StyledContentCardProps) => theme.cardBorderRadius}px;\n\n ${({ theme, $shouldChangeColor }: StyledContentCardProps) =>\n !$shouldChangeColor &&\n css`\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, ${theme.cardShadow});\n `};\n\n padding: 8px 12px;\n\n color: ${({ theme }: StyledContentCardProps) => theme.text};\n\n &:not(:last-child) {\n margin-bottom: 8px;\n }\n\n ${({ $type, theme, $shouldChangeColor }: StyledContentCardProps) => {\n if ($type === ContentCardType.Default && $shouldChangeColor) {\n return css`\n background-color: rgba(${theme['000-rgb']}, ${theme.cardBackgroundOpacity});\n `;\n }\n\n switch ($type) {\n case ContentCardType.Error:\n return css`\n background-color: ${theme['red-4']};\n border: 1px solid ${theme['red-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n\n label {\n color: #222 !important;\n }\n `;\n case ContentCardType.Success:\n return css`\n background-color: ${theme['green-4']};\n border: 1px solid ${theme['green-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n\n label {\n color: #222 !important;\n }\n `;\n case ContentCardType.Warning:\n return css`\n background-color: ${theme['yellow-4']};\n border: 1px solid ${theme['yellow-1']};\n color: #222;\n\n --chayns-color--text: #222;\n --chayns-color-rgb--text: rgb(34, 34, 34);\n\n label {\n color: #222 !important;\n }\n `;\n default:\n return css`\n background-color: rgba(\n ${theme['secondary-100-rgb']},\n ${theme.cardBackgroundOpacity}\n );\n `;\n }\n }}\n`;\n"],"mappings":"AAAA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAC/C,SAASC,eAAe,QAAQ,yBAAyB;AAQzD,OAAO,MAAMC,iBAAiB,GAAGH,MAAM,CAACI,GAA2B;AACnE,qBAAqBC,IAAA;EAAA,IAAC;IAAEC;EAA8B,CAAC,GAAAD,IAAA;EAAA,OAAKC,KAAK,CAACC,gBAAgB;AAAA;AAClF;AACA,MAAMC,KAAA;EAAA,IAAC;IAAEF,KAAK;IAAEG;EAA2C,CAAC,GAAAD,KAAA;EAAA,OACpD,CAACC,kBAAkB,IACnBR,GAAG;AACX,oDAAoDK,KAAK,CAACI,UAAU;AACpE,SAAS;AAAA;AACT;AACA;AACA;AACA,aAAaC,KAAA;EAAA,IAAC;IAAEL;EAA8B,CAAC,GAAAK,KAAA;EAAA,OAAKL,KAAK,CAACM,IAAI;AAAA;AAC9D;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAA,IAAkE;EAAA,IAAjE;IAAEC,KAAK;IAAER,KAAK;IAAEG;EAA2C,CAAC,GAAAI,KAAA;EAC3D,IAAIC,KAAK,KAAKZ,eAAe,CAACa,OAAO,IAAIN,kBAAkB,EAAE;IACzD,OAAOR,GAAG;AACtB,yCAAyCK,KAAK,CAAC,SAAS,CAAC,KAAKA,KAAK,CAACU,qBAAqB;AACzF,aAAa;EACL;EAEA,QAAQF,KAAK;IACT,KAAKZ,eAAe,CAACe,KAAK;MACtB,OAAOhB,GAAG;AAC1B,wCAAwCK,KAAK,CAAC,OAAO,CAAC;AACtD,wCAAwCA,KAAK,CAAC,OAAO,CAAC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;IACL,KAAKJ,eAAe,CAACgB,OAAO;MACxB,OAAOjB,GAAG;AAC1B,wCAAwCK,KAAK,CAAC,SAAS,CAAC;AACxD,wCAAwCA,KAAK,CAAC,SAAS,CAAC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;IACL,KAAKJ,eAAe,CAACiB,OAAO;MACxB,OAAOlB,GAAG;AAC1B,wCAAwCK,KAAK,CAAC,UAAU,CAAC;AACzD,wCAAwCA,KAAK,CAAC,UAAU,CAAC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;IACL;MACI,OAAOL,GAAG;AAC1B;AACA,0BAA0BK,KAAK,CAAC,mBAAmB,CAAC;AACpD,0BAA0BA,KAAK,CAACU,qBAAqB;AACrD;AACA,iBAAiB;EACT;AACJ,CAAC;AACL,CAAC","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
+ import { getElementClickEvent } from '../../../../utils/accordion';
2
3
  import Icon from '../../../icon/Icon';
3
4
  import ListItemIcon from './list-item-icon/ListItemIcon';
4
5
  import ListItemImage from './list-item-image/ListItemImage';
@@ -100,6 +101,23 @@ const ListItemHead = _ref => {
100
101
  const handleTouchEnd = useCallback(() => {
101
102
  clearTimeout(longPressTimeoutRef.current);
102
103
  }, []);
104
+ const shouldPreventRightElementClick = useMemo(() => {
105
+ if (!rightElements) return false;
106
+ if (typeof rightElements === 'object' && ('bottom' in rightElements || 'center' in rightElements || 'top' in rightElements)) {
107
+ if (rightElements.bottom && getElementClickEvent(rightElements.bottom)) {
108
+ return true;
109
+ }
110
+ if (rightElements.center && getElementClickEvent(rightElements.center)) {
111
+ return true;
112
+ }
113
+ if (rightElements.top && getElementClickEvent(rightElements.top)) {
114
+ return true;
115
+ }
116
+ } else {
117
+ return getElementClickEvent(rightElements);
118
+ }
119
+ return false;
120
+ }, [rightElements]);
103
121
  const iconOrImageElement = useMemo(() => {
104
122
  if (icons) {
105
123
  return /*#__PURE__*/React.createElement(ListItemIcon, {
@@ -170,7 +188,8 @@ const ListItemHead = _ref => {
170
188
  }, subtitle)), /*#__PURE__*/React.createElement(StyledListItemHeadSubtitleText, {
171
189
  $isOpen: isOpen
172
190
  }, subtitle))), rightElements && /*#__PURE__*/React.createElement(ListItemRightElements, {
173
- rightElements: rightElements
191
+ rightElements: rightElements,
192
+ shouldPreventRightElementClick: shouldPreventRightElementClick
174
193
  }), hoverItem && /*#__PURE__*/React.createElement(StyledMotionListItemHeadHoverItemWrapper, {
175
194
  className: "beta-chayns-list-item-hover-item",
176
195
  animate: {
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemHead.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","Icon","ListItemIcon","ListItemImage","ListItemRightElements","StyledListItemHead","StyledListItemHeadContent","StyledListItemHeadLeftWrapper","StyledListItemHeadSubtitle","StyledListItemHeadSubtitleText","StyledListItemHeadSubtitleTextPseudo","StyledListItemHeadTitle","StyledListItemHeadTitleContent","StyledListItemHeadTitleElement","StyledListItemHeadTitleText","StyledListItemHeadTitleTextPseudo","StyledMotionListItemHeadHoverItem","StyledMotionListItemHeadHoverItemWrapper","StyledMotionListItemHeadIndicator","ListItemHead","_ref","careOfLocationId","hoverItem","icons","imageBackground","images","isAnyItemExpandable","isExpandable","isOpen","isTitleGreyed","leftElements","onClick","onLongPress","rightElements","shouldHideImageOrIconBackground","shouldHideIndicator","shouldOpenImageOnClick","shouldShowRoundImageOrIcon","subtitle","shouldForceHover","title","titleElement","shouldRenderPseudoElements","setShouldRenderPseudoElements","shouldShowHoverItem","setShouldShowHoverItem","openTitleWidth","setOpenTitleWidth","headHeight","setHeadHeight","closed","open","setIsFirstRender","longPressTimeoutRef","pseudoTitleOpenRef","pseudoTitleClosedRef","pseudoSubtitleOpenRef","pseudoSubtitleClosedRef","shouldShowSubtitleRow","current","height","closedTitleHeight","getBoundingClientRect","openTitleHeight","width","openWidth","closedHeight","openHeight","closedSubtitleHeight","openSubtitleHeight","handleMouseEnter","handleMouseLeave","marginTop","handleTouchStart","event","window","setTimeout","handleTouchEnd","clearTimeout","iconOrImageElement","createElement","shouldHideBackground","shouldShowRoundIcon","shouldShowRoundImage","undefined","animate","opacity","initial","transition","duration","type","className","$isClickable","$isAnyItemExpandable","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","rotate","$isIconOrImageGiven","$marginTop","$isOpen","Fragment","ref","$width","marginLeft","displayName"],"sources":["../../../../../../src/components/list/list-item/list-item-head/ListItemHead.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n FC,\n MouseEventHandler,\n ReactNode,\n TouchEventHandler,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { IListItemRightElements } from '../../../../types/list';\nimport Icon from '../../../icon/Icon';\nimport ListItemIcon from './list-item-icon/ListItemIcon';\nimport ListItemImage from './list-item-image/ListItemImage';\nimport ListItemRightElements from './list-item-right-elements/ListItemRightElements';\nimport {\n StyledListItemHead,\n StyledListItemHeadContent,\n StyledListItemHeadLeftWrapper,\n StyledListItemHeadSubtitle,\n StyledListItemHeadSubtitleText,\n StyledListItemHeadSubtitleTextPseudo,\n StyledListItemHeadTitle,\n StyledListItemHeadTitleContent,\n StyledListItemHeadTitleElement,\n StyledListItemHeadTitleText,\n StyledListItemHeadTitleTextPseudo,\n StyledMotionListItemHeadHoverItem,\n StyledMotionListItemHeadHoverItemWrapper,\n StyledMotionListItemHeadIndicator,\n} from './ListItemHead.styles';\n\ninterface HeadHeight {\n closed: number;\n open: number;\n}\n\ntype ListItemHeadProps = {\n careOfLocationId?: number;\n hoverItem?: ReactNode;\n icons?: string[];\n imageBackground?: CSSProperties['background'];\n images?: string[];\n isAnyItemExpandable: boolean;\n isExpandable: boolean;\n isOpen: boolean;\n isTitleGreyed?: boolean;\n leftElements?: ReactNode;\n onClick?: MouseEventHandler<HTMLDivElement>;\n onLongPress?: TouchEventHandler<HTMLDivElement>;\n rightElements?: IListItemRightElements;\n shouldHideImageOrIconBackground?: boolean;\n shouldHideIndicator?: boolean;\n shouldOpenImageOnClick: boolean;\n shouldShowRoundImageOrIcon?: boolean;\n subtitle?: ReactNode;\n title: ReactNode;\n titleElement?: ReactNode;\n shouldForceHover?: boolean;\n};\n\nconst ListItemHead: FC<ListItemHeadProps> = ({\n careOfLocationId,\n hoverItem,\n icons,\n imageBackground,\n images,\n isAnyItemExpandable,\n isExpandable,\n isOpen,\n isTitleGreyed,\n leftElements,\n onClick,\n onLongPress,\n rightElements,\n shouldHideImageOrIconBackground,\n shouldHideIndicator,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n subtitle,\n shouldForceHover,\n title,\n titleElement,\n}) => {\n const [shouldRenderPseudoElements, setShouldRenderPseudoElements] = useState(true);\n const [shouldShowHoverItem, setShouldShowHoverItem] = useState(false);\n const [openTitleWidth, setOpenTitleWidth] = useState(0);\n const [headHeight, setHeadHeight] = useState<HeadHeight>({ closed: 40, open: 40 });\n const [, setIsFirstRender] = useState(false);\n\n const longPressTimeoutRef = useRef<number>();\n\n const pseudoTitleOpenRef = useRef<HTMLDivElement>(null);\n const pseudoTitleClosedRef = useRef<HTMLDivElement>(null);\n const pseudoSubtitleOpenRef = useRef<HTMLDivElement>(null);\n const pseudoSubtitleClosedRef = useRef<HTMLDivElement>(null);\n\n const shouldShowSubtitleRow = subtitle || typeof subtitle === 'string';\n\n useEffect(() => {\n if (pseudoTitleOpenRef.current && pseudoTitleClosedRef.current) {\n const { height: closedTitleHeight } =\n pseudoTitleClosedRef.current.getBoundingClientRect();\n const { height: openTitleHeight, width: openWidth } =\n pseudoTitleOpenRef.current.getBoundingClientRect();\n\n setOpenTitleWidth(openWidth);\n\n let closedHeight = closedTitleHeight + 24;\n let openHeight = openTitleHeight + 24;\n\n if (shouldShowSubtitleRow) {\n if (pseudoSubtitleOpenRef.current && pseudoSubtitleClosedRef.current) {\n const { height: closedSubtitleHeight } =\n pseudoSubtitleClosedRef.current.getBoundingClientRect();\n const { height: openSubtitleHeight } =\n pseudoSubtitleOpenRef.current.getBoundingClientRect();\n\n closedHeight += closedSubtitleHeight + 4;\n openHeight += openSubtitleHeight + 4;\n }\n }\n\n setHeadHeight({ closed: closedHeight, open: openHeight });\n\n setShouldRenderPseudoElements(false);\n }\n }, [shouldShowSubtitleRow]);\n\n useEffect(() => {\n if (subtitle || title) setShouldRenderPseudoElements(true);\n }, [subtitle, title]);\n\n // This is used to trigger a rerender, so the head height can be calculated\n useEffect(() => {\n setIsFirstRender(true);\n }, []);\n\n const handleMouseEnter = useCallback(() => setShouldShowHoverItem(true), []);\n\n const handleMouseLeave = useCallback(() => setShouldShowHoverItem(false), []);\n\n const marginTop = useMemo(() => {\n const height = headHeight[isOpen ? 'open' : 'closed'];\n\n if (height < 64) {\n return (64 - height) / 2;\n }\n\n return 0;\n }, [headHeight, isOpen]);\n\n const handleTouchStart = useCallback<TouchEventHandler<HTMLDivElement>>(\n (event) => {\n longPressTimeoutRef.current = window.setTimeout(() => {\n if (typeof onLongPress === 'function') {\n onLongPress(event);\n }\n }, 400);\n },\n [onLongPress],\n );\n\n const handleTouchEnd = useCallback(() => {\n clearTimeout(longPressTimeoutRef.current);\n }, []);\n\n const iconOrImageElement = useMemo(() => {\n if (icons) {\n return (\n <ListItemIcon\n icons={icons}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundIcon={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n if (images) {\n return (\n <ListItemImage\n imageBackground={imageBackground}\n careOfLocationId={careOfLocationId}\n images={images}\n shouldOpenImageOnClick={shouldOpenImageOnClick}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundImage={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n return undefined;\n }, [\n careOfLocationId,\n icons,\n imageBackground,\n images,\n shouldHideImageOrIconBackground,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n ]);\n\n return (\n <StyledListItemHead\n animate={{\n height: isOpen ? headHeight.open : headHeight.closed,\n opacity: isTitleGreyed ? 0.5 : 1,\n }}\n initial={false}\n transition={{ duration: 0.2, type: 'tween' }}\n className=\"beta-chayns-list-item-head\"\n $isClickable={typeof onClick === 'function' || isExpandable}\n $isAnyItemExpandable={isAnyItemExpandable}\n onClick={onClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onTouchStart={typeof onLongPress === 'function' ? handleTouchStart : undefined}\n onTouchEnd={typeof onLongPress === 'function' ? handleTouchEnd : undefined}\n >\n <StyledListItemHeadLeftWrapper>\n {isAnyItemExpandable && (\n <StyledMotionListItemHeadIndicator\n animate={{ rotate: isOpen ? 90 : 0 }}\n initial={false}\n transition={{ type: 'tween' }}\n >\n {isExpandable && !shouldHideIndicator && (\n <Icon icons={['fa fa-chevron-right']} />\n )}\n </StyledMotionListItemHeadIndicator>\n )}\n {leftElements}\n {iconOrImageElement}\n </StyledListItemHeadLeftWrapper>\n <StyledListItemHeadContent\n $isIconOrImageGiven={iconOrImageElement !== undefined}\n $marginTop={marginTop}\n $isOpen={isOpen}\n >\n <StyledListItemHeadTitle>\n <StyledListItemHeadTitleContent>\n {shouldRenderPseudoElements && (\n <>\n <StyledListItemHeadTitleTextPseudo ref={pseudoTitleOpenRef} $isOpen>\n {title}\n </StyledListItemHeadTitleTextPseudo>\n <StyledListItemHeadTitleTextPseudo\n ref={pseudoTitleClosedRef}\n $isOpen={false}\n >\n {title}\n </StyledListItemHeadTitleTextPseudo>\n </>\n )}\n <StyledListItemHeadTitleText $isOpen={isOpen} $width={openTitleWidth}>\n {title}\n </StyledListItemHeadTitleText>\n <StyledListItemHeadTitleElement>\n {titleElement}\n </StyledListItemHeadTitleElement>\n </StyledListItemHeadTitleContent>\n </StyledListItemHeadTitle>\n {shouldShowSubtitleRow && (\n <StyledListItemHeadSubtitle>\n {shouldRenderPseudoElements && (\n <>\n <StyledListItemHeadSubtitleTextPseudo\n ref={pseudoSubtitleOpenRef}\n $isOpen\n >\n {subtitle}\n </StyledListItemHeadSubtitleTextPseudo>\n <StyledListItemHeadSubtitleTextPseudo\n ref={pseudoSubtitleClosedRef}\n $isOpen={false}\n >\n {subtitle}\n </StyledListItemHeadSubtitleTextPseudo>\n </>\n )}\n <StyledListItemHeadSubtitleText $isOpen={isOpen}>\n {subtitle}\n </StyledListItemHeadSubtitleText>\n </StyledListItemHeadSubtitle>\n )}\n </StyledListItemHeadContent>\n {rightElements && <ListItemRightElements rightElements={rightElements} />}\n {hoverItem && (\n <StyledMotionListItemHeadHoverItemWrapper\n className=\"beta-chayns-list-item-hover-item\"\n animate={{\n marginLeft: shouldForceHover || shouldShowHoverItem ? 8 : 0,\n opacity: shouldForceHover || shouldShowHoverItem ? 1 : 0,\n width: shouldForceHover || shouldShowHoverItem ? 'auto' : 0,\n }}\n initial={false}\n transition={{ duration: 0.15, type: 'tween' }}\n >\n <StyledMotionListItemHeadHoverItem>\n {hoverItem}\n </StyledMotionListItemHeadHoverItem>\n </StyledMotionListItemHeadHoverItemWrapper>\n )}\n </StyledListItemHead>\n );\n};\n\nListItemHead.displayName = 'ListItemHead';\n\nexport default ListItemHead;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListItemHead.js","names":["React","useCallback","useEffect","useMemo","useRef","useState","getElementClickEvent","Icon","ListItemIcon","ListItemImage","ListItemRightElements","StyledListItemHead","StyledListItemHeadContent","StyledListItemHeadLeftWrapper","StyledListItemHeadSubtitle","StyledListItemHeadSubtitleText","StyledListItemHeadSubtitleTextPseudo","StyledListItemHeadTitle","StyledListItemHeadTitleContent","StyledListItemHeadTitleElement","StyledListItemHeadTitleText","StyledListItemHeadTitleTextPseudo","StyledMotionListItemHeadHoverItem","StyledMotionListItemHeadHoverItemWrapper","StyledMotionListItemHeadIndicator","ListItemHead","_ref","careOfLocationId","hoverItem","icons","imageBackground","images","isAnyItemExpandable","isExpandable","isOpen","isTitleGreyed","leftElements","onClick","onLongPress","rightElements","shouldHideImageOrIconBackground","shouldHideIndicator","shouldOpenImageOnClick","shouldShowRoundImageOrIcon","subtitle","shouldForceHover","title","titleElement","shouldRenderPseudoElements","setShouldRenderPseudoElements","shouldShowHoverItem","setShouldShowHoverItem","openTitleWidth","setOpenTitleWidth","headHeight","setHeadHeight","closed","open","setIsFirstRender","longPressTimeoutRef","pseudoTitleOpenRef","pseudoTitleClosedRef","pseudoSubtitleOpenRef","pseudoSubtitleClosedRef","shouldShowSubtitleRow","current","height","closedTitleHeight","getBoundingClientRect","openTitleHeight","width","openWidth","closedHeight","openHeight","closedSubtitleHeight","openSubtitleHeight","handleMouseEnter","handleMouseLeave","marginTop","handleTouchStart","event","window","setTimeout","handleTouchEnd","clearTimeout","shouldPreventRightElementClick","bottom","center","top","iconOrImageElement","createElement","shouldHideBackground","shouldShowRoundIcon","shouldShowRoundImage","undefined","animate","opacity","initial","transition","duration","type","className","$isClickable","$isAnyItemExpandable","onMouseEnter","onMouseLeave","onTouchStart","onTouchEnd","rotate","$isIconOrImageGiven","$marginTop","$isOpen","Fragment","ref","$width","marginLeft","displayName"],"sources":["../../../../../../src/components/list/list-item/list-item-head/ListItemHead.tsx"],"sourcesContent":["import React, {\n CSSProperties,\n FC,\n MouseEventHandler,\n ReactNode,\n TouchEventHandler,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { IListItemRightElements } from '../../../../types/list';\nimport { getElementClickEvent } from '../../../../utils/accordion';\nimport Icon from '../../../icon/Icon';\nimport ListItemIcon from './list-item-icon/ListItemIcon';\nimport ListItemImage from './list-item-image/ListItemImage';\nimport ListItemRightElements from './list-item-right-elements/ListItemRightElements';\nimport {\n StyledListItemHead,\n StyledListItemHeadContent,\n StyledListItemHeadLeftWrapper,\n StyledListItemHeadSubtitle,\n StyledListItemHeadSubtitleText,\n StyledListItemHeadSubtitleTextPseudo,\n StyledListItemHeadTitle,\n StyledListItemHeadTitleContent,\n StyledListItemHeadTitleElement,\n StyledListItemHeadTitleText,\n StyledListItemHeadTitleTextPseudo,\n StyledMotionListItemHeadHoverItem,\n StyledMotionListItemHeadHoverItemWrapper,\n StyledMotionListItemHeadIndicator,\n} from './ListItemHead.styles';\n\ninterface HeadHeight {\n closed: number;\n open: number;\n}\n\ntype ListItemHeadProps = {\n careOfLocationId?: number;\n hoverItem?: ReactNode;\n icons?: string[];\n imageBackground?: CSSProperties['background'];\n images?: string[];\n isAnyItemExpandable: boolean;\n isExpandable: boolean;\n isOpen: boolean;\n isTitleGreyed?: boolean;\n leftElements?: ReactNode;\n onClick?: MouseEventHandler<HTMLDivElement>;\n onLongPress?: TouchEventHandler<HTMLDivElement>;\n rightElements?: IListItemRightElements;\n shouldHideImageOrIconBackground?: boolean;\n shouldHideIndicator?: boolean;\n shouldOpenImageOnClick: boolean;\n shouldShowRoundImageOrIcon?: boolean;\n subtitle?: ReactNode;\n title: ReactNode;\n titleElement?: ReactNode;\n shouldForceHover?: boolean;\n};\n\nconst ListItemHead: FC<ListItemHeadProps> = ({\n careOfLocationId,\n hoverItem,\n icons,\n imageBackground,\n images,\n isAnyItemExpandable,\n isExpandable,\n isOpen,\n isTitleGreyed,\n leftElements,\n onClick,\n onLongPress,\n rightElements,\n shouldHideImageOrIconBackground,\n shouldHideIndicator,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n subtitle,\n shouldForceHover,\n title,\n titleElement,\n}) => {\n const [shouldRenderPseudoElements, setShouldRenderPseudoElements] = useState(true);\n const [shouldShowHoverItem, setShouldShowHoverItem] = useState(false);\n const [openTitleWidth, setOpenTitleWidth] = useState(0);\n const [headHeight, setHeadHeight] = useState<HeadHeight>({ closed: 40, open: 40 });\n const [, setIsFirstRender] = useState(false);\n\n const longPressTimeoutRef = useRef<number>();\n\n const pseudoTitleOpenRef = useRef<HTMLDivElement>(null);\n const pseudoTitleClosedRef = useRef<HTMLDivElement>(null);\n const pseudoSubtitleOpenRef = useRef<HTMLDivElement>(null);\n const pseudoSubtitleClosedRef = useRef<HTMLDivElement>(null);\n\n const shouldShowSubtitleRow = subtitle || typeof subtitle === 'string';\n\n useEffect(() => {\n if (pseudoTitleOpenRef.current && pseudoTitleClosedRef.current) {\n const { height: closedTitleHeight } =\n pseudoTitleClosedRef.current.getBoundingClientRect();\n const { height: openTitleHeight, width: openWidth } =\n pseudoTitleOpenRef.current.getBoundingClientRect();\n\n setOpenTitleWidth(openWidth);\n\n let closedHeight = closedTitleHeight + 24;\n let openHeight = openTitleHeight + 24;\n\n if (shouldShowSubtitleRow) {\n if (pseudoSubtitleOpenRef.current && pseudoSubtitleClosedRef.current) {\n const { height: closedSubtitleHeight } =\n pseudoSubtitleClosedRef.current.getBoundingClientRect();\n const { height: openSubtitleHeight } =\n pseudoSubtitleOpenRef.current.getBoundingClientRect();\n\n closedHeight += closedSubtitleHeight + 4;\n openHeight += openSubtitleHeight + 4;\n }\n }\n\n setHeadHeight({ closed: closedHeight, open: openHeight });\n\n setShouldRenderPseudoElements(false);\n }\n }, [shouldShowSubtitleRow]);\n\n useEffect(() => {\n if (subtitle || title) setShouldRenderPseudoElements(true);\n }, [subtitle, title]);\n\n // This is used to trigger a rerender, so the head height can be calculated\n useEffect(() => {\n setIsFirstRender(true);\n }, []);\n\n const handleMouseEnter = useCallback(() => setShouldShowHoverItem(true), []);\n\n const handleMouseLeave = useCallback(() => setShouldShowHoverItem(false), []);\n\n const marginTop = useMemo(() => {\n const height = headHeight[isOpen ? 'open' : 'closed'];\n\n if (height < 64) {\n return (64 - height) / 2;\n }\n\n return 0;\n }, [headHeight, isOpen]);\n\n const handleTouchStart = useCallback<TouchEventHandler<HTMLDivElement>>(\n (event) => {\n longPressTimeoutRef.current = window.setTimeout(() => {\n if (typeof onLongPress === 'function') {\n onLongPress(event);\n }\n }, 400);\n },\n [onLongPress],\n );\n\n const handleTouchEnd = useCallback(() => {\n clearTimeout(longPressTimeoutRef.current);\n }, []);\n\n const shouldPreventRightElementClick = useMemo(() => {\n if (!rightElements) return false;\n\n if (\n typeof rightElements === 'object' &&\n ('bottom' in rightElements || 'center' in rightElements || 'top' in rightElements)\n ) {\n if (rightElements.bottom && getElementClickEvent(rightElements.bottom)) {\n return true;\n }\n\n if (rightElements.center && getElementClickEvent(rightElements.center)) {\n return true;\n }\n\n if (rightElements.top && getElementClickEvent(rightElements.top)) {\n return true;\n }\n } else {\n return getElementClickEvent(rightElements as ReactNode);\n }\n\n return false;\n }, [rightElements]);\n\n const iconOrImageElement = useMemo(() => {\n if (icons) {\n return (\n <ListItemIcon\n icons={icons}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundIcon={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n if (images) {\n return (\n <ListItemImage\n imageBackground={imageBackground}\n careOfLocationId={careOfLocationId}\n images={images}\n shouldOpenImageOnClick={shouldOpenImageOnClick}\n shouldHideBackground={!!shouldHideImageOrIconBackground}\n shouldShowRoundImage={!!shouldShowRoundImageOrIcon}\n />\n );\n }\n\n return undefined;\n }, [\n careOfLocationId,\n icons,\n imageBackground,\n images,\n shouldHideImageOrIconBackground,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n ]);\n\n return (\n <StyledListItemHead\n animate={{\n height: isOpen ? headHeight.open : headHeight.closed,\n opacity: isTitleGreyed ? 0.5 : 1,\n }}\n initial={false}\n transition={{ duration: 0.2, type: 'tween' }}\n className=\"beta-chayns-list-item-head\"\n $isClickable={typeof onClick === 'function' || isExpandable}\n $isAnyItemExpandable={isAnyItemExpandable}\n onClick={onClick}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n onTouchStart={typeof onLongPress === 'function' ? handleTouchStart : undefined}\n onTouchEnd={typeof onLongPress === 'function' ? handleTouchEnd : undefined}\n >\n <StyledListItemHeadLeftWrapper>\n {isAnyItemExpandable && (\n <StyledMotionListItemHeadIndicator\n animate={{ rotate: isOpen ? 90 : 0 }}\n initial={false}\n transition={{ type: 'tween' }}\n >\n {isExpandable && !shouldHideIndicator && (\n <Icon icons={['fa fa-chevron-right']} />\n )}\n </StyledMotionListItemHeadIndicator>\n )}\n {leftElements}\n {iconOrImageElement}\n </StyledListItemHeadLeftWrapper>\n <StyledListItemHeadContent\n $isIconOrImageGiven={iconOrImageElement !== undefined}\n $marginTop={marginTop}\n $isOpen={isOpen}\n >\n <StyledListItemHeadTitle>\n <StyledListItemHeadTitleContent>\n {shouldRenderPseudoElements && (\n <>\n <StyledListItemHeadTitleTextPseudo ref={pseudoTitleOpenRef} $isOpen>\n {title}\n </StyledListItemHeadTitleTextPseudo>\n <StyledListItemHeadTitleTextPseudo\n ref={pseudoTitleClosedRef}\n $isOpen={false}\n >\n {title}\n </StyledListItemHeadTitleTextPseudo>\n </>\n )}\n <StyledListItemHeadTitleText $isOpen={isOpen} $width={openTitleWidth}>\n {title}\n </StyledListItemHeadTitleText>\n <StyledListItemHeadTitleElement>\n {titleElement}\n </StyledListItemHeadTitleElement>\n </StyledListItemHeadTitleContent>\n </StyledListItemHeadTitle>\n {shouldShowSubtitleRow && (\n <StyledListItemHeadSubtitle>\n {shouldRenderPseudoElements && (\n <>\n <StyledListItemHeadSubtitleTextPseudo\n ref={pseudoSubtitleOpenRef}\n $isOpen\n >\n {subtitle}\n </StyledListItemHeadSubtitleTextPseudo>\n <StyledListItemHeadSubtitleTextPseudo\n ref={pseudoSubtitleClosedRef}\n $isOpen={false}\n >\n {subtitle}\n </StyledListItemHeadSubtitleTextPseudo>\n </>\n )}\n <StyledListItemHeadSubtitleText $isOpen={isOpen}>\n {subtitle}\n </StyledListItemHeadSubtitleText>\n </StyledListItemHeadSubtitle>\n )}\n </StyledListItemHeadContent>\n {rightElements && (\n <ListItemRightElements\n rightElements={rightElements}\n shouldPreventRightElementClick={shouldPreventRightElementClick}\n />\n )}\n {hoverItem && (\n <StyledMotionListItemHeadHoverItemWrapper\n className=\"beta-chayns-list-item-hover-item\"\n animate={{\n marginLeft: shouldForceHover || shouldShowHoverItem ? 8 : 0,\n opacity: shouldForceHover || shouldShowHoverItem ? 1 : 0,\n width: shouldForceHover || shouldShowHoverItem ? 'auto' : 0,\n }}\n initial={false}\n transition={{ duration: 0.15, type: 'tween' }}\n >\n <StyledMotionListItemHeadHoverItem>\n {hoverItem}\n </StyledMotionListItemHeadHoverItem>\n </StyledMotionListItemHeadHoverItemWrapper>\n )}\n </StyledListItemHead>\n );\n};\n\nListItemHead.displayName = 'ListItemHead';\n\nexport default ListItemHead;\n"],"mappings":"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","ignoreList":[]}
@@ -2,8 +2,13 @@ import React, { isValidElement, useMemo } from 'react';
2
2
  import { StyledListItemRightElements, StyledListItemRightElementsLeft, StyledListItemRightElementsLeftBottom, StyledListItemRightElementsLeftPseudo, StyledListItemRightElementsLeftTop, StyledListItemRightElementsRight } from './ListItemRightElements.styles';
3
3
  const ListItemRightElements = _ref => {
4
4
  let {
5
- rightElements
5
+ rightElements,
6
+ shouldPreventRightElementClick
6
7
  } = _ref;
8
+ const handlePreventClick = event => {
9
+ event.stopPropagation();
10
+ event.preventDefault();
11
+ };
7
12
  const topElement = useMemo(() => {
8
13
  if (typeof rightElements === 'object' && rightElements && 'top' in rightElements) {
9
14
  return rightElements.top;
@@ -40,7 +45,9 @@ const ListItemRightElements = _ref => {
40
45
  bottomAlignment: undefined
41
46
  };
42
47
  }, [rightElements]);
43
- return /*#__PURE__*/React.createElement(StyledListItemRightElements, null, (topElement || bottomElement) && /*#__PURE__*/React.createElement(StyledListItemRightElementsLeft, null, topElement ? /*#__PURE__*/React.createElement(StyledListItemRightElementsLeftTop, {
48
+ return /*#__PURE__*/React.createElement(StyledListItemRightElements, {
49
+ onClick: shouldPreventRightElementClick ? handlePreventClick : undefined
50
+ }, (topElement || bottomElement) && /*#__PURE__*/React.createElement(StyledListItemRightElementsLeft, null, topElement ? /*#__PURE__*/React.createElement(StyledListItemRightElementsLeftTop, {
44
51
  $alignment: topAlignment
45
52
  }, topElement) : /*#__PURE__*/React.createElement(StyledListItemRightElementsLeftPseudo, null, "."), bottomElement && /*#__PURE__*/React.createElement(StyledListItemRightElementsLeftBottom, {
46
53
  $alignment: bottomAlignment
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemRightElements.js","names":["React","isValidElement","useMemo","StyledListItemRightElements","StyledListItemRightElementsLeft","StyledListItemRightElementsLeftBottom","StyledListItemRightElementsLeftPseudo","StyledListItemRightElementsLeftTop","StyledListItemRightElementsRight","ListItemRightElements","_ref","rightElements","topElement","top","undefined","bottomElement","bottom","centerElement","center","topAlignment","bottomAlignment","createElement","$alignment","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.tsx"],"sourcesContent":["import React, { FC, isValidElement, useMemo } from 'react';\nimport type { IListItemRightElement, IListItemRightElements } from '../../../../../types/list';\nimport {\n StyledListItemRightElements,\n StyledListItemRightElementsLeft,\n StyledListItemRightElementsLeftBottom,\n StyledListItemRightElementsLeftPseudo,\n StyledListItemRightElementsLeftTop,\n StyledListItemRightElementsRight,\n} from './ListItemRightElements.styles';\n\ntype ListItemRightElementsProps = {\n rightElements?: IListItemRightElements;\n};\n\nconst ListItemRightElements: FC<ListItemRightElementsProps> = ({ rightElements }) => {\n const topElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'top' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).top;\n }\n\n return undefined;\n }, [rightElements]);\n\n const bottomElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'bottom' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).bottom;\n }\n\n return undefined;\n }, [rightElements]);\n\n const centerElement = useMemo(() => {\n if (typeof rightElements === 'string' || isValidElement(rightElements)) {\n return rightElements;\n }\n\n if (typeof rightElements === 'object' && rightElements && 'center' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).center;\n }\n\n return undefined;\n }, [rightElements]);\n\n const { topAlignment, bottomAlignment } = useMemo(() => {\n if (\n typeof rightElements === 'object' &&\n ((rightElements && 'topAlignment' in rightElements) ||\n (rightElements && 'bottomAlignment' in rightElements))\n ) {\n return {\n topAlignment: rightElements.topAlignment,\n bottomAlignment: rightElements.bottomAlignment,\n };\n }\n\n return { topAlignment: undefined, bottomAlignment: undefined };\n }, [rightElements]);\n\n return (\n <StyledListItemRightElements>\n {(topElement || bottomElement) && (\n <StyledListItemRightElementsLeft>\n {topElement ? (\n <StyledListItemRightElementsLeftTop $alignment={topAlignment}>\n {topElement}\n </StyledListItemRightElementsLeftTop>\n ) : (\n <StyledListItemRightElementsLeftPseudo>\n .\n </StyledListItemRightElementsLeftPseudo>\n )}\n {bottomElement && (\n <StyledListItemRightElementsLeftBottom $alignment={bottomAlignment}>\n {bottomElement}\n </StyledListItemRightElementsLeftBottom>\n )}\n </StyledListItemRightElementsLeft>\n )}\n {centerElement && (\n <StyledListItemRightElementsRight>{centerElement}</StyledListItemRightElementsRight>\n )}\n </StyledListItemRightElements>\n );\n};\n\nListItemRightElements.displayName = 'ListItemRightElements';\n\nexport default ListItemRightElements;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAQC,cAAc,EAAEC,OAAO,QAAQ,OAAO;AAE1D,SACIC,2BAA2B,EAC3BC,+BAA+B,EAC/BC,qCAAqC,EACrCC,qCAAqC,EACrCC,kCAAkC,EAClCC,gCAAgC,QAC7B,gCAAgC;AAMvC,MAAMC,qBAAqD,GAAGC,IAAA,IAAuB;EAAA,IAAtB;IAAEC;EAAc,CAAC,GAAAD,IAAA;EAC5E,MAAME,UAAU,GAAGV,OAAO,CAAC,MAAM;IAC7B,IAAI,OAAOS,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,KAAK,IAAIA,aAAa,EAAE;MAC9E,OAAQA,aAAa,CAAsCE,GAAG;IAClE;IAEA,OAAOC,SAAS;EACpB,CAAC,EAAE,CAACH,aAAa,CAAC,CAAC;EAEnB,MAAMI,aAAa,GAAGb,OAAO,CAAC,MAAM;IAChC,IAAI,OAAOS,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,QAAQ,IAAIA,aAAa,EAAE;MACjF,OAAQA,aAAa,CAAsCK,MAAM;IACrE;IAEA,OAAOF,SAAS;EACpB,CAAC,EAAE,CAACH,aAAa,CAAC,CAAC;EAEnB,MAAMM,aAAa,GAAGf,OAAO,CAAC,MAAM;IAChC,IAAI,OAAOS,aAAa,KAAK,QAAQ,iBAAIV,cAAc,CAACU,aAAa,CAAC,EAAE;MACpE,OAAOA,aAAa;IACxB;IAEA,IAAI,OAAOA,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,QAAQ,IAAIA,aAAa,EAAE;MACjF,OAAQA,aAAa,CAAsCO,MAAM;IACrE;IAEA,OAAOJ,SAAS;EACpB,CAAC,EAAE,CAACH,aAAa,CAAC,CAAC;EAEnB,MAAM;IAAEQ,YAAY;IAAEC;EAAgB,CAAC,GAAGlB,OAAO,CAAC,MAAM;IACpD,IACI,OAAOS,aAAa,KAAK,QAAQ,KAC/BA,aAAa,IAAI,cAAc,IAAIA,aAAa,IAC7CA,aAAa,IAAI,iBAAiB,IAAIA,aAAc,CAAC,EAC5D;MACE,OAAO;QACHQ,YAAY,EAAER,aAAa,CAACQ,YAAY;QACxCC,eAAe,EAAET,aAAa,CAACS;MACnC,CAAC;IACL;IAEA,OAAO;MAAED,YAAY,EAAEL,SAAS;MAAEM,eAAe,EAAEN;IAAU,CAAC;EAClE,CAAC,EAAE,CAACH,aAAa,CAAC,CAAC;EAEnB,oBACIX,KAAA,CAAAqB,aAAA,CAAClB,2BAA2B,QACvB,CAACS,UAAU,IAAIG,aAAa,kBACzBf,KAAA,CAAAqB,aAAA,CAACjB,+BAA+B,QAC3BQ,UAAU,gBACPZ,KAAA,CAAAqB,aAAA,CAACd,kCAAkC;IAACe,UAAU,EAAEH;EAAa,GACxDP,UAC+B,CAAC,gBAErCZ,KAAA,CAAAqB,aAAA,CAACf,qCAAqC,QAAC,GAEA,CAC1C,EACAS,aAAa,iBACVf,KAAA,CAAAqB,aAAA,CAAChB,qCAAqC;IAACiB,UAAU,EAAEF;EAAgB,GAC9DL,aACkC,CAEd,CACpC,EACAE,aAAa,iBACVjB,KAAA,CAAAqB,aAAA,CAACb,gCAAgC,QAAES,aAAgD,CAE9D,CAAC;AAEtC,CAAC;AAEDR,qBAAqB,CAACc,WAAW,GAAG,uBAAuB;AAE3D,eAAed,qBAAqB","ignoreList":[]}
1
+ {"version":3,"file":"ListItemRightElements.js","names":["React","isValidElement","useMemo","StyledListItemRightElements","StyledListItemRightElementsLeft","StyledListItemRightElementsLeftBottom","StyledListItemRightElementsLeftPseudo","StyledListItemRightElementsLeftTop","StyledListItemRightElementsRight","ListItemRightElements","_ref","rightElements","shouldPreventRightElementClick","handlePreventClick","event","stopPropagation","preventDefault","topElement","top","undefined","bottomElement","bottom","centerElement","center","topAlignment","bottomAlignment","createElement","onClick","$alignment","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-right-elements/ListItemRightElements.tsx"],"sourcesContent":["import React, { FC, isValidElement, useMemo } from 'react';\nimport type { IListItemRightElement, IListItemRightElements } from '../../../../../types/list';\nimport {\n StyledListItemRightElements,\n StyledListItemRightElementsLeft,\n StyledListItemRightElementsLeftBottom,\n StyledListItemRightElementsLeftPseudo,\n StyledListItemRightElementsLeftTop,\n StyledListItemRightElementsRight,\n} from './ListItemRightElements.styles';\n\ntype ListItemRightElementsProps = {\n rightElements?: IListItemRightElements;\n shouldPreventRightElementClick?: boolean;\n};\n\nconst ListItemRightElements: FC<ListItemRightElementsProps> = ({\n rightElements,\n shouldPreventRightElementClick,\n}) => {\n const handlePreventClick = (event: React.MouseEvent) => {\n event.stopPropagation();\n event.preventDefault();\n };\n\n const topElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'top' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).top;\n }\n\n return undefined;\n }, [rightElements]);\n\n const bottomElement = useMemo(() => {\n if (typeof rightElements === 'object' && rightElements && 'bottom' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).bottom;\n }\n\n return undefined;\n }, [rightElements]);\n\n const centerElement = useMemo(() => {\n if (typeof rightElements === 'string' || isValidElement(rightElements)) {\n return rightElements;\n }\n\n if (typeof rightElements === 'object' && rightElements && 'center' in rightElements) {\n return (rightElements as unknown as IListItemRightElement).center;\n }\n\n return undefined;\n }, [rightElements]);\n\n const { topAlignment, bottomAlignment } = useMemo(() => {\n if (\n typeof rightElements === 'object' &&\n ((rightElements && 'topAlignment' in rightElements) ||\n (rightElements && 'bottomAlignment' in rightElements))\n ) {\n return {\n topAlignment: rightElements.topAlignment,\n bottomAlignment: rightElements.bottomAlignment,\n };\n }\n\n return { topAlignment: undefined, bottomAlignment: undefined };\n }, [rightElements]);\n\n return (\n <StyledListItemRightElements\n onClick={shouldPreventRightElementClick ? handlePreventClick : undefined}\n >\n {(topElement || bottomElement) && (\n <StyledListItemRightElementsLeft>\n {topElement ? (\n <StyledListItemRightElementsLeftTop $alignment={topAlignment}>\n {topElement}\n </StyledListItemRightElementsLeftTop>\n ) : (\n <StyledListItemRightElementsLeftPseudo>\n .\n </StyledListItemRightElementsLeftPseudo>\n )}\n {bottomElement && (\n <StyledListItemRightElementsLeftBottom $alignment={bottomAlignment}>\n {bottomElement}\n </StyledListItemRightElementsLeftBottom>\n )}\n </StyledListItemRightElementsLeft>\n )}\n {centerElement && (\n <StyledListItemRightElementsRight>{centerElement}</StyledListItemRightElementsRight>\n )}\n </StyledListItemRightElements>\n );\n};\n\nListItemRightElements.displayName = 'ListItemRightElements';\n\nexport default ListItemRightElements;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAQC,cAAc,EAAEC,OAAO,QAAQ,OAAO;AAE1D,SACIC,2BAA2B,EAC3BC,+BAA+B,EAC/BC,qCAAqC,EACrCC,qCAAqC,EACrCC,kCAAkC,EAClCC,gCAAgC,QAC7B,gCAAgC;AAOvC,MAAMC,qBAAqD,GAAGC,IAAA,IAGxD;EAAA,IAHyD;IAC3DC,aAAa;IACbC;EACJ,CAAC,GAAAF,IAAA;EACG,MAAMG,kBAAkB,GAAIC,KAAuB,IAAK;IACpDA,KAAK,CAACC,eAAe,CAAC,CAAC;IACvBD,KAAK,CAACE,cAAc,CAAC,CAAC;EAC1B,CAAC;EAED,MAAMC,UAAU,GAAGf,OAAO,CAAC,MAAM;IAC7B,IAAI,OAAOS,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,KAAK,IAAIA,aAAa,EAAE;MAC9E,OAAQA,aAAa,CAAsCO,GAAG;IAClE;IAEA,OAAOC,SAAS;EACpB,CAAC,EAAE,CAACR,aAAa,CAAC,CAAC;EAEnB,MAAMS,aAAa,GAAGlB,OAAO,CAAC,MAAM;IAChC,IAAI,OAAOS,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,QAAQ,IAAIA,aAAa,EAAE;MACjF,OAAQA,aAAa,CAAsCU,MAAM;IACrE;IAEA,OAAOF,SAAS;EACpB,CAAC,EAAE,CAACR,aAAa,CAAC,CAAC;EAEnB,MAAMW,aAAa,GAAGpB,OAAO,CAAC,MAAM;IAChC,IAAI,OAAOS,aAAa,KAAK,QAAQ,iBAAIV,cAAc,CAACU,aAAa,CAAC,EAAE;MACpE,OAAOA,aAAa;IACxB;IAEA,IAAI,OAAOA,aAAa,KAAK,QAAQ,IAAIA,aAAa,IAAI,QAAQ,IAAIA,aAAa,EAAE;MACjF,OAAQA,aAAa,CAAsCY,MAAM;IACrE;IAEA,OAAOJ,SAAS;EACpB,CAAC,EAAE,CAACR,aAAa,CAAC,CAAC;EAEnB,MAAM;IAAEa,YAAY;IAAEC;EAAgB,CAAC,GAAGvB,OAAO,CAAC,MAAM;IACpD,IACI,OAAOS,aAAa,KAAK,QAAQ,KAC/BA,aAAa,IAAI,cAAc,IAAIA,aAAa,IAC7CA,aAAa,IAAI,iBAAiB,IAAIA,aAAc,CAAC,EAC5D;MACE,OAAO;QACHa,YAAY,EAAEb,aAAa,CAACa,YAAY;QACxCC,eAAe,EAAEd,aAAa,CAACc;MACnC,CAAC;IACL;IAEA,OAAO;MAAED,YAAY,EAAEL,SAAS;MAAEM,eAAe,EAAEN;IAAU,CAAC;EAClE,CAAC,EAAE,CAACR,aAAa,CAAC,CAAC;EAEnB,oBACIX,KAAA,CAAA0B,aAAA,CAACvB,2BAA2B;IACxBwB,OAAO,EAAEf,8BAA8B,GAAGC,kBAAkB,GAAGM;EAAU,GAExE,CAACF,UAAU,IAAIG,aAAa,kBACzBpB,KAAA,CAAA0B,aAAA,CAACtB,+BAA+B,QAC3Ba,UAAU,gBACPjB,KAAA,CAAA0B,aAAA,CAACnB,kCAAkC;IAACqB,UAAU,EAAEJ;EAAa,GACxDP,UAC+B,CAAC,gBAErCjB,KAAA,CAAA0B,aAAA,CAACpB,qCAAqC,QAAC,GAEA,CAC1C,EACAc,aAAa,iBACVpB,KAAA,CAAA0B,aAAA,CAACrB,qCAAqC;IAACuB,UAAU,EAAEH;EAAgB,GAC9DL,aACkC,CAEd,CACpC,EACAE,aAAa,iBACVtB,KAAA,CAAA0B,aAAA,CAAClB,gCAAgC,QAAEc,aAAgD,CAE9D,CAAC;AAEtC,CAAC;AAEDb,qBAAqB,CAACoB,WAAW,GAAG,uBAAuB;AAE3D,eAAepB,qBAAqB","ignoreList":[]}
@@ -39,9 +39,15 @@ export const getElementClickEvent = element => {
39
39
  hasClickHandler = true;
40
40
  return;
41
41
  }
42
-
42
+ if (
43
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
44
+ el.props.onClick ||
45
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
46
+ el.props.onPointerDown ||
47
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
48
+ el.props.onMouseDown ||
43
49
  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
44
- if (el.props.onClick) {
50
+ el.props.onTouchStart) {
45
51
  hasClickHandler = true;
46
52
  return;
47
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"accordion.js","names":["Children","isValidElement","getAccordionHeadHeight","_ref","isWrapped","title","width","hasSearch","element","document","createElement","style","fontSize","opacity","pointerEvents","whiteSpace","innerHTML","body","appendChild","closedHeight","Math","max","clientHeight","fontWeight","openHeight","removeChild","closed","open","getElementClickEvent","hasClickHandler","checkForClickHandler","el","type","displayName","props","onClick","children","forEach"],"sources":["../../../src/utils/accordion.ts"],"sourcesContent":["import { Children, isValidElement, ReactNode } from 'react';\nimport type { AccordionHeadProps } from '../components/accordion/accordion-head/AccordionHead';\n\ntype GetAccordionHeadHeightOptions = Pick<AccordionHeadProps, 'isWrapped' | 'title'> & {\n width: number;\n hasSearch: boolean;\n};\n\ninterface GetAccordionHeadHeightResult {\n closed: number;\n open: number;\n}\n\nexport const getAccordionHeadHeight = ({\n isWrapped,\n title,\n width,\n hasSearch,\n}: GetAccordionHeadHeightOptions): GetAccordionHeadHeightResult => {\n const element = document.createElement('div');\n\n element.style.fontSize = '1rem';\n element.style.opacity = '0';\n element.style.pointerEvents = 'none';\n element.style.whiteSpace = 'nowrap';\n element.style.width = `${width}px`;\n\n element.innerHTML = title;\n\n document.body.appendChild(element);\n\n const closedHeight = Math.max(element.clientHeight + 8, isWrapped ? 40 : 33);\n\n if (isWrapped) {\n element.style.fontWeight = 'bold';\n element.style.whiteSpace = 'nowrap';\n } else {\n element.style.fontSize = '1.3rem';\n element.style.whiteSpace = hasSearch ? 'nowrap' : 'normal';\n }\n\n const openHeight = Math.max(element.clientHeight + 8, isWrapped ? 40 : 33);\n\n document.body.removeChild(element);\n\n return { closed: closedHeight, open: openHeight };\n};\n\nexport const getElementClickEvent = (element: ReactNode) => {\n let hasClickHandler = false;\n\n const checkForClickHandler = (el: ReactNode) => {\n if (!isValidElement(el)) return;\n\n // @ts-expect-error: Difficult to type\n if ('displayName' in el.type && el.type.displayName === 'Checkbox') {\n hasClickHandler = true;\n\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (el.props.onClick) {\n hasClickHandler = true;\n\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (el.props.children) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-member-access\n Children.forEach(el.props.children, checkForClickHandler);\n }\n };\n\n checkForClickHandler(element);\n\n return hasClickHandler;\n};\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,cAAc,QAAmB,OAAO;AAa3D,OAAO,MAAMC,sBAAsB,GAAGC,IAAA,IAK6B;EAAA,IAL5B;IACnCC,SAAS;IACTC,KAAK;IACLC,KAAK;IACLC;EAC2B,CAAC,GAAAJ,IAAA;EAC5B,MAAMK,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAE7CF,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,MAAM;EAC/BJ,OAAO,CAACG,KAAK,CAACE,OAAO,GAAG,GAAG;EAC3BL,OAAO,CAACG,KAAK,CAACG,aAAa,GAAG,MAAM;EACpCN,OAAO,CAACG,KAAK,CAACI,UAAU,GAAG,QAAQ;EACnCP,OAAO,CAACG,KAAK,CAACL,KAAK,GAAG,GAAGA,KAAK,IAAI;EAElCE,OAAO,CAACQ,SAAS,GAAGX,KAAK;EAEzBI,QAAQ,CAACQ,IAAI,CAACC,WAAW,CAACV,OAAO,CAAC;EAElC,MAAMW,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACb,OAAO,CAACc,YAAY,GAAG,CAAC,EAAElB,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;EAE5E,IAAIA,SAAS,EAAE;IACXI,OAAO,CAACG,KAAK,CAACY,UAAU,GAAG,MAAM;IACjCf,OAAO,CAACG,KAAK,CAACI,UAAU,GAAG,QAAQ;EACvC,CAAC,MAAM;IACHP,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,QAAQ;IACjCJ,OAAO,CAACG,KAAK,CAACI,UAAU,GAAGR,SAAS,GAAG,QAAQ,GAAG,QAAQ;EAC9D;EAEA,MAAMiB,UAAU,GAAGJ,IAAI,CAACC,GAAG,CAACb,OAAO,CAACc,YAAY,GAAG,CAAC,EAAElB,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;EAE1EK,QAAQ,CAACQ,IAAI,CAACQ,WAAW,CAACjB,OAAO,CAAC;EAElC,OAAO;IAAEkB,MAAM,EAAEP,YAAY;IAAEQ,IAAI,EAAEH;EAAW,CAAC;AACrD,CAAC;AAED,OAAO,MAAMI,oBAAoB,GAAIpB,OAAkB,IAAK;EACxD,IAAIqB,eAAe,GAAG,KAAK;EAE3B,MAAMC,oBAAoB,GAAIC,EAAa,IAAK;IAC5C,IAAI,eAAC9B,cAAc,CAAC8B,EAAE,CAAC,EAAE;;IAEzB;IACA,IAAI,aAAa,IAAIA,EAAE,CAACC,IAAI,IAAID,EAAE,CAACC,IAAI,CAACC,WAAW,KAAK,UAAU,EAAE;MAChEJ,eAAe,GAAG,IAAI;MAEtB;IACJ;;IAEA;IACA,IAAIE,EAAE,CAACG,KAAK,CAACC,OAAO,EAAE;MAClBN,eAAe,GAAG,IAAI;MAEtB;IACJ;;IAEA;IACA,IAAIE,EAAE,CAACG,KAAK,CAACE,QAAQ,EAAE;MACnB;MACApC,QAAQ,CAACqC,OAAO,CAACN,EAAE,CAACG,KAAK,CAACE,QAAQ,EAAEN,oBAAoB,CAAC;IAC7D;EACJ,CAAC;EAEDA,oBAAoB,CAACtB,OAAO,CAAC;EAE7B,OAAOqB,eAAe;AAC1B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"accordion.js","names":["Children","isValidElement","getAccordionHeadHeight","_ref","isWrapped","title","width","hasSearch","element","document","createElement","style","fontSize","opacity","pointerEvents","whiteSpace","innerHTML","body","appendChild","closedHeight","Math","max","clientHeight","fontWeight","openHeight","removeChild","closed","open","getElementClickEvent","hasClickHandler","checkForClickHandler","el","type","displayName","props","onClick","onPointerDown","onMouseDown","onTouchStart","children","forEach"],"sources":["../../../src/utils/accordion.ts"],"sourcesContent":["import { Children, isValidElement, ReactNode } from 'react';\nimport type { AccordionHeadProps } from '../components/accordion/accordion-head/AccordionHead';\n\ntype GetAccordionHeadHeightOptions = Pick<AccordionHeadProps, 'isWrapped' | 'title'> & {\n width: number;\n hasSearch: boolean;\n};\n\ninterface GetAccordionHeadHeightResult {\n closed: number;\n open: number;\n}\n\nexport const getAccordionHeadHeight = ({\n isWrapped,\n title,\n width,\n hasSearch,\n}: GetAccordionHeadHeightOptions): GetAccordionHeadHeightResult => {\n const element = document.createElement('div');\n\n element.style.fontSize = '1rem';\n element.style.opacity = '0';\n element.style.pointerEvents = 'none';\n element.style.whiteSpace = 'nowrap';\n element.style.width = `${width}px`;\n\n element.innerHTML = title;\n\n document.body.appendChild(element);\n\n const closedHeight = Math.max(element.clientHeight + 8, isWrapped ? 40 : 33);\n\n if (isWrapped) {\n element.style.fontWeight = 'bold';\n element.style.whiteSpace = 'nowrap';\n } else {\n element.style.fontSize = '1.3rem';\n element.style.whiteSpace = hasSearch ? 'nowrap' : 'normal';\n }\n\n const openHeight = Math.max(element.clientHeight + 8, isWrapped ? 40 : 33);\n\n document.body.removeChild(element);\n\n return { closed: closedHeight, open: openHeight };\n};\n\nexport const getElementClickEvent = (element: ReactNode) => {\n let hasClickHandler = false;\n\n const checkForClickHandler = (el: ReactNode) => {\n if (!isValidElement(el)) return;\n\n // @ts-expect-error: Difficult to type\n if ('displayName' in el.type && el.type.displayName === 'Checkbox') {\n hasClickHandler = true;\n\n return;\n }\n\n if (\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n el.props.onClick ||\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n el.props.onPointerDown ||\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n el.props.onMouseDown ||\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n el.props.onTouchStart\n ) {\n hasClickHandler = true;\n\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (el.props.children) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument,@typescript-eslint/no-unsafe-member-access\n Children.forEach(el.props.children, checkForClickHandler);\n }\n };\n\n checkForClickHandler(element);\n\n return hasClickHandler;\n};\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,cAAc,QAAmB,OAAO;AAa3D,OAAO,MAAMC,sBAAsB,GAAGC,IAAA,IAK6B;EAAA,IAL5B;IACnCC,SAAS;IACTC,KAAK;IACLC,KAAK;IACLC;EAC2B,CAAC,GAAAJ,IAAA;EAC5B,MAAMK,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAE7CF,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,MAAM;EAC/BJ,OAAO,CAACG,KAAK,CAACE,OAAO,GAAG,GAAG;EAC3BL,OAAO,CAACG,KAAK,CAACG,aAAa,GAAG,MAAM;EACpCN,OAAO,CAACG,KAAK,CAACI,UAAU,GAAG,QAAQ;EACnCP,OAAO,CAACG,KAAK,CAACL,KAAK,GAAG,GAAGA,KAAK,IAAI;EAElCE,OAAO,CAACQ,SAAS,GAAGX,KAAK;EAEzBI,QAAQ,CAACQ,IAAI,CAACC,WAAW,CAACV,OAAO,CAAC;EAElC,MAAMW,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACb,OAAO,CAACc,YAAY,GAAG,CAAC,EAAElB,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;EAE5E,IAAIA,SAAS,EAAE;IACXI,OAAO,CAACG,KAAK,CAACY,UAAU,GAAG,MAAM;IACjCf,OAAO,CAACG,KAAK,CAACI,UAAU,GAAG,QAAQ;EACvC,CAAC,MAAM;IACHP,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,QAAQ;IACjCJ,OAAO,CAACG,KAAK,CAACI,UAAU,GAAGR,SAAS,GAAG,QAAQ,GAAG,QAAQ;EAC9D;EAEA,MAAMiB,UAAU,GAAGJ,IAAI,CAACC,GAAG,CAACb,OAAO,CAACc,YAAY,GAAG,CAAC,EAAElB,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;EAE1EK,QAAQ,CAACQ,IAAI,CAACQ,WAAW,CAACjB,OAAO,CAAC;EAElC,OAAO;IAAEkB,MAAM,EAAEP,YAAY;IAAEQ,IAAI,EAAEH;EAAW,CAAC;AACrD,CAAC;AAED,OAAO,MAAMI,oBAAoB,GAAIpB,OAAkB,IAAK;EACxD,IAAIqB,eAAe,GAAG,KAAK;EAE3B,MAAMC,oBAAoB,GAAIC,EAAa,IAAK;IAC5C,IAAI,eAAC9B,cAAc,CAAC8B,EAAE,CAAC,EAAE;;IAEzB;IACA,IAAI,aAAa,IAAIA,EAAE,CAACC,IAAI,IAAID,EAAE,CAACC,IAAI,CAACC,WAAW,KAAK,UAAU,EAAE;MAChEJ,eAAe,GAAG,IAAI;MAEtB;IACJ;IAEA;IACI;IACAE,EAAE,CAACG,KAAK,CAACC,OAAO;IAChB;IACAJ,EAAE,CAACG,KAAK,CAACE,aAAa;IACtB;IACAL,EAAE,CAACG,KAAK,CAACG,WAAW;IACpB;IACAN,EAAE,CAACG,KAAK,CAACI,YAAY,EACvB;MACET,eAAe,GAAG,IAAI;MAEtB;IACJ;;IAEA;IACA,IAAIE,EAAE,CAACG,KAAK,CAACK,QAAQ,EAAE;MACnB;MACAvC,QAAQ,CAACwC,OAAO,CAACT,EAAE,CAACG,KAAK,CAACK,QAAQ,EAAET,oBAAoB,CAAC;IAC7D;EACJ,CAAC;EAEDA,oBAAoB,CAACtB,OAAO,CAAC;EAE7B,OAAOqB,eAAe;AAC1B,CAAC","ignoreList":[]}
@@ -2,6 +2,7 @@ import { FC } from 'react';
2
2
  import type { IListItemRightElements } from '../../../../../types/list';
3
3
  type ListItemRightElementsProps = {
4
4
  rightElements?: IListItemRightElements;
5
+ shouldPreventRightElementClick?: boolean;
5
6
  };
6
7
  declare const ListItemRightElements: FC<ListItemRightElementsProps>;
7
8
  export default ListItemRightElements;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chayns-components/core",
3
- "version": "5.0.0-beta.1091",
3
+ "version": "5.0.0-beta.1095",
4
4
  "description": "A set of beautiful React components for developing your own applications with chayns.",
5
5
  "sideEffects": false,
6
6
  "browserslist": [
@@ -86,5 +86,5 @@
86
86
  "publishConfig": {
87
87
  "access": "public"
88
88
  },
89
- "gitHead": "68a8d1d885985ef30b6260ee35d91a64cf6fa5af"
89
+ "gitHead": "8d84c402048896b3895cb1a06edf6a0be4b1e059"
90
90
  }