@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,70 @@
|
|
|
1
|
+
export declare const emailTokens: {
|
|
2
|
+
readonly '--email-max-width': "600px";
|
|
3
|
+
readonly '--email-font-family': "\"Google Sans Flex\", system-ui, sans-serif";
|
|
4
|
+
readonly '--email-font-size': "20px";
|
|
5
|
+
readonly '--email-font-weight': "300";
|
|
6
|
+
readonly '--email-font-weight-range': "1 1000";
|
|
7
|
+
readonly '--email-line-height': "1.5";
|
|
8
|
+
readonly '--email-border-width': "1px";
|
|
9
|
+
readonly '--email-canvas-padding-block': "24px";
|
|
10
|
+
readonly '--email-canvas-padding-inline': "12px";
|
|
11
|
+
readonly '--email-padding-block': "24px";
|
|
12
|
+
readonly '--email-padding-inline': "24px";
|
|
13
|
+
readonly '--email-brand-padding-block': "16px";
|
|
14
|
+
readonly '--email-brand-padding-inline': "16px";
|
|
15
|
+
readonly '--email-opt-out-margin-block-start': "16px";
|
|
16
|
+
readonly '--email-heading-font-size': "32px";
|
|
17
|
+
readonly '--email-heading-font-weight': "500";
|
|
18
|
+
readonly '--email-heading-line-height': "1.1";
|
|
19
|
+
readonly '--email-heading-margin-block-end': "12px";
|
|
20
|
+
readonly '--email-text-margin-block-end': "16px";
|
|
21
|
+
readonly '--email-note-font-size': "16px";
|
|
22
|
+
readonly '--email-note-line-height': "1.65";
|
|
23
|
+
readonly '--email-text-emphasis-font-weight': "500";
|
|
24
|
+
readonly '--email-heading-2-font-size': "24px";
|
|
25
|
+
readonly '--email-heading-2-font-weight': "500";
|
|
26
|
+
readonly '--email-heading-2-line-height': "1.3";
|
|
27
|
+
readonly '--email-heading-2-margin-block-start': "24px";
|
|
28
|
+
readonly '--email-heading-2-margin-block-end': "12px";
|
|
29
|
+
readonly '--email-heading-2-color': "#111e30";
|
|
30
|
+
readonly '--email-list-margin-block-end': "16px";
|
|
31
|
+
readonly '--email-list-padding-inline-start': "24px";
|
|
32
|
+
readonly '--email-list-item-margin-block-end': "8px";
|
|
33
|
+
readonly '--email-quote-border-width': "2px";
|
|
34
|
+
readonly '--email-quote-border-color': "#4a4a4a";
|
|
35
|
+
readonly '--email-quote-padding-inline-start': "12px";
|
|
36
|
+
readonly '--email-quote-margin-block-end': "16px";
|
|
37
|
+
readonly '--email-divider-width': "1px";
|
|
38
|
+
readonly '--email-divider-color': "#d0d0d0";
|
|
39
|
+
readonly '--email-divider-margin-block': "24px";
|
|
40
|
+
readonly '--email-tag-font-size': "16px";
|
|
41
|
+
readonly '--email-tag-font-weight': "500";
|
|
42
|
+
readonly '--email-tag-border-radius': "9999px";
|
|
43
|
+
readonly '--email-tag-padding-block': "4px";
|
|
44
|
+
readonly '--email-tag-padding-inline': "12px";
|
|
45
|
+
readonly '--email-tag-margin-block-end': "16px";
|
|
46
|
+
readonly '--email-tone-success-bg': "#006616";
|
|
47
|
+
readonly '--email-tone-success-color': "#ffffff";
|
|
48
|
+
readonly '--email-tone-warning-bg': "#ffcd00";
|
|
49
|
+
readonly '--email-tone-warning-color': "#111e30";
|
|
50
|
+
readonly '--email-tone-error-bg': "#b30000";
|
|
51
|
+
readonly '--email-tone-error-color': "#ffffff";
|
|
52
|
+
readonly '--email-button-bg': "#baabff";
|
|
53
|
+
readonly '--email-button-color': "#111e30";
|
|
54
|
+
readonly '--email-button-hover-bg': "#ffcd00";
|
|
55
|
+
readonly '--email-button-hover-color': "#111e30";
|
|
56
|
+
readonly '--email-button-font-size': "20px";
|
|
57
|
+
readonly '--email-button-font-weight': "300";
|
|
58
|
+
readonly '--email-button-padding-block': "16px";
|
|
59
|
+
readonly '--email-button-width': "100%";
|
|
60
|
+
readonly '--email-button-fallback-margin-block-start': "12px";
|
|
61
|
+
readonly '--email-button-margin-block-end': "24px";
|
|
62
|
+
readonly '--email-logo-height': "85.33333333333333px";
|
|
63
|
+
readonly '--email-logo-padding': "8px";
|
|
64
|
+
readonly '--email-canvas-bg': "#ffffff";
|
|
65
|
+
readonly '--email-bg': "#ffffff";
|
|
66
|
+
readonly '--email-color': "#111e30";
|
|
67
|
+
readonly '--email-muted-color': "#4a4a4a";
|
|
68
|
+
readonly '--email-border-color': "#111e30";
|
|
69
|
+
};
|
|
70
|
+
export type EmailTokenName = keyof typeof emailTokens;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import './Alert.css';
|
|
2
|
+
export type AlertVariant = 'default' | 'success' | 'error' | 'warning';
|
|
3
|
+
export interface AlertProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
4
|
+
variant?: AlertVariant;
|
|
5
|
+
/** Título del alert. **Opcional**: en modo composición usa `children` (p. ej. `<Alert.Title>`). */
|
|
6
|
+
title?: string;
|
|
7
|
+
description?: React.ReactNode;
|
|
8
|
+
dismissible?: boolean;
|
|
9
|
+
onDismiss?: () => void;
|
|
10
|
+
/**
|
|
11
|
+
* Dónde dejar el foco al descartar. El botón de cierre desaparece con el
|
|
12
|
+
* alert, así que el foco se movería al `<body>` y se perdería el sitio en la
|
|
13
|
+
* página. Pásale la referencia del elemento que provocó el aviso (el botón
|
|
14
|
+
* que lanzó la acción, el campo que falló). Sin ella, el componente enfoca
|
|
15
|
+
* el `<body>` con `tabindex="-1"` temporal: el lector vuelve al principio
|
|
16
|
+
* del documento, que es el último recurso, no lo deseable.
|
|
17
|
+
*/
|
|
18
|
+
finalFocus?: React.RefObject<HTMLElement | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Etiqueta accesible del botón de cierre. Default: «Cerrar» (castellano).
|
|
21
|
+
* Una app multiidioma debe pasarla traducida.
|
|
22
|
+
*/
|
|
23
|
+
closeLabel?: string;
|
|
24
|
+
}
|
|
25
|
+
export type AlertTitleProps = React.ComponentPropsWithoutRef<'p'>;
|
|
26
|
+
export type AlertDescriptionProps = React.ComponentPropsWithoutRef<'div'>;
|
|
27
|
+
/** Subparte de composición: título del alert. */
|
|
28
|
+
export declare const AlertTitle: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
|
|
29
|
+
/** Subparte de composición: descripción del alert. */
|
|
30
|
+
export declare const AlertDescription: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
31
|
+
/**
|
|
32
|
+
* Namespace de composición. Las subpartes también están disponibles como **named
|
|
33
|
+
* exports** (`AlertTitle`, `AlertDescription`): en **Server Components (RSC)** usa los
|
|
34
|
+
* named exports — el namespace (`Alert.Title`) requiere contexto cliente.
|
|
35
|
+
*/
|
|
36
|
+
export declare const Alert: import("react").ForwardRefExoticComponent<AlertProps & import("react").RefAttributes<HTMLDivElement>> & {
|
|
37
|
+
Title: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & import("react").RefAttributes<HTMLParagraphElement>>;
|
|
38
|
+
Description: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
39
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import './AppLauncher.css';
|
|
2
|
+
export interface LauncherApp {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
url: string;
|
|
6
|
+
isNew?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface AppLauncherLabels {
|
|
9
|
+
/** Texto accesible del trigger («Abrir launcher de apps»). Solo se usa como `aria-label` cuando no hay `trigger`: con texto visible, el nombre accesible es ese texto. */
|
|
10
|
+
open: string;
|
|
11
|
+
/** Texto del badge de app nueva. */
|
|
12
|
+
new: string;
|
|
13
|
+
/**
|
|
14
|
+
* Texto visible del disparador (p. ej. «Aplicaciones»), a la derecha del
|
|
15
|
+
* icono de rejilla. Sin él, el disparador se queda como hoy: solo icono,
|
|
16
|
+
* con `open` de nombre accesible.
|
|
17
|
+
*/
|
|
18
|
+
trigger?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Título del diálogo cuando `presentation="modal"`. Default: «Aplicaciones»
|
|
21
|
+
* (castellano). Sin uso en `presentation="popover"`, que no lleva título.
|
|
22
|
+
*/
|
|
23
|
+
title?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface AppLauncherProps {
|
|
26
|
+
apps: LauncherApp[];
|
|
27
|
+
labels: AppLauncherLabels;
|
|
28
|
+
/** Id de la app actual — se marca en la rejilla. */
|
|
29
|
+
currentAppId?: string;
|
|
30
|
+
open?: boolean;
|
|
31
|
+
defaultOpen?: boolean;
|
|
32
|
+
onOpenChange?: (open: boolean) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Contenedor del panel. `'modal'` (por defecto): diálogo centrado, como
|
|
35
|
+
* `CommandPalette` — foco atrapado, más sitio para crecer y el mismo lugar
|
|
36
|
+
* de la suite para descripciones o más aplicaciones. `'popover'`: el panel
|
|
37
|
+
* flotante anclado al disparador que tenía el componente antes de v35 —
|
|
38
|
+
* quien lo prefiera lo pide explícitamente.
|
|
39
|
+
*/
|
|
40
|
+
presentation?: 'modal' | 'popover';
|
|
41
|
+
}
|
|
42
|
+
export declare function AppLauncher({ presentation, ...rest }: AppLauncherProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type MessageTimestamp } from '../_shared/messageTimestamp';
|
|
2
|
+
import './AssistantMessage.css';
|
|
3
|
+
export interface AssistantMessageProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
/** Nombre del modelo que generó la respuesta (ej. "Claude Opus 5"). */
|
|
6
|
+
model?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Momento del mensaje: un `Date` o una cadena ISO 8601. Se pinta en un
|
|
9
|
+
* `<time datetime>`, así que tiene que ser el instante, no una hora ya
|
|
10
|
+
* formateada — de eso se encarga el componente con `Intl`.
|
|
11
|
+
*/
|
|
12
|
+
timestamp?: MessageTimestamp;
|
|
13
|
+
/** Locale con el que se formatea la marca de tiempo. Default `'es-ES'`. */
|
|
14
|
+
locale?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Opciones de `Intl.DateTimeFormat` para la marca de tiempo.
|
|
17
|
+
* Default: hora y minutos a dos dígitos.
|
|
18
|
+
*/
|
|
19
|
+
timestampFormat?: Intl.DateTimeFormatOptions;
|
|
20
|
+
/** Cuando true, muestra el indicador de escritura en lugar del contenido. */
|
|
21
|
+
isStreaming?: boolean;
|
|
22
|
+
/** Texto anunciado por lectores de pantalla para el estado de escritura. */
|
|
23
|
+
streamingLabel?: string;
|
|
24
|
+
/** Se añade DESPUÉS de las clases propias del componente (el consumidor añade, no sustituye). */
|
|
25
|
+
className?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Un mensaje del asistente dentro del hilo: el nombre del modelo que firma la
|
|
29
|
+
* respuesta, el globo alineado al lado de inicio y su marca de tiempo debajo.
|
|
30
|
+
* Mientras la respuesta se está generando, el globo lleva el `TypingIndicator`.
|
|
31
|
+
*
|
|
32
|
+
* Reenvía el resto de props del `<div>` (`data-*`, `aria-*`, `id`…) y el `ref`.
|
|
33
|
+
*/
|
|
34
|
+
export declare const AssistantMessage: import("react").ForwardRefExoticComponent<AssistantMessageProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import './AsyncMultiSelectField.css';
|
|
2
|
+
import { AsyncMultiSelect } from '../../atoms/AsyncMultiSelect/AsyncMultiSelect';
|
|
3
|
+
import type { AsyncMultiSelectOption } from '../../atoms/AsyncMultiSelect/AsyncMultiSelect';
|
|
4
|
+
export type { AsyncMultiSelectOption };
|
|
5
|
+
export interface AsyncMultiSelectFieldProps {
|
|
6
|
+
/** `id` del control. Si no se pasa, se genera con `useId`. */
|
|
7
|
+
id?: string;
|
|
8
|
+
label: string;
|
|
9
|
+
/**
|
|
10
|
+
* Oculta la etiqueta a la vista (sigue leyéndola el lector de pantalla).
|
|
11
|
+
* Por defecto `false`: la etiqueta se ve.
|
|
12
|
+
* Sin valor, lo decide quien lo envuelva: dentro de un `FieldRow` que no
|
|
13
|
+
* es la primera de la lista, la etiqueta se oculta sola.
|
|
14
|
+
*/
|
|
15
|
+
labelHidden?: boolean;
|
|
16
|
+
onSearch: (query: string) => Promise<AsyncMultiSelectOption[]>;
|
|
17
|
+
value?: string[];
|
|
18
|
+
defaultValue?: string[];
|
|
19
|
+
onValueChange?: (value: string[]) => void;
|
|
20
|
+
/** Opciones elegidas: hacen falta para poder mostrar sus etiquetas. */
|
|
21
|
+
selectedOptions?: AsyncMultiSelectOption[];
|
|
22
|
+
placeholder?: string;
|
|
23
|
+
/** Nombre del campo en el formulario: se monta un input oculto por valor elegido. */
|
|
24
|
+
name?: string;
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
readOnly?: boolean;
|
|
27
|
+
/** Marca el control como obligatorio (`aria-required` en el combobox). */
|
|
28
|
+
required?: boolean;
|
|
29
|
+
/** Marca el control en error sin mensaje. Un `errorMessage` ya lo implica. */
|
|
30
|
+
error?: boolean;
|
|
31
|
+
/** Mensaje de error: se anuncia (`role="alert"`) y pone el control en error. */
|
|
32
|
+
errorMessage?: string;
|
|
33
|
+
/** Texto de ayuda, enlazado por `aria-describedby`. */
|
|
34
|
+
helperText?: string;
|
|
35
|
+
size?: 'sm' | 'md' | 'lg';
|
|
36
|
+
/** Milisegundos de rebote antes de llamar a `onSearch`. Default: 300. */
|
|
37
|
+
debounceMs?: number;
|
|
38
|
+
/** Se añade DESPUÉS de las clases propias (el consumidor añade, no sustituye). */
|
|
39
|
+
className?: string;
|
|
40
|
+
/** Texto cuando la búsqueda no devuelve nada. Default: "Sin resultados". */
|
|
41
|
+
emptyMessage?: string;
|
|
42
|
+
/** aria-label del botón que quita un valor. Default: `Quitar ${etiqueta}` (castellano). */
|
|
43
|
+
removeLabel?: (label: string) => string;
|
|
44
|
+
/** Etiqueta accesible del spinner mientras se busca. Default: "Buscando…". */
|
|
45
|
+
loadingLabel?: string;
|
|
46
|
+
/** Nodo DOM donde montar el portal del desplegable (ver `AsyncMultiSelect`). */
|
|
47
|
+
container?: React.ComponentProps<typeof AsyncMultiSelect>['container'];
|
|
48
|
+
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* El `AsyncMultiSelect` como campo de formulario. El `ref` va al `<input>` de
|
|
52
|
+
* búsqueda, que es lo que se enfoca; el `className`, al contenedor.
|
|
53
|
+
*/
|
|
54
|
+
export declare const AsyncMultiSelectField: import("react").ForwardRefExoticComponent<AsyncMultiSelectFieldProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import './AsyncSelectField.css';
|
|
2
|
+
import { AsyncSelect } from '../../atoms/AsyncSelect/AsyncSelect';
|
|
3
|
+
import type { AsyncSelectOption } from '../../atoms/AsyncSelect/AsyncSelect';
|
|
4
|
+
export type { AsyncSelectOption };
|
|
5
|
+
export interface AsyncSelectFieldProps {
|
|
6
|
+
/** `id` del control. Si no se pasa, se genera con `useId`. */
|
|
7
|
+
id?: string;
|
|
8
|
+
label: string;
|
|
9
|
+
/**
|
|
10
|
+
* Oculta la etiqueta a la vista (sigue leyéndola el lector de pantalla).
|
|
11
|
+
* Por defecto `false`: la etiqueta se ve.
|
|
12
|
+
* Sin valor, lo decide quien lo envuelva: dentro de un `FieldRow` que no
|
|
13
|
+
* es la primera de la lista, la etiqueta se oculta sola.
|
|
14
|
+
*/
|
|
15
|
+
labelHidden?: boolean;
|
|
16
|
+
onSearch: (query: string) => Promise<AsyncSelectOption[]>;
|
|
17
|
+
value?: string | null;
|
|
18
|
+
onValueChange?: (value: string | null, option: AsyncSelectOption | null) => void;
|
|
19
|
+
/** Opción elegida: hace falta para poder mostrar su etiqueta cuando hay `value`. */
|
|
20
|
+
selectedOption?: AsyncSelectOption | null;
|
|
21
|
+
placeholder?: string;
|
|
22
|
+
/** Nombre del campo en el formulario: se monta un input oculto con el valor. */
|
|
23
|
+
name?: string;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
readOnly?: boolean;
|
|
26
|
+
/** Marca el control como obligatorio (`aria-required` en el combobox). */
|
|
27
|
+
required?: boolean;
|
|
28
|
+
/** Marca el control en error sin mensaje. Un `errorMessage` ya lo implica. */
|
|
29
|
+
error?: boolean;
|
|
30
|
+
/** Mensaje de error: se anuncia (`role="alert"`) y pone el control en error. */
|
|
31
|
+
errorMessage?: string;
|
|
32
|
+
/** Texto de ayuda, enlazado por `aria-describedby`. */
|
|
33
|
+
helperText?: string;
|
|
34
|
+
size?: 'sm' | 'md' | 'lg';
|
|
35
|
+
/** Milisegundos de rebote antes de llamar a `onSearch`. Default: 300. */
|
|
36
|
+
debounceMs?: number;
|
|
37
|
+
/** Se añade DESPUÉS de las clases propias (el consumidor añade, no sustituye). */
|
|
38
|
+
className?: string;
|
|
39
|
+
/** Texto cuando la búsqueda no devuelve nada. Default: "Sin resultados". */
|
|
40
|
+
emptyMessage?: string;
|
|
41
|
+
/** Etiqueta accesible del spinner mientras se busca. Default: "Buscando…". */
|
|
42
|
+
loadingLabel?: string;
|
|
43
|
+
/** aria-label del botón de limpiar selección. Default: "Limpiar selección". */
|
|
44
|
+
clearLabel?: string;
|
|
45
|
+
/** Nodo DOM donde montar el portal del desplegable (ver `AsyncSelect`). */
|
|
46
|
+
container?: React.ComponentProps<typeof AsyncSelect>['container'];
|
|
47
|
+
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* El `AsyncSelect` como campo de formulario. El `ref` va al `<input>` de
|
|
51
|
+
* búsqueda, que es lo que se enfoca; el `className`, al contenedor.
|
|
52
|
+
*/
|
|
53
|
+
export declare const AsyncSelectField: import("react").ForwardRefExoticComponent<AsyncSelectFieldProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type FormSize } from '../../constants/form-size';
|
|
3
|
+
import './AvatarUpload.css';
|
|
4
|
+
export interface AvatarUploadProps {
|
|
5
|
+
/** URL de la imagen actual. Sin ella, el avatar enseña las iniciales de `name`. */
|
|
6
|
+
src?: string | null;
|
|
7
|
+
/** Nombre de la persona o de la organización: da las iniciales y el nombre accesible. */
|
|
8
|
+
name?: string;
|
|
9
|
+
/** Nombre accesible del avatar. Por defecto, `name`. */
|
|
10
|
+
alt?: string;
|
|
11
|
+
/** `circle` para personas, `square` para organizaciones. También decide la selección del recorte. */
|
|
12
|
+
shape?: 'circle' | 'square';
|
|
13
|
+
/**
|
|
14
|
+
* Talla del sistema: mueve a la vez el botón y el avatar (que va cuatro
|
|
15
|
+
* peldaños por encima: `sm` → 96px, `md` → 128px, `lg` → 192px).
|
|
16
|
+
* Sin ella, la del `Form`/`FormSizeContext` que lo envuelva; sin contexto, `md`.
|
|
17
|
+
*/
|
|
18
|
+
size?: FormSize;
|
|
19
|
+
/** Tipos MIME admitidos, como el `accept` del input. */
|
|
20
|
+
accept?: string;
|
|
21
|
+
/** Peso máximo en bytes. Sin él, no hay límite de peso. */
|
|
22
|
+
maxSize?: number;
|
|
23
|
+
/** Formato del recorte que se entrega. */
|
|
24
|
+
outputMimeType?: 'image/jpeg' | 'image/png' | 'image/webp';
|
|
25
|
+
/** Lado del recorte que se entrega, en píxeles. */
|
|
26
|
+
outputSize?: number;
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
/** El consumidor está subiendo: bloquea el botón, la diana y el diálogo. */
|
|
29
|
+
busy?: boolean;
|
|
30
|
+
/** Error del consumidor (el que devuelve el servidor). Se suma al de la validación de cliente. */
|
|
31
|
+
errorMessage?: string;
|
|
32
|
+
/** El recorte confirmado, con el archivo original del que salió. */
|
|
33
|
+
onChange: (blob: Blob, file: File) => void | Promise<void>;
|
|
34
|
+
/** El archivo elegido (por botón o soltándolo) que ha pasado la validación, antes de recortar. */
|
|
35
|
+
onSelect?: (file: File) => void;
|
|
36
|
+
/** Un archivo rechazado por la validación de cliente, con el mensaje que se enseña. */
|
|
37
|
+
onError?: (message: string) => void;
|
|
38
|
+
/**
|
|
39
|
+
* Texto **visible** del botón. Default: "Subir" (castellano).
|
|
40
|
+
* Corto a propósito: el nombre completo va en `buttonAccessibleLabel`.
|
|
41
|
+
*/
|
|
42
|
+
buttonLabel?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Nombre **accesible** del botón, para decir de qué es la subida ("Subir
|
|
45
|
+
* logo", "Subir avatar"). Por defecto, `buttonLabel`.
|
|
46
|
+
*
|
|
47
|
+
* WCAG 2.5.3 (Label in Name) exige que **contenga** el texto visible: quien
|
|
48
|
+
* navega por voz dice lo que ve. "Subir" dentro de "Subir logo" cumple;
|
|
49
|
+
* "Cargar imagen de la organización" no, y deja el control inalcanzable.
|
|
50
|
+
* En desarrollo se avisa por consola si no lo contiene.
|
|
51
|
+
*/
|
|
52
|
+
buttonAccessibleLabel?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Qué se puede subir. No se ve: describe el botón (`aria-describedby`),
|
|
55
|
+
* porque el `accept` del input no lo anuncia ningún lector de pantalla.
|
|
56
|
+
* Default: los formatos y el peso máximo ("JPEG, PNG, WEBP · máx. 5 MB").
|
|
57
|
+
*/
|
|
58
|
+
hintLabel?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Los formatos, escritos para leer. Default: los subtipos de `accept` en
|
|
61
|
+
* mayúsculas. Con comodines (`image/*`) pásalo escrito.
|
|
62
|
+
*/
|
|
63
|
+
formatsLabel?: string;
|
|
64
|
+
/** Pista de peso máximo. Default: `máx. ${size}` (el peso ya viene formateado). */
|
|
65
|
+
maxSizeHint?: (maxSize: string) => string;
|
|
66
|
+
/**
|
|
67
|
+
* Error de formato. Default: `Formato no admitido. Se aceptan ${formatos}.`
|
|
68
|
+
* Dice lo que SÍ se acepta: por el botón el error es imposible (lo filtra el
|
|
69
|
+
* diálogo del sistema), pero soltando un archivo no hay filtro que valga.
|
|
70
|
+
*/
|
|
71
|
+
invalidTypeError?: (formats: string) => string;
|
|
72
|
+
/** Error de peso. Default: `El archivo pesa demasiado. El máximo es ${max}.` */
|
|
73
|
+
tooLargeError?: (maxSize: string) => string;
|
|
74
|
+
/**
|
|
75
|
+
* Lo que se anuncia cuando empieza un arrastre sobre la ventana.
|
|
76
|
+
* Default: "Suelta la imagen sobre el avatar para subirla".
|
|
77
|
+
*/
|
|
78
|
+
dropActiveMessage?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Pista **visible** bajo el botón: dice que además se puede arrastrar, que
|
|
81
|
+
* es lo único de esta pieza que no se adivina mirándola. Default castellano:
|
|
82
|
+
* "…o arrastra la imagen hasta el avatar". Con cadena vacía no se pinta.
|
|
83
|
+
*/
|
|
84
|
+
dropHintLabel?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Título del diálogo de recorte. Default: "Recortar imagen" (castellano).
|
|
87
|
+
* Es una acción, no una invitación: nombra lo que va a pasar, sin segunda
|
|
88
|
+
* persona, como el resto de títulos de diálogo del sistema.
|
|
89
|
+
*/
|
|
90
|
+
cropTitle?: string;
|
|
91
|
+
/**
|
|
92
|
+
* Descripción del diálogo de recorte. **Sin default**: el diálogo enseña la
|
|
93
|
+
* imagen y su marco de selección, que se explican solos. Pásala solo si en
|
|
94
|
+
* tu caso hay algo que decir que no esté ya a la vista.
|
|
95
|
+
*/
|
|
96
|
+
cropDescription?: ReactNode;
|
|
97
|
+
/** Default: "Cancelar". */
|
|
98
|
+
cropCancelLabel?: ReactNode;
|
|
99
|
+
/** Default: "Guardar". */
|
|
100
|
+
cropConfirmLabel?: ReactNode;
|
|
101
|
+
/** Etiqueta del aspa de cerrar. Default: "Cerrar". */
|
|
102
|
+
cropCloseLabel?: string;
|
|
103
|
+
/** Lo que se dice mientras la imagen se carga en el diálogo. Default: "Cargando imagen…". */
|
|
104
|
+
cropLoadingLabel?: string;
|
|
105
|
+
/** Lo que se dice cuando la imagen no se puede cargar. Default: "No hemos podido cargar la imagen. Prueba con otro archivo.". */
|
|
106
|
+
cropErrorMessage?: string;
|
|
107
|
+
/** Se añade DESPUÉS de las clases propias del componente. */
|
|
108
|
+
className?: string;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* El avatar de una entidad —una persona o una organización— con su subida: se
|
|
112
|
+
* elige la imagen con el botón o soltándola sobre el avatar, se recorta y se
|
|
113
|
+
* entrega el recorte. La subida de verdad (a dónde va el archivo) es del
|
|
114
|
+
* producto: el componente pone presentación, interacción, validación de
|
|
115
|
+
* cliente y recorte.
|
|
116
|
+
*
|
|
117
|
+
* La diana es el avatar, no el bloque: lo que acepta el archivo es lo que se
|
|
118
|
+
* va a sustituir. Como diana es pequeña, en cuanto empieza un arrastre sobre
|
|
119
|
+
* la ventana el avatar se anuncia con un anillo (y con un mensaje para quien
|
|
120
|
+
* no ve la pantalla); el anillo se pinta con `outline`, por fuera, así que la
|
|
121
|
+
* zona sensible sigue siendo exactamente el avatar. El botón se queda siempre:
|
|
122
|
+
* arrastrar no existe para el teclado, así que es la vía principal, no un
|
|
123
|
+
* respaldo.
|
|
124
|
+
*/
|
|
125
|
+
export declare function AvatarUpload({ src, name, alt, shape, size: sizeProp, accept, maxSize, outputMimeType, outputSize, disabled, busy, errorMessage, onChange, onSelect, onError, buttonLabel, buttonAccessibleLabel, hintLabel, formatsLabel, maxSizeHint, invalidTypeError, tooLargeError, dropActiveMessage, dropHintLabel, cropTitle, cropDescription, cropCancelLabel, cropConfirmLabel, cropCloseLabel, cropLoadingLabel, cropErrorMessage, className, }: AvatarUploadProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import './Banner.css';
|
|
2
|
+
export type BannerVariant = 'info' | 'warning';
|
|
3
|
+
export interface BannerProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
4
|
+
/** Intención de la barra. Default `'info'` (relleno prusia); `'warning'` es el relleno de aviso. */
|
|
5
|
+
variant?: BannerVariant;
|
|
6
|
+
/** El mensaje. Texto corriente: una frase, no un bloque. */
|
|
7
|
+
children?: React.ReactNode;
|
|
8
|
+
/** Ranura para las acciones — normalmente un `Button` del sistema. */
|
|
9
|
+
actions?: React.ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Qué hacer al descartar. Si se pasa, la barra pinta el aspa. La barra **no
|
|
12
|
+
* se oculta sola**: es de sistema y quien decide si sigue en pantalla es la
|
|
13
|
+
* aplicación, que sabe si la condición que la provocó sigue vigente.
|
|
14
|
+
*/
|
|
15
|
+
onDismiss?: () => void;
|
|
16
|
+
/**
|
|
17
|
+
* Nombre accesible del aspa. Default: «Descartar aviso» (castellano). Una app
|
|
18
|
+
* multiidioma debe pasarlo traducido.
|
|
19
|
+
*/
|
|
20
|
+
dismissLabel?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Barra de sistema: un aviso persistente, a ancho completo, que acompaña a toda
|
|
24
|
+
* la sesión y vive **fuera** del contenido —el caso de referencia es «estás
|
|
25
|
+
* viendo la aplicación como alguien» con el botón de dejar de suplantar—.
|
|
26
|
+
*
|
|
27
|
+
* No es un `Alert`: el alert va **en el flujo**, dentro del contenido, y habla
|
|
28
|
+
* de lo que hay a su alrededor (un formulario que falló, un dato que hace
|
|
29
|
+
* falta). El banner habla del estado de la sesión entera y por eso no se
|
|
30
|
+
* intercala en la lectura: se pega arriba (o abajo) del chrome.
|
|
31
|
+
*
|
|
32
|
+
* No fija su posición: `sticky` lo decide la aplicación con el layout del
|
|
33
|
+
* sistema. Tampoco se oculta sola — `onDismiss` avisa y la app decide.
|
|
34
|
+
*
|
|
35
|
+
* Anuncia como `role="status"` con `aria-live="polite"`, que es lo que
|
|
36
|
+
* corresponde a un aviso que no interrumpe. Ambos se pueden sobrescribir.
|
|
37
|
+
*
|
|
38
|
+
* Extiende los atributos nativos de `<div>` y reenvía `{...rest}` al raíz.
|
|
39
|
+
*/
|
|
40
|
+
export declare const Banner: import("react").ForwardRefExoticComponent<BannerProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { AnchorHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import './Breadcrumb.css';
|
|
3
|
+
export type BreadcrumbItem = {
|
|
4
|
+
label: string;
|
|
5
|
+
href?: string;
|
|
6
|
+
};
|
|
7
|
+
export type BreadcrumbRenderLinkProps = AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
8
|
+
href: string;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
className: string;
|
|
11
|
+
};
|
|
12
|
+
export interface BreadcrumbProps {
|
|
13
|
+
items: BreadcrumbItem[];
|
|
14
|
+
renderLink?: (props: BreadcrumbRenderLinkProps) => ReactNode;
|
|
15
|
+
separator?: ReactNode;
|
|
16
|
+
/**
|
|
17
|
+
* `aria-label` del `<nav>`. Default: «Migas de pan» (castellano).
|
|
18
|
+
* Una app multiidioma debe pasarlo traducido.
|
|
19
|
+
*/
|
|
20
|
+
ariaLabel?: string;
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function Breadcrumb({ items, renderLink, separator, ariaLabel, className, }: BreadcrumbProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import './Calendar.css';
|
|
2
|
+
export interface CalendarProps {
|
|
3
|
+
/** Fecha seleccionada (modo controlado) */
|
|
4
|
+
value?: Date | null;
|
|
5
|
+
/** Callback al seleccionar una fecha */
|
|
6
|
+
onChange?: (date: Date) => void;
|
|
7
|
+
/** Mes inicial en modo no controlado */
|
|
8
|
+
defaultMonth?: Date;
|
|
9
|
+
/** Mes visible (modo controlado) */
|
|
10
|
+
month?: Date;
|
|
11
|
+
/** Callback al cambiar de mes */
|
|
12
|
+
onMonthChange?: (month: Date) => void;
|
|
13
|
+
/** Muestra los botones de navegación prev/next. Default: true */
|
|
14
|
+
navigable?: boolean;
|
|
15
|
+
/** Deshabilita fechas concretas o por función */
|
|
16
|
+
disabledDates?: Date[] | ((date: Date) => boolean);
|
|
17
|
+
/** Límite inferior seleccionable */
|
|
18
|
+
minDate?: Date;
|
|
19
|
+
/** Límite superior seleccionable */
|
|
20
|
+
maxDate?: Date;
|
|
21
|
+
/** Locale para nombres de mes y día. Default: 'es-ES' */
|
|
22
|
+
locale?: string;
|
|
23
|
+
/**
|
|
24
|
+
* aria-label del botón de mes anterior. Default: "Mes anterior" (castellano).
|
|
25
|
+
* Una app multiidioma debe pasarla traducida.
|
|
26
|
+
*/
|
|
27
|
+
previousMonthLabel?: string;
|
|
28
|
+
/**
|
|
29
|
+
* aria-label del botón de mes siguiente. Default: "Mes siguiente" (castellano).
|
|
30
|
+
* Una app multiidioma debe pasarla traducida.
|
|
31
|
+
*/
|
|
32
|
+
nextMonthLabel?: string;
|
|
33
|
+
/**
|
|
34
|
+
* aria-label del botón de retroceso **en la vista de años**. Default: "Años
|
|
35
|
+
* anteriores" (castellano). Una app multiidioma debe pasarla traducida.
|
|
36
|
+
*/
|
|
37
|
+
previousYearsLabel?: string;
|
|
38
|
+
/**
|
|
39
|
+
* aria-label del botón de avance en la vista de años. Default: "Años
|
|
40
|
+
* siguientes" (castellano).
|
|
41
|
+
*/
|
|
42
|
+
nextYearsLabel?: string;
|
|
43
|
+
/**
|
|
44
|
+
* aria-label de la rejilla de años. Default: "Elegir año" (castellano).
|
|
45
|
+
*/
|
|
46
|
+
yearGridLabel?: string;
|
|
47
|
+
/**
|
|
48
|
+
* aria-label de la rejilla de días. Sin ella, la rejilla toma como nombre el
|
|
49
|
+
* título del mes visible. Cuando el calendario vive dentro de un panel con
|
|
50
|
+
* nombre propio (el `Popover` de `DatePicker`), conviene pasarlo aquí.
|
|
51
|
+
* Es texto visible para lectores: una app multiidioma debe pasarlo traducido.
|
|
52
|
+
*/
|
|
53
|
+
gridLabel?: string;
|
|
54
|
+
/** Tamaño del componente. Default: 'md' */
|
|
55
|
+
size?: 'sm' | 'md' | 'lg';
|
|
56
|
+
className?: string;
|
|
57
|
+
}
|
|
58
|
+
export declare function Calendar({ value, onChange, defaultMonth, month: monthProp, onMonthChange, navigable, disabledDates, minDate, maxDate, locale, previousMonthLabel, nextMonthLabel, previousYearsLabel, nextYearsLabel, yearGridLabel, gridLabel, size, className, }: CalendarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { TagVariant } from '../../atoms/Tag/Tag';
|
|
3
|
+
import './CalendarPlanner.css';
|
|
4
|
+
export interface PlannerEvent {
|
|
5
|
+
id: string;
|
|
6
|
+
date: Date;
|
|
7
|
+
label: string;
|
|
8
|
+
variant?: TagVariant;
|
|
9
|
+
}
|
|
10
|
+
export interface CalendarPlannerProps {
|
|
11
|
+
/** Eventos a mostrar en el planificador */
|
|
12
|
+
events?: PlannerEvent[];
|
|
13
|
+
/**
|
|
14
|
+
* Render prop para personalizar el contenido de cada celda.
|
|
15
|
+
* Si se pasa, sustituye al renderizado por defecto de tags.
|
|
16
|
+
*/
|
|
17
|
+
renderDay?: (date: Date, events: PlannerEvent[]) => ReactNode;
|
|
18
|
+
/** Número máximo de eventos visibles por celda antes de truncar. Default: 3 */
|
|
19
|
+
maxItemsPerDay?: number;
|
|
20
|
+
/** Callback al pulsar "+N más" en una celda */
|
|
21
|
+
onMoreClick?: (date: Date, events: PlannerEvent[]) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Abre el diálogo interno con los eventos ocultos al pulsar "+N más".
|
|
24
|
+
* Default: `true`, salvo que se pase `onMoreClick`, en cuyo caso el
|
|
25
|
+
* consumidor lleva ya el desbordamiento y el diálogo propio se apaga.
|
|
26
|
+
* Pásalo a `true` de forma explícita para tener las dos cosas.
|
|
27
|
+
*/
|
|
28
|
+
showMoreDialog?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Callback al hacer click en cualquier celda de día (incluso días vacíos y externos).
|
|
31
|
+
* Recibe la fecha de la celda y el array de eventos de ese día (vacío si no hay ninguno).
|
|
32
|
+
* Compatible con renderDay: el click se dispara en el contenedor de la celda.
|
|
33
|
+
*/
|
|
34
|
+
onDayClick?: (date: Date, events: PlannerEvent[]) => void;
|
|
35
|
+
/** Mes visible (modo controlado) */
|
|
36
|
+
month?: Date;
|
|
37
|
+
/** Mes inicial en modo no controlado */
|
|
38
|
+
defaultMonth?: Date;
|
|
39
|
+
/** Callback al cambiar de mes */
|
|
40
|
+
onMonthChange?: (month: Date) => void;
|
|
41
|
+
/** Muestra los botones de navegación prev/next. Default: true */
|
|
42
|
+
navigable?: boolean;
|
|
43
|
+
/** Locale para nombres de mes y día. Default: 'es-ES' */
|
|
44
|
+
locale?: string;
|
|
45
|
+
/**
|
|
46
|
+
* aria-label del botón de mes anterior. Default: "Mes anterior" (castellano).
|
|
47
|
+
* Una app multiidioma debe pasarla traducida.
|
|
48
|
+
*/
|
|
49
|
+
previousMonthLabel?: string;
|
|
50
|
+
/**
|
|
51
|
+
* aria-label del botón de mes siguiente. Default: "Mes siguiente" (castellano).
|
|
52
|
+
* Una app multiidioma debe pasarla traducida.
|
|
53
|
+
*/
|
|
54
|
+
nextMonthLabel?: string;
|
|
55
|
+
/**
|
|
56
|
+
* aria-label de la rejilla de días. Sin ella, la rejilla toma como nombre el
|
|
57
|
+
* título del mes visible. Es texto para lectores: una app multiidioma debe
|
|
58
|
+
* pasarlo traducido.
|
|
59
|
+
*/
|
|
60
|
+
gridLabel?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Rótulo visible del botón que abre los eventos ocultos de una celda.
|
|
63
|
+
* Default: `+N más` (castellano). Interpola el número, así que es una
|
|
64
|
+
* función: una app multiidioma debe pasarla traducida.
|
|
65
|
+
*/
|
|
66
|
+
moreLabel?: (count: number) => string;
|
|
67
|
+
/** Tamaño del componente. Default: 'md' */
|
|
68
|
+
size?: 'sm' | 'md' | 'lg';
|
|
69
|
+
className?: string;
|
|
70
|
+
}
|
|
71
|
+
export declare function CalendarPlanner({ events, renderDay, maxItemsPerDay, onMoreClick, showMoreDialog, onDayClick, month: monthProp, defaultMonth, onMonthChange, navigable, locale, previousMonthLabel, nextMonthLabel, gridLabel, moreLabel, size, className, }: CalendarPlannerProps): import("react/jsx-runtime").JSX.Element;
|