{"version":3,"file":"AramcoWorld_Contributors-Dp6y8h1r.js","sources":["../../../../../src/project/AramcoWorld/_Base/Components/ArticleAuthors/index.tsx"],"sourcesContent":["import { Flex, Text as ChakraText, Box, SimpleGrid, GridItem, AspectRatio, Button, Divider } from '@chakra-ui/react'\r\nimport React, { type FC, useEffect, useRef, useState } from 'react'\r\nimport { type ItemReference, type TextField } from '~/foundation/Jss';\r\nimport { type Contributor } from '../../../generated-types';\r\nimport { sc } from \"../../Jss\";\r\nimport { imageSizes } from \"../../Theme\";\r\nimport { MotionBox } from \"~/foundation/Framer/MotionBox\";\r\nimport { type GlobalDictionary } from \"../../../dictionary\";\r\nimport { useTranslation } from \"~/foundation/Dictionary\";\r\nimport { fadeUp } from '../../Theme/styles/motions';\r\nimport { Link } from '../Link';\r\n\r\ntype ArticleAuthorsProps = {\r\n\theadline?: TextField;\r\n\tcontributors?: ItemReference[];\r\n\teditable: boolean | undefined;\r\n\ttrumpet?: string | TextField;\r\n\t// link?: LinkField;\r\n\tloadMore?: boolean;\r\n\tsortByName?: boolean;\r\n\tshowCount?: number;\r\n\tloadMoreSuffix?: string;\r\n\tshowDivider?: boolean;\r\n\tcloseButtonLabel?: string;\r\n}\r\n\r\nconst ArticleAuthors: FC = ({\r\n\theadline,\r\n\tcontributors = [],\r\n\teditable,\r\n\t// link,\r\n\tloadMore = true,\r\n\tsortByName = true,\r\n\tshowCount = 6, // set amount of items to show pr load\r\n\ttrumpet,\r\n\tloadMoreSuffix,\r\n\tshowDivider = false, // adds a divider and pushes loadmore btn to end of container\r\n\tcloseButtonLabel,\r\n}) => {\r\n\tconst [t] = useTranslation();\r\n\tconst [displayCount, setDisplayCount] = useState(showCount);\r\n\tconst contributorsListRef = useRef(null);\r\n\r\n\tconst sortContributors = (contributors: ItemReference[]) => {\r\n\t\treturn contributors.sort((a, b) => {\r\n\t\t\tconst nameA = a.fields?.fullName?.value || \"\";\r\n\t\t\tconst nameB = b.fields?.fullName?.value || \"\";\r\n\t\t\treturn nameA.localeCompare(nameB);\r\n\t\t});\r\n\t};\r\n\r\n\tconst sortedContributors = sortByName ? sortContributors(contributors) : contributors;\r\n\r\n\tconst handleLoadMore = () => {\r\n\t\tsetDisplayCount(displayCount + showCount);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\t// Focus on the first newly added item after contributors are updated\r\n\t\tif (contributorsListRef.current && displayCount > showCount) {\r\n\t\t\tconst firstNewItemIndex = displayCount - showCount;\r\n\t\t\tconst firstNewItem = contributorsListRef.current.childNodes[firstNewItemIndex] as HTMLElement;\r\n\t\t\tconst focusableElement = firstNewItem.querySelector('a, button, input, [tabindex]') as HTMLElement;\r\n\t\t\tif (focusableElement) {\r\n\t\t\t\tfocusableElement.focus();\r\n\t\t\t}\r\n\t\t}\r\n\t}, [displayCount]);\r\n\r\n\tconst transition = {\r\n\t\tdefault: {\r\n\t\t\tease: \"easeOut\",\r\n\t\t\tduration: .3,\r\n\t\t}\r\n\t}\r\n\r\n\t// Return empty fragment if no contributors selected\r\n\tif (contributors.length === 0) {\r\n\t\tif (editable) {\r\n\t\t\treturn (\r\n\t\t\t\t

No contributors selected. Select min. 1 to show component.

\r\n\t\t\t)\r\n\t\t} else {\r\n\t\t\treturn <>\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{trumpet && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{(trumpet || editable) && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{typeof trumpet === \"string\" ? (\r\n\t\t\t\t\t\t\t\t\t\ttrumpet\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{/* {(link || editable) && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)} */}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{(headline?.value || editable) && (\r\n\t\t\t\t\t\t// Box Needed for text to wrap properly\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{/* SC experience editor, show all. Slice with displayCount, if loadMore is enabled */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{sortedContributors.length > 0 &&\r\n\t\t\t\t\t\t\t(editable ? sortedContributors : sortedContributors.slice(0, loadMore ? displayCount : contributors.length)).map((contributor: ItemReference) => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{contributor.fields?.image?.value?.src ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{contributor.fields?.fullName?.value && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{contributor.fields?.description?.value && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{loadMore && contributors && (displayCount < contributors.length) && (contributors.length > showCount) && (\r\n\t\t\t\t\r\n\t\t\t\t\t{showDivider && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t(\"contributors.loadMoreLabel\")}\r\n\t\t\t\t\t\t{\" \"}\r\n\t\t\t\t\t\t{loadMoreSuffix}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t{loadMore && contributors && (displayCount >= contributors.length) && (contributors.length > showCount) && (\r\n\t\t\t\t\r\n\t\t\t\t\t{showDivider && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t setDisplayCount(showCount)}\r\n\t\t\t\t\t\tsize=\"lg\"\r\n\t\t\t\t\t\tvariant=\"primaryOutline\"\r\n\t\t\t\t\t\taria-label={t(\"contributors.closeContributorsLabel\")}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{closeButtonLabel || t(\"contributors.closeLabel\")}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default ArticleAuthors;\r\n"],"names":["ArticleAuthors","headline","contributors","editable","loadMore","sortByName","showCount","trumpet","loadMoreSuffix","showDivider","closeButtonLabel","t","useTranslation","displayCount","setDisplayCount","useState","contributorsListRef","useRef","sortedContributors","a","b","nameA","_b","_a","nameB","_d","_c","handleLoadMore","useEffect","firstNewItemIndex","focusableElement","transition","jsx","Fragment","jsxs","Flex","ChakraText","sc","Box","SimpleGrid","contributor","GridItem","Link","MotionBox","fadeUp","AspectRatio","imageSizes","_e","_g","_f","_i","_h","_j","_l","_k","_m","Divider","Button"],"mappings":"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"}