@540deg/ds 0.0.0-stage → 0.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/LICENSE +202 -0
- package/NOTICE +13 -0
- package/README.md +207 -2
- package/dist/assets/samples/captura.js +4 -0
- package/dist/assets/samples/charla-david.js +4 -0
- package/dist/assets/samples/charla-escultura.js +4 -0
- package/dist/assets/samples/charla-fachada.js +4 -0
- package/dist/assets/samples/charla-pintura.js +4 -0
- package/dist/assets/samples/charla-placa.js +4 -0
- package/dist/assets/samples/charla-teclado.js +4 -0
- package/dist/assets/samples/logo-540-claro.js +4 -0
- package/dist/assets/samples/logo-540-portada-claro.js +4 -0
- package/dist/assets/samples/logo-540-portada-oscuro.js +4 -0
- package/dist/assets/samples/logos/cliente-1.js +4 -0
- package/dist/assets/samples/logos/cliente-2.js +4 -0
- package/dist/assets/samples/logos/cliente-3.js +4 -0
- package/dist/assets/samples/logos/cliente-4.js +4 -0
- package/dist/assets/samples/logos/cliente-5.js +4 -0
- package/dist/assets/samples/logos/cliente-6.js +4 -0
- package/dist/assets/samples/logos/cliente-7.js +4 -0
- package/dist/assets/samples/logos/cliente-8.js +4 -0
- package/dist/assets/samples/logos/cliente-9.js +4 -0
- package/dist/assets/samples/retrato.js +4 -0
- package/dist/components/atoms/Bullets/Bullets.d.ts +6 -0
- package/dist/components/atoms/Bullets/Bullets.js +34 -0
- package/dist/components/atoms/Bullets/Bullets.module.js +13 -0
- package/dist/components/atoms/Bullets/index.d.ts +3 -0
- package/dist/components/atoms/Bullets/types.d.ts +23 -0
- package/dist/components/atoms/Bullets/types.js +9 -0
- package/dist/components/atoms/Button/Button.d.ts +6 -0
- package/dist/components/atoms/Button/Button.js +46 -0
- package/dist/components/atoms/Button/Button.module.js +24 -0
- package/dist/components/atoms/Button/index.d.ts +3 -0
- package/dist/components/atoms/Button/types.d.ts +38 -0
- package/dist/components/atoms/Button/types.js +14 -0
- package/dist/components/atoms/Count/Count.d.ts +6 -0
- package/dist/components/atoms/Count/Count.js +51 -0
- package/dist/components/atoms/Count/Count.module.js +9 -0
- package/dist/components/atoms/Count/index.d.ts +3 -0
- package/dist/components/atoms/Count/types.d.ts +17 -0
- package/dist/components/atoms/Count/types.js +8 -0
- package/dist/components/atoms/Image/Image.d.ts +6 -0
- package/dist/components/atoms/Image/Image.js +30 -0
- package/dist/components/atoms/Image/Image.module.js +11 -0
- package/dist/components/atoms/Image/index.d.ts +3 -0
- package/dist/components/atoms/Image/types.d.ts +16 -0
- package/dist/components/atoms/Image/types.js +13 -0
- package/dist/components/atoms/Logo/Logo.d.ts +6 -0
- package/dist/components/atoms/Logo/Logo.js +32 -0
- package/dist/components/atoms/Logo/Logo.module.js +10 -0
- package/dist/components/atoms/Logo/index.d.ts +3 -0
- package/dist/components/atoms/Logo/paths.d.ts +2 -0
- package/dist/components/atoms/Logo/paths.js +11 -0
- package/dist/components/atoms/Logo/types.d.ts +14 -0
- package/dist/components/atoms/Logo/types.js +12 -0
- package/dist/components/atoms/MenuItem/MenuItem.d.ts +6 -0
- package/dist/components/atoms/MenuItem/MenuItem.js +28 -0
- package/dist/components/atoms/MenuItem/MenuItem.module.js +19 -0
- package/dist/components/atoms/MenuItem/index.d.ts +3 -0
- package/dist/components/atoms/MenuItem/types.d.ts +18 -0
- package/dist/components/atoms/MenuItem/types.js +8 -0
- package/dist/components/atoms/SocialIcon/SocialIcon.d.ts +6 -0
- package/dist/components/atoms/SocialIcon/SocialIcon.js +26 -0
- package/dist/components/atoms/SocialIcon/SocialIcon.module.js +9 -0
- package/dist/components/atoms/SocialIcon/index.d.ts +3 -0
- package/dist/components/atoms/SocialIcon/paths.d.ts +7 -0
- package/dist/components/atoms/SocialIcon/paths.js +10 -0
- package/dist/components/atoms/SocialIcon/types.d.ts +15 -0
- package/dist/components/atoms/SocialIcon/types.js +11 -0
- package/dist/components/atoms/Text/Text.d.ts +6 -0
- package/dist/components/atoms/Text/Text.js +28 -0
- package/dist/components/atoms/Text/Text.module.js +32 -0
- package/dist/components/atoms/Text/index.d.ts +3 -0
- package/dist/components/atoms/Text/types.d.ts +39 -0
- package/dist/components/atoms/Text/types.js +54 -0
- package/dist/components/atoms/ThemeToggle/ThemeToggle.d.ts +6 -0
- package/dist/components/atoms/ThemeToggle/ThemeToggle.js +30 -0
- package/dist/components/atoms/ThemeToggle/ThemeToggle.module.js +17 -0
- package/dist/components/atoms/ThemeToggle/index.d.ts +3 -0
- package/dist/components/atoms/ThemeToggle/types.d.ts +13 -0
- package/dist/components/atoms/ThemeToggle/types.js +4 -0
- package/dist/components/molecules/Card/Card.d.ts +6 -0
- package/dist/components/molecules/Card/Card.js +82 -0
- package/dist/components/molecules/Card/Card.module.js +33 -0
- package/dist/components/molecules/Card/index.d.ts +3 -0
- package/dist/components/molecules/Card/types.d.ts +48 -0
- package/dist/components/molecules/Card/types.js +17 -0
- package/dist/components/molecules/Carousel/Carousel.d.ts +5 -0
- package/dist/components/molecules/Carousel/Carousel.js +148 -0
- package/dist/components/molecules/Carousel/Carousel.module.js +29 -0
- package/dist/components/molecules/Carousel/index.d.ts +3 -0
- package/dist/components/molecules/Carousel/types.d.ts +24 -0
- package/dist/components/molecules/Carousel/types.js +12 -0
- package/dist/components/molecules/CaseItem/CaseItem.d.ts +6 -0
- package/dist/components/molecules/CaseItem/CaseItem.js +54 -0
- package/dist/components/molecules/CaseItem/CaseItem.module.js +19 -0
- package/dist/components/molecules/CaseItem/index.d.ts +3 -0
- package/dist/components/molecules/CaseItem/types.d.ts +20 -0
- package/dist/components/molecules/CaseItem/types.js +7 -0
- package/dist/components/molecules/Dialog/Dialog.d.ts +6 -0
- package/dist/components/molecules/Dialog/Dialog.js +81 -0
- package/dist/components/molecules/Dialog/Dialog.module.js +19 -0
- package/dist/components/molecules/Dialog/index.d.ts +2 -0
- package/dist/components/molecules/Dialog/types.d.ts +22 -0
- package/dist/components/molecules/Field/Field.d.ts +6 -0
- package/dist/components/molecules/Field/Field.js +47 -0
- package/dist/components/molecules/Field/Field.module.js +15 -0
- package/dist/components/molecules/Field/index.d.ts +3 -0
- package/dist/components/molecules/Field/types.d.ts +24 -0
- package/dist/components/molecules/Field/types.js +5 -0
- package/dist/components/molecules/Footer/Footer.d.ts +6 -0
- package/dist/components/molecules/Footer/Footer.js +102 -0
- package/dist/components/molecules/Footer/Footer.module.js +33 -0
- package/dist/components/molecules/Footer/index.d.ts +3 -0
- package/dist/components/molecules/Footer/types.d.ts +46 -0
- package/dist/components/molecules/Footer/types.js +8 -0
- package/dist/components/molecules/Grid/Grid.d.ts +5 -0
- package/dist/components/molecules/Grid/Grid.js +32 -0
- package/dist/components/molecules/Grid/Grid.module.js +29 -0
- package/dist/components/molecules/Grid/index.d.ts +3 -0
- package/dist/components/molecules/Grid/types.d.ts +28 -0
- package/dist/components/molecules/Grid/types.js +14 -0
- package/dist/components/molecules/Lists/Lists.d.ts +7 -0
- package/dist/components/molecules/Lists/Lists.js +54 -0
- package/dist/components/molecules/Lists/Lists.module.js +15 -0
- package/dist/components/molecules/Lists/index.d.ts +2 -0
- package/dist/components/molecules/Lists/types.d.ts +22 -0
- package/dist/components/molecules/Menu/Menu.d.ts +6 -0
- package/dist/components/molecules/Menu/Menu.js +43 -0
- package/dist/components/molecules/Menu/Menu.module.js +13 -0
- package/dist/components/molecules/Menu/index.d.ts +3 -0
- package/dist/components/molecules/Menu/types.d.ts +27 -0
- package/dist/components/molecules/Menu/types.js +8 -0
- package/dist/components/molecules/Metric/Metric.d.ts +5 -0
- package/dist/components/molecules/Metric/Metric.js +40 -0
- package/dist/components/molecules/Metric/Metric.module.js +11 -0
- package/dist/components/molecules/Metric/index.d.ts +2 -0
- package/dist/components/molecules/Metric/types.d.ts +15 -0
- package/dist/components/molecules/NavMobile/NavMobile.d.ts +6 -0
- package/dist/components/molecules/NavMobile/NavMobile.js +95 -0
- package/dist/components/molecules/NavMobile/NavMobile.module.js +17 -0
- package/dist/components/molecules/NavMobile/index.d.ts +3 -0
- package/dist/components/molecules/NavMobile/types.d.ts +20 -0
- package/dist/components/molecules/NavMobile/types.js +8 -0
- package/dist/components/molecules/Question/Question.d.ts +3 -0
- package/dist/components/molecules/Question/Question.js +22 -0
- package/dist/components/molecules/Question/Question.module.js +5 -0
- package/dist/components/molecules/Question/index.d.ts +2 -0
- package/dist/components/molecules/Question/types.d.ts +8 -0
- package/dist/components/molecules/Screenshot/Screenshot.d.ts +3 -0
- package/dist/components/molecules/Screenshot/Screenshot.js +17 -0
- package/dist/components/molecules/Screenshot/Screenshot.module.js +5 -0
- package/dist/components/molecules/Screenshot/index.d.ts +2 -0
- package/dist/components/molecules/Screenshot/types.d.ts +12 -0
- package/dist/components/molecules/Section/Section.d.ts +6 -0
- package/dist/components/molecules/Section/Section.js +25 -0
- package/dist/components/molecules/Section/Section.module.js +11 -0
- package/dist/components/molecules/Section/index.d.ts +3 -0
- package/dist/components/molecules/Section/types.d.ts +13 -0
- package/dist/components/molecules/Section/types.js +5 -0
- package/dist/components/molecules/SectionHeader/SectionHeader.d.ts +6 -0
- package/dist/components/molecules/SectionHeader/SectionHeader.js +34 -0
- package/dist/components/molecules/SectionHeader/SectionHeader.module.js +9 -0
- package/dist/components/molecules/SectionHeader/index.d.ts +3 -0
- package/dist/components/molecules/SectionHeader/types.d.ts +22 -0
- package/dist/components/molecules/SectionHeader/types.js +14 -0
- package/dist/components/molecules/Stack/Stack.d.ts +6 -0
- package/dist/components/molecules/Stack/Stack.js +22 -0
- package/dist/components/molecules/Stack/Stack.module.js +12 -0
- package/dist/components/molecules/Stack/index.d.ts +3 -0
- package/dist/components/molecules/Stack/types.d.ts +18 -0
- package/dist/components/molecules/Stack/types.js +17 -0
- package/dist/components/molecules/TeamMember/TeamMember.d.ts +6 -0
- package/dist/components/molecules/TeamMember/TeamMember.js +55 -0
- package/dist/components/molecules/TeamMember/TeamMember.module.js +13 -0
- package/dist/components/molecules/TeamMember/index.d.ts +3 -0
- package/dist/components/molecules/TeamMember/types.d.ts +24 -0
- package/dist/components/molecules/TeamMember/types.js +8 -0
- package/dist/components/organisms/Bars/Bars.d.ts +6 -0
- package/dist/components/organisms/Bars/Bars.js +94 -0
- package/dist/components/organisms/Bars/Bars.module.js +26 -0
- package/dist/components/organisms/Bars/index.d.ts +3 -0
- package/dist/components/organisms/Bars/types.d.ts +43 -0
- package/dist/components/organisms/Bars/types.js +12 -0
- package/dist/components/organisms/Blobs/Blobs.d.ts +3 -0
- package/dist/components/organisms/Blobs/Blobs.js +14 -0
- package/dist/components/organisms/Blobs/Blobs.module.js +15 -0
- package/dist/components/organisms/Blobs/index.d.ts +2 -0
- package/dist/components/organisms/Blobs/types.d.ts +3 -0
- package/dist/components/organisms/BlockTitle/BlockTitle.d.ts +6 -0
- package/dist/components/organisms/BlockTitle/BlockTitle.js +46 -0
- package/dist/components/organisms/BlockTitle/BlockTitle.module.js +15 -0
- package/dist/components/organisms/BlockTitle/index.d.ts +2 -0
- package/dist/components/organisms/BlockTitle/types.d.ts +18 -0
- package/dist/components/organisms/CardList/CardList.d.ts +6 -0
- package/dist/components/organisms/CardList/CardList.js +15 -0
- package/dist/components/organisms/CardList/CardList.module.js +5 -0
- package/dist/components/organisms/CardList/index.d.ts +2 -0
- package/dist/components/organisms/CardList/types.d.ts +6 -0
- package/dist/components/organisms/Closing/Closing.d.ts +6 -0
- package/dist/components/organisms/Closing/Closing.js +42 -0
- package/dist/components/organisms/Closing/Closing.module.js +9 -0
- package/dist/components/organisms/Closing/index.d.ts +3 -0
- package/dist/components/organisms/Closing/types.d.ts +15 -0
- package/dist/components/organisms/Closing/types.js +4 -0
- package/dist/components/organisms/Cover/Cover.d.ts +6 -0
- package/dist/components/organisms/Cover/Cover.js +85 -0
- package/dist/components/organisms/Cover/Cover.module.js +21 -0
- package/dist/components/organisms/Cover/index.d.ts +3 -0
- package/dist/components/organisms/Cover/types.d.ts +33 -0
- package/dist/components/organisms/Cover/types.js +4 -0
- package/dist/components/organisms/Cycle/Cycle.d.ts +6 -0
- package/dist/components/organisms/Cycle/Cycle.js +79 -0
- package/dist/components/organisms/Cycle/Cycle.module.js +17 -0
- package/dist/components/organisms/Cycle/index.d.ts +3 -0
- package/dist/components/organisms/Cycle/types.d.ts +18 -0
- package/dist/components/organisms/Cycle/types.js +9 -0
- package/dist/components/organisms/Deck/Deck.d.ts +6 -0
- package/dist/components/organisms/Deck/Deck.js +159 -0
- package/dist/components/organisms/Deck/Deck.module.js +19 -0
- package/dist/components/organisms/Deck/index.d.ts +4 -0
- package/dist/components/organisms/Deck/types.d.ts +37 -0
- package/dist/components/organisms/Deck/types.js +13 -0
- package/dist/components/organisms/Deck/useDeckNavigation.d.ts +15 -0
- package/dist/components/organisms/Deck/useDeckNavigation.js +218 -0
- package/dist/components/organisms/DeckFooter/DeckFooter.d.ts +6 -0
- package/dist/components/organisms/DeckFooter/DeckFooter.js +75 -0
- package/dist/components/organisms/DeckFooter/DeckFooter.module.js +25 -0
- package/dist/components/organisms/DeckFooter/index.d.ts +3 -0
- package/dist/components/organisms/DeckFooter/types.d.ts +22 -0
- package/dist/components/organisms/DeckFooter/types.js +8 -0
- package/dist/components/organisms/Flow/Flow.d.ts +6 -0
- package/dist/components/organisms/Flow/Flow.js +26 -0
- package/dist/components/organisms/Flow/Flow.module.js +13 -0
- package/dist/components/organisms/Flow/index.d.ts +3 -0
- package/dist/components/organisms/Flow/types.d.ts +17 -0
- package/dist/components/organisms/Flow/types.js +4 -0
- package/dist/components/organisms/Form/Form.d.ts +6 -0
- package/dist/components/organisms/Form/Form.js +28 -0
- package/dist/components/organisms/Form/Form.module.js +13 -0
- package/dist/components/organisms/Form/index.d.ts +3 -0
- package/dist/components/organisms/Form/types.d.ts +16 -0
- package/dist/components/organisms/Form/types.js +8 -0
- package/dist/components/organisms/Heartbeat/Heartbeat.d.ts +3 -0
- package/dist/components/organisms/Heartbeat/Heartbeat.js +17 -0
- package/dist/components/organisms/Heartbeat/Heartbeat.module.js +13 -0
- package/dist/components/organisms/Heartbeat/index.d.ts +2 -0
- package/dist/components/organisms/Heartbeat/types.d.ts +3 -0
- package/dist/components/organisms/LogoCarousel/LogoCarousel.d.ts +6 -0
- package/dist/components/organisms/LogoCarousel/LogoCarousel.js +72 -0
- package/dist/components/organisms/LogoCarousel/LogoCarousel.module.js +13 -0
- package/dist/components/organisms/LogoCarousel/index.d.ts +3 -0
- package/dist/components/organisms/LogoCarousel/types.d.ts +18 -0
- package/dist/components/organisms/LogoCarousel/types.js +4 -0
- package/dist/components/organisms/Marquee/Marquee.d.ts +7 -0
- package/dist/components/organisms/Marquee/Marquee.js +57 -0
- package/dist/components/organisms/Marquee/Marquee.module.js +15 -0
- package/dist/components/organisms/Marquee/index.d.ts +3 -0
- package/dist/components/organisms/Marquee/types.d.ts +11 -0
- package/dist/components/organisms/Marquee/types.js +4 -0
- package/dist/components/organisms/ProgressBar/ProgressBar.d.ts +6 -0
- package/dist/components/organisms/ProgressBar/ProgressBar.js +56 -0
- package/dist/components/organisms/ProgressBar/ProgressBar.module.js +17 -0
- package/dist/components/organisms/ProgressBar/index.d.ts +3 -0
- package/dist/components/organisms/ProgressBar/types.d.ts +20 -0
- package/dist/components/organisms/ProgressBar/types.js +7 -0
- package/dist/components/organisms/Punchline/Punchline.d.ts +6 -0
- package/dist/components/organisms/Punchline/Punchline.js +41 -0
- package/dist/components/organisms/Punchline/Punchline.module.js +11 -0
- package/dist/components/organisms/Punchline/index.d.ts +3 -0
- package/dist/components/organisms/Punchline/types.d.ts +15 -0
- package/dist/components/organisms/Punchline/types.js +4 -0
- package/dist/components/organisms/Quote/Quote.d.ts +3 -0
- package/dist/components/organisms/Quote/Quote.js +33 -0
- package/dist/components/organisms/Quote/Quote.module.js +5 -0
- package/dist/components/organisms/Quote/index.d.ts +3 -0
- package/dist/components/organisms/Quote/types.d.ts +15 -0
- package/dist/components/organisms/Quote/types.js +4 -0
- package/dist/components/organisms/Schema/Schema.d.ts +54 -0
- package/dist/components/organisms/Schema/Schema.js +117 -0
- package/dist/components/organisms/Schema/Schema.module.js +87 -0
- package/dist/components/organisms/Schema/index.d.ts +2 -0
- package/dist/components/organisms/Schema/types.d.ts +32 -0
- package/dist/components/organisms/Share/Share.d.ts +6 -0
- package/dist/components/organisms/Share/Share.js +68 -0
- package/dist/components/organisms/Share/Share.module.js +22 -0
- package/dist/components/organisms/Share/index.d.ts +3 -0
- package/dist/components/organisms/Share/types.d.ts +24 -0
- package/dist/components/organisms/Share/types.js +4 -0
- package/dist/components/organisms/Sheet/Sheet.d.ts +2 -0
- package/dist/components/organisms/Sheet/Sheet.js +92 -0
- package/dist/components/organisms/Sheet/Sheet.module.js +15 -0
- package/dist/components/organisms/Sheet/index.d.ts +3 -0
- package/dist/components/organisms/Sheet/types.d.ts +15 -0
- package/dist/components/organisms/Sheet/types.js +4 -0
- package/dist/components/organisms/Slide/Slide.d.ts +6 -0
- package/dist/components/organisms/Slide/Slide.js +29 -0
- package/dist/components/organisms/Slide/Slide.module.js +13 -0
- package/dist/components/organisms/Slide/index.d.ts +3 -0
- package/dist/components/organisms/Slide/types.d.ts +18 -0
- package/dist/components/organisms/Slide/types.js +8 -0
- package/dist/components/organisms/Spotlight/Spotlight.d.ts +7 -0
- package/dist/components/organisms/Spotlight/Spotlight.js +39 -0
- package/dist/components/organisms/Spotlight/Spotlight.module.js +5 -0
- package/dist/components/organisms/Spotlight/index.d.ts +2 -0
- package/dist/components/organisms/Spotlight/types.d.ts +6 -0
- package/dist/components/organisms/Statements/Statements.d.ts +7 -0
- package/dist/components/organisms/Statements/Statements.js +50 -0
- package/dist/components/organisms/Statements/Statements.module.js +11 -0
- package/dist/components/organisms/Statements/index.d.ts +3 -0
- package/dist/components/organisms/Statements/types.d.ts +14 -0
- package/dist/components/organisms/Statements/types.js +7 -0
- package/dist/components/organisms/Steps/Steps.d.ts +15 -0
- package/dist/components/organisms/Steps/Steps.js +117 -0
- package/dist/components/organisms/Steps/Steps.module.js +13 -0
- package/dist/components/organisms/Steps/StepsContext.d.ts +11 -0
- package/dist/components/organisms/Steps/StepsContext.js +18 -0
- package/dist/components/organisms/Steps/index.d.ts +3 -0
- package/dist/components/organisms/Steps/types.d.ts +22 -0
- package/dist/components/organisms/Story/Story.d.ts +6 -0
- package/dist/components/organisms/Story/Story.js +43 -0
- package/dist/components/organisms/Story/Story.module.js +5 -0
- package/dist/components/organisms/Story/index.d.ts +3 -0
- package/dist/components/organisms/Story/types.d.ts +20 -0
- package/dist/components/organisms/Story/types.js +7 -0
- package/dist/components/organisms/Timeline/Timeline.d.ts +7 -0
- package/dist/components/organisms/Timeline/Timeline.js +67 -0
- package/dist/components/organisms/Timeline/Timeline.module.js +19 -0
- package/dist/components/organisms/Timeline/index.d.ts +3 -0
- package/dist/components/organisms/Timeline/types.d.ts +25 -0
- package/dist/components/organisms/Timeline/types.js +4 -0
- package/dist/components/organisms/Tools/Tools.d.ts +6 -0
- package/dist/components/organisms/Tools/Tools.js +47 -0
- package/dist/components/organisms/Tools/Tools.module.js +17 -0
- package/dist/components/organisms/Tools/index.d.ts +3 -0
- package/dist/components/organisms/Tools/types.d.ts +23 -0
- package/dist/components/organisms/Tools/types.js +4 -0
- package/dist/fonts/OFL.txt +93 -0
- package/dist/fonts/dm-sans-latin-opsz-normal.woff2 +0 -0
- package/dist/hooks/useCenterState.d.ts +9 -0
- package/dist/hooks/useCenterState.js +40 -0
- package/dist/hooks/useReveal.d.ts +7 -0
- package/dist/hooks/useReveal.js +34 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.js +98 -0
- package/dist/styles.css +3441 -0
- package/dist/templates/TalkTemplate/TalkTemplate.d.ts +7 -0
- package/dist/templates/TalkTemplate/TalkTemplate.js +1392 -0
- package/dist/templates/TalkTemplate/index.d.ts +2 -0
- package/package.json +86 -4
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Button } from "../../atoms/Button/Button.js";
|
|
2
|
+
import { Logo } from "../../atoms/Logo/Logo.js";
|
|
3
|
+
import { MenuItem } from "../../atoms/MenuItem/MenuItem.js";
|
|
4
|
+
import NavMobile_module_default from "./NavMobile.module.js";
|
|
5
|
+
import { NAV_MOBILE_DEFAULTS } from "./types.js";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { useEffect, useRef, useState } from "react";
|
|
8
|
+
import { Menu, X } from "lucide-react";
|
|
9
|
+
//#region src/components/molecules/NavMobile/NavMobile.tsx
|
|
10
|
+
/**
|
|
11
|
+
* NavMobile is the narrow-screen navigation: the logo and a button that opens the menu
|
|
12
|
+
* full screen. The state is internal; choosing a destination closes the panel.
|
|
13
|
+
*/
|
|
14
|
+
function NavMobile({ items, homeHref = NAV_MOBILE_DEFAULTS.homeHref, homeLabel = NAV_MOBILE_DEFAULTS.homeLabel, label = NAV_MOBILE_DEFAULTS.label, end, className, ...rest }) {
|
|
15
|
+
const [open, setOpen] = useState(false);
|
|
16
|
+
const panelRef = useRef(null);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
const panel = panelRef.current;
|
|
19
|
+
if (!panel) return;
|
|
20
|
+
if (open && !panel.open) panel.showModal();
|
|
21
|
+
if (!open && panel.open) panel.close();
|
|
22
|
+
}, [open]);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (!open) return;
|
|
25
|
+
const previous = document.body.style.overflow;
|
|
26
|
+
document.body.style.overflow = "hidden";
|
|
27
|
+
return () => {
|
|
28
|
+
document.body.style.overflow = previous;
|
|
29
|
+
};
|
|
30
|
+
}, [open]);
|
|
31
|
+
const classes = [NavMobile_module_default.nav, className ?? ""].filter(Boolean).join(" ");
|
|
32
|
+
return /* @__PURE__ */ jsxs("nav", {
|
|
33
|
+
className: classes,
|
|
34
|
+
"aria-label": label,
|
|
35
|
+
...rest,
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ jsx("a", {
|
|
38
|
+
className: NavMobile_module_default.home,
|
|
39
|
+
href: homeHref,
|
|
40
|
+
"aria-label": homeLabel,
|
|
41
|
+
children: /* @__PURE__ */ jsx(Logo, {
|
|
42
|
+
size: "xs",
|
|
43
|
+
label: ""
|
|
44
|
+
})
|
|
45
|
+
}),
|
|
46
|
+
/* @__PURE__ */ jsxs("div", {
|
|
47
|
+
className: NavMobile_module_default.end,
|
|
48
|
+
children: [end, /* @__PURE__ */ jsx(Button, {
|
|
49
|
+
variant: "ghost",
|
|
50
|
+
icon: /* @__PURE__ */ jsx(Menu, {}),
|
|
51
|
+
iconOnly: true,
|
|
52
|
+
"aria-expanded": open,
|
|
53
|
+
onClick: () => setOpen(true),
|
|
54
|
+
children: "Abrir menú"
|
|
55
|
+
})]
|
|
56
|
+
}),
|
|
57
|
+
/* @__PURE__ */ jsxs("dialog", {
|
|
58
|
+
ref: panelRef,
|
|
59
|
+
className: NavMobile_module_default.panel,
|
|
60
|
+
"aria-label": label,
|
|
61
|
+
onClose: () => setOpen(false),
|
|
62
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
63
|
+
className: NavMobile_module_default.panelBar,
|
|
64
|
+
children: [/* @__PURE__ */ jsx("a", {
|
|
65
|
+
className: NavMobile_module_default.home,
|
|
66
|
+
href: homeHref,
|
|
67
|
+
"aria-label": homeLabel,
|
|
68
|
+
onClick: () => setOpen(false),
|
|
69
|
+
children: /* @__PURE__ */ jsx(Logo, {
|
|
70
|
+
size: "xs",
|
|
71
|
+
label: ""
|
|
72
|
+
})
|
|
73
|
+
}), /* @__PURE__ */ jsx(Button, {
|
|
74
|
+
variant: "ghost",
|
|
75
|
+
icon: /* @__PURE__ */ jsx(X, {}),
|
|
76
|
+
iconOnly: true,
|
|
77
|
+
onClick: () => setOpen(false),
|
|
78
|
+
children: "Cerrar menú"
|
|
79
|
+
})]
|
|
80
|
+
}), /* @__PURE__ */ jsx("ul", {
|
|
81
|
+
className: NavMobile_module_default.list,
|
|
82
|
+
children: items.map((item) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsx(MenuItem, {
|
|
83
|
+
href: item.href,
|
|
84
|
+
size: "lg",
|
|
85
|
+
current: item.current,
|
|
86
|
+
onClick: () => setOpen(false),
|
|
87
|
+
children: item.label
|
|
88
|
+
}) }, item.href))
|
|
89
|
+
})]
|
|
90
|
+
})
|
|
91
|
+
]
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
//#endregion
|
|
95
|
+
export { NavMobile };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/components/molecules/NavMobile/NavMobile.module.css
|
|
2
|
+
var nav = "_nav_1ghkl_4";
|
|
3
|
+
var home = "_home_1ghkl_13";
|
|
4
|
+
var end = "_end_1ghkl_23";
|
|
5
|
+
var panel = "_panel_1ghkl_30";
|
|
6
|
+
var panelBar = "_panelBar_1ghkl_56";
|
|
7
|
+
var list = "_list_1ghkl_65";
|
|
8
|
+
var NavMobile_module_default = {
|
|
9
|
+
nav,
|
|
10
|
+
home,
|
|
11
|
+
end,
|
|
12
|
+
panel,
|
|
13
|
+
panelBar,
|
|
14
|
+
list
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { NavMobile_module_default as default, end, home, list, nav, panel, panelBar };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
import type { MenuDestination } from '../Menu';
|
|
3
|
+
export type NavMobileProps = {
|
|
4
|
+
/** The same destinations as Menu: the same objects, built once. */
|
|
5
|
+
items: MenuDestination[];
|
|
6
|
+
/** Where the logo links to. */
|
|
7
|
+
homeHref?: string;
|
|
8
|
+
/** Accessible name of the logo link. */
|
|
9
|
+
homeLabel?: string;
|
|
10
|
+
/** Accessible name of the navigation. */
|
|
11
|
+
label?: string;
|
|
12
|
+
/** What goes next to the button: the ThemeToggle. Not a destination. */
|
|
13
|
+
end?: ReactNode;
|
|
14
|
+
className?: string;
|
|
15
|
+
} & Omit<ComponentPropsWithoutRef<'nav'>, 'className' | 'children' | 'aria-label'>;
|
|
16
|
+
export declare const NAV_MOBILE_DEFAULTS: {
|
|
17
|
+
readonly homeHref: "#inicio";
|
|
18
|
+
readonly homeLabel: "Ir al inicio";
|
|
19
|
+
readonly label: "Principal";
|
|
20
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Text } from "../../atoms/Text/Text.js";
|
|
2
|
+
import Question_module_default from "./Question.module.js";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/molecules/Question/Question.tsx
|
|
5
|
+
/** Question is a question and its answer under a hairline: the Q&A of a decision tree. */
|
|
6
|
+
function Question({ question, answer, className }) {
|
|
7
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
8
|
+
className: [Question_module_default.question, className ?? ""].filter(Boolean).join(" "),
|
|
9
|
+
children: [/* @__PURE__ */ jsx(Text, {
|
|
10
|
+
variant: "body-m",
|
|
11
|
+
wrap: "pretty",
|
|
12
|
+
children: question
|
|
13
|
+
}), answer ? /* @__PURE__ */ jsx(Text, {
|
|
14
|
+
variant: "body-m",
|
|
15
|
+
tone: "secondary",
|
|
16
|
+
wrap: "pretty",
|
|
17
|
+
children: answer
|
|
18
|
+
}) : null]
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { Question };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ScreenshotProps } from './types';
|
|
2
|
+
/** Screenshot is a capture of a screen: fixed height, whole image, rounded corners. */
|
|
3
|
+
export declare function Screenshot({ src, alt, width, height, className, loading, ...rest }: ScreenshotProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Screenshot_module_default from "./Screenshot.module.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/molecules/Screenshot/Screenshot.tsx
|
|
4
|
+
/** Screenshot is a capture of a screen: fixed height, whole image, rounded corners. */
|
|
5
|
+
function Screenshot({ src, alt, width, height, className, loading = "eager", ...rest }) {
|
|
6
|
+
return /* @__PURE__ */ jsx("img", {
|
|
7
|
+
className: [Screenshot_module_default.screenshot, className ?? ""].filter(Boolean).join(" "),
|
|
8
|
+
src,
|
|
9
|
+
alt,
|
|
10
|
+
width,
|
|
11
|
+
height,
|
|
12
|
+
loading,
|
|
13
|
+
...rest
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { Screenshot };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef } from 'react';
|
|
2
|
+
export type ScreenshotProps = {
|
|
3
|
+
/** Path or URL of the capture. */
|
|
4
|
+
src: string;
|
|
5
|
+
/** Required: what the screen shows, in words. */
|
|
6
|
+
alt: string;
|
|
7
|
+
/** Intrinsic width in px, so the layout does not jump while it loads. */
|
|
8
|
+
width?: number;
|
|
9
|
+
/** Intrinsic height in px, so the layout does not jump while it loads. */
|
|
10
|
+
height?: number;
|
|
11
|
+
className?: string;
|
|
12
|
+
} & Omit<ComponentPropsWithoutRef<'img'>, 'src' | 'alt' | 'className' | 'width' | 'height'>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SectionProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Section is a band of the page: the background reaches edge to edge and the content stays
|
|
4
|
+
* in the column. It gives the vertical rhythm to every section.
|
|
5
|
+
*/
|
|
6
|
+
export declare function Section({ tone, className, children, ...rest }: SectionProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import Section_module_default from "./Section.module.js";
|
|
2
|
+
import { SECTION_DEFAULTS } from "./types.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/molecules/Section/Section.tsx
|
|
5
|
+
/**
|
|
6
|
+
* Section is a band of the page: the background reaches edge to edge and the content stays
|
|
7
|
+
* in the column. It gives the vertical rhythm to every section.
|
|
8
|
+
*/
|
|
9
|
+
function Section({ tone = SECTION_DEFAULTS.tone, className, children, ...rest }) {
|
|
10
|
+
const classes = [
|
|
11
|
+
Section_module_default.section,
|
|
12
|
+
Section_module_default[`tone-${tone}`],
|
|
13
|
+
className ?? ""
|
|
14
|
+
].filter(Boolean).join(" ");
|
|
15
|
+
return /* @__PURE__ */ jsx("section", {
|
|
16
|
+
className: classes,
|
|
17
|
+
...rest,
|
|
18
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
19
|
+
className: Section_module_default.column,
|
|
20
|
+
children
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { Section };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/components/molecules/Section/Section.module.css
|
|
2
|
+
var section = "_section_1nzhz_4";
|
|
3
|
+
var column = "_column_1nzhz_18";
|
|
4
|
+
var Section_module_default = {
|
|
5
|
+
section,
|
|
6
|
+
"tone-default": "_tone-default_1nzhz_9",
|
|
7
|
+
"tone-raised": "_tone-raised_1nzhz_13",
|
|
8
|
+
column
|
|
9
|
+
};
|
|
10
|
+
//#endregion
|
|
11
|
+
export { column, Section_module_default as default, section };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
export declare const SECTION_TONES: readonly ["default", "raised"];
|
|
3
|
+
export type SectionTone = (typeof SECTION_TONES)[number];
|
|
4
|
+
export type SectionProps = {
|
|
5
|
+
/** default paints nothing; raised lifts the band one step. */
|
|
6
|
+
tone?: SectionTone;
|
|
7
|
+
/** What goes inside the column. */
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
} & Omit<ComponentPropsWithoutRef<'section'>, 'className' | 'children'>;
|
|
11
|
+
export declare const SECTION_DEFAULTS: {
|
|
12
|
+
readonly tone: "default";
|
|
13
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SectionHeaderProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* SectionHeader opens a section: title and lead. The most repeated piece of the site.
|
|
4
|
+
* The title style is always title-l; the heading level is chosen apart.
|
|
5
|
+
*/
|
|
6
|
+
export declare function SectionHeader({ title, description, align, level, titleId, className, ...rest }: SectionHeaderProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Text } from "../../atoms/Text/Text.js";
|
|
2
|
+
import SectionHeader_module_default from "./SectionHeader.module.js";
|
|
3
|
+
import { SECTION_HEADER_DEFAULTS } from "./types.js";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/molecules/SectionHeader/SectionHeader.tsx
|
|
6
|
+
/**
|
|
7
|
+
* SectionHeader opens a section: title and lead. The most repeated piece of the site.
|
|
8
|
+
* The title style is always title-l; the heading level is chosen apart.
|
|
9
|
+
*/
|
|
10
|
+
function SectionHeader({ title, description, align = SECTION_HEADER_DEFAULTS.align, level = SECTION_HEADER_DEFAULTS.level, titleId, className, ...rest }) {
|
|
11
|
+
const classes = [
|
|
12
|
+
SectionHeader_module_default.header,
|
|
13
|
+
align === "center" ? SectionHeader_module_default.center : "",
|
|
14
|
+
className ?? ""
|
|
15
|
+
].filter(Boolean).join(" ");
|
|
16
|
+
return /* @__PURE__ */ jsxs("header", {
|
|
17
|
+
className: classes,
|
|
18
|
+
...rest,
|
|
19
|
+
children: [/* @__PURE__ */ jsx(Text, {
|
|
20
|
+
as: level,
|
|
21
|
+
variant: "title-l",
|
|
22
|
+
wrap: "balance",
|
|
23
|
+
id: titleId,
|
|
24
|
+
children: title
|
|
25
|
+
}), description ? /* @__PURE__ */ jsx(Text, {
|
|
26
|
+
variant: "body-m",
|
|
27
|
+
tone: "secondary",
|
|
28
|
+
wrap: "pretty",
|
|
29
|
+
children: description
|
|
30
|
+
}) : null]
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { SectionHeader };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/components/molecules/SectionHeader/SectionHeader.module.css
|
|
2
|
+
var header = "_header_q562s_3";
|
|
3
|
+
var center = "_center_q562s_9";
|
|
4
|
+
var SectionHeader_module_default = {
|
|
5
|
+
header,
|
|
6
|
+
center
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { center, SectionHeader_module_default as default, header };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
|
+
export declare const SECTION_HEADER_ALIGNS: readonly ["start", "center"];
|
|
3
|
+
export declare const SECTION_HEADER_LEVELS: readonly ["h1", "h2", "h3", "h4"];
|
|
4
|
+
export type SectionHeaderAlign = (typeof SECTION_HEADER_ALIGNS)[number];
|
|
5
|
+
export type SectionHeaderLevel = (typeof SECTION_HEADER_LEVELS)[number];
|
|
6
|
+
export type SectionHeaderProps = {
|
|
7
|
+
/** The title. Always title-l; the level is chosen apart. */
|
|
8
|
+
title: ReactNode;
|
|
9
|
+
/** Optional lead, one or two sentences in body-m secondary. */
|
|
10
|
+
description?: ReactNode;
|
|
11
|
+
/** start fills the column; center caps at half the grid and centers. */
|
|
12
|
+
align?: SectionHeaderAlign;
|
|
13
|
+
/** Heading level. One h1 per page; the rest of sections go down a level. */
|
|
14
|
+
level?: SectionHeaderLevel;
|
|
15
|
+
/** id for the title, so the Section can point to it with aria-labelledby. */
|
|
16
|
+
titleId?: string;
|
|
17
|
+
className?: string;
|
|
18
|
+
} & Omit<ComponentPropsWithoutRef<'header'>, 'className' | 'children' | 'title'>;
|
|
19
|
+
export declare const SECTION_HEADER_DEFAULTS: {
|
|
20
|
+
readonly align: "start";
|
|
21
|
+
readonly level: "h2";
|
|
22
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/components/molecules/SectionHeader/types.ts
|
|
2
|
+
var SECTION_HEADER_ALIGNS = ["start", "center"];
|
|
3
|
+
var SECTION_HEADER_LEVELS = [
|
|
4
|
+
"h1",
|
|
5
|
+
"h2",
|
|
6
|
+
"h3",
|
|
7
|
+
"h4"
|
|
8
|
+
];
|
|
9
|
+
var SECTION_HEADER_DEFAULTS = {
|
|
10
|
+
align: "start",
|
|
11
|
+
level: "h2"
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { SECTION_HEADER_ALIGNS, SECTION_HEADER_DEFAULTS, SECTION_HEADER_LEVELS };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { StackProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Stack puts the pieces of a stop one under the other with the system's air between them:
|
|
4
|
+
* a header over a grid, a row of metrics over its note, a few questions in a column.
|
|
5
|
+
*/
|
|
6
|
+
export declare function Stack({ gap, measure, children, className }: StackProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import Stack_module_default from "./Stack.module.js";
|
|
2
|
+
import { STACK_DEFAULTS } from "./types.js";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/molecules/Stack/Stack.tsx
|
|
5
|
+
/**
|
|
6
|
+
* Stack puts the pieces of a stop one under the other with the system's air between them:
|
|
7
|
+
* a header over a grid, a row of metrics over its note, a few questions in a column.
|
|
8
|
+
*/
|
|
9
|
+
function Stack({ gap = STACK_DEFAULTS.gap, measure = STACK_DEFAULTS.measure, children, className }) {
|
|
10
|
+
const classes = [
|
|
11
|
+
Stack_module_default.stack,
|
|
12
|
+
Stack_module_default[`gap-${gap}`],
|
|
13
|
+
measure !== "none" ? Stack_module_default[`measure-${measure}`] : "",
|
|
14
|
+
className ?? ""
|
|
15
|
+
].filter(Boolean).join(" ");
|
|
16
|
+
return /* @__PURE__ */ jsx("div", {
|
|
17
|
+
className: classes,
|
|
18
|
+
children
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { Stack };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/components/molecules/Stack/Stack.module.css
|
|
2
|
+
var stack = "_stack_169h2_4";
|
|
3
|
+
var Stack_module_default = {
|
|
4
|
+
stack,
|
|
5
|
+
"gap-s": "_gap-s_169h2_10",
|
|
6
|
+
"gap-m": "_gap-m_169h2_14",
|
|
7
|
+
"gap-l": "_gap-l_169h2_18",
|
|
8
|
+
"measure-half": "_measure-half_169h2_23",
|
|
9
|
+
"measure-wide": "_measure-wide_169h2_29"
|
|
10
|
+
};
|
|
11
|
+
//#endregion
|
|
12
|
+
export { Stack_module_default as default, stack };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export declare const STACK_GAPS: readonly ["s", "m", "l"];
|
|
3
|
+
export declare const STACK_MEASURES: readonly ["none", "half", "wide"];
|
|
4
|
+
export type StackGap = (typeof STACK_GAPS)[number];
|
|
5
|
+
export type StackMeasure = (typeof STACK_MEASURES)[number];
|
|
6
|
+
export type StackProps = {
|
|
7
|
+
/** The air between pieces: s (16), m (32) or l (48). */
|
|
8
|
+
gap?: StackGap;
|
|
9
|
+
/** Cap the whole pile at half the grid or three quarters, centered. */
|
|
10
|
+
measure?: StackMeasure;
|
|
11
|
+
/** The pieces, one under the other. */
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
className?: string;
|
|
14
|
+
};
|
|
15
|
+
export declare const STACK_DEFAULTS: {
|
|
16
|
+
readonly gap: "l";
|
|
17
|
+
readonly measure: "none";
|
|
18
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/components/molecules/Stack/types.ts
|
|
2
|
+
var STACK_GAPS = [
|
|
3
|
+
"s",
|
|
4
|
+
"m",
|
|
5
|
+
"l"
|
|
6
|
+
];
|
|
7
|
+
var STACK_MEASURES = [
|
|
8
|
+
"none",
|
|
9
|
+
"half",
|
|
10
|
+
"wide"
|
|
11
|
+
];
|
|
12
|
+
var STACK_DEFAULTS = {
|
|
13
|
+
gap: "l",
|
|
14
|
+
measure: "none"
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { STACK_DEFAULTS, STACK_GAPS, STACK_MEASURES };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TeamMemberProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* TeamMember is a person's card: portrait 1:1, role, name and, if any, two lines of bio.
|
|
4
|
+
* Aligned to the margin the role goes first; centered, the name first and the role as a caption.
|
|
5
|
+
*/
|
|
6
|
+
export declare function TeamMember({ src, name, role, bio, align, href, level, className }: TeamMemberProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Image } from "../../atoms/Image/Image.js";
|
|
2
|
+
import { Text } from "../../atoms/Text/Text.js";
|
|
3
|
+
import TeamMember_module_default from "./TeamMember.module.js";
|
|
4
|
+
import { TEAM_MEMBER_DEFAULTS } from "./types.js";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/molecules/TeamMember/TeamMember.tsx
|
|
7
|
+
/**
|
|
8
|
+
* TeamMember is a person's card: portrait 1:1, role, name and, if any, two lines of bio.
|
|
9
|
+
* Aligned to the margin the role goes first; centered, the name first and the role as a caption.
|
|
10
|
+
*/
|
|
11
|
+
function TeamMember({ src, name, role, bio, align = TEAM_MEMBER_DEFAULTS.align, href, level = TEAM_MEMBER_DEFAULTS.level, className }) {
|
|
12
|
+
const classes = [
|
|
13
|
+
TeamMember_module_default.member,
|
|
14
|
+
align === "center" ? TeamMember_module_default.center : "",
|
|
15
|
+
className ?? ""
|
|
16
|
+
].filter(Boolean).join(" ");
|
|
17
|
+
const nameNode = /* @__PURE__ */ jsx(Text, {
|
|
18
|
+
as: level,
|
|
19
|
+
variant: "title-xs",
|
|
20
|
+
wrap: "balance",
|
|
21
|
+
children: href ? /* @__PURE__ */ jsx("a", {
|
|
22
|
+
className: TeamMember_module_default.link,
|
|
23
|
+
href,
|
|
24
|
+
children: name
|
|
25
|
+
}) : name
|
|
26
|
+
});
|
|
27
|
+
const roleNode = /* @__PURE__ */ jsx(Text, {
|
|
28
|
+
as: "p",
|
|
29
|
+
variant: "micro-bold",
|
|
30
|
+
tone: "secondary",
|
|
31
|
+
children: role
|
|
32
|
+
});
|
|
33
|
+
return /* @__PURE__ */ jsxs("article", {
|
|
34
|
+
className: classes,
|
|
35
|
+
children: [
|
|
36
|
+
/* @__PURE__ */ jsx("div", {
|
|
37
|
+
className: TeamMember_module_default.portrait,
|
|
38
|
+
children: /* @__PURE__ */ jsx(Image, {
|
|
39
|
+
src,
|
|
40
|
+
alt: "",
|
|
41
|
+
ratio: "1:1"
|
|
42
|
+
})
|
|
43
|
+
}),
|
|
44
|
+
align === "center" ? /* @__PURE__ */ jsxs(Fragment, { children: [nameNode, roleNode] }) : /* @__PURE__ */ jsxs(Fragment, { children: [roleNode, nameNode] }),
|
|
45
|
+
bio ? /* @__PURE__ */ jsx(Text, {
|
|
46
|
+
variant: "body-s",
|
|
47
|
+
tone: "secondary",
|
|
48
|
+
wrap: "pretty",
|
|
49
|
+
children: bio
|
|
50
|
+
}) : null
|
|
51
|
+
]
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { TeamMember };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/components/molecules/TeamMember/TeamMember.module.css
|
|
2
|
+
var member = "_member_1mo29_4";
|
|
3
|
+
var center = "_center_1mo29_10";
|
|
4
|
+
var portrait = "_portrait_1mo29_15";
|
|
5
|
+
var link = "_link_1mo29_19";
|
|
6
|
+
var TeamMember_module_default = {
|
|
7
|
+
member,
|
|
8
|
+
center,
|
|
9
|
+
portrait,
|
|
10
|
+
link
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { center, TeamMember_module_default as default, link, member, portrait };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export declare const TEAM_MEMBER_ALIGNS: readonly ["start", "center"];
|
|
3
|
+
export type TeamMemberAlign = (typeof TEAM_MEMBER_ALIGNS)[number];
|
|
4
|
+
export type TeamMemberProps = {
|
|
5
|
+
/** The portrait. Follows the width of the card and crops to 1:1. */
|
|
6
|
+
src: string;
|
|
7
|
+
/** The name: an h3. */
|
|
8
|
+
name: ReactNode;
|
|
9
|
+
/** The role: uppercase by style. */
|
|
10
|
+
role: ReactNode;
|
|
11
|
+
/** Two or three lines about the person. Optional. */
|
|
12
|
+
bio?: ReactNode;
|
|
13
|
+
/** start: role before the name. center: name first, the role as a caption. */
|
|
14
|
+
align?: TeamMemberAlign;
|
|
15
|
+
/** When the person has a page, the name is the link, not the whole card. */
|
|
16
|
+
href?: string;
|
|
17
|
+
/** Heading level of the name. */
|
|
18
|
+
level?: 'h2' | 'h3' | 'h4';
|
|
19
|
+
className?: string;
|
|
20
|
+
};
|
|
21
|
+
export declare const TEAM_MEMBER_DEFAULTS: {
|
|
22
|
+
readonly align: "start";
|
|
23
|
+
readonly level: "h3";
|
|
24
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BarsProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Bars is a horizontal bar chart: each row its label, a bar that grows from the left when it
|
|
4
|
+
* comes into view (or its Step lights up) and its figure at the tip. Ported from the newsletter talk.
|
|
5
|
+
*/
|
|
6
|
+
export declare function Bars({ rows, label, header, max, unit, decimals, className }: BarsProps): import("react").JSX.Element;
|