@atlaskit/smart-card 16.2.1 → 17.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +145 -0
- package/dist/cjs/classNames.js +105 -0
- package/dist/cjs/client/api.js +6 -4
- package/dist/cjs/client/errors.js +3 -1
- package/dist/cjs/client/types/responses.js +1 -1
- package/dist/cjs/client/utils/environments.js +1 -1
- package/dist/cjs/constants.js +158 -0
- package/dist/cjs/extractors/block/index.js +5 -5
- package/dist/cjs/extractors/common/actions/extractActions.js +7 -5
- package/dist/cjs/extractors/common/actions/extractPreviewAction.js +7 -7
- package/dist/cjs/extractors/common/byline/extractByline.js +17 -5
- package/dist/cjs/extractors/common/context/extractAccessContext.js +9 -7
- package/dist/cjs/extractors/common/lozenge/utils.js +1 -1
- package/dist/cjs/extractors/common/utils.js +1 -1
- package/dist/cjs/extractors/constants.js +1 -1
- package/dist/cjs/extractors/embed/index.js +2 -2
- package/dist/cjs/extractors/flexible/collaboratorGroup/index.js +20 -0
- package/dist/cjs/extractors/flexible/extract-priority.js +49 -0
- package/dist/cjs/extractors/flexible/icon/extract-document-type-icon.js +39 -0
- package/dist/cjs/extractors/flexible/icon/extract-file-formatIcon.js +116 -0
- package/dist/cjs/extractors/flexible/icon/extract-icon-renderer.js +28 -0
- package/dist/cjs/extractors/flexible/icon/extract-jira-task-icon.js +45 -0
- package/dist/cjs/extractors/flexible/icon/extract-jsonld-data-icon.js +123 -0
- package/dist/cjs/extractors/flexible/icon/extract-provider-icon.js +29 -0
- package/dist/cjs/extractors/flexible/icon/extract-url-icon.js +16 -0
- package/dist/cjs/extractors/flexible/icon/index.js +82 -0
- package/dist/cjs/extractors/flexible/icon/types.js +5 -0
- package/dist/cjs/extractors/flexible/index.js +54 -0
- package/dist/cjs/extractors/flexible/utils.js +50 -0
- package/dist/cjs/in-product.js +8 -8
- package/dist/cjs/index.js +121 -33
- package/dist/cjs/messages.js +137 -0
- package/dist/cjs/providers/editor/transformer.js +5 -1
- package/dist/cjs/ssr.js +45 -0
- package/dist/cjs/state/actions/constants.js +1 -1
- package/dist/cjs/state/actions/index.js +1 -1
- package/dist/cjs/state/analytics/index.js +8 -8
- package/dist/cjs/state/analytics/ufoExperiences.js +18 -15
- package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +12 -4
- package/dist/cjs/state/context/index.js +3 -2
- package/dist/cjs/state/flexible-ui-context/index.js +17 -0
- package/dist/cjs/state/flexible-ui-context/types.js +5 -0
- package/dist/cjs/state/helpers.js +1 -1
- package/dist/cjs/state/index.js +4 -4
- package/dist/cjs/state/reducers/index.js +2 -2
- package/dist/cjs/utils/analytics/analytics.js +9 -9
- package/dist/cjs/utils/analytics/index.js +29 -29
- package/dist/cjs/utils/flexible.js +54 -0
- package/dist/cjs/utils/index.js +18 -2
- package/dist/cjs/utils/mocks.js +1 -1
- package/dist/cjs/utils/performance.js +1 -1
- package/dist/cjs/utils/token.js +34 -0
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/BlockCard/actions/AuthorizeAction.js +29 -0
- package/dist/cjs/view/BlockCard/actions/DownloadAction.js +69 -0
- package/dist/cjs/view/BlockCard/actions/ForbiddenAction.js +38 -0
- package/dist/cjs/view/BlockCard/actions/PreviewAction.js +134 -0
- package/dist/cjs/view/BlockCard/actions/RetryAction.js +49 -0
- package/dist/cjs/view/BlockCard/actions/ViewAction.js +67 -0
- package/dist/cjs/view/BlockCard/components/Action.js +70 -0
- package/dist/cjs/view/BlockCard/components/ActionIcon.js +57 -0
- package/dist/cjs/view/BlockCard/components/ActionList.js +75 -0
- package/dist/cjs/view/BlockCard/components/Byline.js +46 -0
- package/dist/cjs/view/BlockCard/components/CollaboratorList.js +53 -0
- package/dist/cjs/view/BlockCard/components/Content.js +33 -0
- package/dist/cjs/view/BlockCard/components/ContentFooter.js +33 -0
- package/dist/cjs/view/BlockCard/components/ContentHeader.js +34 -0
- package/dist/cjs/view/BlockCard/components/Emoji.js +31 -0
- package/dist/cjs/view/BlockCard/components/Frame.js +95 -0
- package/dist/cjs/view/BlockCard/components/Icon.js +60 -0
- package/dist/cjs/view/BlockCard/components/Link.js +28 -0
- package/dist/cjs/view/BlockCard/components/Metadata.js +60 -0
- package/dist/cjs/view/BlockCard/components/MetadataList.js +43 -0
- package/dist/cjs/view/BlockCard/components/Modal.js +132 -0
- package/dist/cjs/view/BlockCard/components/ModalHeader.js +111 -0
- package/dist/cjs/view/BlockCard/components/Name.js +47 -0
- package/dist/cjs/view/BlockCard/components/Provider.js +49 -0
- package/dist/cjs/view/BlockCard/components/Thumbnail.js +71 -0
- package/dist/cjs/view/BlockCard/components/UnresolvedText.js +22 -0
- package/dist/cjs/view/BlockCard/index.js +84 -12
- package/dist/cjs/view/BlockCard/utils/constants.js +13 -0
- package/dist/cjs/view/BlockCard/utils/handlers.js +16 -0
- package/dist/cjs/view/BlockCard/utils/index.js +27 -0
- package/dist/cjs/view/BlockCard/views/ErroredView.js +100 -0
- package/dist/cjs/view/BlockCard/views/ForbiddenView.js +112 -0
- package/dist/cjs/view/BlockCard/views/NotFoundView.js +96 -0
- package/dist/cjs/view/BlockCard/views/ResolvedView.js +144 -0
- package/dist/cjs/view/BlockCard/views/ResolvingView.js +55 -0
- package/dist/cjs/view/BlockCard/views/UnauthorizedView.js +93 -0
- package/dist/cjs/view/Card/index.js +9 -2
- package/dist/cjs/view/CardWithData/component.js +6 -4
- package/dist/cjs/view/CardWithUrl/component-lazy/LazyFallback.js +3 -3
- package/dist/cjs/view/CardWithUrl/component.js +19 -1
- package/dist/cjs/view/CardWithUrl/loader.js +9 -6
- package/dist/cjs/view/EmbedCard/EmbedResizeMessageListener.js +2 -2
- package/dist/cjs/view/EmbedCard/components/ExpandedFrame.js +93 -0
- package/dist/cjs/view/EmbedCard/components/Frame.js +65 -0
- package/dist/cjs/view/EmbedCard/components/ImageIcon.js +44 -0
- package/dist/cjs/view/EmbedCard/components/styled.js +187 -0
- package/dist/cjs/view/EmbedCard/index.js +23 -13
- package/dist/cjs/view/EmbedCard/views/ErroredView.js +66 -0
- package/dist/cjs/view/EmbedCard/views/ForbiddenView.js +85 -0
- package/dist/cjs/view/EmbedCard/views/NotFoundView.js +51 -0
- package/dist/cjs/view/EmbedCard/views/ResolvedView.js +75 -0
- package/dist/cjs/view/EmbedCard/views/UnauthorisedView.js +58 -0
- package/dist/cjs/view/EmbedCard/views/UnresolvedView.js +83 -0
- package/dist/cjs/view/FlexibleCard/components/actions/delete-action/index.js +83 -0
- package/dist/cjs/view/FlexibleCard/components/actions/index.js +16 -0
- package/dist/cjs/view/FlexibleCard/components/actions/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/actions/utils.js +70 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +37 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/action-group/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +42 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/element-group/index.js +59 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/element-group/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/index.js +15 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/errored/index.js +81 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/index.js +58 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolved/index.js +65 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolving/index.js +68 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +149 -0
- package/dist/cjs/view/FlexibleCard/components/common/atlaskit-icon/index.js +326 -0
- package/dist/cjs/view/FlexibleCard/components/common/atlaskit-icon/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.js +42 -0
- package/dist/cjs/view/FlexibleCard/components/common/image-icon/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/container/index.js +104 -0
- package/dist/cjs/view/FlexibleCard/components/container/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +42 -0
- package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/elements/badge/index.js +97 -0
- package/dist/cjs/view/FlexibleCard/components/elements/badge/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/elements/date-time/index.js +68 -0
- package/dist/cjs/view/FlexibleCard/components/elements/date-time/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/elements/icon/index.js +125 -0
- package/dist/cjs/view/FlexibleCard/components/elements/icon/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/elements/index.js +40 -0
- package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +85 -0
- package/dist/cjs/view/FlexibleCard/components/elements/link/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +44 -0
- package/dist/cjs/view/FlexibleCard/components/elements/lozenge/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/elements/text/index.js +42 -0
- package/dist/cjs/view/FlexibleCard/components/elements/text/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/elements/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/elements/utils.js +170 -0
- package/dist/cjs/view/FlexibleCard/components/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/components/utils.js +84 -0
- package/dist/cjs/view/FlexibleCard/index.js +41 -0
- package/dist/cjs/view/FlexibleCard/types.js +5 -0
- package/dist/cjs/view/FlexibleCard/utils.js +119 -0
- package/dist/cjs/view/InlineCard/ErroredView/index.js +122 -0
- package/dist/cjs/view/InlineCard/ForbiddenView/index.js +148 -0
- package/dist/cjs/view/InlineCard/Frame/index.js +71 -0
- package/dist/cjs/view/InlineCard/Frame/styled.js +96 -0
- package/dist/cjs/view/InlineCard/Icon.js +37 -0
- package/dist/cjs/view/InlineCard/IconAndTitleLayout/index.js +140 -0
- package/dist/cjs/view/InlineCard/IconAndTitleLayout/styled.js +76 -0
- package/dist/cjs/view/InlineCard/ResolvedView/index.js +88 -0
- package/dist/cjs/view/InlineCard/ResolvingView/index.js +91 -0
- package/dist/cjs/view/InlineCard/ResolvingView/styled.js +19 -0
- package/dist/cjs/view/InlineCard/UnauthorisedView/index.js +118 -0
- package/dist/cjs/view/InlineCard/index.js +48 -8
- package/dist/cjs/view/InlineCard/styled.js +43 -0
- package/dist/cjs/view/LinkView/index.js +51 -0
- package/dist/cjs/view/types.js +5 -0
- package/dist/es2019/classNames.js +11 -0
- package/dist/es2019/constants.js +142 -0
- package/dist/es2019/extractors/block/index.js +2 -2
- package/dist/es2019/extractors/common/actions/extractActions.js +2 -1
- package/dist/es2019/extractors/common/actions/extractPreviewAction.js +3 -3
- package/dist/es2019/extractors/common/byline/extractByline.js +16 -5
- package/dist/es2019/extractors/common/context/extractAccessContext.js +2 -1
- package/dist/es2019/extractors/flexible/collaboratorGroup/index.js +10 -0
- package/dist/es2019/extractors/flexible/extract-priority.js +39 -0
- package/dist/es2019/extractors/flexible/icon/extract-document-type-icon.js +31 -0
- package/dist/es2019/extractors/flexible/icon/extract-file-formatIcon.js +108 -0
- package/dist/es2019/extractors/flexible/icon/extract-icon-renderer.js +16 -0
- package/dist/es2019/extractors/flexible/icon/extract-jira-task-icon.js +35 -0
- package/dist/es2019/extractors/flexible/icon/extract-jsonld-data-icon.js +96 -0
- package/dist/es2019/extractors/flexible/icon/extract-provider-icon.js +17 -0
- package/dist/es2019/extractors/flexible/icon/extract-url-icon.js +8 -0
- package/dist/es2019/extractors/flexible/icon/index.js +52 -0
- package/dist/es2019/extractors/flexible/icon/types.js +1 -0
- package/dist/es2019/extractors/flexible/index.js +36 -0
- package/dist/es2019/extractors/flexible/utils.js +23 -0
- package/dist/es2019/index.js +6 -3
- package/dist/es2019/messages.js +128 -0
- package/dist/es2019/providers/editor/transformer.js +3 -1
- package/dist/es2019/ssr.js +19 -0
- package/dist/es2019/state/actions/index.js +1 -1
- package/dist/es2019/state/analytics/ufoExperiences.js +17 -14
- package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +18 -4
- package/dist/es2019/state/flexible-ui-context/index.js +3 -0
- package/dist/es2019/state/flexible-ui-context/types.js +1 -0
- package/dist/es2019/utils/analytics/analytics.js +6 -6
- package/dist/es2019/utils/flexible.js +14 -0
- package/dist/es2019/utils/index.js +6 -0
- package/dist/es2019/utils/token.js +23 -0
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/BlockCard/actions/AuthorizeAction.js +9 -0
- package/dist/es2019/view/BlockCard/actions/DownloadAction.js +22 -0
- package/dist/es2019/view/BlockCard/actions/ForbiddenAction.js +14 -0
- package/dist/es2019/view/BlockCard/actions/PreviewAction.js +70 -0
- package/dist/es2019/view/BlockCard/actions/RetryAction.js +8 -0
- package/dist/es2019/view/BlockCard/actions/ViewAction.js +21 -0
- package/dist/es2019/view/BlockCard/components/Action.js +42 -0
- package/dist/es2019/view/BlockCard/components/ActionIcon.js +42 -0
- package/dist/es2019/view/BlockCard/components/ActionList.js +42 -0
- package/dist/es2019/view/BlockCard/components/Byline.js +33 -0
- package/dist/es2019/view/BlockCard/components/CollaboratorList.js +36 -0
- package/dist/es2019/view/BlockCard/components/Content.js +18 -0
- package/dist/es2019/view/BlockCard/components/ContentFooter.js +18 -0
- package/dist/es2019/view/BlockCard/components/ContentHeader.js +21 -0
- package/dist/es2019/view/BlockCard/components/Emoji.js +18 -0
- package/dist/es2019/view/BlockCard/components/Frame.js +68 -0
- package/dist/es2019/view/BlockCard/components/Icon.js +42 -0
- package/dist/es2019/view/BlockCard/components/Link.js +17 -0
- package/dist/es2019/view/BlockCard/components/Metadata.js +46 -0
- package/dist/es2019/view/BlockCard/components/MetadataList.js +26 -0
- package/dist/es2019/view/BlockCard/components/Modal.js +94 -0
- package/dist/es2019/view/BlockCard/components/ModalHeader.js +86 -0
- package/dist/es2019/view/BlockCard/components/Name.js +31 -0
- package/dist/es2019/view/BlockCard/components/Provider.js +38 -0
- package/dist/es2019/view/BlockCard/components/Thumbnail.js +49 -0
- package/dist/es2019/view/BlockCard/components/UnresolvedText.js +13 -0
- package/dist/es2019/view/BlockCard/index.js +13 -3
- package/dist/es2019/view/BlockCard/utils/constants.js +4 -0
- package/dist/es2019/view/BlockCard/utils/handlers.js +7 -0
- package/dist/es2019/view/BlockCard/utils/index.js +9 -0
- package/dist/es2019/view/BlockCard/views/ErroredView.js +57 -0
- package/dist/es2019/view/BlockCard/views/ForbiddenView.js +72 -0
- package/dist/es2019/view/BlockCard/views/NotFoundView.js +56 -0
- package/dist/es2019/view/BlockCard/views/ResolvedView.js +97 -0
- package/dist/es2019/view/BlockCard/views/ResolvingView.js +31 -0
- package/dist/es2019/view/BlockCard/views/UnauthorizedView.js +56 -0
- package/dist/es2019/view/Card/index.js +8 -2
- package/dist/es2019/view/CardWithData/component.js +2 -1
- package/dist/es2019/view/CardWithUrl/component-lazy/LazyFallback.js +1 -1
- package/dist/es2019/view/CardWithUrl/component.js +15 -1
- package/dist/es2019/view/CardWithUrl/loader.js +7 -4
- package/dist/es2019/view/EmbedCard/EmbedResizeMessageListener.js +1 -1
- package/dist/es2019/view/EmbedCard/components/ExpandedFrame.js +69 -0
- package/dist/es2019/view/EmbedCard/components/Frame.js +37 -0
- package/dist/es2019/view/EmbedCard/components/ImageIcon.js +28 -0
- package/dist/es2019/view/EmbedCard/components/styled.js +292 -0
- package/dist/es2019/view/EmbedCard/index.js +9 -4
- package/dist/es2019/view/EmbedCard/views/ErroredView.js +43 -0
- package/dist/es2019/view/EmbedCard/views/ForbiddenView.js +68 -0
- package/dist/es2019/view/EmbedCard/views/NotFoundView.js +33 -0
- package/dist/es2019/view/EmbedCard/views/ResolvedView.js +53 -0
- package/dist/es2019/view/EmbedCard/views/UnauthorisedView.js +40 -0
- package/dist/es2019/view/EmbedCard/views/UnresolvedView.js +67 -0
- package/dist/es2019/view/FlexibleCard/components/actions/delete-action/index.js +58 -0
- package/dist/es2019/view/FlexibleCard/components/actions/index.js +6 -0
- package/dist/es2019/view/FlexibleCard/components/actions/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/actions/utils.js +48 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +22 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/action-group/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +23 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/element-group/index.js +38 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/element-group/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/index.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/errored/index.js +68 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/index.js +37 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolved/index.js +42 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolving/index.js +52 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +123 -0
- package/dist/es2019/view/FlexibleCard/components/common/atlaskit-icon/index.js +242 -0
- package/dist/es2019/view/FlexibleCard/components/common/atlaskit-icon/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.js +49 -0
- package/dist/es2019/view/FlexibleCard/components/common/image-icon/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/container/index.js +89 -0
- package/dist/es2019/view/FlexibleCard/components/container/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +25 -0
- package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/badge/index.js +102 -0
- package/dist/es2019/view/FlexibleCard/components/elements/badge/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/date-time/index.js +53 -0
- package/dist/es2019/view/FlexibleCard/components/elements/date-time/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/icon/index.js +111 -0
- package/dist/es2019/view/FlexibleCard/components/elements/icon/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/index.js +18 -0
- package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +86 -0
- package/dist/es2019/view/FlexibleCard/components/elements/link/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +28 -0
- package/dist/es2019/view/FlexibleCard/components/elements/lozenge/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/text/index.js +29 -0
- package/dist/es2019/view/FlexibleCard/components/elements/text/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/utils.js +149 -0
- package/dist/es2019/view/FlexibleCard/components/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/utils.js +93 -0
- package/dist/es2019/view/FlexibleCard/index.js +30 -0
- package/dist/es2019/view/FlexibleCard/types.js +1 -0
- package/dist/es2019/view/FlexibleCard/utils.js +99 -0
- package/dist/es2019/view/InlineCard/ErroredView/index.js +70 -0
- package/dist/es2019/view/InlineCard/ForbiddenView/index.js +98 -0
- package/dist/es2019/view/InlineCard/Frame/index.js +55 -0
- package/dist/es2019/view/InlineCard/Frame/styled.js +108 -0
- package/dist/es2019/view/InlineCard/Icon.js +62 -0
- package/dist/es2019/view/InlineCard/IconAndTitleLayout/index.js +99 -0
- package/dist/es2019/view/InlineCard/IconAndTitleLayout/styled.js +102 -0
- package/dist/es2019/view/InlineCard/ResolvedView/index.js +46 -0
- package/dist/es2019/view/InlineCard/ResolvingView/index.js +48 -0
- package/dist/es2019/view/InlineCard/ResolvingView/styled.js +6 -0
- package/dist/es2019/view/InlineCard/UnauthorisedView/index.js +66 -0
- package/dist/es2019/view/InlineCard/index.js +7 -1
- package/dist/es2019/view/InlineCard/styled.js +39 -0
- package/dist/es2019/view/LinkView/index.js +11 -0
- package/dist/es2019/view/types.js +1 -0
- package/dist/esm/classNames.js +11 -0
- package/dist/esm/client/api.js +4 -3
- package/dist/esm/client/errors.js +2 -1
- package/dist/esm/constants.js +142 -0
- package/dist/esm/extractors/block/index.js +4 -4
- package/dist/esm/extractors/common/actions/extractActions.js +4 -3
- package/dist/esm/extractors/common/actions/extractPreviewAction.js +5 -5
- package/dist/esm/extractors/common/byline/extractByline.js +16 -5
- package/dist/esm/extractors/common/context/extractAccessContext.js +4 -3
- package/dist/esm/extractors/embed/index.js +2 -2
- package/dist/esm/extractors/flexible/collaboratorGroup/index.js +10 -0
- package/dist/esm/extractors/flexible/extract-priority.js +39 -0
- package/dist/esm/extractors/flexible/icon/extract-document-type-icon.js +31 -0
- package/dist/esm/extractors/flexible/icon/extract-file-formatIcon.js +108 -0
- package/dist/esm/extractors/flexible/icon/extract-icon-renderer.js +20 -0
- package/dist/esm/extractors/flexible/icon/extract-jira-task-icon.js +37 -0
- package/dist/esm/extractors/flexible/icon/extract-jsonld-data-icon.js +104 -0
- package/dist/esm/extractors/flexible/icon/extract-provider-icon.js +17 -0
- package/dist/esm/extractors/flexible/icon/extract-url-icon.js +8 -0
- package/dist/esm/extractors/flexible/icon/index.js +63 -0
- package/dist/esm/extractors/flexible/icon/types.js +1 -0
- package/dist/esm/extractors/flexible/index.js +36 -0
- package/dist/esm/extractors/flexible/utils.js +29 -0
- package/dist/esm/index.js +6 -3
- package/dist/esm/messages.js +128 -0
- package/dist/esm/providers/editor/transformer.js +5 -1
- package/dist/esm/ssr.js +24 -0
- package/dist/esm/state/actions/index.js +1 -1
- package/dist/esm/state/analytics/ufoExperiences.js +17 -14
- package/dist/esm/state/analytics/useSmartLinkAnalytics.js +13 -5
- package/dist/esm/state/flexible-ui-context/index.js +5 -0
- package/dist/esm/state/flexible-ui-context/types.js +1 -0
- package/dist/esm/state/reducers/index.js +2 -2
- package/dist/esm/utils/analytics/analytics.js +8 -8
- package/dist/esm/utils/analytics/index.js +2 -2
- package/dist/esm/utils/flexible.js +26 -0
- package/dist/esm/utils/index.js +10 -0
- package/dist/esm/utils/token.js +23 -0
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/BlockCard/actions/AuthorizeAction.js +15 -0
- package/dist/esm/view/BlockCard/actions/DownloadAction.js +51 -0
- package/dist/esm/view/BlockCard/actions/ForbiddenAction.js +23 -0
- package/dist/esm/view/BlockCard/actions/PreviewAction.js +105 -0
- package/dist/esm/view/BlockCard/actions/RetryAction.js +33 -0
- package/dist/esm/view/BlockCard/actions/ViewAction.js +50 -0
- package/dist/esm/view/BlockCard/components/Action.js +53 -0
- package/dist/esm/view/BlockCard/components/ActionIcon.js +42 -0
- package/dist/esm/view/BlockCard/components/ActionList.js +55 -0
- package/dist/esm/view/BlockCard/components/Byline.js +34 -0
- package/dist/esm/view/BlockCard/components/CollaboratorList.js +39 -0
- package/dist/esm/view/BlockCard/components/Content.js +20 -0
- package/dist/esm/view/BlockCard/components/ContentFooter.js +20 -0
- package/dist/esm/view/BlockCard/components/ContentHeader.js +22 -0
- package/dist/esm/view/BlockCard/components/Emoji.js +17 -0
- package/dist/esm/view/BlockCard/components/Frame.js +75 -0
- package/dist/esm/view/BlockCard/components/Icon.js +42 -0
- package/dist/esm/view/BlockCard/components/Link.js +17 -0
- package/dist/esm/view/BlockCard/components/Metadata.js +45 -0
- package/dist/esm/view/BlockCard/components/MetadataList.js +27 -0
- package/dist/esm/view/BlockCard/components/Modal.js +125 -0
- package/dist/esm/view/BlockCard/components/ModalHeader.js +87 -0
- package/dist/esm/view/BlockCard/components/Name.js +33 -0
- package/dist/esm/view/BlockCard/components/Provider.js +37 -0
- package/dist/esm/view/BlockCard/components/Thumbnail.js +53 -0
- package/dist/esm/view/BlockCard/components/UnresolvedText.js +12 -0
- package/dist/esm/view/BlockCard/index.js +13 -3
- package/dist/esm/view/BlockCard/utils/constants.js +4 -0
- package/dist/esm/view/BlockCard/utils/handlers.js +7 -0
- package/dist/esm/view/BlockCard/utils/index.js +14 -0
- package/dist/esm/view/BlockCard/views/ErroredView.js +73 -0
- package/dist/esm/view/BlockCard/views/ForbiddenView.js +82 -0
- package/dist/esm/view/BlockCard/views/NotFoundView.js +70 -0
- package/dist/esm/view/BlockCard/views/ResolvedView.js +112 -0
- package/dist/esm/view/BlockCard/views/ResolvingView.js +34 -0
- package/dist/esm/view/BlockCard/views/UnauthorizedView.js +71 -0
- package/dist/esm/view/Card/index.js +8 -2
- package/dist/esm/view/CardWithData/component.js +2 -1
- package/dist/esm/view/CardWithUrl/component-lazy/LazyFallback.js +1 -1
- package/dist/esm/view/CardWithUrl/component.js +15 -1
- package/dist/esm/view/CardWithUrl/loader.js +7 -4
- package/dist/esm/view/EmbedCard/EmbedResizeMessageListener.js +1 -1
- package/dist/esm/view/EmbedCard/components/ExpandedFrame.js +79 -0
- package/dist/esm/view/EmbedCard/components/Frame.js +45 -0
- package/dist/esm/view/EmbedCard/components/ImageIcon.js +30 -0
- package/dist/esm/view/EmbedCard/components/styled.js +116 -0
- package/dist/esm/view/EmbedCard/index.js +9 -4
- package/dist/esm/view/EmbedCard/views/ErroredView.js +46 -0
- package/dist/esm/view/EmbedCard/views/ForbiddenView.js +67 -0
- package/dist/esm/view/EmbedCard/views/NotFoundView.js +33 -0
- package/dist/esm/view/EmbedCard/views/ResolvedView.js +55 -0
- package/dist/esm/view/EmbedCard/views/UnauthorisedView.js +40 -0
- package/dist/esm/view/EmbedCard/views/UnresolvedView.js +66 -0
- package/dist/esm/view/FlexibleCard/components/actions/delete-action/index.js +64 -0
- package/dist/esm/view/FlexibleCard/components/actions/index.js +6 -0
- package/dist/esm/view/FlexibleCard/components/actions/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/actions/utils.js +48 -0
- package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +24 -0
- package/dist/esm/view/FlexibleCard/components/blocks/action-group/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +30 -0
- package/dist/esm/view/FlexibleCard/components/blocks/element-group/index.js +45 -0
- package/dist/esm/view/FlexibleCard/components/blocks/element-group/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/blocks/index.js +1 -0
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/errored/index.js +60 -0
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/index.js +41 -0
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolved/index.js +47 -0
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolving/index.js +53 -0
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/blocks/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/blocks/utils.js +115 -0
- package/dist/esm/view/FlexibleCard/components/common/atlaskit-icon/index.js +306 -0
- package/dist/esm/view/FlexibleCard/components/common/atlaskit-icon/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/common/image-icon/index.js +30 -0
- package/dist/esm/view/FlexibleCard/components/common/image-icon/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/container/index.js +88 -0
- package/dist/esm/view/FlexibleCard/components/container/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +29 -0
- package/dist/esm/view/FlexibleCard/components/elements/avatar-group/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/elements/badge/index.js +79 -0
- package/dist/esm/view/FlexibleCard/components/elements/badge/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/elements/date-time/index.js +51 -0
- package/dist/esm/view/FlexibleCard/components/elements/date-time/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/elements/icon/index.js +104 -0
- package/dist/esm/view/FlexibleCard/components/elements/icon/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/elements/index.js +18 -0
- package/dist/esm/view/FlexibleCard/components/elements/link/index.js +70 -0
- package/dist/esm/view/FlexibleCard/components/elements/link/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +32 -0
- package/dist/esm/view/FlexibleCard/components/elements/lozenge/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/elements/text/index.js +29 -0
- package/dist/esm/view/FlexibleCard/components/elements/text/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/elements/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/elements/utils.js +141 -0
- package/dist/esm/view/FlexibleCard/components/types.js +1 -0
- package/dist/esm/view/FlexibleCard/components/utils.js +57 -0
- package/dist/esm/view/FlexibleCard/index.js +27 -0
- package/dist/esm/view/FlexibleCard/types.js +1 -0
- package/dist/esm/view/FlexibleCard/utils.js +99 -0
- package/dist/esm/view/InlineCard/ErroredView/index.js +96 -0
- package/dist/esm/view/InlineCard/ForbiddenView/index.js +122 -0
- package/dist/esm/view/InlineCard/Frame/index.js +53 -0
- package/dist/esm/view/InlineCard/Frame/styled.js +79 -0
- package/dist/esm/view/InlineCard/Icon.js +18 -0
- package/dist/esm/view/InlineCard/IconAndTitleLayout/index.js +122 -0
- package/dist/esm/view/InlineCard/IconAndTitleLayout/styled.js +36 -0
- package/dist/esm/view/InlineCard/ResolvedView/index.js +70 -0
- package/dist/esm/view/InlineCard/ResolvingView/index.js +72 -0
- package/dist/esm/view/InlineCard/ResolvingView/styled.js +7 -0
- package/dist/esm/view/InlineCard/UnauthorisedView/index.js +92 -0
- package/dist/esm/view/InlineCard/index.js +7 -1
- package/dist/esm/view/InlineCard/styled.js +20 -0
- package/dist/esm/view/LinkView/index.js +35 -0
- package/dist/esm/view/types.js +1 -0
- package/dist/types/classNames.d.ts +11 -0
- package/dist/types/constants.d.ts +113 -0
- package/dist/types/extractors/block/index.d.ts +2 -1
- package/dist/types/extractors/block/types.d.ts +1 -1
- package/dist/types/extractors/common/actions/extractActions.d.ts +1 -1
- package/dist/types/extractors/common/actions/extractPreviewAction.d.ts +2 -2
- package/dist/types/extractors/common/context/extractAccessContext.d.ts +1 -1
- package/dist/types/extractors/common/title-prefix/extractTitlePrefix.d.ts +1 -1
- package/dist/types/extractors/embed/index.d.ts +1 -1
- package/dist/types/extractors/flexible/collaboratorGroup/index.d.ts +4 -0
- package/dist/types/extractors/flexible/extract-priority.d.ts +4 -0
- package/dist/types/extractors/flexible/icon/extract-document-type-icon.d.ts +3 -0
- package/dist/types/extractors/flexible/icon/extract-file-formatIcon.d.ts +3 -0
- package/dist/types/extractors/flexible/icon/extract-icon-renderer.d.ts +4 -0
- package/dist/types/extractors/flexible/icon/extract-jira-task-icon.d.ts +3 -0
- package/dist/types/extractors/flexible/icon/extract-jsonld-data-icon.d.ts +4 -0
- package/dist/types/extractors/flexible/icon/extract-provider-icon.d.ts +4 -0
- package/dist/types/extractors/flexible/icon/extract-url-icon.d.ts +4 -0
- package/dist/types/extractors/flexible/icon/index.d.ts +17 -0
- package/dist/types/extractors/flexible/icon/types.d.ts +2 -0
- package/dist/types/extractors/flexible/index.d.ts +5 -0
- package/dist/types/extractors/flexible/utils.d.ts +6 -0
- package/dist/types/extractors/inline/index.d.ts +1 -1
- package/dist/types/index.d.ts +5 -2
- package/dist/types/messages.d.ts +7 -0
- package/dist/types/ssr.d.ts +6 -0
- package/dist/types/state/analytics/ufoExperiences.d.ts +1 -1
- package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +2 -1
- package/dist/types/state/context/provider.d.ts +1 -0
- package/dist/types/state/flexible-ui-context/index.d.ts +4 -0
- package/dist/types/state/flexible-ui-context/types.d.ts +24 -0
- package/dist/types/state/hooks/useSmartLink.d.ts +1 -1
- package/dist/types/types.d.ts +15 -0
- package/dist/types/utils/analytics/analytics.d.ts +3 -3
- package/dist/types/utils/flexible.d.ts +6 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/test-utils.d.ts +1 -0
- package/dist/types/utils/token.d.ts +15 -0
- package/dist/types/view/BlockCard/actions/AuthorizeAction.d.ts +2 -0
- package/dist/types/view/BlockCard/actions/DownloadAction.d.ts +8 -0
- package/dist/types/view/BlockCard/actions/ForbiddenAction.d.ts +2 -0
- package/dist/types/view/BlockCard/actions/PreviewAction.d.ts +26 -0
- package/dist/types/view/BlockCard/actions/RetryAction.d.ts +2 -0
- package/dist/types/view/BlockCard/actions/ViewAction.d.ts +8 -0
- package/dist/types/view/BlockCard/components/Action.d.ts +11 -0
- package/dist/types/view/BlockCard/components/ActionIcon.d.ts +12 -0
- package/dist/types/view/BlockCard/components/ActionList.d.ts +6 -0
- package/dist/types/view/BlockCard/components/Byline.d.ts +8 -0
- package/dist/types/view/BlockCard/components/CollaboratorList.d.ts +13 -0
- package/dist/types/view/BlockCard/components/Content.d.ts +7 -0
- package/dist/types/view/BlockCard/components/ContentFooter.d.ts +7 -0
- package/dist/types/view/BlockCard/components/ContentHeader.d.ts +8 -0
- package/dist/types/view/BlockCard/components/Emoji.d.ts +5 -0
- package/dist/types/view/BlockCard/components/Frame.d.ts +14 -0
- package/dist/types/view/BlockCard/components/Icon.d.ts +9 -0
- package/dist/types/view/BlockCard/components/Link.d.ts +7 -0
- package/dist/types/view/BlockCard/components/Metadata.d.ts +8 -0
- package/dist/types/view/BlockCard/components/MetadataList.d.ts +8 -0
- package/dist/types/view/BlockCard/components/Modal.d.ts +28 -0
- package/dist/types/view/BlockCard/components/ModalHeader.d.ts +17 -0
- package/dist/types/view/BlockCard/components/Name.d.ts +10 -0
- package/dist/types/view/BlockCard/components/Provider.d.ts +6 -0
- package/dist/types/view/BlockCard/components/Thumbnail.d.ts +9 -0
- package/dist/types/view/BlockCard/components/UnresolvedText.d.ts +6 -0
- package/dist/types/view/BlockCard/index.d.ts +11 -0
- package/dist/types/view/BlockCard/utils/constants.d.ts +3 -0
- package/dist/types/view/BlockCard/utils/handlers.d.ts +2 -0
- package/dist/types/view/BlockCard/utils/index.d.ts +5 -0
- package/dist/types/view/BlockCard/views/ErroredView.d.ts +12 -0
- package/dist/types/view/BlockCard/views/ForbiddenView.d.ts +21 -0
- package/dist/types/view/BlockCard/views/NotFoundView.d.ts +15 -0
- package/dist/types/view/BlockCard/views/ResolvedView.d.ts +32 -0
- package/dist/types/view/BlockCard/views/ResolvingView.d.ts +8 -0
- package/dist/types/view/BlockCard/views/UnauthorizedView.d.ts +17 -0
- package/dist/types/view/Card/index.d.ts +2 -1
- package/dist/types/view/Card/types.d.ts +4 -1
- package/dist/types/view/CardWithData/types.d.ts +1 -1
- package/dist/types/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.d.ts +1 -0
- package/dist/types/view/CardWithUrl/component-lazy/LazyLazilyRenderCard.d.ts +1 -0
- package/dist/types/view/CardWithUrl/component-lazy/index.d.ts +1 -0
- package/dist/types/view/CardWithUrl/component.d.ts +2 -1
- package/dist/types/view/CardWithUrl/loader.d.ts +1 -0
- package/dist/types/view/CardWithUrl/types.d.ts +4 -1
- package/dist/types/view/EmbedCard/components/ExpandedFrame.d.ts +23 -0
- package/dist/types/view/EmbedCard/components/Frame.d.ts +7 -0
- package/dist/types/view/EmbedCard/components/ImageIcon.d.ts +9 -0
- package/dist/types/view/EmbedCard/components/styled.d.ts +42 -0
- package/dist/types/view/EmbedCard/types.d.ts +23 -1
- package/dist/types/view/EmbedCard/views/ErroredView.d.ts +8 -0
- package/dist/types/view/EmbedCard/views/ForbiddenView.d.ts +13 -0
- package/dist/types/view/EmbedCard/views/NotFoundView.d.ts +11 -0
- package/dist/types/view/EmbedCard/views/ResolvedView.d.ts +27 -0
- package/dist/types/view/EmbedCard/views/UnauthorisedView.d.ts +12 -0
- package/dist/types/view/EmbedCard/views/UnresolvedView.d.ts +18 -0
- package/dist/types/view/FlexibleCard/components/actions/delete-action/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/actions/index.d.ts +3 -0
- package/dist/types/view/FlexibleCard/components/actions/types.d.ts +10 -0
- package/dist/types/view/FlexibleCard/components/actions/utils.d.ts +3 -0
- package/dist/types/view/FlexibleCard/components/blocks/action-group/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/blocks/action-group/types.d.ts +8 -0
- package/dist/types/view/FlexibleCard/components/blocks/block/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/blocks/element-group/index.d.ts +8 -0
- package/dist/types/view/FlexibleCard/components/blocks/element-group/types.d.ts +8 -0
- package/dist/types/view/FlexibleCard/components/blocks/index.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/blocks/title-block/errored/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/blocks/title-block/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/blocks/title-block/resolved/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/blocks/title-block/resolving/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/blocks/title-block/types.d.ts +12 -0
- package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +17 -0
- package/dist/types/view/FlexibleCard/components/blocks/utils.d.ts +8 -0
- package/dist/types/view/FlexibleCard/components/common/atlaskit-icon/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/common/atlaskit-icon/types.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/common/image-icon/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/common/image-icon/types.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/container/index.d.ts +8 -0
- package/dist/types/view/FlexibleCard/components/container/types.d.ts +12 -0
- package/dist/types/view/FlexibleCard/components/elements/avatar-group/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/elements/avatar-group/types.d.ts +10 -0
- package/dist/types/view/FlexibleCard/components/elements/badge/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/elements/badge/types.d.ts +7 -0
- package/dist/types/view/FlexibleCard/components/elements/date-time/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/elements/date-time/types.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/elements/icon/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/elements/icon/types.d.ts +10 -0
- package/dist/types/view/FlexibleCard/components/elements/index.d.ts +21 -0
- package/dist/types/view/FlexibleCard/components/elements/link/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/elements/link/types.d.ts +8 -0
- package/dist/types/view/FlexibleCard/components/elements/lozenge/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/elements/lozenge/types.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/elements/text/index.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/elements/text/types.d.ts +6 -0
- package/dist/types/view/FlexibleCard/components/elements/types.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/elements/utils.d.ts +3 -0
- package/dist/types/view/FlexibleCard/components/types.d.ts +5 -0
- package/dist/types/view/FlexibleCard/components/utils.d.ts +9 -0
- package/dist/types/view/FlexibleCard/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/types.d.ts +27 -0
- package/dist/types/view/FlexibleCard/utils.d.ts +7 -0
- package/dist/types/view/InlineCard/ErroredView/index.d.ts +21 -0
- package/dist/types/view/InlineCard/ForbiddenView/index.d.ts +25 -0
- package/dist/types/view/InlineCard/Frame/index.d.ts +16 -0
- package/dist/types/view/InlineCard/Frame/styled.d.ts +8 -0
- package/dist/types/view/InlineCard/Icon.d.ts +4 -0
- package/dist/types/view/InlineCard/IconAndTitleLayout/index.d.ts +19 -0
- package/dist/types/view/InlineCard/IconAndTitleLayout/styled.d.ts +13 -0
- package/dist/types/view/InlineCard/ResolvedView/index.d.ts +26 -0
- package/dist/types/view/InlineCard/ResolvingView/index.d.ts +18 -0
- package/dist/types/view/InlineCard/ResolvingView/styled.d.ts +6 -0
- package/dist/types/view/InlineCard/UnauthorisedView/index.d.ts +20 -0
- package/dist/types/view/InlineCard/index.d.ts +6 -0
- package/dist/types/view/InlineCard/styled.d.ts +5 -0
- package/dist/types/view/InlineCard/types.d.ts +1 -1
- package/dist/types/view/LinkView/index.d.ts +5 -0
- package/dist/types/view/types.d.ts +23 -0
- package/package.json +52 -26
- package/ssr/package.json +7 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl-next';
|
|
2
|
+
export const messages = defineMessages({
|
|
3
|
+
cannot_connect: {
|
|
4
|
+
id: 'fabric.linking.cannot_connect',
|
|
5
|
+
defaultMessage: "Can't connect, try again",
|
|
6
|
+
description: 'Error for when a provided link is not found.'
|
|
7
|
+
},
|
|
8
|
+
cannot_find_link: {
|
|
9
|
+
id: 'fabric.linking.cannot_find_link',
|
|
10
|
+
defaultMessage: "Can't find link",
|
|
11
|
+
description: 'Error for when a provided link is not found.'
|
|
12
|
+
},
|
|
13
|
+
click_to_join: {
|
|
14
|
+
id: 'fabric.linking.click_to_join',
|
|
15
|
+
defaultMessage: 'Join {context} to view this issue',
|
|
16
|
+
description: 'Allows the user join the product or service immediately'
|
|
17
|
+
},
|
|
18
|
+
connect_link_account: {
|
|
19
|
+
id: 'fabric.linking.connect_link_account',
|
|
20
|
+
defaultMessage: 'Connect to preview',
|
|
21
|
+
description: 'Shown when a user does not have access to a link, but can connect their external account to view the link.'
|
|
22
|
+
},
|
|
23
|
+
created_by: {
|
|
24
|
+
id: 'fabric.linking.created_by',
|
|
25
|
+
defaultMessage: 'Created by {context}',
|
|
26
|
+
description: 'Indicates the person or entity that created the resource.'
|
|
27
|
+
},
|
|
28
|
+
created_on: {
|
|
29
|
+
id: 'fabric.linking.create_on',
|
|
30
|
+
defaultMessage: 'Created {context}',
|
|
31
|
+
description: 'Indicated when entity was created'
|
|
32
|
+
},
|
|
33
|
+
delete: {
|
|
34
|
+
id: 'fabric.linking.delete',
|
|
35
|
+
defaultMessage: 'Delete',
|
|
36
|
+
description: 'Allow a user to delete a link'
|
|
37
|
+
},
|
|
38
|
+
modified_by: {
|
|
39
|
+
id: 'fabric.linking.updated_by',
|
|
40
|
+
defaultMessage: 'Modified by {context}',
|
|
41
|
+
description: 'Indicates the person or entity that modified the resource.'
|
|
42
|
+
},
|
|
43
|
+
modified_on: {
|
|
44
|
+
id: 'fabric.linking.modified_on',
|
|
45
|
+
defaultMessage: 'Updated {context}',
|
|
46
|
+
description: 'Indicated when entity was modified'
|
|
47
|
+
},
|
|
48
|
+
priority_blocker: {
|
|
49
|
+
id: 'fabric.linking.priority_blocker',
|
|
50
|
+
defaultMessage: 'Blocker',
|
|
51
|
+
description: 'Indicated priority as blocker'
|
|
52
|
+
},
|
|
53
|
+
priority_critical: {
|
|
54
|
+
id: 'fabric.linking.priority_critical',
|
|
55
|
+
defaultMessage: 'Critical',
|
|
56
|
+
description: 'Indicated priority as critical'
|
|
57
|
+
},
|
|
58
|
+
priority_high: {
|
|
59
|
+
id: 'fabric.linking.priority_high',
|
|
60
|
+
defaultMessage: 'High',
|
|
61
|
+
description: 'Indicated priority as high'
|
|
62
|
+
},
|
|
63
|
+
priority_highest: {
|
|
64
|
+
id: 'fabric.linking.priority_highest',
|
|
65
|
+
defaultMessage: 'Highest',
|
|
66
|
+
description: 'Indicated priority as highest'
|
|
67
|
+
},
|
|
68
|
+
priority_low: {
|
|
69
|
+
id: 'fabric.linking.priority_low',
|
|
70
|
+
defaultMessage: 'Low',
|
|
71
|
+
description: 'Indicated priority as low'
|
|
72
|
+
},
|
|
73
|
+
priority_lowest: {
|
|
74
|
+
id: 'fabric.linking.priority_lowest',
|
|
75
|
+
defaultMessage: 'Lowest',
|
|
76
|
+
description: 'Indicated priority as lowest'
|
|
77
|
+
},
|
|
78
|
+
priority_major: {
|
|
79
|
+
id: 'fabric.linking.priority_major',
|
|
80
|
+
defaultMessage: 'Major',
|
|
81
|
+
description: 'Indicated priority as major'
|
|
82
|
+
},
|
|
83
|
+
priority_medium: {
|
|
84
|
+
id: 'fabric.linking.priority_medium',
|
|
85
|
+
defaultMessage: 'Medium',
|
|
86
|
+
description: 'Indicated priority as medium'
|
|
87
|
+
},
|
|
88
|
+
priority_minor: {
|
|
89
|
+
id: 'fabric.linking.priority_minor',
|
|
90
|
+
defaultMessage: 'Minor',
|
|
91
|
+
description: 'Indicated priority as minor'
|
|
92
|
+
},
|
|
93
|
+
priority_trivial: {
|
|
94
|
+
id: 'fabric.linking.priority_trivial',
|
|
95
|
+
defaultMessage: 'Trivial',
|
|
96
|
+
description: 'Indicated priority as trivial'
|
|
97
|
+
},
|
|
98
|
+
priority_undefined: {
|
|
99
|
+
id: 'fabric.linking.priority_undefined',
|
|
100
|
+
defaultMessage: 'Undefined',
|
|
101
|
+
description: 'Indicated priority as unknown'
|
|
102
|
+
},
|
|
103
|
+
forbidden_access: {
|
|
104
|
+
id: 'fabric.linking.forbidden_access',
|
|
105
|
+
defaultMessage: 'Your access is forbidden',
|
|
106
|
+
description: 'Shown when a user does not have access to a resource behind the link.'
|
|
107
|
+
},
|
|
108
|
+
pending_request: {
|
|
109
|
+
id: 'fabric.linking.pending_request',
|
|
110
|
+
defaultMessage: 'Your access request is pending',
|
|
111
|
+
description: 'Shown when a user has requested an access but status is pending.'
|
|
112
|
+
},
|
|
113
|
+
restricted_link: {
|
|
114
|
+
id: 'fabric.linking.invalid_permissions',
|
|
115
|
+
defaultMessage: 'Restricted link, try another account',
|
|
116
|
+
description: 'Message shown when a user does not have permissions to view an item'
|
|
117
|
+
},
|
|
118
|
+
request_access: {
|
|
119
|
+
id: 'fabric.linking.request_access',
|
|
120
|
+
defaultMessage: 'Request access to {context} to view this issue',
|
|
121
|
+
description: 'Allows the user to request access to a product or service'
|
|
122
|
+
},
|
|
123
|
+
request_denied: {
|
|
124
|
+
id: 'fabric.linking.request_denied',
|
|
125
|
+
defaultMessage: 'Your access request was denied',
|
|
126
|
+
description: 'The user had request access but the request was denied by a product or service'
|
|
127
|
+
}
|
|
128
|
+
});
|
|
@@ -2,6 +2,8 @@ const isJiraRoadMap = url => url.match(/^https:\/\/.*?\/jira\/software\/(c\/)?pr
|
|
|
2
2
|
|
|
3
3
|
const isPolarisView = url => url.match(/^https:\/\/.*?\/jira\/polaris\/projects\/[^\/]+?\/ideas\/view\/\d+$|^https:\/\/.*?\/secure\/JiraProductDiscoveryAnonymous\.jspa\?hash=\w+|^https:\/\/.*?\/jira\/polaris\/share\/\w+/);
|
|
4
4
|
|
|
5
|
+
const isJwmView = url => url.match(/^https:\/\/.*?\/jira\/core\/projects\/[^\/]+?\/(timeline|calendar|list|board)\/?/);
|
|
6
|
+
|
|
5
7
|
const isSlackMessage = url => url.match(/^https:\/\/.+?\.slack\.com\/archives\/[CG][A-Z0-9]+\/p[0-9]+(\?.*)?$/);
|
|
6
8
|
|
|
7
9
|
export class Transformer {
|
|
@@ -34,7 +36,7 @@ export class Transformer {
|
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
toAdf(url, appearance) {
|
|
37
|
-
if (isJiraRoadMap(url) || isPolarisView(url)) {
|
|
39
|
+
if (isJiraRoadMap(url) || isPolarisView(url) || isJwmView(url)) {
|
|
38
40
|
return this.buildEmbedAdf(url);
|
|
39
41
|
} else if (isSlackMessage(url)) {
|
|
40
42
|
return this.buildBlockAdf(url);
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import uuid from 'uuid';
|
|
5
|
+
import { CardWithUrlContent } from './view/CardWithUrl/component';
|
|
6
|
+
// SSR friendly version of smart-card
|
|
7
|
+
// simplifies the logic around rendering and loading placeholders and
|
|
8
|
+
// only contains whats necessary to render the card on SSR mode
|
|
9
|
+
export const CardSSR = props => {
|
|
10
|
+
const [id] = useState(() => uuid());
|
|
11
|
+
|
|
12
|
+
const dispatchAnalytics = () => {}; // we can't dispatch events on SSR, after hydration the we will provide the real callback
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
return /*#__PURE__*/React.createElement(CardWithUrlContent, _extends({}, props, {
|
|
16
|
+
id: id,
|
|
17
|
+
dispatchAnalytics: dispatchAnalytics
|
|
18
|
+
}));
|
|
19
|
+
};
|
|
@@ -158,7 +158,7 @@ export const useSmartCardActions = (id, url, analytics) => {
|
|
|
158
158
|
|
|
159
159
|
try {
|
|
160
160
|
// Begin analytics instrumentation.
|
|
161
|
-
analytics.ui.actionClickedEvent(key, action.type, source); // Invoke action - either client-side or server-side.
|
|
161
|
+
analytics.ui.actionClickedEvent(id, key, action.type, source, opts.type); // Invoke action - either client-side or server-side.
|
|
162
162
|
|
|
163
163
|
let response;
|
|
164
164
|
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { ConcurrentExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
|
|
2
|
+
const inlineExperience = {
|
|
3
|
+
platform: {
|
|
4
|
+
component: 'smart-links'
|
|
5
|
+
},
|
|
6
|
+
type: ExperienceTypes.Experience,
|
|
7
|
+
performanceType: ExperiencePerformanceTypes.InlineResult
|
|
8
|
+
};
|
|
9
|
+
const renderExperience = {
|
|
10
|
+
platform: {
|
|
11
|
+
component: 'smart-links'
|
|
12
|
+
},
|
|
13
|
+
type: ExperienceTypes.Load,
|
|
14
|
+
performanceType: ExperiencePerformanceTypes.PageSegmentLoad
|
|
15
|
+
};
|
|
2
16
|
const ufoExperiences = {
|
|
3
|
-
'smart-link-rendered': new ConcurrentExperience('smart-link-rendered',
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
platform: {
|
|
7
|
-
component: 'smart-links'
|
|
8
|
-
}
|
|
9
|
-
}),
|
|
10
|
-
'smart-link-authenticated': new ConcurrentExperience('smart-link-authenticated', {
|
|
11
|
-
type: ExperienceTypes.Load,
|
|
12
|
-
performanceType: ExperiencePerformanceTypes.PageSegmentLoad,
|
|
13
|
-
platform: {
|
|
14
|
-
component: 'smart-links'
|
|
15
|
-
}
|
|
16
|
-
})
|
|
17
|
+
'smart-link-rendered': new ConcurrentExperience('smart-link-rendered', renderExperience),
|
|
18
|
+
'smart-link-authenticated': new ConcurrentExperience('smart-link-authenticated', inlineExperience),
|
|
19
|
+
'smart-link-action-invocation': new ConcurrentExperience('smart-link-action-invocation', inlineExperience)
|
|
17
20
|
};
|
|
18
21
|
export const startUfoExperience = (experienceName, id, properties) => {
|
|
19
22
|
const experience = ufoExperiences[experienceName].getInstance(id);
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { uiAuthEvent, uiAuthAlternateAccountEvent, uiCardClickedEvent, uiActionClickedEvent, uiClosedAuthEvent, uiRenderSuccessEvent, resolvedEvent, unresolvedEvent, invokeSucceededEvent, invokeFailedEvent, connectSucceededEvent, connectFailedEvent, trackAppAccountConnected, screenAuthPopupEvent, instrumentEvent } from '../../utils/analytics';
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
|
-
import { startUfoExperience, succeedUfoExperience } from './ufoExperiences';
|
|
3
|
+
import { failUfoExperience, startUfoExperience, succeedUfoExperience } from './ufoExperiences';
|
|
4
4
|
export const useSmartLinkAnalytics = dispatchAnalytics => {
|
|
5
5
|
const ui = useMemo(() => ({
|
|
6
6
|
authEvent: (display, definitionId, extensionKey) => dispatchAnalytics(uiAuthEvent(display, definitionId, extensionKey)),
|
|
7
7
|
authAlternateAccountEvent: (display, definitionId, extensionKey) => dispatchAnalytics(uiAuthAlternateAccountEvent(display, definitionId, extensionKey)),
|
|
8
8
|
cardClickedEvent: (display, definitionId, extensionKey) => dispatchAnalytics(uiCardClickedEvent(display, definitionId, extensionKey)),
|
|
9
|
-
actionClickedEvent: (
|
|
9
|
+
actionClickedEvent: (id, extensionKey, actionType, display, invokeType) => {
|
|
10
|
+
startUfoExperience('smart-link-action-invocation', id, {
|
|
11
|
+
actionType,
|
|
12
|
+
display,
|
|
13
|
+
extensionKey,
|
|
14
|
+
invokeType
|
|
15
|
+
});
|
|
16
|
+
dispatchAnalytics(uiActionClickedEvent(extensionKey, actionType, display));
|
|
17
|
+
},
|
|
10
18
|
closedAuthEvent: (display, definitionId, extensionKey) => dispatchAnalytics(uiClosedAuthEvent(display, definitionId, extensionKey)),
|
|
11
19
|
renderSuccessEvent: (display, id, definitionId, extensionKey) => {
|
|
12
20
|
succeedUfoExperience('smart-link-rendered', id, {
|
|
@@ -23,8 +31,14 @@ export const useSmartLinkAnalytics = dispatchAnalytics => {
|
|
|
23
31
|
const operational = useMemo(() => ({
|
|
24
32
|
resolvedEvent: (id, definitionId, extensionKey, resourceType) => dispatchAnalytics(resolvedEvent(id, definitionId, extensionKey, resourceType)),
|
|
25
33
|
unresolvedEvent: (id, status, definitionId, extensionKey, resourceType) => dispatchAnalytics(unresolvedEvent(id, status, definitionId, extensionKey, resourceType)),
|
|
26
|
-
invokeSucceededEvent: (id, providerKey, actionType, display) =>
|
|
27
|
-
|
|
34
|
+
invokeSucceededEvent: (id, providerKey, actionType, display) => {
|
|
35
|
+
succeedUfoExperience('smart-link-action-invocation', id);
|
|
36
|
+
dispatchAnalytics(invokeSucceededEvent(id, providerKey, actionType, display));
|
|
37
|
+
},
|
|
38
|
+
invokeFailedEvent: (id, providerKey, actionType, display, reason) => {
|
|
39
|
+
failUfoExperience('smart-link-action-invocation', id);
|
|
40
|
+
dispatchAnalytics(invokeFailedEvent(id, providerKey, actionType, display, reason));
|
|
41
|
+
},
|
|
28
42
|
connectSucceededEvent: (id, definitionId, extensionKey) => {
|
|
29
43
|
startUfoExperience('smart-link-authenticated', id, {
|
|
30
44
|
extensionKey,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -69,7 +69,7 @@ export const unresolvedEvent = (id, status, definitionId, extensionKey, resource
|
|
|
69
69
|
} : undefined
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
|
-
export const invokeSucceededEvent = (id,
|
|
72
|
+
export const invokeSucceededEvent = (id, extensionKey, actionType, display) => {
|
|
73
73
|
const measure = getMeasure(id, 'resolved') || {
|
|
74
74
|
duration: undefined
|
|
75
75
|
};
|
|
@@ -81,12 +81,12 @@ export const invokeSucceededEvent = (id, providerKey, actionType, display) => {
|
|
|
81
81
|
id,
|
|
82
82
|
actionType,
|
|
83
83
|
display,
|
|
84
|
-
|
|
84
|
+
extensionKey,
|
|
85
85
|
duration: measure.duration
|
|
86
86
|
}
|
|
87
87
|
};
|
|
88
88
|
};
|
|
89
|
-
export const invokeFailedEvent = (id,
|
|
89
|
+
export const invokeFailedEvent = (id, extensionKey, actionType, display, reason) => {
|
|
90
90
|
const measure = getMeasure(id, 'errored') || {
|
|
91
91
|
duration: undefined
|
|
92
92
|
};
|
|
@@ -98,7 +98,7 @@ export const invokeFailedEvent = (id, providerKey, actionType, display, reason)
|
|
|
98
98
|
id,
|
|
99
99
|
actionType,
|
|
100
100
|
display,
|
|
101
|
-
|
|
101
|
+
extensionKey,
|
|
102
102
|
duration: measure.duration,
|
|
103
103
|
reason
|
|
104
104
|
}
|
|
@@ -179,13 +179,13 @@ export const uiCardClickedEvent = (display, definitionId, extensionKey) => ({
|
|
|
179
179
|
display
|
|
180
180
|
}
|
|
181
181
|
});
|
|
182
|
-
export const uiActionClickedEvent = (
|
|
182
|
+
export const uiActionClickedEvent = (extensionKey, actionType, display) => ({
|
|
183
183
|
action: 'clicked',
|
|
184
184
|
actionSubject: 'smartLinkAction',
|
|
185
185
|
eventType: 'ui',
|
|
186
186
|
attributes: { ...context,
|
|
187
187
|
display,
|
|
188
|
-
|
|
188
|
+
extensionKey,
|
|
189
189
|
actionType: actionType
|
|
190
190
|
}
|
|
191
191
|
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import * as Blocks from '../view/FlexibleCard/components/blocks';
|
|
3
|
+
import { TitleBlock } from '../view/FlexibleCard/components/blocks';
|
|
4
|
+
import * as Elements from '../view/FlexibleCard/components/elements';
|
|
5
|
+
export const isFlexibleUiCard = (appearance, children) => {
|
|
6
|
+
if ((appearance === 'inline' || appearance === 'block') && children && React.Children.toArray(children).some(child => isFlexibleUiBlock(child))) {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return false;
|
|
11
|
+
};
|
|
12
|
+
export const isFlexibleUiBlock = node => /*#__PURE__*/React.isValidElement(node) && Object.values(Blocks).some(type => type === node.type);
|
|
13
|
+
export const isFlexibleUiElement = node => /*#__PURE__*/React.isValidElement(node) && Object.values(Elements).some(type => type === node.type);
|
|
14
|
+
export const isFlexibleUiTitleBlock = node => /*#__PURE__*/React.isValidElement(node) && node.type === TitleBlock;
|
|
@@ -93,4 +93,10 @@ const typeToIcon = {
|
|
|
93
93
|
// TODO: Figure a way to detect those
|
|
94
94
|
'application/sketch': ['Sketch', () => import('@atlaskit/icon-file-type/glyph/sketch/16')],
|
|
95
95
|
folder: ['Folder', () => import('@atlaskit/icon-file-type/glyph/folder/16')]
|
|
96
|
+
};
|
|
97
|
+
export const getIframeSandboxAttribute = isTrusted => isTrusted ? undefined : 'allow-downloads allow-forms allow-popups allow-popups-to-escape-sandbox allow-presentation allow-same-origin allow-scripts';
|
|
98
|
+
export const handleOnClick = handler => e => {
|
|
99
|
+
e.preventDefault();
|
|
100
|
+
e.stopPropagation();
|
|
101
|
+
handler();
|
|
96
102
|
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { token } from '@atlaskit/tokens'; // Temporary safeguard while @atlaskit/tokens is being developed
|
|
2
|
+
|
|
3
|
+
export const safeToken = (path, fallback) => {
|
|
4
|
+
try {
|
|
5
|
+
return token(path, fallback);
|
|
6
|
+
} catch (e) {
|
|
7
|
+
return fallback;
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
export const tokens = {
|
|
11
|
+
actionIcon: safeToken('color.icon', '#44546F'),
|
|
12
|
+
background: safeToken('elevation.surface', '#FFFFFF'),
|
|
13
|
+
badgeIcon: safeToken('color.icon.subtle', '#626F86'),
|
|
14
|
+
badgeText: safeToken('color.text.subtlest', '#626F86'),
|
|
15
|
+
blackLink: safeToken('color.text.subtle', '#44546F'),
|
|
16
|
+
blackLinkPressed: safeToken('color.text', '#172B4D'),
|
|
17
|
+
blueLink: safeToken('color.link', '#0C66E4'),
|
|
18
|
+
blueLinkPressed: safeToken('color.link.pressed', '#0055CC'),
|
|
19
|
+
elevation: safeToken('elevation.shadow.raised', '0px 1px 1px #091E4240, 0px 0px 1px #091E424F'),
|
|
20
|
+
errorMessage: safeToken('color.text.disabled', '#6B778C'),
|
|
21
|
+
errorMessageHover: safeToken('color.text.subtle', '#8993A4'),
|
|
22
|
+
text: safeToken('color.text.subtlest', '#626F86')
|
|
23
|
+
};
|
package/dist/es2019/version.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
3
|
+
import { messages } from '@atlaskit/media-ui/messages';
|
|
4
|
+
export const AuthorizeAction = handler => ({
|
|
5
|
+
id: 'connect-account',
|
|
6
|
+
text: /*#__PURE__*/React.createElement(FormattedMessage, messages.connect_link_account_card),
|
|
7
|
+
promise: () => new Promise(resolve => resolve(handler())),
|
|
8
|
+
buttonAppearance: 'default'
|
|
9
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
3
|
+
import { downloadUrl } from '@atlaskit/media-common';
|
|
4
|
+
import { messages } from '@atlaskit/media-ui/messages';
|
|
5
|
+
export async function downloadFunction({
|
|
6
|
+
url
|
|
7
|
+
}) {
|
|
8
|
+
if (!url) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
downloadUrl(url);
|
|
13
|
+
}
|
|
14
|
+
export const DownloadAction = ({
|
|
15
|
+
url
|
|
16
|
+
}) => ({
|
|
17
|
+
id: 'download-content',
|
|
18
|
+
text: /*#__PURE__*/React.createElement(FormattedMessage, messages.download),
|
|
19
|
+
promise: () => downloadFunction({
|
|
20
|
+
url
|
|
21
|
+
})
|
|
22
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
4
|
+
import { messages } from '@atlaskit/media-ui/messages';
|
|
5
|
+
export const ForbiddenAction = (handler, id = 'connect-other-account', message = messages.try_another_account, context = '') => ({
|
|
6
|
+
id,
|
|
7
|
+
text: /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, message, {
|
|
8
|
+
values: {
|
|
9
|
+
context
|
|
10
|
+
}
|
|
11
|
+
})),
|
|
12
|
+
promise: () => new Promise(resolve => resolve(handler())),
|
|
13
|
+
buttonAppearance: 'default'
|
|
14
|
+
});
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import ReactDOM from 'react-dom';
|
|
4
|
+
import { IntlProvider, FormattedMessage } from 'react-intl-next';
|
|
5
|
+
import { messages } from '@atlaskit/media-ui/messages';
|
|
6
|
+
|
|
7
|
+
/*
|
|
8
|
+
Explanatory note:
|
|
9
|
+
Actions don't have access to the react tree of whatever is rendered them
|
|
10
|
+
(and this concept is fraught inside editor anyway) so we want to ensure
|
|
11
|
+
it is mounting to a new unique place. This function manages that, including
|
|
12
|
+
creating an element if it doesn't exist, as well as tidying up the react tree
|
|
13
|
+
(but not the element) upon closing the modal.
|
|
14
|
+
|
|
15
|
+
This may strike you as really uncomfortable as you read it, so I wanted to note
|
|
16
|
+
that a) this was discussed and agreed upon, and b) it's definitely odd, and if
|
|
17
|
+
you find an elegant solution around this, you should definitely feel free to
|
|
18
|
+
refactor it.
|
|
19
|
+
*/
|
|
20
|
+
export async function previewFunction({
|
|
21
|
+
popupMountPointId,
|
|
22
|
+
onClose,
|
|
23
|
+
...rest
|
|
24
|
+
}) {
|
|
25
|
+
let popupMountPoint;
|
|
26
|
+
popupMountPoint = document.getElementById(popupMountPointId);
|
|
27
|
+
|
|
28
|
+
if (!popupMountPoint) {
|
|
29
|
+
popupMountPoint = document.createElement('div');
|
|
30
|
+
popupMountPoint.id = popupMountPointId;
|
|
31
|
+
popupMountPoint.setAttribute('data-testid', 'preview-modal');
|
|
32
|
+
document.body.appendChild(popupMountPoint);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
let Modal = await import('../components/Modal');
|
|
36
|
+
ReactDOM.render( /*#__PURE__*/React.createElement(IntlProvider, {
|
|
37
|
+
locale: "en"
|
|
38
|
+
}, /*#__PURE__*/React.createElement(Modal.default, _extends({}, rest, {
|
|
39
|
+
onClose: () => {
|
|
40
|
+
if (popupMountPoint) {
|
|
41
|
+
onClose();
|
|
42
|
+
ReactDOM.unmountComponentAtNode(popupMountPoint);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}))), popupMountPoint);
|
|
46
|
+
}
|
|
47
|
+
/*
|
|
48
|
+
Most of these are optional as we are being fault-tolerant
|
|
49
|
+
However src, details, icon, title, and providerName are STRONGLY encouraged
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
export default (({
|
|
53
|
+
details,
|
|
54
|
+
...rest
|
|
55
|
+
}) => ({
|
|
56
|
+
id: 'preview-content',
|
|
57
|
+
text: /*#__PURE__*/React.createElement(FormattedMessage, messages.preview),
|
|
58
|
+
promise: () => previewFunction({
|
|
59
|
+
popupMountPointId: 'twp-editor-preview-iframe',
|
|
60
|
+
providerName: 'Preview',
|
|
61
|
+
closeLabel: 'Close Preview',
|
|
62
|
+
showModal: true,
|
|
63
|
+
iframeName: 'twp-editor-preview-iframe',
|
|
64
|
+
onClose: () => {},
|
|
65
|
+
metadata: {
|
|
66
|
+
items: details || []
|
|
67
|
+
},
|
|
68
|
+
...rest
|
|
69
|
+
})
|
|
70
|
+
}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
3
|
+
import { messages } from '@atlaskit/media-ui/messages';
|
|
4
|
+
export const RetryAction = handler => ({
|
|
5
|
+
id: 'try-again',
|
|
6
|
+
promise: async () => handler(),
|
|
7
|
+
text: /*#__PURE__*/React.createElement(FormattedMessage, messages.try_again)
|
|
8
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
3
|
+
import { messages } from '@atlaskit/media-ui/messages';
|
|
4
|
+
export async function viewFunction({
|
|
5
|
+
url
|
|
6
|
+
}) {
|
|
7
|
+
if (!url) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
window.open(url, '_blank', 'noopener=yes');
|
|
12
|
+
}
|
|
13
|
+
export const ViewAction = ({
|
|
14
|
+
url
|
|
15
|
+
}) => ({
|
|
16
|
+
id: 'view-content',
|
|
17
|
+
text: /*#__PURE__*/React.createElement(FormattedMessage, messages.view),
|
|
18
|
+
promise: () => viewFunction({
|
|
19
|
+
url
|
|
20
|
+
})
|
|
21
|
+
});
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** @jsx jsx */
|
|
2
|
+
import { jsx } from '@emotion/core';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import Button from '@atlaskit/button/custom-theme-button';
|
|
5
|
+
import { ActionIcon } from './ActionIcon';
|
|
6
|
+
export const spinnerDelay = 1000;
|
|
7
|
+
export const Action = ({
|
|
8
|
+
promise,
|
|
9
|
+
text,
|
|
10
|
+
buttonAppearance = 'default',
|
|
11
|
+
id
|
|
12
|
+
}) => {
|
|
13
|
+
const [state, setState] = useState('init');
|
|
14
|
+
return jsx(Button, {
|
|
15
|
+
spacing: "compact",
|
|
16
|
+
appearance: buttonAppearance,
|
|
17
|
+
isLoading: state === 'loading',
|
|
18
|
+
testId: `button-${id}`,
|
|
19
|
+
onClick: event => {
|
|
20
|
+
event.stopPropagation();
|
|
21
|
+
event.preventDefault();
|
|
22
|
+
|
|
23
|
+
if (state !== 'loading') {
|
|
24
|
+
setState('loading');
|
|
25
|
+
promise().then(() => {
|
|
26
|
+
setState('success');
|
|
27
|
+
setTimeout(() => setState('init'), spinnerDelay);
|
|
28
|
+
}).catch(() => {
|
|
29
|
+
setState('failure');
|
|
30
|
+
setTimeout(() => setState('init'), spinnerDelay);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}, jsx("div", {
|
|
35
|
+
css: {
|
|
36
|
+
transition: 'opacity 0.3s',
|
|
37
|
+
opacity: state !== 'init' ? 0 : 1
|
|
38
|
+
}
|
|
39
|
+
}, text), jsx(ActionIcon, {
|
|
40
|
+
state: state
|
|
41
|
+
}));
|
|
42
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import CheckIcon from '@atlaskit/icon/glyph/check';
|
|
3
|
+
import CrossIcon from '@atlaskit/icon/glyph/cross';
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
These styles are taken fro the spinner style for button. There was not an
|
|
7
|
+
easy way to share tehm between the two components.
|
|
8
|
+
*/
|
|
9
|
+
export const spinnerStyles = {
|
|
10
|
+
display: 'flex',
|
|
11
|
+
position: 'absolute',
|
|
12
|
+
left: '50%',
|
|
13
|
+
top: '50%',
|
|
14
|
+
transform: 'translate(-50%, -50%)'
|
|
15
|
+
};
|
|
16
|
+
export const ActionIcon = ({
|
|
17
|
+
state
|
|
18
|
+
}) => {
|
|
19
|
+
switch (state) {
|
|
20
|
+
case 'init':
|
|
21
|
+
case 'loading':
|
|
22
|
+
return null;
|
|
23
|
+
|
|
24
|
+
case 'success':
|
|
25
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
26
|
+
"data-testid": "check-icon",
|
|
27
|
+
style: spinnerStyles
|
|
28
|
+
}, /*#__PURE__*/React.createElement(CheckIcon, {
|
|
29
|
+
size: "small",
|
|
30
|
+
label: "check"
|
|
31
|
+
}));
|
|
32
|
+
|
|
33
|
+
case 'failure':
|
|
34
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
35
|
+
"data-testid": "cross-icon",
|
|
36
|
+
style: spinnerStyles
|
|
37
|
+
}, /*#__PURE__*/React.createElement(CrossIcon, {
|
|
38
|
+
size: "small",
|
|
39
|
+
label: "check"
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
|
|
3
|
+
/** @jsx jsx */
|
|
4
|
+
import { jsx } from '@emotion/core';
|
|
5
|
+
import { useState } from 'react';
|
|
6
|
+
import Item from '@atlaskit/item';
|
|
7
|
+
import DropList from '@atlaskit/droplist';
|
|
8
|
+
import ButtonGroup from '@atlaskit/button/button-group';
|
|
9
|
+
import Button from '@atlaskit/button/custom-theme-button';
|
|
10
|
+
import { Action } from './Action';
|
|
11
|
+
import { gs, mq } from '../utils';
|
|
12
|
+
export const ActionList = ({
|
|
13
|
+
items
|
|
14
|
+
}) => {
|
|
15
|
+
const [isOpen, setOpen] = useState(false);
|
|
16
|
+
const actionsToShow = items.slice(0, 2);
|
|
17
|
+
const actionsToList = items.slice(2, items.length);
|
|
18
|
+
return jsx("div", {
|
|
19
|
+
css: mq({
|
|
20
|
+
display: 'flex',
|
|
21
|
+
marginTop: [gs(2), 0]
|
|
22
|
+
})
|
|
23
|
+
}, jsx(ButtonGroup, null, actionsToShow.map(action => jsx(Action, _extends({
|
|
24
|
+
key: action.id
|
|
25
|
+
}, action)))), actionsToList.length ? jsx("div", {
|
|
26
|
+
css: {
|
|
27
|
+
marginLeft: gs(0.5)
|
|
28
|
+
}
|
|
29
|
+
}, jsx(DropList, {
|
|
30
|
+
appearance: "default",
|
|
31
|
+
position: "right top",
|
|
32
|
+
isTriggerNotTabbable: true,
|
|
33
|
+
onOpenChange: () => setOpen(true),
|
|
34
|
+
onClick: () => setOpen(!isOpen),
|
|
35
|
+
isOpen: isOpen,
|
|
36
|
+
trigger: jsx(Button, {
|
|
37
|
+
spacing: "compact"
|
|
38
|
+
}, "...")
|
|
39
|
+
}, actionsToList.map(actionToList => jsx(Item, {
|
|
40
|
+
key: actionToList.id
|
|
41
|
+
}, actionToList.text)))) : null);
|
|
42
|
+
};
|