@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,55 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import './UntrustedText.css';
|
|
3
|
+
export interface UntrustedTextProps {
|
|
4
|
+
/**
|
|
5
|
+
* El valor. Si es una cadena recibe el tratamiento entero —marcado de
|
|
6
|
+
* invisibles, aislamiento de dirección, comillas y recorte—; cualquier otro
|
|
7
|
+
* `ReactNode` se pinta tal cual, porque ya no es texto de fuera sino algo que
|
|
8
|
+
* compuso quien monta la pantalla.
|
|
9
|
+
*/
|
|
10
|
+
value: ReactNode;
|
|
11
|
+
/**
|
|
12
|
+
* Con `true`, un valor largo se recorta y se ofrece un desplegador nativo
|
|
13
|
+
* (`<details>`, sin una línea de JavaScript) para verlo entero. Default
|
|
14
|
+
* `false`: dentro de una frase el desplegador no cabe —un `<details>` no
|
|
15
|
+
* puede vivir dentro de un `<p>`—, así que ahí el valor se recorta y quien
|
|
16
|
+
* quiera verlo entero lo despliega en la ficha.
|
|
17
|
+
*/
|
|
18
|
+
expandable?: boolean;
|
|
19
|
+
/** Etiqueta del desplegador cerrado. Default castellano: «Ver el valor completo». */
|
|
20
|
+
expandLabel?: string;
|
|
21
|
+
/** Etiqueta del desplegador abierto. Default castellano: «Ver menos». */
|
|
22
|
+
collapseLabel?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Las comillas que enmarcan el valor. Default castellano: `['«', '»']`. Van
|
|
25
|
+
* en prop porque cambian con el idioma (`['„', '“']` en alemán).
|
|
26
|
+
*/
|
|
27
|
+
quotes?: [string, string];
|
|
28
|
+
/** Se añade DESPUÉS de las clases propias. */
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* **Cómo se pinta un dato que escribió un tercero**: el nombre con el que se
|
|
33
|
+
* registró una herramienta, la cuenta, el host de retorno.
|
|
34
|
+
*
|
|
35
|
+
* Tres cosas, y las tres son de seguridad, no de estética:
|
|
36
|
+
*
|
|
37
|
+
* 1. **Los caracteres invisibles se hacen visibles** (`[U+202E]`). Un control
|
|
38
|
+
* de dirección deja que `moodle.ejemplo.org` se lea al revés, y en una
|
|
39
|
+
* pantalla donde se concede acceso eso es suplantación.
|
|
40
|
+
* 2. **El valor va aislado** en un `<bdi>`, que es la herramienta del propio
|
|
41
|
+
* motor para esto: lo que haya dentro no puede reordenar el texto de
|
|
42
|
+
* alrededor, y un nombre legítimamente en árabe o hebreo se sigue pintando
|
|
43
|
+
* bien.
|
|
44
|
+
* 3. **El valor va entrecomillado**, para que se lea como lo que es —una
|
|
45
|
+
* cadena que eligió quien registró la herramienta— y no como interfaz. Un
|
|
46
|
+
* nombre registrado como `<strong>Claude</strong>` se ve con sus signos:
|
|
47
|
+
* eso es la defensa funcionando, y las comillas dicen dónde empieza y dónde
|
|
48
|
+
* acaba el texto ajeno.
|
|
49
|
+
*
|
|
50
|
+
* Y un cuarto, de maqueta: un valor largo se recorta a
|
|
51
|
+
* `--connector-auth-untrusted-max-lines` líneas. El texto **completo sigue en
|
|
52
|
+
* el documento** —un lector de pantalla lo lee entero, el recorte es solo
|
|
53
|
+
* visual— y con `expandable` hay además un desplegador para verlo.
|
|
54
|
+
*/
|
|
55
|
+
export declare function UntrustedText({ value, expandable, expandLabel, collapseLabel, quotes, className, }: UntrustedTextProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface ErrorPageProps {
|
|
3
|
+
/** El título («Error»): `Heading` de nivel 1 vía `PageIntro`, columna izquierda. */
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
/** La frase bajo el título («Algo ha salido mal»), columna izquierda. */
|
|
6
|
+
description?: ReactNode;
|
|
7
|
+
/** El enlace de vuelta, bajo la frase, misma columna izquierda: `<Link icon="arrow-left" href="/">Volver al inicio</Link>`. Sin router dentro. */
|
|
8
|
+
homeAction: ReactNode;
|
|
9
|
+
/** La frase de la columna derecha, sobre el botón («Puedes volver a intentarlo»). */
|
|
10
|
+
retryDescription?: ReactNode;
|
|
11
|
+
/** El `Button` «Reintentar», columna derecha, debajo de `retryDescription` — pásalo con `block` (mismo patrón que las acciones de `AuthPage`/`Form`). */
|
|
12
|
+
retryAction: ReactNode;
|
|
13
|
+
/** Cabecera del sitio, SIN auth. Va dentro de un `ErrorBoundary`. En `global-error.tsx` no se pasa. */
|
|
14
|
+
header?: ReactNode;
|
|
15
|
+
/** Pie del sitio. Ídem. */
|
|
16
|
+
footer?: ReactNode;
|
|
17
|
+
/** `id` del `main` (`main-content` por defecto, destino del `SkipLink`). */
|
|
18
|
+
id?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Con `false` no monta `SiteShell` ni el `main`: solo el contenido (las dos
|
|
21
|
+
* columnas), para pintarlo dentro de un `AppShell` que ya tiene su `main`.
|
|
22
|
+
* Por defecto `true`. Sin marco, `header`, `footer` e `id` no aplican.
|
|
23
|
+
*/
|
|
24
|
+
shell?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Plantilla de «algo ha salido mal»: dos columnas, mismo molde que `AuthPage`
|
|
28
|
+
* (`Columns` de dos celdas). Izquierda: título, frase y el enlace de vuelta.
|
|
29
|
+
* Derecha: la frase de reintento y el botón en bloque, como las acciones de un
|
|
30
|
+
* formulario de acceso. El marco lo pone `PublicPageShell`, así que cabecera y
|
|
31
|
+
* pie van cada uno en su `ErrorBoundary`: la página de error no puede depender
|
|
32
|
+
* del layout que pudo fallar. Con `shell={false}` devuelve solo el contenido,
|
|
33
|
+
* para una app que ya tiene su `main`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function ErrorPage({ title, description, homeAction, retryDescription, retryAction, header, footer, id, shell }: ErrorPageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface NotFoundPageProps {
|
|
3
|
+
/** El título («Página no encontrada»): `Heading` de nivel 1 vía `PageIntro`. */
|
|
4
|
+
title: ReactNode;
|
|
5
|
+
/** La frase bajo el título (el código, una explicación corta). */
|
|
6
|
+
description?: ReactNode;
|
|
7
|
+
/** El enlace de vuelta: el `Link` del producto con su icono (`<Link icon="arrow-left" href="/">Volver al inicio</Link>`). Sin router dentro. */
|
|
8
|
+
homeLink: ReactNode;
|
|
9
|
+
/** Cabecera del sitio. Va dentro de un `ErrorBoundary`: si falla, la página sigue. */
|
|
10
|
+
header?: ReactNode;
|
|
11
|
+
/** Pie del sitio. Ídem. */
|
|
12
|
+
footer?: ReactNode;
|
|
13
|
+
/** `id` del `main` (`main-content` por defecto, destino del `SkipLink`). */
|
|
14
|
+
id?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Con `false` no monta `SiteShell` ni el `main`: solo el contenido (título,
|
|
17
|
+
* frase y enlace de vuelta), para pintarlo dentro de un `AppShell` que ya
|
|
18
|
+
* tiene su `main`. Por defecto `true`. Sin marco, `header`, `footer` e `id`
|
|
19
|
+
* no aplican.
|
|
20
|
+
*/
|
|
21
|
+
shell?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Plantilla de 404: el marco público (`PublicPageShell`) con cabecera y pie
|
|
25
|
+
* opcionales, y dentro un `main` con la cabecera de página y el enlace de
|
|
26
|
+
* vuelta. Cabecera y pie van cada uno en su `ErrorBoundary`, así que un chrome
|
|
27
|
+
* roto no se lleva por delante el mensaje. Con `shell={false}` devuelve solo
|
|
28
|
+
* el contenido, para una app que ya tiene su `main`.
|
|
29
|
+
*/
|
|
30
|
+
export declare function NotFoundPage({ title, description, homeLink, header, footer, id, shell }: NotFoundPageProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import './OnboardingShell.css';
|
|
3
|
+
export interface OnboardingShellProps {
|
|
4
|
+
/** El cuerpo del paso: el formulario, la explicación, lo que toque. */
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/**
|
|
7
|
+
* La marca, arriba a la izquierda: un `Logo`, o el `Logo` dentro del enlace
|
|
8
|
+
* al inicio. Se pinta en la **ranura de cabecera del marco**, fuera del
|
|
9
|
+
* `main`: es chrome, y respira como la barra pública, no como el contenido.
|
|
10
|
+
* El **alto lo impone la plantilla** —el mismo de la cabecera pública, y con
|
|
11
|
+
* sus mismos peldaños en móvil—, así que la prop `size` del `Logo` no decide
|
|
12
|
+
* el tamaño final: manda el sitio donde se pinta.
|
|
13
|
+
*/
|
|
14
|
+
brand?: ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Las preferencias globales de la pantalla: idioma y tema. Se pintan en la
|
|
17
|
+
* **banda de preferencias del marco** (`PublicPageShell`), al final y
|
|
18
|
+
* separadas del pie de acciones del paso — una preferencia global no es una
|
|
19
|
+
* acción del flujo y no puede parecerlo. En el alta no hay cabecera pública
|
|
20
|
+
* —el usuario ya tiene sesión, no hay nada que navegar—, así que estos dos
|
|
21
|
+
* son todo el chrome que queda.
|
|
22
|
+
*/
|
|
23
|
+
preferences?: ReactNode;
|
|
24
|
+
/**
|
|
25
|
+
* Alias histórico de `preferences`, de cuando el alta montaba la banda por
|
|
26
|
+
* su cuenta. Se conserva para no romper a quien ya lo pasa; en pantallas
|
|
27
|
+
* nuevas, `preferences`. Si se pasan los dos, manda `preferences`.
|
|
28
|
+
*
|
|
29
|
+
* @deprecated Usa `preferences`.
|
|
30
|
+
*/
|
|
31
|
+
switchers?: ReactNode;
|
|
32
|
+
/** Nombre accesible de la banda de preferencias. Default: «Preferencias» (castellano). */
|
|
33
|
+
preferencesLabel?: string;
|
|
34
|
+
/**
|
|
35
|
+
* El progreso: un `Stepper`. La ranura se monta siempre; es el `Stepper`
|
|
36
|
+
* quien decide no pintarse cuando el flujo tiene un solo paso.
|
|
37
|
+
*/
|
|
38
|
+
stepper?: ReactNode;
|
|
39
|
+
/** La acción principal del paso, la última del renglón: «Continuar», «Terminar». */
|
|
40
|
+
primaryAction?: ReactNode;
|
|
41
|
+
/** «Atrás», la primera del renglón. En el primer paso no se pasa. */
|
|
42
|
+
backAction?: ReactNode;
|
|
43
|
+
/**
|
|
44
|
+
* La salida del paso: «Omitir por ahora», «Cerrar sesión». Va en `text` — es
|
|
45
|
+
* la acción de menos peso de la pantalla y no debe competir con la
|
|
46
|
+
* principal. Se pinta **antes** de la principal: a su izquierda en
|
|
47
|
+
* escritorio, y debajo y centrada en móvil.
|
|
48
|
+
*/
|
|
49
|
+
exitAction?: ReactNode;
|
|
50
|
+
/** Nombre accesible del grupo de acciones del pie. Default: «Acciones del paso» (castellano). */
|
|
51
|
+
actionsLabel?: string;
|
|
52
|
+
/** `id` del `main` (`main-content` por defecto, destino del `SkipLink`). */
|
|
53
|
+
id?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Con `false` no monta el marco público ni el `main`: solo la columna del
|
|
56
|
+
* alta, para pintarla dentro de una app que ya tiene su `main`. Por defecto
|
|
57
|
+
* `true`.
|
|
58
|
+
*/
|
|
59
|
+
shell?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Ancho de la columna del paso. `md` (por defecto) es la medida estrecha de
|
|
62
|
+
* lectura, la de un formulario; `wide` es el ancho de página pública, para
|
|
63
|
+
* un paso que enseña una fila de tarjetas (la elección de plan).
|
|
64
|
+
*/
|
|
65
|
+
width?: 'md' | 'wide';
|
|
66
|
+
/** Se añade DESPUÉS de las clases propias del componente. */
|
|
67
|
+
className?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* La plantilla del alta: una columna centrada con la marca arriba, el progreso,
|
|
71
|
+
* el paso y un pie de acciones. Cuelga de `PublicPageShell`, así que lee en la
|
|
72
|
+
* **superficie pública** —cuerpo a 20px, controles `lg`—: el alta no es una
|
|
73
|
+
* pantalla de aplicación, es la puerta.
|
|
74
|
+
*
|
|
75
|
+
* Lo que no lleva, a propósito:
|
|
76
|
+
*
|
|
77
|
+
* - **Cabecera pública.** En el alta el usuario ya tiene sesión; no hay sitio
|
|
78
|
+
* al que navegar y una barra de marketing solo invitaría a irse. Arriba queda
|
|
79
|
+
* solo la marca, en la ranura de cabecera del marco —donde iría `SiteHeader`—
|
|
80
|
+
* y con su mismo aire; idioma y tema bajan a la ranura de pie, al borde
|
|
81
|
+
* inferior de la ventana y separados del pie de acciones del paso. Las dos
|
|
82
|
+
* piezas son chrome y viven fuera del `main`: el aire del `Container` con
|
|
83
|
+
* `space="xl"` gobierna solo el contenido del paso.
|
|
84
|
+
* - **Una sola columna a lo ancho de la página.** El chrome ocupa el ancho
|
|
85
|
+
* normal de una página pública —la marca cae donde el ojo ya la espera de la
|
|
86
|
+
* pantalla de acceso—, y lo que se acota a la medida de lectura y se centra
|
|
87
|
+
* es solo la columna del paso: un formulario de cinco campos pegado al borde
|
|
88
|
+
* izquierdo de una pantalla de 27 pulgadas no se lee.
|
|
89
|
+
*
|
|
90
|
+
* El pie de acciones fija la jerarquía en un solo sitio, para que ninguna
|
|
91
|
+
* pantalla del alta la reinvente: la principal cierra el renglón por la
|
|
92
|
+
* derecha, con la salida (`text`) pegada a su izquierda y «Atrás» abriendo. Es
|
|
93
|
+
* el mismo criterio que el pie de un `Form`: la principal, la última. En móvil
|
|
94
|
+
* la principal sube a todo el ancho y la salida cae centrada debajo, como en
|
|
95
|
+
* `Form` con acciones en bloque.
|
|
96
|
+
*
|
|
97
|
+
* **Y también la talla**: la plantilla reparte `lg` al paso **entero**
|
|
98
|
+
* —progreso, cuerpo y acciones— por el contexto de talla del sistema
|
|
99
|
+
* (`FormSizeContext`, el mismo que usa `Form` con sus campos y `Hero` con sus
|
|
100
|
+
* acciones). El alta es superficie pública, así que todo lo que se ponga
|
|
101
|
+
* dentro —un `Form`, un campo suelto, un `AvatarUpload`— sale a la talla que
|
|
102
|
+
* le toca sin que la aplicación tenga que acordarse de pedirla.
|
|
103
|
+
*/
|
|
104
|
+
export declare function OnboardingShell({ children, brand, preferences, switchers, preferencesLabel, stepper, primaryAction, backAction, exitAction, actionsLabel, id, shell, width, className, }: OnboardingShellProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import './PublicPageShell.css';
|
|
3
|
+
export interface PublicPageShellProps {
|
|
4
|
+
/** El contenido de la página: lo que va dentro del `main`. */
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/** Cabecera del sitio. Va dentro de un `ErrorBoundary`: si lanza al renderizar, desaparece ella y la página sigue. */
|
|
7
|
+
header?: ReactNode;
|
|
8
|
+
/** Pie del sitio. Ídem. */
|
|
9
|
+
footer?: ReactNode;
|
|
10
|
+
/**
|
|
11
|
+
* Las preferencias de la pantalla —idioma y tema—, en una banda propia
|
|
12
|
+
* **entre el contenido y el `footer`**. Se pasan los conmutadores sueltos
|
|
13
|
+
* (`LanguageSwitcher`, `ThemeSwitcher`): la banda pone la `section` con
|
|
14
|
+
* nombre, el ancho de página, el aire y la fila alineada al final.
|
|
15
|
+
*
|
|
16
|
+
* Va aparte del pie porque una preferencia global no es una legal ni una
|
|
17
|
+
* acción del contenido, y el pie legal es un `footer` que no admite
|
|
18
|
+
* invitados. Con `shell={false}` no se pinta: sin marco no hay ranura de
|
|
19
|
+
* pie, igual que `header` y `footer`.
|
|
20
|
+
*/
|
|
21
|
+
preferences?: ReactNode;
|
|
22
|
+
/** Nombre accesible de la banda de preferencias. Default: «Preferencias» (castellano). */
|
|
23
|
+
preferencesLabel?: string;
|
|
24
|
+
/** `id` del `main` (`main-content` por defecto, destino del `SkipLink`). */
|
|
25
|
+
id?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Con `false` no monta `SiteShell` ni el `main`: devuelve solo los
|
|
28
|
+
* `children`, para pintarlos dentro de un `AppShell` que ya tiene su `main`.
|
|
29
|
+
* Por defecto `true`. Sin marco, `header`, `footer`, `preferences` e `id` no
|
|
30
|
+
* aplican —y tampoco el `ref`, porque no hay marco al que engancharlo.
|
|
31
|
+
*/
|
|
32
|
+
shell?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* El marco de una página pública, en una sola pieza: `SiteShell` con cabecera
|
|
36
|
+
* y pie opcionales y, dentro, el `main` acotado (`Container`) al que apunta el
|
|
37
|
+
* `SkipLink`. Es el molde del que cuelgan las plantillas públicas
|
|
38
|
+
* —`ErrorPage`, `NotFoundPage`, `OnboardingShell`, la maqueta de acceso—, para
|
|
39
|
+
* que ninguna pueda divergir del marco real.
|
|
40
|
+
*
|
|
41
|
+
* Cabecera, preferencias y pie van cada uno en su `ErrorBoundary`: una página
|
|
42
|
+
* de error no puede depender del chrome que pudo fallar, y el resto de páginas
|
|
43
|
+
* heredan esa garantía gratis.
|
|
44
|
+
*
|
|
45
|
+
* Con `shell={false}` devuelve solo el contenido: es lo que necesita una
|
|
46
|
+
* plantilla pintada dentro de una app que ya tiene su marco y su `main`.
|
|
47
|
+
*
|
|
48
|
+
* **Reenvía el `ref` al nodo raíz del `SiteShell`** (`.site-shell`), el mismo
|
|
49
|
+
* que reenvía `SiteShell` por su cuenta. Ese nodo es el `container` de un panel
|
|
50
|
+
* flotante abierto desde la página —`ConsentPreferences`, un `Modal`, un
|
|
51
|
+
* `Sheet`—: su portal monta por defecto en `document.body`, que no es
|
|
52
|
+
* descendiente de `.site-shell` y por tanto no hereda el remapeo de superficie
|
|
53
|
+
* pública. Apuntarlo al `main` no serviría: el `main` es un `Container`
|
|
54
|
+
* acotado y con su aire, así que el panel quedaría metido dentro de la columna
|
|
55
|
+
* de contenido en vez de flotar sobre la página. Con `shell={false}` no hay
|
|
56
|
+
* marco y el `ref` se queda sin asignar: ahí el contenedor es el `AppShell` de
|
|
57
|
+
* la app.
|
|
58
|
+
*/
|
|
59
|
+
export declare const PublicPageShell: import("react").ForwardRefExoticComponent<PublicPageShellProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/** Nombre de una custom property del sistema, con sus dos guiones. */
|
|
2
|
+
export type TokenName = string;
|
|
3
|
+
/**
|
|
4
|
+
* Todos los tokens del sistema, `{ '--nombre': 'valor' }`, con los valores ya
|
|
5
|
+
* resueltos (nunca un `var()`).
|
|
6
|
+
*/
|
|
7
|
+
export declare const tokens: Readonly<Record<TokenName, string>>;
|
|
8
|
+
/**
|
|
9
|
+
* El valor de un token, o un error si no existe.
|
|
10
|
+
*
|
|
11
|
+
* Falla en vez de devolver `undefined` a propósito: un estilo inline con un
|
|
12
|
+
* valor vacío no se ve roto, se ve «casi bien», y ese fallo viaja hasta la
|
|
13
|
+
* bandeja de entrada de alguien.
|
|
14
|
+
*/
|
|
15
|
+
export declare function token(name: TokenName): string;
|
|
16
|
+
/**
|
|
17
|
+
* El valor de un token en píxeles absolutos.
|
|
18
|
+
*
|
|
19
|
+
* La escala del sistema está en `rem`, que fuera del navegador no significa
|
|
20
|
+
* nada: Outlook resuelve `rem` contra su propio contexto y el correo sale con
|
|
21
|
+
* otro tamaño. Los tokens que ya vienen en `px` (radios, grosores de borde) y
|
|
22
|
+
* los sin unidad (interlineados, pesos) pasan tal cual.
|
|
23
|
+
*/
|
|
24
|
+
export declare function tokenPx(name: TokenName): string;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Modos de Chromatic: cada story del catálogo se fotografía dos veces, en claro
|
|
3
|
+
* y en oscuro. El oscuro no se documenta con stories duplicadas —se borraron
|
|
4
|
+
* las 110 que solo repetían el mismo componente sobre fondo oscuro—; lo cubre
|
|
5
|
+
* este par de modos, que mueve el global `backgrounds` (el mismo del switcher
|
|
6
|
+
* de fondos, con las claves `light`/`dark` declaradas en `preview.tsx`) y con
|
|
7
|
+
* él el decorator `withSurface`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const MODOS_CHROMATIC: {
|
|
10
|
+
readonly claro: {
|
|
11
|
+
readonly backgrounds: {
|
|
12
|
+
readonly value: "light";
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
readonly oscuro: {
|
|
16
|
+
readonly backgrounds: {
|
|
17
|
+
readonly value: "dark";
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Para lo que no tiene superficie oscura y no la va a tener: el correo (medio
|
|
23
|
+
* sin CSS ni `prefers-color-scheme`, ver § «El correo» en `CLAUDE.md`) y la
|
|
24
|
+
* tarjeta social, que es una imagen de colores fijos. Va en el `meta`:
|
|
25
|
+
* `parameters: { chromatic: SOLO_CLARO }`.
|
|
26
|
+
*/
|
|
27
|
+
export declare const SOLO_CLARO: {
|
|
28
|
+
readonly modes: {
|
|
29
|
+
readonly oscuro: {
|
|
30
|
+
readonly disable: true;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Para la story que YA fuerza el oscuro por su cuenta (`parameters.surface` o
|
|
36
|
+
* una prop `surface`/`theme`): en el modo claro saldría exactamente la misma
|
|
37
|
+
* captura, así que se apaga y queda una sola. Va en la story:
|
|
38
|
+
* `parameters: { surface: 'dark', chromatic: SOLO_OSCURO }`.
|
|
39
|
+
*/
|
|
40
|
+
export declare const SOLO_OSCURO: {
|
|
41
|
+
readonly modes: {
|
|
42
|
+
readonly claro: {
|
|
43
|
+
readonly disable: true;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* «Hoy» congelado para el catálogo: un domingo de un mes de 31 días que empieza
|
|
3
|
+
* en domingo (marzo de 2026), para que la rejilla de un calendario salga
|
|
4
|
+
* completa y sin huecos raros en las stories que enseñan «el mes actual».
|
|
5
|
+
*
|
|
6
|
+
* `.storybook/preview.tsx` fija `Date` a este instante con `mockdate` para todo
|
|
7
|
+
* el navegador de Storybook (local, `test:stories` y Chromatic); las stories
|
|
8
|
+
* que antes calculaban sobre `new Date()` lo hacen ahora sobre esta constante,
|
|
9
|
+
* para que se lean sin sorpresas y no dependan implícitamente del mock global.
|
|
10
|
+
*/
|
|
11
|
+
export declare const STORY_TODAY: Date;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.accordion{width:100%}.accordion__item{border-block-start:var(--accordion-border-width) solid var(--accordion-border-color)}.accordion__header{font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin-block:0}.accordion__trigger{all:unset;box-sizing:border-box;justify-content:space-between;align-items:center;gap:var(--accordion-trigger-gap);width:100%;padding-block:var(--accordion-trigger-padding-block);padding-inline:var(--accordion-trigger-padding-inline);cursor:var(--accordion-trigger-cursor);text-align:start;display:flex}.accordion__trigger:focus-visible{outline:var(--accordion-focus-ring-width) solid var(--accordion-focus-ring-color);outline-offset:var(--accordion-focus-ring-offset)}.accordion__trigger[data-disabled]{cursor:default}.accordion__trigger-text{flex:1;min-width:0}.accordion__index{min-inline-size:var(--accordion-index-min-inline-size);font-family:var(--accordion-index-font-family);font-size:var(--accordion-index-font-size);color:var(--accordion-index-color);flex-shrink:0}.accordion--numbered .accordion__content-inner{padding-inline-start:calc(var(--accordion-index-min-inline-size) + var(--accordion-trigger-gap))}.accordion__chevron{transition:transform var(--accordion-transition-duration) var(--accordion-transition-easing);flex-shrink:0;transform:rotate(90deg)}.accordion__trigger[data-panel-open] .accordion__chevron{transform:rotate(-90deg)}.accordion__content{overflow:hidden}.accordion__content[data-open]{animation:accordion-open var(--accordion-transition-duration) var(--accordion-transition-easing)}.accordion__content[data-closed]{animation:accordion-close var(--accordion-transition-duration) var(--accordion-transition-easing)}@keyframes accordion-open{0%{height:0}to{height:var(--collapsible-panel-height)}}@keyframes accordion-close{0%{height:var(--collapsible-panel-height)}to{height:0}}.accordion__content-inner{padding-block-end:var(--accordion-content-padding-block);padding-inline:var(--accordion-content-padding-inline)}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import './accordion.css';
|
|
3
|
+
import { Icon as e } from "./icon.js";
|
|
4
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
5
|
+
import { Children as r, createContext as i, useContext as a } from "react";
|
|
6
|
+
import { Accordion as o } from "@base-ui/react/accordion";
|
|
7
|
+
//#region src/stories/atoms/Accordion/AccordionContext.ts
|
|
8
|
+
var s = i(null);
|
|
9
|
+
function c() {
|
|
10
|
+
return a(s);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
//#region src/stories/atoms/Accordion/Accordion.tsx
|
|
14
|
+
var l = (e) => String(e).padStart(2, "0");
|
|
15
|
+
function u(e) {
|
|
16
|
+
if (e !== void 0) return Array.isArray(e) ? e : e === "" ? [] : [e];
|
|
17
|
+
}
|
|
18
|
+
function d({ className: e, children: n, id: i, disabled: a, numbered: c = !1, formatIndex: d = l, ...f }) {
|
|
19
|
+
let p = f.type === "multiple", m = f.type === "single" ? f.collapsible ?? !0 : !0, h = f.value;
|
|
20
|
+
return /* @__PURE__ */ t(o.Root, {
|
|
21
|
+
id: i,
|
|
22
|
+
disabled: a,
|
|
23
|
+
multiple: p,
|
|
24
|
+
value: u(h),
|
|
25
|
+
defaultValue: u(f.defaultValue),
|
|
26
|
+
onValueChange: (e) => {
|
|
27
|
+
let t = e ?? [];
|
|
28
|
+
if (p) {
|
|
29
|
+
f.onValueChange?.(t);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
!m && t.length === 0 || f.onValueChange?.(t[0] ?? "");
|
|
33
|
+
},
|
|
34
|
+
className: [
|
|
35
|
+
"accordion",
|
|
36
|
+
c ? "accordion--numbered" : "",
|
|
37
|
+
e
|
|
38
|
+
].filter(Boolean).join(" "),
|
|
39
|
+
children: c ? r.map(n, (e, n) => /* @__PURE__ */ t(s.Provider, {
|
|
40
|
+
value: {
|
|
41
|
+
index: n + 1,
|
|
42
|
+
formatIndex: d
|
|
43
|
+
},
|
|
44
|
+
children: e
|
|
45
|
+
})) : n
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function f({ className: e, children: n, ...r }) {
|
|
49
|
+
return /* @__PURE__ */ t(o.Item, {
|
|
50
|
+
className: ["accordion__item", e].filter(Boolean).join(" "),
|
|
51
|
+
...r,
|
|
52
|
+
children: n
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
function p({ className: r, chevronSize: i = "sm", children: a }) {
|
|
56
|
+
let s = c();
|
|
57
|
+
return /* @__PURE__ */ t(o.Header, {
|
|
58
|
+
className: "accordion__header",
|
|
59
|
+
children: /* @__PURE__ */ n(o.Trigger, {
|
|
60
|
+
className: ["accordion__trigger", r].filter(Boolean).join(" "),
|
|
61
|
+
children: [
|
|
62
|
+
s && /* @__PURE__ */ t("span", {
|
|
63
|
+
className: "accordion__index",
|
|
64
|
+
children: s.formatIndex(s.index)
|
|
65
|
+
}),
|
|
66
|
+
/* @__PURE__ */ t("span", {
|
|
67
|
+
className: "accordion__trigger-text",
|
|
68
|
+
children: a
|
|
69
|
+
}),
|
|
70
|
+
/* @__PURE__ */ t(e, {
|
|
71
|
+
name: "chevron",
|
|
72
|
+
className: "accordion__chevron",
|
|
73
|
+
size: i
|
|
74
|
+
})
|
|
75
|
+
]
|
|
76
|
+
})
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function m({ className: e, children: n }) {
|
|
80
|
+
return /* @__PURE__ */ t(o.Panel, {
|
|
81
|
+
className: ["accordion__content", e].filter(Boolean).join(" "),
|
|
82
|
+
children: /* @__PURE__ */ t("div", {
|
|
83
|
+
className: "accordion__content-inner",
|
|
84
|
+
children: n
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
//#endregion
|
|
89
|
+
export { d as Accordion, m as AccordionContent, f as AccordionItem, p as AccordionTrigger };
|
package/dist/alert.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--alert-padding-block:var(--spacing-4);--alert-padding-inline:var(--spacing-5);--alert-gap:var(--spacing-3);--alert-content-gap:var(--spacing-2);--alert-title-line-height:var(--line-height-snug);--alert-close-size:var(--size-component-sm);--alert-close-inset:var(--spacing-2);--alert-border-radius:var(--border-radius-default);--alert-border-width:var(--border-width-default);--alert-bg:var(--color-primary);--alert-border-color:var(--color-text-on-dark);--alert-title-font-size:var(--text-font-size);--alert-title-font-weight:var(--font-weight-emphasis);--alert-title-color:var(--color-text-on-dark);--alert-description-font-size:var(--text-font-size);--alert-description-line-height:var(--text-line-height);--alert-description-color:var(--color-text-on-dark);--alert-success-bg:var(--color-success-fill);--alert-success-border-color:var(--color-success-fill);--alert-success-title-color:var(--color-success-fill-text);--alert-success-description-color:var(--color-success-fill-text);--alert-error-bg:var(--color-error-fill);--alert-error-border-color:var(--color-error-fill);--alert-error-title-color:var(--color-error-fill-text);--alert-error-description-color:var(--color-error-fill-text);--alert-warning-bg:var(--color-warning-fill);--alert-warning-border-color:var(--color-warning-fill);--alert-warning-title-color:var(--color-warning-fill-text);--alert-warning-description-color:var(--color-warning-fill-text);--alert-warning-close-color:var(--color-warning-fill-text)}.surface-dark,.surface-invert,[data-theme=dark],html.dark{--alert-bg:var(--color-text-on-dark);--alert-border-color:var(--color-text-on-dark);--alert-title-color:var(--color-primary);--alert-description-color:var(--color-primary)}.alert{background-color:var(--alert-bg);border:var(--alert-border-width) solid var(--alert-border-color);border-radius:var(--alert-border-radius);padding-block:var(--alert-padding-block);padding-inline:var(--alert-padding-inline);align-items:flex-start;gap:var(--alert-gap);box-sizing:border-box;--alert-title-ink:var(--alert-title-color);--alert-description-ink:var(--alert-description-color);display:flex;position:relative}.alert.alert--dismissible{padding-inline-end:calc(var(--alert-close-inset) * 2 + var(--alert-close-size))}.alert__content{flex:1;min-width:0}.alert__title{font-size:var(--alert-title-font-size);font-weight:var(--alert-title-font-weight);color:var(--alert-title-ink);line-height:var(--alert-title-line-height);margin:0}.alert__description{font-size:var(--alert-description-font-size);color:var(--alert-description-ink);line-height:var(--alert-description-line-height);margin:0;align-items:start;gap:var(--alert-content-gap);flex-direction:column;margin-block-start:var(--alert-content-gap);display:flex}.alert .alert__close{--close-button-size:var(--alert-close-size);position:absolute;inset-block-start:var(--alert-close-inset);inset-inline-end:var(--alert-close-inset)}.alert.alert--success{--alert-bg:var(--alert-success-bg);--alert-border-color:var(--alert-success-border-color);--alert-title-color:var(--alert-success-title-color);--alert-description-color:var(--alert-success-description-color)}.alert.alert--error{--alert-bg:var(--alert-error-bg);--alert-border-color:var(--alert-error-border-color);--alert-title-color:var(--alert-error-title-color);--alert-description-color:var(--alert-error-description-color)}.alert.alert--warning{--alert-bg:var(--alert-warning-bg);--alert-border-color:var(--alert-warning-border-color);--alert-title-color:var(--alert-warning-title-color);--alert-description-color:var(--alert-warning-description-color);--close-button-color:var(--alert-warning-close-color);--close-button-focus-ring-color:var(--alert-warning-close-color)}
|
package/dist/alert.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import './alert.css';
|
|
3
|
+
import { CloseButton as e } from "./close-button.js";
|
|
4
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
5
|
+
import { forwardRef as r, useState as i } from "react";
|
|
6
|
+
//#region src/stories/molecules/Alert/Alert.tsx
|
|
7
|
+
var a = {
|
|
8
|
+
default: "status",
|
|
9
|
+
success: "status",
|
|
10
|
+
error: "alert",
|
|
11
|
+
warning: "alert"
|
|
12
|
+
}, o = r(function({ className: e, children: n, ...r }, i) {
|
|
13
|
+
return /* @__PURE__ */ t("p", {
|
|
14
|
+
ref: i,
|
|
15
|
+
className: ["alert__title", e ?? ""].filter(Boolean).join(" "),
|
|
16
|
+
...r,
|
|
17
|
+
children: n
|
|
18
|
+
});
|
|
19
|
+
}), s = r(function({ className: e, children: n, ...r }, i) {
|
|
20
|
+
return /* @__PURE__ */ t("div", {
|
|
21
|
+
ref: i,
|
|
22
|
+
className: ["alert__description", e ?? ""].filter(Boolean).join(" "),
|
|
23
|
+
...r,
|
|
24
|
+
children: n
|
|
25
|
+
});
|
|
26
|
+
}), c = r(function({ variant: r = "default", title: o, description: s, dismissible: c = !1, onDismiss: l, finalFocus: u, closeLabel: d = "Cerrar", className: f, children: p, role: m, ...h }, g) {
|
|
27
|
+
let [_, v] = i(!1);
|
|
28
|
+
if (_) return null;
|
|
29
|
+
let y = [
|
|
30
|
+
"alert",
|
|
31
|
+
r === "default" ? "" : `alert--${r}`,
|
|
32
|
+
r === "success" || r === "error" ? "surface-dark" : "",
|
|
33
|
+
c ? "alert--dismissible" : "",
|
|
34
|
+
f ?? ""
|
|
35
|
+
].filter(Boolean).join(" "), b = r === "default" ? " surface-invert" : "";
|
|
36
|
+
function x() {
|
|
37
|
+
if (typeof document > "u") return;
|
|
38
|
+
let e = u?.current;
|
|
39
|
+
if (e) {
|
|
40
|
+
e.focus();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
let t = document.body, n = t.hasAttribute("tabindex");
|
|
44
|
+
n || t.setAttribute("tabindex", "-1"), t.focus(), n || t.removeAttribute("tabindex");
|
|
45
|
+
}
|
|
46
|
+
function S() {
|
|
47
|
+
x(), l ? l() : v(!0);
|
|
48
|
+
}
|
|
49
|
+
return /* @__PURE__ */ n("div", {
|
|
50
|
+
ref: g,
|
|
51
|
+
role: m ?? a[r],
|
|
52
|
+
className: y,
|
|
53
|
+
...h,
|
|
54
|
+
children: [/* @__PURE__ */ n("div", {
|
|
55
|
+
className: `alert__content${b}`,
|
|
56
|
+
children: [
|
|
57
|
+
o && /* @__PURE__ */ t("p", {
|
|
58
|
+
className: "alert__title",
|
|
59
|
+
children: o
|
|
60
|
+
}),
|
|
61
|
+
s && /* @__PURE__ */ t("div", {
|
|
62
|
+
className: "alert__description",
|
|
63
|
+
children: s
|
|
64
|
+
}),
|
|
65
|
+
p
|
|
66
|
+
]
|
|
67
|
+
}), c && /* @__PURE__ */ t(e, {
|
|
68
|
+
className: `alert__close${b}`,
|
|
69
|
+
label: d,
|
|
70
|
+
onClick: S
|
|
71
|
+
})]
|
|
72
|
+
});
|
|
73
|
+
}), l = Object.assign(c, {
|
|
74
|
+
Title: o,
|
|
75
|
+
Description: s
|
|
76
|
+
});
|
|
77
|
+
//#endregion
|
|
78
|
+
export { l as Alert, s as AlertDescription, o as AlertTitle };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.annotation-thread{gap:var(--annotation-thread-gap);padding-block:var(--annotation-thread-padding-block);padding-inline:var(--annotation-thread-padding-inline);border:var(--annotation-thread-border-width) var(--annotation-thread-border-style) var(--annotation-thread-border-color);flex-direction:column;display:flex}.annotation-thread.annotation-thread--resolved{opacity:var(--annotation-thread-resolved-opacity)}.annotation-thread__status{display:flex}.annotation-thread__item{gap:var(--annotation-thread-item-gap);flex-direction:column;display:flex}.annotation-thread__header{align-items:center;gap:var(--annotation-thread-header-gap);flex-wrap:wrap;display:flex}.annotation-thread__avatar{flex-shrink:0;display:inline-flex}.annotation-thread__author{font-family:var(--annotation-thread-author-font-family);font-size:var(--annotation-thread-author-font-size);font-weight:var(--annotation-thread-author-font-weight);color:var(--annotation-thread-author-color)}.annotation-thread__date,.annotation-thread__edited{font-size:var(--annotation-thread-meta-font-size);color:var(--annotation-thread-meta-color)}.annotation-thread__body{font-size:var(--annotation-thread-body-font-size);line-height:var(--annotation-thread-body-line-height);color:var(--annotation-thread-body-color)}.annotation-thread__item-actions{gap:var(--annotation-thread-header-gap);flex-wrap:wrap;display:flex}.annotation-thread__replies{gap:var(--annotation-thread-items-gap);border-inline-start:var(--annotation-thread-reply-guide-width) var(--annotation-thread-reply-guide-style) var(--annotation-thread-reply-guide-color);flex-direction:column;padding-inline-start:var(--annotation-thread-reply-indent);display:flex}.annotation-thread__replies-label{font-size:var(--annotation-thread-replies-label-font-size);color:var(--annotation-thread-replies-label-color);margin-block:0}.annotation-thread__actions{gap:var(--annotation-thread-header-gap);flex-wrap:wrap;display:flex}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import './annotation-thread.css';
|
|
2
|
+
import { Tag as e } from "./tag.js";
|
|
3
|
+
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
4
|
+
import "react";
|
|
5
|
+
//#region src/stories/organisms/AnnotationThread/AnnotationThread.tsx
|
|
6
|
+
var r = {
|
|
7
|
+
day: "numeric",
|
|
8
|
+
month: "short",
|
|
9
|
+
hour: "2-digit",
|
|
10
|
+
minute: "2-digit"
|
|
11
|
+
};
|
|
12
|
+
function i({ entry: e, locale: r, dateFormat: i, editedLabel: a }) {
|
|
13
|
+
let o = e.date instanceof Date ? e.date : new Date(e.date), s = new Intl.DateTimeFormat(r, i).format(o);
|
|
14
|
+
return /* @__PURE__ */ n("article", {
|
|
15
|
+
className: "annotation-thread__item",
|
|
16
|
+
children: [
|
|
17
|
+
/* @__PURE__ */ n("header", {
|
|
18
|
+
className: "annotation-thread__header",
|
|
19
|
+
children: [
|
|
20
|
+
e.avatar && /* @__PURE__ */ t("span", {
|
|
21
|
+
className: "annotation-thread__avatar",
|
|
22
|
+
children: e.avatar
|
|
23
|
+
}),
|
|
24
|
+
/* @__PURE__ */ t("span", {
|
|
25
|
+
className: "annotation-thread__author",
|
|
26
|
+
children: e.author
|
|
27
|
+
}),
|
|
28
|
+
/* @__PURE__ */ t("time", {
|
|
29
|
+
className: "annotation-thread__date",
|
|
30
|
+
dateTime: o.toISOString(),
|
|
31
|
+
children: s
|
|
32
|
+
}),
|
|
33
|
+
e.edited && /* @__PURE__ */ t("span", {
|
|
34
|
+
className: "annotation-thread__edited",
|
|
35
|
+
children: a
|
|
36
|
+
})
|
|
37
|
+
]
|
|
38
|
+
}),
|
|
39
|
+
/* @__PURE__ */ t("div", {
|
|
40
|
+
className: "annotation-thread__body",
|
|
41
|
+
children: e.body
|
|
42
|
+
}),
|
|
43
|
+
e.actions && /* @__PURE__ */ t("div", {
|
|
44
|
+
className: "annotation-thread__item-actions",
|
|
45
|
+
children: e.actions
|
|
46
|
+
})
|
|
47
|
+
]
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
function a({ annotation: a, replies: o = [], status: s = "open", actions: c, reply: l, locale: u = "es-ES", dateFormat: d = r, openLabel: f = "Abierta", resolvedLabel: p = "Resuelta", editedLabel: m = "editada", repliesLabel: h = (e) => e === 1 ? "1 respuesta" : `${e} respuestas`, label: g = "Hilo de anotaciones", className: _, ...v }) {
|
|
51
|
+
let y = s === "resolved";
|
|
52
|
+
return /* @__PURE__ */ n("article", {
|
|
53
|
+
className: [
|
|
54
|
+
"annotation-thread",
|
|
55
|
+
y ? "annotation-thread--resolved" : "",
|
|
56
|
+
_ ?? ""
|
|
57
|
+
].filter(Boolean).join(" "),
|
|
58
|
+
"aria-label": g,
|
|
59
|
+
...v,
|
|
60
|
+
children: [
|
|
61
|
+
/* @__PURE__ */ t("div", {
|
|
62
|
+
className: "annotation-thread__status",
|
|
63
|
+
children: /* @__PURE__ */ t(e, {
|
|
64
|
+
variant: y ? "success" : "warning",
|
|
65
|
+
children: y ? p : f
|
|
66
|
+
})
|
|
67
|
+
}),
|
|
68
|
+
/* @__PURE__ */ t(i, {
|
|
69
|
+
entry: a,
|
|
70
|
+
locale: u,
|
|
71
|
+
dateFormat: d,
|
|
72
|
+
editedLabel: m
|
|
73
|
+
}),
|
|
74
|
+
o.length > 0 && /* @__PURE__ */ n("div", {
|
|
75
|
+
className: "annotation-thread__replies",
|
|
76
|
+
children: [/* @__PURE__ */ t("p", {
|
|
77
|
+
className: "annotation-thread__replies-label",
|
|
78
|
+
children: h(o.length)
|
|
79
|
+
}), o.map((e) => /* @__PURE__ */ t(i, {
|
|
80
|
+
entry: e,
|
|
81
|
+
locale: u,
|
|
82
|
+
dateFormat: d,
|
|
83
|
+
editedLabel: m
|
|
84
|
+
}, e.id))]
|
|
85
|
+
}),
|
|
86
|
+
l && /* @__PURE__ */ t("div", {
|
|
87
|
+
className: "annotation-thread__reply",
|
|
88
|
+
children: l
|
|
89
|
+
}),
|
|
90
|
+
c && /* @__PURE__ */ t("footer", {
|
|
91
|
+
className: "annotation-thread__actions",
|
|
92
|
+
children: c
|
|
93
|
+
})
|
|
94
|
+
]
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//#endregion
|
|
98
|
+
export { a as AnnotationThread };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.app-header{align-items:center;gap:var(--app-header-gap);block-size:var(--app-header-height);padding-inline:var(--app-header-padding-inline);box-sizing:content-box;background-color:var(--app-header-bg);box-shadow:0 var(--app-header-border-width) 0 var(--app-header-border-color);z-index:var(--app-header-z-index);flex-shrink:0;padding-block-start:env(safe-area-inset-top);display:flex;position:sticky;inset-block-start:0}.app-header__start{flex:1;align-items:center;min-inline-size:0;display:flex}.app-header__notifications,.app-header__end{flex-shrink:0;align-items:center;display:flex}
|