@arc-ui/community-components 3.0.1 → 3.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/.turbo/turbo-build.log +17 -20
- package/CHANGELOG.md +18 -0
- package/lib/Accordion/Accordion.cjs +2 -2
- package/lib/Accordion/Accordion.mjs +2 -2
- package/lib/ActionTile/ActionTile.cjs +35 -0
- package/lib/ActionTile/ActionTile.mjs +33 -0
- package/lib/ActionTile/styles.css +1 -0
- package/lib/ArticleSidebar/ArticleSidebar.cjs +68 -58
- package/lib/ArticleSidebar/ArticleSidebar.mjs +68 -58
- package/lib/ArticleSidebar/styles.css +1 -1
- package/lib/Author/Author.cjs +2 -2
- package/lib/Author/Author.mjs +2 -2
- package/lib/BannerWithTabs/BannerWithTabs.cjs +5 -5
- package/lib/BannerWithTabs/BannerWithTabs.mjs +5 -5
- package/lib/CopyLead/CopyLead.cjs +12 -12
- package/lib/CopyLead/CopyLead.mjs +12 -12
- package/lib/DownloadList/DownloadList.cjs +5 -5
- package/lib/DownloadList/DownloadList.mjs +5 -5
- package/lib/FAQs/FAQs.cjs +6 -6
- package/lib/FAQs/FAQs.mjs +6 -6
- package/lib/FeaturePost/FeaturePost.cjs +6 -6
- package/lib/FeaturePost/FeaturePost.mjs +6 -6
- package/lib/HeroLink/HeroLink.cjs +35 -0
- package/lib/HeroLink/HeroLink.mjs +33 -0
- package/lib/HeroLink/styles.css +1 -0
- package/lib/Highlights/Highlights.cjs +9 -16
- package/lib/Highlights/Highlights.mjs +7 -14
- package/lib/LinkTile/LinkTile.cjs +21 -0
- package/lib/LinkTile/LinkTile.mjs +19 -0
- package/lib/LinkTile/styles.css +1 -0
- package/lib/ProductNavigation/ProductNavigation.cjs +10 -13
- package/lib/ProductNavigation/ProductNavigation.mjs +10 -13
- package/lib/PromoListing/PromoListing.cjs +17 -9
- package/lib/PromoListing/PromoListing.mjs +17 -9
- package/lib/Quote/Quote.cjs +3 -3
- package/lib/Quote/Quote.mjs +3 -3
- package/lib/SectionHeading/SectionHeading.cjs +3 -3
- package/lib/SectionHeading/SectionHeading.mjs +3 -3
- package/lib/Statistics/Statistics.cjs +6 -6
- package/lib/Statistics/Statistics.mjs +6 -6
- package/lib/Summary/Summary.cjs +1 -1
- package/lib/Summary/Summary.mjs +1 -1
- package/lib/_shared/cjs/{Accordion-D5fpUJzm.cjs → Accordion-BCJIm1Gq.cjs} +4 -4
- package/lib/_shared/cjs/{Author-X47pv31V.cjs → Author-D4dKNQem.cjs} +2 -2
- package/lib/_shared/cjs/BtIconArrowAltRight-CLQdP61r.cjs +11 -0
- package/lib/_shared/cjs/BtIconArrowRightFill-BVCZv7Lm.cjs +11 -0
- package/lib/_shared/cjs/{SectionHeading-DepTV4JA.cjs → SectionHeading-DeSFM0HV.cjs} +5 -5
- package/lib/_shared/cjs/filter-attrs-BizjMsy0.cjs +27 -0
- package/lib/_shared/cjs/{index.es-D11PdokQ.cjs → index.es-DzI6hGjj.cjs} +1 -1
- package/lib/_shared/esm/{Accordion-LLwNdzax.mjs → Accordion-BN_lZk6L.mjs} +4 -4
- package/lib/_shared/esm/{Author-CydDYCma.mjs → Author-HnYsFTPT.mjs} +2 -2
- package/lib/_shared/esm/BtIconArrowAltRight-VH6RTTnL.mjs +9 -0
- package/lib/_shared/esm/BtIconArrowRightFill-D0zKgk3B.mjs +9 -0
- package/lib/_shared/esm/{SectionHeading-BayinGP_.mjs → SectionHeading-CpDLCndw.mjs} +5 -5
- package/lib/_shared/esm/filter-attrs-DZ7RCEZm.mjs +25 -0
- package/lib/_shared/esm/{index.es-C4PyYMjI.mjs → index.es-B6Bolkcx.mjs} +1 -1
- package/lib/index.cjs +315 -217
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +155 -26
- package/lib/index.d.mts +155 -26
- package/lib/index.mjs +313 -218
- package/lib/index.mjs.map +1 -1
- package/lib/styles.css +1 -1
- package/package.json +13 -13
- package/src/components/Accordion/Accordion.tsx +3 -2
- package/src/components/Accordion/components/AccordionDisclosureList/AccordionDisclosureList.tsx +2 -2
- package/src/components/Accordion/components/AccordionHeading/AccordionHeading.tsx +3 -4
- package/src/components/ActionTile/ActionTile.module.css +89 -0
- package/src/components/ActionTile/ActionTile.tsx +70 -0
- package/src/components/ActionTile/index.ts +1 -0
- package/src/components/ArticleSidebar/ArticleSidebar.module.css +6 -0
- package/src/components/ArticleSidebar/ArticleSidebar.tsx +115 -85
- package/src/components/ArticleSidebar/types/link-section.ts +2 -1
- package/src/components/ArticleSidebar/types/share-button.ts +1 -1
- package/src/components/ArticleSidebar/types/share.ts +5 -1
- package/src/components/ArticleSidebar/types/text-section.ts +3 -2
- package/src/components/ArticleSidebar/types/topic.ts +2 -2
- package/src/components/Author/Author.tsx +2 -2
- package/src/components/BannerWithTabs/BannerWithTabs.tsx +9 -3
- package/src/components/CopyLead/CopyLead.tsx +21 -5
- package/src/components/CopyLead/components/MediaContent/MediaContent.tsx +10 -1
- package/src/components/CopyLead/templates/Content/Content.tsx +4 -0
- package/src/components/CopyLead/templates/Media/Media.tsx +10 -1
- package/src/components/CopyLead/types/copy-lead-button.ts +1 -1
- package/src/components/CopyLead/types/copy-lead-image.ts +1 -1
- package/src/components/DownloadList/DownloadList.tsx +4 -0
- package/src/components/FAQs/FAQs.tsx +7 -3
- package/src/components/FeaturePost/FeaturePost.tsx +22 -5
- package/src/components/FeaturePost/types/feature-post-app-button-footer.ts +1 -1
- package/src/components/FeaturePost/types/feature-post-cta-footer.ts +2 -1
- package/src/components/FeaturePost/types/feature-post-image.ts +1 -1
- package/src/components/HeroLink/HeroLink.module.css +44 -0
- package/src/components/HeroLink/HeroLink.tsx +136 -0
- package/src/components/HeroLink/index.ts +2 -0
- package/src/components/Highlights/Highlights.tsx +6 -1
- package/src/components/Highlights/components/HighlightItem/HighlightItem.tsx +1 -0
- package/src/components/Highlights/types/highlight-link.ts +1 -0
- package/src/components/LinkTile/LinkTile.module.css +57 -0
- package/src/components/LinkTile/LinkTile.tsx +38 -0
- package/src/components/LinkTile/index.ts +1 -0
- package/src/components/ProductNavigation/ProductNavigation.tsx +10 -11
- package/src/components/ProductNavigation/types/product-list.ts +1 -8
- package/src/components/PromoListing/PromoListing.tsx +67 -3
- package/src/components/Quote/Quote.tsx +2 -2
- package/src/components/SectionHeading/SectionHeading.tsx +17 -7
- package/src/components/Statistics/Statistics.tsx +6 -2
- package/src/components/index.ts +3 -0
- package/versions.json +1 -1
- package/lib/_shared/cjs/filter-data-attrs-ajtUvDAC.cjs +0 -15
- package/lib/_shared/esm/filter-data-attrs-V7cbJuwS.mjs +0 -13
package/lib/index.d.cts
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import React$1, { ReactNode, FC } from 'react';
|
|
1
|
+
import React$1, { ReactNode, FC, Ref } from 'react';
|
|
2
2
|
import { HeadingLevel } from '@arc-ui/components/Heading';
|
|
3
|
-
import { ImageProps, ImageSourceProps } from '@arc-ui/components/
|
|
3
|
+
import { ImageProps, ImageSourceProps } from '@arc-ui/components/Image';
|
|
4
4
|
import { DisclosureProps } from '@arc-ui/components/Disclosure';
|
|
5
5
|
import { AvatarProps } from '@arc-ui/components/Avatar';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { ButtonProps } from '@arc-ui/components/dist/types/components/Button/Button';
|
|
6
|
+
import { VideoPlayerProps } from '@arc-ui/components/VideoPlayer';
|
|
7
|
+
import { ButtonProps } from '@arc-ui/components/Button';
|
|
9
8
|
import { DownloadProps } from '@arc-ui/components/Download';
|
|
10
|
-
import {
|
|
11
|
-
import { AppButtonProps } from '@arc-ui/components/dist/types/components/AppButton';
|
|
9
|
+
import { AppButtonProps } from '@arc-ui/components/AppButton';
|
|
12
10
|
import { ButtonV2Props } from '@arc-ui/components/ButtonV2';
|
|
13
11
|
import { MediaCardProps } from '@arc-ui/components/MediaCard';
|
|
14
12
|
import { ImpactCardProps } from '@arc-ui/components/ImpactCard';
|
|
15
13
|
import { InformationCardProps } from '@arc-ui/components/InformationCard';
|
|
16
14
|
import { TypographyCardProps } from '@arc-ui/components/TypographyCard';
|
|
17
|
-
import { TemplateBannerProps } from '@arc-ui/components/
|
|
18
|
-
import { TagProps } from '@arc-ui/components/
|
|
19
|
-
import { ButtonV2Props as ButtonV2Props$1 } from '@arc-ui/components/types/components/ButtonV2/ButtonV2';
|
|
15
|
+
import { TemplateBannerProps } from '@arc-ui/components/TemplateBanner';
|
|
16
|
+
import { TagProps } from '@arc-ui/components/Tag';
|
|
20
17
|
|
|
21
18
|
interface AccordionHeadingProps {
|
|
22
19
|
/**
|
|
@@ -105,7 +102,15 @@ interface CopyLeadProps {
|
|
|
105
102
|
/**
|
|
106
103
|
* Determine a heading level for `<MediaTemplate />` and `<ContentTemplate />`
|
|
107
104
|
*/
|
|
108
|
-
headingLevel?: HeadingLevel
|
|
105
|
+
headingLevel?: HeadingLevel;
|
|
106
|
+
/**
|
|
107
|
+
* id for the heading of `<MediaTemplate />` and `<ContentTemplate />`
|
|
108
|
+
*/
|
|
109
|
+
id?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Word wrap behavior for the heading
|
|
112
|
+
*/
|
|
113
|
+
isHeadingWordWrap?: boolean;
|
|
109
114
|
/**
|
|
110
115
|
* Reverse the columns so the image / video appears on the left. Doesn't affect mobile layouts, and is only applied if there is a video or an image.
|
|
111
116
|
*/
|
|
@@ -146,6 +151,10 @@ interface SectionHeadingProps {
|
|
|
146
151
|
* Determine a heading level for `SectionHeading`.
|
|
147
152
|
*/
|
|
148
153
|
headingLevel?: HeadingLevel;
|
|
154
|
+
/**
|
|
155
|
+
* Word wrap behavior for the heading
|
|
156
|
+
*/
|
|
157
|
+
isHeadingWordWrap?: boolean;
|
|
149
158
|
/**
|
|
150
159
|
* Text content for `SectionHeading`.
|
|
151
160
|
*/
|
|
@@ -200,14 +209,22 @@ interface FeaturePostProps {
|
|
|
200
209
|
* heading for `FeaturePost`.
|
|
201
210
|
*/
|
|
202
211
|
heading: string;
|
|
212
|
+
/**
|
|
213
|
+
* id for `FeaturePost`.
|
|
214
|
+
*/
|
|
215
|
+
id?: string;
|
|
203
216
|
/**
|
|
204
217
|
* Determine a heading level for `<FeaturePost />`
|
|
205
218
|
*/
|
|
206
219
|
headingLevel?: HeadingLevel;
|
|
220
|
+
/**
|
|
221
|
+
* Word wrap behavior for the heading
|
|
222
|
+
*/
|
|
223
|
+
isHeadingWordWrap?: boolean;
|
|
207
224
|
/**
|
|
208
225
|
* Text content for `FeaturePost`.
|
|
209
226
|
*/
|
|
210
|
-
content: string;
|
|
227
|
+
content: string | ReactNode;
|
|
211
228
|
/**
|
|
212
229
|
* Reverse the columns so the image / video appears on the left. Doesn't affect mobile layouts, and is only applied if there is a video or an image.
|
|
213
230
|
*/
|
|
@@ -230,12 +247,13 @@ interface FeaturePostProps {
|
|
|
230
247
|
/**
|
|
231
248
|
* Video embed. Supported platforms are YouTube and Vimeo.
|
|
232
249
|
*/
|
|
233
|
-
video?: VideoPlayerProps
|
|
250
|
+
video?: VideoPlayerProps;
|
|
234
251
|
}
|
|
235
252
|
|
|
236
253
|
interface HighlightLink {
|
|
237
254
|
url: string;
|
|
238
255
|
textLink: string;
|
|
256
|
+
ariaLabel?: string;
|
|
239
257
|
onClick?: (e: React.MouseEvent) => void;
|
|
240
258
|
}
|
|
241
259
|
|
|
@@ -271,7 +289,7 @@ interface HighlightsProps extends Omit<SectionHeadingProps, "isPadded"> {
|
|
|
271
289
|
/**
|
|
272
290
|
* CTA configuration for Highlights
|
|
273
291
|
*/
|
|
274
|
-
type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition"> & {
|
|
292
|
+
type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition" | "ariaLabel"> & {
|
|
275
293
|
/**
|
|
276
294
|
* Allowed button styles only.
|
|
277
295
|
* Primary is intentionally NOT supported.
|
|
@@ -317,6 +335,31 @@ interface PromoListingProps extends Omit<SectionHeadingProps, "isPadded"> {
|
|
|
317
335
|
* Number of columns for desktop breakpoints. "2" and "3" column options available.
|
|
318
336
|
*/
|
|
319
337
|
columns?: "2" | "3";
|
|
338
|
+
/**
|
|
339
|
+
* Optional button configuration displayed above the cards.
|
|
340
|
+
*/
|
|
341
|
+
button?: PromoListingButton;
|
|
342
|
+
/**
|
|
343
|
+
* Text label displayed above the main heading in overline style
|
|
344
|
+
*/
|
|
345
|
+
overlineLabel?: string;
|
|
346
|
+
/**
|
|
347
|
+
* Heading level for the overline label
|
|
348
|
+
*/
|
|
349
|
+
overlineHeadingLevel?: HeadingLevel;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Button configuration for PromoListing component.
|
|
353
|
+
*/
|
|
354
|
+
interface PromoListingButton extends Omit<ButtonV2Props, "buttonStyle" | "icon" | "size"> {
|
|
355
|
+
/**
|
|
356
|
+
* Style variant for the button. Defaults to "secondary".
|
|
357
|
+
*/
|
|
358
|
+
buttonStyle?: "secondary" | "compact";
|
|
359
|
+
/**
|
|
360
|
+
* Optional prop to pass additional props to the button. Only data-* and aria-* will work.
|
|
361
|
+
*/
|
|
362
|
+
[key: string]: unknown;
|
|
320
363
|
}
|
|
321
364
|
|
|
322
365
|
/**
|
|
@@ -404,32 +447,37 @@ interface BannerWithTabsProps extends Omit<SectionHeadingProps, "image" | "isPad
|
|
|
404
447
|
|
|
405
448
|
interface TextSection {
|
|
406
449
|
heading: string;
|
|
407
|
-
content: string;
|
|
408
|
-
headingLevel?: HeadingLevel
|
|
450
|
+
content: string | ReactNode;
|
|
451
|
+
headingLevel?: HeadingLevel;
|
|
409
452
|
}
|
|
410
453
|
|
|
411
454
|
interface Link {
|
|
412
455
|
text: string;
|
|
413
456
|
url: string;
|
|
457
|
+
ariaLabel?: string;
|
|
414
458
|
}
|
|
415
459
|
interface LinkSection {
|
|
416
460
|
heading: string;
|
|
417
461
|
links: Link[];
|
|
418
|
-
headingLevel?: HeadingLevel
|
|
462
|
+
headingLevel?: HeadingLevel;
|
|
419
463
|
}
|
|
420
464
|
|
|
421
465
|
interface Topic {
|
|
422
466
|
heading: string;
|
|
423
467
|
tags: TagProps[];
|
|
424
|
-
headingLevel?: HeadingLevel
|
|
468
|
+
headingLevel?: HeadingLevel;
|
|
425
469
|
}
|
|
426
470
|
|
|
427
471
|
interface Share {
|
|
428
472
|
heading: string;
|
|
429
473
|
articleTitle: string;
|
|
430
474
|
x?: boolean;
|
|
431
|
-
headingLevel?: HeadingLevel
|
|
475
|
+
headingLevel?: HeadingLevel;
|
|
432
476
|
linkedin?: boolean;
|
|
477
|
+
linkedInAriaLabel?: string;
|
|
478
|
+
xAriaLabel?: string;
|
|
479
|
+
clipboardAriaLabel?: string;
|
|
480
|
+
emailAriaLabel?: string;
|
|
433
481
|
}
|
|
434
482
|
|
|
435
483
|
interface SidebarAuthor extends AuthorProps {
|
|
@@ -456,7 +504,7 @@ interface ArticleSidebarProps {
|
|
|
456
504
|
/**
|
|
457
505
|
* Links that are relevant to the article.
|
|
458
506
|
*/
|
|
459
|
-
linkSection
|
|
507
|
+
linkSection?: LinkSection;
|
|
460
508
|
/**
|
|
461
509
|
* Topics rendered as tags that are relevant to the article.
|
|
462
510
|
*/
|
|
@@ -464,12 +512,10 @@ interface ArticleSidebarProps {
|
|
|
464
512
|
/**
|
|
465
513
|
* Sharing options for the article.
|
|
466
514
|
*/
|
|
467
|
-
share
|
|
515
|
+
share?: Share;
|
|
468
516
|
}
|
|
469
517
|
|
|
470
|
-
type
|
|
471
|
-
type ListInformationCardProps = Pick<InformationCardProps, "heading" | "text">;
|
|
472
|
-
type ListProps = ListInformationCardButtonProps & ListInformationCardProps;
|
|
518
|
+
type ListProps = InformationCardProps;
|
|
473
519
|
|
|
474
520
|
/**
|
|
475
521
|
* Use `ProductNavigation` to give a collection of product information cards collected within a grid that has optional show/hide capability
|
|
@@ -524,5 +570,88 @@ interface ContentInfoWidgetProps {
|
|
|
524
570
|
text: string;
|
|
525
571
|
}
|
|
526
572
|
|
|
527
|
-
|
|
528
|
-
|
|
573
|
+
type ElementUnion = HTMLButtonElement | HTMLAnchorElement;
|
|
574
|
+
type ButtonRef = Ref<ElementUnion> | null;
|
|
575
|
+
/**
|
|
576
|
+
* Pill-style HeroLink component with default and hover states
|
|
577
|
+
*/
|
|
578
|
+
declare const HeroLink: ({ label, onClick, href, id, rel, target, ariaLabel, ref, ...props }: HeroLinkProps) => JSX.Element;
|
|
579
|
+
interface LinkElementProps {
|
|
580
|
+
/**
|
|
581
|
+
* URL to link to if `HeroButton` elementType is 'a'.
|
|
582
|
+
*/
|
|
583
|
+
href?: string;
|
|
584
|
+
/**
|
|
585
|
+
* Target window for the `HeroButton` href URL.
|
|
586
|
+
*/
|
|
587
|
+
target?: string;
|
|
588
|
+
/**
|
|
589
|
+
* Relationship between the Button href URL and the current page. See
|
|
590
|
+
* [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).
|
|
591
|
+
*/
|
|
592
|
+
rel?: string;
|
|
593
|
+
}
|
|
594
|
+
interface HeroButtonElementProps {
|
|
595
|
+
/**
|
|
596
|
+
* Default behavior of the Button element. If not provided, 'submit' will
|
|
597
|
+
* be inferred. Type 'reset' deliberately excluded.
|
|
598
|
+
*/
|
|
599
|
+
type?: "button" | "submit";
|
|
600
|
+
/**
|
|
601
|
+
* Refers to the id of a form so it can be submitted if the button exists outside of it.
|
|
602
|
+
*/
|
|
603
|
+
form?: string;
|
|
604
|
+
}
|
|
605
|
+
interface HeroLinkProps extends HeroButtonElementProps, LinkElementProps {
|
|
606
|
+
/**
|
|
607
|
+
* Label for `HeroLink`
|
|
608
|
+
*/
|
|
609
|
+
label?: string;
|
|
610
|
+
/**
|
|
611
|
+
* Optional click handler for the `HeroLink`.
|
|
612
|
+
*/
|
|
613
|
+
onClick?: () => void;
|
|
614
|
+
/**
|
|
615
|
+
* Optional property to provide component Ref
|
|
616
|
+
*/
|
|
617
|
+
ref?: ButtonRef;
|
|
618
|
+
/**
|
|
619
|
+
* Text to override `label` with additional, more precise information
|
|
620
|
+
* specifically for screen reader users.
|
|
621
|
+
*/
|
|
622
|
+
ariaLabel?: string;
|
|
623
|
+
/**
|
|
624
|
+
* HTML ID for the `HeroLink`
|
|
625
|
+
*/
|
|
626
|
+
id?: string;
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
declare const ActionTile: React$1.FC<ActionTileProps>;
|
|
630
|
+
interface ActionTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
631
|
+
/**
|
|
632
|
+
* Optional icon to display
|
|
633
|
+
*/
|
|
634
|
+
icon?: string;
|
|
635
|
+
/**
|
|
636
|
+
* Heading text (required)
|
|
637
|
+
*/
|
|
638
|
+
heading: string;
|
|
639
|
+
/**
|
|
640
|
+
* Whether the tile is in active/selected state
|
|
641
|
+
*/
|
|
642
|
+
isActive?: boolean;
|
|
643
|
+
/**
|
|
644
|
+
* Click handler
|
|
645
|
+
*/
|
|
646
|
+
onClick?: () => void;
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
declare const LinkTile: React$1.FC<LinkTileProps>;
|
|
650
|
+
interface LinkTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
651
|
+
text?: string;
|
|
652
|
+
href?: string;
|
|
653
|
+
showIcon?: boolean;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, HeroLink, Highlights, LinkTile, ProductNavigation, PromoListing, Quote, SectionHeading, Statistics, Summary };
|
|
657
|
+
export type { AccordionProps, ActionTileProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HeroLinkProps, HighlightsProps, LinkTileProps, ListProps, ProductNavigationProps, PromoListingProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps };
|
package/lib/index.d.mts
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import React$1, { ReactNode, FC } from 'react';
|
|
1
|
+
import React$1, { ReactNode, FC, Ref } from 'react';
|
|
2
2
|
import { HeadingLevel } from '@arc-ui/components/Heading';
|
|
3
|
-
import { ImageProps, ImageSourceProps } from '@arc-ui/components/
|
|
3
|
+
import { ImageProps, ImageSourceProps } from '@arc-ui/components/Image';
|
|
4
4
|
import { DisclosureProps } from '@arc-ui/components/Disclosure';
|
|
5
5
|
import { AvatarProps } from '@arc-ui/components/Avatar';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { ButtonProps } from '@arc-ui/components/dist/types/components/Button/Button';
|
|
6
|
+
import { VideoPlayerProps } from '@arc-ui/components/VideoPlayer';
|
|
7
|
+
import { ButtonProps } from '@arc-ui/components/Button';
|
|
9
8
|
import { DownloadProps } from '@arc-ui/components/Download';
|
|
10
|
-
import {
|
|
11
|
-
import { AppButtonProps } from '@arc-ui/components/dist/types/components/AppButton';
|
|
9
|
+
import { AppButtonProps } from '@arc-ui/components/AppButton';
|
|
12
10
|
import { ButtonV2Props } from '@arc-ui/components/ButtonV2';
|
|
13
11
|
import { MediaCardProps } from '@arc-ui/components/MediaCard';
|
|
14
12
|
import { ImpactCardProps } from '@arc-ui/components/ImpactCard';
|
|
15
13
|
import { InformationCardProps } from '@arc-ui/components/InformationCard';
|
|
16
14
|
import { TypographyCardProps } from '@arc-ui/components/TypographyCard';
|
|
17
|
-
import { TemplateBannerProps } from '@arc-ui/components/
|
|
18
|
-
import { TagProps } from '@arc-ui/components/
|
|
19
|
-
import { ButtonV2Props as ButtonV2Props$1 } from '@arc-ui/components/types/components/ButtonV2/ButtonV2';
|
|
15
|
+
import { TemplateBannerProps } from '@arc-ui/components/TemplateBanner';
|
|
16
|
+
import { TagProps } from '@arc-ui/components/Tag';
|
|
20
17
|
|
|
21
18
|
interface AccordionHeadingProps {
|
|
22
19
|
/**
|
|
@@ -105,7 +102,15 @@ interface CopyLeadProps {
|
|
|
105
102
|
/**
|
|
106
103
|
* Determine a heading level for `<MediaTemplate />` and `<ContentTemplate />`
|
|
107
104
|
*/
|
|
108
|
-
headingLevel?: HeadingLevel
|
|
105
|
+
headingLevel?: HeadingLevel;
|
|
106
|
+
/**
|
|
107
|
+
* id for the heading of `<MediaTemplate />` and `<ContentTemplate />`
|
|
108
|
+
*/
|
|
109
|
+
id?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Word wrap behavior for the heading
|
|
112
|
+
*/
|
|
113
|
+
isHeadingWordWrap?: boolean;
|
|
109
114
|
/**
|
|
110
115
|
* Reverse the columns so the image / video appears on the left. Doesn't affect mobile layouts, and is only applied if there is a video or an image.
|
|
111
116
|
*/
|
|
@@ -146,6 +151,10 @@ interface SectionHeadingProps {
|
|
|
146
151
|
* Determine a heading level for `SectionHeading`.
|
|
147
152
|
*/
|
|
148
153
|
headingLevel?: HeadingLevel;
|
|
154
|
+
/**
|
|
155
|
+
* Word wrap behavior for the heading
|
|
156
|
+
*/
|
|
157
|
+
isHeadingWordWrap?: boolean;
|
|
149
158
|
/**
|
|
150
159
|
* Text content for `SectionHeading`.
|
|
151
160
|
*/
|
|
@@ -200,14 +209,22 @@ interface FeaturePostProps {
|
|
|
200
209
|
* heading for `FeaturePost`.
|
|
201
210
|
*/
|
|
202
211
|
heading: string;
|
|
212
|
+
/**
|
|
213
|
+
* id for `FeaturePost`.
|
|
214
|
+
*/
|
|
215
|
+
id?: string;
|
|
203
216
|
/**
|
|
204
217
|
* Determine a heading level for `<FeaturePost />`
|
|
205
218
|
*/
|
|
206
219
|
headingLevel?: HeadingLevel;
|
|
220
|
+
/**
|
|
221
|
+
* Word wrap behavior for the heading
|
|
222
|
+
*/
|
|
223
|
+
isHeadingWordWrap?: boolean;
|
|
207
224
|
/**
|
|
208
225
|
* Text content for `FeaturePost`.
|
|
209
226
|
*/
|
|
210
|
-
content: string;
|
|
227
|
+
content: string | ReactNode;
|
|
211
228
|
/**
|
|
212
229
|
* Reverse the columns so the image / video appears on the left. Doesn't affect mobile layouts, and is only applied if there is a video or an image.
|
|
213
230
|
*/
|
|
@@ -230,12 +247,13 @@ interface FeaturePostProps {
|
|
|
230
247
|
/**
|
|
231
248
|
* Video embed. Supported platforms are YouTube and Vimeo.
|
|
232
249
|
*/
|
|
233
|
-
video?: VideoPlayerProps
|
|
250
|
+
video?: VideoPlayerProps;
|
|
234
251
|
}
|
|
235
252
|
|
|
236
253
|
interface HighlightLink {
|
|
237
254
|
url: string;
|
|
238
255
|
textLink: string;
|
|
256
|
+
ariaLabel?: string;
|
|
239
257
|
onClick?: (e: React.MouseEvent) => void;
|
|
240
258
|
}
|
|
241
259
|
|
|
@@ -271,7 +289,7 @@ interface HighlightsProps extends Omit<SectionHeadingProps, "isPadded"> {
|
|
|
271
289
|
/**
|
|
272
290
|
* CTA configuration for Highlights
|
|
273
291
|
*/
|
|
274
|
-
type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition"> & {
|
|
292
|
+
type HighlightsCTAProps = Pick<ButtonV2Props, "label" | "href" | "onClick" | "iconPosition" | "ariaLabel"> & {
|
|
275
293
|
/**
|
|
276
294
|
* Allowed button styles only.
|
|
277
295
|
* Primary is intentionally NOT supported.
|
|
@@ -317,6 +335,31 @@ interface PromoListingProps extends Omit<SectionHeadingProps, "isPadded"> {
|
|
|
317
335
|
* Number of columns for desktop breakpoints. "2" and "3" column options available.
|
|
318
336
|
*/
|
|
319
337
|
columns?: "2" | "3";
|
|
338
|
+
/**
|
|
339
|
+
* Optional button configuration displayed above the cards.
|
|
340
|
+
*/
|
|
341
|
+
button?: PromoListingButton;
|
|
342
|
+
/**
|
|
343
|
+
* Text label displayed above the main heading in overline style
|
|
344
|
+
*/
|
|
345
|
+
overlineLabel?: string;
|
|
346
|
+
/**
|
|
347
|
+
* Heading level for the overline label
|
|
348
|
+
*/
|
|
349
|
+
overlineHeadingLevel?: HeadingLevel;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Button configuration for PromoListing component.
|
|
353
|
+
*/
|
|
354
|
+
interface PromoListingButton extends Omit<ButtonV2Props, "buttonStyle" | "icon" | "size"> {
|
|
355
|
+
/**
|
|
356
|
+
* Style variant for the button. Defaults to "secondary".
|
|
357
|
+
*/
|
|
358
|
+
buttonStyle?: "secondary" | "compact";
|
|
359
|
+
/**
|
|
360
|
+
* Optional prop to pass additional props to the button. Only data-* and aria-* will work.
|
|
361
|
+
*/
|
|
362
|
+
[key: string]: unknown;
|
|
320
363
|
}
|
|
321
364
|
|
|
322
365
|
/**
|
|
@@ -404,32 +447,37 @@ interface BannerWithTabsProps extends Omit<SectionHeadingProps, "image" | "isPad
|
|
|
404
447
|
|
|
405
448
|
interface TextSection {
|
|
406
449
|
heading: string;
|
|
407
|
-
content: string;
|
|
408
|
-
headingLevel?: HeadingLevel
|
|
450
|
+
content: string | ReactNode;
|
|
451
|
+
headingLevel?: HeadingLevel;
|
|
409
452
|
}
|
|
410
453
|
|
|
411
454
|
interface Link {
|
|
412
455
|
text: string;
|
|
413
456
|
url: string;
|
|
457
|
+
ariaLabel?: string;
|
|
414
458
|
}
|
|
415
459
|
interface LinkSection {
|
|
416
460
|
heading: string;
|
|
417
461
|
links: Link[];
|
|
418
|
-
headingLevel?: HeadingLevel
|
|
462
|
+
headingLevel?: HeadingLevel;
|
|
419
463
|
}
|
|
420
464
|
|
|
421
465
|
interface Topic {
|
|
422
466
|
heading: string;
|
|
423
467
|
tags: TagProps[];
|
|
424
|
-
headingLevel?: HeadingLevel
|
|
468
|
+
headingLevel?: HeadingLevel;
|
|
425
469
|
}
|
|
426
470
|
|
|
427
471
|
interface Share {
|
|
428
472
|
heading: string;
|
|
429
473
|
articleTitle: string;
|
|
430
474
|
x?: boolean;
|
|
431
|
-
headingLevel?: HeadingLevel
|
|
475
|
+
headingLevel?: HeadingLevel;
|
|
432
476
|
linkedin?: boolean;
|
|
477
|
+
linkedInAriaLabel?: string;
|
|
478
|
+
xAriaLabel?: string;
|
|
479
|
+
clipboardAriaLabel?: string;
|
|
480
|
+
emailAriaLabel?: string;
|
|
433
481
|
}
|
|
434
482
|
|
|
435
483
|
interface SidebarAuthor extends AuthorProps {
|
|
@@ -456,7 +504,7 @@ interface ArticleSidebarProps {
|
|
|
456
504
|
/**
|
|
457
505
|
* Links that are relevant to the article.
|
|
458
506
|
*/
|
|
459
|
-
linkSection
|
|
507
|
+
linkSection?: LinkSection;
|
|
460
508
|
/**
|
|
461
509
|
* Topics rendered as tags that are relevant to the article.
|
|
462
510
|
*/
|
|
@@ -464,12 +512,10 @@ interface ArticleSidebarProps {
|
|
|
464
512
|
/**
|
|
465
513
|
* Sharing options for the article.
|
|
466
514
|
*/
|
|
467
|
-
share
|
|
515
|
+
share?: Share;
|
|
468
516
|
}
|
|
469
517
|
|
|
470
|
-
type
|
|
471
|
-
type ListInformationCardProps = Pick<InformationCardProps, "heading" | "text">;
|
|
472
|
-
type ListProps = ListInformationCardButtonProps & ListInformationCardProps;
|
|
518
|
+
type ListProps = InformationCardProps;
|
|
473
519
|
|
|
474
520
|
/**
|
|
475
521
|
* Use `ProductNavigation` to give a collection of product information cards collected within a grid that has optional show/hide capability
|
|
@@ -524,5 +570,88 @@ interface ContentInfoWidgetProps {
|
|
|
524
570
|
text: string;
|
|
525
571
|
}
|
|
526
572
|
|
|
527
|
-
|
|
528
|
-
|
|
573
|
+
type ElementUnion = HTMLButtonElement | HTMLAnchorElement;
|
|
574
|
+
type ButtonRef = Ref<ElementUnion> | null;
|
|
575
|
+
/**
|
|
576
|
+
* Pill-style HeroLink component with default and hover states
|
|
577
|
+
*/
|
|
578
|
+
declare const HeroLink: ({ label, onClick, href, id, rel, target, ariaLabel, ref, ...props }: HeroLinkProps) => JSX.Element;
|
|
579
|
+
interface LinkElementProps {
|
|
580
|
+
/**
|
|
581
|
+
* URL to link to if `HeroButton` elementType is 'a'.
|
|
582
|
+
*/
|
|
583
|
+
href?: string;
|
|
584
|
+
/**
|
|
585
|
+
* Target window for the `HeroButton` href URL.
|
|
586
|
+
*/
|
|
587
|
+
target?: string;
|
|
588
|
+
/**
|
|
589
|
+
* Relationship between the Button href URL and the current page. See
|
|
590
|
+
* [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel).
|
|
591
|
+
*/
|
|
592
|
+
rel?: string;
|
|
593
|
+
}
|
|
594
|
+
interface HeroButtonElementProps {
|
|
595
|
+
/**
|
|
596
|
+
* Default behavior of the Button element. If not provided, 'submit' will
|
|
597
|
+
* be inferred. Type 'reset' deliberately excluded.
|
|
598
|
+
*/
|
|
599
|
+
type?: "button" | "submit";
|
|
600
|
+
/**
|
|
601
|
+
* Refers to the id of a form so it can be submitted if the button exists outside of it.
|
|
602
|
+
*/
|
|
603
|
+
form?: string;
|
|
604
|
+
}
|
|
605
|
+
interface HeroLinkProps extends HeroButtonElementProps, LinkElementProps {
|
|
606
|
+
/**
|
|
607
|
+
* Label for `HeroLink`
|
|
608
|
+
*/
|
|
609
|
+
label?: string;
|
|
610
|
+
/**
|
|
611
|
+
* Optional click handler for the `HeroLink`.
|
|
612
|
+
*/
|
|
613
|
+
onClick?: () => void;
|
|
614
|
+
/**
|
|
615
|
+
* Optional property to provide component Ref
|
|
616
|
+
*/
|
|
617
|
+
ref?: ButtonRef;
|
|
618
|
+
/**
|
|
619
|
+
* Text to override `label` with additional, more precise information
|
|
620
|
+
* specifically for screen reader users.
|
|
621
|
+
*/
|
|
622
|
+
ariaLabel?: string;
|
|
623
|
+
/**
|
|
624
|
+
* HTML ID for the `HeroLink`
|
|
625
|
+
*/
|
|
626
|
+
id?: string;
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
declare const ActionTile: React$1.FC<ActionTileProps>;
|
|
630
|
+
interface ActionTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
631
|
+
/**
|
|
632
|
+
* Optional icon to display
|
|
633
|
+
*/
|
|
634
|
+
icon?: string;
|
|
635
|
+
/**
|
|
636
|
+
* Heading text (required)
|
|
637
|
+
*/
|
|
638
|
+
heading: string;
|
|
639
|
+
/**
|
|
640
|
+
* Whether the tile is in active/selected state
|
|
641
|
+
*/
|
|
642
|
+
isActive?: boolean;
|
|
643
|
+
/**
|
|
644
|
+
* Click handler
|
|
645
|
+
*/
|
|
646
|
+
onClick?: () => void;
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
declare const LinkTile: React$1.FC<LinkTileProps>;
|
|
650
|
+
interface LinkTileProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
651
|
+
text?: string;
|
|
652
|
+
href?: string;
|
|
653
|
+
showIcon?: boolean;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
export { Accordion, ActionTile, ArticleSidebar, Author, BannerWithTabs, ContentInfoWidget, CopyLead, DownloadList, FAQs, FeaturePost, HeroLink, Highlights, LinkTile, ProductNavigation, PromoListing, Quote, SectionHeading, Statistics, Summary };
|
|
657
|
+
export type { AccordionProps, ActionTileProps, ArticleSidebarProps, AuthorProps, BannerWithTabsProps, ContentInfoWidgetProps, CopyLeadProps, DownloadListProps, FAQsProps, FeaturePostProps, HeroLinkProps, HighlightsProps, LinkTileProps, ListProps, ProductNavigationProps, PromoListingProps, QuoteProps, SectionHeadingProps, StatisticsProps, SummaryProps };
|