@multiplatform.one/forms 8.4.0 → 8.5.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/cjs/AdaptivePopup/index.native.js +2 -2
- package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
- package/dist/cjs/Button/IconButtonGroup.native.js.map +1 -1
- package/dist/cjs/Button/circleGlyph.native.js.map +1 -1
- package/dist/cjs/Button/iconButtonGroupContext.native.js.map +1 -1
- package/dist/cjs/Button/index.native.js +2 -2
- package/dist/cjs/Button/index.native.js.map +1 -1
- package/dist/cjs/Button/webGlass.native.js.map +1 -1
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/Composer/index.cjs +10 -4
- package/dist/cjs/Composer/index.native.js +15 -9
- package/dist/cjs/Composer/index.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/index.native.js +3 -3
- package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
- package/dist/cjs/ControlGroup/index.native.js +1 -1
- package/dist/cjs/ControlGroup/index.native.js.map +1 -1
- package/dist/cjs/DescriptionList/index.native.js +2 -2
- package/dist/cjs/DescriptionList/index.native.js.map +1 -1
- package/dist/cjs/ErrorSummary.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/editMode.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/formatters.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/index.native.js +1 -1
- package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
- package/dist/cjs/FieldGroup.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/PanelHeader.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/RegularPanel.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/compactFace.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/containingBlock.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/coverRect.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/echoContext.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/index.cjs +11 -2
- package/dist/cjs/FloatingPanel/index.native.js +12 -15
- package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/paintedBox.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/panelWidth.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/regularPlacement.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/trailingAction.native.js +1 -1
- package/dist/cjs/FloatingPanel/trailingAction.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/cjs/Form/index.native.js +1 -1
- package/dist/cjs/Form/index.native.js.map +1 -1
- package/dist/cjs/Form/submissionController.native.js.map +1 -1
- package/dist/cjs/Form/validateOn.native.js.map +1 -1
- package/dist/cjs/FormGrid.native.js.map +1 -1
- package/dist/cjs/FormSection.native.js.map +1 -1
- package/dist/cjs/InputParts/PasswordReveal.native.js.map +1 -1
- package/dist/cjs/InputParts/index.native.js.map +1 -1
- package/dist/cjs/InputParts/keyboardAppearance.native.js.map +1 -1
- package/dist/cjs/Label/index.native.js.map +1 -1
- package/dist/cjs/MediaPicker/base64.native.js.map +1 -1
- package/dist/cjs/MediaPicker/payload.native.js.map +1 -1
- package/dist/cjs/MediaPicker/types.native.js.map +1 -1
- package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -1
- package/dist/cjs/Skeleton/index.native.js.map +1 -1
- package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -1
- package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -1
- package/dist/cjs/Table/index.native.js.map +1 -1
- package/dist/cjs/Wheel/haptic.native.js.map +1 -1
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/Wheel/wheelShared.native.js.map +1 -1
- package/dist/cjs/actionLabel.native.js.map +1 -1
- package/dist/cjs/fieldDefaults.native.js.map +1 -1
- package/dist/cjs/fieldLayout.native.js +1 -1
- package/dist/cjs/fieldLayout.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +1 -1
- package/dist/cjs/fields/Barcode/code128.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/index.native.js +2 -2
- package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/qr.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/Checkbox.native.js +1 -1
- package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/SystemColorField.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/index.native.js +2 -2
- package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/parts.native.js +2 -2
- package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/authorOptions.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/index.native.js +5 -5
- package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +3 -3
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/catalog.native.js +2 -2
- package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/fieldValueSync.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/index.native.js +2 -2
- package/dist/cjs/fields/DatePicker/parts.native.js +2 -2
- package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/utils.native.js.map +1 -1
- package/dist/cjs/fields/Duration/DurationWheel.native.js +1 -1
- package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
- package/dist/cjs/fields/Duration/durationWheelTypes.native.js.map +1 -1
- package/dist/cjs/fields/Duration/index.native.js +3 -3
- package/dist/cjs/fields/Duration/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/index.native.js +2 -2
- package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geoValue.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geocoderContext.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/index.native.js +5 -5
- package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/mapTypes.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/photonGeocoder.native.js.map +1 -1
- package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
- package/dist/cjs/fields/Icon/index.native.js +3 -3
- package/dist/cjs/fields/Icon/index.native.js.map +1 -1
- package/dist/cjs/fields/ImageField/index.native.js +2 -2
- package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
- package/dist/cjs/fields/Input/index.native.js +3 -3
- package/dist/cjs/fields/Input/index.native.js.map +1 -1
- package/dist/cjs/fields/MentionInput/index.native.js +3 -3
- package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/index.native.js +3 -3
- package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/otpCellEdge.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/dialCodes.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/index.native.js +3 -3
- package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/regionNames.native.js.map +1 -1
- package/dist/cjs/fields/Progress/index.native.js +1 -1
- package/dist/cjs/fields/Progress/index.native.js.map +1 -1
- package/dist/cjs/fields/RadioGroup/index.native.js +1 -1
- package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/index.native.js +1 -1
- package/dist/cjs/fields/Rating/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -1
- package/dist/cjs/fields/Rating/types.native.js.map +1 -1
- package/dist/cjs/fields/SearchInput/index.native.js +2 -2
- package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/InlineChoices.native.js.map +1 -1
- package/dist/cjs/fields/Select/SheetPickerRow.native.js.map +1 -1
- package/dist/cjs/fields/Select/index.native.js +4 -4
- package/dist/cjs/fields/Select/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
- package/dist/cjs/fields/Signature/index.native.js +2 -2
- package/dist/cjs/fields/Signature/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/index.native.js +1 -1
- package/dist/cjs/fields/Slider/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/index.native.js +2 -2
- package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
- package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
- package/dist/cjs/fields/Switch/index.native.js +2 -2
- package/dist/cjs/fields/Switch/index.native.js.map +1 -1
- package/dist/cjs/fields/TextArea/index.native.js +2 -2
- package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/catalog.native.js +3 -3
- package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/index.native.js +2 -2
- package/dist/cjs/fields/TimePicker/parts.native.js +1 -1
- package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js +2 -2
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
- package/dist/cjs/fields/ToggleGroup/index.native.js +1 -1
- package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +1 -1
- package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
- package/dist/cjs/fields/nativeSelect.native.js.map +1 -1
- package/dist/cjs/fields/pickerHandle.native.js.map +1 -1
- package/dist/cjs/fields/selectedOrder.native.js.map +1 -1
- package/dist/cjs/formSpacing.native.js.map +1 -1
- package/dist/cjs/hooks/useFocusManagement.native.js.map +1 -1
- package/dist/cjs/hooks/useHoldCue.native.js.map +1 -1
- package/dist/cjs/index.cjs +11 -0
- package/dist/cjs/index.gnome.cjs +11 -0
- package/dist/cjs/index.gnome.native.js +48 -37
- package/dist/cjs/index.gnome.native.js.map +1 -1
- package/dist/cjs/index.native.js +57 -46
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/keyboard/KeyboardDoneBar.native.js +1 -1
- package/dist/cjs/keyboard/chain.native.js.map +1 -1
- package/dist/cjs/keyboard/index.native.js.map +1 -1
- package/dist/cjs/keyboard/types.native.js.map +1 -1
- package/dist/cjs/nativeTwins.native.js.map +1 -1
- package/dist/cjs/requiredMarking.native.js.map +1 -1
- package/dist/cjs/shared/CheckGlyph.native.js.map +1 -1
- package/dist/cjs/shared/TimeColumn.native.js +1 -1
- package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
- package/dist/cjs/shared/capabilityPreflight.native.js.map +1 -1
- package/dist/cjs/shared/checkedOnField.native.js.map +1 -1
- package/dist/cjs/shared/choiceRowPress.native.js.map +1 -1
- package/dist/cjs/shared/colorRamps.native.js.map +1 -1
- package/dist/cjs/shared/controlTrack.native.js.map +1 -1
- package/dist/cjs/shared/devWarn.native.js.map +1 -1
- package/dist/cjs/shared/fieldRowContext.native.js.map +1 -1
- package/dist/cjs/shared/floatingList.native.js +1 -1
- package/dist/cjs/shared/floatingList.native.js.map +1 -1
- package/dist/cjs/shared/focusManagement.native.js.map +1 -1
- package/dist/cjs/shared/groupContext.native.js.map +1 -1
- package/dist/cjs/shared/i18n.native.js.map +1 -1
- package/dist/cjs/shared/instantMotion.native.js.map +1 -1
- package/dist/cjs/shared/nativeA11y.native.js.map +1 -1
- package/dist/cjs/shared/nativeAutoFocus.native.js.map +1 -1
- package/dist/cjs/shared/nativeOverlayWindow.native.js.map +1 -1
- package/dist/cjs/shared/overlaySizeClass.native.js.map +1 -1
- package/dist/cjs/shared/overlayStack.native.js.map +1 -1
- package/dist/cjs/shared/panelPortal.native.js.map +1 -1
- package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -1
- package/dist/cjs/shared/pressSlopProps.native.js.map +1 -1
- package/dist/cjs/shared/restoreRetries.native.js.map +1 -1
- package/dist/cjs/shared/sheetDetents.cjs +109 -0
- package/dist/cjs/shared/sheetDetents.native.js +125 -0
- package/dist/cjs/shared/sheetDetents.native.js.map +1 -0
- package/dist/cjs/shared/sheetNavigation.native.js.map +1 -1
- package/dist/cjs/shared/systemControlModules.gnome.native.js.map +1 -1
- package/dist/cjs/shared/systemControls.native.js.map +1 -1
- package/dist/cjs/shared/t.native.js.map +1 -1
- package/dist/cjs/shared/tableCellContext.native.js.map +1 -1
- package/dist/cjs/shared/useDragScroll.native.js.map +1 -1
- package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/cjs/shared/useSheetEscapeDismiss.native.js.map +1 -1
- package/dist/cjs/shared/useWheelIncrement.native.js.map +1 -1
- package/dist/cjs/shared/utils.native.js +1 -1
- package/dist/cjs/shared/utils.native.js.map +1 -1
- package/dist/cjs/shared/zIndex.native.js.map +1 -1
- package/dist/cjs/standardActions.native.js.map +1 -1
- package/dist/cjs/themedPrimitives.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/utils/LinkCell.native.js.map +1 -1
- package/dist/esm/Composer/index.mjs +10 -4
- package/dist/esm/Composer/index.mjs.map +1 -1
- package/dist/esm/Composer/index.native.js +14 -8
- package/dist/esm/Composer/index.native.js.map +1 -1
- package/dist/esm/FloatingPanel/index.mjs +12 -3
- package/dist/esm/FloatingPanel/index.mjs.map +1 -1
- package/dist/esm/FloatingPanel/index.native.js +11 -14
- package/dist/esm/FloatingPanel/index.native.js.map +1 -1
- package/dist/esm/index.gnome.mjs +2 -1
- package/dist/esm/index.gnome.mjs.map +1 -1
- package/dist/esm/index.gnome.native.js +2 -1
- package/dist/esm/index.gnome.native.js.map +1 -1
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/shared/sheetDetents.mjs +75 -0
- package/dist/esm/shared/sheetDetents.mjs.map +1 -0
- package/dist/esm/shared/sheetDetents.native.js +88 -0
- package/dist/esm/shared/sheetDetents.native.js.map +1 -0
- package/dist/jsx/Composer/index.mjs +10 -4
- package/dist/jsx/Composer/index.mjs.map +1 -1
- package/dist/jsx/Composer/index.native.js +14 -8
- package/dist/jsx/Composer/index.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/index.mjs +12 -3
- package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/index.native.js +12 -15
- package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
- package/dist/jsx/index.gnome.mjs +2 -1
- package/dist/jsx/index.gnome.mjs.map +1 -1
- package/dist/jsx/index.gnome.native.js +11 -0
- package/dist/jsx/index.gnome.native.js.map +1 -1
- package/dist/jsx/index.js +2 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +2 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +11 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/shared/sheetDetents.mjs +75 -0
- package/dist/jsx/shared/sheetDetents.mjs.map +1 -0
- package/dist/jsx/shared/sheetDetents.native.js +125 -0
- package/dist/jsx/shared/sheetDetents.native.js.map +1 -0
- package/package.json +8 -8
- package/src/Composer/Composer.glass.spec.tsx +106 -0
- package/src/Composer/Composer.spec.tsx +11 -2
- package/src/Composer/index.tsx +11 -8
- package/src/FloatingPanel/index.native.tsx +9 -18
- package/src/FloatingPanel/index.tsx +24 -2
- package/src/index.gnome.ts +18 -0
- package/src/index.ts +18 -0
- package/src/shared/sheetDetents.spec.ts +117 -0
- package/src/shared/sheetDetents.ts +183 -0
- package/types/Composer/index.d.ts.map +1 -1
- package/types/FloatingPanel/index.d.ts +9 -0
- package/types/FloatingPanel/index.d.ts.map +1 -1
- package/types/FloatingPanel/index.native.d.ts +1 -1
- package/types/FloatingPanel/index.native.d.ts.map +1 -1
- package/types/index.d.ts +2 -0
- package/types/index.d.ts.map +1 -1
- package/types/index.gnome.d.ts +2 -0
- package/types/index.gnome.d.ts.map +1 -1
- package/types/shared/sheetDetents.d.ts +122 -0
- package/types/shared/sheetDetents.d.ts.map +1 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sheet detents — the rest positions a bottom sheet is allowed to settle at,
|
|
3
|
+
* and the one place their geometry is computed.
|
|
4
|
+
*
|
|
5
|
+
* Apple is the precedent: `UISheetPresentationController.detents` is an ARRAY
|
|
6
|
+
* (`.medium()`, `.large()`, `.custom`), and the sheet drags between whichever
|
|
7
|
+
* the presenter declared. MPO's sheets took a single `snapPoint` percent, so a
|
|
8
|
+
* caller could ask for one rest and never for a set, and the web twin resolved
|
|
9
|
+
* that percent to ONE snap point — which is a sheet with nothing to drag
|
|
10
|
+
* between, the open-or-closed complaint that opened FZ-455.
|
|
11
|
+
*
|
|
12
|
+
* It lives in `forms` because both sheets need it and `forms` is the lower
|
|
13
|
+
* layer: `@multiplatform.one/components`' SheetModal imports it, and
|
|
14
|
+
* FloatingPanel sits in this package. It was previously a private copy in each
|
|
15
|
+
* sheet, and that duplication is what let MPO-71 rewrite one copy from a stale
|
|
16
|
+
* version and silently drop the `snapPoint` push — declared, documented and
|
|
17
|
+
* passed by four callers while doing nothing on device for a month. One module.
|
|
18
|
+
*
|
|
19
|
+
* Percent, not points: a detent is a fraction of the sheet's own full height,
|
|
20
|
+
* so the same declaration means the same shape on a phone and an iPad, and the
|
|
21
|
+
* native and web twins resolve one set rather than two.
|
|
22
|
+
*/
|
|
23
|
+
/** Smallest height a sheet is ever laid out at, in points. */
|
|
24
|
+
export declare const minSheetHeight = 180;
|
|
25
|
+
/** The large detent: the tallest a content-sized sheet grows, as a fraction of the window. */
|
|
26
|
+
export declare const largeDetentRatio = 0.85;
|
|
27
|
+
/** Percent rest of a `fill` sheet with no detent: it has no intrinsic height to fit. */
|
|
28
|
+
export declare const fillSnapPoint = 60;
|
|
29
|
+
/** Released more than this far below the smallest detent, the sheet dismisses. */
|
|
30
|
+
export declare const sheetDismissThreshold = 56;
|
|
31
|
+
/**
|
|
32
|
+
* The HIG detents as percents of the sheet's full height. A caller writes
|
|
33
|
+
* `detents={[sheetDetent.large, sheetDetent.medium]}` rather than inventing
|
|
34
|
+
* numbers, the way a presenter writes `[.large(), .medium()]`.
|
|
35
|
+
*/
|
|
36
|
+
export declare const sheetDetent: {
|
|
37
|
+
/** `.medium()` — half-open, for a sheet that owns a scrollport. */
|
|
38
|
+
readonly medium: 55;
|
|
39
|
+
/** `.large()` — the sheet's full height. */
|
|
40
|
+
readonly large: 100;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Half-open detent as a fraction, for the native paths that work in points.
|
|
44
|
+
* The same number as `sheetDetent.medium`, in the unit those paths use.
|
|
45
|
+
*/
|
|
46
|
+
export declare const mediumDetent: number;
|
|
47
|
+
export interface DetentSetOptions {
|
|
48
|
+
/**
|
|
49
|
+
* Rest positions the caller declares, as percents of the sheet's full
|
|
50
|
+
* height. Order does not matter; the set is resolved largest first. Wins
|
|
51
|
+
* over `snapPoint` as the SET, while `snapPoint` still picks which of them
|
|
52
|
+
* the sheet opens at.
|
|
53
|
+
*/
|
|
54
|
+
detents?: number[];
|
|
55
|
+
/**
|
|
56
|
+
* Single-percent rest. On its own it means "full height and this one", so
|
|
57
|
+
* the sheet opens at this percent and can be dragged back to full.
|
|
58
|
+
*/
|
|
59
|
+
snapPoint?: number;
|
|
60
|
+
/** The sheet owns a scrollport, so a half-open rest is meaningful. */
|
|
61
|
+
scrollable?: boolean;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The percents the sheet may rest at, largest first.
|
|
65
|
+
*
|
|
66
|
+
* A declared `detents` set is the caller's to own. With none, the set is the
|
|
67
|
+
* sheet's full height plus whatever else is implied: the half-open rest when
|
|
68
|
+
* it owns a scrollport, and the caller's `snapPoint`. Full height is always in
|
|
69
|
+
* that fallback set, because a sheet dragged down must be draggable back up —
|
|
70
|
+
* `.large()` stays reachable in Apple's model too.
|
|
71
|
+
*/
|
|
72
|
+
export declare function resolveDetentPercents({ detents, snapPoint, scrollable, }: DetentSetOptions): number[];
|
|
73
|
+
/**
|
|
74
|
+
* Which detent in the resolved set the sheet opens at, as an index into it.
|
|
75
|
+
*
|
|
76
|
+
* `snapPoint` is the percent the sheet rests at, so it names the opening
|
|
77
|
+
* detent; Apple spells the same thing `selectedDetentIdentifier`. A sheet with
|
|
78
|
+
* no `snapPoint`, or one naming a percent outside the set, opens at the
|
|
79
|
+
* largest detent.
|
|
80
|
+
*/
|
|
81
|
+
export declare function openingDetentIndex(points: number[], snapPoint?: number): number;
|
|
82
|
+
export interface ResolveSheetDetentsOptions extends DetentSetOptions {
|
|
83
|
+
/** Full (expanded) height of the sheet, in points. */
|
|
84
|
+
travel: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The heights the native sheet is allowed to rest at, largest first.
|
|
88
|
+
*
|
|
89
|
+
* The native sheets' `translateY` measures DOWN from fully-expanded, so a
|
|
90
|
+
* detent of `h` rests at `travel - h` and `travel` itself is the expanded
|
|
91
|
+
* sheet. Anything shorter than `minSheetHeight` is discarded, because a sheet
|
|
92
|
+
* resting below that is indistinguishable from a dismissed one; a sheet whose
|
|
93
|
+
* full height is already under the floor keeps its own height, or it would
|
|
94
|
+
* have no detents at all.
|
|
95
|
+
*/
|
|
96
|
+
export declare function resolveSheetDetents({ travel, detents, scrollable, snapPoint, }: ResolveSheetDetentsOptions): number[];
|
|
97
|
+
export type WebSnap = {
|
|
98
|
+
snapPointsMode: "fit";
|
|
99
|
+
} | {
|
|
100
|
+
snapPointsMode: "percent";
|
|
101
|
+
snapPoints: number[];
|
|
102
|
+
defaultPosition: number;
|
|
103
|
+
};
|
|
104
|
+
export interface ResolveWebSnapOptions extends DetentSetOptions {
|
|
105
|
+
/** The sheet's body takes the remaining height, so it has no intrinsic one. */
|
|
106
|
+
fill?: boolean;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The web Sheet's snap props.
|
|
110
|
+
*
|
|
111
|
+
* FZ-7977: a sheet with no detent of any kind opens at its content's height,
|
|
112
|
+
* capped at the large detent, the way the native twin sizes to content,
|
|
113
|
+
* instead of a fixed percent with a dead band under short content. A `fill`
|
|
114
|
+
* sheet has no intrinsic height, so it keeps a percent rest.
|
|
115
|
+
*
|
|
116
|
+
* FZ-455: once any percent is in play, the sheet gets the WHOLE resolved set
|
|
117
|
+
* rather than the single percent it used to get, and `defaultPosition` holds
|
|
118
|
+
* it at the percent it opened at before. One snap point left tamagui's Sheet
|
|
119
|
+
* with nothing to drag between, so the grabber moved and the sheet did not.
|
|
120
|
+
*/
|
|
121
|
+
export declare function resolveWebSnap({ detents, snapPoint, scrollable, fill, }: ResolveWebSnapOptions): WebSnap;
|
|
122
|
+
//# sourceMappingURL=sheetDetents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheetDetents.d.ts","sourceRoot":"","sources":["../../src/shared/sheetDetents.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,8DAA8D;AAC9D,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,OAAO,CAAC;AAErC,wFAAwF;AACxF,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;;;GAIG;AACH,eAAO,MAAM,WAAW;IACtB,mEAAmE;;IAEnE,4CAA4C;;CAEpC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,YAAY,QAA2B,CAAC;AAErD,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAWD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,OAAO,EACP,SAAS,EACT,UAAU,GACX,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAQ7B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAK/E;AAED,MAAM,WAAW,0BAA2B,SAAQ,gBAAgB;IAClE,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,OAAO,EACP,UAAU,EACV,SAAS,GACV,EAAE,0BAA0B,GAAG,MAAM,EAAE,CAMvC;AAED,MAAM,MAAM,OAAO,GACf;IAAE,cAAc,EAAE,KAAK,CAAA;CAAE,GACzB;IAAE,cAAc,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,SAAS,EACT,UAAU,EACV,IAAI,GACL,EAAE,qBAAqB,GAAG,OAAO,CAUjC"}
|