@12-apps/ui 6.6.0 → 6.8.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/dist/{chunk-QLBYAYUG.js → chunk-KR2BP7NK.js} +4 -4
- package/dist/chunk-KR2BP7NK.js.map +1 -0
- package/dist/{chunk-DFVRZ3UK.js → chunk-KXARS46L.js} +3 -3
- package/dist/chunk-KXARS46L.js.map +1 -0
- package/dist/{chunk-JP55QWVR.js → chunk-L7L6SX64.js} +5 -2
- package/dist/chunk-L7L6SX64.js.map +1 -0
- package/dist/{chunk-QZZVHY6U.js → chunk-PVLDKXKR.js} +7 -3
- package/dist/chunk-PVLDKXKR.js.map +1 -0
- package/dist/{chunk-3KWD5Y5O.js → chunk-RXE5CUUE.js} +8 -4
- package/dist/chunk-RXE5CUUE.js.map +1 -0
- package/dist/{chunk-H7UAGTVW.js → chunk-TSG5C7MP.js} +4 -3
- package/dist/chunk-TSG5C7MP.js.map +1 -0
- package/dist/{chunk-NUCLEOHF.js → chunk-UNM7KFDX.js} +44 -14
- package/dist/chunk-UNM7KFDX.js.map +1 -0
- package/dist/{chunk-CEKPLUQV.js → chunk-UY7UF7IN.js} +19 -13
- package/dist/chunk-UY7UF7IN.js.map +1 -0
- package/dist/data-display/Alert.js +1 -1
- package/dist/data-display/AsyncStateContainer.js +2 -1
- package/dist/data-display/AsyncStateContainer.js.map +1 -1
- package/dist/data-display/Banner.js +4 -2
- package/dist/data-display/Banner.js.map +1 -1
- package/dist/data-display/CardKit.js +3 -1
- package/dist/data-display/CardKit.js.map +1 -1
- package/dist/data-display/Carousel.js +5 -2
- package/dist/data-display/Carousel.js.map +1 -1
- package/dist/data-display/DataGrid.js +1 -1
- package/dist/data-display/DataViews.js +90 -66
- package/dist/data-display/DataViews.js.map +1 -1
- package/dist/data-display/HoverCard.js +4 -1
- package/dist/data-display/HoverCard.js.map +1 -1
- package/dist/data-display/Lightbox.js +147 -117
- package/dist/data-display/Lightbox.js.map +1 -1
- package/dist/data-display/MapPreview.js +14 -10
- package/dist/data-display/MapPreview.js.map +1 -1
- package/dist/data-display/Table.js +4 -2
- package/dist/data-display/Table.js.map +1 -1
- package/dist/data-display/TimingDiagram.js +3 -2
- package/dist/data-display/TimingDiagram.js.map +1 -1
- package/dist/feedback/Sonner.js +5 -4
- package/dist/feedback/Sonner.js.map +1 -1
- package/dist/feedback/StackedModal.js +1 -1
- package/dist/feedback/TutorialOverlay.js +19 -5
- package/dist/feedback/TutorialOverlay.js.map +1 -1
- package/dist/form/AddressAutocomplete.js +16 -8
- package/dist/form/AddressAutocomplete.js.map +1 -1
- package/dist/form/Autocomplete.js +9 -7
- package/dist/form/Autocomplete.js.map +1 -1
- package/dist/form/Calendar.js +1 -1
- package/dist/form/CodeEditor.js +14 -9
- package/dist/form/CodeEditor.js.map +1 -1
- package/dist/form/DateRangePicker.js +10 -3
- package/dist/form/DateRangePicker.js.map +1 -1
- package/dist/form/Menubar.js +4 -1
- package/dist/form/Menubar.js.map +1 -1
- package/dist/form/PasswordStrength.js +48 -28
- package/dist/form/PasswordStrength.js.map +1 -1
- package/dist/form/PhoneInput.js +11 -5
- package/dist/form/PhoneInput.js.map +1 -1
- package/dist/form/SearchPalette.js +4 -1
- package/dist/form/SearchPalette.js.map +1 -1
- package/dist/form/Textarea.js +21 -19
- package/dist/form/Textarea.js.map +1 -1
- package/dist/form/UploadButton.js +16 -11
- package/dist/form/UploadButton.js.map +1 -1
- package/dist/layout/ContentToolbar.js +1 -1
- package/dist/layout/Dashboard.js +2 -1
- package/dist/layout/Dashboard.js.map +1 -1
- package/dist/layout/ScrollArea.js +9 -3
- package/dist/layout/ScrollArea.js.map +1 -1
- package/dist/layout/TableFilter.js +1 -1
- package/dist/navigation/Breadcrumbs.js +9 -3
- package/dist/navigation/Breadcrumbs.js.map +1 -1
- package/dist/navigation/CommandPalette.js +20 -7
- package/dist/navigation/CommandPalette.js.map +1 -1
- package/dist/navigation/Pagination.js +1 -1
- package/dist/navigation/Tabs.js +7 -3
- package/dist/navigation/Tabs.js.map +1 -1
- package/dist/pt-BR.js +192 -5
- package/dist/pt-BR.js.map +1 -1
- package/dist/types/components/data-display/Alert/Alert.d.ts +9 -2
- package/dist/types/components/data-display/Alert/Alert.d.ts.map +1 -1
- package/dist/types/components/data-display/Alert/Alert.types.d.ts +25 -9
- package/dist/types/components/data-display/Alert/Alert.types.d.ts.map +1 -1
- package/dist/types/components/data-display/AsyncStateContainer/AsyncStateContainer.d.ts.map +1 -1
- package/dist/types/components/data-display/AsyncStateContainer/AsyncStateContainer.types.d.ts +6 -0
- package/dist/types/components/data-display/AsyncStateContainer/AsyncStateContainer.types.d.ts.map +1 -1
- package/dist/types/components/data-display/Banner/Banner.d.ts.map +1 -1
- package/dist/types/components/data-display/Banner/Banner.types.d.ts +2 -0
- package/dist/types/components/data-display/Banner/Banner.types.d.ts.map +1 -1
- package/dist/types/components/data-display/CardKit/card-actions-context.d.ts +3 -1
- package/dist/types/components/data-display/CardKit/card-actions-context.d.ts.map +1 -1
- package/dist/types/components/data-display/Carousel/Carousel.chrome.d.ts +3 -0
- package/dist/types/components/data-display/Carousel/Carousel.chrome.d.ts.map +1 -1
- package/dist/types/components/data-display/Carousel/Carousel.parts.d.ts.map +1 -1
- package/dist/types/components/data-display/Carousel/Carousel.types.d.ts +7 -0
- package/dist/types/components/data-display/Carousel/Carousel.types.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.states.d.ts +1 -0
- package/dist/types/components/data-display/DataGrid/DataGrid.states.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts +5 -0
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-category-pill.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +29 -1
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts +12 -1
- package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-filter-panel.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-bodies.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-parts.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-more-fields.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-pagination.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-range-pill.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-table-parts.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts.map +1 -1
- package/dist/types/components/data-display/HoverCard/HoverCard.content.d.ts +1 -1
- package/dist/types/components/data-display/HoverCard/HoverCard.content.d.ts.map +1 -1
- package/dist/types/components/data-display/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/types/components/data-display/HoverCard/HoverCard.types.d.ts +2 -0
- package/dist/types/components/data-display/HoverCard/HoverCard.types.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/Lightbox.types.d.ts +9 -0
- package/dist/types/components/data-display/Lightbox/Lightbox.types.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/LightboxControls.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/lightbox-copy-context.d.ts +17 -0
- package/dist/types/components/data-display/Lightbox/lightbox-copy-context.d.ts.map +1 -0
- package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts +7 -0
- package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapLayers.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapPreview.types.d.ts +9 -0
- package/dist/types/components/data-display/MapPreview/MapPreview.types.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapSearchBar.d.ts +2 -0
- package/dist/types/components/data-display/MapPreview/MapSearchBar.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/Table.types.d.ts +5 -0
- package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/TableStates.d.ts +3 -1
- package/dist/types/components/data-display/Table/TableStates.d.ts.map +1 -1
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.d.ts.map +1 -1
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.types.d.ts +3 -0
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.types.d.ts.map +1 -1
- package/dist/types/components/feedback/Sonner/Sonner.d.ts +8 -0
- package/dist/types/components/feedback/Sonner/Sonner.d.ts.map +1 -1
- package/dist/types/components/feedback/Sonner/Sonner.types.d.ts +2 -0
- package/dist/types/components/feedback/Sonner/Sonner.types.d.ts.map +1 -1
- package/dist/types/components/feedback/Sonner/SonnerToast.d.ts.map +1 -1
- package/dist/types/components/feedback/StackedModal/StackedModal.d.ts.map +1 -1
- package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts +2 -0
- package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts.map +1 -1
- package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts +2 -0
- package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts.map +1 -1
- package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
- package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.types.d.ts +3 -0
- package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.types.d.ts.map +1 -1
- package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts +2 -0
- package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.types.d.ts +7 -0
- package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.types.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressAutocompleteField.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressFallbackField.d.ts +1 -0
- package/dist/types/components/form/AddressAutocomplete/AddressFallbackField.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressInputField.d.ts +1 -0
- package/dist/types/components/form/AddressAutocomplete/AddressInputField.d.ts.map +1 -1
- package/dist/types/components/form/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/types/components/form/Autocomplete/Autocomplete.parts.d.ts +9 -3
- package/dist/types/components/form/Autocomplete/Autocomplete.parts.d.ts.map +1 -1
- package/dist/types/components/form/Autocomplete/Autocomplete.types.d.ts +7 -0
- package/dist/types/components/form/Autocomplete/Autocomplete.types.d.ts.map +1 -1
- package/dist/types/components/form/Calendar/Calendar.types.d.ts +6 -0
- package/dist/types/components/form/Calendar/Calendar.types.d.ts.map +1 -1
- package/dist/types/components/form/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/types/components/form/CodeEditor/CodeEditor.types.d.ts +7 -0
- package/dist/types/components/form/CodeEditor/CodeEditor.types.d.ts.map +1 -1
- package/dist/types/components/form/CodeEditor/CodeEditorToolbar.d.ts +2 -0
- package/dist/types/components/form/CodeEditor/CodeEditorToolbar.d.ts.map +1 -1
- package/dist/types/components/form/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/types/components/form/DateRangePicker/DateRangePicker.range.d.ts.map +1 -1
- package/dist/types/components/form/DateRangePicker/DateRangePicker.types.d.ts +11 -0
- package/dist/types/components/form/DateRangePicker/DateRangePicker.types.d.ts.map +1 -1
- package/dist/types/components/form/DateRangePicker/DateRangePickerFields.d.ts.map +1 -1
- package/dist/types/components/form/Menubar/Menubar.d.ts.map +1 -1
- package/dist/types/components/form/Menubar/Menubar.toolbar.d.ts +1 -0
- package/dist/types/components/form/Menubar/Menubar.toolbar.d.ts.map +1 -1
- package/dist/types/components/form/Menubar/Menubar.types.d.ts +5 -0
- package/dist/types/components/form/Menubar/Menubar.types.d.ts.map +1 -1
- package/dist/types/components/form/PasswordStrength/PasswordStrength.d.ts.map +1 -1
- package/dist/types/components/form/PasswordStrength/PasswordStrength.helpers.d.ts +4 -2
- package/dist/types/components/form/PasswordStrength/PasswordStrength.helpers.d.ts.map +1 -1
- package/dist/types/components/form/PasswordStrength/PasswordStrength.types.d.ts +8 -0
- package/dist/types/components/form/PasswordStrength/PasswordStrength.types.d.ts.map +1 -1
- package/dist/types/components/form/PhoneInput/PhoneInput.d.ts.map +1 -1
- package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts +7 -0
- package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts.map +1 -1
- package/dist/types/components/form/SearchPalette/SearchPalette.d.ts.map +1 -1
- package/dist/types/components/form/SearchPalette/SearchPalette.parts.d.ts +2 -0
- package/dist/types/components/form/SearchPalette/SearchPalette.parts.d.ts.map +1 -1
- package/dist/types/components/form/SearchPalette/SearchPalette.types.d.ts +6 -0
- package/dist/types/components/form/SearchPalette/SearchPalette.types.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/Textarea.types.d.ts +16 -1
- package/dist/types/components/form/Textarea/Textarea.types.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/TextareaRichEditor.d.ts +7 -0
- package/dist/types/components/form/Textarea/TextareaRichEditor.d.ts.map +1 -1
- package/dist/types/components/form/UploadButton/UploadButton.d.ts.map +1 -1
- package/dist/types/components/form/UploadButton/UploadButton.parts.d.ts +6 -3
- package/dist/types/components/form/UploadButton/UploadButton.parts.d.ts.map +1 -1
- package/dist/types/components/form/UploadButton/UploadButton.types.d.ts +7 -0
- package/dist/types/components/form/UploadButton/UploadButton.types.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts +1 -1
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts +12 -0
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/MultiSelectDropdown.d.ts +1 -1
- package/dist/types/components/layout/ContentToolbar/MultiSelectDropdown.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/SortByDropdown.d.ts +1 -1
- package/dist/types/components/layout/ContentToolbar/SortByDropdown.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts +1 -1
- package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts.map +1 -1
- package/dist/types/components/layout/Dashboard/Dashboard.d.ts +1 -1
- package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts +4 -0
- package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts.map +1 -1
- package/dist/types/components/layout/Dashboard/DashboardParts.d.ts +1 -1
- package/dist/types/components/layout/Dashboard/DashboardParts.d.ts.map +1 -1
- package/dist/types/components/layout/ScrollArea/ScrollArea.d.ts.map +1 -1
- package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts +21 -3
- package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts.map +1 -1
- package/dist/types/components/layout/ScrollArea/ScrollViewport.d.ts +2 -0
- package/dist/types/components/layout/ScrollArea/ScrollViewport.d.ts.map +1 -1
- package/dist/types/components/layout/TableFilter/TableFilter.d.ts +1 -1
- package/dist/types/components/layout/TableFilter/TableFilter.d.ts.map +1 -1
- package/dist/types/components/layout/TableFilter/TableFilter.types.d.ts +7 -0
- package/dist/types/components/layout/TableFilter/TableFilter.types.d.ts.map +1 -1
- package/dist/types/components/layout/TableFilter/TableFilterContext.d.ts +9 -0
- package/dist/types/components/layout/TableFilter/TableFilterContext.d.ts.map +1 -1
- package/dist/types/components/navigation/Breadcrumbs/BreadcrumbEntry.d.ts +2 -0
- package/dist/types/components/navigation/Breadcrumbs/BreadcrumbEntry.d.ts.map +1 -1
- package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.types.d.ts +3 -0
- package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.types.d.ts.map +1 -1
- package/dist/types/components/navigation/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/types/components/navigation/CommandPalette/CommandPalette.types.d.ts +3 -0
- package/dist/types/components/navigation/CommandPalette/CommandPalette.types.d.ts.map +1 -1
- package/dist/types/components/navigation/CommandPalette/CommandPaletteResults.d.ts +2 -0
- package/dist/types/components/navigation/CommandPalette/CommandPaletteResults.d.ts.map +1 -1
- package/dist/types/components/navigation/Pagination/Pagination.d.ts.map +1 -1
- package/dist/types/components/navigation/Pagination/Pagination.types.d.ts +2 -0
- package/dist/types/components/navigation/Pagination/Pagination.types.d.ts.map +1 -1
- package/dist/types/components/navigation/Pagination/PaginationParts.d.ts +2 -0
- package/dist/types/components/navigation/Pagination/PaginationParts.d.ts.map +1 -1
- package/dist/types/components/navigation/Tabs/Tabs.d.ts.map +1 -1
- package/dist/types/components/navigation/Tabs/Tabs.types.d.ts +2 -0
- package/dist/types/components/navigation/Tabs/Tabs.types.d.ts.map +1 -1
- package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.d.ts.map +1 -1
- package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts +6 -2
- package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts.map +1 -1
- package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts +6 -0
- package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts.map +1 -1
- package/dist/types/components/utility/InstallPrompt/InstallPrompt.d.ts +4 -2
- package/dist/types/components/utility/InstallPrompt/InstallPrompt.d.ts.map +1 -1
- package/dist/types/components/utility/InstallPrompt/InstallPrompt.types.d.ts +8 -7
- package/dist/types/components/utility/InstallPrompt/InstallPrompt.types.d.ts.map +1 -1
- package/dist/types/copy/data-display.d.ts +56 -0
- package/dist/types/copy/data-display.d.ts.map +1 -0
- package/dist/types/copy/feedback.d.ts +38 -0
- package/dist/types/copy/feedback.d.ts.map +1 -0
- package/dist/types/copy/form.d.ts +146 -0
- package/dist/types/copy/form.d.ts.map +1 -0
- package/dist/types/copy/layout.d.ts +18 -0
- package/dist/types/copy/layout.d.ts.map +1 -0
- package/dist/types/copy/navigation.d.ts +24 -0
- package/dist/types/copy/navigation.d.ts.map +1 -0
- package/dist/types/copy/shared.d.ts +119 -0
- package/dist/types/copy/shared.d.ts.map +1 -0
- package/dist/types/copy/utility.d.ts +35 -0
- package/dist/types/copy/utility.d.ts.map +1 -0
- package/dist/types/copy.d.ts +13 -113
- package/dist/types/copy.d.ts.map +1 -1
- package/dist/types/pt-BR.d.ts +15 -18
- package/dist/types/pt-BR.d.ts.map +1 -1
- package/dist/types/pt-BR.data-display.d.ts +13 -0
- package/dist/types/pt-BR.data-display.d.ts.map +1 -0
- package/dist/types/pt-BR.feedback.d.ts +8 -0
- package/dist/types/pt-BR.feedback.d.ts.map +1 -0
- package/dist/types/pt-BR.form.d.ts +13 -0
- package/dist/types/pt-BR.form.d.ts.map +1 -0
- package/dist/types/pt-BR.layout.d.ts +7 -0
- package/dist/types/pt-BR.layout.d.ts.map +1 -0
- package/dist/types/pt-BR.navigation.d.ts +8 -0
- package/dist/types/pt-BR.navigation.d.ts.map +1 -0
- package/dist/types/pt-BR.shared.d.ts +21 -0
- package/dist/types/pt-BR.shared.d.ts.map +1 -0
- package/dist/types/pt-BR.utility.d.ts +8 -0
- package/dist/types/pt-BR.utility.d.ts.map +1 -0
- package/dist/types/user-avatar/user-avatar.d.ts +7 -1
- package/dist/types/user-avatar/user-avatar.d.ts.map +1 -1
- package/dist/user-avatar.js +2 -2
- package/dist/user-avatar.js.map +1 -1
- package/dist/utility/InfiniteScroll.js +7 -5
- package/dist/utility/InfiniteScroll.js.map +1 -1
- package/dist/utility/InstallPrompt.js +14 -13
- package/dist/utility/InstallPrompt.js.map +1 -1
- package/package.json +1 -1
- package/src/components/data-display/Alert/Alert.tsx +22 -5
- package/src/components/data-display/Alert/Alert.types.ts +20 -10
- package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.tsx +2 -1
- package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.types.ts +6 -0
- package/src/components/data-display/Banner/Banner.tsx +5 -2
- package/src/components/data-display/Banner/Banner.types.ts +2 -0
- package/src/components/data-display/CardKit/card-actions-context.tsx +4 -0
- package/src/components/data-display/Carousel/Carousel.chrome.tsx +5 -0
- package/src/components/data-display/Carousel/Carousel.parts.tsx +4 -3
- package/src/components/data-display/Carousel/Carousel.types.ts +7 -0
- package/src/components/data-display/DataGrid/DataGrid.states.tsx +3 -3
- package/src/components/data-display/DataGrid/DataGrid.tsx +1 -1
- package/src/components/data-display/DataGrid/DataGrid.types.ts +5 -0
- package/src/components/data-display/DataViews/data-views-category-pill.tsx +2 -0
- package/src/components/data-display/DataViews/data-views-copy.ts +29 -1
- package/src/components/data-display/DataViews/data-views-day-input.tsx +14 -3
- package/src/components/data-display/DataViews/data-views-filter-panel.tsx +2 -1
- package/src/components/data-display/DataViews/data-views-grid-bodies.tsx +3 -0
- package/src/components/data-display/DataViews/data-views-grid-parts.tsx +9 -10
- package/src/components/data-display/DataViews/data-views-more-fields.tsx +3 -1
- package/src/components/data-display/DataViews/data-views-pagination.tsx +3 -0
- package/src/components/data-display/DataViews/data-views-range-pill.tsx +3 -1
- package/src/components/data-display/DataViews/data-views-table-parts.tsx +1 -0
- package/src/components/data-display/DataViews/data-views-toolbar.tsx +2 -0
- package/src/components/data-display/HoverCard/HoverCard.content.tsx +10 -2
- package/src/components/data-display/HoverCard/HoverCard.tsx +2 -3
- package/src/components/data-display/HoverCard/HoverCard.types.ts +2 -0
- package/src/components/data-display/Lightbox/Lightbox.tsx +3 -0
- package/src/components/data-display/Lightbox/Lightbox.types.ts +9 -0
- package/src/components/data-display/Lightbox/LightboxControls.tsx +28 -15
- package/src/components/data-display/Lightbox/lightbox-copy-context.tsx +42 -0
- package/src/components/data-display/MapPreview/MapControlBar.tsx +17 -9
- package/src/components/data-display/MapPreview/MapLayers.tsx +2 -0
- package/src/components/data-display/MapPreview/MapPreview.types.ts +10 -0
- package/src/components/data-display/MapPreview/MapSearchBar.tsx +4 -1
- package/src/components/data-display/Table/Table.tsx +7 -2
- package/src/components/data-display/Table/Table.types.ts +5 -0
- package/src/components/data-display/Table/TableStates.tsx +2 -2
- package/src/components/data-display/TimingDiagram/TimingDiagram.tsx +3 -2
- package/src/components/data-display/TimingDiagram/TimingDiagram.types.ts +3 -0
- package/src/components/feedback/Sonner/Sonner.tsx +15 -3
- package/src/components/feedback/Sonner/Sonner.types.ts +2 -0
- package/src/components/feedback/Sonner/SonnerToast.tsx +2 -1
- package/src/components/feedback/StackedModal/StackedModal.parts.tsx +10 -3
- package/src/components/feedback/StackedModal/StackedModal.tsx +2 -1
- package/src/components/feedback/StackedModal/StackedModal.types.ts +2 -0
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +13 -1
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.types.ts +3 -0
- package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +10 -4
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.types.ts +7 -0
- package/src/components/form/AddressAutocomplete/AddressAutocompleteField.tsx +2 -0
- package/src/components/form/AddressAutocomplete/AddressFallbackField.tsx +4 -2
- package/src/components/form/AddressAutocomplete/AddressInputField.tsx +13 -6
- package/src/components/form/Autocomplete/Autocomplete.parts.tsx +9 -6
- package/src/components/form/Autocomplete/Autocomplete.tsx +2 -1
- package/src/components/form/Autocomplete/Autocomplete.types.ts +7 -0
- package/src/components/form/Calendar/Calendar.tsx +2 -2
- package/src/components/form/Calendar/Calendar.types.ts +7 -0
- package/src/components/form/CodeEditor/CodeEditor.tsx +6 -4
- package/src/components/form/CodeEditor/CodeEditor.types.ts +7 -0
- package/src/components/form/CodeEditor/CodeEditorToolbar.tsx +12 -5
- package/src/components/form/DateRangePicker/DateRangePicker.range.ts +2 -0
- package/src/components/form/DateRangePicker/DateRangePicker.tsx +4 -0
- package/src/components/form/DateRangePicker/DateRangePicker.types.ts +11 -0
- package/src/components/form/DateRangePicker/DateRangePickerFields.tsx +2 -0
- package/src/components/form/Menubar/Menubar.toolbar.tsx +3 -1
- package/src/components/form/Menubar/Menubar.tsx +2 -1
- package/src/components/form/Menubar/Menubar.types.ts +5 -0
- package/src/components/form/PasswordStrength/PasswordStrength.helpers.tsx +33 -17
- package/src/components/form/PasswordStrength/PasswordStrength.tsx +29 -13
- package/src/components/form/PasswordStrength/PasswordStrength.types.ts +9 -0
- package/src/components/form/PhoneInput/PhoneInput.tsx +15 -5
- package/src/components/form/PhoneInput/PhoneInput.types.ts +7 -0
- package/src/components/form/SearchPalette/SearchPalette.parts.tsx +4 -1
- package/src/components/form/SearchPalette/SearchPalette.tsx +4 -1
- package/src/components/form/SearchPalette/SearchPalette.types.ts +6 -0
- package/src/components/form/Textarea/Textarea.tsx +6 -1
- package/src/components/form/Textarea/Textarea.types.ts +14 -1
- package/src/components/form/Textarea/TextareaRichEditor.tsx +28 -18
- package/src/components/form/UploadButton/UploadButton.parts.tsx +16 -7
- package/src/components/form/UploadButton/UploadButton.tsx +4 -1
- package/src/components/form/UploadButton/UploadButton.types.ts +8 -0
- package/src/components/layout/ContentToolbar/ContentToolbar.tsx +10 -2
- package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +12 -0
- package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +15 -4
- package/src/components/layout/ContentToolbar/SortByDropdown.tsx +12 -3
- package/src/components/layout/ContentToolbar/ViewSelector.tsx +2 -1
- package/src/components/layout/Dashboard/Dashboard.types.ts +4 -0
- package/src/components/layout/Dashboard/DashboardParts.tsx +2 -1
- package/src/components/layout/ScrollArea/ScrollArea.tsx +16 -3
- package/src/components/layout/ScrollArea/ScrollArea.types.ts +19 -4
- package/src/components/layout/ScrollArea/ScrollViewport.tsx +4 -1
- package/src/components/layout/TableFilter/TableFilter.tsx +19 -11
- package/src/components/layout/TableFilter/TableFilter.types.ts +8 -0
- package/src/components/layout/TableFilter/TableFilterContext.tsx +10 -0
- package/src/components/navigation/Breadcrumbs/BreadcrumbEntry.tsx +11 -4
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.tsx +2 -0
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.types.ts +3 -0
- package/src/components/navigation/CommandPalette/CommandPalette.tsx +15 -5
- package/src/components/navigation/CommandPalette/CommandPalette.types.ts +3 -0
- package/src/components/navigation/CommandPalette/CommandPaletteResults.tsx +5 -2
- package/src/components/navigation/Pagination/Pagination.tsx +2 -0
- package/src/components/navigation/Pagination/Pagination.types.ts +2 -0
- package/src/components/navigation/Pagination/PaginationParts.tsx +4 -1
- package/src/components/navigation/Tabs/Tabs.tsx +8 -3
- package/src/components/navigation/Tabs/Tabs.types.ts +2 -0
- package/src/components/utility/InfiniteScroll/InfiniteScroll.parts.tsx +4 -4
- package/src/components/utility/InfiniteScroll/InfiniteScroll.tsx +4 -2
- package/src/components/utility/InfiniteScroll/InfiniteScroll.types.ts +6 -0
- package/src/components/utility/InstallPrompt/InstallPrompt.tsx +18 -13
- package/src/components/utility/InstallPrompt/InstallPrompt.types.ts +9 -7
- package/src/copy/data-display.ts +60 -0
- package/src/copy/feedback.ts +39 -0
- package/src/copy/form.ts +154 -0
- package/src/copy/layout.ts +18 -0
- package/src/copy/navigation.ts +25 -0
- package/src/copy/shared.ts +122 -0
- package/src/copy/utility.ts +36 -0
- package/src/copy.ts +13 -117
- package/src/pt-BR.data-display.ts +236 -0
- package/src/pt-BR.feedback.ts +25 -0
- package/src/pt-BR.form.ts +96 -0
- package/src/pt-BR.layout.ts +15 -0
- package/src/pt-BR.navigation.ts +21 -0
- package/src/pt-BR.shared.ts +94 -0
- package/src/pt-BR.ts +15 -267
- package/src/pt-BR.utility.ts +21 -0
- package/src/user-avatar/user-avatar.tsx +8 -2
- package/dist/chunk-3KWD5Y5O.js.map +0 -1
- package/dist/chunk-CEKPLUQV.js.map +0 -1
- package/dist/chunk-DFVRZ3UK.js.map +0 -1
- package/dist/chunk-H7UAGTVW.js.map +0 -1
- package/dist/chunk-JP55QWVR.js.map +0 -1
- package/dist/chunk-NUCLEOHF.js.map +0 -1
- package/dist/chunk-QLBYAYUG.js.map +0 -1
- package/dist/chunk-QZZVHY6U.js.map +0 -1
|
@@ -46,6 +46,7 @@ export const MapLayers: FC<MapLayersProps> = ({ settings, zoom, mapType, search,
|
|
|
46
46
|
|
|
47
47
|
{settings.showSearch && (
|
|
48
48
|
<MapSearchBar
|
|
49
|
+
label={settings.copy.search}
|
|
49
50
|
value={search.searchValue}
|
|
50
51
|
placeholder={settings.searchPlaceholder}
|
|
51
52
|
isSearching={search.isSearching}
|
|
@@ -56,6 +57,7 @@ export const MapLayers: FC<MapLayersProps> = ({ settings, zoom, mapType, search,
|
|
|
56
57
|
|
|
57
58
|
{settings.showControls && (
|
|
58
59
|
<MapControlBar
|
|
60
|
+
copy={settings.copy}
|
|
59
61
|
zoom={zoom}
|
|
60
62
|
mapType={mapType}
|
|
61
63
|
onZoomIn={controls.handleZoomIn}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { MapPreviewCopy } from '../../../copy';
|
|
2
|
+
|
|
1
3
|
export type MapType = 'roadmap' | 'satellite' | 'hybrid' | 'terrain';
|
|
2
4
|
|
|
3
5
|
export interface LatLng {
|
|
@@ -20,6 +22,14 @@ export interface HeatmapPoint {
|
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
export interface MapPreviewProps {
|
|
25
|
+
/**
|
|
26
|
+
* The control bar's six names and the search field's own. Every control is a
|
|
27
|
+
* glyph carrying a `title` and an `aria-label`, so this is both the tooltip
|
|
28
|
+
* and what a screen reader reads. REQUIRED — `searchPlaceholder` beside it
|
|
29
|
+
* shows the shape this replaces: an English default that read as
|
|
30
|
+
* configurable right up until nobody configured it.
|
|
31
|
+
*/
|
|
32
|
+
copy: MapPreviewCopy;
|
|
23
33
|
/** Map center coordinates */
|
|
24
34
|
center?: { lat: number; lng: number };
|
|
25
35
|
/** Legacy coordinates prop (use center instead) */
|
|
@@ -28,6 +28,8 @@ const SearchField = styled(TextField)(({ theme }) => ({
|
|
|
28
28
|
}));
|
|
29
29
|
|
|
30
30
|
export interface MapSearchBarProps {
|
|
31
|
+
/** The field's accessible name — it renders no visible label. REQUIRED. */
|
|
32
|
+
label: string;
|
|
31
33
|
value: string;
|
|
32
34
|
placeholder: string;
|
|
33
35
|
isSearching: boolean;
|
|
@@ -36,6 +38,7 @@ export interface MapSearchBarProps {
|
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
export const MapSearchBar: FC<MapSearchBarProps> = ({
|
|
41
|
+
label,
|
|
39
42
|
value,
|
|
40
43
|
placeholder,
|
|
41
44
|
isSearching,
|
|
@@ -58,7 +61,7 @@ export const MapSearchBar: FC<MapSearchBarProps> = ({
|
|
|
58
61
|
),
|
|
59
62
|
}}
|
|
60
63
|
disabled={isSearching}
|
|
61
|
-
aria-label=
|
|
64
|
+
aria-label={label}
|
|
62
65
|
/>
|
|
63
66
|
</SearchBar>
|
|
64
67
|
);
|
|
@@ -299,10 +299,13 @@ const TableLoadingState: React.FC<{
|
|
|
299
299
|
const TableEmptyState: React.FC<{
|
|
300
300
|
shell: TableShellProps;
|
|
301
301
|
emptyStateComponent?: React.ReactNode;
|
|
302
|
+
emptyText: string;
|
|
302
303
|
colSpan: number;
|
|
303
|
-
}> = ({ shell, emptyStateComponent, colSpan }) => (
|
|
304
|
+
}> = ({ shell, emptyStateComponent, emptyText, colSpan }) => (
|
|
304
305
|
<TableShell {...shell}>
|
|
305
|
-
<EmptyRow colSpan={colSpan}>
|
|
306
|
+
<EmptyRow colSpan={colSpan}>
|
|
307
|
+
{emptyStateComponent || <NoDataPlaceholder emptyText={emptyText} />}
|
|
308
|
+
</EmptyRow>
|
|
306
309
|
</TableShell>
|
|
307
310
|
);
|
|
308
311
|
|
|
@@ -316,6 +319,7 @@ export const Table = React.forwardRef<globalThis.HTMLTableElement, TableProps>(
|
|
|
316
319
|
loading,
|
|
317
320
|
loadingComponent,
|
|
318
321
|
emptyStateComponent,
|
|
322
|
+
emptyText,
|
|
319
323
|
children,
|
|
320
324
|
...props
|
|
321
325
|
} = resolved;
|
|
@@ -345,6 +349,7 @@ export const Table = React.forwardRef<globalThis.HTMLTableElement, TableProps>(
|
|
|
345
349
|
<TableEmptyState
|
|
346
350
|
shell={shell}
|
|
347
351
|
emptyStateComponent={emptyStateComponent}
|
|
352
|
+
emptyText={emptyText}
|
|
348
353
|
colSpan={finalColumns?.length || 1}
|
|
349
354
|
/>
|
|
350
355
|
);
|
|
@@ -62,6 +62,11 @@ export interface SelectionConfig {
|
|
|
62
62
|
export type TableStripeColor = ColorValue;
|
|
63
63
|
|
|
64
64
|
export interface TableProps extends Omit<MuiTableProps, 'variant'> {
|
|
65
|
+
/**
|
|
66
|
+
* What an empty result reads as. REQUIRED — the fallback was the English
|
|
67
|
+
* "No data available", on the package every host renders.
|
|
68
|
+
*/
|
|
69
|
+
emptyText: string;
|
|
65
70
|
/**
|
|
66
71
|
* The variant of the table
|
|
67
72
|
*/
|
|
@@ -2,9 +2,9 @@ import { Box, TableBody, TableCell, TableRow } from '@mui/material';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
export const NoDataPlaceholder: React.FC = () => (
|
|
5
|
+
export const NoDataPlaceholder: React.FC<{ emptyText: string }> = ({ emptyText }) => (
|
|
6
6
|
<Box py={4} color="text.secondary">
|
|
7
|
-
|
|
7
|
+
{emptyText}
|
|
8
8
|
</Box>
|
|
9
9
|
);
|
|
10
10
|
|
|
@@ -76,6 +76,7 @@ const VIEWS: Record<string, FC<TimingViewProps>> = {
|
|
|
76
76
|
|
|
77
77
|
// Main component
|
|
78
78
|
export const TimingDiagram: FC<TimingDiagramProps> = ({
|
|
79
|
+
copy,
|
|
79
80
|
data,
|
|
80
81
|
showLabels = true,
|
|
81
82
|
height = 40,
|
|
@@ -88,9 +89,9 @@ export const TimingDiagram: FC<TimingDiagramProps> = ({
|
|
|
88
89
|
const View = VIEWS[variant];
|
|
89
90
|
|
|
90
91
|
return (
|
|
91
|
-
<DiagramContainer elevation={2} role="region" aria-label=
|
|
92
|
+
<DiagramContainer elevation={2} role="region" aria-label={copy.regionLabel} tabIndex={0}>
|
|
92
93
|
<Typography variant="h6" fontWeight="bold" gutterBottom>
|
|
93
|
-
|
|
94
|
+
{copy.heading}
|
|
94
95
|
</Typography>
|
|
95
96
|
|
|
96
97
|
{View && (
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TimingDiagramCopy } from '../../../copy';
|
|
1
2
|
// Types
|
|
2
3
|
export interface TimingData {
|
|
3
4
|
dns?: number;
|
|
@@ -9,6 +10,8 @@ export interface TimingData {
|
|
|
9
10
|
}
|
|
10
11
|
|
|
11
12
|
export interface TimingDiagramProps {
|
|
13
|
+
/** The region's accessible name and its visible heading. REQUIRED. */
|
|
14
|
+
copy: TimingDiagramCopy;
|
|
12
15
|
data: TimingData;
|
|
13
16
|
showLabels?: boolean;
|
|
14
17
|
color?: string;
|
|
@@ -71,7 +71,16 @@ const trackPromiseWithToasts = async <T,>(
|
|
|
71
71
|
}
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
-
export const SonnerProvider: React.FC<{
|
|
74
|
+
export const SonnerProvider: React.FC<{
|
|
75
|
+
children: React.ReactNode;
|
|
76
|
+
/**
|
|
77
|
+
* The dismiss button's accessible name, for every toast this provider
|
|
78
|
+
* raises. REQUIRED and mounted ONCE — the shortcut helpers
|
|
79
|
+
* (`sonner.success(…)`) take a message and nothing else by design, so the
|
|
80
|
+
* word cannot be a per-call argument without changing what they are for.
|
|
81
|
+
*/
|
|
82
|
+
dismissLabel: string;
|
|
83
|
+
}> = ({ children, dismissLabel }) => {
|
|
75
84
|
const [toasts, setToasts] = useState<SonnerItem[]>([]);
|
|
76
85
|
const toastCounter = useRef(0);
|
|
77
86
|
|
|
@@ -106,7 +115,7 @@ export const SonnerProvider: React.FC<{ children: React.ReactNode }> = ({ childr
|
|
|
106
115
|
const makeShortcut = useCallback(
|
|
107
116
|
(type: SonnerProps['type'], extra?: Partial<SonnerProps>) =>
|
|
108
117
|
(message: React.ReactNode, options?: Partial<SonnerProps>) =>
|
|
109
|
-
addToast({ ...options, ...extra, title: message }, type),
|
|
118
|
+
addToast({ dismissLabel, ...options, ...extra, title: message }, type),
|
|
110
119
|
[addToast],
|
|
111
120
|
);
|
|
112
121
|
|
|
@@ -306,4 +315,7 @@ export const Toaster: React.FC<{
|
|
|
306
315
|
expand?: boolean;
|
|
307
316
|
richColors?: boolean;
|
|
308
317
|
closeButton?: boolean;
|
|
309
|
-
|
|
318
|
+
dismissLabel: string;
|
|
319
|
+
}> = ({ children, dismissLabel }) => (
|
|
320
|
+
<SonnerProvider dismissLabel={dismissLabel}>{children}</SonnerProvider>
|
|
321
|
+
);
|
|
@@ -4,6 +4,8 @@ export type SonnerVariant = 'default' | 'glass' | 'minimal';
|
|
|
4
4
|
export type SonnerType = 'default' | 'success' | 'error' | 'warning' | 'info' | 'loading';
|
|
5
5
|
|
|
6
6
|
export interface SonnerProps {
|
|
7
|
+
/** The dismiss button's accessible name — it carries a glyph only. REQUIRED. */
|
|
8
|
+
dismissLabel: string;
|
|
7
9
|
id?: string;
|
|
8
10
|
title?: ReactNode;
|
|
9
11
|
description?: ReactNode;
|
|
@@ -153,6 +153,7 @@ export const SonnerToast: React.FC<SonnerItem & { onDismiss: (id: string) => voi
|
|
|
153
153
|
type = 'default',
|
|
154
154
|
variant = 'default',
|
|
155
155
|
closable = true,
|
|
156
|
+
dismissLabel,
|
|
156
157
|
action,
|
|
157
158
|
cancel,
|
|
158
159
|
icon,
|
|
@@ -198,7 +199,7 @@ export const SonnerToast: React.FC<SonnerItem & { onDismiss: (id: string) => voi
|
|
|
198
199
|
<IconButton
|
|
199
200
|
size="small"
|
|
200
201
|
onClick={handleDismiss}
|
|
201
|
-
aria-label=
|
|
202
|
+
aria-label={dismissLabel}
|
|
202
203
|
sx={{
|
|
203
204
|
ml: 'auto',
|
|
204
205
|
color: 'text.secondary',
|
|
@@ -121,6 +121,8 @@ interface ModalHeaderProps {
|
|
|
121
121
|
/** Deeper than the first panel, so the leading button goes back instead of closing. */
|
|
122
122
|
canGoBack: boolean;
|
|
123
123
|
onBack: () => void;
|
|
124
|
+
/** The back arrow's accessible name — it carries a glyph only. REQUIRED. */
|
|
125
|
+
backLabel: string;
|
|
124
126
|
onClose: () => void;
|
|
125
127
|
/** Renders the bar without its ✕ — the panel's content owns the dismiss. */
|
|
126
128
|
hideClose?: boolean;
|
|
@@ -135,15 +137,18 @@ interface ModalHeaderProps {
|
|
|
135
137
|
* all when the panel's content carries its own ✕ (`hideClose`).
|
|
136
138
|
*/
|
|
137
139
|
const HeaderLeadingButton: FC<
|
|
138
|
-
Pick<
|
|
139
|
-
|
|
140
|
+
Pick<
|
|
141
|
+
ModalHeaderProps,
|
|
142
|
+
'canGoBack' | 'onBack' | 'backLabel' | 'onClose' | 'hideClose' | 'rtl' | 'dataTestId'
|
|
143
|
+
>
|
|
144
|
+
> = ({ canGoBack, onBack, backLabel, onClose, hideClose, rtl, dataTestId }) => {
|
|
140
145
|
if (canGoBack) {
|
|
141
146
|
return (
|
|
142
147
|
<IconButton
|
|
143
148
|
edge="start"
|
|
144
149
|
color="inherit"
|
|
145
150
|
onClick={onBack}
|
|
146
|
-
aria-label=
|
|
151
|
+
aria-label={backLabel}
|
|
147
152
|
size="small"
|
|
148
153
|
sx={{ transform: rtl ? 'rotate(180deg)' : 'none' }}
|
|
149
154
|
data-testid={testId(dataTestId, 'back-button')}
|
|
@@ -174,6 +179,7 @@ export const ModalHeader: FC<ModalHeaderProps> = ({
|
|
|
174
179
|
onBack,
|
|
175
180
|
onClose,
|
|
176
181
|
hideClose,
|
|
182
|
+
backLabel,
|
|
177
183
|
headerActions,
|
|
178
184
|
rtl,
|
|
179
185
|
dataTestId,
|
|
@@ -183,6 +189,7 @@ export const ModalHeader: FC<ModalHeaderProps> = ({
|
|
|
183
189
|
<HeaderLeadingButton
|
|
184
190
|
canGoBack={canGoBack}
|
|
185
191
|
onBack={onBack}
|
|
192
|
+
backLabel={backLabel}
|
|
186
193
|
onClose={onClose}
|
|
187
194
|
hideClose={hideClose}
|
|
188
195
|
rtl={rtl}
|
|
@@ -59,7 +59,7 @@ type ResolvedProps = StackedModalProps & { modalId: string };
|
|
|
59
59
|
|
|
60
60
|
const StackedModalPanel: FC<ResolvedProps> = (props) => {
|
|
61
61
|
const {
|
|
62
|
-
open, onClose, glass, navigationTitle, hideClose, children, actions, modalId,
|
|
62
|
+
open, onClose, glass, navigationTitle, backLabel, hideClose, children, actions, modalId,
|
|
63
63
|
closeOnClickOutside, closeOnEsc, loading, loadingText, fullScreen, maxWidth, disableBackdrop,
|
|
64
64
|
disableFocusTrap, keepMounted, rtl, dataTestId,
|
|
65
65
|
'aria-labelledby': ariaLabelledBy, 'aria-describedby': ariaDescribedBy, ...otherProps
|
|
@@ -105,6 +105,7 @@ const StackedModalPanel: FC<ResolvedProps> = (props) => {
|
|
|
105
105
|
{...otherProps}
|
|
106
106
|
>
|
|
107
107
|
<ModalPanelContents
|
|
108
|
+
backLabel={backLabel}
|
|
108
109
|
showSkeleton={showSkeleton}
|
|
109
110
|
loadingText={loadingText}
|
|
110
111
|
titleId={titleId}
|
|
@@ -7,6 +7,8 @@ export type ModalPanelRole = 'primary' | 'secondary' | 'background';
|
|
|
7
7
|
export type PanelMaxWidth = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false;
|
|
8
8
|
|
|
9
9
|
export interface StackedModalProps {
|
|
10
|
+
/** The back arrow's accessible name — it carries a glyph only. REQUIRED. */
|
|
11
|
+
backLabel: string;
|
|
10
12
|
/** Controls the visibility of the modal */
|
|
11
13
|
open: boolean;
|
|
12
14
|
/** Callback fired when the component requests to be closed */
|
|
@@ -202,7 +202,16 @@ const TutorialTooltip: React.FC<{
|
|
|
202
202
|
showProgress: boolean;
|
|
203
203
|
animated: boolean;
|
|
204
204
|
requiresActionBeforeNext: boolean;
|
|
205
|
-
|
|
205
|
+
copy: TutorialOverlayProps['copy'];
|
|
206
|
+
}> = ({
|
|
207
|
+
tutorial,
|
|
208
|
+
steps,
|
|
209
|
+
allowSkip,
|
|
210
|
+
showProgress,
|
|
211
|
+
animated,
|
|
212
|
+
requiresActionBeforeNext,
|
|
213
|
+
copy,
|
|
214
|
+
}) => (
|
|
206
215
|
<Fade in={tutorial.isVisible} timeout={300}>
|
|
207
216
|
<TooltipContainer
|
|
208
217
|
ref={tutorial.tooltipRef}
|
|
@@ -218,6 +227,7 @@ const TutorialTooltip: React.FC<{
|
|
|
218
227
|
data-testid={`tutorial-step-${tutorial.currentStep}`}
|
|
219
228
|
>
|
|
220
229
|
<TutorialStepBody
|
|
230
|
+
copy={copy}
|
|
221
231
|
step={tutorial.currentStepData}
|
|
222
232
|
currentStep={tutorial.currentStep}
|
|
223
233
|
stepCount={steps.length}
|
|
@@ -237,6 +247,7 @@ const TutorialTooltip: React.FC<{
|
|
|
237
247
|
|
|
238
248
|
export const TutorialOverlay: FC<TutorialOverlayProps> = (componentProps) => {
|
|
239
249
|
const {
|
|
250
|
+
copy,
|
|
240
251
|
steps,
|
|
241
252
|
onComplete,
|
|
242
253
|
onSkip,
|
|
@@ -280,6 +291,7 @@ export const TutorialOverlay: FC<TutorialOverlayProps> = (componentProps) => {
|
|
|
280
291
|
/>
|
|
281
292
|
|
|
282
293
|
<TutorialTooltip
|
|
294
|
+
copy={copy}
|
|
283
295
|
tutorial={{ ...tutorial, currentStepData }}
|
|
284
296
|
steps={steps}
|
|
285
297
|
allowSkip={allowSkip}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { TutorialCopy } from '../../../copy';
|
|
1
2
|
// Component types
|
|
2
3
|
export interface TutorialStep {
|
|
3
4
|
id: string;
|
|
@@ -15,6 +16,8 @@ export interface TutorialStep {
|
|
|
15
16
|
}
|
|
16
17
|
|
|
17
18
|
export interface TutorialOverlayProps {
|
|
19
|
+
/** The tour's four controls. REQUIRED — all four were English literals. */
|
|
20
|
+
copy: TutorialCopy;
|
|
18
21
|
steps: TutorialStep[];
|
|
19
22
|
onComplete?: () => void;
|
|
20
23
|
onSkip?: () => void;
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
import React, { } from 'react';
|
|
15
15
|
|
|
16
16
|
import type { TutorialOverlayProps } from './TutorialOverlay.types';
|
|
17
|
+
import type { TutorialCopy } from '../../../copy';
|
|
17
18
|
|
|
18
19
|
// Animation keyframes
|
|
19
20
|
|
|
@@ -42,6 +43,7 @@ const StepDot = styled(Box, {
|
|
|
42
43
|
|
|
43
44
|
// The step's controls: skip/restart on the left, previous/next on the right.
|
|
44
45
|
const TutorialStepNav: React.FC<{
|
|
46
|
+
copy: TutorialCopy;
|
|
45
47
|
currentStep: number;
|
|
46
48
|
stepCount: number;
|
|
47
49
|
isLastStep: boolean;
|
|
@@ -52,6 +54,7 @@ const TutorialStepNav: React.FC<{
|
|
|
52
54
|
onSkip: () => void;
|
|
53
55
|
onRestart: () => void;
|
|
54
56
|
}> = ({
|
|
57
|
+
copy,
|
|
55
58
|
currentStep,
|
|
56
59
|
stepCount,
|
|
57
60
|
isLastStep,
|
|
@@ -70,7 +73,7 @@ const TutorialStepNav: React.FC<{
|
|
|
70
73
|
<Stack direction="row" spacing={1}>
|
|
71
74
|
{allowSkip && (
|
|
72
75
|
<Button size="small" onClick={onSkip} variant="text">
|
|
73
|
-
|
|
76
|
+
{copy.skip}
|
|
74
77
|
</Button>
|
|
75
78
|
)}
|
|
76
79
|
{stepCount > 1 && (
|
|
@@ -78,7 +81,7 @@ const TutorialStepNav: React.FC<{
|
|
|
78
81
|
size="small"
|
|
79
82
|
onClick={onRestart}
|
|
80
83
|
disabled={currentStep === 0}
|
|
81
|
-
title=
|
|
84
|
+
title={copy.restart}
|
|
82
85
|
>
|
|
83
86
|
<RestartIcon fontSize="small" />
|
|
84
87
|
</IconButton>
|
|
@@ -94,7 +97,7 @@ const TutorialStepNav: React.FC<{
|
|
|
94
97
|
disabled={currentStep === 0}
|
|
95
98
|
data-testid="tutorial-prev-button"
|
|
96
99
|
>
|
|
97
|
-
|
|
100
|
+
{copy.previous}
|
|
98
101
|
</Button>
|
|
99
102
|
)}
|
|
100
103
|
|
|
@@ -108,7 +111,7 @@ const TutorialStepNav: React.FC<{
|
|
|
108
111
|
title={requiresActionBeforeNext ? 'Complete the required action first' : ''}
|
|
109
112
|
data-testid="tutorial-next-button"
|
|
110
113
|
>
|
|
111
|
-
|
|
114
|
+
{copy.next}
|
|
112
115
|
</Button>
|
|
113
116
|
) : (
|
|
114
117
|
<Button
|
|
@@ -175,6 +178,7 @@ const TutorialStepHeader: React.FC<{
|
|
|
175
178
|
);
|
|
176
179
|
|
|
177
180
|
export const TutorialStepBody: React.FC<{
|
|
181
|
+
copy: TutorialCopy;
|
|
178
182
|
step: TutorialOverlayProps['steps'][number];
|
|
179
183
|
currentStep: number;
|
|
180
184
|
stepCount: number;
|
|
@@ -188,6 +192,7 @@ export const TutorialStepBody: React.FC<{
|
|
|
188
192
|
onSkip: () => void;
|
|
189
193
|
onRestart: () => void;
|
|
190
194
|
}> = ({
|
|
195
|
+
copy,
|
|
191
196
|
step,
|
|
192
197
|
currentStep,
|
|
193
198
|
stepCount,
|
|
@@ -239,6 +244,7 @@ export const TutorialStepBody: React.FC<{
|
|
|
239
244
|
<StepDots currentStep={currentStep} stepCount={stepCount} />
|
|
240
245
|
|
|
241
246
|
<TutorialStepNav
|
|
247
|
+
copy={copy}
|
|
242
248
|
currentStep={currentStep}
|
|
243
249
|
stepCount={stepCount}
|
|
244
250
|
isLastStep={isLastStep}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
|
|
3
|
+
import type { AddressAutocompleteCopy } from '../../../copy';
|
|
3
4
|
import type { MockPrediction } from './mockPlaces';
|
|
4
5
|
|
|
5
6
|
/// <reference types="@types/google.maps" />
|
|
@@ -27,6 +28,12 @@ export interface AddressDetails {
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
export interface AddressAutocompleteProps {
|
|
31
|
+
/**
|
|
32
|
+
* The field's own three sentences. REQUIRED: this package ships no default
|
|
33
|
+
* copy, and two of the three are read while the field is unusable because
|
|
34
|
+
* Google Maps never arrived — the worst moment to speak the wrong language.
|
|
35
|
+
*/
|
|
36
|
+
copy: AddressAutocompleteCopy;
|
|
30
37
|
variant?: 'glass' | 'outlined' | 'filled';
|
|
31
38
|
label?: string;
|
|
32
39
|
placeholder?: string;
|
|
@@ -17,6 +17,7 @@ export type AddressAutocompleteFieldProps = ResolvedAddressProps & AddressAutoco
|
|
|
17
17
|
|
|
18
18
|
// The live field, rendered once Google Maps (or the mock stand-in) is ready.
|
|
19
19
|
export const AddressAutocompleteField: FC<AddressAutocompleteFieldProps> = ({
|
|
20
|
+
copy,
|
|
20
21
|
variant,
|
|
21
22
|
label,
|
|
22
23
|
placeholder,
|
|
@@ -62,6 +63,7 @@ export const AddressAutocompleteField: FC<AddressAutocompleteFieldProps> = ({
|
|
|
62
63
|
)}
|
|
63
64
|
renderInput={(params) => (
|
|
64
65
|
<AddressInputField
|
|
66
|
+
copy={copy}
|
|
65
67
|
params={params}
|
|
66
68
|
addressVariant={variant}
|
|
67
69
|
label={floating ? undefined : label}
|
|
@@ -6,6 +6,7 @@ import type { AddressAutocompleteProps } from './AddressAutocomplete.types';
|
|
|
6
6
|
import { AddressTextField } from './AddressTextField';
|
|
7
7
|
|
|
8
8
|
export interface AddressFallbackFieldProps {
|
|
9
|
+
copy: AddressAutocompleteProps['copy'];
|
|
9
10
|
variant: AddressAutocompleteProps['variant'];
|
|
10
11
|
label?: string;
|
|
11
12
|
placeholder?: string;
|
|
@@ -18,6 +19,7 @@ export interface AddressFallbackFieldProps {
|
|
|
18
19
|
// Stands in for the Autocomplete before Google Maps is usable: a disabled field
|
|
19
20
|
// that either spins or explains why it never loaded.
|
|
20
21
|
export const AddressFallbackField: FC<AddressFallbackFieldProps> = ({
|
|
22
|
+
copy,
|
|
21
23
|
variant,
|
|
22
24
|
label,
|
|
23
25
|
placeholder,
|
|
@@ -33,7 +35,7 @@ export const AddressFallbackField: FC<AddressFallbackFieldProps> = ({
|
|
|
33
35
|
<AddressTextField
|
|
34
36
|
addressVariant={variant}
|
|
35
37
|
label={floating ? undefined : label}
|
|
36
|
-
placeholder=
|
|
38
|
+
placeholder={copy.loadingMaps}
|
|
37
39
|
disabled
|
|
38
40
|
fullWidth={fullWidth}
|
|
39
41
|
InputProps={{
|
|
@@ -57,7 +59,7 @@ export const AddressFallbackField: FC<AddressFallbackFieldProps> = ({
|
|
|
57
59
|
InputProps={{ startAdornment }}
|
|
58
60
|
/>
|
|
59
61
|
<Alert severity="error" sx={{ mt: 1 }}>
|
|
60
|
-
|
|
62
|
+
{copy.mapsLoadFailed}
|
|
61
63
|
</Alert>
|
|
62
64
|
</Box>
|
|
63
65
|
);
|
|
@@ -7,16 +7,17 @@ import React from 'react';
|
|
|
7
7
|
import type { AddressAutocompleteProps } from './AddressAutocomplete.types';
|
|
8
8
|
import { AddressTextField } from './AddressTextField';
|
|
9
9
|
|
|
10
|
-
const CurrentLocationButton: FC<{
|
|
11
|
-
disabled
|
|
12
|
-
onClick
|
|
13
|
-
|
|
10
|
+
const CurrentLocationButton: FC<{
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
onClick: () => void;
|
|
13
|
+
currentLocationLabel: string;
|
|
14
|
+
}> = ({ disabled, onClick, currentLocationLabel }) => (
|
|
14
15
|
<InputAdornment position="end">
|
|
15
16
|
<IconButton
|
|
16
17
|
edge="end"
|
|
17
18
|
onClick={onClick}
|
|
18
19
|
size="small"
|
|
19
|
-
title=
|
|
20
|
+
title={currentLocationLabel}
|
|
20
21
|
disabled={disabled}
|
|
21
22
|
data-testid="address-current-location-button"
|
|
22
23
|
>
|
|
@@ -26,6 +27,7 @@ const CurrentLocationButton: FC<{ disabled: boolean; onClick: () => void }> = ({
|
|
|
26
27
|
);
|
|
27
28
|
|
|
28
29
|
export interface AddressInputFieldProps {
|
|
30
|
+
copy: AddressAutocompleteProps['copy'];
|
|
29
31
|
params: AutocompleteRenderInputParams;
|
|
30
32
|
addressVariant: AddressAutocompleteProps['variant'];
|
|
31
33
|
label?: string;
|
|
@@ -41,6 +43,7 @@ export interface AddressInputFieldProps {
|
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
export const AddressInputField: FC<AddressInputFieldProps> = ({
|
|
46
|
+
copy,
|
|
44
47
|
params,
|
|
45
48
|
addressVariant,
|
|
46
49
|
label,
|
|
@@ -69,7 +72,11 @@ export const AddressInputField: FC<AddressInputFieldProps> = ({
|
|
|
69
72
|
<>
|
|
70
73
|
{loading && <CircularProgress color="inherit" size={20} data-testid="address-loading" />}
|
|
71
74
|
{showCurrentLocation && (
|
|
72
|
-
<CurrentLocationButton
|
|
75
|
+
<CurrentLocationButton
|
|
76
|
+
disabled={disabled}
|
|
77
|
+
onClick={onGetCurrentLocation}
|
|
78
|
+
currentLocationLabel={copy.useCurrentLocation}
|
|
79
|
+
/>
|
|
73
80
|
)}
|
|
74
81
|
{params.InputProps.endAdornment}
|
|
75
82
|
</>
|
|
@@ -17,6 +17,7 @@ import React from 'react';
|
|
|
17
17
|
|
|
18
18
|
import { highlightLabel, type MatchMode } from './Autocomplete.helpers';
|
|
19
19
|
import type { SuggestionItemState, SuggestionType } from './Autocomplete.types';
|
|
20
|
+
import type { AutocompleteCopy } from '../../../copy';
|
|
20
21
|
|
|
21
22
|
const StyledPopper = styled(Popper)(({ theme }) => ({
|
|
22
23
|
zIndex: theme.zIndex.tooltip,
|
|
@@ -213,13 +214,13 @@ export function DefaultSuggestion<T>({
|
|
|
213
214
|
}
|
|
214
215
|
|
|
215
216
|
/** A "Loading…" row shown while async suggestions resolve. */
|
|
216
|
-
export function LoadingRow(): React.JSX.Element {
|
|
217
|
+
export function LoadingRow({ label }: { label: string }): React.JSX.Element {
|
|
217
218
|
return (
|
|
218
219
|
<ListItem>
|
|
219
220
|
<Box display="flex" alignItems="center" gap={1}>
|
|
220
221
|
<CircularProgress size={16} />
|
|
221
222
|
<Typography variant="body2" color="text.secondary">
|
|
222
|
-
|
|
223
|
+
{label}
|
|
223
224
|
</Typography>
|
|
224
225
|
</Box>
|
|
225
226
|
</ListItem>
|
|
@@ -227,11 +228,11 @@ export function LoadingRow(): React.JSX.Element {
|
|
|
227
228
|
}
|
|
228
229
|
|
|
229
230
|
/** The empty "No results found" row. */
|
|
230
|
-
export function NoResultsRow(): React.JSX.Element {
|
|
231
|
+
export function NoResultsRow({ label }: { label: string }): React.JSX.Element {
|
|
231
232
|
return (
|
|
232
233
|
<ListItem>
|
|
233
234
|
<Typography variant="body2" color="text.secondary">
|
|
234
|
-
|
|
235
|
+
{label}
|
|
235
236
|
</Typography>
|
|
236
237
|
</ListItem>
|
|
237
238
|
);
|
|
@@ -251,6 +252,7 @@ const SAME_WIDTH_MODIFIER = {
|
|
|
251
252
|
};
|
|
252
253
|
|
|
253
254
|
export interface SuggestionListBoxProps<T> {
|
|
255
|
+
copy: AutocompleteCopy;
|
|
254
256
|
open: boolean;
|
|
255
257
|
anchorEl: HTMLElement | null;
|
|
256
258
|
portal: boolean | { container?: HTMLElement };
|
|
@@ -272,6 +274,7 @@ export interface SuggestionListBoxProps<T> {
|
|
|
272
274
|
|
|
273
275
|
/** The suggestions dropdown: a same-width Popper with the option list + loading/empty rows. */
|
|
274
276
|
export function SuggestionListBox<T>({
|
|
277
|
+
copy,
|
|
275
278
|
open,
|
|
276
279
|
anchorEl,
|
|
277
280
|
portal,
|
|
@@ -328,8 +331,8 @@ export function SuggestionListBox<T>({
|
|
|
328
331
|
{renderItem(item, index === activeIndex)}
|
|
329
332
|
</ListItem>
|
|
330
333
|
))}
|
|
331
|
-
{isLoading && <LoadingRow />}
|
|
332
|
-
{showNoResults && <NoResultsRow />}
|
|
334
|
+
{isLoading && <LoadingRow label={copy.loading} />}
|
|
335
|
+
{showNoResults && <NoResultsRow label={copy.noResults} />}
|
|
333
336
|
</List>
|
|
334
337
|
</Paper>
|
|
335
338
|
</StyledPopper>
|
|
@@ -54,7 +54,7 @@ function resolveRenderConfig<T>(p: AutocompleteProps<T>): RenderConfig<T> {
|
|
|
54
54
|
selectedItems: p.selectedItems ?? [],
|
|
55
55
|
isLoading: Boolean(p.isLoading),
|
|
56
56
|
showGhostText: p.showGhostText ?? true,
|
|
57
|
-
placeholder: p.placeholder ??
|
|
57
|
+
placeholder: p.placeholder ?? p.copy.placeholder,
|
|
58
58
|
autoFocus: Boolean(p.autoFocus),
|
|
59
59
|
disabled: Boolean(p.disabled),
|
|
60
60
|
portal: p.portal ?? false,
|
|
@@ -137,6 +137,7 @@ export const Autocomplete = <T = AutocompleteOption>(props: AutocompleteProps<T>
|
|
|
137
137
|
|
|
138
138
|
{s.open && (
|
|
139
139
|
<SuggestionListBox
|
|
140
|
+
copy={props.copy}
|
|
140
141
|
open={s.open}
|
|
141
142
|
anchorEl={s.inputRef.current}
|
|
142
143
|
portal={cfg.portal}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
+
import type { AutocompleteCopy } from '../../../copy';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* A suggestion's behavior on select:
|
|
@@ -24,6 +25,12 @@ export interface AutocompleteOption<T = unknown> {
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
export interface AutocompleteProps<T = AutocompleteOption> {
|
|
28
|
+
/**
|
|
29
|
+
* The two rows the dropdown shows in place of options — while an async
|
|
30
|
+
* fetch is in flight, and when it came back empty. REQUIRED: this package
|
|
31
|
+
* ships no default copy.
|
|
32
|
+
*/
|
|
33
|
+
copy: AutocompleteCopy;
|
|
27
34
|
/** Controlled input value */
|
|
28
35
|
value: string;
|
|
29
36
|
/** Input value change */
|