@12-apps/ui 6.29.1 → 6.31.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/NATIVE.md +1 -1
- package/components-catalog.md +7 -0
- package/components-guidelines.md +31 -0
- package/dist/_internal/components/data-display/Alert/Alert.js +5 -4
- package/dist/_internal/components/data-display/Alert/Alert.metrics.js +3 -2
- package/dist/_internal/components/data-display/Alert/Alert.styles.js +4 -3
- package/dist/_internal/components/data-display/Avatar/Avatar.js +6 -5
- package/dist/_internal/components/data-display/Avatar/Avatar.view.js +5 -4
- package/dist/_internal/components/data-display/Badge/Badge.animations.js +3 -2
- package/dist/_internal/components/data-display/Badge/Badge.js +6 -5
- package/dist/_internal/components/data-display/Badge/Badge.metrics.js +3 -2
- package/dist/_internal/components/data-display/Badge/Badge.styles.js +4 -3
- package/dist/_internal/components/data-display/Badge/Badge.variants.js +3 -2
- package/dist/_internal/components/data-display/Badge/BadgeContent.js +5 -4
- package/dist/_internal/components/data-display/Banner/Banner.js +3 -2
- package/dist/_internal/components/data-display/Banner/Banner.styles.js +3 -2
- package/dist/_internal/components/data-display/CardKit/CardKebab.js +8 -6
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +6 -5
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +12 -10
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +8 -6
- package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +7 -5
- package/dist/_internal/components/data-display/Carousel/Carousel.js +10 -8
- package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +6 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +6 -4
- package/dist/_internal/components/data-display/Chart/Chart.js +10 -8
- package/dist/_internal/components/data-display/Chart/SpecChart.js +13 -11
- package/dist/_internal/components/data-display/Chart/chart-context.js +7 -5
- package/dist/_internal/components/data-display/Chart/chart-internals.js +6 -4
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +9 -7
- package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +6 -5
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +66 -64
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +88 -86
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +13 -11
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +14 -12
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +22 -20
- package/dist/_internal/components/data-display/DataViews/base-card.js +9 -8
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +10 -9
- package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +5 -4
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +9 -8
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +15 -14
- package/dist/_internal/components/data-display/DataViews/card-surface.js +3 -2
- package/dist/_internal/components/data-display/DataViews/data-views-bar-controls.js +3 -1
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +20 -18
- package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +6 -5
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +9 -7
- package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +3 -1
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +13 -11
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +6 -5
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +10 -8
- package/dist/_internal/components/data-display/DataViews/data-views-export.js +10 -8
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +26 -24
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +17 -15
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +8 -6
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +62 -60
- package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +6 -5
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +37 -35
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +19 -17
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +23 -21
- package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +3 -1
- package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +7 -5
- package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-search.js +3 -1
- package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +10 -8
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +24 -22
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +34 -32
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +23 -21
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +10 -8
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
- package/dist/_internal/components/data-display/DataViews/save-view-preview.js +6 -5
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +11 -9
- package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
- package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +6 -5
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +16 -14
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +15 -13
- package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +2 -2
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +21 -19
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +4 -4
- package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +4 -2
- package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapPreview.hooks.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +14 -12
- package/dist/_internal/components/data-display/MapPreview/MapSearchBar.js +3 -1
- package/dist/_internal/components/data-display/MapPreview/MapTiles.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +4 -4
- package/dist/_internal/components/data-display/MapPreview/useMapPreview.js +3 -3
- package/dist/_internal/components/data-display/Progress/Progress.js +6 -5
- package/dist/_internal/components/data-display/Progress/Progress.metrics.js +4 -3
- package/dist/_internal/components/data-display/Progress/Progress.styles.js +5 -4
- package/dist/_internal/components/data-display/Sheet/Sheet.body.js +5 -3
- package/dist/_internal/components/data-display/Sheet/Sheet.js +7 -5
- package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +6 -4
- package/dist/_internal/components/data-display/Table/Table.js +2 -2
- package/dist/_internal/components/data-display/index.js +61 -59
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +8 -6
- package/dist/_internal/components/feedback/Dialog/Dialog.js +2 -2
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.helpers.js +12 -0
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +26 -0
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js.map +1 -0
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.metrics.js +12 -0
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.metrics.js.map +1 -0
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.types.js +1 -0
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.types.js.map +1 -0
- package/dist/_internal/components/feedback/index.js +35 -17
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +2 -2
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +11 -9
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +6 -4
- package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +4 -2
- package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +4 -2
- package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +3 -1
- package/dist/_internal/components/form/Autocomplete/Autocomplete.js +4 -2
- package/dist/_internal/components/form/Autocomplete/Autocomplete.parts.js +3 -1
- package/dist/_internal/components/form/Button/Button.js +7 -5
- package/dist/_internal/components/form/Button/Button.metrics.js +1 -3
- package/dist/_internal/components/form/Button/Button.styles.js +5 -4
- package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
- package/dist/_internal/components/form/Calendar/Calendar.js +6 -6
- package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
- package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
- package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +9 -7
- package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +4 -2
- package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +4 -2
- package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +6 -4
- package/dist/_internal/components/form/CategorySelect/CategoryRows.js +5 -3
- package/dist/_internal/components/form/CategorySelect/CategorySelect.js +12 -10
- package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +3 -1
- package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +4 -2
- package/dist/_internal/components/form/CepField/CepField.js +6 -4
- package/dist/_internal/components/form/Checkbox/Checkbox.js +4 -3
- package/dist/_internal/components/form/CodeEditor/CodeEditor.js +5 -3
- package/dist/_internal/components/form/Command/Command.js +7 -5
- package/dist/_internal/components/form/Command/Command.styles.js +6 -4
- package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +3 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +5 -3
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +14 -12
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +4 -2
- package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +5 -3
- package/dist/_internal/components/form/Input/Input.js +5 -3
- package/dist/_internal/components/form/Input/Input.metrics.js +1 -1
- package/dist/_internal/components/form/Input/Input.styles.js +6 -2
- package/dist/_internal/components/form/InputOTP/InputOTP.js +4 -2
- package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +3 -1
- package/dist/_internal/components/form/Label/Label.js +7 -5
- package/dist/_internal/components/form/Label/Label.styles.js +6 -4
- package/dist/_internal/components/form/Menubar/Menubar.item.js +7 -5
- package/dist/_internal/components/form/Menubar/Menubar.js +10 -8
- package/dist/_internal/components/form/Menubar/Menubar.styles.js +6 -4
- package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +8 -6
- package/dist/_internal/components/form/PhoneInput/PhoneInput.js +3 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.js +5 -3
- package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +3 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +4 -2
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +4 -2
- package/dist/_internal/components/form/Select/Select.js +4 -2
- package/dist/_internal/components/form/Select/Select.metrics.js +1 -1
- package/dist/_internal/components/form/Switch/Switch.js +8 -7
- package/dist/_internal/components/form/Switch/Switch.parts.js +6 -5
- package/dist/_internal/components/form/Switch/Switch.styles.js +5 -4
- package/dist/_internal/components/form/Textarea/Textarea.js +3 -1
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +6 -2
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
- package/dist/_internal/components/form/Toggle/Toggle.js +4 -2
- package/dist/_internal/components/form/Toggle/Toggle.styles.js +3 -1
- package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +4 -1
- package/dist/_internal/components/form/index.js +89 -87
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +13 -11
- package/dist/_internal/components/form/total-form/Fields/CepField.js +7 -5
- package/dist/_internal/components/form/total-form/Fields/SelectField.js +5 -3
- package/dist/_internal/components/form/total-form/Fields/TextField.js +6 -4
- package/dist/_internal/components/form/total-form/Fields/ToggleField.js +5 -2
- package/dist/_internal/components/form/total-form/Fields/index.js +27 -24
- package/dist/_internal/components/form/total-form/SubmitButton.js +8 -6
- package/dist/_internal/components/index.js +232 -218
- package/dist/_internal/components/layout/Box/Box.js +8 -6
- package/dist/_internal/components/layout/Card/Card.js +2 -2
- package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +3 -1
- package/dist/_internal/components/layout/ContentToolbar/ContentToolbar.js +3 -1
- package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +3 -1
- package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +4 -2
- package/dist/_internal/components/layout/ContentToolbar/MultiSelectTriggers.js +3 -1
- package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +3 -1
- package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +3 -1
- package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +1 -1
- package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +4 -4
- package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +2 -2
- package/dist/_internal/components/layout/Stack/Stack.js +9 -7
- package/dist/_internal/components/layout/TableFilter/TableFilter.js +3 -1
- package/dist/_internal/components/layout/index.js +32 -30
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +14 -12
- package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +6 -4
- package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +3 -3
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +2 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +4 -4
- package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +2 -2
- package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
- package/dist/_internal/components/navigation/Tabs/Tabs.js +2 -2
- package/dist/_internal/components/navigation/index.js +34 -32
- package/dist/_internal/components/typography/Heading/Heading.js +6 -5
- package/dist/_internal/components/typography/Heading/Heading.metrics.js +4 -3
- package/dist/_internal/components/typography/Heading/Heading.styles.js +5 -4
- package/dist/_internal/components/typography/Paragraph/Paragraph.js +4 -3
- package/dist/_internal/components/typography/Text/Text.js +5 -4
- package/dist/_internal/components/typography/Text/Text.metrics.js +4 -3
- package/dist/_internal/components/typography/index.js +9 -8
- package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
- package/dist/_internal/components/utility/index.js +15 -15
- package/dist/_internal/en-US.data-display.js +2 -2
- package/dist/_internal/en-US.feedback.js +3 -1
- package/dist/_internal/icons/Icon.js +8 -6
- package/dist/_internal/provider/UiProvider.js +7 -5
- package/dist/_internal/provider/mui-bridge.js +6 -4
- package/dist/_internal/provider/use-ui-theme.js +7 -5
- package/dist/_internal/pt-BR.feedback.js +3 -1
- package/dist/_internal/social-login-button/social-login-button.js +16 -14
- package/dist/_internal/tokens/field-radius.core.js +8 -0
- package/dist/_internal/tokens/field-radius.core.js.map +1 -0
- package/dist/_internal/tokens/field-radius.js +18 -0
- package/dist/_internal/tokens/field-radius.js.map +1 -0
- package/dist/_internal/tokens/theme.js +3 -2
- package/dist/_internal/user-avatar/user-avatar.js +16 -14
- package/dist/charts.js +16 -14
- package/dist/{chunk-RXVPUW7V.js → chunk-26ORCF6J.js} +2 -2
- package/dist/chunk-26X4CZVR.js +7 -0
- package/dist/chunk-26X4CZVR.js.map +1 -0
- package/dist/{chunk-XZTOIEKI.js → chunk-272OV2KZ.js} +5 -2
- package/dist/chunk-272OV2KZ.js.map +1 -0
- package/dist/{chunk-THOPGHTY.js → chunk-2DFH74T4.js} +2 -2
- package/dist/{chunk-W5CW7JFZ.js → chunk-2N2KNXTF.js} +2 -2
- package/dist/{chunk-W3FAKT3D.js → chunk-2SWQ6HIK.js} +4 -4
- package/dist/{chunk-IVVOIDE5.js → chunk-2YOQLBEX.js} +3 -3
- package/dist/{chunk-DEE6IPGI.js → chunk-32MTYYGC.js} +10 -10
- package/dist/{chunk-GVDJQMFI.js → chunk-35GWNOLB.js} +2 -2
- package/dist/{chunk-MI2MVH3I.js → chunk-3BAFJMBH.js} +8 -5
- package/dist/chunk-3BAFJMBH.js.map +1 -0
- package/dist/chunk-3MEIGSDK.js +88 -0
- package/dist/chunk-3MEIGSDK.js.map +1 -0
- package/dist/{chunk-W4SDVTZC.js → chunk-3PT3SBJ7.js} +2 -2
- package/dist/{chunk-P3NRT6GV.js → chunk-3ZGQSWHJ.js} +5 -5
- package/dist/{chunk-PFLKPNBU.js → chunk-4DUHJIR2.js} +2 -2
- package/dist/{chunk-CJUOBTLL.js → chunk-4EL5ZSZ3.js} +6 -3
- package/dist/chunk-4EL5ZSZ3.js.map +1 -0
- package/dist/{chunk-46UPILLK.js → chunk-4ETQRBZC.js} +4 -4
- package/dist/{chunk-65DLYC4S.js → chunk-4LDRYLE2.js} +2 -2
- package/dist/{chunk-ON2CMKTI.js → chunk-4WT4PV4M.js} +2 -2
- package/dist/chunk-55E7GLVT.js +109 -0
- package/dist/chunk-55E7GLVT.js.map +1 -0
- package/dist/chunk-55FFONIV.js +11 -0
- package/dist/chunk-55FFONIV.js.map +1 -0
- package/dist/{chunk-AIBNBWQU.js → chunk-5EQFAFR3.js} +2 -2
- package/dist/{chunk-EVXFEXBS.js → chunk-5UGXAAZG.js} +2 -2
- package/dist/{chunk-DOMEYGTN.js → chunk-5YOFMMK3.js} +2 -2
- package/dist/{chunk-JE6RZ5L6.js → chunk-5ZOJLYD2.js} +4 -4
- package/dist/{chunk-J3JGO6Y6.js → chunk-65IHPI4S.js} +5 -1
- package/dist/chunk-65IHPI4S.js.map +1 -0
- package/dist/{chunk-NY2Y2SHA.js → chunk-67L5CMXP.js} +6 -6
- package/dist/{chunk-L6TCIZFR.js → chunk-6BGS5FND.js} +3 -3
- package/dist/{chunk-QPDDS6DQ.js → chunk-6PSAPCTE.js} +2 -2
- package/dist/{chunk-QSKJLMNS.js → chunk-6SK3MTYJ.js} +4 -4
- package/dist/{chunk-MGPA6KTM.js → chunk-6SNRPCSK.js} +2 -2
- package/dist/{chunk-WXD7MGBT.js → chunk-6SXZ7CF2.js} +6 -2
- package/dist/chunk-6SXZ7CF2.js.map +1 -0
- package/dist/{chunk-XELVDPKL.js → chunk-6VZYQC7T.js} +6 -6
- package/dist/chunk-6YIKVXAV.js +1 -0
- package/dist/chunk-6YIKVXAV.js.map +1 -0
- package/dist/{chunk-G5ZVD5IJ.js → chunk-7AR2R7TV.js} +4 -4
- package/dist/{chunk-B6IURHSZ.js → chunk-7DNQHMDO.js} +4 -4
- package/dist/{chunk-VLHGBFR6.js → chunk-7U36V4CU.js} +4 -4
- package/dist/{chunk-ZU3SWR4I.js → chunk-7YTLJUBX.js} +2 -2
- package/dist/{chunk-C5EFVSBN.js → chunk-A5FIYKAN.js} +2 -2
- package/dist/{chunk-SOCKK67R.js → chunk-AFZUPCBK.js} +6 -6
- package/dist/{chunk-PQECNGDE.js → chunk-AGYGNNOM.js} +2 -2
- package/dist/{chunk-AVI3XHRQ.js → chunk-AIRWM7KK.js} +4 -4
- package/dist/{chunk-T5WNNEP5.js → chunk-APMEXS3Y.js} +2 -2
- package/dist/chunk-ASHXIAJO.js +88 -0
- package/dist/chunk-ASHXIAJO.js.map +1 -0
- package/dist/{chunk-K7DCYV5Q.js → chunk-ATBT4RJZ.js} +2 -2
- package/dist/{chunk-JMVIIKII.js → chunk-BDVJ65GR.js} +6 -2
- package/dist/chunk-BDVJ65GR.js.map +1 -0
- package/dist/{chunk-QZBUGUOY.js → chunk-BHXFPZAA.js} +11 -8
- package/dist/chunk-BHXFPZAA.js.map +1 -0
- package/dist/{chunk-HKV4MQ2W.js → chunk-BKP7YW3Y.js} +2 -2
- package/dist/{chunk-UN5INW6K.js → chunk-BPYPUEM5.js} +3 -3
- package/dist/{chunk-SONWG2RT.js → chunk-BRAF4MFO.js} +9 -6
- package/dist/chunk-BRAF4MFO.js.map +1 -0
- package/dist/{chunk-BEWD734I.js → chunk-BRUJC7OG.js} +3 -3
- package/dist/{chunk-SLMA4UQS.js → chunk-BWSYSSF3.js} +3 -3
- package/dist/{chunk-FR6AJSMT.js → chunk-C2ZNAQMO.js} +5 -5
- package/dist/{chunk-TU6RNZUQ.js → chunk-C4NRFERD.js} +2 -2
- package/dist/{chunk-V7F53GEO.js → chunk-CATLG2RT.js} +7 -7
- package/dist/{chunk-LYMAMKJT.js → chunk-CEA4QA63.js} +2 -2
- package/dist/{chunk-XXDXW6TX.js → chunk-CIVLXOLG.js} +2 -2
- package/dist/{chunk-7TZ6OC5T.js → chunk-CJMU3G2J.js} +6 -6
- package/dist/{chunk-MVJYIHPH.js → chunk-CKW267ZK.js} +6 -6
- package/dist/{chunk-MRMNVGNX.js → chunk-CPA2YRVZ.js} +2 -2
- package/dist/{chunk-TSFFZ3AH.js → chunk-D5YGDCMP.js} +15 -15
- package/dist/{chunk-3TFUAKWJ.js → chunk-D6P5PSHU.js} +2 -2
- package/dist/{chunk-3W7IEWEL.js → chunk-D7Q42CRZ.js} +8 -2
- package/dist/chunk-D7Q42CRZ.js.map +1 -0
- package/dist/{chunk-DVE53B2L.js → chunk-DBXGRZBJ.js} +7 -7
- package/dist/{chunk-XSJWN3WH.js → chunk-DF2FFYZ7.js} +7 -7
- package/dist/{chunk-T7WU7JGC.js → chunk-DHQ6ASUD.js} +5 -5
- package/dist/{chunk-ZZOOSKSV.js → chunk-DV42HAVP.js} +12 -6
- package/dist/chunk-DV42HAVP.js.map +1 -0
- package/dist/{chunk-RBGOGTT2.js → chunk-DWZ7FLA7.js} +4 -4
- package/dist/{chunk-DVUPIVI2.js → chunk-DX36KZUV.js} +4 -4
- package/dist/{chunk-FVPN4YKW.js → chunk-EATFKTO3.js} +3 -3
- package/dist/{chunk-VRKS5K4N.js → chunk-EJJRJYB5.js} +4 -4
- package/dist/{chunk-TSEWUY4V.js → chunk-EN5Q5RPQ.js} +3 -3
- package/dist/{chunk-ZS44PY7T.js → chunk-ETSKBOXN.js} +5 -3
- package/dist/chunk-ETSKBOXN.js.map +1 -0
- package/dist/{chunk-EYC6ERJJ.js → chunk-ETU4LNU7.js} +3 -3
- package/dist/{chunk-UC6A6ASM.js → chunk-EYRSUVBC.js} +2 -2
- package/dist/{chunk-HLYPI5CO.js → chunk-F22WT7UX.js} +2 -2
- package/dist/{chunk-JPVDZXXX.js → chunk-F65LT7XV.js} +2 -2
- package/dist/{chunk-V5IOLAIS.js → chunk-F73D4EMA.js} +1 -1
- package/dist/chunk-F73D4EMA.js.map +1 -0
- package/dist/{chunk-J2K65BQQ.js → chunk-FC74EAW4.js} +4 -4
- package/dist/{chunk-TEE6HNHS.js → chunk-FRW4SYZD.js} +4 -4
- package/dist/{chunk-LCXXPIG3.js → chunk-G3WUOPWE.js} +2 -2
- package/dist/{chunk-S6YY2WWK.js → chunk-G5G4Q7G6.js} +13 -3
- package/dist/chunk-G5G4Q7G6.js.map +1 -0
- package/dist/{chunk-SQV3HPTZ.js → chunk-G76H5PEM.js} +4 -4
- package/dist/chunk-GDN2LUTZ.js +39 -0
- package/dist/chunk-GDN2LUTZ.js.map +1 -0
- package/dist/{chunk-DFK6QCXX.js → chunk-GEZYZ446.js} +1 -2
- package/dist/{chunk-DFK6QCXX.js.map → chunk-GEZYZ446.js.map} +1 -1
- package/dist/{chunk-XYDW5RQB.js → chunk-GKGA2ZCW.js} +2 -2
- package/dist/{chunk-KW7H5O3K.js → chunk-GLPHRHIT.js} +7 -7
- package/dist/{chunk-3PUOLOEP.js → chunk-GOKMLXZH.js} +2 -2
- package/dist/{chunk-R6SBP5M5.js → chunk-GOWBYHYW.js} +4 -4
- package/dist/{chunk-B7NV6JFG.js → chunk-GUROYOKQ.js} +2 -2
- package/dist/{chunk-PVIAHB7D.js → chunk-H2RHA73H.js} +9 -9
- package/dist/{chunk-C5YBXQTK.js → chunk-H35CQ6DF.js} +3 -3
- package/dist/{chunk-ZUY65MFH.js → chunk-H7ZN2GW7.js} +6 -3
- package/dist/chunk-H7ZN2GW7.js.map +1 -0
- package/dist/{chunk-5WNQJ5KS.js → chunk-HEWJJ4VE.js} +6 -3
- package/dist/chunk-HEWJJ4VE.js.map +1 -0
- package/dist/{chunk-SHDIZSN5.js → chunk-HFBME3C5.js} +2 -2
- package/dist/{chunk-HS2OJI6L.js → chunk-HSVNFMXY.js} +8 -8
- package/dist/{chunk-WQFIV5WD.js → chunk-HZAPN7XD.js} +6 -2
- package/dist/chunk-HZAPN7XD.js.map +1 -0
- package/dist/{chunk-NWQWUYOV.js → chunk-I2IZ53QS.js} +2 -2
- package/dist/{chunk-K4N3V7YE.js → chunk-IASDP44E.js} +4 -4
- package/dist/{chunk-PCYGUOWJ.js → chunk-IAVAZ36T.js} +4 -4
- package/dist/{chunk-B443IIQG.js → chunk-IE7ISTLQ.js} +4 -4
- package/dist/{chunk-LKF5KQ2Q.js → chunk-IIUB4IOH.js} +4 -4
- package/dist/{chunk-UKPZVX3J.js → chunk-INH2BDHV.js} +9 -9
- package/dist/{chunk-PUBPZOQJ.js → chunk-IPE5FFFD.js} +2 -2
- package/dist/{chunk-HP2ODXNA.js → chunk-IPS55KWK.js} +2 -2
- package/dist/{chunk-J3ZP6EUS.js → chunk-IQFUV3BA.js} +2 -2
- package/dist/{chunk-A7LG3AXV.js → chunk-IRSI3BFF.js} +26 -13
- package/dist/chunk-IRSI3BFF.js.map +1 -0
- package/dist/{chunk-2ZRZTGWP.js → chunk-ISW5K72V.js} +5 -5
- package/dist/{chunk-OD4Z5G6G.js → chunk-J2RRZZXC.js} +2 -2
- package/dist/{chunk-FV36LFPX.js → chunk-JHOBW7OD.js} +6 -2
- package/dist/chunk-JHOBW7OD.js.map +1 -0
- package/dist/{chunk-BYMWW65P.js → chunk-JOPTI47I.js} +3 -3
- package/dist/chunk-JQRKXMSH.js +1 -0
- package/dist/chunk-JQRKXMSH.js.map +1 -0
- package/dist/{chunk-T2VO32Z2.js → chunk-JUHPNTDA.js} +10 -4
- package/dist/chunk-JUHPNTDA.js.map +1 -0
- package/dist/{chunk-J3D34ZBL.js → chunk-JVMNE5G4.js} +6 -2
- package/dist/chunk-JVMNE5G4.js.map +1 -0
- package/dist/{chunk-5LQ7PKMW.js → chunk-K6FCXPTS.js} +1 -3
- package/dist/chunk-K6FCXPTS.js.map +1 -0
- package/dist/{chunk-VKH7AENA.js → chunk-KJYD5OJ4.js} +2 -2
- package/dist/{chunk-HZVFAGLZ.js → chunk-L6UTYFAB.js} +6 -3
- package/dist/chunk-L6UTYFAB.js.map +1 -0
- package/dist/chunk-L7BRU4UF.js +39 -0
- package/dist/chunk-L7BRU4UF.js.map +1 -0
- package/dist/{chunk-RVGG5YJY.js → chunk-LG6DHNRD.js} +2 -2
- package/dist/{chunk-WC5XYWTE.js → chunk-LWAOL4BG.js} +2 -2
- package/dist/{chunk-MNSW33DU.js → chunk-MCAXIKQD.js} +4 -4
- package/dist/{chunk-H53YNR23.js → chunk-MRGPVPQC.js} +8 -8
- package/dist/{chunk-DBYFC6CF.js → chunk-MSKEFXXV.js} +5 -2
- package/dist/chunk-MSKEFXXV.js.map +1 -0
- package/dist/{chunk-EZNTM6PT.js → chunk-MYUZPUXQ.js} +3 -3
- package/dist/{chunk-SX3V2DLV.js → chunk-NFJUBPIN.js} +2 -2
- package/dist/{chunk-XGOWREVV.js → chunk-NJ6D37KV.js} +2 -2
- package/dist/{chunk-4H4Y2SX3.js → chunk-NLUZGT4U.js} +3 -3
- package/dist/{chunk-NGVGTMHT.js → chunk-NR2HXHBR.js} +2 -2
- package/dist/{chunk-HKKSZ7HG.js → chunk-O6DRUOUF.js} +2 -2
- package/dist/{chunk-YB6MDGPR.js → chunk-O7SE4PYT.js} +8 -3
- package/dist/chunk-O7SE4PYT.js.map +1 -0
- package/dist/{chunk-R6SSXEK2.js → chunk-OFMDFN3U.js} +2 -2
- package/dist/{chunk-EUKYQXYU.js → chunk-OHKEQ7QJ.js} +2 -2
- package/dist/{chunk-NUB4T3RQ.js → chunk-OIFBBDYX.js} +2 -2
- package/dist/{chunk-PFZAUMJA.js → chunk-OL7UQMBI.js} +2 -2
- package/dist/{chunk-O42ZA3TW.js → chunk-ORIFMVN4.js} +3 -3
- package/dist/{chunk-5KFZGB5U.js → chunk-P4BZ7YE6.js} +2 -2
- package/dist/{chunk-JRWPI4XF.js → chunk-P7FQUGED.js} +5 -5
- package/dist/{chunk-XBZ43VIV.js → chunk-PCONTSJJ.js} +10 -10
- package/dist/{chunk-XOCLWQON.js → chunk-PEMZ2ABQ.js} +4 -4
- package/dist/{chunk-UCU5FCYE.js → chunk-PS3EJLOC.js} +6 -2
- package/dist/chunk-PS3EJLOC.js.map +1 -0
- package/dist/{chunk-XXE6NTJB.js → chunk-Q544QEIN.js} +5 -3
- package/dist/chunk-Q544QEIN.js.map +1 -0
- package/dist/{chunk-VXTYVJDK.js → chunk-Q5BSNHN7.js} +2 -2
- package/dist/{chunk-IQ7WZ3RN.js → chunk-QKDFD4VT.js} +4 -4
- package/dist/{chunk-YTYROOLY.js → chunk-QNUWSXF2.js} +3 -3
- package/dist/{chunk-VESIQYBF.js → chunk-QP3KK4KO.js} +12 -12
- package/dist/{chunk-MSUSZLRE.js → chunk-QPMLACIK.js} +2 -2
- package/dist/{chunk-MHSTG7FF.js → chunk-R4SOPN6K.js} +8 -5
- package/dist/chunk-R4SOPN6K.js.map +1 -0
- package/dist/{chunk-TF4TPLF2.js → chunk-R7KR5FYJ.js} +2 -2
- package/dist/{chunk-237NDIT2.js → chunk-RCI6KVN6.js} +5 -5
- package/dist/{chunk-VIK3HAUQ.js → chunk-RDFPH47Y.js} +8 -2
- package/dist/chunk-RDFPH47Y.js.map +1 -0
- package/dist/{chunk-WYDGPJ3Z.js → chunk-RFZU5BTG.js} +4 -4
- package/dist/{chunk-PJTSGHTY.js → chunk-RIA34EUT.js} +2 -2
- package/dist/{chunk-JOXBCXVL.js → chunk-RMB4RTTM.js} +9 -9
- package/dist/{chunk-RNCQ5KHQ.js → chunk-RQFBLYYH.js} +2 -2
- package/dist/{chunk-4T6W43TO.js → chunk-RRDL7AGQ.js} +2 -2
- package/dist/{chunk-JB67KPGM.js → chunk-RRO2EOJB.js} +4 -4
- package/dist/{chunk-5UC2RNOY.js → chunk-RWIBPIPD.js} +3 -3
- package/dist/{chunk-QGAYEBMU.js → chunk-SAIKHWH7.js} +8 -8
- package/dist/{chunk-PZEC5CQA.js → chunk-SDSAQ5YS.js} +2 -2
- package/dist/{chunk-YFY3YVV6.js → chunk-SGV7QGYQ.js} +7 -7
- package/dist/{chunk-GJQYM3PM.js → chunk-SHQWIDD5.js} +4 -4
- package/dist/{chunk-OLQDB346.js → chunk-SMUZRLFZ.js} +2 -2
- package/dist/{chunk-QGBMCB76.js → chunk-SSJHEV5Z.js} +2 -2
- package/dist/{chunk-L2E7TY7P.js → chunk-SZB2Z6QN.js} +6 -2
- package/dist/chunk-SZB2Z6QN.js.map +1 -0
- package/dist/{chunk-MEWYA74E.js → chunk-SZZLABMO.js} +3 -3
- package/dist/{chunk-OJCK5RNJ.js → chunk-TLY2QMU5.js} +3 -3
- package/dist/{chunk-TTW4MAOJ.js → chunk-UCTJJYVC.js} +5 -5
- package/dist/{chunk-BLT5ZBVL.js → chunk-UEJQQVP2.js} +4 -4
- package/dist/{chunk-ALAJBLBE.js → chunk-UHWHTNUS.js} +5 -5
- package/dist/{chunk-EMAX7RPN.js → chunk-URK67BAE.js} +5 -5
- package/dist/{chunk-FGUESLDX.js → chunk-USPQZQBF.js} +5 -1
- package/dist/chunk-USPQZQBF.js.map +1 -0
- package/dist/{chunk-GH2DC7PS.js → chunk-V3RVRZAU.js} +5 -5
- package/dist/{chunk-624TFFLJ.js → chunk-V6YZ3PL5.js} +2 -2
- package/dist/{chunk-236QP424.js → chunk-VGSEI7PQ.js} +2 -2
- package/dist/{chunk-HDNK7BAX.js → chunk-VNEEXUWA.js} +3 -3
- package/dist/{chunk-EPRA5QLB.js → chunk-VUFMV5Q5.js} +2 -2
- package/dist/{chunk-LVCUJ7YU.js → chunk-VYMULXCJ.js} +6 -1
- package/dist/chunk-VYMULXCJ.js.map +1 -0
- package/dist/{chunk-QYNCPS5W.js → chunk-WBKWIFXA.js} +6 -6
- package/dist/{chunk-3BPDHWVF.js → chunk-WCLWFN3F.js} +9 -9
- package/dist/{chunk-6TSP45KC.js → chunk-WHLVMQNF.js} +5 -1
- package/dist/chunk-WHLVMQNF.js.map +1 -0
- package/dist/{chunk-FOKBP6HR.js → chunk-WI6GD4MV.js} +10 -10
- package/dist/{chunk-XXJRT6BP.js → chunk-WMALDOF5.js} +4 -4
- package/dist/{chunk-TOYEP23N.js → chunk-WONCE5GB.js} +7 -3
- package/dist/chunk-WONCE5GB.js.map +1 -0
- package/dist/{chunk-4OSGKO7E.js → chunk-WVJI3Z4P.js} +2 -2
- package/dist/{chunk-VVXA7T2M.js → chunk-WVQ47UTI.js} +2 -2
- package/dist/{chunk-GJUIZ5FN.js → chunk-X2R7QG5I.js} +7 -4
- package/dist/chunk-X2R7QG5I.js.map +1 -0
- package/dist/{chunk-TX3ZHO5R.js → chunk-XEUSTU7K.js} +8 -5
- package/dist/chunk-XEUSTU7K.js.map +1 -0
- package/dist/{chunk-6WIDZGXE.js → chunk-XMDH3MRV.js} +5 -2
- package/dist/chunk-XMDH3MRV.js.map +1 -0
- package/dist/{chunk-LSJY4LWZ.js → chunk-XPPEUGHG.js} +4 -4
- package/dist/{chunk-JVVTSSS4.js → chunk-XVM4ZIRE.js} +2 -2
- package/dist/{chunk-7MR2JCJW.js → chunk-Y2CSBXQT.js} +2 -2
- package/dist/{chunk-D6HDJVQW.js → chunk-YANLN6HP.js} +5 -5
- package/dist/{chunk-NGM5XKAS.js → chunk-YXQ2NJHF.js} +3 -3
- package/dist/{chunk-HQB5XNK5.js → chunk-ZCNCQGWK.js} +2 -2
- package/dist/{chunk-WC3W36AM.js → chunk-ZOUWHGV3.js} +4 -4
- package/dist/{chunk-2L2NWXWJ.js → chunk-ZVTJGWIV.js} +2 -2
- package/dist/data-display/Alert.js +5 -4
- package/dist/data-display/Avatar.js +6 -5
- package/dist/data-display/Badge.js +6 -5
- package/dist/data-display/Banner.js +3 -2
- package/dist/data-display/CardKit.js +15 -13
- package/dist/data-display/Carousel.js +10 -8
- package/dist/data-display/Chart.js +16 -14
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +107 -105
- package/dist/data-display/DescriptionItem.js +6 -5
- package/dist/data-display/FleetMap.js +21 -19
- package/dist/data-display/Lightbox.js +4 -4
- package/dist/data-display/MapPreview.js +14 -12
- package/dist/data-display/Progress.js +6 -5
- package/dist/data-display/Sheet.js +7 -5
- package/dist/data-display/Table.js +2 -2
- package/dist/en-US.js +7 -5
- package/dist/feedback/ConfirmAction.js +8 -6
- package/dist/feedback/Dialog.js +2 -2
- package/dist/feedback/NotificationStatusNotice.js +32 -0
- package/dist/feedback/NotificationStatusNotice.js.map +1 -0
- package/dist/form/AddressAutocomplete.js +11 -9
- package/dist/form/Autocomplete.js +4 -2
- package/dist/form/Button.js +7 -5
- package/dist/form/Calendar.js +6 -6
- package/dist/form/CategorySelect.js +12 -10
- package/dist/form/CepField.js +6 -4
- package/dist/form/Checkbox.js +4 -3
- package/dist/form/CodeEditor.js +5 -3
- package/dist/form/Command.js +7 -5
- package/dist/form/CreatableSelect.js +3 -1
- package/dist/form/DateRangePicker.js +14 -12
- package/dist/form/Input.js +5 -3
- package/dist/form/InputOTP.js +4 -2
- package/dist/form/Label.js +7 -5
- package/dist/form/Menubar.js +10 -8
- package/dist/form/PhoneInput.js +3 -1
- package/dist/form/RadioGroup.js +5 -3
- package/dist/form/RichTextEditor.js +4 -2
- package/dist/form/Select.js +4 -2
- package/dist/form/Switch.js +8 -7
- package/dist/form/Textarea.js +3 -1
- package/dist/form/Toggle.js +4 -2
- package/dist/form/ToggleGroup.js +4 -1
- package/dist/form/total-form.js +36 -34
- package/dist/icons.js +8 -6
- package/dist/layout/Box.js +8 -6
- package/dist/layout/Card.js +2 -2
- package/dist/layout/ContentToolbar.js +14 -12
- package/dist/layout/ScrollArea.js +1 -1
- package/dist/layout/SettingsLayout.js +6 -6
- package/dist/layout/Stack.js +9 -7
- package/dist/layout/TableFilter.js +3 -1
- package/dist/locales.js +10 -10
- package/dist/native/chunks/{chunk-2HLEFYJ5.js → chunk-7UEJ2FMQ.js} +2 -2
- package/dist/native/chunks/{chunk-6XDMYJBW.js → chunk-IVNAQJY6.js} +2 -2
- package/dist/native/chunks/{chunk-YXM4NR2B.js → chunk-LB65S6C7.js} +3 -3
- package/dist/native/chunks/{chunk-CO47ZRXO.js → chunk-S5SLTMPB.js} +2 -2
- package/dist/native/chunks/{chunk-BEPOBULQ.js → chunk-T3TYQMAH.js} +4 -5
- package/dist/native/chunks/chunk-T3TYQMAH.js.map +1 -0
- package/dist/native/chunks/{chunk-NVPXIJ2O.js → chunk-UKROAIPA.js} +4 -6
- package/dist/native/chunks/chunk-UKROAIPA.js.map +1 -0
- package/dist/native/chunks/{chunk-YQDDM6ZW.js → chunk-V72V2Q45.js} +6 -2
- package/dist/native/chunks/chunk-V72V2Q45.js.map +1 -0
- package/dist/native/chunks/{chunk-SOQVMWLQ.js → chunk-VAD5YVIZ.js} +5 -5
- package/dist/native/data-display/Alert.js +3 -3
- package/dist/native/data-display/Avatar.js +3 -3
- package/dist/native/data-display/Badge.js +3 -3
- package/dist/native/data-display/Chip.js +3 -3
- package/dist/native/data-display/EmptyState.js +5 -5
- package/dist/native/data-display/ErrorState.js +4 -4
- package/dist/native/data-display/FleetMap.js +6 -6
- package/dist/native/data-display/LoadingState.js +2 -2
- package/dist/native/data-display/Progress.js +2 -2
- package/dist/native/feedback/Dialog.js +3 -3
- package/dist/native/form/Button.js +3 -3
- package/dist/native/form/Checkbox.js +3 -3
- package/dist/native/form/Input.js +4 -5
- package/dist/native/form/Input.js.map +1 -1
- package/dist/native/form/Select.js +5 -6
- package/dist/native/form/Select.js.map +1 -1
- package/dist/native/form/Switch.js +2 -2
- package/dist/native/icons.js +3 -3
- package/dist/native/layout/Box.js +3 -3
- package/dist/native/layout/Card.js +2 -2
- package/dist/native/layout/Container.js +2 -2
- package/dist/native/layout/Skeleton.js +3 -3
- package/dist/native/layout/Spacer.js +2 -2
- package/dist/native/layout/Stack.js +3 -3
- package/dist/native/provider.js +2 -2
- package/dist/native/tokens.js +3 -1
- package/dist/native/typography/Heading.js +2 -2
- package/dist/native/typography/Paragraph.js +2 -2
- package/dist/native/typography/Text.js +2 -2
- package/dist/navigation/AppHeader.js +17 -15
- package/dist/navigation/CommandPalette.js +3 -3
- package/dist/navigation/NavigationMenu.js +4 -4
- package/dist/navigation/Pagination.js +2 -2
- package/dist/navigation/Tabs.js +2 -2
- package/dist/provider.js +8 -6
- package/dist/pt-BR.js +7 -5
- package/dist/social-login-button.js +16 -14
- package/dist/tokens.js +17 -3
- package/dist/types/components/data-display/DataViews/data-views-bar-controls.d.ts.map +1 -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-more-fields.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-number-input.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-search.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapSearchBar.d.ts.map +1 -1
- package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.d.ts +13 -0
- package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.d.ts.map +1 -0
- package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.helpers.d.ts +28 -0
- package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.helpers.d.ts.map +1 -0
- package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.metrics.d.ts +7 -0
- package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.metrics.d.ts.map +1 -0
- package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.types.d.ts +64 -0
- package/dist/types/components/feedback/NotificationStatusNotice/NotificationStatusNotice.types.d.ts.map +1 -0
- package/dist/types/components/feedback/NotificationStatusNotice/index.d.ts +4 -0
- package/dist/types/components/feedback/NotificationStatusNotice/index.d.ts.map +1 -0
- package/dist/types/components/feedback/index.d.ts +1 -0
- package/dist/types/components/feedback/index.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressTextField.d.ts.map +1 -1
- package/dist/types/components/form/Autocomplete/Autocomplete.parts.d.ts.map +1 -1
- package/dist/types/components/form/Button/Button.d.ts.map +1 -1
- package/dist/types/components/form/Button/Button.metrics.d.ts +0 -2
- package/dist/types/components/form/Button/Button.metrics.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategoryPanelFoot.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategoryPanelHead.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts +4 -1
- package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts.map +1 -1
- package/dist/types/components/form/CodeEditor/CodeEditor.d.ts.map +1 -1
- package/dist/types/components/form/CreatableSelect/CreatableSelect.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.metrics.d.ts +4 -2
- package/dist/types/components/form/Input/Input.metrics.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.styles.d.ts +6 -0
- package/dist/types/components/form/Input/Input.styles.d.ts.map +1 -1
- package/dist/types/components/form/InputOTP/InputOTP.styles.d.ts.map +1 -1
- package/dist/types/components/form/PhoneInput/PhoneInput.d.ts.map +1 -1
- package/dist/types/components/form/RadioGroup/RadioGroup.styles.d.ts.map +1 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/types/components/form/Select/Select.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/TextareaRichEditor.d.ts.map +1 -1
- package/dist/types/components/form/Toggle/Toggle.styles.d.ts.map +1 -1
- package/dist/types/components/form/ToggleGroup/ToggleGroup.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ColumnsMenu.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/MultiSelectTriggers.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/SortByDropdown.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ViewSelector.d.ts.map +1 -1
- package/dist/types/components/layout/TableFilter/TableFilter.d.ts.map +1 -1
- package/dist/types/copy/feedback.d.ts +43 -0
- package/dist/types/copy/feedback.d.ts.map +1 -1
- package/dist/types/en-US.feedback.d.ts +2 -1
- package/dist/types/en-US.feedback.d.ts.map +1 -1
- package/dist/types/provider/mui-bridge.d.ts.map +1 -1
- package/dist/types/pt-BR.feedback.d.ts +2 -1
- package/dist/types/pt-BR.feedback.d.ts.map +1 -1
- package/dist/types/tokens/field-radius.core.d.ts +26 -0
- package/dist/types/tokens/field-radius.core.d.ts.map +1 -0
- package/dist/types/tokens/field-radius.d.ts +60 -0
- package/dist/types/tokens/field-radius.d.ts.map +1 -0
- package/dist/types/tokens/scales.d.ts +1 -0
- package/dist/types/tokens/scales.d.ts.map +1 -1
- package/dist/types/tokens/theme.d.ts +8 -1
- package/dist/types/tokens/theme.d.ts.map +1 -1
- package/dist/types-native/components/form/Button/Button.metrics.d.ts +0 -2
- package/dist/types-native/components/form/Button/Button.metrics.d.ts.map +1 -1
- package/dist/types-native/components/form/Input/Input.look.native.d.ts.map +1 -1
- package/dist/types-native/components/form/Input/Input.metrics.d.ts +4 -2
- package/dist/types-native/components/form/Input/Input.metrics.d.ts.map +1 -1
- package/dist/types-native/components/form/Select/Select.native.d.ts.map +1 -1
- package/dist/types-native/tokens/field-radius.core.d.ts +26 -0
- package/dist/types-native/tokens/field-radius.core.d.ts.map +1 -0
- package/dist/types-native/tokens/index.native.d.ts +1 -0
- package/dist/types-native/tokens/index.native.d.ts.map +1 -1
- package/dist/types-native/tokens/theme.d.ts +8 -1
- package/dist/types-native/tokens/theme.d.ts.map +1 -1
- package/dist/typography/Heading.js +6 -5
- package/dist/typography/Paragraph.js +4 -3
- package/dist/typography/Text.js +5 -4
- package/dist/user-avatar.js +16 -14
- package/dist/utility/InstallPrompt.js +2 -2
- package/package.json +5 -1
- package/src/components/data-display/DataViews/data-views-bar-controls.tsx +4 -3
- package/src/components/data-display/DataViews/data-views-day-input.tsx +2 -1
- package/src/components/data-display/DataViews/data-views-more-fields.tsx +2 -1
- package/src/components/data-display/DataViews/data-views-number-input.tsx +2 -1
- package/src/components/data-display/DataViews/data-views-range-pill.tsx +2 -1
- package/src/components/data-display/DataViews/data-views-search.tsx +5 -3
- package/src/components/data-display/MapPreview/MapSearchBar.tsx +3 -1
- package/src/components/feedback/NotificationStatusNotice/NotificationStatusNotice.helpers.ts +80 -0
- package/src/components/feedback/NotificationStatusNotice/NotificationStatusNotice.md +106 -0
- package/src/components/feedback/NotificationStatusNotice/NotificationStatusNotice.metrics.ts +8 -0
- package/src/components/feedback/NotificationStatusNotice/NotificationStatusNotice.tsx +134 -0
- package/src/components/feedback/NotificationStatusNotice/NotificationStatusNotice.types.ts +83 -0
- package/src/components/feedback/NotificationStatusNotice/index.ts +16 -0
- package/src/components/feedback/NotificationStatusNotice/tests.md +24 -0
- package/src/components/feedback/NotificationStatusNotice/track.md +34 -0
- package/src/components/feedback/index.ts +1 -0
- package/src/components/form/AddressAutocomplete/AddressTextField.tsx +6 -1
- package/src/components/form/Autocomplete/Autocomplete.parts.tsx +2 -0
- package/src/components/form/Button/Button.metrics.ts +0 -2
- package/src/components/form/Button/Button.native.tsx +2 -2
- package/src/components/form/Button/Button.tsx +2 -1
- package/src/components/form/CategorySelect/CategoryPanelFoot.tsx +2 -1
- package/src/components/form/CategorySelect/CategoryPanelHead.tsx +2 -1
- package/src/components/form/CategorySelect/CategorySelect.styles.ts +6 -2
- package/src/components/form/CodeEditor/CodeEditor.tsx +2 -1
- package/src/components/form/CreatableSelect/CreatableSelect.tsx +2 -0
- package/src/components/form/Input/Input.look.native.ts +6 -3
- package/src/components/form/Input/Input.metrics.ts +4 -2
- package/src/components/form/Input/Input.native.tsx +2 -2
- package/src/components/form/Input/Input.styles.ts +14 -1
- package/src/components/form/Input/Input.tsx +2 -0
- package/src/components/form/InputOTP/InputOTP.styles.ts +2 -1
- package/src/components/form/PhoneInput/PhoneInput.tsx +6 -1
- package/src/components/form/RadioGroup/RadioGroup.styles.ts +11 -5
- package/src/components/form/RichTextEditor/RichTextEditor.tsx +2 -1
- package/src/components/form/Select/Select.native.tsx +1 -2
- package/src/components/form/Select/Select.tsx +3 -1
- package/src/components/form/Textarea/Textarea.tsx +2 -1
- package/src/components/form/Textarea/TextareaRichEditor.tsx +3 -2
- package/src/components/form/Toggle/Toggle.styles.ts +2 -1
- package/src/components/form/ToggleGroup/ToggleGroup.tsx +24 -12
- package/src/components/layout/ContentToolbar/ColumnsMenu.tsx +2 -1
- package/src/components/layout/ContentToolbar/ContentToolbar.tsx +2 -1
- package/src/components/layout/ContentToolbar/FilterTrigger.tsx +2 -0
- package/src/components/layout/ContentToolbar/MultiSelectTriggers.tsx +4 -2
- package/src/components/layout/ContentToolbar/SortByDropdown.tsx +2 -1
- package/src/components/layout/ContentToolbar/ViewSelector.tsx +2 -1
- package/src/components/layout/TableFilter/TableFilter.tsx +2 -0
- package/src/copy/feedback.ts +28 -0
- package/src/en-US.feedback.ts +69 -0
- package/src/provider/mui-bridge.ts +4 -1
- package/src/pt-BR.feedback.ts +69 -0
- package/src/tokens/field-radius.core.ts +26 -0
- package/src/tokens/field-radius.ts +90 -0
- package/src/tokens/index.native.ts +1 -0
- package/src/tokens/scales.ts +1 -0
- package/src/tokens/theme.ts +10 -3
- package/dist/chunk-3W7IEWEL.js.map +0 -1
- package/dist/chunk-5LQ7PKMW.js.map +0 -1
- package/dist/chunk-5WNQJ5KS.js.map +0 -1
- package/dist/chunk-6TSP45KC.js.map +0 -1
- package/dist/chunk-6WIDZGXE.js.map +0 -1
- package/dist/chunk-A7LG3AXV.js.map +0 -1
- package/dist/chunk-CJUOBTLL.js.map +0 -1
- package/dist/chunk-DBYFC6CF.js.map +0 -1
- package/dist/chunk-E5ACI7EA.js +0 -22
- package/dist/chunk-E5ACI7EA.js.map +0 -1
- package/dist/chunk-FGUESLDX.js.map +0 -1
- package/dist/chunk-FV36LFPX.js.map +0 -1
- package/dist/chunk-GJUIZ5FN.js.map +0 -1
- package/dist/chunk-HZVFAGLZ.js.map +0 -1
- package/dist/chunk-IFLZNCAI.js +0 -22
- package/dist/chunk-IFLZNCAI.js.map +0 -1
- package/dist/chunk-J3D34ZBL.js.map +0 -1
- package/dist/chunk-J3JGO6Y6.js.map +0 -1
- package/dist/chunk-JMVIIKII.js.map +0 -1
- package/dist/chunk-L2E7TY7P.js.map +0 -1
- package/dist/chunk-LVCUJ7YU.js.map +0 -1
- package/dist/chunk-MHSTG7FF.js.map +0 -1
- package/dist/chunk-MI2MVH3I.js.map +0 -1
- package/dist/chunk-QZBUGUOY.js.map +0 -1
- package/dist/chunk-S6YY2WWK.js.map +0 -1
- package/dist/chunk-SO2J7ULY.js +0 -1
- package/dist/chunk-SONWG2RT.js.map +0 -1
- package/dist/chunk-T2VO32Z2.js.map +0 -1
- package/dist/chunk-TOYEP23N.js.map +0 -1
- package/dist/chunk-TX3ZHO5R.js.map +0 -1
- package/dist/chunk-UCU5FCYE.js.map +0 -1
- package/dist/chunk-V5IOLAIS.js.map +0 -1
- package/dist/chunk-VIK3HAUQ.js.map +0 -1
- package/dist/chunk-WQFIV5WD.js.map +0 -1
- package/dist/chunk-WXD7MGBT.js.map +0 -1
- package/dist/chunk-XXE6NTJB.js.map +0 -1
- package/dist/chunk-XZTOIEKI.js.map +0 -1
- package/dist/chunk-YB6MDGPR.js.map +0 -1
- package/dist/chunk-ZS44PY7T.js.map +0 -1
- package/dist/chunk-ZUY65MFH.js.map +0 -1
- package/dist/chunk-ZZOOSKSV.js.map +0 -1
- package/dist/native/chunks/chunk-BEPOBULQ.js.map +0 -1
- package/dist/native/chunks/chunk-NVPXIJ2O.js.map +0 -1
- package/dist/native/chunks/chunk-YQDDM6ZW.js.map +0 -1
- /package/dist/{chunk-SO2J7ULY.js.map → _internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.helpers.js.map} +0 -0
- /package/dist/{chunk-RXVPUW7V.js.map → chunk-26ORCF6J.js.map} +0 -0
- /package/dist/{chunk-THOPGHTY.js.map → chunk-2DFH74T4.js.map} +0 -0
- /package/dist/{chunk-W5CW7JFZ.js.map → chunk-2N2KNXTF.js.map} +0 -0
- /package/dist/{chunk-W3FAKT3D.js.map → chunk-2SWQ6HIK.js.map} +0 -0
- /package/dist/{chunk-IVVOIDE5.js.map → chunk-2YOQLBEX.js.map} +0 -0
- /package/dist/{chunk-DEE6IPGI.js.map → chunk-32MTYYGC.js.map} +0 -0
- /package/dist/{chunk-GVDJQMFI.js.map → chunk-35GWNOLB.js.map} +0 -0
- /package/dist/{chunk-W4SDVTZC.js.map → chunk-3PT3SBJ7.js.map} +0 -0
- /package/dist/{chunk-P3NRT6GV.js.map → chunk-3ZGQSWHJ.js.map} +0 -0
- /package/dist/{chunk-PFLKPNBU.js.map → chunk-4DUHJIR2.js.map} +0 -0
- /package/dist/{chunk-46UPILLK.js.map → chunk-4ETQRBZC.js.map} +0 -0
- /package/dist/{chunk-65DLYC4S.js.map → chunk-4LDRYLE2.js.map} +0 -0
- /package/dist/{chunk-ON2CMKTI.js.map → chunk-4WT4PV4M.js.map} +0 -0
- /package/dist/{chunk-AIBNBWQU.js.map → chunk-5EQFAFR3.js.map} +0 -0
- /package/dist/{chunk-EVXFEXBS.js.map → chunk-5UGXAAZG.js.map} +0 -0
- /package/dist/{chunk-DOMEYGTN.js.map → chunk-5YOFMMK3.js.map} +0 -0
- /package/dist/{chunk-JE6RZ5L6.js.map → chunk-5ZOJLYD2.js.map} +0 -0
- /package/dist/{chunk-NY2Y2SHA.js.map → chunk-67L5CMXP.js.map} +0 -0
- /package/dist/{chunk-L6TCIZFR.js.map → chunk-6BGS5FND.js.map} +0 -0
- /package/dist/{chunk-QPDDS6DQ.js.map → chunk-6PSAPCTE.js.map} +0 -0
- /package/dist/{chunk-QSKJLMNS.js.map → chunk-6SK3MTYJ.js.map} +0 -0
- /package/dist/{chunk-MGPA6KTM.js.map → chunk-6SNRPCSK.js.map} +0 -0
- /package/dist/{chunk-XELVDPKL.js.map → chunk-6VZYQC7T.js.map} +0 -0
- /package/dist/{chunk-G5ZVD5IJ.js.map → chunk-7AR2R7TV.js.map} +0 -0
- /package/dist/{chunk-B6IURHSZ.js.map → chunk-7DNQHMDO.js.map} +0 -0
- /package/dist/{chunk-VLHGBFR6.js.map → chunk-7U36V4CU.js.map} +0 -0
- /package/dist/{chunk-ZU3SWR4I.js.map → chunk-7YTLJUBX.js.map} +0 -0
- /package/dist/{chunk-C5EFVSBN.js.map → chunk-A5FIYKAN.js.map} +0 -0
- /package/dist/{chunk-SOCKK67R.js.map → chunk-AFZUPCBK.js.map} +0 -0
- /package/dist/{chunk-PQECNGDE.js.map → chunk-AGYGNNOM.js.map} +0 -0
- /package/dist/{chunk-AVI3XHRQ.js.map → chunk-AIRWM7KK.js.map} +0 -0
- /package/dist/{chunk-T5WNNEP5.js.map → chunk-APMEXS3Y.js.map} +0 -0
- /package/dist/{chunk-K7DCYV5Q.js.map → chunk-ATBT4RJZ.js.map} +0 -0
- /package/dist/{chunk-HKV4MQ2W.js.map → chunk-BKP7YW3Y.js.map} +0 -0
- /package/dist/{chunk-UN5INW6K.js.map → chunk-BPYPUEM5.js.map} +0 -0
- /package/dist/{chunk-BEWD734I.js.map → chunk-BRUJC7OG.js.map} +0 -0
- /package/dist/{chunk-SLMA4UQS.js.map → chunk-BWSYSSF3.js.map} +0 -0
- /package/dist/{chunk-FR6AJSMT.js.map → chunk-C2ZNAQMO.js.map} +0 -0
- /package/dist/{chunk-TU6RNZUQ.js.map → chunk-C4NRFERD.js.map} +0 -0
- /package/dist/{chunk-V7F53GEO.js.map → chunk-CATLG2RT.js.map} +0 -0
- /package/dist/{chunk-LYMAMKJT.js.map → chunk-CEA4QA63.js.map} +0 -0
- /package/dist/{chunk-XXDXW6TX.js.map → chunk-CIVLXOLG.js.map} +0 -0
- /package/dist/{chunk-7TZ6OC5T.js.map → chunk-CJMU3G2J.js.map} +0 -0
- /package/dist/{chunk-MVJYIHPH.js.map → chunk-CKW267ZK.js.map} +0 -0
- /package/dist/{chunk-MRMNVGNX.js.map → chunk-CPA2YRVZ.js.map} +0 -0
- /package/dist/{chunk-TSFFZ3AH.js.map → chunk-D5YGDCMP.js.map} +0 -0
- /package/dist/{chunk-3TFUAKWJ.js.map → chunk-D6P5PSHU.js.map} +0 -0
- /package/dist/{chunk-DVE53B2L.js.map → chunk-DBXGRZBJ.js.map} +0 -0
- /package/dist/{chunk-XSJWN3WH.js.map → chunk-DF2FFYZ7.js.map} +0 -0
- /package/dist/{chunk-T7WU7JGC.js.map → chunk-DHQ6ASUD.js.map} +0 -0
- /package/dist/{chunk-RBGOGTT2.js.map → chunk-DWZ7FLA7.js.map} +0 -0
- /package/dist/{chunk-DVUPIVI2.js.map → chunk-DX36KZUV.js.map} +0 -0
- /package/dist/{chunk-FVPN4YKW.js.map → chunk-EATFKTO3.js.map} +0 -0
- /package/dist/{chunk-VRKS5K4N.js.map → chunk-EJJRJYB5.js.map} +0 -0
- /package/dist/{chunk-TSEWUY4V.js.map → chunk-EN5Q5RPQ.js.map} +0 -0
- /package/dist/{chunk-EYC6ERJJ.js.map → chunk-ETU4LNU7.js.map} +0 -0
- /package/dist/{chunk-UC6A6ASM.js.map → chunk-EYRSUVBC.js.map} +0 -0
- /package/dist/{chunk-HLYPI5CO.js.map → chunk-F22WT7UX.js.map} +0 -0
- /package/dist/{chunk-JPVDZXXX.js.map → chunk-F65LT7XV.js.map} +0 -0
- /package/dist/{chunk-J2K65BQQ.js.map → chunk-FC74EAW4.js.map} +0 -0
- /package/dist/{chunk-TEE6HNHS.js.map → chunk-FRW4SYZD.js.map} +0 -0
- /package/dist/{chunk-LCXXPIG3.js.map → chunk-G3WUOPWE.js.map} +0 -0
- /package/dist/{chunk-SQV3HPTZ.js.map → chunk-G76H5PEM.js.map} +0 -0
- /package/dist/{chunk-XYDW5RQB.js.map → chunk-GKGA2ZCW.js.map} +0 -0
- /package/dist/{chunk-KW7H5O3K.js.map → chunk-GLPHRHIT.js.map} +0 -0
- /package/dist/{chunk-3PUOLOEP.js.map → chunk-GOKMLXZH.js.map} +0 -0
- /package/dist/{chunk-R6SBP5M5.js.map → chunk-GOWBYHYW.js.map} +0 -0
- /package/dist/{chunk-B7NV6JFG.js.map → chunk-GUROYOKQ.js.map} +0 -0
- /package/dist/{chunk-PVIAHB7D.js.map → chunk-H2RHA73H.js.map} +0 -0
- /package/dist/{chunk-C5YBXQTK.js.map → chunk-H35CQ6DF.js.map} +0 -0
- /package/dist/{chunk-SHDIZSN5.js.map → chunk-HFBME3C5.js.map} +0 -0
- /package/dist/{chunk-HS2OJI6L.js.map → chunk-HSVNFMXY.js.map} +0 -0
- /package/dist/{chunk-NWQWUYOV.js.map → chunk-I2IZ53QS.js.map} +0 -0
- /package/dist/{chunk-K4N3V7YE.js.map → chunk-IASDP44E.js.map} +0 -0
- /package/dist/{chunk-PCYGUOWJ.js.map → chunk-IAVAZ36T.js.map} +0 -0
- /package/dist/{chunk-B443IIQG.js.map → chunk-IE7ISTLQ.js.map} +0 -0
- /package/dist/{chunk-LKF5KQ2Q.js.map → chunk-IIUB4IOH.js.map} +0 -0
- /package/dist/{chunk-UKPZVX3J.js.map → chunk-INH2BDHV.js.map} +0 -0
- /package/dist/{chunk-PUBPZOQJ.js.map → chunk-IPE5FFFD.js.map} +0 -0
- /package/dist/{chunk-HP2ODXNA.js.map → chunk-IPS55KWK.js.map} +0 -0
- /package/dist/{chunk-J3ZP6EUS.js.map → chunk-IQFUV3BA.js.map} +0 -0
- /package/dist/{chunk-2ZRZTGWP.js.map → chunk-ISW5K72V.js.map} +0 -0
- /package/dist/{chunk-OD4Z5G6G.js.map → chunk-J2RRZZXC.js.map} +0 -0
- /package/dist/{chunk-BYMWW65P.js.map → chunk-JOPTI47I.js.map} +0 -0
- /package/dist/{chunk-VKH7AENA.js.map → chunk-KJYD5OJ4.js.map} +0 -0
- /package/dist/{chunk-RVGG5YJY.js.map → chunk-LG6DHNRD.js.map} +0 -0
- /package/dist/{chunk-WC5XYWTE.js.map → chunk-LWAOL4BG.js.map} +0 -0
- /package/dist/{chunk-MNSW33DU.js.map → chunk-MCAXIKQD.js.map} +0 -0
- /package/dist/{chunk-H53YNR23.js.map → chunk-MRGPVPQC.js.map} +0 -0
- /package/dist/{chunk-EZNTM6PT.js.map → chunk-MYUZPUXQ.js.map} +0 -0
- /package/dist/{chunk-SX3V2DLV.js.map → chunk-NFJUBPIN.js.map} +0 -0
- /package/dist/{chunk-XGOWREVV.js.map → chunk-NJ6D37KV.js.map} +0 -0
- /package/dist/{chunk-4H4Y2SX3.js.map → chunk-NLUZGT4U.js.map} +0 -0
- /package/dist/{chunk-NGVGTMHT.js.map → chunk-NR2HXHBR.js.map} +0 -0
- /package/dist/{chunk-HKKSZ7HG.js.map → chunk-O6DRUOUF.js.map} +0 -0
- /package/dist/{chunk-R6SSXEK2.js.map → chunk-OFMDFN3U.js.map} +0 -0
- /package/dist/{chunk-EUKYQXYU.js.map → chunk-OHKEQ7QJ.js.map} +0 -0
- /package/dist/{chunk-NUB4T3RQ.js.map → chunk-OIFBBDYX.js.map} +0 -0
- /package/dist/{chunk-PFZAUMJA.js.map → chunk-OL7UQMBI.js.map} +0 -0
- /package/dist/{chunk-O42ZA3TW.js.map → chunk-ORIFMVN4.js.map} +0 -0
- /package/dist/{chunk-5KFZGB5U.js.map → chunk-P4BZ7YE6.js.map} +0 -0
- /package/dist/{chunk-JRWPI4XF.js.map → chunk-P7FQUGED.js.map} +0 -0
- /package/dist/{chunk-XBZ43VIV.js.map → chunk-PCONTSJJ.js.map} +0 -0
- /package/dist/{chunk-XOCLWQON.js.map → chunk-PEMZ2ABQ.js.map} +0 -0
- /package/dist/{chunk-VXTYVJDK.js.map → chunk-Q5BSNHN7.js.map} +0 -0
- /package/dist/{chunk-IQ7WZ3RN.js.map → chunk-QKDFD4VT.js.map} +0 -0
- /package/dist/{chunk-YTYROOLY.js.map → chunk-QNUWSXF2.js.map} +0 -0
- /package/dist/{chunk-VESIQYBF.js.map → chunk-QP3KK4KO.js.map} +0 -0
- /package/dist/{chunk-MSUSZLRE.js.map → chunk-QPMLACIK.js.map} +0 -0
- /package/dist/{chunk-TF4TPLF2.js.map → chunk-R7KR5FYJ.js.map} +0 -0
- /package/dist/{chunk-237NDIT2.js.map → chunk-RCI6KVN6.js.map} +0 -0
- /package/dist/{chunk-WYDGPJ3Z.js.map → chunk-RFZU5BTG.js.map} +0 -0
- /package/dist/{chunk-PJTSGHTY.js.map → chunk-RIA34EUT.js.map} +0 -0
- /package/dist/{chunk-JOXBCXVL.js.map → chunk-RMB4RTTM.js.map} +0 -0
- /package/dist/{chunk-RNCQ5KHQ.js.map → chunk-RQFBLYYH.js.map} +0 -0
- /package/dist/{chunk-4T6W43TO.js.map → chunk-RRDL7AGQ.js.map} +0 -0
- /package/dist/{chunk-JB67KPGM.js.map → chunk-RRO2EOJB.js.map} +0 -0
- /package/dist/{chunk-5UC2RNOY.js.map → chunk-RWIBPIPD.js.map} +0 -0
- /package/dist/{chunk-QGAYEBMU.js.map → chunk-SAIKHWH7.js.map} +0 -0
- /package/dist/{chunk-PZEC5CQA.js.map → chunk-SDSAQ5YS.js.map} +0 -0
- /package/dist/{chunk-YFY3YVV6.js.map → chunk-SGV7QGYQ.js.map} +0 -0
- /package/dist/{chunk-GJQYM3PM.js.map → chunk-SHQWIDD5.js.map} +0 -0
- /package/dist/{chunk-OLQDB346.js.map → chunk-SMUZRLFZ.js.map} +0 -0
- /package/dist/{chunk-QGBMCB76.js.map → chunk-SSJHEV5Z.js.map} +0 -0
- /package/dist/{chunk-MEWYA74E.js.map → chunk-SZZLABMO.js.map} +0 -0
- /package/dist/{chunk-OJCK5RNJ.js.map → chunk-TLY2QMU5.js.map} +0 -0
- /package/dist/{chunk-TTW4MAOJ.js.map → chunk-UCTJJYVC.js.map} +0 -0
- /package/dist/{chunk-BLT5ZBVL.js.map → chunk-UEJQQVP2.js.map} +0 -0
- /package/dist/{chunk-ALAJBLBE.js.map → chunk-UHWHTNUS.js.map} +0 -0
- /package/dist/{chunk-EMAX7RPN.js.map → chunk-URK67BAE.js.map} +0 -0
- /package/dist/{chunk-GH2DC7PS.js.map → chunk-V3RVRZAU.js.map} +0 -0
- /package/dist/{chunk-624TFFLJ.js.map → chunk-V6YZ3PL5.js.map} +0 -0
- /package/dist/{chunk-236QP424.js.map → chunk-VGSEI7PQ.js.map} +0 -0
- /package/dist/{chunk-HDNK7BAX.js.map → chunk-VNEEXUWA.js.map} +0 -0
- /package/dist/{chunk-EPRA5QLB.js.map → chunk-VUFMV5Q5.js.map} +0 -0
- /package/dist/{chunk-QYNCPS5W.js.map → chunk-WBKWIFXA.js.map} +0 -0
- /package/dist/{chunk-3BPDHWVF.js.map → chunk-WCLWFN3F.js.map} +0 -0
- /package/dist/{chunk-FOKBP6HR.js.map → chunk-WI6GD4MV.js.map} +0 -0
- /package/dist/{chunk-XXJRT6BP.js.map → chunk-WMALDOF5.js.map} +0 -0
- /package/dist/{chunk-4OSGKO7E.js.map → chunk-WVJI3Z4P.js.map} +0 -0
- /package/dist/{chunk-VVXA7T2M.js.map → chunk-WVQ47UTI.js.map} +0 -0
- /package/dist/{chunk-LSJY4LWZ.js.map → chunk-XPPEUGHG.js.map} +0 -0
- /package/dist/{chunk-JVVTSSS4.js.map → chunk-XVM4ZIRE.js.map} +0 -0
- /package/dist/{chunk-7MR2JCJW.js.map → chunk-Y2CSBXQT.js.map} +0 -0
- /package/dist/{chunk-D6HDJVQW.js.map → chunk-YANLN6HP.js.map} +0 -0
- /package/dist/{chunk-NGM5XKAS.js.map → chunk-YXQ2NJHF.js.map} +0 -0
- /package/dist/{chunk-HQB5XNK5.js.map → chunk-ZCNCQGWK.js.map} +0 -0
- /package/dist/{chunk-WC3W36AM.js.map → chunk-ZOUWHGV3.js.map} +0 -0
- /package/dist/{chunk-2L2NWXWJ.js.map → chunk-ZVTJGWIV.js.map} +0 -0
- /package/dist/native/chunks/{chunk-2HLEFYJ5.js.map → chunk-7UEJ2FMQ.js.map} +0 -0
- /package/dist/native/chunks/{chunk-6XDMYJBW.js.map → chunk-IVNAQJY6.js.map} +0 -0
- /package/dist/native/chunks/{chunk-YXM4NR2B.js.map → chunk-LB65S6C7.js.map} +0 -0
- /package/dist/native/chunks/{chunk-CO47ZRXO.js.map → chunk-S5SLTMPB.js.map} +0 -0
- /package/dist/native/chunks/{chunk-SOQVMWLQ.js.map → chunk-VAD5YVIZ.js.map} +0 -0
|
@@ -23,6 +23,7 @@ import { RangeBounds } from "./data-views-range-pill";
|
|
|
23
23
|
import { isRangeSet } from "./data-views-range-values";
|
|
24
24
|
import type { RangeValue } from "./data-views-types";
|
|
25
25
|
import { useDataViewsCopy } from "./data-views-copy-context";
|
|
26
|
+
import { fieldRadiusPx } from "../../../tokens/field-radius";
|
|
26
27
|
|
|
27
28
|
/** What each field's control needs, minus the panel's own chrome. */
|
|
28
29
|
export interface MoreFieldProps {
|
|
@@ -95,7 +96,7 @@ function OverflowPill<T extends Record<string, unknown>>({
|
|
|
95
96
|
borderStyle: "solid",
|
|
96
97
|
borderColor: checked ? "primary.main" : "divider",
|
|
97
98
|
bgcolor: checked ? "action.selected" : "transparent",
|
|
98
|
-
borderRadius:
|
|
99
|
+
borderRadius: fieldRadiusPx,
|
|
99
100
|
cursor: "pointer",
|
|
100
101
|
fontSize: "0.8125rem",
|
|
101
102
|
color: checked ? "primary.main" : "text.secondary",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
import Box from '@mui/material/Box/index.js';
|
|
39
39
|
import TextField from '@mui/material/TextField/index.js';
|
|
40
40
|
import React, { useEffect, useState } from 'react';
|
|
41
|
+
import { fieldRootStyles } from '../../../tokens/field-radius';
|
|
41
42
|
|
|
42
43
|
/** Everything this field lets through: digits and the two separators. */
|
|
43
44
|
const ALLOWED = /[^\d.,]/g;
|
|
@@ -162,7 +163,7 @@ export function NumberBoundInput({
|
|
|
162
163
|
}
|
|
163
164
|
: undefined
|
|
164
165
|
}
|
|
165
|
-
sx={{ width: 140 }}
|
|
166
|
+
sx={[{ width: 140 }, fieldRootStyles]}
|
|
166
167
|
/>
|
|
167
168
|
);
|
|
168
169
|
}
|
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
rangeChipLabel,
|
|
33
33
|
} from './data-views-range-values';
|
|
34
34
|
import type { RangeFieldConfig, RangeValue } from './data-views-types';
|
|
35
|
+
import { fieldRadiusPx } from '../../../tokens/field-radius';
|
|
35
36
|
|
|
36
37
|
|
|
37
38
|
|
|
@@ -226,7 +227,7 @@ function RangeTrigger<T extends Record<string, unknown>>({
|
|
|
226
227
|
}
|
|
227
228
|
endIcon={<ChevronDownIcon sx={{ fontSize: 16 }} />}
|
|
228
229
|
sx={{
|
|
229
|
-
borderRadius:
|
|
230
|
+
borderRadius: fieldRadiusPx,
|
|
230
231
|
height: 34,
|
|
231
232
|
px: 1.5,
|
|
232
233
|
maxWidth: 280,
|
|
@@ -13,6 +13,7 @@ import TextField from "@mui/material/TextField/index.js";
|
|
|
13
13
|
import { useCallback, useEffect, useRef, useState } from "react";
|
|
14
14
|
|
|
15
15
|
import { Box } from "../../../mui/Box";
|
|
16
|
+
import { fieldRadiusPx } from "../../../tokens/field-radius";
|
|
16
17
|
import { useDataViewsCopy } from "./data-views-copy-context";
|
|
17
18
|
|
|
18
19
|
/** How long the box waits after the last keystroke before it queries. */
|
|
@@ -167,8 +168,9 @@ export function InlineKeyword({
|
|
|
167
168
|
) : undefined,
|
|
168
169
|
}}
|
|
169
170
|
// Takes the free space and gives it up first — step 3 of the ladder,
|
|
170
|
-
// which needs no flag because flex does it (see `computeSplit`).
|
|
171
|
-
|
|
171
|
+
// which needs no flag because flex does it (see `computeSplit`). The
|
|
172
|
+
// corner is the theme's field radius, so the box matches the pills beside it.
|
|
173
|
+
sx={(theme) => ({ ...boxWidth(fill), "& .MuiOutlinedInput-root": { borderRadius: fieldRadiusPx(theme) } })}
|
|
172
174
|
/>
|
|
173
175
|
);
|
|
174
176
|
}
|
|
@@ -200,7 +202,7 @@ export function CollapsedSearch({
|
|
|
200
202
|
sx={{
|
|
201
203
|
position: "relative",
|
|
202
204
|
border: 1,
|
|
203
|
-
borderRadius:
|
|
205
|
+
borderRadius: fieldRadiusPx,
|
|
204
206
|
borderColor: active ? "primary.main" : "divider",
|
|
205
207
|
color: active ? "primary.main" : "text.secondary",
|
|
206
208
|
bgcolor: active ? "action.selected" : "background.paper",
|
|
@@ -6,6 +6,8 @@ import { alpha, styled } from '@mui/material/styles/index.js';
|
|
|
6
6
|
import type { FC } from 'react';
|
|
7
7
|
import React from 'react';
|
|
8
8
|
|
|
9
|
+
import { fieldRadius } from '../../../tokens/field-radius';
|
|
10
|
+
|
|
9
11
|
// Kept module-local: styled() components cannot be exported across a module
|
|
10
12
|
// boundary here without tripping TS2742.
|
|
11
13
|
const SearchBar = styled(Box)(({ theme }) => ({
|
|
@@ -23,7 +25,7 @@ const SearchField = styled(TextField)(({ theme }) => ({
|
|
|
23
25
|
background: alpha(theme.palette.background.paper, 0.95),
|
|
24
26
|
backdropFilter: 'blur(10px)',
|
|
25
27
|
WebkitBackdropFilter: 'blur(10px)',
|
|
26
|
-
borderRadius: theme
|
|
28
|
+
borderRadius: fieldRadius(theme),
|
|
27
29
|
'& fieldset': {
|
|
28
30
|
borderColor: alpha(theme.palette.divider, 0.2),
|
|
29
31
|
},
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { NotificationUnblockCopy } from '../../../copy';
|
|
2
|
+
import type { AlertVariant } from '../../data-display/Alert/Alert.types';
|
|
3
|
+
|
|
4
|
+
import type {
|
|
5
|
+
NotificationBrowser,
|
|
6
|
+
NotificationBrowserFamily,
|
|
7
|
+
NotificationPlatform,
|
|
8
|
+
NotificationStatus,
|
|
9
|
+
} from './NotificationStatusNotice.types';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* How loud each status is.
|
|
13
|
+
*
|
|
14
|
+
* `disabled` and `blocked` are warnings because the reader can do something
|
|
15
|
+
* about them and will miss something if they do not. `unavailable` is only
|
|
16
|
+
* information: there is nothing to act on, and painting it amber would ask the
|
|
17
|
+
* reader to fix what they cannot.
|
|
18
|
+
*/
|
|
19
|
+
export const NOTICE_VARIANT: Record<NotificationStatus, AlertVariant> = {
|
|
20
|
+
enabled: 'success',
|
|
21
|
+
disabled: 'warning',
|
|
22
|
+
blocked: 'warning',
|
|
23
|
+
unavailable: 'info',
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const platformOf = (userAgent: string, maxTouchPoints: number): NotificationPlatform => {
|
|
27
|
+
if (/iphone|ipad|ipod/i.test(userAgent)) return 'ios';
|
|
28
|
+
// iPadOS asks for the desktop site and reports itself as a Mac; the touch
|
|
29
|
+
// points are what give it away.
|
|
30
|
+
if (/macintosh/i.test(userAgent) && maxTouchPoints > 1) return 'ios';
|
|
31
|
+
if (/android/i.test(userAgent)) return 'android';
|
|
32
|
+
return 'desktop';
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Ordered most-specific first: every Chromium browser also says `Chrome`, and
|
|
37
|
+
* every browser on iOS also says `Safari`.
|
|
38
|
+
*/
|
|
39
|
+
const FAMILY_PATTERNS: ReadonlyArray<readonly [NotificationBrowserFamily, RegExp]> = [
|
|
40
|
+
['samsung', /samsungbrowser/i],
|
|
41
|
+
['edge', /edg(e|a|ios)?\//i],
|
|
42
|
+
['opera', /opr\/|opera|opt\//i],
|
|
43
|
+
['firefox', /firefox\/|fxios\//i],
|
|
44
|
+
['chrome', /chrome\/|crios\//i],
|
|
45
|
+
['safari', /safari\//i],
|
|
46
|
+
];
|
|
47
|
+
|
|
48
|
+
const familyOf = (userAgent: string): NotificationBrowserFamily =>
|
|
49
|
+
FAMILY_PATTERNS.find(([, pattern]) => pattern.test(userAgent))?.[0] ?? 'other';
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Which browser, on which platform, the reader is using — enough to pick the
|
|
53
|
+
* steps that lift a notification block there. Pure: pass
|
|
54
|
+
* `navigator.userAgent` and `navigator.maxTouchPoints`.
|
|
55
|
+
*/
|
|
56
|
+
export const detectNotificationBrowser = (
|
|
57
|
+
userAgent: string,
|
|
58
|
+
maxTouchPoints = 0,
|
|
59
|
+
): NotificationBrowser => ({
|
|
60
|
+
family: familyOf(userAgent),
|
|
61
|
+
platform: platformOf(userAgent, maxTouchPoints),
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The steps that lift a notification block in `browser`, from a
|
|
66
|
+
* `NotificationUnblockCopy` pack (`PT_BR_NOTIFICATION_UNBLOCK_COPY`, …).
|
|
67
|
+
*
|
|
68
|
+
* Every iOS browser shares one list — the switch is in the device's Settings,
|
|
69
|
+
* whichever browser installed the app — and a family or platform the pack does
|
|
70
|
+
* not name falls back to its general `other` steps.
|
|
71
|
+
*/
|
|
72
|
+
export const notificationUnblockSteps = (
|
|
73
|
+
copy: NotificationUnblockCopy,
|
|
74
|
+
browser: NotificationBrowser,
|
|
75
|
+
): readonly string[] => {
|
|
76
|
+
if (browser.platform === 'ios') return copy.ios;
|
|
77
|
+
if (browser.family === 'other') return copy.other;
|
|
78
|
+
const byPlatform: Partial<Record<NotificationPlatform, readonly string[]>> = copy[browser.family];
|
|
79
|
+
return byPlatform[browser.platform] ?? copy.other;
|
|
80
|
+
};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# NotificationStatusNotice
|
|
2
|
+
|
|
3
|
+
Tells a reader whether **this browser** will notify them, and offers the one
|
|
4
|
+
thing they can do about it.
|
|
5
|
+
|
|
6
|
+
| `status` | what it means | what it offers |
|
|
7
|
+
|---|---|---|
|
|
8
|
+
| `enabled` | they will be notified here | nothing |
|
|
9
|
+
| `disabled` | they will not, and this page can ask | an action that calls `onEnable` |
|
|
10
|
+
| `blocked` | they will not, and the browser refused once | a "turn back on" disclosure over the steps for **their** browser |
|
|
11
|
+
| `unavailable` | they will not, and nothing here can change it | nothing |
|
|
12
|
+
|
|
13
|
+
Use it wherever a promise depends on web push — "we will call you when your
|
|
14
|
+
table is ready" — so a reader is never left believing a notification is coming
|
|
15
|
+
that cannot arrive.
|
|
16
|
+
|
|
17
|
+
## Import
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
import {
|
|
21
|
+
NotificationStatusNotice,
|
|
22
|
+
detectNotificationBrowser,
|
|
23
|
+
notificationUnblockSteps,
|
|
24
|
+
} from '@12-apps/ui/feedback/NotificationStatusNotice';
|
|
25
|
+
import { PT_BR_NOTIFICATION_UNBLOCK_COPY } from '@12-apps/ui/pt-BR';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Usage
|
|
29
|
+
|
|
30
|
+
The component owns no words. Map your own permission state onto `status`, and
|
|
31
|
+
pass the sentences:
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
const browser = detectNotificationBrowser(navigator.userAgent, navigator.maxTouchPoints);
|
|
35
|
+
|
|
36
|
+
switch (pushState) {
|
|
37
|
+
case 'offer':
|
|
38
|
+
return (
|
|
39
|
+
<NotificationStatusNotice
|
|
40
|
+
status="disabled"
|
|
41
|
+
title="Suas notificações estão desligadas."
|
|
42
|
+
description="Sem elas, a gente não consegue te avisar no celular."
|
|
43
|
+
enableLabel="Ligar notificações"
|
|
44
|
+
onEnable={requestPermission} // raise the browser prompt HERE — it needs a gesture
|
|
45
|
+
pending={asking}
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
|
+
case 'blocked':
|
|
49
|
+
return (
|
|
50
|
+
<NotificationStatusNotice
|
|
51
|
+
status="blocked"
|
|
52
|
+
title="As notificações estão bloqueadas neste navegador."
|
|
53
|
+
stepsToggleLabel="Habilitar novamente"
|
|
54
|
+
steps={notificationUnblockSteps(PT_BR_NOTIFICATION_UNBLOCK_COPY, browser)}
|
|
55
|
+
/>
|
|
56
|
+
);
|
|
57
|
+
// …
|
|
58
|
+
}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Props
|
|
62
|
+
|
|
63
|
+
Common to every status:
|
|
64
|
+
|
|
65
|
+
| prop | type | |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| `status` | `'enabled' \| 'disabled' \| 'blocked' \| 'unavailable'` | required; picks the shape below |
|
|
68
|
+
| `title` | `string` | required; the reader's situation in one sentence |
|
|
69
|
+
| `description` | `string` | what that means for them |
|
|
70
|
+
| `dataTestId` | `string` | root test id (default `notification-status-notice`); parts append `-enable`, `-steps-toggle`, `-steps` |
|
|
71
|
+
| `className`, `sx` | | forwarded to the root `Alert` |
|
|
72
|
+
|
|
73
|
+
`disabled` adds `enableLabel`, `onEnable` and `pending` (spinner, and the action
|
|
74
|
+
cannot be pressed twice). `blocked` adds `stepsToggleLabel`, `steps` (ordered)
|
|
75
|
+
and `defaultStepsOpen`.
|
|
76
|
+
|
|
77
|
+
## The unblock steps
|
|
78
|
+
|
|
79
|
+
A web page cannot re-ask after a refusal — `Notification.requestPermission()`
|
|
80
|
+
resolves `denied` at once — so the only way back is the browser's own settings,
|
|
81
|
+
and those differ per browser. `NotificationUnblockCopy` holds one ordered list
|
|
82
|
+
per family and platform, shipped in pt-BR and en-US:
|
|
83
|
+
|
|
84
|
+
- `detectNotificationBrowser(userAgent, maxTouchPoints)` answers
|
|
85
|
+
`{ family, platform }` — Chrome, Edge, Firefox, Safari, Samsung Internet,
|
|
86
|
+
Opera, or `other`; on `ios`, `android` or `desktop`. Most specific first:
|
|
87
|
+
every Chromium browser also says `Chrome`, every iOS browser also says
|
|
88
|
+
`Safari`, and an iPad asking for the desktop site says `Macintosh`.
|
|
89
|
+
- `notificationUnblockSteps(copy, browser)` picks the list. Every iOS browser
|
|
90
|
+
shares one list (web push there belongs to a Home Screen app, switched in the
|
|
91
|
+
device's Settings); a family/platform the pack does not name falls back to
|
|
92
|
+
`other`.
|
|
93
|
+
|
|
94
|
+
Menu labels move between browser versions. The packs follow the current ones
|
|
95
|
+
and say where to look; a host that needs different words passes its own
|
|
96
|
+
`NotificationUnblockCopy`.
|
|
97
|
+
|
|
98
|
+
## Accessibility
|
|
99
|
+
|
|
100
|
+
- The root is a **polite** live region (`role="status"`): a change of status is
|
|
101
|
+
announced without interrupting what the screen reader was saying.
|
|
102
|
+
- The steps sit behind a real `button` with `aria-expanded` and `aria-controls`;
|
|
103
|
+
the list is an `<ol>`, so the order is announced. Enter and Space toggle it.
|
|
104
|
+
- `disabled` and `blocked` are `warning`s — the reader can act, and will miss
|
|
105
|
+
something if they do not. `unavailable` is only `info`: painting amber what
|
|
106
|
+
cannot be fixed asks the reader to fix it.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** Theme spacing units between the message and its action. */
|
|
2
|
+
export const NOTICE_ACTION_GAP_UNITS = 1;
|
|
3
|
+
|
|
4
|
+
/** Theme spacing units the numbered steps are indented by. */
|
|
5
|
+
export const NOTICE_STEPS_INDENT_UNITS = 2.5;
|
|
6
|
+
|
|
7
|
+
/** Theme spacing units between two steps. */
|
|
8
|
+
export const NOTICE_STEP_GAP_UNITS = 0.5;
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import Box from '@mui/material/Box/index.js';
|
|
2
|
+
import Typography from '@mui/material/Typography/index.js';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
|
|
5
|
+
import { Alert } from '../../data-display/Alert/Alert';
|
|
6
|
+
import { Button } from '../../form/Button/Button';
|
|
7
|
+
import { NOTICE_VARIANT } from './NotificationStatusNotice.helpers';
|
|
8
|
+
import {
|
|
9
|
+
NOTICE_ACTION_GAP_UNITS,
|
|
10
|
+
NOTICE_STEP_GAP_UNITS,
|
|
11
|
+
NOTICE_STEPS_INDENT_UNITS,
|
|
12
|
+
} from './NotificationStatusNotice.metrics';
|
|
13
|
+
import type {
|
|
14
|
+
BlockedNoticeProps,
|
|
15
|
+
DisabledNoticeProps,
|
|
16
|
+
NotificationStatusNoticeProps,
|
|
17
|
+
} from './NotificationStatusNotice.types';
|
|
18
|
+
|
|
19
|
+
const DEFAULT_TEST_ID = 'notification-status-notice';
|
|
20
|
+
|
|
21
|
+
const EnableAction: React.FC<{ props: DisabledNoticeProps; testId: string }> = ({
|
|
22
|
+
props,
|
|
23
|
+
testId,
|
|
24
|
+
}) => (
|
|
25
|
+
<Box sx={{ mt: NOTICE_ACTION_GAP_UNITS }}>
|
|
26
|
+
<Button
|
|
27
|
+
variant="solid"
|
|
28
|
+
color="primary"
|
|
29
|
+
size="sm"
|
|
30
|
+
// `loading` also disables the button, so a second tap cannot ask twice.
|
|
31
|
+
loading={props.pending}
|
|
32
|
+
onClick={props.onEnable}
|
|
33
|
+
dataTestId={`${testId}-enable`}
|
|
34
|
+
>
|
|
35
|
+
{props.enableLabel}
|
|
36
|
+
</Button>
|
|
37
|
+
</Box>
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* The way back from a refusal: a disclosure over the steps, because the steps
|
|
42
|
+
* are long and most readers of a blocked notice will not act on it right now.
|
|
43
|
+
* A real button with `aria-expanded`, so a screen reader hears that it opens
|
|
44
|
+
* something and whether it has.
|
|
45
|
+
*/
|
|
46
|
+
const BlockedSteps: React.FC<{ props: BlockedNoticeProps; testId: string }> = ({
|
|
47
|
+
props,
|
|
48
|
+
testId,
|
|
49
|
+
}) => {
|
|
50
|
+
const [open, setOpen] = React.useState(props.defaultStepsOpen ?? false);
|
|
51
|
+
const listId = React.useId();
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<Box sx={{ mt: NOTICE_ACTION_GAP_UNITS }}>
|
|
55
|
+
<Button
|
|
56
|
+
variant="text"
|
|
57
|
+
color="primary"
|
|
58
|
+
size="sm"
|
|
59
|
+
aria-expanded={open}
|
|
60
|
+
aria-controls={listId}
|
|
61
|
+
onClick={() => setOpen((was) => !was)}
|
|
62
|
+
dataTestId={`${testId}-steps-toggle`}
|
|
63
|
+
>
|
|
64
|
+
{props.stepsToggleLabel}
|
|
65
|
+
</Button>
|
|
66
|
+
<Box
|
|
67
|
+
component="ol"
|
|
68
|
+
id={listId}
|
|
69
|
+
hidden={!open}
|
|
70
|
+
data-testid={`${testId}-steps`}
|
|
71
|
+
sx={{
|
|
72
|
+
m: 0,
|
|
73
|
+
mt: NOTICE_STEP_GAP_UNITS,
|
|
74
|
+
pl: NOTICE_STEPS_INDENT_UNITS,
|
|
75
|
+
display: open ? 'flex' : 'none',
|
|
76
|
+
flexDirection: 'column',
|
|
77
|
+
gap: NOTICE_STEP_GAP_UNITS,
|
|
78
|
+
}}
|
|
79
|
+
>
|
|
80
|
+
{props.steps.map((step, index) => (
|
|
81
|
+
<Typography key={`${index}-${step}`} component="li" variant="body2">
|
|
82
|
+
{step}
|
|
83
|
+
</Typography>
|
|
84
|
+
))}
|
|
85
|
+
</Box>
|
|
86
|
+
</Box>
|
|
87
|
+
);
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
const NoticeAction: React.FC<{ props: NotificationStatusNoticeProps; testId: string }> = ({
|
|
91
|
+
props,
|
|
92
|
+
testId,
|
|
93
|
+
}) => {
|
|
94
|
+
if (props.status === 'disabled') return <EnableAction props={props} testId={testId} />;
|
|
95
|
+
if (props.status === 'blocked') return <BlockedSteps props={props} testId={testId} />;
|
|
96
|
+
return null;
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Tells a reader whether this browser will notify them, and gives them the one
|
|
101
|
+
* thing they can do about it: a tap that asks (`disabled`), the steps that
|
|
102
|
+
* undo a refusal (`blocked`), or nothing when nothing can change (`enabled`,
|
|
103
|
+
* `unavailable`).
|
|
104
|
+
*
|
|
105
|
+
* Every word is the host's. The component decides only the shape and how loud
|
|
106
|
+
* each status is — see `NOTICE_VARIANT`.
|
|
107
|
+
*/
|
|
108
|
+
export const NotificationStatusNotice = React.forwardRef<
|
|
109
|
+
HTMLDivElement,
|
|
110
|
+
NotificationStatusNoticeProps
|
|
111
|
+
>((props, ref) => {
|
|
112
|
+
const testId = props.dataTestId ?? DEFAULT_TEST_ID;
|
|
113
|
+
|
|
114
|
+
return (
|
|
115
|
+
<Alert
|
|
116
|
+
ref={ref}
|
|
117
|
+
variant={NOTICE_VARIANT[props.status]}
|
|
118
|
+
title={props.title}
|
|
119
|
+
description={props.description}
|
|
120
|
+
// A status line, not an interruption: it must not cut across whatever
|
|
121
|
+
// the screen reader is saying about the page it sits on.
|
|
122
|
+
announce="polite"
|
|
123
|
+
showIcon
|
|
124
|
+
data-testid={testId}
|
|
125
|
+
data-status={props.status}
|
|
126
|
+
className={props.className}
|
|
127
|
+
sx={props.sx}
|
|
128
|
+
>
|
|
129
|
+
<NoticeAction props={props} testId={testId} />
|
|
130
|
+
</Alert>
|
|
131
|
+
);
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
NotificationStatusNotice.displayName = 'NotificationStatusNotice';
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { SxProps, Theme } from '@mui/material/styles/index.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Where a reader stands with this browser's notifications.
|
|
5
|
+
*
|
|
6
|
+
* - `enabled` — they will be notified here.
|
|
7
|
+
* - `disabled` — they are not, and this page CAN ask: one tap raises the
|
|
8
|
+
* browser's own permission prompt.
|
|
9
|
+
* - `blocked` — they are not, and this page can NOT ask: the browser refused
|
|
10
|
+
* once and only the reader can undo that, in the browser's own settings.
|
|
11
|
+
* - `unavailable` — they are not, and nothing will change it here: the browser
|
|
12
|
+
* has no web push, or the host cannot send it.
|
|
13
|
+
*/
|
|
14
|
+
export type NotificationStatus = 'enabled' | 'disabled' | 'blocked' | 'unavailable';
|
|
15
|
+
|
|
16
|
+
interface NotificationStatusNoticeCommon {
|
|
17
|
+
/** The one sentence that states the reader's situation. */
|
|
18
|
+
title: string;
|
|
19
|
+
/** What that situation means for them — e.g. what they will miss. */
|
|
20
|
+
description?: string;
|
|
21
|
+
/** Test id of the root; parts derive from it (`-enable`, `-steps`, …). */
|
|
22
|
+
dataTestId?: string;
|
|
23
|
+
className?: string;
|
|
24
|
+
sx?: SxProps<Theme>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface EnabledNoticeProps extends NotificationStatusNoticeCommon {
|
|
28
|
+
status: 'enabled';
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface DisabledNoticeProps extends NotificationStatusNoticeCommon {
|
|
32
|
+
status: 'disabled';
|
|
33
|
+
/** The action's label, e.g. "Turn on notifications". */
|
|
34
|
+
enableLabel: string;
|
|
35
|
+
/**
|
|
36
|
+
* Ask for the permission. Call the browser's `requestPermission` from HERE:
|
|
37
|
+
* a browser only shows its prompt inside a user gesture.
|
|
38
|
+
*/
|
|
39
|
+
onEnable: () => void;
|
|
40
|
+
/** The request is in flight — the action shows a spinner and cannot be pressed twice. */
|
|
41
|
+
pending?: boolean;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface BlockedNoticeProps extends NotificationStatusNoticeCommon {
|
|
45
|
+
status: 'blocked';
|
|
46
|
+
/** The disclosure's label, e.g. "Turn them back on". */
|
|
47
|
+
stepsToggleLabel: string;
|
|
48
|
+
/**
|
|
49
|
+
* How to lift the block in THIS reader's browser, one step per entry, in
|
|
50
|
+
* order. The host picks them — `detectNotificationBrowser` says which
|
|
51
|
+
* browser it is looking at — because the words are the host's.
|
|
52
|
+
*/
|
|
53
|
+
steps: readonly string[];
|
|
54
|
+
/** Start with the steps showing. Defaults to collapsed. */
|
|
55
|
+
defaultStepsOpen?: boolean;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export interface UnavailableNoticeProps extends NotificationStatusNoticeCommon {
|
|
59
|
+
status: 'unavailable';
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export type NotificationStatusNoticeProps =
|
|
63
|
+
| EnabledNoticeProps
|
|
64
|
+
| DisabledNoticeProps
|
|
65
|
+
| BlockedNoticeProps
|
|
66
|
+
| UnavailableNoticeProps;
|
|
67
|
+
|
|
68
|
+
/** The browser families whose permission settings differ enough to need their own steps. */
|
|
69
|
+
export type NotificationBrowserFamily =
|
|
70
|
+
| 'chrome'
|
|
71
|
+
| 'edge'
|
|
72
|
+
| 'firefox'
|
|
73
|
+
| 'safari'
|
|
74
|
+
| 'samsung'
|
|
75
|
+
| 'opera'
|
|
76
|
+
| 'other';
|
|
77
|
+
|
|
78
|
+
export type NotificationPlatform = 'ios' | 'android' | 'desktop';
|
|
79
|
+
|
|
80
|
+
export interface NotificationBrowser {
|
|
81
|
+
family: NotificationBrowserFamily;
|
|
82
|
+
platform: NotificationPlatform;
|
|
83
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { NotificationStatusNotice } from './NotificationStatusNotice';
|
|
2
|
+
export {
|
|
3
|
+
detectNotificationBrowser,
|
|
4
|
+
notificationUnblockSteps,
|
|
5
|
+
} from './NotificationStatusNotice.helpers';
|
|
6
|
+
export type {
|
|
7
|
+
BlockedNoticeProps,
|
|
8
|
+
DisabledNoticeProps,
|
|
9
|
+
EnabledNoticeProps,
|
|
10
|
+
NotificationBrowser,
|
|
11
|
+
NotificationBrowserFamily,
|
|
12
|
+
NotificationPlatform,
|
|
13
|
+
NotificationStatus,
|
|
14
|
+
NotificationStatusNoticeProps,
|
|
15
|
+
UnavailableNoticeProps,
|
|
16
|
+
} from './NotificationStatusNotice.types';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# NotificationStatusNotice Test Status Tracking
|
|
2
|
+
|
|
3
|
+
## Test Files Status
|
|
4
|
+
|
|
5
|
+
- [x] NotificationStatusNotice.test.stories.tsx created
|
|
6
|
+
- [x] Unit tests: `__tests__/notification-status-notice.test.tsx`, `detect-notification-browser.test.ts`, `notification-unblock-steps.test.ts`
|
|
7
|
+
|
|
8
|
+
## Storybook Tests Status
|
|
9
|
+
|
|
10
|
+
| Test Name | Status | Pass/Fail | Notes |
|
|
11
|
+
| --- | --- | --- | --- |
|
|
12
|
+
| Disabled: the action asks the host | Written | - | role/status, onEnable called once |
|
|
13
|
+
| Blocked: steps open and close from the keyboard | Written | - | Enter opens, Space closes, aria-expanded, order |
|
|
14
|
+
| Enabled and unavailable: no action | Written | - | no button rendered |
|
|
15
|
+
| Disabled + pending: the action is locked | Written | - | action disabled |
|
|
16
|
+
|
|
17
|
+
Legend: Pending | Running | PASS | FAIL
|
|
18
|
+
|
|
19
|
+
## Static Stories Status
|
|
20
|
+
|
|
21
|
+
- [x] Default story (`Disabled`)
|
|
22
|
+
- [x] All variants covered (`Enabled`, `Disabled`, `Blocked`, `Unavailable`, `AllStatuses`)
|
|
23
|
+
- [x] Loading state story (`Pending`)
|
|
24
|
+
- [x] Edge cases (`LongText`, `BlockedOnIphone`)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# NotificationStatusNotice
|
|
2
|
+
|
|
3
|
+
Tells a reader whether this browser will notify them — enabled, disabled but
|
|
4
|
+
askable, blocked by the browser, or unavailable — and offers the one action
|
|
5
|
+
each status allows. Composes `Alert` and `Button`; every sentence comes from
|
|
6
|
+
the host, and the browser-specific unblock steps from the pt-BR/en-US
|
|
7
|
+
`NotificationUnblockCopy` packs.
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
- `status` — which of the four situations; narrows the props below.
|
|
12
|
+
- `title` / `description` — the host's sentences.
|
|
13
|
+
- `enableLabel` / `onEnable` / `pending` (`disabled`) — the permission request.
|
|
14
|
+
- `stepsToggleLabel` / `steps` / `defaultStepsOpen` (`blocked`) — the disclosure over the unblock steps.
|
|
15
|
+
- `dataTestId`, `className`, `sx` — forwarded to the root.
|
|
16
|
+
|
|
17
|
+
## Lint
|
|
18
|
+
|
|
19
|
+
Clean.
|
|
20
|
+
|
|
21
|
+
## Type Errors
|
|
22
|
+
|
|
23
|
+
None.
|
|
24
|
+
|
|
25
|
+
## Testing Scenarios
|
|
26
|
+
|
|
27
|
+
Each status's shape; `onEnable` once and not while pending; the disclosure by
|
|
28
|
+
click and keyboard; browser detection across Chrome/Edge/Firefox/Safari/Samsung/
|
|
29
|
+
Opera on desktop, Android, iPhone and iPad; the steps fallback; pt-BR and en-US
|
|
30
|
+
packs with the same shape.
|
|
31
|
+
|
|
32
|
+
## Current
|
|
33
|
+
|
|
34
|
+
Web only; no React Native port.
|
|
@@ -7,12 +7,14 @@ import React from 'react';
|
|
|
7
7
|
import type { AddressAutocompleteProps } from './AddressAutocomplete.types';
|
|
8
8
|
|
|
9
9
|
import { fieldEdge } from '../../../tokens/field-edge';
|
|
10
|
+
import { fieldRadius, fieldRootStyles } from '../../../tokens/field-radius';
|
|
10
11
|
|
|
11
12
|
// Kept module-local on purpose: the inferred type of a styled() component cannot
|
|
12
13
|
// be named across a module boundary here (TS2742), so the plain component below
|
|
13
14
|
// is what the rest of the folder imports.
|
|
14
15
|
const GlassTextField = styled(TextField)(({ theme }) => ({
|
|
15
16
|
'& .MuiOutlinedInput-root': {
|
|
17
|
+
borderRadius: fieldRadius(theme),
|
|
16
18
|
background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.8)} 0%, ${alpha(theme.palette.background.paper, 0.6)} 100%)`,
|
|
17
19
|
backdropFilter: 'blur(10px)',
|
|
18
20
|
WebkitBackdropFilter: 'blur(10px)',
|
|
@@ -32,6 +34,9 @@ const GlassTextField = styled(TextField)(({ theme }) => ({
|
|
|
32
34
|
},
|
|
33
35
|
}));
|
|
34
36
|
|
|
37
|
+
/** The plain variants: MUI's own field, on the theme's field radius. */
|
|
38
|
+
const FieldTextField = styled(TextField)(({ theme }) => fieldRootStyles(theme));
|
|
39
|
+
|
|
35
40
|
export type AddressTextFieldProps = Omit<TextFieldProps, 'variant'> & {
|
|
36
41
|
addressVariant: AddressAutocompleteProps['variant'];
|
|
37
42
|
};
|
|
@@ -42,5 +47,5 @@ export const AddressTextField: FC<AddressTextFieldProps> = ({ addressVariant, ..
|
|
|
42
47
|
addressVariant === 'glass' ? (
|
|
43
48
|
<GlassTextField variant="outlined" {...props} />
|
|
44
49
|
) : (
|
|
45
|
-
<
|
|
50
|
+
<FieldTextField variant={addressVariant} {...props} />
|
|
46
51
|
);
|
|
@@ -16,6 +16,7 @@ import React from 'react';
|
|
|
16
16
|
import { highlightLabel, type MatchMode } from './Autocomplete.helpers';
|
|
17
17
|
import type { SuggestionItemState, SuggestionType } from './Autocomplete.types';
|
|
18
18
|
import type { AutocompleteCopy } from '../../../copy';
|
|
19
|
+
import { fieldRootStyles } from '../../../tokens/field-radius';
|
|
19
20
|
|
|
20
21
|
const StyledPopper = styled(Popper)(({ theme }) => ({
|
|
21
22
|
zIndex: theme.zIndex.tooltip,
|
|
@@ -113,6 +114,7 @@ export function AutocompleteInput(props: AutocompleteInputProps): React.JSX.Elem
|
|
|
113
114
|
<TextField
|
|
114
115
|
ref={props.inputRef}
|
|
115
116
|
fullWidth
|
|
117
|
+
sx={fieldRootStyles}
|
|
116
118
|
value={props.inputValue}
|
|
117
119
|
onChange={props.onChange}
|
|
118
120
|
onKeyDown={props.onKeyDown}
|
|
@@ -61,8 +61,6 @@ export const ICON_ONLY_PADDING: Record<SizeValue, number> = {
|
|
|
61
61
|
export const BUTTON_ICON_GLYPH_SIZE = 20;
|
|
62
62
|
|
|
63
63
|
export const BUTTON_FONT_WEIGHT = 500;
|
|
64
|
-
/** `theme.spacing(1)`. */
|
|
65
|
-
export const BUTTON_RADIUS_UNITS = 1;
|
|
66
64
|
/** Between the icon and the label: `theme.spacing(0.5)`. */
|
|
67
65
|
export const BUTTON_ICON_GAP_UNITS = 0.5;
|
|
68
66
|
export const BUTTON_SPINNER_SIZE = 16;
|