@studiolxd/brand 38.12.4
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/CHANGELOG.md +5643 -0
- package/README.md +73 -0
- package/dist/_shared/appshellcontext.js +10 -0
- package/dist/_shared/calendargrid.js +199 -0
- package/dist/_shared/copy-to-clipboard.js +30 -0
- package/dist/_shared/css-properties.js +12 -0
- package/dist/_shared/datepicker.js +172 -0
- package/dist/_shared/dialogsurface.js +23 -0
- package/dist/_shared/dropdownitems.js +80 -0
- package/dist/_shared/env.js +6 -0
- package/dist/_shared/field-labels.js +9 -0
- package/dist/_shared/form-size.js +9 -0
- package/dist/_shared/imagecropdialog.js +504 -0
- package/dist/_shared/logo.js +19 -0
- package/dist/_shared/logoassets.js +18 -0
- package/dist/_shared/messagetimestamp.js +16 -0
- package/dist/_shared/progressbar.js +216 -0
- package/dist/_shared/radiogroupcontext.js +8 -0
- package/dist/_shared/sidebarcontext.js +8 -0
- package/dist/_shared/togglegroupcontext.js +8 -0
- package/dist/_shared/tokens.js +3281 -0
- package/dist/_shared/untrustedtext.js +43 -0
- package/dist/_shared/validate.js +9 -0
- package/dist/_types/assets/brand-assets.d.ts +83 -0
- package/dist/_types/atoms/Accordion/Accordion.d.ts +56 -0
- package/dist/_types/atoms/Accordion/AccordionContext.d.ts +13 -0
- package/dist/_types/atoms/Arrow/Arrow.d.ts +6 -0
- package/dist/_types/atoms/AsyncMultiSelect/AsyncMultiSelect.d.ts +83 -0
- package/dist/_types/atoms/AsyncSelect/AsyncSelect.d.ts +74 -0
- package/dist/_types/atoms/Avatar/Avatar.d.ts +21 -0
- package/dist/_types/atoms/Button/Button.d.ts +64 -0
- package/dist/_types/atoms/Checkbox/Checkbox.d.ts +22 -0
- package/dist/_types/atoms/CloseButton/CloseButton.d.ts +25 -0
- package/dist/_types/atoms/Code/Code.d.ts +21 -0
- package/dist/_types/atoms/Collapsible/Collapsible.d.ts +37 -0
- package/dist/_types/atoms/Columns/Columns.d.ts +39 -0
- package/dist/_types/atoms/Container/Container.d.ts +48 -0
- package/dist/_types/atoms/CopyableValue/CopyableValue.d.ts +25 -0
- package/dist/_types/atoms/DescriptionList/DescriptionList.d.ts +78 -0
- package/dist/_types/atoms/DotsButton/DotsButton.d.ts +14 -0
- package/dist/_types/atoms/ErrorBoundary/ErrorBoundary.d.ts +25 -0
- package/dist/_types/atoms/ErrorText/ErrorText.d.ts +34 -0
- package/dist/_types/atoms/Fieldset/Fieldset.d.ts +22 -0
- package/dist/_types/atoms/Figure/Figure.d.ts +44 -0
- package/dist/_types/atoms/FileUpload/FileUpload.d.ts +66 -0
- package/dist/_types/atoms/FileUpload/validate.d.ts +14 -0
- package/dist/_types/atoms/Heading/Heading.d.ts +20 -0
- package/dist/_types/atoms/Icon/Icon.d.ts +335 -0
- package/dist/_types/atoms/Inline/Inline.d.ts +34 -0
- package/dist/_types/atoms/Input/Input.d.ts +23 -0
- package/dist/_types/atoms/InputPhone/InputPhone.d.ts +51 -0
- package/dist/_types/atoms/Kbd/Kbd.d.ts +16 -0
- package/dist/_types/atoms/Label/Label.d.ts +24 -0
- package/dist/_types/atoms/Link/Link.d.ts +34 -0
- package/dist/_types/atoms/List/List.d.ts +36 -0
- package/dist/_types/atoms/Logo/Logo.d.ts +15 -0
- package/dist/_types/atoms/Logo/index.d.ts +3 -0
- package/dist/_types/atoms/Logo/logoAssets.d.ts +10 -0
- package/dist/_types/atoms/Logomark/Logomark.d.ts +20 -0
- package/dist/_types/atoms/Logomark/index.d.ts +3 -0
- package/dist/_types/atoms/Logomark/logomarkAssets.d.ts +14 -0
- package/dist/_types/atoms/MenuButton/MenuButton.d.ts +18 -0
- package/dist/_types/atoms/MessageBubble/MessageBubble.d.ts +20 -0
- package/dist/_types/atoms/MultiSelect/MultiSelect.d.ts +57 -0
- package/dist/_types/atoms/NumberBadge/NumberBadge.d.ts +19 -0
- package/dist/_types/atoms/NumberInput/NumberInput.d.ts +42 -0
- package/dist/_types/atoms/OtpInput/OtpInput.d.ts +51 -0
- package/dist/_types/atoms/Paragraph/Paragraph.d.ts +7 -0
- package/dist/_types/atoms/Popover/Popover.d.ts +70 -0
- package/dist/_types/atoms/ProgressBar/ProgressBar.d.ts +19 -0
- package/dist/_types/atoms/Radio/Radio.d.ts +19 -0
- package/dist/_types/atoms/RadioGroup/RadioGroup.d.ts +41 -0
- package/dist/_types/atoms/RadioGroup/RadioGroupContext.d.ts +15 -0
- package/dist/_types/atoms/ScrollArea/ScrollArea.d.ts +30 -0
- package/dist/_types/atoms/Select/Select.d.ts +139 -0
- package/dist/_types/atoms/Separator/Separator.d.ts +25 -0
- package/dist/_types/atoms/Skeleton/Skeleton.d.ts +22 -0
- package/dist/_types/atoms/SkipLink/SkipLink.d.ts +15 -0
- package/dist/_types/atoms/Slider/Slider.d.ts +39 -0
- package/dist/_types/atoms/Sparkline/Sparkline.d.ts +41 -0
- package/dist/_types/atoms/Spinner/Spinner.d.ts +10 -0
- package/dist/_types/atoms/Stack/Stack.d.ts +39 -0
- package/dist/_types/atoms/StarRating/StarRating.d.ts +55 -0
- package/dist/_types/atoms/StepMarker/StepMarker.d.ts +35 -0
- package/dist/_types/atoms/Switcher/Switcher.d.ts +22 -0
- package/dist/_types/atoms/Tabs/Tabs.d.ts +35 -0
- package/dist/_types/atoms/Tag/Tag.d.ts +12 -0
- package/dist/_types/atoms/Text/Text.d.ts +55 -0
- package/dist/_types/atoms/Textarea/Textarea.d.ts +25 -0
- package/dist/_types/atoms/TimeSelect/TimeSelect.d.ts +48 -0
- package/dist/_types/atoms/Toggle/Toggle.d.ts +42 -0
- package/dist/_types/atoms/ToggleGroup/ToggleGroup.d.ts +41 -0
- package/dist/_types/atoms/ToggleGroup/ToggleGroupContext.d.ts +7 -0
- package/dist/_types/atoms/Tooltip/Tooltip.d.ts +61 -0
- package/dist/_types/atoms/TypingIndicator/TypingIndicator.d.ts +7 -0
- package/dist/_types/atoms/VisuallyHidden/VisuallyHidden.d.ts +19 -0
- package/dist/_types/constants/copy-to-clipboard.d.ts +34 -0
- package/dist/_types/constants/css-properties.d.ts +23 -0
- package/dist/_types/constants/env.d.ts +7 -0
- package/dist/_types/constants/field-labels.d.ts +15 -0
- package/dist/_types/constants/form-size.d.ts +8 -0
- package/dist/_types/data/home.d.ts +83 -0
- package/dist/_types/email/Email.d.ts +6 -0
- package/dist/_types/email/EmailLayout.d.ts +96 -0
- package/dist/_types/email/EmailPreview.d.ts +6 -0
- package/dist/_types/email/EmailPrimitives.d.ts +164 -0
- package/dist/_types/email/emailTheme.d.ts +225 -0
- package/dist/_types/email/emailTokens.d.ts +70 -0
- package/dist/_types/molecules/Alert/Alert.d.ts +39 -0
- package/dist/_types/molecules/AppLauncher/AppLauncher.d.ts +42 -0
- package/dist/_types/molecules/AssistantMessage/AssistantMessage.d.ts +34 -0
- package/dist/_types/molecules/AsyncMultiSelectField/AsyncMultiSelectField.d.ts +54 -0
- package/dist/_types/molecules/AsyncSelectField/AsyncSelectField.d.ts +53 -0
- package/dist/_types/molecules/AvatarUpload/AvatarUpload.d.ts +125 -0
- package/dist/_types/molecules/Banner/Banner.d.ts +40 -0
- package/dist/_types/molecules/Breadcrumb/Breadcrumb.d.ts +23 -0
- package/dist/_types/molecules/Calendar/Calendar.d.ts +58 -0
- package/dist/_types/molecules/CalendarPlanner/CalendarPlanner.d.ts +71 -0
- package/dist/_types/molecules/CalendarRoster/CalendarRoster.d.ts +78 -0
- package/dist/_types/molecules/Card/Card.d.ts +141 -0
- package/dist/_types/molecules/Carousel/Carousel.d.ts +75 -0
- package/dist/_types/molecules/CheckboxField/CheckboxField.d.ts +41 -0
- package/dist/_types/molecules/CodeBlock/CodeBlock.d.ts +72 -0
- package/dist/_types/molecules/CommandPalette/CommandPalette.d.ts +60 -0
- package/dist/_types/molecules/ConfirmDialog/ConfirmDialog.d.ts +84 -0
- package/dist/_types/molecules/Consent/Consent.d.ts +127 -0
- package/dist/_types/molecules/ContextMenu/ContextMenu.d.ts +25 -0
- package/dist/_types/molecules/ConversationList/ConversationList.d.ts +55 -0
- package/dist/_types/molecules/CopyButton/CopyButton.d.ts +57 -0
- package/dist/_types/molecules/DatePicker/DatePicker.d.ts +87 -0
- package/dist/_types/molecules/DatePicker/dateMask.d.ts +21 -0
- package/dist/_types/molecules/DatePickerField/DatePickerField.d.ts +26 -0
- package/dist/_types/molecules/DateTimeField/DateTimeField.d.ts +69 -0
- package/dist/_types/molecules/DocsSearch/DocsSearch.d.ts +95 -0
- package/dist/_types/molecules/DropdownField/DropdownField.d.ts +47 -0
- package/dist/_types/molecules/EmptyState/EmptyState.d.ts +14 -0
- package/dist/_types/molecules/FieldRow/FieldRow.d.ts +70 -0
- package/dist/_types/molecules/FileUploadField/FileUploadField.d.ts +30 -0
- package/dist/_types/molecules/FilterBar/FilterBar.d.ts +44 -0
- package/dist/_types/molecules/Form/Form.d.ts +34 -0
- package/dist/_types/molecules/FormField/FormField.d.ts +70 -0
- package/dist/_types/molecules/ImageCropDialog/ImageCropDialog.d.ts +42 -0
- package/dist/_types/molecules/ImageCropDialog/crop.d.ts +33 -0
- package/dist/_types/molecules/InputField/InputField.d.ts +60 -0
- package/dist/_types/molecules/InputPhoneField/InputPhoneField.d.ts +45 -0
- package/dist/_types/molecules/LanguageSwitcher/LanguageSwitcher.d.ts +58 -0
- package/dist/_types/molecules/Menu/Menu.d.ts +39 -0
- package/dist/_types/molecules/MessageComposer/MessageComposer.d.ts +45 -0
- package/dist/_types/molecules/Modal/Modal.d.ts +71 -0
- package/dist/_types/molecules/MultiSelectField/MultiSelectField.d.ts +42 -0
- package/dist/_types/molecules/NotificationButton/NotificationButton.d.ts +25 -0
- package/dist/_types/molecules/NotificationList/NotificationList.d.ts +85 -0
- package/dist/_types/molecules/NotificationPanel/NotificationPanel.d.ts +94 -0
- package/dist/_types/molecules/NumberInputField/NumberInputField.d.ts +38 -0
- package/dist/_types/molecules/OrgSwitcher/OrgSwitcher.d.ts +23 -0
- package/dist/_types/molecules/OtpField/OtpField.d.ts +41 -0
- package/dist/_types/molecules/PageIntro/PageIntro.d.ts +48 -0
- package/dist/_types/molecules/Pagination/Pagination.d.ts +92 -0
- package/dist/_types/molecules/PasswordField/PasswordField.d.ts +40 -0
- package/dist/_types/molecules/PrevNextNav/PrevNextNav.d.ts +50 -0
- package/dist/_types/molecules/ProjectCard/ProjectCard.d.ts +48 -0
- package/dist/_types/molecules/Prose/Prose.d.ts +36 -0
- package/dist/_types/molecules/RadioField/RadioField.d.ts +29 -0
- package/dist/_types/molecules/RecoveryCodes/RecoveryCodes.d.ts +48 -0
- package/dist/_types/molecules/SearchForm/SearchForm.d.ts +66 -0
- package/dist/_types/molecules/SelectField/SelectField.d.ts +44 -0
- package/dist/_types/molecules/Sheet/Sheet.d.ts +56 -0
- package/dist/_types/molecules/SidebarNav/SidebarNav.d.ts +59 -0
- package/dist/_types/molecules/SiteNav/SiteNav.d.ts +52 -0
- package/dist/_types/molecules/StatTile/StatTile.d.ts +47 -0
- package/dist/_types/molecules/Stepper/Stepper.d.ts +88 -0
- package/dist/_types/molecules/SwitcherField/SwitcherField.d.ts +42 -0
- package/dist/_types/molecules/Table/Table.d.ts +103 -0
- package/dist/_types/molecules/TableOfContents/TableOfContents.d.ts +49 -0
- package/dist/_types/molecules/TextareaField/TextareaField.d.ts +35 -0
- package/dist/_types/molecules/ThemeSwitcher/ThemeSwitcher.d.ts +42 -0
- package/dist/_types/molecules/TimeField/TimeField.d.ts +44 -0
- package/dist/_types/molecules/Toast/Toaster.d.ts +42 -0
- package/dist/_types/molecules/Toast/toast.d.ts +101 -0
- package/dist/_types/molecules/TreeView/TreeView.d.ts +93 -0
- package/dist/_types/molecules/UptimeBars/UptimeBars.d.ts +64 -0
- package/dist/_types/molecules/UptimeBars/uptimeStatus.d.ts +17 -0
- package/dist/_types/molecules/UserMenu/UserMenu.d.ts +19 -0
- package/dist/_types/molecules/UserMessage/UserMessage.d.ts +35 -0
- package/dist/_types/molecules/_shared/calendarGrid.d.ts +114 -0
- package/dist/_types/molecules/_shared/dialogSurface.d.ts +30 -0
- package/dist/_types/molecules/_shared/dropdownItems.d.ts +71 -0
- package/dist/_types/molecules/_shared/messageTimestamp.d.ts +20 -0
- package/dist/_types/og/index.d.ts +5 -0
- package/dist/_types/og/ogCard.d.ts +27 -0
- package/dist/_types/og/ogFonts.d.ts +22 -0
- package/dist/_types/og/ogTypeface.d.ts +12 -0
- package/dist/_types/organisms/AnnotationThread/AnnotationThread.d.ts +61 -0
- package/dist/_types/organisms/Chart/Chart.d.ts +114 -0
- package/dist/_types/organisms/ConversationThread/ConversationThread.d.ts +44 -0
- package/dist/_types/organisms/DataTable/DataTable.d.ts +100 -0
- package/dist/_types/organisms/Steps/Steps.d.ts +69 -0
- package/dist/_types/pages/Auth/AuthPage.d.ts +24 -0
- package/dist/_types/pages/Onboarding/OnboardingPage.d.ts +37 -0
- package/dist/_types/pages/Status/StatusPage.d.ts +37 -0
- package/dist/_types/pages/Status/_datos.d.ts +47 -0
- package/dist/_types/sections/AppHeader/AppHeader.d.ts +23 -0
- package/dist/_types/sections/AppRoot/AppRoot.d.ts +16 -0
- package/dist/_types/sections/AppShell/AppShell.d.ts +30 -0
- package/dist/_types/sections/AppShell/AppShellContext.d.ts +16 -0
- package/dist/_types/sections/AppShell/_datos.d.ts +6 -0
- package/dist/_types/sections/FloatingDock/FloatingDock.d.ts +72 -0
- package/dist/_types/sections/Hero/Hero.d.ts +28 -0
- package/dist/_types/sections/Highlight/Highlight.d.ts +42 -0
- package/dist/_types/sections/LegalFooter/LegalFooter.d.ts +35 -0
- package/dist/_types/sections/Sidebar/Sidebar.d.ts +37 -0
- package/dist/_types/sections/Sidebar/SidebarContext.d.ts +6 -0
- package/dist/_types/sections/SiteFooter/SiteFooter.d.ts +68 -0
- package/dist/_types/sections/SiteHeader/SiteHeader.d.ts +58 -0
- package/dist/_types/sections/SiteShell/SiteShell.d.ts +26 -0
- package/dist/_types/templates/ChatShell/ChatShell.d.ts +53 -0
- package/dist/_types/templates/ConnectorAuth/ConnectorAuthShell.d.ts +73 -0
- package/dist/_types/templates/ConnectorAuth/ConnectorConsentPage.d.ts +129 -0
- package/dist/_types/templates/ConnectorAuth/ConnectorExternalSignInPage.d.ts +87 -0
- package/dist/_types/templates/ConnectorAuth/ConnectorRejectionPage.d.ts +69 -0
- package/dist/_types/templates/ConnectorAuth/ConnectorRequestSummary.d.ts +74 -0
- package/dist/_types/templates/ConnectorAuth/ConnectorSignInPage.d.ts +69 -0
- package/dist/_types/templates/ConnectorAuth/UntrustedText.d.ts +55 -0
- package/dist/_types/templates/ErrorPage/ErrorPage.d.ts +35 -0
- package/dist/_types/templates/NotFoundPage/NotFoundPage.d.ts +30 -0
- package/dist/_types/templates/OnboardingShell/OnboardingShell.d.ts +104 -0
- package/dist/_types/templates/PublicPageShell/PublicPageShell.d.ts +59 -0
- package/dist/_types/tokens/tokens.d.ts +24 -0
- package/dist/_types/utils/chromaticModes.d.ts +46 -0
- package/dist/_types/utils/storyDate.d.ts +11 -0
- package/dist/accordion.css +1 -0
- package/dist/accordion.js +89 -0
- package/dist/alert.css +1 -0
- package/dist/alert.js +78 -0
- package/dist/annotation-thread.css +1 -0
- package/dist/annotation-thread.js +98 -0
- package/dist/app-header.css +1 -0
- package/dist/app-header.js +37 -0
- package/dist/app-launcher.css +1 -0
- package/dist/app-launcher.js +119 -0
- package/dist/app-root.js +11 -0
- package/dist/app-shell.css +1 -0
- package/dist/app-shell.js +83 -0
- package/dist/arrow.css +1 -0
- package/dist/arrow.js +24 -0
- package/dist/assets/email/google-sans-flex-normal-latin-v1.woff2 +0 -0
- package/dist/assets/email/logo-v3.png +0 -0
- package/dist/assets/fonts/google-sans-code/LICENSE.txt +93 -0
- package/dist/assets/fonts/google-sans-code/google-sans-code-italic-latin-ext.woff2 +0 -0
- package/dist/assets/fonts/google-sans-code/google-sans-code-italic-latin.woff2 +0 -0
- package/dist/assets/fonts/google-sans-code/google-sans-code-normal-latin-ext.woff2 +0 -0
- package/dist/assets/fonts/google-sans-code/google-sans-code-normal-latin.woff2 +0 -0
- package/dist/assets/fonts/google-sans-flex/LICENSE.txt +91 -0
- package/dist/assets/fonts/google-sans-flex/README.md +29 -0
- package/dist/assets/fonts/google-sans-flex/google-sans-flex-normal-300.ttf +0 -0
- package/dist/assets/fonts/google-sans-flex/google-sans-flex-normal-500.ttf +0 -0
- package/dist/assets/fonts/google-sans-flex/google-sans-flex-normal-latin-ext.woff2 +0 -0
- package/dist/assets/fonts/google-sans-flex/google-sans-flex-normal-latin.woff2 +0 -0
- package/dist/assets/fonts/libre-bodoni/LICENSE.txt +93 -0
- package/dist/assets/fonts/libre-bodoni/libre-bodoni-italic-latin-ext.woff2 +0 -0
- package/dist/assets/fonts/libre-bodoni/libre-bodoni-italic-latin.woff2 +0 -0
- package/dist/assets/fonts/libre-bodoni/libre-bodoni-normal-latin-ext.woff2 +0 -0
- package/dist/assets/fonts/libre-bodoni/libre-bodoni-normal-latin.woff2 +0 -0
- package/dist/assets/icons/apple-touch-icon.png +0 -0
- package/dist/assets/icons/favicon.ico +0 -0
- package/dist/assets/icons/icon-192.png +0 -0
- package/dist/assets/icons/icon-512-maskable.png +0 -0
- package/dist/assets/icons/icon-512.png +0 -0
- package/dist/assets/icons/icon.svg +8 -0
- package/dist/assets/icons/manifest.webmanifest +25 -0
- package/dist/assets/logo.svg +12 -0
- package/dist/assets/logomark-safe.svg +7 -0
- package/dist/assets/logomark.svg +6 -0
- package/dist/assistant-message.css +1 -0
- package/dist/assistant-message.js +32 -0
- package/dist/async-multi-select-field.css +1 -0
- package/dist/async-multi-select-field.js +58 -0
- package/dist/async-multi-select.css +1 -0
- package/dist/async-multi-select.js +196 -0
- package/dist/async-select-field.css +1 -0
- package/dist/async-select-field.js +57 -0
- package/dist/async-select.css +1 -0
- package/dist/async-select.js +172 -0
- package/dist/avatar-upload.css +1 -0
- package/dist/avatar-upload.js +176 -0
- package/dist/avatar.css +1 -0
- package/dist/avatar.js +34 -0
- package/dist/banner.css +1 -0
- package/dist/banner.js +39 -0
- package/dist/brand-assets.js +75 -0
- package/dist/brand.css +6644 -0
- package/dist/breadcrumb.css +1 -0
- package/dist/breadcrumb.js +39 -0
- package/dist/button.css +1 -0
- package/dist/button.js +60 -0
- package/dist/calendar-planner.css +1 -0
- package/dist/calendar-planner.js +123 -0
- package/dist/calendar-roster.css +1 -0
- package/dist/calendar-roster.js +143 -0
- package/dist/calendar.css +1 -0
- package/dist/calendar.js +178 -0
- package/dist/card.css +1 -0
- package/dist/card.js +115 -0
- package/dist/carousel.css +1 -0
- package/dist/carousel.js +124 -0
- package/dist/chart.css +1 -0
- package/dist/chart.js +670 -0
- package/dist/chat-shell.css +1 -0
- package/dist/chat-shell.js +83 -0
- package/dist/checkbox-field.css +1 -0
- package/dist/checkbox-field.js +55 -0
- package/dist/checkbox.css +1 -0
- package/dist/checkbox.js +35 -0
- package/dist/close-button.css +1 -0
- package/dist/close-button.js +22 -0
- package/dist/code-block.css +1 -0
- package/dist/code-block.js +77 -0
- package/dist/code.css +1 -0
- package/dist/code.js +14 -0
- package/dist/collapsible.css +1 -0
- package/dist/collapsible.js +41 -0
- package/dist/columns.css +1 -0
- package/dist/columns.js +26 -0
- package/dist/command-palette.css +1 -0
- package/dist/command-palette.js +77 -0
- package/dist/confirm-dialog.css +1 -0
- package/dist/confirm-dialog.js +64 -0
- package/dist/connector-auth-shell.js +37 -0
- package/dist/connector-consent-page.js +89 -0
- package/dist/connector-external-sign-in-page.js +71 -0
- package/dist/connector-rejection-page.js +77 -0
- package/dist/connector-request-summary.css +1 -0
- package/dist/connector-request-summary.js +36 -0
- package/dist/connector-sign-in-page.js +65 -0
- package/dist/consent.css +1 -0
- package/dist/consent.js +109 -0
- package/dist/container.css +1 -0
- package/dist/container.js +28 -0
- package/dist/context-menu.js +23 -0
- package/dist/conversation-list.css +1 -0
- package/dist/conversation-list.js +100 -0
- package/dist/conversation-thread.css +1 -0
- package/dist/conversation-thread.js +42 -0
- package/dist/copy-button.css +1 -0
- package/dist/copy-button.js +45 -0
- package/dist/copyable-value.css +1 -0
- package/dist/copyable-value.js +100 -0
- package/dist/data-table.css +1 -0
- package/dist/data-table.js +1677 -0
- package/dist/date-picker-field.css +1 -0
- package/dist/date-picker-field.js +44 -0
- package/dist/date-picker.js +3 -0
- package/dist/date-time-field.css +1 -0
- package/dist/date-time-field.js +104 -0
- package/dist/datepicker.css +1 -0
- package/dist/description-list.css +1 -0
- package/dist/description-list.js +45 -0
- package/dist/dialogsurface.css +1 -0
- package/dist/docs-search.css +1 -0
- package/dist/docs-search.js +78 -0
- package/dist/dots-button.css +1 -0
- package/dist/dots-button.js +29 -0
- package/dist/dropdown-field.css +1 -0
- package/dist/dropdown-field.js +73 -0
- package/dist/email.js +440 -0
- package/dist/empty-state.css +1 -0
- package/dist/empty-state.js +39 -0
- package/dist/error-boundary.js +18 -0
- package/dist/error-page.js +28 -0
- package/dist/error-text.css +1 -0
- package/dist/error-text.js +15 -0
- package/dist/field-row.css +1 -0
- package/dist/field-row.js +55 -0
- package/dist/fieldset.css +1 -0
- package/dist/fieldset.js +22 -0
- package/dist/figure.css +1 -0
- package/dist/figure.js +40 -0
- package/dist/file-upload-field.css +1 -0
- package/dist/file-upload-field.js +43 -0
- package/dist/file-upload.css +1 -0
- package/dist/file-upload.js +199 -0
- package/dist/filter-bar.css +1 -0
- package/dist/filter-bar.js +31 -0
- package/dist/floating-dock.css +1 -0
- package/dist/floating-dock.js +79 -0
- package/dist/fonts.css +113 -0
- package/dist/form-field.css +1 -0
- package/dist/form-field.js +110 -0
- package/dist/form.css +1 -0
- package/dist/form.js +63 -0
- package/dist/heading.css +1 -0
- package/dist/heading.js +19 -0
- package/dist/hero.css +1 -0
- package/dist/hero.js +41 -0
- package/dist/highlight.css +1 -0
- package/dist/highlight.js +54 -0
- package/dist/icon.css +1 -0
- package/dist/icon.js +1745 -0
- package/dist/image-crop-dialog.js +3 -0
- package/dist/imagecropdialog.css +1 -0
- package/dist/inline.css +1 -0
- package/dist/inline.js +18 -0
- package/dist/input-field.css +1 -0
- package/dist/input-field.js +100 -0
- package/dist/input-phone-field.css +1 -0
- package/dist/input-phone-field.js +55 -0
- package/dist/input-phone.css +1 -0
- package/dist/input-phone.js +88 -0
- package/dist/input.css +1 -0
- package/dist/input.js +22 -0
- package/dist/kbd.css +1 -0
- package/dist/kbd.js +18 -0
- package/dist/label.css +1 -0
- package/dist/label.js +19 -0
- package/dist/language-switcher.css +1 -0
- package/dist/language-switcher.js +77 -0
- package/dist/legal-footer.css +1 -0
- package/dist/legal-footer.js +42 -0
- package/dist/link.css +1 -0
- package/dist/link.js +45 -0
- package/dist/list.css +1 -0
- package/dist/list.js +25 -0
- package/dist/logo.css +1 -0
- package/dist/logo.js +4 -0
- package/dist/logomark.css +1 -0
- package/dist/logomark.js +26 -0
- package/dist/menu-button.css +1 -0
- package/dist/menu-button.js +27 -0
- package/dist/menu.css +1 -0
- package/dist/menu.js +51 -0
- package/dist/message-bubble.css +1 -0
- package/dist/message-bubble.js +18 -0
- package/dist/message-composer.css +1 -0
- package/dist/message-composer.js +57 -0
- package/dist/modal.css +1 -0
- package/dist/modal.js +61 -0
- package/dist/multi-select-field.css +1 -0
- package/dist/multi-select-field.js +54 -0
- package/dist/multi-select.css +1 -0
- package/dist/multi-select.js +192 -0
- package/dist/not-found-page.js +20 -0
- package/dist/notification-button.css +1 -0
- package/dist/notification-button.js +32 -0
- package/dist/notification-list.css +1 -0
- package/dist/notification-list.js +71 -0
- package/dist/notification-panel.css +1 -0
- package/dist/notification-panel.js +145 -0
- package/dist/number-badge.css +1 -0
- package/dist/number-badge.js +19 -0
- package/dist/number-input-field.css +1 -0
- package/dist/number-input-field.js +52 -0
- package/dist/number-input.css +1 -0
- package/dist/number-input.js +89 -0
- package/dist/og.js +121 -0
- package/dist/onboarding-shell.css +1 -0
- package/dist/onboarding-shell.js +69 -0
- package/dist/org-switcher.css +1 -0
- package/dist/org-switcher.js +81 -0
- package/dist/otp-field.css +1 -0
- package/dist/otp-field.js +54 -0
- package/dist/otp-input.css +1 -0
- package/dist/otp-input.js +115 -0
- package/dist/page-intro.css +1 -0
- package/dist/page-intro.js +31 -0
- package/dist/pagination.css +1 -0
- package/dist/pagination.js +178 -0
- package/dist/paragraph.css +1 -0
- package/dist/paragraph.js +18 -0
- package/dist/password-field.css +1 -0
- package/dist/password-field.js +65 -0
- package/dist/popover.css +1 -0
- package/dist/popover.js +36 -0
- package/dist/prev-next-nav.css +1 -0
- package/dist/prev-next-nav.js +82 -0
- package/dist/progress-bar.js +2 -0
- package/dist/progressbar.css +1 -0
- package/dist/project-card.css +1 -0
- package/dist/project-card.js +55 -0
- package/dist/prose.css +1 -0
- package/dist/prose.js +19 -0
- package/dist/public-page-shell.css +1 -0
- package/dist/public-page-shell.js +34 -0
- package/dist/radio-field.css +1 -0
- package/dist/radio-field.js +49 -0
- package/dist/radio-group.css +1 -0
- package/dist/radio-group.js +33 -0
- package/dist/radio.css +1 -0
- package/dist/radio.js +30 -0
- package/dist/recovery-codes.css +1 -0
- package/dist/recovery-codes.js +35 -0
- package/dist/scroll-area.css +1 -0
- package/dist/scroll-area.js +37 -0
- package/dist/search-form.css +1 -0
- package/dist/search-form.js +55 -0
- package/dist/select-field.css +1 -0
- package/dist/select-field.js +67 -0
- package/dist/select.css +1 -0
- package/dist/select.js +156 -0
- package/dist/separator.css +1 -0
- package/dist/separator.js +19 -0
- package/dist/sheet.css +1 -0
- package/dist/sheet.js +53 -0
- package/dist/sidebar-nav.css +1 -0
- package/dist/sidebar-nav.js +225 -0
- package/dist/sidebar.css +1 -0
- package/dist/sidebar.js +122 -0
- package/dist/site-footer.css +1 -0
- package/dist/site-footer.js +72 -0
- package/dist/site-header.css +1 -0
- package/dist/site-header.js +80 -0
- package/dist/site-nav.css +1 -0
- package/dist/site-nav.js +54 -0
- package/dist/site-shell.css +1 -0
- package/dist/site-shell.js +20 -0
- package/dist/skeleton.css +1 -0
- package/dist/skeleton.js +18 -0
- package/dist/skip-link.css +1 -0
- package/dist/skip-link.js +18 -0
- package/dist/slider.css +1 -0
- package/dist/slider.js +35 -0
- package/dist/sparkline.css +1 -0
- package/dist/sparkline.js +55 -0
- package/dist/spinner.css +1 -0
- package/dist/spinner.js +34 -0
- package/dist/stack.css +1 -0
- package/dist/stack.js +18 -0
- package/dist/star-rating.css +1 -0
- package/dist/star-rating.js +80 -0
- package/dist/stat-tile.css +1 -0
- package/dist/stat-tile.js +64 -0
- package/dist/step-marker.css +1 -0
- package/dist/step-marker.js +26 -0
- package/dist/stepper.css +1 -0
- package/dist/stepper.js +67 -0
- package/dist/steps.css +1 -0
- package/dist/steps.js +94 -0
- package/dist/switcher-field.css +1 -0
- package/dist/switcher-field.js +61 -0
- package/dist/switcher.css +1 -0
- package/dist/switcher.js +32 -0
- package/dist/table-of-contents.css +1 -0
- package/dist/table-of-contents.js +45 -0
- package/dist/table.css +1 -0
- package/dist/table.js +122 -0
- package/dist/tabs.css +1 -0
- package/dist/tabs.js +43 -0
- package/dist/tag.css +1 -0
- package/dist/tag.js +18 -0
- package/dist/text.css +1 -0
- package/dist/text.js +24 -0
- package/dist/textarea-field.css +1 -0
- package/dist/textarea-field.js +53 -0
- package/dist/textarea.css +1 -0
- package/dist/textarea.js +22 -0
- package/dist/theme-switcher.css +1 -0
- package/dist/theme-switcher.js +106 -0
- package/dist/time-field.css +1 -0
- package/dist/time-field.js +54 -0
- package/dist/time-select.css +1 -0
- package/dist/time-select.js +84 -0
- package/dist/toast.js +88 -0
- package/dist/toaster.css +1 -0
- package/dist/toaster.js +80 -0
- package/dist/toggle-group.css +1 -0
- package/dist/toggle-group.js +30 -0
- package/dist/toggle.css +1 -0
- package/dist/toggle.js +23 -0
- package/dist/tokens.css +6545 -0
- package/dist/tokens.js +2 -0
- package/dist/tooltip.css +1 -0
- package/dist/tooltip.js +60 -0
- package/dist/tree-view.css +1 -0
- package/dist/tree-view.js +165 -0
- package/dist/typing-indicator.css +1 -0
- package/dist/typing-indicator.js +27 -0
- package/dist/untrustedtext.css +1 -0
- package/dist/uptime-bars.css +1 -0
- package/dist/uptime-bars.js +100 -0
- package/dist/user-menu.css +1 -0
- package/dist/user-menu.js +85 -0
- package/dist/user-message.css +1 -0
- package/dist/user-message.js +31 -0
- package/dist/visually-hidden.js +14 -0
- package/dist/visuallyhidden.css +1 -0
- package/package.json +786 -0
- package/src/tokens/border.ts +13 -0
- package/src/tokens/breakpoint.ts +4 -0
- package/src/tokens/chart-palette.ts +5 -0
- package/src/tokens/colors.ts +168 -0
- package/src/tokens/components/accordion.css +32 -0
- package/src/tokens/components/accordion.ts +7 -0
- package/src/tokens/components/alert.ts +14 -0
- package/src/tokens/components/app-header.css +24 -0
- package/src/tokens/components/app-header.ts +4 -0
- package/src/tokens/components/app-launcher.ts +7 -0
- package/src/tokens/components/arrow.css +9 -0
- package/src/tokens/components/arrow.ts +4 -0
- package/src/tokens/components/assistant-message.ts +7 -0
- package/src/tokens/components/async-multi-select.css +64 -0
- package/src/tokens/components/async-multi-select.ts +13 -0
- package/src/tokens/components/async-select.css +56 -0
- package/src/tokens/components/async-select.ts +13 -0
- package/src/tokens/components/avatar.css +33 -0
- package/src/tokens/components/avatar.ts +4 -0
- package/src/tokens/components/breadcrumb.css +34 -0
- package/src/tokens/components/breadcrumb.ts +7 -0
- package/src/tokens/components/button.css +230 -0
- package/src/tokens/components/button.ts +13 -0
- package/src/tokens/components/card.css +43 -0
- package/src/tokens/components/card.ts +7 -0
- package/src/tokens/components/chat-shell.ts +7 -0
- package/src/tokens/components/chat.css +7 -0
- package/src/tokens/components/checkbox.css +44 -0
- package/src/tokens/components/checkbox.ts +9 -0
- package/src/tokens/components/close-button.css +22 -0
- package/src/tokens/components/close-button.ts +4 -0
- package/src/tokens/components/code-block.css +62 -0
- package/src/tokens/components/code-block.ts +11 -0
- package/src/tokens/components/code.css +13 -0
- package/src/tokens/components/code.ts +4 -0
- package/src/tokens/components/collapsible.css +29 -0
- package/src/tokens/components/collapsible.ts +7 -0
- package/src/tokens/components/columns.css +13 -0
- package/src/tokens/components/columns.ts +4 -0
- package/src/tokens/components/container.css +17 -0
- package/src/tokens/components/container.ts +7 -0
- package/src/tokens/components/control.css +22 -0
- package/src/tokens/components/conversation-list.ts +10 -0
- package/src/tokens/components/conversation-thread.ts +4 -0
- package/src/tokens/components/copyable-value.css +7 -0
- package/src/tokens/components/copyable-value.ts +4 -0
- package/src/tokens/components/description-list.css +31 -0
- package/src/tokens/components/description-list.ts +7 -0
- package/src/tokens/components/empty-state.ts +7 -0
- package/src/tokens/components/figure.css +24 -0
- package/src/tokens/components/figure.ts +7 -0
- package/src/tokens/components/file-upload.css +101 -0
- package/src/tokens/components/file-upload.ts +16 -0
- package/src/tokens/components/floating-dock.css +50 -0
- package/src/tokens/components/floating-dock.ts +4 -0
- package/src/tokens/components/floating-panel.css +22 -0
- package/src/tokens/components/hero.css +13 -0
- package/src/tokens/components/hero.ts +4 -0
- package/src/tokens/components/highlight.css +11 -0
- package/src/tokens/components/highlight.ts +4 -0
- package/src/tokens/components/icon.css +11 -0
- package/src/tokens/components/image-crop-dialog.ts +7 -0
- package/src/tokens/components/inline.css +9 -0
- package/src/tokens/components/inline.ts +4 -0
- package/src/tokens/components/input-phone.css +29 -0
- package/src/tokens/components/input-phone.ts +4 -0
- package/src/tokens/components/input.css +64 -0
- package/src/tokens/components/input.ts +11 -0
- package/src/tokens/components/kbd.css +35 -0
- package/src/tokens/components/kbd.ts +8 -0
- package/src/tokens/components/label.css +21 -0
- package/src/tokens/components/label.ts +10 -0
- package/src/tokens/components/legal-footer.css +10 -0
- package/src/tokens/components/legal-footer.ts +4 -0
- package/src/tokens/components/link.css +35 -0
- package/src/tokens/components/link.ts +4 -0
- package/src/tokens/components/logo.css +19 -0
- package/src/tokens/components/logo.ts +4 -0
- package/src/tokens/components/logomark.css +18 -0
- package/src/tokens/components/logomark.ts +4 -0
- package/src/tokens/components/menu-button.css +24 -0
- package/src/tokens/components/menu-button.ts +4 -0
- package/src/tokens/components/menu.ts +9 -0
- package/src/tokens/components/message-bubble.css +29 -0
- package/src/tokens/components/message-bubble.ts +8 -0
- package/src/tokens/components/message-composer.ts +9 -0
- package/src/tokens/components/modal.ts +7 -0
- package/src/tokens/components/multi-select.css +72 -0
- package/src/tokens/components/multi-select.ts +11 -0
- package/src/tokens/components/number-badge.css +39 -0
- package/src/tokens/components/number-badge.ts +7 -0
- package/src/tokens/components/number-input.css +54 -0
- package/src/tokens/components/number-input.ts +11 -0
- package/src/tokens/components/org-switcher.ts +4 -0
- package/src/tokens/components/otp-input.css +8 -0
- package/src/tokens/components/otp-input.ts +4 -0
- package/src/tokens/components/popover.css +27 -0
- package/src/tokens/components/popover.ts +7 -0
- package/src/tokens/components/progress-bar.css +47 -0
- package/src/tokens/components/progress-bar.ts +10 -0
- package/src/tokens/components/radio-group.css +8 -0
- package/src/tokens/components/radio-group.ts +4 -0
- package/src/tokens/components/radio.css +39 -0
- package/src/tokens/components/radio.ts +11 -0
- package/src/tokens/components/scroll-area.css +25 -0
- package/src/tokens/components/scroll-area.ts +7 -0
- package/src/tokens/components/select.css +57 -0
- package/src/tokens/components/select.ts +8 -0
- package/src/tokens/components/separator.css +18 -0
- package/src/tokens/components/separator.ts +8 -0
- package/src/tokens/components/sheet.ts +4 -0
- package/src/tokens/components/sidebar-nav.ts +4 -0
- package/src/tokens/components/sidebar.css +42 -0
- package/src/tokens/components/sidebar.ts +4 -0
- package/src/tokens/components/site-footer.css +26 -0
- package/src/tokens/components/site-footer.ts +7 -0
- package/src/tokens/components/site-header.css +35 -0
- package/src/tokens/components/site-header.ts +4 -0
- package/src/tokens/components/site-shell.css +22 -0
- package/src/tokens/components/site-shell.ts +9 -0
- package/src/tokens/components/skeleton.css +20 -0
- package/src/tokens/components/skeleton.ts +7 -0
- package/src/tokens/components/skip-link.css +25 -0
- package/src/tokens/components/skip-link.ts +4 -0
- package/src/tokens/components/slider.css +40 -0
- package/src/tokens/components/slider.ts +7 -0
- package/src/tokens/components/sparkline.css +23 -0
- package/src/tokens/components/sparkline.ts +4 -0
- package/src/tokens/components/spinner.css +13 -0
- package/src/tokens/components/spinner.ts +4 -0
- package/src/tokens/components/stack.css +9 -0
- package/src/tokens/components/stack.ts +4 -0
- package/src/tokens/components/star-rating.css +29 -0
- package/src/tokens/components/star-rating.ts +7 -0
- package/src/tokens/components/step.css +56 -0
- package/src/tokens/components/switcher.css +44 -0
- package/src/tokens/components/switcher.ts +10 -0
- package/src/tokens/components/tabs.css +43 -0
- package/src/tokens/components/tabs.ts +7 -0
- package/src/tokens/components/tag.css +43 -0
- package/src/tokens/components/tag.ts +21 -0
- package/src/tokens/components/text-inline.css +19 -0
- package/src/tokens/components/text-inline.ts +7 -0
- package/src/tokens/components/text.css +91 -0
- package/src/tokens/components/text.ts +24 -0
- package/src/tokens/components/textarea.css +78 -0
- package/src/tokens/components/textarea.ts +13 -0
- package/src/tokens/components/time-select.css +17 -0
- package/src/tokens/components/time-select.ts +7 -0
- package/src/tokens/components/toast.ts +4 -0
- package/src/tokens/components/toggle-group.css +7 -0
- package/src/tokens/components/toggle-group.ts +4 -0
- package/src/tokens/components/toggle.css +50 -0
- package/src/tokens/components/toggle.ts +7 -0
- package/src/tokens/components/tooltip.css +27 -0
- package/src/tokens/components/tooltip.ts +7 -0
- package/src/tokens/components/typing-indicator.css +21 -0
- package/src/tokens/components/typing-indicator.ts +7 -0
- package/src/tokens/components/user-menu.ts +4 -0
- package/src/tokens/components/user-message.ts +7 -0
- package/src/tokens/form.ts +23 -0
- package/src/tokens/global/border.css +18 -0
- package/src/tokens/global/breakpoint.css +12 -0
- package/src/tokens/global/colors.css +105 -0
- package/src/tokens/global/form.css +39 -0
- package/src/tokens/global/motion.css +15 -0
- package/src/tokens/global/opacity.css +10 -0
- package/src/tokens/global/section.css +12 -0
- package/src/tokens/global/shadow.css +12 -0
- package/src/tokens/global/size.css +11 -0
- package/src/tokens/global/spacing.css +14 -0
- package/src/tokens/global/typography.css +39 -0
- package/src/tokens/global/z-index.css +12 -0
- package/src/tokens/icon.ts +4 -0
- package/src/tokens/index.css +174 -0
- package/src/tokens/layer.ts +4 -0
- package/src/tokens/layout.ts +4 -0
- package/src/tokens/molecules/alert.css +46 -0
- package/src/tokens/molecules/annotation-thread.css +43 -0
- package/src/tokens/molecules/annotation-thread.ts +7 -0
- package/src/tokens/molecules/app-launcher.css +67 -0
- package/src/tokens/molecules/assistant-message.css +24 -0
- package/src/tokens/molecules/async-multi-select-field.css +25 -0
- package/src/tokens/molecules/async-multi-select-field.ts +8 -0
- package/src/tokens/molecules/async-select-field.css +25 -0
- package/src/tokens/molecules/async-select-field.ts +8 -0
- package/src/tokens/molecules/avatar-upload.css +35 -0
- package/src/tokens/molecules/avatar-upload.ts +7 -0
- package/src/tokens/molecules/banner.css +21 -0
- package/src/tokens/molecules/banner.ts +14 -0
- package/src/tokens/molecules/calendar-planner.css +70 -0
- package/src/tokens/molecules/calendar-planner.ts +7 -0
- package/src/tokens/molecules/calendar-roster.css +69 -0
- package/src/tokens/molecules/calendar-roster.ts +7 -0
- package/src/tokens/molecules/calendar.css +90 -0
- package/src/tokens/molecules/calendar.ts +7 -0
- package/src/tokens/molecules/carousel.css +27 -0
- package/src/tokens/molecules/carousel.ts +7 -0
- package/src/tokens/molecules/chart.css +123 -0
- package/src/tokens/molecules/chart.ts +4 -0
- package/src/tokens/molecules/chat-shell.css +20 -0
- package/src/tokens/molecules/checkbox-field.css +43 -0
- package/src/tokens/molecules/checkbox-field.ts +9 -0
- package/src/tokens/molecules/command-palette.css +50 -0
- package/src/tokens/molecules/command-palette.ts +7 -0
- package/src/tokens/molecules/confirm-dialog.css +7 -0
- package/src/tokens/molecules/confirm-dialog.ts +4 -0
- package/src/tokens/molecules/connector-auth.css +13 -0
- package/src/tokens/molecules/consent.css +30 -0
- package/src/tokens/molecules/consent.ts +8 -0
- package/src/tokens/molecules/conversation-list.css +38 -0
- package/src/tokens/molecules/conversation-thread.css +7 -0
- package/src/tokens/molecules/copy-button.css +7 -0
- package/src/tokens/molecules/copy-button.ts +4 -0
- package/src/tokens/molecules/data-table.css +9 -0
- package/src/tokens/molecules/data-table.ts +4 -0
- package/src/tokens/molecules/date-picker-field.css +25 -0
- package/src/tokens/molecules/date-picker-field.ts +8 -0
- package/src/tokens/molecules/date-picker.css +40 -0
- package/src/tokens/molecules/date-picker.ts +4 -0
- package/src/tokens/molecules/date-time-field.css +26 -0
- package/src/tokens/molecules/date-time-field.ts +8 -0
- package/src/tokens/molecules/docs-search.css +42 -0
- package/src/tokens/molecules/docs-search.ts +7 -0
- package/src/tokens/molecules/dropdown-field.css +57 -0
- package/src/tokens/molecules/dropdown-field.ts +4 -0
- package/src/tokens/molecules/empty-state.css +31 -0
- package/src/tokens/molecules/field-row.css +31 -0
- package/src/tokens/molecules/field-row.ts +7 -0
- package/src/tokens/molecules/file-upload-field.css +25 -0
- package/src/tokens/molecules/file-upload-field.ts +8 -0
- package/src/tokens/molecules/filter-bar.css +11 -0
- package/src/tokens/molecules/filter-bar.ts +5 -0
- package/src/tokens/molecules/form-field.css +7 -0
- package/src/tokens/molecules/image-crop-dialog.css +19 -0
- package/src/tokens/molecules/input-field.css +43 -0
- package/src/tokens/molecules/input-field.ts +12 -0
- package/src/tokens/molecules/input-phone-field.css +25 -0
- package/src/tokens/molecules/input-phone-field.ts +8 -0
- package/src/tokens/molecules/language-switcher.css +19 -0
- package/src/tokens/molecules/language-switcher.ts +4 -0
- package/src/tokens/molecules/menu.css +63 -0
- package/src/tokens/molecules/message-composer.css +37 -0
- package/src/tokens/molecules/modal.css +50 -0
- package/src/tokens/molecules/multi-select-field.css +25 -0
- package/src/tokens/molecules/multi-select-field.ts +8 -0
- package/src/tokens/molecules/notification-button.css +9 -0
- package/src/tokens/molecules/notification-button.ts +4 -0
- package/src/tokens/molecules/notification-list.css +30 -0
- package/src/tokens/molecules/notification-list.ts +4 -0
- package/src/tokens/molecules/notification-panel.css +41 -0
- package/src/tokens/molecules/notification-panel.ts +4 -0
- package/src/tokens/molecules/number-input-field.css +25 -0
- package/src/tokens/molecules/number-input-field.ts +8 -0
- package/src/tokens/molecules/onboarding-shell.css +18 -0
- package/src/tokens/molecules/org-switcher.css +57 -0
- package/src/tokens/molecules/otp-field.css +25 -0
- package/src/tokens/molecules/otp-field.ts +8 -0
- package/src/tokens/molecules/page-intro.css +10 -0
- package/src/tokens/molecules/pagination.css +68 -0
- package/src/tokens/molecules/pagination.ts +9 -0
- package/src/tokens/molecules/password-field.css +29 -0
- package/src/tokens/molecules/prev-next-nav.css +42 -0
- package/src/tokens/molecules/prev-next-nav.ts +7 -0
- package/src/tokens/molecules/project-card.css +21 -0
- package/src/tokens/molecules/project-card.ts +7 -0
- package/src/tokens/molecules/prose.css +58 -0
- package/src/tokens/molecules/prose.ts +7 -0
- package/src/tokens/molecules/public-page-shell.css +8 -0
- package/src/tokens/molecules/radio-field.css +42 -0
- package/src/tokens/molecules/radio-field.ts +9 -0
- package/src/tokens/molecules/recovery-codes.css +23 -0
- package/src/tokens/molecules/recovery-codes.ts +4 -0
- package/src/tokens/molecules/search-form.css +34 -0
- package/src/tokens/molecules/search-form.ts +7 -0
- package/src/tokens/molecules/select-field.css +25 -0
- package/src/tokens/molecules/select-field.ts +4 -0
- package/src/tokens/molecules/sheet.css +33 -0
- package/src/tokens/molecules/sidebar-nav.css +53 -0
- package/src/tokens/molecules/site-nav.css +31 -0
- package/src/tokens/molecules/site-nav.ts +4 -0
- package/src/tokens/molecules/stat-tile.css +45 -0
- package/src/tokens/molecules/stat-tile.ts +7 -0
- package/src/tokens/molecules/stepper.css +41 -0
- package/src/tokens/molecules/steps.css +11 -0
- package/src/tokens/molecules/steps.ts +7 -0
- package/src/tokens/molecules/switcher-field.css +42 -0
- package/src/tokens/molecules/switcher-field.ts +9 -0
- package/src/tokens/molecules/table-of-contents.css +42 -0
- package/src/tokens/molecules/table-of-contents.ts +7 -0
- package/src/tokens/molecules/table.css +60 -0
- package/src/tokens/molecules/table.ts +14 -0
- package/src/tokens/molecules/textarea-field.css +25 -0
- package/src/tokens/molecules/textarea-field.ts +10 -0
- package/src/tokens/molecules/theme-switcher.css +20 -0
- package/src/tokens/molecules/theme-switcher.ts +4 -0
- package/src/tokens/molecules/time-field.css +25 -0
- package/src/tokens/molecules/time-field.ts +8 -0
- package/src/tokens/molecules/toast.css +17 -0
- package/src/tokens/molecules/tree-view.css +47 -0
- package/src/tokens/molecules/tree-view.ts +7 -0
- package/src/tokens/molecules/uptime-bars.css +40 -0
- package/src/tokens/molecules/uptime-bars.ts +7 -0
- package/src/tokens/molecules/user-menu.css +73 -0
- package/src/tokens/molecules/user-message.css +24 -0
- package/src/tokens/motion.ts +6 -0
- package/src/tokens/opacity.ts +4 -0
- package/src/tokens/scss/_index.legacy.scss +163 -0
- package/src/tokens/scss/_index.scss +163 -0
- package/src/tokens/scss/components/_accordion.scss +20 -0
- package/src/tokens/scss/components/_app-header.scss +13 -0
- package/src/tokens/scss/components/_arrow.scss +6 -0
- package/src/tokens/scss/components/_async-multi-select.scss +52 -0
- package/src/tokens/scss/components/_async-select.scss +44 -0
- package/src/tokens/scss/components/_avatar.scss +22 -0
- package/src/tokens/scss/components/_breadcrumb.scss +20 -0
- package/src/tokens/scss/components/_button.scss +187 -0
- package/src/tokens/scss/components/_card.scss +31 -0
- package/src/tokens/scss/components/_chat.scss +4 -0
- package/src/tokens/scss/components/_checkbox.scss +28 -0
- package/src/tokens/scss/components/_close-button.scss +11 -0
- package/src/tokens/scss/components/_code-block.scss +36 -0
- package/src/tokens/scss/components/_code.scss +10 -0
- package/src/tokens/scss/components/_collapsible.scss +18 -0
- package/src/tokens/scss/components/_columns.scss +10 -0
- package/src/tokens/scss/components/_container.scss +14 -0
- package/src/tokens/scss/components/_control.scss +19 -0
- package/src/tokens/scss/components/_copyable-value.scss +4 -0
- package/src/tokens/scss/components/_description-list.scss +19 -0
- package/src/tokens/scss/components/_figure.scss +13 -0
- package/src/tokens/scss/components/_file-upload.scss +72 -0
- package/src/tokens/scss/components/_floating-dock.scss +40 -0
- package/src/tokens/scss/components/_floating-panel.scss +11 -0
- package/src/tokens/scss/components/_hero.scss +10 -0
- package/src/tokens/scss/components/_highlight.scss +8 -0
- package/src/tokens/scss/components/_icon.scss +8 -0
- package/src/tokens/scss/components/_inline.scss +6 -0
- package/src/tokens/scss/components/_input-phone.scss +17 -0
- package/src/tokens/scss/components/_input.scss +40 -0
- package/src/tokens/scss/components/_kbd.scss +23 -0
- package/src/tokens/scss/components/_label.scss +11 -0
- package/src/tokens/scss/components/_legal-footer.scss +7 -0
- package/src/tokens/scss/components/_link.scss +20 -0
- package/src/tokens/scss/components/_logo.scss +9 -0
- package/src/tokens/scss/components/_logomark.scss +8 -0
- package/src/tokens/scss/components/_menu-button.scss +13 -0
- package/src/tokens/scss/components/_message-bubble.scss +17 -0
- package/src/tokens/scss/components/_multi-select.scss +51 -0
- package/src/tokens/scss/components/_number-badge.scss +26 -0
- package/src/tokens/scss/components/_number-input.scss +43 -0
- package/src/tokens/scss/components/_otp-input.scss +5 -0
- package/src/tokens/scss/components/_popover.scss +17 -0
- package/src/tokens/scss/components/_progress-bar.scss +32 -0
- package/src/tokens/scss/components/_radio-group.scss +5 -0
- package/src/tokens/scss/components/_radio.scss +26 -0
- package/src/tokens/scss/components/_scroll-area.scss +13 -0
- package/src/tokens/scss/components/_select.scss +38 -0
- package/src/tokens/scss/components/_separator.scss +8 -0
- package/src/tokens/scss/components/_sidebar.scss +29 -0
- package/src/tokens/scss/components/_site-footer.scss +16 -0
- package/src/tokens/scss/components/_site-header.scss +24 -0
- package/src/tokens/scss/components/_site-shell.scss +19 -0
- package/src/tokens/scss/components/_skeleton.scss +9 -0
- package/src/tokens/scss/components/_skip-link.scss +13 -0
- package/src/tokens/scss/components/_slider.scss +25 -0
- package/src/tokens/scss/components/_sparkline.scss +11 -0
- package/src/tokens/scss/components/_spinner.scss +10 -0
- package/src/tokens/scss/components/_stack.scss +6 -0
- package/src/tokens/scss/components/_star-rating.scss +17 -0
- package/src/tokens/scss/components/_step.scss +37 -0
- package/src/tokens/scss/components/_switcher.scss +30 -0
- package/src/tokens/scss/components/_tabs.scss +26 -0
- package/src/tokens/scss/components/_tag.scss +30 -0
- package/src/tokens/scss/components/_text-inline.scss +7 -0
- package/src/tokens/scss/components/_text.scss +73 -0
- package/src/tokens/scss/components/_textarea.scss +54 -0
- package/src/tokens/scss/components/_time-select.scss +7 -0
- package/src/tokens/scss/components/_toggle-group.scss +4 -0
- package/src/tokens/scss/components/_toggle.scss +34 -0
- package/src/tokens/scss/components/_tooltip.scss +16 -0
- package/src/tokens/scss/components/_typing-indicator.scss +11 -0
- package/src/tokens/scss/global/_border.scss +15 -0
- package/src/tokens/scss/global/_breakpoint.scss +9 -0
- package/src/tokens/scss/global/_colors.scss +102 -0
- package/src/tokens/scss/global/_form.scss +27 -0
- package/src/tokens/scss/global/_motion.scss +12 -0
- package/src/tokens/scss/global/_opacity.scss +7 -0
- package/src/tokens/scss/global/_section.scss +9 -0
- package/src/tokens/scss/global/_shadow.scss +9 -0
- package/src/tokens/scss/global/_size.scss +8 -0
- package/src/tokens/scss/global/_spacing.scss +11 -0
- package/src/tokens/scss/global/_typography.scss +36 -0
- package/src/tokens/scss/global/_z-index.scss +9 -0
- package/src/tokens/scss/molecules/_alert.scss +33 -0
- package/src/tokens/scss/molecules/_annotation-thread.scss +28 -0
- package/src/tokens/scss/molecules/_app-launcher.scss +46 -0
- package/src/tokens/scss/molecules/_assistant-message.scss +13 -0
- package/src/tokens/scss/molecules/_async-multi-select-field.scss +14 -0
- package/src/tokens/scss/molecules/_async-select-field.scss +14 -0
- package/src/tokens/scss/molecules/_avatar-upload.scss +23 -0
- package/src/tokens/scss/molecules/_banner.scss +18 -0
- package/src/tokens/scss/molecules/_calendar-planner.scss +46 -0
- package/src/tokens/scss/molecules/_calendar-roster.scss +45 -0
- package/src/tokens/scss/molecules/_calendar.scss +67 -0
- package/src/tokens/scss/molecules/_carousel.scss +15 -0
- package/src/tokens/scss/molecules/_chart.scss +82 -0
- package/src/tokens/scss/molecules/_chat-shell.scss +10 -0
- package/src/tokens/scss/molecules/_checkbox-field.scss +31 -0
- package/src/tokens/scss/molecules/_command-palette.scss +33 -0
- package/src/tokens/scss/molecules/_confirm-dialog.scss +4 -0
- package/src/tokens/scss/molecules/_connector-auth.scss +10 -0
- package/src/tokens/scss/molecules/_consent.scss +18 -0
- package/src/tokens/scss/molecules/_conversation-list.scss +23 -0
- package/src/tokens/scss/molecules/_conversation-thread.scss +4 -0
- package/src/tokens/scss/molecules/_copy-button.scss +4 -0
- package/src/tokens/scss/molecules/_data-table.scss +6 -0
- package/src/tokens/scss/molecules/_date-picker-field.scss +14 -0
- package/src/tokens/scss/molecules/_date-picker.scss +26 -0
- package/src/tokens/scss/molecules/_date-time-field.scss +15 -0
- package/src/tokens/scss/molecules/_docs-search.scss +27 -0
- package/src/tokens/scss/molecules/_dropdown-field.scss +41 -0
- package/src/tokens/scss/molecules/_empty-state.scss +19 -0
- package/src/tokens/scss/molecules/_field-row.scss +21 -0
- package/src/tokens/scss/molecules/_file-upload-field.scss +14 -0
- package/src/tokens/scss/molecules/_filter-bar.scss +8 -0
- package/src/tokens/scss/molecules/_form-field.scss +4 -0
- package/src/tokens/scss/molecules/_image-crop-dialog.scss +9 -0
- package/src/tokens/scss/molecules/_input-field.scss +28 -0
- package/src/tokens/scss/molecules/_input-phone-field.scss +14 -0
- package/src/tokens/scss/molecules/_language-switcher.scss +9 -0
- package/src/tokens/scss/molecules/_menu.scss +46 -0
- package/src/tokens/scss/molecules/_message-composer.scss +21 -0
- package/src/tokens/scss/molecules/_modal.scss +35 -0
- package/src/tokens/scss/molecules/_multi-select-field.scss +14 -0
- package/src/tokens/scss/molecules/_notification-button.scss +6 -0
- package/src/tokens/scss/molecules/_notification-list.scss +20 -0
- package/src/tokens/scss/molecules/_notification-panel.scss +31 -0
- package/src/tokens/scss/molecules/_number-input-field.scss +14 -0
- package/src/tokens/scss/molecules/_onboarding-shell.scss +15 -0
- package/src/tokens/scss/molecules/_org-switcher.scss +39 -0
- package/src/tokens/scss/molecules/_otp-field.scss +14 -0
- package/src/tokens/scss/molecules/_page-intro.scss +7 -0
- package/src/tokens/scss/molecules/_pagination.scss +46 -0
- package/src/tokens/scss/molecules/_password-field.scss +17 -0
- package/src/tokens/scss/molecules/_prev-next-nav.scss +25 -0
- package/src/tokens/scss/molecules/_project-card.scss +11 -0
- package/src/tokens/scss/molecules/_prose.scss +47 -0
- package/src/tokens/scss/molecules/_public-page-shell.scss +5 -0
- package/src/tokens/scss/molecules/_radio-field.scss +30 -0
- package/src/tokens/scss/molecules/_recovery-codes.scss +12 -0
- package/src/tokens/scss/molecules/_search-form.scss +21 -0
- package/src/tokens/scss/molecules/_select-field.scss +14 -0
- package/src/tokens/scss/molecules/_sheet.scss +30 -0
- package/src/tokens/scss/molecules/_sidebar-nav.scss +37 -0
- package/src/tokens/scss/molecules/_site-nav.scss +18 -0
- package/src/tokens/scss/molecules/_stat-tile.scss +32 -0
- package/src/tokens/scss/molecules/_stepper.scss +26 -0
- package/src/tokens/scss/molecules/_steps.scss +8 -0
- package/src/tokens/scss/molecules/_switcher-field.scss +30 -0
- package/src/tokens/scss/molecules/_table-of-contents.scss +27 -0
- package/src/tokens/scss/molecules/_table.scss +40 -0
- package/src/tokens/scss/molecules/_textarea-field.scss +14 -0
- package/src/tokens/scss/molecules/_theme-switcher.scss +10 -0
- package/src/tokens/scss/molecules/_time-field.scss +14 -0
- package/src/tokens/scss/molecules/_toast.scss +14 -0
- package/src/tokens/scss/molecules/_tree-view.scss +34 -0
- package/src/tokens/scss/molecules/_uptime-bars.scss +25 -0
- package/src/tokens/scss/molecules/_user-menu.scss +53 -0
- package/src/tokens/scss/molecules/_user-message.scss +13 -0
- package/src/tokens/shadow.ts +6 -0
- package/src/tokens/size.ts +6 -0
- package/src/tokens/spacing.ts +4 -0
- package/src/tokens/surface-dark-derived.css +88 -0
- package/src/tokens/surface-invert.css +682 -0
- package/src/tokens/surface-public.css +151 -0
- package/src/tokens/tokens.json +3267 -0
- package/src/tokens/tokens.ts +59 -0
- package/src/tokens/typography.ts +91 -0
- package/src/tokens/utils.test.ts +86 -0
- package/src/tokens/utils.ts +37 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type CssProperties = Record<string, string | undefined>;
|
|
2
|
+
/**
|
|
3
|
+
* Escribe propiedades CSS sobre un elemento por el **CSSOM**, no por el
|
|
4
|
+
* atributo `style`.
|
|
5
|
+
*
|
|
6
|
+
* Una app servida con `style-src 'self'` (sin `style-src-attr
|
|
7
|
+
* 'unsafe-inline'`) descarta en silencio —sin violación en consola— todo
|
|
8
|
+
* atributo `style` que venga en el HTML, y también `setAttribute('style', …)`.
|
|
9
|
+
* Lo que NO bloquea es `el.style.setProperty(…)`, que es lo que hace este
|
|
10
|
+
* `ref`.
|
|
11
|
+
*
|
|
12
|
+
* Por eso solo vale para lo que se pinta **en cliente**: un popup en portal,
|
|
13
|
+
* una capa que aparece al interactuar, una medida que el propio navegador
|
|
14
|
+
* calcula. Lo que se ve en el primer render del servidor no puede depender de
|
|
15
|
+
* esto —llegaría con el valor por defecto de la hoja y saltaría al hidratar—:
|
|
16
|
+
* ahí la respuesta es un `data-*` con su regla, o un atributo de presentación
|
|
17
|
+
* de SVG.
|
|
18
|
+
*
|
|
19
|
+
* Los nombres van en la sintaxis CSS (`min-width`, `--toast-gap`), no en
|
|
20
|
+
* camelCase. Un valor `undefined` retira la propiedad.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useCssProperties(properties: CssProperties): (element: HTMLElement | SVGElement | null) => void;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `process.env.NODE_ENV` sin depender de los tipos de `@types/node`: la
|
|
3
|
+
* librería se distribuye para consumidores que no siempre los tienen en su
|
|
4
|
+
* propio `tsconfig`, así que se lee a través de `globalThis` en vez de
|
|
5
|
+
* asumir el global ambiental `process`.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isDevelopment(): boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Si los campos de este trozo de árbol tienen que esconder su etiqueta a la
|
|
3
|
+
* vista (conservándola para el lector de pantalla). Lo reparte `FieldRow`
|
|
4
|
+
* cuando la fila no es la primera de la lista: las etiquetas se ven una vez,
|
|
5
|
+
* arriba, pero cada campo sigue teniendo su nombre accesible en todas.
|
|
6
|
+
*
|
|
7
|
+
* `undefined` es «nadie ha dicho nada»: manda el default del campo.
|
|
8
|
+
*/
|
|
9
|
+
export declare const LabelHiddenContext: import("react").Context<boolean | undefined>;
|
|
10
|
+
/**
|
|
11
|
+
* La talla de etiqueta que le toca a un campo: lo que pide el consumidor por
|
|
12
|
+
* `labelHidden`, y si no lo dice, lo que reparta el contexto. Mismo patrón que
|
|
13
|
+
* `useFormSize`: la prop del campo gana siempre al contexto.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useLabelHidden(labelHidden?: boolean, fallback?: boolean): boolean;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type FormSize = 'sm' | 'md' | 'lg';
|
|
2
|
+
/**
|
|
3
|
+
* La talla que un `Form` reparte a sus campos y botones. Los componentes con
|
|
4
|
+
* `size` la toman de aquí cuando el consumidor no se la pasa; sin `Form` (o
|
|
5
|
+
* sin `size` en él) vale `md`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const FormSizeContext: import("react").Context<FormSize | undefined>;
|
|
8
|
+
export declare function useFormSize(size?: FormSize): FormSize;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Datos de contenido de la página Home.
|
|
3
|
+
* Importado tanto por Home.tsx como por las stories de cada sección.
|
|
4
|
+
*/
|
|
5
|
+
export declare const reviews: {
|
|
6
|
+
id: string;
|
|
7
|
+
photo: string;
|
|
8
|
+
author: string;
|
|
9
|
+
role: string;
|
|
10
|
+
quote: string;
|
|
11
|
+
}[];
|
|
12
|
+
export declare const projects: ({
|
|
13
|
+
id: string;
|
|
14
|
+
category: string;
|
|
15
|
+
tagVariant: "accent-1";
|
|
16
|
+
photo: string;
|
|
17
|
+
title: string;
|
|
18
|
+
description: string;
|
|
19
|
+
} | {
|
|
20
|
+
id: string;
|
|
21
|
+
category: string;
|
|
22
|
+
tagVariant: "accent-2";
|
|
23
|
+
photo: string;
|
|
24
|
+
title: string;
|
|
25
|
+
description: string;
|
|
26
|
+
} | {
|
|
27
|
+
id: string;
|
|
28
|
+
category: string;
|
|
29
|
+
tagVariant: "support-1";
|
|
30
|
+
photo: string;
|
|
31
|
+
title: string;
|
|
32
|
+
description: string;
|
|
33
|
+
} | {
|
|
34
|
+
id: string;
|
|
35
|
+
category: string;
|
|
36
|
+
tagVariant: "support-2";
|
|
37
|
+
photo: string;
|
|
38
|
+
title: string;
|
|
39
|
+
description: string;
|
|
40
|
+
} | {
|
|
41
|
+
id: string;
|
|
42
|
+
category: string;
|
|
43
|
+
tagVariant: "primary";
|
|
44
|
+
photo: string;
|
|
45
|
+
title: string;
|
|
46
|
+
description: string;
|
|
47
|
+
})[];
|
|
48
|
+
export declare const clients: {
|
|
49
|
+
id: string;
|
|
50
|
+
name: string;
|
|
51
|
+
logo: string;
|
|
52
|
+
}[];
|
|
53
|
+
export declare const steps: {
|
|
54
|
+
text: string;
|
|
55
|
+
}[];
|
|
56
|
+
export declare const solutionItems: ({
|
|
57
|
+
href: string;
|
|
58
|
+
color: "accent-1";
|
|
59
|
+
title: string;
|
|
60
|
+
description: string;
|
|
61
|
+
ctaLabel: string;
|
|
62
|
+
} | {
|
|
63
|
+
href: string;
|
|
64
|
+
color: "accent-2";
|
|
65
|
+
title: string;
|
|
66
|
+
description: string;
|
|
67
|
+
ctaLabel: string;
|
|
68
|
+
})[];
|
|
69
|
+
export declare const privacyLabel: import("react/jsx-runtime").JSX.Element;
|
|
70
|
+
export declare const contactArgs: {
|
|
71
|
+
title: string;
|
|
72
|
+
form: {
|
|
73
|
+
privacyLabel: import("react/jsx-runtime").JSX.Element;
|
|
74
|
+
emailPlaceholder: string;
|
|
75
|
+
messagePlaceholder: string;
|
|
76
|
+
buttonLabel: string;
|
|
77
|
+
submittingLabel: string;
|
|
78
|
+
successMessage: string;
|
|
79
|
+
};
|
|
80
|
+
whatsappTitle: string;
|
|
81
|
+
whatsappLabel: string;
|
|
82
|
+
whatsappHref: string;
|
|
83
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { EmailLayout } from './EmailLayout';
|
|
2
|
+
export type { EmailLayoutProps, EmailOptOut, EmailOptOutAccount, EmailOptOutGuest, } from './EmailLayout';
|
|
3
|
+
export { EmailButton, EmailDivider, EmailHeading, EmailLink, EmailList, EmailListItem, EmailNote, EmailQuote, EmailTag, EmailText, } from './EmailPrimitives';
|
|
4
|
+
export type { EmailButtonProps, EmailDividerProps, EmailHeadingProps, EmailLinkProps, EmailListItemProps, EmailListProps, EmailNoteProps, EmailQuoteProps, EmailTagProps, EmailTextProps, } from './EmailPrimitives';
|
|
5
|
+
export { emailAssetsBaseUrl, emailFontFamily, emailFontFilename, emailLogo, emailMaxWidth, emailPalette, emailStyleSheet, emailStyles, emailTones, } from './emailTheme';
|
|
6
|
+
export type { EmailTone } from './emailTheme';
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
interface EmailOptOutBase {
|
|
3
|
+
/** Baja directa, de un clic, de la categoría de aviso de este correo. */
|
|
4
|
+
unsubscribeUrl: string;
|
|
5
|
+
/** Texto del enlace de baja. */
|
|
6
|
+
unsubscribeLabel?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* El pie de quien **tiene cuenta** en la suite: puede darse de baja y, si el
|
|
10
|
+
* producto tiene la pantalla, elegir categoría a categoría.
|
|
11
|
+
*/
|
|
12
|
+
export interface EmailOptOutAccount extends EmailOptOutBase {
|
|
13
|
+
/**
|
|
14
|
+
* Pantalla donde elegir categoría a categoría, para quien quiera conservar
|
|
15
|
+
* algunas.
|
|
16
|
+
*
|
|
17
|
+
* Opcional a propósito: las apps que mandaban correo antes de que existiera
|
|
18
|
+
* el paquete solo construyen un enlace de baja, sin pantalla de preferencias
|
|
19
|
+
* detrás. Omitirlo deja el pie de un solo enlace en vez de obligar a cada
|
|
20
|
+
* llamada a inventarse una URL que no tiene.
|
|
21
|
+
*/
|
|
22
|
+
preferencesUrl?: string;
|
|
23
|
+
/** Frase que precede al enlace en el pie de un solo enlace. Por defecto, en castellano. */
|
|
24
|
+
manageLabel?: string;
|
|
25
|
+
/** Texto entre los dos enlaces del pie completo. Por defecto, en castellano. */
|
|
26
|
+
manageBeforeLabel?: string;
|
|
27
|
+
/** Texto del enlace a preferencias. Por defecto, en castellano. */
|
|
28
|
+
managePreferencesLabel?: string;
|
|
29
|
+
/** Texto tras el enlace a preferencias. Por defecto, en castellano. */
|
|
30
|
+
manageAfterLabel?: string;
|
|
31
|
+
reasonLabel?: never;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* El pie de quien **no tiene cuenta**: el invitado a una revisión, el que
|
|
35
|
+
* recibe el correo por una dirección suelta. Solo la baja.
|
|
36
|
+
*
|
|
37
|
+
* No es el mismo pie con una URL de menos. Al destinatario sin cuenta hay que
|
|
38
|
+
* decirle **por qué** le llega el correo —no se registró en nada— y no se le
|
|
39
|
+
* puede ofrecer «gestionar preferencias»: esa pantalla vive tras la sesión del
|
|
40
|
+
* hub y no puede abrirla. Por eso el tipo prohíbe `preferencesUrl` en vez de
|
|
41
|
+
* confiar en que nadie la pase.
|
|
42
|
+
*/
|
|
43
|
+
export interface EmailOptOutGuest extends EmailOptOutBase {
|
|
44
|
+
/**
|
|
45
|
+
* La frase que explica por qué recibe este correo. **Obligatoria y sin
|
|
46
|
+
* default castellano**: el motivo lo sabe el producto que manda el correo,
|
|
47
|
+
* no el DS, y sin él la baja llega sin contexto a quien nunca se dio de alta.
|
|
48
|
+
*/
|
|
49
|
+
reasonLabel: string;
|
|
50
|
+
/**
|
|
51
|
+
* Texto del enlace de baja. **Obligatorio aquí, y sin default**: en este pie
|
|
52
|
+
* el enlace es una frase entera que cierra la anterior, así que ningún
|
|
53
|
+
* default del DS podría encajar con el motivo que escribe el consumidor.
|
|
54
|
+
*/
|
|
55
|
+
unsubscribeLabel: string;
|
|
56
|
+
preferencesUrl?: never;
|
|
57
|
+
manageLabel?: never;
|
|
58
|
+
manageBeforeLabel?: never;
|
|
59
|
+
managePreferencesLabel?: never;
|
|
60
|
+
manageAfterLabel?: never;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* El pie de baja, en sus dos formas: la de quien tiene cuenta
|
|
64
|
+
* (`EmailOptOutAccount`) y la de quien no (`EmailOptOutGuest`). Se distinguen
|
|
65
|
+
* por `reasonLabel`, que solo lleva la segunda.
|
|
66
|
+
*/
|
|
67
|
+
export type EmailOptOut = EmailOptOutAccount | EmailOptOutGuest;
|
|
68
|
+
export interface EmailLayoutProps {
|
|
69
|
+
/** La línea que el cliente enseña junto al asunto en la bandeja. */
|
|
70
|
+
preview: string;
|
|
71
|
+
/** Quién manda. Es el texto alternativo del logotipo si no se da otro. */
|
|
72
|
+
appName: string;
|
|
73
|
+
/** Idioma del documento. Por defecto, castellano. */
|
|
74
|
+
locale?: string;
|
|
75
|
+
/**
|
|
76
|
+
* De dónde cuelgan el logotipo y la fuente web.
|
|
77
|
+
*
|
|
78
|
+
* El valor por defecto es `https://slxd.app/brand/email`, no una constante
|
|
79
|
+
* escondida: un consumidor que sirva los assets en otro sitio lo cambia aquí
|
|
80
|
+
* sin tocar el DS. Las dos URL se construyen sobre esta base — ver la nota de
|
|
81
|
+
* `emailLogo.filename` y `emailFontFilename` para saber qué hay que subir.
|
|
82
|
+
*/
|
|
83
|
+
assetsBaseUrl?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Texto alternativo del logotipo. Por defecto, `appName`.
|
|
86
|
+
*
|
|
87
|
+
* Muchos clientes bloquean las imágenes de serie: sin esto, la cabecera del
|
|
88
|
+
* correo sale en blanco y no se sabe quién escribe.
|
|
89
|
+
*/
|
|
90
|
+
logoAlt?: string;
|
|
91
|
+
/** Omitir en el correo transaccional que no pertenece a ninguna categoría. */
|
|
92
|
+
optOut?: EmailOptOut;
|
|
93
|
+
children: ReactNode;
|
|
94
|
+
}
|
|
95
|
+
export declare function EmailLayout({ preview, appName, locale, assetsBaseUrl, logoAlt, optOut, children, }: EmailLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
96
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ReactElement } from 'react';
|
|
2
|
+
export interface EmailPreviewProps {
|
|
3
|
+
/** El correo: un `EmailLayout` con su contenido. */
|
|
4
|
+
children: ReactElement;
|
|
5
|
+
}
|
|
6
|
+
export declare function EmailPreview({ children }: EmailPreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import { type EmailTone } from './emailTheme';
|
|
3
|
+
export interface EmailHeadingProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
/**
|
|
6
|
+
* `1` (por defecto) es el título del mensaje, uno por correo. `2` es el
|
|
7
|
+
* título de un bloque dentro del cuerpo — «Riesgos», «Requisitos», «También
|
|
8
|
+
* han encajado»— para un correo que tiene demasiado que decir de un tirón.
|
|
9
|
+
*
|
|
10
|
+
* Son dos escalones del mismo componente y no dos componentes, porque es lo
|
|
11
|
+
* que son: un título más pequeño. El de bloque es **dos peldaños** más bajo y
|
|
12
|
+
* lleva aire por encima, que es lo que hace de él un corte.
|
|
13
|
+
*/
|
|
14
|
+
level?: 1 | 2;
|
|
15
|
+
style?: CSSProperties;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* El título del mensaje y, en `level={2}`, el de cada bloque del cuerpo.
|
|
19
|
+
*
|
|
20
|
+
* Un correo es un documento suelto: su título va como `<h1>`, y los bloques que
|
|
21
|
+
* lo dividen como `<h2>`. Lo que **no** es un título de bloque es una versalita
|
|
22
|
+
* gris a 12px: eso es lo que se inventó `TenderBatchEmail` por su cuenta, y el
|
|
23
|
+
* sistema no tiene rol de versalita ni se le añade uno para el correo.
|
|
24
|
+
*/
|
|
25
|
+
export declare function EmailHeading({ children, level, style }: EmailHeadingProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export interface EmailTextProps {
|
|
27
|
+
children: ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* La frase que resume el correo antes de entrar en el detalle: sube al peso
|
|
30
|
+
* de énfasis del sistema, sin cambiar tamaño ni tinta. Para entonar un
|
|
31
|
+
* párrafo, no para titular un bloque — eso es `EmailSectionTitle`.
|
|
32
|
+
*/
|
|
33
|
+
emphasis?: boolean;
|
|
34
|
+
style?: CSSProperties;
|
|
35
|
+
}
|
|
36
|
+
/** Un párrafo del cuerpo del correo. */
|
|
37
|
+
export declare function EmailText({ children, emphasis, style }: EmailTextProps): import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
export interface EmailListProps {
|
|
39
|
+
/** Los `EmailListItem`. */
|
|
40
|
+
children: ReactNode;
|
|
41
|
+
/** `true` para una lista numerada (`<ol>`): pasos, un orden que significa. */
|
|
42
|
+
ordered?: boolean;
|
|
43
|
+
style?: CSSProperties;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Una lista del cuerpo: riesgos, requisitos, lo que cambió.
|
|
47
|
+
*
|
|
48
|
+
* Es un `<ul>`/`<ol>` de verdad y no párrafos con un bolo delante —que es como
|
|
49
|
+
* la escribían las apps—: el bolo escrito a mano deja al lector de pantalla sin
|
|
50
|
+
* saber cuántos elementos hay ni dónde acaban, y el sangrado de la segunda
|
|
51
|
+
* línea lo tiene que fingir cada plantilla.
|
|
52
|
+
*/
|
|
53
|
+
export declare function EmailList({ children, ordered, style }: EmailListProps): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
export interface EmailListItemProps {
|
|
55
|
+
children: ReactNode;
|
|
56
|
+
style?: CSSProperties;
|
|
57
|
+
}
|
|
58
|
+
/** Un elemento de `EmailList`. */
|
|
59
|
+
export declare function EmailListItem({ children, style }: EmailListItemProps): import("react/jsx-runtime").JSX.Element;
|
|
60
|
+
export interface EmailQuoteProps {
|
|
61
|
+
children: ReactNode;
|
|
62
|
+
style?: CSSProperties;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Palabras que no son nuestras, con una barra al lado: lo que escribió quien
|
|
66
|
+
* denunció un contenido, el motivo con el que se rechazó algo.
|
|
67
|
+
*
|
|
68
|
+
* No lleva tono. Citar no es avisar: el color diría algo sobre lo citado que el
|
|
69
|
+
* correo no está diciendo. Para avisar está `EmailCallout`.
|
|
70
|
+
*/
|
|
71
|
+
export declare function EmailQuote({ children, style }: EmailQuoteProps): import("react/jsx-runtime").JSX.Element;
|
|
72
|
+
export interface EmailTagProps {
|
|
73
|
+
children: ReactNode;
|
|
74
|
+
/**
|
|
75
|
+
* El veredicto: `success`, `warning` o `error`. **Obligatorio y sin valor por
|
|
76
|
+
* defecto**: una etiqueta de estado sin estado no significa nada, y no hay un
|
|
77
|
+
* tono neutro al que caer porque ningún correo de la suite lo pide todavía.
|
|
78
|
+
*/
|
|
79
|
+
tone: EmailTone;
|
|
80
|
+
style?: CSSProperties;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* El veredicto como pastilla: «Validado con avisos», «Validado», «Rechazado».
|
|
84
|
+
*
|
|
85
|
+
* Es lo que hoy pinta a mano el correo de validación de `lmsmarketplace`, con
|
|
86
|
+
* sus tres hexes copiados —que son exactamente los del sistema—.
|
|
87
|
+
*
|
|
88
|
+
* Acompaña a una frase, no la sustituye — el color va antes que la palabra para
|
|
89
|
+
* quien mira por encima, pero el correo tiene que leerse igual sin él, porque
|
|
90
|
+
* hay clientes que se comen los fondos.
|
|
91
|
+
*
|
|
92
|
+
* Va dentro de un `EmailText` o suelta sobre su propia línea; no tiene margen
|
|
93
|
+
* propio, lo pone el párrafo que la contiene.
|
|
94
|
+
*/
|
|
95
|
+
export declare function EmailTag({ children, tone, style }: EmailTagProps): import("react/jsx-runtime").JSX.Element;
|
|
96
|
+
export interface EmailDividerProps {
|
|
97
|
+
style?: CSSProperties;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* La línea que parte el correo en dos: lo que se cuenta con detalle y lo que
|
|
101
|
+
* solo se lista, el mensaje y su pie.
|
|
102
|
+
*
|
|
103
|
+
* `border: 0` antes del `border-top` no es de más: el `<hr>` trae de serie un
|
|
104
|
+
* borde en relieve por los cuatro lados que los clientes heredan tal cual.
|
|
105
|
+
*/
|
|
106
|
+
export declare function EmailDivider({ style }: EmailDividerProps): import("react/jsx-runtime").JSX.Element;
|
|
107
|
+
export interface EmailNoteProps {
|
|
108
|
+
children: ReactNode;
|
|
109
|
+
/**
|
|
110
|
+
* `muted` (por defecto) para una nota dentro del recuadro, en tinta
|
|
111
|
+
* secundaria. `plain` para una que va FUERA, sobre el fondo de la página:
|
|
112
|
+
* ahí el gris se lee como deshabilitado y no como secundario.
|
|
113
|
+
*/
|
|
114
|
+
tone?: 'muted' | 'plain';
|
|
115
|
+
style?: CSSProperties;
|
|
116
|
+
}
|
|
117
|
+
/** Letra menor: descargos, avisos de caducidad, pie del mensaje. */
|
|
118
|
+
export declare function EmailNote({ children, tone, style }: EmailNoteProps): import("react/jsx-runtime").JSX.Element;
|
|
119
|
+
export interface EmailLinkProps {
|
|
120
|
+
href: string;
|
|
121
|
+
children: ReactNode;
|
|
122
|
+
style?: CSSProperties;
|
|
123
|
+
}
|
|
124
|
+
/** Un enlace dentro del texto. */
|
|
125
|
+
export declare function EmailLink({ href, children, style }: EmailLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
126
|
+
export interface EmailButtonProps {
|
|
127
|
+
href: string;
|
|
128
|
+
children: ReactNode;
|
|
129
|
+
/**
|
|
130
|
+
* La frase que presenta el enlace de respaldo, p. ej. «O copia y pega esta
|
|
131
|
+
* dirección en el navegador:». La dirección se pinta debajo, en su propia
|
|
132
|
+
* línea, así que la frase se escribe con su puntuación.
|
|
133
|
+
*
|
|
134
|
+
* **Obligatoria, y sin valor por defecto** — la única prop de texto del DS
|
|
135
|
+
* que no lo tiene. Es deliberado por partida doble: el correo vive en seis
|
|
136
|
+
* idiomas que conoce `mailer` y no el DS, y hacerla obligatoria es lo que
|
|
137
|
+
* garantiza que ninguna plantilla se deje el respaldo. Un botón sin él es
|
|
138
|
+
* un correo sin plan B.
|
|
139
|
+
*/
|
|
140
|
+
fallbackLabel: string;
|
|
141
|
+
style?: CSSProperties;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* La acción del correo: el par lavanda/prusia de `Button primary`, a ancho
|
|
145
|
+
* completo, **con la misma dirección en texto justo debajo**.
|
|
146
|
+
*
|
|
147
|
+
* Las dos piezas son un solo componente a propósito. Hay clientes que
|
|
148
|
+
* destrozan los botones, y la gente reenvía correos y los abre en otro
|
|
149
|
+
* dispositivo: el enlace en texto es el plan B, y un plan B que cada plantilla
|
|
150
|
+
* tuviera que acordarse de añadir no lo sería.
|
|
151
|
+
*
|
|
152
|
+
* La dirección va como texto plano, no dentro de un `<a>`: lo que se pide de
|
|
153
|
+
* ella es leerla y copiarla, y así no hay enlace que un cliente pueda vaciar
|
|
154
|
+
* de estilo o quitar. Los que autoenlazan lo harán solos.
|
|
155
|
+
*
|
|
156
|
+
* Y va en su **propia línea**, bajo la frase que la presenta: arrancando a
|
|
157
|
+
* media línea, una dirección larga entraba partida desde el primer renglón y
|
|
158
|
+
* costaba encontrarle el principio. El salto es un `<br />` dentro del mismo
|
|
159
|
+
* párrafo —no un segundo `<Text>`— porque las dos piezas son una sola frase y
|
|
160
|
+
* porque el margen inferior del bloque lo cierra el respaldo: partirlo en dos
|
|
161
|
+
* párrafos metería el margen entre medias. `<br />` lo entiende cualquier
|
|
162
|
+
* cliente, incluido el motor de Word.
|
|
163
|
+
*/
|
|
164
|
+
export declare function EmailButton({ href, children, fallbackLabel, style }: EmailButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { type EmailTokenName } from './emailTokens';
|
|
2
|
+
/** El valor de un token del correo, ya resuelto y en píxeles. */
|
|
3
|
+
export declare function emailToken(name: EmailTokenName): string;
|
|
4
|
+
/**
|
|
5
|
+
* El negativo de un token del correo, para un margen que saca un elemento
|
|
6
|
+
* fuera de su caja (el logotipo de la banda de marca, ver `EmailLayout`).
|
|
7
|
+
*
|
|
8
|
+
* No se escribe `calc(-1 * ...)`: `emailToken` ya devuelve píxeles resueltos
|
|
9
|
+
* — un correo no tiene `var()` que negar — y el soporte de `calc()` en
|
|
10
|
+
* estilos en línea es flojo en los clientes de correo (el motor de Word de
|
|
11
|
+
* Outlook, notablemente). Con un número fijo no hace falta arriesgarlo.
|
|
12
|
+
*/
|
|
13
|
+
export declare function negatedEmailToken(name: EmailTokenName): string;
|
|
14
|
+
/**
|
|
15
|
+
* La paleta del correo. Un solo juego: el correo es solo claro.
|
|
16
|
+
*
|
|
17
|
+
* El modo oscuro se retiró a propósito, no por no haberlo probado. Eso NO
|
|
18
|
+
* impide que Outlook Windows o Gmail Android inviertan los colores por su
|
|
19
|
+
* cuenta: lo que se deja de hacer es gestionarlo. Con fondo blanco y tinta
|
|
20
|
+
* oscura el resultado invertido es legible, y el logotipo lleva su blanco
|
|
21
|
+
* horneado, así que aguanta.
|
|
22
|
+
*/
|
|
23
|
+
export declare const emailPalette: {
|
|
24
|
+
/** Fondo general, fuera de la caja. */
|
|
25
|
+
readonly canvas: string;
|
|
26
|
+
/** Fondo de la caja del mensaje. */
|
|
27
|
+
readonly background: string;
|
|
28
|
+
readonly text: string;
|
|
29
|
+
readonly muted: string;
|
|
30
|
+
readonly border: string;
|
|
31
|
+
};
|
|
32
|
+
/** La sans del sistema con su pila de reserva, tal cual la define el token. */
|
|
33
|
+
export declare const emailFontFamily: string;
|
|
34
|
+
/**
|
|
35
|
+
* El rango del eje de peso de la sans, para la `@font-face` del correo.
|
|
36
|
+
*
|
|
37
|
+
* Es una fuente variable y `fonts.css` la declara así, `1 1000`. Declararla con
|
|
38
|
+
* un peso suelto —o con dos caras, una por peso, apuntando al mismo fichero—
|
|
39
|
+
* deja al navegador sin eje que variar: acaba emparejando la prosa con la cara
|
|
40
|
+
* del título y el correo sale entero en negrita.
|
|
41
|
+
*/
|
|
42
|
+
export declare const emailFontWeightRange: string;
|
|
43
|
+
/** Ancho del correo. Fuera de 600px, el panel de lectura obliga a scroll. */
|
|
44
|
+
export declare const emailMaxWidth: string;
|
|
45
|
+
export declare const emailLogo: {
|
|
46
|
+
readonly width: number;
|
|
47
|
+
readonly height: number;
|
|
48
|
+
/** El nombre lleva versión: Gmail cachea las imágenes y no admite refresco. */
|
|
49
|
+
readonly filename: "logo-v3.png";
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* De dónde cuelgan los assets del correo (logotipo y fuente web).
|
|
53
|
+
*
|
|
54
|
+
* Es el valor POR DEFECTO, no una constante escondida: `EmailLayout` acepta
|
|
55
|
+
* `assetsBaseUrl` para que un consumidor la cambie sin tocar el DS. `slxd.app`
|
|
56
|
+
* es el dominio de la marca y el más estable a largo plazo.
|
|
57
|
+
*/
|
|
58
|
+
export declare const emailAssetsBaseUrl = "https://slxd.app/brand/email";
|
|
59
|
+
/** La cara latina de la sans, servida desde el mismo sitio que el logotipo. */
|
|
60
|
+
export declare const emailFontFilename = "google-sans-flex-normal-latin-v1.woff2";
|
|
61
|
+
export declare const emailStyles: {
|
|
62
|
+
readonly heading: {
|
|
63
|
+
readonly color: string;
|
|
64
|
+
readonly fontFamily: string;
|
|
65
|
+
readonly fontSize: string;
|
|
66
|
+
readonly fontWeight: number;
|
|
67
|
+
readonly lineHeight: string;
|
|
68
|
+
readonly margin: `0 0 ${string}`;
|
|
69
|
+
};
|
|
70
|
+
readonly text: {
|
|
71
|
+
readonly color: string;
|
|
72
|
+
readonly fontFamily: string;
|
|
73
|
+
readonly fontWeight: number;
|
|
74
|
+
readonly fontSize: string;
|
|
75
|
+
readonly lineHeight: string;
|
|
76
|
+
readonly margin: `0 0 ${string}`;
|
|
77
|
+
};
|
|
78
|
+
readonly textEmphasis: {
|
|
79
|
+
readonly fontWeight: number;
|
|
80
|
+
};
|
|
81
|
+
readonly muted: {
|
|
82
|
+
readonly color: string;
|
|
83
|
+
readonly fontFamily: string;
|
|
84
|
+
readonly fontWeight: number;
|
|
85
|
+
readonly fontSize: string;
|
|
86
|
+
readonly lineHeight: string;
|
|
87
|
+
readonly margin: 0;
|
|
88
|
+
};
|
|
89
|
+
readonly footnote: {
|
|
90
|
+
readonly color: string;
|
|
91
|
+
readonly fontFamily: string;
|
|
92
|
+
readonly fontWeight: number;
|
|
93
|
+
readonly fontSize: string;
|
|
94
|
+
readonly lineHeight: string;
|
|
95
|
+
readonly margin: 0;
|
|
96
|
+
};
|
|
97
|
+
readonly button: {
|
|
98
|
+
readonly backgroundColor: string;
|
|
99
|
+
readonly color: string;
|
|
100
|
+
readonly display: "block";
|
|
101
|
+
readonly width: string;
|
|
102
|
+
readonly textAlign: "center";
|
|
103
|
+
readonly fontFamily: string;
|
|
104
|
+
readonly fontSize: string;
|
|
105
|
+
readonly fontWeight: number;
|
|
106
|
+
readonly padding: `${string} 0`;
|
|
107
|
+
readonly textDecoration: "none";
|
|
108
|
+
readonly marginBottom: string;
|
|
109
|
+
};
|
|
110
|
+
readonly buttonFallback: {
|
|
111
|
+
readonly margin: `${string} 0 ${string}`;
|
|
112
|
+
readonly color: string;
|
|
113
|
+
readonly fontFamily: string;
|
|
114
|
+
readonly fontWeight: number;
|
|
115
|
+
readonly fontSize: string;
|
|
116
|
+
readonly lineHeight: string;
|
|
117
|
+
};
|
|
118
|
+
readonly buttonFallbackUrl: {
|
|
119
|
+
readonly color: string;
|
|
120
|
+
readonly wordBreak: "break-all";
|
|
121
|
+
readonly wordWrap: "break-word";
|
|
122
|
+
};
|
|
123
|
+
readonly link: {
|
|
124
|
+
readonly color: string;
|
|
125
|
+
readonly fontFamily: string;
|
|
126
|
+
readonly fontWeight: number;
|
|
127
|
+
readonly textDecoration: "underline";
|
|
128
|
+
};
|
|
129
|
+
readonly heading2: {
|
|
130
|
+
readonly color: string;
|
|
131
|
+
readonly fontFamily: string;
|
|
132
|
+
readonly fontSize: string;
|
|
133
|
+
readonly fontWeight: number;
|
|
134
|
+
readonly lineHeight: string;
|
|
135
|
+
readonly margin: `${string} 0 ${string}`;
|
|
136
|
+
};
|
|
137
|
+
readonly list: {
|
|
138
|
+
readonly color: string;
|
|
139
|
+
readonly fontFamily: string;
|
|
140
|
+
readonly fontSize: string;
|
|
141
|
+
readonly fontWeight: number;
|
|
142
|
+
readonly lineHeight: string;
|
|
143
|
+
readonly margin: `0 0 ${string}`;
|
|
144
|
+
readonly paddingLeft: string;
|
|
145
|
+
};
|
|
146
|
+
readonly listItem: {
|
|
147
|
+
readonly margin: `0 0 ${string}`;
|
|
148
|
+
};
|
|
149
|
+
readonly quote: {
|
|
150
|
+
readonly borderLeft: `${string} solid ${string}`;
|
|
151
|
+
readonly margin: `0 0 ${string}`;
|
|
152
|
+
readonly paddingLeft: string;
|
|
153
|
+
};
|
|
154
|
+
readonly tag: {
|
|
155
|
+
readonly borderRadius: string;
|
|
156
|
+
readonly display: "inline-block";
|
|
157
|
+
readonly fontFamily: string;
|
|
158
|
+
readonly fontSize: string;
|
|
159
|
+
readonly fontWeight: number;
|
|
160
|
+
readonly padding: `${string} ${string}`;
|
|
161
|
+
};
|
|
162
|
+
readonly divider: {
|
|
163
|
+
readonly border: 0;
|
|
164
|
+
readonly borderTop: `${string} solid ${string}`;
|
|
165
|
+
readonly margin: `${string} 0`;
|
|
166
|
+
readonly width: "100%";
|
|
167
|
+
};
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Los tres tonos de `EmailTag`, cada uno un par relleno/tinta autocontenido.
|
|
171
|
+
*
|
|
172
|
+
* Son los tres veredictos que hoy pinta un correo de la suite —el de validación
|
|
173
|
+
* de `lmsmarketplace`, que los tenía escritos a mano como `#006616`, `#ffcd00` y
|
|
174
|
+
* `#b30000`: exactamente estos—. No hay un cuarto tono neutro ni uno
|
|
175
|
+
* informativo porque ningún correo los pide todavía.
|
|
176
|
+
*
|
|
177
|
+
* Son RELLENOS, los tres, y lo decide el aviso: el amarillo de marca da 1,50:1
|
|
178
|
+
* sobre blanco y no llega al 3:1 de WCAG como tinta, así que solo existe como
|
|
179
|
+
* relleno con tinta prusia. Darles a los otros dos otra forma habría dejado
|
|
180
|
+
* tres veredictos que no se parecen entre sí.
|
|
181
|
+
*/
|
|
182
|
+
export declare const emailTones: {
|
|
183
|
+
readonly success: {
|
|
184
|
+
readonly backgroundColor: string;
|
|
185
|
+
readonly color: string;
|
|
186
|
+
};
|
|
187
|
+
readonly warning: {
|
|
188
|
+
readonly backgroundColor: string;
|
|
189
|
+
readonly color: string;
|
|
190
|
+
};
|
|
191
|
+
readonly error: {
|
|
192
|
+
readonly backgroundColor: string;
|
|
193
|
+
readonly color: string;
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
/** El veredicto que pinta una `EmailTag`. */
|
|
197
|
+
export type EmailTone = keyof typeof emailTones;
|
|
198
|
+
/**
|
|
199
|
+
* La única clase del correo. Existe porque el hover del botón no cabe inline y
|
|
200
|
+
* su regla necesita un gancho que no atrape a los demás enlaces.
|
|
201
|
+
*/
|
|
202
|
+
export declare const emailButtonClassName = "email-button";
|
|
203
|
+
/**
|
|
204
|
+
* Lo único que el correo no puede llevar inline: las pseudoclases.
|
|
205
|
+
*
|
|
206
|
+
* Es toda la hoja de estilos del correo. Antes había un bloque mucho mayor con
|
|
207
|
+
* las reglas de modo oscuro y las clases (`.email-body`, `.email-surface`,
|
|
208
|
+
* `.email-text`…) que existían solo para que esas reglas pudieran engancharse;
|
|
209
|
+
* al retirarse el modo oscuro se fueron con él.
|
|
210
|
+
*
|
|
211
|
+
* Dos reglas:
|
|
212
|
+
*
|
|
213
|
+
* 1. El enlace se desubraya bajo el puntero, como en la web.
|
|
214
|
+
* 2. El botón hace el salto de `Button primary`: del lavanda al amarillo, con
|
|
215
|
+
* la tinta prusia quieta. Va con `!important` porque compite con el estilo
|
|
216
|
+
* inline del propio botón, que le gana por especificidad. Y engancha por la
|
|
217
|
+
* clase `email-button`, no por `a`: el enlace de respaldo y los de baja son
|
|
218
|
+
* enlaces del correo y no deben ponerse amarillos.
|
|
219
|
+
*
|
|
220
|
+
* Esto solo se ve donde el cliente respeta el `<style>` del head —Gmail web,
|
|
221
|
+
* Apple Mail—; en Outlook de escritorio, que renderiza con el motor de Word, no,
|
|
222
|
+
* y en el móvil no hay puntero. Donde no llegue, el botón se queda en su reposo,
|
|
223
|
+
* que es la lectura correcta: es pulido, no una señal de la que dependa nada.
|
|
224
|
+
*/
|
|
225
|
+
export declare const emailStyleSheet: string;
|