@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,127 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import './Consent.css';
|
|
3
|
+
import { Modal } from '../Modal/Modal';
|
|
4
|
+
/** Una categoría de tecnologías sobre la que se pide (o no) consentimiento. */
|
|
5
|
+
export interface ConsentCategory {
|
|
6
|
+
/** Identificador de la categoría. Es la clave dentro de `value`. */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Nombre visible de la categoría. */
|
|
9
|
+
name: string;
|
|
10
|
+
/** Qué hace esa categoría. Se muestra como ayuda del interruptor. */
|
|
11
|
+
description?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Categoría necesaria: siempre activa y sin interruptor operable. No se
|
|
14
|
+
* incluye en el objeto que devuelven `onSave`/`onChange` como algo que
|
|
15
|
+
* decidir — se guarda siempre a `true`.
|
|
16
|
+
*/
|
|
17
|
+
required?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/** La decisión: qué categorías están aceptadas, por `id`. */
|
|
20
|
+
export type ConsentValue = Record<string, boolean>;
|
|
21
|
+
export interface ConsentBannerProps extends Omit<React.ComponentPropsWithoutRef<'aside'>, 'title' | 'children' | 'onChange'> {
|
|
22
|
+
/**
|
|
23
|
+
* Muestra la banda. Es la primera visita, o la decisión ha caducado: quién lo
|
|
24
|
+
* sabe es el consumidor, que es también quien guarda la cookie. Default: `true`.
|
|
25
|
+
*/
|
|
26
|
+
open?: boolean;
|
|
27
|
+
/** Acepta todas las categorías. */
|
|
28
|
+
onAcceptAll: () => void;
|
|
29
|
+
/** Rechaza todas las opcionales. Tiene exactamente el mismo peso visual que aceptar. */
|
|
30
|
+
onRejectAll: () => void;
|
|
31
|
+
/** Abre el panel de preferencias. Sin ella no se pinta el botón. */
|
|
32
|
+
onOpenPreferences?: () => void;
|
|
33
|
+
/** Título de la banda. Default castellano: `'Cookies'`. */
|
|
34
|
+
title?: ReactNode;
|
|
35
|
+
/** Texto de la banda. Default castellano. */
|
|
36
|
+
description?: ReactNode;
|
|
37
|
+
/** URL de la política de cookies. Sin ella no se pinta el enlace. */
|
|
38
|
+
policyHref?: string;
|
|
39
|
+
/** Texto del enlace a la política. Default castellano: `'Política de cookies'`. */
|
|
40
|
+
policyLabel?: string;
|
|
41
|
+
/** Abre la política en otra pestaña (la política suele vivir en la web pública). */
|
|
42
|
+
policyExternal?: boolean;
|
|
43
|
+
/** Etiqueta del botón de aceptar. Default castellano: `'Aceptar todas'`. */
|
|
44
|
+
acceptAllLabel?: string;
|
|
45
|
+
/** Etiqueta del botón de rechazar. Default castellano: `'Rechazar'`. */
|
|
46
|
+
rejectAllLabel?: string;
|
|
47
|
+
/** Etiqueta del botón de preferencias. Default castellano: `'Preferencias'`. */
|
|
48
|
+
preferencesLabel?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Nombre accesible de la región. Default: el propio `title` cuando es texto;
|
|
51
|
+
* si el título lleva JSX, pásalo. Default castellano: `'Consentimiento de cookies'`.
|
|
52
|
+
*/
|
|
53
|
+
regionLabel?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* La banda de consentimiento: qué se quiere guardar y tres salidas —aceptar,
|
|
57
|
+
* rechazar, decidir por categorías—. **No es un diálogo**: no atrapa el foco, no
|
|
58
|
+
* bloquea la página y no lleva velo. Rechazar cuesta exactamente lo mismo que
|
|
59
|
+
* aceptar (un clic, el mismo peso visual), que es lo que pide la ePrivacy.
|
|
60
|
+
*
|
|
61
|
+
* El DS no toca cookies ni `localStorage`: la decisión, su persistencia y su
|
|
62
|
+
* caducidad las lleva el consumidor. Aquí solo están la superficie y las
|
|
63
|
+
* llamadas.
|
|
64
|
+
*/
|
|
65
|
+
export declare function ConsentBanner({ open, onAcceptAll, onRejectAll, onOpenPreferences, title, description, policyHref, policyLabel, policyExternal, acceptAllLabel, rejectAllLabel, preferencesLabel, regionLabel, className, ...rest }: ConsentBannerProps): import("react/jsx-runtime").JSX.Element | null;
|
|
66
|
+
export interface ConsentPreferencesProps {
|
|
67
|
+
open: boolean;
|
|
68
|
+
onOpenChange: (open: boolean) => void;
|
|
69
|
+
/** Las categorías, en el orden en que se enseñan. Las `required` van primero por convención. */
|
|
70
|
+
categories: ConsentCategory[];
|
|
71
|
+
/** La decisión vigente. Es lo que se lee al abrir el panel. */
|
|
72
|
+
value: ConsentValue;
|
|
73
|
+
/**
|
|
74
|
+
* Cambio de categorías: se llama con la decisión completa cada vez que se
|
|
75
|
+
* conmuta un interruptor — el panel no lleva botón «Guardar», persiste al
|
|
76
|
+
* instante. **Si se pasa, el panel es controlado**: `value` manda en todo
|
|
77
|
+
* momento y el consumidor decide qué hacer con cada cambio (normalmente,
|
|
78
|
+
* guardarlo). Sin ella el panel lleva su propio estado interno, sembrado de
|
|
79
|
+
* `value` cada vez que se abre.
|
|
80
|
+
*/
|
|
81
|
+
onChange?: (value: ConsentValue) => void;
|
|
82
|
+
/**
|
|
83
|
+
* @deprecated Alias de `onChange`, por compatibilidad con quien ya lo
|
|
84
|
+
* pasaba. Desde que el panel dejó de tener botón «Guardar» (v25.32.0),
|
|
85
|
+
* `onSave` se llama en el mismo momento y con la misma decisión que
|
|
86
|
+
* `onChange` — en cada conmutación de interruptor, no al pulsar un guardado
|
|
87
|
+
* explícito que ya no existe. Pasa a `onChange`.
|
|
88
|
+
*/
|
|
89
|
+
onSave?: (value: ConsentValue) => void;
|
|
90
|
+
/** Superficie sobre la que se abre el panel. Default: `'sheet'`. */
|
|
91
|
+
surface?: 'sheet' | 'modal';
|
|
92
|
+
/** Borde por el que entra el panel (solo con `surface="sheet"`, la alternativa lateral que el sistema conserva para otros usos). Default: `'right'`. */
|
|
93
|
+
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
94
|
+
/** Título del panel. Default castellano: `'Preferencias de cookies'`. */
|
|
95
|
+
title?: ReactNode;
|
|
96
|
+
/** Etiqueta del botón de cerrar. Default castellano: `'Cerrar'`. */
|
|
97
|
+
closeLabel?: string;
|
|
98
|
+
/** Marca de una categoría necesaria. Default castellano: `'Siempre activa'`. */
|
|
99
|
+
alwaysOnLabel?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Nodo DOM donde montar el portal del panel, reenviado a `Modal`/`Sheet`.
|
|
102
|
+
* Necesario cuando el panel se abre dentro de `SiteShell`: por defecto el
|
|
103
|
+
* portal monta en `document.body`, que no hereda los tokens de la
|
|
104
|
+
* superficie pública (a diferencia del tema oscuro, que se activa en
|
|
105
|
+
* `<html>`) — pásale el nodo de `SiteShell` (su `ref`).
|
|
106
|
+
*/
|
|
107
|
+
container?: React.ComponentPropsWithoutRef<typeof Modal>['container'];
|
|
108
|
+
/** Se añade DESPUÉS de las clases propias. */
|
|
109
|
+
className?: string;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* El panel de preferencias por categorías: título y la lista de categorías —un
|
|
113
|
+
* interruptor por categoría opcional y una fila fija para las necesarias—. Sin
|
|
114
|
+
* párrafo de descripción bajo el título: la propia lista explica qué se
|
|
115
|
+
* decide. Se abre sobre `Modal` (default) o sobre `Sheet`; el foco, el cierre
|
|
116
|
+
* con Escape y el velo los pone Base UI.
|
|
117
|
+
*
|
|
118
|
+
* **No hay pie de acciones**: ni «Guardar» ni «Aceptar todas»/«Rechazar
|
|
119
|
+
* todas». Quien entra aquí viene a decidir categoría por categoría, así que
|
|
120
|
+
* cada interruptor persiste al instante — se conmuta y `onChange` (u `onSave`,
|
|
121
|
+
* su alias) se llama en el momento con la decisión completa. Las salidas de un
|
|
122
|
+
* clic («Aceptar todas»/«Rechazar») viven en `ConsentBanner`, que es donde la
|
|
123
|
+
* ePrivacy las pide. Sin `onChange` el panel lleva su propio estado interno,
|
|
124
|
+
* sembrado de `value` cada vez que se abre, y sigue disparando `onSave` en
|
|
125
|
+
* cada cambio.
|
|
126
|
+
*/
|
|
127
|
+
export declare function ConsentPreferences({ open, onOpenChange, categories, value, onChange, onSave, surface, side, title, closeLabel, alwaysOnLabel, container, className, }: ConsentPreferencesProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type MenuItem, type MenuRenderLinkProps } from '../Menu/Menu';
|
|
3
|
+
/** Los ítems del ContextMenu son los del `Menu`. */
|
|
4
|
+
export type ContextMenuItem = MenuItem;
|
|
5
|
+
export type ContextMenuRenderLinkProps = MenuRenderLinkProps;
|
|
6
|
+
export interface ContextMenuProps {
|
|
7
|
+
items: MenuItem[];
|
|
8
|
+
renderLink?: (props: MenuRenderLinkProps) => ReactNode;
|
|
9
|
+
onOpenChange?: (open: boolean) => void;
|
|
10
|
+
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
11
|
+
align?: 'start' | 'center' | 'end';
|
|
12
|
+
minWidth?: string;
|
|
13
|
+
maxWidth?: string;
|
|
14
|
+
/** Talla del botón de tres puntos (talla del sistema). */
|
|
15
|
+
triggerSize?: 'sm' | 'md' | 'lg';
|
|
16
|
+
triggerOrientation?: 'horizontal' | 'vertical';
|
|
17
|
+
/** Nombre accesible del botón. */
|
|
18
|
+
label?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* El menú de acciones de una fila, una tarjeta, un elemento: un `Menu` cuyo
|
|
22
|
+
* disparador es el botón de tres puntos (`DotsButton`). Todo lo demás —ítems,
|
|
23
|
+
* enlaces del router, colocación, cara— es del `Menu`.
|
|
24
|
+
*/
|
|
25
|
+
export declare function ContextMenu({ items, renderLink, onOpenChange, side, align, minWidth, maxWidth, triggerSize, triggerOrientation, label, }: ContextMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import './ConversationList.css';
|
|
3
|
+
export interface ConversationItem {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ConversationListProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'onSelect'> {
|
|
8
|
+
conversations: ConversationItem[];
|
|
9
|
+
activeId?: string;
|
|
10
|
+
onNew: () => void;
|
|
11
|
+
onSelect: (id: string) => void;
|
|
12
|
+
onDelete: (id: string) => void;
|
|
13
|
+
/** Texto del botón que abre una conversación nueva. Default castellano. */
|
|
14
|
+
newLabel?: string;
|
|
15
|
+
/** `aria-label` del `<nav>` que envuelve la lista. Default castellano. */
|
|
16
|
+
navLabel?: string;
|
|
17
|
+
/** Nombre accesible del aspa de cada fila. Recibe el título de la conversación. */
|
|
18
|
+
deleteLabel?: (label: string) => string;
|
|
19
|
+
/**
|
|
20
|
+
* La lista aún está cargando: en su sitio se pintan marcadores (`Skeleton`)
|
|
21
|
+
* y el `<nav>` se anuncia ocupado (`aria-busy`). Mismo nombre que en
|
|
22
|
+
* `DataTable`.
|
|
23
|
+
*/
|
|
24
|
+
isLoading?: boolean;
|
|
25
|
+
/** Cuántos marcadores pinta la carga. Default: `4`. */
|
|
26
|
+
loadingCount?: number;
|
|
27
|
+
/**
|
|
28
|
+
* La lista no se pudo cargar: en su sitio se pinta un `Alert` de error con
|
|
29
|
+
* este contenido. Manda sobre `isLoading` y sobre la lista vacía.
|
|
30
|
+
*/
|
|
31
|
+
error?: ReactNode;
|
|
32
|
+
/**
|
|
33
|
+
* Título del `EmptyState` que la lista pinta **ella misma** cuando no hay
|
|
34
|
+
* conversaciones. Default: "Todavía no hay conversaciones" (castellano). Sin
|
|
35
|
+
* pasarla, el consumidor se lleva ese texto: el hueco vacío nunca se queda en
|
|
36
|
+
* blanco, así que la pantalla no tiene que añadir un aviso propio encima —si
|
|
37
|
+
* lo añade, se ven dos.
|
|
38
|
+
*/
|
|
39
|
+
emptyMessage?: string;
|
|
40
|
+
/** `title` del `Alert` de error. Default castellano. */
|
|
41
|
+
errorTitle?: string;
|
|
42
|
+
/** Se añade DESPUÉS de las clases propias del componente (el consumidor añade, no sustituye). */
|
|
43
|
+
className?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* La lista de conversaciones de un chat: el botón para abrir una nueva y la
|
|
47
|
+
* navegación con las que ya existen, cada una con su aspa para borrarla.
|
|
48
|
+
*
|
|
49
|
+
* Un título que no cabe se corta con puntos suspensivos y, **solo entonces**,
|
|
50
|
+
* se lee entero en un bocadillo al apuntar la fila o al enfocarla con el
|
|
51
|
+
* teclado. Ver la doc, «El título cortado se lee en un bocadillo».
|
|
52
|
+
*
|
|
53
|
+
* Reenvía el resto de props del `<div>` (`data-*`, `id`…) y el `ref`.
|
|
54
|
+
*/
|
|
55
|
+
export declare const ConversationList: import("react").ForwardRefExoticComponent<ConversationListProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
|
|
2
|
+
import './CopyButton.css';
|
|
3
|
+
export interface CopyButtonProps extends Omit<ComponentPropsWithoutRef<'button'>, 'value' | 'children' | 'onClick' | 'onCopy'> {
|
|
4
|
+
/**
|
|
5
|
+
* Lo que se copia. Como función, se evalúa en el momento del clic: para
|
|
6
|
+
* copiar algo que puede haber cambiado desde el render (el contenido de un
|
|
7
|
+
* campo, el texto de un bloque de código).
|
|
8
|
+
*/
|
|
9
|
+
value: string | (() => string);
|
|
10
|
+
/**
|
|
11
|
+
* Rótulo visible junto al icono. Sin él, el botón es solo icono y `label`
|
|
12
|
+
* se queda como nombre accesible.
|
|
13
|
+
*/
|
|
14
|
+
children?: ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Nombre accesible del botón. Default castellano.
|
|
17
|
+
* @default 'Copiar'
|
|
18
|
+
*/
|
|
19
|
+
label?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Acuse tras copiar: se anuncia en una región viva y, si hay rótulo visible,
|
|
22
|
+
* lo sustituye mientras dura. Default castellano.
|
|
23
|
+
* @default 'Copiado'
|
|
24
|
+
*/
|
|
25
|
+
copiedLabel?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Aviso cuando el portapapeles no está disponible (contexto no seguro,
|
|
28
|
+
* permiso denegado). Default castellano.
|
|
29
|
+
* @default 'No se pudo copiar'
|
|
30
|
+
*/
|
|
31
|
+
errorLabel?: string;
|
|
32
|
+
/** Variante del botón. */
|
|
33
|
+
variant?: 'ghost' | 'outline' | 'text';
|
|
34
|
+
/** Talla del botón. */
|
|
35
|
+
size?: 'sm' | 'md' | 'lg';
|
|
36
|
+
/** Cuánto dura el acuse, en milisegundos. */
|
|
37
|
+
feedbackDuration?: number;
|
|
38
|
+
/** Se llama con el texto copiado cuando la copia sale bien. */
|
|
39
|
+
onCopy?: (text: string) => void;
|
|
40
|
+
/** Se llama cuando el portapapeles falla. */
|
|
41
|
+
onCopyError?: (error: unknown) => void;
|
|
42
|
+
/** Se añade DESPUÉS de las clases propias. */
|
|
43
|
+
className?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Copiar al portapapeles con acuse: una clave de API, un identificador, un
|
|
47
|
+
* fragmento de código. Es el `Button` del sistema con el icono de copiar y la
|
|
48
|
+
* conducta del acuse; no aporta cara propia.
|
|
49
|
+
*
|
|
50
|
+
* El acuse es doble: el icono pasa a un tic para quien ve, y una región viva
|
|
51
|
+
* (`role="status"`) lo anuncia para quien escucha. Un cambio de icono solo no
|
|
52
|
+
* es feedback accesible.
|
|
53
|
+
*
|
|
54
|
+
* Si el portapapeles no está disponible —contexto no seguro, permiso
|
|
55
|
+
* denegado— el botón lo dice en vez de fingir que ha copiado.
|
|
56
|
+
*/
|
|
57
|
+
export declare const CopyButton: import("react").ForwardRefExoticComponent<CopyButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { CalendarProps } from '../Calendar/Calendar';
|
|
2
|
+
import { type DateMaskLetters } from './dateMask';
|
|
3
|
+
import './DatePicker.css';
|
|
4
|
+
export interface DatePickerProps {
|
|
5
|
+
value?: Date | null;
|
|
6
|
+
/**
|
|
7
|
+
* Se llama con la fecha escrita o elegida, y con `null` al vaciar el campo.
|
|
8
|
+
* Una fecha a medio escribir no lo llama: el campo se pone en error.
|
|
9
|
+
*/
|
|
10
|
+
onChange?: (date: Date | null) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Pista dentro del campo. Por defecto, la máscara del locale con las letras
|
|
13
|
+
* castellanas (`dd/mm/aaaa`, `mm/dd/aaaa` en `en-US`). Una app multiidioma
|
|
14
|
+
* pasa `maskLetters` para traducir las letras sin tocar el orden.
|
|
15
|
+
*/
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Letras de la máscara del marcador de posición. Default castellano
|
|
19
|
+
* (`{ day: 'dd', month: 'mm', year: 'aaaa' }`). El orden y el separador no
|
|
20
|
+
* son props: salen del `locale` con `Intl`.
|
|
21
|
+
*/
|
|
22
|
+
maskLetters?: DateMaskLetters;
|
|
23
|
+
/**
|
|
24
|
+
* Mensaje cuando lo escrito no es una fecha completa y válida. Default
|
|
25
|
+
* castellano; se anuncia con `role="alert"`.
|
|
26
|
+
*/
|
|
27
|
+
invalidMessage?: string;
|
|
28
|
+
/** Nombre accesible del botón que abre el calendario. Default castellano. */
|
|
29
|
+
openCalendarLabel?: string;
|
|
30
|
+
minDate?: CalendarProps['minDate'];
|
|
31
|
+
maxDate?: CalendarProps['maxDate'];
|
|
32
|
+
disabledDates?: CalendarProps['disabledDates'];
|
|
33
|
+
size?: 'sm' | 'md' | 'lg';
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
readOnly?: boolean;
|
|
36
|
+
error?: boolean;
|
|
37
|
+
locale?: string;
|
|
38
|
+
/** id aplicado al campo de texto */
|
|
39
|
+
id?: string;
|
|
40
|
+
/** @deprecated Usa el atributo nativo `aria-describedby`. */
|
|
41
|
+
describedBy?: string;
|
|
42
|
+
/** Ids de ayuda/error que describen el control (lo pone el campo). */
|
|
43
|
+
'aria-describedby'?: string;
|
|
44
|
+
/** Nombre accesible cuando el control va suelto. En un campo lo nombra la etiqueta. */
|
|
45
|
+
'aria-label'?: string;
|
|
46
|
+
/** Nombre accesible del panel del calendario (`role="dialog"`). */
|
|
47
|
+
calendarLabel?: string;
|
|
48
|
+
/**
|
|
49
|
+
* aria-label del botón de mes anterior del calendario. Default: «Mes
|
|
50
|
+
* anterior» (castellano). Una app multiidioma debe pasarla traducida.
|
|
51
|
+
*/
|
|
52
|
+
previousMonthLabel?: CalendarProps['previousMonthLabel'];
|
|
53
|
+
/**
|
|
54
|
+
* aria-label del botón de mes siguiente. Default: «Mes siguiente»
|
|
55
|
+
* (castellano).
|
|
56
|
+
*/
|
|
57
|
+
nextMonthLabel?: CalendarProps['nextMonthLabel'];
|
|
58
|
+
/**
|
|
59
|
+
* aria-label del botón de retroceso **en la vista de años**. Default: «Años
|
|
60
|
+
* anteriores» (castellano).
|
|
61
|
+
*/
|
|
62
|
+
previousYearsLabel?: CalendarProps['previousYearsLabel'];
|
|
63
|
+
/**
|
|
64
|
+
* aria-label del botón de avance en la vista de años. Default: «Años
|
|
65
|
+
* siguientes» (castellano).
|
|
66
|
+
*/
|
|
67
|
+
nextYearsLabel?: CalendarProps['nextYearsLabel'];
|
|
68
|
+
/** aria-label de la rejilla de años. Default: «Elegir año» (castellano). */
|
|
69
|
+
yearGridLabel?: CalendarProps['yearGridLabel'];
|
|
70
|
+
/**
|
|
71
|
+
* aria-label de la rejilla de días. Por defecto toma `calendarLabel`, que ya
|
|
72
|
+
* nombra el panel entero.
|
|
73
|
+
*/
|
|
74
|
+
gridLabel?: CalendarProps['gridLabel'];
|
|
75
|
+
/** Nombre del campo en el formulario: se monta un input oculto con la fecha en ISO. */
|
|
76
|
+
name?: string;
|
|
77
|
+
/** Se llama al salir del campo (react-hook-form lo usa para validar). */
|
|
78
|
+
onBlur?: React.FocusEventHandler<HTMLInputElement>;
|
|
79
|
+
/** Se añade DESPUÉS de las clases propias del componente. */
|
|
80
|
+
className?: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Selector de fecha: un campo de texto que se escribe y se borra, con el
|
|
84
|
+
* calendario a un botón de distancia. El `ref` va al **campo**, para que
|
|
85
|
+
* react-hook-form pueda enfocarlo al fallar la validación.
|
|
86
|
+
*/
|
|
87
|
+
export declare const DatePicker: import("react").ForwardRefExoticComponent<DatePickerProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type DatePartName = 'day' | 'month' | 'year';
|
|
2
|
+
/** Letras de la máscara del marcador de posición: `dd/mm/aaaa` en castellano. */
|
|
3
|
+
export interface DateMaskLetters {
|
|
4
|
+
day: string;
|
|
5
|
+
month: string;
|
|
6
|
+
year: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const SPANISH_MASK_LETTERS: DateMaskLetters;
|
|
9
|
+
export interface DateMask {
|
|
10
|
+
/** Orden de las partes en ese locale, p. ej. `['day', 'month', 'year']`. */
|
|
11
|
+
order: DatePartName[];
|
|
12
|
+
/** Literal que separa las partes: `/`, `.`, `-`… */
|
|
13
|
+
separator: string;
|
|
14
|
+
/** La fecha escrita en ese orden, con las cifras rellenadas: `25/09/2026`. */
|
|
15
|
+
format(date: Date): string;
|
|
16
|
+
/** La máscara de ejemplo con las letras dadas: `dd/mm/aaaa`. */
|
|
17
|
+
mask(letters: DateMaskLetters): string;
|
|
18
|
+
/** Lee la fecha tecleada. `null` si está incompleta o no existe. */
|
|
19
|
+
parse(text: string): Date | null;
|
|
20
|
+
}
|
|
21
|
+
export declare function getDateMask(locale: string): DateMask;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { DatePickerProps } from '../DatePicker/DatePicker';
|
|
2
|
+
import './DatePickerField.css';
|
|
3
|
+
export interface DatePickerFieldProps extends Omit<DatePickerProps, 'id' | 'describedBy' | 'aria-describedby' | 'aria-label'> {
|
|
4
|
+
/** `id` del control. Si no se pasa, se genera con `useId`. */
|
|
5
|
+
id?: string;
|
|
6
|
+
label: string;
|
|
7
|
+
/**
|
|
8
|
+
* Oculta la etiqueta a la vista (sigue leyéndola el lector de pantalla).
|
|
9
|
+
* Por defecto `false`: la etiqueta se ve, como en el resto de campos.
|
|
10
|
+
* Sin valor, lo decide quien lo envuelva: dentro de un `FieldRow` que no
|
|
11
|
+
* es la primera de la lista, la etiqueta se oculta sola.
|
|
12
|
+
*/
|
|
13
|
+
labelHidden?: boolean;
|
|
14
|
+
/** Mensaje de error: se anuncia (`role="alert"`) y pone el control en error. */
|
|
15
|
+
errorMessage?: string;
|
|
16
|
+
/** Texto de ayuda, enlazado por `aria-describedby`. */
|
|
17
|
+
helperText?: string;
|
|
18
|
+
/** Se añade DESPUÉS de las clases propias (el consumidor añade, no sustituye). */
|
|
19
|
+
className?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* El `DatePicker` como campo de formulario. El `ref` va al **campo de texto**,
|
|
23
|
+
* para que react-hook-form pueda enfocarlo al fallar la validación; el
|
|
24
|
+
* `className`, al contenedor.
|
|
25
|
+
*/
|
|
26
|
+
export declare const DatePickerField: import("react").ForwardRefExoticComponent<DatePickerFieldProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { DatePickerProps } from '../DatePicker/DatePicker';
|
|
2
|
+
import type { CalendarProps } from '../Calendar/Calendar';
|
|
3
|
+
import './DateTimeField.css';
|
|
4
|
+
export interface DateTimeFieldProps {
|
|
5
|
+
/** `id` del campo. Si no se pasa, se genera con `useId`. */
|
|
6
|
+
id?: string;
|
|
7
|
+
label: string;
|
|
8
|
+
/**
|
|
9
|
+
* Oculta la etiqueta a la vista (sigue leyéndola el lector de pantalla).
|
|
10
|
+
* Por defecto `false`: la etiqueta se ve, como en el resto de campos.
|
|
11
|
+
* Sin valor, lo decide quien lo envuelva: dentro de un `FieldRow` que no
|
|
12
|
+
* es la primera de la lista, la etiqueta se oculta sola.
|
|
13
|
+
*/
|
|
14
|
+
labelHidden?: boolean;
|
|
15
|
+
value?: Date | null;
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
/** Paso en minutos del selector de hora. */
|
|
18
|
+
timeStep?: number;
|
|
19
|
+
minDate?: CalendarProps['minDate'];
|
|
20
|
+
maxDate?: CalendarProps['maxDate'];
|
|
21
|
+
disabledDates?: CalendarProps['disabledDates'];
|
|
22
|
+
/** Nombre del campo en el formulario: se monta un input oculto con la fecha en ISO. */
|
|
23
|
+
name?: string;
|
|
24
|
+
size?: 'sm' | 'md' | 'lg';
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
readOnly?: boolean;
|
|
27
|
+
/** Marca el control en error sin mensaje. Un `errorMessage` ya lo implica. */
|
|
28
|
+
error?: boolean;
|
|
29
|
+
/** Mensaje de error: se anuncia (`role="alert"`) y pone el control en error. */
|
|
30
|
+
errorMessage?: string;
|
|
31
|
+
/** Texto de ayuda, enlazado por `aria-describedby`. */
|
|
32
|
+
helperText?: string;
|
|
33
|
+
locale?: string;
|
|
34
|
+
/** Se añade DESPUÉS de las clases propias (el consumidor añade, no sustituye). */
|
|
35
|
+
className?: string;
|
|
36
|
+
/** Nombre accesible del panel del calendario. Default: la etiqueta del campo. */
|
|
37
|
+
calendarLabel?: DatePickerProps['calendarLabel'];
|
|
38
|
+
/** Nombre accesible del botón que abre el calendario. Default castellano. */
|
|
39
|
+
openCalendarLabel?: DatePickerProps['openCalendarLabel'];
|
|
40
|
+
/** Mensaje de fecha incompleta del campo de texto. Default castellano. */
|
|
41
|
+
invalidMessage?: DatePickerProps['invalidMessage'];
|
|
42
|
+
/** Letras de la máscara del marcador de posición. Default castellano. */
|
|
43
|
+
maskLetters?: DatePickerProps['maskLetters'];
|
|
44
|
+
/** aria-label del botón de mes anterior del calendario. Default castellano. */
|
|
45
|
+
previousMonthLabel?: DatePickerProps['previousMonthLabel'];
|
|
46
|
+
/** aria-label del botón de mes siguiente. Default castellano. */
|
|
47
|
+
nextMonthLabel?: DatePickerProps['nextMonthLabel'];
|
|
48
|
+
/** aria-label del botón de retroceso en la vista de años. Default castellano. */
|
|
49
|
+
previousYearsLabel?: DatePickerProps['previousYearsLabel'];
|
|
50
|
+
/** aria-label del botón de avance en la vista de años. Default castellano. */
|
|
51
|
+
nextYearsLabel?: DatePickerProps['nextYearsLabel'];
|
|
52
|
+
/** aria-label de la rejilla de años. Default castellano. */
|
|
53
|
+
yearGridLabel?: DatePickerProps['yearGridLabel'];
|
|
54
|
+
/** aria-label de la rejilla de días. Default: `calendarLabel`. */
|
|
55
|
+
gridLabel?: DatePickerProps['gridLabel'];
|
|
56
|
+
/** aria-label del desplegable de horas. Default: "Horas" (castellano). */
|
|
57
|
+
hoursLabel?: string;
|
|
58
|
+
/** aria-label del desplegable de minutos. Default: "Minutos" (castellano). */
|
|
59
|
+
minutesLabel?: string;
|
|
60
|
+
onChange?: (date: Date | null) => void;
|
|
61
|
+
/** Se llama al salir de cualquiera de los dos controles: el campo de fecha (un `<input>`) o los desplegables de hora (dos `<button>`). */
|
|
62
|
+
onBlur?: React.FocusEventHandler<HTMLElement>;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Fecha y hora en un solo campo: un `DatePicker` y un `TimeSelect` que
|
|
66
|
+
* comparten valor. El `ref` va al campo de la fecha, que es el primero que se
|
|
67
|
+
* enfoca; el `className`, al contenedor.
|
|
68
|
+
*/
|
|
69
|
+
export declare const DateTimeField: import("react").ForwardRefExoticComponent<DateTimeFieldProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import './DocsSearch.css';
|
|
3
|
+
export interface DocsSearchResult {
|
|
4
|
+
/** URL del documento. Es también la clave del resultado. */
|
|
5
|
+
href: string;
|
|
6
|
+
/** Título del documento. */
|
|
7
|
+
title: string;
|
|
8
|
+
/**
|
|
9
|
+
* Fragmento del documento con la coincidencia. Es `ReactNode` para que el
|
|
10
|
+
* buscador pueda resaltar con `<mark>` lo que ha encontrado.
|
|
11
|
+
*/
|
|
12
|
+
excerpt?: ReactNode;
|
|
13
|
+
/** Producto o sección a la que pertenece el documento. */
|
|
14
|
+
product?: string;
|
|
15
|
+
}
|
|
16
|
+
export type DocsSearchRenderLinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement> & {
|
|
17
|
+
href: string;
|
|
18
|
+
className: string;
|
|
19
|
+
};
|
|
20
|
+
export interface DocsSearchProps {
|
|
21
|
+
/** `id` del campo. Ata la etiqueta con el campo y el campo con la lista. */
|
|
22
|
+
id?: string;
|
|
23
|
+
/** Texto escrito. El componente es controlado: no guarda estado propio. */
|
|
24
|
+
query: string;
|
|
25
|
+
/** Se llama en cada tecla. Quien lo recibe decide cuándo y cómo buscar. */
|
|
26
|
+
onQueryChange: (query: string) => void;
|
|
27
|
+
/** Resultados ya filtrados por el buscador del consumidor. */
|
|
28
|
+
results: DocsSearchResult[];
|
|
29
|
+
/** Hay una búsqueda en curso: el aviso de estado lo dice. */
|
|
30
|
+
loading?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Etiqueta del campo. Default castellano.
|
|
33
|
+
* @default 'Buscar en la documentación'
|
|
34
|
+
*/
|
|
35
|
+
label?: string;
|
|
36
|
+
/** Oculta la etiqueta a la vista; el lector de pantalla la sigue leyendo. */
|
|
37
|
+
labelHidden?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Pista dentro del campo. Default castellano.
|
|
40
|
+
* @default 'Buscar…'
|
|
41
|
+
*/
|
|
42
|
+
placeholder?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Ofrece un botón-aspa que vacía el campo y devuelve el foco. Es el gesto de
|
|
45
|
+
* un autocompletar: se borra para volver a preguntar.
|
|
46
|
+
* @default true
|
|
47
|
+
*/
|
|
48
|
+
clearable?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Nombre accesible del botón de borrado. Default castellano.
|
|
51
|
+
* @default 'Borrar'
|
|
52
|
+
*/
|
|
53
|
+
clearLabel?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Nombre accesible de la lista de resultados. Default castellano.
|
|
56
|
+
* @default 'Resultados'
|
|
57
|
+
*/
|
|
58
|
+
resultsLabel?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Aviso cuando la búsqueda no encuentra nada. Default castellano.
|
|
61
|
+
* @default 'Sin resultados.'
|
|
62
|
+
*/
|
|
63
|
+
emptyLabel?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Aviso mientras se busca. Default castellano.
|
|
66
|
+
* @default 'Buscando…'
|
|
67
|
+
*/
|
|
68
|
+
loadingLabel?: string;
|
|
69
|
+
/** Talla del campo. */
|
|
70
|
+
size?: 'sm' | 'md' | 'lg';
|
|
71
|
+
/**
|
|
72
|
+
* Elemento sobre el que renderizar cada resultado: el `Link` del router del
|
|
73
|
+
* producto. Debe **propagar todas** las props que recibe — el motor inyecta
|
|
74
|
+
* el rol, el `id` del foco virtual y los handlers de teclado.
|
|
75
|
+
*/
|
|
76
|
+
renderLink?: (props: DocsSearchRenderLinkProps) => ReactNode;
|
|
77
|
+
/** Se llama al activar un resultado, además de seguir el enlace. */
|
|
78
|
+
onSelect?: (result: DocsSearchResult) => void;
|
|
79
|
+
/** Se añade DESPUÉS de las clases propias. */
|
|
80
|
+
className?: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Buscador de documentación: un campo y sus resultados, con navegación por
|
|
84
|
+
* teclado y avisos de estado.
|
|
85
|
+
*
|
|
86
|
+
* **No busca nada.** No hace `fetch`, no filtra y no guarda estado: recibe
|
|
87
|
+
* `query`, `results` y `loading`, y los pinta. El índice —Pagefind, Algolia,
|
|
88
|
+
* una ruta propia— es del producto, y con él el rebote, la cancelación de
|
|
89
|
+
* respuestas tardías y la paginación.
|
|
90
|
+
*
|
|
91
|
+
* La conducta es el `Autocomplete` de Base UI con el filtrado desactivado
|
|
92
|
+
* (`filter={null}`) y la lista en línea, sin popup: los resultados de una
|
|
93
|
+
* búsqueda de documentación no son un menú flotante, son la página.
|
|
94
|
+
*/
|
|
95
|
+
export declare function DocsSearch({ id, query, onQueryChange, results, loading, label, labelHidden, placeholder, clearable, clearLabel, resultsLabel, emptyLabel, loadingLabel, size, renderLink, onSelect, className, }: DocsSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type MenuItem } from '../Menu/Menu';
|
|
3
|
+
import './DropdownField.css';
|
|
4
|
+
export interface DropdownFieldProps {
|
|
5
|
+
/** `id` del control; enlaza la etiqueta. Si no se pasa, se genera con `useId`. */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** Etiqueta visible. Si no hay, es obligatorio `aria-label`. */
|
|
8
|
+
label?: string;
|
|
9
|
+
/** Oculta la etiqueta visualmente sin quitarla a los lectores de pantalla. * Sin valor, lo decide quien lo envuelva: dentro de un `FieldRow` que no
|
|
10
|
+
* es la primera de la lista, la etiqueta se oculta sola.
|
|
11
|
+
*/
|
|
12
|
+
labelHidden?: boolean;
|
|
13
|
+
/** Nombre accesible cuando no hay etiqueta visible. */
|
|
14
|
+
'aria-label'?: string;
|
|
15
|
+
/** Opciones del menú (radio para elección exclusiva, botones, enlaces…). */
|
|
16
|
+
items: MenuItem[];
|
|
17
|
+
/** Valor elegido (para los ítems `radio`). */
|
|
18
|
+
value?: string;
|
|
19
|
+
onValueChange?: (value: string) => void;
|
|
20
|
+
/** Lo que muestra el control: el nombre de la opción actual, con icono si lo hay. */
|
|
21
|
+
children: ReactNode;
|
|
22
|
+
/** `inline`: etiqueta delante del control, en línea. Por defecto, encima como el resto de campos. */
|
|
23
|
+
inline?: boolean;
|
|
24
|
+
/** Talla del sistema (32/40/48). En superficies públicas, `lg`; dentro de las aplicaciones, `md`. */
|
|
25
|
+
size?: 'sm' | 'md' | 'lg';
|
|
26
|
+
align?: 'start' | 'center' | 'end';
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
/** Nombre del campo en el formulario: se monta un input oculto con el valor. */
|
|
29
|
+
name?: string;
|
|
30
|
+
/** Marca el control en error sin mensaje. Un `errorMessage` ya lo implica. */
|
|
31
|
+
error?: boolean;
|
|
32
|
+
/** Mensaje de error: se anuncia (`role="alert"`) y pone el control en error. */
|
|
33
|
+
errorMessage?: string;
|
|
34
|
+
/** Texto de ayuda, enlazado por `aria-describedby`. */
|
|
35
|
+
helperText?: string;
|
|
36
|
+
/** Se llama al salir del disparador (react-hook-form lo usa para validar). */
|
|
37
|
+
onBlur?: React.FocusEventHandler<HTMLButtonElement>;
|
|
38
|
+
/** Se añade DESPUÉS de las clases propias (el consumidor añade, no sustituye). */
|
|
39
|
+
className?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Campo desplegable: una etiqueta (visible u oculta) y un control rectangular
|
|
43
|
+
* a la altura del sistema que abre un `Menu`. Es el Select cuando las
|
|
44
|
+
* opciones no son un `<select>` — llevan icono, son enlaces o acciones — y
|
|
45
|
+
* su cara es la misma que la del Select para que convivan en un formulario.
|
|
46
|
+
*/
|
|
47
|
+
export declare const DropdownField: import("react").ForwardRefExoticComponent<DropdownFieldProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import './EmptyState.css';
|
|
2
|
+
export interface EmptyStateAction {
|
|
3
|
+
label: string;
|
|
4
|
+
onClick?: React.MouseEventHandler<HTMLButtonElement | HTMLAnchorElement>;
|
|
5
|
+
href?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface EmptyStateProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title'> {
|
|
8
|
+
title: string;
|
|
9
|
+
description?: string;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
action?: EmptyStateAction;
|
|
12
|
+
size?: 'sm' | 'md';
|
|
13
|
+
}
|
|
14
|
+
export declare function EmptyState({ title, description, icon, action, size, className, ...rest }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
|