@atlaskit/smart-card 45.12.0 → 45.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/cjs/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-figma-in-trello-slide1--default.png +3 -0
- package/dist/cjs/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-figma-in-trello-slide2--default.png +3 -0
- package/dist/cjs/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-figma-in-trello-slide3--default.png +3 -0
- package/dist/cjs/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-google-in-confluence-slide1--default.png +3 -0
- package/dist/cjs/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-google-in-confluence-slide2--default.png +3 -0
- package/dist/cjs/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-google-in-confluence-slide3--default.png +3 -0
- package/dist/cjs/messages.js +35 -25
- package/dist/cjs/utils/analytics/analytics.js +1 -1
- package/dist/cjs/view/EmbedCard/components/carousel/CarouselSlide.compiled.css +16 -4
- package/dist/cjs/view/EmbedCard/components/carousel/CarouselSlide.js +67 -27
- package/dist/cjs/view/EmbedCard/components/carousel/index.compiled.css +2 -2
- package/dist/cjs/view/EmbedCard/components/carousel/index.js +13 -5
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/UnauthorizedCarouselView.js +191 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/IconSlot.compiled.css +7 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/IconSlot.js +31 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/LazyRovoChatBenefitImage.js +16 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/LazyRovoSearchBenefitImage.js +16 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/NoAuthAvailableImage.compiled.css +6 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/NoAuthAvailableImage.js +22 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/ProductIcon.js +47 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/RovoChatBenefitImage.js +359 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/RovoSearchBenefitImage.js +281 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/SmartLinkBenefitImage.js +502 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/carousel-images/assets/rovo-chat-avatar.png +0 -0
- package/dist/cjs/view/EmbedCard/views/unauthorized-view/index.js +9 -1
- package/dist/cjs/view/LinkUrl/index.js +1 -1
- package/dist/es2019/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-figma-in-trello-slide1--default.png +3 -0
- package/dist/es2019/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-figma-in-trello-slide2--default.png +3 -0
- package/dist/es2019/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-figma-in-trello-slide3--default.png +3 -0
- package/dist/es2019/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-google-in-confluence-slide1--default.png +3 -0
- package/dist/es2019/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-google-in-confluence-slide2--default.png +3 -0
- package/dist/es2019/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-google-in-confluence-slide3--default.png +3 -0
- package/dist/es2019/messages.js +49 -27
- package/dist/es2019/utils/analytics/analytics.js +1 -1
- package/dist/es2019/view/EmbedCard/components/carousel/CarouselSlide.compiled.css +16 -4
- package/dist/es2019/view/EmbedCard/components/carousel/CarouselSlide.js +64 -27
- package/dist/es2019/view/EmbedCard/components/carousel/index.compiled.css +2 -2
- package/dist/es2019/view/EmbedCard/components/carousel/index.js +10 -5
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/UnauthorizedCarouselView.js +184 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/IconSlot.compiled.css +7 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/IconSlot.js +25 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/LazyRovoChatBenefitImage.js +3 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/LazyRovoSearchBenefitImage.js +3 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/NoAuthAvailableImage.compiled.css +6 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/NoAuthAvailableImage.js +13 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/ProductIcon.js +40 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/RovoChatBenefitImage.js +352 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/RovoSearchBenefitImage.js +268 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/SmartLinkBenefitImage.js +495 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/carousel-images/assets/rovo-chat-avatar.png +0 -0
- package/dist/es2019/view/EmbedCard/views/unauthorized-view/index.js +9 -1
- package/dist/es2019/view/LinkUrl/index.js +1 -1
- package/dist/esm/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-figma-in-trello-slide1--default.png +3 -0
- package/dist/esm/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-figma-in-trello-slide2--default.png +3 -0
- package/dist/esm/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-figma-in-trello-slide3--default.png +3 -0
- package/dist/esm/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-google-in-confluence-slide1--default.png +3 -0
- package/dist/esm/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-google-in-confluence-slide2--default.png +3 -0
- package/dist/esm/__tests__/vr-tests/__snapshots__/embed-card/embed-card-unauthorized-carousel-google-in-confluence-slide3--default.png +3 -0
- package/dist/esm/messages.js +35 -25
- package/dist/esm/utils/analytics/analytics.js +1 -1
- package/dist/esm/view/EmbedCard/components/carousel/CarouselSlide.compiled.css +16 -4
- package/dist/esm/view/EmbedCard/components/carousel/CarouselSlide.js +65 -27
- package/dist/esm/view/EmbedCard/components/carousel/index.compiled.css +2 -2
- package/dist/esm/view/EmbedCard/components/carousel/index.js +13 -5
- package/dist/esm/view/EmbedCard/views/unauthorized-view/UnauthorizedCarouselView.js +182 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/IconSlot.compiled.css +7 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/IconSlot.js +24 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/LazyRovoChatBenefitImage.js +5 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/LazyRovoSearchBenefitImage.js +5 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/NoAuthAvailableImage.compiled.css +6 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/NoAuthAvailableImage.js +15 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/ProductIcon.js +40 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/RovoChatBenefitImage.js +351 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/RovoSearchBenefitImage.js +273 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/SmartLinkBenefitImage.js +494 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/carousel-images/assets/rovo-chat-avatar.png +0 -0
- package/dist/esm/view/EmbedCard/views/unauthorized-view/index.js +9 -1
- package/dist/esm/view/LinkUrl/index.js +1 -1
- package/dist/types/messages.d.ts +1 -1
- package/dist/types/view/EmbedCard/components/carousel/CarouselSlide.d.ts +3 -1
- package/dist/types/view/EmbedCard/components/carousel/index.d.ts +3 -1
- package/dist/types/view/EmbedCard/views/unauthorized-view/UnauthorizedCarouselView.d.ts +4 -0
- package/dist/types/view/EmbedCard/views/unauthorized-view/carousel-images/IconSlot.d.ts +14 -0
- package/dist/types/view/EmbedCard/views/unauthorized-view/carousel-images/LazyRovoChatBenefitImage.d.ts +3 -0
- package/dist/types/view/EmbedCard/views/unauthorized-view/carousel-images/LazyRovoSearchBenefitImage.d.ts +3 -0
- package/dist/types/view/EmbedCard/views/unauthorized-view/carousel-images/NoAuthAvailableImage.d.ts +7 -0
- package/dist/types/view/EmbedCard/views/unauthorized-view/carousel-images/ProductIcon.d.ts +9 -0
- package/dist/types/view/EmbedCard/views/unauthorized-view/carousel-images/RovoChatBenefitImage.d.ts +8 -0
- package/dist/types/view/EmbedCard/views/unauthorized-view/carousel-images/RovoSearchBenefitImage.d.ts +8 -0
- package/dist/types/view/EmbedCard/views/unauthorized-view/carousel-images/SmartLinkBenefitImage.d.ts +6 -0
- package/dist/types/view/EmbedCard/views/unauthorized-view/index.d.ts +2 -2
- package/dist/types/view/EmbedCard/views/unauthorized-view/types.d.ts +1 -0
- package/package.json +3 -3
package/dist/esm/messages.js
CHANGED
|
@@ -165,49 +165,54 @@ export var messages = defineMessages({
|
|
|
165
165
|
defaultMessage: 'To show a preview of this link, connect your {context} account.',
|
|
166
166
|
description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view. Displayed in byline.'
|
|
167
167
|
},
|
|
168
|
-
|
|
169
|
-
id: 'fabric.linking.
|
|
168
|
+
connect_link_account_embed_carousel_dot_label: {
|
|
169
|
+
id: 'fabric.linking.connect_link_account_embed_carousel_dot_label.non-final',
|
|
170
170
|
defaultMessage: 'Go to slide {index} of {total}',
|
|
171
171
|
description: 'Accessible label for a dot indicator button in the teaser carousel, describing which slide it navigates to'
|
|
172
172
|
},
|
|
173
|
-
|
|
174
|
-
id: 'fabric.linking.
|
|
173
|
+
connect_link_account_embed_carousel_dot_row_label: {
|
|
174
|
+
id: 'fabric.linking.connect_link_account_embed_carousel_dot_row_label.non-final',
|
|
175
175
|
defaultMessage: 'Slides',
|
|
176
176
|
description: 'Accessible label for the group of dot indicator buttons in the teaser carousel'
|
|
177
177
|
},
|
|
178
|
-
|
|
179
|
-
id: 'fabric.linking.
|
|
178
|
+
connect_link_account_embed_carousel_button_back: {
|
|
179
|
+
id: 'fabric.linking.connect_link_account_embed_carousel_button_back.non-final',
|
|
180
|
+
defaultMessage: 'Back',
|
|
181
|
+
description: 'Label for the back button in the embed card carousel teaser'
|
|
182
|
+
},
|
|
183
|
+
connect_link_account_embed_carousel_button_next: {
|
|
184
|
+
id: 'fabric.linking.connect_link_account_embed_carousel_button_next.non-final',
|
|
180
185
|
defaultMessage: 'Next',
|
|
181
186
|
description: 'A button to view next teaser on benefit of connecting account on Smart Link embed'
|
|
182
187
|
},
|
|
183
|
-
|
|
184
|
-
id: 'fabric.linking.
|
|
185
|
-
defaultMessage:
|
|
186
|
-
description: 'A description on a teaser slide 1 on benefit of connecting account on Smart Link embed'
|
|
188
|
+
connect_link_account_embed_carousel_sl_description: {
|
|
189
|
+
id: 'fabric.linking.connect_link_account_embed_carousel_sl_description.non-final',
|
|
190
|
+
defaultMessage: "Embed live previews of {context, select, \n\t\t\t\tGoogle {Google Docs, Sheets, and Slides} \n\t\t\t\tother {{context}}} {product, select, \n\t\t\t\tBITBUCKET {right inside Bitbucket}\n\t\t\t\tCONFLUENCE {right inside Confluence and Jira}\n\t\t\t\tJIRA {right inside Confluence and Jira}\n\t\t\t\tTRELLO {right inside Trello}\n\t\t\t\tother {across Atlassian}}.",
|
|
191
|
+
description: 'A description on a teaser slide 1 on benefit of connecting account on Smart Link embed.' + ' Example Google+CONFLUENCE: Embed live previews of Google Docs, Sheets, and Slides right inside Confluence and Jira.' + ' Example Google+TRELLO: Embed live previews of Google Docs, Sheets, and Slides right inside Trello.' + ' Example other+TRELLO: Embed live previews of Figma right inside Trello.' + ' Example other+other: Embed live previews of Figma across Atlassian.'
|
|
187
192
|
},
|
|
188
|
-
|
|
189
|
-
id: 'fabric.linking.
|
|
190
|
-
defaultMessage: '
|
|
193
|
+
connect_link_account_embed_carousel_sl_title: {
|
|
194
|
+
id: 'fabric.linking.connect_link_account_embed_carousel_sl_title.non-final',
|
|
195
|
+
defaultMessage: 'Turn smart links into rich previews',
|
|
191
196
|
description: 'A title on a teaser slide 1 on benefit of connecting account on Smart Link embed'
|
|
192
197
|
},
|
|
193
|
-
|
|
194
|
-
id: 'fabric.linking.
|
|
195
|
-
defaultMessage: '
|
|
198
|
+
connect_link_account_embed_carousel_rovo_title: {
|
|
199
|
+
id: 'fabric.linking.connect_link_account_embed_carousel_rovo_title.non-final',
|
|
200
|
+
defaultMessage: 'Find everything in one search',
|
|
196
201
|
description: 'A title on a teaser slide 2 on benefit of connecting account on Smart Link embed'
|
|
197
202
|
},
|
|
198
|
-
|
|
199
|
-
id: 'fabric.linking.
|
|
200
|
-
defaultMessage:
|
|
201
|
-
description: 'A description on a teaser slide 2 on benefit of connecting account on Smart Link embed'
|
|
203
|
+
connect_link_account_embed_carousel_rovo_description: {
|
|
204
|
+
id: 'fabric.linking.connect_link_account_embed_carousel_rovo_description.non-final',
|
|
205
|
+
defaultMessage: "Access {context} files alongside your work in {product, select, \n\t\t\t\tBITBUCKET {Bitbucket}\n\t\t\t\tCONFLUENCE {Confluence and Jira}\n\t\t\t\tJIRA {Confluence and Jira}\n\t\t\t\tTRELLO {Trello}\n\t\t\t\tother {Atlassian}}. We'll always respect your {context} permissions.",
|
|
206
|
+
description: 'A description on a teaser slide 2 on benefit of connecting account on Smart Link embed.' + " Example Figma+JIRA: Access Figma files alongside your work in Confluence and Jira. We'll always respect your Figma permissions." + " Example Figma+BITBUCKET: Access Figma files alongside your work in Bitbucket. We'll always respect your Figma permissions." + " Example Figma+other: Access Figma files alongside your work in Atlassian. We'll always respect your Figma permissions."
|
|
202
207
|
},
|
|
203
|
-
|
|
204
|
-
id: 'fabric.linking.
|
|
208
|
+
connect_link_account_embed_carousel_rovochat_title: {
|
|
209
|
+
id: 'fabric.linking.connect_link_account_embed_carousel_rovochat_title.non-final',
|
|
205
210
|
defaultMessage: 'Get help from Rovo',
|
|
206
211
|
description: 'A title on a teaser slide 3 on benefit of connecting account on Smart Link embed'
|
|
207
212
|
},
|
|
208
|
-
|
|
209
|
-
id: 'fabric.linking.
|
|
210
|
-
defaultMessage:
|
|
213
|
+
connect_link_account_embed_carousel_rovochat_description: {
|
|
214
|
+
id: 'fabric.linking.connect_link_account_embed_carousel_rovochat_description.non-final',
|
|
215
|
+
defaultMessage: 'Rovo uses your {context} content to answer questions, summarise docs, and draft updates using the work you’ve already done.',
|
|
211
216
|
description: 'A description on a teaser slide 3 on benefit of connecting account on Smart Link embed'
|
|
212
217
|
},
|
|
213
218
|
connect_link_account_success_flag_description: {
|
|
@@ -230,6 +235,11 @@ export var messages = defineMessages({
|
|
|
230
235
|
defaultMessage: 'Connect to {context}',
|
|
231
236
|
description: 'Shown on a button to connect user external account to their Atlassian account.'
|
|
232
237
|
},
|
|
238
|
+
connect_3p_account: {
|
|
239
|
+
id: 'fabric.linking.connect_3p_account.non-final',
|
|
240
|
+
defaultMessage: 'Connect {context}',
|
|
241
|
+
description: 'Shown on a button to connect user external 3P account to their Atlassian account, e.g. Connect Figma'
|
|
242
|
+
},
|
|
233
243
|
connect_inline_social_proof: {
|
|
234
244
|
id: 'fabric.linking.connect_inline_social_proof',
|
|
235
245
|
defaultMessage: 'Connect',
|
|
@@ -4,7 +4,7 @@ export var ANALYTICS_CHANNEL = 'media';
|
|
|
4
4
|
export var context = {
|
|
5
5
|
componentName: 'smart-cards',
|
|
6
6
|
packageName: "@atlaskit/smart-card" || '',
|
|
7
|
-
packageVersion: "45.
|
|
7
|
+
packageVersion: "45.12.0" || ''
|
|
8
8
|
};
|
|
9
9
|
export var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
|
|
10
10
|
TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
|
|
@@ -1,23 +1,33 @@
|
|
|
1
1
|
._2rko1rr0{border-radius:var(--ds-radius-full,9999px)}
|
|
2
2
|
._zulp1ejb{gap:var(--ds-space-300,24px)}
|
|
3
|
+
._zulppxbi{gap:var(--ds-space-200,1pc)}
|
|
3
4
|
._zulpu2gc{gap:var(--ds-space-100,8px)}
|
|
4
|
-
._zulpze3t{gap:var(--ds-space-0,0)}.
|
|
5
|
+
._zulpze3t{gap:var(--ds-space-0,0)}._154iidpf{top:0}
|
|
6
|
+
._16jlkb7n{flex-grow:1}
|
|
7
|
+
._18m915vq{overflow-y:hidden}
|
|
5
8
|
._18m91wug{overflow-y:auto}
|
|
6
9
|
._19bv1jfw{padding-left:var(--ds-space-500,40px)}
|
|
7
10
|
._19bvpxbi{padding-left:var(--ds-space-200,1pc)}
|
|
8
11
|
._19bvze3t{padding-left:var(--ds-space-0,0)}
|
|
9
12
|
._1bah1h6o{justify-content:center}
|
|
13
|
+
._1bah1y6m{justify-content:flex-start}
|
|
14
|
+
._1bah1yb4{justify-content:space-between}
|
|
10
15
|
._1bsb1osq{width:100%}
|
|
11
16
|
._1bsb1tcg{width:24px}
|
|
12
17
|
._1bsb7vkz{width:1pc}
|
|
13
|
-
.
|
|
18
|
+
._1bsbftgi{width:8px}
|
|
14
19
|
._1e0c1txw{display:flex}
|
|
15
20
|
._1e0c1ule{display:block}
|
|
21
|
+
._1ltvidpf{left:0}
|
|
16
22
|
._1n261g80{flex-wrap:wrap}
|
|
23
|
+
._1n261q9c{flex-wrap:nowrap}
|
|
17
24
|
._1o9zidpf{flex-shrink:0}
|
|
18
25
|
._1o9zkb7n{flex-shrink:1}
|
|
19
26
|
._1oecfnf5{transition-duration:.2s}
|
|
27
|
+
._1reo15vq{overflow-x:hidden}
|
|
20
28
|
._1reo1wug{overflow-x:auto}
|
|
29
|
+
._1tkeidpf{min-height:0}
|
|
30
|
+
._1ul9idpf{min-width:0}
|
|
21
31
|
._2lx21bp4{flex-direction:column}
|
|
22
32
|
._2lx2vrvc{flex-direction:row}
|
|
23
33
|
._4cvr1fhb{align-items:stretch}
|
|
@@ -26,10 +36,10 @@
|
|
|
26
36
|
._4t3i1osq{height:100%}
|
|
27
37
|
._4t3i1tcg{height:24px}
|
|
28
38
|
._4t3i7vkz{height:1pc}
|
|
29
|
-
.
|
|
39
|
+
._4t3iftgi{height:8px}
|
|
30
40
|
._5ral1f51{object-fit:contain}
|
|
31
41
|
._6fl45ucs{transition-timing-function:ease}
|
|
32
|
-
.
|
|
42
|
+
._bfhk9pm7{background-color:var(--ds-background-information-subtle,#8fb8f6)}
|
|
33
43
|
._bfhki8nm{background-color:var(--ds-background-neutral,#0515240f)}
|
|
34
44
|
._bfhkjmqp{background-color:var(--ds-background-selected-bold,#1868db)}
|
|
35
45
|
._bfhksm61{background-color:var(--ds-background-neutral-subtle,#00000000)}
|
|
@@ -40,6 +50,8 @@
|
|
|
40
50
|
._i0dlghg7{flex-basis:240px}
|
|
41
51
|
._i0dluuw1{flex-basis:200px}
|
|
42
52
|
._k8m01k61{transition-property:background-color}
|
|
53
|
+
._kqswh2mm{position:relative}
|
|
54
|
+
._kqswstnw{position:absolute}
|
|
43
55
|
._lcxvglyw{pointer-events:none}
|
|
44
56
|
._n3td1jfw{padding-bottom:var(--ds-space-500,40px)}
|
|
45
57
|
._n3tdpxbi{padding-bottom:var(--ds-space-200,1pc)}
|
|
@@ -1,58 +1,82 @@
|
|
|
1
1
|
/* CarouselSlide.tsx generated by @compiled/babel-plugin v0.40.0 */
|
|
2
2
|
import "./CarouselSlide.compiled.css";
|
|
3
3
|
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
-
import React from 'react';
|
|
4
|
+
import React, { useMemo } from 'react';
|
|
5
5
|
import { useIntl } from 'react-intl';
|
|
6
6
|
import Button from '@atlaskit/button/new';
|
|
7
7
|
import { cx } from '@atlaskit/css';
|
|
8
8
|
import Heading from '@atlaskit/heading';
|
|
9
|
+
import SmartLinkIcon from '@atlaskit/icon/core/smart-link';
|
|
10
|
+
import IconTile from '@atlaskit/icon/icon-tile';
|
|
9
11
|
import Image from '@atlaskit/image';
|
|
10
12
|
import { Box, Pressable, Text } from '@atlaskit/primitives/compiled';
|
|
11
13
|
import { messages } from '../../../../messages';
|
|
12
14
|
var styles = {
|
|
13
|
-
columnImage: "_16jlkb7n _1o9zkb7n _i0dlghg7
|
|
14
|
-
|
|
15
|
+
columnImage: "_16jlkb7n _1o9zkb7n _i0dlghg7 _1reo15vq _18m915vq _1e0c1txw _4cvr1fhb _1bah1y6m _1tkeidpf _1ul9idpf _bfhk9pm7",
|
|
16
|
+
imageContainer: "_kqswh2mm _1bsb1osq _4t3i1osq",
|
|
17
|
+
imageAbsolute: "_kqswstnw _154iidpf _1ltvidpf _1bsb1osq",
|
|
18
|
+
columnContent: "_zulp1ejb _16jlkb7n _1o9zkb7n _i0dluuw1 _1reo1wug _18m91wug _1e0c1txw _2lx21bp4 _1tkeidpf _ca0q1jfw _u5f31jfw _n3td1jfw _19bv1jfw _4cvr1y6m _1bah1yb4",
|
|
19
|
+
columnContentTop: "_zulppxbi _1e0c1txw _2lx21bp4 _4cvr1y6m _1bsb1osq",
|
|
20
|
+
columnContentBody: "_zulp1ejb _1e0c1txw _2lx21bp4 _4cvr1y6m _1bsb1osq",
|
|
15
21
|
columnContentCompact: "_ca0qpxbi _u5f3pxbi _n3tdpxbi _19bvpxbi",
|
|
16
|
-
dot: "_2rko1rr0
|
|
22
|
+
dot: "_2rko1rr0 _1bsbftgi _4t3iftgi _bfhki8nm _1oecfnf5 _k8m01k61 _6fl45ucs _lcxvglyw",
|
|
17
23
|
dotActive: "_bfhkjmqp",
|
|
18
24
|
dotPassable: "_2rko1rr0 _1e0c1txw _4cvr1h6o _1bah1h6o _1bsb7vkz _4t3i7vkz _bfhksm61 _ca0qze3t _u5f3ze3t _n3tdze3t _19bvze3t",
|
|
19
25
|
icon: "_1o9zidpf _1bsb1tcg _4t3i1tcg _1e0c1txw _4cvr1h6o _1bah1h6o",
|
|
20
26
|
iconImage: "_1bsb1osq _4t3i1osq _5ral1f51",
|
|
21
27
|
image: "_1bsb1osq _c71l1wdt _5ral1f51 _rsufaqso _1e0c1ule",
|
|
22
28
|
rowButton: "_zulpu2gc _1e0c1txw _2lx2vrvc _1n261g80 _4cvr1h6o",
|
|
29
|
+
rowButtonNavGroup: "_zulpu2gc _1e0c1txw _2lx2vrvc _4cvr1h6o _1o9zidpf",
|
|
23
30
|
rowButtonCompact: "_1bsb1osq",
|
|
24
31
|
rowDot: "_zulpze3t _1e0c1txw _2lx2vrvc _4cvr1h6o",
|
|
25
32
|
rowIcon: "_zulpu2gc _1e0c1txw _4cvr1h6o",
|
|
26
|
-
slide: "
|
|
33
|
+
slide: "_1reo15vq _18m915vq _1e0c1txw _1n261q9c _1bsb1osq _4t3i1osq _4cvr1fhb _vchhusvi"
|
|
27
34
|
};
|
|
28
35
|
var CarouselSlide = function CarouselSlide(_ref) {
|
|
29
36
|
var icon = _ref.icon,
|
|
30
|
-
iconLabel = _ref.iconLabel,
|
|
37
|
+
_ref$iconLabel = _ref.iconLabel,
|
|
38
|
+
iconLabel = _ref$iconLabel === void 0 ? '' : _ref$iconLabel,
|
|
31
39
|
title = _ref.title,
|
|
32
40
|
description = _ref.description,
|
|
33
41
|
image = _ref.image,
|
|
34
42
|
primaryButtonLabel = _ref.primaryButtonLabel,
|
|
35
43
|
onPrimaryButtonClick = _ref.onPrimaryButtonClick,
|
|
44
|
+
onBackClick = _ref.onBackClick,
|
|
36
45
|
onDotClick = _ref.onDotClick,
|
|
37
46
|
onNextClick = _ref.onNextClick,
|
|
38
47
|
slideIndex = _ref.slideIndex,
|
|
39
48
|
totalSlides = _ref.totalSlides,
|
|
40
49
|
size = _ref.size,
|
|
41
50
|
_ref$testId = _ref.testId,
|
|
42
|
-
testId = _ref$testId === void 0 ? 'embed-card-
|
|
51
|
+
testId = _ref$testId === void 0 ? 'embed-card-carousel-slide' : _ref$testId;
|
|
43
52
|
var _useIntl = useIntl(),
|
|
44
53
|
formatMessage = _useIntl.formatMessage;
|
|
45
54
|
var isCompact = size !== 'full';
|
|
55
|
+
var showPrimaryButton = typeof onPrimaryButtonClick === 'function';
|
|
46
56
|
var showNavigation = totalSlides > 1;
|
|
47
|
-
var renderedIcon =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
var renderedIcon = useMemo(function () {
|
|
58
|
+
if (typeof icon === 'string') {
|
|
59
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
60
|
+
xcss: styles.icon
|
|
61
|
+
}, /*#__PURE__*/React.createElement(Image, {
|
|
62
|
+
src: icon,
|
|
63
|
+
alt: iconLabel,
|
|
64
|
+
className: ax([styles.iconImage])
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
67
|
+
if (icon) {
|
|
68
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
69
|
+
xcss: styles.icon
|
|
70
|
+
}, icon);
|
|
71
|
+
}
|
|
72
|
+
return /*#__PURE__*/React.createElement(IconTile, {
|
|
73
|
+
appearance: "blue",
|
|
74
|
+
icon: SmartLinkIcon,
|
|
75
|
+
label: iconLabel,
|
|
76
|
+
size: "small",
|
|
77
|
+
testId: "embed-card-fallback-icon"
|
|
78
|
+
});
|
|
79
|
+
}, [icon, iconLabel]);
|
|
56
80
|
var renderedImage = image == null ? null : typeof image === 'string' ? /*#__PURE__*/React.createElement(Image, {
|
|
57
81
|
src: image,
|
|
58
82
|
alt: title,
|
|
@@ -63,7 +87,9 @@ var CarouselSlide = function CarouselSlide(_ref) {
|
|
|
63
87
|
testId: testId
|
|
64
88
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
65
89
|
xcss: cx(styles.columnContent, isCompact && styles.columnContentCompact)
|
|
66
|
-
},
|
|
90
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
91
|
+
xcss: styles.columnContentTop
|
|
92
|
+
}, showPrimaryButton && isCompact && /*#__PURE__*/React.createElement(Box, {
|
|
67
93
|
xcss: cx(styles.rowButton, styles.rowButtonCompact)
|
|
68
94
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
69
95
|
appearance: "primary",
|
|
@@ -75,22 +101,30 @@ var CarouselSlide = function CarouselSlide(_ref) {
|
|
|
75
101
|
}, renderedIcon), /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Heading, {
|
|
76
102
|
size: "medium",
|
|
77
103
|
testId: "".concat(testId, "-title")
|
|
78
|
-
}, title)), /*#__PURE__*/React.createElement(Box,
|
|
104
|
+
}, title)), /*#__PURE__*/React.createElement(Box, {
|
|
105
|
+
xcss: styles.columnContentBody
|
|
106
|
+
}, /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Text, {
|
|
79
107
|
testId: "".concat(testId, "-description")
|
|
80
|
-
}, description)), /*#__PURE__*/React.createElement(Box, {
|
|
108
|
+
}, description)), (showPrimaryButton && !isCompact || showNavigation && (onNextClick || onBackClick)) && /*#__PURE__*/React.createElement(Box, {
|
|
81
109
|
xcss: styles.rowButton
|
|
82
|
-
}, !isCompact && /*#__PURE__*/React.createElement(Button, {
|
|
110
|
+
}, showPrimaryButton && !isCompact && /*#__PURE__*/React.createElement(Button, {
|
|
83
111
|
appearance: "primary",
|
|
84
112
|
onClick: onPrimaryButtonClick,
|
|
85
113
|
testId: "".concat(testId, "-connect")
|
|
86
|
-
}, primaryButtonLabel), showNavigation && onNextClick && /*#__PURE__*/React.createElement(
|
|
114
|
+
}, primaryButtonLabel), showNavigation && (onBackClick || onNextClick) && /*#__PURE__*/React.createElement(Box, {
|
|
115
|
+
xcss: styles.rowButtonNavGroup
|
|
116
|
+
}, onBackClick && /*#__PURE__*/React.createElement(Button, {
|
|
117
|
+
appearance: "subtle",
|
|
118
|
+
onClick: onBackClick,
|
|
119
|
+
testId: "".concat(testId, "-back")
|
|
120
|
+
}, formatMessage(messages.connect_link_account_embed_carousel_button_back)), onNextClick && /*#__PURE__*/React.createElement(Button, {
|
|
87
121
|
appearance: "subtle",
|
|
88
122
|
onClick: onNextClick,
|
|
89
123
|
testId: "".concat(testId, "-next")
|
|
90
|
-
}, formatMessage(messages.
|
|
124
|
+
}, formatMessage(messages.connect_link_account_embed_carousel_button_next)))))), showNavigation && /*#__PURE__*/React.createElement(Box, {
|
|
91
125
|
xcss: styles.rowDot,
|
|
92
126
|
role: "group",
|
|
93
|
-
"aria-label": formatMessage(messages.
|
|
127
|
+
"aria-label": formatMessage(messages.connect_link_account_embed_carousel_dot_row_label)
|
|
94
128
|
}, Array.from({
|
|
95
129
|
length: totalSlides
|
|
96
130
|
}, function (_, i) {
|
|
@@ -100,7 +134,7 @@ var CarouselSlide = function CarouselSlide(_ref) {
|
|
|
100
134
|
onClick: function onClick() {
|
|
101
135
|
return onDotClick === null || onDotClick === void 0 ? void 0 : onDotClick(i);
|
|
102
136
|
},
|
|
103
|
-
"aria-label": formatMessage(messages.
|
|
137
|
+
"aria-label": formatMessage(messages.connect_link_account_embed_carousel_dot_label, {
|
|
104
138
|
index: i + 1,
|
|
105
139
|
total: totalSlides
|
|
106
140
|
}),
|
|
@@ -109,9 +143,13 @@ var CarouselSlide = function CarouselSlide(_ref) {
|
|
|
109
143
|
}, /*#__PURE__*/React.createElement(Box, {
|
|
110
144
|
xcss: cx(styles.dot, i === slideIndex && styles.dotActive)
|
|
111
145
|
}));
|
|
112
|
-
})))
|
|
146
|
+
}))), !isCompact && /*#__PURE__*/React.createElement(Box, {
|
|
113
147
|
xcss: styles.columnImage,
|
|
114
|
-
testId: "".concat(testId, "-image-panel")
|
|
115
|
-
},
|
|
148
|
+
testId: "".concat(testId, "-image-panel-").concat(slideIndex)
|
|
149
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
150
|
+
xcss: styles.imageContainer
|
|
151
|
+
}, /*#__PURE__*/React.createElement(Box, {
|
|
152
|
+
xcss: styles.imageAbsolute
|
|
153
|
+
}, renderedImage))));
|
|
116
154
|
};
|
|
117
155
|
export default CarouselSlide;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
._1reo15vq{overflow-x:hidden}
|
|
7
7
|
._4t3i1osq{height:100%}
|
|
8
8
|
._5sagjx92{animation-duration:.28s}
|
|
9
|
-
.
|
|
9
|
+
._j7hq1wwu{animation-name:kgnpaw5}
|
|
10
10
|
._kqswh2mm{position:relative}
|
|
11
|
-
@keyframes
|
|
11
|
+
@keyframes kgnpaw5{0%{opacity:0}to{opacity:1}}
|
|
12
12
|
@media (prefers-reduced-motion:reduce){._bl8aglyw{animation-name:none}._2hwzhgkh{animation-duration:.01ms}}
|
|
@@ -8,12 +8,10 @@ import CarouselSlide from './CarouselSlide';
|
|
|
8
8
|
var styles = {
|
|
9
9
|
carousel: "_1reo15vq _18m915vq _1e0c1txw _1bsb1osq _4t3i1osq _kqswh2mm"
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
// Slide enters from the right: translates from 40px right + fades in
|
|
13
|
-
var slideInFromRight = null;
|
|
11
|
+
var fadeIn = null;
|
|
14
12
|
var slideWrapperMap = {
|
|
15
13
|
static: "_1bsb1osq _4t3i1osq",
|
|
16
|
-
animated: "_1bsb1osq _4t3i1osq
|
|
14
|
+
animated: "_1bsb1osq _4t3i1osq _j7hq1wwu _5sagjx92 _1pglafbj _1o511hrf _bl8aglyw _2hwzhgkh"
|
|
17
15
|
};
|
|
18
16
|
/**
|
|
19
17
|
* Derives layout size bucket from pixel dimensions.
|
|
@@ -32,12 +30,14 @@ var getSize = function getSize(width, height) {
|
|
|
32
30
|
var Carousel = function Carousel(_ref) {
|
|
33
31
|
var icon = _ref.icon,
|
|
34
32
|
iconLabel = _ref.iconLabel,
|
|
33
|
+
_ref$initialSlideInde = _ref.initialSlideIndex,
|
|
34
|
+
initialSlideIndex = _ref$initialSlideInde === void 0 ? 0 : _ref$initialSlideInde,
|
|
35
35
|
items = _ref.items,
|
|
36
36
|
onPrimaryButtonClick = _ref.onPrimaryButtonClick,
|
|
37
37
|
primaryButtonLabel = _ref.primaryButtonLabel,
|
|
38
38
|
_ref$testId = _ref.testId,
|
|
39
39
|
testId = _ref$testId === void 0 ? 'embed-card-teaser-carousel' : _ref$testId;
|
|
40
|
-
var _useState = useState(
|
|
40
|
+
var _useState = useState(initialSlideIndex),
|
|
41
41
|
_useState2 = _slicedToArray(_useState, 2),
|
|
42
42
|
activeIndex = _useState2[0],
|
|
43
43
|
setActiveIndex = _useState2[1];
|
|
@@ -77,6 +77,12 @@ var Carousel = function Carousel(_ref) {
|
|
|
77
77
|
return (current + 1) % items.length;
|
|
78
78
|
});
|
|
79
79
|
}, [items.length]);
|
|
80
|
+
var goPrev = useCallback(function () {
|
|
81
|
+
hasNavigated.current = true;
|
|
82
|
+
setActiveIndex(function (current) {
|
|
83
|
+
return Math.max(0, current - 1);
|
|
84
|
+
});
|
|
85
|
+
}, []);
|
|
80
86
|
var goTo = useCallback(function (index) {
|
|
81
87
|
if (index === activeIndex) {
|
|
82
88
|
return;
|
|
@@ -85,6 +91,7 @@ var Carousel = function Carousel(_ref) {
|
|
|
85
91
|
setActiveIndex(index);
|
|
86
92
|
}, [activeIndex]);
|
|
87
93
|
var currentSlide = items[activeIndex];
|
|
94
|
+
var isFirstSlide = activeIndex === 0;
|
|
88
95
|
var isLastSlide = activeIndex === items.length - 1;
|
|
89
96
|
return /*#__PURE__*/React.createElement(Box, {
|
|
90
97
|
ref: containerRef,
|
|
@@ -102,6 +109,7 @@ var Carousel = function Carousel(_ref) {
|
|
|
102
109
|
image: currentSlide.image,
|
|
103
110
|
title: currentSlide.title,
|
|
104
111
|
onPrimaryButtonClick: onPrimaryButtonClick,
|
|
112
|
+
onBackClick: !isFirstSlide ? goPrev : undefined,
|
|
105
113
|
onDotClick: goTo,
|
|
106
114
|
onNextClick: !isLastSlide ? goNext : undefined,
|
|
107
115
|
size: size,
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import React, { Suspense, useCallback, useMemo } from 'react';
|
|
2
|
+
import { useIntl } from 'react-intl';
|
|
3
|
+
import { di } from 'react-magnetic-di';
|
|
4
|
+
import LinkGlyph from '@atlaskit/icon/core/link';
|
|
5
|
+
import SmartLinkIcon from '@atlaskit/icon/core/smart-link';
|
|
6
|
+
import IconTile from '@atlaskit/icon/icon-tile';
|
|
7
|
+
import Image from '@atlaskit/image/image';
|
|
8
|
+
import { useAnalyticsEvents } from '../../../../common/analytics/generated/use-analytics-events';
|
|
9
|
+
import { messages } from '../../../../messages';
|
|
10
|
+
import useRovoConfig from '../../../../state/hooks/use-rovo-config';
|
|
11
|
+
import Carousel from '../../components/carousel';
|
|
12
|
+
import { ExpandedFrame } from '../../components/ExpandedFrame';
|
|
13
|
+
import { ImageIcon } from '../../components/ImageIcon';
|
|
14
|
+
import LazyRovoChatBenefitImage from './carousel-images/LazyRovoChatBenefitImage';
|
|
15
|
+
import LazyRovoSearchBenefitImage from './carousel-images/LazyRovoSearchBenefitImage';
|
|
16
|
+
import NoAuthAvailableImage from './carousel-images/NoAuthAvailableImage';
|
|
17
|
+
import ProductIcon from './carousel-images/ProductIcon';
|
|
18
|
+
import SmartLinkBenefitImage from './carousel-images/SmartLinkBenefitImage';
|
|
19
|
+
var PARENT_PRODUCT = {
|
|
20
|
+
ATLAS: 'ATLAS',
|
|
21
|
+
BITBUCKET: 'BITBUCKET',
|
|
22
|
+
CONFLUENCE: 'CONFLUENCE',
|
|
23
|
+
CSM: 'JIRA',
|
|
24
|
+
JPD: 'JIRA',
|
|
25
|
+
JSM: 'JIRA',
|
|
26
|
+
JSW: 'JIRA',
|
|
27
|
+
JWM: 'JIRA',
|
|
28
|
+
TRELLO: 'TRELLO'
|
|
29
|
+
};
|
|
30
|
+
var PRODUCT_COMPANION = {
|
|
31
|
+
ATLAS: 'ATLAS',
|
|
32
|
+
BITBUCKET: 'BITBUCKET',
|
|
33
|
+
CONFLUENCE: 'JIRA',
|
|
34
|
+
JIRA: 'CONFLUENCE',
|
|
35
|
+
TRELLO: 'TRELLO'
|
|
36
|
+
};
|
|
37
|
+
var UnauthorizedCarouselView = function UnauthorizedCarouselView(_ref) {
|
|
38
|
+
var context = _ref.context,
|
|
39
|
+
frameStyle = _ref.frameStyle,
|
|
40
|
+
inheritDimensions = _ref.inheritDimensions,
|
|
41
|
+
isSelected = _ref.isSelected,
|
|
42
|
+
onAuthorize = _ref.onAuthorize,
|
|
43
|
+
onClick = _ref.onClick,
|
|
44
|
+
_ref$testId = _ref.testId,
|
|
45
|
+
testId = _ref$testId === void 0 ? 'embed-card-unauthorized-view' : _ref$testId,
|
|
46
|
+
url = _ref.url;
|
|
47
|
+
var intl = useIntl();
|
|
48
|
+
var _useAnalyticsEvents = useAnalyticsEvents(),
|
|
49
|
+
fireEvent = _useAnalyticsEvents.fireEvent;
|
|
50
|
+
var _useRovoConfig = useRovoConfig(),
|
|
51
|
+
rovoOptions = _useRovoConfig.rovoOptions,
|
|
52
|
+
product = _useRovoConfig.product;
|
|
53
|
+
var canAuthorize = typeof onAuthorize === 'function';
|
|
54
|
+
var providerName = context === null || context === void 0 ? void 0 : context.text;
|
|
55
|
+
var providerIcon = useMemo(function () {
|
|
56
|
+
var _ref2, _context$iconLabel;
|
|
57
|
+
var iconLabel = (_ref2 = (_context$iconLabel = context === null || context === void 0 ? void 0 : context.iconLabel) !== null && _context$iconLabel !== void 0 ? _context$iconLabel : context === null || context === void 0 ? void 0 : context.text) !== null && _ref2 !== void 0 ? _ref2 : '';
|
|
58
|
+
if (typeof (context === null || context === void 0 ? void 0 : context.icon) === 'string') {
|
|
59
|
+
return /*#__PURE__*/React.createElement(Image, {
|
|
60
|
+
src: context.icon,
|
|
61
|
+
alt: iconLabel
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
if (context !== null && context !== void 0 && context.icon) {
|
|
65
|
+
return context.icon;
|
|
66
|
+
}
|
|
67
|
+
return /*#__PURE__*/React.createElement(IconTile, {
|
|
68
|
+
appearance: "blue",
|
|
69
|
+
icon: SmartLinkIcon,
|
|
70
|
+
label: iconLabel,
|
|
71
|
+
size: "small",
|
|
72
|
+
testId: "embed-card-fallback-icon"
|
|
73
|
+
});
|
|
74
|
+
}, [context]);
|
|
75
|
+
var items = useMemo(function () {
|
|
76
|
+
if (!canAuthorize) {
|
|
77
|
+
return [{
|
|
78
|
+
title: intl.formatMessage(messages.unauthorised_account_name_no_provider),
|
|
79
|
+
description: intl.formatMessage(messages.unauthorised_account_description_no_provider),
|
|
80
|
+
image: /*#__PURE__*/React.createElement(NoAuthAvailableImage, null)
|
|
81
|
+
}];
|
|
82
|
+
}
|
|
83
|
+
var parentProduct = product ? PARENT_PRODUCT[product] : undefined;
|
|
84
|
+
var parentProductIcon = /*#__PURE__*/React.createElement(ProductIcon, {
|
|
85
|
+
product: parentProduct
|
|
86
|
+
});
|
|
87
|
+
var parentProductAlt = parentProduct ? PRODUCT_COMPANION[parentProduct] : parentProduct;
|
|
88
|
+
var parentProductIconAlt = /*#__PURE__*/React.createElement(ProductIcon, {
|
|
89
|
+
product: parentProductAlt
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
// We only have special text for Google Drive and i18n select takes only one word (no space).
|
|
93
|
+
var i18nSelectContext = (context === null || context === void 0 ? void 0 : context.text) === 'Google Drive' ? 'Google' : context === null || context === void 0 ? void 0 : context.text;
|
|
94
|
+
var slides = [{
|
|
95
|
+
title: intl.formatMessage(messages.connect_link_account_embed_carousel_sl_title),
|
|
96
|
+
description: intl.formatMessage(messages.connect_link_account_embed_carousel_sl_description, {
|
|
97
|
+
context: i18nSelectContext,
|
|
98
|
+
product: parentProduct
|
|
99
|
+
}),
|
|
100
|
+
image: /*#__PURE__*/React.createElement(SmartLinkBenefitImage, {
|
|
101
|
+
productIcon: parentProductIcon
|
|
102
|
+
})
|
|
103
|
+
}];
|
|
104
|
+
|
|
105
|
+
// If the link has an unauthorized status and provides an onAuthorize callback,
|
|
106
|
+
// it is likely a 3P (third-party) link and is supported by Rovo. In that case,
|
|
107
|
+
// we show additional Rovo-specific teaser slides to encourage the user to connect their account.
|
|
108
|
+
if (rovoOptions !== null && rovoOptions !== void 0 && rovoOptions.isRovoEnabled) {
|
|
109
|
+
slides.push({
|
|
110
|
+
title: intl.formatMessage(messages.connect_link_account_embed_carousel_rovo_title),
|
|
111
|
+
description: intl.formatMessage(messages.connect_link_account_embed_carousel_rovo_description, {
|
|
112
|
+
context: providerName,
|
|
113
|
+
product: parentProduct
|
|
114
|
+
}),
|
|
115
|
+
image: /*#__PURE__*/React.createElement(Suspense, {
|
|
116
|
+
fallback: null
|
|
117
|
+
}, /*#__PURE__*/React.createElement(LazyRovoSearchBenefitImage, {
|
|
118
|
+
productIcon: parentProductIcon,
|
|
119
|
+
productIconAlt: parentProductIconAlt,
|
|
120
|
+
providerIcon: providerIcon
|
|
121
|
+
}))
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
if (rovoOptions !== null && rovoOptions !== void 0 && rovoOptions.isRovoEnabled && rovoOptions !== null && rovoOptions !== void 0 && rovoOptions.isRovoLLMEnabled) {
|
|
125
|
+
slides.push({
|
|
126
|
+
title: intl.formatMessage(messages.connect_link_account_embed_carousel_rovochat_title),
|
|
127
|
+
description: intl.formatMessage(messages.connect_link_account_embed_carousel_rovochat_description, {
|
|
128
|
+
context: providerName
|
|
129
|
+
}),
|
|
130
|
+
image: /*#__PURE__*/React.createElement(Suspense, {
|
|
131
|
+
fallback: null
|
|
132
|
+
}, /*#__PURE__*/React.createElement(LazyRovoChatBenefitImage, {
|
|
133
|
+
productIcon: parentProductIcon,
|
|
134
|
+
productIconAlt: parentProductIconAlt,
|
|
135
|
+
providerIcon: providerIcon
|
|
136
|
+
}))
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
return slides;
|
|
140
|
+
}, [canAuthorize, context, intl, product, providerName, providerIcon, rovoOptions]);
|
|
141
|
+
var handleOnAuthorizeClick = useCallback(function () {
|
|
142
|
+
if (onAuthorize) {
|
|
143
|
+
fireEvent('track.applicationAccount.authStarted', {});
|
|
144
|
+
onAuthorize();
|
|
145
|
+
}
|
|
146
|
+
}, [onAuthorize, fireEvent]);
|
|
147
|
+
var buttonLabel = context !== null && context !== void 0 && context.text ? intl.formatMessage(messages.connect_3p_account, {
|
|
148
|
+
context: context.text
|
|
149
|
+
}) : intl.formatMessage(messages.connect_link_account_card);
|
|
150
|
+
var icon = useMemo(function () {
|
|
151
|
+
if ( /*#__PURE__*/React.isValidElement(context === null || context === void 0 ? void 0 : context.icon)) {
|
|
152
|
+
return context.icon;
|
|
153
|
+
}
|
|
154
|
+
return /*#__PURE__*/React.createElement(ImageIcon, {
|
|
155
|
+
default: /*#__PURE__*/React.createElement(LinkGlyph, {
|
|
156
|
+
label: "icon",
|
|
157
|
+
color: "currentColor"
|
|
158
|
+
}),
|
|
159
|
+
src: typeof (context === null || context === void 0 ? void 0 : context.icon) === 'string' ? context.icon : undefined
|
|
160
|
+
});
|
|
161
|
+
}, [context === null || context === void 0 ? void 0 : context.icon]);
|
|
162
|
+
return /*#__PURE__*/React.createElement(ExpandedFrame, {
|
|
163
|
+
allowScrollBar: true,
|
|
164
|
+
frameStyle: frameStyle !== null && frameStyle !== void 0 ? frameStyle : 'show',
|
|
165
|
+
href: url,
|
|
166
|
+
icon: icon,
|
|
167
|
+
isSelected: isSelected,
|
|
168
|
+
inheritDimensions: inheritDimensions,
|
|
169
|
+
onClick: onClick,
|
|
170
|
+
setOverflow: true,
|
|
171
|
+
testId: testId,
|
|
172
|
+
text: context === null || context === void 0 ? void 0 : context.text
|
|
173
|
+
}, /*#__PURE__*/React.createElement(Carousel, {
|
|
174
|
+
icon: context === null || context === void 0 ? void 0 : context.icon,
|
|
175
|
+
iconLabel: context === null || context === void 0 ? void 0 : context.text,
|
|
176
|
+
items: items,
|
|
177
|
+
onPrimaryButtonClick: canAuthorize ? handleOnAuthorizeClick : undefined,
|
|
178
|
+
primaryButtonLabel: buttonLabel,
|
|
179
|
+
testId: "".concat(testId, "-carousel")
|
|
180
|
+
}));
|
|
181
|
+
};
|
|
182
|
+
export default UnauthorizedCarouselView;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* IconSlot.tsx generated by @compiled/babel-plugin v0.40.0 */
|
|
2
|
+
import "./IconSlot.compiled.css";
|
|
3
|
+
import { ax, ix } from "@compiled/react/runtime";
|
|
4
|
+
import React from 'react';
|
|
5
|
+
var iconSlotDivStyles = null;
|
|
6
|
+
var IconSlot = function IconSlot(_ref) {
|
|
7
|
+
var icon = _ref.icon,
|
|
8
|
+
x = _ref.x,
|
|
9
|
+
y = _ref.y,
|
|
10
|
+
w = _ref.w,
|
|
11
|
+
h = _ref.h;
|
|
12
|
+
if (!icon) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
return /*#__PURE__*/React.createElement("foreignObject", {
|
|
16
|
+
x: x,
|
|
17
|
+
y: y,
|
|
18
|
+
width: w,
|
|
19
|
+
height: h
|
|
20
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
21
|
+
className: ax(["_1reo15vq _18m915vq _1bsb1osq _4t3i1osq _1e0c1txw _4cvr1h6o _1bah1h6o"])
|
|
22
|
+
}, icon));
|
|
23
|
+
};
|
|
24
|
+
export default IconSlot;
|