@procore/core-react 12.40.0 → 12.42.0
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/CHANGELOG.md +39 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +3 -3
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.d.ts +1 -1
- package/dist/AvatarStack/AvatarStack.js +29 -6
- package/dist/AvatarStack/AvatarStack.js.map +1 -1
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- package/dist/AvatarStack/AvatarStack.types.d.ts +7 -0
- package/dist/AvatarStack/AvatarStack.types.js.map +1 -1
- package/dist/Badge/Badge.styles.js +2 -2
- package/dist/BadgePill/BadgePill.styles.js +4 -4
- package/dist/Banner/Banner.styles.js +10 -10
- package/dist/Box/Box.styles.js +1 -1
- package/dist/Breadcrumbs/Breadcrumbs.styles.js +4 -4
- package/dist/Button/Button.styles.js +5 -5
- package/dist/Calendar/Calendar.styles.js +9 -9
- package/dist/Card/Card.styles.js +1 -1
- package/dist/Checkbox/Checkbox.styles.js +6 -6
- package/dist/ContactItem/ContactItem.js +7 -3
- package/dist/ContactItem/ContactItem.js.map +1 -1
- package/dist/ContactItem/ContactItem.styles.js +5 -5
- package/dist/Content/Content.styles.js +2 -2
- package/dist/DateInput/DateInput.styles.js +6 -6
- package/dist/DetailPage/DetailPage.styles.js +7 -7
- package/dist/Dropdown/Dropdown.styles.js +3 -3
- package/dist/DropdownFlyout/DropdownFlyout.styles.js +4 -4
- package/dist/Dropzone/Dropzone.js +1 -1
- package/dist/Dropzone/Dropzone.styles.js +10 -10
- package/dist/Dropzone/Dropzone.styles.js.map +1 -1
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.styles.js +3 -3
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.d.ts +8 -15
- package/dist/FileSelect/FileSelect.js +8 -15
- package/dist/FileSelect/FileSelect.js.map +1 -1
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- package/dist/FileSelect/FileTokenList/FileTokenList.d.ts +8 -0
- package/dist/FileSelect/FileTokenList/FileTokenList.js +9 -0
- package/dist/FileSelect/FileTokenList/FileTokenList.js.map +1 -1
- package/dist/FileSelect/FileTokenList/FileTokenList.styles.js +2 -2
- package/dist/FileSelect/GridSource/GridSource.styles.js +6 -6
- package/dist/FileSelect/LocalSource/LocalSource.styles.js +4 -4
- package/dist/FileSelect/SourceItem/SourceItem.styles.js +3 -3
- package/dist/FileSelect/ThumbnailList/ThumbnailList.styles.js +6 -6
- package/dist/FileSelect/TreeSource/TreeSource.styles.js +1 -1
- package/dist/FileToken/FileToken.styles.js +6 -6
- package/dist/FilterToken/FilterToken.styles.js +5 -5
- package/dist/FlexList/FlexList.styles.js +1 -1
- package/dist/Form/Form.styles.js +13 -13
- package/dist/Form/StyledFormikForm.styles.js +2 -2
- package/dist/GhostPlaceholder/GhostPlaceholder.styles.js +2 -2
- package/dist/Grid/Grid.styles.js +2 -2
- package/dist/GroupSelect/GroupSelect.styles.js +1 -1
- package/dist/Input/Input.styles.js +1 -1
- package/dist/Link/Link.styles.js +1 -1
- package/dist/ListPage/ListPage.styles.js +8 -8
- package/dist/Loader/Loader.styles.js +2 -2
- package/dist/MenuImperative/MenuImperative.d.ts +1 -1
- package/dist/MenuImperative/MenuImperative.js +126 -34
- package/dist/MenuImperative/MenuImperative.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.styles.js +15 -15
- package/dist/MenuImperative/MenuImperative.styles.js.map +1 -1
- package/dist/MenuImperative/MenuImperative.types.d.ts +36 -0
- package/dist/MenuImperative/MenuImperative.types.js.map +1 -1
- package/dist/MenuImperative/sensors.d.ts +6 -3
- package/dist/MenuImperative/sensors.js +42 -34
- package/dist/MenuImperative/sensors.js.map +1 -1
- package/dist/Modal/Modal.d.ts +4 -0
- package/dist/Modal/Modal.js +23 -13
- package/dist/Modal/Modal.js.map +1 -1
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/Modal/Modal.types.d.ts +28 -5
- package/dist/Modal/Modal.types.js.map +1 -1
- package/dist/Modal/index.d.ts +1 -1
- package/dist/Modal/index.js.map +1 -1
- package/dist/MultiSelect/MultiSelect.styles.js +8 -8
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/Notation/Notation.js +1 -1
- package/dist/NumberInput/NumberInput.styles.js +7 -7
- package/dist/Overlay/OverlayArrow.styles.js +1 -1
- package/dist/OverlayTrigger/a11yPresets.d.ts +17 -24
- package/dist/OverlayTrigger/a11yPresets.js +29 -27
- package/dist/OverlayTrigger/a11yPresets.js.map +1 -1
- package/dist/PageLayout/PageLayout.styles.js +16 -16
- package/dist/PageTemplate/PageFooterTemplate/PageFooterTemplate.styles.js +1 -1
- package/dist/PageTemplate/PageHeaderTemplate/PageHeaderTemplate.styles.js +3 -3
- package/dist/PageTemplate/PagePaneTemplate/PagePaneTemplate.styles.js +2 -2
- package/dist/PageTemplate/PageTemplate/PageTemplate.styles.js +3 -3
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.d.ts +2 -1
- package/dist/PillSelect/PillSelect.js +59 -41
- package/dist/PillSelect/PillSelect.js.map +1 -1
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +4 -4
- package/dist/ProgressBar/ProgressBar.styles.js.map +1 -1
- package/dist/RadioButton/RadioButton.styles.js +3 -3
- package/dist/Required/Required.styles.js +3 -3
- package/dist/Search/Search.styles.js +5 -5
- package/dist/Section/Section.js +0 -1
- package/dist/Section/Section.js.map +1 -1
- package/dist/Section/Section.styles.js +7 -7
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- package/dist/Select/Select.d.ts +2 -0
- package/dist/Select/Select.js +108 -79
- package/dist/Select/Select.js.map +1 -1
- package/dist/Select/Select.styles.js +8 -8
- package/dist/Semantic/Semantic.styles.js +9 -9
- package/dist/Slider/Slider.styles.js +5 -5
- package/dist/Spinner/Spinner.styles.js +7 -7
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +38 -38
- package/dist/SuperSelect/useSuperSelect.js +2 -2
- package/dist/SuperSelect/useSuperSelect.js.map +1 -1
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +28 -28
- package/dist/Table/Table.types.d.ts +5 -2
- package/dist/Table/Table.types.js.map +1 -1
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +15 -15
- package/dist/Tearsheet/Tearsheet.js +1 -1
- package/dist/Tearsheet/Tearsheet.js.map +1 -1
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/Tearsheet/storybook/PageLayoutDemo.js +1 -0
- package/dist/Tearsheet/storybook/PageLayoutDemo.js.map +1 -1
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.js +126 -46
- package/dist/Thumbnail/Thumbnail.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.styles.js +17 -17
- package/dist/Thumbnail/Thumbnail.types.d.ts +12 -0
- package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.utils.d.ts +2 -0
- package/dist/Thumbnail/Thumbnail.utils.js +6 -0
- package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
- package/dist/Thumbnail/ThumbnailCaption.js +45 -52
- package/dist/Thumbnail/ThumbnailCaption.js.map +1 -1
- package/dist/ThumbnailGrid/ThumbnailGrid.styles.js +7 -7
- package/dist/TieredSelect/TieredSelect.styles.js +9 -9
- package/dist/Tile/Tile.styles.js +8 -8
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +1 -1
- package/dist/Token/Token.styles.js +3 -3
- package/dist/ToolHeader/ToolHeader.styles.js +6 -6
- package/dist/ToolLandingPage/ToolLandingPage.styles.js +3 -3
- package/dist/Tooltip/Tooltip.styles.js +3 -3
- package/dist/Tree/Tree.js +1 -1
- package/dist/Tree/Tree.styles.js +10 -10
- package/dist/Typeahead/Typeahead.styles.js +3 -3
- package/dist/Typography/Typography.styles.js +1 -1
- package/dist/Typography/Typography.table.story.js +2 -2
- package/dist/_hooks/I18n.d.ts +22 -153
- package/dist/_locales/de-DE.json +1 -10
- package/dist/_locales/en-AU.json +1 -10
- package/dist/_locales/en-CA.json +1 -10
- package/dist/_locales/en-GB.json +1 -10
- package/dist/_locales/en.json +13 -2
- package/dist/_locales/es-ES.json +1 -10
- package/dist/_locales/es.json +1 -10
- package/dist/_locales/fr-CA.json +1 -10
- package/dist/_locales/fr-FR.json +1 -10
- package/dist/_locales/is-IS.json +1 -10
- package/dist/_locales/it-IT.json +1 -10
- package/dist/_locales/ja-JP.json +1 -10
- package/dist/_locales/pl-PL.json +1 -10
- package/dist/_locales/pseudo.json +13 -2
- package/dist/_locales/pt-BR.json +1 -10
- package/dist/_locales/pt-PT.json +2 -11
- package/dist/_locales/th-TH.json +1 -10
- package/dist/_locales/zh-SG.json +1 -10
- package/dist/_locales/zh-TW.json +1 -10
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
- package/dist/_styles/colors.js +1 -3
- package/dist/_styles/colors.js.map +1 -1
- package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +3 -3
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +34 -24
- package/dist/_typedoc/Badge/Badge.types.json +6 -6
- package/dist/_typedoc/Banner/Banner.types.json +15 -15
- package/dist/_typedoc/Box/Box.types.json +68 -68
- package/dist/_typedoc/Breadcrumbs/Breadcrumbs.types.json +10 -10
- package/dist/_typedoc/Button/Button.types.json +13 -13
- package/dist/_typedoc/Calendar/Calendar.types.json +80 -80
- package/dist/_typedoc/Card/Card.types.json +6 -6
- package/dist/_typedoc/Checkbox/Checkbox.types.json +8 -8
- package/dist/_typedoc/ContactItem/ContactItem.types.json +9 -9
- package/dist/_typedoc/DateInput/DateInput.types.json +35 -35
- package/dist/_typedoc/DateSelect/DateSelect.types.json +13 -13
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +37 -37
- package/dist/_typedoc/DropdownFlyout/DropdownFlyout.types.json +31 -31
- package/dist/_typedoc/Dropzone/Dropzone.types.json +44 -44
- package/dist/_typedoc/EmptyState/EmptyState.types.json +16 -16
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- package/dist/_typedoc/FileSelect/FileSelect.json +3 -3
- package/dist/_typedoc/FileSelect/FileSelect.types.json +27 -27
- package/dist/_typedoc/FileSelect/GridSource/GridSource.types.json +20 -20
- package/dist/_typedoc/FileSelect/LocalSource/LocalSource.types.json +14 -14
- package/dist/_typedoc/FileSelect/TreeSource/TreeSource.types.json +9 -9
- package/dist/_typedoc/Flex/Flex.types.json +27 -27
- package/dist/_typedoc/FlexList/FlexList.types.json +30 -30
- package/dist/_typedoc/Form/Form.types.json +760 -760
- package/dist/_typedoc/GhostPlaceholder/GhostPlaceholder.types.json +12 -12
- package/dist/_typedoc/Grid/Grid.types.json +8 -8
- package/dist/_typedoc/GroupSelect/GroupSelect.types.json +54 -54
- package/dist/_typedoc/Input/Input.types.json +2 -2
- package/dist/_typedoc/Link/Link.types.json +1 -1
- package/dist/_typedoc/ListPage/ListPage.types.json +13 -13
- package/dist/_typedoc/Menu/Menu.types.json +62 -62
- package/dist/_typedoc/MenuImperative/MenuImperative.types.json +147 -77
- package/dist/_typedoc/Modal/Modal.types.json +96 -68
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
- package/dist/_typedoc/NextTile/NextTile.types.json +32 -32
- package/dist/_typedoc/Notation/Notation.types.json +4 -4
- package/dist/_typedoc/NumberInput/NumberInput.types.json +48 -48
- package/dist/_typedoc/OverlayTrigger/OverlayTrigger.types.json +33 -33
- package/dist/_typedoc/PageLayout/PageLayout.types.json +28 -28
- package/dist/_typedoc/Pagination/Pagination.types.json +7 -7
- package/dist/_typedoc/Panel/Panel.types.json +27 -27
- package/dist/_typedoc/Pill/Pill.types.json +2 -2
- package/dist/_typedoc/PillSelect/PillSelect.types.json +49 -49
- package/dist/_typedoc/Popover/Popover.types.json +15 -15
- package/dist/_typedoc/ProgressBar/ProgressBar.types.json +7 -7
- package/dist/_typedoc/RadioButton/RadioButton.types.json +6 -6
- package/dist/_typedoc/Required/Required.types.json +5 -5
- package/dist/_typedoc/Search/Search.types.json +18 -18
- package/dist/_typedoc/Section/Section.types.json +15 -15
- package/dist/_typedoc/SegmentedController/SegmentedController.types.json +21 -21
- package/dist/_typedoc/Select/Select.types.json +67 -67
- package/dist/_typedoc/SettingsPage/SettingsPage.types.json +10 -10
- package/dist/_typedoc/Slider/Slider.types.json +6 -6
- package/dist/_typedoc/Spinner/Spinner.types.json +9 -9
- package/dist/_typedoc/SplitViewCard/SplitViewCard.types.json +14 -14
- package/dist/_typedoc/Table/Table.types.json +102 -102
- package/dist/_typedoc/Tabs/Tabs.types.json +21 -21
- package/dist/_typedoc/Tearsheet/Tearsheet.types.json +17 -17
- package/dist/_typedoc/TextArea/TextArea.types.json +3 -3
- package/dist/_typedoc/TextEditor/TextEditor.types.json +11 -11
- package/dist/_typedoc/TextEditorOutput/TextEditorOutput.types.json +4 -4
- package/dist/_typedoc/Thumbnail/Thumbnail.types.json +19 -19
- package/dist/_typedoc/TieredDropdown/TieredDropdown.types.json +43 -43
- package/dist/_typedoc/TieredSelect/TieredSelect.types.json +29 -29
- package/dist/_typedoc/Tile/Tile.types.json +8 -8
- package/dist/_typedoc/Title/Title.types.json +1 -1
- package/dist/_typedoc/Toast/Toast.types.json +4 -4
- package/dist/_typedoc/ToggleButton/ToggleButton.types.json +4 -4
- package/dist/_typedoc/Token/Token.types.json +7 -7
- package/dist/_typedoc/ToolHeader/ToolHeader.types.json +10 -10
- package/dist/_typedoc/ToolLandingPage/ToolLandingPage.types.json +8 -8
- package/dist/_typedoc/Tooltip/Tooltip.types.json +15 -15
- package/dist/_typedoc/Tree/Tree.types.json +88 -88
- package/dist/_typedoc/Typeahead/Typeahead.types.json +2 -2
- package/dist/_typedoc/Typography/Typography.types.json +9 -9
- package/dist/_typedoc/_utils/types.json +3 -3
- package/dist/_typedoc/deprecations.json +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thumbnail.js","names":["mergeProps","VisuallyHidden","React","useI18nContext","addSubcomponents","mergeRefs","useThumbnail","StyledFileIcon","StyledImageThumbnail","StyledImageThumbnailImage","StyledImageThumbnailOverlay","StyledLabel","StyledLabelText","StyledPlaceholderThumbnail","StyledThumbnailFigCaption","StyledThumbnailWrapper","StyledTickIcon","getThumbnailVariantForFilename","ThumbnailCaption","ThumbnailPreview","defaultSize","TickIcon","_ref","_ref$size","size","selected","i18n","createElement","t","undefined","focusable","$selected","$size","width","height","viewBox","fill","xmlns","d","fillRule","clipRule","FigCaption","_ref2","label","disabled","$color","Label","_ref3","intent","weight","BasePlaceholder","forwardRef","props","ref","_props$filename","_thumbnail$qa","thumbnail","hasCaptionPlaceholder","caption","_disabled","wrapperProps","_objectWithoutProperties","_excluded","_extends","$layout","layout","$focused","focused","$disabled","$clickable","clickable","toggleState","isSelected","variant","filename","error","qa","multiline","defaultValue","FigurePlaceholder","_props$filename2","_thumbnail$qa2","_role","role","_excluded2","as","CheckboxPlaceholder","_ref4","_props$filename3","_thumbnail$qa3","children","name","onChange","_qa","value","props_","_excluded3","_objectSpread","isDisabled","checked","defaultSelected","defaultChecked","src","_excluded4","isInputFocused","document","activeElement","inputRef","current","ariaLabel","filter","Boolean","join","preventSpaceOnDisabledThumbnail","e","key","preventDefault","useEffect","focus","onClick","_thumbnail$onClick","toggle","call","type","inputProps","focusProps","onKeyDown","PlaceholderInner","BaseThumbnail","_thumbnail$filename","_thumbnail$qa4","_excluded5","isImageURL","shouldUsePlaceholder","alt","file","FigureThumbnail","_thumbnail$filename2","_thumbnail$qa5","CheckboxThumbnail","_ref5","_thumbnail$filename3","_thumbnail$qa6","_excluded6","_excluded7","_thumbnail$onClick2","ThumbnailInner","isFile","File","console","warn","Thumbnail_","Placeholder","displayName","Thumbnail"],"sources":["../../src/Thumbnail/Thumbnail.tsx"],"sourcesContent":["import { mergeProps } from '@react-aria/utils'\nimport { VisuallyHidden } from '@react-aria/visually-hidden'\nimport React from 'react'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport { useThumbnail } from './Thumbnail.hooks'\nimport {\n StyledFileIcon,\n StyledImageThumbnail,\n StyledImageThumbnailImage,\n StyledImageThumbnailOverlay,\n StyledLabel,\n StyledLabelText,\n StyledPlaceholderThumbnail,\n StyledThumbnailFigCaption,\n StyledThumbnailWrapper,\n StyledTickIcon,\n} from './Thumbnail.styles'\nimport type {\n BasePlaceholderProps,\n BaseThumbnailProps,\n LabelProps,\n PlaceholderProps,\n ThumbnailProps,\n ThumbnailRef,\n ThumbnailRoles,\n ThumbnailRoleType,\n TickIconProps,\n} from './Thumbnail.types'\nimport { getThumbnailVariantForFilename } from './Thumbnail.utils'\nimport { ThumbnailCaption } from './ThumbnailCaption'\nimport { ThumbnailPreview } from './ThumbnailPreview'\n\nconst defaultSize = 'lg'\n\nfunction TickIcon({ size = defaultSize, selected }: TickIconProps) {\n const i18n = useI18nContext()\n return (\n <StyledTickIcon\n aria-hidden={selected ? false : true}\n aria-label={selected ? i18n.t('core.thumbnail.checked') : undefined}\n // in IE11, all svg element are focusable by default\n focusable={false}\n $selected={selected}\n $size={size}\n width=\"26\"\n height=\"26\"\n viewBox=\"0 0 26 26\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1 13C1 6.37258 6.37258 1 13 1C19.6274 1 25 6.37258 25 13C25 19.6274 19.6274 25 13 25C6.37258 25 1 19.6274 1 13Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.167 17.5L7 13.459L8.6155 12.0535L11.167 14.5285L17.3845 8.5L19 9.9055L11.167 17.5ZM13 1C6.3715 1 1 6.373 1 13C1 19.627 6.3715 25 13 25C19.627 25 25 19.627 25 13C25 6.373 19.627 1 13 1Z\"\n fill=\"hsl(218,75%,50%)\"\n />\n <path\n d=\"M13 24C6.92487 24 2 19.0751 2 13H0C0 20.1797 5.8203 26 13 26V24ZM24 13C24 19.0751 19.0751 24 13 24V26C20.1797 26 26 20.1797 26 13H24ZM13 2C19.0751 2 24 6.92487 24 13H26C26 5.8203 20.1797 0 13 0V2ZM13 0C5.8203 0 0 5.8203 0 13H2C2 6.92487 6.92487 2 13 2V0Z\"\n fill=\"white\"\n />\n </StyledTickIcon>\n )\n}\n\nfunction FigCaption({ label, disabled }: LabelProps) {\n if (!label) {\n return null\n }\n\n return (\n <StyledThumbnailFigCaption $color={disabled ? 'gray70' : 'gray15'}>\n {label}\n </StyledThumbnailFigCaption>\n )\n}\n\nfunction Label({ label }: LabelProps) {\n if (!label) {\n return null\n }\n\n return (\n <StyledLabel>\n <StyledLabelText intent=\"small\" weight=\"bold\">\n {label}\n </StyledLabelText>\n </StyledLabel>\n )\n}\n\nconst BasePlaceholder = React.forwardRef<\n HTMLDivElement,\n PlaceholderProps<undefined>\n>(function BasePlaceholder(\n props: PlaceholderProps<undefined>,\n ref: ThumbnailRef<undefined>\n) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n const {\n hasCaptionPlaceholder,\n caption,\n label,\n disabled: _disabled,\n ...wrapperProps\n } = props\n return (\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n )\n})\n\nconst FigurePlaceholder = React.forwardRef<\n HTMLElement,\n PlaceholderProps<'figure'>\n>(function FigurePlaceholder(\n props: PlaceholderProps<'figure'>,\n ref: ThumbnailRef<'figure'>\n) {\n const thumbnail = useThumbnail(props)\n const {\n hasCaptionPlaceholder,\n caption,\n label,\n disabled: _disabled,\n role: _role,\n ...wrapperProps\n } = props\n const i18n = useI18nContext()\n return (\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n as={thumbnail.as}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <FigCaption label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n )\n})\n\nconst CheckboxPlaceholder = React.forwardRef<\n HTMLInputElement,\n ThumbnailProps<'checkbox'>\n>(function CheckboxPlaceholder(\n { children, as, label, name, onChange, role, qa: _qa, value, ...props_ },\n ref\n) {\n const props = {\n ...props_,\n as,\n label,\n onChange,\n role,\n value,\n isDisabled: props_.disabled,\n isSelected: props_.checked,\n defaultSelected: props_.defaultChecked,\n }\n const thumbnail = useThumbnail(props)\n const { caption, hasCaptionPlaceholder, src, ...wrapperProps } = props_\n const isInputFocused = document.activeElement === thumbnail.inputRef.current\n\n const i18n = useI18nContext()\n const ariaLabel =\n [thumbnail.label, thumbnail.caption].filter(Boolean).join(' ') ||\n i18n.t('core.thumbnail.select')\n\n const preventSpaceOnDisabledThumbnail = (e: React.KeyboardEvent) => {\n if (e.key === ' ' && thumbnail.disabled) {\n e.preventDefault()\n }\n }\n\n React.useEffect(() => {\n if (props.focused && thumbnail.inputRef.current) {\n thumbnail.inputRef.current.focus()\n }\n }, [props.focused, thumbnail.inputRef])\n\n return (\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n onClick={(e: React.MouseEvent) => {\n if (!thumbnail.disabled) {\n thumbnail.toggleState.toggle()\n thumbnail.onClick?.(e)\n }\n }}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused || isInputFocused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n />\n <VisuallyHidden>\n <input\n type=\"checkbox\"\n ref={mergeRefs(thumbnail.inputRef, ref)}\n aria-label={ariaLabel}\n {...mergeProps(thumbnail.inputProps, thumbnail.focusProps)}\n disabled={thumbnail.disabled}\n onKeyDown={preventSpaceOnDisabledThumbnail}\n />\n </VisuallyHidden>\n </StyledThumbnailWrapper>\n )\n})\n\nfunction PlaceholderInner(\n props: PlaceholderProps<ThumbnailRoleType>,\n ref: ThumbnailRef<ThumbnailRoleType>\n) {\n switch (props.role) {\n case 'checkbox': {\n return (\n <CheckboxPlaceholder\n ref={ref as React.Ref<HTMLInputElement>}\n {...(props as PlaceholderProps<'checkbox'>)}\n />\n )\n }\n case 'figure': {\n return (\n <FigurePlaceholder\n ref={ref as React.Ref<HTMLElement>}\n {...(props as PlaceholderProps<'figure'>)}\n />\n )\n }\n default: {\n return (\n <BasePlaceholder\n ref={ref as React.Ref<HTMLDivElement>}\n {...(props as PlaceholderProps<undefined>)}\n />\n )\n }\n }\n}\n\nconst BaseThumbnail = React.forwardRef<\n HTMLDivElement,\n ThumbnailProps<undefined>\n>(function BaseThumbnail(\n props: ThumbnailProps<undefined>,\n ref: ThumbnailRef<undefined>\n) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n const {\n hasCaptionPlaceholder,\n disabled: _disabled,\n role: _role,\n ...wrapperProps\n } = props\n return (\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n >\n <StyledImageThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={thumbnail.error}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n )\n})\n\nconst FigureThumbnail = React.forwardRef<HTMLElement, ThumbnailProps<'figure'>>(\n function FigureThumbnail(\n props: ThumbnailProps<'figure'>,\n ref: ThumbnailRef<'figure'>\n ) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n return (\n <StyledThumbnailWrapper $layout={thumbnail.layout} $size={thumbnail.size}>\n <StyledImageThumbnail\n ref={ref}\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n as={thumbnail.as}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <FigCaption label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={thumbnail.error}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n )\n }\n)\n\nconst CheckboxThumbnail = React.forwardRef<\n HTMLInputElement,\n ThumbnailProps<'checkbox'>\n>(function CheckboxThumbnail(\n { children, as, label, name, onChange, role, qa: _qa, value, ...props_ },\n ref\n) {\n const props = {\n ...props_,\n as,\n label,\n name,\n onChange,\n role,\n value,\n isDisabled: props_.disabled,\n isSelected: props_.checked,\n defaultSelected: props_.defaultChecked,\n }\n const thumbnail = useThumbnail(props)\n const {\n caption,\n hasCaptionPlaceholder,\n src,\n disabled: _disabled,\n ...wrapperProps\n } = props_\n const isInputFocused = document.activeElement === thumbnail.inputRef.current\n\n const preventSpaceOnDisabledThumbnail = (\n e: React.KeyboardEvent<HTMLInputElement>\n ) => {\n if (e.key === ' ' && thumbnail.disabled) {\n e.preventDefault()\n }\n }\n\n React.useEffect(() => {\n if (props.focused && thumbnail.inputRef.current) {\n thumbnail.inputRef.current.focus()\n }\n }, [props.focused, thumbnail.inputRef])\n\n return (\n <StyledThumbnailWrapper\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n onClick={(e: React.MouseEvent) => {\n if (!thumbnail.disabled) {\n thumbnail.toggleState.toggle()\n thumbnail.onClick?.(e)\n }\n }}\n >\n <StyledImageThumbnail\n $focused={thumbnail.focused || isInputFocused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={props.error}\n />\n <VisuallyHidden>\n <input\n ref={mergeRefs(thumbnail.inputRef, ref)}\n type={'checkbox'}\n {...mergeProps(thumbnail.inputProps, thumbnail.focusProps)}\n disabled={thumbnail.disabled}\n onKeyDown={preventSpaceOnDisabledThumbnail}\n />\n </VisuallyHidden>\n </StyledThumbnailWrapper>\n )\n})\n\nfunction ThumbnailInner(\n props: ThumbnailProps<ThumbnailRoleType>,\n ref: ThumbnailRef<ThumbnailRoleType>\n) {\n const isFile = props.src instanceof File\n const isImageURL = typeof props.src === 'string'\n\n if (!isFile && !isImageURL) {\n console.warn('Unknown Thumbnail source:', props.src)\n }\n\n switch (props.role) {\n case 'checkbox': {\n return (\n <CheckboxThumbnail\n ref={ref as React.Ref<HTMLInputElement>}\n {...(props as ThumbnailProps<'checkbox'>)}\n />\n )\n }\n case 'figure': {\n return (\n <FigureThumbnail\n ref={ref as React.Ref<HTMLElement>}\n {...(props as ThumbnailProps<'figure'>)}\n />\n )\n }\n default: {\n return (\n <BaseThumbnail\n ref={ref as React.Ref<HTMLDivElement>}\n {...(props as PlaceholderProps<undefined>)}\n />\n )\n }\n }\n}\n\nconst Thumbnail_ = React.forwardRef(ThumbnailInner) as <\n Role extends ThumbnailRoles\n>(\n props:\n | ThumbnailProps<Role>\n | (BaseThumbnailProps & { ref?: ThumbnailRef<Role> })\n) => ReturnType<typeof ThumbnailInner>\n\nconst Placeholder = React.forwardRef(PlaceholderInner) as <\n Role extends ThumbnailRoles\n>(\n props:\n | PlaceholderProps<Role>\n | (BasePlaceholderProps & { ref?: ThumbnailRef<Role> })\n) => ReturnType<typeof PlaceholderInner>\n\n// @ts-ignore\nPlaceholder.displayName = 'Thumbnail.Placeholder'\n\n// @ts-ignore\nThumbnail_.displayName = 'Thumbnail'\n\n/**\n\n We use thumbnails to display previews for images or files as either a smaller\n version of an uploaded image, or an icon representing the file type. If an\n image preview can be generated from the file (in the case of images) then\n display that image.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-thumbnail--demo-thumbnail)\n\n @see [Design Guidelines](https://design.procore.com/thumbnail)\n\n */\nexport const Thumbnail = addSubcomponents({ Placeholder }, Thumbnail_)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Thumbnail.js","names":["mergeProps","VisuallyHidden","React","useState","Tooltip","useI18nContext","addSubcomponents","mergeRefs","useThumbnail","StyledFileIcon","StyledImageThumbnail","StyledImageThumbnailImage","StyledImageThumbnailOverlay","StyledLabel","StyledLabelText","StyledPlaceholderThumbnail","StyledThumbnailFigCaption","StyledThumbnailWrapper","StyledTickIcon","getThumbnailAriaLabel","getThumbnailVariantForFilename","ThumbnailCaption","ThumbnailPreview","defaultSize","TickIcon","_ref","_ref$size","size","selected","i18n","createElement","t","undefined","focusable","$selected","$size","width","height","viewBox","fill","xmlns","d","fillRule","clipRule","FigCaption","_ref2","label","disabled","$color","Label","_ref3","intent","weight","ThumbnailCaptionTooltip","_ref4","caption","captionOverflowing","children","overlay","Content","placement","trigger","BasePlaceholder","forwardRef","props","ref","_props$filename","_thumbnail$qa","thumbnail","_useState","_useState2","_slicedToArray","setCaptionOverflowing","hasCaptionPlaceholder","_disabled","wrapperProps","_objectWithoutProperties","_excluded","ariaLabel","_extends","$layout","layout","tabIndex","role","$focused","focused","$disabled","$clickable","clickable","toggleState","isSelected","variant","filename","error","qa","multiline","onCaptionOverflowChange","defaultValue","FigurePlaceholder","_props$filename2","_thumbnail$qa2","_useState3","_useState4","_role","_excluded2","as","CheckboxPlaceholder","_ref5","_props$filename3","_thumbnail$qa3","name","onChange","_qa","value","props_","_excluded3","_objectSpread","isDisabled","checked","defaultSelected","defaultChecked","_useState5","_useState6","src","_excluded4","isInputFocused","document","activeElement","inputRef","current","preventSpaceOnDisabledThumbnail","e","key","preventDefault","useEffect","focus","onClick","_thumbnail$onClick","toggle","call","type","inputProps","focusProps","onKeyDown","PlaceholderInner","BaseThumbnail","_thumbnail$filename","_thumbnail$qa4","_useState7","_useState8","_excluded5","isImageURL","shouldUsePlaceholder","alt","file","FigureThumbnail","_thumbnail$filename2","_thumbnail$qa5","_useState9","_useState0","CheckboxThumbnail","_ref6","_thumbnail$filename3","_thumbnail$qa6","_excluded6","_useState1","_useState10","_excluded7","_thumbnail$onClick2","ThumbnailInner","isFile","File","console","warn","Thumbnail_","Placeholder","displayName","Thumbnail"],"sources":["../../src/Thumbnail/Thumbnail.tsx"],"sourcesContent":["import { mergeProps } from '@react-aria/utils'\nimport { VisuallyHidden } from '@react-aria/visually-hidden'\nimport React, { useState } from 'react'\nimport { Tooltip } from '../Tooltip'\nimport { useI18nContext } from '../_hooks/I18n'\nimport { addSubcomponents } from '../_utils/addSubcomponents'\nimport { mergeRefs } from '../_utils/mergeRefs'\nimport { useThumbnail } from './Thumbnail.hooks'\nimport {\n StyledFileIcon,\n StyledImageThumbnail,\n StyledImageThumbnailImage,\n StyledImageThumbnailOverlay,\n StyledLabel,\n StyledLabelText,\n StyledPlaceholderThumbnail,\n StyledThumbnailFigCaption,\n StyledThumbnailWrapper,\n StyledTickIcon,\n} from './Thumbnail.styles'\nimport type {\n BasePlaceholderProps,\n BaseThumbnailProps,\n LabelProps,\n PlaceholderProps,\n ThumbnailProps,\n ThumbnailRef,\n ThumbnailRoles,\n ThumbnailRoleType,\n TickIconProps,\n} from './Thumbnail.types'\nimport {\n getThumbnailAriaLabel,\n getThumbnailVariantForFilename,\n} from './Thumbnail.utils'\nimport { ThumbnailCaption } from './ThumbnailCaption'\nimport { ThumbnailPreview } from './ThumbnailPreview'\n\nconst defaultSize = 'lg'\n\nfunction TickIcon({ size = defaultSize, selected }: TickIconProps) {\n const i18n = useI18nContext()\n return (\n <StyledTickIcon\n aria-hidden={selected ? false : true}\n aria-label={selected ? i18n.t('core.thumbnail.checked') : undefined}\n // in IE11, all svg element are focusable by default\n focusable={false}\n $selected={selected}\n $size={size}\n width=\"26\"\n height=\"26\"\n viewBox=\"0 0 26 26\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1 13C1 6.37258 6.37258 1 13 1C19.6274 1 25 6.37258 25 13C25 19.6274 19.6274 25 13 25C6.37258 25 1 19.6274 1 13Z\"\n fill=\"white\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.167 17.5L7 13.459L8.6155 12.0535L11.167 14.5285L17.3845 8.5L19 9.9055L11.167 17.5ZM13 1C6.3715 1 1 6.373 1 13C1 19.627 6.3715 25 13 25C19.627 25 25 19.627 25 13C25 6.373 19.627 1 13 1Z\"\n fill=\"hsl(218,75%,50%)\"\n />\n <path\n d=\"M13 24C6.92487 24 2 19.0751 2 13H0C0 20.1797 5.8203 26 13 26V24ZM24 13C24 19.0751 19.0751 24 13 24V26C20.1797 26 26 20.1797 26 13H24ZM13 2C19.0751 2 24 6.92487 24 13H26C26 5.8203 20.1797 0 13 0V2ZM13 0C5.8203 0 0 5.8203 0 13H2C2 6.92487 6.92487 2 13 2V0Z\"\n fill=\"white\"\n />\n </StyledTickIcon>\n )\n}\n\nfunction FigCaption({ label, disabled }: LabelProps) {\n if (!label) {\n return null\n }\n\n return (\n <StyledThumbnailFigCaption $color={disabled ? 'gray70' : 'gray15'}>\n {label}\n </StyledThumbnailFigCaption>\n )\n}\n\nfunction Label({ label }: LabelProps) {\n if (!label) {\n return null\n }\n\n return (\n <StyledLabel>\n <StyledLabelText intent=\"small\" weight=\"bold\">\n {label}\n </StyledLabelText>\n </StyledLabel>\n )\n}\n\nfunction ThumbnailCaptionTooltip({\n caption,\n captionOverflowing,\n children,\n}: {\n caption: string | undefined\n captionOverflowing: boolean\n children: React.ReactNode\n}) {\n return (\n <Tooltip\n overlay={<Tooltip.Content>{caption}</Tooltip.Content>}\n placement=\"bottom\"\n trigger={captionOverflowing && caption ? ['hover', 'focus'] : 'none'}\n >\n {children}\n </Tooltip>\n )\n}\n\nconst BasePlaceholder = React.forwardRef<\n HTMLDivElement,\n PlaceholderProps<undefined>\n>(function BasePlaceholder(\n props: PlaceholderProps<undefined>,\n ref: ThumbnailRef<undefined>\n) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const {\n hasCaptionPlaceholder,\n caption,\n label,\n disabled: _disabled,\n ...wrapperProps\n } = props\n const ariaLabel = getThumbnailAriaLabel(\n i18n,\n thumbnail.label,\n thumbnail.caption\n )\n\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n tabIndex={0}\n role=\"group\"\n aria-label={ariaLabel}\n {...wrapperProps}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n})\n\nconst FigurePlaceholder = React.forwardRef<\n HTMLElement,\n PlaceholderProps<'figure'>\n>(function FigurePlaceholder(\n props: PlaceholderProps<'figure'>,\n ref: ThumbnailRef<'figure'>\n) {\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const {\n hasCaptionPlaceholder,\n caption,\n label,\n disabled: _disabled,\n role: _role,\n ...wrapperProps\n } = props\n const i18n = useI18nContext()\n const ariaLabel = getThumbnailAriaLabel(\n i18n,\n thumbnail.label,\n thumbnail.caption\n )\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n tabIndex={0}\n role=\"group\"\n aria-label={ariaLabel}\n {...wrapperProps}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n as={thumbnail.as}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <FigCaption label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n})\n\nconst CheckboxPlaceholder = React.forwardRef<\n HTMLInputElement,\n ThumbnailProps<'checkbox'>\n>(function CheckboxPlaceholder(\n { children, as, label, name, onChange, role, qa: _qa, value, ...props_ },\n ref\n) {\n const props = {\n ...props_,\n as,\n label,\n onChange,\n role,\n value,\n isDisabled: props_.disabled,\n isSelected: props_.checked,\n defaultSelected: props_.defaultChecked,\n }\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const { caption, hasCaptionPlaceholder, src, ...wrapperProps } = props_\n const isInputFocused = document.activeElement === thumbnail.inputRef.current\n\n const i18n = useI18nContext()\n const ariaLabel =\n getThumbnailAriaLabel(i18n, thumbnail.label, thumbnail.caption) ||\n i18n.t('core.thumbnail.select')\n\n const preventSpaceOnDisabledThumbnail = (e: React.KeyboardEvent) => {\n if (e.key === ' ' && thumbnail.disabled) {\n e.preventDefault()\n }\n }\n\n React.useEffect(() => {\n if (props.focused && thumbnail.inputRef.current) {\n thumbnail.inputRef.current.focus()\n }\n }, [props.focused, thumbnail.inputRef])\n\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n onClick={(e: React.MouseEvent) => {\n if (!thumbnail.disabled) {\n thumbnail.toggleState.toggle()\n thumbnail.onClick?.(e)\n }\n }}\n >\n <StyledPlaceholderThumbnail\n $focused={thumbnail.focused || isInputFocused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n <StyledFileIcon\n variant={\n props.variant ||\n getThumbnailVariantForFilename(props.filename ?? '')\n }\n />\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledPlaceholderThumbnail>\n <ThumbnailCaption\n error={thumbnail.error}\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n <VisuallyHidden>\n <input\n type=\"checkbox\"\n ref={mergeRefs(thumbnail.inputRef, ref)}\n aria-label={ariaLabel}\n {...mergeProps(thumbnail.inputProps, thumbnail.focusProps)}\n disabled={thumbnail.disabled}\n onKeyDown={preventSpaceOnDisabledThumbnail}\n />\n </VisuallyHidden>\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n})\n\nfunction PlaceholderInner(\n props: PlaceholderProps<ThumbnailRoleType>,\n ref: ThumbnailRef<ThumbnailRoleType>\n) {\n switch (props.role) {\n case 'checkbox': {\n return (\n <CheckboxPlaceholder\n ref={ref as React.Ref<HTMLInputElement>}\n {...(props as PlaceholderProps<'checkbox'>)}\n />\n )\n }\n case 'figure': {\n return (\n <FigurePlaceholder\n ref={ref as React.Ref<HTMLElement>}\n {...(props as PlaceholderProps<'figure'>)}\n />\n )\n }\n default: {\n return (\n <BasePlaceholder\n ref={ref as React.Ref<HTMLDivElement>}\n {...(props as PlaceholderProps<undefined>)}\n />\n )\n }\n }\n}\n\nconst BaseThumbnail = React.forwardRef<\n HTMLDivElement,\n ThumbnailProps<undefined>\n>(function BaseThumbnail(\n props: ThumbnailProps<undefined>,\n ref: ThumbnailRef<undefined>\n) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const {\n hasCaptionPlaceholder,\n disabled: _disabled,\n role: _role,\n ...wrapperProps\n } = props\n const ariaLabel = getThumbnailAriaLabel(\n i18n,\n thumbnail.label,\n thumbnail.caption\n )\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n ref={ref}\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n tabIndex={0}\n role=\"group\"\n aria-label={ariaLabel}\n {...wrapperProps}\n >\n <StyledImageThumbnail\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={thumbnail.error}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n})\n\nconst FigureThumbnail = React.forwardRef<HTMLElement, ThumbnailProps<'figure'>>(\n function FigureThumbnail(\n props: ThumbnailProps<'figure'>,\n ref: ThumbnailRef<'figure'>\n ) {\n const i18n = useI18nContext()\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const ariaLabel = getThumbnailAriaLabel(\n i18n,\n thumbnail.label,\n thumbnail.caption\n )\n\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n tabIndex={0}\n role=\"group\"\n aria-label={ariaLabel}\n >\n <StyledImageThumbnail\n ref={ref}\n $focused={thumbnail.focused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n as={thumbnail.as}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <FigCaption\n label={thumbnail.label}\n disabled={thumbnail.disabled}\n />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={thumbnail.error}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n {thumbnail.disabled && !thumbnail.clickable && (\n <VisuallyHidden>\n {i18n.t('core.thumbnail.unavailable', {\n defaultValue: 'Content is unavailable',\n })}\n </VisuallyHidden>\n )}\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n }\n)\n\nconst CheckboxThumbnail = React.forwardRef<\n HTMLInputElement,\n ThumbnailProps<'checkbox'>\n>(function CheckboxThumbnail(\n { children, as, label, name, onChange, role, qa: _qa, value, ...props_ },\n ref\n) {\n const props = {\n ...props_,\n as,\n label,\n name,\n onChange,\n role,\n value,\n isDisabled: props_.disabled,\n isSelected: props_.checked,\n defaultSelected: props_.defaultChecked,\n }\n const thumbnail = useThumbnail(props)\n const [captionOverflowing, setCaptionOverflowing] = useState(false)\n const {\n caption,\n hasCaptionPlaceholder,\n src,\n disabled: _disabled,\n ...wrapperProps\n } = props_\n const isInputFocused = document.activeElement === thumbnail.inputRef.current\n\n const preventSpaceOnDisabledThumbnail = (\n e: React.KeyboardEvent<HTMLInputElement>\n ) => {\n if (e.key === ' ' && thumbnail.disabled) {\n e.preventDefault()\n }\n }\n\n React.useEffect(() => {\n if (props.focused && thumbnail.inputRef.current) {\n thumbnail.inputRef.current.focus()\n }\n }, [props.focused, thumbnail.inputRef])\n\n return (\n <ThumbnailCaptionTooltip\n caption={thumbnail.caption}\n captionOverflowing={captionOverflowing}\n >\n <StyledThumbnailWrapper\n $layout={thumbnail.layout}\n $size={thumbnail.size}\n {...wrapperProps}\n onClick={(e: React.MouseEvent) => {\n if (!thumbnail.disabled) {\n thumbnail.toggleState.toggle()\n thumbnail.onClick?.(e)\n }\n }}\n >\n <StyledImageThumbnail\n $focused={thumbnail.focused || isInputFocused}\n $disabled={thumbnail.disabled}\n $selected={thumbnail.selected}\n $clickable={thumbnail.clickable}\n $size={thumbnail.size}\n >\n {thumbnail.isImageURL && !thumbnail.shouldUsePlaceholder ? (\n <StyledImageThumbnailImage\n src={thumbnail.src as string}\n alt={thumbnail.alt}\n />\n ) : (\n <ThumbnailPreview\n file={thumbnail.src as File}\n aria-label={thumbnail.alt}\n />\n )}\n <TickIcon\n size={thumbnail.size}\n selected={thumbnail.toggleState.isSelected}\n />\n {thumbnail.shouldUsePlaceholder && (\n <StyledFileIcon\n variant={\n thumbnail.variant ||\n getThumbnailVariantForFilename(thumbnail.filename ?? '')\n }\n />\n )}\n {thumbnail.size === 'lg' && (\n <Label label={thumbnail.label} disabled={thumbnail.disabled} />\n )}\n <StyledImageThumbnailOverlay />\n </StyledImageThumbnail>\n <ThumbnailCaption\n qa={thumbnail.qa?.caption}\n multiline={thumbnail.size === 'lg'}\n layout={thumbnail.layout}\n caption={thumbnail.caption}\n hasCaptionPlaceholder={thumbnail.hasCaptionPlaceholder}\n disabled={thumbnail.disabled}\n error={props.error}\n onCaptionOverflowChange={setCaptionOverflowing}\n />\n <VisuallyHidden>\n <input\n ref={mergeRefs(thumbnail.inputRef, ref)}\n type={'checkbox'}\n {...mergeProps(thumbnail.inputProps, thumbnail.focusProps)}\n disabled={thumbnail.disabled}\n onKeyDown={preventSpaceOnDisabledThumbnail}\n />\n </VisuallyHidden>\n </StyledThumbnailWrapper>\n </ThumbnailCaptionTooltip>\n )\n})\n\nfunction ThumbnailInner(\n props: ThumbnailProps<ThumbnailRoleType>,\n ref: ThumbnailRef<ThumbnailRoleType>\n) {\n const isFile = props.src instanceof File\n const isImageURL = typeof props.src === 'string'\n\n if (!isFile && !isImageURL) {\n console.warn('Unknown Thumbnail source:', props.src)\n }\n\n switch (props.role) {\n case 'checkbox': {\n return (\n <CheckboxThumbnail\n ref={ref as React.Ref<HTMLInputElement>}\n {...(props as ThumbnailProps<'checkbox'>)}\n />\n )\n }\n case 'figure': {\n return (\n <FigureThumbnail\n ref={ref as React.Ref<HTMLElement>}\n {...(props as ThumbnailProps<'figure'>)}\n />\n )\n }\n default: {\n return (\n <BaseThumbnail\n ref={ref as React.Ref<HTMLDivElement>}\n {...(props as PlaceholderProps<undefined>)}\n />\n )\n }\n }\n}\n\nconst Thumbnail_ = React.forwardRef(ThumbnailInner) as <\n Role extends ThumbnailRoles\n>(\n props:\n | ThumbnailProps<Role>\n | (BaseThumbnailProps & { ref?: ThumbnailRef<Role> })\n) => ReturnType<typeof ThumbnailInner>\n\nconst Placeholder = React.forwardRef(PlaceholderInner) as <\n Role extends ThumbnailRoles\n>(\n props:\n | PlaceholderProps<Role>\n | (BasePlaceholderProps & { ref?: ThumbnailRef<Role> })\n) => ReturnType<typeof PlaceholderInner>\n\n// @ts-ignore\nPlaceholder.displayName = 'Thumbnail.Placeholder'\n\n// @ts-ignore\nThumbnail_.displayName = 'Thumbnail'\n\n/**\n\n We use thumbnails to display previews for images or files as either a smaller\n version of an uploaded image, or an icon representing the file type. If an\n image preview can be generated from the file (in the case of images) then\n display that image.\n\n @since 10.19.0\n\n @see [Storybook](https://stories.core.procore.com/?path=/story/core-react_demos-thumbnail--demo-thumbnail)\n\n @see [Design Guidelines](https://design.procore.com/thumbnail)\n\n */\nexport const Thumbnail = addSubcomponents({ Placeholder }, Thumbnail_)\n"],"mappings":"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"}
|
|
@@ -27,35 +27,35 @@ var captionBase = /*#__PURE__*/css(["color:", ";font-size:12px;line-height:16px;
|
|
|
27
27
|
});
|
|
28
28
|
export var StyledMultilineCaption = /*#__PURE__*/styled.div.withConfig({
|
|
29
29
|
displayName: "StyledMultilineCaption",
|
|
30
|
-
componentId: "core-
|
|
30
|
+
componentId: "core-12_42_0__sc-195f70c-0"
|
|
31
31
|
})(["", ";display:flex;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:", "px;"], captionBase, multilineCaptionMaxHeight);
|
|
32
32
|
export var StyledCaptionText = /*#__PURE__*/styled.span.withConfig({
|
|
33
33
|
displayName: "StyledCaptionText",
|
|
34
|
-
componentId: "core-
|
|
34
|
+
componentId: "core-12_42_0__sc-195f70c-1"
|
|
35
35
|
})(["width:100%;"]);
|
|
36
36
|
export var StyledPlaceholderCaption = /*#__PURE__*/styled.div.withConfig({
|
|
37
37
|
displayName: "StyledPlaceholderCaption",
|
|
38
|
-
componentId: "core-
|
|
38
|
+
componentId: "core-12_42_0__sc-195f70c-2"
|
|
39
39
|
})(["", ""], captionBase);
|
|
40
40
|
export var StyledSingleLineCaption = /*#__PURE__*/styled.div.withConfig({
|
|
41
41
|
displayName: "StyledSingleLineCaption",
|
|
42
|
-
componentId: "core-
|
|
42
|
+
componentId: "core-12_42_0__sc-195f70c-3"
|
|
43
43
|
})(["display:flex;", ""], captionBase);
|
|
44
44
|
export var StyledSinglelineCaptionBody = /*#__PURE__*/styled.span.withConfig({
|
|
45
45
|
displayName: "StyledSinglelineCaptionBody",
|
|
46
|
-
componentId: "core-
|
|
46
|
+
componentId: "core-12_42_0__sc-195f70c-4"
|
|
47
47
|
})(["", ""], getEllipsis);
|
|
48
48
|
export var StyledSinglelineCaptionEnding = /*#__PURE__*/styled.span.withConfig({
|
|
49
49
|
displayName: "StyledSinglelineCaptionEnding",
|
|
50
|
-
componentId: "core-
|
|
50
|
+
componentId: "core-12_42_0__sc-195f70c-5"
|
|
51
51
|
})(["max-width:50%;white-space:nowrap;flex-shrink:0;"]);
|
|
52
52
|
export var StyledLabelText = /*#__PURE__*/styled(Typography).withConfig({
|
|
53
53
|
displayName: "StyledLabelText",
|
|
54
|
-
componentId: "core-
|
|
54
|
+
componentId: "core-12_42_0__sc-195f70c-6"
|
|
55
55
|
})(["", ""], getEllipsis());
|
|
56
56
|
export var StyledThumbnailFigCaption = /*#__PURE__*/styled.figcaption.withConfig({
|
|
57
57
|
displayName: "StyledThumbnailFigCaption",
|
|
58
|
-
componentId: "core-
|
|
58
|
+
componentId: "core-12_42_0__sc-195f70c-7"
|
|
59
59
|
})(["", " ", " color:", ";font-weight:", ";text-align:center;width:100%;position:absolute;bottom:0;right:0;left:0;opacity:0.85;height:", "px;padding:", "px ", "px;background-color:", ";"], getTypographyIntent('small'), getEllipsis(), function (_ref5) {
|
|
60
60
|
var _ref5$$color = _ref5.$color,
|
|
61
61
|
$color = _ref5$$color === void 0 ? 'gray15' : _ref5$$color;
|
|
@@ -63,7 +63,7 @@ export var StyledThumbnailFigCaption = /*#__PURE__*/styled.figcaption.withConfig
|
|
|
63
63
|
}, typographyWeights.bold, labelHeight, spacing.sm / 2, spacing.sm, colors.white);
|
|
64
64
|
export var StyledLabel = /*#__PURE__*/styled.div.withConfig({
|
|
65
65
|
displayName: "StyledLabel",
|
|
66
|
-
componentId: "core-
|
|
66
|
+
componentId: "core-12_42_0__sc-195f70c-8"
|
|
67
67
|
})(["display:flex;justify-content:center;position:absolute;bottom:0;right:0;left:0;opacity:0.85;height:", "px;padding:", "px ", "px;font-size:", "px;background-color:", ";"], labelHeight, spacing.sm / 2, spacing.sm, labelFontSize, colors.white);
|
|
68
68
|
var thumbnailBase = /*#__PURE__*/css(["display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;border:1px solid ", ";border-radius:", "px;margin:0;", " ", " &:focus{", ";}", " ", " ", ""], colors.gray85, borderRadius.md, function (_ref6) {
|
|
69
69
|
var $clickable = _ref6.$clickable;
|
|
@@ -85,7 +85,7 @@ var thumbnailBase = /*#__PURE__*/css(["display:flex;justify-content:center;align
|
|
|
85
85
|
});
|
|
86
86
|
export var StyledTickIcon = /*#__PURE__*/styled.svg.withConfig({
|
|
87
87
|
displayName: "StyledTickIcon",
|
|
88
|
-
componentId: "core-
|
|
88
|
+
componentId: "core-12_42_0__sc-195f70c-9"
|
|
89
89
|
})(["position:absolute;top:", "px;right:", "px;width:", "px;height:", "px;opacity:0;transform:scale(0.75);transition:transform 250ms ease-out,opacity 100ms ease-out;", " ", ""], spacing.sm, spacing.sm, tickSize, tickSize, function (_ref1) {
|
|
90
90
|
var $selected = _ref1.$selected;
|
|
91
91
|
return $selected && css(["opacity:1;transform:scale(1);"]);
|
|
@@ -95,28 +95,28 @@ export var StyledTickIcon = /*#__PURE__*/styled.svg.withConfig({
|
|
|
95
95
|
});
|
|
96
96
|
export var StyledFileIcon = /*#__PURE__*/styled(DocumentIcon).withConfig({
|
|
97
97
|
displayName: "StyledFileIcon",
|
|
98
|
-
componentId: "core-
|
|
98
|
+
componentId: "core-12_42_0__sc-195f70c-10"
|
|
99
99
|
})(["width:36.5%;height:auto;"]);
|
|
100
100
|
export var StyledImageThumbnailPreview = /*#__PURE__*/styled.div.withConfig({
|
|
101
101
|
displayName: "StyledImageThumbnailPreview",
|
|
102
|
-
componentId: "core-
|
|
102
|
+
componentId: "core-12_42_0__sc-195f70c-11"
|
|
103
103
|
})(["width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center;", ""], function (_ref11) {
|
|
104
104
|
var $bgImage = _ref11.$bgImage;
|
|
105
105
|
return css(["background-image:url(", ");"], $bgImage);
|
|
106
106
|
});
|
|
107
107
|
export var StyledImageThumbnailOverlay = /*#__PURE__*/styled.div.withConfig({
|
|
108
108
|
displayName: "StyledImageThumbnailOverlay",
|
|
109
|
-
componentId: "core-
|
|
109
|
+
componentId: "core-12_42_0__sc-195f70c-12"
|
|
110
110
|
})(["display:none;position:absolute;top:0;bottom:0;left:0;right:0;"]);
|
|
111
111
|
var blackOverlay = "\n background-color: ".concat(colors.black, ";\n opacity: 0.2;\n");
|
|
112
112
|
var whiteOverlay = "\n background-color: ".concat(colors.white, ";\n opacity: 0.5;\n");
|
|
113
113
|
export var StyledImageThumbnailImage = /*#__PURE__*/styled.img.withConfig({
|
|
114
114
|
displayName: "StyledImageThumbnailImage",
|
|
115
|
-
componentId: "core-
|
|
115
|
+
componentId: "core-12_42_0__sc-195f70c-13"
|
|
116
116
|
})([""]);
|
|
117
117
|
export var StyledImageThumbnail = /*#__PURE__*/styled.div.withConfig({
|
|
118
118
|
displayName: "StyledImageThumbnail",
|
|
119
|
-
componentId: "core-
|
|
119
|
+
componentId: "core-12_42_0__sc-195f70c-14"
|
|
120
120
|
})(["", ";flex-direction:column;", " ", " ", " ", " ", " ", ""], thumbnailBase, function (_ref12) {
|
|
121
121
|
var $disabled = _ref12.$disabled;
|
|
122
122
|
return $disabled && css(["&,&:hover{", "{display:block;", "}}", ",", ",", "{filter:saturate(0);}", "{filter:saturate(0);z-index:-1;}"], StyledImageThumbnailOverlay, whiteOverlay, StyledImageThumbnailPreview, StyledTickIcon, StyledImageThumbnailImage, StyledFileIcon);
|
|
@@ -145,7 +145,7 @@ export var StyledImageThumbnail = /*#__PURE__*/styled.div.withConfig({
|
|
|
145
145
|
});
|
|
146
146
|
export var StyledThumbnailWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
147
147
|
displayName: "StyledThumbnailWrapper",
|
|
148
|
-
componentId: "core-
|
|
148
|
+
componentId: "core-12_42_0__sc-195f70c-15"
|
|
149
149
|
})(["display:flex;", " ", ""], function (_ref18) {
|
|
150
150
|
var $size = _ref18.$size;
|
|
151
151
|
return $size === 'lg' ? "\n width: ".concat(thumbnailSizeLg, "px;\n ") : '';
|
|
@@ -156,7 +156,7 @@ export var StyledThumbnailWrapper = /*#__PURE__*/styled.div.withConfig({
|
|
|
156
156
|
});
|
|
157
157
|
export var StyledPlaceholderThumbnail = /*#__PURE__*/styled.div.withConfig({
|
|
158
158
|
displayName: "StyledPlaceholderThumbnail",
|
|
159
|
-
componentId: "core-
|
|
159
|
+
componentId: "core-12_42_0__sc-195f70c-16"
|
|
160
160
|
})(["", " ", " ", " ", " ", ""], thumbnailBase, function (_ref20) {
|
|
161
161
|
var $clickable = _ref20.$clickable;
|
|
162
162
|
return $clickable && css(["&:hover{background-color:", ";}"], colors.gray96);
|
|
@@ -156,6 +156,10 @@ export interface MultilineCaptionProps {
|
|
|
156
156
|
* @since 10.19.0
|
|
157
157
|
*/
|
|
158
158
|
qa: string;
|
|
159
|
+
/**
|
|
160
|
+
* Called when the caption overflow state changes (e.g. when it becomes truncated).
|
|
161
|
+
*/
|
|
162
|
+
onCaptionOverflowChange?: (isOverflowing: boolean) => void;
|
|
159
163
|
}
|
|
160
164
|
export interface SinglelineCaptionProps {
|
|
161
165
|
/**
|
|
@@ -178,6 +182,10 @@ export interface SinglelineCaptionProps {
|
|
|
178
182
|
* @since 10.19.0
|
|
179
183
|
*/
|
|
180
184
|
qa: string;
|
|
185
|
+
/**
|
|
186
|
+
* Called when the caption overflow state changes (e.g. when it becomes truncated).
|
|
187
|
+
*/
|
|
188
|
+
onCaptionOverflowChange?: (isOverflowing: boolean) => void;
|
|
181
189
|
}
|
|
182
190
|
export interface CaptionTooltipProps {
|
|
183
191
|
/**
|
|
@@ -222,6 +230,10 @@ export interface CaptionProps {
|
|
|
222
230
|
* @since 10.19.0
|
|
223
231
|
*/
|
|
224
232
|
qa?: string;
|
|
233
|
+
/**
|
|
234
|
+
* Called when the caption overflow state changes (e.g. when it becomes truncated).
|
|
235
|
+
*/
|
|
236
|
+
onCaptionOverflowChange?: (isOverflowing: boolean) => void;
|
|
225
237
|
}
|
|
226
238
|
export interface LabelProps {
|
|
227
239
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thumbnail.types.js","names":[],"sources":["../../src/Thumbnail/Thumbnail.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { ReactNode } from 'react'\nimport type { Polymorphic } from '../_utils/polymorphic'\nimport type { AriaLabelled, Props } from '../_utils/types'\nimport type { ThumbnailDocumentIconVariant } from './ThumbnailDocumentIcon'\n\nexport type SizeVariant = 'sm' | 'lg'\n\nexport type LayoutVariant = 'row' | 'column'\n\nexport interface QaTags {\n /**\n * @since 10.19.0\n */\n caption?: string\n}\n\n/**\n * @since 11.6.0\n */\nexport type ThumbnailRoleType = 'checkbox' | 'figure'\n\nexport type ThumbnailRoles = ThumbnailRoleType | undefined\n\nexport interface ThumbnailPolyMap\n extends Record<ThumbnailRoleType, React.ElementType> {\n figure: 'figure'\n checkbox: 'input'\n}\n\n/**\n * @since 11.6.0\n */\nexport type ThumbnailRef<Role extends ThumbnailRoles = undefined> =\n Role extends ThumbnailRoleType\n ? Polymorphic.Ref<ThumbnailPolyMap, Role>\n : React.ComponentPropsWithRef<'div'>['ref']\n\nexport interface BaseThumbnailProps extends Props {\n /**\n * Alt text for the Thumbnail image\n * @since 11.6.0\n */\n alt?: string\n\n /**\n * An image URL or a `File` to generate a preview for\n * @since 10.19.0\n */\n src?: File | string | null\n\n /**\n * Thumbnail size\n * @default 'lg'\n * @since 10.19.0\n */\n size?: SizeVariant\n\n /**\n * Use \"focused\" view\n * @default false\n * @since 10.19.0\n */\n focused?: boolean\n\n /**\n * Use \"selected\" view\n * @default false\n * @since 10.19.0\n */\n selected?: boolean\n\n /**\n * Use \"disabled\" view\n * @default false\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @since 10.19.0\n */\n error?: boolean\n /**\n * @since 10.19.0\n */\n clickable?: boolean\n\n /**\n * Thumbnail caption\n * @default ''\n * @since 10.19.0\n */\n caption?: string\n\n /**\n * Show placeholder for caption if it is empty\n * @default false\n * @since 10.19.0\n */\n hasCaptionPlaceholder?: boolean\n\n /**\n * Unless variant is provided, filename is used\n * to choose a placeholder icon based on extension.\n * E.g. for 'filename=\"panda.png\"', image variant will be used\n * @since 11.7.0\n * */\n filename?: string\n\n /**\n * @since 11.7.0\n */\n variant?: ThumbnailDocumentIconVariant\n\n /**\n * Thumbnail label\n * @default ''\n * @since 10.19.0\n */\n label?: string\n\n /**\n * @since 11.6.0\n */\n tabIndex?: number\n\n /**\n * @since 10.19.0\n */\n qa?: QaTags\n\n /**\n * @since 11.6.0\n */\n onClick?: (e: React.MouseEvent) => void\n}\n\ntype DecorativeThumbnailProps<Role extends ThumbnailRoles = undefined> = {\n role?: Role\n} & BaseThumbnailProps\n\nexport type ThumbnailProps<Role extends ThumbnailRoles = undefined> =\n Role extends 'figure'\n ? Polymorphic.ComponentPropsWithRef<\n ThumbnailPolyMap,\n 'figure',\n never,\n BaseThumbnailProps\n >\n : Role extends 'checkbox'\n ? Polymorphic.ComponentPropsWithRef<\n ThumbnailPolyMap,\n 'checkbox',\n never,\n BaseThumbnailProps & {\n /** onChange from React Aria is fired before onClick */\n onChange?: (isSelected: boolean) => void\n }\n >\n : DecorativeThumbnailProps & { ref?: ThumbnailRef<undefined> }\n\nexport interface FilePreviewProps {\n /**\n * @since 10.19.0\n */\n file: File\n}\nexport interface BasePlaceholderProps extends Omit<BaseThumbnailProps, 'src'> {}\n\ntype DecorativePlaceholderProps<Role extends ThumbnailRoles = undefined> = {\n role?: Role\n} & BasePlaceholderProps\n\nexport type PlaceholderProps<Role extends ThumbnailRoles = undefined> =\n Role extends 'figure'\n ? Polymorphic.ComponentPropsWithRef<\n ThumbnailPolyMap,\n 'figure',\n never,\n AriaLabelled<BasePlaceholderProps>\n >\n : Role extends 'checkbox'\n ? Polymorphic.ComponentPropsWithRef<\n ThumbnailPolyMap,\n 'checkbox',\n never,\n AriaLabelled<BasePlaceholderProps> & {\n /** onChange from React Aria is fired before onClick */\n onChange?: (isSelected: boolean) => void\n }\n >\n : DecorativePlaceholderProps & { ref?: ThumbnailRef<undefined> }\n\nexport interface MultilineCaptionProps {\n /**\n * @since 10.19.0\n */\n disabled: boolean\n /**\n * @since 10.19.0\n */\n caption: string\n /**\n * @since 10.19.0\n */\n error: boolean\n /**\n * @since 10.19.0\n */\n layout: 'row' | 'column'\n /**\n * @since 10.19.0\n */\n qa: string\n}\n\nexport interface SinglelineCaptionProps {\n /**\n * @since 10.19.0\n */\n caption: string\n /**\n * @since 10.19.0\n */\n disabled: boolean\n /**\n * @since 10.19.0\n */\n error: boolean\n /**\n * @since 10.19.0\n */\n layout: 'row' | 'column'\n /**\n * @since 10.19.0\n */\n qa: string\n}\n\nexport interface CaptionTooltipProps {\n /**\n * @since 10.19.0\n */\n overlay: string\n /**\n * @since 10.19.0\n */\n isVisible: boolean\n /**\n * @since 10.19.0\n */\n children: ReactNode\n}\n\nexport interface CaptionProps {\n /**\n * @since 10.19.0\n */\n layout: LayoutVariant\n /**\n * @since 10.19.0\n */\n caption: string\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @since 10.19.0\n */\n error?: boolean\n /**\n * @since 10.19.0\n */\n hasCaptionPlaceholder: boolean\n /**\n * @since 10.19.0\n */\n multiline: boolean\n /**\n * @since 10.19.0\n */\n qa?: string\n}\n\nexport interface LabelProps {\n /**\n * @since 11.6.0\n */\n id?: string\n /**\n * @since 10.19.0\n */\n label: string\n /**\n * @since 10.19.0\n */\n disabled: boolean\n}\n\nexport interface TickIconProps {\n /**\n * @since 10.19.0\n */\n size: SizeVariant\n /**\n * @since 10.19.0\n */\n selected: boolean\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Thumbnail.types.js","names":[],"sources":["../../src/Thumbnail/Thumbnail.types.ts"],"sourcesContent":["import type React from 'react'\nimport type { ReactNode } from 'react'\nimport type { Polymorphic } from '../_utils/polymorphic'\nimport type { AriaLabelled, Props } from '../_utils/types'\nimport type { ThumbnailDocumentIconVariant } from './ThumbnailDocumentIcon'\n\nexport type SizeVariant = 'sm' | 'lg'\n\nexport type LayoutVariant = 'row' | 'column'\n\nexport interface QaTags {\n /**\n * @since 10.19.0\n */\n caption?: string\n}\n\n/**\n * @since 11.6.0\n */\nexport type ThumbnailRoleType = 'checkbox' | 'figure'\n\nexport type ThumbnailRoles = ThumbnailRoleType | undefined\n\nexport interface ThumbnailPolyMap\n extends Record<ThumbnailRoleType, React.ElementType> {\n figure: 'figure'\n checkbox: 'input'\n}\n\n/**\n * @since 11.6.0\n */\nexport type ThumbnailRef<Role extends ThumbnailRoles = undefined> =\n Role extends ThumbnailRoleType\n ? Polymorphic.Ref<ThumbnailPolyMap, Role>\n : React.ComponentPropsWithRef<'div'>['ref']\n\nexport interface BaseThumbnailProps extends Props {\n /**\n * Alt text for the Thumbnail image\n * @since 11.6.0\n */\n alt?: string\n\n /**\n * An image URL or a `File` to generate a preview for\n * @since 10.19.0\n */\n src?: File | string | null\n\n /**\n * Thumbnail size\n * @default 'lg'\n * @since 10.19.0\n */\n size?: SizeVariant\n\n /**\n * Use \"focused\" view\n * @default false\n * @since 10.19.0\n */\n focused?: boolean\n\n /**\n * Use \"selected\" view\n * @default false\n * @since 10.19.0\n */\n selected?: boolean\n\n /**\n * Use \"disabled\" view\n * @default false\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @since 10.19.0\n */\n error?: boolean\n /**\n * @since 10.19.0\n */\n clickable?: boolean\n\n /**\n * Thumbnail caption\n * @default ''\n * @since 10.19.0\n */\n caption?: string\n\n /**\n * Show placeholder for caption if it is empty\n * @default false\n * @since 10.19.0\n */\n hasCaptionPlaceholder?: boolean\n\n /**\n * Unless variant is provided, filename is used\n * to choose a placeholder icon based on extension.\n * E.g. for 'filename=\"panda.png\"', image variant will be used\n * @since 11.7.0\n * */\n filename?: string\n\n /**\n * @since 11.7.0\n */\n variant?: ThumbnailDocumentIconVariant\n\n /**\n * Thumbnail label\n * @default ''\n * @since 10.19.0\n */\n label?: string\n\n /**\n * @since 11.6.0\n */\n tabIndex?: number\n\n /**\n * @since 10.19.0\n */\n qa?: QaTags\n\n /**\n * @since 11.6.0\n */\n onClick?: (e: React.MouseEvent) => void\n}\n\ntype DecorativeThumbnailProps<Role extends ThumbnailRoles = undefined> = {\n role?: Role\n} & BaseThumbnailProps\n\nexport type ThumbnailProps<Role extends ThumbnailRoles = undefined> =\n Role extends 'figure'\n ? Polymorphic.ComponentPropsWithRef<\n ThumbnailPolyMap,\n 'figure',\n never,\n BaseThumbnailProps\n >\n : Role extends 'checkbox'\n ? Polymorphic.ComponentPropsWithRef<\n ThumbnailPolyMap,\n 'checkbox',\n never,\n BaseThumbnailProps & {\n /** onChange from React Aria is fired before onClick */\n onChange?: (isSelected: boolean) => void\n }\n >\n : DecorativeThumbnailProps & { ref?: ThumbnailRef<undefined> }\n\nexport interface FilePreviewProps {\n /**\n * @since 10.19.0\n */\n file: File\n}\nexport interface BasePlaceholderProps extends Omit<BaseThumbnailProps, 'src'> {}\n\ntype DecorativePlaceholderProps<Role extends ThumbnailRoles = undefined> = {\n role?: Role\n} & BasePlaceholderProps\n\nexport type PlaceholderProps<Role extends ThumbnailRoles = undefined> =\n Role extends 'figure'\n ? Polymorphic.ComponentPropsWithRef<\n ThumbnailPolyMap,\n 'figure',\n never,\n AriaLabelled<BasePlaceholderProps>\n >\n : Role extends 'checkbox'\n ? Polymorphic.ComponentPropsWithRef<\n ThumbnailPolyMap,\n 'checkbox',\n never,\n AriaLabelled<BasePlaceholderProps> & {\n /** onChange from React Aria is fired before onClick */\n onChange?: (isSelected: boolean) => void\n }\n >\n : DecorativePlaceholderProps & { ref?: ThumbnailRef<undefined> }\n\nexport interface MultilineCaptionProps {\n /**\n * @since 10.19.0\n */\n disabled: boolean\n /**\n * @since 10.19.0\n */\n caption: string\n /**\n * @since 10.19.0\n */\n error: boolean\n /**\n * @since 10.19.0\n */\n layout: 'row' | 'column'\n /**\n * @since 10.19.0\n */\n qa: string\n /**\n * Called when the caption overflow state changes (e.g. when it becomes truncated).\n */\n onCaptionOverflowChange?: (isOverflowing: boolean) => void\n}\n\nexport interface SinglelineCaptionProps {\n /**\n * @since 10.19.0\n */\n caption: string\n /**\n * @since 10.19.0\n */\n disabled: boolean\n /**\n * @since 10.19.0\n */\n error: boolean\n /**\n * @since 10.19.0\n */\n layout: 'row' | 'column'\n /**\n * @since 10.19.0\n */\n qa: string\n /**\n * Called when the caption overflow state changes (e.g. when it becomes truncated).\n */\n onCaptionOverflowChange?: (isOverflowing: boolean) => void\n}\n\nexport interface CaptionTooltipProps {\n /**\n * @since 10.19.0\n */\n overlay: string\n /**\n * @since 10.19.0\n */\n isVisible: boolean\n /**\n * @since 10.19.0\n */\n children: ReactNode\n}\n\nexport interface CaptionProps {\n /**\n * @since 10.19.0\n */\n layout: LayoutVariant\n /**\n * @since 10.19.0\n */\n caption: string\n /**\n * @since 10.19.0\n */\n disabled?: boolean\n /**\n * @since 10.19.0\n */\n error?: boolean\n /**\n * @since 10.19.0\n */\n hasCaptionPlaceholder: boolean\n /**\n * @since 10.19.0\n */\n multiline: boolean\n /**\n * @since 10.19.0\n */\n qa?: string\n /**\n * Called when the caption overflow state changes (e.g. when it becomes truncated).\n */\n onCaptionOverflowChange?: (isOverflowing: boolean) => void\n}\n\nexport interface LabelProps {\n /**\n * @since 11.6.0\n */\n id?: string\n /**\n * @since 10.19.0\n */\n label: string\n /**\n * @since 10.19.0\n */\n disabled: boolean\n}\n\nexport interface TickIconProps {\n /**\n * @since 10.19.0\n */\n size: SizeVariant\n /**\n * @since 10.19.0\n */\n selected: boolean\n}\n"],"mappings":""}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { I18njs } from '@procore/core-i18n-js';
|
|
1
2
|
import type { ThumbnailDocumentIconVariant } from './ThumbnailDocumentIcon';
|
|
2
3
|
export declare function getIsFilePreviewableAsImage(src: File | string | null | undefined): boolean;
|
|
3
4
|
export declare function getThumbnailVariantForFilename(filename: string): ThumbnailDocumentIconVariant;
|
|
5
|
+
export declare function getThumbnailAriaLabel(i18n: I18njs, label?: string, caption?: string): string | undefined;
|
|
@@ -49,4 +49,10 @@ export function getThumbnailVariantForFilename(filename) {
|
|
|
49
49
|
return defaultUnknownName;
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
export function getThumbnailAriaLabel(i18n, label, caption) {
|
|
53
|
+
var parts = [];
|
|
54
|
+
if (label) parts.push("".concat(i18n.t('core.thumbnail.aria-label.label'), ": ").concat(label));
|
|
55
|
+
if (caption) parts.push("".concat(i18n.t('core.thumbnail.aria-label.caption'), ": ").concat(caption));
|
|
56
|
+
return parts.length > 0 ? parts.join('. ') : undefined;
|
|
57
|
+
}
|
|
52
58
|
//# sourceMappingURL=Thumbnail.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thumbnail.utils.js","names":["getFileExtension","getIsFilePreviewableAsImage","src","File","type","startsWith","extensions","_defineProperty","image","drawing","email","gantt","zip","xml","word","ini","mov","pdf","powerpoint","excel","extensionsByVariant","Object","entries","variantByExtension","reduce","acc","_ref","_ref2","_slicedToArray","exts","forEach","ext","getThumbnailVariantForFilename","filename","defaultUnknownName","_unused"],"sources":["../../src/Thumbnail/Thumbnail.utils.ts"],"sourcesContent":["import { getFileExtension } from '../_utils/filename'\nimport type { ThumbnailDocumentIconVariant } from './ThumbnailDocumentIcon'\n\nexport function getIsFilePreviewableAsImage(\n src: File | string | null | undefined\n) {\n return (\n src instanceof File &&\n src.type.startsWith('image/') &&\n // not allow previewing vendor image mime types, such as \"image/vnd.adobe.photoshop\"\n !src.type.startsWith('image/vnd.') &&\n // not allow previewing .tiff images, as a not browser-compatible format\n src.type !== 'image/tiff'\n )\n}\n\nconst extensions: { [k in ThumbnailDocumentIconVariant]?: string[] } = {\n image: ['png', 'jpg', 'jpeg', 'gif', 'psd', 'tiff', 'tif', 'bmp'],\n drawing: ['cad', 'dwg', 'dwf', 'dwfx'],\n email: ['msg', 'eml'],\n gantt: ['mpp', 'p6', 'xer'],\n zip: ['zip', 'rar', '7zip'],\n xml: ['rtf', 'txt'],\n word: ['doc', 'docx'],\n ini: ['ini', 'xml', 'exe'],\n mov: ['mov', 'avi'],\n pdf: ['pdf'],\n powerpoint: ['ppt', 'pptx'],\n excel: ['csv', 'xls', 'xlsx'],\n ['3d']: [\n 'stl',\n 'obj',\n 'ma',\n 'fbx',\n 'dae',\n '3ds',\n 'iges',\n 'step',\n 'wrl',\n 'rvt',\n 'ifc',\n 'nwc',\n 'nwd',\n 'nwf',\n ],\n unknown: [],\n}\n\nconst extensionsByVariant = Object.entries(extensions) as [\n ThumbnailDocumentIconVariant,\n string[]\n][]\n\nconst variantByExtension = extensionsByVariant.reduce((acc, [type, exts]) => {\n exts.forEach((ext) => {\n acc[ext] = type\n })\n return acc\n}, {} as Record<string, ThumbnailDocumentIconVariant>)\n\nexport function getThumbnailVariantForFilename(\n filename: string\n): ThumbnailDocumentIconVariant {\n const defaultUnknownName = 'unknown'\n\n try {\n const ext = getFileExtension(filename)\n return ext\n ? variantByExtension[ext] || defaultUnknownName\n : defaultUnknownName\n } catch {\n return defaultUnknownName\n }\n}\n"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Thumbnail.utils.js","names":["getFileExtension","getIsFilePreviewableAsImage","src","File","type","startsWith","extensions","_defineProperty","image","drawing","email","gantt","zip","xml","word","ini","mov","pdf","powerpoint","excel","extensionsByVariant","Object","entries","variantByExtension","reduce","acc","_ref","_ref2","_slicedToArray","exts","forEach","ext","getThumbnailVariantForFilename","filename","defaultUnknownName","_unused","getThumbnailAriaLabel","i18n","label","caption","parts","push","concat","t","length","join","undefined"],"sources":["../../src/Thumbnail/Thumbnail.utils.ts"],"sourcesContent":["import type { I18njs } from '@procore/core-i18n-js'\nimport { getFileExtension } from '../_utils/filename'\nimport type { ThumbnailDocumentIconVariant } from './ThumbnailDocumentIcon'\n\nexport function getIsFilePreviewableAsImage(\n src: File | string | null | undefined\n) {\n return (\n src instanceof File &&\n src.type.startsWith('image/') &&\n // not allow previewing vendor image mime types, such as \"image/vnd.adobe.photoshop\"\n !src.type.startsWith('image/vnd.') &&\n // not allow previewing .tiff images, as a not browser-compatible format\n src.type !== 'image/tiff'\n )\n}\n\nconst extensions: { [k in ThumbnailDocumentIconVariant]?: string[] } = {\n image: ['png', 'jpg', 'jpeg', 'gif', 'psd', 'tiff', 'tif', 'bmp'],\n drawing: ['cad', 'dwg', 'dwf', 'dwfx'],\n email: ['msg', 'eml'],\n gantt: ['mpp', 'p6', 'xer'],\n zip: ['zip', 'rar', '7zip'],\n xml: ['rtf', 'txt'],\n word: ['doc', 'docx'],\n ini: ['ini', 'xml', 'exe'],\n mov: ['mov', 'avi'],\n pdf: ['pdf'],\n powerpoint: ['ppt', 'pptx'],\n excel: ['csv', 'xls', 'xlsx'],\n ['3d']: [\n 'stl',\n 'obj',\n 'ma',\n 'fbx',\n 'dae',\n '3ds',\n 'iges',\n 'step',\n 'wrl',\n 'rvt',\n 'ifc',\n 'nwc',\n 'nwd',\n 'nwf',\n ],\n unknown: [],\n}\n\nconst extensionsByVariant = Object.entries(extensions) as [\n ThumbnailDocumentIconVariant,\n string[]\n][]\n\nconst variantByExtension = extensionsByVariant.reduce((acc, [type, exts]) => {\n exts.forEach((ext) => {\n acc[ext] = type\n })\n return acc\n}, {} as Record<string, ThumbnailDocumentIconVariant>)\n\nexport function getThumbnailVariantForFilename(\n filename: string\n): ThumbnailDocumentIconVariant {\n const defaultUnknownName = 'unknown'\n\n try {\n const ext = getFileExtension(filename)\n return ext\n ? variantByExtension[ext] || defaultUnknownName\n : defaultUnknownName\n } catch {\n return defaultUnknownName\n }\n}\n\nexport function getThumbnailAriaLabel(\n i18n: I18njs,\n label?: string,\n caption?: string\n): string | undefined {\n const parts: string[] = []\n if (label)\n parts.push(`${i18n.t('core.thumbnail.aria-label.label')}: ${label}`)\n if (caption)\n parts.push(`${i18n.t('core.thumbnail.aria-label.caption')}: ${caption}`)\n return parts.length > 0 ? parts.join('. ') : undefined\n}\n"],"mappings":"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"}
|
|
@@ -1,53 +1,44 @@
|
|
|
1
|
-
var _excluded = ["disabled", "caption", "error", "layout", "qa"],
|
|
2
|
-
_excluded2 = ["caption", "error", "disabled", "layout", "qa"],
|
|
1
|
+
var _excluded = ["disabled", "caption", "error", "layout", "qa", "onCaptionOverflowChange"],
|
|
2
|
+
_excluded2 = ["caption", "error", "disabled", "layout", "qa", "onCaptionOverflowChange"],
|
|
3
3
|
_excluded3 = ["layout", "disabled", "error", "caption", "hasCaptionPlaceholder", "multiline", "qa"];
|
|
4
4
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
5
5
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
6
6
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
7
|
-
import React from 'react';
|
|
8
|
-
import { Tooltip } from '../Tooltip';
|
|
7
|
+
import React, { useEffect } from 'react';
|
|
9
8
|
import { useOverflowObserver } from '../_hooks/OverflowObserver';
|
|
10
9
|
import { parseFilename } from '../_utils/filename';
|
|
11
10
|
import { StyledCaptionText, StyledMultilineCaption, StyledPlaceholderCaption, StyledSingleLineCaption, StyledSinglelineCaptionBody, StyledSinglelineCaptionEnding } from './Thumbnail.styles';
|
|
12
|
-
function
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}, children);
|
|
21
|
-
}
|
|
22
|
-
function MultilineCaption(_ref2) {
|
|
23
|
-
var disabled = _ref2.disabled,
|
|
24
|
-
caption = _ref2.caption,
|
|
25
|
-
error = _ref2.error,
|
|
26
|
-
layout = _ref2.layout,
|
|
27
|
-
qa = _ref2.qa,
|
|
28
|
-
props = _objectWithoutProperties(_ref2, _excluded);
|
|
11
|
+
function MultilineCaption(_ref) {
|
|
12
|
+
var disabled = _ref.disabled,
|
|
13
|
+
caption = _ref.caption,
|
|
14
|
+
error = _ref.error,
|
|
15
|
+
layout = _ref.layout,
|
|
16
|
+
qa = _ref.qa,
|
|
17
|
+
onCaptionOverflowChange = _ref.onCaptionOverflowChange,
|
|
18
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
29
19
|
var _useOverflowObserver = useOverflowObserver(),
|
|
30
20
|
ref = _useOverflowObserver.ref,
|
|
31
21
|
isOverflowing = _useOverflowObserver.isOverflowing;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
22
|
+
useEffect(function () {
|
|
23
|
+
onCaptionOverflowChange === null || onCaptionOverflowChange === void 0 ? void 0 : onCaptionOverflowChange(isOverflowing);
|
|
24
|
+
}, [isOverflowing, onCaptionOverflowChange]);
|
|
25
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
36
26
|
"data-qa": qa
|
|
37
27
|
}, /*#__PURE__*/React.createElement(StyledMultilineCaption, _extends({
|
|
38
28
|
ref: ref,
|
|
39
29
|
$disabled: disabled,
|
|
40
30
|
$error: error,
|
|
41
31
|
$layout: layout
|
|
42
|
-
}, props), /*#__PURE__*/React.createElement(StyledCaptionText, null, caption)))
|
|
32
|
+
}, props), /*#__PURE__*/React.createElement(StyledCaptionText, null, caption)));
|
|
43
33
|
}
|
|
44
|
-
function SinglelineCaption(
|
|
45
|
-
var caption =
|
|
46
|
-
error =
|
|
47
|
-
disabled =
|
|
48
|
-
layout =
|
|
49
|
-
qa =
|
|
50
|
-
|
|
34
|
+
function SinglelineCaption(_ref2) {
|
|
35
|
+
var caption = _ref2.caption,
|
|
36
|
+
error = _ref2.error,
|
|
37
|
+
disabled = _ref2.disabled,
|
|
38
|
+
layout = _ref2.layout,
|
|
39
|
+
qa = _ref2.qa,
|
|
40
|
+
onCaptionOverflowChange = _ref2.onCaptionOverflowChange,
|
|
41
|
+
props = _objectWithoutProperties(_ref2, _excluded2);
|
|
51
42
|
var _useOverflowObserver2 = useOverflowObserver(),
|
|
52
43
|
ref = _useOverflowObserver2.ref,
|
|
53
44
|
isOverflowing = _useOverflowObserver2.isOverflowing;
|
|
@@ -55,30 +46,30 @@ function SinglelineCaption(_ref3) {
|
|
|
55
46
|
filename = _parseFilename.filename,
|
|
56
47
|
extension = _parseFilename.extension,
|
|
57
48
|
isFilename = _parseFilename.isFilename;
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
49
|
+
useEffect(function () {
|
|
50
|
+
onCaptionOverflowChange === null || onCaptionOverflowChange === void 0 ? void 0 : onCaptionOverflowChange(isOverflowing);
|
|
51
|
+
}, [isOverflowing, onCaptionOverflowChange]);
|
|
52
|
+
return /*#__PURE__*/React.createElement(StyledSingleLineCaption, _extends({
|
|
62
53
|
$error: error,
|
|
63
54
|
$disabled: disabled,
|
|
64
55
|
$layout: layout,
|
|
65
56
|
"data-qa": qa
|
|
66
57
|
}, props), /*#__PURE__*/React.createElement(StyledSinglelineCaptionBody, {
|
|
67
58
|
ref: ref
|
|
68
|
-
}, isFilename ? "".concat(filename, ".") : caption), isFilename && /*#__PURE__*/React.createElement(StyledSinglelineCaptionEnding, null, extension))
|
|
59
|
+
}, isFilename ? "".concat(filename, ".") : caption), isFilename && /*#__PURE__*/React.createElement(StyledSinglelineCaptionEnding, null, extension));
|
|
69
60
|
}
|
|
70
|
-
export function ThumbnailCaption(
|
|
71
|
-
var layout =
|
|
72
|
-
|
|
73
|
-
disabled =
|
|
74
|
-
|
|
75
|
-
error =
|
|
76
|
-
caption =
|
|
77
|
-
hasCaptionPlaceholder =
|
|
78
|
-
multiline =
|
|
79
|
-
|
|
80
|
-
qa =
|
|
81
|
-
props = _objectWithoutProperties(
|
|
61
|
+
export function ThumbnailCaption(_ref3) {
|
|
62
|
+
var layout = _ref3.layout,
|
|
63
|
+
_ref3$disabled = _ref3.disabled,
|
|
64
|
+
disabled = _ref3$disabled === void 0 ? false : _ref3$disabled,
|
|
65
|
+
_ref3$error = _ref3.error,
|
|
66
|
+
error = _ref3$error === void 0 ? false : _ref3$error,
|
|
67
|
+
caption = _ref3.caption,
|
|
68
|
+
hasCaptionPlaceholder = _ref3.hasCaptionPlaceholder,
|
|
69
|
+
multiline = _ref3.multiline,
|
|
70
|
+
_ref3$qa = _ref3.qa,
|
|
71
|
+
qa = _ref3$qa === void 0 ? '' : _ref3$qa,
|
|
72
|
+
props = _objectWithoutProperties(_ref3, _excluded3);
|
|
82
73
|
if (!caption) {
|
|
83
74
|
var captionPlaceholder = hasCaptionPlaceholder && '- -';
|
|
84
75
|
if (captionPlaceholder) {
|
|
@@ -97,7 +88,8 @@ export function ThumbnailCaption(_ref4) {
|
|
|
97
88
|
caption: caption,
|
|
98
89
|
error: error,
|
|
99
90
|
layout: layout,
|
|
100
|
-
qa: qa
|
|
91
|
+
qa: qa,
|
|
92
|
+
onCaptionOverflowChange: props.onCaptionOverflowChange
|
|
101
93
|
}, props));
|
|
102
94
|
}
|
|
103
95
|
return /*#__PURE__*/React.createElement(SinglelineCaption, _extends({
|
|
@@ -105,7 +97,8 @@ export function ThumbnailCaption(_ref4) {
|
|
|
105
97
|
disabled: disabled,
|
|
106
98
|
error: error,
|
|
107
99
|
layout: layout,
|
|
108
|
-
qa: qa
|
|
100
|
+
qa: qa,
|
|
101
|
+
onCaptionOverflowChange: props.onCaptionOverflowChange
|
|
109
102
|
}, props));
|
|
110
103
|
}
|
|
111
104
|
//# sourceMappingURL=ThumbnailCaption.js.map
|