@deriv-com/dds-marketing 0.2.0 → 1.0.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/.llm/components/accordion.md +9 -1
- package/.llm/components/accordionitem.md +9 -1
- package/.llm/components/aspectratio.md +9 -1
- package/.llm/components/badge.md +9 -1
- package/.llm/components/bottomsheet.md +9 -1
- package/.llm/components/breadcrumb.md +9 -1
- package/.llm/components/breadcrumbitem.md +9 -1
- package/.llm/components/button.md +55 -27
- package/.llm/components/buttonicon.md +16 -8
- package/.llm/components/card.md +16 -2
- package/.llm/components/cardbody.md +29 -3
- package/.llm/components/cardbutton.md +16 -2
- package/.llm/components/checkbox.md +9 -1
- package/.llm/components/ctabanner.md +186 -0
- package/.llm/components/ctabannerslider.md +204 -0
- package/.llm/components/divider.md +9 -1
- package/.llm/components/dropdownmenu.md +15 -7
- 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 +9 -1
- package/.llm/components/footer.md +9 -1
- package/.llm/components/footergroup.md +9 -1
- package/.llm/components/grid.md +9 -1
- package/.llm/components/icon.md +21 -3
- package/.llm/components/landinghero.md +254 -0
- package/.llm/components/link.md +13 -5
- package/.llm/components/logocolumns.md +235 -0
- package/.llm/components/logorows.md +212 -0
- package/.llm/components/menuitem.md +9 -1
- package/.llm/components/navbar.md +80 -16
- package/.llm/components/navbaritem.md +10 -2
- package/.llm/components/navbarmenu.md +9 -1
- package/.llm/components/navbarmenugroup.md +9 -1
- package/.llm/components/navbarpanel.md +10 -2
- package/.llm/components/navbarswitcher.md +10 -2
- package/.llm/components/navbarswitcheroption.md +9 -1
- package/.llm/components/option.md +9 -1
- package/.llm/components/pageheader.md +231 -0
- package/.llm/components/pagination.md +27 -90
- package/.llm/components/paginationdots.md +215 -0
- package/.llm/components/producthero.md +248 -0
- package/.llm/components/removablechip.md +9 -1
- package/.llm/components/row.md +9 -1
- package/.llm/components/scroller.md +9 -1
- package/.llm/components/searchinput.md +9 -1
- package/.llm/components/segmentedcontrol.md +9 -1
- package/.llm/components/segmentedcontrolitem.md +9 -1
- package/.llm/components/select.md +9 -1
- package/.llm/components/selectchip.md +57 -16
- package/.llm/components/spinner.md +9 -1
- package/.llm/components/stack.md +9 -1
- package/.llm/components/statusdot.md +9 -1
- package/.llm/components/subdomainnavbar.md +9 -1
- package/.llm/components/tab.md +11 -3
- package/.llm/components/table.md +9 -1
- package/.llm/components/tablebody.md +9 -1
- package/.llm/components/tablecell.md +9 -1
- package/.llm/components/tablehead.md +9 -1
- package/.llm/components/tableheadercell.md +9 -1
- package/.llm/components/tablerow.md +9 -1
- package/.llm/components/tablist.md +9 -1
- package/.llm/components/testimonialrow.md +235 -0
- package/.llm/components/testimonialslider.md +254 -0
- package/.llm/components/textarea.md +9 -1
- package/.llm/components/textinput.md +9 -1
- package/.llm/components/tooltip.md +9 -1
- package/.llm/components/typography.md +9 -1
- 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 +43 -9
- package/.llm/tokens.md +56 -12
- package/AGENTS.md +32 -8
- 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/link/Link.js +5 -5
- 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/Tab.types.d.ts +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
|
@@ -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
|
|
|
@@ -10,7 +10,7 @@ export interface TabOwnProps {
|
|
|
10
10
|
label: string;
|
|
11
11
|
/** The tabs are things a mark tells apart faster than a word does — a platform, a market class. Pass the glyph; the tab draws it at its own step.
|
|
12
12
|
|
|
13
|
-
Solid when the tab is current and regular otherwise, which is the package's `icon-
|
|
13
|
+
Solid when the tab is current and regular otherwise, which is the package's `icon-weight-within-a-set` rule. Nothing here can enforce it: a Quill glyph's weight is chosen at the import, so a page that wants the swap passes a different glyph per state */
|
|
14
14
|
icon?: ReactNode;
|
|
15
15
|
}
|
|
16
16
|
export type TabProps = TabOwnProps & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'className' | 'selected' | 'onSelect' | 'value' | 'label' | 'icon' | 'badge' | 'content' | 'trailingIcon'> & ({
|
|
@@ -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 {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The stops a scrolling feature section walks a reader through.
|
|
3
|
+
*
|
|
4
|
+
* Exported from the package, because a section whose content is a list is one whose consumer has
|
|
5
|
+
* to build a value before they can pass it — and building it without the type means writing the
|
|
6
|
+
* shape out a second time and finding out at the call site that the two disagree.
|
|
7
|
+
*
|
|
8
|
+
* It sits at the components root rather than inside the component, which is where every shape a
|
|
9
|
+
* consumer constructs lives here. `chart-data.ts` beside it holds Product's.
|
|
10
|
+
*
|
|
11
|
+
* A record rather than a component per stop, which is the one decision worth stating. A set that
|
|
12
|
+
* arrives as data can be mapped from a CMS, counted, reordered and filtered by the page that holds
|
|
13
|
+
* it; a set that arrives as children is written out by hand. What it costs is slots: a picture is a
|
|
14
|
+
* path here rather than an element, and the way onward is a label and a href rather than a Link the
|
|
15
|
+
* page composed. Both are the price of the list being a list.
|
|
16
|
+
*/
|
|
17
|
+
/** One stop in a FeatureScroll: what it is called, what it is, where it goes and what it shows. */
|
|
18
|
+
export interface FeatureScrollStep {
|
|
19
|
+
/**
|
|
20
|
+
* What this stop is called, in the fewest words that name it — 'Forex', 'Stock indices'.
|
|
21
|
+
*
|
|
22
|
+
* It is what a reader scans for on the way past, so a name beats a sentence. Drawn as a heading,
|
|
23
|
+
* which is what lets a screen reader move between the stops rather than scroll through them.
|
|
24
|
+
*/
|
|
25
|
+
title: string;
|
|
26
|
+
/**
|
|
27
|
+
* What this stop is, in a sentence or two.
|
|
28
|
+
*
|
|
29
|
+
* The stop is a screen tall and this is the only thing on it a reader actually reads, so it can
|
|
30
|
+
* afford to be a real sentence. Past about two hundred characters it runs longer than the
|
|
31
|
+
* picture beside it and the two halves stop lining up.
|
|
32
|
+
*/
|
|
33
|
+
description: string;
|
|
34
|
+
/**
|
|
35
|
+
* Where the way onward goes, for a stop with a page of its own.
|
|
36
|
+
*
|
|
37
|
+
* Optional, and paired with `linkLabel`: a href with no label is a link with nothing to press,
|
|
38
|
+
* and a label with no href is words that look pressable and are not. Passing one without the
|
|
39
|
+
* other draws nothing rather than drawing half of it.
|
|
40
|
+
*/
|
|
41
|
+
href?: string;
|
|
42
|
+
/**
|
|
43
|
+
* The words the way onward is under.
|
|
44
|
+
*
|
|
45
|
+
* "Learn more" is this site's wording, and using the same three words on every stop is what lets
|
|
46
|
+
* a reader stop reading them — a link that renames itself per stop is a link somebody has to
|
|
47
|
+
* read before they know it is the way onward. It is stated per stop rather than defaulted here
|
|
48
|
+
* because a component inventing copy is a component deciding something the page is responsible
|
|
49
|
+
* for.
|
|
50
|
+
*/
|
|
51
|
+
linkLabel?: string;
|
|
52
|
+
/**
|
|
53
|
+
* The picture that pins beside the words, as a path or a URL.
|
|
54
|
+
*
|
|
55
|
+
* A path rather than an element, because a list of records cannot hold one. It is held to a
|
|
56
|
+
* square and cropped to fill it, so a section of six stops is six identical frames whatever the
|
|
57
|
+
* page passes — and anything a reader has to read or press inside it is cropped with it.
|
|
58
|
+
*
|
|
59
|
+
* Decorative: it is hidden from assistive technology, because what the stop says is the title
|
|
60
|
+
* and the description, and a picture carrying something they do not is a stop that reads as half
|
|
61
|
+
* empty to anyone who cannot see it.
|
|
62
|
+
*/
|
|
63
|
+
image: string;
|
|
64
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The stops a scrolling feature section walks a reader through.
|
|
3
|
+
*
|
|
4
|
+
* Exported from the package, because a section whose content is a list is one whose consumer has
|
|
5
|
+
* to build a value before they can pass it — and building it without the type means writing the
|
|
6
|
+
* shape out a second time and finding out at the call site that the two disagree.
|
|
7
|
+
*
|
|
8
|
+
* It sits at the components root rather than inside the component, which is where every shape a
|
|
9
|
+
* consumer constructs lives here. `chart-data.ts` beside it holds Product's.
|
|
10
|
+
*
|
|
11
|
+
* A record rather than a component per stop, which is the one decision worth stating. A set that
|
|
12
|
+
* arrives as data can be mapped from a CMS, counted, reordered and filtered by the page that holds
|
|
13
|
+
* it; a set that arrives as children is written out by hand. What it costs is slots: a picture is a
|
|
14
|
+
* path here rather than an element, and the way onward is a label and a href rather than a Link the
|
|
15
|
+
* page composed. Both are the price of the list being a list.
|
|
16
|
+
*/
|
|
17
|
+
export {};
|