synapse-react-client 4.0.22 → 4.0.23

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 (99) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/assets/icons/GeneticsIcon.d.ts +3 -0
  3. package/dist/assets/icons/GeneticsIcon.d.ts.map +1 -0
  4. package/dist/assets/icons/GeneticsIcon.js +14 -0
  5. package/dist/assets/icons/GeneticsIcon.js.map +1 -0
  6. package/dist/components/EntityCitation/EntityCitation.d.ts.map +1 -1
  7. package/dist/components/EntityCitation/EntityCitation.js +23 -8
  8. package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
  9. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.d.ts +18 -0
  10. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.d.ts.map +1 -0
  11. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js +112 -0
  12. package/dist/components/GenericCard/DuoTermTags/DuoTermTags.js.map +1 -0
  13. package/dist/components/GenericCard/DuoTermTags/duoTerms.d.ts +31 -0
  14. package/dist/components/GenericCard/DuoTermTags/duoTerms.d.ts.map +1 -0
  15. package/dist/components/GenericCard/DuoTermTags/duoTerms.js +198 -0
  16. package/dist/components/GenericCard/DuoTermTags/duoTerms.js.map +1 -0
  17. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  18. package/dist/components/GenericCard/SynapseCardLabel.js +4 -8
  19. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  20. package/dist/components/GenericCard/TableRowGenericCard.d.ts +6 -0
  21. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  22. package/dist/components/GenericCard/TableRowGenericCard.js +168 -153
  23. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  24. package/dist/components/IconSvg/IconSvg.d.ts +1 -1
  25. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  26. package/dist/components/IconSvg/IconSvg.js +19 -18
  27. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  28. package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.d.ts +21 -0
  29. package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.d.ts.map +1 -1
  30. package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.js.map +1 -1
  31. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.d.ts +10 -0
  32. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.d.ts.map +1 -1
  33. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +65 -59
  34. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  35. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -1
  36. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  37. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +2 -0
  38. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  39. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts +33 -6
  40. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.d.ts.map +1 -1
  41. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js +93 -55
  42. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  43. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.d.ts +3 -0
  44. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.d.ts.map +1 -1
  45. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js +39 -37
  46. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
  47. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts +3 -1
  48. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts.map +1 -1
  49. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js +4 -0
  50. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
  51. package/dist/components/entity/page/action_menu/EntityActionMenu.d.ts +5 -2
  52. package/dist/components/entity/page/action_menu/EntityActionMenu.d.ts.map +1 -1
  53. package/dist/components/entity/page/action_menu/EntityActionMenu.js +68 -51
  54. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  55. package/dist/components/index.d.ts +1 -0
  56. package/dist/components/index.d.ts.map +1 -1
  57. package/dist/components/menu/ComplexMenu.d.ts +8 -1
  58. package/dist/components/menu/ComplexMenu.d.ts.map +1 -1
  59. package/dist/components/menu/ComplexMenu.js +50 -20
  60. package/dist/components/menu/ComplexMenu.js.map +1 -1
  61. package/dist/components/widgets/facet-nav/FacetValueChip.d.ts +25 -0
  62. package/dist/components/widgets/facet-nav/FacetValueChip.d.ts.map +1 -0
  63. package/dist/components/widgets/facet-nav/FacetValueChip.js +40 -0
  64. package/dist/components/widgets/facet-nav/FacetValueChip.js.map +1 -0
  65. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.d.ts +10 -5
  66. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.d.ts.map +1 -1
  67. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js +10 -17
  68. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
  69. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.d.ts.map +1 -1
  70. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js +11 -10
  71. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
  72. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.d.ts.map +1 -1
  73. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js +70 -54
  74. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  75. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts +2 -1
  76. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.d.ts.map +1 -1
  77. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js +17 -1
  78. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  79. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts +2 -0
  80. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.d.ts.map +1 -1
  81. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js +7 -7
  82. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  83. package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts.map +1 -1
  84. package/dist/features/curator/dashboard/components/CurationTaskCard.js +99 -45
  85. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
  86. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  87. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +174 -149
  88. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  89. package/dist/features/entity/metadata-task/utils/constants.d.ts +6 -0
  90. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  91. package/dist/features/entity/metadata-task/utils/constants.js +19 -2
  92. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  93. package/dist/style/components/_total-query-results.scss +10 -34
  94. package/dist/style/main.css +1 -1
  95. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  96. package/dist/synapse-queries/curation/task/useCurationTask.js +1 -1
  97. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  98. package/dist/tsconfig.build.tsbuildinfo +1 -1
  99. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseCardLabel.js","names":[],"sources":["../../../src/components/GenericCard/SynapseCardLabel.tsx"],"sourcesContent":["import { CardLink } from '@/components/CardContainer/CardLink'\nimport { getValueOrMultiValue } from '@/components/GenericCard/CardUtils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { getColumnIndex } from '@/utils/functions/index'\nimport { TargetEnum } from '@/utils/html/TargetEnum'\nimport { Tooltip } from '@mui/material'\nimport {\n ColumnModel,\n ColumnTypeEnum,\n Row,\n SelectColumn,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { isEmpty } from 'lodash-es'\nimport { CSSProperties, Fragment, ReactNode } from 'react'\nimport {\n ColumnIconConfigs,\n ColumnSpecifiedLink,\n MarkdownLink,\n} from '../CardContainerLogic'\nimport {\n EntityImage,\n MapValueToReactComponentConfig,\n} from '../CardContainerLogic/CardContainerLogic'\nimport { EntityLink } from '../EntityLink'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\nimport { SmartLink } from '../SmartLink/SmartLink'\nimport { UserBadge } from '../UserCard/UserBadge'\nimport { EntityColumnImage } from '../widgets/EntityColumnImage'\nimport { LabelMaybeWithIcon } from './LabelMaybeWithIcon'\nimport Linkify from './Linkify'\n\ntype SynapseCardLabelProps = {\n value: string\n columnName: string\n labelLink:\n | CardLink\n | MarkdownLink\n | ColumnSpecifiedLink\n | EntityImage\n | MapValueToReactComponentConfig\n | undefined\n selectColumns: SelectColumn[] | undefined\n columnModels: ColumnModel[] | undefined\n isHeader: boolean\n className?: string\n rowData: Row['values']\n rowId?: string\n columnIconOptions?: ColumnIconConfigs\n}\nexport function SynapseCardLabel(props: SynapseCardLabelProps) {\n const {\n value,\n columnName,\n labelLink,\n selectColumns,\n columnModels,\n isHeader,\n className,\n rowData,\n rowId,\n columnIconOptions,\n } = props\n\n if (!value) {\n return <p>{value}</p>\n }\n const { strList, str, selectColumn } = getValueOrMultiValue({\n columnName,\n value,\n selectColumns,\n columnModels,\n })\n\n const columnModelType = selectColumn?.columnType\n const iconConfig = columnIconOptions?.columns?.[columnName]\n // \\u00a0 is a nbsp;\n const separator = ',\\u00a0\\u00a0'\n\n if (!str) {\n // the array came back empty\n return <p>{str}</p>\n }\n\n let newClassName = className\n const style: CSSProperties = {}\n if (isHeader) {\n newClassName = className?.concat(' ', 'SRC-lightLink')\n }\n // PORTALS-1913: special rendering for user ID lists\n if (columnModelType === ColumnTypeEnum.USERID_LIST && strList) {\n return (\n <p>\n {strList.map((val: string, index: number) => {\n return (\n <Fragment key={val}>\n <UserBadge userId={val} className={newClassName} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n }\n if (columnModelType === ColumnTypeEnum.USERID && str) {\n return <UserBadge userId={str} className={newClassName} />\n }\n\n if (columnModelType === ColumnTypeEnum.ENTITYID_LIST && strList) {\n return (\n <p>\n {strList.map((entityId: string, index: number) => {\n return (\n <Fragment key={entityId}>\n <EntityLink entity={entityId} className={newClassName} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n }\n\n if (columnModelType === ColumnTypeEnum.ENTITYID && str && !labelLink) {\n return <EntityLink entity={str} className={newClassName} />\n }\n\n // NFINT-906\n if (columnModelType === ColumnTypeEnum.DATE && str) {\n return <p>{formatDate(dayjs(Number(str)))}</p>\n }\n\n if (!labelLink) {\n if (strList) {\n return (\n <>\n {strList.map((el, index) => (\n <Fragment key={el}>\n <LabelMaybeWithIcon value={el} iconConfig={iconConfig}>\n <Linkify text={el} className={newClassName} />\n </LabelMaybeWithIcon>\n {index < strList.length - 1 && separator}\n </Fragment>\n ))}\n </>\n )\n }\n return (\n <LabelMaybeWithIcon value={str} iconConfig={iconConfig}>\n <Linkify text={str} className={newClassName} />\n </LabelMaybeWithIcon>\n )\n }\n\n if ('resolveEntityName' in labelLink && labelLink.resolveEntityName && str) {\n const { baseURL, URLColumnName } = labelLink\n const href = `/${baseURL}?${URLColumnName}=${str}`\n return <EntityLink entity={str} link={href} showIcon={false} />\n }\n\n let labelContent: ReactNode\n\n if (\n 'isMapValueToReactNodeConfig' in labelLink &&\n labelLink.isMapValueToReactNodeConfig\n ) {\n const { Component } = labelLink\n labelContent = (\n <Component value={strList || str} selectColumn={selectColumn!} />\n )\n } else if ('isMarkdown' in labelLink && labelLink.isMarkdown) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <MarkdownSynapse key={el} renderInline={true} markdown={el} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <MarkdownSynapse renderInline={true} markdown={value} />\n }\n } else if ('isEntityImage' in labelLink && labelLink.isEntityImage) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <EntityColumnImage entityId={el} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <EntityColumnImage entityId={value} />\n }\n } else {\n const split = strList ? strList : str.split(',')\n let linkTarget: TargetEnum | undefined = undefined\n if ('target' in labelLink) {\n linkTarget = labelLink.target!\n }\n if ('linkColumnName' in labelLink) {\n const linkIndex = getColumnIndex(\n labelLink.linkColumnName,\n selectColumns,\n columnModels,\n )\n if (linkIndex == null) {\n console.warn(\n `Could not determine column index of ${labelLink.linkColumnName}`,\n )\n labelContent = <>{value}</>\n } else {\n const href = rowData[linkIndex]\n\n if (isEmpty(href)) {\n labelContent = <>{value}</>\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n return (\n <Fragment key={el}>\n <SmartLink\n href={href ?? ''}\n target={linkTarget ?? TargetEnum.NEW_WINDOW}\n key={el}\n className={newClassName}\n style={style}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n const cardLink = labelLink as CardLink\n const elOrRowId = cardLink.overrideValueWithRowID ? rowId : el\n let href = ''\n if ('baseURL' in cardLink) {\n const {\n baseURL,\n URLColumnName,\n wrapValueWithParens,\n urlParamStyle = 'query-param',\n } = cardLink\n const value = wrapValueWithParens ? `(${elOrRowId})` : elOrRowId\n if (urlParamStyle === 'path-segment') {\n href = `/${baseURL}/${encodeURIComponent(String(value))}`\n } else {\n href = `/${baseURL}?${URLColumnName}=${value}`\n }\n } else if ('overrideLinkURLColumnName' in cardLink) {\n const overrideHrefIndex = getColumnIndex(\n cardLink.overrideLinkURLColumnName,\n selectColumns,\n columnModels,\n )\n if (overrideHrefIndex != null) {\n const overrideHrefData = rowData[overrideHrefIndex]\n if (overrideHrefData) {\n if (cardLink.overrideLinkURLColumnTransform) {\n href =\n cardLink.overrideLinkURLColumnTransform(overrideHrefData)\n } else {\n href = overrideHrefData\n }\n }\n }\n }\n\n return (\n <Fragment key={el}>\n <SmartLink\n href={href}\n key={el}\n className={newClassName}\n style={style}\n target={linkTarget ?? TargetEnum.CURRENT_WINDOW}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n\n if ('tooltipText' in labelLink && labelLink.tooltipText) {\n // wrap in a tooltip\n return (\n <Tooltip title={labelLink.tooltipText} enterNextDelay={300}>\n <span>{labelContent}</span>\n </Tooltip>\n )\n } else {\n return labelContent\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SynapseCardLabel.js","names":[],"sources":["../../../src/components/GenericCard/SynapseCardLabel.tsx"],"sourcesContent":["import { CardLink } from '@/components/CardContainer/CardLink'\nimport { getValueOrMultiValue } from '@/components/GenericCard/CardUtils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { getColumnIndex } from '@/utils/functions/index'\nimport { TargetEnum } from '@/utils/html/TargetEnum'\nimport { Tooltip } from '@mui/material'\nimport {\n ColumnModel,\n ColumnTypeEnum,\n Row,\n SelectColumn,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { isEmpty } from 'lodash-es'\nimport { CSSProperties, Fragment, ReactNode } from 'react'\nimport {\n ColumnIconConfigs,\n ColumnSpecifiedLink,\n MarkdownLink,\n} from '../CardContainerLogic'\nimport {\n EntityImage,\n MapValueToReactComponentConfig,\n} from '../CardContainerLogic/CardContainerLogic'\nimport { EntityLink } from '../EntityLink'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\nimport { SmartLink } from '../SmartLink/SmartLink'\nimport { UserBadge } from '../UserCard/UserBadge'\nimport { EntityColumnImage } from '../widgets/EntityColumnImage'\nimport { LabelMaybeWithIcon } from './LabelMaybeWithIcon'\nimport Linkify from './Linkify'\n\ntype SynapseCardLabelProps = {\n value: string\n columnName: string\n labelLink:\n | CardLink\n | MarkdownLink\n | ColumnSpecifiedLink\n | EntityImage\n | MapValueToReactComponentConfig\n | undefined\n selectColumns: SelectColumn[] | undefined\n columnModels: ColumnModel[] | undefined\n isHeader: boolean\n className?: string\n rowData: Row['values']\n rowId?: string\n columnIconOptions?: ColumnIconConfigs\n}\nexport function SynapseCardLabel(props: SynapseCardLabelProps) {\n const {\n value,\n columnName,\n labelLink,\n selectColumns,\n columnModels,\n isHeader,\n className,\n rowData,\n rowId,\n columnIconOptions,\n } = props\n\n if (!value) {\n return <p>{value}</p>\n }\n const { strList, str, selectColumn } = getValueOrMultiValue({\n columnName,\n value,\n selectColumns,\n columnModels,\n })\n\n const columnModelType = selectColumn?.columnType\n const iconConfig = columnIconOptions?.columns?.[columnName]\n // \\u00a0 is a nbsp;\n const separator = ',\\u00a0\\u00a0'\n\n if (!str) {\n // the array came back empty\n return <p>{str}</p>\n }\n\n let newClassName = className\n const style: CSSProperties = {}\n if (isHeader) {\n newClassName = className?.concat(' ', 'SRC-lightLink')\n }\n // PORTALS-1913: special rendering for user ID lists\n if (columnModelType === ColumnTypeEnum.USERID_LIST && strList) {\n return (\n <p>\n {strList.map((val: string, index: number) => {\n return (\n <Fragment key={val}>\n <UserBadge userId={val} className={newClassName} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n }\n if (columnModelType === ColumnTypeEnum.USERID && str) {\n return <UserBadge userId={str} className={newClassName} />\n }\n\n if (columnModelType === ColumnTypeEnum.ENTITYID_LIST && strList) {\n return (\n <p>\n {strList.map((entityId: string, index: number) => {\n return (\n <Fragment key={entityId}>\n <EntityLink entity={entityId} className={newClassName} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n }\n\n if (columnModelType === ColumnTypeEnum.ENTITYID && str && !labelLink) {\n return <EntityLink entity={str} className={newClassName} />\n }\n\n // NFINT-906\n if (columnModelType === ColumnTypeEnum.DATE && str) {\n return <p>{formatDate(dayjs(Number(str)))}</p>\n }\n\n if (!labelLink) {\n if (strList) {\n return (\n <>\n {strList.map((el, index) => (\n <Fragment key={el}>\n <LabelMaybeWithIcon value={el} iconConfig={iconConfig}>\n <Linkify text={el} className={newClassName} />\n </LabelMaybeWithIcon>\n {index < strList.length - 1 && separator}\n </Fragment>\n ))}\n </>\n )\n }\n return (\n <LabelMaybeWithIcon value={str} iconConfig={iconConfig}>\n <Linkify text={str} className={newClassName} />\n </LabelMaybeWithIcon>\n )\n }\n\n if ('resolveEntityName' in labelLink && labelLink.resolveEntityName && str) {\n return <EntityLink entity={str} showIcon={false} />\n }\n\n let labelContent: ReactNode\n\n if (\n 'isMapValueToReactNodeConfig' in labelLink &&\n labelLink.isMapValueToReactNodeConfig\n ) {\n const { Component } = labelLink\n labelContent = (\n <Component value={strList || str} selectColumn={selectColumn!} />\n )\n } else if ('isMarkdown' in labelLink && labelLink.isMarkdown) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <MarkdownSynapse key={el} renderInline={true} markdown={el} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <MarkdownSynapse renderInline={true} markdown={value} />\n }\n } else if ('isEntityImage' in labelLink && labelLink.isEntityImage) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <EntityColumnImage entityId={el} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <EntityColumnImage entityId={value} />\n }\n } else {\n const split = strList ? strList : str.split(',')\n let linkTarget: TargetEnum | undefined = undefined\n if ('target' in labelLink) {\n linkTarget = labelLink.target!\n }\n if ('linkColumnName' in labelLink) {\n const linkIndex = getColumnIndex(\n labelLink.linkColumnName,\n selectColumns,\n columnModels,\n )\n if (linkIndex == null) {\n console.warn(\n `Could not determine column index of ${labelLink.linkColumnName}`,\n )\n labelContent = <>{value}</>\n } else {\n const href = rowData[linkIndex]\n\n if (isEmpty(href)) {\n labelContent = <>{value}</>\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n return (\n <Fragment key={el}>\n <SmartLink\n href={href ?? ''}\n target={linkTarget ?? TargetEnum.NEW_WINDOW}\n key={el}\n className={newClassName}\n style={style}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n const cardLink = labelLink as CardLink\n const elOrRowId = cardLink.overrideValueWithRowID ? rowId : el\n let href = ''\n if ('baseURL' in cardLink) {\n const {\n baseURL,\n URLColumnName,\n wrapValueWithParens,\n urlParamStyle = 'query-param',\n } = cardLink\n const value = wrapValueWithParens ? `(${elOrRowId})` : elOrRowId\n if (urlParamStyle === 'path-segment') {\n href = `/${baseURL}/${encodeURIComponent(String(value))}`\n } else {\n href = `/${baseURL}?${URLColumnName}=${value}`\n }\n } else if ('overrideLinkURLColumnName' in cardLink) {\n const overrideHrefIndex = getColumnIndex(\n cardLink.overrideLinkURLColumnName,\n selectColumns,\n columnModels,\n )\n if (overrideHrefIndex != null) {\n const overrideHrefData = rowData[overrideHrefIndex]\n if (overrideHrefData) {\n if (cardLink.overrideLinkURLColumnTransform) {\n href =\n cardLink.overrideLinkURLColumnTransform(overrideHrefData)\n } else {\n href = overrideHrefData\n }\n }\n }\n }\n\n return (\n <Fragment key={el}>\n <SmartLink\n href={href}\n key={el}\n className={newClassName}\n style={style}\n target={linkTarget ?? TargetEnum.CURRENT_WINDOW}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n\n if ('tooltipText' in labelLink && labelLink.tooltipText) {\n // wrap in a tooltip\n return (\n <Tooltip title={labelLink.tooltipText} enterNextDelay={300}>\n <span>{labelContent}</span>\n </Tooltip>\n )\n } else {\n return labelContent\n }\n}\n"],"mappings":"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"}
@@ -95,6 +95,12 @@ export type TableToGenericCardMapping = {
95
95
  downloadCartSynId?: string;
96
96
  /** Configuration to display a DOI, as well as the ability to create one for users with such permission */
97
97
  portalDoiConfiguration?: PortalDOIConfiguration;
98
+ /**
99
+ * Column name of a STRING_LIST of Data Use Ontology (DUO) values (ontology
100
+ * codes or term names). When set, the values are rendered as DUO tags in a
101
+ * "Data Usage Restrictions" row in the card's metadata section.
102
+ */
103
+ dataUseModifiersColumnName?: string;
98
104
  };
99
105
  export type TableRowGenericCardProps = {
100
106
  /** The schema that maps a table result to the GenericCard UI */
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowGenericCard.d.ts","sourceRoot":"","sources":["../../../src/components/GenericCard/TableRowGenericCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableRowGenericCard.d.ts","sourceRoot":"","sources":["../../../src/components/GenericCard/TableRowGenericCard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAA;AA2B9E,OAAO,EACL,WAAW,EAGX,YAAY,EAEb,MAAM,iCAAiC,CAAA;AACxC,OAAO,KAAyC,MAAM,OAAO,CAAA;AAI7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAIjD,OAAsB,EACpB,kBAAkB,EACnB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oDAAoD,CAAA;AAKjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAA;AAI3E,KAAK,sBAAsB,GAAG;IAC5B,4DAA4D;IAC5D,EAAE,EAAE;QACF,MAAM,EAAE,OAAO,CAAA;KAChB,CAAA;IACD,2FAA2F;IAC3F,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,kBAAkB,CAAA;KAC3B,CAAA;CACF,CAAA;AAED,KAAK,yBAAyB,GAAG;IAC/B,2DAA2D;IAC3D,EAAE,EAAE;QACF,MAAM,EAAE,QAAQ,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,gEAAgE;IAChE,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,QAAQ,CAAA;QAChB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF,CAAA;AAED,MAAM,MAAM,mBAAmB,GAC3B,sBAAsB,GACtB,yBAAyB,CAAA;AAE7B;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oGAAoG;IACpG,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;OAEG;IACH,uBAAuB,CAAC,EAAE,4BAA4B,CAAA;IACtD,6DAA6D;IAC7D,qBAAqB,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAA;IACxE,gDAAgD;IAChD,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2FAA2F;IAC3F,yBAAyB,CAAC,EAAE,MAAM,CAAA;IAClC,gHAAgH;IAChH,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,kDAAkD;IAClD,0BAA0B,CAAC,EAAE;QAC3B,8BAA8B;QAC9B,GAAG,EAAE,MAAM,CAAA;QACX,2BAA2B;QAC3B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;QACtB;;;WAGG;QACH,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAA;KACvE,CAAA;IACD,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+HAA+H;IAC/H,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;;OAOG;IACH,gBAAgB,CAAC,EACb,MAAM,EAAE,GACR,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC,CAAA;IAClE;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAA;IACzC,0IAA0I;IAC1I,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,0GAA0G;IAC1G,sBAAsB,CAAC,EAAE,sBAAsB,CAAA;IAC/C;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,gEAAgE;IAChE,iBAAiB,EAAE,yBAAyB,CAAA;IAC5C,gCAAgC;IAChC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAA;IAC9B,+BAA+B;IAC/B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAA;IAC5B,oFAAoF;IACpF,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,0DAA0D;IAC1D,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,mBAAmB;IACnB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qDAAqD;IACrD,wBAAwB,CAAC,EAAE,kBAAkB,CAAA;IAC7C,mHAAmH;IACnH,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC9B,IAAI,EAAE,MAAM,EAAE,CAAA;KACf,CAAC,CAAA;CACH,GAAG,eAAe,CAAA;AAmBnB;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CAwdlE;AAED,eAAe,mBAAmB,CAAA"}
@@ -19,25 +19,27 @@ import { EntityDownloadConfirmation as de } from "../EntityDownloadConfirmation/
19
19
  import "../EntityDownloadConfirmation/index.js";
20
20
  import { useQueryContext as fe } from "../QueryContext/QueryContext.js";
21
21
  import pe from "../IconList.js";
22
- import { useQueryVisualizationContext as me } from "../QueryVisualizationWrapper/QueryVisualizationContext.js";
22
+ import { parseDuoModifiers as me } from "./DuoTermTags/duoTerms.js";
23
+ import he from "./DuoTermTags/DuoTermTags.js";
24
+ import { useQueryVisualizationContext as ge } from "../QueryVisualizationWrapper/QueryVisualizationContext.js";
23
25
  import "../QueryVisualizationWrapper/index.js";
24
- import he from "../ShareThisPage/ShareThisPage.js";
25
- import { GenericCard as ge } from "./GenericCard.js";
26
+ import _e from "../ShareThisPage/ShareThisPage.js";
27
+ import { GenericCard as ve } from "./GenericCard.js";
26
28
  import { SynapseCardLabel as l } from "./SynapseCardLabel.js";
27
- import { useResolvedSynapseEntity as _e } from "./useResolvedSynapseEntity.js";
28
- import { useCallback as ve, useMemo as u, useState as d } from "react";
29
- import { Box as ye, Collapse as be, Link as xe, Stack as f, Typography as Se } from "@mui/material";
30
- import { Fragment as Ce, jsx as p, jsxs as m } from "react/jsx-runtime";
31
- import { ColumnTypeEnum as we } from "@sage-bionetworks/synapse-types";
32
- import { GetAppTwoTone as Te } from "@mui/icons-material";
33
- import { useInView as Ee } from "react-intersection-observer";
29
+ import { useResolvedSynapseEntity as ye } from "./useResolvedSynapseEntity.js";
30
+ import { useCallback as be, useMemo as u, useState as d } from "react";
31
+ import { Box as xe, Collapse as Se, Link as Ce, Stack as f, Typography as we } from "@mui/material";
32
+ import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
33
+ import { ColumnTypeEnum as Te } from "@sage-bionetworks/synapse-types";
34
+ import { GetAppTwoTone as Ee } from "@mui/icons-material";
35
+ import { useInView as De } from "react-intersection-observer";
34
36
  //#region src/components/GenericCard/TableRowGenericCard.tsx
35
- function De(e) {
37
+ function Oe(e) {
36
38
  let { synapseId: n, version: r } = e;
37
- return /* @__PURE__ */ m("span", { children: [
39
+ return /* @__PURE__ */ h("span", { children: [
38
40
  r,
39
41
  "\xA0\xA0",
40
- /* @__PURE__ */ p("a", {
42
+ /* @__PURE__ */ m("a", {
41
43
  target: s.NEW_WINDOW,
42
44
  rel: "noopener noreferrer",
43
45
  href: `${t.PORTAL}Synapse:${n}.${r}`,
@@ -45,136 +47,148 @@ function De(e) {
45
47
  })
46
48
  ] });
47
49
  }
48
- function h(t) {
49
- let [s, h] = d(!1), [Oe, ke] = d(!1), { entityId: Ae, versionNumber: je } = fe(), { getColumnDisplayName: g } = me(), { ref: Me, inView: Ne } = Ee(), { data: _ } = ee(Ae, je), { schema: v, data: y, rowId: b, versionNumber: Pe, genericCardSchema: x, secondaryLabelLimit: Fe, sharePageLinkButtonProps: Ie, selectColumns: S, columnModels: C, iconOptions: Le, useTypeColumnForIcon: w = !1, isHeader: T = !1, sustainabilityScorecard: Re, headerCardVariant: ze, titleLinkConfig: E, ctaLinkConfig: D, ctaLinkPosition: Be, labelLinkConfig: Ve, descriptionConfig: He, columnIconOptions: O, CardTypeAdornment: k, charCountCutoff: Ue } = t, { link: We = "", type: A, includeCitation: Ge, includeShareButton: Ke, defaultCitationFormat: qe, citationBoilerplateText: Je, downloadCartSynId: j, portalDoiConfiguration: M } = x, N = y[v[x.title]], P = x.subTitle && y[v[x.subTitle]];
50
- P = x.subTitle && ne({
51
- value: P,
52
- columnName: x.subTitle,
53
- selectColumns: S,
54
- columnModels: C
50
+ function g(t) {
51
+ let [s, g] = d(!1), [ke, Ae] = d(!1), { entityId: je, versionNumber: Me } = fe(), { getColumnDisplayName: _ } = ge(), { ref: Ne, inView: Pe } = De(), { data: v } = ee(je, Me), { schema: y, data: b, rowId: x, versionNumber: Fe, genericCardSchema: S, secondaryLabelLimit: Ie, sharePageLinkButtonProps: Le, selectColumns: C, columnModels: w, iconOptions: Re, useTypeColumnForIcon: T = !1, isHeader: E = !1, sustainabilityScorecard: ze, headerCardVariant: Be, titleLinkConfig: D, ctaLinkConfig: O, ctaLinkPosition: Ve, labelLinkConfig: He, descriptionConfig: Ue, columnIconOptions: k, CardTypeAdornment: A, charCountCutoff: We } = t, { link: Ge = "", type: j, includeCitation: Ke, includeShareButton: qe, defaultCitationFormat: Je, citationBoilerplateText: Ye, downloadCartSynId: M, portalDoiConfiguration: N } = S, P = b[y[S.title]], F = S.subTitle && b[y[S.subTitle]];
52
+ F = S.subTitle && ne({
53
+ value: F,
54
+ columnName: S.subTitle,
55
+ selectColumns: C,
56
+ columnModels: w
55
57
  }).str;
56
- let Ye = y[v[x.description || ""]], F = y[v[x.icon || ""]], I = y[v[x.dataTypeIconNames || ""]], L = y[v[x.imageFileHandleColumnName || ""]], Xe = C?.find((e) => x.link === e.name)?.columnType, R = y[v[We]] || "", { href: Ze, target: Qe } = c(R, E, y, v, b), $e = x.synapseEntityConfig, z = ve((e) => {
58
+ let Xe = b[y[S.description || ""]], I = b[y[S.icon || ""]], L = b[y[S.dataTypeIconNames || ""]], R = b[y[S.imageFileHandleColumnName || ""]], Ze = w?.find((e) => S.link === e.name)?.columnType, z = b[y[Ge]] || "", { href: Qe, target: $e } = c(z, D, b, y, x), et = S.synapseEntityConfig, B = be((e) => {
57
59
  if (!e) return;
58
- let t = v[e];
59
- if (t !== void 0) return y[t];
60
- }, [v, y]), et = u(() => {
61
- let { titleAreaDetails: e } = x;
60
+ let t = y[e];
61
+ if (t !== void 0) return b[t];
62
+ }, [y, b]), V = u(() => {
63
+ let e = S.dataUseModifiersColumnName;
62
64
  if (!e) return;
63
- let t = typeof e == "function" ? e(v, y) : e;
65
+ let t = me(b[y[e]]);
66
+ if (t.length !== 0) return /* @__PURE__ */ m(he, { terms: t });
67
+ }, [
68
+ S,
69
+ b,
70
+ y
71
+ ]), tt = u(() => {
72
+ let { titleAreaDetails: e } = S;
73
+ if (!e) return;
74
+ let t = typeof e == "function" ? e(y, b) : e;
64
75
  if (t.length === 0) return;
65
76
  let n = t.map((e) => {
66
- let t = y[v[e]];
77
+ let t = b[y[e]];
67
78
  return t ? {
68
- name: g(e),
79
+ name: _(e),
69
80
  rawValue: t,
70
81
  columnName: e
71
82
  } : null;
72
83
  }).filter(Boolean);
73
- if (n.length !== 0) return /* @__PURE__ */ p(f, {
84
+ if (n.length !== 0) return /* @__PURE__ */ m(f, {
74
85
  direction: "column",
75
86
  gap: "4px",
76
- children: n.map(({ name: e, rawValue: t, columnName: n }) => /* @__PURE__ */ m(f, {
87
+ children: n.map(({ name: e, rawValue: t, columnName: n }) => /* @__PURE__ */ h(f, {
77
88
  direction: "row",
78
89
  gap: "4px",
79
90
  alignItems: "center",
80
- children: [/* @__PURE__ */ m(Se, {
91
+ children: [/* @__PURE__ */ h(we, {
81
92
  component: "span",
82
93
  variant: "body1",
83
94
  children: [e, ":"]
84
- }), /* @__PURE__ */ p(l, {
95
+ }), /* @__PURE__ */ m(l, {
85
96
  value: t,
86
97
  columnName: n,
87
98
  labelLink: void 0,
88
- isHeader: T,
89
- selectColumns: S,
90
- columnModels: C,
91
- rowData: y,
92
- columnIconOptions: O
99
+ isHeader: E,
100
+ selectColumns: C,
101
+ columnModels: w,
102
+ rowData: b,
103
+ columnIconOptions: k
93
104
  })]
94
105
  }, n))
95
106
  });
96
107
  }, [
97
- x,
98
- y,
99
- v,
100
- g,
101
- T,
102
108
  S,
109
+ b,
110
+ y,
111
+ _,
112
+ E,
103
113
  C,
104
- O
105
- ]), { entityId: B, entityVersionNumber: V } = _e({
106
- synapseEntityConfig: $e,
107
- getColumnValue: z,
108
- rowId: b,
109
- rowVersionNumber: Pe
110
- }), H = B, U = V;
111
- if (j) {
112
- let e = a(z(j) ?? "");
113
- H = e?.targetId, U = e?.targetVersionNumber;
114
+ w,
115
+ k
116
+ ]), { entityId: H, entityVersionNumber: U } = ye({
117
+ synapseEntityConfig: et,
118
+ getColumnValue: B,
119
+ rowId: x,
120
+ rowVersionNumber: Fe
121
+ }), W = H, G = U;
122
+ if (M) {
123
+ let e = a(B(M) ?? "");
124
+ W = e?.targetId, G = e?.targetVersionNumber;
114
125
  }
115
- let W = se({
116
- data: u(() => le(y, v), [y, v]),
117
- portalDoiConfiguration: M
118
- }), tt = ce({
119
- portalId: M?.portalId,
120
- resourceId: W
121
- }), G = [], { secondaryLabels: K = [] } = x, q = x.customSecondaryLabelConfig;
122
- if (tt && M && W && Ne && G.push({
126
+ let K = se({
127
+ data: u(() => le(b, y), [b, y]),
128
+ portalDoiConfiguration: N
129
+ }), nt = ce({
130
+ portalId: N?.portalId,
131
+ resourceId: K
132
+ }), q = [], { secondaryLabels: J = [] } = S, Y = S.customSecondaryLabelConfig;
133
+ if (V && q.push({
134
+ columnDisplayName: "Data Usage Restrictions",
135
+ value: V
136
+ }), nt && N && K && Pe && q.push({
123
137
  columnDisplayName: "DOI",
124
- value: /* @__PURE__ */ p(oe, {
125
- portalId: M.portalId,
126
- resourceId: W
138
+ value: /* @__PURE__ */ m(oe, {
139
+ portalId: N.portalId,
140
+ resourceId: K
127
141
  })
128
- }), q?.isVisible(v, y)) {
129
- let { key: e, value: t } = q;
130
- H ? G.push({
142
+ }), Y?.isVisible(y, b)) {
143
+ let { key: e, value: t } = Y;
144
+ W ? q.push({
131
145
  columnDisplayName: "HOW TO DOWNLOAD",
132
- value: /* @__PURE__ */ p(xe, {
133
- onClick: () => h((e) => !e),
146
+ value: /* @__PURE__ */ m(Ce, {
147
+ onClick: () => g((e) => !e),
134
148
  children: "Click here to add to Synapse download list"
135
149
  })
136
- }) : G.push({
150
+ }) : q.push({
137
151
  columnDisplayName: e,
138
152
  value: t
139
153
  });
140
154
  }
141
- let nt = _ && !i(_);
142
- for (let e = 0; e < K.length; e += 1) {
143
- let t = K[e], i = y[v[t]], a = i, o;
155
+ let rt = v && !i(v);
156
+ for (let e = 0; e < J.length; e += 1) {
157
+ let t = J[e], i = b[y[t]], a = i, o;
144
158
  if (a && i !== "[]" && i !== "[\"\"]") {
145
- if (r(_) && t === "datasetSizeInBytes") o = "Size", a = n(parseInt(i));
146
- else if (nt && t === "currentVersion") {
147
- let e = y[v.id];
148
- a = /* @__PURE__ */ p(De, {
159
+ if (r(v) && t === "datasetSizeInBytes") o = "Size", a = n(parseInt(i));
160
+ else if (rt && t === "currentVersion") {
161
+ let e = b[y.id];
162
+ a = /* @__PURE__ */ m(Oe, {
149
163
  synapseId: e,
150
164
  version: i
151
165
  }), o = "Version";
152
166
  } else {
153
- let e = Ve?.find((e) => e.matchColumnName === t);
154
- a = /* @__PURE__ */ p(l, {
167
+ let e = He?.find((e) => e.matchColumnName === t);
168
+ a = /* @__PURE__ */ m(l, {
155
169
  value: i,
156
170
  columnName: t,
157
171
  labelLink: e,
158
- isHeader: T,
159
- selectColumns: S,
160
- columnModels: C,
161
- rowData: y,
162
- columnIconOptions: O
163
- }), o = g(t);
172
+ isHeader: E,
173
+ selectColumns: C,
174
+ columnModels: w,
175
+ rowData: b,
176
+ columnIconOptions: k
177
+ }), o = _(t);
164
178
  }
165
- G.push({
179
+ q.push({
166
180
  columnDisplayName: o,
167
181
  value: a,
168
182
  columnName: t
169
183
  });
170
184
  }
171
185
  }
172
- let J = te(_, L || R, y[v.id]), rt = g(x.description || ""), Y = o("doi", S, C), X = Y === void 0 ? void 0 : y[Y], Z = (D ? Array.isArray(D) ? D : [D] : []).map((e) => {
173
- let t = y[v[e.link]] || "";
186
+ let X = te(v, R || z, b[y.id]), it = _(S.description || ""), Z = o("doi", C, w), Q = Z === void 0 ? void 0 : b[Z], at = (O ? Array.isArray(O) ? O : [O] : []).map((e) => {
187
+ let t = b[y[e.link]] || "";
174
188
  if (!t) return null;
175
- let { href: n, target: r } = c(t, void 0, y, v, b);
189
+ let { href: n, target: r } = c(t, void 0, b, y, x);
176
190
  return {
177
- text: e.endIcon ? /* @__PURE__ */ m("div", {
191
+ text: e.endIcon ? /* @__PURE__ */ h("div", {
178
192
  style: {
179
193
  display: "flex",
180
194
  alignItems: "center",
@@ -185,98 +199,99 @@ function h(t) {
185
199
  href: n,
186
200
  target: r
187
201
  };
188
- }).filter(Boolean), Q = /* @__PURE__ */ p(Ce, {});
189
- B != null && V != null && (Q = /* @__PURE__ */ p(ie, {
190
- datasetId: B,
191
- datasetVersionNumber: V
202
+ }).filter(Boolean), ot = /* @__PURE__ */ m(p, {});
203
+ H != null && U != null && (ot = /* @__PURE__ */ m(ie, {
204
+ datasetId: H,
205
+ datasetVersionNumber: U
192
206
  }));
193
- let it = k ? /* @__PURE__ */ p(k, {
194
- schema: v,
195
- data: y
207
+ let st = A ? /* @__PURE__ */ m(A, {
208
+ schema: y,
209
+ data: b
196
210
  }) : null, $ = !0;
197
- return T && !L && !F && ($ = !1), /* @__PURE__ */ p(ge, {
198
- ref: Me,
199
- icon: $ ? /* @__PURE__ */ p(ae, {
200
- type: w ? y[v.type] : x.type,
201
- useTypeForIcon: w,
202
- thumbnailRequiresPadding: x.thumbnailRequiresPadding,
203
- imageFileHandleId: L,
204
- fileHandleAssociation: J,
205
- iconOptions: Le,
206
- iconValue: F
211
+ return E && !R && !I && ($ = !1), /* @__PURE__ */ m(ve, {
212
+ ref: Ne,
213
+ icon: $ ? /* @__PURE__ */ m(ae, {
214
+ type: T ? b[y.type] : S.type,
215
+ useTypeForIcon: T,
216
+ thumbnailRequiresPadding: S.thumbnailRequiresPadding,
217
+ imageFileHandleId: R,
218
+ fileHandleAssociation: X,
219
+ iconOptions: Re,
220
+ iconValue: I
207
221
  }) : void 0,
208
- isHeader: T,
209
- sustainabilityScorecard: Re,
210
- headerCardVariant: ze,
211
- type: A,
212
- title: N,
213
- subtitle: P,
222
+ isHeader: E,
223
+ sustainabilityScorecard: ze,
224
+ headerCardVariant: Be,
225
+ type: j,
226
+ title: P,
227
+ subtitle: F,
214
228
  titleLinkConfiguration: {
215
- target: Qe,
216
- href: Ze
229
+ target: $e,
230
+ href: Qe
217
231
  },
218
- cardTypeAdornment: it,
219
- titleAsFileHandleLinkConfiguration: !E && Xe === we.FILEHANDLEID && J ? {
220
- fileHandleAssociation: J,
221
- showDownloadIcon: A !== e
232
+ cardTypeAdornment: st,
233
+ titleAsFileHandleLinkConfiguration: !D && Ze === Te.FILEHANDLEID && X ? {
234
+ fileHandleAssociation: X,
235
+ showDownloadIcon: j !== e
222
236
  } : void 0,
223
- ctaLinkConfig: Z.length > 0 ? Z : void 0,
224
- ctaLinkPosition: Be,
225
- titleAreaRightContent: et,
226
- description: Ye,
227
- descriptionSubTitle: rt,
228
- descriptionConfig: He,
229
- charCountCutoff: Ue,
230
- labels: G,
231
- secondaryLabelLimit: Fe,
232
- useStylesForDisplayedImage: !!L,
233
- cardTopContent: H && /* @__PURE__ */ p(be, {
237
+ ctaLinkConfig: at.length > 0 ? at : void 0,
238
+ ctaLinkPosition: Ve,
239
+ titleAreaRightContent: tt,
240
+ description: Xe,
241
+ descriptionSubTitle: it,
242
+ descriptionConfig: Ue,
243
+ charCountCutoff: We,
244
+ labels: q,
245
+ secondaryLabelLimit: Ie,
246
+ useStylesForDisplayedImage: !!R,
247
+ cardTopContent: /* @__PURE__ */ m(p, { children: W && /* @__PURE__ */ m(Se, {
234
248
  in: s,
235
- children: /* @__PURE__ */ p(de, {
236
- entityId: H,
237
- versionNumber: U,
238
- handleClose: () => h(!1),
249
+ children: /* @__PURE__ */ m(de, {
250
+ entityId: W,
251
+ versionNumber: G,
252
+ handleClose: () => g(!1),
239
253
  onIsLoadingChange: (e) => {
240
- ke(e);
254
+ Ae(e);
241
255
  }
242
256
  })
243
- }),
244
- renderedIconList: O?.columns?.dataType && I?.length && /* @__PURE__ */ p("div", {
257
+ }) }),
258
+ renderedIconList: k?.columns?.dataType && L?.length && /* @__PURE__ */ m("div", {
245
259
  style: { marginTop: "20px" },
246
- children: /* @__PURE__ */ p(pe, {
247
- iconConfigs: O.columns.dataType,
248
- iconNames: JSON.parse(I),
260
+ children: /* @__PURE__ */ m(pe, {
261
+ iconConfigs: k.columns.dataType,
262
+ iconNames: JSON.parse(L),
249
263
  commonIconProps: { sx: { fontSize: "40px" } },
250
264
  useBackground: !0,
251
265
  useTheme: !0
252
266
  })
253
267
  }),
254
- cardTopButtons: /* @__PURE__ */ m(ye, {
268
+ cardTopButtons: /* @__PURE__ */ h(xe, {
255
269
  sx: {
256
270
  display: "flex",
257
- gap: 1
271
+ gap: 1,
272
+ alignItems: "center"
258
273
  },
259
274
  children: [
260
- Q,
261
- H && /* @__PURE__ */ p(re, {
262
- onClick: () => h((e) => !e),
275
+ ot,
276
+ W && /* @__PURE__ */ m(re, {
277
+ onClick: () => g((e) => !e),
263
278
  variant: "outlined",
264
- startIcon: /* @__PURE__ */ p(Te, { sx: { height: "12px" } }),
265
- loading: Oe,
279
+ startIcon: /* @__PURE__ */ m(Ee, { sx: { height: "12px" } }),
280
+ loading: ke,
266
281
  children: "Download"
267
282
  }),
268
- Ge && X && /* @__PURE__ */ p(ue, {
269
- title: N,
270
- doi: X,
271
- boilerplateText: Je,
272
- defaultCitationFormat: qe
283
+ Ke && Q && /* @__PURE__ */ m(ue, {
284
+ title: P,
285
+ doi: Q,
286
+ boilerplateText: Ye,
287
+ defaultCitationFormat: Je
273
288
  }),
274
- Ke && T && /* @__PURE__ */ p(he, { ...Ie })
289
+ qe && E && /* @__PURE__ */ m(_e, { ...Le })
275
290
  ]
276
291
  })
277
292
  });
278
293
  }
279
294
  //#endregion
280
- export { h as TableRowGenericCard, h as default };
295
+ export { g as TableRowGenericCard, g as default };
281
296
 
282
297
  //# sourceMappingURL=TableRowGenericCard.js.map