box-ui-elements 19.0.0-beta.8 → 19.0.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/dist/explorer.css +1 -1
- package/dist/explorer.js +2 -172
- package/dist/explorer.js.LICENSE.txt +178 -0
- package/dist/openwith.css +1 -1
- package/dist/openwith.js +2 -84
- package/dist/openwith.js.LICENSE.txt +94 -0
- package/dist/picker.css +1 -1
- package/dist/picker.js +2 -101
- package/dist/picker.js.LICENSE.txt +112 -0
- package/dist/preview.css +1 -1
- package/dist/preview.js +2 -155
- package/dist/preview.js.LICENSE.txt +160 -0
- package/dist/sharing.css +1 -1
- package/dist/sharing.js +2 -135
- package/dist/sharing.js.LICENSE.txt +149 -0
- package/dist/sidebar.css +1 -1
- package/dist/sidebar.js +2 -155
- package/dist/sidebar.js.LICENSE.txt +160 -0
- package/dist/uploader.css +1 -1
- package/dist/uploader.js +2 -101
- package/dist/uploader.js.LICENSE.txt +112 -0
- package/es/api/APIFactory.js +25 -0
- package/es/api/APIFactory.js.flow +25 -0
- package/es/api/APIFactory.js.map +1 -1
- package/es/api/Feed.js +5 -3
- package/es/api/Feed.js.flow +8 -4
- package/es/api/Feed.js.map +1 -1
- package/es/api/Intelligence.js +45 -0
- package/es/api/Intelligence.js.flow +47 -0
- package/es/api/Intelligence.js.map +1 -0
- package/es/common/types/core.js.flow +1 -0
- package/es/common/types/core.js.map +1 -1
- package/es/components/accessible-svg/AccessibleSVG.stories.js +1 -1
- package/es/components/accessible-svg/AccessibleSVG.stories.js.map +1 -1
- package/es/components/avatar/Avatar.stories.js +1 -1
- package/es/components/avatar/Avatar.stories.js.map +1 -1
- package/es/components/badge/Badge.stories.js +1 -1
- package/es/components/badge/Badge.stories.js.map +1 -1
- package/es/components/badge/BetaBadge.stories.js +1 -1
- package/es/components/badge/BetaBadge.stories.js.map +1 -1
- package/es/components/badge/TrialBadge.stories.js +1 -1
- package/es/components/badge/TrialBadge.stories.js.map +1 -1
- package/es/components/badge/UpgradeBadge.stories.js +1 -1
- package/es/components/badge/UpgradeBadge.stories.js.map +1 -1
- package/es/components/breadcrumb/Breadcrumb.stories.js +1 -1
- package/es/components/breadcrumb/Breadcrumb.stories.js.flow +1 -1
- package/es/components/breadcrumb/Breadcrumb.stories.js.map +1 -1
- package/es/components/button/Button.stories.js +1 -1
- package/es/components/button/Button.stories.js.map +1 -1
- package/es/components/button-group/ButtonGroup.stories.js +1 -1
- package/es/components/button-group/ButtonGroup.stories.js.map +1 -1
- package/es/components/category-selector/CategorySelector.stories.js +1 -1
- package/es/components/category-selector/CategorySelector.stories.js.map +1 -1
- package/es/components/checkbox/Checkbox.stories.js +1 -1
- package/es/components/checkbox/Checkbox.stories.js.map +1 -1
- package/es/components/close-button/CloseButton.stories.js +1 -1
- package/es/components/close-button/CloseButton.stories.js.map +1 -1
- package/es/components/collapsible/Collapsible.stories.js +1 -1
- package/es/components/collapsible/Collapsible.stories.js.map +1 -1
- package/es/components/contact-datalist-item/ContactDatalistItem.stories.js +1 -1
- package/es/components/contact-datalist-item/ContactDatalistItem.stories.js.map +1 -1
- package/es/components/context-menu/ContextMenu.stories.js +1 -1
- package/es/components/context-menu/ContextMenu.stories.js.map +1 -1
- package/es/components/count-badge/CountBadge.stories.js +1 -1
- package/es/components/count-badge/CountBadge.stories.js.map +1 -1
- package/es/components/datalist-item/DatalistItem.stories.js +1 -1
- package/es/components/datalist-item/DatalistItem.stories.js.map +1 -1
- package/es/components/date-picker/DatePicker.stories.js +1 -1
- package/es/components/date-picker/DatePicker.stories.js.map +1 -1
- package/es/components/draft-js-editor/DraftJSEditor.stories.js +1 -1
- package/es/components/draft-js-editor/DraftJSEditor.stories.js.flow +1 -1
- package/es/components/draft-js-editor/DraftJSEditor.stories.js.map +1 -1
- package/es/components/draggable-list/DraggableList.stories.js +1 -1
- package/es/components/draggable-list/DraggableList.stories.js.map +1 -1
- package/es/components/dropdown-menu/DropdownMenu.stories.js +1 -1
- package/es/components/dropdown-menu/DropdownMenu.stories.js.flow +1 -1
- package/es/components/dropdown-menu/DropdownMenu.stories.js.map +1 -1
- package/es/components/error-mask/ErrorMask.stories.js +1 -1
- package/es/components/error-mask/ErrorMask.stories.js.map +1 -1
- package/es/components/fieldset/Fieldset.stories.js +1 -1
- package/es/components/fieldset/Fieldset.stories.js.map +1 -1
- package/es/components/flyout/Flyout.stories.js +1 -1
- package/es/components/flyout/Flyout.stories.js.map +1 -1
- package/es/components/flyout/OverlayHeader.js +2 -1
- package/es/components/flyout/OverlayHeader.js.map +1 -1
- package/es/components/footer-indicator/FooterIndicator.stories.js +1 -1
- package/es/components/footer-indicator/FooterIndicator.stories.js.map +1 -1
- package/es/components/form-elements/form/Form.stories.js +1 -1
- package/es/components/form-elements/form/Form.stories.js.flow +1 -1
- package/es/components/form-elements/form/Form.stories.js.map +1 -1
- package/es/components/form-elements/formik/Formik.stories.js +1 -1
- package/es/components/form-elements/formik/Formik.stories.js.flow +1 -1
- package/es/components/form-elements/formik/Formik.stories.js.map +1 -1
- package/es/components/form-elements/text-area/TextArea.stories.js +1 -1
- package/es/components/form-elements/text-area/TextArea.stories.js.flow +1 -1
- package/es/components/form-elements/text-area/TextArea.stories.js.map +1 -1
- package/es/components/form-elements/text-input/TextInput.stories.js +1 -1
- package/es/components/form-elements/text-input/TextInput.stories.js.flow +1 -1
- package/es/components/form-elements/text-input/TextInput.stories.js.map +1 -1
- package/es/components/ghost/Ghost.stories.js +1 -1
- package/es/components/ghost/Ghost.stories.js.map +1 -1
- package/es/components/guide-tooltip/GuideTooltip.stories.js +1 -1
- package/es/components/guide-tooltip/GuideTooltip.stories.js.map +1 -1
- package/es/components/header/Header.stories.js +1 -1
- package/es/components/header/Header.stories.js.map +1 -1
- package/es/components/image-tooltip/ImageTooltip.stories.js +1 -1
- package/es/components/image-tooltip/ImageTooltip.stories.js.map +1 -1
- package/es/components/inline-error/InlineError.stories.js +1 -1
- package/es/components/inline-error/InlineError.stories.js.flow +1 -1
- package/es/components/inline-error/InlineError.stories.js.map +1 -1
- package/es/components/inline-notice/InlineNotice.stories.js +1 -1
- package/es/components/inline-notice/InlineNotice.stories.js.flow +1 -1
- package/es/components/inline-notice/InlineNotice.stories.js.map +1 -1
- package/es/components/label/HiddenLabel.js +13 -7
- package/es/components/label/HiddenLabel.js.flow +3 -2
- package/es/components/label/HiddenLabel.js.map +1 -1
- package/es/components/label/Label.js +5 -2
- package/es/components/label/Label.js.flow +5 -3
- package/es/components/label/Label.js.map +1 -1
- package/es/components/label/Label.stories.js +1 -1
- package/es/components/label/Label.stories.js.map +1 -1
- package/es/components/label/LabelPrimitive.js +4 -3
- package/es/components/label/LabelPrimitive.js.flow +3 -2
- package/es/components/label/LabelPrimitive.js.map +1 -1
- package/es/components/label/StandardLabel.js +8 -5
- package/es/components/label/StandardLabel.js.flow +3 -2
- package/es/components/label/StandardLabel.js.map +1 -1
- package/es/components/label-pill/LabelPill.stories.js +1 -1
- package/es/components/label-pill/LabelPill.stories.js.map +1 -1
- package/es/components/link/stories/Link.stories.js +6 -4
- package/es/components/link/stories/Link.stories.js.map +1 -1
- package/es/components/link/stories/LinkButton.stories.js +8 -5
- package/es/components/link/stories/LinkButton.stories.js.map +1 -1
- package/es/components/link/stories/LinkGroup.stories.js +1 -1
- package/es/components/link/stories/LinkGroup.stories.js.map +1 -1
- package/es/components/link/stories/LinkPrimaryButton.stories.js +6 -4
- package/es/components/link/stories/LinkPrimaryButton.stories.js.map +1 -1
- package/es/components/loading-indicator/LoadingIndicator.stories.js +1 -1
- package/es/components/loading-indicator/LoadingIndicator.stories.js.map +1 -1
- package/es/components/loading-indicator/LoadingIndicatorWrapper.stories.js +1 -1
- package/es/components/loading-indicator/LoadingIndicatorWrapper.stories.js.map +1 -1
- package/es/components/loading-indicator/makeLoadable.js.map +1 -1
- package/es/components/logo/Logo.stories.js +1 -1
- package/es/components/logo/Logo.stories.js.map +1 -1
- package/es/components/media/stories/Media.stories.js +1 -1
- package/es/components/media/stories/Media.stories.js.map +1 -1
- package/es/components/media/stories/MediaBody.stories.js +1 -1
- package/es/components/media/stories/MediaBody.stories.js.map +1 -1
- package/es/components/media/stories/MediaFigure.stories.js +1 -1
- package/es/components/media/stories/MediaFigure.stories.js.map +1 -1
- package/es/components/media/stories/MediaMenu.stories.js +1 -1
- package/es/components/media/stories/MediaMenu.stories.js.map +1 -1
- package/es/components/media-query/stories/MediaQuery.stories.js +1 -1
- package/es/components/media-query/stories/MediaQuery.stories.js.flow +1 -1
- package/es/components/media-query/stories/MediaQuery.stories.js.map +1 -1
- package/es/components/menu/stories/Menu.stories.js +1 -1
- package/es/components/menu/stories/Menu.stories.js.map +1 -1
- package/es/components/menu/stories/SelectMenuLinkItem.stories.js +1 -1
- package/es/components/menu/stories/SelectMenuLinkItem.stories.js.map +1 -1
- package/es/components/modal/Modal.scss +62 -69
- package/es/components/modal/stories/Modal.stories.js +1 -1
- package/es/components/modal/stories/Modal.stories.js.flow +1 -1
- package/es/components/modal/stories/Modal.stories.js.map +1 -1
- package/es/components/modal/stories/ModalActions.stories.js +1 -1
- package/es/components/modal/stories/ModalActions.stories.js.flow +1 -1
- package/es/components/modal/stories/ModalActions.stories.js.map +1 -1
- package/es/components/modal/stories/ModalDialog.stories.js +1 -1
- package/es/components/modal/stories/ModalDialog.stories.js.flow +1 -1
- package/es/components/modal/stories/ModalDialog.stories.js.map +1 -1
- package/es/components/nav-sidebar/NavSidebar.stories.js +1 -1
- package/es/components/nav-sidebar/NavSidebar.stories.js.flow +1 -1
- package/es/components/nav-sidebar/NavSidebar.stories.js.map +1 -1
- package/es/components/notification/stories/Notification.stories.js +1 -1
- package/es/components/notification/stories/Notification.stories.js.flow +1 -1
- package/es/components/notification/stories/Notification.stories.js.map +1 -1
- package/es/components/notification/stories/NotificationsWrapper.stories.js +1 -1
- package/es/components/notification/stories/NotificationsWrapper.stories.js.flow +1 -1
- package/es/components/notification/stories/NotificationsWrapper.stories.js.map +1 -1
- package/es/components/nudge/Nudge.stories.js +1 -1
- package/es/components/nudge/Nudge.stories.js.map +1 -1
- package/es/components/pill-cloud/PillCloud.stories.js +1 -1
- package/es/components/pill-cloud/PillCloud.stories.js.flow +1 -1
- package/es/components/pill-cloud/PillCloud.stories.js.map +1 -1
- package/es/components/pill-selector-dropdown/PillSelector.js +7 -3
- package/es/components/pill-selector-dropdown/PillSelector.js.flow +10 -2
- package/es/components/pill-selector-dropdown/PillSelector.js.map +1 -1
- package/es/components/pill-selector-dropdown/PillSelector.scss +4 -0
- package/es/components/pill-selector-dropdown/PillSelectorDropdown.stories.js +1 -1
- package/es/components/pill-selector-dropdown/PillSelectorDropdown.stories.js.flow +1 -1
- package/es/components/pill-selector-dropdown/PillSelectorDropdown.stories.js.map +1 -1
- package/es/components/plain-button/PlainButton.stories.js +1 -1
- package/es/components/plain-button/PlainButton.stories.js.map +1 -1
- package/es/components/primary-button/PrimaryButton.stories.js +1 -1
- package/es/components/primary-button/PrimaryButton.stories.js.map +1 -1
- package/es/components/radar/RadarAnimation.stories.js +1 -1
- package/es/components/radar/RadarAnimation.stories.js.map +1 -1
- package/es/components/radio/stories/RadioButton.stories.js +1 -1
- package/es/components/radio/stories/RadioButton.stories.js.map +1 -1
- package/es/components/radio/stories/RadioGroup.stories.js +1 -1
- package/es/components/radio/stories/RadioGroup.stories.js.map +1 -1
- package/es/components/search-form/SearchActions.js +35 -0
- package/es/components/search-form/SearchActions.js.map +1 -0
- package/es/components/search-form/SearchForm.js +11 -39
- package/es/components/search-form/SearchForm.js.flow +10 -54
- package/es/components/search-form/SearchForm.js.map +1 -1
- package/es/components/search-form/messages.js +17 -0
- package/es/components/search-form/messages.js.map +1 -0
- package/es/components/section/Section.stories.js +1 -1
- package/es/components/section/Section.stories.js.map +1 -1
- package/es/components/select/Select.stories.js +1 -1
- package/es/components/select/Select.stories.js.flow +1 -1
- package/es/components/select/Select.stories.js.map +1 -1
- package/es/components/select-button/SelectButton.stories.js +1 -1
- package/es/components/select-button/SelectButton.stories.js.flow +1 -1
- package/es/components/select-button/SelectButton.stories.js.map +1 -1
- package/es/components/selector-dropdown/SelectorDropdown.stories.js +1 -1
- package/es/components/selector-dropdown/SelectorDropdown.stories.js.flow +1 -1
- package/es/components/selector-dropdown/SelectorDropdown.stories.js.map +1 -1
- package/es/components/sidebar-toggle-button/SidebarToggleButton.stories.js +1 -1
- package/es/components/sidebar-toggle-button/SidebarToggleButton.stories.js.flow +1 -1
- package/es/components/sidebar-toggle-button/SidebarToggleButton.stories.js.map +1 -1
- package/es/components/tab-view/TabView.stories.js +1 -1
- package/es/components/tab-view/TabView.stories.js.flow +1 -1
- package/es/components/tab-view/TabView.stories.js.map +1 -1
- package/es/components/text-input/TextInput.stories.js +1 -1
- package/es/components/text-input/TextInput.stories.js.flow +1 -1
- package/es/components/text-input/TextInput.stories.js.map +1 -1
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js +9 -3
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js.flow +9 -4
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.js.map +1 -1
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.stories.js +1 -1
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.stories.js.flow +1 -1
- package/es/components/text-input-with-copy-button/TextInputWithCopyButton.stories.js.map +1 -1
- package/es/components/thumbnail-card/ThumbnailCard.stories.js +1 -1
- package/es/components/thumbnail-card/ThumbnailCard.stories.js.flow +1 -1
- package/es/components/thumbnail-card/ThumbnailCard.stories.js.map +1 -1
- package/es/components/time/ReadableTime.stories.js +1 -1
- package/es/components/time/ReadableTime.stories.js.flow +1 -1
- package/es/components/time/ReadableTime.stories.js.map +1 -1
- package/es/components/time-input/TimeInput.stories.js +1 -1
- package/es/components/time-input/TimeInput.stories.js.map +1 -1
- package/es/components/toggle/Toggle.stories.js +1 -1
- package/es/components/toggle/Toggle.stories.js.flow +1 -1
- package/es/components/toggle/Toggle.stories.js.map +1 -1
- package/es/components/tooltip/Tooltip.stories.js +1 -1
- package/es/components/tooltip/Tooltip.stories.js.map +1 -1
- package/es/constants.js +1 -0
- package/es/constants.js.flow +1 -0
- package/es/constants.js.map +1 -1
- package/es/elements/common/_variables.scss +1 -0
- package/es/elements/common/current-user/withCurrentUser.js +1 -0
- package/es/elements/common/current-user/withCurrentUser.js.map +1 -1
- package/es/elements/common/selectors/version.js +2 -1
- package/es/elements/common/selectors/version.js.flow +2 -1
- package/es/elements/common/selectors/version.js.map +1 -1
- package/es/elements/content-explorer/ContentExplorer.js +2 -0
- package/es/elements/content-explorer/ContentExplorer.js.flow +10 -4
- package/es/elements/content-explorer/ContentExplorer.js.map +1 -1
- package/es/elements/content-explorer/MoreOptions.js +1 -1
- package/es/elements/content-explorer/MoreOptions.js.flow +1 -1
- package/es/elements/content-explorer/MoreOptions.js.map +1 -1
- package/es/elements/content-explorer/PreviewDialog.js +0 -1
- package/es/elements/content-explorer/PreviewDialog.js.flow +0 -1
- package/es/elements/content-explorer/PreviewDialog.js.map +1 -1
- package/es/elements/content-explorer/stories/ContentExplorer.stories.js +25 -35
- package/es/elements/content-explorer/stories/ContentExplorer.stories.js.flow +25 -36
- package/es/elements/content-explorer/stories/ContentExplorer.stories.js.map +1 -1
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js +1 -1
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js.flow +1 -1
- package/es/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js.map +1 -1
- package/es/elements/content-explorer/stories/ShareDialog.stories.js +1 -1
- package/es/elements/content-explorer/stories/ShareDialog.stories.js.flow +1 -1
- package/es/elements/content-explorer/stories/ShareDialog.stories.js.map +1 -1
- package/es/elements/content-picker/ContentPicker.js +2 -2
- package/es/elements/content-picker/ContentPicker.js.flow +2 -2
- package/es/elements/content-picker/ContentPicker.js.map +1 -1
- package/es/elements/content-picker/Footer.scss +6 -0
- package/es/elements/content-preview/ContentPreview.js +20 -10
- package/es/elements/content-preview/ContentPreview.js.flow +88 -64
- package/es/elements/content-preview/ContentPreview.js.map +1 -1
- package/es/elements/content-preview/ContentPreview.scss +13 -28
- package/es/elements/content-preview/preview-header/PreviewHeader.js +8 -2
- package/es/elements/content-preview/preview-header/PreviewHeader.js.flow +6 -0
- package/es/elements/content-preview/preview-header/PreviewHeader.js.map +1 -1
- package/es/elements/content-preview/stories/ContentPreview.stories.js +32 -46
- package/es/elements/content-preview/stories/ContentPreview.stories.js.flow +51 -81
- package/es/elements/content-preview/stories/ContentPreview.stories.js.map +1 -1
- package/es/elements/content-sharing/stories/ContentSharing.stories.js +19 -63
- package/es/elements/content-sharing/stories/ContentSharing.stories.js.flow +18 -84
- package/es/elements/content-sharing/stories/ContentSharing.stories.js.map +1 -1
- package/es/elements/content-sidebar/ActivitySidebar.js +22 -17
- package/es/elements/content-sidebar/ActivitySidebar.js.flow +2 -2
- package/es/elements/content-sidebar/ActivitySidebar.js.map +1 -1
- package/es/elements/content-sidebar/ContentSidebar.scss +9 -9
- package/es/elements/content-sidebar/SidebarContent.scss +6 -8
- package/es/elements/content-sidebar/SidebarNav.scss +22 -20
- package/es/elements/content-sidebar/SidebarNavButton.scss +12 -14
- package/es/elements/content-sidebar/SidebarNavSignButton.scss +6 -8
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +13 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.flow +20 -2
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.flow +7 -6
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.scss +6 -4
- package/es/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.scss +2 -2
- package/es/elements/content-sidebar/activity-feed/activity-feed/stories/ActivityFeed.stories.js +61 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/stories/ActivityFeed.stories.js.flow +70 -0
- package/es/elements/content-sidebar/activity-feed/activity-feed/stories/ActivityFeed.stories.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.flow +2 -2
- package/es/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js +11 -6
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js.flow +3 -7
- package/es/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +5 -1
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.flow +3 -3
- package/es/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/BaseComment.js +50 -142
- package/es/elements/content-sidebar/activity-feed/comment/BaseComment.js.flow +59 -166
- package/es/elements/content-sidebar/activity-feed/comment/BaseComment.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/BaseComment.scss +34 -12
- package/es/elements/content-sidebar/activity-feed/comment/CreateReply.js +6 -5
- package/es/elements/content-sidebar/activity-feed/comment/CreateReply.js.flow +5 -4
- package/es/elements/content-sidebar/activity-feed/comment/CreateReply.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/Replies.scss +4 -2
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentInfo.js +48 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentInfo.js.flow +72 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentInfo.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentInfo.scss +38 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentMenu.js +75 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentMenu.js.flow +125 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentMenu.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentMenu.scss +4 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentMenuWrapper.js +78 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentMenuWrapper.js.flow +91 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/BaseCommentMenuWrapper.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/stories/BaseCommentInfo.stories.js +25 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/stories/BaseCommentInfo.stories.js.flow +25 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/stories/BaseCommentInfo.stories.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/stories/BaseCommentMenu.stories.js +37 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/stories/BaseCommentMenu.stories.js.flow +26 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/stories/BaseCommentMenu.stories.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/stories/common.js +23 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/stories/common.js.flow +28 -0
- package/es/elements/content-sidebar/activity-feed/comment/components/stories/common.js.map +1 -0
- package/es/elements/content-sidebar/activity-feed/comment/messages.js +4 -4
- package/es/elements/content-sidebar/activity-feed/comment/messages.js.flow +5 -5
- package/es/elements/content-sidebar/activity-feed/comment/messages.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/stories/BaseComment.stories.js +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/stories/BaseComment.stories.js.flow +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/stories/BaseComment.stories.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/stories/common.js +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/stories/common.js.flow +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/stories/common.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/comment/types.js.flow +13 -0
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +8 -4
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.flow +11 -3
- package/es/elements/content-sidebar/activity-feed/comment-form/CommentForm.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.js +2 -0
- package/es/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.js.flow +2 -0
- package/es/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.scss +1 -1
- package/es/elements/content-sidebar/activity-feed/task-new/Task.js +7 -3
- package/es/elements/content-sidebar/activity-feed/task-new/Task.js.flow +7 -2
- package/es/elements/content-sidebar/activity-feed/task-new/Task.js.map +1 -1
- package/es/elements/content-sidebar/activity-feed/task-new/messages.js +8 -0
- package/es/elements/content-sidebar/activity-feed/task-new/messages.js.flow +10 -0
- package/es/elements/content-sidebar/activity-feed/task-new/messages.js.map +1 -1
- package/es/elements/content-sidebar/stories/ContentSidebar.stories.js +18 -27
- package/es/elements/content-sidebar/stories/ContentSidebar.stories.js.flow +19 -28
- package/es/elements/content-sidebar/stories/ContentSidebar.stories.js.map +1 -1
- package/es/elements/content-sidebar/versions/VersionsItem.scss +6 -0
- package/es/elements/content-uploader/ItemName.scss +1 -1
- package/es/elements/content-uploader/ProgressBar.scss +4 -0
- package/es/elements/content-uploader/stories/ContentUploader.stories.js +6 -13
- package/es/elements/content-uploader/stories/ContentUploader.stories.js.flow +7 -11
- package/es/elements/content-uploader/stories/ContentUploader.stories.js.map +1 -1
- package/es/features/collaborator-avatars/CollaboratorList.scss +11 -1
- package/es/features/collapsible-sidebar/CollapsibleSidebar.stories.js +1 -1
- package/es/features/collapsible-sidebar/CollapsibleSidebar.stories.js.flow +1 -1
- package/es/features/collapsible-sidebar/CollapsibleSidebar.stories.js.map +1 -1
- package/es/features/content-answers/Answer.js +18 -0
- package/es/features/content-answers/Answer.js.map +1 -0
- package/es/features/content-answers/Answer.scss +4 -0
- package/es/features/content-answers/ContentAnswers.js +46 -0
- package/es/features/content-answers/ContentAnswers.js.map +1 -0
- package/es/features/content-answers/ContentAnswersGridCard.js +24 -0
- package/es/features/content-answers/ContentAnswersGridCard.js.map +1 -0
- package/es/features/content-answers/ContentAnswersGridCard.scss +26 -0
- package/es/features/content-answers/ContentAnswersModal.js +111 -0
- package/es/features/content-answers/ContentAnswersModal.js.map +1 -0
- package/es/features/content-answers/ContentAnswersModal.scss +56 -0
- package/es/features/content-answers/ContentAnswersModalContent.js +60 -0
- package/es/features/content-answers/ContentAnswersModalContent.js.map +1 -0
- package/es/features/content-answers/ContentAnswersModalContent.scss +12 -0
- package/es/features/content-answers/ContentAnswersModalError.js +23 -0
- package/es/features/content-answers/ContentAnswersModalError.js.map +1 -0
- package/es/features/content-answers/ContentAnswersModalError.scss +28 -0
- package/es/features/content-answers/ContentAnswersModalFooter.js +93 -0
- package/es/features/content-answers/ContentAnswersModalFooter.js.map +1 -0
- package/es/features/content-answers/ContentAnswersModalFooter.scss +42 -0
- package/es/features/content-answers/ContentAnswersModalFooterActions.js +38 -0
- package/es/features/content-answers/ContentAnswersModalFooterActions.js.map +1 -0
- package/es/features/content-answers/ContentAnswersModalFooterActions.scss +17 -0
- package/es/features/content-answers/ContentAnswersOpenButton.js +69 -0
- package/es/features/content-answers/ContentAnswersOpenButton.js.map +1 -0
- package/es/features/content-answers/ContentAnswersOpenButton.scss +54 -0
- package/es/features/content-answers/InlineError.js +29 -0
- package/es/features/content-answers/InlineError.js.map +1 -0
- package/es/features/content-answers/InlineError.scss +39 -0
- package/es/features/content-answers/LoadingElement.js +17 -0
- package/es/features/content-answers/LoadingElement.js.map +1 -0
- package/es/features/content-answers/LoadingElement.scss +4 -0
- package/es/features/content-answers/Question.js +27 -0
- package/es/features/content-answers/Question.js.map +1 -0
- package/es/features/content-answers/Question.scss +16 -0
- package/es/features/content-answers/WelcomeMessage.js +32 -0
- package/es/features/content-answers/WelcomeMessage.js.map +1 -0
- package/es/features/content-answers/WelcomeMessage.scss +25 -0
- package/es/features/content-answers/constants.js +10 -0
- package/es/features/content-answers/constants.js.map +1 -0
- package/es/features/content-answers/index.js +2 -0
- package/es/features/content-answers/index.js.map +1 -0
- package/es/features/content-answers/messages.js +69 -0
- package/es/features/content-answers/messages.js.map +1 -0
- package/es/features/content-explorer/content-explorer/ContentExplorer.js +21 -12
- package/es/features/content-explorer/content-explorer/ContentExplorer.js.flow +19 -15
- package/es/features/content-explorer/content-explorer/ContentExplorer.js.map +1 -1
- package/es/features/content-explorer/content-explorer/ContentExplorer.scss +4 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js +1 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js.flow +2 -0
- package/es/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js.map +1 -1
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.flow +1 -0
- package/es/features/content-explorer/content-explorer-modal/ContentExplorerModal.js.map +1 -1
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +3 -0
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.flow +2 -0
- package/es/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js.map +1 -1
- package/es/features/pagination/Pagination.scss +0 -4
- package/es/features/sandbox-banner/SandboxBanner.stories.js +1 -1
- package/es/features/sandbox-banner/SandboxBanner.stories.js.map +1 -1
- package/es/features/security-cloud-game/stories/SecurityCloudGame.stories.js +1 -1
- package/es/features/security-cloud-game/stories/SecurityCloudGame.stories.js.flow +1 -1
- package/es/features/security-cloud-game/stories/SecurityCloudGame.stories.js.map +1 -1
- package/es/features/shared-link-modal/stories/SharedLink.stories.js +1 -1
- package/es/features/shared-link-modal/stories/SharedLink.stories.js.flow +1 -1
- package/es/features/shared-link-modal/stories/SharedLink.stories.js.map +1 -1
- package/es/features/shared-link-modal/stories/SharedLinkModal.stories.js +1 -1
- package/es/features/shared-link-modal/stories/SharedLinkModal.stories.js.flow +1 -1
- package/es/features/shared-link-modal/stories/SharedLinkModal.stories.js.map +1 -1
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.stories.js +1 -1
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.stories.js.flow +1 -1
- package/es/features/shared-link-settings-modal/SharedLinkSettingsModal.stories.js.map +1 -1
- package/es/features/targeting/hocs/withTargetedClickThrough.js +13 -3
- package/es/features/targeting/hocs/withTargetedClickThrough.js.flow +10 -1
- package/es/features/targeting/hocs/withTargetedClickThrough.js.map +1 -1
- package/es/features/targeting/types.js.flow +1 -0
- package/es/features/targeting/types.js.map +1 -1
- package/es/features/unified-share-modal/UnifiedShareModal.scss +61 -79
- package/es/features/unified-share-modal/stories/UnifiedShareModal.stories.js +1 -1
- package/es/features/unified-share-modal/stories/UnifiedShareModal.stories.js.flow +1 -1
- package/es/features/unified-share-modal/stories/UnifiedShareModal.stories.js.map +1 -1
- package/es/features/virtualized-table/DraggableVirtualizedTable.stories.js +1 -1
- package/es/features/virtualized-table/DraggableVirtualizedTable.stories.js.flow +1 -1
- package/es/features/virtualized-table/DraggableVirtualizedTable.stories.js.map +1 -1
- package/es/icon/content/ContentSharing32.stories.js +1 -1
- package/es/icon/content/ContentSharing32.stories.js.map +1 -1
- package/es/icon/content/CustomSetup32.stories.js +1 -1
- package/es/icon/content/CustomSetup32.stories.js.map +1 -1
- package/es/icon/content/DeviceTrust32.stories.js +1 -1
- package/es/icon/content/DeviceTrust32.stories.js.map +1 -1
- package/es/icon/content/FileAudio32.stories.js +1 -1
- package/es/icon/content/FileAudio32.stories.js.map +1 -1
- package/es/icon/content/FileBookmark32.stories.js +1 -1
- package/es/icon/content/FileBookmark32.stories.js.map +1 -1
- package/es/icon/content/FileBoxNote32.stories.js +1 -1
- package/es/icon/content/FileBoxNote32.stories.js.map +1 -1
- package/es/icon/content/FileCanvas32.stories.js +1 -1
- package/es/icon/content/FileCanvas32.stories.js.map +1 -1
- package/es/icon/content/FileCode32.stories.js +1 -1
- package/es/icon/content/FileCode32.stories.js.map +1 -1
- package/es/icon/content/FileDefault32.stories.js +1 -1
- package/es/icon/content/FileDefault32.stories.js.map +1 -1
- package/es/icon/content/FileDicom32.stories.js +1 -1
- package/es/icon/content/FileDicom32.stories.js.map +1 -1
- package/es/icon/content/FileDocs32.stories.js +1 -1
- package/es/icon/content/FileDocs32.stories.js.map +1 -1
- package/es/icon/content/FileDwg32.stories.js +1 -1
- package/es/icon/content/FileDwg32.stories.js.map +1 -1
- package/es/icon/content/FileExcel32.stories.js +1 -1
- package/es/icon/content/FileExcel32.stories.js.map +1 -1
- package/es/icon/content/FileIllustrator32.stories.js +1 -1
- package/es/icon/content/FileIllustrator32.stories.js.map +1 -1
- package/es/icon/content/FileImage32.stories.js +1 -1
- package/es/icon/content/FileImage32.stories.js.map +1 -1
- package/es/icon/content/FileIndesign32.stories.js +1 -1
- package/es/icon/content/FileIndesign32.stories.js.map +1 -1
- package/es/icon/content/FileKeynote32.stories.js +1 -1
- package/es/icon/content/FileKeynote32.stories.js.map +1 -1
- package/es/icon/content/FileNumbers32.stories.js +1 -1
- package/es/icon/content/FileNumbers32.stories.js.map +1 -1
- package/es/icon/content/FilePages32.stories.js +1 -1
- package/es/icon/content/FilePages32.stories.js.map +1 -1
- package/es/icon/content/FilePdf32.stories.js +1 -1
- package/es/icon/content/FilePdf32.stories.js.map +1 -1
- package/es/icon/content/FilePhotoshop32.stories.js +1 -1
- package/es/icon/content/FilePhotoshop32.stories.js.map +1 -1
- package/es/icon/content/FilePowerpoint32.stories.js +1 -1
- package/es/icon/content/FilePowerpoint32.stories.js.map +1 -1
- package/es/icon/content/FilePresentation32.stories.js +1 -1
- package/es/icon/content/FilePresentation32.stories.js.map +1 -1
- package/es/icon/content/FileSheets32.stories.js +1 -1
- package/es/icon/content/FileSheets32.stories.js.map +1 -1
- package/es/icon/content/FileSlides32.stories.js +1 -1
- package/es/icon/content/FileSlides32.stories.js.map +1 -1
- package/es/icon/content/FileSpreadsheet32.stories.js +1 -1
- package/es/icon/content/FileSpreadsheet32.stories.js.map +1 -1
- package/es/icon/content/FileText32.stories.js +1 -1
- package/es/icon/content/FileText32.stories.js.map +1 -1
- package/es/icon/content/FileThreeD32.stories.js +1 -1
- package/es/icon/content/FileThreeD32.stories.js.map +1 -1
- package/es/icon/content/FileUpload32.stories.js +1 -1
- package/es/icon/content/FileUpload32.stories.js.map +1 -1
- package/es/icon/content/FileVector32.stories.js +1 -1
- package/es/icon/content/FileVector32.stories.js.map +1 -1
- package/es/icon/content/FileVideo32.stories.js +1 -1
- package/es/icon/content/FileVideo32.stories.js.map +1 -1
- package/es/icon/content/FileWord32.stories.js +1 -1
- package/es/icon/content/FileWord32.stories.js.map +1 -1
- package/es/icon/content/FileXbd32.stories.js +1 -1
- package/es/icon/content/FileXbd32.stories.js.map +1 -1
- package/es/icon/content/FileXdw32.stories.js +1 -1
- package/es/icon/content/FileXdw32.stories.js.map +1 -1
- package/es/icon/content/FileZip32.stories.js +1 -1
- package/es/icon/content/FileZip32.stories.js.map +1 -1
- package/es/icon/content/FolderExternal32.stories.js +1 -1
- package/es/icon/content/FolderExternal32.stories.js.map +1 -1
- package/es/icon/content/FolderPersonal32.stories.js +1 -1
- package/es/icon/content/FolderPersonal32.stories.js.map +1 -1
- package/es/icon/content/FolderShared32.stories.js +1 -1
- package/es/icon/content/FolderShared32.stories.js.map +1 -1
- package/es/icon/content/FolderUpload32.stories.js +1 -1
- package/es/icon/content/FolderUpload32.stories.js.map +1 -1
- package/es/icon/content/Mobile32.stories.js +1 -1
- package/es/icon/content/Mobile32.stories.js.map +1 -1
- package/es/icon/content/Notifications32.stories.js +1 -1
- package/es/icon/content/Notifications32.stories.js.map +1 -1
- package/es/icon/content/PlatformCam32.stories.js +1 -1
- package/es/icon/content/PlatformCam32.stories.js.map +1 -1
- package/es/icon/content/PlatformSandbox32.stories.js +1 -1
- package/es/icon/content/PlatformSandbox32.stories.js.map +1 -1
- package/es/icon/content/RetentionPolicyModifiable32.stories.js +1 -1
- package/es/icon/content/RetentionPolicyModifiable32.stories.js.map +1 -1
- package/es/icon/content/RetentionPolicyNonModifiable32.stories.js +1 -1
- package/es/icon/content/RetentionPolicyNonModifiable32.stories.js.map +1 -1
- package/es/icon/content/Security32.stories.js +1 -1
- package/es/icon/content/Security32.stories.js.map +1 -1
- package/es/icon/content/SignRequest32.stories.js +1 -1
- package/es/icon/content/SignRequest32.stories.js.map +1 -1
- package/es/icon/content/UserSettings32.stories.js +1 -1
- package/es/icon/content/UserSettings32.stories.js.map +1 -1
- package/es/icon/content/Workflow32.stories.js +1 -1
- package/es/icon/content/Workflow32.stories.js.map +1 -1
- package/es/icon/content/WorkflowTemplate32.stories.js +1 -1
- package/es/icon/content/WorkflowTemplate32.stories.js.map +1 -1
- package/es/icon/fill/Activity16.stories.js +1 -1
- package/es/icon/fill/Activity16.stories.js.map +1 -1
- package/es/icon/fill/Activity20.stories.js +1 -1
- package/es/icon/fill/Activity20.stories.js.map +1 -1
- package/es/icon/fill/Alert16.stories.js +1 -1
- package/es/icon/fill/Alert16.stories.js.map +1 -1
- package/es/icon/fill/AlertBadge16.stories.js +1 -1
- package/es/icon/fill/AlertBadge16.stories.js.map +1 -1
- package/es/icon/fill/AnnotationsDrawing16.stories.js +1 -1
- package/es/icon/fill/AnnotationsDrawing16.stories.js.map +1 -1
- package/es/icon/fill/AnnotationsHighlight16.stories.js +1 -1
- package/es/icon/fill/AnnotationsHighlight16.stories.js.map +1 -1
- package/es/icon/fill/AnnotationsRegion16.stories.js +1 -1
- package/es/icon/fill/AnnotationsRegion16.stories.js.map +1 -1
- package/es/icon/fill/Apps16.stories.js +1 -1
- package/es/icon/fill/Apps16.stories.js.map +1 -1
- package/es/icon/fill/Arrow16.stories.js +1 -1
- package/es/icon/fill/Arrow16.stories.js.map +1 -1
- package/es/icon/fill/ArrowArcRight.stories.js +1 -1
- package/es/icon/fill/ArrowArcRight.stories.js.map +1 -1
- package/es/icon/fill/ArrowForward16.stories.js +1 -1
- package/es/icon/fill/ArrowForward16.stories.js.map +1 -1
- package/es/icon/fill/ArrowSort16.stories.js +1 -1
- package/es/icon/fill/ArrowSort16.stories.js.map +1 -1
- package/es/icon/fill/AvatarBadge16.stories.js +1 -1
- package/es/icon/fill/AvatarBadge16.stories.js.map +1 -1
- package/es/icon/fill/BarChart16.stories.js +1 -1
- package/es/icon/fill/BarChart16.stories.js.map +1 -1
- package/es/icon/fill/BoxDev16.stories.js +1 -1
- package/es/icon/fill/BoxDev16.stories.js.map +1 -1
- package/es/icon/fill/BoxNotes16.stories.js +1 -1
- package/es/icon/fill/BoxNotes16.stories.js.map +1 -1
- package/es/icon/fill/Calendar16.stories.js +1 -1
- package/es/icon/fill/Calendar16.stories.js.map +1 -1
- package/es/icon/fill/Caret8.stories.js +1 -1
- package/es/icon/fill/Caret8.stories.js.map +1 -1
- package/es/icon/fill/CaretBadge16.stories.js +1 -1
- package/es/icon/fill/CaretBadge16.stories.js.map +1 -1
- package/es/icon/fill/Checkmark16.stories.js +1 -1
- package/es/icon/fill/Checkmark16.stories.js.map +1 -1
- package/es/icon/fill/CheckmarkBadge16.stories.js +1 -1
- package/es/icon/fill/CheckmarkBadge16.stories.js.map +1 -1
- package/es/icon/fill/CircleBackButton24.stories.js +1 -1
- package/es/icon/fill/CircleBackButton24.stories.js.map +1 -1
- package/es/icon/fill/CircleCloseButton24.stories.js +1 -1
- package/es/icon/fill/CircleCloseButton24.stories.js.map +1 -1
- package/es/icon/fill/Classify16.stories.js +1 -1
- package/es/icon/fill/Classify16.stories.js.map +1 -1
- package/es/icon/fill/ClearBadge16.stories.js +1 -1
- package/es/icon/fill/ClearBadge16.stories.js.map +1 -1
- package/es/icon/fill/ClockBadge16.stories.js +1 -1
- package/es/icon/fill/ClockBadge16.stories.js.map +1 -1
- package/es/icon/fill/CloudUpload16.stories.js +1 -1
- package/es/icon/fill/CloudUpload16.stories.js.map +1 -1
- package/es/icon/fill/Code16.stories.js +1 -1
- package/es/icon/fill/Code16.stories.js.map +1 -1
- package/es/icon/fill/Collection16.stories.js +1 -1
- package/es/icon/fill/Collection16.stories.js.map +1 -1
- package/es/icon/fill/CollectionBolt16.stories.js +1 -1
- package/es/icon/fill/CollectionBolt16.stories.js.map +1 -1
- package/es/icon/fill/CollectionPlus16.stories.js +1 -1
- package/es/icon/fill/CollectionPlus16.stories.js.map +1 -1
- package/es/icon/fill/CollectionStar16.stories.js +1 -1
- package/es/icon/fill/CollectionStar16.stories.js.map +1 -1
- package/es/icon/fill/CreditCard16.stories.js +1 -1
- package/es/icon/fill/CreditCard16.stories.js.map +1 -1
- package/es/icon/fill/Download16.stories.js +1 -1
- package/es/icon/fill/Download16.stories.js.map +1 -1
- package/es/icon/fill/EmailNotification16.stories.js +1 -1
- package/es/icon/fill/EmailNotification16.stories.js.map +1 -1
- package/es/icon/fill/ExportArrow16.stories.js +1 -1
- package/es/icon/fill/ExportArrow16.stories.js.map +1 -1
- package/es/icon/fill/Feed16.stories.js +1 -1
- package/es/icon/fill/Feed16.stories.js.map +1 -1
- package/es/icon/fill/FileAudio16.stories.js +1 -1
- package/es/icon/fill/FileAudio16.stories.js.map +1 -1
- package/es/icon/fill/FileBookmark16.stories.js +1 -1
- package/es/icon/fill/FileBookmark16.stories.js.map +1 -1
- package/es/icon/fill/FileBoxNote16.stories.js +1 -1
- package/es/icon/fill/FileBoxNote16.stories.js.map +1 -1
- package/es/icon/fill/FileCanvas16.stories.js +1 -1
- package/es/icon/fill/FileCanvas16.stories.js.map +1 -1
- package/es/icon/fill/FileCode16.stories.js +1 -1
- package/es/icon/fill/FileCode16.stories.js.map +1 -1
- package/es/icon/fill/FileCopy16.stories.js +1 -1
- package/es/icon/fill/FileCopy16.stories.js.map +1 -1
- package/es/icon/fill/FileDefault16.stories.js +1 -1
- package/es/icon/fill/FileDefault16.stories.js.map +1 -1
- package/es/icon/fill/FileDicom16.stories.js +1 -1
- package/es/icon/fill/FileDicom16.stories.js.map +1 -1
- package/es/icon/fill/FileDocs16.stories.js +1 -1
- package/es/icon/fill/FileDocs16.stories.js.map +1 -1
- package/es/icon/fill/FileDwg16.stories.js +1 -1
- package/es/icon/fill/FileDwg16.stories.js.map +1 -1
- package/es/icon/fill/FileExcel16.stories.js +1 -1
- package/es/icon/fill/FileExcel16.stories.js.map +1 -1
- package/es/icon/fill/FileIllustrator16.stories.js +1 -1
- package/es/icon/fill/FileIllustrator16.stories.js.map +1 -1
- package/es/icon/fill/FileImage16.stories.js +1 -1
- package/es/icon/fill/FileImage16.stories.js.map +1 -1
- package/es/icon/fill/FileIndesign16.stories.js +1 -1
- package/es/icon/fill/FileIndesign16.stories.js.map +1 -1
- package/es/icon/fill/FileKeynote16.stories.js +1 -1
- package/es/icon/fill/FileKeynote16.stories.js.map +1 -1
- package/es/icon/fill/FileNumbers16.stories.js +1 -1
- package/es/icon/fill/FileNumbers16.stories.js.map +1 -1
- package/es/icon/fill/FilePages16.stories.js +1 -1
- package/es/icon/fill/FilePages16.stories.js.map +1 -1
- package/es/icon/fill/FilePdf16.stories.js +1 -1
- package/es/icon/fill/FilePdf16.stories.js.map +1 -1
- package/es/icon/fill/FilePhotoshop16.stories.js +1 -1
- package/es/icon/fill/FilePhotoshop16.stories.js.map +1 -1
- package/es/icon/fill/FilePowerpoint16.stories.js +1 -1
- package/es/icon/fill/FilePowerpoint16.stories.js.map +1 -1
- package/es/icon/fill/FilePresentation16.stories.js +1 -1
- package/es/icon/fill/FilePresentation16.stories.js.map +1 -1
- package/es/icon/fill/FileSheets16.stories.js +1 -1
- package/es/icon/fill/FileSheets16.stories.js.map +1 -1
- package/es/icon/fill/FileSlides16.stories.js +1 -1
- package/es/icon/fill/FileSlides16.stories.js.map +1 -1
- package/es/icon/fill/FileSpreadsheet16.stories.js +1 -1
- package/es/icon/fill/FileSpreadsheet16.stories.js.map +1 -1
- package/es/icon/fill/FileText16.stories.js +1 -1
- package/es/icon/fill/FileText16.stories.js.map +1 -1
- package/es/icon/fill/FileThreeD16.stories.js +1 -1
- package/es/icon/fill/FileThreeD16.stories.js.map +1 -1
- package/es/icon/fill/FileVector16.stories.js +1 -1
- package/es/icon/fill/FileVector16.stories.js.map +1 -1
- package/es/icon/fill/FileVideo16.stories.js +1 -1
- package/es/icon/fill/FileVideo16.stories.js.map +1 -1
- package/es/icon/fill/FileWord16.stories.js +1 -1
- package/es/icon/fill/FileWord16.stories.js.map +1 -1
- package/es/icon/fill/FileZip16.stories.js +1 -1
- package/es/icon/fill/FileZip16.stories.js.map +1 -1
- package/es/icon/fill/Filter16.stories.js +1 -1
- package/es/icon/fill/Filter16.stories.js.map +1 -1
- package/es/icon/fill/Folder16.stories.js +1 -1
- package/es/icon/fill/Folder16.stories.js.map +1 -1
- package/es/icon/fill/FolderExternal16.stories.js +1 -1
- package/es/icon/fill/FolderExternal16.stories.js.map +1 -1
- package/es/icon/fill/FolderPersonal16.stories.js +1 -1
- package/es/icon/fill/FolderPersonal16.stories.js.map +1 -1
- package/es/icon/fill/FolderShared16.stories.js +1 -1
- package/es/icon/fill/FolderShared16.stories.js.map +1 -1
- package/es/icon/fill/Gear16.stories.js +1 -1
- package/es/icon/fill/Gear16.stories.js.map +1 -1
- package/es/icon/fill/GlobeBadge16.stories.js +1 -1
- package/es/icon/fill/GlobeBadge16.stories.js.map +1 -1
- package/es/icon/fill/Hamburger20.stories.js +1 -1
- package/es/icon/fill/Hamburger20.stories.js.map +1 -1
- package/es/icon/fill/Help20.stories.js +1 -1
- package/es/icon/fill/Help20.stories.js.map +1 -1
- package/es/icon/fill/InProgress16.stories.js +1 -1
- package/es/icon/fill/InProgress16.stories.js.map +1 -1
- package/es/icon/fill/Info16.stories.js +1 -1
- package/es/icon/fill/Info16.stories.js.map +1 -1
- package/es/icon/fill/InfoBadge16.stories.js +1 -1
- package/es/icon/fill/InfoBadge16.stories.js.map +1 -1
- package/es/icon/fill/LightningBolt16.stories.js +1 -1
- package/es/icon/fill/LightningBolt16.stories.js.map +1 -1
- package/es/icon/fill/Lock16.stories.js +1 -1
- package/es/icon/fill/Lock16.stories.js.map +1 -1
- package/es/icon/fill/Megaphone20.stories.js +1 -1
- package/es/icon/fill/Megaphone20.stories.js.map +1 -1
- package/es/icon/fill/Minus16.stories.js +1 -1
- package/es/icon/fill/Minus16.stories.js.map +1 -1
- package/es/icon/fill/Move16.stories.js +1 -1
- package/es/icon/fill/Move16.stories.js.map +1 -1
- package/es/icon/fill/MoveCopy16.stories.js +1 -1
- package/es/icon/fill/MoveCopy16.stories.js.map +1 -1
- package/es/icon/fill/Overflow16.stories.js +1 -1
- package/es/icon/fill/Overflow16.stories.js.map +1 -1
- package/es/icon/fill/PaperAirplane16.stories.js +1 -1
- package/es/icon/fill/PaperAirplane16.stories.js.map +1 -1
- package/es/icon/fill/Pencil16.stories.js +1 -1
- package/es/icon/fill/Pencil16.stories.js.map +1 -1
- package/es/icon/fill/Picture16.stories.js +1 -1
- package/es/icon/fill/Picture16.stories.js.map +1 -1
- package/es/icon/fill/Plus16.stories.js +1 -1
- package/es/icon/fill/Plus16.stories.js.map +1 -1
- package/es/icon/fill/PlusBadge16.stories.js +1 -1
- package/es/icon/fill/PlusBadge16.stories.js.map +1 -1
- package/es/icon/fill/PointerChevronDown24.stories.js +1 -1
- package/es/icon/fill/PointerChevronDown24.stories.js.map +1 -1
- package/es/icon/fill/Printer16.stories.js +1 -1
- package/es/icon/fill/Printer16.stories.js.map +1 -1
- package/es/icon/fill/Relay16.stories.js +1 -1
- package/es/icon/fill/Relay16.stories.js.map +1 -1
- package/es/icon/fill/RelayClassic16.stories.js +1 -1
- package/es/icon/fill/RelayClassic16.stories.js.map +1 -1
- package/es/icon/fill/Ribbon16.stories.js +1 -1
- package/es/icon/fill/Ribbon16.stories.js.map +1 -1
- package/es/icon/fill/Scribble16.stories.js +1 -1
- package/es/icon/fill/Scribble16.stories.js.map +1 -1
- package/es/icon/fill/Search16.stories.js +1 -1
- package/es/icon/fill/Search16.stories.js.map +1 -1
- package/es/icon/fill/Sign16.stories.js +1 -1
- package/es/icon/fill/Sign16.stories.js.map +1 -1
- package/es/icon/fill/SignFieldCheckBox16.stories.js +1 -1
- package/es/icon/fill/SignFieldCheckBox16.stories.js.map +1 -1
- package/es/icon/fill/SignFieldSignature16.stories.js +1 -1
- package/es/icon/fill/SignFieldSignature16.stories.js.map +1 -1
- package/es/icon/fill/SignFieldTextInput16.stories.js +1 -1
- package/es/icon/fill/SignFieldTextInput16.stories.js.map +1 -1
- package/es/icon/fill/SignMe32.stories.js +1 -1
- package/es/icon/fill/SignMe32.stories.js.map +1 -1
- package/es/icon/fill/SignMeOthers32.stories.js +1 -1
- package/es/icon/fill/SignMeOthers32.stories.js.map +1 -1
- package/es/icon/fill/SignOthers32.stories.js +1 -1
- package/es/icon/fill/SignOthers32.stories.js.map +1 -1
- package/es/icon/fill/Skills16.stories.js +1 -1
- package/es/icon/fill/Skills16.stories.js.map +1 -1
- package/es/icon/fill/Tag16.stories.js +1 -1
- package/es/icon/fill/Tag16.stories.js.map +1 -1
- package/es/icon/fill/Task16.stories.js +1 -1
- package/es/icon/fill/Task16.stories.js.map +1 -1
- package/es/icon/fill/Trash16.stories.js +1 -1
- package/es/icon/fill/Trash16.stories.js.map +1 -1
- package/es/icon/fill/TwoPeople16.stories.js +1 -1
- package/es/icon/fill/TwoPeople16.stories.js.map +1 -1
- package/es/icon/fill/Upload16.stories.js +1 -1
- package/es/icon/fill/Upload16.stories.js.map +1 -1
- package/es/icon/fill/UserSettings16.stories.js +1 -1
- package/es/icon/fill/UserSettings16.stories.js.map +1 -1
- package/es/icon/fill/Workflow16.stories.js +1 -1
- package/es/icon/fill/Workflow16.stories.js.map +1 -1
- package/es/icon/fill/X16.stories.js +1 -1
- package/es/icon/fill/X16.stories.js.map +1 -1
- package/es/icon/line/AlarmClock16.stories.js +1 -1
- package/es/icon/line/AlarmClock16.stories.js.map +1 -1
- package/es/icon/line/AlertBubble16.stories.js +1 -1
- package/es/icon/line/AlertBubble16.stories.js.map +1 -1
- package/es/icon/line/Apps16.stories.js +1 -1
- package/es/icon/line/Apps16.stories.js.map +1 -1
- package/es/icon/line/ArrowBoxRight16.stories.js +1 -1
- package/es/icon/line/ArrowBoxRight16.stories.js.map +1 -1
- package/es/icon/line/Avatar16.stories.js +1 -1
- package/es/icon/line/Avatar16.stories.js.map +1 -1
- package/es/icon/line/AvatarBadge16.stories.js +1 -1
- package/es/icon/line/AvatarBadge16.stories.js.map +1 -1
- package/es/icon/line/AvatarPlusBadge16.stories.js +1 -1
- package/es/icon/line/AvatarPlusBadge16.stories.js.map +1 -1
- package/es/icon/line/AvatarXBadge16.stories.js +1 -1
- package/es/icon/line/AvatarXBadge16.stories.js.map +1 -1
- package/es/icon/line/BoxAi.stories.js +1 -1
- package/es/icon/line/BoxAi.stories.js.map +1 -1
- package/es/icon/line/BoxDev16.stories.js +1 -1
- package/es/icon/line/BoxDev16.stories.js.map +1 -1
- package/es/icon/line/Bug16.stories.js +1 -1
- package/es/icon/line/Bug16.stories.js.map +1 -1
- package/es/icon/line/Checkmark16.stories.js +1 -1
- package/es/icon/line/Checkmark16.stories.js.map +1 -1
- package/es/icon/line/CheckmarkBadge16.stories.js +1 -1
- package/es/icon/line/CheckmarkBadge16.stories.js.map +1 -1
- package/es/icon/line/CircleCheck16.stories.js +1 -1
- package/es/icon/line/CircleCheck16.stories.js.map +1 -1
- package/es/icon/line/CircleX16.stories.js +1 -1
- package/es/icon/line/CircleX16.stories.js.map +1 -1
- package/es/icon/line/ClassificationBadge16.stories.js +1 -1
- package/es/icon/line/ClassificationBadge16.stories.js.map +1 -1
- package/es/icon/line/ClockArrow16.stories.js +1 -1
- package/es/icon/line/ClockArrow16.stories.js.map +1 -1
- package/es/icon/line/ClockBadge16.stories.js +1 -1
- package/es/icon/line/ClockBadge16.stories.js.map +1 -1
- package/es/icon/line/CloudWithArrow16.stories.js +1 -1
- package/es/icon/line/CloudWithArrow16.stories.js.map +1 -1
- package/es/icon/line/CoAuthoringBadge16.stories.js +1 -1
- package/es/icon/line/CoAuthoringBadge16.stories.js.map +1 -1
- package/es/icon/line/CoEdit16.stories.js +1 -1
- package/es/icon/line/CoEdit16.stories.js.map +1 -1
- package/es/icon/line/Collaborations16.stories.js +1 -1
- package/es/icon/line/Collaborations16.stories.js.map +1 -1
- package/es/icon/line/Collection16.stories.js +1 -1
- package/es/icon/line/Collection16.stories.js.map +1 -1
- package/es/icon/line/CollectionBolt16.stories.js +1 -1
- package/es/icon/line/CollectionBolt16.stories.js.map +1 -1
- package/es/icon/line/CollectionPlus16.stories.js +1 -1
- package/es/icon/line/CollectionPlus16.stories.js.map +1 -1
- package/es/icon/line/CollectionStar16.stories.js +1 -1
- package/es/icon/line/CollectionStar16.stories.js.map +1 -1
- package/es/icon/line/CommentBubble16.stories.js +1 -1
- package/es/icon/line/CommentBubble16.stories.js.map +1 -1
- package/es/icon/line/CrosshairRegion32.stories.js +1 -1
- package/es/icon/line/CrosshairRegion32.stories.js.map +1 -1
- package/es/icon/line/DocInfo16.stories.js +1 -1
- package/es/icon/line/DocInfo16.stories.js.map +1 -1
- package/es/icon/line/Download16.stories.js +1 -1
- package/es/icon/line/Download16.stories.js.map +1 -1
- package/es/icon/line/Email16.stories.js +1 -1
- package/es/icon/line/Email16.stories.js.map +1 -1
- package/es/icon/line/EmailAddress16.stories.js +1 -1
- package/es/icon/line/EmailAddress16.stories.js.map +1 -1
- package/es/icon/line/EnvelopeBadge16.stories.js +1 -1
- package/es/icon/line/EnvelopeBadge16.stories.js.map +1 -1
- package/es/icon/line/ExclamationMarkBadge16.stories.js +1 -1
- package/es/icon/line/ExclamationMarkBadge16.stories.js.map +1 -1
- package/es/icon/line/ExportArrow16.stories.js +1 -1
- package/es/icon/line/ExportArrow16.stories.js.map +1 -1
- package/es/icon/line/FileDescription16.stories.js +1 -1
- package/es/icon/line/FileDescription16.stories.js.map +1 -1
- package/es/icon/line/Folder16.stories.js +1 -1
- package/es/icon/line/Folder16.stories.js.map +1 -1
- package/es/icon/line/Gear16.stories.js +1 -1
- package/es/icon/line/Gear16.stories.js.map +1 -1
- package/es/icon/line/GenericCopy16.stories.js +1 -1
- package/es/icon/line/GenericCopy16.stories.js.map +1 -1
- package/es/icon/line/GlobeBadge16.stories.js +1 -1
- package/es/icon/line/GlobeBadge16.stories.js.map +1 -1
- package/es/icon/line/Help16.stories.js +1 -1
- package/es/icon/line/Help16.stories.js.map +1 -1
- package/es/icon/line/Hidden16.stories.js +1 -1
- package/es/icon/line/Hidden16.stories.js.map +1 -1
- package/es/icon/line/History16.stories.js +1 -1
- package/es/icon/line/History16.stories.js.map +1 -1
- package/es/icon/line/InfoBadge16.stories.js +1 -1
- package/es/icon/line/InfoBadge16.stories.js.map +1 -1
- package/es/icon/line/Key16.stories.js +1 -1
- package/es/icon/line/Key16.stories.js.map +1 -1
- package/es/icon/line/Link16.stories.js +1 -1
- package/es/icon/line/Link16.stories.js.map +1 -1
- package/es/icon/line/LinkBadge16.stories.js +1 -1
- package/es/icon/line/LinkBadge16.stories.js.map +1 -1
- package/es/icon/line/List16.stories.js +1 -1
- package/es/icon/line/List16.stories.js.map +1 -1
- package/es/icon/line/Lock16.stories.js +1 -1
- package/es/icon/line/Lock16.stories.js.map +1 -1
- package/es/icon/line/LockBadge16.stories.js +1 -1
- package/es/icon/line/LockBadge16.stories.js.map +1 -1
- package/es/icon/line/MetadataBadge16.stories.js +1 -1
- package/es/icon/line/MetadataBadge16.stories.js.map +1 -1
- package/es/icon/line/MoveCopy16.stories.js +1 -1
- package/es/icon/line/MoveCopy16.stories.js.map +1 -1
- package/es/icon/line/Pencil16.stories.js +1 -1
- package/es/icon/line/Pencil16.stories.js.map +1 -1
- package/es/icon/line/PencilBadge16.stories.js +1 -1
- package/es/icon/line/PencilBadge16.stories.js.map +1 -1
- package/es/icon/line/Plane16.stories.js +1 -1
- package/es/icon/line/Plane16.stories.js.map +1 -1
- package/es/icon/line/Plus16.stories.js +1 -1
- package/es/icon/line/Plus16.stories.js.map +1 -1
- package/es/icon/line/Power16.stories.js +1 -1
- package/es/icon/line/Power16.stories.js.map +1 -1
- package/es/icon/line/Question16.stories.js +1 -1
- package/es/icon/line/Question16.stories.js.map +1 -1
- package/es/icon/line/Redo16.stories.js +1 -1
- package/es/icon/line/Redo16.stories.js.map +1 -1
- package/es/icon/line/Relay16.stories.js +1 -1
- package/es/icon/line/Relay16.stories.js.map +1 -1
- package/es/icon/line/Report16.stories.js +1 -1
- package/es/icon/line/Report16.stories.js.map +1 -1
- package/es/icon/line/Retry16.stories.js +1 -1
- package/es/icon/line/Retry16.stories.js.map +1 -1
- package/es/icon/line/Rocket16.stories.js +1 -1
- package/es/icon/line/Rocket16.stories.js.map +1 -1
- package/es/icon/line/RotatingArrows16.stories.js +1 -1
- package/es/icon/line/RotatingArrows16.stories.js.map +1 -1
- package/es/icon/line/Sharrow16.stories.js +1 -1
- package/es/icon/line/Sharrow16.stories.js.map +1 -1
- package/es/icon/line/Shield16.stories.js +1 -1
- package/es/icon/line/Shield16.stories.js.map +1 -1
- package/es/icon/line/Sign16.stories.js +1 -1
- package/es/icon/line/Sign16.stories.js.map +1 -1
- package/es/icon/line/SignTinycon16.stories.js +1 -1
- package/es/icon/line/SignTinycon16.stories.js.map +1 -1
- package/es/icon/line/Star16.stories.js +1 -1
- package/es/icon/line/Star16.stories.js.map +1 -1
- package/es/icon/line/SyncArrows16.stories.js +1 -1
- package/es/icon/line/SyncArrows16.stories.js.map +1 -1
- package/es/icon/line/Template16.stories.js +1 -1
- package/es/icon/line/Template16.stories.js.map +1 -1
- package/es/icon/line/TextLeft16.stories.js +1 -1
- package/es/icon/line/TextLeft16.stories.js.map +1 -1
- package/es/icon/line/Tool16.stories.js +1 -1
- package/es/icon/line/Tool16.stories.js.map +1 -1
- package/es/icon/line/Trash16.stories.js +1 -1
- package/es/icon/line/Trash16.stories.js.map +1 -1
- package/es/icon/line/TriangleAlert16.stories.js +1 -1
- package/es/icon/line/TriangleAlert16.stories.js.map +1 -1
- package/es/icon/line/Undo16.stories.js +1 -1
- package/es/icon/line/Undo16.stories.js.map +1 -1
- package/es/icon/line/Unlock16.stories.js +1 -1
- package/es/icon/line/Unlock16.stories.js.map +1 -1
- package/es/icon/line/Upload16.stories.js +1 -1
- package/es/icon/line/Upload16.stories.js.map +1 -1
- package/es/icon/line/Video16.stories.js +1 -1
- package/es/icon/line/Video16.stories.js.map +1 -1
- package/es/icon/line/View16.stories.js +1 -1
- package/es/icon/line/View16.stories.js.map +1 -1
- package/es/icon/line/XBadge16.stories.js +1 -1
- package/es/icon/line/XBadge16.stories.js.map +1 -1
- package/es/icon/logo/AccountBilling32.stories.js +1 -1
- package/es/icon/logo/AccountBilling32.stories.js.map +1 -1
- package/es/icon/logo/AdminFaq32.stories.js +1 -1
- package/es/icon/logo/AdminFaq32.stories.js.map +1 -1
- package/es/icon/logo/AdminReferences32.stories.js +1 -1
- package/es/icon/logo/AdminReferences32.stories.js.map +1 -1
- package/es/icon/logo/AdobeAcrobat32.stories.js +1 -1
- package/es/icon/logo/AdobeAcrobat32.stories.js.map +1 -1
- package/es/icon/logo/Apps32.stories.js +1 -1
- package/es/icon/logo/Apps32.stories.js.map +1 -1
- package/es/icon/logo/BoxAiLogo.stories.js +1 -1
- package/es/icon/logo/BoxAiLogo.stories.js.map +1 -1
- package/es/icon/logo/BoxLogo.stories.js +1 -1
- package/es/icon/logo/BoxLogo.stories.js.map +1 -1
- package/es/icon/logo/BoxSign28.stories.js +1 -1
- package/es/icon/logo/BoxSign28.stories.js.map +1 -1
- package/es/icon/logo/BoxSign32.stories.js +1 -1
- package/es/icon/logo/BoxSign32.stories.js.map +1 -1
- package/es/icon/logo/ContentSharing32.stories.js +1 -1
- package/es/icon/logo/ContentSharing32.stories.js.map +1 -1
- package/es/icon/logo/CustomSetup32.stories.js +1 -1
- package/es/icon/logo/CustomSetup32.stories.js.map +1 -1
- package/es/icon/logo/DeviceTrust32.stories.js +1 -1
- package/es/icon/logo/DeviceTrust32.stories.js.map +1 -1
- package/es/icon/logo/HelpArticle32.stories.js +1 -1
- package/es/icon/logo/HelpArticle32.stories.js.map +1 -1
- package/es/icon/logo/HowToGuides32.stories.js +1 -1
- package/es/icon/logo/HowToGuides32.stories.js.map +1 -1
- package/es/icon/logo/IconBoxApp512.stories.js +1 -1
- package/es/icon/logo/IconBoxApp512.stories.js.map +1 -1
- package/es/icon/logo/KeynoteForMac32.stories.js +1 -1
- package/es/icon/logo/KeynoteForMac32.stories.js.map +1 -1
- package/es/icon/logo/ManageContent32.stories.js +1 -1
- package/es/icon/logo/ManageContent32.stories.js.map +1 -1
- package/es/icon/logo/ManageUsers32.stories.js +1 -1
- package/es/icon/logo/ManageUsers32.stories.js.map +1 -1
- package/es/icon/logo/Mobile32.stories.js +1 -1
- package/es/icon/logo/Mobile32.stories.js.map +1 -1
- package/es/icon/logo/Notifications32.stories.js +1 -1
- package/es/icon/logo/Notifications32.stories.js.map +1 -1
- package/es/icon/logo/NumbersForMac32.stories.js +1 -1
- package/es/icon/logo/NumbersForMac32.stories.js.map +1 -1
- package/es/icon/logo/PagesForMac32.stories.js +1 -1
- package/es/icon/logo/PagesForMac32.stories.js.map +1 -1
- package/es/icon/logo/Reporting32.stories.js +1 -1
- package/es/icon/logo/Reporting32.stories.js.map +1 -1
- package/es/icon/logo/Security32.stories.js +1 -1
- package/es/icon/logo/Security32.stories.js.map +1 -1
- package/es/icon/logo/TroubleShootingTools32.stories.js +1 -1
- package/es/icon/logo/TroubleShootingTools32.stories.js.map +1 -1
- package/es/icon/logo/UserSettings32.stories.js +1 -1
- package/es/icon/logo/UserSettings32.stories.js.map +1 -1
- package/es/icons/collections/IconCollections.stories.js +1 -1
- package/es/icons/collections/IconCollections.stories.js.map +1 -1
- package/es/icons/collections/IconCollectionsAdd.stories.js +1 -1
- package/es/icons/collections/IconCollectionsAdd.stories.js.map +1 -1
- package/es/icons/collections/IconCollectionsBolt.stories.js +1 -1
- package/es/icons/collections/IconCollectionsBolt.stories.js.map +1 -1
- package/es/icons/collections/IconCollectionsFilled.stories.js +1 -1
- package/es/icons/collections/IconCollectionsFilled.stories.js.map +1 -1
- package/es/icons/collections/IconCollectionsStar.stories.js +1 -1
- package/es/icons/collections/IconCollectionsStar.stories.js.map +1 -1
- package/es/icons/collections/IconCollectionsStarFilled.stories.js +1 -1
- package/es/icons/collections/IconCollectionsStarFilled.stories.js.map +1 -1
- package/es/icons/collections/collections.stories.js +1 -1
- package/es/icons/collections/collections.stories.js.map +1 -1
- package/es/icons/icons.stories.js +1 -1
- package/es/icons/icons.stories.js.map +1 -1
- package/es/icons/two-toned/IconAnnotation.js +1 -1
- package/es/icons/two-toned/IconAnnotation.js.map +1 -1
- package/es/illustration/AllNewBox140.stories.js +1 -1
- package/es/illustration/AllNewBox140.stories.js.map +1 -1
- package/es/illustration/AppSupport140.stories.js +1 -1
- package/es/illustration/AppSupport140.stories.js.map +1 -1
- package/es/illustration/Bell140.stories.js +1 -1
- package/es/illustration/Bell140.stories.js.map +1 -1
- package/es/illustration/BoxDrive140.stories.js +1 -1
- package/es/illustration/BoxDrive140.stories.js.map +1 -1
- package/es/illustration/BoxMobile140.stories.js +1 -1
- package/es/illustration/BoxMobile140.stories.js.map +1 -1
- package/es/illustration/BudgetApproval56.stories.js +1 -1
- package/es/illustration/BudgetApproval56.stories.js.map +1 -1
- package/es/illustration/Certificate56.stories.js +1 -1
- package/es/illustration/Certificate56.stories.js.map +1 -1
- package/es/illustration/CertificateSigning56.stories.js +1 -1
- package/es/illustration/CertificateSigning56.stories.js.map +1 -1
- package/es/illustration/ChangeOrder56.stories.js +1 -1
- package/es/illustration/ChangeOrder56.stories.js.map +1 -1
- package/es/illustration/Clock140.stories.js +1 -1
- package/es/illustration/Clock140.stories.js.map +1 -1
- package/es/illustration/CollectionStar140.stories.js +1 -1
- package/es/illustration/CollectionStar140.stories.js.map +1 -1
- package/es/illustration/ContractorId56.stories.js +1 -1
- package/es/illustration/ContractorId56.stories.js.map +1 -1
- package/es/illustration/CreativeApproval56.stories.js +1 -1
- package/es/illustration/CreativeApproval56.stories.js.map +1 -1
- package/es/illustration/CreativeAssets56.stories.js +1 -1
- package/es/illustration/CreativeAssets56.stories.js.map +1 -1
- package/es/illustration/CustomApp56.stories.js +1 -1
- package/es/illustration/CustomApp56.stories.js.map +1 -1
- package/es/illustration/CustomSkill56.stories.js +1 -1
- package/es/illustration/CustomSkill56.stories.js.map +1 -1
- package/es/illustration/CustomTemplate56.stories.js +1 -1
- package/es/illustration/CustomTemplate56.stories.js.map +1 -1
- package/es/illustration/CustomerSupport140.stories.js +1 -1
- package/es/illustration/CustomerSupport140.stories.js.map +1 -1
- package/es/illustration/DiscoDanceParty140.stories.js +1 -1
- package/es/illustration/DiscoDanceParty140.stories.js.map +1 -1
- package/es/illustration/Discount140.stories.js +1 -1
- package/es/illustration/Discount140.stories.js.map +1 -1
- package/es/illustration/EmailVerification140.stories.js +1 -1
- package/es/illustration/EmailVerification140.stories.js.map +1 -1
- package/es/illustration/EmployeeId56.stories.js +1 -1
- package/es/illustration/EmployeeId56.stories.js.map +1 -1
- package/es/illustration/EmployeeReview56.stories.js +1 -1
- package/es/illustration/EmployeeReview56.stories.js.map +1 -1
- package/es/illustration/EmptyStateDetails.stories.js +1 -1
- package/es/illustration/EmptyStateDetails.stories.js.map +1 -1
- package/es/illustration/EmptyStateFolder140.stories.js +1 -1
- package/es/illustration/EmptyStateFolder140.stories.js.map +1 -1
- package/es/illustration/EmptyStatePreviewActivity140.stories.js +1 -1
- package/es/illustration/EmptyStatePreviewActivity140.stories.js.map +1 -1
- package/es/illustration/Envelope140.stories.js +1 -1
- package/es/illustration/Envelope140.stories.js.map +1 -1
- package/es/illustration/ErrorState404140.stories.js +1 -1
- package/es/illustration/ErrorState404140.stories.js.map +1 -1
- package/es/illustration/Files.stories.js +1 -1
- package/es/illustration/Files.stories.js.map +1 -1
- package/es/illustration/Files140.stories.js +1 -1
- package/es/illustration/Files140.stories.js.map +1 -1
- package/es/illustration/FinanceContract56.stories.js +1 -1
- package/es/illustration/FinanceContract56.stories.js.map +1 -1
- package/es/illustration/FolderArrow140.stories.js +1 -1
- package/es/illustration/FolderArrow140.stories.js.map +1 -1
- package/es/illustration/FolderFloat140.stories.js +1 -1
- package/es/illustration/FolderFloat140.stories.js.map +1 -1
- package/es/illustration/FolderPlane140.stories.js +1 -1
- package/es/illustration/FolderPlane140.stories.js.map +1 -1
- package/es/illustration/FolderStar140.stories.js +1 -1
- package/es/illustration/FolderStar140.stories.js.map +1 -1
- package/es/illustration/Gavel56.stories.js +1 -1
- package/es/illustration/Gavel56.stories.js.map +1 -1
- package/es/illustration/Handshake56.stories.js +1 -1
- package/es/illustration/Handshake56.stories.js.map +1 -1
- package/es/illustration/HandshakeAgreement56.stories.js +1 -1
- package/es/illustration/HandshakeAgreement56.stories.js.map +1 -1
- package/es/illustration/HatWand140.stories.js +1 -1
- package/es/illustration/HatWand140.stories.js.map +1 -1
- package/es/illustration/Keynote56.stories.js +1 -1
- package/es/illustration/Keynote56.stories.js.map +1 -1
- package/es/illustration/LegalContract56.stories.js +1 -1
- package/es/illustration/LegalContract56.stories.js.map +1 -1
- package/es/illustration/LegalFolder56.stories.js +1 -1
- package/es/illustration/LegalFolder56.stories.js.map +1 -1
- package/es/illustration/LimitedApp56.stories.js +1 -1
- package/es/illustration/LimitedApp56.stories.js.map +1 -1
- package/es/illustration/MarketingPlan56.stories.js +1 -1
- package/es/illustration/MarketingPlan56.stories.js.map +1 -1
- package/es/illustration/Megaphone140.stories.js +1 -1
- package/es/illustration/Megaphone140.stories.js.map +1 -1
- package/es/illustration/MetricsReview56.stories.js +1 -1
- package/es/illustration/MetricsReview56.stories.js.map +1 -1
- package/es/illustration/Microphone140.stories.js +1 -1
- package/es/illustration/Microphone140.stories.js.map +1 -1
- package/es/illustration/Missing140.stories.js +1 -1
- package/es/illustration/Missing140.stories.js.map +1 -1
- package/es/illustration/MoneyStack56.stories.js +1 -1
- package/es/illustration/MoneyStack56.stories.js.map +1 -1
- package/es/illustration/MonthlyReport56.stories.js +1 -1
- package/es/illustration/MonthlyReport56.stories.js.map +1 -1
- package/es/illustration/NotesStar140.stories.js +1 -1
- package/es/illustration/NotesStar140.stories.js.map +1 -1
- package/es/illustration/PlanSelection140.stories.js +1 -1
- package/es/illustration/PlanSelection140.stories.js.map +1 -1
- package/es/illustration/Playbook56.stories.js +1 -1
- package/es/illustration/Playbook56.stories.js.map +1 -1
- package/es/illustration/ProjectFolder56.stories.js +1 -1
- package/es/illustration/ProjectFolder56.stories.js.map +1 -1
- package/es/illustration/RecentFiles140.stories.js +1 -1
- package/es/illustration/RecentFiles140.stories.js.map +1 -1
- package/es/illustration/RelayPlanet140.stories.js +1 -1
- package/es/illustration/RelayPlanet140.stories.js.map +1 -1
- package/es/illustration/SalesContract56.stories.js +1 -1
- package/es/illustration/SalesContract56.stories.js.map +1 -1
- package/es/illustration/Sandbox140.stories.js +1 -1
- package/es/illustration/Sandbox140.stories.js.map +1 -1
- package/es/illustration/TaskList56.stories.js +1 -1
- package/es/illustration/TaskList56.stories.js.map +1 -1
- package/es/illustration/Transfers140.stories.js +1 -1
- package/es/illustration/Transfers140.stories.js.map +1 -1
- package/es/illustration/TrashEmpty140.stories.js +1 -1
- package/es/illustration/TrashEmpty140.stories.js.map +1 -1
- package/es/illustration/Unplugged140.stories.js +1 -1
- package/es/illustration/Unplugged140.stories.js.map +1 -1
- package/es/illustration/UploadCloud140.stories.js +1 -1
- package/es/illustration/UploadCloud140.stories.js.map +1 -1
- package/es/illustration/UserOrbit56.stories.js +1 -1
- package/es/illustration/UserOrbit56.stories.js.map +1 -1
- package/es/src/components/avatar/Avatar.d.ts +2 -2
- package/es/src/components/avatar/Avatar.stories.d.ts +2 -2
- package/es/src/components/badge/Badge.d.ts +1 -1
- package/es/src/components/badge/types.d.ts +1 -1
- package/es/src/components/badgeable/Badgeable.d.ts +1 -1
- package/es/src/components/button/Button.d.ts +1 -1
- package/es/src/components/checkbox/CheckboxField.d.ts +1 -1
- package/es/src/components/close-button/CloseButton.d.ts +2 -2
- package/es/src/components/close-button/CloseButton.stories.d.ts +2 -2
- package/es/src/components/count-badge/CountBadge.d.ts +1 -1
- package/es/src/components/date-picker/DatePicker.d.ts +9 -9
- package/es/src/components/date-picker/DatePicker.stories.d.ts +2 -2
- package/es/src/components/footer-indicator/FooterIndicator.d.ts +1 -1
- package/es/src/components/ghost/Ghost.d.ts +2 -2
- package/es/src/components/ghost/Ghost.stories.d.ts +3 -3
- package/es/src/components/guide-tooltip/GuideTooltip.d.ts +2 -2
- package/es/src/components/header/Header.d.ts +1 -1
- package/es/src/components/image-tooltip/ImageTooltip.d.ts +2 -2
- package/es/src/components/image-tooltip/ImageTooltipContent.d.ts +2 -2
- package/es/src/components/label/HiddenLabel.d.ts +3 -1
- package/es/src/components/label/Label.d.ts +3 -1
- package/es/src/components/label/Label.stories.d.ts +1 -1
- package/es/src/components/label/LabelPrimitive.d.ts +3 -1
- package/es/src/components/label/StandardLabel.d.ts +3 -1
- package/es/src/components/loading-indicator/makeLoadable.d.ts +1 -1
- package/es/src/components/media/Media.d.ts +2 -2
- package/es/src/components/media/MediaMenu.d.ts +2 -2
- package/es/src/components/media/stories/Media.stories.d.ts +2 -2
- package/es/src/components/media/stories/MediaMenu.stories.d.ts +2 -2
- package/es/src/components/menu/Menu.d.ts +1 -1
- package/es/src/components/menu/MenuContext.d.ts +1 -1
- package/es/src/components/plain-button/index.d.ts +1 -1
- package/es/src/components/preview/PreviewLoading.d.ts +1 -1
- package/es/src/components/preview/PreviewLoadingRing.d.ts +1 -1
- package/es/src/components/preview/previewIcons.d.ts +7 -3
- package/es/src/components/radio/RadioButtonField.d.ts +1 -1
- package/es/src/components/radio/RadioGroup.d.ts +1 -1
- package/es/src/components/radio/RadioGroupField.d.ts +1 -1
- package/es/src/components/search-form/SearchActions.d.ts +16 -0
- package/es/src/components/search-form/messages.d.ts +18 -0
- package/es/src/components/time-input/TimeInput.d.ts +3 -3
- package/es/src/components/time-input/TimeInput.stories.d.ts +2 -2
- package/es/src/components/time-input/TimeInputUtils.d.ts +2 -2
- package/es/src/components/tooltip/CloseButton.d.ts +3 -3
- package/es/src/components/tooltip/Tooltip.d.ts +10 -10
- package/es/src/components/tooltip/index.d.ts +1 -1
- package/es/src/elements/common/annotator-context/types.d.ts +2 -2
- package/es/src/elements/common/annotator-context/withAnnotations.d.ts +5 -5
- package/es/src/elements/common/current-user/withCurrentUser.d.ts +4 -4
- package/es/src/elements/common/nav-router/NavRouter.d.ts +1 -1
- package/es/src/elements/common/nav-router/types.d.ts +1 -1
- package/es/src/elements/content-preview/PreviewMask.d.ts +1 -1
- package/es/src/elements/content-sidebar/SidebarNavSignButton.d.ts +24 -4
- package/es/src/elements/content-sidebar/activity-feed/ActivityCard.d.ts +1 -1
- package/es/src/elements/content-sidebar/activity-feed/SelectableActivityCard.d.ts +1 -1
- package/es/src/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.d.ts +1 -1
- package/es/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivityLink.d.ts +3 -3
- package/es/src/elements/content-sidebar/activity-feed/common/activity-datestamp/ActivityDatestamp.d.ts +2 -2
- package/es/src/elements/content-sidebar/activity-feed/illustrations/ActivityFeedEmptyStateIllustration.d.ts +1 -1
- package/es/src/features/content-answers/Answer.d.ts +7 -0
- package/es/src/features/content-answers/ContentAnswers.d.ts +10 -0
- package/es/src/features/content-answers/ContentAnswersGridCard.d.ts +7 -0
- package/es/src/features/content-answers/ContentAnswersModal.d.ts +10 -0
- package/es/src/features/content-answers/ContentAnswersModalContent.d.ts +11 -0
- package/es/src/features/content-answers/ContentAnswersModalError.d.ts +3 -0
- package/es/src/features/content-answers/ContentAnswersModalFooter.d.ts +18 -0
- package/es/src/features/content-answers/ContentAnswersModalFooterActions.d.ts +7 -0
- package/es/src/features/content-answers/ContentAnswersOpenButton.d.ts +16 -0
- package/es/src/features/content-answers/InlineError.d.ts +3 -0
- package/es/src/features/content-answers/LoadingElement.d.ts +3 -0
- package/es/src/features/content-answers/Question.d.ts +8 -0
- package/es/src/features/content-answers/WelcomeMessage.d.ts +6 -0
- package/es/src/features/content-answers/__mocks__/mocks.d.ts +23 -0
- package/es/src/features/content-answers/__tests__/Answer.test.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/ContentAnswers.test.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/ContentAnswersGridCard.test.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/ContentAnswersModal.test.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/ContentAnswersModalContent.test.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/ContentAnswersModalError.test.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/ContentAnswersModalFooter.test.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/ContentAnswersModalFooterActions.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/ContentAnswersOpenButton.test.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/InlineError.test.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/Question.test.d.ts +1 -0
- package/es/src/features/content-answers/__tests__/WelcomeMessage.test.d.ts +1 -0
- package/es/src/features/content-answers/constants.d.ts +7 -0
- package/es/src/features/content-answers/index.d.ts +1 -0
- package/es/src/features/content-answers/messages.d.ts +83 -0
- package/es/src/features/content-insights/CompactCount.d.ts +2 -2
- package/es/src/features/content-insights/GraphCardPreviewsSummary.d.ts +2 -2
- package/es/src/features/content-insights/MetricSummary.d.ts +2 -2
- package/es/src/features/content-insights/TrendPill.d.ts +2 -2
- package/es/src/features/content-insights/charts/bar/BarChart.d.ts +1 -1
- package/es/src/features/content-insights/charts/types.d.ts +2 -2
- package/es/src/features/content-insights/constants.d.ts +30 -18
- package/es/src/features/content-insights/types.d.ts +9 -9
- package/es/src/features/presence/PresenceAvatarList.d.ts +2 -2
- package/es/src/features/presence/PresenceAvatarTooltipContent.d.ts +15 -3
- package/es/src/features/sandbox-banner/SandboxBanner.d.ts +1 -1
- package/es/src/icons/file/IconFileBase.d.ts +1 -1
- package/es/styles/colors.stories.js +1 -1
- package/es/styles/colors.stories.js.map +1 -1
- package/es/styles/common/_buttons.scss +1 -1
- package/es/styles/constants/_buttons.scss +1 -0
- package/es/styles/typography.stories.js +1 -1
- package/es/styles/typography.stories.js.map +1 -1
- package/es/utils/Browser.js +11 -0
- package/es/utils/Browser.js.flow +10 -0
- package/es/utils/Browser.js.map +1 -1
- package/es/utils/comparator.js +1 -1
- package/es/utils/comparator.js.flow +1 -1
- package/es/utils/comparator.js.map +1 -1
- package/es/utils/createTheme.stories.js +1 -1
- package/es/utils/createTheme.stories.js.flow +1 -1
- package/es/utils/createTheme.stories.js.map +1 -1
- package/es/utils/fields.js +3 -3
- package/es/utils/fields.js.flow +3 -0
- package/es/utils/fields.js.map +1 -1
- package/es/utils/flatten.js +1 -1
- package/es/utils/flatten.js.flow +6 -1
- package/es/utils/flatten.js.map +1 -1
- package/es/utils/size.js +5 -5
- package/es/utils/size.js.flow +5 -5
- package/es/utils/size.js.map +1 -1
- package/es/utils/sorter.js +1 -1
- package/es/utils/sorter.js.flow +1 -1
- package/es/utils/sorter.js.map +1 -1
- package/flow-typed/box-ui-elements.js +1 -0
- package/i18n/bn-IN.js +19 -1
- package/i18n/bn-IN.properties +38 -2
- package/i18n/da-DK.js +19 -1
- package/i18n/da-DK.properties +38 -2
- package/i18n/de-DE.js +19 -1
- package/i18n/de-DE.properties +38 -2
- package/i18n/en-AU.js +19 -1
- package/i18n/en-AU.properties +38 -2
- package/i18n/en-CA.js +19 -1
- package/i18n/en-CA.properties +38 -2
- package/i18n/en-GB.js +19 -1
- package/i18n/en-GB.properties +38 -2
- package/i18n/en-US.js +19 -1
- package/i18n/en-US.properties +38 -2
- package/i18n/en-x-pseudo.js +943 -926
- package/i18n/en-x-pseudo.properties +962 -926
- package/i18n/es-419.js +19 -1
- package/i18n/es-419.properties +38 -2
- package/i18n/es-ES.js +19 -1
- package/i18n/es-ES.properties +38 -2
- package/i18n/fi-FI.js +19 -1
- package/i18n/fi-FI.properties +38 -2
- package/i18n/fr-CA.js +19 -1
- package/i18n/fr-CA.properties +38 -2
- package/i18n/fr-FR.js +19 -1
- package/i18n/fr-FR.properties +38 -2
- package/i18n/hi-IN.js +19 -1
- package/i18n/hi-IN.properties +38 -2
- package/i18n/it-IT.js +19 -1
- package/i18n/it-IT.properties +38 -2
- package/i18n/ja-JP.js +29 -11
- package/i18n/ja-JP.properties +48 -12
- package/i18n/ko-KR.js +19 -1
- package/i18n/ko-KR.properties +38 -2
- package/i18n/nb-NO.js +19 -1
- package/i18n/nb-NO.properties +38 -2
- package/i18n/nl-NL.js +19 -1
- package/i18n/nl-NL.properties +38 -2
- package/i18n/pl-PL.js +19 -1
- package/i18n/pl-PL.properties +38 -2
- package/i18n/pt-BR.js +19 -1
- package/i18n/pt-BR.properties +38 -2
- package/i18n/ru-RU.js +19 -1
- package/i18n/ru-RU.properties +38 -2
- package/i18n/sv-SE.js +19 -1
- package/i18n/sv-SE.properties +38 -2
- package/i18n/tr-TR.js +19 -1
- package/i18n/tr-TR.properties +38 -2
- package/i18n/zh-CN.js +19 -1
- package/i18n/zh-CN.properties +38 -2
- package/i18n/zh-TW.js +19 -1
- package/i18n/zh-TW.properties +38 -2
- package/package.json +48 -36
- package/src/api/APIFactory.js +25 -0
- package/src/api/Feed.js +8 -4
- package/src/api/Intelligence.js +47 -0
- package/src/api/__tests__/Intelligence.test.js +81 -0
- package/src/api/__tests__/Item.test.js +1 -1
- package/src/api/uploads/__tests__/BaseUpload.test.js +5 -5
- package/src/api/uploads/__tests__/FolderUpload.test.js +1 -1
- package/src/api/uploads/__tests__/FolderUploadNode.test.js +1 -1
- package/src/api/uploads/__tests__/MultiputUpload.test.js +1 -1
- package/src/common/types/core.js +1 -0
- package/src/components/accessible-svg/AccessibleSVG.stories.tsx +1 -1
- package/src/components/avatar/Avatar.stories.tsx +1 -1
- package/src/components/badge/Badge.stories.tsx +1 -1
- package/src/components/badge/BetaBadge.stories.tsx +1 -1
- package/src/components/badge/TrialBadge.stories.tsx +1 -1
- package/src/components/badge/UpgradeBadge.stories.tsx +1 -1
- package/src/components/breadcrumb/Breadcrumb.stories.js +1 -1
- package/src/components/button/Button.stories.tsx +1 -1
- package/src/components/button-group/ButtonGroup.stories.tsx +1 -1
- package/src/components/category-selector/CategorySelector.stories.tsx +1 -1
- package/src/components/checkbox/Checkbox.stories.tsx +1 -1
- package/src/components/close-button/CloseButton.stories.tsx +1 -1
- package/src/components/collapsible/Collapsible.stories.tsx +1 -1
- package/src/components/collapsible/__tests__/__snapshots__/Collapsible.test.tsx.snap +14 -14
- package/src/components/contact-datalist-item/ContactDatalistItem.stories.tsx +1 -1
- package/src/components/context-menu/ContextMenu.stories.tsx +1 -1
- package/src/components/count-badge/CountBadge.stories.tsx +1 -1
- package/src/components/datalist-item/DatalistItem.stories.tsx +1 -1
- package/src/components/date-picker/DatePicker.stories.tsx +1 -1
- package/src/components/draft-js-editor/DraftJSEditor.stories.js +1 -1
- package/src/components/draggable-list/DraggableList.stories.tsx +1 -1
- package/src/components/dropdown-menu/DropdownMenu.stories.js +1 -1
- package/src/components/error-mask/ErrorMask.stories.tsx +1 -1
- package/src/components/fieldset/Fieldset.stories.tsx +1 -1
- package/src/components/flyout/Flyout.stories.tsx +1 -1
- package/src/components/flyout/OverlayHeader.tsx +1 -1
- package/src/components/footer-indicator/FooterIndicator.stories.tsx +1 -1
- package/src/components/form-elements/form/Form.stories.js +1 -1
- package/src/components/form-elements/formik/Formik.stories.js +1 -1
- package/src/components/form-elements/text-area/TextArea.stories.js +1 -1
- package/src/components/form-elements/text-input/TextInput.stories.js +1 -1
- package/src/components/ghost/Ghost.stories.tsx +1 -1
- package/src/components/grid-view/__tests__/__snapshots__/GridView.test.js.snap +4 -4
- package/src/components/guide-tooltip/GuideTooltip.stories.tsx +1 -1
- package/src/components/header/Header.stories.tsx +1 -1
- package/src/components/image-tooltip/ImageTooltip.stories.tsx +1 -1
- package/src/components/inline-error/InlineError.stories.js +1 -1
- package/src/components/inline-notice/InlineNotice.stories.js +1 -1
- package/src/components/label/HiddenLabel.js.flow +3 -2
- package/src/components/label/HiddenLabel.tsx +4 -2
- package/src/components/label/Label.js.flow +5 -3
- package/src/components/label/Label.stories.tsx +1 -1
- package/src/components/label/Label.tsx +18 -3
- package/src/components/label/LabelPrimitive.js.flow +3 -2
- package/src/components/label/LabelPrimitive.tsx +4 -2
- package/src/components/label/StandardLabel.js.flow +3 -2
- package/src/components/label/StandardLabel.tsx +4 -2
- package/src/components/label/__tests__/__snapshots__/Label.test.tsx.snap +2 -2
- package/src/components/label/__tests__/__snapshots__/StandardLabel.test.tsx.snap +1 -1
- package/src/components/label-pill/LabelPill.stories.tsx +1 -1
- package/src/components/link/stories/Link.stories.tsx +2 -1
- package/src/components/link/stories/LinkButton.stories.tsx +3 -1
- package/src/components/link/stories/LinkGroup.stories.tsx +1 -1
- package/src/components/link/stories/LinkPrimaryButton.stories.tsx +2 -1
- package/src/components/loading-indicator/LoadingIndicator.stories.tsx +1 -1
- package/src/components/loading-indicator/LoadingIndicatorWrapper.stories.tsx +1 -1
- package/src/components/loading-indicator/makeLoadable.tsx +2 -4
- package/src/components/logo/Logo.stories.tsx +1 -1
- package/src/components/media/stories/Media.stories.tsx +1 -1
- package/src/components/media/stories/MediaBody.stories.tsx +1 -1
- package/src/components/media/stories/MediaFigure.stories.tsx +1 -1
- package/src/components/media/stories/MediaMenu.stories.tsx +1 -1
- package/src/components/media-query/stories/MediaQuery.stories.js +1 -1
- package/src/components/menu/stories/Menu.stories.tsx +1 -1
- package/src/components/menu/stories/SelectMenuLinkItem.stories.tsx +1 -1
- package/src/components/modal/Modal.scss +62 -69
- package/src/components/modal/stories/Modal.stories.js +1 -1
- package/src/components/modal/stories/ModalActions.stories.js +1 -1
- package/src/components/modal/stories/ModalDialog.stories.js +1 -1
- package/src/components/nav-sidebar/NavSidebar.stories.js +1 -1
- package/src/components/notification/stories/Notification.stories.js +1 -1
- package/src/components/notification/stories/NotificationsWrapper.stories.js +1 -1
- package/src/components/nudge/Nudge.stories.tsx +1 -1
- package/src/components/pill-cloud/PillCloud.stories.js +1 -1
- package/src/components/pill-selector-dropdown/PillSelector.js +10 -2
- package/src/components/pill-selector-dropdown/PillSelector.scss +4 -0
- package/src/components/pill-selector-dropdown/PillSelectorDropdown.stories.js +1 -1
- package/src/components/pill-selector-dropdown/__tests__/PillSelector.test.js +21 -0
- package/src/components/pill-selector-dropdown/__tests__/__snapshots__/PillSelector.test.js.snap +1 -1
- package/src/components/pill-selector-dropdown/__tests__/__snapshots__/PillSelectorDropdown.test.js.snap +1 -1
- package/src/components/pill-selector-dropdown/__tests__/__snapshots__/PillSelectorDropdownField.test.js.snap +12 -12
- package/src/components/pill-selector-dropdown/__tests__/__snapshots__/defaultDropdownRenderer.test.js.snap +1 -1
- package/src/components/plain-button/PlainButton.stories.tsx +1 -1
- package/src/components/plain-button/__tests__/__snapshots__/PlainButton.test.tsx.snap +4 -4
- package/src/components/primary-button/PrimaryButton.stories.tsx +1 -1
- package/src/components/radar/RadarAnimation.stories.tsx +1 -1
- package/src/components/radar/__tests__/__snapshots__/RadarAnimation.test.tsx.snap +20 -20
- package/src/components/radio/stories/RadioButton.stories.tsx +1 -1
- package/src/components/radio/stories/RadioGroup.stories.tsx +1 -1
- package/src/components/search-form/SearchActions.tsx +50 -0
- package/src/components/search-form/SearchForm.js +10 -54
- package/src/components/search-form/__tests__/SearchForm.test.js +9 -5
- package/src/components/search-form/messages.ts +21 -0
- package/src/components/section/Section.stories.tsx +1 -1
- package/src/components/select/Select.stories.js +1 -1
- package/src/components/select-button/SelectButton.stories.js +1 -1
- package/src/components/select-field/__tests__/__snapshots__/BaseSelectField.test.js.snap +1 -1
- package/src/components/selector-dropdown/SelectorDropdown.stories.js +1 -1
- package/src/components/sidebar-toggle-button/SidebarToggleButton.stories.js +1 -1
- package/src/components/sidebar-toggle-button/__tests__/__snapshots__/SidebarToggleButton.test.js.snap +12 -12
- package/src/components/tab-view/TabView.stories.js +1 -1
- package/src/components/text-area/__tests__/__snapshots__/TextArea.test.js.snap +3 -3
- package/src/components/text-input/TextInput.stories.js +1 -1
- package/src/components/text-input-with-copy-button/TextInputWithCopyButton.js +9 -4
- package/src/components/text-input-with-copy-button/TextInputWithCopyButton.stories.js +1 -1
- package/src/components/thumbnail-card/ThumbnailCard.stories.js +1 -1
- package/src/components/time/ReadableTime.stories.js +1 -1
- package/src/components/time-input/TimeInput.stories.tsx +1 -1
- package/src/components/toggle/Toggle.stories.js +1 -1
- package/src/components/tooltip/Tooltip.stories.tsx +1 -1
- package/src/components/tooltip/__tests__/__snapshots__/Tooltip.test.tsx.snap +14 -14
- package/src/constants.js +1 -0
- package/src/elements/common/_variables.scss +1 -0
- package/src/elements/common/current-user/withCurrentUser.tsx +1 -0
- package/src/elements/common/feature-checking/__tests__/withFeatureProvider.test.js +25 -25
- package/src/elements/common/logger/__tests__/__snapshots__/Logger.test.js.snap +1 -1
- package/src/elements/common/selectors/__tests__/version.js +13 -11
- package/src/elements/common/selectors/version.js +2 -1
- package/src/elements/content-explorer/ContentExplorer.js +10 -4
- package/src/elements/content-explorer/MoreOptions.js +1 -1
- package/src/elements/content-explorer/PreviewDialog.js +0 -1
- package/src/elements/content-explorer/__tests__/ContentExplorer.test.js +60 -0
- package/src/elements/content-explorer/stories/ContentExplorer.stories.js +25 -36
- package/src/elements/content-explorer/stories/DeleteConfirmationDialog.stories.js +1 -1
- package/src/elements/content-explorer/stories/ShareDialog.stories.js +1 -1
- package/src/elements/content-open-with/__tests__/__snapshots__/BoxToolsInstallMessage.test.js.snap +2 -2
- package/src/elements/content-open-with/__tests__/__snapshots__/ContentOpenWith.test.js.snap +6 -6
- package/src/elements/content-open-with/__tests__/__snapshots__/OpenWithDropdownMenu.test.js.snap +1 -1
- package/src/elements/content-picker/ContentPicker.js +2 -2
- package/src/elements/content-picker/Footer.scss +6 -0
- package/src/elements/content-preview/ContentPreview.js +88 -64
- package/src/elements/content-preview/ContentPreview.scss +13 -28
- package/src/elements/content-preview/__tests__/ContentPreview.test.js +6 -5
- package/src/elements/content-preview/__tests__/__snapshots__/PreviewNavigation.test.js.snap +93 -93
- package/src/elements/content-preview/preview-header/PreviewHeader.js +6 -0
- package/src/elements/content-preview/preview-header/__tests__/PreviewHeader.test.js +25 -0
- package/src/elements/content-preview/stories/ContentPreview.stories.js +51 -81
- package/src/elements/content-sharing/stories/ContentSharing.stories.js +18 -84
- package/src/elements/content-sidebar/ActivitySidebar.js +2 -2
- package/src/elements/content-sidebar/ContentSidebar.scss +9 -9
- package/src/elements/content-sidebar/SidebarContent.scss +6 -8
- package/src/elements/content-sidebar/SidebarNav.scss +22 -20
- package/src/elements/content-sidebar/SidebarNavButton.scss +12 -14
- package/src/elements/content-sidebar/SidebarNavSignButton.scss +6 -8
- package/src/elements/content-sidebar/__tests__/ActivitySidebar.test.js +8 -4
- package/src/elements/content-sidebar/__tests__/__snapshots__/ActivitySidebar.test.js.snap +5 -5
- package/src/elements/content-sidebar/__tests__/__snapshots__/DetailsSidebar.test.js.snap +9 -9
- package/src/elements/content-sidebar/__tests__/__snapshots__/MetadataSidebar.test.js.snap +6 -6
- package/src/elements/content-sidebar/__tests__/__snapshots__/SidebarAccessStats.test.js.snap +12 -12
- package/src/elements/content-sidebar/__tests__/__snapshots__/SidebarClassification.test.js.snap +3 -3
- package/src/elements/content-sidebar/__tests__/__snapshots__/SidebarFileProperties.test.js.snap +10 -10
- package/src/elements/content-sidebar/__tests__/__snapshots__/SidebarNotices.test.js.snap +2 -2
- package/src/elements/content-sidebar/__tests__/__snapshots__/SkillsSidebar.test.js.snap +3 -3
- package/src/elements/content-sidebar/__tests__/__snapshots__/TaskModal.test.js.snap +15 -15
- package/src/elements/content-sidebar/activity-feed/__tests__/__snapshots__/Avatar.test.js.snap +1 -1
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActiveState.js +20 -2
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.js +7 -6
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityFeed.scss +6 -4
- package/src/elements/content-sidebar/activity-feed/activity-feed/ActivityItem.scss +2 -2
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/ActiveState.test.js +36 -0
- package/src/elements/content-sidebar/activity-feed/activity-feed/__tests__/__snapshots__/ActiveState.test.js.snap +35 -35
- package/src/elements/content-sidebar/activity-feed/activity-feed/stories/ActivityFeed.stories.js +70 -0
- package/src/elements/content-sidebar/activity-feed/annotation-thread/AnnotationThreadContent.js +2 -2
- package/src/elements/content-sidebar/activity-feed/annotation-thread/__tests__/useAnnotationThread.test.js +4 -2
- package/src/elements/content-sidebar/activity-feed/annotation-thread/useAnnotationThread.js +3 -7
- package/src/elements/content-sidebar/activity-feed/annotations/AnnotationActivity.js +3 -3
- package/src/elements/content-sidebar/activity-feed/app-activity/__tests__/__snapshots__/AppActivity.test.js.snap +2 -2
- package/src/elements/content-sidebar/activity-feed/comment/BaseComment.js +59 -166
- package/src/elements/content-sidebar/activity-feed/comment/BaseComment.scss +34 -12
- package/src/elements/content-sidebar/activity-feed/comment/CreateReply.js +5 -4
- package/src/elements/content-sidebar/activity-feed/comment/Replies.scss +4 -2
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/BaseComment.test.js +18 -6
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/CreateReply.test.js +12 -0
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/Replies.test.js +25 -1
- package/src/elements/content-sidebar/activity-feed/comment/__tests__/__snapshots__/Comment.test.js.snap +8 -8
- package/src/elements/content-sidebar/activity-feed/comment/components/BaseCommentInfo.js +72 -0
- package/src/elements/content-sidebar/activity-feed/comment/components/BaseCommentInfo.scss +38 -0
- package/src/elements/content-sidebar/activity-feed/comment/components/BaseCommentMenu.js +125 -0
- package/src/elements/content-sidebar/activity-feed/comment/components/BaseCommentMenu.scss +4 -0
- package/src/elements/content-sidebar/activity-feed/comment/components/BaseCommentMenuWrapper.js +91 -0
- package/src/elements/content-sidebar/activity-feed/comment/components/__tests__/BaseCommentInfo.test.js +51 -0
- package/src/elements/content-sidebar/activity-feed/comment/components/__tests__/BaseCommentMenu.test.js +85 -0
- package/src/elements/content-sidebar/activity-feed/comment/components/stories/BaseCommentInfo.stories.js +25 -0
- package/src/elements/content-sidebar/activity-feed/comment/components/stories/BaseCommentMenu.stories.js +26 -0
- package/src/elements/content-sidebar/activity-feed/comment/components/stories/common.js +28 -0
- package/src/elements/content-sidebar/activity-feed/comment/messages.js +5 -5
- package/src/elements/content-sidebar/activity-feed/comment/stories/BaseComment.stories.js +1 -1
- package/src/elements/content-sidebar/activity-feed/comment/stories/common.js +1 -1
- package/src/elements/content-sidebar/activity-feed/comment/types.js +13 -0
- package/src/elements/content-sidebar/activity-feed/comment-form/CommentForm.js +11 -3
- package/src/elements/content-sidebar/activity-feed/comment-form/__tests__/CommentForm.test.js +37 -21
- package/src/elements/content-sidebar/activity-feed/common/activity-timestamp/__tests__/__snapshots__/ActivityTimestamp.test.js.snap +1 -1
- package/src/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.js +2 -0
- package/src/elements/content-sidebar/activity-feed/common/delete-confirmation/DeleteConfirmation.scss +1 -1
- package/src/elements/content-sidebar/activity-feed/task-form/__tests__/__snapshots__/TaskError.test.js.snap +10 -10
- package/src/elements/content-sidebar/activity-feed/task-new/Task.js +7 -2
- package/src/elements/content-sidebar/activity-feed/task-new/__tests__/__snapshots__/AssigneeDetails.test.js.snap +9 -9
- package/src/elements/content-sidebar/activity-feed/task-new/__tests__/__snapshots__/Task.test.js.snap +30 -21
- package/src/elements/content-sidebar/activity-feed/task-new/__tests__/__snapshots__/TaskDueDate.test.js.snap +1 -1
- package/src/elements/content-sidebar/activity-feed/task-new/messages.js +10 -0
- package/src/elements/content-sidebar/activity-feed/version/__tests__/__snapshots__/CollapsedVersion.test.js.snap +2 -2
- package/src/elements/content-sidebar/additional-tabs/__tests__/__snapshots__/AdditionalTabsLoading.test.js.snap +1 -1
- package/src/elements/content-sidebar/skills/__tests__/__snapshots__/SidebarSkills.test.js.snap +208 -208
- package/src/elements/content-sidebar/skills/__tests__/__snapshots__/SidebarSkillsCard.test.js.snap +5 -5
- package/src/elements/content-sidebar/skills/faces/__tests__/__snapshots__/Faces.test.js.snap +23 -23
- package/src/elements/content-sidebar/skills/keywords/__tests__/__snapshots__/EditableKeywords.test.js.snap +3 -3
- package/src/elements/content-sidebar/skills/keywords/__tests__/__snapshots__/Keywords.test.js.snap +15 -15
- package/src/elements/content-sidebar/skills/keywords/__tests__/__snapshots__/ReadOnlyKeywords.test.js.snap +8 -8
- package/src/elements/content-sidebar/skills/timeline/__tests__/__snapshots__/Timeslice.test.js.snap +3 -3
- package/src/elements/content-sidebar/skills/transcript/__tests__/__snapshots__/EditingTranscriptRow.test.js.snap +2 -10
- package/src/elements/content-sidebar/stories/ContentSidebar.stories.js +19 -28
- package/src/elements/content-sidebar/versions/VersionsItem.scss +6 -0
- package/src/elements/content-sidebar/versions/__tests__/VersionsItem.test.js +3 -0
- package/src/elements/content-sidebar/versions/__tests__/__snapshots__/VersionsItem.test.js.snap +3 -3
- package/src/elements/content-sidebar/versions/__tests__/__snapshots__/VersionsSidebar.test.js.snap +2 -2
- package/src/elements/content-sidebar/versions/__tests__/__snapshots__/VersionsSidebarContainer.test.js.snap +5 -5
- package/src/elements/content-uploader/ItemName.scss +1 -1
- package/src/elements/content-uploader/ProgressBar.scss +4 -0
- package/src/elements/content-uploader/__tests__/__snapshots__/UploadStateContent.test.js.snap +1 -1
- package/src/elements/content-uploader/stories/ContentUploader.stories.js +7 -11
- package/src/features/access-stats/__tests__/__snapshots__/AccessStats.test.js.snap +30 -30
- package/src/features/access-stats/__tests__/__snapshots__/AccessStatsItemsList.test.js.snap +14 -14
- package/src/features/classification/__tests__/__snapshots__/Classification.test.js.snap +5 -5
- package/src/features/classification/security-controls/__tests__/__snapshots__/SecurityControls.test.js.snap +17 -17
- package/src/features/classification/security-controls/__tests__/__snapshots__/SecurityControlsModal.test.js.snap +6 -6
- package/src/features/collaborator-avatars/CollaboratorList.scss +11 -1
- package/src/features/collaborator-avatars/__tests__/__snapshots__/CollaboratorList.test.js.snap +10 -10
- package/src/features/collaborator-avatars/__tests__/__snapshots__/CollaboratorListItem.test.js.snap +3 -3
- package/src/features/collapsible-sidebar/CollapsibleSidebar.stories.js +1 -1
- package/src/features/collapsible-sidebar/__tests__/__snapshots__/CollapsibleSidebarLogo.test.js.snap +2 -2
- package/src/features/collapsible-sidebar/__tests__/__snapshots__/CollapsibleSidebarNav.test.js.snap +24 -24
- package/src/features/content-answers/Answer.scss +4 -0
- package/src/features/content-answers/Answer.tsx +22 -0
- package/src/features/content-answers/ContentAnswers.tsx +60 -0
- package/src/features/content-answers/ContentAnswersGridCard.scss +26 -0
- package/src/features/content-answers/ContentAnswersGridCard.tsx +27 -0
- package/src/features/content-answers/ContentAnswersModal.scss +56 -0
- package/src/features/content-answers/ContentAnswersModal.tsx +136 -0
- package/src/features/content-answers/ContentAnswersModalContent.scss +12 -0
- package/src/features/content-answers/ContentAnswersModalContent.tsx +64 -0
- package/src/features/content-answers/ContentAnswersModalError.scss +28 -0
- package/src/features/content-answers/ContentAnswersModalError.tsx +32 -0
- package/src/features/content-answers/ContentAnswersModalFooter.scss +42 -0
- package/src/features/content-answers/ContentAnswersModalFooter.tsx +103 -0
- package/src/features/content-answers/ContentAnswersModalFooterActions.scss +17 -0
- package/src/features/content-answers/ContentAnswersModalFooterActions.tsx +45 -0
- package/src/features/content-answers/ContentAnswersOpenButton.scss +54 -0
- package/src/features/content-answers/ContentAnswersOpenButton.tsx +74 -0
- package/src/features/content-answers/InlineError.scss +39 -0
- package/src/features/content-answers/InlineError.tsx +32 -0
- package/src/features/content-answers/LoadingElement.scss +4 -0
- package/src/features/content-answers/LoadingElement.tsx +17 -0
- package/src/features/content-answers/Question.scss +16 -0
- package/src/features/content-answers/Question.tsx +30 -0
- package/src/features/content-answers/WelcomeMessage.scss +25 -0
- package/src/features/content-answers/WelcomeMessage.tsx +35 -0
- package/src/features/content-answers/__mocks__/mocks.ts +66 -0
- package/src/features/content-answers/__tests__/Answer.test.tsx +25 -0
- package/src/features/content-answers/__tests__/ContentAnswers.test.tsx +53 -0
- package/src/features/content-answers/__tests__/ContentAnswersGridCard.test.tsx +21 -0
- package/src/features/content-answers/__tests__/ContentAnswersModal.test.tsx +117 -0
- package/src/features/content-answers/__tests__/ContentAnswersModalContent.test.tsx +104 -0
- package/src/features/content-answers/__tests__/ContentAnswersModalError.test.tsx +26 -0
- package/src/features/content-answers/__tests__/ContentAnswersModalFooter.test.tsx +96 -0
- package/src/features/content-answers/__tests__/ContentAnswersModalFooterActions.tsx +37 -0
- package/src/features/content-answers/__tests__/ContentAnswersOpenButton.test.tsx +73 -0
- package/src/features/content-answers/__tests__/InlineError.test.tsx +20 -0
- package/src/features/content-answers/__tests__/Question.test.tsx +21 -0
- package/src/features/content-answers/__tests__/WelcomeMessage.test.tsx +24 -0
- package/src/features/content-answers/constants.ts +134 -0
- package/src/features/content-answers/index.ts +1 -0
- package/src/features/content-answers/messages.ts +87 -0
- package/src/features/content-explorer/content-explorer/ContentExplorer.js +19 -15
- package/src/features/content-explorer/content-explorer/ContentExplorer.scss +4 -0
- package/src/features/content-explorer/content-explorer/ContentExplorerBreadcrumbs.js +2 -0
- package/src/features/content-explorer/content-explorer/__tests__/ContentExplorer.test.js +29 -0
- package/src/features/content-explorer/content-explorer/__tests__/__snapshots__/ContentExplorer.test.js.snap +10 -10
- package/src/features/content-explorer/content-explorer/__tests__/__snapshots__/ContentExplorerHeaderActions.test.js.snap +1 -1
- package/src/features/content-explorer/content-explorer-modal/ContentExplorerModal.js +1 -0
- package/src/features/content-explorer/content-explorer-modal/__tests__/__snapshots__/ContentExplorerModal.test.js.snap +10 -10
- package/src/features/content-explorer/content-explorer-modal-container/ContentExplorerModalContainer.js +2 -0
- package/src/features/content-explorer/item-list/__tests__/__snapshots__/ItemListIcon.test.js.snap +4 -4
- package/src/features/header-flyout/__tests__/__snapshots__/HeaderFlyout.test.js.snap +3 -3
- package/src/features/invite-collaborators-modal/__tests__/__snapshots__/InviteCollaboratorsModal.test.js.snap +8 -8
- package/src/features/item-details/__tests__/__snapshots__/EditableDescription.test.js.snap +2 -8
- package/src/features/item-details/__tests__/__snapshots__/ItemExpirationNotice.test.js.snap +4 -4
- package/src/features/item-details/__tests__/__snapshots__/ItemProperties.test.js.snap +2 -2
- package/src/features/item-details/__tests__/__snapshots__/ReadonlyDescription.test.js.snap +2 -2
- package/src/features/item-details/__tests__/__snapshots__/SharedLinkExpirationNotice.test.js.snap +2 -2
- package/src/features/item-details/__tests__/__snapshots__/VersionHistoryLink.test.js.snap +2 -2
- package/src/features/left-sidebar/__tests__/__snapshots__/InstantLogin.test.js.snap +2 -2
- package/src/features/left-sidebar/__tests__/__snapshots__/LeftSidebar.test.js.snap +21 -21
- package/src/features/left-sidebar/__tests__/__snapshots__/LeftSidebarLink.test.js.snap +14 -14
- package/src/features/left-sidebar/__tests__/__snapshots__/defaultNavLinkRenderer.test.js.snap +1 -1
- package/src/features/message-center/components/templates/common/__tests__/__snapshots__/MessageTextContent.test.js.snap +2 -2
- package/src/features/message-center/components/templates/preview-title-body-tags-button/__tests__/__snapshots__/PreviewTitleBodyTagsButton.test.js.snap +4 -4
- package/src/features/message-center/components/templates/title-body-tags-button/__tests__/__snapshots__/TitleBodyTagsButton.test.js.snap +4 -4
- package/src/features/metadata-based-view/__tests__/__snapshots__/IconWithTooltip.test.js.snap +3 -3
- package/src/features/metadata-based-view/__tests__/__snapshots__/MetadataBasedItemList.test.js.snap +21 -21
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/Header.test.js.snap +3 -3
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/Instance.test.js.snap +204 -204
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/Instances.test.js.snap +37 -37
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/MetadataInstanceEditor.test.js.snap +229 -229
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/TemplateDropdown.test.js.snap +7 -7
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/TemplatedInstance.test.js.snap +17 -17
- package/src/features/metadata-instance-fields/__tests__/__snapshots__/DateMetadataField.test.js.snap +1 -1
- package/src/features/metadata-instance-fields/__tests__/__snapshots__/EnumMetadataField.test.js.snap +10 -10
- package/src/features/metadata-instance-fields/__tests__/__snapshots__/MetadataField.test.js.snap +1 -1
- package/src/features/metadata-instance-fields/__tests__/__snapshots__/MultiSelectMetadataField.test.js.snap +4 -4
- package/src/features/pagination/Pagination.scss +0 -4
- package/src/features/pagination/__tests__/__snapshots__/MarkerBasedPagination.test.js.snap +8 -8
- package/src/features/pagination/__tests__/__snapshots__/OffsetBasedPagination.test.js.snap +34 -34
- package/src/features/pagination/__tests__/__snapshots__/PaginationMenu.test.js.snap +3 -3
- package/src/features/presence/__tests__/__snapshots__/Presence.test.js.snap +49 -49
- package/src/features/presence/__tests__/__snapshots__/PresenceLink.test.js.snap +24 -24
- package/src/features/query-bar/__tests__/__snapshots__/ColumnButton.test.js.snap +6 -6
- package/src/features/query-bar/__tests__/__snapshots__/Condition.test.js.snap +10 -10
- package/src/features/query-bar/__tests__/__snapshots__/QueryBar.test.js.snap +41 -41
- package/src/features/query-bar/__tests__/__snapshots__/TemplateButton.test.js.snap +2 -2
- package/src/features/sandbox-banner/SandboxBanner.stories.tsx +1 -1
- package/src/features/security/__tests__/__snapshots__/SecurityBadge.test.js.snap +2 -2
- package/src/features/security-cloud-game/stories/SecurityCloudGame.stories.js +1 -1
- package/src/features/shared-link-modal/__tests__/__snapshots__/AccessLabel.test.js.snap +1 -1
- package/src/features/shared-link-modal/__tests__/__snapshots__/SharedLink.test.js.snap +5 -5
- package/src/features/shared-link-modal/__tests__/__snapshots__/SharedLinkAccess.test.js.snap +4 -4
- package/src/features/shared-link-modal/__tests__/__snapshots__/SharedLinkModal.test.js.snap +1 -1
- package/src/features/shared-link-modal/stories/SharedLink.stories.js +1 -1
- package/src/features/shared-link-modal/stories/SharedLinkModal.stories.js +1 -1
- package/src/features/shared-link-settings-modal/SharedLinkSettingsModal.stories.js +1 -1
- package/src/features/targeting/hocs/__tests__/__snapshots__/withTargetedClickThrough.test.js.snap +1 -1
- package/src/features/targeting/hocs/withTargetedClickThrough.js +10 -1
- package/src/features/targeting/types.js +1 -0
- package/src/features/unified-share-modal/UnifiedShareModal.scss +61 -79
- package/src/features/unified-share-modal/__tests__/__snapshots__/ContactsField.test.js.snap +23 -23
- package/src/features/unified-share-modal/__tests__/__snapshots__/EmailForm.test.js.snap +28 -28
- package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkAccessDescription.test.js.snap +8 -8
- package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkAccessLabel.test.js.snap +10 -10
- package/src/features/unified-share-modal/__tests__/__snapshots__/SharedLinkSection.test.js.snap +54 -54
- package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareForm.test.js.snap +250 -250
- package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareModal.test.js.snap +409 -409
- package/src/features/unified-share-modal/__tests__/__snapshots__/UnifiedShareModalTitle.test.js.snap +1 -1
- package/src/features/unified-share-modal/stories/UnifiedShareModal.stories.js +1 -1
- package/src/features/virtualized-table/DraggableVirtualizedTable.stories.js +1 -1
- package/src/features/virtualized-table/__tests__/__snapshots__/BaseVirtualizedTable.test.js.snap +5 -5
- package/src/features/virtualized-table/__tests__/__snapshots__/DraggableVirtualizedTable.test.js.snap +7 -7
- package/src/features/virtualized-table/__tests__/__snapshots__/VirtualizedTable.test.js.snap +19 -19
- package/src/features/virtualized-table-renderers/__tests__/__snapshots__/loadingRowRenderer.test.js.snap +1 -1
- package/src/features/virtualized-table-renderers/__tests__/draggableRowRenderer.test.js +5 -5
- package/src/icon/content/ContentSharing32.stories.tsx +1 -1
- package/src/icon/content/CustomSetup32.stories.tsx +1 -1
- package/src/icon/content/DeviceTrust32.stories.tsx +1 -1
- package/src/icon/content/FileAudio32.stories.tsx +1 -1
- package/src/icon/content/FileBookmark32.stories.tsx +1 -1
- package/src/icon/content/FileBoxNote32.stories.tsx +1 -1
- package/src/icon/content/FileCanvas32.stories.tsx +1 -1
- package/src/icon/content/FileCode32.stories.tsx +1 -1
- package/src/icon/content/FileDefault32.stories.tsx +1 -1
- package/src/icon/content/FileDicom32.stories.tsx +1 -1
- package/src/icon/content/FileDocs32.stories.tsx +1 -1
- package/src/icon/content/FileDwg32.stories.tsx +1 -1
- package/src/icon/content/FileExcel32.stories.tsx +1 -1
- package/src/icon/content/FileIllustrator32.stories.tsx +1 -1
- package/src/icon/content/FileImage32.stories.tsx +1 -1
- package/src/icon/content/FileIndesign32.stories.tsx +1 -1
- package/src/icon/content/FileKeynote32.stories.tsx +1 -1
- package/src/icon/content/FileNumbers32.stories.tsx +1 -1
- package/src/icon/content/FilePages32.stories.tsx +1 -1
- package/src/icon/content/FilePdf32.stories.tsx +1 -1
- package/src/icon/content/FilePhotoshop32.stories.tsx +1 -1
- package/src/icon/content/FilePowerpoint32.stories.tsx +1 -1
- package/src/icon/content/FilePresentation32.stories.tsx +1 -1
- package/src/icon/content/FileSheets32.stories.tsx +1 -1
- package/src/icon/content/FileSlides32.stories.tsx +1 -1
- package/src/icon/content/FileSpreadsheet32.stories.tsx +1 -1
- package/src/icon/content/FileText32.stories.tsx +1 -1
- package/src/icon/content/FileThreeD32.stories.tsx +1 -1
- package/src/icon/content/FileUpload32.stories.tsx +1 -1
- package/src/icon/content/FileVector32.stories.tsx +1 -1
- package/src/icon/content/FileVideo32.stories.tsx +1 -1
- package/src/icon/content/FileWord32.stories.tsx +1 -1
- package/src/icon/content/FileXbd32.stories.tsx +1 -1
- package/src/icon/content/FileXdw32.stories.tsx +1 -1
- package/src/icon/content/FileZip32.stories.tsx +1 -1
- package/src/icon/content/FolderExternal32.stories.tsx +1 -1
- package/src/icon/content/FolderPersonal32.stories.tsx +1 -1
- package/src/icon/content/FolderShared32.stories.tsx +1 -1
- package/src/icon/content/FolderUpload32.stories.tsx +1 -1
- package/src/icon/content/Mobile32.stories.tsx +1 -1
- package/src/icon/content/Notifications32.stories.tsx +1 -1
- package/src/icon/content/PlatformCam32.stories.tsx +1 -1
- package/src/icon/content/PlatformSandbox32.stories.tsx +1 -1
- package/src/icon/content/RetentionPolicyModifiable32.stories.tsx +1 -1
- package/src/icon/content/RetentionPolicyNonModifiable32.stories.tsx +1 -1
- package/src/icon/content/Security32.stories.tsx +1 -1
- package/src/icon/content/SignRequest32.stories.tsx +1 -1
- package/src/icon/content/UserSettings32.stories.tsx +1 -1
- package/src/icon/content/Workflow32.stories.tsx +1 -1
- package/src/icon/content/WorkflowTemplate32.stories.tsx +1 -1
- package/src/icon/fill/Activity16.stories.tsx +1 -1
- package/src/icon/fill/Activity20.stories.tsx +1 -1
- package/src/icon/fill/Alert16.stories.tsx +1 -1
- package/src/icon/fill/AlertBadge16.stories.tsx +1 -1
- package/src/icon/fill/AnnotationsDrawing16.stories.tsx +1 -1
- package/src/icon/fill/AnnotationsHighlight16.stories.tsx +1 -1
- package/src/icon/fill/AnnotationsRegion16.stories.tsx +1 -1
- package/src/icon/fill/Apps16.stories.tsx +1 -1
- package/src/icon/fill/Arrow16.stories.tsx +1 -1
- package/src/icon/fill/ArrowArcRight.stories.tsx +1 -1
- package/src/icon/fill/ArrowForward16.stories.tsx +1 -1
- package/src/icon/fill/ArrowSort16.stories.tsx +1 -1
- package/src/icon/fill/AvatarBadge16.stories.tsx +1 -1
- package/src/icon/fill/BarChart16.stories.tsx +1 -1
- package/src/icon/fill/BoxDev16.stories.tsx +1 -1
- package/src/icon/fill/BoxNotes16.stories.tsx +1 -1
- package/src/icon/fill/Calendar16.stories.tsx +1 -1
- package/src/icon/fill/Caret8.stories.tsx +1 -1
- package/src/icon/fill/CaretBadge16.stories.tsx +1 -1
- package/src/icon/fill/Checkmark16.stories.tsx +1 -1
- package/src/icon/fill/CheckmarkBadge16.stories.tsx +1 -1
- package/src/icon/fill/CircleBackButton24.stories.tsx +1 -1
- package/src/icon/fill/CircleCloseButton24.stories.tsx +1 -1
- package/src/icon/fill/Classify16.stories.tsx +1 -1
- package/src/icon/fill/ClearBadge16.stories.tsx +1 -1
- package/src/icon/fill/ClockBadge16.stories.tsx +1 -1
- package/src/icon/fill/CloudUpload16.stories.tsx +1 -1
- package/src/icon/fill/Code16.stories.tsx +1 -1
- package/src/icon/fill/Collection16.stories.tsx +1 -1
- package/src/icon/fill/CollectionBolt16.stories.tsx +1 -1
- package/src/icon/fill/CollectionPlus16.stories.tsx +1 -1
- package/src/icon/fill/CollectionStar16.stories.tsx +1 -1
- package/src/icon/fill/CreditCard16.stories.tsx +1 -1
- package/src/icon/fill/Download16.stories.tsx +1 -1
- package/src/icon/fill/EmailNotification16.stories.tsx +1 -1
- package/src/icon/fill/ExportArrow16.stories.tsx +1 -1
- package/src/icon/fill/Feed16.stories.tsx +1 -1
- package/src/icon/fill/FileAudio16.stories.tsx +1 -1
- package/src/icon/fill/FileBookmark16.stories.tsx +1 -1
- package/src/icon/fill/FileBoxNote16.stories.tsx +1 -1
- package/src/icon/fill/FileCanvas16.stories.tsx +1 -1
- package/src/icon/fill/FileCode16.stories.tsx +1 -1
- package/src/icon/fill/FileCopy16.stories.tsx +1 -1
- package/src/icon/fill/FileDefault16.stories.tsx +1 -1
- package/src/icon/fill/FileDicom16.stories.tsx +1 -1
- package/src/icon/fill/FileDocs16.stories.tsx +1 -1
- package/src/icon/fill/FileDwg16.stories.tsx +1 -1
- package/src/icon/fill/FileExcel16.stories.tsx +1 -1
- package/src/icon/fill/FileIllustrator16.stories.tsx +1 -1
- package/src/icon/fill/FileImage16.stories.tsx +1 -1
- package/src/icon/fill/FileIndesign16.stories.tsx +1 -1
- package/src/icon/fill/FileKeynote16.stories.tsx +1 -1
- package/src/icon/fill/FileNumbers16.stories.tsx +1 -1
- package/src/icon/fill/FilePages16.stories.tsx +1 -1
- package/src/icon/fill/FilePdf16.stories.tsx +1 -1
- package/src/icon/fill/FilePhotoshop16.stories.tsx +1 -1
- package/src/icon/fill/FilePowerpoint16.stories.tsx +1 -1
- package/src/icon/fill/FilePresentation16.stories.tsx +1 -1
- package/src/icon/fill/FileSheets16.stories.tsx +1 -1
- package/src/icon/fill/FileSlides16.stories.tsx +1 -1
- package/src/icon/fill/FileSpreadsheet16.stories.tsx +1 -1
- package/src/icon/fill/FileText16.stories.tsx +1 -1
- package/src/icon/fill/FileThreeD16.stories.tsx +1 -1
- package/src/icon/fill/FileVector16.stories.tsx +1 -1
- package/src/icon/fill/FileVideo16.stories.tsx +1 -1
- package/src/icon/fill/FileWord16.stories.tsx +1 -1
- package/src/icon/fill/FileZip16.stories.tsx +1 -1
- package/src/icon/fill/Filter16.stories.tsx +1 -1
- package/src/icon/fill/Folder16.stories.tsx +1 -1
- package/src/icon/fill/FolderExternal16.stories.tsx +1 -1
- package/src/icon/fill/FolderPersonal16.stories.tsx +1 -1
- package/src/icon/fill/FolderShared16.stories.tsx +1 -1
- package/src/icon/fill/Gear16.stories.tsx +1 -1
- package/src/icon/fill/GlobeBadge16.stories.tsx +1 -1
- package/src/icon/fill/Hamburger20.stories.tsx +1 -1
- package/src/icon/fill/Help20.stories.tsx +1 -1
- package/src/icon/fill/InProgress16.stories.tsx +1 -1
- package/src/icon/fill/Info16.stories.tsx +1 -1
- package/src/icon/fill/InfoBadge16.stories.tsx +1 -1
- package/src/icon/fill/LightningBolt16.stories.tsx +1 -1
- package/src/icon/fill/Lock16.stories.tsx +1 -1
- package/src/icon/fill/Megaphone20.stories.tsx +1 -1
- package/src/icon/fill/Minus16.stories.tsx +1 -1
- package/src/icon/fill/Move16.stories.tsx +1 -1
- package/src/icon/fill/MoveCopy16.stories.tsx +1 -1
- package/src/icon/fill/Overflow16.stories.tsx +1 -1
- package/src/icon/fill/PaperAirplane16.stories.tsx +1 -1
- package/src/icon/fill/Pencil16.stories.tsx +1 -1
- package/src/icon/fill/Picture16.stories.tsx +1 -1
- package/src/icon/fill/Plus16.stories.tsx +1 -1
- package/src/icon/fill/PlusBadge16.stories.tsx +1 -1
- package/src/icon/fill/PointerChevronDown24.stories.tsx +1 -1
- package/src/icon/fill/Printer16.stories.tsx +1 -1
- package/src/icon/fill/Relay16.stories.tsx +1 -1
- package/src/icon/fill/RelayClassic16.stories.tsx +1 -1
- package/src/icon/fill/Ribbon16.stories.tsx +1 -1
- package/src/icon/fill/Scribble16.stories.tsx +1 -1
- package/src/icon/fill/Search16.stories.tsx +1 -1
- package/src/icon/fill/Sign16.stories.tsx +1 -1
- package/src/icon/fill/SignFieldCheckBox16.stories.tsx +1 -1
- package/src/icon/fill/SignFieldSignature16.stories.tsx +1 -1
- package/src/icon/fill/SignFieldTextInput16.stories.tsx +1 -1
- package/src/icon/fill/SignMe32.stories.tsx +1 -1
- package/src/icon/fill/SignMeOthers32.stories.tsx +1 -1
- package/src/icon/fill/SignOthers32.stories.tsx +1 -1
- package/src/icon/fill/Skills16.stories.tsx +1 -1
- package/src/icon/fill/Tag16.stories.tsx +1 -1
- package/src/icon/fill/Task16.stories.tsx +1 -1
- package/src/icon/fill/Trash16.stories.tsx +1 -1
- package/src/icon/fill/TwoPeople16.stories.tsx +1 -1
- package/src/icon/fill/Upload16.stories.tsx +1 -1
- package/src/icon/fill/UserSettings16.stories.tsx +1 -1
- package/src/icon/fill/Workflow16.stories.tsx +1 -1
- package/src/icon/fill/X16.stories.tsx +1 -1
- package/src/icon/line/AlarmClock16.stories.tsx +1 -1
- package/src/icon/line/AlertBubble16.stories.tsx +1 -1
- package/src/icon/line/Apps16.stories.tsx +1 -1
- package/src/icon/line/ArrowBoxRight16.stories.tsx +1 -1
- package/src/icon/line/Avatar16.stories.tsx +1 -1
- package/src/icon/line/AvatarBadge16.stories.tsx +1 -1
- package/src/icon/line/AvatarPlusBadge16.stories.tsx +1 -1
- package/src/icon/line/AvatarXBadge16.stories.tsx +1 -1
- package/src/icon/line/BoxAi.stories.tsx +1 -1
- package/src/icon/line/BoxDev16.stories.tsx +1 -1
- package/src/icon/line/Bug16.stories.tsx +1 -1
- package/src/icon/line/Checkmark16.stories.tsx +1 -1
- package/src/icon/line/CheckmarkBadge16.stories.tsx +1 -1
- package/src/icon/line/CircleCheck16.stories.tsx +1 -1
- package/src/icon/line/CircleX16.stories.tsx +1 -1
- package/src/icon/line/ClassificationBadge16.stories.tsx +1 -1
- package/src/icon/line/ClockArrow16.stories.tsx +1 -1
- package/src/icon/line/ClockBadge16.stories.tsx +1 -1
- package/src/icon/line/CloudWithArrow16.stories.tsx +1 -1
- package/src/icon/line/CoAuthoringBadge16.stories.tsx +1 -1
- package/src/icon/line/CoEdit16.stories.tsx +1 -1
- package/src/icon/line/Collaborations16.stories.tsx +1 -1
- package/src/icon/line/Collection16.stories.tsx +1 -1
- package/src/icon/line/CollectionBolt16.stories.tsx +1 -1
- package/src/icon/line/CollectionPlus16.stories.tsx +1 -1
- package/src/icon/line/CollectionStar16.stories.tsx +1 -1
- package/src/icon/line/CommentBubble16.stories.tsx +1 -1
- package/src/icon/line/CrosshairRegion32.stories.tsx +1 -1
- package/src/icon/line/DocInfo16.stories.tsx +1 -1
- package/src/icon/line/Download16.stories.tsx +1 -1
- package/src/icon/line/Email16.stories.tsx +1 -1
- package/src/icon/line/EmailAddress16.stories.tsx +1 -1
- package/src/icon/line/EnvelopeBadge16.stories.tsx +1 -1
- package/src/icon/line/ExclamationMarkBadge16.stories.tsx +1 -1
- package/src/icon/line/ExportArrow16.stories.tsx +1 -1
- package/src/icon/line/FileDescription16.stories.tsx +1 -1
- package/src/icon/line/Folder16.stories.tsx +1 -1
- package/src/icon/line/Gear16.stories.tsx +1 -1
- package/src/icon/line/GenericCopy16.stories.tsx +1 -1
- package/src/icon/line/GlobeBadge16.stories.tsx +1 -1
- package/src/icon/line/Help16.stories.tsx +1 -1
- package/src/icon/line/Hidden16.stories.tsx +1 -1
- package/src/icon/line/History16.stories.tsx +1 -1
- package/src/icon/line/InfoBadge16.stories.tsx +1 -1
- package/src/icon/line/Key16.stories.tsx +1 -1
- package/src/icon/line/Link16.stories.tsx +1 -1
- package/src/icon/line/LinkBadge16.stories.tsx +1 -1
- package/src/icon/line/List16.stories.tsx +1 -1
- package/src/icon/line/Lock16.stories.tsx +1 -1
- package/src/icon/line/LockBadge16.stories.tsx +1 -1
- package/src/icon/line/MetadataBadge16.stories.tsx +1 -1
- package/src/icon/line/MoveCopy16.stories.tsx +1 -1
- package/src/icon/line/Pencil16.stories.tsx +1 -1
- package/src/icon/line/PencilBadge16.stories.tsx +1 -1
- package/src/icon/line/Plane16.stories.tsx +1 -1
- package/src/icon/line/Plus16.stories.tsx +1 -1
- package/src/icon/line/Power16.stories.tsx +1 -1
- package/src/icon/line/Question16.stories.tsx +1 -1
- package/src/icon/line/Redo16.stories.tsx +1 -1
- package/src/icon/line/Relay16.stories.tsx +1 -1
- package/src/icon/line/Report16.stories.tsx +1 -1
- package/src/icon/line/Retry16.stories.tsx +1 -1
- package/src/icon/line/Rocket16.stories.tsx +1 -1
- package/src/icon/line/RotatingArrows16.stories.tsx +1 -1
- package/src/icon/line/Sharrow16.stories.tsx +1 -1
- package/src/icon/line/Shield16.stories.tsx +1 -1
- package/src/icon/line/Sign16.stories.tsx +1 -1
- package/src/icon/line/SignTinycon16.stories.tsx +1 -1
- package/src/icon/line/Star16.stories.tsx +1 -1
- package/src/icon/line/SyncArrows16.stories.tsx +1 -1
- package/src/icon/line/Template16.stories.tsx +1 -1
- package/src/icon/line/TextLeft16.stories.tsx +1 -1
- package/src/icon/line/Tool16.stories.tsx +1 -1
- package/src/icon/line/Trash16.stories.tsx +1 -1
- package/src/icon/line/TriangleAlert16.stories.tsx +1 -1
- package/src/icon/line/Undo16.stories.tsx +1 -1
- package/src/icon/line/Unlock16.stories.tsx +1 -1
- package/src/icon/line/Upload16.stories.tsx +1 -1
- package/src/icon/line/Video16.stories.tsx +1 -1
- package/src/icon/line/View16.stories.tsx +1 -1
- package/src/icon/line/XBadge16.stories.tsx +1 -1
- package/src/icon/logo/AccountBilling32.stories.tsx +1 -1
- package/src/icon/logo/AdminFaq32.stories.tsx +1 -1
- package/src/icon/logo/AdminReferences32.stories.tsx +1 -1
- package/src/icon/logo/AdobeAcrobat32.stories.tsx +1 -1
- package/src/icon/logo/Apps32.stories.tsx +1 -1
- package/src/icon/logo/BoxAiLogo.stories.tsx +1 -1
- package/src/icon/logo/BoxLogo.stories.tsx +1 -1
- package/src/icon/logo/BoxSign28.stories.tsx +1 -1
- package/src/icon/logo/BoxSign32.stories.tsx +1 -1
- package/src/icon/logo/ContentSharing32.stories.tsx +1 -1
- package/src/icon/logo/CustomSetup32.stories.tsx +1 -1
- package/src/icon/logo/DeviceTrust32.stories.tsx +1 -1
- package/src/icon/logo/HelpArticle32.stories.tsx +1 -1
- package/src/icon/logo/HowToGuides32.stories.tsx +1 -1
- package/src/icon/logo/IconBoxApp512.stories.tsx +1 -1
- package/src/icon/logo/KeynoteForMac32.stories.tsx +1 -1
- package/src/icon/logo/ManageContent32.stories.tsx +1 -1
- package/src/icon/logo/ManageUsers32.stories.tsx +1 -1
- package/src/icon/logo/Mobile32.stories.tsx +1 -1
- package/src/icon/logo/Notifications32.stories.tsx +1 -1
- package/src/icon/logo/NumbersForMac32.stories.tsx +1 -1
- package/src/icon/logo/PagesForMac32.stories.tsx +1 -1
- package/src/icon/logo/Reporting32.stories.tsx +1 -1
- package/src/icon/logo/Security32.stories.tsx +1 -1
- package/src/icon/logo/TroubleShootingTools32.stories.tsx +1 -1
- package/src/icon/logo/UserSettings32.stories.tsx +1 -1
- package/src/icons/collections/IconCollections.stories.tsx +1 -1
- package/src/icons/collections/IconCollectionsAdd.stories.tsx +1 -1
- package/src/icons/collections/IconCollectionsBolt.stories.tsx +1 -1
- package/src/icons/collections/IconCollectionsFilled.stories.tsx +1 -1
- package/src/icons/collections/IconCollectionsStar.stories.tsx +1 -1
- package/src/icons/collections/IconCollectionsStarFilled.stories.tsx +1 -1
- package/src/icons/collections/collections.stories.tsx +1 -1
- package/src/icons/icons.stories.tsx +1 -1
- package/src/icons/illustrations/__tests__/__snapshots__/PeopleOpeningEnvelopeIllustration.test.tsx.snap +6 -6
- package/src/icons/states/__tests__/__snapshots__/EnvelopeTrophyState.test.tsx.snap +6 -6
- package/src/icons/two-toned/IconAnnotation.tsx +1 -1
- package/src/illustration/AllNewBox140.stories.tsx +1 -1
- package/src/illustration/AppSupport140.stories.tsx +1 -1
- package/src/illustration/Bell140.stories.tsx +1 -1
- package/src/illustration/BoxDrive140.stories.tsx +1 -1
- package/src/illustration/BoxMobile140.stories.tsx +1 -1
- package/src/illustration/BudgetApproval56.stories.tsx +1 -1
- package/src/illustration/Certificate56.stories.tsx +1 -1
- package/src/illustration/CertificateSigning56.stories.tsx +1 -1
- package/src/illustration/ChangeOrder56.stories.tsx +1 -1
- package/src/illustration/Clock140.stories.tsx +1 -1
- package/src/illustration/CollectionStar140.stories.tsx +1 -1
- package/src/illustration/ContractorId56.stories.tsx +1 -1
- package/src/illustration/CreativeApproval56.stories.tsx +1 -1
- package/src/illustration/CreativeAssets56.stories.tsx +1 -1
- package/src/illustration/CustomApp56.stories.tsx +1 -1
- package/src/illustration/CustomSkill56.stories.tsx +1 -1
- package/src/illustration/CustomTemplate56.stories.tsx +1 -1
- package/src/illustration/CustomerSupport140.stories.tsx +1 -1
- package/src/illustration/DiscoDanceParty140.stories.tsx +1 -1
- package/src/illustration/Discount140.stories.tsx +1 -1
- package/src/illustration/EmailVerification140.stories.tsx +1 -1
- package/src/illustration/EmployeeId56.stories.tsx +1 -1
- package/src/illustration/EmployeeReview56.stories.tsx +1 -1
- package/src/illustration/EmptyStateDetails.stories.tsx +1 -1
- package/src/illustration/EmptyStateFolder140.stories.tsx +1 -1
- package/src/illustration/EmptyStatePreviewActivity140.stories.tsx +1 -1
- package/src/illustration/Envelope140.stories.tsx +1 -1
- package/src/illustration/ErrorState404140.stories.tsx +1 -1
- package/src/illustration/Files.stories.tsx +1 -1
- package/src/illustration/Files140.stories.tsx +1 -1
- package/src/illustration/FinanceContract56.stories.tsx +1 -1
- package/src/illustration/FolderArrow140.stories.tsx +1 -1
- package/src/illustration/FolderFloat140.stories.tsx +1 -1
- package/src/illustration/FolderPlane140.stories.tsx +1 -1
- package/src/illustration/FolderStar140.stories.tsx +1 -1
- package/src/illustration/Gavel56.stories.tsx +1 -1
- package/src/illustration/Handshake56.stories.tsx +1 -1
- package/src/illustration/HandshakeAgreement56.stories.tsx +1 -1
- package/src/illustration/HatWand140.stories.tsx +1 -1
- package/src/illustration/Keynote56.stories.tsx +1 -1
- package/src/illustration/LegalContract56.stories.tsx +1 -1
- package/src/illustration/LegalFolder56.stories.tsx +1 -1
- package/src/illustration/LimitedApp56.stories.tsx +1 -1
- package/src/illustration/MarketingPlan56.stories.tsx +1 -1
- package/src/illustration/Megaphone140.stories.tsx +1 -1
- package/src/illustration/MetricsReview56.stories.tsx +1 -1
- package/src/illustration/Microphone140.stories.tsx +1 -1
- package/src/illustration/Missing140.stories.tsx +1 -1
- package/src/illustration/MoneyStack56.stories.tsx +1 -1
- package/src/illustration/MonthlyReport56.stories.tsx +1 -1
- package/src/illustration/NotesStar140.stories.tsx +1 -1
- package/src/illustration/PlanSelection140.stories.tsx +1 -1
- package/src/illustration/Playbook56.stories.tsx +1 -1
- package/src/illustration/ProjectFolder56.stories.tsx +1 -1
- package/src/illustration/RecentFiles140.stories.tsx +1 -1
- package/src/illustration/RelayPlanet140.stories.tsx +1 -1
- package/src/illustration/SalesContract56.stories.tsx +1 -1
- package/src/illustration/Sandbox140.stories.tsx +1 -1
- package/src/illustration/TaskList56.stories.tsx +1 -1
- package/src/illustration/Transfers140.stories.tsx +1 -1
- package/src/illustration/TrashEmpty140.stories.tsx +1 -1
- package/src/illustration/Unplugged140.stories.tsx +1 -1
- package/src/illustration/UploadCloud140.stories.tsx +1 -1
- package/src/illustration/UserOrbit56.stories.tsx +1 -1
- package/src/styles/colors.stories.tsx +1 -1
- package/src/styles/common/_buttons.scss +1 -1
- package/src/styles/constants/_buttons.scss +1 -0
- package/src/styles/typography.stories.tsx +1 -1
- package/src/utils/Browser.js +10 -0
- package/src/utils/__tests__/Browser.test.js +28 -0
- package/src/utils/__tests__/__snapshots__/createTheme.test.js.snap +35 -35
- package/src/utils/__tests__/fields.test.js +2 -0
- package/src/utils/__tests__/webcrypto.test.js +10 -0
- package/src/utils/comparator.js +1 -1
- package/src/utils/createTheme.stories.js +1 -1
- package/src/utils/fields.js +3 -0
- package/src/utils/flatten.js +6 -1
- package/src/utils/size.js +5 -5
- package/src/utils/sorter.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/content-explorer/ContentExplorer.js"],"names":["React","Component","classNames","cloneDeep","debounce","flow","getProp","noop","uniqueid","CreateFolderDialog","UploadDialog","Header","Pagination","SubHeader","makeResponsive","openUrlInsideIframe","Internationalize","API","MetadataQueryAPIHelper","Footer","PreviewDialog","ShareDialog","RenameDialog","DeleteConfirmationDialog","Content","isThumbnailReady","isFocusableElement","isInputElement","focus","FILE_SHARED_LINK_FIELDS_TO_FETCH","CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH","LocalStore","withFeatureConsumer","withFeatureProvider","DEFAULT_HOSTNAME_UPLOAD","DEFAULT_HOSTNAME_API","DEFAULT_HOSTNAME_APP","DEFAULT_HOSTNAME_STATIC","DEFAULT_SEARCH_DEBOUNCE","SORT_ASC","FIELD_NAME","FIELD_PERMISSIONS_CAN_SHARE","FIELD_SHARED_LINK","DEFAULT_ROOT","VIEW_SEARCH","VIEW_FOLDER","VIEW_ERROR","VIEW_RECENTS","VIEW_METADATA","VIEW_MODE_LIST","TYPE_FILE","TYPE_WEBLINK","TYPE_FOLDER","CLIENT_NAME_CONTENT_EXPLORER","DEFAULT_PAGE_NUMBER","DEFAULT_PAGE_SIZE","DEFAULT_VIEW_FILES","DEFAULT_VIEW_RECENTS","DEFAULT_VIEW_METADATA","ERROR_CODE_ITEM_NAME_INVALID","ERROR_CODE_ITEM_NAME_TOO_LONG","TYPED_ID_FOLDER_PREFIX","VIEW_MODE_GRID","GRID_VIEW_MAX_COLUMNS","GRID_VIEW_MIN_COLUMNS","localStoreViewMode","ContentExplorer","constructor","props","metadataQueryCollection","nextMarker","currentCollection","currentPageNumber","markers","state","cloneMarkers","setState","percentLoaded","error","view","console","id","searchQuery","fetchFolder","showRecents","search","showMetadataQueryResults","Error","triggerNavigationEvent","rootFolderId","currentId","currentOffset","currentPageSize","limit","sortBy","sortDirection","folderId","hasFolderChanged","hasSearchQuery","trim","length","offset","firstLoad","rootElement","currentUnloadedCollection","api","getFolderAPI","getFolder","collection","fetchFolderSuccessCallback","errorCallback","fields","forceFetch","item","type","isTouch","preview","selected","closeModals","updateCollection","query","getSearchAPI","searchSuccessCallback","trimmedQuery","debouncedSearch","cancel","undefined","permissions","canUpload","can_upload","isUploadModalOpen","access","canSetShareAccess","can_set_share_access","isLoading","getAPI","share","updatedItem","select","refreshCollection","entries","representation","updatedRepresentation","getFileAPI","generateRepresentation","updateItemInCollection","representations","slice","newItem","items","newCollection","map","callback","onSelect","selectedItem","focusedRow","findIndex","i","url","window","open","previewCallback","canPreview","can_preview","isPreviewModalOpen","downloadCallback","canDownload","onDownload","can_download","openUrl","getDownloadUrl","deleteCallback","isDeleteModalOpen","canDelete","onDelete","parent","parentId","can_delete","deleteItem","renameCallback","nameWithoutExt","extension","isRenameModalOpen","canRename","onRename","can_rename","errorCode","name","rename","code","createFolderCallback","isCreateFolderModalOpen","canCreateNewFolder","onCreate","create","shareCallback","getFolderFields","handleSharedLinkSuccess","getFile","getWebLinkAPI","getWeblink","sharedItem","isShareModalOpen","canShare","can_share","fetchSharedLinkInfo","table","focusedElementClassList","document","activeElement","classList","contains","event","target","key","toLowerCase","preventDefault","getViewMode","isFocusOnItem","globalModifier","upload","createFolder","newOffset","store","getItem","isSmall","isMedium","isLarge","maxWidthColumns","viewMode","setItem","forceUpdate","sliderValue","gridColumnCount","field","oldValue","newValue","metadataQueryAPIHelper","updateMetadata","updateMetadataSuccessCallback","updatedItems","collectionItem","clonedItem","forEach","itemField","split","pop","value","apiHost","initialPage","initialPageSize","language","requestInterceptor","responseInterceptor","sharedLink","sharedLinkPassword","token","uploadHost","clientName","rootName","clearCache","destroy","componentWillUnmount","componentDidMount","currentFolderId","defaultView","getElementById","appElement","firstElementChild","componentDidUpdate","prevState","prevFolderId","metadataQuery","metadataQueryClone","marker","fetchMetadataQueryResults","showMetadataQueryResultsSuccessCallback","finishNavigation","autoFocus","onNavigate","boxItem","recentsSuccessCallback","getRecentsAPI","recents","fileAPI","selectedId","newSelectedItem","itemThumbnails","Promise","all","getThumbnailUrl","index","isSelected","currentItem","thumbnailUrl","attemptThumbnailGeneration","render","appHost","className","contentPreviewProps","contentUploaderProps","logoUrl","measureRef","messages","fieldsToShow","onPreview","onUpload","staticHost","staticPath","previewLibraryVersion","totalCount","styleClassName","allowUpload","allowCreate","isDefaultViewMetadata","isErrorView","maxGridColumnCount","getMaxNumberOfGridViewColumnsForWidth","hasNextMarker","hasPreviousMarker","onKeyDown","onGridViewSliderChange","sort","changeViewMode","Math","min","onItemClick","delete","download","tableRef","paginate","markerBasedPaginate","uploadSuccessHandler","changeShareAccess","getCache","contentSidebarProps","ContentExplorerComponent"],"mappings":"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","sourcesContent":["/**\n * @flow\n * @file Content Explorer Component\n * @author Box\n */\n\nimport 'regenerator-runtime/runtime';\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport cloneDeep from 'lodash/cloneDeep';\nimport debounce from 'lodash/debounce';\nimport flow from 'lodash/flow';\nimport getProp from 'lodash/get';\nimport noop from 'lodash/noop';\nimport uniqueid from 'lodash/uniqueId';\nimport CreateFolderDialog from '../common/create-folder-dialog';\nimport UploadDialog from '../common/upload-dialog';\nimport Header from '../common/header';\nimport Pagination from '../../features/pagination';\nimport SubHeader from '../common/sub-header/SubHeader';\nimport makeResponsive from '../common/makeResponsive';\nimport openUrlInsideIframe from '../../utils/iframe';\nimport Internationalize from '../common/Internationalize';\nimport API from '../../api';\nimport MetadataQueryAPIHelper from '../../features/metadata-based-view/MetadataQueryAPIHelper';\nimport Footer from './Footer';\nimport PreviewDialog from './PreviewDialog';\nimport ShareDialog from './ShareDialog';\nimport RenameDialog from './RenameDialog';\nimport DeleteConfirmationDialog from './DeleteConfirmationDialog';\nimport Content from './Content';\nimport isThumbnailReady from './utils';\nimport { isFocusableElement, isInputElement, focus } from '../../utils/dom';\nimport { FILE_SHARED_LINK_FIELDS_TO_FETCH } from '../../utils/fields';\nimport CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH from './constants';\nimport LocalStore from '../../utils/LocalStore';\nimport { withFeatureConsumer, withFeatureProvider, type FeatureConfig } from '../common/feature-checking';\nimport {\n DEFAULT_HOSTNAME_UPLOAD,\n DEFAULT_HOSTNAME_API,\n DEFAULT_HOSTNAME_APP,\n DEFAULT_HOSTNAME_STATIC,\n DEFAULT_SEARCH_DEBOUNCE,\n SORT_ASC,\n FIELD_NAME,\n FIELD_PERMISSIONS_CAN_SHARE,\n FIELD_SHARED_LINK,\n DEFAULT_ROOT,\n VIEW_SEARCH,\n VIEW_FOLDER,\n VIEW_ERROR,\n VIEW_RECENTS,\n VIEW_METADATA,\n VIEW_MODE_LIST,\n TYPE_FILE,\n TYPE_WEBLINK,\n TYPE_FOLDER,\n CLIENT_NAME_CONTENT_EXPLORER,\n DEFAULT_PAGE_NUMBER,\n DEFAULT_PAGE_SIZE,\n DEFAULT_VIEW_FILES,\n DEFAULT_VIEW_RECENTS,\n DEFAULT_VIEW_METADATA,\n ERROR_CODE_ITEM_NAME_INVALID,\n ERROR_CODE_ITEM_NAME_TOO_LONG,\n TYPED_ID_FOLDER_PREFIX,\n VIEW_MODE_GRID,\n} from '../../constants';\nimport type { ViewMode } from '../common/flowTypes';\nimport type { MetadataQuery, FieldsToShow } from '../../common/types/metadataQueries';\nimport type { MetadataFieldValue } from '../../common/types/metadata';\nimport type {\n View,\n DefaultView,\n StringMap,\n SortBy,\n SortDirection,\n Token,\n Access,\n Collection,\n BoxItemPermission,\n BoxItem,\n} from '../../common/types/core';\n\nimport '../common/fonts.scss';\nimport '../common/base.scss';\nimport '../common/modal.scss';\nimport './ContentExplorer.scss';\n\nconst GRID_VIEW_MAX_COLUMNS = 7;\nconst GRID_VIEW_MIN_COLUMNS = 1;\n\ntype Props = {\n apiHost: string,\n appHost: string,\n autoFocus: boolean,\n canCreateNewFolder: boolean,\n canDelete: boolean,\n canDownload: boolean,\n canPreview: boolean,\n canRename: boolean,\n canSetShareAccess: boolean,\n canShare: boolean,\n canUpload: boolean,\n className: string,\n contentPreviewProps: ContentPreviewProps,\n contentUploaderProps: ContentUploaderProps,\n currentFolderId?: string,\n defaultView: DefaultView,\n features: FeatureConfig,\n fieldsToShow?: FieldsToShow,\n initialPage: number,\n initialPageSize: number,\n isLarge: boolean,\n isMedium: boolean,\n isSmall: boolean,\n isTouch: boolean,\n isVeryLarge: boolean,\n language?: string,\n logoUrl?: string,\n measureRef?: Function,\n messages?: StringMap,\n metadataQuery?: MetadataQuery,\n onCreate: Function,\n onDelete: Function,\n onDownload: Function,\n onNavigate: Function,\n onPreview: Function,\n onRename: Function,\n onSelect: Function,\n onUpload: Function,\n previewLibraryVersion: string,\n requestInterceptor?: Function,\n responseInterceptor?: Function,\n rootFolderId: string,\n sharedLink?: string,\n sharedLinkPassword?: string,\n sortBy: SortBy,\n sortDirection: SortDirection,\n staticHost: string,\n staticPath: string,\n token: Token,\n uploadHost: string,\n};\n\ntype State = {\n currentCollection: Collection,\n currentOffset: number,\n currentPageNumber: number,\n currentPageSize: number,\n errorCode: string,\n focusedRow: number,\n gridColumnCount: number,\n isCreateFolderModalOpen: boolean,\n isDeleteModalOpen: boolean,\n isLoading: boolean,\n isPreviewModalOpen: boolean,\n isRenameModalOpen: boolean,\n isShareModalOpen: boolean,\n isUploadModalOpen: boolean,\n markers: Array<?string>,\n rootName: string,\n searchQuery: string,\n selected?: BoxItem,\n sortBy: SortBy,\n sortDirection: SortDirection,\n view: View,\n};\n\nconst localStoreViewMode = 'bce.defaultViewMode';\n\nclass ContentExplorer extends Component<Props, State> {\n id: string;\n\n api: API;\n\n state: State;\n\n props: Props;\n\n table: any;\n\n rootElement: HTMLElement;\n\n appElement: HTMLElement;\n\n globalModifier: boolean;\n\n firstLoad: boolean = true; // Keeps track of very 1st load\n\n store: LocalStore = new LocalStore();\n\n metadataQueryAPIHelper: MetadataQueryAPIHelper;\n\n static defaultProps = {\n rootFolderId: DEFAULT_ROOT,\n sortBy: FIELD_NAME,\n sortDirection: SORT_ASC,\n canDownload: true,\n canDelete: true,\n canUpload: true,\n canRename: true,\n canShare: true,\n canPreview: true,\n canSetShareAccess: true,\n canCreateNewFolder: true,\n autoFocus: false,\n apiHost: DEFAULT_HOSTNAME_API,\n appHost: DEFAULT_HOSTNAME_APP,\n staticHost: DEFAULT_HOSTNAME_STATIC,\n uploadHost: DEFAULT_HOSTNAME_UPLOAD,\n className: '',\n onDelete: noop,\n onDownload: noop,\n onPreview: noop,\n onRename: noop,\n onCreate: noop,\n onSelect: noop,\n onUpload: noop,\n onNavigate: noop,\n defaultView: DEFAULT_VIEW_FILES,\n initialPage: DEFAULT_PAGE_NUMBER,\n initialPageSize: DEFAULT_PAGE_SIZE,\n contentPreviewProps: {\n contentSidebarProps: {},\n },\n contentUploaderProps: {},\n };\n\n /**\n * [constructor]\n *\n * @private\n * @return {ContentExplorer}\n */\n constructor(props: Props) {\n super(props);\n\n const {\n apiHost,\n initialPage,\n initialPageSize,\n language,\n requestInterceptor,\n responseInterceptor,\n rootFolderId,\n sharedLink,\n sharedLinkPassword,\n sortBy,\n sortDirection,\n token,\n uploadHost,\n }: Props = props;\n\n this.api = new API({\n apiHost,\n clientName: CLIENT_NAME_CONTENT_EXPLORER,\n id: `${TYPED_ID_FOLDER_PREFIX}${rootFolderId}`,\n language,\n requestInterceptor,\n responseInterceptor,\n sharedLink,\n sharedLinkPassword,\n token,\n uploadHost,\n });\n\n this.id = uniqueid('bce_');\n\n this.state = {\n currentCollection: {},\n currentOffset: initialPageSize * (initialPage - 1),\n currentPageSize: initialPageSize,\n currentPageNumber: 0,\n errorCode: '',\n focusedRow: 0,\n gridColumnCount: 4,\n isCreateFolderModalOpen: false,\n isDeleteModalOpen: false,\n isLoading: false,\n isPreviewModalOpen: false,\n isRenameModalOpen: false,\n isShareModalOpen: false,\n isUploadModalOpen: false,\n markers: [],\n rootName: '',\n searchQuery: '',\n sortBy,\n sortDirection,\n view: VIEW_FOLDER,\n };\n }\n\n /**\n * Destroys api instances\n *\n * @private\n * @return {void}\n */\n clearCache(): void {\n this.api.destroy(true);\n }\n\n /**\n * Cleanup\n *\n * @private\n * @inheritdoc\n * @return {void}\n */\n componentWillUnmount() {\n this.clearCache();\n }\n\n /**\n * Fetches the root folder on load\n *\n * @private\n * @inheritdoc\n * @return {void}\n */\n componentDidMount() {\n const { currentFolderId, defaultView }: Props = this.props;\n this.rootElement = ((document.getElementById(this.id): any): HTMLElement);\n this.appElement = ((this.rootElement.firstElementChild: any): HTMLElement);\n\n switch (defaultView) {\n case DEFAULT_VIEW_RECENTS:\n this.showRecents();\n break;\n case DEFAULT_VIEW_METADATA:\n this.showMetadataQueryResults();\n break;\n default:\n this.fetchFolder(currentFolderId);\n }\n }\n\n /**\n * Fetches the current folder if different\n * from what was already fetched before.\n *\n * @private\n * @inheritdoc\n * @return {void}\n */\n componentDidUpdate({ currentFolderId: prevFolderId }: Props, prevState: State): void {\n const { currentFolderId }: Props = this.props;\n const {\n currentCollection: { id },\n }: State = prevState;\n\n if (prevFolderId === currentFolderId) {\n return;\n }\n\n if (typeof currentFolderId === 'string' && id !== currentFolderId) {\n this.fetchFolder(currentFolderId);\n }\n }\n\n /**\n * Metadata queries success callback\n *\n * @private\n * @param {Object} metadataQueryCollection - Metadata query response collection\n * @return {void}\n */\n showMetadataQueryResultsSuccessCallback = (metadataQueryCollection: Collection): void => {\n const { nextMarker } = metadataQueryCollection;\n const { currentCollection, currentPageNumber, markers }: State = this.state;\n const cloneMarkers = [...markers];\n if (nextMarker) {\n cloneMarkers[currentPageNumber + 1] = nextMarker;\n }\n this.setState({\n currentCollection: {\n ...currentCollection,\n ...metadataQueryCollection,\n percentLoaded: 100,\n },\n markers: cloneMarkers,\n });\n };\n\n /**\n * Queries metadata_queries/execute API and fetches the result\n *\n * @private\n * @return {void}\n */\n showMetadataQueryResults() {\n const { metadataQuery = {} }: Props = this.props;\n const { currentPageNumber, markers }: State = this.state;\n const metadataQueryClone = cloneDeep(metadataQuery);\n\n if (currentPageNumber === 0) {\n // Preserve the marker as part of the original query\n markers[currentPageNumber] = metadataQueryClone.marker;\n }\n\n if (typeof markers[currentPageNumber] === 'string') {\n // Set marker to the query to get next set of results\n metadataQueryClone.marker = markers[currentPageNumber];\n }\n\n if (typeof metadataQueryClone.limit !== 'number') {\n // Set limit to the query for pagination support\n metadataQueryClone.limit = DEFAULT_PAGE_SIZE;\n }\n // Reset search state, the view and show busy indicator\n this.setState({\n searchQuery: '',\n currentCollection: this.currentUnloadedCollection(),\n view: VIEW_METADATA,\n });\n this.metadataQueryAPIHelper = new MetadataQueryAPIHelper(this.api);\n this.metadataQueryAPIHelper.fetchMetadataQueryResults(\n metadataQueryClone,\n this.showMetadataQueryResultsSuccessCallback,\n this.errorCallback,\n );\n }\n\n /**\n * Resets the collection so that the loading bar starts showing\n *\n * @private\n * @return {Collection}\n */\n currentUnloadedCollection(): Collection {\n const { currentCollection }: State = this.state;\n return Object.assign(currentCollection, {\n percentLoaded: 0,\n });\n }\n\n /**\n * Network error callback\n *\n * @private\n * @param {Error} error error object\n * @return {void}\n */\n errorCallback = (error: any) => {\n this.setState({\n view: VIEW_ERROR,\n });\n /* eslint-disable no-console */\n console.error(error);\n /* eslint-enable no-console */\n };\n\n /**\n * Focuses the grid and fires navigate event\n *\n * @private\n * @return {void}\n */\n finishNavigation() {\n const { autoFocus }: Props = this.props;\n const {\n currentCollection: { percentLoaded },\n }: State = this.state;\n\n // If loading for the very first time, only allow focus if autoFocus is true\n if (this.firstLoad && !autoFocus) {\n this.firstLoad = false;\n return;\n }\n\n // Don't focus the grid until its loaded and user is not already on an interactable element\n if (percentLoaded === 100 && !isFocusableElement(document.activeElement)) {\n focus(this.rootElement, '.bce-item-row');\n this.setState({ focusedRow: 0 });\n }\n\n this.firstLoad = false;\n }\n\n /**\n * Refreshing the item collection depending upon the view.\n * Navigation event is prevented.\n *\n * @private\n * @return {void}\n */\n refreshCollection = () => {\n const {\n currentCollection: { id },\n view,\n searchQuery,\n }: State = this.state;\n if (view === VIEW_FOLDER && id) {\n this.fetchFolder(id, false);\n } else if (view === VIEW_RECENTS) {\n this.showRecents(false);\n } else if (view === VIEW_SEARCH && searchQuery) {\n this.search(searchQuery);\n } else if (view === VIEW_METADATA) {\n this.showMetadataQueryResults();\n } else {\n throw new Error('Cannot refresh incompatible view!');\n }\n };\n\n /**\n * Folder fetch success callback\n *\n * @private\n * @param {Object} collection - item collection object\n * @param {Boolean|void} triggerNavigationEvent - To trigger navigate event and focus grid\n * @return {void}\n */\n fetchFolderSuccessCallback(collection: Collection, triggerNavigationEvent: boolean): void {\n const { onNavigate, rootFolderId }: Props = this.props;\n const { boxItem, id, name }: Collection = collection;\n const { selected }: State = this.state;\n const rootName = id === rootFolderId ? name : '';\n\n // Close any open modals\n this.closeModals();\n\n this.updateCollection(collection, selected, () => {\n if (triggerNavigationEvent) {\n // Fire folder navigation event\n this.setState({ rootName }, this.finishNavigation);\n if (boxItem) {\n onNavigate(cloneDeep(boxItem));\n }\n } else {\n this.setState({ rootName });\n }\n });\n }\n\n /**\n * Fetches a folder, defaults to fetching root folder\n *\n * @private\n * @param {string|void} [id] folder id\n * @param {Boolean|void} [triggerNavigationEvent] To trigger navigate event\n * @return {void}\n */\n fetchFolder = (id?: string, triggerNavigationEvent?: boolean = true) => {\n const { rootFolderId }: Props = this.props;\n const {\n currentCollection: { id: currentId },\n currentOffset,\n currentPageSize: limit,\n searchQuery = '',\n sortBy,\n sortDirection,\n }: State = this.state;\n const folderId: string = typeof id === 'string' ? id : rootFolderId;\n const hasFolderChanged = currentId && currentId !== folderId;\n const hasSearchQuery = !!searchQuery.trim().length;\n const offset = hasFolderChanged || hasSearchQuery ? 0 : currentOffset; // Reset offset on folder or mode change\n\n // If we are navigating around, aka not first load\n // then reset the focus to the root so that after\n // the collection loads the activeElement is not the\n // button that was clicked to fetch the folder\n if (!this.firstLoad) {\n this.rootElement.focus();\n }\n\n // Reset search state, the view and show busy indicator\n this.setState({\n searchQuery: '',\n view: VIEW_FOLDER,\n currentCollection: this.currentUnloadedCollection(),\n currentOffset: offset,\n });\n\n // Fetch the folder using folder API\n this.api.getFolderAPI().getFolder(\n folderId,\n limit,\n offset,\n sortBy,\n sortDirection,\n (collection: Collection) => {\n this.fetchFolderSuccessCallback(collection, triggerNavigationEvent);\n },\n this.errorCallback,\n { fields: CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH, forceFetch: true },\n );\n };\n\n /**\n * Action performed when clicking on an item\n *\n * @private\n * @param {Object|string} item - the clicked box item\n * @return {void}\n */\n onItemClick = (item: BoxItem | string) => {\n // If the id was passed in, just use that\n if (typeof item === 'string') {\n this.fetchFolder(item);\n return;\n }\n\n const { id, type }: BoxItem = item;\n const { isTouch }: Props = this.props;\n\n if (type === TYPE_FOLDER) {\n this.fetchFolder(id);\n return;\n }\n\n if (isTouch) {\n return;\n }\n\n this.preview(item);\n };\n\n /**\n * Search success callback\n *\n * @private\n * @param {Object} collection item collection object\n * @return {void}\n */\n searchSuccessCallback = (collection: Collection) => {\n const { selected }: State = this.state;\n\n // Close any open modals\n this.closeModals();\n\n this.updateCollection(collection, selected);\n };\n\n /**\n * Debounced searching\n *\n * @private\n * @param {string} id folder id\n * @param {string} query search string\n * @return {void}\n */\n debouncedSearch = debounce((id: string, query: string) => {\n const { currentOffset, currentPageSize }: State = this.state;\n\n this.api\n .getSearchAPI()\n .search(id, query, currentPageSize, currentOffset, this.searchSuccessCallback, this.errorCallback, {\n fields: CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH,\n forceFetch: true,\n });\n }, DEFAULT_SEARCH_DEBOUNCE);\n\n /**\n * Searches\n *\n * @private\n * @param {string} query search string\n * @return {void}\n */\n search = (query: string) => {\n const { rootFolderId }: Props = this.props;\n const {\n currentCollection: { id },\n currentOffset,\n searchQuery,\n }: State = this.state;\n const folderId = typeof id === 'string' ? id : rootFolderId;\n const trimmedQuery: string = query.trim();\n\n if (!query) {\n // Cancel the debounce so we don't search on a previous query\n this.debouncedSearch.cancel();\n\n // Query was cleared out, load the prior folder\n // The prior folder is always the parent folder for search\n this.setState({ currentOffset: 0 }, () => {\n this.fetchFolder(folderId, false);\n });\n\n return;\n }\n\n if (!trimmedQuery) {\n // Query now only has bunch of spaces\n // do nothing and but update prior state\n this.setState({\n searchQuery: query,\n });\n return;\n }\n\n this.setState({\n currentCollection: this.currentUnloadedCollection(),\n currentOffset: trimmedQuery === searchQuery ? currentOffset : 0,\n searchQuery: query,\n selected: undefined,\n view: VIEW_SEARCH,\n });\n\n this.debouncedSearch(folderId, query);\n };\n\n /**\n * Recents fetch success callback\n *\n * @private\n * @param {Object} collection item collection object\n * @param {Boolean} triggerNavigationEvent - To trigger navigate event\n * @return {void}\n */\n recentsSuccessCallback(collection: Collection, triggerNavigationEvent: boolean) {\n if (triggerNavigationEvent) {\n this.updateCollection(collection, undefined, this.finishNavigation);\n } else {\n this.updateCollection(collection);\n }\n }\n\n /**\n * Shows recents.\n *\n * @private\n * @param {Boolean|void} [triggerNavigationEvent] To trigger navigate event\n * @return {void}\n */\n showRecents(triggerNavigationEvent: boolean = true): void {\n const { rootFolderId }: Props = this.props;\n\n // Reset search state, the view and show busy indicator\n this.setState({\n searchQuery: '',\n view: VIEW_RECENTS,\n currentCollection: this.currentUnloadedCollection(),\n currentOffset: 0,\n });\n\n // Fetch the folder using folder API\n this.api.getRecentsAPI().recents(\n rootFolderId,\n (collection: Collection) => {\n this.recentsSuccessCallback(collection, triggerNavigationEvent);\n },\n this.errorCallback,\n { fields: CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH, forceFetch: true },\n );\n }\n\n /**\n * Uploads\n *\n * @private\n * @param {File} file dom file object\n * @return {void}\n */\n upload = () => {\n const {\n currentCollection: { id, permissions },\n }: State = this.state;\n const { canUpload }: Props = this.props;\n if (!canUpload || !id || !permissions) {\n return;\n }\n\n const { can_upload }: BoxItemPermission = permissions;\n if (!can_upload) {\n return;\n }\n\n this.setState({\n isUploadModalOpen: true,\n });\n };\n\n /**\n * Upload success handler\n *\n * @private\n * @param {File} file dom file object\n * @return {void}\n */\n uploadSuccessHandler = () => {\n const {\n currentCollection: { id },\n }: State = this.state;\n this.fetchFolder(id, false);\n };\n\n /**\n * Changes the share access of an item\n *\n * @private\n * @param {string} access share access\n * @return {void}\n */\n changeShareAccess = (access: Access) => {\n const { selected }: State = this.state;\n const { canSetShareAccess }: Props = this.props;\n if (!selected || !canSetShareAccess) {\n return;\n }\n\n const { permissions, type }: BoxItem = selected;\n if (!permissions || !type) {\n return;\n }\n\n const { can_set_share_access }: BoxItemPermission = permissions;\n if (!can_set_share_access) {\n return;\n }\n\n this.setState({ isLoading: true });\n this.api.getAPI(type).share(selected, access, (updatedItem: BoxItem) => {\n this.setState({ isLoading: false });\n this.select(updatedItem);\n });\n };\n\n /**\n * Changes the sort by and sort direction\n *\n * @private\n * @param {string} sortBy - field to sort by\n * @param {string} sortDirection - sort direction\n * @return {void}\n */\n sort = (sortBy: SortBy, sortDirection: SortDirection) => {\n const {\n currentCollection: { id },\n }: State = this.state;\n if (id) {\n this.setState({ sortBy, sortDirection }, this.refreshCollection);\n }\n };\n\n /**\n * Sets state with currentCollection updated to have items.selected properties\n * set according to the given selected param. Also updates the selected item in the\n * currentCollection. selectedItem will be set to the selected state\n * item if it is in currentCollection, otherwise it will be set to undefined.\n *\n * @private\n * @param {Collection} collection - collection that needs to be updated\n * @param {Object} [selectedItem] - The item that should be selected in that collection (if present)\n * @param {Function} [callback] - callback function that should be called after setState occurs\n * @return {void}\n */\n async updateCollection(collection: Collection, selectedItem: ?BoxItem, callback: Function = noop): Object {\n const newCollection: Collection = cloneDeep(collection);\n const { items = [] } = newCollection;\n const fileAPI = this.api.getFileAPI(false);\n const selectedId = selectedItem ? selectedItem.id : null;\n let newSelectedItem: ?BoxItem;\n\n const itemThumbnails = await Promise.all(\n items.map(item => {\n return item.type === TYPE_FILE ? fileAPI.getThumbnailUrl(item) : null;\n }),\n );\n\n newCollection.items = items.map((item, index) => {\n const isSelected = item.id === selectedId;\n const currentItem = isSelected ? selectedItem : item;\n const thumbnailUrl = itemThumbnails[index];\n\n const newItem = {\n ...currentItem,\n selected: isSelected,\n thumbnailUrl,\n };\n\n if (item.type === TYPE_FILE && thumbnailUrl && !isThumbnailReady(newItem)) {\n this.attemptThumbnailGeneration(newItem);\n }\n\n // Only if selectedItem is in the current collection do we want to set selected state\n if (isSelected) {\n newSelectedItem = newItem;\n }\n\n return newItem;\n });\n this.setState({ currentCollection: newCollection, selected: newSelectedItem }, callback);\n }\n\n /**\n * Attempts to generate a thumbnail for the given item and assigns the\n * item its thumbnail url if successful\n *\n * @param {BoxItem} item - item to generate thumbnail for\n * @return {Promise<void>}\n */\n attemptThumbnailGeneration = async (item: BoxItem): Promise<void> => {\n const entries = getProp(item, 'representations.entries');\n const representation = getProp(entries, '[0]');\n\n if (representation) {\n const updatedRepresentation = await this.api.getFileAPI(false).generateRepresentation(representation);\n if (updatedRepresentation !== representation) {\n this.updateItemInCollection({\n ...cloneDeep(item),\n representations: {\n entries: [updatedRepresentation, ...entries.slice(1)],\n },\n });\n }\n }\n };\n\n /**\n * Update item in this.state.currentCollection\n *\n * @param {BoxItem} newItem - item with updated properties\n * @return {void}\n */\n updateItemInCollection = (newItem: BoxItem): void => {\n const { currentCollection } = this.state;\n const { items = [] } = currentCollection;\n const newCollection = { ...currentCollection };\n\n newCollection.items = items.map(item => (item.id === newItem.id ? newItem : item));\n this.setState({ currentCollection: newCollection });\n };\n\n /**\n * Selects or unselects an item\n *\n * @private\n * @param {Object} item - file or folder object\n * @param {Function|void} [onSelect] - optional on select callback\n * @return {void}\n */\n select = (item: BoxItem, callback: Function = noop): void => {\n const { selected, currentCollection }: State = this.state;\n const { items = [] } = currentCollection;\n const { onSelect }: Props = this.props;\n\n if (item === selected) {\n callback(item);\n return;\n }\n\n const selectedItem: BoxItem = { ...item, selected: true };\n\n this.updateCollection(currentCollection, selectedItem, () => {\n onSelect(cloneDeep([selectedItem]));\n callback(selectedItem);\n });\n\n const focusedRow: number = items.findIndex((i: BoxItem) => i.id === item.id);\n\n this.setState({ focusedRow });\n };\n\n /**\n * Selects the clicked file and then previews it\n * or opens it, if it was a web link\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n preview = (item: BoxItem): void => {\n const { type, url }: BoxItem = item;\n if (type === TYPE_WEBLINK) {\n window.open(url);\n return;\n }\n\n this.select(item, this.previewCallback);\n };\n\n /**\n * Previews a file\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n previewCallback = (): void => {\n const { selected }: State = this.state;\n const { canPreview }: Props = this.props;\n if (!selected || !canPreview) {\n return;\n }\n\n const { permissions } = selected;\n if (!permissions) {\n return;\n }\n\n const { can_preview }: BoxItemPermission = permissions;\n if (!can_preview) {\n return;\n }\n\n this.setState({ isPreviewModalOpen: true });\n };\n\n /**\n * Selects the clicked file and then downloads it\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n download = (item: BoxItem): void => {\n this.select(item, this.downloadCallback);\n };\n\n /**\n * Downloads a file\n *\n * @private\n * @return {void}\n */\n downloadCallback = (): void => {\n const { selected }: State = this.state;\n const { canDownload, onDownload }: Props = this.props;\n if (!selected || !canDownload) {\n return;\n }\n\n const { id, permissions } = selected;\n if (!id || !permissions) {\n return;\n }\n\n const { can_download }: BoxItemPermission = permissions;\n if (!can_download) {\n return;\n }\n\n const openUrl: Function = (url: string) => {\n openUrlInsideIframe(url);\n onDownload(cloneDeep([selected]));\n };\n\n const { type }: BoxItem = selected;\n if (type === TYPE_FILE) {\n this.api.getFileAPI().getDownloadUrl(id, selected, openUrl, noop);\n }\n };\n\n /**\n * Selects the clicked file and then deletes it\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n delete = (item: BoxItem): void => {\n this.select(item, this.deleteCallback);\n };\n\n /**\n * Deletes a file\n *\n * @private\n * @return {void}\n */\n deleteCallback = (): void => {\n const { selected, isDeleteModalOpen }: State = this.state;\n const { canDelete, onDelete }: Props = this.props;\n if (!selected || !canDelete) {\n return;\n }\n\n const { id, permissions, parent, type }: BoxItem = selected;\n if (!id || !permissions || !parent || !type) {\n return;\n }\n\n const { id: parentId } = parent;\n const { can_delete }: BoxItemPermission = permissions;\n if (!can_delete || !parentId) {\n return;\n }\n\n if (!isDeleteModalOpen) {\n this.setState({ isDeleteModalOpen: true });\n return;\n }\n\n this.setState({ isLoading: true });\n this.api.getAPI(type).deleteItem(selected, () => {\n onDelete(cloneDeep([selected]));\n this.refreshCollection();\n });\n };\n\n /**\n * Selects the clicked file and then renames it\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n rename = (item: BoxItem): void => {\n this.select(item, this.renameCallback);\n };\n\n /**\n * Callback for renaming an item\n *\n * @private\n * @param {string} value new item name\n * @return {void}\n */\n renameCallback = (nameWithoutExt: string, extension: string): void => {\n const { selected, isRenameModalOpen }: State = this.state;\n const { canRename, onRename }: Props = this.props;\n if (!selected || !canRename) {\n return;\n }\n\n const { id, permissions, type }: BoxItem = selected;\n if (!id || !permissions || !type) {\n return;\n }\n\n const { can_rename }: BoxItemPermission = permissions;\n if (!can_rename) {\n return;\n }\n\n if (!isRenameModalOpen || !nameWithoutExt) {\n this.setState({ isRenameModalOpen: true, errorCode: '' });\n return;\n }\n\n const name = `${nameWithoutExt}${extension}`;\n if (!nameWithoutExt.trim()) {\n this.setState({\n errorCode: ERROR_CODE_ITEM_NAME_INVALID,\n isLoading: false,\n });\n return;\n }\n\n this.setState({ isLoading: true });\n this.api.getAPI(type).rename(\n selected,\n name.trim(),\n (updatedItem: BoxItem) => {\n this.setState({ isRenameModalOpen: false });\n this.refreshCollection();\n this.select(updatedItem);\n onRename(cloneDeep(selected));\n },\n ({ code }) => {\n this.setState({ errorCode: code, isLoading: false });\n },\n );\n };\n\n /**\n * Creates a new folder\n *\n * @private\n * @return {void}\n */\n createFolder = (): void => {\n this.createFolderCallback();\n };\n\n /**\n * New folder callback\n *\n * @private\n * @param {string} name - folder name\n * @return {void}\n */\n createFolderCallback = (name?: string): void => {\n const { isCreateFolderModalOpen, currentCollection }: State = this.state;\n const { canCreateNewFolder, onCreate }: Props = this.props;\n if (!canCreateNewFolder) {\n return;\n }\n\n const { id, permissions }: Collection = currentCollection;\n if (!id || !permissions) {\n return;\n }\n\n const { can_upload }: BoxItemPermission = permissions;\n if (!can_upload) {\n return;\n }\n\n if (!isCreateFolderModalOpen || !name) {\n this.setState({ isCreateFolderModalOpen: true, errorCode: '' });\n return;\n }\n\n if (!name.trim()) {\n this.setState({\n errorCode: ERROR_CODE_ITEM_NAME_INVALID,\n isLoading: false,\n });\n return;\n }\n\n if (name.length > 255) {\n this.setState({\n errorCode: ERROR_CODE_ITEM_NAME_TOO_LONG,\n isLoading: false,\n });\n return;\n }\n\n this.setState({ isLoading: true });\n this.api.getFolderAPI().create(\n id,\n name.trim(),\n (item: BoxItem) => {\n this.refreshCollection();\n this.select(item);\n onCreate(cloneDeep(item));\n },\n ({ code }) => {\n this.setState({\n errorCode: code,\n isLoading: false,\n });\n },\n );\n };\n\n /**\n * Selects the clicked file and then shares it\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n share = (item: BoxItem): void => {\n this.select(item, this.shareCallback);\n };\n\n /**\n * Fetch the shared link info\n * @param {BoxItem} item - The item (folder, file, weblink)\n * @returns {void}\n */\n fetchSharedLinkInfo = (item: BoxItem): void => {\n const { id, type }: BoxItem = item;\n\n switch (type) {\n case TYPE_FOLDER:\n this.api.getFolderAPI().getFolderFields(id, this.handleSharedLinkSuccess, noop, {\n fields: FILE_SHARED_LINK_FIELDS_TO_FETCH,\n });\n break;\n case TYPE_FILE:\n this.api\n .getFileAPI()\n .getFile(id, this.handleSharedLinkSuccess, noop, { fields: FILE_SHARED_LINK_FIELDS_TO_FETCH });\n break;\n case TYPE_WEBLINK:\n this.api\n .getWebLinkAPI()\n .getWeblink(id, this.handleSharedLinkSuccess, noop, { fields: FILE_SHARED_LINK_FIELDS_TO_FETCH });\n break;\n default:\n throw new Error('Unknown Type');\n }\n };\n\n /**\n * Handles the shared link info by either creating a share link using enterprise defaults if\n * it does not already exist, otherwise update the item in the state currentCollection.\n *\n * @param {Object} item file or folder\n * @returns {void}\n */\n handleSharedLinkSuccess = async (item: BoxItem) => {\n const { currentCollection } = this.state;\n let updatedItem = item;\n\n // if there is no shared link, create one with enterprise default access\n if (!item[FIELD_SHARED_LINK] && getProp(item, FIELD_PERMISSIONS_CAN_SHARE, false)) {\n // $FlowFixMe\n await this.api.getAPI(item.type).share(item, undefined, (sharedItem: BoxItem) => {\n updatedItem = sharedItem;\n });\n }\n\n this.updateCollection(currentCollection, updatedItem, () => this.setState({ isShareModalOpen: true }));\n };\n\n /**\n * Callback for sharing an item\n *\n * @private\n * @return {void}\n */\n shareCallback = (): void => {\n const { selected }: State = this.state;\n const { canShare }: Props = this.props;\n\n if (!selected || !canShare) {\n return;\n }\n\n const { permissions, type } = selected;\n if (!permissions || !type) {\n return;\n }\n\n const { can_share }: BoxItemPermission = permissions;\n if (!can_share) {\n return;\n }\n\n this.fetchSharedLinkInfo(selected);\n };\n\n /**\n * Saves reference to table component\n *\n * @private\n * @param {Component} react component\n * @return {void}\n */\n tableRef = (table: React$Component<*, *>): void => {\n this.table = table;\n };\n\n /**\n * Closes the modal dialogs that may be open\n *\n * @private\n * @return {void}\n */\n closeModals = (): void => {\n const { focusedRow }: State = this.state;\n\n this.setState({\n isLoading: false,\n isDeleteModalOpen: false,\n isRenameModalOpen: false,\n isCreateFolderModalOpen: false,\n isShareModalOpen: false,\n isUploadModalOpen: false,\n isPreviewModalOpen: false,\n });\n\n const {\n selected,\n currentCollection: { items = [] },\n }: State = this.state;\n if (selected && items.length > 0) {\n focus(this.rootElement, `.bce-item-row-${focusedRow}`);\n }\n };\n\n /**\n * Returns whether the currently focused element is an item\n *\n * @returns {bool}\n */\n isFocusOnItem = () => {\n const focusedElementClassList = document.activeElement?.classList;\n return focusedElementClassList && focusedElementClassList.contains('be-item-label');\n };\n\n /**\n * Keyboard events\n *\n * @private\n * @return {void}\n */\n onKeyDown = (event: SyntheticKeyboardEvent<HTMLElement>) => {\n if (isInputElement(event.target)) {\n return;\n }\n\n const { rootFolderId }: Props = this.props;\n const key = event.key.toLowerCase();\n\n switch (key) {\n case '/':\n focus(this.rootElement, '.be-search input[type=\"search\"]', false);\n event.preventDefault();\n break;\n case 'arrowdown':\n if (this.getViewMode() === VIEW_MODE_GRID) {\n if (!this.isFocusOnItem()) {\n focus(this.rootElement, '.be-item-name .be-item-label', false);\n event.preventDefault();\n }\n } else {\n focus(this.rootElement, '.bce-item-row', false);\n this.setState({ focusedRow: 0 });\n event.preventDefault();\n }\n break;\n case 'g':\n break;\n case 'b':\n if (this.globalModifier) {\n focus(this.rootElement, '.be-breadcrumb button', false);\n event.preventDefault();\n }\n\n break;\n case 'f':\n if (this.globalModifier) {\n this.fetchFolder(rootFolderId);\n event.preventDefault();\n }\n\n break;\n case 'u':\n if (this.globalModifier) {\n this.upload();\n event.preventDefault();\n }\n\n break;\n case 'r':\n if (this.globalModifier) {\n this.showRecents();\n event.preventDefault();\n }\n\n break;\n case 'n':\n if (this.globalModifier) {\n this.createFolder();\n event.preventDefault();\n }\n\n break;\n default:\n this.globalModifier = false;\n return;\n }\n\n this.globalModifier = key === 'g';\n };\n\n /**\n * Handle pagination changes for offset based pagination\n *\n * @param {number} newOffset - the new page offset value\n */\n paginate = (newOffset: number) => {\n this.setState({ currentOffset: newOffset }, this.refreshCollection);\n };\n\n /**\n * Handle pagination changes for marker based pagination\n * @param {number} newOffset - the new page offset value\n */\n markerBasedPaginate = (newOffset: number) => {\n const { currentPageNumber } = this.state;\n this.setState(\n {\n currentPageNumber: currentPageNumber + newOffset, // newOffset could be negative\n },\n this.refreshCollection,\n );\n };\n\n /**\n * Get the current viewMode, checking local store if applicable\n *\n * @return {ViewMode}\n */\n getViewMode = (): ViewMode => this.store.getItem(localStoreViewMode) || VIEW_MODE_LIST;\n\n /**\n * Get the maximum number of grid view columns based on the current width of the\n * content explorer.\n *\n * @return {number}\n */\n getMaxNumberOfGridViewColumnsForWidth = (): number => {\n const { isSmall, isMedium, isLarge } = this.props;\n let maxWidthColumns = GRID_VIEW_MAX_COLUMNS;\n if (isSmall) {\n maxWidthColumns = 1;\n } else if (isMedium) {\n maxWidthColumns = 3;\n } else if (isLarge) {\n maxWidthColumns = 5;\n }\n return maxWidthColumns;\n };\n\n /**\n * Change the current view mode\n *\n * @param {ViewMode} viewMode - the new view mode\n * @return {void}\n */\n changeViewMode = (viewMode: ViewMode): void => {\n this.store.setItem(localStoreViewMode, viewMode);\n this.forceUpdate();\n };\n\n /**\n * Callback for when value of GridViewSlider changes\n *\n * @param {number} sliderValue - value of slider\n * @return {void}\n */\n onGridViewSliderChange = (sliderValue: number): void => {\n // need to do this calculation since lowest value of grid view slider\n // means highest number of columns\n const gridColumnCount = GRID_VIEW_MAX_COLUMNS - sliderValue + 1;\n this.setState({ gridColumnCount });\n };\n\n /**\n * Function to update metadata field value in metadata based view\n * @param {BoxItem} item - file item whose metadata is being changed\n * @param {string} field - metadata template field name\n * @param {MetadataFieldValue} oldValue - current value\n * @param {MetadataFieldValue} newVlaue - new value the field to be updated to\n */\n\n updateMetadata = (\n item: BoxItem,\n field: string,\n oldValue: ?MetadataFieldValue,\n newValue: ?MetadataFieldValue,\n ): void => {\n this.metadataQueryAPIHelper.updateMetadata(\n item,\n field,\n oldValue,\n newValue,\n () => {\n this.updateMetadataSuccessCallback(item, field, newValue);\n },\n this.errorCallback,\n );\n };\n\n updateMetadataSuccessCallback = (item: BoxItem, field: string, newValue: ?MetadataFieldValue): void => {\n const { currentCollection }: State = this.state;\n const { items = [], nextMarker } = currentCollection;\n const updatedItems = items.map(collectionItem => {\n const clonedItem = cloneDeep(collectionItem);\n if (item.id === clonedItem.id) {\n const fields = getProp(clonedItem, 'metadata.enterprise.fields', []);\n fields.forEach(itemField => {\n if (itemField.key.split('.').pop() === field) {\n itemField.value = newValue; // set updated metadata value to correct item in currentCollection\n }\n });\n }\n return clonedItem;\n });\n\n this.setState({\n currentCollection: {\n items: updatedItems,\n nextMarker,\n percentLoaded: 100,\n },\n });\n };\n\n /**\n * Renders the file picker\n *\n * @private\n * @inheritdoc\n * @return {Element}\n */\n render() {\n const {\n apiHost,\n appHost,\n canCreateNewFolder,\n canDelete,\n canDownload,\n canPreview,\n canRename,\n canSetShareAccess,\n canShare,\n canUpload,\n className,\n contentPreviewProps,\n contentUploaderProps,\n defaultView,\n isMedium,\n isSmall,\n isTouch,\n language,\n logoUrl,\n measureRef,\n messages,\n fieldsToShow,\n onDownload,\n onPreview,\n onUpload,\n requestInterceptor,\n responseInterceptor,\n rootFolderId,\n sharedLink,\n sharedLinkPassword,\n staticHost,\n staticPath,\n previewLibraryVersion,\n token,\n uploadHost,\n }: Props = this.props;\n\n const {\n currentCollection,\n currentPageNumber,\n currentPageSize,\n errorCode,\n focusedRow,\n gridColumnCount,\n isCreateFolderModalOpen,\n isDeleteModalOpen,\n isLoading,\n isPreviewModalOpen,\n isRenameModalOpen,\n isShareModalOpen,\n isUploadModalOpen,\n markers,\n rootName,\n searchQuery,\n selected,\n view,\n }: State = this.state;\n\n const { id, offset, permissions, totalCount }: Collection = currentCollection;\n const { can_upload }: BoxItemPermission = permissions || {};\n const styleClassName = classNames('be bce', className);\n const allowUpload: boolean = canUpload && !!can_upload;\n const allowCreate: boolean = canCreateNewFolder && !!can_upload;\n const isDefaultViewMetadata: boolean = defaultView === DEFAULT_VIEW_METADATA;\n const isErrorView: boolean = view === VIEW_ERROR;\n\n const viewMode = this.getViewMode();\n const maxGridColumnCount = this.getMaxNumberOfGridViewColumnsForWidth();\n\n const hasNextMarker: boolean = !!markers[currentPageNumber + 1];\n const hasPreviousMarker: boolean = currentPageNumber === 1 || !!markers[currentPageNumber - 1];\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n /* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n return (\n <Internationalize language={language} messages={messages}>\n <div id={this.id} className={styleClassName} ref={measureRef} data-testid=\"content-explorer\">\n <div className=\"be-app-element\" onKeyDown={this.onKeyDown} tabIndex={0}>\n {!isDefaultViewMetadata && (\n <>\n <Header\n view={view}\n isSmall={isSmall}\n searchQuery={searchQuery}\n logoUrl={logoUrl}\n onSearch={this.search}\n />\n <SubHeader\n view={view}\n viewMode={viewMode}\n rootId={rootFolderId}\n isSmall={isSmall}\n rootName={rootName}\n currentCollection={currentCollection}\n canUpload={allowUpload}\n canCreateNewFolder={allowCreate}\n gridColumnCount={gridColumnCount}\n gridMaxColumns={GRID_VIEW_MAX_COLUMNS}\n gridMinColumns={GRID_VIEW_MIN_COLUMNS}\n maxGridColumnCountForWidth={maxGridColumnCount}\n onUpload={this.upload}\n onCreate={this.createFolder}\n onGridViewSliderChange={this.onGridViewSliderChange}\n onItemClick={this.fetchFolder}\n onSortChange={this.sort}\n onViewModeChange={this.changeViewMode}\n />\n </>\n )}\n <Content\n canDelete={canDelete}\n canDownload={canDownload}\n canPreview={canPreview}\n canRename={canRename}\n canShare={canShare}\n currentCollection={currentCollection}\n focusedRow={focusedRow}\n gridColumnCount={Math.min(gridColumnCount, maxGridColumnCount)}\n isMedium={isMedium}\n isSmall={isSmall}\n isTouch={isTouch}\n fieldsToShow={fieldsToShow}\n onItemClick={this.onItemClick}\n onItemDelete={this.delete}\n onItemDownload={this.download}\n onItemPreview={this.preview}\n onItemRename={this.rename}\n onItemSelect={this.select}\n onItemShare={this.share}\n onMetadataUpdate={this.updateMetadata}\n onSortChange={this.sort}\n rootElement={this.rootElement}\n rootId={rootFolderId}\n selected={selected}\n tableRef={this.tableRef}\n view={view}\n viewMode={viewMode}\n />\n {!isErrorView && (\n <Footer>\n <Pagination\n hasNextMarker={hasNextMarker}\n hasPrevMarker={hasPreviousMarker}\n offset={offset}\n onOffsetChange={this.paginate}\n pageSize={currentPageSize}\n totalCount={totalCount}\n onMarkerBasedPageChange={this.markerBasedPaginate}\n />\n </Footer>\n )}\n </div>\n {allowUpload && !!this.appElement ? (\n <UploadDialog\n isOpen={isUploadModalOpen}\n currentFolderId={id}\n token={token}\n sharedLink={sharedLink}\n sharedLinkPassword={sharedLinkPassword}\n apiHost={apiHost}\n uploadHost={uploadHost}\n onClose={this.uploadSuccessHandler}\n parentElement={this.rootElement}\n appElement={this.appElement}\n onUpload={onUpload}\n contentUploaderProps={contentUploaderProps}\n requestInterceptor={requestInterceptor}\n responseInterceptor={responseInterceptor}\n />\n ) : null}\n {allowCreate && !!this.appElement ? (\n <CreateFolderDialog\n isOpen={isCreateFolderModalOpen}\n onCreate={this.createFolderCallback}\n onCancel={this.closeModals}\n isLoading={isLoading}\n errorCode={errorCode}\n parentElement={this.rootElement}\n appElement={this.appElement}\n />\n ) : null}\n {canDelete && selected && !!this.appElement ? (\n <DeleteConfirmationDialog\n isOpen={isDeleteModalOpen}\n onDelete={this.deleteCallback}\n onCancel={this.closeModals}\n item={selected}\n isLoading={isLoading}\n parentElement={this.rootElement}\n appElement={this.appElement}\n />\n ) : null}\n {canRename && selected && !!this.appElement ? (\n <RenameDialog\n isOpen={isRenameModalOpen}\n onRename={this.renameCallback}\n onCancel={this.closeModals}\n item={selected}\n isLoading={isLoading}\n errorCode={errorCode}\n parentElement={this.rootElement}\n appElement={this.appElement}\n />\n ) : null}\n {canShare && selected && !!this.appElement ? (\n <ShareDialog\n isOpen={isShareModalOpen}\n canSetShareAccess={canSetShareAccess}\n onShareAccessChange={this.changeShareAccess}\n onCancel={this.refreshCollection}\n item={selected}\n isLoading={isLoading}\n parentElement={this.rootElement}\n appElement={this.appElement}\n />\n ) : null}\n {canPreview && selected && !!this.appElement ? (\n <PreviewDialog\n isOpen={isPreviewModalOpen}\n isTouch={isTouch}\n onCancel={this.closeModals}\n item={selected}\n currentCollection={cloneDeep(currentCollection)}\n token={token}\n parentElement={this.rootElement}\n appElement={this.appElement}\n onPreview={onPreview}\n onDownload={onDownload}\n canDownload={canDownload}\n cache={this.api.getCache()}\n apiHost={apiHost}\n appHost={appHost}\n staticHost={staticHost}\n staticPath={staticPath}\n previewLibraryVersion={previewLibraryVersion}\n sharedLink={sharedLink}\n sharedLinkPassword={sharedLinkPassword}\n contentPreviewProps={contentPreviewProps}\n requestInterceptor={requestInterceptor}\n responseInterceptor={responseInterceptor}\n />\n ) : null}\n </div>\n </Internationalize>\n );\n /* eslint-enable jsx-a11y/no-static-element-interactions */\n /* eslint-enable jsx-a11y/no-noninteractive-tabindex */\n }\n}\n\nexport { ContentExplorer as ContentExplorerComponent };\nexport default flow([makeResponsive, withFeatureConsumer, withFeatureProvider])(ContentExplorer);\n"],"file":"ContentExplorer.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/content-explorer/ContentExplorer.js"],"names":["React","Component","classNames","cloneDeep","debounce","flow","getProp","noop","uniqueid","CreateFolderDialog","UploadDialog","Header","Pagination","SubHeader","makeResponsive","openUrlInsideIframe","Internationalize","API","MetadataQueryAPIHelper","Footer","PreviewDialog","ShareDialog","RenameDialog","DeleteConfirmationDialog","Content","isThumbnailReady","isFocusableElement","isInputElement","focus","FILE_SHARED_LINK_FIELDS_TO_FETCH","CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH","LocalStore","withFeatureConsumer","withFeatureProvider","DEFAULT_HOSTNAME_UPLOAD","DEFAULT_HOSTNAME_API","DEFAULT_HOSTNAME_APP","DEFAULT_HOSTNAME_STATIC","DEFAULT_SEARCH_DEBOUNCE","SORT_ASC","FIELD_NAME","FIELD_PERMISSIONS_CAN_SHARE","FIELD_SHARED_LINK","DEFAULT_ROOT","VIEW_SEARCH","VIEW_FOLDER","VIEW_ERROR","VIEW_RECENTS","VIEW_METADATA","VIEW_MODE_LIST","TYPE_FILE","TYPE_WEBLINK","TYPE_FOLDER","CLIENT_NAME_CONTENT_EXPLORER","DEFAULT_PAGE_NUMBER","DEFAULT_PAGE_SIZE","DEFAULT_VIEW_FILES","DEFAULT_VIEW_RECENTS","DEFAULT_VIEW_METADATA","ERROR_CODE_ITEM_NAME_INVALID","ERROR_CODE_ITEM_NAME_TOO_LONG","TYPED_ID_FOLDER_PREFIX","VIEW_MODE_GRID","GRID_VIEW_MAX_COLUMNS","GRID_VIEW_MIN_COLUMNS","localStoreViewMode","ContentExplorer","constructor","props","metadataQueryCollection","nextMarker","currentCollection","currentPageNumber","markers","state","cloneMarkers","setState","percentLoaded","error","view","console","id","searchQuery","fetchFolder","showRecents","search","showMetadataQueryResults","Error","triggerNavigationEvent","rootFolderId","currentId","currentOffset","currentPageSize","limit","sortBy","sortDirection","folderId","hasFolderChanged","hasSearchQuery","trim","length","offset","firstLoad","rootElement","currentUnloadedCollection","api","getFolderAPI","getFolder","collection","fetchFolderSuccessCallback","errorCallback","fields","forceFetch","item","type","isTouch","preview","selected","closeModals","updateCollection","query","getSearchAPI","searchSuccessCallback","trimmedQuery","debouncedSearch","cancel","undefined","permissions","canUpload","can_upload","isUploadModalOpen","access","canSetShareAccess","can_set_share_access","isLoading","getAPI","share","updatedItem","select","refreshCollection","entries","representation","updatedRepresentation","getFileAPI","generateRepresentation","updateItemInCollection","representations","slice","newItem","items","newCollection","map","callback","onSelect","selectedItem","focusedRow","findIndex","i","url","window","open","previewCallback","canPreview","can_preview","isPreviewModalOpen","downloadCallback","canDownload","onDownload","can_download","openUrl","getDownloadUrl","deleteCallback","isDeleteModalOpen","canDelete","onDelete","parent","parentId","can_delete","deleteItem","renameCallback","nameWithoutExt","extension","isRenameModalOpen","canRename","onRename","can_rename","errorCode","name","rename","code","createFolderCallback","isCreateFolderModalOpen","canCreateNewFolder","onCreate","create","shareCallback","getFolderFields","handleSharedLinkSuccess","getFile","getWebLinkAPI","getWeblink","sharedItem","isShareModalOpen","canShare","can_share","fetchSharedLinkInfo","table","focusedElementClassList","document","activeElement","classList","contains","event","target","key","toLowerCase","preventDefault","getViewMode","isFocusOnItem","globalModifier","upload","createFolder","newOffset","store","getItem","isSmall","isMedium","isLarge","maxWidthColumns","viewMode","setItem","forceUpdate","sliderValue","gridColumnCount","field","oldValue","newValue","metadataQueryAPIHelper","updateMetadata","updateMetadataSuccessCallback","updatedItems","collectionItem","clonedItem","forEach","itemField","split","pop","value","apiHost","initialPage","initialPageSize","language","requestInterceptor","responseInterceptor","sharedLink","sharedLinkPassword","token","uploadHost","clientName","rootName","clearCache","destroy","componentWillUnmount","componentDidMount","currentFolderId","defaultView","getElementById","appElement","firstElementChild","componentDidUpdate","prevState","prevFolderId","metadataQuery","metadataQueryClone","marker","fetchMetadataQueryResults","showMetadataQueryResultsSuccessCallback","finishNavigation","autoFocus","onNavigate","boxItem","recentsSuccessCallback","getRecentsAPI","recents","fileAPI","selectedId","newSelectedItem","itemThumbnails","Promise","all","getThumbnailUrl","index","isSelected","currentItem","thumbnailUrl","attemptThumbnailGeneration","render","appHost","className","contentPreviewProps","contentUploaderProps","logoUrl","measureRef","messages","fieldsToShow","onPreview","onUpload","staticHost","staticPath","previewLibraryVersion","totalCount","styleClassName","allowUpload","allowCreate","isDefaultViewMetadata","isErrorView","maxGridColumnCount","getMaxNumberOfGridViewColumnsForWidth","hasNextMarker","hasPreviousMarker","onKeyDown","onGridViewSliderChange","sort","changeViewMode","Math","min","onItemClick","delete","download","tableRef","paginate","markerBasedPaginate","uploadSuccessHandler","changeShareAccess","getCache","contentSidebarProps","ContentExplorerComponent"],"mappings":";;;;;;;;AAAA;;;;;AAMA,OAAO,6BAAP;AACA,OAAOA,KAAP,IAAgBC,SAAhB,QAAiC,OAAjC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,SAAP,MAAsB,kBAAtB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,OAAOC,IAAP,MAAiB,aAAjB;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,OAAOC,IAAP,MAAiB,aAAjB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,OAAOC,kBAAP,MAA+B,gCAA/B;AACA,OAAOC,YAAP,MAAyB,yBAAzB;AACA,OAAOC,MAAP,MAAmB,kBAAnB;AACA,OAAOC,UAAP,MAAuB,2BAAvB;AACA,OAAOC,SAAP,MAAsB,gCAAtB;AACA,OAAOC,cAAP,MAA2B,0BAA3B;AACA,OAAOC,mBAAP,MAAgC,oBAAhC;AACA,OAAOC,gBAAP,MAA6B,4BAA7B;AACA,OAAOC,GAAP,MAAgB,WAAhB;AACA,OAAOC,sBAAP,MAAmC,2DAAnC;AACA,OAAOC,MAAP,MAAmB,UAAnB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,YAAP,MAAyB,gBAAzB;AACA,OAAOC,wBAAP,MAAqC,4BAArC;AACA,OAAOC,OAAP,MAAoB,WAApB;AACA,OAAOC,gBAAP,MAA6B,SAA7B;AACA,SAASC,kBAAT,EAA6BC,cAA7B,EAA6CC,KAA7C,QAA0D,iBAA1D;AACA,SAASC,gCAAT,QAAiD,oBAAjD;AACA,OAAOC,uCAAP,MAAoD,aAApD;AACA,OAAOC,UAAP,MAAuB,wBAAvB;AACA,SAASC,mBAAT,EAA8BC,mBAA9B,QAA6E,4BAA7E;AACA,SACIC,uBADJ,EAEIC,oBAFJ,EAGIC,oBAHJ,EAIIC,uBAJJ,EAKIC,uBALJ,EAMIC,QANJ,EAOIC,UAPJ,EAQIC,2BARJ,EASIC,iBATJ,EAUIC,YAVJ,EAWIC,WAXJ,EAYIC,WAZJ,EAaIC,UAbJ,EAcIC,YAdJ,EAeIC,aAfJ,EAgBIC,cAhBJ,EAiBIC,SAjBJ,EAkBIC,YAlBJ,EAmBIC,WAnBJ,EAoBIC,4BApBJ,EAqBIC,mBArBJ,EAsBIC,iBAtBJ,EAuBIC,kBAvBJ,EAwBIC,oBAxBJ,EAyBIC,qBAzBJ,EA0BIC,4BA1BJ,EA2BIC,6BA3BJ,EA4BIC,sBA5BJ,EA6BIC,cA7BJ,QA8BO,iBA9BP;AA+CA,OAAO,sBAAP;AACA,OAAO,qBAAP;AACA,OAAO,sBAAP;AACA,OAAO,wBAAP;AAEA,MAAMC,qBAAqB,GAAG,CAA9B;AACA,MAAMC,qBAAqB,GAAG,CAA9B;AA+EA,MAAMC,kBAAkB,GAAG,qBAA3B;;AAEA,MAAMC,eAAN,SAA8BjE,SAA9B,CAAsD;AAiBvB;;AAyC3B;;;;;;AAMAkE,EAAAA,WAAW,CAACC,KAAD,EAAe;AAAA;;AACtB,UAAMA,KAAN,CADsB;AAAA;;AAAA,uCA/CL,IA+CK;;AAAA,mCA7CN,IAAIrC,UAAJ,EA6CM;;AAAA,qEAqIiBsC,uBAAD,IAA+C;AACrF,YAAM;AAAEC,QAAAA;AAAF,UAAiBD,uBAAvB;AACA,YAAM;AAAEE,QAAAA,iBAAF;AAAqBC,QAAAA,iBAArB;AAAwCC,QAAAA;AAAxC,UAA2D,KAAKC,KAAtE;AACA,YAAMC,YAAY,GAAG,CAAC,GAAGF,OAAJ,CAArB;;AACA,UAAIH,UAAJ,EAAgB;AACZK,QAAAA,YAAY,CAACH,iBAAiB,GAAG,CAArB,CAAZ,GAAsCF,UAAtC;AACH;;AACD,WAAKM,QAAL,CAAc;AACVL,QAAAA,iBAAiB,oBACVA,iBADU,MAEVF,uBAFU;AAGbQ,UAAAA,aAAa,EAAE;AAHF,UADP;AAMVJ,QAAAA,OAAO,EAAEE;AANC,OAAd;AAQH,KApJyB;;AAAA,2CAiNTG,KAAD,IAAgB;AAC5B,WAAKF,QAAL,CAAc;AACVG,QAAAA,IAAI,EAAEjC;AADI,OAAd;AAGA;;AACAkC,MAAAA,OAAO,CAACF,KAAR,CAAcA,KAAd;AACA;AACH,KAxNyB;;AAAA,+CA4PN,MAAM;AACtB,YAAM;AACFP,QAAAA,iBAAiB,EAAE;AAAEU,UAAAA;AAAF,SADjB;AAEFF,QAAAA,IAFE;AAGFG,QAAAA;AAHE,UAIK,KAAKR,KAJhB;;AAKA,UAAIK,IAAI,KAAKlC,WAAT,IAAwBoC,EAA5B,EAAgC;AAC5B,aAAKE,WAAL,CAAiBF,EAAjB,EAAqB,KAArB;AACH,OAFD,MAEO,IAAIF,IAAI,KAAKhC,YAAb,EAA2B;AAC9B,aAAKqC,WAAL,CAAiB,KAAjB;AACH,OAFM,MAEA,IAAIL,IAAI,KAAKnC,WAAT,IAAwBsC,WAA5B,EAAyC;AAC5C,aAAKG,MAAL,CAAYH,WAAZ;AACH,OAFM,MAEA,IAAIH,IAAI,KAAK/B,aAAb,EAA4B;AAC/B,aAAKsC,wBAAL;AACH,OAFM,MAEA;AACH,cAAM,IAAIC,KAAJ,CAAU,mCAAV,CAAN;AACH;AACJ,KA7QyB;;AAAA,yCAqTZ,UAACN,EAAD,EAA0D;AAAA,UAA5CO,sBAA4C,uEAAT,IAAS;AACpE,YAAM;AAAEC,QAAAA;AAAF,UAA0B,KAAI,CAACrB,KAArC;AACA,YAAM;AACFG,QAAAA,iBAAiB,EAAE;AAAEU,UAAAA,EAAE,EAAES;AAAN,SADjB;AAEFC,QAAAA,aAFE;AAGFC,QAAAA,eAAe,EAAEC,KAHf;AAIFX,QAAAA,WAAW,GAAG,EAJZ;AAKFY,QAAAA,MALE;AAMFC,QAAAA;AANE,UAOK,KAAI,CAACrB,KAPhB;AAQA,YAAMsB,QAAgB,GAAG,OAAOf,EAAP,KAAc,QAAd,GAAyBA,EAAzB,GAA8BQ,YAAvD;AACA,YAAMQ,gBAAgB,GAAGP,SAAS,IAAIA,SAAS,KAAKM,QAApD;AACA,YAAME,cAAc,GAAG,CAAC,CAAChB,WAAW,CAACiB,IAAZ,GAAmBC,MAA5C;AACA,YAAMC,MAAM,GAAGJ,gBAAgB,IAAIC,cAApB,GAAqC,CAArC,GAAyCP,aAAxD,CAboE,CAaG;AAEvE;AACA;AACA;AACA;;AACA,UAAI,CAAC,KAAI,CAACW,SAAV,EAAqB;AACjB,QAAA,KAAI,CAACC,WAAL,CAAiB3E,KAAjB;AACH,OArBmE,CAuBpE;;;AACA,MAAA,KAAI,CAACgD,QAAL,CAAc;AACVM,QAAAA,WAAW,EAAE,EADH;AAEVH,QAAAA,IAAI,EAAElC,WAFI;AAGV0B,QAAAA,iBAAiB,EAAE,KAAI,CAACiC,yBAAL,EAHT;AAIVb,QAAAA,aAAa,EAAEU;AAJL,OAAd,EAxBoE,CA+BpE;;;AACA,MAAA,KAAI,CAACI,GAAL,CAASC,YAAT,GAAwBC,SAAxB,CACIX,QADJ,EAEIH,KAFJ,EAGIQ,MAHJ,EAIIP,MAJJ,EAKIC,aALJ,EAMKa,UAAD,IAA4B;AACxB,QAAA,KAAI,CAACC,0BAAL,CAAgCD,UAAhC,EAA4CpB,sBAA5C;AACH,OARL,EASI,KAAI,CAACsB,aATT,EAUI;AAAEC,QAAAA,MAAM,EAAEjF,uCAAV;AAAmDkF,QAAAA,UAAU,EAAE;AAA/D,OAVJ;AAYH,KAjWyB;;AAAA,yCA0WXC,IAAD,IAA4B;AACtC;AACA,UAAI,OAAOA,IAAP,KAAgB,QAApB,EAA8B;AAC1B,aAAK9B,WAAL,CAAiB8B,IAAjB;AACA;AACH;;AAED,YAAM;AAAEhC,QAAAA,EAAF;AAAMiC,QAAAA;AAAN,UAAwBD,IAA9B;AACA,YAAM;AAAEE,QAAAA;AAAF,UAAqB,KAAK/C,KAAhC;;AAEA,UAAI8C,IAAI,KAAK9D,WAAb,EAA0B;AACtB,aAAK+B,WAAL,CAAiBF,EAAjB;AACA;AACH;;AAED,UAAIkC,OAAJ,EAAa;AACT;AACH;;AAED,WAAKC,OAAL,CAAaH,IAAb;AACH,KA9XyB;;AAAA,mDAuYDL,UAAD,IAA4B;AAChD,YAAM;AAAES,QAAAA;AAAF,UAAsB,KAAK3C,KAAjC,CADgD,CAGhD;;AACA,WAAK4C,WAAL;AAEA,WAAKC,gBAAL,CAAsBX,UAAtB,EAAkCS,QAAlC;AACH,KA9YyB;;AAAA,6CAwZRjH,QAAQ,CAAC,CAAC6E,EAAD,EAAauC,KAAb,KAA+B;AACtD,YAAM;AAAE7B,QAAAA,aAAF;AAAiBC,QAAAA;AAAjB,UAA4C,KAAKlB,KAAvD;AAEA,WAAK+B,GAAL,CACKgB,YADL,GAEKpC,MAFL,CAEYJ,EAFZ,EAEgBuC,KAFhB,EAEuB5B,eAFvB,EAEwCD,aAFxC,EAEuD,KAAK+B,qBAF5D,EAEmF,KAAKZ,aAFxF,EAEuG;AAC/FC,QAAAA,MAAM,EAAEjF,uCADuF;AAE/FkF,QAAAA,UAAU,EAAE;AAFmF,OAFvG;AAMH,KATyB,EASvB1E,uBATuB,CAxZA;;AAAA,oCA0ahBkF,KAAD,IAAmB;AACxB,YAAM;AAAE/B,QAAAA;AAAF,UAA0B,KAAKrB,KAArC;AACA,YAAM;AACFG,QAAAA,iBAAiB,EAAE;AAAEU,UAAAA;AAAF,SADjB;AAEFU,QAAAA,aAFE;AAGFT,QAAAA;AAHE,UAIK,KAAKR,KAJhB;AAKA,YAAMsB,QAAQ,GAAG,OAAOf,EAAP,KAAc,QAAd,GAAyBA,EAAzB,GAA8BQ,YAA/C;AACA,YAAMkC,YAAoB,GAAGH,KAAK,CAACrB,IAAN,EAA7B;;AAEA,UAAI,CAACqB,KAAL,EAAY;AACR;AACA,aAAKI,eAAL,CAAqBC,MAArB,GAFQ,CAIR;AACA;;AACA,aAAKjD,QAAL,CAAc;AAAEe,UAAAA,aAAa,EAAE;AAAjB,SAAd,EAAoC,MAAM;AACtC,eAAKR,WAAL,CAAiBa,QAAjB,EAA2B,KAA3B;AACH,SAFD;AAIA;AACH;;AAED,UAAI,CAAC2B,YAAL,EAAmB;AACf;AACA;AACA,aAAK/C,QAAL,CAAc;AACVM,UAAAA,WAAW,EAAEsC;AADH,SAAd;AAGA;AACH;;AAED,WAAK5C,QAAL,CAAc;AACVL,QAAAA,iBAAiB,EAAE,KAAKiC,yBAAL,EADT;AAEVb,QAAAA,aAAa,EAAEgC,YAAY,KAAKzC,WAAjB,GAA+BS,aAA/B,GAA+C,CAFpD;AAGVT,QAAAA,WAAW,EAAEsC,KAHH;AAIVH,QAAAA,QAAQ,EAAES,SAJA;AAKV/C,QAAAA,IAAI,EAAEnC;AALI,OAAd;AAQA,WAAKgF,eAAL,CAAqB5B,QAArB,EAA+BwB,KAA/B;AACH,KAndyB;;AAAA,oCAygBjB,MAAM;AACX,YAAM;AACFjD,QAAAA,iBAAiB,EAAE;AAAEU,UAAAA,EAAF;AAAM8C,UAAAA;AAAN;AADjB,UAEK,KAAKrD,KAFhB;AAGA,YAAM;AAAEsD,QAAAA;AAAF,UAAuB,KAAK5D,KAAlC;;AACA,UAAI,CAAC4D,SAAD,IAAc,CAAC/C,EAAf,IAAqB,CAAC8C,WAA1B,EAAuC;AACnC;AACH;;AAED,YAAM;AAAEE,QAAAA;AAAF,UAAoCF,WAA1C;;AACA,UAAI,CAACE,UAAL,EAAiB;AACb;AACH;;AAED,WAAKrD,QAAL,CAAc;AACVsD,QAAAA,iBAAiB,EAAE;AADT,OAAd;AAGH,KA1hByB;;AAAA,kDAmiBH,MAAM;AACzB,YAAM;AACF3D,QAAAA,iBAAiB,EAAE;AAAEU,UAAAA;AAAF;AADjB,UAEK,KAAKP,KAFhB;AAGA,WAAKS,WAAL,CAAiBF,EAAjB,EAAqB,KAArB;AACH,KAxiByB;;AAAA,+CAijBLkD,MAAD,IAAoB;AACpC,YAAM;AAAEd,QAAAA;AAAF,UAAsB,KAAK3C,KAAjC;AACA,YAAM;AAAE0D,QAAAA;AAAF,UAA+B,KAAKhE,KAA1C;;AACA,UAAI,CAACiD,QAAD,IAAa,CAACe,iBAAlB,EAAqC;AACjC;AACH;;AAED,YAAM;AAAEL,QAAAA,WAAF;AAAeb,QAAAA;AAAf,UAAiCG,QAAvC;;AACA,UAAI,CAACU,WAAD,IAAgB,CAACb,IAArB,EAA2B;AACvB;AACH;;AAED,YAAM;AAAEmB,QAAAA;AAAF,UAA8CN,WAApD;;AACA,UAAI,CAACM,oBAAL,EAA2B;AACvB;AACH;;AAED,WAAKzD,QAAL,CAAc;AAAE0D,QAAAA,SAAS,EAAE;AAAb,OAAd;AACA,WAAK7B,GAAL,CAAS8B,MAAT,CAAgBrB,IAAhB,EAAsBsB,KAAtB,CAA4BnB,QAA5B,EAAsCc,MAAtC,EAA+CM,WAAD,IAA0B;AACpE,aAAK7D,QAAL,CAAc;AAAE0D,UAAAA,SAAS,EAAE;AAAb,SAAd;AACA,aAAKI,MAAL,CAAYD,WAAZ;AACH,OAHD;AAIH,KAvkByB;;AAAA,kCAilBnB,CAAC3C,MAAD,EAAiBC,aAAjB,KAAkD;AACrD,YAAM;AACFxB,QAAAA,iBAAiB,EAAE;AAAEU,UAAAA;AAAF;AADjB,UAEK,KAAKP,KAFhB;;AAGA,UAAIO,EAAJ,EAAQ;AACJ,aAAKL,QAAL,CAAc;AAAEkB,UAAAA,MAAF;AAAUC,UAAAA;AAAV,SAAd,EAAyC,KAAK4C,iBAA9C;AACH;AACJ,KAxlByB;;AAAA,wDAmpBG,MAAO1B,IAAP,IAAwC;AACjE,YAAM2B,OAAO,GAAGtI,OAAO,CAAC2G,IAAD,EAAO,yBAAP,CAAvB;AACA,YAAM4B,cAAc,GAAGvI,OAAO,CAACsI,OAAD,EAAU,KAAV,CAA9B;;AAEA,UAAIC,cAAJ,EAAoB;AAChB,cAAMC,qBAAqB,GAAG,MAAM,KAAKrC,GAAL,CAASsC,UAAT,CAAoB,KAApB,EAA2BC,sBAA3B,CAAkDH,cAAlD,CAApC;;AACA,YAAIC,qBAAqB,KAAKD,cAA9B,EAA8C;AAC1C,eAAKI,sBAAL,mBACO9I,SAAS,CAAC8G,IAAD,CADhB;AAEIiC,YAAAA,eAAe,EAAE;AACbN,cAAAA,OAAO,EAAE,CAACE,qBAAD,EAAwB,GAAGF,OAAO,CAACO,KAAR,CAAc,CAAd,CAA3B;AADI;AAFrB;AAMH;AACJ;AACJ,KAlqByB;;AAAA,oDA0qBAC,OAAD,IAA4B;AACjD,YAAM;AAAE7E,QAAAA;AAAF,UAAwB,KAAKG,KAAnC;AACA,YAAM;AAAE2E,QAAAA,KAAK,GAAG;AAAV,UAAiB9E,iBAAvB;;AACA,YAAM+E,aAAa,qBAAQ/E,iBAAR,CAAnB;;AAEA+E,MAAAA,aAAa,CAACD,KAAd,GAAsBA,KAAK,CAACE,GAAN,CAAUtC,IAAI,IAAKA,IAAI,CAAChC,EAAL,KAAYmE,OAAO,CAACnE,EAApB,GAAyBmE,OAAzB,GAAmCnC,IAAtD,CAAtB;AACA,WAAKrC,QAAL,CAAc;AAAEL,QAAAA,iBAAiB,EAAE+E;AAArB,OAAd;AACH,KAjrByB;;AAAA,oCA2rBjB,UAACrC,IAAD,EAAoD;AAAA,UAApCuC,QAAoC,uEAAfjJ,IAAe;AACzD,YAAM;AAAE8G,QAAAA,QAAF;AAAY9C,QAAAA;AAAZ,UAAyC,KAAI,CAACG,KAApD;AACA,YAAM;AAAE2E,QAAAA,KAAK,GAAG;AAAV,UAAiB9E,iBAAvB;AACA,YAAM;AAAEkF,QAAAA;AAAF,UAAsB,KAAI,CAACrF,KAAjC;;AAEA,UAAI6C,IAAI,KAAKI,QAAb,EAAuB;AACnBmC,QAAAA,QAAQ,CAACvC,IAAD,CAAR;AACA;AACH;;AAED,YAAMyC,YAAqB,qBAAQzC,IAAR;AAAcI,QAAAA,QAAQ,EAAE;AAAxB,QAA3B;;AAEA,MAAA,KAAI,CAACE,gBAAL,CAAsBhD,iBAAtB,EAAyCmF,YAAzC,EAAuD,MAAM;AACzDD,QAAAA,QAAQ,CAACtJ,SAAS,CAAC,CAACuJ,YAAD,CAAD,CAAV,CAAR;AACAF,QAAAA,QAAQ,CAACE,YAAD,CAAR;AACH,OAHD;;AAKA,YAAMC,UAAkB,GAAGN,KAAK,CAACO,SAAN,CAAiBC,CAAD,IAAgBA,CAAC,CAAC5E,EAAF,KAASgC,IAAI,CAAChC,EAA9C,CAA3B;;AAEA,MAAA,KAAI,CAACL,QAAL,CAAc;AAAE+E,QAAAA;AAAF,OAAd;AACH,KA/sByB;;AAAA,qCAytBf1C,IAAD,IAAyB;AAC/B,YAAM;AAAEC,QAAAA,IAAF;AAAQ4C,QAAAA;AAAR,UAAyB7C,IAA/B;;AACA,UAAIC,IAAI,KAAK/D,YAAb,EAA2B;AACvB4G,QAAAA,MAAM,CAACC,IAAP,CAAYF,GAAZ;AACA;AACH;;AAED,WAAKpB,MAAL,CAAYzB,IAAZ,EAAkB,KAAKgD,eAAvB;AACH,KAjuByB;;AAAA,6CA0uBR,MAAY;AAC1B,YAAM;AAAE5C,QAAAA;AAAF,UAAsB,KAAK3C,KAAjC;AACA,YAAM;AAAEwF,QAAAA;AAAF,UAAwB,KAAK9F,KAAnC;;AACA,UAAI,CAACiD,QAAD,IAAa,CAAC6C,UAAlB,EAA8B;AAC1B;AACH;;AAED,YAAM;AAAEnC,QAAAA;AAAF,UAAkBV,QAAxB;;AACA,UAAI,CAACU,WAAL,EAAkB;AACd;AACH;;AAED,YAAM;AAAEoC,QAAAA;AAAF,UAAqCpC,WAA3C;;AACA,UAAI,CAACoC,WAAL,EAAkB;AACd;AACH;;AAED,WAAKvF,QAAL,CAAc;AAAEwF,QAAAA,kBAAkB,EAAE;AAAtB,OAAd;AACH,KA5vByB;;AAAA,sCAqwBdnD,IAAD,IAAyB;AAChC,WAAKyB,MAAL,CAAYzB,IAAZ,EAAkB,KAAKoD,gBAAvB;AACH,KAvwByB;;AAAA,8CA+wBP,MAAY;AAC3B,YAAM;AAAEhD,QAAAA;AAAF,UAAsB,KAAK3C,KAAjC;AACA,YAAM;AAAE4F,QAAAA,WAAF;AAAeC,QAAAA;AAAf,UAAqC,KAAKnG,KAAhD;;AACA,UAAI,CAACiD,QAAD,IAAa,CAACiD,WAAlB,EAA+B;AAC3B;AACH;;AAED,YAAM;AAAErF,QAAAA,EAAF;AAAM8C,QAAAA;AAAN,UAAsBV,QAA5B;;AACA,UAAI,CAACpC,EAAD,IAAO,CAAC8C,WAAZ,EAAyB;AACrB;AACH;;AAED,YAAM;AAAEyC,QAAAA;AAAF,UAAsCzC,WAA5C;;AACA,UAAI,CAACyC,YAAL,EAAmB;AACf;AACH;;AAED,YAAMC,OAAiB,GAAIX,GAAD,IAAiB;AACvC/I,QAAAA,mBAAmB,CAAC+I,GAAD,CAAnB;AACAS,QAAAA,UAAU,CAACpK,SAAS,CAAC,CAACkH,QAAD,CAAD,CAAV,CAAV;AACH,OAHD;;AAKA,YAAM;AAAEH,QAAAA;AAAF,UAAoBG,QAA1B;;AACA,UAAIH,IAAI,KAAKhE,SAAb,EAAwB;AACpB,aAAKuD,GAAL,CAASsC,UAAT,GAAsB2B,cAAtB,CAAqCzF,EAArC,EAAyCoC,QAAzC,EAAmDoD,OAAnD,EAA4DlK,IAA5D;AACH;AACJ,KAzyByB;;AAAA,oCAkzBhB0G,IAAD,IAAyB;AAC9B,WAAKyB,MAAL,CAAYzB,IAAZ,EAAkB,KAAK0D,cAAvB;AACH,KApzByB;;AAAA,4CA4zBT,MAAY;AACzB,YAAM;AAAEtD,QAAAA,QAAF;AAAYuD,QAAAA;AAAZ,UAAyC,KAAKlG,KAApD;AACA,YAAM;AAAEmG,QAAAA,SAAF;AAAaC,QAAAA;AAAb,UAAiC,KAAK1G,KAA5C;;AACA,UAAI,CAACiD,QAAD,IAAa,CAACwD,SAAlB,EAA6B;AACzB;AACH;;AAED,YAAM;AAAE5F,QAAAA,EAAF;AAAM8C,QAAAA,WAAN;AAAmBgD,QAAAA,MAAnB;AAA2B7D,QAAAA;AAA3B,UAA6CG,QAAnD;;AACA,UAAI,CAACpC,EAAD,IAAO,CAAC8C,WAAR,IAAuB,CAACgD,MAAxB,IAAkC,CAAC7D,IAAvC,EAA6C;AACzC;AACH;;AAED,YAAM;AAAEjC,QAAAA,EAAE,EAAE+F;AAAN,UAAmBD,MAAzB;AACA,YAAM;AAAEE,QAAAA;AAAF,UAAoClD,WAA1C;;AACA,UAAI,CAACkD,UAAD,IAAe,CAACD,QAApB,EAA8B;AAC1B;AACH;;AAED,UAAI,CAACJ,iBAAL,EAAwB;AACpB,aAAKhG,QAAL,CAAc;AAAEgG,UAAAA,iBAAiB,EAAE;AAArB,SAAd;AACA;AACH;;AAED,WAAKhG,QAAL,CAAc;AAAE0D,QAAAA,SAAS,EAAE;AAAb,OAAd;AACA,WAAK7B,GAAL,CAAS8B,MAAT,CAAgBrB,IAAhB,EAAsBgE,UAAtB,CACI7D,QADJ,EAEI,MAAM;AACFyD,QAAAA,QAAQ,CAAC3K,SAAS,CAAC,CAACkH,QAAD,CAAD,CAAV,CAAR;AACA,aAAKsB,iBAAL;AACH,OALL,EAMI,MAAM;AACF,aAAKA,iBAAL;AACH,OARL;AAUH,KA91ByB;;AAAA,oCAu2BhB1B,IAAD,IAAyB;AAC9B,WAAKyB,MAAL,CAAYzB,IAAZ,EAAkB,KAAKkE,cAAvB;AACH,KAz2ByB;;AAAA,4CAk3BT,CAACC,cAAD,EAAyBC,SAAzB,KAAqD;AAClE,YAAM;AAAEhE,QAAAA,QAAF;AAAYiE,QAAAA;AAAZ,UAAyC,KAAK5G,KAApD;AACA,YAAM;AAAE6G,QAAAA,SAAF;AAAaC,QAAAA;AAAb,UAAiC,KAAKpH,KAA5C;;AACA,UAAI,CAACiD,QAAD,IAAa,CAACkE,SAAlB,EAA6B;AACzB;AACH;;AAED,YAAM;AAAEtG,QAAAA,EAAF;AAAM8C,QAAAA,WAAN;AAAmBb,QAAAA;AAAnB,UAAqCG,QAA3C;;AACA,UAAI,CAACpC,EAAD,IAAO,CAAC8C,WAAR,IAAuB,CAACb,IAA5B,EAAkC;AAC9B;AACH;;AAED,YAAM;AAAEuE,QAAAA;AAAF,UAAoC1D,WAA1C;;AACA,UAAI,CAAC0D,UAAL,EAAiB;AACb;AACH;;AAED,UAAI,CAACH,iBAAD,IAAsB,CAACF,cAA3B,EAA2C;AACvC,aAAKxG,QAAL,CAAc;AAAE0G,UAAAA,iBAAiB,EAAE,IAArB;AAA2BI,UAAAA,SAAS,EAAE;AAAtC,SAAd;AACA;AACH;;AAED,YAAMC,IAAI,aAAMP,cAAN,SAAuBC,SAAvB,CAAV;;AACA,UAAI,CAACD,cAAc,CAACjF,IAAf,EAAL,EAA4B;AACxB,aAAKvB,QAAL,CAAc;AACV8G,UAAAA,SAAS,EAAE/H,4BADD;AAEV2E,UAAAA,SAAS,EAAE;AAFD,SAAd;AAIA;AACH;;AAED,WAAK1D,QAAL,CAAc;AAAE0D,QAAAA,SAAS,EAAE;AAAb,OAAd;AACA,WAAK7B,GAAL,CAAS8B,MAAT,CAAgBrB,IAAhB,EAAsB0E,MAAtB,CACIvE,QADJ,EAEIsE,IAAI,CAACxF,IAAL,EAFJ,EAGKsC,WAAD,IAA0B;AACtB,aAAK7D,QAAL,CAAc;AAAE0G,UAAAA,iBAAiB,EAAE;AAArB,SAAd;AACA,aAAK3C,iBAAL;AACA,aAAKD,MAAL,CAAYD,WAAZ;AACA+C,QAAAA,QAAQ,CAACrL,SAAS,CAACkH,QAAD,CAAV,CAAR;AACH,OARL,EASI,UAAc;AAAA,YAAb;AAAEwE,UAAAA;AAAF,SAAa;AACV,aAAKjH,QAAL,CAAc;AAAE8G,UAAAA,SAAS,EAAEG,IAAb;AAAmBvD,UAAAA,SAAS,EAAE;AAA9B,SAAd;AACH,OAXL;AAaH,KA/5ByB;;AAAA,0CAu6BX,MAAY;AACvB,WAAKwD,oBAAL;AACH,KAz6ByB;;AAAA,kDAk7BFH,IAAD,IAAyB;AAC5C,YAAM;AAAEI,QAAAA,uBAAF;AAA2BxH,QAAAA;AAA3B,UAAwD,KAAKG,KAAnE;AACA,YAAM;AAAEsH,QAAAA,kBAAF;AAAsBC,QAAAA;AAAtB,UAA0C,KAAK7H,KAArD;;AACA,UAAI,CAAC4H,kBAAL,EAAyB;AACrB;AACH;;AAED,YAAM;AAAE/G,QAAAA,EAAF;AAAM8C,QAAAA;AAAN,UAAkCxD,iBAAxC;;AACA,UAAI,CAACU,EAAD,IAAO,CAAC8C,WAAZ,EAAyB;AACrB;AACH;;AAED,YAAM;AAAEE,QAAAA;AAAF,UAAoCF,WAA1C;;AACA,UAAI,CAACE,UAAL,EAAiB;AACb;AACH;;AAED,UAAI,CAAC8D,uBAAD,IAA4B,CAACJ,IAAjC,EAAuC;AACnC,aAAK/G,QAAL,CAAc;AAAEmH,UAAAA,uBAAuB,EAAE,IAA3B;AAAiCL,UAAAA,SAAS,EAAE;AAA5C,SAAd;AACA;AACH;;AAED,UAAI,CAACC,IAAI,CAACxF,IAAL,EAAL,EAAkB;AACd,aAAKvB,QAAL,CAAc;AACV8G,UAAAA,SAAS,EAAE/H,4BADD;AAEV2E,UAAAA,SAAS,EAAE;AAFD,SAAd;AAIA;AACH;;AAED,UAAIqD,IAAI,CAACvF,MAAL,GAAc,GAAlB,EAAuB;AACnB,aAAKxB,QAAL,CAAc;AACV8G,UAAAA,SAAS,EAAE9H,6BADD;AAEV0E,UAAAA,SAAS,EAAE;AAFD,SAAd;AAIA;AACH;;AAED,WAAK1D,QAAL,CAAc;AAAE0D,QAAAA,SAAS,EAAE;AAAb,OAAd;AACA,WAAK7B,GAAL,CAASC,YAAT,GAAwBwF,MAAxB,CACIjH,EADJ,EAEI0G,IAAI,CAACxF,IAAL,EAFJ,EAGKc,IAAD,IAAmB;AACf,aAAK0B,iBAAL;AACA,aAAKD,MAAL,CAAYzB,IAAZ;AACAgF,QAAAA,QAAQ,CAAC9L,SAAS,CAAC8G,IAAD,CAAV,CAAR;AACH,OAPL,EAQI,WAAc;AAAA,YAAb;AAAE4E,UAAAA;AAAF,SAAa;AACV,aAAKjH,QAAL,CAAc;AACV8G,UAAAA,SAAS,EAAEG,IADD;AAEVvD,UAAAA,SAAS,EAAE;AAFD,SAAd;AAIH,OAbL;AAeH,KAx+ByB;;AAAA,mCAi/BjBrB,IAAD,IAAyB;AAC7B,WAAKyB,MAAL,CAAYzB,IAAZ,EAAkB,KAAKkF,aAAvB;AACH,KAn/ByB;;AAAA,iDA0/BHlF,IAAD,IAAyB;AAC3C,YAAM;AAAEhC,QAAAA,EAAF;AAAMiC,QAAAA;AAAN,UAAwBD,IAA9B;;AAEA,cAAQC,IAAR;AACI,aAAK9D,WAAL;AACI,eAAKqD,GAAL,CAASC,YAAT,GAAwB0F,eAAxB,CAAwCnH,EAAxC,EAA4C,KAAKoH,uBAAjD,EAA0E9L,IAA1E,EAAgF;AAC5EwG,YAAAA,MAAM,EAAElF;AADoE,WAAhF;AAGA;;AACJ,aAAKqB,SAAL;AACI,eAAKuD,GAAL,CACKsC,UADL,GAEKuD,OAFL,CAEarH,EAFb,EAEiB,KAAKoH,uBAFtB,EAE+C9L,IAF/C,EAEqD;AAAEwG,YAAAA,MAAM,EAAElF;AAAV,WAFrD;AAGA;;AACJ,aAAKsB,YAAL;AACI,eAAKsD,GAAL,CACK8F,aADL,GAEKC,UAFL,CAEgBvH,EAFhB,EAEoB,KAAKoH,uBAFzB,EAEkD9L,IAFlD,EAEwD;AAAEwG,YAAAA,MAAM,EAAElF;AAAV,WAFxD;AAGA;;AACJ;AACI,gBAAM,IAAI0D,KAAJ,CAAU,cAAV,CAAN;AAjBR;AAmBH,KAhhCyB;;AAAA,qDAyhCA,MAAO0B,IAAP,IAAyB;AAC/C,YAAM;AAAE1C,QAAAA;AAAF,UAAwB,KAAKG,KAAnC;AACA,UAAI+D,WAAW,GAAGxB,IAAlB,CAF+C,CAI/C;;AACA,UAAI,CAACA,IAAI,CAACvE,iBAAD,CAAL,IAA4BpC,OAAO,CAAC2G,IAAD,EAAOxE,2BAAP,EAAoC,KAApC,CAAvC,EAAmF;AAC/E;AACA,cAAM,KAAKgE,GAAL,CAAS8B,MAAT,CAAgBtB,IAAI,CAACC,IAArB,EAA2BsB,KAA3B,CAAiCvB,IAAjC,EAAuCa,SAAvC,EAAmD2E,UAAD,IAAyB;AAC7EhE,UAAAA,WAAW,GAAGgE,UAAd;AACH,SAFK,CAAN;AAGH;;AAED,WAAKlF,gBAAL,CAAsBhD,iBAAtB,EAAyCkE,WAAzC,EAAsD,MAAM,KAAK7D,QAAL,CAAc;AAAE8H,QAAAA,gBAAgB,EAAE;AAApB,OAAd,CAA5D;AACH,KAtiCyB;;AAAA,2CA8iCV,MAAY;AACxB,YAAM;AAAErF,QAAAA;AAAF,UAAsB,KAAK3C,KAAjC;AACA,YAAM;AAAEiI,QAAAA;AAAF,UAAsB,KAAKvI,KAAjC;;AAEA,UAAI,CAACiD,QAAD,IAAa,CAACsF,QAAlB,EAA4B;AACxB;AACH;;AAED,YAAM;AAAE5E,QAAAA,WAAF;AAAeb,QAAAA;AAAf,UAAwBG,QAA9B;;AACA,UAAI,CAACU,WAAD,IAAgB,CAACb,IAArB,EAA2B;AACvB;AACH;;AAED,YAAM;AAAE0F,QAAAA;AAAF,UAAmC7E,WAAzC;;AACA,UAAI,CAAC6E,SAAL,EAAgB;AACZ;AACH;;AAED,WAAKC,mBAAL,CAAyBxF,QAAzB;AACH,KAjkCyB;;AAAA,sCA0kCdyF,KAAD,IAAwC;AAC/C,WAAKA,KAAL,GAAaA,KAAb;AACH,KA5kCyB;;AAAA,yCAolCZ,MAAY;AACtB,YAAM;AAAEnD,QAAAA;AAAF,UAAwB,KAAKjF,KAAnC;AAEA,WAAKE,QAAL,CAAc;AACV0D,QAAAA,SAAS,EAAE,KADD;AAEVsC,QAAAA,iBAAiB,EAAE,KAFT;AAGVU,QAAAA,iBAAiB,EAAE,KAHT;AAIVS,QAAAA,uBAAuB,EAAE,KAJf;AAKVW,QAAAA,gBAAgB,EAAE,KALR;AAMVxE,QAAAA,iBAAiB,EAAE,KANT;AAOVkC,QAAAA,kBAAkB,EAAE;AAPV,OAAd;AAUA,YAAM;AACF/C,QAAAA,QADE;AAEF9C,QAAAA,iBAAiB,EAAE;AAAE8E,UAAAA,KAAK,GAAG;AAAV;AAFjB,UAGK,KAAK3E,KAHhB;;AAIA,UAAI2C,QAAQ,IAAIgC,KAAK,CAACjD,MAAN,GAAe,CAA/B,EAAkC;AAC9BxE,QAAAA,KAAK,CAAC,KAAK2E,WAAN,0BAAoCoD,UAApC,EAAL;AACH;AACJ,KAxmCyB;;AAAA,2CA+mCV,MAAM;AAAA;;AAClB,YAAMoD,uBAAuB,4BAAGC,QAAQ,CAACC,aAAZ,0DAAG,sBAAwBC,SAAxD;AACA,aAAOH,uBAAuB,IAAIA,uBAAuB,CAACI,QAAxB,CAAiC,eAAjC,CAAlC;AACH,KAlnCyB;;AAAA,uCA0nCbC,KAAD,IAAgD;AACxD,UAAIzL,cAAc,CAACyL,KAAK,CAACC,MAAP,CAAlB,EAAkC;AAC9B;AACH;;AAED,YAAM;AAAE5H,QAAAA;AAAF,UAA0B,KAAKrB,KAArC;AACA,YAAMkJ,GAAG,GAAGF,KAAK,CAACE,GAAN,CAAUC,WAAV,EAAZ;;AAEA,cAAQD,GAAR;AACI,aAAK,GAAL;AACI1L,UAAAA,KAAK,CAAC,KAAK2E,WAAN,EAAmB,iCAAnB,EAAsD,KAAtD,CAAL;AACA6G,UAAAA,KAAK,CAACI,cAAN;AACA;;AACJ,aAAK,WAAL;AACI,cAAI,KAAKC,WAAL,OAAuB3J,cAA3B,EAA2C;AACvC,gBAAI,CAAC,KAAK4J,aAAL,EAAL,EAA2B;AACvB9L,cAAAA,KAAK,CAAC,KAAK2E,WAAN,EAAmB,8BAAnB,EAAmD,KAAnD,CAAL;AACA6G,cAAAA,KAAK,CAACI,cAAN;AACH;AACJ,WALD,MAKO;AACH5L,YAAAA,KAAK,CAAC,KAAK2E,WAAN,EAAmB,eAAnB,EAAoC,KAApC,CAAL;AACA,iBAAK3B,QAAL,CAAc;AAAE+E,cAAAA,UAAU,EAAE;AAAd,aAAd;AACAyD,YAAAA,KAAK,CAACI,cAAN;AACH;;AACD;;AACJ,aAAK,GAAL;AACI;;AACJ,aAAK,GAAL;AACI,cAAI,KAAKG,cAAT,EAAyB;AACrB/L,YAAAA,KAAK,CAAC,KAAK2E,WAAN,EAAmB,uBAAnB,EAA4C,KAA5C,CAAL;AACA6G,YAAAA,KAAK,CAACI,cAAN;AACH;;AAED;;AACJ,aAAK,GAAL;AACI,cAAI,KAAKG,cAAT,EAAyB;AACrB,iBAAKxI,WAAL,CAAiBM,YAAjB;AACA2H,YAAAA,KAAK,CAACI,cAAN;AACH;;AAED;;AACJ,aAAK,GAAL;AACI,cAAI,KAAKG,cAAT,EAAyB;AACrB,iBAAKC,MAAL;AACAR,YAAAA,KAAK,CAACI,cAAN;AACH;;AAED;;AACJ,aAAK,GAAL;AACI,cAAI,KAAKG,cAAT,EAAyB;AACrB,iBAAKvI,WAAL;AACAgI,YAAAA,KAAK,CAACI,cAAN;AACH;;AAED;;AACJ,aAAK,GAAL;AACI,cAAI,KAAKG,cAAT,EAAyB;AACrB,iBAAKE,YAAL;AACAT,YAAAA,KAAK,CAACI,cAAN;AACH;;AAED;;AACJ;AACI,eAAKG,cAAL,GAAsB,KAAtB;AACA;AAxDR;;AA2DA,WAAKA,cAAL,GAAsBL,GAAG,KAAK,GAA9B;AACH,KA9rCyB;;AAAA,sCAqsCdQ,SAAD,IAAuB;AAC9B,WAAKlJ,QAAL,CAAc;AAAEe,QAAAA,aAAa,EAAEmI;AAAjB,OAAd,EAA4C,KAAKnF,iBAAjD;AACH,KAvsCyB;;AAAA,iDA6sCHmF,SAAD,IAAuB;AACzC,YAAM;AAAEtJ,QAAAA;AAAF,UAAwB,KAAKE,KAAnC;AACA,WAAKE,QAAL,CACI;AACIJ,QAAAA,iBAAiB,EAAEA,iBAAiB,GAAGsJ,SAD3C,CACsD;;AADtD,OADJ,EAII,KAAKnF,iBAJT;AAMH,KArtCyB;;AAAA,yCA4tCZ,MAAgB,KAAKoF,KAAL,CAAWC,OAAX,CAAmB/J,kBAAnB,KAA0ChB,cA5tC9C;;AAAA,mEAouCc,MAAc;AAClD,YAAM;AAAEgL,QAAAA,OAAF;AAAWC,QAAAA,QAAX;AAAqBC,QAAAA;AAArB,UAAiC,KAAK/J,KAA5C;AACA,UAAIgK,eAAe,GAAGrK,qBAAtB;;AACA,UAAIkK,OAAJ,EAAa;AACTG,QAAAA,eAAe,GAAG,CAAlB;AACH,OAFD,MAEO,IAAIF,QAAJ,EAAc;AACjBE,QAAAA,eAAe,GAAG,CAAlB;AACH,OAFM,MAEA,IAAID,OAAJ,EAAa;AAChBC,QAAAA,eAAe,GAAG,CAAlB;AACH;;AACD,aAAOA,eAAP;AACH,KA/uCyB;;AAAA,4CAuvCRC,QAAD,IAA8B;AAC3C,WAAKN,KAAL,CAAWO,OAAX,CAAmBrK,kBAAnB,EAAuCoK,QAAvC;AACA,WAAKE,WAAL;AACH,KA1vCyB;;AAAA,oDAkwCAC,WAAD,IAA+B;AACpD;AACA;AACA,YAAMC,eAAe,GAAG1K,qBAAqB,GAAGyK,WAAxB,GAAsC,CAA9D;AACA,WAAK5J,QAAL,CAAc;AAAE6J,QAAAA;AAAF,OAAd;AACH,KAvwCyB;;AAAA,4CAixCT,CACbxH,IADa,EAEbyH,KAFa,EAGbC,QAHa,EAIbC,QAJa,KAKN;AACP,WAAKC,sBAAL,CAA4BC,cAA5B,CACI7H,IADJ,EAEIyH,KAFJ,EAGIC,QAHJ,EAIIC,QAJJ,EAKI,MAAM;AACF,aAAKG,6BAAL,CAAmC9H,IAAnC,EAAyCyH,KAAzC,EAAgDE,QAAhD;AACH,OAPL,EAQI,KAAK9H,aART;AAUH,KAjyCyB;;AAAA,2DAmyCM,CAACG,IAAD,EAAgByH,KAAhB,EAA+BE,QAA/B,KAAuE;AACnG,YAAM;AAAErK,QAAAA;AAAF,UAA+B,KAAKG,KAA1C;AACA,YAAM;AAAE2E,QAAAA,KAAK,GAAG,EAAV;AAAc/E,QAAAA;AAAd,UAA6BC,iBAAnC;AACA,YAAMyK,YAAY,GAAG3F,KAAK,CAACE,GAAN,CAAU0F,cAAc,IAAI;AAC7C,cAAMC,UAAU,GAAG/O,SAAS,CAAC8O,cAAD,CAA5B;;AACA,YAAIhI,IAAI,CAAChC,EAAL,KAAYiK,UAAU,CAACjK,EAA3B,EAA+B;AAC3B,gBAAM8B,MAAM,GAAGzG,OAAO,CAAC4O,UAAD,EAAa,4BAAb,EAA2C,EAA3C,CAAtB;AACAnI,UAAAA,MAAM,CAACoI,OAAP,CAAeC,SAAS,IAAI;AACxB,gBAAIA,SAAS,CAAC9B,GAAV,CAAc+B,KAAd,CAAoB,GAApB,EAAyBC,GAAzB,OAAmCZ,KAAvC,EAA8C;AAC1CU,cAAAA,SAAS,CAACG,KAAV,GAAkBX,QAAlB,CAD0C,CACd;AAC/B;AACJ,WAJD;AAKH;;AACD,eAAOM,UAAP;AACH,OAXoB,CAArB;AAaA,WAAKtK,QAAL,CAAc;AACVL,QAAAA,iBAAiB,EAAE;AACf8E,UAAAA,KAAK,EAAE2F,YADQ;AAEf1K,UAAAA,UAFe;AAGfO,UAAAA,aAAa,EAAE;AAHA;AADT,OAAd;AAOH,KA1zCyB;;AAGtB,UAAM;AACF2K,MAAAA,OADE;AAEFC,MAAAA,WAFE;AAGFC,MAAAA,eAHE;AAIFC,MAAAA,QAJE;AAKFC,MAAAA,kBALE;AAMFC,MAAAA,mBANE;AAOFpK,MAAAA,YAAY,EAAZA,aAPE;AAQFqK,MAAAA,UARE;AASFC,MAAAA,kBATE;AAUFjK,MAAAA,MAAM,EAANA,OAVE;AAWFC,MAAAA,aAAa,EAAbA,cAXE;AAYFiK,MAAAA,KAZE;AAaFC,MAAAA;AAbE,QAcK7L,KAdX;AAgBA,SAAKqC,GAAL,GAAW,IAAIxF,GAAJ,CAAQ;AACfuO,MAAAA,OADe;AAEfU,MAAAA,UAAU,EAAE7M,4BAFG;AAGf4B,MAAAA,EAAE,YAAKpB,sBAAL,SAA8B4B,aAA9B,CAHa;AAIfkK,MAAAA,QAJe;AAKfC,MAAAA,kBALe;AAMfC,MAAAA,mBANe;AAOfC,MAAAA,UAPe;AAQfC,MAAAA,kBARe;AASfC,MAAAA,KATe;AAUfC,MAAAA;AAVe,KAAR,CAAX;AAaA,SAAKhL,EAAL,GAAUzE,QAAQ,CAAC,MAAD,CAAlB;AAEA,SAAKkE,KAAL,GAAa;AACTH,MAAAA,iBAAiB,EAAE,EADV;AAEToB,MAAAA,aAAa,EAAE+J,eAAe,IAAID,WAAW,GAAG,CAAlB,CAFrB;AAGT7J,MAAAA,eAAe,EAAE8J,eAHR;AAITlL,MAAAA,iBAAiB,EAAE,CAJV;AAKTkH,MAAAA,SAAS,EAAE,EALF;AAMT/B,MAAAA,UAAU,EAAE,CANH;AAOT8E,MAAAA,eAAe,EAAE,CAPR;AAQT1C,MAAAA,uBAAuB,EAAE,KARhB;AASTnB,MAAAA,iBAAiB,EAAE,KATV;AAUTtC,MAAAA,SAAS,EAAE,KAVF;AAWT8B,MAAAA,kBAAkB,EAAE,KAXX;AAYTkB,MAAAA,iBAAiB,EAAE,KAZV;AAaToB,MAAAA,gBAAgB,EAAE,KAbT;AAcTxE,MAAAA,iBAAiB,EAAE,KAdV;AAeTzD,MAAAA,OAAO,EAAE,EAfA;AAgBT0L,MAAAA,QAAQ,EAAE,EAhBD;AAiBTjL,MAAAA,WAAW,EAAE,EAjBJ;AAkBTY,MAAAA,MAAM,EAANA,OAlBS;AAmBTC,MAAAA,aAAa,EAAbA,cAnBS;AAoBThB,MAAAA,IAAI,EAAElC;AApBG,KAAb;AAsBH;AAED;;;;;;;;AAMAuN,EAAAA,UAAU,GAAS;AACf,SAAK3J,GAAL,CAAS4J,OAAT,CAAiB,IAAjB;AACH;AAED;;;;;;;;;AAOAC,EAAAA,oBAAoB,GAAG;AACnB,SAAKF,UAAL;AACH;AAED;;;;;;;;;AAOAG,EAAAA,iBAAiB,GAAG;AAChB,UAAM;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,QAA0C,KAAKrM,KAArD;AACA,SAAKmC,WAAL,GAAqByG,QAAQ,CAAC0D,cAAT,CAAwB,KAAKzL,EAA7B,CAArB;AACA,SAAK0L,UAAL,GAAoB,KAAKpK,WAAL,CAAiBqK,iBAArC;;AAEA,YAAQH,WAAR;AACI,WAAKhN,oBAAL;AACI,aAAK2B,WAAL;AACA;;AACJ,WAAK1B,qBAAL;AACI,aAAK4B,wBAAL;AACA;;AACJ;AACI,aAAKH,WAAL,CAAiBqL,eAAjB;AARR;AAUH;AAED;;;;;;;;;;AAQAK,EAAAA,kBAAkB,QAA2CC,SAA3C,EAAmE;AAAA,QAAlE;AAAEN,MAAAA,eAAe,EAAEO;AAAnB,KAAkE;AACjF,UAAM;AAAEP,MAAAA;AAAF,QAA6B,KAAKpM,KAAxC;AACA,UAAM;AACFG,MAAAA,iBAAiB,EAAE;AAAEU,QAAAA;AAAF;AADjB,QAEK6L,SAFX;;AAIA,QAAIC,YAAY,KAAKP,eAArB,EAAsC;AAClC;AACH;;AAED,QAAI,OAAOA,eAAP,KAA2B,QAA3B,IAAuCvL,EAAE,KAAKuL,eAAlD,EAAmE;AAC/D,WAAKrL,WAAL,CAAiBqL,eAAjB;AACH;AACJ;AAED;;;;;;;;;AAwBA;;;;;;AAMAlL,EAAAA,wBAAwB,GAAG;AACvB,UAAM;AAAE0L,MAAAA,aAAa,GAAG;AAAlB,QAAgC,KAAK5M,KAA3C;AACA,UAAM;AAAEI,MAAAA,iBAAF;AAAqBC,MAAAA;AAArB,QAAwC,KAAKC,KAAnD;AACA,UAAMuM,kBAAkB,GAAG9Q,SAAS,CAAC6Q,aAAD,CAApC;;AAEA,QAAIxM,iBAAiB,KAAK,CAA1B,EAA6B;AACzB;AACAC,MAAAA,OAAO,CAACD,iBAAD,CAAP,GAA6ByM,kBAAkB,CAACC,MAAhD;AACH;;AAED,QAAI,OAAOzM,OAAO,CAACD,iBAAD,CAAd,KAAsC,QAA1C,EAAoD;AAChD;AACAyM,MAAAA,kBAAkB,CAACC,MAAnB,GAA4BzM,OAAO,CAACD,iBAAD,CAAnC;AACH;;AAED,QAAI,OAAOyM,kBAAkB,CAACpL,KAA1B,KAAoC,QAAxC,EAAkD;AAC9C;AACAoL,MAAAA,kBAAkB,CAACpL,KAAnB,GAA2BtC,iBAA3B;AACH,KAlBsB,CAmBvB;;;AACA,SAAKqB,QAAL,CAAc;AACVM,MAAAA,WAAW,EAAE,EADH;AAEVX,MAAAA,iBAAiB,EAAE,KAAKiC,yBAAL,EAFT;AAGVzB,MAAAA,IAAI,EAAE/B;AAHI,KAAd;AAKA,SAAK6L,sBAAL,GAA8B,IAAI3N,sBAAJ,CAA2B,KAAKuF,GAAhC,CAA9B;AACA,SAAKoI,sBAAL,CAA4BsC,yBAA5B,CACIF,kBADJ,EAEI,KAAKG,uCAFT,EAGI,KAAKtK,aAHT;AAKH;AAED;;;;;;;;AAMAN,EAAAA,yBAAyB,GAAe;AACpC,UAAM;AAAEjC,MAAAA;AAAF,QAA+B,KAAKG,KAA1C;AACA,WAAO,SAAcH,iBAAd,EAAiC;AACpCM,MAAAA,aAAa,EAAE;AADqB,KAAjC,CAAP;AAGH;AAED;;;;;;;;;AAgBA;;;;;;AAMAwM,EAAAA,gBAAgB,GAAG;AACf,UAAM;AAAEC,MAAAA;AAAF,QAAuB,KAAKlN,KAAlC;AACA,UAAM;AACFG,MAAAA,iBAAiB,EAAE;AAAEM,QAAAA;AAAF;AADjB,QAEK,KAAKH,KAFhB,CAFe,CAMf;;AACA,QAAI,KAAK4B,SAAL,IAAkB,CAACgL,SAAvB,EAAkC;AAC9B,WAAKhL,SAAL,GAAiB,KAAjB;AACA;AACH,KAVc,CAYf;;;AACA,QAAIzB,aAAa,KAAK,GAAlB,IAAyB,CAACnD,kBAAkB,CAACsL,QAAQ,CAACC,aAAV,CAAhD,EAA0E;AACtErL,MAAAA,KAAK,CAAC,KAAK2E,WAAN,EAAmB,eAAnB,CAAL;AACA,WAAK3B,QAAL,CAAc;AAAE+E,QAAAA,UAAU,EAAE;AAAd,OAAd;AACH;;AAED,SAAKrD,SAAL,GAAiB,KAAjB;AACH;AAED;;;;;;;;;AA0BA;;;;;;;;AAQAO,EAAAA,0BAA0B,CAACD,UAAD,EAAyBpB,sBAAzB,EAAgE;AACtF,UAAM;AAAE+L,MAAAA,UAAF;AAAc9L,MAAAA;AAAd,QAAsC,KAAKrB,KAAjD;AACA,UAAM;AAAEoN,MAAAA,OAAF;AAAWvM,MAAAA,EAAX;AAAe0G,MAAAA;AAAf,QAAoC/E,UAA1C;AACA,UAAM;AAAES,MAAAA;AAAF,QAAsB,KAAK3C,KAAjC;AACA,UAAMyL,QAAQ,GAAGlL,EAAE,KAAKQ,YAAP,GAAsBkG,IAAtB,GAA6B,EAA9C,CAJsF,CAMtF;;AACA,SAAKrE,WAAL;AAEA,SAAKC,gBAAL,CAAsBX,UAAtB,EAAkCS,QAAlC,EAA4C,MAAM;AAC9C,UAAI7B,sBAAJ,EAA4B;AACxB;AACA,aAAKZ,QAAL,CAAc;AAAEuL,UAAAA;AAAF,SAAd,EAA4B,KAAKkB,gBAAjC;;AACA,YAAIG,OAAJ,EAAa;AACTD,UAAAA,UAAU,CAACpR,SAAS,CAACqR,OAAD,CAAV,CAAV;AACH;AACJ,OAND,MAMO;AACH,aAAK5M,QAAL,CAAc;AAAEuL,UAAAA;AAAF,SAAd;AACH;AACJ,KAVD;AAWH;AAED;;;;;;;;;;AAwKA;;;;;;;;AAQAsB,EAAAA,sBAAsB,CAAC7K,UAAD,EAAyBpB,sBAAzB,EAA0D;AAC5E,QAAIA,sBAAJ,EAA4B;AACxB,WAAK+B,gBAAL,CAAsBX,UAAtB,EAAkCkB,SAAlC,EAA6C,KAAKuJ,gBAAlD;AACH,KAFD,MAEO;AACH,WAAK9J,gBAAL,CAAsBX,UAAtB;AACH;AACJ;AAED;;;;;;;;;AAOAxB,EAAAA,WAAW,GAA+C;AAAA,QAA9CI,sBAA8C,uEAAZ,IAAY;AACtD,UAAM;AAAEC,MAAAA;AAAF,QAA0B,KAAKrB,KAArC,CADsD,CAGtD;;AACA,SAAKQ,QAAL,CAAc;AACVM,MAAAA,WAAW,EAAE,EADH;AAEVH,MAAAA,IAAI,EAAEhC,YAFI;AAGVwB,MAAAA,iBAAiB,EAAE,KAAKiC,yBAAL,EAHT;AAIVb,MAAAA,aAAa,EAAE;AAJL,KAAd,EAJsD,CAWtD;;AACA,SAAKc,GAAL,CAASiL,aAAT,GAAyBC,OAAzB,CACIlM,YADJ,EAEKmB,UAAD,IAA4B;AACxB,WAAK6K,sBAAL,CAA4B7K,UAA5B,EAAwCpB,sBAAxC;AACH,KAJL,EAKI,KAAKsB,aALT,EAMI;AAAEC,MAAAA,MAAM,EAAEjF,uCAAV;AAAmDkF,MAAAA,UAAU,EAAE;AAA/D,KANJ;AAQH;AAED;;;;;;;;;AAwFA;;;;;;;;;;;;AAYA,QAAMO,gBAAN,CAAuBX,UAAvB,EAA+C8C,YAA/C,EAA0G;AAAA,QAAnCF,QAAmC,uEAAdjJ,IAAc;AACtG,UAAM+I,aAAyB,GAAGnJ,SAAS,CAACyG,UAAD,CAA3C;AACA,UAAM;AAAEyC,MAAAA,KAAK,GAAG;AAAV,QAAiBC,aAAvB;AACA,UAAMsI,OAAO,GAAG,KAAKnL,GAAL,CAASsC,UAAT,CAAoB,KAApB,CAAhB;AACA,UAAM8I,UAAU,GAAGnI,YAAY,GAAGA,YAAY,CAACzE,EAAhB,GAAqB,IAApD;AACA,QAAI6M,eAAJ;AAEA,UAAMC,cAAc,GAAG,MAAMC,OAAO,CAACC,GAAR,CACzB5I,KAAK,CAACE,GAAN,CAAUtC,IAAI,IAAI;AACd,aAAOA,IAAI,CAACC,IAAL,KAAchE,SAAd,GAA0B0O,OAAO,CAACM,eAAR,CAAwBjL,IAAxB,CAA1B,GAA0D,IAAjE;AACH,KAFD,CADyB,CAA7B;AAMAqC,IAAAA,aAAa,CAACD,KAAd,GAAsBA,KAAK,CAACE,GAAN,CAAU,CAACtC,IAAD,EAAOkL,KAAP,KAAiB;AAC7C,YAAMC,UAAU,GAAGnL,IAAI,CAAChC,EAAL,KAAY4M,UAA/B;AACA,YAAMQ,WAAW,GAAGD,UAAU,GAAG1I,YAAH,GAAkBzC,IAAhD;AACA,YAAMqL,YAAY,GAAGP,cAAc,CAACI,KAAD,CAAnC;;AAEA,YAAM/I,OAAO,qBACNiJ,WADM;AAEThL,QAAAA,QAAQ,EAAE+K,UAFD;AAGTE,QAAAA;AAHS,QAAb;;AAMA,UAAIrL,IAAI,CAACC,IAAL,KAAchE,SAAd,IAA2BoP,YAA3B,IAA2C,CAAC7Q,gBAAgB,CAAC2H,OAAD,CAAhE,EAA2E;AACvE,aAAKmJ,0BAAL,CAAgCnJ,OAAhC;AACH,OAb4C,CAe7C;;;AACA,UAAIgJ,UAAJ,EAAgB;AACZN,QAAAA,eAAe,GAAG1I,OAAlB;AACH;;AAED,aAAOA,OAAP;AACH,KArBqB,CAAtB;AAsBA,SAAKxE,QAAL,CAAc;AAAEL,MAAAA,iBAAiB,EAAE+E,aAArB;AAAoCjC,MAAAA,QAAQ,EAAEyK;AAA9C,KAAd,EAA+EtI,QAA/E;AACH;AAED;;;;;;;;;AAgrBA;;;;;;;AAOAgJ,EAAAA,MAAM,GAAG;AACL,UAAM;AACFhD,MAAAA,OADE;AAEFiD,MAAAA,OAFE;AAGFzG,MAAAA,kBAHE;AAIFnB,MAAAA,SAJE;AAKFP,MAAAA,WALE;AAMFJ,MAAAA,UANE;AAOFqB,MAAAA,SAPE;AAQFnD,MAAAA,iBARE;AASFuE,MAAAA,QATE;AAUF3E,MAAAA,SAVE;AAWF0K,MAAAA,SAXE;AAYFC,MAAAA,mBAZE;AAaFC,MAAAA,oBAbE;AAcFnC,MAAAA,WAdE;AAeFvC,MAAAA,QAfE;AAgBFD,MAAAA,OAhBE;AAiBF9G,MAAAA,OAjBE;AAkBFwI,MAAAA,QAlBE;AAmBFkD,MAAAA,OAnBE;AAoBFC,MAAAA,UApBE;AAqBFC,MAAAA,QArBE;AAsBFC,MAAAA,YAtBE;AAuBFzI,MAAAA,UAvBE;AAwBF0I,MAAAA,SAxBE;AAyBFC,MAAAA,QAzBE;AA0BFtD,MAAAA,kBA1BE;AA2BFC,MAAAA,mBA3BE;AA4BFpK,MAAAA,YA5BE;AA6BFqK,MAAAA,UA7BE;AA8BFC,MAAAA,kBA9BE;AA+BFoD,MAAAA,UA/BE;AAgCFC,MAAAA,UAhCE;AAiCFC,MAAAA,qBAjCE;AAkCFrD,MAAAA,KAlCE;AAmCFC,MAAAA;AAnCE,QAoCK,KAAK7L,KApChB;AAsCA,UAAM;AACFG,MAAAA,iBADE;AAEFC,MAAAA,iBAFE;AAGFoB,MAAAA,eAHE;AAIF8F,MAAAA,SAJE;AAKF/B,MAAAA,UALE;AAMF8E,MAAAA,eANE;AAOF1C,MAAAA,uBAPE;AAQFnB,MAAAA,iBARE;AASFtC,MAAAA,SATE;AAUF8B,MAAAA,kBAVE;AAWFkB,MAAAA,iBAXE;AAYFoB,MAAAA,gBAZE;AAaFxE,MAAAA,iBAbE;AAcFzD,MAAAA,OAdE;AAeF0L,MAAAA,QAfE;AAgBFjL,MAAAA,WAhBE;AAiBFmC,MAAAA,QAjBE;AAkBFtC,MAAAA;AAlBE,QAmBK,KAAKL,KAnBhB;AAqBA,UAAM;AAAEO,MAAAA,EAAF;AAAMoB,MAAAA,MAAN;AAAc0B,MAAAA,WAAd;AAA2BuL,MAAAA;AAA3B,QAAsD/O,iBAA5D;AACA,UAAM;AAAE0D,MAAAA;AAAF,QAAoCF,WAAW,IAAI,EAAzD;AACA,UAAMwL,cAAc,GAAGrT,UAAU,CAAC,QAAD,EAAWwS,SAAX,CAAjC;AACA,UAAMc,WAAoB,GAAGxL,SAAS,IAAI,CAAC,CAACC,UAA5C;AACA,UAAMwL,WAAoB,GAAGzH,kBAAkB,IAAI,CAAC,CAAC/D,UAArD;AACA,UAAMyL,qBAA8B,GAAGjD,WAAW,KAAK/M,qBAAvD;AACA,UAAMiQ,WAAoB,GAAG5O,IAAI,KAAKjC,UAAtC;AAEA,UAAMuL,QAAQ,GAAG,KAAKZ,WAAL,EAAjB;AACA,UAAMmG,kBAAkB,GAAG,KAAKC,qCAAL,EAA3B;AAEA,UAAMC,aAAsB,GAAG,CAAC,CAACrP,OAAO,CAACD,iBAAiB,GAAG,CAArB,CAAxC;AACA,UAAMuP,iBAA0B,GAAGvP,iBAAiB,KAAK,CAAtB,IAA2B,CAAC,CAACC,OAAO,CAACD,iBAAiB,GAAG,CAArB,CAAvE;AAEA;;AACA;;AACA,WACI,oBAAC,gBAAD;AAAkB,MAAA,QAAQ,EAAEmL,QAA5B;AAAsC,MAAA,QAAQ,EAAEoD;AAAhD,OACI;AAAK,MAAA,EAAE,EAAE,KAAK9N,EAAd;AAAkB,MAAA,SAAS,EAAEsO,cAA7B;AAA6C,MAAA,GAAG,EAAET,UAAlD;AAA8D,qBAAY;AAA1E,OACI;AAAK,MAAA,SAAS,EAAC,gBAAf;AAAgC,MAAA,SAAS,EAAE,KAAKkB,SAAhD;AAA2D,MAAA,QAAQ,EAAE;AAArE,OACK,CAACN,qBAAD,IACG,0CACI,oBAAC,MAAD;AACI,MAAA,IAAI,EAAE3O,IADV;AAEI,MAAA,OAAO,EAAEkJ,OAFb;AAGI,MAAA,WAAW,EAAE/I,WAHjB;AAII,MAAA,OAAO,EAAE2N,OAJb;AAKI,MAAA,QAAQ,EAAE,KAAKxN;AALnB,MADJ,EAQI,oBAAC,SAAD;AACI,MAAA,IAAI,EAAEN,IADV;AAEI,MAAA,QAAQ,EAAEsJ,QAFd;AAGI,MAAA,MAAM,EAAE5I,YAHZ;AAII,MAAA,OAAO,EAAEwI,OAJb;AAKI,MAAA,QAAQ,EAAEkC,QALd;AAMI,MAAA,iBAAiB,EAAE5L,iBANvB;AAOI,MAAA,SAAS,EAAEiP,WAPf;AAQI,MAAA,kBAAkB,EAAEC,WARxB;AASI,MAAA,eAAe,EAAEhF,eATrB;AAUI,MAAA,cAAc,EAAE1K,qBAVpB;AAWI,MAAA,cAAc,EAAEC,qBAXpB;AAYI,MAAA,0BAA0B,EAAE4P,kBAZhC;AAaI,MAAA,QAAQ,EAAE,KAAKhG,MAbnB;AAcI,MAAA,QAAQ,EAAE,KAAKC,YAdnB;AAeI,MAAA,sBAAsB,EAAE,KAAKoG,sBAfjC;AAgBI,MAAA,WAAW,EAAE,KAAK9O,WAhBtB;AAiBI,MAAA,YAAY,EAAE,KAAK+O,IAjBvB;AAkBI,MAAA,gBAAgB,EAAE,KAAKC;AAlB3B,MARJ,CAFR,EAgCI,oBAAC,OAAD;AACI,MAAA,SAAS,EAAEtJ,SADf;AAEI,MAAA,WAAW,EAAEP,WAFjB;AAGI,MAAA,UAAU,EAAEJ,UAHhB;AAII,MAAA,SAAS,EAAEqB,SAJf;AAKI,MAAA,QAAQ,EAAEoB,QALd;AAMI,MAAA,iBAAiB,EAAEpI,iBANvB;AAOI,MAAA,UAAU,EAAEoF,UAPhB;AAQI,MAAA,eAAe,EAAEyK,IAAI,CAACC,GAAL,CAAS5F,eAAT,EAA0BmF,kBAA1B,CARrB;AASI,MAAA,QAAQ,EAAE1F,QATd;AAUI,MAAA,OAAO,EAAED,OAVb;AAWI,MAAA,OAAO,EAAE9G,OAXb;AAYI,MAAA,YAAY,EAAE6L,YAZlB;AAaI,MAAA,WAAW,EAAE,KAAKsB,WAbtB;AAcI,MAAA,YAAY,EAAE,KAAKC,MAdvB;AAeI,MAAA,cAAc,EAAE,KAAKC,QAfzB;AAgBI,MAAA,aAAa,EAAE,KAAKpN,OAhBxB;AAiBI,MAAA,YAAY,EAAE,KAAKwE,MAjBvB;AAkBI,MAAA,YAAY,EAAE,KAAKlD,MAlBvB;AAmBI,MAAA,WAAW,EAAE,KAAKF,KAnBtB;AAoBI,MAAA,gBAAgB,EAAE,KAAKsG,cApB3B;AAqBI,MAAA,YAAY,EAAE,KAAKoF,IArBvB;AAsBI,MAAA,WAAW,EAAE,KAAK3N,WAtBtB;AAuBI,MAAA,MAAM,EAAEd,YAvBZ;AAwBI,MAAA,QAAQ,EAAE4B,QAxBd;AAyBI,MAAA,QAAQ,EAAE,KAAKoN,QAzBnB;AA0BI,MAAA,IAAI,EAAE1P,IA1BV;AA2BI,MAAA,QAAQ,EAAEsJ;AA3Bd,MAhCJ,EA6DK,CAACsF,WAAD,IACG,oBAAC,MAAD,QACI,oBAAC,UAAD;AACI,MAAA,aAAa,EAAEG,aADnB;AAEI,MAAA,aAAa,EAAEC,iBAFnB;AAGI,MAAA,MAAM,EAAE1N,MAHZ;AAII,MAAA,cAAc,EAAE,KAAKqO,QAJzB;AAKI,MAAA,QAAQ,EAAE9O,eALd;AAMI,MAAA,UAAU,EAAE0N,UANhB;AAOI,MAAA,uBAAuB,EAAE,KAAKqB;AAPlC,MADJ,CA9DR,CADJ,EA4EKnB,WAAW,IAAI,CAAC,CAAC,KAAK7C,UAAtB,GACG,oBAAC,YAAD;AACI,MAAA,MAAM,EAAEzI,iBADZ;AAEI,MAAA,eAAe,EAAEjD,EAFrB;AAGI,MAAA,KAAK,EAAE+K,KAHX;AAII,MAAA,UAAU,EAAEF,UAJhB;AAKI,MAAA,kBAAkB,EAAEC,kBALxB;AAMI,MAAA,OAAO,EAAEP,OANb;AAOI,MAAA,UAAU,EAAES,UAPhB;AAQI,MAAA,OAAO,EAAE,KAAK2E,oBARlB;AASI,MAAA,aAAa,EAAE,KAAKrO,WATxB;AAUI,MAAA,UAAU,EAAE,KAAKoK,UAVrB;AAWI,MAAA,QAAQ,EAAEuC,QAXd;AAYI,MAAA,oBAAoB,EAAEN,oBAZ1B;AAaI,MAAA,kBAAkB,EAAEhD,kBAbxB;AAcI,MAAA,mBAAmB,EAAEC;AAdzB,MADH,GAiBG,IA7FR,EA8FK4D,WAAW,IAAI,CAAC,CAAC,KAAK9C,UAAtB,GACG,oBAAC,kBAAD;AACI,MAAA,MAAM,EAAE5E,uBADZ;AAEI,MAAA,QAAQ,EAAE,KAAKD,oBAFnB;AAGI,MAAA,QAAQ,EAAE,KAAKxE,WAHnB;AAII,MAAA,SAAS,EAAEgB,SAJf;AAKI,MAAA,SAAS,EAAEoD,SALf;AAMI,MAAA,aAAa,EAAE,KAAKnF,WANxB;AAOI,MAAA,UAAU,EAAE,KAAKoK;AAPrB,MADH,GAUG,IAxGR,EAyGK9F,SAAS,IAAIxD,QAAb,IAAyB,CAAC,CAAC,KAAKsJ,UAAhC,GACG,oBAAC,wBAAD;AACI,MAAA,MAAM,EAAE/F,iBADZ;AAEI,MAAA,QAAQ,EAAE,KAAKD,cAFnB;AAGI,MAAA,QAAQ,EAAE,KAAKrD,WAHnB;AAII,MAAA,IAAI,EAAED,QAJV;AAKI,MAAA,SAAS,EAAEiB,SALf;AAMI,MAAA,aAAa,EAAE,KAAK/B,WANxB;AAOI,MAAA,UAAU,EAAE,KAAKoK;AAPrB,MADH,GAUG,IAnHR,EAoHKpF,SAAS,IAAIlE,QAAb,IAAyB,CAAC,CAAC,KAAKsJ,UAAhC,GACG,oBAAC,YAAD;AACI,MAAA,MAAM,EAAErF,iBADZ;AAEI,MAAA,QAAQ,EAAE,KAAKH,cAFnB;AAGI,MAAA,QAAQ,EAAE,KAAK7D,WAHnB;AAII,MAAA,IAAI,EAAED,QAJV;AAKI,MAAA,SAAS,EAAEiB,SALf;AAMI,MAAA,SAAS,EAAEoD,SANf;AAOI,MAAA,aAAa,EAAE,KAAKnF,WAPxB;AAQI,MAAA,UAAU,EAAE,KAAKoK;AARrB,MADH,GAWG,IA/HR,EAgIKhE,QAAQ,IAAItF,QAAZ,IAAwB,CAAC,CAAC,KAAKsJ,UAA/B,GACG,oBAAC,WAAD;AACI,MAAA,MAAM,EAAEjE,gBADZ;AAEI,MAAA,iBAAiB,EAAEtE,iBAFvB;AAGI,MAAA,mBAAmB,EAAE,KAAKyM,iBAH9B;AAII,MAAA,QAAQ,EAAE,KAAKlM,iBAJnB;AAKI,MAAA,IAAI,EAAEtB,QALV;AAMI,MAAA,SAAS,EAAEiB,SANf;AAOI,MAAA,aAAa,EAAE,KAAK/B,WAPxB;AAQI,MAAA,UAAU,EAAE,KAAKoK;AARrB,MADH,GAWG,IA3IR,EA4IKzG,UAAU,IAAI7C,QAAd,IAA0B,CAAC,CAAC,KAAKsJ,UAAjC,GACG,oBAAC,aAAD;AACI,MAAA,MAAM,EAAEvG,kBADZ;AAEI,MAAA,OAAO,EAAEjD,OAFb;AAGI,MAAA,QAAQ,EAAE,KAAKG,WAHnB;AAII,MAAA,IAAI,EAAED,QAJV;AAKI,MAAA,iBAAiB,EAAElH,SAAS,CAACoE,iBAAD,CALhC;AAMI,MAAA,KAAK,EAAEyL,KANX;AAOI,MAAA,aAAa,EAAE,KAAKzJ,WAPxB;AAQI,MAAA,UAAU,EAAE,KAAKoK,UARrB;AASI,MAAA,SAAS,EAAEsC,SATf;AAUI,MAAA,UAAU,EAAE1I,UAVhB;AAWI,MAAA,WAAW,EAAED,WAXjB;AAYI,MAAA,KAAK,EAAE,KAAK7D,GAAL,CAASqO,QAAT,EAZX;AAaI,MAAA,OAAO,EAAEtF,OAbb;AAcI,MAAA,OAAO,EAAEiD,OAdb;AAeI,MAAA,UAAU,EAAEU,UAfhB;AAgBI,MAAA,UAAU,EAAEC,UAhBhB;AAiBI,MAAA,qBAAqB,EAAEC,qBAjB3B;AAkBI,MAAA,UAAU,EAAEvD,UAlBhB;AAmBI,MAAA,kBAAkB,EAAEC,kBAnBxB;AAoBI,MAAA,mBAAmB,EAAE4C,mBApBzB;AAqBI,MAAA,kBAAkB,EAAE/C,kBArBxB;AAsBI,MAAA,mBAAmB,EAAEC;AAtBzB,MADH,GAyBG,IArKR,CADJ,CADJ;AA2KA;;AACA;AACH;;AA5nDiD;;gBAAhD3L,e,kBAuBoB;AAClBuB,EAAAA,YAAY,EAAE9C,YADI;AAElBmD,EAAAA,MAAM,EAAEtD,UAFU;AAGlBuD,EAAAA,aAAa,EAAExD,QAHG;AAIlB+H,EAAAA,WAAW,EAAE,IAJK;AAKlBO,EAAAA,SAAS,EAAE,IALO;AAMlB7C,EAAAA,SAAS,EAAE,IANO;AAOlBuD,EAAAA,SAAS,EAAE,IAPO;AAQlBoB,EAAAA,QAAQ,EAAE,IARQ;AASlBzC,EAAAA,UAAU,EAAE,IATM;AAUlB9B,EAAAA,iBAAiB,EAAE,IAVD;AAWlB4D,EAAAA,kBAAkB,EAAE,IAXF;AAYlBsF,EAAAA,SAAS,EAAE,KAZO;AAalB9B,EAAAA,OAAO,EAAErN,oBAbS;AAclBsQ,EAAAA,OAAO,EAAErQ,oBAdS;AAelB+Q,EAAAA,UAAU,EAAE9Q,uBAfM;AAgBlB4N,EAAAA,UAAU,EAAE/N,uBAhBM;AAiBlBwQ,EAAAA,SAAS,EAAE,EAjBO;AAkBlB5H,EAAAA,QAAQ,EAAEvK,IAlBQ;AAmBlBgK,EAAAA,UAAU,EAAEhK,IAnBM;AAoBlB0S,EAAAA,SAAS,EAAE1S,IApBO;AAqBlBiL,EAAAA,QAAQ,EAAEjL,IArBQ;AAsBlB0L,EAAAA,QAAQ,EAAE1L,IAtBQ;AAuBlBkJ,EAAAA,QAAQ,EAAElJ,IAvBQ;AAwBlB2S,EAAAA,QAAQ,EAAE3S,IAxBQ;AAyBlBgR,EAAAA,UAAU,EAAEhR,IAzBM;AA0BlBkQ,EAAAA,WAAW,EAAEjN,kBA1BK;AA2BlBiM,EAAAA,WAAW,EAAEnM,mBA3BK;AA4BlBoM,EAAAA,eAAe,EAAEnM,iBA5BC;AA6BlBoP,EAAAA,mBAAmB,EAAE;AACjBoC,IAAAA,mBAAmB,EAAE;AADJ,GA7BH;AAgClBnC,EAAAA,oBAAoB,EAAE;AAhCJ,C;;AAwmD1B,SAAS1O,eAAe,IAAI8Q,wBAA5B;AACA,eAAe3U,IAAI,CAAC,CAACS,cAAD,EAAiBkB,mBAAjB,EAAsCC,mBAAtC,CAAD,CAAJ,CAAiEiC,eAAjE,CAAf","sourcesContent":["/**\n * @flow\n * @file Content Explorer Component\n * @author Box\n */\n\nimport 'regenerator-runtime/runtime';\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport cloneDeep from 'lodash/cloneDeep';\nimport debounce from 'lodash/debounce';\nimport flow from 'lodash/flow';\nimport getProp from 'lodash/get';\nimport noop from 'lodash/noop';\nimport uniqueid from 'lodash/uniqueId';\nimport CreateFolderDialog from '../common/create-folder-dialog';\nimport UploadDialog from '../common/upload-dialog';\nimport Header from '../common/header';\nimport Pagination from '../../features/pagination';\nimport SubHeader from '../common/sub-header/SubHeader';\nimport makeResponsive from '../common/makeResponsive';\nimport openUrlInsideIframe from '../../utils/iframe';\nimport Internationalize from '../common/Internationalize';\nimport API from '../../api';\nimport MetadataQueryAPIHelper from '../../features/metadata-based-view/MetadataQueryAPIHelper';\nimport Footer from './Footer';\nimport PreviewDialog from './PreviewDialog';\nimport ShareDialog from './ShareDialog';\nimport RenameDialog from './RenameDialog';\nimport DeleteConfirmationDialog from './DeleteConfirmationDialog';\nimport Content from './Content';\nimport isThumbnailReady from './utils';\nimport { isFocusableElement, isInputElement, focus } from '../../utils/dom';\nimport { FILE_SHARED_LINK_FIELDS_TO_FETCH } from '../../utils/fields';\nimport CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH from './constants';\nimport LocalStore from '../../utils/LocalStore';\nimport { withFeatureConsumer, withFeatureProvider, type FeatureConfig } from '../common/feature-checking';\nimport {\n DEFAULT_HOSTNAME_UPLOAD,\n DEFAULT_HOSTNAME_API,\n DEFAULT_HOSTNAME_APP,\n DEFAULT_HOSTNAME_STATIC,\n DEFAULT_SEARCH_DEBOUNCE,\n SORT_ASC,\n FIELD_NAME,\n FIELD_PERMISSIONS_CAN_SHARE,\n FIELD_SHARED_LINK,\n DEFAULT_ROOT,\n VIEW_SEARCH,\n VIEW_FOLDER,\n VIEW_ERROR,\n VIEW_RECENTS,\n VIEW_METADATA,\n VIEW_MODE_LIST,\n TYPE_FILE,\n TYPE_WEBLINK,\n TYPE_FOLDER,\n CLIENT_NAME_CONTENT_EXPLORER,\n DEFAULT_PAGE_NUMBER,\n DEFAULT_PAGE_SIZE,\n DEFAULT_VIEW_FILES,\n DEFAULT_VIEW_RECENTS,\n DEFAULT_VIEW_METADATA,\n ERROR_CODE_ITEM_NAME_INVALID,\n ERROR_CODE_ITEM_NAME_TOO_LONG,\n TYPED_ID_FOLDER_PREFIX,\n VIEW_MODE_GRID,\n} from '../../constants';\nimport type { ViewMode } from '../common/flowTypes';\nimport type { MetadataQuery, FieldsToShow } from '../../common/types/metadataQueries';\nimport type { MetadataFieldValue } from '../../common/types/metadata';\nimport type {\n View,\n DefaultView,\n StringMap,\n SortBy,\n SortDirection,\n Token,\n Access,\n Collection,\n BoxItemPermission,\n BoxItem,\n} from '../../common/types/core';\n\nimport '../common/fonts.scss';\nimport '../common/base.scss';\nimport '../common/modal.scss';\nimport './ContentExplorer.scss';\n\nconst GRID_VIEW_MAX_COLUMNS = 7;\nconst GRID_VIEW_MIN_COLUMNS = 1;\n\ntype Props = {\n apiHost: string,\n appHost: string,\n autoFocus: boolean,\n canCreateNewFolder: boolean,\n canDelete: boolean,\n canDownload: boolean,\n canPreview: boolean,\n canRename: boolean,\n canSetShareAccess: boolean,\n canShare: boolean,\n canUpload: boolean,\n className: string,\n contentPreviewProps: ContentPreviewProps,\n contentUploaderProps: ContentUploaderProps,\n currentFolderId?: string,\n defaultView: DefaultView,\n features: FeatureConfig,\n fieldsToShow?: FieldsToShow,\n initialPage: number,\n initialPageSize: number,\n isLarge: boolean,\n isMedium: boolean,\n isSmall: boolean,\n isTouch: boolean,\n isVeryLarge: boolean,\n language?: string,\n logoUrl?: string,\n measureRef?: Function,\n messages?: StringMap,\n metadataQuery?: MetadataQuery,\n onCreate: Function,\n onDelete: Function,\n onDownload: Function,\n onNavigate: Function,\n onPreview: Function,\n onRename: Function,\n onSelect: Function,\n onUpload: Function,\n previewLibraryVersion: string,\n requestInterceptor?: Function,\n responseInterceptor?: Function,\n rootFolderId: string,\n sharedLink?: string,\n sharedLinkPassword?: string,\n sortBy: SortBy,\n sortDirection: SortDirection,\n staticHost: string,\n staticPath: string,\n token: Token,\n uploadHost: string,\n};\n\ntype State = {\n currentCollection: Collection,\n currentOffset: number,\n currentPageNumber: number,\n currentPageSize: number,\n errorCode: string,\n focusedRow: number,\n gridColumnCount: number,\n isCreateFolderModalOpen: boolean,\n isDeleteModalOpen: boolean,\n isLoading: boolean,\n isPreviewModalOpen: boolean,\n isRenameModalOpen: boolean,\n isShareModalOpen: boolean,\n isUploadModalOpen: boolean,\n markers: Array<?string>,\n rootName: string,\n searchQuery: string,\n selected?: BoxItem,\n sortBy: SortBy,\n sortDirection: SortDirection,\n view: View,\n};\n\nconst localStoreViewMode = 'bce.defaultViewMode';\n\nclass ContentExplorer extends Component<Props, State> {\n id: string;\n\n api: API;\n\n state: State;\n\n props: Props;\n\n table: any;\n\n rootElement: HTMLElement;\n\n appElement: HTMLElement;\n\n globalModifier: boolean;\n\n firstLoad: boolean = true; // Keeps track of very 1st load\n\n store: LocalStore = new LocalStore();\n\n metadataQueryAPIHelper: MetadataQueryAPIHelper;\n\n static defaultProps = {\n rootFolderId: DEFAULT_ROOT,\n sortBy: FIELD_NAME,\n sortDirection: SORT_ASC,\n canDownload: true,\n canDelete: true,\n canUpload: true,\n canRename: true,\n canShare: true,\n canPreview: true,\n canSetShareAccess: true,\n canCreateNewFolder: true,\n autoFocus: false,\n apiHost: DEFAULT_HOSTNAME_API,\n appHost: DEFAULT_HOSTNAME_APP,\n staticHost: DEFAULT_HOSTNAME_STATIC,\n uploadHost: DEFAULT_HOSTNAME_UPLOAD,\n className: '',\n onDelete: noop,\n onDownload: noop,\n onPreview: noop,\n onRename: noop,\n onCreate: noop,\n onSelect: noop,\n onUpload: noop,\n onNavigate: noop,\n defaultView: DEFAULT_VIEW_FILES,\n initialPage: DEFAULT_PAGE_NUMBER,\n initialPageSize: DEFAULT_PAGE_SIZE,\n contentPreviewProps: {\n contentSidebarProps: {},\n },\n contentUploaderProps: {},\n };\n\n /**\n * [constructor]\n *\n * @private\n * @return {ContentExplorer}\n */\n constructor(props: Props) {\n super(props);\n\n const {\n apiHost,\n initialPage,\n initialPageSize,\n language,\n requestInterceptor,\n responseInterceptor,\n rootFolderId,\n sharedLink,\n sharedLinkPassword,\n sortBy,\n sortDirection,\n token,\n uploadHost,\n }: Props = props;\n\n this.api = new API({\n apiHost,\n clientName: CLIENT_NAME_CONTENT_EXPLORER,\n id: `${TYPED_ID_FOLDER_PREFIX}${rootFolderId}`,\n language,\n requestInterceptor,\n responseInterceptor,\n sharedLink,\n sharedLinkPassword,\n token,\n uploadHost,\n });\n\n this.id = uniqueid('bce_');\n\n this.state = {\n currentCollection: {},\n currentOffset: initialPageSize * (initialPage - 1),\n currentPageSize: initialPageSize,\n currentPageNumber: 0,\n errorCode: '',\n focusedRow: 0,\n gridColumnCount: 4,\n isCreateFolderModalOpen: false,\n isDeleteModalOpen: false,\n isLoading: false,\n isPreviewModalOpen: false,\n isRenameModalOpen: false,\n isShareModalOpen: false,\n isUploadModalOpen: false,\n markers: [],\n rootName: '',\n searchQuery: '',\n sortBy,\n sortDirection,\n view: VIEW_FOLDER,\n };\n }\n\n /**\n * Destroys api instances\n *\n * @private\n * @return {void}\n */\n clearCache(): void {\n this.api.destroy(true);\n }\n\n /**\n * Cleanup\n *\n * @private\n * @inheritdoc\n * @return {void}\n */\n componentWillUnmount() {\n this.clearCache();\n }\n\n /**\n * Fetches the root folder on load\n *\n * @private\n * @inheritdoc\n * @return {void}\n */\n componentDidMount() {\n const { currentFolderId, defaultView }: Props = this.props;\n this.rootElement = ((document.getElementById(this.id): any): HTMLElement);\n this.appElement = ((this.rootElement.firstElementChild: any): HTMLElement);\n\n switch (defaultView) {\n case DEFAULT_VIEW_RECENTS:\n this.showRecents();\n break;\n case DEFAULT_VIEW_METADATA:\n this.showMetadataQueryResults();\n break;\n default:\n this.fetchFolder(currentFolderId);\n }\n }\n\n /**\n * Fetches the current folder if different\n * from what was already fetched before.\n *\n * @private\n * @inheritdoc\n * @return {void}\n */\n componentDidUpdate({ currentFolderId: prevFolderId }: Props, prevState: State): void {\n const { currentFolderId }: Props = this.props;\n const {\n currentCollection: { id },\n }: State = prevState;\n\n if (prevFolderId === currentFolderId) {\n return;\n }\n\n if (typeof currentFolderId === 'string' && id !== currentFolderId) {\n this.fetchFolder(currentFolderId);\n }\n }\n\n /**\n * Metadata queries success callback\n *\n * @private\n * @param {Object} metadataQueryCollection - Metadata query response collection\n * @return {void}\n */\n showMetadataQueryResultsSuccessCallback = (metadataQueryCollection: Collection): void => {\n const { nextMarker } = metadataQueryCollection;\n const { currentCollection, currentPageNumber, markers }: State = this.state;\n const cloneMarkers = [...markers];\n if (nextMarker) {\n cloneMarkers[currentPageNumber + 1] = nextMarker;\n }\n this.setState({\n currentCollection: {\n ...currentCollection,\n ...metadataQueryCollection,\n percentLoaded: 100,\n },\n markers: cloneMarkers,\n });\n };\n\n /**\n * Queries metadata_queries/execute API and fetches the result\n *\n * @private\n * @return {void}\n */\n showMetadataQueryResults() {\n const { metadataQuery = {} }: Props = this.props;\n const { currentPageNumber, markers }: State = this.state;\n const metadataQueryClone = cloneDeep(metadataQuery);\n\n if (currentPageNumber === 0) {\n // Preserve the marker as part of the original query\n markers[currentPageNumber] = metadataQueryClone.marker;\n }\n\n if (typeof markers[currentPageNumber] === 'string') {\n // Set marker to the query to get next set of results\n metadataQueryClone.marker = markers[currentPageNumber];\n }\n\n if (typeof metadataQueryClone.limit !== 'number') {\n // Set limit to the query for pagination support\n metadataQueryClone.limit = DEFAULT_PAGE_SIZE;\n }\n // Reset search state, the view and show busy indicator\n this.setState({\n searchQuery: '',\n currentCollection: this.currentUnloadedCollection(),\n view: VIEW_METADATA,\n });\n this.metadataQueryAPIHelper = new MetadataQueryAPIHelper(this.api);\n this.metadataQueryAPIHelper.fetchMetadataQueryResults(\n metadataQueryClone,\n this.showMetadataQueryResultsSuccessCallback,\n this.errorCallback,\n );\n }\n\n /**\n * Resets the collection so that the loading bar starts showing\n *\n * @private\n * @return {Collection}\n */\n currentUnloadedCollection(): Collection {\n const { currentCollection }: State = this.state;\n return Object.assign(currentCollection, {\n percentLoaded: 0,\n });\n }\n\n /**\n * Network error callback\n *\n * @private\n * @param {Error} error error object\n * @return {void}\n */\n errorCallback = (error: any) => {\n this.setState({\n view: VIEW_ERROR,\n });\n /* eslint-disable no-console */\n console.error(error);\n /* eslint-enable no-console */\n };\n\n /**\n * Focuses the grid and fires navigate event\n *\n * @private\n * @return {void}\n */\n finishNavigation() {\n const { autoFocus }: Props = this.props;\n const {\n currentCollection: { percentLoaded },\n }: State = this.state;\n\n // If loading for the very first time, only allow focus if autoFocus is true\n if (this.firstLoad && !autoFocus) {\n this.firstLoad = false;\n return;\n }\n\n // Don't focus the grid until its loaded and user is not already on an interactable element\n if (percentLoaded === 100 && !isFocusableElement(document.activeElement)) {\n focus(this.rootElement, '.bce-item-row');\n this.setState({ focusedRow: 0 });\n }\n\n this.firstLoad = false;\n }\n\n /**\n * Refreshing the item collection depending upon the view.\n * Navigation event is prevented.\n *\n * @private\n * @return {void}\n */\n refreshCollection = () => {\n const {\n currentCollection: { id },\n view,\n searchQuery,\n }: State = this.state;\n if (view === VIEW_FOLDER && id) {\n this.fetchFolder(id, false);\n } else if (view === VIEW_RECENTS) {\n this.showRecents(false);\n } else if (view === VIEW_SEARCH && searchQuery) {\n this.search(searchQuery);\n } else if (view === VIEW_METADATA) {\n this.showMetadataQueryResults();\n } else {\n throw new Error('Cannot refresh incompatible view!');\n }\n };\n\n /**\n * Folder fetch success callback\n *\n * @private\n * @param {Object} collection - item collection object\n * @param {Boolean|void} triggerNavigationEvent - To trigger navigate event and focus grid\n * @return {void}\n */\n fetchFolderSuccessCallback(collection: Collection, triggerNavigationEvent: boolean): void {\n const { onNavigate, rootFolderId }: Props = this.props;\n const { boxItem, id, name }: Collection = collection;\n const { selected }: State = this.state;\n const rootName = id === rootFolderId ? name : '';\n\n // Close any open modals\n this.closeModals();\n\n this.updateCollection(collection, selected, () => {\n if (triggerNavigationEvent) {\n // Fire folder navigation event\n this.setState({ rootName }, this.finishNavigation);\n if (boxItem) {\n onNavigate(cloneDeep(boxItem));\n }\n } else {\n this.setState({ rootName });\n }\n });\n }\n\n /**\n * Fetches a folder, defaults to fetching root folder\n *\n * @private\n * @param {string|void} [id] folder id\n * @param {Boolean|void} [triggerNavigationEvent] To trigger navigate event\n * @return {void}\n */\n fetchFolder = (id?: string, triggerNavigationEvent?: boolean = true) => {\n const { rootFolderId }: Props = this.props;\n const {\n currentCollection: { id: currentId },\n currentOffset,\n currentPageSize: limit,\n searchQuery = '',\n sortBy,\n sortDirection,\n }: State = this.state;\n const folderId: string = typeof id === 'string' ? id : rootFolderId;\n const hasFolderChanged = currentId && currentId !== folderId;\n const hasSearchQuery = !!searchQuery.trim().length;\n const offset = hasFolderChanged || hasSearchQuery ? 0 : currentOffset; // Reset offset on folder or mode change\n\n // If we are navigating around, aka not first load\n // then reset the focus to the root so that after\n // the collection loads the activeElement is not the\n // button that was clicked to fetch the folder\n if (!this.firstLoad) {\n this.rootElement.focus();\n }\n\n // Reset search state, the view and show busy indicator\n this.setState({\n searchQuery: '',\n view: VIEW_FOLDER,\n currentCollection: this.currentUnloadedCollection(),\n currentOffset: offset,\n });\n\n // Fetch the folder using folder API\n this.api.getFolderAPI().getFolder(\n folderId,\n limit,\n offset,\n sortBy,\n sortDirection,\n (collection: Collection) => {\n this.fetchFolderSuccessCallback(collection, triggerNavigationEvent);\n },\n this.errorCallback,\n { fields: CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH, forceFetch: true },\n );\n };\n\n /**\n * Action performed when clicking on an item\n *\n * @private\n * @param {Object|string} item - the clicked box item\n * @return {void}\n */\n onItemClick = (item: BoxItem | string) => {\n // If the id was passed in, just use that\n if (typeof item === 'string') {\n this.fetchFolder(item);\n return;\n }\n\n const { id, type }: BoxItem = item;\n const { isTouch }: Props = this.props;\n\n if (type === TYPE_FOLDER) {\n this.fetchFolder(id);\n return;\n }\n\n if (isTouch) {\n return;\n }\n\n this.preview(item);\n };\n\n /**\n * Search success callback\n *\n * @private\n * @param {Object} collection item collection object\n * @return {void}\n */\n searchSuccessCallback = (collection: Collection) => {\n const { selected }: State = this.state;\n\n // Close any open modals\n this.closeModals();\n\n this.updateCollection(collection, selected);\n };\n\n /**\n * Debounced searching\n *\n * @private\n * @param {string} id folder id\n * @param {string} query search string\n * @return {void}\n */\n debouncedSearch = debounce((id: string, query: string) => {\n const { currentOffset, currentPageSize }: State = this.state;\n\n this.api\n .getSearchAPI()\n .search(id, query, currentPageSize, currentOffset, this.searchSuccessCallback, this.errorCallback, {\n fields: CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH,\n forceFetch: true,\n });\n }, DEFAULT_SEARCH_DEBOUNCE);\n\n /**\n * Searches\n *\n * @private\n * @param {string} query search string\n * @return {void}\n */\n search = (query: string) => {\n const { rootFolderId }: Props = this.props;\n const {\n currentCollection: { id },\n currentOffset,\n searchQuery,\n }: State = this.state;\n const folderId = typeof id === 'string' ? id : rootFolderId;\n const trimmedQuery: string = query.trim();\n\n if (!query) {\n // Cancel the debounce so we don't search on a previous query\n this.debouncedSearch.cancel();\n\n // Query was cleared out, load the prior folder\n // The prior folder is always the parent folder for search\n this.setState({ currentOffset: 0 }, () => {\n this.fetchFolder(folderId, false);\n });\n\n return;\n }\n\n if (!trimmedQuery) {\n // Query now only has bunch of spaces\n // do nothing and but update prior state\n this.setState({\n searchQuery: query,\n });\n return;\n }\n\n this.setState({\n currentCollection: this.currentUnloadedCollection(),\n currentOffset: trimmedQuery === searchQuery ? currentOffset : 0,\n searchQuery: query,\n selected: undefined,\n view: VIEW_SEARCH,\n });\n\n this.debouncedSearch(folderId, query);\n };\n\n /**\n * Recents fetch success callback\n *\n * @private\n * @param {Object} collection item collection object\n * @param {Boolean} triggerNavigationEvent - To trigger navigate event\n * @return {void}\n */\n recentsSuccessCallback(collection: Collection, triggerNavigationEvent: boolean) {\n if (triggerNavigationEvent) {\n this.updateCollection(collection, undefined, this.finishNavigation);\n } else {\n this.updateCollection(collection);\n }\n }\n\n /**\n * Shows recents.\n *\n * @private\n * @param {Boolean|void} [triggerNavigationEvent] To trigger navigate event\n * @return {void}\n */\n showRecents(triggerNavigationEvent: boolean = true): void {\n const { rootFolderId }: Props = this.props;\n\n // Reset search state, the view and show busy indicator\n this.setState({\n searchQuery: '',\n view: VIEW_RECENTS,\n currentCollection: this.currentUnloadedCollection(),\n currentOffset: 0,\n });\n\n // Fetch the folder using folder API\n this.api.getRecentsAPI().recents(\n rootFolderId,\n (collection: Collection) => {\n this.recentsSuccessCallback(collection, triggerNavigationEvent);\n },\n this.errorCallback,\n { fields: CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH, forceFetch: true },\n );\n }\n\n /**\n * Uploads\n *\n * @private\n * @param {File} file dom file object\n * @return {void}\n */\n upload = () => {\n const {\n currentCollection: { id, permissions },\n }: State = this.state;\n const { canUpload }: Props = this.props;\n if (!canUpload || !id || !permissions) {\n return;\n }\n\n const { can_upload }: BoxItemPermission = permissions;\n if (!can_upload) {\n return;\n }\n\n this.setState({\n isUploadModalOpen: true,\n });\n };\n\n /**\n * Upload success handler\n *\n * @private\n * @param {File} file dom file object\n * @return {void}\n */\n uploadSuccessHandler = () => {\n const {\n currentCollection: { id },\n }: State = this.state;\n this.fetchFolder(id, false);\n };\n\n /**\n * Changes the share access of an item\n *\n * @private\n * @param {string} access share access\n * @return {void}\n */\n changeShareAccess = (access: Access) => {\n const { selected }: State = this.state;\n const { canSetShareAccess }: Props = this.props;\n if (!selected || !canSetShareAccess) {\n return;\n }\n\n const { permissions, type }: BoxItem = selected;\n if (!permissions || !type) {\n return;\n }\n\n const { can_set_share_access }: BoxItemPermission = permissions;\n if (!can_set_share_access) {\n return;\n }\n\n this.setState({ isLoading: true });\n this.api.getAPI(type).share(selected, access, (updatedItem: BoxItem) => {\n this.setState({ isLoading: false });\n this.select(updatedItem);\n });\n };\n\n /**\n * Changes the sort by and sort direction\n *\n * @private\n * @param {string} sortBy - field to sort by\n * @param {string} sortDirection - sort direction\n * @return {void}\n */\n sort = (sortBy: SortBy, sortDirection: SortDirection) => {\n const {\n currentCollection: { id },\n }: State = this.state;\n if (id) {\n this.setState({ sortBy, sortDirection }, this.refreshCollection);\n }\n };\n\n /**\n * Sets state with currentCollection updated to have items.selected properties\n * set according to the given selected param. Also updates the selected item in the\n * currentCollection. selectedItem will be set to the selected state\n * item if it is in currentCollection, otherwise it will be set to undefined.\n *\n * @private\n * @param {Collection} collection - collection that needs to be updated\n * @param {Object} [selectedItem] - The item that should be selected in that collection (if present)\n * @param {Function} [callback] - callback function that should be called after setState occurs\n * @return {void}\n */\n async updateCollection(collection: Collection, selectedItem: ?BoxItem, callback: Function = noop): Object {\n const newCollection: Collection = cloneDeep(collection);\n const { items = [] } = newCollection;\n const fileAPI = this.api.getFileAPI(false);\n const selectedId = selectedItem ? selectedItem.id : null;\n let newSelectedItem: ?BoxItem;\n\n const itemThumbnails = await Promise.all(\n items.map(item => {\n return item.type === TYPE_FILE ? fileAPI.getThumbnailUrl(item) : null;\n }),\n );\n\n newCollection.items = items.map((item, index) => {\n const isSelected = item.id === selectedId;\n const currentItem = isSelected ? selectedItem : item;\n const thumbnailUrl = itemThumbnails[index];\n\n const newItem = {\n ...currentItem,\n selected: isSelected,\n thumbnailUrl,\n };\n\n if (item.type === TYPE_FILE && thumbnailUrl && !isThumbnailReady(newItem)) {\n this.attemptThumbnailGeneration(newItem);\n }\n\n // Only if selectedItem is in the current collection do we want to set selected state\n if (isSelected) {\n newSelectedItem = newItem;\n }\n\n return newItem;\n });\n this.setState({ currentCollection: newCollection, selected: newSelectedItem }, callback);\n }\n\n /**\n * Attempts to generate a thumbnail for the given item and assigns the\n * item its thumbnail url if successful\n *\n * @param {BoxItem} item - item to generate thumbnail for\n * @return {Promise<void>}\n */\n attemptThumbnailGeneration = async (item: BoxItem): Promise<void> => {\n const entries = getProp(item, 'representations.entries');\n const representation = getProp(entries, '[0]');\n\n if (representation) {\n const updatedRepresentation = await this.api.getFileAPI(false).generateRepresentation(representation);\n if (updatedRepresentation !== representation) {\n this.updateItemInCollection({\n ...cloneDeep(item),\n representations: {\n entries: [updatedRepresentation, ...entries.slice(1)],\n },\n });\n }\n }\n };\n\n /**\n * Update item in this.state.currentCollection\n *\n * @param {BoxItem} newItem - item with updated properties\n * @return {void}\n */\n updateItemInCollection = (newItem: BoxItem): void => {\n const { currentCollection } = this.state;\n const { items = [] } = currentCollection;\n const newCollection = { ...currentCollection };\n\n newCollection.items = items.map(item => (item.id === newItem.id ? newItem : item));\n this.setState({ currentCollection: newCollection });\n };\n\n /**\n * Selects or unselects an item\n *\n * @private\n * @param {Object} item - file or folder object\n * @param {Function|void} [onSelect] - optional on select callback\n * @return {void}\n */\n select = (item: BoxItem, callback: Function = noop): void => {\n const { selected, currentCollection }: State = this.state;\n const { items = [] } = currentCollection;\n const { onSelect }: Props = this.props;\n\n if (item === selected) {\n callback(item);\n return;\n }\n\n const selectedItem: BoxItem = { ...item, selected: true };\n\n this.updateCollection(currentCollection, selectedItem, () => {\n onSelect(cloneDeep([selectedItem]));\n callback(selectedItem);\n });\n\n const focusedRow: number = items.findIndex((i: BoxItem) => i.id === item.id);\n\n this.setState({ focusedRow });\n };\n\n /**\n * Selects the clicked file and then previews it\n * or opens it, if it was a web link\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n preview = (item: BoxItem): void => {\n const { type, url }: BoxItem = item;\n if (type === TYPE_WEBLINK) {\n window.open(url);\n return;\n }\n\n this.select(item, this.previewCallback);\n };\n\n /**\n * Previews a file\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n previewCallback = (): void => {\n const { selected }: State = this.state;\n const { canPreview }: Props = this.props;\n if (!selected || !canPreview) {\n return;\n }\n\n const { permissions } = selected;\n if (!permissions) {\n return;\n }\n\n const { can_preview }: BoxItemPermission = permissions;\n if (!can_preview) {\n return;\n }\n\n this.setState({ isPreviewModalOpen: true });\n };\n\n /**\n * Selects the clicked file and then downloads it\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n download = (item: BoxItem): void => {\n this.select(item, this.downloadCallback);\n };\n\n /**\n * Downloads a file\n *\n * @private\n * @return {void}\n */\n downloadCallback = (): void => {\n const { selected }: State = this.state;\n const { canDownload, onDownload }: Props = this.props;\n if (!selected || !canDownload) {\n return;\n }\n\n const { id, permissions } = selected;\n if (!id || !permissions) {\n return;\n }\n\n const { can_download }: BoxItemPermission = permissions;\n if (!can_download) {\n return;\n }\n\n const openUrl: Function = (url: string) => {\n openUrlInsideIframe(url);\n onDownload(cloneDeep([selected]));\n };\n\n const { type }: BoxItem = selected;\n if (type === TYPE_FILE) {\n this.api.getFileAPI().getDownloadUrl(id, selected, openUrl, noop);\n }\n };\n\n /**\n * Selects the clicked file and then deletes it\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n delete = (item: BoxItem): void => {\n this.select(item, this.deleteCallback);\n };\n\n /**\n * Deletes a file\n *\n * @private\n * @return {void}\n */\n deleteCallback = (): void => {\n const { selected, isDeleteModalOpen }: State = this.state;\n const { canDelete, onDelete }: Props = this.props;\n if (!selected || !canDelete) {\n return;\n }\n\n const { id, permissions, parent, type }: BoxItem = selected;\n if (!id || !permissions || !parent || !type) {\n return;\n }\n\n const { id: parentId } = parent;\n const { can_delete }: BoxItemPermission = permissions;\n if (!can_delete || !parentId) {\n return;\n }\n\n if (!isDeleteModalOpen) {\n this.setState({ isDeleteModalOpen: true });\n return;\n }\n\n this.setState({ isLoading: true });\n this.api.getAPI(type).deleteItem(\n selected,\n () => {\n onDelete(cloneDeep([selected]));\n this.refreshCollection();\n },\n () => {\n this.refreshCollection();\n },\n );\n };\n\n /**\n * Selects the clicked file and then renames it\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n rename = (item: BoxItem): void => {\n this.select(item, this.renameCallback);\n };\n\n /**\n * Callback for renaming an item\n *\n * @private\n * @param {string} value new item name\n * @return {void}\n */\n renameCallback = (nameWithoutExt: string, extension: string): void => {\n const { selected, isRenameModalOpen }: State = this.state;\n const { canRename, onRename }: Props = this.props;\n if (!selected || !canRename) {\n return;\n }\n\n const { id, permissions, type }: BoxItem = selected;\n if (!id || !permissions || !type) {\n return;\n }\n\n const { can_rename }: BoxItemPermission = permissions;\n if (!can_rename) {\n return;\n }\n\n if (!isRenameModalOpen || !nameWithoutExt) {\n this.setState({ isRenameModalOpen: true, errorCode: '' });\n return;\n }\n\n const name = `${nameWithoutExt}${extension}`;\n if (!nameWithoutExt.trim()) {\n this.setState({\n errorCode: ERROR_CODE_ITEM_NAME_INVALID,\n isLoading: false,\n });\n return;\n }\n\n this.setState({ isLoading: true });\n this.api.getAPI(type).rename(\n selected,\n name.trim(),\n (updatedItem: BoxItem) => {\n this.setState({ isRenameModalOpen: false });\n this.refreshCollection();\n this.select(updatedItem);\n onRename(cloneDeep(selected));\n },\n ({ code }) => {\n this.setState({ errorCode: code, isLoading: false });\n },\n );\n };\n\n /**\n * Creates a new folder\n *\n * @private\n * @return {void}\n */\n createFolder = (): void => {\n this.createFolderCallback();\n };\n\n /**\n * New folder callback\n *\n * @private\n * @param {string} name - folder name\n * @return {void}\n */\n createFolderCallback = (name?: string): void => {\n const { isCreateFolderModalOpen, currentCollection }: State = this.state;\n const { canCreateNewFolder, onCreate }: Props = this.props;\n if (!canCreateNewFolder) {\n return;\n }\n\n const { id, permissions }: Collection = currentCollection;\n if (!id || !permissions) {\n return;\n }\n\n const { can_upload }: BoxItemPermission = permissions;\n if (!can_upload) {\n return;\n }\n\n if (!isCreateFolderModalOpen || !name) {\n this.setState({ isCreateFolderModalOpen: true, errorCode: '' });\n return;\n }\n\n if (!name.trim()) {\n this.setState({\n errorCode: ERROR_CODE_ITEM_NAME_INVALID,\n isLoading: false,\n });\n return;\n }\n\n if (name.length > 255) {\n this.setState({\n errorCode: ERROR_CODE_ITEM_NAME_TOO_LONG,\n isLoading: false,\n });\n return;\n }\n\n this.setState({ isLoading: true });\n this.api.getFolderAPI().create(\n id,\n name.trim(),\n (item: BoxItem) => {\n this.refreshCollection();\n this.select(item);\n onCreate(cloneDeep(item));\n },\n ({ code }) => {\n this.setState({\n errorCode: code,\n isLoading: false,\n });\n },\n );\n };\n\n /**\n * Selects the clicked file and then shares it\n *\n * @private\n * @param {Object} item - file or folder object\n * @return {void}\n */\n share = (item: BoxItem): void => {\n this.select(item, this.shareCallback);\n };\n\n /**\n * Fetch the shared link info\n * @param {BoxItem} item - The item (folder, file, weblink)\n * @returns {void}\n */\n fetchSharedLinkInfo = (item: BoxItem): void => {\n const { id, type }: BoxItem = item;\n\n switch (type) {\n case TYPE_FOLDER:\n this.api.getFolderAPI().getFolderFields(id, this.handleSharedLinkSuccess, noop, {\n fields: FILE_SHARED_LINK_FIELDS_TO_FETCH,\n });\n break;\n case TYPE_FILE:\n this.api\n .getFileAPI()\n .getFile(id, this.handleSharedLinkSuccess, noop, { fields: FILE_SHARED_LINK_FIELDS_TO_FETCH });\n break;\n case TYPE_WEBLINK:\n this.api\n .getWebLinkAPI()\n .getWeblink(id, this.handleSharedLinkSuccess, noop, { fields: FILE_SHARED_LINK_FIELDS_TO_FETCH });\n break;\n default:\n throw new Error('Unknown Type');\n }\n };\n\n /**\n * Handles the shared link info by either creating a share link using enterprise defaults if\n * it does not already exist, otherwise update the item in the state currentCollection.\n *\n * @param {Object} item file or folder\n * @returns {void}\n */\n handleSharedLinkSuccess = async (item: BoxItem) => {\n const { currentCollection } = this.state;\n let updatedItem = item;\n\n // if there is no shared link, create one with enterprise default access\n if (!item[FIELD_SHARED_LINK] && getProp(item, FIELD_PERMISSIONS_CAN_SHARE, false)) {\n // $FlowFixMe\n await this.api.getAPI(item.type).share(item, undefined, (sharedItem: BoxItem) => {\n updatedItem = sharedItem;\n });\n }\n\n this.updateCollection(currentCollection, updatedItem, () => this.setState({ isShareModalOpen: true }));\n };\n\n /**\n * Callback for sharing an item\n *\n * @private\n * @return {void}\n */\n shareCallback = (): void => {\n const { selected }: State = this.state;\n const { canShare }: Props = this.props;\n\n if (!selected || !canShare) {\n return;\n }\n\n const { permissions, type } = selected;\n if (!permissions || !type) {\n return;\n }\n\n const { can_share }: BoxItemPermission = permissions;\n if (!can_share) {\n return;\n }\n\n this.fetchSharedLinkInfo(selected);\n };\n\n /**\n * Saves reference to table component\n *\n * @private\n * @param {Component} react component\n * @return {void}\n */\n tableRef = (table: React$Component<*, *>): void => {\n this.table = table;\n };\n\n /**\n * Closes the modal dialogs that may be open\n *\n * @private\n * @return {void}\n */\n closeModals = (): void => {\n const { focusedRow }: State = this.state;\n\n this.setState({\n isLoading: false,\n isDeleteModalOpen: false,\n isRenameModalOpen: false,\n isCreateFolderModalOpen: false,\n isShareModalOpen: false,\n isUploadModalOpen: false,\n isPreviewModalOpen: false,\n });\n\n const {\n selected,\n currentCollection: { items = [] },\n }: State = this.state;\n if (selected && items.length > 0) {\n focus(this.rootElement, `.bce-item-row-${focusedRow}`);\n }\n };\n\n /**\n * Returns whether the currently focused element is an item\n *\n * @returns {bool}\n */\n isFocusOnItem = () => {\n const focusedElementClassList = document.activeElement?.classList;\n return focusedElementClassList && focusedElementClassList.contains('be-item-label');\n };\n\n /**\n * Keyboard events\n *\n * @private\n * @return {void}\n */\n onKeyDown = (event: SyntheticKeyboardEvent<HTMLElement>) => {\n if (isInputElement(event.target)) {\n return;\n }\n\n const { rootFolderId }: Props = this.props;\n const key = event.key.toLowerCase();\n\n switch (key) {\n case '/':\n focus(this.rootElement, '.be-search input[type=\"search\"]', false);\n event.preventDefault();\n break;\n case 'arrowdown':\n if (this.getViewMode() === VIEW_MODE_GRID) {\n if (!this.isFocusOnItem()) {\n focus(this.rootElement, '.be-item-name .be-item-label', false);\n event.preventDefault();\n }\n } else {\n focus(this.rootElement, '.bce-item-row', false);\n this.setState({ focusedRow: 0 });\n event.preventDefault();\n }\n break;\n case 'g':\n break;\n case 'b':\n if (this.globalModifier) {\n focus(this.rootElement, '.be-breadcrumb button', false);\n event.preventDefault();\n }\n\n break;\n case 'f':\n if (this.globalModifier) {\n this.fetchFolder(rootFolderId);\n event.preventDefault();\n }\n\n break;\n case 'u':\n if (this.globalModifier) {\n this.upload();\n event.preventDefault();\n }\n\n break;\n case 'r':\n if (this.globalModifier) {\n this.showRecents();\n event.preventDefault();\n }\n\n break;\n case 'n':\n if (this.globalModifier) {\n this.createFolder();\n event.preventDefault();\n }\n\n break;\n default:\n this.globalModifier = false;\n return;\n }\n\n this.globalModifier = key === 'g';\n };\n\n /**\n * Handle pagination changes for offset based pagination\n *\n * @param {number} newOffset - the new page offset value\n */\n paginate = (newOffset: number) => {\n this.setState({ currentOffset: newOffset }, this.refreshCollection);\n };\n\n /**\n * Handle pagination changes for marker based pagination\n * @param {number} newOffset - the new page offset value\n */\n markerBasedPaginate = (newOffset: number) => {\n const { currentPageNumber } = this.state;\n this.setState(\n {\n currentPageNumber: currentPageNumber + newOffset, // newOffset could be negative\n },\n this.refreshCollection,\n );\n };\n\n /**\n * Get the current viewMode, checking local store if applicable\n *\n * @return {ViewMode}\n */\n getViewMode = (): ViewMode => this.store.getItem(localStoreViewMode) || VIEW_MODE_LIST;\n\n /**\n * Get the maximum number of grid view columns based on the current width of the\n * content explorer.\n *\n * @return {number}\n */\n getMaxNumberOfGridViewColumnsForWidth = (): number => {\n const { isSmall, isMedium, isLarge } = this.props;\n let maxWidthColumns = GRID_VIEW_MAX_COLUMNS;\n if (isSmall) {\n maxWidthColumns = 1;\n } else if (isMedium) {\n maxWidthColumns = 3;\n } else if (isLarge) {\n maxWidthColumns = 5;\n }\n return maxWidthColumns;\n };\n\n /**\n * Change the current view mode\n *\n * @param {ViewMode} viewMode - the new view mode\n * @return {void}\n */\n changeViewMode = (viewMode: ViewMode): void => {\n this.store.setItem(localStoreViewMode, viewMode);\n this.forceUpdate();\n };\n\n /**\n * Callback for when value of GridViewSlider changes\n *\n * @param {number} sliderValue - value of slider\n * @return {void}\n */\n onGridViewSliderChange = (sliderValue: number): void => {\n // need to do this calculation since lowest value of grid view slider\n // means highest number of columns\n const gridColumnCount = GRID_VIEW_MAX_COLUMNS - sliderValue + 1;\n this.setState({ gridColumnCount });\n };\n\n /**\n * Function to update metadata field value in metadata based view\n * @param {BoxItem} item - file item whose metadata is being changed\n * @param {string} field - metadata template field name\n * @param {MetadataFieldValue} oldValue - current value\n * @param {MetadataFieldValue} newVlaue - new value the field to be updated to\n */\n\n updateMetadata = (\n item: BoxItem,\n field: string,\n oldValue: ?MetadataFieldValue,\n newValue: ?MetadataFieldValue,\n ): void => {\n this.metadataQueryAPIHelper.updateMetadata(\n item,\n field,\n oldValue,\n newValue,\n () => {\n this.updateMetadataSuccessCallback(item, field, newValue);\n },\n this.errorCallback,\n );\n };\n\n updateMetadataSuccessCallback = (item: BoxItem, field: string, newValue: ?MetadataFieldValue): void => {\n const { currentCollection }: State = this.state;\n const { items = [], nextMarker } = currentCollection;\n const updatedItems = items.map(collectionItem => {\n const clonedItem = cloneDeep(collectionItem);\n if (item.id === clonedItem.id) {\n const fields = getProp(clonedItem, 'metadata.enterprise.fields', []);\n fields.forEach(itemField => {\n if (itemField.key.split('.').pop() === field) {\n itemField.value = newValue; // set updated metadata value to correct item in currentCollection\n }\n });\n }\n return clonedItem;\n });\n\n this.setState({\n currentCollection: {\n items: updatedItems,\n nextMarker,\n percentLoaded: 100,\n },\n });\n };\n\n /**\n * Renders the file picker\n *\n * @private\n * @inheritdoc\n * @return {Element}\n */\n render() {\n const {\n apiHost,\n appHost,\n canCreateNewFolder,\n canDelete,\n canDownload,\n canPreview,\n canRename,\n canSetShareAccess,\n canShare,\n canUpload,\n className,\n contentPreviewProps,\n contentUploaderProps,\n defaultView,\n isMedium,\n isSmall,\n isTouch,\n language,\n logoUrl,\n measureRef,\n messages,\n fieldsToShow,\n onDownload,\n onPreview,\n onUpload,\n requestInterceptor,\n responseInterceptor,\n rootFolderId,\n sharedLink,\n sharedLinkPassword,\n staticHost,\n staticPath,\n previewLibraryVersion,\n token,\n uploadHost,\n }: Props = this.props;\n\n const {\n currentCollection,\n currentPageNumber,\n currentPageSize,\n errorCode,\n focusedRow,\n gridColumnCount,\n isCreateFolderModalOpen,\n isDeleteModalOpen,\n isLoading,\n isPreviewModalOpen,\n isRenameModalOpen,\n isShareModalOpen,\n isUploadModalOpen,\n markers,\n rootName,\n searchQuery,\n selected,\n view,\n }: State = this.state;\n\n const { id, offset, permissions, totalCount }: Collection = currentCollection;\n const { can_upload }: BoxItemPermission = permissions || {};\n const styleClassName = classNames('be bce', className);\n const allowUpload: boolean = canUpload && !!can_upload;\n const allowCreate: boolean = canCreateNewFolder && !!can_upload;\n const isDefaultViewMetadata: boolean = defaultView === DEFAULT_VIEW_METADATA;\n const isErrorView: boolean = view === VIEW_ERROR;\n\n const viewMode = this.getViewMode();\n const maxGridColumnCount = this.getMaxNumberOfGridViewColumnsForWidth();\n\n const hasNextMarker: boolean = !!markers[currentPageNumber + 1];\n const hasPreviousMarker: boolean = currentPageNumber === 1 || !!markers[currentPageNumber - 1];\n\n /* eslint-disable jsx-a11y/no-static-element-interactions */\n /* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n return (\n <Internationalize language={language} messages={messages}>\n <div id={this.id} className={styleClassName} ref={measureRef} data-testid=\"content-explorer\">\n <div className=\"be-app-element\" onKeyDown={this.onKeyDown} tabIndex={0}>\n {!isDefaultViewMetadata && (\n <>\n <Header\n view={view}\n isSmall={isSmall}\n searchQuery={searchQuery}\n logoUrl={logoUrl}\n onSearch={this.search}\n />\n <SubHeader\n view={view}\n viewMode={viewMode}\n rootId={rootFolderId}\n isSmall={isSmall}\n rootName={rootName}\n currentCollection={currentCollection}\n canUpload={allowUpload}\n canCreateNewFolder={allowCreate}\n gridColumnCount={gridColumnCount}\n gridMaxColumns={GRID_VIEW_MAX_COLUMNS}\n gridMinColumns={GRID_VIEW_MIN_COLUMNS}\n maxGridColumnCountForWidth={maxGridColumnCount}\n onUpload={this.upload}\n onCreate={this.createFolder}\n onGridViewSliderChange={this.onGridViewSliderChange}\n onItemClick={this.fetchFolder}\n onSortChange={this.sort}\n onViewModeChange={this.changeViewMode}\n />\n </>\n )}\n <Content\n canDelete={canDelete}\n canDownload={canDownload}\n canPreview={canPreview}\n canRename={canRename}\n canShare={canShare}\n currentCollection={currentCollection}\n focusedRow={focusedRow}\n gridColumnCount={Math.min(gridColumnCount, maxGridColumnCount)}\n isMedium={isMedium}\n isSmall={isSmall}\n isTouch={isTouch}\n fieldsToShow={fieldsToShow}\n onItemClick={this.onItemClick}\n onItemDelete={this.delete}\n onItemDownload={this.download}\n onItemPreview={this.preview}\n onItemRename={this.rename}\n onItemSelect={this.select}\n onItemShare={this.share}\n onMetadataUpdate={this.updateMetadata}\n onSortChange={this.sort}\n rootElement={this.rootElement}\n rootId={rootFolderId}\n selected={selected}\n tableRef={this.tableRef}\n view={view}\n viewMode={viewMode}\n />\n {!isErrorView && (\n <Footer>\n <Pagination\n hasNextMarker={hasNextMarker}\n hasPrevMarker={hasPreviousMarker}\n offset={offset}\n onOffsetChange={this.paginate}\n pageSize={currentPageSize}\n totalCount={totalCount}\n onMarkerBasedPageChange={this.markerBasedPaginate}\n />\n </Footer>\n )}\n </div>\n {allowUpload && !!this.appElement ? (\n <UploadDialog\n isOpen={isUploadModalOpen}\n currentFolderId={id}\n token={token}\n sharedLink={sharedLink}\n sharedLinkPassword={sharedLinkPassword}\n apiHost={apiHost}\n uploadHost={uploadHost}\n onClose={this.uploadSuccessHandler}\n parentElement={this.rootElement}\n appElement={this.appElement}\n onUpload={onUpload}\n contentUploaderProps={contentUploaderProps}\n requestInterceptor={requestInterceptor}\n responseInterceptor={responseInterceptor}\n />\n ) : null}\n {allowCreate && !!this.appElement ? (\n <CreateFolderDialog\n isOpen={isCreateFolderModalOpen}\n onCreate={this.createFolderCallback}\n onCancel={this.closeModals}\n isLoading={isLoading}\n errorCode={errorCode}\n parentElement={this.rootElement}\n appElement={this.appElement}\n />\n ) : null}\n {canDelete && selected && !!this.appElement ? (\n <DeleteConfirmationDialog\n isOpen={isDeleteModalOpen}\n onDelete={this.deleteCallback}\n onCancel={this.closeModals}\n item={selected}\n isLoading={isLoading}\n parentElement={this.rootElement}\n appElement={this.appElement}\n />\n ) : null}\n {canRename && selected && !!this.appElement ? (\n <RenameDialog\n isOpen={isRenameModalOpen}\n onRename={this.renameCallback}\n onCancel={this.closeModals}\n item={selected}\n isLoading={isLoading}\n errorCode={errorCode}\n parentElement={this.rootElement}\n appElement={this.appElement}\n />\n ) : null}\n {canShare && selected && !!this.appElement ? (\n <ShareDialog\n isOpen={isShareModalOpen}\n canSetShareAccess={canSetShareAccess}\n onShareAccessChange={this.changeShareAccess}\n onCancel={this.refreshCollection}\n item={selected}\n isLoading={isLoading}\n parentElement={this.rootElement}\n appElement={this.appElement}\n />\n ) : null}\n {canPreview && selected && !!this.appElement ? (\n <PreviewDialog\n isOpen={isPreviewModalOpen}\n isTouch={isTouch}\n onCancel={this.closeModals}\n item={selected}\n currentCollection={cloneDeep(currentCollection)}\n token={token}\n parentElement={this.rootElement}\n appElement={this.appElement}\n onPreview={onPreview}\n onDownload={onDownload}\n canDownload={canDownload}\n cache={this.api.getCache()}\n apiHost={apiHost}\n appHost={appHost}\n staticHost={staticHost}\n staticPath={staticPath}\n previewLibraryVersion={previewLibraryVersion}\n sharedLink={sharedLink}\n sharedLinkPassword={sharedLinkPassword}\n contentPreviewProps={contentPreviewProps}\n requestInterceptor={requestInterceptor}\n responseInterceptor={responseInterceptor}\n />\n ) : null}\n </div>\n </Internationalize>\n );\n /* eslint-enable jsx-a11y/no-static-element-interactions */\n /* eslint-enable jsx-a11y/no-noninteractive-tabindex */\n }\n}\n\nexport { ContentExplorer as ContentExplorerComponent };\nexport default flow([makeResponsive, withFeatureConsumer, withFeatureProvider])(ContentExplorer);\n"],"file":"ContentExplorer.js"}
|
|
@@ -55,7 +55,7 @@ const MoreOptions = (_ref) => {
|
|
|
55
55
|
const allowDelete = canDelete && permissions[PERMISSION_CAN_DELETE];
|
|
56
56
|
const allowShare = canShare && permissions[PERMISSION_CAN_SHARE];
|
|
57
57
|
const allowRename = canRename && permissions[PERMISSION_CAN_RENAME];
|
|
58
|
-
const allowDownload = canDownload && permissions[PERMISSION_CAN_DOWNLOAD] && type === TYPE_FILE &&
|
|
58
|
+
const allowDownload = canDownload && permissions[PERMISSION_CAN_DOWNLOAD] && type === TYPE_FILE && Browser.canDownload();
|
|
59
59
|
const allowed = allowDelete || allowRename || allowDownload || allowPreview || allowShare || allowOpen;
|
|
60
60
|
|
|
61
61
|
if (!allowed) {
|
|
@@ -74,7 +74,7 @@ const MoreOptions = ({
|
|
|
74
74
|
const allowShare = canShare && permissions[PERMISSION_CAN_SHARE];
|
|
75
75
|
const allowRename = canRename && permissions[PERMISSION_CAN_RENAME];
|
|
76
76
|
const allowDownload =
|
|
77
|
-
canDownload && permissions[PERMISSION_CAN_DOWNLOAD] && type === TYPE_FILE &&
|
|
77
|
+
canDownload && permissions[PERMISSION_CAN_DOWNLOAD] && type === TYPE_FILE && Browser.canDownload();
|
|
78
78
|
const allowed = allowDelete || allowRename || allowDownload || allowPreview || allowShare || allowOpen;
|
|
79
79
|
|
|
80
80
|
if (!allowed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/elements/content-explorer/MoreOptions.js"],"names":["React","FormattedMessage","injectIntl","Button","DropdownMenu","Menu","MenuItem","Browser","IconEllipsis","bdlGray","messages","PERMISSION_CAN_DOWNLOAD","PERMISSION_CAN_RENAME","PERMISSION_CAN_DELETE","PERMISSION_CAN_SHARE","PERMISSION_CAN_PREVIEW","TYPE_FILE","TYPE_WEBLINK","MoreOptions","canPreview","canShare","canDownload","canDelete","canRename","onItemSelect","onItemDelete","onItemDownload","onItemRename","onItemShare","onItemPreview","intl","isSmall","item","onFocus","onDelete","onDownload","onRename","onShare","onPreview","permissions","type","allowPreview","allowOpen","allowDelete","allowShare","allowRename","allowDownload","
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/content-explorer/MoreOptions.js"],"names":["React","FormattedMessage","injectIntl","Button","DropdownMenu","Menu","MenuItem","Browser","IconEllipsis","bdlGray","messages","PERMISSION_CAN_DOWNLOAD","PERMISSION_CAN_RENAME","PERMISSION_CAN_DELETE","PERMISSION_CAN_SHARE","PERMISSION_CAN_PREVIEW","TYPE_FILE","TYPE_WEBLINK","MoreOptions","canPreview","canShare","canDownload","canDelete","canRename","onItemSelect","onItemDelete","onItemDownload","onItemRename","onItemShare","onItemPreview","intl","isSmall","item","onFocus","onDelete","onDownload","onRename","onShare","onPreview","permissions","type","allowPreview","allowOpen","allowDelete","allowShare","allowRename","allowDownload","allowed","formatMessage","moreOptions","preview","open","delete","download","rename","share"],"mappings":"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","sourcesContent":["// @flow\nimport React from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport type { IntlShape } from 'react-intl';\n\nimport Button from '../../components/button/Button';\nimport DropdownMenu from '../../components/dropdown-menu/DropdownMenu';\nimport Menu from '../../components/menu/Menu';\nimport MenuItem from '../../components/menu/MenuItem';\nimport Browser from '../../utils/Browser';\nimport IconEllipsis from '../../icons/general/IconEllipsis';\nimport { bdlGray } from '../../styles/variables';\n\nimport messages from '../common/messages';\nimport {\n PERMISSION_CAN_DOWNLOAD,\n PERMISSION_CAN_RENAME,\n PERMISSION_CAN_DELETE,\n PERMISSION_CAN_SHARE,\n PERMISSION_CAN_PREVIEW,\n TYPE_FILE,\n TYPE_WEBLINK,\n} from '../../constants';\n\nimport type { CommonGridViewFunctions } from './flowTypes';\nimport type { BoxItem } from '../../common/types/core';\n\nimport './MoreOptionsCell.scss';\n\ntype Props = {\n canDelete: boolean,\n canDownload: boolean,\n canPreview: boolean,\n canRename: boolean,\n canShare: boolean,\n intl: IntlShape,\n isSmall: boolean,\n item: BoxItem,\n ...$Exact<CommonGridViewFunctions>,\n};\n\nconst MoreOptions = ({\n canPreview,\n canShare,\n canDownload,\n canDelete,\n canRename,\n onItemSelect,\n onItemDelete,\n onItemDownload,\n onItemRename,\n onItemShare,\n onItemPreview,\n intl,\n isSmall,\n item,\n}: Props) => {\n const onFocus = () => onItemSelect(item);\n const onDelete = () => onItemDelete(item);\n const onDownload = () => onItemDownload(item);\n const onRename = () => onItemRename(item);\n const onShare = () => onItemShare(item);\n const onPreview = () => onItemPreview(item);\n\n const { permissions, type } = item;\n\n if (!permissions) {\n return <span />;\n }\n\n const allowPreview = type === TYPE_FILE && canPreview && permissions[PERMISSION_CAN_PREVIEW];\n const allowOpen = type === TYPE_WEBLINK;\n const allowDelete = canDelete && permissions[PERMISSION_CAN_DELETE];\n const allowShare = canShare && permissions[PERMISSION_CAN_SHARE];\n const allowRename = canRename && permissions[PERMISSION_CAN_RENAME];\n const allowDownload =\n canDownload && permissions[PERMISSION_CAN_DOWNLOAD] && type === TYPE_FILE && Browser.canDownload();\n const allowed = allowDelete || allowRename || allowDownload || allowPreview || allowShare || allowOpen;\n\n if (!allowed) {\n return <span />;\n }\n return (\n <div className=\"bce-more-options\">\n <DropdownMenu constrainToScrollParent isRightAligned>\n <Button\n aria-label={intl.formatMessage(messages.moreOptions)}\n className=\"bce-btn-more-options\"\n data-testid=\"bce-btn-more-options\"\n onFocus={onFocus}\n type=\"button\"\n >\n <IconEllipsis color={bdlGray} height={10} width={16} />\n </Button>\n <Menu>\n {allowPreview && (\n <MenuItem onClick={onPreview}>\n <FormattedMessage {...messages.preview} />\n </MenuItem>\n )}\n {allowOpen && (\n <MenuItem onClick={onPreview}>\n <FormattedMessage {...messages.open} />\n </MenuItem>\n )}\n {allowDelete && (\n <MenuItem onClick={onDelete}>\n <FormattedMessage {...messages.delete} />\n </MenuItem>\n )}\n {allowDownload && (\n <MenuItem onClick={onDownload}>\n <FormattedMessage {...messages.download} />\n </MenuItem>\n )}\n {allowRename && (\n <MenuItem onClick={onRename}>\n <FormattedMessage {...messages.rename} />\n </MenuItem>\n )}\n {allowShare && (\n <MenuItem onClick={onShare}>\n <FormattedMessage {...messages.share} />\n </MenuItem>\n )}\n </Menu>\n </DropdownMenu>\n {allowShare && !isSmall && (\n <Button onClick={onShare} onFocus={onFocus} type=\"button\">\n <FormattedMessage {...messages.share} />\n </Button>\n )}\n </div>\n );\n};\n\nexport default injectIntl(MoreOptions);\n"],"file":"MoreOptions.js"}
|
|
@@ -83,7 +83,6 @@ const PreviewDialog = (_ref) => {
|
|
|
83
83
|
canDownload: canDownload,
|
|
84
84
|
sharedLink: sharedLink,
|
|
85
85
|
sharedLinkPassword: sharedLinkPassword,
|
|
86
|
-
contentPreviewProps: contentPreviewProps,
|
|
87
86
|
requestInterceptor: requestInterceptor,
|
|
88
87
|
responseInterceptor: responseInterceptor
|
|
89
88
|
})));
|
|
@@ -104,7 +104,6 @@ const PreviewDialog = ({
|
|
|
104
104
|
canDownload={canDownload}
|
|
105
105
|
sharedLink={sharedLink}
|
|
106
106
|
sharedLinkPassword={sharedLinkPassword}
|
|
107
|
-
contentPreviewProps={contentPreviewProps}
|
|
108
107
|
requestInterceptor={requestInterceptor}
|
|
109
108
|
responseInterceptor={responseInterceptor}
|
|
110
109
|
/>
|