@chayns-components/core 5.0.0-beta.1017 → 5.0.0-beta.1021
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.js +8 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map +1 -1
- package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js +30 -0
- package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js.map +1 -1
- package/lib/cjs/components/mention-finder/MentionFinder.js +1 -1
- package/lib/cjs/components/mention-finder/MentionFinder.js.map +1 -1
- package/lib/cjs/components/mention-finder/mention-finder-item/MentionFinderItem.js +1 -1
- package/lib/cjs/components/mention-finder/mention-finder-item/MentionFinderItem.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.js +8 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map +1 -1
- package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js +36 -0
- package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js.map +1 -1
- package/lib/esm/components/mention-finder/MentionFinder.js +1 -1
- package/lib/esm/components/mention-finder/MentionFinder.js.map +1 -1
- package/lib/esm/components/mention-finder/mention-finder-item/MentionFinderItem.js +1 -1
- package/lib/esm/components/mention-finder/mention-finder-item/MentionFinderItem.js.map +1 -1
- package/lib/types/components/area-provider/AreaContextProvider.d.ts +1 -1
- package/lib/types/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.d.ts +9 -3
- package/lib/types/components/mention-finder/MentionFinder.d.ts +1 -1
- package/lib/types/components/popup/popup-content/PopupContent.d.ts +2 -2
- package/package.json +2 -2
|
@@ -44,12 +44,18 @@ const ListItemImage = ({
|
|
|
44
44
|
onClick: handleImageClick
|
|
45
45
|
}, /*#__PURE__*/_react.default.createElement(_ListItemImage.StyledListImageWrapperImage, {
|
|
46
46
|
src: images[0],
|
|
47
|
+
$shouldHideBackground: shouldHideBackground,
|
|
48
|
+
$background: imageBackground,
|
|
47
49
|
$isSmall: !!careOfLocationId
|
|
48
50
|
}), /*#__PURE__*/_react.default.createElement(_ListItemImage.StyledListImageWrapperImage, {
|
|
49
51
|
src: images[1],
|
|
50
52
|
$isSecondImage: true,
|
|
53
|
+
$shouldHideBackground: shouldHideBackground,
|
|
54
|
+
$background: imageBackground,
|
|
51
55
|
$isSmall: !!careOfLocationId
|
|
52
56
|
}), careOfLocationId && /*#__PURE__*/_react.default.createElement(_ListItemImage.StyledCareOfImage, {
|
|
57
|
+
$shouldHideBackground: shouldHideBackground,
|
|
58
|
+
$background: imageBackground,
|
|
53
59
|
src: `https://sub60.tobit.com/l/${careOfLocationId}?size=128`,
|
|
54
60
|
alt: "care-of"
|
|
55
61
|
}));
|
|
@@ -66,6 +72,8 @@ const ListItemImage = ({
|
|
|
66
72
|
$isSmall: !!careOfLocationId,
|
|
67
73
|
src: images[0]
|
|
68
74
|
}), careOfLocationId && /*#__PURE__*/_react.default.createElement(_ListItemImage.StyledCareOfImage, {
|
|
75
|
+
$shouldHideBackground: shouldHideBackground,
|
|
76
|
+
$background: imageBackground,
|
|
69
77
|
src: `https://sub60.tobit.com/l/${careOfLocationId}?size=128`,
|
|
70
78
|
alt: "care-of"
|
|
71
79
|
}));
|
package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemImage.js","names":["_chaynsApi","require","_react","_interopRequireWildcard","_ListItemImage","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ListItemImage","careOfLocationId","imageBackground","images","shouldHideBackground","shouldShowRoundImage","shouldOpenImageOnClick","hasLoadedImage","setHasLoadedImage","useState","handleImageLoaded","useCallback","handleImageClick","event","preventDefault","stopPropagation","items","map","image","url","mediaType","MediaType","IMAGE","openMedia","startIndex","createElement","StyledListImageWrapper","onClick","StyledListImageWrapperImage","src","$isSmall","$isSecondImage","StyledCareOfImage","alt","StyledListItemHeadImageWrapper","StyledListItemHeadImage","$isHidden","onLoad","$shouldShowRoundImage","
|
|
1
|
+
{"version":3,"file":"ListItemImage.js","names":["_chaynsApi","require","_react","_interopRequireWildcard","_ListItemImage","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ListItemImage","careOfLocationId","imageBackground","images","shouldHideBackground","shouldShowRoundImage","shouldOpenImageOnClick","hasLoadedImage","setHasLoadedImage","useState","handleImageLoaded","useCallback","handleImageClick","event","preventDefault","stopPropagation","items","map","image","url","mediaType","MediaType","IMAGE","openMedia","startIndex","createElement","StyledListImageWrapper","onClick","StyledListImageWrapperImage","src","$shouldHideBackground","$background","$isSmall","$isSecondImage","StyledCareOfImage","alt","StyledListItemHeadImageWrapper","StyledListItemHeadImage","$isHidden","onLoad","$shouldShowRoundImage","displayName","_default","exports"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-image/ListItemImage.tsx"],"sourcesContent":["import { MediaType, openMedia, OpenMediaItem } from 'chayns-api';\nimport React, { CSSProperties, MouseEventHandler, useCallback, useState } from 'react';\nimport {\n StyledCareOfImage,\n StyledListImageWrapper,\n StyledListImageWrapperImage,\n StyledListItemHeadImage,\n StyledListItemHeadImageWrapper,\n} from './ListItemImage.styles';\n\ntype ListItemImageProps = {\n careOfLocationId?: number;\n imageBackground?: CSSProperties['background'];\n images: string[];\n shouldHideBackground: boolean;\n shouldShowRoundImage: boolean;\n shouldOpenImageOnClick: boolean;\n};\n\nconst ListItemImage: React.FC<ListItemImageProps> = ({\n careOfLocationId,\n imageBackground,\n images,\n shouldHideBackground,\n shouldShowRoundImage,\n shouldOpenImageOnClick,\n}) => {\n const [hasLoadedImage, setHasLoadedImage] = useState(false);\n const handleImageLoaded = useCallback(() => {\n setHasLoadedImage(true);\n }, []);\n\n const handleImageClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n if (!shouldOpenImageOnClick) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n const items: OpenMediaItem[] = images.map((image) => ({\n url: image,\n mediaType: MediaType.IMAGE,\n }));\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n void openMedia({ items, startIndex: 0 });\n },\n [images, shouldOpenImageOnClick],\n );\n\n if (images && images[0] && images[1]) {\n return (\n <StyledListImageWrapper onClick={handleImageClick}>\n <StyledListImageWrapperImage\n src={images[0]}\n $shouldHideBackground={shouldHideBackground}\n $background={imageBackground}\n $isSmall={!!careOfLocationId}\n />\n <StyledListImageWrapperImage\n src={images[1]}\n $isSecondImage\n $shouldHideBackground={shouldHideBackground}\n $background={imageBackground}\n $isSmall={!!careOfLocationId}\n />\n {careOfLocationId && (\n <StyledCareOfImage\n $shouldHideBackground={shouldHideBackground}\n $background={imageBackground}\n src={`https://sub60.tobit.com/l/${careOfLocationId}?size=128`}\n alt=\"care-of\"\n />\n )}\n </StyledListImageWrapper>\n );\n }\n\n if (images && images[0]) {\n return (\n <StyledListItemHeadImageWrapper onClick={handleImageClick}>\n <StyledListItemHeadImage\n $isHidden={!hasLoadedImage}\n onLoad={handleImageLoaded}\n $shouldShowRoundImage={shouldShowRoundImage}\n $background={imageBackground}\n $shouldHideBackground={shouldHideBackground}\n $isSmall={!!careOfLocationId}\n src={images[0]}\n />\n {careOfLocationId && (\n <StyledCareOfImage\n $shouldHideBackground={shouldHideBackground}\n $background={imageBackground}\n src={`https://sub60.tobit.com/l/${careOfLocationId}?size=128`}\n alt=\"care-of\"\n />\n )}\n </StyledListItemHeadImageWrapper>\n );\n }\n\n return null;\n};\n\nListItemImage.displayName = 'ListItemImage';\n\nexport default ListItemImage;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js
CHANGED
|
@@ -68,6 +68,21 @@ const StyledListImageWrapperImage = exports.StyledListImageWrapperImage = _style
|
|
|
68
68
|
top: 0;
|
|
69
69
|
left: 0;
|
|
70
70
|
`}
|
|
71
|
+
|
|
72
|
+
transition:
|
|
73
|
+
opacity 0.4s ease,
|
|
74
|
+
background-color 0.3s ease,
|
|
75
|
+
border-radius 0.3s ease,
|
|
76
|
+
box-shadow 0.3s ease;
|
|
77
|
+
|
|
78
|
+
${({
|
|
79
|
+
$shouldHideBackground,
|
|
80
|
+
$background,
|
|
81
|
+
theme
|
|
82
|
+
}) => !$shouldHideBackground && (0, _styledComponents.css)`
|
|
83
|
+
background: ${$background || `rgba(${theme['text-rgb'] ?? '0,0,0'}, 0.1)`};
|
|
84
|
+
box-shadow: 0 0 0 1px rgba(${theme['009-rgb']}, 0.08) inset;
|
|
85
|
+
`}
|
|
71
86
|
`;
|
|
72
87
|
const StyledCareOfImage = exports.StyledCareOfImage = _styledComponents.default.img`
|
|
73
88
|
position: absolute;
|
|
@@ -75,5 +90,20 @@ const StyledCareOfImage = exports.StyledCareOfImage = _styledComponents.default.
|
|
|
75
90
|
right: 0;
|
|
76
91
|
aspect-ratio: 1;
|
|
77
92
|
height: 20px;
|
|
93
|
+
|
|
94
|
+
transition:
|
|
95
|
+
opacity 0.4s ease,
|
|
96
|
+
background-color 0.3s ease,
|
|
97
|
+
border-radius 0.3s ease,
|
|
98
|
+
box-shadow 0.3s ease;
|
|
99
|
+
|
|
100
|
+
${({
|
|
101
|
+
$shouldHideBackground,
|
|
102
|
+
$background,
|
|
103
|
+
theme
|
|
104
|
+
}) => !$shouldHideBackground && (0, _styledComponents.css)`
|
|
105
|
+
background: ${$background || `rgba(${theme['text-rgb'] ?? '0,0,0'}, 0.1)`};
|
|
106
|
+
box-shadow: 0 0 0 1px rgba(${theme['009-rgb']}, 0.08) inset;
|
|
107
|
+
`}
|
|
78
108
|
`;
|
|
79
109
|
//# sourceMappingURL=ListItemImage.styles.js.map
|
package/lib/cjs/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemImage.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StyledListItemHeadImageWrapper","exports","styled","div","StyledListItemHeadImage","img","$isSmall","$isHidden","$shouldShowRoundImage","undefined","$shouldHideBackground","$background","theme","css","StyledListImageWrapper","StyledListImageWrapperImage","$isSecondImage","StyledCareOfImage"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.ts"],"sourcesContent":["import { CSSProperties } from 'react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../../../../color-scheme-provider/ColorSchemeProvider';\n\nexport const StyledListItemHeadImageWrapper = styled.div`\n flex: 0 0 auto;\n height: 40px;\n overflow: hidden;\n position: relative;\n width: 40px;\n`;\n\ntype StyledListItemHeadImageProps = WithTheme<{\n $isHidden: boolean;\n $shouldShowRoundImage?: boolean;\n $background?: CSSProperties['background'];\n $shouldHideBackground?: boolean;\n $isSmall: boolean;\n}>;\n\nexport const StyledListItemHeadImage = styled.img<StyledListItemHeadImageProps>`\n height: ${({ $isSmall }) => ($isSmall ? '34px' : '40px')};\n object-fit: cover;\n opacity: ${({ $isHidden }) => ($isHidden ? 0 : 1)};\n aspect-ratio: 1;\n\n border-radius: ${({ $shouldShowRoundImage }) => ($shouldShowRoundImage ? '50%' : undefined)};\n\n transition:\n opacity 0.4s ease,\n background-color 0.3s ease,\n border-radius 0.3s ease,\n box-shadow 0.3s ease;\n\n ${({ $shouldHideBackground, $background, theme }: StyledListItemHeadImageProps) =>\n !$shouldHideBackground &&\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 StyledListImageWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n width: 40px;\n height: 40px;\n`;\n\nexport type StyledListImageWrapperImageProps = {\n $isSecondImage?: boolean;\n $isSmall: boolean;\n
|
|
1
|
+
{"version":3,"file":"ListItemImage.styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","StyledListItemHeadImageWrapper","exports","styled","div","StyledListItemHeadImage","img","$isSmall","$isHidden","$shouldShowRoundImage","undefined","$shouldHideBackground","$background","theme","css","StyledListImageWrapper","StyledListImageWrapperImage","$isSecondImage","StyledCareOfImage"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.ts"],"sourcesContent":["import { CSSProperties } from 'react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../../../../color-scheme-provider/ColorSchemeProvider';\n\nexport const StyledListItemHeadImageWrapper = styled.div`\n flex: 0 0 auto;\n height: 40px;\n overflow: hidden;\n position: relative;\n width: 40px;\n`;\n\ntype StyledListItemHeadImageProps = WithTheme<{\n $isHidden: boolean;\n $shouldShowRoundImage?: boolean;\n $background?: CSSProperties['background'];\n $shouldHideBackground?: boolean;\n $isSmall: boolean;\n}>;\n\nexport const StyledListItemHeadImage = styled.img<StyledListItemHeadImageProps>`\n height: ${({ $isSmall }) => ($isSmall ? '34px' : '40px')};\n object-fit: cover;\n opacity: ${({ $isHidden }) => ($isHidden ? 0 : 1)};\n aspect-ratio: 1;\n\n border-radius: ${({ $shouldShowRoundImage }) => ($shouldShowRoundImage ? '50%' : undefined)};\n\n transition:\n opacity 0.4s ease,\n background-color 0.3s ease,\n border-radius 0.3s ease,\n box-shadow 0.3s ease;\n\n ${({ $shouldHideBackground, $background, theme }: StyledListItemHeadImageProps) =>\n !$shouldHideBackground &&\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 StyledListImageWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n width: 40px;\n height: 40px;\n`;\n\nexport type StyledListImageWrapperImageProps = WithTheme<{\n $isSecondImage?: boolean;\n $isSmall: boolean;\n $shouldHideBackground?: boolean;\n $background?: CSSProperties['background'];\n}>;\n\nexport const StyledListImageWrapperImage = styled.img<StyledListImageWrapperImageProps>`\n border-radius: 100px;\n height: ${({ $isSmall }) => ($isSmall ? '65%' : '80%')};\n aspect-ratio: 1;\n position: absolute;\n\n ${({ $isSecondImage, $isSmall }) =>\n $isSecondImage\n ? css`\n bottom: ${$isSmall ? '6px' : 0};\n right: ${$isSmall ? '6px' : 0};\n `\n : css`\n top: 0;\n left: 0;\n `}\n\n transition:\n opacity 0.4s ease,\n background-color 0.3s ease,\n border-radius 0.3s ease,\n box-shadow 0.3s ease;\n\n ${({ $shouldHideBackground, $background, theme }: StyledListImageWrapperImageProps) =>\n !$shouldHideBackground &&\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 StyledCareOfImageProps = WithTheme<{\n $shouldHideBackground?: boolean;\n $background?: CSSProperties['background'];\n}>;\n\nexport const StyledCareOfImage = styled.img<StyledCareOfImageProps>`\n position: absolute;\n bottom: 0;\n right: 0;\n aspect-ratio: 1;\n height: 20px;\n\n transition:\n opacity 0.4s ease,\n background-color 0.3s ease,\n border-radius 0.3s ease,\n box-shadow 0.3s ease;\n\n ${({ $shouldHideBackground, $background, theme }: StyledCareOfImageProps) =>\n !$shouldHideBackground &&\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,7 +30,7 @@ const MentionFinder = ({
|
|
|
30
30
|
id,
|
|
31
31
|
info,
|
|
32
32
|
name
|
|
33
|
-
}) => id.toLowerCase().includes(searchString) || info.replace('chayns', '').toLowerCase().includes(searchString) || name.toLowerCase().includes(searchString)) : members, [members, searchString]);
|
|
33
|
+
}) => id.toLowerCase().includes(searchString) || (info === null || info === void 0 ? void 0 : info.replace('chayns', '').toLowerCase().includes(searchString)) || name.toLowerCase().includes(searchString)) : members, [members, searchString]);
|
|
34
34
|
const handleKeyDown = (0, _react2.useCallback)(event => {
|
|
35
35
|
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
|
36
36
|
var _ref$current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentionFinder.js","names":["_react","require","_react2","_interopRequireWildcard","_MentionFinderItem","_interopRequireDefault","_MentionFinder","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MentionFinder","inputValue","members","onSelect","popupAlignment","activeMember","setActiveMember","useState","focusedIndex","setFocusedIndex","ref","useRef","fullMatch","searchString","useMemo","_regExpMatchArray$","regExpMatchArray","match","toLowerCase","filteredMembers","filter","id","info","name","includes","replace","handleKeyDown","useCallback","event","key","_ref$current","preventDefault","children","current","length","newIndex","prevElement","tabIndex","member","newElement","focus","stopPropagation","handleMemberClick","handleMemberHover","useEffect","isActiveMemberShown","some","items","map","createElement","isActive","onClick","onHover","shouldShowPopup","window","addEventListener","removeEventListener","StyledMentionFinder","className","AnimatePresence","initial","StyledMotionMentionFinderPopup","animate","height","opacity","exit","$popupAlignment","transition","duration","displayName","_default","exports"],"sources":["../../../../src/components/mention-finder/MentionFinder.tsx"],"sourcesContent":["import { AnimatePresence } from 'motion/react';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { MentionFinderPopupAlignment } from '../../constants/mentionFinder';\nimport MentionFinderItem from './mention-finder-item/MentionFinderItem';\nimport { StyledMentionFinder, StyledMotionMentionFinderPopup } from './MentionFinder.styles';\n\nexport type MentionMember = {\n id: string;\n info: string;\n imageUrl: string;\n name: string;\n shouldShowRoundImage?: boolean;\n};\n\nexport type MentionFinderProps = {\n /**\n * The text from the input field\n */\n inputValue: string;\n /**\n * Members that can be selected\n */\n members: MentionMember[];\n /**\n * Function to be executed when a member is selected\n */\n onSelect: ({ fullMatch, member }: { fullMatch: string; member: MentionMember }) => void;\n /**\n * Alignment of the popup\n */\n popupAlignment: MentionFinderPopupAlignment;\n};\n\nconst MentionFinder: FC<MentionFinderProps> = ({\n inputValue,\n members,\n onSelect,\n popupAlignment,\n}) => {\n const [activeMember, setActiveMember] = useState(members[0]);\n const [focusedIndex, setFocusedIndex] = useState(0);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const [fullMatch, searchString] = useMemo(() => {\n // eslint-disable-next-line no-irregular-whitespace\n const regExpMatchArray = inputValue.match(/@([^\\s]*)/);\n\n return [regExpMatchArray?.[0], regExpMatchArray?.[1]?.toLowerCase() ?? ''];\n }, [inputValue]);\n\n const filteredMembers = useMemo(\n () =>\n searchString !== ''\n ? members.filter(\n ({ id, info, name }) =>\n id.toLowerCase().includes(searchString) ||\n info.replace('chayns', '').toLowerCase().includes(searchString) ||\n name.toLowerCase().includes(searchString),\n )\n : members,\n [members, searchString],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n event.preventDefault();\n\n const children = ref.current?.children;\n\n if (children && children.length > 0) {\n const newIndex =\n focusedIndex !== null\n ? (focusedIndex +\n (event.key === 'ArrowUp' ? -1 : 1) +\n children.length) %\n children.length\n : 0;\n\n if (focusedIndex !== null) {\n const prevElement = children[focusedIndex] as HTMLDivElement;\n prevElement.tabIndex = -1;\n }\n\n setFocusedIndex(newIndex);\n\n const member = filteredMembers[newIndex];\n\n setActiveMember(member);\n\n const newElement = children[newIndex] as HTMLDivElement;\n newElement.tabIndex = 0;\n newElement.focus();\n }\n } else if (event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n\n if (fullMatch && activeMember) {\n onSelect({ fullMatch, member: activeMember });\n }\n }\n },\n [activeMember, filteredMembers, focusedIndex, fullMatch, onSelect],\n );\n\n const handleMemberClick = useCallback(\n (member: MentionMember) => {\n if (fullMatch) {\n onSelect({ fullMatch, member });\n }\n },\n [fullMatch, onSelect],\n );\n\n const handleMemberHover = useCallback((member: MentionMember) => {\n setActiveMember(member);\n }, []);\n\n useEffect(() => {\n if (filteredMembers.length > 0) {\n const isActiveMemberShown = filteredMembers.some(({ id }) => id === activeMember?.id);\n\n if (!isActiveMemberShown) {\n setActiveMember(filteredMembers[0]);\n }\n }\n }, [activeMember?.id, filteredMembers]);\n\n const items = useMemo(\n () =>\n filteredMembers.map((member) => (\n <MentionFinderItem\n isActive={member.id === activeMember?.id}\n key={member.id}\n member={member}\n onClick={handleMemberClick}\n onHover={handleMemberHover}\n />\n )),\n [activeMember, filteredMembers, handleMemberClick, handleMemberHover],\n );\n\n const shouldShowPopup = useMemo(() => fullMatch && items.length > 0, [fullMatch, items.length]);\n\n useEffect(() => {\n if (shouldShowPopup) {\n window.addEventListener('keydown', handleKeyDown, true);\n }\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown, true);\n };\n }, [handleKeyDown, shouldShowPopup]);\n\n return (\n <StyledMentionFinder className=\"beta-chayns-mention-finder\">\n <AnimatePresence initial={false}>\n {shouldShowPopup && (\n <StyledMotionMentionFinderPopup\n ref={ref}\n animate={{ height: 'auto', opacity: 1 }}\n className=\"prevent-lose-focus\"\n exit={{ height: 0, opacity: 0 }}\n initial={{ height: 0, opacity: 0 }}\n $popupAlignment={popupAlignment}\n transition={{ duration: 0.15 }}\n tabIndex={0}\n >\n {items}\n </StyledMotionMentionFinderPopup>\n )}\n </AnimatePresence>\n </StyledMentionFinder>\n );\n};\n\nMentionFinder.displayName = 'MentionFinder';\n\nexport default MentionFinder;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MentionFinder.js","names":["_react","require","_react2","_interopRequireWildcard","_MentionFinderItem","_interopRequireDefault","_MentionFinder","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MentionFinder","inputValue","members","onSelect","popupAlignment","activeMember","setActiveMember","useState","focusedIndex","setFocusedIndex","ref","useRef","fullMatch","searchString","useMemo","_regExpMatchArray$","regExpMatchArray","match","toLowerCase","filteredMembers","filter","id","info","name","includes","replace","handleKeyDown","useCallback","event","key","_ref$current","preventDefault","children","current","length","newIndex","prevElement","tabIndex","member","newElement","focus","stopPropagation","handleMemberClick","handleMemberHover","useEffect","isActiveMemberShown","some","items","map","createElement","isActive","onClick","onHover","shouldShowPopup","window","addEventListener","removeEventListener","StyledMentionFinder","className","AnimatePresence","initial","StyledMotionMentionFinderPopup","animate","height","opacity","exit","$popupAlignment","transition","duration","displayName","_default","exports"],"sources":["../../../../src/components/mention-finder/MentionFinder.tsx"],"sourcesContent":["import { AnimatePresence } from 'motion/react';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { MentionFinderPopupAlignment } from '../../constants/mentionFinder';\nimport MentionFinderItem from './mention-finder-item/MentionFinderItem';\nimport { StyledMentionFinder, StyledMotionMentionFinderPopup } from './MentionFinder.styles';\n\nexport type MentionMember = {\n id: string;\n info?: string;\n imageUrl: string;\n name: string;\n shouldShowRoundImage?: boolean;\n};\n\nexport type MentionFinderProps = {\n /**\n * The text from the input field\n */\n inputValue: string;\n /**\n * Members that can be selected\n */\n members: MentionMember[];\n /**\n * Function to be executed when a member is selected\n */\n onSelect: ({ fullMatch, member }: { fullMatch: string; member: MentionMember }) => void;\n /**\n * Alignment of the popup\n */\n popupAlignment: MentionFinderPopupAlignment;\n};\n\nconst MentionFinder: FC<MentionFinderProps> = ({\n inputValue,\n members,\n onSelect,\n popupAlignment,\n}) => {\n const [activeMember, setActiveMember] = useState(members[0]);\n const [focusedIndex, setFocusedIndex] = useState(0);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const [fullMatch, searchString] = useMemo(() => {\n // eslint-disable-next-line no-irregular-whitespace\n const regExpMatchArray = inputValue.match(/@([^\\s]*)/);\n\n return [regExpMatchArray?.[0], regExpMatchArray?.[1]?.toLowerCase() ?? ''];\n }, [inputValue]);\n\n const filteredMembers = useMemo(\n () =>\n searchString !== ''\n ? members.filter(\n ({ id, info, name }) =>\n id.toLowerCase().includes(searchString) ||\n info?.replace('chayns', '').toLowerCase().includes(searchString) ||\n name.toLowerCase().includes(searchString),\n )\n : members,\n [members, searchString],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n event.preventDefault();\n\n const children = ref.current?.children;\n\n if (children && children.length > 0) {\n const newIndex =\n focusedIndex !== null\n ? (focusedIndex +\n (event.key === 'ArrowUp' ? -1 : 1) +\n children.length) %\n children.length\n : 0;\n\n if (focusedIndex !== null) {\n const prevElement = children[focusedIndex] as HTMLDivElement;\n prevElement.tabIndex = -1;\n }\n\n setFocusedIndex(newIndex);\n\n const member = filteredMembers[newIndex];\n\n setActiveMember(member);\n\n const newElement = children[newIndex] as HTMLDivElement;\n newElement.tabIndex = 0;\n newElement.focus();\n }\n } else if (event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n\n if (fullMatch && activeMember) {\n onSelect({ fullMatch, member: activeMember });\n }\n }\n },\n [activeMember, filteredMembers, focusedIndex, fullMatch, onSelect],\n );\n\n const handleMemberClick = useCallback(\n (member: MentionMember) => {\n if (fullMatch) {\n onSelect({ fullMatch, member });\n }\n },\n [fullMatch, onSelect],\n );\n\n const handleMemberHover = useCallback((member: MentionMember) => {\n setActiveMember(member);\n }, []);\n\n useEffect(() => {\n if (filteredMembers.length > 0) {\n const isActiveMemberShown = filteredMembers.some(({ id }) => id === activeMember?.id);\n\n if (!isActiveMemberShown) {\n setActiveMember(filteredMembers[0]);\n }\n }\n }, [activeMember?.id, filteredMembers]);\n\n const items = useMemo(\n () =>\n filteredMembers.map((member) => (\n <MentionFinderItem\n isActive={member.id === activeMember?.id}\n key={member.id}\n member={member}\n onClick={handleMemberClick}\n onHover={handleMemberHover}\n />\n )),\n [activeMember, filteredMembers, handleMemberClick, handleMemberHover],\n );\n\n const shouldShowPopup = useMemo(() => fullMatch && items.length > 0, [fullMatch, items.length]);\n\n useEffect(() => {\n if (shouldShowPopup) {\n window.addEventListener('keydown', handleKeyDown, true);\n }\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown, true);\n };\n }, [handleKeyDown, shouldShowPopup]);\n\n return (\n <StyledMentionFinder className=\"beta-chayns-mention-finder\">\n <AnimatePresence initial={false}>\n {shouldShowPopup && (\n <StyledMotionMentionFinderPopup\n ref={ref}\n animate={{ height: 'auto', opacity: 1 }}\n className=\"prevent-lose-focus\"\n exit={{ height: 0, opacity: 0 }}\n initial={{ height: 0, opacity: 0 }}\n $popupAlignment={popupAlignment}\n transition={{ duration: 0.15 }}\n tabIndex={0}\n >\n {items}\n </StyledMotionMentionFinderPopup>\n )}\n </AnimatePresence>\n </StyledMentionFinder>\n );\n};\n\nMentionFinder.displayName = 'MentionFinder';\n\nexport default MentionFinder;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,7 +24,7 @@ const MentionFinderItem = ({
|
|
|
24
24
|
}, /*#__PURE__*/_react.default.createElement(_MentionFinderItem.StyledMentionFinderItemImage, {
|
|
25
25
|
src: member.imageUrl,
|
|
26
26
|
$shouldShowRoundImage: member.shouldShowRoundImage
|
|
27
|
-
}), /*#__PURE__*/_react.default.createElement(_MentionFinderItem.StyledMentionFinderItemContent, null, /*#__PURE__*/_react.default.createElement(_MentionFinderItem.StyledMentionFinderItemContentName, null, member.name), /*#__PURE__*/_react.default.createElement(_MentionFinderItem.StyledMentionFinderItemContentInfo, null, member.info)));
|
|
27
|
+
}), /*#__PURE__*/_react.default.createElement(_MentionFinderItem.StyledMentionFinderItemContent, null, /*#__PURE__*/_react.default.createElement(_MentionFinderItem.StyledMentionFinderItemContentName, null, member.name), member.info && /*#__PURE__*/_react.default.createElement(_MentionFinderItem.StyledMentionFinderItemContentInfo, null, member.info)));
|
|
28
28
|
};
|
|
29
29
|
MentionFinderItem.displayName = 'MentionFinderItem';
|
|
30
30
|
var _default = exports.default = MentionFinderItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentionFinderItem.js","names":["_react","_interopRequireWildcard","require","_MentionFinderItem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MentionFinderItem","isActive","member","onClick","onHover","handleItemClick","useCallback","handleItemMouseEnter","createElement","StyledMentionFinderItem","className","onMouseEnter","$isActive","StyledMentionFinderItemImage","src","imageUrl","$shouldShowRoundImage","shouldShowRoundImage","StyledMentionFinderItemContent","StyledMentionFinderItemContentName","name","
|
|
1
|
+
{"version":3,"file":"MentionFinderItem.js","names":["_react","_interopRequireWildcard","require","_MentionFinderItem","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","MentionFinderItem","isActive","member","onClick","onHover","handleItemClick","useCallback","handleItemMouseEnter","createElement","StyledMentionFinderItem","className","onMouseEnter","$isActive","StyledMentionFinderItemImage","src","imageUrl","$shouldShowRoundImage","shouldShowRoundImage","StyledMentionFinderItemContent","StyledMentionFinderItemContentName","name","info","StyledMentionFinderItemContentInfo","displayName","_default","exports"],"sources":["../../../../../src/components/mention-finder/mention-finder-item/MentionFinderItem.tsx"],"sourcesContent":["import React, { FC, useCallback } from 'react';\nimport type { MentionMember } from '../MentionFinder';\nimport {\n StyledMentionFinderItem,\n StyledMentionFinderItemContent,\n StyledMentionFinderItemContentInfo,\n StyledMentionFinderItemContentName,\n StyledMentionFinderItemImage,\n} from './MentionFinderItem.styles';\n\nexport type MentionFinderItemProps = {\n isActive: boolean;\n member: MentionMember;\n onClick: (member: MentionMember) => void;\n onHover: (member: MentionMember) => void;\n};\n\nconst MentionFinderItem: FC<MentionFinderItemProps> = ({ isActive, member, onClick, onHover }) => {\n const handleItemClick = useCallback(() => onClick(member), [member, onClick]);\n\n const handleItemMouseEnter = useCallback(() => onHover(member), [member, onHover]);\n\n return (\n <StyledMentionFinderItem\n className=\"prevent-lose-focus\"\n onClick={handleItemClick}\n onMouseEnter={handleItemMouseEnter}\n $isActive={isActive}\n >\n <StyledMentionFinderItemImage\n src={member.imageUrl}\n $shouldShowRoundImage={member.shouldShowRoundImage}\n />\n <StyledMentionFinderItemContent>\n <StyledMentionFinderItemContentName>\n {member.name}\n </StyledMentionFinderItemContentName>\n {member.info && (\n <StyledMentionFinderItemContentInfo>\n {member.info}\n </StyledMentionFinderItemContentInfo>\n )}\n </StyledMentionFinderItemContent>\n </StyledMentionFinderItem>\n );\n};\n\nMentionFinderItem.displayName = 'MentionFinderItem';\n\nexport default MentionFinderItem;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,kBAAA,GAAAD,OAAA;AAMoC,SAAAE,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,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,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AASpC,MAAMW,iBAA6C,GAAGA,CAAC;EAAEC,QAAQ;EAAEC,MAAM;EAAEC,OAAO;EAAEC;AAAQ,CAAC,KAAK;EAC9F,MAAMC,eAAe,GAAG,IAAAC,kBAAW,EAAC,MAAMH,OAAO,CAACD,MAAM,CAAC,EAAE,CAACA,MAAM,EAAEC,OAAO,CAAC,CAAC;EAE7E,MAAMI,oBAAoB,GAAG,IAAAD,kBAAW,EAAC,MAAMF,OAAO,CAACF,MAAM,CAAC,EAAE,CAACA,MAAM,EAAEE,OAAO,CAAC,CAAC;EAElF,oBACI5B,MAAA,CAAAU,OAAA,CAAAsB,aAAA,CAAC7B,kBAAA,CAAA8B,uBAAuB;IACpBC,SAAS,EAAC,oBAAoB;IAC9BP,OAAO,EAAEE,eAAgB;IACzBM,YAAY,EAAEJ,oBAAqB;IACnCK,SAAS,EAAEX;EAAS,gBAEpBzB,MAAA,CAAAU,OAAA,CAAAsB,aAAA,CAAC7B,kBAAA,CAAAkC,4BAA4B;IACzBC,GAAG,EAAEZ,MAAM,CAACa,QAAS;IACrBC,qBAAqB,EAAEd,MAAM,CAACe;EAAqB,CACtD,CAAC,eACFzC,MAAA,CAAAU,OAAA,CAAAsB,aAAA,CAAC7B,kBAAA,CAAAuC,8BAA8B,qBAC3B1C,MAAA,CAAAU,OAAA,CAAAsB,aAAA,CAAC7B,kBAAA,CAAAwC,kCAAkC,QAC9BjB,MAAM,CAACkB,IACwB,CAAC,EACpClB,MAAM,CAACmB,IAAI,iBACR7C,MAAA,CAAAU,OAAA,CAAAsB,aAAA,CAAC7B,kBAAA,CAAA2C,kCAAkC,QAC9BpB,MAAM,CAACmB,IACwB,CAEZ,CACX,CAAC;AAElC,CAAC;AAEDrB,iBAAiB,CAACuB,WAAW,GAAG,mBAAmB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAvC,OAAA,GAErCc,iBAAiB","ignoreList":[]}
|
|
@@ -37,12 +37,18 @@ const ListItemImage = _ref => {
|
|
|
37
37
|
onClick: handleImageClick
|
|
38
38
|
}, /*#__PURE__*/React.createElement(StyledListImageWrapperImage, {
|
|
39
39
|
src: images[0],
|
|
40
|
+
$shouldHideBackground: shouldHideBackground,
|
|
41
|
+
$background: imageBackground,
|
|
40
42
|
$isSmall: !!careOfLocationId
|
|
41
43
|
}), /*#__PURE__*/React.createElement(StyledListImageWrapperImage, {
|
|
42
44
|
src: images[1],
|
|
43
45
|
$isSecondImage: true,
|
|
46
|
+
$shouldHideBackground: shouldHideBackground,
|
|
47
|
+
$background: imageBackground,
|
|
44
48
|
$isSmall: !!careOfLocationId
|
|
45
49
|
}), careOfLocationId && /*#__PURE__*/React.createElement(StyledCareOfImage, {
|
|
50
|
+
$shouldHideBackground: shouldHideBackground,
|
|
51
|
+
$background: imageBackground,
|
|
46
52
|
src: `https://sub60.tobit.com/l/${careOfLocationId}?size=128`,
|
|
47
53
|
alt: "care-of"
|
|
48
54
|
}));
|
|
@@ -59,6 +65,8 @@ const ListItemImage = _ref => {
|
|
|
59
65
|
$isSmall: !!careOfLocationId,
|
|
60
66
|
src: images[0]
|
|
61
67
|
}), careOfLocationId && /*#__PURE__*/React.createElement(StyledCareOfImage, {
|
|
68
|
+
$shouldHideBackground: shouldHideBackground,
|
|
69
|
+
$background: imageBackground,
|
|
62
70
|
src: `https://sub60.tobit.com/l/${careOfLocationId}?size=128`,
|
|
63
71
|
alt: "care-of"
|
|
64
72
|
}));
|
package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemImage.js","names":["MediaType","openMedia","React","useCallback","useState","StyledCareOfImage","StyledListImageWrapper","StyledListImageWrapperImage","StyledListItemHeadImage","StyledListItemHeadImageWrapper","ListItemImage","_ref","careOfLocationId","imageBackground","images","shouldHideBackground","shouldShowRoundImage","shouldOpenImageOnClick","hasLoadedImage","setHasLoadedImage","handleImageLoaded","handleImageClick","event","preventDefault","stopPropagation","items","map","image","url","mediaType","IMAGE","startIndex","createElement","onClick","src","$
|
|
1
|
+
{"version":3,"file":"ListItemImage.js","names":["MediaType","openMedia","React","useCallback","useState","StyledCareOfImage","StyledListImageWrapper","StyledListImageWrapperImage","StyledListItemHeadImage","StyledListItemHeadImageWrapper","ListItemImage","_ref","careOfLocationId","imageBackground","images","shouldHideBackground","shouldShowRoundImage","shouldOpenImageOnClick","hasLoadedImage","setHasLoadedImage","handleImageLoaded","handleImageClick","event","preventDefault","stopPropagation","items","map","image","url","mediaType","IMAGE","startIndex","createElement","onClick","src","$shouldHideBackground","$background","$isSmall","$isSecondImage","alt","$isHidden","onLoad","$shouldShowRoundImage","displayName"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-image/ListItemImage.tsx"],"sourcesContent":["import { MediaType, openMedia, OpenMediaItem } from 'chayns-api';\nimport React, { CSSProperties, MouseEventHandler, useCallback, useState } from 'react';\nimport {\n StyledCareOfImage,\n StyledListImageWrapper,\n StyledListImageWrapperImage,\n StyledListItemHeadImage,\n StyledListItemHeadImageWrapper,\n} from './ListItemImage.styles';\n\ntype ListItemImageProps = {\n careOfLocationId?: number;\n imageBackground?: CSSProperties['background'];\n images: string[];\n shouldHideBackground: boolean;\n shouldShowRoundImage: boolean;\n shouldOpenImageOnClick: boolean;\n};\n\nconst ListItemImage: React.FC<ListItemImageProps> = ({\n careOfLocationId,\n imageBackground,\n images,\n shouldHideBackground,\n shouldShowRoundImage,\n shouldOpenImageOnClick,\n}) => {\n const [hasLoadedImage, setHasLoadedImage] = useState(false);\n const handleImageLoaded = useCallback(() => {\n setHasLoadedImage(true);\n }, []);\n\n const handleImageClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n if (!shouldOpenImageOnClick) {\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n const items: OpenMediaItem[] = images.map((image) => ({\n url: image,\n mediaType: MediaType.IMAGE,\n }));\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n void openMedia({ items, startIndex: 0 });\n },\n [images, shouldOpenImageOnClick],\n );\n\n if (images && images[0] && images[1]) {\n return (\n <StyledListImageWrapper onClick={handleImageClick}>\n <StyledListImageWrapperImage\n src={images[0]}\n $shouldHideBackground={shouldHideBackground}\n $background={imageBackground}\n $isSmall={!!careOfLocationId}\n />\n <StyledListImageWrapperImage\n src={images[1]}\n $isSecondImage\n $shouldHideBackground={shouldHideBackground}\n $background={imageBackground}\n $isSmall={!!careOfLocationId}\n />\n {careOfLocationId && (\n <StyledCareOfImage\n $shouldHideBackground={shouldHideBackground}\n $background={imageBackground}\n src={`https://sub60.tobit.com/l/${careOfLocationId}?size=128`}\n alt=\"care-of\"\n />\n )}\n </StyledListImageWrapper>\n );\n }\n\n if (images && images[0]) {\n return (\n <StyledListItemHeadImageWrapper onClick={handleImageClick}>\n <StyledListItemHeadImage\n $isHidden={!hasLoadedImage}\n onLoad={handleImageLoaded}\n $shouldShowRoundImage={shouldShowRoundImage}\n $background={imageBackground}\n $shouldHideBackground={shouldHideBackground}\n $isSmall={!!careOfLocationId}\n src={images[0]}\n />\n {careOfLocationId && (\n <StyledCareOfImage\n $shouldHideBackground={shouldHideBackground}\n $background={imageBackground}\n src={`https://sub60.tobit.com/l/${careOfLocationId}?size=128`}\n alt=\"care-of\"\n />\n )}\n </StyledListItemHeadImageWrapper>\n );\n }\n\n return null;\n};\n\nListItemImage.displayName = 'ListItemImage';\n\nexport default ListItemImage;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js
CHANGED
|
@@ -78,6 +78,24 @@ export const StyledListImageWrapperImage = styled.img`
|
|
|
78
78
|
left: 0;
|
|
79
79
|
`;
|
|
80
80
|
}}
|
|
81
|
+
|
|
82
|
+
transition:
|
|
83
|
+
opacity 0.4s ease,
|
|
84
|
+
background-color 0.3s ease,
|
|
85
|
+
border-radius 0.3s ease,
|
|
86
|
+
box-shadow 0.3s ease;
|
|
87
|
+
|
|
88
|
+
${_ref7 => {
|
|
89
|
+
let {
|
|
90
|
+
$shouldHideBackground,
|
|
91
|
+
$background,
|
|
92
|
+
theme
|
|
93
|
+
} = _ref7;
|
|
94
|
+
return !$shouldHideBackground && css`
|
|
95
|
+
background: ${$background || `rgba(${theme['text-rgb'] ?? '0,0,0'}, 0.1)`};
|
|
96
|
+
box-shadow: 0 0 0 1px rgba(${theme['009-rgb']}, 0.08) inset;
|
|
97
|
+
`;
|
|
98
|
+
}}
|
|
81
99
|
`;
|
|
82
100
|
export const StyledCareOfImage = styled.img`
|
|
83
101
|
position: absolute;
|
|
@@ -85,5 +103,23 @@ export const StyledCareOfImage = styled.img`
|
|
|
85
103
|
right: 0;
|
|
86
104
|
aspect-ratio: 1;
|
|
87
105
|
height: 20px;
|
|
106
|
+
|
|
107
|
+
transition:
|
|
108
|
+
opacity 0.4s ease,
|
|
109
|
+
background-color 0.3s ease,
|
|
110
|
+
border-radius 0.3s ease,
|
|
111
|
+
box-shadow 0.3s ease;
|
|
112
|
+
|
|
113
|
+
${_ref8 => {
|
|
114
|
+
let {
|
|
115
|
+
$shouldHideBackground,
|
|
116
|
+
$background,
|
|
117
|
+
theme
|
|
118
|
+
} = _ref8;
|
|
119
|
+
return !$shouldHideBackground && css`
|
|
120
|
+
background: ${$background || `rgba(${theme['text-rgb'] ?? '0,0,0'}, 0.1)`};
|
|
121
|
+
box-shadow: 0 0 0 1px rgba(${theme['009-rgb']}, 0.08) inset;
|
|
122
|
+
`;
|
|
123
|
+
}}
|
|
88
124
|
`;
|
|
89
125
|
//# sourceMappingURL=ListItemImage.styles.js.map
|
package/lib/esm/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListItemImage.styles.js","names":["styled","css","StyledListItemHeadImageWrapper","div","StyledListItemHeadImage","img","_ref","$isSmall","_ref2","$isHidden","_ref3","$shouldShowRoundImage","undefined","_ref4","$shouldHideBackground","$background","theme","StyledListImageWrapper","StyledListImageWrapperImage","_ref5","_ref6","$isSecondImage","StyledCareOfImage"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.ts"],"sourcesContent":["import { CSSProperties } from 'react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../../../../color-scheme-provider/ColorSchemeProvider';\n\nexport const StyledListItemHeadImageWrapper = styled.div`\n flex: 0 0 auto;\n height: 40px;\n overflow: hidden;\n position: relative;\n width: 40px;\n`;\n\ntype StyledListItemHeadImageProps = WithTheme<{\n $isHidden: boolean;\n $shouldShowRoundImage?: boolean;\n $background?: CSSProperties['background'];\n $shouldHideBackground?: boolean;\n $isSmall: boolean;\n}>;\n\nexport const StyledListItemHeadImage = styled.img<StyledListItemHeadImageProps>`\n height: ${({ $isSmall }) => ($isSmall ? '34px' : '40px')};\n object-fit: cover;\n opacity: ${({ $isHidden }) => ($isHidden ? 0 : 1)};\n aspect-ratio: 1;\n\n border-radius: ${({ $shouldShowRoundImage }) => ($shouldShowRoundImage ? '50%' : undefined)};\n\n transition:\n opacity 0.4s ease,\n background-color 0.3s ease,\n border-radius 0.3s ease,\n box-shadow 0.3s ease;\n\n ${({ $shouldHideBackground, $background, theme }: StyledListItemHeadImageProps) =>\n !$shouldHideBackground &&\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 StyledListImageWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n width: 40px;\n height: 40px;\n`;\n\nexport type StyledListImageWrapperImageProps = {\n $isSecondImage?: boolean;\n $isSmall: boolean;\n
|
|
1
|
+
{"version":3,"file":"ListItemImage.styles.js","names":["styled","css","StyledListItemHeadImageWrapper","div","StyledListItemHeadImage","img","_ref","$isSmall","_ref2","$isHidden","_ref3","$shouldShowRoundImage","undefined","_ref4","$shouldHideBackground","$background","theme","StyledListImageWrapper","StyledListImageWrapperImage","_ref5","_ref6","$isSecondImage","_ref7","StyledCareOfImage","_ref8"],"sources":["../../../../../../../src/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.ts"],"sourcesContent":["import { CSSProperties } from 'react';\nimport styled, { css } from 'styled-components';\nimport type { WithTheme } from '../../../../color-scheme-provider/ColorSchemeProvider';\n\nexport const StyledListItemHeadImageWrapper = styled.div`\n flex: 0 0 auto;\n height: 40px;\n overflow: hidden;\n position: relative;\n width: 40px;\n`;\n\ntype StyledListItemHeadImageProps = WithTheme<{\n $isHidden: boolean;\n $shouldShowRoundImage?: boolean;\n $background?: CSSProperties['background'];\n $shouldHideBackground?: boolean;\n $isSmall: boolean;\n}>;\n\nexport const StyledListItemHeadImage = styled.img<StyledListItemHeadImageProps>`\n height: ${({ $isSmall }) => ($isSmall ? '34px' : '40px')};\n object-fit: cover;\n opacity: ${({ $isHidden }) => ($isHidden ? 0 : 1)};\n aspect-ratio: 1;\n\n border-radius: ${({ $shouldShowRoundImage }) => ($shouldShowRoundImage ? '50%' : undefined)};\n\n transition:\n opacity 0.4s ease,\n background-color 0.3s ease,\n border-radius 0.3s ease,\n box-shadow 0.3s ease;\n\n ${({ $shouldHideBackground, $background, theme }: StyledListItemHeadImageProps) =>\n !$shouldHideBackground &&\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 StyledListImageWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n width: 40px;\n height: 40px;\n`;\n\nexport type StyledListImageWrapperImageProps = WithTheme<{\n $isSecondImage?: boolean;\n $isSmall: boolean;\n $shouldHideBackground?: boolean;\n $background?: CSSProperties['background'];\n}>;\n\nexport const StyledListImageWrapperImage = styled.img<StyledListImageWrapperImageProps>`\n border-radius: 100px;\n height: ${({ $isSmall }) => ($isSmall ? '65%' : '80%')};\n aspect-ratio: 1;\n position: absolute;\n\n ${({ $isSecondImage, $isSmall }) =>\n $isSecondImage\n ? css`\n bottom: ${$isSmall ? '6px' : 0};\n right: ${$isSmall ? '6px' : 0};\n `\n : css`\n top: 0;\n left: 0;\n `}\n\n transition:\n opacity 0.4s ease,\n background-color 0.3s ease,\n border-radius 0.3s ease,\n box-shadow 0.3s ease;\n\n ${({ $shouldHideBackground, $background, theme }: StyledListImageWrapperImageProps) =>\n !$shouldHideBackground &&\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 StyledCareOfImageProps = WithTheme<{\n $shouldHideBackground?: boolean;\n $background?: CSSProperties['background'];\n}>;\n\nexport const StyledCareOfImage = styled.img<StyledCareOfImageProps>`\n position: absolute;\n bottom: 0;\n right: 0;\n aspect-ratio: 1;\n height: 20px;\n\n transition:\n opacity 0.4s ease,\n background-color 0.3s ease,\n border-radius 0.3s ease,\n box-shadow 0.3s ease;\n\n ${({ $shouldHideBackground, $background, theme }: StyledCareOfImageProps) =>\n !$shouldHideBackground &&\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"],"mappings":"AACA,OAAOA,MAAM,IAAIC,GAAG,QAAQ,mBAAmB;AAG/C,OAAO,MAAMC,8BAA8B,GAAGF,MAAM,CAACG,GAAG;AACxD;AACA;AACA;AACA;AACA;AACA,CAAC;AAUD,OAAO,MAAMC,uBAAuB,GAAGJ,MAAM,CAACK,GAAiC;AAC/E,cAAcC,IAAA;EAAA,IAAC;IAAEC;EAAS,CAAC,GAAAD,IAAA;EAAA,OAAMC,QAAQ,GAAG,MAAM,GAAG,MAAM;AAAA,CAAC;AAC5D;AACA,eAAeC,KAAA;EAAA,IAAC;IAAEC;EAAU,CAAC,GAAAD,KAAA;EAAA,OAAMC,SAAS,GAAG,CAAC,GAAG,CAAC;AAAA,CAAC;AACrD;AACA;AACA,qBAAqBC,KAAA;EAAA,IAAC;IAAEC;EAAsB,CAAC,GAAAD,KAAA;EAAA,OAAMC,qBAAqB,GAAG,KAAK,GAAGC,SAAS;AAAA,CAAC;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAA;EAAA,IAAC;IAAEC,qBAAqB;IAAEC,WAAW;IAAEC;EAAoC,CAAC,GAAAH,KAAA;EAAA,OAC1E,CAACC,qBAAqB,IACtBb,GAAG;AACX,0BAA0Bc,WAAW,IAAI,QAAQC,KAAK,CAAC,UAAU,CAAC,IAAI,OAAO,QAAQ;AACrF,yCAAyCA,KAAK,CAAC,SAAS,CAAC;AACzD,SAAS;AAAA;AACT,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAGjB,MAAM,CAACG,GAAG;AAChD;AACA;AACA;AACA;AACA;AACA,CAAC;AASD,OAAO,MAAMe,2BAA2B,GAAGlB,MAAM,CAACK,GAAqC;AACvF;AACA,cAAcc,KAAA;EAAA,IAAC;IAAEZ;EAAS,CAAC,GAAAY,KAAA;EAAA,OAAMZ,QAAQ,GAAG,KAAK,GAAG,KAAK;AAAA,CAAC;AAC1D;AACA;AACA;AACA,MAAMa,KAAA;EAAA,IAAC;IAAEC,cAAc;IAAEd;EAAS,CAAC,GAAAa,KAAA;EAAA,OAC3BC,cAAc,GACRpB,GAAG;AACjB,4BAA4BM,QAAQ,GAAG,KAAK,GAAG,CAAC;AAChD,2BAA2BA,QAAQ,GAAG,KAAK,GAAG,CAAC;AAC/C,eAAe,GACDN,GAAG;AACjB;AACA;AACA,eAAe;AAAA;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMqB,KAAA;EAAA,IAAC;IAAER,qBAAqB;IAAEC,WAAW;IAAEC;EAAwC,CAAC,GAAAM,KAAA;EAAA,OAC9E,CAACR,qBAAqB,IACtBb,GAAG;AACX,0BAA0Bc,WAAW,IAAI,QAAQC,KAAK,CAAC,UAAU,CAAC,IAAI,OAAO,QAAQ;AACrF,yCAAyCA,KAAK,CAAC,SAAS,CAAC;AACzD,SAAS;AAAA;AACT,CAAC;AAOD,OAAO,MAAMO,iBAAiB,GAAGvB,MAAM,CAACK,GAA2B;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMmB,KAAA;EAAA,IAAC;IAAEV,qBAAqB;IAAEC,WAAW;IAAEC;EAA8B,CAAC,GAAAQ,KAAA;EAAA,OACpE,CAACV,qBAAqB,IACtBb,GAAG;AACX,0BAA0Bc,WAAW,IAAI,QAAQC,KAAK,CAAC,UAAU,CAAC,IAAI,OAAO,QAAQ;AACrF,yCAAyCA,KAAK,CAAC,SAAS,CAAC;AACzD,SAAS;AAAA;AACT,CAAC","ignoreList":[]}
|
|
@@ -23,7 +23,7 @@ const MentionFinder = _ref => {
|
|
|
23
23
|
info,
|
|
24
24
|
name
|
|
25
25
|
} = _ref2;
|
|
26
|
-
return id.toLowerCase().includes(searchString) || info
|
|
26
|
+
return id.toLowerCase().includes(searchString) || info?.replace('chayns', '').toLowerCase().includes(searchString) || name.toLowerCase().includes(searchString);
|
|
27
27
|
}) : members, [members, searchString]);
|
|
28
28
|
const handleKeyDown = useCallback(event => {
|
|
29
29
|
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentionFinder.js","names":["AnimatePresence","React","useCallback","useEffect","useMemo","useRef","useState","MentionFinderItem","StyledMentionFinder","StyledMotionMentionFinderPopup","MentionFinder","_ref","inputValue","members","onSelect","popupAlignment","activeMember","setActiveMember","focusedIndex","setFocusedIndex","ref","fullMatch","searchString","regExpMatchArray","match","toLowerCase","filteredMembers","filter","_ref2","id","info","name","includes","replace","handleKeyDown","event","key","preventDefault","children","current","length","newIndex","prevElement","tabIndex","member","newElement","focus","stopPropagation","handleMemberClick","handleMemberHover","isActiveMemberShown","some","_ref3","items","map","createElement","isActive","onClick","onHover","shouldShowPopup","window","addEventListener","removeEventListener","className","initial","animate","height","opacity","exit","$popupAlignment","transition","duration","displayName"],"sources":["../../../../src/components/mention-finder/MentionFinder.tsx"],"sourcesContent":["import { AnimatePresence } from 'motion/react';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { MentionFinderPopupAlignment } from '../../constants/mentionFinder';\nimport MentionFinderItem from './mention-finder-item/MentionFinderItem';\nimport { StyledMentionFinder, StyledMotionMentionFinderPopup } from './MentionFinder.styles';\n\nexport type MentionMember = {\n id: string;\n info: string;\n imageUrl: string;\n name: string;\n shouldShowRoundImage?: boolean;\n};\n\nexport type MentionFinderProps = {\n /**\n * The text from the input field\n */\n inputValue: string;\n /**\n * Members that can be selected\n */\n members: MentionMember[];\n /**\n * Function to be executed when a member is selected\n */\n onSelect: ({ fullMatch, member }: { fullMatch: string; member: MentionMember }) => void;\n /**\n * Alignment of the popup\n */\n popupAlignment: MentionFinderPopupAlignment;\n};\n\nconst MentionFinder: FC<MentionFinderProps> = ({\n inputValue,\n members,\n onSelect,\n popupAlignment,\n}) => {\n const [activeMember, setActiveMember] = useState(members[0]);\n const [focusedIndex, setFocusedIndex] = useState(0);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const [fullMatch, searchString] = useMemo(() => {\n // eslint-disable-next-line no-irregular-whitespace\n const regExpMatchArray = inputValue.match(/@([^\\s]*)/);\n\n return [regExpMatchArray?.[0], regExpMatchArray?.[1]?.toLowerCase() ?? ''];\n }, [inputValue]);\n\n const filteredMembers = useMemo(\n () =>\n searchString !== ''\n ? members.filter(\n ({ id, info, name }) =>\n id.toLowerCase().includes(searchString) ||\n info.replace('chayns', '').toLowerCase().includes(searchString) ||\n name.toLowerCase().includes(searchString),\n )\n : members,\n [members, searchString],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n event.preventDefault();\n\n const children = ref.current?.children;\n\n if (children && children.length > 0) {\n const newIndex =\n focusedIndex !== null\n ? (focusedIndex +\n (event.key === 'ArrowUp' ? -1 : 1) +\n children.length) %\n children.length\n : 0;\n\n if (focusedIndex !== null) {\n const prevElement = children[focusedIndex] as HTMLDivElement;\n prevElement.tabIndex = -1;\n }\n\n setFocusedIndex(newIndex);\n\n const member = filteredMembers[newIndex];\n\n setActiveMember(member);\n\n const newElement = children[newIndex] as HTMLDivElement;\n newElement.tabIndex = 0;\n newElement.focus();\n }\n } else if (event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n\n if (fullMatch && activeMember) {\n onSelect({ fullMatch, member: activeMember });\n }\n }\n },\n [activeMember, filteredMembers, focusedIndex, fullMatch, onSelect],\n );\n\n const handleMemberClick = useCallback(\n (member: MentionMember) => {\n if (fullMatch) {\n onSelect({ fullMatch, member });\n }\n },\n [fullMatch, onSelect],\n );\n\n const handleMemberHover = useCallback((member: MentionMember) => {\n setActiveMember(member);\n }, []);\n\n useEffect(() => {\n if (filteredMembers.length > 0) {\n const isActiveMemberShown = filteredMembers.some(({ id }) => id === activeMember?.id);\n\n if (!isActiveMemberShown) {\n setActiveMember(filteredMembers[0]);\n }\n }\n }, [activeMember?.id, filteredMembers]);\n\n const items = useMemo(\n () =>\n filteredMembers.map((member) => (\n <MentionFinderItem\n isActive={member.id === activeMember?.id}\n key={member.id}\n member={member}\n onClick={handleMemberClick}\n onHover={handleMemberHover}\n />\n )),\n [activeMember, filteredMembers, handleMemberClick, handleMemberHover],\n );\n\n const shouldShowPopup = useMemo(() => fullMatch && items.length > 0, [fullMatch, items.length]);\n\n useEffect(() => {\n if (shouldShowPopup) {\n window.addEventListener('keydown', handleKeyDown, true);\n }\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown, true);\n };\n }, [handleKeyDown, shouldShowPopup]);\n\n return (\n <StyledMentionFinder className=\"beta-chayns-mention-finder\">\n <AnimatePresence initial={false}>\n {shouldShowPopup && (\n <StyledMotionMentionFinderPopup\n ref={ref}\n animate={{ height: 'auto', opacity: 1 }}\n className=\"prevent-lose-focus\"\n exit={{ height: 0, opacity: 0 }}\n initial={{ height: 0, opacity: 0 }}\n $popupAlignment={popupAlignment}\n transition={{ duration: 0.15 }}\n tabIndex={0}\n >\n {items}\n </StyledMotionMentionFinderPopup>\n )}\n </AnimatePresence>\n </StyledMentionFinder>\n );\n};\n\nMentionFinder.displayName = 'MentionFinder';\n\nexport default MentionFinder;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MentionFinder.js","names":["AnimatePresence","React","useCallback","useEffect","useMemo","useRef","useState","MentionFinderItem","StyledMentionFinder","StyledMotionMentionFinderPopup","MentionFinder","_ref","inputValue","members","onSelect","popupAlignment","activeMember","setActiveMember","focusedIndex","setFocusedIndex","ref","fullMatch","searchString","regExpMatchArray","match","toLowerCase","filteredMembers","filter","_ref2","id","info","name","includes","replace","handleKeyDown","event","key","preventDefault","children","current","length","newIndex","prevElement","tabIndex","member","newElement","focus","stopPropagation","handleMemberClick","handleMemberHover","isActiveMemberShown","some","_ref3","items","map","createElement","isActive","onClick","onHover","shouldShowPopup","window","addEventListener","removeEventListener","className","initial","animate","height","opacity","exit","$popupAlignment","transition","duration","displayName"],"sources":["../../../../src/components/mention-finder/MentionFinder.tsx"],"sourcesContent":["import { AnimatePresence } from 'motion/react';\nimport React, { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport type { MentionFinderPopupAlignment } from '../../constants/mentionFinder';\nimport MentionFinderItem from './mention-finder-item/MentionFinderItem';\nimport { StyledMentionFinder, StyledMotionMentionFinderPopup } from './MentionFinder.styles';\n\nexport type MentionMember = {\n id: string;\n info?: string;\n imageUrl: string;\n name: string;\n shouldShowRoundImage?: boolean;\n};\n\nexport type MentionFinderProps = {\n /**\n * The text from the input field\n */\n inputValue: string;\n /**\n * Members that can be selected\n */\n members: MentionMember[];\n /**\n * Function to be executed when a member is selected\n */\n onSelect: ({ fullMatch, member }: { fullMatch: string; member: MentionMember }) => void;\n /**\n * Alignment of the popup\n */\n popupAlignment: MentionFinderPopupAlignment;\n};\n\nconst MentionFinder: FC<MentionFinderProps> = ({\n inputValue,\n members,\n onSelect,\n popupAlignment,\n}) => {\n const [activeMember, setActiveMember] = useState(members[0]);\n const [focusedIndex, setFocusedIndex] = useState(0);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const [fullMatch, searchString] = useMemo(() => {\n // eslint-disable-next-line no-irregular-whitespace\n const regExpMatchArray = inputValue.match(/@([^\\s]*)/);\n\n return [regExpMatchArray?.[0], regExpMatchArray?.[1]?.toLowerCase() ?? ''];\n }, [inputValue]);\n\n const filteredMembers = useMemo(\n () =>\n searchString !== ''\n ? members.filter(\n ({ id, info, name }) =>\n id.toLowerCase().includes(searchString) ||\n info?.replace('chayns', '').toLowerCase().includes(searchString) ||\n name.toLowerCase().includes(searchString),\n )\n : members,\n [members, searchString],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {\n event.preventDefault();\n\n const children = ref.current?.children;\n\n if (children && children.length > 0) {\n const newIndex =\n focusedIndex !== null\n ? (focusedIndex +\n (event.key === 'ArrowUp' ? -1 : 1) +\n children.length) %\n children.length\n : 0;\n\n if (focusedIndex !== null) {\n const prevElement = children[focusedIndex] as HTMLDivElement;\n prevElement.tabIndex = -1;\n }\n\n setFocusedIndex(newIndex);\n\n const member = filteredMembers[newIndex];\n\n setActiveMember(member);\n\n const newElement = children[newIndex] as HTMLDivElement;\n newElement.tabIndex = 0;\n newElement.focus();\n }\n } else if (event.key === 'Enter') {\n event.preventDefault();\n event.stopPropagation();\n\n if (fullMatch && activeMember) {\n onSelect({ fullMatch, member: activeMember });\n }\n }\n },\n [activeMember, filteredMembers, focusedIndex, fullMatch, onSelect],\n );\n\n const handleMemberClick = useCallback(\n (member: MentionMember) => {\n if (fullMatch) {\n onSelect({ fullMatch, member });\n }\n },\n [fullMatch, onSelect],\n );\n\n const handleMemberHover = useCallback((member: MentionMember) => {\n setActiveMember(member);\n }, []);\n\n useEffect(() => {\n if (filteredMembers.length > 0) {\n const isActiveMemberShown = filteredMembers.some(({ id }) => id === activeMember?.id);\n\n if (!isActiveMemberShown) {\n setActiveMember(filteredMembers[0]);\n }\n }\n }, [activeMember?.id, filteredMembers]);\n\n const items = useMemo(\n () =>\n filteredMembers.map((member) => (\n <MentionFinderItem\n isActive={member.id === activeMember?.id}\n key={member.id}\n member={member}\n onClick={handleMemberClick}\n onHover={handleMemberHover}\n />\n )),\n [activeMember, filteredMembers, handleMemberClick, handleMemberHover],\n );\n\n const shouldShowPopup = useMemo(() => fullMatch && items.length > 0, [fullMatch, items.length]);\n\n useEffect(() => {\n if (shouldShowPopup) {\n window.addEventListener('keydown', handleKeyDown, true);\n }\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown, true);\n };\n }, [handleKeyDown, shouldShowPopup]);\n\n return (\n <StyledMentionFinder className=\"beta-chayns-mention-finder\">\n <AnimatePresence initial={false}>\n {shouldShowPopup && (\n <StyledMotionMentionFinderPopup\n ref={ref}\n animate={{ height: 'auto', opacity: 1 }}\n className=\"prevent-lose-focus\"\n exit={{ height: 0, opacity: 0 }}\n initial={{ height: 0, opacity: 0 }}\n $popupAlignment={popupAlignment}\n transition={{ duration: 0.15 }}\n tabIndex={0}\n >\n {items}\n </StyledMotionMentionFinderPopup>\n )}\n </AnimatePresence>\n </StyledMentionFinder>\n );\n};\n\nMentionFinder.displayName = 'MentionFinder';\n\nexport default MentionFinder;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,7 +17,7 @@ const MentionFinderItem = _ref => {
|
|
|
17
17
|
}, /*#__PURE__*/React.createElement(StyledMentionFinderItemImage, {
|
|
18
18
|
src: member.imageUrl,
|
|
19
19
|
$shouldShowRoundImage: member.shouldShowRoundImage
|
|
20
|
-
}), /*#__PURE__*/React.createElement(StyledMentionFinderItemContent, null, /*#__PURE__*/React.createElement(StyledMentionFinderItemContentName, null, member.name), /*#__PURE__*/React.createElement(StyledMentionFinderItemContentInfo, null, member.info)));
|
|
20
|
+
}), /*#__PURE__*/React.createElement(StyledMentionFinderItemContent, null, /*#__PURE__*/React.createElement(StyledMentionFinderItemContentName, null, member.name), member.info && /*#__PURE__*/React.createElement(StyledMentionFinderItemContentInfo, null, member.info)));
|
|
21
21
|
};
|
|
22
22
|
MentionFinderItem.displayName = 'MentionFinderItem';
|
|
23
23
|
export default MentionFinderItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentionFinderItem.js","names":["React","useCallback","StyledMentionFinderItem","StyledMentionFinderItemContent","StyledMentionFinderItemContentInfo","StyledMentionFinderItemContentName","StyledMentionFinderItemImage","MentionFinderItem","_ref","isActive","member","onClick","onHover","handleItemClick","handleItemMouseEnter","createElement","className","onMouseEnter","$isActive","src","imageUrl","$shouldShowRoundImage","shouldShowRoundImage","name","info","displayName"],"sources":["../../../../../src/components/mention-finder/mention-finder-item/MentionFinderItem.tsx"],"sourcesContent":["import React, { FC, useCallback } from 'react';\nimport type { MentionMember } from '../MentionFinder';\nimport {\n StyledMentionFinderItem,\n StyledMentionFinderItemContent,\n StyledMentionFinderItemContentInfo,\n StyledMentionFinderItemContentName,\n StyledMentionFinderItemImage,\n} from './MentionFinderItem.styles';\n\nexport type MentionFinderItemProps = {\n isActive: boolean;\n member: MentionMember;\n onClick: (member: MentionMember) => void;\n onHover: (member: MentionMember) => void;\n};\n\nconst MentionFinderItem: FC<MentionFinderItemProps> = ({ isActive, member, onClick, onHover }) => {\n const handleItemClick = useCallback(() => onClick(member), [member, onClick]);\n\n const handleItemMouseEnter = useCallback(() => onHover(member), [member, onHover]);\n\n return (\n <StyledMentionFinderItem\n className=\"prevent-lose-focus\"\n onClick={handleItemClick}\n onMouseEnter={handleItemMouseEnter}\n $isActive={isActive}\n >\n <StyledMentionFinderItemImage\n src={member.imageUrl}\n $shouldShowRoundImage={member.shouldShowRoundImage}\n />\n <StyledMentionFinderItemContent>\n <StyledMentionFinderItemContentName>\n {member.name}\n </StyledMentionFinderItemContentName>\n <StyledMentionFinderItemContentInfo>\n
|
|
1
|
+
{"version":3,"file":"MentionFinderItem.js","names":["React","useCallback","StyledMentionFinderItem","StyledMentionFinderItemContent","StyledMentionFinderItemContentInfo","StyledMentionFinderItemContentName","StyledMentionFinderItemImage","MentionFinderItem","_ref","isActive","member","onClick","onHover","handleItemClick","handleItemMouseEnter","createElement","className","onMouseEnter","$isActive","src","imageUrl","$shouldShowRoundImage","shouldShowRoundImage","name","info","displayName"],"sources":["../../../../../src/components/mention-finder/mention-finder-item/MentionFinderItem.tsx"],"sourcesContent":["import React, { FC, useCallback } from 'react';\nimport type { MentionMember } from '../MentionFinder';\nimport {\n StyledMentionFinderItem,\n StyledMentionFinderItemContent,\n StyledMentionFinderItemContentInfo,\n StyledMentionFinderItemContentName,\n StyledMentionFinderItemImage,\n} from './MentionFinderItem.styles';\n\nexport type MentionFinderItemProps = {\n isActive: boolean;\n member: MentionMember;\n onClick: (member: MentionMember) => void;\n onHover: (member: MentionMember) => void;\n};\n\nconst MentionFinderItem: FC<MentionFinderItemProps> = ({ isActive, member, onClick, onHover }) => {\n const handleItemClick = useCallback(() => onClick(member), [member, onClick]);\n\n const handleItemMouseEnter = useCallback(() => onHover(member), [member, onHover]);\n\n return (\n <StyledMentionFinderItem\n className=\"prevent-lose-focus\"\n onClick={handleItemClick}\n onMouseEnter={handleItemMouseEnter}\n $isActive={isActive}\n >\n <StyledMentionFinderItemImage\n src={member.imageUrl}\n $shouldShowRoundImage={member.shouldShowRoundImage}\n />\n <StyledMentionFinderItemContent>\n <StyledMentionFinderItemContentName>\n {member.name}\n </StyledMentionFinderItemContentName>\n {member.info && (\n <StyledMentionFinderItemContentInfo>\n {member.info}\n </StyledMentionFinderItemContentInfo>\n )}\n </StyledMentionFinderItemContent>\n </StyledMentionFinderItem>\n );\n};\n\nMentionFinderItem.displayName = 'MentionFinderItem';\n\nexport default MentionFinderItem;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAQC,WAAW,QAAQ,OAAO;AAE9C,SACIC,uBAAuB,EACvBC,8BAA8B,EAC9BC,kCAAkC,EAClCC,kCAAkC,EAClCC,4BAA4B,QACzB,4BAA4B;AASnC,MAAMC,iBAA6C,GAAGC,IAAA,IAA4C;EAAA,IAA3C;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAQ,CAAC,GAAAJ,IAAA;EACzF,MAAMK,eAAe,GAAGZ,WAAW,CAAC,MAAMU,OAAO,CAACD,MAAM,CAAC,EAAE,CAACA,MAAM,EAAEC,OAAO,CAAC,CAAC;EAE7E,MAAMG,oBAAoB,GAAGb,WAAW,CAAC,MAAMW,OAAO,CAACF,MAAM,CAAC,EAAE,CAACA,MAAM,EAAEE,OAAO,CAAC,CAAC;EAElF,oBACIZ,KAAA,CAAAe,aAAA,CAACb,uBAAuB;IACpBc,SAAS,EAAC,oBAAoB;IAC9BL,OAAO,EAAEE,eAAgB;IACzBI,YAAY,EAAEH,oBAAqB;IACnCI,SAAS,EAAET;EAAS,gBAEpBT,KAAA,CAAAe,aAAA,CAACT,4BAA4B;IACzBa,GAAG,EAAET,MAAM,CAACU,QAAS;IACrBC,qBAAqB,EAAEX,MAAM,CAACY;EAAqB,CACtD,CAAC,eACFtB,KAAA,CAAAe,aAAA,CAACZ,8BAA8B,qBAC3BH,KAAA,CAAAe,aAAA,CAACV,kCAAkC,QAC9BK,MAAM,CAACa,IACwB,CAAC,EACpCb,MAAM,CAACc,IAAI,iBACRxB,KAAA,CAAAe,aAAA,CAACX,kCAAkC,QAC9BM,MAAM,CAACc,IACwB,CAEZ,CACX,CAAC;AAElC,CAAC;AAEDjB,iBAAiB,CAACkB,WAAW,GAAG,mBAAmB;AAEnD,eAAelB,iBAAiB","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ interface AreaContextProviderProps {
|
|
|
8
8
|
shouldChangeColor?: boolean;
|
|
9
9
|
}
|
|
10
10
|
declare const AreaContextProvider: {
|
|
11
|
-
({ children, shouldChangeColor }: AreaContextProviderProps):
|
|
11
|
+
({ children, shouldChangeColor }: AreaContextProviderProps): React.JSX.Element;
|
|
12
12
|
displayName: string;
|
|
13
13
|
};
|
|
14
14
|
export default AreaContextProvider;
|
package/lib/types/components/list/list-item/list-item-head/list-item-image/ListItemImage.styles.d.ts
CHANGED
|
@@ -10,10 +10,16 @@ type StyledListItemHeadImageProps = WithTheme<{
|
|
|
10
10
|
}>;
|
|
11
11
|
export declare const StyledListItemHeadImage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, StyledListItemHeadImageProps>> & string;
|
|
12
12
|
export declare const StyledListImageWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
13
|
-
export type StyledListImageWrapperImageProps = {
|
|
13
|
+
export type StyledListImageWrapperImageProps = WithTheme<{
|
|
14
14
|
$isSecondImage?: boolean;
|
|
15
15
|
$isSmall: boolean;
|
|
16
|
-
|
|
16
|
+
$shouldHideBackground?: boolean;
|
|
17
|
+
$background?: CSSProperties['background'];
|
|
18
|
+
}>;
|
|
17
19
|
export declare const StyledListImageWrapperImage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, StyledListImageWrapperImageProps>> & string;
|
|
18
|
-
|
|
20
|
+
type StyledCareOfImageProps = WithTheme<{
|
|
21
|
+
$shouldHideBackground?: boolean;
|
|
22
|
+
$background?: CSSProperties['background'];
|
|
23
|
+
}>;
|
|
24
|
+
export declare const StyledCareOfImage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, StyledCareOfImageProps>> & string;
|
|
19
25
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ReactNode } from 'react';
|
|
1
|
+
import React, { type ReactNode } from 'react';
|
|
2
2
|
type PopupContentProps = {
|
|
3
3
|
/**
|
|
4
4
|
* The elements that should be displayed inside the popup content.
|
|
@@ -6,7 +6,7 @@ type PopupContentProps = {
|
|
|
6
6
|
children?: ReactNode;
|
|
7
7
|
};
|
|
8
8
|
declare const PopupContent: {
|
|
9
|
-
({ children }: PopupContentProps):
|
|
9
|
+
({ children }: PopupContentProps): React.JSX.Element;
|
|
10
10
|
displayName: string;
|
|
11
11
|
};
|
|
12
12
|
export default PopupContent;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chayns-components/core",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.1021",
|
|
4
4
|
"description": "A set of beautiful React components for developing your own applications with chayns.",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"browserslist": [
|
|
@@ -88,5 +88,5 @@
|
|
|
88
88
|
"publishConfig": {
|
|
89
89
|
"access": "public"
|
|
90
90
|
},
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "fa5aa6a6238fe240d2650e48ffce208c50863f53"
|
|
92
92
|
}
|