@deriv-com/dds-marketing 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.llm/components/awards.md +209 -0
- package/.llm/components/background.md +89 -40
- package/.llm/components/bottomsheet.md +5 -0
- package/.llm/components/comparisoncards.md +257 -0
- package/.llm/components/comparisontable.md +231 -0
- package/.llm/components/ctabanner.md +9 -12
- package/.llm/components/ctabannerslider.md +15 -2
- package/.llm/components/datatable.md +273 -0
- package/.llm/components/downloadbanner.md +283 -0
- package/.llm/components/featurecards.md +41 -3
- package/.llm/components/featurecardscarousel.md +311 -0
- package/.llm/components/featuresplit.md +5 -0
- package/.llm/components/featurestack.md +227 -0
- package/.llm/components/illustrationcard.md +2 -2
- package/.llm/components/illustrationscene.md +6 -10
- package/.llm/components/imagebanner.md +278 -0
- package/.llm/components/navbar.md +1 -1
- package/.llm/components/navbaritem.md +4 -0
- package/.llm/components/pageheader.md +4 -3
- package/.llm/components/paginationdots.md +6 -1
- package/.llm/components/producthero.md +35 -11
- package/.llm/components/resourcebanner.md +247 -0
- package/.llm/components/scenescroll.md +222 -0
- package/.llm/components/select.md +17 -0
- package/.llm/components/stats.md +219 -0
- package/.llm/components/steps.md +286 -0
- package/.llm/components/stickycards.md +251 -0
- package/.llm/components/tableheadercell.md +19 -0
- package/.llm/components/teamgrid.md +243 -0
- package/.llm/components/testimonialrow.md +5 -0
- package/.llm/components/testimonialslider.md +14 -1
- package/.llm/components/textarea.md +13 -0
- package/.llm/components/textinput.md +13 -0
- package/.llm/components/textscroll.md +187 -0
- package/.llm/components/tiers.md +227 -0
- package/.llm/digest/awards.md +45 -0
- package/.llm/digest/background.md +11 -10
- package/.llm/digest/bottomsheet.md +2 -0
- package/.llm/digest/comparisoncards.md +51 -0
- package/.llm/digest/comparisontable.md +53 -0
- package/.llm/digest/ctabanner.md +4 -4
- package/.llm/digest/ctabannerslider.md +4 -0
- package/.llm/digest/datatable.md +65 -0
- package/.llm/digest/downloadbanner.md +65 -0
- package/.llm/digest/featurecards.md +1 -1
- package/.llm/digest/featurecardscarousel.md +54 -0
- package/.llm/digest/featuresplit.md +1 -0
- package/.llm/digest/featurestack.md +48 -0
- package/.llm/digest/illustrationscene.md +2 -3
- package/.llm/digest/imagebanner.md +64 -0
- package/.llm/digest/navbaritem.md +1 -0
- package/.llm/digest/pageheader.md +2 -1
- package/.llm/digest/paginationdots.md +3 -1
- package/.llm/digest/producthero.md +4 -2
- package/.llm/digest/resourcebanner.md +53 -0
- package/.llm/digest/scenescroll.md +49 -0
- package/.llm/digest/select.md +5 -0
- package/.llm/digest/stats.md +46 -0
- package/.llm/digest/steps.md +55 -0
- package/.llm/digest/stickycards.md +52 -0
- package/.llm/digest/tableheadercell.md +4 -0
- package/.llm/digest/teamgrid.md +53 -0
- package/.llm/digest/testimonialrow.md +2 -0
- package/.llm/digest/testimonialslider.md +4 -0
- package/.llm/digest/textarea.md +4 -0
- package/.llm/digest/textinput.md +4 -0
- package/.llm/digest/textscroll.md +43 -0
- package/.llm/digest/tiers.md +50 -0
- package/.llm/index.md +19 -3
- package/.llm/tokens.md +26 -1
- package/AGENTS.md +17 -1
- package/dist/components/awards-data.d.ts +24 -0
- package/dist/components/awards-data.js +11 -0
- package/dist/components/block-image-data.d.ts +24 -0
- package/dist/components/block-image-data.js +9 -0
- package/dist/components/blocks/awards/Awards.css +134 -0
- package/dist/components/blocks/awards/Awards.d.ts +24 -0
- package/dist/components/blocks/awards/Awards.js +114 -0
- package/dist/components/blocks/awards/Awards.types.d.ts +31 -0
- package/dist/components/blocks/awards/Awards.types.js +16 -0
- package/dist/components/blocks/awards/awards-impl.css +222 -0
- package/dist/components/blocks/cards-of.d.ts +16 -0
- package/dist/components/blocks/cards-of.js +23 -0
- package/dist/components/blocks/comparison-cards/ComparisonCards.css +195 -0
- package/dist/components/blocks/comparison-cards/ComparisonCards.d.ts +24 -0
- package/dist/components/blocks/comparison-cards/ComparisonCards.js +75 -0
- package/dist/components/blocks/comparison-cards/ComparisonCards.types.d.ts +49 -0
- package/dist/components/blocks/comparison-cards/ComparisonCards.types.js +26 -0
- package/dist/components/blocks/comparison-cards/comparison-cards-impl.css +262 -0
- package/dist/components/blocks/comparison-table/ComparisonTable.css +111 -0
- package/dist/components/blocks/comparison-table/ComparisonTable.d.ts +25 -0
- package/dist/components/blocks/comparison-table/ComparisonTable.js +100 -0
- package/dist/components/blocks/comparison-table/ComparisonTable.types.d.ts +36 -0
- package/dist/components/blocks/comparison-table/ComparisonTable.types.js +15 -0
- package/dist/components/blocks/comparison-table/comparison-table-impl.css +143 -0
- package/dist/components/blocks/cta-banner/CtaBanner.css +1 -0
- package/dist/components/blocks/cta-banner/CtaBanner.js +2 -2
- package/dist/components/blocks/cta-banner/CtaBanner.types.d.ts +4 -3
- package/dist/components/blocks/cta-banner/CtaBanner.types.js +1 -1
- package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.css +1 -0
- package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.d.ts +1 -1
- package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.js +6 -2
- package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.types.d.ts +8 -0
- package/dist/components/blocks/cta-banner-slider/CtaBannerSlider.types.js +1 -1
- package/dist/components/blocks/data-table/DataTable.css +170 -0
- package/dist/components/blocks/data-table/DataTable.d.ts +29 -0
- package/dist/components/blocks/data-table/DataTable.js +84 -0
- package/dist/components/blocks/data-table/DataTable.types.d.ts +69 -0
- package/dist/components/blocks/data-table/DataTable.types.js +19 -0
- package/dist/components/blocks/data-table/data-table-impl.css +155 -0
- package/dist/components/blocks/download-banner/DownloadBanner.css +228 -0
- package/dist/components/blocks/download-banner/DownloadBanner.d.ts +28 -0
- package/dist/components/blocks/download-banner/DownloadBanner.js +75 -0
- package/dist/components/blocks/download-banner/DownloadBanner.types.d.ts +56 -0
- package/dist/components/blocks/download-banner/DownloadBanner.types.js +23 -0
- package/dist/components/blocks/download-banner/download-banner-impl.css +216 -0
- package/dist/components/blocks/faq-accordion/FaqAccordion.css +1 -0
- package/dist/components/blocks/faq-accordion/faq-accordion-impl.css +3 -7
- package/dist/components/blocks/feature-bullets/FeatureBullets.css +1 -0
- package/dist/components/blocks/feature-bullets/feature-bullets-impl.css +14 -1
- package/dist/components/blocks/feature-cards/FeatureCards.css +1 -0
- package/dist/components/blocks/feature-cards/FeatureCards.d.ts +2 -1
- package/dist/components/blocks/feature-cards/FeatureCards.js +4 -21
- package/dist/components/blocks/feature-cards/feature-cards-impl.css +10 -9
- package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.css +115 -0
- package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.d.ts +30 -0
- package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.js +160 -0
- package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.types.d.ts +52 -0
- package/dist/components/blocks/feature-cards-carousel/FeatureCardsCarousel.types.js +17 -0
- package/dist/components/blocks/feature-cards-carousel/feature-cards-carousel-impl.css +207 -0
- package/dist/components/blocks/feature-scroll/FeatureScroll.css +1 -0
- package/dist/components/blocks/feature-split/FeatureSplit.css +1 -0
- package/dist/components/blocks/feature-split/feature-split-impl.css +14 -1
- package/dist/components/blocks/feature-stack/FeatureStack.css +86 -0
- package/dist/components/blocks/feature-stack/FeatureStack.d.ts +19 -0
- package/dist/components/blocks/feature-stack/FeatureStack.js +27 -0
- package/dist/components/blocks/feature-stack/FeatureStack.types.d.ts +34 -0
- package/dist/components/blocks/feature-stack/FeatureStack.types.js +14 -0
- package/dist/components/blocks/feature-stack/feature-stack-impl.css +87 -0
- package/dist/components/blocks/image-banner/ImageBanner.css +133 -0
- package/dist/components/blocks/image-banner/ImageBanner.d.ts +32 -0
- package/dist/components/blocks/image-banner/ImageBanner.js +41 -0
- package/dist/components/blocks/image-banner/ImageBanner.types.d.ts +54 -0
- package/dist/components/blocks/image-banner/ImageBanner.types.js +14 -0
- package/dist/components/blocks/image-banner/image-banner-impl.css +281 -0
- package/dist/components/blocks/landing-hero/LandingHero.css +1 -0
- package/dist/components/blocks/logo-columns/LogoColumns.css +1 -0
- package/dist/components/blocks/logo-rows/LogoRows.css +1 -0
- package/dist/components/blocks/page-header/PageHeader.css +1 -0
- package/dist/components/blocks/page-header/PageHeader.js +2 -2
- package/dist/components/blocks/page-header/PageHeader.types.d.ts +4 -2
- package/dist/components/blocks/page-header/PageHeader.types.js +1 -1
- package/dist/components/blocks/page-header/page-header-impl.css +5 -3
- package/dist/components/blocks/product-hero/ProductHero.css +8 -3
- package/dist/components/blocks/product-hero/ProductHero.d.ts +1 -1
- package/dist/components/blocks/product-hero/ProductHero.js +5 -2
- package/dist/components/blocks/product-hero/ProductHero.types.d.ts +5 -1
- package/dist/components/blocks/product-hero/ProductHero.types.js +1 -0
- package/dist/components/blocks/product-hero/product-hero-impl.css +43 -12
- package/dist/components/blocks/resource-banner/ResourceBanner.css +106 -0
- package/dist/components/blocks/resource-banner/ResourceBanner.d.ts +32 -0
- package/dist/components/blocks/resource-banner/ResourceBanner.js +51 -0
- package/dist/components/blocks/resource-banner/ResourceBanner.types.d.ts +44 -0
- package/dist/components/blocks/resource-banner/ResourceBanner.types.js +14 -0
- package/dist/components/blocks/resource-banner/resource-banner-impl.css +69 -0
- package/dist/components/blocks/scene-scroll/SceneScroll.css +93 -0
- package/dist/components/blocks/scene-scroll/SceneScroll.d.ts +36 -0
- package/dist/components/blocks/scene-scroll/SceneScroll.js +54 -0
- package/dist/components/blocks/scene-scroll/SceneScroll.types.d.ts +32 -0
- package/dist/components/blocks/scene-scroll/SceneScroll.types.js +15 -0
- package/dist/components/blocks/scene-scroll/scene-scroll-impl.css +275 -0
- package/dist/components/blocks/stats/Stats.css +139 -0
- package/dist/components/blocks/stats/Stats.d.ts +24 -0
- package/dist/components/blocks/stats/Stats.js +120 -0
- package/dist/components/blocks/stats/Stats.types.d.ts +36 -0
- package/dist/components/blocks/stats/Stats.types.js +19 -0
- package/dist/components/blocks/stats/stats-count.d.ts +34 -0
- package/dist/components/blocks/stats/stats-count.js +61 -0
- package/dist/components/blocks/stats/stats-impl.css +284 -0
- package/dist/components/blocks/stats/use-wheel.d.ts +37 -0
- package/dist/components/blocks/stats/use-wheel.js +126 -0
- package/dist/components/blocks/steps/Steps.css +202 -0
- package/dist/components/blocks/steps/Steps.d.ts +32 -0
- package/dist/components/blocks/steps/Steps.js +65 -0
- package/dist/components/blocks/steps/Steps.types.d.ts +48 -0
- package/dist/components/blocks/steps/Steps.types.js +21 -0
- package/dist/components/blocks/steps/steps-impl.css +216 -0
- package/dist/components/blocks/steps/use-turn.d.ts +33 -0
- package/dist/components/blocks/steps/use-turn.js +75 -0
- package/dist/components/blocks/sticky-cards/StickyCards.css +154 -0
- package/dist/components/blocks/sticky-cards/StickyCards.d.ts +35 -0
- package/dist/components/blocks/sticky-cards/StickyCards.js +153 -0
- package/dist/components/blocks/sticky-cards/StickyCards.types.d.ts +43 -0
- package/dist/components/blocks/sticky-cards/StickyCards.types.js +18 -0
- package/dist/components/blocks/sticky-cards/sticky-cards-impl.css +393 -0
- package/dist/components/blocks/team-grid/TeamGrid.css +159 -0
- package/dist/components/blocks/team-grid/TeamGrid.d.ts +28 -0
- package/dist/components/blocks/team-grid/TeamGrid.js +74 -0
- package/dist/components/blocks/team-grid/TeamGrid.types.d.ts +51 -0
- package/dist/components/blocks/team-grid/TeamGrid.types.js +20 -0
- package/dist/components/blocks/team-grid/team-grid-impl.css +129 -0
- package/dist/components/blocks/testimonial-row/TestimonialRow.css +1 -0
- package/dist/components/blocks/testimonial-row/TestimonialRow.d.ts +1 -1
- package/dist/components/blocks/testimonial-row/TestimonialRow.js +4 -3
- package/dist/components/blocks/testimonial-row/TestimonialRow.types.d.ts +3 -0
- package/dist/components/blocks/testimonial-row/TestimonialRow.types.js +1 -1
- package/dist/components/blocks/testimonial-row/testimonial-row-impl.css +8 -0
- package/dist/components/blocks/testimonial-slider/TestimonialSlider.css +1 -0
- package/dist/components/blocks/testimonial-slider/TestimonialSlider.d.ts +1 -1
- package/dist/components/blocks/testimonial-slider/TestimonialSlider.js +2 -2
- package/dist/components/blocks/testimonial-slider/TestimonialSlider.types.d.ts +8 -0
- package/dist/components/blocks/testimonial-slider/TestimonialSlider.types.js +1 -1
- package/dist/components/blocks/text-scroll/TextScroll.css +53 -0
- package/dist/components/blocks/text-scroll/TextScroll.d.ts +5 -0
- package/dist/components/blocks/text-scroll/TextScroll.js +71 -0
- package/dist/components/blocks/text-scroll/TextScroll.types.d.ts +22 -0
- package/dist/components/blocks/text-scroll/TextScroll.types.js +10 -0
- package/dist/components/blocks/text-scroll/text-scroll-impl.css +115 -0
- package/dist/components/blocks/tiers/Tiers.css +233 -0
- package/dist/components/blocks/tiers/Tiers.d.ts +32 -0
- package/dist/components/blocks/tiers/Tiers.js +68 -0
- package/dist/components/blocks/tiers/Tiers.types.d.ts +45 -0
- package/dist/components/blocks/tiers/Tiers.types.js +25 -0
- package/dist/components/blocks/tiers/tiers-impl.css +185 -0
- package/dist/components/blocks/use-rotation.d.ts +12 -2
- package/dist/components/blocks/use-rotation.js +6 -28
- package/dist/components/comparison-cards-data.d.ts +59 -0
- package/dist/components/comparison-cards-data.js +12 -0
- package/dist/components/comparison-table-data.d.ts +39 -0
- package/dist/components/comparison-table-data.js +11 -0
- package/dist/components/core/accordion-item/AccordionItem.css +1 -5
- package/dist/components/core/background/Background.css +23 -0
- package/dist/components/core/background/Background.d.ts +10 -4
- package/dist/components/core/background/Background.js +16 -7
- package/dist/components/core/background/Background.types.d.ts +11 -8
- package/dist/components/core/background/Background.types.js +3 -1
- package/dist/components/core/background/background-impl.css +334 -1
- package/dist/components/core/background/halftone.d.ts +11 -0
- package/dist/components/core/background/halftone.js +43 -3
- package/dist/components/core/background/patterns.d.ts +66 -0
- package/dist/components/core/background/patterns.js +244 -0
- package/dist/components/core/background/shader.d.ts +44 -0
- package/dist/components/core/background/shader.js +307 -0
- package/dist/components/core/background/use-shader.d.ts +11 -0
- package/dist/components/core/background/use-shader.js +25 -0
- package/dist/components/core/background/use-spotlight.d.ts +2 -1
- package/dist/components/core/background/use-spotlight.js +9 -1
- package/dist/components/core/bottom-sheet/BottomSheet.js +2 -2
- package/dist/components/core/bottom-sheet/BottomSheet.types.d.ts +3 -1
- package/dist/components/core/breadcrumb/Breadcrumb.d.ts +1 -0
- package/dist/components/core/breadcrumb/Breadcrumb.js +1 -0
- package/dist/components/core/breadcrumb/breadcrumb-impl.css +11 -0
- package/dist/components/core/button/button-impl.css +14 -1
- package/dist/components/core/illustration-card/IllustrationCard.js +1 -1
- package/dist/components/core/illustration-card/illustration-card-impl.css +20 -0
- package/dist/components/core/illustration-scene/IllustrationScene.css +4 -7
- package/dist/components/core/illustration-scene/IllustrationScene.types.d.ts +2 -3
- package/dist/components/core/illustration-scene/illustration-scene-impl.css +7 -1
- package/dist/components/core/link/Link.js +7 -3
- package/dist/components/core/link/link-impl.css +29 -2
- package/dist/components/core/navbar/Navbar.css +2 -2
- package/dist/components/core/navbar/Navbar.types.d.ts +1 -1
- package/dist/components/core/navbar-item/NavbarItem.d.ts +2 -1
- package/dist/components/core/navbar-item/NavbarItem.js +3 -10
- package/dist/components/core/navbar-item/NavbarItem.types.d.ts +4 -1
- package/dist/components/core/navbar-item/NavbarItem.types.js +1 -1
- package/dist/components/core/navbar-item/navbar-item-impl.css +10 -0
- package/dist/components/core/navbar-menu/navbar-menu-impl.css +9 -0
- package/dist/components/core/navbar-switcher/navbar-switcher-impl.css +19 -0
- package/dist/components/core/pagination/Pagination.js +1 -1
- package/dist/components/core/pagination/pagination-impl.css +9 -0
- package/dist/components/core/pagination-dots/PaginationDots.d.ts +1 -1
- package/dist/components/core/pagination-dots/PaginationDots.js +3 -3
- package/dist/components/core/pagination-dots/PaginationDots.types.d.ts +3 -1
- package/dist/components/core/segmented-control/SegmentedControl.css +4 -3
- package/dist/components/core/segmented-control/SegmentedControl.js +17 -3
- package/dist/components/core/segmented-control-item/SegmentedControlItem.css +2 -1
- package/dist/components/core/select/Select.js +3 -3
- package/dist/components/core/select/Select.types.d.ts +11 -1
- package/dist/components/core/select/Select.types.js +1 -1
- package/dist/components/core/tab-list/TabList.js +9 -1
- package/dist/components/core/table-header-cell/TableHeaderCell.d.ts +1 -1
- package/dist/components/core/table-header-cell/TableHeaderCell.js +5 -2
- package/dist/components/core/table-header-cell/TableHeaderCell.types.d.ts +7 -1
- package/dist/components/core/table-header-cell/TableHeaderCell.types.js +1 -1
- package/dist/components/core/text-area/TextArea.d.ts +1 -1
- package/dist/components/core/text-area/TextArea.js +2 -2
- package/dist/components/core/text-area/TextArea.types.d.ts +9 -1
- package/dist/components/core/text-area/TextArea.types.js +1 -1
- package/dist/components/core/text-input/TextInput.d.ts +1 -1
- package/dist/components/core/text-input/TextInput.js +2 -2
- package/dist/components/core/text-input/TextInput.types.d.ts +9 -1
- package/dist/components/core/text-input/TextInput.types.js +1 -1
- package/dist/components/data-table-data.d.ts +33 -0
- package/dist/components/data-table-data.js +12 -0
- package/dist/components/download-banner-data.d.ts +52 -0
- package/dist/components/download-banner-data.js +11 -0
- package/dist/components/index.d.ts +45 -0
- package/dist/components/index.js +32 -0
- package/dist/components/resource-banner-data.d.ts +34 -0
- package/dist/components/resource-banner-data.js +13 -0
- package/dist/components/scene-scroll-data.d.ts +24 -0
- package/dist/components/scene-scroll-data.js +9 -0
- package/dist/components/stats-data.d.ts +28 -0
- package/dist/components/stats-data.js +11 -0
- package/dist/components/steps-data.d.ts +38 -0
- package/dist/components/steps-data.js +13 -0
- package/dist/components/sticky-cards-data.d.ts +43 -0
- package/dist/components/sticky-cards-data.js +12 -0
- package/dist/components/team-grid-data.d.ts +38 -0
- package/dist/components/team-grid-data.js +11 -0
- package/dist/components/tiers-data.d.ts +47 -0
- package/dist/components/tiers-data.js +13 -0
- package/dist/marketing.css +77 -28
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Background
|
|
4
4
|
|
|
5
|
-
A ground a section or a block sits on, painted with a pattern rather than a flat fill — a halftone, an aurora, a rule grid or rings. …
|
|
5
|
+
A ground a section or a block sits on, painted with a pattern rather than a flat fill — a halftone, an aurora, a mesh, a rule grid or rings. …
|
|
6
6
|
|
|
7
7
|
`import { Background } from '@deriv-com/dds-marketing'`
|
|
8
8
|
|
|
@@ -26,16 +26,17 @@ A ground a section or a block sits on, painted with a pattern rather than a flat
|
|
|
26
26
|
|
|
27
27
|
## Props
|
|
28
28
|
|
|
29
|
-
- **tone** `enum` · default "
|
|
30
|
-
- `dark` — The
|
|
29
|
+
- **tone** `enum` · default "brand" — Which ground the dots are drawn on. It sets the flat colour under the pattern, the dots' ink — coral on the dark and light grounds, white on the coral one — and the ink of what sits on it
|
|
30
|
+
- `dark` — The band the halftone was drawn for: coral dots glowing on color.bg.brand-strong, which is dark in both modes. …
|
|
31
31
|
- `light` — Coral dots on the page's own ground, for a light page that wants one moment of brand colour without a solid coral band. …
|
|
32
|
-
- `brand` —
|
|
32
|
+
- `brand` — The default: the brand's own coral, the ground the mesh was made for and the one a call to action stands on. White dots on it for the halftone. …
|
|
33
33
|
- never: Matching the page's colour mode. Dark is dark in both modes — a band that should invert with the theme is a plain section on color.bg.page, not this
|
|
34
|
-
- **pattern** `enum` · default "halftone" — Which pattern is drawn. The halftone is the default and the one that moves most; the aurora drifts slowly; the grid and the rings are the quietest, their lines rising and spreading at a band's pace. …
|
|
35
|
-
- `halftone` — A grid of dots across the whole band that grow towards a soft glow and settle to a fine screen away from it
|
|
36
|
-
- `aurora` —
|
|
37
|
-
- `
|
|
38
|
-
- `
|
|
34
|
+
- **pattern** `enum` · default "halftone" — Which pattern is drawn. The halftone is the default and the one that moves most; the aurora drifts slowly; the mesh flows across the whole band; the grid and the rings are the quietest, their lines rising and spreading at a band's pace. …
|
|
35
|
+
- `halftone` — A grid of dots across the whole band that grow towards a soft glow and settle to a fine screen away from it, over a faint wash of their own ink. …
|
|
36
|
+
- `aurora` — Curtains of light rising from the band's foot: sheets of the brand's colour swaying and folding, with a ragged crest and fine rays running up through them — light falling through folds rather than pools of colour. …
|
|
37
|
+
- `mesh` — The whole band in the brand's reds, folded into one another like a liquid — the design system's own front page. …
|
|
38
|
+
- `grid` — Hairlines a pitch apart, size.rule-grid.pitch, rising from a soft bloom at the band's foot — the grid PageHeader paints, offered for any band, now lit: a brighter point where two lines cross, and every few lines a short dash of light running along it. …
|
|
39
|
+
- `rings` — Hairline circles spreading out from the middle of the band's foot at size.rings.pitch, out of a soft bloom there, with arcs of light travelling round each ring at its own pace and direction. …
|
|
39
40
|
- never: Choosing per breakpoint. A pattern is the band's identity; one that changed between a phone and a desk would be two bands
|
|
40
41
|
- **animated** `boolean` · default true — On by default: every pattern moves slowly at rest, whether or not anybody is pointing at it — the halftone's glow and the aurora's pools drift along the band's foot, the grid's rules rise and the rings spread outward, each over motion.duration.drift. …
|
|
41
42
|
- never: Holding still for readers who asked for less motion. Every pattern already holds still for them, whatever this says; this is the page's choice, not the reader's
|
|
@@ -45,7 +46,7 @@ A ground a section or a block sits on, painted with a pattern rather than a flat
|
|
|
45
46
|
## Inside it
|
|
46
47
|
|
|
47
48
|
- 1 component is refused inside it; the list and the reasons are in the long document.
|
|
48
|
-
- Renders
|
|
49
|
+
- Renders 5 parts: root, canvas, mesh, pool, content.
|
|
49
50
|
|
|
50
51
|
---
|
|
51
52
|
|
|
@@ -53,6 +53,8 @@ A panel that rises from the bottom edge to hold a single focused task on small s
|
|
|
53
53
|
- never: Turning the gesture off. It draws the handle and nothing more — a pull is answered on a sheet with a close button and on one with neither, the same way a press outside it is. The name says that now; it used to be `dragToDismiss`, which claimed a power over the gesture it never had. …
|
|
54
54
|
- **onOpenChange** `callback` · required — Always. The sheet does not close itself, so this is the only way out — write the first argument straight back to `open`. …
|
|
55
55
|
- never: Doing the task. This fires when the sheet is being left, including when it is being left unanswered — commit from the actions in the footer, where the reader pressed something that says what it does
|
|
56
|
+
- **closeLabel** `string` · optional — The accessible name of the close button. Without it the button is named "Close" and the title; pass it to translate that with the page
|
|
57
|
+
- never: Visible text. The button draws a glyph, and this is what a screen reader hears for it
|
|
56
58
|
|
|
57
59
|
## The type refuses
|
|
58
60
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<!-- GENERATED from comparisoncards.contract.json. Do not edit. -->
|
|
2
|
+
|
|
3
|
+
# ComparisonCards
|
|
4
|
+
|
|
5
|
+
A section that sets two to four options side by side under a heading, each a card of its own that repeats the same short rows — a label and this option's value — so a reader compares the options line by line: Spot against Futures, one account type against another. …
|
|
6
|
+
|
|
7
|
+
`import { ComparisonCards } from '@deriv-com/dds-marketing'`
|
|
8
|
+
|
|
9
|
+
## Reach for it when
|
|
10
|
+
|
|
11
|
+
- Two or three products, accounts or plans that answer the same few questions differently — what you hold, what it costs, how far you can lose — and the difference is the point of the section …
|
|
12
|
+
- A "What you can trade" band: Spot against Futures, Options against Multipliers, each with its own rows and its own risk note
|
|
13
|
+
|
|
14
|
+
## Something else, when
|
|
15
|
+
|
|
16
|
+
- Five or more options, or rows that are the same for every option and read down a column → **ComparisonTable**
|
|
17
|
+
- The options are features rather than alternatives — each a heading and a sentence, with nothing to compare row by row → **FeatureCards**
|
|
18
|
+
- One option and the list of what it includes → **FeatureBullets**
|
|
19
|
+
|
|
20
|
+
## Never
|
|
21
|
+
|
|
22
|
+
- Live prices, spreads or any figure fetched from a feed. The values are the page's copy and stand still; a value that moves belongs in a component made to show one
|
|
23
|
+
- More than four cards. A fifth is not drawn — five columns of label and value are too narrow to read, and a fifth under four is compared with nothing
|
|
24
|
+
- A disclaimer for the whole set. A footnote belongs to the card it is written on; one true of every option goes in the page's own copy under the section
|
|
25
|
+
|
|
26
|
+
## Props
|
|
27
|
+
|
|
28
|
+
- **ground** `enum` · default "page" — Which of the page's three grounds this section paints, FeatureCards' axis and its reason: the page builds its rhythm from these, and the ink follows the ground in the same value
|
|
29
|
+
- `page` — The default, and the page's own white. The standard card is the recessed surface on it, the highlighted set's light card gray.50, so both have an edge
|
|
30
|
+
- `subtle` — The grey band, the reference design's ground for this section. …
|
|
31
|
+
- `strong` — `color.bg.brand-strong`, the dark band, for a section a reader should arrive at. …
|
|
32
|
+
- never: Marking importance. Every section on a page painted a ground is a page with no emphasis left. And never the coral `color.bg.brand`, which belongs to the band that asks a reader to act
|
|
33
|
+
- **variant** `enum` · default "standard" — Whether the set is compared as equals or with one option recommended
|
|
34
|
+
- `standard` — The default: options set side by side as equals — every card Card's own `surface`, which follows the theme, the recessed grey on a light page and a dark grey in dark mode, nothing pointing at one of them. …
|
|
35
|
+
- `highlighted` — One option is the one the page recommends: the card marked `recommended` is drawn coral and lifted off the page, every other card on the light card, gray.50 in both themes, quiet beside it. …
|
|
36
|
+
- never: Recommending more than one option. The first card marked `recommended` is the one; a recommendation made twice is no recommendation
|
|
37
|
+
- **title** `string` · required — Always. What is being compared, in the fewest words that name it — "What you can trade", "Choose your account"
|
|
38
|
+
- never: A sentence, or the verdict. The line under it is for the sentence, and the cards make the case
|
|
39
|
+
- **description** `string` · optional — A line saying what the options have in common, or what the reader is choosing between, when the title alone does not
|
|
40
|
+
- never: A disclaimer. A note that belongs to one option is that card's footnote; one that is true of all of them is the page's copy, not the heading's
|
|
41
|
+
- **cards** `data` · required — Always. The options, in reading order — two to four, each with its `title`, a `description`, its `rows` and, where it has them, a `footnote` and an `action`. Every card is drawn the same card. …
|
|
42
|
+
- never: One option on its own — there is nothing for it to be compared with — or values the page cannot stand behind on the day it is read
|
|
43
|
+
|
|
44
|
+
## Inside it
|
|
45
|
+
|
|
46
|
+
- 7 components are refused inside it; the list and the reasons are in the long document.
|
|
47
|
+
- Renders 20 parts: root, inner, header, title, description, grid, item, body, intro, card-head, card-title, highlight, card-description, rows, row, row-label, row-value, footer, footnote, action.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/comparisoncards.md`.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<!-- GENERATED from comparisontable.contract.json. Do not edit. -->
|
|
2
|
+
|
|
3
|
+
# ComparisonTable
|
|
4
|
+
|
|
5
|
+
A comparison-table section for short, fixed column sets. It renders a rounded card with a light header row, horizontal dividers only, a bold first-column label, and two or three value columns. …
|
|
6
|
+
|
|
7
|
+
`import { ComparisonTable } from '@deriv-com/dds-marketing'`
|
|
8
|
+
|
|
9
|
+
## Reach for it when
|
|
10
|
+
|
|
11
|
+
- Comparing two or three options — platforms, plans, operating systems — on the same handful of features, where the reader reads across a row as often as down a column …
|
|
12
|
+
- A product page's "Web terminal, desktop or mobile": the same few features, each option's answer in a word or a short line
|
|
13
|
+
- Schedule-style rows, where a cell may hold a short list of lines — a market's trading sessions, the days a rate applies
|
|
14
|
+
|
|
15
|
+
## Something else, when
|
|
16
|
+
|
|
17
|
+
- Each option has more to say than a cell holds — a sentence of its own, a footnote, a way on → **ComparisonCards**
|
|
18
|
+
- A large dataset — many instruments, many columns — that a reader searches, sorts or pages through → **DataTable**
|
|
19
|
+
- One option and the list of what it includes → **FeatureBullets**
|
|
20
|
+
|
|
21
|
+
## Never
|
|
22
|
+
|
|
23
|
+
- More than three options. Only the first four columns are drawn — the labels and three values — because a fourth option in a card this wide is a column too narrow to read
|
|
24
|
+
- Live prices, spreads or any figure fetched from a feed. The values are the page's copy and stand still
|
|
25
|
+
- A paragraph in a cell. A cell is a word, a short line or a short list of them; anything longer belongs in a card of its own
|
|
26
|
+
- Layout. A table means the rows and columns carry meaning, and a screen reader reads it out as rows and columns
|
|
27
|
+
|
|
28
|
+
## Props
|
|
29
|
+
|
|
30
|
+
- **ground** `enum` · default "page" — Which of the page's three grounds this section paints, and with it the table's card: the page builds its rhythm from these, and the ink follows the ground in the same value
|
|
31
|
+
- `page` — The default, and the page's own white. The card is the recessed surface on it, Card's own `surface`, so it has an edge
|
|
32
|
+
- `subtle` — The grey band, the reference design's ground for this section. The card is raised to color.bg.surface-card-raised on it — white in light — because its own fill is the band's grey. …
|
|
33
|
+
- `strong` — `color.bg.brand-strong`, the dark band, for a section a reader should arrive at. …
|
|
34
|
+
- never: Marking importance. Every section on a page painted a ground is a page with no emphasis left. And never the coral `color.bg.brand`, which belongs to the band that asks a reader to act
|
|
35
|
+
- **title** `string` · required — Always. What is being compared, in the fewest words that name it — "MT5 on every device", "Web terminal or desktop app?". It names the section and the table's scroll region both
|
|
36
|
+
- never: The verdict. The table makes the case; a heading that announces a winner leaves the reader nothing to compare
|
|
37
|
+
- **description** `string` · optional — A line saying what the options have in common, or what the reader is choosing between, when the title alone does not
|
|
38
|
+
- never: A disclaimer. A note true of the whole table goes under it, in `footnote`
|
|
39
|
+
- **columns** `data` · required — Always. …
|
|
40
|
+
- never: One option on its own — there is nothing for it to be compared with — or a fourth option, which is not drawn
|
|
41
|
+
- **rows** `data` · required — Always. The rows, in reading order — each with its `label`, drawn as the row's header in the first column, and its `values` filed under the columns' keys. A value is one line, or a list of short lines that is drawn as a list. …
|
|
42
|
+
- never: Values the page cannot stand behind on the day it is read, or a row whose answers are the same for every option — a row that does not differ is not part of the comparison
|
|
43
|
+
- **footnote** `string` · optional — A note true of the whole table — where the figures come from, what an asterisk means — under the card in small type
|
|
44
|
+
- never: Anything a reader needs to make the comparison. A footnote is read last if at all; a difference that matters is a row
|
|
45
|
+
|
|
46
|
+
## Inside it
|
|
47
|
+
|
|
48
|
+
- 6 components are refused inside it; the list and the reasons are in the long document.
|
|
49
|
+
- Renders 9 parts: root, inner, header, title, description, body, row-header, cell-list, footnote.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/comparisontable.md`.
|
package/.llm/digest/ctabanner.md
CHANGED
|
@@ -33,10 +33,10 @@ A full-bleed coral band carrying one short promotion and the action it asks for
|
|
|
33
33
|
- never: A paragraph. A banner is read at a glance, on the way down a page; copy a reader has to work through is copy they scroll past
|
|
34
34
|
- **actions** `node` · optional — The one action the message asks for, or two at most. …
|
|
35
35
|
- never: A third action, or a primary Button: coral on the coral ground is a button nobody can see
|
|
36
|
-
- **background** `enum` ·
|
|
37
|
-
- `
|
|
38
|
-
- `
|
|
39
|
-
- never: More than one band on a page. The pattern is what makes a band the one a reader remembers, and two of them make neither
|
|
36
|
+
- **background** `enum` · default "grid" — Whether the band carries its grid. It does unless asked not to: the banner is the page's standout moment, and the grid is what makes it one
|
|
37
|
+
- `grid` — The default: a fine rule grid behind the band's content — light coral hairlines rising out of a deeper red at the band's foot, moving slowly at rest and brightening around the pointer. …
|
|
38
|
+
- `plain` — The flat coral and nothing on it, asked for by name: a page that already spends its one pattern on another band, or a banner set among busy content where the grid would be texture fighting texture
|
|
39
|
+
- never: More than one patterned band on a page — pass plain to the others. The pattern is what makes a band the one a reader remembers, and two of them make neither
|
|
40
40
|
|
|
41
41
|
## Inside it
|
|
42
42
|
|
|
@@ -37,6 +37,10 @@ CtaBanner's layout with a slider in it: the same full-bleed coral band, rotating
|
|
|
37
37
|
- **background** `enum` · optional — The band is the page's one standout promotion and wants more than a flat fill. Leave it out and the band is its flat coral, as it always was
|
|
38
38
|
- `grid` — A fine rule grid behind the slides: white hairlines on the coral, fading in towards the foot, brightening in a soft circle around the pointer. …
|
|
39
39
|
- never: More than one patterned band on a page. The pattern is what makes a band the one a reader remembers, and two of them make neither
|
|
40
|
+
- **roleDescription** `string` · default "carousel" — What a screen reader calls the set while it rotates — announced in place of a region, as the word for this kind of thing. …
|
|
41
|
+
- **slideRoleDescription** `string` · default "slide" — What a screen reader calls each item while the set rotates, for the reason roleDescription exists. Translate it with the page
|
|
42
|
+
- **positionLabel** `callback` · optional — The accessible name of each item while the set rotates, given its place in the set counting from one — so a reader hears where they are. …
|
|
43
|
+
- never: Visible text. It names the item to assistive technology and is never drawn
|
|
40
44
|
|
|
41
45
|
## Inside it
|
|
42
46
|
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<!-- GENERATED from datatable.contract.json. Do not edit. -->
|
|
2
|
+
|
|
3
|
+
# DataTable
|
|
4
|
+
|
|
5
|
+
A full-width data-table section for instrument and market-style listings. …
|
|
6
|
+
|
|
7
|
+
`import { DataTable } from '@deriv-com/dds-marketing'`
|
|
8
|
+
|
|
9
|
+
## Reach for it when
|
|
10
|
+
|
|
11
|
+
- Trading instruments and their specifications — contract size, minimum size, volume limits — on a market page
|
|
12
|
+
- Trading conditions a reader looks up rather than reads through: spreads, leverage, margin, swaps
|
|
13
|
+
- An MT5 or Deriv X specification page, where the set runs to dozens of rows and a reader is hunting for the one they trade
|
|
14
|
+
|
|
15
|
+
## Something else, when
|
|
16
|
+
|
|
17
|
+
- Three or four plans or accounts compared feature by feature, where every row is read rather than searched → **ComparisonTable**
|
|
18
|
+
- A handful of rows with no need to search or page — a fee schedule of four lines → **Table**
|
|
19
|
+
|
|
20
|
+
## Never
|
|
21
|
+
|
|
22
|
+
- Prices that move while the page is open. The values are written once and searched as written; a live quote here is a stale one the moment it is drawn
|
|
23
|
+
- Sorting or filtering that needs the server. The search runs over the rows the page handed in and nothing else, so a set too large to send whole is a set this cannot search
|
|
24
|
+
- A single record's fields. A row header and one value beside it is a description list wearing a table's markup
|
|
25
|
+
|
|
26
|
+
## Props
|
|
27
|
+
|
|
28
|
+
- **ground** `enum` · default "page" — Which of the page's three grounds this section paints, FaqAccordion's axis and its reason: a band that wants to be seen as a band takes one of the other two, and the page decides the rhythm. …
|
|
29
|
+
- `page` — The default, and the page's own white. The frame's rule is what sets the table off
|
|
30
|
+
- `subtle` — The grey band — the reference design's slate section. The frame lifts off it as a raised card. …
|
|
31
|
+
- `strong` — `color.bg.brand-strong`, the dark band, for a listing a reader should arrive at. The heading and the small print turn white and muted-white; the frame stays the light surface it is everywhere else
|
|
32
|
+
- never: Marking importance. Every section on a page painted a ground is a page with no emphasis left
|
|
33
|
+
- **title** `string` · required — Always. What the rows are, in the fewest words — "Forex trading conditions", "Synthetic indices". It names the section and the table both
|
|
34
|
+
- never: A sentence about the data. The line under it is the description's; what a column means is the column's name
|
|
35
|
+
- **description** `string` · optional — A line under the heading where the heading alone does not say which account or platform the conditions are for — "Conditions on Deriv MT5 Financial accounts."
|
|
36
|
+
- never: The small print. A note on how current the figures are belongs under the table, in `footnote`, where it is read after the numbers it qualifies
|
|
37
|
+
- **columns** `data` · required — Always. The columns in reading order, each a `key` the rows hold its value under and the `label` drawn over it. …
|
|
38
|
+
- never: A column only some rows have a value for. Every row answers every column, which is the promise a table makes
|
|
39
|
+
- **rows** `data` · required — Always. The records, in the order they are listed — each a value per column key, as the page would print it. Every value is searched as written. An empty list draws the empty line in place of the table
|
|
40
|
+
- never: Values the source does not show today. Spreads and swaps are claims in the company's name; keep them in step with where they come from, and say how current they are in `footnote`
|
|
41
|
+
- **pageSize** `number` · default 10 — How many rows a page holds. Ten, the reference's, unless the rows are few enough that a second page would hold two or three of them — then raise it so the set is one page and the pages are not drawn at all
|
|
42
|
+
- never: Showing everything. A page of a hundred rows is a page a reader scrolls past the search to get through; the search is how a long set is meant to be read
|
|
43
|
+
- **footnote** `string` · optional — A line of small print under the table — how current the figures are, what they are subject to. "Information is based on the most recent available trading data and may not represent today's conditions."
|
|
44
|
+
- never: A risk warning the page is obliged to show. Small print under a table is read by the few who reach it; a required warning belongs where every reader meets it
|
|
45
|
+
- **searchLabel** `string` · default "Search the table" — The search's name — SearchInput's `label`, never drawn and always announced. Say what is searched where the default is vague for the page: "Search instruments". Translate it with the page
|
|
46
|
+
- never: An example query. That is the placeholder's
|
|
47
|
+
- **searchPlaceholder** `string` · default "Search" — What the empty field shows, the reference's "Search" — or an example of a query, "EUR/USD". It disappears as the reader types and is never the field's name. Translate it with the page
|
|
48
|
+
- **clearLabel** `string` · default "Clear search" — The name of the button that empties the search, which is a cross and says nothing on its own. Translate it with the page
|
|
49
|
+
- **emptyText** `string` · default "No results match your search." — The line drawn in place of the table when nothing matches the query. Translate it with the page; say what to try where the page can — "No markets match. Try a symbol, like EURUSD."
|
|
50
|
+
- never: Explaining an empty set the page sent. A listing with no rows is a page that should not have drawn the section
|
|
51
|
+
- **resultCount** `callback` · optional — The count across from the search, given the first and last row on this page and how many matched — counting from one, and all three 0 when nothing matched. It is also what a screen reader is told, politely, as the query or the page changes. …
|
|
52
|
+
- never: Anything but the count. It is announced every time the reader types, so a sentence here is a sentence heard on every keystroke
|
|
53
|
+
- **paginationLabel** `string` · default "Table pages" — The name of the pages' navigation landmark, Pagination's `label`. Its own name rather than Pagination's default, so a reader listing landmarks can tell this table's pages from anything else on the page that is paginated. …
|
|
54
|
+
- **previousLabel** `string` · default "Previous page" — The name of the step back through the pages, which is a glyph. Translate it with the page, and keep it parallel to nextLabel
|
|
55
|
+
- **nextLabel** `string` · default "Next page" — The name of the step on through the pages, for the reason previousLabel exists
|
|
56
|
+
- **morePagesLabel** `string` · default "More pages" — The name of the break between two runs of page numbers, which opens a menu of the pages it stands for. Only drawn when the pages run long. Translate it with the page
|
|
57
|
+
|
|
58
|
+
## Inside it
|
|
59
|
+
|
|
60
|
+
- 6 components are refused inside it; the list and the reasons are in the long document.
|
|
61
|
+
- Renders 13 parts: root, inner, header, title, description, content, frame, toolbar, search, status, empty, pager, footnote.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/datatable.md`.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<!-- GENERATED from downloadbanner.contract.json. Do not edit. -->
|
|
2
|
+
|
|
3
|
+
# DownloadBanner
|
|
4
|
+
|
|
5
|
+
A section promoting the app's downloads: a card holding a heading and the stores' own badges, each a link to the product in that store. …
|
|
6
|
+
|
|
7
|
+
`import { DownloadBanner } from '@deriv-com/dds-marketing'`
|
|
8
|
+
|
|
9
|
+
## Reach for it when
|
|
10
|
+
|
|
11
|
+
- Promoting an app across the stores and platforms it ships on — App Store, Google Play, AppGallery, a desktop download, the web
|
|
12
|
+
- A trading platform's page, near its end, once the product has been explained and the next thing a reader wants is to get it
|
|
13
|
+
|
|
14
|
+
## Something else, when
|
|
15
|
+
|
|
16
|
+
- One download, or the web alone → **Button**
|
|
17
|
+
- A promotion that has to argue for the download in a headline and a sentence → **CtaBanner**
|
|
18
|
+
|
|
19
|
+
## Never
|
|
20
|
+
|
|
21
|
+
- Two download sections on one page — the second repeats the first's destinations and makes neither the place to go
|
|
22
|
+
- A badge for a platform the product does not ship on, or a QR code that reaches somewhere other than the badges do
|
|
23
|
+
|
|
24
|
+
## Props
|
|
25
|
+
|
|
26
|
+
- **ground** `enum` · default "page" — Which of the page's grounds the section paints, and with it the card's fill: the recessed surface on the page, the raised white on the grey band, and the strong card on the dark band — TestimonialRow's three and the reference design's light, light-2 and dark. …
|
|
27
|
+
- `page` — The default, and the page's own white. The card is the recessed gray that sets it off — the reference design's light-2
|
|
28
|
+
- `subtle` — The grey band, with the card white on it — the reference design's light. Painted as the band's tint laid over the page's own ground, so it is the same grey whatever is behind the section
|
|
29
|
+
- `strong` — `color.bg.brand-strong`, the dark band, with the card at color.bg.surface-card-strong and white words on it — the reference design's dark. …
|
|
30
|
+
- never: Marking importance. Every section on a page painted a ground is a page with no emphasis left
|
|
31
|
+
- **variant** `enum` · default "standard" — How much the banner asks for. The standard card sits with the page; the featured card is the page's moment for the app, and one per page
|
|
32
|
+
- `standard` — The default: the card in the ground's own fill, quiet beside the sections around it — the reference design's banner
|
|
33
|
+
- `featured` — The page promoting an app: the brand's coral card laid out as a split — the app's name, the heading, a line and the badges with the QR code beside them on one side, the app's own image on the other, rising out of the card's top edge — with a Background pattern inside it, the aurora unless `pattern` says otherwise. …
|
|
34
|
+
- never: More than one featured banner on a page, or one beside another patterned band. The pattern is what makes the band the one a reader remembers
|
|
35
|
+
- **pattern** `enum` · optional — Which pattern the featured card draws. Absent, the aurora
|
|
36
|
+
- `aurora` — Curtains of light rising from the card's foot, white and deep red on the coral, swaying slowly. The quieter of the two, and what a featured card draws when no pattern is named
|
|
37
|
+
- `mesh` — Soft pools of the brand's reds run together across the whole card — the design system's own front page. The richer of the two
|
|
38
|
+
- never: A standard card. It has no pattern to choose, and the type refuses one
|
|
39
|
+
- **media** `node` · optional — The featured card only: the app itself — a screenshot of it in a phone, the page's own image. …
|
|
40
|
+
- never: A picture that is not the app. A banner promoting an app shows the app. On a standard card it is not drawn
|
|
41
|
+
- **eyebrow** `string` · optional — The featured card only: the app's name, or what kind of app it is, small above the heading — "Deriv GO", "Mobile app"
|
|
42
|
+
- never: A second heading. The heading says what the reader gets; this names the app. On a standard card it is not drawn
|
|
43
|
+
- **title** `string` · required — Always. Where the app can be had, in a few words — "Trade on the go", "Available on". The section's heading at every width: under the scan line beside the code from the fold, and alone over the badges on a phone
|
|
44
|
+
- never: The instruction to scan. That is the QR code's `label`, and it goes with the code where the code goes
|
|
45
|
+
- **description** `string` · optional — A line under the heading saying what the app gives a reader — "Trade on the go with the same account, markets and tools." One sentence
|
|
46
|
+
- never: Small print. Versions and availability belong in the `disclaimer`
|
|
47
|
+
- **badges** `data` · required — Always. The stores and downloads the app is in, in the order a reader should meet them — mobile stores first, then desktop, then the web. …
|
|
48
|
+
- never: A platform the product does not ship on, or a badge whose link does not reach the product in that store
|
|
49
|
+
- **qr** `data` · optional — A QR code reaching the same app the badges do, so a reader at a desktop can take it to their phone. The page's image, with the words it is read as and the line telling the reader to scan it. …
|
|
50
|
+
- never: A destination the badges do not reach. A code is the one link a reader cannot read before following it
|
|
51
|
+
- **disclaimer** `string` · optional — One line of small print under the heading — which versions the desktop app runs on, or where the app is not offered
|
|
52
|
+
- never: A sentence of promotion. Anything a reader is meant to be persuaded by is not small print
|
|
53
|
+
|
|
54
|
+
## The type refuses
|
|
55
|
+
|
|
56
|
+
- variant="standard" with pattern="*" — A standard card draws no pattern, so a pattern named on it is a choice that does nothing. Make the card featured, or leave the pattern out
|
|
57
|
+
|
|
58
|
+
## Inside it
|
|
59
|
+
|
|
60
|
+
- 7 components are refused inside it; the list and the reasons are in the long document.
|
|
61
|
+
- Renders 17 parts: root, inner, card, lead, qr-tile, qr, text, qr-label, eyebrow, title, description, disclaimer, badges, badge, badge-link, mark, media.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/downloadbanner.md`.
|
|
@@ -8,7 +8,7 @@ A section that opens with a heading and sets a grid of cards under it — the sh
|
|
|
8
8
|
|
|
9
9
|
## Reach for it when
|
|
10
10
|
|
|
11
|
-
- Three or four things a product does, each a heading and a
|
|
11
|
+
- Three or four things a product does, each a card with a heading, a line and a picture under them, read side by side and compared at a glance — the first choice for a set of three. …
|
|
12
12
|
- A set of destinations — markets, platforms, tools — each a card a reader presses to go there
|
|
13
13
|
- One feature that deserves the whole row in a card of its own — the words beside a large picture, carded on the section's ground
|
|
14
14
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<!-- GENERATED from featurecardscarousel.contract.json. Do not edit. -->
|
|
2
|
+
|
|
3
|
+
# FeatureCardsCarousel
|
|
4
|
+
|
|
5
|
+
A feature band that sets its cards in a row a reader moves along rather than a grid: a heading and a line over a row of the page's own cards, the next one's edge showing past the last in view, with dots saying where the reader is and two arrows stepping it a card at a time. …
|
|
6
|
+
|
|
7
|
+
`import { FeatureCardsCarousel } from '@deriv-com/dds-marketing'`
|
|
8
|
+
|
|
9
|
+
## Reach for it when
|
|
10
|
+
|
|
11
|
+
- A "what you get" band of five or six authored cards, each a benefit with a line and a picture, too many for one row of a grid, where one card in focus with a peek of the next is the point. …
|
|
12
|
+
- A platform or product page whose feature cards are too many for one row of a grid and too equal to be a sequence
|
|
13
|
+
|
|
14
|
+
## Something else, when
|
|
15
|
+
|
|
16
|
+
- Three or four cards — the set a grid shows in one row → **FeatureCards**
|
|
17
|
+
- The cards are read in order, one leading to the next → **FeatureScroll**
|
|
18
|
+
- Two or three promotions on the brand's coral, one at a time → **CtaBannerSlider**
|
|
19
|
+
|
|
20
|
+
## Never
|
|
21
|
+
|
|
22
|
+
- Live prices, market data or anything on a feed. A card is authored copy that holds still while a reader reads it
|
|
23
|
+
- A static set flattened into a carousel to save height. Fewer than three cards is a FeatureCards grid; a carousel of two is a grid with a hidden half
|
|
24
|
+
- Reviews or quotes. A rated review is TestimonialRow's and a chosen quote TestimonialSlider's, each with the attribution this does not draw
|
|
25
|
+
|
|
26
|
+
## Props
|
|
27
|
+
|
|
28
|
+
- **ground** `enum` · default "page" — Which of the page's three grounds this section paints. A marketing page is white, and a band that wants to be seen as a band takes one of the other two — so this is how a page builds its rhythm: white, white, grey, white, dark. …
|
|
29
|
+
- `page` — The default, and the page's own white. A section that has nothing to separate itself from what is above it — most of them — and the ground a reader is already on
|
|
30
|
+
- `subtle` — A quiet step off the page, for a band that wants to read as its own section without changing the page's voice. The one to reach for first when two sections need telling apart. …
|
|
31
|
+
- `strong` — `color.bg.brand-strong`, the dark band. It stops the page rather than dividing it, so it is for a section a reader should arrive at — and one per page is usually one more than enough. …
|
|
32
|
+
- never: Marking importance. Every section on a page painted dark is a page with no emphasis left, and a reader stops reading the grounds as meaning anything. Alternating for its own sake is the same mistake more slowly. And never the brand's own coral, `color.bg.brand`, which is not offered here. …
|
|
33
|
+
- **title** `string` · required — Always. What the cards are, in the fewest words that name them — "What you get", "Built for every trader"
|
|
34
|
+
- never: A sentence. The line under it is for the sentence
|
|
35
|
+
- **description** `string` · optional — A line saying what the set has in common, when the title alone does not
|
|
36
|
+
- never: A paragraph, or a summary of every card. The cards say what they are; this only says why they are together
|
|
37
|
+
- **autoplay** `boolean` · default false — Whether the row moves on to the next stop on its own, holding each for motion.duration.dwell and returning to the start after the last. Off by default, so a row nobody configured stays still. …
|
|
38
|
+
- never: A row whose cards carry more than a reader takes in during motion.duration.dwell. Several cards are in view at once, so a moving row is moving cards out from under a reader who may be reading the second one
|
|
39
|
+
- **label** `string` · default "Features" — The name the row is announced by. The row is a scrolling region a keyboard has to be able to reach, so it carries a tab stop and a name of its own — Scroller's rule, as in TestimonialRow. …
|
|
40
|
+
- **previousLabel** `string` · default "Previous cards" — The accessible name of the arrow stepping the row back. A glyph announces nothing, so this is the whole of the control's name. Translate it with the page, and keep it parallel to nextLabel
|
|
41
|
+
- **nextLabel** `string` · default "Next cards" — The accessible name of the arrow stepping the row on, for the reason previousLabel exists
|
|
42
|
+
- **controlsLabel** `string` · default "Positions" — The name the dots are announced by, as a group inside the band. Its own name rather than the row's, so a screen reader moving into the dots hears what they are. Translate it with the page, like label
|
|
43
|
+
- **stopLabel** `string` · default "Position" — The word each dot is announced by, before its number — "Position 2". A dot is a place the row stops, not a card: at full width the last few cards share the last stop, so there are fewer dots than cards. …
|
|
44
|
+
|
|
45
|
+
## Inside it
|
|
46
|
+
|
|
47
|
+
- Takes only Card, CardButton.
|
|
48
|
+
- At least 1, at most 8 — fewer is not this component and more is a different one.
|
|
49
|
+
- 7 components are refused inside it; the list and the reasons are in the long document.
|
|
50
|
+
- Renders 11 parts: root, inner, header, title, description, carousel, track, item, footer, nav, nav-slot.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/featurecardscarousel.md`.
|
|
@@ -17,6 +17,7 @@ A section putting one claim, a line explaining it and a way onward beside a sing
|
|
|
17
17
|
- The point is several things the reader gets, each one line long → **FeatureBullets**
|
|
18
18
|
- There are three or four points and each needs its own picture → **FeatureCards**
|
|
19
19
|
- The section opens the page → **ProductHero**
|
|
20
|
+
- The picture is the section's weight, wide or tall enough to stand under the words rather than beside them → **FeatureStack**
|
|
20
21
|
|
|
21
22
|
## Never
|
|
22
23
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<!-- GENERATED from featurestack.contract.json. Do not edit. -->
|
|
2
|
+
|
|
3
|
+
# FeatureStack
|
|
4
|
+
|
|
5
|
+
A section that leads with a statement and ends on a picture: a heading, a line under it where the heading needs one, a link on to more where the page has one, and a large illustration — a globe, a map, a product shot — standing on the band's foot. …
|
|
6
|
+
|
|
7
|
+
`import { FeatureStack } from '@deriv-com/dds-marketing'`
|
|
8
|
+
|
|
9
|
+
## Reach for it when
|
|
10
|
+
|
|
11
|
+
- A statement with a picture that carries it — a global reach shown on a globe, a platform shown on a device — where the picture is the section's weight and the words introduce it …
|
|
12
|
+
- Closing a page or a stretch of one on an image, with a way on for the reader who wants more
|
|
13
|
+
|
|
14
|
+
## Something else, when
|
|
15
|
+
|
|
16
|
+
- The picture belongs beside the words, the two read side by side → **FeatureSplit**
|
|
17
|
+
- The section is a set of figures read as a set → **Stats**
|
|
18
|
+
- The section asks the reader to do one thing, now → **CtaBanner**
|
|
19
|
+
|
|
20
|
+
## Never
|
|
21
|
+
|
|
22
|
+
- A picture with words in it. The words are the heading and the line; a picture saying them again cannot be read by a screen reader, translated or selected
|
|
23
|
+
- A photograph a reader needs to see whole. The picture stands on the band's foot at its own proportions up to size.feature-stack.media, and is a scene rather than a document
|
|
24
|
+
|
|
25
|
+
## Props
|
|
26
|
+
|
|
27
|
+
- **ground** `enum` · default "page" — Which of the page's three grounds this section paints, FeatureCards' axis and its reason: the page builds its rhythm from these, and the ink follows the ground in the same value. …
|
|
28
|
+
- `page` — The default, and the page's own white
|
|
29
|
+
- `subtle` — The grey band, for a section that needs setting apart from the one above it. Painted as the band's tint laid over the page's own ground, so it is the same grey whatever is behind the section
|
|
30
|
+
- `strong` — `color.bg.brand-strong`, the dark band, and the reference design's ground for this layout. The heading and the line under it turn white; an illustration made for a dark ground sits best here
|
|
31
|
+
- never: Marking importance. Every section on a page painted a ground is a page with no emphasis left. And never the coral `color.bg.brand`, which belongs to the band that asks a reader to act
|
|
32
|
+
- **title** `string` · required — Always. The statement the section makes, in a few words — "Trusted in 190+ countries", "One account, every device"
|
|
33
|
+
- never: A sentence of explanation. That is the line under it
|
|
34
|
+
- **description** `string` · optional — A short line under the heading that says what the statement means for the reader, or what the picture shows
|
|
35
|
+
- never: A paragraph. One line or two; anything longer is the page's own copy
|
|
36
|
+
- **link** `node` · optional — A way on for the reader who wants more — "Learn more", "See where we operate". A standalone Link, under the line, the way FeatureCards takes one
|
|
37
|
+
- never: A button. The section is a statement and a picture; a Button would make it a banner, and CtaBanner is that
|
|
38
|
+
- **image** `data` · required — Always. The picture the section ends on — a globe, a map, a product shot — which the block draws at its own proportions: a square picture stays square, a tall one stays tall, held to the screen's limit. …
|
|
39
|
+
- never: Artwork with words in it, or a chart. What a reader has to read belongs in the heading and the line, where a screen reader and a translation reach it
|
|
40
|
+
|
|
41
|
+
## Inside it
|
|
42
|
+
|
|
43
|
+
- 6 components are refused inside it; the list and the reasons are in the long document.
|
|
44
|
+
- Renders 8 parts: root, inner, header, title, description, link, media, image.
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/featurestack.md`.
|
|
@@ -20,7 +20,7 @@ A photograph with an IllustrationCard laid over it — the product shown in the
|
|
|
20
20
|
|
|
21
21
|
- A section's content. Like the card it holds, the scene is a picture of the product, and what a section says belongs in its own blocks
|
|
22
22
|
- More than one card over one photograph. A second card is a second picture competing for the same eye; two scenes side by side say two things clearly
|
|
23
|
-
- A photograph whose subject sits where the card goes. The card covers the middle of the frame, or
|
|
23
|
+
- A photograph whose subject sits where the card goes. The card covers the middle of the frame, or its foot with `placement`; choose or crop the photograph so the person or the object stays clear of it
|
|
24
24
|
|
|
25
25
|
## Props
|
|
26
26
|
|
|
@@ -31,8 +31,7 @@ A photograph with an IllustrationCard laid over it — the product shown in the
|
|
|
31
31
|
- never: Fitting a particular photograph. The shape is a decision about the layout; the photograph is chosen or cropped for it
|
|
32
32
|
- **placement** `enum` · default "center" — Where the card sits over the photograph, so the subject of the photograph stays clear of it
|
|
33
33
|
- `center` — The default: the card in the middle of the frame. For a photograph whose subject frames the middle — a person looking down at what the card shows
|
|
34
|
-
- `
|
|
35
|
-
- `end` — The card towards the end edge, for a photograph whose subject is at the start
|
|
34
|
+
- `bottom` — The card centred along the foot of the frame, held off it by the card's own inset — for a photograph whose subject fills the top: a face, a person reaching up, a skyline
|
|
36
35
|
- never: Anything but keeping the photograph's subject clear. The card's size is fixed by the shape; placement moves it and nothing else
|
|
37
36
|
- **src** `string` · required — Always. The photograph the scene is set in
|
|
38
37
|
- never: A data URI holding a photograph. A scene's photograph is the heaviest thing on its page and belongs in a file the browser can cache
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<!-- GENERATED from imagebanner.contract.json. Do not edit. -->
|
|
2
|
+
|
|
3
|
+
# ImageBanner
|
|
4
|
+
|
|
5
|
+
A dark card in the middle of a page, pairing a headline and a line under it with a photograph — beside it or behind it, with one action. …
|
|
6
|
+
|
|
7
|
+
`import { ImageBanner } from '@deriv-com/dds-marketing'`
|
|
8
|
+
|
|
9
|
+
## Reach for it when
|
|
10
|
+
|
|
11
|
+
- Driving a single mid-page or end-of-page action with a photograph to carry it — a community, a hub, a platform
|
|
12
|
+
- A dark, editorial break between lighter sections
|
|
13
|
+
|
|
14
|
+
## Something else, when
|
|
15
|
+
|
|
16
|
+
- The section opens the page → **ProductHero**
|
|
17
|
+
- The point wants the page's own light ground rather than a dark card → **FeatureSplit**
|
|
18
|
+
- There is no photograph, only a headline and an action → **CtaBanner**
|
|
19
|
+
- The section says what a programme or a product comes with, as a list of features → **FeatureBullets**
|
|
20
|
+
|
|
21
|
+
## Never
|
|
22
|
+
|
|
23
|
+
- The page's opening band. A dark card at the top of a page competes with the navigation above it and the hero it should be
|
|
24
|
+
- More than one action. The card asks for one thing, and a second button beside it is a second demand on a card already set apart from the page
|
|
25
|
+
- A picture carrying words a reader needs. The cover photograph sits under a scrim and the text, and the split's is cropped to fill its half
|
|
26
|
+
|
|
27
|
+
## Props
|
|
28
|
+
|
|
29
|
+
- **ground** `enum` · default "page" — Which of the page's three grounds the band around the card paints. The card is dark whatever this says — that is what the block is — so this is about the rhythm of the page, white, grey or dark, and never about the card. …
|
|
30
|
+
- `page` — The default, and the page's own white, with the dark card set into it. Most of the time: the card is already the break
|
|
31
|
+
- `subtle` — The grey band, for a card that follows a white section the page wants told apart from this one. …
|
|
32
|
+
- `strong` — `color.bg.brand-strong`, the dark band, with the card a step lighter at color.bg.surface-card-strong so it still reads as a card. …
|
|
33
|
+
- never: Making the card darker. The card is dark on every ground; painting the band dark too spends the page's one dark band on a section that was already one
|
|
34
|
+
- **variant** `enum` · default "split" — What the photograph does: beside the words, or behind them. Both carry one action — two of the reference design's layouts
|
|
35
|
+
- `split` — The default. The words in one half and the photograph filling the other, edge to edge, with one action under the words. …
|
|
36
|
+
- `cover` — The photograph fills the whole card, with the words over it behind a scrim that darkens the side they are on and leaves the photograph clear on the other. …
|
|
37
|
+
- never: Choosing by how busy the page looks. Cover hides part of the photograph under the scrim; it is a decision about the photograph, not decoration
|
|
38
|
+
- **mediaPosition** `enum` · default "end" — Which side the photograph takes, and in cover, which side it shows clear on with the words on the other. Alternating it with the section above is the page's decision, not this one's
|
|
39
|
+
- `end` — The default. The words lead and the photograph follows, which is the order the card argues in
|
|
40
|
+
- `start` — The photograph leads — the second of two cards on a page, or a photograph whose subject faces the words. A split card puts it above the words on a phone as well, as the reference design does
|
|
41
|
+
- never: Aligning the words to the far edge. They start where their column starts on either side, because a heading beside content starts with it
|
|
42
|
+
- **title** `string` · required — Always. The one thing the card says, in under eight words — "Join our global community"
|
|
43
|
+
- never: A sentence. The description under it carries the argument
|
|
44
|
+
- **headingLevel** `enum` · default "h2" — Matching the outline of the page around the card, so the headline keeps its place in the hierarchy rather than skipping a level — CtaBanner's and ResourceBanner's prop. The level only: the size stays font.h2
|
|
45
|
+
- `h2` — The default: the card is a section of the page, under the page's own h1
|
|
46
|
+
- `h3` — The card sits inside a section that already carries the h2 it belongs to
|
|
47
|
+
- never: Making the headline bigger or smaller. The card decides the size; this decides only where the headline sits in the page's outline
|
|
48
|
+
- **description** `string` · optional — The line under the headline saying what it means for the reader, in one or two sentences
|
|
49
|
+
- never: A paragraph. Past about two hundred characters the words run longer than the photograph beside them, which is the reference design's limit as well
|
|
50
|
+
- **action** `node` · optional — The one thing the card asks for. The card is dark in both themes, so a Button here takes tone="inverse": the primary is the coral fill and it is the card's one primary. On a phone it fills the width of the card
|
|
51
|
+
- never: A second action. The card asks for one thing
|
|
52
|
+
- **media** `node` · required — Always. The page's photograph, through AspectRatio or as an image — people or product. Split and cover crop it to fill the space they give it. Alt text is the page's to give, empty where the photograph is decoration
|
|
53
|
+
- never: Artwork with words in it. The cover photograph sits under a scrim and the text, and the split crops to fill
|
|
54
|
+
- **parallax** `boolean` · default false — The photograph drifts against the scroll as the card passes through the view, by motion.distance.drift over the whole pass, so it reads as further away than the card — the reference design's ParallaxBanner, which this replaces. …
|
|
55
|
+
- never: Holding still for a reader who asked for less motion — it already holds still for them, and in a browser that cannot drive it from the scroll
|
|
56
|
+
|
|
57
|
+
## Inside it
|
|
58
|
+
|
|
59
|
+
- 10 components are refused inside it; the list and the reasons are in the long document.
|
|
60
|
+
- Renders 8 parts: root, inner, card, content, title, description, action, media.
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
The reasoning behind each of these, the parts this renders, its states and snippets that compile: `.llm/components/imagebanner.md`.
|
|
@@ -38,6 +38,7 @@ One place the site has, in the bar across the top of it. An anchor with a target
|
|
|
38
38
|
- never: Decoration on every item. A glyph beside each of five destinations costs the width the destinations need and tells a reader nothing they were not already reading
|
|
39
39
|
- **external** `boolean` · default false — The destination leaves the site. It draws the mark, opens in a new context, and the implementation extends the accessible name to say so in words — a glyph alone is a warning only sighted readers get
|
|
40
40
|
- never: A different area of the same site. A subdomain the reader experiences as one place is not a change of context, and marking it as one teaches them to ignore the mark where it matters
|
|
41
|
+
- **externalLabel** `string` · default "(opens in a new tab)" — What a screen reader hears after an external destination's name, since the arrow that shows it to everyone else is hidden. Translate it with the page
|
|
41
42
|
|
|
42
43
|
## The type refuses
|
|
43
44
|
|
|
@@ -38,7 +38,8 @@ The band that opens a company or a legal page: the page's name, a line saying wh
|
|
|
38
38
|
- never: A paragraph. It is held to a readable measure and set at body size; past a couple of sentences a reader scrolls rather than reads, and the actions go under the fold
|
|
39
39
|
- **actions** `node` · optional — The one or two things the page wants a reader to do. Composed by the page rather than described to this component, so a call to action is the same Button here as anywhere else on the site
|
|
40
40
|
- never: A row of destinations. Three or more controls under a title is a menu, and a reader who has to choose between five things chooses none
|
|
41
|
-
- **background** `enum` ·
|
|
41
|
+
- **background** `enum` · default "grid" — The band is the page's one standout moment and wants more than a flat fill. Leave it out and the band draws the lit grid
|
|
42
|
+
- `grid` — The default: the band's rule grid, lit — hairlines a pitch apart rising from a soft bloom at the band's foot, a brighter point where two lines cross and a short dash of light running along every few, brightening around the pointer. …
|
|
42
43
|
- `halftone` — A halftone drawn behind the band's content: coral dots blending to white at the glow's heart, on the band's own dark ground, following the pointer over the band. …
|
|
43
44
|
- never: More than one band on a page. The pattern is what makes a band the one a reader remembers, and two of them make neither
|
|
44
45
|
|
|
@@ -32,7 +32,9 @@ A row of marks, one per position in a short sequence — the slides of a slider,
|
|
|
32
32
|
- never: A sequence the reader has to work through — a walkthrough, a form in steps. Moving it for them takes away the one thing they came to control
|
|
33
33
|
- **paused** `boolean` · default false — 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
|
|
34
34
|
- **label** `string` · default "Slides" — The name the row is announced by, as a group. Name what the positions are: 'Slides', 'Steps'. Translate it with the page
|
|
35
|
-
- **itemLabel** `string` · default "Slide" — The word each mark is named by, before its number — 'Slide 2'. Translate it with the page; a language that puts the number first
|
|
35
|
+
- **itemLabel** `string` · default "Slide" — The word each mark is named by, before its number — 'Slide 2'. Translate it with the page; a language that puts the number first, or writes it in its own digits, passes positionLabel instead
|
|
36
|
+
- **positionLabel** `callback` · optional — Each mark's accessible name as a sentence, given its position counting from one and how many there are — for a language whose order is not the word then the number, or whose digits are not these. Wins over itemLabel where both are given
|
|
37
|
+
- never: Visible text. It names the marks to assistive technology and is never drawn
|
|
36
38
|
|
|
37
39
|
## Inside it
|
|
38
40
|
|