@studiolxd/brand 49.28.0 → 51.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +61 -0
- package/README.md +26 -4
- package/dist/_shared/alert.js +98 -0
- package/dist/_shared/assign-ref.js +6 -0
- package/dist/_shared/asyncmultiselect.js +133 -0
- package/dist/_shared/asyncselect.js +122 -0
- package/dist/_shared/brandmessagescontext.js +27 -11
- package/dist/_shared/{calendargrid.js → calendar.js} +67 -57
- package/dist/_shared/closebutton.js +34 -0
- package/dist/_shared/colorpicker.js +141 -122
- package/dist/_shared/connectorrequestsummary.js +46 -0
- package/dist/_shared/{copy-to-clipboard.js → copy.js} +8 -1
- package/dist/_shared/datepicker.js +98 -83
- package/dist/_shared/default-render-link.js +12 -0
- package/dist/_shared/dialogsurface.js +1 -1
- package/dist/_shared/dotsbutton.js +31 -0
- package/dist/_shared/dropdownitems.js +14 -20
- package/dist/_shared/env.js +13 -2
- package/dist/_shared/field-optional.js +9 -0
- package/dist/_shared/fieldshell.js +85 -0
- package/dist/_shared/fileupload.js +237 -0
- package/dist/_shared/focusable-when-disabled.js +10 -0
- package/dist/_shared/imagecropdialog.js +65 -460
- package/dist/_shared/inputfield.js +92 -0
- package/dist/_shared/inputphone.js +91 -0
- package/dist/_shared/legalfooter.js +42 -0
- package/dist/_shared/logo.js +10 -9
- package/dist/_shared/menubutton.js +31 -0
- package/dist/_shared/modal.js +69 -0
- package/dist/_shared/multiselect.js +128 -0
- package/dist/_shared/notificationbutton.js +35 -0
- package/dist/_shared/numberinput.js +104 -0
- package/dist/_shared/otpinput.js +119 -0
- package/dist/_shared/overflow-focusable.js +15 -0
- package/dist/_shared/pagination.js +198 -0
- package/dist/_shared/prevnextnav.js +93 -0
- package/dist/_shared/progressbar.js +25 -23
- package/dist/_shared/publicpageshell.js +39 -0
- package/dist/_shared/requiredinput.js +23 -0
- package/dist/_shared/searchform.js +65 -0
- package/dist/_shared/select.js +163 -0
- package/dist/_shared/sheet.js +58 -0
- package/dist/_shared/side-offset.js +13 -0
- package/dist/_shared/slider.js +43 -0
- package/dist/_shared/spinner.js +5 -0
- package/dist/_shared/table.js +140 -0
- package/dist/_shared/timeselect.js +91 -0
- package/dist/_shared/tokens.js +147 -140
- package/dist/_shared/typingindicator.js +32 -0
- package/dist/_shared/untrustedtext.js +27 -23
- package/dist/_shared/useasyncoptions.js +30 -0
- package/dist/_types/atoms/Accordion/Accordion.d.ts +7 -1
- package/dist/_types/atoms/AsyncMultiSelect/AsyncMultiSelect.d.ts +14 -5
- package/dist/_types/atoms/AsyncSelect/AsyncSelect.d.ts +14 -5
- package/dist/_types/atoms/Autocomplete/Autocomplete.d.ts +16 -7
- package/dist/_types/atoms/Button/Button.d.ts +13 -0
- package/dist/_types/atoms/CloseButton/CloseButton.d.ts +22 -3
- package/dist/_types/atoms/DescriptionList/DescriptionList.d.ts +4 -4
- package/dist/_types/atoms/EmbedFrame/EmbedFrame.d.ts +13 -1
- package/dist/_types/atoms/Fieldset/Fieldset.d.ts +12 -6
- package/dist/_types/atoms/FileUpload/FileUpload.d.ts +7 -2
- package/dist/_types/atoms/Input/Input.d.ts +1 -1
- package/dist/_types/atoms/InputPhone/InputPhone.d.ts +7 -0
- package/dist/_types/atoms/Link/Link.d.ts +7 -3
- package/dist/_types/atoms/List/List.d.ts +4 -2
- package/dist/_types/atoms/Logo/Logo.d.ts +11 -5
- package/dist/_types/atoms/Logo/index.d.ts +1 -1
- package/dist/_types/atoms/MultiSelect/MultiSelect.d.ts +22 -11
- package/dist/_types/atoms/NumberBadge/NumberBadge.d.ts +14 -2
- package/dist/_types/atoms/NumberInput/NumberInput.d.ts +1 -1
- package/dist/_types/atoms/OtpInput/OtpInput.d.ts +2 -0
- package/dist/_types/atoms/Paragraph/Paragraph.d.ts +14 -2
- package/dist/_types/atoms/Popover/Popover.d.ts +5 -1
- package/dist/_types/atoms/ProgressBar/ProgressBar.d.ts +12 -4
- package/dist/_types/atoms/Select/Select.d.ts +6 -0
- package/dist/_types/atoms/Skeleton/Skeleton.d.ts +1 -1
- package/dist/_types/atoms/Sparkline/Sparkline.d.ts +2 -0
- package/dist/_types/atoms/Spinner/Spinner.d.ts +3 -1
- package/dist/_types/atoms/StepMarker/StepMarker.d.ts +9 -4
- package/dist/_types/atoms/Tag/Tag.d.ts +13 -2
- package/dist/_types/atoms/Text/Text.d.ts +11 -5
- package/dist/_types/atoms/TimeSelect/TimeSelect.d.ts +6 -1
- package/dist/_types/atoms/Toggle/Toggle.d.ts +9 -0
- package/dist/_types/atoms/Tooltip/Tooltip.d.ts +11 -13
- package/dist/_types/atoms/TypingIndicator/TypingIndicator.d.ts +3 -1
- package/dist/_types/atoms/_shared/useAsyncOptions.d.ts +36 -0
- package/dist/_types/constants/assign-ref.d.ts +12 -0
- package/dist/_types/constants/default-render-link.d.ts +20 -0
- package/dist/_types/constants/env.d.ts +9 -5
- package/dist/_types/constants/field-optional.d.ts +14 -0
- package/dist/_types/constants/focusable-when-disabled.d.ts +2 -0
- package/dist/_types/constants/overflow-focusable.d.ts +15 -0
- package/dist/_types/constants/side-offset.d.ts +18 -0
- package/dist/_types/email/EmailLayout.d.ts +38 -21
- package/dist/_types/messages/BrandMessages.d.ts +60 -15
- package/dist/_types/messages/BrandMessagesContext.d.ts +534 -12
- package/dist/_types/messages/BrandMessagesProvider.d.ts +33 -11
- package/dist/_types/messages/brandMessagesEs.d.ts +18 -0
- package/dist/_types/messages/es/alert.d.ts +3 -0
- package/dist/_types/messages/es/annotationThread.d.ts +3 -0
- package/dist/_types/messages/es/appHeader.d.ts +3 -0
- package/dist/_types/messages/es/appLauncher.d.ts +3 -0
- package/dist/_types/messages/es/appRoot.d.ts +3 -0
- package/dist/_types/messages/es/appShell.d.ts +3 -0
- package/dist/_types/messages/es/asyncMultiSelect.d.ts +3 -0
- package/dist/_types/messages/es/asyncSelect.d.ts +3 -0
- package/dist/_types/messages/es/avatarUpload.d.ts +3 -0
- package/dist/_types/messages/es/banner.d.ts +3 -0
- package/dist/_types/messages/es/breadcrumb.d.ts +3 -0
- package/dist/_types/messages/es/calendar.d.ts +3 -0
- package/dist/_types/messages/es/calendarPlanner.d.ts +3 -0
- package/dist/_types/messages/es/calendarRoster.d.ts +3 -0
- package/dist/_types/messages/es/carousel.d.ts +3 -0
- package/dist/_types/messages/es/chart.d.ts +3 -0
- package/dist/_types/messages/es/chatShell.d.ts +3 -0
- package/dist/_types/messages/es/clockWidget.d.ts +3 -0
- package/dist/_types/messages/es/closeButton.d.ts +3 -0
- package/dist/_types/messages/es/codeBlock.d.ts +3 -0
- package/dist/_types/messages/es/colorPicker.d.ts +3 -0
- package/dist/_types/messages/es/commandPalette.d.ts +3 -0
- package/dist/_types/messages/es/confirmDialog.d.ts +3 -0
- package/dist/_types/messages/es/connectorConsent.d.ts +3 -0
- package/dist/_types/messages/es/connectorExternalSignIn.d.ts +3 -0
- package/dist/_types/messages/es/connectorRejection.d.ts +3 -0
- package/dist/_types/messages/es/connectorRequestSummary.d.ts +3 -0
- package/dist/_types/messages/es/connectorSignIn.d.ts +3 -0
- package/dist/_types/messages/es/consent.d.ts +3 -0
- package/dist/_types/messages/es/conversationList.d.ts +3 -0
- package/dist/_types/messages/es/conversationThread.d.ts +3 -0
- package/dist/_types/messages/es/copy.d.ts +3 -0
- package/dist/_types/messages/es/dataTable.d.ts +3 -0
- package/dist/_types/messages/es/datePicker.d.ts +3 -0
- package/dist/_types/messages/es/docsSearch.d.ts +3 -0
- package/dist/_types/messages/es/dotsButton.d.ts +3 -0
- package/dist/_types/messages/es/field.d.ts +3 -0
- package/dist/_types/messages/es/fileUpload.d.ts +3 -0
- package/dist/_types/messages/es/filterBar.d.ts +3 -0
- package/dist/_types/messages/es/floatingDock.d.ts +3 -0
- package/dist/_types/messages/es/heatmap.d.ts +3 -0
- package/dist/_types/messages/es/imageCropDialog.d.ts +3 -0
- package/dist/_types/messages/es/inputField.d.ts +3 -0
- package/dist/_types/messages/es/inputPhone.d.ts +3 -0
- package/dist/_types/messages/es/languageSwitcher.d.ts +3 -0
- package/dist/_types/messages/es/legalFooter.d.ts +3 -0
- package/dist/_types/messages/es/menuButton.d.ts +3 -0
- package/dist/_types/messages/es/messageComposer.d.ts +3 -0
- package/dist/_types/messages/es/modal.d.ts +3 -0
- package/dist/_types/messages/es/multiSelect.d.ts +3 -0
- package/dist/_types/messages/es/notificationButton.d.ts +3 -0
- package/dist/_types/messages/es/notificationList.d.ts +3 -0
- package/dist/_types/messages/es/notificationPanel.d.ts +3 -0
- package/dist/_types/messages/es/numberInput.d.ts +3 -0
- package/dist/_types/messages/es/onboardingShell.d.ts +3 -0
- package/dist/_types/messages/es/orgChart.d.ts +3 -0
- package/dist/_types/messages/es/orgSwitcher.d.ts +3 -0
- package/dist/_types/messages/es/otpInput.d.ts +3 -0
- package/dist/_types/messages/es/pagination.d.ts +3 -0
- package/dist/_types/messages/es/passwordField.d.ts +3 -0
- package/dist/_types/messages/es/planningGrid.d.ts +3 -0
- package/dist/_types/messages/es/prevNextNav.d.ts +3 -0
- package/dist/_types/messages/es/progressBar.d.ts +3 -0
- package/dist/_types/messages/es/projectCard.d.ts +3 -0
- package/dist/_types/messages/es/publicPageShell.d.ts +3 -0
- package/dist/_types/messages/es/recurrenceField.d.ts +3 -0
- package/dist/_types/messages/es/searchForm.d.ts +3 -0
- package/dist/_types/messages/es/select.d.ts +3 -0
- package/dist/_types/messages/es/sheet.d.ts +3 -0
- package/dist/_types/messages/es/sidebar.d.ts +3 -0
- package/dist/_types/messages/es/sidebarNav.d.ts +3 -0
- package/dist/_types/messages/es/siteHeader.d.ts +3 -0
- package/dist/_types/messages/es/siteNav.d.ts +3 -0
- package/dist/_types/messages/es/siteSearch.d.ts +3 -0
- package/dist/_types/messages/es/slider.d.ts +3 -0
- package/dist/_types/messages/es/spinner.d.ts +3 -0
- package/dist/_types/messages/es/statTile.d.ts +3 -0
- package/dist/_types/messages/es/stepper.d.ts +3 -0
- package/dist/_types/messages/es/table.d.ts +3 -0
- package/dist/_types/messages/es/tableOfContents.d.ts +3 -0
- package/dist/_types/messages/es/themeSwitcher.d.ts +3 -0
- package/dist/_types/messages/es/timeSelect.d.ts +3 -0
- package/dist/_types/messages/es/timeline.d.ts +3 -0
- package/dist/_types/messages/es/toaster.d.ts +3 -0
- package/dist/_types/messages/es/treeView.d.ts +3 -0
- package/dist/_types/messages/es/typingIndicator.d.ts +3 -0
- package/dist/_types/messages/es/untrustedText.d.ts +3 -0
- package/dist/_types/messages/es/uptimeBars.d.ts +3 -0
- package/dist/_types/messages/es/userMenu.d.ts +3 -0
- package/dist/_types/messages/index.d.ts +1 -1
- package/dist/_types/molecules/Alert/Alert.d.ts +11 -2
- package/dist/_types/molecules/AppLauncher/AppLauncher.d.ts +9 -3
- package/dist/_types/molecules/AsyncMultiSelectField/AsyncMultiSelectField.d.ts +2 -1
- package/dist/_types/molecules/AsyncSelectField/AsyncSelectField.d.ts +2 -1
- package/dist/_types/molecules/AutocompleteField/AutocompleteField.d.ts +2 -1
- package/dist/_types/molecules/Banner/Banner.d.ts +11 -3
- package/dist/_types/molecules/Breadcrumb/Breadcrumb.d.ts +3 -1
- package/dist/_types/molecules/Calendar/Calendar.d.ts +10 -1
- package/dist/_types/molecules/CalendarPlanner/CalendarPlanner.d.ts +50 -14
- package/dist/_types/molecules/CalendarRoster/CalendarRoster.d.ts +23 -3
- package/dist/_types/molecules/Card/Card.d.ts +10 -2
- package/dist/_types/molecules/CheckboxField/CheckboxField.d.ts +8 -1
- package/dist/_types/molecules/ColorPicker/ColorPicker.d.ts +15 -1
- package/dist/_types/molecules/ColorPickerField/ColorPickerField.d.ts +10 -1
- package/dist/_types/molecules/CommandPalette/CommandPalette.d.ts +5 -0
- package/dist/_types/molecules/ConfirmDialog/ConfirmDialog.d.ts +6 -1
- package/dist/_types/molecules/ContextMenu/ContextMenu.d.ts +8 -1
- package/dist/_types/molecules/CopyButton/CopyButton.d.ts +8 -0
- package/dist/_types/molecules/DatePicker/DatePicker.d.ts +18 -1
- package/dist/_types/molecules/DatePickerField/DatePickerField.d.ts +2 -1
- package/dist/_types/molecules/DateTimeField/DateTimeField.d.ts +10 -1
- package/dist/_types/molecules/DocsSearch/DocsSearch.d.ts +2 -2
- package/dist/_types/molecules/DropdownField/DropdownField.d.ts +11 -1
- package/dist/_types/molecules/FileUploadField/FileUploadField.d.ts +2 -1
- package/dist/_types/molecules/FilterBar/FilterBar.d.ts +3 -1
- package/dist/_types/molecules/FloatingToolbar/FloatingToolbar.d.ts +101 -0
- package/dist/_types/molecules/Form/Form.d.ts +8 -0
- package/dist/_types/molecules/FormField/FormField.d.ts +5 -6
- package/dist/_types/molecules/Heatmap/Heatmap.d.ts +42 -5
- package/dist/_types/molecules/Heatmap/heatmapScale.d.ts +50 -0
- package/dist/_types/molecules/ImageCropDialog/ImageCropDialog.d.ts +18 -2
- package/dist/_types/molecules/InputField/InputField.d.ts +2 -1
- package/dist/_types/molecules/InputPhoneField/InputPhoneField.d.ts +2 -1
- package/dist/_types/molecules/LanguageSwitcher/LanguageSwitcher.d.ts +7 -3
- package/dist/_types/molecules/LoadingRegion/LoadingRegion.d.ts +12 -4
- package/dist/_types/molecules/Menu/Menu.d.ts +5 -0
- package/dist/_types/molecules/Modal/Modal.d.ts +23 -5
- package/dist/_types/molecules/MultiSelectField/MultiSelectField.d.ts +4 -1
- package/dist/_types/molecules/NotificationPanel/NotificationPanel.d.ts +6 -1
- package/dist/_types/molecules/NumberInputField/NumberInputField.d.ts +2 -1
- package/dist/_types/molecules/OrgSwitcher/OrgSwitcher.d.ts +8 -1
- package/dist/_types/molecules/OtpField/OtpField.d.ts +4 -1
- package/dist/_types/molecules/PageIntro/PageIntro.d.ts +1 -1
- package/dist/_types/molecules/Pagination/Pagination.d.ts +26 -5
- package/dist/_types/molecules/PasswordField/PasswordField.d.ts +13 -5
- package/dist/_types/molecules/PrevNextNav/PrevNextNav.d.ts +22 -4
- package/dist/_types/molecules/ProjectCard/ProjectCard.d.ts +8 -2
- package/dist/_types/molecules/RadioField/RadioField.d.ts +8 -0
- package/dist/_types/molecules/RecoveryCodes/RecoveryCodes.d.ts +1 -1
- package/dist/_types/molecules/RecurrenceField/RecurrenceField.d.ts +24 -1
- package/dist/_types/molecules/SelectField/SelectField.d.ts +2 -1
- package/dist/_types/molecules/Sheet/Sheet.d.ts +5 -0
- package/dist/_types/molecules/SidebarNav/SidebarNav.d.ts +18 -2
- package/dist/_types/molecules/SiteNav/SiteNav.d.ts +4 -1
- package/dist/_types/molecules/StatTile/StatTile.d.ts +15 -1
- package/dist/_types/molecules/Table/Table.d.ts +7 -2
- package/dist/_types/molecules/TableOfContents/TableOfContents.d.ts +3 -1
- package/dist/_types/molecules/TextareaField/TextareaField.d.ts +2 -1
- package/dist/_types/molecules/ThemeSwitcher/ThemeSwitcher.d.ts +38 -3
- package/dist/_types/molecules/TimeField/TimeField.d.ts +2 -1
- package/dist/_types/molecules/Timeline/Timeline.d.ts +6 -3
- package/dist/_types/molecules/Toast/Toaster.d.ts +8 -0
- package/dist/_types/molecules/UserMenu/UserMenu.d.ts +8 -1
- package/dist/_types/molecules/_shared/FieldShell.d.ts +130 -0
- package/dist/_types/molecules/_shared/calendarGrid.d.ts +15 -2
- package/dist/_types/molecules/_shared/dialogSurface.d.ts +6 -1
- package/dist/_types/molecules/_shared/dropdownItems.d.ts +0 -2
- package/dist/_types/molecules/_shared/requiredInput.d.ts +8 -0
- package/dist/_types/organisms/AnnotationThread/AnnotationThread.d.ts +3 -2
- package/dist/_types/organisms/DataTable/DataTable.d.ts +1 -1
- package/dist/_types/organisms/PlanningGrid/PlanningGrid.d.ts +12 -1
- package/dist/_types/organisms/Steps/Steps.d.ts +3 -3
- package/dist/_types/sections/AppHeader/AppHeader.d.ts +3 -1
- package/dist/_types/sections/AppShell/AppShell.d.ts +6 -1
- package/dist/_types/sections/Hero/Hero.d.ts +1 -1
- package/dist/_types/sections/LegalFooter/LegalFooter.d.ts +7 -1
- package/dist/_types/sections/Sidebar/Sidebar.d.ts +3 -1
- package/dist/_types/sections/SiteFooter/SiteFooter.d.ts +6 -2
- package/dist/_types/sections/SiteHeader/SiteHeader.d.ts +5 -5
- package/dist/_types/templates/ConnectorAuth/ConnectorAuthShell.d.ts +5 -2
- package/dist/_types/templates/ConnectorAuth/ConnectorConsentPage.d.ts +1 -1
- package/dist/_types/templates/ConnectorAuth/ConnectorExternalSignInPage.d.ts +1 -1
- package/dist/_types/templates/ConnectorAuth/ConnectorRejectionPage.d.ts +1 -1
- package/dist/_types/templates/ConnectorAuth/ConnectorSignInPage.d.ts +1 -1
- package/dist/_types/templates/ErrorPage/ErrorPage.d.ts +7 -1
- package/dist/_types/templates/NotFoundPage/NotFoundPage.d.ts +7 -1
- package/dist/_types/templates/PublicPageShell/PublicPageShell.d.ts +6 -0
- package/dist/accordion.css +1 -1
- package/dist/accordion.js +6 -5
- package/dist/alert.css +1 -1
- package/dist/alert.js +2 -94
- package/dist/annotation-thread.css +1 -1
- package/dist/annotation-thread.js +38 -31
- package/dist/app-header.css +1 -1
- package/dist/app-header.js +31 -33
- package/dist/app-launcher.css +1 -1
- package/dist/app-launcher.js +48 -33
- package/dist/app-root.js +9 -6
- package/dist/app-shell.js +52 -52
- package/dist/assistant-message.js +1 -1
- package/dist/async-multi-select-field.js +46 -51
- package/dist/async-multi-select.js +2 -197
- package/dist/async-select-field.js +45 -50
- package/dist/async-select.js +2 -173
- package/dist/asyncmultiselect.css +1 -0
- package/dist/asyncselect.css +1 -0
- package/dist/autocomplete-field.js +45 -50
- package/dist/autocomplete.css +1 -1
- package/dist/autocomplete.js +76 -115
- package/dist/avatar-upload.js +82 -69
- package/dist/banner.js +33 -30
- package/dist/brand.css +538 -1207
- package/dist/breadcrumb.css +1 -1
- package/dist/breadcrumb.js +26 -26
- package/dist/button.css +1 -1
- package/dist/button.js +44 -41
- package/dist/calendar-planner.css +1 -1
- package/dist/calendar-planner.js +130 -107
- package/dist/calendar-roster.css +1 -1
- package/dist/calendar-roster.js +90 -67
- package/dist/calendar.css +1 -1
- package/dist/calendar.js +66 -65
- package/dist/card.css +1 -1
- package/dist/card.js +76 -73
- package/dist/carousel.css +1 -1
- package/dist/carousel.js +66 -52
- package/dist/chart.css +1 -1
- package/dist/chart.js +213 -206
- package/dist/chat-shell.css +1 -1
- package/dist/chat-shell.js +53 -49
- package/dist/checkbox-field.js +40 -49
- package/dist/checkbox.css +1 -1
- package/dist/clock-widget.js +49 -33
- package/dist/close-button.js +2 -21
- package/dist/code-block.js +45 -39
- package/dist/collapsible.css +1 -1
- package/dist/color-picker-field.js +38 -39
- package/dist/colorpicker.css +1 -1
- package/dist/command-palette.css +1 -1
- package/dist/command-palette.js +39 -31
- package/dist/confirm-dialog.js +29 -22
- package/dist/connector-auth-shell.js +1 -1
- package/dist/connector-consent-page.js +56 -49
- package/dist/connector-external-sign-in-page.js +40 -32
- package/dist/connector-rejection-page.js +28 -24
- package/dist/connector-request-summary.js +2 -37
- package/dist/connector-sign-in-page.js +44 -36
- package/dist/consent.css +1 -1
- package/dist/consent.js +55 -44
- package/dist/container.css +1 -1
- package/dist/context-menu.js +4 -3
- package/dist/conversation-list.css +1 -1
- package/dist/conversation-list.js +42 -33
- package/dist/conversation-thread.css +1 -1
- package/dist/conversation-thread.js +24 -20
- package/dist/copy-button.js +35 -33
- package/dist/copyable-value.js +40 -40
- package/dist/data-table.js +82 -1627
- package/dist/date-picker-field.js +32 -37
- package/dist/date-time-field.js +78 -79
- package/dist/datepicker.css +1 -1
- package/dist/description-list.js +5 -5
- package/dist/docs-search.css +1 -1
- package/dist/docs-search.js +46 -39
- package/dist/dots-button.js +2 -29
- package/dist/dropdown-field.css +1 -1
- package/dist/dropdown-field.js +52 -51
- package/dist/email.js +10 -7
- package/dist/embed-frame.css +1 -1
- package/dist/embed-frame.js +5 -4
- package/dist/error-page.js +4 -4
- package/dist/fieldset.css +1 -1
- package/dist/fieldset.js +6 -6
- package/dist/figure.js +1 -0
- package/dist/file-upload-field.js +31 -36
- package/dist/file-upload.js +2 -225
- package/dist/fileupload.css +1 -0
- package/dist/filter-bar.css +1 -1
- package/dist/filter-bar.js +22 -17
- package/dist/floating-dock.css +1 -1
- package/dist/floating-dock.js +35 -29
- package/dist/floating-toolbar.css +1 -0
- package/dist/floating-toolbar.js +71 -0
- package/dist/form-field.js +55 -53
- package/dist/form.js +56 -52
- package/dist/heatmap.css +1 -1
- package/dist/heatmap.js +96 -36
- package/dist/hero.js +1 -1
- package/dist/highlight.js +1 -1
- package/dist/imagecropdialog.css +1 -1
- package/dist/input-field.js +2 -100
- package/dist/input-phone-field.js +43 -48
- package/dist/input-phone.js +2 -89
- package/dist/input.css +1 -1
- package/dist/input.js +14 -13
- package/dist/inputphone.css +1 -0
- package/dist/label.css +1 -1
- package/dist/language-switcher.css +1 -1
- package/dist/language-switcher.js +41 -45
- package/dist/legal-footer.js +2 -44
- package/dist/link.css +1 -1
- package/dist/list.js +8 -8
- package/dist/loading-region.css +1 -1
- package/dist/loading-region.js +37 -36
- package/dist/loading-state.css +1 -1
- package/dist/loading-state.js +29 -28
- package/dist/logo.css +1 -1
- package/dist/menu-button.js +2 -28
- package/dist/menu.css +1 -1
- package/dist/menu.js +4 -3
- package/dist/message-bubble.css +1 -1
- package/dist/message-composer.css +1 -1
- package/dist/message-composer.js +32 -29
- package/dist/messages.js +10 -7
- package/dist/modal.css +1 -1
- package/dist/modal.js +2 -61
- package/dist/multi-select-field.js +43 -47
- package/dist/multi-select.js +2 -192
- package/dist/multiselect.css +1 -0
- package/dist/not-found-page.js +9 -6
- package/dist/notification-button.js +2 -32
- package/dist/notification-list.js +33 -31
- package/dist/notification-panel.css +1 -1
- package/dist/notification-panel.js +79 -83
- package/dist/notificationbutton.css +1 -0
- package/dist/number-badge.css +1 -1
- package/dist/number-badge.js +15 -11
- package/dist/number-input-field.js +44 -48
- package/dist/number-input.js +2 -99
- package/dist/numberinput.css +1 -0
- package/dist/onboarding-shell.css +1 -1
- package/dist/onboarding-shell.js +37 -34
- package/dist/org-chart.css +1 -1
- package/dist/org-chart.js +46 -35
- package/dist/org-switcher.css +1 -1
- package/dist/org-switcher.js +28 -23
- package/dist/otp-field.js +44 -47
- package/dist/otp-input.js +2 -115
- package/dist/otpinput.css +1 -0
- package/dist/page-intro.js +1 -1
- package/dist/pagination.css +1 -1
- package/dist/pagination.js +2 -179
- package/dist/paragraph.css +1 -1
- package/dist/paragraph.js +16 -10
- package/dist/password-field.css +1 -1
- package/dist/password-field.js +57 -57
- package/dist/planning-grid.css +1 -1
- package/dist/planning-grid.js +89 -75
- package/dist/popover.css +1 -1
- package/dist/popover.js +9 -15
- package/dist/prev-next-nav.js +2 -83
- package/dist/prevnextnav.css +1 -0
- package/dist/project-card.css +1 -1
- package/dist/project-card.js +41 -32
- package/dist/public-page-shell.js +2 -38
- package/dist/radio-field.js +29 -39
- package/dist/radio.css +1 -1
- package/dist/recurrence-field.css +1 -1
- package/dist/recurrence-field.js +129 -93
- package/dist/search-form.js +2 -61
- package/dist/searchform.css +1 -0
- package/dist/select-field.js +49 -54
- package/dist/select.css +1 -1
- package/dist/select.js +2 -158
- package/dist/sheet.css +1 -1
- package/dist/sheet.js +2 -54
- package/dist/sidebar-nav.css +1 -1
- package/dist/sidebar-nav.js +83 -71
- package/dist/sidebar.css +1 -1
- package/dist/sidebar.js +68 -57
- package/dist/site-footer.js +29 -29
- package/dist/site-header.css +1 -1
- package/dist/site-header.js +44 -46
- package/dist/site-nav.css +1 -1
- package/dist/site-nav.js +25 -31
- package/dist/site-search.css +1 -1
- package/dist/site-search.js +88 -74
- package/dist/site-shell.js +17 -16
- package/dist/skeleton.js +8 -6
- package/dist/skip-link.css +1 -1
- package/dist/slider.css +1 -1
- package/dist/slider.js +2 -34
- package/dist/sortable.js +20 -19
- package/dist/sparkline.js +37 -35
- package/dist/spinner.js +21 -16
- package/dist/star-rating.js +2 -2
- package/dist/stat-tile.js +39 -37
- package/dist/step-marker.css +1 -1
- package/dist/step-marker.js +19 -16
- package/dist/stepper.css +1 -1
- package/dist/stepper.js +25 -16
- package/dist/switcher-field.js +39 -55
- package/dist/switcher.css +1 -1
- package/dist/table-of-contents.css +1 -1
- package/dist/table-of-contents.js +33 -28
- package/dist/table.css +1 -1
- package/dist/table.js +2 -121
- package/dist/tabs.css +1 -1
- package/dist/tag.css +1 -1
- package/dist/tag.js +16 -10
- package/dist/text.css +1 -1
- package/dist/textarea-field.js +41 -45
- package/dist/textarea.css +1 -1
- package/dist/theme-switcher.css +1 -1
- package/dist/theme-switcher.js +64 -57
- package/dist/time-field.js +42 -47
- package/dist/time-select.js +2 -84
- package/dist/timeline.js +14 -11
- package/dist/toaster.css +1 -1
- package/dist/toaster.js +32 -29
- package/dist/toggle.css +1 -1
- package/dist/toggle.js +33 -13
- package/dist/tokens.css +450 -1179
- package/dist/tooltip.css +1 -1
- package/dist/tooltip.js +48 -41
- package/dist/tree-view.css +1 -1
- package/dist/tree-view.js +60 -60
- package/dist/typing-indicator.js +2 -29
- package/dist/typingindicator.css +1 -0
- package/dist/uptime-bars.js +36 -33
- package/dist/user-menu.css +1 -1
- package/dist/user-menu.js +55 -59
- package/dist/visuallyhidden.css +1 -1
- package/package.json +27 -15
- package/src/tokens/colors.ts +6 -6
- package/src/tokens/components/accordion.css +1 -1
- package/src/tokens/components/app-header.css +2 -2
- package/src/tokens/components/async-multi-select.css +4 -0
- package/src/tokens/components/async-select.css +3 -0
- package/src/tokens/components/autocomplete.css +1 -0
- package/src/tokens/components/breadcrumb.css +2 -4
- package/src/tokens/components/button.css +9 -25
- package/src/tokens/components/card.css +3 -3
- package/src/tokens/components/checkbox.css +5 -5
- package/src/tokens/components/collapsible.css +1 -0
- package/src/tokens/components/control.css +0 -4
- package/src/tokens/components/embed-frame.css +8 -0
- package/src/tokens/components/file-upload.css +5 -9
- package/src/tokens/components/floating-dock.css +2 -2
- package/src/tokens/components/floating-panel.css +2 -2
- package/src/tokens/components/input.css +2 -2
- package/src/tokens/components/kbd.css +1 -1
- package/src/tokens/components/label.css +2 -0
- package/src/tokens/components/link.css +20 -6
- package/src/tokens/components/logo.css +1 -1
- package/src/tokens/components/message-bubble.css +2 -2
- package/src/tokens/components/multi-select.css +2 -2
- package/src/tokens/components/number-badge.css +3 -3
- package/src/tokens/components/otp-input.css +1 -1
- package/src/tokens/components/radio.css +2 -0
- package/src/tokens/components/select.css +2 -2
- package/src/tokens/components/sidebar.css +2 -2
- package/src/tokens/components/site-header.css +5 -6
- package/src/tokens/components/slider.css +1 -1
- package/src/tokens/components/spinner.css +3 -3
- package/src/tokens/components/step.css +4 -4
- package/src/tokens/components/switcher.css +3 -3
- package/src/tokens/components/tabs.css +5 -4
- package/src/tokens/components/tag.css +4 -4
- package/src/tokens/components/text-inline.css +3 -1
- package/src/tokens/components/text.css +2 -2
- package/src/tokens/components/textarea.css +2 -2
- package/src/tokens/components/tooltip.css +2 -2
- package/src/tokens/components/typing-indicator.css +1 -1
- package/src/tokens/deprecated-aliases.css +74 -0
- package/src/tokens/global/colors.css +2 -2
- package/src/tokens/global/shadow.css +4 -4
- package/src/tokens/index.css +11 -7
- package/src/tokens/molecules/alert.css +1 -0
- package/src/tokens/molecules/annotation-thread.css +0 -2
- package/src/tokens/molecules/app-launcher.css +1 -1
- package/src/tokens/molecules/async-multi-select-field.css +0 -6
- package/src/tokens/molecules/async-select-field.css +0 -6
- package/src/tokens/molecules/autocomplete-field.css +0 -5
- package/src/tokens/molecules/avatar-upload.css +0 -6
- package/src/tokens/molecules/calendar-planner.css +2 -1
- package/src/tokens/molecules/calendar-roster.css +14 -9
- package/src/tokens/molecules/calendar.css +5 -4
- package/src/tokens/molecules/carousel.css +3 -3
- package/src/tokens/molecules/chart.css +3 -6
- package/src/tokens/molecules/chat-shell.css +2 -2
- package/src/tokens/molecules/checkbox-field.css +0 -6
- package/src/tokens/molecules/color-picker.css +2 -2
- package/src/tokens/molecules/command-palette.css +1 -0
- package/src/tokens/molecules/consent.css +4 -3
- package/src/tokens/molecules/conversation-list.css +1 -0
- package/src/tokens/molecules/conversation-thread.css +10 -0
- package/src/tokens/molecules/date-picker-field.css +0 -6
- package/src/tokens/molecules/date-picker.css +1 -1
- package/src/tokens/molecules/date-time-field.css +0 -6
- package/src/tokens/molecules/docs-search.css +1 -1
- package/src/tokens/molecules/dropdown-field.css +2 -7
- package/src/tokens/molecules/file-upload-field.css +0 -6
- package/src/tokens/molecules/filter-bar.css +1 -1
- package/src/tokens/molecules/floating-toolbar.css +18 -0
- package/src/tokens/molecules/floating-toolbar.ts +4 -0
- package/src/tokens/molecules/heatmap.css +33 -6
- package/src/tokens/molecules/input-field.css +0 -1
- package/src/tokens/molecules/input-phone-field.css +0 -6
- package/src/tokens/molecules/loading-state.css +2 -2
- package/src/tokens/molecules/menu.css +2 -1
- package/src/tokens/molecules/message-composer.css +1 -1
- package/src/tokens/molecules/modal.css +5 -4
- package/src/tokens/molecules/multi-select-field.css +0 -6
- package/src/tokens/molecules/notification-panel.css +2 -2
- package/src/tokens/molecules/number-input-field.css +0 -6
- package/src/tokens/molecules/org-chart.css +4 -4
- package/src/tokens/molecules/otp-field.css +0 -6
- package/src/tokens/molecules/pagination.css +1 -0
- package/src/tokens/molecules/password-field.css +2 -2
- package/src/tokens/molecules/planning-grid.css +7 -7
- package/src/tokens/molecules/radio-field.css +0 -6
- package/src/tokens/molecules/recurrence-field.css +6 -0
- package/src/tokens/molecules/search-form.css +1 -1
- package/src/tokens/molecules/select-field.css +0 -6
- package/src/tokens/molecules/sheet.css +2 -2
- package/src/tokens/molecules/sidebar-nav.css +0 -6
- package/src/tokens/molecules/site-nav.css +3 -1
- package/src/tokens/molecules/site-search.css +4 -6
- package/src/tokens/molecules/switcher-field.css +0 -1
- package/src/tokens/molecules/table-of-contents.css +1 -1
- package/src/tokens/molecules/table.css +3 -2
- package/src/tokens/molecules/textarea-field.css +0 -6
- package/src/tokens/molecules/time-field.css +0 -6
- package/src/tokens/molecules/toast.css +1 -0
- package/src/tokens/scss/_index.legacy.scss +2 -0
- package/src/tokens/scss/_index.scss +2 -0
- package/src/tokens/scss/components/_accordion.scss +4 -1
- package/src/tokens/scss/components/_async-multi-select.scss +7 -0
- package/src/tokens/scss/components/_async-select.scss +3 -0
- package/src/tokens/scss/components/_autocomplete.scss +1 -0
- package/src/tokens/scss/components/_breadcrumb.scss +4 -3
- package/src/tokens/scss/components/_button.scss +7 -25
- package/src/tokens/scss/components/_card.scss +1 -1
- package/src/tokens/scss/components/_checkbox.scss +6 -2
- package/src/tokens/scss/components/_collapsible.scss +1 -0
- package/src/tokens/scss/components/_control.scss +0 -4
- package/src/tokens/scss/components/_embed-frame.scss +9 -0
- package/src/tokens/scss/components/_file-upload.scss +4 -5
- package/src/tokens/scss/components/_floating-dock.scss +6 -2
- package/src/tokens/scss/components/_label.scss +1 -0
- package/src/tokens/scss/components/_link.scss +16 -6
- package/src/tokens/scss/components/_logo.scss +4 -1
- package/src/tokens/scss/components/_number-badge.scss +6 -2
- package/src/tokens/scss/components/_otp-input.scss +4 -1
- package/src/tokens/scss/components/_site-header.scss +1 -2
- package/src/tokens/scss/components/_slider.scss +4 -1
- package/src/tokens/scss/components/_spinner.scss +3 -3
- package/src/tokens/scss/components/_step.scss +6 -2
- package/src/tokens/scss/components/_switcher.scss +5 -2
- package/src/tokens/scss/components/_tabs.scss +7 -2
- package/src/tokens/scss/components/_tag.scss +6 -2
- package/src/tokens/scss/components/_text-inline.scss +2 -1
- package/src/tokens/scss/components/_text.scss +4 -1
- package/src/tokens/scss/components/_typing-indicator.scss +4 -1
- package/src/tokens/scss/global/_colors.scss +6 -2
- package/src/tokens/scss/global/_shadow.scss +4 -4
- package/src/tokens/scss/molecules/_alert.scss +1 -0
- package/src/tokens/scss/molecules/_annotation-thread.scss +0 -2
- package/src/tokens/scss/molecules/_app-launcher.scss +4 -1
- package/src/tokens/scss/molecules/_async-multi-select-field.scss +0 -5
- package/src/tokens/scss/molecules/_async-select-field.scss +0 -5
- package/src/tokens/scss/molecules/_autocomplete-field.scss +0 -5
- package/src/tokens/scss/molecules/_avatar-upload.scss +0 -5
- package/src/tokens/scss/molecules/_calendar-planner.scss +1 -0
- package/src/tokens/scss/molecules/_calendar-roster.scss +4 -0
- package/src/tokens/scss/molecules/_calendar.scss +9 -3
- package/src/tokens/scss/molecules/_carousel.scss +8 -3
- package/src/tokens/scss/molecules/_chart.scss +1 -3
- package/src/tokens/scss/molecules/_checkbox-field.scss +0 -5
- package/src/tokens/scss/molecules/_color-picker.scss +6 -2
- package/src/tokens/scss/molecules/_command-palette.scss +1 -0
- package/src/tokens/scss/molecules/_consent.scss +5 -1
- package/src/tokens/scss/molecules/_conversation-list.scss +1 -0
- package/src/tokens/scss/molecules/_conversation-thread.scss +3 -0
- package/src/tokens/scss/molecules/_date-picker-field.scss +0 -5
- package/src/tokens/scss/molecules/_date-picker.scss +4 -1
- package/src/tokens/scss/molecules/_date-time-field.scss +0 -5
- package/src/tokens/scss/molecules/_docs-search.scss +4 -1
- package/src/tokens/scss/molecules/_dropdown-field.scss +1 -5
- package/src/tokens/scss/molecules/_file-upload-field.scss +0 -5
- package/src/tokens/scss/molecules/_filter-bar.scss +4 -1
- package/src/tokens/scss/molecules/_floating-toolbar.scss +15 -0
- package/src/tokens/scss/molecules/_heatmap.scss +15 -2
- package/src/tokens/scss/molecules/_input-field.scss +0 -1
- package/src/tokens/scss/molecules/_input-phone-field.scss +0 -5
- package/src/tokens/scss/molecules/_loading-state.scss +6 -2
- package/src/tokens/scss/molecules/_menu.scss +2 -1
- package/src/tokens/scss/molecules/_modal.scss +7 -2
- package/src/tokens/scss/molecules/_multi-select-field.scss +0 -5
- package/src/tokens/scss/molecules/_notification-panel.scss +6 -2
- package/src/tokens/scss/molecules/_number-input-field.scss +0 -5
- package/src/tokens/scss/molecules/_org-chart.scss +6 -2
- package/src/tokens/scss/molecules/_otp-field.scss +0 -5
- package/src/tokens/scss/molecules/_pagination.scss +1 -0
- package/src/tokens/scss/molecules/_password-field.scss +4 -1
- package/src/tokens/scss/molecules/_planning-grid.scss +3 -2
- package/src/tokens/scss/molecules/_radio-field.scss +0 -5
- package/src/tokens/scss/molecules/_recurrence-field.scss +6 -0
- package/src/tokens/scss/molecules/_search-form.scss +4 -1
- package/src/tokens/scss/molecules/_select-field.scss +0 -5
- package/src/tokens/scss/molecules/_sheet.scss +6 -2
- package/src/tokens/scss/molecules/_sidebar-nav.scss +0 -4
- package/src/tokens/scss/molecules/_site-nav.scss +2 -1
- package/src/tokens/scss/molecules/_site-search.scss +10 -6
- package/src/tokens/scss/molecules/_switcher-field.scss +0 -1
- package/src/tokens/scss/molecules/_table-of-contents.scss +4 -1
- package/src/tokens/scss/molecules/_table.scss +4 -0
- package/src/tokens/scss/molecules/_textarea-field.scss +0 -5
- package/src/tokens/scss/molecules/_time-field.scss +0 -5
- package/src/tokens/scss/molecules/_toast.scss +1 -0
- package/src/tokens/surface-dark-derived.css +3 -1
- package/src/tokens/surface-invert.css +72 -55
- package/src/tokens/surface-public.css +4 -21
- package/src/tokens/tokens.json +147 -140
- package/CHANGELOG.md +0 -8154
- package/dist/_types/data/home.d.ts +0 -83
- package/dist/_types/pages/Auth/AuthPage.d.ts +0 -24
- package/dist/_types/pages/Onboarding/OnboardingPage.d.ts +0 -37
- package/dist/_types/pages/Status/StatusPage.d.ts +0 -37
- package/dist/_types/pages/Status/_datos.d.ts +0 -47
- package/dist/async-multi-select.css +0 -1
- package/dist/async-select.css +0 -1
- package/dist/file-upload.css +0 -1
- package/dist/input-phone.css +0 -1
- package/dist/multi-select.css +0 -1
- package/dist/notification-button.css +0 -1
- package/dist/number-input.css +0 -1
- package/dist/otp-input.css +0 -1
- package/dist/prev-next-nav.css +0 -1
- package/dist/search-form.css +0 -1
- package/dist/typing-indicator.css +0 -1
- package/src/tokens/surface-light.css +0 -782
- package/src/tokens/utils.test.ts +0 -86
- /package/dist/{close-button.css → closebutton.css} +0 -0
- /package/dist/{connector-request-summary.css → connectorrequestsummary.css} +0 -0
- /package/dist/{dots-button.css → dotsbutton.css} +0 -0
- /package/dist/{input-field.css → inputfield.css} +0 -0
- /package/dist/{legal-footer.css → legalfooter.css} +0 -0
- /package/dist/{menu-button.css → menubutton.css} +0 -0
- /package/dist/{public-page-shell.css → publicpageshell.css} +0 -0
- /package/dist/{time-select.css → timeselect.css} +0 -0
|
@@ -57,14 +57,37 @@ export interface RecurrenceFieldProps {
|
|
|
57
57
|
* texto del catálogo, pásale `recurrenceField.legend`.
|
|
58
58
|
*/
|
|
59
59
|
legend?: ReactNode;
|
|
60
|
+
/**
|
|
61
|
+
* Oculta la leyenda a la vista (sigue nombrando el grupo para el lector de
|
|
62
|
+
* pantalla): la `legendHidden` del `Fieldset`. Por defecto `false`. Sin
|
|
63
|
+
* valor, lo decide quien lo envuelva: dentro de un `FieldRow` que no es la
|
|
64
|
+
* primera de la lista, se oculta sola, como la etiqueta de los demás campos.
|
|
65
|
+
* Sin `legend` no hace nada.
|
|
66
|
+
*/
|
|
67
|
+
labelHidden?: boolean;
|
|
60
68
|
/** Deshabilita el editor entero. */
|
|
61
69
|
disabled?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Texto de ayuda del editor entero, bajo los campos. Describe el grupo
|
|
72
|
+
* (`aria-describedby` en el `fieldset`, o en el `role="group"` sin `legend`).
|
|
73
|
+
*/
|
|
74
|
+
helperText?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Mensaje de error del editor entero (una regla que no cuadra con el
|
|
77
|
+
* evento). Se anuncia (`role="alert"`) y describe el grupo, como la ayuda.
|
|
78
|
+
*/
|
|
79
|
+
errorMessage?: string;
|
|
62
80
|
/** Talla de los campos. Sin ella, la del contexto de formulario. */
|
|
63
81
|
size?: 'sm' | 'md' | 'lg';
|
|
64
82
|
/** Locale de los nombres de los días y del campo de fecha. Default `'es-ES'`. */
|
|
65
83
|
locale?: string;
|
|
66
84
|
/** Por dónde empieza la semana en los días. Default `'monday'`. */
|
|
67
85
|
weekStartsOn?: 'monday' | 'sunday';
|
|
86
|
+
/**
|
|
87
|
+
* El «hoy» del calendario de la fecha de final. Default: la fecha actual.
|
|
88
|
+
* En SSR conviene pasarla (ver `Calendar`).
|
|
89
|
+
*/
|
|
90
|
+
today?: Date;
|
|
68
91
|
/** Tope inferior de la fecha de final. */
|
|
69
92
|
minDate?: Date;
|
|
70
93
|
/** Tope superior de la fecha de final. */
|
|
@@ -90,4 +113,4 @@ export interface RecurrenceFieldProps {
|
|
|
90
113
|
* Es **controlado**, como el resto de campos del sistema: recibe `value` y
|
|
91
114
|
* llama a `onValueChange` con el valor entero. `null` es «no se repite».
|
|
92
115
|
*/
|
|
93
|
-
export declare function RecurrenceField({ value, onValueChange, id: idProp, legend, disabled, size, locale, weekStartsOn, minDate, maxDate, className, frequencyLabel, weekdaysLabel, endLabel, }: RecurrenceFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
116
|
+
export declare function RecurrenceField({ value, onValueChange, id: idProp, legend, labelHidden: labelHiddenProp, disabled, helperText, errorMessage, size, locale, weekStartsOn, minDate, maxDate, today, className, frequencyLabel, weekdaysLabel, endLabel, }: RecurrenceFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import './SelectField.css';
|
|
2
|
+
import { type FieldOptionalProps } from '../_shared/FieldShell';
|
|
2
3
|
import type { SelectOptionOrGroup } from '../../atoms/Select/Select';
|
|
3
|
-
export interface SelectFieldProps {
|
|
4
|
+
export interface SelectFieldProps extends FieldOptionalProps {
|
|
4
5
|
/** `id` del control. Si no se pasa, se genera con `useId`. */
|
|
5
6
|
id?: string;
|
|
6
7
|
label: string;
|
|
@@ -54,6 +54,11 @@ export interface SheetProps extends Omit<React.ComponentPropsWithoutRef<'div'>,
|
|
|
54
54
|
* Sirve para desmontar el panel solo después de que haya salido de pantalla.
|
|
55
55
|
*/
|
|
56
56
|
onAnimationEndCapture?: (event: React.AnimationEvent) => void;
|
|
57
|
+
/**
|
|
58
|
+
* Se añade DESPUÉS de las clases propias (el consumidor añade, no sustituye).
|
|
59
|
+
* **Va al panel; el disparador, si lo hay, es tuyo y ya lleva tus clases**
|
|
60
|
+
* (regla de `className` en componentes con portal, CLAUDE.md § Base UI).
|
|
61
|
+
*/
|
|
57
62
|
className?: string;
|
|
58
63
|
}
|
|
59
64
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
2
|
import './SidebarNav.css';
|
|
3
3
|
export interface SidebarNavItem {
|
|
4
4
|
id: string;
|
|
@@ -51,6 +51,14 @@ export interface SidebarNavProps {
|
|
|
51
51
|
* `sidebarNav.empty`. Solo se lee cuando hay alguna entrada vacía.
|
|
52
52
|
*/
|
|
53
53
|
emptyLabel?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Nombre de una entrada vacía donde no cabe la marca aparte —el tooltip y
|
|
56
|
+
* el nombre accesible del modo rail, el rótulo del menú de un grupo—.
|
|
57
|
+
* Recibe el rótulo de la entrada y la marca de vacío ya resuelta. **Sin
|
|
58
|
+
* default**: sale de `sidebarNav.emptyEntry`. Solo se lee cuando hay alguna
|
|
59
|
+
* entrada vacía en esas formas.
|
|
60
|
+
*/
|
|
61
|
+
emptyEntryLabel?: (label: string, empty: string) => string;
|
|
54
62
|
/** Solo iconos: los enlaces con tooltip, los grupos como menú. Sin él, lo decide la `Sidebar` (rail). */
|
|
55
63
|
rail?: boolean;
|
|
56
64
|
entries: SidebarNavEntry[];
|
|
@@ -58,6 +66,8 @@ export interface SidebarNavProps {
|
|
|
58
66
|
value?: string[];
|
|
59
67
|
onValueChange?: (value: string[]) => void;
|
|
60
68
|
renderLink?: (props: SidebarNavRenderLinkProps) => ReactNode;
|
|
69
|
+
/** Se añade DESPUÉS de las clases propias (el consumidor añade, no sustituye). */
|
|
70
|
+
className?: string;
|
|
61
71
|
}
|
|
62
72
|
/**
|
|
63
73
|
* Los dos textos de la navegación, los dos **cromo**: el nombre de la región
|
|
@@ -70,5 +80,11 @@ export interface SidebarNavMessages {
|
|
|
70
80
|
label: string;
|
|
71
81
|
/** Marca de las entradas sin contenido. */
|
|
72
82
|
empty: string;
|
|
83
|
+
/**
|
|
84
|
+
* Una entrada vacía nombrada en una sola cadena: «Guías — sin docs». Recibe
|
|
85
|
+
* el rótulo de la entrada y la marca de vacío; es función porque el orden y
|
|
86
|
+
* el separador son de cada idioma.
|
|
87
|
+
*/
|
|
88
|
+
emptyEntry: (label: string, empty: string) => string;
|
|
73
89
|
}
|
|
74
|
-
export declare function SidebarNav({ label, emptyLabel, rail, entries, defaultValue, value, onValueChange, renderLink, }: SidebarNavProps): import("react/jsx-runtime").JSX.Element;
|
|
90
|
+
export declare function SidebarNav({ label, emptyLabel, emptyEntryLabel, rail, entries, defaultValue, value, onValueChange, renderLink, className, }: SidebarNavProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -55,7 +55,10 @@ export interface SiteNavProps {
|
|
|
55
55
|
groups: SiteNavGroup[];
|
|
56
56
|
/** Nombre accesible del `nav`. */
|
|
57
57
|
label?: string;
|
|
58
|
-
/**
|
|
58
|
+
/**
|
|
59
|
+
* Enlace del router del producto; por defecto, un `<a>`. Recibe solo
|
|
60
|
+
* atributos de `<a>` y tiene que reenviarlos **todos** (`<Link {...props} />`).
|
|
61
|
+
*/
|
|
59
62
|
renderLink?: (props: SiteNavRenderLinkProps) => ReactNode;
|
|
60
63
|
className?: string;
|
|
61
64
|
}
|
|
@@ -2,6 +2,19 @@ import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
|
|
|
2
2
|
import './StatTile.css';
|
|
3
3
|
export type StatTileDirection = 'up' | 'down' | 'flat';
|
|
4
4
|
export type StatTileTone = 'positive' | 'negative' | 'neutral';
|
|
5
|
+
/**
|
|
6
|
+
* Las tres direcciones del delta, que solo oye un lector de pantalla (la
|
|
7
|
+
* flecha es decorativa). Dicen hacia dónde se movió la cifra, no qué cifra
|
|
8
|
+
* es: valen igual en cualquier panel.
|
|
9
|
+
*/
|
|
10
|
+
export interface StatTileMessages {
|
|
11
|
+
/** La cifra ha subido. */
|
|
12
|
+
up: string;
|
|
13
|
+
/** La cifra ha bajado. */
|
|
14
|
+
down: string;
|
|
15
|
+
/** La cifra no se ha movido. */
|
|
16
|
+
flat: string;
|
|
17
|
+
}
|
|
5
18
|
export interface StatTileDelta {
|
|
6
19
|
/** La variación, ya formateada: «+12 %», «−3», «igual». */
|
|
7
20
|
value: ReactNode;
|
|
@@ -14,7 +27,8 @@ export interface StatTileDelta {
|
|
|
14
27
|
tone?: StatTileTone;
|
|
15
28
|
/**
|
|
16
29
|
* Cómo se lee la dirección para un lector de pantalla, que no ve la flecha.
|
|
17
|
-
*
|
|
30
|
+
* **Sin default**: sin él, sale de `statTile.up`, `statTile.down` o
|
|
31
|
+
* `statTile.flat` del `BrandMessagesProvider`, según `direction`.
|
|
18
32
|
*/
|
|
19
33
|
label?: string;
|
|
20
34
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
2
|
import './Table.css';
|
|
3
3
|
/**
|
|
4
4
|
* Los textos que la tabla emite por su cuenta: el cromo de la cabecera —el
|
|
@@ -73,7 +73,12 @@ export interface TableRowProps extends Omit<React.HTMLAttributes<HTMLTableRowEle
|
|
|
73
73
|
onClick?: () => void;
|
|
74
74
|
/** Alternativa explícita a onClick para control manual */
|
|
75
75
|
interactive?: boolean;
|
|
76
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* Marca la fila como seleccionada: **solo visual** (`table__row--selected`,
|
|
78
|
+
* tinta y peso, sin fondo). No emite `aria-selected`, que fuera de un
|
|
79
|
+
* `role="grid"` no es válido en una fila: el estado lo anuncia el control
|
|
80
|
+
* de la fila —normalmente una casilla, como en `DataTable`—.
|
|
81
|
+
*/
|
|
77
82
|
selected?: boolean;
|
|
78
83
|
/**
|
|
79
84
|
* Nombre accesible de la fila. Por defecto el rol `row` toma su nombre del
|
|
@@ -20,6 +20,8 @@ export interface TableOfContentsProps extends Omit<React.ComponentPropsWithoutRe
|
|
|
20
20
|
* Nombre accesible del `nav`. **Sin default**: sin él, sale de
|
|
21
21
|
* `tableOfContents.label` del `BrandMessagesProvider`.
|
|
22
22
|
*/
|
|
23
|
+
'aria-label'?: string;
|
|
24
|
+
/** @deprecated Usa `aria-label`. Sigue funcionando y avisa en desarrollo; se retira en la v52. */
|
|
23
25
|
ariaLabel?: string;
|
|
24
26
|
/** Rótulo visible sobre la lista. Sin él, no se pinta ninguno. */
|
|
25
27
|
title?: string;
|
|
@@ -44,7 +46,7 @@ export interface TableOfContentsProps extends Omit<React.ComponentPropsWithoutRe
|
|
|
44
46
|
* sigue al hash y para uno estático.
|
|
45
47
|
*
|
|
46
48
|
* `{...rest}` (`id`, `data-*`, `role`…) se reenvía al `<nav>`. El nombre
|
|
47
|
-
* accesible
|
|
49
|
+
* accesible es `aria-label`.
|
|
48
50
|
*/
|
|
49
51
|
/**
|
|
50
52
|
* El único texto que el índice dice por su cuenta, y es **cromo**: «En esta
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef } from 'react';
|
|
2
2
|
import './TextareaField.css';
|
|
3
|
-
|
|
3
|
+
import { type FieldOptionalProps } from '../_shared/FieldShell';
|
|
4
|
+
export interface TextareaFieldProps extends Omit<ComponentPropsWithoutRef<'textarea'>, 'value' | 'defaultValue' | 'rows'>, FieldOptionalProps {
|
|
4
5
|
id: string;
|
|
5
6
|
label: string;
|
|
6
7
|
/**
|
|
@@ -1,19 +1,54 @@
|
|
|
1
1
|
import './ThemeSwitcher.css';
|
|
2
2
|
export type Theme = 'light' | 'dark' | 'system';
|
|
3
|
+
/**
|
|
4
|
+
* El cromo del selector de tema: el nombre del control, los tres temas y la
|
|
5
|
+
* frase que nombra el botón de icono con el tema vigente. Todo es igual en
|
|
6
|
+
* cualquier pantalla de la suite, así que va al catálogo una sola vez.
|
|
7
|
+
*/
|
|
8
|
+
export interface ThemeSwitcherMessages {
|
|
9
|
+
/** Nombre del control: la etiqueta del compacto y el nombre del grupo en lista. */
|
|
10
|
+
group: string;
|
|
11
|
+
/** El tema claro. */
|
|
12
|
+
light: string;
|
|
13
|
+
/** El tema oscuro. */
|
|
14
|
+
dark: string;
|
|
15
|
+
/** El tema que sigue al sistema operativo. */
|
|
16
|
+
system: string;
|
|
17
|
+
/**
|
|
18
|
+
* Nombre accesible del botón de la variante `icon`, que solo enseña el
|
|
19
|
+
* icono del tema vigente: «Tema: Claro». Recibe el nombre del control y el
|
|
20
|
+
* del tema vigente, ya resueltos, y es función porque el orden y la
|
|
21
|
+
* puntuación de la frase son de cada idioma.
|
|
22
|
+
*/
|
|
23
|
+
trigger: (group: string, theme: string) => string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Anulaciones puntuales del catálogo, clave a clave. Las que no se pasen
|
|
27
|
+
* salen de `themeSwitcher.*` del `BrandMessagesProvider`.
|
|
28
|
+
*/
|
|
3
29
|
export interface ThemeSwitcherLabels {
|
|
4
|
-
/**
|
|
30
|
+
/** Anulación puntual de `themeSwitcher.group`. */
|
|
5
31
|
group?: string;
|
|
32
|
+
/** Anulación puntual de `themeSwitcher.light`. */
|
|
6
33
|
light?: string;
|
|
34
|
+
/** Anulación puntual de `themeSwitcher.dark`. */
|
|
7
35
|
dark?: string;
|
|
36
|
+
/** Anulación puntual de `themeSwitcher.system`. */
|
|
8
37
|
system?: string;
|
|
38
|
+
/** Anulación puntual de `themeSwitcher.trigger`. */
|
|
39
|
+
trigger?: (group: string, theme: string) => string;
|
|
9
40
|
}
|
|
10
41
|
export interface ThemeSwitcherProps {
|
|
11
42
|
/** Tema elegido. `system` sigue la preferencia del sistema operativo. */
|
|
12
43
|
value: Theme;
|
|
13
44
|
/** Cambio de tema. Aplicarlo (clase en `html`) y persistirlo es del producto. */
|
|
14
45
|
onChange?: (theme: Theme) => void;
|
|
46
|
+
/**
|
|
47
|
+
* Textos del control, clave a clave. **Sin defaults**: los que no se pasen
|
|
48
|
+
* salen de `themeSwitcher.*` del `BrandMessagesProvider`.
|
|
49
|
+
*/
|
|
15
50
|
labels?: ThemeSwitcherLabels;
|
|
16
|
-
/** `id` del control en compacto (enlaza la etiqueta). */
|
|
51
|
+
/** `id` del control en compacto (enlaza la etiqueta). Por defecto, uno único por instancia (`useId`). */
|
|
17
52
|
id?: string;
|
|
18
53
|
/**
|
|
19
54
|
* `compact`: un `DropdownField` (etiqueta + control rectangular) con el icono y el nombre del tema actual — el del panel.
|
|
@@ -39,4 +74,4 @@ export interface ThemeSwitcherProps {
|
|
|
39
74
|
* opciones exclusivas; en lista, las opciones desplegadas para el pie. Aplicar el tema y
|
|
40
75
|
* recordarlo es del producto; el componente solo muestra y elige.
|
|
41
76
|
*/
|
|
42
|
-
export declare function ThemeSwitcher({ value, onChange, labels, id, variant, layout, size, className }: ThemeSwitcherProps): import("react/jsx-runtime").JSX.Element;
|
|
77
|
+
export declare function ThemeSwitcher({ value, onChange, labels, id: idProp, variant, layout, size, className }: ThemeSwitcherProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { type FieldOptionalProps } from '../_shared/FieldShell';
|
|
1
2
|
import type { TimeValue } from '../../atoms/TimeSelect/TimeSelect';
|
|
2
3
|
import './TimeField.css';
|
|
3
|
-
export interface TimeFieldProps {
|
|
4
|
+
export interface TimeFieldProps extends FieldOptionalProps {
|
|
4
5
|
/** `id` del control. Si no se pasa, se genera con `useId`. */
|
|
5
6
|
id?: string;
|
|
6
7
|
label: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
|
|
2
|
-
import { type StepMarkerTone } from '../../atoms/StepMarker/StepMarker';
|
|
2
|
+
import { type StepMarkerTone, type StepMarkerToneDeprecated } from '../../atoms/StepMarker/StepMarker';
|
|
3
3
|
import type { IconName } from '../../atoms/Icon/Icon';
|
|
4
4
|
import './Timeline.css';
|
|
5
5
|
/**
|
|
@@ -14,8 +14,11 @@ export interface TimelineMessages {
|
|
|
14
14
|
/** Lo que se lee tras el título del hito vigente: «estado actual». */
|
|
15
15
|
current: string;
|
|
16
16
|
}
|
|
17
|
-
/**
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* El tono de la marca: los mismos ocho que `StepMarker`, sin traducción. Admite
|
|
19
|
+
* todavía el obsoleto `danger` (hoy `error`), que la marca traduce y avisa.
|
|
20
|
+
*/
|
|
21
|
+
export type TimelineTone = StepMarkerTone | StepMarkerToneDeprecated;
|
|
19
22
|
/** Un hito del historial: un cambio de estado, con su fecha y quien lo firmó. */
|
|
20
23
|
export interface TimelineItem {
|
|
21
24
|
id: string;
|
|
@@ -47,6 +47,14 @@ export interface ToasterProps {
|
|
|
47
47
|
* Punto de montaje de los avisos efímeros. Se monta **una vez** en la raíz de la
|
|
48
48
|
* aplicación; los avisos se lanzan desde cualquier sitio con `toast(...)`.
|
|
49
49
|
*
|
|
50
|
+
* **Solo puede haber un `Toaster` montado a la vez.** La cola (`toastManager`)
|
|
51
|
+
* es un único objeto de módulo y el `Toaster` no la aísla: dos montados pintan
|
|
52
|
+
* cada aviso dos veces, el último que monta impone su `duration` a todos
|
|
53
|
+
* (`setToastDefaultDuration` escribe una variable global, la que usa un aviso
|
|
54
|
+
* actualizado por `id`) y los dos sincronizan la misma lista de avisos vivos de
|
|
55
|
+
* `toast.dismiss()`. Para otra posición u otra duración se cambian las props de
|
|
56
|
+
* ese único `Toaster` o se pasa `duration` al aviso.
|
|
57
|
+
*
|
|
50
58
|
* La cara del aviso es la del `Alert` —mismo relleno, mismo borde, misma
|
|
51
59
|
* tipografía y las mismas cuatro intenciones, sobre el juego de tokens
|
|
52
60
|
* `alert.*`—; lo propio del toast es la capa, la posición, el apilado y el
|
|
@@ -30,5 +30,12 @@ export interface UserMenuProps {
|
|
|
30
30
|
renderLink?: (props: MenuRenderLinkProps) => ReactNode;
|
|
31
31
|
onOpenChange?: (open: boolean) => void;
|
|
32
32
|
defaultOpen?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Se añade DESPUÉS de las clases propias (el consumidor añade, no sustituye).
|
|
35
|
+
* **Va al disparador, que pinta el componente**: el panel sale por un
|
|
36
|
+
* portal y se personaliza con tokens (regla de `className` en componentes
|
|
37
|
+
* con portal, CLAUDE.md § Base UI).
|
|
38
|
+
*/
|
|
39
|
+
className?: string;
|
|
33
40
|
}
|
|
34
|
-
export declare function UserMenu({ name, email, avatarUrl, notificationCount, items, label, compact, renderLink, onOpenChange, defaultOpen, }: UserMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export declare function UserMenu({ name, email, avatarUrl, notificationCount, items, label, compact, renderLink, onOpenChange, defaultOpen, className, }: UserMenuProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
import type { FormSize } from '../../constants/form-size';
|
|
3
|
+
/**
|
|
4
|
+
* El espacio `field` del catálogo: los textos que pinta el armazón común de
|
|
5
|
+
* los campos. Como todo el catálogo, opcional en `BrandMessages`: sin él
|
|
6
|
+
* la marca cae al castellano «(opcional)».
|
|
7
|
+
*/
|
|
8
|
+
export interface FieldMessages {
|
|
9
|
+
/** La marca tras la etiqueta de un campo `optional`. Castellano: «(opcional)». */
|
|
10
|
+
optional: string;
|
|
11
|
+
/**
|
|
12
|
+
* La descripción oculta que anuncia un campo obligatorio cuyo disparador es
|
|
13
|
+
* un botón, que no admite `aria-required` (D73): `ColorPickerField` y
|
|
14
|
+
* `DropdownField`. Castellano: «obligatorio».
|
|
15
|
+
*/
|
|
16
|
+
required: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* La marca de campo opcional (D70), común a todos los `*Field`. Se marca lo
|
|
20
|
+
* **opcional**, no lo obligatorio: en un formulario donde casi todo es
|
|
21
|
+
* obligatorio, lo que hay que señalar es la excepción. Es explícita —un campo
|
|
22
|
+
* sin `required` no la lleva sola—, porque un campo suelto (un buscador, un
|
|
23
|
+
* filtro) no es «opcional» de ningún formulario.
|
|
24
|
+
*/
|
|
25
|
+
export interface FieldOptionalProps {
|
|
26
|
+
/**
|
|
27
|
+
* Pinta « (opcional)» tras la etiqueta, en la tinta apagada de la etiqueta.
|
|
28
|
+
* Va dentro del `<label>`, así que el lector de pantalla la lee como parte
|
|
29
|
+
* del nombre del campo. No se combina con `required`. Sin valor, lo decide
|
|
30
|
+
* el `Form` que lo envuelva: con `markOptional`, todo campo sin `required`
|
|
31
|
+
* la lleva (D74); `optional={false}` la apaga en un campo concreto. Sin
|
|
32
|
+
* `Form markOptional`, por defecto `false`.
|
|
33
|
+
*/
|
|
34
|
+
optional?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Texto de la marca de opcional. **Sin default en la prop**: sin ella, sale
|
|
37
|
+
* de `field.optional` del `BrandMessagesProvider` y, si el catálogo no la
|
|
38
|
+
* trae, del castellano «(opcional)».
|
|
39
|
+
*/
|
|
40
|
+
optionalLabel?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Lo obligatorio de un campo cuyo disparador es un botón (D73). ARIA 1.2 no
|
|
44
|
+
* admite `aria-required` ni en `role="button"` ni en `role="group"`, así que
|
|
45
|
+
* lo obligatorio va en la **descripción** del disparador: un texto oculto
|
|
46
|
+
* («obligatorio») enlazado por su `aria-describedby`, detrás de la ayuda y el
|
|
47
|
+
* error. El `<form>` lo sigue validando el campo oculto con `required`.
|
|
48
|
+
*/
|
|
49
|
+
export interface FieldRequiredProps {
|
|
50
|
+
/**
|
|
51
|
+
* Texto que anuncia lo obligatorio. **Sin default en la prop**: sin ella,
|
|
52
|
+
* sale de `field.required` del `BrandMessagesProvider` y, si el catálogo no
|
|
53
|
+
* la trae, del castellano «obligatorio». Solo se lee con `required`.
|
|
54
|
+
*/
|
|
55
|
+
requiredLabel?: string;
|
|
56
|
+
}
|
|
57
|
+
/** El `id` del texto oculto de obligatorio de un control. */
|
|
58
|
+
export declare function requiredTextId(controlId: string): string;
|
|
59
|
+
/**
|
|
60
|
+
* El texto oculto «obligatorio» al que apunta el `aria-describedby` del
|
|
61
|
+
* disparador (ver `FieldRequiredProps`). Se pinta solo con `required`.
|
|
62
|
+
*/
|
|
63
|
+
export declare function FieldRequiredText({ id, label }: {
|
|
64
|
+
id: string;
|
|
65
|
+
label?: string;
|
|
66
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
67
|
+
/** Une ids para un `aria-*` de referencias; sin ninguno, `undefined` (no un atributo vacío). */
|
|
68
|
+
export declare function joinIds(...ids: Array<string | false | null | undefined>): string | undefined;
|
|
69
|
+
export interface FieldShellOptions {
|
|
70
|
+
/** `id` del control. Sin él, uno de `useId`. */
|
|
71
|
+
id?: string;
|
|
72
|
+
/** Error sin mensaje. Un `errorMessage` ya lo implica. */
|
|
73
|
+
error?: boolean;
|
|
74
|
+
errorMessage?: string;
|
|
75
|
+
helperText?: string;
|
|
76
|
+
/** `aria-describedby` que trae el consumidor: se suma detrás de los propios. */
|
|
77
|
+
describedBy?: string;
|
|
78
|
+
}
|
|
79
|
+
export interface FieldShellState {
|
|
80
|
+
/** `id` del control (el del consumidor o uno generado). */
|
|
81
|
+
id: string;
|
|
82
|
+
/** `id` de la etiqueta, para los controles que se nombran por `aria-labelledby`. */
|
|
83
|
+
labelId: string;
|
|
84
|
+
errorId?: string;
|
|
85
|
+
helperId?: string;
|
|
86
|
+
/** Lo que va en el `aria-describedby` del control. */
|
|
87
|
+
describedBy?: string;
|
|
88
|
+
/** Error con o sin mensaje: lo que pone el control en error. */
|
|
89
|
+
hasError: boolean;
|
|
90
|
+
errorMessage?: string;
|
|
91
|
+
helperText?: string;
|
|
92
|
+
}
|
|
93
|
+
export declare function useFieldShell({ id: idProp, error, errorMessage, helperText, describedBy }: FieldShellOptions): FieldShellState;
|
|
94
|
+
export interface FieldShellProps {
|
|
95
|
+
/** El estado de `useFieldShell`. */
|
|
96
|
+
field: FieldShellState;
|
|
97
|
+
/** Bloque BEM del campo (`input-field`): clase raíz y prefijo de `__helper`/`__label`/`__control`. */
|
|
98
|
+
block: string;
|
|
99
|
+
/** Clases de modificador ya formadas (`checkbox-field--sm`); los falsos se descartan. */
|
|
100
|
+
modifiers?: Array<string | false | null | undefined>;
|
|
101
|
+
/** Se añade DESPUÉS de las clases propias. */
|
|
102
|
+
className?: string;
|
|
103
|
+
/** Talla de la etiqueta (`stack`). */
|
|
104
|
+
size?: FormSize;
|
|
105
|
+
/** Texto de la etiqueta. Sin él no se pinta etiqueta (el control se nombra por otra vía). */
|
|
106
|
+
label?: ReactNode;
|
|
107
|
+
/** Marca de campo opcional tras la etiqueta (ver `FieldOptionalProps`). */
|
|
108
|
+
optional?: boolean;
|
|
109
|
+
/** Texto de la marca; sin él, `field.optional` del catálogo o «(opcional)». */
|
|
110
|
+
optionalLabel?: string;
|
|
111
|
+
/** Etiqueta oculta a la vista, presente para el lector de pantalla. */
|
|
112
|
+
labelHidden?: boolean;
|
|
113
|
+
/**
|
|
114
|
+
* - `stack` (por defecto): `Label` encima del control.
|
|
115
|
+
* - `inline`: un `<label>` (`__control`) envuelve el control y, a su derecha,
|
|
116
|
+
* el texto (`__label`): casilla, radio, interruptor.
|
|
117
|
+
*/
|
|
118
|
+
layout?: 'stack' | 'inline';
|
|
119
|
+
/** A qué apunta el `htmlFor` de la etiqueta. Default: `field.id`. */
|
|
120
|
+
labelFor?: string;
|
|
121
|
+
/** La etiqueta lleva `id` (`field.labelId`) para que la apunte un `aria-labelledby`. */
|
|
122
|
+
labelIdentified?: boolean;
|
|
123
|
+
/** Atributos del contenedor (el `role="group"` de un editor compuesto). */
|
|
124
|
+
rootProps?: HTMLAttributes<HTMLDivElement>;
|
|
125
|
+
/** El control (y lo que vaya pegado a él). */
|
|
126
|
+
children: ReactNode;
|
|
127
|
+
/** Lo que va tras la ayuda: la acción de `PasswordField`. */
|
|
128
|
+
footer?: ReactNode;
|
|
129
|
+
}
|
|
130
|
+
export declare function FieldShell({ field, block, modifiers, className, size, label, optional, optionalLabel, labelHidden, layout, labelFor, labelIdentified, rootProps, children, footer, }: FieldShellProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -93,6 +93,15 @@ export interface CalendarMonthNavOptions {
|
|
|
93
93
|
* sin mover el foco.
|
|
94
94
|
*/
|
|
95
95
|
export declare function renderCalendarMonthNav({ block, title, titleId, navigable, previousLabel, nextLabel, prevDisabled, nextDisabled, onPrev, onNext, chevronSize, onTitleClick, titleExpanded, titleRef, children, }: CalendarMonthNavOptions): import("react/jsx-runtime").JSX.Element;
|
|
96
|
+
/**
|
|
97
|
+
* El «hoy» de un calendario: el que pasa el consumidor o, sin él, la fecha
|
|
98
|
+
* actual **calculada una vez por montaje** —no en cada render—. En SSR el
|
|
99
|
+
* servidor y el navegador calculan cada uno el suyo, y alrededor de la
|
|
100
|
+
* medianoche (o con husos distintos) no coinciden: React avisa de un
|
|
101
|
+
* desajuste de hidratación. Para evitarlo, la app pasa `today` desde el
|
|
102
|
+
* servidor a los dos lados.
|
|
103
|
+
*/
|
|
104
|
+
export declare function useToday(today?: Date): Date;
|
|
96
105
|
export interface UseCalendarGridNavigationOptions {
|
|
97
106
|
/** Mes visible */
|
|
98
107
|
month: Date;
|
|
@@ -100,6 +109,8 @@ export interface UseCalendarGridNavigationOptions {
|
|
|
100
109
|
onMonthChange: (month: Date) => void;
|
|
101
110
|
/** Fecha seleccionada, si la hay: es la primera candidata a llevar el tabindex */
|
|
102
111
|
selected?: Date | null;
|
|
112
|
+
/** El «hoy» del calendario (`useToday`): segundo candidato al tabindex. */
|
|
113
|
+
today: Date;
|
|
103
114
|
/**
|
|
104
115
|
* Activación de la celda enfocada con Enter/Espacio. Solo para rejillas cuya
|
|
105
116
|
* celda no es un `<button>` (que ya lo resuelve el navegador).
|
|
@@ -126,12 +137,14 @@ export interface CalendarGridNavigation {
|
|
|
126
137
|
* moverse de día, Inicio/Fin dentro de la semana, RePág/AvPág de mes y con
|
|
127
138
|
* Mayús de año.
|
|
128
139
|
*/
|
|
129
|
-
export declare function useCalendarGridNavigation({ month, onMonthChange, selected, onActivate, minDate, maxDate, }: UseCalendarGridNavigationOptions): CalendarGridNavigation;
|
|
140
|
+
export declare function useCalendarGridNavigation({ month, onMonthChange, selected, today, onActivate, minDate, maxDate, }: UseCalendarGridNavigationOptions): CalendarGridNavigation;
|
|
130
141
|
export interface UseCalendarWeekNavigationOptions {
|
|
131
142
|
/** Lunes de la semana visible */
|
|
132
143
|
weekStart: Date;
|
|
133
144
|
/** Se llama cuando el teclado saca el foco fuera de la semana visible */
|
|
134
145
|
onWeekChange: (weekStart: Date) => void;
|
|
146
|
+
/** El «hoy» del calendario (`useToday`): candidato al tabindex de la semana. */
|
|
147
|
+
today: Date;
|
|
135
148
|
/** Activación de la columna enfocada con Enter/Espacio */
|
|
136
149
|
onActivate?: (date: Date) => void;
|
|
137
150
|
minDate?: Date;
|
|
@@ -147,4 +160,4 @@ export interface UseCalendarWeekNavigationOptions {
|
|
|
147
160
|
* fila de celdas, así que arriba y abajo no llevan a ninguna otra parte y se
|
|
148
161
|
* quedan recorriendo los días, como ↑/↓ en una lista.
|
|
149
162
|
*/
|
|
150
|
-
export declare function useCalendarWeekNavigation({ weekStart, onWeekChange, onActivate, minDate, maxDate, }: UseCalendarWeekNavigationOptions): CalendarGridNavigation;
|
|
163
|
+
export declare function useCalendarWeekNavigation({ weekStart, onWeekChange, today, onActivate, minDate, maxDate, }: UseCalendarWeekNavigationOptions): CalendarGridNavigation;
|
|
@@ -19,7 +19,12 @@ export interface DialogHeaderProps {
|
|
|
19
19
|
className: string;
|
|
20
20
|
children: ReactNode;
|
|
21
21
|
}
|
|
22
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Cabecera del diálogo, en una de sus dos colocaciones. Es un `<div>`, no un
|
|
24
|
+
* `<header>`: el diálogo sale por un portal al `<body>`, fuera de cualquier
|
|
25
|
+
* `<main>`/`<section>`, y ahí un `<header>` es un `banner` — el segundo de la
|
|
26
|
+
* página, junto al de la aplicación. El diálogo ya se nombra por su título.
|
|
27
|
+
*/
|
|
23
28
|
export declare function DialogHeader({ layout, noTitle, className, children }: DialogHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
24
29
|
/**
|
|
25
30
|
* Pie de acciones. Fila a la derecha; por debajo del punto de ruptura, botones
|
|
@@ -68,8 +68,6 @@ export type MenuRenderLinkProps = React.AnchorHTMLAttributes<HTMLAnchorElement>
|
|
|
68
68
|
children: ReactNode;
|
|
69
69
|
className: string;
|
|
70
70
|
};
|
|
71
|
-
/** Reenvía TODO lo que inyecta Base UI: un renderLink que solo copie href/className rompe el menú. */
|
|
72
|
-
export declare function defaultRenderLink({ children, ...props }: MenuRenderLinkProps): import("react/jsx-runtime").JSX.Element;
|
|
73
71
|
interface RenderDropdownItemsOptions {
|
|
74
72
|
items: MenuItem[];
|
|
75
73
|
itemClass: (destructive?: boolean) => string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface RequiredInputProps {
|
|
2
|
+
name?: string;
|
|
3
|
+
value: string;
|
|
4
|
+
required?: boolean;
|
|
5
|
+
/** El control al que se devuelve el foco cuando el navegador lo pide para avisar. */
|
|
6
|
+
focusTarget?: () => HTMLElement | null | undefined;
|
|
7
|
+
}
|
|
8
|
+
export declare function RequiredInput({ name, value, required, focusTarget }: RequiredInputProps): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -68,8 +68,9 @@ export interface AnnotationThreadProps extends React.ComponentPropsWithoutRef<'a
|
|
|
68
68
|
replies?: AnnotationEntry[];
|
|
69
69
|
/**
|
|
70
70
|
* Estado del hilo, en orden de flujo. `open` pide atención; `acknowledged`
|
|
71
|
-
* es el hilo que alguien ya ha mirado
|
|
72
|
-
*
|
|
71
|
+
* es el hilo que alguien ya ha mirado, sin cerrarse; `resolved` está
|
|
72
|
+
* cerrado. Lo dice la etiqueta de estado que abre el hilo: el hilo se lee
|
|
73
|
+
* a contraste pleno en los tres.
|
|
73
74
|
*/
|
|
74
75
|
status?: AnnotationThreadStatus;
|
|
75
76
|
/**
|
|
@@ -55,7 +55,7 @@ export interface DataTableServerPagination {
|
|
|
55
55
|
/** Etiquetas accesibles que la tabla reenvía a sus cabeceras ordenables. */
|
|
56
56
|
export type DataTableHeaderLabels = Pick<TableHeaderProps, 'actionsLabel' | 'sortedAscLabel' | 'sortedDescLabel' | 'sortableLabel'>;
|
|
57
57
|
/** Etiquetas accesibles que la tabla reenvía a su paginación. */
|
|
58
|
-
export type DataTablePaginationLabels = Pick<PaginationProps, 'ariaLabel' | 'pageLabel' | 'previousLabel' | 'nextLabel' | 'pagesGroupLabel' | 'pageSizeLabel' | 'totalLabel' | 'pageSizeOptions'>;
|
|
58
|
+
export type DataTablePaginationLabels = Pick<PaginationProps, 'aria-label' | 'ariaLabel' | 'pageLabel' | 'previousLabel' | 'nextLabel' | 'pagesGroupLabel' | 'pageSizeLabel' | 'totalLabel' | 'pageSizeOptions'>;
|
|
59
59
|
export interface DataTableProps<TData, TValue> {
|
|
60
60
|
columns: ColumnDef<TData, TValue>[];
|
|
61
61
|
data: TData[];
|
|
@@ -21,6 +21,11 @@ export interface PlanningGridMessages {
|
|
|
21
21
|
remaining: string;
|
|
22
22
|
/** Lo que se lee tras un resto negativo: hay más horas asignadas que disponibles. */
|
|
23
23
|
over: string;
|
|
24
|
+
/**
|
|
25
|
+
* Lo que anuncia la marca de guardado de un cruce en vuelo («Guardando…»).
|
|
26
|
+
* **Opcional**: un catálogo sin ella compila, y la rejilla cae al castellano.
|
|
27
|
+
*/
|
|
28
|
+
saving?: string;
|
|
24
29
|
}
|
|
25
30
|
/** Una fila: un proyecto, una persona. Lo que se planifica. */
|
|
26
31
|
export interface PlanningGridRow {
|
|
@@ -56,7 +61,7 @@ export interface PlanningGridCell {
|
|
|
56
61
|
value: number | null;
|
|
57
62
|
/** Este cruce en concreto no se edita. */
|
|
58
63
|
readOnly?: boolean;
|
|
59
|
-
/** El cambio está en vuelo: la celda
|
|
64
|
+
/** El cambio está en vuelo: la cifra sigue a contraste pleno y la celda lleva una marca de guardado (un `Spinner` pequeño). */
|
|
60
65
|
pending?: boolean;
|
|
61
66
|
/** Lo que falló al guardar este cruce. Pone el campo en error y se anuncia. */
|
|
62
67
|
error?: string;
|
|
@@ -103,6 +108,12 @@ export interface PlanningGridProps extends Omit<ComponentPropsWithoutRef<'div'>,
|
|
|
103
108
|
label?: string;
|
|
104
109
|
/** Nombre accesible del campo de un cruce. Sin él, sale de `planningGrid.cellLabel`. */
|
|
105
110
|
cellLabel?: (row: string, column: string) => string;
|
|
111
|
+
/**
|
|
112
|
+
* Lo que anuncia la marca de guardado de un cruce en vuelo. Sin ella, sale
|
|
113
|
+
* de `planningGrid.saving` del catálogo y, si el catálogo no la trae, del
|
|
114
|
+
* default castellano «Guardando…». Solo se lee cuando hay un cruce en vuelo.
|
|
115
|
+
*/
|
|
116
|
+
savingLabel?: string;
|
|
106
117
|
}
|
|
107
118
|
/**
|
|
108
119
|
* La rejilla editable de horas: fila × columna —persona por semana, proyecto
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
import { type HeadingLevel, type HeadingSize } from '../../atoms/Heading/Heading';
|
|
3
3
|
import { type IconName } from '../../atoms/Icon/Icon';
|
|
4
|
-
import { type StepMarkerTone } from '../../atoms/StepMarker/StepMarker';
|
|
4
|
+
import { type StepMarkerTone, type StepMarkerToneDeprecated } from '../../atoms/StepMarker/StepMarker';
|
|
5
5
|
import './Steps.css';
|
|
6
6
|
export interface StepItem {
|
|
7
7
|
/** Clave de React. Sin ella se usa la posición. */
|
|
@@ -23,9 +23,9 @@ export interface StepsProps {
|
|
|
23
23
|
/** Uno debajo de otro (por defecto) o en fila. */
|
|
24
24
|
orientation?: 'vertical' | 'horizontal';
|
|
25
25
|
/** Color de la marca. Por defecto `primary`. */
|
|
26
|
-
tone?: StepMarkerTone;
|
|
26
|
+
tone?: StepMarkerTone | StepMarkerToneDeprecated;
|
|
27
27
|
/** @deprecated Usar `tone`. Se mantiene como alias por compatibilidad. */
|
|
28
|
-
badgeVariant?: StepMarkerTone;
|
|
28
|
+
badgeVariant?: StepMarkerTone | StepMarkerToneDeprecated;
|
|
29
29
|
/** Nivel semántico del título de cada paso. Por defecto `3`. */
|
|
30
30
|
titleLevel?: HeadingLevel;
|
|
31
31
|
/** Talla del título de cada paso. Por defecto `1` (14px, la de la etiqueta de `Stepper`). */
|
|
@@ -57,6 +57,8 @@ export interface AppHeaderProps {
|
|
|
57
57
|
menuCloseLabel?: string;
|
|
58
58
|
/** id de la sidebar que gobierna el botón (`aria-controls`). */
|
|
59
59
|
sidebarId?: string;
|
|
60
|
+
/** Se añade DESPUÉS de las clases propias (el consumidor añade, no sustituye). */
|
|
61
|
+
className?: string;
|
|
60
62
|
}
|
|
61
63
|
/**
|
|
62
64
|
* La barra superior de la aplicación, en todos los anchos. A la izquierda el
|
|
@@ -64,4 +66,4 @@ export interface AppHeaderProps {
|
|
|
64
66
|
* escritorio; a la derecha, notificaciones y cuenta. Entre medias, lo que la
|
|
65
67
|
* página necesite. Con `logo`, la marca del producto va justo tras el botón.
|
|
66
68
|
*/
|
|
67
|
-
export declare function AppHeader({ logo, logoHref, logoLabel, renderLogoLink, start, notifications, end, menuLabel, menuCloseLabel, sidebarId, }: AppHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
69
|
+
export declare function AppHeader({ logo, logoHref, logoLabel, renderLogoLink, start, notifications, end, menuLabel, menuCloseLabel, sidebarId, className, }: AppHeaderProps): import("react/jsx-runtime").JSX.Element;
|