@12-apps/ui 6.33.1 → 6.34.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 +5 -3
- package/dist/_internal/components/data-display/Alert/Alert.metrics.js +2 -1
- package/dist/_internal/components/data-display/Alert/Alert.styles.js +4 -2
- package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +4 -1
- package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +10 -7
- package/dist/_internal/components/data-display/Avatar/Avatar.js +5 -3
- package/dist/_internal/components/data-display/Avatar/Avatar.metrics.js +2 -1
- package/dist/_internal/components/data-display/Avatar/Avatar.view.js +4 -2
- package/dist/_internal/components/data-display/Badge/Badge.animations.js +2 -9
- package/dist/_internal/components/data-display/Badge/Badge.js +16 -6
- package/dist/_internal/components/data-display/Badge/Badge.metrics.js +1 -8
- package/dist/_internal/components/data-display/Badge/Badge.styles.js +14 -4
- package/dist/_internal/components/data-display/Badge/Badge.variants.js +4 -8
- package/dist/_internal/components/data-display/Badge/BadgeContent.js +15 -5
- package/dist/_internal/components/data-display/Banner/Banner.js +5 -3
- package/dist/_internal/components/data-display/Banner/Banner.styles.js +4 -2
- package/dist/_internal/components/data-display/CardKit/CardKebab.js +7 -5
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +6 -4
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +15 -13
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +11 -9
- package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +5 -3
- package/dist/_internal/components/data-display/Carousel/Carousel.js +8 -6
- package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +4 -2
- package/dist/_internal/components/data-display/Carousel/Carousel.slide.js +4 -1
- package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +4 -2
- package/dist/_internal/components/data-display/Chart/Chart.js +8 -6
- package/dist/_internal/components/data-display/Chart/SpecChart.js +9 -7
- package/dist/_internal/components/data-display/Chart/chart-context.js +5 -3
- package/dist/_internal/components/data-display/Chart/chart-internals.js +4 -2
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +7 -5
- package/dist/_internal/components/data-display/Chip/Chip.js +5 -2
- package/dist/_internal/components/data-display/Chip/Chip.styles.js +4 -1
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +58 -56
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +82 -80
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +9 -7
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +14 -12
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +17 -15
- package/dist/_internal/components/data-display/DataViews/base-card.js +11 -9
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +12 -10
- package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +4 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +8 -6
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +19 -17
- package/dist/_internal/components/data-display/DataViews/card-surface.js +5 -9
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +14 -12
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +8 -6
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +11 -9
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +6 -4
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +6 -4
- package/dist/_internal/components/data-display/DataViews/data-views-export.js +6 -4
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +21 -19
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +16 -14
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +7 -5
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +53 -51
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +23 -21
- package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +6 -3
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +11 -9
- 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 +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +7 -4
- package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +6 -4
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +17 -15
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +28 -26
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +16 -14
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +6 -4
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +8 -5
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +11 -9
- package/dist/_internal/components/data-display/EmptyState/EmptyState.js +3 -2
- package/dist/_internal/components/data-display/EmptyState/EmptyState.metrics.js +2 -1
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +17 -15
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +12 -10
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +22 -20
- package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +7 -4
- package/dist/_internal/components/data-display/HoverCard/HoverCard.js +6 -3
- package/dist/_internal/components/data-display/HoverCard/HoverCard.styles.js +4 -1
- package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +5 -2
- package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.js +4 -1
- package/dist/_internal/components/data-display/LazyImage/LazyImage.js +7 -4
- package/dist/_internal/components/data-display/Lightbox/Lightbox.constants.js +4 -1
- package/dist/_internal/components/data-display/Lightbox/Lightbox.hooks.js +5 -2
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +11 -8
- package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +5 -2
- package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +6 -3
- package/dist/_internal/components/data-display/Lightbox/LightboxStage.js +5 -2
- package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +5 -2
- package/dist/_internal/components/data-display/Lightbox/useLightbox.js +6 -3
- package/dist/_internal/components/data-display/LoadingState/LoadingState.js +7 -4
- package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +5 -2
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +5 -2
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +11 -9
- package/dist/_internal/components/data-display/MapPreview/MapTiles.js +5 -2
- package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +7 -4
- package/dist/_internal/components/data-display/MapPreview/mapSurface.js +4 -1
- package/dist/_internal/components/data-display/Popover/Popover.js +4 -1
- package/dist/_internal/components/data-display/Progress/Progress.js +4 -2
- package/dist/_internal/components/data-display/Progress/Progress.styles.js +3 -1
- package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +7 -4
- package/dist/_internal/components/data-display/Sheet/Sheet.body.js +5 -3
- package/dist/_internal/components/data-display/Sheet/Sheet.js +7 -5
- package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +4 -1
- package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +4 -2
- package/dist/_internal/components/data-display/StatCard/StatCard.js +7 -4
- package/dist/_internal/components/data-display/Stepper/Stepper.js +4 -1
- package/dist/_internal/components/data-display/Timeline/Timeline.js +5 -2
- package/dist/_internal/components/data-display/Timeline/TimelineRow.js +4 -1
- package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.js +5 -2
- package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.views.js +4 -1
- package/dist/_internal/components/data-display/Tooltip/Tooltip.js +4 -1
- package/dist/_internal/components/data-display/index.js +83 -81
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +6 -3
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +5 -2
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +9 -7
- package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +6 -3
- package/dist/_internal/components/feedback/Dialog/Dialog.js +6 -3
- package/dist/_internal/components/feedback/Dialog/Dialog.metrics.js +3 -1
- package/dist/_internal/components/feedback/Dialog/Dialog.styles.js +5 -2
- package/dist/_internal/components/feedback/Modal/Modal.js +5 -2
- package/dist/_internal/components/feedback/Modal/Modal.styles.js +4 -1
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +9 -7
- package/dist/_internal/components/feedback/Sonner/Sonner.js +5 -2
- package/dist/_internal/components/feedback/Sonner/SonnerToast.js +4 -1
- package/dist/_internal/components/feedback/StackedModal/StackedModal.js +6 -3
- package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +5 -2
- package/dist/_internal/components/feedback/StackedModal/StackedModal.styles.js +4 -1
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +5 -2
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +4 -1
- package/dist/_internal/components/feedback/index.js +28 -26
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +4 -4
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +7 -7
- package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
- package/dist/_internal/components/form/Button/Button.js +5 -3
- package/dist/_internal/components/form/Button/Button.metrics.js +2 -1
- package/dist/_internal/components/form/Button/Button.styles.js +4 -2
- package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
- package/dist/_internal/components/form/Calendar/Calendar.js +3 -3
- package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +9 -7
- package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +4 -2
- package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +4 -2
- package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +6 -4
- package/dist/_internal/components/form/CategorySelect/CategoryRows.js +5 -3
- package/dist/_internal/components/form/CategorySelect/CategorySelect.js +12 -10
- package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +3 -1
- package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +4 -2
- package/dist/_internal/components/form/CepField/CepField.js +6 -4
- package/dist/_internal/components/form/Checkbox/Checkbox.js +3 -2
- package/dist/_internal/components/form/Checkbox/Checkbox.metrics.js +3 -3
- package/dist/_internal/components/form/CodeEditor/CodeEditor.hooks.js +5 -2
- package/dist/_internal/components/form/CodeEditor/CodeEditor.js +6 -4
- package/dist/_internal/components/form/CodeEditor/CodeEditor.monaco.js +4 -1
- package/dist/_internal/components/form/Command/Command.js +6 -4
- package/dist/_internal/components/form/Command/Command.styles.js +4 -2
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +5 -5
- package/dist/_internal/components/form/Input/Input.js +5 -3
- package/dist/_internal/components/form/Input/Input.metrics.js +2 -1
- package/dist/_internal/components/form/Input/Input.styles.js +4 -2
- package/dist/_internal/components/form/InputOTP/InputOTP.js +4 -2
- package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +3 -1
- package/dist/_internal/components/form/Label/Label.js +5 -3
- package/dist/_internal/components/form/Label/Label.styles.js +4 -2
- package/dist/_internal/components/form/Menubar/Menubar.item.js +5 -3
- package/dist/_internal/components/form/Menubar/Menubar.js +7 -5
- package/dist/_internal/components/form/Menubar/Menubar.styles.js +4 -2
- package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +6 -4
- package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
- package/dist/_internal/components/form/PhoneInput/PhoneInput.js +3 -3
- package/dist/_internal/components/form/RadioGroup/RadioGroup.js +5 -3
- package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +3 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +4 -2
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
- package/dist/_internal/components/form/Select/Select.js +5 -3
- package/dist/_internal/components/form/Select/Select.metrics.js +3 -2
- package/dist/_internal/components/form/Slider/Slider.js +5 -2
- package/dist/_internal/components/form/Slider/Slider.styles.js +4 -1
- package/dist/_internal/components/form/Switch/Switch.js +7 -5
- package/dist/_internal/components/form/Switch/Switch.metrics.js +2 -1
- package/dist/_internal/components/form/Switch/Switch.parts.js +5 -3
- package/dist/_internal/components/form/Switch/Switch.styles.js +4 -2
- package/dist/_internal/components/form/Textarea/Textarea.js +4 -2
- package/dist/_internal/components/form/Textarea/Textarea.styles.js +3 -1
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +3 -1
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
- package/dist/_internal/components/form/Toggle/Toggle.js +4 -2
- package/dist/_internal/components/form/Toggle/Toggle.styles.js +3 -1
- package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +3 -1
- package/dist/_internal/components/form/index.js +68 -66
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +13 -11
- package/dist/_internal/components/form/total-form/Fields/CepField.js +7 -5
- package/dist/_internal/components/form/total-form/Fields/SelectField.js +6 -4
- package/dist/_internal/components/form/total-form/Fields/TextField.js +6 -4
- package/dist/_internal/components/form/total-form/Fields/ToggleField.js +4 -2
- package/dist/_internal/components/form/total-form/Fields/index.js +29 -27
- package/dist/_internal/components/form/total-form/SubmitButton.js +6 -4
- package/dist/_internal/components/index.js +209 -207
- package/dist/_internal/components/layout/Box/Box.js +6 -4
- package/dist/_internal/components/layout/Card/Card.js +6 -3
- package/dist/_internal/components/layout/Card/Card.metrics.js +3 -1
- package/dist/_internal/components/layout/Card/Card.styles.js +5 -2
- package/dist/_internal/components/layout/Drawer/Drawer.js +4 -1
- package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +7 -4
- package/dist/_internal/components/layout/ScrollArea/ScrollArea.styles.js +4 -1
- package/dist/_internal/components/layout/ScrollArea/ScrollViewport.js +5 -2
- package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +4 -4
- package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +2 -2
- package/dist/_internal/components/layout/Sidebar/Sidebar.js +4 -1
- package/dist/_internal/components/layout/Skeleton/Skeleton.js +6 -3
- package/dist/_internal/components/layout/Skeleton/Skeleton.metrics.js +2 -1
- package/dist/_internal/components/layout/Skeleton/Skeleton.styles.js +5 -2
- package/dist/_internal/components/layout/Stack/Stack.js +7 -5
- package/dist/_internal/components/layout/index.js +17 -15
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +14 -12
- package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +4 -2
- package/dist/_internal/components/navigation/Breadcrumbs/BreadcrumbEntry.js +5 -2
- package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +6 -3
- package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.styles.js +4 -1
- package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +4 -1
- package/dist/_internal/components/navigation/ContextMenu/ContextMenu.js +4 -1
- package/dist/_internal/components/navigation/DropdownMenu/DropdownMenu.js +4 -1
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +7 -4
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +9 -6
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +5 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.styles.js +2 -1
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +5 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +7 -4
- package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
- package/dist/_internal/components/navigation/Tabs/Tabs.js +2 -2
- package/dist/_internal/components/navigation/index.js +33 -31
- package/dist/_internal/components/typography/Blockquote/Blockquote.js +4 -1
- package/dist/_internal/components/typography/Code/Code.js +4 -1
- package/dist/_internal/components/typography/Heading/Heading.js +5 -3
- package/dist/_internal/components/typography/Heading/Heading.metrics.js +2 -1
- package/dist/_internal/components/typography/Heading/Heading.styles.js +4 -2
- package/dist/_internal/components/typography/index.js +7 -5
- package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +5 -2
- package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.styles.js +4 -1
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +4 -1
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +7 -4
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +5 -2
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +6 -3
- package/dist/_internal/components/utility/index.js +9 -6
- package/dist/_internal/icons/Icon.js +6 -4
- package/dist/_internal/provider/UiProvider.js +5 -3
- package/dist/_internal/provider/mui-bridge.js +4 -2
- package/dist/_internal/provider/use-ui-theme.js +5 -3
- package/dist/_internal/social-login-button/social-login-button.js +12 -10
- package/dist/_internal/tokens/ink.core.js +34 -0
- package/dist/_internal/tokens/ink.core.js.map +1 -0
- package/dist/_internal/tokens/ink.js +30 -0
- package/dist/_internal/tokens/ink.js.map +1 -0
- package/dist/_internal/user-avatar/user-avatar.js +12 -10
- package/dist/charts.js +9 -7
- package/dist/chunk-236V2GRH.js +281 -0
- package/dist/chunk-236V2GRH.js.map +1 -0
- package/dist/chunk-27DLUKDF.js +37 -0
- package/dist/chunk-2BFUUUDS.js +61 -0
- package/dist/chunk-2BFUUUDS.js.map +1 -0
- package/dist/chunk-2CK7SHQQ.js +305 -0
- package/dist/chunk-2KLT22S3.js +173 -0
- package/dist/chunk-2LG5TEFV.js +201 -0
- package/dist/chunk-2LG5TEFV.js.map +1 -0
- package/dist/chunk-2NLYGZP3.js +156 -0
- package/dist/chunk-2NLYGZP3.js.map +1 -0
- package/dist/chunk-2RRXQTOO.js +234 -0
- package/dist/chunk-2RRXQTOO.js.map +1 -0
- package/dist/chunk-2SGPNJHJ.js +170 -0
- package/dist/chunk-2SGPNJHJ.js.map +1 -0
- package/dist/chunk-2TJOCI54.js +86 -0
- package/dist/chunk-2XGGHYEA.js +187 -0
- package/dist/chunk-2ZRZTGWP.js +230 -0
- package/dist/chunk-37DCYIT5.js +79 -0
- package/dist/chunk-3CBL5FWS.js +201 -0
- package/dist/chunk-3CBL5FWS.js.map +1 -0
- package/dist/chunk-3EDZU2H7.js +127 -0
- package/dist/chunk-3LNKBZTG.js +83 -0
- package/dist/chunk-46ADSOCF.js +67 -0
- package/dist/chunk-4GKDO4YK.js +325 -0
- package/dist/chunk-4GKDO4YK.js.map +1 -0
- package/dist/chunk-4M7QHSKY.js +103 -0
- package/dist/chunk-4N33SWTW.js +85 -0
- package/dist/chunk-5264DI34.js +57 -0
- package/dist/chunk-52APLKAG.js +110 -0
- package/dist/chunk-52APLKAG.js.map +1 -0
- package/dist/chunk-5CIXQBLV.js +155 -0
- package/dist/chunk-5CIXQBLV.js.map +1 -0
- package/dist/chunk-5E6WZAQF.js +111 -0
- package/dist/chunk-5E6WZAQF.js.map +1 -0
- package/dist/chunk-5JSRM7WC.js +76 -0
- package/dist/chunk-5JSRM7WC.js.map +1 -0
- package/dist/chunk-5LPQ6T5S.js +93 -0
- package/dist/chunk-5LPQ6T5S.js.map +1 -0
- package/dist/chunk-5NFPO3YY.js +84 -0
- package/dist/chunk-5NFPO3YY.js.map +1 -0
- package/dist/chunk-5QTMJ2RU.js +157 -0
- package/dist/chunk-5VWYCVXF.js +94 -0
- package/dist/chunk-63UQJVBW.js +198 -0
- package/dist/chunk-63UQJVBW.js.map +1 -0
- package/dist/chunk-67QSLTT7.js +116 -0
- package/dist/chunk-67VUL6L2.js +263 -0
- package/dist/chunk-67VUL6L2.js.map +1 -0
- package/dist/chunk-6MSSCBI3.js +39 -0
- package/dist/chunk-6Q5GZUQ5.js +64 -0
- package/dist/chunk-6ZZGK5DT.js +78 -0
- package/dist/chunk-6ZZGK5DT.js.map +1 -0
- package/dist/chunk-7E4X4J2M.js +107 -0
- package/dist/chunk-7F7TTOYN.js +80 -0
- package/dist/chunk-7IQDLEB5.js +281 -0
- package/dist/chunk-7IQDLEB5.js.map +1 -0
- package/dist/chunk-7JSQQZUH.js +21 -0
- package/dist/chunk-7QLHYUDW.js +136 -0
- package/dist/chunk-7QLHYUDW.js.map +1 -0
- package/dist/chunk-7VIINULX.js +223 -0
- package/dist/chunk-7WK2L3ZO.js +46 -0
- package/dist/chunk-7Z2UU2FQ.js +183 -0
- package/dist/chunk-A2DYU5WN.js +60 -0
- package/dist/chunk-A4OCNJWW.js +16 -0
- package/dist/chunk-ABCP6NS4.js +211 -0
- package/dist/chunk-ABCP6NS4.js.map +1 -0
- package/dist/chunk-ACHUHT2K.js +170 -0
- package/dist/chunk-ACHUHT2K.js.map +1 -0
- package/dist/chunk-AKPRFFAI.js +134 -0
- package/dist/chunk-AL6Z2JYR.js +241 -0
- package/dist/chunk-AMTFP7QA.js +94 -0
- package/dist/chunk-AMTFP7QA.js.map +1 -0
- package/dist/chunk-B443IIQG.js +167 -0
- package/dist/chunk-B76QCDCE.js +226 -0
- package/dist/chunk-B76QCDCE.js.map +1 -0
- package/dist/chunk-BGYLL467.js +108 -0
- package/dist/chunk-BHLGZLXQ.js +318 -0
- package/dist/chunk-BHLGZLXQ.js.map +1 -0
- package/dist/chunk-BHOSWJDL.js +83 -0
- package/dist/chunk-BOU3HR4C.js +216 -0
- package/dist/chunk-BOU3HR4C.js.map +1 -0
- package/dist/chunk-BQGT77IQ.js +181 -0
- package/dist/chunk-BR7RM3WR.js +79 -0
- package/dist/chunk-C3U7FDKI.js +218 -0
- package/dist/chunk-C3U7FDKI.js.map +1 -0
- package/dist/chunk-COK5VOXC.js +193 -0
- package/dist/chunk-CRDOMIEG.js +59 -0
- package/dist/chunk-CUN5RJTH.js +81 -0
- package/dist/chunk-CXMVNYBY.js +25 -0
- package/dist/chunk-CY6HHLYM.js +184 -0
- package/dist/chunk-CZT3AV7I.js +172 -0
- package/dist/chunk-CZT3AV7I.js.map +1 -0
- package/dist/chunk-D5SZXH7Q.js +148 -0
- package/dist/chunk-D5SZXH7Q.js.map +1 -0
- package/dist/chunk-D6RKXNLE.js +41 -0
- package/dist/chunk-DBCITC4P.js +127 -0
- package/dist/chunk-DELT2W42.js +41 -0
- package/dist/chunk-DJ2KYLHE.js +61 -0
- package/dist/chunk-DKILDT72.js +269 -0
- package/dist/chunk-DKILDT72.js.map +1 -0
- package/dist/chunk-DL6N7W6P.js +82 -0
- package/dist/chunk-DL6N7W6P.js.map +1 -0
- package/dist/chunk-DOXNMWUU.js +195 -0
- package/dist/chunk-DOXNMWUU.js.map +1 -0
- package/dist/chunk-DPJZFQF2.js +309 -0
- package/dist/chunk-DPJZFQF2.js.map +1 -0
- package/dist/chunk-DQIRSUEK.js +118 -0
- package/dist/chunk-DRKYPQNA.js +156 -0
- package/dist/chunk-DSIJEJQ7.js +88 -0
- package/dist/chunk-DY7VTAYO.js +165 -0
- package/dist/chunk-DYMVVVSU.js +227 -0
- package/dist/chunk-E6RYO4QZ.js +180 -0
- package/dist/chunk-E6RYO4QZ.js.map +1 -0
- package/dist/chunk-EDBTCEPC.js +263 -0
- package/dist/chunk-EHCUOX6R.js +264 -0
- package/dist/chunk-EIJC5DWG.js +77 -0
- package/dist/chunk-EMPVMZAB.js +49 -0
- package/dist/chunk-EMPVMZAB.js.map +1 -0
- package/dist/chunk-EVSKEIXI.js +82 -0
- package/dist/chunk-EYPRDTWI.js +225 -0
- package/dist/chunk-FQ6UW7IY.js +91 -0
- package/dist/chunk-FQ6UW7IY.js.map +1 -0
- package/dist/chunk-FTSVJIEU.js +159 -0
- package/dist/chunk-FYSYALTY.js +96 -0
- package/dist/chunk-G2TCNZYD.js +82 -0
- package/dist/chunk-G2TCNZYD.js.map +1 -0
- package/dist/chunk-GJF3CVIE.js +51 -0
- package/dist/chunk-GJRBK564.js +30 -0
- package/dist/chunk-GL5CYMGK.js +73 -0
- package/dist/chunk-GN5EZPSL.js +195 -0
- package/dist/chunk-GN5EZPSL.js.map +1 -0
- package/dist/chunk-GPUYB3ST.js +107 -0
- package/dist/chunk-GQ4I6Z32.js +297 -0
- package/dist/chunk-GUW5BUK7.js +58 -0
- package/dist/chunk-GVGJMH77.js +86 -0
- package/dist/chunk-GVGJMH77.js.map +1 -0
- package/dist/chunk-GVOMTCLS.js +203 -0
- package/dist/chunk-H2YBVBPW.js +75 -0
- package/dist/chunk-H3B5PIM3.js +125 -0
- package/dist/chunk-H3B5PIM3.js.map +1 -0
- package/dist/chunk-H3MLYZYP.js +183 -0
- package/dist/chunk-H3R6WSYU.js +173 -0
- package/dist/chunk-HBYWUSPI.js +266 -0
- package/dist/chunk-HBYWUSPI.js.map +1 -0
- package/dist/chunk-HD6ZNARS.js +89 -0
- package/dist/chunk-HD6ZNARS.js.map +1 -0
- package/dist/chunk-HEVST4CS.js +347 -0
- package/dist/chunk-HH5CNSJP.js +123 -0
- package/dist/chunk-HH5CNSJP.js.map +1 -0
- package/dist/chunk-HMHCNNNW.js +82 -0
- package/dist/chunk-HMHCNNNW.js.map +1 -0
- package/dist/chunk-HRHPRIGT.js +173 -0
- package/dist/chunk-HUKVX47W.js +63 -0
- package/dist/chunk-HWEAW4LF.js +178 -0
- package/dist/chunk-HWEAW4LF.js.map +1 -0
- package/dist/chunk-IBGX6H4J.js +121 -0
- package/dist/chunk-IFSUKWE7.js +219 -0
- package/dist/chunk-IJFAF3A7.js +64 -0
- package/dist/chunk-IL7JZKXY.js +159 -0
- package/dist/chunk-IRYSJ74J.js +176 -0
- package/dist/chunk-IRYSJ74J.js.map +1 -0
- package/dist/chunk-IVIHRZEY.js +96 -0
- package/dist/chunk-IVIHRZEY.js.map +1 -0
- package/dist/chunk-IYTBTK2M.js +170 -0
- package/dist/chunk-IYTBTK2M.js.map +1 -0
- package/dist/chunk-JCBIPBGZ.js +235 -0
- package/dist/chunk-JCBIPBGZ.js.map +1 -0
- package/dist/chunk-JGDS2SJZ.js +116 -0
- package/dist/chunk-JH7EEJEQ.js +99 -0
- package/dist/chunk-JH7EEJEQ.js.map +1 -0
- package/dist/chunk-JKNLKUCX.js +120 -0
- package/dist/chunk-JKNLKUCX.js.map +1 -0
- package/dist/chunk-JO3Y5H75.js +191 -0
- package/dist/chunk-JO3Y5H75.js.map +1 -0
- package/dist/chunk-JRODCEIG.js +194 -0
- package/dist/chunk-JWG2BTJ5.js +99 -0
- package/dist/chunk-JXTEE5G6.js +305 -0
- package/dist/chunk-JXTEE5G6.js.map +1 -0
- package/dist/chunk-KBMKALKQ.js +158 -0
- package/dist/chunk-KCQGJPLO.js +109 -0
- package/dist/chunk-KDIPBEVE.js +146 -0
- package/dist/chunk-KJ3AXHKF.js +59 -0
- package/dist/chunk-KLPTOVIX.js +52 -0
- package/dist/chunk-KLPTOVIX.js.map +1 -0
- package/dist/chunk-L4UP5VYS.js +273 -0
- package/dist/chunk-L4V2LRKH.js +161 -0
- package/dist/chunk-L7Q5BH4A.js +175 -0
- package/dist/chunk-L7SFH3ED.js +171 -0
- package/dist/chunk-L7SFH3ED.js.map +1 -0
- package/dist/chunk-LCVQOJKG.js +49 -0
- package/dist/chunk-LGZ4EIWV.js +62 -0
- package/dist/chunk-LKAVTJMC.js +148 -0
- package/dist/chunk-LKAVTJMC.js.map +1 -0
- package/dist/chunk-LKMMJKXU.js +60 -0
- package/dist/chunk-LKMMJKXU.js.map +1 -0
- package/dist/chunk-LN46DSMF.js +90 -0
- package/dist/chunk-LN46DSMF.js.map +1 -0
- package/dist/chunk-LVEG6XQL.js +182 -0
- package/dist/chunk-LVEG6XQL.js.map +1 -0
- package/dist/chunk-MAUZCOBB.js +268 -0
- package/dist/chunk-MH73XQHW.js +150 -0
- package/dist/chunk-MH73XQHW.js.map +1 -0
- package/dist/chunk-MISZGWO7.js +210 -0
- package/dist/chunk-MISZGWO7.js.map +1 -0
- package/dist/chunk-MWBHZZA4.js +148 -0
- package/dist/chunk-MYAEOSZK.js +175 -0
- package/dist/chunk-MZMGQKT3.js +203 -0
- package/dist/chunk-N3GAFIXG.js +93 -0
- package/dist/chunk-N3GAFIXG.js.map +1 -0
- package/dist/chunk-N6CSXHFJ.js +194 -0
- package/dist/chunk-NFZRZB5N.js +201 -0
- package/dist/chunk-NJHJZFX5.js +266 -0
- package/dist/chunk-NNESQ7QG.js +95 -0
- package/dist/chunk-NXX3ZQKO.js +149 -0
- package/dist/chunk-NXX3ZQKO.js.map +1 -0
- package/dist/chunk-O63WG6YJ.js +90 -0
- package/dist/chunk-OFU66DRT.js +87 -0
- package/dist/chunk-OFU66DRT.js.map +1 -0
- package/dist/chunk-OSSFOPB7.js +91 -0
- package/dist/chunk-OT5DVKXP.js +72 -0
- package/dist/chunk-OYYCANKB.js +247 -0
- package/dist/chunk-P2UIXDEG.js +136 -0
- package/dist/chunk-P2UIXDEG.js.map +1 -0
- package/dist/chunk-PAAFUJJL.js +300 -0
- package/dist/chunk-PAAFUJJL.js.map +1 -0
- package/dist/chunk-PC2MVKYW.js +176 -0
- package/dist/chunk-PEIAGNCH.js +291 -0
- package/dist/chunk-PEIAGNCH.js.map +1 -0
- package/dist/chunk-PGNJCUDA.js +201 -0
- package/dist/chunk-PGNJCUDA.js.map +1 -0
- package/dist/chunk-PKFH6C7W.js +136 -0
- package/dist/chunk-PYC4CWCQ.js +76 -0
- package/dist/chunk-PYC4CWCQ.js.map +1 -0
- package/dist/chunk-PYJI2YGJ.js +293 -0
- package/dist/chunk-PYJI2YGJ.js.map +1 -0
- package/dist/chunk-PYPFDRX4.js +88 -0
- package/dist/chunk-Q4BQYYPU.js +93 -0
- package/dist/chunk-Q4BQYYPU.js.map +1 -0
- package/dist/chunk-Q4KFGRBV.js +124 -0
- package/dist/chunk-QAP3FW33.js +240 -0
- package/dist/chunk-QG73YT6D.js +82 -0
- package/dist/chunk-QG73YT6D.js.map +1 -0
- package/dist/chunk-QJ7I5C4D.js +34 -0
- package/dist/chunk-QO6QWBDI.js +142 -0
- package/dist/chunk-QPNTUFV4.js +170 -0
- package/dist/chunk-QV5J4TE6.js +43 -0
- package/dist/chunk-QYUB2RFN.js +131 -0
- package/dist/chunk-REQAKZ64.js +240 -0
- package/dist/chunk-RMCNEKBZ.js +19 -0
- package/dist/chunk-RNIU447I.js +175 -0
- package/dist/chunk-RNIU447I.js.map +1 -0
- package/dist/chunk-RPBA4WH7.js +263 -0
- package/dist/chunk-RPBA4WH7.js.map +1 -0
- package/dist/chunk-RQCJJBPY.js +33 -0
- package/dist/chunk-RWTFZ7J5.js +225 -0
- package/dist/chunk-S52IVFMS.js +53 -0
- package/dist/chunk-SCQJV54H.js +246 -0
- package/dist/chunk-SNBCAH62.js +138 -0
- package/dist/chunk-SNTDLS4A.js +140 -0
- package/dist/chunk-SNTDLS4A.js.map +1 -0
- package/dist/chunk-SQV3HPTZ.js +249 -0
- package/dist/chunk-T3WHW7ZC.js +74 -0
- package/dist/chunk-T7LTL7OC.js +127 -0
- package/dist/chunk-TAB6AIPN.js +132 -0
- package/dist/chunk-TBF2CPJW.js +157 -0
- package/dist/chunk-TBF2CPJW.js.map +1 -0
- package/dist/chunk-TCAQOUIB.js +22 -0
- package/dist/chunk-TCAQOUIB.js.map +1 -0
- package/dist/chunk-TIQXDPIX.js +46 -0
- package/dist/chunk-TIQXDPIX.js.map +1 -0
- package/dist/chunk-TK4NUNN6.js +227 -0
- package/dist/chunk-TNDV33LP.js +165 -0
- package/dist/chunk-TOBPKY4V.js +183 -0
- package/dist/chunk-UBWYHYDR.js +98 -0
- package/dist/chunk-UBWYHYDR.js.map +1 -0
- package/dist/chunk-UCTJJYVC.js +120 -0
- package/dist/chunk-UFH3ZVVZ.js +182 -0
- package/dist/chunk-UFLTL2RJ.js +134 -0
- package/dist/chunk-UH27I2EJ.js +284 -0
- package/dist/chunk-UH27I2EJ.js.map +1 -0
- package/dist/chunk-UIKDWXHX.js +134 -0
- package/dist/chunk-UIKDWXHX.js.map +1 -0
- package/dist/chunk-UN5INW6K.js +86 -0
- package/dist/chunk-UUFHI7J5.js +41 -0
- package/dist/chunk-UXWU5NRC.js +34 -0
- package/dist/chunk-UYA2QMH6.js +144 -0
- package/dist/chunk-V26IDPL4.js +220 -0
- package/dist/chunk-V5KKBMAT.js +86 -0
- package/dist/chunk-V5KKBMAT.js.map +1 -0
- package/dist/chunk-V6FED3RS.js +196 -0
- package/dist/chunk-VMZ3JJGG.js +208 -0
- package/dist/chunk-VMZ3JJGG.js.map +1 -0
- package/dist/chunk-VNB7PFCP.js +180 -0
- package/dist/chunk-VNYP2RMN.js +38 -0
- package/dist/chunk-VU4BANG7.js +108 -0
- package/dist/chunk-WC3W36AM.js +73 -0
- package/dist/chunk-WGFIIS6Q.js +296 -0
- package/dist/chunk-WGFIIS6Q.js.map +1 -0
- package/dist/chunk-WPE5QYXD.js +28 -0
- package/dist/chunk-WPSGP3YG.js +49 -0
- package/dist/chunk-WVPA3ONO.js +125 -0
- package/dist/chunk-WXDJBSES.js +26 -0
- package/dist/chunk-WXTXCJ5V.js +97 -0
- package/dist/chunk-WYXNFH5Y.js +42 -0
- package/dist/chunk-WYXNFH5Y.js.map +1 -0
- package/dist/chunk-X4PS3E3V.js +40 -0
- package/dist/chunk-X4PS3E3V.js.map +1 -0
- package/dist/chunk-XEYLYUDM.js +147 -0
- package/dist/chunk-XNBN5CVF.js +145 -0
- package/dist/chunk-XOL2QCSP.js +273 -0
- package/dist/chunk-XYK3HXZY.js +68 -0
- package/dist/chunk-Y3HMIUH6.js +172 -0
- package/dist/chunk-Y5WNNEND.js +41 -0
- package/dist/chunk-YA4YH6WP.js +80 -0
- package/dist/chunk-YCGZSKCV.js +99 -0
- package/dist/chunk-YCGZSKCV.js.map +1 -0
- package/dist/chunk-YSFQHZ74.js +55 -0
- package/dist/chunk-YU72SS43.js +242 -0
- package/dist/chunk-YVDBOVHP.js +64 -0
- package/dist/chunk-Z2EOT77M.js +293 -0
- package/dist/chunk-Z2EOT77M.js.map +1 -0
- package/dist/chunk-ZF3JGIJD.js +155 -0
- package/dist/chunk-ZHFS5L6Q.js +291 -0
- package/dist/chunk-ZSLOXTYJ.js +62 -0
- package/dist/chunk-ZSRLRDTP.js +344 -0
- package/dist/chunk-ZSRLRDTP.js.map +1 -0
- package/dist/chunk-ZTYUKEN3.js +128 -0
- package/dist/chunk-ZTYUKEN3.js.map +1 -0
- package/dist/chunk-ZUQIOWLN.js +153 -0
- package/dist/chunk-ZUQIOWLN.js.map +1 -0
- package/dist/data-display/Alert.js +5 -3
- package/dist/data-display/AlertDialog.js +4 -1
- package/dist/data-display/AsyncStateContainer.js +10 -7
- package/dist/data-display/Avatar.js +5 -3
- package/dist/data-display/Badge.js +16 -6
- package/dist/data-display/Banner.js +5 -3
- package/dist/data-display/CardKit.js +27 -25
- package/dist/data-display/Carousel.js +8 -6
- package/dist/data-display/Chart.js +9 -7
- package/dist/data-display/Chip.js +5 -2
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +99 -97
- package/dist/data-display/EmptyState.js +3 -2
- package/dist/data-display/FleetMap.js +22 -20
- package/dist/data-display/HoverCard.js +6 -3
- package/dist/data-display/InteractiveTooltip.js +5 -2
- package/dist/data-display/LazyImage.js +7 -4
- package/dist/data-display/Lightbox.js +11 -8
- package/dist/data-display/LoadingState.js +7 -4
- package/dist/data-display/MapPreview.js +11 -9
- package/dist/data-display/Popover.js +4 -1
- package/dist/data-display/Progress.js +4 -2
- package/dist/data-display/SectionOnboarding.js +7 -4
- package/dist/data-display/Sheet.js +7 -5
- package/dist/data-display/StatCard.js +7 -4
- package/dist/data-display/Stepper.js +4 -1
- package/dist/data-display/Timeline.js +5 -2
- package/dist/data-display/TimingDiagram.js +5 -2
- package/dist/data-display/Tooltip.js +4 -1
- package/dist/feedback/ConfirmAction.js +12 -10
- package/dist/feedback/Dialog.js +6 -3
- package/dist/feedback/Modal.js +5 -2
- package/dist/feedback/NotificationStatusNotice.js +9 -7
- package/dist/feedback/Sonner.js +5 -2
- package/dist/feedback/StackedModal.js +6 -3
- package/dist/feedback/TutorialOverlay.js +5 -2
- package/dist/form/AddressAutocomplete.js +7 -7
- package/dist/form/Autocomplete.js +2 -2
- package/dist/form/Button.js +5 -3
- package/dist/form/Calendar.js +3 -3
- package/dist/form/CategorySelect.js +12 -10
- package/dist/form/CepField.js +6 -4
- package/dist/form/Checkbox.js +3 -2
- package/dist/form/CodeEditor.js +6 -4
- package/dist/form/Command.js +6 -4
- package/dist/form/DateRangePicker.js +10 -10
- package/dist/form/Input.js +5 -3
- package/dist/form/InputOTP.js +4 -2
- package/dist/form/Label.js +5 -3
- package/dist/form/Menubar.js +7 -5
- package/dist/form/PhoneInput.js +3 -3
- package/dist/form/RadioGroup.js +5 -3
- package/dist/form/RichTextEditor.js +2 -2
- package/dist/form/Select.js +5 -3
- package/dist/form/Slider.js +5 -2
- package/dist/form/Switch.js +7 -5
- package/dist/form/Textarea.js +4 -2
- package/dist/form/Toggle.js +4 -2
- package/dist/form/ToggleGroup.js +3 -1
- package/dist/form/total-form.js +31 -29
- package/dist/icons.js +6 -4
- package/dist/layout/Box.js +6 -4
- package/dist/layout/Card.js +6 -3
- package/dist/layout/ContentToolbar.js +3 -3
- package/dist/layout/Drawer.js +4 -1
- package/dist/layout/ScrollArea.js +7 -4
- package/dist/layout/SettingsLayout.js +6 -6
- package/dist/layout/Sidebar.js +4 -1
- package/dist/layout/Skeleton.js +6 -3
- package/dist/layout/Stack.js +7 -5
- package/dist/native/chunks/chunk-4ZAULIDG.js +339 -0
- package/dist/native/chunks/chunk-4ZAULIDG.js.map +1 -0
- package/dist/native/chunks/chunk-JBYDLWQA.js +295 -0
- package/dist/native/chunks/chunk-JBYDLWQA.js.map +1 -0
- package/dist/native/chunks/chunk-ONXKFA5Z.js +326 -0
- package/dist/native/chunks/chunk-ONXKFA5Z.js.map +1 -0
- package/dist/native/chunks/chunk-SZF56GVJ.js +218 -0
- package/dist/native/chunks/chunk-SZF56GVJ.js.map +1 -0
- package/dist/native/chunks/chunk-ZRQHLTYG.js +93 -0
- package/dist/native/chunks/chunk-ZRQHLTYG.js.map +1 -0
- package/dist/native/data-display/Alert.js +6 -3
- package/dist/native/data-display/Alert.js.map +1 -1
- package/dist/native/data-display/Avatar.js +7 -3
- package/dist/native/data-display/Avatar.js.map +1 -1
- package/dist/native/data-display/Badge.js +2 -8
- package/dist/native/data-display/Badge.js.map +1 -1
- package/dist/native/data-display/EmptyState.js +3 -2
- package/dist/native/data-display/ErrorState.js +2 -1
- package/dist/native/data-display/ErrorState.js.map +1 -1
- package/dist/native/data-display/FleetMap.js +4 -3
- package/dist/native/data-display/FleetMap.js.map +1 -1
- package/dist/native/feedback/Dialog.js +6 -3
- package/dist/native/feedback/Dialog.js.map +1 -1
- package/dist/native/form/Button.js +2 -1
- package/dist/native/form/Checkbox.js +4 -2
- package/dist/native/form/Checkbox.js.map +1 -1
- package/dist/native/form/Input.js +2 -1
- package/dist/native/form/Input.js.map +1 -1
- package/dist/native/form/Select.js +5 -2
- package/dist/native/form/Select.js.map +1 -1
- package/dist/native/form/Switch.js +15 -6
- package/dist/native/form/Switch.js.map +1 -1
- package/dist/native/layout/Card.js +8 -5
- package/dist/native/layout/Card.js.map +1 -1
- package/dist/native/layout/Skeleton.js +2 -1
- package/dist/native/tokens.js +30 -0
- package/dist/native/typography/Heading.js +4 -1
- package/dist/native/typography/Heading.js.map +1 -1
- package/dist/navigation/AppHeader.js +17 -15
- package/dist/navigation/Breadcrumbs.js +6 -3
- package/dist/navigation/CommandPalette.js +4 -1
- package/dist/navigation/ContextMenu.js +4 -1
- package/dist/navigation/DropdownMenu.js +4 -1
- package/dist/navigation/NavigationMenu.js +9 -6
- package/dist/navigation/Pagination.js +2 -2
- package/dist/navigation/Tabs.js +2 -2
- package/dist/provider.js +6 -4
- package/dist/social-login-button.js +12 -10
- package/dist/tokens.js +56 -2
- package/dist/types/components/data-display/Alert/Alert.d.ts.map +1 -1
- package/dist/types/components/data-display/Alert/Alert.metrics.d.ts.map +1 -1
- package/dist/types/components/data-display/Alert/Alert.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/types/components/data-display/Avatar/Avatar.metrics.d.ts.map +1 -1
- package/dist/types/components/data-display/Avatar/Avatar.view.d.ts.map +1 -1
- package/dist/types/components/data-display/Badge/Badge.metrics.d.ts +1 -1
- package/dist/types/components/data-display/Badge/Badge.metrics.d.ts.map +1 -1
- package/dist/types/components/data-display/Badge/Badge.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/Badge/Badge.variants.d.ts.map +1 -1
- package/dist/types/components/data-display/Banner/Banner.styles.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.slide.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/Chart.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/chart-internals.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/chart-renderers.d.ts.map +1 -1
- package/dist/types/components/data-display/Chip/Chip.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/card-surface.d.ts.map +1 -1
- package/dist/types/components/data-display/EmptyState/EmptyState.metrics.d.ts +1 -1
- package/dist/types/components/data-display/EmptyState/EmptyState.metrics.d.ts.map +1 -1
- package/dist/types/components/data-display/HoverCard/HoverCard.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/LazyImage/LazyImage.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/Lightbox.constants.d.ts +13 -12
- package/dist/types/components/data-display/Lightbox/Lightbox.constants.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/LightboxStage.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/LightboxThumbnails.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapDecorations.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/mapSurface.d.ts.map +1 -1
- package/dist/types/components/data-display/Popover/Popover.d.ts.map +1 -1
- package/dist/types/components/data-display/Progress/Progress.styles.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.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/Stepper/Stepper.d.ts.map +1 -1
- package/dist/types/components/data-display/Timeline/TimelineRow.d.ts.map +1 -1
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts +3 -8
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts.map +1 -1
- package/dist/types/components/data-display/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/Dialog.metrics.d.ts.map +1 -1
- package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts.map +1 -1
- package/dist/types/components/feedback/Modal/Modal.styles.d.ts.map +1 -1
- package/dist/types/components/feedback/Sonner/SonnerToast.d.ts.map +1 -1
- package/dist/types/components/feedback/StackedModal/StackedModal.styles.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/Button/Button.metrics.d.ts.map +1 -1
- package/dist/types/components/form/Button/Button.styles.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategoryPanelHead.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts +2 -2
- package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts +1 -6
- package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -1
- package/dist/types/components/form/CodeEditor/CodeEditor.monaco.d.ts +2 -1
- package/dist/types/components/form/CodeEditor/CodeEditor.monaco.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.metrics.d.ts +2 -2
- package/dist/types/components/form/Input/Input.metrics.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.styles.d.ts.map +1 -1
- package/dist/types/components/form/InputOTP/InputOTP.styles.d.ts.map +1 -1
- package/dist/types/components/form/RadioGroup/RadioGroup.styles.d.ts.map +1 -1
- package/dist/types/components/form/Select/Select.d.ts.map +1 -1
- package/dist/types/components/form/Select/Select.metrics.d.ts +1 -1
- package/dist/types/components/form/Select/Select.metrics.d.ts.map +1 -1
- package/dist/types/components/form/Slider/Slider.styles.d.ts.map +1 -1
- package/dist/types/components/form/Switch/Switch.metrics.d.ts +3 -3
- package/dist/types/components/form/Switch/Switch.metrics.d.ts.map +1 -1
- package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/Textarea.styles.d.ts.map +1 -1
- package/dist/types/components/form/Toggle/Toggle.styles.d.ts +1 -1
- package/dist/types/components/form/Toggle/Toggle.styles.d.ts.map +1 -1
- package/dist/types/components/form/ToggleGroup/ToggleGroup.d.ts.map +1 -1
- package/dist/types/components/layout/Card/Card.metrics.d.ts +6 -5
- package/dist/types/components/layout/Card/Card.metrics.d.ts.map +1 -1
- package/dist/types/components/layout/Card/Card.styles.d.ts.map +1 -1
- package/dist/types/components/layout/Drawer/Drawer.d.ts.map +1 -1
- package/dist/types/components/layout/ScrollArea/ScrollArea.styles.d.ts.map +1 -1
- package/dist/types/components/layout/Sidebar/Sidebar.d.ts.map +1 -1
- package/dist/types/components/layout/Skeleton/Skeleton.metrics.d.ts +4 -3
- package/dist/types/components/layout/Skeleton/Skeleton.metrics.d.ts.map +1 -1
- package/dist/types/components/layout/Skeleton/Skeleton.styles.d.ts.map +1 -1
- package/dist/types/components/navigation/Breadcrumbs/BreadcrumbEntry.d.ts.map +1 -1
- package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.styles.d.ts.map +1 -1
- package/dist/types/components/navigation/CommandPalette/CommandPalette.d.ts.map +1 -1
- package/dist/types/components/navigation/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/types/components/navigation/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts.map +1 -1
- package/dist/types/components/navigation/NavigationMenu/NavigationMenu.styles.d.ts.map +1 -1
- package/dist/types/components/navigation/NavigationMenu/NavigationMenuItem.d.ts.map +1 -1
- package/dist/types/components/typography/Blockquote/Blockquote.d.ts.map +1 -1
- package/dist/types/components/typography/Code/Code.d.ts.map +1 -1
- package/dist/types/components/typography/Heading/Heading.metrics.d.ts.map +1 -1
- package/dist/types/components/typography/Heading/Heading.styles.d.ts.map +1 -1
- package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.styles.d.ts.map +1 -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/social-login-button/social-login-button.d.ts.map +1 -1
- package/dist/types/tokens/ink.core.d.ts +145 -0
- package/dist/types/tokens/ink.core.d.ts.map +1 -0
- package/dist/types/tokens/ink.d.ts +130 -0
- package/dist/types/tokens/ink.d.ts.map +1 -0
- package/dist/types/tokens/scales.d.ts +2 -0
- package/dist/types/tokens/scales.d.ts.map +1 -1
- package/dist/types-native/components/data-display/Alert/Alert.metrics.d.ts.map +1 -1
- package/dist/types-native/components/data-display/Avatar/Avatar.metrics.d.ts.map +1 -1
- package/dist/types-native/components/data-display/Badge/Badge.metrics.d.ts +1 -1
- package/dist/types-native/components/data-display/Badge/Badge.metrics.d.ts.map +1 -1
- package/dist/types-native/components/data-display/EmptyState/EmptyState.metrics.d.ts +1 -1
- package/dist/types-native/components/data-display/EmptyState/EmptyState.metrics.d.ts.map +1 -1
- package/dist/types-native/components/feedback/Dialog/Dialog.metrics.d.ts.map +1 -1
- package/dist/types-native/components/form/Button/Button.metrics.d.ts.map +1 -1
- package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts +1 -6
- package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -1
- package/dist/types-native/components/form/Input/Input.metrics.d.ts +2 -2
- package/dist/types-native/components/form/Input/Input.metrics.d.ts.map +1 -1
- package/dist/types-native/components/form/Select/Select.metrics.d.ts +1 -1
- package/dist/types-native/components/form/Select/Select.metrics.d.ts.map +1 -1
- package/dist/types-native/components/form/Switch/Switch.metrics.d.ts +3 -3
- package/dist/types-native/components/form/Switch/Switch.metrics.d.ts.map +1 -1
- package/dist/types-native/components/layout/Card/Card.metrics.d.ts +6 -5
- package/dist/types-native/components/layout/Card/Card.metrics.d.ts.map +1 -1
- package/dist/types-native/components/layout/Skeleton/Skeleton.metrics.d.ts +4 -3
- package/dist/types-native/components/layout/Skeleton/Skeleton.metrics.d.ts.map +1 -1
- package/dist/types-native/components/typography/Heading/Heading.metrics.d.ts.map +1 -1
- package/dist/types-native/tokens/index.native.d.ts +1 -0
- package/dist/types-native/tokens/index.native.d.ts.map +1 -1
- package/dist/types-native/tokens/ink.core.d.ts +145 -0
- package/dist/types-native/tokens/ink.core.d.ts.map +1 -0
- package/dist/typography/Blockquote.js +4 -1
- package/dist/typography/Code.js +4 -1
- package/dist/typography/Heading.js +5 -3
- package/dist/user-avatar.js +12 -10
- package/dist/utility/AnimatedIcon.js +5 -2
- package/dist/utility/WorkflowStep.js +7 -4
- package/package.json +1 -1
- package/src/components/data-display/Alert/Alert.metrics.ts +4 -3
- package/src/components/data-display/Alert/Alert.styles.tsx +5 -7
- package/src/components/data-display/Alert/Alert.tsx +3 -1
- package/src/components/data-display/AlertDialog/AlertDialog.tsx +3 -1
- package/src/components/data-display/Avatar/Avatar.metrics.ts +4 -3
- package/src/components/data-display/Avatar/Avatar.view.tsx +5 -3
- package/src/components/data-display/Badge/Badge.metrics.ts +3 -7
- package/src/components/data-display/Badge/Badge.styles.ts +4 -6
- package/src/components/data-display/Badge/Badge.variants.ts +5 -4
- package/src/components/data-display/Banner/Banner.styles.ts +2 -1
- package/src/components/data-display/Carousel/Carousel.parts.tsx +2 -1
- package/src/components/data-display/Carousel/Carousel.slide.tsx +9 -8
- package/src/components/data-display/Chart/Chart.tsx +4 -3
- package/src/components/data-display/Chart/chart-internals.ts +11 -9
- package/src/components/data-display/Chart/chart-renderers.tsx +2 -1
- package/src/components/data-display/Chip/Chip.styles.tsx +7 -5
- package/src/components/data-display/DataViews/card-surface.ts +2 -1
- package/src/components/data-display/EmptyState/EmptyState.metrics.ts +2 -2
- package/src/components/data-display/HoverCard/HoverCard.styles.ts +2 -1
- package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.ts +17 -15
- package/src/components/data-display/LazyImage/LazyImage.tsx +2 -1
- package/src/components/data-display/Lightbox/Lightbox.constants.ts +11 -7
- package/src/components/data-display/Lightbox/Lightbox.tsx +3 -1
- package/src/components/data-display/Lightbox/LightboxStage.tsx +2 -1
- package/src/components/data-display/Lightbox/LightboxThumbnails.tsx +6 -4
- package/src/components/data-display/MapPreview/MapDecorations.tsx +2 -1
- package/src/components/data-display/MapPreview/MapMarkers.tsx +2 -1
- package/src/components/data-display/MapPreview/mapSurface.ts +14 -13
- package/src/components/data-display/Popover/Popover.tsx +2 -1
- package/src/components/data-display/Progress/Progress.styles.ts +2 -6
- package/src/components/data-display/Sheet/Sheet.parts.tsx +3 -2
- package/src/components/data-display/Sheet/Sheet.styles.ts +6 -5
- package/src/components/data-display/Stepper/Stepper.tsx +5 -4
- package/src/components/data-display/Timeline/TimelineRow.tsx +5 -4
- package/src/components/data-display/TimingDiagram/TimingDiagram.tsx +1 -1
- package/src/components/data-display/TimingDiagram/TimingDiagram.views.tsx +55 -46
- package/src/components/data-display/Tooltip/Tooltip.tsx +9 -8
- package/src/components/feedback/Dialog/Dialog.metrics.ts +5 -3
- package/src/components/feedback/Dialog/Dialog.styles.ts +3 -5
- package/src/components/feedback/Modal/Modal.styles.ts +4 -2
- package/src/components/feedback/Sonner/SonnerToast.tsx +3 -1
- package/src/components/feedback/StackedModal/StackedModal.styles.ts +8 -6
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +12 -9
- package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +10 -5
- package/src/components/form/Button/Button.metrics.ts +5 -4
- package/src/components/form/Button/Button.styles.ts +5 -9
- package/src/components/form/CategorySelect/CategoryPanelHead.tsx +3 -2
- package/src/components/form/CategorySelect/CategorySelect.styles.ts +8 -7
- package/src/components/form/Checkbox/Checkbox.metrics.ts +5 -4
- package/src/components/form/CodeEditor/CodeEditor.hooks.ts +1 -1
- package/src/components/form/CodeEditor/CodeEditor.monaco.ts +25 -23
- package/src/components/form/Input/Input.metrics.ts +4 -3
- package/src/components/form/Input/Input.styles.ts +2 -1
- package/src/components/form/InputOTP/InputOTP.styles.ts +3 -7
- package/src/components/form/RadioGroup/RadioGroup.styles.ts +6 -14
- package/src/components/form/Select/Select.metrics.ts +2 -2
- package/src/components/form/Select/Select.tsx +2 -1
- package/src/components/form/Slider/Slider.styles.ts +8 -11
- package/src/components/form/Switch/Switch.metrics.ts +11 -6
- package/src/components/form/Switch/Switch.styles.ts +5 -11
- package/src/components/form/Textarea/Textarea.styles.ts +4 -13
- package/src/components/form/Toggle/Toggle.styles.ts +7 -10
- package/src/components/form/Toggle/Toggle.tsx +1 -1
- package/src/components/form/ToggleGroup/ToggleGroup.tsx +3 -6
- package/src/components/layout/Card/Card.metrics.ts +9 -6
- package/src/components/layout/Card/Card.styles.ts +7 -6
- package/src/components/layout/Drawer/Drawer.tsx +2 -1
- package/src/components/layout/ScrollArea/ScrollArea.styles.ts +6 -5
- package/src/components/layout/Sidebar/Sidebar.tsx +2 -1
- package/src/components/layout/Skeleton/Skeleton.metrics.ts +5 -3
- package/src/components/layout/Skeleton/Skeleton.styles.ts +4 -3
- package/src/components/navigation/Breadcrumbs/BreadcrumbEntry.tsx +3 -2
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.styles.tsx +13 -12
- package/src/components/navigation/CommandPalette/CommandPalette.tsx +3 -2
- package/src/components/navigation/ContextMenu/ContextMenu.tsx +7 -6
- package/src/components/navigation/DropdownMenu/DropdownMenu.tsx +6 -5
- package/src/components/navigation/NavigationMenu/NavigationMenu.shell.tsx +6 -5
- package/src/components/navigation/NavigationMenu/NavigationMenu.styles.ts +5 -3
- package/src/components/navigation/NavigationMenu/NavigationMenuItem.tsx +7 -5
- package/src/components/typography/Blockquote/Blockquote.tsx +6 -8
- package/src/components/typography/Code/Code.tsx +5 -4
- package/src/components/typography/Heading/Heading.metrics.ts +2 -1
- package/src/components/typography/Heading/Heading.styles.ts +4 -7
- package/src/components/utility/AnimatedIcon/AnimatedIcon.styles.ts +13 -12
- package/src/components/utility/WorkflowStep/WorkflowStep.helpers.ts +6 -4
- package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +3 -2
- package/src/social-login-button/social-login-button.tsx +53 -40
- package/src/tokens/index.native.ts +2 -0
- package/src/tokens/ink.core.ts +128 -0
- package/src/tokens/ink.ts +170 -0
- package/src/tokens/scales.ts +3 -0
- package/dist/chunk-25R3ITGZ.js +0 -203
- package/dist/chunk-2SKNSQCP.js +0 -83
- package/dist/chunk-3CGLGOLO.js +0 -97
- package/dist/chunk-3EYRRVNT.js +0 -64
- package/dist/chunk-3IYB3XY2.js +0 -51
- package/dist/chunk-3P4THDBM.js +0 -26
- package/dist/chunk-3QNSTLGC.js +0 -138
- package/dist/chunk-3SJZP7KH.js +0 -264
- package/dist/chunk-3T2I6BYA.js +0 -46
- package/dist/chunk-3W2IS5RH.js +0 -139
- package/dist/chunk-3W2IS5RH.js.map +0 -1
- package/dist/chunk-4BEQADWC.js +0 -99
- package/dist/chunk-4IVOHL32.js +0 -203
- package/dist/chunk-4LMY5I5E.js +0 -85
- package/dist/chunk-4MGFUPQT.js +0 -73
- package/dist/chunk-4PIKOJZ4.js +0 -295
- package/dist/chunk-4PIKOJZ4.js.map +0 -1
- package/dist/chunk-4V7FNB7R.js +0 -108
- package/dist/chunk-4Y65XEGO.js +0 -147
- package/dist/chunk-4Y65XEGO.js.map +0 -1
- package/dist/chunk-4YMIQ5DM.js +0 -62
- package/dist/chunk-56MKBXSH.js +0 -107
- package/dist/chunk-56MKBXSH.js.map +0 -1
- package/dist/chunk-56SJYTIT.js +0 -55
- package/dist/chunk-56SJYTIT.js.map +0 -1
- package/dist/chunk-57C636A6.js +0 -79
- package/dist/chunk-5BW7NCM5.js +0 -77
- package/dist/chunk-5FA5S2YN.js +0 -125
- package/dist/chunk-5QFEHSTR.js +0 -227
- package/dist/chunk-5RHMLOIA.js +0 -200
- package/dist/chunk-5RHMLOIA.js.map +0 -1
- package/dist/chunk-5SCZZFZR.js +0 -60
- package/dist/chunk-5UWSDTZV.js +0 -176
- package/dist/chunk-5UWSDTZV.js.map +0 -1
- package/dist/chunk-5ZNU2U4D.js +0 -41
- package/dist/chunk-5ZNU2U4D.js.map +0 -1
- package/dist/chunk-62NFZR52.js +0 -225
- package/dist/chunk-65JHGT5F.js +0 -39
- package/dist/chunk-67N6TH6E.js +0 -83
- package/dist/chunk-6AN23E37.js +0 -268
- package/dist/chunk-6ANWFGLL.js +0 -183
- package/dist/chunk-6I4BQRZ7.js +0 -196
- package/dist/chunk-6I4BQRZ7.js.map +0 -1
- package/dist/chunk-6M7CMILP.js +0 -34
- package/dist/chunk-6MDBMCFK.js +0 -127
- package/dist/chunk-6Q6T3FW5.js +0 -92
- package/dist/chunk-6Q6T3FW5.js.map +0 -1
- package/dist/chunk-6V7D6GRX.js +0 -182
- package/dist/chunk-6YLAVHV4.js +0 -240
- package/dist/chunk-6YZLWM3K.js +0 -143
- package/dist/chunk-6YZLWM3K.js.map +0 -1
- package/dist/chunk-7A3G4W52.js +0 -64
- package/dist/chunk-7FOOLP5H.js +0 -304
- package/dist/chunk-7FOOLP5H.js.map +0 -1
- package/dist/chunk-7FWXG2KF.js +0 -165
- package/dist/chunk-7N4V3ARN.js +0 -53
- package/dist/chunk-7TSQNYQO.js +0 -134
- package/dist/chunk-7VN7LFBA.js +0 -80
- package/dist/chunk-7WP2HRTW.js +0 -220
- package/dist/chunk-7WP2HRTW.js.map +0 -1
- package/dist/chunk-AIRWM7KK.js +0 -194
- package/dist/chunk-AJVYJZHI.js +0 -38
- package/dist/chunk-AJXTVRQF.js +0 -90
- package/dist/chunk-ANNDLY3M.js +0 -156
- package/dist/chunk-AZ4LLAAJ.js +0 -297
- package/dist/chunk-B64PPHUR.js +0 -137
- package/dist/chunk-B64PPHUR.js.map +0 -1
- package/dist/chunk-B6IURHSZ.js +0 -215
- package/dist/chunk-B6IURHSZ.js.map +0 -1
- package/dist/chunk-BEBLRL5D.js +0 -177
- package/dist/chunk-BEBLRL5D.js.map +0 -1
- package/dist/chunk-BM4CGQED.js +0 -193
- package/dist/chunk-BM4ZPBBT.js +0 -88
- package/dist/chunk-BRMGHMYB.js +0 -45
- package/dist/chunk-BRMGHMYB.js.map +0 -1
- package/dist/chunk-BTIBFR5L.js +0 -240
- package/dist/chunk-BWB2MVWP.js +0 -301
- package/dist/chunk-BWB2MVWP.js.map +0 -1
- package/dist/chunk-C423YJGN.js +0 -116
- package/dist/chunk-C53C7C2X.js +0 -74
- package/dist/chunk-CDNJOA3N.js +0 -264
- package/dist/chunk-CDNJOA3N.js.map +0 -1
- package/dist/chunk-CJL5D2IT.js +0 -280
- package/dist/chunk-CJL5D2IT.js.map +0 -1
- package/dist/chunk-CMN26J5Y.js +0 -219
- package/dist/chunk-CMTFAYDY.js +0 -90
- package/dist/chunk-CMTFAYDY.js.map +0 -1
- package/dist/chunk-CPNSVIIB.js +0 -103
- package/dist/chunk-CR4KC2K5.js +0 -180
- package/dist/chunk-CR5YQ3SR.js +0 -111
- package/dist/chunk-CR5YQ3SR.js.map +0 -1
- package/dist/chunk-CSWNPIQD.js +0 -107
- package/dist/chunk-CZ5ZL63A.js +0 -247
- package/dist/chunk-CZJLWCEG.js +0 -86
- package/dist/chunk-DBS74X2C.js +0 -193
- package/dist/chunk-DBS74X2C.js.map +0 -1
- package/dist/chunk-DIWC6AQL.js +0 -173
- package/dist/chunk-DO3UNZAU.js +0 -269
- package/dist/chunk-DO3UNZAU.js.map +0 -1
- package/dist/chunk-DRADVLHZ.js +0 -34
- package/dist/chunk-DRADVLHZ.js.map +0 -1
- package/dist/chunk-E46PG577.js +0 -78
- package/dist/chunk-E46PG577.js.map +0 -1
- package/dist/chunk-EDJDASXE.js +0 -109
- package/dist/chunk-EE44OC4M.js +0 -131
- package/dist/chunk-EEAQBPOW.js +0 -59
- package/dist/chunk-EPNUVSNK.js +0 -161
- package/dist/chunk-EUHVBR3J.js +0 -96
- package/dist/chunk-EUHVBR3J.js.map +0 -1
- package/dist/chunk-FA3TYWX2.js +0 -118
- package/dist/chunk-FAITHWIO.js +0 -73
- package/dist/chunk-FAITHWIO.js.map +0 -1
- package/dist/chunk-FAQO245K.js +0 -121
- package/dist/chunk-FAQO245K.js.map +0 -1
- package/dist/chunk-FATRMNVN.js +0 -194
- package/dist/chunk-FGKKLHKY.js +0 -146
- package/dist/chunk-FGKKLHKY.js.map +0 -1
- package/dist/chunk-FHA4G5XF.js +0 -165
- package/dist/chunk-FPWB5ILF.js +0 -79
- package/dist/chunk-FRW4SYZD.js +0 -79
- package/dist/chunk-FRW4SYZD.js.map +0 -1
- package/dist/chunk-FTCCYWF4.js +0 -242
- package/dist/chunk-FYFIND6O.js +0 -227
- package/dist/chunk-FYLCSCMR.js +0 -166
- package/dist/chunk-FYLCSCMR.js.map +0 -1
- package/dist/chunk-G3KSCJS7.js +0 -181
- package/dist/chunk-G73SDZ3T.js +0 -41
- package/dist/chunk-G76H5PEM.js +0 -249
- package/dist/chunk-GCWF5AQE.js +0 -58
- package/dist/chunk-GGNHZ4GA.js +0 -174
- package/dist/chunk-GGNHZ4GA.js.map +0 -1
- package/dist/chunk-GJKBWVU2.js +0 -63
- package/dist/chunk-GT7C6TSM.js +0 -170
- package/dist/chunk-GXEB6MJA.js +0 -57
- package/dist/chunk-GXEB6MJA.js.map +0 -1
- package/dist/chunk-GY6KNVMI.js +0 -39
- package/dist/chunk-GY6KNVMI.js.map +0 -1
- package/dist/chunk-HJOABXKN.js +0 -43
- package/dist/chunk-IDHZHOZW.js +0 -285
- package/dist/chunk-IDHZHOZW.js.map +0 -1
- package/dist/chunk-IE7ISTLQ.js +0 -167
- package/dist/chunk-IFAEKIT2.js +0 -273
- package/dist/chunk-IGO5DC7D.js +0 -159
- package/dist/chunk-IM76SSXI.js +0 -173
- package/dist/chunk-IOEF32HX.js +0 -88
- package/dist/chunk-IRLUM7XB.js +0 -81
- package/dist/chunk-ISW5K72V.js +0 -230
- package/dist/chunk-IZBDSPTW.js +0 -49
- package/dist/chunk-J6CSPDC7.js +0 -75
- package/dist/chunk-JB67KPGM.js +0 -64
- package/dist/chunk-JBMBFYFA.js +0 -94
- package/dist/chunk-JDY37EML.js +0 -246
- package/dist/chunk-JN3PGXRJ.js +0 -225
- package/dist/chunk-JO5GSRYQ.js +0 -49
- package/dist/chunk-JPXG7IFW.js +0 -34
- package/dist/chunk-JRHZZTVV.js +0 -241
- package/dist/chunk-JXNT5TUP.js +0 -142
- package/dist/chunk-JYETSTOQ.js +0 -82
- package/dist/chunk-JYETSTOQ.js.map +0 -1
- package/dist/chunk-JZJOAGBG.js +0 -183
- package/dist/chunk-K6FCXPTS.js +0 -86
- package/dist/chunk-K6FCXPTS.js.map +0 -1
- package/dist/chunk-K7BBMXY7.js +0 -197
- package/dist/chunk-K7BBMXY7.js.map +0 -1
- package/dist/chunk-KAPKMVKR.js +0 -41
- package/dist/chunk-KCBAPMLH.js +0 -147
- package/dist/chunk-KJHQYPKT.js +0 -73
- package/dist/chunk-KMUSTQA6.js +0 -148
- package/dist/chunk-KSLNO5NG.js +0 -150
- package/dist/chunk-KSLNO5NG.js.map +0 -1
- package/dist/chunk-L4D6YLLU.js +0 -118
- package/dist/chunk-L4D6YLLU.js.map +0 -1
- package/dist/chunk-LB2G6SD6.js +0 -275
- package/dist/chunk-LB2G6SD6.js.map +0 -1
- package/dist/chunk-LE7IHEU4.js +0 -41
- package/dist/chunk-LGLHU55A.js +0 -340
- package/dist/chunk-LGLHU55A.js.map +0 -1
- package/dist/chunk-LLR42S6B.js +0 -223
- package/dist/chunk-LNOYDMFD.js +0 -184
- package/dist/chunk-LOLOFY4O.js +0 -172
- package/dist/chunk-LTEXWGK6.js +0 -176
- package/dist/chunk-LUMF63BM.js +0 -274
- package/dist/chunk-LUMF63BM.js.map +0 -1
- package/dist/chunk-LWLVWM34.js +0 -28
- package/dist/chunk-LYSSO6WC.js +0 -132
- package/dist/chunk-LZHXF66R.js +0 -127
- package/dist/chunk-MDR4WJOV.js +0 -115
- package/dist/chunk-MDR4WJOV.js.map +0 -1
- package/dist/chunk-MG73KW54.js +0 -266
- package/dist/chunk-MQZDTGGJ.js +0 -153
- package/dist/chunk-MQZDTGGJ.js.map +0 -1
- package/dist/chunk-MYYGXSXF.js +0 -177
- package/dist/chunk-MYYGXSXF.js.map +0 -1
- package/dist/chunk-N74IYYRU.js +0 -183
- package/dist/chunk-NARIG5FL.js +0 -98
- package/dist/chunk-NARIG5FL.js.map +0 -1
- package/dist/chunk-NFGVP3HN.js +0 -88
- package/dist/chunk-NFGVP3HN.js.map +0 -1
- package/dist/chunk-NKIAP6ZL.js +0 -173
- package/dist/chunk-NM3E27GK.js +0 -292
- package/dist/chunk-NM3E27GK.js.map +0 -1
- package/dist/chunk-NNAACCN2.js +0 -19
- package/dist/chunk-NU3EQX2L.js +0 -144
- package/dist/chunk-O4PKQ46C.js +0 -273
- package/dist/chunk-OFVYNUYV.js +0 -25
- package/dist/chunk-OGPOTZAU.js +0 -232
- package/dist/chunk-OGPOTZAU.js.map +0 -1
- package/dist/chunk-OZZNC4YU.js +0 -100
- package/dist/chunk-OZZNC4YU.js.map +0 -1
- package/dist/chunk-P3L42CBB.js +0 -121
- package/dist/chunk-P7GH32WG.js +0 -124
- package/dist/chunk-P7GH32WG.js.map +0 -1
- package/dist/chunk-PEWNWKDI.js +0 -91
- package/dist/chunk-PEWNWKDI.js.map +0 -1
- package/dist/chunk-PH5XJGKJ.js +0 -91
- package/dist/chunk-PI5G6N6Q.js +0 -157
- package/dist/chunk-PJ7NKK33.js +0 -124
- package/dist/chunk-PLEZDLVU.js +0 -30
- package/dist/chunk-PPTF5X7K.js +0 -305
- package/dist/chunk-PTP3CZL4.js +0 -133
- package/dist/chunk-PTP3CZL4.js.map +0 -1
- package/dist/chunk-Q444G5X7.js +0 -192
- package/dist/chunk-Q444G5X7.js.map +0 -1
- package/dist/chunk-Q725MACF.js +0 -78
- package/dist/chunk-Q725MACF.js.map +0 -1
- package/dist/chunk-QNHNFU7G.js +0 -134
- package/dist/chunk-QQS3GQYS.js +0 -107
- package/dist/chunk-QRUCR4YZ.js +0 -217
- package/dist/chunk-QRUCR4YZ.js.map +0 -1
- package/dist/chunk-QTZ7I6QS.js +0 -137
- package/dist/chunk-QTZ7I6QS.js.map +0 -1
- package/dist/chunk-QWCMLOYC.js +0 -21
- package/dist/chunk-QYNCPS5W.js +0 -62
- package/dist/chunk-R2G4MVPY.js +0 -61
- package/dist/chunk-R67J6JKT.js +0 -127
- package/dist/chunk-RAWQMBX6.js +0 -77
- package/dist/chunk-RAWQMBX6.js.map +0 -1
- package/dist/chunk-RGCRXDGZ.js +0 -169
- package/dist/chunk-RGCRXDGZ.js.map +0 -1
- package/dist/chunk-RGKGBYT2.js +0 -289
- package/dist/chunk-RGKGBYT2.js.map +0 -1
- package/dist/chunk-RGMSTQ2J.js +0 -57
- package/dist/chunk-RJXRZW66.js +0 -95
- package/dist/chunk-RKCS6K36.js +0 -48
- package/dist/chunk-RKCS6K36.js.map +0 -1
- package/dist/chunk-RPMAWM6F.js +0 -82
- package/dist/chunk-RRX6ZTNX.js +0 -59
- package/dist/chunk-SBS7H6WY.js +0 -181
- package/dist/chunk-SBS7H6WY.js.map +0 -1
- package/dist/chunk-SGGDMTKP.js +0 -347
- package/dist/chunk-SLODUPES.js +0 -291
- package/dist/chunk-SMCLG2RA.js +0 -153
- package/dist/chunk-SMCLG2RA.js.map +0 -1
- package/dist/chunk-SVFA75FO.js +0 -80
- package/dist/chunk-SVXHKIGJ.js +0 -201
- package/dist/chunk-TBRAZK3Y.js +0 -175
- package/dist/chunk-TJT4NSFN.js +0 -41
- package/dist/chunk-TK36COCP.js +0 -16
- package/dist/chunk-TO2NXDZA.js +0 -86
- package/dist/chunk-TO2NXDZA.js.map +0 -1
- package/dist/chunk-TTVKL3RD.js +0 -220
- package/dist/chunk-TUYN6XZI.js +0 -33
- package/dist/chunk-TXHJX2NG.js +0 -108
- package/dist/chunk-U437KFDI.js +0 -206
- package/dist/chunk-U437KFDI.js.map +0 -1
- package/dist/chunk-U7Q2Y6WG.js +0 -196
- package/dist/chunk-UJE7IKQ4.js +0 -96
- package/dist/chunk-UMQN3BVV.js +0 -315
- package/dist/chunk-UMQN3BVV.js.map +0 -1
- package/dist/chunk-UQNB2W2I.js +0 -263
- package/dist/chunk-URWNRC2P.js +0 -158
- package/dist/chunk-VF2XC76U.js +0 -191
- package/dist/chunk-VF2XC76U.js.map +0 -1
- package/dist/chunk-VM3HRSAU.js +0 -79
- package/dist/chunk-VM3HRSAU.js.map +0 -1
- package/dist/chunk-VQBINZB7.js +0 -322
- package/dist/chunk-VQBINZB7.js.map +0 -1
- package/dist/chunk-VXGCB3GY.js +0 -81
- package/dist/chunk-VXGCB3GY.js.map +0 -1
- package/dist/chunk-W3FAKT3D.js +0 -167
- package/dist/chunk-W3FAKT3D.js.map +0 -1
- package/dist/chunk-W7HSGZGW.js +0 -155
- package/dist/chunk-WIXUMFU7.js +0 -167
- package/dist/chunk-WIXUMFU7.js.map +0 -1
- package/dist/chunk-WJH743NG.js +0 -131
- package/dist/chunk-WJH743NG.js.map +0 -1
- package/dist/chunk-X2IJI2BG.js +0 -72
- package/dist/chunk-X2QLWUND.js +0 -145
- package/dist/chunk-X4XYUNRL.js +0 -55
- package/dist/chunk-XCP5L665.js +0 -22
- package/dist/chunk-XCP5L665.js.map +0 -1
- package/dist/chunk-XI2BXMBX.js +0 -146
- package/dist/chunk-XJKMH3RX.js +0 -233
- package/dist/chunk-XJKMH3RX.js.map +0 -1
- package/dist/chunk-XPOQZI5X.js +0 -120
- package/dist/chunk-XV2TDULR.js +0 -85
- package/dist/chunk-XV2TDULR.js.map +0 -1
- package/dist/chunk-XYXTEGIM.js +0 -67
- package/dist/chunk-Y3ER5CJ2.js +0 -293
- package/dist/chunk-Y3ER5CJ2.js.map +0 -1
- package/dist/chunk-Y3IGYWGN.js +0 -171
- package/dist/chunk-Y3IGYWGN.js.map +0 -1
- package/dist/chunk-Y5UCOBQN.js +0 -37
- package/dist/chunk-YJ4HM25H.js +0 -198
- package/dist/chunk-YJ4HM25H.js.map +0 -1
- package/dist/chunk-YKACSEES.js +0 -153
- package/dist/chunk-YKACSEES.js.map +0 -1
- package/dist/chunk-YNWAMTOT.js +0 -259
- package/dist/chunk-YNWAMTOT.js.map +0 -1
- package/dist/chunk-YRUCIKPO.js +0 -159
- package/dist/chunk-Z6DULXSF.js +0 -261
- package/dist/chunk-Z6DULXSF.js.map +0 -1
- package/dist/chunk-ZA4U5GDU.js +0 -68
- package/dist/chunk-ZADOIITM.js +0 -166
- package/dist/chunk-ZADOIITM.js.map +0 -1
- package/dist/chunk-ZB6BX4GO.js +0 -175
- package/dist/chunk-ZDWU52DJ.js +0 -116
- package/dist/chunk-ZNJ4RLZT.js +0 -136
- package/dist/chunk-ZO27CDGB.js +0 -204
- package/dist/chunk-ZO27CDGB.js.map +0 -1
- package/dist/chunk-ZOW2CCMO.js +0 -88
- package/dist/chunk-ZOW2CCMO.js.map +0 -1
- package/dist/chunk-ZPIMPOHV.js +0 -187
- package/dist/chunk-ZSXV3ERD.js +0 -82
- package/dist/chunk-ZSXV3ERD.js.map +0 -1
- package/dist/chunk-ZTZ6S5Q6.js +0 -86
- package/dist/native/chunks/chunk-335WGKE6.js +0 -336
- package/dist/native/chunks/chunk-335WGKE6.js.map +0 -1
- package/dist/native/chunks/chunk-4KWFRDI2.js +0 -215
- package/dist/native/chunks/chunk-4KWFRDI2.js.map +0 -1
- package/dist/native/chunks/chunk-KIG4KY4W.js +0 -322
- package/dist/native/chunks/chunk-KIG4KY4W.js.map +0 -1
- package/dist/native/chunks/chunk-OI57L6WL.js +0 -292
- package/dist/native/chunks/chunk-OI57L6WL.js.map +0 -1
- /package/dist/{chunk-Y5UCOBQN.js.map → chunk-27DLUKDF.js.map} +0 -0
- /package/dist/{chunk-PPTF5X7K.js.map → chunk-2CK7SHQQ.js.map} +0 -0
- /package/dist/{chunk-DIWC6AQL.js.map → chunk-2KLT22S3.js.map} +0 -0
- /package/dist/{chunk-ZTZ6S5Q6.js.map → chunk-2TJOCI54.js.map} +0 -0
- /package/dist/{chunk-ZPIMPOHV.js.map → chunk-2XGGHYEA.js.map} +0 -0
- /package/dist/{chunk-ISW5K72V.js.map → chunk-2ZRZTGWP.js.map} +0 -0
- /package/dist/{chunk-57C636A6.js.map → chunk-37DCYIT5.js.map} +0 -0
- /package/dist/{chunk-6MDBMCFK.js.map → chunk-3EDZU2H7.js.map} +0 -0
- /package/dist/{chunk-2SKNSQCP.js.map → chunk-3LNKBZTG.js.map} +0 -0
- /package/dist/{chunk-XYXTEGIM.js.map → chunk-46ADSOCF.js.map} +0 -0
- /package/dist/{chunk-CPNSVIIB.js.map → chunk-4M7QHSKY.js.map} +0 -0
- /package/dist/{chunk-4LMY5I5E.js.map → chunk-4N33SWTW.js.map} +0 -0
- /package/dist/{chunk-RGMSTQ2J.js.map → chunk-5264DI34.js.map} +0 -0
- /package/dist/{chunk-PI5G6N6Q.js.map → chunk-5QTMJ2RU.js.map} +0 -0
- /package/dist/{chunk-JBMBFYFA.js.map → chunk-5VWYCVXF.js.map} +0 -0
- /package/dist/{chunk-ZDWU52DJ.js.map → chunk-67QSLTT7.js.map} +0 -0
- /package/dist/{chunk-65JHGT5F.js.map → chunk-6MSSCBI3.js.map} +0 -0
- /package/dist/{chunk-JB67KPGM.js.map → chunk-6Q5GZUQ5.js.map} +0 -0
- /package/dist/{chunk-CSWNPIQD.js.map → chunk-7E4X4J2M.js.map} +0 -0
- /package/dist/{chunk-7VN7LFBA.js.map → chunk-7F7TTOYN.js.map} +0 -0
- /package/dist/{chunk-QWCMLOYC.js.map → chunk-7JSQQZUH.js.map} +0 -0
- /package/dist/{chunk-LLR42S6B.js.map → chunk-7VIINULX.js.map} +0 -0
- /package/dist/{chunk-3T2I6BYA.js.map → chunk-7WK2L3ZO.js.map} +0 -0
- /package/dist/{chunk-JZJOAGBG.js.map → chunk-7Z2UU2FQ.js.map} +0 -0
- /package/dist/{chunk-5SCZZFZR.js.map → chunk-A2DYU5WN.js.map} +0 -0
- /package/dist/{chunk-TK36COCP.js.map → chunk-A4OCNJWW.js.map} +0 -0
- /package/dist/{chunk-7TSQNYQO.js.map → chunk-AKPRFFAI.js.map} +0 -0
- /package/dist/{chunk-JRHZZTVV.js.map → chunk-AL6Z2JYR.js.map} +0 -0
- /package/dist/{chunk-IE7ISTLQ.js.map → chunk-B443IIQG.js.map} +0 -0
- /package/dist/{chunk-TXHJX2NG.js.map → chunk-BGYLL467.js.map} +0 -0
- /package/dist/{chunk-67N6TH6E.js.map → chunk-BHOSWJDL.js.map} +0 -0
- /package/dist/{chunk-G3KSCJS7.js.map → chunk-BQGT77IQ.js.map} +0 -0
- /package/dist/{chunk-FPWB5ILF.js.map → chunk-BR7RM3WR.js.map} +0 -0
- /package/dist/{chunk-BM4CGQED.js.map → chunk-COK5VOXC.js.map} +0 -0
- /package/dist/{chunk-EEAQBPOW.js.map → chunk-CRDOMIEG.js.map} +0 -0
- /package/dist/{chunk-IRLUM7XB.js.map → chunk-CUN5RJTH.js.map} +0 -0
- /package/dist/{chunk-OFVYNUYV.js.map → chunk-CXMVNYBY.js.map} +0 -0
- /package/dist/{chunk-LNOYDMFD.js.map → chunk-CY6HHLYM.js.map} +0 -0
- /package/dist/{chunk-KAPKMVKR.js.map → chunk-D6RKXNLE.js.map} +0 -0
- /package/dist/{chunk-LZHXF66R.js.map → chunk-DBCITC4P.js.map} +0 -0
- /package/dist/{chunk-G73SDZ3T.js.map → chunk-DELT2W42.js.map} +0 -0
- /package/dist/{chunk-R2G4MVPY.js.map → chunk-DJ2KYLHE.js.map} +0 -0
- /package/dist/{chunk-FA3TYWX2.js.map → chunk-DQIRSUEK.js.map} +0 -0
- /package/dist/{chunk-ANNDLY3M.js.map → chunk-DRKYPQNA.js.map} +0 -0
- /package/dist/{chunk-BM4ZPBBT.js.map → chunk-DSIJEJQ7.js.map} +0 -0
- /package/dist/{chunk-FHA4G5XF.js.map → chunk-DY7VTAYO.js.map} +0 -0
- /package/dist/{chunk-FYFIND6O.js.map → chunk-DYMVVVSU.js.map} +0 -0
- /package/dist/{chunk-UQNB2W2I.js.map → chunk-EDBTCEPC.js.map} +0 -0
- /package/dist/{chunk-3SJZP7KH.js.map → chunk-EHCUOX6R.js.map} +0 -0
- /package/dist/{chunk-5BW7NCM5.js.map → chunk-EIJC5DWG.js.map} +0 -0
- /package/dist/{chunk-RPMAWM6F.js.map → chunk-EVSKEIXI.js.map} +0 -0
- /package/dist/{chunk-62NFZR52.js.map → chunk-EYPRDTWI.js.map} +0 -0
- /package/dist/{chunk-IGO5DC7D.js.map → chunk-FTSVJIEU.js.map} +0 -0
- /package/dist/{chunk-UJE7IKQ4.js.map → chunk-FYSYALTY.js.map} +0 -0
- /package/dist/{chunk-3IYB3XY2.js.map → chunk-GJF3CVIE.js.map} +0 -0
- /package/dist/{chunk-PLEZDLVU.js.map → chunk-GJRBK564.js.map} +0 -0
- /package/dist/{chunk-KJHQYPKT.js.map → chunk-GL5CYMGK.js.map} +0 -0
- /package/dist/{chunk-QQS3GQYS.js.map → chunk-GPUYB3ST.js.map} +0 -0
- /package/dist/{chunk-AZ4LLAAJ.js.map → chunk-GQ4I6Z32.js.map} +0 -0
- /package/dist/{chunk-GCWF5AQE.js.map → chunk-GUW5BUK7.js.map} +0 -0
- /package/dist/{chunk-4IVOHL32.js.map → chunk-GVOMTCLS.js.map} +0 -0
- /package/dist/{chunk-J6CSPDC7.js.map → chunk-H2YBVBPW.js.map} +0 -0
- /package/dist/{chunk-N74IYYRU.js.map → chunk-H3MLYZYP.js.map} +0 -0
- /package/dist/{chunk-NKIAP6ZL.js.map → chunk-H3R6WSYU.js.map} +0 -0
- /package/dist/{chunk-SGGDMTKP.js.map → chunk-HEVST4CS.js.map} +0 -0
- /package/dist/{chunk-IM76SSXI.js.map → chunk-HRHPRIGT.js.map} +0 -0
- /package/dist/{chunk-GJKBWVU2.js.map → chunk-HUKVX47W.js.map} +0 -0
- /package/dist/{chunk-P3L42CBB.js.map → chunk-IBGX6H4J.js.map} +0 -0
- /package/dist/{chunk-CMN26J5Y.js.map → chunk-IFSUKWE7.js.map} +0 -0
- /package/dist/{chunk-7A3G4W52.js.map → chunk-IJFAF3A7.js.map} +0 -0
- /package/dist/{chunk-YRUCIKPO.js.map → chunk-IL7JZKXY.js.map} +0 -0
- /package/dist/{chunk-C423YJGN.js.map → chunk-JGDS2SJZ.js.map} +0 -0
- /package/dist/{chunk-FATRMNVN.js.map → chunk-JRODCEIG.js.map} +0 -0
- /package/dist/{chunk-4BEQADWC.js.map → chunk-JWG2BTJ5.js.map} +0 -0
- /package/dist/{chunk-URWNRC2P.js.map → chunk-KBMKALKQ.js.map} +0 -0
- /package/dist/{chunk-EDJDASXE.js.map → chunk-KCQGJPLO.js.map} +0 -0
- /package/dist/{chunk-XI2BXMBX.js.map → chunk-KDIPBEVE.js.map} +0 -0
- /package/dist/{chunk-RRX6ZTNX.js.map → chunk-KJ3AXHKF.js.map} +0 -0
- /package/dist/{chunk-O4PKQ46C.js.map → chunk-L4UP5VYS.js.map} +0 -0
- /package/dist/{chunk-EPNUVSNK.js.map → chunk-L4V2LRKH.js.map} +0 -0
- /package/dist/{chunk-ZB6BX4GO.js.map → chunk-L7Q5BH4A.js.map} +0 -0
- /package/dist/{chunk-JO5GSRYQ.js.map → chunk-LCVQOJKG.js.map} +0 -0
- /package/dist/{chunk-QYNCPS5W.js.map → chunk-LGZ4EIWV.js.map} +0 -0
- /package/dist/{chunk-6AN23E37.js.map → chunk-MAUZCOBB.js.map} +0 -0
- /package/dist/{chunk-KMUSTQA6.js.map → chunk-MWBHZZA4.js.map} +0 -0
- /package/dist/{chunk-TBRAZK3Y.js.map → chunk-MYAEOSZK.js.map} +0 -0
- /package/dist/{chunk-25R3ITGZ.js.map → chunk-MZMGQKT3.js.map} +0 -0
- /package/dist/{chunk-AIRWM7KK.js.map → chunk-N6CSXHFJ.js.map} +0 -0
- /package/dist/{chunk-SVXHKIGJ.js.map → chunk-NFZRZB5N.js.map} +0 -0
- /package/dist/{chunk-MG73KW54.js.map → chunk-NJHJZFX5.js.map} +0 -0
- /package/dist/{chunk-RJXRZW66.js.map → chunk-NNESQ7QG.js.map} +0 -0
- /package/dist/{chunk-AJXTVRQF.js.map → chunk-O63WG6YJ.js.map} +0 -0
- /package/dist/{chunk-PH5XJGKJ.js.map → chunk-OSSFOPB7.js.map} +0 -0
- /package/dist/{chunk-X2IJI2BG.js.map → chunk-OT5DVKXP.js.map} +0 -0
- /package/dist/{chunk-CZ5ZL63A.js.map → chunk-OYYCANKB.js.map} +0 -0
- /package/dist/{chunk-LTEXWGK6.js.map → chunk-PC2MVKYW.js.map} +0 -0
- /package/dist/{chunk-ZNJ4RLZT.js.map → chunk-PKFH6C7W.js.map} +0 -0
- /package/dist/{chunk-IOEF32HX.js.map → chunk-PYPFDRX4.js.map} +0 -0
- /package/dist/{chunk-PJ7NKK33.js.map → chunk-Q4KFGRBV.js.map} +0 -0
- /package/dist/{chunk-6YLAVHV4.js.map → chunk-QAP3FW33.js.map} +0 -0
- /package/dist/{chunk-JPXG7IFW.js.map → chunk-QJ7I5C4D.js.map} +0 -0
- /package/dist/{chunk-JXNT5TUP.js.map → chunk-QO6QWBDI.js.map} +0 -0
- /package/dist/{chunk-GT7C6TSM.js.map → chunk-QPNTUFV4.js.map} +0 -0
- /package/dist/{chunk-HJOABXKN.js.map → chunk-QV5J4TE6.js.map} +0 -0
- /package/dist/{chunk-EE44OC4M.js.map → chunk-QYUB2RFN.js.map} +0 -0
- /package/dist/{chunk-BTIBFR5L.js.map → chunk-REQAKZ64.js.map} +0 -0
- /package/dist/{chunk-NNAACCN2.js.map → chunk-RMCNEKBZ.js.map} +0 -0
- /package/dist/{chunk-TUYN6XZI.js.map → chunk-RQCJJBPY.js.map} +0 -0
- /package/dist/{chunk-JN3PGXRJ.js.map → chunk-RWTFZ7J5.js.map} +0 -0
- /package/dist/{chunk-7N4V3ARN.js.map → chunk-S52IVFMS.js.map} +0 -0
- /package/dist/{chunk-JDY37EML.js.map → chunk-SCQJV54H.js.map} +0 -0
- /package/dist/{chunk-3QNSTLGC.js.map → chunk-SNBCAH62.js.map} +0 -0
- /package/dist/{chunk-G76H5PEM.js.map → chunk-SQV3HPTZ.js.map} +0 -0
- /package/dist/{chunk-C53C7C2X.js.map → chunk-T3WHW7ZC.js.map} +0 -0
- /package/dist/{chunk-R67J6JKT.js.map → chunk-T7LTL7OC.js.map} +0 -0
- /package/dist/{chunk-LYSSO6WC.js.map → chunk-TAB6AIPN.js.map} +0 -0
- /package/dist/{chunk-5QFEHSTR.js.map → chunk-TK4NUNN6.js.map} +0 -0
- /package/dist/{chunk-7FWXG2KF.js.map → chunk-TNDV33LP.js.map} +0 -0
- /package/dist/{chunk-6ANWFGLL.js.map → chunk-TOBPKY4V.js.map} +0 -0
- /package/dist/{chunk-XPOQZI5X.js.map → chunk-UCTJJYVC.js.map} +0 -0
- /package/dist/{chunk-6V7D6GRX.js.map → chunk-UFH3ZVVZ.js.map} +0 -0
- /package/dist/{chunk-QNHNFU7G.js.map → chunk-UFLTL2RJ.js.map} +0 -0
- /package/dist/{chunk-CZJLWCEG.js.map → chunk-UN5INW6K.js.map} +0 -0
- /package/dist/{chunk-LE7IHEU4.js.map → chunk-UUFHI7J5.js.map} +0 -0
- /package/dist/{chunk-6M7CMILP.js.map → chunk-UXWU5NRC.js.map} +0 -0
- /package/dist/{chunk-NU3EQX2L.js.map → chunk-UYA2QMH6.js.map} +0 -0
- /package/dist/{chunk-TTVKL3RD.js.map → chunk-V26IDPL4.js.map} +0 -0
- /package/dist/{chunk-U7Q2Y6WG.js.map → chunk-V6FED3RS.js.map} +0 -0
- /package/dist/{chunk-CR4KC2K5.js.map → chunk-VNB7PFCP.js.map} +0 -0
- /package/dist/{chunk-AJVYJZHI.js.map → chunk-VNYP2RMN.js.map} +0 -0
- /package/dist/{chunk-4V7FNB7R.js.map → chunk-VU4BANG7.js.map} +0 -0
- /package/dist/{chunk-4MGFUPQT.js.map → chunk-WC3W36AM.js.map} +0 -0
- /package/dist/{chunk-LWLVWM34.js.map → chunk-WPE5QYXD.js.map} +0 -0
- /package/dist/{chunk-IZBDSPTW.js.map → chunk-WPSGP3YG.js.map} +0 -0
- /package/dist/{chunk-5FA5S2YN.js.map → chunk-WVPA3ONO.js.map} +0 -0
- /package/dist/{chunk-3P4THDBM.js.map → chunk-WXDJBSES.js.map} +0 -0
- /package/dist/{chunk-3CGLGOLO.js.map → chunk-WXTXCJ5V.js.map} +0 -0
- /package/dist/{chunk-KCBAPMLH.js.map → chunk-XEYLYUDM.js.map} +0 -0
- /package/dist/{chunk-X2QLWUND.js.map → chunk-XNBN5CVF.js.map} +0 -0
- /package/dist/{chunk-IFAEKIT2.js.map → chunk-XOL2QCSP.js.map} +0 -0
- /package/dist/{chunk-ZA4U5GDU.js.map → chunk-XYK3HXZY.js.map} +0 -0
- /package/dist/{chunk-LOLOFY4O.js.map → chunk-Y3HMIUH6.js.map} +0 -0
- /package/dist/{chunk-TJT4NSFN.js.map → chunk-Y5WNNEND.js.map} +0 -0
- /package/dist/{chunk-SVFA75FO.js.map → chunk-YA4YH6WP.js.map} +0 -0
- /package/dist/{chunk-X4XYUNRL.js.map → chunk-YSFQHZ74.js.map} +0 -0
- /package/dist/{chunk-FTCCYWF4.js.map → chunk-YU72SS43.js.map} +0 -0
- /package/dist/{chunk-3EYRRVNT.js.map → chunk-YVDBOVHP.js.map} +0 -0
- /package/dist/{chunk-W7HSGZGW.js.map → chunk-ZF3JGIJD.js.map} +0 -0
- /package/dist/{chunk-SLODUPES.js.map → chunk-ZHFS5L6Q.js.map} +0 -0
- /package/dist/{chunk-4YMIQ5DM.js.map → chunk-ZSLOXTYJ.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/form/Checkbox/Checkbox.native.tsx","../../../src/components/form/Checkbox/Checkbox.helpers.ts","../../../src/components/form/Checkbox/Checkbox.metrics.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n ActivityIndicator,\n Platform,\n Pressable,\n StyleSheet,\n Text as RNText,\n View,\n type GestureResponderEvent,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { makeTestId, resolveCheckboxProps } from './Checkbox.helpers';\nimport {\n CHECKBOX_GLOW,\n CHECKBOX_GLYPH,\n CHECKBOX_HELPER,\n CHECKBOX_LABEL,\n CHECKBOX_PADDING,\n CHECKBOX_SPINNER,\n CHECKBOX_VARIANT,\n effectInk,\n glyphSize,\n} from './Checkbox.metrics';\nimport type { CheckboxProps } from './Checkbox.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport type { IconName } from '../../../icons/Icon.types';\nimport { webKeyDown } from '../../../platform/aria';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport { alpha } from '../../../tokens/color';\nimport type { UiTheme } from '../../../tokens/theme';\n\n/** Which of MUI's three glyphs the box is in right now. */\nfunction glyphFor(checked: boolean, indeterminate: boolean): IconName {\n if (indeterminate) return CHECKBOX_GLYPH.indeterminate;\n return checked ? CHECKBOX_GLYPH.checked : CHECKBOX_GLYPH.unchecked;\n}\n\n/**\n * The ink the box is drawn in.\n *\n * MUI's own rule paints a checked box in `palette[color].main`, but\n * `Checkbox.tsx` overrides `.Mui-checked` with `primary.main` and wins on\n * source order — so every colour checks blue on the web, and here too.\n */\nfunction glyphInk(theme: UiTheme, checked: boolean, indeterminate: boolean, disabled: boolean): string {\n if (disabled) return theme.palette.action.disabled;\n if (checked || indeterminate) return theme.palette.primary.main;\n return theme.palette.text.secondary;\n}\n\n/** `glow` as a shadow; the web breathes it between two blurs, which needs keyframes. */\nfunction glowStyle(): ViewStyle {\n return Platform.select<ViewStyle>({\n android: { elevation: CHECKBOX_GLOW.blur.to / 2 },\n default: {\n shadowColor: effectInk(1),\n shadowOpacity: CHECKBOX_GLOW.alpha.from,\n shadowRadius: CHECKBOX_GLOW.blur.from,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\n/** The `rounded` and `toggle` variants' corner and scale, on the glyph's own box. */\nfunction variantStyle(variant: keyof typeof CHECKBOX_VARIANT, size: number): ViewStyle {\n const treatment = CHECKBOX_VARIANT[variant];\n if (treatment.radius === undefined) return {};\n return {\n overflow: 'hidden',\n borderRadius: typeof treatment.radius === 'number' ? treatment.radius : size / 2,\n ...(treatment.scale === undefined ? {} : { transform: [{ scale: treatment.scale }] }),\n };\n}\n\ninterface BoxProps {\n boxRef: React.ForwardedRef<View>;\n testID: string;\n checked: boolean;\n indeterminate: boolean;\n inactive: boolean;\n loading: boolean;\n glow: boolean;\n ripple: boolean;\n variant: keyof typeof CHECKBOX_VARIANT;\n size: number;\n label?: string;\n onToggle: (event?: GestureResponderEvent) => void;\n rest: Record<string, unknown>;\n}\n\n/** The box itself: MUI's glyph inside `SwitchBase`'s 9px of padding. */\nfunction CheckboxBox(props: BoxProps): React.JSX.Element {\n const theme = useUiTheme();\n const { checked, indeterminate, inactive, size, variant } = props;\n const ink = glyphInk(theme, checked, indeterminate, inactive);\n\n return (\n <Pressable\n ref={props.boxRef}\n testID={props.testID}\n role=\"checkbox\"\n aria-checked={indeterminate ? 'mixed' : checked}\n aria-disabled={inactive}\n aria-label={props.label}\n disabled={inactive}\n onPress={props.onToggle}\n android_ripple={\n props.ripple && !inactive\n ? { color: alpha(theme.palette.primary.main, 0.2), borderless: true }\n : undefined\n }\n {...webKeyDown((event) => {\n if (event.key === ' ' || event.key === 'Spacebar') props.onToggle();\n })}\n style={[styles.box, props.glow ? glowStyle() : null]}\n {...props.rest}\n >\n <View style={variantStyle(variant, size)}>\n <Icon name={glyphFor(checked, indeterminate)} size={size} color={ink} />\n </View>\n {props.loading ? (\n <ActivityIndicator\n style={styles.spinner}\n size={CHECKBOX_SPINNER.size}\n color={theme.palette.primary.main}\n accessibilityLabel=\"loading\"\n />\n ) : null}\n </Pressable>\n );\n}\n\n/** MUI's `FormControlLabel` label, in `body2` and the error hue when it errs. */\nfunction labelStyle(theme: UiTheme, error: boolean): TextStyle {\n return {\n color: error ? theme.palette.danger.main : theme.palette.text.primary,\n fontFamily: theme.typography.fontFamily,\n fontSize: CHECKBOX_LABEL.fontSize,\n marginLeft: CHECKBOX_LABEL.marginLeft,\n };\n}\n\n/** `FormHelperText`, four spacing units in and half a unit down. */\nfunction helperStyle(theme: UiTheme, error: boolean): TextStyle {\n return {\n color: error ? theme.palette.danger.main : theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontSize: CHECKBOX_HELPER.fontSize,\n lineHeight: CHECKBOX_HELPER.fontSize * CHECKBOX_HELPER.lineHeight,\n marginLeft: theme.spacing(CHECKBOX_HELPER.marginLeftUnits),\n marginTop: theme.spacing(CHECKBOX_HELPER.marginTopUnits),\n };\n}\n\n/**\n * The native `Checkbox`.\n *\n * The box is the glyph MUI's own `Checkbox` draws — `@12-apps/ui/icons`\n * generates its path from the same `@mui/icons-material` — inside\n * `SwitchBase`'s 9px of padding, under a pressable carrying `role=\"checkbox\"`\n * and `aria-checked`: the state the web's hidden `<input type=\"checkbox\">`\n * carries. See `NATIVE-NOTES.md`.\n */\nexport const Checkbox = React.forwardRef<View, CheckboxProps>((rawProps, ref) => {\n const {\n variant, label, error, helperText, loading, ripple, glow, pulse: _pulse,\n indeterminate, disabled, size, checked, defaultChecked,\n onChange, onClick, onPress, style, ...others\n } = resolveCheckboxProps(rawProps);\n\n const theme = useUiTheme();\n // `Boolean()` rather than a destructuring default for each: every `= false`\n // is a branch, and there are enough of them here to cost the size gate.\n const [own, setOwn] = React.useState(Boolean(defaultChecked));\n const current = checked ?? own;\n const inactive = Boolean(disabled) || Boolean(loading);\n const testId = makeTestId(resolveTestId(others));\n\n const toggle = (event?: GestureResponderEvent): void => {\n const next = !current;\n setOwn(next);\n onChange?.({ target: { checked: next } }, next);\n if (event === undefined) return;\n onClick?.(event);\n onPress?.(event);\n };\n\n const box = (\n <CheckboxBox\n boxRef={ref}\n testID={resolveTestId(others, 'checkbox') ?? 'checkbox'}\n checked={current}\n indeterminate={Boolean(indeterminate)}\n inactive={inactive}\n loading={Boolean(loading)}\n glow={glow}\n ripple={ripple}\n variant={variant}\n size={glyphSize(size)}\n label={label}\n onToggle={toggle}\n rest={withoutTestIdProps(others) as Record<string, unknown>}\n />\n );\n\n if (label === undefined) return box;\n\n return (\n <View testID={testId('container')} style={style}>\n <View style={styles.row}>\n {box}\n <RNText style={labelStyle(theme, Boolean(error))}>{label}</RNText>\n </View>\n {helperText === undefined ? null : (\n <RNText testID={testId('helper')} style={helperStyle(theme, Boolean(error))}>\n {helperText}\n </RNText>\n )}\n </View>\n );\n});\n\nCheckbox.displayName = 'Checkbox';\n\nconst styles = StyleSheet.create({\n box: {\n padding: CHECKBOX_PADDING,\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n spinner: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: CHECKBOX_SPINNER.offset,\n marginLeft: CHECKBOX_SPINNER.offset,\n },\n});\n","import type { CheckboxBaseProps } from './Checkbox.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype CheckboxDefaultedKeys = 'variant' | 'ripple' | 'glow' | 'pulse';\n\n/**\n * Generic over the renderer's own props, as `resolveButtonProps` is: the web\n * and the native `Checkbox` pass different handler types through, and both come\n * back out untouched.\n */\nexport type ResolvedCheckboxProps<P extends CheckboxBaseProps = CheckboxBaseProps> = P &\n Required<Pick<CheckboxBaseProps, CheckboxDefaultedKeys>>;\n\nconst CHECKBOX_DEFAULTS: Required<Pick<CheckboxBaseProps, CheckboxDefaultedKeys>> = {\n variant: 'default',\n ripple: true,\n glow: false,\n pulse: false,\n};\n\nexport const resolveCheckboxProps = <P extends CheckboxBaseProps>(props: P): ResolvedCheckboxProps<P> =>\n withDefaults(props, CHECKBOX_DEFAULTS as Partial<P>) as ResolvedCheckboxProps<P>;\n\n/** `${dataTestId}-${suffix}`, or `checkbox-${suffix}` when the caller named nothing. */\nexport const makeTestId =\n (dataTestId?: string) =>\n (suffix: string): string =>\n dataTestId ? `${dataTestId}-${suffix}` : `checkbox-${suffix}`;\n","import type { CheckboxVariant } from './Checkbox.base';\n\n/**\n * THE NUMBERS BOTH `Checkbox` RENDERERS DRAW WITH.\n *\n * `Checkbox.tsx` (web, emotion over MUI's `Checkbox`) and\n * `Checkbox.native.tsx` (React Native) read this one table. As with the other\n * fields, some of it is what the web writes itself — the two variants' corner\n * treatment, the glow and pulse keyframes, the helper text's inset — and some\n * is what MUI supplies underneath: `SwitchBase`'s 9px padding, `SvgIcon`'s\n * three sizes, and the ink a box is drawn in.\n */\n\n/** MUI's `SwitchBase`: 9px of padding around the glyph, at every size. */\nexport const CHECKBOX_PADDING = 9;\n\n/** `SvgIcon`'s own three steps. MUI passes the `size` prop straight to the glyph. */\nexport const CHECKBOX_GLYPH_SIZES = { small: 20, medium: 24, large: 35 } as const;\nexport type CheckboxSize = keyof typeof CHECKBOX_GLYPH_SIZES;\n\nexport const glyphSize = (size: CheckboxSize | undefined): number =>\n CHECKBOX_GLYPH_SIZES[size ?? 'medium'] ?? CHECKBOX_GLYPH_SIZES.medium;\n\n/**\n * The three glyphs MUI draws, by state.\n *\n * `@12-apps/ui/icons` generates their paths from the same\n * `@mui/icons-material` package MUI's own `Checkbox` imports them from, so the\n * native box is the web box rather than a hand-drawn square.\n */\nexport const CHECKBOX_GLYPH = {\n checked: 'CheckBox',\n unchecked: 'CheckBoxOutlineBlank',\n indeterminate: 'IndeterminateCheckBox',\n} as const;\n\n/**\n * The corner each variant gives the glyph's box.\n *\n * `rounded` is a circle and `toggle` a 12px radius at 1.2 scale — both applied\n * to the SVG's own box on the web, where they show only through what the box\n * clips. Native gives them the same radius and the same scale.\n */\nexport const CHECKBOX_VARIANT: Record<CheckboxVariant, { radius?: number | string; scale?: number }> = {\n default: {},\n rounded: { radius: '50%' },\n toggle: { radius: 12, scale: 1.2 },\n};\n\n/** The wash a hovered box takes, and the 0.3s every state change runs over. */\nexport const CHECKBOX_HOVER_ALPHA = 0.1;\nexport const CHECKBOX_TRANSITION_MS = 300;\n\n/** `loading`: MUI's 20px `CircularProgress`, centred over the box. */\nexport const CHECKBOX_SPINNER = { size: 20, offset: -10 } as const;\n\n/**\n * `glow` and `pulse` are keyed to MUI's DEFAULT blue rather than the theme's\n * primary — the web writes the rgba out by hand — so both renderers do.\n */\nexport const CHECKBOX_EFFECT_INK = { r: 25, g: 118, b: 210 } as const;\nexport const CHECKBOX_GLOW = { blur: { from: 5, to: 20 }, alpha: { from: 0.5, to: 0.8 }, ms: 2000 } as const;\nexport const CHECKBOX_PULSE = { spread: 10, alpha: 0.7, ms: 2000 } as const;\n\n/** MUI's default blue at an alpha, as the web's keyframes spell it. */\nexport const effectInk = (alphaValue: number): string =>\n `rgba(${CHECKBOX_EFFECT_INK.r}, ${CHECKBOX_EFFECT_INK.g}, ${CHECKBOX_EFFECT_INK.b}, ${alphaValue})`;\n\n/** `FormControlLabel`: flush left, its label at MUI's `body2` size. */\nexport const CHECKBOX_LABEL = { marginLeft: 0, fontSize: 14 } as const;\n\n/** `FormHelperText`: four spacing units in, half a unit down. */\nexport const CHECKBOX_HELPER = { marginLeftUnits: 4, marginTopUnits: 0.5, fontSize: 12, lineHeight: 1.66 } as const;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/form/Checkbox/Checkbox.native.tsx","../../../src/components/form/Checkbox/Checkbox.helpers.ts","../../../src/components/form/Checkbox/Checkbox.metrics.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n ActivityIndicator,\n Platform,\n Pressable,\n StyleSheet,\n Text as RNText,\n View,\n type GestureResponderEvent,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { makeTestId, resolveCheckboxProps } from './Checkbox.helpers';\nimport {\n CHECKBOX_GLOW,\n CHECKBOX_GLYPH,\n CHECKBOX_HELPER,\n CHECKBOX_LABEL,\n CHECKBOX_PADDING,\n CHECKBOX_SPINNER,\n CHECKBOX_VARIANT,\n effectInk,\n glyphSize,\n} from './Checkbox.metrics';\nimport type { CheckboxProps } from './Checkbox.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport type { IconName } from '../../../icons/Icon.types';\nimport { webKeyDown } from '../../../platform/aria';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport { alpha } from '../../../tokens/color';\nimport type { UiTheme } from '../../../tokens/theme';\n\n/** Which of MUI's three glyphs the box is in right now. */\nfunction glyphFor(checked: boolean, indeterminate: boolean): IconName {\n if (indeterminate) return CHECKBOX_GLYPH.indeterminate;\n return checked ? CHECKBOX_GLYPH.checked : CHECKBOX_GLYPH.unchecked;\n}\n\n/**\n * The ink the box is drawn in.\n *\n * MUI's own rule paints a checked box in `palette[color].main`, but\n * `Checkbox.tsx` overrides `.Mui-checked` with `primary.main` and wins on\n * source order — so every colour checks blue on the web, and here too.\n */\nfunction glyphInk(theme: UiTheme, checked: boolean, indeterminate: boolean, disabled: boolean): string {\n if (disabled) return theme.palette.action.disabled;\n if (checked || indeterminate) return theme.palette.primary.main;\n return theme.palette.text.secondary;\n}\n\n/** `glow` as a shadow; the web breathes it between two blurs, which needs keyframes. */\nfunction glowStyle(): ViewStyle {\n return Platform.select<ViewStyle>({\n android: { elevation: CHECKBOX_GLOW.blur.to / 2 },\n default: {\n shadowColor: effectInk(1),\n shadowOpacity: CHECKBOX_GLOW.alpha.from,\n shadowRadius: CHECKBOX_GLOW.blur.from,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\n/** The `rounded` and `toggle` variants' corner and scale, on the glyph's own box. */\nfunction variantStyle(variant: keyof typeof CHECKBOX_VARIANT, size: number): ViewStyle {\n const treatment = CHECKBOX_VARIANT[variant];\n if (treatment.radius === undefined) return {};\n return {\n overflow: 'hidden',\n borderRadius: typeof treatment.radius === 'number' ? treatment.radius : size / 2,\n ...(treatment.scale === undefined ? {} : { transform: [{ scale: treatment.scale }] }),\n };\n}\n\ninterface BoxProps {\n boxRef: React.ForwardedRef<View>;\n testID: string;\n checked: boolean;\n indeterminate: boolean;\n inactive: boolean;\n loading: boolean;\n glow: boolean;\n ripple: boolean;\n variant: keyof typeof CHECKBOX_VARIANT;\n size: number;\n label?: string;\n onToggle: (event?: GestureResponderEvent) => void;\n rest: Record<string, unknown>;\n}\n\n/** The box itself: MUI's glyph inside `SwitchBase`'s 9px of padding. */\nfunction CheckboxBox(props: BoxProps): React.JSX.Element {\n const theme = useUiTheme();\n const { checked, indeterminate, inactive, size, variant } = props;\n const ink = glyphInk(theme, checked, indeterminate, inactive);\n\n return (\n <Pressable\n ref={props.boxRef}\n testID={props.testID}\n role=\"checkbox\"\n aria-checked={indeterminate ? 'mixed' : checked}\n aria-disabled={inactive}\n aria-label={props.label}\n disabled={inactive}\n onPress={props.onToggle}\n android_ripple={\n props.ripple && !inactive\n ? { color: alpha(theme.palette.primary.main, 0.2), borderless: true }\n : undefined\n }\n {...webKeyDown((event) => {\n if (event.key === ' ' || event.key === 'Spacebar') props.onToggle();\n })}\n style={[styles.box, props.glow ? glowStyle() : null]}\n {...props.rest}\n >\n <View style={variantStyle(variant, size)}>\n <Icon name={glyphFor(checked, indeterminate)} size={size} color={ink} />\n </View>\n {props.loading ? (\n <ActivityIndicator\n style={styles.spinner}\n size={CHECKBOX_SPINNER.size}\n color={theme.palette.primary.main}\n accessibilityLabel=\"loading\"\n />\n ) : null}\n </Pressable>\n );\n}\n\n/** MUI's `FormControlLabel` label, in `body2` and the error hue when it errs. */\nfunction labelStyle(theme: UiTheme, error: boolean): TextStyle {\n return {\n color: error ? theme.palette.danger.main : theme.palette.text.primary,\n fontFamily: theme.typography.fontFamily,\n fontSize: CHECKBOX_LABEL.fontSize,\n marginLeft: CHECKBOX_LABEL.marginLeft,\n };\n}\n\n/** `FormHelperText`, four spacing units in and half a unit down. */\nfunction helperStyle(theme: UiTheme, error: boolean): TextStyle {\n return {\n color: error ? theme.palette.danger.main : theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontSize: CHECKBOX_HELPER.fontSize,\n lineHeight: CHECKBOX_HELPER.fontSize * CHECKBOX_HELPER.lineHeight,\n marginLeft: theme.spacing(CHECKBOX_HELPER.marginLeftUnits),\n marginTop: theme.spacing(CHECKBOX_HELPER.marginTopUnits),\n };\n}\n\n/**\n * The native `Checkbox`.\n *\n * The box is the glyph MUI's own `Checkbox` draws — `@12-apps/ui/icons`\n * generates its path from the same `@mui/icons-material` — inside\n * `SwitchBase`'s 9px of padding, under a pressable carrying `role=\"checkbox\"`\n * and `aria-checked`: the state the web's hidden `<input type=\"checkbox\">`\n * carries. See `NATIVE-NOTES.md`.\n */\nexport const Checkbox = React.forwardRef<View, CheckboxProps>((rawProps, ref) => {\n const {\n variant, label, error, helperText, loading, ripple, glow, pulse: _pulse,\n indeterminate, disabled, size, checked, defaultChecked,\n onChange, onClick, onPress, style, ...others\n } = resolveCheckboxProps(rawProps);\n\n const theme = useUiTheme();\n // `Boolean()` rather than a destructuring default for each: every `= false`\n // is a branch, and there are enough of them here to cost the size gate.\n const [own, setOwn] = React.useState(Boolean(defaultChecked));\n const current = checked ?? own;\n const inactive = Boolean(disabled) || Boolean(loading);\n const testId = makeTestId(resolveTestId(others));\n\n const toggle = (event?: GestureResponderEvent): void => {\n const next = !current;\n setOwn(next);\n onChange?.({ target: { checked: next } }, next);\n if (event === undefined) return;\n onClick?.(event);\n onPress?.(event);\n };\n\n const box = (\n <CheckboxBox\n boxRef={ref}\n testID={resolveTestId(others, 'checkbox') ?? 'checkbox'}\n checked={current}\n indeterminate={Boolean(indeterminate)}\n inactive={inactive}\n loading={Boolean(loading)}\n glow={glow}\n ripple={ripple}\n variant={variant}\n size={glyphSize(size)}\n label={label}\n onToggle={toggle}\n rest={withoutTestIdProps(others) as Record<string, unknown>}\n />\n );\n\n if (label === undefined) return box;\n\n return (\n <View testID={testId('container')} style={style}>\n <View style={styles.row}>\n {box}\n <RNText style={labelStyle(theme, Boolean(error))}>{label}</RNText>\n </View>\n {helperText === undefined ? null : (\n <RNText testID={testId('helper')} style={helperStyle(theme, Boolean(error))}>\n {helperText}\n </RNText>\n )}\n </View>\n );\n});\n\nCheckbox.displayName = 'Checkbox';\n\nconst styles = StyleSheet.create({\n box: {\n padding: CHECKBOX_PADDING,\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n spinner: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: CHECKBOX_SPINNER.offset,\n marginLeft: CHECKBOX_SPINNER.offset,\n },\n});\n","import type { CheckboxBaseProps } from './Checkbox.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype CheckboxDefaultedKeys = 'variant' | 'ripple' | 'glow' | 'pulse';\n\n/**\n * Generic over the renderer's own props, as `resolveButtonProps` is: the web\n * and the native `Checkbox` pass different handler types through, and both come\n * back out untouched.\n */\nexport type ResolvedCheckboxProps<P extends CheckboxBaseProps = CheckboxBaseProps> = P &\n Required<Pick<CheckboxBaseProps, CheckboxDefaultedKeys>>;\n\nconst CHECKBOX_DEFAULTS: Required<Pick<CheckboxBaseProps, CheckboxDefaultedKeys>> = {\n variant: 'default',\n ripple: true,\n glow: false,\n pulse: false,\n};\n\nexport const resolveCheckboxProps = <P extends CheckboxBaseProps>(props: P): ResolvedCheckboxProps<P> =>\n withDefaults(props, CHECKBOX_DEFAULTS as Partial<P>) as ResolvedCheckboxProps<P>;\n\n/** `${dataTestId}-${suffix}`, or `checkbox-${suffix}` when the caller named nothing. */\nexport const makeTestId =\n (dataTestId?: string) =>\n (suffix: string): string =>\n dataTestId ? `${dataTestId}-${suffix}` : `checkbox-${suffix}`;\n","import { alpha } from '../../../tokens/color';\nimport { EFFECT_GLOW } from '../../../tokens/ink.core';\n\nimport type { CheckboxVariant } from './Checkbox.base';\n\n/**\n * THE NUMBERS BOTH `Checkbox` RENDERERS DRAW WITH.\n *\n * `Checkbox.tsx` (web, emotion over MUI's `Checkbox`) and\n * `Checkbox.native.tsx` (React Native) read this one table. As with the other\n * fields, some of it is what the web writes itself — the two variants' corner\n * treatment, the glow and pulse keyframes, the helper text's inset — and some\n * is what MUI supplies underneath: `SwitchBase`'s 9px padding, `SvgIcon`'s\n * three sizes, and the ink a box is drawn in.\n */\n\n/** MUI's `SwitchBase`: 9px of padding around the glyph, at every size. */\nexport const CHECKBOX_PADDING = 9;\n\n/** `SvgIcon`'s own three steps. MUI passes the `size` prop straight to the glyph. */\nexport const CHECKBOX_GLYPH_SIZES = { small: 20, medium: 24, large: 35 } as const;\nexport type CheckboxSize = keyof typeof CHECKBOX_GLYPH_SIZES;\n\nexport const glyphSize = (size: CheckboxSize | undefined): number =>\n CHECKBOX_GLYPH_SIZES[size ?? 'medium'] ?? CHECKBOX_GLYPH_SIZES.medium;\n\n/**\n * The three glyphs MUI draws, by state.\n *\n * `@12-apps/ui/icons` generates their paths from the same\n * `@mui/icons-material` package MUI's own `Checkbox` imports them from, so the\n * native box is the web box rather than a hand-drawn square.\n */\nexport const CHECKBOX_GLYPH = {\n checked: 'CheckBox',\n unchecked: 'CheckBoxOutlineBlank',\n indeterminate: 'IndeterminateCheckBox',\n} as const;\n\n/**\n * The corner each variant gives the glyph's box.\n *\n * `rounded` is a circle and `toggle` a 12px radius at 1.2 scale — both applied\n * to the SVG's own box on the web, where they show only through what the box\n * clips. Native gives them the same radius and the same scale.\n */\nexport const CHECKBOX_VARIANT: Record<CheckboxVariant, { radius?: number | string; scale?: number }> = {\n default: {},\n rounded: { radius: '50%' },\n toggle: { radius: 12, scale: 1.2 },\n};\n\n/** The wash a hovered box takes, and the 0.3s every state change runs over. */\nexport const CHECKBOX_HOVER_ALPHA = 0.1;\nexport const CHECKBOX_TRANSITION_MS = 300;\n\n/** `loading`: MUI's 20px `CircularProgress`, centred over the box. */\nexport const CHECKBOX_SPINNER = { size: 20, offset: -10 } as const;\n\n/**\n * `glow` and `pulse` are keyed to MUI's DEFAULT blue rather than the theme's\n * primary — `EFFECT_GLOW.muiBlue` (`tokens/ink.core`) — on both renderers.\n */\nexport const CHECKBOX_GLOW = { blur: { from: 5, to: 20 }, alpha: { from: 0.5, to: 0.8 }, ms: 2000 } as const;\nexport const CHECKBOX_PULSE = { spread: 10, alpha: 0.7, ms: 2000 } as const;\n\n/** MUI's default blue at an alpha, as the web's keyframes spell it. */\nexport const effectInk = (alphaValue: number): string => alpha(EFFECT_GLOW.muiBlue, alphaValue);\n\n/** `FormControlLabel`: flush left, its label at MUI's `body2` size. */\nexport const CHECKBOX_LABEL = { marginLeft: 0, fontSize: 14 } as const;\n\n/** `FormHelperText`: four spacing units in, half a unit down. */\nexport const CHECKBOX_HELPER = { marginLeftUnits: 4, marginTopUnits: 0.5, fontSize: 12, lineHeight: 1.66 } as const;\n"],"mappings":"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","names":[]}
|
|
@@ -6,11 +6,12 @@ import {
|
|
|
6
6
|
fieldLook,
|
|
7
7
|
helperStyle,
|
|
8
8
|
labelStyle
|
|
9
|
-
} from "../chunks/chunk-
|
|
9
|
+
} from "../chunks/chunk-4ZAULIDG.js";
|
|
10
10
|
import {
|
|
11
11
|
withDefaults
|
|
12
12
|
} from "../chunks/chunk-OXHZDFJZ.js";
|
|
13
13
|
import "../chunks/chunk-IMGBBIMT.js";
|
|
14
|
+
import "../chunks/chunk-ZRQHLTYG.js";
|
|
14
15
|
import {
|
|
15
16
|
webAria,
|
|
16
17
|
webClick,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/form/Input/Input.native.tsx","../../../src/components/form/Input/Input.helpers.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n ActivityIndicator,\n Platform,\n StyleSheet,\n Text as RNText,\n TextInput as RNTextInput,\n View,\n type GestureResponderEvent,\n type InputModeOptions,\n type StyleProp,\n type TextInputProps as RNTextInputProps,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { resolveInputProps } from './Input.helpers';\nimport { FieldPulse } from '../field-pulse.native';\nimport { fieldLook, helperStyle, labelStyle, type FieldState } from './Input.look.native';\nimport { ADORNMENT_GAP, INPUT_GLOW, INPUT_LOADING } from './Input.metrics';\nimport type { InputProps } from './Input.types.native';\nimport { webAria, webClick, webDisabled } from '../../../platform/aria';\nimport { childTestId, resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { fieldHeightPx } from '../../../tokens/field-height.core';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\n\n/**\n * The keyboard an HTML input `type` asks for.\n *\n * `password` is the only one that is not a keyboard at all — it is React\n * Native's `secureTextEntry`, which react-native-web turns back into\n * `type=\"password\"`. Everything the map does not name (`date`, `file`, `color`)\n * has no React Native equivalent and falls through to a plain text field.\n */\nconst INPUT_MODE_FOR: Record<string, InputModeOptions> = {\n text: 'text',\n search: 'search',\n email: 'email',\n tel: 'tel',\n url: 'url',\n number: 'numeric',\n};\n\nexport function typeProps(type: string | undefined): {\n inputMode?: InputModeOptions;\n secureTextEntry?: boolean;\n} {\n if (type === 'password') return { secureTextEntry: true };\n const mode = type === undefined ? undefined : INPUT_MODE_FOR[type];\n return mode === undefined ? {} : { inputMode: mode };\n}\n\n/** MUI's `0 0 15px` halo, 20px and stronger once the field is focused. */\nfunction glowStyle(color: string, focused: boolean): ViewStyle {\n const glow = focused ? INPUT_GLOW.focused : INPUT_GLOW.rest;\n return Platform.select<ViewStyle>({\n android: { elevation: glow.blur / 2 },\n default: {\n shadowColor: color,\n shadowOpacity: glow.alpha,\n shadowRadius: glow.blur,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\n/**\n * An adornment in its own slot, 8px from the value as `InputAdornment` puts it.\n *\n * No `testID`: the web field names ONE element, the `<input>` itself, so the\n * native one names the same element and nothing else. A shared story that\n * counts fields by a test-id prefix (`getAllByTestId(/perf-input-/)`) counts\n * the same number on both renderers only if this holds — the two decorations\n * below keep an id because they exist only while asked for.\n */\nfunction Slot({\n children,\n side,\n}: {\n children: React.ReactNode;\n side: 'start' | 'end';\n}): React.JSX.Element | null {\n if (children == null) return null;\n return (\n <View style={[styles.slot, side === 'start' ? { marginRight: ADORNMENT_GAP } : { marginLeft: ADORNMENT_GAP }]}>\n {children}\n </View>\n );\n}\n\n/** One line of text under or over the field, or nothing at all. */\nfunction Line({\n text,\n style,\n}: {\n text: string | undefined;\n style: StyleProp<TextStyle>;\n}): React.JSX.Element | null {\n if (text === undefined) return null;\n return <RNText style={style}>{text}</RNText>;\n}\n\n/** MUI's 20px `CircularProgress` in the end slot; the platform's own arc on a device. */\nfunction Spinner({ color, testID }: { color: string; testID: string }): React.JSX.Element {\n return (\n <ActivityIndicator\n testID={testID}\n size={Platform.OS === 'ios' ? 'small' : INPUT_LOADING.spinnerSize}\n color={color}\n accessibilityLabel=\"loading\"\n />\n );\n}\n\n/** MUI's `FormLabel` appends an asterisk to a required field's label. */\nfunction labelText(label: string | undefined, required: boolean): string | undefined {\n if (label === undefined) return undefined;\n return required ? `${label} *` : label;\n}\n\n/** The focus flag the border and the label are drawn from, and the handlers that keep it. */\nfunction useFocusState(\n onFocus: RNTextInputProps['onFocus'],\n onBlur: RNTextInputProps['onBlur'],\n): {\n focused: boolean;\n handleFocus: NonNullable<RNTextInputProps['onFocus']>;\n handleBlur: NonNullable<RNTextInputProps['onBlur']>;\n} {\n const [focused, setFocused] = React.useState(false);\n return {\n focused,\n handleFocus: (event) => {\n setFocused(true);\n onFocus?.(event);\n },\n handleBlur: (event) => {\n setFocused(false);\n onBlur?.(event);\n },\n };\n}\n\n/**\n * The native `Input`.\n *\n * The label sits ABOVE the field rather than floating into a notch in its\n * border, because React Native cannot cut a notch in a border — see\n * `NATIVE-NOTES.md`. Everything else is the web field's arithmetic:\n * `Input.look.native.ts` decides the paint, `Input.metrics.ts` holds the\n * numbers, and both renderers read the same table.\n */\nexport const Input = React.forwardRef<RNTextInput, InputProps>((rawProps, ref) => {\n const {\n variant, size, type, label, error, helperText, startAdornment, endAdornment,\n fullWidth, floating: _floating, glow, pulse, loading, disabled, required,\n style, inputStyle, onClick, onPress, onFocus, onBlur, ...others\n } = resolveInputProps(rawProps);\n\n const theme = useUiTheme();\n const { focused, handleFocus, handleBlur } = useFocusState(onFocus, onBlur);\n const inactive = disabled || loading;\n const state: FieldState = { focused: focused && !inactive, error, disabled: inactive };\n const look = fieldLook(theme, variant, size, state);\n\n const idFor = (suffix: string): string => childTestId(others, suffix, 'input');\n const handlePress = (event: GestureResponderEvent): void => {\n onClick?.(event);\n onPress?.(event);\n };\n\n return (\n <View\n style={[\n styles.root,\n fullWidth ? styles.fullWidth : styles.auto,\n loading ? styles.loading : null,\n style,\n ]}\n >\n {pulse ? (\n <FieldPulse\n color={theme.palette.primary.main}\n radius={theme.radius.field}\n height={fieldHeightPx(theme.fieldHeight, size)}\n testID={idFor('pulse')}\n />\n ) : null}\n <Line text={labelText(label, required)} style={labelStyle(theme, variant, size, state)} />\n <View style={[look.box, glow ? glowStyle(theme.palette.primary.main, state.focused) : null]}>\n <Slot side=\"start\">{startAdornment}</Slot>\n <RNTextInput\n ref={ref}\n testID={resolveTestId(others, 'input')}\n style={[look.value, inputStyle]}\n placeholderTextColor={look.placeholder}\n editable={!inactive}\n // The web input keeps focus on Enter (a form submits, the caret stays);\n // React Native dismisses the keyboard for a single-line field. A\n // caller wanting the platform behaviour passes its own.\n blurOnSubmit={false}\n aria-label={label}\n aria-disabled={inactive}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onPressIn={handlePress}\n {...webClick(handlePress)}\n {...webDisabled(inactive)}\n {...webAria({ 'aria-invalid': error, 'aria-required': required })}\n {...typeProps(type)}\n {...withoutTestIdProps(others)}\n />\n <Slot side=\"end\">\n {loading ? <Spinner color={theme.palette.primary.main} testID={idFor('loading')} /> : endAdornment}\n </Slot>\n </View>\n <Line text={helperText} style={helperStyle(theme, variant, size, state)} />\n </View>\n );\n});\n\nInput.displayName = 'Input';\n\nconst styles = StyleSheet.create({\n root: {\n position: 'relative',\n },\n fullWidth: {\n alignSelf: 'stretch',\n width: '100%',\n },\n auto: {\n alignSelf: 'flex-start',\n },\n loading: {\n opacity: INPUT_LOADING.opacity,\n },\n slot: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n});\n","import type { InputBaseProps } from './Input.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype InputDefaultedKeys =\n | 'variant'\n | 'size'\n | 'error'\n | 'fullWidth'\n | 'floating'\n | 'glow'\n | 'pulse'\n | 'loading'\n | 'disabled'\n | 'required';\n\n/**\n * Generic over the renderer's own props, as `resolveButtonProps` is: the web\n * and the native `Input` pass different handler and `value` types through, and\n * both come back out untouched.\n */\nexport type ResolvedInputProps<P extends InputBaseProps> = P &\n Required<Pick<InputBaseProps, InputDefaultedKeys>>;\n\n/**\n * The defaults the web `Input` declares in its destructuring. `fullWidth` is\n * true here and false in MUI: a field in this package fills its column unless\n * it is told not to.\n */\nconst INPUT_DEFAULTS: Required<Pick<InputBaseProps, InputDefaultedKeys>> = {\n variant: 'outlined',\n size: 'md',\n error: false,\n fullWidth: true,\n floating: false,\n glow: false,\n pulse: false,\n loading: false,\n disabled: false,\n required: false,\n};\n\nexport const resolveInputProps = <P extends InputBaseProps>(props: P): ResolvedInputProps<P> =>\n withDefaults(props, INPUT_DEFAULTS as Partial<P>) as ResolvedInputProps<P>;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/form/Input/Input.native.tsx","../../../src/components/form/Input/Input.helpers.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n ActivityIndicator,\n Platform,\n StyleSheet,\n Text as RNText,\n TextInput as RNTextInput,\n View,\n type GestureResponderEvent,\n type InputModeOptions,\n type StyleProp,\n type TextInputProps as RNTextInputProps,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { resolveInputProps } from './Input.helpers';\nimport { FieldPulse } from '../field-pulse.native';\nimport { fieldLook, helperStyle, labelStyle, type FieldState } from './Input.look.native';\nimport { ADORNMENT_GAP, INPUT_GLOW, INPUT_LOADING } from './Input.metrics';\nimport type { InputProps } from './Input.types.native';\nimport { webAria, webClick, webDisabled } from '../../../platform/aria';\nimport { childTestId, resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { fieldHeightPx } from '../../../tokens/field-height.core';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\n\n/**\n * The keyboard an HTML input `type` asks for.\n *\n * `password` is the only one that is not a keyboard at all — it is React\n * Native's `secureTextEntry`, which react-native-web turns back into\n * `type=\"password\"`. Everything the map does not name (`date`, `file`, `color`)\n * has no React Native equivalent and falls through to a plain text field.\n */\nconst INPUT_MODE_FOR: Record<string, InputModeOptions> = {\n text: 'text',\n search: 'search',\n email: 'email',\n tel: 'tel',\n url: 'url',\n number: 'numeric',\n};\n\nexport function typeProps(type: string | undefined): {\n inputMode?: InputModeOptions;\n secureTextEntry?: boolean;\n} {\n if (type === 'password') return { secureTextEntry: true };\n const mode = type === undefined ? undefined : INPUT_MODE_FOR[type];\n return mode === undefined ? {} : { inputMode: mode };\n}\n\n/** MUI's `0 0 15px` halo, 20px and stronger once the field is focused. */\nfunction glowStyle(color: string, focused: boolean): ViewStyle {\n const glow = focused ? INPUT_GLOW.focused : INPUT_GLOW.rest;\n return Platform.select<ViewStyle>({\n android: { elevation: glow.blur / 2 },\n default: {\n shadowColor: color,\n shadowOpacity: glow.alpha,\n shadowRadius: glow.blur,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\n/**\n * An adornment in its own slot, 8px from the value as `InputAdornment` puts it.\n *\n * No `testID`: the web field names ONE element, the `<input>` itself, so the\n * native one names the same element and nothing else. A shared story that\n * counts fields by a test-id prefix (`getAllByTestId(/perf-input-/)`) counts\n * the same number on both renderers only if this holds — the two decorations\n * below keep an id because they exist only while asked for.\n */\nfunction Slot({\n children,\n side,\n}: {\n children: React.ReactNode;\n side: 'start' | 'end';\n}): React.JSX.Element | null {\n if (children == null) return null;\n return (\n <View style={[styles.slot, side === 'start' ? { marginRight: ADORNMENT_GAP } : { marginLeft: ADORNMENT_GAP }]}>\n {children}\n </View>\n );\n}\n\n/** One line of text under or over the field, or nothing at all. */\nfunction Line({\n text,\n style,\n}: {\n text: string | undefined;\n style: StyleProp<TextStyle>;\n}): React.JSX.Element | null {\n if (text === undefined) return null;\n return <RNText style={style}>{text}</RNText>;\n}\n\n/** MUI's 20px `CircularProgress` in the end slot; the platform's own arc on a device. */\nfunction Spinner({ color, testID }: { color: string; testID: string }): React.JSX.Element {\n return (\n <ActivityIndicator\n testID={testID}\n size={Platform.OS === 'ios' ? 'small' : INPUT_LOADING.spinnerSize}\n color={color}\n accessibilityLabel=\"loading\"\n />\n );\n}\n\n/** MUI's `FormLabel` appends an asterisk to a required field's label. */\nfunction labelText(label: string | undefined, required: boolean): string | undefined {\n if (label === undefined) return undefined;\n return required ? `${label} *` : label;\n}\n\n/** The focus flag the border and the label are drawn from, and the handlers that keep it. */\nfunction useFocusState(\n onFocus: RNTextInputProps['onFocus'],\n onBlur: RNTextInputProps['onBlur'],\n): {\n focused: boolean;\n handleFocus: NonNullable<RNTextInputProps['onFocus']>;\n handleBlur: NonNullable<RNTextInputProps['onBlur']>;\n} {\n const [focused, setFocused] = React.useState(false);\n return {\n focused,\n handleFocus: (event) => {\n setFocused(true);\n onFocus?.(event);\n },\n handleBlur: (event) => {\n setFocused(false);\n onBlur?.(event);\n },\n };\n}\n\n/**\n * The native `Input`.\n *\n * The label sits ABOVE the field rather than floating into a notch in its\n * border, because React Native cannot cut a notch in a border — see\n * `NATIVE-NOTES.md`. Everything else is the web field's arithmetic:\n * `Input.look.native.ts` decides the paint, `Input.metrics.ts` holds the\n * numbers, and both renderers read the same table.\n */\nexport const Input = React.forwardRef<RNTextInput, InputProps>((rawProps, ref) => {\n const {\n variant, size, type, label, error, helperText, startAdornment, endAdornment,\n fullWidth, floating: _floating, glow, pulse, loading, disabled, required,\n style, inputStyle, onClick, onPress, onFocus, onBlur, ...others\n } = resolveInputProps(rawProps);\n\n const theme = useUiTheme();\n const { focused, handleFocus, handleBlur } = useFocusState(onFocus, onBlur);\n const inactive = disabled || loading;\n const state: FieldState = { focused: focused && !inactive, error, disabled: inactive };\n const look = fieldLook(theme, variant, size, state);\n\n const idFor = (suffix: string): string => childTestId(others, suffix, 'input');\n const handlePress = (event: GestureResponderEvent): void => {\n onClick?.(event);\n onPress?.(event);\n };\n\n return (\n <View\n style={[\n styles.root,\n fullWidth ? styles.fullWidth : styles.auto,\n loading ? styles.loading : null,\n style,\n ]}\n >\n {pulse ? (\n <FieldPulse\n color={theme.palette.primary.main}\n radius={theme.radius.field}\n height={fieldHeightPx(theme.fieldHeight, size)}\n testID={idFor('pulse')}\n />\n ) : null}\n <Line text={labelText(label, required)} style={labelStyle(theme, variant, size, state)} />\n <View style={[look.box, glow ? glowStyle(theme.palette.primary.main, state.focused) : null]}>\n <Slot side=\"start\">{startAdornment}</Slot>\n <RNTextInput\n ref={ref}\n testID={resolveTestId(others, 'input')}\n style={[look.value, inputStyle]}\n placeholderTextColor={look.placeholder}\n editable={!inactive}\n // The web input keeps focus on Enter (a form submits, the caret stays);\n // React Native dismisses the keyboard for a single-line field. A\n // caller wanting the platform behaviour passes its own.\n blurOnSubmit={false}\n aria-label={label}\n aria-disabled={inactive}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onPressIn={handlePress}\n {...webClick(handlePress)}\n {...webDisabled(inactive)}\n {...webAria({ 'aria-invalid': error, 'aria-required': required })}\n {...typeProps(type)}\n {...withoutTestIdProps(others)}\n />\n <Slot side=\"end\">\n {loading ? <Spinner color={theme.palette.primary.main} testID={idFor('loading')} /> : endAdornment}\n </Slot>\n </View>\n <Line text={helperText} style={helperStyle(theme, variant, size, state)} />\n </View>\n );\n});\n\nInput.displayName = 'Input';\n\nconst styles = StyleSheet.create({\n root: {\n position: 'relative',\n },\n fullWidth: {\n alignSelf: 'stretch',\n width: '100%',\n },\n auto: {\n alignSelf: 'flex-start',\n },\n loading: {\n opacity: INPUT_LOADING.opacity,\n },\n slot: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n});\n","import type { InputBaseProps } from './Input.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype InputDefaultedKeys =\n | 'variant'\n | 'size'\n | 'error'\n | 'fullWidth'\n | 'floating'\n | 'glow'\n | 'pulse'\n | 'loading'\n | 'disabled'\n | 'required';\n\n/**\n * Generic over the renderer's own props, as `resolveButtonProps` is: the web\n * and the native `Input` pass different handler and `value` types through, and\n * both come back out untouched.\n */\nexport type ResolvedInputProps<P extends InputBaseProps> = P &\n Required<Pick<InputBaseProps, InputDefaultedKeys>>;\n\n/**\n * The defaults the web `Input` declares in its destructuring. `fullWidth` is\n * true here and false in MUI: a field in this package fills its column unless\n * it is told not to.\n */\nconst INPUT_DEFAULTS: Required<Pick<InputBaseProps, InputDefaultedKeys>> = {\n variant: 'outlined',\n size: 'md',\n error: false,\n fullWidth: true,\n floating: false,\n glow: false,\n pulse: false,\n loading: false,\n disabled: false,\n required: false,\n};\n\nexport const resolveInputProps = <P extends InputBaseProps>(props: P): ResolvedInputProps<P> =>\n withDefaults(props, INPUT_DEFAULTS as Partial<P>) as ResolvedInputProps<P>;\n"],"mappings":"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","names":[]}
|
|
@@ -7,11 +7,14 @@ import {
|
|
|
7
7
|
helperStyle,
|
|
8
8
|
horizontalBorderInset,
|
|
9
9
|
labelStyle
|
|
10
|
-
} from "../chunks/chunk-
|
|
10
|
+
} from "../chunks/chunk-4ZAULIDG.js";
|
|
11
11
|
import {
|
|
12
12
|
withDefaults
|
|
13
13
|
} from "../chunks/chunk-OXHZDFJZ.js";
|
|
14
14
|
import "../chunks/chunk-IMGBBIMT.js";
|
|
15
|
+
import {
|
|
16
|
+
ELEVATION_SHADOWS
|
|
17
|
+
} from "../chunks/chunk-ZRQHLTYG.js";
|
|
15
18
|
import {
|
|
16
19
|
webAria,
|
|
17
20
|
webKeyDown,
|
|
@@ -104,7 +107,7 @@ var SELECT_MENU = {
|
|
|
104
107
|
/** MUI's `Menu` paper is `calc(100% - 96px)` tall at most. */
|
|
105
108
|
maxHeightInset: 96
|
|
106
109
|
};
|
|
107
|
-
var MUI_MENU_SHADOW =
|
|
110
|
+
var MUI_MENU_SHADOW = ELEVATION_SHADOWS[8];
|
|
108
111
|
var selectedWashAlpha = (theme) => theme.mode === "dark" ? SELECT_MENU.selectedAlpha.dark : SELECT_MENU.selectedAlpha.light;
|
|
109
112
|
|
|
110
113
|
// src/components/form/Select/Select.look.native.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/form/Select/Select.native.tsx","../../../src/components/form/Select/Select.helpers.ts","../../../src/components/form/Select/Select.metrics.ts","../../../src/components/form/Select/Select.look.native.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n Platform,\n Pressable,\n ScrollView,\n StyleSheet,\n Text as RNText,\n View,\n useWindowDimensions,\n type StyleProp,\n type ViewStyle,\n} from 'react-native';\n\nimport {\n displayLabel,\n resolveSelectProps,\n selectItems,\n selectTestIds,\n type SelectItem,\n} from './Select.helpers';\nimport { menuStyle, optionStyle, optionTextStyle, selectLook, type SelectLook } from './Select.look.native';\nimport {\n SELECT_GLOW,\n SELECT_ICON,\n SELECT_MENU,\n inputVariantFor,\n selectInputSize,\n} from './Select.metrics';\nimport type { SelectProps, SelectValue } from './Select.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport { webAria, webKeyDown, webRole, type WebKeyEvent } from '../../../platform/aria';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { fieldHeightPx } from '../../../tokens/field-height.core';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport type { UiTheme } from '../../../tokens/theme';\nimport { FieldPulse } from '../field-pulse.native';\nimport { helperStyle, labelStyle, type FieldState } from '../Input/Input.look.native';\n\n/** MUI's halo on the outlined input, painted as a shadow. */\nfunction glowStyle(color: string): ViewStyle {\n return Platform.select<ViewStyle>({\n android: { elevation: SELECT_GLOW.rest.blur / 2 },\n default: {\n shadowColor: color,\n shadowOpacity: SELECT_GLOW.rest.alpha,\n shadowRadius: SELECT_GLOW.rest.blur,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\ninterface MenuProps {\n items: SelectItem[];\n value: SelectValue;\n testIdFor: (value: SelectValue) => string;\n onPick: (item: SelectItem) => void;\n}\n\n/** The option list: MUI's `Menu`, under the field rather than portalled over it. */\nfunction SelectMenu({ items, value, testIdFor, onPick }: MenuProps): React.JSX.Element {\n const theme = useUiTheme();\n const { height } = useWindowDimensions();\n const textStyle = optionTextStyle(theme);\n\n return (\n <View style={menuStyle(theme, height - SELECT_MENU.maxHeightInset)} {...webRole('listbox')}>\n <ScrollView>\n {items.map((item) => {\n const selected = String(item.value) === String(value);\n return (\n <Pressable\n key={`${item.placeholder ? 'placeholder' : 'option'}-${item.value}`}\n role=\"option\"\n aria-selected={selected}\n aria-disabled={item.disabled}\n disabled={item.disabled}\n testID={item.placeholder ? undefined : testIdFor(item.value)}\n onPress={() => onPick(item)}\n style={optionStyle(theme, selected, item.disabled)}\n >\n <RNText style={textStyle}>{item.label}</RNText>\n </Pressable>\n );\n })}\n </ScrollView>\n </View>\n );\n}\n\ninterface TriggerProps {\n testID: string;\n look: SelectLook;\n open: boolean;\n disabled: boolean;\n error: boolean;\n glow: boolean;\n display: string;\n labelId?: string;\n helperId?: string;\n onToggle: () => void;\n onKey: (event: WebKeyEvent) => void;\n}\n\n/**\n * The field itself: MUI's display slot and its arrow, under one `combobox`.\n *\n * `tabIndex` is spelled out because react-native-web only makes a handful of\n * roles focusable on its own, and `combobox` is not one of them — without it\n * the control would not be a tab stop. It goes to -1 when disabled, which is\n * what the web does by leaving the attribute off a disabled field entirely.\n */\nfunction SelectTrigger(props: TriggerProps): React.JSX.Element {\n const theme = useUiTheme();\n const { testID, look, open, disabled, error, glow, display, labelId, helperId } = props;\n\n return (\n <Pressable\n testID={testID}\n role=\"combobox\"\n tabIndex={disabled ? -1 : 0}\n aria-expanded={open}\n aria-disabled={disabled}\n disabled={disabled}\n onPress={props.onToggle}\n style={[look.box, glow ? glowStyle(theme.palette.primary.main) : null]}\n {...webAria({\n 'aria-haspopup': 'listbox',\n 'aria-invalid': error,\n ...(labelId === undefined ? {} : { 'aria-labelledby': labelId }),\n ...(helperId === undefined ? {} : { 'aria-describedby': helperId }),\n })}\n {...webKeyDown(props.onKey)}\n >\n <RNText style={look.display} numberOfLines={1}>\n {display}\n </RNText>\n <Icon\n name=\"ArrowDropDown\"\n size={SELECT_ICON.size}\n color={disabled ? theme.palette.action.disabled : theme.palette.action.active}\n testID={`${testID}-icon`}\n style={[\n { marginLeft: look.iconGap },\n open ? { transform: [{ rotate: `${SELECT_ICON.openRotateDeg}deg` }] } : null,\n ]}\n />\n </Pressable>\n );\n}\n\n/** The value the control shows, controlled by the caller or held here. */\nfunction useSelectValue(\n value: SelectValue | undefined,\n defaultValue: SelectValue | undefined,\n): [SelectValue, (next: SelectValue) => void] {\n const [own, setOwn] = React.useState<SelectValue>(defaultValue ?? '');\n return [value ?? own, setOwn];\n}\n\n/** The pulse bar, at the field's own height and corner. */\nfunction SelectPulse({\n theme,\n size,\n testID,\n}: {\n theme: UiTheme;\n size: SelectProps['size'];\n testID: string;\n}): React.JSX.Element {\n return (\n <FieldPulse\n color={theme.palette.primary.main}\n radius={theme.radius.field}\n height={fieldHeightPx(theme.fieldHeight, size ?? 'md')}\n testID={testID}\n />\n );\n}\n\n/**\n * The field's own box. Raised while open: react-native-web gives every View\n * `z-index: 0`, so the anchor's z-index stays inside this root, and the next\n * field down would paint over the list and take its taps.\n */\nfunction rootStyle(theme: UiTheme, fullWidth: boolean | undefined, open: boolean): StyleProp<ViewStyle> {\n return [styles.root, fullWidth ? styles.fullWidth : styles.auto, open ? { zIndex: theme.zIndex.modal } : null];\n}\n\n/**\n * The native `Select`.\n *\n * The list is an absolutely positioned panel under the field rather than a\n * portal over the screen: React Native's `Modal` traps focus, which is right\n * for a dialog and wrong for a dropdown — and wrong for the shared stories,\n * which expect the trigger to keep focus while the list is open. The trade is\n * recorded in `NATIVE-NOTES.md`.\n */\nexport const Select = React.forwardRef<View, SelectProps>((rawProps, ref) => {\n const {\n variant, options, label, helperText, fullWidth, size, placeholder, error, glow, pulse,\n disabled, value, defaultValue, onChange, onOpen, onClose, style, ...others\n } = resolveSelectProps(rawProps);\n\n const theme = useUiTheme();\n const [open, setOpen] = React.useState(false);\n const [current, setCurrent] = useSelectValue(value, defaultValue);\n const labelId = React.useId();\n const helperId = React.useId();\n\n const items = selectItems(options, placeholder);\n const ids = selectTestIds(resolveTestId(others));\n const state: FieldState = { focused: open && !disabled, error, disabled };\n const look = selectLook(theme, variant, size, state);\n\n const setOpenState = (next: boolean): void => {\n if (next === open) return;\n setOpen(next);\n (next ? onOpen : onClose)?.();\n };\n\n const handleKey = (event: WebKeyEvent): void => {\n if (event.key === 'Escape') setOpenState(false);\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') setOpenState(true);\n };\n\n const pick = (item: SelectItem): void => {\n setOpenState(false);\n if (item.option === undefined) return;\n setCurrent(item.value);\n onChange?.({ target: { value: item.value } }, item.option);\n };\n\n return (\n <View\n ref={ref}\n testID={ids.root}\n style={[rootStyle(theme, fullWidth, open), style]}\n {...withoutTestIdProps(others)}\n >\n {pulse ? <SelectPulse theme={theme} size={size} testID={`${ids.trigger}-pulse`} /> : null}\n {label === undefined ? null : (\n <RNText id={labelId} style={labelStyle(theme, inputVariantFor(variant), size, state)}>\n {label}\n </RNText>\n )}\n <View style={[styles.anchor, open ? { zIndex: theme.zIndex.modal } : null]}>\n <SelectTrigger\n testID={ids.trigger}\n look={look}\n open={open}\n disabled={disabled}\n error={error}\n glow={glow}\n display={displayLabel(items, current)}\n labelId={label === undefined ? undefined : labelId}\n helperId={helperText === undefined ? undefined : helperId}\n onToggle={() => setOpenState(!open)}\n onKey={handleKey}\n />\n {open ? (\n <SelectMenu items={items} value={current} testIdFor={ids.option} onPick={pick} />\n ) : null}\n </View>\n {helperText === undefined ? null : (\n <RNText id={helperId} style={helperStyle(theme, inputVariantFor(variant), selectInputSize(size), state)}>\n {helperText}\n </RNText>\n )}\n </View>\n );\n});\n\nSelect.displayName = 'Select';\n\nconst styles = StyleSheet.create({\n root: {\n position: 'relative',\n },\n anchor: {\n position: 'relative',\n },\n fullWidth: {\n alignSelf: 'stretch',\n width: '100%',\n },\n auto: {\n alignSelf: 'flex-start',\n },\n});\n","import type { SelectBaseProps, SelectOption, SelectValue } from './Select.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype SelectDefaultedKeys = 'variant' | 'size' | 'fullWidth' | 'error' | 'glow' | 'pulse' | 'disabled';\n\nexport type ResolvedSelectProps<P extends SelectBaseProps> = P &\n Required<Pick<SelectBaseProps, SelectDefaultedKeys>>;\n\n/**\n * `Select.tsx` leaves `variant`, `size`, `glow` and `pulse` undefined on\n * purpose — undefined resolves to the default variant, MUI's medium and no\n * effects, which keeps its render function under the complexity budget. The\n * native renderer has to name them, so the same resolution happens here.\n */\nconst SELECT_DEFAULTS: Required<Pick<SelectBaseProps, SelectDefaultedKeys>> = {\n variant: 'default',\n size: 'md',\n fullWidth: true,\n error: false,\n glow: false,\n pulse: false,\n disabled: false,\n};\n\nexport const resolveSelectProps = <P extends SelectBaseProps>(props: P): ResolvedSelectProps<P> =>\n withDefaults(props, SELECT_DEFAULTS as Partial<P>) as ResolvedSelectProps<P>;\n\n/** One row of the list: an option, or the disabled placeholder above them. */\nexport interface SelectItem {\n value: SelectValue;\n label: string;\n disabled: boolean;\n /** The placeholder is not an option: it carries no test id and cannot be chosen. */\n placeholder: boolean;\n option?: SelectOption;\n}\n\n/**\n * The list MUI renders: the placeholder first when there is one, then the\n * options, in the order `renderMenuItems` builds them.\n */\nexport function selectItems(options: SelectOption[], placeholder?: string): SelectItem[] {\n const items: SelectItem[] = options.map((option) => ({\n value: option.value,\n label: option.label,\n disabled: option.disabled === true,\n placeholder: false,\n option,\n }));\n if (placeholder === undefined || placeholder === '') return items;\n return [{ value: '', label: placeholder, disabled: true, placeholder: true }, ...items];\n}\n\n/**\n * What the display slot shows.\n *\n * The LAST match wins, which is MUI's own answer: `SelectInput` walks its\n * children and overwrites the display for every child whose value matches, so\n * a list carrying both an empty placeholder and a real empty-valued option\n * shows the option. Values are compared as strings because the DOM stringifies\n * them anyway (MUI's `areEqualValues`).\n */\nexport function displayLabel(items: SelectItem[], value: SelectValue): string {\n let label = '';\n for (const item of items) {\n if (String(item.value) === String(value)) label = item.label;\n }\n return label;\n}\n\n/** The three ids the web puts on the control, spelled exactly as it spells them. */\nexport function selectTestIds(id: string | undefined): {\n root: string | undefined;\n trigger: string;\n option: (value: SelectValue) => string;\n} {\n return {\n root: id,\n trigger: id ? `${id}-select` : 'select',\n option: (value) => (id ? `${id}-option-${value}` : `option-${value}`),\n };\n}\n","import type { SelectVariant } from './Select.base';\nimport type { InputVariant } from '../Input/Input.base';\nimport { ICON_SIZES } from '../../../icons/Icon.types';\nimport type { UiTheme } from '../../../tokens/theme';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * THE NUMBERS BOTH `Select` RENDERERS DRAW WITH.\n *\n * A `Select` on the web IS an `OutlinedInput` with a display slot and an arrow\n * where the value would be typed, so the box's own numbers — the padding, the\n * border, the radius, the field edge — are `Input.metrics.ts`'s, read through\n * {@link inputVariantFor} rather than restated. What is here is what a select\n * has and a text field does not: the arrow, the option list, and the two\n * heights MUI's `FormControl` offers.\n */\n\n/** Our three variants onto the `Input` variant that draws the same box. */\nexport const inputVariantFor = (variant: SelectVariant): InputVariant =>\n variant === 'default' ? 'outlined' : variant;\n\n/**\n * The house scale as a `FormControl` size.\n *\n * Not `muiSize`: that collapses five onto MUI's three, and a FormControl takes\n * only two — `sm` draws small and EVERY other step, `xs` included, draws\n * medium. Restated from `Select.tsx`'s `formControlSize` so the native side\n * reads the same lossy map rather than inventing a kinder one.\n */\nexport const selectInputSize = (size: SizeValue | undefined): 'sm' | 'md' =>\n size === 'sm' ? 'sm' : 'md';\n\n/**\n * The arrow: MUI's `ArrowDropDown` at `SvgIcon`'s medium size, 7px from the\n * right edge, turned over while the list is open. The display slot reserves\n * 32px for it, so the flow-laid glyph takes the difference as a margin.\n */\nexport const SELECT_ICON = {\n size: ICON_SIZES.md,\n right: 7,\n displayPaddingRight: 32,\n openRotateDeg: 180,\n} as const;\n\n/** What the glyph leaves between itself and the value: 32 - 24 - 7. */\nexport const SELECT_ICON_GAP =\n SELECT_ICON.displayPaddingRight - SELECT_ICON.size - SELECT_ICON.right;\n\n/** `.MuiSelect-select`'s floor, MUI's `1.4375em` at the 16px body size. */\nexport const SELECT_DISPLAY_MIN_HEIGHT = 23;\n\n/**\n * The option list: MUI's `Menu` over a `MenuList` of `MenuItem`s.\n *\n * `selectedAlpha` is `palette.action.selectedOpacity`, which MUI doubles in\n * dark mode; `disabledOpacity` is `palette.action.disabledOpacity`. Neither is\n * on `UiTheme`, whose `action` carries colours rather than opacities.\n */\nexport const SELECT_MENU = {\n itemMinHeight: 48,\n itemPaddingVertical: 6,\n itemPaddingHorizontal: 16,\n listPaddingVertical: 8,\n selectedAlpha: { light: 0.08, dark: 0.16 },\n disabledOpacity: 0.38,\n /** MUI's `Menu` paper is `calc(100% - 96px)` tall at most. */\n maxHeightInset: 96,\n} as const;\n\n/** MUI's `theme.shadows[8]`, the elevation a `Menu` paper rests at. */\nexport const MUI_MENU_SHADOW =\n '0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)';\n\n/** The wash behind the option the value currently names. */\nexport const selectedWashAlpha = (theme: UiTheme): number =>\n theme.mode === 'dark' ? SELECT_MENU.selectedAlpha.dark : SELECT_MENU.selectedAlpha.light;\n\n/**\n * The box a select draws IS the input's box, so these are the input's tables\n * under this component's names — the border widths, the glass and gradient\n * alphas, the halo and the pulse. Restating them here is how the two controls\n * would come to disagree about what an outlined field looks like.\n */\nexport {\n INPUT_BORDER as SELECT_BORDER,\n INPUT_GLASS as SELECT_GLASS,\n INPUT_GLOW as SELECT_GLOW,\n INPUT_GRADIENT as SELECT_GRADIENT,\n INPUT_PULSE as SELECT_PULSE,\n} from '../Input/Input.metrics';\n","import type { TextStyle, ViewStyle } from 'react-native';\n\nimport {\n MUI_MENU_SHADOW,\n SELECT_DISPLAY_MIN_HEIGHT,\n SELECT_ICON,\n SELECT_ICON_GAP,\n SELECT_MENU,\n inputVariantFor,\n selectedWashAlpha,\n} from './Select.metrics';\nimport type { SelectVariant } from './Select.base';\nimport { INPUT_FONT_SIZE, INPUT_LINE_HEIGHT } from '../Input/Input.metrics';\nimport { fieldLook, horizontalBorderInset, type FieldState } from '../Input/Input.look.native';\nimport { alpha } from '../../../tokens/color';\nimport type { UiTheme } from '../../../tokens/theme';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * WHAT A NATIVE `Select` PAINTS.\n *\n * The box is the `Input`'s box: a select on the web is an `OutlinedInput` with\n * a display slot where the value would be typed, so `fieldLook` decides the\n * fill, the edges and the inset, and this file only says what a select adds —\n * room for the arrow, and the list under it.\n */\nexport interface SelectLook {\n box: ViewStyle;\n display: TextStyle;\n iconGap: number;\n}\n\nexport function selectLook(\n theme: UiTheme,\n variant: SelectVariant,\n size: SizeValue,\n state: FieldState,\n): SelectLook {\n const inputVariant = inputVariantFor(variant);\n const look = fieldLook(theme, inputVariant, size, state);\n const inset = horizontalBorderInset(inputVariant, state.focused);\n\n return {\n box: {\n ...look.box,\n // MUI's arrow is absolute at `right: 7`; laid out in flow it takes the\n // row's right inset instead, and {@link SELECT_ICON_GAP} makes up the\n // difference so the value still stops 32px from the edge.\n paddingRight: SELECT_ICON.right - inset,\n },\n display: {\n ...look.value,\n minHeight: SELECT_DISPLAY_MIN_HEIGHT,\n fontSize: INPUT_FONT_SIZE,\n lineHeight: INPUT_LINE_HEIGHT,\n },\n iconGap: SELECT_ICON_GAP,\n };\n}\n\n/** The option list's paper: MUI's `Menu`, at elevation 8 on the theme's radius. */\nexport function menuStyle(theme: UiTheme, maxHeight: number): ViewStyle {\n return {\n position: 'absolute',\n top: '100%',\n left: 0,\n right: 0,\n zIndex: theme.zIndex.modal,\n maxHeight,\n paddingVertical: SELECT_MENU.listPaddingVertical,\n backgroundColor: theme.palette.background.paper,\n borderRadius: theme.radius.md,\n boxShadow: MUI_MENU_SHADOW,\n };\n}\n\n/** One `MenuItem`: 48px tall at least, 6px by 16px of padding, washed when selected. */\nexport function optionStyle(theme: UiTheme, selected: boolean, disabled: boolean): ViewStyle {\n return {\n minHeight: SELECT_MENU.itemMinHeight,\n justifyContent: 'center',\n paddingVertical: SELECT_MENU.itemPaddingVertical,\n paddingHorizontal: SELECT_MENU.itemPaddingHorizontal,\n backgroundColor: selected\n ? alpha(theme.palette.primary.main, selectedWashAlpha(theme))\n : 'transparent',\n opacity: disabled ? SELECT_MENU.disabledOpacity : 1,\n };\n}\n\n/** A `MenuItem`'s label: MUI's `body1`, the same type the display slot sets. */\nexport function optionTextStyle(theme: UiTheme): TextStyle {\n return {\n color: theme.palette.text.primary,\n fontFamily: theme.typography.fontFamily,\n fontSize: INPUT_FONT_SIZE,\n lineHeight: INPUT_LINE_HEIGHT,\n };\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/form/Select/Select.native.tsx","../../../src/components/form/Select/Select.helpers.ts","../../../src/components/form/Select/Select.metrics.ts","../../../src/components/form/Select/Select.look.native.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n Platform,\n Pressable,\n ScrollView,\n StyleSheet,\n Text as RNText,\n View,\n useWindowDimensions,\n type StyleProp,\n type ViewStyle,\n} from 'react-native';\n\nimport {\n displayLabel,\n resolveSelectProps,\n selectItems,\n selectTestIds,\n type SelectItem,\n} from './Select.helpers';\nimport { menuStyle, optionStyle, optionTextStyle, selectLook, type SelectLook } from './Select.look.native';\nimport {\n SELECT_GLOW,\n SELECT_ICON,\n SELECT_MENU,\n inputVariantFor,\n selectInputSize,\n} from './Select.metrics';\nimport type { SelectProps, SelectValue } from './Select.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport { webAria, webKeyDown, webRole, type WebKeyEvent } from '../../../platform/aria';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { fieldHeightPx } from '../../../tokens/field-height.core';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport type { UiTheme } from '../../../tokens/theme';\nimport { FieldPulse } from '../field-pulse.native';\nimport { helperStyle, labelStyle, type FieldState } from '../Input/Input.look.native';\n\n/** MUI's halo on the outlined input, painted as a shadow. */\nfunction glowStyle(color: string): ViewStyle {\n return Platform.select<ViewStyle>({\n android: { elevation: SELECT_GLOW.rest.blur / 2 },\n default: {\n shadowColor: color,\n shadowOpacity: SELECT_GLOW.rest.alpha,\n shadowRadius: SELECT_GLOW.rest.blur,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\ninterface MenuProps {\n items: SelectItem[];\n value: SelectValue;\n testIdFor: (value: SelectValue) => string;\n onPick: (item: SelectItem) => void;\n}\n\n/** The option list: MUI's `Menu`, under the field rather than portalled over it. */\nfunction SelectMenu({ items, value, testIdFor, onPick }: MenuProps): React.JSX.Element {\n const theme = useUiTheme();\n const { height } = useWindowDimensions();\n const textStyle = optionTextStyle(theme);\n\n return (\n <View style={menuStyle(theme, height - SELECT_MENU.maxHeightInset)} {...webRole('listbox')}>\n <ScrollView>\n {items.map((item) => {\n const selected = String(item.value) === String(value);\n return (\n <Pressable\n key={`${item.placeholder ? 'placeholder' : 'option'}-${item.value}`}\n role=\"option\"\n aria-selected={selected}\n aria-disabled={item.disabled}\n disabled={item.disabled}\n testID={item.placeholder ? undefined : testIdFor(item.value)}\n onPress={() => onPick(item)}\n style={optionStyle(theme, selected, item.disabled)}\n >\n <RNText style={textStyle}>{item.label}</RNText>\n </Pressable>\n );\n })}\n </ScrollView>\n </View>\n );\n}\n\ninterface TriggerProps {\n testID: string;\n look: SelectLook;\n open: boolean;\n disabled: boolean;\n error: boolean;\n glow: boolean;\n display: string;\n labelId?: string;\n helperId?: string;\n onToggle: () => void;\n onKey: (event: WebKeyEvent) => void;\n}\n\n/**\n * The field itself: MUI's display slot and its arrow, under one `combobox`.\n *\n * `tabIndex` is spelled out because react-native-web only makes a handful of\n * roles focusable on its own, and `combobox` is not one of them — without it\n * the control would not be a tab stop. It goes to -1 when disabled, which is\n * what the web does by leaving the attribute off a disabled field entirely.\n */\nfunction SelectTrigger(props: TriggerProps): React.JSX.Element {\n const theme = useUiTheme();\n const { testID, look, open, disabled, error, glow, display, labelId, helperId } = props;\n\n return (\n <Pressable\n testID={testID}\n role=\"combobox\"\n tabIndex={disabled ? -1 : 0}\n aria-expanded={open}\n aria-disabled={disabled}\n disabled={disabled}\n onPress={props.onToggle}\n style={[look.box, glow ? glowStyle(theme.palette.primary.main) : null]}\n {...webAria({\n 'aria-haspopup': 'listbox',\n 'aria-invalid': error,\n ...(labelId === undefined ? {} : { 'aria-labelledby': labelId }),\n ...(helperId === undefined ? {} : { 'aria-describedby': helperId }),\n })}\n {...webKeyDown(props.onKey)}\n >\n <RNText style={look.display} numberOfLines={1}>\n {display}\n </RNText>\n <Icon\n name=\"ArrowDropDown\"\n size={SELECT_ICON.size}\n color={disabled ? theme.palette.action.disabled : theme.palette.action.active}\n testID={`${testID}-icon`}\n style={[\n { marginLeft: look.iconGap },\n open ? { transform: [{ rotate: `${SELECT_ICON.openRotateDeg}deg` }] } : null,\n ]}\n />\n </Pressable>\n );\n}\n\n/** The value the control shows, controlled by the caller or held here. */\nfunction useSelectValue(\n value: SelectValue | undefined,\n defaultValue: SelectValue | undefined,\n): [SelectValue, (next: SelectValue) => void] {\n const [own, setOwn] = React.useState<SelectValue>(defaultValue ?? '');\n return [value ?? own, setOwn];\n}\n\n/** The pulse bar, at the field's own height and corner. */\nfunction SelectPulse({\n theme,\n size,\n testID,\n}: {\n theme: UiTheme;\n size: SelectProps['size'];\n testID: string;\n}): React.JSX.Element {\n return (\n <FieldPulse\n color={theme.palette.primary.main}\n radius={theme.radius.field}\n height={fieldHeightPx(theme.fieldHeight, size ?? 'md')}\n testID={testID}\n />\n );\n}\n\n/**\n * The field's own box. Raised while open: react-native-web gives every View\n * `z-index: 0`, so the anchor's z-index stays inside this root, and the next\n * field down would paint over the list and take its taps.\n */\nfunction rootStyle(theme: UiTheme, fullWidth: boolean | undefined, open: boolean): StyleProp<ViewStyle> {\n return [styles.root, fullWidth ? styles.fullWidth : styles.auto, open ? { zIndex: theme.zIndex.modal } : null];\n}\n\n/**\n * The native `Select`.\n *\n * The list is an absolutely positioned panel under the field rather than a\n * portal over the screen: React Native's `Modal` traps focus, which is right\n * for a dialog and wrong for a dropdown — and wrong for the shared stories,\n * which expect the trigger to keep focus while the list is open. The trade is\n * recorded in `NATIVE-NOTES.md`.\n */\nexport const Select = React.forwardRef<View, SelectProps>((rawProps, ref) => {\n const {\n variant, options, label, helperText, fullWidth, size, placeholder, error, glow, pulse,\n disabled, value, defaultValue, onChange, onOpen, onClose, style, ...others\n } = resolveSelectProps(rawProps);\n\n const theme = useUiTheme();\n const [open, setOpen] = React.useState(false);\n const [current, setCurrent] = useSelectValue(value, defaultValue);\n const labelId = React.useId();\n const helperId = React.useId();\n\n const items = selectItems(options, placeholder);\n const ids = selectTestIds(resolveTestId(others));\n const state: FieldState = { focused: open && !disabled, error, disabled };\n const look = selectLook(theme, variant, size, state);\n\n const setOpenState = (next: boolean): void => {\n if (next === open) return;\n setOpen(next);\n (next ? onOpen : onClose)?.();\n };\n\n const handleKey = (event: WebKeyEvent): void => {\n if (event.key === 'Escape') setOpenState(false);\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') setOpenState(true);\n };\n\n const pick = (item: SelectItem): void => {\n setOpenState(false);\n if (item.option === undefined) return;\n setCurrent(item.value);\n onChange?.({ target: { value: item.value } }, item.option);\n };\n\n return (\n <View\n ref={ref}\n testID={ids.root}\n style={[rootStyle(theme, fullWidth, open), style]}\n {...withoutTestIdProps(others)}\n >\n {pulse ? <SelectPulse theme={theme} size={size} testID={`${ids.trigger}-pulse`} /> : null}\n {label === undefined ? null : (\n <RNText id={labelId} style={labelStyle(theme, inputVariantFor(variant), size, state)}>\n {label}\n </RNText>\n )}\n <View style={[styles.anchor, open ? { zIndex: theme.zIndex.modal } : null]}>\n <SelectTrigger\n testID={ids.trigger}\n look={look}\n open={open}\n disabled={disabled}\n error={error}\n glow={glow}\n display={displayLabel(items, current)}\n labelId={label === undefined ? undefined : labelId}\n helperId={helperText === undefined ? undefined : helperId}\n onToggle={() => setOpenState(!open)}\n onKey={handleKey}\n />\n {open ? (\n <SelectMenu items={items} value={current} testIdFor={ids.option} onPick={pick} />\n ) : null}\n </View>\n {helperText === undefined ? null : (\n <RNText id={helperId} style={helperStyle(theme, inputVariantFor(variant), selectInputSize(size), state)}>\n {helperText}\n </RNText>\n )}\n </View>\n );\n});\n\nSelect.displayName = 'Select';\n\nconst styles = StyleSheet.create({\n root: {\n position: 'relative',\n },\n anchor: {\n position: 'relative',\n },\n fullWidth: {\n alignSelf: 'stretch',\n width: '100%',\n },\n auto: {\n alignSelf: 'flex-start',\n },\n});\n","import type { SelectBaseProps, SelectOption, SelectValue } from './Select.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype SelectDefaultedKeys = 'variant' | 'size' | 'fullWidth' | 'error' | 'glow' | 'pulse' | 'disabled';\n\nexport type ResolvedSelectProps<P extends SelectBaseProps> = P &\n Required<Pick<SelectBaseProps, SelectDefaultedKeys>>;\n\n/**\n * `Select.tsx` leaves `variant`, `size`, `glow` and `pulse` undefined on\n * purpose — undefined resolves to the default variant, MUI's medium and no\n * effects, which keeps its render function under the complexity budget. The\n * native renderer has to name them, so the same resolution happens here.\n */\nconst SELECT_DEFAULTS: Required<Pick<SelectBaseProps, SelectDefaultedKeys>> = {\n variant: 'default',\n size: 'md',\n fullWidth: true,\n error: false,\n glow: false,\n pulse: false,\n disabled: false,\n};\n\nexport const resolveSelectProps = <P extends SelectBaseProps>(props: P): ResolvedSelectProps<P> =>\n withDefaults(props, SELECT_DEFAULTS as Partial<P>) as ResolvedSelectProps<P>;\n\n/** One row of the list: an option, or the disabled placeholder above them. */\nexport interface SelectItem {\n value: SelectValue;\n label: string;\n disabled: boolean;\n /** The placeholder is not an option: it carries no test id and cannot be chosen. */\n placeholder: boolean;\n option?: SelectOption;\n}\n\n/**\n * The list MUI renders: the placeholder first when there is one, then the\n * options, in the order `renderMenuItems` builds them.\n */\nexport function selectItems(options: SelectOption[], placeholder?: string): SelectItem[] {\n const items: SelectItem[] = options.map((option) => ({\n value: option.value,\n label: option.label,\n disabled: option.disabled === true,\n placeholder: false,\n option,\n }));\n if (placeholder === undefined || placeholder === '') return items;\n return [{ value: '', label: placeholder, disabled: true, placeholder: true }, ...items];\n}\n\n/**\n * What the display slot shows.\n *\n * The LAST match wins, which is MUI's own answer: `SelectInput` walks its\n * children and overwrites the display for every child whose value matches, so\n * a list carrying both an empty placeholder and a real empty-valued option\n * shows the option. Values are compared as strings because the DOM stringifies\n * them anyway (MUI's `areEqualValues`).\n */\nexport function displayLabel(items: SelectItem[], value: SelectValue): string {\n let label = '';\n for (const item of items) {\n if (String(item.value) === String(value)) label = item.label;\n }\n return label;\n}\n\n/** The three ids the web puts on the control, spelled exactly as it spells them. */\nexport function selectTestIds(id: string | undefined): {\n root: string | undefined;\n trigger: string;\n option: (value: SelectValue) => string;\n} {\n return {\n root: id,\n trigger: id ? `${id}-select` : 'select',\n option: (value) => (id ? `${id}-option-${value}` : `option-${value}`),\n };\n}\n","import type { SelectVariant } from './Select.base';\nimport type { InputVariant } from '../Input/Input.base';\nimport { ICON_SIZES } from '../../../icons/Icon.types';\nimport { ELEVATION_SHADOWS } from '../../../tokens/ink.core';\nimport type { UiTheme } from '../../../tokens/theme';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * THE NUMBERS BOTH `Select` RENDERERS DRAW WITH.\n *\n * A `Select` on the web IS an `OutlinedInput` with a display slot and an arrow\n * where the value would be typed, so the box's own numbers — the padding, the\n * border, the radius, the field edge — are `Input.metrics.ts`'s, read through\n * {@link inputVariantFor} rather than restated. What is here is what a select\n * has and a text field does not: the arrow, the option list, and the two\n * heights MUI's `FormControl` offers.\n */\n\n/** Our three variants onto the `Input` variant that draws the same box. */\nexport const inputVariantFor = (variant: SelectVariant): InputVariant =>\n variant === 'default' ? 'outlined' : variant;\n\n/**\n * The house scale as a `FormControl` size.\n *\n * Not `muiSize`: that collapses five onto MUI's three, and a FormControl takes\n * only two — `sm` draws small and EVERY other step, `xs` included, draws\n * medium. Restated from `Select.tsx`'s `formControlSize` so the native side\n * reads the same lossy map rather than inventing a kinder one.\n */\nexport const selectInputSize = (size: SizeValue | undefined): 'sm' | 'md' =>\n size === 'sm' ? 'sm' : 'md';\n\n/**\n * The arrow: MUI's `ArrowDropDown` at `SvgIcon`'s medium size, 7px from the\n * right edge, turned over while the list is open. The display slot reserves\n * 32px for it, so the flow-laid glyph takes the difference as a margin.\n */\nexport const SELECT_ICON = {\n size: ICON_SIZES.md,\n right: 7,\n displayPaddingRight: 32,\n openRotateDeg: 180,\n} as const;\n\n/** What the glyph leaves between itself and the value: 32 - 24 - 7. */\nexport const SELECT_ICON_GAP =\n SELECT_ICON.displayPaddingRight - SELECT_ICON.size - SELECT_ICON.right;\n\n/** `.MuiSelect-select`'s floor, MUI's `1.4375em` at the 16px body size. */\nexport const SELECT_DISPLAY_MIN_HEIGHT = 23;\n\n/**\n * The option list: MUI's `Menu` over a `MenuList` of `MenuItem`s.\n *\n * `selectedAlpha` is `palette.action.selectedOpacity`, which MUI doubles in\n * dark mode; `disabledOpacity` is `palette.action.disabledOpacity`. Neither is\n * on `UiTheme`, whose `action` carries colours rather than opacities.\n */\nexport const SELECT_MENU = {\n itemMinHeight: 48,\n itemPaddingVertical: 6,\n itemPaddingHorizontal: 16,\n listPaddingVertical: 8,\n selectedAlpha: { light: 0.08, dark: 0.16 },\n disabledOpacity: 0.38,\n /** MUI's `Menu` paper is `calc(100% - 96px)` tall at most. */\n maxHeightInset: 96,\n} as const;\n\n/** MUI's `theme.shadows[8]`, the elevation a `Menu` paper rests at. */\nexport const MUI_MENU_SHADOW = ELEVATION_SHADOWS[8];\n\n/** The wash behind the option the value currently names. */\nexport const selectedWashAlpha = (theme: UiTheme): number =>\n theme.mode === 'dark' ? SELECT_MENU.selectedAlpha.dark : SELECT_MENU.selectedAlpha.light;\n\n/**\n * The box a select draws IS the input's box, so these are the input's tables\n * under this component's names — the border widths, the glass and gradient\n * alphas, the halo and the pulse. Restating them here is how the two controls\n * would come to disagree about what an outlined field looks like.\n */\nexport {\n INPUT_BORDER as SELECT_BORDER,\n INPUT_GLASS as SELECT_GLASS,\n INPUT_GLOW as SELECT_GLOW,\n INPUT_GRADIENT as SELECT_GRADIENT,\n INPUT_PULSE as SELECT_PULSE,\n} from '../Input/Input.metrics';\n","import type { TextStyle, ViewStyle } from 'react-native';\n\nimport {\n MUI_MENU_SHADOW,\n SELECT_DISPLAY_MIN_HEIGHT,\n SELECT_ICON,\n SELECT_ICON_GAP,\n SELECT_MENU,\n inputVariantFor,\n selectedWashAlpha,\n} from './Select.metrics';\nimport type { SelectVariant } from './Select.base';\nimport { INPUT_FONT_SIZE, INPUT_LINE_HEIGHT } from '../Input/Input.metrics';\nimport { fieldLook, horizontalBorderInset, type FieldState } from '../Input/Input.look.native';\nimport { alpha } from '../../../tokens/color';\nimport type { UiTheme } from '../../../tokens/theme';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * WHAT A NATIVE `Select` PAINTS.\n *\n * The box is the `Input`'s box: a select on the web is an `OutlinedInput` with\n * a display slot where the value would be typed, so `fieldLook` decides the\n * fill, the edges and the inset, and this file only says what a select adds —\n * room for the arrow, and the list under it.\n */\nexport interface SelectLook {\n box: ViewStyle;\n display: TextStyle;\n iconGap: number;\n}\n\nexport function selectLook(\n theme: UiTheme,\n variant: SelectVariant,\n size: SizeValue,\n state: FieldState,\n): SelectLook {\n const inputVariant = inputVariantFor(variant);\n const look = fieldLook(theme, inputVariant, size, state);\n const inset = horizontalBorderInset(inputVariant, state.focused);\n\n return {\n box: {\n ...look.box,\n // MUI's arrow is absolute at `right: 7`; laid out in flow it takes the\n // row's right inset instead, and {@link SELECT_ICON_GAP} makes up the\n // difference so the value still stops 32px from the edge.\n paddingRight: SELECT_ICON.right - inset,\n },\n display: {\n ...look.value,\n minHeight: SELECT_DISPLAY_MIN_HEIGHT,\n fontSize: INPUT_FONT_SIZE,\n lineHeight: INPUT_LINE_HEIGHT,\n },\n iconGap: SELECT_ICON_GAP,\n };\n}\n\n/** The option list's paper: MUI's `Menu`, at elevation 8 on the theme's radius. */\nexport function menuStyle(theme: UiTheme, maxHeight: number): ViewStyle {\n return {\n position: 'absolute',\n top: '100%',\n left: 0,\n right: 0,\n zIndex: theme.zIndex.modal,\n maxHeight,\n paddingVertical: SELECT_MENU.listPaddingVertical,\n backgroundColor: theme.palette.background.paper,\n borderRadius: theme.radius.md,\n boxShadow: MUI_MENU_SHADOW,\n };\n}\n\n/** One `MenuItem`: 48px tall at least, 6px by 16px of padding, washed when selected. */\nexport function optionStyle(theme: UiTheme, selected: boolean, disabled: boolean): ViewStyle {\n return {\n minHeight: SELECT_MENU.itemMinHeight,\n justifyContent: 'center',\n paddingVertical: SELECT_MENU.itemPaddingVertical,\n paddingHorizontal: SELECT_MENU.itemPaddingHorizontal,\n backgroundColor: selected\n ? alpha(theme.palette.primary.main, selectedWashAlpha(theme))\n : 'transparent',\n opacity: disabled ? SELECT_MENU.disabledOpacity : 1,\n };\n}\n\n/** A `MenuItem`'s label: MUI's `body1`, the same type the display slot sets. */\nexport function optionTextStyle(theme: UiTheme): TextStyle {\n return {\n color: theme.palette.text.primary,\n fontFamily: theme.typography.fontFamily,\n fontSize: INPUT_FONT_SIZE,\n lineHeight: INPUT_LINE_HEIGHT,\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
withDefaults
|
|
3
3
|
} from "../chunks/chunk-OXHZDFJZ.js";
|
|
4
|
+
import {
|
|
5
|
+
ABSOLUTE_INK,
|
|
6
|
+
ELEVATION_SHADOWS,
|
|
7
|
+
NEUTRAL_RAMP
|
|
8
|
+
} from "../chunks/chunk-ZRQHLTYG.js";
|
|
4
9
|
import {
|
|
5
10
|
webKeyDown
|
|
6
11
|
} from "../chunks/chunk-DN73KYIZ.js";
|
|
@@ -79,7 +84,7 @@ function withoutSwitchProps(props) {
|
|
|
79
84
|
}
|
|
80
85
|
|
|
81
86
|
// src/components/form/Switch/Switch.metrics.ts
|
|
82
|
-
var SWITCH_BLACK =
|
|
87
|
+
var SWITCH_BLACK = ABSOLUTE_INK.black;
|
|
83
88
|
var SWITCH_SIZES = {
|
|
84
89
|
xs: { width: 34, height: 18, padding: 1, thumbSize: 14 },
|
|
85
90
|
sm: { width: 42, height: 22, padding: 1, thumbSize: 18 },
|
|
@@ -115,8 +120,8 @@ var thumbRadius = (look, thumbSize) => {
|
|
|
115
120
|
};
|
|
116
121
|
var THUMB_ELEVATION = { ios: 0, android: 3, material: 2, default: 2 };
|
|
117
122
|
var MUI_SHADOWS = {
|
|
118
|
-
2:
|
|
119
|
-
3:
|
|
123
|
+
2: ELEVATION_SHADOWS[2],
|
|
124
|
+
3: ELEVATION_SHADOWS[3]
|
|
120
125
|
};
|
|
121
126
|
var IOS_THUMB_SHADOW = `0 3px 1px 0 ${alpha(SWITCH_BLACK, 0.04)}, 0 3px 8px 0 ${alpha(SWITCH_BLACK, 0.12)}, 0 1px 0 0 ${alpha(SWITCH_BLACK, 0.08)}`;
|
|
122
127
|
var TRACK_ALPHA = { ios: 0.1, android: 0.2, other: 0.3 };
|
|
@@ -159,9 +164,13 @@ var SWITCH_DESCRIPTION = { fontSize: 12, lineHeight: 1.66, marginTopUnits: 0.5 }
|
|
|
159
164
|
var SWITCH_HELPER = { fontSize: 12, lineHeight: 1.66, marginTopUnits: 1 };
|
|
160
165
|
var LABEL_GAP_UNITS = { beside: 2, stacked: 1 };
|
|
161
166
|
var NEUTRAL_GREY = { main: 700, dark: 800, light: 500 };
|
|
162
|
-
var NEUTRAL_FALLBACK = {
|
|
163
|
-
|
|
164
|
-
|
|
167
|
+
var NEUTRAL_FALLBACK = {
|
|
168
|
+
main: NEUTRAL_RAMP[NEUTRAL_GREY.main],
|
|
169
|
+
dark: NEUTRAL_RAMP[NEUTRAL_GREY.dark],
|
|
170
|
+
light: NEUTRAL_RAMP[NEUTRAL_GREY.light]
|
|
171
|
+
};
|
|
172
|
+
var NEUTRAL_CONTRAST = ABSOLUTE_INK.white;
|
|
173
|
+
var RESTING_THUMB = ABSOLUTE_INK.white;
|
|
165
174
|
var showsTrackLabels = (variant, onText, offText) => variant === "label" && Boolean(onText ?? offText);
|
|
166
175
|
|
|
167
176
|
// src/components/form/Switch/Switch.look.native.ts
|