@deriv-com/dds-marketing 0.2.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.llm/components/accordion.md +8 -0
- package/.llm/components/accordionitem.md +8 -0
- package/.llm/components/aspectratio.md +8 -0
- package/.llm/components/badge.md +8 -0
- package/.llm/components/bottomsheet.md +8 -0
- package/.llm/components/breadcrumb.md +8 -0
- package/.llm/components/breadcrumbitem.md +8 -0
- package/.llm/components/button.md +46 -22
- package/.llm/components/buttonicon.md +14 -6
- package/.llm/components/card.md +15 -1
- package/.llm/components/cardbody.md +28 -2
- package/.llm/components/cardbutton.md +15 -1
- package/.llm/components/checkbox.md +8 -0
- package/.llm/components/ctabanner.md +186 -0
- package/.llm/components/ctabannerslider.md +204 -0
- package/.llm/components/divider.md +8 -0
- package/.llm/components/dropdownmenu.md +13 -5
- package/.llm/components/faqaccordion.md +217 -0
- package/.llm/components/featurebullets.md +254 -0
- package/.llm/components/featurecards.md +313 -0
- package/.llm/components/featurescroll.md +284 -0
- package/.llm/components/featuresplit.md +249 -0
- package/.llm/components/filterchip.md +8 -0
- package/.llm/components/footer.md +8 -0
- package/.llm/components/footergroup.md +8 -0
- package/.llm/components/grid.md +8 -0
- package/.llm/components/icon.md +8 -0
- package/.llm/components/landinghero.md +254 -0
- package/.llm/components/link.md +9 -1
- package/.llm/components/logocolumns.md +235 -0
- package/.llm/components/logorows.md +212 -0
- package/.llm/components/menuitem.md +8 -0
- package/.llm/components/navbar.md +79 -15
- package/.llm/components/navbaritem.md +9 -1
- package/.llm/components/navbarmenu.md +8 -0
- package/.llm/components/navbarmenugroup.md +8 -0
- package/.llm/components/navbarpanel.md +9 -1
- package/.llm/components/navbarswitcher.md +9 -1
- package/.llm/components/navbarswitcheroption.md +8 -0
- package/.llm/components/option.md +8 -0
- package/.llm/components/pageheader.md +231 -0
- package/.llm/components/pagination.md +26 -89
- package/.llm/components/paginationdots.md +215 -0
- package/.llm/components/producthero.md +248 -0
- package/.llm/components/removablechip.md +8 -0
- package/.llm/components/row.md +8 -0
- package/.llm/components/scroller.md +8 -0
- package/.llm/components/searchinput.md +8 -0
- package/.llm/components/segmentedcontrol.md +8 -0
- package/.llm/components/segmentedcontrolitem.md +8 -0
- package/.llm/components/select.md +8 -0
- package/.llm/components/selectchip.md +56 -15
- package/.llm/components/spinner.md +8 -0
- package/.llm/components/stack.md +8 -0
- package/.llm/components/statusdot.md +8 -0
- package/.llm/components/subdomainnavbar.md +8 -0
- package/.llm/components/tab.md +8 -0
- package/.llm/components/table.md +8 -0
- package/.llm/components/tablebody.md +8 -0
- package/.llm/components/tablecell.md +8 -0
- package/.llm/components/tablehead.md +8 -0
- package/.llm/components/tableheadercell.md +8 -0
- package/.llm/components/tablerow.md +8 -0
- package/.llm/components/tablist.md +8 -0
- package/.llm/components/testimonialrow.md +235 -0
- package/.llm/components/testimonialslider.md +254 -0
- package/.llm/components/textarea.md +8 -0
- package/.llm/components/textinput.md +8 -0
- package/.llm/components/tooltip.md +8 -0
- package/.llm/components/typography.md +8 -0
- package/.llm/digest/button.md +11 -6
- package/.llm/digest/buttonicon.md +2 -2
- package/.llm/digest/card.md +1 -0
- package/.llm/digest/cardbody.md +3 -1
- package/.llm/digest/cardbutton.md +1 -0
- package/.llm/digest/ctabanner.md +44 -0
- package/.llm/digest/ctabannerslider.md +45 -0
- package/.llm/digest/dropdownmenu.md +1 -1
- package/.llm/digest/faqaccordion.md +43 -0
- package/.llm/digest/featurebullets.md +52 -0
- package/.llm/digest/featurecards.md +49 -0
- package/.llm/digest/featurescroll.md +52 -0
- package/.llm/digest/featuresplit.md +54 -0
- package/.llm/digest/landinghero.md +53 -0
- package/.llm/digest/logocolumns.md +55 -0
- package/.llm/digest/logorows.md +48 -0
- package/.llm/digest/navbar.md +18 -3
- package/.llm/digest/pageheader.md +49 -0
- package/.llm/digest/pagination.md +6 -17
- package/.llm/digest/paginationdots.md +43 -0
- package/.llm/digest/producthero.md +53 -0
- package/.llm/digest/selectchip.md +6 -1
- package/.llm/digest/testimonialrow.md +51 -0
- package/.llm/digest/testimonialslider.md +51 -0
- package/.llm/index.md +24 -3
- package/.llm/rules.md +24 -0
- package/.llm/tokens.md +56 -12
- package/AGENTS.md +28 -3
- package/README.md +41 -21
- package/dist/components/banner-data.d.ts +38 -0
- package/dist/components/banner-data.js +15 -0
- package/dist/components/blocks/block-reveal.css +90 -0
- package/dist/components/blocks/cta-banner/CtaBanner.css +66 -0
- package/dist/components/blocks/cta-banner/CtaBanner.d.ts +22 -0
- package/dist/components/blocks/cta-banner/CtaBanner.js +31 -0
- package/dist/components/blocks/cta-banner/CtaBanner.types.d.ts +29 -0
- package/dist/components/blocks/cta-banner/CtaBanner.types.js +13 -0
- package/dist/components/blocks/cta-banner/cta-banner-impl.css +29 -0
- package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.css +90 -0
- package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.d.ts +39 -0
- package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.js +60 -0
- package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.types.d.ts +41 -0
- package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.types.js +15 -0
- package/dist/components/blocks/cta-banner-slider/cta-banner-slider-impl.css +73 -0
- package/dist/components/blocks/faq-accordion/FaqAccordion.css +54 -0
- package/dist/components/blocks/faq-accordion/FaqAccordion.d.ts +20 -0
- package/dist/components/blocks/faq-accordion/FaqAccordion.js +28 -0
- package/dist/components/blocks/faq-accordion/FaqAccordion.types.d.ts +25 -0
- package/dist/components/blocks/faq-accordion/FaqAccordion.types.js +10 -0
- package/dist/components/blocks/faq-accordion/faq-accordion-impl.css +54 -0
- package/dist/components/blocks/feature-bullets/FeatureBullets.css +139 -0
- package/dist/components/blocks/feature-bullets/FeatureBullets.d.ts +31 -0
- package/dist/components/blocks/feature-bullets/FeatureBullets.js +55 -0
- package/dist/components/blocks/feature-bullets/FeatureBullets.types.d.ts +39 -0
- package/dist/components/blocks/feature-bullets/FeatureBullets.types.js +16 -0
- package/dist/components/blocks/feature-bullets/feature-bullets-impl.css +104 -0
- package/dist/components/blocks/feature-cards/FeatureCards.css +84 -0
- package/dist/components/blocks/feature-cards/FeatureCards.d.ts +24 -0
- package/dist/components/blocks/feature-cards/FeatureCards.js +66 -0
- package/dist/components/blocks/feature-cards/FeatureCards.types.d.ts +33 -0
- package/dist/components/blocks/feature-cards/FeatureCards.types.js +14 -0
- package/dist/components/blocks/feature-cards/feature-cards-impl.css +245 -0
- package/dist/components/blocks/feature-scroll/FeatureScroll.css +137 -0
- package/dist/components/blocks/feature-scroll/FeatureScroll.d.ts +39 -0
- package/dist/components/blocks/feature-scroll/FeatureScroll.js +167 -0
- package/dist/components/blocks/feature-scroll/FeatureScroll.types.d.ts +40 -0
- package/dist/components/blocks/feature-scroll/FeatureScroll.types.js +17 -0
- package/dist/components/blocks/feature-scroll/feature-scroll-impl.css +292 -0
- package/dist/components/blocks/feature-split/FeatureSplit.css +95 -0
- package/dist/components/blocks/feature-split/FeatureSplit.d.ts +30 -0
- package/dist/components/blocks/feature-split/FeatureSplit.js +38 -0
- package/dist/components/blocks/feature-split/FeatureSplit.types.d.ts +39 -0
- package/dist/components/blocks/feature-split/FeatureSplit.types.js +14 -0
- package/dist/components/blocks/feature-split/feature-split-impl.css +83 -0
- package/dist/components/blocks/landing-hero/LandingHero.css +85 -0
- package/dist/components/blocks/landing-hero/LandingHero.d.ts +41 -0
- package/dist/components/blocks/landing-hero/LandingHero.js +54 -0
- package/dist/components/blocks/landing-hero/LandingHero.types.d.ts +37 -0
- package/dist/components/blocks/landing-hero/LandingHero.types.js +15 -0
- package/dist/components/blocks/landing-hero/landing-hero-impl.css +355 -0
- package/dist/components/blocks/logo-columns/LogoColumns.css +161 -0
- package/dist/components/blocks/logo-columns/LogoColumns.d.ts +23 -0
- package/dist/components/blocks/logo-columns/LogoColumns.js +46 -0
- package/dist/components/blocks/logo-columns/LogoColumns.types.d.ts +46 -0
- package/dist/components/blocks/logo-columns/LogoColumns.types.js +18 -0
- package/dist/components/blocks/logo-columns/logo-columns-impl.css +188 -0
- package/dist/components/blocks/logo-rows/LogoRows.css +122 -0
- package/dist/components/blocks/logo-rows/LogoRows.d.ts +20 -0
- package/dist/components/blocks/logo-rows/LogoRows.js +43 -0
- package/dist/components/blocks/logo-rows/LogoRows.types.d.ts +36 -0
- package/dist/components/blocks/logo-rows/LogoRows.types.js +16 -0
- package/dist/components/blocks/logo-rows/logo-rows-impl.css +179 -0
- package/dist/components/blocks/page-header/PageHeader.css +79 -0
- package/dist/components/blocks/page-header/PageHeader.d.ts +34 -0
- package/dist/components/blocks/page-header/PageHeader.js +43 -0
- package/dist/components/blocks/page-header/PageHeader.types.d.ts +32 -0
- package/dist/components/blocks/page-header/PageHeader.types.js +14 -0
- package/dist/components/blocks/page-header/page-header-impl.css +176 -0
- package/dist/components/blocks/product-hero/ProductHero.css +86 -0
- package/dist/components/blocks/product-hero/ProductHero.d.ts +35 -0
- package/dist/components/blocks/product-hero/ProductHero.js +48 -0
- package/dist/components/blocks/product-hero/ProductHero.types.d.ts +37 -0
- package/dist/components/blocks/product-hero/ProductHero.types.js +15 -0
- package/dist/components/blocks/product-hero/product-hero-impl.css +354 -0
- package/dist/components/blocks/testimonial-row/TestimonialRow.css +245 -0
- package/dist/components/blocks/testimonial-row/TestimonialRow.d.ts +20 -0
- package/dist/components/blocks/testimonial-row/TestimonialRow.js +128 -0
- package/dist/components/blocks/testimonial-row/TestimonialRow.types.d.ts +54 -0
- package/dist/components/blocks/testimonial-row/TestimonialRow.types.js +26 -0
- package/dist/components/blocks/testimonial-row/testimonial-row-impl.css +195 -0
- package/dist/components/blocks/testimonial-slider/TestimonialSlider.css +181 -0
- package/dist/components/blocks/testimonial-slider/TestimonialSlider.d.ts +22 -0
- package/dist/components/blocks/testimonial-slider/TestimonialSlider.js +36 -0
- package/dist/components/blocks/testimonial-slider/TestimonialSlider.types.d.ts +49 -0
- package/dist/components/blocks/testimonial-slider/TestimonialSlider.types.js +21 -0
- package/dist/components/blocks/testimonial-slider/testimonial-slider-impl.css +202 -0
- package/dist/components/blocks/use-reveal.d.ts +46 -0
- package/dist/components/blocks/use-reveal.js +120 -0
- package/dist/components/blocks/use-rotation.d.ts +62 -0
- package/dist/components/blocks/use-rotation.js +176 -0
- package/dist/components/core/accordion-item/AccordionItem.css +6 -5
- package/dist/components/core/bottom-sheet/BottomSheet.css +1 -1
- package/dist/components/core/button/Button.css +63 -16
- package/dist/components/core/button/Button.d.ts +14 -12
- package/dist/components/core/button/Button.js +43 -14
- package/dist/components/core/button/Button.types.d.ts +9 -14
- package/dist/components/core/button/button-impl.css +25 -0
- package/dist/components/core/button-icon/ButtonIcon.css +31 -15
- package/dist/components/core/button-icon/ButtonIcon.d.ts +2 -2
- package/dist/components/core/button-icon/ButtonIcon.js +2 -2
- package/dist/components/core/button-icon/ButtonIcon.types.d.ts +4 -4
- package/dist/components/core/card/Card.css +13 -4
- package/dist/components/core/card/Card.types.d.ts +2 -1
- package/dist/components/core/card-body/CardBody.css +11 -6
- package/dist/components/core/card-body/CardBody.d.ts +1 -1
- package/dist/components/core/card-body/CardBody.js +2 -2
- package/dist/components/core/card-body/CardBody.types.d.ts +4 -1
- package/dist/components/core/card-body/CardBody.types.js +1 -0
- package/dist/components/core/card-button/CardButton.css +13 -4
- package/dist/components/core/card-button/CardButton.types.d.ts +2 -1
- package/dist/components/core/checkbox/Checkbox.css +8 -1
- package/dist/components/core/dropdown-menu/DropdownMenu.css +13 -12
- package/dist/components/core/dropdown-menu/DropdownMenu.d.ts +5 -3
- package/dist/components/core/dropdown-menu/DropdownMenu.js +5 -3
- package/dist/components/core/filter-chip/FilterChip.css +2 -1
- package/dist/components/core/footer/footer-impl.css +1 -1
- package/dist/components/core/footer-group/FooterGroup.css +8 -7
- package/dist/components/core/icon/Icon.css +1 -1
- package/dist/components/core/link/Link.css +1 -1
- package/dist/components/core/menu-item/MenuItem.css +1 -1
- package/dist/components/core/navbar/Navbar.css +7 -8
- package/dist/components/core/navbar/Navbar.d.ts +17 -1
- package/dist/components/core/navbar/Navbar.js +139 -12
- package/dist/components/core/navbar/Navbar.types.d.ts +23 -4
- package/dist/components/core/navbar/Navbar.types.js +1 -1
- package/dist/components/core/navbar/navbar-impl.css +10 -3
- package/dist/components/core/navbar/navbar-material.css +96 -0
- package/dist/components/core/navbar-item/NavbarItem.css +4 -4
- package/dist/components/core/navbar-menu/NavbarMenu.css +7 -5
- package/dist/components/core/navbar-menu/NavbarMenu.d.ts +1 -0
- package/dist/components/core/navbar-menu/NavbarMenu.js +1 -0
- package/dist/components/core/navbar-menu/navbar-menu-impl.css +7 -7
- package/dist/components/core/navbar-switcher/NavbarSwitcher.css +6 -5
- package/dist/components/core/navbar-switcher/NavbarSwitcher.d.ts +1 -0
- package/dist/components/core/navbar-switcher/NavbarSwitcher.js +2 -1
- package/dist/components/core/option/Option.css +1 -1
- package/dist/components/core/pagination/Pagination.css +1 -75
- package/dist/components/core/pagination/Pagination.d.ts +4 -4
- package/dist/components/core/pagination/Pagination.js +11 -51
- package/dist/components/core/pagination/Pagination.types.d.ts +5 -17
- package/dist/components/core/pagination/Pagination.types.js +1 -3
- package/dist/components/core/pagination-dots/PaginationDots.css +60 -0
- package/dist/components/core/pagination-dots/PaginationDots.d.ts +25 -0
- package/dist/components/core/pagination-dots/PaginationDots.js +104 -0
- package/dist/components/core/pagination-dots/PaginationDots.types.d.ts +38 -0
- package/dist/components/core/pagination-dots/PaginationDots.types.js +9 -0
- package/dist/components/core/removable-chip/RemovableChip.css +3 -3
- package/dist/components/core/search-input/SearchInput.css +1 -1
- package/dist/components/core/segmented-control/SegmentedControl.css +1 -1
- package/dist/components/core/segmented-control-item/SegmentedControlItem.css +1 -1
- package/dist/components/core/select/Select.css +2 -1
- package/dist/components/core/select-chip/SelectChip.css +14 -7
- package/dist/components/core/select-chip/SelectChip.d.ts +1 -1
- package/dist/components/core/select-chip/SelectChip.js +7 -4
- package/dist/components/core/select-chip/SelectChip.types.d.ts +7 -1
- package/dist/components/core/select-chip/SelectChip.types.js +1 -1
- package/dist/components/core/select-chip/select-chip-impl.css +14 -3
- package/dist/components/core/status-dot/StatusDot.css +1 -1
- package/dist/components/core/subdomain-navbar/SubdomainNavbar.css +3 -3
- package/dist/components/core/tab/Tab.css +1 -1
- package/dist/components/core/tab-list/TabList.css +1 -1
- package/dist/components/core/table/table-impl.css +36 -14
- package/dist/components/core/table-header-cell/TableHeaderCell.css +5 -5
- package/dist/components/core/text-area/TextArea.css +1 -1
- package/dist/components/core/text-input/TextInput.css +1 -1
- package/dist/components/core/tooltip/Tooltip.css +1 -1
- package/dist/components/core/typography/Typography.css +5 -5
- package/dist/components/index.d.ts +35 -0
- package/dist/components/index.js +30 -0
- package/dist/components/logo-data.d.ts +24 -0
- package/dist/components/logo-data.js +11 -0
- package/dist/components/scroll-data.d.ts +64 -0
- package/dist/components/scroll-data.js +17 -0
- package/dist/components/testimonial-row-data.d.ts +51 -0
- package/dist/components/testimonial-row-data.js +11 -0
- package/dist/components/testimonial-slider-data.d.ts +26 -0
- package/dist/components/testimonial-slider-data.js +10 -0
- package/dist/marketing.css +385 -14
- package/package.json +1 -6
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export interface PaginationDotsOwnProps {
|
|
2
|
+
/**
|
|
3
|
+
* `default` — The marks take the ink of whatever the row stands on — white on a coral or dark band, near-black on the page — so the row belongs to its ground. The usual choice, and the only one on a band.
|
|
4
|
+
* `accent` — On the bare page, where the row should carry the brand: the marks are color.fg.brand-accent, the current pill solid coral and the rest the same coral held back. The solid pill clears 3:1 against the page at 3.11:1, just; the resting marks do not, as at the default — so only on the page's own ground, where nothing takes the coral lower.
|
|
5
|
+
*/
|
|
6
|
+
variant?: 'default' | 'accent';
|
|
7
|
+
/** Which position the reader is on, counted from 1. The consumer holds it, because the slide or step in view is theirs too and the two are one fact. */
|
|
8
|
+
page?: number;
|
|
9
|
+
/** How many positions there are, which is how many marks the row draws. */
|
|
10
|
+
totalPages?: number;
|
|
11
|
+
/** Whenever the marks should move anything — called with the position pressed. The row does not move itself; the consumer sets page from it. */
|
|
12
|
+
onPageChange?: (page: number) => void;
|
|
13
|
+
/** The sequence should move on its own — a slider of promotions, a hero that rotates. The row advances page through onPageChange every motion.duration.dwell, wrapping from the last position to the first. It holds while `paused` is set, never moves for a reader who asked for less motion, and stops for good once the reader presses a mark. That last is the WAI carousel pattern's rule that a reader who has chosen a position is reading, not watching. That gives a reader a way to stop the rotation, which WCAG 2.2.2 asks for, but not a visible one: nothing says a press will stop it, so a page that needs 2.2.2 met plainly should still offer its own pause, or leave autoplay off. */
|
|
14
|
+
autoplay?: boolean;
|
|
15
|
+
/** Whatever holds the row wants the rotation held for now — while the pointer is over the slide or focus is inside it, so a reader is never moved on mid-sentence. It lets go when this goes false. */
|
|
16
|
+
paused?: boolean;
|
|
17
|
+
/** The name the row is announced by, as a group. Name what the positions are: 'Slides', 'Steps'. Translate it with the page. */
|
|
18
|
+
label?: string;
|
|
19
|
+
/** The word each mark is named by, before its number — 'Slide 2'. Translate it with the page; a language that puts the number first is the reason a sentence template would be better, and the reason this is not yet one. */
|
|
20
|
+
itemLabel?: string;
|
|
21
|
+
}
|
|
22
|
+
export type PaginationDotsProps = PaginationDotsOwnProps;
|
|
23
|
+
/** The class each part carries. Apply these — do not retype them. */
|
|
24
|
+
export declare const paginationDotsParts: {
|
|
25
|
+
readonly root: "dds-paginationdots";
|
|
26
|
+
readonly dot: "dds-paginationdots__dot";
|
|
27
|
+
readonly mark: "dds-paginationdots__mark";
|
|
28
|
+
};
|
|
29
|
+
/** Generated so defaults cannot drift from the contract. */
|
|
30
|
+
export declare const paginationDotsDefaults: {
|
|
31
|
+
readonly variant: "default";
|
|
32
|
+
readonly page: 1;
|
|
33
|
+
readonly totalPages: 1;
|
|
34
|
+
readonly autoplay: false;
|
|
35
|
+
readonly paused: false;
|
|
36
|
+
readonly label: "Slides";
|
|
37
|
+
readonly itemLabel: "Slide";
|
|
38
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// GENERATED from pagination-dots.contract.json. Do not edit.
|
|
2
|
+
/** The class each part carries. Apply these — do not retype them. */
|
|
3
|
+
export const paginationDotsParts = {
|
|
4
|
+
root: 'dds-paginationdots',
|
|
5
|
+
dot: 'dds-paginationdots__dot',
|
|
6
|
+
mark: 'dds-paginationdots__mark',
|
|
7
|
+
};
|
|
8
|
+
/** Generated so defaults cannot drift from the contract. */
|
|
9
|
+
export const paginationDotsDefaults = { variant: 'default', page: 1, totalPages: 1, autoplay: false, paused: false, label: 'Slides', itemLabel: 'Slide' };
|
|
@@ -56,11 +56,11 @@
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
:where([data-dds-context="marketing"]) .dds-removablechip .dds-removablechip__remove:hover:where(:not(:disabled)) {
|
|
59
|
-
background-color: var(--color-bg-hover-
|
|
59
|
+
background-color: var(--color-bg-hover-on-brand-strong);
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
:where([data-dds-context="marketing"]) .dds-removablechip .dds-removablechip__remove:active {
|
|
63
|
-
background-color: var(--color-bg-active-
|
|
63
|
+
background-color: var(--color-bg-active-on-brand-strong);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
:where([data-dds-context="marketing"]) .dds-removablechip .dds-removablechip__remove:focus-visible {
|
|
@@ -120,6 +120,6 @@
|
|
|
120
120
|
|
|
121
121
|
@media (prefers-reduced-motion: reduce) {
|
|
122
122
|
:where([data-dds-context="marketing"]) .dds-removablechip,
|
|
123
|
-
:where([data-dds-context="marketing"]) .dds-removablechip * { transition: none; }
|
|
123
|
+
:where([data-dds-context="marketing"]) .dds-removablechip * { transition: none !important; }
|
|
124
124
|
}
|
|
125
125
|
|
|
@@ -200,6 +200,6 @@
|
|
|
200
200
|
|
|
201
201
|
@media (prefers-reduced-motion: reduce) {
|
|
202
202
|
:where([data-dds-context="marketing"]) .dds-searchinput,
|
|
203
|
-
:where([data-dds-context="marketing"]) .dds-searchinput * { transition: none; }
|
|
203
|
+
:where([data-dds-context="marketing"]) .dds-searchinput * { transition: none !important; }
|
|
204
204
|
}
|
|
205
205
|
|
|
@@ -52,6 +52,6 @@
|
|
|
52
52
|
|
|
53
53
|
@media (prefers-reduced-motion: reduce) {
|
|
54
54
|
:where([data-dds-context="marketing"]) .dds-segmentedcontrol,
|
|
55
|
-
:where([data-dds-context="marketing"]) .dds-segmentedcontrol * { transition: none; }
|
|
55
|
+
:where([data-dds-context="marketing"]) .dds-segmentedcontrol * { transition: none !important; }
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -146,6 +146,6 @@
|
|
|
146
146
|
|
|
147
147
|
@media (prefers-reduced-motion: reduce) {
|
|
148
148
|
:where([data-dds-context="marketing"]) .dds-segmentedcontrolitem,
|
|
149
|
-
:where([data-dds-context="marketing"]) .dds-segmentedcontrolitem * { transition: none; }
|
|
149
|
+
:where([data-dds-context="marketing"]) .dds-segmentedcontrolitem * { transition: none !important; }
|
|
150
150
|
}
|
|
151
151
|
|
|
@@ -99,6 +99,7 @@
|
|
|
99
99
|
align-items: center;
|
|
100
100
|
display: flex;
|
|
101
101
|
flex: none;
|
|
102
|
+
transition-property: rotate;
|
|
102
103
|
color: var(--color-fg-muted);
|
|
103
104
|
transition-duration: var(--motion-duration-fast);
|
|
104
105
|
transition-timing-function: var(--motion-easing-standard);
|
|
@@ -395,6 +396,6 @@
|
|
|
395
396
|
|
|
396
397
|
@media (prefers-reduced-motion: reduce) {
|
|
397
398
|
:where([data-dds-context="marketing"]) .dds-select,
|
|
398
|
-
:where([data-dds-context="marketing"]) .dds-select * { transition: none; }
|
|
399
|
+
:where([data-dds-context="marketing"]) .dds-select * { transition: none !important; }
|
|
399
400
|
}
|
|
400
401
|
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
|
|
47
47
|
:where([data-dds-context="marketing"]) .dds-selectchip .dds-selectchip__chevron {
|
|
48
48
|
flex: none;
|
|
49
|
+
transition-property: rotate;
|
|
49
50
|
transition-duration: var(--motion-duration-fast);
|
|
50
51
|
transition-timing-function: var(--motion-easing-standard);
|
|
51
52
|
}
|
|
@@ -94,12 +95,6 @@
|
|
|
94
95
|
outline-width: var(--border-width-focus);
|
|
95
96
|
}
|
|
96
97
|
|
|
97
|
-
:where([data-dds-context="marketing"]) .dds-selectchip .dds-selectchip__trigger[data-chosen="true"] {
|
|
98
|
-
background-color: var(--color-bg-strong);
|
|
99
|
-
border-color: var(--color-bg-strong);
|
|
100
|
-
color: var(--color-fg-on-strong);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
98
|
:where([data-dds-context="marketing"]) .dds-selectchip[data-disabled="true"] {
|
|
104
99
|
opacity: var(--opacity-disabled);
|
|
105
100
|
}
|
|
@@ -148,8 +143,20 @@
|
|
|
148
143
|
line-height: var(--font-label-sm-line-height);
|
|
149
144
|
}
|
|
150
145
|
|
|
146
|
+
:where([data-dds-context="marketing"]) .dds-selectchip[data-emphasis="highlight"] .dds-selectchip__trigger[data-chosen="true"] {
|
|
147
|
+
background-color: var(--color-bg-strong);
|
|
148
|
+
border-color: var(--color-bg-strong);
|
|
149
|
+
color: var(--color-fg-on-strong);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
:where([data-dds-context="marketing"]) .dds-selectchip[data-emphasis="quiet"] .dds-selectchip__trigger[data-chosen="true"] {
|
|
153
|
+
background-color: var(--color-bg-surface-raised);
|
|
154
|
+
border-color: var(--color-border-default);
|
|
155
|
+
color: var(--color-fg-default);
|
|
156
|
+
}
|
|
157
|
+
|
|
151
158
|
@media (prefers-reduced-motion: reduce) {
|
|
152
159
|
:where([data-dds-context="marketing"]) .dds-selectchip,
|
|
153
|
-
:where([data-dds-context="marketing"]) .dds-selectchip * { transition: none; }
|
|
160
|
+
:where([data-dds-context="marketing"]) .dds-selectchip * { transition: none !important; }
|
|
154
161
|
}
|
|
155
162
|
|
|
@@ -17,4 +17,4 @@ export type { SelectChipProps };
|
|
|
17
17
|
* not a tab stop, and a list of twenty would otherwise be twenty presses on the way to
|
|
18
18
|
* whatever follows the row.
|
|
19
19
|
*/
|
|
20
|
-
export declare function SelectChip({ size, disabled, alignment, label, value, defaultValue, onChange, open, defaultOpen, onOpenChange, leadingIcon, children, ...rest }: SelectChipProps): import("react").JSX.Element;
|
|
20
|
+
export declare function SelectChip({ size, disabled, alignment, emphasis, label, value, defaultValue, onChange, open, defaultOpen, onOpenChange, leadingIcon, children, ...rest }: SelectChipProps): import("react").JSX.Element;
|
|
@@ -68,7 +68,7 @@ const TYPING_WINDOW = 500;
|
|
|
68
68
|
* not a tab stop, and a list of twenty would otherwise be twenty presses on the way to
|
|
69
69
|
* whatever follows the row.
|
|
70
70
|
*/
|
|
71
|
-
export function SelectChip({ size = selectChipDefaults.size, disabled = selectChipDefaults.disabled, alignment = selectChipDefaults.alignment, label, value, defaultValue, onChange, open, defaultOpen, onOpenChange, leadingIcon, children, ...rest }) {
|
|
71
|
+
export function SelectChip({ size = selectChipDefaults.size, disabled = selectChipDefaults.disabled, alignment = selectChipDefaults.alignment, emphasis = selectChipDefaults.emphasis, label, value, defaultValue, onChange, open, defaultOpen, onOpenChange, leadingIcon, children, ...rest }) {
|
|
72
72
|
const options = optionsOf(children);
|
|
73
73
|
const rootId = useId();
|
|
74
74
|
const listId = `${rootId}-list`;
|
|
@@ -250,9 +250,12 @@ export function SelectChip({ size = selectChipDefaults.size, disabled = selectCh
|
|
|
250
250
|
const taken = options[indexOf(chosen)];
|
|
251
251
|
// The chip carries the answer once there is one, and the name of the narrowing until
|
|
252
252
|
// then — which is what makes a row of these read as a list of decisions rather than a
|
|
253
|
-
// list of filters.
|
|
254
|
-
|
|
255
|
-
|
|
253
|
+
// list of filters. A quiet chip keeps the name in front of the answer: it has no fill
|
|
254
|
+
// to say a narrowing is on, so the words carry both, as one thing to read — "Sort:
|
|
255
|
+
// Most read".
|
|
256
|
+
const answer = taken === undefined ? undefined : words(taken.props.children);
|
|
257
|
+
const shown = answer === undefined ? label : emphasis === 'quiet' ? `${label}: ${answer}` : answer;
|
|
258
|
+
return (_jsxs("div", { className: selectChipParts.root, ...rest, ref: root, "data-size": size, "data-alignment": alignment, "data-emphasis": emphasis, "data-disabled": String(disabled), children: [_jsxs("button", { type: "button", className: selectChipParts.trigger,
|
|
256
259
|
// The platform's own, which is the whole of the behaviour: a disabled button
|
|
257
260
|
// takes no click, answers no key, and is not a tab stop — so there is nothing
|
|
258
261
|
// here to gate by hand.
|
|
@@ -10,7 +10,12 @@ export interface SelectChipOwnProps {
|
|
|
10
10
|
* `end` — Its trailing edge lines up instead, for a chip near the end of a row where a list opening the other way would run off the screen
|
|
11
11
|
*/
|
|
12
12
|
alignment?: 'start' | 'end';
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* `highlight` — A filter. Choosing an answer hides part of the list, like a category, a topic or a product line. The chip fills to show a filter is on
|
|
15
|
+
* `quiet` — A setting that only changes how the page is shown, like a sort order, a language or a layout. Nothing is hidden, so the chip stays plain and reads "Label: Value". Always give it a starting value with value or defaultValue
|
|
16
|
+
*/
|
|
17
|
+
emphasis?: 'highlight' | 'quiet';
|
|
18
|
+
/** Always, and required on that account — it names what is being chosen, and it is what the chip shows until something has been, and what a quiet chip goes on showing ahead of the answer. Short enough to read at a glance in a row of other chips */
|
|
14
19
|
label: string;
|
|
15
20
|
/** The page owns the answer — it arrives from a URL, is shared with something else on screen, or has to survive the chip unmounting. Passed, this is the answer, and onChange is the only way it moves */
|
|
16
21
|
value?: string;
|
|
@@ -48,6 +53,7 @@ export declare const selectChipDefaults: {
|
|
|
48
53
|
readonly disabled: false;
|
|
49
54
|
readonly size: "sm";
|
|
50
55
|
readonly alignment: "start";
|
|
56
|
+
readonly emphasis: "highlight";
|
|
51
57
|
};
|
|
52
58
|
/** The step this component draws a glyph slot at. Generated — do not retype. */
|
|
53
59
|
export declare const selectChipGlyphStep: {
|
|
@@ -9,6 +9,6 @@ export const selectChipParts = {
|
|
|
9
9
|
listbox: 'dds-selectchip__listbox',
|
|
10
10
|
};
|
|
11
11
|
/** Generated so defaults cannot drift from the contract. */
|
|
12
|
-
export const selectChipDefaults = { disabled: false, size: 'sm', alignment: 'start' };
|
|
12
|
+
export const selectChipDefaults = { disabled: false, size: 'sm', alignment: 'start', emphasis: 'highlight' };
|
|
13
13
|
/** The step this component draws a glyph slot at. Generated — do not retype. */
|
|
14
14
|
export const selectChipGlyphStep = { sm: 'xs', md: 'sm' };
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
/* The chosen chip's own hover, which would otherwise fall back to the unchosen one and wash the
|
|
23
23
|
fill in the wrong direction — a black alpha over a ground that is already near-black shows
|
|
24
24
|
nothing at all. This is the case color.bg.hover-inverse exists for. */
|
|
25
|
-
:where([data-dds-context="marketing"]) .dds-selectchip .dds-selectchip__trigger[data-chosen="true"]:hover {
|
|
25
|
+
:where([data-dds-context="marketing"]) .dds-selectchip[data-emphasis="highlight"] .dds-selectchip__trigger[data-chosen="true"]:hover {
|
|
26
26
|
background-image: linear-gradient(
|
|
27
27
|
var(--color-bg-hover-inverse),
|
|
28
28
|
var(--color-bg-hover-inverse)
|
|
@@ -32,7 +32,18 @@
|
|
|
32
32
|
/* An open chip borrows the heavier edge, but only while nothing is chosen. Said of both, it would
|
|
33
33
|
be a second rule as specific as the one it argues with, and the cascade would settle it by
|
|
34
34
|
source order — so the exclusion is written rather than left to whichever sorted last. A chosen
|
|
35
|
-
chip already carries a painted edge, so there is nothing for opening to add
|
|
36
|
-
|
|
35
|
+
chip already carries a painted edge, so there is nothing for opening to add — unless it is
|
|
36
|
+
quiet, which never takes that edge, and so borrows this one whether or not anything is chosen. */
|
|
37
|
+
:where([data-dds-context="marketing"]) .dds-selectchip .dds-selectchip__trigger[data-expanded="true"]:not([data-chosen="true"]),
|
|
38
|
+
:where([data-dds-context="marketing"]) .dds-selectchip[data-emphasis="quiet"] .dds-selectchip__trigger[data-expanded="true"] {
|
|
37
39
|
border-color: var(--color-border-strong);
|
|
38
40
|
}
|
|
41
|
+
|
|
42
|
+
:where([data-dds-context="marketing"]) .dds-selectchip .dds-selectchip__listbox {
|
|
43
|
+
/* Over whatever follows the chip. An absolutely positioned box already paints above the
|
|
44
|
+
in-flow content of its own stacking context, which is enough until the next thing on the
|
|
45
|
+
page is positioned too — and in a row of chips the next thing is another chip, whose
|
|
46
|
+
relative root painted over this list in source order. `layer.popup`, the role
|
|
47
|
+
DropdownMenu and NavbarMenu already read for a panel that floats over the page. */
|
|
48
|
+
z-index: var(--layer-popup);
|
|
49
|
+
}
|
|
@@ -79,11 +79,11 @@
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
:where([data-dds-context="marketing"]) .dds-subdomainnavbar[data-tone="inverse"] {
|
|
82
|
-
background-color: var(--color-bg-strong);
|
|
83
|
-
color: var(--color-fg-on-strong);
|
|
82
|
+
background-color: var(--color-bg-brand-strong);
|
|
83
|
+
color: var(--color-fg-on-brand-strong);
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
:where([data-dds-context="marketing"]) .dds-subdomainnavbar[data-tone="inverse"] .dds-subdomainnavbar__trigger:focus-visible {
|
|
87
|
-
outline-color: var(--color-border-focus-
|
|
87
|
+
outline-color: var(--color-border-focus-on-brand-strong);
|
|
88
88
|
}
|
|
89
89
|
|
|
@@ -108,6 +108,6 @@
|
|
|
108
108
|
|
|
109
109
|
@media (prefers-reduced-motion: reduce) {
|
|
110
110
|
:where([data-dds-context="marketing"]) .dds-tab,
|
|
111
|
-
:where([data-dds-context="marketing"]) .dds-tab * { transition: none; }
|
|
111
|
+
:where([data-dds-context="marketing"]) .dds-tab * { transition: none !important; }
|
|
112
112
|
}
|
|
113
113
|
|
|
@@ -35,6 +35,6 @@
|
|
|
35
35
|
|
|
36
36
|
@media (prefers-reduced-motion: reduce) {
|
|
37
37
|
:where([data-dds-context="marketing"]) .dds-tablist,
|
|
38
|
-
:where([data-dds-context="marketing"]) .dds-tablist * { transition: none; }
|
|
38
|
+
:where([data-dds-context="marketing"]) .dds-tablist * { transition: none !important; }
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -41,14 +41,20 @@
|
|
|
41
41
|
* It has to be opaque, and that is the whole difficulty. A table paints nothing: the surface
|
|
42
42
|
* belongs to whatever put it there, which is the right arrangement everywhere except here, where a
|
|
43
43
|
* cell that stays put while the rest slides under it shows the sliding through itself. So the
|
|
44
|
-
* pinned cell paints the ground its card holds
|
|
45
|
-
* put behind it.
|
|
44
|
+
* pinned cell paints the ground its card holds.
|
|
46
45
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
* for
|
|
46
|
+
* That ground is no longer one colour it can name. A raised card is see-through in dark —
|
|
47
|
+
* color.bg.surface-card-raised is white at six — so what a reader sees is the card over the band
|
|
48
|
+
* it stands on over the page. The cell rebuilds that stack: the page as an opaque floor, then the
|
|
49
|
+
* band and the card laid over it as images, the topmost listed first. It is the arrangement a
|
|
50
|
+
* raised card is documented for — on a color.bg.band-subtle band — and in light all three are
|
|
51
|
+
* opaque, so the stack is simply white. Naming color.bg.surface-raised instead, as this did,
|
|
52
|
+
* painted a solid grey the card no longer is.
|
|
53
|
+
*
|
|
54
|
+
* The row's own states go on top of the stack rather than instead of it, because both are alpha:
|
|
55
|
+
* selected is eight percent and hover four, and either painted as the cell's colour would let the
|
|
56
|
+
* scrolled columns show through the pinned one. That is the layering FilterChip uses, for the
|
|
57
|
+
* same reason.
|
|
52
58
|
*
|
|
53
59
|
* The stacking order is an integer with no unit and no token to name it — this package has one
|
|
54
60
|
* layer role and it is for popups, which this is not. One is enough: the pinned cell has to paint
|
|
@@ -58,18 +64,34 @@
|
|
|
58
64
|
position: sticky;
|
|
59
65
|
inset-inline-start: 0;
|
|
60
66
|
z-index: 1;
|
|
61
|
-
background-color: var(--color-bg-
|
|
67
|
+
background-color: var(--color-bg-page);
|
|
68
|
+
background-image:
|
|
69
|
+
linear-gradient(var(--color-bg-surface-card-raised), var(--color-bg-surface-card-raised)),
|
|
70
|
+
linear-gradient(var(--color-bg-band-subtle), var(--color-bg-band-subtle));
|
|
62
71
|
border-inline-end-width: var(--border-width-hairline);
|
|
63
72
|
}
|
|
64
73
|
|
|
65
|
-
/* The chosen row keeps its ground where it is pinned,
|
|
66
|
-
onto a cell that has scrolled content behind it. */
|
|
74
|
+
/* The chosen row keeps its ground where it is pinned, laid over the stack rather than replacing it. */
|
|
67
75
|
:where([data-dds-context="marketing"]) .dds-table[data-pin-first-column='true'] .dds-tablerow[data-selected='true'] > :first-child {
|
|
68
|
-
background-
|
|
76
|
+
background-image:
|
|
77
|
+
linear-gradient(var(--color-bg-selected), var(--color-bg-selected)),
|
|
78
|
+
linear-gradient(var(--color-bg-surface-card-raised), var(--color-bg-surface-card-raised)),
|
|
79
|
+
linear-gradient(var(--color-bg-band-subtle), var(--color-bg-band-subtle));
|
|
69
80
|
}
|
|
70
81
|
|
|
71
|
-
/* And the pointer's wash,
|
|
72
|
-
FilterChip uses, for the same reason: the token tints what it lands on rather than replacing it. */
|
|
82
|
+
/* And the pointer's wash, the same way. */
|
|
73
83
|
:where([data-dds-context="marketing"]) .dds-table[data-pin-first-column='true'] .dds-tablerow[data-hoverable='true']:hover > :first-child {
|
|
74
|
-
background-image:
|
|
84
|
+
background-image:
|
|
85
|
+
linear-gradient(var(--color-bg-hover), var(--color-bg-hover)),
|
|
86
|
+
linear-gradient(var(--color-bg-surface-card-raised), var(--color-bg-surface-card-raised)),
|
|
87
|
+
linear-gradient(var(--color-bg-band-subtle), var(--color-bg-band-subtle));
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* Both at once: the wash over the chosen ground, over the stack. */
|
|
91
|
+
:where([data-dds-context="marketing"]) .dds-table[data-pin-first-column='true'] .dds-tablerow[data-selected='true'][data-hoverable='true']:hover > :first-child {
|
|
92
|
+
background-image:
|
|
93
|
+
linear-gradient(var(--color-bg-hover), var(--color-bg-hover)),
|
|
94
|
+
linear-gradient(var(--color-bg-selected), var(--color-bg-selected)),
|
|
95
|
+
linear-gradient(var(--color-bg-surface-card-raised), var(--color-bg-surface-card-raised)),
|
|
96
|
+
linear-gradient(var(--color-bg-band-subtle), var(--color-bg-band-subtle));
|
|
75
97
|
}
|
|
@@ -49,11 +49,11 @@
|
|
|
49
49
|
|
|
50
50
|
:where([data-dds-context="marketing"]) .dds-tableheadercell[data-header-case="upper"] {
|
|
51
51
|
text-transform: uppercase;
|
|
52
|
-
font-family: var(--font-eyebrow-family);
|
|
53
|
-
font-size: var(--font-eyebrow-size);
|
|
54
|
-
font-weight: var(--font-eyebrow-weight);
|
|
55
|
-
letter-spacing: var(--font-eyebrow-letter-spacing);
|
|
56
|
-
line-height: var(--font-eyebrow-line-height);
|
|
52
|
+
font-family: var(--font-eyebrow-sm-family);
|
|
53
|
+
font-size: var(--font-eyebrow-sm-size);
|
|
54
|
+
font-weight: var(--font-eyebrow-sm-weight);
|
|
55
|
+
letter-spacing: var(--font-eyebrow-sm-letter-spacing);
|
|
56
|
+
line-height: var(--font-eyebrow-sm-line-height);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
:where([data-dds-context="marketing"]) .dds-tableheadercell[data-align="center"] .dds-tableheadercell__trigger {
|
|
@@ -320,6 +320,6 @@
|
|
|
320
320
|
|
|
321
321
|
@media (prefers-reduced-motion: reduce) {
|
|
322
322
|
:where([data-dds-context="marketing"]) .dds-textarea,
|
|
323
|
-
:where([data-dds-context="marketing"]) .dds-textarea * { transition: none; }
|
|
323
|
+
:where([data-dds-context="marketing"]) .dds-textarea * { transition: none !important; }
|
|
324
324
|
}
|
|
325
325
|
|
|
@@ -395,6 +395,6 @@
|
|
|
395
395
|
|
|
396
396
|
@media (prefers-reduced-motion: reduce) {
|
|
397
397
|
:where([data-dds-context="marketing"]) .dds-textinput,
|
|
398
|
-
:where([data-dds-context="marketing"]) .dds-textinput * { transition: none; }
|
|
398
|
+
:where([data-dds-context="marketing"]) .dds-textinput * { transition: none !important; }
|
|
399
399
|
}
|
|
400
400
|
|
|
@@ -96,6 +96,6 @@
|
|
|
96
96
|
|
|
97
97
|
@media (prefers-reduced-motion: reduce) {
|
|
98
98
|
:where([data-dds-context="marketing"]) .dds-tooltip,
|
|
99
|
-
:where([data-dds-context="marketing"]) .dds-tooltip * { transition: none; }
|
|
99
|
+
:where([data-dds-context="marketing"]) .dds-tooltip * { transition: none !important; }
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
:where([data-dds-context="marketing"]) .dds-typography[data-variant="eyebrow"] {
|
|
8
8
|
text-transform: uppercase;
|
|
9
|
-
font-family: var(--font-eyebrow-family);
|
|
10
|
-
font-size: var(--font-eyebrow-size);
|
|
11
|
-
font-weight: var(--font-eyebrow-weight);
|
|
12
|
-
letter-spacing: var(--font-eyebrow-letter-spacing);
|
|
13
|
-
line-height: var(--font-eyebrow-line-height);
|
|
9
|
+
font-family: var(--font-eyebrow-sm-family);
|
|
10
|
+
font-size: var(--font-eyebrow-sm-size);
|
|
11
|
+
font-weight: var(--font-eyebrow-sm-weight);
|
|
12
|
+
letter-spacing: var(--font-eyebrow-sm-letter-spacing);
|
|
13
|
+
line-height: var(--font-eyebrow-sm-line-height);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
:where([data-dds-context="marketing"]) .dds-typography[data-variant="figure"] {
|
|
@@ -24,10 +24,24 @@ export { CardButton, type CardButtonProps } from './core/card-button/CardButton.
|
|
|
24
24
|
export { cardButtonParts, cardButtonDefaults } from './core/card-button/CardButton.types.js';
|
|
25
25
|
export { Checkbox, type CheckboxProps } from './core/checkbox/Checkbox.js';
|
|
26
26
|
export { checkboxParts, checkboxDefaults } from './core/checkbox/Checkbox.types.js';
|
|
27
|
+
export { CtaBanner, type CtaBannerProps } from './blocks/cta-banner/CtaBanner.js';
|
|
28
|
+
export { ctaBannerParts, ctaBannerDefaults } from './blocks/cta-banner/CtaBanner.types.js';
|
|
29
|
+
export { CtaBannerSlider, type CtaBannerSliderProps } from './blocks/cta-banner-slider/CtaBannerSlider.js';
|
|
30
|
+
export { ctaBannerSliderParts, ctaBannerSliderDefaults } from './blocks/cta-banner-slider/CtaBannerSlider.types.js';
|
|
27
31
|
export { Divider, type DividerProps } from './core/divider/Divider.js';
|
|
28
32
|
export { dividerParts, dividerDefaults } from './core/divider/Divider.types.js';
|
|
29
33
|
export { DropdownMenu, type DropdownMenuProps } from './core/dropdown-menu/DropdownMenu.js';
|
|
30
34
|
export { dropdownMenuParts, dropdownMenuDefaults } from './core/dropdown-menu/DropdownMenu.types.js';
|
|
35
|
+
export { FaqAccordion, type FaqAccordionProps } from './blocks/faq-accordion/FaqAccordion.js';
|
|
36
|
+
export { faqAccordionParts, faqAccordionDefaults } from './blocks/faq-accordion/FaqAccordion.types.js';
|
|
37
|
+
export { FeatureBullets, type FeatureBulletsProps } from './blocks/feature-bullets/FeatureBullets.js';
|
|
38
|
+
export { featureBulletsParts, featureBulletsDefaults } from './blocks/feature-bullets/FeatureBullets.types.js';
|
|
39
|
+
export { FeatureCards, type FeatureCardsProps } from './blocks/feature-cards/FeatureCards.js';
|
|
40
|
+
export { featureCardsParts, featureCardsDefaults } from './blocks/feature-cards/FeatureCards.types.js';
|
|
41
|
+
export { FeatureScroll, type FeatureScrollProps } from './blocks/feature-scroll/FeatureScroll.js';
|
|
42
|
+
export { featureScrollParts, featureScrollDefaults } from './blocks/feature-scroll/FeatureScroll.types.js';
|
|
43
|
+
export { FeatureSplit, type FeatureSplitProps } from './blocks/feature-split/FeatureSplit.js';
|
|
44
|
+
export { featureSplitParts, featureSplitDefaults } from './blocks/feature-split/FeatureSplit.types.js';
|
|
31
45
|
export { FilterChip, type FilterChipProps } from './core/filter-chip/FilterChip.js';
|
|
32
46
|
export { filterChipParts, filterChipDefaults } from './core/filter-chip/FilterChip.types.js';
|
|
33
47
|
export { Footer, type FooterProps } from './core/footer/Footer.js';
|
|
@@ -38,8 +52,14 @@ export { Grid, type GridProps } from './layout/grid/Grid.js';
|
|
|
38
52
|
export { gridParts, gridDefaults } from './layout/grid/Grid.types.js';
|
|
39
53
|
export { Icon, type IconProps } from './core/icon/Icon.js';
|
|
40
54
|
export { iconParts, iconDefaults } from './core/icon/Icon.types.js';
|
|
55
|
+
export { LandingHero, type LandingHeroProps } from './blocks/landing-hero/LandingHero.js';
|
|
56
|
+
export { landingHeroParts, landingHeroDefaults } from './blocks/landing-hero/LandingHero.types.js';
|
|
41
57
|
export { Link, type LinkProps } from './core/link/Link.js';
|
|
42
58
|
export { linkParts, linkDefaults } from './core/link/Link.types.js';
|
|
59
|
+
export { LogoColumns, type LogoColumnsProps } from './blocks/logo-columns/LogoColumns.js';
|
|
60
|
+
export { logoColumnsParts, logoColumnsDefaults } from './blocks/logo-columns/LogoColumns.types.js';
|
|
61
|
+
export { LogoRows, type LogoRowsProps } from './blocks/logo-rows/LogoRows.js';
|
|
62
|
+
export { logoRowsParts, logoRowsDefaults } from './blocks/logo-rows/LogoRows.types.js';
|
|
43
63
|
export { MenuItem, type MenuItemProps } from './core/menu-item/MenuItem.js';
|
|
44
64
|
export { menuItemParts, menuItemDefaults } from './core/menu-item/MenuItem.types.js';
|
|
45
65
|
export { Navbar, type NavbarProps } from './core/navbar/Navbar.js';
|
|
@@ -59,8 +79,14 @@ export { NavbarSwitcherOption, type NavbarSwitcherOptionProps } from './core/nav
|
|
|
59
79
|
export { navbarSwitcherOptionParts, navbarSwitcherOptionDefaults } from './core/navbar-switcher-option/NavbarSwitcherOption.types.js';
|
|
60
80
|
export { Option, type OptionProps } from './core/option/Option.js';
|
|
61
81
|
export { optionParts, optionDefaults } from './core/option/Option.types.js';
|
|
82
|
+
export { PageHeader, type PageHeaderProps } from './blocks/page-header/PageHeader.js';
|
|
83
|
+
export { pageHeaderParts, pageHeaderDefaults } from './blocks/page-header/PageHeader.types.js';
|
|
62
84
|
export { Pagination, type PaginationProps } from './core/pagination/Pagination.js';
|
|
63
85
|
export { paginationParts, paginationDefaults } from './core/pagination/Pagination.types.js';
|
|
86
|
+
export { PaginationDots, type PaginationDotsProps } from './core/pagination-dots/PaginationDots.js';
|
|
87
|
+
export { paginationDotsParts, paginationDotsDefaults } from './core/pagination-dots/PaginationDots.types.js';
|
|
88
|
+
export { ProductHero, type ProductHeroProps } from './blocks/product-hero/ProductHero.js';
|
|
89
|
+
export { productHeroParts, productHeroDefaults } from './blocks/product-hero/ProductHero.types.js';
|
|
64
90
|
export { RemovableChip, type RemovableChipProps } from './core/removable-chip/RemovableChip.js';
|
|
65
91
|
export { removableChipParts, removableChipDefaults } from './core/removable-chip/RemovableChip.types.js';
|
|
66
92
|
export { Row, type RowProps } from './layout/row/Row.js';
|
|
@@ -102,6 +128,10 @@ export { TableRow, type TableRowProps } from './core/table-row/TableRow.js';
|
|
|
102
128
|
export { tableRowParts, tableRowDefaults } from './core/table-row/TableRow.types.js';
|
|
103
129
|
export { TabList, type TabListProps } from './core/tab-list/TabList.js';
|
|
104
130
|
export { tabListParts } from './core/tab-list/TabList.types.js';
|
|
131
|
+
export { TestimonialRow, type TestimonialRowProps } from './blocks/testimonial-row/TestimonialRow.js';
|
|
132
|
+
export { testimonialRowParts, testimonialRowDefaults } from './blocks/testimonial-row/TestimonialRow.types.js';
|
|
133
|
+
export { TestimonialSlider, type TestimonialSliderProps } from './blocks/testimonial-slider/TestimonialSlider.js';
|
|
134
|
+
export { testimonialSliderParts, testimonialSliderDefaults } from './blocks/testimonial-slider/TestimonialSlider.types.js';
|
|
105
135
|
export { TextArea, type TextAreaProps } from './core/text-area/TextArea.js';
|
|
106
136
|
export { textAreaParts, textAreaDefaults } from './core/text-area/TextArea.types.js';
|
|
107
137
|
export { TextInput, type TextInputProps } from './core/text-input/TextInput.js';
|
|
@@ -112,3 +142,8 @@ export { useTooltip, useTooltipDefaults, type UseTooltipOptions, type UseTooltip
|
|
|
112
142
|
export { TooltipAnchor, type TooltipAnchorProps } from './core/tooltip/TooltipAnchor.js';
|
|
113
143
|
export { Typography, type TypographyProps } from './core/typography/Typography.js';
|
|
114
144
|
export { typographyParts, typographyDefaults } from './core/typography/Typography.types.js';
|
|
145
|
+
export type { CtaBannerSlide } from './banner-data.js';
|
|
146
|
+
export type { LogoTile } from './logo-data.js';
|
|
147
|
+
export type { FeatureScrollStep } from './scroll-data.js';
|
|
148
|
+
export type { TestimonialRowReview, TestimonialRowSummary } from './testimonial-row-data.js';
|
|
149
|
+
export type { TestimonialSliderQuote } from './testimonial-slider-data.js';
|
package/dist/components/index.js
CHANGED
|
@@ -25,10 +25,24 @@ export { CardButton } from './core/card-button/CardButton.js';
|
|
|
25
25
|
export { cardButtonParts, cardButtonDefaults } from './core/card-button/CardButton.types.js';
|
|
26
26
|
export { Checkbox } from './core/checkbox/Checkbox.js';
|
|
27
27
|
export { checkboxParts, checkboxDefaults } from './core/checkbox/Checkbox.types.js';
|
|
28
|
+
export { CtaBanner } from './blocks/cta-banner/CtaBanner.js';
|
|
29
|
+
export { ctaBannerParts, ctaBannerDefaults } from './blocks/cta-banner/CtaBanner.types.js';
|
|
30
|
+
export { CtaBannerSlider } from './blocks/cta-banner-slider/CtaBannerSlider.js';
|
|
31
|
+
export { ctaBannerSliderParts, ctaBannerSliderDefaults } from './blocks/cta-banner-slider/CtaBannerSlider.types.js';
|
|
28
32
|
export { Divider } from './core/divider/Divider.js';
|
|
29
33
|
export { dividerParts, dividerDefaults } from './core/divider/Divider.types.js';
|
|
30
34
|
export { DropdownMenu } from './core/dropdown-menu/DropdownMenu.js';
|
|
31
35
|
export { dropdownMenuParts, dropdownMenuDefaults } from './core/dropdown-menu/DropdownMenu.types.js';
|
|
36
|
+
export { FaqAccordion } from './blocks/faq-accordion/FaqAccordion.js';
|
|
37
|
+
export { faqAccordionParts, faqAccordionDefaults } from './blocks/faq-accordion/FaqAccordion.types.js';
|
|
38
|
+
export { FeatureBullets } from './blocks/feature-bullets/FeatureBullets.js';
|
|
39
|
+
export { featureBulletsParts, featureBulletsDefaults } from './blocks/feature-bullets/FeatureBullets.types.js';
|
|
40
|
+
export { FeatureCards } from './blocks/feature-cards/FeatureCards.js';
|
|
41
|
+
export { featureCardsParts, featureCardsDefaults } from './blocks/feature-cards/FeatureCards.types.js';
|
|
42
|
+
export { FeatureScroll } from './blocks/feature-scroll/FeatureScroll.js';
|
|
43
|
+
export { featureScrollParts, featureScrollDefaults } from './blocks/feature-scroll/FeatureScroll.types.js';
|
|
44
|
+
export { FeatureSplit } from './blocks/feature-split/FeatureSplit.js';
|
|
45
|
+
export { featureSplitParts, featureSplitDefaults } from './blocks/feature-split/FeatureSplit.types.js';
|
|
32
46
|
export { FilterChip } from './core/filter-chip/FilterChip.js';
|
|
33
47
|
export { filterChipParts, filterChipDefaults } from './core/filter-chip/FilterChip.types.js';
|
|
34
48
|
export { Footer } from './core/footer/Footer.js';
|
|
@@ -39,8 +53,14 @@ export { Grid } from './layout/grid/Grid.js';
|
|
|
39
53
|
export { gridParts, gridDefaults } from './layout/grid/Grid.types.js';
|
|
40
54
|
export { Icon } from './core/icon/Icon.js';
|
|
41
55
|
export { iconParts, iconDefaults } from './core/icon/Icon.types.js';
|
|
56
|
+
export { LandingHero } from './blocks/landing-hero/LandingHero.js';
|
|
57
|
+
export { landingHeroParts, landingHeroDefaults } from './blocks/landing-hero/LandingHero.types.js';
|
|
42
58
|
export { Link } from './core/link/Link.js';
|
|
43
59
|
export { linkParts, linkDefaults } from './core/link/Link.types.js';
|
|
60
|
+
export { LogoColumns } from './blocks/logo-columns/LogoColumns.js';
|
|
61
|
+
export { logoColumnsParts, logoColumnsDefaults } from './blocks/logo-columns/LogoColumns.types.js';
|
|
62
|
+
export { LogoRows } from './blocks/logo-rows/LogoRows.js';
|
|
63
|
+
export { logoRowsParts, logoRowsDefaults } from './blocks/logo-rows/LogoRows.types.js';
|
|
44
64
|
export { MenuItem } from './core/menu-item/MenuItem.js';
|
|
45
65
|
export { menuItemParts, menuItemDefaults } from './core/menu-item/MenuItem.types.js';
|
|
46
66
|
export { Navbar } from './core/navbar/Navbar.js';
|
|
@@ -60,8 +80,14 @@ export { NavbarSwitcherOption } from './core/navbar-switcher-option/NavbarSwitch
|
|
|
60
80
|
export { navbarSwitcherOptionParts, navbarSwitcherOptionDefaults } from './core/navbar-switcher-option/NavbarSwitcherOption.types.js';
|
|
61
81
|
export { Option } from './core/option/Option.js';
|
|
62
82
|
export { optionParts, optionDefaults } from './core/option/Option.types.js';
|
|
83
|
+
export { PageHeader } from './blocks/page-header/PageHeader.js';
|
|
84
|
+
export { pageHeaderParts, pageHeaderDefaults } from './blocks/page-header/PageHeader.types.js';
|
|
63
85
|
export { Pagination } from './core/pagination/Pagination.js';
|
|
64
86
|
export { paginationParts, paginationDefaults } from './core/pagination/Pagination.types.js';
|
|
87
|
+
export { PaginationDots } from './core/pagination-dots/PaginationDots.js';
|
|
88
|
+
export { paginationDotsParts, paginationDotsDefaults } from './core/pagination-dots/PaginationDots.types.js';
|
|
89
|
+
export { ProductHero } from './blocks/product-hero/ProductHero.js';
|
|
90
|
+
export { productHeroParts, productHeroDefaults } from './blocks/product-hero/ProductHero.types.js';
|
|
65
91
|
export { RemovableChip } from './core/removable-chip/RemovableChip.js';
|
|
66
92
|
export { removableChipParts, removableChipDefaults } from './core/removable-chip/RemovableChip.types.js';
|
|
67
93
|
export { Row } from './layout/row/Row.js';
|
|
@@ -103,6 +129,10 @@ export { TableRow } from './core/table-row/TableRow.js';
|
|
|
103
129
|
export { tableRowParts, tableRowDefaults } from './core/table-row/TableRow.types.js';
|
|
104
130
|
export { TabList } from './core/tab-list/TabList.js';
|
|
105
131
|
export { tabListParts } from './core/tab-list/TabList.types.js';
|
|
132
|
+
export { TestimonialRow } from './blocks/testimonial-row/TestimonialRow.js';
|
|
133
|
+
export { testimonialRowParts, testimonialRowDefaults } from './blocks/testimonial-row/TestimonialRow.types.js';
|
|
134
|
+
export { TestimonialSlider } from './blocks/testimonial-slider/TestimonialSlider.js';
|
|
135
|
+
export { testimonialSliderParts, testimonialSliderDefaults } from './blocks/testimonial-slider/TestimonialSlider.types.js';
|
|
106
136
|
export { TextArea } from './core/text-area/TextArea.js';
|
|
107
137
|
export { textAreaParts, textAreaDefaults } from './core/text-area/TextArea.types.js';
|
|
108
138
|
export { TextInput } from './core/text-input/TextInput.js';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The logos a LogoColumns wall or a LogoRows section carries.
|
|
3
|
+
*
|
|
4
|
+
* Exported from the package for the reason `testimonial-row-data.ts` and `banner-data.ts` are: a
|
|
5
|
+
* block whose content is a list is one whose consumer builds a value before passing it.
|
|
6
|
+
*
|
|
7
|
+
* A record rather than a component per logo, because a logo is a picture and the name of whose it
|
|
8
|
+
* is — nothing in it is an element a page composes — and a set of them is what a partner feed or a
|
|
9
|
+
* CMS hands over.
|
|
10
|
+
*/
|
|
11
|
+
/** One logo on a LogoColumns wall or a LogoRows row: the mark, and the name it stands for. */
|
|
12
|
+
export interface LogoTile {
|
|
13
|
+
/**
|
|
14
|
+
* Whose mark it is — "Visa", "Skrill". It is the picture's alternative text, so it is what a
|
|
15
|
+
* screen reader hears for the logo, and it has to be the name rather than "logo".
|
|
16
|
+
*/
|
|
17
|
+
name: string;
|
|
18
|
+
/**
|
|
19
|
+
* The mark itself, as a path or a URL. Drawn whole inside its tile — contained, never cropped —
|
|
20
|
+
* so a wide wordmark and a square badge both show all of themselves. A mark drawn for the ground
|
|
21
|
+
* it sits on: a white wordmark for the dark band, a full-colour one for a light ground.
|
|
22
|
+
*/
|
|
23
|
+
src: string;
|
|
24
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The logos a LogoColumns wall or a LogoRows section carries.
|
|
3
|
+
*
|
|
4
|
+
* Exported from the package for the reason `testimonial-row-data.ts` and `banner-data.ts` are: a
|
|
5
|
+
* block whose content is a list is one whose consumer builds a value before passing it.
|
|
6
|
+
*
|
|
7
|
+
* A record rather than a component per logo, because a logo is a picture and the name of whose it
|
|
8
|
+
* is — nothing in it is an element a page composes — and a set of them is what a partner feed or a
|
|
9
|
+
* CMS hands over.
|
|
10
|
+
*/
|
|
11
|
+
export {};
|