@chayns-components/core 5.0.0-beta.1327 → 5.0.0-beta.1328

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/lib/cjs/components/context-menu/context-menu-content/ContextMenuContent.js +6 -2
  2. package/lib/cjs/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -1
  3. package/lib/cjs/components/grouped-image/GroupedImage.js +6 -13
  4. package/lib/cjs/components/grouped-image/GroupedImage.js.map +1 -1
  5. package/lib/cjs/components/grouped-image/GroupedImage.styles.js +23 -12
  6. package/lib/cjs/components/grouped-image/GroupedImage.styles.js.map +1 -1
  7. package/lib/cjs/components/grouped-image/clip-paths/CareOfClipPath.js +5 -5
  8. package/lib/cjs/components/grouped-image/clip-paths/CareOfClipPath.js.map +1 -1
  9. package/lib/cjs/components/grouped-image/clip-paths/SecondImageClipPath.js +3 -3
  10. package/lib/cjs/components/grouped-image/clip-paths/SecondImageClipPath.js.map +1 -1
  11. package/lib/cjs/components/list/list-item/ListItem.js +6 -3
  12. package/lib/cjs/components/list/list-item/ListItem.js.map +1 -1
  13. package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.js +11 -2
  14. package/lib/cjs/components/list/list-item/list-item-head/ListItemHead.js.map +1 -1
  15. package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js +28 -3
  16. package/lib/cjs/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js.map +1 -1
  17. package/lib/cjs/components/radio-button/RadioButton.js +25 -3
  18. package/lib/cjs/components/radio-button/RadioButton.js.map +1 -1
  19. package/lib/cjs/components/radio-button/RadioButton.styles.js +0 -2
  20. package/lib/cjs/components/radio-button/RadioButton.styles.js.map +1 -1
  21. package/lib/cjs/utils/groupedImage.js +12 -10
  22. package/lib/cjs/utils/groupedImage.js.map +1 -1
  23. package/lib/esm/components/context-menu/context-menu-content/ContextMenuContent.js +6 -2
  24. package/lib/esm/components/context-menu/context-menu-content/ContextMenuContent.js.map +1 -1
  25. package/lib/esm/components/grouped-image/GroupedImage.js +7 -13
  26. package/lib/esm/components/grouped-image/GroupedImage.js.map +1 -1
  27. package/lib/esm/components/grouped-image/GroupedImage.styles.js +22 -11
  28. package/lib/esm/components/grouped-image/GroupedImage.styles.js.map +1 -1
  29. package/lib/esm/components/grouped-image/clip-paths/CareOfClipPath.js +5 -5
  30. package/lib/esm/components/grouped-image/clip-paths/CareOfClipPath.js.map +1 -1
  31. package/lib/esm/components/grouped-image/clip-paths/SecondImageClipPath.js +3 -3
  32. package/lib/esm/components/grouped-image/clip-paths/SecondImageClipPath.js.map +1 -1
  33. package/lib/esm/components/list/list-item/ListItem.js +6 -3
  34. package/lib/esm/components/list/list-item/ListItem.js.map +1 -1
  35. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js +11 -2
  36. package/lib/esm/components/list/list-item/list-item-head/ListItemHead.js.map +1 -1
  37. package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js +27 -3
  38. package/lib/esm/components/list/list-item/list-item-head/list-item-title/ListItemTitle.js.map +1 -1
  39. package/lib/esm/components/radio-button/RadioButton.js +25 -4
  40. package/lib/esm/components/radio-button/RadioButton.js.map +1 -1
  41. package/lib/esm/components/radio-button/RadioButton.styles.js +0 -2
  42. package/lib/esm/components/radio-button/RadioButton.styles.js.map +1 -1
  43. package/lib/esm/utils/groupedImage.js +12 -10
  44. package/lib/esm/utils/groupedImage.js.map +1 -1
  45. package/lib/types/components/grouped-image/GroupedImage.styles.d.ts +1 -7
  46. package/lib/types/components/grouped-image/clip-paths/CareOfClipPath.d.ts +3 -3
  47. package/lib/types/components/grouped-image/clip-paths/SecondImageClipPath.d.ts +2 -2
  48. package/lib/types/components/list/list-item/ListItem.d.ts +1 -0
  49. package/lib/types/components/list/list-item/list-item-head/ListItemHead.d.ts +1 -1
  50. package/lib/types/components/list/list-item/list-item-head/list-item-title/ListItemTitle.d.ts +1 -0
  51. package/lib/types/components/radio-button/RadioButton.d.ts +4 -0
  52. package/lib/types/utils/groupedImage.d.ts +5 -5
  53. package/package.json +2 -2
@@ -52,7 +52,9 @@ const ContextMenuContent = /*#__PURE__*/_react.default.forwardRef(({
52
52
  icons,
53
53
  shouldShowSpacer
54
54
  }, index) => {
55
- const item = /*#__PURE__*/_react.default.createElement(_ContextMenuContent.StyledContextMenuContentItem, null, /*#__PURE__*/_react.default.createElement(_ContextMenuContent.StyledContextMenuContentItemWrapper, {
55
+ const item = /*#__PURE__*/_react.default.createElement(_ContextMenuContent.StyledContextMenuContentItem, {
56
+ key: `context-menu-item-${key}`
57
+ }, /*#__PURE__*/_react.default.createElement(_ContextMenuContent.StyledContextMenuContentItemWrapper, {
56
58
  key: key,
57
59
  onClick: event => {
58
60
  event.preventDefault();
@@ -64,7 +66,9 @@ const ContextMenuContent = /*#__PURE__*/_react.default.forwardRef(({
64
66
  icons: icons
65
67
  })), /*#__PURE__*/_react.default.createElement(_ContextMenuContent.StyledContextMenuContentItemText, null, text)), shouldShowSpacer && /*#__PURE__*/_react.default.createElement(_ContextMenuContent.StyledContextMenuContentItemSpacer, null));
66
68
  if (shouldSeparateLastItem && index + 1 === items.length) {
67
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ContextMenuContent.StyledContextMenuContentItemBorder, null), item);
69
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
70
+ key: `context-menu-item-${key}`
71
+ }, /*#__PURE__*/_react.default.createElement(_ContextMenuContent.StyledContextMenuContentItemBorder, null), item);
68
72
  }
69
73
  return item;
70
74
  }), [items, shouldHidePopupArrow, shouldSeparateLastItem]);
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuContent.js","names":["_react","_interopRequireWildcard","require","_contextMenu","_Icon","_interopRequireDefault","_ContextMenuContent","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ContextMenuContent","React","forwardRef","alignment","coordinates","items","zIndex","shouldHidePopupArrow","headline","shouldSeparateLastItem","ref","isBottomLeftAlignment","ContextMenuAlignment","BottomLeft","isTopLeftAlignment","TopLeft","isTopRightAlignment","TopRight","isTopCenterAlignment","TopCenter","isBottomCenterAlignment","BottomCenter","percentageOffsetX","useMemo","anchorOffsetX","percentageOffsetY","anchorOffsetY","exitAndInitialY","content","map","onClick","key","text","icons","shouldShowSpacer","index","item","createElement","StyledContextMenuContentItem","StyledContextMenuContentItemWrapper","event","preventDefault","stopPropagation","$shouldHidePopupArrow","StyledContextMenuContentItemIconWrapper","StyledContextMenuContentItemText","StyledContextMenuContentItemSpacer","length","Fragment","StyledContextMenuContentItemBorder","StyledMotionContextMenuContent","animate","opacity","y","exit","initial","$position","$zIndex","style","left","x","top","transition","ease","transformTemplate","StyledContextMenuContentHeadline","displayName","_default","exports"],"sources":["../../../../../src/components/context-menu/context-menu-content/ContextMenuContent.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { ContextMenuAlignment } from '../../../types/contextMenu';\nimport Icon from '../../icon/Icon';\nimport type { ContextMenuCoordinates, ContextMenuItem } from '../ContextMenu';\nimport {\n StyledContextMenuContentHeadline,\n StyledContextMenuContentItem,\n StyledContextMenuContentItemBorder,\n StyledContextMenuContentItemIconWrapper,\n StyledContextMenuContentItemSpacer,\n StyledContextMenuContentItemText,\n StyledContextMenuContentItemWrapper,\n StyledMotionContextMenuContent,\n} from './ContextMenuContent.styles';\n\ntype ContextMenuContentProps = {\n alignment: ContextMenuAlignment;\n coordinates: ContextMenuCoordinates;\n items: ContextMenuItem[];\n shouldHidePopupArrow: boolean;\n headline?: string;\n zIndex: number;\n shouldSeparateLastItem: boolean;\n};\n\nconst ContextMenuContent = React.forwardRef<HTMLDivElement, ContextMenuContentProps>(\n (\n {\n alignment,\n coordinates,\n items,\n zIndex,\n shouldHidePopupArrow,\n headline,\n shouldSeparateLastItem,\n },\n ref,\n ) => {\n const isBottomLeftAlignment = alignment === ContextMenuAlignment.BottomLeft;\n const isTopLeftAlignment = alignment === ContextMenuAlignment.TopLeft;\n const isTopRightAlignment = alignment === ContextMenuAlignment.TopRight;\n const isTopCenterAlignment = alignment === ContextMenuAlignment.TopCenter;\n const isBottomCenterAlignment = alignment === ContextMenuAlignment.BottomCenter;\n\n const percentageOffsetX = useMemo(() => {\n if (isBottomLeftAlignment || isTopLeftAlignment) {\n return -100;\n }\n\n if (isBottomCenterAlignment || isTopCenterAlignment) {\n return -50;\n }\n\n return 0;\n }, [\n isBottomCenterAlignment,\n isBottomLeftAlignment,\n isTopCenterAlignment,\n isTopLeftAlignment,\n ]);\n\n const anchorOffsetX = useMemo(() => {\n if (isBottomLeftAlignment || isTopLeftAlignment) {\n return 15;\n }\n\n if (isBottomCenterAlignment || isTopCenterAlignment) {\n return 0;\n }\n\n return -15;\n }, [\n isBottomCenterAlignment,\n isBottomLeftAlignment,\n isTopCenterAlignment,\n isTopLeftAlignment,\n ]);\n\n const percentageOffsetY =\n isTopRightAlignment || isTopLeftAlignment || isTopCenterAlignment ? -100 : 0;\n\n const anchorOffsetY =\n isTopRightAlignment || isTopLeftAlignment || isTopCenterAlignment ? -21 : 21;\n\n const exitAndInitialY = isTopLeftAlignment || isTopRightAlignment ? -16 : 16;\n\n const content = useMemo(\n () =>\n items.map(({ onClick, key, text, icons, shouldShowSpacer }, index) => {\n const item = (\n <StyledContextMenuContentItem>\n <StyledContextMenuContentItemWrapper\n key={key}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n\n void onClick(event);\n }}\n $shouldHidePopupArrow={shouldHidePopupArrow}\n >\n <StyledContextMenuContentItemIconWrapper>\n <Icon icons={icons} />\n </StyledContextMenuContentItemIconWrapper>\n <StyledContextMenuContentItemText>\n {text}\n </StyledContextMenuContentItemText>\n </StyledContextMenuContentItemWrapper>\n {shouldShowSpacer && <StyledContextMenuContentItemSpacer />}\n </StyledContextMenuContentItem>\n );\n\n if (shouldSeparateLastItem && index + 1 === items.length) {\n return (\n <>\n <StyledContextMenuContentItemBorder />\n {item}\n </>\n );\n }\n\n return item;\n }),\n [items, shouldHidePopupArrow, shouldSeparateLastItem],\n );\n\n return (\n <StyledMotionContextMenuContent\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: exitAndInitialY }}\n initial={{ opacity: 0, y: exitAndInitialY }}\n $position={alignment}\n $shouldHidePopupArrow={shouldHidePopupArrow}\n $zIndex={zIndex}\n ref={ref}\n style={{ left: coordinates.x, top: coordinates.y }}\n transition={{ ease: 'anticipate' }}\n transformTemplate={({ y = '0px' }) => `\n translateX(${percentageOffsetX}%)\n translateY(${percentageOffsetY}%)\n translateX(${anchorOffsetX}px)\n translateY(${anchorOffsetY}px)\n translateY(${y})\n `}\n >\n {headline && (\n <StyledContextMenuContentHeadline>{headline}</StyledContextMenuContentHeadline>\n )}\n {content}\n </StyledMotionContextMenuContent>\n );\n },\n);\n\nContextMenuContent.displayName = 'ContextMenuContent';\n\nexport default ContextMenuContent;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ContextMenuContent.js","names":["_react","_interopRequireWildcard","require","_contextMenu","_Icon","_interopRequireDefault","_ContextMenuContent","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ContextMenuContent","React","forwardRef","alignment","coordinates","items","zIndex","shouldHidePopupArrow","headline","shouldSeparateLastItem","ref","isBottomLeftAlignment","ContextMenuAlignment","BottomLeft","isTopLeftAlignment","TopLeft","isTopRightAlignment","TopRight","isTopCenterAlignment","TopCenter","isBottomCenterAlignment","BottomCenter","percentageOffsetX","useMemo","anchorOffsetX","percentageOffsetY","anchorOffsetY","exitAndInitialY","content","map","onClick","key","text","icons","shouldShowSpacer","index","item","createElement","StyledContextMenuContentItem","StyledContextMenuContentItemWrapper","event","preventDefault","stopPropagation","$shouldHidePopupArrow","StyledContextMenuContentItemIconWrapper","StyledContextMenuContentItemText","StyledContextMenuContentItemSpacer","length","Fragment","StyledContextMenuContentItemBorder","StyledMotionContextMenuContent","animate","opacity","y","exit","initial","$position","$zIndex","style","left","x","top","transition","ease","transformTemplate","StyledContextMenuContentHeadline","displayName","_default","exports"],"sources":["../../../../../src/components/context-menu/context-menu-content/ContextMenuContent.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { ContextMenuAlignment } from '../../../types/contextMenu';\nimport Icon from '../../icon/Icon';\nimport type { ContextMenuCoordinates, ContextMenuItem } from '../ContextMenu';\nimport {\n StyledContextMenuContentHeadline,\n StyledContextMenuContentItem,\n StyledContextMenuContentItemBorder,\n StyledContextMenuContentItemIconWrapper,\n StyledContextMenuContentItemSpacer,\n StyledContextMenuContentItemText,\n StyledContextMenuContentItemWrapper,\n StyledMotionContextMenuContent,\n} from './ContextMenuContent.styles';\n\ntype ContextMenuContentProps = {\n alignment: ContextMenuAlignment;\n coordinates: ContextMenuCoordinates;\n items: ContextMenuItem[];\n shouldHidePopupArrow: boolean;\n headline?: string;\n zIndex: number;\n shouldSeparateLastItem: boolean;\n};\n\nconst ContextMenuContent = React.forwardRef<HTMLDivElement, ContextMenuContentProps>(\n (\n {\n alignment,\n coordinates,\n items,\n zIndex,\n shouldHidePopupArrow,\n headline,\n shouldSeparateLastItem,\n },\n ref,\n ) => {\n const isBottomLeftAlignment = alignment === ContextMenuAlignment.BottomLeft;\n const isTopLeftAlignment = alignment === ContextMenuAlignment.TopLeft;\n const isTopRightAlignment = alignment === ContextMenuAlignment.TopRight;\n const isTopCenterAlignment = alignment === ContextMenuAlignment.TopCenter;\n const isBottomCenterAlignment = alignment === ContextMenuAlignment.BottomCenter;\n\n const percentageOffsetX = useMemo(() => {\n if (isBottomLeftAlignment || isTopLeftAlignment) {\n return -100;\n }\n\n if (isBottomCenterAlignment || isTopCenterAlignment) {\n return -50;\n }\n\n return 0;\n }, [\n isBottomCenterAlignment,\n isBottomLeftAlignment,\n isTopCenterAlignment,\n isTopLeftAlignment,\n ]);\n\n const anchorOffsetX = useMemo(() => {\n if (isBottomLeftAlignment || isTopLeftAlignment) {\n return 15;\n }\n\n if (isBottomCenterAlignment || isTopCenterAlignment) {\n return 0;\n }\n\n return -15;\n }, [\n isBottomCenterAlignment,\n isBottomLeftAlignment,\n isTopCenterAlignment,\n isTopLeftAlignment,\n ]);\n\n const percentageOffsetY =\n isTopRightAlignment || isTopLeftAlignment || isTopCenterAlignment ? -100 : 0;\n\n const anchorOffsetY =\n isTopRightAlignment || isTopLeftAlignment || isTopCenterAlignment ? -21 : 21;\n\n const exitAndInitialY = isTopLeftAlignment || isTopRightAlignment ? -16 : 16;\n\n const content = useMemo(\n () =>\n items.map(({ onClick, key, text, icons, shouldShowSpacer }, index) => {\n const item = (\n <StyledContextMenuContentItem key={`context-menu-item-${key}`}>\n <StyledContextMenuContentItemWrapper\n key={key}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n\n void onClick(event);\n }}\n $shouldHidePopupArrow={shouldHidePopupArrow}\n >\n <StyledContextMenuContentItemIconWrapper>\n <Icon icons={icons} />\n </StyledContextMenuContentItemIconWrapper>\n <StyledContextMenuContentItemText>\n {text}\n </StyledContextMenuContentItemText>\n </StyledContextMenuContentItemWrapper>\n {shouldShowSpacer && <StyledContextMenuContentItemSpacer />}\n </StyledContextMenuContentItem>\n );\n\n if (shouldSeparateLastItem && index + 1 === items.length) {\n return (\n <React.Fragment key={`context-menu-item-${key}`}>\n <StyledContextMenuContentItemBorder />\n {item}\n </React.Fragment>\n );\n }\n\n return item;\n }),\n [items, shouldHidePopupArrow, shouldSeparateLastItem],\n );\n\n return (\n <StyledMotionContextMenuContent\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: exitAndInitialY }}\n initial={{ opacity: 0, y: exitAndInitialY }}\n $position={alignment}\n $shouldHidePopupArrow={shouldHidePopupArrow}\n $zIndex={zIndex}\n ref={ref}\n style={{ left: coordinates.x, top: coordinates.y }}\n transition={{ ease: 'anticipate' }}\n transformTemplate={({ y = '0px' }) => `\n translateX(${percentageOffsetX}%)\n translateY(${percentageOffsetY}%)\n translateX(${anchorOffsetX}px)\n translateY(${anchorOffsetY}px)\n translateY(${y})\n `}\n >\n {headline && (\n <StyledContextMenuContentHeadline>{headline}</StyledContextMenuContentHeadline>\n )}\n {content}\n </StyledMotionContextMenuContent>\n );\n },\n);\n\nContextMenuContent.displayName = 'ContextMenuContent';\n\nexport default ContextMenuContent;\n"],"mappings":"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","ignoreList":[]}
@@ -4,13 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _GroupedImage = require("./GroupedImage.styles");
9
9
  var _CareOfClipPath = _interopRequireDefault(require("./clip-paths/CareOfClipPath"));
10
10
  var _uuid = require("../../hooks/uuid");
11
11
  var _SecondImageClipPath = _interopRequireDefault(require("./clip-paths/SecondImageClipPath"));
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
13
  const GroupedImage = ({
15
14
  cornerImage,
16
15
  height = 40,
@@ -25,15 +24,8 @@ const GroupedImage = ({
25
24
  const hasCornerElement = Boolean(cornerElement);
26
25
  const hasMultipleImages = images.length > 1;
27
26
  const uuid = (0, _uuid.useUuid)();
28
- const imageSize = (0, _react.useMemo)(() => {
29
- if (hasCornerImage) {
30
- return hasMultipleImages ? _GroupedImage.ImageSize.GroupedSmall : _GroupedImage.ImageSize.Small;
31
- }
32
- return hasMultipleImages ? _GroupedImage.ImageSize.Grouped : _GroupedImage.ImageSize.Full;
33
- }, [hasCornerImage, hasMultipleImages]);
34
27
  const imageElements = images.slice(0, 2).map((src, index) => /*#__PURE__*/_react.default.createElement(_GroupedImage.StyledGroupImageElement, {
35
28
  $background: imageBackground,
36
- $imageSize: imageSize,
37
29
  $isSecondImage: index === 1,
38
30
  $hasCornerImage: hasCornerImage,
39
31
  $hasMultipleImages: hasMultipleImages,
@@ -58,16 +50,17 @@ const GroupedImage = ({
58
50
  onClick: onClick,
59
51
  $height: height
60
52
  }, hasCornerImage && /*#__PURE__*/_react.default.createElement(_CareOfClipPath.default, {
61
- imageHeight: !hasMultipleImages ? height : height * 0.8,
62
- containerHeight: height,
63
- uuid: uuid
53
+ height: height,
54
+ uuid: uuid,
55
+ imageFactors: hasMultipleImages ? [0.76, 0.8] : [1]
64
56
  }), hasMultipleImages && /*#__PURE__*/_react.default.createElement(_SecondImageClipPath.default, {
65
- containerHeight: height,
57
+ height: height,
66
58
  uuid: uuid,
67
59
  shouldShowRoundImage: shouldShowRoundImage
68
60
  }), imageElements, hasCornerImage && /*#__PURE__*/_react.default.createElement(_GroupedImage.StyledCornerImage, {
69
61
  $background: imageBackground,
70
62
  $shouldPreventBackground: shouldPreventBackground,
63
+ $hasMultipleImages: hasMultipleImages,
71
64
  src: cornerImage,
72
65
  key: "corner-image"
73
66
  }), hasCornerElement && /*#__PURE__*/_react.default.createElement(_GroupedImage.StyledCornerElement, null, cornerElement));
@@ -1 +1 @@
1
- {"version":3,"file":"GroupedImage.js","names":["_react","_interopRequireWildcard","require","_GroupedImage","_CareOfClipPath","_interopRequireDefault","_uuid","_SecondImageClipPath","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GroupedImage","cornerImage","height","imageBackground","images","onClick","shouldPreventBackground","shouldShowRoundImage","cornerElement","hasCornerImage","Boolean","hasCornerElement","hasMultipleImages","length","uuid","useUuid","imageSize","useMemo","ImageSize","GroupedSmall","Small","Grouped","Full","imageElements","slice","map","src","index","createElement","StyledGroupImageElement","$background","$imageSize","$isSecondImage","$hasCornerImage","$hasMultipleImages","$shouldPreventBackground","$shouldShowRoundImage","$uuid","key","width","viewBox","xmlns","preserveAspectRatio","href","StyledGroupedImage","$height","imageHeight","containerHeight","StyledCornerImage","StyledCornerElement","displayName","_default","exports"],"sources":["../../../../src/components/grouped-image/GroupedImage.tsx"],"sourcesContent":["import React, { CSSProperties, FC, MouseEventHandler, ReactNode, useMemo } from 'react';\nimport {\n ImageSize,\n StyledCornerElement,\n StyledCornerImage,\n StyledGroupedImage,\n StyledGroupImageElement,\n} from './GroupedImage.styles';\nimport CareOfClipPath from './clip-paths/CareOfClipPath';\nimport { useUuid } from '../../hooks/uuid';\nimport SecondImageClipPath from './clip-paths/SecondImageClipPath';\n\ntype GroupedImageProps = {\n cornerImage?: string;\n height?: number;\n imageBackground?: CSSProperties['background'];\n images: string[];\n onClick?: MouseEventHandler<HTMLDivElement>;\n shouldPreventBackground?: boolean;\n shouldShowRoundImage?: boolean;\n cornerElement?: ReactNode;\n};\n\nconst GroupedImage: FC<GroupedImageProps> = ({\n cornerImage,\n height = 40,\n imageBackground,\n images,\n onClick,\n shouldPreventBackground = false,\n shouldShowRoundImage = false,\n cornerElement,\n}) => {\n const hasCornerImage = Boolean(cornerImage);\n const hasCornerElement = Boolean(cornerElement);\n const hasMultipleImages = images.length > 1;\n const uuid = useUuid();\n\n const imageSize = useMemo(() => {\n if (hasCornerImage) {\n return hasMultipleImages ? ImageSize.GroupedSmall : ImageSize.Small;\n }\n\n return hasMultipleImages ? ImageSize.Grouped : ImageSize.Full;\n }, [hasCornerImage, hasMultipleImages]);\n\n const imageElements = images.slice(0, 2).map((src, index) => (\n <StyledGroupImageElement\n $background={imageBackground}\n $imageSize={imageSize}\n $isSecondImage={index === 1}\n $hasCornerImage={hasCornerImage}\n $hasMultipleImages={hasMultipleImages}\n $shouldPreventBackground={shouldPreventBackground}\n $shouldShowRoundImage={shouldShowRoundImage}\n $uuid={uuid}\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n >\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 40 40\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid slice\"\n >\n <image href={src} width=\"40\" height=\"40\" />\n </svg>\n </StyledGroupImageElement>\n ));\n\n return (\n <StyledGroupedImage onClick={onClick} $height={height}>\n {hasCornerImage && (\n <CareOfClipPath\n imageHeight={!hasMultipleImages ? height : height * 0.8}\n containerHeight={height}\n uuid={uuid}\n />\n )}\n {hasMultipleImages && (\n <SecondImageClipPath\n containerHeight={height}\n uuid={uuid}\n shouldShowRoundImage={shouldShowRoundImage}\n />\n )}\n\n {imageElements}\n\n {hasCornerImage && (\n <StyledCornerImage\n $background={imageBackground}\n $shouldPreventBackground={shouldPreventBackground}\n src={cornerImage}\n key=\"corner-image\"\n />\n )}\n {hasCornerElement && <StyledCornerElement>{cornerElement}</StyledCornerElement>}\n </StyledGroupedImage>\n );\n};\n\nGroupedImage.displayName = 'GroupedImage';\n\nexport default GroupedImage;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAOA,IAAAE,eAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,oBAAA,GAAAF,sBAAA,CAAAH,OAAA;AAAmE,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAO,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAanE,MAAMgB,YAAmC,GAAGA,CAAC;EACzCC,WAAW;EACXC,MAAM,GAAG,EAAE;EACXC,eAAe;EACfC,MAAM;EACNC,OAAO;EACPC,uBAAuB,GAAG,KAAK;EAC/BC,oBAAoB,GAAG,KAAK;EAC5BC;AACJ,CAAC,KAAK;EACF,MAAMC,cAAc,GAAGC,OAAO,CAACT,WAAW,CAAC;EAC3C,MAAMU,gBAAgB,GAAGD,OAAO,CAACF,aAAa,CAAC;EAC/C,MAAMI,iBAAiB,GAAGR,MAAM,CAACS,MAAM,GAAG,CAAC;EAC3C,MAAMC,IAAI,GAAG,IAAAC,aAAO,EAAC,CAAC;EAEtB,MAAMC,SAAS,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC5B,IAAIR,cAAc,EAAE;MAChB,OAAOG,iBAAiB,GAAGM,uBAAS,CAACC,YAAY,GAAGD,uBAAS,CAACE,KAAK;IACvE;IAEA,OAAOR,iBAAiB,GAAGM,uBAAS,CAACG,OAAO,GAAGH,uBAAS,CAACI,IAAI;EACjE,CAAC,EAAE,CAACb,cAAc,EAAEG,iBAAiB,CAAC,CAAC;EAEvC,MAAMW,aAAa,GAAGnB,MAAM,CAACoB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAACC,GAAG,CAAC,CAACC,GAAG,EAAEC,KAAK,kBACpDtD,MAAA,CAAAU,OAAA,CAAA6C,aAAA,CAACpD,aAAA,CAAAqD,uBAAuB;IACpBC,WAAW,EAAE3B,eAAgB;IAC7B4B,UAAU,EAAEf,SAAU;IACtBgB,cAAc,EAAEL,KAAK,KAAK,CAAE;IAC5BM,eAAe,EAAExB,cAAe;IAChCyB,kBAAkB,EAAEtB,iBAAkB;IACtCuB,wBAAwB,EAAE7B,uBAAwB;IAClD8B,qBAAqB,EAAE7B,oBAAqB;IAC5C8B,KAAK,EAAEvB;IACP;IAAA;IACAwB,GAAG,EAAEX;EAAM,gBAEXtD,MAAA,CAAAU,OAAA,CAAA6C,aAAA;IACIW,KAAK,EAAC,MAAM;IACZrC,MAAM,EAAC,MAAM;IACbsC,OAAO,EAAC,WAAW;IACnBC,KAAK,EAAC,4BAA4B;IAClCC,mBAAmB,EAAC;EAAgB,gBAEpCrE,MAAA,CAAAU,OAAA,CAAA6C,aAAA;IAAOe,IAAI,EAAEjB,GAAI;IAACa,KAAK,EAAC,IAAI;IAACrC,MAAM,EAAC;EAAI,CAAE,CACzC,CACgB,CAC5B,CAAC;EAEF,oBACI7B,MAAA,CAAAU,OAAA,CAAA6C,aAAA,CAACpD,aAAA,CAAAoE,kBAAkB;IAACvC,OAAO,EAAEA,OAAQ;IAACwC,OAAO,EAAE3C;EAAO,GACjDO,cAAc,iBACXpC,MAAA,CAAAU,OAAA,CAAA6C,aAAA,CAACnD,eAAA,CAAAM,OAAc;IACX+D,WAAW,EAAE,CAAClC,iBAAiB,GAAGV,MAAM,GAAGA,MAAM,GAAG,GAAI;IACxD6C,eAAe,EAAE7C,MAAO;IACxBY,IAAI,EAAEA;EAAK,CACd,CACJ,EACAF,iBAAiB,iBACdvC,MAAA,CAAAU,OAAA,CAAA6C,aAAA,CAAChD,oBAAA,CAAAG,OAAmB;IAChBgE,eAAe,EAAE7C,MAAO;IACxBY,IAAI,EAAEA,IAAK;IACXP,oBAAoB,EAAEA;EAAqB,CAC9C,CACJ,EAEAgB,aAAa,EAEbd,cAAc,iBACXpC,MAAA,CAAAU,OAAA,CAAA6C,aAAA,CAACpD,aAAA,CAAAwE,iBAAiB;IACdlB,WAAW,EAAE3B,eAAgB;IAC7BgC,wBAAwB,EAAE7B,uBAAwB;IAClDoB,GAAG,EAAEzB,WAAY;IACjBqC,GAAG,EAAC;EAAc,CACrB,CACJ,EACA3B,gBAAgB,iBAAItC,MAAA,CAAAU,OAAA,CAAA6C,aAAA,CAACpD,aAAA,CAAAyE,mBAAmB,QAAEzC,aAAmC,CAC9D,CAAC;AAE7B,CAAC;AAEDR,YAAY,CAACkD,WAAW,GAAG,cAAc;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAArE,OAAA,GAE3BiB,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"GroupedImage.js","names":["_react","_interopRequireDefault","require","_GroupedImage","_CareOfClipPath","_uuid","_SecondImageClipPath","e","__esModule","default","GroupedImage","cornerImage","height","imageBackground","images","onClick","shouldPreventBackground","shouldShowRoundImage","cornerElement","hasCornerImage","Boolean","hasCornerElement","hasMultipleImages","length","uuid","useUuid","imageElements","slice","map","src","index","createElement","StyledGroupImageElement","$background","$isSecondImage","$hasCornerImage","$hasMultipleImages","$shouldPreventBackground","$shouldShowRoundImage","$uuid","key","width","viewBox","xmlns","preserveAspectRatio","href","StyledGroupedImage","$height","imageFactors","StyledCornerImage","StyledCornerElement","displayName","_default","exports"],"sources":["../../../../src/components/grouped-image/GroupedImage.tsx"],"sourcesContent":["import React, { CSSProperties, FC, MouseEventHandler, ReactNode } from 'react';\nimport {\n StyledCornerElement,\n StyledCornerImage,\n StyledGroupedImage,\n StyledGroupImageElement,\n} from './GroupedImage.styles';\nimport CareOfClipPath from './clip-paths/CareOfClipPath';\nimport { useUuid } from '../../hooks/uuid';\nimport SecondImageClipPath from './clip-paths/SecondImageClipPath';\n\ntype GroupedImageProps = {\n cornerImage?: string;\n height?: number;\n imageBackground?: CSSProperties['background'];\n images: string[];\n onClick?: MouseEventHandler<HTMLDivElement>;\n shouldPreventBackground?: boolean;\n shouldShowRoundImage?: boolean;\n cornerElement?: ReactNode;\n};\n\nconst GroupedImage: FC<GroupedImageProps> = ({\n cornerImage,\n height = 40,\n imageBackground,\n images,\n onClick,\n shouldPreventBackground = false,\n shouldShowRoundImage = false,\n cornerElement,\n}) => {\n const hasCornerImage = Boolean(cornerImage);\n const hasCornerElement = Boolean(cornerElement);\n const hasMultipleImages = images.length > 1;\n const uuid = useUuid();\n\n const imageElements = images.slice(0, 2).map((src, index) => (\n <StyledGroupImageElement\n $background={imageBackground}\n $isSecondImage={index === 1}\n $hasCornerImage={hasCornerImage}\n $hasMultipleImages={hasMultipleImages}\n $shouldPreventBackground={shouldPreventBackground}\n $shouldShowRoundImage={shouldShowRoundImage}\n $uuid={uuid}\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n >\n <svg\n width=\"100%\"\n height=\"100%\"\n viewBox=\"0 0 40 40\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"xMidYMid slice\"\n >\n <image href={src} width=\"40\" height=\"40\" />\n </svg>\n </StyledGroupImageElement>\n ));\n\n return (\n <StyledGroupedImage onClick={onClick} $height={height}>\n {hasCornerImage && (\n <CareOfClipPath\n height={height}\n uuid={uuid}\n imageFactors={hasMultipleImages ? [0.76, 0.8] : [1]}\n />\n )}\n {hasMultipleImages && (\n <SecondImageClipPath\n height={height}\n uuid={uuid}\n shouldShowRoundImage={shouldShowRoundImage}\n />\n )}\n\n {imageElements}\n\n {hasCornerImage && (\n <StyledCornerImage\n $background={imageBackground}\n $shouldPreventBackground={shouldPreventBackground}\n $hasMultipleImages={hasMultipleImages}\n src={cornerImage}\n key=\"corner-image\"\n />\n )}\n {hasCornerElement && <StyledCornerElement>{cornerElement}</StyledCornerElement>}\n </StyledGroupedImage>\n );\n};\n\nGroupedImage.displayName = 'GroupedImage';\n\nexport default GroupedImage;\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.StyledGroupedImage = exports.StyledGroupImageElement = exports.StyledCornerImage = exports.StyledCornerElement = exports.ImageSize = void 0;
6
+ exports.StyledGroupedImage = exports.StyledGroupImageElement = exports.StyledCornerImage = exports.StyledCornerElement = void 0;
7
7
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
8
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
9
  const StyledGroupedImage = exports.StyledGroupedImage = _styledComponents.default.div`
@@ -16,24 +16,33 @@ const StyledGroupedImage = exports.StyledGroupedImage = _styledComponents.defaul
16
16
  $height
17
17
  }) => $height}px;
18
18
  `;
19
- let ImageSize = exports.ImageSize = /*#__PURE__*/function (ImageSize) {
20
- ImageSize["Full"] = "100%";
21
- ImageSize["Small"] = "100%";
22
- ImageSize["Grouped"] = "80%";
23
- ImageSize["GroupedSmall"] = "80%";
24
- return ImageSize;
25
- }({});
26
19
  const StyledGroupImageElement = exports.StyledGroupImageElement = _styledComponents.default.div`
27
20
  aspect-ratio: 1;
28
21
  border-radius: ${({
29
22
  $shouldShowRoundImage
30
23
  }) => $shouldShowRoundImage ? '50%' : '0'};
31
- height: ${({
32
- $imageSize
33
- }) => $imageSize};
34
24
  position: absolute;
35
25
  overflow: hidden;
36
26
 
27
+ ${({
28
+ $hasMultipleImages,
29
+ $isSecondImage
30
+ }) => {
31
+ if (!$hasMultipleImages) {
32
+ return (0, _styledComponents.css)`
33
+ height: 100%;
34
+ `;
35
+ }
36
+ if ($isSecondImage) {
37
+ return (0, _styledComponents.css)`
38
+ height: 80%;
39
+ `;
40
+ }
41
+ return (0, _styledComponents.css)`
42
+ height: 76%;
43
+ `;
44
+ }}
45
+
37
46
  ${({
38
47
  $isSecondImage
39
48
  }) => $isSecondImage ? (0, _styledComponents.css)`
@@ -75,7 +84,9 @@ const StyledGroupImageElement = exports.StyledGroupImageElement = _styledCompone
75
84
  const StyledCornerImage = exports.StyledCornerImage = _styledComponents.default.img`
76
85
  aspect-ratio: 1;
77
86
  bottom: 0;
78
- height: 35%;
87
+ height: ${({
88
+ $hasMultipleImages
89
+ }) => $hasMultipleImages ? '28%' : '38%'};
79
90
  position: absolute;
80
91
  right: 0;
81
92
 
@@ -1 +1 @@
1
- {"version":3,"file":"GroupedImage.styles.js","names":["_styledComponents","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledGroupedImage","exports","styled","div","$height","ImageSize","StyledGroupImageElement","$shouldShowRoundImage","$imageSize","$isSecondImage","css","$hasMultipleImages","$hasCornerImage","$uuid","$background","$shouldPreventBackground","theme","StyledCornerImage","img","StyledCornerElement","span"],"sources":["../../../../src/components/grouped-image/GroupedImage.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { CSSProperties } from 'react';\nimport { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledGroupedImageProps = WithTheme<{\n $height: CSSProperties['height'];\n}>;\n\nexport const StyledGroupedImage = styled.div<StyledGroupedImageProps>`\n flex: 0 0 auto;\n height: ${({ $height }) => $height}px;\n position: relative;\n width: ${({ $height }) => $height}px;\n`;\n\nexport enum ImageSize {\n Full = '100%',\n Small = '100%',\n Grouped = '80%',\n GroupedSmall = '80%',\n}\n\ntype StyledImageProps = WithTheme<{\n $background?: CSSProperties['background'];\n $imageSize: ImageSize;\n $isSecondImage?: boolean;\n $shouldPreventBackground?: boolean;\n $shouldShowRoundImage?: boolean;\n $hasCornerImage: boolean;\n $hasMultipleImages: boolean;\n $uuid: string;\n}>;\n\nexport const StyledGroupImageElement = styled.div<StyledImageProps>`\n aspect-ratio: 1;\n border-radius: ${({ $shouldShowRoundImage }) => ($shouldShowRoundImage ? '50%' : '0')};\n height: ${({ $imageSize }) => $imageSize};\n position: absolute;\n overflow: hidden;\n\n ${({ $isSecondImage }) =>\n $isSecondImage\n ? css`\n bottom: 0;\n right: 0;\n `\n : css`\n top: 0;\n left: 0;\n `}\n\n ${({ $isSecondImage, $hasMultipleImages, $hasCornerImage, $uuid }) => {\n if (\n ($isSecondImage && $hasCornerImage) ||\n (!$isSecondImage && !$hasMultipleImages && $hasCornerImage)\n ) {\n return css`\n clip-path: url(${`#care-of-mask--${$uuid}`});\n `;\n }\n\n if (!$isSecondImage && $hasMultipleImages) {\n return css`\n clip-path: url(${`#second-image-mask--${$uuid}`});\n `;\n }\n\n return '';\n }}\n\n ${({ $background, $shouldPreventBackground, theme }) =>\n !$shouldPreventBackground &&\n css`\n background: ${$background || `rgba(${theme['text-rgb'] ?? '0,0,0'}, 0.1)`};\n box-shadow: 0 0 0 1px rgba(${theme['009-rgb']}, 0.08) inset;\n `}\n`;\n\ntype StyledCornerImageProps = WithTheme<{\n $background?: CSSProperties['background'];\n $shouldPreventBackground?: boolean;\n}>;\n\nexport const StyledCornerImage = styled.img<StyledCornerImageProps>`\n aspect-ratio: 1;\n bottom: 0;\n height: 35%;\n position: absolute;\n right: 0;\n\n ${({ $background, $shouldPreventBackground, theme }) =>\n !$shouldPreventBackground &&\n css`\n background: ${$background || `rgba(${theme['text-rgb'] ?? '0,0,0'}, 0.1)`};\n box-shadow: 0 0 0 1px rgba(${theme['009-rgb']}, 0.08) inset;\n `}\n`;\n\nexport const StyledCornerElement = styled.span`\n height: 18px;\n width: 18px;\n position: absolute;\n bottom: 0;\n right: -5px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > * {\n max-height: 100%;\n max-width: 100%;\n display: block;\n }\n`;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"GroupedImage.styles.js","names":["_styledComponents","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledGroupedImage","exports","styled","div","$height","StyledGroupImageElement","$shouldShowRoundImage","$hasMultipleImages","$isSecondImage","css","$hasCornerImage","$uuid","$background","$shouldPreventBackground","theme","StyledCornerImage","img","StyledCornerElement","span"],"sources":["../../../../src/components/grouped-image/GroupedImage.styles.ts"],"sourcesContent":["import styled, { css } from 'styled-components';\nimport { CSSProperties } from 'react';\nimport { WithTheme } from '../color-scheme-provider/ColorSchemeProvider';\n\ntype StyledGroupedImageProps = WithTheme<{\n $height: CSSProperties['height'];\n}>;\n\nexport const StyledGroupedImage = styled.div<StyledGroupedImageProps>`\n flex: 0 0 auto;\n height: ${({ $height }) => $height}px;\n position: relative;\n width: ${({ $height }) => $height}px;\n`;\n\ntype StyledImageProps = WithTheme<{\n $background?: CSSProperties['background'];\n $isSecondImage?: boolean;\n $shouldPreventBackground?: boolean;\n $shouldShowRoundImage?: boolean;\n $hasCornerImage: boolean;\n $hasMultipleImages: boolean;\n $uuid: string;\n}>;\n\nexport const StyledGroupImageElement = styled.div<StyledImageProps>`\n aspect-ratio: 1;\n border-radius: ${({ $shouldShowRoundImage }) => ($shouldShowRoundImage ? '50%' : '0')};\n position: absolute;\n overflow: hidden;\n\n ${({ $hasMultipleImages, $isSecondImage }) => {\n if (!$hasMultipleImages) {\n return css`\n height: 100%;\n `;\n }\n\n if ($isSecondImage) {\n return css`\n height: 80%;\n `;\n }\n\n return css`\n height: 76%;\n `;\n }}\n\n ${({ $isSecondImage }) =>\n $isSecondImage\n ? css`\n bottom: 0;\n right: 0;\n `\n : css`\n top: 0;\n left: 0;\n `}\n\n ${({ $isSecondImage, $hasMultipleImages, $hasCornerImage, $uuid }) => {\n if (\n ($isSecondImage && $hasCornerImage) ||\n (!$isSecondImage && !$hasMultipleImages && $hasCornerImage)\n ) {\n return css`\n clip-path: url(${`#care-of-mask--${$uuid}`});\n `;\n }\n\n if (!$isSecondImage && $hasMultipleImages) {\n return css`\n clip-path: url(${`#second-image-mask--${$uuid}`});\n `;\n }\n\n return '';\n }}\n\n ${({ $background, $shouldPreventBackground, theme }) =>\n !$shouldPreventBackground &&\n css`\n background: ${$background || `rgba(${theme['text-rgb'] ?? '0,0,0'}, 0.1)`};\n box-shadow: 0 0 0 1px rgba(${theme['009-rgb']}, 0.08) inset;\n `}\n`;\n\ntype StyledCornerImageProps = WithTheme<{\n $background?: CSSProperties['background'];\n $shouldPreventBackground?: boolean;\n $hasMultipleImages: boolean;\n}>;\n\nexport const StyledCornerImage = styled.img<StyledCornerImageProps>`\n aspect-ratio: 1;\n bottom: 0;\n height: ${({ $hasMultipleImages }) => ($hasMultipleImages ? '28%' : '38%')};\n position: absolute;\n right: 0;\n\n ${({ $background, $shouldPreventBackground, theme }) =>\n !$shouldPreventBackground &&\n css`\n background: ${$background || `rgba(${theme['text-rgb'] ?? '0,0,0'}, 0.1)`};\n box-shadow: 0 0 0 1px rgba(${theme['009-rgb']}, 0.08) inset;\n `}\n`;\n\nexport const StyledCornerElement = styled.span`\n height: 18px;\n width: 18px;\n position: absolute;\n bottom: 0;\n right: -5px;\n\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > * {\n max-height: 100%;\n max-width: 100%;\n display: block;\n }\n`;\n"],"mappings":"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","ignoreList":[]}
@@ -8,14 +8,14 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _groupedImage = require("../../../utils/groupedImage");
9
9
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
10
  const CareOfClipPath = ({
11
- imageHeight,
12
- containerHeight,
11
+ imageFactors,
12
+ height,
13
13
  uuid
14
14
  }) => {
15
15
  const d = (0, _react.useMemo)(() => (0, _groupedImage.createCareOfClipPath)({
16
- imageHeight,
17
- containerHeight
18
- }), [containerHeight, imageHeight]);
16
+ height,
17
+ imageFactors
18
+ }), [height, imageFactors]);
19
19
  return /*#__PURE__*/_react.default.createElement("svg", {
20
20
  width: "0",
21
21
  height: "0",
@@ -1 +1 @@
1
- {"version":3,"file":"CareOfClipPath.js","names":["_react","_interopRequireWildcard","require","_groupedImage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CareOfClipPath","imageHeight","containerHeight","uuid","d","useMemo","createCareOfClipPath","createElement","width","height","style","position","id","clipPathUnits","dsiplayName","_default","exports"],"sources":["../../../../../src/components/grouped-image/clip-paths/CareOfClipPath.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { createCareOfClipPath } from '../../../utils/groupedImage';\n\nconst CareOfClipPath = ({\n imageHeight,\n containerHeight,\n uuid,\n}: {\n imageHeight: number;\n containerHeight: number;\n uuid: string;\n}) => {\n const d = useMemo(\n () => createCareOfClipPath({ imageHeight, containerHeight }),\n [containerHeight, imageHeight],\n );\n\n return (\n <svg width=\"0\" height=\"0\" style={{ position: 'absolute' }}>\n <defs>\n <clipPath id={`care-of-mask--${uuid}`} clipPathUnits=\"objectBoundingBox\">\n <path d={d} />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nCareOfClipPath.dsiplayName = 'CareOfClipPath';\n\nexport default CareOfClipPath;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAAmE,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEnE,MAAMkB,cAAc,GAAGA,CAAC;EACpBC,WAAW;EACXC,eAAe;EACfC;AAKJ,CAAC,KAAK;EACF,MAAMC,CAAC,GAAG,IAAAC,cAAO,EACb,MAAM,IAAAC,kCAAoB,EAAC;IAAEL,WAAW;IAAEC;EAAgB,CAAC,CAAC,EAC5D,CAACA,eAAe,EAAED,WAAW,CACjC,CAAC;EAED,oBACIxB,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAKC,KAAK,EAAC,GAAG;IAACC,MAAM,EAAC,GAAG;IAACC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAW;EAAE,gBACtDlC,MAAA,CAAAc,OAAA,CAAAgB,aAAA,4BACI9B,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAUK,EAAE,EAAE,iBAAiBT,IAAI,EAAG;IAACU,aAAa,EAAC;EAAmB,gBACpEpC,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAMH,CAAC,EAAEA;EAAE,CAAE,CACP,CACR,CACL,CAAC;AAEd,CAAC;AAEDJ,cAAc,CAACc,WAAW,GAAG,gBAAgB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAzB,OAAA,GAE/BS,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"CareOfClipPath.js","names":["_react","_interopRequireWildcard","require","_groupedImage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CareOfClipPath","imageFactors","height","uuid","d","useMemo","createCareOfClipPath","createElement","width","style","position","id","clipPathUnits","dsiplayName","_default","exports"],"sources":["../../../../../src/components/grouped-image/clip-paths/CareOfClipPath.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { createCareOfClipPath } from '../../../utils/groupedImage';\n\nconst CareOfClipPath = ({\n imageFactors,\n height,\n uuid,\n}: {\n imageFactors: number[];\n height: number;\n uuid: string;\n}) => {\n const d = useMemo(() => createCareOfClipPath({ height, imageFactors }), [height, imageFactors]);\n\n return (\n <svg width=\"0\" height=\"0\" style={{ position: 'absolute' }}>\n <defs>\n <clipPath id={`care-of-mask--${uuid}`} clipPathUnits=\"objectBoundingBox\">\n <path d={d} />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nCareOfClipPath.dsiplayName = 'CareOfClipPath';\n\nexport default CareOfClipPath;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAAmE,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEnE,MAAMkB,cAAc,GAAGA,CAAC;EACpBC,YAAY;EACZC,MAAM;EACNC;AAKJ,CAAC,KAAK;EACF,MAAMC,CAAC,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAC,kCAAoB,EAAC;IAAEJ,MAAM;IAAED;EAAa,CAAC,CAAC,EAAE,CAACC,MAAM,EAAED,YAAY,CAAC,CAAC;EAE/F,oBACIxB,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAKC,KAAK,EAAC,GAAG;IAACN,MAAM,EAAC,GAAG;IAACO,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAW;EAAE,gBACtDjC,MAAA,CAAAc,OAAA,CAAAgB,aAAA,4BACI9B,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAUI,EAAE,EAAE,iBAAiBR,IAAI,EAAG;IAACS,aAAa,EAAC;EAAmB,gBACpEnC,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAMH,CAAC,EAAEA;EAAE,CAAE,CACP,CACR,CACL,CAAC;AAEd,CAAC;AAEDJ,cAAc,CAACa,WAAW,GAAG,gBAAgB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAxB,OAAA,GAE/BS,cAAc","ignoreList":[]}
@@ -8,14 +8,14 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _groupedImage = require("../../../utils/groupedImage");
9
9
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
10
  const SecondImageClipPath = ({
11
- containerHeight,
11
+ height,
12
12
  uuid,
13
13
  shouldShowRoundImage
14
14
  }) => {
15
15
  const d = (0, _react.useMemo)(() => (0, _groupedImage.createSecondImageClipPath)({
16
- containerHeight,
16
+ height,
17
17
  shouldShowRoundImage
18
- }), [containerHeight, shouldShowRoundImage]);
18
+ }), [height, shouldShowRoundImage]);
19
19
  return /*#__PURE__*/_react.default.createElement("svg", {
20
20
  width: "0",
21
21
  height: "0",
@@ -1 +1 @@
1
- {"version":3,"file":"SecondImageClipPath.js","names":["_react","_interopRequireWildcard","require","_groupedImage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SecondImageClipPath","containerHeight","uuid","shouldShowRoundImage","d","useMemo","createSecondImageClipPath","createElement","width","height","style","position","id","clipPathUnits","dsiplayName","_default","exports"],"sources":["../../../../../src/components/grouped-image/clip-paths/SecondImageClipPath.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { createSecondImageClipPath } from '../../../utils/groupedImage';\n\nconst SecondImageClipPath = ({\n containerHeight,\n uuid,\n shouldShowRoundImage,\n}: {\n containerHeight: number;\n uuid: string;\n shouldShowRoundImage: boolean;\n}) => {\n const d = useMemo(\n () => createSecondImageClipPath({ containerHeight, shouldShowRoundImage }),\n [containerHeight, shouldShowRoundImage],\n );\n\n return (\n <svg width=\"0\" height=\"0\" style={{ position: 'absolute' }}>\n <defs>\n <clipPath id={`second-image-mask--${uuid}`} clipPathUnits=\"objectBoundingBox\">\n <path d={d} />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nSecondImageClipPath.dsiplayName = 'SecondImageClipPath';\n\nexport default SecondImageClipPath;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAAwE,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAExE,MAAMkB,mBAAmB,GAAGA,CAAC;EACzBC,eAAe;EACfC,IAAI;EACJC;AAKJ,CAAC,KAAK;EACF,MAAMC,CAAC,GAAG,IAAAC,cAAO,EACb,MAAM,IAAAC,uCAAyB,EAAC;IAAEL,eAAe;IAAEE;EAAqB,CAAC,CAAC,EAC1E,CAACF,eAAe,EAAEE,oBAAoB,CAC1C,CAAC;EAED,oBACI1B,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAKC,KAAK,EAAC,GAAG;IAACC,MAAM,EAAC,GAAG;IAACC,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAW;EAAE,gBACtDlC,MAAA,CAAAc,OAAA,CAAAgB,aAAA,4BACI9B,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAUK,EAAE,EAAE,sBAAsBV,IAAI,EAAG;IAACW,aAAa,EAAC;EAAmB,gBACzEpC,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAMH,CAAC,EAAEA;EAAE,CAAE,CACP,CACR,CACL,CAAC;AAEd,CAAC;AAEDJ,mBAAmB,CAACc,WAAW,GAAG,qBAAqB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAzB,OAAA,GAEzCS,mBAAmB","ignoreList":[]}
1
+ {"version":3,"file":"SecondImageClipPath.js","names":["_react","_interopRequireWildcard","require","_groupedImage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SecondImageClipPath","height","uuid","shouldShowRoundImage","d","useMemo","createSecondImageClipPath","createElement","width","style","position","id","clipPathUnits","dsiplayName","_default","exports"],"sources":["../../../../../src/components/grouped-image/clip-paths/SecondImageClipPath.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { createSecondImageClipPath } from '../../../utils/groupedImage';\n\nconst SecondImageClipPath = ({\n height,\n uuid,\n shouldShowRoundImage,\n}: {\n height: number;\n uuid: string;\n shouldShowRoundImage: boolean;\n}) => {\n const d = useMemo(\n () => createSecondImageClipPath({ height, shouldShowRoundImage }),\n [height, shouldShowRoundImage],\n );\n\n return (\n <svg width=\"0\" height=\"0\" style={{ position: 'absolute' }}>\n <defs>\n <clipPath id={`second-image-mask--${uuid}`} clipPathUnits=\"objectBoundingBox\">\n <path d={d} />\n </clipPath>\n </defs>\n </svg>\n );\n};\n\nSecondImageClipPath.dsiplayName = 'SecondImageClipPath';\n\nexport default SecondImageClipPath;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAAwE,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAExE,MAAMkB,mBAAmB,GAAGA,CAAC;EACzBC,MAAM;EACNC,IAAI;EACJC;AAKJ,CAAC,KAAK;EACF,MAAMC,CAAC,GAAG,IAAAC,cAAO,EACb,MAAM,IAAAC,uCAAyB,EAAC;IAAEL,MAAM;IAAEE;EAAqB,CAAC,CAAC,EACjE,CAACF,MAAM,EAAEE,oBAAoB,CACjC,CAAC;EAED,oBACI1B,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAKC,KAAK,EAAC,GAAG;IAACP,MAAM,EAAC,GAAG;IAACQ,KAAK,EAAE;MAAEC,QAAQ,EAAE;IAAW;EAAE,gBACtDjC,MAAA,CAAAc,OAAA,CAAAgB,aAAA,4BACI9B,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAUI,EAAE,EAAE,sBAAsBT,IAAI,EAAG;IAACU,aAAa,EAAC;EAAmB,gBACzEnC,MAAA,CAAAc,OAAA,CAAAgB,aAAA;IAAMH,CAAC,EAAEA;EAAE,CAAE,CACP,CACR,CACL,CAAC;AAEd,CAAC;AAEDJ,mBAAmB,CAACa,WAAW,GAAG,qBAAqB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAxB,OAAA,GAEzCS,mBAAmB","ignoreList":[]}
@@ -73,6 +73,7 @@ const ListItem = /*#__PURE__*/(0, _react2.forwardRef)(({
73
73
  const onOpenRef = (0, _react2.useRef)(onOpen);
74
74
  const [shouldEnableTooltip, setShouldEnableTooltip] = (0, _react2.useState)(false);
75
75
  const [titleWidth, setTitleWidth] = (0, _react2.useState)(0);
76
+ const [titleMaxWidth, setTitleMaxWidth] = (0, _react2.useState)(0);
76
77
  (0, _react2.useEffect)(() => {
77
78
  onCloseRef.current = onClose;
78
79
  onOpenRef.current = onOpen;
@@ -113,10 +114,12 @@ const ListItem = /*#__PURE__*/(0, _react2.forwardRef)(({
113
114
  }, [isDefaultOpen, updateOpenItemUuid, uuid]);
114
115
  const isClickable = typeof onClick === 'function' || isExpandable;
115
116
  (0, _react2.useImperativeHandle)(ref, () => ({
116
- titleWidth
117
- }), [titleWidth]);
118
- const handleTitleWidthChange = width => {
117
+ titleWidth,
118
+ titleMaxWidth
119
+ }), [titleMaxWidth, titleWidth]);
120
+ const handleTitleWidthChange = (width, maxWidth) => {
119
121
  setTitleWidth(width);
122
+ setTitleMaxWidth(maxWidth);
120
123
  };
121
124
  const headContent = (0, _react2.useMemo)(() => /*#__PURE__*/_react2.default.createElement(_ListItemHead.default, {
122
125
  hoverItem: hoverItem,
@@ -1 +1 @@
1
- {"version":3,"file":"ListItem.js","names":["_react","require","_react2","_interopRequireWildcard","_uuid","_Accordion","_AreaContextProvider","_List","_ListItemBody","_interopRequireDefault","_ListItemHead","_ListItem","_Tooltip","_list","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ListItem","forwardRef","backgroundColor","careOfLocationId","children","cornerImage","hoverItem","icons","imageBackground","images","isDefaultOpen","isOpen","isTitleGreyed","leftElements","onClick","onClose","onLongPress","onOpen","rightElements","shouldShowTooltipOnTitleOverflow","shouldForceBackground","shouldForceBottomLine","shouldForceHover","shouldHideBottomLine","shouldOpenImageOnClick","shouldHideImageOrIconBackground","shouldHideIndicator","shouldPreventLayoutAnimation","shouldRenderClosed","shouldShowRoundImageOrIcon","shouldShowSeparatorBelow","subtitle","title","titleElement","shouldDisableAnimation","cornerElement","ref","incrementExpandableItemCount","isAnyItemExpandable","isWrapped","openItemUuid","updateOpenItemUuid","useContext","ListContext","isParentAccordionWrapped","AccordionContext","areaProvider","AreaContext","isInitialRenderRef","useRef","listItemRef","uuid","useUuid","isExpandable","undefined","isItemOpen","onCloseRef","onOpenRef","shouldEnableTooltip","setShouldEnableTooltip","useState","titleWidth","setTitleWidth","useEffect","current","handleHeadClick","useCallback","event","shouldOnlyOpen","isClickable","useImperativeHandle","handleTitleWidthChange","width","headContent","useMemo","createElement","onTitleWidthChange","StyledListItem","as","motion","LIST_ITEM_HTML_TAG","animate","height","opacity","className","exit","initial","key","layout","$backgroundColor","$isClickable","$isInAccordion","shouldDisableListItemPadding","$isOpen","$isWrapped","$shouldChangeColor","shouldChangeColor","$shouldForceBackground","$shouldForceBottomLine","$shouldHideBottomLine","$shouldHideIndicator","$shouldShowSeparatorBelow","shouldUseFullWidth","isDisabled","item","StyledListItemTooltip","style","cursor","AnimatePresence","id","shouldHideBody","displayName","_default","exports"],"sources":["../../../../../src/components/list/list-item/ListItem.tsx"],"sourcesContent":["import { AnimatePresence, motion } from 'motion/react';\nimport React, {\n CSSProperties,\n FC,\n forwardRef,\n MouseEventHandler,\n ReactNode,\n TouchEventHandler,\n useCallback,\n useContext,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useUuid } from '../../../hooks/uuid';\nimport type { IListItemRightElements } from '../../../types/list';\nimport { AccordionContext } from '../../accordion/Accordion';\nimport AreaContextProvider, { AreaContext } from '../../area-provider/AreaContextProvider';\nimport { ListContext } from '../List';\nimport ListItemBody from './list-item-body/ListItemBody';\nimport ListItemHead from './list-item-head/ListItemHead';\nimport { StyledListItem, StyledListItemTooltip } from './ListItem.styles';\nimport Tooltip from '../../tooltip/Tooltip';\nimport { LIST_ITEM_HTML_TAG } from '../../../constants/list';\n\nexport type ListItemElements = [ReactNode, ...ReactNode[]];\n\nexport type ListItemProps = {\n /**\n * The background color of the `ListItem`.\n */\n backgroundColor?: CSSProperties['backgroundColor'];\n /**\n * DEPRECATED: Use `cornerImage` instead.\n */\n careOfLocationId?: number;\n /**\n * The content of the `ListItem` body. When the `ListItem` has children,\n * it can be opened and also gets an icon as an indicator automatically.\n */\n children?: ReactNode;\n /**\n * The image that is displayed in the bottom right corner of the grouped image of list item.\n */\n cornerImage?: string;\n /**\n * Element that is displayed when hovering over the `ListItem` on the right\n * side. On mobile devices, this element is not displayed.\n */\n hoverItem?: ReactNode;\n /**\n * The FontAwesome or tobit icons to render like an image on the left side\n * of the header. Multiple icons are stacked. See the `Icon` component\n * documentation for more information.\n */\n icons?: string[];\n /**\n * The background of the image. This is only used if images are passed.\n */\n imageBackground?: CSSProperties['background'];\n /**\n * A list of image URLs that are displayed on the left side of the header.\n * If multiple URLs are passed, the image is assembled from the first three\n * image URLs as a puzzle.\n */\n images?: string[];\n /**\n * This can be used to automatically expand the `ListItem` during the first render.\n */\n isDefaultOpen?: boolean;\n /**\n * This overrides the internal opening state of the item and makes it controlled.\n */\n isOpen?: boolean;\n /**\n * Whether the ListItem locks disabled but has full functionality.\n */\n isTitleGreyed?: boolean;\n /**\n * Elements that are displayed on the left side of the header. If multiple\n * elements are specified, they are displayed one aside the other.\n */\n leftElements?: ListItemElements;\n /**\n * Function to be executed when the header of the `ListItem` was clicked\n */\n onClick?: MouseEventHandler<HTMLDivElement>;\n /**\n * Function to be executed when the ListItem is closed.\n */\n onClose?: VoidFunction;\n /**\n * Function to be executed when the header of the `ListItem` is pressed for\n * 400 milliseconds.\n */\n onLongPress?: TouchEventHandler<HTMLDivElement>;\n /**\n * Function to be executed when the ListItem is opened.\n */\n onOpen?: VoidFunction;\n /**\n * Elements that are displayed on the right side of the header. If multiple\n * elements are specified, they are displayed one below the other.\n */\n rightElements?: IListItemRightElements;\n /**\n * This will force the background color of the ListItem to be used even if it is closed and not hovered.\n */\n shouldForceBackground?: boolean;\n /**\n * Whether the line should be forced, e.g., so that it is also displayed if the item is the last element in the list.\n */\n shouldForceBottomLine?: boolean;\n /**\n * Whether the hover item should be forced.\n */\n shouldForceHover?: boolean;\n /**\n * Whether the bottom line should be hidden.\n */\n shouldHideBottomLine?: boolean;\n /**\n * Whether the background and border of the shape on which the image or icon of the element is displayed should be\n * hidden.\n */\n shouldHideImageOrIconBackground?: boolean;\n /**\n * If the `ListItem` is expandable, the indicator is displayed on the left\n * side of the header. If this property is set to true, the indicator is\n * hidden.\n */\n shouldHideIndicator?: boolean;\n /**\n * Whether the image should be opened on click.\n */\n shouldOpenImageOnClick?: boolean;\n /**\n * Whether the layout animation should be prevented. This is useful when the\n * `ListItem` is used in a list with a lot of items and the layout animation\n * is not desired.\n */\n shouldPreventLayoutAnimation?: boolean;\n /**\n * This will render the ListItem closed on the first render.\n */\n shouldRenderClosed?: boolean;\n /**\n * Whether the image or icon should be displayed in a round shape. This should always be used for images of persons.\n */\n shouldShowRoundImageOrIcon?: boolean;\n /**\n * Whether a separator should be displayed below this item. In this case, the border is displayed thicker than normal.\n */\n shouldShowSeparatorBelow?: boolean;\n /**\n * Whether a Tooltip should be displayed on hover if the title is cut.\n */\n shouldShowTooltipOnTitleOverflow?: boolean;\n /**\n * Subtitle of the `ListItem` displayed in the head below the title\n */\n subtitle?: ReactNode;\n /**\n * Title of the `ListItem` displayed in the head\n */\n title: ReactNode;\n /**\n * Additional elements to be displayed in the header next to the title.\n */\n titleElement?: ReactNode;\n /**\n * Whether the ListItem Animation should be disabled.\n */\n shouldDisableAnimation?: boolean;\n /**\n * Optional Element to display in the right corner of the image\n */\n cornerElement?: ReactNode;\n};\n\nexport interface ListItemRef {\n titleWidth: number;\n}\n\nconst ListItem = forwardRef<ListItemRef, ListItemProps>(\n (\n {\n backgroundColor,\n careOfLocationId,\n children,\n cornerImage,\n hoverItem,\n icons,\n imageBackground,\n images,\n isDefaultOpen,\n isOpen,\n isTitleGreyed,\n leftElements,\n onClick,\n onClose,\n onLongPress,\n onOpen,\n rightElements,\n shouldShowTooltipOnTitleOverflow = false,\n shouldForceBackground = false,\n shouldForceBottomLine = false,\n shouldForceHover = false,\n shouldHideBottomLine = false,\n shouldOpenImageOnClick = false,\n shouldHideImageOrIconBackground,\n shouldHideIndicator = false,\n shouldPreventLayoutAnimation = false,\n shouldRenderClosed = false,\n shouldShowRoundImageOrIcon,\n shouldShowSeparatorBelow = false,\n subtitle,\n title,\n titleElement,\n shouldDisableAnimation = false,\n cornerElement,\n },\n ref,\n ) => {\n const {\n incrementExpandableItemCount,\n isAnyItemExpandable,\n isWrapped,\n openItemUuid,\n updateOpenItemUuid,\n } = useContext(ListContext);\n\n const { isWrapped: isParentAccordionWrapped } = useContext(AccordionContext);\n\n const areaProvider = useContext(AreaContext);\n\n const isInitialRenderRef = useRef(true);\n\n const listItemRef = useRef<HTMLDivElement>(null);\n\n const uuid = useUuid();\n\n const isExpandable = children !== undefined;\n const isItemOpen = isOpen ?? openItemUuid === uuid;\n\n const onCloseRef = useRef(onClose);\n const onOpenRef = useRef(onOpen);\n\n const [shouldEnableTooltip, setShouldEnableTooltip] = useState(false);\n const [titleWidth, setTitleWidth] = useState(0);\n\n useEffect(() => {\n onCloseRef.current = onClose;\n onOpenRef.current = onOpen;\n }, [isOpen, onClose, onOpen]);\n\n useEffect(() => {\n if (isInitialRenderRef.current) {\n isInitialRenderRef.current = false;\n } else if (isItemOpen) {\n if (typeof onOpenRef.current === 'function') {\n onOpenRef.current();\n }\n } else if (typeof onCloseRef.current === 'function') {\n onCloseRef.current();\n }\n }, [isItemOpen]);\n\n const handleHeadClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n if (isExpandable) {\n updateOpenItemUuid(uuid);\n }\n\n if (typeof onClick === 'function') {\n onClick(event);\n }\n },\n [isExpandable, onClick, updateOpenItemUuid, uuid],\n );\n\n useEffect(() => {\n if (isExpandable && !shouldHideIndicator) {\n // The incrementExpandableItemCount function returns a cleanup\n // function to decrement expandableItemCount if component unmounts\n return incrementExpandableItemCount();\n }\n\n return undefined;\n }, [incrementExpandableItemCount, isExpandable, shouldHideIndicator]);\n\n useEffect(() => {\n if (isDefaultOpen) {\n updateOpenItemUuid(uuid, { shouldOnlyOpen: true });\n }\n }, [isDefaultOpen, updateOpenItemUuid, uuid]);\n\n const isClickable = typeof onClick === 'function' || isExpandable;\n\n useImperativeHandle(\n ref,\n () => ({\n titleWidth,\n }),\n [titleWidth],\n );\n\n const handleTitleWidthChange = (width: number) => {\n setTitleWidth(width);\n };\n\n const headContent = useMemo(\n () => (\n <ListItemHead\n hoverItem={hoverItem}\n careOfLocationId={careOfLocationId}\n cornerElement={cornerElement}\n cornerImage={cornerImage}\n icons={icons}\n imageBackground={imageBackground}\n images={images}\n isAnyItemExpandable={isAnyItemExpandable}\n isExpandable={isExpandable}\n isOpen={isItemOpen}\n isTitleGreyed={isTitleGreyed}\n leftElements={leftElements}\n onClick={isClickable ? handleHeadClick : undefined}\n onLongPress={onLongPress}\n shouldForceHover={shouldForceHover}\n rightElements={rightElements}\n shouldHideImageOrIconBackground={shouldHideImageOrIconBackground}\n shouldHideIndicator={shouldHideIndicator}\n shouldOpenImageOnClick={shouldOpenImageOnClick}\n shouldShowRoundImageOrIcon={shouldShowRoundImageOrIcon}\n subtitle={subtitle}\n title={title}\n onTitleWidthChange={handleTitleWidthChange}\n titleElement={titleElement}\n setShouldEnableTooltip={setShouldEnableTooltip}\n shouldDisableAnimation={shouldDisableAnimation}\n />\n ),\n [\n hoverItem,\n careOfLocationId,\n cornerElement,\n cornerImage,\n icons,\n imageBackground,\n images,\n isAnyItemExpandable,\n isExpandable,\n isItemOpen,\n isTitleGreyed,\n leftElements,\n isClickable,\n handleHeadClick,\n onLongPress,\n shouldForceHover,\n rightElements,\n shouldHideImageOrIconBackground,\n shouldHideIndicator,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n subtitle,\n title,\n titleElement,\n shouldDisableAnimation,\n ],\n );\n\n return (\n <StyledListItem\n as={shouldDisableAnimation ? undefined : motion[LIST_ITEM_HTML_TAG]}\n animate={shouldDisableAnimation ? undefined : { height: 'auto', opacity: 1 }}\n className=\"beta-chayns-list-item\"\n exit={shouldDisableAnimation ? undefined : { height: 0, opacity: 0 }}\n initial={shouldDisableAnimation ? undefined : { height: 0, opacity: 0 }}\n key={`list-item-${uuid}`}\n ref={listItemRef}\n layout={\n shouldPreventLayoutAnimation || shouldDisableAnimation ? undefined : 'position'\n }\n $backgroundColor={backgroundColor}\n $isClickable={isClickable}\n $isInAccordion={\n typeof isParentAccordionWrapped === 'boolean' &&\n !areaProvider.shouldDisableListItemPadding\n }\n $isOpen={isItemOpen}\n $isWrapped={isWrapped}\n $shouldChangeColor={areaProvider.shouldChangeColor}\n $shouldForceBackground={shouldForceBackground}\n $shouldForceBottomLine={shouldForceBottomLine}\n $shouldHideBottomLine={shouldHideBottomLine}\n $shouldHideIndicator={shouldHideIndicator}\n $shouldShowSeparatorBelow={shouldShowSeparatorBelow}\n >\n <Tooltip\n shouldUseFullWidth\n isDisabled={!shouldShowTooltipOnTitleOverflow || !shouldEnableTooltip}\n item={\n <StyledListItemTooltip\n style={{ cursor: 'default' }}\n key={`list-item-tooltip-${uuid}`}\n >\n {title}\n </StyledListItemTooltip>\n }\n >\n {headContent}\n </Tooltip>\n <AnimatePresence initial={false}>\n {isExpandable && (isItemOpen || shouldRenderClosed) && (\n <ListItemBody\n id={uuid}\n key={`listItemBody-${uuid}`}\n shouldHideBody={shouldRenderClosed && !isItemOpen}\n >\n <AreaContextProvider>{children}</AreaContextProvider>\n </ListItemBody>\n )}\n </AnimatePresence>\n </StyledListItem>\n );\n },\n);\n\nListItem.displayName = 'ListItem';\n\nexport default ListItem;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListItem.js","names":["_react","require","_react2","_interopRequireWildcard","_uuid","_Accordion","_AreaContextProvider","_List","_ListItemBody","_interopRequireDefault","_ListItemHead","_ListItem","_Tooltip","_list","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ListItem","forwardRef","backgroundColor","careOfLocationId","children","cornerImage","hoverItem","icons","imageBackground","images","isDefaultOpen","isOpen","isTitleGreyed","leftElements","onClick","onClose","onLongPress","onOpen","rightElements","shouldShowTooltipOnTitleOverflow","shouldForceBackground","shouldForceBottomLine","shouldForceHover","shouldHideBottomLine","shouldOpenImageOnClick","shouldHideImageOrIconBackground","shouldHideIndicator","shouldPreventLayoutAnimation","shouldRenderClosed","shouldShowRoundImageOrIcon","shouldShowSeparatorBelow","subtitle","title","titleElement","shouldDisableAnimation","cornerElement","ref","incrementExpandableItemCount","isAnyItemExpandable","isWrapped","openItemUuid","updateOpenItemUuid","useContext","ListContext","isParentAccordionWrapped","AccordionContext","areaProvider","AreaContext","isInitialRenderRef","useRef","listItemRef","uuid","useUuid","isExpandable","undefined","isItemOpen","onCloseRef","onOpenRef","shouldEnableTooltip","setShouldEnableTooltip","useState","titleWidth","setTitleWidth","titleMaxWidth","setTitleMaxWidth","useEffect","current","handleHeadClick","useCallback","event","shouldOnlyOpen","isClickable","useImperativeHandle","handleTitleWidthChange","width","maxWidth","headContent","useMemo","createElement","onTitleWidthChange","StyledListItem","as","motion","LIST_ITEM_HTML_TAG","animate","height","opacity","className","exit","initial","key","layout","$backgroundColor","$isClickable","$isInAccordion","shouldDisableListItemPadding","$isOpen","$isWrapped","$shouldChangeColor","shouldChangeColor","$shouldForceBackground","$shouldForceBottomLine","$shouldHideBottomLine","$shouldHideIndicator","$shouldShowSeparatorBelow","shouldUseFullWidth","isDisabled","item","StyledListItemTooltip","style","cursor","AnimatePresence","id","shouldHideBody","displayName","_default","exports"],"sources":["../../../../../src/components/list/list-item/ListItem.tsx"],"sourcesContent":["import { AnimatePresence, motion } from 'motion/react';\nimport React, {\n CSSProperties,\n FC,\n forwardRef,\n MouseEventHandler,\n ReactNode,\n TouchEventHandler,\n useCallback,\n useContext,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useUuid } from '../../../hooks/uuid';\nimport type { IListItemRightElements } from '../../../types/list';\nimport { AccordionContext } from '../../accordion/Accordion';\nimport AreaContextProvider, { AreaContext } from '../../area-provider/AreaContextProvider';\nimport { ListContext } from '../List';\nimport ListItemBody from './list-item-body/ListItemBody';\nimport ListItemHead from './list-item-head/ListItemHead';\nimport { StyledListItem, StyledListItemTooltip } from './ListItem.styles';\nimport Tooltip from '../../tooltip/Tooltip';\nimport { LIST_ITEM_HTML_TAG } from '../../../constants/list';\n\nexport type ListItemElements = [ReactNode, ...ReactNode[]];\n\nexport type ListItemProps = {\n /**\n * The background color of the `ListItem`.\n */\n backgroundColor?: CSSProperties['backgroundColor'];\n /**\n * DEPRECATED: Use `cornerImage` instead.\n */\n careOfLocationId?: number;\n /**\n * The content of the `ListItem` body. When the `ListItem` has children,\n * it can be opened and also gets an icon as an indicator automatically.\n */\n children?: ReactNode;\n /**\n * The image that is displayed in the bottom right corner of the grouped image of list item.\n */\n cornerImage?: string;\n /**\n * Element that is displayed when hovering over the `ListItem` on the right\n * side. On mobile devices, this element is not displayed.\n */\n hoverItem?: ReactNode;\n /**\n * The FontAwesome or tobit icons to render like an image on the left side\n * of the header. Multiple icons are stacked. See the `Icon` component\n * documentation for more information.\n */\n icons?: string[];\n /**\n * The background of the image. This is only used if images are passed.\n */\n imageBackground?: CSSProperties['background'];\n /**\n * A list of image URLs that are displayed on the left side of the header.\n * If multiple URLs are passed, the image is assembled from the first three\n * image URLs as a puzzle.\n */\n images?: string[];\n /**\n * This can be used to automatically expand the `ListItem` during the first render.\n */\n isDefaultOpen?: boolean;\n /**\n * This overrides the internal opening state of the item and makes it controlled.\n */\n isOpen?: boolean;\n /**\n * Whether the ListItem locks disabled but has full functionality.\n */\n isTitleGreyed?: boolean;\n /**\n * Elements that are displayed on the left side of the header. If multiple\n * elements are specified, they are displayed one aside the other.\n */\n leftElements?: ListItemElements;\n /**\n * Function to be executed when the header of the `ListItem` was clicked\n */\n onClick?: MouseEventHandler<HTMLDivElement>;\n /**\n * Function to be executed when the ListItem is closed.\n */\n onClose?: VoidFunction;\n /**\n * Function to be executed when the header of the `ListItem` is pressed for\n * 400 milliseconds.\n */\n onLongPress?: TouchEventHandler<HTMLDivElement>;\n /**\n * Function to be executed when the ListItem is opened.\n */\n onOpen?: VoidFunction;\n /**\n * Elements that are displayed on the right side of the header. If multiple\n * elements are specified, they are displayed one below the other.\n */\n rightElements?: IListItemRightElements;\n /**\n * This will force the background color of the ListItem to be used even if it is closed and not hovered.\n */\n shouldForceBackground?: boolean;\n /**\n * Whether the line should be forced, e.g., so that it is also displayed if the item is the last element in the list.\n */\n shouldForceBottomLine?: boolean;\n /**\n * Whether the hover item should be forced.\n */\n shouldForceHover?: boolean;\n /**\n * Whether the bottom line should be hidden.\n */\n shouldHideBottomLine?: boolean;\n /**\n * Whether the background and border of the shape on which the image or icon of the element is displayed should be\n * hidden.\n */\n shouldHideImageOrIconBackground?: boolean;\n /**\n * If the `ListItem` is expandable, the indicator is displayed on the left\n * side of the header. If this property is set to true, the indicator is\n * hidden.\n */\n shouldHideIndicator?: boolean;\n /**\n * Whether the image should be opened on click.\n */\n shouldOpenImageOnClick?: boolean;\n /**\n * Whether the layout animation should be prevented. This is useful when the\n * `ListItem` is used in a list with a lot of items and the layout animation\n * is not desired.\n */\n shouldPreventLayoutAnimation?: boolean;\n /**\n * This will render the ListItem closed on the first render.\n */\n shouldRenderClosed?: boolean;\n /**\n * Whether the image or icon should be displayed in a round shape. This should always be used for images of persons.\n */\n shouldShowRoundImageOrIcon?: boolean;\n /**\n * Whether a separator should be displayed below this item. In this case, the border is displayed thicker than normal.\n */\n shouldShowSeparatorBelow?: boolean;\n /**\n * Whether a Tooltip should be displayed on hover if the title is cut.\n */\n shouldShowTooltipOnTitleOverflow?: boolean;\n /**\n * Subtitle of the `ListItem` displayed in the head below the title\n */\n subtitle?: ReactNode;\n /**\n * Title of the `ListItem` displayed in the head\n */\n title: ReactNode;\n /**\n * Additional elements to be displayed in the header next to the title.\n */\n titleElement?: ReactNode;\n /**\n * Whether the ListItem Animation should be disabled.\n */\n shouldDisableAnimation?: boolean;\n /**\n * Optional Element to display in the right corner of the image\n */\n cornerElement?: ReactNode;\n};\n\nexport interface ListItemRef {\n titleWidth: number;\n titleMaxWidth: number;\n}\n\nconst ListItem = forwardRef<ListItemRef, ListItemProps>(\n (\n {\n backgroundColor,\n careOfLocationId,\n children,\n cornerImage,\n hoverItem,\n icons,\n imageBackground,\n images,\n isDefaultOpen,\n isOpen,\n isTitleGreyed,\n leftElements,\n onClick,\n onClose,\n onLongPress,\n onOpen,\n rightElements,\n shouldShowTooltipOnTitleOverflow = false,\n shouldForceBackground = false,\n shouldForceBottomLine = false,\n shouldForceHover = false,\n shouldHideBottomLine = false,\n shouldOpenImageOnClick = false,\n shouldHideImageOrIconBackground,\n shouldHideIndicator = false,\n shouldPreventLayoutAnimation = false,\n shouldRenderClosed = false,\n shouldShowRoundImageOrIcon,\n shouldShowSeparatorBelow = false,\n subtitle,\n title,\n titleElement,\n shouldDisableAnimation = false,\n cornerElement,\n },\n ref,\n ) => {\n const {\n incrementExpandableItemCount,\n isAnyItemExpandable,\n isWrapped,\n openItemUuid,\n updateOpenItemUuid,\n } = useContext(ListContext);\n\n const { isWrapped: isParentAccordionWrapped } = useContext(AccordionContext);\n\n const areaProvider = useContext(AreaContext);\n\n const isInitialRenderRef = useRef(true);\n\n const listItemRef = useRef<HTMLDivElement>(null);\n\n const uuid = useUuid();\n\n const isExpandable = children !== undefined;\n const isItemOpen = isOpen ?? openItemUuid === uuid;\n\n const onCloseRef = useRef(onClose);\n const onOpenRef = useRef(onOpen);\n\n const [shouldEnableTooltip, setShouldEnableTooltip] = useState(false);\n const [titleWidth, setTitleWidth] = useState(0);\n const [titleMaxWidth, setTitleMaxWidth] = useState(0);\n\n useEffect(() => {\n onCloseRef.current = onClose;\n onOpenRef.current = onOpen;\n }, [isOpen, onClose, onOpen]);\n\n useEffect(() => {\n if (isInitialRenderRef.current) {\n isInitialRenderRef.current = false;\n } else if (isItemOpen) {\n if (typeof onOpenRef.current === 'function') {\n onOpenRef.current();\n }\n } else if (typeof onCloseRef.current === 'function') {\n onCloseRef.current();\n }\n }, [isItemOpen]);\n\n const handleHeadClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n if (isExpandable) {\n updateOpenItemUuid(uuid);\n }\n\n if (typeof onClick === 'function') {\n onClick(event);\n }\n },\n [isExpandable, onClick, updateOpenItemUuid, uuid],\n );\n\n useEffect(() => {\n if (isExpandable && !shouldHideIndicator) {\n // The incrementExpandableItemCount function returns a cleanup\n // function to decrement expandableItemCount if component unmounts\n return incrementExpandableItemCount();\n }\n\n return undefined;\n }, [incrementExpandableItemCount, isExpandable, shouldHideIndicator]);\n\n useEffect(() => {\n if (isDefaultOpen) {\n updateOpenItemUuid(uuid, { shouldOnlyOpen: true });\n }\n }, [isDefaultOpen, updateOpenItemUuid, uuid]);\n\n const isClickable = typeof onClick === 'function' || isExpandable;\n\n useImperativeHandle(\n ref,\n () => ({\n titleWidth,\n titleMaxWidth,\n }),\n [titleMaxWidth, titleWidth],\n );\n\n const handleTitleWidthChange = (width: number, maxWidth: number) => {\n setTitleWidth(width);\n setTitleMaxWidth(maxWidth);\n };\n\n const headContent = useMemo(\n () => (\n <ListItemHead\n hoverItem={hoverItem}\n careOfLocationId={careOfLocationId}\n cornerElement={cornerElement}\n cornerImage={cornerImage}\n icons={icons}\n imageBackground={imageBackground}\n images={images}\n isAnyItemExpandable={isAnyItemExpandable}\n isExpandable={isExpandable}\n isOpen={isItemOpen}\n isTitleGreyed={isTitleGreyed}\n leftElements={leftElements}\n onClick={isClickable ? handleHeadClick : undefined}\n onLongPress={onLongPress}\n shouldForceHover={shouldForceHover}\n rightElements={rightElements}\n shouldHideImageOrIconBackground={shouldHideImageOrIconBackground}\n shouldHideIndicator={shouldHideIndicator}\n shouldOpenImageOnClick={shouldOpenImageOnClick}\n shouldShowRoundImageOrIcon={shouldShowRoundImageOrIcon}\n subtitle={subtitle}\n title={title}\n onTitleWidthChange={handleTitleWidthChange}\n titleElement={titleElement}\n setShouldEnableTooltip={setShouldEnableTooltip}\n shouldDisableAnimation={shouldDisableAnimation}\n />\n ),\n [\n hoverItem,\n careOfLocationId,\n cornerElement,\n cornerImage,\n icons,\n imageBackground,\n images,\n isAnyItemExpandable,\n isExpandable,\n isItemOpen,\n isTitleGreyed,\n leftElements,\n isClickable,\n handleHeadClick,\n onLongPress,\n shouldForceHover,\n rightElements,\n shouldHideImageOrIconBackground,\n shouldHideIndicator,\n shouldOpenImageOnClick,\n shouldShowRoundImageOrIcon,\n subtitle,\n title,\n titleElement,\n shouldDisableAnimation,\n ],\n );\n\n return (\n <StyledListItem\n as={shouldDisableAnimation ? undefined : motion[LIST_ITEM_HTML_TAG]}\n animate={shouldDisableAnimation ? undefined : { height: 'auto', opacity: 1 }}\n className=\"beta-chayns-list-item\"\n exit={shouldDisableAnimation ? undefined : { height: 0, opacity: 0 }}\n initial={shouldDisableAnimation ? undefined : { height: 0, opacity: 0 }}\n key={`list-item-${uuid}`}\n ref={listItemRef}\n layout={\n shouldPreventLayoutAnimation || shouldDisableAnimation ? undefined : 'position'\n }\n $backgroundColor={backgroundColor}\n $isClickable={isClickable}\n $isInAccordion={\n typeof isParentAccordionWrapped === 'boolean' &&\n !areaProvider.shouldDisableListItemPadding\n }\n $isOpen={isItemOpen}\n $isWrapped={isWrapped}\n $shouldChangeColor={areaProvider.shouldChangeColor}\n $shouldForceBackground={shouldForceBackground}\n $shouldForceBottomLine={shouldForceBottomLine}\n $shouldHideBottomLine={shouldHideBottomLine}\n $shouldHideIndicator={shouldHideIndicator}\n $shouldShowSeparatorBelow={shouldShowSeparatorBelow}\n >\n <Tooltip\n shouldUseFullWidth\n isDisabled={!shouldShowTooltipOnTitleOverflow || !shouldEnableTooltip}\n item={\n <StyledListItemTooltip\n style={{ cursor: 'default' }}\n key={`list-item-tooltip-${uuid}`}\n >\n {title}\n </StyledListItemTooltip>\n }\n >\n {headContent}\n </Tooltip>\n <AnimatePresence initial={false}>\n {isExpandable && (isItemOpen || shouldRenderClosed) && (\n <ListItemBody\n id={uuid}\n key={`listItemBody-${uuid}`}\n shouldHideBody={shouldRenderClosed && !isItemOpen}\n >\n <AreaContextProvider>{children}</AreaContextProvider>\n </ListItemBody>\n )}\n </AnimatePresence>\n </StyledListItem>\n );\n },\n);\n\nListItem.displayName = 'ListItem';\n\nexport default ListItem;\n"],"mappings":"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","ignoreList":[]}
@@ -45,6 +45,8 @@ const ListItemHead = ({
45
45
  onTitleWidthChange
46
46
  }) => {
47
47
  const [shouldShowHoverItem, setShouldShowHoverItem] = (0, _react2.useState)(false);
48
+ const [titleMaxWidth, setTitleMaxWidth] = (0, _react2.useState)(0);
49
+ const [titleWidth, setTitleWidth] = (0, _react2.useState)(0);
48
50
  const longPressTimeoutRef = (0, _react2.useRef)();
49
51
  const resizeSkipRef = (0, _react2.useRef)(true);
50
52
  const shouldShowSubtitleRow = subtitle || typeof subtitle === 'string' || typeof rightElements === 'object' && rightElements && 'bottom' in rightElements;
@@ -54,16 +56,19 @@ const ListItemHead = ({
54
56
  resizeSkipRef.current = false;
55
57
  }, 200);
56
58
  }, []);
59
+ (0, _react2.useEffect)(() => {
60
+ onTitleWidthChange(titleWidth, titleMaxWidth);
61
+ }, [onTitleWidthChange, titleMaxWidth, titleWidth]);
57
62
  const handleShowTooltipResize = (0, _react2.useCallback)(entries => {
58
63
  var _entries$, _entries$2;
59
- onTitleWidthChange(((_entries$ = entries[0]) === null || _entries$ === void 0 ? void 0 : _entries$.target.clientWidth) ?? 0);
64
+ setTitleWidth(((_entries$ = entries[0]) === null || _entries$ === void 0 ? void 0 : _entries$.target.clientWidth) ?? 0);
60
65
  if (resizeSkipRef.current) {
61
66
  return;
62
67
  }
63
68
  const el = (_entries$2 = entries[0]) === null || _entries$2 === void 0 ? void 0 : _entries$2.target;
64
69
  if (!el) return;
65
70
  setShouldEnableTooltip(el.scrollWidth > el.clientWidth);
66
- }, [onTitleWidthChange, setShouldEnableTooltip]);
71
+ }, [setShouldEnableTooltip]);
67
72
  const handleMouseEnter = (0, _react2.useCallback)(() => setShouldShowHoverItem(true), []);
68
73
  const handleMouseLeave = (0, _react2.useCallback)(() => setShouldShowHoverItem(false), []);
69
74
  const handleTouchStart = (0, _react2.useCallback)(event => {
@@ -76,6 +81,9 @@ const ListItemHead = ({
76
81
  const handleTouchEnd = (0, _react2.useCallback)(() => {
77
82
  clearTimeout(longPressTimeoutRef.current);
78
83
  }, []);
84
+ const handleTitleWidthChange = width => {
85
+ setTitleMaxWidth(width);
86
+ };
79
87
  const iconOrImageElement = (0, _react2.useMemo)(() => {
80
88
  if (icons) {
81
89
  return /*#__PURE__*/_react2.default.createElement(_ListItemIcon.default, {
@@ -139,6 +147,7 @@ const ListItemHead = ({
139
147
  isOpen: isOpen,
140
148
  shouldShowMultilineTitle: shouldShowMultilineTitle,
141
149
  rightElements: rightElements,
150
+ onTitleWidthChange: handleTitleWidthChange,
142
151
  onResize: handleShowTooltipResize
143
152
  })), shouldShowSubtitleRow && /*#__PURE__*/_react2.default.createElement(_ListItemHead.StyledListItemHeadSubtitle, null, /*#__PURE__*/_react2.default.createElement(_ListItemSubtitle.default, {
144
153
  subtitle: subtitle,