@procore/core-react 12.47.1 → 12.48.1
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 +24 -0
- package/dist/AnchorNavigation/AnchorNavigation.styles.js +4 -4
- package/dist/Avatar/Avatar.styles.js +5 -5
- package/dist/AvatarStack/AvatarStack.styles.js +7 -7
- 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/CheckboxGroup/CheckboxGroup.js +9 -3
- package/dist/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/dist/CheckboxGroup/checkboxGroupTileNavigation.d.ts +12 -0
- package/dist/CheckboxGroup/checkboxGroupTileNavigation.js +224 -0
- package/dist/CheckboxGroup/checkboxGroupTileNavigation.js.map +1 -0
- 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/DateSelect/DateSelect.js +5 -4
- package/dist/DateSelect/DateSelect.js.map +1 -1
- package/dist/DateSelect/DateSelect.types.d.ts +1 -1
- package/dist/DateSelect/DateSelect.types.js.map +1 -1
- 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 +9 -9
- package/dist/EmptyState/EmptyState.styles.js +6 -6
- package/dist/Field/Field.styles.js +3 -3
- package/dist/FileList/FileList.js +4 -0
- package/dist/FileList/FileList.js.map +1 -1
- package/dist/FileList/FileList.styles.js +3 -3
- package/dist/FileList/storybook/fileListMockData.js +14 -14
- package/dist/FileList/storybook/fileListMockData.js.map +1 -1
- package/dist/FileSelect/FileExplorer/FileExplorer.styles.js +9 -9
- package/dist/FileSelect/FileExplorer/FileExplorerSidebar.styles.js +3 -3
- package/dist/FileSelect/FileSelect.styles.js +2 -2
- package/dist/FileSelect/FileSelectDropzone/FileSelectDropzone.styles.js +3 -3
- 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.styles.js +11 -11
- package/dist/Modal/Modal.styles.js +13 -13
- package/dist/MultiSelect/MultiSelect.styles.js +8 -8
- package/dist/NextMenu/NextMenu.styles.js +3 -3
- package/dist/NextTile/NextTile.d.ts +24 -0
- package/dist/NextTile/NextTile.js +275 -90
- package/dist/NextTile/NextTile.js.map +1 -1
- package/dist/NextTile/NextTile.styles.d.ts +16 -0
- package/dist/NextTile/NextTile.styles.js +136 -0
- package/dist/NextTile/NextTile.styles.js.map +1 -0
- package/dist/NextTile/NextTile.types.d.ts +14 -2
- package/dist/NextTile/NextTile.types.js.map +1 -1
- 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/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.js +2 -1
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Pagination/Pagination.styles.js +5 -5
- package/dist/Pagination/PaginationSelect.js +15 -2
- package/dist/Pagination/PaginationSelect.js.map +1 -1
- package/dist/Panel/Panel.styles.js +11 -11
- package/dist/Pill/Pill.styles.js +3 -3
- package/dist/PillSelect/PillSelect.styles.js +4 -4
- package/dist/Popover/Popover.js +2 -3
- package/dist/Popover/Popover.js.map +1 -1
- package/dist/Popover/Popover.styles.js +2 -2
- package/dist/Popover/Popover.types.d.ts +4 -3
- package/dist/Popover/Popover.types.js.map +1 -1
- package/dist/Portal/Portal.styles.js +1 -1
- package/dist/ProgressBar/ProgressBar.styles.js +2 -2
- 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.styles.js +7 -7
- package/dist/SegmentedController/SegmentedController.styles.js +4 -4
- 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 +8 -8
- package/dist/Spinner/Spinner.styles.js.map +1 -1
- package/dist/SplitViewCard/SplitViewCard.styles.js +8 -8
- package/dist/SuperSelect/SuperSelect.presets.styles.js +1 -1
- package/dist/SuperSelect/SuperSelect.styles.js +40 -40
- package/dist/Switch/Switch.styles.js +4 -4
- package/dist/Table/Table.styles.js +29 -29
- package/dist/TableShelf/TableShelf.styles.js +5 -5
- package/dist/Tabs/Tabs.styles.js +16 -16
- package/dist/Tearsheet/Tearsheet.styles.js +5 -5
- package/dist/TextArea/TextArea.styles.js +1 -1
- package/dist/TextEditorOutput/TextEditorOutput.styles.js +1 -1
- package/dist/Thumbnail/Thumbnail.hooks.d.ts +13 -7
- package/dist/Thumbnail/Thumbnail.hooks.js +15 -5
- package/dist/Thumbnail/Thumbnail.hooks.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.js +8 -4
- package/dist/Thumbnail/Thumbnail.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.styles.d.ts +13 -5
- package/dist/Thumbnail/Thumbnail.styles.js +42 -24
- package/dist/Thumbnail/Thumbnail.styles.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.types.d.ts +12 -10
- package/dist/Thumbnail/Thumbnail.types.js.map +1 -1
- package/dist/Thumbnail/Thumbnail.utils.d.ts +1 -0
- package/dist/Thumbnail/Thumbnail.utils.js +7 -0
- package/dist/Thumbnail/Thumbnail.utils.js.map +1 -1
- package/dist/Thumbnail/ThumbnailCaption.js +85 -40
- 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 +10 -10
- package/dist/Tile/Tile.styles.js.map +1 -1
- package/dist/Title/Title.styles.js +7 -7
- package/dist/Toast/Toast.styles.js +3 -3
- package/dist/ToggleButton/ToggleButton.styles.js +5 -3
- package/dist/ToggleButton/ToggleButton.styles.js.map +1 -1
- package/dist/Token/Token.styles.js +5 -5
- 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/ClickOutside.js +8 -3
- package/dist/_hooks/ClickOutside.js.map +1 -1
- package/dist/_hooks/I18n.d.ts +2 -0
- package/dist/_locales/en.json +1 -0
- package/dist/_locales/pseudo.json +1 -0
- package/dist/_storyHelpers_/components/Deprecation.styles.js +1 -1
- package/dist/_storyHelpers_/components/StoryGrid.js +3 -3
- package/dist/_typedoc/AnchorNavigation/AnchorNavigation.types.json +4 -4
- package/dist/_typedoc/Avatar/Avatar.types.json +20 -20
- package/dist/_typedoc/AvatarStack/AvatarStack.types.json +25 -25
- 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 +14 -14
- 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 +23 -13
- package/dist/_typedoc/DetailPage/DetailPage.types.json +5 -5
- package/dist/_typedoc/Dropdown/Dropdown.types.json +38 -38
- 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 +18 -18
- package/dist/_typedoc/FileList/FileList.types.json +9 -9
- 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 +780 -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 +84 -84
- package/dist/_typedoc/Modal/Modal.types.json +48 -48
- package/dist/_typedoc/MultiSelect/MultiSelect.types.json +33 -33
- package/dist/_typedoc/NextTile/NextTile.types.json +42 -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 +28 -28
- 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 +19 -19
- 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 +114 -104
- 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 +23 -23
- 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/a11y-tips.json +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +16 -16
|
@@ -46,7 +46,7 @@ var getSlideOutAnimation = function getSlideOutAnimation($placement) {
|
|
|
46
46
|
};
|
|
47
47
|
export var StyledTearsheetContent = /*#__PURE__*/styled.div.withConfig({
|
|
48
48
|
displayName: "StyledTearsheetContent",
|
|
49
|
-
componentId: "core-
|
|
49
|
+
componentId: "core-12_48_1__sc-ljrxoq-0"
|
|
50
50
|
})(["display:flex;z-index:2;width:100%;", " ", " ", " ", ""], function (_ref) {
|
|
51
51
|
var $open = _ref.$open,
|
|
52
52
|
$placement = _ref.$placement;
|
|
@@ -66,7 +66,7 @@ export var StyledTearsheetContent = /*#__PURE__*/styled.div.withConfig({
|
|
|
66
66
|
export var minScrimSize = spacing.xxl * 3;
|
|
67
67
|
export var StyledTearsheetBody = /*#__PURE__*/styled.div.withConfig({
|
|
68
68
|
displayName: "StyledTearsheetBody",
|
|
69
|
-
componentId: "core-
|
|
69
|
+
componentId: "core-12_48_1__sc-ljrxoq-1"
|
|
70
70
|
})(["display:flex;overflow-y:auto;flex-direction:column;background-color:", ";&:focus-visible{", "}", ""], colors.white, getGapOutlineFocus('inside'), function (_ref5) {
|
|
71
71
|
var $block = _ref5.$block,
|
|
72
72
|
$placement = _ref5.$placement,
|
|
@@ -78,7 +78,7 @@ var zoomIn = /*#__PURE__*/keyframes(["from{transform:scale(0);}to{transform:scal
|
|
|
78
78
|
var zoomOut = /*#__PURE__*/keyframes(["from{transform:scale(1);}to{transform:scale(0);}"]);
|
|
79
79
|
export var StyledScrimContainer = /*#__PURE__*/styled.div.withConfig({
|
|
80
80
|
displayName: "StyledScrimContainer",
|
|
81
|
-
componentId: "core-
|
|
81
|
+
componentId: "core-12_48_1__sc-ljrxoq-2"
|
|
82
82
|
})(["", ""], function (_ref6) {
|
|
83
83
|
var $placement = _ref6.$placement;
|
|
84
84
|
var minSizeProp = ['top', 'bottom'].includes($placement) ? 'min-height' : 'min-width';
|
|
@@ -86,7 +86,7 @@ export var StyledScrimContainer = /*#__PURE__*/styled.div.withConfig({
|
|
|
86
86
|
});
|
|
87
87
|
export var StyledButtonContainer = /*#__PURE__*/styled.div.withConfig({
|
|
88
88
|
displayName: "StyledButtonContainer",
|
|
89
|
-
componentId: "core-
|
|
89
|
+
componentId: "core-12_48_1__sc-ljrxoq-3"
|
|
90
90
|
})(["", ""], function (_ref7) {
|
|
91
91
|
var $placement = _ref7.$placement;
|
|
92
92
|
switch ($placement) {
|
|
@@ -101,7 +101,7 @@ export var StyledButtonContainer = /*#__PURE__*/styled.div.withConfig({
|
|
|
101
101
|
});
|
|
102
102
|
export var StyledButtonCard = /*#__PURE__*/styled(Card).withConfig({
|
|
103
103
|
displayName: "StyledButtonCard",
|
|
104
|
-
componentId: "core-
|
|
104
|
+
componentId: "core-12_48_1__sc-ljrxoq-4"
|
|
105
105
|
})(["display:inline-flex;margin:", "px;", " ", " ", ""], spacing.xl, function (_ref8) {
|
|
106
106
|
var $open = _ref8.$open;
|
|
107
107
|
return $open ? css(["transform:scale(1);"]) : css(["transform:scale(0);"]);
|
|
@@ -3,7 +3,7 @@ import { getInputStyles } from '../Input/Input.styles';
|
|
|
3
3
|
import { spacing } from '../_styles/spacing';
|
|
4
4
|
export var StyledTextArea = /*#__PURE__*/styled.textarea.withConfig({
|
|
5
5
|
displayName: "StyledTextArea",
|
|
6
|
-
componentId: "core-
|
|
6
|
+
componentId: "core-12_48_1__sc-u5mow1-0"
|
|
7
7
|
})(["", ";height:auto;min-height:64px;padding:", "px ", "px;resize:", ";"], getInputStyles, spacing.sm, spacing.md, function (_ref) {
|
|
8
8
|
var _ref$$resize = _ref.$resize,
|
|
9
9
|
$resize = _ref$$resize === void 0 ? 'both' : _ref$$resize;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
2
|
export var StyledEditor = /*#__PURE__*/styled.div.withConfig({
|
|
3
3
|
displayName: "StyledEditor",
|
|
4
|
-
componentId: "core-
|
|
4
|
+
componentId: "core-12_48_1__sc-1lje1b0-0"
|
|
5
5
|
})(["> .tox-tinymce{border:none;}"]);
|
|
6
6
|
//# sourceMappingURL=TextEditorOutput.styles.js.map
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import type { LayoutVariant, ThumbnailProps } from './Thumbnail.types';
|
|
3
|
-
export declare const useThumbnail: ({ selected, disabled, clickable, focused, hasCaptionPlaceholder, src, filename: filename_, size, label, name, caption, onChange, value, ...props }: ThumbnailProps<'checkbox'> | ThumbnailProps<'figure'> | ThumbnailProps<undefined>) => {
|
|
3
|
+
export declare const useThumbnail: ({ selected, disabled, clickable, focused, hasCaptionPlaceholder, src, filename: filename_, size, label, error, name, caption, onChange, value, ...props }: ThumbnailProps<'checkbox'> | ThumbnailProps<'figure'> | ThumbnailProps<undefined>) => {
|
|
4
|
+
error: string | boolean;
|
|
5
|
+
errorAriaDescription: string | undefined;
|
|
4
6
|
label: string;
|
|
5
7
|
caption: string;
|
|
6
8
|
selected: boolean;
|
|
@@ -289,7 +291,6 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
289
291
|
onTransitionEnd?: React.TransitionEventHandler<HTMLElement> | undefined;
|
|
290
292
|
onTransitionEndCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
|
|
291
293
|
alt: string;
|
|
292
|
-
error?: boolean | undefined;
|
|
293
294
|
variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
|
|
294
295
|
tabIndex?: number | undefined;
|
|
295
296
|
qa?: import("./Thumbnail.types").QaTags | undefined;
|
|
@@ -299,6 +300,8 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
299
300
|
style?: React.CSSProperties | undefined;
|
|
300
301
|
ref?: ((instance: HTMLElement | null) => void) | React.RefObject<HTMLElement> | null | undefined;
|
|
301
302
|
} | {
|
|
303
|
+
error: string | boolean;
|
|
304
|
+
errorAriaDescription: string | undefined;
|
|
302
305
|
label: string;
|
|
303
306
|
caption: string;
|
|
304
307
|
selected: boolean;
|
|
@@ -587,7 +590,6 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
587
590
|
onTransitionEnd?: React.TransitionEventHandler<HTMLElement> | undefined;
|
|
588
591
|
onTransitionEndCapture?: React.TransitionEventHandler<HTMLElement> | undefined;
|
|
589
592
|
alt: string;
|
|
590
|
-
error?: boolean | undefined;
|
|
591
593
|
variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
|
|
592
594
|
tabIndex?: number | undefined;
|
|
593
595
|
qa?: import("./Thumbnail.types").QaTags | undefined;
|
|
@@ -597,6 +599,8 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
597
599
|
style?: React.CSSProperties | undefined;
|
|
598
600
|
ref?: ((instance: HTMLElement | null) => void) | React.RefObject<HTMLElement> | null | undefined;
|
|
599
601
|
} | {
|
|
602
|
+
error: string | boolean;
|
|
603
|
+
errorAriaDescription: string | undefined;
|
|
600
604
|
label: string;
|
|
601
605
|
caption: string;
|
|
602
606
|
selected: boolean;
|
|
@@ -909,7 +913,6 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
909
913
|
readOnly?: boolean | undefined;
|
|
910
914
|
required?: boolean | undefined;
|
|
911
915
|
alt: string;
|
|
912
|
-
error?: boolean | undefined;
|
|
913
916
|
variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
|
|
914
917
|
tabIndex?: number | undefined;
|
|
915
918
|
qa?: import("./Thumbnail.types").QaTags | undefined;
|
|
@@ -919,6 +922,8 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
919
922
|
style?: React.CSSProperties | undefined;
|
|
920
923
|
ref?: ((instance: HTMLInputElement | null) => void) | React.RefObject<HTMLInputElement> | null | undefined;
|
|
921
924
|
} | {
|
|
925
|
+
error: string | boolean;
|
|
926
|
+
errorAriaDescription: string | undefined;
|
|
922
927
|
label: string;
|
|
923
928
|
caption: string;
|
|
924
929
|
selected: boolean;
|
|
@@ -1231,7 +1236,6 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
1231
1236
|
readOnly?: boolean | undefined;
|
|
1232
1237
|
required?: boolean | undefined;
|
|
1233
1238
|
alt: string;
|
|
1234
|
-
error?: boolean | undefined;
|
|
1235
1239
|
variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
|
|
1236
1240
|
tabIndex?: number | undefined;
|
|
1237
1241
|
qa?: import("./Thumbnail.types").QaTags | undefined;
|
|
@@ -1241,6 +1245,8 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
1241
1245
|
style?: React.CSSProperties | undefined;
|
|
1242
1246
|
ref?: ((instance: HTMLInputElement | null) => void) | React.RefObject<HTMLInputElement> | null | undefined;
|
|
1243
1247
|
} | {
|
|
1248
|
+
error: string | boolean;
|
|
1249
|
+
errorAriaDescription: string | undefined;
|
|
1244
1250
|
label: string;
|
|
1245
1251
|
caption: string;
|
|
1246
1252
|
selected: boolean;
|
|
@@ -1269,7 +1275,6 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
1269
1275
|
as: React.ElementType<any, keyof React.JSX.IntrinsicElements>;
|
|
1270
1276
|
role?: undefined;
|
|
1271
1277
|
alt: string;
|
|
1272
|
-
error?: boolean | undefined;
|
|
1273
1278
|
variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
|
|
1274
1279
|
tabIndex?: number | undefined;
|
|
1275
1280
|
qa?: import("./Thumbnail.types").QaTags | undefined;
|
|
@@ -1279,6 +1284,8 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
1279
1284
|
style?: React.CSSProperties | undefined;
|
|
1280
1285
|
ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
|
|
1281
1286
|
} | {
|
|
1287
|
+
error: string | boolean;
|
|
1288
|
+
errorAriaDescription: string | undefined;
|
|
1282
1289
|
label: string;
|
|
1283
1290
|
caption: string;
|
|
1284
1291
|
selected: boolean;
|
|
@@ -1307,7 +1314,6 @@ export declare const useThumbnail: ({ selected, disabled, clickable, focused, ha
|
|
|
1307
1314
|
as: string;
|
|
1308
1315
|
role?: undefined;
|
|
1309
1316
|
alt: string;
|
|
1310
|
-
error?: boolean | undefined;
|
|
1311
1317
|
variant?: import("./ThumbnailDocumentIcon").ThumbnailDocumentIconVariant | undefined;
|
|
1312
1318
|
tabIndex?: number | undefined;
|
|
1313
1319
|
qa?: import("./Thumbnail.types").QaTags | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
var _excluded = ["selected", "disabled", "clickable", "focused", "hasCaptionPlaceholder", "src", "filename", "size", "label", "name", "caption", "onChange", "value"];
|
|
2
|
+
var _excluded = ["selected", "disabled", "clickable", "focused", "hasCaptionPlaceholder", "src", "filename", "size", "label", "error", "name", "caption", "onChange", "value"];
|
|
3
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
5
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -11,7 +11,8 @@ import { useCheckbox } from '@react-aria/checkbox';
|
|
|
11
11
|
import { useFocusRing } from '@react-aria/focus';
|
|
12
12
|
import { useRef } from 'react';
|
|
13
13
|
import { useToggleState } from 'react-stately';
|
|
14
|
-
import {
|
|
14
|
+
import { useI18nContext } from '../_hooks/I18n';
|
|
15
|
+
import { getIsFilePreviewableAsImage, resolveThumbnailErrorLabel } from './Thumbnail.utils';
|
|
15
16
|
var defaultSize = 'lg';
|
|
16
17
|
export var useThumbnail = function useThumbnail(_ref) {
|
|
17
18
|
var selected = _ref.selected,
|
|
@@ -29,12 +30,15 @@ export var useThumbnail = function useThumbnail(_ref) {
|
|
|
29
30
|
size = _ref$size === void 0 ? defaultSize : _ref$size,
|
|
30
31
|
_ref$label = _ref.label,
|
|
31
32
|
label = _ref$label === void 0 ? '' : _ref$label,
|
|
33
|
+
_ref$error = _ref.error,
|
|
34
|
+
error = _ref$error === void 0 ? false : _ref$error,
|
|
32
35
|
name = _ref.name,
|
|
33
36
|
_ref$caption = _ref.caption,
|
|
34
37
|
caption = _ref$caption === void 0 ? '' : _ref$caption,
|
|
35
38
|
onChange = _ref.onChange,
|
|
36
39
|
value = _ref.value,
|
|
37
40
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
41
|
+
var i18n = useI18nContext();
|
|
38
42
|
var a11yProps = props.role === 'figure' ? {
|
|
39
43
|
as: 'figure'
|
|
40
44
|
} : {
|
|
@@ -53,14 +57,18 @@ export var useThumbnail = function useThumbnail(_ref) {
|
|
|
53
57
|
var shouldUsePlaceholder = isFileOrNonPreviewableImage || !src;
|
|
54
58
|
var filename = filename_ !== null && filename_ !== void 0 ? filename_ : isFileOrNonPreviewableImage ? src.name : caption;
|
|
55
59
|
var ariaLabel = label && caption ? "".concat(label, " ").concat(caption) : caption || label;
|
|
56
|
-
var
|
|
60
|
+
var errorAriaDescription = error ? resolveThumbnailErrorLabel(i18n, error) : undefined;
|
|
61
|
+
var _useCheckbox = useCheckbox(_objectSpread(_objectSpread({
|
|
57
62
|
isSelected: selected,
|
|
58
63
|
isDisabled: disabled,
|
|
59
|
-
'aria-label': ariaLabel
|
|
64
|
+
'aria-label': ariaLabel
|
|
65
|
+
}, error ? {
|
|
66
|
+
'aria-description': errorAriaDescription
|
|
67
|
+
} : {}), {}, {
|
|
60
68
|
name: name,
|
|
61
69
|
onChange: onChange,
|
|
62
70
|
value: value
|
|
63
|
-
}, toggleState, inputRef),
|
|
71
|
+
}), toggleState, inputRef),
|
|
64
72
|
inputProps = _useCheckbox.inputProps;
|
|
65
73
|
var _useFocusRing = useFocusRing(),
|
|
66
74
|
isFocusVisible = _useFocusRing.isFocusVisible,
|
|
@@ -68,6 +76,8 @@ export var useThumbnail = function useThumbnail(_ref) {
|
|
|
68
76
|
return _objectSpread(_objectSpread(_objectSpread({
|
|
69
77
|
alt: props.alt || props.alt === '' ? props.alt : caption || label
|
|
70
78
|
}, props), a11yProps), {}, {
|
|
79
|
+
error: error,
|
|
80
|
+
errorAriaDescription: errorAriaDescription,
|
|
71
81
|
label: label,
|
|
72
82
|
caption: caption,
|
|
73
83
|
selected: toggleState.isSelected,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thumbnail.hooks.js","names":["useCheckbox","useFocusRing","useRef","useToggleState","getIsFilePreviewableAsImage","defaultSize","useThumbnail","_ref","selected","_ref$disabled","disabled","_ref$clickable","clickable","_ref$focused","focused","_ref$hasCaptionPlaceh","hasCaptionPlaceholder","src","filename_","filename","_ref$size","size","_ref$label","label","name","_ref$caption","caption","onChange","value","props","_objectWithoutProperties","_excluded","a11yProps","role","as","inputRef","toggleState","defaultSelected","layout","isFile","File","isImageURL","canPreviewFileAsImage","isFileOrNonPreviewableImage","shouldUsePlaceholder","ariaLabel","concat","_useCheckbox","isSelected","isDisabled","inputProps","_useFocusRing","isFocusVisible","focusProps","
|
|
1
|
+
{"version":3,"file":"Thumbnail.hooks.js","names":["useCheckbox","useFocusRing","useRef","useToggleState","useI18nContext","getIsFilePreviewableAsImage","resolveThumbnailErrorLabel","defaultSize","useThumbnail","_ref","selected","_ref$disabled","disabled","_ref$clickable","clickable","_ref$focused","focused","_ref$hasCaptionPlaceh","hasCaptionPlaceholder","src","filename_","filename","_ref$size","size","_ref$label","label","_ref$error","error","name","_ref$caption","caption","onChange","value","props","_objectWithoutProperties","_excluded","i18n","a11yProps","role","as","inputRef","toggleState","defaultSelected","layout","isFile","File","isImageURL","canPreviewFileAsImage","isFileOrNonPreviewableImage","shouldUsePlaceholder","ariaLabel","concat","errorAriaDescription","undefined","_useCheckbox","_objectSpread","isSelected","isDisabled","inputProps","_useFocusRing","isFocusVisible","focusProps","alt"],"sources":["../../src/Thumbnail/Thumbnail.hooks.tsx"],"sourcesContent":["import { useCheckbox } from '@react-aria/checkbox'\nimport { useFocusRing } from '@react-aria/focus'\nimport type React from 'react'\nimport { useRef } from 'react'\nimport { useToggleState } from 'react-stately'\nimport { useI18nContext } from '../_hooks/I18n'\nimport type { LayoutVariant, ThumbnailProps } from './Thumbnail.types'\nimport {\n getIsFilePreviewableAsImage,\n resolveThumbnailErrorLabel,\n} from './Thumbnail.utils'\n\nconst defaultSize = 'lg'\n\nexport const useThumbnail = ({\n selected,\n disabled = false,\n clickable = true,\n focused = false,\n hasCaptionPlaceholder = false,\n src,\n filename: filename_,\n size = defaultSize,\n label = '',\n error = false,\n // @ts-ignore Checkbox only\n name,\n caption = '',\n // @ts-ignore Checkbox only\n onChange,\n // @ts-ignore Checkbox only\n value,\n ...props\n}:\n | ThumbnailProps<'checkbox'>\n | ThumbnailProps<'figure'>\n | ThumbnailProps<undefined>) => {\n const i18n = useI18nContext()\n const a11yProps =\n props.role === 'figure'\n ? { as: 'figure' as React.ElementType }\n : { as: 'div' }\n const inputRef = useRef<HTMLInputElement>(null)\n const toggleState = useToggleState({\n defaultSelected: selected,\n onChange,\n })\n const layout: LayoutVariant = size === 'sm' ? 'row' : 'column'\n const isFile = src instanceof File\n const isImageURL = typeof src === 'string'\n const canPreviewFileAsImage = getIsFilePreviewableAsImage(src)\n const isFileOrNonPreviewableImage = isFile && !canPreviewFileAsImage\n const shouldUsePlaceholder = isFileOrNonPreviewableImage || !src\n const filename =\n filename_ ?? (isFileOrNonPreviewableImage ? (src as File).name : caption)\n const ariaLabel = label && caption ? `${label} ${caption}` : caption || label\n const errorAriaDescription = error\n ? resolveThumbnailErrorLabel(i18n, error)\n : undefined\n const { inputProps } = useCheckbox(\n {\n isSelected: selected,\n isDisabled: disabled,\n 'aria-label': ariaLabel,\n ...(error ? { 'aria-description': errorAriaDescription } : {}),\n name,\n onChange,\n value,\n },\n toggleState,\n inputRef\n )\n const { isFocusVisible, focusProps } = useFocusRing()\n\n return {\n alt: props.alt || props.alt === '' ? props.alt : caption || label,\n ...props,\n ...a11yProps,\n error,\n errorAriaDescription,\n label,\n caption,\n selected: toggleState.isSelected,\n disabled,\n clickable,\n focused,\n isImageURL,\n hasCaptionPlaceholder,\n shouldUsePlaceholder,\n src,\n filename,\n size,\n layout,\n inputRef,\n inputProps,\n /**\n * Appeared 23-1-18 https://github.com/procore/core/pull/12250\n * Possible issue with types from React Aria during dependency update\n * > The inferred type of 'useThumbnail' cannot be named without a\n * > reference to '@react-aria/focus/node_modules/@react-types/shared'.\n * > This is likely not portable. A type annotation is necessary.\n */\n focusProps: focusProps as React.HTMLAttributes<HTMLDivElement>,\n isFocusVisible,\n toggleState,\n }\n}\n"],"mappings":"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"}
|
|
@@ -117,7 +117,8 @@ var BasePlaceholder = /*#__PURE__*/React.forwardRef(function BasePlaceholder(pro
|
|
|
117
117
|
$size: thumbnail.size,
|
|
118
118
|
tabIndex: 0,
|
|
119
119
|
role: "group",
|
|
120
|
-
"aria-label": ariaLabel
|
|
120
|
+
"aria-label": ariaLabel,
|
|
121
|
+
"aria-description": thumbnail.errorAriaDescription
|
|
121
122
|
}, wrapperProps), /*#__PURE__*/React.createElement(StyledPlaceholderThumbnail, {
|
|
122
123
|
$focused: thumbnail.focused,
|
|
123
124
|
$disabled: thumbnail.disabled,
|
|
@@ -169,7 +170,8 @@ var FigurePlaceholder = /*#__PURE__*/React.forwardRef(function FigurePlaceholder
|
|
|
169
170
|
$size: thumbnail.size,
|
|
170
171
|
tabIndex: 0,
|
|
171
172
|
role: "group",
|
|
172
|
-
"aria-label": ariaLabel
|
|
173
|
+
"aria-label": ariaLabel,
|
|
174
|
+
"aria-description": thumbnail.errorAriaDescription
|
|
173
175
|
}, wrapperProps), /*#__PURE__*/React.createElement(StyledPlaceholderThumbnail, {
|
|
174
176
|
$focused: thumbnail.focused,
|
|
175
177
|
$disabled: thumbnail.disabled,
|
|
@@ -333,7 +335,8 @@ var BaseThumbnail = /*#__PURE__*/React.forwardRef(function BaseThumbnail(props,
|
|
|
333
335
|
$size: thumbnail.size,
|
|
334
336
|
tabIndex: 0,
|
|
335
337
|
role: "group",
|
|
336
|
-
"aria-label": ariaLabel
|
|
338
|
+
"aria-label": ariaLabel,
|
|
339
|
+
"aria-description": thumbnail.errorAriaDescription
|
|
337
340
|
}, wrapperProps), /*#__PURE__*/React.createElement(StyledImageThumbnail, {
|
|
338
341
|
$focused: thumbnail.focused,
|
|
339
342
|
$disabled: thumbnail.disabled,
|
|
@@ -384,7 +387,8 @@ var FigureThumbnail = /*#__PURE__*/React.forwardRef(function FigureThumbnail(pro
|
|
|
384
387
|
$size: thumbnail.size,
|
|
385
388
|
tabIndex: 0,
|
|
386
389
|
role: "group",
|
|
387
|
-
"aria-label": ariaLabel
|
|
390
|
+
"aria-label": ariaLabel,
|
|
391
|
+
"aria-description": thumbnail.errorAriaDescription
|
|
388
392
|
}, /*#__PURE__*/React.createElement(StyledImageThumbnail, {
|
|
389
393
|
ref: ref,
|
|
390
394
|
$focused: thumbnail.focused,
|
|
@@ -1 +1 @@
|
|
|
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","ariaHidden","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 aria-hidden\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 ariaHidden\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 aria-hidden\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 ariaHidden\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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"}
|
|
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","errorAriaDescription","$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","ariaHidden","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 aria-description={thumbnail.errorAriaDescription}\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 aria-description={thumbnail.errorAriaDescription}\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 aria-hidden\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 ariaHidden\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 aria-description={thumbnail.errorAriaDescription}\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 aria-description={thumbnail.errorAriaDescription}\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 aria-hidden\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 ariaHidden\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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"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
import type { TypographyProps } from '../Typography';
|
|
3
3
|
import type { LayoutVariant, SizeVariant } from './Thumbnail.types';
|
|
4
4
|
import { DocumentIcon } from './ThumbnailDocumentIcon';
|
|
5
|
-
interface
|
|
5
|
+
interface CaptionTextProps {
|
|
6
6
|
$layout: LayoutVariant;
|
|
7
|
-
$error: boolean;
|
|
8
7
|
$disabled: boolean;
|
|
9
8
|
}
|
|
9
|
+
declare type CaptionErrorLayoutProps = CaptionTextProps & {
|
|
10
|
+
$error?: boolean;
|
|
11
|
+
};
|
|
10
12
|
interface StyledThumbnailProps {
|
|
11
13
|
$focused: boolean;
|
|
12
14
|
$disabled: boolean;
|
|
@@ -18,10 +20,16 @@ interface StyledTickIconProps {
|
|
|
18
20
|
$selected: boolean;
|
|
19
21
|
$size: SizeVariant;
|
|
20
22
|
}
|
|
21
|
-
export declare const
|
|
23
|
+
export declare const StyledThumbnailCaptionStack: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
|
|
24
|
+
$layout: LayoutVariant;
|
|
25
|
+
}>> & string;
|
|
26
|
+
export declare const StyledThumbnailErrorRow: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
27
|
+
export declare const StyledThumbnailErrorIcon: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
|
|
28
|
+
export declare const StyledThumbnailErrorText: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
|
|
29
|
+
export declare const StyledMultilineCaption: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, CaptionErrorLayoutProps>> & string;
|
|
22
30
|
export declare const StyledCaptionText: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
|
|
23
|
-
export declare const StyledPlaceholderCaption: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
24
|
-
export declare const StyledSingleLineCaption: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>,
|
|
31
|
+
export declare const StyledPlaceholderCaption: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, CaptionErrorLayoutProps>> & string;
|
|
32
|
+
export declare const StyledSingleLineCaption: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, CaptionErrorLayoutProps>> & string;
|
|
25
33
|
export declare const StyledSinglelineCaptionBody: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
|
|
26
34
|
export declare const StyledSinglelineCaptionEnding: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>> & string;
|
|
27
35
|
export declare const StyledLabelText: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("react").HTMLAttributes<HTMLSpanElement> & TypographyProps & import("react").RefAttributes<HTMLSpanElement>, "ref"> & {
|