@12-apps/ui 6.78.4 → 6.80.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/_internal/components/data-display/Alert/Alert.js +3 -3
- package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +3 -2
- package/dist/_internal/components/data-display/AlertDialog/AlertDialog.parts.js +2 -1
- package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +7 -5
- package/dist/_internal/components/data-display/Avatar/Avatar.js +5 -4
- package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +12 -11
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +8 -7
- package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +5 -2
- package/dist/_internal/components/data-display/Carousel/Carousel.js +7 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +4 -1
- package/dist/_internal/components/data-display/Chart/Chart.js +3 -3
- package/dist/_internal/components/data-display/Chart/SpecChart.js +6 -6
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +2 -2
- 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/DataViewsGrid.js +55 -53
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +76 -74
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +4 -3
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +10 -9
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +8 -7
- package/dist/_internal/components/data-display/DataViews/base-card.js +5 -5
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +2 -2
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +10 -10
- package/dist/_internal/components/data-display/DataViews/data-views-card-body.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +17 -15
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +24 -22
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +50 -48
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +25 -23
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +22 -20
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +23 -21
- 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 +4 -3
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +13 -11
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +25 -23
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +12 -10
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +1 -1
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +5 -5
- package/dist/_internal/components/data-display/EmptyState/EmptyState.js +3 -2
- package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -1
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +11 -8
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +10 -7
- package/dist/_internal/components/data-display/FleetMap/FleetMap.fixtures.js +1 -1
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +16 -12
- package/dist/_internal/components/data-display/HoverCard/HoverCard.js +2 -2
- package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
- package/dist/_internal/components/data-display/LazyImage/LazyImage.hooks.js +1 -1
- package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -2
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +6 -6
- package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -1
- package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +5 -1
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +7 -3
- package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +5 -1
- package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +6 -1
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +9 -6
- package/dist/_internal/components/data-display/Progress/Progress.js +2 -2
- package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +6 -4
- package/dist/_internal/components/data-display/Sheet/Sheet.body.js +3 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.js +6 -5
- package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +2 -1
- package/dist/_internal/components/data-display/Stepper/Stepper.js +3 -1
- package/dist/_internal/components/data-display/Table/Table.helpers.js +1 -1
- package/dist/_internal/components/data-display/Table/Table.js +6 -4
- package/dist/_internal/components/data-display/Table/TableParts.hooks.js +4 -2
- package/dist/_internal/components/data-display/Table/TableParts.js +4 -2
- package/dist/_internal/components/data-display/Timeline/Timeline.js +4 -2
- package/dist/_internal/components/data-display/Timeline/TimelineRow.js +1 -1
- package/dist/_internal/components/data-display/index.js +73 -68
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +5 -4
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +4 -3
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +6 -5
- package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +5 -4
- package/dist/_internal/components/feedback/Dialog/Dialog.js +3 -2
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +4 -4
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +12 -11
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +6 -6
- package/dist/_internal/components/feedback/Sonner/Sonner.js +3 -2
- package/dist/_internal/components/feedback/Sonner/SonnerToast.js +1 -1
- package/dist/_internal/components/feedback/StackedModal/StackedModal.js +7 -6
- package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -1
- package/dist/_internal/components/feedback/Toast/Toast.js +2 -1
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +3 -2
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +2 -1
- package/dist/_internal/components/feedback/index.js +34 -32
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.helpers.js +3 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +8 -6
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +12 -10
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +4 -2
- package/dist/_internal/components/form/AddressAutocomplete/useAddressPredictions.js +4 -2
- package/dist/_internal/components/form/AddressAutocomplete/useAddressSelection.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/useCurrentLocation.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/useGoogleMapsAPI.js +1 -1
- package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
- 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 +5 -5
- package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
- package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
- package/dist/_internal/components/form/CategorySelect/CategorySelect.js +9 -9
- package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
- package/dist/_internal/components/form/CodeEditor/CodeEditor.js +3 -3
- package/dist/_internal/components/form/Command/Command.hooks.js +2 -1
- package/dist/_internal/components/form/Command/Command.js +4 -3
- package/dist/_internal/components/form/Command/Command.parts.js +2 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +3 -2
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +12 -11
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +2 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +3 -2
- package/dist/_internal/components/form/InputOTP/InputOTP.js +2 -2
- package/dist/_internal/components/form/Menubar/Menubar.js +2 -2
- package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
- package/dist/_internal/components/form/PhoneInput/PhoneInput.js +4 -3
- package/dist/_internal/components/form/PhoneInput/countries.js +7 -3
- package/dist/_internal/components/form/PickerSheet/PickerSheet.js +4 -4
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.dom.js +2 -1
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.format.js +3 -2
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.hooks.js +4 -3
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +7 -5
- package/dist/_internal/components/form/RichTextEditor/RichTextEditorToolbar.js +1 -1
- package/dist/_internal/components/form/Switch/Switch.js +4 -4
- package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
- package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
- package/dist/_internal/components/form/Textarea/Textarea.js +1 -1
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +4 -1
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
- package/dist/_internal/components/form/UploadButton/UploadButton.hooks.js +2 -1
- package/dist/_internal/components/form/UploadButton/UploadButton.js +3 -2
- package/dist/_internal/components/form/index.js +53 -50
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +10 -10
- package/dist/_internal/components/form/total-form/Fields/index.js +13 -13
- package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -2
- package/dist/_internal/components/index.js +214 -205
- package/dist/_internal/components/layout/Card/Card.js +2 -2
- package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +2 -1
- package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +3 -1
- package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +2 -1
- package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +2 -1
- package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -1
- package/dist/_internal/components/layout/Drawer/Drawer.js +2 -1
- package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +3 -3
- package/dist/_internal/components/layout/SettingCard/SettingCard.js +4 -4
- package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +3 -3
- package/dist/_internal/components/layout/SettingCard/SettingGroup.js +10 -10
- package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +8 -8
- package/dist/_internal/components/layout/SettingCard/SettingToggle.js +10 -10
- package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +7 -6
- package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.rail.js +1 -1
- package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +3 -3
- package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +2 -2
- package/dist/_internal/components/layout/TableFilter/TableFilter.js +2 -1
- package/dist/_internal/components/layout/index.js +38 -36
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +9 -8
- package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +2 -1
- package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +2 -1
- package/dist/_internal/components/navigation/CommandPalette/CommandPalette.helpers.js +2 -1
- package/dist/_internal/components/navigation/CommandPalette/CommandPalette.hooks.js +3 -2
- package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +6 -4
- package/dist/_internal/components/navigation/CommandPalette/CommandPaletteResults.js +3 -1
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +4 -4
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +7 -6
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +1 -1
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +5 -4
- package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
- package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +4 -3
- package/dist/_internal/components/navigation/SectionNav/SectionNav.js +6 -5
- package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +3 -2
- package/dist/_internal/components/navigation/index.js +34 -30
- package/dist/_internal/components/typography/Code/Code.js +2 -1
- package/dist/_internal/components/typography/index.js +2 -1
- package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +2 -1
- package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +3 -2
- package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.parts.js +2 -1
- package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +7 -3
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +6 -4
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +4 -2
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +5 -3
- package/dist/_internal/components/utility/index.js +11 -9
- package/dist/_internal/copy/labels.js +1 -0
- package/dist/_internal/en-US.data-display.js +1 -1
- package/dist/_internal/en-US.feedback.js +1 -1
- package/dist/_internal/en-US.form.js +1 -1
- package/dist/_internal/en-US.labels.js +8 -0
- package/dist/_internal/en-US.navigation.js +1 -1
- package/dist/_internal/en-US.utility.js +1 -1
- package/dist/_internal/pt-BR.data-display.js +1 -1
- package/dist/_internal/pt-BR.feedback.js +1 -1
- package/dist/_internal/pt-BR.form.js +1 -1
- package/dist/_internal/pt-BR.labels.js +8 -0
- package/dist/_internal/pt-BR.labels.js.map +1 -0
- package/dist/_internal/pt-BR.navigation.js +1 -1
- package/dist/_internal/pt-BR.utility.js +1 -1
- package/dist/_internal/social-login-button/social-login-button.js +5 -4
- package/dist/_internal/user-avatar/user-avatar.js +9 -7
- package/dist/_internal/utils/resolve-labels.js +8 -0
- package/dist/_internal/utils/resolve-labels.js.map +1 -0
- package/dist/charts.js +11 -11
- package/dist/{chunk-OPP6USJC.js → chunk-2FQF4CNE.js} +2 -2
- package/dist/{chunk-BWFQEASG.js → chunk-2P5ZBBTL.js} +5 -5
- package/dist/{chunk-SV6IQ2YO.js → chunk-3B7EJIG7.js} +6 -4
- package/dist/chunk-3B7EJIG7.js.map +1 -0
- package/dist/{chunk-GHXW6O5T.js → chunk-3LQLLL2J.js} +4 -4
- package/dist/chunk-3LQLLL2J.js.map +1 -0
- package/dist/{chunk-4MQ6XTIJ.js → chunk-3OWFUFZL.js} +27 -13
- package/dist/chunk-3OWFUFZL.js.map +1 -0
- package/dist/{chunk-QVO4SIS7.js → chunk-3W2B7IZG.js} +2 -2
- package/dist/{chunk-AYP6ICAY.js → chunk-44FY2YZL.js} +11 -10
- package/dist/chunk-44FY2YZL.js.map +1 -0
- package/dist/{chunk-Q6PRGXR2.js → chunk-4HBCWKIX.js} +4 -4
- package/dist/{chunk-RA6W37NZ.js → chunk-4JV46KXS.js} +11 -8
- package/dist/chunk-4JV46KXS.js.map +1 -0
- package/dist/{chunk-2QO3BKUQ.js → chunk-4NVEUJXK.js} +5 -5
- package/dist/{chunk-O6SAU5JA.js → chunk-4OTJ66ID.js} +4 -4
- package/dist/{chunk-PBMCRDZI.js → chunk-4PREA2R5.js} +5 -2
- package/dist/chunk-4PREA2R5.js.map +1 -0
- package/dist/{chunk-YZX4DVRS.js → chunk-52UVUVYQ.js} +6 -3
- package/dist/chunk-52UVUVYQ.js.map +1 -0
- package/dist/{chunk-PIP7XII2.js → chunk-5JDY5W7O.js} +3 -3
- package/dist/{chunk-XICRCPEQ.js → chunk-5U7LBO2V.js} +5 -4
- package/dist/chunk-5U7LBO2V.js.map +1 -0
- package/dist/{chunk-JE6RZ5L6.js → chunk-5ZOJLYD2.js} +4 -4
- package/dist/{chunk-KT3TF2LT.js → chunk-634Z7HGN.js} +10 -5
- package/dist/chunk-634Z7HGN.js.map +1 -0
- package/dist/{chunk-LG52LMAM.js → chunk-6B7VZFAO.js} +3 -3
- package/dist/{chunk-ALREWFRX.js → chunk-6DGNMASB.js} +4 -4
- package/dist/{chunk-LH4VKUZC.js → chunk-6EERXU6R.js} +13 -7
- package/dist/chunk-6EERXU6R.js.map +1 -0
- package/dist/{chunk-MA6SUE7F.js → chunk-6EZQLNPK.js} +5 -3
- package/dist/chunk-6EZQLNPK.js.map +1 -0
- package/dist/{chunk-555TUQ7E.js → chunk-6IVR5HFI.js} +6 -6
- package/dist/{chunk-VRPCZ3IE.js → chunk-6JKECOZ2.js} +7 -6
- package/dist/chunk-6JKECOZ2.js.map +1 -0
- package/dist/{chunk-J26ZWYQI.js → chunk-6KCJNERH.js} +2 -2
- package/dist/{chunk-5752357K.js → chunk-6N2U67KF.js} +4 -4
- package/dist/{chunk-AXZCCX7O.js → chunk-6S7CFH6V.js} +2 -2
- package/dist/{chunk-PMRLFNBT.js → chunk-763AHWKU.js} +4 -4
- package/dist/{chunk-6DAIC2MG.js → chunk-775LIZXS.js} +4 -4
- package/dist/{chunk-XKSA4L2X.js → chunk-7DODMQRK.js} +11 -3
- package/dist/chunk-7DODMQRK.js.map +1 -0
- package/dist/{chunk-7HA7UH7O.js → chunk-7H5BIZ33.js} +4 -4
- package/dist/{chunk-VEBNL5MG.js → chunk-7HYLXERK.js} +4 -4
- package/dist/{chunk-M3DSPEZ3.js → chunk-7S3NG2AO.js} +6 -6
- package/dist/{chunk-EUACQR6N.js → chunk-7UDQJOZZ.js} +7 -5
- package/dist/chunk-7UDQJOZZ.js.map +1 -0
- package/dist/{chunk-CSD6SWBZ.js → chunk-A3Z7ZXLM.js} +6 -6
- package/dist/{chunk-3ZWCKCZC.js → chunk-A7LBWRRW.js} +5 -2
- package/dist/chunk-A7LBWRRW.js.map +1 -0
- package/dist/{chunk-LBZEPWYK.js → chunk-ABJOW7EK.js} +4 -4
- package/dist/{chunk-44PBCQ7E.js → chunk-ABQZFK7M.js} +6 -6
- package/dist/{chunk-ZFBFQK2Y.js → chunk-AFSXC5FU.js} +11 -12
- package/dist/chunk-AFSXC5FU.js.map +1 -0
- package/dist/{chunk-PY3RW5LC.js → chunk-AISCD6W6.js} +24 -10
- package/dist/chunk-AISCD6W6.js.map +1 -0
- package/dist/{chunk-EIMFA7KP.js → chunk-ANUO67JQ.js} +2 -2
- package/dist/{chunk-PTQRJEPN.js → chunk-AOBQ3KYY.js} +2 -2
- package/dist/{chunk-LODYTVOO.js → chunk-B25SHVWP.js} +4 -4
- package/dist/{chunk-ZYKDUKAH.js → chunk-B2RNNJRO.js} +7 -4
- package/dist/chunk-B2RNNJRO.js.map +1 -0
- package/dist/{chunk-HPEBSLYP.js → chunk-B67KUCWU.js} +2 -2
- package/dist/{chunk-GTT5UKKO.js → chunk-BDJIP4HG.js} +4 -4
- package/dist/{chunk-TTCVYY2B.js → chunk-BFBCTF2Y.js} +22 -7
- package/dist/chunk-BFBCTF2Y.js.map +1 -0
- package/dist/{chunk-RS576GOH.js → chunk-BIUT3K6A.js} +4 -4
- package/dist/{chunk-A5NXBOWS.js → chunk-BLHSLB5D.js} +5 -5
- package/dist/{chunk-RHKQ2RSY.js → chunk-BLVFHVDM.js} +17 -17
- package/dist/{chunk-DYHOBKPU.js → chunk-BLZDSCIZ.js} +6 -6
- package/dist/{chunk-XQWUVQ2F.js → chunk-BMVLTTTC.js} +10 -3
- package/dist/chunk-BMVLTTTC.js.map +1 -0
- package/dist/{chunk-CZV6NVCA.js → chunk-BTDY2NYV.js} +10 -7
- package/dist/chunk-BTDY2NYV.js.map +1 -0
- package/dist/{chunk-E53MMMDA.js → chunk-BX6CF2UG.js} +3 -3
- package/dist/{chunk-RUF7TOAZ.js → chunk-C2I7NQC4.js} +3 -2
- package/dist/{chunk-RUF7TOAZ.js.map → chunk-C2I7NQC4.js.map} +1 -1
- package/dist/{chunk-WVZBYTIK.js → chunk-C465AAD5.js} +29 -19
- package/dist/chunk-C465AAD5.js.map +1 -0
- package/dist/{chunk-XYFBJH6F.js → chunk-C7LHIDVB.js} +19 -9
- package/dist/chunk-C7LHIDVB.js.map +1 -0
- package/dist/{chunk-Z24VOTA7.js → chunk-CCWE6DBC.js} +4 -2
- package/dist/{chunk-Z24VOTA7.js.map → chunk-CCWE6DBC.js.map} +1 -1
- package/dist/{chunk-7K23NEZO.js → chunk-CFDYQSN6.js} +8 -8
- package/dist/{chunk-YLSDFW5O.js → chunk-CN4JS57H.js} +35 -5
- package/dist/chunk-CN4JS57H.js.map +1 -0
- package/dist/{chunk-4NQXHPQR.js → chunk-D4LMRSY7.js} +11 -2
- package/dist/chunk-D4LMRSY7.js.map +1 -0
- package/dist/{chunk-O36MIQIO.js → chunk-DB7OJM6X.js} +2 -2
- package/dist/{chunk-GSXYXMCV.js → chunk-DD3VFDB2.js} +2 -2
- package/dist/{chunk-KARMRTTM.js → chunk-DE2GWZ6X.js} +10 -7
- package/dist/chunk-DE2GWZ6X.js.map +1 -0
- package/dist/{chunk-FT6HBP5E.js → chunk-DE7E2GBP.js} +11 -8
- package/dist/chunk-DE7E2GBP.js.map +1 -0
- package/dist/{chunk-QWVETTIY.js → chunk-DJMVBIFD.js} +21 -12
- package/dist/chunk-DJMVBIFD.js.map +1 -0
- package/dist/{chunk-JKNKGGOG.js → chunk-DKRMOIX2.js} +7 -1
- package/dist/chunk-DKRMOIX2.js.map +1 -0
- package/dist/{chunk-3HLKTBEO.js → chunk-DQ22UKMZ.js} +4 -2
- package/dist/{chunk-3HLKTBEO.js.map → chunk-DQ22UKMZ.js.map} +1 -1
- package/dist/{chunk-IQ2U5MVO.js → chunk-DT22MDC3.js} +9 -9
- package/dist/{chunk-INGPH3YQ.js → chunk-DVRNW33K.js} +28 -5
- package/dist/chunk-DVRNW33K.js.map +1 -0
- package/dist/{chunk-C5JCARNE.js → chunk-DWCH6GH5.js} +7 -4
- package/dist/chunk-DWCH6GH5.js.map +1 -0
- package/dist/{chunk-NTO5DALI.js → chunk-DWLSYFQW.js} +5 -2
- package/dist/chunk-DWLSYFQW.js.map +1 -0
- package/dist/{chunk-7XSCEHGA.js → chunk-EOQ6EKTS.js} +7 -7
- package/dist/{chunk-UGH2DDST.js → chunk-ETSASQXI.js} +4 -2
- package/dist/chunk-ETSASQXI.js.map +1 -0
- package/dist/{chunk-F742IMLQ.js → chunk-EXKK73UN.js} +5 -2
- package/dist/chunk-EXKK73UN.js.map +1 -0
- package/dist/{chunk-HN3PZTUK.js → chunk-F5SUBK42.js} +9 -6
- package/dist/chunk-F5SUBK42.js.map +1 -0
- package/dist/chunk-FB4GLQQO.js +102 -0
- package/dist/chunk-FB4GLQQO.js.map +1 -0
- package/dist/{chunk-5KNDAC24.js → chunk-FCCOUOP7.js} +8 -2
- package/dist/chunk-FCCOUOP7.js.map +1 -0
- package/dist/{chunk-WC3W36AM.js → chunk-FKUVFPQZ.js} +26 -12
- package/dist/chunk-FKUVFPQZ.js.map +1 -0
- package/dist/{chunk-VEKTKCSB.js → chunk-FLJ3RIRP.js} +5 -5
- package/dist/{chunk-2ARVNCVU.js → chunk-FZUAB2KS.js} +8 -6
- package/dist/chunk-FZUAB2KS.js.map +1 -0
- package/dist/{chunk-Z5WUSI47.js → chunk-G3JFESKD.js} +6 -6
- package/dist/{chunk-KZXOIRUP.js → chunk-G3SWMBZS.js} +43 -12
- package/dist/chunk-G3SWMBZS.js.map +1 -0
- package/dist/{chunk-XRDH24J7.js → chunk-G6ET2DRL.js} +2 -2
- package/dist/{chunk-KIL3OVLI.js → chunk-G76PIGF7.js} +6 -2
- package/dist/chunk-G76PIGF7.js.map +1 -0
- package/dist/{chunk-7JOLSD2W.js → chunk-GHTVBYFA.js} +3 -3
- package/dist/{chunk-Y7YJYUNV.js → chunk-GLAAX5JJ.js} +16 -4
- package/dist/chunk-GLAAX5JJ.js.map +1 -0
- package/dist/{chunk-U4G3KY6L.js → chunk-GMU5AA3R.js} +8 -7
- package/dist/chunk-GMU5AA3R.js.map +1 -0
- package/dist/{chunk-XLTHZI5W.js → chunk-GX2LIB4T.js} +6 -3
- package/dist/chunk-GX2LIB4T.js.map +1 -0
- package/dist/{chunk-RKVS5AA6.js → chunk-H3NXDKFH.js} +7 -4
- package/dist/chunk-H3NXDKFH.js.map +1 -0
- package/dist/{chunk-47VRDPR2.js → chunk-HFZE2PGM.js} +5 -2
- package/dist/chunk-HFZE2PGM.js.map +1 -0
- package/dist/{chunk-AMLHEKSV.js → chunk-HI7JPDD6.js} +5 -5
- package/dist/{chunk-5MMAV7XK.js → chunk-HWKBCLKD.js} +4 -2
- package/dist/chunk-HWKBCLKD.js.map +1 -0
- package/dist/{chunk-5J7SA4CZ.js → chunk-HWUFOII2.js} +28 -10
- package/dist/chunk-HWUFOII2.js.map +1 -0
- package/dist/{chunk-N34AOGK3.js → chunk-I3OKAQ5L.js} +7 -7
- package/dist/{chunk-AEYLFBZT.js → chunk-I4NDZFTB.js} +2 -2
- package/dist/{chunk-2ZRZTGWP.js → chunk-ISW5K72V.js} +5 -5
- package/dist/{chunk-ICRVLGWD.js → chunk-J7CIRTWQ.js} +14 -3
- package/dist/chunk-J7CIRTWQ.js.map +1 -0
- package/dist/{chunk-FTPTPASD.js → chunk-JBYFBPI6.js} +2 -5
- package/dist/{chunk-FTPTPASD.js.map → chunk-JBYFBPI6.js.map} +1 -1
- package/dist/{chunk-AYJ44VTJ.js → chunk-JJNY5MZL.js} +15 -13
- package/dist/chunk-JJNY5MZL.js.map +1 -0
- package/dist/{chunk-4M5GEKPM.js → chunk-JL4I7OQE.js} +4 -4
- package/dist/{chunk-EF4DVYD2.js → chunk-JMUZ5JZA.js} +2 -2
- package/dist/chunk-JQLQOIB3.js +1 -0
- package/dist/chunk-JQLQOIB3.js.map +1 -0
- package/dist/{chunk-FIOBPQL2.js → chunk-JQSF3CUR.js} +16 -4
- package/dist/chunk-JQSF3CUR.js.map +1 -0
- package/dist/{chunk-HQCZT6TO.js → chunk-JVOEVTCZ.js} +5 -5
- package/dist/{chunk-MBMZNSBP.js → chunk-JW7MN4DG.js} +3 -3
- package/dist/{chunk-FCVPVEAS.js → chunk-KSOIFQJ6.js} +7 -7
- package/dist/{chunk-GBVNY2LG.js → chunk-KTXJQ4YJ.js} +6 -6
- package/dist/{chunk-NBXG3SQ3.js → chunk-KW2KCPZF.js} +6 -6
- package/dist/{chunk-4VRDFZ4G.js → chunk-KYTFGW4R.js} +7 -3
- package/dist/chunk-KYTFGW4R.js.map +1 -0
- package/dist/{chunk-3V3Z4EML.js → chunk-L4FWEI2P.js} +5 -5
- package/dist/{chunk-7VRCGWQL.js → chunk-L7N4AFZD.js} +6 -5
- package/dist/chunk-L7N4AFZD.js.map +1 -0
- package/dist/{chunk-T743IIER.js → chunk-LDPN55AA.js} +8 -4
- package/dist/chunk-LDPN55AA.js.map +1 -0
- package/dist/{chunk-2TSGRQ2J.js → chunk-LHJJZ462.js} +4 -2
- package/dist/chunk-LHJJZ462.js.map +1 -0
- package/dist/{chunk-OE3SQOZV.js → chunk-LHRAHDJF.js} +13 -7
- package/dist/chunk-LHRAHDJF.js.map +1 -0
- package/dist/chunk-LL2BWQPM.js +11 -0
- package/dist/chunk-LL2BWQPM.js.map +1 -0
- package/dist/{chunk-56JF5PZK.js → chunk-LYVTJLCF.js} +4 -4
- package/dist/{chunk-MNZ6MCOK.js → chunk-MKRJUT5O.js} +9 -9
- package/dist/{chunk-BGYLL467.js → chunk-N3W6FZOC.js} +4 -4
- package/dist/{chunk-B2JYQBO4.js → chunk-NF5TATKP.js} +11 -6
- package/dist/chunk-NF5TATKP.js.map +1 -0
- package/dist/{chunk-BWFUZ4N2.js → chunk-NGXDOWUP.js} +4 -4
- package/dist/{chunk-MTGEJRE4.js → chunk-NNKIM73H.js} +17 -4
- package/dist/chunk-NNKIM73H.js.map +1 -0
- package/dist/{chunk-OHXAJUO5.js → chunk-NPPO7G2B.js} +5 -3
- package/dist/{chunk-OHXAJUO5.js.map → chunk-NPPO7G2B.js.map} +1 -1
- package/dist/{chunk-3VXS7O3X.js → chunk-NSS3X7FK.js} +17 -3
- package/dist/chunk-NSS3X7FK.js.map +1 -0
- package/dist/{chunk-VNVV6Y2X.js → chunk-NWNHSASQ.js} +4 -2
- package/dist/chunk-NWNHSASQ.js.map +1 -0
- package/dist/chunk-O2RXSXSF.js +145 -0
- package/dist/chunk-O2RXSXSF.js.map +1 -0
- package/dist/{chunk-VMN6KG2U.js → chunk-OCLEKMBP.js} +3 -3
- package/dist/chunk-OCLEKMBP.js.map +1 -0
- package/dist/{chunk-HBP2OU4Q.js → chunk-OOCD2QR3.js} +4 -3
- package/dist/chunk-OOCD2QR3.js.map +1 -0
- package/dist/{chunk-NYWAAXDX.js → chunk-OT4HIG7S.js} +3 -3
- package/dist/{chunk-ZPACE34U.js → chunk-OTION43A.js} +16 -12
- package/dist/chunk-OTION43A.js.map +1 -0
- package/dist/{chunk-GRMBCJS6.js → chunk-PAKLYZ6G.js} +4 -4
- package/dist/{chunk-PU3HEWSG.js → chunk-PF2A2IM7.js} +13 -4
- package/dist/chunk-PF2A2IM7.js.map +1 -0
- package/dist/{chunk-5M2NWXN4.js → chunk-PGBIUO2A.js} +2 -2
- package/dist/{chunk-RCTHCXS6.js → chunk-PJNIJIE6.js} +2 -2
- package/dist/{chunk-6ATXOJVQ.js → chunk-QADTI63U.js} +4 -4
- package/dist/{chunk-SUZXPDUQ.js → chunk-QJLOWBFW.js} +12 -6
- package/dist/chunk-QJLOWBFW.js.map +1 -0
- package/dist/{chunk-FRGNTTPA.js → chunk-QK3XXPBA.js} +15 -10
- package/dist/chunk-QK3XXPBA.js.map +1 -0
- package/dist/chunk-QNAB53N3.js +1 -0
- package/dist/chunk-QNAB53N3.js.map +1 -0
- package/dist/{chunk-7ZROYGUG.js → chunk-QOTMQLMW.js} +2 -2
- package/dist/{chunk-NQCTANF3.js → chunk-QVDEGBME.js} +7 -7
- package/dist/{chunk-LI6XSM5D.js → chunk-QVEJGFRP.js} +3 -3
- package/dist/{chunk-HEBZ7Q7O.js → chunk-QVYBRD6U.js} +7 -6
- package/dist/chunk-QVYBRD6U.js.map +1 -0
- package/dist/{chunk-JJVIZR6C.js → chunk-RIPG3QIN.js} +24 -13
- package/dist/chunk-RIPG3QIN.js.map +1 -0
- package/dist/{chunk-VD72JGHA.js → chunk-RMZQHJEP.js} +3 -3
- package/dist/{chunk-VBGC7G4F.js → chunk-RQ3IS5NQ.js} +2 -2
- package/dist/{chunk-3JDP5OUR.js → chunk-RQY5ONSF.js} +6 -2
- package/dist/chunk-RQY5ONSF.js.map +1 -0
- package/dist/{chunk-33LAPBYB.js → chunk-SCQARHMU.js} +9 -5
- package/dist/chunk-SCQARHMU.js.map +1 -0
- package/dist/chunk-SEUJNFOD.js +119 -0
- package/dist/chunk-SEUJNFOD.js.map +1 -0
- package/dist/{chunk-YNDTLBOH.js → chunk-SM2O6D5F.js} +2 -2
- package/dist/{chunk-WA6F4NOO.js → chunk-SMANO5OD.js} +4 -4
- package/dist/{chunk-7SYYGXC7.js → chunk-SSCEX5NY.js} +6 -2
- package/dist/chunk-SSCEX5NY.js.map +1 -0
- package/dist/{chunk-YJBWDDW7.js → chunk-SXNGH56D.js} +12 -12
- package/dist/{chunk-HZK4DRGF.js → chunk-SYZVXWEQ.js} +6 -4
- package/dist/chunk-SYZVXWEQ.js.map +1 -0
- package/dist/{chunk-VQYR64QB.js → chunk-TAR5LSGT.js} +8 -3
- package/dist/chunk-TAR5LSGT.js.map +1 -0
- package/dist/{chunk-NDGA7ZE6.js → chunk-TGMMUKOF.js} +3 -3
- package/dist/{chunk-RZCXYKY4.js → chunk-TGZ6GPYQ.js} +7 -3
- package/dist/chunk-TGZ6GPYQ.js.map +1 -0
- package/dist/{chunk-SB2SEGR6.js → chunk-TIM4PXWN.js} +3 -3
- package/dist/{chunk-2ILXXBMG.js → chunk-TLVKJBPM.js} +12 -6
- package/dist/chunk-TLVKJBPM.js.map +1 -0
- package/dist/{chunk-BGTG7G54.js → chunk-TLZR6UPJ.js} +6 -3
- package/dist/chunk-TLZR6UPJ.js.map +1 -0
- package/dist/{chunk-MHLYX6QW.js → chunk-TRAMTVIO.js} +5 -5
- package/dist/{chunk-QO7UJXXO.js → chunk-TVMSXL3R.js} +2 -2
- package/dist/{chunk-XLCVMRSO.js → chunk-U67CX4FL.js} +12 -4
- package/dist/chunk-U67CX4FL.js.map +1 -0
- package/dist/{chunk-DXFKPY2K.js → chunk-UCQRJTCI.js} +4 -4
- package/dist/{chunk-CW6Y32N2.js → chunk-UF4JFRLE.js} +6 -6
- package/dist/{chunk-HHPJXK4Z.js → chunk-UHQZ5XPW.js} +2 -2
- package/dist/{chunk-FTDGFWB5.js → chunk-UK3DSFMK.js} +5 -5
- package/dist/{chunk-EERUSI52.js → chunk-URAX2JPM.js} +6 -3
- package/dist/chunk-URAX2JPM.js.map +1 -0
- package/dist/{chunk-GBKIGUNP.js → chunk-UYNJ3FYE.js} +3 -3
- package/dist/{chunk-UZOG6HNN.js → chunk-V65YK5DC.js} +5 -4
- package/dist/chunk-V65YK5DC.js.map +1 -0
- package/dist/{chunk-4HUSG5MR.js → chunk-V6DMNSW6.js} +4 -4
- package/dist/chunk-V6DMNSW6.js.map +1 -0
- package/dist/{chunk-MSC43MCJ.js → chunk-VAGGIRLA.js} +10 -7
- package/dist/chunk-VAGGIRLA.js.map +1 -0
- package/dist/{chunk-2MYSXWZQ.js → chunk-VKTF3GAP.js} +9 -9
- package/dist/chunk-VRKNVZZQ.js +145 -0
- package/dist/chunk-VRKNVZZQ.js.map +1 -0
- package/dist/{chunk-LTTYUSJ2.js → chunk-VTDZUO2J.js} +4 -2
- package/dist/chunk-VTDZUO2J.js.map +1 -0
- package/dist/{chunk-4XBAEKQQ.js → chunk-W2RXXF7K.js} +4 -4
- package/dist/{chunk-3Z3WIQ5M.js → chunk-W3EVATBS.js} +5 -5
- package/dist/{chunk-A2YLFKQU.js → chunk-W5WYTVLS.js} +2 -2
- package/dist/{chunk-64AOS2WA.js → chunk-WWIYYXY3.js} +17 -10
- package/dist/chunk-WWIYYXY3.js.map +1 -0
- package/dist/{chunk-EBCEDBHX.js → chunk-XDDKRACZ.js} +3 -3
- package/dist/{chunk-WOXWLJYR.js → chunk-XF47LPCF.js} +5 -2
- package/dist/chunk-XF47LPCF.js.map +1 -0
- package/dist/{chunk-SLSED46V.js → chunk-Y3DV7LGC.js} +2 -1
- package/dist/{chunk-SLSED46V.js.map → chunk-Y3DV7LGC.js.map} +1 -1
- package/dist/{chunk-ASZGMKB4.js → chunk-Y3TD7HOY.js} +2 -2
- package/dist/{chunk-3YLRR4JM.js → chunk-Y3YZBB74.js} +2 -2
- package/dist/{chunk-HBHBRRSW.js → chunk-YBAK2WN5.js} +7 -7
- package/dist/{chunk-LOLYI6PS.js → chunk-YCZGYYUX.js} +11 -8
- package/dist/chunk-YCZGYYUX.js.map +1 -0
- package/dist/{chunk-XODBYGTH.js → chunk-YMKSPW4T.js} +2 -2
- package/dist/{chunk-YOKUDQIJ.js → chunk-YOQAK2RN.js} +7 -3
- package/dist/chunk-YOQAK2RN.js.map +1 -0
- package/dist/{chunk-6RTE4UNO.js → chunk-YV4O7KDR.js} +1 -1
- package/dist/{chunk-MM7BPTVV.js → chunk-Z52W7FEU.js} +2 -2
- package/dist/{chunk-7P5PNRBT.js → chunk-ZDBG7QG2.js} +6 -6
- package/dist/{chunk-Z5V5E3JW.js → chunk-ZIHSCBMN.js} +10 -10
- package/dist/{chunk-S4JXSC4D.js → chunk-ZT73ACK3.js} +6 -6
- package/dist/{chunk-TJO4CBYT.js → chunk-ZX3QMCYO.js} +6 -3
- package/dist/chunk-ZX3QMCYO.js.map +1 -0
- package/dist/data-display/Alert.js +3 -3
- package/dist/data-display/AlertDialog.js +3 -2
- package/dist/data-display/AsyncStateContainer.js +7 -5
- package/dist/data-display/Avatar.js +5 -4
- package/dist/data-display/CardKit.js +19 -18
- package/dist/data-display/Carousel.js +7 -4
- package/dist/data-display/Chart.js +11 -11
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +94 -92
- package/dist/data-display/EmptyState.js +3 -2
- package/dist/data-display/ErrorState.js +2 -1
- package/dist/data-display/FleetMap.js +16 -12
- package/dist/data-display/HoverCard.js +2 -2
- package/dist/data-display/InteractiveTooltip.js +2 -2
- package/dist/data-display/LazyImage.js +3 -2
- package/dist/data-display/Lightbox.js +6 -6
- package/dist/data-display/LoadingState.js +3 -1
- package/dist/data-display/MapPreview.js +9 -6
- package/dist/data-display/Progress.js +2 -2
- package/dist/data-display/SectionOnboarding.js +6 -4
- package/dist/data-display/Sheet.js +6 -5
- package/dist/data-display/Stepper.js +3 -1
- package/dist/data-display/Table.js +6 -4
- package/dist/data-display/Timeline.js +4 -2
- package/dist/en-US.js +17 -13
- package/dist/feedback/ConfirmAction.js +10 -9
- package/dist/feedback/Dialog.js +3 -2
- package/dist/feedback/NotificationStatusNotice.js +4 -4
- package/dist/feedback/SequenceResolver.js +12 -11
- package/dist/feedback/Sonner.js +3 -2
- package/dist/feedback/StackedModal.js +7 -6
- package/dist/feedback/Toast.js +2 -1
- package/dist/feedback/TutorialOverlay.js +3 -2
- package/dist/form/AddressAutocomplete.js +12 -10
- package/dist/form/Autocomplete.js +2 -2
- package/dist/form/Calendar.js +6 -6
- package/dist/form/CategorySelect.js +9 -9
- package/dist/form/Checkbox.js +2 -2
- package/dist/form/CodeEditor.js +3 -3
- package/dist/form/Command.js +4 -3
- package/dist/form/DateRangePicker.js +12 -11
- package/dist/form/InputOTP.js +2 -2
- package/dist/form/Menubar.js +2 -2
- package/dist/form/PhoneInput.js +4 -3
- package/dist/form/PickerSheet.js +4 -4
- package/dist/form/RichTextEditor.js +7 -5
- package/dist/form/Switch.js +4 -4
- package/dist/form/Textarea.js +1 -1
- package/dist/form/UploadButton.js +3 -2
- package/dist/form/total-form.js +18 -17
- package/dist/layout/Card.js +2 -2
- package/dist/layout/ContentToolbar.js +13 -11
- package/dist/layout/Dashboard.js +2 -1
- package/dist/layout/Drawer.js +2 -1
- package/dist/layout/ScrollArea.js +3 -3
- package/dist/layout/SettingCard.js +17 -17
- package/dist/layout/SettingsLayout.js +7 -6
- package/dist/layout/TableFilter.js +2 -1
- package/dist/locales.js +37 -29
- package/dist/locales.js.map +1 -1
- package/dist/native/chunks/{chunk-BXNZHDXK.js → chunk-67CYDCHZ.js} +12 -5
- package/dist/native/chunks/chunk-67CYDCHZ.js.map +1 -0
- package/dist/native/chunks/{chunk-AVHGS66L.js → chunk-7AVFQB6A.js} +7 -4
- package/dist/native/chunks/chunk-7AVFQB6A.js.map +1 -0
- package/dist/native/chunks/chunk-DUELD4HY.js +145 -0
- package/dist/native/chunks/chunk-DUELD4HY.js.map +1 -0
- package/dist/native/data-display/Avatar.js +4 -1
- package/dist/native/data-display/Avatar.js.map +1 -1
- package/dist/native/data-display/Badge.js +9 -3
- package/dist/native/data-display/Badge.js.map +1 -1
- package/dist/native/data-display/Chip.js +9 -1
- package/dist/native/data-display/Chip.js.map +1 -1
- package/dist/native/data-display/EmptyState.js +3 -2
- package/dist/native/data-display/ErrorState.js +5 -2
- package/dist/native/data-display/ErrorState.js.map +1 -1
- package/dist/native/data-display/FleetMap.js +3 -2
- package/dist/native/data-display/FleetMap.js.map +1 -1
- package/dist/native/data-display/LoadingState.js +16 -5
- package/dist/native/data-display/LoadingState.js.map +1 -1
- package/dist/native/feedback/Dialog.js +20 -3
- package/dist/native/feedback/Dialog.js.map +1 -1
- package/dist/native/form/Button.js +2 -1
- package/dist/native/form/Checkbox.js +6 -1
- package/dist/native/form/Checkbox.js.map +1 -1
- package/dist/native/form/Input.js +11 -3
- package/dist/native/form/Input.js.map +1 -1
- package/dist/native/form/Switch.js +5 -1
- package/dist/native/form/Switch.js.map +1 -1
- package/dist/navigation/AppHeader.js +13 -11
- package/dist/navigation/Breadcrumbs.js +2 -1
- package/dist/navigation/CommandPalette.js +6 -4
- package/dist/navigation/NavigationMenu.js +7 -6
- package/dist/navigation/Pagination.js +2 -2
- package/dist/navigation/SectionNav.js +7 -6
- package/dist/pt-BR.js +10 -6
- package/dist/social-login-button.js +5 -4
- package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/types/components/data-display/AlertDialog/AlertDialog.parts.d.ts.map +1 -1
- package/dist/types/components/data-display/AlertDialog/AlertDialog.types.d.ts +5 -0
- package/dist/types/components/data-display/AlertDialog/AlertDialog.types.d.ts.map +1 -1
- package/dist/types/components/data-display/Avatar/Avatar.d.ts.map +1 -1
- 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 +2 -0
- package/dist/types/components/data-display/Carousel/Carousel.types.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/DeleteViewDialog.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts +11 -0
- package/dist/types/components/data-display/DataViews/data-views-copy.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts +6 -2
- package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/use-data-views-state.d.ts.map +1 -1
- package/dist/types/components/data-display/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/types/components/data-display/ErrorState/ErrorState.d.ts.map +1 -1
- package/dist/types/components/data-display/LazyImage/LazyImage.d.ts.map +1 -1
- package/dist/types/components/data-display/LazyImage/LazyImage.types.d.ts +10 -0
- package/dist/types/components/data-display/LazyImage/LazyImage.types.d.ts.map +1 -1
- package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts +7 -0
- package/dist/types/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -1
- package/dist/types/components/data-display/LoadingState/LoadingState.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapLayers.d.ts +1 -1
- package/dist/types/components/data-display/MapPreview/MapLayers.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts +2 -0
- package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapPreview.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts +7 -1
- package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts.map +1 -1
- package/dist/types/components/data-display/Sheet/Sheet.body.d.ts +1 -1
- package/dist/types/components/data-display/Sheet/Sheet.body.d.ts.map +1 -1
- package/dist/types/components/data-display/Sheet/Sheet.parts.d.ts.map +1 -1
- package/dist/types/components/data-display/Sheet/Sheet.types.d.ts +10 -0
- package/dist/types/components/data-display/Sheet/Sheet.types.d.ts.map +1 -1
- package/dist/types/components/data-display/Stepper/Stepper.d.ts.map +1 -1
- package/dist/types/components/data-display/Stepper/Stepper.types.d.ts +4 -0
- package/dist/types/components/data-display/Stepper/Stepper.types.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.helpers.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/Table.types.d.ts +11 -0
- package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/TableParts.d.ts +2 -1
- package/dist/types/components/data-display/Table/TableParts.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/TableParts.hooks.d.ts +2 -2
- package/dist/types/components/data-display/Table/TableParts.hooks.d.ts.map +1 -1
- package/dist/types/components/data-display/Timeline/Timeline.d.ts.map +1 -1
- package/dist/types/components/data-display/Timeline/Timeline.types.d.ts +3 -0
- package/dist/types/components/data-display/Timeline/Timeline.types.d.ts.map +1 -1
- package/dist/types/components/data-display/Timeline/TimelineRow.d.ts +2 -0
- package/dist/types/components/data-display/Timeline/TimelineRow.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/Dialog.base.d.ts +10 -0
- package/dist/types/components/feedback/Dialog/Dialog.base.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/components/feedback/Sonner/Sonner.d.ts +6 -0
- package/dist/types/components/feedback/Sonner/Sonner.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 +5 -0
- package/dist/types/components/feedback/StackedModal/StackedModal.types.d.ts.map +1 -1
- package/dist/types/components/feedback/Toast/Toast.d.ts.map +1 -1
- package/dist/types/components/feedback/Toast/Toast.types.d.ts +5 -0
- package/dist/types/components/feedback/Toast/Toast.types.d.ts.map +1 -1
- package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
- package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.helpers.d.ts +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.helpers.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.hooks.d.ts +3 -1
- package/dist/types/components/form/AddressAutocomplete/AddressAutocomplete.hooks.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressAutocompleteField.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/useAddressPredictions.d.ts +2 -1
- package/dist/types/components/form/AddressAutocomplete/useAddressPredictions.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/useAddressSelection.d.ts +3 -1
- package/dist/types/components/form/AddressAutocomplete/useAddressSelection.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/useCurrentLocation.d.ts +3 -1
- package/dist/types/components/form/AddressAutocomplete/useCurrentLocation.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/useGoogleMapsAPI.d.ts +4 -1
- package/dist/types/components/form/AddressAutocomplete/useGoogleMapsAPI.d.ts.map +1 -1
- package/dist/types/components/form/Button/Button.native.loading.d.ts +2 -1
- package/dist/types/components/form/Button/Button.native.loading.d.ts.map +1 -1
- package/dist/types/components/form/Command/Command.hooks.d.ts.map +1 -1
- package/dist/types/components/form/Command/Command.parts.d.ts.map +1 -1
- package/dist/types/components/form/DateRangePicker/DateRangePicker.range.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 +1 -0
- package/dist/types/components/form/PhoneInput/PhoneInput.types.d.ts.map +1 -1
- package/dist/types/components/form/PhoneInput/countries.d.ts +6 -0
- package/dist/types/components/form/PhoneInput/countries.d.ts.map +1 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.dom.d.ts +1 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.dom.d.ts.map +1 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.format.d.ts +2 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.format.d.ts.map +1 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.hooks.d.ts +2 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.hooks.d.ts.map +1 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.types.d.ts +7 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.types.d.ts.map +1 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts +2 -0
- package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/TextareaRichEditor.d.ts.map +1 -1
- package/dist/types/components/form/UploadButton/UploadButton.hooks.d.ts.map +1 -1
- package/dist/types/components/form/total-form/FormErrorSnackbar.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ColumnsMenu.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts +14 -0
- package/dist/types/components/layout/ContentToolbar/ContentToolbar.types.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts +1 -1
- package/dist/types/components/layout/ContentToolbar/FilterTrigger.d.ts.map +1 -1
- package/dist/types/components/layout/ContentToolbar/MultiSelectDropdown.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 +2 -2
- package/dist/types/components/layout/Dashboard/Dashboard.d.ts.map +1 -1
- package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts +5 -0
- package/dist/types/components/layout/Dashboard/Dashboard.types.d.ts.map +1 -1
- package/dist/types/components/layout/Drawer/Drawer.d.ts.map +1 -1
- package/dist/types/components/layout/SettingsLayout/SettingsLayout.d.ts.map +1 -1
- package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts +3 -1
- package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts.map +1 -1
- package/dist/types/components/layout/SettingsLayout/SettingsLayout.types.d.ts +6 -0
- package/dist/types/components/layout/SettingsLayout/SettingsLayout.types.d.ts.map +1 -1
- package/dist/types/components/layout/TableFilter/TableFilter.d.ts.map +1 -1
- package/dist/types/components/navigation/AppHeader/AppHeader.identity.d.ts.map +1 -1
- package/dist/types/components/navigation/AppHeader/AppHeader.types.d.ts +5 -1
- package/dist/types/components/navigation/AppHeader/AppHeader.types.d.ts.map +1 -1
- package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/types/components/navigation/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/types/components/navigation/CommandPalette/CommandPalette.helpers.d.ts +1 -1
- package/dist/types/components/navigation/CommandPalette/CommandPalette.helpers.d.ts.map +1 -1
- package/dist/types/components/navigation/CommandPalette/CommandPalette.hooks.d.ts +2 -1
- package/dist/types/components/navigation/CommandPalette/CommandPalette.hooks.d.ts.map +1 -1
- package/dist/types/components/navigation/CommandPalette/CommandPaletteResults.d.ts.map +1 -1
- package/dist/types/components/navigation/NavigationMenu/NavigationMenu.d.ts.map +1 -1
- package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts +1 -0
- package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts.map +1 -1
- package/dist/types/components/navigation/NavigationMenu/NavigationMenu.types.d.ts +11 -0
- package/dist/types/components/navigation/NavigationMenu/NavigationMenu.types.d.ts.map +1 -1
- package/dist/types/components/navigation/NavigationMenu/NavigationMenuItem.d.ts.map +1 -1
- package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts +4 -0
- package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts.map +1 -1
- package/dist/types/components/typography/Code/Code.d.ts.map +1 -1
- package/dist/types/components/typography/Code/Code.types.d.ts +4 -0
- package/dist/types/components/typography/Code/Code.types.d.ts.map +1 -1
- package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.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 +1 -0
- 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/WorkflowStep/WorkflowStep.d.ts.map +1 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts +4 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts.map +1 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.parts.d.ts.map +1 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts +9 -0
- package/dist/types/components/utility/WorkflowStep/WorkflowStep.types.d.ts.map +1 -1
- package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts +1 -0
- package/dist/types/components/utility/WorkflowStep/WorkflowStepRow.d.ts.map +1 -1
- package/dist/types/copy/data-display.d.ts +24 -0
- package/dist/types/copy/data-display.d.ts.map +1 -1
- package/dist/types/copy/feedback.d.ts +4 -0
- package/dist/types/copy/feedback.d.ts.map +1 -1
- package/dist/types/copy/form.d.ts +58 -0
- package/dist/types/copy/form.d.ts.map +1 -1
- package/dist/types/copy/labels.d.ts +219 -0
- package/dist/types/copy/labels.d.ts.map +1 -0
- package/dist/types/copy/navigation.d.ts +12 -0
- package/dist/types/copy/navigation.d.ts.map +1 -1
- package/dist/types/copy/utility.d.ts +8 -1
- package/dist/types/copy/utility.d.ts.map +1 -1
- package/dist/types/copy.d.ts +1 -0
- package/dist/types/copy.d.ts.map +1 -1
- package/dist/types/en-US.d.ts +1 -0
- package/dist/types/en-US.d.ts.map +1 -1
- package/dist/types/en-US.data-display.d.ts +2 -2
- package/dist/types/en-US.data-display.d.ts.map +1 -1
- package/dist/types/en-US.feedback.d.ts +1 -1
- package/dist/types/en-US.feedback.d.ts.map +1 -1
- package/dist/types/en-US.form.d.ts +4 -4
- package/dist/types/en-US.form.d.ts.map +1 -1
- package/dist/types/en-US.labels.d.ts +9 -0
- package/dist/types/en-US.labels.d.ts.map +1 -0
- package/dist/types/en-US.navigation.d.ts +1 -1
- package/dist/types/en-US.navigation.d.ts.map +1 -1
- package/dist/types/en-US.utility.d.ts +1 -1
- package/dist/types/en-US.utility.d.ts.map +1 -1
- package/dist/types/locales.d.ts +2 -1
- package/dist/types/locales.d.ts.map +1 -1
- package/dist/types/pt-BR.d.ts +1 -0
- package/dist/types/pt-BR.d.ts.map +1 -1
- package/dist/types/pt-BR.data-display.d.ts +2 -2
- package/dist/types/pt-BR.data-display.d.ts.map +1 -1
- package/dist/types/pt-BR.feedback.d.ts +1 -1
- package/dist/types/pt-BR.feedback.d.ts.map +1 -1
- package/dist/types/pt-BR.form.d.ts +4 -4
- package/dist/types/pt-BR.form.d.ts.map +1 -1
- package/dist/types/pt-BR.labels.d.ts +8 -0
- package/dist/types/pt-BR.labels.d.ts.map +1 -0
- package/dist/types/pt-BR.navigation.d.ts +1 -1
- package/dist/types/pt-BR.navigation.d.ts.map +1 -1
- package/dist/types/pt-BR.utility.d.ts +1 -1
- package/dist/types/pt-BR.utility.d.ts.map +1 -1
- package/dist/types/social-login-button/social-login-button.d.ts.map +1 -1
- package/dist/types/user-avatar/user-avatar.d.ts +6 -1
- package/dist/types/user-avatar/user-avatar.d.ts.map +1 -1
- package/dist/types/utils/resolve-labels.d.ts +9 -0
- package/dist/types/utils/resolve-labels.d.ts.map +1 -0
- package/dist/types-native/components/data-display/Avatar/Avatar.native.d.ts.map +1 -1
- package/dist/types-native/components/data-display/Badge/Badge.native.d.ts +1 -0
- package/dist/types-native/components/data-display/Badge/Badge.native.d.ts.map +1 -1
- package/dist/types-native/components/data-display/Badge/Badge.types.native.d.ts +2 -0
- package/dist/types-native/components/data-display/Badge/Badge.types.native.d.ts.map +1 -1
- package/dist/types-native/components/data-display/Badge/BadgeContent.native.d.ts +2 -1
- package/dist/types-native/components/data-display/Badge/BadgeContent.native.d.ts.map +1 -1
- package/dist/types-native/components/data-display/Chip/Chip.native.d.ts +1 -0
- package/dist/types-native/components/data-display/Chip/Chip.native.d.ts.map +1 -1
- package/dist/types-native/components/data-display/Chip/Chip.types.native.d.ts +2 -0
- package/dist/types-native/components/data-display/Chip/Chip.types.native.d.ts.map +1 -1
- package/dist/types-native/components/data-display/EmptyState/EmptyState.native.d.ts.map +1 -1
- package/dist/types-native/components/data-display/ErrorState/ErrorState.native.d.ts.map +1 -1
- package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts +7 -0
- package/dist/types-native/components/data-display/LoadingState/LoadingState.base.d.ts.map +1 -1
- package/dist/types-native/components/data-display/LoadingState/LoadingState.native.d.ts.map +1 -1
- package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts +10 -0
- package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts.map +1 -1
- package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts.map +1 -1
- package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts +1 -1
- package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts.map +1 -1
- package/dist/types-native/components/form/Button/Button.native.d.ts +1 -0
- package/dist/types-native/components/form/Button/Button.native.d.ts.map +1 -1
- package/dist/types-native/components/form/Button/Button.native.loading.d.ts +2 -1
- package/dist/types-native/components/form/Button/Button.native.loading.d.ts.map +1 -1
- package/dist/types-native/components/form/Button/Button.types.native.d.ts +2 -0
- package/dist/types-native/components/form/Button/Button.types.native.d.ts.map +1 -1
- package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts +1 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts.map +1 -1
- package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts +2 -0
- package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts.map +1 -1
- package/dist/types-native/components/form/Input/Input.native.d.ts +1 -0
- package/dist/types-native/components/form/Input/Input.native.d.ts.map +1 -1
- package/dist/types-native/components/form/Input/Input.types.native.d.ts +2 -0
- package/dist/types-native/components/form/Input/Input.types.native.d.ts.map +1 -1
- package/dist/types-native/components/form/Switch/Switch.native.d.ts +1 -0
- package/dist/types-native/components/form/Switch/Switch.native.d.ts.map +1 -1
- package/dist/types-native/components/form/Switch/Switch.types.native.d.ts +2 -0
- package/dist/types-native/components/form/Switch/Switch.types.native.d.ts.map +1 -1
- package/dist/types-native/copy/data-display.d.ts +119 -0
- package/dist/types-native/copy/data-display.d.ts.map +1 -0
- package/dist/types-native/copy/labels.d.ts +219 -0
- package/dist/types-native/copy/labels.d.ts.map +1 -0
- package/dist/types-native/en-US.labels.d.ts +9 -0
- package/dist/types-native/en-US.labels.d.ts.map +1 -0
- package/dist/types-native/utils/resolve-labels.d.ts +9 -0
- package/dist/types-native/utils/resolve-labels.d.ts.map +1 -0
- package/dist/typography/Code.js +2 -1
- package/dist/user-avatar.js +9 -7
- package/dist/utility/AnimatedIcon.js +2 -1
- package/dist/utility/InfiniteScroll.js +3 -2
- package/dist/utility/InstallPrompt.js +2 -2
- package/dist/utility/WorkflowStep.js +6 -4
- package/package.json +2 -2
- package/src/components/data-display/AlertDialog/AlertDialog.parts.tsx +3 -2
- package/src/components/data-display/AlertDialog/AlertDialog.tsx +3 -1
- package/src/components/data-display/AlertDialog/AlertDialog.types.ts +6 -0
- package/src/components/data-display/Avatar/Avatar.native.tsx +2 -1
- package/src/components/data-display/Avatar/Avatar.tsx +2 -1
- package/src/components/data-display/Badge/Badge.native.tsx +2 -0
- package/src/components/data-display/Badge/Badge.types.native.ts +2 -0
- package/src/components/data-display/Badge/BadgeContent.native.tsx +4 -1
- package/src/components/data-display/Carousel/Carousel.chrome.tsx +1 -0
- package/src/components/data-display/Carousel/Carousel.parts.tsx +13 -9
- package/src/components/data-display/Carousel/Carousel.types.ts +2 -0
- package/src/components/data-display/Chip/Chip.native.tsx +9 -1
- package/src/components/data-display/Chip/Chip.types.native.ts +2 -0
- package/src/components/data-display/DataViews/DeleteViewDialog.tsx +2 -2
- package/src/components/data-display/DataViews/data-views-copy.ts +11 -0
- package/src/components/data-display/DataViews/data-views-grid-helpers.tsx +8 -3
- package/src/components/data-display/DataViews/data-views-view-nav.tsx +2 -2
- package/src/components/data-display/DataViews/use-data-views-state.ts +3 -1
- package/src/components/data-display/EmptyState/EmptyState.native.tsx +3 -2
- package/src/components/data-display/EmptyState/EmptyState.tsx +3 -2
- package/src/components/data-display/ErrorState/ErrorState.native.tsx +2 -1
- package/src/components/data-display/ErrorState/ErrorState.tsx +2 -1
- package/src/components/data-display/LazyImage/LazyImage.hooks.ts +1 -1
- package/src/components/data-display/LazyImage/LazyImage.tsx +4 -4
- package/src/components/data-display/LazyImage/LazyImage.types.ts +12 -0
- package/src/components/data-display/LoadingState/LoadingState.base.ts +8 -0
- package/src/components/data-display/LoadingState/LoadingState.native.tsx +10 -5
- package/src/components/data-display/LoadingState/LoadingState.tsx +9 -3
- package/src/components/data-display/MapPreview/MapControlBar.tsx +7 -3
- package/src/components/data-display/MapPreview/MapLayers.tsx +2 -2
- package/src/components/data-display/MapPreview/MapMarkers.tsx +13 -4
- package/src/components/data-display/MapPreview/MapPreview.helpers.ts +13 -2
- package/src/components/data-display/MapPreview/MapPreview.tsx +7 -3
- package/src/components/data-display/Sheet/Sheet.body.tsx +3 -0
- package/src/components/data-display/Sheet/Sheet.md +1 -0
- package/src/components/data-display/Sheet/Sheet.parts.tsx +4 -0
- package/src/components/data-display/Sheet/Sheet.types.ts +10 -0
- package/src/components/data-display/Stepper/Stepper.tsx +41 -7
- package/src/components/data-display/Stepper/Stepper.types.ts +4 -0
- package/src/components/data-display/Table/Table.helpers.ts +1 -0
- package/src/components/data-display/Table/Table.tsx +4 -5
- package/src/components/data-display/Table/Table.types.ts +12 -0
- package/src/components/data-display/Table/TableParts.hooks.tsx +8 -1
- package/src/components/data-display/Table/TableParts.tsx +19 -5
- package/src/components/data-display/Timeline/Timeline.tsx +6 -1
- package/src/components/data-display/Timeline/Timeline.types.ts +3 -0
- package/src/components/data-display/Timeline/TimelineRow.tsx +11 -4
- package/src/components/feedback/Dialog/Dialog.base.ts +10 -0
- package/src/components/feedback/Dialog/Dialog.native.tsx +2 -0
- package/src/components/feedback/Dialog/Dialog.tsx +5 -1
- package/src/components/feedback/Dialog/DialogParts.native.tsx +17 -3
- package/src/components/feedback/Sonner/Sonner.tsx +16 -6
- package/src/components/feedback/Sonner/SonnerToast.tsx +4 -2
- package/src/components/feedback/StackedModal/StackedModal.parts.tsx +24 -3
- package/src/components/feedback/StackedModal/StackedModal.tsx +4 -2
- package/src/components/feedback/StackedModal/StackedModal.types.ts +5 -0
- package/src/components/feedback/Toast/Toast.tsx +5 -2
- package/src/components/feedback/Toast/Toast.types.ts +5 -0
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +3 -1
- package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +12 -3
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.helpers.ts +12 -6
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.hooks.ts +15 -2
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.tsx +1 -0
- package/src/components/form/AddressAutocomplete/AddressAutocompleteField.tsx +9 -3
- package/src/components/form/AddressAutocomplete/useAddressPredictions.ts +6 -3
- package/src/components/form/AddressAutocomplete/useAddressSelection.ts +8 -4
- package/src/components/form/AddressAutocomplete/useCurrentLocation.ts +12 -8
- package/src/components/form/AddressAutocomplete/useGoogleMapsAPI.ts +8 -4
- package/src/components/form/Button/Button.native.loading.tsx +11 -2
- package/src/components/form/Button/Button.native.tsx +2 -2
- package/src/components/form/Button/Button.types.native.ts +2 -0
- package/src/components/form/Checkbox/Checkbox.native.tsx +5 -2
- package/src/components/form/Checkbox/Checkbox.types.native.ts +2 -0
- package/src/components/form/Command/Command.hooks.ts +3 -2
- package/src/components/form/Command/Command.parts.tsx +3 -2
- package/src/components/form/DateRangePicker/DateRangePicker.range.ts +2 -1
- package/src/components/form/Input/Input.native.tsx +13 -4
- package/src/components/form/Input/Input.types.native.ts +2 -0
- package/src/components/form/PhoneInput/PhoneInput.md +2 -2
- package/src/components/form/PhoneInput/PhoneInput.tsx +22 -10
- package/src/components/form/PhoneInput/PhoneInput.types.ts +1 -0
- package/src/components/form/PhoneInput/countries.ts +18 -1
- package/src/components/form/RichTextEditor/RichTextEditor.dom.ts +5 -3
- package/src/components/form/RichTextEditor/RichTextEditor.format.ts +3 -1
- package/src/components/form/RichTextEditor/RichTextEditor.hooks.ts +4 -1
- package/src/components/form/RichTextEditor/RichTextEditor.tsx +10 -4
- package/src/components/form/RichTextEditor/RichTextEditor.types.ts +7 -1
- package/src/components/form/RichTextEditor/RichTextEditorToolbar.tsx +29 -19
- package/src/components/form/Switch/Switch.native.tsx +4 -3
- package/src/components/form/Switch/Switch.types.native.ts +2 -0
- package/src/components/form/Textarea/TextareaRichEditor.tsx +2 -1
- package/src/components/form/UploadButton/UploadButton.hooks.ts +16 -6
- package/src/components/form/total-form/FormErrorSnackbar.tsx +2 -1
- package/src/components/layout/ContentToolbar/ColumnsMenu.tsx +3 -2
- package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +14 -0
- package/src/components/layout/ContentToolbar/FilterTrigger.tsx +14 -2
- package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +4 -3
- package/src/components/layout/ContentToolbar/ViewSelector.tsx +15 -5
- package/src/components/layout/Dashboard/Dashboard.tsx +7 -2
- package/src/components/layout/Dashboard/Dashboard.types.ts +5 -0
- package/src/components/layout/Drawer/Drawer.tsx +2 -1
- package/src/components/layout/SettingsLayout/SettingsLayout.md +1 -0
- package/src/components/layout/SettingsLayout/SettingsLayout.rail.tsx +9 -2
- package/src/components/layout/SettingsLayout/SettingsLayout.tsx +16 -5
- package/src/components/layout/SettingsLayout/SettingsLayout.types.ts +6 -0
- package/src/components/layout/TableFilter/TableFilter.tsx +4 -3
- package/src/components/navigation/AppHeader/AppHeader.identity.tsx +2 -1
- package/src/components/navigation/AppHeader/AppHeader.types.ts +5 -1
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.tsx +2 -1
- package/src/components/navigation/CommandPalette/CommandPalette.helpers.ts +6 -2
- package/src/components/navigation/CommandPalette/CommandPalette.hooks.ts +9 -1
- package/src/components/navigation/CommandPalette/CommandPalette.tsx +16 -6
- package/src/components/navigation/CommandPalette/CommandPaletteResults.tsx +3 -1
- package/src/components/navigation/NavigationMenu/NavigationMenu.shell.tsx +7 -4
- package/src/components/navigation/NavigationMenu/NavigationMenu.tsx +4 -0
- package/src/components/navigation/NavigationMenu/NavigationMenu.types.ts +13 -0
- package/src/components/navigation/NavigationMenu/NavigationMenuItem.tsx +2 -0
- package/src/components/navigation/NavigationMenu/NavigationStandardBody.tsx +24 -4
- package/src/components/typography/Code/Code.tsx +28 -6
- package/src/components/typography/Code/Code.types.ts +4 -0
- package/src/components/utility/AnimatedIcon/AnimatedIcon.tsx +2 -1
- package/src/components/utility/InfiniteScroll/InfiniteScroll.parts.tsx +6 -2
- package/src/components/utility/InfiniteScroll/InfiniteScroll.tsx +2 -1
- package/src/components/utility/InfiniteScroll/InfiniteScroll.types.ts +6 -0
- package/src/components/utility/WorkflowStep/WorkflowStep.helpers.ts +9 -1
- package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +3 -2
- package/src/components/utility/WorkflowStep/WorkflowStep.tsx +3 -1
- package/src/components/utility/WorkflowStep/WorkflowStep.types.ts +10 -0
- package/src/components/utility/WorkflowStep/WorkflowStepRow.tsx +3 -0
- package/src/copy/data-display.ts +19 -0
- package/src/copy/feedback.ts +4 -0
- package/src/copy/form.ts +58 -0
- package/src/copy/labels.ts +249 -0
- package/src/copy/navigation.ts +12 -0
- package/src/copy/utility.ts +8 -1
- package/src/copy.ts +1 -0
- package/src/en-US.data-display.ts +14 -2
- package/src/en-US.feedback.ts +3 -1
- package/src/en-US.form.ts +27 -4
- package/src/en-US.labels.ts +147 -0
- package/src/en-US.navigation.ts +5 -1
- package/src/en-US.ts +1 -0
- package/src/en-US.utility.ts +3 -1
- package/src/locales.ts +4 -0
- package/src/pt-BR.data-display.ts +14 -2
- package/src/pt-BR.feedback.ts +3 -1
- package/src/pt-BR.form.ts +40 -4
- package/src/pt-BR.labels.ts +146 -0
- package/src/pt-BR.navigation.ts +5 -1
- package/src/pt-BR.ts +1 -0
- package/src/pt-BR.utility.ts +3 -1
- package/src/social-login-button/social-login-button.tsx +3 -2
- package/src/user-avatar/user-avatar.tsx +11 -2
- package/src/utils/resolve-labels.ts +12 -0
- package/dist/chunk-2ARVNCVU.js.map +0 -1
- package/dist/chunk-2ILXXBMG.js.map +0 -1
- package/dist/chunk-2TSGRQ2J.js.map +0 -1
- package/dist/chunk-33LAPBYB.js.map +0 -1
- package/dist/chunk-3JDP5OUR.js.map +0 -1
- package/dist/chunk-3VXS7O3X.js.map +0 -1
- package/dist/chunk-3ZWCKCZC.js.map +0 -1
- package/dist/chunk-47VRDPR2.js.map +0 -1
- package/dist/chunk-4HUSG5MR.js.map +0 -1
- package/dist/chunk-4MQ6XTIJ.js.map +0 -1
- package/dist/chunk-4NQXHPQR.js.map +0 -1
- package/dist/chunk-4VRDFZ4G.js.map +0 -1
- package/dist/chunk-5J7SA4CZ.js.map +0 -1
- package/dist/chunk-5KNDAC24.js.map +0 -1
- package/dist/chunk-5MMAV7XK.js.map +0 -1
- package/dist/chunk-64AOS2WA.js.map +0 -1
- package/dist/chunk-7QXEEZFO.js +0 -92
- package/dist/chunk-7QXEEZFO.js.map +0 -1
- package/dist/chunk-7SYYGXC7.js.map +0 -1
- package/dist/chunk-7VRCGWQL.js.map +0 -1
- package/dist/chunk-AYJ44VTJ.js.map +0 -1
- package/dist/chunk-AYP6ICAY.js.map +0 -1
- package/dist/chunk-B2JYQBO4.js.map +0 -1
- package/dist/chunk-BGTG7G54.js.map +0 -1
- package/dist/chunk-BWZKLKDT.js +0 -1
- package/dist/chunk-C5JCARNE.js.map +0 -1
- package/dist/chunk-CZV6NVCA.js.map +0 -1
- package/dist/chunk-EERUSI52.js.map +0 -1
- package/dist/chunk-EUACQR6N.js.map +0 -1
- package/dist/chunk-F742IMLQ.js.map +0 -1
- package/dist/chunk-FIOBPQL2.js.map +0 -1
- package/dist/chunk-FRGNTTPA.js.map +0 -1
- package/dist/chunk-FT6HBP5E.js.map +0 -1
- package/dist/chunk-GHXW6O5T.js.map +0 -1
- package/dist/chunk-HBP2OU4Q.js.map +0 -1
- package/dist/chunk-HEBZ7Q7O.js.map +0 -1
- package/dist/chunk-HN3PZTUK.js.map +0 -1
- package/dist/chunk-HZK4DRGF.js.map +0 -1
- package/dist/chunk-ICRVLGWD.js.map +0 -1
- package/dist/chunk-INGPH3YQ.js.map +0 -1
- package/dist/chunk-JJVIZR6C.js.map +0 -1
- package/dist/chunk-JKNKGGOG.js.map +0 -1
- package/dist/chunk-KARMRTTM.js.map +0 -1
- package/dist/chunk-KIL3OVLI.js.map +0 -1
- package/dist/chunk-KT3TF2LT.js.map +0 -1
- package/dist/chunk-KZXOIRUP.js.map +0 -1
- package/dist/chunk-LH4VKUZC.js.map +0 -1
- package/dist/chunk-LOLYI6PS.js.map +0 -1
- package/dist/chunk-LTTYUSJ2.js.map +0 -1
- package/dist/chunk-MA6SUE7F.js.map +0 -1
- package/dist/chunk-MSC43MCJ.js.map +0 -1
- package/dist/chunk-MTGEJRE4.js.map +0 -1
- package/dist/chunk-NTO5DALI.js.map +0 -1
- package/dist/chunk-OE3SQOZV.js.map +0 -1
- package/dist/chunk-PBMCRDZI.js.map +0 -1
- package/dist/chunk-PU3HEWSG.js.map +0 -1
- package/dist/chunk-PY3RW5LC.js.map +0 -1
- package/dist/chunk-QWVETTIY.js.map +0 -1
- package/dist/chunk-RA6W37NZ.js.map +0 -1
- package/dist/chunk-RKVS5AA6.js.map +0 -1
- package/dist/chunk-RZCXYKY4.js.map +0 -1
- package/dist/chunk-SUZXPDUQ.js.map +0 -1
- package/dist/chunk-SV6IQ2YO.js.map +0 -1
- package/dist/chunk-T743IIER.js.map +0 -1
- package/dist/chunk-TJO4CBYT.js.map +0 -1
- package/dist/chunk-TTCVYY2B.js.map +0 -1
- package/dist/chunk-U4G3KY6L.js.map +0 -1
- package/dist/chunk-UGH2DDST.js.map +0 -1
- package/dist/chunk-UZOG6HNN.js.map +0 -1
- package/dist/chunk-VMN6KG2U.js.map +0 -1
- package/dist/chunk-VNOFFVRQ.js +0 -113
- package/dist/chunk-VNOFFVRQ.js.map +0 -1
- package/dist/chunk-VNVV6Y2X.js.map +0 -1
- package/dist/chunk-VQYR64QB.js.map +0 -1
- package/dist/chunk-VRPCZ3IE.js.map +0 -1
- package/dist/chunk-WC3W36AM.js.map +0 -1
- package/dist/chunk-WOXWLJYR.js.map +0 -1
- package/dist/chunk-WVZBYTIK.js.map +0 -1
- package/dist/chunk-XICRCPEQ.js.map +0 -1
- package/dist/chunk-XKSA4L2X.js.map +0 -1
- package/dist/chunk-XLCVMRSO.js.map +0 -1
- package/dist/chunk-XLTHZI5W.js.map +0 -1
- package/dist/chunk-XQWUVQ2F.js.map +0 -1
- package/dist/chunk-XYFBJH6F.js.map +0 -1
- package/dist/chunk-Y7YJYUNV.js.map +0 -1
- package/dist/chunk-YICNA5LG.js +0 -1
- package/dist/chunk-YLSDFW5O.js.map +0 -1
- package/dist/chunk-YOKUDQIJ.js.map +0 -1
- package/dist/chunk-YZX4DVRS.js.map +0 -1
- package/dist/chunk-ZFBFQK2Y.js.map +0 -1
- package/dist/chunk-ZPACE34U.js.map +0 -1
- package/dist/chunk-ZYKDUKAH.js.map +0 -1
- package/dist/native/chunks/chunk-AVHGS66L.js.map +0 -1
- package/dist/native/chunks/chunk-BXNZHDXK.js.map +0 -1
- /package/dist/{chunk-BWZKLKDT.js.map → _internal/copy/labels.js.map} +0 -0
- /package/dist/{chunk-YICNA5LG.js.map → _internal/en-US.labels.js.map} +0 -0
- /package/dist/{chunk-OPP6USJC.js.map → chunk-2FQF4CNE.js.map} +0 -0
- /package/dist/{chunk-BWFQEASG.js.map → chunk-2P5ZBBTL.js.map} +0 -0
- /package/dist/{chunk-QVO4SIS7.js.map → chunk-3W2B7IZG.js.map} +0 -0
- /package/dist/{chunk-Q6PRGXR2.js.map → chunk-4HBCWKIX.js.map} +0 -0
- /package/dist/{chunk-2QO3BKUQ.js.map → chunk-4NVEUJXK.js.map} +0 -0
- /package/dist/{chunk-O6SAU5JA.js.map → chunk-4OTJ66ID.js.map} +0 -0
- /package/dist/{chunk-PIP7XII2.js.map → chunk-5JDY5W7O.js.map} +0 -0
- /package/dist/{chunk-JE6RZ5L6.js.map → chunk-5ZOJLYD2.js.map} +0 -0
- /package/dist/{chunk-LG52LMAM.js.map → chunk-6B7VZFAO.js.map} +0 -0
- /package/dist/{chunk-ALREWFRX.js.map → chunk-6DGNMASB.js.map} +0 -0
- /package/dist/{chunk-555TUQ7E.js.map → chunk-6IVR5HFI.js.map} +0 -0
- /package/dist/{chunk-J26ZWYQI.js.map → chunk-6KCJNERH.js.map} +0 -0
- /package/dist/{chunk-5752357K.js.map → chunk-6N2U67KF.js.map} +0 -0
- /package/dist/{chunk-AXZCCX7O.js.map → chunk-6S7CFH6V.js.map} +0 -0
- /package/dist/{chunk-PMRLFNBT.js.map → chunk-763AHWKU.js.map} +0 -0
- /package/dist/{chunk-6DAIC2MG.js.map → chunk-775LIZXS.js.map} +0 -0
- /package/dist/{chunk-7HA7UH7O.js.map → chunk-7H5BIZ33.js.map} +0 -0
- /package/dist/{chunk-VEBNL5MG.js.map → chunk-7HYLXERK.js.map} +0 -0
- /package/dist/{chunk-M3DSPEZ3.js.map → chunk-7S3NG2AO.js.map} +0 -0
- /package/dist/{chunk-CSD6SWBZ.js.map → chunk-A3Z7ZXLM.js.map} +0 -0
- /package/dist/{chunk-LBZEPWYK.js.map → chunk-ABJOW7EK.js.map} +0 -0
- /package/dist/{chunk-44PBCQ7E.js.map → chunk-ABQZFK7M.js.map} +0 -0
- /package/dist/{chunk-EIMFA7KP.js.map → chunk-ANUO67JQ.js.map} +0 -0
- /package/dist/{chunk-PTQRJEPN.js.map → chunk-AOBQ3KYY.js.map} +0 -0
- /package/dist/{chunk-LODYTVOO.js.map → chunk-B25SHVWP.js.map} +0 -0
- /package/dist/{chunk-HPEBSLYP.js.map → chunk-B67KUCWU.js.map} +0 -0
- /package/dist/{chunk-GTT5UKKO.js.map → chunk-BDJIP4HG.js.map} +0 -0
- /package/dist/{chunk-RS576GOH.js.map → chunk-BIUT3K6A.js.map} +0 -0
- /package/dist/{chunk-A5NXBOWS.js.map → chunk-BLHSLB5D.js.map} +0 -0
- /package/dist/{chunk-RHKQ2RSY.js.map → chunk-BLVFHVDM.js.map} +0 -0
- /package/dist/{chunk-DYHOBKPU.js.map → chunk-BLZDSCIZ.js.map} +0 -0
- /package/dist/{chunk-E53MMMDA.js.map → chunk-BX6CF2UG.js.map} +0 -0
- /package/dist/{chunk-7K23NEZO.js.map → chunk-CFDYQSN6.js.map} +0 -0
- /package/dist/{chunk-O36MIQIO.js.map → chunk-DB7OJM6X.js.map} +0 -0
- /package/dist/{chunk-GSXYXMCV.js.map → chunk-DD3VFDB2.js.map} +0 -0
- /package/dist/{chunk-IQ2U5MVO.js.map → chunk-DT22MDC3.js.map} +0 -0
- /package/dist/{chunk-7XSCEHGA.js.map → chunk-EOQ6EKTS.js.map} +0 -0
- /package/dist/{chunk-VEKTKCSB.js.map → chunk-FLJ3RIRP.js.map} +0 -0
- /package/dist/{chunk-Z5WUSI47.js.map → chunk-G3JFESKD.js.map} +0 -0
- /package/dist/{chunk-XRDH24J7.js.map → chunk-G6ET2DRL.js.map} +0 -0
- /package/dist/{chunk-7JOLSD2W.js.map → chunk-GHTVBYFA.js.map} +0 -0
- /package/dist/{chunk-AMLHEKSV.js.map → chunk-HI7JPDD6.js.map} +0 -0
- /package/dist/{chunk-N34AOGK3.js.map → chunk-I3OKAQ5L.js.map} +0 -0
- /package/dist/{chunk-AEYLFBZT.js.map → chunk-I4NDZFTB.js.map} +0 -0
- /package/dist/{chunk-2ZRZTGWP.js.map → chunk-ISW5K72V.js.map} +0 -0
- /package/dist/{chunk-4M5GEKPM.js.map → chunk-JL4I7OQE.js.map} +0 -0
- /package/dist/{chunk-EF4DVYD2.js.map → chunk-JMUZ5JZA.js.map} +0 -0
- /package/dist/{chunk-HQCZT6TO.js.map → chunk-JVOEVTCZ.js.map} +0 -0
- /package/dist/{chunk-MBMZNSBP.js.map → chunk-JW7MN4DG.js.map} +0 -0
- /package/dist/{chunk-FCVPVEAS.js.map → chunk-KSOIFQJ6.js.map} +0 -0
- /package/dist/{chunk-GBVNY2LG.js.map → chunk-KTXJQ4YJ.js.map} +0 -0
- /package/dist/{chunk-NBXG3SQ3.js.map → chunk-KW2KCPZF.js.map} +0 -0
- /package/dist/{chunk-3V3Z4EML.js.map → chunk-L4FWEI2P.js.map} +0 -0
- /package/dist/{chunk-56JF5PZK.js.map → chunk-LYVTJLCF.js.map} +0 -0
- /package/dist/{chunk-MNZ6MCOK.js.map → chunk-MKRJUT5O.js.map} +0 -0
- /package/dist/{chunk-BGYLL467.js.map → chunk-N3W6FZOC.js.map} +0 -0
- /package/dist/{chunk-BWFUZ4N2.js.map → chunk-NGXDOWUP.js.map} +0 -0
- /package/dist/{chunk-NYWAAXDX.js.map → chunk-OT4HIG7S.js.map} +0 -0
- /package/dist/{chunk-GRMBCJS6.js.map → chunk-PAKLYZ6G.js.map} +0 -0
- /package/dist/{chunk-5M2NWXN4.js.map → chunk-PGBIUO2A.js.map} +0 -0
- /package/dist/{chunk-RCTHCXS6.js.map → chunk-PJNIJIE6.js.map} +0 -0
- /package/dist/{chunk-6ATXOJVQ.js.map → chunk-QADTI63U.js.map} +0 -0
- /package/dist/{chunk-7ZROYGUG.js.map → chunk-QOTMQLMW.js.map} +0 -0
- /package/dist/{chunk-NQCTANF3.js.map → chunk-QVDEGBME.js.map} +0 -0
- /package/dist/{chunk-LI6XSM5D.js.map → chunk-QVEJGFRP.js.map} +0 -0
- /package/dist/{chunk-VD72JGHA.js.map → chunk-RMZQHJEP.js.map} +0 -0
- /package/dist/{chunk-VBGC7G4F.js.map → chunk-RQ3IS5NQ.js.map} +0 -0
- /package/dist/{chunk-YNDTLBOH.js.map → chunk-SM2O6D5F.js.map} +0 -0
- /package/dist/{chunk-WA6F4NOO.js.map → chunk-SMANO5OD.js.map} +0 -0
- /package/dist/{chunk-YJBWDDW7.js.map → chunk-SXNGH56D.js.map} +0 -0
- /package/dist/{chunk-NDGA7ZE6.js.map → chunk-TGMMUKOF.js.map} +0 -0
- /package/dist/{chunk-SB2SEGR6.js.map → chunk-TIM4PXWN.js.map} +0 -0
- /package/dist/{chunk-MHLYX6QW.js.map → chunk-TRAMTVIO.js.map} +0 -0
- /package/dist/{chunk-QO7UJXXO.js.map → chunk-TVMSXL3R.js.map} +0 -0
- /package/dist/{chunk-DXFKPY2K.js.map → chunk-UCQRJTCI.js.map} +0 -0
- /package/dist/{chunk-CW6Y32N2.js.map → chunk-UF4JFRLE.js.map} +0 -0
- /package/dist/{chunk-HHPJXK4Z.js.map → chunk-UHQZ5XPW.js.map} +0 -0
- /package/dist/{chunk-FTDGFWB5.js.map → chunk-UK3DSFMK.js.map} +0 -0
- /package/dist/{chunk-GBKIGUNP.js.map → chunk-UYNJ3FYE.js.map} +0 -0
- /package/dist/{chunk-2MYSXWZQ.js.map → chunk-VKTF3GAP.js.map} +0 -0
- /package/dist/{chunk-4XBAEKQQ.js.map → chunk-W2RXXF7K.js.map} +0 -0
- /package/dist/{chunk-3Z3WIQ5M.js.map → chunk-W3EVATBS.js.map} +0 -0
- /package/dist/{chunk-A2YLFKQU.js.map → chunk-W5WYTVLS.js.map} +0 -0
- /package/dist/{chunk-EBCEDBHX.js.map → chunk-XDDKRACZ.js.map} +0 -0
- /package/dist/{chunk-ASZGMKB4.js.map → chunk-Y3TD7HOY.js.map} +0 -0
- /package/dist/{chunk-3YLRR4JM.js.map → chunk-Y3YZBB74.js.map} +0 -0
- /package/dist/{chunk-HBHBRRSW.js.map → chunk-YBAK2WN5.js.map} +0 -0
- /package/dist/{chunk-XODBYGTH.js.map → chunk-YMKSPW4T.js.map} +0 -0
- /package/dist/{chunk-6RTE4UNO.js.map → chunk-YV4O7KDR.js.map} +0 -0
- /package/dist/{chunk-MM7BPTVV.js.map → chunk-Z52W7FEU.js.map} +0 -0
- /package/dist/{chunk-7P5PNRBT.js.map → chunk-ZDBG7QG2.js.map} +0 -0
- /package/dist/{chunk-Z5V5E3JW.js.map → chunk-ZIHSCBMN.js.map} +0 -0
- /package/dist/{chunk-S4JXSC4D.js.map → chunk-ZT73ACK3.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/data-display/DataViews/use-data-views-state.ts"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { type GridColumn } from \"../DataGrid\";\nimport { type SortFieldDefinition } from \"../../layout/ContentToolbar\";\n\nimport { filterRows } from \"./data-views-filter\";\nimport {\n useColumnsWithActions,\n useRenderedColumns,\n type HideableColumn,\n} from \"./data-views-columns\";\nimport { computeActiveFilterCount, defaultSortFields } from \"./data-views-grid-helpers\";\nimport { resolveScope, useScopeConfigChecks, type ScopeConfig } from \"./data-views-scopes\";\nimport { serverDerived, useServerQuery } from \"./data-views-server-query\";\nimport { useSelection } from \"./data-views-selection\";\nimport { useStateWriters } from \"./data-views-writers\";\nimport {\n emptyViewState,\n type DataViewColumn,\n type DataViewServer,\n type DataViewState,\n type DataViewStatePatch,\n type DataViewSyncState,\n type FilterFieldConfig,\n type RangeFieldConfig,\n type DataViewQuery,\n type RangeValue,\n type RowAction,\n} from \"./data-views-types\";\n\nexport type { HideableColumn };\n\n/** Inputs the hook needs to own the view state + derived data. */\ninterface UseDataViewsStateArgs<T extends Record<string, unknown>> {\n rows: T[];\n columns: DataViewColumn<T>[];\n fields: FilterFieldConfig<T>[];\n rangeFields: RangeFieldConfig<T>[];\n getRowId: (row: T) => string | number;\n onRowClick?: (row: T) => void;\n appliedState?: DataViewState;\n /**\n * URL-driven controls (search/pills/ranges/sort) that re-apply on reference\n * change while preserving column visibility — see {@link DataViewSyncState}.\n */\n syncState?: DataViewSyncState;\n onStateChange?: (state: DataViewState) => void;\n testIdPrefix: string;\n sortFields?: SortFieldDefinition[];\n rowActions?: RowAction<T>[];\n rowActionsLeading?: (row: T) => React.ReactNode;\n /** Bespoke per-row menu rendered in the actions column instead of the auto kebab. */\n renderRowMenu?: (row: T) => React.ReactNode;\n /**\n * When present, the table is BACKEND-driven: `rows` is already the current\n * page (no in-browser filter/sort/paginate), and query changes re-fetch via\n * `server.onQueryChange`. Omit for the legacy client-side behaviour.\n */\n server?: DataViewServer;\n /**\n * The page-level partition rendered as tabs under the toolbar. Requires server\n * mode: a scope is applied at the BACKEND, never in the browser.\n */\n scopes?: ScopeConfig[];\n /**\n * The row field the scopes partition by, when the host knows it — used only to\n * reject the pill/scope clash at setup. See `assertNoScopePillOverlap`.\n */\n scopeFieldId?: string;\n}\n\n/** Everything the DataViewsGrid render needs; keeps the component itself thin. */\nexport interface DataViewsController<T extends Record<string, unknown>> {\n state: DataViewState;\n ranges: Record<string, RangeValue>;\n /**\n * Merge a partial into the view state.\n *\n * The UPDATER form is the one to reach for when the patch is derived from\n * state you are also changing — successive calls within one tick each see the\n * previous call's result, where the object form would have every caller build\n * its patch from the same render-scoped snapshot and the last write would win.\n */\n patch: (next: DataViewStatePatch) => void;\n matched: T[];\n gridColumns: GridColumn<T>[];\n /** Columns eligible for the show/hide menu (hideable, with a text header). */\n hideableColumns: HideableColumn[];\n /** Every column id in reading order — what the Colunas tab reorders. */\n columnOrder: string[];\n /** Toggle one column's visibility in the current view state. */\n toggleColumn: (id: string, visible: boolean) => void;\n selectedIds: Set<string | number>;\n setSelectedIds: (ids: Set<string | number>) => void;\n /**\n * Add/remove ONE id from the selection. The card and board bodies both need\n * it, so it lives here rather than being written out twice at the call sites —\n * one selection model, one toggle, identical in every layout.\n */\n toggleId: (id: string | number) => void;\n selectedRows: T[];\n clearSelection: () => void;\n selectAll: () => void;\n filterOpen: boolean;\n setFilterOpen: (open: boolean) => void;\n resolvedSortFields: SortFieldDefinition[];\n activeSortField: string;\n activeSortOrder: \"asc\" | \"desc\";\n activeFilterCount: number;\n /** True when the table is backend-driven (server mode). */\n serverMode: boolean;\n /** Server-mode pagination: 1-based current page (1 when client mode). */\n serverPage: number;\n /** Server-mode pagination: total pages (1 when client mode). */\n serverPageCount: number;\n /** Server-mode: total matched rows across all pages (drives the counter). */\n serverTotalCount: number;\n /** Server-mode: request a specific 1-based page (re-fetches via onQueryChange). */\n changePage: (page: number) => void;\n /**\n * The active scope id, RESOLVED against the declared scopes (see\n * `resolveScope`). `undefined` when the table declares none — which is what\n * keeps `scope` out of the emitted query for every table that never opted in.\n */\n scope: string | undefined;\n /** Select a scope: re-fetches from page 1 and drops the selection. */\n setScope: (id: string) => void;\n /**\n * The query the grid is currently showing. Read by Export, which hands it\n * back to the host UNPAGINATED — so an export follows the filters rather\n * than the 25 rows that happen to be loaded.\n */\n currentQuery: DataViewQuery;\n /**\n * Server-supplied per-scope totals, passed through verbatim, or `undefined`\n * when the server omits them. NEVER falls back to counting `matched`: a count\n * off the loaded page is wrong under pagination, which is the bug scopes fix.\n */\n scopeCounts?: Record<string, number>;\n}\n\n/**\n * The rows to render: in server mode `rows` is already the current page (the\n * backend filtered/sorted/paginated), so it passes through untouched; otherwise\n * the client search/pill/range filter narrows it.\n */\nfunction useMatchedRows<T extends Record<string, unknown>>(\n server: DataViewServer | undefined,\n rows: T[],\n columns: DataViewColumn<T>[],\n fields: FilterFieldConfig<T>[],\n rangeFields: RangeFieldConfig<T>[],\n state: DataViewState,\n): T[] {\n return useMemo(\n () =>\n server\n ? rows\n : filterRows(\n rows,\n columns,\n fields,\n { search: state.search, pills: state.pills, ranges: state.ranges },\n rangeFields,\n ),\n [server, rows, columns, fields, rangeFields, state.search, state.pills, state.ranges],\n );\n}\n\n/**\n * Reconcile external state changes and surface every change to the caller:\n * - `appliedState` (a saved view) fully REPLACES the state — it is columns-\n * authoritative, so applying a view restores its filters, sort AND columns.\n * - `syncState` (URL-driven controls) MERGES over the current state, leaving\n * `visibleColumns` untouched — so browser back/forward or a same-route\n * deep-link re-applies search/pills/sort without wiping a user's hidden columns.\n * Each channel only fires when its own reference changes (after the first run).\n */\nfunction useStateSyncEffects(\n appliedState: DataViewState | undefined,\n syncState: DataViewSyncState | undefined,\n state: DataViewState,\n onStateChange: ((state: DataViewState) => void) | undefined,\n setState: React.Dispatch<React.SetStateAction<DataViewState>>,\n): void {\n const firstApplied = useRef(true);\n useEffect(() => {\n if (firstApplied.current) {\n firstApplied.current = false;\n return;\n }\n if (appliedState) setState(appliedState);\n // `setState` is a stable useState setter (passed in), included to satisfy\n // exhaustive-deps; the effect still only re-applies when `appliedState` changes.\n }, [appliedState, setState]);\n const firstSync = useRef(true);\n useEffect(() => {\n if (firstSync.current) {\n firstSync.current = false;\n return;\n }\n // Merge — keep the current `visibleColumns` (never URL-carried); only the\n // URL-driven controls change.\n if (syncState) setState((prev) => ({ ...prev, ...syncState }));\n }, [syncState, setState]);\n useEffect(() => {\n onStateChange?.(state);\n }, [state, onStateChange]);\n}\n\n/**\n * The seed view state: a saved view (`appliedState`) or a pristine all-columns\n * one, with the URL-driven controls (`syncState`) merged over it so a deep-linked\n * filter or scope is reflected on the FIRST render. Column visibility is never\n * URL-carried, so the merge cannot wipe it.\n */\nfunction seedState(\n appliedState: DataViewState | undefined,\n syncState: DataViewSyncState | undefined,\n allColumnIds: string[],\n): DataViewState {\n const seed = appliedState ?? emptyViewState(allColumnIds);\n return syncState ? { ...seed, ...syncState } : seed;\n}\n\n/**\n * Selecting a scope: record it, then DROP the selection.\n *\n * A scope change renders a different result set. A selection that survived it\n * would let a bulk action run against rows the user can no longer see — the\n * same reason changing any other part of the query clears it.\n */\nfunction makeSetScope(\n patch: (next: DataViewStatePatch) => void,\n clearSelection: () => void,\n): (id: string) => void {\n return (id) => {\n patch({ scope: id });\n clearSelection();\n };\n}\n\n/**\n * The declared column ids in the stored reading order — the same tolerance\n * `applyOrder` uses, so the Colunas tab lists exactly what the grid renders.\n */\nfunction orderedColumnIds(allColumnIds: string[], order: string[] | undefined): string[] {\n if (!order || order.length === 0) return allColumnIds;\n const declared = new Set(allColumnIds);\n const kept = order.filter((id) => declared.has(id));\n const seen = new Set(kept);\n return [...kept, ...allColumnIds.filter((id) => !seen.has(id))];\n}\n\n/**\n * The query the grid is currently SHOWING — the same shape `onQueryChange`\n * emits, kept as a value so a host control (Exportar) can re-run it against the\n * backend rather than reading the loaded rows.\n */\nfunction liveQuery(\n state: DataViewState,\n scope: string | undefined,\n server: DataViewServer | undefined,\n matchedCount: number,\n): DataViewQuery {\n return {\n search: state.search,\n pills: state.pills,\n ranges: state.ranges ?? {},\n sortBy: state.sortBy,\n // Absent, not undefined, when the table declares no scopes.\n ...(scope !== undefined ? { scope } : {}),\n page: server?.page ?? 1,\n // Client mode has one page, and it is everything that matched.\n pageSize: server?.pageSize ?? matchedCount,\n };\n}\n\n/** The toolbar's active sort, read off the state's FIRST sort entry. */\nfunction activeSortOf(\n state: DataViewState,\n resolvedSortFields: SortFieldDefinition[],\n): { activeSortField: string; activeSortOrder: \"asc\" | \"desc\" } {\n const active = state.sortBy?.[0];\n return {\n activeSortField: active?.id ?? resolvedSortFields[0]?.value ?? \"\",\n activeSortOrder: active?.dir === \"desc\" ? \"desc\" : \"asc\",\n };\n}\n\n/**\n * Owns the DataViews view state (search/pills/ranges/sort/visibleColumns),\n * multi-select, the filter-panel toggle, and every derived value (filtered rows,\n * grid columns, active sort/filter counts). Extracted from the component so the\n * render stays within the size/complexity budget.\n */\nexport function useDataViewsState<T extends Record<string, unknown>>({\n rows,\n columns,\n fields,\n rangeFields,\n getRowId,\n onRowClick,\n appliedState,\n syncState,\n onStateChange,\n testIdPrefix,\n sortFields,\n rowActions,\n rowActionsLeading,\n renderRowMenu,\n server,\n scopes = [],\n scopeFieldId,\n}: UseDataViewsStateArgs<T>): DataViewsController<T> {\n useScopeConfigChecks(scopes, fields.map((field) => field.id), scopeFieldId, server !== undefined);\n const { columnsWithActions, allColumnIds } = useColumnsWithActions(columns, {\n rowActions,\n rowActionsLeading,\n renderRowMenu,\n testIdPrefix,\n getRowId,\n });\n // Seed once — see {@link seedState}.\n const [state, setState] = useState<DataViewState>(() =>\n seedState(appliedState, syncState, allColumnIds),\n );\n const [filterOpen, setFilterOpen] = useState(false);\n\n useStateSyncEffects(appliedState, syncState, state, onStateChange, setState);\n\n const { patch, toggleColumn } = useStateWriters(setState);\n const matched = useMatchedRows(server, rows, columns, fields, rangeFields, state);\n // Resolved at READ time, every render: a stale deep link or a saved view naming\n // a scope that has since been removed falls back to the first declared scope\n // instead of putting an id the backend rejects on the wire.\n const scope = resolveScope(scopes, state.scope);\n // Server mode: re-fetch on query change (page resets to 1) + drive pagination.\n const { changePage } = useServerQuery(server, state, scope);\n const { gridColumns, hideableColumns } = useRenderedColumns(\n columnsWithActions,\n state.visibleColumns,\n onRowClick,\n state.order,\n );\n // Server mode is where `matched` is a PAGE — see `useSelection` (FUT-942).\n const selection = useSelection(matched, getRowId, { rememberOffPage: Boolean(server) });\n const resolvedSortFields = sortFields ?? defaultSortFields(columns);\n\n return {\n state,\n ranges: state.ranges ?? {},\n patch,\n matched,\n gridColumns,\n hideableColumns,\n columnOrder: orderedColumnIds(allColumnIds, state.order),\n toggleColumn,\n ...selection,\n filterOpen,\n setFilterOpen,\n resolvedSortFields,\n ...activeSortOf(state, resolvedSortFields),\n activeFilterCount: computeActiveFilterCount(state, fields, rangeFields),\n ...serverDerived(server, matched.length),\n changePage,\n scope,\n setScope: makeSetScope(patch, selection.clearSelection),\n currentQuery: liveQuery(state, scope, server, matched.length),\n // Verbatim, or absent. See DataViewServer.scopeCounts for why there is no\n // client-side fallback.\n scopeCounts: server?.scopeCounts,\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/layout/TableFilter/TableFilter.tsx"],"sourcesContent":["'use client';\n\nimport CloseIcon from '@mui/icons-material/Close';\nimport SearchIcon from '@mui/icons-material/Search';\nimport Box from '@mui/material/Box/index.js';\nimport Checkbox from '@mui/material/Checkbox/index.js';\nimport Divider from '@mui/material/Divider/index.js';\nimport FormControlLabel from '@mui/material/FormControlLabel/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport InputAdornment from '@mui/material/InputAdornment/index.js';\nimport Link from '@mui/material/Link/index.js';\nimport TextField from '@mui/material/TextField/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport React, { useRef, useState } from 'react';\n\nimport { TableFilterContext, useTableFilterContext } from './TableFilterContext';\nimport type {\n TableFilterCheckboxFieldProps,\n TableFilterKeywordProps,\n TableFilterLayoutProps,\n TableFilterMainProps,\n TableFilterPanelProps,\n TableFilterProps,\n TableFilterRangeFieldProps,\n TableFilterSectionProps,\n} from './TableFilter.types';\nimport { fieldTextFieldStyles } from '../../../tokens/field-height';\nimport { sxRem } from '../../../tokens/relative';\n\n/** The open panel's width, 280 design px through the type scale. */\nconst PANEL_WIDTH = sxRem(280);\n\n/**\n * Compound filter-panel system, MUI port of the reference `TableFilter`. Provides\n * open/close state; `Panel` slides in from the right beside `Main` (no overlap).\n *\n * @example\n * ```tsx\n * <TableFilter open={open} onOpenChange={setOpen} hasActiveFilters={n > 0}>\n * <TableFilter.Layout>\n * <TableFilter.Main>{table}</TableFilter.Main>\n * <TableFilter.Panel onClearAll={clearAll}>\n * <TableFilter.Keyword value={q} onChange={setQ} />\n * <TableFilter.Section title=\"Attributes\">\n * <TableFilter.CheckboxField label=\"Category\" options={cats} selected={sel} onToggle={toggle} />\n * <TableFilter.RangeField label=\"Price\" unit=\"R$\" value={price} onChange={setPrice} />\n * </TableFilter.Section>\n * </TableFilter.Panel>\n * </TableFilter.Layout>\n * </TableFilter>\n * ```\n */\nexport function TableFilter({\n children,\n open,\n onOpenChange,\n hasActiveFilters = false,\n copy,\n}: TableFilterProps): React.JSX.Element {\n return (\n <TableFilterContext.Provider value={{ open, onOpenChange, hasActiveFilters, copy }}>\n {children}\n </TableFilterContext.Provider>\n );\n}\nTableFilter.displayName = 'TableFilter';\n\nconst TableFilterLayout = ({ children, className }: TableFilterLayoutProps): React.JSX.Element => {\n const { open } = useTableFilterContext();\n return (\n <Box\n className={className}\n sx={{\n display: 'flex',\n minHeight: 0,\n minWidth: 0,\n flex: 1,\n alignItems: 'stretch',\n overflow: 'hidden',\n gap: open ? 2 : 0,\n }}\n >\n {children}\n </Box>\n );\n};\nTableFilterLayout.displayName = 'TableFilter.Layout';\n\nconst TableFilterMain = ({ children, className }: TableFilterMainProps): React.JSX.Element => (\n <Box className={className} sx={{ minWidth: 0, flex: 1, overflowY: 'auto', overflowX: 'hidden' }}>\n {children}\n </Box>\n);\nTableFilterMain.displayName = 'TableFilter.Main';\n\nconst TableFilterPanel = ({\n children,\n onClearAll,\n ariaLabel = 'Filters',\n clearTestId,\n}: TableFilterPanelProps): React.JSX.Element => {\n const { open, copy } = useTableFilterContext();\n return (\n <Box\n component=\"aside\"\n aria-label={ariaLabel}\n aria-hidden={!open}\n sx={{\n display: 'flex',\n minHeight: 0,\n flexShrink: 0,\n flexDirection: 'column',\n alignSelf: 'stretch',\n overflow: 'hidden',\n bgcolor: 'background.paper',\n width: open ? PANEL_WIDTH : 0,\n borderLeft: open ? 1 : 0,\n borderColor: 'divider',\n transition: 'width 300ms ease-in-out',\n '@media (prefers-reduced-motion: reduce)': { transition: 'none' },\n }}\n >\n <Box\n sx={{\n display: 'flex',\n minHeight: 0,\n flex: 1,\n flexDirection: 'column',\n overflowY: 'auto',\n overflowX: 'hidden',\n visibility: open ? 'visible' : 'hidden',\n opacity: open ? 1 : 0,\n pointerEvents: open ? 'auto' : 'none',\n transition: 'opacity 200ms ease-out',\n }}\n >\n <Box sx={{ boxSizing: 'border-box', display: 'flex', width: '100%', minWidth: 0, flexDirection: 'column', gap: 2.5, p: 2 }}>\n <Box sx={{ display: 'flex', justifyContent: 'flex-end' }}>\n <Link\n component=\"button\"\n type=\"button\"\n underline=\"hover\"\n data-testid={clearTestId}\n onClick={onClearAll}\n sx={{ fontSize: sxRem(12), color: 'text.secondary' }}\n >\n {copy.clearAllFilters}\n </Link>\n </Box>\n {children}\n </Box>\n </Box>\n </Box>\n );\n};\nTableFilterPanel.displayName = 'TableFilter.Panel';\n\nconst TableFilterKeyword = ({\n value,\n onChange,\n placeholder = 'Press Enter to filter',\n label = 'Filter by keyword',\n testId,\n}: TableFilterKeywordProps): React.JSX.Element => {\n const { copy } = useTableFilterContext();\n const [draft, setDraft] = useState(value);\n const prevValue = useRef(value);\n if (prevValue.current !== value) {\n prevValue.current = value;\n if (draft !== value) setDraft(value);\n }\n\n const commit = (): void => {\n if (draft !== value) onChange(draft);\n };\n const clearKeyword = (): void => {\n setDraft('');\n if (value !== '') onChange('');\n };\n\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }}>\n <Typography component=\"label\" sx={{ fontSize: sxRem(12), fontWeight: 500, color: 'text.secondary' }}>\n {label}\n </Typography>\n <TextField\n size=\"small\"\n sx={fieldTextFieldStyles}\n name=\"keyword\"\n placeholder={placeholder}\n value={draft}\n onChange={(event) => setDraft(event.target.value)}\n onBlur={commit}\n onKeyDown={(event) => {\n if (event.key !== 'Enter') return;\n event.preventDefault();\n commit();\n }}\n inputProps={{ 'aria-label': label, 'data-testid': testId }}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon sx={{ fontSize: sxRem(16), color: 'text.secondary' }} />\n </InputAdornment>\n ),\n endAdornment:\n draft !== '' ? (\n <InputAdornment position=\"end\">\n <IconButton\n size=\"small\"\n aria-label={copy.clearKeyword}\n data-testid={testId ? `${testId}-clear` : undefined}\n onMouseDown={(event) => event.preventDefault()}\n onClick={clearKeyword}\n >\n <CloseIcon sx={{ fontSize: sxRem(16) }} />\n </IconButton>\n </InputAdornment>\n ) : null,\n }}\n />\n </Box>\n );\n};\nTableFilterKeyword.displayName = 'TableFilter.Keyword';\n\nconst TableFilterSection = ({ title, children }: TableFilterSectionProps): React.JSX.Element => (\n <Box>\n <Divider sx={{ mb: 2.5 }} />\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1.5 }}>\n <Typography component=\"h2\" sx={{ fontSize: sxRem(14), fontWeight: 600, color: 'text.primary' }}>\n {title}\n </Typography>\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 2 }}>{children}</Box>\n </Box>\n </Box>\n);\nTableFilterSection.displayName = 'TableFilter.Section';\n\nfunction TableFilterCheckboxField<TValue extends string = string>({\n label,\n options,\n selected,\n onToggle,\n testId,\n}: TableFilterCheckboxFieldProps<TValue>): React.JSX.Element {\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }} data-testid={testId}>\n <Typography sx={{ fontSize: sxRem(12), fontWeight: 500, color: 'text.secondary' }}>{label}</Typography>\n <Box sx={{ display: 'flex', flexDirection: 'column' }}>\n {options.map((option) => {\n const checked = selected.has(option.value);\n return (\n <FormControlLabel\n key={option.value}\n control={\n <Checkbox\n size=\"small\"\n checked={checked}\n onChange={(event) => onToggle(option.value, event.target.checked)}\n data-testid={testId ? `${testId}-${option.value}` : undefined}\n sx={{ py: 0.25 }}\n />\n }\n label={\n <Box component=\"span\" sx={{ fontSize: sxRem(14) }}>\n {option.label}\n {option.count != null && (\n <Box component=\"span\" sx={{ color: 'text.secondary' }}>\n {' '}\n ({option.count})\n </Box>\n )}\n </Box>\n }\n sx={{ ml: -0.5, mr: 0 }}\n />\n );\n })}\n </Box>\n </Box>\n );\n}\nTableFilterCheckboxField.displayName = 'TableFilter.CheckboxField';\n\nfunction parseBound(text: string): number | undefined {\n if (text.trim() === '') return undefined;\n const parsed = Number(text);\n return Number.isNaN(parsed) ? undefined : parsed;\n}\n\n/** One numeric bound input (min or max) for {@link TableFilterRangeField}. */\nfunction RangeBound({\n bound,\n error,\n placeholder,\n step,\n ariaLabel,\n testId,\n onChange,\n}: {\n bound: number | undefined;\n error: boolean;\n placeholder: string;\n step?: number;\n ariaLabel: string;\n testId?: string;\n onChange: (next: number | undefined) => void;\n}): React.JSX.Element {\n return (\n <TextField\n size=\"small\"\n sx={fieldTextFieldStyles}\n type=\"number\"\n error={error}\n placeholder={placeholder}\n value={bound != null ? String(bound) : ''}\n onChange={(event) => onChange(parseBound(event.target.value))}\n inputProps={{ step, 'aria-label': ariaLabel, 'data-testid': testId }}\n />\n );\n}\n\n/** Inverted range: both ends set and max < min (surfaced to the user as an error). */\nconst isRangeInverted = (value: { min?: number; max?: number }): boolean =>\n value.min != null && value.max != null && value.max < value.min;\n\nconst TableFilterRangeField = ({\n label,\n value,\n onChange,\n unit,\n step,\n minPlaceholder,\n maxPlaceholder,\n invalidLabel,\n testId,\n}: TableFilterRangeFieldProps): React.JSX.Element => {\n const { copy } = useTableFilterContext();\n const invalid = isRangeInverted(value);\n // A field may override any of the three; unset, they come from the root's\n // table. Neither path reaches an English literal in this package.\n const minText = minPlaceholder ?? copy.rangeMin;\n const maxText = maxPlaceholder ?? copy.rangeMax;\n const invalidText = invalidLabel ?? copy.invalidRange;\n return (\n <Box sx={{ display: 'flex', flexDirection: 'column', gap: 1 }} data-testid={testId}>\n <Typography sx={{ fontSize: sxRem(12), fontWeight: 500, color: 'text.secondary' }}>\n {label}\n {unit ? ` (${unit})` : ''}\n </Typography>\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n <RangeBound\n bound={value.min}\n error={invalid}\n placeholder={minText}\n step={step}\n ariaLabel={`${label} ${minText}`}\n testId={testId ? `${testId}-min` : undefined}\n onChange={(min) => onChange({ ...value, min })}\n />\n <Typography component=\"span\" sx={{ color: 'text.secondary' }}>\n –\n </Typography>\n <RangeBound\n bound={value.max}\n error={invalid}\n placeholder={maxText}\n step={step}\n ariaLabel={`${label} ${maxText}`}\n testId={testId ? `${testId}-max` : undefined}\n onChange={(max) => onChange({ ...value, max })}\n />\n </Box>\n {invalid && (\n <Typography\n role=\"alert\"\n data-testid={testId ? `${testId}-error` : undefined}\n sx={{ fontSize: sxRem(11.2), color: 'error.main' }}\n >\n {invalidText}\n </Typography>\n )}\n </Box>\n );\n};\nTableFilterRangeField.displayName = 'TableFilter.RangeField';\n\nTableFilter.Layout = TableFilterLayout;\nTableFilter.Main = TableFilterMain;\nTableFilter.Panel = TableFilterPanel;\nTableFilter.Keyword = TableFilterKeyword;\nTableFilter.Section = TableFilterSection;\nTableFilter.CheckboxField = TableFilterCheckboxField;\nTableFilter.RangeField = TableFilterRangeField;\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/data-display/EmptyState/EmptyState.native.tsx","../../../src/components/data-display/EmptyState/EmptyState.helpers.ts","../../../src/components/data-display/EmptyState/EmptyState.metrics.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n Linking,\n Platform,\n StyleSheet,\n Text as RNText,\n useWindowDimensions,\n View,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { type ActionSpec, actionsOf, makeTestId } from './EmptyState.helpers';\nimport {\n ACTION_BUTTON,\n ACTION_MIN_WIDTH,\n ACTIONS_GAP_UNITS,\n ACTIONS_MARGIN_TOP_UNITS,\n ACTIONS_ROW_FROM,\n CONTENT_GAP_UNITS,\n DESCRIPTION_LINE_HEIGHT,\n DESCRIPTION_MAX_WIDTH,\n EMPTY_STATE_GAP_UNITS,\n EMPTY_STATE_MIN_HEIGHT,\n EMPTY_STATE_PADDING_UNITS,\n EXTERNAL_LINK_MARK,\n HELP_LINK_MARGIN_TOP_UNITS,\n illustrationMaxWidth,\n illustrationOpacity,\n MUI_CONTAINED_SHADOW,\n TITLE_MAX_WIDTH,\n} from './EmptyState.metrics';\nimport type { EmptyStateHelpLink, EmptyStateProps, EmptyStateVariant } from './EmptyState.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport { webAria } from '../../../platform/aria';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport { alpha } from '../../../tokens/color';\nimport { MUI_FONT_WEIGHT_MEDIUM, MUI_TYPE, muiTypeStyle } from '../../../tokens/mui-type';\nimport type { UiTheme } from '../../../tokens/theme';\nimport { Button } from '../../form/Button/Button.native';\n\n/** MUI's `h6` as an `h3`, medium weight, in the body ink, wrapping at 400px. */\nexport function titleStyle(theme: UiTheme): TextStyle {\n return {\n ...muiTypeStyle(theme, 'h6'),\n fontWeight: `${MUI_FONT_WEIGHT_MEDIUM}`,\n color: theme.palette.text.primary,\n maxWidth: TITLE_MAX_WIDTH,\n textAlign: 'center',\n };\n}\n\n/** MUI's `body2` on a 1.6 line height, muted, wrapping at 480px. */\nexport function descriptionStyle(theme: UiTheme): TextStyle {\n return {\n ...muiTypeStyle(theme, 'body2'),\n lineHeight: MUI_TYPE.body2.fontSize * DESCRIPTION_LINE_HEIGHT,\n color: theme.palette.text.secondary,\n maxWidth: DESCRIPTION_MAX_WIDTH,\n textAlign: 'center',\n };\n}\n\n/** The web `Link` inherits the page's `body1`; primary ink, no underline until hovered. */\nexport function helpLinkStyle(theme: UiTheme): TextStyle {\n return {\n ...muiTypeStyle(theme, 'body1'),\n color: theme.palette.primary.main,\n textDecorationLine: 'none',\n marginTop: theme.spacing(HELP_LINK_MARGIN_TOP_UNITS),\n textAlign: 'center',\n };\n}\n\nexport function illustrationStyle(variant: EmptyStateVariant): ViewStyle {\n return {\n maxWidth: illustrationMaxWidth(variant),\n width: '100%',\n opacity: illustrationOpacity(variant),\n display: variant === 'minimal' ? 'none' : 'flex',\n };\n}\n\n/**\n * The web actions are MUI's medium contained/outlined buttons; the house\n * `Button` is sized to them here. The shadow needs the button's overflow\n * visible — a view clips its own shadow otherwise.\n */\nexport function actionStyle(theme: UiTheme, variant: ActionSpec['variant']): ViewStyle {\n const padding = ACTION_BUTTON[variant];\n return {\n minWidth: ACTION_MIN_WIDTH,\n borderRadius: theme.radius.md,\n paddingVertical: padding.paddingVertical,\n paddingHorizontal: padding.paddingHorizontal,\n ...(variant === 'contained'\n ? { boxShadow: MUI_CONTAINED_SHADOW, overflow: 'visible' }\n : { borderColor: alpha(theme.palette.primary.main, ACTION_BUTTON.outlinedBorderAlpha) }),\n };\n}\n\n/** MUI's `sm` breakpoint decides the action row's axis: a row from 600px up, a column below. */\nexport const actionsDirection = (windowWidth: number): 'row' | 'column' =>\n windowWidth >= ACTIONS_ROW_FROM ? 'row' : 'column';\n\n/** react-native-web's anchor props for a `Text`, which React Native's `TextProps` do not declare. */\nfunction anchorProps(href: string, external: boolean): object {\n if (Platform.OS !== 'web') return {};\n return { href, hrefAttrs: external ? { target: '_blank', rel: 'noopener noreferrer' } : undefined };\n}\n\nfunction ActionButton({ spec, testID }: { spec: ActionSpec; testID: string }): React.JSX.Element {\n const theme = useUiTheme();\n const contained = spec.variant === 'contained';\n const glyph = spec.icon ? (\n <Icon\n name={spec.icon}\n size={ACTION_BUTTON.iconSize}\n color={contained ? theme.palette.primary.contrastText : 'primary'}\n />\n ) : undefined;\n return (\n <Button\n variant={contained ? 'solid' : 'outline'}\n color=\"primary\"\n size=\"sm\"\n icon={glyph}\n onClick={spec.onClick}\n testID={testID}\n style={actionStyle(theme, spec.variant)}\n >\n {spec.label}\n </Button>\n );\n}\n\nfunction Actions({ specs, testId }: { specs: ActionSpec[]; testId: (suffix: string) => string }): React.JSX.Element {\n const theme = useUiTheme();\n const { width } = useWindowDimensions();\n return (\n <View\n style={[\n styles.actions,\n {\n flexDirection: actionsDirection(width),\n gap: theme.spacing(ACTIONS_GAP_UNITS),\n marginTop: theme.spacing(ACTIONS_MARGIN_TOP_UNITS),\n },\n ]}\n >\n {specs.map((spec) => (\n <ActionButton key={spec.key} spec={spec} testID={testId(spec.key)} />\n ))}\n </View>\n );\n}\n\nfunction HelpLink({ helpLink, testId }: { helpLink: EmptyStateHelpLink; testId: string }): React.JSX.Element {\n const theme = useUiTheme();\n const external = helpLink.external === true;\n // On the web the anchor navigates by itself; a device has no anchor and opens the URL.\n const open = Platform.OS === 'web' ? undefined : () => void Linking.openURL(helpLink.href);\n return (\n <RNText role=\"link\" testID={testId} style={helpLinkStyle(theme)} onPress={open} {...anchorProps(helpLink.href, external)}>\n {helpLink.label}\n {external ? EXTERNAL_LINK_MARK : null}\n </RNText>\n );\n}\n\ninterface ContentProps {\n title: string;\n description?: string;\n titleId: string;\n testId: (suffix: string) => string;\n actions: ActionSpec[];\n showActions: boolean;\n helpLink?: EmptyStateHelpLink;\n}\n\nfunction Content({ title, description, titleId, testId, actions, showActions, helpLink }: ContentProps): React.JSX.Element {\n const theme = useUiTheme();\n return (\n <View style={[styles.content, { gap: theme.spacing(CONTENT_GAP_UNITS) }]}>\n <RNText id={titleId} role=\"heading\" {...webAria({ 'aria-level': 3 })} testID={testId('title')} style={titleStyle(theme)}>\n {title}\n </RNText>\n\n {description ? (\n <RNText testID={testId('description')} style={descriptionStyle(theme)}>\n {description}\n </RNText>\n ) : null}\n\n {showActions ? <Actions specs={actions} testId={testId} /> : null}\n\n {helpLink ? <HelpLink helpLink={helpLink} testId={testId('help-link')} /> : null}\n </View>\n );\n}\n\nexport const EmptyState: React.FC<EmptyStateProps> = React.memo(function EmptyState(props) {\n const {\n variant = 'default',\n title,\n description,\n illustration,\n helpLink,\n refreshLabel = 'Refresh',\n createLabel = 'Create New',\n primaryAction: _primary,\n secondaryAction: _secondary,\n onCreate: _onCreate,\n onRefresh: _onRefresh,\n style,\n ...others\n } = props;\n const theme = useUiTheme();\n const titleId = React.useId();\n const dataTestId = resolveTestId(others);\n const testId = makeTestId(dataTestId);\n const rest = withoutTestIdProps(others);\n\n const actions = actionsOf(props, refreshLabel, createLabel);\n // The `action` variant reserves the action row even when nothing fills it.\n const showActions = variant === 'action' || actions.length > 0;\n\n return (\n <View\n role=\"region\"\n aria-labelledby={titleId}\n testID={dataTestId || 'empty-state'}\n style={[\n styles.root,\n {\n padding: theme.spacing(EMPTY_STATE_PADDING_UNITS),\n minHeight: EMPTY_STATE_MIN_HEIGHT,\n gap: theme.spacing(EMPTY_STATE_GAP_UNITS),\n },\n style,\n ]}\n {...rest}\n >\n {illustration ? (\n <View testID={testId('icon')} style={illustrationStyle(variant)}>\n {illustration}\n </View>\n ) : null}\n\n <Content\n title={title}\n description={description}\n titleId={titleId}\n testId={testId}\n actions={actions}\n showActions={showActions}\n helpLink={helpLink}\n />\n </View>\n );\n});\n\nEmptyState.displayName = 'EmptyState';\n\nconst styles = StyleSheet.create({\n root: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n content: {\n alignItems: 'center',\n },\n actions: {\n alignItems: 'center',\n },\n});\n","import type { EmptyStateBaseProps } from './EmptyState.base';\n\nexport const makeTestId =\n (dataTestId?: string) =>\n (suffix: string): string =>\n dataTestId ? `${dataTestId}-${suffix}` : `empty-state-${suffix}`;\n\n/** The glyph an action carries, by the shared icon set's name; each renderer draws it its own way. */\nexport type ActionIconName = 'Add' | 'Refresh';\n\nexport interface ActionSpec {\n key: 'primary-action' | 'create-button' | 'secondary-action' | 'refresh-button';\n variant: 'contained' | 'outlined';\n onClick: () => void;\n label: string;\n icon?: ActionIconName;\n}\n\n// The four buttons are one button with different props. Listing them keeps their\n// order — primary, create, secondary, refresh — visible in one place, and both\n// renderers read this one list.\nexport const actionsOf = (\n props: EmptyStateBaseProps,\n refreshLabel: string,\n createLabel: string,\n): ActionSpec[] => {\n const { primaryAction, secondaryAction, onCreate, onRefresh } = props;\n const specs: ActionSpec[] = [];\n\n if (primaryAction) {\n specs.push({\n key: 'primary-action',\n variant: 'contained',\n onClick: primaryAction.onClick,\n label: primaryAction.label,\n });\n }\n if (onCreate) {\n specs.push({\n key: 'create-button',\n variant: 'contained',\n onClick: onCreate,\n label: createLabel,\n icon: 'Add',\n });\n }\n if (secondaryAction) {\n specs.push({\n key: 'secondary-action',\n variant: 'outlined',\n onClick: secondaryAction.onClick,\n label: secondaryAction.label,\n });\n }\n if (onRefresh) {\n specs.push({\n key: 'refresh-button',\n variant: 'outlined',\n onClick: onRefresh,\n label: refreshLabel,\n icon: 'Refresh',\n });\n }\n\n return specs;\n};\n","import type { EmptyStateVariant } from './EmptyState.base';\nimport { ELEVATION_SHADOWS } from '../../../tokens/ink.core';\n\n/**\n * THE NUMBERS BOTH `EmptyState` RENDERERS DRAW WITH.\n *\n * `EmptyState.tsx` (MUI) and `EmptyState.native.tsx` (React Native) read\n * this one table. Spacing is in SPACING UNITS where the web writes\n * `theme.spacing(n)`; everything else is px or a ratio.\n */\n\n/** The region: a centred column, `theme.spacing(6)` of padding, at least 200px tall, its parts 24px apart. */\nexport const EMPTY_STATE_PADDING_UNITS = 6;\nexport const EMPTY_STATE_MIN_HEIGHT = 200;\nexport const EMPTY_STATE_GAP_UNITS = 3;\n\n/** The illustration: wider when it is the point, faded a little always, hidden in `minimal`. */\nexport const ILLUSTRATION_MAX_WIDTH = { illustrated: 240, other: 120 } as const;\nexport const ILLUSTRATION_OPACITY = { minimal: 0.6, other: 0.8 } as const;\n\nexport const illustrationMaxWidth = (variant: EmptyStateVariant): number =>\n variant === 'illustrated' ? ILLUSTRATION_MAX_WIDTH.illustrated : ILLUSTRATION_MAX_WIDTH.other;\nexport const illustrationOpacity = (variant: EmptyStateVariant): number =>\n variant === 'minimal' ? ILLUSTRATION_OPACITY.minimal : ILLUSTRATION_OPACITY.other;\n\n/** Title, description, actions and link are 16px apart; the title wraps at 400px, the description at 480px on a 1.6 line height. */\nexport const CONTENT_GAP_UNITS = 2;\nexport const TITLE_MAX_WIDTH = 400;\nexport const DESCRIPTION_MAX_WIDTH = 480;\nexport const DESCRIPTION_LINE_HEIGHT = 1.6;\n\n/** The action row: 16px below the text, buttons 16px apart, stacked below MUI's `sm` breakpoint. */\nexport const ACTIONS_MARGIN_TOP_UNITS = 2;\nexport const ACTIONS_GAP_UNITS = 2;\nexport const ACTIONS_ROW_FROM = 600;\nexport const ACTION_MIN_WIDTH = 120;\n/**\n * The web actions ARE MUI's medium `contained` and `outlined` buttons: 6px\n * 16px, or 5px 15px inside a 1px border at half alpha, 14px type, the\n * theme's radius, a 20px start icon. The native side sizes the house\n * `Button` to these.\n */\nexport const ACTION_BUTTON = {\n contained: { paddingVertical: 6, paddingHorizontal: 16 },\n outlined: { paddingVertical: 5, paddingHorizontal: 15 },\n iconSize: 20,\n outlinedBorderAlpha: 0.5,\n} as const;\n/** MUI's `theme.shadows[2]`, the elevation a contained button rests at. */\nexport const MUI_CONTAINED_SHADOW = ELEVATION_SHADOWS[2];\n\n/** The help link: 8px below whatever precedes it, marked when it leaves the app. */\nexport const HELP_LINK_MARGIN_TOP_UNITS = 1;\nexport const EXTERNAL_LINK_MARK = ' ↗';\n"],"mappings":"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","names":["EmptyState"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/form/Button/Button.native.tsx","../../../src/components/form/Button/Button.helpers.ts","../../../src/components/form/Button/Button.metrics.ts","../../../src/components/form/Button/Button.native.loading.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n Animated,\n Easing,\n Platform,\n Pressable,\n StyleSheet,\n View,\n type GestureResponderEvent,\n type PressableStateCallbackType,\n type StyleProp,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { resolveButtonProps } from './Button.helpers';\nimport {\n BUTTON_FONT_WEIGHT,\n BUTTON_ICON_GAP_UNITS,\n BUTTON_LINE_HEIGHT,\n BUTTON_SIZES,\n BUTTON_WASH_ALPHA,\n GLASS_BACKGROUND_ALPHA,\n GLASS_BACKGROUND_ALPHA_PRESSED,\n GLASS_BORDER_ALPHA,\n GLOW_INNER_ALPHA,\n GLOW_RADIUS,\n PULSE_ALPHA,\n PULSE_DURATION_MS,\n PULSE_SPREAD,\n buttonPalette,\n gradientStops,\n quietInk,\n} from './Button.metrics';\nimport type { ButtonProps, ButtonVariant } from './Button.types.native';\nimport { hiddenWhile, Label, loadingName, Spinner } from './Button.native.loading';\nimport { childTestId, resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport { resolveFieldEdge } from '../../../tokens/field-edge.core';\nimport { FIELD_BORDER_WIDTH, fieldHeightPx } from '../../../tokens/field-height.core';\nimport { alpha } from '../../../tokens/color';\nimport type { ColorValue, SizeValue } from '../../../tokens/vocabulary';\nimport type { UiPaletteColor, UiTheme } from '../../../tokens/theme';\n\n/** MUI's `min-width` for a button that carries a label. */\nconst MIN_WIDTH = 64;\n\ninterface Paint {\n container: ViewStyle;\n pressed: ViewStyle;\n label: TextStyle;\n}\n\n/**\n * What the web's `VARIANT_STYLES` paint, as three React Native styles: at rest,\n * while pressed (the web's `:hover`, which touch has no equivalent of), and the\n * label. Same palette arithmetic, same alphas.\n *\n * `gradient` is the one honest gap: React Native core has no gradient fill, so\n * it paints the gradient's first stop. A host wanting the real thing adds a\n * gradient library; the parity ledger records this.\n */\n/** A coloured outline: its colour for the border and the label, washed when pressed. */\nfunction outlineOf(palette: UiPaletteColor, wash: string): Paint {\n return {\n container: { backgroundColor: 'transparent', borderWidth: FIELD_BORDER_WIDTH, borderColor: palette.main },\n pressed: { backgroundColor: wash, borderColor: palette.dark },\n label: { color: palette.main },\n };\n}\n\n/**\n * A neutral outline, as on the web: it rests on the one field border and\n * writes in the theme's text ink, a role that turns with the mode — grey 700\n * was dark on a dark ground.\n */\nfunction neutralOutline(theme: UiTheme): Paint {\n const ink = theme.palette.text.primary;\n return {\n container: {\n backgroundColor: 'transparent',\n borderWidth: FIELD_BORDER_WIDTH,\n borderColor: resolveFieldEdge(theme.palette.divider, theme.palette.background.paper),\n },\n pressed: { backgroundColor: alpha(ink, BUTTON_WASH_ALPHA), borderColor: theme.palette.text.secondary },\n label: { color: ink },\n };\n}\n\nfunction paintFor(\n theme: UiTheme,\n variant: ButtonVariant,\n color: ColorValue,\n palette: UiPaletteColor,\n active: boolean,\n): Paint {\n const wash = alpha(palette.main, BUTTON_WASH_ALPHA);\n switch (variant) {\n case 'outline':\n return color === 'neutral' ? neutralOutline(theme) : outlineOf(palette, wash);\n case 'ghost':\n return {\n container: { backgroundColor: 'transparent' },\n pressed: { backgroundColor: wash },\n label: { color: quietInk(theme, palette) },\n };\n case 'text':\n return {\n container: { backgroundColor: active ? wash : 'transparent' },\n pressed: { backgroundColor: wash },\n label: { color: quietInk(theme, palette) },\n };\n case 'glass':\n return {\n container: {\n backgroundColor: alpha(theme.palette.background.paper, GLASS_BACKGROUND_ALPHA),\n borderWidth: 1,\n borderColor: alpha(theme.palette.divider, GLASS_BORDER_ALPHA),\n },\n pressed: { backgroundColor: alpha(theme.palette.background.paper, GLASS_BACKGROUND_ALPHA_PRESSED) },\n label: { color: palette.main },\n };\n case 'gradient': {\n const [from, to] = gradientStops(theme, color, palette);\n return {\n container: { backgroundColor: from },\n pressed: { backgroundColor: to },\n label: { color: '#fff' },\n };\n }\n default:\n return {\n container: { backgroundColor: palette.main },\n pressed: { backgroundColor: palette.dark },\n label: { color: palette.contrastText || '#fff' },\n };\n }\n}\n\n/** MUI's disabled treatment per variant family, so a disabled button reads as one on both sides. */\nfunction disabledPaint(theme: UiTheme, variant: ButtonVariant): Paint {\n const filled = variant === 'solid' || variant === 'gradient' || variant === 'glass';\n return {\n container: filled\n ? { backgroundColor: theme.palette.action.disabledBackground, borderWidth: 0 }\n : variant === 'outline'\n ? { backgroundColor: 'transparent', borderWidth: 1, borderColor: theme.palette.action.disabledBackground }\n : { backgroundColor: 'transparent' },\n pressed: {},\n label: { color: theme.palette.action.disabled },\n };\n}\n\nfunction sizeStyle(theme: UiTheme, size: SizeValue, iconOnly: boolean, hasIcon: boolean): ViewStyle {\n const metrics = BUTTON_SIZES[size];\n // The theme's field height for the size, as on the web: a button stands\n // level with the field beside it, and an icon-only one is that square.\n const height = fieldHeightPx(theme.fieldHeight, size);\n if (iconOnly) {\n return { padding: 0, minWidth: height, minHeight: height };\n }\n return {\n minHeight: height,\n paddingVertical: 0,\n paddingHorizontal: metrics.paddingHorizontal,\n minWidth: MIN_WIDTH,\n gap: hasIcon ? theme.spacing(BUTTON_ICON_GAP_UNITS) : undefined,\n };\n}\n\nfunction glowStyle(palette: UiPaletteColor): ViewStyle {\n return Platform.select<ViewStyle>({\n android: { elevation: 8 },\n default: {\n shadowColor: palette.main,\n shadowOpacity: GLOW_INNER_ALPHA,\n shadowRadius: GLOW_RADIUS,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\n/** The web's `::after` pulse ring: a looped scale-and-fade behind the button. */\nfunction Pulse({ color, radius, testID }: { color: string; radius: number; testID: string }): React.JSX.Element {\n const progress = React.useRef(new Animated.Value(0)).current;\n\n React.useEffect(() => {\n const loop = Animated.loop(\n Animated.timing(progress, {\n toValue: 1,\n duration: PULSE_DURATION_MS,\n easing: Easing.out(Easing.ease),\n useNativeDriver: Platform.OS !== 'web',\n }),\n );\n loop.start();\n return () => loop.stop();\n }, [progress]);\n\n return (\n <Animated.View\n testID={testID}\n aria-hidden\n style={[\n StyleSheet.absoluteFill,\n {\n pointerEvents: 'none',\n borderRadius: radius,\n backgroundColor: color,\n opacity: progress.interpolate({ inputRange: [0, 0.7, 1], outputRange: [PULSE_ALPHA, 0, 0] }),\n transform: [\n { scale: progress.interpolate({ inputRange: [0, 0.7, 1], outputRange: [1, 1 + PULSE_SPREAD / 40, 1] }) },\n ],\n },\n ]}\n />\n );\n}\n\n\ntype ResolvedProps = ReturnType<typeof resolveButtonProps<ButtonProps>>;\n\ninterface ButtonLook {\n inactive: boolean;\n palette: UiPaletteColor;\n radius: number;\n label: TextStyle;\n container: (state: PressableStateCallbackType) => StyleProp<ViewStyle>;\n}\n\n/**\n * Whether the button clips what it draws.\n *\n * The web button is `overflow: hidden` (its ripple needs it) unless the pulse\n * ring turns it visible; on native the glow's shadow needs it visible too,\n * because a view's own shadow is clipped by its own overflow there.\n *\n * An Android button never clips (FUT-3775). There, a clipped solid button that\n * turned enabled — after a disable or a loading — painted its new fill and no\n * label: an adopter's cancel, help and delivery sheets showed a red block\n * with no text. The same button unclipped draws its label in every state\n * (measured on an Android emulator with a pixel check). Nothing else needs the\n * clip there: the label, icon and spinner sit inside the padding. The ripple\n * did, since its mask is a square, so a native press shows the variant's\n * pressed paint alone, as on iOS, and `ripple` only matters on the web.\n */\nexport function overflowOf(visible: boolean, os: typeof Platform.OS = Platform.OS): ViewStyle['overflow'] {\n return visible || os === 'android' ? 'visible' : 'hidden';\n}\n\n/**\n * Everything the button paints, decided once per render from the resolved\n * props and the theme. Kept out of the component so the component reads as\n * structure — what renders where — and this reads as arithmetic.\n */\nfunction buttonLook(theme: UiTheme, props: ResolvedProps): ButtonLook {\n const { variant, color, size, loading, icon, children, glow, pulse, active, disabled, style } = props;\n const palette = buttonPalette(theme, color);\n // Loading keeps the icon (transparent), so it changes neither the shape nor the gap (FUT-3646).\n const iconOnly = icon != null && children == null;\n const inactive = Boolean(disabled) || loading;\n const paint = inactive ? disabledPaint(theme, variant) : paintFor(theme, variant, color, palette, active);\n // The theme's one field radius, so a button and the input beside it agree.\n const radius = theme.radius.field;\n const metrics = BUTTON_SIZES[size];\n const overflow = overflowOf(Boolean(pulse || glow));\n const sized = sizeStyle(theme, size, iconOnly, icon != null);\n const glowing = glow && !inactive ? glowStyle(palette) : null;\n\n return {\n inactive,\n palette,\n radius,\n label: {\n fontFamily: theme.typography.fontFamily,\n fontSize: metrics.fontSize,\n lineHeight: metrics.fontSize * BUTTON_LINE_HEIGHT,\n fontWeight: String(BUTTON_FONT_WEIGHT) as TextStyle['fontWeight'],\n textAlign: 'center',\n ...paint.label,\n },\n container: (state) => [\n styles.base,\n { borderRadius: radius, overflow },\n sized,\n paint.container,\n state.pressed && !inactive ? paint.pressed : null,\n glowing,\n style,\n ],\n };\n}\n\nexport const Button = React.forwardRef<View, ButtonProps>((rawProps, ref) => {\n const resolved = resolveButtonProps(rawProps);\n // `ripple` is web-only: kept out of `others` so it never reaches the Pressable (see overflowOf).\n const { loading, icon, iconPosition, pulse, ripple: _ripple, children, onClick, onPress, ...others } = resolved;\n const theme = useUiTheme();\n const look = buttonLook(theme, resolved);\n\n // The shared stories pass `'data-testid'` as a plain prop; honour it here and\n // keep all three spellings off the element (react-native-web would drop them).\n const testId = resolveTestId(others, 'button');\n const idFor = (suffix: string) => childTestId(others, suffix, 'button');\n const rest = withoutTestIdProps(others);\n // `buttonLook` consumed these; they are not Pressable props.\n const { variant: _v, color: _c, size: _s, glow: _g, active: _a, disabled: _d, style: _st, ...pressable } = rest;\n\n const handlePress = (event: GestureResponderEvent): void => {\n onClick?.(event);\n onPress?.(event);\n };\n\n const iconNode = icon ? (\n <View style={[styles.icon, hiddenWhile(loading)]} testID={idFor('icon')}>\n {icon}\n </View>\n ) : null;\n\n return (\n <Pressable\n ref={ref}\n role=\"button\"\n aria-disabled={look.inactive}\n aria-busy={loading}\n aria-label={loadingName(loading, children)}\n disabled={look.inactive}\n onPress={handlePress}\n style={look.container}\n testID={testId}\n {...pressable}\n >\n {pulse && !look.inactive ? <Pulse color={look.palette.main} radius={look.radius} testID={idFor('pulse')} /> : null}\n {iconPosition === 'left' ? iconNode : null}\n <Label loading={loading} label={look.label} testID={idFor('busy-label')}>\n {children}\n </Label>\n {iconPosition === 'right' ? iconNode : null}\n {loading ? <Spinner color={look.label.color as string} testID={idFor('loading')} /> : null}\n </Pressable>\n );\n});\n\nButton.displayName = 'Button';\n\nconst styles = StyleSheet.create({\n base: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n alignSelf: 'flex-start',\n position: 'relative',\n },\n icon: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n","import type { ButtonBaseProps } from './Button.base';\n\ntype ButtonDefaultedKeys =\n | 'variant'\n | 'color'\n | 'size'\n | 'loading'\n | 'iconPosition'\n | 'glow'\n | 'pulse'\n | 'ripple'\n | 'active';\n\n/**\n * Generic over the renderer's own props: the web and the native `Button` pass\n * different handler types through, and both come back out untouched.\n */\ntype ResolvedButtonProps<P extends ButtonBaseProps> = P &\n Required<Pick<ButtonBaseProps, ButtonDefaultedKeys>>;\n\nconst BUTTON_DEFAULTS: Required<Pick<ButtonBaseProps, ButtonDefaultedKeys>> = {\n variant: 'solid',\n color: 'primary',\n size: 'md',\n loading: false,\n iconPosition: 'left',\n glow: false,\n pulse: false,\n ripple: true,\n active: false,\n};\n\n// Strips explicitly-undefined props before the merge, so `size={undefined}` still\n// falls back to the default exactly as a destructuring default would.\nconst definedProps = <P extends ButtonBaseProps>(props: P): Partial<P> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<P>;\n\nexport const resolveButtonProps = <P extends ButtonBaseProps>(props: P): ResolvedButtonProps<P> =>\n ({ ...BUTTON_DEFAULTS, ...definedProps(props) }) as ResolvedButtonProps<P>;\n","import { darken, lighten } from '../../../tokens/color';\nimport { ABSOLUTE_INK, NEUTRAL_RAMP } from '../../../tokens/ink.core';\nimport type { ColorValue, SizeValue } from '../../../tokens/vocabulary';\nimport type { UiPaletteColor, UiTheme } from '../../../tokens/theme';\n\n/**\n * THE NUMBERS BOTH `Button` RENDERERS DRAW WITH.\n *\n * `Button.styles.ts` (web, emotion) and `Button.native.tsx` (React Native)\n * read this one table. The web turns the px into rem and the padding into a\n * shorthand string; native uses the numbers as they are. Neither restates a\n * value, which is what keeps a native `md` button 16px tall of padding and\n * 16px of type exactly like the web one.\n */\nexport interface ButtonSizeMetrics {\n paddingVertical: number;\n paddingHorizontal: number;\n fontSize: number;\n}\n\nexport const BUTTON_SIZES: Record<SizeValue, ButtonSizeMetrics> = {\n xs: { paddingVertical: 2, paddingHorizontal: 8, fontSize: 12 },\n sm: { paddingVertical: 6, paddingHorizontal: 12, fontSize: 14 },\n md: { paddingVertical: 8, paddingHorizontal: 16, fontSize: 16 },\n lg: { paddingVertical: 10, paddingHorizontal: 20, fontSize: 18 },\n xl: { paddingVertical: 12, paddingHorizontal: 24, fontSize: 20 },\n};\n\n/** A button that is only an icon is square: uniform padding, no min-width. */\nexport const ICON_ONLY_PADDING: Record<SizeValue, number> = {\n xs: 2,\n sm: 5,\n md: 7,\n lg: 9,\n xl: 11,\n};\n\n/**\n * The start/end icon slot's font-size, in px — MUI's `medium` value, pinned\n * (12-74).\n *\n * MUI sizes that slot off its OWN `size` prop, writing 18/20/22 onto the first\n * child of `.MuiButton-startIcon`. We never passed a `size`, so every button in\n * every size has always drawn medium's 20px; now that `size` IS forwarded — so\n * the rendered class finally names the size the button actually is — the number\n * would start moving with it.\n *\n * WHAT THAT ACTUALLY REACHES, measured in a browser rather than assumed: this\n * Button renders its own wrapper span around the icon (it carries the child\n * test id), so MUI's rule lands on the WRAPPER and reaches the glyph only when\n * the glyph takes its size by inheritance — `fontSize=\"inherit\"`, an em-sized\n * SVG, a text or emoji glyph. With the pin removed, such a glyph measured 18px\n * at `xs`/`sm` and 22px at `lg`/`xl` against the 20px it has always been. An\n * icon carrying an absolute size of its own does not move at all: a default\n * `SvgIcon` stayed 24×24 across all five.\n *\n * A silent resize of the inherited case is still a design decision arriving as\n * a side effect of a class-name fix, so it is pinned to what shipped before —\n * `Button.tsx` puts it on that same wrapper. Scaling the glyph with the button\n * is a ticket of its own.\n */\nexport const BUTTON_ICON_GLYPH_SIZE = 20;\n\nexport const BUTTON_FONT_WEIGHT = 500;\n/** Between the icon and the label: `theme.spacing(0.5)`. */\nexport const BUTTON_ICON_GAP_UNITS = 0.5;\nexport const BUTTON_SPINNER_SIZE = 16;\n/** MUI's `line-height` for button text. */\nexport const BUTTON_LINE_HEIGHT = 1.75;\n\n/** The wash behind an outline, ghost or text button while it is hovered or pressed. */\nexport const BUTTON_WASH_ALPHA = 0.1;\nexport const GLASS_BACKGROUND_ALPHA = 0.1;\nexport const GLASS_BACKGROUND_ALPHA_PRESSED = 0.2;\nexport const GLASS_BORDER_ALPHA = 0.2;\nexport const GLOW_INNER_ALPHA = 0.6;\nexport const GLOW_OUTER_ALPHA = 0.3;\nexport const GLOW_RADIUS = 20;\nexport const PULSE_ALPHA = 0.3;\nexport const PULSE_DURATION_MS = 2000;\nexport const PULSE_SPREAD = 15;\n\n/**\n * `neutral` has no palette slot of its own in MUI, so `Button.styles.ts` has\n * always drawn it from three greys. Same three greys here.\n */\nexport function buttonPalette(theme: UiTheme, color: ColorValue): UiPaletteColor {\n if (color === 'neutral') {\n return {\n main: NEUTRAL_RAMP[700],\n dark: NEUTRAL_RAMP[800],\n light: NEUTRAL_RAMP[500],\n contrastText: ABSOLUTE_INK.white,\n };\n }\n return theme.palette[color];\n}\n\n/**\n * The label colour for `ghost` and `text`: one step darker than `main` in\n * light mode (lighter in dark), because `main` is chosen to sit UNDER white and\n * is not legible AS text on a tinted surface. See the web `quietInk`.\n */\nexport const quietInk = (theme: UiTheme, palette: UiPaletteColor): string =>\n theme.mode === 'dark' ? lighten(palette.main, 0.35) : darken(palette.main, 0.3);\n\n/** Gradients run between two related hues; the named colours pick a specific pair. */\nexport function gradientStops(\n theme: UiTheme,\n color: ColorValue,\n palette: UiPaletteColor,\n): [string, string] {\n switch (color) {\n case 'primary':\n return [theme.palette.primary.main, theme.palette.secondary.main];\n case 'secondary':\n return [theme.palette.secondary.main, theme.palette.primary.main];\n case 'success':\n case 'warning':\n return [theme.palette[color].light, theme.palette[color].dark];\n case 'danger':\n return [theme.palette.danger.light, theme.palette.danger.dark];\n default:\n return [palette.main, palette.dark];\n }\n}\n","import * as React from 'react';\nimport { ActivityIndicator, Platform, StyleSheet, View } from 'react-native';\nimport type { TextStyle } from 'react-native';\n\nimport { BUTTON_SPINNER_SIZE } from './Button.metrics';\nimport { renderTextChildren } from '../../../platform/text-children';\n\n/**\n * The native Button's loading state (FUT-3646): the label and icon stay laid\n * out under the spinner — so the button keeps its width and shape — and the\n * button keeps its name. Split from `Button.native.tsx` to keep that file\n * under the line ceiling.\n */\n\n/**\n * The spinner over the label while loading, across the whole button; `role`\n * comes from react-native's ActivityIndicator. It used to REPLACE the label, so\n * a loading button had no accessible name (FUT-3646).\n */\nexport function Spinner({ color, testID }: { color: string; testID: string }): React.JSX.Element {\n return (\n <View style={styles.spinner}>\n <ActivityIndicator\n size={Platform.OS === 'ios' ? 'small' : BUTTON_SPINNER_SIZE}\n color={color}\n testID={testID}\n accessibilityLabel=\"loading\"\n />\n </View>\n );\n}\n\n/**\n * The button's name while loading: its text label, said outright. The label\n * stays laid out (transparent) so the width holds, but a screen reader may skip\n * a view at opacity 0 — VoiceOver does — so the name cannot ride on it alone.\n * A caller's own `aria-label` still wins, being spread after this.\n */\nexport const loadingName = (loading: boolean | undefined, children: React.ReactNode): string | undefined =>\n loading ? textOf(children) : undefined;\n\n/**\n * The text of a label made only of strings and numbers — `Salvar`, or\n * `Salvar {n}`, which React hands over as an array. Anything else (an element)\n * has no text to say here, so the name is left to the label itself.\n */\nfunction textOf(children: React.ReactNode): string | undefined {\n const parts = React.Children.toArray(children);\n const textual = parts.every((part) => typeof part === 'string' || typeof part === 'number');\n return textual && parts.length > 0 ? parts.join('') : undefined;\n}\n\n/** Laid out but unseen under the spinner while loading, so the width holds. */\nexport const hiddenWhile = (loading: boolean | undefined) => (loading ? styles.hidden : null);\n\n/** The text label; while loading, kept laid out but unseen under the spinner. */\nexport function Label({\n loading,\n label,\n testID,\n children,\n}: {\n loading: boolean | undefined;\n label: TextStyle;\n testID: string;\n children: React.ReactNode;\n}): React.ReactNode {\n const text = renderTextChildren(children, label, 1);\n return loading ? (\n <View style={styles.hidden} testID={testID}>\n {text}\n </View>\n ) : (\n text\n );\n}\n\nconst styles = StyleSheet.create({\n // The label and icon under the spinner: laid out, so the width holds, but unseen.\n hidden: {\n opacity: 0,\n },\n spinner: {\n ...StyleSheet.absoluteFillObject,\n pointerEvents: 'none',\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAYA,YAAW;AACvB;AAAA,EACE;AAAA,EACA;AAAA,EACA,YAAAC;AAAA,EACA;AAAA,EACA,cAAAC;AAAA,EACA,QAAAC;AAAA,OAMK;;;ACOP,IAAM,kBAAwE;AAAA,EAC5E,SAAS;AAAA,EACT,OAAO;AAAA,EACP,MAAM;AAAA,EACN,SAAS;AAAA,EACT,cAAc;AAAA,EACd,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AACV;AAIA,IAAM,eAAe,CAA4B,UAC/C,OAAO;AAAA,EACL,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,UAAU,MAAS;AACjE;AAEK,IAAM,qBAAqB,CAA4B,WAC3D,EAAE,GAAG,iBAAiB,GAAG,aAAa,KAAK,EAAE;;;ACpBzC,IAAM,eAAqD;AAAA,EAChE,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,GAAG,UAAU,GAAG;AAAA,EAC7D,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,IAAI,UAAU,GAAG;AAAA,EAC9D,IAAI,EAAE,iBAAiB,GAAG,mBAAmB,IAAI,UAAU,GAAG;AAAA,EAC9D,IAAI,EAAE,iBAAiB,IAAI,mBAAmB,IAAI,UAAU,GAAG;AAAA,EAC/D,IAAI,EAAE,iBAAiB,IAAI,mBAAmB,IAAI,UAAU,GAAG;AACjE;AAqCO,IAAM,qBAAqB;AAE3B,IAAM,wBAAwB;AAC9B,IAAM,sBAAsB;AAE5B,IAAM,qBAAqB;AAG3B,IAAM,oBAAoB;AAC1B,IAAM,yBAAyB;AAC/B,IAAM,iCAAiC;AACvC,IAAM,qBAAqB;AAC3B,IAAM,mBAAmB;AAEzB,IAAM,cAAc;AACpB,IAAM,cAAc;AACpB,IAAM,oBAAoB;AAC1B,IAAM,eAAe;AAMrB,SAAS,cAAc,OAAgB,OAAmC;AAC/E,MAAI,UAAU,WAAW;AACvB,WAAO;AAAA,MACL,MAAM,aAAa,GAAG;AAAA,MACtB,MAAM,aAAa,GAAG;AAAA,MACtB,OAAO,aAAa,GAAG;AAAA,MACvB,cAAc,aAAa;AAAA,IAC7B;AAAA,EACF;AACA,SAAO,MAAM,QAAQ,KAAK;AAC5B;AAOO,IAAM,WAAW,CAAC,OAAgB,YACvC,MAAM,SAAS,SAAS,QAAQ,QAAQ,MAAM,IAAI,IAAI,OAAO,QAAQ,MAAM,GAAG;AAGzE,SAAS,cACd,OACA,OACA,SACkB;AAClB,UAAQ,OAAO;AAAA,IACb,KAAK;AACH,aAAO,CAAC,MAAM,QAAQ,QAAQ,MAAM,MAAM,QAAQ,UAAU,IAAI;AAAA,IAClE,KAAK;AACH,aAAO,CAAC,MAAM,QAAQ,UAAU,MAAM,MAAM,QAAQ,QAAQ,IAAI;AAAA,IAClE,KAAK;AAAA,IACL,KAAK;AACH,aAAO,CAAC,MAAM,QAAQ,KAAK,EAAE,OAAO,MAAM,QAAQ,KAAK,EAAE,IAAI;AAAA,IAC/D,KAAK;AACH,aAAO,CAAC,MAAM,QAAQ,OAAO,OAAO,MAAM,QAAQ,OAAO,IAAI;AAAA,IAC/D;AACE,aAAO,CAAC,QAAQ,MAAM,QAAQ,IAAI;AAAA,EACtC;AACF;;;AC7HA,YAAY,WAAW;AACvB,SAAS,mBAAmB,UAAU,YAAY,YAAY;AAqBxD;AAHC,SAAS,QAAQ,EAAE,OAAO,OAAO,GAAyD;AAC/F,SACE,oBAAC,QAAK,OAAO,OAAO,SAClB;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,SAAS,OAAO,QAAQ,UAAU;AAAA,MACxC;AAAA,MACA;AAAA,MACA,oBAAmB;AAAA;AAAA,EACrB,GACF;AAEJ;AAQO,IAAM,cAAc,CAAC,SAA8B,aACxD,UAAU,OAAO,QAAQ,IAAI;AAO/B,SAAS,OAAO,UAA+C;AAC7D,QAAM,QAAc,eAAS,QAAQ,QAAQ;AAC7C,QAAM,UAAU,MAAM,MAAM,CAAC,SAAS,OAAO,SAAS,YAAY,OAAO,SAAS,QAAQ;AAC1F,SAAO,WAAW,MAAM,SAAS,IAAI,MAAM,KAAK,EAAE,IAAI;AACxD;AAGO,IAAM,cAAc,CAAC,YAAkC,UAAU,OAAO,SAAS;AAGjF,SAAS,MAAM;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKoB;AAClB,QAAM,OAAO,mBAAmB,UAAU,OAAO,CAAC;AAClD,SAAO,UACL,oBAAC,QAAK,OAAO,OAAO,QAAQ,QACzB,gBACH,IAEA;AAEJ;AAEA,IAAM,SAAS,WAAW,OAAO;AAAA;AAAA,EAE/B,QAAQ;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,GAAG,WAAW;AAAA,IACd,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AACF,CAAC;;;AHgHG,gBAAAC,MAwHA,YAxHA;AA3JJ,IAAM,YAAY;AAkBlB,SAAS,UAAU,SAAyB,MAAqB;AAC/D,SAAO;AAAA,IACL,WAAW,EAAE,iBAAiB,eAAe,aAAa,oBAAoB,aAAa,QAAQ,KAAK;AAAA,IACxG,SAAS,EAAE,iBAAiB,MAAM,aAAa,QAAQ,KAAK;AAAA,IAC5D,OAAO,EAAE,OAAO,QAAQ,KAAK;AAAA,EAC/B;AACF;AAOA,SAAS,eAAe,OAAuB;AAC7C,QAAM,MAAM,MAAM,QAAQ,KAAK;AAC/B,SAAO;AAAA,IACL,WAAW;AAAA,MACT,iBAAiB;AAAA,MACjB,aAAa;AAAA,MACb,aAAa,iBAAiB,MAAM,QAAQ,SAAS,MAAM,QAAQ,WAAW,KAAK;AAAA,IACrF;AAAA,IACA,SAAS,EAAE,iBAAiB,MAAM,KAAK,iBAAiB,GAAG,aAAa,MAAM,QAAQ,KAAK,UAAU;AAAA,IACrG,OAAO,EAAE,OAAO,IAAI;AAAA,EACtB;AACF;AAEA,SAAS,SACP,OACA,SACA,OACA,SACA,QACO;AACP,QAAM,OAAO,MAAM,QAAQ,MAAM,iBAAiB;AAClD,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO,UAAU,YAAY,eAAe,KAAK,IAAI,UAAU,SAAS,IAAI;AAAA,IAC9E,KAAK;AACH,aAAO;AAAA,QACL,WAAW,EAAE,iBAAiB,cAAc;AAAA,QAC5C,SAAS,EAAE,iBAAiB,KAAK;AAAA,QACjC,OAAO,EAAE,OAAO,SAAS,OAAO,OAAO,EAAE;AAAA,MAC3C;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,WAAW,EAAE,iBAAiB,SAAS,OAAO,cAAc;AAAA,QAC5D,SAAS,EAAE,iBAAiB,KAAK;AAAA,QACjC,OAAO,EAAE,OAAO,SAAS,OAAO,OAAO,EAAE;AAAA,MAC3C;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,WAAW;AAAA,UACT,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,sBAAsB;AAAA,UAC7E,aAAa;AAAA,UACb,aAAa,MAAM,MAAM,QAAQ,SAAS,kBAAkB;AAAA,QAC9D;AAAA,QACA,SAAS,EAAE,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,8BAA8B,EAAE;AAAA,QAClG,OAAO,EAAE,OAAO,QAAQ,KAAK;AAAA,MAC/B;AAAA,IACF,KAAK,YAAY;AACf,YAAM,CAAC,MAAM,EAAE,IAAI,cAAc,OAAO,OAAO,OAAO;AACtD,aAAO;AAAA,QACL,WAAW,EAAE,iBAAiB,KAAK;AAAA,QACnC,SAAS,EAAE,iBAAiB,GAAG;AAAA,QAC/B,OAAO,EAAE,OAAO,OAAO;AAAA,MACzB;AAAA,IACF;AAAA,IACA;AACE,aAAO;AAAA,QACL,WAAW,EAAE,iBAAiB,QAAQ,KAAK;AAAA,QAC3C,SAAS,EAAE,iBAAiB,QAAQ,KAAK;AAAA,QACzC,OAAO,EAAE,OAAO,QAAQ,gBAAgB,OAAO;AAAA,MACjD;AAAA,EACJ;AACF;AAGA,SAAS,cAAc,OAAgB,SAA+B;AACpE,QAAM,SAAS,YAAY,WAAW,YAAY,cAAc,YAAY;AAC5E,SAAO;AAAA,IACL,WAAW,SACP,EAAE,iBAAiB,MAAM,QAAQ,OAAO,oBAAoB,aAAa,EAAE,IAC3E,YAAY,YACV,EAAE,iBAAiB,eAAe,aAAa,GAAG,aAAa,MAAM,QAAQ,OAAO,mBAAmB,IACvG,EAAE,iBAAiB,cAAc;AAAA,IACvC,SAAS,CAAC;AAAA,IACV,OAAO,EAAE,OAAO,MAAM,QAAQ,OAAO,SAAS;AAAA,EAChD;AACF;AAEA,SAAS,UAAU,OAAgB,MAAiB,UAAmB,SAA6B;AAClG,QAAM,UAAU,aAAa,IAAI;AAGjC,QAAM,SAAS,cAAc,MAAM,aAAa,IAAI;AACpD,MAAI,UAAU;AACZ,WAAO,EAAE,SAAS,GAAG,UAAU,QAAQ,WAAW,OAAO;AAAA,EAC3D;AACA,SAAO;AAAA,IACL,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,mBAAmB,QAAQ;AAAA,IAC3B,UAAU;AAAA,IACV,KAAK,UAAU,MAAM,QAAQ,qBAAqB,IAAI;AAAA,EACxD;AACF;AAEA,SAAS,UAAU,SAAoC;AACrD,SAAOC,UAAS,OAAkB;AAAA,IAChC,SAAS,EAAE,WAAW,EAAE;AAAA,IACxB,SAAS;AAAA,MACP,aAAa,QAAQ;AAAA,MACrB,eAAe;AAAA,MACf,cAAc;AAAA,MACd,cAAc,EAAE,OAAO,GAAG,QAAQ,EAAE;AAAA,IACtC;AAAA,EACF,CAAC;AACH;AAGA,SAAS,MAAM,EAAE,OAAO,QAAQ,OAAO,GAAyE;AAC9G,QAAM,WAAiB,cAAO,IAAI,SAAS,MAAM,CAAC,CAAC,EAAE;AAErD,EAAM,iBAAU,MAAM;AACpB,UAAM,OAAO,SAAS;AAAA,MACpB,SAAS,OAAO,UAAU;AAAA,QACxB,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ,OAAO,IAAI,OAAO,IAAI;AAAA,QAC9B,iBAAiBA,UAAS,OAAO;AAAA,MACnC,CAAC;AAAA,IACH;AACA,SAAK,MAAM;AACX,WAAO,MAAM,KAAK,KAAK;AAAA,EACzB,GAAG,CAAC,QAAQ,CAAC;AAEb,SACE,gBAAAD;AAAA,IAAC,SAAS;AAAA,IAAT;AAAA,MACC;AAAA,MACA,eAAW;AAAA,MACX,OAAO;AAAA,QACLE,YAAW;AAAA,QACX;AAAA,UACE,eAAe;AAAA,UACf,cAAc;AAAA,UACd,iBAAiB;AAAA,UACjB,SAAS,SAAS,YAAY,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;AAAA,UAC3F,WAAW;AAAA,YACT,EAAE,OAAO,SAAS,YAAY,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,GAAG,aAAa,CAAC,GAAG,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC,EAAE;AAAA,UACzG;AAAA,QACF;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AA6BO,SAAS,WAAW,SAAkB,KAAyBD,UAAS,IAA2B;AACxG,SAAO,WAAW,OAAO,YAAY,YAAY;AACnD;AAOA,SAAS,WAAW,OAAgB,OAAkC;AACpE,QAAM,EAAE,SAAS,OAAO,MAAM,SAAS,MAAM,UAAU,MAAM,OAAO,QAAQ,UAAU,MAAM,IAAI;AAChG,QAAM,UAAU,cAAc,OAAO,KAAK;AAE1C,QAAM,WAAW,QAAQ,QAAQ,YAAY;AAC7C,QAAM,WAAW,QAAQ,QAAQ,KAAK;AACtC,QAAM,QAAQ,WAAW,cAAc,OAAO,OAAO,IAAI,SAAS,OAAO,SAAS,OAAO,SAAS,MAAM;AAExG,QAAM,SAAS,MAAM,OAAO;AAC5B,QAAM,UAAU,aAAa,IAAI;AACjC,QAAM,WAAW,WAAW,QAAQ,SAAS,IAAI,CAAC;AAClD,QAAM,QAAQ,UAAU,OAAO,MAAM,UAAU,QAAQ,IAAI;AAC3D,QAAM,UAAU,QAAQ,CAAC,WAAW,UAAU,OAAO,IAAI;AAEzD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACL,YAAY,MAAM,WAAW;AAAA,MAC7B,UAAU,QAAQ;AAAA,MAClB,YAAY,QAAQ,WAAW;AAAA,MAC/B,YAAY,OAAO,kBAAkB;AAAA,MACrC,WAAW;AAAA,MACX,GAAG,MAAM;AAAA,IACX;AAAA,IACA,WAAW,CAAC,UAAU;AAAA,MACpBE,QAAO;AAAA,MACP,EAAE,cAAc,QAAQ,SAAS;AAAA,MACjC;AAAA,MACA,MAAM;AAAA,MACN,MAAM,WAAW,CAAC,WAAW,MAAM,UAAU;AAAA,MAC7C;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,SAAe,kBAA8B,CAAC,UAAU,QAAQ;AAC3E,QAAM,WAAW,mBAAmB,QAAQ;AAE5C,QAAM,EAAE,SAAS,MAAM,cAAc,OAAO,QAAQ,SAAS,UAAU,SAAS,SAAS,GAAG,OAAO,IAAI;AACvG,QAAM,QAAQ,WAAW;AACzB,QAAM,OAAO,WAAW,OAAO,QAAQ;AAIvC,QAAM,SAAS,cAAc,QAAQ,QAAQ;AAC7C,QAAM,QAAQ,CAAC,WAAmB,YAAY,QAAQ,QAAQ,QAAQ;AACtE,QAAM,OAAO,mBAAmB,MAAM;AAEtC,QAAM,EAAE,SAAS,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,IAAI,QAAQ,IAAI,UAAU,IAAI,OAAO,KAAK,GAAG,UAAU,IAAI;AAE3G,QAAM,cAAc,CAAC,UAAuC;AAC1D,cAAU,KAAK;AACf,cAAU,KAAK;AAAA,EACjB;AAEA,QAAM,WAAW,OACf,gBAAAH,KAACI,OAAA,EAAK,OAAO,CAACD,QAAO,MAAM,YAAY,OAAO,CAAC,GAAG,QAAQ,MAAM,MAAM,GACnE,gBACH,IACE;AAEJ,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,MAAK;AAAA,MACL,iBAAe,KAAK;AAAA,MACpB,aAAW;AAAA,MACX,cAAY,YAAY,SAAS,QAAQ;AAAA,MACzC,UAAU,KAAK;AAAA,MACf,SAAS;AAAA,MACT,OAAO,KAAK;AAAA,MACZ,QAAQ;AAAA,MACP,GAAG;AAAA,MAEH;AAAA,iBAAS,CAAC,KAAK,WAAW,gBAAAH,KAAC,SAAM,OAAO,KAAK,QAAQ,MAAM,QAAQ,KAAK,QAAQ,QAAQ,MAAM,OAAO,GAAG,IAAK;AAAA,QAC7G,iBAAiB,SAAS,WAAW;AAAA,QACtC,gBAAAA,KAAC,SAAM,SAAkB,OAAO,KAAK,OAAO,QAAQ,MAAM,YAAY,GACnE,UACH;AAAA,QACC,iBAAiB,UAAU,WAAW;AAAA,QACtC,UAAU,gBAAAA,KAAC,WAAQ,OAAO,KAAK,MAAM,OAAiB,QAAQ,MAAM,SAAS,GAAG,IAAK;AAAA;AAAA;AAAA,EACxF;AAEJ,CAAC;AAED,OAAO,cAAc;AAErB,IAAMG,UAASD,YAAW,OAAO;AAAA,EAC/B,MAAM;AAAA,IACJ,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,UAAU;AAAA,EACZ;AAAA,EACA,MAAM;AAAA,IACJ,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AACF,CAAC;","names":["React","Platform","StyleSheet","View","jsx","Platform","StyleSheet","styles","View"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|